diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000000000..8d55c742daf17
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,15 @@
+cmake_minimum_required(VERSION 3.3)
+project(qemu_dev)
+
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+
+file(GLOB_RECURSE src "*.c" ".h")
+
+set(SOURCES
+ ${src})
+
+
+add_executable(qemu_dev ${SOURCES})
+target_compile_options(qemu_dev PRIVATE -iquote "${CMAKE_CURRENT_SOURCE_DIR}/include")
+#target_include_directories(qemu_dev PRIVATE include)
+
diff --git a/Makefile.objs b/Makefile.objs
index a7c967633acf9..69b6addb53169 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -36,6 +36,14 @@ storage-daemon-obj-y += blockdev.o blockdev-nbd.o iothread.o job-qmp.o
storage-daemon-obj-$(CONFIG_WIN32) += os-win32.o
storage-daemon-obj-$(CONFIG_POSIX) += os-posix.o
+crypto-obj-y = crypto/
+crypto-aes-obj-y = crypto/
+
+#######################################################################
+# qom-obj-y is code used by both qemu system emulation and qemu-img
+
+qom-obj-y = qom/
+
######################################################################
# Target independent part of system emulation. The long term path is to
# suppress *all* target specific code in case of system emulation, i.e. a
diff --git a/README.md b/README.md
new file mode 100644
index 0000000000000..4486888f44931
--- /dev/null
+++ b/README.md
@@ -0,0 +1,136 @@
+# Pebble Smartwatch QEMU Implementation
+
+## Overview
+This is a derivative of QEMU v2.1.1 that has been modified to include an implementation of the STM32F2xx microcontroller.
+This is based off of a QEMU fork that is targeting the STM32F103: https://github.com/beckus/qemu_stm32.
+This repo contains both beckus' STM32F1xx implementation and Pebble's STM32F2xx additions.
+
+__DANGER DANGER: It is very much a work-in-progress! Only some of the peripherals are working at the moment. Please contribute!__
+
+## Dependencies
+QEMU requires that development packages for glib20 and pixman are installed.
+
+### FreeBSD
+Install the `devel/glib20` and `x11/pixman` ports.
+
+### Linux
+
+### Mac OS X
+
+### Windows
+
+## Building
+Commands for a typical build:
+
+ ./configure --disable-werror --enable-debug --target-list="arm-softmmu" \
+ --extra-cflags=-DSTM32_UART_NO_BAUD_DELAY
+ make
+
+Summary set of configure options that are useful when developing (tested only on OS X 10.9.5):
+
+ ./configure --enable-tcg-interpreter --extra-ldflags=-g \
+ --with-coroutine=gthread --enable-debug-tcg --enable-cocoa \
+ --enable-debug --disable-werror --target-list="arm-softmmu" \
+ --extra-cflags=-DDEBUG_CLKTREE --extra-cflags=-DDEBUG_STM32_RCC \
+ --extra-cflags=-DDEBUG_STM32_UART --extra-cflags=-DSTM32_UART_NO_BAUD_DELAY \
+ --extra-cflags=-DDEBUG_GIC
+
+####Configure options which control the STM32 implementation:
+
+ --extra-cflags=-DDEBUG_CLKTREE
+ Print out clock tree debug statements.
+
+ --extra-cflags=-DDEBUG_STM32_RCC
+ Print RCC debug statements.
+
+ --extra-cflags=-DDEBUG_STM32_UART
+ Print UART debug statements.
+
+ --extra-cflags=-DSTM32_UART_NO_BAUD_DELAY
+ Disable the BAUD rate timing simulation
+ (i.e. the UART will transmit or receive as fast as possible, rather than
+ using a realistic delay).
+
+ --extra-cflags=-DSTM32_UART_ENABLE_OVERRUN
+ Enable setting of the overrun flag if a character is
+ received before the last one is processed. If this is not set, the UART
+ will not receive the next character until the previous one is read by
+ software. Although less realisitic, it is safer NOT to use this, in case the VM is
+ running slow.
+
+####Other QEMU configure options which are useful for troubleshooting:
+ --extra-cflags=-DDEBUG_GIC
+ Extra logging around which interrupts are asserted
+
+####qemu-system-arm options which are useful for troubleshooting:
+ -d ?
+ To see available log levels
+
+ -d cpu,in_asm
+ Enable logging to view the CPU state during execution and the ARM
+ instructions which are being executed. I believe --enable-debug must be
+ used for this to work.
+
+
+Useful make commands when rebuilding:
+
+ make defconfig
+ make clean
+
+## Generating Images
+* Use `./waf build qemu_image_spi` to generate `qemu_spi_flash.bin` from tintin.
+* Use `./waf build qemu_image_micro` to generate `qemu_micro_flash.bin` from tintin.
+
+
+### Under the covers of the images
+
+QEMU's -pflash argument is used to specify a file to use as the micro flash.
+An image can be created by concatenating the boot and main firmware files,
+like so:
+
+ truncate -s 64k tintin_boot.bin
+ cat tintin_boot.bin tintin_fw.bin > micro_flash.bin
+ truncate -s 512k micro_flash.bin
+
+## Running
+There is a convenience script `pebble.sh` that runs QEMU. It depends on the existence of (symlinked) images `qemu_micro_flash.bin` and `qemu_spi_flash.bin`.
+
+### More details about running QEMU
+
+The generated executable is arm-softmmu/qemu-system-arm .
+
+Example:
+
+ qemu-system-arm -rtc base=localtime -machine pebble-bb2 -cpu cortex-m3 -s \
+ -pflash qemu_micro_flash.bin -mtdblock qemu_spi_flash.bin
+
+Adding `-S` to the commandline will have QEMU wait in the monitor at start;
+the _c_ontinue command is necessary to start the virtual CPU.
+
+## QEMU Docs
+Read original the documentation in qemu-doc.html or on http://wiki.qemu.org
+
+## QEMU Modifications
+This emulator consists largely of new hardware device models; it includes
+only minor changes to existing QEMU functionality.
+
+The changes can be reviewed by running `git diff --diff-filter=M v1.5.0-backports`.
+
+To list the added files, use `git diff --name-only --diff-filter=A v1.5.0-backports`.
+
+## License
+
+The following points clarify the QEMU license:
+
+1. QEMU as a whole is released under the GNU General Public License
+
+2. Parts of QEMU have specific licenses which are compatible with the
+GNU General Public License. Hence each source file contains its own
+licensing information.
+
+Many hardware device emulation sources are released under the BSD license.
+
+3. The Tiny Code Generator (TCG) is released under the BSD license
+ (see license headers in files).
+
+4. QEMU is a trademark of Fabrice Bellard.
diff --git a/assets/qemu-spalding-overlay.png b/assets/qemu-spalding-overlay.png
new file mode 100644
index 0000000000000..2d422882ae315
Binary files /dev/null and b/assets/qemu-spalding-overlay.png differ
diff --git a/assets/qemu-spalding-overlay.psd b/assets/qemu-spalding-overlay.psd
new file mode 100644
index 0000000000000..1e0eb41b08f74
Binary files /dev/null and b/assets/qemu-spalding-overlay.psd differ
diff --git a/configure b/configure
index 23b5e93752b6a..b9eb0dd68a9b0 100755
--- a/configure
+++ b/configure
@@ -490,6 +490,7 @@ tpm=""
libssh=""
live_block_migration="yes"
numa=""
+mouse="yes"
tcmalloc="no"
jemalloc="no"
replication="yes"
@@ -1501,6 +1502,8 @@ for opt do
;;
--enable-libxml2) libxml2="yes"
;;
+ --disable-mouse) mouse="no"
+ ;;
--disable-tcmalloc) tcmalloc="no"
;;
--enable-tcmalloc) tcmalloc="yes"
@@ -6251,6 +6254,13 @@ case "$slirp" in
esac
+##########################################
+# check for mouse support
+
+if test "$mouse" = "no"; then
+ CFLAGS="-DNO_MOUSE $CFLAGS"
+fi
+
##########################################
# End of CC checks
# After here, no more $cc or $ld runs
@@ -6733,6 +6743,7 @@ echo "default devices $default_devices"
echo "plugin support $plugins"
echo "fuzzing support $fuzzing"
echo "gdb $gdb_bin"
+echo "Mouse support $mouse"
if test "$supported_cpu" = "no"; then
echo
diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index 36a0e89daae27..c791ab3d4d637 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -3,6 +3,44 @@
# TODO: ARM_V7M is currently always required - make this more flexible!
CONFIG_ARM_V7M=y
+# CONFIG_ISA_MMIO=y
+# CONFIG_ECC=y
+# CONFIG_SERIAL=y
+# CONFIG_PTIMER=y
+# CONFIG_SD=y
+# CONFIG_MAX7310=y
+# CONFIG_WM8750=y
+# CONFIG_TWL92230=y
+# CONFIG_TSC2005=y
+# CONFIG_LM832X=y
+# CONFIG_TMP105=y
+# CONFIG_STELLARIS=y
+# CONFIG_STELLARIS_INPUT=y
+# CONFIG_STELLARIS_ENET=y
+# CONFIG_STM32=y
+# CONFIG_SSD0303=y
+# CONFIG_SSD0323=y
+# CONFIG_LS013B7DH01=y
+# CONFIG_PEBBLE_SNOWY_DISPLAY=y
+# CONFIG_ADS7846=y
+# CONFIG_MAX111X=y
+# CONFIG_SSI=y
+# CONFIG_SSI_SD=y
+# CONFIG_SSI_M25P80=y
+# CONFIG_LAN9118=y
+# CONFIG_SMC91C111=y
+# CONFIG_ALLWINNER_EMAC=y
+# CONFIG_IMX_FEC=y
+# CONFIG_DS1338=y
+# CONFIG_PFLASH_CFI01=y
+# CONFIG_PFLASH_CFI02=y
+# CONFIG_PFLASH_JEDEC_424=y
+# CONFIG_MICRODRIVE=y
+# CONFIG_USB=y
+# CONFIG_USB_MUSB=y
+# CONFIG_USB_EHCI_SYSBUS=y
+# CONFIG_PLATFORM_BUS=y
+
# CONFIG_PCI_DEVICES=n
# CONFIG_TEST_DEVICES=n
@@ -42,3 +80,4 @@ CONFIG_FSL_IMX7=y
CONFIG_FSL_IMX6UL=y
CONFIG_SEMIHOSTING=y
CONFIG_ALLWINNER_H3=y
+CONFIG_STM32=y
diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
index 188419dc1e74a..10fc01a0b22e5 100644
--- a/hw/arm/Kconfig
+++ b/hw/arm/Kconfig
@@ -494,3 +494,7 @@ config ARMSSE_CPUID
config ARMSSE_MHU
bool
+
+config STM32
+ bool
+ select ARM_V7M
diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
index 534a6a119e5d7..a3956a4bb93d7 100644
--- a/hw/arm/Makefile.objs
+++ b/hw/arm/Makefile.objs
@@ -54,3 +54,22 @@ obj-$(CONFIG_FSL_IMX7) += fsl-imx7.o mcimx7d-sabre.o
obj-$(CONFIG_ARM_SMMUV3) += smmu-common.o smmuv3.o
obj-$(CONFIG_FSL_IMX6UL) += fsl-imx6ul.o mcimx6ul-evk.o
obj-$(CONFIG_NRF51_SOC) += nrf51_soc.o
+
+obj-y += stm32.o stm32_rcc.o stm32_clktree.o stm32_p103.o
+obj-y += stm32f1xx.o stm32f2xx.o stm32f4xx.o stm32f7xx.o stm32_flash.o
+obj-y += stm32f1xx_rcc.o stm32f2xx_rcc.o
+obj-y += stm32f2xx_gpio.o stm32f2xx_adc.o
+obj-y += stm32_exti.o stm32f2xx_syscfg.o
+obj-y += stm32f2xx_rtc.o
+obj-y += stm32f2xx_flash.o
+obj-y += stm32f2xx_dummy.o
+obj-y += stm32f2xx_tim.o stm32f7xx_lptim.o
+obj-y += stm32f2xx_i2c.o stm32f7xx_i2c.o
+obj-y += stm32f2xx_crc.o
+obj-y += stm32f2xx_dma.o
+obj-y += stm32f2xx_pwr.o
+obj-y += pebble.o
+obj-y += pebble_control.o
+obj-y += pebble_robert.o
+obj-y += pebble_silk.o
+
diff --git a/hw/arm/pebble.c b/hw/arm/pebble.c
new file mode 100644
index 0000000000000..eda4bd27a7444
--- /dev/null
+++ b/hw/arm/pebble.c
@@ -0,0 +1,690 @@
+/*-
+ * Copyright (c) 2013, 2014
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#include "qemu/osdep.h"
+#include "hw/ssi/ssi.h"
+#include "hw/boards.h"
+#include "hw/block/flash.h"
+#include "sysemu/sysemu.h"
+#include "sysemu/blockdev.h"
+#include "ui/console.h"
+#include "pebble_control.h"
+#include "pebble.h"
+#include "hw/qdev-properties.h"
+#include "hw/irq.h"
+#include "qapi/error.h"
+
+// Disable jiggling the display when Pebble vibration is on.
+//#define PEBBLE_NO_DISPLAY_VIBRATE
+
+//#define DEBUG_PEBBLE
+#ifdef DEBUG_PEBBLE
+// NOTE: The usleep() helps the MacOS stdout from freezing when we have a lot of print out
+#define DPRINTF(fmt, ...) \
+ do { printf("DEBUG_PEBBLE: " fmt , ## __VA_ARGS__); \
+ usleep(1000); \
+ } while (0)
+#else
+#define DPRINTF(fmt, ...)
+#endif
+
+const static PblBoardConfig s_board_config_bb2_ev1_ev2 = {
+ .dbgserial_uart_index = 2, // USART3
+ .pebble_control_uart_index = 1, // USART2
+ .button_map = {
+ {STM32_GPIOC_INDEX, 3}, // back
+ {STM32_GPIOA_INDEX, 2}, // up
+ {STM32_GPIOC_INDEX, 6}, // select
+ {STM32_GPIOA_INDEX, 1}, // down
+ },
+ .flash_size = 4096, /* Kbytes - larger to aid in development and debugging */
+ .ram_size = 128, /* Kbytes */
+ .num_rows = 172, /* not currently used */
+ .num_cols = 148, /* not currently used */
+ .num_border_rows = 2, /* not currently used */
+ .num_border_cols = 2, /* not currently used */
+ .row_major = false, /* not currently used */
+ .row_inverted = false, /* not currently used */
+ .col_inverted = false, /* not currently used */
+ .round_mask = false /* not currently used */
+};
+
+const static PblBoardConfig s_board_config_bigboard = {
+ .dbgserial_uart_index = 2, // USART3
+ .pebble_control_uart_index = 1, // USART2
+ .button_map = {
+ {STM32_GPIOA_INDEX, 2}, // back
+ {STM32_GPIOA_INDEX, 1}, // up
+ {STM32_GPIOA_INDEX, 3}, // select
+ {STM32_GPIOC_INDEX, 9}, // down
+ },
+ .flash_size = 4096, /* Kbytes - larger to aid in development and debugging */
+ .ram_size = 128, /* Kbytes */
+ .num_rows = 172, /* not currently used */
+ .num_cols = 148, /* not currently used */
+ .num_border_rows = 2, /* not currently used */
+ .num_border_cols = 2, /* not currently used */
+ .row_major = false, /* not currently used */
+ .row_inverted = false, /* not currently used */
+ .col_inverted = false, /* not currently used */
+ .round_mask = false /* not currently used */
+};
+
+const static PblBoardConfig s_board_config_snowy_bb = {
+ .dbgserial_uart_index = 2, // USART3
+ .pebble_control_uart_index = 1, // USART2
+ .button_map = {
+ {STM32_GPIOG_INDEX, 4}, // back
+ {STM32_GPIOG_INDEX, 3}, // up
+ {STM32_GPIOG_INDEX, 1}, // select
+ {STM32_GPIOG_INDEX, 2}, // down
+ },
+ .flash_size = 4096, /* Kbytes - larger to aid in development and debugging */
+ .ram_size = 256, /* Kbytes */
+ .num_rows = 172,
+ .num_cols = 148,
+ .num_border_rows = 2,
+ .num_border_cols = 2,
+ .row_major = false,
+ .row_inverted = true,
+ .col_inverted = false,
+ .round_mask = false
+};
+
+const static PblBoardConfig s_board_config_s4_bb = {
+ .dbgserial_uart_index = 2, // USART3
+ .pebble_control_uart_index = 1, // USART2
+ .button_map = {
+ {STM32_GPIOG_INDEX, 4},
+ {STM32_GPIOG_INDEX, 3},
+ {STM32_GPIOG_INDEX, 1},
+ {STM32_GPIOG_INDEX, 2},
+ },
+ .flash_size = 4096, /* Kbytes - larger to aid in development and debugging */
+ .ram_size = 256, /* Kbytes */
+ .num_rows = 180,
+ .num_cols = 180,
+ .num_border_rows = 0,
+ .num_border_cols = 0,
+ .row_major = true,
+ .row_inverted = false,
+ .col_inverted = false,
+ .round_mask = true
+};
+
+// ----------------------------------------------------------------------------------------
+// Static globals
+static PblButtonID s_waiting_key_up_id = PBL_BUTTON_ID_NONE;
+static QEMUTimer *s_button_timer;
+
+// This is the instance of pebble_control that intercepts packets sent to the emulated
+// pebble over uart 2
+static PebbleControl *s_pebble_control;
+
+// The irq callbacks for each button
+static qemu_irq s_button_irq[PBL_NUM_BUTTONS];
+static qemu_irq s_button_wakeup;
+
+
+static void prv_send_key_up(void *opaque)
+{
+ qemu_irq *button_irqs = opaque;
+ if (s_waiting_key_up_id == PBL_BUTTON_ID_NONE) {
+ /* Should never happen */
+ return;
+ }
+
+ DPRINTF("button %d released\n", s_waiting_key_up_id);
+ qemu_set_irq(button_irqs[s_waiting_key_up_id], true);
+ qemu_set_irq(s_button_wakeup, false);
+ s_waiting_key_up_id = PBL_BUTTON_ID_NONE;
+}
+
+
+// NOTE: When running using a VNC display, we alwqys get a key-up immediately after the key-down,
+// even if the user is holding the key down. For long presses, this results in a series of
+// quick back to back key-down, key-up callbacks.
+static void pebble_key_handler(void *arg, int keycode)
+{
+ qemu_irq *button_irqs = arg;
+ static int prev_keycode;
+
+ int pressed = (keycode & 0x80) == 0;
+ int button_id = PBL_BUTTON_ID_NONE;
+
+ switch (keycode & 0x7F) {
+ case 16: /* Q */
+ button_id = PBL_BUTTON_ID_BACK;
+ break;
+ case 17: /* W */
+ button_id = PBL_BUTTON_ID_UP;
+ break;
+ case 31: /* S */
+ button_id = PBL_BUTTON_ID_SELECT;
+ break;
+ case 45: /* X */
+ button_id = PBL_BUTTON_ID_DOWN;
+ break;
+ case 72: /* up arrow */
+ if (prev_keycode == 224) {
+ button_id = PBL_BUTTON_ID_UP;
+ }
+ break;
+ case 80: /* down arrow */
+ if (prev_keycode == 224) {
+ button_id = PBL_BUTTON_ID_DOWN;
+ }
+ break;
+ case 75: /* left arrow */
+ if (prev_keycode == 224) {
+ button_id = PBL_BUTTON_ID_BACK;
+ }
+ break;
+ case 77: /* right arrow */
+ if (prev_keycode == 224) {
+ button_id = PBL_BUTTON_ID_SELECT;
+ }
+ break;
+ default:
+ break;
+ }
+
+ prev_keycode = keycode;
+ if (button_id == PBL_BUTTON_ID_NONE || !pressed) {
+ /* Ignore key ups and keys we don't care about */
+ return;
+ }
+
+ // If this is a different key, and we are waiting for the prior one to key up, send the
+ // key up now
+ if (s_waiting_key_up_id != PBL_BUTTON_ID_NONE && button_id != s_waiting_key_up_id) {
+ prv_send_key_up(button_irqs);
+ }
+
+ if (s_waiting_key_up_id != button_id) {
+ DPRINTF("button %d pressed\n", button_id);
+ s_waiting_key_up_id = button_id;
+ qemu_set_irq(button_irqs[button_id], false); // Pressed
+ qemu_set_irq(s_button_wakeup, true);
+ }
+
+ /* Set or reschedule the timer to release the key */
+ if (!s_button_timer) {
+ s_button_timer = timer_new_ms(QEMU_CLOCK_VIRTUAL, prv_send_key_up, button_irqs);
+ }
+ timer_mod(s_button_timer, qemu_clock_get_ms(QEMU_CLOCK_VIRTUAL) + 250);
+}
+
+
+// ------------------------------------------------------------------------------------------
+// This method used externally (by pebble_control) for setting a given button state
+void pebble_set_button_state(uint32_t button_state)
+{
+ // Toggle the GPIOs to match the new button state
+ int button_id;
+ for (button_id=0; button_id < PBL_NUM_BUTTONS; button_id++) {
+ uint32_t mask = 1 << button_id;
+ qemu_set_irq(s_button_irq[button_id], !(button_state & mask)); // Set new state
+ }
+}
+
+
+// ------------------------------------------------------------------------------------------
+// Connect up the uarts to serial drivers that connect to the outside world
+void pebble_connect_uarts(Stm32Uart *uart[], const PblBoardConfig *board_config)
+{
+ // This UART is used for control messages, put in our pebble_control device in between
+ // the qemu serial chr and the uart. This enables us to intercept and act selectively
+ // act on messages sent to the Pebble in QEMU before they get to it.
+ s_pebble_control = pebble_control_create(serial_hd(1),
+ uart[board_config->pebble_control_uart_index]);
+
+ stm32_uart_connect(uart[board_config->dbgserial_uart_index], serial_hd(2), 0);
+}
+
+void pebble_connect_uarts_stm32f7xx(Stm32F7xxUart *uart[], const PblBoardConfig *board_config)
+{
+ // This UART is used for control messages, put in our pebble_control device in between
+ // the qemu serial chr and the uart. This enables us to intercept and act selectively
+ // act on messages sent to the Pebble in QEMU before they get to it.
+ s_pebble_control = pebble_control_create_stm32f7xx(serial_hd(1),
+ uart[board_config->pebble_control_uart_index]);
+
+ stm32f7xx_uart_connect(uart[board_config->dbgserial_uart_index], serial_hd(2), 0);
+}
+
+
+// -----------------------------------------------------------------------------------------
+// Init button handling
+void pebble_init_buttons(Stm32Gpio *gpio[], const PblButtonMap *map)
+{
+ int i;
+ for (i = 0; i < PBL_NUM_BUTTONS; i++) {
+ qemu_irq irq = qdev_get_gpio_in((DeviceState *)gpio[map[i].gpio], map[i].pin);
+ if (map[i].active_high) {
+ s_button_irq[i] = qemu_irq_invert(irq);
+
+ } else {
+ s_button_irq[i] = irq;
+ }
+ }
+ // GPIO A, pin 0 is the WKUP pin.
+ s_button_wakeup = qdev_get_gpio_in((DeviceState *)gpio[STM32_GPIOA_INDEX], 0);
+ qemu_add_kbd_event_handler(pebble_key_handler, s_button_irq);
+}
+
+
+// ----------------------------------------------------------------------------------------
+// Init the board device
+DeviceState *pebble_init_board(Stm32Gpio *gpio[], qemu_irq display_vibe)
+{
+ // Create the board device and wire it up
+ DeviceState *board = qdev_create(NULL, "pebble_board");
+ qdev_prop_set_ptr(board, "name", (void *)"Pebble");
+
+#ifndef PEBBLE_NO_DISPLAY_VIBRATE
+ qdev_prop_set_ptr(board, "display_vibe", display_vibe);
+#endif
+
+ qdev_init_nofail(board);
+ return board;
+}
+
+// ----------------------------------------------------------------------------------------
+// Set our QEMU specific settings to the target
+void pebble_set_qemu_settings(DeviceState *rtc_dev)
+{
+ #define QEMU_REG_0_FIRST_BOOT_LOGIC_ENABLE 0x00000001
+ #define QEMU_REG_0_START_CONNECTED 0x00000002
+ #define QEMU_REG_0_START_PLUGGED_IN 0x00000004
+
+ // Default settings
+ uint32_t flags = QEMU_REG_0_START_CONNECTED;
+
+ // Set the QEMU specific settings in the extra backup registers
+ char *strval;
+ strval = getenv("PEBBLE_QEMU_FIRST_BOOT_LOGIC_ENABLE");
+ if (strval) {
+ // If set, allow "first boot" behavior, which displays the "Ready for Update"
+ // screen
+ if (atoi(strval)) {
+ flags |= QEMU_REG_0_FIRST_BOOT_LOGIC_ENABLE;
+ } else {
+ flags &= ~QEMU_REG_0_FIRST_BOOT_LOGIC_ENABLE;
+ }
+ }
+
+ strval = getenv("PEBBLE_QEMU_START_CONNECTED");
+ if (strval) {
+ // If set, default to bluetooth not connected
+ if (atoi(strval)) {
+ flags |= QEMU_REG_0_START_CONNECTED;
+ } else {
+ flags &= ~QEMU_REG_0_START_CONNECTED;
+ }
+
+ }
+
+ strval = getenv("PEBBLE_QEMU_START_PLUGGED_IN");
+ if (strval) {
+ // If set, default to plugged in
+ if (atoi(strval)) {
+ flags |= QEMU_REG_0_START_PLUGGED_IN;
+ } else {
+ flags &= ~QEMU_REG_0_START_PLUGGED_IN;
+ }
+ }
+
+ f2xx_rtc_set_extra_bkup_reg(rtc_dev, 0, flags);
+}
+
+
+// ------------------------------------------------------------------------------------------
+// Instantiate a 32f2xx based pebble
+static void pebble_32f2_init(MachineState *machine, const PblBoardConfig *board_config)
+{
+ Stm32Gpio *gpio[STM32F2XX_GPIO_COUNT];
+ Stm32Uart *uart[STM32F2XX_UART_COUNT];
+ Stm32Timer *timer[STM32F2XX_TIM_COUNT];
+ DeviceState *spi_flash;
+ DeviceState *rtc_dev;
+ SSIBus *spi;
+ struct stm32f2xx stm;
+ ARMCPU *cpu;
+
+ // Note: allow for bigger flash images (4MByte) to aid in development and debugging
+ stm32f2xx_init(
+ board_config->flash_size,
+ board_config->ram_size,
+ machine->kernel_filename,
+ gpio,
+ uart,
+ timer,
+ &rtc_dev,
+ 8000000, /* osc_freq*/
+ 32768, /* osc2_freq*/
+ &stm,
+ &cpu);
+
+
+ // Set the Pebble specific QEMU settings on the target
+ pebble_set_qemu_settings(rtc_dev);
+
+ /* SPI flash */
+ spi = (SSIBus *)qdev_get_child_bus(stm.spi_dev[0], "ssi");
+ spi_flash = ssi_create_slave_no_init(spi, "n25q032a11");
+ DriveInfo *dinfo = drive_get_next(IF_MTD);
+ if (dinfo) {
+ qdev_prop_set_drive(spi_flash, "drive",
+ blk_by_legacy_dinfo(dinfo),
+ &error_fatal);
+ }
+ qdev_init_nofail(spi_flash);
+
+ qemu_irq cs;
+ cs = qdev_get_gpio_in_named(spi_flash, SSI_GPIO_CS, 0);
+ qdev_connect_gpio_out((DeviceState *)gpio[STM32_GPIOA_INDEX], 4, cs);
+
+
+ /* Display */
+ spi = (SSIBus *)qdev_get_child_bus(stm.spi_dev[1], "ssi");
+ DeviceState *display_dev = ssi_create_slave_no_init(spi, "sm-lcd");
+ qdev_prop_set_bit(display_dev, "rotate_display", true);
+ qdev_init_nofail(display_dev);
+
+ qemu_irq backlight_enable;
+ backlight_enable = qdev_get_gpio_in_named(display_dev, "backlight_enable", 0);
+ qdev_connect_gpio_out_named((DeviceState *)gpio[STM32_GPIOB_INDEX], "af", 5,
+ backlight_enable);
+
+ qemu_irq backlight_level;
+ backlight_level = qdev_get_gpio_in_named(display_dev, "backlight_level", 0);
+ qdev_connect_gpio_out_named((DeviceState *)timer[2], "pwm_ratio_changed", 0, // TIM3
+ backlight_level);
+
+ qemu_irq display_power;
+ display_power = qdev_get_gpio_in_named(display_dev, "power_ctl", 0);
+//NVIC qdev_connect_gpio_out_named((DeviceState *)cpu->env.nvic, "power_out", 0,
+//NVIC display_power);
+
+ // Connect up the uarts
+ pebble_connect_uarts(uart, board_config);
+
+ // Init the buttons
+ pebble_init_buttons(gpio, board_config->button_map);
+
+ // Create the board device and wire it up
+ qemu_irq display_vibe;
+ display_vibe = qdev_get_gpio_in_named(display_dev, "vibe_ctl", 0);
+ DeviceState *board = pebble_init_board(gpio, display_vibe);
+
+ // The GPIO from vibrate drives the vibe input on the board
+ qemu_irq board_vibe_in;
+ board_vibe_in = qdev_get_gpio_in_named(board, "pebble_board_vibe_in", 0);
+ qdev_connect_gpio_out((DeviceState *)gpio[STM32_GPIOB_INDEX], 0, board_vibe_in);
+}
+
+// ------------------------------------------------------------------------------------------
+// Instantiate a 32f439 based pebble
+void pebble_32f439_init(MachineState *machine, const PblBoardConfig *board_config)
+{
+ Stm32Gpio *gpio[STM32F4XX_GPIO_COUNT];
+ Stm32Uart *uart[STM32F4XX_UART_COUNT];
+ Stm32Timer *timer[STM32F4XX_TIM_COUNT];
+ DeviceState *rtc_dev;
+ SSIBus *spi;
+ struct stm32f4xx stm;
+ ARMCPU *cpu;
+
+ // Note: allow for bigger flash images (4MByte) to aid in development and debugging
+ stm32f4xx_init(board_config->flash_size,
+ board_config->ram_size,
+ machine->kernel_filename,
+ gpio,
+ board_config->gpio_idr_masks,
+ uart,
+ timer,
+ &rtc_dev,
+ 8000000 /*osc_freq*/,
+ 32768 /*osc2_freq*/,
+ &stm,
+ &cpu);
+
+
+ // Set the Pebble specific QEMU settings on the target
+ pebble_set_qemu_settings(rtc_dev);
+
+ /* Storage flash (NOR-flash on Snowy) */
+ const uint32_t flash_size_bytes = 16 * 1024 * 1024; /* 16 MBytes */
+ const uint32_t flash_sector_size_bytes = 32 * 1024; /* 32 KBytes */
+ const uint32_t bank_size_bytes = 2 * 1024 * 1024; /* 2 MBytes */
+ DriveInfo *dinfo = drive_get(IF_PFLASH, 0, 1); /* Use the 2nd -pflash drive */
+ if (dinfo) {
+ pflash_jedec_424_register(
+ 0x60000000, /* flash_base*/
+ NULL, /* qdev, not used */
+ "mx29vs128fb", /* name */
+ flash_size_bytes, /* size */
+ blk_by_legacy_dinfo(dinfo), /* driver state */
+ flash_sector_size_bytes, /* sector size */
+ flash_size_bytes / flash_sector_size_bytes, /* number of sectors */
+ bank_size_bytes, /* size of each bank */
+ 2, /* width in bytes */
+ 0x00c2, 0x007e, 0x0065, 0x0001, /* id: 0, 1, 2, 3 */
+ 0 /* big endian */
+ );
+ }
+
+
+ /* --- Display ------------------------------------------------ */
+ spi = (SSIBus *)qdev_get_child_bus(stm.spi_dev[5], "ssi");
+ DeviceState *display_dev = ssi_create_slave_no_init(spi, "pebble-snowy-display");
+
+ /* Create the outputs that the display will drive and associate them with the correct
+ * GPIO input pins on the MCU */
+ qemu_irq display_done_irq = qdev_get_gpio_in((DeviceState *)gpio[STM32_GPIOG_INDEX], 9);
+ qdev_prop_set_ptr(display_dev, "done_output", display_done_irq);
+ qemu_irq display_intn_irq = qdev_get_gpio_in((DeviceState *)gpio[STM32_GPIOG_INDEX], 10);
+ qdev_prop_set_ptr(display_dev, "intn_output", display_intn_irq);
+
+ qdev_prop_set_int32(display_dev, "num_rows", board_config->num_rows);
+ qdev_prop_set_int32(display_dev, "num_cols", board_config->num_cols);
+ qdev_prop_set_int32(display_dev, "num_border_rows", board_config->num_border_rows);
+ qdev_prop_set_int32(display_dev, "num_border_cols", board_config->num_border_cols);
+ qdev_prop_set_uint8(display_dev, "row_major", board_config->row_major);
+ qdev_prop_set_uint8(display_dev, "row_inverted", board_config->row_inverted);
+ qdev_prop_set_uint8(display_dev, "col_inverted", board_config->col_inverted);
+ qdev_prop_set_uint8(display_dev, "round_mask", board_config->round_mask);
+
+ qdev_init_nofail(display_dev);
+
+ /* Connect the correct MCU GPIO outputs to the inputs on the display */
+ qemu_irq display_cs;
+ display_cs = qdev_get_gpio_in_named(display_dev, SSI_GPIO_CS, 0);
+ qdev_connect_gpio_out((DeviceState *)gpio[STM32_GPIOG_INDEX], 8, display_cs);
+
+ qemu_irq display_reset;
+ display_reset = qdev_get_gpio_in_named(display_dev, "reset", 0);
+ qdev_connect_gpio_out((DeviceState *)gpio[STM32_GPIOG_INDEX], 15, display_reset);
+
+ qemu_irq display_sclk;
+ display_sclk = qdev_get_gpio_in_named(display_dev, "sclk", 0);
+ qdev_connect_gpio_out((DeviceState *)gpio[STM32_GPIOG_INDEX], 13, display_sclk);
+
+ qemu_irq backlight_enable;
+ backlight_enable = qdev_get_gpio_in_named(display_dev,
+ "backlight_enable", 0);
+ qdev_connect_gpio_out_named((DeviceState *)gpio[STM32_GPIOB_INDEX], "af", 14,
+ backlight_enable);
+
+ qemu_irq backlight_level;
+ backlight_level = qdev_get_gpio_in_named(display_dev,
+ "backlight_level", 0);
+ qdev_connect_gpio_out_named((DeviceState *)timer[11], "pwm_ratio_changed", 0, // TIM12
+ backlight_level);
+
+ qemu_irq display_power;
+ display_power = qdev_get_gpio_in_named(display_dev, "power_ctl", 0);
+//NVIC qdev_connect_gpio_out_named((DeviceState *)cpu->env.nvic, "power_out", 0,
+// display_power);
+
+
+ // Connect up the uarts
+ pebble_connect_uarts(uart, board_config);
+
+ // Init the buttons
+ pebble_init_buttons(gpio, board_config->button_map);
+
+
+ // Create the board device and wire it up
+ qemu_irq display_vibe;
+ display_vibe = qdev_get_gpio_in_named(display_dev, "vibe_ctl", 0);
+ DeviceState *board = pebble_init_board(gpio, display_vibe);
+
+ // The GPIO from vibrate drives the vibe input on the board
+ qemu_irq board_vibe_in;
+ board_vibe_in = qdev_get_gpio_in_named(board, "pebble_board_vibe_in", 0);
+ qdev_connect_gpio_out((DeviceState *)gpio[STM32_GPIOF_INDEX], 4, board_vibe_in);
+}
+
+
+// ================================================================================
+// Pebble "board" device. Used when we need to fan out a GPIO outputs to one or more other
+// devices/instances
+typedef struct PebbleBoard {
+ SysBusDevice busdev;
+ void *name;
+
+ union {
+ void *vibe_out_irq_prop;
+ qemu_irq vibe_out_irq;
+ };
+
+} PebbleBoard;
+
+
+static void pebble_board_vibe_ctl(void *opaque, int n, int level)
+{
+ PebbleBoard *s = (PebbleBoard *)opaque;
+ assert(n == 0);
+
+ // Tell the pebble control instance that we vibrated
+ pebble_control_send_vibe_notification(s_pebble_control, level != 0);
+
+ // Tell pass onto the vibe out output as well
+ qemu_set_irq(s->vibe_out_irq, level);
+}
+
+
+static void pebble_board_init(Object *dev)
+{
+ //PebbleBoard *s = FROM_SYSBUS(PebbleBoard, dev);
+
+ /* This callback informs us that the vibrate is on/orr */
+ qdev_init_gpio_in_named(DEVICE(dev), pebble_board_vibe_ctl,
+ "pebble_board_vibe_in", 1);
+}
+
+static Property pebble_board_properties[] = {
+ DEFINE_PROP_PTR("name", PebbleBoard, name),
+ DEFINE_PROP_PTR("display_vibe", PebbleBoard, vibe_out_irq_prop),
+ DEFINE_PROP_END_OF_LIST(),
+};
+
+static void pebble_board_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+
+ device_class_set_props(dc, pebble_board_properties);
+}
+
+static const TypeInfo pebble_board_info = {
+ .name = "pebble_board",
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(PebbleBoard),
+ .instance_init = pebble_board_init,
+ .class_init = pebble_board_class_init,
+};
+
+static void pebble_board_register_types(void)
+{
+ type_register_static(&pebble_board_info);
+}
+
+type_init(pebble_board_register_types)
+
+
+// ================================================================================
+// Machines
+static void pebble_bb2_init(MachineState *machine)
+{
+ pebble_32f2_init(machine, &s_board_config_bb2_ev1_ev2);
+}
+
+static void pebble_bb_init(MachineState *machine)
+{
+ pebble_32f2_init(machine, &s_board_config_bigboard);
+}
+
+static void pebble_snowy_init(MachineState *machine)
+{
+ pebble_32f439_init(machine, &s_board_config_snowy_bb);
+}
+
+static void pebble_s4_init(MachineState *machine)
+{
+ pebble_32f439_init(machine, &s_board_config_s4_bb);
+}
+
+
+static void pebble_bb2_machine_init(MachineClass *mc)
+{
+ mc->desc = "Pebble smartwatch (bb2/ev1/ev2)";
+ mc->init = pebble_bb2_init;
+}
+
+DEFINE_MACHINE("pebble-bb2", pebble_bb2_machine_init)
+
+static void pebble_bb_machine_init(MachineClass *mc)
+{
+ mc->desc = "Pebble smartwatch (bb)";
+ mc->init = pebble_bb_init;
+}
+
+DEFINE_MACHINE("pebble-bb", pebble_bb_machine_init)
+
+static void pebble_snowy_bb_machine_init(MachineClass *mc)
+{
+ mc->desc = "Pebble smartwatch (snowy)";
+ mc->init = pebble_snowy_init;
+}
+
+DEFINE_MACHINE("pebble-snowy-bb", pebble_snowy_bb_machine_init)
+
+static void pebble_s4_bb_machine_init(MachineClass *mc)
+{
+ mc->desc = "Pebble smartwatch (s4)";
+ mc->init = pebble_s4_init;
+}
+
+DEFINE_MACHINE("pebble-s4-bb", pebble_s4_bb_machine_init)
+
diff --git a/hw/arm/pebble.h b/hw/arm/pebble.h
new file mode 100644
index 0000000000000..aea857abbe10a
--- /dev/null
+++ b/hw/arm/pebble.h
@@ -0,0 +1,52 @@
+#include "stm32f2xx.h"
+#include "stm32f4xx.h"
+#include "stm32f7xx.h"
+
+typedef enum {
+ PBL_BUTTON_ID_NONE = -1,
+ PBL_BUTTON_ID_BACK = 0,
+ PBL_BUTTON_ID_UP = 1,
+ PBL_BUTTON_ID_SELECT = 2,
+ PBL_BUTTON_ID_DOWN = 3,
+ PBL_NUM_BUTTONS = 4
+} PblButtonID;
+
+typedef struct {
+ int gpio;
+ int pin;
+ bool active_high;
+} PblButtonMap;
+
+typedef struct {
+ int dbgserial_uart_index;
+ int pebble_control_uart_index;
+
+ PblButtonMap button_map[PBL_NUM_BUTTONS];
+ uint32_t gpio_idr_masks[STM32F4XX_GPIO_COUNT];
+
+ // memory sizes
+ uint32_t flash_size;
+ uint32_t ram_size;
+ // screen sizes
+ uint32_t num_rows;
+ uint32_t num_cols;
+ uint32_t num_border_rows;
+ uint32_t num_border_cols;
+ bool row_major;
+ bool row_inverted;
+ bool col_inverted;
+ bool round_mask;
+} PblBoardConfig;
+
+void pebble_32f412_init(MachineState *machine, const PblBoardConfig *board_config);
+void pebble_32f439_init(MachineState *machine, const PblBoardConfig *board_config);
+void pebble_32f7xx_init(MachineState *machine, const PblBoardConfig *board_config);
+
+// This method used externally (by pebble_control) for setting the button state
+void pebble_set_button_state(uint32_t button_state);
+void pebble_set_qemu_settings(DeviceState *rtc_dev);
+void pebble_connect_uarts(Stm32Uart *uart[], const PblBoardConfig *board_config);
+void pebble_connect_uarts_stm32f7xx(Stm32F7xxUart *uart[], const PblBoardConfig *board_config);
+void pebble_init_buttons(Stm32Gpio *gpio[], const PblButtonMap *map);
+DeviceState *pebble_init_board(Stm32Gpio *gpio[], qemu_irq display_vibe);
+
diff --git a/hw/arm/pebble_control.c b/hw/arm/pebble_control.c
new file mode 100644
index 0000000000000..69fe2d3dd38e1
--- /dev/null
+++ b/hw/arm/pebble_control.c
@@ -0,0 +1,568 @@
+/*
+ * Pebble "remote control" module.
+ *
+ * This device is designed to sit in between a qemu_chr module and a UART device used
+ * by the emulated Pebble. It intercepts the traffic being sent to the UART, looks for
+ * specific packets that should be interpreted by QEMU and acts upon them. For other
+ * types of packets, it simply passes them on through to the Pebble UART.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, see .
+ */
+
+#include "qemu/osdep.h"
+#include "hw/sysbus.h"
+#include "hw/arm/stm32.h"
+#include "chardev/char.h"
+#include "qemu/timer.h"
+#include "qemu/sockets.h"
+#include "qemu/log.h"
+
+#include "pebble_control.h"
+#include "pebble.h"
+
+//#define DEBUG_PEBBLE_CONTROL
+#ifdef DEBUG_PEBBLE_CONTROL
+#define DPRINTF(fmt, ...) \
+ do { printf("PEBBLE_CONTROL: " fmt , ## __VA_ARGS__); \
+ usleep(1000); \
+ } while (0)
+#else
+#define DPRINTF(fmt, ...)
+#endif
+
+#define EPRINTF(fmt, ...) \
+ do { printf("PEBBLE_CONTROL: " fmt , ## __VA_ARGS__); \
+ usleep(1000); \
+ } while (0)
+
+
+// ------------------------------------------------------------------------------------------
+// NOTE: The following QemuProtocol defines describe the protocol used by the host
+// to control/communicate with the emulated Pebble.
+#define QEMU_HEADER_SIGNATURE 0xFEED
+#define QEMU_FOOTER_SIGNATURE 0xBEEF
+#define QEMU_MAX_DATA_LEN 2048
+
+// Every message sent over the QEMU control channel has the following header. All
+// data is set in network byte order. The maximum data len (not including header or footer)
+// allowed is QEMU_MAX_DATA_LEN bytes
+typedef struct QEMU_PACKED {
+ uint16_t signature; // QEMU_HEADER_SIGNATURE
+ uint16_t protocol; // one of QemuProtocol
+ uint16_t len; // number of bytes that follow (not including this header or footer)
+} QemuCommChannelHdr;
+
+// Every message sent over the QEMU comm channel has the following footer.
+typedef struct QEMU_PACKED {
+ uint16_t signature; // QEMU_FOOTER_SIGNATURE
+} QemuCommChannelFooter;
+
+
+// Protocol IDs
+typedef enum {
+ QemuProtocol_SPP = 1,
+ QemuProtocol_Tap = 2,
+ QemuProtocol_BluetoothConnection = 3,
+ QemuProtocol_Compass = 4,
+ QemuProtocol_Battery = 5,
+ QemuProtocol_Accel = 6,
+ QemuProtocol_Vibration = 7,
+ QemuProtocol_Button = 8
+} QemuProtocol;
+
+
+// Structure of the data for various protocols
+
+// For QemuProtocol_SPP, the data is raw Pebble Protocol
+
+// QemuProtocol_Tap
+typedef struct QEMU_PACKED {
+ uint8_t axis; // 0: x-axis, 1: y-axis, 2: z-axis
+ int8_t direction; // either +1 or -1
+} QemuProtocolTapHeader;
+
+
+// QemuProtocol_BluetoothConnection
+typedef struct QEMU_PACKED {
+ uint8_t connected; // true if connected
+} QemuProtocolBluetoothConnectionHeader;
+
+
+// QemuProtocol_Compass
+typedef struct QEMU_PACKED {
+ uint32_t magnetic_heading; // 0x10000 represents 360 degress
+ uint8_t calib_status:8; // CompassStatus enum
+} QemuProtocolCompassHeader;
+
+
+// QemuProtocol_Battery
+typedef struct QEMU_PACKED {
+ uint8_t battery_pct; // from 0 to 100
+ uint8_t charger_connected;
+} QemuProtocolBatteryHeader;
+
+
+// QemuProtocol_Accel request (to Pebble)
+//! A single accelerometer sample for all three axes
+typedef struct QEMU_PACKED {
+ int16_t x;
+ int16_t y;
+ int16_t z;
+} QemuProtocolAccelSample;
+typedef struct QEMU_PACKED {
+ uint8_t num_samples;
+ QemuProtocolAccelSample samples[0];
+} QemuProtocolAccelHeader;
+
+// QemuProtocol_Accel response (back to host)
+typedef struct QEMU_PACKED {
+ uint16_t avail_space; // Number of samples we can accept
+} QemuProtocolAccelResponseHeader;
+
+
+// QemuProtocol_Vibration notification (sent from Pebble to host)
+typedef struct QEMU_PACKED {
+ uint8_t on; // non-zero if vibe is on, 0 if off
+} QemuProtocolVibrationNotificationHeader;
+
+
+// QemuProtocol_Button
+typedef struct QEMU_PACKED {
+ // New button state. Bit x specifies the state of button x, where x is one of the
+ // ButtonId enum values.
+ uint8_t button_state;
+} QemuProtocolButtonHeader;
+
+
+
+// -----------------------------------------------------------------------------------------
+// PebbleControl globals
+#define PBLCONTROL_BUF_LEN (QEMU_MAX_DATA_LEN + sizeof(QemuCommChannelHdr) \
+ + sizeof(QemuCommChannelFooter))
+
+struct PebbleControl {
+ /* Inherited */
+ SysBusDevice busdev;
+
+ // The qemu_chr driver that connects to the host over a socket connection. We receive
+ // data from this device, interpret it, and either process it directly in here or forward
+ // it onto the uart in the emulated pebble.
+ Chardev *chr;
+
+ // The uart used by the emulated Pebble. We send data to it using its IOHandler
+ // callbacks. Data written to the UART by the emulated Pebble gets passed onto us
+ // because we provide the UART device a pointer to our pebble_control_write() method.
+ void *uart;
+ IOEventHandler *uart_chr_event;
+ IOCanReadHandler *uart_chr_can_read;
+ IOReadHandler *uart_chr_read;
+
+
+ // We buffer the characters we receive from our qemu_chr receive handler here until
+ // we get a complete packet. From there, we can figure out if we should process it
+ // directly or pass it onto the target's UART
+ uint8_t rcv_char_buf[PBLCONTROL_BUF_LEN];
+ uint32_t rcv_char_bytes; /* number of bytes avaialable in rcv_char_buf */
+
+
+ // If we are passing a packet onto the target UART, this contains the number of bytes left
+ // to transfer. The bytes we are transferring are always at the front of the
+ // rcv_char_buf.
+ uint32_t target_send_bytes;
+
+ // Timer used to wake us up to pump more data to the target
+ struct QEMUTimer *target_send_timer;
+
+ // We buffer the characters the UART from the target wants to send out here.
+ // We only send it to the front end once we have a complete packet. This insures
+ // that packets we went to send out don't interrupt midstream one that the target is
+ // sending.
+ uint8_t send_char_buf[PBLCONTROL_BUF_LEN];
+ uint32_t send_char_bytes; /* number of bytes avaialable in send_char_buf */
+};
+
+
+// Control channel handlers are defined using this structure
+typedef void (*PebbleControlMessageCallback)(PebbleControl *s, const uint8_t* data,
+ uint32_t length);
+typedef struct {
+ uint16_t protocol_id;
+ PebbleControlMessageCallback callback;
+} PebbleControlMessageHandler;
+
+
+
+// -----------------------------------------------------------------------------------
+static void pebble_control_button_msg_callback(PebbleControl *s, const uint8_t *data,
+ uint32_t len)
+{
+ DPRINTF("%s: \n", __func__);
+ QemuProtocolButtonHeader *hdr = (QemuProtocolButtonHeader *)data;
+ if (len != sizeof(*hdr)) {
+ EPRINTF("%s: invalid packet\n", __func__);
+ return;
+ }
+
+ DPRINTF("%s: new button state: 0x%x\n", __func__, (int)hdr->button_state);
+ pebble_set_button_state(hdr->button_state);
+}
+
+
+
+// -----------------------------------------------------------------------------------------
+// Find handler from s_qemu_endpoints for a given protocol
+static const PebbleControlMessageHandler* pebble_control_find_handler(PebbleControl *s,
+ uint16_t protocol_id) {
+ static const PebbleControlMessageHandler s_msg_endpoints[] = {
+ // IMPORTANT: These must be in sorted order!!
+ { QemuProtocol_Button, pebble_control_button_msg_callback },
+ };
+
+ size_t i;
+ for (i = 0; i < ARRAY_LENGTH(s_msg_endpoints); ++i) {
+ const PebbleControlMessageHandler* handler = &s_msg_endpoints[i];
+ if (!handler || handler->protocol_id > protocol_id) {
+ break;
+ }
+
+ if (handler->protocol_id == protocol_id) {
+ return handler;
+ }
+ }
+
+ return NULL;
+}
+
+
+
+
+// -----------------------------------------------------------------------------------
+// Drop the first N bytes out of the beginning of the receive buffer
+static void pebble_control_consume_rcv_bytes(PebbleControl *s, uint32_t n)
+{
+ assert (n <= s->rcv_char_bytes);
+ s->rcv_char_bytes -= n;
+ memmove(&s->rcv_char_buf[0], &s->rcv_char_buf[n], s->rcv_char_bytes);
+}
+
+
+// -----------------------------------------------------------------------------------
+// Forward the remaining portion of the packet at the front of our receive buffer onto the
+// target
+static void pebble_control_forward_to_target(PebbleControl *s)
+{
+ if (s->target_send_bytes == 0) {
+ return;
+ }
+ DPRINTF("%s: %d bytes left to send to target\n", __func__, s->target_send_bytes);
+
+ int can_read_bytes = s->uart_chr_can_read(s->uart);
+ if (can_read_bytes > 0) {
+ can_read_bytes = MIN(can_read_bytes, s->target_send_bytes);
+ s->uart_chr_read(s->uart, s->rcv_char_buf, can_read_bytes);
+ pebble_control_consume_rcv_bytes(s, can_read_bytes);
+ s->target_send_bytes -= can_read_bytes;
+ DPRINTF("%s: sent %d bytes to target, %d remaining\n", __func__, can_read_bytes,
+ s->target_send_bytes);
+ }
+
+ // If more data to send, set a timer so we run again later
+ if (s->target_send_bytes) {
+ DPRINTF("%s: Scheduling pebble_control_forward_to_target timer\n", __func__);
+ timer_mod(s->target_send_timer, qemu_clock_get_ms(QEMU_CLOCK_HOST) + 1);
+ }
+}
+
+
+// -----------------------------------------------------------------------------------
+// Parse through our receive buffer, for each complete control packet, process it
+static void pebble_control_parse_receive_buffer(PebbleControl *s)
+{
+ // If we are still forwarding data to the target, finish that first
+ if (s->target_send_bytes) {
+ pebble_control_forward_to_target(s);
+ if (s->target_send_bytes) {
+ return;
+ }
+ }
+
+ // Look for a complete packet
+ while (s->rcv_char_bytes >= sizeof(QemuCommChannelHdr) + sizeof(QemuCommChannelFooter)) {
+ QemuCommChannelHdr *hdr = (QemuCommChannelHdr *)s->rcv_char_buf;
+
+ // Check the header signature
+ if (ntohs(hdr->signature) != QEMU_HEADER_SIGNATURE) {
+ DPRINTF("%s: invalid packet hdr signature detected\n", __func__);
+ pebble_control_consume_rcv_bytes(s, sizeof(hdr->signature));
+ }
+
+ // Validate the length
+ uint16_t data_len = ntohs(hdr->len);
+ if (data_len > QEMU_MAX_DATA_LEN) {
+ DPRINTF("%s: invalid packet hdr len detected\n", __func__);
+ pebble_control_consume_rcv_bytes(s, sizeof(*hdr));
+ }
+
+ // If not a complete packet yet, break out
+ uint16_t total_size = sizeof(QemuCommChannelHdr) + data_len
+ + sizeof(QemuCommChannelFooter);
+ if (s->rcv_char_bytes < total_size) {
+ break;
+ }
+
+ // We have a complete packet, see if we should process it directly or pass it onto
+ // the target
+ uint16_t protocol = ntohs(hdr->protocol);
+ const PebbleControlMessageHandler* handler = pebble_control_find_handler(s, protocol);
+ if (!handler) {
+ DPRINTF("%s: passing packet with protocol %d onto target\n", __func__, protocol);
+ s->target_send_bytes = total_size;
+ pebble_control_forward_to_target(s);
+ if (s->target_send_bytes) {
+ // If we couldn't pass it all on, break out and wait for the timer callback
+ // to send the rest out
+ break;
+ }
+ } else {
+ handler->callback(s, (uint8_t *)(hdr+1), data_len);
+ pebble_control_consume_rcv_bytes(s, total_size);
+ }
+
+ }
+
+}
+
+
+// -----------------------------------------------------------------------------------
+// Char device receive handlers
+static void pebble_control_event(void *opaque, int event)
+{
+ PebbleControl *s = (PebbleControl *)opaque;
+
+ s->uart_chr_event(s->uart, event);
+}
+
+static int pebble_control_can_receive(void *opaque)
+{
+ PebbleControl *s = (PebbleControl *)opaque;
+
+ /* How much space do we have in our buffer? */
+ return (PBLCONTROL_BUF_LEN - s->rcv_char_bytes);
+}
+
+static void pebble_control_receive(void *opaque, const uint8_t *buf, int size)
+{
+ PebbleControl *s = (PebbleControl *)opaque;
+
+ assert(size > 0);
+
+ // Copy the characters into our buffer first
+ assert (size <= PBLCONTROL_BUF_LEN - s->rcv_char_bytes);
+ memmove(s->rcv_char_buf + s->rcv_char_bytes, buf, size);
+ s->rcv_char_bytes += size;
+
+ // Process any complete packets in the receive buffer
+ pebble_control_parse_receive_buffer(s);
+}
+
+
+// -----------------------------------------------------------------------------------
+// Drop the first N bytes out of the beginning of the send buffer
+static void pebble_control_consume_send_bytes(PebbleControl *s, uint32_t n)
+{
+ assert (n <= s->send_char_bytes);
+ s->send_char_bytes -= n;
+ memmove(&s->send_char_buf[0], &s->send_char_buf[n], s->send_char_bytes);
+}
+
+
+// -----------------------------------------------------------------------------------
+// This method gets passed to the UART's stm32_uart_set_write_handler(). This way
+// we can intercept all writes that the UART sends to the front end and insure that
+// we don't interrupt one mid-stream by sending a packet from QEMU
+static int pebble_control_write(void *opaque, const uint8_t *buf, int len) {
+ PebbleControl *s = (PebbleControl *)opaque;
+
+ while (len) {
+ // Copy the new bytes in
+ uint32_t space_left = sizeof(s->send_char_buf) - s->send_char_bytes;
+
+ if (space_left == 0) {
+ EPRINTF("%s: overflowed send buffer, aborting queued up data\n", __func__);
+ s->send_char_bytes = 0;
+ space_left = sizeof(s->send_char_buf);
+ }
+ uint32_t bytes_to_copy = MIN(space_left, len);
+ memmove(&s->send_char_buf[s->send_char_bytes], buf, bytes_to_copy);
+ s->send_char_bytes += bytes_to_copy;
+ len -= bytes_to_copy;
+
+
+ // ------------------------------------------------------------------
+ // See if we have a complete packet yet
+ if (s->send_char_bytes < sizeof(QemuCommChannelHdr)
+ + sizeof(QemuCommChannelFooter)) {
+ break;
+ }
+ QemuCommChannelHdr *hdr = (QemuCommChannelHdr *)s->send_char_buf;
+
+ // Check the header signature
+ if (ntohs(hdr->signature) != QEMU_HEADER_SIGNATURE) {
+ DPRINTF("%s: invalid packet hdr signature detected\n", __func__);
+ pebble_control_consume_send_bytes(s, sizeof(hdr->signature));
+ }
+
+ // Validate the length
+ uint16_t data_len = ntohs(hdr->len);
+ if (data_len > QEMU_MAX_DATA_LEN) {
+ DPRINTF("%s: invalid packet hdr len detected\n", __func__);
+ pebble_control_consume_send_bytes(s, sizeof(*hdr));
+ }
+
+ // If not a complete packet yet, break out
+ uint16_t total_size = sizeof(QemuCommChannelHdr) + data_len
+ + sizeof(QemuCommChannelFooter);
+ if (s->send_char_bytes < total_size) {
+ if (len > 0) {
+ // If we still have not put in all the bytes the caller wanted,
+ // we must be off-frame because we ran out of room.
+ EPRINTF("%s: overflowed send buffer, aborting queued up data\n", __func__);
+ s->send_char_bytes = 0;
+ continue;
+ }
+ break;
+ }
+
+ // We have a complete packet, send it out the front end
+ int bytes_sent;
+ DPRINTF("%s: Sending packet of %d bytes to host\n", __func__, total_size);
+ while (total_size) {
+ bytes_sent = qemu_chr_fe_write(s->chr, s->send_char_buf, total_size);
+ total_size -= bytes_sent;
+ pebble_control_consume_send_bytes(s, bytes_sent);
+ }
+
+ }
+
+ return qemu_chr_fe_write(s->chr, buf, len);
+}
+
+
+// -----------------------------------------------------------------------------------------
+static void pebble_control_send_packet(PebbleControl *s, QemuProtocol protocol, void *data,
+ uint32_t len)
+{
+ // Send the header
+ QemuCommChannelHdr hdr = (QemuCommChannelHdr) {
+ .signature = htons(QEMU_HEADER_SIGNATURE),
+ .protocol = htons(protocol),
+ .len = htons(len)
+ };
+ qemu_chr_fe_write(s->chr, (uint8_t *)&hdr, sizeof(hdr));
+
+ // Send the data
+ qemu_chr_fe_write(s->chr, data, len);
+
+ // Send the footer
+ QemuCommChannelFooter footer = (QemuCommChannelFooter) {
+ .signature = htons(QEMU_FOOTER_SIGNATURE)
+ };
+
+ qemu_chr_fe_write(s->chr, (uint8_t *)&footer, sizeof(footer));
+}
+
+// -----------------------------------------------------------------------------------
+// Send a vibe notification to the host
+void pebble_control_send_vibe_notification(PebbleControl *s, bool on)
+{
+ DPRINTF("%s: vibe %d\n", __func__, (int)on);
+
+ QemuProtocolVibrationNotificationHeader hdr = {
+ .on = on
+ };
+ pebble_control_send_packet(s, QemuProtocol_Vibration, &hdr, sizeof(hdr));
+}
+
+// -----------------------------------------------------------------------------------
+PebbleControl *pebble_control_create(Chardev *chr, Stm32Uart *uart)
+{
+ PebbleControl *s = malloc(sizeof(PebbleControl));
+ memset(s, 0, sizeof(*s));
+
+ if (chr) {
+ s->chr = chr;
+ s->uart = uart;
+
+ // The timer we use to pump more data to the uart
+ s->target_send_timer = timer_new_ms(QEMU_CLOCK_HOST,
+ (QEMUTimerCB *)pebble_control_parse_receive_buffer, s);
+
+
+ // Have the UART send writes to us
+ stm32_uart_set_write_handler(uart, s, pebble_control_write);
+
+ // Save away the receive handlers that the uart installed into chr
+ stm32_uart_get_rcv_handlers(uart, &s->uart_chr_can_read, &s->uart_chr_read, &s->uart_chr_event);
+
+ // Install our own receive handlers into the CharDriver
+ qemu_chr_fe_set_handlers(
+ &chr,
+ pebble_control_can_receive,
+ pebble_control_receive,
+ pebble_control_event,
+ NULL,
+ (void *)s,
+ NULL,
+ true);
+ }
+
+ return s;
+}
+
+// -----------------------------------------------------------------------------------
+PebbleControl *pebble_control_create_stm32f7xx(Chardev *chr, Stm32F7xxUart *uart)
+{
+ PebbleControl *s = malloc(sizeof(PebbleControl));
+ memset(s, 0, sizeof(*s));
+
+ if (chr) {
+ s->chr = chr;
+ s->uart = uart;
+
+ // The timer we use to pump more data to the uart
+ s->target_send_timer = timer_new_ms(QEMU_CLOCK_HOST,
+ (QEMUTimerCB *)pebble_control_parse_receive_buffer, s);
+
+
+ // Have the UART send writes to us
+ stm32f7xx_uart_set_write_handler(uart, s, pebble_control_write);
+
+ // Save away the receive handlers that the uart installed into chr
+ stm32f7xx_uart_get_rcv_handlers(uart, &s->uart_chr_can_read, &s->uart_chr_read, &s->uart_chr_event);
+
+ // Install our own receive handlers into the CharDriver
+ qemu_chr_fe_set_handlers(
+ &chr,
+ pebble_control_can_receive,
+ pebble_control_receive,
+ pebble_control_event,
+ NULL,
+ (void *)s,
+ NULL,
+ true);
+ }
+
+ return s;
+}
+
diff --git a/hw/arm/pebble_control.h b/hw/arm/pebble_control.h
new file mode 100644
index 0000000000000..2530ff34f4067
--- /dev/null
+++ b/hw/arm/pebble_control.h
@@ -0,0 +1,10 @@
+#include "qemu/typedefs.h"
+#include "hw/arm/stm32.h"
+
+typedef struct PebbleControl PebbleControl;
+
+PebbleControl *pebble_control_create(Chardev *chr, Stm32Uart *uart);
+PebbleControl *pebble_control_create_stm32f7xx(Chardev *chr, Stm32F7xxUart *uart);
+
+void pebble_control_send_vibe_notification(PebbleControl *s, bool on);
+
diff --git a/hw/arm/pebble_robert.c b/hw/arm/pebble_robert.c
new file mode 100644
index 0000000000000..7613e8b497679
--- /dev/null
+++ b/hw/arm/pebble_robert.c
@@ -0,0 +1,147 @@
+#include "qemu/osdep.h"
+#include "pebble.h"
+#include "hw/boards.h"
+#include "hw/ssi/ssi.h"
+#include "hw/qdev-properties.h"
+
+const static PblBoardConfig s_board_config_robert_bb = {
+ .dbgserial_uart_index = 2, // USART3
+ .pebble_control_uart_index = 1, // USART2
+ .button_map = {
+ {STM32_GPIOG_INDEX, 6},
+ {STM32_GPIOG_INDEX, 3},
+ {STM32_GPIOG_INDEX, 5},
+ {STM32_GPIOG_INDEX, 4},
+ },
+ .flash_size = 4096, /* Kbytes - larger to aid in development and debugging */
+ .ram_size = 512, /* Kbytes */
+ .num_rows = 228,
+ .num_cols = 200,
+ .num_border_rows = 0,
+ .num_border_cols = 0,
+ .row_major = true,
+ .row_inverted = true,
+ .col_inverted = true,
+ .round_mask = false
+};
+
+
+void pebble_32f7xx_init(MachineState *machine, const PblBoardConfig *board_config)
+{
+ Stm32Gpio *gpio[STM32F7XX_GPIO_COUNT];
+ Stm32F7xxUart *uart[STM32F7XX_UART_COUNT];
+ Stm32Timer *timer[STM32F7XX_TIM_COUNT];
+ Stm32F7xxLPTimer *lptimer;
+ DeviceState *qspi_flash;
+ DeviceState *rtc_dev;
+ SSIBus *spi;
+ SSIBus *qspi;
+ struct stm32f7xx stm;
+ ARMCPU *cpu;
+
+ stm32f7xx_init(board_config->flash_size,
+ board_config->ram_size,
+ machine->kernel_filename,
+ gpio,
+ board_config->gpio_idr_masks,
+ uart,
+ timer,
+ &lptimer,
+ &rtc_dev,
+ 8000000 /*osc_freq*/,
+ 32768 /*osc2_freq*/,
+ &stm,
+ &cpu);
+
+
+ // Set the Pebble specific QEMU settings on the target
+ pebble_set_qemu_settings(rtc_dev);
+
+ /* --- QSPI Flash --------------------------------------------- */
+ qspi = (SSIBus *)qdev_get_child_bus(stm.qspi_dev, "ssi");
+ qspi_flash = ssi_create_slave_no_init(qspi, "mt25q256");
+ qdev_init_nofail(qspi_flash);
+
+ qemu_irq mt25q_cs = qdev_get_gpio_in_named(qspi_flash, SSI_GPIO_CS, 0);
+ qdev_connect_gpio_out_named(stm.qspi_dev, "qspi-gpio-cs", 0, mt25q_cs);
+
+
+ /* --- Display ------------------------------------------------ */
+ spi = (SSIBus *)qdev_get_child_bus(stm.spi_dev[5], "ssi");
+ DeviceState *display_dev = ssi_create_slave_no_init(spi, "pebble-snowy-display");
+
+ /* Create the outputs that the display will drive and associate them with the correct
+ * GPIO input pins on the MCU */
+ qemu_irq display_done_irq = qdev_get_gpio_in((DeviceState *)gpio[STM32_GPIOB_INDEX], 2);
+ qdev_prop_set_ptr(display_dev, "done_output", display_done_irq);
+ qemu_irq display_intn_irq = qdev_get_gpio_in((DeviceState *)gpio[STM32_GPIOB_INDEX], 0);
+ qdev_prop_set_ptr(display_dev, "intn_output", display_intn_irq);
+
+ qdev_prop_set_int32(display_dev, "num_rows", board_config->num_rows);
+ qdev_prop_set_int32(display_dev, "num_cols", board_config->num_cols);
+ qdev_prop_set_int32(display_dev, "num_border_rows", board_config->num_border_rows);
+ qdev_prop_set_int32(display_dev, "num_border_cols", board_config->num_border_cols);
+ qdev_prop_set_uint8(display_dev, "row_major", board_config->row_major);
+ qdev_prop_set_uint8(display_dev, "row_inverted", board_config->row_inverted);
+ qdev_prop_set_uint8(display_dev, "col_inverted", board_config->col_inverted);
+ qdev_prop_set_uint8(display_dev, "round_mask", board_config->round_mask);
+
+ qdev_init_nofail(display_dev);
+
+ /* Connect the correct MCU GPIO outputs to the inputs on the display */
+ qemu_irq display_cs;
+ display_cs = qdev_get_gpio_in_named(display_dev, SSI_GPIO_CS, 0);
+ qdev_connect_gpio_out((DeviceState *)gpio[STM32_GPIOA_INDEX], 4, display_cs);
+
+ qemu_irq display_reset;
+ display_reset = qdev_get_gpio_in_named(display_dev, "reset", 0);
+ qdev_connect_gpio_out((DeviceState *)gpio[STM32_GPIOA_INDEX], 3, display_reset);
+
+ qemu_irq display_sclk;
+ display_sclk = qdev_get_gpio_in_named(display_dev, "sclk", 0);
+ qdev_connect_gpio_out((DeviceState *)gpio[STM32_GPIOA_INDEX], 5, display_sclk);
+
+ qemu_irq backlight_enable;
+ backlight_enable = qdev_get_gpio_in_named(display_dev, "backlight_enable", 0);
+ qdev_connect_gpio_out_named((DeviceState *)gpio[STM32_GPIOG_INDEX], "af", 13,
+ backlight_enable);
+
+ qemu_irq backlight_level;
+ backlight_level = qdev_get_gpio_in_named(display_dev, "backlight_level", 0);
+ qdev_connect_gpio_out_named((DeviceState *)lptimer, "pwm_ratio_changed", 0, // LPTIM1
+ backlight_level);
+
+ qemu_irq display_power;
+ display_power = qdev_get_gpio_in_named(display_dev, "power_ctl", 0);
+//NVIC qdev_connect_gpio_out_named((DeviceState *)cpu->env.nvic, "power_out", 0,
+//NVIC display_power);
+
+ // Connect up the uarts
+ pebble_connect_uarts_stm32f7xx(uart, board_config);
+
+ // Init the buttons
+ pebble_init_buttons(gpio, board_config->button_map);
+
+ // Create the board device and wire it up
+ qemu_irq display_vibe;
+ display_vibe = qdev_get_gpio_in_named(display_dev, "vibe_ctl", 0);
+ DeviceState *board = pebble_init_board(gpio, display_vibe);
+
+ // The GPIO from vibrate drives the vibe input on the board
+ qemu_irq board_vibe_in;
+ board_vibe_in = qdev_get_gpio_in_named(board, "pebble_board_vibe_in", 0);
+ qdev_connect_gpio_out((DeviceState *)gpio[STM32_GPIOD_INDEX], 14, board_vibe_in);
+}
+
+static void pebble_robert_init(MachineState *machine)
+{
+ pebble_32f7xx_init(machine, &s_board_config_robert_bb);
+}
+
+static void pebble_robert_bb_machine_init(MachineClass *mc)
+{
+ mc->desc = "Pebble smartwatch (robert)";
+ mc->init = pebble_robert_init;
+}
+
+DEFINE_MACHINE("pebble-robert-bb", pebble_robert_bb_machine_init)
diff --git a/hw/arm/pebble_silk.c b/hw/arm/pebble_silk.c
new file mode 100644
index 0000000000000..9725dc0daa7e3
--- /dev/null
+++ b/hw/arm/pebble_silk.c
@@ -0,0 +1,127 @@
+#include "qemu/osdep.h"
+#include "pebble.h"
+#include "hw/boards.h"
+#include "hw/ssi/ssi.h"
+#include "hw/qdev-properties.h"
+
+const static PblBoardConfig s_board_config_silk_bb = {
+ .dbgserial_uart_index = 0, // USART1
+ .pebble_control_uart_index = 1, // USART2 -- note this is also used by the DA14681 on real HW
+ .button_map = {
+ { STM32_GPIOC_INDEX, 13, true },
+ { STM32_GPIOD_INDEX, 2, true },
+ { STM32_GPIOH_INDEX, 0, true },
+ { STM32_GPIOH_INDEX, 1, true },
+ },
+ .gpio_idr_masks = {
+ [STM32_GPIOC_INDEX] = 1 << 13,
+ [STM32_GPIOD_INDEX] = 1 << 2,
+ [STM32_GPIOH_INDEX] = (1 << 1) | (1 << 0),
+ },
+ .flash_size = 4096, /* Kbytes - larger to aid in development and debugging */
+ .ram_size = 256, /* Kbytes */
+ .num_rows = 172, /* not currently used */
+ .num_cols = 148, /* not currently used */
+ .num_border_rows = 2, /* not currently used */
+ .num_border_cols = 2, /* not currently used */
+ .row_major = false, /* not currently used */
+ .row_inverted = false, /* not currently used */
+ .col_inverted = false, /* not currently used */
+ .round_mask = false /* not currently used */
+};
+
+void pebble_32f412_init(MachineState *machine, const PblBoardConfig *board_config)
+{
+ Stm32Gpio *gpio[STM32F4XX_GPIO_COUNT];
+ Stm32Uart *uart[STM32F4XX_UART_COUNT];
+ Stm32Timer *timer[STM32F4XX_TIM_COUNT];
+ DeviceState *qspi_flash;
+ DeviceState *rtc_dev;
+ SSIBus *spi;
+ SSIBus *qspi;
+ struct stm32f4xx stm;
+ ARMCPU *cpu;
+
+ // Note: allow for bigger flash images (4MByte) to aid in development and debugging
+ stm32f4xx_init(board_config->flash_size,
+ board_config->ram_size,
+ machine->kernel_filename,
+ gpio,
+ board_config->gpio_idr_masks,
+ uart,
+ timer,
+ &rtc_dev,
+ 8000000 /*osc_freq*/,
+ 32768 /*osc2_freq*/,
+ &stm,
+ &cpu);
+
+
+ // Set the Pebble specific QEMU settings on the target
+ pebble_set_qemu_settings(rtc_dev);
+
+ /* --- QSPI Flash --------------------------------------------- */
+ qspi = (SSIBus *)qdev_get_child_bus(stm.qspi_dev, "ssi");
+ qspi_flash = ssi_create_slave_no_init(qspi, "mx25u6435f");
+ qdev_init_nofail(qspi_flash);
+
+ qemu_irq mx25u_cs = qdev_get_gpio_in_named(qspi_flash, SSI_GPIO_CS, 0);
+ qdev_connect_gpio_out_named(stm.qspi_dev, "qspi-gpio-cs", 0, mx25u_cs);
+
+
+ /* --- Display ------------------------------------------------ */
+ spi = (SSIBus *)qdev_get_child_bus(stm.spi_dev[1], "ssi"); // SPI2
+ DeviceState *display_dev = ssi_create_slave_no_init(spi, "sm-lcd");
+ qdev_prop_set_bit(display_dev, "rotate_display", false);
+ qdev_init_nofail(display_dev);
+
+ qemu_irq backlight_enable;
+ backlight_enable = qdev_get_gpio_in_named(display_dev, "backlight_enable", 0);
+ qdev_connect_gpio_out((DeviceState *)gpio[STM32_GPIOB_INDEX], 13, backlight_enable);
+
+ qemu_irq backlight_level;
+ backlight_level = qdev_get_gpio_in_named(display_dev, "backlight_level", 0);
+ qdev_connect_gpio_out_named((DeviceState *)timer[2], // TIM3
+ "pwm_ratio_changed",
+ 0,
+ backlight_level);
+
+ qemu_irq display_power;
+ display_power = qdev_get_gpio_in_named(display_dev, "power_ctl", 0);
+//NVIC qdev_connect_gpio_out_named((DeviceState *)cpu->env.nvic, "power_out", 0,
+//NVIC display_power);
+
+
+ // Connect up the uarts
+ pebble_connect_uarts(uart, board_config);
+
+ // Init the buttons
+ pebble_init_buttons(gpio, board_config->button_map);
+
+ // Create the board device and wire it up
+ qemu_irq display_vibe;
+ display_vibe = qdev_get_gpio_in_named(display_dev, "vibe_ctl", 0);
+ DeviceState *board = pebble_init_board(gpio, display_vibe);
+
+ // The vibe PWM enables the qemu vibe
+ qemu_irq board_vibe_in;
+ board_vibe_in = qdev_get_gpio_in_named(board, "pebble_board_vibe_in", 0);
+ qdev_connect_gpio_out_named((DeviceState *)timer[13], // TIM14
+ "pwm_enable",
+ 0,
+ board_vibe_in);
+}
+
+static void pebble_silk_init(MachineState *machine)
+{
+ pebble_32f412_init(machine, &s_board_config_silk_bb);
+}
+
+static void pebble_silk_bb_machine_init(MachineClass *mc)
+{
+ mc->desc = "Pebble smartwatch (silk)";
+ mc->init = pebble_silk_init;
+}
+
+DEFINE_MACHINE("pebble-silk-bb", pebble_silk_bb_machine_init)
+
diff --git a/hw/arm/stm32.c b/hw/arm/stm32.c
new file mode 100644
index 0000000000000..ed883a7c5d9ad
--- /dev/null
+++ b/hw/arm/stm32.c
@@ -0,0 +1,83 @@
+/*
+ * STM32 Microcontroller
+ *
+ * Copyright (C) 2010 Andre Beckus
+ *
+ * Implementation based on ST Microelectronics "RM0008 Reference Manual Rev 10"
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, see .
+ */
+
+#include "qemu/osdep.h"
+#include "hw/arm/stm32.h"
+#include "exec/address-spaces.h"
+#include "exec/gdbstub.h"
+#include "hw/qdev-properties.h"
+
+/* DEFINITIONS */
+
+/* COMMON */
+
+void stm32_hw_warn(const char *fmt, ...)
+{
+ va_list ap;
+
+ va_start(ap, fmt);
+ fprintf(stderr, "qemu stm32: hardware warning: ");
+ vfprintf(stderr, fmt, ap);
+ fprintf(stderr, "\n");
+ cpu_dump_state(first_cpu, stderr, 0);
+ va_end(ap);
+}
+
+
+void stm32_create_uart_dev(
+ Object *stm32_container,
+ stm32_periph_t periph,
+ int uart_num,
+ DeviceState *rcc_dev,
+ DeviceState **gpio_dev,
+ DeviceState *afio_dev,
+ hwaddr addr,
+ qemu_irq irq)
+{
+ char child_name[8];
+ DeviceState *uart_dev = qdev_create(NULL, TYPE_STM32_UART);
+ QDEV_PROP_SET_PERIPH_T(uart_dev, "periph", periph);
+ qdev_prop_set_ptr(uart_dev, "stm32_rcc", rcc_dev);
+ qdev_prop_set_ptr(uart_dev, "stm32_gpio", gpio_dev);
+ qdev_prop_set_ptr(uart_dev, "stm32_afio", afio_dev);
+ snprintf(child_name, sizeof(child_name), "uart[%i]", uart_num);
+ object_property_add_child(stm32_container, child_name, OBJECT(uart_dev), NULL);
+ stm32_init_periph(uart_dev, periph, addr, irq);
+}
+
+
+/* INITIALIZATION */
+
+/* I copied sysbus_create_varargs and split it into two parts. This is so that
+ * you can set properties before calling the device init function.
+ */
+
+DeviceState *stm32_init_periph(DeviceState *dev, stm32_periph_t periph,
+ hwaddr addr, qemu_irq irq)
+{
+ qdev_init_nofail(dev);
+ sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, addr);
+ if (irq) {
+ sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, irq);
+ }
+ return dev;
+}
+
diff --git a/hw/arm/stm32_clktree.c b/hw/arm/stm32_clktree.c
new file mode 100644
index 0000000000000..cd81887230ca8
--- /dev/null
+++ b/hw/arm/stm32_clktree.c
@@ -0,0 +1,301 @@
+/*
+ * Basic Clock Tree Building Blocks
+ *
+ * Copyright (C) 2012 Andre Beckus
+ *
+ * Source code roughly based on omap_clk.c
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, see .
+ */
+
+#include "qemu/osdep.h"
+#include "hw/hw.h"
+#include "hw/arm/stm32_clktree.h"
+#include "qemu/host-utils.h"
+
+
+/* DEFINITIONS*/
+
+/* See README for DEBUG documentation */
+//#define DEBUG_CLKTREE
+
+
+/* Helper to:
+ * 1) Add a value to an array.
+ * 2) Increment the array size count.
+ * 3) Make sure the array does not overflow.
+ */
+#define CLKTREE_ADD_LINK(array, count, value, array_size) \
+ (array)[(count)++] = (value); \
+ assert((count) <= (array_size));
+
+
+struct Clk {
+ const char *name;
+
+ bool enabled;
+
+ uint32_t input_freq, output_freq, max_output_freq;
+
+ uint16_t multiplier, divisor;
+
+ unsigned user_count;
+ qemu_irq user[CLKTREE_MAX_IRQ]; /* Who to notify on change */
+
+ unsigned output_count;
+ struct Clk *output[CLKTREE_MAX_OUTPUT];
+
+ unsigned input_count;
+ int selected_input;
+ struct Clk *input[CLKTREE_MAX_INPUT];
+};
+
+static void clktree_recalc_output_freq(Clk clk);
+
+
+
+
+/* HELPER FUNCTIONS */
+
+static Clk clktree_get_input_clk(Clk clk)
+{
+ return clk->input[clk->selected_input + 1];
+}
+
+#ifdef DEBUG_CLKTREE
+
+static void clktree_print_state(Clk clk)
+{
+ Clk input_clk = clktree_get_input_clk(clk);
+
+ printf("CLKTREE: %s Output Change (SrcClk:%s InFreq:%lu OutFreq:%lu Mul:%u Div:%u Enabled:%c)\n",
+ clk->name,
+ input_clk ? input_clk->name : "None",
+ (unsigned long)clk->input_freq,
+ (unsigned long)clk->output_freq,
+ (unsigned)clk->multiplier,
+ (unsigned)clk->divisor,
+ clk->enabled ? '1' : '0');
+}
+#endif
+
+static void clktree_set_input_freq(Clk clk, uint32_t input_freq)
+{
+ clk->input_freq = input_freq;
+
+ clktree_recalc_output_freq(clk);
+}
+
+/* Recalculates the output frequency based on the clock's input_freq variable.
+ */
+static void clktree_recalc_output_freq(Clk clk) {
+ int i;
+ Clk next_clk, next_clk_input;
+ uint32_t new_output_freq;
+
+ /* Get the output frequency, or 0 if the output is disabled. */
+ new_output_freq = clk->enabled ?
+ muldiv64(clk->input_freq,
+ clk->multiplier,
+ clk->divisor)
+ : 0;
+
+ /* if the frequency has changed. */
+ if(new_output_freq != clk->output_freq) {
+ clk->output_freq = new_output_freq;
+
+#ifdef DEBUG_CLKTREE
+ clktree_print_state(clk);
+#endif
+
+ /* Check the new frequency against the max frequency. */
+ if(new_output_freq > clk->max_output_freq) {
+ fprintf(stderr, "%s: Clock %s output frequency (%d Hz) exceeds max frequency (%d Hz).\n",
+ __FUNCTION__,
+ clk->name,
+ new_output_freq,
+ clk->max_output_freq);
+ }
+
+ /* Notify users of change. */
+ for(i=0; i < clk->user_count; i++) {
+ qemu_set_irq(clk->user[i], 1);
+ }
+
+ /* Propagate the frequency change to the child clocks */
+ for(i=0; i < clk->output_count; i++) {
+ next_clk = clk->output[i];
+ assert(next_clk != NULL);
+
+ /* Only propagate the change if the child has selected the current
+ * clock as input.
+ */
+ next_clk_input = clktree_get_input_clk(next_clk);
+ if(next_clk_input == clk) {
+ /* Recursively propagate changes. The clock tree should not be
+ * too deep, so we shouldn't have to recurse too many times.
+ */
+ clktree_set_input_freq(next_clk, new_output_freq);
+ }
+ }
+ }
+}
+
+
+/* Generic create routine used by the public create routines. */
+static Clk clktree_create_generic(
+ const char *name,
+ uint16_t multiplier,
+ uint16_t divisor,
+ bool enabled)
+{
+ Clk clk = (Clk)g_malloc(sizeof(struct Clk));
+
+ clk->name = name;
+
+ clk->input_freq = 0;
+ clk->output_freq = 0;
+ clk->max_output_freq = CLKTREE_NO_MAX_FREQ;
+
+ clk->multiplier = multiplier;
+ clk->divisor = divisor;
+
+ clk->enabled = enabled;
+
+ clk->user_count = 0;
+
+ clk->output_count = 0;
+
+ clk->input_count = 1;
+ clk->input[0] = NULL;
+ clk->selected_input = CLKTREE_NO_INPUT;
+
+ return clk;
+}
+
+
+
+
+
+
+
+
+
+/* PUBLIC FUNCTIONS */
+bool clktree_is_enabled(Clk clk)
+{
+ return clk->enabled;
+}
+
+uint32_t clktree_get_output_freq(Clk clk)
+{
+ return clk->output_freq;
+}
+
+void clktree_adduser(Clk clk, qemu_irq user)
+{
+ CLKTREE_ADD_LINK(
+ clk->user,
+ clk->user_count,
+ user,
+ CLKTREE_MAX_IRQ);
+}
+
+
+Clk clktree_create_src_clk(
+ const char *name,
+ uint32_t src_freq,
+ bool enabled)
+{
+ Clk clk;
+
+ clk = clktree_create_generic(name, 1, 1, enabled);
+
+ clktree_set_input_freq(clk, src_freq);
+
+ return clk;
+}
+
+
+Clk clktree_create_clk(
+ const char *name,
+ uint16_t multiplier,
+ uint16_t divisor,
+ bool enabled,
+ uint32_t max_output_freq,
+ int selected_input,
+ ...)
+{
+ va_list input_clks;
+ Clk clk, input_clk;
+
+ clk = clktree_create_generic(name, multiplier, divisor, enabled);
+
+ /* Add the input clock connections. */
+ va_start(input_clks, selected_input);
+ while((input_clk = va_arg(input_clks, Clk)) != NULL) {
+ CLKTREE_ADD_LINK(
+ clk->input,
+ clk->input_count,
+ input_clk,
+ CLKTREE_MAX_INPUT);
+
+ CLKTREE_ADD_LINK(
+ input_clk->output,
+ input_clk->output_count,
+ clk,
+ CLKTREE_MAX_OUTPUT);
+ }
+
+ clktree_set_selected_input(clk, selected_input);
+
+ return clk;
+}
+
+
+void clktree_set_scale(Clk clk, uint16_t multiplier, uint16_t divisor)
+{
+ clk->multiplier = multiplier;
+ clk->divisor = divisor;
+
+ clktree_recalc_output_freq(clk);
+}
+
+
+void clktree_set_enabled(Clk clk, bool enabled)
+{
+ clk->enabled = enabled;
+
+ clktree_recalc_output_freq(clk);
+}
+
+
+void clktree_set_selected_input(Clk clk, int selected_input)
+{
+ uint32_t input_freq;
+
+ assert((selected_input + 1) < clk->input_count);
+
+ clk->selected_input = selected_input;
+
+ /* Get the input clock frequency. If there is no input, this should be 0.
+ */
+ if(selected_input > -1) {
+ input_freq = clktree_get_input_clk(clk)->output_freq;
+ } else {
+ input_freq = 0;
+ }
+
+ clktree_set_input_freq(clk, input_freq);
+}
diff --git a/hw/arm/stm32_exti.c b/hw/arm/stm32_exti.c
new file mode 100644
index 0000000000000..3112ffb77c5b7
--- /dev/null
+++ b/hw/arm/stm32_exti.c
@@ -0,0 +1,400 @@
+/*
+ * STM32 Microcontroller EXTI (External Interrupt/Event Controller) module
+ *
+ * Copyright (C) 2010 Andre Beckus
+ *
+ * Implementation based on ST Microelectronics "RM0008 Reference Manual Rev 10"
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, see .
+ */
+
+#include "qemu/osdep.h"
+#include "hw/arm/stm32.h"
+#include "hw/irq.h"
+#include "hw/qdev-properties.h"
+#include "hw/hw.h"
+
+
+
+
+/* DEFINITIONS*/
+
+#define EXTI_IMR_OFFSET 0x00
+
+#define EXTI_EMR_OFFSET 0x04
+
+#define EXTI_RTSR_OFFSET 0x08
+
+#define EXTI_FTSR_OFFSET 0x0c
+
+#define EXTI_SWIER_OFFSET 0x10
+
+#define EXTI_PR_OFFSET 0x14
+
+/* Some devices have fewer lines, but it doesn't hurt to handle the maximum
+ possible. */
+#define EXTI_LINE_COUNT 23
+
+/* The number of IRQ connections to the NVIC */
+#define EXTI_IRQ_COUNT 14
+
+
+struct Stm32Exti {
+ /* Inherited */
+ SysBusDevice busdev;
+
+ /* Properties */
+ /* Array of Stm32Gpio pointers (one for each GPIO). The QEMU property
+ * library expects this to be a void pointer. */
+ void *stm32_gpio_prop;
+
+ /* Private */
+ MemoryRegion iomem;
+
+ /* Copy of stm32_gpio_prop correctly typed as an array of Stm32Gpio
+ * pointers. */
+ stm32f2xx_gpio **stm32_gpio;
+
+ uint32_t
+ EXTI_IMR,
+ EXTI_RTSR,
+ EXTI_FTSR,
+ EXTI_SWIER,
+ EXTI_PR;
+
+ qemu_irq irq[EXTI_IRQ_COUNT];
+};
+
+static void stm32_exti_change_EXTI_PR_bit(Stm32Exti *s, unsigned pos,
+ unsigned new_bit_value);
+
+
+
+/* HELPER FUNCTIONS */
+
+/* Call when the EXTI shouldbe tri */
+static void stm32_exti_trigger(Stm32Exti *s, int line)
+{
+ /* Make sure the interrupt for this EXTI line has been enabled. */
+ if(IS_BIT_SET(s->EXTI_IMR, line)) {
+ /* Set the Pending flag for this line, which will trigger the interrupt
+ * (if the flag isn't already set). */
+ stm32_exti_change_EXTI_PR_bit(s, line, 1);
+ }
+}
+
+/* We will assume that this handler will only be called if the pin actually
+ * changed state. */
+static void stm32_exti_gpio_in_handler(void *opaque, int n, int level)
+{
+ Stm32Exti *s = (Stm32Exti *)opaque;
+ unsigned pin = n;
+
+ assert(pin < EXTI_LINE_COUNT);
+
+ /* Check the level - if it is rising, then trigger an interrupt if the
+ * corresponding Rising Trigger Selection Register flag is set. Otherwise,
+ * trigger if the Falling Trigger Selection Register flag is set.
+ */
+ if((level && GET_BIT_VALUE(s->EXTI_RTSR, pin)) ||
+ (!level && GET_BIT_VALUE(s->EXTI_FTSR, pin))) {
+ stm32_exti_trigger(s, pin);
+ }
+}
+
+
+
+
+/* REGISTER IMPLEMENTATION */
+
+/* Update a Trigger Selection Register (both the Rising and Falling TSR
+ * registers are handled by this routine).
+ */
+static void update_TSR_bit(Stm32Exti *s, uint32_t *tsr_register, unsigned pos,
+ unsigned new_bit_value)
+{
+ assert((new_bit_value == 0) || (new_bit_value == 1));
+ assert(pos < EXTI_LINE_COUNT);
+
+ if(new_bit_value != GET_BIT_VALUE(*tsr_register, pos)) {
+ /* According to the documentation, the Pending register is cleared when
+ * the "sensitivity of the edge detector changes. Is this right??? */
+ stm32_exti_change_EXTI_PR_bit(s, pos, 0);
+ }
+ CHANGE_BIT(*tsr_register, pos, new_bit_value);
+}
+
+/* Update the Pending Register. This will trigger an interrupt if a bit is
+ * set.
+ */
+static void stm32_exti_change_EXTI_PR_bit(Stm32Exti *s, unsigned pos,
+ unsigned new_bit_value)
+{
+ unsigned old_bit_value;
+
+ assert((new_bit_value == 0) || (new_bit_value == 1));
+ assert(pos < EXTI_LINE_COUNT);
+
+ old_bit_value = GET_BIT_VALUE(s->EXTI_PR, pos);
+
+ /* Only continue if the PR bit is actually changing value. */
+ if(new_bit_value != old_bit_value) {
+ /* If the bit is being reset, the corresponding Software Interrupt Event
+ * Register bit is automatically reset.
+ */
+ if(!new_bit_value) {
+ RESET_BIT(s->EXTI_SWIER, pos);
+ }
+
+ /* Update the IRQ for this EXTI line. Some lines share the same
+ * NVIC IRQ.
+ */
+ if(pos <= 4) {
+ /* EXTI0 - EXTI4 each have their own NVIC IRQ */
+ qemu_set_irq(s->irq[pos], new_bit_value);
+ } else if(pos <= 9) {
+ /* EXTI5 - EXTI9 share an NVIC IRQ */
+ qemu_set_irq(s->irq[5], new_bit_value);
+ } else if(pos <= 15) {
+ /* EXTI10 - EXTI15 share an NVIC IRQ */
+ qemu_set_irq(s->irq[6], new_bit_value);
+ } else if(pos == 16) {
+ /* PVD IRQ */
+ qemu_set_irq(s->irq[7], new_bit_value);
+ } else if(pos == 17) {
+ /* RTCAlarm IRQ */
+ qemu_set_irq(s->irq[8], new_bit_value);
+ } else if(pos == 18) {
+ /* OTG_FS_WKUP IRQ */
+ qemu_set_irq(s->irq[9], new_bit_value);
+ } else if(pos == 19) {
+ /* ETH_WKUP IRQ */
+ qemu_set_irq(s->irq[10], new_bit_value);
+ } else if(pos == 20) {
+ /* OTG_HS_WKUP IRQ */
+ qemu_set_irq(s->irq[11], new_bit_value);
+ } else if(pos == 21) {
+ /* TAMP_STAMP IRQ */
+ qemu_set_irq(s->irq[12], new_bit_value);
+ } else if(pos == 22) {
+ /* RTC_WKUP IRQ */
+ qemu_set_irq(s->irq[13], new_bit_value);
+ } else {
+ assert(false);
+ }
+
+ /* Update the register. */
+ CHANGE_BIT(s->EXTI_PR, pos, new_bit_value);
+ }
+}
+
+
+static uint64_t stm32_exti_readw(void *opaque, hwaddr offset)
+{
+ Stm32Exti *s = (Stm32Exti *)opaque;
+
+ switch (offset) {
+ case EXTI_IMR_OFFSET:
+ return s->EXTI_IMR;
+ case EXTI_EMR_OFFSET:
+ /* Do nothing, events are not implemented yet. */
+ return 0;
+ case EXTI_RTSR_OFFSET:
+ return s->EXTI_RTSR;
+ case EXTI_FTSR_OFFSET:
+ return s->EXTI_FTSR;
+ case EXTI_SWIER_OFFSET:
+ return s->EXTI_SWIER;
+ case EXTI_PR_OFFSET:
+ return s->EXTI_PR;
+ default:
+ STM32_BAD_REG(offset, WORD_ACCESS_SIZE);
+ return 0;
+ }
+}
+
+
+static void stm32_exti_writew(void *opaque, hwaddr offset, uint64_t value)
+{
+ Stm32Exti *s = (Stm32Exti *)opaque;
+
+ int pos, bit_value;
+
+ if(offset <= EXTI_EMR_OFFSET) {
+ switch (offset) {
+ case EXTI_IMR_OFFSET:
+ s->EXTI_IMR = value;
+ break;
+ case EXTI_EMR_OFFSET:
+ /* Do nothing, events are not implemented yet.
+ * But we don't want to throw an error. */
+ break;
+ default:
+ STM32_BAD_REG(offset, WORD_ACCESS_SIZE);
+ break;
+ }
+ } else {
+ /* These registers all contain one bit per EXTI line. We will loop
+ * through each line and then update each bit in the appropriate
+ * register.
+ */
+ for(pos = 0; pos < EXTI_LINE_COUNT; pos++) {
+ bit_value = GET_BIT_VALUE(value, pos);
+
+ switch (offset) {
+ case EXTI_RTSR_OFFSET:
+ update_TSR_bit(s, &(s->EXTI_RTSR), pos, bit_value);
+ break;
+ case EXTI_FTSR_OFFSET:
+ update_TSR_bit(s, &(s->EXTI_FTSR), pos, bit_value);
+ break;
+ case EXTI_SWIER_OFFSET:
+ /* If the Software Interrupt Event Register is changed
+ * from 0 to 1, trigger an interrupt. Changing the
+ * bit to 0 does nothing. */
+ if(bit_value == 1) {
+ if(GET_BIT_VALUE(s->EXTI_SWIER, pos) == 0) {
+ SET_BIT(s->EXTI_SWIER, pos);
+ stm32_exti_trigger(s, pos);
+ }
+ }
+ break;
+ case EXTI_PR_OFFSET:
+ /* When a 1 is written to a PR bit, it actually clears the
+ * PR bit. */
+ if(bit_value == 1) {
+ stm32_exti_change_EXTI_PR_bit(s, pos, 0);
+ }
+ break;
+ default:
+ STM32_BAD_REG(offset, WORD_ACCESS_SIZE);
+ break;
+ }
+ }
+ }
+}
+
+static uint64_t stm32_exti_read(void *opaque, hwaddr offset, unsigned size)
+{
+ switch(size) {
+ case WORD_ACCESS_SIZE:
+ return stm32_exti_readw(opaque, offset);
+ default:
+ STM32_BAD_REG(offset, size);
+ return 0;
+ }
+}
+
+static void stm32_exti_write(void *opaque, hwaddr offset, uint64_t value,
+ unsigned size)
+{
+ switch(size) {
+ case WORD_ACCESS_SIZE:
+ stm32_exti_writew(opaque, offset, value);
+ break;
+ default:
+ STM32_BAD_REG(offset, size);
+ break;
+ }
+}
+
+static const MemoryRegionOps stm32_exti_ops = {
+ .read = stm32_exti_read,
+ .write = stm32_exti_write,
+ .endianness = DEVICE_NATIVE_ENDIAN
+};
+
+static void stm32_exti_reset(DeviceState *dev)
+{
+ Stm32Exti *s = STM32_EXTI(dev);
+
+ s->EXTI_IMR = 0x00000000;
+ s->EXTI_RTSR = 0x00000000;
+ s->EXTI_FTSR = 0x00000000;
+ s->EXTI_SWIER = 0x00000000;
+ s->EXTI_PR = 0x00000000;
+}
+
+
+
+/* PUBLIC FUNCTIONS */
+
+void stm32_exti_set_gpio(Stm32Exti *s, unsigned exti_line, const uint8_t gpio_index)
+{
+ assert(exti_line < EXTI_LINE_COUNT);
+
+ /* Call the GPIO module with the EXTI lines IRQ handler. */
+ f2xx_gpio_exti_set(s->stm32_gpio[gpio_index], exti_line, qdev_get_gpio_in(DEVICE(&s->busdev), exti_line));
+}
+
+void stm32_exti_reset_gpio(Stm32Exti *s, unsigned exti_line, const uint8_t gpio_index)
+{
+ assert(exti_line < EXTI_LINE_COUNT);
+
+ /* Call the GPIO module to clear its IRQ assignment. */
+ f2xx_gpio_exti_set(s->stm32_gpio[gpio_index], exti_line, NULL);
+}
+
+
+
+/* DEVICE INITIALIZATION */
+
+static void stm32_exti_realize(DeviceState *obj, Error **pError)
+{
+ int i;
+
+ Stm32Exti *s = STM32_EXTI(obj);
+ SysBusDevice *dev = SYS_BUS_DEVICE(obj);
+
+ s->stm32_gpio = (stm32f2xx_gpio **)s->stm32_gpio_prop;
+
+ memory_region_init_io(&s->iomem, OBJECT(s), &stm32_exti_ops, s,
+ "exti", 0x03ff);
+ sysbus_init_mmio(dev, &s->iomem);
+
+ for(i = 0; i < EXTI_IRQ_COUNT; i++) {
+ sysbus_init_irq(dev, &s->irq[i]);
+ }
+
+ qdev_init_gpio_in(DEVICE(dev), stm32_exti_gpio_in_handler, EXTI_LINE_COUNT);
+}
+
+static Property stm32_exti_properties[] = {
+ DEFINE_PROP_PTR("stm32_gpio", Stm32Exti, stm32_gpio_prop),
+ DEFINE_PROP_END_OF_LIST()
+};
+
+static void stm32_exti_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+ SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
+
+ dc->realize = stm32_exti_realize;
+ dc->reset = stm32_exti_reset;
+ device_class_set_props(dc, stm32_exti_properties);
+}
+
+static TypeInfo stm32_exti_info = {
+ .name = TYPE_STM32_EXTI,
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(Stm32Exti),
+ .class_init = stm32_exti_class_init
+};
+
+static void stm32_exti_register_types(void)
+{
+ type_register_static(&stm32_exti_info);
+}
+
+type_init(stm32_exti_register_types)
diff --git a/hw/arm/stm32_flash.c b/hw/arm/stm32_flash.c
new file mode 100644
index 0000000000000..393c9739bacce
--- /dev/null
+++ b/hw/arm/stm32_flash.c
@@ -0,0 +1,108 @@
+/*
+ * STM32 Microcontroller Flash Memory
+ * The STM32 family stores its Flash memory at some base address in memory
+ * (0x08000000 for medium density devices), and then aliases it to the
+ * boot memory space, which starts at 0x00000000 (the System Memory can also
+ * be aliased to 0x00000000, but this is not implemented here). The processor
+ * executes the code in the aliased memory at 0x00000000, but we need to
+ * implement the "real" flash memory as well. This "real" flash memory will
+ * pass reads through to the memory at 0x00000000, which is where QEMU loads
+ * the executable image. Note that this is opposite of real hardware, where the
+ * memory at 0x00000000 passes reads through the "real" flash memory, but it
+ * works the same either way.
+ *
+ * Copyright (C) 2010 Andre Beckus
+ *
+ * Implementation based on ST Microelectronics "RM0008 Reference Manual Rev 10"
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, see .
+ */
+
+#include "qemu/osdep.h"
+#include "hw/arm/stm32.h"
+#include "hw/hw.h"
+#include "hw/qdev-properties.h"
+//#include "exec-memory.h"
+
+typedef struct {
+ SysBusDevice busdev;
+ MemoryRegion iomem;
+ uint32_t size;
+} Stm32Flash;
+
+static uint64_t stm32_flash_read(void *opaque, hwaddr offset, unsigned size)
+{
+ uint32_t v = 0;
+
+ /* Pass the read through to base memory at 0x00000000 where QEMU has loaded
+ * the executable image.
+ */
+ cpu_physical_memory_read(offset, (uint8_t *)&v, size);
+ return v;
+}
+
+static void stm32_flash_write(void *opaque, hwaddr offset, uint64_t value,
+ unsigned size)
+{
+ /* Flash is treated as read only memory. */
+ hw_error("stm32_flash: Attempted to write flash memory (read only)");
+}
+
+static const MemoryRegionOps stm32_flash_ops = {
+ .read = stm32_flash_read,
+ .write = stm32_flash_write,
+ .endianness = DEVICE_NATIVE_ENDIAN
+};
+
+static void stm32_flash_init(Object *obj)
+{
+ Stm32Flash *s = STM32_FLASH(obj);
+ SysBusDevice *sbd = SYS_BUS_DEVICE(obj);
+
+ memory_region_init_io(
+ &s->iomem,
+ OBJECT(s),
+ &stm32_flash_ops,
+ &s,
+ "stm32_flash",
+ s->size);
+ sysbus_init_mmio(sbd, &s->iomem);
+}
+
+static Property stm32_flash_properties[] = {
+ DEFINE_PROP_UINT32("size", Stm32Flash, size, 0),
+ DEFINE_PROP_END_OF_LIST(),
+};
+
+static void stm32_flash_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+
+ device_class_set_props(dc, stm32_flash_properties);
+}
+
+static TypeInfo stm32_flash_info = {
+ .name = TYPE_STM32_FLASH,
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(Stm32Flash),
+ .instance_init = stm32_flash_init,
+ .class_init = stm32_flash_class_init,
+};
+
+static void stm32_flash_register_types(void)
+{
+ type_register_static(&stm32_flash_info);
+}
+
+type_init(stm32_flash_register_types)
diff --git a/hw/arm/stm32_p103.c b/hw/arm/stm32_p103.c
new file mode 100644
index 0000000000000..3c2c3f497ff43
--- /dev/null
+++ b/hw/arm/stm32_p103.c
@@ -0,0 +1,135 @@
+/*
+ * Olimex STM32 P103 Development Board
+ *
+ * Copyright (C) 2010 Andre Beckus
+ *
+ * Implementation based on
+ * Olimex "STM-P103 Development Board Users Manual Rev. A, April 2008"
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, see .
+ */
+
+#include "qemu/osdep.h"
+#include "stm32f1xx.h"
+#include "hw/sysbus.h"
+#include "hw/arm/armv7m.h"
+#include "ui/console.h"
+#include "sysemu/sysemu.h"
+#include "hw/boards.h"
+#include "hw/irq.h"
+
+
+typedef struct {
+ Stm32 *stm32;
+ Stm32Gpio *stm32_gpio[STM32F1XX_GPIO_COUNT];
+ Stm32Uart *stm32_uart[STM32_UART_COUNT];
+
+ bool last_button_pressed;
+ qemu_irq button_irq;
+} Stm32P103;
+
+
+
+
+static void led_irq_handler(void *opaque, int n, int level)
+{
+ /* There should only be one IRQ for the LED */
+ assert(n == 0);
+
+ /* Assume that the IRQ is only triggered if the LED has changed state.
+ * If this is not correct, we may get multiple LED Offs or Ons in a row.
+ */
+ switch (level) {
+ case 0:
+ printf("LED Off\n");
+ break;
+ case 1:
+ printf("LED On\n");
+ break;
+ }
+}
+
+static void stm32_p103_key_event(void *opaque, int keycode)
+{
+ Stm32P103 *s = (Stm32P103 *)opaque;
+ bool make;
+ int core_keycode;
+
+ if((keycode & 0x80) == 0) {
+ make = true;
+ core_keycode = keycode;
+ } else {
+ make = false;
+ core_keycode = keycode & 0x7f;
+ }
+
+ /* Responds when a "B" key press is received.
+ * Inside the monitor, you can type "sendkey b"
+ */
+ if(core_keycode == 0x30) {
+ if(make) {
+ if(!s->last_button_pressed) {
+ qemu_irq_raise(s->button_irq);
+ s->last_button_pressed = true;
+ }
+ } else {
+ if(s->last_button_pressed) {
+ qemu_irq_lower(s->button_irq);
+ s->last_button_pressed = false;
+ }
+ }
+ }
+ return;
+
+}
+
+
+static void stm32_p103_init(MachineState *machine) {
+
+ const char* kernel_filename = machine->kernel_filename;
+ qemu_irq *led_irq;
+ Stm32P103 *s;
+
+ s = (Stm32P103 *)g_malloc0(sizeof(Stm32P103));
+
+ stm32f1xx_init(/*flash_size in bytes */ 128 * 1024,
+ /*ram_size in bytes */ 20 * 1024,
+ kernel_filename,
+ s->stm32_gpio,
+ s->stm32_uart,
+ 8000000,
+ 32768);
+
+ /* Connect LED to GPIO C pin 12 */
+ led_irq = qemu_allocate_irqs(led_irq_handler, NULL, 1);
+ qdev_connect_gpio_out((DeviceState *)s->stm32_gpio[STM32_GPIOC_INDEX], 12, led_irq[0]);
+
+ /* Connect button to GPIO A pin 0 */
+ s->button_irq = qdev_get_gpio_in((DeviceState *)s->stm32_gpio[STM32_GPIOA_INDEX], 0);
+ qemu_add_kbd_event_handler(stm32_p103_key_event, s);
+
+ /* Connect RS232 to UART */
+ stm32_uart_connect(
+ s->stm32_uart[STM32_UART2_INDEX],
+ serial_hd(0),
+ STM32_USART2_NO_REMAP);
+}
+
+static void stm32_p103_machine_init(MachineClass *mc)
+{
+ mc->desc = "Olimex STM32 p103 Dev Board";
+ mc->init = stm32_p103_init;
+}
+
+DEFINE_MACHINE("stm32-p103", stm32_p103_machine_init)
\ No newline at end of file
diff --git a/hw/arm/stm32_rcc.c b/hw/arm/stm32_rcc.c
new file mode 100644
index 0000000000000..f9841d3b0cd3e
--- /dev/null
+++ b/hw/arm/stm32_rcc.c
@@ -0,0 +1,51 @@
+#include "qemu/osdep.h"
+#include "hw/arm/stm32.h"
+#include "hw/arm/stm32_clktree.h"
+#include "stm32f2xx_rcc.h"
+
+/* PUBLIC FUNCTIONS */
+
+void stm32_rcc_check_periph_clk(Stm32Rcc *s, stm32_periph_t periph)
+{
+ Clk clk = s->PERIPHCLK[periph];
+
+ assert(clk != NULL);
+
+ if(!clktree_is_enabled(clk)) {
+ /* I assume writing to a peripheral register while the peripheral clock
+ * is disabled is a bug and give a warning to unsuspecting programmers.
+ * When I made this mistake on real hardware the write had no effect.
+ */
+ stm32_hw_warn("Warning: You are attempting to use the stm32_rcc peripheral %d while "
+ "its clock is disabled.\n", periph);
+ }
+}
+
+void stm32_rcc_set_periph_clk_irq(
+ Stm32Rcc *s,
+ stm32_periph_t periph,
+ qemu_irq periph_irq)
+{
+ Stm32f2xxRcc*v = STM32F2XX_RCC(s);
+ Clk clk2 = v->PERIPHCLK[periph];
+
+ assert(clk2 != NULL);
+
+ clktree_adduser(clk2, periph_irq);
+}
+
+uint32_t stm32_rcc_get_periph_freq(
+ Stm32Rcc *s,
+ stm32_periph_t periph)
+{
+ Clk clk;
+
+ Stm32f2xxRcc*v = STM32F2XX_RCC(s);
+ clk = v->PERIPHCLK[periph];
+
+ assert(clk != NULL);
+
+ return clktree_get_output_freq(clk);
+}
+
+
diff --git a/hw/arm/stm32_rcc.h b/hw/arm/stm32_rcc.h
new file mode 100644
index 0000000000000..c24b0cf98124f
--- /dev/null
+++ b/hw/arm/stm32_rcc.h
@@ -0,0 +1,20 @@
+#include "hw/sysbus.h"
+#include "hw/arm/stm32_clktree.h"
+#include "hw/arm/stm32.h"
+
+/** RCC Base data structure */
+struct Stm32Rcc {
+ /* Inherited */
+ SysBusDevice busdev;
+
+ /* Properties */
+ uint32_t osc_freq;
+ uint32_t osc32_freq;
+
+ /* Private */
+ MemoryRegion iomem;
+ qemu_irq irq;
+
+ /* Peripheral clocks */
+ Clk PERIPHCLK[];
+};
diff --git a/hw/arm/stm32f1xx.c b/hw/arm/stm32f1xx.c
new file mode 100644
index 0000000000000..be33a529b871b
--- /dev/null
+++ b/hw/arm/stm32f1xx.c
@@ -0,0 +1,199 @@
+/*
+ * STM32 Microcontroller
+ *
+ * Copyright (C) 2010 Andre Beckus
+ *
+ * Implementation based on ST Microelectronics "RM0008 Reference Manual Rev 10"
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, see .
+ */
+
+#include "qemu/osdep.h"
+#include "hw/arm/stm32.h"
+#include "stm32f1xx.h"
+#include "exec/address-spaces.h"
+#include "hw/qdev-properties.h"
+
+/* PERIPHERALS */
+
+static const char *stm32f1xx_periph_name_arr[] = {
+ ENUM_STRING(STM32F1XX_RCC),
+ ENUM_STRING(STM32F1XX_GPIOA),
+ ENUM_STRING(STM32F1XX_GPIOB),
+ ENUM_STRING(STM32F1XX_GPIOC),
+ ENUM_STRING(STM32F1XX_GPIOD),
+ ENUM_STRING(STM32F1XX_GPIOE),
+ ENUM_STRING(STM32F1XX_GPIOF),
+ ENUM_STRING(STM32F1XX_GPIOG),
+ ENUM_STRING(STM32F1XX_AFIO),
+ ENUM_STRING(STM32F1XX_UART1),
+ ENUM_STRING(STM32F1XX_UART2),
+ ENUM_STRING(STM32F1XX_UART3),
+ ENUM_STRING(STM32F1XX_UART4),
+ ENUM_STRING(STM32F1XX_UART5),
+ ENUM_STRING(STM32F1XX_ADC1),
+ ENUM_STRING(STM32F1XX_ADC2),
+ ENUM_STRING(STM32F1XX_ADC3),
+ ENUM_STRING(STM32F1XX_DAC),
+ ENUM_STRING(STM32F1XX_TIM1),
+ ENUM_STRING(STM32F1XX_TIM2),
+ ENUM_STRING(STM32F1XX_TIM3),
+ ENUM_STRING(STM32F1XX_TIM4),
+ ENUM_STRING(STM32F1XX_TIM5),
+ ENUM_STRING(STM32F1XX_TIM6),
+ ENUM_STRING(STM32F1XX_TIM7),
+ ENUM_STRING(STM32F1XX_TIM8),
+ ENUM_STRING(STM32F1XX_BKP),
+ ENUM_STRING(STM32F1XX_PWR),
+ ENUM_STRING(STM32F1XX_I2C1),
+ ENUM_STRING(STM32F1XX_I2C2),
+ ENUM_STRING(STM32F1XX_I2S2),
+ ENUM_STRING(STM32F1XX_I2S3),
+ ENUM_STRING(STM32F1XX_WWDG),
+ ENUM_STRING(STM32F1XX_CAN1),
+ ENUM_STRING(STM32F1XX_CAN2),
+ ENUM_STRING(STM32F1XX_CAN),
+ ENUM_STRING(STM32F1XX_USB),
+ ENUM_STRING(STM32F1XX_SPI1),
+ ENUM_STRING(STM32F1XX_SPI2),
+ ENUM_STRING(STM32F1XX_SPI3),
+ ENUM_STRING(STM32F1XX_EXTI),
+ ENUM_STRING(STM32F1XX_SDIO),
+ ENUM_STRING(STM32F1XX_FSMC),
+ ENUM_STRING(STM32F1XX_PERIPH_COUNT),
+};
+
+void stm32f1xx_init(
+ ram_addr_t flash_size,
+ ram_addr_t sram_size,
+ const char *kernel_filename,
+ Stm32Gpio *stm32_gpio[],
+ Stm32Uart *stm32_uart[],
+ uint32_t osc_freq,
+ uint32_t osc32_freq)
+{
+ MemoryRegion *address_space_mem = get_system_memory();
+ MemoryRegion *flash_alias_mem = g_malloc(sizeof(MemoryRegion));
+ DeviceState *nvic;
+ int i;
+
+ Object *stm32_container = container_get(qdev_get_machine(), "/stm32");
+
+ nvic = armv7m_init(
+ stm32_container,
+ address_space_mem,
+ flash_size,
+ sram_size,
+ 0, /* default number of irqs */
+ kernel_filename,
+ "cortex-m3");
+
+ /* The STM32 family stores its Flash memory at some base address in memory
+ * (0x08000000 for medium density devices), and then aliases it to the
+ * boot memory space, which starts at 0x00000000 (the "System Memory" can also
+ * be aliased to 0x00000000, but this is not implemented here). The processor
+ * executes the code in the aliased memory at 0x00000000. We need to make a
+ * QEMU alias so that reads in the 0x08000000 area are passed through to the
+ * 0x00000000 area. Note that this is the opposite of real hardware, where the
+ * memory at 0x00000000 passes reads through the "real" flash memory at
+ * 0x08000000, but it works the same either way. */
+ /* TODO: Parameterize the base address of the aliased memory. */
+ memory_region_init_alias(
+ flash_alias_mem,
+ NULL,
+ "stm32-flash-alias-mem",
+ address_space_mem,
+ 0,
+ flash_size);
+ memory_region_add_subregion(address_space_mem, 0x08000000, flash_alias_mem);
+
+ DeviceState *rcc_dev = qdev_create(NULL, TYPE_STM32F1XX_RCC);
+ qdev_prop_set_uint32(rcc_dev, "osc_freq", osc_freq);
+ qdev_prop_set_uint32(rcc_dev, "osc32_freq", osc32_freq);
+ object_property_add_child(stm32_container, "stm32f1xx_rcc", OBJECT(rcc_dev), NULL);
+ stm32_init_periph(rcc_dev, STM32_RCC_PERIPH, 0x40021000, qdev_get_gpio_in(nvic, STM32_RCC_IRQ));
+
+ DeviceState **gpio_dev = (DeviceState **)stm32_gpio;
+ for(i = 0; i < STM32F1XX_GPIO_COUNT; i++) {
+ char child_name[8];
+ stm32_periph_t periph = STM32_GPIOA + i;
+ gpio_dev[i] = qdev_create(NULL, TYPE_STM32_GPIO);
+ gpio_dev[i]->id = stm32f1xx_periph_name_arr[periph];
+ QDEV_PROP_SET_PERIPH_T(gpio_dev[i], "periph", periph);
+ qdev_prop_set_ptr(gpio_dev[i], "stm32_rcc", rcc_dev);
+ snprintf(child_name, sizeof(child_name), "gpio[%c]", 'a' + i);
+ object_property_add_child(stm32_container, child_name, OBJECT(gpio_dev[i]), NULL);
+ stm32_init_periph(gpio_dev[i], periph, 0x40010800 + (i * 0x400), NULL);
+ }
+
+ DeviceState *exti_dev = qdev_create(NULL, TYPE_STM32_EXTI);
+ object_property_add_child(stm32_container, "exti", OBJECT(exti_dev), NULL);
+ stm32_init_periph(exti_dev, STM32_EXTI_PERIPH, 0x40010400, NULL);
+ SysBusDevice *exti_busdev = SYS_BUS_DEVICE(exti_dev);
+ sysbus_connect_irq(exti_busdev, 0, qdev_get_gpio_in(nvic, STM32_EXTI0_IRQ));
+ sysbus_connect_irq(exti_busdev, 1, qdev_get_gpio_in(nvic, STM32_EXTI1_IRQ));
+ sysbus_connect_irq(exti_busdev, 2, qdev_get_gpio_in(nvic, STM32_EXTI2_IRQ));
+ sysbus_connect_irq(exti_busdev, 3, qdev_get_gpio_in(nvic, STM32_EXTI3_IRQ));
+ sysbus_connect_irq(exti_busdev, 4, qdev_get_gpio_in(nvic, STM32_EXTI4_IRQ));
+ sysbus_connect_irq(exti_busdev, 5, qdev_get_gpio_in(nvic, STM32_EXTI9_5_IRQ));
+ sysbus_connect_irq(exti_busdev, 6, qdev_get_gpio_in(nvic, STM32_EXTI15_10_IRQ));
+ sysbus_connect_irq(exti_busdev, 7, qdev_get_gpio_in(nvic, STM32_PVD_IRQ));
+ sysbus_connect_irq(exti_busdev, 8, qdev_get_gpio_in(nvic, STM32_RTCAlarm_IRQ));
+ sysbus_connect_irq(exti_busdev, 9, qdev_get_gpio_in(nvic, STM32_OTG_FS_WKUP_IRQ));
+
+ DeviceState *afio_dev = qdev_create(NULL, TYPE_STM32_AFIO);
+ qdev_prop_set_ptr(afio_dev, "stm32_rcc", rcc_dev);
+ object_property_set_link(OBJECT(afio_dev), OBJECT(gpio_dev[0]), "gpio[a]", NULL);
+ object_property_set_link(OBJECT(afio_dev), OBJECT(gpio_dev[1]), "gpio[b]", NULL);
+ object_property_set_link(OBJECT(afio_dev), OBJECT(gpio_dev[2]), "gpio[c]", NULL);
+ object_property_set_link(OBJECT(afio_dev), OBJECT(gpio_dev[3]), "gpio[d]", NULL);
+ object_property_set_link(OBJECT(afio_dev), OBJECT(gpio_dev[4]), "gpio[e]", NULL);
+ object_property_set_link(OBJECT(afio_dev), OBJECT(gpio_dev[5]), "gpio[f]", NULL);
+ object_property_set_link(OBJECT(afio_dev), OBJECT(gpio_dev[6]), "gpio[g]", NULL);
+ object_property_set_link(OBJECT(afio_dev), OBJECT(exti_dev), "exti", NULL);
+ object_property_add_child(stm32_container, "afio", OBJECT(afio_dev), NULL);
+ stm32_init_periph(afio_dev, STM32_AFIO_PERIPH, 0x40010000, NULL);
+
+ // Create UARTs:
+ struct {
+ uint32_t addr;
+ uint8_t irq_idx;
+ } const uart_desc[] = {
+ {0x40013800, STM32_UART1_IRQ},
+ {0x40004400, STM32_UART2_IRQ},
+ {0x40004800, STM32_UART3_IRQ},
+ {0x40004c00, STM32_UART4_IRQ},
+ {0x40005000, STM32_UART5_IRQ},
+ };
+ for (i = 0; i < ARRAY_LENGTH(uart_desc); ++i) {
+ const stm32_periph_t periph = STM32F1XX_UART1 + i;
+ DeviceState *uart_dev = qdev_create(NULL, TYPE_STM32_UART);
+ uart_dev->id = stm32f1xx_periph_name_arr[periph];
+ qdev_prop_set_int32(uart_dev, "periph", periph);
+ qdev_prop_set_ptr(uart_dev, "stm32_rcc", rcc_dev);
+ qdev_prop_set_ptr(uart_dev, "stm32_gpio", gpio_dev);
+ qdev_prop_set_ptr(uart_dev, "stm32_afio", afio_dev);
+ qdev_prop_set_ptr(uart_dev, "stm32_check_tx_pin_callback", (void *)stm32_afio_uart_check_tx_pin_callback);
+ stm32_init_periph(uart_dev, periph, uart_desc[i].addr,
+ qdev_get_gpio_in(nvic, uart_desc[i].irq_idx));
+ stm32_uart[i] = (Stm32Uart*)uart_dev;
+ }
+ /*
+ stm32_create_uart_dev(stm32_container, STM32_UART1, 1, rcc_dev, gpio_dev, afio_dev, 0x40013800, pic[STM32_UART1_IRQ]);
+ stm32_create_uart_dev(stm32_container, STM32_UART2, 2, rcc_dev, gpio_dev, afio_dev, 0x40004400, pic[STM32_UART2_IRQ]);
+ stm32_create_uart_dev(stm32_container, STM32_UART3, 3, rcc_dev, gpio_dev, afio_dev, 0x40004800, pic[STM32_UART3_IRQ]);
+ stm32_create_uart_dev(stm32_container, STM32_UART4, 4, rcc_dev, gpio_dev, afio_dev, 0x40004c00, pic[STM32_UART4_IRQ]);
+ stm32_create_uart_dev(stm32_container, STM32_UART5, 5, rcc_dev, gpio_dev, afio_dev, 0x40005000, pic[STM32_UART5_IRQ]);
+ */
+}
diff --git a/hw/arm/stm32f1xx.h b/hw/arm/stm32f1xx.h
new file mode 100644
index 0000000000000..e30591c470ba4
--- /dev/null
+++ b/hw/arm/stm32f1xx.h
@@ -0,0 +1,61 @@
+#include "hw/arm/stm32.h"
+
+enum {
+ STM32F1XX_PERIPH_UNDEFINED = -1,
+ STM32F1XX_RCC = 0,
+ STM32F1XX_GPIOA,
+ STM32F1XX_GPIOB,
+ STM32F1XX_GPIOC,
+ STM32F1XX_GPIOD,
+ STM32F1XX_GPIOE,
+ STM32F1XX_GPIOF,
+ STM32F1XX_GPIOG,
+ STM32F1XX_GPIOH,
+ STM32F1XX_GPIOI,
+ STM32F1XX_GPIOJ,
+ STM32F1XX_GPIOK,
+ STM32F1XX_SYSCFG,
+ STM32F1XX_AFIO,
+ STM32F1XX_UART1,
+ STM32F1XX_UART2,
+ STM32F1XX_UART3,
+ STM32F1XX_UART4,
+ STM32F1XX_UART5,
+ STM32F1XX_UART6,
+ STM32F1XX_UART7,
+ STM32F1XX_UART8,
+ STM32F1XX_ADC1,
+ STM32F1XX_ADC2,
+ STM32F1XX_ADC3,
+ STM32F1XX_DAC,
+ STM32F1XX_TIM1,
+ STM32F1XX_TIM2,
+ STM32F1XX_TIM3,
+ STM32F1XX_TIM4,
+ STM32F1XX_TIM5,
+ STM32F1XX_TIM6,
+ STM32F1XX_TIM7,
+ STM32F1XX_TIM8,
+ STM32F1XX_BKP,
+ STM32F1XX_PWR,
+ STM32F1XX_I2C1,
+ STM32F1XX_I2C2,
+ STM32F1XX_I2S2,
+ STM32F1XX_I2S3,
+ STM32F1XX_WWDG,
+ STM32F1XX_CAN1,
+ STM32F1XX_CAN2,
+ STM32F1XX_CAN,
+ STM32F1XX_USB,
+ STM32F1XX_SPI1,
+ STM32F1XX_SPI2,
+ STM32F1XX_SPI3,
+ STM32F1XX_EXTI,
+ STM32F1XX_SDIO,
+ STM32F1XX_FSMC,
+ STM32F1XX_PERIPH_COUNT,
+};
+
+const char *stm32f1xx_periph_name(stm32_periph_t periph);
+
+#define STM32F1XX_GPIO_COUNT (STM32F1XX_GPIOG - STM32F1XX_GPIOA + 1)
diff --git a/hw/arm/stm32f1xx_rcc.c b/hw/arm/stm32f1xx_rcc.c
new file mode 100644
index 0000000000000..a028688f6bf65
--- /dev/null
+++ b/hw/arm/stm32f1xx_rcc.c
@@ -0,0 +1,688 @@
+/*
+ * STM32 Microcontroller RCC (Reset and Clock Control) module
+ *
+ * Copyright (C) 2010 Andre Beckus
+ *
+ * Source code based on omap_clk.c
+ * Implementation based on ST Microelectronics "RM0008 Reference Manual Rev 10"
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, see .
+ */
+
+#include "qemu/osdep.h"
+#include "stm32f1xx_rcc.h"
+#include "qemu/timer.h"
+#include "hw/hw.h"
+#include
+#include "hw/qdev-properties.h"
+#include "hw/timer/armv7m_systick.h"
+#include "hw/irq.h"
+
+
+/* DEFINITIONS*/
+
+/* See README for DEBUG details. */
+//#define DEBUG_STM32_RCC
+
+#ifdef DEBUG_STM32_RCC
+#define DPRINTF(fmt, ...) \
+do { printf("STM32F1XX_RCC: " fmt , ## __VA_ARGS__); } while (0)
+#else
+#define DPRINTF(fmt, ...)
+#endif
+
+#define HSI_FREQ 8000000
+#define LSI_FREQ 40000
+
+#define RCC_CR_OFFSET 0x00
+#define RCC_CR_PLL3RDY_CL_BIT 29
+#define RCC_CR_PLL3ON_CL_BIT 28
+#define RCC_CR_PLL2RDY_CL_BIT 27
+#define RCC_CR_PLL2ON_CL_BIT 26
+#define RCC_CR_PLLRDY_BIT 25
+#define RCC_CR_PLLON_BIT 24
+#define RCC_CR_CSSON_BIT 19
+#define RCC_CR_HSEBYP_BIT 18
+#define RCC_CR_HSERDY_BIT 17
+#define RCC_CR_HSEON_BIT 16
+#define RCC_CR_HSICAL_START 8
+#define RCC_CR_HSICAL_MASK 0x0000ff00
+#define RCC_CR_HSITRIM_START 3
+#define RCC_CR_HSITRIM_MASK 0x000000f8
+#define RCC_CR_HSIRDY_BIT 1
+#define RCC_CR_HSION_BIT 0
+
+#define RCC_CFGR_OFFSET 0x04
+#define RCC_CFGR_MCO_START 24
+#define RCC_CFGR_MCO_MASK 0x07000000
+#define RCC_CFGR_MCO_CL_MASK 0x0f000000
+#define RCC_CFGR_USBPRE_BIT 22
+#define RCC_CFGR_OTGFSPRE_CL_BIT 22
+#define RCC_CFGR_PLLMUL_START 18
+#define RCC_CFGR_PLLMUL_MASK 0x003c0000
+#define RCC_CFGR_PLLXTPRE_BIT 17
+#define RCC_CFGR_PLLSRC_BIT 16
+#define RCC_CFGR_ADCPRE_START 14
+#define RCC_CFGR_ADCPRE_MASK 0x0000c000
+#define RCC_CFGR_PPRE2_START 11
+#define RCC_CFGR_PPRE2_MASK 0x00003c00
+#define RCC_CFGR_PPRE1_START 8
+#define RCC_CFGR_PPRE1_MASK 0x00000700
+#define RCC_CFGR_HPRE_START 4
+#define RCC_CFGR_HPRE_MASK 0x000000f0
+#define RCC_CFGR_SWS_START 2
+#define RCC_CFGR_SWS_MASK 0x0000000c
+#define RCC_CFGR_SW_START 0
+#define RCC_CFGR_SW_MASK 0x00000003
+
+#define RCC_CIR_OFFSET 0x08
+
+#define RCC_APB2RSTR_OFFSET 0x0c
+
+#define RCC_APB1RSTR_OFFSET 0x10
+
+#define RCC_AHBENR_OFFSET 0x14
+
+#define RCC_APB2ENR_OFFSET 0x18
+#define RCC_APB2ENR_ADC3EN_BIT 15
+#define RCC_APB2ENR_USART1EN_BIT 14
+#define RCC_APB2ENR_TIM8EN_BIT 13
+#define RCC_APB2ENR_SPI1EN_BIT 12
+#define RCC_APB2ENR_TIM1EN_BIT 11
+#define RCC_APB2ENR_ADC2EN_BIT 10
+#define RCC_APB2ENR_ADC1EN_BIT 9
+#define RCC_APB2ENR_IOPGEN_BIT 8
+#define RCC_APB2ENR_IOPFEN_BIT 7
+#define RCC_APB2ENR_IOPEEN_BIT 6
+#define RCC_APB2ENR_IOPDEN_BIT 5
+#define RCC_APB2ENR_IOPCEN_BIT 4
+#define RCC_APB2ENR_IOPBEN_BIT 3
+#define RCC_APB2ENR_IOPAEN_BIT 2
+#define RCC_APB2ENR_AFIOEN_BIT 0
+
+#define RCC_APB1ENR_OFFSET 0x1c
+#define RCC_APB1ENR_DACEN_BIT 29
+#define RCC_APB1ENR_PWREN_BIT 28
+#define RCC_APB1ENR_BKPEN_BIT 27
+#define RCC_APB1ENR_CAN2EN_BIT 26
+#define RCC_APB1ENR_CAN1EN_BIT 25
+#define RCC_APB1ENR_CANEN_BIT 25
+#define RCC_APB1ENR_USBEN_BIT 23
+#define RCC_APB1ENR_I2C2EN_BIT 22
+#define RCC_APB1ENR_I2C1EN_BIT 21
+#define RCC_APB1ENR_USART5EN_BIT 20
+#define RCC_APB1ENR_USART4EN_BIT 19
+#define RCC_APB1ENR_USART3EN_BIT 18
+#define RCC_APB1ENR_USART2EN_BIT 17
+#define RCC_APB1ENR_SPI3EN_BIT 15
+#define RCC_APB1ENR_SPI2EN_BIT 14
+#define RCC_APB1ENR_WWDGEN_BIT 11
+#define RCC_APB1ENR_TIM7EN_BIT 5
+#define RCC_APB1ENR_TIM6EN_BIT 4
+#define RCC_APB1ENR_TIM5EN_BIT 3
+#define RCC_APB1ENR_TIM4EN_BIT 2
+#define RCC_APB1ENR_TIM3EN_BIT 1
+#define RCC_APB1ENR_TIM2EN_BIT 0
+
+#define RCC_BDCR_OFFSET 0x20
+#define RCC_BDCR_RTCEN_BIT 15
+#define RCC_BDCR_RTCSEL_START 8
+#define RCC_BDCR_RTCSEL_MASK 0x00000300
+#define RCC_BDCR_LSERDY_BIT 1
+#define RCC_BDCR_LSEON_BIT 0
+
+#define RCC_CSR_OFFSET 0x24
+#define RCC_CSR_LSIRDY_BIT 1
+#define RCC_CSR_LSION_BIT 0
+
+#define RCC_AHBRSTR 0x28
+
+#define RCC_CFGR2_OFFSET 0x2c
+#define RCC_CFGR2_I2S3SRC_BIT 18
+#define RCC_CFGR2_I2S2SRC_BIT 17
+#define RCC_CFGR2_PREDIV1SRC_BIT 16
+#define RCC_CFGR2_PLL3MUL_START 12
+#define RCC_CFGR2_PLL3MUL_MASK 0x0000f000
+#define RCC_CFGR2_PLL2MUL_START 8
+#define RCC_CFGR2_PLL2MUL_MASK 0x00000f00
+#define RCC_CFGR2_PREDIV2_START 4
+#define RCC_CFGR2_PREDIV2_MASK 0x000000f0
+#define RCC_CFGR2_PREDIV_START 0
+#define RCC_CFGR2_PREDIV_MASK 0x0000000f
+#define RCC_CFGR2_PLLXTPRE_BIT 0
+
+#define PLLSRC_HSI_SELECTED 0
+#define PLLSRC_HSE_SELECTED 1
+
+#define SW_HSI_SELECTED 0
+#define SW_HSE_SELECTED 1
+#define SW_PLL_SELECTED 2
+
+
+/* HELPER FUNCTIONS */
+
+/* Enable the peripheral clock if the specified bit is set in the value. */
+static void stm32_rcc_periph_enable(
+ Stm32Rcc *s,
+ uint32_t new_value,
+ bool init,
+ int periph,
+ uint32_t bit_mask)
+{
+ clktree_set_enabled(s->PERIPHCLK[periph], IS_BIT_SET(new_value, bit_mask));
+}
+
+
+
+
+
+/* REGISTER IMPLEMENTATION */
+
+/* Read the configuration register. */
+static uint32_t stm32_rcc_RCC_CR_read(Stm32f1xxRcc *s)
+{
+ /* Get the status of the clocks. */
+ bool PLLON = clktree_is_enabled(s->PLLCLK);
+ bool HSEON = clktree_is_enabled(s->HSECLK);
+ bool HSION = clktree_is_enabled(s->HSICLK);
+
+ /* build the register value based on the clock states. If a clock is on,
+ * then its ready bit is always set.
+ */
+ return GET_BIT_MASK(RCC_CR_PLLRDY_BIT, PLLON) |
+ GET_BIT_MASK(RCC_CR_PLLON_BIT, PLLON) |
+ GET_BIT_MASK(RCC_CR_HSERDY_BIT, HSEON) |
+ GET_BIT_MASK(RCC_CR_HSEON_BIT, HSEON) |
+ GET_BIT_MASK(RCC_CR_HSIRDY_BIT, HSION) |
+ GET_BIT_MASK(RCC_CR_HSION_BIT, HSION);
+}
+
+/* Write the Configuration Register.
+ * This updates the states of the corresponding clocks. The bit values are not
+ * saved - when the register is read, its value will be built using the clock
+ * states.
+ */
+static void stm32_rcc_RCC_CR_write(Stm32f1xxRcc *s, uint32_t new_value, bool init)
+{
+ bool new_PLLON, new_HSEON, new_HSION;
+
+ new_PLLON = IS_BIT_SET(new_value, RCC_CR_PLLON_BIT);
+ if((clktree_is_enabled(s->PLLCLK) && !new_PLLON) &&
+ s->RCC_CFGR_SW == SW_PLL_SELECTED) {
+ stm32_hw_warn("PLL cannot be disabled while it is selected as the system clock.");
+ }
+ clktree_set_enabled(s->PLLCLK, new_PLLON);
+
+ new_HSEON = IS_BIT_SET(new_value, RCC_CR_HSEON_BIT);
+ if((clktree_is_enabled(s->HSECLK) && !new_HSEON) &&
+ (s->RCC_CFGR_SW == SW_HSE_SELECTED ||
+ (s->RCC_CFGR_SW == SW_PLL_SELECTED && s->RCC_CFGR_PLLSRC == PLLSRC_HSE_SELECTED)
+ )
+ ) {
+ stm32_hw_warn("HSE oscillator cannot be disabled while it is driving the system clock.");
+ }
+ clktree_set_enabled(s->HSECLK, new_HSEON);
+
+ new_HSION = IS_BIT_SET(new_value, RCC_CR_HSION_BIT);
+ if((clktree_is_enabled(s->HSECLK) && !new_HSEON) &&
+ (s->RCC_CFGR_SW == SW_HSI_SELECTED ||
+ (s->RCC_CFGR_SW == SW_PLL_SELECTED && s->RCC_CFGR_PLLSRC == PLLSRC_HSI_SELECTED)
+ )
+ ) {
+ stm32_hw_warn("HSI oscillator cannot be disabled while it is driving the system clock.");
+ }
+ clktree_set_enabled(s->HSICLK, new_HSION);
+}
+
+
+static uint32_t stm32_rcc_RCC_CFGR_read(Stm32f1xxRcc *s)
+{
+ return (s->RCC_CFGR_PLLMUL << RCC_CFGR_PLLMUL_START) |
+ (s->RCC_CFGR_PLLXTPRE << RCC_CFGR_PLLXTPRE_BIT) |
+ (s->RCC_CFGR_PLLSRC << RCC_CFGR_PLLSRC_BIT) |
+ (s->RCC_CFGR_PPRE2 << RCC_CFGR_PPRE2_START) |
+ (s->RCC_CFGR_PPRE1 << RCC_CFGR_PPRE1_START) |
+ (s->RCC_CFGR_HPRE << RCC_CFGR_HPRE_START) |
+ (s->RCC_CFGR_SW << RCC_CFGR_SW_START) |
+ (s->RCC_CFGR_SW << RCC_CFGR_SWS_START);
+}
+
+
+static void stm32_rcc_RCC_CFGR_write(Stm32f1xxRcc *s, uint32_t new_value, bool init)
+{
+ uint32_t new_PLLMUL, new_PLLXTPRE, new_PLLSRC;
+
+ /* PLLMUL */
+ new_PLLMUL = (new_value & RCC_CFGR_PLLMUL_MASK) >> RCC_CFGR_PLLMUL_START;
+ if(!init) {
+ if(clktree_is_enabled(s->PLLCLK) &&
+ (new_PLLMUL != s->RCC_CFGR_PLLMUL)) {
+ stm32_hw_warn("Can only change PLLMUL while PLL is disabled");
+ }
+ }
+ assert(new_PLLMUL <= 0xf);
+ if(new_PLLMUL == 0xf) {
+ clktree_set_scale(s->PLLCLK, 16, 1);
+ } else {
+ clktree_set_scale(s->PLLCLK, new_PLLMUL + 2, 1);
+ }
+ s->RCC_CFGR_PLLMUL = new_PLLMUL;
+
+ /* PLLXTPRE */
+ new_PLLXTPRE = GET_BIT_VALUE(new_value, RCC_CFGR_PLLXTPRE_BIT);
+ if(!init) {
+ if(clktree_is_enabled(s->PLLCLK) &&
+ (new_PLLXTPRE != s->RCC_CFGR_PLLXTPRE)) {
+ stm32_hw_warn("Can only change PLLXTPRE while PLL is disabled");
+ }
+ }
+ clktree_set_selected_input(s->PLLXTPRECLK, new_PLLXTPRE);
+ s->RCC_CFGR_PLLXTPRE = new_PLLXTPRE;
+
+ /* PLLSRC */
+ new_PLLSRC = GET_BIT_VALUE(new_value, RCC_CFGR_PLLSRC_BIT);
+ if(!init) {
+ if(clktree_is_enabled(s->PLLCLK) &&
+ (new_PLLSRC != s->RCC_CFGR_PLLSRC)) {
+ stm32_hw_warn("Can only change PLLSRC while PLL is disabled");
+ }
+ }
+ clktree_set_selected_input(s->PLLCLK, new_PLLSRC);
+ s->RCC_CFGR_PLLSRC = new_PLLSRC;
+
+ /* PPRE2 */
+ s->RCC_CFGR_PPRE2 = (new_value & RCC_CFGR_PPRE2_MASK) >> RCC_CFGR_PPRE2_START;
+ if(s->RCC_CFGR_PPRE2 < 0x4) {
+ clktree_set_scale(s->PCLK2, 1, 1);
+ } else {
+ clktree_set_scale(s->PCLK2, 1, 2 * (s->RCC_CFGR_PPRE2 - 3));
+ }
+
+ /* PPRE1 */
+ s->RCC_CFGR_PPRE1 = (new_value & RCC_CFGR_PPRE1_MASK) >> RCC_CFGR_PPRE1_START;
+ if(s->RCC_CFGR_PPRE1 < 4) {
+ clktree_set_scale(s->PCLK1, 1, 1);
+ } else {
+ clktree_set_scale(s->PCLK1, 1, 2 * (s->RCC_CFGR_PPRE1 - 3));
+ }
+
+ /* HPRE */
+ s->RCC_CFGR_HPRE = (new_value & RCC_CFGR_HPRE_MASK) >> RCC_CFGR_HPRE_START;
+ if(s->RCC_CFGR_HPRE < 8) {
+ clktree_set_scale(s->HCLK, 1, 1);
+ } else {
+ clktree_set_scale(s->HCLK, 1, 2 * (s->RCC_CFGR_HPRE - 7));
+ }
+
+ /* SW */
+ s->RCC_CFGR_SW = (new_value & RCC_CFGR_SW_MASK) >> RCC_CFGR_SW_START;
+ switch(s->RCC_CFGR_SW) {
+ case 0x0:
+ case 0x1:
+ case 0x2:
+ clktree_set_selected_input(s->SYSCLK, s->RCC_CFGR_SW);
+ break;
+ default:
+ hw_error("Invalid input selected for SYSCLK");
+ break;
+ }
+}
+
+/* Write the APB2 peripheral clock enable register
+ * Enables/Disables the peripheral clocks based on each bit. */
+static void stm32_rcc_RCC_APB2ENR_write(Stm32f1xxRcc *s, uint32_t new_value,
+ bool init)
+{
+ stm32_rcc_periph_enable(&(s->inherited), new_value, init, STM32F1XX_UART1,
+ RCC_APB2ENR_USART1EN_BIT);
+ stm32_rcc_periph_enable(&(s->inherited), new_value, init, STM32F1XX_GPIOE,
+ RCC_APB2ENR_IOPEEN_BIT);
+ stm32_rcc_periph_enable(&(s->inherited), new_value, init, STM32F1XX_GPIOD,
+ RCC_APB2ENR_IOPDEN_BIT);
+ stm32_rcc_periph_enable(&(s->inherited), new_value, init, STM32F1XX_GPIOC,
+ RCC_APB2ENR_IOPCEN_BIT);
+ stm32_rcc_periph_enable(&(s->inherited), new_value, init, STM32F1XX_GPIOB,
+ RCC_APB2ENR_IOPBEN_BIT);
+ stm32_rcc_periph_enable(&(s->inherited), new_value, init, STM32F1XX_GPIOA,
+ RCC_APB2ENR_IOPAEN_BIT);
+ stm32_rcc_periph_enable(&(s->inherited), new_value, init, STM32F1XX_AFIO,
+ RCC_APB2ENR_AFIOEN_BIT);
+ stm32_rcc_periph_enable(&(s->inherited), new_value, init, STM32F1XX_GPIOG,
+ RCC_APB2ENR_IOPGEN_BIT);
+ stm32_rcc_periph_enable(&(s->inherited), new_value, init, STM32F1XX_GPIOF,
+ RCC_APB2ENR_IOPFEN_BIT);
+
+ s->RCC_APB2ENR = new_value & 0x0000fffd;
+}
+
+/* Write the APB1 peripheral clock enable register
+ * Enables/Disables the peripheral clocks based on each bit. */
+static void stm32_rcc_RCC_APB1ENR_write(Stm32f1xxRcc *s, uint32_t new_value,
+ bool init)
+{
+ stm32_rcc_periph_enable(&(s->inherited), new_value, init, STM32F1XX_UART5,
+ RCC_APB1ENR_USART5EN_BIT);
+ stm32_rcc_periph_enable(&(s->inherited), new_value, init, STM32F1XX_UART4,
+ RCC_APB1ENR_USART4EN_BIT);
+ stm32_rcc_periph_enable(&(s->inherited), new_value, init, STM32F1XX_UART3,
+ RCC_APB1ENR_USART3EN_BIT);
+ stm32_rcc_periph_enable(&(s->inherited), new_value, init, STM32F1XX_UART2,
+ RCC_APB1ENR_USART2EN_BIT);
+
+ s->RCC_APB1ENR = new_value & 0x00005e7d;
+}
+
+static uint32_t stm32_rcc_RCC_BDCR_read(Stm32f1xxRcc *s)
+{
+ bool lseon = clktree_is_enabled(s->LSECLK);
+
+ return GET_BIT_MASK(RCC_BDCR_LSERDY_BIT, lseon) |
+ GET_BIT_MASK(RCC_BDCR_LSEON_BIT, lseon);
+}
+
+static void stm32_rcc_RCC_BDCR_write(Stm32f1xxRcc *s, uint32_t new_value, bool init)
+{
+ clktree_set_enabled(s->LSECLK, IS_BIT_SET(new_value, RCC_BDCR_LSEON_BIT));
+}
+
+/* Works the same way as stm32_rcc_RCC_CR_read */
+static uint32_t stm32_rcc_RCC_CSR_read(Stm32f1xxRcc *s)
+{
+ bool lseon = clktree_is_enabled(s->LSICLK);
+
+ return GET_BIT_MASK(RCC_CSR_LSIRDY_BIT, lseon) |
+ GET_BIT_MASK(RCC_CSR_LSION_BIT, lseon);
+}
+
+/* Works the same way as stm32_rcc_RCC_CR_write */
+static void stm32_rcc_RCC_CSR_write(Stm32f1xxRcc *s, uint32_t new_value, bool init)
+{
+ clktree_set_enabled(s->LSICLK, IS_BIT_SET(new_value, RCC_CSR_LSION_BIT));
+}
+
+
+
+static uint64_t stm32_rcc_readw(void *opaque, hwaddr offset)
+{
+ Stm32f1xxRcc *s = (Stm32f1xxRcc *)opaque;
+
+ switch (offset) {
+ case RCC_CR_OFFSET:
+ return stm32_rcc_RCC_CR_read(s);
+ case RCC_CFGR_OFFSET:
+ return stm32_rcc_RCC_CFGR_read(s);
+ case RCC_CIR_OFFSET:
+ return 0;
+ case RCC_APB2RSTR_OFFSET:
+ case RCC_APB1RSTR_OFFSET:
+ case RCC_AHBENR_OFFSET:
+ STM32_NOT_IMPL_REG(offset, 4);
+ return 0;
+ case RCC_APB2ENR_OFFSET:
+ return s->RCC_APB2ENR;
+ case RCC_APB1ENR_OFFSET:
+ return s->RCC_APB1ENR;
+ case RCC_BDCR_OFFSET:
+ return stm32_rcc_RCC_BDCR_read(s);
+ case RCC_CSR_OFFSET:
+ return stm32_rcc_RCC_CSR_read(s);
+ case RCC_AHBRSTR:
+ STM32_NOT_IMPL_REG(offset, 4);
+ return 0;
+ case RCC_CFGR2_OFFSET:
+ STM32_NOT_IMPL_REG(offset, 4);
+ return 0;
+ default:
+ STM32_BAD_REG(offset, 4);
+ break;
+ }
+}
+
+
+static void stm32_rcc_writew(void *opaque, hwaddr offset,
+ uint64_t value)
+{
+ Stm32f1xxRcc *s = (Stm32f1xxRcc *)opaque;
+
+ switch(offset) {
+ case RCC_CR_OFFSET:
+ stm32_rcc_RCC_CR_write(s, value, false);
+ break;
+ case RCC_CFGR_OFFSET:
+ stm32_rcc_RCC_CFGR_write(s, value, false);
+ break;
+ case RCC_CIR_OFFSET:
+ /* Allow a write but don't take any action */
+ break;
+ case RCC_APB2RSTR_OFFSET:
+ case RCC_APB1RSTR_OFFSET:
+ case RCC_AHBENR_OFFSET:
+ STM32_NOT_IMPL_REG(offset, 4);
+ break;
+ case RCC_APB2ENR_OFFSET:
+ stm32_rcc_RCC_APB2ENR_write(s, value, false);
+ break;
+ case RCC_APB1ENR_OFFSET:
+ stm32_rcc_RCC_APB1ENR_write(s, value, false);
+ break;
+ case RCC_BDCR_OFFSET:
+ stm32_rcc_RCC_BDCR_write(s, value, false);
+ break;
+ case RCC_CSR_OFFSET:
+ stm32_rcc_RCC_CSR_write(s, value, false);
+ break;
+ case RCC_AHBRSTR:
+ STM32_NOT_IMPL_REG(offset, 4);
+ break;
+ case RCC_CFGR2_OFFSET:
+ STM32_NOT_IMPL_REG(offset, 4);
+ break;
+ default:
+ STM32_BAD_REG(offset, 4);
+ break;
+ }
+}
+
+static uint64_t stm32_rcc_read(void *opaque, hwaddr offset,
+ unsigned size)
+{
+ switch(size) {
+ case 4:
+ return stm32_rcc_readw(opaque, offset);
+ default:
+ STM32_NOT_IMPL_REG(offset, size);
+ return 0;
+ }
+}
+
+static void stm32_rcc_write(void *opaque, hwaddr offset,
+ uint64_t value, unsigned size)
+{
+ switch(size) {
+ case 4:
+ stm32_rcc_writew(opaque, offset, value);
+ break;
+ default:
+ STM32_NOT_IMPL_REG(offset, size);
+ break;
+ }
+}
+
+static const MemoryRegionOps stm32_rcc_ops = {
+ .read = stm32_rcc_read,
+ .write = stm32_rcc_write,
+ .endianness = DEVICE_NATIVE_ENDIAN
+};
+
+
+static void stm32_rcc_reset(DeviceState *dev)
+{
+ Stm32f1xxRcc *s = STM32F1XX_RCC(dev);
+
+ stm32_rcc_RCC_CR_write(s, 0x00000083, true);
+ stm32_rcc_RCC_CFGR_write(s, 0x00000000, true);
+ stm32_rcc_RCC_APB2ENR_write(s, 0x00000000, true);
+ stm32_rcc_RCC_APB1ENR_write(s, 0x00000000, true);
+ stm32_rcc_RCC_BDCR_write(s, 0x00000000, true);
+ stm32_rcc_RCC_CSR_write(s, 0x0c000000, true);
+}
+
+/* IRQ handler to handle updates to the HCLK frequency.
+ * This updates the SysTick scales. */
+static void stm32_rcc_hclk_upd_irq_handler(void *opaque, int n, int level)
+{
+ Stm32f1xxRcc *s = (Stm32f1xxRcc *)opaque;
+
+ uint32_t hclk_freq = 0;
+ uint32_t ext_ref_freq = 0;
+
+ hclk_freq = clktree_get_output_freq(s->HCLK);
+
+ /* Only update the scales if the frequency is not zero. */
+ if (hclk_freq > 0) {
+ ext_ref_freq = hclk_freq / 8;
+
+ /* Update the scales - these are the ratio of QEMU clock ticks
+ * (which is an unchanging number independent of the CPU frequency) to
+ * system/external clock ticks.
+ */
+ system_clock_scale = NANOSECONDS_PER_SECOND / hclk_freq;
+ }
+
+#ifdef DEBUG_STM32_RCC
+ DPRINTF("Cortex SYSTICK frequency set to %lu Hz (scale set to %d).\n",
+ (unsigned long)hclk_freq, system_clock_scale);
+#endif
+}
+
+
+
+
+/* DEVICE INITIALIZATION */
+
+/* Set up the clock tree */
+static void stm32_rcc_init_clk(Stm32f1xxRcc *s)
+{
+ int i;
+ qemu_irq *hclk_upd_irq =
+ qemu_allocate_irqs(stm32_rcc_hclk_upd_irq_handler, s, 1);
+ Clk HSI_DIV2, HSE_DIV2;
+
+ /* Make sure all the peripheral clocks are null initially.
+ * This will be used for error checking to make sure
+ * an invalid clock is not referenced (not all of the
+ * indexes will be used).
+ */
+ for(i = 0; i < STM32F1XX_PERIPH_COUNT; i++) {
+ s->PERIPHCLK[i] = NULL;
+ }
+
+ /* Initialize clocks */
+ /* Source clocks are initially disabled, which represents
+ * a disabled oscillator. Enabling the clock represents
+ * turning the clock on.
+ */
+ s->HSICLK = clktree_create_src_clk("HSI", HSI_FREQ, false);
+ s->LSICLK = clktree_create_src_clk("LSI", LSI_FREQ, false);
+ s->HSECLK = clktree_create_src_clk("HSE", s->osc_freq, false);
+ s->LSECLK = clktree_create_src_clk("LSE", s->osc32_freq, false);
+
+ HSI_DIV2 = clktree_create_clk("HSI/2", 1, 2, true, CLKTREE_NO_MAX_FREQ, 0,
+ s->HSICLK, NULL);
+ HSE_DIV2 = clktree_create_clk("HSE/2", 1, 2, true, CLKTREE_NO_MAX_FREQ, 0,
+ s->HSECLK, NULL);
+
+ s->PLLXTPRECLK = clktree_create_clk("PLLXTPRE", 1, 1, true, CLKTREE_NO_MAX_FREQ, CLKTREE_NO_INPUT,
+ s->HSECLK, HSE_DIV2, NULL);
+ /* PLLCLK contains both the switch and the multiplier, which are shown as
+ * two separate components in the clock tree diagram.
+ */
+ s->PLLCLK = clktree_create_clk("PLLCLK", 0, 1, false, 72000000, CLKTREE_NO_INPUT,
+ HSI_DIV2, s->PLLXTPRECLK, NULL);
+
+ s->SYSCLK = clktree_create_clk("SYSCLK", 1, 1, true, 72000000, CLKTREE_NO_INPUT,
+ s->HSICLK, s->HSECLK, s->PLLCLK, NULL);
+
+ s->HCLK = clktree_create_clk("HCLK", 0, 1, true, 72000000, 0,
+ s->SYSCLK, NULL);
+ clktree_adduser(s->HCLK, hclk_upd_irq[0]);
+
+ s->PCLK1 = clktree_create_clk("PCLK1", 0, 1, true, 36000000, 0,
+ s->HCLK, NULL);
+ s->PCLK2 = clktree_create_clk("PCLK2", 0, 1, true, 72000000, 0,
+ s->HCLK, NULL);
+
+ /* Peripheral clocks */
+ s->PERIPHCLK[STM32F1XX_GPIOA] = clktree_create_clk("GPIOA", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->PCLK2, NULL);
+ s->PERIPHCLK[STM32F1XX_GPIOB] = clktree_create_clk("GPIOB", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->PCLK2, NULL);
+ s->PERIPHCLK[STM32F1XX_GPIOC] = clktree_create_clk("GPIOC", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->PCLK2, NULL);
+ s->PERIPHCLK[STM32F1XX_GPIOD] = clktree_create_clk("GPIOD", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->PCLK2, NULL);
+ s->PERIPHCLK[STM32F1XX_GPIOE] = clktree_create_clk("GPIOE", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->PCLK2, NULL);
+ s->PERIPHCLK[STM32F1XX_GPIOF] = clktree_create_clk("GPIOF", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->PCLK2, NULL);
+ s->PERIPHCLK[STM32F1XX_GPIOG] = clktree_create_clk("GPIOG", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->PCLK2, NULL);
+
+ s->PERIPHCLK[STM32F1XX_AFIO] = clktree_create_clk("AFIO", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->PCLK2, NULL);
+
+ s->PERIPHCLK[STM32F1XX_UART1] = clktree_create_clk("UART1", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->PCLK2, NULL);
+ s->PERIPHCLK[STM32F1XX_UART2] = clktree_create_clk("UART2", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->PCLK1, NULL);
+ s->PERIPHCLK[STM32F1XX_UART3] = clktree_create_clk("UART3", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->PCLK1, NULL);
+ s->PERIPHCLK[STM32F1XX_UART4] = clktree_create_clk("UART4", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->PCLK1, NULL);
+ s->PERIPHCLK[STM32F1XX_UART5] = clktree_create_clk("UART5", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->PCLK1, NULL);
+}
+
+static void stm32_rcc_init(Object *obj)
+{
+ SysBusDevice *sbd = SYS_BUS_DEVICE(obj);
+ Stm32f1xxRcc *s = STM32F1XX_RCC(obj);
+
+ memory_region_init_io(&s->iomem, OBJECT(s), &stm32_rcc_ops, s,
+ "rcc", 0x1000);
+
+ sysbus_init_mmio(sbd, &s->iomem);
+
+ sysbus_init_irq(sbd, &s->irq);
+
+ stm32_rcc_init_clk(s);
+}
+
+
+static Property stm32_rcc_properties[] = {
+ DEFINE_PROP_UINT32("osc_freq", Stm32Rcc, osc_freq, 0),
+ DEFINE_PROP_UINT32("osc32_freq", Stm32Rcc, osc32_freq, 0),
+ DEFINE_PROP_END_OF_LIST()
+};
+
+
+static void stm32_rcc_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+
+ dc->reset = stm32_rcc_reset;
+ device_class_set_props(dc, stm32_rcc_properties);
+}
+
+static TypeInfo stm32_rcc_info = {
+ .name = TYPE_STM32F1XX_RCC,
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(Stm32f1xxRcc),
+ .instance_init=stm32_rcc_init,
+ .class_init = stm32_rcc_class_init
+};
+
+static void stm32_rcc_register_types(void)
+{
+ type_register_static(&stm32_rcc_info);
+}
+
+type_init(stm32_rcc_register_types)
diff --git a/hw/arm/stm32f1xx_rcc.h b/hw/arm/stm32f1xx_rcc.h
new file mode 100644
index 0000000000000..fe9bb9b96e036
--- /dev/null
+++ b/hw/arm/stm32f1xx_rcc.h
@@ -0,0 +1,51 @@
+#include "hw/sysbus.h"
+#include "hw/arm/stm32_clktree.h"
+#include "stm32f1xx.h"
+#include "stm32_rcc.h"
+
+typedef struct Stm32f1xxRcc {
+ /* Inherited */
+ union {
+ Stm32Rcc inherited;
+ struct {
+ /* Inherited */
+ SysBusDevice busdev;
+
+ /* Properties */
+ uint32_t osc_freq;
+ uint32_t osc32_freq;
+
+ /* Private */
+ MemoryRegion iomem;
+ qemu_irq irq;
+ };
+ };
+
+ Clk PERIPHCLK[STM32F1XX_PERIPH_COUNT], // MUST be first field after `inherited`, because Stm32Rcc's last field aliases this array
+ HSICLK,
+ HSECLK,
+ LSECLK,
+ LSICLK,
+ SYSCLK,
+ PLLXTPRECLK,
+ PLLCLK,
+ HCLK, /* Output from AHB Prescaler */
+ PCLK1, /* Output from APB1 Prescaler */
+ PCLK2; /* Output from APB2 Prescaler */
+
+ /* Register Values */
+ uint32_t
+ RCC_APB1ENR,
+ RCC_APB2ENR;
+
+ /* Register Field Values */
+ uint32_t
+ RCC_CFGR_PLLMUL,
+ RCC_CFGR_PLLXTPRE,
+ RCC_CFGR_PLLSRC,
+ RCC_CFGR_PPRE1,
+ RCC_CFGR_PPRE2,
+ RCC_CFGR_HPRE,
+ RCC_CFGR_SW;
+
+} Stm32f1xxRcc;
diff --git a/hw/arm/stm32f2xx.c b/hw/arm/stm32f2xx.c
new file mode 100644
index 0000000000000..9d89c13790f53
--- /dev/null
+++ b/hw/arm/stm32f2xx.c
@@ -0,0 +1,390 @@
+/*
+ * STM32 Microcontroller
+ *
+ * Copyright (C) 2010 Andre Beckus
+ *
+ * Implementation based on ST Microelectronics "RM0008 Reference Manual Rev 10"
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, see .
+ */
+
+#include "qemu/osdep.h"
+#include "sysemu/runstate.h"
+#include "hw/arm/stm32.h"
+#include "stm32f2xx.h"
+#include "exec/address-spaces.h"
+#include "exec/memory.h"
+#include "hw/ssi/ssi.h"
+#include "hw/irq.h"
+#include "hw/block/flash.h"
+#include "sysemu/blockdev.h" // drive_get
+#include "hw/qdev-properties.h"
+#include "../../target/arm/cpu.h"
+
+static const char *stm32f2xx_periph_name_arr[] = {
+ ENUM_STRING(STM32_UART1),
+ ENUM_STRING(STM32_UART2),
+ ENUM_STRING(STM32_UART3),
+ ENUM_STRING(STM32_UART4),
+ ENUM_STRING(STM32_UART5),
+ ENUM_STRING(STM32_UART6),
+
+ ENUM_STRING(STM32_SPI1),
+ ENUM_STRING(STM32_SPI2),
+ ENUM_STRING(STM32_SPI3),
+
+ ENUM_STRING(STM32_I2C1),
+ ENUM_STRING(STM32_I2C2),
+ ENUM_STRING(STM32_I2C3),
+
+ ENUM_STRING(STM32_TIM1),
+ ENUM_STRING(STM32_TIM2),
+ ENUM_STRING(STM32_TIM3),
+ ENUM_STRING(STM32_TIM4),
+ ENUM_STRING(STM32_TIM5),
+ ENUM_STRING(STM32_TIM6),
+ ENUM_STRING(STM32_TIM7),
+ ENUM_STRING(STM32_TIM8),
+ ENUM_STRING(STM32_TIM9),
+ ENUM_STRING(STM32_TIM10),
+ ENUM_STRING(STM32_TIM11),
+ ENUM_STRING(STM32_TIM12),
+ ENUM_STRING(STM32_TIM13),
+ ENUM_STRING(STM32_TIM14),
+
+ ENUM_STRING(STM32_GPIOA),
+ ENUM_STRING(STM32_GPIOB),
+ ENUM_STRING(STM32_GPIOC),
+ ENUM_STRING(STM32_GPIOD),
+ ENUM_STRING(STM32_GPIOE),
+ ENUM_STRING(STM32_GPIOF),
+ ENUM_STRING(STM32_GPIOG),
+ ENUM_STRING(STM32_GPIOH),
+ ENUM_STRING(STM32_GPIOI),
+ ENUM_STRING(STM32_GPIOJ),
+ ENUM_STRING(STM32_GPIOK),
+
+ ENUM_STRING(STM32_PERIPH_COUNT)
+};
+
+/* Init STM32F2XX CPU and memory.
+ flash_size and sram_size are in kb. */
+
+static uint64_t kernel_load_translate_fn(void *opaque, uint64_t from_addr) {
+ if (from_addr == STM32_FLASH_ADDR_START) {
+ return 0x00000000;
+ }
+ return from_addr;
+}
+
+static
+void do_sys_reset(void *opaque, int n, int level) {
+ if (level) {
+ qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET);
+ }
+}
+
+void stm32f2xx_init(
+ ram_addr_t flash_size,
+ ram_addr_t ram_size,
+ const char *kernel_filename,
+ Stm32Gpio **stm32_gpio,
+ Stm32Uart **stm32_uart,
+ Stm32Timer **stm32_timer,
+ DeviceState **stm32_rtc,
+ uint32_t osc_freq,
+ uint32_t osc32_freq,
+ struct stm32f2xx *stm,
+ ARMCPU **cpu) {
+ MemoryRegion *address_space_mem = get_system_memory();
+ DriveInfo *dinfo;
+ DeviceState *nvic;
+ int i;
+
+ Object * stm32_container = container_get(qdev_get_machine(), "/stm32");
+
+ nvic = armv7m_translated_init(
+ stm32_container,
+ address_space_mem,
+ flash_size * 1024,
+ ram_size * 1024,
+ 128, /* default number of irqs */
+ kernel_filename,
+ kernel_load_translate_fn,
+ NULL,
+ ARM_CPU_TYPE_NAME("cortex-m3"),
+ cpu);
+
+ qdev_connect_gpio_out_named(nvic, "SYSRESETREQ", 0,
+ qemu_allocate_irq(&do_sys_reset, NULL, 0));
+
+ dinfo = drive_get(IF_PFLASH, 0, 0);
+ if (dinfo) {
+ f2xx_flash_register(blk_by_legacy_dinfo(dinfo), 1 * 0x08000000, flash_size * 1024);
+ }
+
+ // Create alias at 0x08000000 for internal flash, that is hard-coded at 0x00000000 in armv7m.c:
+ // TODO: Let BOOT0 and BOOT1 configuration pins determine what is mapped at 0x00000000, see SYSCFG_MEMRMP.
+
+ MemoryRegionSection mrs = memory_region_find(address_space_mem, STM32_FLASH_ADDR_START, WORD_ACCESS_SIZE);
+ MemoryRegion *flash_alias = g_new(MemoryRegion, 1);
+ memory_region_init_alias(
+ flash_alias,
+ NULL,
+ "stm32f2xx.flash.alias",
+ mrs.mr,
+ 0,
+ flash_size * 1024);
+ memory_region_add_subregion(address_space_mem, 0, flash_alias);
+
+ DeviceState *rcc_dev = qdev_create(NULL, TYPE_STM32F2XX_RCC);
+ qdev_prop_set_uint32(rcc_dev, "osc_freq", osc_freq);
+ qdev_prop_set_uint32(rcc_dev, "osc32_freq", osc32_freq);
+ object_property_add_child(stm32_container, "rcc", OBJECT(rcc_dev), NULL);
+ stm32_init_periph(rcc_dev, STM32_RCC_PERIPH, 0x40023800,
+ qdev_get_gpio_in(nvic, STM32_RCC_IRQ));
+
+ DeviceState **gpio_dev = (DeviceState **) g_malloc0(sizeof(DeviceState *) * STM32F2XX_GPIO_COUNT);
+ for (i = 0; i < STM32F2XX_GPIO_COUNT; i++) {
+ stm32_periph_t periph = STM32_GPIOA + i;
+ gpio_dev[i] = qdev_create(NULL, TYPE_STM32F2XX_GPIO);
+ gpio_dev[i]->id = stm32f2xx_periph_name_arr[periph];
+ qdev_prop_set_int32(gpio_dev[i], "periph", periph);
+// qdev_prop_set_ptr(gpio_dev[i], "stm32_rcc", rcc_dev);
+ stm32_init_periph(gpio_dev[i], periph, 0x40020000 + (i * 0x400), NULL);
+ stm32_gpio[i] = (Stm32Gpio *) gpio_dev[i];
+ }
+
+ /* Connect the WKUP pin (GPIO A, pin 0) to the NVIC's WKUP handler */
+//NVIC qemu_irq nvic_wake_irq = qdev_get_gpio_in_named(DEVICE((*cpu)->env.nvic), "wakeup_in", 0);
+//NVIC f2xx_gpio_wake_set((stm32f2xx_gpio *)(stm32_gpio[STM32_GPIOA_INDEX]), 0, nvic_wake_irq);
+
+
+ /* EXTI */
+ DeviceState *exti_dev = qdev_create(NULL, TYPE_STM32_EXTI);
+ qdev_prop_set_ptr(exti_dev, "stm32_gpio", gpio_dev);
+ stm32_init_periph(exti_dev, STM32_EXTI_PERIPH, 0x40013C00, NULL);
+ SysBusDevice *exti_busdev = SYS_BUS_DEVICE(exti_dev);
+ /* IRQs from EXTI to NVIC */
+ sysbus_connect_irq(exti_busdev, 0, qdev_get_gpio_in(nvic, STM32_EXTI0_IRQ));
+ sysbus_connect_irq(exti_busdev, 1, qdev_get_gpio_in(nvic, STM32_EXTI1_IRQ));
+ sysbus_connect_irq(exti_busdev, 2, qdev_get_gpio_in(nvic, STM32_EXTI2_IRQ));
+ sysbus_connect_irq(exti_busdev, 3, qdev_get_gpio_in(nvic, STM32_EXTI3_IRQ));
+ sysbus_connect_irq(exti_busdev, 4, qdev_get_gpio_in(nvic, STM32_EXTI4_IRQ));
+ sysbus_connect_irq(exti_busdev, 5, qdev_get_gpio_in(nvic, STM32_EXTI9_5_IRQ));
+ sysbus_connect_irq(exti_busdev, 6, qdev_get_gpio_in(nvic, STM32_EXTI15_10_IRQ));
+ sysbus_connect_irq(exti_busdev, 7, qdev_get_gpio_in(nvic, STM32_PVD_IRQ));
+ sysbus_connect_irq(exti_busdev, 8, qdev_get_gpio_in(nvic, STM32_RTCAlarm_IRQ));
+ sysbus_connect_irq(exti_busdev, 9, qdev_get_gpio_in(nvic, STM32_OTG_FS_WKUP_IRQ));
+ sysbus_connect_irq(exti_busdev, 10, qdev_get_gpio_in(nvic, STM32_ETH_WKUP_IRQ));
+ sysbus_connect_irq(exti_busdev, 11, qdev_get_gpio_in(nvic, STM32_OTG_FS_WKUP_IRQ));
+ sysbus_connect_irq(exti_busdev, 12, qdev_get_gpio_in(nvic, STM32_TAMP_STAMP_IRQ));
+ sysbus_connect_irq(exti_busdev, 13, qdev_get_gpio_in(nvic, STM32_RTC_WKUP_IRQ));
+
+ DeviceState *syscfg_dev = qdev_create(NULL, TYPE_STM32F2XX_SYSCFG);
+ qdev_prop_set_ptr(syscfg_dev, "stm32_rcc", rcc_dev);
+ qdev_prop_set_ptr(syscfg_dev, "stm32_exti", exti_dev);
+ qdev_prop_set_bit(syscfg_dev, "boot0", 0);
+ qdev_prop_set_bit(syscfg_dev, "boot1", 0);
+ stm32_init_periph(syscfg_dev, STM32_SYSCFG, 0x40013800, NULL);
+
+ struct {
+ uint32_t addr;
+ uint8_t irq_idx;
+ } const uart_desc[] = {
+ {0x40011000, STM32_UART1_IRQ},
+ {0x40004400, STM32_UART2_IRQ},
+ {0x40004800, STM32_UART3_IRQ},
+ {0x40004C00, STM32_UART4_IRQ},
+ {0x40005000, STM32_UART5_IRQ},
+ {0x40011400, STM32_UART6_IRQ},
+ };
+ for (i = 0; i < ARRAY_LENGTH(uart_desc); ++i) {
+ assert(i < STM32F2XX_UART_COUNT);
+ const stm32_periph_t periph = STM32_UART1 + i;
+ DeviceState *uart_dev = qdev_create(NULL, TYPE_STM32_UART);
+ uart_dev->id = stm32f2xx_periph_name_arr[periph];
+ qdev_prop_set_int32(uart_dev, "periph", periph);
+ qdev_prop_set_ptr(uart_dev, "stm32_rcc", rcc_dev);
+// qdev_prop_set_ptr(uart_dev, "stm32_gpio", gpio_dev);
+// qdev_prop_set_ptr(uart_dev, "stm32_afio", afio_dev);
+// qdev_prop_set_ptr(uart_dev, "stm32_check_tx_pin_callback", (void *)stm32_afio_uart_check_tx_pin_callback);
+ stm32_init_periph(uart_dev, periph, uart_desc[i].addr,
+ qdev_get_gpio_in(nvic, uart_desc[i].irq_idx));
+ stm32_uart[i] = (Stm32Uart *) uart_dev;
+ }
+
+
+ /* SPI */
+ struct {
+ uint32_t addr;
+ uint8_t irq_idx;
+ } const spi_desc[] = {
+ {0x40013000, STM32_SPI1_IRQ},
+ {0x40003800, STM32_SPI2_IRQ},
+ {0x40003CD0, STM32_SPI3_IRQ},
+ };
+ for (i = 0; i < ARRAY_LENGTH(spi_desc); ++i) {
+ const stm32_periph_t periph = STM32_SPI1 + i;
+ stm->spi_dev[i] = qdev_create(NULL, TYPE_STM32F2XX_SPI);
+ stm->spi_dev[i]->id = stm32f2xx_periph_name_arr[periph];
+ qdev_prop_set_int32(stm->spi_dev[i], "periph", periph);
+ stm32_init_periph(stm->spi_dev[i], periph, spi_desc[i].addr,
+ qdev_get_gpio_in(nvic, spi_desc[i].irq_idx));
+
+ }
+
+// stm32_uart[STM32_UART1_INDEX] = stm32_create_uart_dev(STM32_UART1, rcc_dev, gpio_dev, afio_dev, 0x40011000, qdev_get_gpio_in(nvic, STM32_UART1_IRQ]);
+// stm32_uart[STM32_UART2_INDEX] = stm32_create_uart_dev(STM32_UART2, rcc_dev, gpio_dev, afio_dev, 0x40004400, qdev_get_gpio_in(nvic, STM32_UART2_IRQ]);
+// stm32_uart[STM32_UART3_INDEX] = stm32_create_uart_dev(STM32_UART3, rcc_dev, gpio_dev, afio_dev, 0x40004800, qdev_get_gpio_in(nvic, STM32_UART3_IRQ]);
+// stm32_uart[STM32_UART4_INDEX] = stm32_create_uart_dev(STM32_UART4, rcc_dev, gpio_dev, afio_dev, 0x40004C00, qdev_get_gpio_in(nvic, STM32_UART4_IRQ]);
+// stm32_uart[STM32_UART5_INDEX] = stm32_create_uart_dev(STM32_UART5, rcc_dev, gpio_dev, afio_dev, 0x40005000, qdev_get_gpio_in(nvic, STM32_UART5_IRQ]);
+// stm32_uart[STM32_UART6_INDEX] = stm32_create_uart_dev(STM32_UART6, rcc_dev, gpio_dev, afio_dev, 0x40011400, qdev_get_gpio_in(nvic, STM32_UART6_IRQ]);
+ DeviceState *adc_dev = qdev_create(NULL, TYPE_STM32_ADC);
+ stm32_init_periph(adc_dev, STM32_ADC1, 0x40012000, NULL);
+
+ /* RTC real time clock */
+ DeviceState *rtc_dev = qdev_create(NULL, TYPE_STM32F2XX_RTC);
+ *stm32_rtc = rtc_dev;
+ stm32_init_periph(rtc_dev, STM32_RTC, 0x40002800, NULL);
+ // Alarm A
+ sysbus_connect_irq(SYS_BUS_DEVICE(rtc_dev), 0, qdev_get_gpio_in(exti_dev, 17));
+ // Alarm B
+ sysbus_connect_irq(SYS_BUS_DEVICE(rtc_dev), 1, qdev_get_gpio_in(exti_dev, 17));
+ // Wake up timer
+ sysbus_connect_irq(SYS_BUS_DEVICE(rtc_dev), 2, qdev_get_gpio_in(exti_dev, 22));
+
+ /* Power management */
+ DeviceState *pwr_dev = qdev_create(NULL, TYPE_STM32F2XX_PWR);
+ stm32_init_periph(pwr_dev, STM32_RTC, 0x40007000, NULL);
+//NVIC qdev_prop_set_ptr((*cpu)->env.nvic, "stm32_pwr", pwr_dev);
+
+
+#define dummy_dev(name, start, size) do {\
+ DeviceState *dummy = qdev_create(NULL, TYPE_STM32F2XX_DUMMY); \
+ qdev_prop_set_ptr(dummy, "name", (void *)name); \
+ qdev_prop_set_int32(dummy, "size", size); \
+ qdev_init_nofail(dummy); \
+ sysbus_mmio_map(SYS_BUS_DEVICE(dummy), 0, start); \
+} while (0)
+
+ /* Timers */
+ struct {
+ uint8_t timer_num;
+ uint32_t addr;
+ uint8_t irq_idx;
+ } const timer_desc[] = {
+ {2, 0x40000000, STM32_TIM2_IRQ},
+ {3, 0x40000400, STM32_TIM3_IRQ},
+ {4, 0x40000800, STM32_TIM4_IRQ},
+ {5, 0x40000C00, STM32_TIM5_IRQ},
+ {6, 0x40001000, STM32_TIM6_IRQ},
+ {7, 0x40001400, STM32_TIM7_IRQ},
+ {9, 0x40014000, STM32_TIM1_BRK_TIM9_IRQ},
+ {10, 0x40014400, STM32_TIM1_UP_TIM10_IRQ},
+ {11, 0x40014800, STM32_TIM1_TRG_COM_TIM11_IRQ},
+ {12, 0x40001800, STM32_TIM8_BRK_TIM12_IRQ},
+ {13, 0x40001C00, STM32_TIM8_UP_TIM13_IRQ},
+ {14, 0x40002000, STM32_TIM8_TRG_COMM_TIM14_IRQ},
+ };
+ for (i = 0; i < ARRAY_LENGTH(timer_desc); ++i) {
+ assert(i < STM32F2XX_TIM_COUNT);
+ const stm32_periph_t periph = STM32_TIM1 + timer_desc[i].timer_num - 1;
+
+ DeviceState *timer = qdev_create(NULL, TYPE_STM32F2XX_TIM);
+ timer->id = stm32f2xx_periph_name_arr[periph];
+ stm32_init_periph(timer, periph, timer_desc[i].addr, qdev_get_gpio_in(nvic, timer_desc[i].irq_idx));
+ stm32_timer[timer_desc[i].timer_num - 1] = (Stm32Timer *) timer;
+ }
+
+ dummy_dev("Reserved", 0x40002400, 0x400);
+ //
+ dummy_dev("WWDG", 0x40002C00, 0x400);
+ dummy_dev("IWDG", 0x40003000, 0x400);
+ dummy_dev("Reserved", 0x40003400, 0x400);
+ //
+ //
+ dummy_dev("Reserved", 0x40004000, 0x400);
+ //
+ //
+ //
+ //
+
+ DeviceState *i2c1 = qdev_create(NULL, TYPE_STM32F2XX_I2C);
+ i2c1->id = stm32f2xx_periph_name_arr[STM32_I2C1];
+ qdev_prop_set_int32(i2c1, "periph", STM32_I2C1);
+ stm32_init_periph(i2c1, STM32_I2C1, 0x40005400, qdev_get_gpio_in(nvic, STM32_I2C1_EV_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(i2c1), 1, qdev_get_gpio_in(nvic, STM32_I2C1_ER_IRQ));
+
+ DeviceState *i2c2 = qdev_create(NULL, TYPE_STM32F2XX_I2C);
+ i2c2->id = stm32f2xx_periph_name_arr[STM32_I2C2];
+ qdev_prop_set_int32(i2c2, "periph", STM32_I2C2);
+ stm32_init_periph(i2c2, STM32_I2C2, 0x40005800, qdev_get_gpio_in(nvic, STM32_I2C2_EV_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(i2c2), 1, qdev_get_gpio_in(nvic, STM32_I2C2_ER_IRQ));
+
+ DeviceState *i2c3 = qdev_create(NULL, TYPE_STM32F2XX_I2C);
+ i2c3->id = stm32f2xx_periph_name_arr[STM32_I2C3];
+ qdev_prop_set_int32(i2c3, "periph", STM32_I2C3);
+ stm32_init_periph(i2c3, STM32_I2C2, 0x40005C00, qdev_get_gpio_in(nvic, STM32_I2C3_EV_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(i2c3), 1, qdev_get_gpio_in(nvic, STM32_I2C3_ER_IRQ));
+
+ dummy_dev("OTP", 0x1FFF7800, 0x1FFF7A0F - 0x1FFF7800 + 1);
+ dummy_dev("FLASH_R", 0x40023C00, 0x400);
+ dummy_dev("DBGMCU", 0xe0042000, 0x100);
+ dummy_dev("U_ID", 0x1FFF7A10, 96 / 8);
+
+ dummy_dev("Reserved", 0x40006000, 0x400);
+ dummy_dev("BxCAN1", 0x40006400, 0x400);
+ dummy_dev("BxCAN2", 0x40006800, 0x400);
+ dummy_dev("Reserved", 0x40006C00, 0x400);
+ // PWR
+ dummy_dev("DAC1/DAC2", 0x40007400, 0x400);
+ dummy_dev("Reserved", 0x40007800, 0x400);
+ dummy_dev("Reserved", 0x40008000, 0x8000);
+ dummy_dev("TIM1/PWM1", 0x40010000, 0x400);
+ dummy_dev("TIM8/PWM2", 0x40010400, 0x400);
+ // USART1
+ // USART6
+ dummy_dev("Reserved", 0x40011800, 0x800);
+ // ADC1 - ADC2 - ADC3
+ // skipped reserved from here on
+ dummy_dev("SDIO", 0x40012C00, 0x400);
+ // SPI1
+ // SYSCFG needed
+
+ DeviceState *crc = qdev_create(NULL, TYPE_STM32F2XX_CRC);
+ stm32_init_periph(crc, STM32_CRC, 0x40023000, NULL);
+
+ DeviceState *dma1 = qdev_create(NULL, TYPE_STM32F2XX_DMA);
+ stm32_init_periph(dma1, STM32_DMA1, 0x40026000, NULL);
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma1), 0, qdev_get_gpio_in(nvic, STM32_DMA1_STREAM0_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma1), 1, qdev_get_gpio_in(nvic, STM32_DMA1_STREAM1_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma1), 2, qdev_get_gpio_in(nvic, STM32_DMA1_STREAM2_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma1), 3, qdev_get_gpio_in(nvic, STM32_DMA1_STREAM3_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma1), 4, qdev_get_gpio_in(nvic, STM32_DMA1_STREAM4_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma1), 5, qdev_get_gpio_in(nvic, STM32_DMA1_STREAM5_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma1), 6, qdev_get_gpio_in(nvic, STM32_DMA1_STREAM6_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma1), 7, qdev_get_gpio_in(nvic, STM32_DMA1_STREAM7_IRQ));
+
+ DeviceState *dma2 = qdev_create(NULL, TYPE_STM32F2XX_DMA);
+ stm32_init_periph(dma2, STM32_DMA2, 0x40026400, NULL);
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma2), 0, qdev_get_gpio_in(nvic, STM32_DMA2_STREAM0_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma2), 1, qdev_get_gpio_in(nvic, STM32_DMA2_STREAM1_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma2), 2, qdev_get_gpio_in(nvic, STM32_DMA2_STREAM2_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma2), 3, qdev_get_gpio_in(nvic, STM32_DMA2_STREAM3_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma2), 4, qdev_get_gpio_in(nvic, STM32_DMA2_STREAM4_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma2), 5, qdev_get_gpio_in(nvic, STM32_DMA2_STREAM5_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma2), 6, qdev_get_gpio_in(nvic, STM32_DMA2_STREAM6_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma2), 7, qdev_get_gpio_in(nvic, STM32_DMA2_STREAM7_IRQ));
+}
diff --git a/hw/arm/stm32f2xx.h b/hw/arm/stm32f2xx.h
new file mode 100644
index 0000000000000..2f0629224cd59
--- /dev/null
+++ b/hw/arm/stm32f2xx.h
@@ -0,0 +1,11 @@
+#include "hw/arm/stm32.h"
+
+#define STM32F2XX_GPIO_COUNT (STM32_GPIOI - STM32_GPIOA + 1)
+#define STM32F2XX_SPI_COUNT 3
+
+#define STM32F2XX_UART_COUNT 6
+#define STM32F2XX_TIM_COUNT 14
+
+struct stm32f2xx {
+ DeviceState *spi_dev[STM32F2XX_SPI_COUNT];
+};
diff --git a/hw/arm/stm32f2xx_adc.c b/hw/arm/stm32f2xx_adc.c
new file mode 100644
index 0000000000000..c686e885e245d
--- /dev/null
+++ b/hw/arm/stm32f2xx_adc.c
@@ -0,0 +1,249 @@
+/*-
+ * Copyright (c) 2013
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+/*
+ * QEMU model of the stm32f2xx ADC.
+ */
+
+#include "qemu/osdep.h"
+#include "hw/sysbus.h"
+#include "hw/arm/stm32.h"
+#include "hw/qdev-properties.h"
+
+/* Per-ADC registers */
+#define R_ADC_SR (0x00 / 4)
+#define R_ADC_SR_MASK 0x3f
+#define R_ADC_SR_EOC (1 << 1)
+#define R_ADC_CR1 (0x04 / 4)
+#define R_ADC_CR2 (0x08 / 4)
+#define R_ADC_SMPR1 (0x0c / 4)
+#define R_ADC_SMPR2 (0x10 / 4)
+#define R_ADC_JOFRx (0x14 / 4)
+#define R_ADC_HTR (0x24 / 4)
+#define R_ADC_HTR_RESET 0x00000fff
+#define R_ADC_LTR (0x28 / 4)
+#define R_ADC_SQR1 (0x2c / 4)
+#define R_ADC_SQR2 (0x30 / 4)
+#define R_ADC_SQR3 (0x34 / 4)
+#define R_ADC_JSQR (0x38 / 4)
+#define R_ADC_JDRx (0x3c / 4)
+#define R_ADC_DR (0x4c / 4)
+#define R_ADC_MAX (0x50 / 4)
+
+/* Common registers */
+#define R_ADC_CSR (0x00 / 4)
+#define R_ADC_CCR (0x04 / 4)
+#define R_ADC_CDR (0x08 / 4)
+#define R_ADC_CMAX (0x0c / 4)
+
+typedef struct {
+ SysBusDevice busdev;
+ MemoryRegion iomem;
+
+ uint32_t regs[3][R_ADC_MAX];
+ uint32_t ccr;
+} stm32_adc;
+
+static uint64_t
+stm32f2xx_adc_common_read(stm32_adc *s, hwaddr offset, unsigned int size)
+{
+ uint32_t r = 0;
+ int i;
+
+ offset >>= 2;
+ switch(offset) {
+ case R_ADC_CSR:
+ for (i = 0; i < 3; i++) {
+ r |= (s->regs[i][R_ADC_SR] & R_ADC_SR_MASK) << 8 * i;
+ }
+ break;
+ case R_ADC_CCR:
+ r = s->ccr;
+ break;
+ default:
+ qemu_log_mask(LOG_UNIMP, "f2xx adc unimplemented read reg 0x%x\n",
+ (int)offset << 2);
+ }
+ return 0;
+}
+
+static uint64_t
+stm32f2xx_adc_read(void *arg, hwaddr offset, unsigned int size)
+{
+ stm32_adc *s = arg;
+ uint32_t r;
+ int unit = (offset & 0x300) >> 8;
+
+ if (unit == 3) {
+ return stm32f2xx_adc_common_read(s, offset - 0x300, size);
+ }
+ offset = (offset & 0xFF) >> 2;
+ r = s->regs[unit][offset];
+ switch (offset) {
+ case R_ADC_SR:
+ r |= R_ADC_SR_EOC;
+ break;
+
+ /* Registers with standard read behaviour. */
+ case R_ADC_CR1:
+ case R_ADC_CR2:
+ case R_ADC_SMPR1:
+ case R_ADC_SMPR2:
+ case R_ADC_SQR1:
+ case R_ADC_SQR2:
+ case R_ADC_SQR3:
+ break;
+ case R_ADC_DR:
+ break; /* Hack */
+ default:
+ qemu_log_mask(LOG_UNIMP, "adc %d reg %x return 0x%x\n", unit, (int)offset << 2, r);
+ }
+ return r;
+}
+
+static void
+stm32f2xx_adc_common_write(stm32_adc *s, hwaddr offset, uint64_t data,
+ unsigned int size)
+{
+ offset >>= 2;
+ switch (offset) {
+ case R_ADC_CSR:
+ case R_ADC_CDR:
+ break;
+ case R_ADC_CCR:
+ //printf("ccr set 0x%x\n", (int)data);
+ s->ccr = data;
+ break;
+ default:
+ qemu_log_mask(LOG_UNIMP, "f2xx adc unimplemented write reg 0x%x\n",
+ (int)offset << 2);
+ }
+}
+
+static void
+stm32f2xx_adc_write(void *arg, hwaddr offset, uint64_t data, unsigned int size)
+{
+ stm32_adc *s = arg;
+ int unit = (offset & 0x300) >> 8;
+
+ if (unit == 3) {
+ stm32f2xx_adc_common_write(s, offset - 0x300, data, size);
+ return;
+ }
+ offset = (offset & 0xFF) >> 2;
+ switch (offset) {
+ case R_ADC_SR:
+ s->regs[unit][offset] &= data; /* rc_w0 */
+ break;
+ case R_ADC_CR1:
+ s->regs[unit][offset] = data;
+ if (data != 0) {
+ qemu_log_mask(LOG_UNIMP, "f2xx adc unimplemented CR1 write 0x%08x\n", (unsigned int)data);
+ }
+ break;
+ case R_ADC_CR2:
+ if (data & ~0x40000001) {
+ qemu_log_mask(LOG_UNIMP, "f2xx adc unimplemented CR2 write 0x%08x\n", (unsigned int)data);
+ }
+ s->regs[unit][offset] = data;
+ break;
+ case R_ADC_SMPR1: /* XXX Ignore sampling time setting. */
+ case R_ADC_SQR1:
+ case R_ADC_SQR2:
+ case R_ADC_SQR3:
+ s->regs[unit][offset] = data;
+ break;
+ case R_ADC_DR:
+ qemu_log_mask(LOG_GUEST_ERROR, "f2xx adc write to r/o data reg\n");
+ break;
+ default:
+ qemu_log_mask(LOG_UNIMP, "adc %d reg %x write 0x%x\n", unit,
+ (int)offset << 2, (int)data);
+ if (offset < R_ADC_MAX) {
+ s->regs[unit][offset] = data;
+ }
+ break;
+ }
+}
+
+static const MemoryRegionOps stm32f2xx_adc_ops = {
+ .read = stm32f2xx_adc_read,
+ .write = stm32f2xx_adc_write,
+ .endianness = DEVICE_NATIVE_ENDIAN,
+ .valid = {
+ .min_access_size = 4, /* XXX actually 1 */
+ .max_access_size = 4
+ }
+};
+
+static void
+f2xx_adc_reset(DeviceState *ds)
+{
+ stm32_adc *s = STM32_ADC(ds);
+
+ /* Hack for low ambient light level (2500) */
+ s->regs[0][R_ADC_DR] = 2730;
+ s->regs[1][R_ADC_DR] = 2500;
+}
+
+static void
+stm32f2xx_adc_init(Object *obj)
+{
+ SysBusDevice *dev = SYS_BUS_DEVICE(obj);
+ stm32_adc *s = STM32_ADC(obj);
+
+#if 0
+ sysbus_init_irq(dev, &s->irq);
+#endif
+
+ memory_region_init_io(&s->iomem, OBJECT(s), &stm32f2xx_adc_ops, s, "adc", 0x400);
+ sysbus_init_mmio(dev, &s->iomem);
+}
+
+static Property stm32f2xx_adc_properties[] = {
+ DEFINE_PROP_END_OF_LIST()
+};
+
+static void
+stm32f2xx_adc_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+ SysBusDeviceClass *sc = SYS_BUS_DEVICE_CLASS(klass);
+
+ dc->reset = f2xx_adc_reset;
+ device_class_set_props(dc, stm32f2xx_adc_properties);
+}
+
+static const TypeInfo stm32f2xx_adc_info = {
+ .name = TYPE_STM32_ADC,
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(stm32_adc),
+ .instance_init = stm32f2xx_adc_init,
+ .class_init = stm32f2xx_adc_class_init
+};
+
+static void
+stm32f2xx_adc_register_types(void)
+{
+ type_register_static(&stm32f2xx_adc_info);
+}
+
+type_init(stm32f2xx_adc_register_types);
diff --git a/hw/arm/stm32f2xx_crc.c b/hw/arm/stm32f2xx_crc.c
new file mode 100644
index 0000000000000..3a8d321c9f276
--- /dev/null
+++ b/hw/arm/stm32f2xx_crc.c
@@ -0,0 +1,235 @@
+/*-
+ * Copyright (c) 2013
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+/*
+ * QEMU crc emulation
+ */
+
+#include "qemu/osdep.h"
+#include "hw/sysbus.h"
+#include "hw/arm/stm32.h"
+#include "hw/qdev-properties.h"
+
+#define R_CRC_DR (0x00 / 4)
+#define R_CRC_DR_RESET 0xffffffff
+#define R_CRC_IDR (0x04 / 4)
+#define R_CRC_CR (0x08 / 4)
+#define R_CRC_MAX (0x0c / 4)
+
+/*****************************************************************/
+/* */
+/* CRC LOOKUP TABLE */
+/* ================ */
+/* The following CRC lookup table was generated automagically */
+/* by the Rocksoft^tm Model CRC Algorithm Table Generation */
+/* Program V1.0 using the following model parameters: */
+/* */
+/* Width : 4 bytes. */
+/* Poly : 0x04C11DB7L */
+/* Reverse : FALSE. */
+/* */
+/* For more information on the Rocksoft^tm Model CRC Algorithm, */
+/* see the document titled "A Painless Guide to CRC Error */
+/* Detection Algorithms" by Ross Williams */
+/* (ross@guest.adelaide.edu.au.). This document is likely to be */
+/* in the FTP archive "ftp.adelaide.edu.au/pub/rocksoft". */
+/* */
+/*****************************************************************/
+
+static unsigned long crctable[256] =
+{
+ 0x00000000L, 0x04C11DB7L, 0x09823B6EL, 0x0D4326D9L, 0x130476DCL, 0x17C56B6BL,
+ 0x1A864DB2L, 0x1E475005L, 0x2608EDB8L, 0x22C9F00FL, 0x2F8AD6D6L, 0x2B4BCB61L,
+ 0x350C9B64L, 0x31CD86D3L, 0x3C8EA00AL, 0x384FBDBDL, 0x4C11DB70L, 0x48D0C6C7L,
+ 0x4593E01EL, 0x4152FDA9L, 0x5F15ADACL, 0x5BD4B01BL, 0x569796C2L, 0x52568B75L,
+ 0x6A1936C8L, 0x6ED82B7FL, 0x639B0DA6L, 0x675A1011L, 0x791D4014L, 0x7DDC5DA3L,
+ 0x709F7B7AL, 0x745E66CDL, 0x9823B6E0L, 0x9CE2AB57L, 0x91A18D8EL, 0x95609039L,
+ 0x8B27C03CL, 0x8FE6DD8BL, 0x82A5FB52L, 0x8664E6E5L, 0xBE2B5B58L, 0xBAEA46EFL,
+ 0xB7A96036L, 0xB3687D81L, 0xAD2F2D84L, 0xA9EE3033L, 0xA4AD16EAL, 0xA06C0B5DL,
+ 0xD4326D90L, 0xD0F37027L, 0xDDB056FEL, 0xD9714B49L, 0xC7361B4CL, 0xC3F706FBL,
+ 0xCEB42022L, 0xCA753D95L, 0xF23A8028L, 0xF6FB9D9FL, 0xFBB8BB46L, 0xFF79A6F1L,
+ 0xE13EF6F4L, 0xE5FFEB43L, 0xE8BCCD9AL, 0xEC7DD02DL, 0x34867077L, 0x30476DC0L,
+ 0x3D044B19L, 0x39C556AEL, 0x278206ABL, 0x23431B1CL, 0x2E003DC5L, 0x2AC12072L,
+ 0x128E9DCFL, 0x164F8078L, 0x1B0CA6A1L, 0x1FCDBB16L, 0x018AEB13L, 0x054BF6A4L,
+ 0x0808D07DL, 0x0CC9CDCAL, 0x7897AB07L, 0x7C56B6B0L, 0x71159069L, 0x75D48DDEL,
+ 0x6B93DDDBL, 0x6F52C06CL, 0x6211E6B5L, 0x66D0FB02L, 0x5E9F46BFL, 0x5A5E5B08L,
+ 0x571D7DD1L, 0x53DC6066L, 0x4D9B3063L, 0x495A2DD4L, 0x44190B0DL, 0x40D816BAL,
+ 0xACA5C697L, 0xA864DB20L, 0xA527FDF9L, 0xA1E6E04EL, 0xBFA1B04BL, 0xBB60ADFCL,
+ 0xB6238B25L, 0xB2E29692L, 0x8AAD2B2FL, 0x8E6C3698L, 0x832F1041L, 0x87EE0DF6L,
+ 0x99A95DF3L, 0x9D684044L, 0x902B669DL, 0x94EA7B2AL, 0xE0B41DE7L, 0xE4750050L,
+ 0xE9362689L, 0xEDF73B3EL, 0xF3B06B3BL, 0xF771768CL, 0xFA325055L, 0xFEF34DE2L,
+ 0xC6BCF05FL, 0xC27DEDE8L, 0xCF3ECB31L, 0xCBFFD686L, 0xD5B88683L, 0xD1799B34L,
+ 0xDC3ABDEDL, 0xD8FBA05AL, 0x690CE0EEL, 0x6DCDFD59L, 0x608EDB80L, 0x644FC637L,
+ 0x7A089632L, 0x7EC98B85L, 0x738AAD5CL, 0x774BB0EBL, 0x4F040D56L, 0x4BC510E1L,
+ 0x46863638L, 0x42472B8FL, 0x5C007B8AL, 0x58C1663DL, 0x558240E4L, 0x51435D53L,
+ 0x251D3B9EL, 0x21DC2629L, 0x2C9F00F0L, 0x285E1D47L, 0x36194D42L, 0x32D850F5L,
+ 0x3F9B762CL, 0x3B5A6B9BL, 0x0315D626L, 0x07D4CB91L, 0x0A97ED48L, 0x0E56F0FFL,
+ 0x1011A0FAL, 0x14D0BD4DL, 0x19939B94L, 0x1D528623L, 0xF12F560EL, 0xF5EE4BB9L,
+ 0xF8AD6D60L, 0xFC6C70D7L, 0xE22B20D2L, 0xE6EA3D65L, 0xEBA91BBCL, 0xEF68060BL,
+ 0xD727BBB6L, 0xD3E6A601L, 0xDEA580D8L, 0xDA649D6FL, 0xC423CD6AL, 0xC0E2D0DDL,
+ 0xCDA1F604L, 0xC960EBB3L, 0xBD3E8D7EL, 0xB9FF90C9L, 0xB4BCB610L, 0xB07DABA7L,
+ 0xAE3AFBA2L, 0xAAFBE615L, 0xA7B8C0CCL, 0xA379DD7BL, 0x9B3660C6L, 0x9FF77D71L,
+ 0x92B45BA8L, 0x9675461FL, 0x8832161AL, 0x8CF30BADL, 0x81B02D74L, 0x857130C3L,
+ 0x5D8A9099L, 0x594B8D2EL, 0x5408ABF7L, 0x50C9B640L, 0x4E8EE645L, 0x4A4FFBF2L,
+ 0x470CDD2BL, 0x43CDC09CL, 0x7B827D21L, 0x7F436096L, 0x7200464FL, 0x76C15BF8L,
+ 0x68860BFDL, 0x6C47164AL, 0x61043093L, 0x65C52D24L, 0x119B4BE9L, 0x155A565EL,
+ 0x18197087L, 0x1CD86D30L, 0x029F3D35L, 0x065E2082L, 0x0B1D065BL, 0x0FDC1BECL,
+ 0x3793A651L, 0x3352BBE6L, 0x3E119D3FL, 0x3AD08088L, 0x2497D08DL, 0x2056CD3AL,
+ 0x2D15EBE3L, 0x29D4F654L, 0xC5A92679L, 0xC1683BCEL, 0xCC2B1D17L, 0xC8EA00A0L,
+ 0xD6AD50A5L, 0xD26C4D12L, 0xDF2F6BCBL, 0xDBEE767CL, 0xE3A1CBC1L, 0xE760D676L,
+ 0xEA23F0AFL, 0xEEE2ED18L, 0xF0A5BD1DL, 0xF464A0AAL, 0xF9278673L, 0xFDE69BC4L,
+ 0x89B8FD09L, 0x8D79E0BEL, 0x803AC667L, 0x84FBDBD0L, 0x9ABC8BD5L, 0x9E7D9662L,
+ 0x933EB0BBL, 0x97FFAD0CL, 0xAFB010B1L, 0xAB710D06L, 0xA6322BDFL, 0xA2F33668L,
+ 0xBCB4666DL, 0xB8757BDAL, 0xB5365D03L, 0xB1F740B4L
+};
+
+static inline uint32_t
+update_crc(uint32_t crc, uint8_t byte)
+{
+ return crctable[((crc >> 24) ^ byte) & 0xff] ^ (crc << 8);
+}
+
+typedef struct f2xx_crc {
+ SysBusDevice busdev;
+ MemoryRegion iomem;
+
+ uint32_t crc;
+ uint8_t idr;
+} f2xx_crc;
+
+static uint64_t
+f2xx_crc_read(void *arg, hwaddr addr, unsigned int size)
+{
+ f2xx_crc *s = arg;
+
+ if (size != 4) {
+ qemu_log_mask(LOG_UNIMP, "f2xx crc only supports 4-byte reads\n");
+ return 0;
+ }
+
+ addr >>= 2;
+ if (addr >= R_CRC_MAX) {
+ qemu_log_mask(LOG_GUEST_ERROR, "invalid read f2xx crc register 0x%x\n",
+ (unsigned int)addr << 2);
+ return 0;
+ }
+ switch(addr) {
+ case R_CRC_DR:
+ return s->crc;
+ case R_CRC_IDR:
+ return s->idr;
+ }
+ return 0;
+}
+
+
+static void
+f2xx_crc_write(void *arg, hwaddr addr, uint64_t data, unsigned int size)
+{
+ f2xx_crc *s = arg;
+
+ /* XXX Check periph clock enable. */
+ if (size != 4) {
+ qemu_log_mask(LOG_UNIMP, "f2xx crc only supports 4-byte writes\n");
+ return;
+ }
+
+ addr >>= 2;
+ if (addr >= R_CRC_MAX) {
+ qemu_log_mask(LOG_GUEST_ERROR, "invalid write f2xx crc register 0x%x\n",
+ (unsigned int)addr << 2);
+ return;
+ }
+ switch(addr) {
+ case R_CRC_DR:
+ s->crc = update_crc(s->crc, (data >> 24) & 0xff);
+ s->crc = update_crc(s->crc, (data >> 16) & 0xff);
+ s->crc = update_crc(s->crc, (data >> 8) & 0xff);
+ s->crc = update_crc(s->crc, data & 0xff);
+ break;
+ case R_CRC_IDR:
+ s->idr = data;
+ break;
+ case R_CRC_CR:
+ if (data & 0x1) {
+ s->crc = R_CRC_DR_RESET;
+ }
+ break;
+ }
+}
+
+static const MemoryRegionOps f2xx_crc_ops = {
+ .read = f2xx_crc_read,
+ .write = f2xx_crc_write,
+ .endianness = DEVICE_NATIVE_ENDIAN,
+ .impl = {
+ .min_access_size = 1,
+ .max_access_size = 4,
+ }
+};
+
+static void
+f2xx_crc_init(Object *obj)
+{
+ SysBusDevice *dev = SYS_BUS_DEVICE(obj);
+ f2xx_crc *s = STM32F2XX_CRC(obj);
+
+ memory_region_init_io(&s->iomem, OBJECT(s), &f2xx_crc_ops, s, "crc", 0x400);
+ sysbus_init_mmio(dev, &s->iomem);
+}
+
+static void
+f2xx_crc_reset(DeviceState *ds)
+{
+ f2xx_crc *s = STM32F2XX_CRC(ds);
+
+ s->crc = R_CRC_DR_RESET;
+}
+
+static Property f2xx_crc_properties[] = {
+ DEFINE_PROP_END_OF_LIST(),
+};
+
+static void
+f2xx_crc_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+ dc->reset = f2xx_crc_reset;
+ //TODO: fix this: dc->no_user = 1;
+ device_class_set_props(dc, f2xx_crc_properties);
+}
+
+static const TypeInfo
+f2xx_crc_info = {
+ .name = TYPE_STM32F2XX_CRC,
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(f2xx_crc),
+ .instance_init = f2xx_crc_init,
+ .class_init = f2xx_crc_class_init,
+};
+
+static void
+f2xx_crc_register_types(void)
+{
+ type_register_static(&f2xx_crc_info);
+}
+
+type_init(f2xx_crc_register_types)
diff --git a/hw/arm/stm32f2xx_dma.c b/hw/arm/stm32f2xx_dma.c
new file mode 100644
index 0000000000000..75eaff8fa515e
--- /dev/null
+++ b/hw/arm/stm32f2xx_dma.c
@@ -0,0 +1,419 @@
+/*-
+ * Copyright (c) 2013
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+/*
+ * QEMU DMA controller device model
+ */
+
+#include "qemu/osdep.h"
+#include "hw/sysbus.h"
+#include "qemu/log.h"
+#include "hw/irq.h"
+#include "hw/qdev-properties.h"
+#include "hw/arm/stm32.h"
+
+//#define DEBUG_STM32F2XX_DMA
+#ifdef DEBUG_STM32F2XX_DMA
+
+// NOTE: The usleep() helps the MacOS stdout from freezing when we have a lot of print out
+#define DPRINTF(fmt, ...) \
+ do { printf("STM32F2XX_DMA: " fmt , ## __VA_ARGS__); \
+ usleep(1000); \
+ } while (0)
+#else
+#define DPRINTF(fmt, ...)
+#endif
+
+
+/* Common interrupt status / clear registers. */
+#define R_DMA_LISR (0x00 / 4)
+#define R_DMA_HISR (0x04 / 4)//r
+#define R_DMA_LIFCR (0x08 / 4)
+#define R_DMA_HIFCR (0x0c / 4)//w
+#define R_DMA_ISR_FIEF (1 << 0)
+#define R_DMA_ISR_DMEIF (1 << 2)
+#define R_DMA_ISR_TIEF (1 << 3)
+#define R_DMA_ISR_HTIF (1 << 4)
+#define R_DMA_ISR_TCIF (1 << 5)
+
+/* Per-stream registers. */
+#define R_DMA_Sx (0x10 / 4)
+#define R_DMA_Sx_COUNT 8
+#define R_DMA_Sx_REGS 6
+#define R_DMA_SxCR (0x00 / 4)
+#define R_DMA_SxCR_EN 0x00000001
+#define R_DMA_SxNDTR (0x04 / 4)
+#define R_DMA_SxNDTR_EN 0x00000001
+#define R_DMA_SxPAR (0x08 / 4)
+#define R_DMA_SxM0AR (0x0c / 4)
+#define R_DMA_SxM1AR (0x10 / 4)
+#define R_DMA_SxFCR (0x14 / 4)
+
+#define R_DMA_MAX (0xd0 / 4)
+
+typedef struct f2xx_dma_stream {
+ qemu_irq irq;
+
+ uint32_t cr;
+ uint16_t ndtr;
+ uint32_t par;
+ uint32_t m0ar;
+ uint32_t m1ar;
+ uint8_t isr;
+} f2xx_dma_stream;
+
+static int msize_table[] = {1, 2, 4, 0};
+
+typedef struct f2xx_dma {
+ SysBusDevice busdev;
+ MemoryRegion iomem;
+
+ uint32_t ifcr[R_DMA_HIFCR - R_DMA_LIFCR + 1];
+ f2xx_dma_stream stream[R_DMA_Sx_COUNT];
+} f2xx_dma;
+
+/* Pack ISR bits from four streams, for {L,H}ISR. */
+static uint32_t
+f2xx_dma_pack_isr(struct f2xx_dma *s, int start_stream)
+{
+ uint32_t r = 0;
+ int i;
+
+ for (i = 0; i < 4; i++) {
+ r |= s->stream[i + start_stream].isr << (6 * i);
+ }
+ return r;
+}
+
+/* Per-stream read. */
+static uint32_t
+f2xx_dma_stream_read(f2xx_dma_stream *s, int stream_no, uint32_t reg)
+{
+ switch (reg) {
+ case R_DMA_SxCR:
+ DPRINTF(" %s: stream: %d, register CR\n", __func__, stream_no);
+ return s->cr;
+ case R_DMA_SxNDTR:
+ DPRINTF(" %s: stream: %d, register NDTR (UNIMPLEMENTED)\n", __func__, stream_no);
+ qemu_log_mask(LOG_UNIMP, "f2xx dma unimp read reg NDTR\n");
+ return 0;
+ case R_DMA_SxPAR:
+ DPRINTF(" %s: stream: %d, register PAR (UNIMPLEMENTED)\n", __func__, stream_no);
+ qemu_log_mask(LOG_UNIMP, "f2xx dma unimp read reg PAR\n");
+ return 0;
+ case R_DMA_SxM0AR:
+ DPRINTF(" %s: stream: %d, register M0AR (UNIMPLEMENTED)\n", __func__, stream_no);
+ qemu_log_mask(LOG_UNIMP, "f2xx dma unimp read reg M0AR\n");
+ return 0;
+ case R_DMA_SxM1AR:
+ DPRINTF(" %s: stream: %d, register M1AR (UNIMPLEMENTED)\n", __func__, stream_no);
+ qemu_log_mask(LOG_UNIMP, "f2xx dma unimp read reg M1AR\n");
+ return 0;
+ case R_DMA_SxFCR:
+ DPRINTF(" %s: stream: %d, register FCR (UNIMPLEMENTED)\n", __func__, stream_no);
+ qemu_log_mask(LOG_UNIMP, "f2xx dma unimp read reg FCR\n");
+ return 0;
+ default:
+ DPRINTF(" %s: stream: %d, register 0x%02x\n", __func__, stream_no, reg<<2);
+ qemu_log_mask(LOG_UNIMP, "f2xx dma unimp read stream reg 0x%02x\n",
+ (unsigned int)reg<<2);
+ }
+ return 0;
+}
+
+/* Register read. */
+static uint64_t
+f2xx_dma_read(void *arg, hwaddr addr, unsigned int size)
+{
+ f2xx_dma *s = arg;
+ uint64_t result;
+
+ DPRINTF("%s: addr: 0x%llx, size:%d...\n", __func__, addr, size);
+
+ if (size != 4) {
+ qemu_log_mask(LOG_UNIMP, "f2xx crc only supports 4-byte reads\n");
+ return 0;
+ }
+
+ addr >>= 2;
+ if (addr >= R_DMA_MAX) {
+ qemu_log_mask(LOG_GUEST_ERROR, "invalid read f2xx dma register 0x%02x\n",
+ (unsigned int)addr << 2);
+ result = 0;
+ } else {
+ switch(addr) {
+ case R_DMA_LISR:
+ DPRINTF(" %s: register LISR\n", __func__);
+ result = f2xx_dma_pack_isr(s, 0);
+ break;
+ case R_DMA_HISR:
+ DPRINTF(" %s: register HISR\n", __func__);
+ result = f2xx_dma_pack_isr(s, 4);
+ break;
+ case R_DMA_LIFCR:
+ DPRINTF(" %s: register LIFCR\n", __func__);
+ result = s->ifcr[addr - R_DMA_LIFCR];
+ break;
+ case R_DMA_HIFCR:
+ DPRINTF(" %s: register HIFCR\n", __func__);
+ result = s->ifcr[addr - R_DMA_LIFCR];
+ break;
+ default:
+ /* Only per-stream registers remain. */
+ addr -= R_DMA_Sx;
+ int stream_no = addr / R_DMA_Sx_REGS;
+ result = f2xx_dma_stream_read(&s->stream[stream_no], stream_no,
+ addr % R_DMA_Sx_REGS);
+ break;
+ }
+ }
+
+ DPRINTF(" %s: result:0x%llx\n", __func__, result);
+ return result;
+}
+
+/* Start a DMA transfer for a given stream. */
+static void
+f2xx_dma_stream_start(f2xx_dma_stream *s, int stream_no)
+{
+ uint8_t buf[4];
+ int msize = msize_table[(s->cr >> 13) & 0x3];
+
+ DPRINTF("%s: stream: %d\n", __func__, stream_no);
+
+ if (msize == 0) {
+ qemu_log_mask(LOG_GUEST_ERROR, "f2xx dma: invalid MSIZE\n");
+ return;
+ }
+ /* XXX Skip USART, as pacing control is not yet in place. */
+ if (s->par == 0x40011004) {
+ qemu_log_mask(LOG_UNIMP, "f2xx dma: skipping USART\n");
+ return;
+ }
+
+ /* XXX hack do the entire transfer here for now. */
+ DPRINTF("%s: transferring %d x %d byte(s) from 0x%08x to 0x%08x\n", __func__, s->ndtr,
+ msize, s->m0ar, s->par);
+ while (s->ndtr--) {
+ cpu_physical_memory_read(s->m0ar, buf, msize);
+ cpu_physical_memory_write(s->par, buf, msize);
+ s->m0ar += msize;
+ }
+ /* Transfer complete. */
+ s->cr &= ~R_DMA_SxCR_EN;
+ s->isr |= R_DMA_ISR_TCIF;
+ qemu_set_irq(s->irq, 1);
+}
+
+/* Per-stream register write. */
+static void
+f2xx_dma_stream_write(f2xx_dma_stream *s, int stream_no, uint32_t addr, uint32_t data)
+{
+ switch (addr) {
+ case R_DMA_SxCR:
+ DPRINTF("%s: stream: %d, register CR, data:0x%x\n", __func__, stream_no, data);
+ if ((s->cr & R_DMA_SxCR_EN) == 0 && (data & R_DMA_SxCR_EN) != 0) {
+ f2xx_dma_stream_start(s, stream_no);
+ }
+ s->cr = data;
+ break;
+ case R_DMA_SxNDTR:
+ DPRINTF("%s: stream: %d, register NDTR, data:0x%x\n", __func__, stream_no, data);
+ if (s->cr & R_DMA_SxNDTR_EN) {
+ qemu_log_mask(LOG_GUEST_ERROR, "f2xx dma write to NDTR while enabled\n");
+ return;
+ }
+ s->ndtr = data;
+ break;
+ case R_DMA_SxPAR:
+ DPRINTF("%s: stream: %d, register PAR, data:0x%x\n", __func__, stream_no, data);
+ s->par = data;
+ break;
+ case R_DMA_SxM0AR:
+ DPRINTF("%s: stream: %d, register M0AR, data:0x%x\n", __func__, stream_no, data);
+ s->m0ar = data;
+ break;
+ case R_DMA_SxM1AR:
+ DPRINTF("%s: stream: %d, register M1AR, data:0x%x\n", __func__, stream_no, data);
+ s->m1ar = data;
+ break;
+ case R_DMA_SxFCR:
+ DPRINTF("%s: stream: %d, register FCR (UINIMPLEMENTED), data:0x%x\n", __func__,
+ stream_no, data);
+ qemu_log_mask(LOG_UNIMP, "f2xx dma SxFCR unimplemented\n");
+ break;
+ }
+}
+
+/* Register write. */
+static void
+f2xx_dma_write(void *arg, hwaddr addr, uint64_t data, unsigned int size)
+{
+ f2xx_dma *s = arg;
+ int offset = addr & 0x3;
+
+ (void)offset;
+
+ /* XXX Check DMA peripheral clock enable. */
+ if (size != 4) {
+ qemu_log_mask(LOG_UNIMP, "f2xx dma only supports 4-byte writes\n");
+ return;
+ }
+
+ addr >>= 2;
+ if (addr >= R_DMA_MAX) {
+ qemu_log_mask(LOG_GUEST_ERROR, "invalid write f2xx dma register 0x%02x\n",
+ (unsigned int)addr << 2);
+ return;
+ }
+ if (addr >= R_DMA_Sx && addr <= 0xcc) {
+ int num = (addr - R_DMA_Sx) / R_DMA_Sx_REGS;
+ f2xx_dma_stream_write(&s->stream[num], num,
+ (addr - R_DMA_Sx) % R_DMA_Sx_REGS, data);
+ return;
+ }
+ switch(addr) {
+ case R_DMA_LISR:
+ DPRINTF("%s: register LISR (READ-ONLY), data: 0x%llx\n", __func__, data);
+ qemu_log_mask(LOG_GUEST_ERROR, "f2xx dma: invalid write to ISR\n");
+ break;
+ case R_DMA_HISR:
+ DPRINTF("%s: register HISR (READ-ONLY), data: 0x%llx\n", __func__, data);
+ qemu_log_mask(LOG_GUEST_ERROR, "f2xx dma: invalid write to ISR\n");
+ break;
+ case R_DMA_LIFCR:
+ DPRINTF("%s: register LIFCR, data: 0x%llx\n", __func__, data);
+ // Any interrupt clear write to stream x clears all interrupts for that stream
+ s->ifcr[addr - R_DMA_LIFCR] = data;
+ if (data & 0x0f400000) {
+ s->stream[3].isr = 0;
+ qemu_set_irq(s->stream[3].irq, 0);
+ }
+ if (data & 0x003d0000) {
+ s->stream[2].isr = 0;
+ qemu_set_irq(s->stream[2].irq, 0);
+ }
+ if (data & 0x00000f40) {
+ s->stream[1].isr = 0;
+ qemu_set_irq(s->stream[1].irq, 0);
+ }
+ if (data & 0x0000003d) {
+ s->stream[0].isr = 0;
+ qemu_set_irq(s->stream[0].irq, 0);
+ }
+ break;
+ case R_DMA_HIFCR:
+ DPRINTF("%s: register HIFCR, data: 0x%llx\n", __func__, data);
+ // Any interrupt clear write to stream x clears all interrupts for that stream
+ s->ifcr[addr - R_DMA_LIFCR] = data;
+ if (data & 0x0f400000) {
+ s->stream[7].isr = 0;
+ qemu_set_irq(s->stream[7].irq, 0);
+ }
+ if (data & 0x003d0000) {
+ s->stream[6].isr = 0;
+ qemu_set_irq(s->stream[6].irq, 0);
+ }
+ if (data & 0x00000f40) {
+ s->stream[5].isr = 0;
+ qemu_set_irq(s->stream[5].irq, 0);
+ }
+ if (data & 0x0000003d) {
+ s->stream[4].isr = 0;
+ qemu_set_irq(s->stream[4].irq, 0);
+ }
+ break;
+ default:
+ qemu_log_mask(LOG_UNIMP, "f2xx dma unimpl write reg 0x%02x\n",
+ (unsigned int)addr << 2);
+ }
+}
+
+static const MemoryRegionOps f2xx_dma_ops = {
+ .read = f2xx_dma_read,
+ .write = f2xx_dma_write,
+ .endianness = DEVICE_NATIVE_ENDIAN,
+ .impl = {
+ .min_access_size = 1,
+ .max_access_size = 4,
+ }
+};
+
+static void
+f2xx_dma_init(Object *obj)
+{
+ SysBusDevice *dev = SYS_BUS_DEVICE(obj);
+ f2xx_dma *s = STM32F2XX_DMA(obj);
+ int i;
+
+ memory_region_init_io(&s->iomem, OBJECT(s), &f2xx_dma_ops, s, "dma", 0x400);
+ sysbus_init_mmio(dev, &s->iomem);
+
+ for (i = 0; i < R_DMA_Sx_COUNT; i++) {
+ sysbus_init_irq(dev, &s->stream[i].irq);
+ }
+}
+
+static void
+f2xx_dma_reset(DeviceState *ds)
+{
+ f2xx_dma *s = STM32F2XX_DMA(ds);
+
+ memset(&s->ifcr, 0, sizeof(s->ifcr));
+
+ int i;
+ for (i=0; istream[i].irq;
+ memset(&s->stream[i], 0, sizeof(f2xx_dma_stream));
+ s->stream[i].irq = save;
+ }
+}
+
+static Property f2xx_dma_properties[] = {
+ DEFINE_PROP_END_OF_LIST(),
+};
+
+static void
+f2xx_dma_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+ SysBusDeviceClass *sc = SYS_BUS_DEVICE_CLASS(klass);
+ dc->reset = f2xx_dma_reset;
+ //TODO: fix this: dc->no_user = 1;
+ device_class_set_props(dc, f2xx_dma_properties);
+}
+
+static const TypeInfo
+f2xx_dma_info = {
+ .name = TYPE_STM32F2XX_DMA,
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(f2xx_dma),
+ .instance_init = f2xx_dma_init,
+ .class_init = f2xx_dma_class_init,
+};
+
+static void
+f2xx_dma_register_types(void)
+{
+ type_register_static(&f2xx_dma_info);
+}
+
+type_init(f2xx_dma_register_types)
diff --git a/hw/arm/stm32f2xx_dummy.c b/hw/arm/stm32f2xx_dummy.c
new file mode 100644
index 0000000000000..30e3efd482d4f
--- /dev/null
+++ b/hw/arm/stm32f2xx_dummy.c
@@ -0,0 +1,109 @@
+/*-
+ * Copyright (c) 2013
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+/*
+ * QEMU dummy emulation
+ */
+
+#include "qemu/osdep.h"
+#include "hw/sysbus.h"
+#include "qemu/log.h"
+#include "hw/qdev-properties.h"
+#include "hw/arm/stm32.h"
+
+typedef struct f2xx_dummy {
+ SysBusDevice busdev;
+ MemoryRegion iomem;
+ void *name;
+ int32_t size;
+} f2xx_dummy;
+
+static uint64_t
+f2xx_dummy_read(void *arg, hwaddr addr, unsigned int size)
+{
+ f2xx_dummy *s = arg;
+
+ qemu_log_mask(LOG_UNIMP, "%s dummy read 0x%x %d byte%s\n", s->name,
+ (unsigned int)addr, size, size != 1 ? "s" : "");
+
+ return 0;
+}
+
+static void
+f2xx_dummy_write(void *arg, hwaddr addr, uint64_t data, unsigned int size)
+{
+ f2xx_dummy *s = arg;
+
+ qemu_log_mask(LOG_UNIMP, "%s dummy write 0x%x %d byte%s value 0x%x\n",
+ s->name, (unsigned int)addr, size, size != 1 ? "s" : "",
+ (unsigned int)data);
+}
+
+static const MemoryRegionOps f2xx_dummy_ops = {
+ .read = f2xx_dummy_read,
+ .write = f2xx_dummy_write,
+ .endianness = DEVICE_NATIVE_ENDIAN,
+ .impl = {
+ .min_access_size = 1,
+ .max_access_size = 4,
+ }
+};
+
+static void
+f2xx_dummy_realize(DeviceState *obj, Error **pError)
+{
+ f2xx_dummy *s = STM32F2XX_DUMMY(obj);
+ SysBusDevice *dev = SYS_BUS_DEVICE(obj);
+
+ memory_region_init_io(&s->iomem, OBJECT(s), &f2xx_dummy_ops, s, "dummy", s->size);
+ sysbus_init_mmio(dev, &s->iomem);
+}
+
+static Property f2xx_dummy_properties[] = {
+ DEFINE_PROP_PTR("name", f2xx_dummy, name),
+ DEFINE_PROP_INT32("size", f2xx_dummy, size, 0),
+ DEFINE_PROP_END_OF_LIST(),
+};
+
+static void
+f2xx_dummy_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+ // TODO: fix this: dc->no_user = 1;
+ dc->realize = f2xx_dummy_realize;
+ device_class_set_props(dc, f2xx_dummy_properties);
+}
+
+static const TypeInfo
+f2xx_dummy_info = {
+ .name = TYPE_STM32F2XX_DUMMY,
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(f2xx_dummy),
+ .class_init = f2xx_dummy_class_init,
+};
+
+static void
+f2xx_dummy_register_types(void)
+{
+ type_register_static(&f2xx_dummy_info);
+}
+
+type_init(f2xx_dummy_register_types)
diff --git a/hw/arm/stm32f2xx_flash.c b/hw/arm/stm32f2xx_flash.c
new file mode 100644
index 0000000000000..49336de41b5e5
--- /dev/null
+++ b/hw/arm/stm32f2xx_flash.c
@@ -0,0 +1,147 @@
+/*-
+ * Copyright (c) 2013
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#include "qemu/osdep.h"
+#include "sysemu/blockdev.h"
+#include "hw/hw.h"
+#include "hw/block/flash.h"
+#include "block/block.h"
+#include "sysemu/block-backend.h"
+#include "hw/sysbus.h"
+#include "hw/arm/stm32.h"
+#include "hw/qdev-properties.h"
+#include "migration/cpu.h"
+
+struct f2xx_flash {
+ SysBusDevice busdev;
+ BlockBackend *blk;
+ hwaddr base_address;
+ uint32_t size;
+
+ MemoryRegion mem;
+ void *data;
+}; // f2xx_flash_t;
+
+/* */
+f2xx_flash_t *f2xx_flash_register(BlockBackend *blk, hwaddr base,
+ hwaddr size)
+{
+ DeviceState *dev = qdev_create(NULL, TYPE_STM32F2XX_FLASH);
+ //SysBusDevice *busdev = SYS_BUS_DEVICE(dev);
+ f2xx_flash_t *flash = STM32F2XX_FLASH(dev);
+
+ qdev_prop_set_uint32(dev, "size", size);
+ qdev_prop_set_uint64(dev, "base_address", base);
+ if (blk) {
+ Error *err = NULL;
+ qdev_prop_set_drive(dev, "drive", blk, &err);
+ if (err) {
+ printf("%s, have no drive???\n", __func__);
+ return NULL;
+ }
+ }
+ qdev_init_nofail(dev);
+ //sysbus_mmio_map(busdev, 0, base);
+ return flash;
+}
+
+/* */
+
+static uint64_t
+f2xx_flash_read(void *arg, hwaddr offset, unsigned int size)
+{
+ //f2xx_flash_t *flash = arg;
+
+ printf("read offset 0x%jx size %ju\n", (uintmax_t)offset, (uintmax_t)size);
+ return 0;
+}
+
+static void
+f2xx_flash_write(void *arg, hwaddr offset, uint64_t data, unsigned int size)
+{
+}
+
+static const MemoryRegionOps f2xx_flash_ops = {
+ .read = f2xx_flash_read,
+ .write = f2xx_flash_write,
+ .endianness = DEVICE_NATIVE_ENDIAN,
+};
+
+MemoryRegion *get_system_memory(void); /* XXX */
+
+static void f2xx_flash_init(DeviceState *obj, Error **pError)
+{
+ Error *err = NULL;
+ f2xx_flash_t *flash = STM32F2XX_FLASH(obj);
+ SysBusDevice *dev = SYS_BUS_DEVICE(obj);
+
+// memory_region_init_rom_device(&flash->mem, &f2xx_flash_ops, flash, "name",
+// size);
+ memory_region_init_ram(&flash->mem, OBJECT(flash), "f2xx.flash", flash->size, &err);
+
+// vmstate_register_ram(&flash->mem, DEVICE(flash));
+ //vmstate_register_ram_global(&flash->mem);
+ memory_region_set_readonly(&flash->mem, true);
+ memory_region_add_subregion(get_system_memory(), flash->base_address, &flash->mem);
+// sysbus_init_mmio(dev, &flash->mem);
+
+ flash->data = memory_region_get_ram_ptr(&flash->mem);
+ memset(flash->data, 0xff, flash->size);
+ if (flash->blk) {
+ int r;
+ r = blk_pread(flash->blk, 0, flash->data, blk_getlength(flash->blk));
+ if (r < 0) {
+ vmstate_unregister_ram(&flash->mem, DEVICE(flash));
+ // memory_region_destroy(&flash->mem);
+// return 1;
+ }
+ }
+}
+
+static Property f2xx_flash_properties[] = {
+ DEFINE_PROP_DRIVE("drive", struct f2xx_flash, blk),
+ DEFINE_PROP_UINT32("size", struct f2xx_flash, size, 512*1024),
+ DEFINE_PROP_UINT64("base_address", struct f2xx_flash, base_address, 0x08000000),
+ DEFINE_PROP_END_OF_LIST(),
+};
+
+static void f2xx_flash_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+
+ dc->realize = f2xx_flash_init,
+ device_class_set_props(dc, f2xx_flash_properties);
+}
+
+static const TypeInfo f2xx_flash_info = {
+ .name = TYPE_STM32F2XX_FLASH,
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(struct f2xx_flash),
+ .class_init = f2xx_flash_class_init,
+};
+
+static void f2xx_flash_register_types(void)
+{
+ type_register_static(&f2xx_flash_info);
+}
+
+type_init(f2xx_flash_register_types)
diff --git a/hw/arm/stm32f2xx_gpio.c b/hw/arm/stm32f2xx_gpio.c
new file mode 100644
index 0000000000000..93b2975ce1443
--- /dev/null
+++ b/hw/arm/stm32f2xx_gpio.c
@@ -0,0 +1,286 @@
+/*-
+ * Copyright (c) 2013
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+/*
+ * QEMU model of the stm32f2xx GPIO module
+ */
+
+#include "qemu/osdep.h"
+#include "hw/sysbus.h"
+#include "hw/arm/stm32.h"
+#include "hw/irq.h"
+#include "hw/qdev-properties.h"
+
+//#define DEBUG_STM32_GPIO
+#ifdef DEBUG_STM32_GPIO
+// NOTE: The usleep() helps the MacOS stdout from freezing when we have a lot of print out
+#define DPRINTF(fmt, ...) \
+ do { printf("STM32F2XX_GPIO: " fmt , ## __VA_ARGS__); \
+ usleep(100); \
+ } while (0)
+#else
+#define DPRINTF(fmt, ...)
+#endif
+
+
+#define R_GPIO_MODER (0x00 / 4)
+#define R_GPIO_OTYPER (0x04 / 4)
+#define R_GPIO_OSPEEDR (0x08 / 4)
+#define R_GPIO_PUPDR (0x0c / 4)
+#define R_GPIO_IDR (0x10 / 4)
+#define R_GPIO_ODR (0x14 / 4)
+#define R_GPIO_BSRR (0x18 / 4)
+#define R_GPIO_LCKR (0x1c / 4)
+#define R_GPIO_AFRL (0x20 / 4)
+#define R_GPIO_AFRH (0x24 / 4)
+#define R_GPIO_MAX (0x28 / 4)
+
+struct stm32f2xx_gpio {
+ SysBusDevice busdev;
+ MemoryRegion iomem;
+
+ stm32_periph_t periph;
+ uint32_t idr_mask;
+
+ qemu_irq pin[STM32_GPIO_PIN_COUNT];
+ qemu_irq exti[STM32_GPIO_PIN_COUNT];
+ qemu_irq alternate_function[STM32_GPIO_PIN_COUNT];
+ qemu_irq cpu_wake[STM32_GPIO_PIN_COUNT];
+
+ uint32_t regs[R_GPIO_MAX];
+ uint32_t ccr;
+};
+
+static uint64_t
+stm32f2xx_gpio_read(void *arg, hwaddr offset, unsigned int size)
+{
+ stm32f2xx_gpio *s = arg;
+ uint32_t r;
+
+ offset >>= 2;
+ r = s->regs[offset];
+//printf("GPIO unit %d reg %x return 0x%x\n", s->periph, (int)offset << 2, r);
+ return r;
+}
+
+static void
+f2xx_update_odr(stm32f2xx_gpio *s, uint16_t val)
+{
+ int i;
+ uint16_t changed = s->regs[R_GPIO_ODR] ^ val;
+
+ for (i = 0; i < STM32_GPIO_PIN_COUNT; i++)
+ {
+ if ((changed & 1<busdev.parent_obj.id, i, !!(val & 1<periph, i, val & 1<pin[i], !!(val & 1<regs[R_GPIO_ODR] = val;
+}
+
+static void
+f2xx_update_mode(stm32f2xx_gpio *s, uint32_t val)
+{
+ int i;
+ uint32_t prev_value = s->regs[R_GPIO_MODER];
+
+ for (i = 0; i < STM32_GPIO_PIN_COUNT; i++)
+ {
+ uint32_t setting = (val >> i*2) & 0x03;
+ uint32_t prev_setting = (prev_value >> i*2) & 0x03;
+ if (setting == prev_setting) {
+ continue;
+ }
+
+ DPRINTF("%s mode of pin %i changing to %d\n", s->busdev.parent_obj.id, i, setting);
+ bool is_alternate_function = (setting == 2);
+ qemu_set_irq(s->alternate_function[i], is_alternate_function);
+ }
+ s->regs[R_GPIO_MODER] = val;
+}
+
+static void
+stm32f2xx_gpio_write(void *arg, hwaddr addr, uint64_t data, unsigned int size)
+{
+ stm32f2xx_gpio *s = arg;
+ int offset = addr % 3;
+
+ addr >>= 2;
+ if (addr > R_GPIO_MAX) {
+ qemu_log_mask(LOG_GUEST_ERROR, "invalid GPIO %d write reg 0x%x\n",
+ s->periph, (unsigned int)addr << 2);
+ return;
+ }
+
+ switch(size) {
+ case 1:
+ data = (s->regs[addr] & ~(0xff << (offset * 8))) | data << (offset * 8);
+ break;
+ case 2:
+ data = (s->regs[addr] & ~(0xffff << (offset * 8))) | data << (offset * 8);
+ break;
+ case 4:
+ break;
+ default:
+ abort();
+ }
+
+ switch (addr) {
+ case R_GPIO_MODER:
+ f2xx_update_mode(s, data);
+ break;
+ case R_GPIO_ODR:
+ f2xx_update_odr(s, data);
+ break;
+ case R_GPIO_BSRR:
+ {
+ uint16_t new_val = s->regs[R_GPIO_ODR];
+ new_val &= ~((data >> 16) & 0xffff); /* BRy */
+ new_val |= data & 0xffff; /* BSy */
+ f2xx_update_odr(s, new_val);
+ break;
+ }
+ default:
+ qemu_log_mask(LOG_UNIMP, "f2xx GPIO %d reg 0x%x:%d write (0x%x) unimplemented\n",
+ s->periph, (int)addr << 2, offset, (int)data);
+ s->regs[addr] = data;
+ break;
+ }
+}
+
+static const MemoryRegionOps stm32f2xx_gpio_ops = {
+ .read = stm32f2xx_gpio_read,
+ .write = stm32f2xx_gpio_write,
+ .endianness = DEVICE_NATIVE_ENDIAN,
+ .valid = {
+ .min_access_size = 1,
+ .max_access_size = 4
+ }
+};
+
+static void
+stm32f2xx_gpio_reset(DeviceState *dev)
+{
+ stm32f2xx_gpio *s = STM32F2XX_GPIO(dev);
+
+ switch (s->periph) {
+ case 0:
+ s->regs[R_GPIO_MODER] = 0xa8000000;
+ s->regs[R_GPIO_OSPEEDR] = 0x00000000;
+ s->regs[R_GPIO_PUPDR] = 0x64000000;
+ break;
+ case 1:
+ s->regs[R_GPIO_MODER] = 0x00000280;
+ s->regs[R_GPIO_OSPEEDR] = 0x000000C0;
+ s->regs[R_GPIO_PUPDR] = 0x00000100;
+ break;
+ default:
+ s->regs[R_GPIO_MODER] = 0x00000000;
+ s->regs[R_GPIO_OSPEEDR] = 0x00000000;
+ s->regs[R_GPIO_PUPDR] = 0x00000000;
+ break;
+ }
+ /* Mask out the IDR bits as specified */
+ s->regs[R_GPIO_IDR] = 0x0000ffff & ~(s->idr_mask);
+}
+
+static void
+f2xx_gpio_set(void *arg, int pin, int level)
+{
+ stm32f2xx_gpio *s = arg;
+ uint32_t bit = 1<regs[R_GPIO_IDR] |= bit;
+ else
+ s->regs[R_GPIO_IDR] &= ~bit;
+
+ /* Inform EXTI module of pin state */
+ qemu_set_irq(s->exti[pin], level);
+
+ // For the stm32, only GPIOA, pin 0 will have a wakeup handler tied to it. It will be
+ // tied to a handler callback in the NVIC.
+ qemu_set_irq(s->cpu_wake[pin], level);
+
+ DPRINTF("GPIO %d set pin %d level %d\n", s->periph, pin, level);
+}
+
+void
+f2xx_gpio_exti_set(stm32f2xx_gpio *s, unsigned pin, qemu_irq irq)
+{
+ s->exti[pin] = irq;
+ DPRINTF("GPIO %d set exti %d irq %p\n", s->periph, pin, irq);
+}
+
+void
+f2xx_gpio_wake_set(stm32f2xx_gpio *s, unsigned pin, qemu_irq irq)
+{
+ s->cpu_wake[pin] = irq;
+ DPRINTF("GPIO %d set cpu_wake %d irq %p\n", s->periph, pin, irq);
+}
+
+static void
+stm32f2xx_gpio_init(Object *obj)
+{
+ stm32f2xx_gpio *s = STM32F2XX_GPIO(obj);
+ SysBusDevice *dev = SYS_BUS_DEVICE(obj);
+
+ memory_region_init_io(&s->iomem, OBJECT(s), &stm32f2xx_gpio_ops, s, "gpio", 0x400);
+ sysbus_init_mmio(dev, &s->iomem);
+
+ qdev_init_gpio_in(DEVICE(dev), f2xx_gpio_set, STM32_GPIO_PIN_COUNT);
+ qdev_init_gpio_out(DEVICE(dev), s->pin, STM32_GPIO_PIN_COUNT);
+ qdev_init_gpio_out_named(DEVICE(dev), s->alternate_function, "af", STM32_GPIO_PIN_COUNT);
+}
+
+static Property stm32f2xx_gpio_properties[] = {
+ DEFINE_PROP_INT32("periph", stm32f2xx_gpio, periph, -1),
+ DEFINE_PROP_UINT32("idr-mask", stm32f2xx_gpio, idr_mask, 0),
+ DEFINE_PROP_END_OF_LIST()
+};
+
+static void
+stm32f2xx_gpio_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+
+ dc->reset = stm32f2xx_gpio_reset;
+ device_class_set_props(dc, stm32f2xx_gpio_properties);
+}
+
+static const TypeInfo stm32f2xx_gpio_info = {
+ .name = TYPE_STM32F2XX_GPIO,
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(stm32f2xx_gpio),
+ .instance_init = stm32f2xx_gpio_init,
+ .class_init = stm32f2xx_gpio_class_init
+};
+
+static void
+stm32f2xx_gpio_register_types(void)
+{
+ type_register_static(&stm32f2xx_gpio_info);
+}
+
+type_init(stm32f2xx_gpio_register_types)
diff --git a/hw/arm/stm32f2xx_i2c.c b/hw/arm/stm32f2xx_i2c.c
new file mode 100644
index 0000000000000..68016eafa624a
--- /dev/null
+++ b/hw/arm/stm32f2xx_i2c.c
@@ -0,0 +1,294 @@
+/*-
+ * Copyright (c) 2013
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+/*
+ * QEMU model of the stm32f2xx I2C controller.
+ */
+
+#include "qemu/osdep.h"
+#include "hw/sysbus.h"
+#include "hw/arm/stm32.h"
+#include "hw/i2c/i2c.h"
+#include "hw/hw.h"
+#include "hw/qdev-properties.h"
+#include "hw/irq.h"
+
+#define R_I2C_CR1 (0x00 / 4)
+#define R_I2C_CR2 (0x04 / 4)
+#define R_I2C_OAR1 (0x08 / 4)
+#define R_I2C_OAR2 (0x0c / 4)
+#define R_I2C_DR (0x10 / 4)
+#define R_I2C_SR1 (0x14 / 4)
+#define R_I2C_SR2 (0x18 / 4)
+#define R_I2C_CCR (0x1c / 4)
+#define R_I2C_TRISE (0x20 / 4)
+#define R_I2C_MAX (0x24 / 4)
+
+
+#define R_I2C_CR1_PE_BIT 0x00001
+#define R_I2C_CR1_SMBUS_BIT 0x00002
+#define R_I2C_CR1_SMBTYPE_BIT 0x00008
+#define R_I2C_CR1_ENARB_BIT 0x00010
+#define R_I2C_CR1_ENPEC_BIT 0x00020
+#define R_I2C_CR1_ENGC_BIT 0x00040
+#define R_I2C_CR1_NOSTRETCH_BIT 0x00080
+#define R_I2C_CR1_START_BIT 0x00100
+#define R_I2C_CR1_STOP_BIT 0x00200
+#define R_I2C_CR1_ACK_BIT 0x00400
+#define R_I2C_CR1_POS_BIT 0x00800
+#define R_I2C_CR1_PEC_BIT 0x01000
+#define R_I2C_CR1_ALERT_BIT 0x02000
+#define R_I2C_CR1_SWRTS_BIT 0x08000
+
+
+#define R_I2C_CR2_ITERREN_BIT 0x00100
+#define R_I2C_CR2_ITEVTEN_BIT 0x00200
+#define R_I2C_CR2_ITBUFEN_BIT 0x00400
+#define R_I2C_CR2_DMAEN_BIT 0x00800
+#define R_I2C_CR2_LAST_BIT 0x01000
+
+#define R_I2C_SR1_SB_BIT 0x00001
+#define R_I2C_SR1_ADDR_BIT 0x00002
+#define R_I2C_SR1_BTF_BIT 0x00004
+#define R_I2C_SR1_ADD10_BIT 0x00008
+#define R_I2C_SR1_STOPF_BIT 0x00010
+#define R_I2C_SR1_RxNE_BIT 0x00040
+#define R_I2C_SR1_TxE_BIT 0x00080
+#define R_I2C_SR1_BERR_BIT 0x00100
+#define R_I2C_SR1_ARLO_BIT 0x00200
+#define R_I2C_SR1_AF_BIT 0x00400
+#define R_I2C_SR1_OVR_BIT 0x00800
+#define R_I2C_SR1_PECERR_BIT 0x01000
+#define R_I2C_SR1_TIMEOUT_BIT 0x04000
+#define R_I2C_SR1_SMBALERT_BIT 0x08000
+
+
+
+//#define DEBUG_STM32F2XX_I2c
+#ifdef DEBUG_STM32F2XX_I2c
+// NOTE: The usleep() helps the MacOS stdout from freezing when we have a lot of print out
+#define DPRINTF(fmt, ...) \
+ do { printf("STM32F2XX_I2c: " fmt , ## __VA_ARGS__); \
+ usleep(1000); \
+ } while (0)
+#else
+#define DPRINTF(fmt, ...)
+#endif
+
+static const char *f2xx_i2c_reg_name_arr[] = {
+ "CR1",
+ "CR2",
+ "OAR1",
+ "OAR2",
+ "DR",
+ "SR1",
+ "SR2",
+ "CCR",
+ "TRISE"
+};
+
+
+
+typedef struct f2xx_i2c {
+ SysBusDevice busdev;
+ MemoryRegion iomem;
+ qemu_irq evt_irq;
+ qemu_irq err_irq;
+
+ I2CBus *bus;
+
+ stm32_periph_t periph;
+
+ int32_t rx;
+ int rx_full;
+ uint16_t regs[R_I2C_MAX];
+
+} f2xx_i2c;
+
+
+/* Routine which updates the I2C's IRQs. This should be called whenever
+ * an interrupt-related flag is updated.
+ */
+static void f2xx_i2c_update_irq(f2xx_i2c *s) {
+ int new_err_irq_level = 0;
+ if (s->regs[R_I2C_CR2] & R_I2C_CR2_ITERREN_BIT) {
+ new_err_irq_level = (s->regs[R_I2C_SR1] & R_I2C_SR1_BERR_BIT)
+ | (s->regs[R_I2C_SR1] & R_I2C_SR1_ARLO_BIT)
+ | (s->regs[R_I2C_SR1] & R_I2C_SR1_AF_BIT)
+ | (s->regs[R_I2C_SR1] & R_I2C_SR1_OVR_BIT)
+ | (s->regs[R_I2C_SR1] & R_I2C_SR1_PECERR_BIT)
+ | (s->regs[R_I2C_SR1] & R_I2C_SR1_TIMEOUT_BIT)
+ | (s->regs[R_I2C_SR1] & R_I2C_SR1_SMBALERT_BIT);
+ }
+
+ int new_evt_irq_level = 0;
+ if (s->regs[R_I2C_CR2] & R_I2C_CR2_ITEVTEN_BIT) {
+ new_evt_irq_level = (s->regs[R_I2C_SR1] & R_I2C_SR1_SB_BIT)
+ | (s->regs[R_I2C_SR1] & R_I2C_SR1_ADDR_BIT)
+ | (s->regs[R_I2C_SR1] & R_I2C_SR1_ADD10_BIT)
+ | (s->regs[R_I2C_SR1] & R_I2C_SR1_STOPF_BIT)
+ | (s->regs[R_I2C_SR1] & R_I2C_SR1_BTF_BIT);
+
+ if (s->regs[R_I2C_CR2] & R_I2C_CR2_ITBUFEN_BIT) {
+ new_evt_irq_level |= (s->regs[R_I2C_SR1] & R_I2C_SR1_TxE_BIT)
+ | (s->regs[R_I2C_SR1] & R_I2C_SR1_RxNE_BIT);
+ }
+ }
+
+ DPRINTF("%s %s: setting evt_irq to %d\n", __func__, s->busdev.parent_obj.id,
+ !!new_evt_irq_level);
+ qemu_set_irq(s->evt_irq, !!new_evt_irq_level);
+
+ DPRINTF("%s %s: setting err_irq to %d\n", __func__, s->busdev.parent_obj.id,
+ !!new_err_irq_level);
+ qemu_set_irq(s->err_irq, !!new_err_irq_level);
+}
+
+
+
+static uint64_t
+f2xx_i2c_read(void *arg, hwaddr offset, unsigned size)
+{
+ f2xx_i2c *s = arg;
+ uint16_t r = UINT16_MAX;
+ const char *reg_name = "UNKNOWN";
+
+ if (!(size == 2 || size == 4 || (offset & 0x3) != 0)) {
+ STM32_BAD_REG(offset, size);
+ }
+ offset >>= 2;
+ if (offset < R_I2C_MAX) {
+ r = s->regs[offset];
+ reg_name = f2xx_i2c_reg_name_arr[offset];
+ } else {
+ qemu_log_mask(LOG_GUEST_ERROR, "Out of range I2C write, offset 0x%x\n",
+ (unsigned)offset << 2);
+ }
+
+ DPRINTF("%s %s: register %s, result: 0x%x\n", __func__, s->busdev.parent_obj.id,
+ reg_name, r);
+ return r;
+}
+
+
+static void
+f2xx_i2c_write(void *arg, hwaddr offset, uint64_t data, unsigned size)
+{
+ const char *reg_name = "UNKNOWN";
+ struct f2xx_i2c *s = (struct f2xx_i2c *)arg;
+
+ if (size != 2 && size != 4) {
+ STM32_BAD_REG(offset, size);
+ }
+ /* I2C registers are all at most 16 bits wide */
+ data &= 0xFFFFF;
+ offset >>= 2;
+
+ if (offset < R_I2C_MAX) {
+ reg_name = f2xx_i2c_reg_name_arr[offset];
+ }
+ DPRINTF("%s %s: register %s, data: 0x%llx, size:%d\n", __func__, s->busdev.parent_obj.id,
+ reg_name, data, size);
+
+
+ switch (offset) {
+ case R_I2C_CR1:
+ s->regs[offset] = data;
+ if (data & R_I2C_CR1_START_BIT) {
+ // For now, abort all attempted master transfers with a bus error
+ s->regs[R_I2C_SR1] |= R_I2C_SR1_BERR_BIT;
+ }
+ if ((data & R_I2C_CR1_PE_BIT) == 0) {
+ s->regs[R_I2C_SR1] = 0;
+ }
+ break;
+
+ case R_I2C_DR:
+ i2c_send(s->bus, (uint8_t)data);
+ break;
+
+ default:
+ if (offset < ARRAY_SIZE(s->regs)) {
+ s->regs[offset] = data;
+ } else {
+ STM32_BAD_REG(offset, WORD_ACCESS_SIZE);
+ }
+ }
+ f2xx_i2c_update_irq(s);
+}
+
+static const MemoryRegionOps f2xx_i2c_ops = {
+ .read = f2xx_i2c_read,
+ .write = f2xx_i2c_write,
+ .endianness = DEVICE_NATIVE_ENDIAN
+};
+
+static void
+f2xx_i2c_reset(DeviceState *dev)
+{
+ //struct f2xx_i2c *s = FROM_SYSBUS(struct f2xx_i2c, SYS_BUS_DEVICE(dev));
+
+// s->regs[R_SR] = R_SR_RESET;
+}
+
+static void
+f2xx_i2c_init(Object *obj)
+{
+ SysBusDevice *dev = SYS_BUS_DEVICE(obj);
+ struct f2xx_i2c *s = STM32F2XX_I2C(obj);
+
+ memory_region_init_io(&s->iomem, OBJECT(s), &f2xx_i2c_ops, s, "i2c", 0x3ff);
+ sysbus_init_mmio(dev, &s->iomem);
+ sysbus_init_irq(dev, &s->evt_irq);
+ sysbus_init_irq(dev, &s->err_irq);
+ s->bus = i2c_init_bus(DEVICE(dev), "i2c");
+}
+
+
+static Property f2xx_i2c_properties[] = {
+ DEFINE_PROP_INT32("periph", struct f2xx_i2c, periph, -1),
+ DEFINE_PROP_END_OF_LIST()
+};
+
+static void
+f2xx_i2c_class_init(ObjectClass *c, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(c);
+
+ dc->reset = f2xx_i2c_reset;
+ device_class_set_props(dc, f2xx_i2c_properties);
+}
+
+static const TypeInfo f2xx_i2c_info = {
+ .name = TYPE_STM32F2XX_I2C,
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(struct f2xx_i2c),
+ .instance_init = f2xx_i2c_init,
+ .class_init = f2xx_i2c_class_init
+};
+
+static void
+f2xx_i2c_register_types(void)
+{
+ type_register_static(&f2xx_i2c_info);
+}
+
+type_init(f2xx_i2c_register_types)
diff --git a/hw/arm/stm32f2xx_pwr.c b/hw/arm/stm32f2xx_pwr.c
new file mode 100644
index 0000000000000..25a5d0045ef02
--- /dev/null
+++ b/hw/arm/stm32f2xx_pwr.c
@@ -0,0 +1,194 @@
+/*-
+ * Copyright (c) 2014
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+/*
+ * QEMU stm32f2xx RTC emulation
+ */
+
+#include "qemu/osdep.h"
+#include
+#include "hw/sysbus.h"
+#include "qemu/timer.h"
+#include "hw/qdev-properties.h"
+#include "hw/arm/stm32.h"
+
+//#define DEBUG_STM32F2XX_PWR
+#ifdef DEBUG_STM32F2XX_PWR
+// NOTE: The usleep() helps the MacOS stdout from freezing when we have a lot of print out
+#define DPRINTF(fmt, ...) \
+ do { printf("DEBUG_STM32F2XX_PWR: " fmt , ## __VA_ARGS__); \
+ usleep(1000); \
+ } while (0)
+#else
+#define DPRINTF(fmt, ...)
+#endif
+
+#define R_PWR_CR (0x00/4)
+#define R_PWR_CR_LPDS 0x00000001
+#define R_PWR_CR_PDDS 0x00000002
+
+#define R_PWR_CSR (0x04/4)
+
+#define R_PWR_MAX (0x08/4)
+
+typedef struct f2xx_pwr {
+ SysBusDevice busdev;
+ MemoryRegion iomem;
+
+ uint32_t regs[R_PWR_MAX];
+} f2xx_pwr;
+
+
+
+static uint64_t
+f2xx_pwr_read(void *arg, hwaddr addr, unsigned int size)
+{
+ f2xx_pwr *s = arg;
+ uint32_t r;
+ int offset = addr & 0x3;
+
+ addr >>= 2;
+ if (addr >= R_PWR_MAX) {
+ qemu_log_mask(LOG_GUEST_ERROR, "invalid read f2xx pwr register 0x%x\n",
+ (unsigned int)addr << 2);
+ DPRINTF(" %s: result: 0\n", __func__);
+ return 0;
+ }
+
+ uint32_t value = s->regs[addr];
+
+ r = (value >> offset * 8) & ((1ull << (8 * size)) - 1);
+
+ DPRINTF("%s: addr: 0x%llx, size: %d, value: 0x%x\n", __func__, addr, size, r);
+ return r;
+}
+
+static void
+f2xx_pwr_write(void *arg, hwaddr addr, uint64_t data, unsigned int size)
+{
+ f2xx_pwr *s = arg;
+ int offset = addr & 0x3;
+
+ DPRINTF("%s: addr: 0x%llx, data: 0x%llx, size: %d\n", __func__, addr, data, size);
+
+ addr >>= 2;
+ if (addr >= R_PWR_MAX) {
+ qemu_log_mask(LOG_GUEST_ERROR, "invalid write f2xx pwr register 0x%x\n",
+ (unsigned int)addr << 2);
+ return;
+ }
+
+ switch(size) {
+ case 1:
+ data = (s->regs[addr] & ~(0xff << (offset * 8))) | data << (offset * 8);
+ break;
+ case 2:
+ data = (s->regs[addr] & ~(0xffff << (offset * 8))) | data << (offset * 8);
+ break;
+ case 4:
+ break;
+ default:
+ abort();
+ }
+
+ switch(addr) {
+ case R_PWR_CR:
+ case R_PWR_CSR:
+ break;
+ default:
+ qemu_log_mask(LOG_UNIMP, "f2xx pwr unimplemented write 0x%x+%u size %u val 0x%x\n",
+ (unsigned int)addr << 2, offset, size, (unsigned int)data);
+ }
+
+ // Save new value
+ s->regs[addr] = data;
+}
+
+static const MemoryRegionOps f2xx_pwr_ops = {
+ .read = f2xx_pwr_read,
+ .write = f2xx_pwr_write,
+ .endianness = DEVICE_NATIVE_ENDIAN,
+ .impl = {
+ .min_access_size = 1,
+ .max_access_size = 4,
+ }
+};
+
+
+// Return true if we should go into standby mode when the process goes into deepsleep.
+// deepsleep is entered if the SLEEPDEEP bit is set in the SCR register when the processor
+// executes a WFI instruction.
+bool f2xx_pwr_powerdown_deepsleep(void *opaqe)
+{
+ f2xx_pwr *s = opaqe;
+ return s->regs[R_PWR_CR] & R_PWR_CR_PDDS;
+}
+
+static void f2xx_pwr_reset(DeviceState *dev)
+{
+ f2xx_pwr *s = STM32F2XX_PWR(dev);
+
+ memset(s->regs, 0, sizeof(s->regs));
+}
+
+
+static void
+f2xx_pwr_init(Object *obj)
+{
+ SysBusDevice *dev = SYS_BUS_DEVICE(obj);
+ f2xx_pwr *s = STM32F2XX_PWR(obj);
+
+ memory_region_init_io(&s->iomem, OBJECT(s), &f2xx_pwr_ops, s, "pwr", 0x08);
+ sysbus_init_mmio(dev, &s->iomem);
+
+ s->regs[R_PWR_CR] = 0;
+ s->regs[R_PWR_CSR] = 0;
+}
+
+static Property f2xx_pwr_properties[] = {
+ DEFINE_PROP_END_OF_LIST(),
+};
+
+static void
+f2xx_pwr_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+ SysBusDeviceClass *sc = SYS_BUS_DEVICE_CLASS(klass);
+ dc->reset = f2xx_pwr_reset;
+ device_class_set_props(dc, f2xx_pwr_properties);
+}
+
+static const TypeInfo
+f2xx_pwr_info = {
+ .name = TYPE_STM32F2XX_PWR,
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(f2xx_pwr),
+ .instance_init = f2xx_pwr_init,
+ .class_init = f2xx_pwr_class_init,
+};
+
+static void
+f2xx_pwr_register_types(void)
+{
+ type_register_static(&f2xx_pwr_info);
+}
+
+type_init(f2xx_pwr_register_types)
diff --git a/hw/arm/stm32f2xx_rcc.c b/hw/arm/stm32f2xx_rcc.c
new file mode 100644
index 0000000000000..d8c2d2499f8d9
--- /dev/null
+++ b/hw/arm/stm32f2xx_rcc.c
@@ -0,0 +1,1138 @@
+/*
+ * STM32 Microcontroller RCC (Reset and Clock Control) module
+ *
+ * Copyright (C) 2010 Andre Beckus
+ *
+ * Source code based on omap_clk.c
+ * Implementation based on ST Microelectronics "RM0008 Reference Manual Rev 10"
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, see .
+ */
+
+#include "qemu/osdep.h"
+#include "stm32f2xx_rcc.h"
+#include "qemu/timer.h"
+#include "hw/hw.h"
+#include "hw/qdev-properties.h"
+#include "hw/irq.h"
+#include "hw/timer/armv7m_systick.h"
+#include
+
+
+/* DEFINITIONS*/
+
+/* See README for DEBUG details. */
+//#define DEBUG_STM32_RCC
+
+#ifdef DEBUG_STM32_RCC
+#define DPRINTF(fmt, ...) \
+do { printf("STM32F2XX_RCC: " fmt , ## __VA_ARGS__); } while (0)
+#else
+#define DPRINTF(fmt, ...)
+#endif
+
+#define IS_RESET_VALUE(new_value, mask, reset_value) ((new_value & mask) == (mask & reset_value))
+
+#define WARN_UNIMPLEMENTED(new_value, mask, reset_value) \
+ if (!IS_RESET_VALUE(new_value, mask, reset_value)) { \
+ stm32_unimp("Not implemented: RCC " #mask ". Masked value: 0x%08x\n", (new_value & mask)); \
+ }
+
+#define WARN_UNIMPLEMENTED_REG(offset) \
+ stm32_unimp("STM32f2xx_rcc: unimplemented register: 0x%x", (int)offset)
+
+#define HSI_FREQ 16000000
+#define LSI_FREQ 32000
+
+#define RCC_CR_RESET_VALUE 0x00000083
+#define RCC_CR_OFFSET 0x00
+#define RCC_CR_PLLI2SRDY_BIT 27
+#define RCC_CR_PLLI2SON_BIT 26
+#define RCC_CR_PLLRDY_BIT 25
+#define RCC_CR_PLLON_BIT 24
+#define RCC_CR_CSSON_BIT 19
+#define RCC_CR_HSEBYP_BIT 18
+#define RCC_CR_HSERDY_BIT 17
+#define RCC_CR_HSEON_BIT 16
+#define RCC_CR_HSICAL_START 8
+#define RCC_CR_HSICAL_MASK 0x0000ff00
+#define RCC_CR_HSITRIM_START 3
+#define RCC_CR_HSITRIM_MASK 0x000000f8
+#define RCC_CR_HSIRDY_BIT 1
+#define RCC_CR_HSION_BIT 0
+
+#define RCC_PLLCFGR_RESET_VALUE 0x24003010
+#define RCC_PLLCFGR_OFFSET 0x04
+#define RCC_PLLCFGR_PLLQ_MASK 0x0F000000
+#define RCC_PLLCFGR_PLLQ_START 24
+#define RCC_PLLCFGR_PLLSRC_BIT 22
+#define RCC_PLLCFGR_PLLP_MASK 0x00030000
+#define RCC_PLLCFGR_PLLP_START 16
+#define RCC_PLLCFGR_PLLN_MASK 0x00007FC0
+#define RCC_PLLCFGR_PLLN_START 6
+#define RCC_PLLCFGR_PLLM_MASK 0x0000003F
+#define RCC_PLLCFGR_PLLM_START 0
+
+#define RCC_CFGR_RESET_VALUE 0x00000000
+#define RCC_CFGR_OFFSET 0x08
+#define RCC_CFGR_MCO2_START 30
+#define RCC_CFGR_MCO2_MASK 0xC0000000
+#define RCC_CFGR_MCO2PRE_START 27
+#define RCC_CFGR_MCO2PRE_MASK 0x38000000
+#define RCC_CFGR_MCO1PRE_START 24
+#define RCC_CFGR_MCO1PRE_MASK 0x07000000
+#define RCC_CFGR_I2CSRC_BIT 23
+#define RCC_CFGR_MCO1_START 21
+#define RCC_CFGR_MCO1_MASK 0x00600000
+#define RCC_CFGR_RTCPRE_START 16
+#define RCC_CFGR_RTCPRE_MASK 0x001F0000
+#define RCC_CFGR_PPRE2_START 13
+#define RCC_CFGR_PPRE2_MASK 0x0000E000
+#define RCC_CFGR_PPRE1_START 10
+#define RCC_CFGR_PPRE1_MASK 0x00001C00
+#define RCC_CFGR_HPRE_START 4
+#define RCC_CFGR_HPRE_MASK 0x000000F0
+#define RCC_CFGR_SWS_START 2
+#define RCC_CFGR_SWS_MASK 0x0000000C
+#define RCC_CFGR_SW_START 0
+#define RCC_CFGR_SW_MASK 0x00000003
+
+#define RCC_CIR_RESET_VALUE 0x00000000
+#define RCC_CIR_OFFSET 0x0C
+#define RCC_CIR_CSSC_BIT 23
+#define RCC_CIR_PLLI2SRDYC_BIT 21
+#define RCC_CIR_PLLRDYC_BIT 20
+#define RCC_CIR_HSERDYC_BIT 19
+#define RCC_CIR_HSIRDYC_BIT 18
+#define RCC_CIR_LSERDYC_BIT 17
+#define RCC_CIR_LSIRDYC_BIT 16
+#define RCC_CIR_PLLI2SRDYIE_BIT 13
+#define RCC_CIR_PLLRDYIE_BIT 12
+#define RCC_CIR_HSERDYIE_BIT 11
+#define RCC_CIR_HSIRDYIE_BIT 10
+#define RCC_CIR_LSERDYIE_BIT 9
+#define RCC_CIR_LSIRDYIE_BIT 8
+#define RCC_CIR_CSSF_BIT 7
+#define RCC_CIR_PLLI2SRDYF_BIT 5
+#define RCC_CIR_PLLRDYF_BIT 4
+#define RCC_CIR_HSERDYF_BIT 3
+#define RCC_CIR_HSIRDYF_BIT 2
+#define RCC_CIR_LSERDYF_BIT 1
+#define RCC_CIR_LSIRDYF_BIT 0
+
+#define RCC_AHB1RSTR_OFFSET 0x10
+
+#define RCC_AHB2RSTR_OFFSET 0x14
+
+#define RCC_AHB3RSTR_OFFSET 0x18
+
+#define RCC_APB1RSTR_OFFSET 0x20
+
+#define RCC_APB2RSTR_RESET_VALUE 0x00000000
+#define RCC_APB2RSTR_OFFSET 0x24
+#define RCC_APB2RSTR_TIM11RST_BIT 18
+#define RCC_APB2RSTR_TIM10RST_BIT 17
+#define RCC_APB2RSTR_TIM9RST_BIT 16
+#define RCC_APB2RSTR_SYSCFGRST 14
+#define RCC_APB2RSTR_SPI1_BIT 12
+#define RCC_APB2RSTR_SDIORST_BIT 11
+#define RCC_APB2RSTR_ADCRST_BIT 8
+#define RCC_APB2RSTR_USART6RST 5
+#define RCC_APB2RSTR_USART1RST 4
+#define RCC_APB2RSTR_TIM8RST_BIT 1
+#define RCC_APB2RSTR_TIM1RST_BIT 0
+
+#define RCC_AHB1ENR_RESET_VALUE 0x00000000
+#define RCC_AHB1ENR_OFFSET 0x30
+#define RCC_AHB1ENR_OTGHSULPIEN_BIT 30
+#define RCC_AHB1ENR_OTGHSEN_BIT 29
+#define RCC_AHB1ENR_ETHMACPTPEN_BIT 28
+#define RCC_AHB1ENR_ETHMACRXEN_BIT 27
+#define RCC_AHB1ENR_ETHMACTXEN_BIT 26
+#define RCC_AHB1ENR_ETHMACEN_BIT 25
+#define RCC_AHB1ENR_DMA2EN_BIT 22
+#define RCC_AHB1ENR_DMA1EN_BIT 21
+#define RCC_AHB1ENR_BKPSRAMEN_BIT 18
+#define RCC_AHB1ENR_CRCEN_BIT 12
+#define RCC_AHB1ENR_GPIOKEN_BIT 10
+#define RCC_AHB1ENR_GPIOJEN_BIT 9
+#define RCC_AHB1ENR_GPIOIEN_BIT 8
+#define RCC_AHB1ENR_GPIOHEN_BIT 7
+#define RCC_AHB1ENR_GPIOGEN_BIT 6
+#define RCC_AHB1ENR_GPIOFEN_BIT 5
+#define RCC_AHB1ENR_GPIOEEN_BIT 4
+#define RCC_AHB1ENR_GPIODEN_BIT 3
+#define RCC_AHB1ENR_GPIOCEN_BIT 2
+#define RCC_AHB1ENR_GPIOBEN_BIT 1
+#define RCC_AHB1ENR_GPIOAEN_BIT 0
+
+#define RCC_AHB2ENR_OFFSET 0x34
+#define RCC_AHB2ENR_DCMIEN_BIT 0
+#define RCC_AHB2ENR_CRYPEN_BIT 4
+#define RCC_AHB2ENR_HASHEN_BIT 5
+#define RCC_AHB2ENR_RNGEN_BIT 6
+#define RCC_AHB2ENR_OTGFSEN_BIT 7
+
+#define RCC_AHB3ENR_OFFSET 0x38
+#define RCC_AHB3ENR_FSMCEN_BIT 0
+
+#define RCC_APB1ENR_RESET_VALUE 0x00000000
+#define RCC_APB1ENR_OFFSET 0x40
+#define RCC_APB1ENR_USART8EN_BIT 31
+#define RCC_APB1ENR_USART7EN_BIT 30
+#define RCC_APB1ENR_DACEN_BIT 29
+#define RCC_APB1ENR_PWREN_BIT 28
+#define RCC_APB1ENR_BKPEN_BIT 27
+#define RCC_APB1ENR_CAN2EN_BIT 26
+#define RCC_APB1ENR_CAN1EN_BIT 25
+#define RCC_APB1ENR_CANEN_BIT 25
+#define RCC_APB1ENR_USBEN_BIT 23
+#define RCC_APB1ENR_I2C2EN_BIT 22
+#define RCC_APB1ENR_I2C1EN_BIT 21
+#define RCC_APB1ENR_USART5EN_BIT 20
+#define RCC_APB1ENR_USART4EN_BIT 19
+#define RCC_APB1ENR_USART3EN_BIT 18
+#define RCC_APB1ENR_USART2EN_BIT 17
+#define RCC_APB1ENR_SPI3EN_BIT 15
+#define RCC_APB1ENR_SPI2EN_BIT 14
+#define RCC_APB1ENR_WWDGEN_BIT 11
+#define RCC_APB1ENR_TIM7EN_BIT 5
+#define RCC_APB1ENR_TIM6EN_BIT 4
+#define RCC_APB1ENR_TIM5EN_BIT 3
+#define RCC_APB1ENR_TIM4EN_BIT 2
+#define RCC_APB1ENR_TIM3EN_BIT 1
+#define RCC_APB1ENR_TIM2EN_BIT 0
+
+#define RCC_APB2ENR_RESET_VALUE 0x00000000
+#define RCC_APB2ENR_OFFSET 0x44
+#define RCC_APB2ENR_MASK 0x00075F33
+#define RCC_APB2ENR_TIM11EN 18
+#define RCC_APB2ENR_TIM10EN 17
+#define RCC_APB2ENR_TIM9EN 16
+#define RCC_APB2ENR_SYSCFGEN_BIT 14
+#define RCC_APB2ENR_SPI1EN_BIT 12
+#define RCC_APB2ENR_SDIOEN_BIT 11
+#define RCC_APB2ENR_ADC3EN_BIT 10
+#define RCC_APB2ENR_ADC2EN_BIT 9
+#define RCC_APB2ENR_ADC1EN_BIT 8
+#define RCC_APB2ENR_USART6EN_BIT 5
+#define RCC_APB2ENR_USART1EN_BIT 4
+#define RCC_APB2ENR_TIM8EN_BIT 1
+#define RCC_APB2ENR_TIM1EN_BIT 0
+
+#define RCC_AHB1LPENR_RESET_VALUE 0x7E6791FF
+#define RCC_AHB1LPENR_OFFSET 0x50
+
+#define RCC_AHB2LPENR_RESET_VALUE 0x000000F1
+#define RCC_AHB2LPENR_OFFSET 0x54
+
+#define RCC_AHB3LPENR_RESET_VALUE 0x00000001
+#define RCC_AHB3LPENR_OFFSET 0x58
+
+#define RCC_APB1LPENR_RESET_VALUE 0x36FEC9FF
+#define RCC_APB1LPENR_OFFSET 0x60
+
+#define RCC_APB2LPENR_RESET_VALUE 0x00075F33
+#define RCC_APB2LPENR_OFFSET 0x64
+
+#define RCC_BDCR_RESET_VALUE 0x00000000
+#define RCC_BDCR_OFFSET 0x70
+#define RCC_BDCR_BDRST_BIT 16
+#define RCC_BDCR_RTCEN_BIT 15
+#define RCC_BDCR_RTCSEL_START 8
+#define RCC_BDCR_RTCSEL_MASK 0x00000300
+#define RCC_BDCR_LSEBYP_BIT 2
+#define RCC_BDCR_LSERDY_BIT 1
+#define RCC_BDCR_LSEON_BIT 0
+
+#define RCC_CSR_RESET_VALUE 0x0E000000
+#define RCC_CSR_OFFSET 0x74
+#define RCC_CSR_LPWRRSTF_BIT 31
+#define RCC_CSR_WWDGRSTF_BIT 30
+#define RCC_CSR_IWDGRSTF_BIT 29
+#define RCC_CSR_SFTRSTF_BIT 28
+#define RCC_CSR_PORRSTF_BIT 27
+#define RCC_CSR_PINRSTF_BIT 26
+#define RCC_CSR_BORRSTF_BIT 25
+#define RCC_CSR_RMVF_BIT 24
+#define RCC_CSR_LSIRDY_BIT 1
+#define RCC_CSR_LSION_BIT 0
+
+#define RCC_SSCGR_RESET_VALUE 0x00000000
+#define RCC_SSCGR_OFFSET 0x80
+
+#define RCC_PLLI2SCFGR_RESET_VALUE 0x20003000
+#define RCC_PLLI2SCFGR_OFFSET 0x84
+#define RCC_PLLI2SCFGR_PLLR_MASK 0x70000000
+#define RCC_PLLI2SCFGR_PLLR_START 28
+#define RCC_PLLI2SCFGR_PLLQ_MASK 0x0F000000
+#define RCC_PLLI2SCFGR_PLLQ_START 24
+#define RCC_PLLI2SCFGR_PLLN_MASK 0x00007FC0
+#define RCC_PLLI2SCFGR_PLLN_START 6
+
+
+
+#define PLLSRC_HSI_SELECTED 0
+#define PLLSRC_HSE_SELECTED 1
+
+#define SW_HSI_SELECTED 0
+#define SW_HSE_SELECTED 1
+#define SW_PLL_SELECTED 2
+
+/* HELPER FUNCTIONS */
+struct Clk {
+ const char *name;
+
+ bool enabled;
+
+ uint32_t input_freq, output_freq, max_output_freq;
+
+ uint16_t multiplier, divisor;
+
+ unsigned user_count;
+ qemu_irq user[CLKTREE_MAX_IRQ]; /* Who to notify on change */
+
+ unsigned output_count;
+ struct Clk *output[CLKTREE_MAX_OUTPUT];
+
+ unsigned input_count;
+ int selected_input;
+ struct Clk *input[CLKTREE_MAX_INPUT];
+};
+
+
+/* Enable the peripheral clock if the specified bit is set in the value. */
+static void stm32_rcc_periph_enable(
+ Stm32f2xxRcc *s,
+ uint32_t new_value,
+ bool init,
+ int periph,
+ uint32_t bit_mask)
+{
+ //printf("rcc set 0x%x %s %d %x: %sable\n", new_value, s->PERIPHCLK[periph]->name, periph, bit_mask, IS_BIT_SET(new_value, bit_mask)?"en":"dis");
+ clktree_set_enabled(s->PERIPHCLK[periph], IS_BIT_SET(new_value, bit_mask));
+}
+
+
+
+
+
+/* REGISTER IMPLEMENTATION */
+
+/* Read the configuration register.
+ NOTE: Not implemented: CSS, PLLI2S, clock calibration and trimming. */
+static uint32_t stm32_rcc_RCC_CR_read(Stm32f2xxRcc *s)
+{
+ /* Get the status of the clocks. */
+ const bool PLLON = clktree_is_enabled(s->PLLCLK);
+ const bool HSEON = clktree_is_enabled(s->HSECLK);
+ const bool HSION = clktree_is_enabled(s->HSICLK);
+ const bool PLLI2SON = clktree_is_enabled(s->PLLI2SCLK);
+
+ /* build the register value based on the clock states. If a clock is on,
+ * then its ready bit is always set.
+ */
+ return (
+ GET_BIT_MASK(RCC_CR_PLLRDY_BIT, PLLON) |
+ GET_BIT_MASK(RCC_CR_PLLON_BIT, PLLON) |
+
+ GET_BIT_MASK(RCC_CR_HSERDY_BIT, HSEON) |
+ GET_BIT_MASK(RCC_CR_HSEON_BIT, HSEON) |
+
+ GET_BIT_MASK(RCC_CR_HSIRDY_BIT, HSION) |
+ GET_BIT_MASK(RCC_CR_HSION_BIT, HSION) |
+
+ GET_BIT_MASK(RCC_CR_PLLI2SRDY_BIT, PLLI2SON) |
+ GET_BIT_MASK(RCC_CR_PLLI2SON_BIT, PLLI2SON)
+ );
+}
+
+/* Write the Configuration Register.
+ * This updates the states of the corresponding clocks. The bit values are not
+ * saved - when the register is read, its value will be built using the clock
+ * states.
+ */
+static void stm32_rcc_RCC_CR_write(Stm32f2xxRcc *s, uint32_t new_value, bool init)
+{
+ bool new_PLLON, new_HSEON, new_HSION, new_PLLI2SON;
+
+ new_PLLON = IS_BIT_SET(new_value, RCC_CR_PLLON_BIT);
+ if((clktree_is_enabled(s->PLLCLK) && !new_PLLON) &&
+ s->RCC_CFGR_SW == SW_PLL_SELECTED) {
+ stm32_hw_warn("PLL cannot be disabled while it is selected as the system clock.");
+ }
+ clktree_set_enabled(s->PLLCLK, new_PLLON);
+
+ new_HSEON = IS_BIT_SET(new_value, RCC_CR_HSEON_BIT);
+ if((clktree_is_enabled(s->HSECLK) && !new_HSEON) &&
+ (s->RCC_CFGR_SW == SW_HSE_SELECTED || s->RCC_CFGR_SW == SW_PLL_SELECTED)
+ ) {
+ stm32_hw_warn("HSE oscillator cannot be disabled while it is driving the system clock.");
+ }
+ clktree_set_enabled(s->HSECLK, new_HSEON);
+
+ new_HSION = IS_BIT_SET(new_value, RCC_CR_HSION_BIT);
+ if((clktree_is_enabled(s->HSECLK) && !new_HSEON) &&
+ (s->RCC_CFGR_SW == SW_HSI_SELECTED || s->RCC_CFGR_SW == SW_PLL_SELECTED)
+ ) {
+ stm32_hw_warn("HSI oscillator cannot be disabled while it is driving the system clock.");
+ }
+ clktree_set_enabled(s->HSICLK, new_HSION);
+
+ new_PLLI2SON = IS_BIT_SET(new_value, RCC_CR_PLLI2SON_BIT);
+ clktree_set_enabled(s->PLLI2SCLK, new_PLLI2SON);
+
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_CR_CSSON_BIT, RCC_CR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, RCC_CR_HSICAL_MASK, RCC_CR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, RCC_CR_HSITRIM_MASK, RCC_CR_RESET_VALUE);
+}
+
+
+static uint32_t stm32_rcc_RCC_PLLCFGR_read(Stm32f2xxRcc *s)
+{
+ return s->RCC_PLLCFGR;
+}
+
+static void stm32_rcc_RCC_PLLCFGR_write(Stm32f2xxRcc *s, uint32_t new_value, bool init)
+{
+ /* PLLM division factor */
+ const uint8_t new_PLLM = (new_value & RCC_PLLCFGR_PLLM_MASK) >> RCC_PLLCFGR_PLLM_START;
+ if (new_PLLM <= 1) {
+ hw_error("PLLM division factor cannot be 0 or 1. Given: %u", new_PLLM);
+ }
+
+ /* PLLN multiplication factor */
+ const uint16_t new_PLLN = (new_value & RCC_PLLCFGR_PLLN_MASK) >> RCC_PLLCFGR_PLLN_START;
+ if (new_PLLN <= 1 || new_PLLN >= 433) {
+ hw_error("PLLN multiplication factor must be between 2 and 432 (inclusive). Given: %u", new_PLLN);
+ }
+
+ /* PLLSRC */
+ const uint8_t new_PLLSRC = IS_BIT_SET(new_value, RCC_PLLCFGR_PLLSRC_BIT);
+
+ /* PPLP division factor */
+ const uint8_t new_PLLP = 2 + (2 * ((new_value & RCC_PLLCFGR_PLLP_MASK) >> RCC_PLLCFGR_PLLP_START));
+
+ /* Warn in case of illegal writes: */
+ if (init == false) {
+ const bool are_disabled = (!clktree_is_enabled(s->PLLCLK) /* && TODO: !clktree_is_enabled(s->PLLI2SCLK) */);
+ if (are_disabled == false) {
+ const char *warning_fmt = "Can only change %s while PLL and PLLI2S are disabled";
+ if (new_PLLM != s->RCC_PLLCFGR_PLLM) {
+ stm32_hw_warn(warning_fmt, "PLLM");
+ }
+ if (new_PLLN != s->RCC_PLLCFGR_PLLN) {
+ stm32_hw_warn(warning_fmt, "PLLN");
+ }
+ if (new_PLLSRC != s->RCC_PLLCFGR_PLLSRC) {
+ stm32_hw_warn(warning_fmt, "PLLSRC");
+ }
+ }
+ }
+
+ /* Save new register value */
+ s->RCC_PLLCFGR = new_value;
+
+ /* Set the new values: */
+ s->RCC_PLLCFGR_PLLM = new_PLLM;
+ s->RCC_PLLCFGR_PLLN = new_PLLN;
+ clktree_set_scale(s->PLLM, new_PLLN, new_PLLM);
+
+ s->RCC_PLLCFGR_PLLSRC = new_PLLSRC;
+ clktree_set_selected_input(s->PLLM, new_PLLSRC);
+
+ s->RCC_PLLCFGR_PLLP = new_PLLP;
+ clktree_set_scale(s->PLLCLK, 1, new_PLLP);
+
+ WARN_UNIMPLEMENTED(new_value, RCC_PLLCFGR_PLLQ_MASK, RCC_PLLCFGR_RESET_VALUE);
+}
+
+
+static uint32_t stm32_rcc_RCC_PLLI2SCFGR_read(Stm32f2xxRcc *s)
+{
+ return s->RCC_PLLI2SCFGR;
+}
+
+
+static void stm32_rcc_RCC_PLLI2SCFGR_write(Stm32f2xxRcc *s, uint32_t new_value, bool init)
+{
+ /* PLLR division factor */
+ const uint16_t new_PLLR = (new_value & RCC_PLLI2SCFGR_PLLR_MASK) >> RCC_PLLI2SCFGR_PLLR_START;
+ if (new_PLLR < 2 || new_PLLR > 7) {
+ hw_error("PLLR multiplication factor must be between 2 and 7. Given: %u", new_PLLR);
+ }
+
+ /* PLLQ division factor */
+ const uint16_t new_PLLQ = (new_value & RCC_PLLI2SCFGR_PLLQ_MASK) >> RCC_PLLI2SCFGR_PLLQ_START;
+ if (new_PLLQ > 15) {
+ hw_error("PLLQ multiplication factor must be between 0 and 15 "
+ "(inclusive). Given: %u", new_PLLQ);
+ }
+
+ /* PLLN multiplication factor */
+ const uint16_t new_PLLN = (new_value & RCC_PLLI2SCFGR_PLLN_MASK) >> RCC_PLLI2SCFGR_PLLN_START;
+ if (new_PLLN < 2 || new_PLLN > 433) {
+ hw_error("PLLN multiplication factor must be between 2 and 432 (inclusive). Given: %u", new_PLLN);
+ }
+
+
+ /* Warn in case of illegal writes: */
+ if (init == false) {
+ const bool are_disabled = (!clktree_is_enabled(s->PLLI2SCLK) /* && TODO: !clktree_is_enabled(s->PLLI2SCLK) */);
+ if (are_disabled == false) {
+ const char *warning_fmt = "Can only change %s while PLL and PLLI2S are disabled";
+ if (new_PLLR != s->RCC_PLLI2SCFGR_PLLR) {
+ stm32_hw_warn(warning_fmt, "PLLR");
+ }
+ if (new_PLLQ != s->RCC_PLLI2SCFGR_PLLQ) {
+ stm32_hw_warn(warning_fmt, "PLLQ");
+ }
+ if (new_PLLN != s->RCC_PLLCFGR_PLLN) {
+ stm32_hw_warn(warning_fmt, "PLLN");
+ }
+ }
+ }
+
+ /* Save new register value */
+ s->RCC_PLLI2SCFGR = new_value;
+
+ /* Set the new values: */
+ s->RCC_PLLI2SCFGR_PLLR = new_PLLR;
+ s->RCC_PLLI2SCFGR_PLLQ = new_PLLQ;
+ s->RCC_PLLI2SCFGR_PLLN = new_PLLN;
+ clktree_set_scale(s->PLLI2SM, new_PLLN, s->RCC_PLLCFGR_PLLM );
+
+ clktree_set_scale(s->PLLI2SCLK, 1, new_PLLR);
+ WARN_UNIMPLEMENTED(new_value, RCC_PLLI2SCFGR_PLLQ_MASK, RCC_PLLI2SCFGR_RESET_VALUE);
+}
+
+
+static uint32_t stm32_rcc_RCC_CFGR_read(Stm32f2xxRcc *s)
+{
+ return
+ (s->RCC_CFGR_PPRE2 << RCC_CFGR_PPRE2_START) |
+ (s->RCC_CFGR_PPRE1 << RCC_CFGR_PPRE1_START) |
+ (s->RCC_CFGR_HPRE << RCC_CFGR_HPRE_START) |
+ (s->RCC_CFGR_SW << RCC_CFGR_SW_START) |
+ (s->RCC_CFGR_SW << RCC_CFGR_SWS_START);
+}
+
+static void stm32_rcc_RCC_CFGR_write(Stm32f2xxRcc *s, uint32_t new_value, bool init)
+{
+ /* PPRE2 */
+ s->RCC_CFGR_PPRE2 = (new_value & RCC_CFGR_PPRE2_MASK) >> RCC_CFGR_PPRE2_START;
+ if(s->RCC_CFGR_PPRE2 < 0x4) {
+ clktree_set_scale(s->PCLK2, 1, 1);
+ } else {
+ clktree_set_scale(s->PCLK2, 1, 2 * (s->RCC_CFGR_PPRE2 - 3));
+ }
+
+ /* PPRE1 */
+ s->RCC_CFGR_PPRE1 = (new_value & RCC_CFGR_PPRE1_MASK) >> RCC_CFGR_PPRE1_START;
+ if(s->RCC_CFGR_PPRE1 < 4) {
+ clktree_set_scale(s->PCLK1, 1, 1);
+ } else {
+ clktree_set_scale(s->PCLK1, 1, 2 * (s->RCC_CFGR_PPRE1 - 3));
+ }
+
+ /* HPRE */
+ s->RCC_CFGR_HPRE = (new_value & RCC_CFGR_HPRE_MASK) >> RCC_CFGR_HPRE_START;
+ if(s->RCC_CFGR_HPRE < 8) {
+ clktree_set_scale(s->HCLK, 1, 1);
+ } else {
+ clktree_set_scale(s->HCLK, 1, 2 * (s->RCC_CFGR_HPRE - 7));
+ }
+
+ /* SW */
+ s->RCC_CFGR_SW = (new_value & RCC_CFGR_SW_MASK) >> RCC_CFGR_SW_START;
+ switch(s->RCC_CFGR_SW) {
+ case 0x0:
+ case 0x1:
+ case 0x2:
+ clktree_set_selected_input(s->SYSCLK, s->RCC_CFGR_SW);
+ break;
+ default:
+ hw_error("Invalid input selected for SYSCLK");
+ break;
+ }
+
+ WARN_UNIMPLEMENTED(new_value, RCC_CFGR_MCO2_MASK, RCC_CFGR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, RCC_CFGR_MCO2PRE_MASK, RCC_CFGR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, RCC_CFGR_MCO1PRE_MASK, RCC_CFGR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_CFGR_I2CSRC_BIT, RCC_CFGR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, RCC_CFGR_MCO1_MASK, RCC_CFGR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, RCC_CFGR_RTCPRE_MASK, RCC_CFGR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, RCC_CFGR_SWS_MASK, RCC_CFGR_RESET_VALUE);
+}
+
+static uint32_t stm32_rcc_RCC_CIR_read(Stm32f2xxRcc *s)
+{
+ return s->RCC_CIR;
+}
+
+static void stm32_rcc_RCC_CIR_write(Stm32f2xxRcc *s, uint32_t new_value, bool init)
+{
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_CIR_CSSC_BIT, RCC_CIR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_CIR_PLLI2SRDYC_BIT , RCC_CIR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_CIR_PLLRDYC_BIT , RCC_CIR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_CIR_HSERDYC_BIT , RCC_CIR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_CIR_HSIRDYC_BIT , RCC_CIR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_CIR_LSERDYC_BIT , RCC_CIR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_CIR_LSIRDYC_BIT , RCC_CIR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_CIR_PLLI2SRDYIE_BIT , RCC_CIR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_CIR_PLLRDYIE_BIT , RCC_CIR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_CIR_HSERDYIE_BIT , RCC_CIR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_CIR_HSIRDYIE_BIT , RCC_CIR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_CIR_LSERDYIE_BIT , RCC_CIR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_CIR_LSIRDYIE_BIT , RCC_CIR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_CIR_CSSF_BIT , RCC_CIR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_CIR_PLLI2SRDYF_BIT , RCC_CIR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_CIR_PLLRDYF_BIT , RCC_CIR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_CIR_HSERDYF_BIT , RCC_CIR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_CIR_HSIRDYF_BIT , RCC_CIR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_CIR_LSERDYF_BIT , RCC_CIR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_CIR_LSIRDYF_BIT , RCC_CIR_RESET_VALUE);
+}
+
+static uint32_t stm32_rcc_RCC_AHB1ENR_read(Stm32f2xxRcc *s)
+{
+ return s->RCC_AHB1ENR;
+}
+
+static uint32_t stm32_rcc_RCC_AHB2ENR_read(Stm32f2xxRcc *s)
+{
+ return s->RCC_AHB2ENR;
+}
+
+static uint32_t stm32_rcc_RCC_AHB3ENR_read(Stm32f2xxRcc *s)
+{
+ return s->RCC_AHB3ENR;
+}
+
+static void stm32_rcc_RCC_AHB1ENR_write(Stm32f2xxRcc *s, uint32_t new_value, bool init)
+{
+ clktree_set_enabled(s->PERIPHCLK[STM32_DMA2], IS_BIT_SET(new_value, RCC_AHB1ENR_DMA2EN_BIT));
+ clktree_set_enabled(s->PERIPHCLK[STM32_DMA1], IS_BIT_SET(new_value, RCC_AHB1ENR_DMA1EN_BIT));
+
+ clktree_set_enabled(s->PERIPHCLK[STM32_CRC], IS_BIT_SET(new_value, RCC_AHB1ENR_CRCEN_BIT));
+
+ clktree_set_enabled(s->PERIPHCLK[STM32_GPIOK], IS_BIT_SET(new_value, RCC_AHB1ENR_GPIOKEN_BIT));
+ clktree_set_enabled(s->PERIPHCLK[STM32_GPIOJ], IS_BIT_SET(new_value, RCC_AHB1ENR_GPIOJEN_BIT));
+ clktree_set_enabled(s->PERIPHCLK[STM32_GPIOI], IS_BIT_SET(new_value, RCC_AHB1ENR_GPIOIEN_BIT));
+ clktree_set_enabled(s->PERIPHCLK[STM32_GPIOH], IS_BIT_SET(new_value, RCC_AHB1ENR_GPIOHEN_BIT));
+ clktree_set_enabled(s->PERIPHCLK[STM32_GPIOG], IS_BIT_SET(new_value, RCC_AHB1ENR_GPIOGEN_BIT));
+ clktree_set_enabled(s->PERIPHCLK[STM32_GPIOF], IS_BIT_SET(new_value, RCC_AHB1ENR_GPIOFEN_BIT));
+ clktree_set_enabled(s->PERIPHCLK[STM32_GPIOE], IS_BIT_SET(new_value, RCC_AHB1ENR_GPIOEEN_BIT));
+ clktree_set_enabled(s->PERIPHCLK[STM32_GPIOD], IS_BIT_SET(new_value, RCC_AHB1ENR_GPIODEN_BIT));
+ clktree_set_enabled(s->PERIPHCLK[STM32_GPIOC], IS_BIT_SET(new_value, RCC_AHB1ENR_GPIOCEN_BIT));
+ clktree_set_enabled(s->PERIPHCLK[STM32_GPIOB], IS_BIT_SET(new_value, RCC_AHB1ENR_GPIOBEN_BIT));
+ clktree_set_enabled(s->PERIPHCLK[STM32_GPIOA], IS_BIT_SET(new_value, RCC_AHB1ENR_GPIOAEN_BIT));
+
+ s->RCC_AHB1ENR = new_value;
+
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_AHB1ENR_OTGHSULPIEN_BIT, RCC_AHB1ENR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_AHB1ENR_OTGHSEN_BIT, RCC_AHB1ENR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_AHB1ENR_ETHMACPTPEN_BIT, RCC_AHB1ENR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_AHB1ENR_ETHMACRXEN_BIT, RCC_AHB1ENR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_AHB1ENR_ETHMACTXEN_BIT, RCC_AHB1ENR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_AHB1ENR_ETHMACEN_BIT, RCC_AHB1ENR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_AHB1ENR_BKPSRAMEN_BIT, RCC_AHB1ENR_RESET_VALUE);
+}
+
+static void stm32_rcc_RCC_AHB2ENR_write(Stm32f2xxRcc *s, uint32_t new_value, bool init)
+{
+ clktree_set_enabled(s->PERIPHCLK[STM32_DCMI_PERIPH],
+ IS_BIT_SET(new_value, RCC_AHB2ENR_DCMIEN_BIT));
+ clktree_set_enabled(s->PERIPHCLK[STM32_CRYP_PERIPH],
+ IS_BIT_SET(new_value, RCC_AHB2ENR_CRYPEN_BIT));
+ clktree_set_enabled(s->PERIPHCLK[STM32_HASH_PERIPH],
+ IS_BIT_SET(new_value, RCC_AHB2ENR_HASHEN_BIT));
+ clktree_set_enabled(s->PERIPHCLK[STM32_RNG_PERIPH],
+ IS_BIT_SET(new_value, RCC_AHB2ENR_RNGEN_BIT));
+ s->RCC_AHB2ENR = new_value;
+}
+
+static void stm32_rcc_RCC_AHB3ENR_write(Stm32f2xxRcc *s, uint32_t new_value, bool init)
+{
+ clktree_set_enabled(s->PERIPHCLK[STM32_FSMC],
+ IS_BIT_SET(new_value, RCC_AHB3ENR_FSMCEN_BIT));
+ s->RCC_AHB3ENR = new_value;
+}
+
+/* Write the APB2 peripheral clock enable register
+ * Enables/Disables the peripheral clocks based on each bit. */
+static void stm32_rcc_RCC_APB2ENR_write(Stm32f2xxRcc *s, uint32_t new_value,
+ bool init)
+{
+ /* TODO: enable/disable missing peripherals */
+ stm32_rcc_periph_enable(s, new_value, init, STM32_SYSCFG, RCC_APB2ENR_SYSCFGEN_BIT);
+ stm32_rcc_periph_enable(s, new_value, init, STM32_UART1, RCC_APB2ENR_USART1EN_BIT);
+ stm32_rcc_periph_enable(s, new_value, init, STM32_UART6, RCC_APB2ENR_USART6EN_BIT);
+
+ s->RCC_APB2ENR = new_value & RCC_APB2ENR_MASK;
+}
+
+/* Write the APB1 peripheral clock enable register
+ * Enables/Disables the peripheral clocks based on each bit. */
+static void stm32_rcc_RCC_APB1ENR_write(Stm32f2xxRcc *s, uint32_t new_value,
+ bool init)
+{
+ stm32_rcc_periph_enable(s, new_value, init, STM32_UART8,
+ RCC_APB1ENR_USART8EN_BIT);
+ stm32_rcc_periph_enable(s, new_value, init, STM32_UART7,
+ RCC_APB1ENR_USART7EN_BIT);
+ stm32_rcc_periph_enable(s, new_value, init, STM32_UART5,
+ RCC_APB1ENR_USART5EN_BIT);
+ stm32_rcc_periph_enable(s, new_value, init, STM32_UART4,
+ RCC_APB1ENR_USART4EN_BIT);
+ stm32_rcc_periph_enable(s, new_value, init, STM32_UART3,
+ RCC_APB1ENR_USART3EN_BIT);
+ stm32_rcc_periph_enable(s, new_value, init, STM32_UART2,
+ RCC_APB1ENR_USART2EN_BIT);
+
+ /* 0b00110110111111101100100111111111 */
+ s->RCC_APB1ENR = new_value & 0x36fec9ff;
+}
+
+static uint32_t stm32_rcc_RCC_BDCR_read(Stm32f2xxRcc *s)
+{
+ bool lseon = clktree_is_enabled(s->LSECLK);
+
+ return GET_BIT_MASK(RCC_BDCR_LSERDY_BIT, lseon) |
+ GET_BIT_MASK(RCC_BDCR_LSEON_BIT, lseon) | 0x100; /* XXX force LSE */
+}
+
+static void stm32_rcc_RCC_BDCR_writeb0(Stm32f2xxRcc *s, uint8_t new_value, bool init)
+{
+ clktree_set_enabled(s->LSECLK, IS_BIT_SET(new_value, RCC_BDCR_LSEON_BIT));
+
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_BDCR_LSEBYP_BIT, RCC_BDCR_RESET_VALUE);
+}
+
+static void stm32_rcc_RCC_BDCR_write(Stm32f2xxRcc *s, uint32_t new_value, bool init)
+{
+ stm32_rcc_RCC_BDCR_writeb0(s, new_value & 0xff, init);
+
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_BDCR_BDRST_BIT, RCC_BDCR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, 1 << RCC_BDCR_RTCEN_BIT, RCC_BDCR_RESET_VALUE);
+ WARN_UNIMPLEMENTED(new_value, RCC_BDCR_RTCSEL_MASK, RCC_BDCR_RESET_VALUE);
+}
+
+/* Works the same way as stm32_rcc_RCC_CR_read */
+static uint32_t stm32_rcc_RCC_CSR_read(Stm32f2xxRcc *s)
+{
+ bool lseon = clktree_is_enabled(s->LSICLK);
+
+ return GET_BIT_MASK(RCC_CSR_LSIRDY_BIT, lseon) |
+ GET_BIT_MASK(RCC_CSR_LSION_BIT, lseon);
+}
+
+/* Works the same way as stm32_rcc_RCC_CR_write */
+static void stm32_rcc_RCC_CSR_write(Stm32f2xxRcc *s, uint32_t new_value, bool init)
+{
+ clktree_set_enabled(s->LSICLK, IS_BIT_SET(new_value, RCC_CSR_LSION_BIT));
+}
+
+
+
+static uint64_t stm32_rcc_readw(void *opaque, hwaddr offset)
+{
+ Stm32f2xxRcc *s = (Stm32f2xxRcc *)opaque;
+
+ switch (offset) {
+ case RCC_CR_OFFSET:
+ return stm32_rcc_RCC_CR_read(s);
+ case RCC_PLLCFGR_OFFSET:
+ return stm32_rcc_RCC_PLLCFGR_read(s);
+ case RCC_CFGR_OFFSET:
+ return stm32_rcc_RCC_CFGR_read(s);
+ case RCC_CIR_OFFSET:
+ return stm32_rcc_RCC_CIR_read(s);
+ case RCC_AHB1RSTR_OFFSET:
+ case RCC_AHB2RSTR_OFFSET:
+ case RCC_AHB3RSTR_OFFSET:
+ WARN_UNIMPLEMENTED_REG(offset);
+ return 0;
+ case RCC_APB1RSTR_OFFSET:
+ WARN_UNIMPLEMENTED_REG(offset);
+ return 0;
+ case RCC_APB2RSTR_OFFSET:
+ WARN_UNIMPLEMENTED_REG(offset);
+ return 0;
+ case RCC_AHB1ENR_OFFSET:
+ return stm32_rcc_RCC_AHB1ENR_read(s);
+ case RCC_AHB2ENR_OFFSET:
+ return stm32_rcc_RCC_AHB2ENR_read(s);
+ case RCC_AHB3ENR_OFFSET:
+ return stm32_rcc_RCC_AHB3ENR_read(s);
+ case RCC_APB1ENR_OFFSET:
+ return s->RCC_APB1ENR;
+ case RCC_APB2ENR_OFFSET:
+ return s->RCC_APB2ENR;
+ case RCC_AHB1LPENR_OFFSET:
+ case RCC_AHB2LPENR_OFFSET:
+ case RCC_AHB3LPENR_OFFSET:
+ case RCC_APB1LPENR_OFFSET:
+ case RCC_APB2LPENR_OFFSET:
+ WARN_UNIMPLEMENTED_REG(offset);
+ return 0;
+ case RCC_BDCR_OFFSET:
+ return stm32_rcc_RCC_BDCR_read(s);
+ case RCC_CSR_OFFSET:
+ return stm32_rcc_RCC_CSR_read(s);
+ case RCC_SSCGR_OFFSET:
+ WARN_UNIMPLEMENTED_REG(offset);
+ return 0;
+ case RCC_PLLI2SCFGR_OFFSET:
+ return stm32_rcc_RCC_PLLI2SCFGR_read(s);
+ default:
+ WARN_UNIMPLEMENTED_REG(offset);
+ break;
+ }
+ return 0;
+}
+
+static void stm32_rcc_writeb(void *opaque, hwaddr offset, uint64_t value)
+{
+ Stm32f2xxRcc *s = (Stm32f2xxRcc *)opaque;
+
+ switch (offset) {
+ case RCC_BDCR_OFFSET:
+ stm32_rcc_RCC_BDCR_writeb0(s, value, false);
+ break;
+ default:
+ STM32_BAD_REG(offset, 1);
+ break;
+ }
+}
+
+static void stm32_rcc_writew(void *opaque, hwaddr offset,
+ uint64_t value)
+{
+ Stm32f2xxRcc *s = (Stm32f2xxRcc *)opaque;
+
+ switch(offset) {
+ case RCC_CR_OFFSET:
+ stm32_rcc_RCC_CR_write(s, value, false);
+ break;
+ case RCC_PLLCFGR_OFFSET:
+ stm32_rcc_RCC_PLLCFGR_write(s, value, false);
+ break;
+ case RCC_CFGR_OFFSET:
+ stm32_rcc_RCC_CFGR_write(s, value, false);
+ break;
+ case RCC_CIR_OFFSET:
+ stm32_rcc_RCC_CIR_write(s, value, false);
+ break;
+ case RCC_APB1RSTR_OFFSET:
+ stm32_unimp("Unimplemented write: RCC_APB1RSTR_OFFSET 0x%x\n", (uint32_t)value);
+ break;
+ case RCC_APB2RSTR_OFFSET:
+ stm32_unimp("Unimplemented write: RCC_APB2RSTR_OFFSET 0x%x\n", (uint32_t)value);
+ break;
+ case RCC_AHB3RSTR_OFFSET:
+ WARN_UNIMPLEMENTED_REG(offset);
+ break;
+ case RCC_AHB1ENR_OFFSET:
+ stm32_rcc_RCC_AHB1ENR_write(s, value, false);
+ break;
+ case RCC_AHB2ENR_OFFSET:
+ stm32_rcc_RCC_AHB2ENR_write(s, value, false);
+ break;
+ case RCC_AHB3ENR_OFFSET:
+ stm32_rcc_RCC_AHB3ENR_write(s, value, false);
+ break;
+ case RCC_APB1LPENR_OFFSET:
+ case RCC_APB2LPENR_OFFSET:
+ WARN_UNIMPLEMENTED_REG(offset);
+ break;
+ case RCC_APB2ENR_OFFSET:
+ stm32_rcc_RCC_APB2ENR_write(s, value, false);
+ break;
+ case RCC_APB1ENR_OFFSET:
+ stm32_rcc_RCC_APB1ENR_write(s, value, false);
+ break;
+ case RCC_AHB1LPENR_OFFSET:
+ stm32_unimp("Unimplemented: RCC_AHB1LPENR_OFFSET\n");
+ break;
+ case RCC_AHB2LPENR_OFFSET:
+ stm32_unimp("Unimplemented: RCC_AHB2LPENR_OFFSET\n");
+ break;
+ case RCC_AHB3LPENR_OFFSET:
+ stm32_unimp("Unimplemented: RCC_AHB3LPENR_OFFSET\n");
+ break;
+ case RCC_BDCR_OFFSET:
+ stm32_rcc_RCC_BDCR_write(s, value, false);
+ break;
+ case RCC_CSR_OFFSET:
+ stm32_rcc_RCC_CSR_write(s, value, false);
+ break;
+ case RCC_SSCGR_OFFSET:
+ WARN_UNIMPLEMENTED_REG(offset);
+ break;
+ case RCC_PLLI2SCFGR_OFFSET:
+ stm32_rcc_RCC_PLLI2SCFGR_write(s, value, false);
+ break;
+ default:
+ WARN_UNIMPLEMENTED_REG(offset);
+ break;
+ }
+}
+
+static uint64_t stm32_rcc_read(void *opaque, hwaddr offset,
+ unsigned size)
+{
+ switch(size) {
+ case 4:
+ return stm32_rcc_readw(opaque, offset);
+ default:
+ stm32_unimp("Unimplemented: RCC read from register at offset %lld", offset);
+ return 0;
+ }
+}
+
+static void stm32_rcc_write(void *opaque, hwaddr offset,
+ uint64_t value, unsigned size)
+{
+ switch(size) {
+ case 4:
+ stm32_rcc_writew(opaque, offset, value);
+ break;
+ case 1:
+ stm32_rcc_writeb(opaque, offset, value);
+ break;
+ default:
+ WARN_UNIMPLEMENTED_REG(offset);
+ break;
+ }
+}
+
+static const MemoryRegionOps stm32_rcc_ops = {
+ .read = stm32_rcc_read,
+ .write = stm32_rcc_write,
+ .endianness = DEVICE_NATIVE_ENDIAN
+};
+
+
+static void stm32_rcc_reset(DeviceState *dev)
+{
+ Stm32f2xxRcc *s = STM32F2XX_RCC(dev);
+
+ stm32_rcc_RCC_CR_write(s, RCC_CR_RESET_VALUE, true);
+ stm32_rcc_RCC_PLLCFGR_write(s, RCC_PLLCFGR_RESET_VALUE, true);
+ stm32_rcc_RCC_CFGR_write(s, RCC_CFGR_RESET_VALUE, true);
+ stm32_rcc_RCC_APB2ENR_write(s, RCC_APB2ENR_RESET_VALUE, true);
+ stm32_rcc_RCC_APB1ENR_write(s, RCC_APB1ENR_RESET_VALUE, true);
+ stm32_rcc_RCC_BDCR_write(s, RCC_BDCR_RESET_VALUE, true);
+ stm32_rcc_RCC_CSR_write(s, RCC_CSR_RESET_VALUE, true);
+}
+
+/* IRQ handler to handle updates to the HCLK frequency.
+ * This updates the SysTick scales. */
+static void stm32_rcc_hclk_upd_irq_handler(void *opaque, int n, int level)
+{
+ Stm32f2xxRcc *s = (Stm32f2xxRcc *)opaque;
+
+ uint32_t hclk_freq = 0;
+ uint32_t ext_ref_freq = 0;
+
+ hclk_freq = clktree_get_output_freq(s->HCLK);
+
+ /* Only update the scales if the frequency is not zero. */
+ if (hclk_freq > 0) {
+ ext_ref_freq = hclk_freq / 8;
+
+ /* Update the scales - these are the ratio of QEMU clock ticks
+ * (which is an unchanging number independent of the CPU frequency) to
+ * system/external clock ticks.
+ */
+ system_clock_scale = NANOSECONDS_PER_SECOND / hclk_freq;
+ }
+
+#ifdef DEBUG_STM32_RCC
+ DPRINTF("Cortex SYSTICK frequency set to %lu Hz (scale set to %d).\n",
+ (unsigned long)hclk_freq, system_clock_scale);
+#endif
+}
+
+
+
+/* DEVICE INITIALIZATION */
+
+/* Set up the clock tree */
+static void stm32_rcc_init_clk(Stm32f2xxRcc *s)
+{
+ int i;
+ qemu_irq *hclk_upd_irq =
+ qemu_allocate_irqs(stm32_rcc_hclk_upd_irq_handler, s, 1);
+
+ /* Make sure all the peripheral clocks are null initially.
+ * This will be used for error checking to make sure
+ * an invalid clock is not referenced (not all of the
+ * indexes will be used).
+ */
+ for(i = 0; i < STM32_PERIPH_COUNT; i++) {
+ s->PERIPHCLK[i] = NULL;
+ }
+
+ /* Initialize clocks */
+ /* Source clocks are initially disabled, which represents
+ * a disabled oscillator. Enabling the clock represents
+ * turning the clock on.
+ */
+ s->HSICLK = clktree_create_src_clk("HSI", HSI_FREQ, false);
+ s->LSICLK = clktree_create_src_clk("LSI", LSI_FREQ, false);
+ s->HSECLK = clktree_create_src_clk("HSE", s->osc_freq, false);
+ s->LSECLK = clktree_create_src_clk("LSE", s->osc32_freq, false);
+
+ s->IWDGCLK = clktree_create_clk("IWDGCLK", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0,
+ s->LSICLK, NULL);
+ s->RTCCLK = clktree_create_clk("RTCCLK", 1, 1, false, CLKTREE_NO_MAX_FREQ,
+ CLKTREE_NO_INPUT, s->LSECLK, s->LSICLK, s->HSECLK, NULL);
+
+ s->PLLM = clktree_create_clk("PLLM", 1, 16, true, CLKTREE_NO_MAX_FREQ, 0, s->HSICLK,
+ s->HSECLK, NULL);
+ s->PLLCLK = clktree_create_clk("PLLCLK", 1, 2, false, 120000000, 0, s->PLLM, NULL);
+ s->PLL48CLK = clktree_create_clk("PLL48CLK", 1, 1, false, 48000000, 0, s->PLLM, NULL);
+
+ s->PLLI2SM = clktree_create_clk("PLLI2SM", 1, 16, true, CLKTREE_NO_MAX_FREQ, 0, s->PLLM, NULL);
+ s->PLLI2SCLK = clktree_create_clk("PLLI2SCLK", 1, 2, false, 120000000, 0, s->PLLI2SM, NULL);
+
+ s->SYSCLK = clktree_create_clk("SYSCLK", 1, 1, true, 168000000, CLKTREE_NO_INPUT,
+ s->HSICLK, s->HSECLK, s->PLLCLK, NULL);
+
+ // HCLK: to AHB bus, core memory and DMA
+ s->HCLK = clktree_create_clk("HCLK", 0, 1, true, 168000000, 0, s->SYSCLK, NULL);
+ clktree_adduser(s->HCLK, hclk_upd_irq[0]);
+
+ // Clock source for APB1 peripherals:
+ s->PCLK1 = clktree_create_clk("PCLK1", 0, 1, true, 30000000, 0, s->HCLK, NULL);
+
+ // Clock source for APB2 peripherals:
+ s->PCLK2 = clktree_create_clk("PCLK2", 0, 1, true, 60000000, 0, s->HCLK, NULL);
+
+ /* Peripheral clocks */
+ s->PERIPHCLK[STM32_GPIOA] =
+ clktree_create_clk("GPIOA", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->HCLK, NULL);
+ s->PERIPHCLK[STM32_GPIOB] =
+ clktree_create_clk("GPIOB", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->HCLK, NULL);
+ s->PERIPHCLK[STM32_GPIOC] =
+ clktree_create_clk("GPIOC", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->HCLK, NULL);
+ s->PERIPHCLK[STM32_GPIOD] =
+ clktree_create_clk("GPIOD", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->HCLK, NULL);
+ s->PERIPHCLK[STM32_GPIOE] =
+ clktree_create_clk("GPIOE", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->HCLK, NULL);
+ s->PERIPHCLK[STM32_GPIOF] =
+ clktree_create_clk("GPIOF", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->HCLK, NULL);
+ s->PERIPHCLK[STM32_GPIOG] =
+ clktree_create_clk("GPIOG", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->HCLK, NULL);
+ s->PERIPHCLK[STM32_GPIOH] =
+ clktree_create_clk("GPIOH", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->HCLK, NULL);
+ s->PERIPHCLK[STM32_GPIOI] =
+ clktree_create_clk("GPIOI", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->HCLK, NULL);
+ s->PERIPHCLK[STM32_GPIOJ] =
+ clktree_create_clk("GPIOJ", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->HCLK, NULL);
+ s->PERIPHCLK[STM32_GPIOK] =
+ clktree_create_clk("GPIOK", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->HCLK, NULL);
+
+ s->PERIPHCLK[STM32_CRC] =
+ clktree_create_clk("CRC", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->HCLK, NULL);
+
+ s->PERIPHCLK[STM32_DMA1] =
+ clktree_create_clk("DMA1", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->HCLK, NULL);
+ s->PERIPHCLK[STM32_DMA2] =
+ clktree_create_clk("DMA2", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->HCLK, NULL);
+
+ s->PERIPHCLK[STM32_SYSCFG] =
+ clktree_create_clk("SYSCFG", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->PCLK2, NULL);
+
+ s->PERIPHCLK[STM32_UART1] =
+ clktree_create_clk("UART1", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->PCLK2, NULL);
+ s->PERIPHCLK[STM32_UART2] =
+ clktree_create_clk("UART2", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->PCLK1, NULL);
+ s->PERIPHCLK[STM32_UART3] =
+ clktree_create_clk("UART3", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->PCLK1, NULL);
+ s->PERIPHCLK[STM32_UART4] =
+ clktree_create_clk("UART4", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->PCLK1, NULL);
+ s->PERIPHCLK[STM32_UART5] =
+ clktree_create_clk("UART5", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->PCLK1, NULL);
+ s->PERIPHCLK[STM32_UART6] =
+ clktree_create_clk("UART6", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->PCLK2, NULL);
+ s->PERIPHCLK[STM32_UART7] =
+ clktree_create_clk("UART7", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->PCLK1, NULL);
+ s->PERIPHCLK[STM32_UART8] =
+ clktree_create_clk("UART8", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->PCLK1, NULL);
+
+
+ s->PERIPHCLK[STM32_DCMI_PERIPH] =
+ clktree_create_clk("DCMI", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->HCLK, NULL);
+ s->PERIPHCLK[STM32_CRYP_PERIPH] =
+ clktree_create_clk("CRYP", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->HCLK, NULL);
+ s->PERIPHCLK[STM32_HASH_PERIPH] =
+ clktree_create_clk("HASH", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->HCLK, NULL);
+ s->PERIPHCLK[STM32_RNG_PERIPH] =
+ clktree_create_clk("RNG", 1, 1, false, CLKTREE_NO_MAX_FREQ, 0, s->HCLK, NULL);
+
+ s->PERIPHCLK[STM32_FSMC] =
+ clktree_create_clk("FSMC", 1, 2, false, CLKTREE_NO_MAX_FREQ, 0, s->HCLK, NULL);
+}
+
+
+
+static void stm32_rcc_realize(DeviceState *obj, Error **pError)
+{
+ Stm32f2xxRcc *s = STM32F2XX_RCC(obj);
+ SysBusDevice *dev = SYS_BUS_DEVICE(obj);
+
+ memory_region_init_io(&s->iomem, OBJECT(s), &stm32_rcc_ops, s,
+ "rcc", 0x40023BFF - 0x40023800 + 1);
+
+ sysbus_init_mmio(dev, &s->iomem);
+
+ sysbus_init_irq(dev, &s->irq);
+
+ stm32_rcc_init_clk(s);
+}
+
+
+static Property stm32_rcc_properties[] = {
+ DEFINE_PROP_UINT32("osc_freq", Stm32f2xxRcc, osc_freq, 0),
+ DEFINE_PROP_UINT32("osc32_freq", Stm32f2xxRcc, osc32_freq, 0),
+ DEFINE_PROP_END_OF_LIST()
+};
+
+
+static void stm32_rcc_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+ SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
+
+ dc->realize = stm32_rcc_realize,
+ dc->reset = stm32_rcc_reset;
+ device_class_set_props(dc, stm32_rcc_properties);
+}
+
+static TypeInfo stm32_rcc_info = {
+ .name = TYPE_STM32F2XX_RCC,
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(Stm32f2xxRcc),
+ .class_init = stm32_rcc_class_init
+};
+
+static void stm32_rcc_register_types(void)
+{
+ type_register_static(&stm32_rcc_info);
+}
+
+type_init(stm32_rcc_register_types)
diff --git a/hw/arm/stm32f2xx_rcc.h b/hw/arm/stm32f2xx_rcc.h
new file mode 100644
index 0000000000000..54ded12733b07
--- /dev/null
+++ b/hw/arm/stm32f2xx_rcc.h
@@ -0,0 +1,78 @@
+#include "hw/sysbus.h"
+#include "hw/arm/stm32_clktree.h"
+#include "stm32f2xx.h"
+#include "stm32_rcc.h"
+
+typedef struct Stm32f2xxRcc {
+ /* Inherited */
+ union {
+ Stm32Rcc inherited;
+ struct {
+ /* Inherited */
+ SysBusDevice busdev;
+
+ /* Properties */
+ uint32_t osc_freq;
+ uint32_t osc32_freq;
+
+ /* Private */
+ MemoryRegion iomem;
+ qemu_irq irq;
+ };
+ };
+
+ /* Peripheral clocks */
+ Clk PERIPHCLK[STM32_PERIPH_COUNT], // MUST be first field after `inherited`, because Stm32Rcc's last field aliases this array
+ HSICLK,
+ HSECLK,
+ LSECLK,
+ LSICLK,
+ SYSCLK,
+ IWDGCLK,
+ RTCCLK,
+
+ PLLM, /* Applies "M" division and "N" multiplication factors for PLL */
+ PLLCLK,
+ PLL48CLK,
+
+ PLLI2SM, /* Applies "M" division and "N" multiplication factors for PLLI2S */
+ PLLI2SCLK,
+
+ HCLK, /* Output from AHB Prescaler */
+ PCLK1, /* Output from APB1 Prescaler */
+ PCLK2; /* Output from APB2 Prescaler */
+
+ /* Register Values */
+ uint32_t
+ RCC_CIR,
+ RCC_APB1ENR,
+ RCC_APB2ENR;
+
+ /* Register Field Values */
+ uint32_t
+ RCC_CFGR_PPRE1,
+ RCC_CFGR_PPRE2,
+ RCC_CFGR_HPRE,
+ RCC_AHB1ENR,
+ RCC_AHB2ENR,
+ RCC_AHB3ENR,
+ RCC_CFGR_SW,
+ RCC_PLLCFGR,
+ RCC_PLLI2SCFGR;
+
+ uint8_t
+ RCC_PLLCFGR_PLLM,
+ RCC_PLLCFGR_PLLP,
+ RCC_PLLCFGR_PLLSRC;
+
+ uint16_t
+ RCC_PLLCFGR_PLLN;
+
+ uint8_t
+ RCC_PLLI2SCFGR_PLLR,
+ RCC_PLLI2SCFGR_PLLQ;
+
+ uint16_t
+ RCC_PLLI2SCFGR_PLLN;
+
+} Stm32f2xxRcc;
diff --git a/hw/arm/stm32f2xx_rtc.c b/hw/arm/stm32f2xx_rtc.c
new file mode 100644
index 0000000000000..9e512f0ea7e70
--- /dev/null
+++ b/hw/arm/stm32f2xx_rtc.c
@@ -0,0 +1,694 @@
+/*-
+ * Copyright (c) 2013
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+/*
+ * QEMU stm32f2xx RTC emulation
+ */
+
+#include "qemu/osdep.h"
+#include
+#include "hw/sysbus.h"
+#include "qemu/timer.h"
+#include "hw/arm/stm32.h"
+#include "hw/qdev-properties.h"
+#include "hw/irq.h"
+#include "qemu/bcd.h"
+#include "qemu/cutils.h"
+
+// Define this to add extra BKUP registers past the normal ones implemented by the STM.
+// For Pebble emulation, we use these to pass settings flags to the emulated target
+#define STM32F2XX_RTC_NUM_EXTRA_BKUP_REG 1
+
+//#define DEBUG_STM32F2XX_RTC
+#ifdef DEBUG_STM32F2XX_RTC
+// NOTE: The usleep() helps the MacOS stdout from freezing when we have a lot of print out
+#define DPRINTF(fmt, ...) \
+ do { printf("DEBUG_STM32F2XX_RTC: " fmt , ## __VA_ARGS__); \
+ usleep(100); \
+ } while (0)
+#else
+#define DPRINTF(fmt, ...)
+#endif
+
+
+
+#define R_RTC_TR (0x00 / 4)
+#define R_RTC_DR (0x04 / 4)
+#define R_RTC_CR (0x08 / 4)
+#define R_RTC_CR_ALRAE_BIT 8
+#define R_RTC_CR_WUTE 0x00000400
+#define R_RTC_CR_WUTIE 0x00004000
+
+#define R_RTC_ISR (0x0c / 4)
+#define R_RTC_ISR_RESET 0x00000007
+#define R_RTC_ISR_RSF 0x00000020
+#define R_RTC_ISR_WUT 0x00000400
+
+#define R_RTC_PRER (0x10 / 4)
+#define R_RTC_PRER_PREDIV_A_MASK 0x7f
+#define R_RTC_PRER_PREDIV_A_SHIFT 16
+#define R_RTC_PRER_PREDIV_S_MASK 0x1fff
+#define R_RTC_PRER_PREDIV_S_SHIFT 0
+#define R_RTC_PRER_RESET 0x007f00ff
+#define R_RTC_WUTR (0x14 / 4)
+#define R_RTC_WUTR_RESET 0x0000ffff
+#define R_RTC_CALIBR (0x18 / 4)
+#define R_RTC_ALRMAR (0x1c / 4)
+#define R_RTC_ALRMBR (0x20 / 4)
+#define R_RTC_WPR (0x24 / 4)
+#define R_RTC_SSR (0x28 / 4)
+#define R_RTC_TSTR (0x30 / 4)
+#define R_RTC_TSDR (0x34 / 4)
+#define R_RTC_TAFCR (0x40 / 4)
+#define R_RTC_BKPxR (0x50 / 4)
+#define R_RTC_BKPxR_LAST (0x9c / 4)
+#define R_RTC_BKPxR_INC_EXTRA_LAST (R_RTC_BKPxR_LAST + STM32F2XX_RTC_NUM_EXTRA_BKUP_REG)
+#define R_RTC_MAX (R_RTC_BKPxR_INC_EXTRA_LAST + 1)
+
+#define R_RTC_CR_FMT_MASK (0x01 << 6)
+
+#define DEBUG_ALARM(x...)
+
+typedef struct f2xx_rtc {
+ SysBusDevice busdev;
+ MemoryRegion iomem;
+ QEMUTimer *timer;
+ QEMUTimer *wu_timer;
+ qemu_irq irq[2];
+ qemu_irq wut_irq;
+
+ // target_us = host_us + host_to_target_offset_us
+ int64_t host_to_target_offset_us;
+
+ // target time in ticks (seconds according to the RTC registers)
+ time_t ticks;
+
+ uint32_t regs[R_RTC_MAX];
+ int wp_count; /* Number of correct writes to WP reg */
+} f2xx_rtc;
+
+
+// Update target date and time from the host
+static void f2xx_update_current_date_and_time(void *arg);
+
+
+// Compute the period for the clock (seconds increments) in nanoseconds
+static uint64_t
+f2xx_clock_period_ns(f2xx_rtc *s)
+{
+ uint32_t prer = s->regs[R_RTC_PRER];
+ unsigned int prescale;
+
+ // NOTE: We are making the assumption here, as in f2xx_wut_period_ns, that RTC_CLK
+ // is the 32768 LSE clock
+ prescale = (((prer >> R_RTC_PRER_PREDIV_A_SHIFT) & R_RTC_PRER_PREDIV_A_MASK) + 1) *
+ (((prer >> R_RTC_PRER_PREDIV_S_SHIFT) & R_RTC_PRER_PREDIV_S_MASK) + 1);
+ uint64_t result = 1000000000LL * prescale / 32768;
+
+ //DPRINTF("%s: period = %lldns\n", __func__, result);
+ return result;
+}
+
+
+// Compute the period for the wakeup timer in nanoseconds if the WUT counter is set to the
+// given value
+static uint64_t
+f2xx_wut_period_ns(f2xx_rtc *s, uint32_t counter)
+{
+ uint32_t clock_sel = s->regs[R_RTC_CR] & 0x07;
+
+ // NOTE: We are making the assumption here, as in f2xx_clock_period_ns, that RTC_CLK
+ // is the 32768 LSE clock
+ uint64_t rtc_clk_period_ns = 1000000000LL / 32768;
+
+ // Using the synchronous clock (clk_spre)
+ if (clock_sel & 0x04) {
+ if (clock_sel & 0x02) {
+ return counter * f2xx_clock_period_ns(s);
+ } else {
+ return (counter + 65536) * f2xx_clock_period_ns(s);
+ }
+ } else if (clock_sel == 0) {
+ return counter * rtc_clk_period_ns * 16;
+ } else if (clock_sel == 1) {
+ return counter * rtc_clk_period_ns * 8;
+ } else if (clock_sel == 2) {
+ return counter * rtc_clk_period_ns * 4;
+ } else if (clock_sel == 3) {
+ return counter * rtc_clk_period_ns * 2;
+ } else {
+ abort();
+ }
+}
+
+
+// Set the time and registers based on the content of the passed in tm struct
+static void
+f2xx_rtc_set_time_and_date_registers(f2xx_rtc *s, struct tm *tm)
+{
+ uint8_t wday;
+
+ wday = tm->tm_wday == 0 ? tm->tm_wday : 7;
+ s->regs[R_RTC_TR] = to_bcd(tm->tm_sec) |
+ to_bcd(tm->tm_min) << 8 |
+ to_bcd(tm->tm_hour) << 16;
+ s->regs[R_RTC_DR] = to_bcd(tm->tm_mday) |
+ to_bcd(tm->tm_mon + 1) << 8 |
+ wday << 13 |
+ to_bcd(tm->tm_year % 100) << 16;
+}
+
+
+// Compute what time we want in the target based on the host's current date and time.
+// This takes into consideration the host_to_target_offset_us we have computed and captured
+// previously.
+// The rtc_period_ns passed in is the number of nanoseconds in host time that corresponds to 1
+// "tick" (i.e. a second increment in the RTC register). Usually, you would expect this to
+// be 1e9, but on Pebble plastic for example, the firmware sets up the RTC so that the
+// seconds increment 1024 times/sec.
+static time_t
+f2xx_rtc_compute_target_time_from_host_time(f2xx_rtc *s, uint64_t rtc_period_ns,
+ struct tm *target_tm)
+{
+ // Get the host time in microseconds
+ struct timeval tv;
+ gettimeofday(&tv, NULL);
+ int64_t host_time_us = tv.tv_sec * 1000000LL + (tv.tv_usec);
+
+ // Compute the target time by adding the offset
+ int64_t target_time_us = host_time_us + s->host_to_target_offset_us;
+
+ // Convert to target ticks according period set in the RTC
+ time_t target_time_ticks = (target_time_us * 1000) / rtc_period_ns;
+
+ // Convert to date, hour, min, sec components
+ gmtime_r(&target_time_ticks, target_tm);
+
+
+#ifdef DEBUG_STM32F2XX_RTC
+ char new_date_time[256];
+ strftime(new_date_time, sizeof(new_date_time), "%c", target_tm);
+ //DPRINTF("%s: setting new date & time to: %s\n", __func__, new_date_time);
+#endif
+ return target_time_ticks;
+}
+
+
+// Return the current date and time as stored in the RTC TR and DR registers in two forms:
+// By filling in the passed in tm struct and by returning the UTC time in seconds.
+static time_t
+f2xx_rtc_get_current_target_time(f2xx_rtc *s, struct tm *target_tm)
+{
+ memset(target_tm, 0, sizeof(*target_tm));
+
+ // Fill in the target_tm from the contents of the time register and date registers
+ uint32_t time_reg = s->regs[R_RTC_TR];
+
+ target_tm->tm_hour = from_bcd((time_reg & 0x003F0000) >> 16);
+ bool pm = (time_reg & 0x00800000) != 0;
+ if (pm && (s->regs[R_RTC_CR] & R_RTC_CR_FMT_MASK)) {
+ target_tm->tm_hour += 12;
+ }
+ target_tm->tm_min = from_bcd((time_reg & 0x00007F00) >> 8);
+ target_tm->tm_sec = from_bcd(time_reg & 0x0000007F);
+
+ uint32_t date_reg = s->regs[R_RTC_DR];
+ target_tm->tm_mday = from_bcd(date_reg & 0x3f);
+ target_tm->tm_mon = from_bcd((date_reg & 0x00001F00) >> 8) - 1;
+ target_tm->tm_year = from_bcd((date_reg & 0x00FF0000) >> 16) + 100;
+
+ // Have mktime fill in the remaining fields and return the UTC seconds as well
+ return mktimegm(target_tm);
+}
+
+
+
+// Compute the host to target offset based on the passed in target ticks and the current
+// host time.
+static int64_t
+f2xx_rtc_compute_host_to_target_offset(f2xx_rtc *s, int64_t period_ns, time_t target_ticks)
+{
+ // Convert target ticks to real clock microseconds
+ int64_t target_time_us = target_ticks * period_ns / 1000;
+
+ // Get the host time in microseconds
+ struct timeval tv;
+ gettimeofday(&tv, NULL);
+ int64_t host_time_us = tv.tv_sec * 1000000LL + (tv.tv_usec);
+
+ // Get the host to target offset in micro seconds
+ return target_time_us - host_time_us;
+}
+
+
+static uint64_t
+f2xx_rtc_read(void *arg, hwaddr addr, unsigned int size)
+{
+ f2xx_rtc *s = arg;
+ uint32_t r;
+ int offset = addr & 0x3;
+
+ addr >>= 2;
+ if (addr >= R_RTC_MAX) {
+ qemu_log_mask(LOG_GUEST_ERROR, "invalid read f2xx rtc register 0x%x\n",
+ (unsigned int)addr << 2);
+ DPRINTF(" %s: result: 0\n", __func__);
+ return 0;
+ }
+
+ // If reading the time or date register, make sure they are brought up to date first
+ if (addr == R_RTC_TR || addr == R_RTC_DR) {
+ f2xx_update_current_date_and_time(s);
+ }
+
+ uint32_t value = s->regs[addr];
+ if (addr == R_RTC_ISR) {
+ value |= R_RTC_ISR_RSF;
+ }
+
+ // HACK for Pebble. Clear the "entered standby" bit. If this bit is set, the Pebble
+ // will only continue booting if one of the buttons is held down. Because the button GPIOs
+ // are setup AFTER QEMU gets the key press event, it is difficult to set the GPIOs according
+ // to the buttons held down before the reset.
+ if (addr == R_RTC_BKPxR) {
+ value &= ~0x10000;
+ }
+
+ // If reading the sub-second register, determine what it should be from the current
+ // host time
+ if (addr == R_RTC_SSR) {
+ // How many ns are in in a full cycle of the subsecond counter?
+ uint32_t prer = s->regs[R_RTC_PRER];;
+ uint32_t prer_s = (prer >> R_RTC_PRER_PREDIV_S_SHIFT) & R_RTC_PRER_PREDIV_S_MASK;
+
+ uint64_t full_cycle_us = f2xx_clock_period_ns(s) / 1000;
+
+ // What fraction of a full cycle are we in?
+ struct timeval tv;
+ gettimeofday(&tv, NULL);
+ int64_t host_time_us = tv.tv_sec * 1000000LL + (tv.tv_usec);
+ host_time_us += s->host_to_target_offset_us;
+
+ int64_t host_mod = host_time_us % full_cycle_us;
+ double fract = (double)host_mod / full_cycle_us;
+
+ // Compute the prescaler value
+ value = prer_s - (fract * prer_s);
+ DPRINTF("%s: SSR value = %d\n", __func__, value);
+ }
+
+ r = (value >> offset * 8) & ((1ull << (8 * size)) - 1);
+
+#ifdef DEBUG_STM32F2XX_RTC
+ // Debug printing
+ if (addr == R_RTC_TR || addr == R_RTC_DR) {
+ struct tm target_tm;
+ f2xx_rtc_get_current_target_time(s, &target_tm);
+
+ char date_time_str[256];
+ strftime(date_time_str, sizeof(date_time_str), "%x %X", &target_tm);
+ DPRINTF("%s: current date/time: %s\n", __func__, date_time_str);
+ } else {
+ DPRINTF("%s: addr: 0x%llx, size: %d, value: 0x%x\n", __func__, addr << 2, size, r);
+ }
+#endif
+
+ return r;
+}
+
+static void
+f2xx_rtc_write(void *arg, hwaddr addr, uint64_t data, unsigned int size)
+{
+ f2xx_rtc *s = arg;
+ int offset = addr & 0x3;
+ bool compute_new_target_offset = false;
+ bool update_wut = false;
+
+ DPRINTF("%s: addr: 0x%llx, data: 0x%llx, size: %d\n", __func__, addr, data, size);
+
+ addr >>= 2;
+ if (addr >= R_RTC_MAX) {
+ qemu_log_mask(LOG_GUEST_ERROR, "invalid write f2xx rtc register 0x%x\n",
+ (unsigned int)addr << 2);
+ return;
+ }
+
+ /* Special case for write protect state machine. */
+ if (addr == R_RTC_WPR) {
+ if (offset > 0) {
+ return;
+ }
+ data &= 0xff;
+ if ((s->wp_count == 0 && data == 0xca) ||
+ (s->wp_count == 1 && data == 0x53)) {
+ s->wp_count++;
+ } else {
+ s->wp_count = 0;
+ }
+ s->regs[addr] = data;
+ return;
+ }
+
+ switch(size) {
+ case 1:
+ data = (s->regs[addr] & ~(0xff << (offset * 8))) | data << (offset * 8);
+ break;
+ case 2:
+ data = (s->regs[addr] & ~(0xffff << (offset * 8))) | data << (offset * 8);
+ break;
+ case 4:
+ break;
+ default:
+ abort();
+ }
+ if (addr >= R_RTC_BKPxR && addr <= R_RTC_BKPxR_INC_EXTRA_LAST) {
+ s->regs[addr] = data;
+ return;
+ }
+ /* Write protect */
+ if (s->wp_count < 2 && addr != R_RTC_TAFCR && addr != R_RTC_ISR
+ && addr != R_RTC_WPR) {
+ qemu_log_mask(LOG_GUEST_ERROR, "f2xx rtc write reg 0x%x+%u without wp disable\n",
+ (unsigned int)addr << 2, offset);
+ return;
+ }
+ switch(addr) {
+ case R_RTC_TR:
+ case R_RTC_DR:
+ compute_new_target_offset = true;
+ break;
+ case R_RTC_CR:
+ if ((data & R_RTC_CR_WUTE) != (s->regs[R_RTC_CR] & R_RTC_CR_WUTE)) {
+ update_wut = true;
+ }
+ break;
+ case R_RTC_ISR:
+ if ((data & 1<<8) == 0 && (s->regs[R_RTC_ISR] & 1<<8) != 0) {
+ DPRINTF("f2xx rtc isr lowered\n");
+ qemu_irq_lower(s->irq[0]);
+ }
+ if ((data & 1<<10) == 0 && (s->regs[R_RTC_ISR] & 1<<10) != 0) {
+ DPRINTF("f2xx rtc WUT isr lowered\n");
+ qemu_irq_lower(s->wut_irq);
+ }
+ break;
+ case R_RTC_PRER:
+ /*
+ * XXX currently updates upon next clock tick. To do this properly we
+ * would need to account for the time already elapsed, and then update
+ * the timer for the remaining period.
+ */
+ break;
+ case R_RTC_WUTR:
+ update_wut = true;
+ break;
+ case R_RTC_ALRMAR:
+ case R_RTC_ALRMBR:
+ break;
+ case R_RTC_TAFCR:
+ if (data) {
+ qemu_log_mask(LOG_UNIMP,
+ "f2xx rtc unimplemented write TAFCR+%u size %u val %u\n",
+ offset, size, (unsigned int)data);
+ }
+ break;
+ default:
+ qemu_log_mask(LOG_UNIMP, "f2xx rtc unimplemented write 0x%x+%u size %u val 0x%x\n",
+ (unsigned int)addr << 2, offset, size, (unsigned int)data);
+ }
+ s->regs[addr] = data;
+
+
+ // Do we need to recompute the host to target offset?
+ if (compute_new_target_offset) {
+ struct tm target_tm;
+ // Recompute ticks based on the modified contents of the TR and DR registers
+ s->ticks = f2xx_rtc_get_current_target_time(s, &target_tm);
+ // Update the host to target offset as well
+ s->host_to_target_offset_us = f2xx_rtc_compute_host_to_target_offset(s,
+ f2xx_clock_period_ns(s), s->ticks);
+ }
+
+ // Do we need to update the timer for the wake-up-timer?
+ if (update_wut) {
+ if (s->regs[R_RTC_CR] & R_RTC_CR_WUTE) {
+ int64_t elapsed = f2xx_wut_period_ns(s, s->regs[R_RTC_WUTR]);
+ DPRINTF("%s: scheduling WUT to fire in %f ms\n", __func__, (float)elapsed/1000000.0);
+ timer_mod(s->wu_timer, qemu_clock_get_ns(QEMU_CLOCK_REALTIME) + elapsed);
+ } else {
+ DPRINTF("%s: Cancelling WUT\n", __func__);
+ qemu_set_irq(s->wut_irq, 0);
+ timer_del(s->wu_timer);
+ }
+ }
+}
+
+
+static bool
+f2xx_alarm_match(f2xx_rtc *s, uint32_t alarm_reg)
+{
+ uint32_t tr = s->regs[R_RTC_TR];
+
+ if ((alarm_reg & (1<<7)) == 0 && (tr & 0x7f) != (alarm_reg & 0x7f)) {
+ /* Seconds match requested, but do not match. */
+ return false;
+ }
+ if ((alarm_reg & (1<<15)) == 0 && (tr & 0x7f00) != (alarm_reg & 0x7f00)) {
+ /* Minutes match requested, but do not match. */
+ return false;
+ }
+ if ((alarm_reg & (1<<23)) == 0 && (tr & 0x7f0000) != (alarm_reg & 0x7f0000)) {
+ /* Hours match requested, but do not match. */
+ return false;
+ }
+ if ((alarm_reg & (1<<31)) == 0) { /* Day match. */
+ uint32_t dr = s->regs[R_RTC_DR];
+ if (alarm_reg & (1<<30)) { /* Day is week day. */
+ if (((alarm_reg>>24) & 0xf) != ((dr>>13) & 0xf)) {
+ return false;
+ }
+ } else { /* Day is day of month. */
+ if (((alarm_reg>>24) & 0x3f) != (dr & 0x3f)) {
+ return false;
+ }
+ }
+ }
+ return true;
+}
+
+static void
+f2xx_alarm_check(f2xx_rtc *s, int unit)
+{
+ uint32_t cr = s->regs[R_RTC_CR];
+ uint32_t isr = s->regs[R_RTC_ISR];
+
+ if ((cr & 1<<(R_RTC_CR_ALRAE_BIT + unit)) == 0) {
+ return; /* Not enabled. */
+ }
+
+ if ((isr & 1<<(R_RTC_CR_ALRAE_BIT + unit)) == 0) {
+ if (f2xx_alarm_match(s, s->regs[R_RTC_ALRMAR + unit])) {
+ isr |= 1<<(8 + unit);
+ s->regs[R_RTC_ISR] = isr;
+ DPRINTF("f2xx rtc alarm activated 0x%x 0x%x\n", isr, cr);
+ }
+ }
+ qemu_set_irq(s->irq[unit], cr & 1<<(12 + unit) && isr & 1<<(8 + unit));
+}
+
+// This method updates the current time and date registers to match the current
+// host time. While it advances the target time, it checks for alarms that need to fire.
+static void
+f2xx_update_current_date_and_time(void *arg)
+{
+ f2xx_rtc *s = arg;
+ uint64_t period_ns = f2xx_clock_period_ns(s);
+
+ struct tm new_target_tm;
+ time_t new_target_ticks = f2xx_rtc_compute_target_time_from_host_time(s,
+ period_ns, &new_target_tm);
+
+
+ // Normally, we would advance the target ticks until we catch up to the host ticks and
+ // check for an alarm at each tick. But, if the clocks got too far off (host or target
+ // changed time), just jam in the new target time without checking alarms
+ int delta = new_target_ticks - s->ticks;
+ //DPRINTF("%s: advancing target by %d ticks\n", __func__, delta);
+ if (delta < 0 || delta > 1000) {
+ printf("DEBUG_STM32F2XX_RTC %s: detected %d mismatch between host and target ticks, "
+ "jamming new host time into RTC without checking for alarms\n", __func__, delta);
+ s->ticks = new_target_ticks;
+ f2xx_rtc_set_time_and_date_registers(s, &new_target_tm);
+ } else {
+ while (s->ticks != new_target_ticks) {
+ s->ticks += 1;
+ gmtime_r(&s->ticks, &new_target_tm);
+ f2xx_rtc_set_time_and_date_registers(s, &new_target_tm);
+
+ f2xx_alarm_check(s, 0);
+ f2xx_alarm_check(s, 1);
+ }
+ }
+
+ // Reschedule tick timer to run one tick from now to check for alarms again
+ timer_mod(s->timer, qemu_clock_get_ns(QEMU_CLOCK_HOST) + period_ns);
+}
+
+
+// This timer runs on every tick (usually second)
+static void
+f2xx_timer(void *arg)
+{
+ f2xx_rtc *s = arg;
+ f2xx_update_current_date_and_time(s);
+}
+
+
+// This timer fires when the wake up time has expired
+static void
+f2xx_wu_timer(void *arg)
+{
+ f2xx_rtc *s = arg;
+
+ DPRINTF("%s: fired\n", __func__);
+
+ // Fire the interrupt?
+ uint32_t cr = s->regs[R_RTC_CR];
+ uint32_t isr = s->regs[R_RTC_ISR];
+
+ // Make sure WUT is enabled
+ if ( (cr & R_RTC_CR_WUTE) == 0 ) {
+ return; /* Not enabled */
+ }
+
+ // If interrupt not already asserted, assert it
+ if ( (isr & R_RTC_ISR_WUT) == 0 ) {
+ isr |= R_RTC_ISR_WUT;
+ s->regs[R_RTC_ISR] = isr;
+ DPRINTF("f2xx wakeup timer ISR activated 0x%x 0x%x\n", isr, cr);
+ }
+
+ qemu_set_irq(s->wut_irq, (cr & R_RTC_CR_WUTIE) && (isr & R_RTC_ISR_WUT));
+
+ // Reschedule again
+ int64_t elapsed = f2xx_wut_period_ns(s, s->regs[R_RTC_WUTR]);
+ timer_mod(s->wu_timer, qemu_clock_get_ns(QEMU_CLOCK_REALTIME) + elapsed);
+}
+
+
+// External interface to set the value of an "extra" backup register. This can be used to
+// communicate emulator specific settings to the target
+void f2xx_rtc_set_extra_bkup_reg(void *opaque, uint32_t idx, uint32_t value)
+{
+ f2xx_rtc *s = (f2xx_rtc *)opaque;
+
+ // Copy in the extra backup registers that were specified via properties
+ assert(idx < STM32F2XX_RTC_NUM_EXTRA_BKUP_REG);
+ s->regs[R_RTC_BKPxR_LAST + 1 + idx] = value;
+}
+
+
+
+static const MemoryRegionOps f2xx_rtc_ops = {
+ .read = f2xx_rtc_read,
+ .write = f2xx_rtc_write,
+ .endianness = DEVICE_NATIVE_ENDIAN,
+ .impl = {
+ .min_access_size = 1,
+ .max_access_size = 4,
+ }
+};
+
+static void f2xx_rtc_reset(DeviceState *dev)
+{
+ f2xx_rtc *s = STM32F2XX_RTC(dev);
+ s->regs[R_RTC_CR] = 0;
+}
+
+static void
+f2xx_rtc_init(Object *obj)
+{
+ f2xx_rtc *s = STM32F2XX_RTC(obj);
+ SysBusDevice *dev = SYS_BUS_DEVICE(obj);
+
+ memory_region_init_io(&s->iomem, OBJECT(s), &f2xx_rtc_ops, s, "rtc", 0x03ff);
+ sysbus_init_mmio(dev, &s->iomem);
+
+ sysbus_init_irq(dev, &s->irq[0]);
+ sysbus_init_irq(dev, &s->irq[1]);
+ sysbus_init_irq(dev, &s->wut_irq);
+
+ s->regs[R_RTC_ISR] = R_RTC_ISR_RESET;
+ s->regs[R_RTC_PRER] = R_RTC_PRER_RESET;
+ s->regs[R_RTC_WUTR] = R_RTC_WUTR_RESET;
+
+ uint32_t period_ns = f2xx_clock_period_ns(s);
+ DPRINTF("%s: period: %d ns\n", __func__, period_ns);
+
+ // Init the time and date registers from the time on the host as the default
+ s->host_to_target_offset_us = 0;
+ struct tm now;
+ qemu_get_timedate(&now, 0);
+
+ // Set time and date registers from the now struct
+ f2xx_rtc_set_time_and_date_registers(s, &now);
+
+ // Compute current ticks and host to target offset
+ s->ticks = mktimegm(&now);
+ s->host_to_target_offset_us = f2xx_rtc_compute_host_to_target_offset(s,
+ f2xx_clock_period_ns(s), s->ticks);
+
+ s->timer = timer_new_ns(QEMU_CLOCK_HOST, f2xx_timer, s);
+ timer_mod(s->timer, qemu_clock_get_ns(QEMU_CLOCK_HOST) + period_ns);
+
+ s->wu_timer = timer_new_ns(QEMU_CLOCK_REALTIME, f2xx_wu_timer, s);
+}
+
+static Property f2xx_rtc_properties[] = {
+ DEFINE_PROP_END_OF_LIST(),
+};
+
+static void
+f2xx_rtc_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+
+ //TODO: fix this: dc->no_user = 1;
+ device_class_set_props(dc, f2xx_rtc_properties);
+ dc->reset = f2xx_rtc_reset;
+}
+
+static const TypeInfo
+f2xx_rtc_info = {
+ .name = TYPE_STM32F2XX_RTC,
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(f2xx_rtc),
+ .instance_init = f2xx_rtc_init,
+ .class_init = f2xx_rtc_class_init,
+};
+
+static void
+f2xx_rtc_register_types(void)
+{
+ type_register_static(&f2xx_rtc_info);
+}
+
+type_init(f2xx_rtc_register_types)
diff --git a/hw/arm/stm32f2xx_syscfg.c b/hw/arm/stm32f2xx_syscfg.c
new file mode 100644
index 0000000000000..1ba1b7279ba7a
--- /dev/null
+++ b/hw/arm/stm32f2xx_syscfg.c
@@ -0,0 +1,278 @@
+/*
+ * STM32F2XX Microcontroller SYSCFG (System Configuration Controller) module
+ *
+ * Copyright (C) 2013 Martijn The
+ *
+ * Implementation based on ST Microelectronics "RM0033 Reference Manual Rev 4"
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, see .
+ */
+
+#include "qemu/osdep.h"
+#include "stm32f2xx.h"
+#include "hw/hw.h"
+#include "hw/qdev-properties.h"
+
+
+
+/* DEFINITIONS */
+
+#define SYSCFG_MEMRMP_OFFSET 0x00
+#define SYSCFG_MEMRMP_MEM_MODE_MASK 0x3
+
+#define SYSCFG_PMC_OFFSET 0x04
+
+#define SYSCFG_EXTICR1_OFFSET 0x08
+#define SYSCFG_EXTICR2_OFFSET 0x0c
+#define SYSCFG_EXTICR3_OFFSET 0x10
+#define SYSCFG_EXTICR4_OFFSET 0x14
+
+#define SYSCFG_EXTICR_COUNT 4
+#define SYSCFG_EXTI_PER_CR 4
+
+#define SYSCFG_CMPCR_OFFSET 0x20
+
+typedef struct {
+ /* Inherited */
+ SysBusDevice busdev;
+
+ /* Properties */
+ void *stm32_rcc_prop;
+ void *stm32_exti_prop;
+ uint32_t boot_pins; //!< BOOT0 and BOOT1 pins
+
+ /* Private */
+ MemoryRegion iomem;
+
+ Stm32Rcc *stm32_rcc;
+ Stm32Exti *stm32_exti;
+
+ uint32_t
+ USART1_REMAP,
+ USART2_REMAP,
+ USART3_REMAP,
+ SYSCFG_MEMRMP,
+ SYSCFG_EXTICR[SYSCFG_EXTICR_COUNT];
+} Stm32Syscfg;
+
+
+/* REGISTER IMPLEMENTATION */
+
+static uint32_t stm32_syscfg_SYSCFG_MEMRMP_read(Stm32Syscfg *s)
+{
+ return s->SYSCFG_MEMRMP;
+}
+
+static void stm32_syscfg_SYSCFG_MEMRMP_write(Stm32Syscfg *s, uint32_t new_value,
+ bool init)
+{
+ if (init) {
+ // "After reset these bits take the value selected by the BOOT pins."
+ s->SYSCFG_MEMRMP = (SYSCFG_MEMRMP_MEM_MODE_MASK & s->boot_pins);
+ } else {
+ s->SYSCFG_MEMRMP = new_value;
+ }
+}
+
+/* Write the External Interrupt Configuration Register.
+ * There are four of these registers, each of which configures
+ * four EXTI interrupt lines. Each line is represented by four bits, which
+ * indicate which GPIO the line is connected to. When the register is
+ * written, the changes are propagated to the EXTI module.
+ */
+static void stm32_syscfg_SYSCFG_EXTICR_write(Stm32Syscfg *s, unsigned index,
+ uint32_t new_value, bool init)
+{
+ int i;
+ unsigned exti_line;
+ unsigned start;
+ unsigned old_gpio_index, new_gpio_index;
+
+ assert(index < SYSCFG_EXTICR_COUNT);
+
+ /* Loop through the four EXTI lines controlled by this register. */
+ for(i = 0; i < SYSCFG_EXTI_PER_CR; i++) {
+ /* For each line, notify the EXTI module if it has changed. */
+ exti_line = (index * SYSCFG_EXTI_PER_CR) + i;
+ start = i * 4;
+
+ new_gpio_index = (new_value >> start) & 0xf;
+ if(!init) {
+ old_gpio_index = (s->SYSCFG_EXTICR[index] >> start) & 0xf;
+ if (old_gpio_index == new_gpio_index) {
+ continue;
+ }
+ stm32_exti_reset_gpio(s->stm32_exti, exti_line, old_gpio_index);
+ }
+ stm32_exti_set_gpio(s->stm32_exti, exti_line, new_gpio_index);
+ }
+
+ s->SYSCFG_EXTICR[index] = new_value;
+}
+
+
+static uint64_t stm32_syscfg_readw(Stm32Syscfg *s, hwaddr offset)
+{
+ switch (offset) {
+ case SYSCFG_MEMRMP_OFFSET:
+ return stm32_syscfg_SYSCFG_MEMRMP_read(s);
+ case SYSCFG_PMC_OFFSET:
+ STM32_NOT_IMPL_REG(SYSCFG_PMC_OFFSET, WORD_ACCESS_SIZE);
+ return 0;
+ case SYSCFG_EXTICR1_OFFSET:
+ return s->SYSCFG_EXTICR[0];
+ case SYSCFG_EXTICR2_OFFSET:
+ return s->SYSCFG_EXTICR[1];
+ case SYSCFG_EXTICR3_OFFSET:
+ return s->SYSCFG_EXTICR[2];
+ case SYSCFG_EXTICR4_OFFSET:
+ return s->SYSCFG_EXTICR[3];
+ case SYSCFG_CMPCR_OFFSET:
+ STM32_NOT_IMPL_REG(SYSCFG_CMPCR_OFFSET, WORD_ACCESS_SIZE);
+ return 0;
+ default:
+ STM32_BAD_REG(offset, WORD_ACCESS_SIZE);
+ return 0;
+ }
+}
+
+static void stm32_syscfg_writew(Stm32Syscfg *s, hwaddr offset,
+ uint64_t value)
+{
+ switch (offset) {
+ case SYSCFG_MEMRMP_OFFSET:
+ stm32_syscfg_SYSCFG_MEMRMP_write(s, value, false);
+ break;
+ case SYSCFG_PMC_OFFSET:
+ STM32_NOT_IMPL_REG(SYSCFG_PMC_OFFSET, WORD_ACCESS_SIZE);
+ break;
+ case SYSCFG_EXTICR1_OFFSET:
+ stm32_syscfg_SYSCFG_EXTICR_write(s, 0, value, false);
+ break;
+ case SYSCFG_EXTICR2_OFFSET:
+ stm32_syscfg_SYSCFG_EXTICR_write(s, 1, value, false);
+ break;
+ case SYSCFG_EXTICR3_OFFSET:
+ stm32_syscfg_SYSCFG_EXTICR_write(s, 2, value, false);
+ break;
+ case SYSCFG_EXTICR4_OFFSET:
+ stm32_syscfg_SYSCFG_EXTICR_write(s, 3, value, false);
+ break;
+ case SYSCFG_CMPCR_OFFSET:
+ STM32_NOT_IMPL_REG(SYSCFG_CMPCR_OFFSET, WORD_ACCESS_SIZE);
+ break;
+ default:
+ STM32_BAD_REG(offset, WORD_ACCESS_SIZE);
+ break;
+ }
+}
+
+static uint64_t stm32_syscfg_read(void *opaque, hwaddr offset,
+ unsigned size)
+{
+ Stm32Syscfg *s = (Stm32Syscfg *)opaque;
+
+ stm32_rcc_check_periph_clk((Stm32Rcc *)s->stm32_rcc, STM32_SYSCFG);
+
+ switch(size) {
+ case 4:
+ return stm32_syscfg_readw(opaque, offset);
+ default:
+ STM32_BAD_REG(offset, size);
+ return 0;
+ }
+}
+
+static void stm32_syscfg_write(void *opaque, hwaddr offset,
+ uint64_t value, unsigned size)
+{
+ Stm32Syscfg *s = (Stm32Syscfg *)opaque;
+
+ stm32_rcc_check_periph_clk((Stm32Rcc *)s->stm32_rcc, STM32_SYSCFG);
+
+ switch(size) {
+ case 4:
+ stm32_syscfg_writew(opaque, offset, value);
+ break;
+ default:
+ STM32_BAD_REG(offset, size);
+ break;
+ }
+}
+
+static const MemoryRegionOps stm32_syscfg_ops = {
+ .read = stm32_syscfg_read,
+ .write = stm32_syscfg_write,
+ .endianness = DEVICE_NATIVE_ENDIAN
+};
+
+static void stm32_syscfg_reset(DeviceState *dev)
+{
+ Stm32Syscfg *s = STM32F2XX_SYSCFG(dev);
+
+ stm32_syscfg_SYSCFG_MEMRMP_write(s, 0x00000000, true);
+ stm32_syscfg_SYSCFG_EXTICR_write(s, 0, 0x00000000, true);
+ stm32_syscfg_SYSCFG_EXTICR_write(s, 1, 0x00000000, true);
+ stm32_syscfg_SYSCFG_EXTICR_write(s, 2, 0x00000000, true);
+ stm32_syscfg_SYSCFG_EXTICR_write(s, 3, 0x00000000, true);
+}
+
+
+
+/* DEVICE INITIALIZATION */
+
+static void stm32_syscfg_realize(DeviceState *obj, Error **pError)
+{
+ Stm32Syscfg *s = STM32F2XX_SYSCFG(obj);
+ SysBusDevice *dev = SYS_BUS_DEVICE(obj);
+
+ s->stm32_rcc = (Stm32Rcc *)s->stm32_rcc_prop;
+ s->stm32_exti = (Stm32Exti *)s->stm32_exti_prop;
+
+ memory_region_init_io(&s->iomem, OBJECT(s), &stm32_syscfg_ops, s,
+ "syscfg", 0x03ff);
+ sysbus_init_mmio(dev, &s->iomem);
+}
+
+static Property stm32_syscfg_properties[] = {
+ DEFINE_PROP_PTR("stm32_rcc", Stm32Syscfg, stm32_rcc_prop),
+ DEFINE_PROP_PTR("stm32_exti", Stm32Syscfg, stm32_exti_prop),
+ DEFINE_PROP_BIT("boot0", Stm32Syscfg, boot_pins, 0, 0), // BOOT0 pin
+ DEFINE_PROP_BIT("boot1", Stm32Syscfg, boot_pins, 1, 0), // BOOT1 pin
+ DEFINE_PROP_END_OF_LIST()
+};
+
+static void stm32_syscfg_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+
+ dc->realize = stm32_syscfg_realize;
+ dc->reset = stm32_syscfg_reset;
+ device_class_set_props(dc, stm32_syscfg_properties);
+}
+
+static TypeInfo stm32_syscfg_info = {
+ .name = TYPE_STM32F2XX_SYSCFG,
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(Stm32Syscfg),
+ .class_init = stm32_syscfg_class_init
+};
+
+static void stm32_syscfg_register_types(void)
+{
+ type_register_static(&stm32_syscfg_info);
+}
+
+type_init(stm32_syscfg_register_types)
+
diff --git a/hw/arm/stm32f2xx_tim.c b/hw/arm/stm32f2xx_tim.c
new file mode 100644
index 0000000000000..56ce6093bc50b
--- /dev/null
+++ b/hw/arm/stm32f2xx_tim.c
@@ -0,0 +1,334 @@
+/*-
+ * Copyright (c) 2013
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+/*
+ * QEMU stm32f2xx TIM emulation
+ */
+
+#include "qemu/osdep.h"
+#include "hw/sysbus.h"
+#include "hw/arm/stm32.h"
+#include "qemu/timer.h"
+#include "hw/irq.h"
+#include "hw/qdev-properties.h"
+
+//#define DEBUG_STM32F2XX_TIM
+#ifdef DEBUG_STM32F2XX_TIM
+// NOTE: The usleep() helps the MacOS stdout from freezing when we have a lot of print out
+#define DPRINTF(fmt, ...) \
+ do { printf("DEBUG_STM32F2XX_TIM: " fmt , ## __VA_ARGS__); \
+ usleep(100); \
+ } while (0)
+#else
+#define DPRINTF(fmt, ...)
+#endif
+
+
+
+#define R_TIM_CR1 (0x00 / 4) //p
+#define R_TIM_CR2 (0x04 / 4)
+#define R_TIM_SMCR (0x08 / 4)
+#define R_TIM_DIER (0x0c / 4) //p
+#define R_TIM_SR (0x10 / 4) //p
+#define R_TIM_EGR (0x14 / 4) //p
+#define R_TIM_CCMR1 (0x18 / 4)
+#define R_TIM_CCMR2 (0x1c / 4)
+#define R_TIM_CCER (0x20 / 4)
+#define R_TIM_CNT (0x24 / 4)
+#define R_TIM_PSC (0x28 / 4) //p
+#define R_TIM_ARR (0x2c / 4) //p
+#define R_TIM_CCR1 (0x34 / 4)
+#define R_TIM_CCR2 (0x38 / 4)
+#define R_TIM_CCR3 (0x3c / 4)
+#define R_TIM_CCR4 (0x40 / 4)
+#define R_TIM_DCR (0x48 / 4)
+#define R_TIM_DMAR (0x4c / 4)
+#define R_TIM_OR (0x50 / 4)
+#define R_TIM_MAX (0x54 / 4)
+
+static const char *f2xx_tim_reg_names[] = {
+ ENUM_STRING(R_TIM_CR1),
+ ENUM_STRING(R_TIM_CR2),
+ ENUM_STRING(R_TIM_SMCR),
+ ENUM_STRING(R_TIM_DIER),
+ ENUM_STRING(R_TIM_SR),
+ ENUM_STRING(R_TIM_EGR),
+ ENUM_STRING(R_TIM_CCMR1),
+ ENUM_STRING(R_TIM_CCMR2),
+ ENUM_STRING(R_TIM_CCER),
+ ENUM_STRING(R_TIM_CNT),
+ ENUM_STRING(R_TIM_PSC),
+ ENUM_STRING(R_TIM_ARR),
+ ENUM_STRING(R_TIM_CCR1),
+ ENUM_STRING(R_TIM_CCR2),
+ ENUM_STRING(R_TIM_CCR3),
+ ENUM_STRING(R_TIM_CCR4),
+ ENUM_STRING(R_TIM_DCR),
+ ENUM_STRING(R_TIM_CCMR1),
+ ENUM_STRING(R_TIM_DMAR),
+ ENUM_STRING(R_TIM_OR)
+};
+
+
+typedef struct f2xx_tim {
+ SysBusDevice busdev;
+ MemoryRegion iomem;
+ QEMUTimer *timer;
+ qemu_irq irq;
+ uint32_t regs[R_TIM_MAX];
+
+ qemu_irq pwm_ratio_changed;
+ qemu_irq pwm_enable;
+} f2xx_tim;
+
+static uint32_t
+f2xx_tim_period(f2xx_tim *s)
+{
+ /* FIXME: hard coded to 32kHz */
+ return 31250;
+}
+
+static int64_t
+f2xx_tim_next_transition(f2xx_tim *s, int64_t current_time)
+{
+ if (s->regs[R_TIM_CR1] & 0x70) {
+ qemu_log_mask(LOG_UNIMP, "f2xx tim, only upedge-aligned mode supported\n");
+ return -1;
+ }
+ return current_time + f2xx_tim_period(s) * s->regs[R_TIM_ARR];
+}
+
+static void
+f2xx_tim_timer(void *arg)
+{
+ f2xx_tim *s = arg;
+
+ if (s->regs[R_TIM_CR1] & 1) {
+ timer_mod(s->timer, f2xx_tim_next_transition(s, qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL)));
+ }
+ if (!(s->regs[R_TIM_SR] & 1)) {
+ //printf("f2xx tim timer expired, setting int\n");
+ s->regs[R_TIM_SR] |= 1;
+ }
+ qemu_set_irq(s->irq, 1);
+}
+
+static uint64_t
+f2xx_tim_read(void *arg, hwaddr addr, unsigned int size)
+{
+ f2xx_tim *s = arg;
+ uint32_t r;
+ int offset = addr & 0x3;
+
+ addr >>= 2;
+ if (addr >= R_TIM_MAX) {
+ qemu_log_mask(LOG_GUEST_ERROR, "f2xx tim invalid read register 0x%x\n",
+ (unsigned int)addr << 2);
+ return 0;
+ }
+ r = (s->regs[addr] >> offset * 8) & ((1ull << (8 * size)) - 1);
+ switch (addr) {
+ case R_TIM_CR1:
+ case R_TIM_DIER:
+ case R_TIM_SR:
+ break;
+ default:
+ qemu_log_mask(LOG_UNIMP, "f2xx tim unimplemented read 0x%x+%u size %u val 0x%x\n",
+ (unsigned int)addr << 2, offset, size, (unsigned int)r);
+ }
+
+ DPRINTF("%s %s: reg: %s, size: %d, value: 0x%x\n", s->busdev.parent_obj.id,
+ __func__, f2xx_tim_reg_names[addr], size, r);
+ return r;
+}
+
+static void
+f2xx_tim_write(void *arg, hwaddr addr, uint64_t data, unsigned int size)
+{
+ f2xx_tim *s = arg;
+ int offset = addr & 0x3;
+
+ addr >>= 2;
+
+ DPRINTF("%s %s: reg:%s, size: %d, value: 0x%llx\n", s->busdev.parent_obj.id,
+ __func__, f2xx_tim_reg_names[addr], size, data);
+ if (addr >= R_TIM_MAX) {
+ qemu_log_mask(LOG_GUEST_ERROR, "f2xx tim invalid write register 0x%x\n",
+ (unsigned int)addr << 2);
+ return;
+ }
+
+ switch(size) {
+ case 1:
+ data = (s->regs[addr] & ~(0xff << (offset * 8))) | data << (offset * 8);
+ break;
+ case 2:
+ data = (s->regs[addr] & ~(0xffff << (offset * 8))) | data << (offset * 8);
+ break;
+ case 4:
+ break;
+ default:
+ abort();
+ }
+
+ switch(addr) {
+ case R_TIM_CR1:
+ if (data & ~1) {
+ qemu_log_mask(LOG_UNIMP, "f2xx tim non-zero CR1 unimplemented\n");
+ }
+ if ((s->regs[addr] & 1) == 0 && data & 1) {
+ //printf("f2xx tim started\n");
+ timer_mod(s->timer, f2xx_tim_next_transition(s, qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL)));
+ qemu_set_irq(s->pwm_enable, 1);
+ } else if (s->regs[addr] & 1 && (data & 1) == 0) {
+ timer_del(s->timer);
+ qemu_set_irq(s->pwm_enable, 0);
+ }
+ s->regs[addr] = data;
+ break;
+ case R_TIM_SR:
+ if (s->regs[addr] & 1 && (data & 1) == 0) {
+ //printf("f2xx tim clearing int\n");
+ qemu_set_irq(s->irq, 0);
+ }
+ s->regs[addr] &= data;
+ break;
+ case R_TIM_EGR:
+ qemu_log_mask(LOG_UNIMP, "f2xx tim unimplemented write EGR+%u size %u val 0x%x\n",
+ offset, size, (unsigned int)data);
+ break;
+ case R_TIM_CCER:
+ // Capture/Compare Enable register
+ s->regs[addr] = data;
+
+ // If we are enabling PWM mode in output 1, notify the callback if we have one registered
+ if ( (data & 0x01) // Capture Compare 1 output enable
+ && ((s->regs[R_TIM_CCMR1] & 0x60) == 0x60)
+ && ((s->regs[R_TIM_CCMR1] & 0x03) == 0x00)) {
+
+ uint32_t ratio = (s->regs[R_TIM_CCR1] * 255) / s->regs[R_TIM_ARR];
+ DPRINTF("Setting PWM ratio to %d\n", ratio);
+ qemu_set_irq(s->pwm_ratio_changed, ratio);
+ }
+
+ // If we are enabling PWM mode in output 1, notify the callback if we have one registered
+ else if ( (data & 0x10) // Capture Compare 2 output enable
+ && ((s->regs[R_TIM_CCMR1] & 0x6000) == 0x6000)
+ && ((s->regs[R_TIM_CCMR1] & 0x0300) == 0x0000)) {
+
+ uint32_t ratio = (s->regs[R_TIM_CCR2] * 255) / s->regs[R_TIM_ARR];
+ DPRINTF("Setting PWM ratio to %d\n", ratio);
+ qemu_set_irq(s->pwm_ratio_changed, ratio);
+
+ } else {
+ qemu_set_irq(s->pwm_ratio_changed, 0);
+ }
+
+ break;
+ case R_TIM_CCMR1:
+ // Capture/Compare mode register 1
+ s->regs[addr] = data;
+ break;
+ case R_TIM_CCMR2:
+ // Capture/Compare mode register 2
+ s->regs[addr] = data;
+ break;
+ case R_TIM_DIER:
+ case R_TIM_PSC:
+ case R_TIM_ARR:
+ case R_TIM_CCR1:
+ case R_TIM_CCR2:
+ s->regs[addr] = data;
+ break;
+ default:
+ qemu_log_mask(LOG_UNIMP, "f2xx tim unimplemented write 0x%x+%u size %u val 0x%x\n",
+ (unsigned int)addr << 2, offset, size, (unsigned int)data);
+ }
+
+}
+
+static const MemoryRegionOps f2xx_tim_ops = {
+ .read = f2xx_tim_read,
+ .write = f2xx_tim_write,
+ .endianness = DEVICE_NATIVE_ENDIAN,
+ .impl = {
+ .min_access_size = 1,
+ .max_access_size = 4,
+ }
+};
+
+static void f2xx_tim_reset(DeviceState *dev)
+{
+ f2xx_tim *s = STM32F2XX_TIM(dev);
+
+ timer_del(s->timer);
+ memset(&s->regs, 0, sizeof(s->regs));
+}
+
+
+static void
+f2xx_tim_init(Object *obj)
+{
+ SysBusDevice *dev = SYS_BUS_DEVICE(obj);
+ f2xx_tim *s = STM32F2XX_TIM(obj);
+
+ memory_region_init_io(&s->iomem, OBJECT(s), &f2xx_tim_ops, s, "tim", 0xa0);
+ sysbus_init_mmio(dev, &s->iomem);
+ //s->regs[R_RTC_ISR] = R_RTC_ISR_RESET;
+ ////s->regs[R_RTC_PRER] = R_RTC_PRER_RESET;
+ //s->regs[R_RTC_WUTR] = R_RTC_WUTR_RESET;
+ s->timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, f2xx_tim_timer, s);
+ sysbus_init_irq(dev, &s->irq);
+
+ qdev_init_gpio_out_named(DEVICE(dev), &s->pwm_ratio_changed, "pwm_ratio_changed", 1);
+ qdev_init_gpio_out_named(DEVICE(dev), &s->pwm_enable, "pwm_enable", 1);
+}
+
+static Property f2xx_tim_properties[] = {
+ DEFINE_PROP_END_OF_LIST(),
+};
+
+static void
+f2xx_tim_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+ SysBusDeviceClass *sc = SYS_BUS_DEVICE_CLASS(klass);
+ //TODO: fix this: dc->no_user = 1;
+ device_class_set_props(dc, f2xx_tim_properties);
+ dc->reset = f2xx_tim_reset;
+}
+
+static const TypeInfo
+f2xx_tim_info = {
+ .name = TYPE_STM32F2XX_TIM,
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(f2xx_tim),
+ .instance_init = f2xx_tim_init,
+ .class_init = f2xx_tim_class_init,
+};
+
+static void
+f2xx_tim_register_types(void)
+{
+ type_register_static(&f2xx_tim_info);
+}
+
+type_init(f2xx_tim_register_types)
diff --git a/hw/arm/stm32f4xx.c b/hw/arm/stm32f4xx.c
new file mode 100644
index 0000000000000..50e910987668b
--- /dev/null
+++ b/hw/arm/stm32f4xx.c
@@ -0,0 +1,428 @@
+/*
+ * STM32F4xx Microcontroller
+ *
+ * Copyright (C) 2010 Andre Beckus
+ *
+ * Implementation based on ST Microelectronics "RM0090 Reference Manual Rev 8"
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, see .
+ */
+
+#include "qemu/osdep.h"
+#include "sysemu/runstate.h"
+#include "hw/arm/stm32.h"
+#include "stm32f4xx.h"
+#include "exec/address-spaces.h"
+#include "exec/memory.h"
+#include "hw/ssi/ssi.h"
+#include "hw/block/flash.h"
+#include "sysemu/blockdev.h" // drive_get
+#include "hw/irq.h"
+#include "hw/qdev-properties.h"
+#include "../../target/arm/cpu.h"
+
+static const char *stm32f4xx_periph_name_arr[] = {
+ ENUM_STRING(STM32_UART1),
+ ENUM_STRING(STM32_UART2),
+ ENUM_STRING(STM32_UART3),
+ ENUM_STRING(STM32_UART4),
+ ENUM_STRING(STM32_UART5),
+ ENUM_STRING(STM32_UART6),
+ ENUM_STRING(STM32_UART7),
+ ENUM_STRING(STM32_UART8),
+
+ ENUM_STRING(STM32_SPI1),
+ ENUM_STRING(STM32_SPI2),
+ ENUM_STRING(STM32_SPI3),
+
+ ENUM_STRING(STM32_I2C1),
+ ENUM_STRING(STM32_I2C2),
+ ENUM_STRING(STM32_I2C3),
+
+ ENUM_STRING(STM32_TIM1),
+ ENUM_STRING(STM32_TIM2),
+ ENUM_STRING(STM32_TIM3),
+ ENUM_STRING(STM32_TIM4),
+ ENUM_STRING(STM32_TIM5),
+ ENUM_STRING(STM32_TIM6),
+ ENUM_STRING(STM32_TIM7),
+ ENUM_STRING(STM32_TIM8),
+ ENUM_STRING(STM32_TIM9),
+ ENUM_STRING(STM32_TIM10),
+ ENUM_STRING(STM32_TIM11),
+ ENUM_STRING(STM32_TIM12),
+ ENUM_STRING(STM32_TIM13),
+ ENUM_STRING(STM32_TIM14),
+
+ ENUM_STRING(STM32_GPIOA),
+ ENUM_STRING(STM32_GPIOB),
+ ENUM_STRING(STM32_GPIOC),
+ ENUM_STRING(STM32_GPIOD),
+ ENUM_STRING(STM32_GPIOE),
+ ENUM_STRING(STM32_GPIOF),
+ ENUM_STRING(STM32_GPIOG),
+ ENUM_STRING(STM32_GPIOH),
+ ENUM_STRING(STM32_GPIOI),
+ ENUM_STRING(STM32_GPIOJ),
+ ENUM_STRING(STM32_GPIOK),
+
+ ENUM_STRING(STM32_QSPI),
+
+ ENUM_STRING(STM32_PERIPH_COUNT)
+};
+
+/* Init STM32F4XX CPU and memory.
+ flash_size and sram_size are in kb. */
+
+static uint64_t kernel_load_translate_fn(void *opaque, uint64_t from_addr) {
+ if (from_addr == STM32_FLASH_ADDR_START) {
+ return 0x00000000;
+ }
+ return from_addr;
+}
+
+static
+void do_sys_reset(void *opaque, int n, int level) {
+ if (level) {
+ qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET);
+ }
+}
+
+void stm32f4xx_init(
+ ram_addr_t flash_size, /* in KBytes */
+ ram_addr_t ram_size, /* in KBytes */
+ const char *kernel_filename,
+ Stm32Gpio **stm32_gpio,
+ const uint32_t *gpio_idr_masks,
+ Stm32Uart **stm32_uart,
+ Stm32Timer **stm32_timer,
+ DeviceState **stm32_rtc,
+ uint32_t osc_freq,
+ uint32_t osc32_freq,
+ struct stm32f4xx *stm,
+ ARMCPU **cpu) {
+ MemoryRegion *address_space_mem = get_system_memory();
+ DriveInfo *dinfo;
+ DeviceState *nvic;
+ int i;
+
+ Object * stm32_container = container_get(qdev_get_machine(), "/stm32");
+
+ nvic = armv7m_translated_init(
+ stm32_container, /* parent */
+ address_space_mem, /* address space memory */
+ flash_size * 1024, /* flash size in bytes */
+ ram_size * 1024, /* sram size in bytes */
+ 128, /* default number of irqs */
+ kernel_filename, /* kernel filename */
+ kernel_load_translate_fn, /* kernel translate address function */
+ NULL, /* translate function opaque argument */
+ ARM_CPU_TYPE_NAME("cortex-m4"), /* cpu model */
+ cpu); /* Returned cpu instance */
+
+ qdev_connect_gpio_out_named(nvic, "SYSRESETREQ", 0,
+ qemu_allocate_irq(&do_sys_reset, NULL, 0));
+
+ dinfo = drive_get(IF_PFLASH, 0, 0); /* Use the first -pflash argument */
+ if (dinfo) {
+ f2xx_flash_register(blk_by_legacy_dinfo(dinfo), STM32_FLASH_ADDR_START, flash_size * 1024);
+ }
+
+
+ // Create alias at 0x08000000 for internal flash, that is hard-coded at 0x00000000
+ // in armv7m.c:
+ // TODO: Let BOOT0 and BOOT1 configuration pins determine what is mapped at 0x00000000,
+ // see SYSCFG_MEMRMP.
+ MemoryRegionSection mrs = memory_region_find(address_space_mem, STM32_FLASH_ADDR_START,
+ WORD_ACCESS_SIZE);
+ MemoryRegion *flash_alias = g_new(MemoryRegion, 1);
+ memory_region_init_alias(
+ flash_alias, /* alias memory region */
+ NULL, /* owner */
+ "stm32f4xx.flash.alias", /* name */
+ mrs.mr, /* original region */
+ 0, /* offset */
+ flash_size * 1024); /* size in bytes */
+ memory_region_add_subregion(address_space_mem, 0, flash_alias);
+
+
+ /* Setup the RCC */
+ DeviceState *rcc_dev = qdev_create(NULL, TYPE_STM32F2XX_RCC);
+ qdev_prop_set_uint32(rcc_dev, "osc_freq", osc_freq);
+ qdev_prop_set_uint32(rcc_dev, "osc32_freq", osc32_freq);
+ object_property_add_child(stm32_container, "rcc", OBJECT(rcc_dev), NULL);
+ stm32_init_periph(rcc_dev,
+ STM32_RCC_PERIPH, /* periph index, not used */
+ 0x40023800, /* base address */
+ qdev_get_gpio_in(nvic, STM32_RCC_IRQ)); /* irq */
+
+ /* Setup GPIOs */
+ DeviceState **gpio_dev = (DeviceState **) g_malloc0(sizeof(DeviceState *)
+ * STM32F4XX_GPIO_COUNT);
+ for (i = 0; i < STM32F4XX_GPIO_COUNT; i++) {
+ stm32_periph_t periph = STM32_GPIOA + i;
+ gpio_dev[i] = qdev_create(NULL, TYPE_STM32F2XX_GPIO);
+ gpio_dev[i]->id = stm32f4xx_periph_name_arr[periph];
+ qdev_prop_set_int32(gpio_dev[i], "periph", periph);
+ qdev_prop_set_uint32(gpio_dev[i], "idr-mask", gpio_idr_masks[i]);
+ // qdev_prop_set_ptr(gpio_dev[i], "stm32_rcc", rcc_dev);
+ stm32_init_periph(gpio_dev[i], periph, 0x40020000 + (i * 0x400), NULL /*irq*/);
+ stm32_gpio[i] = (Stm32Gpio *) gpio_dev[i];
+ }
+
+ /* Connect the WKUP pin (GPIO A, pin 0) to the NVIC's WKUP handler */
+//NVIC qemu_irq nvic_wake_irq = qdev_get_gpio_in_named(DEVICE((*cpu)->env.nvic), "wakeup_in", 0);
+//NVIC f2xx_gpio_wake_set((stm32f2xx_gpio *) (stm32_gpio[STM32_GPIOA_INDEX]), 0, nvic_wake_irq);
+
+
+ /* EXTI */
+ DeviceState *exti_dev = qdev_create(NULL, TYPE_STM32_EXTI);
+ qdev_prop_set_ptr(exti_dev, "stm32_gpio", gpio_dev);
+ stm32_init_periph(exti_dev, STM32_EXTI_PERIPH, 0x40013C00, NULL);
+ SysBusDevice *exti_busdev = SYS_BUS_DEVICE(exti_dev);
+
+ /* IRQs from EXTI to NVIC */
+ sysbus_connect_irq(exti_busdev, 0, qdev_get_gpio_in(nvic, STM32_EXTI0_IRQ));
+ sysbus_connect_irq(exti_busdev, 1, qdev_get_gpio_in(nvic, STM32_EXTI1_IRQ));
+ sysbus_connect_irq(exti_busdev, 2, qdev_get_gpio_in(nvic, STM32_EXTI2_IRQ));
+ sysbus_connect_irq(exti_busdev, 3, qdev_get_gpio_in(nvic, STM32_EXTI3_IRQ));
+ sysbus_connect_irq(exti_busdev, 4, qdev_get_gpio_in(nvic, STM32_EXTI4_IRQ));
+ sysbus_connect_irq(exti_busdev, 5, qdev_get_gpio_in(nvic, STM32_EXTI9_5_IRQ));
+ sysbus_connect_irq(exti_busdev, 6, qdev_get_gpio_in(nvic, STM32_EXTI15_10_IRQ));
+ sysbus_connect_irq(exti_busdev, 7, qdev_get_gpio_in(nvic, STM32_PVD_IRQ));
+ sysbus_connect_irq(exti_busdev, 8, qdev_get_gpio_in(nvic, STM32_RTCAlarm_IRQ));
+ sysbus_connect_irq(exti_busdev, 9, qdev_get_gpio_in(nvic, STM32_OTG_FS_WKUP_IRQ));
+ sysbus_connect_irq(exti_busdev, 10, qdev_get_gpio_in(nvic, STM32_ETH_WKUP_IRQ));
+ sysbus_connect_irq(exti_busdev, 11, qdev_get_gpio_in(nvic, STM32_OTG_FS_WKUP_IRQ));
+ sysbus_connect_irq(exti_busdev, 12, qdev_get_gpio_in(nvic, STM32_TAMP_STAMP_IRQ));
+ sysbus_connect_irq(exti_busdev, 13, qdev_get_gpio_in(nvic, STM32_RTC_WKUP_IRQ));
+
+
+ /* System configuration controller */
+ DeviceState *syscfg_dev = qdev_create(NULL, TYPE_STM32F2XX_SYSCFG);
+ qdev_prop_set_ptr(syscfg_dev, "stm32_rcc", rcc_dev);
+ qdev_prop_set_ptr(syscfg_dev, "stm32_exti", exti_dev);
+ qdev_prop_set_bit(syscfg_dev, "boot0", 0);
+ qdev_prop_set_bit(syscfg_dev, "boot1", 0);
+ stm32_init_periph(syscfg_dev, STM32_SYSCFG, 0x40013800, NULL /*irq*/);
+
+ /* UARTS */
+ struct {
+ uint32_t addr;
+ uint8_t irq_idx;
+ } const uart_desc[] = {
+ {0x40011000, STM32_UART1_IRQ},
+ {0x40004400, STM32_UART2_IRQ},
+ {0x40004800, STM32_UART3_IRQ},
+ {0x40004C00, STM32_UART4_IRQ},
+ {0x40005000, STM32_UART5_IRQ},
+ {0x40011400, STM32_UART6_IRQ},
+ {0x40007800, 0}, /* no IRQ for UART 7 */
+ {0x40007C00, 0}, /* no IRQ for UART 8 */
+ };
+ for (i = 0; i < ARRAY_LENGTH(uart_desc); ++i) {
+ assert(i < STM32F4XX_UART_COUNT);
+ const stm32_periph_t periph = STM32_UART1 + i;
+ DeviceState *uart_dev = qdev_create(NULL, TYPE_STM32_UART);
+ uart_dev->id = stm32f4xx_periph_name_arr[periph];
+ qdev_prop_set_int32(uart_dev, "periph", periph);
+ qdev_prop_set_ptr(uart_dev, "stm32_rcc", rcc_dev);
+ // qdev_prop_set_ptr(uart_dev, "stm32_gpio", gpio_dev);
+ // qdev_prop_set_ptr(uart_dev, "stm32_afio", afio_dev);
+ // qdev_prop_set_ptr(uart_dev, "stm32_check_tx_pin_callback",
+ // (void *)stm32_afio_uart_check_tx_pin_callback);
+ qemu_irq irq = NULL;
+ if (uart_desc[i].irq_idx != 0) {
+ irq = qdev_get_gpio_in(nvic, uart_desc[i].irq_idx);
+ }
+ stm32_init_periph(uart_dev, periph, uart_desc[i].addr, irq);
+ stm32_uart[i] = (Stm32Uart *) uart_dev;
+ }
+ // TODO: Should we use these instead?
+// stm32_uart[STM32_UART1_INDEX] = stm32_create_uart_dev(STM32_UART1, rcc_dev, gpio_dev, afio_dev, 0x40011000, pic[STM32_UART1_IRQ]);
+// stm32_uart[STM32_UART2_INDEX] = stm32_create_uart_dev(STM32_UART2, rcc_dev, gpio_dev, afio_dev, 0x40004400, pic[STM32_UART2_IRQ]);
+// stm32_uart[STM32_UART3_INDEX] = stm32_create_uart_dev(STM32_UART3, rcc_dev, gpio_dev, afio_dev, 0x40004800, pic[STM32_UART3_IRQ]);
+// stm32_uart[STM32_UART4_INDEX] = stm32_create_uart_dev(STM32_UART4, rcc_dev, gpio_dev, afio_dev, 0x40004C00, pic[STM32_UART4_IRQ]);
+// stm32_uart[STM32_UART5_INDEX] = stm32_create_uart_dev(STM32_UART5, rcc_dev, gpio_dev, afio_dev, 0x40005000, pic[STM32_UART5_IRQ]);
+// stm32_uart[STM32_UART6_INDEX] = stm32_create_uart_dev(STM32_UART6, rcc_dev, gpio_dev, afio_dev, 0x40011400, pic[STM32_UART6_IRQ]);
+
+
+ /* SPI */
+ struct {
+ uint32_t addr;
+ uint8_t irq_idx;
+ } const spi_desc[] = {
+ {0x40013000, STM32_SPI1_IRQ},
+ {0x40003800, STM32_SPI2_IRQ},
+ {0x40003CD0, STM32_SPI3_IRQ},
+ {0x40013400, STM32_SPI4_IRQ},
+ {0x40015000, STM32_SPI5_IRQ},
+ {0x40015400, STM32_SPI6_IRQ},
+ };
+ for (i = 0; i < ARRAY_LENGTH(spi_desc); ++i) {
+ assert(i < STM32F4XX_SPI_COUNT);
+ const stm32_periph_t periph = STM32_SPI1 + i;
+ stm->spi_dev[i] = qdev_create(NULL, TYPE_STM32F2XX_SPI);
+ stm->spi_dev[i]->id = stm32f4xx_periph_name_arr[periph];
+ qdev_prop_set_int32(stm->spi_dev[i], "periph", periph);
+ stm32_init_periph(stm->spi_dev[i], periph, spi_desc[i].addr,
+ qdev_get_gpio_in(nvic, spi_desc[i].irq_idx));
+ }
+
+ /* QSPI */
+ stm->qspi_dev = qdev_create(NULL, TYPE_STM32F412_QSPI);
+ stm->qspi_dev->id = stm32f4xx_periph_name_arr[STM32_QSPI];
+ stm32_init_periph(stm->qspi_dev, STM32_QSPI, 0xA0001000, qdev_get_gpio_in(nvic, STM32_QSPI_IRQ));
+
+ /* ADC */
+ DeviceState *adc_dev = qdev_create(NULL, TYPE_STM32_ADC);
+ stm32_init_periph(adc_dev, STM32_ADC1, 0x40012000, NULL);
+
+ /* RTC real time clock */
+ DeviceState *rtc_dev = qdev_create(NULL, TYPE_STM32F2XX_RTC);
+ *stm32_rtc = rtc_dev;
+ stm32_init_periph(rtc_dev, STM32_RTC, 0x40002800, NULL);
+ // Alarm A
+ sysbus_connect_irq(SYS_BUS_DEVICE(rtc_dev), 0, qdev_get_gpio_in(exti_dev, 17));
+ // Alarm B
+ sysbus_connect_irq(SYS_BUS_DEVICE(rtc_dev), 1, qdev_get_gpio_in(exti_dev, 17));
+ // Wake up timer
+ sysbus_connect_irq(SYS_BUS_DEVICE(rtc_dev), 2, qdev_get_gpio_in(exti_dev, 22));
+
+ /* Power management */
+ DeviceState *pwr_dev = qdev_create(NULL, TYPE_STM32F2XX_PWR);
+ stm32_init_periph(pwr_dev, STM32_RTC, 0x40007000, NULL);
+//NVIC qdev_prop_set_ptr((*cpu)->env.nvic, "stm32_pwr", pwr_dev);
+
+#define dummy_dev(name, start, size) do {\
+ DeviceState *dummy = qdev_create(NULL, TYPE_STM32F2XX_DUMMY); \
+ qdev_prop_set_ptr(dummy, "name", (void *)name); \
+ qdev_prop_set_int32(dummy, "size", size); \
+ qdev_init_nofail(dummy); \
+ sysbus_mmio_map(SYS_BUS_DEVICE(dummy), 0, start); \
+} while (0)
+
+
+ /* Timers */
+ struct {
+ uint8_t timer_num;
+ uint32_t addr;
+ uint8_t irq_idx;
+ } const timer_desc[] = {
+ {1, 0x40010000, 0}, // TIM1 FIXME: TIM1 is a complex timer w/ multiple IRQs
+ {2, 0x40000000, STM32_TIM2_IRQ}, // TIM2
+ {3, 0x40000400, STM32_TIM3_IRQ}, // TIM3
+ {4, 0x40000800, STM32_TIM4_IRQ}, // TIM4
+ {5, 0x40000C00, STM32_TIM5_IRQ}, // TIM5
+ {6, 0x40001000, STM32_TIM6_IRQ}, // TIM6
+ {7, 0x40001400, STM32_TIM7_IRQ}, // TIM7
+ {8, 0x40010400, 0}, // TIM8 FIXME: TIM8 is a complex timer w/ multiple IRQs
+ {9, 0x40014000, STM32_TIM1_BRK_TIM9_IRQ}, // TIM9
+ {10, 0x40014400, STM32_TIM1_UP_TIM10_IRQ}, // TIM10
+ {11, 0x40014800, STM32_TIM1_TRG_COM_TIM11_IRQ}, // TIM11
+ {12, 0x40001800, STM32_TIM8_BRK_TIM12_IRQ}, // TIM12
+ {13, 0x40001C00, STM32_TIM8_UP_TIM13_IRQ}, // TIM13
+ {14, 0x40002000, STM32_TIM8_TRG_COMM_TIM14_IRQ}, // TIM14
+ };
+ for (i = 0; i < ARRAY_LENGTH(timer_desc); ++i) {
+ assert(i < STM32F4XX_TIM_COUNT);
+ const stm32_periph_t periph = STM32_TIM1 + timer_desc[i].timer_num - 1;
+
+ DeviceState *timer = qdev_create(NULL, TYPE_STM32F2XX_TIM);
+ timer->id = stm32f4xx_periph_name_arr[periph];
+ stm32_init_periph(timer, periph, timer_desc[i].addr,
+ qdev_get_gpio_in(nvic, timer_desc[i].irq_idx));
+ stm32_timer[timer_desc[i].timer_num - 1] = (Stm32Timer *) timer;
+ }
+
+ dummy_dev("Reserved", 0x40002400, 0x400);
+ // 0x40002800
+ dummy_dev("WWDG", 0x40002C00, 0x400);
+ dummy_dev("IWDG", 0x40003000, 0x400);
+ dummy_dev("Reserved", 0x40003400, 0x400);
+ // 0x40003800
+ // 0x40003C00
+ dummy_dev("Reserved", 0x40004000, 0x400);
+ // 0x40004400
+ // 0x40004800
+ // 0x40004C00
+ // 0x40005000
+
+ DeviceState *i2c1 = qdev_create(NULL, TYPE_STM32F2XX_I2C);
+ i2c1->id = stm32f4xx_periph_name_arr[STM32_I2C1];
+ qdev_prop_set_int32(i2c1, "periph", STM32_I2C1);
+ stm32_init_periph(i2c1, STM32_I2C1, 0x40005400,
+ qdev_get_gpio_in(nvic, STM32_I2C1_EV_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(i2c1), 1,
+ qdev_get_gpio_in(nvic, STM32_I2C1_ER_IRQ));
+
+ DeviceState *i2c2 = qdev_create(NULL, TYPE_STM32F2XX_I2C);
+ i2c2->id = stm32f4xx_periph_name_arr[STM32_I2C2];
+ qdev_prop_set_int32(i2c2, "periph", STM32_I2C2);
+ stm32_init_periph(i2c2, STM32_I2C2, 0x40005800,
+ qdev_get_gpio_in(nvic, STM32_I2C2_EV_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(i2c2), 1,
+ qdev_get_gpio_in(nvic, STM32_I2C2_ER_IRQ));
+
+ DeviceState *i2c3 = qdev_create(NULL, TYPE_STM32F2XX_I2C);
+ i2c3->id = stm32f4xx_periph_name_arr[STM32_I2C3];
+ qdev_prop_set_int32(i2c3, "periph", STM32_I2C3);
+ stm32_init_periph(i2c3, STM32_I2C2, 0x40005C00,
+ qdev_get_gpio_in(nvic, STM32_I2C3_EV_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(i2c3), 1,
+ qdev_get_gpio_in(nvic, STM32_I2C3_ER_IRQ));
+
+ dummy_dev("Reserved", 0x40006000, 0x400);
+ dummy_dev("BxCAN1", 0x40006400, 0x400);
+ dummy_dev("BxCAN2", 0x40006800, 0x400);
+ dummy_dev("Reserved", 0x40006C00, 0x400);
+ // 0x40007000 PWR probably common
+ dummy_dev("DAC1/DAC2", 0x40007400, 0x400);
+ dummy_dev("Reserved", 0x40007800, 0x400);
+ dummy_dev("Reserved", 0x40008000, 0x8000);
+ // USART1
+ // USART6
+ dummy_dev("Reserved", 0x40011800, 0x800);
+ // ADC1 - ADC2 - ADC3
+ // skipped reserved from here on
+ dummy_dev("SDIO", 0x40012C00, 0x400);
+ // SPI1
+ // SYSCFG needed
+
+ DeviceState *crc = qdev_create(NULL, TYPE_STM32F2XX_CRC);
+ stm32_init_periph(crc, STM32_CRC, 0x40023000, NULL);
+
+ DeviceState *dma1 = qdev_create(NULL, TYPE_STM32F2XX_DMA);
+ stm32_init_periph(dma1, STM32_DMA1, 0x40026000, NULL);
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma1), 0, qdev_get_gpio_in(nvic, STM32_DMA1_STREAM0_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma1), 1, qdev_get_gpio_in(nvic, STM32_DMA1_STREAM1_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma1), 2, qdev_get_gpio_in(nvic, STM32_DMA1_STREAM2_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma1), 3, qdev_get_gpio_in(nvic, STM32_DMA1_STREAM3_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma1), 4, qdev_get_gpio_in(nvic, STM32_DMA1_STREAM4_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma1), 5, qdev_get_gpio_in(nvic, STM32_DMA1_STREAM5_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma1), 6, qdev_get_gpio_in(nvic, STM32_DMA1_STREAM6_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma1), 7, qdev_get_gpio_in(nvic, STM32_DMA1_STREAM7_IRQ));
+
+ DeviceState *dma2 = qdev_create(NULL, TYPE_STM32F2XX_DMA);
+ stm32_init_periph(dma2, STM32_DMA2, 0x40026400, NULL);
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma2), 0, qdev_get_gpio_in(nvic, STM32_DMA2_STREAM0_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma2), 1, qdev_get_gpio_in(nvic, STM32_DMA2_STREAM1_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma2), 2, qdev_get_gpio_in(nvic, STM32_DMA2_STREAM2_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma2), 3, qdev_get_gpio_in(nvic, STM32_DMA2_STREAM3_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma2), 4, qdev_get_gpio_in(nvic, STM32_DMA2_STREAM4_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma2), 5, qdev_get_gpio_in(nvic, STM32_DMA2_STREAM5_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma2), 6, qdev_get_gpio_in(nvic, STM32_DMA2_STREAM6_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma2), 7, qdev_get_gpio_in(nvic, STM32_DMA2_STREAM7_IRQ));
+}
+
diff --git a/hw/arm/stm32f4xx.h b/hw/arm/stm32f4xx.h
new file mode 100644
index 0000000000000..fdc92b714996f
--- /dev/null
+++ b/hw/arm/stm32f4xx.h
@@ -0,0 +1,15 @@
+#include "hw/arm/stm32.h"
+
+
+#define STM32F4XX_GPIO_COUNT (STM32_GPIOK - STM32_GPIOA + 1)
+#define STM32F4XX_SPI_COUNT 6
+
+#define STM32F4XX_UART_COUNT 8
+#define STM32F4XX_TIM_COUNT 14
+
+struct stm32f4xx {
+ DeviceState *spi_dev[STM32F4XX_SPI_COUNT];
+ DeviceState *qspi_dev;
+
+ qemu_irq display_done_signal;
+};
diff --git a/hw/arm/stm32f7xx.c b/hw/arm/stm32f7xx.c
new file mode 100644
index 0000000000000..88f1fea3bcb4b
--- /dev/null
+++ b/hw/arm/stm32f7xx.c
@@ -0,0 +1,427 @@
+/*
+ * STM32F7xx Microcontroller
+ *
+ * Copyright (C) 2010 Andre Beckus
+ * Copyright (C) 2016 Pebble
+ *
+ * This implementation contains support for many of the STM32F7xx peripherals based on RM0410 rev 2,
+ * but currently uses a cortex-m4 core.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, see .
+ */
+
+#include "qemu/osdep.h"
+#include "sysemu/runstate.h"
+#include "hw/arm/stm32.h"
+#include "stm32f7xx.h"
+#include "exec/address-spaces.h"
+#include "exec/memory.h"
+#include "hw/ssi/ssi.h"
+#include "hw/irq.h"
+#include "hw/block/flash.h"
+#include "sysemu/blockdev.h" // drive_get
+#include "hw/qdev-properties.h"
+#include "../../target/arm/cpu.h"
+
+static const char *stm32f7xx_periph_name_arr[] = {
+ ENUM_STRING(STM32_UART1),
+ ENUM_STRING(STM32_UART2),
+ ENUM_STRING(STM32_UART3),
+ ENUM_STRING(STM32_UART4),
+ ENUM_STRING(STM32_UART5),
+ ENUM_STRING(STM32_UART6),
+ ENUM_STRING(STM32_UART7),
+ ENUM_STRING(STM32_UART8),
+
+ ENUM_STRING(STM32_SPI1),
+ ENUM_STRING(STM32_SPI2),
+ ENUM_STRING(STM32_SPI3),
+
+ ENUM_STRING(STM32_I2C1),
+ ENUM_STRING(STM32_I2C2),
+ ENUM_STRING(STM32_I2C3),
+ ENUM_STRING(STM32_I2C4),
+
+ ENUM_STRING(STM32_TIM1),
+ ENUM_STRING(STM32_TIM2),
+ ENUM_STRING(STM32_TIM3),
+ ENUM_STRING(STM32_TIM4),
+ ENUM_STRING(STM32_TIM5),
+ ENUM_STRING(STM32_TIM6),
+ ENUM_STRING(STM32_TIM7),
+ ENUM_STRING(STM32_TIM8),
+ ENUM_STRING(STM32_TIM9),
+ ENUM_STRING(STM32_TIM10),
+ ENUM_STRING(STM32_TIM11),
+ ENUM_STRING(STM32_TIM12),
+ ENUM_STRING(STM32_TIM13),
+ ENUM_STRING(STM32_TIM14),
+
+ ENUM_STRING(STM32_GPIOA),
+ ENUM_STRING(STM32_GPIOB),
+ ENUM_STRING(STM32_GPIOC),
+ ENUM_STRING(STM32_GPIOD),
+ ENUM_STRING(STM32_GPIOE),
+ ENUM_STRING(STM32_GPIOF),
+ ENUM_STRING(STM32_GPIOG),
+ ENUM_STRING(STM32_GPIOH),
+ ENUM_STRING(STM32_GPIOI),
+ ENUM_STRING(STM32_GPIOJ),
+ ENUM_STRING(STM32_GPIOK),
+
+ ENUM_STRING(STM32_QSPI),
+ ENUM_STRING(STM32_LPTIM1),
+
+ ENUM_STRING(STM32_PERIPH_COUNT)
+};
+
+/* Init STM32F7XX CPU and memory.
+ flash_size and sram_size are in kb. */
+
+static uint64_t kernel_load_translate_fn(void *opaque, uint64_t from_addr) {
+ if (from_addr == STM32_FLASH_ADDR_START) {
+ return 0x00000000;
+ }
+ return from_addr;
+}
+
+static
+void do_sys_reset(void *opaque, int n, int level)
+{
+ if (level) {
+ qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET);
+ }
+}
+
+void stm32f7xx_init(
+ ram_addr_t flash_size, /* in KBytes */
+ ram_addr_t ram_size, /* in KBytes */
+ const char *kernel_filename,
+ Stm32Gpio **stm32_gpio,
+ const uint32_t *gpio_idr_masks,
+ Stm32F7xxUart **stm32_uart,
+ Stm32Timer **stm32_timer,
+ Stm32F7xxLPTimer **stm32_lptimer,
+ DeviceState **stm32_rtc,
+ uint32_t osc_freq,
+ uint32_t osc32_freq,
+ struct stm32f7xx *stm,
+ ARMCPU **cpu)
+{
+ MemoryRegion *address_space_mem = get_system_memory();
+ DriveInfo *dinfo;
+ DeviceState *nvic;
+ int i;
+
+ Object *stm32_container = container_get(qdev_get_machine(), "/stm32");
+
+ nvic = armv7m_translated_init(
+ stm32_container, /* parent */
+ address_space_mem, /* address space memory */
+ flash_size * 1024, /* flash size in bytes */
+ ram_size * 1024, /* sram size in bytes */
+ 128, /* default number of irqs */
+ kernel_filename, /* kernel filename */
+ kernel_load_translate_fn, /* kernel translate address function */
+ NULL, /* translate function opaque argument */
+ ARM_CPU_TYPE_NAME("cortex-m4"), /* cpu model */
+ cpu); /* Returned cpu instance */
+
+ qdev_connect_gpio_out_named(nvic, "SYSRESETREQ", 0,
+ qemu_allocate_irq(&do_sys_reset, NULL, 0));
+
+ dinfo = drive_get(IF_PFLASH, 0, 0); /* Use the first -pflash argument */
+ if (dinfo) {
+ f2xx_flash_register(blk_by_legacy_dinfo(dinfo), STM32_FLASH_ADDR_START, flash_size * 1024);
+ }
+
+
+ // Create alias at 0x08000000 for internal flash, that is hard-coded at 0x00000000
+ // in armv7m.c:
+ // TODO: Let BOOT0 and BOOT1 configuration pins determine what is mapped at 0x00000000,
+ // see SYSCFG_MEMRMP.
+ MemoryRegionSection mrs = memory_region_find(address_space_mem, STM32_FLASH_ADDR_START,
+ WORD_ACCESS_SIZE);
+ MemoryRegion *flash_alias = g_new(MemoryRegion, 1);
+ memory_region_init_alias(
+ flash_alias, /* alias memory region */
+ NULL, /* owner */
+ "stm32f7xx.flash.alias", /* name */
+ mrs.mr, /* original region */
+ 0, /* offset */
+ flash_size * 1024); /* size in bytes */
+ memory_region_add_subregion(address_space_mem, 0, flash_alias);
+
+
+ /* Setup the RCC */
+ DeviceState *rcc_dev = qdev_create(NULL, TYPE_STM32F2XX_RCC);
+ qdev_prop_set_uint32(rcc_dev, "osc_freq", osc_freq);
+ qdev_prop_set_uint32(rcc_dev, "osc32_freq", osc32_freq);
+ object_property_add_child(stm32_container, "rcc", OBJECT(rcc_dev), NULL);
+ stm32_init_periph(rcc_dev,
+ STM32_RCC_PERIPH, /* periph index, not used */
+ 0x40023800, /* base address */
+ qdev_get_gpio_in(nvic, STM32_RCC_IRQ)); /* irq */
+
+ /* Setup GPIOs */
+ DeviceState **gpio_dev = (DeviceState **)g_malloc0(sizeof(DeviceState *)
+ * STM32F7XX_GPIO_COUNT);
+ for(i = 0; i < STM32F7XX_GPIO_COUNT; i++) {
+ stm32_periph_t periph = STM32_GPIOA + i;
+ gpio_dev[i] = qdev_create(NULL, TYPE_STM32F2XX_GPIO);
+ gpio_dev[i]->id = stm32f7xx_periph_name_arr[periph];
+ qdev_prop_set_int32(gpio_dev[i], "periph", periph);
+ qdev_prop_set_uint32(gpio_dev[i], "idr-mask", gpio_idr_masks[i]);
+ // qdev_prop_set_ptr(gpio_dev[i], "stm32_rcc", rcc_dev);
+ stm32_init_periph(gpio_dev[i], periph, 0x40020000 + (i * 0x400), NULL /*irq*/);
+ stm32_gpio[i] = (Stm32Gpio *)gpio_dev[i];
+ }
+
+ /* Connect the WKUP pin (GPIO A, pin 0) to the NVIC's WKUP handler */
+//NVIC qemu_irq nvic_wake_irq = qdev_get_gpio_in_named(DEVICE((*cpu)->env.nvic), "wakeup_in", 0);
+//NVIC f2xx_gpio_wake_set((stm32f2xx_gpio *)(stm32_gpio[STM32_GPIOA_INDEX]), 0, nvic_wake_irq);
+
+
+ /* EXTI */
+ DeviceState *exti_dev = qdev_create(NULL, TYPE_STM32_EXTI);
+ qdev_prop_set_ptr(exti_dev, "stm32_gpio", gpio_dev);
+ stm32_init_periph(exti_dev, STM32_EXTI_PERIPH, 0x40013C00, NULL);
+ SysBusDevice *exti_busdev = SYS_BUS_DEVICE(exti_dev);
+
+ /* IRQs from EXTI to NVIC */
+ sysbus_connect_irq(exti_busdev, 0, qdev_get_gpio_in(nvic, STM32_EXTI0_IRQ));
+ sysbus_connect_irq(exti_busdev, 1, qdev_get_gpio_in(nvic, STM32_EXTI1_IRQ));
+ sysbus_connect_irq(exti_busdev, 2, qdev_get_gpio_in(nvic, STM32_EXTI2_IRQ));
+ sysbus_connect_irq(exti_busdev, 3, qdev_get_gpio_in(nvic, STM32_EXTI3_IRQ));
+ sysbus_connect_irq(exti_busdev, 4, qdev_get_gpio_in(nvic, STM32_EXTI4_IRQ));
+ sysbus_connect_irq(exti_busdev, 5, qdev_get_gpio_in(nvic, STM32_EXTI9_5_IRQ));
+ sysbus_connect_irq(exti_busdev, 6, qdev_get_gpio_in(nvic, STM32_EXTI15_10_IRQ));
+ sysbus_connect_irq(exti_busdev, 7, qdev_get_gpio_in(nvic, STM32_PVD_IRQ));
+ sysbus_connect_irq(exti_busdev, 8, qdev_get_gpio_in(nvic, STM32_RTCAlarm_IRQ));
+ sysbus_connect_irq(exti_busdev, 9, qdev_get_gpio_in(nvic, STM32_OTG_FS_WKUP_IRQ));
+ sysbus_connect_irq(exti_busdev, 10, qdev_get_gpio_in(nvic, STM32_ETH_WKUP_IRQ));
+ sysbus_connect_irq(exti_busdev, 11, qdev_get_gpio_in(nvic, STM32_OTG_FS_WKUP_IRQ));
+ sysbus_connect_irq(exti_busdev, 12, qdev_get_gpio_in(nvic, STM32_TAMP_STAMP_IRQ));
+ sysbus_connect_irq(exti_busdev, 13, qdev_get_gpio_in(nvic, STM32_RTC_WKUP_IRQ));
+
+
+ /* System configuration controller */
+ DeviceState *syscfg_dev = qdev_create(NULL, TYPE_STM32F2XX_SYSCFG);
+ qdev_prop_set_ptr(syscfg_dev, "stm32_rcc", rcc_dev);
+ qdev_prop_set_ptr(syscfg_dev, "stm32_exti", exti_dev);
+ qdev_prop_set_bit(syscfg_dev, "boot0", 0);
+ qdev_prop_set_bit(syscfg_dev, "boot1", 0);
+ stm32_init_periph(syscfg_dev, STM32_SYSCFG, 0x40013800, NULL /*irq*/);
+
+ /* UARTS */
+ struct {
+ uint32_t addr;
+ uint8_t irq_idx;
+ } const uart_desc[] = {
+ {0x40011000, STM32_UART1_IRQ},
+ {0x40004400, STM32_UART2_IRQ},
+ {0x40004800, STM32_UART3_IRQ},
+ {0x40004C00, STM32_UART4_IRQ},
+ {0x40005000, STM32_UART5_IRQ},
+ {0x40011400, STM32_UART6_IRQ},
+ {0x40007800, 0}, /* no IRQ for UART 7 */
+ {0x40007C00, 0}, /* no IRQ for UART 8 */
+ };
+ for (i = 0; i < ARRAY_LENGTH(uart_desc); ++i) {
+ assert(i < STM32F7XX_UART_COUNT);
+ const stm32_periph_t periph = STM32_UART1 + i;
+ DeviceState *uart_dev = qdev_create(NULL, "stm32f7xx-uart");
+ uart_dev->id = stm32f7xx_periph_name_arr[periph];
+ qdev_prop_set_int32(uart_dev, "periph", periph);
+ qdev_prop_set_ptr(uart_dev, "stm32_rcc", rcc_dev);
+ qemu_irq irq = NULL;
+ if (uart_desc[i].irq_idx != 0) {
+ irq = qdev_get_gpio_in(nvic, uart_desc[i].irq_idx);
+ }
+ stm32_init_periph(uart_dev, periph, uart_desc[i].addr, irq);
+ stm32_uart[i] = (Stm32F7xxUart *)uart_dev;
+ }
+
+ /* SPI */
+ struct {
+ uint32_t addr;
+ uint8_t irq_idx;
+ } const spi_desc[] = {
+ {0x40013000, STM32_SPI1_IRQ},
+ {0x40003800, STM32_SPI2_IRQ},
+ {0x40003CD0, STM32_SPI3_IRQ},
+ {0x40013400, STM32_SPI4_IRQ},
+ {0x40015000, STM32_SPI5_IRQ},
+ {0x40015400, STM32_SPI6_IRQ},
+ };
+ for (i = 0; i < ARRAY_LENGTH(spi_desc); ++i) {
+ assert(i < STM32F7XX_SPI_COUNT);
+ const stm32_periph_t periph = STM32_SPI1 + i;
+ stm->spi_dev[i] = qdev_create(NULL, TYPE_STM32F2XX_SPI);
+ stm->spi_dev[i]->id = stm32f7xx_periph_name_arr[periph];
+ qdev_prop_set_int32(stm->spi_dev[i], "periph", periph);
+ stm32_init_periph(stm->spi_dev[i], periph, spi_desc[i].addr,
+ qdev_get_gpio_in(nvic, spi_desc[i].irq_idx));
+ }
+
+ /* QSPI */
+ stm->qspi_dev = qdev_create(NULL, TYPE_STM32F412_QSPI);
+ stm->qspi_dev->id = stm32f7xx_periph_name_arr[STM32_QSPI];
+ stm32_init_periph(stm->qspi_dev, STM32_QSPI, 0xA0001000, qdev_get_gpio_in(nvic, STM32_QSPI_IRQ));
+
+ /* ADC */
+ DeviceState *adc_dev = qdev_create(NULL, TYPE_STM32_ADC);
+ stm32_init_periph(adc_dev, STM32_ADC1, 0x40012000, NULL);
+
+ /* RTC real time clock */
+ DeviceState *rtc_dev = qdev_create(NULL, TYPE_STM32F2XX_RTC);
+ *stm32_rtc = rtc_dev;
+ stm32_init_periph(rtc_dev, STM32_RTC, 0x40002800, NULL);
+ // Alarm A
+ sysbus_connect_irq(SYS_BUS_DEVICE(rtc_dev), 0, qdev_get_gpio_in(exti_dev, 17));
+ // Alarm B
+ sysbus_connect_irq(SYS_BUS_DEVICE(rtc_dev), 1, qdev_get_gpio_in(exti_dev, 17));
+ // Wake up timer
+ sysbus_connect_irq(SYS_BUS_DEVICE(rtc_dev), 2, qdev_get_gpio_in(exti_dev, 22));
+
+ /* Power management */
+ DeviceState *pwr_dev = qdev_create(NULL, TYPE_STM32F2XX_PWR);
+ stm32_init_periph(pwr_dev, STM32_RTC, 0x40007000, NULL);
+//NVIC qdev_prop_set_ptr((*cpu)->env.nvic, "stm32_pwr", pwr_dev);
+
+#define dummy_dev(name, start, size) do {\
+ DeviceState *dummy = qdev_create(NULL, TYPE_STM32F2XX_DUMMY); \
+ qdev_prop_set_ptr(dummy, "name", (void *)name); \
+ qdev_prop_set_int32(dummy, "size", size); \
+ qdev_init_nofail(dummy); \
+ sysbus_mmio_map(SYS_BUS_DEVICE(dummy), 0, start); \
+} while (0)
+
+
+ /* Timers */
+ struct {
+ uint8_t timer_num;
+ uint32_t addr;
+ uint8_t irq_idx;
+ } const timer_desc[] = {
+ {1, 0x40010000, 0}, // TIM1 FIXME: TIM1 is a complex timer w/ multiple IRQs
+ {2, 0x40000000, STM32_TIM2_IRQ}, // TIM2
+ {3, 0x40000400, STM32_TIM3_IRQ}, // TIM3
+ {4, 0x40000800, STM32_TIM4_IRQ}, // TIM4
+ {5, 0x40000C00, STM32_TIM5_IRQ}, // TIM5
+ {6, 0x40001000, STM32_TIM6_IRQ}, // TIM6
+ {7, 0x40001400, STM32_TIM7_IRQ}, // TIM7
+ {8, 0x40010400, 0}, // TIM8 FIXME: TIM8 is a complex timer w/ multiple IRQs
+ {9, 0x40014000, STM32_TIM1_BRK_TIM9_IRQ}, // TIM9
+ {10, 0x40014400, STM32_TIM1_UP_TIM10_IRQ}, // TIM10
+ {11, 0x40014800, STM32_TIM1_TRG_COM_TIM11_IRQ}, // TIM11
+ {12, 0x40001800, STM32_TIM8_BRK_TIM12_IRQ}, // TIM12
+ {13, 0x40001C00, STM32_TIM8_UP_TIM13_IRQ}, // TIM13
+ {14, 0x40002000, STM32_TIM8_TRG_COMM_TIM14_IRQ}, // TIM14
+ };
+ for (i = 0; i < ARRAY_LENGTH(timer_desc); ++i) {
+ assert(i < STM32F7XX_TIM_COUNT);
+ const stm32_periph_t periph = STM32_TIM1 + timer_desc[i].timer_num - 1;
+
+ DeviceState *timer = qdev_create(NULL, TYPE_STM32F2XX_TIM);
+ timer->id = stm32f7xx_periph_name_arr[periph];
+ stm32_init_periph(timer, periph, timer_desc[i].addr,
+ qdev_get_gpio_in(nvic, timer_desc[i].irq_idx));
+ stm32_timer[timer_desc[i].timer_num - 1] = (Stm32Timer *)timer;
+ }
+
+ /* Low-Power Timer */
+ DeviceState *lptimer = qdev_create(NULL, TYPE_STM32F7XX_LPTIM);
+ lptimer->id = stm32f7xx_periph_name_arr[STM32_LPTIM1];
+ stm32_init_periph(lptimer, STM32_LPTIM1, 0x40002400, qdev_get_gpio_in(nvic, STM32_LPTIM1_IRQ));
+ *stm32_lptimer = (Stm32F7xxLPTimer *)lptimer;
+
+ // 0x40002800
+ dummy_dev("WWDG", 0x40002C00, 0x400);
+ dummy_dev("IWDG", 0x40003000, 0x400);
+ dummy_dev("Reserved", 0x40003400, 0x400);
+ // 0x40003800
+ // 0x40003C00
+ dummy_dev("Reserved", 0x40004000, 0x400);
+ // 0x40004400
+ // 0x40004800
+ // 0x40004C00
+ // 0x40005000
+
+ DeviceState *i2c1 = qdev_create(NULL, TYPE_STM32F7XX_I2C);
+ i2c1->id = stm32f7xx_periph_name_arr[STM32_I2C1];
+ qdev_prop_set_int32(i2c1, "periph", STM32_I2C1);
+ stm32_init_periph(i2c1, STM32_I2C1, 0x40005400, qdev_get_gpio_in(nvic, STM32_I2C1_EV_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(i2c1), 1, qdev_get_gpio_in(nvic, STM32_I2C1_ER_IRQ));
+
+ DeviceState *i2c2 = qdev_create(NULL, TYPE_STM32F7XX_I2C);
+ i2c2->id = stm32f7xx_periph_name_arr[STM32_I2C2];
+ qdev_prop_set_int32(i2c2, "periph", STM32_I2C2);
+ stm32_init_periph(i2c2, STM32_I2C2, 0x40005800, qdev_get_gpio_in(nvic, STM32_I2C2_EV_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(i2c2), 1, qdev_get_gpio_in(nvic, STM32_I2C2_ER_IRQ));
+
+ DeviceState *i2c3 = qdev_create(NULL, TYPE_STM32F7XX_I2C);
+ i2c3->id = stm32f7xx_periph_name_arr[STM32_I2C3];
+ qdev_prop_set_int32(i2c3, "periph", STM32_I2C3);
+ stm32_init_periph(i2c3, STM32_I2C3, 0x40005C00, qdev_get_gpio_in(nvic, STM32_I2C3_EV_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(i2c3), 1, qdev_get_gpio_in(nvic, STM32_I2C3_ER_IRQ));
+
+ DeviceState *i2c4 = qdev_create(NULL, TYPE_STM32F7XX_I2C);
+ i2c4->id = stm32f7xx_periph_name_arr[STM32_I2C4];
+ qdev_prop_set_int32(i2c4, "periph", STM32_I2C4);
+ stm32_init_periph(i2c4, STM32_I2C4, 0x40006000, qdev_get_gpio_in(nvic, STM32_I2C4_EV_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(i2c4), 1, qdev_get_gpio_in(nvic, STM32_I2C4_ER_IRQ));
+
+ dummy_dev("BxCAN1", 0x40006400, 0x400);
+ dummy_dev("BxCAN2", 0x40006800, 0x400);
+ dummy_dev("Reserved", 0x40006C00, 0x400);
+ // 0x40007000 PWR probably common
+ dummy_dev("DAC1/DAC2", 0x40007400, 0x400);
+ dummy_dev("Reserved", 0x40007800, 0x400);
+ dummy_dev("Reserved", 0x40008000, 0x8000);
+ // USART1
+ // USART6
+ dummy_dev("Reserved", 0x40011800, 0x800);
+ // ADC1 - ADC2 - ADC3
+ // skipped reserved from here on
+ dummy_dev("SDIO", 0x40012C00, 0x400);
+ // SPI1
+ // SYSCFG needed
+
+ DeviceState *crc = qdev_create(NULL, TYPE_STM32F2XX_CRC);
+ stm32_init_periph(crc, STM32_CRC, 0x40023000, NULL);
+
+ DeviceState *dma1 = qdev_create(NULL, TYPE_STM32F2XX_DMA);
+ stm32_init_periph(dma1, STM32_DMA1, 0x40026000, NULL);
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma1), 0, qdev_get_gpio_in(nvic, STM32_DMA1_STREAM0_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma1), 1, qdev_get_gpio_in(nvic, STM32_DMA1_STREAM1_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma1), 2, qdev_get_gpio_in(nvic, STM32_DMA1_STREAM2_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma1), 3, qdev_get_gpio_in(nvic, STM32_DMA1_STREAM3_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma1), 4, qdev_get_gpio_in(nvic, STM32_DMA1_STREAM4_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma1), 5, qdev_get_gpio_in(nvic, STM32_DMA1_STREAM5_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma1), 6, qdev_get_gpio_in(nvic, STM32_DMA1_STREAM6_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma1), 7, qdev_get_gpio_in(nvic, STM32_DMA1_STREAM7_IRQ));
+
+ DeviceState *dma2 = qdev_create(NULL, TYPE_STM32F2XX_DMA);
+ stm32_init_periph(dma2, STM32_DMA2, 0x40026400, NULL);
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma2), 0, qdev_get_gpio_in(nvic, STM32_DMA2_STREAM0_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma2), 1, qdev_get_gpio_in(nvic, STM32_DMA2_STREAM1_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma2), 2, qdev_get_gpio_in(nvic, STM32_DMA2_STREAM2_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma2), 3, qdev_get_gpio_in(nvic, STM32_DMA2_STREAM3_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma2), 4, qdev_get_gpio_in(nvic, STM32_DMA2_STREAM4_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma2), 5, qdev_get_gpio_in(nvic, STM32_DMA2_STREAM5_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma2), 6, qdev_get_gpio_in(nvic, STM32_DMA2_STREAM6_IRQ));
+ sysbus_connect_irq(SYS_BUS_DEVICE(dma2), 7, qdev_get_gpio_in(nvic, STM32_DMA2_STREAM7_IRQ));
+}
+
diff --git a/hw/arm/stm32f7xx.h b/hw/arm/stm32f7xx.h
new file mode 100644
index 0000000000000..2620f61a1c99e
--- /dev/null
+++ b/hw/arm/stm32f7xx.h
@@ -0,0 +1,15 @@
+#include "hw/arm/stm32.h"
+
+
+#define STM32F7XX_GPIO_COUNT (STM32_GPIOK - STM32_GPIOA + 1)
+#define STM32F7XX_SPI_COUNT 6
+
+#define STM32F7XX_UART_COUNT 8
+#define STM32F7XX_TIM_COUNT 14
+
+struct stm32f7xx {
+ DeviceState *spi_dev[STM32F7XX_SPI_COUNT];
+ DeviceState *qspi_dev;
+
+ qemu_irq display_done_signal;
+};
diff --git a/hw/arm/stm32f7xx_i2c.c b/hw/arm/stm32f7xx_i2c.c
new file mode 100644
index 0000000000000..a5cb938e3155f
--- /dev/null
+++ b/hw/arm/stm32f7xx_i2c.c
@@ -0,0 +1,256 @@
+/*
+ * Copyright (c) 2016
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+/*
+ * QEMU model of the stm32f7xx I2C controller.
+ */
+
+#include "qemu/osdep.h"
+#include "hw/sysbus.h"
+#include "hw/arm/stm32.h"
+#include "hw/i2c/i2c.h"
+#include "hw/hw.h"
+#include "hw/qdev-properties.h"
+#include "hw/irq.h"
+
+#define R_I2C_CR1 (0x00 / 4)
+#define R_I2C_CR2 (0x04 / 4)
+#define R_I2C_OAR1 (0x08 / 4)
+#define R_I2C_OAR2 (0x0c / 4)
+#define R_I2C_TIMINGR (0x10 / 4)
+#define R_I2C_TIMEOUTR (0x14 / 4)
+#define R_I2C_ISR (0x18 / 4)
+#define R_I2C_ICR (0x1C / 4)
+#define R_I2C_PECR (0x20 / 4)
+#define R_I2C_RXDR (0x24 / 4)
+#define R_I2C_TXDR (0x28 / 4)
+#define R_I2C_MAX (0x28 / 4)
+
+#define R_I2C_CR1_PE_BIT (1 << 0)
+
+#define R_I2C_CR2_START_BIT (1 << 13)
+
+#define R_I2C_ISR_BERR_BIT (1 << 8)
+
+
+#ifdef DEBUG_STM32_I2C
+// NOTE: The usleep() helps the MacOS stdout from freezing when we have a lot of print out
+#define DPRINTF(fmt, ...) \
+ do { printf("STM32F7XX_I2c: " fmt , ## __VA_ARGS__); \
+ usleep(1000); \
+ } while (0)
+#else
+#define DPRINTF(fmt, ...)
+#endif
+
+static const char *stm32f7xx_i2c_reg_name_arr[] = {
+ "CR1",
+ "CR2",
+ "OAR1",
+ "OAR2",
+ "TIMINGR",
+ "TIMEOUTR",
+ "ISR",
+ "ICR",
+ "PECR",
+ "RXDR",
+ "TXDR",
+};
+
+
+
+typedef struct stm32f7xx_i2c {
+ SysBusDevice busdev;
+ MemoryRegion iomem;
+ qemu_irq evt_irq;
+ qemu_irq err_irq;
+
+ I2CBus *bus;
+
+ stm32_periph_t periph;
+
+ int32_t rx;
+ int rx_full;
+ uint16_t regs[R_I2C_MAX];
+
+} stm32f7xx_i2c;
+
+
+/* Routine which updates the I2C's IRQs. This should be called whenever
+ * an interrupt-related flag is updated.
+ */
+static void stm32f7xx_i2c_update_irq(stm32f7xx_i2c *s) {
+ int new_err_irq_level = (s->regs[R_I2C_ISR] & R_I2C_ISR_BERR_BIT);
+
+ int new_evt_irq_level = 0;
+
+ DPRINTF("%s %s: setting evt_irq to %d\n", __func__, s->busdev.parent_obj.id,
+ !!new_evt_irq_level);
+ qemu_set_irq(s->evt_irq, !!new_evt_irq_level);
+
+ DPRINTF("%s %s: setting err_irq to %d\n", __func__, s->busdev.parent_obj.id,
+ !!new_err_irq_level);
+ qemu_set_irq(s->err_irq, !!new_err_irq_level);
+}
+
+
+
+static uint64_t stm32f7xx_i2c_read(void *arg, hwaddr offset, unsigned size)
+{
+ stm32f7xx_i2c *s = arg;
+ uint32_t r = UINT32_MAX;
+ const char *reg_name = "UNKNOWN";
+
+ if (!(size == 2 || size == 4 || (offset & 0x3) != 0)) {
+ STM32_BAD_REG(offset, size);
+ }
+ offset >>= 2;
+ if (offset < R_I2C_MAX) {
+ r = s->regs[offset];
+ reg_name = stm32f7xx_i2c_reg_name_arr[offset];
+ } else {
+ qemu_log_mask(LOG_GUEST_ERROR, "Out of range I2C write, offset 0x%x\n",
+ (unsigned)offset << 2);
+ }
+
+ DPRINTF("%s %s: register %s, result: 0x%x\n", __func__, s->busdev.parent_obj.id,
+ reg_name, r);
+ return r;
+}
+
+
+static void stm32f7xx_i2c_write(void *arg, hwaddr offset, uint64_t data, unsigned size)
+{
+ const char *reg_name = "UNKNOWN";
+ struct stm32f7xx_i2c *s = (struct stm32f7xx_i2c *)arg;
+
+ if (size != 2 && size != 4) {
+ STM32_BAD_REG(offset, size);
+ }
+ /* I2C registers are all at most 32 bits wide */
+ data &= 0xffffffff;
+ offset >>= 2;
+
+ if (offset < R_I2C_MAX) {
+ reg_name = stm32f7xx_i2c_reg_name_arr[offset];
+ }
+ DPRINTF("%s %s: register %s, data: 0x%llx, size:%d\n", __func__, s->busdev.parent_obj.id,
+ reg_name, data, size);
+
+
+ switch (offset) {
+ case R_I2C_CR1:
+ if ((data & R_I2C_CR1_PE_BIT) == 0) {
+ s->regs[R_I2C_ISR] = 0;
+ }
+ break;
+
+ case R_I2C_CR2:
+ if (data & R_I2C_CR2_START_BIT) {
+ // Abort all attempted master transfers with a bus error
+ s->regs[R_I2C_ISR] |= R_I2C_ISR_BERR_BIT;
+ } else {
+ s->regs[offset] = data;
+ }
+ break;
+
+ case R_I2C_TXDR:
+ i2c_send(s->bus, (uint8_t)data);
+ break;
+
+ case R_I2C_ICR:
+ s->regs[R_I2C_ISR] &= ~data;
+ break;
+
+ case R_I2C_ISR:
+ case R_I2C_RXDR:
+ STM32_WARN_RO_REG(offset);
+ break;
+
+ case R_I2C_OAR1:
+ case R_I2C_OAR2:
+ case R_I2C_TIMINGR:
+ case R_I2C_TIMEOUTR:
+ case R_I2C_PECR:
+ s->regs[offset] = data;
+ break;
+
+ default:
+ STM32_BAD_REG(offset, size);
+ break;
+ }
+ stm32f7xx_i2c_update_irq(s);
+}
+
+static const MemoryRegionOps stm32f7xx_i2c_ops = {
+ .read = stm32f7xx_i2c_read,
+ .write = stm32f7xx_i2c_write,
+ .endianness = DEVICE_NATIVE_ENDIAN
+};
+
+static void stm32f7xx_i2c_reset(DeviceState *dev)
+{
+}
+
+static void stm32f7xx_i2c_init(Object *obj)
+{
+ SysBusDevice *dev = SYS_BUS_DEVICE(obj);
+ struct stm32f7xx_i2c *s = STM32F7XX_I2C(obj);
+
+ memory_region_init_io(&s->iomem, OBJECT(s), &stm32f7xx_i2c_ops, s, "i2c", 0x3ff);
+ sysbus_init_mmio(dev, &s->iomem);
+ sysbus_init_irq(dev, &s->evt_irq);
+ sysbus_init_irq(dev, &s->err_irq);
+ s->bus = i2c_init_bus(DEVICE(dev), "i2c");
+
+ DPRINTF("%s %s: INITIALIZED\n", __func__, s->busdev.parent_obj.id);
+}
+
+
+static Property stm32f7xx_i2c_properties[] = {
+ DEFINE_PROP_INT32("periph", struct stm32f7xx_i2c, periph, -1),
+ DEFINE_PROP_END_OF_LIST()
+};
+
+static void stm32f7xx_i2c_class_init(ObjectClass *c, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(c);
+ SysBusDeviceClass *sc = SYS_BUS_DEVICE_CLASS(c);
+
+ dc->reset = stm32f7xx_i2c_reset;
+ device_class_set_props(dc, stm32f7xx_i2c_properties);
+}
+
+static const TypeInfo stm32f7xx_i2c_info = {
+ .name = TYPE_STM32F7XX_I2C,
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(struct stm32f7xx_i2c),
+ .instance_init = stm32f7xx_i2c_init,
+ .class_init = stm32f7xx_i2c_class_init
+};
+
+static void stm32f7xx_i2c_register_types(void)
+{
+ type_register_static(&stm32f7xx_i2c_info);
+}
+
+type_init(stm32f7xx_i2c_register_types)
diff --git a/hw/arm/stm32f7xx_lptim.c b/hw/arm/stm32f7xx_lptim.c
new file mode 100644
index 0000000000000..9e9a767eb688f
--- /dev/null
+++ b/hw/arm/stm32f7xx_lptim.c
@@ -0,0 +1,245 @@
+/*
+ * Source code based on stm32f2xx_tim.c
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+/*
+ * QEMU stm32f7xx LPTIM emulation
+ */
+
+#include "qemu/osdep.h"
+#include "hw/sysbus.h"
+#include "hw/arm/stm32.h"
+#include "qemu/timer.h"
+#include "hw/qdev-properties.h"
+#include "hw/irq.h"
+
+//#define DEBUG_STM32F7XX_LPTIM
+#ifdef DEBUG_STM32F7XX_LPTIM
+// NOTE: The usleep() helps the MacOS stdout from freezing when we have a lot of print out
+#define DPRINTF(fmt, ...) \
+ do { \
+ printf("DEBUG_STM32F7XX_LPTIM %s: " fmt , __func__, ## __VA_ARGS__); \
+ usleep(100); \
+ } while (0)
+#else
+#define DPRINTF(fmt, ...)
+#endif
+
+
+#define R_LPTIM_ISR (0x00 / 4)
+#define R_LPTIM_ICR (0x04 / 4)
+#define R_LPTIM_IER (0x08 / 4)
+#define R_LPTIM_CFGR (0x0C / 4)
+#define R_LPTIM_CR (0x10 / 4)
+#define R_LPTIM_CMP (0x14 / 4)
+#define R_LPTIM_ARR (0x18 / 4)
+#define R_LPTIM_CNT (0x1C / 4)
+#define R_LPTIM_OR (0x20 / 4)
+#define R_LPTIM_MAX (0x24 / 4)
+
+static const char *f7xx_lptim_reg_names[] = {
+ ENUM_STRING(R_LPTIM_ISR),
+ ENUM_STRING(R_LPTIM_ICR),
+ ENUM_STRING(R_LPTIM_IER),
+ ENUM_STRING(R_LPTIM_CFGR),
+ ENUM_STRING(R_LPTIM_CR),
+ ENUM_STRING(R_LPTIM_CMP),
+ ENUM_STRING(R_LPTIM_ARR),
+ ENUM_STRING(R_LPTIM_CNT),
+ ENUM_STRING(R_LPTIM_OR),
+};
+
+
+typedef struct f7xx_lptim {
+ SysBusDevice busdev;
+ MemoryRegion iomem;
+ QEMUTimer *timer;
+ qemu_irq irq;
+ uint32_t regs[R_LPTIM_MAX];
+
+ qemu_irq pwm_ratio_changed;
+ qemu_irq pwm_enable;
+} f7xx_lptim;
+
+static uint32_t f7xx_lptim_period(f7xx_lptim *s) {
+ /* FIXME: hard coded to 32kHz */
+ return 31250;
+}
+
+static int64_t f7xx_lptim_next_transition(f7xx_lptim *s, int64_t current_time) {
+ return current_time + f7xx_lptim_period(s) * s->regs[R_LPTIM_ARR];
+}
+
+static void f7xx_lptim_timer(void *arg) {
+ f7xx_lptim *s = arg;
+ if (s->regs[R_LPTIM_CR] & 1) {
+ timer_mod(s->timer, f7xx_lptim_next_transition(s, qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL)));
+ }
+ qemu_set_irq(s->irq, 1);
+}
+
+static uint64_t f7xx_lptim_read(void *arg, hwaddr addr, unsigned int size) {
+ f7xx_lptim *s = arg;
+ uint32_t r = 0;
+ int offset = addr & 0x3;
+ addr >>= 2;
+ if (addr >= R_LPTIM_MAX) {
+ DPRINTF("invalid read register 0x%x\n", (unsigned int)addr << 2);
+ qemu_log_mask(LOG_GUEST_ERROR, "f7xx lptim invalid read register 0x%x\n",
+ (unsigned int)addr << 2);
+ return 0;
+ }
+
+ switch (addr) {
+ case R_LPTIM_CFGR:
+ case R_LPTIM_CMP:
+ case R_LPTIM_ARR:
+ case R_LPTIM_CNT:
+ case R_LPTIM_CR:
+ r = (s->regs[addr] >> offset * 8) & ((1ull << (8 * size)) - 1);
+ break;
+ default:
+ DPRINTF("unimplemented read 0x%x+%u size %u\n", (unsigned int)addr << 2, offset, size);
+ qemu_log_mask(LOG_UNIMP, "f7xx lptim unimplemented read 0x%x+%u size %u\n",
+ (unsigned int)addr << 2, offset, size);
+ break;
+ }
+
+ DPRINTF("reg: %s, size: %d, value: 0x%x\n", f7xx_lptim_reg_names[addr], size, r);
+ return r;
+}
+
+static void f7xx_lptim_write(void *arg, hwaddr addr, uint64_t data, unsigned int size) {
+ f7xx_lptim *s = arg;
+ int offset = addr & 0x3;
+ addr >>= 2;
+ DPRINTF("reg:%s, size: %d, value: 0x%llx\n", f7xx_lptim_reg_names[addr], size, data);
+ if (addr >= R_LPTIM_MAX) {
+ DPRINTF("invalid write register 0x%x\n", (unsigned int)addr << 2);
+ qemu_log_mask(LOG_GUEST_ERROR, "f7xx lptim invalid write register 0x%x\n",
+ (unsigned int)addr << 2);
+ return;
+ }
+
+ switch (size) {
+ case 1:
+ data = (s->regs[addr] & ~(0xff << (offset * 8))) | data << (offset * 8);
+ break;
+ case 2:
+ data = (s->regs[addr] & ~(0xffff << (offset * 8))) | data << (offset * 8);
+ break;
+ case 4:
+ break;
+ default:
+ abort();
+ }
+
+ switch (addr) {
+ case R_LPTIM_CR:
+ if ((s->regs[addr] & 1) == 0 && data & 1) {
+ DPRINTF("started\n");
+ timer_mod(s->timer, f7xx_lptim_next_transition(s, qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL)));
+ qemu_set_irq(s->pwm_enable, 1);
+ } else if (s->regs[addr] & 1 && (data & 1) == 0) {
+ DPRINTF("stopped\n");
+ timer_del(s->timer);
+ qemu_set_irq(s->pwm_enable, 0);
+ }
+ s->regs[addr] = data;
+ break;
+ case R_LPTIM_CMP:
+ {
+ s->regs[addr] = data;
+ uint32_t ratio = (s->regs[R_LPTIM_CMP] * 255) / s->regs[R_LPTIM_ARR];
+ DPRINTF("Setting PWM ratio to %d (0x%x, 0x%x)\n", ratio, s->regs[R_LPTIM_CMP], s->regs[R_LPTIM_ARR]);
+ qemu_set_irq(s->pwm_ratio_changed, ratio);
+ break;
+ }
+ case R_LPTIM_CFGR:
+ case R_LPTIM_ARR:
+ case R_LPTIM_CNT:
+ s->regs[addr] = data;
+ break;
+ default:
+ DPRINTF("unimplemented write 0x%x+%u size %u val 0x%x\n", (unsigned int)addr << 2,
+ offset, size, (unsigned int)data);
+ qemu_log_mask(LOG_UNIMP, "f7xx lptim unimplemented write 0x%x+%u size %u val 0x%x\n",
+ (unsigned int)addr << 2, offset, size, (unsigned int)data);
+ break;
+ }
+}
+
+static const MemoryRegionOps f7xx_lptim_ops = {
+ .read = f7xx_lptim_read,
+ .write = f7xx_lptim_write,
+ .endianness = DEVICE_NATIVE_ENDIAN,
+ .impl = {
+ .min_access_size = 1,
+ .max_access_size = 4,
+ }
+};
+
+static void f7xx_lptim_reset(DeviceState *dev) {
+ f7xx_lptim *s = STM32F7XX_LPTIM(dev);
+
+ timer_del(s->timer);
+ memset(&s->regs, 0, sizeof(s->regs));
+}
+
+
+static void f7xx_lptim_init(Object *obj) {
+ SysBusDevice *dev = SYS_BUS_DEVICE(obj);
+ f7xx_lptim *s = STM32F7XX_LPTIM(obj);
+
+ memory_region_init_io(&s->iomem, OBJECT(s), &f7xx_lptim_ops, s, "lptim", 0xa0);
+ sysbus_init_mmio(dev, &s->iomem);
+ s->timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, f7xx_lptim_timer, s);
+ sysbus_init_irq(dev, &s->irq);
+
+ qdev_init_gpio_out_named(DEVICE(dev), &s->pwm_ratio_changed, "pwm_ratio_changed", 1);
+ qdev_init_gpio_out_named(DEVICE(dev), &s->pwm_enable, "pwm_enable", 1);
+}
+
+static Property f7xx_lptim_properties[] = {
+ DEFINE_PROP_END_OF_LIST(),
+};
+
+static void f7xx_lptim_class_init(ObjectClass *klass, void *data) {
+ DeviceClass *dc = DEVICE_CLASS(klass);
+ SysBusDeviceClass *sc = SYS_BUS_DEVICE_CLASS(klass);
+ //TODO: fix this: dc->no_user = 1;
+ dc->reset = f7xx_lptim_reset;
+
+ device_class_set_props(dc, f7xx_lptim_properties);
+}
+
+static const TypeInfo f7xx_lptim_info = {
+ .name = TYPE_STM32F7XX_LPTIM,
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(f7xx_lptim),
+ .instance_init = f7xx_lptim_init,
+ .class_init = f7xx_lptim_class_init,
+};
+
+static void f7xx_lptim_register_types(void) {
+ type_register_static(&f7xx_lptim_info);
+}
+
+type_init(f7xx_lptim_register_types)
diff --git a/hw/block/Makefile.objs b/hw/block/Makefile.objs
index 4b4a2b338dc47..c3f834d4ac178 100644
--- a/hw/block/Makefile.objs
+++ b/hw/block/Makefile.objs
@@ -1,9 +1,11 @@
common-obj-y += block.o cdrom.o hd-geometry.o
+common-obj-y += mx25u.o mt25q.o
common-obj-$(CONFIG_FDC) += fdc.o
common-obj-$(CONFIG_SSI_M25P80) += m25p80.o
common-obj-$(CONFIG_NAND) += nand.o
common-obj-$(CONFIG_PFLASH_CFI01) += pflash_cfi01.o
common-obj-$(CONFIG_PFLASH_CFI02) += pflash_cfi02.o
+common-obj-y += pflash_jedec_424.o
common-obj-$(CONFIG_XEN) += xen-block.o
common-obj-$(CONFIG_ECC) += ecc.o
common-obj-$(CONFIG_ONENAND) += onenand.o
diff --git a/hw/block/m25p80.c b/hw/block/m25p80.c
index 82270884416e3..3999cf1d87bb6 100644
--- a/hw/block/m25p80.c
+++ b/hw/block/m25p80.c
@@ -215,6 +215,7 @@ static const FlashPartInfo known_devices[] = {
{ INFO("mx25l1606e", 0xc22015, 0, 64 << 10, 32, ER_4K) },
{ INFO("mx25l3205d", 0xc22016, 0, 64 << 10, 64, 0) },
{ INFO("mx25l6405d", 0xc22017, 0, 64 << 10, 128, 0) },
+ //{ INFO("mx25u6435f", 0xc22537, 0, 64 << 10, 128, ER_4K | ER_32K) },
{ INFO("mx25l12805d", 0xc22018, 0, 64 << 10, 256, 0) },
{ INFO("mx25l12855e", 0xc22618, 0, 64 << 10, 256, 0) },
{ INFO("mx25l25635e", 0xc22019, 0, 64 << 10, 512, 0) },
@@ -389,6 +390,9 @@ typedef enum {
WEVCR = 0x61,
DIE_ERASE = 0xC4,
+
+ SLEEP = 0xb9,
+ WAKE = 0xab,
} FlashCMD;
typedef enum {
@@ -1068,6 +1072,8 @@ static void decode_new_cmd(Flash *s, uint32_t value)
}
break;
case NOP:
+ case SLEEP:
+// case WAKE:
break;
case EN_4BYTE_ADDR:
s->four_bytes_address_mode = true;
diff --git a/hw/block/mt25q.c b/hw/block/mt25q.c
new file mode 100644
index 0000000000000..0964e5a83a993
--- /dev/null
+++ b/hw/block/mt25q.c
@@ -0,0 +1,518 @@
+/*
+ * Emulate a QSPI flash device following the mt25q command set.
+ * Modelled after the m25p80 emulation found in hw/block/m25p80.c
+ */
+
+#include "qemu/osdep.h"
+#include "qemu/log.h"
+#include "qapi/error.h"
+#include "hw/hw.h"
+#include "sysemu/block-backend.h"
+#include "sysemu/blockdev.h"
+#include "hw/qdev-properties.h"
+#include "hw/ssi/ssi.h"
+#include "migration/vmstate.h"
+
+
+// TODO: These should be made configurable to support different flash parts
+#define FLASH_SECTOR_SIZE (64 * 1024)
+#define FLASH_NUM_SECTORS (256)
+#define FLASH_PAGE_SIZE (256)
+const uint8_t MT25Q_ID[] = { 0x20, 0xbb, 0x19 };
+
+#ifndef MT25Q_ERR_DEBUG
+#define MT25Q_ERR_DEBUG 0
+#endif
+
+// The usleep() helps MacOS stdout from freezing when printing a lot
+#define DB_PRINT_L(level, ...) do { \
+ if (MT25Q_ERR_DEBUG > (level)) { \
+ fprintf(stderr, "%d: %s: ", level, __func__); \
+ fprintf(stderr, ## __VA_ARGS__); \
+ fprintf(stderr, "\n"); \
+ usleep(1000); \
+ } \
+} while (0);
+
+
+typedef enum {
+ READ_EVCR = 0x65,
+ WRITE_EVCR = 0x61,
+
+ RESET_ENABLE = 0x66,
+ RESET = 0x99,
+
+ WRITE_ENABLE = 0x06,
+ WRITE_DISABLE = 0x04,
+
+ READ_STATUS_REG = 0x05,
+ READ_FLAG_STATUS_REG = 0x70,
+
+ FAST_READ = 0x0b,
+ FAST_READ_DDR = 0x0d,
+ READ_QID = 0xaf,
+
+ PAGE_PROGRAM = 0x02,
+
+ ERASE_SUBSECTOR = 0x20, // Erase 4k sector
+ ERASE_BLOCK = 0xd8, // Erase 64k block
+
+ ERASE_SUSPEND = 0x75,
+ ERASE_RESUME = 0x7a,
+
+ DEEP_SLEEP = 0xb9,
+ WAKE = 0xab,
+
+ QUAD_ENABLE = 0x35,
+} FlashCmd;
+
+typedef enum {
+ STATE_IDLE,
+
+ STATE_COLLECT_CMD_DATA,
+
+ STATE_WRITE,
+ STATE_READ,
+ STATE_READ_QID,
+ STATE_READ_REGISTER,
+} CMDState;
+
+#define R_STATUS_BUSY (1 << 0)
+#define R_STATUS_WRITE_ENABLE (1 << 1)
+
+#define R_FLAG_STATUS_ERASE_SUSPEND (1 << 6)
+
+typedef struct {
+ SSISlave parent_obj;
+
+ //--- Storage ---
+ BlockBackend *blk;
+ uint8_t *storage;
+ uint32_t size;
+ int page_size;
+
+ int64_t dirty_page;
+
+ //--- Registers ---
+ uint8_t EVCR;
+ uint8_t STATUS_REG;
+ uint8_t FLAG_STATUS_REG;
+
+ //--- Command state ---
+ CMDState state;
+ FlashCmd cmd_in_progress;
+ uint8_t cmd_data[4]; //! Commands can require up to 4 bytes of additional data
+ uint8_t cmd_bytes; //! Number of bytes required by command [0,4]
+ uint32_t len;
+ uint32_t pos;
+ uint64_t current_address;
+
+ uint8_t *current_register;
+ uint8_t register_read_mask; //! mask to apply after reading current_register
+
+ bool reset_enabled;
+} Flash;
+
+typedef struct {
+ SSISlaveClass parent_class;
+} MT25QClass;
+
+#define TYPE_MT25Q "mt25q-generic"
+#define MT25Q(obj) \
+ OBJECT_CHECK(Flash, (obj), TYPE_MT25Q)
+#define MT25Q_CLASS(klass) \
+ OBJECT_CLASS_CHECK(MT25QClass, (klass), TYPE_MT25Q)
+#define MT25Q_GET_CLASS(obj) \
+ OBJECT_GET_CLASS(MT25QClass, (obj), TYPE_MT25Q)
+
+static void blk_sync_complete(void *opaque, int ret)
+{
+ /* do nothing. Masters do not directly interact with the backing store,
+ * only the working copy so no mutexing required.
+ */
+}
+
+static void mt25q_flash_sync_page(Flash *s, int page)
+{
+ int blk_sector, nb_sectors;
+ QEMUIOVector iov;
+
+ if (!s->blk || blk_is_read_only(s->blk)) {
+ return;
+ }
+
+ blk_sector = (page * s->page_size) / BDRV_SECTOR_SIZE;
+ nb_sectors = DIV_ROUND_UP(s->page_size, BDRV_SECTOR_SIZE);
+ qemu_iovec_init(&iov, 1);
+ qemu_iovec_add(&iov, s->storage + blk_sector * BDRV_SECTOR_SIZE,
+ nb_sectors * BDRV_SECTOR_SIZE);
+ blk_aio_pwritev(s->blk, page * s->page_size, &iov, 0,
+ blk_sync_complete, NULL);
+}
+
+static inline void mt25q_flash_sync_area(Flash *s, int64_t off, int64_t len)
+{
+ int64_t start, end, nb_sectors;
+ QEMUIOVector iov;
+
+ if (!s->blk || blk_is_read_only(s->blk)) {
+ return;
+ }
+
+ assert(!(len % BDRV_SECTOR_SIZE));
+ start = off / BDRV_SECTOR_SIZE;
+ end = (off + len) / BDRV_SECTOR_SIZE;
+ nb_sectors = end - start;
+ qemu_iovec_init(&iov, 1);
+ qemu_iovec_add(&iov, s->storage + (start * BDRV_SECTOR_SIZE),
+ nb_sectors * BDRV_SECTOR_SIZE);
+ blk_aio_pwritev(s->blk, off, &iov, 0, blk_sync_complete, NULL);
+}
+
+static inline void flash_sync_dirty(Flash *s, int64_t newpage)
+{
+ if (s->dirty_page >= 0 && s->dirty_page != newpage) {
+ mt25q_flash_sync_page(s, s->dirty_page);
+ s->dirty_page = newpage;
+ }
+}
+
+static void mt25q_flash_erase(Flash *s, uint32_t offset, FlashCmd cmd)
+{
+ uint32_t len;
+
+ switch (cmd) {
+ case ERASE_SUBSECTOR: // Erase 4k sector
+ len = 4 << 10;
+ break;
+ case ERASE_BLOCK: // Erase 64k block
+ len = 64 << 10;
+ break;
+ default:
+ abort();
+ }
+
+ DB_PRINT_L(0, "erase offset = %#x, len = %d", offset, len);
+
+ if (!(s->STATUS_REG & R_STATUS_WRITE_ENABLE)) {
+ DB_PRINT_L(-1, "erase with write protect!\n");
+ qemu_log_mask(LOG_GUEST_ERROR, "MT25Q: erase with write protect!\n");
+ return;
+ }
+
+ memset(s->storage + offset, 0xff, len);
+ mt25q_flash_sync_area(s, offset, len);
+}
+
+static void mt25q_decode_new_cmd(Flash *s, uint32_t value)
+{
+ s->cmd_in_progress = value;
+ DB_PRINT_L(2, "decoding new command: 0x%x", value);
+
+ switch (value) {
+ case RESET_ENABLE:
+ // handled below
+ break;
+
+ case RESET:
+ assert(s->reset_enabled);
+ break;
+
+ case WRITE_ENABLE:
+ s->STATUS_REG |= R_STATUS_WRITE_ENABLE;
+ s->state = STATE_IDLE;
+ break;
+ case WRITE_DISABLE:
+ s->STATUS_REG &= ~R_STATUS_WRITE_ENABLE;
+ s->state = STATE_IDLE;
+ break;
+
+ case WRITE_EVCR:
+ s->pos = 0;
+ s->cmd_bytes = 1;
+ s->state = STATE_COLLECT_CMD_DATA;
+ break;
+ case READ_EVCR:
+ s->current_register = &s->EVCR;
+ s->state = STATE_READ_REGISTER;
+ break;
+ case READ_STATUS_REG:
+ s->current_register = &s->STATUS_REG;
+ s->state = STATE_READ_REGISTER;
+ break;
+ case READ_FLAG_STATUS_REG:
+ s->current_register = &s->FLAG_STATUS_REG;
+ s->state = STATE_READ_REGISTER;
+ break;
+
+ case FAST_READ:
+ case FAST_READ_DDR:
+ s->cmd_bytes = 3;
+ s->pos = 0;
+ s->state = STATE_COLLECT_CMD_DATA;
+ break;
+
+ case READ_QID:
+ s->cmd_bytes = 0;
+ s->state = STATE_READ_QID;
+ s->len = 3;
+ s->pos = 0;
+ break;
+
+ case PAGE_PROGRAM:
+ s->pos = 0;
+ s->cmd_bytes = 3;
+ s->state = STATE_COLLECT_CMD_DATA;
+ break;
+
+ case ERASE_SUBSECTOR:
+ case ERASE_BLOCK:
+ s->pos = 0;
+ s->cmd_bytes = 3;
+ s->state = STATE_COLLECT_CMD_DATA;
+ break;
+
+ case ERASE_SUSPEND:
+ case ERASE_RESUME:
+ break;
+
+ case DEEP_SLEEP:
+ case WAKE:
+ break;
+
+ case QUAD_ENABLE:
+ break;
+
+ default:
+ DB_PRINT_L(-1, "Unknown cmd 0x%x\n", value);
+ qemu_log_mask(LOG_GUEST_ERROR, "MT25Q: Unknown cmd 0x%x\n", value);
+ }
+
+ s->reset_enabled = (value == RESET_ENABLE);
+}
+
+static void mt25q_handle_cmd_data(Flash *s)
+{
+ s->state = STATE_IDLE;
+
+ switch (s->cmd_in_progress) {
+ case WRITE_EVCR:
+ s->EVCR = s->cmd_data[0];
+ s->current_address = 0;
+ break;
+ case READ_EVCR:
+ assert(false);
+ break;
+ case PAGE_PROGRAM:
+ s->current_address = (s->cmd_data[2] << 16) | (s->cmd_data[1] << 8) | (s->cmd_data[0]);
+ s->state = STATE_WRITE;
+ break;
+ case READ_STATUS_REG:
+ case READ_FLAG_STATUS_REG:
+ assert(false);
+ break;
+ case FAST_READ:
+ case FAST_READ_DDR:
+ s->current_address = (s->cmd_data[2] << 16) | (s->cmd_data[1] << 8) | (s->cmd_data[0]);
+ DB_PRINT_L(2, "Read From: 0x%"PRIu64, s->current_address);
+ s->state = STATE_READ;
+ break;
+ case ERASE_SUBSECTOR:
+ case ERASE_BLOCK:
+ s->current_address = (s->cmd_data[2] << 16) | (s->cmd_data[1] << 8) | (s->cmd_data[0]);
+ mt25q_flash_erase(s, s->current_address, s->cmd_in_progress);
+ s->STATUS_REG |= R_STATUS_BUSY;
+ s->register_read_mask = R_STATUS_BUSY;
+ break;
+
+ case ERASE_SUSPEND:
+ case ERASE_RESUME:
+ s->current_address = (s->cmd_data[2] << 16) | (s->cmd_data[1] << 8) | (s->cmd_data[0]);
+ break;
+
+ default:
+ s->current_address = (s->cmd_data[2] << 16) | (s->cmd_data[1] << 8) | (s->cmd_data[0]);
+ DB_PRINT_L(-1, "Unknown cmd data 0x%x\n", s->cmd_in_progress);
+ qemu_log_mask(LOG_GUEST_ERROR, "MT25Q: Unknown cmd data 0x%x\n", s->cmd_in_progress);
+ break;
+ }
+}
+
+static void mt25q_write8(Flash *s, uint8_t value)
+{
+ int64_t page = s->current_address / s->page_size;
+
+ // TODO: Write protection
+
+ uint8_t current = s->storage[s->current_address];
+ if (value & ~current) {
+ DB_PRINT_L(-1, "Flipping bit from 0 => 1 (addr=0x%llx, value=0x%x, current=0x%x)\n",
+ s->current_address, value, current);
+ qemu_log_mask(LOG_GUEST_ERROR, "MT25Q: Flipping bit from 0 => 1\n");
+ // if a bit in the flash is already a 0, leave it as a 0
+ value &= current;
+ }
+ DB_PRINT_L(2, "Write 0x%"PRIx8" = 0x%"PRIx64, (uint8_t)value, s->current_address);
+ s->storage[s->current_address] = (uint8_t)value;
+
+ flash_sync_dirty(s, page);
+ s->dirty_page = page;
+}
+
+static uint32_t mt25q_transfer8(SSISlave *ss, uint32_t tx)
+{
+ Flash *s = MT25Q(ss);
+ uint32_t r = 0;
+
+ switch (s->state) {
+ case STATE_COLLECT_CMD_DATA:
+ DB_PRINT_L(2, "Collected: 0x%"PRIx32, (uint32_t)tx);
+ s->cmd_data[s->pos++] = (uint8_t)tx;
+ if (s->pos == s->cmd_bytes) {
+ mt25q_handle_cmd_data(s);
+ }
+ break;
+ case STATE_WRITE:
+ if (s->current_address > s->size) {
+ DB_PRINT_L(-1, "MT25Q: Out of bounds flash write to 0x%"PRIx64"\n", s->current_address);
+ qemu_log_mask(LOG_GUEST_ERROR,
+ "MT25Q: Out of bounds flash write to 0x%"PRIx64"\n", s->current_address);
+ } else {
+ mt25q_write8(s, tx);
+ s->current_address += 1;
+ }
+ break;
+ case STATE_READ:
+ if (s->current_address > s->size) {
+ DB_PRINT_L(-1, "MT25Q: Out of bounds flash read from 0x%"PRIx64"\n", s->current_address);
+ qemu_log_mask(LOG_GUEST_ERROR,
+ "MT25Q: Out of bounds flash read from 0x%"PRIx64"\n", s->current_address);
+ } else {
+ DB_PRINT_L(2, "Read 0x%"PRIx64" = 0x%"PRIx8, s->current_address, (uint8_t)r);
+ r = s->storage[s->current_address];
+ s->current_address = (s->current_address + 1) % s->size;
+ }
+ break;
+ case STATE_READ_QID:
+ r = MT25Q_ID[s->pos];
+ DB_PRINT_L(1, "Read QID 0x%x (pos 0x%x)", (uint8_t)r, s->pos);
+ ++s->pos;
+ if (s->pos == s->len) {
+ s->pos = 0;
+ s->state = STATE_IDLE;
+ }
+ break;
+ case STATE_READ_REGISTER:
+ r = *s->current_register;
+ *s->current_register &= ~s->register_read_mask;
+ s->register_read_mask = 0;
+ s->state = STATE_IDLE;
+ DB_PRINT_L(2, "Read register");
+ break;
+ case STATE_IDLE:
+ mt25q_decode_new_cmd(s, tx);
+ break;
+ }
+
+ return r;
+}
+
+static void mt25q_realize(SSISlave *ss, Error **errp)
+{
+ DriveInfo *dinfo;
+ Flash *s = MT25Q(ss);
+
+ s->state = STATE_IDLE;
+ s->size = FLASH_SECTOR_SIZE * FLASH_NUM_SECTORS;
+ s->page_size = FLASH_PAGE_SIZE;
+ s->dirty_page = -1;
+ s->STATUS_REG = 0;
+
+ if (s->blk) {
+ DB_PRINT_L(0, "Binding to IF_MTD drive");
+ s->storage = blk_blockalign(s->blk, s->size);
+
+
+ if (blk_pread(s->blk, 0, s->storage, s->size) != s->size) {
+ error_setg(errp, "Failed to initialize SPI flash!");
+ return;
+ }
+ } else {
+ DB_PRINT_L(-1, "No BDRV - binding to RAM");
+ s->storage = blk_blockalign(NULL, s->size);
+ memset(s->storage, 0xFF, s->size);
+ }
+}
+
+static int mt25q_cs(SSISlave *ss, bool select)
+{
+ Flash *s = MT25Q(ss);
+
+ if (select) {
+ s->len = 0;
+ s->pos = 0;
+ s->state = STATE_IDLE;
+ flash_sync_dirty(s, -1);
+ }
+
+ DB_PRINT_L(2, "CS %s", select ? "HIGH" : "LOW");
+
+ return 0;
+}
+
+static int mt25q_pre_save(void *opaque)
+{
+ flash_sync_dirty((Flash *)opaque, -1);
+
+ return 0;
+}
+
+static const VMStateDescription vmstate_mt25q = {
+ .name = "mt25q",
+ .version_id = 1,
+ .minimum_version_id = 1,
+ .pre_save = mt25q_pre_save,
+ .fields = (VMStateField[]) {
+ VMSTATE_END_OF_LIST()
+ }
+};
+
+static Property mx251_properties[] = {
+ DEFINE_PROP_DRIVE("drive", Flash, blk),
+ DEFINE_PROP_END_OF_LIST(),
+};
+
+static void mt25q_class_init(ObjectClass *class, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(class);
+ SSISlaveClass *c = SSI_SLAVE_CLASS(class);
+
+ c->realize = mt25q_realize;
+ c->transfer = mt25q_transfer8;
+ c->set_cs = mt25q_cs;
+ c->cs_polarity = SSI_CS_LOW;
+ dc->vmsd = &vmstate_mt25q;
+ device_class_set_props(dc, mx251_properties);
+}
+
+static const TypeInfo mt25q_info = {
+ .name = TYPE_MT25Q,
+ .parent = TYPE_SSI_SLAVE,
+ .instance_size = sizeof(Flash),
+ .class_size = sizeof(MT25QClass),
+ .abstract = true,
+};
+
+static void mt25q_register_types(void)
+{
+ type_register_static(&mt25q_info);
+
+ TypeInfo ti = {
+ .name = "mt25q256",
+ .parent = TYPE_MT25Q,
+ .class_init = mt25q_class_init,
+ };
+ type_register(&ti);
+}
+
+type_init(mt25q_register_types)
diff --git a/hw/block/mx25u.c b/hw/block/mx25u.c
new file mode 100644
index 0000000000000..c2d0b985ec8b2
--- /dev/null
+++ b/hw/block/mx25u.c
@@ -0,0 +1,537 @@
+/*
+ * Emulate a QSPI flash device following the mx25u command set.
+ * Modelled after the m25p80 emulation found in hw/block/m25p80.c
+ */
+
+#include "qemu/osdep.h"
+#include "qapi/error.h"
+#include "qemu/log.h"
+#include "hw/hw.h"
+#include "migration/vmstate.h"
+#include "sysemu/block-backend.h"
+#include "sysemu/blockdev.h"
+#include "hw/qdev-properties.h"
+#include "hw/ssi/ssi.h"
+
+
+// TODO: These should be made configurable to support different flash parts
+#define FLASH_SECTOR_SIZE (64 << 10)
+#define FLASH_NUM_SECTORS (128)
+#define FLASH_PAGE_SIZE (256)
+const uint8_t MX25U_ID[] = { 0xc2, 0x25, 0x37 };
+
+#ifndef MX25U_ERR_DEBUG
+#define MX25U_ERR_DEBUG 0
+#endif
+
+// The usleep() helps MacOS stdout from freezing when printing a lot
+#define DB_PRINT_L(level, ...) do { \
+ if (MX25U_ERR_DEBUG > (level)) { \
+ fprintf(stderr, "%d: %s: ", level, __func__); \
+ fprintf(stderr, ## __VA_ARGS__); \
+ fprintf(stderr, "\n"); \
+ usleep(1000); \
+ } \
+} while (0);
+
+typedef enum {
+ WRITE_ENABLE = 0x06,
+ WRITE_DISABLE = 0x04,
+
+ READ_STATUS_REG = 0x05,
+ READ_SCUR_REG = 0x2b,
+
+ READ = 0x03,
+ FAST_READ = 0x0b,
+ QREAD = 0x6b,
+ READ_ID = 0x9f,
+ READ_QID = 0xaf,
+
+ PAGE_PROGRAM = 0x02,
+ QPAGE_PROGRAM = 0x38,
+
+ ERASE_SUBSECTOR = 0x20, // Erase 4k sector
+ ERASE_SECTOR = 0x52, // Erase 32k sector
+ ERASE_BLOCK = 0xd8, // Erase 64k block
+ ERASE_CHIP = 0xc7,
+
+ ERASE_SUSPEND = 0xB0,
+ ERASE_RESUME = 0x30,
+
+ DEEP_SLEEP = 0xb9,
+ WAKE = 0xab,
+
+ QUAD_ENABLE = 0x35,
+ QUAD_DISABLE = 0xf5,
+} FlashCmd;
+
+typedef enum {
+ STATE_IDLE,
+
+ STATE_COLLECT_CMD_DATA,
+
+ STATE_WRITE,
+ STATE_READ,
+ STATE_READ_ID,
+ STATE_READ_REGISTER,
+} CMDState;
+
+#define R_SR_WIP (1 << 0)
+#define R_SR_WEL (1 << 1)
+#define R_SR_BP0 (1 << 2)
+#define R_SR_BP1 (1 << 3)
+#define R_SR_BP2 (1 << 4)
+#define R_SR_BP3 (1 << 5)
+#define R_SR_QE (1 << 6)
+#define R_SR_SRWD (1 << 7)
+
+#define R_SCUR_SOTP (1 << 0)
+#define R_SCUR_LDSO (1 << 1)
+#define R_SCUR_PSB (1 << 2)
+#define R_SCUR_ESB (1 << 3)
+#define R_SCUR_PFAIL (1 << 5)
+#define R_SCUR_EFAIL (1 << 6)
+#define R_SCUR_WPSEL (1 << 7)
+
+typedef struct FLASH {
+ SSISlave parent_obj;
+
+ //--- Storage ---
+ BlockBackend *blk;
+ uint8_t *storage;
+ uint32_t size;
+ int page_size;
+
+ int64_t dirty_page;
+
+ //--- Registers ---
+ uint8_t SR;
+ uint8_t SCUR;
+
+ //--- Command state ---
+ CMDState state;
+ FlashCmd cmd_in_progress;
+ uint8_t cmd_data[4]; //! Commands can require up to 4 bytes of additional data
+ uint8_t cmd_bytes; //! Number of bytes required by command [0,4]
+ uint32_t len;
+ uint32_t pos;
+ uint64_t current_address;
+
+ uint8_t *current_register;
+ uint8_t register_read_mask; //! mask to apply after reading current_register
+} Flash;
+
+typedef struct M25P80Class {
+ SSISlaveClass parent_class;
+ //FlashPartInfo *pi;
+} MX25UClass;
+
+#define TYPE_MX25U "mx25u-generic"
+#define MX25U(obj) \
+ OBJECT_CHECK(Flash, (obj), TYPE_MX25U)
+#define MX25U_CLASS(klass) \
+ OBJECT_CLASS_CHECK(MX25UClass, (klass), TYPE_MX25U)
+#define MX25U_GET_CLASS(obj) \
+ OBJECT_GET_CLASS(MX25UClass, (obj), TYPE_MX25U)
+
+static void
+blk_sync_complete(void *opaque, int ret)
+{
+ /* do nothing. Masters do not directly interact with the backing store,
+ * only the working copy so no mutexing required.
+ */
+}
+
+static void
+mx25u_flash_sync_page(Flash *s, int page)
+{
+ int blk_sector, nb_sectors;
+ QEMUIOVector iov;
+
+ if (!s->blk || blk_is_read_only(s->blk)) {
+ return;
+ }
+
+ blk_sector = (page * s->page_size) / BDRV_SECTOR_SIZE;
+ nb_sectors = DIV_ROUND_UP(s->page_size, BDRV_SECTOR_SIZE);
+ qemu_iovec_init(&iov, 1);
+ qemu_iovec_add(&iov, s->storage + blk_sector * BDRV_SECTOR_SIZE,
+ nb_sectors * BDRV_SECTOR_SIZE);
+ blk_aio_pwritev(s->blk, (page * s->page_size), &iov, 0, blk_sync_complete,
+ NULL);
+}
+
+static inline void
+mx25u_flash_sync_area(Flash *s, int64_t off, int64_t len)
+{
+ int64_t start, end, nb_sectors;
+ QEMUIOVector iov;
+
+ if (!s->blk || blk_is_read_only(s->blk)) {
+ return;
+ }
+
+ assert(!(len % BDRV_SECTOR_SIZE));
+ start = off / BDRV_SECTOR_SIZE;
+ end = (off + len) / BDRV_SECTOR_SIZE;
+ nb_sectors = end - start;
+ qemu_iovec_init(&iov, 1);
+ qemu_iovec_add(&iov, s->storage + (start * BDRV_SECTOR_SIZE),
+ nb_sectors * BDRV_SECTOR_SIZE);
+ blk_aio_pwritev(s->blk, off, &iov, 0, blk_sync_complete, NULL);
+}
+
+static inline void
+flash_sync_dirty(Flash *s, int64_t newpage)
+{
+ if (s->dirty_page >= 0 && s->dirty_page != newpage) {
+ mx25u_flash_sync_page(s, s->dirty_page);
+ s->dirty_page = newpage;
+ }
+}
+
+static void
+mx25u_flash_erase(Flash *s, uint32_t offset, FlashCmd cmd)
+{
+ uint32_t len;
+
+ switch (cmd) {
+ case ERASE_SUBSECTOR: // Erase 4k sector
+ len = 4 << 10;
+ break;
+ case ERASE_SECTOR: // Erase 32k sector
+ len = 32 << 10;
+ break;
+ case ERASE_BLOCK: // Erase 64k block
+ len = 64 << 10;
+ break;
+ case ERASE_CHIP:
+ len = s->size;
+ break;
+ default:
+ abort();
+ }
+
+ DB_PRINT_L(0, "erase offset = %#x, len = %d", offset, len);
+
+ if (!(s->SR & R_SR_WEL)) {
+ qemu_log_mask(LOG_GUEST_ERROR, "MX25U: erase with write protect!\n");
+ return;
+ }
+
+ memset(s->storage + offset, 0xff, len);
+ mx25u_flash_sync_area(s, offset, len);
+}
+
+static void
+mx25u_decode_new_cmd(Flash *s, uint32_t value)
+{
+ s->cmd_in_progress = value;
+ DB_PRINT_L(0, "decoding new command: 0x%x", value);
+
+ switch (value) {
+ case WRITE_ENABLE:
+ s->SR |= R_SR_WEL;
+ s->state = STATE_IDLE;
+ break;
+ case WRITE_DISABLE:
+ s->SR &= ~R_SR_WEL;
+ s->state = STATE_IDLE;
+ break;
+
+ case READ_STATUS_REG:
+ s->current_register = &s->SR;
+ s->state = STATE_READ_REGISTER;
+ break;
+ case READ_SCUR_REG:
+ s->current_register = &s->SCUR;
+ s->state = STATE_READ_REGISTER;
+ break;
+
+ case READ:
+ case FAST_READ:
+ case QREAD:
+ s->cmd_bytes = 3;
+ s->pos = 0;
+ s->state = STATE_COLLECT_CMD_DATA;
+ break;
+
+ case READ_ID:
+ case READ_QID:
+ s->cmd_bytes = 0;
+ s->state = STATE_READ_ID;
+ s->len = 3;
+ s->pos = 0;
+ break;
+
+ case PAGE_PROGRAM:
+ case QPAGE_PROGRAM:
+ s->pos = 0;
+ s->cmd_bytes = 3;
+ s->state = STATE_COLLECT_CMD_DATA;
+ break;
+
+ case ERASE_SUBSECTOR:
+ case ERASE_SECTOR:
+ case ERASE_BLOCK:
+ s->pos = 0;
+ s->cmd_bytes = 3;
+ s->state = STATE_COLLECT_CMD_DATA;
+ break;
+
+ case ERASE_CHIP:
+ mx25u_flash_erase(s, 0, ERASE_CHIP);
+ s->SR |= R_SR_WIP;
+ s->register_read_mask = R_SR_WIP;
+ s->state = STATE_IDLE;
+ break;
+
+ case ERASE_SUSPEND:
+ case ERASE_RESUME:
+ break;
+
+ case DEEP_SLEEP:
+ case WAKE:
+ break;
+
+ case QUAD_ENABLE:
+ case QUAD_DISABLE:
+ break;
+
+ default:
+ qemu_log_mask(LOG_GUEST_ERROR, "MX25U: Unknown cmd 0x%x\n", value);
+ }
+}
+
+static void
+mx25u_handle_cmd_data(Flash *s)
+{
+ s->current_address = (s->cmd_data[2] << 16) | (s->cmd_data[1] << 8) | (s->cmd_data[0]);
+ s->state = STATE_IDLE;
+
+ switch (s->cmd_in_progress) {
+ case PAGE_PROGRAM:
+ case QPAGE_PROGRAM:
+ s->state = STATE_WRITE;
+ break;
+ case READ_STATUS_REG:
+ case READ_SCUR_REG:
+ assert(false);
+ break;
+ case READ:
+ case FAST_READ:
+ case QREAD:
+ DB_PRINT_L(1, "Read From: 0x%"PRIu64, s->current_address);
+ s->state = STATE_READ;
+ break;
+ case ERASE_SUBSECTOR:
+ case ERASE_SECTOR:
+ case ERASE_BLOCK:
+ mx25u_flash_erase(s, s->current_address, s->cmd_in_progress);
+ s->SR |= R_SR_WIP;
+ s->register_read_mask = R_SR_WIP;
+ break;
+
+ case ERASE_SUSPEND:
+ case ERASE_RESUME:
+ break;
+
+ case ERASE_CHIP:
+ default:
+ break;
+ }
+}
+
+static void
+mx25u_write8(Flash *s, uint8_t value)
+{
+ int64_t page = s->current_address / s->page_size;
+
+ // TODO: Write protection
+
+ uint8_t current = s->storage[s->current_address];
+ if (value & ~current) {
+ qemu_log_mask(LOG_GUEST_ERROR, "MX25U: Flipping bit from 0 => 1\n");
+ // if a bit in the flash is already a 0, leave it as a 0
+ value &= current;
+ }
+ DB_PRINT_L(1, "Write 0x%"PRIx8" = 0x%"PRIx64, (uint8_t)value, s->current_address);
+ s->storage[s->current_address] = (uint8_t)value;
+
+ flash_sync_dirty(s, page);
+ s->dirty_page = page;
+}
+
+static uint32_t
+mx25u_transfer8(SSISlave *ss, uint32_t tx)
+{
+ Flash *s = MX25U(ss);
+ uint32_t r = 0;
+
+ switch (s->state) {
+ case STATE_COLLECT_CMD_DATA:
+ DB_PRINT_L(2, "Collected: 0x%"PRIx32, (uint32_t)tx);
+ s->cmd_data[s->pos++] = (uint8_t)tx;
+ if (s->pos == s->cmd_bytes) {
+ mx25u_handle_cmd_data(s);
+ }
+ break;
+ case STATE_WRITE:
+ if (s->current_address > s->size) {
+ qemu_log_mask(LOG_GUEST_ERROR,
+ "MX25U: Out of bounds flash write to 0x%"PRIx64"\n", s->current_address);
+ } else {
+ mx25u_write8(s, tx);
+ s->current_address += 1;
+ }
+ break;
+ case STATE_READ:
+ if (s->current_address > s->size) {
+ qemu_log_mask(LOG_GUEST_ERROR,
+ "MX25U: Out of bounds flash read from 0x%"PRIx64"\n", s->current_address);
+ } else {
+ DB_PRINT_L(1, "Read 0x%"PRIx64" = 0x%"PRIx8, s->current_address, (uint8_t)r);
+ r = s->storage[s->current_address];
+ s->current_address = (s->current_address + 1) % s->size;
+ }
+ break;
+ case STATE_READ_ID:
+ r = MX25U_ID[s->pos];
+ DB_PRINT_L(2, "Read ID 0x%x (pos 0x%x)", (uint8_t)r, s->pos);
+ ++s->pos;
+ if (s->pos == s->len) {
+ s->pos = 0;
+ s->state = STATE_IDLE;
+ }
+ break;
+ case STATE_READ_REGISTER:
+ r = *s->current_register;
+ *s->current_register &= ~s->register_read_mask;
+ s->register_read_mask = 0;
+ s->state = STATE_IDLE;
+ DB_PRINT_L(1, "Read register");
+ break;
+ case STATE_IDLE:
+ mx25u_decode_new_cmd(s, tx);
+ break;
+ }
+
+ return r;
+}
+
+static void
+mx25u_realize(SSISlave *ss, Error **errp)
+{
+ DriveInfo *dinfo;
+ Flash *s = MX25U(ss);
+
+ s->state = STATE_IDLE;
+ s->size = FLASH_SECTOR_SIZE * FLASH_NUM_SECTORS;
+ s->page_size = FLASH_PAGE_SIZE;
+ s->dirty_page = -1;
+ s->SR = 0;
+
+ if (s->blk) {
+ DB_PRINT_L(0, "Binding to IF_MTD drive");
+ s->storage = blk_blockalign(s->blk, s->size);
+
+ if (blk_pread(s->blk, 0, s->storage, s->size) != s->size) {
+ error_setg(errp, "Failed to initialize SPI flash!");
+ return;
+ }
+ } else {
+ DB_PRINT_L(0, "No BDRV - binding to RAM");
+ s->storage = blk_blockalign(NULL, s->size);
+ memset(s->storage, 0xFF, s->size);
+ }
+}
+
+static int
+mx25u_cs(SSISlave *ss, bool select)
+{
+ Flash *s = MX25U(ss);
+
+ if (select) {
+ s->len = 0;
+ s->pos = 0;
+ s->state = STATE_IDLE;
+ flash_sync_dirty(s, -1);
+ }
+
+ DB_PRINT_L(0, "CS %s", select ? "HIGH" : "LOW");
+
+ return 0;
+}
+
+static int
+mx25u_pre_save(void *opaque)
+{
+ flash_sync_dirty((Flash *)opaque, -1);
+
+ return 0;
+}
+
+static const VMStateDescription vmstate_mx25u = {
+ .name = "mx25u",
+ .version_id = 1,
+ .minimum_version_id = 1,
+ .pre_save = mx25u_pre_save,
+ .fields = (VMStateField[]) {
+#if 0
+ VMSTATE_UINT8(SR, Flash),
+ VMSTATE_UINT8(SCUR, Flash),
+ VMSTATE_UINT8(state, Flash),
+ VMSTATE_UINT8_ARRAY(cmd_data, Flash, 4),
+ VMSTATE_UINT8(cmd_bytes, Flash),
+ VMSTATE_UINT32(len, Flash),
+ VMSTATE_UINT32(pos, Flash),
+ VMSTATE_UINT32(current_address, Flash),
+ VMSTATE_UINT8(cmd_in_progress, Flash),
+#endif
+ VMSTATE_END_OF_LIST()
+ }
+};
+
+static Property mx25u_properties[] = {
+ DEFINE_PROP_DRIVE("drive", Flash, blk),
+ DEFINE_PROP_END_OF_LIST(),
+};
+
+static void
+mx25u_class_init(ObjectClass *class, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(class);
+ SSISlaveClass *c = SSI_SLAVE_CLASS(class);
+
+ c->realize = mx25u_realize;
+ c->transfer = mx25u_transfer8;
+ c->set_cs = mx25u_cs;
+ c->cs_polarity = SSI_CS_LOW;
+ dc->vmsd = &vmstate_mx25u;
+ device_class_set_props(dc, mx25u_properties);
+ //mc->pi = data;
+}
+
+static const TypeInfo mx25u_info = {
+ .name = TYPE_MX25U,
+ .parent = TYPE_SSI_SLAVE,
+ .instance_size = sizeof(Flash),
+ .class_size = sizeof(MX25UClass),
+ .abstract = true,
+};
+
+static void
+mx25u_register_types(void)
+{
+ type_register_static(&mx25u_info);
+
+ TypeInfo ti = {
+ .name = "mx25u6435f",
+ .parent = TYPE_MX25U,
+ .class_init = mx25u_class_init,
+ //.class_data = (void *)
+ };
+ type_register(&ti);
+}
+
+type_init(mx25u_register_types)
diff --git a/hw/block/pflash_jedec_424.c b/hw/block/pflash_jedec_424.c
new file mode 100644
index 0000000000000..0375c0bd89fef
--- /dev/null
+++ b/hw/block/pflash_jedec_424.c
@@ -0,0 +1,983 @@
+/*
+ * CFI parallel flash with Jedec (42.4) command set emulation
+ *
+ * Copyright (c) 2006 Thorsten Zitterell
+ * Copyright (c) 2005 Jocelyn Mayer
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, see .
+ */
+
+/*
+ * For now, this code can emulate flashes of 1, 2 or 4 bytes width.
+ * Supported commands/modes are:
+ * - flash read
+ * - flash write
+ * - flash ID read
+ * - sector erase
+ * - CFI queries
+ *
+ * It does not support timings
+ * It does not support flash interleaving
+ * It does not implement software data protection as found in many real chips
+ * It does not implement erase suspend/resume commands
+ * It does not implement multiple sectors erase
+ *
+ * It does not implement much more ...
+ */
+
+#include "qemu/osdep.h"
+#include "hw/hw.h"
+#include "hw/block/flash.h"
+#include "block/block.h"
+#include "block/block_int.h"
+#include "sysemu/block-backend.h"
+#include "qemu/bitops.h"
+#include "exec/address-spaces.h"
+#include "qemu/host-utils.h"
+#include "hw/sysbus.h"
+#include "hw/qdev-properties.h"
+#include "qapi/error.h"
+#include "migration/vmstate.h"
+
+#define PFLASH_BUG(fmt, ...) \
+do { \
+ fprintf(stderr, "PFLASH: Possible BUG - " fmt, ## __VA_ARGS__); \
+ exit(1); \
+} while(0)
+
+//#define PFLASH_DEBUG
+#ifdef PFLASH_DEBUG
+// NOTE: The usleep() helps the MacOS stdout from freezing when we have a lot of print out
+#define DPRINTF(fmt, ...) \
+do { \
+ printf("PFLASH: " fmt , ## __VA_ARGS__); \
+ usleep(1000); \
+} while (0)
+#else
+#define DPRINTF(fmt, ...) do { } while (0)
+#endif
+
+#define PFLASH_MAX_BANKS 8
+
+struct PFlashJedec424 {
+ /*< private >*/
+ SysBusDevice parent_obj;
+ /*< public >*/
+
+ BlockBackend *blk;
+ uint32_t nb_blocs;
+ uint64_t sector_len;
+ uint8_t bank_width;
+ uint8_t device_width; /* If 0, device width not specified. */
+ uint8_t max_device_width; /* max device width in bytes */
+ uint32_t bank_size; /* size of each bank */
+ uint8_t be;
+ int ro;
+ uint8_t wcycle[PFLASH_MAX_BANKS]; // which write-cycle this bank is in
+ uint8_t cmd[PFLASH_MAX_BANKS]; // which command we're processing
+ uint8_t global_cmd; // some operations don't have separate bank states
+ uint8_t status;
+ uint16_t ident0;
+ uint16_t ident1;
+ uint16_t ident2;
+ uint16_t ident3;
+ uint8_t cfi_len;
+ uint8_t cfi_table[0x60];
+ uint64_t counter;
+ unsigned int writeblock_size;
+ MemoryRegion mem;
+ char *name;
+ void *storage;
+ uint16_t configuration_register;
+};
+
+static const VMStateDescription vmstate_pflash = {
+ .name = "pflash_jedec_424",
+ .version_id = 2,
+ .minimum_version_id = 2,
+ .fields = (VMStateField[]) {
+ VMSTATE_UINT8_ARRAY(wcycle, PFlashJedec424, PFLASH_MAX_BANKS),
+ VMSTATE_UINT8_ARRAY(cmd, PFlashJedec424, PFLASH_MAX_BANKS),
+ VMSTATE_UINT8(global_cmd, PFlashJedec424),
+ VMSTATE_UINT8(status, PFlashJedec424),
+ VMSTATE_UINT64(counter, PFlashJedec424),
+ VMSTATE_END_OF_LIST()
+ }
+};
+
+static void pflash_reset_state(PFlashJedec424* pfl)
+{
+ memset(pfl->wcycle, 0, sizeof(pfl->wcycle));
+ memset(pfl->cmd, 0, sizeof(pfl->cmd));
+ pfl->global_cmd = 0;
+}
+
+/* Perform a CFI query based on the bank width of the flash.
+ * If this code is called we know we have a device_width set for
+ * this flash.
+ */
+static uint32_t pflash_cfi_query(PFlashJedec424 *pfl, hwaddr offset)
+{
+ int i;
+ uint32_t resp = 0;
+ hwaddr boff;
+
+ /* Adjust incoming offset to match expected device-width
+ * addressing. CFI query addresses are always specified in terms of
+ * the maximum supported width of the device. This means that x8
+ * devices and x8/x16 devices in x8 mode behave differently. For
+ * devices that are not used at their max width, we will be
+ * provided with addresses that use higher address bits than
+ * expected (based on the max width), so we will shift them lower
+ * so that they will match the addresses used when
+ * device_width==max_device_width.
+ */
+ boff = offset >> (ctz32(pfl->bank_width) +
+ ctz32(pfl->max_device_width) - ctz32(pfl->device_width));
+
+ if (boff > pfl->cfi_len) {
+ return 0;
+ }
+ /* Now we will construct the CFI response generated by a single
+ * device, then replicate that for all devices that make up the
+ * bus. For wide parts used in x8 mode, CFI query responses
+ * are different than native byte-wide parts.
+ */
+ resp = pfl->cfi_table[boff];
+ if (pfl->device_width != pfl->max_device_width) {
+ /* The only case currently supported is x8 mode for a
+ * wider part.
+ */
+ if (pfl->device_width != 1 || pfl->bank_width > 4) {
+ DPRINTF("%s: Unsupported device configuration: "
+ "device_width=%d, max_device_width=%d\n",
+ __func__, pfl->device_width,
+ pfl->max_device_width);
+ return 0;
+ }
+ /* CFI query data is repeated, rather than zero padded for
+ * wide devices used in x8 mode.
+ */
+ for (i = 1; i < pfl->max_device_width; i++) {
+ resp = deposit32(resp, 8 * i, 8, pfl->cfi_table[boff]);
+ }
+ }
+ /* Replicate responses for each device in bank. */
+ if (pfl->device_width < pfl->bank_width) {
+ for (i = pfl->device_width;
+ i < pfl->bank_width; i += pfl->device_width) {
+ resp = deposit32(resp, 8 * i, 8 * pfl->device_width, resp);
+ }
+ }
+
+ return resp;
+}
+
+
+
+/* Perform a device id query based on the bank width of the flash. */
+static uint32_t pflash_devid_query(PFlashJedec424 *pfl, hwaddr offset)
+{
+ int i;
+ uint32_t resp;
+ hwaddr boff;
+
+ /* Adjust incoming offset to match expected device-width
+ * addressing. Device ID read addresses are always specified in
+ * terms of the maximum supported width of the device. This means
+ * that x8 devices and x8/x16 devices in x8 mode behave
+ * differently. For devices that are not used at their max width,
+ * we will be provided with addresses that use higher address bits
+ * than expected (based on the max width), so we will shift them
+ * lower so that they will match the addresses used when
+ * device_width==max_device_width.
+ */
+ boff = offset >> (ctz32(pfl->bank_width) +
+ ctz32(pfl->max_device_width) - ctz32(pfl->device_width));
+
+ /* Mask off upper bits which may be used in to query block
+ * or sector lock status at other addresses.
+ * Offsets 2/3 are block lock status, is not emulated.
+ */
+ switch (boff & 0xFF) {
+ case 0:
+ resp = pfl->ident0;
+ DPRINTF("%s: Manufacturer Code %04x\n", __func__, resp);
+ break;
+ case 1:
+ resp = pfl->ident1;
+ DPRINTF("%s: Device ID Code %04x\n", __func__, resp);
+ break;
+ default:
+ DPRINTF("%s: Read Device Information offset=%x\n", __func__,
+ (unsigned)offset);
+ return 0;
+ break;
+ }
+ /* Replicate responses for each device in bank. */
+ if (pfl->device_width < pfl->bank_width) {
+ for (i = pfl->device_width;
+ i < pfl->bank_width; i += pfl->device_width) {
+ resp = deposit32(resp, 8 * i, 8 * pfl->device_width, resp);
+ }
+ }
+
+ return resp;
+}
+
+static uint64_t pflash_read (void *opaque, hwaddr offset,
+ unsigned int width)
+{
+ hwaddr boff;
+ uint32_t ret;
+ uint8_t *p;
+
+ PFlashJedec424 *pfl = CFI_PFLASH_JEDEC(opaque);
+ ret = -1;
+
+ uint8_t bank = offset / pfl->bank_size;
+
+ //DPRINTF("%s: reading offset " TARGET_FMT_plx " under cmd %02x width %d\n",
+ // __func__, offset, pfl->cmd[bank], width);
+
+ switch (pfl->cmd[bank]) {
+ default:
+ /* This should never happen : reset state & treat it as a read */
+ fprintf(stderr, "%s: unknown command state: %x\n", __func__, pfl->cmd[bank]);
+ pfl->wcycle[bank] = 0;
+ pfl->cmd[bank] = 0;
+ pfl->global_cmd = 0;
+ /* fall through to read code */
+ case 0x00:
+ /* Flash area read */
+ p = pfl->storage;
+ switch (width) {
+ case 1:
+ ret = p[offset];
+ //DPRINTF("%s: data offset " TARGET_FMT_plx " %02x\n",
+ // __func__, offset, ret);
+ break;
+ case 2:
+// if (be) {
+// ret = p[offset] << 8;
+// ret |= p[offset + 1];
+// } else {
+ ret = p[offset];
+ ret |= p[offset + 1] << 8;
+// }
+ //DPRINTF("%s: data offset " TARGET_FMT_plx " %04x\n",
+ // __func__, offset, ret);
+ break;
+ case 4:
+// if (be) {
+ ret = p[offset] << 24;
+ ret |= p[offset + 1] << 16;
+ ret |= p[offset + 2] << 8;
+ ret |= p[offset + 3];
+// } else {
+// ret = p[offset];
+// ret |= p[offset + 1] << 8;
+// ret |= p[offset + 2] << 16;
+// ret |= p[offset + 3] << 24;
+// }
+ //DPRINTF("%s: data offset " TARGET_FMT_plx " %08x\n",
+ // __func__, offset, ret);
+ break;
+ default:
+ DPRINTF("BUG in %s\n", __func__);
+ }
+
+ break;
+ case 0x70: /* Status Register */
+ /* Status register read. Return status from each device in
+ * bank.
+ */
+ ret = pfl->status;
+ if (pfl->device_width && width > pfl->device_width) {
+ int shift = pfl->device_width * 8;
+ while (shift + pfl->device_width * 8 <= width * 8) {
+ ret |= pfl->status << shift;
+ shift += pfl->device_width * 8;
+ }
+ } else if (!pfl->device_width && width > 2) {
+ /* Handle 32 bit flash cases where device width is not
+ * set. (Existing behavior before device width added.)
+ */
+ ret |= pfl->status << 16;
+ }
+ DPRINTF("%s: status %x\n", __func__, ret);
+ pfl->cmd[bank] = 0;
+ break;
+ case 0x90:
+ if (!pfl->device_width) {
+ /* Preserve old behavior if device width not specified */
+ boff = offset & 0xFF;
+ if (pfl->bank_width == 2) {
+ boff = boff >> 1;
+ } else if (pfl->bank_width == 4) {
+ boff = boff >> 2;
+ }
+
+ switch (boff) {
+ case 0:
+ ret = pfl->ident0 << 8 | pfl->ident1;
+ DPRINTF("%s: Manufacturer Code %04x\n", __func__, ret);
+ break;
+ case 1:
+ ret = pfl->ident2 << 8 | pfl->ident3;
+ DPRINTF("%s: Device ID Code %04x\n", __func__, ret);
+ break;
+ default:
+ DPRINTF("%s: Read Device Information boff=%x\n", __func__,
+ (unsigned)boff);
+ ret = 0;
+ break;
+ }
+ } else {
+ /* If we have a read larger than the bank_width, combine multiple
+ * manufacturer/device ID queries into a single response.
+ */
+ int i;
+ for (i = 0; i < width; i += pfl->bank_width) {
+ ret = deposit32(ret, i * 8, pfl->bank_width * 8,
+ pflash_devid_query(pfl,
+ offset + i * pfl->bank_width));
+ }
+ }
+ break;
+ case 0x98: /* Query mode */
+ if (!pfl->device_width) {
+ /* Preserve old behavior if device width not specified */
+ boff = offset & 0xFF;
+ if (pfl->bank_width == 2) {
+ boff = boff >> 1;
+ } else if (pfl->bank_width == 4) {
+ boff = boff >> 2;
+ }
+
+ if (boff > pfl->cfi_len) {
+ ret = 0;
+ } else {
+ ret = pfl->cfi_table[boff];
+ }
+ } else {
+ /* If we have a read larger than the bank_width, combine multiple
+ * CFI queries into a single response.
+ */
+ int i;
+ for (i = 0; i < width; i += pfl->bank_width) {
+ ret = deposit32(ret, i * 8, pfl->bank_width * 8,
+ pflash_cfi_query(pfl,
+ offset + i * pfl->bank_width));
+ }
+ }
+
+ break;
+
+ case 0xd0: /* Configuration register */
+ ret = pfl->configuration_register; /* default configuration */
+ break;
+ }
+
+ //DPRINTF("%s: returning 0x%x\n", __func__, ret);
+ return ret;
+}
+
+/* update flash content on disk */
+static void pflash_update(PFlashJedec424 *pfl, int offset,
+ int size)
+{
+ int offset_end;
+ if (pfl->blk) {
+ offset_end = offset + size;
+ blk_pwrite(pfl->blk, offset, pfl->storage + offset,
+ offset_end - offset, 0);
+ }
+}
+
+static inline void pflash_data_write(PFlashJedec424 *pfl, hwaddr offset,
+ uint32_t value, int width, int be)
+{
+ uint8_t *p = pfl->storage;
+
+ DPRINTF("%s: block write offset " TARGET_FMT_plx
+ " value %x width %d counter %016" PRIx64 "\n",
+ __func__, offset, value, width, pfl->counter);
+
+ // NOTE: Flash can only flip 1's to 0's, so use a &= operation to update the
+ // flash contents. This is critical because some drivers assume they can write
+ // 0xFF to preserve the original value.
+ switch (width) {
+ case 1:
+ p[offset] &= value;
+ break;
+ case 2:
+ if (be) {
+ p[offset] &= value >> 8;
+ p[offset + 1] &= value;
+ } else {
+ p[offset] &= value;
+ p[offset + 1] &= value >> 8;
+ }
+ break;
+ case 4:
+ if (be) {
+ p[offset] &= value >> 24;
+ p[offset + 1] &= value >> 16;
+ p[offset + 2] &= value >> 8;
+ p[offset + 3] &= value;
+ } else {
+ p[offset] &= value;
+ p[offset + 1] &= value >> 8;
+ p[offset + 2] &= value >> 16;
+ p[offset + 3] &= value >> 24;
+ }
+ break;
+ }
+
+}
+
+static void pflash_write(void *opaque, hwaddr offset,
+ uint64_t value, unsigned int width)
+{
+ uint8_t cmd;
+ int i;
+ uint8_t *p;
+
+ PFlashJedec424 *pfl = CFI_PFLASH_JEDEC(opaque);
+ cmd = value;
+
+ uint8_t bank = pfl->global_cmd ? 0 : offset / pfl->bank_size;
+ uint32_t sector_offset = offset & (pfl->sector_len - 1);
+ sector_offset = sector_offset >> (pfl->bank_width - 1);
+
+ DPRINTF("%s: writing offset 0x%llx sector offset 0x%x value 0x%x width %d "
+ "pfl->wcycle %d pfl->cmd 0x%x\n", __func__, offset, sector_offset, value, width,
+ pfl->wcycle[bank], pfl->cmd[bank]);
+
+ if (!pfl->wcycle[bank]) {
+ /* Set the device in I/O access mode */
+ memory_region_rom_device_set_romd(&pfl->mem, false);
+ }
+
+ switch (pfl->wcycle[bank]) {
+ case 0:
+ /* read mode */
+ switch (cmd) {
+ case 0x00: /* ??? */
+ goto reset_bank;
+ case 0x25:
+ DPRINTF("%s: Program to buffer\n", __func__);
+ pfl->status |= 0x80; /* Ready! */
+ break;
+ // Not implemented: 0x29 Buffer to Flash
+ // Not implemented: 0x30 Erase Resume
+ case 0x33:
+ DPRINTF("%s: Blank check\n", __func__);
+ // Is it blank?
+ pfl->status |= 0x80; /* Ready! */
+ pfl->status &= ~0x20; /* clear non-erased bit */
+ uint8_t *p = pfl->storage;
+ offset &= ~(pfl->sector_len - 1);
+ p += offset;
+ for (i=0; isector_len; i++) {
+ if (p[i] != 0xFF) {
+ pfl->status |= 0x20; // Not erased
+ break;
+ }
+ }
+ goto reset_bank;
+ // Not implemented: 0x40 SSR Lock Entry
+ // Not implemented: 0x50 Program Resume
+ // Not implemented: 0x51 Program Suspend
+ case 0x60: /* Sector Lock/Unlock */
+ pfl->global_cmd = 0x60;
+ bank = 0;
+ DPRINTF("%s: Sector Lock/Unlock\n", __func__);
+ break;
+ case 0x70: /* Status Register */
+ DPRINTF("%s: Read status register\n", __func__);
+ pfl->cmd[bank] = cmd;
+ return;
+ case 0x71: /* Clear status bits */
+ DPRINTF("%s: Clear status bits\n", __func__);
+ pfl->status = 0x80; // set device ready bit
+ goto reset_bank;
+ case 0x80: /* Erase setup */
+ DPRINTF("%s: Erase setup\n", __func__);
+ break;
+ // Not implemented: 0x88 Secure Silicon Region Entry
+ case 0x90: /* Read Device ID */
+ DPRINTF("%s: Read Device information\n", __func__);
+ pfl->cmd[bank] = cmd;
+ return;
+ case 0x98: /* CFI query */
+ DPRINTF("%s: CFI query\n", __func__);
+ break;
+ // Not implemented: 0xB0 Erase Suspend
+ case 0xd0: /* Enter configuration register */
+ DPRINTF("%s: Configuration register enter\n", __func__);
+ break;
+ case 0xf0: /* Reset */
+ DPRINTF("%s: Reset\n", __func__);
+ pflash_reset_state(pfl);
+ goto reset_bank;
+ case 0xff: /* Read array mode */
+ DPRINTF("%s: Read array mode\n", __func__);
+ goto reset_bank;
+ default:
+ goto error_flash;
+ }
+ pfl->wcycle[bank]++;
+ pfl->cmd[bank] = cmd;
+ break;
+
+ case 1:
+ switch (pfl->cmd[bank]) {
+ case 0x25:
+ /* Mask writeblock size based on device width, or bank width if
+ * device width not specified.
+ */
+ pfl->counter = value + 1;
+ DPRINTF("%s: Program to buffer of %lld words\n", __func__, pfl->counter);
+ pfl->wcycle[bank]++;
+ break;
+ case 0x60: /* Sector Lock... Expecting 0x288 = 60 */
+ if (cmd == 0x60) {
+ pfl->cmd[bank] = 0x60;
+ pfl->wcycle[bank]++;
+ } else {
+ goto reset_bank;
+ }
+ break;
+ case 0x80:
+ if (sector_offset == 0x2aa && cmd == 0x30) {
+ // sector erase
+ offset &= ~(pfl->sector_len - 1);
+ DPRINTF("%s: sector erase at " TARGET_FMT_plx " bytes %x\n",
+ __func__, offset, (unsigned)pfl->sector_len);
+
+ if (!pfl->ro) {
+ p = pfl->storage;
+ memset(p + offset, 0xff, pfl->sector_len);
+ pflash_update(pfl, offset, pfl->sector_len);
+ pfl->status &= ~0x20; /* clear non-erased bit */
+ } else {
+ pfl->status |= 0x20; /* Block erase error */
+ }
+ pfl->status |= 0x80; /* Ready! */
+ } else if (sector_offset == 0x2aa && cmd == 0x10) {
+ DPRINTF("%s: chip erase", __func__);
+ if (!pfl->ro) {
+ memset(pfl->storage, 0xff, pfl->sector_len * pfl->nb_blocs);
+ pflash_update(pfl, 0, pfl->sector_len * pfl->nb_blocs);
+ pfl->status &= ~0x20; /* clear non-erased bit */
+ } else {
+ pfl->status |= 0x20; /* Block erase error */
+ }
+ pfl->status |= 0x80; /* Ready! */
+ } else {
+ DPRINTF("%s: Unexpected command byte: 0x%x\n", __func__, cmd);
+ }
+ goto reset_bank;
+ break;
+ case 0x98:
+ if (cmd == 0xf0) {
+ DPRINTF("%s: leaving query mode\n", __func__);
+ goto reset_bank;
+ } else {
+ DPRINTF("%s: Unexpected command byte: 0x%x\n", __func__, cmd);
+ goto reset_bank;
+ }
+ case 0xd0:
+ if (cmd == 0xf0) {
+ DPRINTF("%s: leaving configuration register mode\n", __func__);
+ pfl->status |= 0x80;
+ goto reset_bank;
+ } else if (cmd == 0x25) {
+ /* program to buffer */
+ DPRINTF("%s: 2nd byte of program to config register buffer\n", __func__);
+ pfl->wcycle[bank]++;
+ } else if (cmd == 0x29) {
+ DPRINTF("%s: program config register buffer to flash \n", __func__);
+ pfl->wcycle[bank] = 1;
+ } else {
+ DPRINTF("%s: Unexpected command byte: 0x%x\n", __func__, cmd);
+ goto reset_bank;
+ }
+ break;
+ default:
+ goto error_flash;
+ }
+ break;
+
+ case 2:
+ switch (pfl->cmd[bank]) {
+ case 0x25: /* Program to buffer */
+ if (!pfl->ro) {
+ DPRINTF("%s: Programming %d bytes at " TARGET_FMT_plx " to 0x%x\n", __func__,
+ width, offset, value);
+ pflash_data_write(pfl, offset, value, width, 0);
+ } else {
+ pfl->status |= 0x10; /* Programming error */
+ }
+ pfl->status |= 0x80;
+
+ pfl->counter--;
+ if (!pfl->counter) {
+ hwaddr mask = pfl->writeblock_size - 1;
+ mask = ~mask;
+
+ DPRINTF("%s: Programming finished\n", __func__);
+ pfl->wcycle[bank]++;
+ if (!pfl->ro) {
+ /* Flush the entire write buffer onto backing storage. */
+ pflash_update(pfl, offset & mask, pfl->writeblock_size);
+ } else {
+ pfl->status |= 0x10; /* Programming error */
+ }
+ }
+
+ break;
+ case 0xd0:
+ if (sector_offset == 0x2aa && cmd == 0) {
+ DPRINTF("%s: 3rd byte of program to config register buffer\n", __func__);
+ pfl->wcycle[bank]++;
+ } else {
+ DPRINTF("%s: Unexpected command byte: 0x%x\n", __func__, cmd);
+ goto reset_bank;
+ }
+ break;
+ case 0x60: /* Sector Lock... expecting SLA = 0x60 (lock/unlock) or SLA = 0x61 (range) */
+ // we don't implement locking but we should at least accept the command
+ if (cmd == 0x60) {
+ DPRINTF("%s: 3rd byte of Sector Lock\n", __func__);
+ goto reset_bank; // command is finished
+ } else if (cmd == 0x61) { // 0X61 multi sector lock
+ pfl->wcycle[bank]++;
+ pfl->cmd[bank] = 0x61;
+ } else {
+ goto error_flash;
+ }
+ break;
+ default:
+ goto error_flash;
+ }
+ break;
+
+ case 3: /* Confirm mode */
+ switch (pfl->cmd[bank]) {
+ case 0x25: /* Block write */
+ if (cmd == 0x29 && sector_offset == 0x555) {
+ pfl->wcycle[bank] = 0;
+ pfl->status |= 0x80;
+ } else {
+ PFLASH_BUG("%s: unknown command for Programming\n", __func__);
+ goto reset_bank;
+ }
+ break;
+ case 0x61: /* Sector Lock... expecting SLA = 0x61 */
+ // we don't implement locking but we should at least accept the command
+ if (cmd == 0x61) {
+ DPRINTF("%s: 4th byte of Sector Lock\n", __func__);
+ goto reset_bank; // command is finished
+ }
+ goto error_flash;
+ break;
+ case 0xd0:
+ if (sector_offset == 0) {
+ pfl->configuration_register = value;
+ DPRINTF("%s: setting new config regsistr: 0x%x\n", __func__, value);
+ pfl->wcycle[bank] = 1;
+ } else {
+ DPRINTF("%s: Unexpected command byte: 0x%x\n", __func__, cmd);
+ goto reset_bank;
+ }
+ break;
+ default:
+ goto error_flash;
+ }
+ break;
+ default:
+ /* Should never happen */
+ DPRINTF("%s: invalid write state\n", __func__);
+ goto reset_bank;
+ }
+ return;
+
+ error_flash:
+ fprintf(stderr, "PFLASH %s: Unimplemented flash cmd sequence "
+ "(offset 0x%llx sector offset 0x%x, bank %u pfl->wcycle %d pfl->cmd 0x%x value 0x%x)"
+ "\n", __func__, offset, sector_offset, bank, pfl->wcycle[bank], pfl->cmd[bank], value);
+
+ reset_bank:
+ memory_region_rom_device_set_romd(&pfl->mem, true);
+
+ pfl->wcycle[bank] = 0;
+ pfl->cmd[bank] = 0;
+ pfl->global_cmd = 0;
+}
+
+
+static const MemoryRegionOps pflash_jedec_ops = {
+ .read = pflash_read,
+ .write = pflash_write,
+ .valid.min_access_size = 1,
+ .valid.max_access_size = 4,
+ .endianness = DEVICE_NATIVE_ENDIAN,
+};
+
+static void pflash_jedec_realize(DeviceState *dev, Error **errp)
+{
+ PFlashJedec424 *pfl = CFI_PFLASH_JEDEC(dev);
+ uint64_t total_len;
+ int ret;
+ uint64_t blocks_per_device, device_len;
+ int num_devices;
+
+ total_len = pfl->sector_len * pfl->nb_blocs;
+
+ /* These are only used to expose the parameters of each device
+ * in the cfi_table[].
+ */
+ num_devices = pfl->device_width ? (pfl->bank_width / pfl->device_width) : 1;
+ blocks_per_device = pfl->nb_blocs / num_devices;
+ device_len = pfl->sector_len * blocks_per_device;
+
+ memory_region_init_rom_device(
+ &pfl->mem, OBJECT(dev),
+ &pflash_jedec_ops, pfl,
+ pfl->name, total_len, errp);
+ vmstate_register_ram(&pfl->mem, DEVICE(pfl));
+ pfl->storage = memory_region_get_ram_ptr(&pfl->mem);
+ sysbus_init_mmio(SYS_BUS_DEVICE(dev), &pfl->mem);
+
+ if (pfl->blk) {
+ /* read the initial flash content */
+ ret = blk_pread(pfl->blk, 0, pfl->storage, total_len);
+
+ if (ret < 0) {
+ vmstate_unregister_ram(&pfl->mem, DEVICE(pfl));
+ error_setg(errp, "failed to read the initial flash content");
+ return;
+ }
+ }
+
+ if (pfl->blk) {
+ pfl->ro = blk_is_read_only(pfl->blk);
+ } else {
+ pfl->ro = 0;
+ }
+
+ /* Default to devices being used at their maximum device width. This was
+ * assumed before the device_width support was added.
+ */
+ if (!pfl->max_device_width) {
+ pfl->max_device_width = pfl->device_width;
+ }
+
+ pfl->configuration_register = 0xdf48;
+
+ pflash_reset_state(pfl);
+ pfl->status = 0;
+ /* Hardcoded CFI table */
+ pfl->cfi_len = 0x52;
+ /* Standard "QRY" string */
+ pfl->cfi_table[0x10] = 'Q';
+ pfl->cfi_table[0x11] = 'R';
+ pfl->cfi_table[0x12] = 'Y';
+ /* Command set (JEDEC 42.4) */
+ pfl->cfi_table[0x13] = 0x02;
+ pfl->cfi_table[0x14] = 0x00;
+ /* Primary extended table address (none) */
+ pfl->cfi_table[0x15] = 0x40;
+ pfl->cfi_table[0x16] = 0x00;
+ /* Alternate command set (none) */
+ pfl->cfi_table[0x17] = 0x00;
+ pfl->cfi_table[0x18] = 0x00;
+ /* Alternate extended table (none) */
+ pfl->cfi_table[0x19] = 0x00;
+ pfl->cfi_table[0x1A] = 0x00;
+ /* Vcc min */
+ pfl->cfi_table[0x1B] = 0x17;
+ /* Vcc max */
+ pfl->cfi_table[0x1C] = 0x19;
+ /* Vpp min (no Vpp pin) */
+ pfl->cfi_table[0x1D] = 0x00;
+ /* Vpp max (no Vpp pin) */
+ pfl->cfi_table[0x1E] = 0x00;
+ /* Reserved */
+ pfl->cfi_table[0x1F] = 0x04;
+ /* Timeout for min size buffer write */
+ pfl->cfi_table[0x20] = 0x09;
+ /* Typical timeout for block erase */
+ pfl->cfi_table[0x21] = 0x0a;
+ /* Typical timeout for full chip erase (4096 ms) */
+ pfl->cfi_table[0x22] = 0x11;
+ /* Reserved */
+ pfl->cfi_table[0x23] = 0x04;
+ /* Max timeout for buffer write */
+ pfl->cfi_table[0x24] = 0x02;
+ /* Max timeout for block erase */
+ pfl->cfi_table[0x25] = 0x03;
+ /* Max timeout for chip erase */
+ pfl->cfi_table[0x26] = 0x00;
+ /* Device size */
+ pfl->cfi_table[0x27] = ctz32(device_len); /* + 1; */
+ /* Flash device interface (8 & 16 bits) */
+ pfl->cfi_table[0x28] = 0x01;
+ pfl->cfi_table[0x29] = 0x00;
+ /* Max number of bytes in multi-bytes write */
+ if (pfl->bank_width == 1) {
+ pfl->cfi_table[0x2A] = 0x06;
+ } else {
+ pfl->cfi_table[0x2A] = 0x06;
+ }
+ pfl->writeblock_size = 1 << pfl->cfi_table[0x2A];
+
+ pfl->cfi_table[0x2B] = 0x00;
+ /* Number of erase block regions (uniform) */
+ pfl->cfi_table[0x2C] = 0x02;
+ /* Erase block region 1 */
+ pfl->cfi_table[0x2D] = 3;
+ pfl->cfi_table[0x2E] = 0;
+ pfl->cfi_table[0x2F] = pfl->sector_len >> 8;
+ pfl->cfi_table[0x30] = pfl->sector_len >> 16;
+ /* Erase block region 2 */
+ pfl->cfi_table[0x31] = 0x7e;
+ pfl->cfi_table[0x32] = 0;
+ pfl->cfi_table[0x33] = 0;
+ pfl->cfi_table[0x34] = 0x02;
+
+
+ /* Extended */
+ pfl->cfi_table[0x40] = 'P';
+ pfl->cfi_table[0x41] = 'R';
+ pfl->cfi_table[0x42] = 'I';
+
+ pfl->cfi_table[0x43] = '1';
+ pfl->cfi_table[0x44] = '3';
+
+ pfl->cfi_table[0x45] = 0x00;
+ pfl->cfi_table[0x46] = 0x02;
+ pfl->cfi_table[0x47] = 0x01;
+ pfl->cfi_table[0x48] = 0x00;
+
+ pfl->cfi_table[0x49] = 0x08;
+ pfl->cfi_table[0x4a] = 0x00;
+ pfl->cfi_table[0x4b] = 0x01;
+ pfl->cfi_table[0x4c] = 0x00;
+ pfl->cfi_table[0x4d] = 0x85;
+ pfl->cfi_table[0x4e] = 0x95;
+ pfl->cfi_table[0x4f] = 0x02;
+ pfl->cfi_table[0x50] = 0x01;
+
+}
+
+static Property pflash_jedec_properties[] = {
+ DEFINE_PROP_DRIVE("drive", PFlashJedec424, blk),
+ /* num-blocks is the number of blocks actually visible to the guest,
+ * ie the total size of the device divided by the sector length.
+ * If we're emulating flash devices wired in parallel the actual
+ * number of blocks per indvidual device will differ.
+ */
+ DEFINE_PROP_UINT32("num-blocks", PFlashJedec424, nb_blocs, 0),
+ DEFINE_PROP_UINT64("sector-length", PFlashJedec424, sector_len, 0),
+ /* width here is the overall width of this QEMU device in bytes.
+ * The QEMU device may be emulating a number of flash devices
+ * wired up in parallel; the width of each individual flash
+ * device should be specified via device-width. If the individual
+ * devices have a maximum width which is greater than the width
+ * they are being used for, this maximum width should be set via
+ * max-device-width (which otherwise defaults to device-width).
+ * So for instance a 32-bit wide QEMU flash device made from four
+ * 16-bit flash devices used in 8-bit wide mode would be configured
+ * with width = 4, device-width = 1, max-device-width = 2.
+ *
+ * If device-width is not specified we default to backwards
+ * compatible behaviour which is a bad emulation of two
+ * 16 bit devices making up a 32 bit wide QEMU device. This
+ * is deprecated for new uses of this device.
+ */
+ DEFINE_PROP_UINT8("width", PFlashJedec424, bank_width, 0),
+ DEFINE_PROP_UINT8("device-width", PFlashJedec424, device_width, 0),
+ DEFINE_PROP_UINT8("max-device-width", PFlashJedec424, max_device_width, 0),
+ DEFINE_PROP_UINT32("bank-size", PFlashJedec424, bank_size, 0),
+ DEFINE_PROP_UINT8("big-endian", PFlashJedec424, be, 0),
+ DEFINE_PROP_UINT16("id0", PFlashJedec424, ident0, 0),
+ DEFINE_PROP_UINT16("id1", PFlashJedec424, ident1, 0),
+ DEFINE_PROP_UINT16("id2", PFlashJedec424, ident2, 0),
+ DEFINE_PROP_UINT16("id3", PFlashJedec424, ident3, 0),
+ DEFINE_PROP_STRING("name", PFlashJedec424, name),
+ DEFINE_PROP_END_OF_LIST(),
+};
+
+static void pflash_jedec_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+
+ dc->realize = pflash_jedec_realize;;
+ dc->vmsd = &vmstate_pflash;
+ set_bit(DEVICE_CATEGORY_STORAGE, dc->categories);
+ device_class_set_props(dc, pflash_jedec_properties);
+}
+
+
+static const TypeInfo pflash_jedec_info = {
+ .name = TYPE_CFI_PFLASH_JEDEC_424,
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(PFlashJedec424),
+ .class_init = pflash_jedec_class_init,
+};
+
+static void pflash_jedec_register_types(void)
+{
+ type_register_static(&pflash_jedec_info);
+}
+
+type_init(pflash_jedec_register_types)
+
+PFlashJedec424 *pflash_jedec_424_register(hwaddr base,
+ DeviceState *qdev, const char *name,
+ hwaddr size,
+ BlockBackend *blk,
+ uint32_t sector_len, int nb_blocs, uint32_t bank_size,
+ int bank_width, uint16_t id0, uint16_t id1,
+ uint16_t id2, uint16_t id3, int be)
+{
+ DeviceState *dev = qdev_create(NULL, TYPE_CFI_PFLASH_JEDEC_424);
+
+ if (blk) {
+ qdev_prop_set_drive(dev, "drive", blk, &error_fatal);
+ }
+ qdev_prop_set_uint32(dev, "num-blocks", nb_blocs);
+ qdev_prop_set_uint64(dev, "sector-length", sector_len);
+ qdev_prop_set_uint8(dev, "width", bank_width);
+ qdev_prop_set_uint32(dev, "bank-size", bank_size);
+ qdev_prop_set_uint8(dev, "big-endian", !!be);
+ qdev_prop_set_uint16(dev, "id0", id0);
+ qdev_prop_set_uint16(dev, "id1", id1);
+ qdev_prop_set_uint16(dev, "id2", id2);
+ qdev_prop_set_uint16(dev, "id3", id3);
+ qdev_prop_set_string(dev, "name", name);
+ qdev_init_nofail(dev);
+
+ sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, base);
+ return CFI_PFLASH_JEDEC(dev);
+}
+
+static MemoryRegion *pflash_jedec_424_get_memory(PFlashJedec424 *fl)
+{
+ return &fl->mem;
+}
diff --git a/hw/char/Makefile.objs b/hw/char/Makefile.objs
index 9e9a6c1affb6b..ce66bfb6457a2 100644
--- a/hw/char/Makefile.objs
+++ b/hw/char/Makefile.objs
@@ -34,3 +34,5 @@ common-obj-$(CONFIG_SCLPCONSOLE) += sclpconsole.o sclpconsole-lm.o
obj-$(CONFIG_VIRTIO) += virtio-serial-bus.o
obj-$(CONFIG_PSERIES) += spapr_vty.o
obj-$(CONFIG_TERMINAL3270) += terminal3270.o
+obj-y += stm32_uart.o
+obj-y += stm32f7xx_uart.o
diff --git a/hw/char/stm32_uart.c b/hw/char/stm32_uart.c
new file mode 100644
index 0000000000000..afdca4f3137e0
--- /dev/null
+++ b/hw/char/stm32_uart.c
@@ -0,0 +1,852 @@
+/*
+ * STM32 Microcontroller UART module
+ *
+ * Copyright (C) 2010 Andre Beckus
+ *
+ * Source code based on pl011.c
+ * Implementation based on ST Microelectronics "RM0008 Reference Manual Rev 10"
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, see .
+ */
+
+#include "qemu/osdep.h"
+#include "hw/sysbus.h"
+#include "hw/arm/stm32.h"
+#include "qemu/bitops.h"
+#include "hw/qdev-properties.h"
+#include "hw/arm/stm32f1xx.h"
+#include "hw/irq.h"
+#include "hw/hw.h"
+
+
+
+/* DEFINITIONS*/
+
+/* See the README file for details on these settings. */
+#define DEBUG_STM32_UART
+//#define STM32_UART_NO_BAUD_DELAY
+//#define STM32_UART_ENABLE_OVERRUN
+
+#ifdef DEBUG_STM32_UART
+#define DPRINTF(fmt, ...) \
+ do { printf("STM32_UART: " fmt , ## __VA_ARGS__); } while (0)
+#else
+#define DPRINTF(fmt, ...)
+#endif
+
+#define USART_SR_OFFSET 0x00
+#define USART_SR_TXE_BIT 7
+#define USART_SR_TC_BIT 6
+#define USART_SR_RXNE_BIT 5
+#define USART_SR_ORE_BIT 3
+
+#define USART_DR_OFFSET 0x04
+
+#define USART_BRR_OFFSET 0x08
+
+#define USART_CR1_OFFSET 0x0c
+#define USART_CR1_UE_BIT 13
+#define USART_CR1_M_BIT 12
+#define USART_CR1_PCE_BIT 10
+#define USART_CR1_PS_BIT 9
+#define USART_CR1_TXEIE_BIT 7
+#define USART_CR1_TCIE_BIT 6
+#define USART_CR1_RXNEIE_BIT 5
+#define USART_CR1_TE_BIT 3
+#define USART_CR1_RE_BIT 2
+
+#define USART_CR2_OFFSET 0x10
+#define USART_CR2_STOP_START 12
+#define USART_CR2_STOP_MASK 0x00003000
+
+#define USART_CR3_OFFSET 0x14
+#define USART_CR3_CTSE_BIT 9
+#define USART_CR3_RTSE_BIT 8
+
+#define USART_GTPR_OFFSET 0x18
+
+#define USART_RCV_BUF_LEN 256
+
+struct Stm32Uart {
+ /* Inherited */
+ SysBusDevice busdev;
+
+ /* Properties */
+ stm32_periph_t periph;
+ void *stm32_rcc_prop;
+ void *stm32_gpio_prop;
+ void *stm32_afio_prop;
+
+ /* Checks the USART transmit pin's GPIO settings. If the GPIO is not configured
+ * properly, a hardware error is triggered.
+ */
+ union {
+ void *check_tx_pin_prop;
+ void (*check_tx_pin_callback)(Stm32Uart *);
+ };
+
+ /* Private */
+ MemoryRegion iomem;
+
+ Stm32Rcc *stm32_rcc;
+ Stm32Gpio **stm32_gpio;
+ Stm32Afio *stm32_afio;
+
+ int uart_index;
+
+ uint32_t bits_per_sec;
+ int64_t ns_per_char;
+
+ /* Register Values */
+ uint32_t
+ USART_RDR,
+ USART_TDR,
+ USART_BRR,
+ USART_CR1,
+ USART_CR2,
+ USART_CR3;
+
+ /* Register Field Values */
+ uint32_t
+ USART_SR_TXE,
+ USART_SR_TC,
+ USART_SR_RXNE,
+ USART_SR_ORE,
+ USART_CR1_UE,
+ USART_CR1_TXEIE,
+ USART_CR1_TCIE,
+ USART_CR1_RXNEIE,
+ USART_CR1_TE,
+ USART_CR1_RE;
+
+ bool sr_read_since_ore_set;
+
+ /* Indicates whether the USART is currently receiving a byte. */
+ bool receiving;
+
+ /* Timers used to simulate a delay corresponding to the baud rate. */
+ struct QEMUTimer *rx_timer;
+ struct QEMUTimer *tx_timer;
+
+ void *chr_write_obj;
+ int (*chr_write)(void *chr_write_obj, const uint8_t *buf, int len);
+
+ /* Stores the USART pin mapping used by the board. This is used to check
+ * the AFIO's USARTx_REMAP register to make sure the software has set
+ * the correct mapping.
+ */
+ uint32_t afio_board_map;
+
+ qemu_irq irq;
+ int curr_irq_level;
+
+ /* We buffer the characters we receive from our qemu_chr receive handler in here
+ * to increase our overall throughput. This allows us to tell the target that
+ * another character is ready immediately after it does a read.
+ */
+ uint8_t rcv_char_buf[USART_RCV_BUF_LEN];
+ uint32_t rcv_char_bytes; /* number of bytes avaialable in rcv_char_buf */
+};
+
+
+
+/* STM32F1XX Specific stuff */
+
+/* Checks the USART transmit pin's GPIO settings. If the GPIO is not configured
+ * properly, a hardware error is triggered.
+ */
+void stm32_afio_uart_check_tx_pin_callback(Stm32Uart *s)
+{
+ int tx_periph, tx_pin;
+ int config;
+
+ switch(s->periph) {
+ case STM32F1XX_UART1:
+ switch(stm32_afio_get_periph_map(s->stm32_afio, s->periph)) {
+ case STM32_USART1_NO_REMAP:
+ tx_periph = STM32F1XX_GPIOA;
+ tx_pin = 9;
+ break;
+ case STM32_USART1_REMAP:
+ tx_periph = STM32F1XX_GPIOB;
+ tx_pin = 6;
+ break;
+ default:
+ assert(false);
+ break;
+ }
+ break;
+ case STM32F1XX_UART2:
+ switch(stm32_afio_get_periph_map(s->stm32_afio, s->periph)) {
+ case STM32_USART2_NO_REMAP:
+ tx_periph = STM32F1XX_GPIOA;
+ tx_pin = 2;
+ break;
+ case STM32_USART2_REMAP:
+ tx_periph = STM32F1XX_GPIOD;
+ tx_pin = 5;
+ break;
+ default:
+ assert(false);
+ break;
+ }
+ break;
+ case STM32F1XX_UART3:
+ switch(stm32_afio_get_periph_map(s->stm32_afio, s->periph)) {
+ case STM32_USART3_NO_REMAP:
+ tx_periph = STM32F1XX_GPIOB;
+ tx_pin = 10;
+ break;
+ case STM32_USART3_PARTIAL_REMAP:
+ tx_periph = STM32F1XX_GPIOC;
+ tx_pin = 10;
+ break;
+ case STM32_USART3_FULL_REMAP:
+ tx_periph = STM32F1XX_GPIOD;
+ tx_pin = 8;
+ break;
+ default:
+ assert(false);
+ break;
+ }
+ break;
+ default:
+ assert(false);
+ break;
+ }
+
+ Stm32Gpio *gpio_dev = s->stm32_gpio[tx_periph - STM32F1XX_GPIOA];
+
+ if(stm32_gpio_get_mode_bits(gpio_dev, tx_pin) == STM32_GPIO_MODE_IN) {
+ hw_error("UART TX pin needs to be configured as output");
+ }
+
+ config = stm32_gpio_get_config_bits(gpio_dev, tx_pin);
+ if((config != STM32_GPIO_OUT_ALT_PUSHPULL) &&
+ (config != STM32_GPIO_OUT_ALT_OPEN)) {
+ hw_error("UART TX pin needs to be configured as "
+ "alternate function output");
+ }
+}
+
+
+/* HELPER FUNCTIONS */
+
+/* Update the baud rate based on the USART's peripheral clock frequency. */
+static void stm32_uart_baud_update(Stm32Uart *s)
+{
+ uint32_t clk_freq = stm32_rcc_get_periph_freq(s->stm32_rcc, s->periph);
+ uint64_t ns_per_bit;
+
+ if((s->USART_BRR == 0) || (clk_freq == 0)) {
+ s->bits_per_sec = 0;
+ } else {
+ s->bits_per_sec = clk_freq / s->USART_BRR;
+ ns_per_bit = 1000000000LL / s->bits_per_sec;
+
+ /* We assume 10 bits per character. This may not be exactly
+ * accurate depending on settings, but it should be good enough. */
+ s->ns_per_char = ns_per_bit * 10;
+ }
+
+#ifdef DEBUG_STM32_UART
+ const char *periph_name = s->busdev.parent_obj.id;
+ DPRINTF("%s clock is set to %lu Hz.\n",
+ periph_name,
+ (unsigned long)clk_freq);
+ DPRINTF("%s BRR set to %lu.\n",
+ periph_name,
+ (unsigned long)s->USART_BRR);
+ DPRINTF("%s Baud is set to %lu bits per sec.\n",
+ periph_name,
+ (unsigned long)s->bits_per_sec);
+#endif
+}
+
+/* Handle a change in the peripheral clock. */
+static void stm32_uart_clk_irq_handler(void *opaque, int n, int level)
+{
+ Stm32Uart *s = (Stm32Uart *)opaque;
+
+ assert(n == 0);
+
+ /* Only update the BAUD rate if the IRQ is being set. */
+ if(level) {
+ stm32_uart_baud_update(s);
+ }
+}
+
+/* Routine which updates the USART's IRQ. This should be called whenever
+ * an interrupt-related flag is updated.
+ */
+static void stm32_uart_update_irq(Stm32Uart *s) {
+ /* Note that we are not checking the ORE flag, but we should be. */
+ int new_irq_level =
+ (s->USART_CR1_TCIE & s->USART_SR_TC) |
+ (s->USART_CR1_TXEIE & s->USART_SR_TXE) |
+ (s->USART_CR1_RXNEIE &
+ (s->USART_SR_ORE | s->USART_SR_RXNE));
+
+ /* Only trigger an interrupt if the IRQ level changes. We probably could
+ * set the level regardless, but we will just check for good measure.
+ */
+ if(new_irq_level ^ s->curr_irq_level) {
+ qemu_set_irq(s->irq, new_irq_level);
+ s->curr_irq_level = new_irq_level;
+ }
+}
+
+
+static void stm32_uart_start_tx(Stm32Uart *s, uint32_t value);
+
+/* Routine to be called when a transmit is complete. */
+static void stm32_uart_tx_complete(Stm32Uart *s)
+{
+ if(s->USART_SR_TXE == 1) {
+ /* If the buffer is empty, there is nothing waiting to be transmitted.
+ * Mark the transmit complete. */
+ s->USART_SR_TC = 1;
+ stm32_uart_update_irq(s);
+ } else {
+ /* Otherwise, mark the transmit buffer as empty and
+ * start transmitting the value stored there.
+ */
+ s->USART_SR_TXE = 1;
+ stm32_uart_update_irq(s);
+ stm32_uart_start_tx(s, s->USART_TDR);
+ }
+}
+
+/* Start transmitting a character. */
+static void stm32_uart_start_tx(Stm32Uart *s, uint32_t value)
+{
+ uint8_t ch = value; //This will truncate the ninth bit
+
+ /* Reset the Transmission Complete flag to indicate a transmit is in
+ * progress.
+ */
+ s->USART_SR_TC = 0;
+
+ /* Write the character out. */
+ if (s->chr_write_obj) {
+ s->chr_write(s->chr_write_obj, &ch, 1);
+ }
+#ifdef STM32_UART_NO_BAUD_DELAY
+ /* If BAUD delays are not being simulated, then immediately mark the
+ * transmission as complete.
+ */
+ stm32_uart_tx_complete(s);
+#else
+ /* Otherwise, start the transmit delay timer. */
+ timer_mod(s->tx_timer, qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + s->ns_per_char);
+#endif
+}
+
+
+/* Put byte into the receive data register, if we have one and the target is
+ * ready for it. */
+static void stm32_uart_fill_receive_data_register(Stm32Uart *s)
+{
+ bool enabled = (s->USART_CR1_UE && s->USART_CR1_RE);
+
+ /* If we have no more data, or we are emulating baud delay and it's not
+ * time yet for the next byte, return without filling the RDR */
+ if (!s->rcv_char_bytes || s->receiving) {
+ return;
+ }
+
+#ifndef STM32_UART_ENABLE_OVERRUN
+ /* If overrun is not enabled, don't overwrite the current byte in the RDR */
+ if (enabled && s->USART_SR_RXNE) {
+ return;
+ }
+#endif
+
+ /* Pull the byte out of our buffer */
+ uint8_t byte = s->rcv_char_buf[0];
+ memmove(&s->rcv_char_buf[0], &s->rcv_char_buf[1], --(s->rcv_char_bytes));
+
+ /* Only handle the received character if the module is enabled, */
+ if (enabled) {
+ if(s->USART_SR_RXNE) {
+ DPRINTF("stm32_uart_receive: overrun error\n");
+ s->USART_SR_ORE = 1;
+ s->sr_read_since_ore_set = false;
+ stm32_uart_update_irq(s);
+ }
+
+ /* Receive the character and mark the buffer as not empty. */
+ s->USART_RDR = byte;
+ s->USART_SR_RXNE = 1;
+ stm32_uart_update_irq(s);
+ }
+
+#ifndef STM32_UART_NO_BAUD_DELAY
+ /* Indicate the module is receiving and start the delay. */
+ s->receiving = true;
+ timer_mod(s->rx_timer, qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + s->ns_per_char);
+#endif
+}
+
+
+
+/* TIMER HANDLERS */
+/* Once the receive delay is finished, indicate the USART is finished receiving.
+ * This will allow it to receive the next character. The current character was
+ * already received before starting the delay.
+ */
+static void stm32_uart_rx_timer_expire(void *opaque) {
+ Stm32Uart *s = (Stm32Uart *)opaque;
+
+ s->receiving = false;
+
+ /* Put next byte into the receive data register, if we have one ready */
+ stm32_uart_fill_receive_data_register(s);
+}
+
+/* When the transmit delay is complete, mark the transmit as complete
+ * (the character was already sent before starting the delay). */
+static void stm32_uart_tx_timer_expire(void *opaque) {
+ Stm32Uart *s = (Stm32Uart *)opaque;
+
+ stm32_uart_tx_complete(s);
+}
+
+
+
+
+
+/* CHAR DEVICE HANDLERS */
+
+static int stm32_uart_can_receive(void *opaque)
+{
+ Stm32Uart *s = (Stm32Uart *)opaque;
+
+ /* How much space do we have in our buffer? */
+ return (USART_RCV_BUF_LEN - s->rcv_char_bytes);
+}
+
+static void stm32_uart_event(void *opaque, QEMUChrEvent event)
+{
+ /* Do nothing */
+}
+
+static void stm32_uart_receive(void *opaque, const uint8_t *buf, int size)
+{
+ Stm32Uart *s = (Stm32Uart *)opaque;
+
+ assert(size > 0);
+
+ /* Copy the characters into our buffer first */
+ assert (size <= USART_RCV_BUF_LEN - s->rcv_char_bytes);
+ memmove(s->rcv_char_buf + s->rcv_char_bytes, buf, size);
+ s->rcv_char_bytes += size;
+
+ /* Put next byte into RDR if the target is ready for it */
+ stm32_uart_fill_receive_data_register(s);
+}
+
+
+
+
+/* REGISTER IMPLEMENTATION */
+
+static uint32_t stm32_uart_USART_SR_read(Stm32Uart *s)
+{
+ /* If the Overflow flag is set, reading the SR register is the first step
+ * to resetting the flag.
+ */
+ if(s->USART_SR_ORE) {
+ s->sr_read_since_ore_set = true;
+ }
+
+ return (s->USART_SR_TXE << USART_SR_TXE_BIT) |
+ (s->USART_SR_TC << USART_SR_TC_BIT) |
+ (s->USART_SR_RXNE << USART_SR_RXNE_BIT) |
+ (s->USART_SR_ORE << USART_SR_ORE_BIT);
+}
+
+
+
+
+
+static void stm32_uart_USART_SR_write(Stm32Uart *s, uint32_t new_value)
+{
+ uint32_t new_TC, new_RXNE;
+
+ new_TC = extract32(new_value, USART_SR_TC_BIT, 1);
+ /* The Transmit Complete flag can be cleared, but not set. */
+ if(new_TC) {
+ hw_error("Software attempted to set USART TC bit\n");
+ }
+ s->USART_SR_TC = new_TC;
+
+ new_RXNE = extract32(new_value, USART_SR_RXNE_BIT, 1);
+ /* The Read Data Register Not Empty flag can be cleared, but not set. */
+ if(new_RXNE) {
+ hw_error("Software attempted to set USART RXNE bit\n");
+ }
+ s->USART_SR_RXNE = new_RXNE;
+
+ stm32_uart_update_irq(s);
+}
+
+
+static void stm32_uart_USART_DR_read(Stm32Uart *s, uint32_t *read_value)
+{
+ /* If the Overflow flag is set, then it should be cleared if the software
+ * performs an SR read followed by a DR read.
+ */
+ if(s->USART_SR_ORE) {
+ if(s->sr_read_since_ore_set) {
+ s->USART_SR_ORE = 0;
+
+ }
+ }
+
+ if(!s->USART_CR1_UE) {
+ hw_error("Attempted to read from USART_DR while UART was disabled.");
+ }
+
+ if(!s->USART_CR1_RE) {
+ hw_error("Attempted to read from USART_DR while UART receiver "
+ "was disabled.");
+ }
+
+ if(s->USART_SR_RXNE) {
+ /* If the receive buffer is not empty, return the value. and mark the
+ * buffer as empty.
+ */
+ (*read_value) = s->USART_RDR;
+ s->USART_SR_RXNE = 0;
+
+ /* Put next character into the RDR if we have one */
+ stm32_uart_fill_receive_data_register(s);
+ } else {
+ printf("STM32_UART WARNING: Read value from USART_DR while it was empty.\n");
+ }
+
+ stm32_uart_update_irq(s);
+}
+
+
+static void stm32_uart_USART_DR_write(Stm32Uart *s, uint32_t new_value)
+{
+ uint32_t write_value = new_value & 0x000001ff;
+
+ if(!s->USART_CR1_UE) {
+ hw_error("Attempted to write to USART_DR while UART was disabled.");
+ }
+
+ if(!s->USART_CR1_TE) {
+ hw_error("Attempted to write to USART_DR while UART transmitter "
+ "was disabled.");
+ }
+
+ if (s->check_tx_pin_callback) {
+ s->check_tx_pin_callback(s);
+ }
+
+ if(s->USART_SR_TC) {
+ /* If the Transmission Complete bit is set, it means the USART is not
+ * currently transmitting. This means, a transmission can immediately
+ * start.
+ */
+ stm32_uart_start_tx(s, write_value);
+ } else {
+ /* Otherwise check to see if the buffer is empty.
+ * If it is, then store the new character there and mark it as not empty.
+ * If it is not empty, trigger a hardware error. Software should check
+ * to make sure it is empty before writing to the Data Register.
+ */
+ if(s->USART_SR_TXE) {
+ s->USART_TDR = write_value;
+ s->USART_SR_TXE = 0;
+ } else {
+ hw_error("Wrote new value to USART_DR while it was non-empty.");
+ }
+ }
+
+ stm32_uart_update_irq(s);
+}
+
+/* Update the Baud Rate Register. */
+static void stm32_uart_USART_BRR_write(Stm32Uart *s, uint32_t new_value,
+ bool init)
+{
+ s->USART_BRR = new_value & 0x0000ffff;
+
+ stm32_uart_baud_update(s);
+}
+
+static void stm32_uart_USART_CR1_write(Stm32Uart *s, uint32_t new_value,
+ bool init)
+{
+ s->USART_CR1_UE = extract32(new_value, USART_CR1_UE_BIT, 1);
+#if 0 /* XXX Does not work with f2xx yet */
+ if(s->USART_CR1_UE) {
+ /* Check to make sure the correct mapping is selected when enabling the
+ * USART.
+ */
+ if(s->afio_board_map != stm32_afio_get_periph_map(s->stm32_afio, s->periph)) {
+ hw_error("Bad AFIO mapping for %s", s->busdev.parent_obj.id);
+ }
+ }
+#endif
+
+ s->USART_CR1_TXEIE = extract32(new_value, USART_CR1_TXEIE_BIT, 1);
+ s->USART_CR1_TCIE = extract32(new_value, USART_CR1_TCIE_BIT, 1);
+ s->USART_CR1_RXNEIE = extract32(new_value, USART_CR1_RXNEIE_BIT, 1);
+
+ s->USART_CR1_TE = extract32(new_value, USART_CR1_TE_BIT, 1);
+ s->USART_CR1_RE = extract32(new_value, USART_CR1_RE_BIT, 1);
+
+ s->USART_CR1 = new_value & 0x00003fff;
+
+ stm32_uart_update_irq(s);
+}
+
+static void stm32_uart_USART_CR2_write(Stm32Uart *s, uint32_t new_value,
+ bool init)
+{
+ s->USART_CR2 = new_value & 0x00007f7f;
+}
+
+static void stm32_uart_USART_CR3_write(Stm32Uart *s, uint32_t new_value,
+ bool init)
+{
+ s->USART_CR3 = new_value & 0x000007ff;
+}
+
+static void stm32_uart_reset(DeviceState *dev)
+{
+ Stm32Uart *s = STM32_UART(dev);
+
+ /* Initialize the status registers. These are mostly
+ * read-only, so we do not call the "write" routine
+ * like normal.
+ */
+ s->USART_SR_TXE = 1;
+ s->USART_SR_TC = 1;
+ s->USART_SR_RXNE = 0;
+ s->USART_SR_ORE = 0;
+
+ // Do not initialize USART_DR - it is documented as undefined at reset
+ // and does not behave like normal registers.
+ stm32_uart_USART_BRR_write(s, 0x00000000, true);
+ stm32_uart_USART_CR1_write(s, 0x00000000, true);
+ stm32_uart_USART_CR2_write(s, 0x00000000, true);
+ stm32_uart_USART_CR3_write(s, 0x00000000, true);
+
+ stm32_uart_update_irq(s);
+}
+
+static uint64_t stm32_uart_read(void *opaque, hwaddr offset,
+ unsigned size)
+{
+ Stm32Uart *s = (Stm32Uart *)opaque;
+ uint32_t value;
+ int start = (offset & 3) * 8;
+ int length = size * 8;
+
+ switch (offset & 0xfffffffc) {
+ case USART_SR_OFFSET:
+ return extract64(stm32_uart_USART_SR_read(s), start, length);
+ case USART_DR_OFFSET:
+ stm32_uart_USART_DR_read(s, &value);
+ return extract64(value, start, length);
+ case USART_BRR_OFFSET:
+ return extract64(s->USART_BRR, start, length);
+ case USART_CR1_OFFSET:
+ return extract64(s->USART_CR1, start, length);
+ case USART_CR2_OFFSET:
+ return extract64(s->USART_CR2, start, length);
+ case USART_CR3_OFFSET:
+ return extract64(s->USART_CR3, start, length);
+ case USART_GTPR_OFFSET:
+ STM32_NOT_IMPL_REG(offset, size);
+ return 0;
+ default:
+ STM32_BAD_REG(offset, size);
+ return 0;
+ }
+}
+
+static void stm32_uart_write(void *opaque, hwaddr offset,
+ uint64_t value, unsigned size)
+{
+ Stm32Uart *s = (Stm32Uart *)opaque;
+ int start = (offset & 3) * 8;
+ int length = size * 8;
+
+ stm32_rcc_check_periph_clk((Stm32Rcc *)s->stm32_rcc, s->periph);
+
+ switch (offset & 0xfffffffc) {
+ case USART_SR_OFFSET:
+ stm32_uart_USART_SR_write(s,
+ deposit64(stm32_uart_USART_SR_read(s), start, length, value));
+ break;
+ case USART_DR_OFFSET:
+ stm32_uart_USART_DR_write(s,
+ deposit64(0, start, length, value));
+ break;
+ case USART_BRR_OFFSET:
+ stm32_uart_USART_BRR_write(s,
+ deposit64(s->USART_BRR, start, length, value), false);
+ break;
+ case USART_CR1_OFFSET:
+ stm32_uart_USART_CR1_write(s,
+ deposit64(s->USART_CR1, start, length, value), false);
+ break;
+ case USART_CR2_OFFSET:
+ stm32_uart_USART_CR2_write(s,
+ deposit64(s->USART_CR2, start, length, value), false);
+ break;
+ case USART_CR3_OFFSET:
+ stm32_uart_USART_CR3_write(s,
+ deposit64(s->USART_CR3, start, length, value), false);
+ break;
+ case USART_GTPR_OFFSET:
+ STM32_NOT_IMPL_REG(offset, 2);
+ break;
+ default:
+ STM32_BAD_REG(offset, 2);
+ break;
+ }
+}
+
+static const MemoryRegionOps stm32_uart_ops = {
+ .read = stm32_uart_read,
+ .write = stm32_uart_write,
+ .valid.min_access_size = 2,
+ .valid.max_access_size = 4,
+ .endianness = DEVICE_NATIVE_ENDIAN
+};
+
+
+
+
+
+/* PUBLIC FUNCTIONS */
+
+void stm32_uart_set_write_handler(Stm32Uart *s, void *obj,
+ int (*chr_write_handler)(void *chr_write_obj, const uint8_t *buf, int len))
+{
+ s->chr_write_obj = obj;
+ s->chr_write = chr_write_handler;
+}
+
+
+void stm32_uart_get_rcv_handlers(Stm32Uart *s, IOCanReadHandler **can_read,
+ IOReadHandler **read, IOEventHandler **event)
+{
+ *can_read = stm32_uart_can_receive;
+ *read = stm32_uart_receive;
+ *event = stm32_uart_event;
+}
+
+
+// Stub used to typecast the generic write handler prototype to a
+// qemu_chr write handler.
+static int stm32_uart_chr_fe_write_stub(void *s, const uint8_t *buf, int len)
+{
+ return qemu_chr_fe_write((Chardev *)s, buf, len);
+}
+
+
+// Helper method that connects this UART device's receive handlers to a qemu_chr instance.
+void stm32_uart_connect(Stm32Uart *s, Chardev *chr, uint32_t afio_board_map)
+{
+ s->chr_write_obj = chr;
+ if (chr) {
+ stm32_uart_set_write_handler(s, chr, stm32_uart_chr_fe_write_stub);
+ IOCanReadHandler *can_read_cb;
+ IOReadHandler *read_cb;
+ IOEventHandler *event_cb;
+ stm32_uart_get_rcv_handlers(s, &can_read_cb, &read_cb, &event_cb);
+ qemu_chr_fe_set_handlers(&chr, can_read_cb, read_cb, event_cb, NULL, s, NULL, true);
+ }
+
+ s->afio_board_map = afio_board_map;
+}
+
+
+
+
+/* DEVICE INITIALIZATION */
+
+static void stm32_uart_realize(DeviceState *obj, Error **pError)
+{
+ qemu_irq *clk_irq;
+ SysBusDevice *dev = SYS_BUS_DEVICE(obj);
+ Stm32Uart *s = STM32_UART(obj);
+
+ s->stm32_rcc = (Stm32Rcc *)s->stm32_rcc_prop;
+ s->stm32_gpio = (Stm32Gpio **)s->stm32_gpio_prop;
+ s->stm32_afio = (Stm32Afio *)s->stm32_afio_prop;
+
+ memory_region_init_io(&s->iomem, OBJECT(s), &stm32_uart_ops, s,
+ "uart", 0x03ff);
+ sysbus_init_mmio(dev, &s->iomem);
+
+ sysbus_init_irq(dev, &s->irq);
+
+ s->rx_timer =
+ timer_new_ns(QEMU_CLOCK_VIRTUAL,
+ (QEMUTimerCB *)stm32_uart_rx_timer_expire, s);
+ s->tx_timer =
+ timer_new_ns(QEMU_CLOCK_VIRTUAL,
+ (QEMUTimerCB *)stm32_uart_tx_timer_expire, s);
+
+ /* Register handlers to handle updates to the USART's peripheral clock. */
+ clk_irq =
+ qemu_allocate_irqs(stm32_uart_clk_irq_handler, (void *)s, 1);
+ stm32_rcc_set_periph_clk_irq(s->stm32_rcc, s->periph, clk_irq[0]);
+
+ s->rcv_char_bytes = 0;
+
+ stm32_uart_reset((DeviceState *)s);
+}
+
+static Property stm32_uart_properties[] = {
+ DEFINE_PROP_PERIPH_T("periph", Stm32Uart, periph, STM32_PERIPH_UNDEFINED),
+ DEFINE_PROP_PTR("stm32_rcc", Stm32Uart, stm32_rcc_prop),
+ DEFINE_PROP_PTR("stm32_gpio", Stm32Uart, stm32_gpio_prop),
+ DEFINE_PROP_PTR("stm32_afio", Stm32Uart, stm32_afio_prop),
+ DEFINE_PROP_PTR("stm32_check_tx_pin_callback", Stm32Uart, check_tx_pin_prop),
+ DEFINE_PROP_END_OF_LIST()
+};
+
+static void stm32_uart_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+
+ dc->realize = stm32_uart_realize;
+ dc->reset = stm32_uart_reset;
+ device_class_set_props(dc, stm32_uart_properties);
+}
+
+static TypeInfo stm32_uart_info = {
+ .name = TYPE_STM32_UART,
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(Stm32Uart),
+ .class_init = stm32_uart_class_init
+};
+
+static void stm32_uart_register_types(void)
+{
+ type_register_static(&stm32_uart_info);
+}
+
+type_init(stm32_uart_register_types)
diff --git a/hw/char/stm32f7xx_uart.c b/hw/char/stm32f7xx_uart.c
new file mode 100644
index 0000000000000..72ad6bfb5859e
--- /dev/null
+++ b/hw/char/stm32f7xx_uart.c
@@ -0,0 +1,738 @@
+/*
+ * STM32F7xx Microcontroller UART module
+ *
+ * Copyright (C) 2010 Andre Beckus
+ * Copyright (C) 2016 Pebble
+ *
+ * Source code based on stm32_uart.c
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, see .
+ */
+
+#include "qemu/osdep.h"
+#include "hw/sysbus.h"
+#include "hw/arm/stm32.h"
+#include "qemu/bitops.h"
+#include "hw/qdev-properties.h"
+#include "hw/irq.h"
+#include "hw/hw.h"
+
+
+
+/* DEFINITIONS*/
+
+/* See the README file for details on these settings. */
+//#define DEBUG_STM32_UART
+//#define STM32_UART_NO_BAUD_DELAY
+//#define STM32_UART_ENABLE_OVERRUN
+
+#ifdef DEBUG_STM32_UART
+#define DPRINTF(fmt, ...) \
+ do { printf("STM32F7XX_UART: " fmt , ## __VA_ARGS__); } while (0)
+#else
+#define DPRINTF(fmt, ...)
+#endif
+
+#define USART_CR1_OFFSET 0x00
+#define USART_CR1_UE_BIT 0
+#define USART_CR1_RE_BIT 2
+#define USART_CR1_TE_BIT 3
+#define USART_CR1_RXNEIE_BIT 5
+#define USART_CR1_TCIE_BIT 6
+#define USART_CR1_TXEIE_BIT 7
+
+#define USART_CR2_OFFSET 0x04
+
+#define USART_CR3_OFFSET 0x08
+
+#define USART_BRR_OFFSET 0x0C
+
+#define USART_GTPR_OFFSET 0x10
+
+#define USART_RTOR_OFFSET 0x14
+
+#define USART_RQR_OFFSET 0x18
+#define USART_RQR_RXFRQ_BIT 3
+
+#define USART_ISR_OFFSET 0x1C
+#define USART_ISR_ORE_BIT 3
+#define USART_ISR_RXNE_BIT 5
+#define USART_ISR_TC_BIT 6
+#define USART_ISR_TXE_BIT 7
+
+#define USART_ICR_OFFSET 0x20
+#define USART_ICR_ORECF_BIT 3
+
+#define USART_RDR_OFFSET 0x24
+
+#define USART_TDR_OFFSET 0x28
+
+#define USART_RCV_BUF_LEN 256
+
+struct Stm32F7xxUart {
+ /* Inherited */
+ SysBusDevice busdev;
+
+ /* Properties */
+ stm32_periph_t periph;
+ void *stm32_rcc_prop;
+ void *stm32_gpio_prop;
+ void *stm32_afio_prop;
+
+ /* Checks the USART transmit pin's GPIO settings. If the GPIO is not configured
+ * properly, a hardware error is triggered.
+ */
+ union {
+ void *check_tx_pin_prop;
+ void (*check_tx_pin_callback)(Stm32F7xxUart *);
+ };
+
+ /* Private */
+ MemoryRegion iomem;
+
+ Stm32Rcc *stm32_rcc;
+ Stm32Gpio **stm32_gpio;
+ Stm32Afio *stm32_afio;
+
+ int uart_index;
+
+ uint32_t bits_per_sec;
+ int64_t ns_per_char;
+
+ /* Register Values */
+ uint32_t USART_RDR;
+ uint32_t USART_TDR;
+ uint32_t USART_BRR;
+ uint32_t USART_CR1;
+ uint32_t USART_CR2;
+ uint32_t USART_CR3;
+
+ /* Register Field Values */
+ uint32_t USART_ISR_TXE;
+ uint32_t USART_ISR_TC;
+ uint32_t USART_ISR_RXNE;
+ uint32_t USART_ISR_ORE;
+ uint32_t USART_CR1_UE;
+ uint32_t USART_CR1_TXEIE;
+ uint32_t USART_CR1_TCIE;
+ uint32_t USART_CR1_RXNEIE;
+ uint32_t USART_CR1_TE;
+ uint32_t USART_CR1_RE;
+
+ /* Indicates whether the USART is currently receiving a byte. */
+ bool receiving;
+
+ /* Timers used to simulate a delay corresponding to the baud rate. */
+ struct QEMUTimer *rx_timer;
+ struct QEMUTimer *tx_timer;
+
+ void *chr_write_obj;
+ int (*chr_write)(void *chr_write_obj, const uint8_t *buf, int len);
+
+ /* Stores the USART pin mapping used by the board. This is used to check
+ * the AFIO's USARTx_REMAP register to make sure the software has set
+ * the correct mapping.
+ */
+ uint32_t afio_board_map;
+
+ qemu_irq irq;
+ int curr_irq_level;
+
+ /* We buffer the characters we receive from our qemu_chr receive handler in here
+ * to increase our overall throughput. This allows us to tell the target that
+ * another character is ready immediately after it does a read.
+ */
+ uint8_t rcv_char_buf[USART_RCV_BUF_LEN];
+ uint32_t rcv_char_bytes; /* number of bytes avaialable in rcv_char_buf */
+};
+
+
+/* HELPER FUNCTIONS */
+
+/* Update the baud rate based on the USART's peripheral clock frequency. */
+static void stm32f7xx_uart_baud_update(Stm32F7xxUart *s)
+{
+ uint32_t clk_freq = stm32_rcc_get_periph_freq(s->stm32_rcc, s->periph);
+ uint64_t ns_per_bit;
+
+ if ((s->USART_BRR == 0) || (clk_freq == 0)) {
+ s->bits_per_sec = 0;
+ } else {
+ s->bits_per_sec = clk_freq / s->USART_BRR;
+ ns_per_bit = 1000000000LL / s->bits_per_sec;
+
+ /* We assume 10 bits per character. This may not be exactly
+ * accurate depending on settings, but it should be good enough. */
+ s->ns_per_char = ns_per_bit * 10;
+ }
+
+#ifdef DEBUG_STM32_UART
+ const char *periph_name = s->busdev.parent_obj.id;
+ DPRINTF("%s clock is set to %lu Hz.\n",
+ periph_name,
+ (unsigned long)clk_freq);
+ DPRINTF("%s BRR set to %lu.\n",
+ periph_name,
+ (unsigned long)s->USART_BRR);
+ DPRINTF("%s Baud is set to %lu bits per sec.\n",
+ periph_name,
+ (unsigned long)s->bits_per_sec);
+#endif
+}
+
+/* Handle a change in the peripheral clock. */
+static void stm32f7xx_uart_clk_irq_handler(void *opaque, int n, int level)
+{
+ Stm32F7xxUart *s = (Stm32F7xxUart *)opaque;
+
+ assert(n == 0);
+
+ /* Only update the BAUD rate if the IRQ is being set. */
+ if (level) {
+ stm32f7xx_uart_baud_update(s);
+ }
+}
+
+/* Routine which updates the USART's IRQ. This should be called whenever
+ * an interrupt-related flag is updated.
+ */
+static void stm32f7xx_uart_update_irq(Stm32F7xxUart *s) {
+ /* Note that we are not checking the ORE flag, but we should be. */
+ int new_irq_level =
+ (s->USART_CR1_TCIE & s->USART_ISR_TC) |
+ (s->USART_CR1_TXEIE & s->USART_ISR_TXE) |
+ (s->USART_CR1_RXNEIE & (s->USART_ISR_ORE | s->USART_ISR_RXNE));
+
+ /* Only trigger an interrupt if the IRQ level changes. We probably could
+ * set the level regardless, but we will just check for good measure.
+ */
+ if (new_irq_level ^ s->curr_irq_level) {
+ qemu_set_irq(s->irq, new_irq_level);
+ s->curr_irq_level = new_irq_level;
+ }
+}
+
+
+static void stm32f7xx_uart_start_tx(Stm32F7xxUart *s, uint32_t value);
+
+/* Routine to be called when a transmit is complete. */
+static void stm32f7xx_uart_tx_complete(Stm32F7xxUart *s)
+{
+ if (s->USART_ISR_TXE == 1) {
+ /* If the buffer is empty, there is nothing waiting to be transmitted.
+ * Mark the transmit complete. */
+ s->USART_ISR_TC = 1;
+ stm32f7xx_uart_update_irq(s);
+ } else {
+ /* Otherwise, mark the transmit buffer as empty and
+ * start transmitting the value stored there.
+ */
+ s->USART_ISR_TXE = 1;
+ stm32f7xx_uart_update_irq(s);
+ stm32f7xx_uart_start_tx(s, s->USART_TDR);
+ }
+}
+
+/* Start transmitting a character. */
+static void stm32f7xx_uart_start_tx(Stm32F7xxUart *s, uint32_t value)
+{
+ uint8_t ch = value; //This will truncate the ninth bit
+
+ /* Reset the Transmission Complete flag to indicate a transmit is in
+ * progress.
+ */
+ s->USART_ISR_TC = 0;
+
+ /* Write the character out. */
+ if (s->chr_write_obj) {
+ s->chr_write(s->chr_write_obj, &ch, 1);
+ }
+#ifdef STM32_UART_NO_BAUD_DELAY
+ /* If BAUD delays are not being simulated, then immediately mark the
+ * transmission as complete.
+ */
+ stm32f7xx_uart_tx_complete(s);
+#else
+ /* Otherwise, start the transmit delay timer. */
+ timer_mod(s->tx_timer, qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + s->ns_per_char);
+#endif
+}
+
+
+/* Put byte into the receive data register, if we have one and the target is ready for it. */
+static void stm32f7xx_uart_fill_receive_data_register(Stm32F7xxUart *s)
+{
+ bool enabled = (s->USART_CR1_UE && s->USART_CR1_RE);
+
+ /* If we have no more data, or we are emulating baud delay and it's not
+ * time yet for the next byte, return without filling the RDR */
+ if (!s->rcv_char_bytes || s->receiving) {
+ return;
+ }
+
+#ifndef STM32_UART_ENABLE_OVERRUN
+ /* If overrun is not enabled, don't overwrite the current byte in the RDR */
+ if (enabled && s->USART_ISR_RXNE) {
+ return;
+ }
+#endif
+
+ /* Pull the byte out of our buffer */
+ uint8_t byte = s->rcv_char_buf[0];
+ memmove(&s->rcv_char_buf[0], &s->rcv_char_buf[1], --(s->rcv_char_bytes));
+
+ /* Only handle the received character if the module is enabled, */
+ if (enabled) {
+ if (s->USART_ISR_RXNE) {
+ DPRINTF("stm32f7xx_uart_receive: overrun error\n");
+ s->USART_ISR_ORE = 1;
+ stm32f7xx_uart_update_irq(s);
+ }
+
+ /* Receive the character and mark the buffer as not empty. */
+ s->USART_RDR = byte;
+ s->USART_ISR_RXNE = 1;
+ stm32f7xx_uart_update_irq(s);
+ }
+
+#ifndef STM32_UART_NO_BAUD_DELAY
+ /* Indicate the module is receiving and start the delay. */
+ s->receiving = true;
+ timer_mod(s->rx_timer, qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + s->ns_per_char);
+#endif
+}
+
+
+
+/* TIMER HANDLERS */
+/* Once the receive delay is finished, indicate the USART is finished receiving.
+ * This will allow it to receive the next character. The current character was
+ * already received before starting the delay.
+ */
+static void stm32f7xx_uart_rx_timer_expire(void *opaque) {
+ Stm32F7xxUart *s = (Stm32F7xxUart *)opaque;
+
+ s->receiving = false;
+
+ /* Put next byte into the receive data register, if we have one ready */
+ stm32f7xx_uart_fill_receive_data_register(s);
+}
+
+/* When the transmit delay is complete, mark the transmit as complete
+ * (the character was already sent before starting the delay). */
+static void stm32f7xx_uart_tx_timer_expire(void *opaque) {
+ Stm32F7xxUart *s = (Stm32F7xxUart *)opaque;
+
+ stm32f7xx_uart_tx_complete(s);
+}
+
+
+
+
+
+/* CHAR DEVICE HANDLERS */
+
+static int stm32f7xx_uart_can_receive(void *opaque)
+{
+ Stm32F7xxUart *s = (Stm32F7xxUart *)opaque;
+
+ /* How much space do we have in our buffer? */
+ return (USART_RCV_BUF_LEN - s->rcv_char_bytes);
+}
+
+static void stm32f7xx_uart_event(void *opaque, int event)
+{
+ /* Do nothing */
+}
+
+static void stm32f7xx_uart_receive(void *opaque, const uint8_t *buf, int size)
+{
+ Stm32F7xxUart *s = (Stm32F7xxUart *)opaque;
+
+ assert(size > 0);
+
+ /* Copy the characters into our buffer first */
+ assert (size <= USART_RCV_BUF_LEN - s->rcv_char_bytes);
+ memmove(s->rcv_char_buf + s->rcv_char_bytes, buf, size);
+ s->rcv_char_bytes += size;
+
+ /* Put next byte into RDR if the target is ready for it */
+ stm32f7xx_uart_fill_receive_data_register(s);
+}
+
+
+
+
+/* REGISTER IMPLEMENTATION */
+
+static uint32_t stm32f7xx_uart_USART_ISR_read(Stm32F7xxUart *s)
+{
+ return (s->USART_ISR_TXE << USART_ISR_TXE_BIT) |
+ (s->USART_ISR_TC << USART_ISR_TC_BIT) |
+ (s->USART_ISR_RXNE << USART_ISR_RXNE_BIT) |
+ (s->USART_ISR_ORE << USART_ISR_ORE_BIT);
+}
+
+
+static void stm32f7xx_uart_USART_ICR_write(Stm32F7xxUart *s, uint32_t new_value)
+{
+ if (new_value & USART_ICR_ORECF_BIT) {
+ s->USART_ISR_ORE = 0;
+ }
+
+ stm32f7xx_uart_update_irq(s);
+}
+
+
+static uint32_t stm32f7xx_uart_USART_RDR_read(Stm32F7xxUart *s)
+{
+ uint32_t read_value = 0;
+ if (!s->USART_CR1_UE) {
+ hw_error("Attempted to read from USART_RDR while UART was disabled.");
+ }
+
+ if (!s->USART_CR1_RE) {
+ hw_error("Attempted to read from USART_RDR while UART receiver was disabled.");
+ }
+
+ if (s->USART_ISR_RXNE) {
+ /* If the receive buffer is not empty, return the value. and mark the
+ * buffer as empty.
+ */
+ read_value = s->USART_RDR;
+ s->USART_ISR_RXNE = 0;
+
+ /* Put next character into the RDR if we have one */
+ stm32f7xx_uart_fill_receive_data_register(s);
+ } else {
+ printf("STM32_UART WARNING: Read value from USART_RDR while it was empty.\n");
+ }
+
+ stm32f7xx_uart_update_irq(s);
+ return read_value;
+}
+
+
+static void stm32f7xx_uart_USART_TDR_write(Stm32F7xxUart *s, uint32_t new_value)
+{
+ uint32_t write_value = new_value & 0x000001ff;
+
+ if (!s->USART_CR1_UE) {
+ hw_error("Attempted to write to USART_TDR while UART was disabled.");
+ }
+
+ if (!s->USART_CR1_TE) {
+ hw_error("Attempted to write to USART_TDR while UART transmitter was disabled.");
+ }
+
+ if (s->check_tx_pin_callback) {
+ s->check_tx_pin_callback(s);
+ }
+
+ DPRINTF("Writing to TDR (value=0x%x, ISR_TC=%d, ISR_TXE=%d)\n", write_value, s->USART_ISR_TC,
+ s->USART_ISR_TXE);
+ if (s->USART_ISR_TC) {
+ /* If the Transmission Complete bit is set, it means the USART is not
+ * currently transmitting. This means, a transmission can immediately
+ * start.
+ */
+ stm32f7xx_uart_start_tx(s, write_value);
+ } else {
+ /* Otherwise check to see if the buffer is empty.
+ * If it is, then store the new character there and mark it as not empty.
+ * If it is not empty, trigger a hardware error. Software should check
+ * to make sure it is empty before writing to the Data Register.
+ */
+ if (s->USART_ISR_TXE) {
+ s->USART_TDR = write_value;
+ s->USART_ISR_TXE = 0;
+ } else {
+ hw_error("Wrote new value to USART_TDR while it was non-empty.");
+ }
+ }
+
+ stm32f7xx_uart_update_irq(s);
+}
+
+/* Update the Baud Rate Register. */
+static void stm32f7xx_uart_USART_BRR_write(Stm32F7xxUart *s, uint32_t new_value, bool init)
+{
+ s->USART_BRR = new_value & 0x0000ffff;
+
+ stm32f7xx_uart_baud_update(s);
+}
+
+static void stm32f7xx_uart_USART_CR1_write(Stm32F7xxUart *s, uint32_t new_value, bool init)
+{
+ s->USART_CR1_UE = extract32(new_value, USART_CR1_UE_BIT, 1);
+#if 0
+ if (s->USART_CR1_UE) {
+ /* Check to make sure the correct mapping is selected when enabling the
+ * USART.
+ */
+ if (s->afio_board_map != stm32_afio_get_periph_map(s->stm32_afio, s->periph)) {
+ hw_error("Bad AFIO mapping for %s", s->busdev.parent_obj.id);
+ }
+ }
+#endif
+
+ s->USART_CR1_TXEIE = extract32(new_value, USART_CR1_TXEIE_BIT, 1);
+ s->USART_CR1_TCIE = extract32(new_value, USART_CR1_TCIE_BIT, 1);
+ s->USART_CR1_RXNEIE = extract32(new_value, USART_CR1_RXNEIE_BIT, 1);
+
+ s->USART_CR1_TE = extract32(new_value, USART_CR1_TE_BIT, 1);
+ s->USART_CR1_RE = extract32(new_value, USART_CR1_RE_BIT, 1);
+
+ s->USART_CR1 = new_value & 0x1ffffffd;
+
+ stm32f7xx_uart_update_irq(s);
+}
+
+static void stm32f7xx_uart_USART_CR2_write(Stm32F7xxUart *s, uint32_t new_value, bool init)
+{
+ s->USART_CR2 = new_value & 0xffffff70;
+}
+
+static void stm32f7xx_uart_USART_CR3_write(Stm32F7xxUart *s, uint32_t new_value, bool init)
+{
+ s->USART_CR3 = new_value & 0x0000e7ff;
+}
+
+static void stm32f7xx_uart_reset(DeviceState *dev)
+{
+ Stm32F7xxUart *s = STM32F7XX_UART(dev);
+
+ /* Initialize the status registers. These are mostly
+ * read-only, so we do not call the "write" routine
+ * like normal.
+ */
+ s->USART_ISR_TXE = 1;
+ s->USART_ISR_TC = 1;
+ s->USART_ISR_RXNE = 0;
+ s->USART_ISR_ORE = 0;
+
+ // Do not initialize USART_RDR/USART_TDR - it is documented as undefined at reset
+ // and does not behave like normal registers.
+ stm32f7xx_uart_USART_BRR_write(s, 0x00000000, true);
+ stm32f7xx_uart_USART_CR1_write(s, 0x00000000, true);
+ stm32f7xx_uart_USART_CR2_write(s, 0x00000000, true);
+ stm32f7xx_uart_USART_CR3_write(s, 0x00000000, true);
+
+ stm32f7xx_uart_update_irq(s);
+}
+
+static uint64_t stm32f7xx_uart_read(void *opaque, hwaddr offset, unsigned size)
+{
+ Stm32F7xxUart *s = (Stm32F7xxUart *)opaque;
+ uint64_t value = 0;
+ int start = (offset & 3) * 8;
+ int length = size * 8;
+
+ switch (offset & 0xfffffffc) {
+ case USART_ISR_OFFSET:
+ value = stm32f7xx_uart_USART_ISR_read(s);
+ break;
+ case USART_RDR_OFFSET:
+ value = stm32f7xx_uart_USART_RDR_read(s);
+ break;
+ case USART_BRR_OFFSET:
+ value = s->USART_BRR;
+ break;
+ case USART_CR1_OFFSET:
+ value = s->USART_CR1;
+ break;
+ case USART_CR2_OFFSET:
+ value = s->USART_CR2;
+ break;
+ case USART_CR3_OFFSET:
+ value = s->USART_CR3;
+ break;
+ case USART_GTPR_OFFSET:
+ case USART_RTOR_OFFSET:
+ case USART_RQR_OFFSET:
+ case USART_ICR_OFFSET:
+ // always reads as 0
+ break;
+ default:
+ STM32_BAD_REG(offset, size);
+ break;
+ }
+
+ return extract64(value, start, length);
+}
+
+static void stm32f7xx_uart_write(void *opaque, hwaddr offset, uint64_t value, unsigned size)
+{
+ Stm32F7xxUart *s = (Stm32F7xxUart *)opaque;
+ int start = (offset & 3) * 8;
+ int length = size * 8;
+
+ stm32_rcc_check_periph_clk((Stm32Rcc *)s->stm32_rcc, s->periph);
+
+ switch (offset & 0xfffffffc) {
+ case USART_ICR_OFFSET:
+ stm32f7xx_uart_USART_ICR_write(s, deposit64(0, start, length, value));
+ break;
+ case USART_ISR_OFFSET:
+ STM32_WARN_RO_REG(offset);
+ break;
+ case USART_TDR_OFFSET:
+ stm32f7xx_uart_USART_TDR_write(s, deposit64(0, start, length, value));
+ break;
+ case USART_BRR_OFFSET:
+ stm32f7xx_uart_USART_BRR_write(s, deposit64(s->USART_BRR, start, length, value), false);
+ break;
+ case USART_CR1_OFFSET:
+ stm32f7xx_uart_USART_CR1_write(s, deposit64(s->USART_CR1, start, length, value), false);
+ break;
+ case USART_CR2_OFFSET:
+ stm32f7xx_uart_USART_CR2_write(s, deposit64(s->USART_CR2, start, length, value), false);
+ break;
+ case USART_CR3_OFFSET:
+ stm32f7xx_uart_USART_CR3_write(s, deposit64(s->USART_CR3, start, length, value), false);
+ break;
+ case USART_RQR_OFFSET:
+ if (extract32(value, USART_RQR_RXFRQ_BIT, 1) == 1) {
+ s->USART_ISR_RXNE = 0;
+ }
+ break;
+ case USART_GTPR_OFFSET:
+ case USART_RTOR_OFFSET:
+ STM32_NOT_IMPL_REG(offset, size);
+ break;
+ default:
+ STM32_BAD_REG(offset, size);
+ break;
+ }
+}
+
+static const MemoryRegionOps stm32f7xx_uart_ops = {
+ .read = stm32f7xx_uart_read,
+ .write = stm32f7xx_uart_write,
+ .valid.min_access_size = 2,
+ .valid.max_access_size = 4,
+ .endianness = DEVICE_NATIVE_ENDIAN
+};
+
+
+
+
+
+/* PUBLIC FUNCTIONS */
+
+void stm32f7xx_uart_set_write_handler(Stm32F7xxUart *s, void *obj,
+ int (*chr_write_handler)(void *chr_write_obj, const uint8_t *buf, int len))
+{
+ s->chr_write_obj = obj;
+ s->chr_write = chr_write_handler;
+}
+
+
+void stm32f7xx_uart_get_rcv_handlers(Stm32F7xxUart *s, IOCanReadHandler **can_read,
+ IOReadHandler **read, IOEventHandler **event)
+{
+ *can_read = stm32f7xx_uart_can_receive;
+ *read = stm32f7xx_uart_receive;
+ *event = stm32f7xx_uart_event;
+}
+
+
+// Stub used to typecast the generic write handler prototype to a qemu_chr write handler.
+static int stm32f7xx_uart_chr_fe_write_stub(void *s, const uint8_t *buf, int len)
+{
+ return qemu_chr_fe_write((Chardev *)s, buf, len);
+}
+
+
+// Helper method that connects this UART device's receive handlers to a qemu_chr instance.
+void stm32f7xx_uart_connect(Stm32F7xxUart *s, Chardev *chr, uint32_t afio_board_map)
+{
+ s->chr_write_obj = chr;
+ if (chr) {
+ stm32f7xx_uart_set_write_handler(s, chr, stm32f7xx_uart_chr_fe_write_stub);
+ IOCanReadHandler *can_read_cb;
+ IOReadHandler *read_cb;
+ IOEventHandler *event_cb;
+ stm32f7xx_uart_get_rcv_handlers(s, &can_read_cb, &read_cb, &event_cb);
+ qemu_chr_fe_set_handlers(&chr, can_read_cb, read_cb, event_cb, NULL, s, NULL, true);
+ }
+
+ s->afio_board_map = afio_board_map;
+}
+
+
+
+
+/* DEVICE INITIALIZATION */
+
+static void stm32f7xx_uart_init(Object *obj)
+{
+ qemu_irq *clk_irq;
+ Stm32F7xxUart *s = STM32F7XX_UART(obj);
+ SysBusDevice *dev = SYS_BUS_DEVICE(obj);
+
+ s->stm32_rcc = (Stm32Rcc *)s->stm32_rcc_prop;
+ s->stm32_gpio = (Stm32Gpio **)s->stm32_gpio_prop;
+ s->stm32_afio = (Stm32Afio *)s->stm32_afio_prop;
+
+ memory_region_init_io(&s->iomem, OBJECT(s), &stm32f7xx_uart_ops, s, "uart", 0x03ff);
+ sysbus_init_mmio(dev, &s->iomem);
+
+ sysbus_init_irq(dev, &s->irq);
+
+ s->rx_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL,
+ (QEMUTimerCB *)stm32f7xx_uart_rx_timer_expire, s);
+ s->tx_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL,
+ (QEMUTimerCB *)stm32f7xx_uart_tx_timer_expire, s);
+
+ /* Register handlers to handle updates to the USART's peripheral clock. */
+ clk_irq = qemu_allocate_irqs(stm32f7xx_uart_clk_irq_handler, (void *)s, 1);
+ stm32_rcc_set_periph_clk_irq(s->stm32_rcc, s->periph, clk_irq[0]);
+
+ s->rcv_char_bytes = 0;
+
+ stm32f7xx_uart_reset((DeviceState *)s);
+}
+
+static Property stm32f7xx_uart_properties[] = {
+ DEFINE_PROP_PERIPH_T("periph", Stm32F7xxUart, periph, STM32_PERIPH_UNDEFINED),
+ DEFINE_PROP_PTR("stm32_rcc", Stm32F7xxUart, stm32_rcc_prop),
+ DEFINE_PROP_PTR("stm32_gpio", Stm32F7xxUart, stm32_gpio_prop),
+ DEFINE_PROP_PTR("stm32_afio", Stm32F7xxUart, stm32_afio_prop),
+ DEFINE_PROP_PTR("stm32_check_tx_pin_callback", Stm32F7xxUart, check_tx_pin_prop),
+ DEFINE_PROP_END_OF_LIST()
+};
+
+static void stm32f7xx_uart_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+
+ dc->reset = stm32f7xx_uart_reset;
+ device_class_set_props(dc, stm32f7xx_uart_properties);
+}
+
+static TypeInfo stm32f7xx_uart_info = {
+ .name = "stm32f7xx-uart",
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(Stm32F7xxUart),
+ .instance_init = stm32f7xx_uart_init,
+ .class_init = stm32f7xx_uart_class_init
+};
+
+static void stm32f7xx_uart_register_types(void)
+{
+ type_register_static(&stm32f7xx_uart_info);
+}
+
+type_init(stm32f7xx_uart_register_types)
diff --git a/hw/core/qdev.c b/hw/core/qdev.c
index 85f062def72b5..44b0b9eef2349 100644
--- a/hw/core/qdev.c
+++ b/hw/core/qdev.c
@@ -499,6 +499,14 @@ void qdev_init_gpio_out_named(DeviceState *dev, qemu_irq *pins,
NamedGPIOList *gpio_list = qdev_get_named_gpio_list(dev, name);
assert(gpio_list->num_in == 0 || !name);
+ //
+ // update the out array...
+ //
+ int old = gpio_list->num_out;
+ gpio_list->out = old ? g_renew(qemu_irq, gpio_list->out, old + n) : g_new(qemu_irq, n);
+ for (i = 0; i < n; ++i) {
+ gpio_list->out[old + i] = pins[i];
+ }
if (!name) {
name = "unnamed-gpio-out";
diff --git a/hw/display/Makefile.objs b/hw/display/Makefile.objs
index 77a7d622bd2da..cef9f80ef052b 100644
--- a/hw/display/Makefile.objs
+++ b/hw/display/Makefile.objs
@@ -14,6 +14,8 @@ common-obj-$(CONFIG_SII9022) += sii9022.o
common-obj-$(CONFIG_SSD0303) += ssd0303.o
common-obj-$(CONFIG_SSD0323) += ssd0323.o
common-obj-$(CONFIG_XEN) += xenfb.o
+common-obj-y += ls013b7dh01.o
+common-obj-$(CONFIG_PEBBLE_SNOWY_DISPLAY) += pebble_snowy_display.o
common-obj-$(CONFIG_VGA_PCI) += vga-pci.o
common-obj-$(CONFIG_VGA_ISA) += vga-isa.o
diff --git a/hw/display/ls013b7dh01.c b/hw/display/ls013b7dh01.c
new file mode 100644
index 0000000000000..f1289bba9d74b
--- /dev/null
+++ b/hw/display/ls013b7dh01.c
@@ -0,0 +1,381 @@
+/*-
+ * Copyright (c) 2013
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+/*
+ * QEMU Sharp LS013B7DH01 Memory LCD device model.
+ */
+
+/*
+ * TODO:
+ * Add part number attribute and set ROWS/COLS appropriately.
+ * Add attribute for 'off' bit colour for simulating backlight.
+ * Add display rotation attribute.
+ * Handle 24bpp host displays.
+ */
+
+
+#include "qemu/osdep.h"
+#include "ui/console.h"
+#include "ui/pixel_ops.h"
+#include "hw/ssi/ssi.h"
+#include "hw/qdev-properties.h"
+#include "hw/ssi/ssi.h"
+#include "qemu/log.h"
+
+#define NUM_ROWS 168
+#define NUM_COLS 144 // 18 bytes
+#define NUM_COL_BYTES (NUM_COLS / 8)
+
+typedef enum {
+ COMMAND,
+ LINENO,
+ DATA,
+ TRAILER
+} xfer_state_t;
+
+typedef struct {
+ SSISlave ssidev;
+ QemuConsole *con;
+ bool redraw;
+ uint8_t framebuffer[NUM_ROWS * NUM_COL_BYTES];
+ int fbindex;
+ xfer_state_t state;
+
+ bool backlight_enabled;
+ float brightness;
+
+ bool vibrate_on;
+ int vibrate_offset;
+
+ bool power_on;
+
+ /* Tintin display was installed 'upside-down'.
+ * Use the "rotate_display" property to flip it.
+ */
+ bool rotate_display;
+} lcd_state;
+
+static uint8_t
+bitswap(uint8_t val)
+{
+ return ((val * 0x0802LU & 0x22110LU) | (val * 0x8020LU & 0x88440LU)) * 0x10101LU >> 16;
+}
+
+static uint32_t
+sm_lcd_transfer(SSISlave *dev, uint32_t data)
+{
+ lcd_state *s = FROM_SSI_SLAVE(lcd_state, dev);
+ /* XXX QEMU's SPI infrastructure is implicitly MSB-first */
+ data = bitswap(data);
+
+ switch(s->state) {
+ case COMMAND:
+ data &= 0xfd; /* Mask VCOM bit */
+ switch(data) {
+ case 0x01: /* Write Line */
+ s->state = LINENO;
+ break;
+ case 0x04: /* Clear Screen */
+ memset(s->framebuffer, 0, sizeof(*s->framebuffer));
+ s->redraw = true;
+ break;
+ case 0x00: /* Toggle VCOM */
+ break;
+ default:
+ /* Simulate confused display controller. */
+ memset(s->framebuffer, 0x55, sizeof(*s->framebuffer));
+ s->redraw = true;
+ break;
+ }
+ break;
+ case LINENO:
+ if (data == 0) {
+ s->state = COMMAND;
+ } else {
+ s->fbindex = (data - 1) * NUM_COL_BYTES;
+ s->state = DATA;
+ }
+ break;
+ case DATA:
+ s->framebuffer[s->fbindex++] = data;
+ if (s->fbindex % NUM_COL_BYTES == 0) {
+ s->state = TRAILER;
+ }
+ break;
+ case TRAILER:
+ if (data != 0) {
+ qemu_log_mask(LOG_GUEST_ERROR,
+ "ls013 memory lcd received non-zero data in TRAILER\n");
+ }
+ s->state = LINENO;
+ s->redraw = true;
+ break;
+ }
+ return 0;
+}
+
+static void sm_lcd_update_display(void *arg)
+{
+ lcd_state *s = arg;
+
+ uint8_t *d;
+ uint32_t colour_on, colour_off, colour;
+ int x, y, bpp;
+
+ DisplaySurface *surface = qemu_console_surface(s->con);
+ bpp = surface_bits_per_pixel(surface);
+ d = surface_data(surface);
+
+
+ // If vibrate is on, simply jiggle the display
+ if (s->vibrate_on) {
+ if (s->vibrate_offset == 0) {
+ s->vibrate_offset = 2;
+ }
+ int bytes_per_pixel;
+ switch (bpp) {
+ case 8:
+ bytes_per_pixel = 1;
+ break;
+ case 15:
+ case 16:
+ bytes_per_pixel = 2;
+ break;
+ case 32:
+ bytes_per_pixel = 4;
+ break;
+ default:
+ abort();
+ }
+ int total_bytes = NUM_ROWS * NUM_COLS * bytes_per_pixel
+ - abs(s->vibrate_offset) * bytes_per_pixel;
+ if (s->vibrate_offset > 0) {
+ memmove(d, d + s->vibrate_offset * bytes_per_pixel, total_bytes);
+ } else {
+ memmove(d - s->vibrate_offset * bytes_per_pixel, d, total_bytes);
+ }
+ s->vibrate_offset *= -1;
+ dpy_gfx_update(s->con, 0, 0, NUM_COLS, NUM_ROWS);
+ return;
+ }
+
+ if (!s->redraw) {
+ return;
+ }
+
+ // Adjust the white level to compensate for the set brightness.
+ // brightness = 0: 255 in maps to 170 out
+ // brightness = 1.0: 255 in maps to 255 out
+ float brightness = s->backlight_enabled ? s->brightness : 0.0;
+ int max_val = 170 + (255 - 170) * brightness;
+
+ /* set colours according to bpp */
+ switch (bpp) {
+ case 8:
+ colour_on = rgb_to_pixel8(max_val, max_val, max_val);
+ colour_off = rgb_to_pixel8(0x00, 0x00, 0x00);
+ break;
+ case 15:
+ colour_on = rgb_to_pixel15(max_val, max_val, max_val);
+ colour_off = rgb_to_pixel15(0x00, 0x00, 0x00);
+ break;
+ case 16:
+ colour_on = rgb_to_pixel16(max_val, max_val, max_val);
+ colour_off = rgb_to_pixel16(0x00, 0x00, 0x00);
+ case 24:
+ colour_on = rgb_to_pixel24(max_val, max_val, max_val);
+ colour_off = rgb_to_pixel24(0x00, 0x00, 0x00);
+ break;
+ case 32:
+ colour_on = rgb_to_pixel32(max_val, max_val, max_val);
+ colour_off = rgb_to_pixel32(0x00, 0x00, 0x00);
+ break;
+ default:
+ return;
+ }
+
+ for (y = 0; y < NUM_ROWS; y++) {
+ for (x = 0; x < NUM_COLS; x++) {
+ /* Rotate the display if necessary */
+ int xr = (s->rotate_display) ? NUM_COLS - 1 - x : x;
+ int yr = (s->rotate_display) ? NUM_ROWS - 1 - y : y;
+ bool on = s->framebuffer[yr * NUM_COL_BYTES + xr / 8] & 1 << (xr % 8);
+ colour = on ? colour_on : colour_off;
+ switch(bpp) {
+ case 8:
+ *((uint8_t *)d) = colour;
+ d++;
+ break;
+ case 15:
+ case 16:
+ *((uint16_t *)d) = colour;
+ d += 2;
+ break;
+ case 24:
+ abort();
+ case 32:
+ *((uint32_t *)d) = colour;
+ d += 4;
+ break;
+ }
+ }
+ }
+
+ dpy_gfx_update(s->con, 0, 0, NUM_COLS, NUM_ROWS);
+ s->redraw = false;
+}
+
+static void sm_lcd_invalidate_display(void *arg)
+{
+ lcd_state *s = arg;
+ s->redraw = true;
+}
+
+
+// -----------------------------------------------------------------------------
+static void sm_lcd_backlight_enable_cb(void *opaque, int n, int level)
+{
+ lcd_state *s = (lcd_state *)opaque;
+ assert(n == 0);
+
+ bool enable = (level != 0);
+ if (s->backlight_enabled != enable) {
+ s->backlight_enabled = enable;
+ s->redraw = true;
+ }
+}
+
+
+// -----------------------------------------------------------------------------
+// Set brightness, from 0 to 255
+static void sm_lcd_set_backlight_level_cb(void *opaque, int n, int level)
+{
+ lcd_state *s = (lcd_state *)opaque;
+ assert(n == 0);
+
+ float bright_f = (float)level / 255;
+
+ // Temp hack - the Pebble sets the PWM to 25% for max brightness
+ float new_setting = MIN(1.0, bright_f * 4);
+ if (new_setting != s->brightness) {
+ s->brightness = MIN(1.0, bright_f * 4);
+ if (s->backlight_enabled) {
+ s->redraw = true;
+ }
+ }
+}
+
+
+// -----------------------------------------------------------------------------
+static void sm_lcd_vibe_ctl(void *opaque, int n, int level)
+{
+ lcd_state *s = (lcd_state *)opaque;
+ assert(n == 0);
+
+ s->vibrate_on = (level != 0);
+}
+
+// -----------------------------------------------------------------------------
+static void sm_lcd_power_ctl(void *opaque, int n, int level)
+{
+ lcd_state *s = (lcd_state *)opaque;
+ assert(n == 0);
+
+ if (!level && s->power_on) {
+ memset(&s->framebuffer, 0, sizeof(s->framebuffer));
+ s->redraw = true;
+ s->power_on = false;
+ }
+ s->power_on = !!level;
+}
+
+
+static void sm_lcd_reset(DeviceState *dev)
+{
+ lcd_state *s = (lcd_state *)dev;
+ memset(&s->framebuffer, 0, sizeof(s->framebuffer));
+ s->redraw = true;
+}
+
+
+// -----------------------------------------------------------------------------
+static const GraphicHwOps sm_lcd_ops = {
+ .gfx_update = sm_lcd_update_display,
+ .invalidate = sm_lcd_invalidate_display,
+};
+
+static void sm_lcd_init(SSISlave *dev, Error **pError)
+{
+ lcd_state *s = FROM_SSI_SLAVE(lcd_state, dev);
+
+ s->brightness = 0.0;
+
+ s->con = graphic_console_init(DEVICE(dev), 0, &sm_lcd_ops, s);
+ qemu_console_resize(s->con, NUM_COLS, NUM_ROWS);
+
+ /* This callback informs us that brightness control is enabled */
+ qdev_init_gpio_in_named(DEVICE(dev), sm_lcd_backlight_enable_cb,
+ "backlight_enable", 1);
+
+ /* This callback informs us of the brightness level (from 0 to 255) */
+ qdev_init_gpio_in_named(DEVICE(dev), sm_lcd_set_backlight_level_cb,
+ "backlight_level", 1);
+
+ /* This callback informs us that the vibrate is on/orr */
+ qdev_init_gpio_in_named(DEVICE(dev), sm_lcd_vibe_ctl,
+ "vibe_ctl", 1);
+
+ /* This callback informs us that power is on/off */
+ qdev_init_gpio_in_named(DEVICE(dev), sm_lcd_power_ctl,
+ "power_ctl", 1);
+}
+
+static Property sm_lcd_init_properties[] = {
+ DEFINE_PROP_BOOL("rotate_display", lcd_state, rotate_display, true),
+ DEFINE_PROP_END_OF_LIST()
+};
+
+static void sm_lcd_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+ SSISlaveClass *k = SSI_SLAVE_CLASS(klass);
+
+ k->realize = sm_lcd_init;
+ k->transfer = sm_lcd_transfer;
+ k->cs_polarity = SSI_CS_LOW;
+ k->parent_class.reset = sm_lcd_reset;
+ device_class_set_props(dc, sm_lcd_init_properties);
+}
+
+static const TypeInfo sm_lcd_info = {
+ .name = "sm-lcd",
+ .parent = TYPE_SSI_SLAVE,
+ .instance_size = sizeof(lcd_state),
+ .class_init = sm_lcd_class_init,
+};
+
+static void sm_lcd_register(void)
+{
+ type_register_static(&sm_lcd_info);
+}
+
+type_init(sm_lcd_register);
diff --git a/hw/display/pebble_snowy_display.c b/hw/display/pebble_snowy_display.c
new file mode 100644
index 0000000000000..10d8e783c0d2f
--- /dev/null
+++ b/hw/display/pebble_snowy_display.c
@@ -0,0 +1,2186 @@
+/*-
+ * Copyright (c) 2014
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+/*
+ * 8-bit color display connected through SPI bus. The 8 bits are organized as (starting from MSB):
+ * 2 bits red, 2 bits green, 2 bits blue, 2 bits of 0.
+ *
+ * This display is used in the Pebble Snowy platform and actually represents an FPGA connected
+ * to a LPM012A220A display. The FPGA implements the SPI interface.
+ *
+ * Some example colors:
+ * black: 0x00
+ * white: 0xFC
+ * red: 0xC0
+ * green: 0x30
+ * blue: 0x0C
+ *
+ *
+ * This device implements various versions of the FPGA programming, identified by the
+ * PDisplayCmdSet enum:
+ *
+ * PDISPLAY_CMD_SET_0:
+ * -------------------
+ * This is used by the boot loader and has cmd IDs that tell the FPGA to display pre-canned
+ * images
+ *
+ *
+ * PDISPLAY_CMD_SET_1:
+ * -------------------
+ * The display expects complete frames to be setn through the SPI bus, one column at a time
+ * starting from the left-most column, each column sent from bottom to top. The bits and bytes
+ * in each column are scrambled however and need to be unscrambled before placing them into the
+ * framebuffer.
+ */
+
+#include
+
+#include "qemu/osdep.h"
+#include "qemu-common.h"
+#include "ui/console.h"
+#include "ui/pixel_ops.h"
+#include "hw/ssi.h"
+#include "pebble_snowy_display.h"
+#include "pebble_snowy_display_overlays.h"
+
+//#define DEBUG_PEBBLE_SNOWY_DISPLAY
+#ifdef DEBUG_PEBBLE_SNOWY_DISPLAY
+// NOTE: The usleep() helps the MacOS stdout from freezing when we have a lot of print out
+#define DPRINTF(fmt, ...) \
+ do { printf("PEBBLE_SNOWY_DISPLAY: " fmt , ## __VA_ARGS__); \
+ usleep(1000); \
+ } while (0)
+#else
+#define DPRINTF(fmt, ...)
+#endif
+
+
+// Colors
+#define SNOWY_COLOR_BLACK 0
+#define SNOWY_COLOR_WHITE 0xFC
+#define SNOWY_COLOR_RED 0xC0
+#define SNOWY_COLOR_GREEN 0x30
+#define SNOWY_COLOR_BLUE 0x0C
+
+
+/* Various states the Display can be in */
+typedef enum {
+ PSDISPLAYSTATE_PROGRAMMING,
+ PSDISPLAYSTATE_ACCEPTING_CMD,
+ PSDISPLAYSTATE_ACCEPTING_PARAM,
+ PSDISPLAYSTATE_ACCEPTING_SCENE_BYTE,
+ PSDISPLAYSTATE_ACCEPTING_FRAME_DATA, // used in PSDISPLAY_CMD_SET_1 command set
+} PSDisplayState;
+
+#ifdef DEBUG_PEBBLE_SNOWY_DISPLAY
+static const char *s_display_state[] = {
+ "PSDISPLAYSTATE_PROGRAMMING",
+ "PSDISPLAYSTATE_ACCEPTING_CMD",
+ "PSDISPLAYSTATE_ACCEPTING_PARAM",
+ "PSDISPLAYSTATE_ACCEPTING_SCENE_BYTE",
+ "PSDISPLAYSTATE_ACCEPTING_FRAME_DATA"
+};
+#endif
+
+// Which command set the FPGA is implementing
+typedef enum {
+ PSDISPLAY_CMD_SET_UNKNOWN,
+ PSDISPLAY_CMD_SET_0, // Boot ROM built on Dec 10, 2014
+ PSDISPLAY_CMD_SET_1, // FW ROM built on Jan 9, 2015
+} PDisplayCmdSet;
+
+
+/* Commands for PSDISPLAY_CMD_SET_0. We accept these while in the
+ * PSDISPLAYSTATE_ACCEPTING_CMD state. These are implemented in the first boot loader
+ * ROM built Dec 2014 */
+typedef enum {
+ PSDISPLAYCMD0_NULL = 0,
+ PSDISPLAYCMD0_SET_PARAMETER = 1,
+ PSDISPLAYCMD0_DISPLAY_OFF = 2,
+ PSDISPLAYCMD0_DISPLAY_ON = 3,
+ PSDISPLAYCMD0_DRAW_SCENE = 4
+} PDisplayCmd0;
+
+
+/* Commands for PSDISPLAY_CMD_SET_1. We accept these while in the
+ * PSDISPLAYSTATE_ACCEPTING_CMD state. These are implemented in the firmware
+ * buit Jan 2015 */
+typedef enum {
+ PSDISPLAYCMD1_FRAME_BEGIN = 5,
+} PDisplayCmd1;
+
+
+// Scene numbers put into cmd_parameter and used by the PSDISPLAYCMD0_DRAW_SCENE command.
+typedef enum {
+ PSDISPLAYSCENE_BLACK = 0,
+ PSDISPLAYSCENE_SPLASH = 1, // splash screen
+ PSDISPLAYSCENE_UPDATE = 2, // firmware update
+ PSDISPLAYSCENE_ERROR = 3 // display error code
+} PDisplayScene;
+
+
+typedef struct {
+ SSISlave ssidev;
+
+ // -----------------------------------------------------------------
+ // Properties
+ union {
+ void *vdone_output;
+ qemu_irq done_output;
+ };
+
+ // This output line gets asserted (low) when we are done processing a drawing command.
+ // It is generally to an IRQ
+ union {
+ void *vintn_output;
+ qemu_irq intn_output;
+ };
+
+ uint32_t num_rows;
+ uint32_t num_cols;
+ int32_t num_border_rows;
+ int32_t num_border_cols;
+ uint8_t row_major;
+ uint8_t row_inverted;
+ uint8_t col_inverted;
+ uint8_t round_mask;
+
+ // -------------------------------------------------------------------
+ // Other state variables
+ QemuConsole *con;
+ bool redraw;
+ uint32_t bytes_per_row;
+ uint32_t bytes_per_frame;
+ uint8_t *framebuffer;
+ uint8_t *framebuffer_copy;
+ int col_index;
+ int row_index;
+ bool backlight_enabled;
+ float brightness;
+ bool power_on;
+
+ /* State variables */
+ PSDisplayState state;
+ uint8_t cmd;
+ uint32_t parameter;
+ uint32_t parameter_byte_offset;
+ PDisplayScene scene;
+
+ bool sclk_value;
+ bool cs_value; // low means asserted
+
+ bool vibrate_on;
+ int vibrate_offset;
+
+ /* We capture the first 256 bytes of the programming and inspect it to try and figure
+ * out which command set to expect */
+ uint8_t prog_header[256];
+ uint32_t prog_byte_offset;
+
+ // Which command set we are emulating
+ PDisplayCmdSet cmd_set;
+
+} PSDisplayGlobals;
+
+static uint8_t *get_pebble_logo_4colors_image(int *width, int *height);
+static uint8_t *get_dead_face_image(int *width, int *height);
+static uint8_t *get_small_pebble_logo_image(int *width, int *height);
+static uint8_t *get_url_image(int *width, int *height);
+static uint8_t *get_pixel_mask(void);
+
+static uint32_t display_bytes = 0;
+static uint32_t frameno = 0;
+
+static void ps_set_state(PSDisplayGlobals *s, PSDisplayState new_state) {
+ DPRINTF("state change from %u (%s) to %u (%s) frame: %u - bytes: %u\n",
+ s->state, s_display_state[s->state], new_state, s_display_state[new_state], frameno, display_bytes);
+ s->state = new_state;
+}
+
+// -----------------------------------------------------------------------------
+static void ps_set_redraw(PSDisplayGlobals *s) {
+ s->redraw = true;
+ memmove(s->framebuffer_copy, s->framebuffer, s->bytes_per_frame);
+}
+
+
+// -----------------------------------------------------------------------------
+static void ps_display_set_pixel(PSDisplayGlobals *s, uint32_t x, uint32_t y,
+ uint8_t pixel_byte) {
+ s->framebuffer[y * s->bytes_per_row + x] = pixel_byte;
+}
+
+
+// -----------------------------------------------------------------------------
+// Draw an 8-bits per pixel bitmap to the framebuffer
+static void ps_display_draw_8bpp_bitmap(PSDisplayGlobals *s, uint8_t *bytes,
+ uint32_t x_offset, uint32_t y_offset, uint32_t width, uint32_t height)
+{
+ uint32_t pixels = width * height;
+
+ int i;
+ for (i = 0; i < pixels; ++i) {
+ uint8_t value = bytes[i];
+ uint8_t x = x_offset + (i % width);
+ uint8_t y = y_offset + (i / width);
+ ps_display_set_pixel(s, x, y, value);
+ }
+}
+
+/*
+// -----------------------------------------------------------------------------
+// Draw a 1-bit per pixel bitmap to the framebuffer
+static void ps_display_draw_1bpp_bitmap(PSDisplayGlobals *s, uint8_t *bits,
+ uint32_t x_offset, uint32_t y_offset, uint32_t width, uint32_t height) {
+ uint32_t pixels = width * height;
+
+ for (int i = 0; i < pixels; ++i) {
+ bool value = bits[i / 8] & (1 << (i % 8));
+ uint8_t x = x_offset + (i % width);
+ uint8_t y = y_offset + (i / width);
+ if (value) {
+ ps_display_set_pixel(s, x, y, 0xFC);
+ } else {
+ ps_display_set_pixel(s, x, y, 0x00);
+ }
+ }
+}
+*/
+
+/* -----------------------------------------------------------------------------
+ Scan through the first part of the programming data and try and determine which
+ command set the FPGA is implementing. Here is an example of the data comprising
+ the programming for PSDISPLAY_CMD_SET_BOOT_0:
+
+ 39F0: FF 00 4C 61 74 74 69 63 65 00 69 43 45 63 pG..Lattice.iCEc
+ 3A00: 75 62 65 32 20 32 30 31 34 2E 30 38 2E 32 36 37 ube2 2014.08.267
+ 3A10: 32 33 00 50 61 72 74 3A 20 69 43 45 34 30 4C 50 23.Part: iCE40LP
+ 3A20: 31 4B 2D 43 4D 33 36 00 44 61 74 65 3A 20 44 65 1K-CM36.Date: De
+ 3A30: 63 20 31 30 20 32 30 31 34 20 30 38 3A 33 30 3A c 10 2014 08:30:
+ 3A40: 00 FF 31 38 00 7E AA 99 7E 51 00 01 05 92 00 20 ..18.~..~Q.....
+ 3A50: 62 01 4B 72 00 90 82 00 00 11 00 01 01 00 00 00 b.Kr........... */
+static void ps_display_determine_command_set(PSDisplayGlobals *s)
+{
+ // Table of programming header dates and command sets
+ typedef struct {
+ const char *date_str;
+ PDisplayCmdSet cmd_set;
+ } CommandSetInfo;
+ static const CommandSetInfo cmd_sets[] = {
+ {"Date: Dec 10 2014 08:30", PSDISPLAY_CMD_SET_0},
+ {"Date: Jan 9 2015 10:49:47", PSDISPLAY_CMD_SET_1},
+ {"Date: Jan 30 2015 15:11:", PSDISPLAY_CMD_SET_1},
+ {"Date: Jan 30 2015 15:10:", PSDISPLAY_CMD_SET_1},
+ };
+
+
+ // Make sure prog_header is null terminated
+ if (s->prog_byte_offset >= sizeof(s->prog_header)) {
+ s->prog_byte_offset = sizeof(s->prog_header) - 1;
+ }
+ s->prog_header[s->prog_byte_offset] = 0;
+
+ // Default one to use
+ s->cmd_set = PSDISPLAY_CMD_SET_1;
+
+ // Skip first two bytes which contain 0xFF 00
+ int i;
+ for (i=2; iprog_byte_offset; i++) {
+ const char *str_p = (const char *)s->prog_header + i;
+
+ DPRINTF("%s: found '%s' string in programming header\n", __func__, str_p);
+
+ // Look for a string that starts with "Date:"
+ if (!strncmp(str_p, "Date:", 5)) {
+ int n_cmd_sets = sizeof(cmd_sets) / sizeof(cmd_sets[0]);
+ int n;
+ for (n=0; ncmd_set = cmd_sets[n].cmd_set;
+ DPRINTF("%s: determined command set as %d\n", __func__, s->cmd_set);
+ return;
+ }
+ }
+
+ // We didn't find the command set, bail
+ DPRINTF("PEBBLE_SNOWY_DISPLAY: Unknown FPGA programming with a date"
+ " stamp of '%s'. Defaulting to command set %d\n", str_p, s->cmd_set);
+ return;
+ } else {
+ // Skip this string
+ i += strlen(str_p);
+ }
+
+ }
+
+ // Couldn't find the "Date:" string
+ DPRINTF("PEBBLE_SNOWY_DISPLAY: Error parsing FPGA programming data to"
+ " determine command set. Defaulting to command set %d\n", s->cmd_set);
+ return;
+}
+
+
+// -----------------------------------------------------------------------------
+static void ps_display_reset_state(PSDisplayGlobals *s, bool assert_done)
+{
+ // If we are resetting because we done with the previous command, assert done
+ if (assert_done) {
+ DPRINTF("Asserting done interrupt\n");
+ qemu_set_irq(s->intn_output, false);
+ }
+
+ DPRINTF("Resetting state to accept command\n");
+ ps_set_state(s, PSDISPLAYSTATE_ACCEPTING_CMD);
+ s->parameter_byte_offset = 0;
+}
+
+// -----------------------------------------------------------------------------
+// Implements command PSDISPLAY_CMD_SET_0, used in the first boot ROM, built Dec 2014
+static void ps_display_execute_current_cmd_set0(PSDisplayGlobals *s)
+{
+ int width, height, x_offset, y_offset;
+ uint8_t *pixels;
+
+ DPRINTF("ps_display_execute_current_cmd_set0: cmd: %u -- cs: %s\n", s->cmd, s->cs_value ? "Not CS" : "CS");
+ switch (s->cmd) {
+ case PSDISPLAYCMD0_NULL:
+ DPRINTF("Executing command: NULL\n");
+ ps_display_reset_state(s, true /*assert_done*/);
+ break;
+
+ case PSDISPLAYCMD0_SET_PARAMETER:
+ DPRINTF("Executing command: SET_PARAMETER\n");
+ ps_set_state(s, PSDISPLAYSTATE_ACCEPTING_PARAM);
+ s->parameter_byte_offset = 0;
+ break;
+
+ case PSDISPLAYCMD0_DISPLAY_OFF:
+ DPRINTF("Executing command: DISPLAY_OFF\n");
+ ps_display_reset_state(s, true /*assert_done*/);
+ break;
+
+ case PSDISPLAYCMD0_DISPLAY_ON:
+ DPRINTF("Executing command: DISPLAY_ON\n");
+ ps_display_reset_state(s, true /*assert_done*/);
+ break;
+
+ case PSDISPLAYCMD0_DRAW_SCENE:
+ if (s->state == PSDISPLAYSTATE_ACCEPTING_CMD) {
+ ps_set_state(s, PSDISPLAYSTATE_ACCEPTING_SCENE_BYTE);
+ } else if (s->state == PSDISPLAYSTATE_ACCEPTING_SCENE_BYTE) {
+ DPRINTF("Executing command: DRAW_SCENE: %d\n", s->scene);
+ switch (s->scene) {
+ case PSDISPLAYSCENE_BLACK:
+ memset(s->framebuffer, SNOWY_COLOR_BLACK, s->bytes_per_frame);
+ break;
+ case PSDISPLAYSCENE_SPLASH:
+ pixels = get_pebble_logo_4colors_image(&width, &height);
+ x_offset = (s->num_cols - width)/2;
+ y_offset = (s->num_rows - height)/2;
+ ps_display_draw_8bpp_bitmap(s, pixels, x_offset, y_offset, width, height);
+ break;
+ case PSDISPLAYSCENE_UPDATE:
+ // NOTE: We do not yet support showing the progress bar, which should show
+ // the progress percent as indicated by s->parameter
+ pixels = get_small_pebble_logo_image(&width, &height);
+ x_offset = (s->num_cols - width)/2;
+ y_offset = s->num_rows - height - 88;
+ ps_display_draw_8bpp_bitmap(s, pixels, x_offset, y_offset, width, height);
+ break;
+ case PSDISPLAYSCENE_ERROR:
+ // NOTE: We do not yet support showing the error code, which should show
+ // the error in hex as indicated by s->parameter
+ pixels = get_dead_face_image(&width, &height);
+ x_offset = (s->num_cols - width)/2;
+ y_offset = s->num_rows - height - 92;
+ ps_display_draw_8bpp_bitmap(s, pixels, x_offset, y_offset, width, height);
+
+ pixels = get_url_image(&width, &height);
+ x_offset = (s->num_cols - width)/2;
+ y_offset = (s->num_rows - height - 10);
+ ps_display_draw_8bpp_bitmap(s, pixels, x_offset, y_offset, width, height);
+ break;
+ default:
+ DPRINTF("PEBBLE_SNOWY_DISPLAY: Unsupported scene: %d\n", s->scene);
+ break;
+ }
+ ps_display_reset_state(s, true /*assert_done*/);
+ ps_set_redraw(s);
+ } else {
+ DPRINTF("PEBBLE_SNOWY_DISPLAY: Tried to execute draw scene in "
+ "wrong state: %d\n", s->state);
+ ps_display_reset_state(s, true /*assert_done*/);
+ }
+ break;
+
+ default:
+ DPRINTF("PEBBLE_SNOWY_DISPLAY: Unsupported cmd: %d\n", s->cmd);
+ ps_display_reset_state(s, true /*assert_done*/);
+ break;
+ }
+}
+
+// -----------------------------------------------------------------------------
+// Implements command set PSDISPLAY_CMD_SET_1, used in the firmware, built Jan 2015
+static void ps_display_execute_current_cmd_set1(PSDisplayGlobals *s)
+{
+
+ DPRINTF("ps_display_execute_current_cmd_set1: cmd: %u -- cs: %s\n", s->cmd, s->cs_value ? "Not CS" : "CS");
+ switch (s->cmd) {
+ case PSDISPLAYCMD1_FRAME_BEGIN:
+ DPRINTF("Executing command: FRAME_BEGIN\n");
+ if (s->row_major) {
+ if (s->row_inverted) {
+ // Expect to be sent rows, bottom to top
+ s->row_index = s->num_rows - s->num_border_rows - 1;
+ s->col_index = s->num_border_cols;
+ } else {
+ // Expect to be sent rows, top to bottom
+ s->row_index = s->num_border_rows;
+ s->col_index = s->num_border_cols;
+ }
+ } else {
+ // Expect to be sent columns, left to right
+ s->row_index = s->num_rows - s->num_border_rows - 1;
+ s->col_index = s->num_border_cols;
+ }
+ ps_set_state(s, PSDISPLAYSTATE_ACCEPTING_FRAME_DATA);
+ // Just say we are done immediately. We can accept more data right away.
+ qemu_set_irq(s->intn_output, false);
+ break;
+
+ default:
+ DPRINTF("PEBBLE_SNOWY_DISPLAY: Unsupported cmd: %d\n", s->cmd);
+ ps_display_reset_state(s, true /*assert_done*/);
+ break;
+ }
+}
+
+
+// -----------------------------------------------------------------------------
+static void ps_display_cmd_set_2_unscramble_column(PSDisplayGlobals *s, uint32_t col_index)
+{
+ int row_idx;
+ const int line_bytes = s->num_rows - 2 * s->num_border_rows;
+ uint8_t col_buffer[line_bytes];
+
+ // Copy the column into temp buffer first, without border pixels
+ for (row_idx = 0; row_idx < line_bytes; row_idx++) {
+ col_buffer[row_idx] = s->framebuffer[(row_idx + s->num_border_rows) * s->bytes_per_row
+ + col_index];
+ }
+
+ // Unscramble the bytes in the scanline.
+ //
+ // In the desription below, the bits in the first pixel in a column are
+ // identified as follows:
+ // r0_msb r0_lsb g0_msb g0_lsb b0_msb b0_lsb 0 0
+ // The second pixel:
+ // r1_msb r1_lsb g1_msb g1_lsb b1_msb b1_lsb 0 0
+ //
+ // Each scan line contains N bytes of data for the N pixels.
+ // [LSB0 LSB2 .................LSBN MSB0 MSB2 ....................MSBN]
+ //
+ // LSB0 contains the following bits:
+ // 0 0 r1_lsb r0_lsb g1_lsb g0_lsb b1_lsb b0_lsb
+ // MSB0 contains the following bits:
+ // 0 0 r1_msb r0_msb g1_msb g0_msb b1_msb b0_msb
+
+ // LSB2 contains the following bits:
+ // 0 0 r3_lsb r2_lsb g3_lsb g2_lsb b3_lsb b2_lsb
+ // MSB2 contains the following bits:
+ // 0 0 r3_msb r2_msb g3_msb g2_msb b3_msb b2_msb
+ //
+ uint8_t ms_bits, ls_bits;
+ for (row_idx = 0; row_idx < line_bytes; row_idx += 2) {
+ ls_bits = col_buffer[row_idx/2];
+ ms_bits = col_buffer[row_idx/2 + line_bytes/2];
+
+ // Form the 2 pixels whose data is found in ls_bits and ms_bits
+ uint8_t pixel_0, pixel_1;
+ pixel_0 = ((ms_bits & 0b00010101) << 1) | (ls_bits & 0b00010101);
+ pixel_0 <<= 2;
+ pixel_1 = (ms_bits & 0b00101010) | ((ls_bits & 0b00101010) >> 1);
+ pixel_1 <<= 2;
+
+ // Write them to the frame buffer
+ s->framebuffer[(row_idx + s->num_border_rows) * s->bytes_per_row
+ + col_index] = pixel_0;
+ s->framebuffer[(row_idx + s->num_border_rows + 1) * s->bytes_per_row
+ + col_index] = pixel_1;
+ }
+}
+
+
+// -----------------------------------------------------------------------------
+static void ps_display_cmd_set_2_unscramble_row(PSDisplayGlobals *s, uint32_t row_index)
+{
+ const int line_bytes = s->num_cols - 2 * s->num_border_cols;
+ uint8_t row_buffer[line_bytes];
+ uint8_t *fb = &s->framebuffer[row_index * s->bytes_per_row + s->num_border_cols];
+
+ // Copy the row into temp buffer first, without border pixels
+ memcpy(row_buffer, fb, line_bytes);
+
+ // Unscramble the bytes in the scanline.
+ //
+ // In the desription below, the bits in the first pixel in a column are
+ // identified as follows:
+ // r0_msb r0_lsb g0_msb g0_lsb b0_msb b0_lsb 0 0
+ // The second pixel:
+ // r1_msb r1_lsb g1_msb g1_lsb b1_msb b1_lsb 0 0
+ //
+ // Each scan line contains N bytes of data for the N pixels.
+ // [LSB0 LSB2 .................LSBN MSB0 MSB2 ....................MSBN]
+ //
+ // LSB0 contains the following bits:
+ // 0 0 r1_lsb r0_lsb g1_lsb g0_lsb b1_lsb b0_lsb
+ // MSB0 contains the following bits:
+ // 0 0 r1_msb r0_msb g1_msb g0_msb b1_msb b0_msb
+
+ // LSB2 contains the following bits:
+ // 0 0 r3_lsb r2_lsb g3_lsb g2_lsb b3_lsb b2_lsb
+ // MSB2 contains the following bits:
+ // 0 0 r3_msb r2_msb g3_msb g2_msb b3_msb b2_msb
+ //
+ for (int col_idx = 0; col_idx < line_bytes; col_idx += 2) {
+ const uint8_t ms_bits = row_buffer[col_idx / 2];
+ const uint8_t ls_bits = row_buffer[col_idx / 2 + line_bytes / 2];
+
+ // Form the 2 pixels whose data is found in ls_bits and ms_bits
+ uint8_t pixel_0, pixel_1;
+ pixel_0 = ((ms_bits & 0b00010101) << 1) | (ls_bits & 0b00010101);
+ pixel_0 <<= 2;
+ pixel_1 = (ms_bits & 0b00101010) | ((ls_bits & 0b00101010) >> 1);
+ pixel_1 <<= 2;
+
+ // Write them to the frame buffer
+ if (s->col_inverted) {
+ fb[line_bytes - col_idx - 2] = pixel_0;
+ fb[line_bytes - col_idx - 1] = pixel_1;
+ } else {
+ fb[col_idx] = pixel_1;
+ fb[col_idx + 1] = pixel_0;
+ }
+ }
+}
+
+static bool newdisp = true;
+
+// -----------------------------------------------------------------------------
+static uint32_t ps_display_transfer(SSISlave *dev, uint32_t data)
+{
+ ++display_bytes;
+ PSDisplayGlobals *s = FROM_SSI_SLAVE(PSDisplayGlobals, dev);
+ uint32_t data_byte = data & 0x00FF;
+
+ //DPRINTF("rcv byte: 0x%02x\n", data_byte);
+
+ /* Ignore incoming data if our chip select is not asserted */
+ if (s->cs_value) {
+ if (s->state != PSDISPLAYSTATE_PROGRAMMING) {
+ DPRINTF("PEBBLE_SNOWY_DISPLAY: received data without CS asserted");
+ }
+ return 0;
+ }
+
+ switch(s->state) {
+ case PSDISPLAYSTATE_PROGRAMMING:
+ // Capture the start of the programming data
+ if (s->prog_byte_offset < sizeof(s->prog_header)) {
+ s->prog_header[s->prog_byte_offset++] = data_byte;
+ }
+ break;
+
+ case PSDISPLAYSTATE_ACCEPTING_CMD:
+ s->cmd = data_byte;
+ DPRINTF("received command %d, deasserting done interrupt\n", s->cmd);
+
+ // Start of a command. Deassert done interrupt, it will get asserted again when
+ // ps_display_reset_state() is called at the end of the command
+ qemu_set_irq(s->intn_output, true);
+
+ if (s->cmd_set == PSDISPLAY_CMD_SET_0) {
+ ps_display_execute_current_cmd_set0(s);
+ } else if (s->cmd_set == PSDISPLAY_CMD_SET_1) {
+ ps_display_execute_current_cmd_set1(s);
+ } else {
+ DPRINTF("Unimplemeneted command set\n");
+ abort();
+ }
+ break;
+
+ case PSDISPLAYSTATE_ACCEPTING_PARAM:
+
+ DPRINTF("received param byte %d\n", data_byte);
+ /* Params are sent low byte first */
+ if (s->parameter_byte_offset == 0) {
+ s->parameter = (s->parameter & 0xFFFFFF00) | data_byte;
+ } else if (s->parameter_byte_offset == 1) {
+ s->parameter = (s->parameter & 0xFFFF00FF) | (data_byte << 8);
+ } else if (s->parameter_byte_offset == 2) {
+ s->parameter = (s->parameter & 0xFF00FFFF) | (data_byte << 16);
+ } else if (s->parameter_byte_offset == 3) {
+ s->parameter = (s->parameter & 0x00FFFFFF) | (data_byte << 24);
+ } else {
+ DPRINTF("PEBBLE_SNOWY_DISPLAY: received more than 4 bytes of parameter");
+ }
+
+ s->parameter_byte_offset++;
+ if (s->parameter_byte_offset >= 4) {
+ DPRINTF("assembled complete param value of %d\n", s->parameter);
+ ps_display_reset_state(s, true /*assert_done*/);
+ }
+ break;
+
+ case PSDISPLAYSTATE_ACCEPTING_SCENE_BYTE:
+ s->scene = data_byte;
+ DPRINTF("received scene ID: %d\n", s->scene);
+ ps_display_execute_current_cmd_set0(s);
+ break;
+
+ case PSDISPLAYSTATE_ACCEPTING_FRAME_DATA:
+ if (newdisp) {
+ DPRINTF("New frame? -- 0x%02X, row %d, col %d -- bytes: %u -- cs: %s\n", data, s->row_index, s->col_index, display_bytes, s->cs_value ? "Not CS" : "CS");
+ newdisp = false;
+ }
+ s->framebuffer[s->row_index * s->bytes_per_row + s->col_index] = data;
+ if (s->row_major) {
+ // We get sent one row at a time
+ s->col_index++;
+ if (s->col_index >= s->num_cols - s->num_border_cols) {
+ // Reached end of row, unscramble the one we just received and go onto the
+ // next row
+ ps_display_cmd_set_2_unscramble_row(s, s->row_index);
+ s->col_index = s->num_border_cols;
+ bool got_last_byte;
+ if (s->row_inverted) {
+ s->row_index--;
+ got_last_byte = (s->row_index < s->num_border_rows);
+ } else {
+ s->row_index++;
+ got_last_byte = (s->row_index >= s->num_rows - s->num_border_rows);
+ }
+ if (got_last_byte) {
+ DPRINTF("Got last byte in frame (row) row %d, col %d -- bytes: %u\n",
+ s->row_index, s->col_index, display_bytes);
+ ps_set_state(s, PSDISPLAYSTATE_ACCEPTING_CMD);
+ ps_set_redraw(s);
+ newdisp = true;
+ ++frameno;
+ }
+ }
+ } else {
+ // We get sent one column at a time
+ s->row_index--;
+ if (s->row_index < s->num_border_rows) {
+ // Reached top of column, unscramble the one we just received and go onto the
+ // next column
+ ps_display_cmd_set_2_unscramble_column(s, s->col_index);
+ s->row_index = s->num_rows - s->num_border_rows - 1;
+ s->col_index += 1;
+ if (s->col_index >= s->num_cols - s->num_border_cols) {
+ DPRINTF("Got last byte in frame (col) row %d, col %d\n", s->row_index, s->col_index);
+ ps_set_state(s, PSDISPLAYSTATE_ACCEPTING_CMD);
+ ps_set_redraw(s);
+ newdisp = true;
+ ++frameno;
+ }
+ }
+ }
+ break;
+ }
+ return 0;
+}
+
+
+// -----------------------------------------------------------------------------
+// This function maps an 8 bit value from the frame buffer into red, green, and blue
+// components
+static PSDisplayPixelColor ps_display_get_rgb(PSDisplayGlobals *s, uint8_t pixel_value) {
+
+ PSDisplayPixelColor c;
+ c.red = ((pixel_value & 0xC0) >> 6) * 255 / 3;
+ c.green = ((pixel_value & 0x30) >> 4) * 255 / 3;
+ c.blue = ((pixel_value & 0x0C) >> 2) * 255 / 3;
+
+ // Adjust the pixel RGB to compensate for the set brightness.
+ // brightness = 0: 255 in maps to 170 out
+ // brightness = 1.0: 255 in maps to 255 out
+ float brightness = s->backlight_enabled ? s->brightness : 0.0;
+ int max_val = 170 + (255 - 170) * brightness;
+ c.red = (int)c.red * max_val/255;
+ c.green = (int)c.green * max_val/255;
+ c.blue = (int)c.blue * max_val/255;
+
+ return c;
+
+ /*
+ static PSDisplayPixelColors[256] = {
+ {0, 0, 0 },
+ };
+
+ return PSDisplayPixelColors[pixel_value];
+ */
+}
+
+
+// -----------------------------------------------------------------------------
+static void ps_display_update_display(void *arg)
+{
+ PSDisplayGlobals *s = arg;
+ uint8_t *d;
+ int x, y, bpp, rgb_value;
+
+ DisplaySurface *surface = qemu_console_surface(s->con);
+ bpp = surface_bits_per_pixel(surface);
+ d = surface_data(surface);
+
+
+ // If vibrate is on, simply jiggle the display
+ if (s->vibrate_on) {
+ if (s->vibrate_offset == 0) {
+ s->vibrate_offset = 2;
+ }
+ int bytes_per_pixel;
+ switch (bpp) {
+ case 8:
+ bytes_per_pixel = 1;
+ break;
+ case 15:
+ case 16:
+ bytes_per_pixel = 2;
+ break;
+ case 32:
+ bytes_per_pixel = 4;
+ break;
+ default:
+ abort();
+ }
+ int total_bytes = s->num_rows * s->num_cols * bytes_per_pixel
+ - abs(s->vibrate_offset) * bytes_per_pixel;
+ if (s->vibrate_offset > 0) {
+ memmove(d, d + s->vibrate_offset * bytes_per_pixel, total_bytes);
+ } else {
+ memmove(d - s->vibrate_offset * bytes_per_pixel, d, total_bytes);
+ }
+ s->vibrate_offset *= -1;
+ dpy_gfx_update(s->con, 0, 0, s->num_cols, s->num_rows);
+ return;
+ }
+
+ if (!s->redraw) {
+ return;
+ }
+
+ const bool is_spalding = s->round_mask;
+ const PSDisplayPixelColorWithAlpha *overlay = is_spalding ? g_spalding_overlay : NULL;
+ uint8_t *pixel_mask = get_pixel_mask();
+ for (y = 0; y < s->num_rows; y++) {
+ for (x = 0; x < s->num_cols; x++) {
+ uint32_t offset = y * s->bytes_per_row + x;
+ uint8_t pixel = s->framebuffer_copy[offset];
+ if (s->round_mask) {
+ // Compute the vertical distance from top or bottom edge, whichever is closest
+ int vert_distance = y;
+ if (vert_distance >= s->num_rows/2) {
+ vert_distance = s->num_rows - 1 - y ;
+ }
+ int mask_width = pixel_mask[vert_distance];
+ if (x < mask_width || x >= s->num_cols - mask_width) {
+ pixel = 0;
+ }
+ }
+
+ PSDisplayPixelColor color = ps_display_get_rgb(s, pixel);
+ if (overlay) {
+ const PSDisplayPixelColorWithAlpha blend_color = overlay[offset];
+ const int32_t factor_over = blend_color.alpha;
+ const int32_t factor_dest = 255 - blend_color.alpha;
+ color.red = MIN(255, (factor_over * blend_color.color.red + factor_dest * color.red) / 255);
+ color.green = MIN(255,(factor_over * blend_color.color.green + factor_dest * color.green) / 255);
+ color.blue = MIN(255, (factor_over * blend_color.color.blue + factor_dest * color.blue) / 255);
+ }
+
+ switch(bpp) {
+ case 8:
+ *((uint8_t *)d) = rgb_to_pixel8(color.red, color.green, color.blue);
+ d++;
+ break;
+ case 15:
+ *((uint16_t *)d) = rgb_to_pixel15(color.red, color.green, color.blue);;
+ d += 2;
+ break;
+ case 16:
+ *((uint16_t *)d) = rgb_to_pixel16(color.red, color.green, color.blue);;
+ d += 2;
+ break;
+ case 24:
+ rgb_value = rgb_to_pixel24(color.red, color.green, color.blue);
+ *d++ = (rgb_value & 0x00FF0000) >> 16;
+ *d++ = (rgb_value & 0x0000FF00) >> 8;
+ *d++ = (rgb_value & 0x000000FF);
+ break;
+ case 32:
+ *((uint32_t *)d) = rgb_to_pixel32(color.red, color.green, color.blue);;
+ d += 4;
+ break;
+ }
+ }
+ }
+
+ dpy_gfx_update(s->con, 0, 0, s->num_cols, s->num_rows);
+ s->redraw = false;
+}
+
+// -----------------------------------------------------------------------------
+static int ps_display_set_cs(SSISlave *dev, bool value)
+{
+ PSDisplayGlobals *s = FROM_SSI_SLAVE(PSDisplayGlobals, dev);
+
+ DPRINTF("CS changed to %d\n", value);
+ s->cs_value = value;
+
+ // When CS goes up (unasserted), we are done programming
+ if (value && s->state == PSDISPLAYSTATE_PROGRAMMING) {
+ DPRINTF("Exiting programming mode\n");
+ ps_display_reset_state(s, true /*assert_done*/);
+
+ // Try and figure out which command set the FPGA expects by parsing the
+ // programming data
+ ps_display_determine_command_set(s);
+ }
+
+ return 0;
+}
+
+// -----------------------------------------------------------------------------
+static void ps_display_set_reset_pin_cb(void *opaque, int n, int level)
+{
+ PSDisplayGlobals *s = FROM_SSI_SLAVE(PSDisplayGlobals, opaque);
+ bool value = !!level;
+ assert(n == 0);
+
+ DPRINTF("RESET changed to %d\n", value);
+ qemu_set_irq(s->done_output, false);
+
+ // When reset goes high, sample the CS input to see what state we should be in
+ // if CS is low, expect new FPGA programming to arrive
+ // if CS is high, assume we will be using the bootloader configuration
+ if (value) {
+ // After a reset, we are not done. De-assert our interrupt (asserted low).
+ qemu_set_irq(s->intn_output, true);
+
+ if (s->cs_value) {
+ // Assume we are using the bootloader configuration
+ s->cmd_set = PSDISPLAY_CMD_SET_0;
+ ps_display_reset_state(s, true);
+ } else {
+ ps_set_state(s, PSDISPLAYSTATE_PROGRAMMING);
+ s->prog_byte_offset = 0;
+ }
+ }
+}
+
+// -----------------------------------------------------------------------------
+static void ps_display_set_sclk_pin_cb(void *opaque, int n, int level)
+{
+ PSDisplayGlobals *s = FROM_SSI_SLAVE(PSDisplayGlobals, opaque);
+ assert(n == 0);
+
+ /* Save new value */
+ s->sclk_value = !!level;
+}
+
+
+// -----------------------------------------------------------------------------
+static void ps_display_invalidate_display(void *arg)
+{
+ PSDisplayGlobals *s = arg;
+ s->redraw = true;
+}
+
+// -----------------------------------------------------------------------------
+static const GraphicHwOps ps_display_ops =
+{
+ .gfx_update = ps_display_update_display,
+ .invalidate = ps_display_invalidate_display,
+};
+
+
+// -----------------------------------------------------------------------------
+static void ps_display_backlight_enable_cb(void *opaque, int n, int level)
+{
+ PSDisplayGlobals *s = (PSDisplayGlobals *)opaque;
+ assert(n == 0);
+
+ bool enable = (level != 0);
+ if (s->backlight_enabled != enable) {
+ s->backlight_enabled = enable;
+ s->redraw = true;
+ }
+}
+
+
+// -----------------------------------------------------------------------------
+// Set brightness, from 0 to 255
+static void ps_display_set_backlight_level_cb(void *opaque, int n, int level)
+{
+ PSDisplayGlobals *s = (PSDisplayGlobals *)opaque;
+ assert(n == 0);
+
+ float bright_f = (float)level / 255;
+
+ // Temp hack - the Pebble sets the PWM to 25% for max brightness
+ float new_setting = MIN(1.0, bright_f * 4);
+ if (new_setting != s->brightness) {
+ s->brightness = MIN(1.0, bright_f * 4);
+ if (s->backlight_enabled) {
+ s->redraw = true;
+ }
+ }
+}
+
+// -----------------------------------------------------------------------------
+static void ps_display_vibe_ctl(void *opaque, int n, int level)
+{
+ PSDisplayGlobals *s = (PSDisplayGlobals *)opaque;
+ assert(n == 0);
+
+ s->vibrate_on = (level != 0);
+ s->redraw = true;
+}
+
+
+// -----------------------------------------------------------------------------
+static void ps_display_power_ctl(void *opaque, int n, int level)
+{
+ PSDisplayGlobals *s = (PSDisplayGlobals *)opaque;
+ assert(n == 0);
+
+ if (!level && s->power_on) {
+ memset(s->framebuffer, 0, s->bytes_per_frame);
+ ps_set_redraw(s);
+ s->power_on = false;
+ }
+ s->power_on = !!level;
+}
+
+
+// -----------------------------------------------------------------------------
+static void ps_display_reset(DeviceState *dev)
+{
+ PSDisplayGlobals *s = (PSDisplayGlobals *)dev;
+ memset(s->framebuffer, 0, s->bytes_per_frame);
+ ps_set_redraw(s);
+}
+
+
+// -----------------------------------------------------------------------------
+static int ps_display_init(SSISlave *dev)
+{
+ PSDisplayGlobals *s = FROM_SSI_SLAVE(PSDisplayGlobals, dev);
+
+ s->brightness = 0.0;
+ s->backlight_enabled = false;
+ s->cmd_set = PSDISPLAY_CMD_SET_0;
+ ps_set_state(s, PSDISPLAYSTATE_ACCEPTING_CMD);
+
+ // Allocate the frame buffer
+ s->bytes_per_row = s->num_cols;
+ s->bytes_per_frame = s->bytes_per_row * s->num_rows;
+ s->framebuffer = g_malloc(s->num_rows * s->bytes_per_row);
+ s->framebuffer_copy = g_malloc(s->num_rows * s->bytes_per_row);
+
+ s->con = graphic_console_init(DEVICE(dev), 0, &ps_display_ops, s);
+ qemu_console_resize(s->con, s->num_cols, s->num_rows);
+
+ /* Create our inputs that will be connected to GPIOs from the STM32 */
+ qdev_init_gpio_in_named(DEVICE(dev), ps_display_set_reset_pin_cb,
+ "reset", 1);
+
+ /* Create our inputs that will be connected to GPIOs from the STM32 */
+ qdev_init_gpio_in_named(DEVICE(dev), ps_display_set_sclk_pin_cb,
+ "sclk", 1);
+
+ /* This callback informs us that brightness control is enabled */
+ qdev_init_gpio_in_named(DEVICE(dev), ps_display_backlight_enable_cb,
+ "backlight_enable", 1);
+
+ /* This callback informs us of the brightness level (from 0 to 255) */
+ qdev_init_gpio_in_named(DEVICE(dev), ps_display_set_backlight_level_cb,
+ "backlight_level", 1);
+
+ /* This callback informs us that the vibrate is on/orr */
+ qdev_init_gpio_in_named(DEVICE(dev), ps_display_vibe_ctl,
+ "vibe_ctl", 1);
+
+ /* This callback informs us that power is on/orr */
+ qdev_init_gpio_in_named(DEVICE(dev), ps_display_power_ctl,
+ "power_ctl", 1);
+
+ return 0;
+}
+
+// -----------------------------------------------------------------------------
+static Property ps_display_init_properties[] = {
+ DEFINE_PROP_PTR("done_output", PSDisplayGlobals, vdone_output),
+
+ // NOTE: The "done" flag, asserted low. If unasserted (high), the MPU asssumes the
+ // display is busy.
+ DEFINE_PROP_PTR("intn_output", PSDisplayGlobals, vintn_output),
+
+ DEFINE_PROP_UINT32("num_rows", PSDisplayGlobals, num_rows, 172),
+ DEFINE_PROP_UINT32("num_cols", PSDisplayGlobals, num_cols, 168),
+ DEFINE_PROP_INT32("num_border_rows", PSDisplayGlobals, num_border_rows, 2),
+ DEFINE_PROP_INT32("num_border_cols", PSDisplayGlobals, num_border_cols, 2),
+ DEFINE_PROP_UINT8("row_major", PSDisplayGlobals, row_major, 0),
+ DEFINE_PROP_UINT8("row_inverted", PSDisplayGlobals, row_inverted, 0),
+ DEFINE_PROP_UINT8("col_inverted", PSDisplayGlobals, col_inverted, 0),
+ DEFINE_PROP_UINT8("round_mask", PSDisplayGlobals, round_mask, 0),
+
+ DEFINE_PROP_END_OF_LIST()
+};
+
+
+// -----------------------------------------------------------------------------
+static void ps_display_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+ SSISlaveClass *k = SSI_SLAVE_CLASS(klass);
+
+ dc->props = ps_display_init_properties;
+ k->init = ps_display_init;
+ k->transfer = ps_display_transfer;
+ k->cs_polarity = SSI_CS_LOW;
+ k->set_cs = ps_display_set_cs;
+ k->parent_class.reset = ps_display_reset;
+}
+
+// -----------------------------------------------------------------------------
+static const TypeInfo ps_display_info = {
+ .name = "pebble-snowy-display",
+ .parent = TYPE_SSI_SLAVE,
+ .instance_size = sizeof(PSDisplayGlobals),
+ .class_init = ps_display_class_init,
+};
+
+// -----------------------------------------------------------------------------
+static void ps_display_register(void)
+{
+ type_register_static(&ps_display_info);
+}
+
+// -----------------------------------------------------------------------------
+type_init(ps_display_register);
+
+
+// -------------------------------------------------------------------------
+// The Spalding round display is logically a square 180x180 display with
+// some of the pixels hidden under a mask or missing entirely. The mask
+// is symmetrical both horizontally and vertically: the masks on the
+// left and right side of a line are equal, and the mask on the top half
+// of the display is a mirror image of the bottom half.
+//
+// This array maps the number of pixels masked off for one quadrant of
+// the display. Array element zero is the number of masked pixels from
+// a display corner inwards. Subsequent array elements contain the mask
+// for the adjacent rows or columns moving inwards towards the center
+// of the display.
+static uint8_t *get_pixel_mask(void) {
+
+ static uint8_t pixel_mask[] = {
+ 76, 71, 66, 63, 60, 57, 55, 52, 50, 48, 46, 45, 43, 41, 40, 38, 37,
+ 36, 34, 33, 32, 31, 29, 28, 27, 26, 25, 24, 23, 22, 22, 21, 20, 19,
+ 18, 18, 17, 16, 15, 15, 14, 13, 13, 12, 12, 11, 10, 10, 9, 9, 8, 8, 7,
+ 7, 7, 6, 6, 5, 5, 5, 4, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ };
+ return pixel_mask;
+}
+
+
+static uint8_t *get_pebble_logo_4colors_image(int *width, int *height) {
+
+ // C struct format image converted from 'pebble_logo_4colors.png using png_to_cstruct.py'
+ *width = 110;
+ *height = 30;
+ static uint8_t pebble_logo_4colors[3300] = {
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0xa8, 0xa8, 0xa8, 0xa8, 0x54,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x54, 0xa8, 0xfc, 0xfc, 0xfc, 0xfc, 0xa8, 0xa8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00,
+ 0x00, 0x54, 0xa8, 0xa8, 0xa8, 0xa8, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x54, 0xa8,
+ 0xa8, 0xa8, 0xa8, 0xa8, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x54, 0xa8, 0xfc, 0xfc, 0xfc, 0xfc, 0xa8, 0x54, 0x00, 0x00, 0x00,
+ 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
+ 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xa8, 0xfc, 0xfc, 0xfc, 0xa8, 0xa8, 0xa8, 0xfc, 0xfc, 0xfc, 0xa8,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0xa8,
+ 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xa8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0x00, 0x00, 0x54, 0xfc, 0xfc, 0xfc,
+ 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54,
+ 0xfc, 0xfc, 0xfc, 0xa8, 0xa8, 0xa8, 0xfc, 0xfc, 0xfc, 0xa8, 0x00, 0x00,
+ 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0xa8, 0xfc, 0xfc, 0x54, 0x00, 0x00, 0x00, 0x00, 0x54,
+ 0xa8, 0xfc, 0xfc, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xfc, 0xfc, 0xa8, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0xfc, 0xfc,
+ 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xa8, 0x00, 0xfc, 0xfc,
+ 0xa8, 0x54, 0x00, 0x00, 0x00, 0x00, 0x54, 0xa8, 0xfc, 0xfc, 0x54, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0x00, 0xa8, 0xfc, 0xfc, 0xa8, 0x54,
+ 0x00, 0x00, 0x00, 0x54, 0xa8, 0xfc, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc,
+ 0xfc, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0xa8, 0xfc, 0xfc, 0x54,
+ 0x00, 0x00,
+
+ 0x00, 0x00, 0xa8, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x54, 0xfc, 0xfc, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8,
+ 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8,
+ 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xa8, 0xfc, 0xfc, 0xa8,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0xfc, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0xa8, 0xfc, 0xa8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x54, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0xa8,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0xfc, 0xfc,
+ 0x00, 0x00,
+
+ 0x00, 0xa8, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x54, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc,
+ 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xa8, 0xfc, 0x54, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0x54, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0xfc, 0xa8,
+ 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x54, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x54, 0xfc, 0xa8, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0xfc,
+ 0xa8, 0x00,
+
+ 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xa8, 0xfc, 0x54, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xa8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc,
+ 0x54, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0xfc, 0xa8, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0x54, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8,
+ 0xfc, 0x54,
+
+ 0xa8, 0xfc, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x54, 0xfc, 0x54,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xa8, 0xfc, 0x54, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x54, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0xa8, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0x54, 0x00,
+ 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54,
+ 0xfc, 0xa8,
+
+ 0xa8, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x54,
+ 0xa8, 0xa8, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8,
+ 0xfc, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0xfc, 0x54, 0x00,
+ 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x54, 0xfc, 0x54, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0xa8, 0xa8,
+ 0xfc, 0xfc,
+
+ 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x54, 0xfc, 0x54, 0x00, 0x00, 0xfc, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x54, 0xa8, 0xa8, 0xfc, 0xfc, 0xfc,
+ 0xfc, 0xfc, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8,
+ 0xfc, 0x54, 0x00, 0x00, 0xa8, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xa8, 0x00,
+ 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x54, 0x54, 0xa8, 0xa8, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
+ 0xfc, 0xa8,
+
+ 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x54, 0xfc, 0x54, 0x00, 0x00, 0xfc, 0xfc, 0x54,
+ 0x54, 0xa8, 0xa8, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xa8, 0xa8, 0x54,
+ 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54,
+ 0xfc, 0x54, 0x00, 0x00, 0xa8, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xa8, 0x00,
+ 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0x54, 0x54, 0xa8,
+ 0xa8, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xa8, 0xa8, 0x54, 0x54, 0x00,
+ 0x00, 0x00,
+
+ 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x54, 0xfc, 0x54, 0x00, 0x00, 0xfc, 0xfc, 0xfc,
+ 0xfc, 0xfc, 0xfc, 0xa8, 0xa8, 0x54, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x54, 0x54, 0x00, 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8,
+ 0xfc, 0x54, 0x00, 0x00, 0xa8, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xa8, 0x00,
+ 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0xfc, 0xfc, 0xfc,
+ 0xfc, 0xfc, 0xa8, 0xa8, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x54, 0x54,
+
+ 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0xa8,
+ 0x54, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x54, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8,
+ 0xfc, 0x00, 0x00, 0x00, 0x54, 0xfc, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0xfc, 0x54, 0x00,
+ 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x54, 0xfc, 0xa8, 0x54, 0x54,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xfc, 0xa8,
+
+ 0xfc, 0xfc, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x54, 0xfc, 0x54,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xa8, 0xfc, 0x54, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0x54, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0xa8, 0x00, 0x00, 0x00, 0x54, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0x54, 0x00,
+ 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54,
+ 0xfc, 0xa8,
+
+ 0xfc, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xa8, 0xfc, 0x54, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x54, 0xfc, 0xa8, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc,
+ 0x54, 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0xfc, 0xa8, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0x54, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8,
+ 0xfc, 0x00,
+
+ 0xfc, 0xfc, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x54, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0xfc,
+ 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xa8, 0xfc, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0x54, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0xfc, 0xa8,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x54, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x54, 0xfc, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc,
+ 0xa8, 0x00,
+
+ 0xfc, 0xa8, 0xa8, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x54, 0xfc, 0xfc, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8,
+ 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8,
+ 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xa8,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0xfc, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0xa8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x54, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xa8, 0xfc, 0x54, 0x00, 0x00, 0x00, 0x00, 0x54, 0xfc, 0xfc,
+ 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0xa8,
+ 0x00, 0x00,
+
+ 0xfc, 0xa8, 0x00, 0xa8, 0xfc, 0xfc, 0x54, 0x00, 0x00, 0x00, 0x00, 0x54,
+ 0xa8, 0xfc, 0xfc, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xa8, 0xfc, 0xfc, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0xfc,
+ 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc,
+ 0xa8, 0x54, 0x00, 0x00, 0x00, 0x00, 0x54, 0xa8, 0xfc, 0xfc, 0x54, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc, 0xfc, 0xa8, 0x54,
+ 0x00, 0x00, 0x00, 0x54, 0xa8, 0xfc, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x54, 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8, 0xfc,
+ 0xfc, 0xa8, 0x54, 0x00, 0x00, 0x00, 0x00, 0x54, 0xfc, 0xfc, 0xa8, 0x00,
+ 0x00, 0x00,
+
+ 0xfc, 0xa8, 0x00, 0x00, 0xa8, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
+ 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x54, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x54,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8,
+ 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xa8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0xfc, 0xfc, 0xfc,
+ 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xa8, 0xfc, 0xfc, 0x54, 0x00, 0x00, 0x00, 0x00, 0x54,
+ 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xa8, 0x00, 0x00,
+ 0x00, 0x00,
+
+ 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x54, 0xa8, 0xa8, 0xa8, 0xa8, 0x54,
+ 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x54, 0xa8, 0xa8, 0xfc, 0xa8, 0xa8, 0x54, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x54, 0xa8, 0xa8, 0xa8, 0xa8, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0xa8,
+ 0xa8, 0xa8, 0xa8, 0xa8, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x54, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x54, 0xa8, 0xa8, 0xfc, 0xa8, 0xa8, 0x54, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00,
+
+ 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00,
+
+ 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00,
+
+ 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00,
+
+ 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00,
+
+ 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00,
+
+ 0xfc, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00,
+
+ };
+ return pebble_logo_4colors;
+}
+
+
+// C struct format image converted from 'dead_face.png' using png_to_cstruct.py
+static uint8_t *get_dead_face_image(int *width, int *height) {
+
+ *width = 88;
+ *height = 44;
+ static uint8_t dead_face[3872] = {
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0xfc, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc,
+ 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0xfc, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc,
+ 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
+ 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
+ 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
+ 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
+ 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc,
+ 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc,
+ 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc,
+ 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0xfc, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xfc, 0xfc, 0x00, 0x00,
+
+ 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xfc, 0xfc, 0x00,
+
+ 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0xfc,
+
+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xfc,
+
+ };
+ return dead_face;
+}
+
+// C struct format image converted from 'small_pebble_logo.png' using png_to_cstruct.py
+static uint8_t *get_small_pebble_logo_image(int *width, int *height) {
+
+ *width = 67;
+ *height = 18;
+ static uint8_t small_pebble_logo[1206] = {
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc,
+ 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0xfc, 0xfc,
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
+
+ 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00,
+ 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xfc, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00,
+
+ 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00,
+ 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xfc, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00,
+
+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00,
+ 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xfc, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xfc, 0x00, 0x00, 0xfc, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00,
+
+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00,
+ 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
+ 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xfc, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xfc, 0x00, 0x00, 0xfc, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00,
+
+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00,
+ 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xfc, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xfc, 0x00, 0x00, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+
+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00,
+ 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xfc, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xfc, 0x00, 0x00, 0xfc, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00,
+
+ 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xfc, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00,
+
+ 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xfc, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00,
+
+ 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0xfc, 0xfc,
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
+
+ 0xfc, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00,
+
+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+
+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+
+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+
+ };
+ return small_pebble_logo;
+}
+
+
+// C struct format image converted from 'url.png' using png_to_cstruct.py
+static uint8_t *get_url_image(int *width, int *height) {
+
+ *width = 125;
+ *height = 14;
+ static uint8_t url[1750] = {
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc,
+ 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0xfc, 0xfc,
+ 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00,
+ 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc,
+ 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc,
+ 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0xfc,
+ 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0xfc,
+ 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00,
+ 0xfc, 0xfc, 0x00, 0xfc, 0xfc,
+
+ 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
+ 0xfc, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
+ 0xfc, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0xfc,
+ 0xfc, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0xfc,
+ 0xfc, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0xfc, 0xfc,
+ 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0xfc, 0xfc,
+ 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0xfc,
+ 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00,
+ 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
+
+ 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc,
+ 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc,
+ 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0x00,
+ 0x00, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0xfc,
+ 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00,
+ 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc,
+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0xfc, 0xfc,
+ 0x00, 0x00, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00,
+ 0xfc, 0xfc, 0x00, 0x00, 0x00,
+
+ 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
+ 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc,
+ 0xfc, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0x00,
+ 0x00, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0xfc,
+ 0xfc, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00,
+ 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc,
+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0xfc, 0xfc,
+ 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00,
+ 0xfc, 0xfc, 0x00, 0x00, 0x00,
+
+ 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
+ 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc,
+ 0xfc, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0x00,
+ 0x00, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0xfc,
+ 0xfc, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00,
+ 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc,
+ 0xfc, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc,
+ 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00,
+ 0xfc, 0xfc, 0x00, 0x00, 0x00,
+
+ 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc,
+ 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00,
+ 0x00, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0xfc,
+ 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00,
+ 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc,
+ 0xfc, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00,
+ 0xfc, 0xfc, 0x00, 0x00, 0x00,
+
+ 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
+ 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc,
+ 0xfc, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0xfc,
+ 0xfc, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0xfc,
+ 0xfc, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc,
+ 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0xfc, 0xfc,
+ 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc,
+ 0xfc, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc,
+ 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00,
+ 0xfc, 0xfc, 0x00, 0x00, 0x00,
+
+ 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc,
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0xfc, 0xfc,
+ 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00,
+ 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc,
+ 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0xfc, 0xfc,
+ 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc,
+ 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0xfc,
+ 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0xfc,
+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00,
+ 0xfc, 0xfc, 0x00, 0x00, 0x00,
+
+ 0xfc, 0xfc, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00,
+
+ 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00,
+
+ 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00,
+
+ };
+ return url;
+}
diff --git a/hw/display/pebble_snowy_display.h b/hw/display/pebble_snowy_display.h
new file mode 100644
index 0000000000000..80a091472b325
--- /dev/null
+++ b/hw/display/pebble_snowy_display.h
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "qemu-common.h"
+
+typedef struct {
+ uint8_t red, green, blue;
+} PSDisplayPixelColor;
+
+typedef struct {
+ uint8_t alpha;
+ PSDisplayPixelColor color;
+} PSDisplayPixelColorWithAlpha;
diff --git a/hw/display/pebble_snowy_display_overlays.h b/hw/display/pebble_snowy_display_overlays.h
new file mode 100644
index 0000000000000..4741665551f04
--- /dev/null
+++ b/hw/display/pebble_snowy_display_overlays.h
@@ -0,0 +1,32416 @@
+#pragma once
+
+#include "pebble_snowy_display.h"
+
+// from PIL import Image
+// im = Image.open('qemu-spalding-overlay.png')
+// px = im.load()
+// print "const PSDisplayPixelColorWithAlpha *g_spalding_overlay = (PSDisplayPixelColorWithAlpha[]){"
+// for y in range(im.size[1]):
+// for x in range(im.size[0]):
+// color = px[x, y]
+// print " {%3d, {%3d, %3d, %3d}}, // (%3d, %3d)" % (color[3], color[0], color[1], color[2], x, y)
+// print "};"
+
+const PSDisplayPixelColorWithAlpha *g_spalding_overlay = (PSDisplayPixelColorWithAlpha[]){
+ {128, { 0, 0, 0}}, // ( 0, 0)
+ {128, { 0, 0, 0}}, // ( 1, 0)
+ {128, { 0, 0, 0}}, // ( 2, 0)
+ {128, { 0, 0, 0}}, // ( 3, 0)
+ {128, { 0, 0, 0}}, // ( 4, 0)
+ {128, { 0, 0, 0}}, // ( 5, 0)
+ {128, { 0, 0, 0}}, // ( 6, 0)
+ {128, { 0, 0, 0}}, // ( 7, 0)
+ {128, { 0, 0, 0}}, // ( 8, 0)
+ {128, { 0, 0, 0}}, // ( 9, 0)
+ {128, { 0, 0, 0}}, // ( 10, 0)
+ {128, { 0, 0, 0}}, // ( 11, 0)
+ {128, { 0, 0, 0}}, // ( 12, 0)
+ {128, { 0, 0, 0}}, // ( 13, 0)
+ {128, { 0, 0, 0}}, // ( 14, 0)
+ {128, { 0, 0, 0}}, // ( 15, 0)
+ {128, { 0, 0, 0}}, // ( 16, 0)
+ {128, { 0, 0, 0}}, // ( 17, 0)
+ {128, { 0, 0, 0}}, // ( 18, 0)
+ {128, { 0, 0, 0}}, // ( 19, 0)
+ {128, { 0, 0, 0}}, // ( 20, 0)
+ {128, { 0, 0, 0}}, // ( 21, 0)
+ {128, { 0, 0, 0}}, // ( 22, 0)
+ {128, { 0, 0, 0}}, // ( 23, 0)
+ {128, { 0, 0, 0}}, // ( 24, 0)
+ {128, { 0, 0, 0}}, // ( 25, 0)
+ {128, { 0, 0, 0}}, // ( 26, 0)
+ {128, { 0, 0, 0}}, // ( 27, 0)
+ {128, { 0, 0, 0}}, // ( 28, 0)
+ {128, { 0, 0, 0}}, // ( 29, 0)
+ {128, { 0, 0, 0}}, // ( 30, 0)
+ {128, { 0, 0, 0}}, // ( 31, 0)
+ {128, { 0, 0, 0}}, // ( 32, 0)
+ {128, { 0, 0, 0}}, // ( 33, 0)
+ {128, { 0, 0, 0}}, // ( 34, 0)
+ {128, { 0, 0, 0}}, // ( 35, 0)
+ {128, { 0, 0, 0}}, // ( 36, 0)
+ {128, { 0, 0, 0}}, // ( 37, 0)
+ {128, { 0, 0, 0}}, // ( 38, 0)
+ {128, { 0, 0, 0}}, // ( 39, 0)
+ {128, { 0, 0, 0}}, // ( 40, 0)
+ {128, { 0, 0, 0}}, // ( 41, 0)
+ {128, { 0, 0, 0}}, // ( 42, 0)
+ {128, { 0, 0, 0}}, // ( 43, 0)
+ {128, { 0, 0, 0}}, // ( 44, 0)
+ {128, { 0, 0, 0}}, // ( 45, 0)
+ {128, { 0, 0, 0}}, // ( 46, 0)
+ {128, { 0, 0, 0}}, // ( 47, 0)
+ {128, { 0, 0, 0}}, // ( 48, 0)
+ {128, { 0, 0, 0}}, // ( 49, 0)
+ {128, { 0, 0, 0}}, // ( 50, 0)
+ {128, { 0, 0, 0}}, // ( 51, 0)
+ {128, { 0, 0, 0}}, // ( 52, 0)
+ {128, { 0, 0, 0}}, // ( 53, 0)
+ {128, { 0, 0, 0}}, // ( 54, 0)
+ {128, { 0, 0, 0}}, // ( 55, 0)
+ {128, { 0, 0, 0}}, // ( 56, 0)
+ {128, { 0, 0, 0}}, // ( 57, 0)
+ {128, { 0, 0, 0}}, // ( 58, 0)
+ {128, { 0, 0, 0}}, // ( 59, 0)
+ {128, { 0, 0, 0}}, // ( 60, 0)
+ {128, { 0, 0, 0}}, // ( 61, 0)
+ {128, { 0, 0, 0}}, // ( 62, 0)
+ {128, { 0, 0, 0}}, // ( 63, 0)
+ {128, { 0, 0, 0}}, // ( 64, 0)
+ {128, { 0, 0, 0}}, // ( 65, 0)
+ {128, { 0, 0, 0}}, // ( 66, 0)
+ {128, { 0, 0, 0}}, // ( 67, 0)
+ {128, { 0, 0, 0}}, // ( 68, 0)
+ {128, { 0, 0, 0}}, // ( 69, 0)
+ {128, { 0, 0, 0}}, // ( 70, 0)
+ {128, { 0, 0, 0}}, // ( 71, 0)
+ {128, { 0, 0, 0}}, // ( 72, 0)
+ {128, { 0, 0, 0}}, // ( 73, 0)
+ {128, { 0, 0, 0}}, // ( 74, 0)
+ {128, { 0, 0, 0}}, // ( 75, 0)
+ {128, { 0, 0, 0}}, // ( 76, 0)
+ {128, { 0, 0, 0}}, // ( 77, 0)
+ {128, { 0, 0, 0}}, // ( 78, 0)
+ {128, { 0, 0, 0}}, // ( 79, 0)
+ {128, { 0, 0, 0}}, // ( 80, 0)
+ {128, { 0, 0, 0}}, // ( 81, 0)
+ {128, { 0, 0, 0}}, // ( 82, 0)
+ {128, { 0, 0, 0}}, // ( 83, 0)
+ {128, { 0, 0, 0}}, // ( 84, 0)
+ {128, { 0, 0, 0}}, // ( 85, 0)
+ {128, { 0, 0, 0}}, // ( 86, 0)
+ {128, { 0, 0, 0}}, // ( 87, 0)
+ {128, { 0, 0, 0}}, // ( 88, 0)
+ {128, { 0, 0, 0}}, // ( 89, 0)
+ {128, { 0, 0, 0}}, // ( 90, 0)
+ {128, { 0, 0, 0}}, // ( 91, 0)
+ {128, { 0, 0, 0}}, // ( 92, 0)
+ {128, { 0, 0, 0}}, // ( 93, 0)
+ {128, { 0, 0, 0}}, // ( 94, 0)
+ {128, { 0, 0, 0}}, // ( 95, 0)
+ {128, { 0, 0, 0}}, // ( 96, 0)
+ {128, { 0, 0, 0}}, // ( 97, 0)
+ {128, { 0, 0, 0}}, // ( 98, 0)
+ {128, { 0, 0, 0}}, // ( 99, 0)
+ {128, { 0, 0, 0}}, // (100, 0)
+ {128, { 0, 0, 0}}, // (101, 0)
+ {128, { 0, 0, 0}}, // (102, 0)
+ {128, { 0, 0, 0}}, // (103, 0)
+ {128, { 0, 0, 0}}, // (104, 0)
+ {128, { 0, 0, 0}}, // (105, 0)
+ {128, { 0, 0, 0}}, // (106, 0)
+ {128, { 0, 0, 0}}, // (107, 0)
+ {128, { 0, 0, 0}}, // (108, 0)
+ {128, { 0, 0, 0}}, // (109, 0)
+ {128, { 0, 0, 0}}, // (110, 0)
+ {128, { 0, 0, 0}}, // (111, 0)
+ {128, { 0, 0, 0}}, // (112, 0)
+ {128, { 0, 0, 0}}, // (113, 0)
+ {128, { 0, 0, 0}}, // (114, 0)
+ {128, { 0, 0, 0}}, // (115, 0)
+ {128, { 0, 0, 0}}, // (116, 0)
+ {128, { 0, 0, 0}}, // (117, 0)
+ {128, { 0, 0, 0}}, // (118, 0)
+ {128, { 0, 0, 0}}, // (119, 0)
+ {128, { 0, 0, 0}}, // (120, 0)
+ {128, { 0, 0, 0}}, // (121, 0)
+ {128, { 0, 0, 0}}, // (122, 0)
+ {128, { 0, 0, 0}}, // (123, 0)
+ {128, { 0, 0, 0}}, // (124, 0)
+ {128, { 0, 0, 0}}, // (125, 0)
+ {128, { 0, 0, 0}}, // (126, 0)
+ {128, { 0, 0, 0}}, // (127, 0)
+ {128, { 0, 0, 0}}, // (128, 0)
+ {128, { 0, 0, 0}}, // (129, 0)
+ {128, { 0, 0, 0}}, // (130, 0)
+ {128, { 0, 0, 0}}, // (131, 0)
+ {128, { 0, 0, 0}}, // (132, 0)
+ {128, { 0, 0, 0}}, // (133, 0)
+ {128, { 0, 0, 0}}, // (134, 0)
+ {128, { 0, 0, 0}}, // (135, 0)
+ {128, { 0, 0, 0}}, // (136, 0)
+ {128, { 0, 0, 0}}, // (137, 0)
+ {128, { 0, 0, 0}}, // (138, 0)
+ {128, { 0, 0, 0}}, // (139, 0)
+ {128, { 0, 0, 0}}, // (140, 0)
+ {128, { 0, 0, 0}}, // (141, 0)
+ {128, { 0, 0, 0}}, // (142, 0)
+ {128, { 0, 0, 0}}, // (143, 0)
+ {128, { 0, 0, 0}}, // (144, 0)
+ {128, { 0, 0, 0}}, // (145, 0)
+ {128, { 0, 0, 0}}, // (146, 0)
+ {128, { 0, 0, 0}}, // (147, 0)
+ {128, { 0, 0, 0}}, // (148, 0)
+ {128, { 0, 0, 0}}, // (149, 0)
+ {128, { 0, 0, 0}}, // (150, 0)
+ {128, { 0, 0, 0}}, // (151, 0)
+ {128, { 0, 0, 0}}, // (152, 0)
+ {128, { 0, 0, 0}}, // (153, 0)
+ {128, { 0, 0, 0}}, // (154, 0)
+ {128, { 0, 0, 0}}, // (155, 0)
+ {128, { 0, 0, 0}}, // (156, 0)
+ {128, { 0, 0, 0}}, // (157, 0)
+ {128, { 0, 0, 0}}, // (158, 0)
+ {128, { 0, 0, 0}}, // (159, 0)
+ {128, { 0, 0, 0}}, // (160, 0)
+ {128, { 0, 0, 0}}, // (161, 0)
+ {128, { 0, 0, 0}}, // (162, 0)
+ {128, { 0, 0, 0}}, // (163, 0)
+ {128, { 0, 0, 0}}, // (164, 0)
+ {128, { 0, 0, 0}}, // (165, 0)
+ {128, { 0, 0, 0}}, // (166, 0)
+ {128, { 0, 0, 0}}, // (167, 0)
+ {128, { 0, 0, 0}}, // (168, 0)
+ {128, { 0, 0, 0}}, // (169, 0)
+ {128, { 0, 0, 0}}, // (170, 0)
+ {128, { 0, 0, 0}}, // (171, 0)
+ {128, { 0, 0, 0}}, // (172, 0)
+ {128, { 0, 0, 0}}, // (173, 0)
+ {128, { 0, 0, 0}}, // (174, 0)
+ {128, { 0, 0, 0}}, // (175, 0)
+ {128, { 0, 0, 0}}, // (176, 0)
+ {128, { 0, 0, 0}}, // (177, 0)
+ {128, { 0, 0, 0}}, // (178, 0)
+ {128, { 0, 0, 0}}, // (179, 0)
+ {128, { 0, 0, 0}}, // ( 0, 1)
+ {128, { 0, 0, 0}}, // ( 1, 1)
+ {128, { 0, 0, 0}}, // ( 2, 1)
+ {128, { 0, 0, 0}}, // ( 3, 1)
+ {128, { 0, 0, 0}}, // ( 4, 1)
+ {128, { 0, 0, 0}}, // ( 5, 1)
+ {128, { 0, 0, 0}}, // ( 6, 1)
+ {128, { 0, 0, 0}}, // ( 7, 1)
+ {128, { 0, 0, 0}}, // ( 8, 1)
+ {128, { 0, 0, 0}}, // ( 9, 1)
+ {128, { 0, 0, 0}}, // ( 10, 1)
+ {128, { 0, 0, 0}}, // ( 11, 1)
+ {128, { 0, 0, 0}}, // ( 12, 1)
+ {128, { 0, 0, 0}}, // ( 13, 1)
+ {128, { 0, 0, 0}}, // ( 14, 1)
+ {128, { 0, 0, 0}}, // ( 15, 1)
+ {128, { 0, 0, 0}}, // ( 16, 1)
+ {128, { 0, 0, 0}}, // ( 17, 1)
+ {128, { 0, 0, 0}}, // ( 18, 1)
+ {128, { 0, 0, 0}}, // ( 19, 1)
+ {128, { 0, 0, 0}}, // ( 20, 1)
+ {128, { 0, 0, 0}}, // ( 21, 1)
+ {128, { 0, 0, 0}}, // ( 22, 1)
+ {128, { 0, 0, 0}}, // ( 23, 1)
+ {128, { 0, 0, 0}}, // ( 24, 1)
+ {128, { 0, 0, 0}}, // ( 25, 1)
+ {128, { 0, 0, 0}}, // ( 26, 1)
+ {128, { 0, 0, 0}}, // ( 27, 1)
+ {128, { 0, 0, 0}}, // ( 28, 1)
+ {128, { 0, 0, 0}}, // ( 29, 1)
+ {128, { 0, 0, 0}}, // ( 30, 1)
+ {128, { 0, 0, 0}}, // ( 31, 1)
+ {128, { 0, 0, 0}}, // ( 32, 1)
+ {128, { 0, 0, 0}}, // ( 33, 1)
+ {128, { 0, 0, 0}}, // ( 34, 1)
+ {128, { 0, 0, 0}}, // ( 35, 1)
+ {128, { 0, 0, 0}}, // ( 36, 1)
+ {128, { 0, 0, 0}}, // ( 37, 1)
+ {128, { 0, 0, 0}}, // ( 38, 1)
+ {128, { 0, 0, 0}}, // ( 39, 1)
+ {128, { 0, 0, 0}}, // ( 40, 1)
+ {128, { 0, 0, 0}}, // ( 41, 1)
+ {128, { 0, 0, 0}}, // ( 42, 1)
+ {128, { 0, 0, 0}}, // ( 43, 1)
+ {128, { 0, 0, 0}}, // ( 44, 1)
+ {128, { 0, 0, 0}}, // ( 45, 1)
+ {128, { 0, 0, 0}}, // ( 46, 1)
+ {128, { 0, 0, 0}}, // ( 47, 1)
+ {128, { 0, 0, 0}}, // ( 48, 1)
+ {128, { 0, 0, 0}}, // ( 49, 1)
+ {128, { 0, 0, 0}}, // ( 50, 1)
+ {128, { 0, 0, 0}}, // ( 51, 1)
+ {128, { 0, 0, 0}}, // ( 52, 1)
+ {128, { 0, 0, 0}}, // ( 53, 1)
+ {128, { 0, 0, 0}}, // ( 54, 1)
+ {128, { 0, 0, 0}}, // ( 55, 1)
+ {128, { 0, 0, 0}}, // ( 56, 1)
+ {128, { 0, 0, 0}}, // ( 57, 1)
+ {128, { 0, 0, 0}}, // ( 58, 1)
+ {128, { 0, 0, 0}}, // ( 59, 1)
+ {128, { 0, 0, 0}}, // ( 60, 1)
+ {128, { 0, 0, 0}}, // ( 61, 1)
+ {128, { 0, 0, 0}}, // ( 62, 1)
+ {128, { 0, 0, 0}}, // ( 63, 1)
+ {128, { 0, 0, 0}}, // ( 64, 1)
+ {128, { 0, 0, 0}}, // ( 65, 1)
+ {128, { 0, 0, 0}}, // ( 66, 1)
+ {128, { 0, 0, 0}}, // ( 67, 1)
+ {128, { 0, 0, 0}}, // ( 68, 1)
+ {128, { 0, 0, 0}}, // ( 69, 1)
+ {128, { 0, 0, 0}}, // ( 70, 1)
+ {128, { 0, 0, 0}}, // ( 71, 1)
+ {128, { 0, 0, 0}}, // ( 72, 1)
+ {128, { 0, 0, 0}}, // ( 73, 1)
+ {128, { 0, 0, 0}}, // ( 74, 1)
+ {128, { 0, 0, 0}}, // ( 75, 1)
+ {128, { 0, 0, 0}}, // ( 76, 1)
+ {128, { 0, 0, 0}}, // ( 77, 1)
+ {128, { 0, 0, 0}}, // ( 78, 1)
+ {128, { 0, 0, 0}}, // ( 79, 1)
+ {128, { 0, 0, 0}}, // ( 80, 1)
+ {128, { 0, 0, 0}}, // ( 81, 1)
+ {128, { 0, 0, 0}}, // ( 82, 1)
+ {128, { 0, 0, 0}}, // ( 83, 1)
+ {128, { 0, 0, 0}}, // ( 84, 1)
+ {128, { 0, 0, 0}}, // ( 85, 1)
+ {128, { 0, 0, 0}}, // ( 86, 1)
+ {128, { 0, 0, 0}}, // ( 87, 1)
+ {128, { 0, 0, 0}}, // ( 88, 1)
+ {128, { 0, 0, 0}}, // ( 89, 1)
+ {128, { 0, 0, 0}}, // ( 90, 1)
+ {128, { 0, 0, 0}}, // ( 91, 1)
+ {128, { 0, 0, 0}}, // ( 92, 1)
+ {128, { 0, 0, 0}}, // ( 93, 1)
+ {128, { 0, 0, 0}}, // ( 94, 1)
+ {128, { 0, 0, 0}}, // ( 95, 1)
+ {128, { 0, 0, 0}}, // ( 96, 1)
+ {128, { 0, 0, 0}}, // ( 97, 1)
+ {128, { 0, 0, 0}}, // ( 98, 1)
+ {128, { 0, 0, 0}}, // ( 99, 1)
+ {128, { 0, 0, 0}}, // (100, 1)
+ {128, { 0, 0, 0}}, // (101, 1)
+ {128, { 0, 0, 0}}, // (102, 1)
+ {128, { 0, 0, 0}}, // (103, 1)
+ {128, { 0, 0, 0}}, // (104, 1)
+ {128, { 0, 0, 0}}, // (105, 1)
+ {128, { 0, 0, 0}}, // (106, 1)
+ {128, { 0, 0, 0}}, // (107, 1)
+ {128, { 0, 0, 0}}, // (108, 1)
+ {128, { 0, 0, 0}}, // (109, 1)
+ {128, { 0, 0, 0}}, // (110, 1)
+ {128, { 0, 0, 0}}, // (111, 1)
+ {128, { 0, 0, 0}}, // (112, 1)
+ {128, { 0, 0, 0}}, // (113, 1)
+ {128, { 0, 0, 0}}, // (114, 1)
+ {128, { 0, 0, 0}}, // (115, 1)
+ {128, { 0, 0, 0}}, // (116, 1)
+ {128, { 0, 0, 0}}, // (117, 1)
+ {128, { 0, 0, 0}}, // (118, 1)
+ {128, { 0, 0, 0}}, // (119, 1)
+ {128, { 0, 0, 0}}, // (120, 1)
+ {128, { 0, 0, 0}}, // (121, 1)
+ {128, { 0, 0, 0}}, // (122, 1)
+ {128, { 0, 0, 0}}, // (123, 1)
+ {128, { 0, 0, 0}}, // (124, 1)
+ {128, { 0, 0, 0}}, // (125, 1)
+ {128, { 0, 0, 0}}, // (126, 1)
+ {128, { 0, 0, 0}}, // (127, 1)
+ {128, { 0, 0, 0}}, // (128, 1)
+ {128, { 0, 0, 0}}, // (129, 1)
+ {128, { 0, 0, 0}}, // (130, 1)
+ {128, { 0, 0, 0}}, // (131, 1)
+ {128, { 0, 0, 0}}, // (132, 1)
+ {128, { 0, 0, 0}}, // (133, 1)
+ {128, { 0, 0, 0}}, // (134, 1)
+ {128, { 0, 0, 0}}, // (135, 1)
+ {128, { 0, 0, 0}}, // (136, 1)
+ {128, { 0, 0, 0}}, // (137, 1)
+ {128, { 0, 0, 0}}, // (138, 1)
+ {128, { 0, 0, 0}}, // (139, 1)
+ {128, { 0, 0, 0}}, // (140, 1)
+ {128, { 0, 0, 0}}, // (141, 1)
+ {128, { 0, 0, 0}}, // (142, 1)
+ {128, { 0, 0, 0}}, // (143, 1)
+ {128, { 0, 0, 0}}, // (144, 1)
+ {128, { 0, 0, 0}}, // (145, 1)
+ {128, { 0, 0, 0}}, // (146, 1)
+ {128, { 0, 0, 0}}, // (147, 1)
+ {128, { 0, 0, 0}}, // (148, 1)
+ {128, { 0, 0, 0}}, // (149, 1)
+ {128, { 0, 0, 0}}, // (150, 1)
+ {128, { 0, 0, 0}}, // (151, 1)
+ {128, { 0, 0, 0}}, // (152, 1)
+ {128, { 0, 0, 0}}, // (153, 1)
+ {128, { 0, 0, 0}}, // (154, 1)
+ {128, { 0, 0, 0}}, // (155, 1)
+ {128, { 0, 0, 0}}, // (156, 1)
+ {128, { 0, 0, 0}}, // (157, 1)
+ {128, { 0, 0, 0}}, // (158, 1)
+ {128, { 0, 0, 0}}, // (159, 1)
+ {128, { 0, 0, 0}}, // (160, 1)
+ {128, { 0, 0, 0}}, // (161, 1)
+ {128, { 0, 0, 0}}, // (162, 1)
+ {128, { 0, 0, 0}}, // (163, 1)
+ {128, { 0, 0, 0}}, // (164, 1)
+ {128, { 0, 0, 0}}, // (165, 1)
+ {128, { 0, 0, 0}}, // (166, 1)
+ {128, { 0, 0, 0}}, // (167, 1)
+ {128, { 0, 0, 0}}, // (168, 1)
+ {128, { 0, 0, 0}}, // (169, 1)
+ {128, { 0, 0, 0}}, // (170, 1)
+ {128, { 0, 0, 0}}, // (171, 1)
+ {128, { 0, 0, 0}}, // (172, 1)
+ {128, { 0, 0, 0}}, // (173, 1)
+ {128, { 0, 0, 0}}, // (174, 1)
+ {128, { 0, 0, 0}}, // (175, 1)
+ {128, { 0, 0, 0}}, // (176, 1)
+ {128, { 0, 0, 0}}, // (177, 1)
+ {128, { 0, 0, 0}}, // (178, 1)
+ {128, { 0, 0, 0}}, // (179, 1)
+ {128, { 0, 0, 0}}, // ( 0, 2)
+ {128, { 0, 0, 0}}, // ( 1, 2)
+ {128, { 0, 0, 0}}, // ( 2, 2)
+ {128, { 0, 0, 0}}, // ( 3, 2)
+ {128, { 0, 0, 0}}, // ( 4, 2)
+ {128, { 0, 0, 0}}, // ( 5, 2)
+ {128, { 0, 0, 0}}, // ( 6, 2)
+ {128, { 0, 0, 0}}, // ( 7, 2)
+ {128, { 0, 0, 0}}, // ( 8, 2)
+ {128, { 0, 0, 0}}, // ( 9, 2)
+ {128, { 0, 0, 0}}, // ( 10, 2)
+ {128, { 0, 0, 0}}, // ( 11, 2)
+ {128, { 0, 0, 0}}, // ( 12, 2)
+ {128, { 0, 0, 0}}, // ( 13, 2)
+ {128, { 0, 0, 0}}, // ( 14, 2)
+ {128, { 0, 0, 0}}, // ( 15, 2)
+ {128, { 0, 0, 0}}, // ( 16, 2)
+ {128, { 0, 0, 0}}, // ( 17, 2)
+ {128, { 0, 0, 0}}, // ( 18, 2)
+ {128, { 0, 0, 0}}, // ( 19, 2)
+ {128, { 0, 0, 0}}, // ( 20, 2)
+ {128, { 0, 0, 0}}, // ( 21, 2)
+ {128, { 0, 0, 0}}, // ( 22, 2)
+ {128, { 0, 0, 0}}, // ( 23, 2)
+ {128, { 0, 0, 0}}, // ( 24, 2)
+ {128, { 0, 0, 0}}, // ( 25, 2)
+ {128, { 0, 0, 0}}, // ( 26, 2)
+ {128, { 0, 0, 0}}, // ( 27, 2)
+ {128, { 0, 0, 0}}, // ( 28, 2)
+ {128, { 0, 0, 0}}, // ( 29, 2)
+ {128, { 0, 0, 0}}, // ( 30, 2)
+ {128, { 0, 0, 0}}, // ( 31, 2)
+ {128, { 0, 0, 0}}, // ( 32, 2)
+ {128, { 0, 0, 0}}, // ( 33, 2)
+ {128, { 0, 0, 0}}, // ( 34, 2)
+ {128, { 0, 0, 0}}, // ( 35, 2)
+ {128, { 0, 0, 0}}, // ( 36, 2)
+ {128, { 0, 0, 0}}, // ( 37, 2)
+ {128, { 0, 0, 0}}, // ( 38, 2)
+ {128, { 0, 0, 0}}, // ( 39, 2)
+ {128, { 0, 0, 0}}, // ( 40, 2)
+ {128, { 0, 0, 0}}, // ( 41, 2)
+ {128, { 0, 0, 0}}, // ( 42, 2)
+ {128, { 0, 0, 0}}, // ( 43, 2)
+ {128, { 0, 0, 0}}, // ( 44, 2)
+ {128, { 0, 0, 0}}, // ( 45, 2)
+ {128, { 0, 0, 0}}, // ( 46, 2)
+ {128, { 0, 0, 0}}, // ( 47, 2)
+ {128, { 0, 0, 0}}, // ( 48, 2)
+ {128, { 0, 0, 0}}, // ( 49, 2)
+ {128, { 0, 0, 0}}, // ( 50, 2)
+ {128, { 0, 0, 0}}, // ( 51, 2)
+ {128, { 0, 0, 0}}, // ( 52, 2)
+ {128, { 0, 0, 0}}, // ( 53, 2)
+ {128, { 0, 0, 0}}, // ( 54, 2)
+ {128, { 0, 0, 0}}, // ( 55, 2)
+ {128, { 0, 0, 0}}, // ( 56, 2)
+ {128, { 0, 0, 0}}, // ( 57, 2)
+ {128, { 0, 0, 0}}, // ( 58, 2)
+ {128, { 0, 0, 0}}, // ( 59, 2)
+ {128, { 0, 0, 0}}, // ( 60, 2)
+ {128, { 0, 0, 0}}, // ( 61, 2)
+ {128, { 0, 0, 0}}, // ( 62, 2)
+ {128, { 0, 0, 0}}, // ( 63, 2)
+ {128, { 0, 0, 0}}, // ( 64, 2)
+ {128, { 0, 0, 0}}, // ( 65, 2)
+ {128, { 0, 0, 0}}, // ( 66, 2)
+ {128, { 0, 0, 0}}, // ( 67, 2)
+ {128, { 0, 0, 0}}, // ( 68, 2)
+ {128, { 0, 0, 0}}, // ( 69, 2)
+ {128, { 0, 0, 0}}, // ( 70, 2)
+ {128, { 0, 0, 0}}, // ( 71, 2)
+ {128, { 0, 0, 0}}, // ( 72, 2)
+ {128, { 0, 0, 0}}, // ( 73, 2)
+ {128, { 0, 0, 0}}, // ( 74, 2)
+ {128, { 0, 0, 0}}, // ( 75, 2)
+ {127, { 0, 0, 0}}, // ( 76, 2)
+ {113, { 0, 0, 0}}, // ( 77, 2)
+ { 96, { 0, 0, 0}}, // ( 78, 2)
+ { 81, { 0, 0, 0}}, // ( 79, 2)
+ { 66, { 0, 0, 0}}, // ( 80, 2)
+ { 54, { 0, 0, 0}}, // ( 81, 2)
+ { 44, { 0, 0, 0}}, // ( 82, 2)
+ { 34, { 0, 0, 0}}, // ( 83, 2)
+ { 24, { 0, 0, 0}}, // ( 84, 2)
+ { 17, { 0, 0, 0}}, // ( 85, 2)
+ { 9, { 0, 0, 0}}, // ( 86, 2)
+ { 9, { 0, 0, 0}}, // ( 87, 2)
+ { 7, { 0, 0, 0}}, // ( 88, 2)
+ { 0, { 0, 0, 0}}, // ( 89, 2)
+ { 0, { 0, 0, 0}}, // ( 90, 2)
+ { 7, { 0, 0, 0}}, // ( 91, 2)
+ { 9, { 0, 0, 0}}, // ( 92, 2)
+ { 9, { 0, 0, 0}}, // ( 93, 2)
+ { 17, { 0, 0, 0}}, // ( 94, 2)
+ { 24, { 0, 0, 0}}, // ( 95, 2)
+ { 34, { 0, 0, 0}}, // ( 96, 2)
+ { 44, { 0, 0, 0}}, // ( 97, 2)
+ { 54, { 0, 0, 0}}, // ( 98, 2)
+ { 66, { 0, 0, 0}}, // ( 99, 2)
+ { 81, { 0, 0, 0}}, // (100, 2)
+ { 96, { 0, 0, 0}}, // (101, 2)
+ {113, { 0, 0, 0}}, // (102, 2)
+ {127, { 0, 0, 0}}, // (103, 2)
+ {128, { 0, 0, 0}}, // (104, 2)
+ {128, { 0, 0, 0}}, // (105, 2)
+ {128, { 0, 0, 0}}, // (106, 2)
+ {128, { 0, 0, 0}}, // (107, 2)
+ {128, { 0, 0, 0}}, // (108, 2)
+ {128, { 0, 0, 0}}, // (109, 2)
+ {128, { 0, 0, 0}}, // (110, 2)
+ {128, { 0, 0, 0}}, // (111, 2)
+ {128, { 0, 0, 0}}, // (112, 2)
+ {128, { 0, 0, 0}}, // (113, 2)
+ {128, { 0, 0, 0}}, // (114, 2)
+ {128, { 0, 0, 0}}, // (115, 2)
+ {128, { 0, 0, 0}}, // (116, 2)
+ {128, { 0, 0, 0}}, // (117, 2)
+ {128, { 0, 0, 0}}, // (118, 2)
+ {128, { 0, 0, 0}}, // (119, 2)
+ {128, { 0, 0, 0}}, // (120, 2)
+ {128, { 0, 0, 0}}, // (121, 2)
+ {128, { 0, 0, 0}}, // (122, 2)
+ {128, { 0, 0, 0}}, // (123, 2)
+ {128, { 0, 0, 0}}, // (124, 2)
+ {128, { 0, 0, 0}}, // (125, 2)
+ {128, { 0, 0, 0}}, // (126, 2)
+ {128, { 0, 0, 0}}, // (127, 2)
+ {128, { 0, 0, 0}}, // (128, 2)
+ {128, { 0, 0, 0}}, // (129, 2)
+ {128, { 0, 0, 0}}, // (130, 2)
+ {128, { 0, 0, 0}}, // (131, 2)
+ {128, { 0, 0, 0}}, // (132, 2)
+ {128, { 0, 0, 0}}, // (133, 2)
+ {128, { 0, 0, 0}}, // (134, 2)
+ {128, { 0, 0, 0}}, // (135, 2)
+ {128, { 0, 0, 0}}, // (136, 2)
+ {128, { 0, 0, 0}}, // (137, 2)
+ {128, { 0, 0, 0}}, // (138, 2)
+ {128, { 0, 0, 0}}, // (139, 2)
+ {128, { 0, 0, 0}}, // (140, 2)
+ {128, { 0, 0, 0}}, // (141, 2)
+ {128, { 0, 0, 0}}, // (142, 2)
+ {128, { 0, 0, 0}}, // (143, 2)
+ {128, { 0, 0, 0}}, // (144, 2)
+ {128, { 0, 0, 0}}, // (145, 2)
+ {128, { 0, 0, 0}}, // (146, 2)
+ {128, { 0, 0, 0}}, // (147, 2)
+ {128, { 0, 0, 0}}, // (148, 2)
+ {128, { 0, 0, 0}}, // (149, 2)
+ {128, { 0, 0, 0}}, // (150, 2)
+ {128, { 0, 0, 0}}, // (151, 2)
+ {128, { 0, 0, 0}}, // (152, 2)
+ {128, { 0, 0, 0}}, // (153, 2)
+ {128, { 0, 0, 0}}, // (154, 2)
+ {128, { 0, 0, 0}}, // (155, 2)
+ {128, { 0, 0, 0}}, // (156, 2)
+ {128, { 0, 0, 0}}, // (157, 2)
+ {128, { 0, 0, 0}}, // (158, 2)
+ {128, { 0, 0, 0}}, // (159, 2)
+ {128, { 0, 0, 0}}, // (160, 2)
+ {128, { 0, 0, 0}}, // (161, 2)
+ {128, { 0, 0, 0}}, // (162, 2)
+ {128, { 0, 0, 0}}, // (163, 2)
+ {128, { 0, 0, 0}}, // (164, 2)
+ {128, { 0, 0, 0}}, // (165, 2)
+ {128, { 0, 0, 0}}, // (166, 2)
+ {128, { 0, 0, 0}}, // (167, 2)
+ {128, { 0, 0, 0}}, // (168, 2)
+ {128, { 0, 0, 0}}, // (169, 2)
+ {128, { 0, 0, 0}}, // (170, 2)
+ {128, { 0, 0, 0}}, // (171, 2)
+ {128, { 0, 0, 0}}, // (172, 2)
+ {128, { 0, 0, 0}}, // (173, 2)
+ {128, { 0, 0, 0}}, // (174, 2)
+ {128, { 0, 0, 0}}, // (175, 2)
+ {128, { 0, 0, 0}}, // (176, 2)
+ {128, { 0, 0, 0}}, // (177, 2)
+ {128, { 0, 0, 0}}, // (178, 2)
+ {128, { 0, 0, 0}}, // (179, 2)
+ {128, { 0, 0, 0}}, // ( 0, 3)
+ {128, { 0, 0, 0}}, // ( 1, 3)
+ {128, { 0, 0, 0}}, // ( 2, 3)
+ {128, { 0, 0, 0}}, // ( 3, 3)
+ {128, { 0, 0, 0}}, // ( 4, 3)
+ {128, { 0, 0, 0}}, // ( 5, 3)
+ {128, { 0, 0, 0}}, // ( 6, 3)
+ {128, { 0, 0, 0}}, // ( 7, 3)
+ {128, { 0, 0, 0}}, // ( 8, 3)
+ {128, { 0, 0, 0}}, // ( 9, 3)
+ {128, { 0, 0, 0}}, // ( 10, 3)
+ {128, { 0, 0, 0}}, // ( 11, 3)
+ {128, { 0, 0, 0}}, // ( 12, 3)
+ {128, { 0, 0, 0}}, // ( 13, 3)
+ {128, { 0, 0, 0}}, // ( 14, 3)
+ {128, { 0, 0, 0}}, // ( 15, 3)
+ {128, { 0, 0, 0}}, // ( 16, 3)
+ {128, { 0, 0, 0}}, // ( 17, 3)
+ {128, { 0, 0, 0}}, // ( 18, 3)
+ {128, { 0, 0, 0}}, // ( 19, 3)
+ {128, { 0, 0, 0}}, // ( 20, 3)
+ {128, { 0, 0, 0}}, // ( 21, 3)
+ {128, { 0, 0, 0}}, // ( 22, 3)
+ {128, { 0, 0, 0}}, // ( 23, 3)
+ {128, { 0, 0, 0}}, // ( 24, 3)
+ {128, { 0, 0, 0}}, // ( 25, 3)
+ {128, { 0, 0, 0}}, // ( 26, 3)
+ {128, { 0, 0, 0}}, // ( 27, 3)
+ {128, { 0, 0, 0}}, // ( 28, 3)
+ {128, { 0, 0, 0}}, // ( 29, 3)
+ {128, { 0, 0, 0}}, // ( 30, 3)
+ {128, { 0, 0, 0}}, // ( 31, 3)
+ {128, { 0, 0, 0}}, // ( 32, 3)
+ {128, { 0, 0, 0}}, // ( 33, 3)
+ {128, { 0, 0, 0}}, // ( 34, 3)
+ {128, { 0, 0, 0}}, // ( 35, 3)
+ {128, { 0, 0, 0}}, // ( 36, 3)
+ {128, { 0, 0, 0}}, // ( 37, 3)
+ {128, { 0, 0, 0}}, // ( 38, 3)
+ {128, { 0, 0, 0}}, // ( 39, 3)
+ {128, { 0, 0, 0}}, // ( 40, 3)
+ {128, { 0, 0, 0}}, // ( 41, 3)
+ {128, { 0, 0, 0}}, // ( 42, 3)
+ {128, { 0, 0, 0}}, // ( 43, 3)
+ {128, { 0, 0, 0}}, // ( 44, 3)
+ {128, { 0, 0, 0}}, // ( 45, 3)
+ {128, { 0, 0, 0}}, // ( 46, 3)
+ {128, { 0, 0, 0}}, // ( 47, 3)
+ {128, { 0, 0, 0}}, // ( 48, 3)
+ {128, { 0, 0, 0}}, // ( 49, 3)
+ {128, { 0, 0, 0}}, // ( 50, 3)
+ {128, { 0, 0, 0}}, // ( 51, 3)
+ {128, { 0, 0, 0}}, // ( 52, 3)
+ {128, { 0, 0, 0}}, // ( 53, 3)
+ {128, { 0, 0, 0}}, // ( 54, 3)
+ {128, { 0, 0, 0}}, // ( 55, 3)
+ {128, { 0, 0, 0}}, // ( 56, 3)
+ {128, { 0, 0, 0}}, // ( 57, 3)
+ {128, { 0, 0, 0}}, // ( 58, 3)
+ {128, { 0, 0, 0}}, // ( 59, 3)
+ {128, { 0, 0, 0}}, // ( 60, 3)
+ {128, { 0, 0, 0}}, // ( 61, 3)
+ {128, { 0, 0, 0}}, // ( 62, 3)
+ {128, { 0, 0, 0}}, // ( 63, 3)
+ {128, { 0, 0, 0}}, // ( 64, 3)
+ {128, { 0, 0, 0}}, // ( 65, 3)
+ {128, { 0, 0, 0}}, // ( 66, 3)
+ {128, { 0, 0, 0}}, // ( 67, 3)
+ {128, { 0, 0, 0}}, // ( 68, 3)
+ {128, { 0, 0, 0}}, // ( 69, 3)
+ {128, { 0, 0, 0}}, // ( 70, 3)
+ {121, { 0, 0, 0}}, // ( 71, 3)
+ { 96, { 0, 0, 0}}, // ( 72, 3)
+ { 73, { 0, 0, 0}}, // ( 73, 3)
+ { 50, { 0, 0, 0}}, // ( 74, 3)
+ { 27, { 0, 0, 0}}, // ( 75, 3)
+ { 5, { 0, 0, 0}}, // ( 76, 3)
+ { 0, { 0, 0, 0}}, // ( 77, 3)
+ { 0, { 0, 0, 0}}, // ( 78, 3)
+ { 0, { 0, 0, 0}}, // ( 79, 3)
+ { 0, { 0, 0, 0}}, // ( 80, 3)
+ { 0, { 0, 0, 0}}, // ( 81, 3)
+ { 0, { 0, 0, 0}}, // ( 82, 3)
+ { 0, { 0, 0, 0}}, // ( 83, 3)
+ { 0, { 0, 0, 0}}, // ( 84, 3)
+ { 0, { 0, 0, 0}}, // ( 85, 3)
+ { 0, { 0, 0, 0}}, // ( 86, 3)
+ { 0, { 0, 0, 0}}, // ( 87, 3)
+ { 0, { 0, 0, 0}}, // ( 88, 3)
+ { 0, { 0, 0, 0}}, // ( 89, 3)
+ { 0, { 0, 0, 0}}, // ( 90, 3)
+ { 0, { 0, 0, 0}}, // ( 91, 3)
+ { 0, { 0, 0, 0}}, // ( 92, 3)
+ { 0, { 0, 0, 0}}, // ( 93, 3)
+ { 0, { 0, 0, 0}}, // ( 94, 3)
+ { 0, { 0, 0, 0}}, // ( 95, 3)
+ { 0, { 0, 0, 0}}, // ( 96, 3)
+ { 0, { 0, 0, 0}}, // ( 97, 3)
+ { 0, { 0, 0, 0}}, // ( 98, 3)
+ { 0, { 0, 0, 0}}, // ( 99, 3)
+ { 0, { 0, 0, 0}}, // (100, 3)
+ { 0, { 0, 0, 0}}, // (101, 3)
+ { 0, { 0, 0, 0}}, // (102, 3)
+ { 5, { 0, 0, 0}}, // (103, 3)
+ { 27, { 0, 0, 0}}, // (104, 3)
+ { 50, { 0, 0, 0}}, // (105, 3)
+ { 73, { 0, 0, 0}}, // (106, 3)
+ { 96, { 0, 0, 0}}, // (107, 3)
+ {121, { 0, 0, 0}}, // (108, 3)
+ {128, { 0, 0, 0}}, // (109, 3)
+ {128, { 0, 0, 0}}, // (110, 3)
+ {128, { 0, 0, 0}}, // (111, 3)
+ {128, { 0, 0, 0}}, // (112, 3)
+ {128, { 0, 0, 0}}, // (113, 3)
+ {128, { 0, 0, 0}}, // (114, 3)
+ {128, { 0, 0, 0}}, // (115, 3)
+ {128, { 0, 0, 0}}, // (116, 3)
+ {128, { 0, 0, 0}}, // (117, 3)
+ {128, { 0, 0, 0}}, // (118, 3)
+ {128, { 0, 0, 0}}, // (119, 3)
+ {128, { 0, 0, 0}}, // (120, 3)
+ {128, { 0, 0, 0}}, // (121, 3)
+ {128, { 0, 0, 0}}, // (122, 3)
+ {128, { 0, 0, 0}}, // (123, 3)
+ {128, { 0, 0, 0}}, // (124, 3)
+ {128, { 0, 0, 0}}, // (125, 3)
+ {128, { 0, 0, 0}}, // (126, 3)
+ {128, { 0, 0, 0}}, // (127, 3)
+ {128, { 0, 0, 0}}, // (128, 3)
+ {128, { 0, 0, 0}}, // (129, 3)
+ {128, { 0, 0, 0}}, // (130, 3)
+ {128, { 0, 0, 0}}, // (131, 3)
+ {128, { 0, 0, 0}}, // (132, 3)
+ {128, { 0, 0, 0}}, // (133, 3)
+ {128, { 0, 0, 0}}, // (134, 3)
+ {128, { 0, 0, 0}}, // (135, 3)
+ {128, { 0, 0, 0}}, // (136, 3)
+ {128, { 0, 0, 0}}, // (137, 3)
+ {128, { 0, 0, 0}}, // (138, 3)
+ {128, { 0, 0, 0}}, // (139, 3)
+ {128, { 0, 0, 0}}, // (140, 3)
+ {128, { 0, 0, 0}}, // (141, 3)
+ {128, { 0, 0, 0}}, // (142, 3)
+ {128, { 0, 0, 0}}, // (143, 3)
+ {128, { 0, 0, 0}}, // (144, 3)
+ {128, { 0, 0, 0}}, // (145, 3)
+ {128, { 0, 0, 0}}, // (146, 3)
+ {128, { 0, 0, 0}}, // (147, 3)
+ {128, { 0, 0, 0}}, // (148, 3)
+ {128, { 0, 0, 0}}, // (149, 3)
+ {128, { 0, 0, 0}}, // (150, 3)
+ {128, { 0, 0, 0}}, // (151, 3)
+ {128, { 0, 0, 0}}, // (152, 3)
+ {128, { 0, 0, 0}}, // (153, 3)
+ {128, { 0, 0, 0}}, // (154, 3)
+ {128, { 0, 0, 0}}, // (155, 3)
+ {128, { 0, 0, 0}}, // (156, 3)
+ {128, { 0, 0, 0}}, // (157, 3)
+ {128, { 0, 0, 0}}, // (158, 3)
+ {128, { 0, 0, 0}}, // (159, 3)
+ {128, { 0, 0, 0}}, // (160, 3)
+ {128, { 0, 0, 0}}, // (161, 3)
+ {128, { 0, 0, 0}}, // (162, 3)
+ {128, { 0, 0, 0}}, // (163, 3)
+ {128, { 0, 0, 0}}, // (164, 3)
+ {128, { 0, 0, 0}}, // (165, 3)
+ {128, { 0, 0, 0}}, // (166, 3)
+ {128, { 0, 0, 0}}, // (167, 3)
+ {128, { 0, 0, 0}}, // (168, 3)
+ {128, { 0, 0, 0}}, // (169, 3)
+ {128, { 0, 0, 0}}, // (170, 3)
+ {128, { 0, 0, 0}}, // (171, 3)
+ {128, { 0, 0, 0}}, // (172, 3)
+ {128, { 0, 0, 0}}, // (173, 3)
+ {128, { 0, 0, 0}}, // (174, 3)
+ {128, { 0, 0, 0}}, // (175, 3)
+ {128, { 0, 0, 0}}, // (176, 3)
+ {128, { 0, 0, 0}}, // (177, 3)
+ {128, { 0, 0, 0}}, // (178, 3)
+ {128, { 0, 0, 0}}, // (179, 3)
+ {128, { 0, 0, 0}}, // ( 0, 4)
+ {128, { 0, 0, 0}}, // ( 1, 4)
+ {128, { 0, 0, 0}}, // ( 2, 4)
+ {128, { 0, 0, 0}}, // ( 3, 4)
+ {128, { 0, 0, 0}}, // ( 4, 4)
+ {128, { 0, 0, 0}}, // ( 5, 4)
+ {128, { 0, 0, 0}}, // ( 6, 4)
+ {128, { 0, 0, 0}}, // ( 7, 4)
+ {128, { 0, 0, 0}}, // ( 8, 4)
+ {128, { 0, 0, 0}}, // ( 9, 4)
+ {128, { 0, 0, 0}}, // ( 10, 4)
+ {128, { 0, 0, 0}}, // ( 11, 4)
+ {128, { 0, 0, 0}}, // ( 12, 4)
+ {128, { 0, 0, 0}}, // ( 13, 4)
+ {128, { 0, 0, 0}}, // ( 14, 4)
+ {128, { 0, 0, 0}}, // ( 15, 4)
+ {128, { 0, 0, 0}}, // ( 16, 4)
+ {128, { 0, 0, 0}}, // ( 17, 4)
+ {128, { 0, 0, 0}}, // ( 18, 4)
+ {128, { 0, 0, 0}}, // ( 19, 4)
+ {128, { 0, 0, 0}}, // ( 20, 4)
+ {128, { 0, 0, 0}}, // ( 21, 4)
+ {128, { 0, 0, 0}}, // ( 22, 4)
+ {128, { 0, 0, 0}}, // ( 23, 4)
+ {128, { 0, 0, 0}}, // ( 24, 4)
+ {128, { 0, 0, 0}}, // ( 25, 4)
+ {128, { 0, 0, 0}}, // ( 26, 4)
+ {128, { 0, 0, 0}}, // ( 27, 4)
+ {128, { 0, 0, 0}}, // ( 28, 4)
+ {128, { 0, 0, 0}}, // ( 29, 4)
+ {128, { 0, 0, 0}}, // ( 30, 4)
+ {128, { 0, 0, 0}}, // ( 31, 4)
+ {128, { 0, 0, 0}}, // ( 32, 4)
+ {128, { 0, 0, 0}}, // ( 33, 4)
+ {128, { 0, 0, 0}}, // ( 34, 4)
+ {128, { 0, 0, 0}}, // ( 35, 4)
+ {128, { 0, 0, 0}}, // ( 36, 4)
+ {128, { 0, 0, 0}}, // ( 37, 4)
+ {128, { 0, 0, 0}}, // ( 38, 4)
+ {128, { 0, 0, 0}}, // ( 39, 4)
+ {128, { 0, 0, 0}}, // ( 40, 4)
+ {128, { 0, 0, 0}}, // ( 41, 4)
+ {128, { 0, 0, 0}}, // ( 42, 4)
+ {128, { 0, 0, 0}}, // ( 43, 4)
+ {128, { 0, 0, 0}}, // ( 44, 4)
+ {128, { 0, 0, 0}}, // ( 45, 4)
+ {128, { 0, 0, 0}}, // ( 46, 4)
+ {128, { 0, 0, 0}}, // ( 47, 4)
+ {128, { 0, 0, 0}}, // ( 48, 4)
+ {128, { 0, 0, 0}}, // ( 49, 4)
+ {128, { 0, 0, 0}}, // ( 50, 4)
+ {128, { 0, 0, 0}}, // ( 51, 4)
+ {128, { 0, 0, 0}}, // ( 52, 4)
+ {128, { 0, 0, 0}}, // ( 53, 4)
+ {128, { 0, 0, 0}}, // ( 54, 4)
+ {128, { 0, 0, 0}}, // ( 55, 4)
+ {128, { 0, 0, 0}}, // ( 56, 4)
+ {128, { 0, 0, 0}}, // ( 57, 4)
+ {128, { 0, 0, 0}}, // ( 58, 4)
+ {128, { 0, 0, 0}}, // ( 59, 4)
+ {128, { 0, 0, 0}}, // ( 60, 4)
+ {128, { 0, 0, 0}}, // ( 61, 4)
+ {128, { 0, 0, 0}}, // ( 62, 4)
+ {128, { 0, 0, 0}}, // ( 63, 4)
+ {128, { 0, 0, 0}}, // ( 64, 4)
+ {128, { 0, 0, 0}}, // ( 65, 4)
+ {128, { 0, 0, 0}}, // ( 66, 4)
+ {116, { 0, 0, 0}}, // ( 67, 4)
+ { 84, { 0, 0, 0}}, // ( 68, 4)
+ { 55, { 0, 0, 0}}, // ( 69, 4)
+ { 26, { 0, 0, 0}}, // ( 70, 4)
+ { 2, { 0, 0, 0}}, // ( 71, 4)
+ { 0, { 0, 0, 0}}, // ( 72, 4)
+ { 0, { 0, 0, 0}}, // ( 73, 4)
+ { 0, { 0, 0, 0}}, // ( 74, 4)
+ { 0, { 0, 0, 0}}, // ( 75, 4)
+ { 0, { 0, 0, 0}}, // ( 76, 4)
+ { 0, { 0, 0, 0}}, // ( 77, 4)
+ { 0, { 0, 0, 0}}, // ( 78, 4)
+ { 0, { 0, 0, 0}}, // ( 79, 4)
+ { 0, { 0, 0, 0}}, // ( 80, 4)
+ { 0, { 0, 0, 0}}, // ( 81, 4)
+ { 0, { 0, 0, 0}}, // ( 82, 4)
+ { 0, { 0, 0, 0}}, // ( 83, 4)
+ { 0, { 0, 0, 0}}, // ( 84, 4)
+ { 0, { 0, 0, 0}}, // ( 85, 4)
+ { 0, { 0, 0, 0}}, // ( 86, 4)
+ { 0, { 0, 0, 0}}, // ( 87, 4)
+ { 0, { 0, 0, 0}}, // ( 88, 4)
+ { 0, { 0, 0, 0}}, // ( 89, 4)
+ { 0, { 0, 0, 0}}, // ( 90, 4)
+ { 0, { 0, 0, 0}}, // ( 91, 4)
+ { 0, { 0, 0, 0}}, // ( 92, 4)
+ { 0, { 0, 0, 0}}, // ( 93, 4)
+ { 0, { 0, 0, 0}}, // ( 94, 4)
+ { 0, { 0, 0, 0}}, // ( 95, 4)
+ { 0, { 0, 0, 0}}, // ( 96, 4)
+ { 0, { 0, 0, 0}}, // ( 97, 4)
+ { 0, { 0, 0, 0}}, // ( 98, 4)
+ { 0, { 0, 0, 0}}, // ( 99, 4)
+ { 0, { 0, 0, 0}}, // (100, 4)
+ { 0, { 0, 0, 0}}, // (101, 4)
+ { 0, { 0, 0, 0}}, // (102, 4)
+ { 0, { 0, 0, 0}}, // (103, 4)
+ { 0, { 0, 0, 0}}, // (104, 4)
+ { 0, { 0, 0, 0}}, // (105, 4)
+ { 0, { 0, 0, 0}}, // (106, 4)
+ { 0, { 0, 0, 0}}, // (107, 4)
+ { 2, { 0, 0, 0}}, // (108, 4)
+ { 26, { 0, 0, 0}}, // (109, 4)
+ { 55, { 0, 0, 0}}, // (110, 4)
+ { 84, { 0, 0, 0}}, // (111, 4)
+ {116, { 0, 0, 0}}, // (112, 4)
+ {128, { 0, 0, 0}}, // (113, 4)
+ {128, { 0, 0, 0}}, // (114, 4)
+ {128, { 0, 0, 0}}, // (115, 4)
+ {128, { 0, 0, 0}}, // (116, 4)
+ {128, { 0, 0, 0}}, // (117, 4)
+ {128, { 0, 0, 0}}, // (118, 4)
+ {128, { 0, 0, 0}}, // (119, 4)
+ {128, { 0, 0, 0}}, // (120, 4)
+ {128, { 0, 0, 0}}, // (121, 4)
+ {128, { 0, 0, 0}}, // (122, 4)
+ {128, { 0, 0, 0}}, // (123, 4)
+ {128, { 0, 0, 0}}, // (124, 4)
+ {128, { 0, 0, 0}}, // (125, 4)
+ {128, { 0, 0, 0}}, // (126, 4)
+ {128, { 0, 0, 0}}, // (127, 4)
+ {128, { 0, 0, 0}}, // (128, 4)
+ {128, { 0, 0, 0}}, // (129, 4)
+ {128, { 0, 0, 0}}, // (130, 4)
+ {128, { 0, 0, 0}}, // (131, 4)
+ {128, { 0, 0, 0}}, // (132, 4)
+ {128, { 0, 0, 0}}, // (133, 4)
+ {128, { 0, 0, 0}}, // (134, 4)
+ {128, { 0, 0, 0}}, // (135, 4)
+ {128, { 0, 0, 0}}, // (136, 4)
+ {128, { 0, 0, 0}}, // (137, 4)
+ {128, { 0, 0, 0}}, // (138, 4)
+ {128, { 0, 0, 0}}, // (139, 4)
+ {128, { 0, 0, 0}}, // (140, 4)
+ {128, { 0, 0, 0}}, // (141, 4)
+ {128, { 0, 0, 0}}, // (142, 4)
+ {128, { 0, 0, 0}}, // (143, 4)
+ {128, { 0, 0, 0}}, // (144, 4)
+ {128, { 0, 0, 0}}, // (145, 4)
+ {128, { 0, 0, 0}}, // (146, 4)
+ {128, { 0, 0, 0}}, // (147, 4)
+ {128, { 0, 0, 0}}, // (148, 4)
+ {128, { 0, 0, 0}}, // (149, 4)
+ {128, { 0, 0, 0}}, // (150, 4)
+ {128, { 0, 0, 0}}, // (151, 4)
+ {128, { 0, 0, 0}}, // (152, 4)
+ {128, { 0, 0, 0}}, // (153, 4)
+ {128, { 0, 0, 0}}, // (154, 4)
+ {128, { 0, 0, 0}}, // (155, 4)
+ {128, { 0, 0, 0}}, // (156, 4)
+ {128, { 0, 0, 0}}, // (157, 4)
+ {128, { 0, 0, 0}}, // (158, 4)
+ {128, { 0, 0, 0}}, // (159, 4)
+ {128, { 0, 0, 0}}, // (160, 4)
+ {128, { 0, 0, 0}}, // (161, 4)
+ {128, { 0, 0, 0}}, // (162, 4)
+ {128, { 0, 0, 0}}, // (163, 4)
+ {128, { 0, 0, 0}}, // (164, 4)
+ {128, { 0, 0, 0}}, // (165, 4)
+ {128, { 0, 0, 0}}, // (166, 4)
+ {128, { 0, 0, 0}}, // (167, 4)
+ {128, { 0, 0, 0}}, // (168, 4)
+ {128, { 0, 0, 0}}, // (169, 4)
+ {128, { 0, 0, 0}}, // (170, 4)
+ {128, { 0, 0, 0}}, // (171, 4)
+ {128, { 0, 0, 0}}, // (172, 4)
+ {128, { 0, 0, 0}}, // (173, 4)
+ {128, { 0, 0, 0}}, // (174, 4)
+ {128, { 0, 0, 0}}, // (175, 4)
+ {128, { 0, 0, 0}}, // (176, 4)
+ {128, { 0, 0, 0}}, // (177, 4)
+ {128, { 0, 0, 0}}, // (178, 4)
+ {128, { 0, 0, 0}}, // (179, 4)
+ {128, { 0, 0, 0}}, // ( 0, 5)
+ {128, { 0, 0, 0}}, // ( 1, 5)
+ {128, { 0, 0, 0}}, // ( 2, 5)
+ {128, { 0, 0, 0}}, // ( 3, 5)
+ {128, { 0, 0, 0}}, // ( 4, 5)
+ {128, { 0, 0, 0}}, // ( 5, 5)
+ {128, { 0, 0, 0}}, // ( 6, 5)
+ {128, { 0, 0, 0}}, // ( 7, 5)
+ {128, { 0, 0, 0}}, // ( 8, 5)
+ {128, { 0, 0, 0}}, // ( 9, 5)
+ {128, { 0, 0, 0}}, // ( 10, 5)
+ {128, { 0, 0, 0}}, // ( 11, 5)
+ {128, { 0, 0, 0}}, // ( 12, 5)
+ {128, { 0, 0, 0}}, // ( 13, 5)
+ {128, { 0, 0, 0}}, // ( 14, 5)
+ {128, { 0, 0, 0}}, // ( 15, 5)
+ {128, { 0, 0, 0}}, // ( 16, 5)
+ {128, { 0, 0, 0}}, // ( 17, 5)
+ {128, { 0, 0, 0}}, // ( 18, 5)
+ {128, { 0, 0, 0}}, // ( 19, 5)
+ {128, { 0, 0, 0}}, // ( 20, 5)
+ {128, { 0, 0, 0}}, // ( 21, 5)
+ {128, { 0, 0, 0}}, // ( 22, 5)
+ {128, { 0, 0, 0}}, // ( 23, 5)
+ {128, { 0, 0, 0}}, // ( 24, 5)
+ {128, { 0, 0, 0}}, // ( 25, 5)
+ {128, { 0, 0, 0}}, // ( 26, 5)
+ {128, { 0, 0, 0}}, // ( 27, 5)
+ {128, { 0, 0, 0}}, // ( 28, 5)
+ {128, { 0, 0, 0}}, // ( 29, 5)
+ {128, { 0, 0, 0}}, // ( 30, 5)
+ {128, { 0, 0, 0}}, // ( 31, 5)
+ {128, { 0, 0, 0}}, // ( 32, 5)
+ {128, { 0, 0, 0}}, // ( 33, 5)
+ {128, { 0, 0, 0}}, // ( 34, 5)
+ {128, { 0, 0, 0}}, // ( 35, 5)
+ {128, { 0, 0, 0}}, // ( 36, 5)
+ {128, { 0, 0, 0}}, // ( 37, 5)
+ {128, { 0, 0, 0}}, // ( 38, 5)
+ {128, { 0, 0, 0}}, // ( 39, 5)
+ {128, { 0, 0, 0}}, // ( 40, 5)
+ {128, { 0, 0, 0}}, // ( 41, 5)
+ {128, { 0, 0, 0}}, // ( 42, 5)
+ {128, { 0, 0, 0}}, // ( 43, 5)
+ {128, { 0, 0, 0}}, // ( 44, 5)
+ {128, { 0, 0, 0}}, // ( 45, 5)
+ {128, { 0, 0, 0}}, // ( 46, 5)
+ {128, { 0, 0, 0}}, // ( 47, 5)
+ {128, { 0, 0, 0}}, // ( 48, 5)
+ {128, { 0, 0, 0}}, // ( 49, 5)
+ {128, { 0, 0, 0}}, // ( 50, 5)
+ {128, { 0, 0, 0}}, // ( 51, 5)
+ {128, { 0, 0, 0}}, // ( 52, 5)
+ {128, { 0, 0, 0}}, // ( 53, 5)
+ {128, { 0, 0, 0}}, // ( 54, 5)
+ {128, { 0, 0, 0}}, // ( 55, 5)
+ {128, { 0, 0, 0}}, // ( 56, 5)
+ {128, { 0, 0, 0}}, // ( 57, 5)
+ {128, { 0, 0, 0}}, // ( 58, 5)
+ {128, { 0, 0, 0}}, // ( 59, 5)
+ {128, { 0, 0, 0}}, // ( 60, 5)
+ {128, { 0, 0, 0}}, // ( 61, 5)
+ {128, { 0, 0, 0}}, // ( 62, 5)
+ {126, { 0, 0, 0}}, // ( 63, 5)
+ { 97, { 0, 0, 0}}, // ( 64, 5)
+ { 59, { 0, 0, 0}}, // ( 65, 5)
+ { 23, { 0, 0, 0}}, // ( 66, 5)
+ { 1, { 0, 0, 0}}, // ( 67, 5)
+ { 0, { 0, 0, 0}}, // ( 68, 5)
+ { 0, { 0, 0, 0}}, // ( 69, 5)
+ { 0, { 0, 0, 0}}, // ( 70, 5)
+ { 0, { 0, 0, 0}}, // ( 71, 5)
+ { 0, { 0, 0, 0}}, // ( 72, 5)
+ { 0, { 0, 0, 0}}, // ( 73, 5)
+ { 0, { 0, 0, 0}}, // ( 74, 5)
+ { 0, { 0, 0, 0}}, // ( 75, 5)
+ { 0, { 0, 0, 0}}, // ( 76, 5)
+ { 0, { 0, 0, 0}}, // ( 77, 5)
+ { 0, { 0, 0, 0}}, // ( 78, 5)
+ { 0, { 0, 0, 0}}, // ( 79, 5)
+ { 0, { 0, 0, 0}}, // ( 80, 5)
+ { 0, { 0, 0, 0}}, // ( 81, 5)
+ { 0, { 0, 0, 0}}, // ( 82, 5)
+ { 0, { 0, 0, 0}}, // ( 83, 5)
+ { 0, { 0, 0, 0}}, // ( 84, 5)
+ { 0, { 0, 0, 0}}, // ( 85, 5)
+ { 0, { 0, 0, 0}}, // ( 86, 5)
+ { 0, { 0, 0, 0}}, // ( 87, 5)
+ { 0, { 0, 0, 0}}, // ( 88, 5)
+ { 0, { 0, 0, 0}}, // ( 89, 5)
+ { 0, { 0, 0, 0}}, // ( 90, 5)
+ { 0, { 0, 0, 0}}, // ( 91, 5)
+ { 0, { 0, 0, 0}}, // ( 92, 5)
+ { 0, { 0, 0, 0}}, // ( 93, 5)
+ { 0, { 0, 0, 0}}, // ( 94, 5)
+ { 0, { 0, 0, 0}}, // ( 95, 5)
+ { 0, { 0, 0, 0}}, // ( 96, 5)
+ { 0, { 0, 0, 0}}, // ( 97, 5)
+ { 0, { 0, 0, 0}}, // ( 98, 5)
+ { 0, { 0, 0, 0}}, // ( 99, 5)
+ { 0, { 0, 0, 0}}, // (100, 5)
+ { 0, { 0, 0, 0}}, // (101, 5)
+ { 0, { 0, 0, 0}}, // (102, 5)
+ { 0, { 0, 0, 0}}, // (103, 5)
+ { 0, { 0, 0, 0}}, // (104, 5)
+ { 0, { 0, 0, 0}}, // (105, 5)
+ { 0, { 0, 0, 0}}, // (106, 5)
+ { 0, { 0, 0, 0}}, // (107, 5)
+ { 0, { 0, 0, 0}}, // (108, 5)
+ { 0, { 0, 0, 0}}, // (109, 5)
+ { 0, { 0, 0, 0}}, // (110, 5)
+ { 0, { 0, 0, 0}}, // (111, 5)
+ { 1, { 0, 0, 0}}, // (112, 5)
+ { 23, { 0, 0, 0}}, // (113, 5)
+ { 59, { 0, 0, 0}}, // (114, 5)
+ { 97, { 0, 0, 0}}, // (115, 5)
+ {126, { 0, 0, 0}}, // (116, 5)
+ {128, { 0, 0, 0}}, // (117, 5)
+ {128, { 0, 0, 0}}, // (118, 5)
+ {128, { 0, 0, 0}}, // (119, 5)
+ {128, { 0, 0, 0}}, // (120, 5)
+ {128, { 0, 0, 0}}, // (121, 5)
+ {128, { 0, 0, 0}}, // (122, 5)
+ {128, { 0, 0, 0}}, // (123, 5)
+ {128, { 0, 0, 0}}, // (124, 5)
+ {128, { 0, 0, 0}}, // (125, 5)
+ {128, { 0, 0, 0}}, // (126, 5)
+ {128, { 0, 0, 0}}, // (127, 5)
+ {128, { 0, 0, 0}}, // (128, 5)
+ {128, { 0, 0, 0}}, // (129, 5)
+ {128, { 0, 0, 0}}, // (130, 5)
+ {128, { 0, 0, 0}}, // (131, 5)
+ {128, { 0, 0, 0}}, // (132, 5)
+ {128, { 0, 0, 0}}, // (133, 5)
+ {128, { 0, 0, 0}}, // (134, 5)
+ {128, { 0, 0, 0}}, // (135, 5)
+ {128, { 0, 0, 0}}, // (136, 5)
+ {128, { 0, 0, 0}}, // (137, 5)
+ {128, { 0, 0, 0}}, // (138, 5)
+ {128, { 0, 0, 0}}, // (139, 5)
+ {128, { 0, 0, 0}}, // (140, 5)
+ {128, { 0, 0, 0}}, // (141, 5)
+ {128, { 0, 0, 0}}, // (142, 5)
+ {128, { 0, 0, 0}}, // (143, 5)
+ {128, { 0, 0, 0}}, // (144, 5)
+ {128, { 0, 0, 0}}, // (145, 5)
+ {128, { 0, 0, 0}}, // (146, 5)
+ {128, { 0, 0, 0}}, // (147, 5)
+ {128, { 0, 0, 0}}, // (148, 5)
+ {128, { 0, 0, 0}}, // (149, 5)
+ {128, { 0, 0, 0}}, // (150, 5)
+ {128, { 0, 0, 0}}, // (151, 5)
+ {128, { 0, 0, 0}}, // (152, 5)
+ {128, { 0, 0, 0}}, // (153, 5)
+ {128, { 0, 0, 0}}, // (154, 5)
+ {128, { 0, 0, 0}}, // (155, 5)
+ {128, { 0, 0, 0}}, // (156, 5)
+ {128, { 0, 0, 0}}, // (157, 5)
+ {128, { 0, 0, 0}}, // (158, 5)
+ {128, { 0, 0, 0}}, // (159, 5)
+ {128, { 0, 0, 0}}, // (160, 5)
+ {128, { 0, 0, 0}}, // (161, 5)
+ {128, { 0, 0, 0}}, // (162, 5)
+ {128, { 0, 0, 0}}, // (163, 5)
+ {128, { 0, 0, 0}}, // (164, 5)
+ {128, { 0, 0, 0}}, // (165, 5)
+ {128, { 0, 0, 0}}, // (166, 5)
+ {128, { 0, 0, 0}}, // (167, 5)
+ {128, { 0, 0, 0}}, // (168, 5)
+ {128, { 0, 0, 0}}, // (169, 5)
+ {128, { 0, 0, 0}}, // (170, 5)
+ {128, { 0, 0, 0}}, // (171, 5)
+ {128, { 0, 0, 0}}, // (172, 5)
+ {128, { 0, 0, 0}}, // (173, 5)
+ {128, { 0, 0, 0}}, // (174, 5)
+ {128, { 0, 0, 0}}, // (175, 5)
+ {128, { 0, 0, 0}}, // (176, 5)
+ {128, { 0, 0, 0}}, // (177, 5)
+ {128, { 0, 0, 0}}, // (178, 5)
+ {128, { 0, 0, 0}}, // (179, 5)
+ {128, { 0, 0, 0}}, // ( 0, 6)
+ {128, { 0, 0, 0}}, // ( 1, 6)
+ {128, { 0, 0, 0}}, // ( 2, 6)
+ {128, { 0, 0, 0}}, // ( 3, 6)
+ {128, { 0, 0, 0}}, // ( 4, 6)
+ {128, { 0, 0, 0}}, // ( 5, 6)
+ {128, { 0, 0, 0}}, // ( 6, 6)
+ {128, { 0, 0, 0}}, // ( 7, 6)
+ {128, { 0, 0, 0}}, // ( 8, 6)
+ {128, { 0, 0, 0}}, // ( 9, 6)
+ {128, { 0, 0, 0}}, // ( 10, 6)
+ {128, { 0, 0, 0}}, // ( 11, 6)
+ {128, { 0, 0, 0}}, // ( 12, 6)
+ {128, { 0, 0, 0}}, // ( 13, 6)
+ {128, { 0, 0, 0}}, // ( 14, 6)
+ {128, { 0, 0, 0}}, // ( 15, 6)
+ {128, { 0, 0, 0}}, // ( 16, 6)
+ {128, { 0, 0, 0}}, // ( 17, 6)
+ {128, { 0, 0, 0}}, // ( 18, 6)
+ {128, { 0, 0, 0}}, // ( 19, 6)
+ {128, { 0, 0, 0}}, // ( 20, 6)
+ {128, { 0, 0, 0}}, // ( 21, 6)
+ {128, { 0, 0, 0}}, // ( 22, 6)
+ {128, { 0, 0, 0}}, // ( 23, 6)
+ {128, { 0, 0, 0}}, // ( 24, 6)
+ {128, { 0, 0, 0}}, // ( 25, 6)
+ {128, { 0, 0, 0}}, // ( 26, 6)
+ {128, { 0, 0, 0}}, // ( 27, 6)
+ {128, { 0, 0, 0}}, // ( 28, 6)
+ {128, { 0, 0, 0}}, // ( 29, 6)
+ {128, { 0, 0, 0}}, // ( 30, 6)
+ {128, { 0, 0, 0}}, // ( 31, 6)
+ {128, { 0, 0, 0}}, // ( 32, 6)
+ {128, { 0, 0, 0}}, // ( 33, 6)
+ {128, { 0, 0, 0}}, // ( 34, 6)
+ {128, { 0, 0, 0}}, // ( 35, 6)
+ {128, { 0, 0, 0}}, // ( 36, 6)
+ {128, { 0, 0, 0}}, // ( 37, 6)
+ {128, { 0, 0, 0}}, // ( 38, 6)
+ {128, { 0, 0, 0}}, // ( 39, 6)
+ {128, { 0, 0, 0}}, // ( 40, 6)
+ {128, { 0, 0, 0}}, // ( 41, 6)
+ {128, { 0, 0, 0}}, // ( 42, 6)
+ {128, { 0, 0, 0}}, // ( 43, 6)
+ {128, { 0, 0, 0}}, // ( 44, 6)
+ {128, { 0, 0, 0}}, // ( 45, 6)
+ {128, { 0, 0, 0}}, // ( 46, 6)
+ {128, { 0, 0, 0}}, // ( 47, 6)
+ {128, { 0, 0, 0}}, // ( 48, 6)
+ {128, { 0, 0, 0}}, // ( 49, 6)
+ {128, { 0, 0, 0}}, // ( 50, 6)
+ {128, { 0, 0, 0}}, // ( 51, 6)
+ {128, { 0, 0, 0}}, // ( 52, 6)
+ {128, { 0, 0, 0}}, // ( 53, 6)
+ {128, { 0, 0, 0}}, // ( 54, 6)
+ {128, { 0, 0, 0}}, // ( 55, 6)
+ {128, { 0, 0, 0}}, // ( 56, 6)
+ {128, { 0, 0, 0}}, // ( 57, 6)
+ {128, { 0, 0, 0}}, // ( 58, 6)
+ {128, { 0, 0, 0}}, // ( 59, 6)
+ {126, { 0, 0, 0}}, // ( 60, 6)
+ { 92, { 0, 0, 0}}, // ( 61, 6)
+ { 50, { 0, 0, 0}}, // ( 62, 6)
+ { 10, { 0, 0, 0}}, // ( 63, 6)
+ { 0, { 0, 0, 0}}, // ( 64, 6)
+ { 0, { 0, 0, 0}}, // ( 65, 6)
+ { 0, { 0, 0, 0}}, // ( 66, 6)
+ { 0, { 0, 0, 0}}, // ( 67, 6)
+ { 0, { 0, 0, 0}}, // ( 68, 6)
+ { 0, { 0, 0, 0}}, // ( 69, 6)
+ { 0, { 0, 0, 0}}, // ( 70, 6)
+ { 0, { 0, 0, 0}}, // ( 71, 6)
+ { 0, { 0, 0, 0}}, // ( 72, 6)
+ { 0, { 0, 0, 0}}, // ( 73, 6)
+ { 0, { 0, 0, 0}}, // ( 74, 6)
+ { 0, { 0, 0, 0}}, // ( 75, 6)
+ { 0, { 0, 0, 0}}, // ( 76, 6)
+ { 0, { 0, 0, 0}}, // ( 77, 6)
+ { 0, { 0, 0, 0}}, // ( 78, 6)
+ { 0, { 0, 0, 0}}, // ( 79, 6)
+ { 0, { 0, 0, 0}}, // ( 80, 6)
+ { 0, { 0, 0, 0}}, // ( 81, 6)
+ { 0, { 0, 0, 0}}, // ( 82, 6)
+ { 0, { 0, 0, 0}}, // ( 83, 6)
+ { 0, { 0, 0, 0}}, // ( 84, 6)
+ { 0, { 0, 0, 0}}, // ( 85, 6)
+ { 0, { 0, 0, 0}}, // ( 86, 6)
+ { 0, { 0, 0, 0}}, // ( 87, 6)
+ { 0, { 0, 0, 0}}, // ( 88, 6)
+ { 0, { 0, 0, 0}}, // ( 89, 6)
+ { 0, { 0, 0, 0}}, // ( 90, 6)
+ { 0, { 0, 0, 0}}, // ( 91, 6)
+ { 0, { 0, 0, 0}}, // ( 92, 6)
+ { 0, { 0, 0, 0}}, // ( 93, 6)
+ { 0, { 0, 0, 0}}, // ( 94, 6)
+ { 0, { 0, 0, 0}}, // ( 95, 6)
+ { 0, { 0, 0, 0}}, // ( 96, 6)
+ { 0, { 0, 0, 0}}, // ( 97, 6)
+ { 0, { 0, 0, 0}}, // ( 98, 6)
+ { 0, { 0, 0, 0}}, // ( 99, 6)
+ { 0, { 0, 0, 0}}, // (100, 6)
+ { 0, { 0, 0, 0}}, // (101, 6)
+ { 0, { 0, 0, 0}}, // (102, 6)
+ { 0, { 0, 0, 0}}, // (103, 6)
+ { 0, { 0, 0, 0}}, // (104, 6)
+ { 0, { 0, 0, 0}}, // (105, 6)
+ { 0, { 0, 0, 0}}, // (106, 6)
+ { 0, { 0, 0, 0}}, // (107, 6)
+ { 0, { 0, 0, 0}}, // (108, 6)
+ { 0, { 0, 0, 0}}, // (109, 6)
+ { 0, { 0, 0, 0}}, // (110, 6)
+ { 0, { 0, 0, 0}}, // (111, 6)
+ { 0, { 0, 0, 0}}, // (112, 6)
+ { 0, { 0, 0, 0}}, // (113, 6)
+ { 0, { 0, 0, 0}}, // (114, 6)
+ { 0, { 0, 0, 0}}, // (115, 6)
+ { 10, { 0, 0, 0}}, // (116, 6)
+ { 50, { 0, 0, 0}}, // (117, 6)
+ { 92, { 0, 0, 0}}, // (118, 6)
+ {126, { 0, 0, 0}}, // (119, 6)
+ {128, { 0, 0, 0}}, // (120, 6)
+ {128, { 0, 0, 0}}, // (121, 6)
+ {128, { 0, 0, 0}}, // (122, 6)
+ {128, { 0, 0, 0}}, // (123, 6)
+ {128, { 0, 0, 0}}, // (124, 6)
+ {128, { 0, 0, 0}}, // (125, 6)
+ {128, { 0, 0, 0}}, // (126, 6)
+ {128, { 0, 0, 0}}, // (127, 6)
+ {128, { 0, 0, 0}}, // (128, 6)
+ {128, { 0, 0, 0}}, // (129, 6)
+ {128, { 0, 0, 0}}, // (130, 6)
+ {128, { 0, 0, 0}}, // (131, 6)
+ {128, { 0, 0, 0}}, // (132, 6)
+ {128, { 0, 0, 0}}, // (133, 6)
+ {128, { 0, 0, 0}}, // (134, 6)
+ {128, { 0, 0, 0}}, // (135, 6)
+ {128, { 0, 0, 0}}, // (136, 6)
+ {128, { 0, 0, 0}}, // (137, 6)
+ {128, { 0, 0, 0}}, // (138, 6)
+ {128, { 0, 0, 0}}, // (139, 6)
+ {128, { 0, 0, 0}}, // (140, 6)
+ {128, { 0, 0, 0}}, // (141, 6)
+ {128, { 0, 0, 0}}, // (142, 6)
+ {128, { 0, 0, 0}}, // (143, 6)
+ {128, { 0, 0, 0}}, // (144, 6)
+ {128, { 0, 0, 0}}, // (145, 6)
+ {128, { 0, 0, 0}}, // (146, 6)
+ {128, { 0, 0, 0}}, // (147, 6)
+ {128, { 0, 0, 0}}, // (148, 6)
+ {128, { 0, 0, 0}}, // (149, 6)
+ {128, { 0, 0, 0}}, // (150, 6)
+ {128, { 0, 0, 0}}, // (151, 6)
+ {128, { 0, 0, 0}}, // (152, 6)
+ {128, { 0, 0, 0}}, // (153, 6)
+ {128, { 0, 0, 0}}, // (154, 6)
+ {128, { 0, 0, 0}}, // (155, 6)
+ {128, { 0, 0, 0}}, // (156, 6)
+ {128, { 0, 0, 0}}, // (157, 6)
+ {128, { 0, 0, 0}}, // (158, 6)
+ {128, { 0, 0, 0}}, // (159, 6)
+ {128, { 0, 0, 0}}, // (160, 6)
+ {128, { 0, 0, 0}}, // (161, 6)
+ {128, { 0, 0, 0}}, // (162, 6)
+ {128, { 0, 0, 0}}, // (163, 6)
+ {128, { 0, 0, 0}}, // (164, 6)
+ {128, { 0, 0, 0}}, // (165, 6)
+ {128, { 0, 0, 0}}, // (166, 6)
+ {128, { 0, 0, 0}}, // (167, 6)
+ {128, { 0, 0, 0}}, // (168, 6)
+ {128, { 0, 0, 0}}, // (169, 6)
+ {128, { 0, 0, 0}}, // (170, 6)
+ {128, { 0, 0, 0}}, // (171, 6)
+ {128, { 0, 0, 0}}, // (172, 6)
+ {128, { 0, 0, 0}}, // (173, 6)
+ {128, { 0, 0, 0}}, // (174, 6)
+ {128, { 0, 0, 0}}, // (175, 6)
+ {128, { 0, 0, 0}}, // (176, 6)
+ {128, { 0, 0, 0}}, // (177, 6)
+ {128, { 0, 0, 0}}, // (178, 6)
+ {128, { 0, 0, 0}}, // (179, 6)
+ {128, { 0, 0, 0}}, // ( 0, 7)
+ {128, { 0, 0, 0}}, // ( 1, 7)
+ {128, { 0, 0, 0}}, // ( 2, 7)
+ {128, { 0, 0, 0}}, // ( 3, 7)
+ {128, { 0, 0, 0}}, // ( 4, 7)
+ {128, { 0, 0, 0}}, // ( 5, 7)
+ {128, { 0, 0, 0}}, // ( 6, 7)
+ {128, { 0, 0, 0}}, // ( 7, 7)
+ {128, { 0, 0, 0}}, // ( 8, 7)
+ {128, { 0, 0, 0}}, // ( 9, 7)
+ {128, { 0, 0, 0}}, // ( 10, 7)
+ {128, { 0, 0, 0}}, // ( 11, 7)
+ {128, { 0, 0, 0}}, // ( 12, 7)
+ {128, { 0, 0, 0}}, // ( 13, 7)
+ {128, { 0, 0, 0}}, // ( 14, 7)
+ {128, { 0, 0, 0}}, // ( 15, 7)
+ {128, { 0, 0, 0}}, // ( 16, 7)
+ {128, { 0, 0, 0}}, // ( 17, 7)
+ {128, { 0, 0, 0}}, // ( 18, 7)
+ {128, { 0, 0, 0}}, // ( 19, 7)
+ {128, { 0, 0, 0}}, // ( 20, 7)
+ {128, { 0, 0, 0}}, // ( 21, 7)
+ {128, { 0, 0, 0}}, // ( 22, 7)
+ {128, { 0, 0, 0}}, // ( 23, 7)
+ {128, { 0, 0, 0}}, // ( 24, 7)
+ {128, { 0, 0, 0}}, // ( 25, 7)
+ {128, { 0, 0, 0}}, // ( 26, 7)
+ {128, { 0, 0, 0}}, // ( 27, 7)
+ {128, { 0, 0, 0}}, // ( 28, 7)
+ {128, { 0, 0, 0}}, // ( 29, 7)
+ {128, { 0, 0, 0}}, // ( 30, 7)
+ {128, { 0, 0, 0}}, // ( 31, 7)
+ {128, { 0, 0, 0}}, // ( 32, 7)
+ {128, { 0, 0, 0}}, // ( 33, 7)
+ {128, { 0, 0, 0}}, // ( 34, 7)
+ {128, { 0, 0, 0}}, // ( 35, 7)
+ {128, { 0, 0, 0}}, // ( 36, 7)
+ {128, { 0, 0, 0}}, // ( 37, 7)
+ {128, { 0, 0, 0}}, // ( 38, 7)
+ {128, { 0, 0, 0}}, // ( 39, 7)
+ {128, { 0, 0, 0}}, // ( 40, 7)
+ {128, { 0, 0, 0}}, // ( 41, 7)
+ {128, { 0, 0, 0}}, // ( 42, 7)
+ {128, { 0, 0, 0}}, // ( 43, 7)
+ {128, { 0, 0, 0}}, // ( 44, 7)
+ {128, { 0, 0, 0}}, // ( 45, 7)
+ {128, { 0, 0, 0}}, // ( 46, 7)
+ {128, { 0, 0, 0}}, // ( 47, 7)
+ {128, { 0, 0, 0}}, // ( 48, 7)
+ {128, { 0, 0, 0}}, // ( 49, 7)
+ {128, { 0, 0, 0}}, // ( 50, 7)
+ {128, { 0, 0, 0}}, // ( 51, 7)
+ {128, { 0, 0, 0}}, // ( 52, 7)
+ {128, { 0, 0, 0}}, // ( 53, 7)
+ {128, { 0, 0, 0}}, // ( 54, 7)
+ {128, { 0, 0, 0}}, // ( 55, 7)
+ {128, { 0, 0, 0}}, // ( 56, 7)
+ {128, { 0, 0, 0}}, // ( 57, 7)
+ {107, { 0, 0, 0}}, // ( 58, 7)
+ { 57, { 0, 0, 0}}, // ( 59, 7)
+ { 12, { 0, 0, 0}}, // ( 60, 7)
+ { 0, { 0, 0, 0}}, // ( 61, 7)
+ { 0, { 0, 0, 0}}, // ( 62, 7)
+ { 0, { 0, 0, 0}}, // ( 63, 7)
+ { 0, { 0, 0, 0}}, // ( 64, 7)
+ { 0, { 0, 0, 0}}, // ( 65, 7)
+ { 0, { 0, 0, 0}}, // ( 66, 7)
+ { 0, { 0, 0, 0}}, // ( 67, 7)
+ { 0, { 0, 0, 0}}, // ( 68, 7)
+ { 0, { 0, 0, 0}}, // ( 69, 7)
+ { 0, { 0, 0, 0}}, // ( 70, 7)
+ { 0, { 0, 0, 0}}, // ( 71, 7)
+ { 0, { 0, 0, 0}}, // ( 72, 7)
+ { 0, { 0, 0, 0}}, // ( 73, 7)
+ { 0, { 0, 0, 0}}, // ( 74, 7)
+ { 0, { 0, 0, 0}}, // ( 75, 7)
+ { 0, { 0, 0, 0}}, // ( 76, 7)
+ { 0, { 0, 0, 0}}, // ( 77, 7)
+ { 0, { 0, 0, 0}}, // ( 78, 7)
+ { 0, { 0, 0, 0}}, // ( 79, 7)
+ { 0, { 0, 0, 0}}, // ( 80, 7)
+ { 0, { 0, 0, 0}}, // ( 81, 7)
+ { 0, { 0, 0, 0}}, // ( 82, 7)
+ { 0, { 0, 0, 0}}, // ( 83, 7)
+ { 0, { 0, 0, 0}}, // ( 84, 7)
+ { 0, { 0, 0, 0}}, // ( 85, 7)
+ { 0, { 0, 0, 0}}, // ( 86, 7)
+ { 0, { 0, 0, 0}}, // ( 87, 7)
+ { 0, { 0, 0, 0}}, // ( 88, 7)
+ { 0, { 0, 0, 0}}, // ( 89, 7)
+ { 0, { 0, 0, 0}}, // ( 90, 7)
+ { 0, { 0, 0, 0}}, // ( 91, 7)
+ { 0, { 0, 0, 0}}, // ( 92, 7)
+ { 0, { 0, 0, 0}}, // ( 93, 7)
+ { 0, { 0, 0, 0}}, // ( 94, 7)
+ { 0, { 0, 0, 0}}, // ( 95, 7)
+ { 0, { 0, 0, 0}}, // ( 96, 7)
+ { 0, { 0, 0, 0}}, // ( 97, 7)
+ { 0, { 0, 0, 0}}, // ( 98, 7)
+ { 0, { 0, 0, 0}}, // ( 99, 7)
+ { 0, { 0, 0, 0}}, // (100, 7)
+ { 0, { 0, 0, 0}}, // (101, 7)
+ { 0, { 0, 0, 0}}, // (102, 7)
+ { 0, { 0, 0, 0}}, // (103, 7)
+ { 0, { 0, 0, 0}}, // (104, 7)
+ { 0, { 0, 0, 0}}, // (105, 7)
+ { 0, { 0, 0, 0}}, // (106, 7)
+ { 0, { 0, 0, 0}}, // (107, 7)
+ { 0, { 0, 0, 0}}, // (108, 7)
+ { 0, { 0, 0, 0}}, // (109, 7)
+ { 0, { 0, 0, 0}}, // (110, 7)
+ { 0, { 0, 0, 0}}, // (111, 7)
+ { 0, { 0, 0, 0}}, // (112, 7)
+ { 0, { 0, 0, 0}}, // (113, 7)
+ { 0, { 0, 0, 0}}, // (114, 7)
+ { 0, { 0, 0, 0}}, // (115, 7)
+ { 0, { 0, 0, 0}}, // (116, 7)
+ { 0, { 0, 0, 0}}, // (117, 7)
+ { 0, { 0, 0, 0}}, // (118, 7)
+ { 12, { 0, 0, 0}}, // (119, 7)
+ { 57, { 0, 0, 0}}, // (120, 7)
+ {106, { 0, 0, 0}}, // (121, 7)
+ {128, { 0, 0, 0}}, // (122, 7)
+ {128, { 0, 0, 0}}, // (123, 7)
+ {128, { 0, 0, 0}}, // (124, 7)
+ {128, { 0, 0, 0}}, // (125, 7)
+ {128, { 0, 0, 0}}, // (126, 7)
+ {128, { 0, 0, 0}}, // (127, 7)
+ {128, { 0, 0, 0}}, // (128, 7)
+ {128, { 0, 0, 0}}, // (129, 7)
+ {128, { 0, 0, 0}}, // (130, 7)
+ {128, { 0, 0, 0}}, // (131, 7)
+ {128, { 0, 0, 0}}, // (132, 7)
+ {128, { 0, 0, 0}}, // (133, 7)
+ {128, { 0, 0, 0}}, // (134, 7)
+ {128, { 0, 0, 0}}, // (135, 7)
+ {128, { 0, 0, 0}}, // (136, 7)
+ {128, { 0, 0, 0}}, // (137, 7)
+ {128, { 0, 0, 0}}, // (138, 7)
+ {128, { 0, 0, 0}}, // (139, 7)
+ {128, { 0, 0, 0}}, // (140, 7)
+ {128, { 0, 0, 0}}, // (141, 7)
+ {128, { 0, 0, 0}}, // (142, 7)
+ {128, { 0, 0, 0}}, // (143, 7)
+ {128, { 0, 0, 0}}, // (144, 7)
+ {128, { 0, 0, 0}}, // (145, 7)
+ {128, { 0, 0, 0}}, // (146, 7)
+ {128, { 0, 0, 0}}, // (147, 7)
+ {128, { 0, 0, 0}}, // (148, 7)
+ {128, { 0, 0, 0}}, // (149, 7)
+ {128, { 0, 0, 0}}, // (150, 7)
+ {128, { 0, 0, 0}}, // (151, 7)
+ {128, { 0, 0, 0}}, // (152, 7)
+ {128, { 0, 0, 0}}, // (153, 7)
+ {128, { 0, 0, 0}}, // (154, 7)
+ {128, { 0, 0, 0}}, // (155, 7)
+ {128, { 0, 0, 0}}, // (156, 7)
+ {128, { 0, 0, 0}}, // (157, 7)
+ {128, { 0, 0, 0}}, // (158, 7)
+ {128, { 0, 0, 0}}, // (159, 7)
+ {128, { 0, 0, 0}}, // (160, 7)
+ {128, { 0, 0, 0}}, // (161, 7)
+ {128, { 0, 0, 0}}, // (162, 7)
+ {128, { 0, 0, 0}}, // (163, 7)
+ {128, { 0, 0, 0}}, // (164, 7)
+ {128, { 0, 0, 0}}, // (165, 7)
+ {128, { 0, 0, 0}}, // (166, 7)
+ {128, { 0, 0, 0}}, // (167, 7)
+ {128, { 0, 0, 0}}, // (168, 7)
+ {128, { 0, 0, 0}}, // (169, 7)
+ {128, { 0, 0, 0}}, // (170, 7)
+ {128, { 0, 0, 0}}, // (171, 7)
+ {128, { 0, 0, 0}}, // (172, 7)
+ {128, { 0, 0, 0}}, // (173, 7)
+ {128, { 0, 0, 0}}, // (174, 7)
+ {128, { 0, 0, 0}}, // (175, 7)
+ {128, { 0, 0, 0}}, // (176, 7)
+ {128, { 0, 0, 0}}, // (177, 7)
+ {128, { 0, 0, 0}}, // (178, 7)
+ {128, { 0, 0, 0}}, // (179, 7)
+ {128, { 0, 0, 0}}, // ( 0, 8)
+ {128, { 0, 0, 0}}, // ( 1, 8)
+ {128, { 0, 0, 0}}, // ( 2, 8)
+ {128, { 0, 0, 0}}, // ( 3, 8)
+ {128, { 0, 0, 0}}, // ( 4, 8)
+ {128, { 0, 0, 0}}, // ( 5, 8)
+ {128, { 0, 0, 0}}, // ( 6, 8)
+ {128, { 0, 0, 0}}, // ( 7, 8)
+ {128, { 0, 0, 0}}, // ( 8, 8)
+ {128, { 0, 0, 0}}, // ( 9, 8)
+ {128, { 0, 0, 0}}, // ( 10, 8)
+ {128, { 0, 0, 0}}, // ( 11, 8)
+ {128, { 0, 0, 0}}, // ( 12, 8)
+ {128, { 0, 0, 0}}, // ( 13, 8)
+ {128, { 0, 0, 0}}, // ( 14, 8)
+ {128, { 0, 0, 0}}, // ( 15, 8)
+ {128, { 0, 0, 0}}, // ( 16, 8)
+ {128, { 0, 0, 0}}, // ( 17, 8)
+ {128, { 0, 0, 0}}, // ( 18, 8)
+ {128, { 0, 0, 0}}, // ( 19, 8)
+ {128, { 0, 0, 0}}, // ( 20, 8)
+ {128, { 0, 0, 0}}, // ( 21, 8)
+ {128, { 0, 0, 0}}, // ( 22, 8)
+ {128, { 0, 0, 0}}, // ( 23, 8)
+ {128, { 0, 0, 0}}, // ( 24, 8)
+ {128, { 0, 0, 0}}, // ( 25, 8)
+ {128, { 0, 0, 0}}, // ( 26, 8)
+ {128, { 0, 0, 0}}, // ( 27, 8)
+ {128, { 0, 0, 0}}, // ( 28, 8)
+ {128, { 0, 0, 0}}, // ( 29, 8)
+ {128, { 0, 0, 0}}, // ( 30, 8)
+ {128, { 0, 0, 0}}, // ( 31, 8)
+ {128, { 0, 0, 0}}, // ( 32, 8)
+ {128, { 0, 0, 0}}, // ( 33, 8)
+ {128, { 0, 0, 0}}, // ( 34, 8)
+ {128, { 0, 0, 0}}, // ( 35, 8)
+ {128, { 0, 0, 0}}, // ( 36, 8)
+ {128, { 0, 0, 0}}, // ( 37, 8)
+ {128, { 0, 0, 0}}, // ( 38, 8)
+ {128, { 0, 0, 0}}, // ( 39, 8)
+ {128, { 0, 0, 0}}, // ( 40, 8)
+ {128, { 0, 0, 0}}, // ( 41, 8)
+ {128, { 0, 0, 0}}, // ( 42, 8)
+ {128, { 0, 0, 0}}, // ( 43, 8)
+ {128, { 0, 0, 0}}, // ( 44, 8)
+ {128, { 0, 0, 0}}, // ( 45, 8)
+ {128, { 0, 0, 0}}, // ( 46, 8)
+ {128, { 0, 0, 0}}, // ( 47, 8)
+ {128, { 0, 0, 0}}, // ( 48, 8)
+ {128, { 0, 0, 0}}, // ( 49, 8)
+ {128, { 0, 0, 0}}, // ( 50, 8)
+ {128, { 0, 0, 0}}, // ( 51, 8)
+ {128, { 0, 0, 0}}, // ( 52, 8)
+ {128, { 0, 0, 0}}, // ( 53, 8)
+ {128, { 0, 0, 0}}, // ( 54, 8)
+ {122, { 0, 0, 0}}, // ( 55, 8)
+ { 80, { 0, 0, 0}}, // ( 56, 8)
+ { 29, { 0, 0, 0}}, // ( 57, 8)
+ { 0, { 0, 0, 0}}, // ( 58, 8)
+ { 0, { 0, 0, 0}}, // ( 59, 8)
+ { 0, { 0, 0, 0}}, // ( 60, 8)
+ { 0, { 0, 0, 0}}, // ( 61, 8)
+ { 0, { 0, 0, 0}}, // ( 62, 8)
+ { 0, { 0, 0, 0}}, // ( 63, 8)
+ { 0, { 0, 0, 0}}, // ( 64, 8)
+ { 0, { 0, 0, 0}}, // ( 65, 8)
+ { 0, { 0, 0, 0}}, // ( 66, 8)
+ { 0, { 0, 0, 0}}, // ( 67, 8)
+ { 0, { 0, 0, 0}}, // ( 68, 8)
+ { 0, { 0, 0, 0}}, // ( 69, 8)
+ { 0, { 0, 0, 0}}, // ( 70, 8)
+ { 0, { 0, 0, 0}}, // ( 71, 8)
+ { 0, { 0, 0, 0}}, // ( 72, 8)
+ { 0, { 0, 0, 0}}, // ( 73, 8)
+ { 0, { 0, 0, 0}}, // ( 74, 8)
+ { 0, { 0, 0, 0}}, // ( 75, 8)
+ { 0, { 0, 0, 0}}, // ( 76, 8)
+ { 0, { 0, 0, 0}}, // ( 77, 8)
+ { 0, { 0, 0, 0}}, // ( 78, 8)
+ { 0, { 0, 0, 0}}, // ( 79, 8)
+ { 0, { 0, 0, 0}}, // ( 80, 8)
+ { 0, { 0, 0, 0}}, // ( 81, 8)
+ { 0, { 0, 0, 0}}, // ( 82, 8)
+ { 0, { 0, 0, 0}}, // ( 83, 8)
+ { 0, { 0, 0, 0}}, // ( 84, 8)
+ { 0, { 0, 0, 0}}, // ( 85, 8)
+ { 0, { 0, 0, 0}}, // ( 86, 8)
+ { 0, { 0, 0, 0}}, // ( 87, 8)
+ { 0, { 0, 0, 0}}, // ( 88, 8)
+ { 0, { 0, 0, 0}}, // ( 89, 8)
+ { 0, { 0, 0, 0}}, // ( 90, 8)
+ { 0, { 0, 0, 0}}, // ( 91, 8)
+ { 0, { 0, 0, 0}}, // ( 92, 8)
+ { 0, { 0, 0, 0}}, // ( 93, 8)
+ { 0, { 0, 0, 0}}, // ( 94, 8)
+ { 0, { 0, 0, 0}}, // ( 95, 8)
+ { 0, { 0, 0, 0}}, // ( 96, 8)
+ { 0, { 0, 0, 0}}, // ( 97, 8)
+ { 0, { 0, 0, 0}}, // ( 98, 8)
+ { 0, { 0, 0, 0}}, // ( 99, 8)
+ { 0, { 0, 0, 0}}, // (100, 8)
+ { 0, { 0, 0, 0}}, // (101, 8)
+ { 0, { 0, 0, 0}}, // (102, 8)
+ { 0, { 0, 0, 0}}, // (103, 8)
+ { 0, { 0, 0, 0}}, // (104, 8)
+ { 0, { 0, 0, 0}}, // (105, 8)
+ { 0, { 0, 0, 0}}, // (106, 8)
+ { 0, { 0, 0, 0}}, // (107, 8)
+ { 0, { 0, 0, 0}}, // (108, 8)
+ { 0, { 0, 0, 0}}, // (109, 8)
+ { 0, { 0, 0, 0}}, // (110, 8)
+ { 0, { 0, 0, 0}}, // (111, 8)
+ { 0, { 0, 0, 0}}, // (112, 8)
+ { 0, { 0, 0, 0}}, // (113, 8)
+ { 0, { 0, 0, 0}}, // (114, 8)
+ { 0, { 0, 0, 0}}, // (115, 8)
+ { 0, { 0, 0, 0}}, // (116, 8)
+ { 0, { 0, 0, 0}}, // (117, 8)
+ { 0, { 0, 0, 0}}, // (118, 8)
+ { 0, { 0, 0, 0}}, // (119, 8)
+ { 0, { 0, 0, 0}}, // (120, 8)
+ { 0, { 0, 0, 0}}, // (121, 8)
+ { 29, { 0, 0, 0}}, // (122, 8)
+ { 80, { 0, 0, 0}}, // (123, 8)
+ {122, { 0, 0, 0}}, // (124, 8)
+ {128, { 0, 0, 0}}, // (125, 8)
+ {128, { 0, 0, 0}}, // (126, 8)
+ {128, { 0, 0, 0}}, // (127, 8)
+ {128, { 0, 0, 0}}, // (128, 8)
+ {128, { 0, 0, 0}}, // (129, 8)
+ {128, { 0, 0, 0}}, // (130, 8)
+ {128, { 0, 0, 0}}, // (131, 8)
+ {128, { 0, 0, 0}}, // (132, 8)
+ {128, { 0, 0, 0}}, // (133, 8)
+ {128, { 0, 0, 0}}, // (134, 8)
+ {128, { 0, 0, 0}}, // (135, 8)
+ {128, { 0, 0, 0}}, // (136, 8)
+ {128, { 0, 0, 0}}, // (137, 8)
+ {128, { 0, 0, 0}}, // (138, 8)
+ {128, { 0, 0, 0}}, // (139, 8)
+ {128, { 0, 0, 0}}, // (140, 8)
+ {128, { 0, 0, 0}}, // (141, 8)
+ {128, { 0, 0, 0}}, // (142, 8)
+ {128, { 0, 0, 0}}, // (143, 8)
+ {128, { 0, 0, 0}}, // (144, 8)
+ {128, { 0, 0, 0}}, // (145, 8)
+ {128, { 0, 0, 0}}, // (146, 8)
+ {128, { 0, 0, 0}}, // (147, 8)
+ {128, { 0, 0, 0}}, // (148, 8)
+ {128, { 0, 0, 0}}, // (149, 8)
+ {128, { 0, 0, 0}}, // (150, 8)
+ {128, { 0, 0, 0}}, // (151, 8)
+ {128, { 0, 0, 0}}, // (152, 8)
+ {128, { 0, 0, 0}}, // (153, 8)
+ {128, { 0, 0, 0}}, // (154, 8)
+ {128, { 0, 0, 0}}, // (155, 8)
+ {128, { 0, 0, 0}}, // (156, 8)
+ {128, { 0, 0, 0}}, // (157, 8)
+ {128, { 0, 0, 0}}, // (158, 8)
+ {128, { 0, 0, 0}}, // (159, 8)
+ {128, { 0, 0, 0}}, // (160, 8)
+ {128, { 0, 0, 0}}, // (161, 8)
+ {128, { 0, 0, 0}}, // (162, 8)
+ {128, { 0, 0, 0}}, // (163, 8)
+ {128, { 0, 0, 0}}, // (164, 8)
+ {128, { 0, 0, 0}}, // (165, 8)
+ {128, { 0, 0, 0}}, // (166, 8)
+ {128, { 0, 0, 0}}, // (167, 8)
+ {128, { 0, 0, 0}}, // (168, 8)
+ {128, { 0, 0, 0}}, // (169, 8)
+ {128, { 0, 0, 0}}, // (170, 8)
+ {128, { 0, 0, 0}}, // (171, 8)
+ {128, { 0, 0, 0}}, // (172, 8)
+ {128, { 0, 0, 0}}, // (173, 8)
+ {128, { 0, 0, 0}}, // (174, 8)
+ {128, { 0, 0, 0}}, // (175, 8)
+ {128, { 0, 0, 0}}, // (176, 8)
+ {128, { 0, 0, 0}}, // (177, 8)
+ {128, { 0, 0, 0}}, // (178, 8)
+ {128, { 0, 0, 0}}, // (179, 8)
+ {128, { 0, 0, 0}}, // ( 0, 9)
+ {128, { 0, 0, 0}}, // ( 1, 9)
+ {128, { 0, 0, 0}}, // ( 2, 9)
+ {128, { 0, 0, 0}}, // ( 3, 9)
+ {128, { 0, 0, 0}}, // ( 4, 9)
+ {128, { 0, 0, 0}}, // ( 5, 9)
+ {128, { 0, 0, 0}}, // ( 6, 9)
+ {128, { 0, 0, 0}}, // ( 7, 9)
+ {128, { 0, 0, 0}}, // ( 8, 9)
+ {128, { 0, 0, 0}}, // ( 9, 9)
+ {128, { 0, 0, 0}}, // ( 10, 9)
+ {128, { 0, 0, 0}}, // ( 11, 9)
+ {128, { 0, 0, 0}}, // ( 12, 9)
+ {128, { 0, 0, 0}}, // ( 13, 9)
+ {128, { 0, 0, 0}}, // ( 14, 9)
+ {128, { 0, 0, 0}}, // ( 15, 9)
+ {128, { 0, 0, 0}}, // ( 16, 9)
+ {128, { 0, 0, 0}}, // ( 17, 9)
+ {128, { 0, 0, 0}}, // ( 18, 9)
+ {128, { 0, 0, 0}}, // ( 19, 9)
+ {128, { 0, 0, 0}}, // ( 20, 9)
+ {128, { 0, 0, 0}}, // ( 21, 9)
+ {128, { 0, 0, 0}}, // ( 22, 9)
+ {128, { 0, 0, 0}}, // ( 23, 9)
+ {128, { 0, 0, 0}}, // ( 24, 9)
+ {128, { 0, 0, 0}}, // ( 25, 9)
+ {128, { 0, 0, 0}}, // ( 26, 9)
+ {128, { 0, 0, 0}}, // ( 27, 9)
+ {128, { 0, 0, 0}}, // ( 28, 9)
+ {128, { 0, 0, 0}}, // ( 29, 9)
+ {128, { 0, 0, 0}}, // ( 30, 9)
+ {128, { 0, 0, 0}}, // ( 31, 9)
+ {128, { 0, 0, 0}}, // ( 32, 9)
+ {128, { 0, 0, 0}}, // ( 33, 9)
+ {128, { 0, 0, 0}}, // ( 34, 9)
+ {128, { 0, 0, 0}}, // ( 35, 9)
+ {128, { 0, 0, 0}}, // ( 36, 9)
+ {128, { 0, 0, 0}}, // ( 37, 9)
+ {128, { 0, 0, 0}}, // ( 38, 9)
+ {128, { 0, 0, 0}}, // ( 39, 9)
+ {128, { 0, 0, 0}}, // ( 40, 9)
+ {128, { 0, 0, 0}}, // ( 41, 9)
+ {128, { 0, 0, 0}}, // ( 42, 9)
+ {128, { 0, 0, 0}}, // ( 43, 9)
+ {128, { 0, 0, 0}}, // ( 44, 9)
+ {128, { 0, 0, 0}}, // ( 45, 9)
+ {128, { 0, 0, 0}}, // ( 46, 9)
+ {128, { 0, 0, 0}}, // ( 47, 9)
+ {128, { 0, 0, 0}}, // ( 48, 9)
+ {128, { 0, 0, 0}}, // ( 49, 9)
+ {128, { 0, 0, 0}}, // ( 50, 9)
+ {128, { 0, 0, 0}}, // ( 51, 9)
+ {128, { 0, 0, 0}}, // ( 52, 9)
+ {116, { 0, 0, 0}}, // ( 53, 9)
+ { 61, { 0, 0, 0}}, // ( 54, 9)
+ { 9, { 0, 0, 0}}, // ( 55, 9)
+ { 0, { 0, 0, 0}}, // ( 56, 9)
+ { 0, { 0, 0, 0}}, // ( 57, 9)
+ { 0, { 0, 0, 0}}, // ( 58, 9)
+ { 0, { 0, 0, 0}}, // ( 59, 9)
+ { 0, { 0, 0, 0}}, // ( 60, 9)
+ { 0, { 0, 0, 0}}, // ( 61, 9)
+ { 0, { 0, 0, 0}}, // ( 62, 9)
+ { 0, { 0, 0, 0}}, // ( 63, 9)
+ { 0, { 0, 0, 0}}, // ( 64, 9)
+ { 0, { 0, 0, 0}}, // ( 65, 9)
+ { 0, { 0, 0, 0}}, // ( 66, 9)
+ { 0, { 0, 0, 0}}, // ( 67, 9)
+ { 0, { 0, 0, 0}}, // ( 68, 9)
+ { 0, { 0, 0, 0}}, // ( 69, 9)
+ { 0, { 0, 0, 0}}, // ( 70, 9)
+ { 0, { 0, 0, 0}}, // ( 71, 9)
+ { 0, { 0, 0, 0}}, // ( 72, 9)
+ { 0, { 0, 0, 0}}, // ( 73, 9)
+ { 0, { 0, 0, 0}}, // ( 74, 9)
+ { 0, { 0, 0, 0}}, // ( 75, 9)
+ { 0, { 0, 0, 0}}, // ( 76, 9)
+ { 0, { 0, 0, 0}}, // ( 77, 9)
+ { 0, { 0, 0, 0}}, // ( 78, 9)
+ { 0, { 0, 0, 0}}, // ( 79, 9)
+ { 0, { 0, 0, 0}}, // ( 80, 9)
+ { 0, { 0, 0, 0}}, // ( 81, 9)
+ { 0, { 0, 0, 0}}, // ( 82, 9)
+ { 0, { 0, 0, 0}}, // ( 83, 9)
+ { 0, { 0, 0, 0}}, // ( 84, 9)
+ { 0, { 0, 0, 0}}, // ( 85, 9)
+ { 0, { 0, 0, 0}}, // ( 86, 9)
+ { 0, { 0, 0, 0}}, // ( 87, 9)
+ { 0, { 0, 0, 0}}, // ( 88, 9)
+ { 0, { 0, 0, 0}}, // ( 89, 9)
+ { 0, { 0, 0, 0}}, // ( 90, 9)
+ { 0, { 0, 0, 0}}, // ( 91, 9)
+ { 0, { 0, 0, 0}}, // ( 92, 9)
+ { 0, { 0, 0, 0}}, // ( 93, 9)
+ { 0, { 0, 0, 0}}, // ( 94, 9)
+ { 0, { 0, 0, 0}}, // ( 95, 9)
+ { 0, { 0, 0, 0}}, // ( 96, 9)
+ { 0, { 0, 0, 0}}, // ( 97, 9)
+ { 0, { 0, 0, 0}}, // ( 98, 9)
+ { 0, { 0, 0, 0}}, // ( 99, 9)
+ { 0, { 0, 0, 0}}, // (100, 9)
+ { 0, { 0, 0, 0}}, // (101, 9)
+ { 0, { 0, 0, 0}}, // (102, 9)
+ { 0, { 0, 0, 0}}, // (103, 9)
+ { 0, { 0, 0, 0}}, // (104, 9)
+ { 0, { 0, 0, 0}}, // (105, 9)
+ { 0, { 0, 0, 0}}, // (106, 9)
+ { 0, { 0, 0, 0}}, // (107, 9)
+ { 0, { 0, 0, 0}}, // (108, 9)
+ { 0, { 0, 0, 0}}, // (109, 9)
+ { 0, { 0, 0, 0}}, // (110, 9)
+ { 0, { 0, 0, 0}}, // (111, 9)
+ { 0, { 0, 0, 0}}, // (112, 9)
+ { 0, { 0, 0, 0}}, // (113, 9)
+ { 0, { 0, 0, 0}}, // (114, 9)
+ { 0, { 0, 0, 0}}, // (115, 9)
+ { 0, { 0, 0, 0}}, // (116, 9)
+ { 0, { 0, 0, 0}}, // (117, 9)
+ { 0, { 0, 0, 0}}, // (118, 9)
+ { 0, { 0, 0, 0}}, // (119, 9)
+ { 0, { 0, 0, 0}}, // (120, 9)
+ { 0, { 0, 0, 0}}, // (121, 9)
+ { 0, { 0, 0, 0}}, // (122, 9)
+ { 0, { 0, 0, 0}}, // (123, 9)
+ { 9, { 0, 0, 0}}, // (124, 9)
+ { 61, { 0, 0, 0}}, // (125, 9)
+ {116, { 0, 0, 0}}, // (126, 9)
+ {128, { 0, 0, 0}}, // (127, 9)
+ {128, { 0, 0, 0}}, // (128, 9)
+ {128, { 0, 0, 0}}, // (129, 9)
+ {128, { 0, 0, 0}}, // (130, 9)
+ {128, { 0, 0, 0}}, // (131, 9)
+ {128, { 0, 0, 0}}, // (132, 9)
+ {128, { 0, 0, 0}}, // (133, 9)
+ {128, { 0, 0, 0}}, // (134, 9)
+ {128, { 0, 0, 0}}, // (135, 9)
+ {128, { 0, 0, 0}}, // (136, 9)
+ {128, { 0, 0, 0}}, // (137, 9)
+ {128, { 0, 0, 0}}, // (138, 9)
+ {128, { 0, 0, 0}}, // (139, 9)
+ {128, { 0, 0, 0}}, // (140, 9)
+ {128, { 0, 0, 0}}, // (141, 9)
+ {128, { 0, 0, 0}}, // (142, 9)
+ {128, { 0, 0, 0}}, // (143, 9)
+ {128, { 0, 0, 0}}, // (144, 9)
+ {128, { 0, 0, 0}}, // (145, 9)
+ {128, { 0, 0, 0}}, // (146, 9)
+ {128, { 0, 0, 0}}, // (147, 9)
+ {128, { 0, 0, 0}}, // (148, 9)
+ {128, { 0, 0, 0}}, // (149, 9)
+ {128, { 0, 0, 0}}, // (150, 9)
+ {128, { 0, 0, 0}}, // (151, 9)
+ {128, { 0, 0, 0}}, // (152, 9)
+ {128, { 0, 0, 0}}, // (153, 9)
+ {128, { 0, 0, 0}}, // (154, 9)
+ {128, { 0, 0, 0}}, // (155, 9)
+ {128, { 0, 0, 0}}, // (156, 9)
+ {128, { 0, 0, 0}}, // (157, 9)
+ {128, { 0, 0, 0}}, // (158, 9)
+ {128, { 0, 0, 0}}, // (159, 9)
+ {128, { 0, 0, 0}}, // (160, 9)
+ {128, { 0, 0, 0}}, // (161, 9)
+ {128, { 0, 0, 0}}, // (162, 9)
+ {128, { 0, 0, 0}}, // (163, 9)
+ {128, { 0, 0, 0}}, // (164, 9)
+ {128, { 0, 0, 0}}, // (165, 9)
+ {128, { 0, 0, 0}}, // (166, 9)
+ {128, { 0, 0, 0}}, // (167, 9)
+ {128, { 0, 0, 0}}, // (168, 9)
+ {128, { 0, 0, 0}}, // (169, 9)
+ {128, { 0, 0, 0}}, // (170, 9)
+ {128, { 0, 0, 0}}, // (171, 9)
+ {128, { 0, 0, 0}}, // (172, 9)
+ {128, { 0, 0, 0}}, // (173, 9)
+ {128, { 0, 0, 0}}, // (174, 9)
+ {128, { 0, 0, 0}}, // (175, 9)
+ {128, { 0, 0, 0}}, // (176, 9)
+ {128, { 0, 0, 0}}, // (177, 9)
+ {128, { 0, 0, 0}}, // (178, 9)
+ {128, { 0, 0, 0}}, // (179, 9)
+ {128, { 0, 0, 0}}, // ( 0, 10)
+ {128, { 0, 0, 0}}, // ( 1, 10)
+ {128, { 0, 0, 0}}, // ( 2, 10)
+ {128, { 0, 0, 0}}, // ( 3, 10)
+ {128, { 0, 0, 0}}, // ( 4, 10)
+ {128, { 0, 0, 0}}, // ( 5, 10)
+ {128, { 0, 0, 0}}, // ( 6, 10)
+ {128, { 0, 0, 0}}, // ( 7, 10)
+ {128, { 0, 0, 0}}, // ( 8, 10)
+ {128, { 0, 0, 0}}, // ( 9, 10)
+ {128, { 0, 0, 0}}, // ( 10, 10)
+ {128, { 0, 0, 0}}, // ( 11, 10)
+ {128, { 0, 0, 0}}, // ( 12, 10)
+ {128, { 0, 0, 0}}, // ( 13, 10)
+ {128, { 0, 0, 0}}, // ( 14, 10)
+ {128, { 0, 0, 0}}, // ( 15, 10)
+ {128, { 0, 0, 0}}, // ( 16, 10)
+ {128, { 0, 0, 0}}, // ( 17, 10)
+ {128, { 0, 0, 0}}, // ( 18, 10)
+ {128, { 0, 0, 0}}, // ( 19, 10)
+ {128, { 0, 0, 0}}, // ( 20, 10)
+ {128, { 0, 0, 0}}, // ( 21, 10)
+ {128, { 0, 0, 0}}, // ( 22, 10)
+ {128, { 0, 0, 0}}, // ( 23, 10)
+ {128, { 0, 0, 0}}, // ( 24, 10)
+ {128, { 0, 0, 0}}, // ( 25, 10)
+ {128, { 0, 0, 0}}, // ( 26, 10)
+ {128, { 0, 0, 0}}, // ( 27, 10)
+ {128, { 0, 0, 0}}, // ( 28, 10)
+ {128, { 0, 0, 0}}, // ( 29, 10)
+ {128, { 0, 0, 0}}, // ( 30, 10)
+ {128, { 0, 0, 0}}, // ( 31, 10)
+ {128, { 0, 0, 0}}, // ( 32, 10)
+ {128, { 0, 0, 0}}, // ( 33, 10)
+ {128, { 0, 0, 0}}, // ( 34, 10)
+ {128, { 0, 0, 0}}, // ( 35, 10)
+ {128, { 0, 0, 0}}, // ( 36, 10)
+ {128, { 0, 0, 0}}, // ( 37, 10)
+ {128, { 0, 0, 0}}, // ( 38, 10)
+ {128, { 0, 0, 0}}, // ( 39, 10)
+ {128, { 0, 0, 0}}, // ( 40, 10)
+ {128, { 0, 0, 0}}, // ( 41, 10)
+ {128, { 0, 0, 0}}, // ( 42, 10)
+ {128, { 0, 0, 0}}, // ( 43, 10)
+ {128, { 0, 0, 0}}, // ( 44, 10)
+ {128, { 0, 0, 0}}, // ( 45, 10)
+ {128, { 0, 0, 0}}, // ( 46, 10)
+ {128, { 0, 0, 0}}, // ( 47, 10)
+ {128, { 0, 0, 0}}, // ( 48, 10)
+ {128, { 0, 0, 0}}, // ( 49, 10)
+ {128, { 0, 0, 0}}, // ( 50, 10)
+ {108, { 0, 0, 0}}, // ( 51, 10)
+ { 50, { 0, 0, 0}}, // ( 52, 10)
+ { 4, { 0, 0, 0}}, // ( 53, 10)
+ { 0, { 0, 0, 0}}, // ( 54, 10)
+ { 0, { 0, 0, 0}}, // ( 55, 10)
+ { 0, { 0, 0, 0}}, // ( 56, 10)
+ { 0, { 0, 0, 0}}, // ( 57, 10)
+ { 0, { 0, 0, 0}}, // ( 58, 10)
+ { 0, { 0, 0, 0}}, // ( 59, 10)
+ { 0, { 0, 0, 0}}, // ( 60, 10)
+ { 0, { 0, 0, 0}}, // ( 61, 10)
+ { 0, { 0, 0, 0}}, // ( 62, 10)
+ { 0, { 0, 0, 0}}, // ( 63, 10)
+ { 0, { 0, 0, 0}}, // ( 64, 10)
+ { 0, { 0, 0, 0}}, // ( 65, 10)
+ { 0, { 0, 0, 0}}, // ( 66, 10)
+ { 0, { 0, 0, 0}}, // ( 67, 10)
+ { 0, { 0, 0, 0}}, // ( 68, 10)
+ { 0, { 0, 0, 0}}, // ( 69, 10)
+ { 0, { 0, 0, 0}}, // ( 70, 10)
+ { 0, { 0, 0, 0}}, // ( 71, 10)
+ { 0, { 0, 0, 0}}, // ( 72, 10)
+ { 0, { 0, 0, 0}}, // ( 73, 10)
+ { 0, { 0, 0, 0}}, // ( 74, 10)
+ { 0, { 0, 0, 0}}, // ( 75, 10)
+ { 0, { 0, 0, 0}}, // ( 76, 10)
+ { 0, { 0, 0, 0}}, // ( 77, 10)
+ { 0, { 0, 0, 0}}, // ( 78, 10)
+ { 0, { 0, 0, 0}}, // ( 79, 10)
+ { 0, { 0, 0, 0}}, // ( 80, 10)
+ { 0, { 0, 0, 0}}, // ( 81, 10)
+ { 0, { 0, 0, 0}}, // ( 82, 10)
+ { 0, { 0, 0, 0}}, // ( 83, 10)
+ { 0, { 0, 0, 0}}, // ( 84, 10)
+ { 0, { 0, 0, 0}}, // ( 85, 10)
+ { 0, { 0, 0, 0}}, // ( 86, 10)
+ { 0, { 0, 0, 0}}, // ( 87, 10)
+ { 0, { 0, 0, 0}}, // ( 88, 10)
+ { 0, { 0, 0, 0}}, // ( 89, 10)
+ { 0, { 0, 0, 0}}, // ( 90, 10)
+ { 0, { 0, 0, 0}}, // ( 91, 10)
+ { 0, { 0, 0, 0}}, // ( 92, 10)
+ { 0, { 0, 0, 0}}, // ( 93, 10)
+ { 0, { 0, 0, 0}}, // ( 94, 10)
+ { 0, { 0, 0, 0}}, // ( 95, 10)
+ { 0, { 0, 0, 0}}, // ( 96, 10)
+ { 0, { 0, 0, 0}}, // ( 97, 10)
+ { 0, { 0, 0, 0}}, // ( 98, 10)
+ { 0, { 0, 0, 0}}, // ( 99, 10)
+ { 0, { 0, 0, 0}}, // (100, 10)
+ { 0, { 0, 0, 0}}, // (101, 10)
+ { 0, { 0, 0, 0}}, // (102, 10)
+ { 0, { 0, 0, 0}}, // (103, 10)
+ { 0, { 0, 0, 0}}, // (104, 10)
+ { 0, { 0, 0, 0}}, // (105, 10)
+ { 0, { 0, 0, 0}}, // (106, 10)
+ { 0, { 0, 0, 0}}, // (107, 10)
+ { 0, { 0, 0, 0}}, // (108, 10)
+ { 0, { 0, 0, 0}}, // (109, 10)
+ { 0, { 0, 0, 0}}, // (110, 10)
+ { 0, { 0, 0, 0}}, // (111, 10)
+ { 0, { 0, 0, 0}}, // (112, 10)
+ { 0, { 0, 0, 0}}, // (113, 10)
+ { 0, { 0, 0, 0}}, // (114, 10)
+ { 0, { 0, 0, 0}}, // (115, 10)
+ { 0, { 0, 0, 0}}, // (116, 10)
+ { 0, { 0, 0, 0}}, // (117, 10)
+ { 0, { 0, 0, 0}}, // (118, 10)
+ { 0, { 0, 0, 0}}, // (119, 10)
+ { 0, { 0, 0, 0}}, // (120, 10)
+ { 0, { 0, 0, 0}}, // (121, 10)
+ { 0, { 0, 0, 0}}, // (122, 10)
+ { 0, { 0, 0, 0}}, // (123, 10)
+ { 0, { 0, 0, 0}}, // (124, 10)
+ { 0, { 0, 0, 0}}, // (125, 10)
+ { 4, { 0, 0, 0}}, // (126, 10)
+ { 50, { 0, 0, 0}}, // (127, 10)
+ {108, { 0, 0, 0}}, // (128, 10)
+ {128, { 0, 0, 0}}, // (129, 10)
+ {128, { 0, 0, 0}}, // (130, 10)
+ {128, { 0, 0, 0}}, // (131, 10)
+ {128, { 0, 0, 0}}, // (132, 10)
+ {128, { 0, 0, 0}}, // (133, 10)
+ {128, { 0, 0, 0}}, // (134, 10)
+ {128, { 0, 0, 0}}, // (135, 10)
+ {128, { 0, 0, 0}}, // (136, 10)
+ {128, { 0, 0, 0}}, // (137, 10)
+ {128, { 0, 0, 0}}, // (138, 10)
+ {128, { 0, 0, 0}}, // (139, 10)
+ {128, { 0, 0, 0}}, // (140, 10)
+ {128, { 0, 0, 0}}, // (141, 10)
+ {128, { 0, 0, 0}}, // (142, 10)
+ {128, { 0, 0, 0}}, // (143, 10)
+ {128, { 0, 0, 0}}, // (144, 10)
+ {128, { 0, 0, 0}}, // (145, 10)
+ {128, { 0, 0, 0}}, // (146, 10)
+ {128, { 0, 0, 0}}, // (147, 10)
+ {128, { 0, 0, 0}}, // (148, 10)
+ {128, { 0, 0, 0}}, // (149, 10)
+ {128, { 0, 0, 0}}, // (150, 10)
+ {128, { 0, 0, 0}}, // (151, 10)
+ {128, { 0, 0, 0}}, // (152, 10)
+ {128, { 0, 0, 0}}, // (153, 10)
+ {128, { 0, 0, 0}}, // (154, 10)
+ {128, { 0, 0, 0}}, // (155, 10)
+ {128, { 0, 0, 0}}, // (156, 10)
+ {128, { 0, 0, 0}}, // (157, 10)
+ {128, { 0, 0, 0}}, // (158, 10)
+ {128, { 0, 0, 0}}, // (159, 10)
+ {128, { 0, 0, 0}}, // (160, 10)
+ {128, { 0, 0, 0}}, // (161, 10)
+ {128, { 0, 0, 0}}, // (162, 10)
+ {128, { 0, 0, 0}}, // (163, 10)
+ {128, { 0, 0, 0}}, // (164, 10)
+ {128, { 0, 0, 0}}, // (165, 10)
+ {128, { 0, 0, 0}}, // (166, 10)
+ {128, { 0, 0, 0}}, // (167, 10)
+ {128, { 0, 0, 0}}, // (168, 10)
+ {128, { 0, 0, 0}}, // (169, 10)
+ {128, { 0, 0, 0}}, // (170, 10)
+ {128, { 0, 0, 0}}, // (171, 10)
+ {128, { 0, 0, 0}}, // (172, 10)
+ {128, { 0, 0, 0}}, // (173, 10)
+ {128, { 0, 0, 0}}, // (174, 10)
+ {128, { 0, 0, 0}}, // (175, 10)
+ {128, { 0, 0, 0}}, // (176, 10)
+ {128, { 0, 0, 0}}, // (177, 10)
+ {128, { 0, 0, 0}}, // (178, 10)
+ {128, { 0, 0, 0}}, // (179, 10)
+ {128, { 0, 0, 0}}, // ( 0, 11)
+ {128, { 0, 0, 0}}, // ( 1, 11)
+ {128, { 0, 0, 0}}, // ( 2, 11)
+ {128, { 0, 0, 0}}, // ( 3, 11)
+ {128, { 0, 0, 0}}, // ( 4, 11)
+ {128, { 0, 0, 0}}, // ( 5, 11)
+ {128, { 0, 0, 0}}, // ( 6, 11)
+ {128, { 0, 0, 0}}, // ( 7, 11)
+ {128, { 0, 0, 0}}, // ( 8, 11)
+ {128, { 0, 0, 0}}, // ( 9, 11)
+ {128, { 0, 0, 0}}, // ( 10, 11)
+ {128, { 0, 0, 0}}, // ( 11, 11)
+ {128, { 0, 0, 0}}, // ( 12, 11)
+ {128, { 0, 0, 0}}, // ( 13, 11)
+ {128, { 0, 0, 0}}, // ( 14, 11)
+ {128, { 0, 0, 0}}, // ( 15, 11)
+ {128, { 0, 0, 0}}, // ( 16, 11)
+ {128, { 0, 0, 0}}, // ( 17, 11)
+ {128, { 0, 0, 0}}, // ( 18, 11)
+ {128, { 0, 0, 0}}, // ( 19, 11)
+ {128, { 0, 0, 0}}, // ( 20, 11)
+ {128, { 0, 0, 0}}, // ( 21, 11)
+ {128, { 0, 0, 0}}, // ( 22, 11)
+ {128, { 0, 0, 0}}, // ( 23, 11)
+ {128, { 0, 0, 0}}, // ( 24, 11)
+ {128, { 0, 0, 0}}, // ( 25, 11)
+ {128, { 0, 0, 0}}, // ( 26, 11)
+ {128, { 0, 0, 0}}, // ( 27, 11)
+ {128, { 0, 0, 0}}, // ( 28, 11)
+ {128, { 0, 0, 0}}, // ( 29, 11)
+ {128, { 0, 0, 0}}, // ( 30, 11)
+ {128, { 0, 0, 0}}, // ( 31, 11)
+ {128, { 0, 0, 0}}, // ( 32, 11)
+ {128, { 0, 0, 0}}, // ( 33, 11)
+ {128, { 0, 0, 0}}, // ( 34, 11)
+ {128, { 0, 0, 0}}, // ( 35, 11)
+ {128, { 0, 0, 0}}, // ( 36, 11)
+ {128, { 0, 0, 0}}, // ( 37, 11)
+ {128, { 0, 0, 0}}, // ( 38, 11)
+ {128, { 0, 0, 0}}, // ( 39, 11)
+ {128, { 0, 0, 0}}, // ( 40, 11)
+ {128, { 0, 0, 0}}, // ( 41, 11)
+ {128, { 0, 0, 0}}, // ( 42, 11)
+ {128, { 0, 0, 0}}, // ( 43, 11)
+ {128, { 0, 0, 0}}, // ( 44, 11)
+ {128, { 0, 0, 0}}, // ( 45, 11)
+ {128, { 0, 0, 0}}, // ( 46, 11)
+ {128, { 0, 0, 0}}, // ( 47, 11)
+ {128, { 0, 0, 0}}, // ( 48, 11)
+ {111, { 0, 0, 0}}, // ( 49, 11)
+ { 47, { 0, 0, 0}}, // ( 50, 11)
+ { 2, { 0, 0, 0}}, // ( 51, 11)
+ { 0, { 0, 0, 0}}, // ( 52, 11)
+ { 0, { 0, 0, 0}}, // ( 53, 11)
+ { 0, { 0, 0, 0}}, // ( 54, 11)
+ { 0, { 0, 0, 0}}, // ( 55, 11)
+ { 0, { 0, 0, 0}}, // ( 56, 11)
+ { 0, { 0, 0, 0}}, // ( 57, 11)
+ { 0, { 0, 0, 0}}, // ( 58, 11)
+ { 0, { 0, 0, 0}}, // ( 59, 11)
+ { 0, { 0, 0, 0}}, // ( 60, 11)
+ { 0, { 0, 0, 0}}, // ( 61, 11)
+ { 0, { 0, 0, 0}}, // ( 62, 11)
+ { 0, { 0, 0, 0}}, // ( 63, 11)
+ { 0, { 0, 0, 0}}, // ( 64, 11)
+ { 0, { 0, 0, 0}}, // ( 65, 11)
+ { 0, { 0, 0, 0}}, // ( 66, 11)
+ { 0, { 0, 0, 0}}, // ( 67, 11)
+ { 0, { 0, 0, 0}}, // ( 68, 11)
+ { 0, { 0, 0, 0}}, // ( 69, 11)
+ { 0, { 0, 0, 0}}, // ( 70, 11)
+ { 0, { 0, 0, 0}}, // ( 71, 11)
+ { 0, { 0, 0, 0}}, // ( 72, 11)
+ { 0, { 0, 0, 0}}, // ( 73, 11)
+ { 0, { 0, 0, 0}}, // ( 74, 11)
+ { 0, { 0, 0, 0}}, // ( 75, 11)
+ { 0, { 0, 0, 0}}, // ( 76, 11)
+ { 0, { 0, 0, 0}}, // ( 77, 11)
+ { 0, { 0, 0, 0}}, // ( 78, 11)
+ { 0, { 0, 0, 0}}, // ( 79, 11)
+ { 0, { 0, 0, 0}}, // ( 80, 11)
+ { 0, { 0, 0, 0}}, // ( 81, 11)
+ { 0, { 0, 0, 0}}, // ( 82, 11)
+ { 0, { 0, 0, 0}}, // ( 83, 11)
+ { 0, { 0, 0, 0}}, // ( 84, 11)
+ { 0, { 0, 0, 0}}, // ( 85, 11)
+ { 0, { 0, 0, 0}}, // ( 86, 11)
+ { 0, { 0, 0, 0}}, // ( 87, 11)
+ { 0, { 0, 0, 0}}, // ( 88, 11)
+ { 0, { 0, 0, 0}}, // ( 89, 11)
+ { 0, { 0, 0, 0}}, // ( 90, 11)
+ { 0, { 0, 0, 0}}, // ( 91, 11)
+ { 0, { 0, 0, 0}}, // ( 92, 11)
+ { 0, { 0, 0, 0}}, // ( 93, 11)
+ { 0, { 0, 0, 0}}, // ( 94, 11)
+ { 0, { 0, 0, 0}}, // ( 95, 11)
+ { 0, { 0, 0, 0}}, // ( 96, 11)
+ { 0, { 0, 0, 0}}, // ( 97, 11)
+ { 0, { 0, 0, 0}}, // ( 98, 11)
+ { 0, { 0, 0, 0}}, // ( 99, 11)
+ { 0, { 0, 0, 0}}, // (100, 11)
+ { 0, { 0, 0, 0}}, // (101, 11)
+ { 0, { 0, 0, 0}}, // (102, 11)
+ { 0, { 0, 0, 0}}, // (103, 11)
+ { 0, { 0, 0, 0}}, // (104, 11)
+ { 0, { 0, 0, 0}}, // (105, 11)
+ { 0, { 0, 0, 0}}, // (106, 11)
+ { 0, { 0, 0, 0}}, // (107, 11)
+ { 0, { 0, 0, 0}}, // (108, 11)
+ { 0, { 0, 0, 0}}, // (109, 11)
+ { 0, { 0, 0, 0}}, // (110, 11)
+ { 0, { 0, 0, 0}}, // (111, 11)
+ { 0, { 0, 0, 0}}, // (112, 11)
+ { 0, { 0, 0, 0}}, // (113, 11)
+ { 0, { 0, 0, 0}}, // (114, 11)
+ { 0, { 0, 0, 0}}, // (115, 11)
+ { 0, { 0, 0, 0}}, // (116, 11)
+ { 0, { 0, 0, 0}}, // (117, 11)
+ { 0, { 0, 0, 0}}, // (118, 11)
+ { 0, { 0, 0, 0}}, // (119, 11)
+ { 0, { 0, 0, 0}}, // (120, 11)
+ { 0, { 0, 0, 0}}, // (121, 11)
+ { 0, { 0, 0, 0}}, // (122, 11)
+ { 0, { 0, 0, 0}}, // (123, 11)
+ { 0, { 0, 0, 0}}, // (124, 11)
+ { 0, { 0, 0, 0}}, // (125, 11)
+ { 0, { 0, 0, 0}}, // (126, 11)
+ { 0, { 0, 0, 0}}, // (127, 11)
+ { 2, { 0, 0, 0}}, // (128, 11)
+ { 47, { 0, 0, 0}}, // (129, 11)
+ {111, { 0, 0, 0}}, // (130, 11)
+ {128, { 0, 0, 0}}, // (131, 11)
+ {128, { 0, 0, 0}}, // (132, 11)
+ {128, { 0, 0, 0}}, // (133, 11)
+ {128, { 0, 0, 0}}, // (134, 11)
+ {128, { 0, 0, 0}}, // (135, 11)
+ {128, { 0, 0, 0}}, // (136, 11)
+ {128, { 0, 0, 0}}, // (137, 11)
+ {128, { 0, 0, 0}}, // (138, 11)
+ {128, { 0, 0, 0}}, // (139, 11)
+ {128, { 0, 0, 0}}, // (140, 11)
+ {128, { 0, 0, 0}}, // (141, 11)
+ {128, { 0, 0, 0}}, // (142, 11)
+ {128, { 0, 0, 0}}, // (143, 11)
+ {128, { 0, 0, 0}}, // (144, 11)
+ {128, { 0, 0, 0}}, // (145, 11)
+ {128, { 0, 0, 0}}, // (146, 11)
+ {128, { 0, 0, 0}}, // (147, 11)
+ {128, { 0, 0, 0}}, // (148, 11)
+ {128, { 0, 0, 0}}, // (149, 11)
+ {128, { 0, 0, 0}}, // (150, 11)
+ {128, { 0, 0, 0}}, // (151, 11)
+ {128, { 0, 0, 0}}, // (152, 11)
+ {128, { 0, 0, 0}}, // (153, 11)
+ {128, { 0, 0, 0}}, // (154, 11)
+ {128, { 0, 0, 0}}, // (155, 11)
+ {128, { 0, 0, 0}}, // (156, 11)
+ {128, { 0, 0, 0}}, // (157, 11)
+ {128, { 0, 0, 0}}, // (158, 11)
+ {128, { 0, 0, 0}}, // (159, 11)
+ {128, { 0, 0, 0}}, // (160, 11)
+ {128, { 0, 0, 0}}, // (161, 11)
+ {128, { 0, 0, 0}}, // (162, 11)
+ {128, { 0, 0, 0}}, // (163, 11)
+ {128, { 0, 0, 0}}, // (164, 11)
+ {128, { 0, 0, 0}}, // (165, 11)
+ {128, { 0, 0, 0}}, // (166, 11)
+ {128, { 0, 0, 0}}, // (167, 11)
+ {128, { 0, 0, 0}}, // (168, 11)
+ {128, { 0, 0, 0}}, // (169, 11)
+ {128, { 0, 0, 0}}, // (170, 11)
+ {128, { 0, 0, 0}}, // (171, 11)
+ {128, { 0, 0, 0}}, // (172, 11)
+ {128, { 0, 0, 0}}, // (173, 11)
+ {128, { 0, 0, 0}}, // (174, 11)
+ {128, { 0, 0, 0}}, // (175, 11)
+ {128, { 0, 0, 0}}, // (176, 11)
+ {128, { 0, 0, 0}}, // (177, 11)
+ {128, { 0, 0, 0}}, // (178, 11)
+ {128, { 0, 0, 0}}, // (179, 11)
+ {128, { 0, 0, 0}}, // ( 0, 12)
+ {128, { 0, 0, 0}}, // ( 1, 12)
+ {128, { 0, 0, 0}}, // ( 2, 12)
+ {128, { 0, 0, 0}}, // ( 3, 12)
+ {128, { 0, 0, 0}}, // ( 4, 12)
+ {128, { 0, 0, 0}}, // ( 5, 12)
+ {128, { 0, 0, 0}}, // ( 6, 12)
+ {128, { 0, 0, 0}}, // ( 7, 12)
+ {128, { 0, 0, 0}}, // ( 8, 12)
+ {128, { 0, 0, 0}}, // ( 9, 12)
+ {128, { 0, 0, 0}}, // ( 10, 12)
+ {128, { 0, 0, 0}}, // ( 11, 12)
+ {128, { 0, 0, 0}}, // ( 12, 12)
+ {128, { 0, 0, 0}}, // ( 13, 12)
+ {128, { 0, 0, 0}}, // ( 14, 12)
+ {128, { 0, 0, 0}}, // ( 15, 12)
+ {128, { 0, 0, 0}}, // ( 16, 12)
+ {128, { 0, 0, 0}}, // ( 17, 12)
+ {128, { 0, 0, 0}}, // ( 18, 12)
+ {128, { 0, 0, 0}}, // ( 19, 12)
+ {128, { 0, 0, 0}}, // ( 20, 12)
+ {128, { 0, 0, 0}}, // ( 21, 12)
+ {128, { 0, 0, 0}}, // ( 22, 12)
+ {128, { 0, 0, 0}}, // ( 23, 12)
+ {128, { 0, 0, 0}}, // ( 24, 12)
+ {128, { 0, 0, 0}}, // ( 25, 12)
+ {128, { 0, 0, 0}}, // ( 26, 12)
+ {128, { 0, 0, 0}}, // ( 27, 12)
+ {128, { 0, 0, 0}}, // ( 28, 12)
+ {128, { 0, 0, 0}}, // ( 29, 12)
+ {128, { 0, 0, 0}}, // ( 30, 12)
+ {128, { 0, 0, 0}}, // ( 31, 12)
+ {128, { 0, 0, 0}}, // ( 32, 12)
+ {128, { 0, 0, 0}}, // ( 33, 12)
+ {128, { 0, 0, 0}}, // ( 34, 12)
+ {128, { 0, 0, 0}}, // ( 35, 12)
+ {128, { 0, 0, 0}}, // ( 36, 12)
+ {128, { 0, 0, 0}}, // ( 37, 12)
+ {128, { 0, 0, 0}}, // ( 38, 12)
+ {128, { 0, 0, 0}}, // ( 39, 12)
+ {128, { 0, 0, 0}}, // ( 40, 12)
+ {128, { 0, 0, 0}}, // ( 41, 12)
+ {128, { 0, 0, 0}}, // ( 42, 12)
+ {128, { 0, 0, 0}}, // ( 43, 12)
+ {128, { 0, 0, 0}}, // ( 44, 12)
+ {128, { 0, 0, 0}}, // ( 45, 12)
+ {128, { 0, 0, 0}}, // ( 46, 12)
+ {115, { 0, 0, 0}}, // ( 47, 12)
+ { 51, { 0, 0, 0}}, // ( 48, 12)
+ { 3, { 0, 0, 0}}, // ( 49, 12)
+ { 0, { 0, 0, 0}}, // ( 50, 12)
+ { 0, { 0, 0, 0}}, // ( 51, 12)
+ { 0, { 0, 0, 0}}, // ( 52, 12)
+ { 0, { 0, 0, 0}}, // ( 53, 12)
+ { 0, { 0, 0, 0}}, // ( 54, 12)
+ { 0, { 0, 0, 0}}, // ( 55, 12)
+ { 0, { 0, 0, 0}}, // ( 56, 12)
+ { 0, { 0, 0, 0}}, // ( 57, 12)
+ { 0, { 0, 0, 0}}, // ( 58, 12)
+ { 0, { 0, 0, 0}}, // ( 59, 12)
+ { 0, { 0, 0, 0}}, // ( 60, 12)
+ { 0, { 0, 0, 0}}, // ( 61, 12)
+ { 0, { 0, 0, 0}}, // ( 62, 12)
+ { 0, { 0, 0, 0}}, // ( 63, 12)
+ { 0, { 0, 0, 0}}, // ( 64, 12)
+ { 0, { 0, 0, 0}}, // ( 65, 12)
+ { 0, { 0, 0, 0}}, // ( 66, 12)
+ { 0, { 0, 0, 0}}, // ( 67, 12)
+ { 0, { 0, 0, 0}}, // ( 68, 12)
+ { 0, { 0, 0, 0}}, // ( 69, 12)
+ { 0, { 0, 0, 0}}, // ( 70, 12)
+ { 0, { 0, 0, 0}}, // ( 71, 12)
+ { 0, { 0, 0, 0}}, // ( 72, 12)
+ { 0, { 0, 0, 0}}, // ( 73, 12)
+ { 0, { 0, 0, 0}}, // ( 74, 12)
+ { 0, { 0, 0, 0}}, // ( 75, 12)
+ { 0, { 0, 0, 0}}, // ( 76, 12)
+ { 0, { 0, 0, 0}}, // ( 77, 12)
+ { 0, { 0, 0, 0}}, // ( 78, 12)
+ { 0, { 0, 0, 0}}, // ( 79, 12)
+ { 0, { 0, 0, 0}}, // ( 80, 12)
+ { 0, { 0, 0, 0}}, // ( 81, 12)
+ { 0, { 0, 0, 0}}, // ( 82, 12)
+ { 0, { 0, 0, 0}}, // ( 83, 12)
+ { 0, { 0, 0, 0}}, // ( 84, 12)
+ { 0, { 0, 0, 0}}, // ( 85, 12)
+ { 0, { 0, 0, 0}}, // ( 86, 12)
+ { 0, { 0, 0, 0}}, // ( 87, 12)
+ { 0, { 0, 0, 0}}, // ( 88, 12)
+ { 0, { 0, 0, 0}}, // ( 89, 12)
+ { 0, { 0, 0, 0}}, // ( 90, 12)
+ { 0, { 0, 0, 0}}, // ( 91, 12)
+ { 0, { 0, 0, 0}}, // ( 92, 12)
+ { 0, { 0, 0, 0}}, // ( 93, 12)
+ { 0, { 0, 0, 0}}, // ( 94, 12)
+ { 0, { 0, 0, 0}}, // ( 95, 12)
+ { 0, { 0, 0, 0}}, // ( 96, 12)
+ { 0, { 0, 0, 0}}, // ( 97, 12)
+ { 0, { 0, 0, 0}}, // ( 98, 12)
+ { 0, { 0, 0, 0}}, // ( 99, 12)
+ { 0, { 0, 0, 0}}, // (100, 12)
+ { 0, { 0, 0, 0}}, // (101, 12)
+ { 0, { 0, 0, 0}}, // (102, 12)
+ { 0, { 0, 0, 0}}, // (103, 12)
+ { 0, { 0, 0, 0}}, // (104, 12)
+ { 0, { 0, 0, 0}}, // (105, 12)
+ { 0, { 0, 0, 0}}, // (106, 12)
+ { 0, { 0, 0, 0}}, // (107, 12)
+ { 0, { 0, 0, 0}}, // (108, 12)
+ { 0, { 0, 0, 0}}, // (109, 12)
+ { 0, { 0, 0, 0}}, // (110, 12)
+ { 0, { 0, 0, 0}}, // (111, 12)
+ { 0, { 0, 0, 0}}, // (112, 12)
+ { 0, { 0, 0, 0}}, // (113, 12)
+ { 0, { 0, 0, 0}}, // (114, 12)
+ { 0, { 0, 0, 0}}, // (115, 12)
+ { 0, { 0, 0, 0}}, // (116, 12)
+ { 0, { 0, 0, 0}}, // (117, 12)
+ { 0, { 0, 0, 0}}, // (118, 12)
+ { 0, { 0, 0, 0}}, // (119, 12)
+ { 0, { 0, 0, 0}}, // (120, 12)
+ { 0, { 0, 0, 0}}, // (121, 12)
+ { 0, { 0, 0, 0}}, // (122, 12)
+ { 0, { 0, 0, 0}}, // (123, 12)
+ { 0, { 0, 0, 0}}, // (124, 12)
+ { 0, { 0, 0, 0}}, // (125, 12)
+ { 0, { 0, 0, 0}}, // (126, 12)
+ { 0, { 0, 0, 0}}, // (127, 12)
+ { 0, { 0, 0, 0}}, // (128, 12)
+ { 0, { 0, 0, 0}}, // (129, 12)
+ { 3, { 0, 0, 0}}, // (130, 12)
+ { 51, { 0, 0, 0}}, // (131, 12)
+ {115, { 0, 0, 0}}, // (132, 12)
+ {128, { 0, 0, 0}}, // (133, 12)
+ {128, { 0, 0, 0}}, // (134, 12)
+ {128, { 0, 0, 0}}, // (135, 12)
+ {128, { 0, 0, 0}}, // (136, 12)
+ {128, { 0, 0, 0}}, // (137, 12)
+ {128, { 0, 0, 0}}, // (138, 12)
+ {128, { 0, 0, 0}}, // (139, 12)
+ {128, { 0, 0, 0}}, // (140, 12)
+ {128, { 0, 0, 0}}, // (141, 12)
+ {128, { 0, 0, 0}}, // (142, 12)
+ {128, { 0, 0, 0}}, // (143, 12)
+ {128, { 0, 0, 0}}, // (144, 12)
+ {128, { 0, 0, 0}}, // (145, 12)
+ {128, { 0, 0, 0}}, // (146, 12)
+ {128, { 0, 0, 0}}, // (147, 12)
+ {128, { 0, 0, 0}}, // (148, 12)
+ {128, { 0, 0, 0}}, // (149, 12)
+ {128, { 0, 0, 0}}, // (150, 12)
+ {128, { 0, 0, 0}}, // (151, 12)
+ {128, { 0, 0, 0}}, // (152, 12)
+ {128, { 0, 0, 0}}, // (153, 12)
+ {128, { 0, 0, 0}}, // (154, 12)
+ {128, { 0, 0, 0}}, // (155, 12)
+ {128, { 0, 0, 0}}, // (156, 12)
+ {128, { 0, 0, 0}}, // (157, 12)
+ {128, { 0, 0, 0}}, // (158, 12)
+ {128, { 0, 0, 0}}, // (159, 12)
+ {128, { 0, 0, 0}}, // (160, 12)
+ {128, { 0, 0, 0}}, // (161, 12)
+ {128, { 0, 0, 0}}, // (162, 12)
+ {128, { 0, 0, 0}}, // (163, 12)
+ {128, { 0, 0, 0}}, // (164, 12)
+ {128, { 0, 0, 0}}, // (165, 12)
+ {128, { 0, 0, 0}}, // (166, 12)
+ {128, { 0, 0, 0}}, // (167, 12)
+ {128, { 0, 0, 0}}, // (168, 12)
+ {128, { 0, 0, 0}}, // (169, 12)
+ {128, { 0, 0, 0}}, // (170, 12)
+ {128, { 0, 0, 0}}, // (171, 12)
+ {128, { 0, 0, 0}}, // (172, 12)
+ {128, { 0, 0, 0}}, // (173, 12)
+ {128, { 0, 0, 0}}, // (174, 12)
+ {128, { 0, 0, 0}}, // (175, 12)
+ {128, { 0, 0, 0}}, // (176, 12)
+ {128, { 0, 0, 0}}, // (177, 12)
+ {128, { 0, 0, 0}}, // (178, 12)
+ {128, { 0, 0, 0}}, // (179, 12)
+ {128, { 0, 0, 0}}, // ( 0, 13)
+ {128, { 0, 0, 0}}, // ( 1, 13)
+ {128, { 0, 0, 0}}, // ( 2, 13)
+ {128, { 0, 0, 0}}, // ( 3, 13)
+ {128, { 0, 0, 0}}, // ( 4, 13)
+ {128, { 0, 0, 0}}, // ( 5, 13)
+ {128, { 0, 0, 0}}, // ( 6, 13)
+ {128, { 0, 0, 0}}, // ( 7, 13)
+ {128, { 0, 0, 0}}, // ( 8, 13)
+ {128, { 0, 0, 0}}, // ( 9, 13)
+ {128, { 0, 0, 0}}, // ( 10, 13)
+ {128, { 0, 0, 0}}, // ( 11, 13)
+ {128, { 0, 0, 0}}, // ( 12, 13)
+ {128, { 0, 0, 0}}, // ( 13, 13)
+ {128, { 0, 0, 0}}, // ( 14, 13)
+ {128, { 0, 0, 0}}, // ( 15, 13)
+ {128, { 0, 0, 0}}, // ( 16, 13)
+ {128, { 0, 0, 0}}, // ( 17, 13)
+ {128, { 0, 0, 0}}, // ( 18, 13)
+ {128, { 0, 0, 0}}, // ( 19, 13)
+ {128, { 0, 0, 0}}, // ( 20, 13)
+ {128, { 0, 0, 0}}, // ( 21, 13)
+ {128, { 0, 0, 0}}, // ( 22, 13)
+ {128, { 0, 0, 0}}, // ( 23, 13)
+ {128, { 0, 0, 0}}, // ( 24, 13)
+ {128, { 0, 0, 0}}, // ( 25, 13)
+ {128, { 0, 0, 0}}, // ( 26, 13)
+ {128, { 0, 0, 0}}, // ( 27, 13)
+ {128, { 0, 0, 0}}, // ( 28, 13)
+ {128, { 0, 0, 0}}, // ( 29, 13)
+ {128, { 0, 0, 0}}, // ( 30, 13)
+ {128, { 0, 0, 0}}, // ( 31, 13)
+ {128, { 0, 0, 0}}, // ( 32, 13)
+ {128, { 0, 0, 0}}, // ( 33, 13)
+ {128, { 0, 0, 0}}, // ( 34, 13)
+ {128, { 0, 0, 0}}, // ( 35, 13)
+ {128, { 0, 0, 0}}, // ( 36, 13)
+ {128, { 0, 0, 0}}, // ( 37, 13)
+ {128, { 0, 0, 0}}, // ( 38, 13)
+ {128, { 0, 0, 0}}, // ( 39, 13)
+ {128, { 0, 0, 0}}, // ( 40, 13)
+ {128, { 0, 0, 0}}, // ( 41, 13)
+ {128, { 0, 0, 0}}, // ( 42, 13)
+ {128, { 0, 0, 0}}, // ( 43, 13)
+ {128, { 0, 0, 0}}, // ( 44, 13)
+ {123, { 0, 0, 0}}, // ( 45, 13)
+ { 66, { 0, 0, 0}}, // ( 46, 13)
+ { 6, { 0, 0, 0}}, // ( 47, 13)
+ { 0, { 0, 0, 0}}, // ( 48, 13)
+ { 0, { 0, 0, 0}}, // ( 49, 13)
+ { 0, { 0, 0, 0}}, // ( 50, 13)
+ { 0, { 0, 0, 0}}, // ( 51, 13)
+ { 0, { 0, 0, 0}}, // ( 52, 13)
+ { 0, { 0, 0, 0}}, // ( 53, 13)
+ { 0, { 0, 0, 0}}, // ( 54, 13)
+ { 0, { 0, 0, 0}}, // ( 55, 13)
+ { 0, { 0, 0, 0}}, // ( 56, 13)
+ { 0, { 0, 0, 0}}, // ( 57, 13)
+ { 0, { 0, 0, 0}}, // ( 58, 13)
+ { 0, { 0, 0, 0}}, // ( 59, 13)
+ { 0, { 0, 0, 0}}, // ( 60, 13)
+ { 0, { 0, 0, 0}}, // ( 61, 13)
+ { 0, { 0, 0, 0}}, // ( 62, 13)
+ { 0, { 0, 0, 0}}, // ( 63, 13)
+ { 0, { 0, 0, 0}}, // ( 64, 13)
+ { 0, { 0, 0, 0}}, // ( 65, 13)
+ { 0, { 0, 0, 0}}, // ( 66, 13)
+ { 0, { 0, 0, 0}}, // ( 67, 13)
+ { 0, { 0, 0, 0}}, // ( 68, 13)
+ { 0, { 0, 0, 0}}, // ( 69, 13)
+ { 0, { 0, 0, 0}}, // ( 70, 13)
+ { 0, { 0, 0, 0}}, // ( 71, 13)
+ { 0, { 0, 0, 0}}, // ( 72, 13)
+ { 0, { 0, 0, 0}}, // ( 73, 13)
+ { 0, { 0, 0, 0}}, // ( 74, 13)
+ { 0, { 0, 0, 0}}, // ( 75, 13)
+ { 0, { 0, 0, 0}}, // ( 76, 13)
+ { 0, { 0, 0, 0}}, // ( 77, 13)
+ { 0, { 0, 0, 0}}, // ( 78, 13)
+ { 0, { 0, 0, 0}}, // ( 79, 13)
+ { 0, { 0, 0, 0}}, // ( 80, 13)
+ { 0, { 0, 0, 0}}, // ( 81, 13)
+ { 0, { 0, 0, 0}}, // ( 82, 13)
+ { 0, { 0, 0, 0}}, // ( 83, 13)
+ { 0, { 0, 0, 0}}, // ( 84, 13)
+ { 0, { 0, 0, 0}}, // ( 85, 13)
+ { 0, { 0, 0, 0}}, // ( 86, 13)
+ { 0, { 0, 0, 0}}, // ( 87, 13)
+ { 0, { 0, 0, 0}}, // ( 88, 13)
+ { 0, { 0, 0, 0}}, // ( 89, 13)
+ { 0, { 0, 0, 0}}, // ( 90, 13)
+ { 0, { 0, 0, 0}}, // ( 91, 13)
+ { 0, { 0, 0, 0}}, // ( 92, 13)
+ { 0, { 0, 0, 0}}, // ( 93, 13)
+ { 0, { 0, 0, 0}}, // ( 94, 13)
+ { 0, { 0, 0, 0}}, // ( 95, 13)
+ { 0, { 0, 0, 0}}, // ( 96, 13)
+ { 0, { 0, 0, 0}}, // ( 97, 13)
+ { 0, { 0, 0, 0}}, // ( 98, 13)
+ { 0, { 0, 0, 0}}, // ( 99, 13)
+ { 0, { 0, 0, 0}}, // (100, 13)
+ { 0, { 0, 0, 0}}, // (101, 13)
+ { 0, { 0, 0, 0}}, // (102, 13)
+ { 0, { 0, 0, 0}}, // (103, 13)
+ { 0, { 0, 0, 0}}, // (104, 13)
+ { 0, { 0, 0, 0}}, // (105, 13)
+ { 0, { 0, 0, 0}}, // (106, 13)
+ { 0, { 0, 0, 0}}, // (107, 13)
+ { 0, { 0, 0, 0}}, // (108, 13)
+ { 0, { 0, 0, 0}}, // (109, 13)
+ { 0, { 0, 0, 0}}, // (110, 13)
+ { 0, { 0, 0, 0}}, // (111, 13)
+ { 0, { 0, 0, 0}}, // (112, 13)
+ { 0, { 0, 0, 0}}, // (113, 13)
+ { 0, { 0, 0, 0}}, // (114, 13)
+ { 0, { 0, 0, 0}}, // (115, 13)
+ { 0, { 0, 0, 0}}, // (116, 13)
+ { 0, { 0, 0, 0}}, // (117, 13)
+ { 0, { 0, 0, 0}}, // (118, 13)
+ { 0, { 0, 0, 0}}, // (119, 13)
+ { 0, { 0, 0, 0}}, // (120, 13)
+ { 0, { 0, 0, 0}}, // (121, 13)
+ { 0, { 0, 0, 0}}, // (122, 13)
+ { 0, { 0, 0, 0}}, // (123, 13)
+ { 0, { 0, 0, 0}}, // (124, 13)
+ { 0, { 0, 0, 0}}, // (125, 13)
+ { 0, { 0, 0, 0}}, // (126, 13)
+ { 0, { 0, 0, 0}}, // (127, 13)
+ { 0, { 0, 0, 0}}, // (128, 13)
+ { 0, { 0, 0, 0}}, // (129, 13)
+ { 0, { 0, 0, 0}}, // (130, 13)
+ { 0, { 0, 0, 0}}, // (131, 13)
+ { 6, { 0, 0, 0}}, // (132, 13)
+ { 66, { 0, 0, 0}}, // (133, 13)
+ {123, { 0, 0, 0}}, // (134, 13)
+ {128, { 0, 0, 0}}, // (135, 13)
+ {128, { 0, 0, 0}}, // (136, 13)
+ {128, { 0, 0, 0}}, // (137, 13)
+ {128, { 0, 0, 0}}, // (138, 13)
+ {128, { 0, 0, 0}}, // (139, 13)
+ {128, { 0, 0, 0}}, // (140, 13)
+ {128, { 0, 0, 0}}, // (141, 13)
+ {128, { 0, 0, 0}}, // (142, 13)
+ {128, { 0, 0, 0}}, // (143, 13)
+ {128, { 0, 0, 0}}, // (144, 13)
+ {128, { 0, 0, 0}}, // (145, 13)
+ {128, { 0, 0, 0}}, // (146, 13)
+ {128, { 0, 0, 0}}, // (147, 13)
+ {128, { 0, 0, 0}}, // (148, 13)
+ {128, { 0, 0, 0}}, // (149, 13)
+ {128, { 0, 0, 0}}, // (150, 13)
+ {128, { 0, 0, 0}}, // (151, 13)
+ {128, { 0, 0, 0}}, // (152, 13)
+ {128, { 0, 0, 0}}, // (153, 13)
+ {128, { 0, 0, 0}}, // (154, 13)
+ {128, { 0, 0, 0}}, // (155, 13)
+ {128, { 0, 0, 0}}, // (156, 13)
+ {128, { 0, 0, 0}}, // (157, 13)
+ {128, { 0, 0, 0}}, // (158, 13)
+ {128, { 0, 0, 0}}, // (159, 13)
+ {128, { 0, 0, 0}}, // (160, 13)
+ {128, { 0, 0, 0}}, // (161, 13)
+ {128, { 0, 0, 0}}, // (162, 13)
+ {128, { 0, 0, 0}}, // (163, 13)
+ {128, { 0, 0, 0}}, // (164, 13)
+ {128, { 0, 0, 0}}, // (165, 13)
+ {128, { 0, 0, 0}}, // (166, 13)
+ {128, { 0, 0, 0}}, // (167, 13)
+ {128, { 0, 0, 0}}, // (168, 13)
+ {128, { 0, 0, 0}}, // (169, 13)
+ {128, { 0, 0, 0}}, // (170, 13)
+ {128, { 0, 0, 0}}, // (171, 13)
+ {128, { 0, 0, 0}}, // (172, 13)
+ {128, { 0, 0, 0}}, // (173, 13)
+ {128, { 0, 0, 0}}, // (174, 13)
+ {128, { 0, 0, 0}}, // (175, 13)
+ {128, { 0, 0, 0}}, // (176, 13)
+ {128, { 0, 0, 0}}, // (177, 13)
+ {128, { 0, 0, 0}}, // (178, 13)
+ {128, { 0, 0, 0}}, // (179, 13)
+ {128, { 0, 0, 0}}, // ( 0, 14)
+ {128, { 0, 0, 0}}, // ( 1, 14)
+ {128, { 0, 0, 0}}, // ( 2, 14)
+ {128, { 0, 0, 0}}, // ( 3, 14)
+ {128, { 0, 0, 0}}, // ( 4, 14)
+ {128, { 0, 0, 0}}, // ( 5, 14)
+ {128, { 0, 0, 0}}, // ( 6, 14)
+ {128, { 0, 0, 0}}, // ( 7, 14)
+ {128, { 0, 0, 0}}, // ( 8, 14)
+ {128, { 0, 0, 0}}, // ( 9, 14)
+ {128, { 0, 0, 0}}, // ( 10, 14)
+ {128, { 0, 0, 0}}, // ( 11, 14)
+ {128, { 0, 0, 0}}, // ( 12, 14)
+ {128, { 0, 0, 0}}, // ( 13, 14)
+ {128, { 0, 0, 0}}, // ( 14, 14)
+ {128, { 0, 0, 0}}, // ( 15, 14)
+ {128, { 0, 0, 0}}, // ( 16, 14)
+ {128, { 0, 0, 0}}, // ( 17, 14)
+ {128, { 0, 0, 0}}, // ( 18, 14)
+ {128, { 0, 0, 0}}, // ( 19, 14)
+ {128, { 0, 0, 0}}, // ( 20, 14)
+ {128, { 0, 0, 0}}, // ( 21, 14)
+ {128, { 0, 0, 0}}, // ( 22, 14)
+ {128, { 0, 0, 0}}, // ( 23, 14)
+ {128, { 0, 0, 0}}, // ( 24, 14)
+ {128, { 0, 0, 0}}, // ( 25, 14)
+ {128, { 0, 0, 0}}, // ( 26, 14)
+ {128, { 0, 0, 0}}, // ( 27, 14)
+ {128, { 0, 0, 0}}, // ( 28, 14)
+ {128, { 0, 0, 0}}, // ( 29, 14)
+ {128, { 0, 0, 0}}, // ( 30, 14)
+ {128, { 0, 0, 0}}, // ( 31, 14)
+ {128, { 0, 0, 0}}, // ( 32, 14)
+ {128, { 0, 0, 0}}, // ( 33, 14)
+ {128, { 0, 0, 0}}, // ( 34, 14)
+ {128, { 0, 0, 0}}, // ( 35, 14)
+ {128, { 0, 0, 0}}, // ( 36, 14)
+ {128, { 0, 0, 0}}, // ( 37, 14)
+ {128, { 0, 0, 0}}, // ( 38, 14)
+ {128, { 0, 0, 0}}, // ( 39, 14)
+ {128, { 0, 0, 0}}, // ( 40, 14)
+ {128, { 0, 0, 0}}, // ( 41, 14)
+ {128, { 0, 0, 0}}, // ( 42, 14)
+ {128, { 0, 0, 0}}, // ( 43, 14)
+ { 86, { 0, 0, 0}}, // ( 44, 14)
+ { 15, { 0, 0, 0}}, // ( 45, 14)
+ { 0, { 0, 0, 0}}, // ( 46, 14)
+ { 0, { 0, 0, 0}}, // ( 47, 14)
+ { 0, { 0, 0, 0}}, // ( 48, 14)
+ { 0, { 0, 0, 0}}, // ( 49, 14)
+ { 0, { 0, 0, 0}}, // ( 50, 14)
+ { 0, { 0, 0, 0}}, // ( 51, 14)
+ { 0, { 0, 0, 0}}, // ( 52, 14)
+ { 0, { 0, 0, 0}}, // ( 53, 14)
+ { 0, { 0, 0, 0}}, // ( 54, 14)
+ { 0, { 0, 0, 0}}, // ( 55, 14)
+ { 0, { 0, 0, 0}}, // ( 56, 14)
+ { 0, { 0, 0, 0}}, // ( 57, 14)
+ { 0, { 0, 0, 0}}, // ( 58, 14)
+ { 0, { 0, 0, 0}}, // ( 59, 14)
+ { 0, { 0, 0, 0}}, // ( 60, 14)
+ { 0, { 0, 0, 0}}, // ( 61, 14)
+ { 0, { 0, 0, 0}}, // ( 62, 14)
+ { 0, { 0, 0, 0}}, // ( 63, 14)
+ { 0, { 0, 0, 0}}, // ( 64, 14)
+ { 0, { 0, 0, 0}}, // ( 65, 14)
+ { 0, { 0, 0, 0}}, // ( 66, 14)
+ { 0, { 0, 0, 0}}, // ( 67, 14)
+ { 0, { 0, 0, 0}}, // ( 68, 14)
+ { 0, { 0, 0, 0}}, // ( 69, 14)
+ { 0, { 0, 0, 0}}, // ( 70, 14)
+ { 0, { 0, 0, 0}}, // ( 71, 14)
+ { 0, { 0, 0, 0}}, // ( 72, 14)
+ { 0, { 0, 0, 0}}, // ( 73, 14)
+ { 0, { 0, 0, 0}}, // ( 74, 14)
+ { 0, { 0, 0, 0}}, // ( 75, 14)
+ { 0, { 0, 0, 0}}, // ( 76, 14)
+ { 0, { 0, 0, 0}}, // ( 77, 14)
+ { 0, { 0, 0, 0}}, // ( 78, 14)
+ { 0, { 0, 0, 0}}, // ( 79, 14)
+ { 0, { 0, 0, 0}}, // ( 80, 14)
+ { 0, { 0, 0, 0}}, // ( 81, 14)
+ { 0, { 0, 0, 0}}, // ( 82, 14)
+ { 0, { 0, 0, 0}}, // ( 83, 14)
+ { 0, { 0, 0, 0}}, // ( 84, 14)
+ { 0, { 0, 0, 0}}, // ( 85, 14)
+ { 0, { 0, 0, 0}}, // ( 86, 14)
+ { 0, { 0, 0, 0}}, // ( 87, 14)
+ { 0, { 0, 0, 0}}, // ( 88, 14)
+ { 0, { 0, 0, 0}}, // ( 89, 14)
+ { 0, { 0, 0, 0}}, // ( 90, 14)
+ { 0, { 0, 0, 0}}, // ( 91, 14)
+ { 0, { 0, 0, 0}}, // ( 92, 14)
+ { 0, { 0, 0, 0}}, // ( 93, 14)
+ { 0, { 0, 0, 0}}, // ( 94, 14)
+ { 0, { 0, 0, 0}}, // ( 95, 14)
+ { 0, { 0, 0, 0}}, // ( 96, 14)
+ { 0, { 0, 0, 0}}, // ( 97, 14)
+ { 0, { 0, 0, 0}}, // ( 98, 14)
+ { 0, { 0, 0, 0}}, // ( 99, 14)
+ { 0, { 0, 0, 0}}, // (100, 14)
+ { 0, { 0, 0, 0}}, // (101, 14)
+ { 0, { 0, 0, 0}}, // (102, 14)
+ { 0, { 0, 0, 0}}, // (103, 14)
+ { 0, { 0, 0, 0}}, // (104, 14)
+ { 0, { 0, 0, 0}}, // (105, 14)
+ { 0, { 0, 0, 0}}, // (106, 14)
+ { 0, { 0, 0, 0}}, // (107, 14)
+ { 0, { 0, 0, 0}}, // (108, 14)
+ { 0, { 0, 0, 0}}, // (109, 14)
+ { 0, { 0, 0, 0}}, // (110, 14)
+ { 0, { 0, 0, 0}}, // (111, 14)
+ { 0, { 0, 0, 0}}, // (112, 14)
+ { 0, { 0, 0, 0}}, // (113, 14)
+ { 0, { 0, 0, 0}}, // (114, 14)
+ { 0, { 0, 0, 0}}, // (115, 14)
+ { 0, { 0, 0, 0}}, // (116, 14)
+ { 0, { 0, 0, 0}}, // (117, 14)
+ { 0, { 0, 0, 0}}, // (118, 14)
+ { 0, { 0, 0, 0}}, // (119, 14)
+ { 0, { 0, 0, 0}}, // (120, 14)
+ { 0, { 0, 0, 0}}, // (121, 14)
+ { 0, { 0, 0, 0}}, // (122, 14)
+ { 0, { 0, 0, 0}}, // (123, 14)
+ { 0, { 0, 0, 0}}, // (124, 14)
+ { 0, { 0, 0, 0}}, // (125, 14)
+ { 0, { 0, 0, 0}}, // (126, 14)
+ { 0, { 0, 0, 0}}, // (127, 14)
+ { 0, { 0, 0, 0}}, // (128, 14)
+ { 0, { 0, 0, 0}}, // (129, 14)
+ { 0, { 0, 0, 0}}, // (130, 14)
+ { 0, { 0, 0, 0}}, // (131, 14)
+ { 0, { 0, 0, 0}}, // (132, 14)
+ { 0, { 0, 0, 0}}, // (133, 14)
+ { 15, { 0, 0, 0}}, // (134, 14)
+ { 85, { 0, 0, 0}}, // (135, 14)
+ {128, { 0, 0, 0}}, // (136, 14)
+ {128, { 0, 0, 0}}, // (137, 14)
+ {128, { 0, 0, 0}}, // (138, 14)
+ {128, { 0, 0, 0}}, // (139, 14)
+ {128, { 0, 0, 0}}, // (140, 14)
+ {128, { 0, 0, 0}}, // (141, 14)
+ {128, { 0, 0, 0}}, // (142, 14)
+ {128, { 0, 0, 0}}, // (143, 14)
+ {128, { 0, 0, 0}}, // (144, 14)
+ {128, { 0, 0, 0}}, // (145, 14)
+ {128, { 0, 0, 0}}, // (146, 14)
+ {128, { 0, 0, 0}}, // (147, 14)
+ {128, { 0, 0, 0}}, // (148, 14)
+ {128, { 0, 0, 0}}, // (149, 14)
+ {128, { 0, 0, 0}}, // (150, 14)
+ {128, { 0, 0, 0}}, // (151, 14)
+ {128, { 0, 0, 0}}, // (152, 14)
+ {128, { 0, 0, 0}}, // (153, 14)
+ {128, { 0, 0, 0}}, // (154, 14)
+ {128, { 0, 0, 0}}, // (155, 14)
+ {128, { 0, 0, 0}}, // (156, 14)
+ {128, { 0, 0, 0}}, // (157, 14)
+ {128, { 0, 0, 0}}, // (158, 14)
+ {128, { 0, 0, 0}}, // (159, 14)
+ {128, { 0, 0, 0}}, // (160, 14)
+ {128, { 0, 0, 0}}, // (161, 14)
+ {128, { 0, 0, 0}}, // (162, 14)
+ {128, { 0, 0, 0}}, // (163, 14)
+ {128, { 0, 0, 0}}, // (164, 14)
+ {128, { 0, 0, 0}}, // (165, 14)
+ {128, { 0, 0, 0}}, // (166, 14)
+ {128, { 0, 0, 0}}, // (167, 14)
+ {128, { 0, 0, 0}}, // (168, 14)
+ {128, { 0, 0, 0}}, // (169, 14)
+ {128, { 0, 0, 0}}, // (170, 14)
+ {128, { 0, 0, 0}}, // (171, 14)
+ {128, { 0, 0, 0}}, // (172, 14)
+ {128, { 0, 0, 0}}, // (173, 14)
+ {128, { 0, 0, 0}}, // (174, 14)
+ {128, { 0, 0, 0}}, // (175, 14)
+ {128, { 0, 0, 0}}, // (176, 14)
+ {128, { 0, 0, 0}}, // (177, 14)
+ {128, { 0, 0, 0}}, // (178, 14)
+ {128, { 0, 0, 0}}, // (179, 14)
+ {128, { 0, 0, 0}}, // ( 0, 15)
+ {128, { 0, 0, 0}}, // ( 1, 15)
+ {128, { 0, 0, 0}}, // ( 2, 15)
+ {128, { 0, 0, 0}}, // ( 3, 15)
+ {128, { 0, 0, 0}}, // ( 4, 15)
+ {128, { 0, 0, 0}}, // ( 5, 15)
+ {128, { 0, 0, 0}}, // ( 6, 15)
+ {128, { 0, 0, 0}}, // ( 7, 15)
+ {128, { 0, 0, 0}}, // ( 8, 15)
+ {128, { 0, 0, 0}}, // ( 9, 15)
+ {128, { 0, 0, 0}}, // ( 10, 15)
+ {128, { 0, 0, 0}}, // ( 11, 15)
+ {128, { 0, 0, 0}}, // ( 12, 15)
+ {128, { 0, 0, 0}}, // ( 13, 15)
+ {128, { 0, 0, 0}}, // ( 14, 15)
+ {128, { 0, 0, 0}}, // ( 15, 15)
+ {128, { 0, 0, 0}}, // ( 16, 15)
+ {128, { 0, 0, 0}}, // ( 17, 15)
+ {128, { 0, 0, 0}}, // ( 18, 15)
+ {128, { 0, 0, 0}}, // ( 19, 15)
+ {128, { 0, 0, 0}}, // ( 20, 15)
+ {128, { 0, 0, 0}}, // ( 21, 15)
+ {128, { 0, 0, 0}}, // ( 22, 15)
+ {128, { 0, 0, 0}}, // ( 23, 15)
+ {128, { 0, 0, 0}}, // ( 24, 15)
+ {128, { 0, 0, 0}}, // ( 25, 15)
+ {128, { 0, 0, 0}}, // ( 26, 15)
+ {128, { 0, 0, 0}}, // ( 27, 15)
+ {128, { 0, 0, 0}}, // ( 28, 15)
+ {128, { 0, 0, 0}}, // ( 29, 15)
+ {128, { 0, 0, 0}}, // ( 30, 15)
+ {128, { 0, 0, 0}}, // ( 31, 15)
+ {128, { 0, 0, 0}}, // ( 32, 15)
+ {128, { 0, 0, 0}}, // ( 33, 15)
+ {128, { 0, 0, 0}}, // ( 34, 15)
+ {128, { 0, 0, 0}}, // ( 35, 15)
+ {128, { 0, 0, 0}}, // ( 36, 15)
+ {128, { 0, 0, 0}}, // ( 37, 15)
+ {128, { 0, 0, 0}}, // ( 38, 15)
+ {128, { 0, 0, 0}}, // ( 39, 15)
+ {128, { 0, 0, 0}}, // ( 40, 15)
+ {128, { 0, 0, 0}}, // ( 41, 15)
+ {114, { 0, 0, 0}}, // ( 42, 15)
+ { 39, { 0, 0, 0}}, // ( 43, 15)
+ { 0, { 0, 0, 0}}, // ( 44, 15)
+ { 0, { 0, 0, 0}}, // ( 45, 15)
+ { 0, { 0, 0, 0}}, // ( 46, 15)
+ { 0, { 0, 0, 0}}, // ( 47, 15)
+ { 0, { 0, 0, 0}}, // ( 48, 15)
+ { 0, { 0, 0, 0}}, // ( 49, 15)
+ { 0, { 0, 0, 0}}, // ( 50, 15)
+ { 0, { 0, 0, 0}}, // ( 51, 15)
+ { 0, { 0, 0, 0}}, // ( 52, 15)
+ { 0, { 0, 0, 0}}, // ( 53, 15)
+ { 0, { 0, 0, 0}}, // ( 54, 15)
+ { 0, { 0, 0, 0}}, // ( 55, 15)
+ { 0, { 0, 0, 0}}, // ( 56, 15)
+ { 0, { 0, 0, 0}}, // ( 57, 15)
+ { 0, { 0, 0, 0}}, // ( 58, 15)
+ { 0, { 0, 0, 0}}, // ( 59, 15)
+ { 0, { 0, 0, 0}}, // ( 60, 15)
+ { 0, { 0, 0, 0}}, // ( 61, 15)
+ { 0, { 0, 0, 0}}, // ( 62, 15)
+ { 0, { 0, 0, 0}}, // ( 63, 15)
+ { 0, { 0, 0, 0}}, // ( 64, 15)
+ { 0, { 0, 0, 0}}, // ( 65, 15)
+ { 0, { 0, 0, 0}}, // ( 66, 15)
+ { 0, { 0, 0, 0}}, // ( 67, 15)
+ { 0, { 0, 0, 0}}, // ( 68, 15)
+ { 0, { 0, 0, 0}}, // ( 69, 15)
+ { 0, { 0, 0, 0}}, // ( 70, 15)
+ { 0, { 0, 0, 0}}, // ( 71, 15)
+ { 0, { 0, 0, 0}}, // ( 72, 15)
+ { 0, { 0, 0, 0}}, // ( 73, 15)
+ { 0, { 0, 0, 0}}, // ( 74, 15)
+ { 0, { 0, 0, 0}}, // ( 75, 15)
+ { 0, { 0, 0, 0}}, // ( 76, 15)
+ { 0, { 0, 0, 0}}, // ( 77, 15)
+ { 0, { 0, 0, 0}}, // ( 78, 15)
+ { 0, { 0, 0, 0}}, // ( 79, 15)
+ { 0, { 0, 0, 0}}, // ( 80, 15)
+ { 0, { 0, 0, 0}}, // ( 81, 15)
+ { 0, { 0, 0, 0}}, // ( 82, 15)
+ { 0, { 0, 0, 0}}, // ( 83, 15)
+ { 0, { 0, 0, 0}}, // ( 84, 15)
+ { 0, { 0, 0, 0}}, // ( 85, 15)
+ { 0, { 0, 0, 0}}, // ( 86, 15)
+ { 0, { 0, 0, 0}}, // ( 87, 15)
+ { 0, { 0, 0, 0}}, // ( 88, 15)
+ { 0, { 0, 0, 0}}, // ( 89, 15)
+ { 0, { 0, 0, 0}}, // ( 90, 15)
+ { 0, { 0, 0, 0}}, // ( 91, 15)
+ { 0, { 0, 0, 0}}, // ( 92, 15)
+ { 0, { 0, 0, 0}}, // ( 93, 15)
+ { 0, { 0, 0, 0}}, // ( 94, 15)
+ { 0, { 0, 0, 0}}, // ( 95, 15)
+ { 0, { 0, 0, 0}}, // ( 96, 15)
+ { 0, { 0, 0, 0}}, // ( 97, 15)
+ { 0, { 0, 0, 0}}, // ( 98, 15)
+ { 0, { 0, 0, 0}}, // ( 99, 15)
+ { 0, { 0, 0, 0}}, // (100, 15)
+ { 0, { 0, 0, 0}}, // (101, 15)
+ { 0, { 0, 0, 0}}, // (102, 15)
+ { 0, { 0, 0, 0}}, // (103, 15)
+ { 0, { 0, 0, 0}}, // (104, 15)
+ { 0, { 0, 0, 0}}, // (105, 15)
+ { 0, { 0, 0, 0}}, // (106, 15)
+ { 0, { 0, 0, 0}}, // (107, 15)
+ { 0, { 0, 0, 0}}, // (108, 15)
+ { 0, { 0, 0, 0}}, // (109, 15)
+ { 0, { 0, 0, 0}}, // (110, 15)
+ { 0, { 0, 0, 0}}, // (111, 15)
+ { 0, { 0, 0, 0}}, // (112, 15)
+ { 0, { 0, 0, 0}}, // (113, 15)
+ { 0, { 0, 0, 0}}, // (114, 15)
+ { 0, { 0, 0, 0}}, // (115, 15)
+ { 0, { 0, 0, 0}}, // (116, 15)
+ { 0, { 0, 0, 0}}, // (117, 15)
+ { 0, { 0, 0, 0}}, // (118, 15)
+ { 0, { 0, 0, 0}}, // (119, 15)
+ { 0, { 0, 0, 0}}, // (120, 15)
+ { 0, { 0, 0, 0}}, // (121, 15)
+ { 0, { 0, 0, 0}}, // (122, 15)
+ { 0, { 0, 0, 0}}, // (123, 15)
+ { 0, { 0, 0, 0}}, // (124, 15)
+ { 0, { 0, 0, 0}}, // (125, 15)
+ { 0, { 0, 0, 0}}, // (126, 15)
+ { 0, { 0, 0, 0}}, // (127, 15)
+ { 0, { 0, 0, 0}}, // (128, 15)
+ { 0, { 0, 0, 0}}, // (129, 15)
+ { 0, { 0, 0, 0}}, // (130, 15)
+ { 0, { 0, 0, 0}}, // (131, 15)
+ { 0, { 0, 0, 0}}, // (132, 15)
+ { 0, { 0, 0, 0}}, // (133, 15)
+ { 0, { 0, 0, 0}}, // (134, 15)
+ { 0, { 0, 0, 0}}, // (135, 15)
+ { 38, { 0, 0, 0}}, // (136, 15)
+ {114, { 0, 0, 0}}, // (137, 15)
+ {128, { 0, 0, 0}}, // (138, 15)
+ {128, { 0, 0, 0}}, // (139, 15)
+ {128, { 0, 0, 0}}, // (140, 15)
+ {128, { 0, 0, 0}}, // (141, 15)
+ {128, { 0, 0, 0}}, // (142, 15)
+ {128, { 0, 0, 0}}, // (143, 15)
+ {128, { 0, 0, 0}}, // (144, 15)
+ {128, { 0, 0, 0}}, // (145, 15)
+ {128, { 0, 0, 0}}, // (146, 15)
+ {128, { 0, 0, 0}}, // (147, 15)
+ {128, { 0, 0, 0}}, // (148, 15)
+ {128, { 0, 0, 0}}, // (149, 15)
+ {128, { 0, 0, 0}}, // (150, 15)
+ {128, { 0, 0, 0}}, // (151, 15)
+ {128, { 0, 0, 0}}, // (152, 15)
+ {128, { 0, 0, 0}}, // (153, 15)
+ {128, { 0, 0, 0}}, // (154, 15)
+ {128, { 0, 0, 0}}, // (155, 15)
+ {128, { 0, 0, 0}}, // (156, 15)
+ {128, { 0, 0, 0}}, // (157, 15)
+ {128, { 0, 0, 0}}, // (158, 15)
+ {128, { 0, 0, 0}}, // (159, 15)
+ {128, { 0, 0, 0}}, // (160, 15)
+ {128, { 0, 0, 0}}, // (161, 15)
+ {128, { 0, 0, 0}}, // (162, 15)
+ {128, { 0, 0, 0}}, // (163, 15)
+ {128, { 0, 0, 0}}, // (164, 15)
+ {128, { 0, 0, 0}}, // (165, 15)
+ {128, { 0, 0, 0}}, // (166, 15)
+ {128, { 0, 0, 0}}, // (167, 15)
+ {128, { 0, 0, 0}}, // (168, 15)
+ {128, { 0, 0, 0}}, // (169, 15)
+ {128, { 0, 0, 0}}, // (170, 15)
+ {128, { 0, 0, 0}}, // (171, 15)
+ {128, { 0, 0, 0}}, // (172, 15)
+ {128, { 0, 0, 0}}, // (173, 15)
+ {128, { 0, 0, 0}}, // (174, 15)
+ {128, { 0, 0, 0}}, // (175, 15)
+ {128, { 0, 0, 0}}, // (176, 15)
+ {128, { 0, 0, 0}}, // (177, 15)
+ {128, { 0, 0, 0}}, // (178, 15)
+ {128, { 0, 0, 0}}, // (179, 15)
+ {128, { 0, 0, 0}}, // ( 0, 16)
+ {128, { 0, 0, 0}}, // ( 1, 16)
+ {128, { 0, 0, 0}}, // ( 2, 16)
+ {128, { 0, 0, 0}}, // ( 3, 16)
+ {128, { 0, 0, 0}}, // ( 4, 16)
+ {128, { 0, 0, 0}}, // ( 5, 16)
+ {128, { 0, 0, 0}}, // ( 6, 16)
+ {128, { 0, 0, 0}}, // ( 7, 16)
+ {128, { 0, 0, 0}}, // ( 8, 16)
+ {128, { 0, 0, 0}}, // ( 9, 16)
+ {128, { 0, 0, 0}}, // ( 10, 16)
+ {128, { 0, 0, 0}}, // ( 11, 16)
+ {128, { 0, 0, 0}}, // ( 12, 16)
+ {128, { 0, 0, 0}}, // ( 13, 16)
+ {128, { 0, 0, 0}}, // ( 14, 16)
+ {128, { 0, 0, 0}}, // ( 15, 16)
+ {128, { 0, 0, 0}}, // ( 16, 16)
+ {128, { 0, 0, 0}}, // ( 17, 16)
+ {128, { 0, 0, 0}}, // ( 18, 16)
+ {128, { 0, 0, 0}}, // ( 19, 16)
+ {128, { 0, 0, 0}}, // ( 20, 16)
+ {128, { 0, 0, 0}}, // ( 21, 16)
+ {128, { 0, 0, 0}}, // ( 22, 16)
+ {128, { 0, 0, 0}}, // ( 23, 16)
+ {128, { 0, 0, 0}}, // ( 24, 16)
+ {128, { 0, 0, 0}}, // ( 25, 16)
+ {128, { 0, 0, 0}}, // ( 26, 16)
+ {128, { 0, 0, 0}}, // ( 27, 16)
+ {128, { 0, 0, 0}}, // ( 28, 16)
+ {128, { 0, 0, 0}}, // ( 29, 16)
+ {128, { 0, 0, 0}}, // ( 30, 16)
+ {128, { 0, 0, 0}}, // ( 31, 16)
+ {128, { 0, 0, 0}}, // ( 32, 16)
+ {128, { 0, 0, 0}}, // ( 33, 16)
+ {128, { 0, 0, 0}}, // ( 34, 16)
+ {128, { 0, 0, 0}}, // ( 35, 16)
+ {128, { 0, 0, 0}}, // ( 36, 16)
+ {128, { 0, 0, 0}}, // ( 37, 16)
+ {128, { 0, 0, 0}}, // ( 38, 16)
+ {128, { 0, 0, 0}}, // ( 39, 16)
+ {127, { 0, 0, 0}}, // ( 40, 16)
+ { 74, { 0, 0, 0}}, // ( 41, 16)
+ { 7, { 0, 0, 0}}, // ( 42, 16)
+ { 0, { 0, 0, 0}}, // ( 43, 16)
+ { 0, { 0, 0, 0}}, // ( 44, 16)
+ { 0, { 0, 0, 0}}, // ( 45, 16)
+ { 0, { 0, 0, 0}}, // ( 46, 16)
+ { 0, { 0, 0, 0}}, // ( 47, 16)
+ { 0, { 0, 0, 0}}, // ( 48, 16)
+ { 0, { 0, 0, 0}}, // ( 49, 16)
+ { 0, { 0, 0, 0}}, // ( 50, 16)
+ { 0, { 0, 0, 0}}, // ( 51, 16)
+ { 0, { 0, 0, 0}}, // ( 52, 16)
+ { 0, { 0, 0, 0}}, // ( 53, 16)
+ { 0, { 0, 0, 0}}, // ( 54, 16)
+ { 0, { 0, 0, 0}}, // ( 55, 16)
+ { 0, { 0, 0, 0}}, // ( 56, 16)
+ { 0, { 0, 0, 0}}, // ( 57, 16)
+ { 0, { 0, 0, 0}}, // ( 58, 16)
+ { 0, { 0, 0, 0}}, // ( 59, 16)
+ { 0, { 0, 0, 0}}, // ( 60, 16)
+ { 0, { 0, 0, 0}}, // ( 61, 16)
+ { 0, { 0, 0, 0}}, // ( 62, 16)
+ { 0, { 0, 0, 0}}, // ( 63, 16)
+ { 0, { 0, 0, 0}}, // ( 64, 16)
+ { 0, { 0, 0, 0}}, // ( 65, 16)
+ { 0, { 0, 0, 0}}, // ( 66, 16)
+ { 0, { 0, 0, 0}}, // ( 67, 16)
+ { 0, { 0, 0, 0}}, // ( 68, 16)
+ { 0, { 0, 0, 0}}, // ( 69, 16)
+ { 0, { 0, 0, 0}}, // ( 70, 16)
+ { 0, { 0, 0, 0}}, // ( 71, 16)
+ { 0, { 0, 0, 0}}, // ( 72, 16)
+ { 0, { 0, 0, 0}}, // ( 73, 16)
+ { 0, { 0, 0, 0}}, // ( 74, 16)
+ { 0, { 0, 0, 0}}, // ( 75, 16)
+ { 0, { 0, 0, 0}}, // ( 76, 16)
+ { 0, { 0, 0, 0}}, // ( 77, 16)
+ { 0, { 0, 0, 0}}, // ( 78, 16)
+ { 0, { 0, 0, 0}}, // ( 79, 16)
+ { 0, { 0, 0, 0}}, // ( 80, 16)
+ { 0, { 0, 0, 0}}, // ( 81, 16)
+ { 0, { 0, 0, 0}}, // ( 82, 16)
+ { 0, { 0, 0, 0}}, // ( 83, 16)
+ { 0, { 0, 0, 0}}, // ( 84, 16)
+ { 0, { 0, 0, 0}}, // ( 85, 16)
+ { 0, { 0, 0, 0}}, // ( 86, 16)
+ { 0, { 0, 0, 0}}, // ( 87, 16)
+ { 0, { 0, 0, 0}}, // ( 88, 16)
+ { 0, { 0, 0, 0}}, // ( 89, 16)
+ { 0, { 0, 0, 0}}, // ( 90, 16)
+ { 0, { 0, 0, 0}}, // ( 91, 16)
+ { 0, { 0, 0, 0}}, // ( 92, 16)
+ { 0, { 0, 0, 0}}, // ( 93, 16)
+ { 0, { 0, 0, 0}}, // ( 94, 16)
+ { 0, { 0, 0, 0}}, // ( 95, 16)
+ { 0, { 0, 0, 0}}, // ( 96, 16)
+ { 0, { 0, 0, 0}}, // ( 97, 16)
+ { 0, { 0, 0, 0}}, // ( 98, 16)
+ { 0, { 0, 0, 0}}, // ( 99, 16)
+ { 0, { 0, 0, 0}}, // (100, 16)
+ { 0, { 0, 0, 0}}, // (101, 16)
+ { 0, { 0, 0, 0}}, // (102, 16)
+ { 0, { 0, 0, 0}}, // (103, 16)
+ { 0, { 0, 0, 0}}, // (104, 16)
+ { 0, { 0, 0, 0}}, // (105, 16)
+ { 0, { 0, 0, 0}}, // (106, 16)
+ { 0, { 0, 0, 0}}, // (107, 16)
+ { 0, { 0, 0, 0}}, // (108, 16)
+ { 0, { 0, 0, 0}}, // (109, 16)
+ { 0, { 0, 0, 0}}, // (110, 16)
+ { 0, { 0, 0, 0}}, // (111, 16)
+ { 0, { 0, 0, 0}}, // (112, 16)
+ { 0, { 0, 0, 0}}, // (113, 16)
+ { 0, { 0, 0, 0}}, // (114, 16)
+ { 0, { 0, 0, 0}}, // (115, 16)
+ { 0, { 0, 0, 0}}, // (116, 16)
+ { 0, { 0, 0, 0}}, // (117, 16)
+ { 0, { 0, 0, 0}}, // (118, 16)
+ { 0, { 0, 0, 0}}, // (119, 16)
+ { 0, { 0, 0, 0}}, // (120, 16)
+ { 0, { 0, 0, 0}}, // (121, 16)
+ { 0, { 0, 0, 0}}, // (122, 16)
+ { 0, { 0, 0, 0}}, // (123, 16)
+ { 0, { 0, 0, 0}}, // (124, 16)
+ { 0, { 0, 0, 0}}, // (125, 16)
+ { 0, { 0, 0, 0}}, // (126, 16)
+ { 0, { 0, 0, 0}}, // (127, 16)
+ { 0, { 0, 0, 0}}, // (128, 16)
+ { 0, { 0, 0, 0}}, // (129, 16)
+ { 0, { 0, 0, 0}}, // (130, 16)
+ { 0, { 0, 0, 0}}, // (131, 16)
+ { 0, { 0, 0, 0}}, // (132, 16)
+ { 0, { 0, 0, 0}}, // (133, 16)
+ { 0, { 0, 0, 0}}, // (134, 16)
+ { 0, { 0, 0, 0}}, // (135, 16)
+ { 0, { 0, 0, 0}}, // (136, 16)
+ { 7, { 0, 0, 0}}, // (137, 16)
+ { 74, { 0, 0, 0}}, // (138, 16)
+ {127, { 0, 0, 0}}, // (139, 16)
+ {128, { 0, 0, 0}}, // (140, 16)
+ {128, { 0, 0, 0}}, // (141, 16)
+ {128, { 0, 0, 0}}, // (142, 16)
+ {128, { 0, 0, 0}}, // (143, 16)
+ {128, { 0, 0, 0}}, // (144, 16)
+ {128, { 0, 0, 0}}, // (145, 16)
+ {128, { 0, 0, 0}}, // (146, 16)
+ {128, { 0, 0, 0}}, // (147, 16)
+ {128, { 0, 0, 0}}, // (148, 16)
+ {128, { 0, 0, 0}}, // (149, 16)
+ {128, { 0, 0, 0}}, // (150, 16)
+ {128, { 0, 0, 0}}, // (151, 16)
+ {128, { 0, 0, 0}}, // (152, 16)
+ {128, { 0, 0, 0}}, // (153, 16)
+ {128, { 0, 0, 0}}, // (154, 16)
+ {128, { 0, 0, 0}}, // (155, 16)
+ {128, { 0, 0, 0}}, // (156, 16)
+ {128, { 0, 0, 0}}, // (157, 16)
+ {128, { 0, 0, 0}}, // (158, 16)
+ {128, { 0, 0, 0}}, // (159, 16)
+ {128, { 0, 0, 0}}, // (160, 16)
+ {128, { 0, 0, 0}}, // (161, 16)
+ {128, { 0, 0, 0}}, // (162, 16)
+ {128, { 0, 0, 0}}, // (163, 16)
+ {128, { 0, 0, 0}}, // (164, 16)
+ {128, { 0, 0, 0}}, // (165, 16)
+ {128, { 0, 0, 0}}, // (166, 16)
+ {128, { 0, 0, 0}}, // (167, 16)
+ {128, { 0, 0, 0}}, // (168, 16)
+ {128, { 0, 0, 0}}, // (169, 16)
+ {128, { 0, 0, 0}}, // (170, 16)
+ {128, { 0, 0, 0}}, // (171, 16)
+ {128, { 0, 0, 0}}, // (172, 16)
+ {128, { 0, 0, 0}}, // (173, 16)
+ {128, { 0, 0, 0}}, // (174, 16)
+ {128, { 0, 0, 0}}, // (175, 16)
+ {128, { 0, 0, 0}}, // (176, 16)
+ {128, { 0, 0, 0}}, // (177, 16)
+ {128, { 0, 0, 0}}, // (178, 16)
+ {128, { 0, 0, 0}}, // (179, 16)
+ {128, { 0, 0, 0}}, // ( 0, 17)
+ {128, { 0, 0, 0}}, // ( 1, 17)
+ {128, { 0, 0, 0}}, // ( 2, 17)
+ {128, { 0, 0, 0}}, // ( 3, 17)
+ {128, { 0, 0, 0}}, // ( 4, 17)
+ {128, { 0, 0, 0}}, // ( 5, 17)
+ {128, { 0, 0, 0}}, // ( 6, 17)
+ {128, { 0, 0, 0}}, // ( 7, 17)
+ {128, { 0, 0, 0}}, // ( 8, 17)
+ {128, { 0, 0, 0}}, // ( 9, 17)
+ {128, { 0, 0, 0}}, // ( 10, 17)
+ {128, { 0, 0, 0}}, // ( 11, 17)
+ {128, { 0, 0, 0}}, // ( 12, 17)
+ {128, { 0, 0, 0}}, // ( 13, 17)
+ {128, { 0, 0, 0}}, // ( 14, 17)
+ {128, { 0, 0, 0}}, // ( 15, 17)
+ {128, { 0, 0, 0}}, // ( 16, 17)
+ {128, { 0, 0, 0}}, // ( 17, 17)
+ {128, { 0, 0, 0}}, // ( 18, 17)
+ {128, { 0, 0, 0}}, // ( 19, 17)
+ {128, { 0, 0, 0}}, // ( 20, 17)
+ {128, { 0, 0, 0}}, // ( 21, 17)
+ {128, { 0, 0, 0}}, // ( 22, 17)
+ {128, { 0, 0, 0}}, // ( 23, 17)
+ {128, { 0, 0, 0}}, // ( 24, 17)
+ {128, { 0, 0, 0}}, // ( 25, 17)
+ {128, { 0, 0, 0}}, // ( 26, 17)
+ {128, { 0, 0, 0}}, // ( 27, 17)
+ {128, { 0, 0, 0}}, // ( 28, 17)
+ {128, { 0, 0, 0}}, // ( 29, 17)
+ {128, { 0, 0, 0}}, // ( 30, 17)
+ {128, { 0, 0, 0}}, // ( 31, 17)
+ {128, { 0, 0, 0}}, // ( 32, 17)
+ {128, { 0, 0, 0}}, // ( 33, 17)
+ {128, { 0, 0, 0}}, // ( 34, 17)
+ {128, { 0, 0, 0}}, // ( 35, 17)
+ {128, { 0, 0, 0}}, // ( 36, 17)
+ {128, { 0, 0, 0}}, // ( 37, 17)
+ {128, { 0, 0, 0}}, // ( 38, 17)
+ {113, { 0, 0, 0}}, // ( 39, 17)
+ { 33, { 0, 0, 0}}, // ( 40, 17)
+ { 0, { 0, 0, 0}}, // ( 41, 17)
+ { 0, { 0, 0, 0}}, // ( 42, 17)
+ { 0, { 0, 0, 0}}, // ( 43, 17)
+ { 0, { 0, 0, 0}}, // ( 44, 17)
+ { 0, { 0, 0, 0}}, // ( 45, 17)
+ { 0, { 0, 0, 0}}, // ( 46, 17)
+ { 0, { 0, 0, 0}}, // ( 47, 17)
+ { 0, { 0, 0, 0}}, // ( 48, 17)
+ { 0, { 0, 0, 0}}, // ( 49, 17)
+ { 0, { 0, 0, 0}}, // ( 50, 17)
+ { 0, { 0, 0, 0}}, // ( 51, 17)
+ { 0, { 0, 0, 0}}, // ( 52, 17)
+ { 0, { 0, 0, 0}}, // ( 53, 17)
+ { 0, { 0, 0, 0}}, // ( 54, 17)
+ { 0, { 0, 0, 0}}, // ( 55, 17)
+ { 0, { 0, 0, 0}}, // ( 56, 17)
+ { 0, { 0, 0, 0}}, // ( 57, 17)
+ { 0, { 0, 0, 0}}, // ( 58, 17)
+ { 0, { 0, 0, 0}}, // ( 59, 17)
+ { 0, { 0, 0, 0}}, // ( 60, 17)
+ { 0, { 0, 0, 0}}, // ( 61, 17)
+ { 0, { 0, 0, 0}}, // ( 62, 17)
+ { 0, { 0, 0, 0}}, // ( 63, 17)
+ { 0, { 0, 0, 0}}, // ( 64, 17)
+ { 0, { 0, 0, 0}}, // ( 65, 17)
+ { 0, { 0, 0, 0}}, // ( 66, 17)
+ { 0, { 0, 0, 0}}, // ( 67, 17)
+ { 0, { 0, 0, 0}}, // ( 68, 17)
+ { 0, { 0, 0, 0}}, // ( 69, 17)
+ { 0, { 0, 0, 0}}, // ( 70, 17)
+ { 0, { 0, 0, 0}}, // ( 71, 17)
+ { 0, { 0, 0, 0}}, // ( 72, 17)
+ { 0, { 0, 0, 0}}, // ( 73, 17)
+ { 0, { 0, 0, 0}}, // ( 74, 17)
+ { 0, { 0, 0, 0}}, // ( 75, 17)
+ { 0, { 0, 0, 0}}, // ( 76, 17)
+ { 0, { 0, 0, 0}}, // ( 77, 17)
+ { 0, { 0, 0, 0}}, // ( 78, 17)
+ { 0, { 0, 0, 0}}, // ( 79, 17)
+ { 0, { 0, 0, 0}}, // ( 80, 17)
+ { 0, { 0, 0, 0}}, // ( 81, 17)
+ { 0, { 0, 0, 0}}, // ( 82, 17)
+ { 0, { 0, 0, 0}}, // ( 83, 17)
+ { 0, { 0, 0, 0}}, // ( 84, 17)
+ { 0, { 0, 0, 0}}, // ( 85, 17)
+ { 0, { 0, 0, 0}}, // ( 86, 17)
+ { 0, { 0, 0, 0}}, // ( 87, 17)
+ { 0, { 0, 0, 0}}, // ( 88, 17)
+ { 0, { 0, 0, 0}}, // ( 89, 17)
+ { 0, { 0, 0, 0}}, // ( 90, 17)
+ { 0, { 0, 0, 0}}, // ( 91, 17)
+ { 0, { 0, 0, 0}}, // ( 92, 17)
+ { 0, { 0, 0, 0}}, // ( 93, 17)
+ { 0, { 0, 0, 0}}, // ( 94, 17)
+ { 0, { 0, 0, 0}}, // ( 95, 17)
+ { 0, { 0, 0, 0}}, // ( 96, 17)
+ { 0, { 0, 0, 0}}, // ( 97, 17)
+ { 0, { 0, 0, 0}}, // ( 98, 17)
+ { 0, { 0, 0, 0}}, // ( 99, 17)
+ { 0, { 0, 0, 0}}, // (100, 17)
+ { 0, { 0, 0, 0}}, // (101, 17)
+ { 0, { 0, 0, 0}}, // (102, 17)
+ { 0, { 0, 0, 0}}, // (103, 17)
+ { 0, { 0, 0, 0}}, // (104, 17)
+ { 0, { 0, 0, 0}}, // (105, 17)
+ { 0, { 0, 0, 0}}, // (106, 17)
+ { 0, { 0, 0, 0}}, // (107, 17)
+ { 0, { 0, 0, 0}}, // (108, 17)
+ { 0, { 0, 0, 0}}, // (109, 17)
+ { 0, { 0, 0, 0}}, // (110, 17)
+ { 0, { 0, 0, 0}}, // (111, 17)
+ { 0, { 0, 0, 0}}, // (112, 17)
+ { 0, { 0, 0, 0}}, // (113, 17)
+ { 0, { 0, 0, 0}}, // (114, 17)
+ { 0, { 0, 0, 0}}, // (115, 17)
+ { 0, { 0, 0, 0}}, // (116, 17)
+ { 0, { 0, 0, 0}}, // (117, 17)
+ { 0, { 0, 0, 0}}, // (118, 17)
+ { 0, { 0, 0, 0}}, // (119, 17)
+ { 0, { 0, 0, 0}}, // (120, 17)
+ { 0, { 0, 0, 0}}, // (121, 17)
+ { 0, { 0, 0, 0}}, // (122, 17)
+ { 0, { 0, 0, 0}}, // (123, 17)
+ { 0, { 0, 0, 0}}, // (124, 17)
+ { 0, { 0, 0, 0}}, // (125, 17)
+ { 0, { 0, 0, 0}}, // (126, 17)
+ { 0, { 0, 0, 0}}, // (127, 17)
+ { 0, { 0, 0, 0}}, // (128, 17)
+ { 0, { 0, 0, 0}}, // (129, 17)
+ { 0, { 0, 0, 0}}, // (130, 17)
+ { 0, { 0, 0, 0}}, // (131, 17)
+ { 0, { 0, 0, 0}}, // (132, 17)
+ { 0, { 0, 0, 0}}, // (133, 17)
+ { 0, { 0, 0, 0}}, // (134, 17)
+ { 0, { 0, 0, 0}}, // (135, 17)
+ { 0, { 0, 0, 0}}, // (136, 17)
+ { 0, { 0, 0, 0}}, // (137, 17)
+ { 0, { 0, 0, 0}}, // (138, 17)
+ { 33, { 0, 0, 0}}, // (139, 17)
+ {113, { 0, 0, 0}}, // (140, 17)
+ {128, { 0, 0, 0}}, // (141, 17)
+ {128, { 0, 0, 0}}, // (142, 17)
+ {128, { 0, 0, 0}}, // (143, 17)
+ {128, { 0, 0, 0}}, // (144, 17)
+ {128, { 0, 0, 0}}, // (145, 17)
+ {128, { 0, 0, 0}}, // (146, 17)
+ {128, { 0, 0, 0}}, // (147, 17)
+ {128, { 0, 0, 0}}, // (148, 17)
+ {128, { 0, 0, 0}}, // (149, 17)
+ {128, { 0, 0, 0}}, // (150, 17)
+ {128, { 0, 0, 0}}, // (151, 17)
+ {128, { 0, 0, 0}}, // (152, 17)
+ {128, { 0, 0, 0}}, // (153, 17)
+ {128, { 0, 0, 0}}, // (154, 17)
+ {128, { 0, 0, 0}}, // (155, 17)
+ {128, { 0, 0, 0}}, // (156, 17)
+ {128, { 0, 0, 0}}, // (157, 17)
+ {128, { 0, 0, 0}}, // (158, 17)
+ {128, { 0, 0, 0}}, // (159, 17)
+ {128, { 0, 0, 0}}, // (160, 17)
+ {128, { 0, 0, 0}}, // (161, 17)
+ {128, { 0, 0, 0}}, // (162, 17)
+ {128, { 0, 0, 0}}, // (163, 17)
+ {128, { 0, 0, 0}}, // (164, 17)
+ {128, { 0, 0, 0}}, // (165, 17)
+ {128, { 0, 0, 0}}, // (166, 17)
+ {128, { 0, 0, 0}}, // (167, 17)
+ {128, { 0, 0, 0}}, // (168, 17)
+ {128, { 0, 0, 0}}, // (169, 17)
+ {128, { 0, 0, 0}}, // (170, 17)
+ {128, { 0, 0, 0}}, // (171, 17)
+ {128, { 0, 0, 0}}, // (172, 17)
+ {128, { 0, 0, 0}}, // (173, 17)
+ {128, { 0, 0, 0}}, // (174, 17)
+ {128, { 0, 0, 0}}, // (175, 17)
+ {128, { 0, 0, 0}}, // (176, 17)
+ {128, { 0, 0, 0}}, // (177, 17)
+ {128, { 0, 0, 0}}, // (178, 17)
+ {128, { 0, 0, 0}}, // (179, 17)
+ {128, { 0, 0, 0}}, // ( 0, 18)
+ {128, { 0, 0, 0}}, // ( 1, 18)
+ {128, { 0, 0, 0}}, // ( 2, 18)
+ {128, { 0, 0, 0}}, // ( 3, 18)
+ {128, { 0, 0, 0}}, // ( 4, 18)
+ {128, { 0, 0, 0}}, // ( 5, 18)
+ {128, { 0, 0, 0}}, // ( 6, 18)
+ {128, { 0, 0, 0}}, // ( 7, 18)
+ {128, { 0, 0, 0}}, // ( 8, 18)
+ {128, { 0, 0, 0}}, // ( 9, 18)
+ {128, { 0, 0, 0}}, // ( 10, 18)
+ {128, { 0, 0, 0}}, // ( 11, 18)
+ {128, { 0, 0, 0}}, // ( 12, 18)
+ {128, { 0, 0, 0}}, // ( 13, 18)
+ {128, { 0, 0, 0}}, // ( 14, 18)
+ {128, { 0, 0, 0}}, // ( 15, 18)
+ {128, { 0, 0, 0}}, // ( 16, 18)
+ {128, { 0, 0, 0}}, // ( 17, 18)
+ {128, { 0, 0, 0}}, // ( 18, 18)
+ {128, { 0, 0, 0}}, // ( 19, 18)
+ {128, { 0, 0, 0}}, // ( 20, 18)
+ {128, { 0, 0, 0}}, // ( 21, 18)
+ {128, { 0, 0, 0}}, // ( 22, 18)
+ {128, { 0, 0, 0}}, // ( 23, 18)
+ {128, { 0, 0, 0}}, // ( 24, 18)
+ {128, { 0, 0, 0}}, // ( 25, 18)
+ {128, { 0, 0, 0}}, // ( 26, 18)
+ {128, { 0, 0, 0}}, // ( 27, 18)
+ {128, { 0, 0, 0}}, // ( 28, 18)
+ {128, { 0, 0, 0}}, // ( 29, 18)
+ {128, { 0, 0, 0}}, // ( 30, 18)
+ {128, { 0, 0, 0}}, // ( 31, 18)
+ {128, { 0, 0, 0}}, // ( 32, 18)
+ {128, { 0, 0, 0}}, // ( 33, 18)
+ {128, { 0, 0, 0}}, // ( 34, 18)
+ {128, { 0, 0, 0}}, // ( 35, 18)
+ {128, { 0, 0, 0}}, // ( 36, 18)
+ {128, { 0, 0, 0}}, // ( 37, 18)
+ { 85, { 0, 0, 0}}, // ( 38, 18)
+ { 9, { 0, 0, 0}}, // ( 39, 18)
+ { 0, { 0, 0, 0}}, // ( 40, 18)
+ { 0, { 0, 0, 0}}, // ( 41, 18)
+ { 0, { 0, 0, 0}}, // ( 42, 18)
+ { 0, { 0, 0, 0}}, // ( 43, 18)
+ { 0, { 0, 0, 0}}, // ( 44, 18)
+ { 0, { 0, 0, 0}}, // ( 45, 18)
+ { 0, { 0, 0, 0}}, // ( 46, 18)
+ { 0, { 0, 0, 0}}, // ( 47, 18)
+ { 0, { 0, 0, 0}}, // ( 48, 18)
+ { 0, { 0, 0, 0}}, // ( 49, 18)
+ { 0, { 0, 0, 0}}, // ( 50, 18)
+ { 0, { 0, 0, 0}}, // ( 51, 18)
+ { 0, { 0, 0, 0}}, // ( 52, 18)
+ { 0, { 0, 0, 0}}, // ( 53, 18)
+ { 0, { 0, 0, 0}}, // ( 54, 18)
+ { 0, { 0, 0, 0}}, // ( 55, 18)
+ { 0, { 0, 0, 0}}, // ( 56, 18)
+ { 0, { 0, 0, 0}}, // ( 57, 18)
+ { 0, { 0, 0, 0}}, // ( 58, 18)
+ { 0, { 0, 0, 0}}, // ( 59, 18)
+ { 0, { 0, 0, 0}}, // ( 60, 18)
+ { 0, { 0, 0, 0}}, // ( 61, 18)
+ { 0, { 0, 0, 0}}, // ( 62, 18)
+ { 0, { 0, 0, 0}}, // ( 63, 18)
+ { 0, { 0, 0, 0}}, // ( 64, 18)
+ { 0, { 0, 0, 0}}, // ( 65, 18)
+ { 0, { 0, 0, 0}}, // ( 66, 18)
+ { 0, { 0, 0, 0}}, // ( 67, 18)
+ { 0, { 0, 0, 0}}, // ( 68, 18)
+ { 0, { 0, 0, 0}}, // ( 69, 18)
+ { 0, { 0, 0, 0}}, // ( 70, 18)
+ { 0, { 0, 0, 0}}, // ( 71, 18)
+ { 0, { 0, 0, 0}}, // ( 72, 18)
+ { 0, { 0, 0, 0}}, // ( 73, 18)
+ { 0, { 0, 0, 0}}, // ( 74, 18)
+ { 0, { 0, 0, 0}}, // ( 75, 18)
+ { 0, { 0, 0, 0}}, // ( 76, 18)
+ { 0, { 0, 0, 0}}, // ( 77, 18)
+ { 0, { 0, 0, 0}}, // ( 78, 18)
+ { 0, { 0, 0, 0}}, // ( 79, 18)
+ { 0, { 0, 0, 0}}, // ( 80, 18)
+ { 0, { 0, 0, 0}}, // ( 81, 18)
+ { 0, { 0, 0, 0}}, // ( 82, 18)
+ { 0, { 0, 0, 0}}, // ( 83, 18)
+ { 0, { 0, 0, 0}}, // ( 84, 18)
+ { 0, { 0, 0, 0}}, // ( 85, 18)
+ { 0, { 0, 0, 0}}, // ( 86, 18)
+ { 0, { 0, 0, 0}}, // ( 87, 18)
+ { 0, { 0, 0, 0}}, // ( 88, 18)
+ { 0, { 0, 0, 0}}, // ( 89, 18)
+ { 0, { 0, 0, 0}}, // ( 90, 18)
+ { 0, { 0, 0, 0}}, // ( 91, 18)
+ { 0, { 0, 0, 0}}, // ( 92, 18)
+ { 0, { 0, 0, 0}}, // ( 93, 18)
+ { 0, { 0, 0, 0}}, // ( 94, 18)
+ { 0, { 0, 0, 0}}, // ( 95, 18)
+ { 0, { 0, 0, 0}}, // ( 96, 18)
+ { 0, { 0, 0, 0}}, // ( 97, 18)
+ { 0, { 0, 0, 0}}, // ( 98, 18)
+ { 0, { 0, 0, 0}}, // ( 99, 18)
+ { 0, { 0, 0, 0}}, // (100, 18)
+ { 0, { 0, 0, 0}}, // (101, 18)
+ { 0, { 0, 0, 0}}, // (102, 18)
+ { 0, { 0, 0, 0}}, // (103, 18)
+ { 0, { 0, 0, 0}}, // (104, 18)
+ { 0, { 0, 0, 0}}, // (105, 18)
+ { 0, { 0, 0, 0}}, // (106, 18)
+ { 0, { 0, 0, 0}}, // (107, 18)
+ { 0, { 0, 0, 0}}, // (108, 18)
+ { 0, { 0, 0, 0}}, // (109, 18)
+ { 0, { 0, 0, 0}}, // (110, 18)
+ { 0, { 0, 0, 0}}, // (111, 18)
+ { 0, { 0, 0, 0}}, // (112, 18)
+ { 0, { 0, 0, 0}}, // (113, 18)
+ { 0, { 0, 0, 0}}, // (114, 18)
+ { 0, { 0, 0, 0}}, // (115, 18)
+ { 0, { 0, 0, 0}}, // (116, 18)
+ { 0, { 0, 0, 0}}, // (117, 18)
+ { 0, { 0, 0, 0}}, // (118, 18)
+ { 0, { 0, 0, 0}}, // (119, 18)
+ { 0, { 0, 0, 0}}, // (120, 18)
+ { 0, { 0, 0, 0}}, // (121, 18)
+ { 0, { 0, 0, 0}}, // (122, 18)
+ { 0, { 0, 0, 0}}, // (123, 18)
+ { 0, { 0, 0, 0}}, // (124, 18)
+ { 0, { 0, 0, 0}}, // (125, 18)
+ { 0, { 0, 0, 0}}, // (126, 18)
+ { 0, { 0, 0, 0}}, // (127, 18)
+ { 0, { 0, 0, 0}}, // (128, 18)
+ { 0, { 0, 0, 0}}, // (129, 18)
+ { 0, { 0, 0, 0}}, // (130, 18)
+ { 0, { 0, 0, 0}}, // (131, 18)
+ { 0, { 0, 0, 0}}, // (132, 18)
+ { 0, { 0, 0, 0}}, // (133, 18)
+ { 0, { 0, 0, 0}}, // (134, 18)
+ { 0, { 0, 0, 0}}, // (135, 18)
+ { 0, { 0, 0, 0}}, // (136, 18)
+ { 0, { 0, 0, 0}}, // (137, 18)
+ { 0, { 0, 0, 0}}, // (138, 18)
+ { 0, { 0, 0, 0}}, // (139, 18)
+ { 9, { 0, 0, 0}}, // (140, 18)
+ { 85, { 0, 0, 0}}, // (141, 18)
+ {128, { 0, 0, 0}}, // (142, 18)
+ {128, { 0, 0, 0}}, // (143, 18)
+ {128, { 0, 0, 0}}, // (144, 18)
+ {128, { 0, 0, 0}}, // (145, 18)
+ {128, { 0, 0, 0}}, // (146, 18)
+ {128, { 0, 0, 0}}, // (147, 18)
+ {128, { 0, 0, 0}}, // (148, 18)
+ {128, { 0, 0, 0}}, // (149, 18)
+ {128, { 0, 0, 0}}, // (150, 18)
+ {128, { 0, 0, 0}}, // (151, 18)
+ {128, { 0, 0, 0}}, // (152, 18)
+ {128, { 0, 0, 0}}, // (153, 18)
+ {128, { 0, 0, 0}}, // (154, 18)
+ {128, { 0, 0, 0}}, // (155, 18)
+ {128, { 0, 0, 0}}, // (156, 18)
+ {128, { 0, 0, 0}}, // (157, 18)
+ {128, { 0, 0, 0}}, // (158, 18)
+ {128, { 0, 0, 0}}, // (159, 18)
+ {128, { 0, 0, 0}}, // (160, 18)
+ {128, { 0, 0, 0}}, // (161, 18)
+ {128, { 0, 0, 0}}, // (162, 18)
+ {128, { 0, 0, 0}}, // (163, 18)
+ {128, { 0, 0, 0}}, // (164, 18)
+ {128, { 0, 0, 0}}, // (165, 18)
+ {128, { 0, 0, 0}}, // (166, 18)
+ {128, { 0, 0, 0}}, // (167, 18)
+ {128, { 0, 0, 0}}, // (168, 18)
+ {128, { 0, 0, 0}}, // (169, 18)
+ {128, { 0, 0, 0}}, // (170, 18)
+ {128, { 0, 0, 0}}, // (171, 18)
+ {128, { 0, 0, 0}}, // (172, 18)
+ {128, { 0, 0, 0}}, // (173, 18)
+ {128, { 0, 0, 0}}, // (174, 18)
+ {128, { 0, 0, 0}}, // (175, 18)
+ {128, { 0, 0, 0}}, // (176, 18)
+ {128, { 0, 0, 0}}, // (177, 18)
+ {128, { 0, 0, 0}}, // (178, 18)
+ {128, { 0, 0, 0}}, // (179, 18)
+ {128, { 0, 0, 0}}, // ( 0, 19)
+ {128, { 0, 0, 0}}, // ( 1, 19)
+ {128, { 0, 0, 0}}, // ( 2, 19)
+ {128, { 0, 0, 0}}, // ( 3, 19)
+ {128, { 0, 0, 0}}, // ( 4, 19)
+ {128, { 0, 0, 0}}, // ( 5, 19)
+ {128, { 0, 0, 0}}, // ( 6, 19)
+ {128, { 0, 0, 0}}, // ( 7, 19)
+ {128, { 0, 0, 0}}, // ( 8, 19)
+ {128, { 0, 0, 0}}, // ( 9, 19)
+ {128, { 0, 0, 0}}, // ( 10, 19)
+ {128, { 0, 0, 0}}, // ( 11, 19)
+ {128, { 0, 0, 0}}, // ( 12, 19)
+ {128, { 0, 0, 0}}, // ( 13, 19)
+ {128, { 0, 0, 0}}, // ( 14, 19)
+ {128, { 0, 0, 0}}, // ( 15, 19)
+ {128, { 0, 0, 0}}, // ( 16, 19)
+ {128, { 0, 0, 0}}, // ( 17, 19)
+ {128, { 0, 0, 0}}, // ( 18, 19)
+ {128, { 0, 0, 0}}, // ( 19, 19)
+ {128, { 0, 0, 0}}, // ( 20, 19)
+ {128, { 0, 0, 0}}, // ( 21, 19)
+ {128, { 0, 0, 0}}, // ( 22, 19)
+ {128, { 0, 0, 0}}, // ( 23, 19)
+ {128, { 0, 0, 0}}, // ( 24, 19)
+ {128, { 0, 0, 0}}, // ( 25, 19)
+ {128, { 0, 0, 0}}, // ( 26, 19)
+ {128, { 0, 0, 0}}, // ( 27, 19)
+ {128, { 0, 0, 0}}, // ( 28, 19)
+ {128, { 0, 0, 0}}, // ( 29, 19)
+ {128, { 0, 0, 0}}, // ( 30, 19)
+ {128, { 0, 0, 0}}, // ( 31, 19)
+ {128, { 0, 0, 0}}, // ( 32, 19)
+ {128, { 0, 0, 0}}, // ( 33, 19)
+ {128, { 0, 0, 0}}, // ( 34, 19)
+ {128, { 0, 0, 0}}, // ( 35, 19)
+ {123, { 0, 0, 0}}, // ( 36, 19)
+ { 49, { 0, 0, 0}}, // ( 37, 19)
+ { 0, { 0, 0, 0}}, // ( 38, 19)
+ { 0, { 0, 0, 0}}, // ( 39, 19)
+ { 0, { 0, 0, 0}}, // ( 40, 19)
+ { 0, { 0, 0, 0}}, // ( 41, 19)
+ { 0, { 0, 0, 0}}, // ( 42, 19)
+ { 0, { 0, 0, 0}}, // ( 43, 19)
+ { 0, { 0, 0, 0}}, // ( 44, 19)
+ { 0, { 0, 0, 0}}, // ( 45, 19)
+ { 0, { 0, 0, 0}}, // ( 46, 19)
+ { 0, { 0, 0, 0}}, // ( 47, 19)
+ { 0, { 0, 0, 0}}, // ( 48, 19)
+ { 0, { 0, 0, 0}}, // ( 49, 19)
+ { 0, { 0, 0, 0}}, // ( 50, 19)
+ { 0, { 0, 0, 0}}, // ( 51, 19)
+ { 0, { 0, 0, 0}}, // ( 52, 19)
+ { 0, { 0, 0, 0}}, // ( 53, 19)
+ { 0, { 0, 0, 0}}, // ( 54, 19)
+ { 0, { 0, 0, 0}}, // ( 55, 19)
+ { 0, { 0, 0, 0}}, // ( 56, 19)
+ { 0, { 0, 0, 0}}, // ( 57, 19)
+ { 0, { 0, 0, 0}}, // ( 58, 19)
+ { 0, { 0, 0, 0}}, // ( 59, 19)
+ { 0, { 0, 0, 0}}, // ( 60, 19)
+ { 0, { 0, 0, 0}}, // ( 61, 19)
+ { 0, { 0, 0, 0}}, // ( 62, 19)
+ { 0, { 0, 0, 0}}, // ( 63, 19)
+ { 0, { 0, 0, 0}}, // ( 64, 19)
+ { 0, { 0, 0, 0}}, // ( 65, 19)
+ { 0, { 0, 0, 0}}, // ( 66, 19)
+ { 0, { 0, 0, 0}}, // ( 67, 19)
+ { 0, { 0, 0, 0}}, // ( 68, 19)
+ { 0, { 0, 0, 0}}, // ( 69, 19)
+ { 0, { 0, 0, 0}}, // ( 70, 19)
+ { 0, { 0, 0, 0}}, // ( 71, 19)
+ { 0, { 0, 0, 0}}, // ( 72, 19)
+ { 0, { 0, 0, 0}}, // ( 73, 19)
+ { 0, { 0, 0, 0}}, // ( 74, 19)
+ { 0, { 0, 0, 0}}, // ( 75, 19)
+ { 0, { 0, 0, 0}}, // ( 76, 19)
+ { 0, { 0, 0, 0}}, // ( 77, 19)
+ { 0, { 0, 0, 0}}, // ( 78, 19)
+ { 0, { 0, 0, 0}}, // ( 79, 19)
+ { 0, { 0, 0, 0}}, // ( 80, 19)
+ { 0, { 0, 0, 0}}, // ( 81, 19)
+ { 0, { 0, 0, 0}}, // ( 82, 19)
+ { 0, { 0, 0, 0}}, // ( 83, 19)
+ { 0, { 0, 0, 0}}, // ( 84, 19)
+ { 0, { 0, 0, 0}}, // ( 85, 19)
+ { 0, { 0, 0, 0}}, // ( 86, 19)
+ { 0, { 0, 0, 0}}, // ( 87, 19)
+ { 0, { 0, 0, 0}}, // ( 88, 19)
+ { 0, { 0, 0, 0}}, // ( 89, 19)
+ { 0, { 0, 0, 0}}, // ( 90, 19)
+ { 0, { 0, 0, 0}}, // ( 91, 19)
+ { 0, { 0, 0, 0}}, // ( 92, 19)
+ { 0, { 0, 0, 0}}, // ( 93, 19)
+ { 0, { 0, 0, 0}}, // ( 94, 19)
+ { 0, { 0, 0, 0}}, // ( 95, 19)
+ { 0, { 0, 0, 0}}, // ( 96, 19)
+ { 0, { 0, 0, 0}}, // ( 97, 19)
+ { 0, { 0, 0, 0}}, // ( 98, 19)
+ { 0, { 0, 0, 0}}, // ( 99, 19)
+ { 0, { 0, 0, 0}}, // (100, 19)
+ { 0, { 0, 0, 0}}, // (101, 19)
+ { 0, { 0, 0, 0}}, // (102, 19)
+ { 0, { 0, 0, 0}}, // (103, 19)
+ { 0, { 0, 0, 0}}, // (104, 19)
+ { 0, { 0, 0, 0}}, // (105, 19)
+ { 0, { 0, 0, 0}}, // (106, 19)
+ { 0, { 0, 0, 0}}, // (107, 19)
+ { 0, { 0, 0, 0}}, // (108, 19)
+ { 0, { 0, 0, 0}}, // (109, 19)
+ { 0, { 0, 0, 0}}, // (110, 19)
+ { 0, { 0, 0, 0}}, // (111, 19)
+ { 0, { 0, 0, 0}}, // (112, 19)
+ { 0, { 0, 0, 0}}, // (113, 19)
+ { 0, { 0, 0, 0}}, // (114, 19)
+ { 0, { 0, 0, 0}}, // (115, 19)
+ { 0, { 0, 0, 0}}, // (116, 19)
+ { 0, { 0, 0, 0}}, // (117, 19)
+ { 0, { 0, 0, 0}}, // (118, 19)
+ { 0, { 0, 0, 0}}, // (119, 19)
+ { 0, { 0, 0, 0}}, // (120, 19)
+ { 0, { 0, 0, 0}}, // (121, 19)
+ { 0, { 0, 0, 0}}, // (122, 19)
+ { 0, { 0, 0, 0}}, // (123, 19)
+ { 0, { 0, 0, 0}}, // (124, 19)
+ { 0, { 0, 0, 0}}, // (125, 19)
+ { 0, { 0, 0, 0}}, // (126, 19)
+ { 0, { 0, 0, 0}}, // (127, 19)
+ { 0, { 0, 0, 0}}, // (128, 19)
+ { 0, { 0, 0, 0}}, // (129, 19)
+ { 0, { 0, 0, 0}}, // (130, 19)
+ { 0, { 0, 0, 0}}, // (131, 19)
+ { 0, { 0, 0, 0}}, // (132, 19)
+ { 0, { 0, 0, 0}}, // (133, 19)
+ { 0, { 0, 0, 0}}, // (134, 19)
+ { 0, { 0, 0, 0}}, // (135, 19)
+ { 0, { 0, 0, 0}}, // (136, 19)
+ { 0, { 0, 0, 0}}, // (137, 19)
+ { 0, { 0, 0, 0}}, // (138, 19)
+ { 0, { 0, 0, 0}}, // (139, 19)
+ { 0, { 0, 0, 0}}, // (140, 19)
+ { 0, { 0, 0, 0}}, // (141, 19)
+ { 49, { 0, 0, 0}}, // (142, 19)
+ {123, { 0, 0, 0}}, // (143, 19)
+ {128, { 0, 0, 0}}, // (144, 19)
+ {128, { 0, 0, 0}}, // (145, 19)
+ {128, { 0, 0, 0}}, // (146, 19)
+ {128, { 0, 0, 0}}, // (147, 19)
+ {128, { 0, 0, 0}}, // (148, 19)
+ {128, { 0, 0, 0}}, // (149, 19)
+ {128, { 0, 0, 0}}, // (150, 19)
+ {128, { 0, 0, 0}}, // (151, 19)
+ {128, { 0, 0, 0}}, // (152, 19)
+ {128, { 0, 0, 0}}, // (153, 19)
+ {128, { 0, 0, 0}}, // (154, 19)
+ {128, { 0, 0, 0}}, // (155, 19)
+ {128, { 0, 0, 0}}, // (156, 19)
+ {128, { 0, 0, 0}}, // (157, 19)
+ {128, { 0, 0, 0}}, // (158, 19)
+ {128, { 0, 0, 0}}, // (159, 19)
+ {128, { 0, 0, 0}}, // (160, 19)
+ {128, { 0, 0, 0}}, // (161, 19)
+ {128, { 0, 0, 0}}, // (162, 19)
+ {128, { 0, 0, 0}}, // (163, 19)
+ {128, { 0, 0, 0}}, // (164, 19)
+ {128, { 0, 0, 0}}, // (165, 19)
+ {128, { 0, 0, 0}}, // (166, 19)
+ {128, { 0, 0, 0}}, // (167, 19)
+ {128, { 0, 0, 0}}, // (168, 19)
+ {128, { 0, 0, 0}}, // (169, 19)
+ {128, { 0, 0, 0}}, // (170, 19)
+ {128, { 0, 0, 0}}, // (171, 19)
+ {128, { 0, 0, 0}}, // (172, 19)
+ {128, { 0, 0, 0}}, // (173, 19)
+ {128, { 0, 0, 0}}, // (174, 19)
+ {128, { 0, 0, 0}}, // (175, 19)
+ {128, { 0, 0, 0}}, // (176, 19)
+ {128, { 0, 0, 0}}, // (177, 19)
+ {128, { 0, 0, 0}}, // (178, 19)
+ {128, { 0, 0, 0}}, // (179, 19)
+ {128, { 0, 0, 0}}, // ( 0, 20)
+ {128, { 0, 0, 0}}, // ( 1, 20)
+ {128, { 0, 0, 0}}, // ( 2, 20)
+ {128, { 0, 0, 0}}, // ( 3, 20)
+ {128, { 0, 0, 0}}, // ( 4, 20)
+ {128, { 0, 0, 0}}, // ( 5, 20)
+ {128, { 0, 0, 0}}, // ( 6, 20)
+ {128, { 0, 0, 0}}, // ( 7, 20)
+ {128, { 0, 0, 0}}, // ( 8, 20)
+ {128, { 0, 0, 0}}, // ( 9, 20)
+ {128, { 0, 0, 0}}, // ( 10, 20)
+ {128, { 0, 0, 0}}, // ( 11, 20)
+ {128, { 0, 0, 0}}, // ( 12, 20)
+ {128, { 0, 0, 0}}, // ( 13, 20)
+ {128, { 0, 0, 0}}, // ( 14, 20)
+ {128, { 0, 0, 0}}, // ( 15, 20)
+ {128, { 0, 0, 0}}, // ( 16, 20)
+ {128, { 0, 0, 0}}, // ( 17, 20)
+ {128, { 0, 0, 0}}, // ( 18, 20)
+ {128, { 0, 0, 0}}, // ( 19, 20)
+ {128, { 0, 0, 0}}, // ( 20, 20)
+ {128, { 0, 0, 0}}, // ( 21, 20)
+ {128, { 0, 0, 0}}, // ( 22, 20)
+ {128, { 0, 0, 0}}, // ( 23, 20)
+ {128, { 0, 0, 0}}, // ( 24, 20)
+ {128, { 0, 0, 0}}, // ( 25, 20)
+ {128, { 0, 0, 0}}, // ( 26, 20)
+ {128, { 0, 0, 0}}, // ( 27, 20)
+ {128, { 0, 0, 0}}, // ( 28, 20)
+ {128, { 0, 0, 0}}, // ( 29, 20)
+ {128, { 0, 0, 0}}, // ( 30, 20)
+ {128, { 0, 0, 0}}, // ( 31, 20)
+ {128, { 0, 0, 0}}, // ( 32, 20)
+ {128, { 0, 0, 0}}, // ( 33, 20)
+ {128, { 0, 0, 0}}, // ( 34, 20)
+ {111, { 0, 0, 0}}, // ( 35, 20)
+ { 24, { 0, 0, 0}}, // ( 36, 20)
+ { 0, { 0, 0, 0}}, // ( 37, 20)
+ { 0, { 0, 0, 0}}, // ( 38, 20)
+ { 0, { 0, 0, 0}}, // ( 39, 20)
+ { 0, { 0, 0, 0}}, // ( 40, 20)
+ { 0, { 0, 0, 0}}, // ( 41, 20)
+ { 0, { 0, 0, 0}}, // ( 42, 20)
+ { 0, { 0, 0, 0}}, // ( 43, 20)
+ { 0, { 0, 0, 0}}, // ( 44, 20)
+ { 0, { 0, 0, 0}}, // ( 45, 20)
+ { 0, { 0, 0, 0}}, // ( 46, 20)
+ { 0, { 0, 0, 0}}, // ( 47, 20)
+ { 0, { 0, 0, 0}}, // ( 48, 20)
+ { 0, { 0, 0, 0}}, // ( 49, 20)
+ { 0, { 0, 0, 0}}, // ( 50, 20)
+ { 0, { 0, 0, 0}}, // ( 51, 20)
+ { 0, { 0, 0, 0}}, // ( 52, 20)
+ { 0, { 0, 0, 0}}, // ( 53, 20)
+ { 0, { 0, 0, 0}}, // ( 54, 20)
+ { 0, { 0, 0, 0}}, // ( 55, 20)
+ { 0, { 0, 0, 0}}, // ( 56, 20)
+ { 0, { 0, 0, 0}}, // ( 57, 20)
+ { 0, { 0, 0, 0}}, // ( 58, 20)
+ { 0, { 0, 0, 0}}, // ( 59, 20)
+ { 0, { 0, 0, 0}}, // ( 60, 20)
+ { 0, { 0, 0, 0}}, // ( 61, 20)
+ { 0, { 0, 0, 0}}, // ( 62, 20)
+ { 0, { 0, 0, 0}}, // ( 63, 20)
+ { 0, { 0, 0, 0}}, // ( 64, 20)
+ { 0, { 0, 0, 0}}, // ( 65, 20)
+ { 0, { 0, 0, 0}}, // ( 66, 20)
+ { 0, { 0, 0, 0}}, // ( 67, 20)
+ { 0, { 0, 0, 0}}, // ( 68, 20)
+ { 0, { 0, 0, 0}}, // ( 69, 20)
+ { 0, { 0, 0, 0}}, // ( 70, 20)
+ { 0, { 0, 0, 0}}, // ( 71, 20)
+ { 0, { 0, 0, 0}}, // ( 72, 20)
+ { 0, { 0, 0, 0}}, // ( 73, 20)
+ { 0, { 0, 0, 0}}, // ( 74, 20)
+ { 0, { 0, 0, 0}}, // ( 75, 20)
+ { 0, { 0, 0, 0}}, // ( 76, 20)
+ { 0, { 0, 0, 0}}, // ( 77, 20)
+ { 0, { 0, 0, 0}}, // ( 78, 20)
+ { 0, { 0, 0, 0}}, // ( 79, 20)
+ { 0, { 0, 0, 0}}, // ( 80, 20)
+ { 0, { 0, 0, 0}}, // ( 81, 20)
+ { 0, { 0, 0, 0}}, // ( 82, 20)
+ { 0, { 0, 0, 0}}, // ( 83, 20)
+ { 0, { 0, 0, 0}}, // ( 84, 20)
+ { 0, { 0, 0, 0}}, // ( 85, 20)
+ { 0, { 0, 0, 0}}, // ( 86, 20)
+ { 0, { 0, 0, 0}}, // ( 87, 20)
+ { 0, { 0, 0, 0}}, // ( 88, 20)
+ { 0, { 0, 0, 0}}, // ( 89, 20)
+ { 0, { 0, 0, 0}}, // ( 90, 20)
+ { 0, { 0, 0, 0}}, // ( 91, 20)
+ { 0, { 0, 0, 0}}, // ( 92, 20)
+ { 0, { 0, 0, 0}}, // ( 93, 20)
+ { 0, { 0, 0, 0}}, // ( 94, 20)
+ { 0, { 0, 0, 0}}, // ( 95, 20)
+ { 0, { 0, 0, 0}}, // ( 96, 20)
+ { 0, { 0, 0, 0}}, // ( 97, 20)
+ { 0, { 0, 0, 0}}, // ( 98, 20)
+ { 0, { 0, 0, 0}}, // ( 99, 20)
+ { 0, { 0, 0, 0}}, // (100, 20)
+ { 0, { 0, 0, 0}}, // (101, 20)
+ { 0, { 0, 0, 0}}, // (102, 20)
+ { 0, { 0, 0, 0}}, // (103, 20)
+ { 0, { 0, 0, 0}}, // (104, 20)
+ { 0, { 0, 0, 0}}, // (105, 20)
+ { 0, { 0, 0, 0}}, // (106, 20)
+ { 0, { 0, 0, 0}}, // (107, 20)
+ { 0, { 0, 0, 0}}, // (108, 20)
+ { 0, { 0, 0, 0}}, // (109, 20)
+ { 0, { 0, 0, 0}}, // (110, 20)
+ { 0, { 0, 0, 0}}, // (111, 20)
+ { 0, { 0, 0, 0}}, // (112, 20)
+ { 0, { 0, 0, 0}}, // (113, 20)
+ { 0, { 0, 0, 0}}, // (114, 20)
+ { 0, { 0, 0, 0}}, // (115, 20)
+ { 0, { 0, 0, 0}}, // (116, 20)
+ { 0, { 0, 0, 0}}, // (117, 20)
+ { 0, { 0, 0, 0}}, // (118, 20)
+ { 0, { 0, 0, 0}}, // (119, 20)
+ { 0, { 0, 0, 0}}, // (120, 20)
+ { 0, { 0, 0, 0}}, // (121, 20)
+ { 0, { 0, 0, 0}}, // (122, 20)
+ { 0, { 0, 0, 0}}, // (123, 20)
+ { 0, { 0, 0, 0}}, // (124, 20)
+ { 0, { 0, 0, 0}}, // (125, 20)
+ { 0, { 0, 0, 0}}, // (126, 20)
+ { 0, { 0, 0, 0}}, // (127, 20)
+ { 0, { 0, 0, 0}}, // (128, 20)
+ { 0, { 0, 0, 0}}, // (129, 20)
+ { 0, { 0, 0, 0}}, // (130, 20)
+ { 0, { 0, 0, 0}}, // (131, 20)
+ { 0, { 0, 0, 0}}, // (132, 20)
+ { 0, { 0, 0, 0}}, // (133, 20)
+ { 0, { 0, 0, 0}}, // (134, 20)
+ { 0, { 0, 0, 0}}, // (135, 20)
+ { 0, { 0, 0, 0}}, // (136, 20)
+ { 0, { 0, 0, 0}}, // (137, 20)
+ { 0, { 0, 0, 0}}, // (138, 20)
+ { 0, { 0, 0, 0}}, // (139, 20)
+ { 0, { 0, 0, 0}}, // (140, 20)
+ { 0, { 0, 0, 0}}, // (141, 20)
+ { 0, { 0, 0, 0}}, // (142, 20)
+ { 24, { 0, 0, 0}}, // (143, 20)
+ {111, { 0, 0, 0}}, // (144, 20)
+ {128, { 0, 0, 0}}, // (145, 20)
+ {128, { 0, 0, 0}}, // (146, 20)
+ {128, { 0, 0, 0}}, // (147, 20)
+ {128, { 0, 0, 0}}, // (148, 20)
+ {128, { 0, 0, 0}}, // (149, 20)
+ {128, { 0, 0, 0}}, // (150, 20)
+ {128, { 0, 0, 0}}, // (151, 20)
+ {128, { 0, 0, 0}}, // (152, 20)
+ {128, { 0, 0, 0}}, // (153, 20)
+ {128, { 0, 0, 0}}, // (154, 20)
+ {128, { 0, 0, 0}}, // (155, 20)
+ {128, { 0, 0, 0}}, // (156, 20)
+ {128, { 0, 0, 0}}, // (157, 20)
+ {128, { 0, 0, 0}}, // (158, 20)
+ {128, { 0, 0, 0}}, // (159, 20)
+ {128, { 0, 0, 0}}, // (160, 20)
+ {128, { 0, 0, 0}}, // (161, 20)
+ {128, { 0, 0, 0}}, // (162, 20)
+ {128, { 0, 0, 0}}, // (163, 20)
+ {128, { 0, 0, 0}}, // (164, 20)
+ {128, { 0, 0, 0}}, // (165, 20)
+ {128, { 0, 0, 0}}, // (166, 20)
+ {128, { 0, 0, 0}}, // (167, 20)
+ {128, { 0, 0, 0}}, // (168, 20)
+ {128, { 0, 0, 0}}, // (169, 20)
+ {128, { 0, 0, 0}}, // (170, 20)
+ {128, { 0, 0, 0}}, // (171, 20)
+ {128, { 0, 0, 0}}, // (172, 20)
+ {128, { 0, 0, 0}}, // (173, 20)
+ {128, { 0, 0, 0}}, // (174, 20)
+ {128, { 0, 0, 0}}, // (175, 20)
+ {128, { 0, 0, 0}}, // (176, 20)
+ {128, { 0, 0, 0}}, // (177, 20)
+ {128, { 0, 0, 0}}, // (178, 20)
+ {128, { 0, 0, 0}}, // (179, 20)
+ {128, { 0, 0, 0}}, // ( 0, 21)
+ {128, { 0, 0, 0}}, // ( 1, 21)
+ {128, { 0, 0, 0}}, // ( 2, 21)
+ {128, { 0, 0, 0}}, // ( 3, 21)
+ {128, { 0, 0, 0}}, // ( 4, 21)
+ {128, { 0, 0, 0}}, // ( 5, 21)
+ {128, { 0, 0, 0}}, // ( 6, 21)
+ {128, { 0, 0, 0}}, // ( 7, 21)
+ {128, { 0, 0, 0}}, // ( 8, 21)
+ {128, { 0, 0, 0}}, // ( 9, 21)
+ {128, { 0, 0, 0}}, // ( 10, 21)
+ {128, { 0, 0, 0}}, // ( 11, 21)
+ {128, { 0, 0, 0}}, // ( 12, 21)
+ {128, { 0, 0, 0}}, // ( 13, 21)
+ {128, { 0, 0, 0}}, // ( 14, 21)
+ {128, { 0, 0, 0}}, // ( 15, 21)
+ {128, { 0, 0, 0}}, // ( 16, 21)
+ {128, { 0, 0, 0}}, // ( 17, 21)
+ {128, { 0, 0, 0}}, // ( 18, 21)
+ {128, { 0, 0, 0}}, // ( 19, 21)
+ {128, { 0, 0, 0}}, // ( 20, 21)
+ {128, { 0, 0, 0}}, // ( 21, 21)
+ {128, { 0, 0, 0}}, // ( 22, 21)
+ {128, { 0, 0, 0}}, // ( 23, 21)
+ {128, { 0, 0, 0}}, // ( 24, 21)
+ {128, { 0, 0, 0}}, // ( 25, 21)
+ {128, { 0, 0, 0}}, // ( 26, 21)
+ {128, { 0, 0, 0}}, // ( 27, 21)
+ {128, { 0, 0, 0}}, // ( 28, 21)
+ {128, { 0, 0, 0}}, // ( 29, 21)
+ {128, { 0, 0, 0}}, // ( 30, 21)
+ {128, { 0, 0, 0}}, // ( 31, 21)
+ {128, { 0, 0, 0}}, // ( 32, 21)
+ {128, { 0, 0, 0}}, // ( 33, 21)
+ { 91, { 0, 0, 0}}, // ( 34, 21)
+ { 9, { 0, 0, 0}}, // ( 35, 21)
+ { 0, { 0, 0, 0}}, // ( 36, 21)
+ { 0, { 0, 0, 0}}, // ( 37, 21)
+ { 0, { 0, 0, 0}}, // ( 38, 21)
+ { 0, { 0, 0, 0}}, // ( 39, 21)
+ { 0, { 0, 0, 0}}, // ( 40, 21)
+ { 0, { 0, 0, 0}}, // ( 41, 21)
+ { 0, { 0, 0, 0}}, // ( 42, 21)
+ { 0, { 0, 0, 0}}, // ( 43, 21)
+ { 0, { 0, 0, 0}}, // ( 44, 21)
+ { 0, { 0, 0, 0}}, // ( 45, 21)
+ { 0, { 0, 0, 0}}, // ( 46, 21)
+ { 0, { 0, 0, 0}}, // ( 47, 21)
+ { 0, { 0, 0, 0}}, // ( 48, 21)
+ { 0, { 0, 0, 0}}, // ( 49, 21)
+ { 0, { 0, 0, 0}}, // ( 50, 21)
+ { 0, { 0, 0, 0}}, // ( 51, 21)
+ { 0, { 0, 0, 0}}, // ( 52, 21)
+ { 0, { 0, 0, 0}}, // ( 53, 21)
+ { 0, { 0, 0, 0}}, // ( 54, 21)
+ { 0, { 0, 0, 0}}, // ( 55, 21)
+ { 0, { 0, 0, 0}}, // ( 56, 21)
+ { 0, { 0, 0, 0}}, // ( 57, 21)
+ { 0, { 0, 0, 0}}, // ( 58, 21)
+ { 0, { 0, 0, 0}}, // ( 59, 21)
+ { 0, { 0, 0, 0}}, // ( 60, 21)
+ { 0, { 0, 0, 0}}, // ( 61, 21)
+ { 0, { 0, 0, 0}}, // ( 62, 21)
+ { 0, { 0, 0, 0}}, // ( 63, 21)
+ { 0, { 0, 0, 0}}, // ( 64, 21)
+ { 0, { 0, 0, 0}}, // ( 65, 21)
+ { 0, { 0, 0, 0}}, // ( 66, 21)
+ { 0, { 0, 0, 0}}, // ( 67, 21)
+ { 0, { 0, 0, 0}}, // ( 68, 21)
+ { 0, { 0, 0, 0}}, // ( 69, 21)
+ { 0, { 0, 0, 0}}, // ( 70, 21)
+ { 0, { 0, 0, 0}}, // ( 71, 21)
+ { 0, { 0, 0, 0}}, // ( 72, 21)
+ { 0, { 0, 0, 0}}, // ( 73, 21)
+ { 0, { 0, 0, 0}}, // ( 74, 21)
+ { 0, { 0, 0, 0}}, // ( 75, 21)
+ { 0, { 0, 0, 0}}, // ( 76, 21)
+ { 0, { 0, 0, 0}}, // ( 77, 21)
+ { 0, { 0, 0, 0}}, // ( 78, 21)
+ { 0, { 0, 0, 0}}, // ( 79, 21)
+ { 0, { 0, 0, 0}}, // ( 80, 21)
+ { 0, { 0, 0, 0}}, // ( 81, 21)
+ { 0, { 0, 0, 0}}, // ( 82, 21)
+ { 0, { 0, 0, 0}}, // ( 83, 21)
+ { 0, { 0, 0, 0}}, // ( 84, 21)
+ { 0, { 0, 0, 0}}, // ( 85, 21)
+ { 0, { 0, 0, 0}}, // ( 86, 21)
+ { 0, { 0, 0, 0}}, // ( 87, 21)
+ { 0, { 0, 0, 0}}, // ( 88, 21)
+ { 0, { 0, 0, 0}}, // ( 89, 21)
+ { 0, { 0, 0, 0}}, // ( 90, 21)
+ { 0, { 0, 0, 0}}, // ( 91, 21)
+ { 0, { 0, 0, 0}}, // ( 92, 21)
+ { 0, { 0, 0, 0}}, // ( 93, 21)
+ { 0, { 0, 0, 0}}, // ( 94, 21)
+ { 0, { 0, 0, 0}}, // ( 95, 21)
+ { 0, { 0, 0, 0}}, // ( 96, 21)
+ { 0, { 0, 0, 0}}, // ( 97, 21)
+ { 0, { 0, 0, 0}}, // ( 98, 21)
+ { 0, { 0, 0, 0}}, // ( 99, 21)
+ { 0, { 0, 0, 0}}, // (100, 21)
+ { 0, { 0, 0, 0}}, // (101, 21)
+ { 0, { 0, 0, 0}}, // (102, 21)
+ { 0, { 0, 0, 0}}, // (103, 21)
+ { 0, { 0, 0, 0}}, // (104, 21)
+ { 0, { 0, 0, 0}}, // (105, 21)
+ { 0, { 0, 0, 0}}, // (106, 21)
+ { 0, { 0, 0, 0}}, // (107, 21)
+ { 0, { 0, 0, 0}}, // (108, 21)
+ { 0, { 0, 0, 0}}, // (109, 21)
+ { 0, { 0, 0, 0}}, // (110, 21)
+ { 0, { 0, 0, 0}}, // (111, 21)
+ { 0, { 0, 0, 0}}, // (112, 21)
+ { 0, { 0, 0, 0}}, // (113, 21)
+ { 0, { 0, 0, 0}}, // (114, 21)
+ { 0, { 0, 0, 0}}, // (115, 21)
+ { 0, { 0, 0, 0}}, // (116, 21)
+ { 0, { 0, 0, 0}}, // (117, 21)
+ { 0, { 0, 0, 0}}, // (118, 21)
+ { 0, { 0, 0, 0}}, // (119, 21)
+ { 0, { 0, 0, 0}}, // (120, 21)
+ { 0, { 0, 0, 0}}, // (121, 21)
+ { 0, { 0, 0, 0}}, // (122, 21)
+ { 0, { 0, 0, 0}}, // (123, 21)
+ { 0, { 0, 0, 0}}, // (124, 21)
+ { 0, { 0, 0, 0}}, // (125, 21)
+ { 0, { 0, 0, 0}}, // (126, 21)
+ { 0, { 0, 0, 0}}, // (127, 21)
+ { 0, { 0, 0, 0}}, // (128, 21)
+ { 0, { 0, 0, 0}}, // (129, 21)
+ { 0, { 0, 0, 0}}, // (130, 21)
+ { 0, { 0, 0, 0}}, // (131, 21)
+ { 0, { 0, 0, 0}}, // (132, 21)
+ { 0, { 0, 0, 0}}, // (133, 21)
+ { 0, { 0, 0, 0}}, // (134, 21)
+ { 0, { 0, 0, 0}}, // (135, 21)
+ { 0, { 0, 0, 0}}, // (136, 21)
+ { 0, { 0, 0, 0}}, // (137, 21)
+ { 0, { 0, 0, 0}}, // (138, 21)
+ { 0, { 0, 0, 0}}, // (139, 21)
+ { 0, { 0, 0, 0}}, // (140, 21)
+ { 0, { 0, 0, 0}}, // (141, 21)
+ { 0, { 0, 0, 0}}, // (142, 21)
+ { 0, { 0, 0, 0}}, // (143, 21)
+ { 9, { 0, 0, 0}}, // (144, 21)
+ { 91, { 0, 0, 0}}, // (145, 21)
+ {128, { 0, 0, 0}}, // (146, 21)
+ {128, { 0, 0, 0}}, // (147, 21)
+ {128, { 0, 0, 0}}, // (148, 21)
+ {128, { 0, 0, 0}}, // (149, 21)
+ {128, { 0, 0, 0}}, // (150, 21)
+ {128, { 0, 0, 0}}, // (151, 21)
+ {128, { 0, 0, 0}}, // (152, 21)
+ {128, { 0, 0, 0}}, // (153, 21)
+ {128, { 0, 0, 0}}, // (154, 21)
+ {128, { 0, 0, 0}}, // (155, 21)
+ {128, { 0, 0, 0}}, // (156, 21)
+ {128, { 0, 0, 0}}, // (157, 21)
+ {128, { 0, 0, 0}}, // (158, 21)
+ {128, { 0, 0, 0}}, // (159, 21)
+ {128, { 0, 0, 0}}, // (160, 21)
+ {128, { 0, 0, 0}}, // (161, 21)
+ {128, { 0, 0, 0}}, // (162, 21)
+ {128, { 0, 0, 0}}, // (163, 21)
+ {128, { 0, 0, 0}}, // (164, 21)
+ {128, { 0, 0, 0}}, // (165, 21)
+ {128, { 0, 0, 0}}, // (166, 21)
+ {128, { 0, 0, 0}}, // (167, 21)
+ {128, { 0, 0, 0}}, // (168, 21)
+ {128, { 0, 0, 0}}, // (169, 21)
+ {128, { 0, 0, 0}}, // (170, 21)
+ {128, { 0, 0, 0}}, // (171, 21)
+ {128, { 0, 0, 0}}, // (172, 21)
+ {128, { 0, 0, 0}}, // (173, 21)
+ {128, { 0, 0, 0}}, // (174, 21)
+ {128, { 0, 0, 0}}, // (175, 21)
+ {128, { 0, 0, 0}}, // (176, 21)
+ {128, { 0, 0, 0}}, // (177, 21)
+ {128, { 0, 0, 0}}, // (178, 21)
+ {128, { 0, 0, 0}}, // (179, 21)
+ {128, { 0, 0, 0}}, // ( 0, 22)
+ {128, { 0, 0, 0}}, // ( 1, 22)
+ {128, { 0, 0, 0}}, // ( 2, 22)
+ {128, { 0, 0, 0}}, // ( 3, 22)
+ {128, { 0, 0, 0}}, // ( 4, 22)
+ {128, { 0, 0, 0}}, // ( 5, 22)
+ {128, { 0, 0, 0}}, // ( 6, 22)
+ {128, { 0, 0, 0}}, // ( 7, 22)
+ {128, { 0, 0, 0}}, // ( 8, 22)
+ {128, { 0, 0, 0}}, // ( 9, 22)
+ {128, { 0, 0, 0}}, // ( 10, 22)
+ {128, { 0, 0, 0}}, // ( 11, 22)
+ {128, { 0, 0, 0}}, // ( 12, 22)
+ {128, { 0, 0, 0}}, // ( 13, 22)
+ {128, { 0, 0, 0}}, // ( 14, 22)
+ {128, { 0, 0, 0}}, // ( 15, 22)
+ {128, { 0, 0, 0}}, // ( 16, 22)
+ {128, { 0, 0, 0}}, // ( 17, 22)
+ {128, { 0, 0, 0}}, // ( 18, 22)
+ {128, { 0, 0, 0}}, // ( 19, 22)
+ {128, { 0, 0, 0}}, // ( 20, 22)
+ {128, { 0, 0, 0}}, // ( 21, 22)
+ {128, { 0, 0, 0}}, // ( 22, 22)
+ {128, { 0, 0, 0}}, // ( 23, 22)
+ {128, { 0, 0, 0}}, // ( 24, 22)
+ {128, { 0, 0, 0}}, // ( 25, 22)
+ {128, { 0, 0, 0}}, // ( 26, 22)
+ {128, { 0, 0, 0}}, // ( 27, 22)
+ {128, { 0, 0, 0}}, // ( 28, 22)
+ {128, { 0, 0, 0}}, // ( 29, 22)
+ {128, { 0, 0, 0}}, // ( 30, 22)
+ {128, { 0, 0, 0}}, // ( 31, 22)
+ {128, { 0, 0, 0}}, // ( 32, 22)
+ { 69, { 0, 0, 0}}, // ( 33, 22)
+ { 1, { 0, 0, 0}}, // ( 34, 22)
+ { 0, { 0, 0, 0}}, // ( 35, 22)
+ { 0, { 0, 0, 0}}, // ( 36, 22)
+ { 0, { 0, 0, 0}}, // ( 37, 22)
+ { 0, { 0, 0, 0}}, // ( 38, 22)
+ { 0, { 0, 0, 0}}, // ( 39, 22)
+ { 0, { 0, 0, 0}}, // ( 40, 22)
+ { 0, { 0, 0, 0}}, // ( 41, 22)
+ { 0, { 0, 0, 0}}, // ( 42, 22)
+ { 0, { 0, 0, 0}}, // ( 43, 22)
+ { 0, { 0, 0, 0}}, // ( 44, 22)
+ { 0, { 0, 0, 0}}, // ( 45, 22)
+ { 0, { 0, 0, 0}}, // ( 46, 22)
+ { 0, { 0, 0, 0}}, // ( 47, 22)
+ { 0, { 0, 0, 0}}, // ( 48, 22)
+ { 0, { 0, 0, 0}}, // ( 49, 22)
+ { 0, { 0, 0, 0}}, // ( 50, 22)
+ { 0, { 0, 0, 0}}, // ( 51, 22)
+ { 0, { 0, 0, 0}}, // ( 52, 22)
+ { 0, { 0, 0, 0}}, // ( 53, 22)
+ { 0, { 0, 0, 0}}, // ( 54, 22)
+ { 0, { 0, 0, 0}}, // ( 55, 22)
+ { 0, { 0, 0, 0}}, // ( 56, 22)
+ { 0, { 0, 0, 0}}, // ( 57, 22)
+ { 0, { 0, 0, 0}}, // ( 58, 22)
+ { 0, { 0, 0, 0}}, // ( 59, 22)
+ { 0, { 0, 0, 0}}, // ( 60, 22)
+ { 0, { 0, 0, 0}}, // ( 61, 22)
+ { 0, { 0, 0, 0}}, // ( 62, 22)
+ { 0, { 0, 0, 0}}, // ( 63, 22)
+ { 0, { 0, 0, 0}}, // ( 64, 22)
+ { 0, { 0, 0, 0}}, // ( 65, 22)
+ { 0, { 0, 0, 0}}, // ( 66, 22)
+ { 0, { 0, 0, 0}}, // ( 67, 22)
+ { 0, { 0, 0, 0}}, // ( 68, 22)
+ { 0, { 0, 0, 0}}, // ( 69, 22)
+ { 0, { 0, 0, 0}}, // ( 70, 22)
+ { 0, { 0, 0, 0}}, // ( 71, 22)
+ { 0, { 0, 0, 0}}, // ( 72, 22)
+ { 0, { 0, 0, 0}}, // ( 73, 22)
+ { 0, { 0, 0, 0}}, // ( 74, 22)
+ { 0, { 0, 0, 0}}, // ( 75, 22)
+ { 0, { 0, 0, 0}}, // ( 76, 22)
+ { 0, { 0, 0, 0}}, // ( 77, 22)
+ { 0, { 0, 0, 0}}, // ( 78, 22)
+ { 0, { 0, 0, 0}}, // ( 79, 22)
+ { 0, { 0, 0, 0}}, // ( 80, 22)
+ { 0, { 0, 0, 0}}, // ( 81, 22)
+ { 0, { 0, 0, 0}}, // ( 82, 22)
+ { 0, { 0, 0, 0}}, // ( 83, 22)
+ { 0, { 0, 0, 0}}, // ( 84, 22)
+ { 0, { 0, 0, 0}}, // ( 85, 22)
+ { 0, { 0, 0, 0}}, // ( 86, 22)
+ { 0, { 0, 0, 0}}, // ( 87, 22)
+ { 0, { 0, 0, 0}}, // ( 88, 22)
+ { 0, { 0, 0, 0}}, // ( 89, 22)
+ { 0, { 0, 0, 0}}, // ( 90, 22)
+ { 0, { 0, 0, 0}}, // ( 91, 22)
+ { 0, { 0, 0, 0}}, // ( 92, 22)
+ { 0, { 0, 0, 0}}, // ( 93, 22)
+ { 0, { 0, 0, 0}}, // ( 94, 22)
+ { 0, { 0, 0, 0}}, // ( 95, 22)
+ { 0, { 0, 0, 0}}, // ( 96, 22)
+ { 0, { 0, 0, 0}}, // ( 97, 22)
+ { 0, { 0, 0, 0}}, // ( 98, 22)
+ { 0, { 0, 0, 0}}, // ( 99, 22)
+ { 0, { 0, 0, 0}}, // (100, 22)
+ { 0, { 0, 0, 0}}, // (101, 22)
+ { 0, { 0, 0, 0}}, // (102, 22)
+ { 0, { 0, 0, 0}}, // (103, 22)
+ { 0, { 0, 0, 0}}, // (104, 22)
+ { 0, { 0, 0, 0}}, // (105, 22)
+ { 0, { 0, 0, 0}}, // (106, 22)
+ { 0, { 0, 0, 0}}, // (107, 22)
+ { 0, { 0, 0, 0}}, // (108, 22)
+ { 0, { 0, 0, 0}}, // (109, 22)
+ { 0, { 0, 0, 0}}, // (110, 22)
+ { 0, { 0, 0, 0}}, // (111, 22)
+ { 0, { 0, 0, 0}}, // (112, 22)
+ { 0, { 0, 0, 0}}, // (113, 22)
+ { 0, { 0, 0, 0}}, // (114, 22)
+ { 0, { 0, 0, 0}}, // (115, 22)
+ { 0, { 0, 0, 0}}, // (116, 22)
+ { 0, { 0, 0, 0}}, // (117, 22)
+ { 0, { 0, 0, 0}}, // (118, 22)
+ { 0, { 0, 0, 0}}, // (119, 22)
+ { 0, { 0, 0, 0}}, // (120, 22)
+ { 0, { 0, 0, 0}}, // (121, 22)
+ { 0, { 0, 0, 0}}, // (122, 22)
+ { 0, { 0, 0, 0}}, // (123, 22)
+ { 0, { 0, 0, 0}}, // (124, 22)
+ { 0, { 0, 0, 0}}, // (125, 22)
+ { 0, { 0, 0, 0}}, // (126, 22)
+ { 0, { 0, 0, 0}}, // (127, 22)
+ { 0, { 0, 0, 0}}, // (128, 22)
+ { 0, { 0, 0, 0}}, // (129, 22)
+ { 0, { 0, 0, 0}}, // (130, 22)
+ { 0, { 0, 0, 0}}, // (131, 22)
+ { 0, { 0, 0, 0}}, // (132, 22)
+ { 0, { 0, 0, 0}}, // (133, 22)
+ { 0, { 0, 0, 0}}, // (134, 22)
+ { 0, { 0, 0, 0}}, // (135, 22)
+ { 0, { 0, 0, 0}}, // (136, 22)
+ { 0, { 0, 0, 0}}, // (137, 22)
+ { 0, { 0, 0, 0}}, // (138, 22)
+ { 0, { 0, 0, 0}}, // (139, 22)
+ { 0, { 0, 0, 0}}, // (140, 22)
+ { 0, { 0, 0, 0}}, // (141, 22)
+ { 0, { 0, 0, 0}}, // (142, 22)
+ { 0, { 0, 0, 0}}, // (143, 22)
+ { 0, { 0, 0, 0}}, // (144, 22)
+ { 1, { 0, 0, 0}}, // (145, 22)
+ { 69, { 0, 0, 0}}, // (146, 22)
+ {128, { 0, 0, 0}}, // (147, 22)
+ {128, { 0, 0, 0}}, // (148, 22)
+ {128, { 0, 0, 0}}, // (149, 22)
+ {128, { 0, 0, 0}}, // (150, 22)
+ {128, { 0, 0, 0}}, // (151, 22)
+ {128, { 0, 0, 0}}, // (152, 22)
+ {128, { 0, 0, 0}}, // (153, 22)
+ {128, { 0, 0, 0}}, // (154, 22)
+ {128, { 0, 0, 0}}, // (155, 22)
+ {128, { 0, 0, 0}}, // (156, 22)
+ {128, { 0, 0, 0}}, // (157, 22)
+ {128, { 0, 0, 0}}, // (158, 22)
+ {128, { 0, 0, 0}}, // (159, 22)
+ {128, { 0, 0, 0}}, // (160, 22)
+ {128, { 0, 0, 0}}, // (161, 22)
+ {128, { 0, 0, 0}}, // (162, 22)
+ {128, { 0, 0, 0}}, // (163, 22)
+ {128, { 0, 0, 0}}, // (164, 22)
+ {128, { 0, 0, 0}}, // (165, 22)
+ {128, { 0, 0, 0}}, // (166, 22)
+ {128, { 0, 0, 0}}, // (167, 22)
+ {128, { 0, 0, 0}}, // (168, 22)
+ {128, { 0, 0, 0}}, // (169, 22)
+ {128, { 0, 0, 0}}, // (170, 22)
+ {128, { 0, 0, 0}}, // (171, 22)
+ {128, { 0, 0, 0}}, // (172, 22)
+ {128, { 0, 0, 0}}, // (173, 22)
+ {128, { 0, 0, 0}}, // (174, 22)
+ {128, { 0, 0, 0}}, // (175, 22)
+ {128, { 0, 0, 0}}, // (176, 22)
+ {128, { 0, 0, 0}}, // (177, 22)
+ {128, { 0, 0, 0}}, // (178, 22)
+ {128, { 0, 0, 0}}, // (179, 22)
+ {128, { 0, 0, 0}}, // ( 0, 23)
+ {128, { 0, 0, 0}}, // ( 1, 23)
+ {128, { 0, 0, 0}}, // ( 2, 23)
+ {128, { 0, 0, 0}}, // ( 3, 23)
+ {128, { 0, 0, 0}}, // ( 4, 23)
+ {128, { 0, 0, 0}}, // ( 5, 23)
+ {128, { 0, 0, 0}}, // ( 6, 23)
+ {128, { 0, 0, 0}}, // ( 7, 23)
+ {128, { 0, 0, 0}}, // ( 8, 23)
+ {128, { 0, 0, 0}}, // ( 9, 23)
+ {128, { 0, 0, 0}}, // ( 10, 23)
+ {128, { 0, 0, 0}}, // ( 11, 23)
+ {128, { 0, 0, 0}}, // ( 12, 23)
+ {128, { 0, 0, 0}}, // ( 13, 23)
+ {128, { 0, 0, 0}}, // ( 14, 23)
+ {128, { 0, 0, 0}}, // ( 15, 23)
+ {128, { 0, 0, 0}}, // ( 16, 23)
+ {128, { 0, 0, 0}}, // ( 17, 23)
+ {128, { 0, 0, 0}}, // ( 18, 23)
+ {128, { 0, 0, 0}}, // ( 19, 23)
+ {128, { 0, 0, 0}}, // ( 20, 23)
+ {128, { 0, 0, 0}}, // ( 21, 23)
+ {128, { 0, 0, 0}}, // ( 22, 23)
+ {128, { 0, 0, 0}}, // ( 23, 23)
+ {128, { 0, 0, 0}}, // ( 24, 23)
+ {128, { 0, 0, 0}}, // ( 25, 23)
+ {128, { 0, 0, 0}}, // ( 26, 23)
+ {128, { 0, 0, 0}}, // ( 27, 23)
+ {128, { 0, 0, 0}}, // ( 28, 23)
+ {128, { 0, 0, 0}}, // ( 29, 23)
+ {128, { 0, 0, 0}}, // ( 30, 23)
+ {126, { 0, 0, 0}}, // ( 31, 23)
+ { 50, { 0, 0, 0}}, // ( 32, 23)
+ { 0, { 0, 0, 0}}, // ( 33, 23)
+ { 0, { 0, 0, 0}}, // ( 34, 23)
+ { 0, { 0, 0, 0}}, // ( 35, 23)
+ { 0, { 0, 0, 0}}, // ( 36, 23)
+ { 0, { 0, 0, 0}}, // ( 37, 23)
+ { 0, { 0, 0, 0}}, // ( 38, 23)
+ { 0, { 0, 0, 0}}, // ( 39, 23)
+ { 0, { 0, 0, 0}}, // ( 40, 23)
+ { 0, { 0, 0, 0}}, // ( 41, 23)
+ { 0, { 0, 0, 0}}, // ( 42, 23)
+ { 0, { 0, 0, 0}}, // ( 43, 23)
+ { 0, { 0, 0, 0}}, // ( 44, 23)
+ { 0, { 0, 0, 0}}, // ( 45, 23)
+ { 0, { 0, 0, 0}}, // ( 46, 23)
+ { 0, { 0, 0, 0}}, // ( 47, 23)
+ { 0, { 0, 0, 0}}, // ( 48, 23)
+ { 0, { 0, 0, 0}}, // ( 49, 23)
+ { 0, { 0, 0, 0}}, // ( 50, 23)
+ { 0, { 0, 0, 0}}, // ( 51, 23)
+ { 0, { 0, 0, 0}}, // ( 52, 23)
+ { 0, { 0, 0, 0}}, // ( 53, 23)
+ { 0, { 0, 0, 0}}, // ( 54, 23)
+ { 0, { 0, 0, 0}}, // ( 55, 23)
+ { 0, { 0, 0, 0}}, // ( 56, 23)
+ { 0, { 0, 0, 0}}, // ( 57, 23)
+ { 0, { 0, 0, 0}}, // ( 58, 23)
+ { 0, { 0, 0, 0}}, // ( 59, 23)
+ { 0, { 0, 0, 0}}, // ( 60, 23)
+ { 0, { 0, 0, 0}}, // ( 61, 23)
+ { 0, { 0, 0, 0}}, // ( 62, 23)
+ { 0, { 0, 0, 0}}, // ( 63, 23)
+ { 0, { 0, 0, 0}}, // ( 64, 23)
+ { 0, { 0, 0, 0}}, // ( 65, 23)
+ { 0, { 0, 0, 0}}, // ( 66, 23)
+ { 0, { 0, 0, 0}}, // ( 67, 23)
+ { 0, { 0, 0, 0}}, // ( 68, 23)
+ { 0, { 0, 0, 0}}, // ( 69, 23)
+ { 0, { 0, 0, 0}}, // ( 70, 23)
+ { 0, { 0, 0, 0}}, // ( 71, 23)
+ { 0, { 0, 0, 0}}, // ( 72, 23)
+ { 0, { 0, 0, 0}}, // ( 73, 23)
+ { 0, { 0, 0, 0}}, // ( 74, 23)
+ { 0, { 0, 0, 0}}, // ( 75, 23)
+ { 0, { 0, 0, 0}}, // ( 76, 23)
+ { 0, { 0, 0, 0}}, // ( 77, 23)
+ { 0, { 0, 0, 0}}, // ( 78, 23)
+ { 0, { 0, 0, 0}}, // ( 79, 23)
+ { 0, { 0, 0, 0}}, // ( 80, 23)
+ { 0, { 0, 0, 0}}, // ( 81, 23)
+ { 0, { 0, 0, 0}}, // ( 82, 23)
+ { 0, { 0, 0, 0}}, // ( 83, 23)
+ { 0, { 0, 0, 0}}, // ( 84, 23)
+ { 0, { 0, 0, 0}}, // ( 85, 23)
+ { 0, { 0, 0, 0}}, // ( 86, 23)
+ { 0, { 0, 0, 0}}, // ( 87, 23)
+ { 0, { 0, 0, 0}}, // ( 88, 23)
+ { 0, { 0, 0, 0}}, // ( 89, 23)
+ { 0, { 0, 0, 0}}, // ( 90, 23)
+ { 0, { 0, 0, 0}}, // ( 91, 23)
+ { 0, { 0, 0, 0}}, // ( 92, 23)
+ { 0, { 0, 0, 0}}, // ( 93, 23)
+ { 0, { 0, 0, 0}}, // ( 94, 23)
+ { 0, { 0, 0, 0}}, // ( 95, 23)
+ { 0, { 0, 0, 0}}, // ( 96, 23)
+ { 0, { 0, 0, 0}}, // ( 97, 23)
+ { 0, { 0, 0, 0}}, // ( 98, 23)
+ { 0, { 0, 0, 0}}, // ( 99, 23)
+ { 0, { 0, 0, 0}}, // (100, 23)
+ { 0, { 0, 0, 0}}, // (101, 23)
+ { 0, { 0, 0, 0}}, // (102, 23)
+ { 0, { 0, 0, 0}}, // (103, 23)
+ { 0, { 0, 0, 0}}, // (104, 23)
+ { 0, { 0, 0, 0}}, // (105, 23)
+ { 0, { 0, 0, 0}}, // (106, 23)
+ { 0, { 0, 0, 0}}, // (107, 23)
+ { 0, { 0, 0, 0}}, // (108, 23)
+ { 0, { 0, 0, 0}}, // (109, 23)
+ { 0, { 0, 0, 0}}, // (110, 23)
+ { 0, { 0, 0, 0}}, // (111, 23)
+ { 0, { 0, 0, 0}}, // (112, 23)
+ { 0, { 0, 0, 0}}, // (113, 23)
+ { 0, { 0, 0, 0}}, // (114, 23)
+ { 0, { 0, 0, 0}}, // (115, 23)
+ { 0, { 0, 0, 0}}, // (116, 23)
+ { 0, { 0, 0, 0}}, // (117, 23)
+ { 0, { 0, 0, 0}}, // (118, 23)
+ { 0, { 0, 0, 0}}, // (119, 23)
+ { 0, { 0, 0, 0}}, // (120, 23)
+ { 0, { 0, 0, 0}}, // (121, 23)
+ { 0, { 0, 0, 0}}, // (122, 23)
+ { 0, { 0, 0, 0}}, // (123, 23)
+ { 0, { 0, 0, 0}}, // (124, 23)
+ { 0, { 0, 0, 0}}, // (125, 23)
+ { 0, { 0, 0, 0}}, // (126, 23)
+ { 0, { 0, 0, 0}}, // (127, 23)
+ { 0, { 0, 0, 0}}, // (128, 23)
+ { 0, { 0, 0, 0}}, // (129, 23)
+ { 0, { 0, 0, 0}}, // (130, 23)
+ { 0, { 0, 0, 0}}, // (131, 23)
+ { 0, { 0, 0, 0}}, // (132, 23)
+ { 0, { 0, 0, 0}}, // (133, 23)
+ { 0, { 0, 0, 0}}, // (134, 23)
+ { 0, { 0, 0, 0}}, // (135, 23)
+ { 0, { 0, 0, 0}}, // (136, 23)
+ { 0, { 0, 0, 0}}, // (137, 23)
+ { 0, { 0, 0, 0}}, // (138, 23)
+ { 0, { 0, 0, 0}}, // (139, 23)
+ { 0, { 0, 0, 0}}, // (140, 23)
+ { 0, { 0, 0, 0}}, // (141, 23)
+ { 0, { 0, 0, 0}}, // (142, 23)
+ { 0, { 0, 0, 0}}, // (143, 23)
+ { 0, { 0, 0, 0}}, // (144, 23)
+ { 0, { 0, 0, 0}}, // (145, 23)
+ { 0, { 0, 0, 0}}, // (146, 23)
+ { 49, { 0, 0, 0}}, // (147, 23)
+ {126, { 0, 0, 0}}, // (148, 23)
+ {128, { 0, 0, 0}}, // (149, 23)
+ {128, { 0, 0, 0}}, // (150, 23)
+ {128, { 0, 0, 0}}, // (151, 23)
+ {128, { 0, 0, 0}}, // (152, 23)
+ {128, { 0, 0, 0}}, // (153, 23)
+ {128, { 0, 0, 0}}, // (154, 23)
+ {128, { 0, 0, 0}}, // (155, 23)
+ {128, { 0, 0, 0}}, // (156, 23)
+ {128, { 0, 0, 0}}, // (157, 23)
+ {128, { 0, 0, 0}}, // (158, 23)
+ {128, { 0, 0, 0}}, // (159, 23)
+ {128, { 0, 0, 0}}, // (160, 23)
+ {128, { 0, 0, 0}}, // (161, 23)
+ {128, { 0, 0, 0}}, // (162, 23)
+ {128, { 0, 0, 0}}, // (163, 23)
+ {128, { 0, 0, 0}}, // (164, 23)
+ {128, { 0, 0, 0}}, // (165, 23)
+ {128, { 0, 0, 0}}, // (166, 23)
+ {128, { 0, 0, 0}}, // (167, 23)
+ {128, { 0, 0, 0}}, // (168, 23)
+ {128, { 0, 0, 0}}, // (169, 23)
+ {128, { 0, 0, 0}}, // (170, 23)
+ {128, { 0, 0, 0}}, // (171, 23)
+ {128, { 0, 0, 0}}, // (172, 23)
+ {128, { 0, 0, 0}}, // (173, 23)
+ {128, { 0, 0, 0}}, // (174, 23)
+ {128, { 0, 0, 0}}, // (175, 23)
+ {128, { 0, 0, 0}}, // (176, 23)
+ {128, { 0, 0, 0}}, // (177, 23)
+ {128, { 0, 0, 0}}, // (178, 23)
+ {128, { 0, 0, 0}}, // (179, 23)
+ {128, { 0, 0, 0}}, // ( 0, 24)
+ {128, { 0, 0, 0}}, // ( 1, 24)
+ {128, { 0, 0, 0}}, // ( 2, 24)
+ {128, { 0, 0, 0}}, // ( 3, 24)
+ {128, { 0, 0, 0}}, // ( 4, 24)
+ {128, { 0, 0, 0}}, // ( 5, 24)
+ {128, { 0, 0, 0}}, // ( 6, 24)
+ {128, { 0, 0, 0}}, // ( 7, 24)
+ {128, { 0, 0, 0}}, // ( 8, 24)
+ {128, { 0, 0, 0}}, // ( 9, 24)
+ {128, { 0, 0, 0}}, // ( 10, 24)
+ {128, { 0, 0, 0}}, // ( 11, 24)
+ {128, { 0, 0, 0}}, // ( 12, 24)
+ {128, { 0, 0, 0}}, // ( 13, 24)
+ {128, { 0, 0, 0}}, // ( 14, 24)
+ {128, { 0, 0, 0}}, // ( 15, 24)
+ {128, { 0, 0, 0}}, // ( 16, 24)
+ {128, { 0, 0, 0}}, // ( 17, 24)
+ {128, { 0, 0, 0}}, // ( 18, 24)
+ {128, { 0, 0, 0}}, // ( 19, 24)
+ {128, { 0, 0, 0}}, // ( 20, 24)
+ {128, { 0, 0, 0}}, // ( 21, 24)
+ {128, { 0, 0, 0}}, // ( 22, 24)
+ {128, { 0, 0, 0}}, // ( 23, 24)
+ {128, { 0, 0, 0}}, // ( 24, 24)
+ {128, { 0, 0, 0}}, // ( 25, 24)
+ {128, { 0, 0, 0}}, // ( 26, 24)
+ {128, { 0, 0, 0}}, // ( 27, 24)
+ {128, { 0, 0, 0}}, // ( 28, 24)
+ {128, { 0, 0, 0}}, // ( 29, 24)
+ {122, { 0, 0, 0}}, // ( 30, 24)
+ { 37, { 0, 0, 0}}, // ( 31, 24)
+ { 0, { 0, 0, 0}}, // ( 32, 24)
+ { 0, { 0, 0, 0}}, // ( 33, 24)
+ { 0, { 0, 0, 0}}, // ( 34, 24)
+ { 0, { 0, 0, 0}}, // ( 35, 24)
+ { 0, { 0, 0, 0}}, // ( 36, 24)
+ { 0, { 0, 0, 0}}, // ( 37, 24)
+ { 0, { 0, 0, 0}}, // ( 38, 24)
+ { 0, { 0, 0, 0}}, // ( 39, 24)
+ { 0, { 0, 0, 0}}, // ( 40, 24)
+ { 0, { 0, 0, 0}}, // ( 41, 24)
+ { 0, { 0, 0, 0}}, // ( 42, 24)
+ { 0, { 0, 0, 0}}, // ( 43, 24)
+ { 0, { 0, 0, 0}}, // ( 44, 24)
+ { 0, { 0, 0, 0}}, // ( 45, 24)
+ { 0, { 0, 0, 0}}, // ( 46, 24)
+ { 0, { 0, 0, 0}}, // ( 47, 24)
+ { 0, { 0, 0, 0}}, // ( 48, 24)
+ { 0, { 0, 0, 0}}, // ( 49, 24)
+ { 0, { 0, 0, 0}}, // ( 50, 24)
+ { 0, { 0, 0, 0}}, // ( 51, 24)
+ { 0, { 0, 0, 0}}, // ( 52, 24)
+ { 0, { 0, 0, 0}}, // ( 53, 24)
+ { 0, { 0, 0, 0}}, // ( 54, 24)
+ { 0, { 0, 0, 0}}, // ( 55, 24)
+ { 0, { 0, 0, 0}}, // ( 56, 24)
+ { 0, { 0, 0, 0}}, // ( 57, 24)
+ { 0, { 0, 0, 0}}, // ( 58, 24)
+ { 0, { 0, 0, 0}}, // ( 59, 24)
+ { 0, { 0, 0, 0}}, // ( 60, 24)
+ { 0, { 0, 0, 0}}, // ( 61, 24)
+ { 0, { 0, 0, 0}}, // ( 62, 24)
+ { 0, { 0, 0, 0}}, // ( 63, 24)
+ { 0, { 0, 0, 0}}, // ( 64, 24)
+ { 0, { 0, 0, 0}}, // ( 65, 24)
+ { 0, { 0, 0, 0}}, // ( 66, 24)
+ { 0, { 0, 0, 0}}, // ( 67, 24)
+ { 0, { 0, 0, 0}}, // ( 68, 24)
+ { 0, { 0, 0, 0}}, // ( 69, 24)
+ { 0, { 0, 0, 0}}, // ( 70, 24)
+ { 0, { 0, 0, 0}}, // ( 71, 24)
+ { 0, { 0, 0, 0}}, // ( 72, 24)
+ { 0, { 0, 0, 0}}, // ( 73, 24)
+ { 0, { 0, 0, 0}}, // ( 74, 24)
+ { 0, { 0, 0, 0}}, // ( 75, 24)
+ { 0, { 0, 0, 0}}, // ( 76, 24)
+ { 0, { 0, 0, 0}}, // ( 77, 24)
+ { 0, { 0, 0, 0}}, // ( 78, 24)
+ { 0, { 0, 0, 0}}, // ( 79, 24)
+ { 0, { 0, 0, 0}}, // ( 80, 24)
+ { 0, { 0, 0, 0}}, // ( 81, 24)
+ { 0, { 0, 0, 0}}, // ( 82, 24)
+ { 0, { 0, 0, 0}}, // ( 83, 24)
+ { 0, { 0, 0, 0}}, // ( 84, 24)
+ { 0, { 0, 0, 0}}, // ( 85, 24)
+ { 0, { 0, 0, 0}}, // ( 86, 24)
+ { 0, { 0, 0, 0}}, // ( 87, 24)
+ { 0, { 0, 0, 0}}, // ( 88, 24)
+ { 0, { 0, 0, 0}}, // ( 89, 24)
+ { 0, { 0, 0, 0}}, // ( 90, 24)
+ { 0, { 0, 0, 0}}, // ( 91, 24)
+ { 0, { 0, 0, 0}}, // ( 92, 24)
+ { 0, { 0, 0, 0}}, // ( 93, 24)
+ { 0, { 0, 0, 0}}, // ( 94, 24)
+ { 0, { 0, 0, 0}}, // ( 95, 24)
+ { 0, { 0, 0, 0}}, // ( 96, 24)
+ { 0, { 0, 0, 0}}, // ( 97, 24)
+ { 0, { 0, 0, 0}}, // ( 98, 24)
+ { 0, { 0, 0, 0}}, // ( 99, 24)
+ { 0, { 0, 0, 0}}, // (100, 24)
+ { 0, { 0, 0, 0}}, // (101, 24)
+ { 0, { 0, 0, 0}}, // (102, 24)
+ { 0, { 0, 0, 0}}, // (103, 24)
+ { 0, { 0, 0, 0}}, // (104, 24)
+ { 0, { 0, 0, 0}}, // (105, 24)
+ { 0, { 0, 0, 0}}, // (106, 24)
+ { 0, { 0, 0, 0}}, // (107, 24)
+ { 0, { 0, 0, 0}}, // (108, 24)
+ { 0, { 0, 0, 0}}, // (109, 24)
+ { 0, { 0, 0, 0}}, // (110, 24)
+ { 0, { 0, 0, 0}}, // (111, 24)
+ { 0, { 0, 0, 0}}, // (112, 24)
+ { 0, { 0, 0, 0}}, // (113, 24)
+ { 0, { 0, 0, 0}}, // (114, 24)
+ { 0, { 0, 0, 0}}, // (115, 24)
+ { 0, { 0, 0, 0}}, // (116, 24)
+ { 0, { 0, 0, 0}}, // (117, 24)
+ { 0, { 0, 0, 0}}, // (118, 24)
+ { 0, { 0, 0, 0}}, // (119, 24)
+ { 0, { 0, 0, 0}}, // (120, 24)
+ { 0, { 0, 0, 0}}, // (121, 24)
+ { 0, { 0, 0, 0}}, // (122, 24)
+ { 0, { 0, 0, 0}}, // (123, 24)
+ { 0, { 0, 0, 0}}, // (124, 24)
+ { 0, { 0, 0, 0}}, // (125, 24)
+ { 0, { 0, 0, 0}}, // (126, 24)
+ { 0, { 0, 0, 0}}, // (127, 24)
+ { 0, { 0, 0, 0}}, // (128, 24)
+ { 0, { 0, 0, 0}}, // (129, 24)
+ { 0, { 0, 0, 0}}, // (130, 24)
+ { 0, { 0, 0, 0}}, // (131, 24)
+ { 0, { 0, 0, 0}}, // (132, 24)
+ { 0, { 0, 0, 0}}, // (133, 24)
+ { 0, { 0, 0, 0}}, // (134, 24)
+ { 0, { 0, 0, 0}}, // (135, 24)
+ { 0, { 0, 0, 0}}, // (136, 24)
+ { 0, { 0, 0, 0}}, // (137, 24)
+ { 0, { 0, 0, 0}}, // (138, 24)
+ { 0, { 0, 0, 0}}, // (139, 24)
+ { 0, { 0, 0, 0}}, // (140, 24)
+ { 0, { 0, 0, 0}}, // (141, 24)
+ { 0, { 0, 0, 0}}, // (142, 24)
+ { 0, { 0, 0, 0}}, // (143, 24)
+ { 0, { 0, 0, 0}}, // (144, 24)
+ { 0, { 0, 0, 0}}, // (145, 24)
+ { 0, { 0, 0, 0}}, // (146, 24)
+ { 0, { 0, 0, 0}}, // (147, 24)
+ { 37, { 0, 0, 0}}, // (148, 24)
+ {122, { 0, 0, 0}}, // (149, 24)
+ {128, { 0, 0, 0}}, // (150, 24)
+ {128, { 0, 0, 0}}, // (151, 24)
+ {128, { 0, 0, 0}}, // (152, 24)
+ {128, { 0, 0, 0}}, // (153, 24)
+ {128, { 0, 0, 0}}, // (154, 24)
+ {128, { 0, 0, 0}}, // (155, 24)
+ {128, { 0, 0, 0}}, // (156, 24)
+ {128, { 0, 0, 0}}, // (157, 24)
+ {128, { 0, 0, 0}}, // (158, 24)
+ {128, { 0, 0, 0}}, // (159, 24)
+ {128, { 0, 0, 0}}, // (160, 24)
+ {128, { 0, 0, 0}}, // (161, 24)
+ {128, { 0, 0, 0}}, // (162, 24)
+ {128, { 0, 0, 0}}, // (163, 24)
+ {128, { 0, 0, 0}}, // (164, 24)
+ {128, { 0, 0, 0}}, // (165, 24)
+ {128, { 0, 0, 0}}, // (166, 24)
+ {128, { 0, 0, 0}}, // (167, 24)
+ {128, { 0, 0, 0}}, // (168, 24)
+ {128, { 0, 0, 0}}, // (169, 24)
+ {128, { 0, 0, 0}}, // (170, 24)
+ {128, { 0, 0, 0}}, // (171, 24)
+ {128, { 0, 0, 0}}, // (172, 24)
+ {128, { 0, 0, 0}}, // (173, 24)
+ {128, { 0, 0, 0}}, // (174, 24)
+ {128, { 0, 0, 0}}, // (175, 24)
+ {128, { 0, 0, 0}}, // (176, 24)
+ {128, { 0, 0, 0}}, // (177, 24)
+ {128, { 0, 0, 0}}, // (178, 24)
+ {128, { 0, 0, 0}}, // (179, 24)
+ {128, { 0, 0, 0}}, // ( 0, 25)
+ {128, { 0, 0, 0}}, // ( 1, 25)
+ {128, { 0, 0, 0}}, // ( 2, 25)
+ {128, { 0, 0, 0}}, // ( 3, 25)
+ {128, { 0, 0, 0}}, // ( 4, 25)
+ {128, { 0, 0, 0}}, // ( 5, 25)
+ {128, { 0, 0, 0}}, // ( 6, 25)
+ {128, { 0, 0, 0}}, // ( 7, 25)
+ {128, { 0, 0, 0}}, // ( 8, 25)
+ {128, { 0, 0, 0}}, // ( 9, 25)
+ {128, { 0, 0, 0}}, // ( 10, 25)
+ {128, { 0, 0, 0}}, // ( 11, 25)
+ {128, { 0, 0, 0}}, // ( 12, 25)
+ {128, { 0, 0, 0}}, // ( 13, 25)
+ {128, { 0, 0, 0}}, // ( 14, 25)
+ {128, { 0, 0, 0}}, // ( 15, 25)
+ {128, { 0, 0, 0}}, // ( 16, 25)
+ {128, { 0, 0, 0}}, // ( 17, 25)
+ {128, { 0, 0, 0}}, // ( 18, 25)
+ {128, { 0, 0, 0}}, // ( 19, 25)
+ {128, { 0, 0, 0}}, // ( 20, 25)
+ {128, { 0, 0, 0}}, // ( 21, 25)
+ {128, { 0, 0, 0}}, // ( 22, 25)
+ {128, { 0, 0, 0}}, // ( 23, 25)
+ {128, { 0, 0, 0}}, // ( 24, 25)
+ {128, { 0, 0, 0}}, // ( 25, 25)
+ {128, { 0, 0, 0}}, // ( 26, 25)
+ {128, { 0, 0, 0}}, // ( 27, 25)
+ {128, { 0, 0, 0}}, // ( 28, 25)
+ {120, { 0, 0, 0}}, // ( 29, 25)
+ { 29, { 0, 0, 0}}, // ( 30, 25)
+ { 0, { 0, 0, 0}}, // ( 31, 25)
+ { 0, { 0, 0, 0}}, // ( 32, 25)
+ { 0, { 0, 0, 0}}, // ( 33, 25)
+ { 0, { 0, 0, 0}}, // ( 34, 25)
+ { 0, { 0, 0, 0}}, // ( 35, 25)
+ { 0, { 0, 0, 0}}, // ( 36, 25)
+ { 0, { 0, 0, 0}}, // ( 37, 25)
+ { 0, { 0, 0, 0}}, // ( 38, 25)
+ { 0, { 0, 0, 0}}, // ( 39, 25)
+ { 0, { 0, 0, 0}}, // ( 40, 25)
+ { 0, { 0, 0, 0}}, // ( 41, 25)
+ { 0, { 0, 0, 0}}, // ( 42, 25)
+ { 0, { 0, 0, 0}}, // ( 43, 25)
+ { 0, { 0, 0, 0}}, // ( 44, 25)
+ { 0, { 0, 0, 0}}, // ( 45, 25)
+ { 0, { 0, 0, 0}}, // ( 46, 25)
+ { 0, { 0, 0, 0}}, // ( 47, 25)
+ { 0, { 0, 0, 0}}, // ( 48, 25)
+ { 0, { 0, 0, 0}}, // ( 49, 25)
+ { 0, { 0, 0, 0}}, // ( 50, 25)
+ { 0, { 0, 0, 0}}, // ( 51, 25)
+ { 0, { 0, 0, 0}}, // ( 52, 25)
+ { 0, { 0, 0, 0}}, // ( 53, 25)
+ { 0, { 0, 0, 0}}, // ( 54, 25)
+ { 0, { 0, 0, 0}}, // ( 55, 25)
+ { 0, { 0, 0, 0}}, // ( 56, 25)
+ { 0, { 0, 0, 0}}, // ( 57, 25)
+ { 0, { 0, 0, 0}}, // ( 58, 25)
+ { 0, { 0, 0, 0}}, // ( 59, 25)
+ { 0, { 0, 0, 0}}, // ( 60, 25)
+ { 0, { 0, 0, 0}}, // ( 61, 25)
+ { 0, { 0, 0, 0}}, // ( 62, 25)
+ { 0, { 0, 0, 0}}, // ( 63, 25)
+ { 0, { 0, 0, 0}}, // ( 64, 25)
+ { 0, { 0, 0, 0}}, // ( 65, 25)
+ { 0, { 0, 0, 0}}, // ( 66, 25)
+ { 0, { 0, 0, 0}}, // ( 67, 25)
+ { 0, { 0, 0, 0}}, // ( 68, 25)
+ { 0, { 0, 0, 0}}, // ( 69, 25)
+ { 0, { 0, 0, 0}}, // ( 70, 25)
+ { 0, { 0, 0, 0}}, // ( 71, 25)
+ { 0, { 0, 0, 0}}, // ( 72, 25)
+ { 0, { 0, 0, 0}}, // ( 73, 25)
+ { 0, { 0, 0, 0}}, // ( 74, 25)
+ { 0, { 0, 0, 0}}, // ( 75, 25)
+ { 0, { 0, 0, 0}}, // ( 76, 25)
+ { 0, { 0, 0, 0}}, // ( 77, 25)
+ { 0, { 0, 0, 0}}, // ( 78, 25)
+ { 0, { 0, 0, 0}}, // ( 79, 25)
+ { 0, { 0, 0, 0}}, // ( 80, 25)
+ { 0, { 0, 0, 0}}, // ( 81, 25)
+ { 0, { 0, 0, 0}}, // ( 82, 25)
+ { 0, { 0, 0, 0}}, // ( 83, 25)
+ { 0, { 0, 0, 0}}, // ( 84, 25)
+ { 0, { 0, 0, 0}}, // ( 85, 25)
+ { 0, { 0, 0, 0}}, // ( 86, 25)
+ { 0, { 0, 0, 0}}, // ( 87, 25)
+ { 0, { 0, 0, 0}}, // ( 88, 25)
+ { 0, { 0, 0, 0}}, // ( 89, 25)
+ { 0, { 0, 0, 0}}, // ( 90, 25)
+ { 0, { 0, 0, 0}}, // ( 91, 25)
+ { 0, { 0, 0, 0}}, // ( 92, 25)
+ { 0, { 0, 0, 0}}, // ( 93, 25)
+ { 0, { 0, 0, 0}}, // ( 94, 25)
+ { 0, { 0, 0, 0}}, // ( 95, 25)
+ { 0, { 0, 0, 0}}, // ( 96, 25)
+ { 0, { 0, 0, 0}}, // ( 97, 25)
+ { 0, { 0, 0, 0}}, // ( 98, 25)
+ { 0, { 0, 0, 0}}, // ( 99, 25)
+ { 0, { 0, 0, 0}}, // (100, 25)
+ { 0, { 0, 0, 0}}, // (101, 25)
+ { 0, { 0, 0, 0}}, // (102, 25)
+ { 0, { 0, 0, 0}}, // (103, 25)
+ { 0, { 0, 0, 0}}, // (104, 25)
+ { 0, { 0, 0, 0}}, // (105, 25)
+ { 0, { 0, 0, 0}}, // (106, 25)
+ { 0, { 0, 0, 0}}, // (107, 25)
+ { 0, { 0, 0, 0}}, // (108, 25)
+ { 0, { 0, 0, 0}}, // (109, 25)
+ { 0, { 0, 0, 0}}, // (110, 25)
+ { 0, { 0, 0, 0}}, // (111, 25)
+ { 0, { 0, 0, 0}}, // (112, 25)
+ { 0, { 0, 0, 0}}, // (113, 25)
+ { 0, { 0, 0, 0}}, // (114, 25)
+ { 0, { 0, 0, 0}}, // (115, 25)
+ { 0, { 0, 0, 0}}, // (116, 25)
+ { 0, { 0, 0, 0}}, // (117, 25)
+ { 0, { 0, 0, 0}}, // (118, 25)
+ { 0, { 0, 0, 0}}, // (119, 25)
+ { 0, { 0, 0, 0}}, // (120, 25)
+ { 0, { 0, 0, 0}}, // (121, 25)
+ { 0, { 0, 0, 0}}, // (122, 25)
+ { 0, { 0, 0, 0}}, // (123, 25)
+ { 0, { 0, 0, 0}}, // (124, 25)
+ { 0, { 0, 0, 0}}, // (125, 25)
+ { 0, { 0, 0, 0}}, // (126, 25)
+ { 0, { 0, 0, 0}}, // (127, 25)
+ { 0, { 0, 0, 0}}, // (128, 25)
+ { 0, { 0, 0, 0}}, // (129, 25)
+ { 0, { 0, 0, 0}}, // (130, 25)
+ { 0, { 0, 0, 0}}, // (131, 25)
+ { 0, { 0, 0, 0}}, // (132, 25)
+ { 0, { 0, 0, 0}}, // (133, 25)
+ { 0, { 0, 0, 0}}, // (134, 25)
+ { 0, { 0, 0, 0}}, // (135, 25)
+ { 0, { 0, 0, 0}}, // (136, 25)
+ { 0, { 0, 0, 0}}, // (137, 25)
+ { 0, { 0, 0, 0}}, // (138, 25)
+ { 0, { 0, 0, 0}}, // (139, 25)
+ { 0, { 0, 0, 0}}, // (140, 25)
+ { 0, { 0, 0, 0}}, // (141, 25)
+ { 0, { 0, 0, 0}}, // (142, 25)
+ { 0, { 0, 0, 0}}, // (143, 25)
+ { 0, { 0, 0, 0}}, // (144, 25)
+ { 0, { 0, 0, 0}}, // (145, 25)
+ { 0, { 0, 0, 0}}, // (146, 25)
+ { 0, { 0, 0, 0}}, // (147, 25)
+ { 0, { 0, 0, 0}}, // (148, 25)
+ { 29, { 0, 0, 0}}, // (149, 25)
+ {120, { 0, 0, 0}}, // (150, 25)
+ {128, { 0, 0, 0}}, // (151, 25)
+ {128, { 0, 0, 0}}, // (152, 25)
+ {128, { 0, 0, 0}}, // (153, 25)
+ {128, { 0, 0, 0}}, // (154, 25)
+ {128, { 0, 0, 0}}, // (155, 25)
+ {128, { 0, 0, 0}}, // (156, 25)
+ {128, { 0, 0, 0}}, // (157, 25)
+ {128, { 0, 0, 0}}, // (158, 25)
+ {128, { 0, 0, 0}}, // (159, 25)
+ {128, { 0, 0, 0}}, // (160, 25)
+ {128, { 0, 0, 0}}, // (161, 25)
+ {128, { 0, 0, 0}}, // (162, 25)
+ {128, { 0, 0, 0}}, // (163, 25)
+ {128, { 0, 0, 0}}, // (164, 25)
+ {128, { 0, 0, 0}}, // (165, 25)
+ {128, { 0, 0, 0}}, // (166, 25)
+ {128, { 0, 0, 0}}, // (167, 25)
+ {128, { 0, 0, 0}}, // (168, 25)
+ {128, { 0, 0, 0}}, // (169, 25)
+ {128, { 0, 0, 0}}, // (170, 25)
+ {128, { 0, 0, 0}}, // (171, 25)
+ {128, { 0, 0, 0}}, // (172, 25)
+ {128, { 0, 0, 0}}, // (173, 25)
+ {128, { 0, 0, 0}}, // (174, 25)
+ {128, { 0, 0, 0}}, // (175, 25)
+ {128, { 0, 0, 0}}, // (176, 25)
+ {128, { 0, 0, 0}}, // (177, 25)
+ {128, { 0, 0, 0}}, // (178, 25)
+ {128, { 0, 0, 0}}, // (179, 25)
+ {128, { 0, 0, 0}}, // ( 0, 26)
+ {128, { 0, 0, 0}}, // ( 1, 26)
+ {128, { 0, 0, 0}}, // ( 2, 26)
+ {128, { 0, 0, 0}}, // ( 3, 26)
+ {128, { 0, 0, 0}}, // ( 4, 26)
+ {128, { 0, 0, 0}}, // ( 5, 26)
+ {128, { 0, 0, 0}}, // ( 6, 26)
+ {128, { 0, 0, 0}}, // ( 7, 26)
+ {128, { 0, 0, 0}}, // ( 8, 26)
+ {128, { 0, 0, 0}}, // ( 9, 26)
+ {128, { 0, 0, 0}}, // ( 10, 26)
+ {128, { 0, 0, 0}}, // ( 11, 26)
+ {128, { 0, 0, 0}}, // ( 12, 26)
+ {128, { 0, 0, 0}}, // ( 13, 26)
+ {128, { 0, 0, 0}}, // ( 14, 26)
+ {128, { 0, 0, 0}}, // ( 15, 26)
+ {128, { 0, 0, 0}}, // ( 16, 26)
+ {128, { 0, 0, 0}}, // ( 17, 26)
+ {128, { 0, 0, 0}}, // ( 18, 26)
+ {128, { 0, 0, 0}}, // ( 19, 26)
+ {128, { 0, 0, 0}}, // ( 20, 26)
+ {128, { 0, 0, 0}}, // ( 21, 26)
+ {128, { 0, 0, 0}}, // ( 22, 26)
+ {128, { 0, 0, 0}}, // ( 23, 26)
+ {128, { 0, 0, 0}}, // ( 24, 26)
+ {128, { 0, 0, 0}}, // ( 25, 26)
+ {128, { 0, 0, 0}}, // ( 26, 26)
+ {128, { 0, 0, 0}}, // ( 27, 26)
+ {118, { 0, 0, 0}}, // ( 28, 26)
+ { 25, { 0, 0, 0}}, // ( 29, 26)
+ { 0, { 0, 0, 0}}, // ( 30, 26)
+ { 0, { 0, 0, 0}}, // ( 31, 26)
+ { 0, { 0, 0, 0}}, // ( 32, 26)
+ { 0, { 0, 0, 0}}, // ( 33, 26)
+ { 0, { 0, 0, 0}}, // ( 34, 26)
+ { 0, { 0, 0, 0}}, // ( 35, 26)
+ { 0, { 0, 0, 0}}, // ( 36, 26)
+ { 0, { 0, 0, 0}}, // ( 37, 26)
+ { 0, { 0, 0, 0}}, // ( 38, 26)
+ { 0, { 0, 0, 0}}, // ( 39, 26)
+ { 0, { 0, 0, 0}}, // ( 40, 26)
+ { 0, { 0, 0, 0}}, // ( 41, 26)
+ { 0, { 0, 0, 0}}, // ( 42, 26)
+ { 0, { 0, 0, 0}}, // ( 43, 26)
+ { 0, { 0, 0, 0}}, // ( 44, 26)
+ { 0, { 0, 0, 0}}, // ( 45, 26)
+ { 0, { 0, 0, 0}}, // ( 46, 26)
+ { 0, { 0, 0, 0}}, // ( 47, 26)
+ { 0, { 0, 0, 0}}, // ( 48, 26)
+ { 0, { 0, 0, 0}}, // ( 49, 26)
+ { 0, { 0, 0, 0}}, // ( 50, 26)
+ { 0, { 0, 0, 0}}, // ( 51, 26)
+ { 0, { 0, 0, 0}}, // ( 52, 26)
+ { 0, { 0, 0, 0}}, // ( 53, 26)
+ { 0, { 0, 0, 0}}, // ( 54, 26)
+ { 0, { 0, 0, 0}}, // ( 55, 26)
+ { 0, { 0, 0, 0}}, // ( 56, 26)
+ { 0, { 0, 0, 0}}, // ( 57, 26)
+ { 0, { 0, 0, 0}}, // ( 58, 26)
+ { 0, { 0, 0, 0}}, // ( 59, 26)
+ { 0, { 0, 0, 0}}, // ( 60, 26)
+ { 0, { 0, 0, 0}}, // ( 61, 26)
+ { 0, { 0, 0, 0}}, // ( 62, 26)
+ { 0, { 0, 0, 0}}, // ( 63, 26)
+ { 0, { 0, 0, 0}}, // ( 64, 26)
+ { 0, { 0, 0, 0}}, // ( 65, 26)
+ { 0, { 0, 0, 0}}, // ( 66, 26)
+ { 0, { 0, 0, 0}}, // ( 67, 26)
+ { 0, { 0, 0, 0}}, // ( 68, 26)
+ { 0, { 0, 0, 0}}, // ( 69, 26)
+ { 0, { 0, 0, 0}}, // ( 70, 26)
+ { 0, { 0, 0, 0}}, // ( 71, 26)
+ { 0, { 0, 0, 0}}, // ( 72, 26)
+ { 0, { 0, 0, 0}}, // ( 73, 26)
+ { 0, { 0, 0, 0}}, // ( 74, 26)
+ { 0, { 0, 0, 0}}, // ( 75, 26)
+ { 0, { 0, 0, 0}}, // ( 76, 26)
+ { 0, { 0, 0, 0}}, // ( 77, 26)
+ { 0, { 0, 0, 0}}, // ( 78, 26)
+ { 0, { 0, 0, 0}}, // ( 79, 26)
+ { 0, { 0, 0, 0}}, // ( 80, 26)
+ { 0, { 0, 0, 0}}, // ( 81, 26)
+ { 0, { 0, 0, 0}}, // ( 82, 26)
+ { 0, { 0, 0, 0}}, // ( 83, 26)
+ { 0, { 0, 0, 0}}, // ( 84, 26)
+ { 0, { 0, 0, 0}}, // ( 85, 26)
+ { 0, { 0, 0, 0}}, // ( 86, 26)
+ { 0, { 0, 0, 0}}, // ( 87, 26)
+ { 0, { 0, 0, 0}}, // ( 88, 26)
+ { 0, { 0, 0, 0}}, // ( 89, 26)
+ { 0, { 0, 0, 0}}, // ( 90, 26)
+ { 0, { 0, 0, 0}}, // ( 91, 26)
+ { 0, { 0, 0, 0}}, // ( 92, 26)
+ { 0, { 0, 0, 0}}, // ( 93, 26)
+ { 0, { 0, 0, 0}}, // ( 94, 26)
+ { 0, { 0, 0, 0}}, // ( 95, 26)
+ { 0, { 0, 0, 0}}, // ( 96, 26)
+ { 0, { 0, 0, 0}}, // ( 97, 26)
+ { 0, { 0, 0, 0}}, // ( 98, 26)
+ { 0, { 0, 0, 0}}, // ( 99, 26)
+ { 0, { 0, 0, 0}}, // (100, 26)
+ { 0, { 0, 0, 0}}, // (101, 26)
+ { 0, { 0, 0, 0}}, // (102, 26)
+ { 0, { 0, 0, 0}}, // (103, 26)
+ { 0, { 0, 0, 0}}, // (104, 26)
+ { 0, { 0, 0, 0}}, // (105, 26)
+ { 0, { 0, 0, 0}}, // (106, 26)
+ { 0, { 0, 0, 0}}, // (107, 26)
+ { 0, { 0, 0, 0}}, // (108, 26)
+ { 0, { 0, 0, 0}}, // (109, 26)
+ { 0, { 0, 0, 0}}, // (110, 26)
+ { 0, { 0, 0, 0}}, // (111, 26)
+ { 0, { 0, 0, 0}}, // (112, 26)
+ { 0, { 0, 0, 0}}, // (113, 26)
+ { 0, { 0, 0, 0}}, // (114, 26)
+ { 0, { 0, 0, 0}}, // (115, 26)
+ { 0, { 0, 0, 0}}, // (116, 26)
+ { 0, { 0, 0, 0}}, // (117, 26)
+ { 0, { 0, 0, 0}}, // (118, 26)
+ { 0, { 0, 0, 0}}, // (119, 26)
+ { 0, { 0, 0, 0}}, // (120, 26)
+ { 0, { 0, 0, 0}}, // (121, 26)
+ { 0, { 0, 0, 0}}, // (122, 26)
+ { 0, { 0, 0, 0}}, // (123, 26)
+ { 0, { 0, 0, 0}}, // (124, 26)
+ { 0, { 0, 0, 0}}, // (125, 26)
+ { 0, { 0, 0, 0}}, // (126, 26)
+ { 0, { 0, 0, 0}}, // (127, 26)
+ { 0, { 0, 0, 0}}, // (128, 26)
+ { 0, { 0, 0, 0}}, // (129, 26)
+ { 0, { 0, 0, 0}}, // (130, 26)
+ { 0, { 0, 0, 0}}, // (131, 26)
+ { 0, { 0, 0, 0}}, // (132, 26)
+ { 0, { 0, 0, 0}}, // (133, 26)
+ { 0, { 0, 0, 0}}, // (134, 26)
+ { 0, { 0, 0, 0}}, // (135, 26)
+ { 0, { 0, 0, 0}}, // (136, 26)
+ { 0, { 0, 0, 0}}, // (137, 26)
+ { 0, { 0, 0, 0}}, // (138, 26)
+ { 0, { 0, 0, 0}}, // (139, 26)
+ { 0, { 0, 0, 0}}, // (140, 26)
+ { 0, { 0, 0, 0}}, // (141, 26)
+ { 0, { 0, 0, 0}}, // (142, 26)
+ { 0, { 0, 0, 0}}, // (143, 26)
+ { 0, { 0, 0, 0}}, // (144, 26)
+ { 0, { 0, 0, 0}}, // (145, 26)
+ { 0, { 0, 0, 0}}, // (146, 26)
+ { 0, { 0, 0, 0}}, // (147, 26)
+ { 0, { 0, 0, 0}}, // (148, 26)
+ { 0, { 0, 0, 0}}, // (149, 26)
+ { 25, { 0, 0, 0}}, // (150, 26)
+ {118, { 0, 0, 0}}, // (151, 26)
+ {128, { 0, 0, 0}}, // (152, 26)
+ {128, { 0, 0, 0}}, // (153, 26)
+ {128, { 0, 0, 0}}, // (154, 26)
+ {128, { 0, 0, 0}}, // (155, 26)
+ {128, { 0, 0, 0}}, // (156, 26)
+ {128, { 0, 0, 0}}, // (157, 26)
+ {128, { 0, 0, 0}}, // (158, 26)
+ {128, { 0, 0, 0}}, // (159, 26)
+ {128, { 0, 0, 0}}, // (160, 26)
+ {128, { 0, 0, 0}}, // (161, 26)
+ {128, { 0, 0, 0}}, // (162, 26)
+ {128, { 0, 0, 0}}, // (163, 26)
+ {128, { 0, 0, 0}}, // (164, 26)
+ {128, { 0, 0, 0}}, // (165, 26)
+ {128, { 0, 0, 0}}, // (166, 26)
+ {128, { 0, 0, 0}}, // (167, 26)
+ {128, { 0, 0, 0}}, // (168, 26)
+ {128, { 0, 0, 0}}, // (169, 26)
+ {128, { 0, 0, 0}}, // (170, 26)
+ {128, { 0, 0, 0}}, // (171, 26)
+ {128, { 0, 0, 0}}, // (172, 26)
+ {128, { 0, 0, 0}}, // (173, 26)
+ {128, { 0, 0, 0}}, // (174, 26)
+ {128, { 0, 0, 0}}, // (175, 26)
+ {128, { 0, 0, 0}}, // (176, 26)
+ {128, { 0, 0, 0}}, // (177, 26)
+ {128, { 0, 0, 0}}, // (178, 26)
+ {128, { 0, 0, 0}}, // (179, 26)
+ {128, { 0, 0, 0}}, // ( 0, 27)
+ {128, { 0, 0, 0}}, // ( 1, 27)
+ {128, { 0, 0, 0}}, // ( 2, 27)
+ {128, { 0, 0, 0}}, // ( 3, 27)
+ {128, { 0, 0, 0}}, // ( 4, 27)
+ {128, { 0, 0, 0}}, // ( 5, 27)
+ {128, { 0, 0, 0}}, // ( 6, 27)
+ {128, { 0, 0, 0}}, // ( 7, 27)
+ {128, { 0, 0, 0}}, // ( 8, 27)
+ {128, { 0, 0, 0}}, // ( 9, 27)
+ {128, { 0, 0, 0}}, // ( 10, 27)
+ {128, { 0, 0, 0}}, // ( 11, 27)
+ {128, { 0, 0, 0}}, // ( 12, 27)
+ {128, { 0, 0, 0}}, // ( 13, 27)
+ {128, { 0, 0, 0}}, // ( 14, 27)
+ {128, { 0, 0, 0}}, // ( 15, 27)
+ {128, { 0, 0, 0}}, // ( 16, 27)
+ {128, { 0, 0, 0}}, // ( 17, 27)
+ {128, { 0, 0, 0}}, // ( 18, 27)
+ {128, { 0, 0, 0}}, // ( 19, 27)
+ {128, { 0, 0, 0}}, // ( 20, 27)
+ {128, { 0, 0, 0}}, // ( 21, 27)
+ {128, { 0, 0, 0}}, // ( 22, 27)
+ {128, { 0, 0, 0}}, // ( 23, 27)
+ {128, { 0, 0, 0}}, // ( 24, 27)
+ {128, { 0, 0, 0}}, // ( 25, 27)
+ {128, { 0, 0, 0}}, // ( 26, 27)
+ {115, { 0, 0, 0}}, // ( 27, 27)
+ { 21, { 0, 0, 0}}, // ( 28, 27)
+ { 0, { 0, 0, 0}}, // ( 29, 27)
+ { 0, { 0, 0, 0}}, // ( 30, 27)
+ { 0, { 0, 0, 0}}, // ( 31, 27)
+ { 0, { 0, 0, 0}}, // ( 32, 27)
+ { 0, { 0, 0, 0}}, // ( 33, 27)
+ { 0, { 0, 0, 0}}, // ( 34, 27)
+ { 0, { 0, 0, 0}}, // ( 35, 27)
+ { 0, { 0, 0, 0}}, // ( 36, 27)
+ { 0, { 0, 0, 0}}, // ( 37, 27)
+ { 0, { 0, 0, 0}}, // ( 38, 27)
+ { 0, { 0, 0, 0}}, // ( 39, 27)
+ { 0, { 0, 0, 0}}, // ( 40, 27)
+ { 0, { 0, 0, 0}}, // ( 41, 27)
+ { 0, { 0, 0, 0}}, // ( 42, 27)
+ { 0, { 0, 0, 0}}, // ( 43, 27)
+ { 0, { 0, 0, 0}}, // ( 44, 27)
+ { 0, { 0, 0, 0}}, // ( 45, 27)
+ { 0, { 0, 0, 0}}, // ( 46, 27)
+ { 0, { 0, 0, 0}}, // ( 47, 27)
+ { 0, { 0, 0, 0}}, // ( 48, 27)
+ { 0, { 0, 0, 0}}, // ( 49, 27)
+ { 0, { 0, 0, 0}}, // ( 50, 27)
+ { 0, { 0, 0, 0}}, // ( 51, 27)
+ { 0, { 0, 0, 0}}, // ( 52, 27)
+ { 0, { 0, 0, 0}}, // ( 53, 27)
+ { 0, { 0, 0, 0}}, // ( 54, 27)
+ { 0, { 0, 0, 0}}, // ( 55, 27)
+ { 0, { 0, 0, 0}}, // ( 56, 27)
+ { 0, { 0, 0, 0}}, // ( 57, 27)
+ { 0, { 0, 0, 0}}, // ( 58, 27)
+ { 0, { 0, 0, 0}}, // ( 59, 27)
+ { 0, { 0, 0, 0}}, // ( 60, 27)
+ { 0, { 0, 0, 0}}, // ( 61, 27)
+ { 0, { 0, 0, 0}}, // ( 62, 27)
+ { 0, { 0, 0, 0}}, // ( 63, 27)
+ { 0, { 0, 0, 0}}, // ( 64, 27)
+ { 0, { 0, 0, 0}}, // ( 65, 27)
+ { 0, { 0, 0, 0}}, // ( 66, 27)
+ { 0, { 0, 0, 0}}, // ( 67, 27)
+ { 0, { 0, 0, 0}}, // ( 68, 27)
+ { 0, { 0, 0, 0}}, // ( 69, 27)
+ { 0, { 0, 0, 0}}, // ( 70, 27)
+ { 0, { 0, 0, 0}}, // ( 71, 27)
+ { 0, { 0, 0, 0}}, // ( 72, 27)
+ { 0, { 0, 0, 0}}, // ( 73, 27)
+ { 0, { 0, 0, 0}}, // ( 74, 27)
+ { 0, { 0, 0, 0}}, // ( 75, 27)
+ { 0, { 0, 0, 0}}, // ( 76, 27)
+ { 0, { 0, 0, 0}}, // ( 77, 27)
+ { 0, { 0, 0, 0}}, // ( 78, 27)
+ { 0, { 0, 0, 0}}, // ( 79, 27)
+ { 0, { 0, 0, 0}}, // ( 80, 27)
+ { 0, { 0, 0, 0}}, // ( 81, 27)
+ { 0, { 0, 0, 0}}, // ( 82, 27)
+ { 0, { 0, 0, 0}}, // ( 83, 27)
+ { 0, { 0, 0, 0}}, // ( 84, 27)
+ { 0, { 0, 0, 0}}, // ( 85, 27)
+ { 0, { 0, 0, 0}}, // ( 86, 27)
+ { 0, { 0, 0, 0}}, // ( 87, 27)
+ { 0, { 0, 0, 0}}, // ( 88, 27)
+ { 0, { 0, 0, 0}}, // ( 89, 27)
+ { 0, { 0, 0, 0}}, // ( 90, 27)
+ { 0, { 0, 0, 0}}, // ( 91, 27)
+ { 0, { 0, 0, 0}}, // ( 92, 27)
+ { 0, { 0, 0, 0}}, // ( 93, 27)
+ { 0, { 0, 0, 0}}, // ( 94, 27)
+ { 0, { 0, 0, 0}}, // ( 95, 27)
+ { 0, { 0, 0, 0}}, // ( 96, 27)
+ { 0, { 0, 0, 0}}, // ( 97, 27)
+ { 0, { 0, 0, 0}}, // ( 98, 27)
+ { 0, { 0, 0, 0}}, // ( 99, 27)
+ { 0, { 0, 0, 0}}, // (100, 27)
+ { 0, { 0, 0, 0}}, // (101, 27)
+ { 0, { 0, 0, 0}}, // (102, 27)
+ { 0, { 0, 0, 0}}, // (103, 27)
+ { 0, { 0, 0, 0}}, // (104, 27)
+ { 0, { 0, 0, 0}}, // (105, 27)
+ { 0, { 0, 0, 0}}, // (106, 27)
+ { 0, { 0, 0, 0}}, // (107, 27)
+ { 0, { 0, 0, 0}}, // (108, 27)
+ { 0, { 0, 0, 0}}, // (109, 27)
+ { 0, { 0, 0, 0}}, // (110, 27)
+ { 0, { 0, 0, 0}}, // (111, 27)
+ { 0, { 0, 0, 0}}, // (112, 27)
+ { 0, { 0, 0, 0}}, // (113, 27)
+ { 0, { 0, 0, 0}}, // (114, 27)
+ { 0, { 0, 0, 0}}, // (115, 27)
+ { 0, { 0, 0, 0}}, // (116, 27)
+ { 0, { 0, 0, 0}}, // (117, 27)
+ { 0, { 0, 0, 0}}, // (118, 27)
+ { 0, { 0, 0, 0}}, // (119, 27)
+ { 0, { 0, 0, 0}}, // (120, 27)
+ { 0, { 0, 0, 0}}, // (121, 27)
+ { 0, { 0, 0, 0}}, // (122, 27)
+ { 0, { 0, 0, 0}}, // (123, 27)
+ { 0, { 0, 0, 0}}, // (124, 27)
+ { 0, { 0, 0, 0}}, // (125, 27)
+ { 0, { 0, 0, 0}}, // (126, 27)
+ { 0, { 0, 0, 0}}, // (127, 27)
+ { 0, { 0, 0, 0}}, // (128, 27)
+ { 0, { 0, 0, 0}}, // (129, 27)
+ { 0, { 0, 0, 0}}, // (130, 27)
+ { 0, { 0, 0, 0}}, // (131, 27)
+ { 0, { 0, 0, 0}}, // (132, 27)
+ { 0, { 0, 0, 0}}, // (133, 27)
+ { 0, { 0, 0, 0}}, // (134, 27)
+ { 0, { 0, 0, 0}}, // (135, 27)
+ { 0, { 0, 0, 0}}, // (136, 27)
+ { 0, { 0, 0, 0}}, // (137, 27)
+ { 0, { 0, 0, 0}}, // (138, 27)
+ { 0, { 0, 0, 0}}, // (139, 27)
+ { 0, { 0, 0, 0}}, // (140, 27)
+ { 0, { 0, 0, 0}}, // (141, 27)
+ { 0, { 0, 0, 0}}, // (142, 27)
+ { 0, { 0, 0, 0}}, // (143, 27)
+ { 0, { 0, 0, 0}}, // (144, 27)
+ { 0, { 0, 0, 0}}, // (145, 27)
+ { 0, { 0, 0, 0}}, // (146, 27)
+ { 0, { 0, 0, 0}}, // (147, 27)
+ { 0, { 0, 0, 0}}, // (148, 27)
+ { 0, { 0, 0, 0}}, // (149, 27)
+ { 0, { 0, 0, 0}}, // (150, 27)
+ { 21, { 0, 0, 0}}, // (151, 27)
+ {115, { 0, 0, 0}}, // (152, 27)
+ {128, { 0, 0, 0}}, // (153, 27)
+ {128, { 0, 0, 0}}, // (154, 27)
+ {128, { 0, 0, 0}}, // (155, 27)
+ {128, { 0, 0, 0}}, // (156, 27)
+ {128, { 0, 0, 0}}, // (157, 27)
+ {128, { 0, 0, 0}}, // (158, 27)
+ {128, { 0, 0, 0}}, // (159, 27)
+ {128, { 0, 0, 0}}, // (160, 27)
+ {128, { 0, 0, 0}}, // (161, 27)
+ {128, { 0, 0, 0}}, // (162, 27)
+ {128, { 0, 0, 0}}, // (163, 27)
+ {128, { 0, 0, 0}}, // (164, 27)
+ {128, { 0, 0, 0}}, // (165, 27)
+ {128, { 0, 0, 0}}, // (166, 27)
+ {128, { 0, 0, 0}}, // (167, 27)
+ {128, { 0, 0, 0}}, // (168, 27)
+ {128, { 0, 0, 0}}, // (169, 27)
+ {128, { 0, 0, 0}}, // (170, 27)
+ {128, { 0, 0, 0}}, // (171, 27)
+ {128, { 0, 0, 0}}, // (172, 27)
+ {128, { 0, 0, 0}}, // (173, 27)
+ {128, { 0, 0, 0}}, // (174, 27)
+ {128, { 0, 0, 0}}, // (175, 27)
+ {128, { 0, 0, 0}}, // (176, 27)
+ {128, { 0, 0, 0}}, // (177, 27)
+ {128, { 0, 0, 0}}, // (178, 27)
+ {128, { 0, 0, 0}}, // (179, 27)
+ {128, { 0, 0, 0}}, // ( 0, 28)
+ {128, { 0, 0, 0}}, // ( 1, 28)
+ {128, { 0, 0, 0}}, // ( 2, 28)
+ {128, { 0, 0, 0}}, // ( 3, 28)
+ {128, { 0, 0, 0}}, // ( 4, 28)
+ {128, { 0, 0, 0}}, // ( 5, 28)
+ {128, { 0, 0, 0}}, // ( 6, 28)
+ {128, { 0, 0, 0}}, // ( 7, 28)
+ {128, { 0, 0, 0}}, // ( 8, 28)
+ {128, { 0, 0, 0}}, // ( 9, 28)
+ {128, { 0, 0, 0}}, // ( 10, 28)
+ {128, { 0, 0, 0}}, // ( 11, 28)
+ {128, { 0, 0, 0}}, // ( 12, 28)
+ {128, { 0, 0, 0}}, // ( 13, 28)
+ {128, { 0, 0, 0}}, // ( 14, 28)
+ {128, { 0, 0, 0}}, // ( 15, 28)
+ {128, { 0, 0, 0}}, // ( 16, 28)
+ {128, { 0, 0, 0}}, // ( 17, 28)
+ {128, { 0, 0, 0}}, // ( 18, 28)
+ {128, { 0, 0, 0}}, // ( 19, 28)
+ {128, { 0, 0, 0}}, // ( 20, 28)
+ {128, { 0, 0, 0}}, // ( 21, 28)
+ {128, { 0, 0, 0}}, // ( 22, 28)
+ {128, { 0, 0, 0}}, // ( 23, 28)
+ {128, { 0, 0, 0}}, // ( 24, 28)
+ {128, { 0, 0, 0}}, // ( 25, 28)
+ {117, { 0, 0, 0}}, // ( 26, 28)
+ { 22, { 0, 0, 0}}, // ( 27, 28)
+ { 0, { 0, 0, 0}}, // ( 28, 28)
+ { 0, { 0, 0, 0}}, // ( 29, 28)
+ { 0, { 0, 0, 0}}, // ( 30, 28)
+ { 0, { 0, 0, 0}}, // ( 31, 28)
+ { 0, { 0, 0, 0}}, // ( 32, 28)
+ { 0, { 0, 0, 0}}, // ( 33, 28)
+ { 0, { 0, 0, 0}}, // ( 34, 28)
+ { 0, { 0, 0, 0}}, // ( 35, 28)
+ { 0, { 0, 0, 0}}, // ( 36, 28)
+ { 0, { 0, 0, 0}}, // ( 37, 28)
+ { 0, { 0, 0, 0}}, // ( 38, 28)
+ { 0, { 0, 0, 0}}, // ( 39, 28)
+ { 0, { 0, 0, 0}}, // ( 40, 28)
+ { 0, { 0, 0, 0}}, // ( 41, 28)
+ { 0, { 0, 0, 0}}, // ( 42, 28)
+ { 0, { 0, 0, 0}}, // ( 43, 28)
+ { 0, { 0, 0, 0}}, // ( 44, 28)
+ { 0, { 0, 0, 0}}, // ( 45, 28)
+ { 0, { 0, 0, 0}}, // ( 46, 28)
+ { 0, { 0, 0, 0}}, // ( 47, 28)
+ { 0, { 0, 0, 0}}, // ( 48, 28)
+ { 0, { 0, 0, 0}}, // ( 49, 28)
+ { 0, { 0, 0, 0}}, // ( 50, 28)
+ { 0, { 0, 0, 0}}, // ( 51, 28)
+ { 0, { 0, 0, 0}}, // ( 52, 28)
+ { 0, { 0, 0, 0}}, // ( 53, 28)
+ { 0, { 0, 0, 0}}, // ( 54, 28)
+ { 0, { 0, 0, 0}}, // ( 55, 28)
+ { 0, { 0, 0, 0}}, // ( 56, 28)
+ { 0, { 0, 0, 0}}, // ( 57, 28)
+ { 0, { 0, 0, 0}}, // ( 58, 28)
+ { 0, { 0, 0, 0}}, // ( 59, 28)
+ { 0, { 0, 0, 0}}, // ( 60, 28)
+ { 0, { 0, 0, 0}}, // ( 61, 28)
+ { 0, { 0, 0, 0}}, // ( 62, 28)
+ { 0, { 0, 0, 0}}, // ( 63, 28)
+ { 0, { 0, 0, 0}}, // ( 64, 28)
+ { 0, { 0, 0, 0}}, // ( 65, 28)
+ { 0, { 0, 0, 0}}, // ( 66, 28)
+ { 0, { 0, 0, 0}}, // ( 67, 28)
+ { 0, { 0, 0, 0}}, // ( 68, 28)
+ { 0, { 0, 0, 0}}, // ( 69, 28)
+ { 0, { 0, 0, 0}}, // ( 70, 28)
+ { 0, { 0, 0, 0}}, // ( 71, 28)
+ { 0, { 0, 0, 0}}, // ( 72, 28)
+ { 0, { 0, 0, 0}}, // ( 73, 28)
+ { 0, { 0, 0, 0}}, // ( 74, 28)
+ { 0, { 0, 0, 0}}, // ( 75, 28)
+ { 0, { 0, 0, 0}}, // ( 76, 28)
+ { 0, { 0, 0, 0}}, // ( 77, 28)
+ { 0, { 0, 0, 0}}, // ( 78, 28)
+ { 0, { 0, 0, 0}}, // ( 79, 28)
+ { 0, { 0, 0, 0}}, // ( 80, 28)
+ { 0, { 0, 0, 0}}, // ( 81, 28)
+ { 0, { 0, 0, 0}}, // ( 82, 28)
+ { 0, { 0, 0, 0}}, // ( 83, 28)
+ { 0, { 0, 0, 0}}, // ( 84, 28)
+ { 0, { 0, 0, 0}}, // ( 85, 28)
+ { 0, { 0, 0, 0}}, // ( 86, 28)
+ { 0, { 0, 0, 0}}, // ( 87, 28)
+ { 0, { 0, 0, 0}}, // ( 88, 28)
+ { 0, { 0, 0, 0}}, // ( 89, 28)
+ { 0, { 0, 0, 0}}, // ( 90, 28)
+ { 0, { 0, 0, 0}}, // ( 91, 28)
+ { 0, { 0, 0, 0}}, // ( 92, 28)
+ { 0, { 0, 0, 0}}, // ( 93, 28)
+ { 0, { 0, 0, 0}}, // ( 94, 28)
+ { 0, { 0, 0, 0}}, // ( 95, 28)
+ { 0, { 0, 0, 0}}, // ( 96, 28)
+ { 0, { 0, 0, 0}}, // ( 97, 28)
+ { 0, { 0, 0, 0}}, // ( 98, 28)
+ { 0, { 0, 0, 0}}, // ( 99, 28)
+ { 0, { 0, 0, 0}}, // (100, 28)
+ { 0, { 0, 0, 0}}, // (101, 28)
+ { 0, { 0, 0, 0}}, // (102, 28)
+ { 0, { 0, 0, 0}}, // (103, 28)
+ { 0, { 0, 0, 0}}, // (104, 28)
+ { 0, { 0, 0, 0}}, // (105, 28)
+ { 0, { 0, 0, 0}}, // (106, 28)
+ { 0, { 0, 0, 0}}, // (107, 28)
+ { 0, { 0, 0, 0}}, // (108, 28)
+ { 0, { 0, 0, 0}}, // (109, 28)
+ { 0, { 0, 0, 0}}, // (110, 28)
+ { 0, { 0, 0, 0}}, // (111, 28)
+ { 0, { 0, 0, 0}}, // (112, 28)
+ { 0, { 0, 0, 0}}, // (113, 28)
+ { 0, { 0, 0, 0}}, // (114, 28)
+ { 0, { 0, 0, 0}}, // (115, 28)
+ { 0, { 0, 0, 0}}, // (116, 28)
+ { 0, { 0, 0, 0}}, // (117, 28)
+ { 0, { 0, 0, 0}}, // (118, 28)
+ { 0, { 0, 0, 0}}, // (119, 28)
+ { 0, { 0, 0, 0}}, // (120, 28)
+ { 0, { 0, 0, 0}}, // (121, 28)
+ { 0, { 0, 0, 0}}, // (122, 28)
+ { 0, { 0, 0, 0}}, // (123, 28)
+ { 0, { 0, 0, 0}}, // (124, 28)
+ { 0, { 0, 0, 0}}, // (125, 28)
+ { 0, { 0, 0, 0}}, // (126, 28)
+ { 0, { 0, 0, 0}}, // (127, 28)
+ { 0, { 0, 0, 0}}, // (128, 28)
+ { 0, { 0, 0, 0}}, // (129, 28)
+ { 0, { 0, 0, 0}}, // (130, 28)
+ { 0, { 0, 0, 0}}, // (131, 28)
+ { 0, { 0, 0, 0}}, // (132, 28)
+ { 0, { 0, 0, 0}}, // (133, 28)
+ { 0, { 0, 0, 0}}, // (134, 28)
+ { 0, { 0, 0, 0}}, // (135, 28)
+ { 0, { 0, 0, 0}}, // (136, 28)
+ { 0, { 0, 0, 0}}, // (137, 28)
+ { 0, { 0, 0, 0}}, // (138, 28)
+ { 0, { 0, 0, 0}}, // (139, 28)
+ { 0, { 0, 0, 0}}, // (140, 28)
+ { 0, { 0, 0, 0}}, // (141, 28)
+ { 0, { 0, 0, 0}}, // (142, 28)
+ { 0, { 0, 0, 0}}, // (143, 28)
+ { 0, { 0, 0, 0}}, // (144, 28)
+ { 0, { 0, 0, 0}}, // (145, 28)
+ { 0, { 0, 0, 0}}, // (146, 28)
+ { 0, { 0, 0, 0}}, // (147, 28)
+ { 0, { 0, 0, 0}}, // (148, 28)
+ { 0, { 0, 0, 0}}, // (149, 28)
+ { 0, { 0, 0, 0}}, // (150, 28)
+ { 0, { 0, 0, 0}}, // (151, 28)
+ { 22, { 0, 0, 0}}, // (152, 28)
+ {117, { 0, 0, 0}}, // (153, 28)
+ {128, { 0, 0, 0}}, // (154, 28)
+ {128, { 0, 0, 0}}, // (155, 28)
+ {128, { 0, 0, 0}}, // (156, 28)
+ {128, { 0, 0, 0}}, // (157, 28)
+ {128, { 0, 0, 0}}, // (158, 28)
+ {128, { 0, 0, 0}}, // (159, 28)
+ {128, { 0, 0, 0}}, // (160, 28)
+ {128, { 0, 0, 0}}, // (161, 28)
+ {128, { 0, 0, 0}}, // (162, 28)
+ {128, { 0, 0, 0}}, // (163, 28)
+ {128, { 0, 0, 0}}, // (164, 28)
+ {128, { 0, 0, 0}}, // (165, 28)
+ {128, { 0, 0, 0}}, // (166, 28)
+ {128, { 0, 0, 0}}, // (167, 28)
+ {128, { 0, 0, 0}}, // (168, 28)
+ {128, { 0, 0, 0}}, // (169, 28)
+ {128, { 0, 0, 0}}, // (170, 28)
+ {128, { 0, 0, 0}}, // (171, 28)
+ {128, { 0, 0, 0}}, // (172, 28)
+ {128, { 0, 0, 0}}, // (173, 28)
+ {128, { 0, 0, 0}}, // (174, 28)
+ {128, { 0, 0, 0}}, // (175, 28)
+ {128, { 0, 0, 0}}, // (176, 28)
+ {128, { 0, 0, 0}}, // (177, 28)
+ {128, { 0, 0, 0}}, // (178, 28)
+ {128, { 0, 0, 0}}, // (179, 28)
+ {128, { 0, 0, 0}}, // ( 0, 29)
+ {128, { 0, 0, 0}}, // ( 1, 29)
+ {128, { 0, 0, 0}}, // ( 2, 29)
+ {128, { 0, 0, 0}}, // ( 3, 29)
+ {128, { 0, 0, 0}}, // ( 4, 29)
+ {128, { 0, 0, 0}}, // ( 5, 29)
+ {128, { 0, 0, 0}}, // ( 6, 29)
+ {128, { 0, 0, 0}}, // ( 7, 29)
+ {128, { 0, 0, 0}}, // ( 8, 29)
+ {128, { 0, 0, 0}}, // ( 9, 29)
+ {128, { 0, 0, 0}}, // ( 10, 29)
+ {128, { 0, 0, 0}}, // ( 11, 29)
+ {128, { 0, 0, 0}}, // ( 12, 29)
+ {128, { 0, 0, 0}}, // ( 13, 29)
+ {128, { 0, 0, 0}}, // ( 14, 29)
+ {128, { 0, 0, 0}}, // ( 15, 29)
+ {128, { 0, 0, 0}}, // ( 16, 29)
+ {128, { 0, 0, 0}}, // ( 17, 29)
+ {128, { 0, 0, 0}}, // ( 18, 29)
+ {128, { 0, 0, 0}}, // ( 19, 29)
+ {128, { 0, 0, 0}}, // ( 20, 29)
+ {128, { 0, 0, 0}}, // ( 21, 29)
+ {128, { 0, 0, 0}}, // ( 22, 29)
+ {128, { 0, 0, 0}}, // ( 23, 29)
+ {128, { 0, 0, 0}}, // ( 24, 29)
+ {120, { 0, 0, 0}}, // ( 25, 29)
+ { 25, { 0, 0, 0}}, // ( 26, 29)
+ { 0, { 0, 0, 0}}, // ( 27, 29)
+ { 0, { 0, 0, 0}}, // ( 28, 29)
+ { 0, { 0, 0, 0}}, // ( 29, 29)
+ { 0, { 0, 0, 0}}, // ( 30, 29)
+ { 0, { 0, 0, 0}}, // ( 31, 29)
+ { 0, { 0, 0, 0}}, // ( 32, 29)
+ { 0, { 0, 0, 0}}, // ( 33, 29)
+ { 0, { 0, 0, 0}}, // ( 34, 29)
+ { 0, { 0, 0, 0}}, // ( 35, 29)
+ { 0, { 0, 0, 0}}, // ( 36, 29)
+ { 0, { 0, 0, 0}}, // ( 37, 29)
+ { 0, { 0, 0, 0}}, // ( 38, 29)
+ { 0, { 0, 0, 0}}, // ( 39, 29)
+ { 0, { 0, 0, 0}}, // ( 40, 29)
+ { 0, { 0, 0, 0}}, // ( 41, 29)
+ { 0, { 0, 0, 0}}, // ( 42, 29)
+ { 0, { 0, 0, 0}}, // ( 43, 29)
+ { 0, { 0, 0, 0}}, // ( 44, 29)
+ { 0, { 0, 0, 0}}, // ( 45, 29)
+ { 0, { 0, 0, 0}}, // ( 46, 29)
+ { 0, { 0, 0, 0}}, // ( 47, 29)
+ { 0, { 0, 0, 0}}, // ( 48, 29)
+ { 0, { 0, 0, 0}}, // ( 49, 29)
+ { 0, { 0, 0, 0}}, // ( 50, 29)
+ { 0, { 0, 0, 0}}, // ( 51, 29)
+ { 0, { 0, 0, 0}}, // ( 52, 29)
+ { 0, { 0, 0, 0}}, // ( 53, 29)
+ { 0, { 0, 0, 0}}, // ( 54, 29)
+ { 0, { 0, 0, 0}}, // ( 55, 29)
+ { 0, { 0, 0, 0}}, // ( 56, 29)
+ { 0, { 0, 0, 0}}, // ( 57, 29)
+ { 0, { 0, 0, 0}}, // ( 58, 29)
+ { 0, { 0, 0, 0}}, // ( 59, 29)
+ { 0, { 0, 0, 0}}, // ( 60, 29)
+ { 0, { 0, 0, 0}}, // ( 61, 29)
+ { 0, { 0, 0, 0}}, // ( 62, 29)
+ { 0, { 0, 0, 0}}, // ( 63, 29)
+ { 0, { 0, 0, 0}}, // ( 64, 29)
+ { 0, { 0, 0, 0}}, // ( 65, 29)
+ { 0, { 0, 0, 0}}, // ( 66, 29)
+ { 0, { 0, 0, 0}}, // ( 67, 29)
+ { 0, { 0, 0, 0}}, // ( 68, 29)
+ { 0, { 0, 0, 0}}, // ( 69, 29)
+ { 0, { 0, 0, 0}}, // ( 70, 29)
+ { 0, { 0, 0, 0}}, // ( 71, 29)
+ { 0, { 0, 0, 0}}, // ( 72, 29)
+ { 0, { 0, 0, 0}}, // ( 73, 29)
+ { 0, { 0, 0, 0}}, // ( 74, 29)
+ { 0, { 0, 0, 0}}, // ( 75, 29)
+ { 0, { 0, 0, 0}}, // ( 76, 29)
+ { 0, { 0, 0, 0}}, // ( 77, 29)
+ { 0, { 0, 0, 0}}, // ( 78, 29)
+ { 0, { 0, 0, 0}}, // ( 79, 29)
+ { 0, { 0, 0, 0}}, // ( 80, 29)
+ { 0, { 0, 0, 0}}, // ( 81, 29)
+ { 0, { 0, 0, 0}}, // ( 82, 29)
+ { 0, { 0, 0, 0}}, // ( 83, 29)
+ { 0, { 0, 0, 0}}, // ( 84, 29)
+ { 0, { 0, 0, 0}}, // ( 85, 29)
+ { 0, { 0, 0, 0}}, // ( 86, 29)
+ { 0, { 0, 0, 0}}, // ( 87, 29)
+ { 0, { 0, 0, 0}}, // ( 88, 29)
+ { 0, { 0, 0, 0}}, // ( 89, 29)
+ { 0, { 0, 0, 0}}, // ( 90, 29)
+ { 0, { 0, 0, 0}}, // ( 91, 29)
+ { 0, { 0, 0, 0}}, // ( 92, 29)
+ { 0, { 0, 0, 0}}, // ( 93, 29)
+ { 0, { 0, 0, 0}}, // ( 94, 29)
+ { 0, { 0, 0, 0}}, // ( 95, 29)
+ { 0, { 0, 0, 0}}, // ( 96, 29)
+ { 0, { 0, 0, 0}}, // ( 97, 29)
+ { 0, { 0, 0, 0}}, // ( 98, 29)
+ { 0, { 0, 0, 0}}, // ( 99, 29)
+ { 0, { 0, 0, 0}}, // (100, 29)
+ { 0, { 0, 0, 0}}, // (101, 29)
+ { 0, { 0, 0, 0}}, // (102, 29)
+ { 0, { 0, 0, 0}}, // (103, 29)
+ { 0, { 0, 0, 0}}, // (104, 29)
+ { 0, { 0, 0, 0}}, // (105, 29)
+ { 0, { 0, 0, 0}}, // (106, 29)
+ { 0, { 0, 0, 0}}, // (107, 29)
+ { 0, { 0, 0, 0}}, // (108, 29)
+ { 0, { 0, 0, 0}}, // (109, 29)
+ { 0, { 0, 0, 0}}, // (110, 29)
+ { 0, { 0, 0, 0}}, // (111, 29)
+ { 0, { 0, 0, 0}}, // (112, 29)
+ { 0, { 0, 0, 0}}, // (113, 29)
+ { 0, { 0, 0, 0}}, // (114, 29)
+ { 0, { 0, 0, 0}}, // (115, 29)
+ { 0, { 0, 0, 0}}, // (116, 29)
+ { 0, { 0, 0, 0}}, // (117, 29)
+ { 0, { 0, 0, 0}}, // (118, 29)
+ { 0, { 0, 0, 0}}, // (119, 29)
+ { 0, { 0, 0, 0}}, // (120, 29)
+ { 0, { 0, 0, 0}}, // (121, 29)
+ { 0, { 0, 0, 0}}, // (122, 29)
+ { 0, { 0, 0, 0}}, // (123, 29)
+ { 0, { 0, 0, 0}}, // (124, 29)
+ { 0, { 0, 0, 0}}, // (125, 29)
+ { 0, { 0, 0, 0}}, // (126, 29)
+ { 0, { 0, 0, 0}}, // (127, 29)
+ { 0, { 0, 0, 0}}, // (128, 29)
+ { 0, { 0, 0, 0}}, // (129, 29)
+ { 0, { 0, 0, 0}}, // (130, 29)
+ { 0, { 0, 0, 0}}, // (131, 29)
+ { 0, { 0, 0, 0}}, // (132, 29)
+ { 0, { 0, 0, 0}}, // (133, 29)
+ { 0, { 0, 0, 0}}, // (134, 29)
+ { 0, { 0, 0, 0}}, // (135, 29)
+ { 0, { 0, 0, 0}}, // (136, 29)
+ { 0, { 0, 0, 0}}, // (137, 29)
+ { 0, { 0, 0, 0}}, // (138, 29)
+ { 0, { 0, 0, 0}}, // (139, 29)
+ { 0, { 0, 0, 0}}, // (140, 29)
+ { 0, { 0, 0, 0}}, // (141, 29)
+ { 0, { 0, 0, 0}}, // (142, 29)
+ { 0, { 0, 0, 0}}, // (143, 29)
+ { 0, { 0, 0, 0}}, // (144, 29)
+ { 0, { 0, 0, 0}}, // (145, 29)
+ { 0, { 0, 0, 0}}, // (146, 29)
+ { 0, { 0, 0, 0}}, // (147, 29)
+ { 0, { 0, 0, 0}}, // (148, 29)
+ { 0, { 0, 0, 0}}, // (149, 29)
+ { 0, { 0, 0, 0}}, // (150, 29)
+ { 0, { 0, 0, 0}}, // (151, 29)
+ { 0, { 0, 0, 0}}, // (152, 29)
+ { 25, { 0, 0, 0}}, // (153, 29)
+ {120, { 0, 0, 0}}, // (154, 29)
+ {128, { 0, 0, 0}}, // (155, 29)
+ {128, { 0, 0, 0}}, // (156, 29)
+ {128, { 0, 0, 0}}, // (157, 29)
+ {128, { 0, 0, 0}}, // (158, 29)
+ {128, { 0, 0, 0}}, // (159, 29)
+ {128, { 0, 0, 0}}, // (160, 29)
+ {128, { 0, 0, 0}}, // (161, 29)
+ {128, { 0, 0, 0}}, // (162, 29)
+ {128, { 0, 0, 0}}, // (163, 29)
+ {128, { 0, 0, 0}}, // (164, 29)
+ {128, { 0, 0, 0}}, // (165, 29)
+ {128, { 0, 0, 0}}, // (166, 29)
+ {128, { 0, 0, 0}}, // (167, 29)
+ {128, { 0, 0, 0}}, // (168, 29)
+ {128, { 0, 0, 0}}, // (169, 29)
+ {128, { 0, 0, 0}}, // (170, 29)
+ {128, { 0, 0, 0}}, // (171, 29)
+ {128, { 0, 0, 0}}, // (172, 29)
+ {128, { 0, 0, 0}}, // (173, 29)
+ {128, { 0, 0, 0}}, // (174, 29)
+ {128, { 0, 0, 0}}, // (175, 29)
+ {128, { 0, 0, 0}}, // (176, 29)
+ {128, { 0, 0, 0}}, // (177, 29)
+ {128, { 0, 0, 0}}, // (178, 29)
+ {128, { 0, 0, 0}}, // (179, 29)
+ {128, { 0, 0, 0}}, // ( 0, 30)
+ {128, { 0, 0, 0}}, // ( 1, 30)
+ {128, { 0, 0, 0}}, // ( 2, 30)
+ {128, { 0, 0, 0}}, // ( 3, 30)
+ {128, { 0, 0, 0}}, // ( 4, 30)
+ {128, { 0, 0, 0}}, // ( 5, 30)
+ {128, { 0, 0, 0}}, // ( 6, 30)
+ {128, { 0, 0, 0}}, // ( 7, 30)
+ {128, { 0, 0, 0}}, // ( 8, 30)
+ {128, { 0, 0, 0}}, // ( 9, 30)
+ {128, { 0, 0, 0}}, // ( 10, 30)
+ {128, { 0, 0, 0}}, // ( 11, 30)
+ {128, { 0, 0, 0}}, // ( 12, 30)
+ {128, { 0, 0, 0}}, // ( 13, 30)
+ {128, { 0, 0, 0}}, // ( 14, 30)
+ {128, { 0, 0, 0}}, // ( 15, 30)
+ {128, { 0, 0, 0}}, // ( 16, 30)
+ {128, { 0, 0, 0}}, // ( 17, 30)
+ {128, { 0, 0, 0}}, // ( 18, 30)
+ {128, { 0, 0, 0}}, // ( 19, 30)
+ {128, { 0, 0, 0}}, // ( 20, 30)
+ {128, { 0, 0, 0}}, // ( 21, 30)
+ {128, { 0, 0, 0}}, // ( 22, 30)
+ {128, { 0, 0, 0}}, // ( 23, 30)
+ {123, { 0, 0, 0}}, // ( 24, 30)
+ { 28, { 0, 0, 0}}, // ( 25, 30)
+ { 0, { 0, 0, 0}}, // ( 26, 30)
+ { 0, { 0, 0, 0}}, // ( 27, 30)
+ { 0, { 0, 0, 0}}, // ( 28, 30)
+ { 0, { 0, 0, 0}}, // ( 29, 30)
+ { 0, { 0, 0, 0}}, // ( 30, 30)
+ { 0, { 0, 0, 0}}, // ( 31, 30)
+ { 0, { 0, 0, 0}}, // ( 32, 30)
+ { 0, { 0, 0, 0}}, // ( 33, 30)
+ { 0, { 0, 0, 0}}, // ( 34, 30)
+ { 0, { 0, 0, 0}}, // ( 35, 30)
+ { 0, { 0, 0, 0}}, // ( 36, 30)
+ { 0, { 0, 0, 0}}, // ( 37, 30)
+ { 0, { 0, 0, 0}}, // ( 38, 30)
+ { 0, { 0, 0, 0}}, // ( 39, 30)
+ { 0, { 0, 0, 0}}, // ( 40, 30)
+ { 0, { 0, 0, 0}}, // ( 41, 30)
+ { 0, { 0, 0, 0}}, // ( 42, 30)
+ { 0, { 0, 0, 0}}, // ( 43, 30)
+ { 0, { 0, 0, 0}}, // ( 44, 30)
+ { 0, { 0, 0, 0}}, // ( 45, 30)
+ { 0, { 0, 0, 0}}, // ( 46, 30)
+ { 0, { 0, 0, 0}}, // ( 47, 30)
+ { 0, { 0, 0, 0}}, // ( 48, 30)
+ { 0, { 0, 0, 0}}, // ( 49, 30)
+ { 0, { 0, 0, 0}}, // ( 50, 30)
+ { 0, { 0, 0, 0}}, // ( 51, 30)
+ { 0, { 0, 0, 0}}, // ( 52, 30)
+ { 0, { 0, 0, 0}}, // ( 53, 30)
+ { 0, { 0, 0, 0}}, // ( 54, 30)
+ { 0, { 0, 0, 0}}, // ( 55, 30)
+ { 0, { 0, 0, 0}}, // ( 56, 30)
+ { 0, { 0, 0, 0}}, // ( 57, 30)
+ { 0, { 0, 0, 0}}, // ( 58, 30)
+ { 0, { 0, 0, 0}}, // ( 59, 30)
+ { 0, { 0, 0, 0}}, // ( 60, 30)
+ { 0, { 0, 0, 0}}, // ( 61, 30)
+ { 0, { 0, 0, 0}}, // ( 62, 30)
+ { 0, { 0, 0, 0}}, // ( 63, 30)
+ { 0, { 0, 0, 0}}, // ( 64, 30)
+ { 0, { 0, 0, 0}}, // ( 65, 30)
+ { 0, { 0, 0, 0}}, // ( 66, 30)
+ { 0, { 0, 0, 0}}, // ( 67, 30)
+ { 0, { 0, 0, 0}}, // ( 68, 30)
+ { 0, { 0, 0, 0}}, // ( 69, 30)
+ { 0, { 0, 0, 0}}, // ( 70, 30)
+ { 0, { 0, 0, 0}}, // ( 71, 30)
+ { 0, { 0, 0, 0}}, // ( 72, 30)
+ { 0, { 0, 0, 0}}, // ( 73, 30)
+ { 0, { 0, 0, 0}}, // ( 74, 30)
+ { 0, { 0, 0, 0}}, // ( 75, 30)
+ { 0, { 0, 0, 0}}, // ( 76, 30)
+ { 0, { 0, 0, 0}}, // ( 77, 30)
+ { 0, { 0, 0, 0}}, // ( 78, 30)
+ { 0, { 0, 0, 0}}, // ( 79, 30)
+ { 0, { 0, 0, 0}}, // ( 80, 30)
+ { 0, { 0, 0, 0}}, // ( 81, 30)
+ { 0, { 0, 0, 0}}, // ( 82, 30)
+ { 0, { 0, 0, 0}}, // ( 83, 30)
+ { 0, { 0, 0, 0}}, // ( 84, 30)
+ { 0, { 0, 0, 0}}, // ( 85, 30)
+ { 0, { 0, 0, 0}}, // ( 86, 30)
+ { 0, { 0, 0, 0}}, // ( 87, 30)
+ { 0, { 0, 0, 0}}, // ( 88, 30)
+ { 0, { 0, 0, 0}}, // ( 89, 30)
+ { 0, { 0, 0, 0}}, // ( 90, 30)
+ { 0, { 0, 0, 0}}, // ( 91, 30)
+ { 0, { 0, 0, 0}}, // ( 92, 30)
+ { 0, { 0, 0, 0}}, // ( 93, 30)
+ { 0, { 0, 0, 0}}, // ( 94, 30)
+ { 0, { 0, 0, 0}}, // ( 95, 30)
+ { 0, { 0, 0, 0}}, // ( 96, 30)
+ { 0, { 0, 0, 0}}, // ( 97, 30)
+ { 0, { 0, 0, 0}}, // ( 98, 30)
+ { 0, { 0, 0, 0}}, // ( 99, 30)
+ { 0, { 0, 0, 0}}, // (100, 30)
+ { 0, { 0, 0, 0}}, // (101, 30)
+ { 0, { 0, 0, 0}}, // (102, 30)
+ { 0, { 0, 0, 0}}, // (103, 30)
+ { 0, { 0, 0, 0}}, // (104, 30)
+ { 0, { 0, 0, 0}}, // (105, 30)
+ { 0, { 0, 0, 0}}, // (106, 30)
+ { 0, { 0, 0, 0}}, // (107, 30)
+ { 0, { 0, 0, 0}}, // (108, 30)
+ { 0, { 0, 0, 0}}, // (109, 30)
+ { 0, { 0, 0, 0}}, // (110, 30)
+ { 0, { 0, 0, 0}}, // (111, 30)
+ { 0, { 0, 0, 0}}, // (112, 30)
+ { 0, { 0, 0, 0}}, // (113, 30)
+ { 0, { 0, 0, 0}}, // (114, 30)
+ { 0, { 0, 0, 0}}, // (115, 30)
+ { 0, { 0, 0, 0}}, // (116, 30)
+ { 0, { 0, 0, 0}}, // (117, 30)
+ { 0, { 0, 0, 0}}, // (118, 30)
+ { 0, { 0, 0, 0}}, // (119, 30)
+ { 0, { 0, 0, 0}}, // (120, 30)
+ { 0, { 0, 0, 0}}, // (121, 30)
+ { 0, { 0, 0, 0}}, // (122, 30)
+ { 0, { 0, 0, 0}}, // (123, 30)
+ { 0, { 0, 0, 0}}, // (124, 30)
+ { 0, { 0, 0, 0}}, // (125, 30)
+ { 0, { 0, 0, 0}}, // (126, 30)
+ { 0, { 0, 0, 0}}, // (127, 30)
+ { 0, { 0, 0, 0}}, // (128, 30)
+ { 0, { 0, 0, 0}}, // (129, 30)
+ { 0, { 0, 0, 0}}, // (130, 30)
+ { 0, { 0, 0, 0}}, // (131, 30)
+ { 0, { 0, 0, 0}}, // (132, 30)
+ { 0, { 0, 0, 0}}, // (133, 30)
+ { 0, { 0, 0, 0}}, // (134, 30)
+ { 0, { 0, 0, 0}}, // (135, 30)
+ { 0, { 0, 0, 0}}, // (136, 30)
+ { 0, { 0, 0, 0}}, // (137, 30)
+ { 0, { 0, 0, 0}}, // (138, 30)
+ { 0, { 0, 0, 0}}, // (139, 30)
+ { 0, { 0, 0, 0}}, // (140, 30)
+ { 0, { 0, 0, 0}}, // (141, 30)
+ { 0, { 0, 0, 0}}, // (142, 30)
+ { 0, { 0, 0, 0}}, // (143, 30)
+ { 0, { 0, 0, 0}}, // (144, 30)
+ { 0, { 0, 0, 0}}, // (145, 30)
+ { 0, { 0, 0, 0}}, // (146, 30)
+ { 0, { 0, 0, 0}}, // (147, 30)
+ { 0, { 0, 0, 0}}, // (148, 30)
+ { 0, { 0, 0, 0}}, // (149, 30)
+ { 0, { 0, 0, 0}}, // (150, 30)
+ { 0, { 0, 0, 0}}, // (151, 30)
+ { 0, { 0, 0, 0}}, // (152, 30)
+ { 0, { 0, 0, 0}}, // (153, 30)
+ { 28, { 0, 0, 0}}, // (154, 30)
+ {123, { 0, 0, 0}}, // (155, 30)
+ {128, { 0, 0, 0}}, // (156, 30)
+ {128, { 0, 0, 0}}, // (157, 30)
+ {128, { 0, 0, 0}}, // (158, 30)
+ {128, { 0, 0, 0}}, // (159, 30)
+ {128, { 0, 0, 0}}, // (160, 30)
+ {128, { 0, 0, 0}}, // (161, 30)
+ {128, { 0, 0, 0}}, // (162, 30)
+ {128, { 0, 0, 0}}, // (163, 30)
+ {128, { 0, 0, 0}}, // (164, 30)
+ {128, { 0, 0, 0}}, // (165, 30)
+ {128, { 0, 0, 0}}, // (166, 30)
+ {128, { 0, 0, 0}}, // (167, 30)
+ {128, { 0, 0, 0}}, // (168, 30)
+ {128, { 0, 0, 0}}, // (169, 30)
+ {128, { 0, 0, 0}}, // (170, 30)
+ {128, { 0, 0, 0}}, // (171, 30)
+ {128, { 0, 0, 0}}, // (172, 30)
+ {128, { 0, 0, 0}}, // (173, 30)
+ {128, { 0, 0, 0}}, // (174, 30)
+ {128, { 0, 0, 0}}, // (175, 30)
+ {128, { 0, 0, 0}}, // (176, 30)
+ {128, { 0, 0, 0}}, // (177, 30)
+ {128, { 0, 0, 0}}, // (178, 30)
+ {128, { 0, 0, 0}}, // (179, 30)
+ {128, { 0, 0, 0}}, // ( 0, 31)
+ {128, { 0, 0, 0}}, // ( 1, 31)
+ {128, { 0, 0, 0}}, // ( 2, 31)
+ {128, { 0, 0, 0}}, // ( 3, 31)
+ {128, { 0, 0, 0}}, // ( 4, 31)
+ {128, { 0, 0, 0}}, // ( 5, 31)
+ {128, { 0, 0, 0}}, // ( 6, 31)
+ {128, { 0, 0, 0}}, // ( 7, 31)
+ {128, { 0, 0, 0}}, // ( 8, 31)
+ {128, { 0, 0, 0}}, // ( 9, 31)
+ {128, { 0, 0, 0}}, // ( 10, 31)
+ {128, { 0, 0, 0}}, // ( 11, 31)
+ {128, { 0, 0, 0}}, // ( 12, 31)
+ {128, { 0, 0, 0}}, // ( 13, 31)
+ {128, { 0, 0, 0}}, // ( 14, 31)
+ {128, { 0, 0, 0}}, // ( 15, 31)
+ {128, { 0, 0, 0}}, // ( 16, 31)
+ {128, { 0, 0, 0}}, // ( 17, 31)
+ {128, { 0, 0, 0}}, // ( 18, 31)
+ {128, { 0, 0, 0}}, // ( 19, 31)
+ {128, { 0, 0, 0}}, // ( 20, 31)
+ {128, { 0, 0, 0}}, // ( 21, 31)
+ {128, { 0, 0, 0}}, // ( 22, 31)
+ {126, { 0, 0, 0}}, // ( 23, 31)
+ { 39, { 0, 0, 0}}, // ( 24, 31)
+ { 0, { 0, 0, 0}}, // ( 25, 31)
+ { 0, { 0, 0, 0}}, // ( 26, 31)
+ { 0, { 0, 0, 0}}, // ( 27, 31)
+ { 0, { 0, 0, 0}}, // ( 28, 31)
+ { 0, { 0, 0, 0}}, // ( 29, 31)
+ { 0, { 0, 0, 0}}, // ( 30, 31)
+ { 0, { 0, 0, 0}}, // ( 31, 31)
+ { 0, { 0, 0, 0}}, // ( 32, 31)
+ { 0, { 0, 0, 0}}, // ( 33, 31)
+ { 0, { 0, 0, 0}}, // ( 34, 31)
+ { 0, { 0, 0, 0}}, // ( 35, 31)
+ { 0, { 0, 0, 0}}, // ( 36, 31)
+ { 0, { 0, 0, 0}}, // ( 37, 31)
+ { 0, { 0, 0, 0}}, // ( 38, 31)
+ { 0, { 0, 0, 0}}, // ( 39, 31)
+ { 0, { 0, 0, 0}}, // ( 40, 31)
+ { 0, { 0, 0, 0}}, // ( 41, 31)
+ { 0, { 0, 0, 0}}, // ( 42, 31)
+ { 0, { 0, 0, 0}}, // ( 43, 31)
+ { 0, { 0, 0, 0}}, // ( 44, 31)
+ { 0, { 0, 0, 0}}, // ( 45, 31)
+ { 0, { 0, 0, 0}}, // ( 46, 31)
+ { 0, { 0, 0, 0}}, // ( 47, 31)
+ { 0, { 0, 0, 0}}, // ( 48, 31)
+ { 0, { 0, 0, 0}}, // ( 49, 31)
+ { 0, { 0, 0, 0}}, // ( 50, 31)
+ { 0, { 0, 0, 0}}, // ( 51, 31)
+ { 0, { 0, 0, 0}}, // ( 52, 31)
+ { 0, { 0, 0, 0}}, // ( 53, 31)
+ { 0, { 0, 0, 0}}, // ( 54, 31)
+ { 0, { 0, 0, 0}}, // ( 55, 31)
+ { 0, { 0, 0, 0}}, // ( 56, 31)
+ { 0, { 0, 0, 0}}, // ( 57, 31)
+ { 0, { 0, 0, 0}}, // ( 58, 31)
+ { 0, { 0, 0, 0}}, // ( 59, 31)
+ { 0, { 0, 0, 0}}, // ( 60, 31)
+ { 0, { 0, 0, 0}}, // ( 61, 31)
+ { 0, { 0, 0, 0}}, // ( 62, 31)
+ { 0, { 0, 0, 0}}, // ( 63, 31)
+ { 0, { 0, 0, 0}}, // ( 64, 31)
+ { 0, { 0, 0, 0}}, // ( 65, 31)
+ { 0, { 0, 0, 0}}, // ( 66, 31)
+ { 0, { 0, 0, 0}}, // ( 67, 31)
+ { 0, { 0, 0, 0}}, // ( 68, 31)
+ { 0, { 0, 0, 0}}, // ( 69, 31)
+ { 0, { 0, 0, 0}}, // ( 70, 31)
+ { 0, { 0, 0, 0}}, // ( 71, 31)
+ { 0, { 0, 0, 0}}, // ( 72, 31)
+ { 0, { 0, 0, 0}}, // ( 73, 31)
+ { 0, { 0, 0, 0}}, // ( 74, 31)
+ { 0, { 0, 0, 0}}, // ( 75, 31)
+ { 0, { 0, 0, 0}}, // ( 76, 31)
+ { 0, { 0, 0, 0}}, // ( 77, 31)
+ { 0, { 0, 0, 0}}, // ( 78, 31)
+ { 0, { 0, 0, 0}}, // ( 79, 31)
+ { 0, { 0, 0, 0}}, // ( 80, 31)
+ { 0, { 0, 0, 0}}, // ( 81, 31)
+ { 0, { 0, 0, 0}}, // ( 82, 31)
+ { 0, { 0, 0, 0}}, // ( 83, 31)
+ { 0, { 0, 0, 0}}, // ( 84, 31)
+ { 0, { 0, 0, 0}}, // ( 85, 31)
+ { 0, { 0, 0, 0}}, // ( 86, 31)
+ { 0, { 0, 0, 0}}, // ( 87, 31)
+ { 0, { 0, 0, 0}}, // ( 88, 31)
+ { 0, { 0, 0, 0}}, // ( 89, 31)
+ { 0, { 0, 0, 0}}, // ( 90, 31)
+ { 0, { 0, 0, 0}}, // ( 91, 31)
+ { 0, { 0, 0, 0}}, // ( 92, 31)
+ { 0, { 0, 0, 0}}, // ( 93, 31)
+ { 0, { 0, 0, 0}}, // ( 94, 31)
+ { 0, { 0, 0, 0}}, // ( 95, 31)
+ { 0, { 0, 0, 0}}, // ( 96, 31)
+ { 0, { 0, 0, 0}}, // ( 97, 31)
+ { 0, { 0, 0, 0}}, // ( 98, 31)
+ { 0, { 0, 0, 0}}, // ( 99, 31)
+ { 0, { 0, 0, 0}}, // (100, 31)
+ { 0, { 0, 0, 0}}, // (101, 31)
+ { 0, { 0, 0, 0}}, // (102, 31)
+ { 0, { 0, 0, 0}}, // (103, 31)
+ { 0, { 0, 0, 0}}, // (104, 31)
+ { 0, { 0, 0, 0}}, // (105, 31)
+ { 0, { 0, 0, 0}}, // (106, 31)
+ { 0, { 0, 0, 0}}, // (107, 31)
+ { 0, { 0, 0, 0}}, // (108, 31)
+ { 0, { 0, 0, 0}}, // (109, 31)
+ { 0, { 0, 0, 0}}, // (110, 31)
+ { 0, { 0, 0, 0}}, // (111, 31)
+ { 0, { 0, 0, 0}}, // (112, 31)
+ { 0, { 0, 0, 0}}, // (113, 31)
+ { 0, { 0, 0, 0}}, // (114, 31)
+ { 0, { 0, 0, 0}}, // (115, 31)
+ { 0, { 0, 0, 0}}, // (116, 31)
+ { 0, { 0, 0, 0}}, // (117, 31)
+ { 0, { 0, 0, 0}}, // (118, 31)
+ { 0, { 0, 0, 0}}, // (119, 31)
+ { 0, { 0, 0, 0}}, // (120, 31)
+ { 0, { 0, 0, 0}}, // (121, 31)
+ { 0, { 0, 0, 0}}, // (122, 31)
+ { 0, { 0, 0, 0}}, // (123, 31)
+ { 0, { 0, 0, 0}}, // (124, 31)
+ { 0, { 0, 0, 0}}, // (125, 31)
+ { 0, { 0, 0, 0}}, // (126, 31)
+ { 0, { 0, 0, 0}}, // (127, 31)
+ { 0, { 0, 0, 0}}, // (128, 31)
+ { 0, { 0, 0, 0}}, // (129, 31)
+ { 0, { 0, 0, 0}}, // (130, 31)
+ { 0, { 0, 0, 0}}, // (131, 31)
+ { 0, { 0, 0, 0}}, // (132, 31)
+ { 0, { 0, 0, 0}}, // (133, 31)
+ { 0, { 0, 0, 0}}, // (134, 31)
+ { 0, { 0, 0, 0}}, // (135, 31)
+ { 0, { 0, 0, 0}}, // (136, 31)
+ { 0, { 0, 0, 0}}, // (137, 31)
+ { 0, { 0, 0, 0}}, // (138, 31)
+ { 0, { 0, 0, 0}}, // (139, 31)
+ { 0, { 0, 0, 0}}, // (140, 31)
+ { 0, { 0, 0, 0}}, // (141, 31)
+ { 0, { 0, 0, 0}}, // (142, 31)
+ { 0, { 0, 0, 0}}, // (143, 31)
+ { 0, { 0, 0, 0}}, // (144, 31)
+ { 0, { 0, 0, 0}}, // (145, 31)
+ { 0, { 0, 0, 0}}, // (146, 31)
+ { 0, { 0, 0, 0}}, // (147, 31)
+ { 0, { 0, 0, 0}}, // (148, 31)
+ { 0, { 0, 0, 0}}, // (149, 31)
+ { 0, { 0, 0, 0}}, // (150, 31)
+ { 0, { 0, 0, 0}}, // (151, 31)
+ { 0, { 0, 0, 0}}, // (152, 31)
+ { 0, { 0, 0, 0}}, // (153, 31)
+ { 0, { 0, 0, 0}}, // (154, 31)
+ { 39, { 0, 0, 0}}, // (155, 31)
+ {126, { 0, 0, 0}}, // (156, 31)
+ {128, { 0, 0, 0}}, // (157, 31)
+ {128, { 0, 0, 0}}, // (158, 31)
+ {128, { 0, 0, 0}}, // (159, 31)
+ {128, { 0, 0, 0}}, // (160, 31)
+ {128, { 0, 0, 0}}, // (161, 31)
+ {128, { 0, 0, 0}}, // (162, 31)
+ {128, { 0, 0, 0}}, // (163, 31)
+ {128, { 0, 0, 0}}, // (164, 31)
+ {128, { 0, 0, 0}}, // (165, 31)
+ {128, { 0, 0, 0}}, // (166, 31)
+ {128, { 0, 0, 0}}, // (167, 31)
+ {128, { 0, 0, 0}}, // (168, 31)
+ {128, { 0, 0, 0}}, // (169, 31)
+ {128, { 0, 0, 0}}, // (170, 31)
+ {128, { 0, 0, 0}}, // (171, 31)
+ {128, { 0, 0, 0}}, // (172, 31)
+ {128, { 0, 0, 0}}, // (173, 31)
+ {128, { 0, 0, 0}}, // (174, 31)
+ {128, { 0, 0, 0}}, // (175, 31)
+ {128, { 0, 0, 0}}, // (176, 31)
+ {128, { 0, 0, 0}}, // (177, 31)
+ {128, { 0, 0, 0}}, // (178, 31)
+ {128, { 0, 0, 0}}, // (179, 31)
+ {128, { 0, 0, 0}}, // ( 0, 32)
+ {128, { 0, 0, 0}}, // ( 1, 32)
+ {128, { 0, 0, 0}}, // ( 2, 32)
+ {128, { 0, 0, 0}}, // ( 3, 32)
+ {128, { 0, 0, 0}}, // ( 4, 32)
+ {128, { 0, 0, 0}}, // ( 5, 32)
+ {128, { 0, 0, 0}}, // ( 6, 32)
+ {128, { 0, 0, 0}}, // ( 7, 32)
+ {128, { 0, 0, 0}}, // ( 8, 32)
+ {128, { 0, 0, 0}}, // ( 9, 32)
+ {128, { 0, 0, 0}}, // ( 10, 32)
+ {128, { 0, 0, 0}}, // ( 11, 32)
+ {128, { 0, 0, 0}}, // ( 12, 32)
+ {128, { 0, 0, 0}}, // ( 13, 32)
+ {128, { 0, 0, 0}}, // ( 14, 32)
+ {128, { 0, 0, 0}}, // ( 15, 32)
+ {128, { 0, 0, 0}}, // ( 16, 32)
+ {128, { 0, 0, 0}}, // ( 17, 32)
+ {128, { 0, 0, 0}}, // ( 18, 32)
+ {128, { 0, 0, 0}}, // ( 19, 32)
+ {128, { 0, 0, 0}}, // ( 20, 32)
+ {128, { 0, 0, 0}}, // ( 21, 32)
+ {128, { 0, 0, 0}}, // ( 22, 32)
+ { 53, { 0, 0, 0}}, // ( 23, 32)
+ { 0, { 0, 0, 0}}, // ( 24, 32)
+ { 0, { 0, 0, 0}}, // ( 25, 32)
+ { 0, { 0, 0, 0}}, // ( 26, 32)
+ { 0, { 0, 0, 0}}, // ( 27, 32)
+ { 0, { 0, 0, 0}}, // ( 28, 32)
+ { 0, { 0, 0, 0}}, // ( 29, 32)
+ { 0, { 0, 0, 0}}, // ( 30, 32)
+ { 0, { 0, 0, 0}}, // ( 31, 32)
+ { 0, { 0, 0, 0}}, // ( 32, 32)
+ { 0, { 0, 0, 0}}, // ( 33, 32)
+ { 0, { 0, 0, 0}}, // ( 34, 32)
+ { 0, { 0, 0, 0}}, // ( 35, 32)
+ { 0, { 0, 0, 0}}, // ( 36, 32)
+ { 0, { 0, 0, 0}}, // ( 37, 32)
+ { 0, { 0, 0, 0}}, // ( 38, 32)
+ { 0, { 0, 0, 0}}, // ( 39, 32)
+ { 0, { 0, 0, 0}}, // ( 40, 32)
+ { 0, { 0, 0, 0}}, // ( 41, 32)
+ { 0, { 0, 0, 0}}, // ( 42, 32)
+ { 0, { 0, 0, 0}}, // ( 43, 32)
+ { 0, { 0, 0, 0}}, // ( 44, 32)
+ { 0, { 0, 0, 0}}, // ( 45, 32)
+ { 0, { 0, 0, 0}}, // ( 46, 32)
+ { 0, { 0, 0, 0}}, // ( 47, 32)
+ { 0, { 0, 0, 0}}, // ( 48, 32)
+ { 0, { 0, 0, 0}}, // ( 49, 32)
+ { 0, { 0, 0, 0}}, // ( 50, 32)
+ { 0, { 0, 0, 0}}, // ( 51, 32)
+ { 0, { 0, 0, 0}}, // ( 52, 32)
+ { 0, { 0, 0, 0}}, // ( 53, 32)
+ { 0, { 0, 0, 0}}, // ( 54, 32)
+ { 0, { 0, 0, 0}}, // ( 55, 32)
+ { 0, { 0, 0, 0}}, // ( 56, 32)
+ { 0, { 0, 0, 0}}, // ( 57, 32)
+ { 0, { 0, 0, 0}}, // ( 58, 32)
+ { 0, { 0, 0, 0}}, // ( 59, 32)
+ { 0, { 0, 0, 0}}, // ( 60, 32)
+ { 0, { 0, 0, 0}}, // ( 61, 32)
+ { 0, { 0, 0, 0}}, // ( 62, 32)
+ { 0, { 0, 0, 0}}, // ( 63, 32)
+ { 0, { 0, 0, 0}}, // ( 64, 32)
+ { 0, { 0, 0, 0}}, // ( 65, 32)
+ { 0, { 0, 0, 0}}, // ( 66, 32)
+ { 0, { 0, 0, 0}}, // ( 67, 32)
+ { 0, { 0, 0, 0}}, // ( 68, 32)
+ { 0, { 0, 0, 0}}, // ( 69, 32)
+ { 0, { 0, 0, 0}}, // ( 70, 32)
+ { 0, { 0, 0, 0}}, // ( 71, 32)
+ { 0, { 0, 0, 0}}, // ( 72, 32)
+ { 0, { 0, 0, 0}}, // ( 73, 32)
+ { 0, { 0, 0, 0}}, // ( 74, 32)
+ { 0, { 0, 0, 0}}, // ( 75, 32)
+ { 0, { 0, 0, 0}}, // ( 76, 32)
+ { 0, { 0, 0, 0}}, // ( 77, 32)
+ { 0, { 0, 0, 0}}, // ( 78, 32)
+ { 0, { 0, 0, 0}}, // ( 79, 32)
+ { 0, { 0, 0, 0}}, // ( 80, 32)
+ { 0, { 0, 0, 0}}, // ( 81, 32)
+ { 0, { 0, 0, 0}}, // ( 82, 32)
+ { 0, { 0, 0, 0}}, // ( 83, 32)
+ { 0, { 0, 0, 0}}, // ( 84, 32)
+ { 0, { 0, 0, 0}}, // ( 85, 32)
+ { 0, { 0, 0, 0}}, // ( 86, 32)
+ { 0, { 0, 0, 0}}, // ( 87, 32)
+ { 0, { 0, 0, 0}}, // ( 88, 32)
+ { 0, { 0, 0, 0}}, // ( 89, 32)
+ { 0, { 0, 0, 0}}, // ( 90, 32)
+ { 0, { 0, 0, 0}}, // ( 91, 32)
+ { 0, { 0, 0, 0}}, // ( 92, 32)
+ { 0, { 0, 0, 0}}, // ( 93, 32)
+ { 0, { 0, 0, 0}}, // ( 94, 32)
+ { 0, { 0, 0, 0}}, // ( 95, 32)
+ { 0, { 0, 0, 0}}, // ( 96, 32)
+ { 0, { 0, 0, 0}}, // ( 97, 32)
+ { 0, { 0, 0, 0}}, // ( 98, 32)
+ { 0, { 0, 0, 0}}, // ( 99, 32)
+ { 0, { 0, 0, 0}}, // (100, 32)
+ { 0, { 0, 0, 0}}, // (101, 32)
+ { 0, { 0, 0, 0}}, // (102, 32)
+ { 0, { 0, 0, 0}}, // (103, 32)
+ { 0, { 0, 0, 0}}, // (104, 32)
+ { 0, { 0, 0, 0}}, // (105, 32)
+ { 0, { 0, 0, 0}}, // (106, 32)
+ { 0, { 0, 0, 0}}, // (107, 32)
+ { 0, { 0, 0, 0}}, // (108, 32)
+ { 0, { 0, 0, 0}}, // (109, 32)
+ { 0, { 0, 0, 0}}, // (110, 32)
+ { 0, { 0, 0, 0}}, // (111, 32)
+ { 0, { 0, 0, 0}}, // (112, 32)
+ { 0, { 0, 0, 0}}, // (113, 32)
+ { 0, { 0, 0, 0}}, // (114, 32)
+ { 0, { 0, 0, 0}}, // (115, 32)
+ { 0, { 0, 0, 0}}, // (116, 32)
+ { 0, { 0, 0, 0}}, // (117, 32)
+ { 0, { 0, 0, 0}}, // (118, 32)
+ { 0, { 0, 0, 0}}, // (119, 32)
+ { 0, { 0, 0, 0}}, // (120, 32)
+ { 0, { 0, 0, 0}}, // (121, 32)
+ { 0, { 0, 0, 0}}, // (122, 32)
+ { 0, { 0, 0, 0}}, // (123, 32)
+ { 0, { 0, 0, 0}}, // (124, 32)
+ { 0, { 0, 0, 0}}, // (125, 32)
+ { 0, { 0, 0, 0}}, // (126, 32)
+ { 0, { 0, 0, 0}}, // (127, 32)
+ { 0, { 0, 0, 0}}, // (128, 32)
+ { 0, { 0, 0, 0}}, // (129, 32)
+ { 0, { 0, 0, 0}}, // (130, 32)
+ { 0, { 0, 0, 0}}, // (131, 32)
+ { 0, { 0, 0, 0}}, // (132, 32)
+ { 0, { 0, 0, 0}}, // (133, 32)
+ { 0, { 0, 0, 0}}, // (134, 32)
+ { 0, { 0, 0, 0}}, // (135, 32)
+ { 0, { 0, 0, 0}}, // (136, 32)
+ { 0, { 0, 0, 0}}, // (137, 32)
+ { 0, { 0, 0, 0}}, // (138, 32)
+ { 0, { 0, 0, 0}}, // (139, 32)
+ { 0, { 0, 0, 0}}, // (140, 32)
+ { 0, { 0, 0, 0}}, // (141, 32)
+ { 0, { 0, 0, 0}}, // (142, 32)
+ { 0, { 0, 0, 0}}, // (143, 32)
+ { 0, { 0, 0, 0}}, // (144, 32)
+ { 0, { 0, 0, 0}}, // (145, 32)
+ { 0, { 0, 0, 0}}, // (146, 32)
+ { 0, { 0, 0, 0}}, // (147, 32)
+ { 0, { 0, 0, 0}}, // (148, 32)
+ { 0, { 0, 0, 0}}, // (149, 32)
+ { 0, { 0, 0, 0}}, // (150, 32)
+ { 0, { 0, 0, 0}}, // (151, 32)
+ { 0, { 0, 0, 0}}, // (152, 32)
+ { 0, { 0, 0, 0}}, // (153, 32)
+ { 0, { 0, 0, 0}}, // (154, 32)
+ { 0, { 0, 0, 0}}, // (155, 32)
+ { 53, { 0, 0, 0}}, // (156, 32)
+ {128, { 0, 0, 0}}, // (157, 32)
+ {128, { 0, 0, 0}}, // (158, 32)
+ {128, { 0, 0, 0}}, // (159, 32)
+ {128, { 0, 0, 0}}, // (160, 32)
+ {128, { 0, 0, 0}}, // (161, 32)
+ {128, { 0, 0, 0}}, // (162, 32)
+ {128, { 0, 0, 0}}, // (163, 32)
+ {128, { 0, 0, 0}}, // (164, 32)
+ {128, { 0, 0, 0}}, // (165, 32)
+ {128, { 0, 0, 0}}, // (166, 32)
+ {128, { 0, 0, 0}}, // (167, 32)
+ {128, { 0, 0, 0}}, // (168, 32)
+ {128, { 0, 0, 0}}, // (169, 32)
+ {128, { 0, 0, 0}}, // (170, 32)
+ {128, { 0, 0, 0}}, // (171, 32)
+ {128, { 0, 0, 0}}, // (172, 32)
+ {128, { 0, 0, 0}}, // (173, 32)
+ {128, { 0, 0, 0}}, // (174, 32)
+ {128, { 0, 0, 0}}, // (175, 32)
+ {128, { 0, 0, 0}}, // (176, 32)
+ {128, { 0, 0, 0}}, // (177, 32)
+ {128, { 0, 0, 0}}, // (178, 32)
+ {128, { 0, 0, 0}}, // (179, 32)
+ {128, { 0, 0, 0}}, // ( 0, 33)
+ {128, { 0, 0, 0}}, // ( 1, 33)
+ {128, { 0, 0, 0}}, // ( 2, 33)
+ {128, { 0, 0, 0}}, // ( 3, 33)
+ {128, { 0, 0, 0}}, // ( 4, 33)
+ {128, { 0, 0, 0}}, // ( 5, 33)
+ {128, { 0, 0, 0}}, // ( 6, 33)
+ {128, { 0, 0, 0}}, // ( 7, 33)
+ {128, { 0, 0, 0}}, // ( 8, 33)
+ {128, { 0, 0, 0}}, // ( 9, 33)
+ {128, { 0, 0, 0}}, // ( 10, 33)
+ {128, { 0, 0, 0}}, // ( 11, 33)
+ {128, { 0, 0, 0}}, // ( 12, 33)
+ {128, { 0, 0, 0}}, // ( 13, 33)
+ {128, { 0, 0, 0}}, // ( 14, 33)
+ {128, { 0, 0, 0}}, // ( 15, 33)
+ {128, { 0, 0, 0}}, // ( 16, 33)
+ {128, { 0, 0, 0}}, // ( 17, 33)
+ {128, { 0, 0, 0}}, // ( 18, 33)
+ {128, { 0, 0, 0}}, // ( 19, 33)
+ {128, { 0, 0, 0}}, // ( 20, 33)
+ {128, { 0, 0, 0}}, // ( 21, 33)
+ { 68, { 0, 0, 0}}, // ( 22, 33)
+ { 0, { 0, 0, 0}}, // ( 23, 33)
+ { 0, { 0, 0, 0}}, // ( 24, 33)
+ { 0, { 0, 0, 0}}, // ( 25, 33)
+ { 0, { 0, 0, 0}}, // ( 26, 33)
+ { 0, { 0, 0, 0}}, // ( 27, 33)
+ { 0, { 0, 0, 0}}, // ( 28, 33)
+ { 0, { 0, 0, 0}}, // ( 29, 33)
+ { 0, { 0, 0, 0}}, // ( 30, 33)
+ { 0, { 0, 0, 0}}, // ( 31, 33)
+ { 0, { 0, 0, 0}}, // ( 32, 33)
+ { 0, { 0, 0, 0}}, // ( 33, 33)
+ { 0, { 0, 0, 0}}, // ( 34, 33)
+ { 0, { 0, 0, 0}}, // ( 35, 33)
+ { 0, { 0, 0, 0}}, // ( 36, 33)
+ { 0, { 0, 0, 0}}, // ( 37, 33)
+ { 0, { 0, 0, 0}}, // ( 38, 33)
+ { 0, { 0, 0, 0}}, // ( 39, 33)
+ { 0, { 0, 0, 0}}, // ( 40, 33)
+ { 0, { 0, 0, 0}}, // ( 41, 33)
+ { 0, { 0, 0, 0}}, // ( 42, 33)
+ { 0, { 0, 0, 0}}, // ( 43, 33)
+ { 0, { 0, 0, 0}}, // ( 44, 33)
+ { 0, { 0, 0, 0}}, // ( 45, 33)
+ { 0, { 0, 0, 0}}, // ( 46, 33)
+ { 0, { 0, 0, 0}}, // ( 47, 33)
+ { 0, { 0, 0, 0}}, // ( 48, 33)
+ { 0, { 0, 0, 0}}, // ( 49, 33)
+ { 0, { 0, 0, 0}}, // ( 50, 33)
+ { 0, { 0, 0, 0}}, // ( 51, 33)
+ { 0, { 0, 0, 0}}, // ( 52, 33)
+ { 0, { 0, 0, 0}}, // ( 53, 33)
+ { 0, { 0, 0, 0}}, // ( 54, 33)
+ { 0, { 0, 0, 0}}, // ( 55, 33)
+ { 0, { 0, 0, 0}}, // ( 56, 33)
+ { 0, { 0, 0, 0}}, // ( 57, 33)
+ { 0, { 0, 0, 0}}, // ( 58, 33)
+ { 0, { 0, 0, 0}}, // ( 59, 33)
+ { 0, { 0, 0, 0}}, // ( 60, 33)
+ { 0, { 0, 0, 0}}, // ( 61, 33)
+ { 0, { 0, 0, 0}}, // ( 62, 33)
+ { 0, { 0, 0, 0}}, // ( 63, 33)
+ { 0, { 0, 0, 0}}, // ( 64, 33)
+ { 0, { 0, 0, 0}}, // ( 65, 33)
+ { 0, { 0, 0, 0}}, // ( 66, 33)
+ { 0, { 0, 0, 0}}, // ( 67, 33)
+ { 0, { 0, 0, 0}}, // ( 68, 33)
+ { 0, { 0, 0, 0}}, // ( 69, 33)
+ { 0, { 0, 0, 0}}, // ( 70, 33)
+ { 0, { 0, 0, 0}}, // ( 71, 33)
+ { 0, { 0, 0, 0}}, // ( 72, 33)
+ { 0, { 0, 0, 0}}, // ( 73, 33)
+ { 0, { 0, 0, 0}}, // ( 74, 33)
+ { 0, { 0, 0, 0}}, // ( 75, 33)
+ { 0, { 0, 0, 0}}, // ( 76, 33)
+ { 0, { 0, 0, 0}}, // ( 77, 33)
+ { 0, { 0, 0, 0}}, // ( 78, 33)
+ { 0, { 0, 0, 0}}, // ( 79, 33)
+ { 0, { 0, 0, 0}}, // ( 80, 33)
+ { 0, { 0, 0, 0}}, // ( 81, 33)
+ { 0, { 0, 0, 0}}, // ( 82, 33)
+ { 0, { 0, 0, 0}}, // ( 83, 33)
+ { 0, { 0, 0, 0}}, // ( 84, 33)
+ { 0, { 0, 0, 0}}, // ( 85, 33)
+ { 0, { 0, 0, 0}}, // ( 86, 33)
+ { 0, { 0, 0, 0}}, // ( 87, 33)
+ { 0, { 0, 0, 0}}, // ( 88, 33)
+ { 0, { 0, 0, 0}}, // ( 89, 33)
+ { 0, { 0, 0, 0}}, // ( 90, 33)
+ { 0, { 0, 0, 0}}, // ( 91, 33)
+ { 0, { 0, 0, 0}}, // ( 92, 33)
+ { 0, { 0, 0, 0}}, // ( 93, 33)
+ { 0, { 0, 0, 0}}, // ( 94, 33)
+ { 0, { 0, 0, 0}}, // ( 95, 33)
+ { 0, { 0, 0, 0}}, // ( 96, 33)
+ { 0, { 0, 0, 0}}, // ( 97, 33)
+ { 0, { 0, 0, 0}}, // ( 98, 33)
+ { 0, { 0, 0, 0}}, // ( 99, 33)
+ { 0, { 0, 0, 0}}, // (100, 33)
+ { 0, { 0, 0, 0}}, // (101, 33)
+ { 0, { 0, 0, 0}}, // (102, 33)
+ { 0, { 0, 0, 0}}, // (103, 33)
+ { 0, { 0, 0, 0}}, // (104, 33)
+ { 0, { 0, 0, 0}}, // (105, 33)
+ { 0, { 0, 0, 0}}, // (106, 33)
+ { 0, { 0, 0, 0}}, // (107, 33)
+ { 0, { 0, 0, 0}}, // (108, 33)
+ { 0, { 0, 0, 0}}, // (109, 33)
+ { 0, { 0, 0, 0}}, // (110, 33)
+ { 0, { 0, 0, 0}}, // (111, 33)
+ { 0, { 0, 0, 0}}, // (112, 33)
+ { 0, { 0, 0, 0}}, // (113, 33)
+ { 0, { 0, 0, 0}}, // (114, 33)
+ { 0, { 0, 0, 0}}, // (115, 33)
+ { 0, { 0, 0, 0}}, // (116, 33)
+ { 0, { 0, 0, 0}}, // (117, 33)
+ { 0, { 0, 0, 0}}, // (118, 33)
+ { 0, { 0, 0, 0}}, // (119, 33)
+ { 0, { 0, 0, 0}}, // (120, 33)
+ { 0, { 0, 0, 0}}, // (121, 33)
+ { 0, { 0, 0, 0}}, // (122, 33)
+ { 0, { 0, 0, 0}}, // (123, 33)
+ { 0, { 0, 0, 0}}, // (124, 33)
+ { 0, { 0, 0, 0}}, // (125, 33)
+ { 0, { 0, 0, 0}}, // (126, 33)
+ { 0, { 0, 0, 0}}, // (127, 33)
+ { 0, { 0, 0, 0}}, // (128, 33)
+ { 0, { 0, 0, 0}}, // (129, 33)
+ { 0, { 0, 0, 0}}, // (130, 33)
+ { 0, { 0, 0, 0}}, // (131, 33)
+ { 0, { 0, 0, 0}}, // (132, 33)
+ { 0, { 0, 0, 0}}, // (133, 33)
+ { 0, { 0, 0, 0}}, // (134, 33)
+ { 0, { 0, 0, 0}}, // (135, 33)
+ { 0, { 0, 0, 0}}, // (136, 33)
+ { 0, { 0, 0, 0}}, // (137, 33)
+ { 0, { 0, 0, 0}}, // (138, 33)
+ { 0, { 0, 0, 0}}, // (139, 33)
+ { 0, { 0, 0, 0}}, // (140, 33)
+ { 0, { 0, 0, 0}}, // (141, 33)
+ { 0, { 0, 0, 0}}, // (142, 33)
+ { 0, { 0, 0, 0}}, // (143, 33)
+ { 0, { 0, 0, 0}}, // (144, 33)
+ { 0, { 0, 0, 0}}, // (145, 33)
+ { 0, { 0, 0, 0}}, // (146, 33)
+ { 0, { 0, 0, 0}}, // (147, 33)
+ { 0, { 0, 0, 0}}, // (148, 33)
+ { 0, { 0, 0, 0}}, // (149, 33)
+ { 0, { 0, 0, 0}}, // (150, 33)
+ { 0, { 0, 0, 0}}, // (151, 33)
+ { 0, { 0, 0, 0}}, // (152, 33)
+ { 0, { 0, 0, 0}}, // (153, 33)
+ { 0, { 0, 0, 0}}, // (154, 33)
+ { 0, { 0, 0, 0}}, // (155, 33)
+ { 0, { 0, 0, 0}}, // (156, 33)
+ { 68, { 0, 0, 0}}, // (157, 33)
+ {128, { 0, 0, 0}}, // (158, 33)
+ {128, { 0, 0, 0}}, // (159, 33)
+ {128, { 0, 0, 0}}, // (160, 33)
+ {128, { 0, 0, 0}}, // (161, 33)
+ {128, { 0, 0, 0}}, // (162, 33)
+ {128, { 0, 0, 0}}, // (163, 33)
+ {128, { 0, 0, 0}}, // (164, 33)
+ {128, { 0, 0, 0}}, // (165, 33)
+ {128, { 0, 0, 0}}, // (166, 33)
+ {128, { 0, 0, 0}}, // (167, 33)
+ {128, { 0, 0, 0}}, // (168, 33)
+ {128, { 0, 0, 0}}, // (169, 33)
+ {128, { 0, 0, 0}}, // (170, 33)
+ {128, { 0, 0, 0}}, // (171, 33)
+ {128, { 0, 0, 0}}, // (172, 33)
+ {128, { 0, 0, 0}}, // (173, 33)
+ {128, { 0, 0, 0}}, // (174, 33)
+ {128, { 0, 0, 0}}, // (175, 33)
+ {128, { 0, 0, 0}}, // (176, 33)
+ {128, { 0, 0, 0}}, // (177, 33)
+ {128, { 0, 0, 0}}, // (178, 33)
+ {128, { 0, 0, 0}}, // (179, 33)
+ {128, { 0, 0, 0}}, // ( 0, 34)
+ {128, { 0, 0, 0}}, // ( 1, 34)
+ {128, { 0, 0, 0}}, // ( 2, 34)
+ {128, { 0, 0, 0}}, // ( 3, 34)
+ {128, { 0, 0, 0}}, // ( 4, 34)
+ {128, { 0, 0, 0}}, // ( 5, 34)
+ {128, { 0, 0, 0}}, // ( 6, 34)
+ {128, { 0, 0, 0}}, // ( 7, 34)
+ {128, { 0, 0, 0}}, // ( 8, 34)
+ {128, { 0, 0, 0}}, // ( 9, 34)
+ {128, { 0, 0, 0}}, // ( 10, 34)
+ {128, { 0, 0, 0}}, // ( 11, 34)
+ {128, { 0, 0, 0}}, // ( 12, 34)
+ {128, { 0, 0, 0}}, // ( 13, 34)
+ {128, { 0, 0, 0}}, // ( 14, 34)
+ {128, { 0, 0, 0}}, // ( 15, 34)
+ {128, { 0, 0, 0}}, // ( 16, 34)
+ {128, { 0, 0, 0}}, // ( 17, 34)
+ {128, { 0, 0, 0}}, // ( 18, 34)
+ {128, { 0, 0, 0}}, // ( 19, 34)
+ {128, { 0, 0, 0}}, // ( 20, 34)
+ { 92, { 0, 0, 0}}, // ( 21, 34)
+ { 2, { 0, 0, 0}}, // ( 22, 34)
+ { 0, { 0, 0, 0}}, // ( 23, 34)
+ { 0, { 0, 0, 0}}, // ( 24, 34)
+ { 0, { 0, 0, 0}}, // ( 25, 34)
+ { 0, { 0, 0, 0}}, // ( 26, 34)
+ { 0, { 0, 0, 0}}, // ( 27, 34)
+ { 0, { 0, 0, 0}}, // ( 28, 34)
+ { 0, { 0, 0, 0}}, // ( 29, 34)
+ { 0, { 0, 0, 0}}, // ( 30, 34)
+ { 0, { 0, 0, 0}}, // ( 31, 34)
+ { 0, { 0, 0, 0}}, // ( 32, 34)
+ { 0, { 0, 0, 0}}, // ( 33, 34)
+ { 0, { 0, 0, 0}}, // ( 34, 34)
+ { 0, { 0, 0, 0}}, // ( 35, 34)
+ { 0, { 0, 0, 0}}, // ( 36, 34)
+ { 0, { 0, 0, 0}}, // ( 37, 34)
+ { 0, { 0, 0, 0}}, // ( 38, 34)
+ { 0, { 0, 0, 0}}, // ( 39, 34)
+ { 0, { 0, 0, 0}}, // ( 40, 34)
+ { 0, { 0, 0, 0}}, // ( 41, 34)
+ { 0, { 0, 0, 0}}, // ( 42, 34)
+ { 0, { 0, 0, 0}}, // ( 43, 34)
+ { 0, { 0, 0, 0}}, // ( 44, 34)
+ { 0, { 0, 0, 0}}, // ( 45, 34)
+ { 0, { 0, 0, 0}}, // ( 46, 34)
+ { 0, { 0, 0, 0}}, // ( 47, 34)
+ { 0, { 0, 0, 0}}, // ( 48, 34)
+ { 0, { 0, 0, 0}}, // ( 49, 34)
+ { 0, { 0, 0, 0}}, // ( 50, 34)
+ { 0, { 0, 0, 0}}, // ( 51, 34)
+ { 0, { 0, 0, 0}}, // ( 52, 34)
+ { 0, { 0, 0, 0}}, // ( 53, 34)
+ { 0, { 0, 0, 0}}, // ( 54, 34)
+ { 0, { 0, 0, 0}}, // ( 55, 34)
+ { 0, { 0, 0, 0}}, // ( 56, 34)
+ { 0, { 0, 0, 0}}, // ( 57, 34)
+ { 0, { 0, 0, 0}}, // ( 58, 34)
+ { 0, { 0, 0, 0}}, // ( 59, 34)
+ { 0, { 0, 0, 0}}, // ( 60, 34)
+ { 0, { 0, 0, 0}}, // ( 61, 34)
+ { 0, { 0, 0, 0}}, // ( 62, 34)
+ { 0, { 0, 0, 0}}, // ( 63, 34)
+ { 0, { 0, 0, 0}}, // ( 64, 34)
+ { 0, { 0, 0, 0}}, // ( 65, 34)
+ { 0, { 0, 0, 0}}, // ( 66, 34)
+ { 0, { 0, 0, 0}}, // ( 67, 34)
+ { 0, { 0, 0, 0}}, // ( 68, 34)
+ { 0, { 0, 0, 0}}, // ( 69, 34)
+ { 0, { 0, 0, 0}}, // ( 70, 34)
+ { 0, { 0, 0, 0}}, // ( 71, 34)
+ { 0, { 0, 0, 0}}, // ( 72, 34)
+ { 0, { 0, 0, 0}}, // ( 73, 34)
+ { 0, { 0, 0, 0}}, // ( 74, 34)
+ { 0, { 0, 0, 0}}, // ( 75, 34)
+ { 0, { 0, 0, 0}}, // ( 76, 34)
+ { 0, { 0, 0, 0}}, // ( 77, 34)
+ { 0, { 0, 0, 0}}, // ( 78, 34)
+ { 0, { 0, 0, 0}}, // ( 79, 34)
+ { 0, { 0, 0, 0}}, // ( 80, 34)
+ { 0, { 0, 0, 0}}, // ( 81, 34)
+ { 0, { 0, 0, 0}}, // ( 82, 34)
+ { 0, { 0, 0, 0}}, // ( 83, 34)
+ { 0, { 0, 0, 0}}, // ( 84, 34)
+ { 0, { 0, 0, 0}}, // ( 85, 34)
+ { 0, { 0, 0, 0}}, // ( 86, 34)
+ { 0, { 0, 0, 0}}, // ( 87, 34)
+ { 0, { 0, 0, 0}}, // ( 88, 34)
+ { 0, { 0, 0, 0}}, // ( 89, 34)
+ { 0, { 0, 0, 0}}, // ( 90, 34)
+ { 0, { 0, 0, 0}}, // ( 91, 34)
+ { 0, { 0, 0, 0}}, // ( 92, 34)
+ { 0, { 0, 0, 0}}, // ( 93, 34)
+ { 0, { 0, 0, 0}}, // ( 94, 34)
+ { 0, { 0, 0, 0}}, // ( 95, 34)
+ { 0, { 0, 0, 0}}, // ( 96, 34)
+ { 0, { 0, 0, 0}}, // ( 97, 34)
+ { 0, { 0, 0, 0}}, // ( 98, 34)
+ { 0, { 0, 0, 0}}, // ( 99, 34)
+ { 0, { 0, 0, 0}}, // (100, 34)
+ { 0, { 0, 0, 0}}, // (101, 34)
+ { 0, { 0, 0, 0}}, // (102, 34)
+ { 0, { 0, 0, 0}}, // (103, 34)
+ { 0, { 0, 0, 0}}, // (104, 34)
+ { 0, { 0, 0, 0}}, // (105, 34)
+ { 0, { 0, 0, 0}}, // (106, 34)
+ { 0, { 0, 0, 0}}, // (107, 34)
+ { 0, { 0, 0, 0}}, // (108, 34)
+ { 0, { 0, 0, 0}}, // (109, 34)
+ { 0, { 0, 0, 0}}, // (110, 34)
+ { 0, { 0, 0, 0}}, // (111, 34)
+ { 0, { 0, 0, 0}}, // (112, 34)
+ { 0, { 0, 0, 0}}, // (113, 34)
+ { 0, { 0, 0, 0}}, // (114, 34)
+ { 0, { 0, 0, 0}}, // (115, 34)
+ { 0, { 0, 0, 0}}, // (116, 34)
+ { 0, { 0, 0, 0}}, // (117, 34)
+ { 0, { 0, 0, 0}}, // (118, 34)
+ { 0, { 0, 0, 0}}, // (119, 34)
+ { 0, { 0, 0, 0}}, // (120, 34)
+ { 0, { 0, 0, 0}}, // (121, 34)
+ { 0, { 0, 0, 0}}, // (122, 34)
+ { 0, { 0, 0, 0}}, // (123, 34)
+ { 0, { 0, 0, 0}}, // (124, 34)
+ { 0, { 0, 0, 0}}, // (125, 34)
+ { 0, { 0, 0, 0}}, // (126, 34)
+ { 0, { 0, 0, 0}}, // (127, 34)
+ { 0, { 0, 0, 0}}, // (128, 34)
+ { 0, { 0, 0, 0}}, // (129, 34)
+ { 0, { 0, 0, 0}}, // (130, 34)
+ { 0, { 0, 0, 0}}, // (131, 34)
+ { 0, { 0, 0, 0}}, // (132, 34)
+ { 0, { 0, 0, 0}}, // (133, 34)
+ { 0, { 0, 0, 0}}, // (134, 34)
+ { 0, { 0, 0, 0}}, // (135, 34)
+ { 0, { 0, 0, 0}}, // (136, 34)
+ { 0, { 0, 0, 0}}, // (137, 34)
+ { 0, { 0, 0, 0}}, // (138, 34)
+ { 0, { 0, 0, 0}}, // (139, 34)
+ { 0, { 0, 0, 0}}, // (140, 34)
+ { 0, { 0, 0, 0}}, // (141, 34)
+ { 0, { 0, 0, 0}}, // (142, 34)
+ { 0, { 0, 0, 0}}, // (143, 34)
+ { 0, { 0, 0, 0}}, // (144, 34)
+ { 0, { 0, 0, 0}}, // (145, 34)
+ { 0, { 0, 0, 0}}, // (146, 34)
+ { 0, { 0, 0, 0}}, // (147, 34)
+ { 0, { 0, 0, 0}}, // (148, 34)
+ { 0, { 0, 0, 0}}, // (149, 34)
+ { 0, { 0, 0, 0}}, // (150, 34)
+ { 0, { 0, 0, 0}}, // (151, 34)
+ { 0, { 0, 0, 0}}, // (152, 34)
+ { 0, { 0, 0, 0}}, // (153, 34)
+ { 0, { 0, 0, 0}}, // (154, 34)
+ { 0, { 0, 0, 0}}, // (155, 34)
+ { 0, { 0, 0, 0}}, // (156, 34)
+ { 2, { 0, 0, 0}}, // (157, 34)
+ { 92, { 0, 0, 0}}, // (158, 34)
+ {128, { 0, 0, 0}}, // (159, 34)
+ {128, { 0, 0, 0}}, // (160, 34)
+ {128, { 0, 0, 0}}, // (161, 34)
+ {128, { 0, 0, 0}}, // (162, 34)
+ {128, { 0, 0, 0}}, // (163, 34)
+ {128, { 0, 0, 0}}, // (164, 34)
+ {128, { 0, 0, 0}}, // (165, 34)
+ {128, { 0, 0, 0}}, // (166, 34)
+ {128, { 0, 0, 0}}, // (167, 34)
+ {128, { 0, 0, 0}}, // (168, 34)
+ {128, { 0, 0, 0}}, // (169, 34)
+ {128, { 0, 0, 0}}, // (170, 34)
+ {128, { 0, 0, 0}}, // (171, 34)
+ {128, { 0, 0, 0}}, // (172, 34)
+ {128, { 0, 0, 0}}, // (173, 34)
+ {128, { 0, 0, 0}}, // (174, 34)
+ {128, { 0, 0, 0}}, // (175, 34)
+ {128, { 0, 0, 0}}, // (176, 34)
+ {128, { 0, 0, 0}}, // (177, 34)
+ {128, { 0, 0, 0}}, // (178, 34)
+ {128, { 0, 0, 0}}, // (179, 34)
+ {128, { 0, 0, 0}}, // ( 0, 35)
+ {128, { 0, 0, 0}}, // ( 1, 35)
+ {128, { 0, 0, 0}}, // ( 2, 35)
+ {128, { 0, 0, 0}}, // ( 3, 35)
+ {128, { 0, 0, 0}}, // ( 4, 35)
+ {128, { 0, 0, 0}}, // ( 5, 35)
+ {128, { 0, 0, 0}}, // ( 6, 35)
+ {128, { 0, 0, 0}}, // ( 7, 35)
+ {128, { 0, 0, 0}}, // ( 8, 35)
+ {128, { 0, 0, 0}}, // ( 9, 35)
+ {128, { 0, 0, 0}}, // ( 10, 35)
+ {128, { 0, 0, 0}}, // ( 11, 35)
+ {128, { 0, 0, 0}}, // ( 12, 35)
+ {128, { 0, 0, 0}}, // ( 13, 35)
+ {128, { 0, 0, 0}}, // ( 14, 35)
+ {128, { 0, 0, 0}}, // ( 15, 35)
+ {128, { 0, 0, 0}}, // ( 16, 35)
+ {128, { 0, 0, 0}}, // ( 17, 35)
+ {128, { 0, 0, 0}}, // ( 18, 35)
+ {128, { 0, 0, 0}}, // ( 19, 35)
+ {111, { 0, 0, 0}}, // ( 20, 35)
+ { 9, { 0, 0, 0}}, // ( 21, 35)
+ { 0, { 0, 0, 0}}, // ( 22, 35)
+ { 0, { 0, 0, 0}}, // ( 23, 35)
+ { 0, { 0, 0, 0}}, // ( 24, 35)
+ { 0, { 0, 0, 0}}, // ( 25, 35)
+ { 0, { 0, 0, 0}}, // ( 26, 35)
+ { 0, { 0, 0, 0}}, // ( 27, 35)
+ { 0, { 0, 0, 0}}, // ( 28, 35)
+ { 0, { 0, 0, 0}}, // ( 29, 35)
+ { 0, { 0, 0, 0}}, // ( 30, 35)
+ { 0, { 0, 0, 0}}, // ( 31, 35)
+ { 0, { 0, 0, 0}}, // ( 32, 35)
+ { 0, { 0, 0, 0}}, // ( 33, 35)
+ { 0, { 0, 0, 0}}, // ( 34, 35)
+ { 0, { 0, 0, 0}}, // ( 35, 35)
+ { 0, { 0, 0, 0}}, // ( 36, 35)
+ { 0, { 0, 0, 0}}, // ( 37, 35)
+ { 0, { 0, 0, 0}}, // ( 38, 35)
+ { 0, { 0, 0, 0}}, // ( 39, 35)
+ { 0, { 0, 0, 0}}, // ( 40, 35)
+ { 0, { 0, 0, 0}}, // ( 41, 35)
+ { 0, { 0, 0, 0}}, // ( 42, 35)
+ { 0, { 0, 0, 0}}, // ( 43, 35)
+ { 0, { 0, 0, 0}}, // ( 44, 35)
+ { 0, { 0, 0, 0}}, // ( 45, 35)
+ { 0, { 0, 0, 0}}, // ( 46, 35)
+ { 0, { 0, 0, 0}}, // ( 47, 35)
+ { 0, { 0, 0, 0}}, // ( 48, 35)
+ { 0, { 0, 0, 0}}, // ( 49, 35)
+ { 0, { 0, 0, 0}}, // ( 50, 35)
+ { 0, { 0, 0, 0}}, // ( 51, 35)
+ { 0, { 0, 0, 0}}, // ( 52, 35)
+ { 0, { 0, 0, 0}}, // ( 53, 35)
+ { 0, { 0, 0, 0}}, // ( 54, 35)
+ { 0, { 0, 0, 0}}, // ( 55, 35)
+ { 0, { 0, 0, 0}}, // ( 56, 35)
+ { 0, { 0, 0, 0}}, // ( 57, 35)
+ { 0, { 0, 0, 0}}, // ( 58, 35)
+ { 0, { 0, 0, 0}}, // ( 59, 35)
+ { 0, { 0, 0, 0}}, // ( 60, 35)
+ { 0, { 0, 0, 0}}, // ( 61, 35)
+ { 0, { 0, 0, 0}}, // ( 62, 35)
+ { 0, { 0, 0, 0}}, // ( 63, 35)
+ { 0, { 0, 0, 0}}, // ( 64, 35)
+ { 0, { 0, 0, 0}}, // ( 65, 35)
+ { 0, { 0, 0, 0}}, // ( 66, 35)
+ { 0, { 0, 0, 0}}, // ( 67, 35)
+ { 0, { 0, 0, 0}}, // ( 68, 35)
+ { 0, { 0, 0, 0}}, // ( 69, 35)
+ { 0, { 0, 0, 0}}, // ( 70, 35)
+ { 0, { 0, 0, 0}}, // ( 71, 35)
+ { 0, { 0, 0, 0}}, // ( 72, 35)
+ { 0, { 0, 0, 0}}, // ( 73, 35)
+ { 0, { 0, 0, 0}}, // ( 74, 35)
+ { 0, { 0, 0, 0}}, // ( 75, 35)
+ { 0, { 0, 0, 0}}, // ( 76, 35)
+ { 0, { 0, 0, 0}}, // ( 77, 35)
+ { 0, { 0, 0, 0}}, // ( 78, 35)
+ { 0, { 0, 0, 0}}, // ( 79, 35)
+ { 0, { 0, 0, 0}}, // ( 80, 35)
+ { 0, { 0, 0, 0}}, // ( 81, 35)
+ { 0, { 0, 0, 0}}, // ( 82, 35)
+ { 0, { 0, 0, 0}}, // ( 83, 35)
+ { 0, { 0, 0, 0}}, // ( 84, 35)
+ { 0, { 0, 0, 0}}, // ( 85, 35)
+ { 0, { 0, 0, 0}}, // ( 86, 35)
+ { 0, { 0, 0, 0}}, // ( 87, 35)
+ { 0, { 0, 0, 0}}, // ( 88, 35)
+ { 0, { 0, 0, 0}}, // ( 89, 35)
+ { 0, { 0, 0, 0}}, // ( 90, 35)
+ { 0, { 0, 0, 0}}, // ( 91, 35)
+ { 0, { 0, 0, 0}}, // ( 92, 35)
+ { 0, { 0, 0, 0}}, // ( 93, 35)
+ { 0, { 0, 0, 0}}, // ( 94, 35)
+ { 0, { 0, 0, 0}}, // ( 95, 35)
+ { 0, { 0, 0, 0}}, // ( 96, 35)
+ { 0, { 0, 0, 0}}, // ( 97, 35)
+ { 0, { 0, 0, 0}}, // ( 98, 35)
+ { 0, { 0, 0, 0}}, // ( 99, 35)
+ { 0, { 0, 0, 0}}, // (100, 35)
+ { 0, { 0, 0, 0}}, // (101, 35)
+ { 0, { 0, 0, 0}}, // (102, 35)
+ { 0, { 0, 0, 0}}, // (103, 35)
+ { 0, { 0, 0, 0}}, // (104, 35)
+ { 0, { 0, 0, 0}}, // (105, 35)
+ { 0, { 0, 0, 0}}, // (106, 35)
+ { 0, { 0, 0, 0}}, // (107, 35)
+ { 0, { 0, 0, 0}}, // (108, 35)
+ { 0, { 0, 0, 0}}, // (109, 35)
+ { 0, { 0, 0, 0}}, // (110, 35)
+ { 0, { 0, 0, 0}}, // (111, 35)
+ { 0, { 0, 0, 0}}, // (112, 35)
+ { 0, { 0, 0, 0}}, // (113, 35)
+ { 0, { 0, 0, 0}}, // (114, 35)
+ { 0, { 0, 0, 0}}, // (115, 35)
+ { 0, { 0, 0, 0}}, // (116, 35)
+ { 0, { 0, 0, 0}}, // (117, 35)
+ { 0, { 0, 0, 0}}, // (118, 35)
+ { 0, { 0, 0, 0}}, // (119, 35)
+ { 0, { 0, 0, 0}}, // (120, 35)
+ { 0, { 0, 0, 0}}, // (121, 35)
+ { 0, { 0, 0, 0}}, // (122, 35)
+ { 0, { 0, 0, 0}}, // (123, 35)
+ { 0, { 0, 0, 0}}, // (124, 35)
+ { 0, { 0, 0, 0}}, // (125, 35)
+ { 0, { 0, 0, 0}}, // (126, 35)
+ { 0, { 0, 0, 0}}, // (127, 35)
+ { 0, { 0, 0, 0}}, // (128, 35)
+ { 0, { 0, 0, 0}}, // (129, 35)
+ { 0, { 0, 0, 0}}, // (130, 35)
+ { 0, { 0, 0, 0}}, // (131, 35)
+ { 0, { 0, 0, 0}}, // (132, 35)
+ { 0, { 0, 0, 0}}, // (133, 35)
+ { 0, { 0, 0, 0}}, // (134, 35)
+ { 0, { 0, 0, 0}}, // (135, 35)
+ { 0, { 0, 0, 0}}, // (136, 35)
+ { 0, { 0, 0, 0}}, // (137, 35)
+ { 0, { 0, 0, 0}}, // (138, 35)
+ { 0, { 0, 0, 0}}, // (139, 35)
+ { 0, { 0, 0, 0}}, // (140, 35)
+ { 0, { 0, 0, 0}}, // (141, 35)
+ { 0, { 0, 0, 0}}, // (142, 35)
+ { 0, { 0, 0, 0}}, // (143, 35)
+ { 0, { 0, 0, 0}}, // (144, 35)
+ { 0, { 0, 0, 0}}, // (145, 35)
+ { 0, { 0, 0, 0}}, // (146, 35)
+ { 0, { 0, 0, 0}}, // (147, 35)
+ { 0, { 0, 0, 0}}, // (148, 35)
+ { 0, { 0, 0, 0}}, // (149, 35)
+ { 0, { 0, 0, 0}}, // (150, 35)
+ { 0, { 0, 0, 0}}, // (151, 35)
+ { 0, { 0, 0, 0}}, // (152, 35)
+ { 0, { 0, 0, 0}}, // (153, 35)
+ { 0, { 0, 0, 0}}, // (154, 35)
+ { 0, { 0, 0, 0}}, // (155, 35)
+ { 0, { 0, 0, 0}}, // (156, 35)
+ { 0, { 0, 0, 0}}, // (157, 35)
+ { 9, { 0, 0, 0}}, // (158, 35)
+ {111, { 0, 0, 0}}, // (159, 35)
+ {128, { 0, 0, 0}}, // (160, 35)
+ {128, { 0, 0, 0}}, // (161, 35)
+ {128, { 0, 0, 0}}, // (162, 35)
+ {128, { 0, 0, 0}}, // (163, 35)
+ {128, { 0, 0, 0}}, // (164, 35)
+ {128, { 0, 0, 0}}, // (165, 35)
+ {128, { 0, 0, 0}}, // (166, 35)
+ {128, { 0, 0, 0}}, // (167, 35)
+ {128, { 0, 0, 0}}, // (168, 35)
+ {128, { 0, 0, 0}}, // (169, 35)
+ {128, { 0, 0, 0}}, // (170, 35)
+ {128, { 0, 0, 0}}, // (171, 35)
+ {128, { 0, 0, 0}}, // (172, 35)
+ {128, { 0, 0, 0}}, // (173, 35)
+ {128, { 0, 0, 0}}, // (174, 35)
+ {128, { 0, 0, 0}}, // (175, 35)
+ {128, { 0, 0, 0}}, // (176, 35)
+ {128, { 0, 0, 0}}, // (177, 35)
+ {128, { 0, 0, 0}}, // (178, 35)
+ {128, { 0, 0, 0}}, // (179, 35)
+ {128, { 0, 0, 0}}, // ( 0, 36)
+ {128, { 0, 0, 0}}, // ( 1, 36)
+ {128, { 0, 0, 0}}, // ( 2, 36)
+ {128, { 0, 0, 0}}, // ( 3, 36)
+ {128, { 0, 0, 0}}, // ( 4, 36)
+ {128, { 0, 0, 0}}, // ( 5, 36)
+ {128, { 0, 0, 0}}, // ( 6, 36)
+ {128, { 0, 0, 0}}, // ( 7, 36)
+ {128, { 0, 0, 0}}, // ( 8, 36)
+ {128, { 0, 0, 0}}, // ( 9, 36)
+ {128, { 0, 0, 0}}, // ( 10, 36)
+ {128, { 0, 0, 0}}, // ( 11, 36)
+ {128, { 0, 0, 0}}, // ( 12, 36)
+ {128, { 0, 0, 0}}, // ( 13, 36)
+ {128, { 0, 0, 0}}, // ( 14, 36)
+ {128, { 0, 0, 0}}, // ( 15, 36)
+ {128, { 0, 0, 0}}, // ( 16, 36)
+ {128, { 0, 0, 0}}, // ( 17, 36)
+ {128, { 0, 0, 0}}, // ( 18, 36)
+ {123, { 0, 0, 0}}, // ( 19, 36)
+ { 24, { 0, 0, 0}}, // ( 20, 36)
+ { 0, { 0, 0, 0}}, // ( 21, 36)
+ { 0, { 0, 0, 0}}, // ( 22, 36)
+ { 0, { 0, 0, 0}}, // ( 23, 36)
+ { 0, { 0, 0, 0}}, // ( 24, 36)
+ { 0, { 0, 0, 0}}, // ( 25, 36)
+ { 0, { 0, 0, 0}}, // ( 26, 36)
+ { 0, { 0, 0, 0}}, // ( 27, 36)
+ { 0, { 0, 0, 0}}, // ( 28, 36)
+ { 0, { 0, 0, 0}}, // ( 29, 36)
+ { 0, { 0, 0, 0}}, // ( 30, 36)
+ { 0, { 0, 0, 0}}, // ( 31, 36)
+ { 0, { 0, 0, 0}}, // ( 32, 36)
+ { 0, { 0, 0, 0}}, // ( 33, 36)
+ { 0, { 0, 0, 0}}, // ( 34, 36)
+ { 0, { 0, 0, 0}}, // ( 35, 36)
+ { 0, { 0, 0, 0}}, // ( 36, 36)
+ { 0, { 0, 0, 0}}, // ( 37, 36)
+ { 0, { 0, 0, 0}}, // ( 38, 36)
+ { 0, { 0, 0, 0}}, // ( 39, 36)
+ { 0, { 0, 0, 0}}, // ( 40, 36)
+ { 0, { 0, 0, 0}}, // ( 41, 36)
+ { 0, { 0, 0, 0}}, // ( 42, 36)
+ { 0, { 0, 0, 0}}, // ( 43, 36)
+ { 0, { 0, 0, 0}}, // ( 44, 36)
+ { 0, { 0, 0, 0}}, // ( 45, 36)
+ { 0, { 0, 0, 0}}, // ( 46, 36)
+ { 0, { 0, 0, 0}}, // ( 47, 36)
+ { 0, { 0, 0, 0}}, // ( 48, 36)
+ { 0, { 0, 0, 0}}, // ( 49, 36)
+ { 0, { 0, 0, 0}}, // ( 50, 36)
+ { 0, { 0, 0, 0}}, // ( 51, 36)
+ { 0, { 0, 0, 0}}, // ( 52, 36)
+ { 0, { 0, 0, 0}}, // ( 53, 36)
+ { 0, { 0, 0, 0}}, // ( 54, 36)
+ { 0, { 0, 0, 0}}, // ( 55, 36)
+ { 0, { 0, 0, 0}}, // ( 56, 36)
+ { 0, { 0, 0, 0}}, // ( 57, 36)
+ { 0, { 0, 0, 0}}, // ( 58, 36)
+ { 0, { 0, 0, 0}}, // ( 59, 36)
+ { 0, { 0, 0, 0}}, // ( 60, 36)
+ { 0, { 0, 0, 0}}, // ( 61, 36)
+ { 0, { 0, 0, 0}}, // ( 62, 36)
+ { 0, { 0, 0, 0}}, // ( 63, 36)
+ { 0, { 0, 0, 0}}, // ( 64, 36)
+ { 0, { 0, 0, 0}}, // ( 65, 36)
+ { 0, { 0, 0, 0}}, // ( 66, 36)
+ { 0, { 0, 0, 0}}, // ( 67, 36)
+ { 0, { 0, 0, 0}}, // ( 68, 36)
+ { 0, { 0, 0, 0}}, // ( 69, 36)
+ { 0, { 0, 0, 0}}, // ( 70, 36)
+ { 0, { 0, 0, 0}}, // ( 71, 36)
+ { 0, { 0, 0, 0}}, // ( 72, 36)
+ { 0, { 0, 0, 0}}, // ( 73, 36)
+ { 0, { 0, 0, 0}}, // ( 74, 36)
+ { 0, { 0, 0, 0}}, // ( 75, 36)
+ { 0, { 0, 0, 0}}, // ( 76, 36)
+ { 0, { 0, 0, 0}}, // ( 77, 36)
+ { 0, { 0, 0, 0}}, // ( 78, 36)
+ { 0, { 0, 0, 0}}, // ( 79, 36)
+ { 0, { 0, 0, 0}}, // ( 80, 36)
+ { 0, { 0, 0, 0}}, // ( 81, 36)
+ { 0, { 0, 0, 0}}, // ( 82, 36)
+ { 0, { 0, 0, 0}}, // ( 83, 36)
+ { 0, { 0, 0, 0}}, // ( 84, 36)
+ { 0, { 0, 0, 0}}, // ( 85, 36)
+ { 0, { 0, 0, 0}}, // ( 86, 36)
+ { 0, { 0, 0, 0}}, // ( 87, 36)
+ { 0, { 0, 0, 0}}, // ( 88, 36)
+ { 0, { 0, 0, 0}}, // ( 89, 36)
+ { 0, { 0, 0, 0}}, // ( 90, 36)
+ { 0, { 0, 0, 0}}, // ( 91, 36)
+ { 0, { 0, 0, 0}}, // ( 92, 36)
+ { 0, { 0, 0, 0}}, // ( 93, 36)
+ { 0, { 0, 0, 0}}, // ( 94, 36)
+ { 0, { 0, 0, 0}}, // ( 95, 36)
+ { 0, { 0, 0, 0}}, // ( 96, 36)
+ { 0, { 0, 0, 0}}, // ( 97, 36)
+ { 0, { 0, 0, 0}}, // ( 98, 36)
+ { 0, { 0, 0, 0}}, // ( 99, 36)
+ { 0, { 0, 0, 0}}, // (100, 36)
+ { 0, { 0, 0, 0}}, // (101, 36)
+ { 0, { 0, 0, 0}}, // (102, 36)
+ { 0, { 0, 0, 0}}, // (103, 36)
+ { 0, { 0, 0, 0}}, // (104, 36)
+ { 0, { 0, 0, 0}}, // (105, 36)
+ { 0, { 0, 0, 0}}, // (106, 36)
+ { 0, { 0, 0, 0}}, // (107, 36)
+ { 0, { 0, 0, 0}}, // (108, 36)
+ { 0, { 0, 0, 0}}, // (109, 36)
+ { 0, { 0, 0, 0}}, // (110, 36)
+ { 0, { 0, 0, 0}}, // (111, 36)
+ { 0, { 0, 0, 0}}, // (112, 36)
+ { 0, { 0, 0, 0}}, // (113, 36)
+ { 0, { 0, 0, 0}}, // (114, 36)
+ { 0, { 0, 0, 0}}, // (115, 36)
+ { 0, { 0, 0, 0}}, // (116, 36)
+ { 0, { 0, 0, 0}}, // (117, 36)
+ { 0, { 0, 0, 0}}, // (118, 36)
+ { 0, { 0, 0, 0}}, // (119, 36)
+ { 0, { 0, 0, 0}}, // (120, 36)
+ { 0, { 0, 0, 0}}, // (121, 36)
+ { 0, { 0, 0, 0}}, // (122, 36)
+ { 0, { 0, 0, 0}}, // (123, 36)
+ { 0, { 0, 0, 0}}, // (124, 36)
+ { 0, { 0, 0, 0}}, // (125, 36)
+ { 0, { 0, 0, 0}}, // (126, 36)
+ { 0, { 0, 0, 0}}, // (127, 36)
+ { 0, { 0, 0, 0}}, // (128, 36)
+ { 0, { 0, 0, 0}}, // (129, 36)
+ { 0, { 0, 0, 0}}, // (130, 36)
+ { 0, { 0, 0, 0}}, // (131, 36)
+ { 0, { 0, 0, 0}}, // (132, 36)
+ { 0, { 0, 0, 0}}, // (133, 36)
+ { 0, { 0, 0, 0}}, // (134, 36)
+ { 0, { 0, 0, 0}}, // (135, 36)
+ { 0, { 0, 0, 0}}, // (136, 36)
+ { 0, { 0, 0, 0}}, // (137, 36)
+ { 0, { 0, 0, 0}}, // (138, 36)
+ { 0, { 0, 0, 0}}, // (139, 36)
+ { 0, { 0, 0, 0}}, // (140, 36)
+ { 0, { 0, 0, 0}}, // (141, 36)
+ { 0, { 0, 0, 0}}, // (142, 36)
+ { 0, { 0, 0, 0}}, // (143, 36)
+ { 0, { 0, 0, 0}}, // (144, 36)
+ { 0, { 0, 0, 0}}, // (145, 36)
+ { 0, { 0, 0, 0}}, // (146, 36)
+ { 0, { 0, 0, 0}}, // (147, 36)
+ { 0, { 0, 0, 0}}, // (148, 36)
+ { 0, { 0, 0, 0}}, // (149, 36)
+ { 0, { 0, 0, 0}}, // (150, 36)
+ { 0, { 0, 0, 0}}, // (151, 36)
+ { 0, { 0, 0, 0}}, // (152, 36)
+ { 0, { 0, 0, 0}}, // (153, 36)
+ { 0, { 0, 0, 0}}, // (154, 36)
+ { 0, { 0, 0, 0}}, // (155, 36)
+ { 0, { 0, 0, 0}}, // (156, 36)
+ { 0, { 0, 0, 0}}, // (157, 36)
+ { 0, { 0, 0, 0}}, // (158, 36)
+ { 24, { 0, 0, 0}}, // (159, 36)
+ {123, { 0, 0, 0}}, // (160, 36)
+ {128, { 0, 0, 0}}, // (161, 36)
+ {128, { 0, 0, 0}}, // (162, 36)
+ {128, { 0, 0, 0}}, // (163, 36)
+ {128, { 0, 0, 0}}, // (164, 36)
+ {128, { 0, 0, 0}}, // (165, 36)
+ {128, { 0, 0, 0}}, // (166, 36)
+ {128, { 0, 0, 0}}, // (167, 36)
+ {128, { 0, 0, 0}}, // (168, 36)
+ {128, { 0, 0, 0}}, // (169, 36)
+ {128, { 0, 0, 0}}, // (170, 36)
+ {128, { 0, 0, 0}}, // (171, 36)
+ {128, { 0, 0, 0}}, // (172, 36)
+ {128, { 0, 0, 0}}, // (173, 36)
+ {128, { 0, 0, 0}}, // (174, 36)
+ {128, { 0, 0, 0}}, // (175, 36)
+ {128, { 0, 0, 0}}, // (176, 36)
+ {128, { 0, 0, 0}}, // (177, 36)
+ {128, { 0, 0, 0}}, // (178, 36)
+ {128, { 0, 0, 0}}, // (179, 36)
+ {128, { 0, 0, 0}}, // ( 0, 37)
+ {128, { 0, 0, 0}}, // ( 1, 37)
+ {128, { 0, 0, 0}}, // ( 2, 37)
+ {128, { 0, 0, 0}}, // ( 3, 37)
+ {128, { 0, 0, 0}}, // ( 4, 37)
+ {128, { 0, 0, 0}}, // ( 5, 37)
+ {128, { 0, 0, 0}}, // ( 6, 37)
+ {128, { 0, 0, 0}}, // ( 7, 37)
+ {128, { 0, 0, 0}}, // ( 8, 37)
+ {128, { 0, 0, 0}}, // ( 9, 37)
+ {128, { 0, 0, 0}}, // ( 10, 37)
+ {128, { 0, 0, 0}}, // ( 11, 37)
+ {128, { 0, 0, 0}}, // ( 12, 37)
+ {128, { 0, 0, 0}}, // ( 13, 37)
+ {128, { 0, 0, 0}}, // ( 14, 37)
+ {128, { 0, 0, 0}}, // ( 15, 37)
+ {128, { 0, 0, 0}}, // ( 16, 37)
+ {128, { 0, 0, 0}}, // ( 17, 37)
+ {128, { 0, 0, 0}}, // ( 18, 37)
+ { 49, { 0, 0, 0}}, // ( 19, 37)
+ { 0, { 0, 0, 0}}, // ( 20, 37)
+ { 0, { 0, 0, 0}}, // ( 21, 37)
+ { 0, { 0, 0, 0}}, // ( 22, 37)
+ { 0, { 0, 0, 0}}, // ( 23, 37)
+ { 0, { 0, 0, 0}}, // ( 24, 37)
+ { 0, { 0, 0, 0}}, // ( 25, 37)
+ { 0, { 0, 0, 0}}, // ( 26, 37)
+ { 0, { 0, 0, 0}}, // ( 27, 37)
+ { 0, { 0, 0, 0}}, // ( 28, 37)
+ { 0, { 0, 0, 0}}, // ( 29, 37)
+ { 0, { 0, 0, 0}}, // ( 30, 37)
+ { 0, { 0, 0, 0}}, // ( 31, 37)
+ { 0, { 0, 0, 0}}, // ( 32, 37)
+ { 0, { 0, 0, 0}}, // ( 33, 37)
+ { 0, { 0, 0, 0}}, // ( 34, 37)
+ { 0, { 0, 0, 0}}, // ( 35, 37)
+ { 0, { 0, 0, 0}}, // ( 36, 37)
+ { 0, { 0, 0, 0}}, // ( 37, 37)
+ { 0, { 0, 0, 0}}, // ( 38, 37)
+ { 0, { 0, 0, 0}}, // ( 39, 37)
+ { 0, { 0, 0, 0}}, // ( 40, 37)
+ { 0, { 0, 0, 0}}, // ( 41, 37)
+ { 0, { 0, 0, 0}}, // ( 42, 37)
+ { 0, { 0, 0, 0}}, // ( 43, 37)
+ { 0, { 0, 0, 0}}, // ( 44, 37)
+ { 0, { 0, 0, 0}}, // ( 45, 37)
+ { 0, { 0, 0, 0}}, // ( 46, 37)
+ { 0, { 0, 0, 0}}, // ( 47, 37)
+ { 0, { 0, 0, 0}}, // ( 48, 37)
+ { 0, { 0, 0, 0}}, // ( 49, 37)
+ { 0, { 0, 0, 0}}, // ( 50, 37)
+ { 0, { 0, 0, 0}}, // ( 51, 37)
+ { 0, { 0, 0, 0}}, // ( 52, 37)
+ { 0, { 0, 0, 0}}, // ( 53, 37)
+ { 0, { 0, 0, 0}}, // ( 54, 37)
+ { 0, { 0, 0, 0}}, // ( 55, 37)
+ { 0, { 0, 0, 0}}, // ( 56, 37)
+ { 0, { 0, 0, 0}}, // ( 57, 37)
+ { 0, { 0, 0, 0}}, // ( 58, 37)
+ { 0, { 0, 0, 0}}, // ( 59, 37)
+ { 0, { 0, 0, 0}}, // ( 60, 37)
+ { 0, { 0, 0, 0}}, // ( 61, 37)
+ { 0, { 0, 0, 0}}, // ( 62, 37)
+ { 0, { 0, 0, 0}}, // ( 63, 37)
+ { 0, { 0, 0, 0}}, // ( 64, 37)
+ { 0, { 0, 0, 0}}, // ( 65, 37)
+ { 0, { 0, 0, 0}}, // ( 66, 37)
+ { 0, { 0, 0, 0}}, // ( 67, 37)
+ { 0, { 0, 0, 0}}, // ( 68, 37)
+ { 0, { 0, 0, 0}}, // ( 69, 37)
+ { 0, { 0, 0, 0}}, // ( 70, 37)
+ { 0, { 0, 0, 0}}, // ( 71, 37)
+ { 0, { 0, 0, 0}}, // ( 72, 37)
+ { 0, { 0, 0, 0}}, // ( 73, 37)
+ { 0, { 0, 0, 0}}, // ( 74, 37)
+ { 0, { 0, 0, 0}}, // ( 75, 37)
+ { 0, { 0, 0, 0}}, // ( 76, 37)
+ { 0, { 0, 0, 0}}, // ( 77, 37)
+ { 0, { 0, 0, 0}}, // ( 78, 37)
+ { 0, { 0, 0, 0}}, // ( 79, 37)
+ { 0, { 0, 0, 0}}, // ( 80, 37)
+ { 0, { 0, 0, 0}}, // ( 81, 37)
+ { 0, { 0, 0, 0}}, // ( 82, 37)
+ { 0, { 0, 0, 0}}, // ( 83, 37)
+ { 0, { 0, 0, 0}}, // ( 84, 37)
+ { 0, { 0, 0, 0}}, // ( 85, 37)
+ { 0, { 0, 0, 0}}, // ( 86, 37)
+ { 0, { 0, 0, 0}}, // ( 87, 37)
+ { 0, { 0, 0, 0}}, // ( 88, 37)
+ { 0, { 0, 0, 0}}, // ( 89, 37)
+ { 0, { 0, 0, 0}}, // ( 90, 37)
+ { 0, { 0, 0, 0}}, // ( 91, 37)
+ { 0, { 0, 0, 0}}, // ( 92, 37)
+ { 0, { 0, 0, 0}}, // ( 93, 37)
+ { 0, { 0, 0, 0}}, // ( 94, 37)
+ { 0, { 0, 0, 0}}, // ( 95, 37)
+ { 0, { 0, 0, 0}}, // ( 96, 37)
+ { 0, { 0, 0, 0}}, // ( 97, 37)
+ { 0, { 0, 0, 0}}, // ( 98, 37)
+ { 0, { 0, 0, 0}}, // ( 99, 37)
+ { 0, { 0, 0, 0}}, // (100, 37)
+ { 0, { 0, 0, 0}}, // (101, 37)
+ { 0, { 0, 0, 0}}, // (102, 37)
+ { 0, { 0, 0, 0}}, // (103, 37)
+ { 0, { 0, 0, 0}}, // (104, 37)
+ { 0, { 0, 0, 0}}, // (105, 37)
+ { 0, { 0, 0, 0}}, // (106, 37)
+ { 0, { 0, 0, 0}}, // (107, 37)
+ { 0, { 0, 0, 0}}, // (108, 37)
+ { 0, { 0, 0, 0}}, // (109, 37)
+ { 0, { 0, 0, 0}}, // (110, 37)
+ { 0, { 0, 0, 0}}, // (111, 37)
+ { 0, { 0, 0, 0}}, // (112, 37)
+ { 0, { 0, 0, 0}}, // (113, 37)
+ { 0, { 0, 0, 0}}, // (114, 37)
+ { 0, { 0, 0, 0}}, // (115, 37)
+ { 0, { 0, 0, 0}}, // (116, 37)
+ { 0, { 0, 0, 0}}, // (117, 37)
+ { 0, { 0, 0, 0}}, // (118, 37)
+ { 0, { 0, 0, 0}}, // (119, 37)
+ { 0, { 0, 0, 0}}, // (120, 37)
+ { 0, { 0, 0, 0}}, // (121, 37)
+ { 0, { 0, 0, 0}}, // (122, 37)
+ { 0, { 0, 0, 0}}, // (123, 37)
+ { 0, { 0, 0, 0}}, // (124, 37)
+ { 0, { 0, 0, 0}}, // (125, 37)
+ { 0, { 0, 0, 0}}, // (126, 37)
+ { 0, { 0, 0, 0}}, // (127, 37)
+ { 0, { 0, 0, 0}}, // (128, 37)
+ { 0, { 0, 0, 0}}, // (129, 37)
+ { 0, { 0, 0, 0}}, // (130, 37)
+ { 0, { 0, 0, 0}}, // (131, 37)
+ { 0, { 0, 0, 0}}, // (132, 37)
+ { 0, { 0, 0, 0}}, // (133, 37)
+ { 0, { 0, 0, 0}}, // (134, 37)
+ { 0, { 0, 0, 0}}, // (135, 37)
+ { 0, { 0, 0, 0}}, // (136, 37)
+ { 0, { 0, 0, 0}}, // (137, 37)
+ { 0, { 0, 0, 0}}, // (138, 37)
+ { 0, { 0, 0, 0}}, // (139, 37)
+ { 0, { 0, 0, 0}}, // (140, 37)
+ { 0, { 0, 0, 0}}, // (141, 37)
+ { 0, { 0, 0, 0}}, // (142, 37)
+ { 0, { 0, 0, 0}}, // (143, 37)
+ { 0, { 0, 0, 0}}, // (144, 37)
+ { 0, { 0, 0, 0}}, // (145, 37)
+ { 0, { 0, 0, 0}}, // (146, 37)
+ { 0, { 0, 0, 0}}, // (147, 37)
+ { 0, { 0, 0, 0}}, // (148, 37)
+ { 0, { 0, 0, 0}}, // (149, 37)
+ { 0, { 0, 0, 0}}, // (150, 37)
+ { 0, { 0, 0, 0}}, // (151, 37)
+ { 0, { 0, 0, 0}}, // (152, 37)
+ { 0, { 0, 0, 0}}, // (153, 37)
+ { 0, { 0, 0, 0}}, // (154, 37)
+ { 0, { 0, 0, 0}}, // (155, 37)
+ { 0, { 0, 0, 0}}, // (156, 37)
+ { 0, { 0, 0, 0}}, // (157, 37)
+ { 0, { 0, 0, 0}}, // (158, 37)
+ { 0, { 0, 0, 0}}, // (159, 37)
+ { 49, { 0, 0, 0}}, // (160, 37)
+ {128, { 0, 0, 0}}, // (161, 37)
+ {128, { 0, 0, 0}}, // (162, 37)
+ {128, { 0, 0, 0}}, // (163, 37)
+ {128, { 0, 0, 0}}, // (164, 37)
+ {128, { 0, 0, 0}}, // (165, 37)
+ {128, { 0, 0, 0}}, // (166, 37)
+ {128, { 0, 0, 0}}, // (167, 37)
+ {128, { 0, 0, 0}}, // (168, 37)
+ {128, { 0, 0, 0}}, // (169, 37)
+ {128, { 0, 0, 0}}, // (170, 37)
+ {128, { 0, 0, 0}}, // (171, 37)
+ {128, { 0, 0, 0}}, // (172, 37)
+ {128, { 0, 0, 0}}, // (173, 37)
+ {128, { 0, 0, 0}}, // (174, 37)
+ {128, { 0, 0, 0}}, // (175, 37)
+ {128, { 0, 0, 0}}, // (176, 37)
+ {128, { 0, 0, 0}}, // (177, 37)
+ {128, { 0, 0, 0}}, // (178, 37)
+ {128, { 0, 0, 0}}, // (179, 37)
+ {128, { 0, 0, 0}}, // ( 0, 38)
+ {128, { 0, 0, 0}}, // ( 1, 38)
+ {128, { 0, 0, 0}}, // ( 2, 38)
+ {128, { 0, 0, 0}}, // ( 3, 38)
+ {128, { 0, 0, 0}}, // ( 4, 38)
+ {128, { 0, 0, 0}}, // ( 5, 38)
+ {128, { 0, 0, 0}}, // ( 6, 38)
+ {128, { 0, 0, 0}}, // ( 7, 38)
+ {128, { 0, 0, 0}}, // ( 8, 38)
+ {128, { 0, 0, 0}}, // ( 9, 38)
+ {128, { 0, 0, 0}}, // ( 10, 38)
+ {128, { 0, 0, 0}}, // ( 11, 38)
+ {128, { 0, 0, 0}}, // ( 12, 38)
+ {128, { 0, 0, 0}}, // ( 13, 38)
+ {128, { 0, 0, 0}}, // ( 14, 38)
+ {128, { 0, 0, 0}}, // ( 15, 38)
+ {128, { 0, 0, 0}}, // ( 16, 38)
+ {128, { 0, 0, 0}}, // ( 17, 38)
+ { 82, { 0, 0, 0}}, // ( 18, 38)
+ { 0, { 0, 0, 0}}, // ( 19, 38)
+ { 0, { 0, 0, 0}}, // ( 20, 38)
+ { 0, { 0, 0, 0}}, // ( 21, 38)
+ { 0, { 0, 0, 0}}, // ( 22, 38)
+ { 0, { 0, 0, 0}}, // ( 23, 38)
+ { 0, { 0, 0, 0}}, // ( 24, 38)
+ { 0, { 0, 0, 0}}, // ( 25, 38)
+ { 0, { 0, 0, 0}}, // ( 26, 38)
+ { 0, { 0, 0, 0}}, // ( 27, 38)
+ { 0, { 0, 0, 0}}, // ( 28, 38)
+ { 0, { 0, 0, 0}}, // ( 29, 38)
+ { 0, { 0, 0, 0}}, // ( 30, 38)
+ { 0, { 0, 0, 0}}, // ( 31, 38)
+ { 0, { 0, 0, 0}}, // ( 32, 38)
+ { 0, { 0, 0, 0}}, // ( 33, 38)
+ { 0, { 0, 0, 0}}, // ( 34, 38)
+ { 0, { 0, 0, 0}}, // ( 35, 38)
+ { 0, { 0, 0, 0}}, // ( 36, 38)
+ { 0, { 0, 0, 0}}, // ( 37, 38)
+ { 0, { 0, 0, 0}}, // ( 38, 38)
+ { 0, { 0, 0, 0}}, // ( 39, 38)
+ { 0, { 0, 0, 0}}, // ( 40, 38)
+ { 0, { 0, 0, 0}}, // ( 41, 38)
+ { 0, { 0, 0, 0}}, // ( 42, 38)
+ { 0, { 0, 0, 0}}, // ( 43, 38)
+ { 0, { 0, 0, 0}}, // ( 44, 38)
+ { 0, { 0, 0, 0}}, // ( 45, 38)
+ { 0, { 0, 0, 0}}, // ( 46, 38)
+ { 0, { 0, 0, 0}}, // ( 47, 38)
+ { 0, { 0, 0, 0}}, // ( 48, 38)
+ { 0, { 0, 0, 0}}, // ( 49, 38)
+ { 0, { 0, 0, 0}}, // ( 50, 38)
+ { 0, { 0, 0, 0}}, // ( 51, 38)
+ { 0, { 0, 0, 0}}, // ( 52, 38)
+ { 0, { 0, 0, 0}}, // ( 53, 38)
+ { 0, { 0, 0, 0}}, // ( 54, 38)
+ { 0, { 0, 0, 0}}, // ( 55, 38)
+ { 0, { 0, 0, 0}}, // ( 56, 38)
+ { 0, { 0, 0, 0}}, // ( 57, 38)
+ { 0, { 0, 0, 0}}, // ( 58, 38)
+ { 0, { 0, 0, 0}}, // ( 59, 38)
+ { 0, { 0, 0, 0}}, // ( 60, 38)
+ { 0, { 0, 0, 0}}, // ( 61, 38)
+ { 0, { 0, 0, 0}}, // ( 62, 38)
+ { 0, { 0, 0, 0}}, // ( 63, 38)
+ { 0, { 0, 0, 0}}, // ( 64, 38)
+ { 0, { 0, 0, 0}}, // ( 65, 38)
+ { 0, { 0, 0, 0}}, // ( 66, 38)
+ { 0, { 0, 0, 0}}, // ( 67, 38)
+ { 0, { 0, 0, 0}}, // ( 68, 38)
+ { 0, { 0, 0, 0}}, // ( 69, 38)
+ { 0, { 0, 0, 0}}, // ( 70, 38)
+ { 0, { 0, 0, 0}}, // ( 71, 38)
+ { 0, { 0, 0, 0}}, // ( 72, 38)
+ { 0, { 0, 0, 0}}, // ( 73, 38)
+ { 0, { 0, 0, 0}}, // ( 74, 38)
+ { 0, { 0, 0, 0}}, // ( 75, 38)
+ { 0, { 0, 0, 0}}, // ( 76, 38)
+ { 0, { 0, 0, 0}}, // ( 77, 38)
+ { 0, { 0, 0, 0}}, // ( 78, 38)
+ { 0, { 0, 0, 0}}, // ( 79, 38)
+ { 0, { 0, 0, 0}}, // ( 80, 38)
+ { 0, { 0, 0, 0}}, // ( 81, 38)
+ { 0, { 0, 0, 0}}, // ( 82, 38)
+ { 0, { 0, 0, 0}}, // ( 83, 38)
+ { 0, { 0, 0, 0}}, // ( 84, 38)
+ { 0, { 0, 0, 0}}, // ( 85, 38)
+ { 0, { 0, 0, 0}}, // ( 86, 38)
+ { 0, { 0, 0, 0}}, // ( 87, 38)
+ { 0, { 0, 0, 0}}, // ( 88, 38)
+ { 0, { 0, 0, 0}}, // ( 89, 38)
+ { 0, { 0, 0, 0}}, // ( 90, 38)
+ { 0, { 0, 0, 0}}, // ( 91, 38)
+ { 0, { 0, 0, 0}}, // ( 92, 38)
+ { 0, { 0, 0, 0}}, // ( 93, 38)
+ { 0, { 0, 0, 0}}, // ( 94, 38)
+ { 0, { 0, 0, 0}}, // ( 95, 38)
+ { 0, { 0, 0, 0}}, // ( 96, 38)
+ { 0, { 0, 0, 0}}, // ( 97, 38)
+ { 0, { 0, 0, 0}}, // ( 98, 38)
+ { 0, { 0, 0, 0}}, // ( 99, 38)
+ { 0, { 0, 0, 0}}, // (100, 38)
+ { 0, { 0, 0, 0}}, // (101, 38)
+ { 0, { 0, 0, 0}}, // (102, 38)
+ { 0, { 0, 0, 0}}, // (103, 38)
+ { 0, { 0, 0, 0}}, // (104, 38)
+ { 0, { 0, 0, 0}}, // (105, 38)
+ { 0, { 0, 0, 0}}, // (106, 38)
+ { 0, { 0, 0, 0}}, // (107, 38)
+ { 0, { 0, 0, 0}}, // (108, 38)
+ { 0, { 0, 0, 0}}, // (109, 38)
+ { 0, { 0, 0, 0}}, // (110, 38)
+ { 0, { 0, 0, 0}}, // (111, 38)
+ { 0, { 0, 0, 0}}, // (112, 38)
+ { 0, { 0, 0, 0}}, // (113, 38)
+ { 0, { 0, 0, 0}}, // (114, 38)
+ { 0, { 0, 0, 0}}, // (115, 38)
+ { 0, { 0, 0, 0}}, // (116, 38)
+ { 0, { 0, 0, 0}}, // (117, 38)
+ { 0, { 0, 0, 0}}, // (118, 38)
+ { 0, { 0, 0, 0}}, // (119, 38)
+ { 0, { 0, 0, 0}}, // (120, 38)
+ { 0, { 0, 0, 0}}, // (121, 38)
+ { 0, { 0, 0, 0}}, // (122, 38)
+ { 0, { 0, 0, 0}}, // (123, 38)
+ { 0, { 0, 0, 0}}, // (124, 38)
+ { 0, { 0, 0, 0}}, // (125, 38)
+ { 0, { 0, 0, 0}}, // (126, 38)
+ { 0, { 0, 0, 0}}, // (127, 38)
+ { 0, { 0, 0, 0}}, // (128, 38)
+ { 0, { 0, 0, 0}}, // (129, 38)
+ { 0, { 0, 0, 0}}, // (130, 38)
+ { 0, { 0, 0, 0}}, // (131, 38)
+ { 0, { 0, 0, 0}}, // (132, 38)
+ { 0, { 0, 0, 0}}, // (133, 38)
+ { 0, { 0, 0, 0}}, // (134, 38)
+ { 0, { 0, 0, 0}}, // (135, 38)
+ { 0, { 0, 0, 0}}, // (136, 38)
+ { 0, { 0, 0, 0}}, // (137, 38)
+ { 0, { 0, 0, 0}}, // (138, 38)
+ { 0, { 0, 0, 0}}, // (139, 38)
+ { 0, { 0, 0, 0}}, // (140, 38)
+ { 0, { 0, 0, 0}}, // (141, 38)
+ { 0, { 0, 0, 0}}, // (142, 38)
+ { 0, { 0, 0, 0}}, // (143, 38)
+ { 0, { 0, 0, 0}}, // (144, 38)
+ { 0, { 0, 0, 0}}, // (145, 38)
+ { 0, { 0, 0, 0}}, // (146, 38)
+ { 0, { 0, 0, 0}}, // (147, 38)
+ { 0, { 0, 0, 0}}, // (148, 38)
+ { 0, { 0, 0, 0}}, // (149, 38)
+ { 0, { 0, 0, 0}}, // (150, 38)
+ { 0, { 0, 0, 0}}, // (151, 38)
+ { 0, { 0, 0, 0}}, // (152, 38)
+ { 0, { 0, 0, 0}}, // (153, 38)
+ { 0, { 0, 0, 0}}, // (154, 38)
+ { 0, { 0, 0, 0}}, // (155, 38)
+ { 0, { 0, 0, 0}}, // (156, 38)
+ { 0, { 0, 0, 0}}, // (157, 38)
+ { 0, { 0, 0, 0}}, // (158, 38)
+ { 0, { 0, 0, 0}}, // (159, 38)
+ { 0, { 0, 0, 0}}, // (160, 38)
+ { 82, { 0, 0, 0}}, // (161, 38)
+ {128, { 0, 0, 0}}, // (162, 38)
+ {128, { 0, 0, 0}}, // (163, 38)
+ {128, { 0, 0, 0}}, // (164, 38)
+ {128, { 0, 0, 0}}, // (165, 38)
+ {128, { 0, 0, 0}}, // (166, 38)
+ {128, { 0, 0, 0}}, // (167, 38)
+ {128, { 0, 0, 0}}, // (168, 38)
+ {128, { 0, 0, 0}}, // (169, 38)
+ {128, { 0, 0, 0}}, // (170, 38)
+ {128, { 0, 0, 0}}, // (171, 38)
+ {128, { 0, 0, 0}}, // (172, 38)
+ {128, { 0, 0, 0}}, // (173, 38)
+ {128, { 0, 0, 0}}, // (174, 38)
+ {128, { 0, 0, 0}}, // (175, 38)
+ {128, { 0, 0, 0}}, // (176, 38)
+ {128, { 0, 0, 0}}, // (177, 38)
+ {128, { 0, 0, 0}}, // (178, 38)
+ {128, { 0, 0, 0}}, // (179, 38)
+ {128, { 0, 0, 0}}, // ( 0, 39)
+ {128, { 0, 0, 0}}, // ( 1, 39)
+ {128, { 0, 0, 0}}, // ( 2, 39)
+ {128, { 0, 0, 0}}, // ( 3, 39)
+ {128, { 0, 0, 0}}, // ( 4, 39)
+ {128, { 0, 0, 0}}, // ( 5, 39)
+ {128, { 0, 0, 0}}, // ( 6, 39)
+ {128, { 0, 0, 0}}, // ( 7, 39)
+ {128, { 0, 0, 0}}, // ( 8, 39)
+ {128, { 0, 0, 0}}, // ( 9, 39)
+ {128, { 0, 0, 0}}, // ( 10, 39)
+ {128, { 0, 0, 0}}, // ( 11, 39)
+ {128, { 0, 0, 0}}, // ( 12, 39)
+ {128, { 0, 0, 0}}, // ( 13, 39)
+ {128, { 0, 0, 0}}, // ( 14, 39)
+ {128, { 0, 0, 0}}, // ( 15, 39)
+ {128, { 0, 0, 0}}, // ( 16, 39)
+ {112, { 0, 0, 0}}, // ( 17, 39)
+ { 7, { 0, 0, 0}}, // ( 18, 39)
+ { 0, { 0, 0, 0}}, // ( 19, 39)
+ { 0, { 0, 0, 0}}, // ( 20, 39)
+ { 0, { 0, 0, 0}}, // ( 21, 39)
+ { 0, { 0, 0, 0}}, // ( 22, 39)
+ { 0, { 0, 0, 0}}, // ( 23, 39)
+ { 0, { 0, 0, 0}}, // ( 24, 39)
+ { 0, { 0, 0, 0}}, // ( 25, 39)
+ { 0, { 0, 0, 0}}, // ( 26, 39)
+ { 0, { 0, 0, 0}}, // ( 27, 39)
+ { 0, { 0, 0, 0}}, // ( 28, 39)
+ { 0, { 0, 0, 0}}, // ( 29, 39)
+ { 0, { 0, 0, 0}}, // ( 30, 39)
+ { 0, { 0, 0, 0}}, // ( 31, 39)
+ { 0, { 0, 0, 0}}, // ( 32, 39)
+ { 0, { 0, 0, 0}}, // ( 33, 39)
+ { 0, { 0, 0, 0}}, // ( 34, 39)
+ { 0, { 0, 0, 0}}, // ( 35, 39)
+ { 0, { 0, 0, 0}}, // ( 36, 39)
+ { 0, { 0, 0, 0}}, // ( 37, 39)
+ { 0, { 0, 0, 0}}, // ( 38, 39)
+ { 0, { 0, 0, 0}}, // ( 39, 39)
+ { 0, { 0, 0, 0}}, // ( 40, 39)
+ { 0, { 0, 0, 0}}, // ( 41, 39)
+ { 0, { 0, 0, 0}}, // ( 42, 39)
+ { 0, { 0, 0, 0}}, // ( 43, 39)
+ { 0, { 0, 0, 0}}, // ( 44, 39)
+ { 0, { 0, 0, 0}}, // ( 45, 39)
+ { 0, { 0, 0, 0}}, // ( 46, 39)
+ { 0, { 0, 0, 0}}, // ( 47, 39)
+ { 0, { 0, 0, 0}}, // ( 48, 39)
+ { 0, { 0, 0, 0}}, // ( 49, 39)
+ { 0, { 0, 0, 0}}, // ( 50, 39)
+ { 0, { 0, 0, 0}}, // ( 51, 39)
+ { 0, { 0, 0, 0}}, // ( 52, 39)
+ { 0, { 0, 0, 0}}, // ( 53, 39)
+ { 0, { 0, 0, 0}}, // ( 54, 39)
+ { 0, { 0, 0, 0}}, // ( 55, 39)
+ { 0, { 0, 0, 0}}, // ( 56, 39)
+ { 0, { 0, 0, 0}}, // ( 57, 39)
+ { 0, { 0, 0, 0}}, // ( 58, 39)
+ { 0, { 0, 0, 0}}, // ( 59, 39)
+ { 0, { 0, 0, 0}}, // ( 60, 39)
+ { 0, { 0, 0, 0}}, // ( 61, 39)
+ { 0, { 0, 0, 0}}, // ( 62, 39)
+ { 0, { 0, 0, 0}}, // ( 63, 39)
+ { 0, { 0, 0, 0}}, // ( 64, 39)
+ { 0, { 0, 0, 0}}, // ( 65, 39)
+ { 0, { 0, 0, 0}}, // ( 66, 39)
+ { 0, { 0, 0, 0}}, // ( 67, 39)
+ { 0, { 0, 0, 0}}, // ( 68, 39)
+ { 0, { 0, 0, 0}}, // ( 69, 39)
+ { 0, { 0, 0, 0}}, // ( 70, 39)
+ { 0, { 0, 0, 0}}, // ( 71, 39)
+ { 0, { 0, 0, 0}}, // ( 72, 39)
+ { 0, { 0, 0, 0}}, // ( 73, 39)
+ { 0, { 0, 0, 0}}, // ( 74, 39)
+ { 0, { 0, 0, 0}}, // ( 75, 39)
+ { 0, { 0, 0, 0}}, // ( 76, 39)
+ { 0, { 0, 0, 0}}, // ( 77, 39)
+ { 0, { 0, 0, 0}}, // ( 78, 39)
+ { 0, { 0, 0, 0}}, // ( 79, 39)
+ { 0, { 0, 0, 0}}, // ( 80, 39)
+ { 0, { 0, 0, 0}}, // ( 81, 39)
+ { 0, { 0, 0, 0}}, // ( 82, 39)
+ { 0, { 0, 0, 0}}, // ( 83, 39)
+ { 0, { 0, 0, 0}}, // ( 84, 39)
+ { 0, { 0, 0, 0}}, // ( 85, 39)
+ { 0, { 0, 0, 0}}, // ( 86, 39)
+ { 0, { 0, 0, 0}}, // ( 87, 39)
+ { 0, { 0, 0, 0}}, // ( 88, 39)
+ { 0, { 0, 0, 0}}, // ( 89, 39)
+ { 0, { 0, 0, 0}}, // ( 90, 39)
+ { 0, { 0, 0, 0}}, // ( 91, 39)
+ { 0, { 0, 0, 0}}, // ( 92, 39)
+ { 0, { 0, 0, 0}}, // ( 93, 39)
+ { 0, { 0, 0, 0}}, // ( 94, 39)
+ { 0, { 0, 0, 0}}, // ( 95, 39)
+ { 0, { 0, 0, 0}}, // ( 96, 39)
+ { 0, { 0, 0, 0}}, // ( 97, 39)
+ { 0, { 0, 0, 0}}, // ( 98, 39)
+ { 0, { 0, 0, 0}}, // ( 99, 39)
+ { 0, { 0, 0, 0}}, // (100, 39)
+ { 0, { 0, 0, 0}}, // (101, 39)
+ { 0, { 0, 0, 0}}, // (102, 39)
+ { 0, { 0, 0, 0}}, // (103, 39)
+ { 0, { 0, 0, 0}}, // (104, 39)
+ { 0, { 0, 0, 0}}, // (105, 39)
+ { 0, { 0, 0, 0}}, // (106, 39)
+ { 0, { 0, 0, 0}}, // (107, 39)
+ { 0, { 0, 0, 0}}, // (108, 39)
+ { 0, { 0, 0, 0}}, // (109, 39)
+ { 0, { 0, 0, 0}}, // (110, 39)
+ { 0, { 0, 0, 0}}, // (111, 39)
+ { 0, { 0, 0, 0}}, // (112, 39)
+ { 0, { 0, 0, 0}}, // (113, 39)
+ { 0, { 0, 0, 0}}, // (114, 39)
+ { 0, { 0, 0, 0}}, // (115, 39)
+ { 0, { 0, 0, 0}}, // (116, 39)
+ { 0, { 0, 0, 0}}, // (117, 39)
+ { 0, { 0, 0, 0}}, // (118, 39)
+ { 0, { 0, 0, 0}}, // (119, 39)
+ { 0, { 0, 0, 0}}, // (120, 39)
+ { 0, { 0, 0, 0}}, // (121, 39)
+ { 0, { 0, 0, 0}}, // (122, 39)
+ { 0, { 0, 0, 0}}, // (123, 39)
+ { 0, { 0, 0, 0}}, // (124, 39)
+ { 0, { 0, 0, 0}}, // (125, 39)
+ { 0, { 0, 0, 0}}, // (126, 39)
+ { 0, { 0, 0, 0}}, // (127, 39)
+ { 0, { 0, 0, 0}}, // (128, 39)
+ { 0, { 0, 0, 0}}, // (129, 39)
+ { 0, { 0, 0, 0}}, // (130, 39)
+ { 0, { 0, 0, 0}}, // (131, 39)
+ { 0, { 0, 0, 0}}, // (132, 39)
+ { 0, { 0, 0, 0}}, // (133, 39)
+ { 0, { 0, 0, 0}}, // (134, 39)
+ { 0, { 0, 0, 0}}, // (135, 39)
+ { 0, { 0, 0, 0}}, // (136, 39)
+ { 0, { 0, 0, 0}}, // (137, 39)
+ { 0, { 0, 0, 0}}, // (138, 39)
+ { 0, { 0, 0, 0}}, // (139, 39)
+ { 0, { 0, 0, 0}}, // (140, 39)
+ { 0, { 0, 0, 0}}, // (141, 39)
+ { 0, { 0, 0, 0}}, // (142, 39)
+ { 0, { 0, 0, 0}}, // (143, 39)
+ { 0, { 0, 0, 0}}, // (144, 39)
+ { 0, { 0, 0, 0}}, // (145, 39)
+ { 0, { 0, 0, 0}}, // (146, 39)
+ { 0, { 0, 0, 0}}, // (147, 39)
+ { 0, { 0, 0, 0}}, // (148, 39)
+ { 0, { 0, 0, 0}}, // (149, 39)
+ { 0, { 0, 0, 0}}, // (150, 39)
+ { 0, { 0, 0, 0}}, // (151, 39)
+ { 0, { 0, 0, 0}}, // (152, 39)
+ { 0, { 0, 0, 0}}, // (153, 39)
+ { 0, { 0, 0, 0}}, // (154, 39)
+ { 0, { 0, 0, 0}}, // (155, 39)
+ { 0, { 0, 0, 0}}, // (156, 39)
+ { 0, { 0, 0, 0}}, // (157, 39)
+ { 0, { 0, 0, 0}}, // (158, 39)
+ { 0, { 0, 0, 0}}, // (159, 39)
+ { 0, { 0, 0, 0}}, // (160, 39)
+ { 7, { 0, 0, 0}}, // (161, 39)
+ {112, { 0, 0, 0}}, // (162, 39)
+ {128, { 0, 0, 0}}, // (163, 39)
+ {128, { 0, 0, 0}}, // (164, 39)
+ {128, { 0, 0, 0}}, // (165, 39)
+ {128, { 0, 0, 0}}, // (166, 39)
+ {128, { 0, 0, 0}}, // (167, 39)
+ {128, { 0, 0, 0}}, // (168, 39)
+ {128, { 0, 0, 0}}, // (169, 39)
+ {128, { 0, 0, 0}}, // (170, 39)
+ {128, { 0, 0, 0}}, // (171, 39)
+ {128, { 0, 0, 0}}, // (172, 39)
+ {128, { 0, 0, 0}}, // (173, 39)
+ {128, { 0, 0, 0}}, // (174, 39)
+ {128, { 0, 0, 0}}, // (175, 39)
+ {128, { 0, 0, 0}}, // (176, 39)
+ {128, { 0, 0, 0}}, // (177, 39)
+ {128, { 0, 0, 0}}, // (178, 39)
+ {128, { 0, 0, 0}}, // (179, 39)
+ {128, { 0, 0, 0}}, // ( 0, 40)
+ {128, { 0, 0, 0}}, // ( 1, 40)
+ {128, { 0, 0, 0}}, // ( 2, 40)
+ {128, { 0, 0, 0}}, // ( 3, 40)
+ {128, { 0, 0, 0}}, // ( 4, 40)
+ {128, { 0, 0, 0}}, // ( 5, 40)
+ {128, { 0, 0, 0}}, // ( 6, 40)
+ {128, { 0, 0, 0}}, // ( 7, 40)
+ {128, { 0, 0, 0}}, // ( 8, 40)
+ {128, { 0, 0, 0}}, // ( 9, 40)
+ {128, { 0, 0, 0}}, // ( 10, 40)
+ {128, { 0, 0, 0}}, // ( 11, 40)
+ {128, { 0, 0, 0}}, // ( 12, 40)
+ {128, { 0, 0, 0}}, // ( 13, 40)
+ {128, { 0, 0, 0}}, // ( 14, 40)
+ {128, { 0, 0, 0}}, // ( 15, 40)
+ {127, { 0, 0, 0}}, // ( 16, 40)
+ { 32, { 0, 0, 0}}, // ( 17, 40)
+ { 0, { 0, 0, 0}}, // ( 18, 40)
+ { 0, { 0, 0, 0}}, // ( 19, 40)
+ { 0, { 0, 0, 0}}, // ( 20, 40)
+ { 0, { 0, 0, 0}}, // ( 21, 40)
+ { 0, { 0, 0, 0}}, // ( 22, 40)
+ { 0, { 0, 0, 0}}, // ( 23, 40)
+ { 0, { 0, 0, 0}}, // ( 24, 40)
+ { 0, { 0, 0, 0}}, // ( 25, 40)
+ { 0, { 0, 0, 0}}, // ( 26, 40)
+ { 0, { 0, 0, 0}}, // ( 27, 40)
+ { 0, { 0, 0, 0}}, // ( 28, 40)
+ { 0, { 0, 0, 0}}, // ( 29, 40)
+ { 0, { 0, 0, 0}}, // ( 30, 40)
+ { 0, { 0, 0, 0}}, // ( 31, 40)
+ { 0, { 0, 0, 0}}, // ( 32, 40)
+ { 0, { 0, 0, 0}}, // ( 33, 40)
+ { 0, { 0, 0, 0}}, // ( 34, 40)
+ { 0, { 0, 0, 0}}, // ( 35, 40)
+ { 0, { 0, 0, 0}}, // ( 36, 40)
+ { 0, { 0, 0, 0}}, // ( 37, 40)
+ { 0, { 0, 0, 0}}, // ( 38, 40)
+ { 0, { 0, 0, 0}}, // ( 39, 40)
+ { 0, { 0, 0, 0}}, // ( 40, 40)
+ { 0, { 0, 0, 0}}, // ( 41, 40)
+ { 0, { 0, 0, 0}}, // ( 42, 40)
+ { 0, { 0, 0, 0}}, // ( 43, 40)
+ { 0, { 0, 0, 0}}, // ( 44, 40)
+ { 0, { 0, 0, 0}}, // ( 45, 40)
+ { 0, { 0, 0, 0}}, // ( 46, 40)
+ { 0, { 0, 0, 0}}, // ( 47, 40)
+ { 0, { 0, 0, 0}}, // ( 48, 40)
+ { 0, { 0, 0, 0}}, // ( 49, 40)
+ { 0, { 0, 0, 0}}, // ( 50, 40)
+ { 0, { 0, 0, 0}}, // ( 51, 40)
+ { 0, { 0, 0, 0}}, // ( 52, 40)
+ { 0, { 0, 0, 0}}, // ( 53, 40)
+ { 0, { 0, 0, 0}}, // ( 54, 40)
+ { 0, { 0, 0, 0}}, // ( 55, 40)
+ { 0, { 0, 0, 0}}, // ( 56, 40)
+ { 0, { 0, 0, 0}}, // ( 57, 40)
+ { 0, { 0, 0, 0}}, // ( 58, 40)
+ { 0, { 0, 0, 0}}, // ( 59, 40)
+ { 0, { 0, 0, 0}}, // ( 60, 40)
+ { 0, { 0, 0, 0}}, // ( 61, 40)
+ { 0, { 0, 0, 0}}, // ( 62, 40)
+ { 0, { 0, 0, 0}}, // ( 63, 40)
+ { 0, { 0, 0, 0}}, // ( 64, 40)
+ { 0, { 0, 0, 0}}, // ( 65, 40)
+ { 0, { 0, 0, 0}}, // ( 66, 40)
+ { 0, { 0, 0, 0}}, // ( 67, 40)
+ { 0, { 0, 0, 0}}, // ( 68, 40)
+ { 0, { 0, 0, 0}}, // ( 69, 40)
+ { 0, { 0, 0, 0}}, // ( 70, 40)
+ { 0, { 0, 0, 0}}, // ( 71, 40)
+ { 0, { 0, 0, 0}}, // ( 72, 40)
+ { 0, { 0, 0, 0}}, // ( 73, 40)
+ { 0, { 0, 0, 0}}, // ( 74, 40)
+ { 0, { 0, 0, 0}}, // ( 75, 40)
+ { 0, { 0, 0, 0}}, // ( 76, 40)
+ { 0, { 0, 0, 0}}, // ( 77, 40)
+ { 0, { 0, 0, 0}}, // ( 78, 40)
+ { 0, { 0, 0, 0}}, // ( 79, 40)
+ { 0, { 0, 0, 0}}, // ( 80, 40)
+ { 0, { 0, 0, 0}}, // ( 81, 40)
+ { 0, { 0, 0, 0}}, // ( 82, 40)
+ { 0, { 0, 0, 0}}, // ( 83, 40)
+ { 0, { 0, 0, 0}}, // ( 84, 40)
+ { 0, { 0, 0, 0}}, // ( 85, 40)
+ { 0, { 0, 0, 0}}, // ( 86, 40)
+ { 0, { 0, 0, 0}}, // ( 87, 40)
+ { 0, { 0, 0, 0}}, // ( 88, 40)
+ { 0, { 0, 0, 0}}, // ( 89, 40)
+ { 0, { 0, 0, 0}}, // ( 90, 40)
+ { 0, { 0, 0, 0}}, // ( 91, 40)
+ { 0, { 0, 0, 0}}, // ( 92, 40)
+ { 0, { 0, 0, 0}}, // ( 93, 40)
+ { 0, { 0, 0, 0}}, // ( 94, 40)
+ { 0, { 0, 0, 0}}, // ( 95, 40)
+ { 0, { 0, 0, 0}}, // ( 96, 40)
+ { 0, { 0, 0, 0}}, // ( 97, 40)
+ { 0, { 0, 0, 0}}, // ( 98, 40)
+ { 0, { 0, 0, 0}}, // ( 99, 40)
+ { 0, { 0, 0, 0}}, // (100, 40)
+ { 0, { 0, 0, 0}}, // (101, 40)
+ { 0, { 0, 0, 0}}, // (102, 40)
+ { 0, { 0, 0, 0}}, // (103, 40)
+ { 0, { 0, 0, 0}}, // (104, 40)
+ { 0, { 0, 0, 0}}, // (105, 40)
+ { 0, { 0, 0, 0}}, // (106, 40)
+ { 0, { 0, 0, 0}}, // (107, 40)
+ { 0, { 0, 0, 0}}, // (108, 40)
+ { 0, { 0, 0, 0}}, // (109, 40)
+ { 0, { 0, 0, 0}}, // (110, 40)
+ { 0, { 0, 0, 0}}, // (111, 40)
+ { 0, { 0, 0, 0}}, // (112, 40)
+ { 0, { 0, 0, 0}}, // (113, 40)
+ { 0, { 0, 0, 0}}, // (114, 40)
+ { 0, { 0, 0, 0}}, // (115, 40)
+ { 0, { 0, 0, 0}}, // (116, 40)
+ { 0, { 0, 0, 0}}, // (117, 40)
+ { 0, { 0, 0, 0}}, // (118, 40)
+ { 0, { 0, 0, 0}}, // (119, 40)
+ { 0, { 0, 0, 0}}, // (120, 40)
+ { 0, { 0, 0, 0}}, // (121, 40)
+ { 0, { 0, 0, 0}}, // (122, 40)
+ { 0, { 0, 0, 0}}, // (123, 40)
+ { 0, { 0, 0, 0}}, // (124, 40)
+ { 0, { 0, 0, 0}}, // (125, 40)
+ { 0, { 0, 0, 0}}, // (126, 40)
+ { 0, { 0, 0, 0}}, // (127, 40)
+ { 0, { 0, 0, 0}}, // (128, 40)
+ { 0, { 0, 0, 0}}, // (129, 40)
+ { 0, { 0, 0, 0}}, // (130, 40)
+ { 0, { 0, 0, 0}}, // (131, 40)
+ { 0, { 0, 0, 0}}, // (132, 40)
+ { 0, { 0, 0, 0}}, // (133, 40)
+ { 0, { 0, 0, 0}}, // (134, 40)
+ { 0, { 0, 0, 0}}, // (135, 40)
+ { 0, { 0, 0, 0}}, // (136, 40)
+ { 0, { 0, 0, 0}}, // (137, 40)
+ { 0, { 0, 0, 0}}, // (138, 40)
+ { 0, { 0, 0, 0}}, // (139, 40)
+ { 0, { 0, 0, 0}}, // (140, 40)
+ { 0, { 0, 0, 0}}, // (141, 40)
+ { 0, { 0, 0, 0}}, // (142, 40)
+ { 0, { 0, 0, 0}}, // (143, 40)
+ { 0, { 0, 0, 0}}, // (144, 40)
+ { 0, { 0, 0, 0}}, // (145, 40)
+ { 0, { 0, 0, 0}}, // (146, 40)
+ { 0, { 0, 0, 0}}, // (147, 40)
+ { 0, { 0, 0, 0}}, // (148, 40)
+ { 0, { 0, 0, 0}}, // (149, 40)
+ { 0, { 0, 0, 0}}, // (150, 40)
+ { 0, { 0, 0, 0}}, // (151, 40)
+ { 0, { 0, 0, 0}}, // (152, 40)
+ { 0, { 0, 0, 0}}, // (153, 40)
+ { 0, { 0, 0, 0}}, // (154, 40)
+ { 0, { 0, 0, 0}}, // (155, 40)
+ { 0, { 0, 0, 0}}, // (156, 40)
+ { 0, { 0, 0, 0}}, // (157, 40)
+ { 0, { 0, 0, 0}}, // (158, 40)
+ { 0, { 0, 0, 0}}, // (159, 40)
+ { 0, { 0, 0, 0}}, // (160, 40)
+ { 0, { 0, 0, 0}}, // (161, 40)
+ { 32, { 0, 0, 0}}, // (162, 40)
+ {127, { 0, 0, 0}}, // (163, 40)
+ {128, { 0, 0, 0}}, // (164, 40)
+ {128, { 0, 0, 0}}, // (165, 40)
+ {128, { 0, 0, 0}}, // (166, 40)
+ {128, { 0, 0, 0}}, // (167, 40)
+ {128, { 0, 0, 0}}, // (168, 40)
+ {128, { 0, 0, 0}}, // (169, 40)
+ {128, { 0, 0, 0}}, // (170, 40)
+ {128, { 0, 0, 0}}, // (171, 40)
+ {128, { 0, 0, 0}}, // (172, 40)
+ {128, { 0, 0, 0}}, // (173, 40)
+ {128, { 0, 0, 0}}, // (174, 40)
+ {128, { 0, 0, 0}}, // (175, 40)
+ {128, { 0, 0, 0}}, // (176, 40)
+ {128, { 0, 0, 0}}, // (177, 40)
+ {128, { 0, 0, 0}}, // (178, 40)
+ {128, { 0, 0, 0}}, // (179, 40)
+ {128, { 0, 0, 0}}, // ( 0, 41)
+ {128, { 0, 0, 0}}, // ( 1, 41)
+ {128, { 0, 0, 0}}, // ( 2, 41)
+ {128, { 0, 0, 0}}, // ( 3, 41)
+ {128, { 0, 0, 0}}, // ( 4, 41)
+ {128, { 0, 0, 0}}, // ( 5, 41)
+ {128, { 0, 0, 0}}, // ( 6, 41)
+ {128, { 0, 0, 0}}, // ( 7, 41)
+ {128, { 0, 0, 0}}, // ( 8, 41)
+ {128, { 0, 0, 0}}, // ( 9, 41)
+ {128, { 0, 0, 0}}, // ( 10, 41)
+ {128, { 0, 0, 0}}, // ( 11, 41)
+ {128, { 0, 0, 0}}, // ( 12, 41)
+ {128, { 0, 0, 0}}, // ( 13, 41)
+ {128, { 0, 0, 0}}, // ( 14, 41)
+ {128, { 0, 0, 0}}, // ( 15, 41)
+ { 75, { 0, 0, 0}}, // ( 16, 41)
+ { 0, { 0, 0, 0}}, // ( 17, 41)
+ { 0, { 0, 0, 0}}, // ( 18, 41)
+ { 0, { 0, 0, 0}}, // ( 19, 41)
+ { 0, { 0, 0, 0}}, // ( 20, 41)
+ { 0, { 0, 0, 0}}, // ( 21, 41)
+ { 0, { 0, 0, 0}}, // ( 22, 41)
+ { 0, { 0, 0, 0}}, // ( 23, 41)
+ { 0, { 0, 0, 0}}, // ( 24, 41)
+ { 0, { 0, 0, 0}}, // ( 25, 41)
+ { 0, { 0, 0, 0}}, // ( 26, 41)
+ { 0, { 0, 0, 0}}, // ( 27, 41)
+ { 0, { 0, 0, 0}}, // ( 28, 41)
+ { 0, { 0, 0, 0}}, // ( 29, 41)
+ { 0, { 0, 0, 0}}, // ( 30, 41)
+ { 0, { 0, 0, 0}}, // ( 31, 41)
+ { 0, { 0, 0, 0}}, // ( 32, 41)
+ { 0, { 0, 0, 0}}, // ( 33, 41)
+ { 0, { 0, 0, 0}}, // ( 34, 41)
+ { 0, { 0, 0, 0}}, // ( 35, 41)
+ { 0, { 0, 0, 0}}, // ( 36, 41)
+ { 0, { 0, 0, 0}}, // ( 37, 41)
+ { 0, { 0, 0, 0}}, // ( 38, 41)
+ { 0, { 0, 0, 0}}, // ( 39, 41)
+ { 0, { 0, 0, 0}}, // ( 40, 41)
+ { 0, { 0, 0, 0}}, // ( 41, 41)
+ { 0, { 0, 0, 0}}, // ( 42, 41)
+ { 0, { 0, 0, 0}}, // ( 43, 41)
+ { 0, { 0, 0, 0}}, // ( 44, 41)
+ { 0, { 0, 0, 0}}, // ( 45, 41)
+ { 0, { 0, 0, 0}}, // ( 46, 41)
+ { 0, { 0, 0, 0}}, // ( 47, 41)
+ { 0, { 0, 0, 0}}, // ( 48, 41)
+ { 0, { 0, 0, 0}}, // ( 49, 41)
+ { 0, { 0, 0, 0}}, // ( 50, 41)
+ { 0, { 0, 0, 0}}, // ( 51, 41)
+ { 0, { 0, 0, 0}}, // ( 52, 41)
+ { 0, { 0, 0, 0}}, // ( 53, 41)
+ { 0, { 0, 0, 0}}, // ( 54, 41)
+ { 0, { 0, 0, 0}}, // ( 55, 41)
+ { 0, { 0, 0, 0}}, // ( 56, 41)
+ { 0, { 0, 0, 0}}, // ( 57, 41)
+ { 0, { 0, 0, 0}}, // ( 58, 41)
+ { 0, { 0, 0, 0}}, // ( 59, 41)
+ { 0, { 0, 0, 0}}, // ( 60, 41)
+ { 0, { 0, 0, 0}}, // ( 61, 41)
+ { 0, { 0, 0, 0}}, // ( 62, 41)
+ { 0, { 0, 0, 0}}, // ( 63, 41)
+ { 0, { 0, 0, 0}}, // ( 64, 41)
+ { 0, { 0, 0, 0}}, // ( 65, 41)
+ { 0, { 0, 0, 0}}, // ( 66, 41)
+ { 0, { 0, 0, 0}}, // ( 67, 41)
+ { 0, { 0, 0, 0}}, // ( 68, 41)
+ { 0, { 0, 0, 0}}, // ( 69, 41)
+ { 0, { 0, 0, 0}}, // ( 70, 41)
+ { 0, { 0, 0, 0}}, // ( 71, 41)
+ { 0, { 0, 0, 0}}, // ( 72, 41)
+ { 0, { 0, 0, 0}}, // ( 73, 41)
+ { 0, { 0, 0, 0}}, // ( 74, 41)
+ { 0, { 0, 0, 0}}, // ( 75, 41)
+ { 0, { 0, 0, 0}}, // ( 76, 41)
+ { 0, { 0, 0, 0}}, // ( 77, 41)
+ { 0, { 0, 0, 0}}, // ( 78, 41)
+ { 0, { 0, 0, 0}}, // ( 79, 41)
+ { 0, { 0, 0, 0}}, // ( 80, 41)
+ { 0, { 0, 0, 0}}, // ( 81, 41)
+ { 0, { 0, 0, 0}}, // ( 82, 41)
+ { 0, { 0, 0, 0}}, // ( 83, 41)
+ { 0, { 0, 0, 0}}, // ( 84, 41)
+ { 0, { 0, 0, 0}}, // ( 85, 41)
+ { 0, { 0, 0, 0}}, // ( 86, 41)
+ { 0, { 0, 0, 0}}, // ( 87, 41)
+ { 0, { 0, 0, 0}}, // ( 88, 41)
+ { 0, { 0, 0, 0}}, // ( 89, 41)
+ { 0, { 0, 0, 0}}, // ( 90, 41)
+ { 0, { 0, 0, 0}}, // ( 91, 41)
+ { 0, { 0, 0, 0}}, // ( 92, 41)
+ { 0, { 0, 0, 0}}, // ( 93, 41)
+ { 0, { 0, 0, 0}}, // ( 94, 41)
+ { 0, { 0, 0, 0}}, // ( 95, 41)
+ { 0, { 0, 0, 0}}, // ( 96, 41)
+ { 0, { 0, 0, 0}}, // ( 97, 41)
+ { 0, { 0, 0, 0}}, // ( 98, 41)
+ { 0, { 0, 0, 0}}, // ( 99, 41)
+ { 0, { 0, 0, 0}}, // (100, 41)
+ { 0, { 0, 0, 0}}, // (101, 41)
+ { 0, { 0, 0, 0}}, // (102, 41)
+ { 0, { 0, 0, 0}}, // (103, 41)
+ { 0, { 0, 0, 0}}, // (104, 41)
+ { 0, { 0, 0, 0}}, // (105, 41)
+ { 0, { 0, 0, 0}}, // (106, 41)
+ { 0, { 0, 0, 0}}, // (107, 41)
+ { 0, { 0, 0, 0}}, // (108, 41)
+ { 0, { 0, 0, 0}}, // (109, 41)
+ { 0, { 0, 0, 0}}, // (110, 41)
+ { 0, { 0, 0, 0}}, // (111, 41)
+ { 0, { 0, 0, 0}}, // (112, 41)
+ { 0, { 0, 0, 0}}, // (113, 41)
+ { 0, { 0, 0, 0}}, // (114, 41)
+ { 0, { 0, 0, 0}}, // (115, 41)
+ { 0, { 0, 0, 0}}, // (116, 41)
+ { 0, { 0, 0, 0}}, // (117, 41)
+ { 0, { 0, 0, 0}}, // (118, 41)
+ { 0, { 0, 0, 0}}, // (119, 41)
+ { 0, { 0, 0, 0}}, // (120, 41)
+ { 0, { 0, 0, 0}}, // (121, 41)
+ { 0, { 0, 0, 0}}, // (122, 41)
+ { 0, { 0, 0, 0}}, // (123, 41)
+ { 0, { 0, 0, 0}}, // (124, 41)
+ { 0, { 0, 0, 0}}, // (125, 41)
+ { 0, { 0, 0, 0}}, // (126, 41)
+ { 0, { 0, 0, 0}}, // (127, 41)
+ { 0, { 0, 0, 0}}, // (128, 41)
+ { 0, { 0, 0, 0}}, // (129, 41)
+ { 0, { 0, 0, 0}}, // (130, 41)
+ { 0, { 0, 0, 0}}, // (131, 41)
+ { 0, { 0, 0, 0}}, // (132, 41)
+ { 0, { 0, 0, 0}}, // (133, 41)
+ { 0, { 0, 0, 0}}, // (134, 41)
+ { 0, { 0, 0, 0}}, // (135, 41)
+ { 0, { 0, 0, 0}}, // (136, 41)
+ { 0, { 0, 0, 0}}, // (137, 41)
+ { 0, { 0, 0, 0}}, // (138, 41)
+ { 0, { 0, 0, 0}}, // (139, 41)
+ { 0, { 0, 0, 0}}, // (140, 41)
+ { 0, { 0, 0, 0}}, // (141, 41)
+ { 0, { 0, 0, 0}}, // (142, 41)
+ { 0, { 0, 0, 0}}, // (143, 41)
+ { 0, { 0, 0, 0}}, // (144, 41)
+ { 0, { 0, 0, 0}}, // (145, 41)
+ { 0, { 0, 0, 0}}, // (146, 41)
+ { 0, { 0, 0, 0}}, // (147, 41)
+ { 0, { 0, 0, 0}}, // (148, 41)
+ { 0, { 0, 0, 0}}, // (149, 41)
+ { 0, { 0, 0, 0}}, // (150, 41)
+ { 0, { 0, 0, 0}}, // (151, 41)
+ { 0, { 0, 0, 0}}, // (152, 41)
+ { 0, { 0, 0, 0}}, // (153, 41)
+ { 0, { 0, 0, 0}}, // (154, 41)
+ { 0, { 0, 0, 0}}, // (155, 41)
+ { 0, { 0, 0, 0}}, // (156, 41)
+ { 0, { 0, 0, 0}}, // (157, 41)
+ { 0, { 0, 0, 0}}, // (158, 41)
+ { 0, { 0, 0, 0}}, // (159, 41)
+ { 0, { 0, 0, 0}}, // (160, 41)
+ { 0, { 0, 0, 0}}, // (161, 41)
+ { 0, { 0, 0, 0}}, // (162, 41)
+ { 75, { 0, 0, 0}}, // (163, 41)
+ {128, { 0, 0, 0}}, // (164, 41)
+ {128, { 0, 0, 0}}, // (165, 41)
+ {128, { 0, 0, 0}}, // (166, 41)
+ {128, { 0, 0, 0}}, // (167, 41)
+ {128, { 0, 0, 0}}, // (168, 41)
+ {128, { 0, 0, 0}}, // (169, 41)
+ {128, { 0, 0, 0}}, // (170, 41)
+ {128, { 0, 0, 0}}, // (171, 41)
+ {128, { 0, 0, 0}}, // (172, 41)
+ {128, { 0, 0, 0}}, // (173, 41)
+ {128, { 0, 0, 0}}, // (174, 41)
+ {128, { 0, 0, 0}}, // (175, 41)
+ {128, { 0, 0, 0}}, // (176, 41)
+ {128, { 0, 0, 0}}, // (177, 41)
+ {128, { 0, 0, 0}}, // (178, 41)
+ {128, { 0, 0, 0}}, // (179, 41)
+ {128, { 0, 0, 0}}, // ( 0, 42)
+ {128, { 0, 0, 0}}, // ( 1, 42)
+ {128, { 0, 0, 0}}, // ( 2, 42)
+ {128, { 0, 0, 0}}, // ( 3, 42)
+ {128, { 0, 0, 0}}, // ( 4, 42)
+ {128, { 0, 0, 0}}, // ( 5, 42)
+ {128, { 0, 0, 0}}, // ( 6, 42)
+ {128, { 0, 0, 0}}, // ( 7, 42)
+ {128, { 0, 0, 0}}, // ( 8, 42)
+ {128, { 0, 0, 0}}, // ( 9, 42)
+ {128, { 0, 0, 0}}, // ( 10, 42)
+ {128, { 0, 0, 0}}, // ( 11, 42)
+ {128, { 0, 0, 0}}, // ( 12, 42)
+ {128, { 0, 0, 0}}, // ( 13, 42)
+ {128, { 0, 0, 0}}, // ( 14, 42)
+ {114, { 0, 0, 0}}, // ( 15, 42)
+ { 7, { 0, 0, 0}}, // ( 16, 42)
+ { 0, { 0, 0, 0}}, // ( 17, 42)
+ { 0, { 0, 0, 0}}, // ( 18, 42)
+ { 0, { 0, 0, 0}}, // ( 19, 42)
+ { 0, { 0, 0, 0}}, // ( 20, 42)
+ { 0, { 0, 0, 0}}, // ( 21, 42)
+ { 0, { 0, 0, 0}}, // ( 22, 42)
+ { 0, { 0, 0, 0}}, // ( 23, 42)
+ { 0, { 0, 0, 0}}, // ( 24, 42)
+ { 0, { 0, 0, 0}}, // ( 25, 42)
+ { 0, { 0, 0, 0}}, // ( 26, 42)
+ { 0, { 0, 0, 0}}, // ( 27, 42)
+ { 0, { 0, 0, 0}}, // ( 28, 42)
+ { 0, { 0, 0, 0}}, // ( 29, 42)
+ { 0, { 0, 0, 0}}, // ( 30, 42)
+ { 0, { 0, 0, 0}}, // ( 31, 42)
+ { 0, { 0, 0, 0}}, // ( 32, 42)
+ { 0, { 0, 0, 0}}, // ( 33, 42)
+ { 0, { 0, 0, 0}}, // ( 34, 42)
+ { 0, { 0, 0, 0}}, // ( 35, 42)
+ { 0, { 0, 0, 0}}, // ( 36, 42)
+ { 0, { 0, 0, 0}}, // ( 37, 42)
+ { 0, { 0, 0, 0}}, // ( 38, 42)
+ { 0, { 0, 0, 0}}, // ( 39, 42)
+ { 0, { 0, 0, 0}}, // ( 40, 42)
+ { 0, { 0, 0, 0}}, // ( 41, 42)
+ { 0, { 0, 0, 0}}, // ( 42, 42)
+ { 0, { 0, 0, 0}}, // ( 43, 42)
+ { 0, { 0, 0, 0}}, // ( 44, 42)
+ { 0, { 0, 0, 0}}, // ( 45, 42)
+ { 0, { 0, 0, 0}}, // ( 46, 42)
+ { 0, { 0, 0, 0}}, // ( 47, 42)
+ { 0, { 0, 0, 0}}, // ( 48, 42)
+ { 0, { 0, 0, 0}}, // ( 49, 42)
+ { 0, { 0, 0, 0}}, // ( 50, 42)
+ { 0, { 0, 0, 0}}, // ( 51, 42)
+ { 0, { 0, 0, 0}}, // ( 52, 42)
+ { 0, { 0, 0, 0}}, // ( 53, 42)
+ { 0, { 0, 0, 0}}, // ( 54, 42)
+ { 0, { 0, 0, 0}}, // ( 55, 42)
+ { 0, { 0, 0, 0}}, // ( 56, 42)
+ { 0, { 0, 0, 0}}, // ( 57, 42)
+ { 0, { 0, 0, 0}}, // ( 58, 42)
+ { 0, { 0, 0, 0}}, // ( 59, 42)
+ { 0, { 0, 0, 0}}, // ( 60, 42)
+ { 0, { 0, 0, 0}}, // ( 61, 42)
+ { 0, { 0, 0, 0}}, // ( 62, 42)
+ { 0, { 0, 0, 0}}, // ( 63, 42)
+ { 0, { 0, 0, 0}}, // ( 64, 42)
+ { 0, { 0, 0, 0}}, // ( 65, 42)
+ { 0, { 0, 0, 0}}, // ( 66, 42)
+ { 0, { 0, 0, 0}}, // ( 67, 42)
+ { 0, { 0, 0, 0}}, // ( 68, 42)
+ { 0, { 0, 0, 0}}, // ( 69, 42)
+ { 0, { 0, 0, 0}}, // ( 70, 42)
+ { 0, { 0, 0, 0}}, // ( 71, 42)
+ { 0, { 0, 0, 0}}, // ( 72, 42)
+ { 0, { 0, 0, 0}}, // ( 73, 42)
+ { 0, { 0, 0, 0}}, // ( 74, 42)
+ { 0, { 0, 0, 0}}, // ( 75, 42)
+ { 0, { 0, 0, 0}}, // ( 76, 42)
+ { 0, { 0, 0, 0}}, // ( 77, 42)
+ { 0, { 0, 0, 0}}, // ( 78, 42)
+ { 0, { 0, 0, 0}}, // ( 79, 42)
+ { 0, { 0, 0, 0}}, // ( 80, 42)
+ { 0, { 0, 0, 0}}, // ( 81, 42)
+ { 0, { 0, 0, 0}}, // ( 82, 42)
+ { 0, { 0, 0, 0}}, // ( 83, 42)
+ { 0, { 0, 0, 0}}, // ( 84, 42)
+ { 0, { 0, 0, 0}}, // ( 85, 42)
+ { 0, { 0, 0, 0}}, // ( 86, 42)
+ { 0, { 0, 0, 0}}, // ( 87, 42)
+ { 0, { 0, 0, 0}}, // ( 88, 42)
+ { 0, { 0, 0, 0}}, // ( 89, 42)
+ { 0, { 0, 0, 0}}, // ( 90, 42)
+ { 0, { 0, 0, 0}}, // ( 91, 42)
+ { 0, { 0, 0, 0}}, // ( 92, 42)
+ { 0, { 0, 0, 0}}, // ( 93, 42)
+ { 0, { 0, 0, 0}}, // ( 94, 42)
+ { 0, { 0, 0, 0}}, // ( 95, 42)
+ { 0, { 0, 0, 0}}, // ( 96, 42)
+ { 0, { 0, 0, 0}}, // ( 97, 42)
+ { 0, { 0, 0, 0}}, // ( 98, 42)
+ { 0, { 0, 0, 0}}, // ( 99, 42)
+ { 0, { 0, 0, 0}}, // (100, 42)
+ { 0, { 0, 0, 0}}, // (101, 42)
+ { 0, { 0, 0, 0}}, // (102, 42)
+ { 0, { 0, 0, 0}}, // (103, 42)
+ { 0, { 0, 0, 0}}, // (104, 42)
+ { 0, { 0, 0, 0}}, // (105, 42)
+ { 0, { 0, 0, 0}}, // (106, 42)
+ { 0, { 0, 0, 0}}, // (107, 42)
+ { 0, { 0, 0, 0}}, // (108, 42)
+ { 0, { 0, 0, 0}}, // (109, 42)
+ { 0, { 0, 0, 0}}, // (110, 42)
+ { 0, { 0, 0, 0}}, // (111, 42)
+ { 0, { 0, 0, 0}}, // (112, 42)
+ { 0, { 0, 0, 0}}, // (113, 42)
+ { 0, { 0, 0, 0}}, // (114, 42)
+ { 0, { 0, 0, 0}}, // (115, 42)
+ { 0, { 0, 0, 0}}, // (116, 42)
+ { 0, { 0, 0, 0}}, // (117, 42)
+ { 0, { 0, 0, 0}}, // (118, 42)
+ { 0, { 0, 0, 0}}, // (119, 42)
+ { 0, { 0, 0, 0}}, // (120, 42)
+ { 0, { 0, 0, 0}}, // (121, 42)
+ { 0, { 0, 0, 0}}, // (122, 42)
+ { 0, { 0, 0, 0}}, // (123, 42)
+ { 0, { 0, 0, 0}}, // (124, 42)
+ { 0, { 0, 0, 0}}, // (125, 42)
+ { 0, { 0, 0, 0}}, // (126, 42)
+ { 0, { 0, 0, 0}}, // (127, 42)
+ { 0, { 0, 0, 0}}, // (128, 42)
+ { 0, { 0, 0, 0}}, // (129, 42)
+ { 0, { 0, 0, 0}}, // (130, 42)
+ { 0, { 0, 0, 0}}, // (131, 42)
+ { 0, { 0, 0, 0}}, // (132, 42)
+ { 0, { 0, 0, 0}}, // (133, 42)
+ { 0, { 0, 0, 0}}, // (134, 42)
+ { 0, { 0, 0, 0}}, // (135, 42)
+ { 0, { 0, 0, 0}}, // (136, 42)
+ { 0, { 0, 0, 0}}, // (137, 42)
+ { 0, { 0, 0, 0}}, // (138, 42)
+ { 0, { 0, 0, 0}}, // (139, 42)
+ { 0, { 0, 0, 0}}, // (140, 42)
+ { 0, { 0, 0, 0}}, // (141, 42)
+ { 0, { 0, 0, 0}}, // (142, 42)
+ { 0, { 0, 0, 0}}, // (143, 42)
+ { 0, { 0, 0, 0}}, // (144, 42)
+ { 0, { 0, 0, 0}}, // (145, 42)
+ { 0, { 0, 0, 0}}, // (146, 42)
+ { 0, { 0, 0, 0}}, // (147, 42)
+ { 0, { 0, 0, 0}}, // (148, 42)
+ { 0, { 0, 0, 0}}, // (149, 42)
+ { 0, { 0, 0, 0}}, // (150, 42)
+ { 0, { 0, 0, 0}}, // (151, 42)
+ { 0, { 0, 0, 0}}, // (152, 42)
+ { 0, { 0, 0, 0}}, // (153, 42)
+ { 0, { 0, 0, 0}}, // (154, 42)
+ { 0, { 0, 0, 0}}, // (155, 42)
+ { 0, { 0, 0, 0}}, // (156, 42)
+ { 0, { 0, 0, 0}}, // (157, 42)
+ { 0, { 0, 0, 0}}, // (158, 42)
+ { 0, { 0, 0, 0}}, // (159, 42)
+ { 0, { 0, 0, 0}}, // (160, 42)
+ { 0, { 0, 0, 0}}, // (161, 42)
+ { 0, { 0, 0, 0}}, // (162, 42)
+ { 7, { 0, 0, 0}}, // (163, 42)
+ {114, { 0, 0, 0}}, // (164, 42)
+ {128, { 0, 0, 0}}, // (165, 42)
+ {128, { 0, 0, 0}}, // (166, 42)
+ {128, { 0, 0, 0}}, // (167, 42)
+ {128, { 0, 0, 0}}, // (168, 42)
+ {128, { 0, 0, 0}}, // (169, 42)
+ {128, { 0, 0, 0}}, // (170, 42)
+ {128, { 0, 0, 0}}, // (171, 42)
+ {128, { 0, 0, 0}}, // (172, 42)
+ {128, { 0, 0, 0}}, // (173, 42)
+ {128, { 0, 0, 0}}, // (174, 42)
+ {128, { 0, 0, 0}}, // (175, 42)
+ {128, { 0, 0, 0}}, // (176, 42)
+ {128, { 0, 0, 0}}, // (177, 42)
+ {128, { 0, 0, 0}}, // (178, 42)
+ {128, { 0, 0, 0}}, // (179, 42)
+ {128, { 0, 0, 0}}, // ( 0, 43)
+ {128, { 0, 0, 0}}, // ( 1, 43)
+ {128, { 0, 0, 0}}, // ( 2, 43)
+ {128, { 0, 0, 0}}, // ( 3, 43)
+ {128, { 0, 0, 0}}, // ( 4, 43)
+ {128, { 0, 0, 0}}, // ( 5, 43)
+ {128, { 0, 0, 0}}, // ( 6, 43)
+ {128, { 0, 0, 0}}, // ( 7, 43)
+ {128, { 0, 0, 0}}, // ( 8, 43)
+ {128, { 0, 0, 0}}, // ( 9, 43)
+ {128, { 0, 0, 0}}, // ( 10, 43)
+ {128, { 0, 0, 0}}, // ( 11, 43)
+ {128, { 0, 0, 0}}, // ( 12, 43)
+ {128, { 0, 0, 0}}, // ( 13, 43)
+ {128, { 0, 0, 0}}, // ( 14, 43)
+ { 38, { 0, 0, 0}}, // ( 15, 43)
+ { 0, { 0, 0, 0}}, // ( 16, 43)
+ { 0, { 0, 0, 0}}, // ( 17, 43)
+ { 0, { 0, 0, 0}}, // ( 18, 43)
+ { 0, { 0, 0, 0}}, // ( 19, 43)
+ { 0, { 0, 0, 0}}, // ( 20, 43)
+ { 0, { 0, 0, 0}}, // ( 21, 43)
+ { 0, { 0, 0, 0}}, // ( 22, 43)
+ { 0, { 0, 0, 0}}, // ( 23, 43)
+ { 0, { 0, 0, 0}}, // ( 24, 43)
+ { 0, { 0, 0, 0}}, // ( 25, 43)
+ { 0, { 0, 0, 0}}, // ( 26, 43)
+ { 0, { 0, 0, 0}}, // ( 27, 43)
+ { 0, { 0, 0, 0}}, // ( 28, 43)
+ { 0, { 0, 0, 0}}, // ( 29, 43)
+ { 0, { 0, 0, 0}}, // ( 30, 43)
+ { 0, { 0, 0, 0}}, // ( 31, 43)
+ { 0, { 0, 0, 0}}, // ( 32, 43)
+ { 0, { 0, 0, 0}}, // ( 33, 43)
+ { 0, { 0, 0, 0}}, // ( 34, 43)
+ { 0, { 0, 0, 0}}, // ( 35, 43)
+ { 0, { 0, 0, 0}}, // ( 36, 43)
+ { 0, { 0, 0, 0}}, // ( 37, 43)
+ { 0, { 0, 0, 0}}, // ( 38, 43)
+ { 0, { 0, 0, 0}}, // ( 39, 43)
+ { 0, { 0, 0, 0}}, // ( 40, 43)
+ { 0, { 0, 0, 0}}, // ( 41, 43)
+ { 0, { 0, 0, 0}}, // ( 42, 43)
+ { 0, { 0, 0, 0}}, // ( 43, 43)
+ { 0, { 0, 0, 0}}, // ( 44, 43)
+ { 0, { 0, 0, 0}}, // ( 45, 43)
+ { 0, { 0, 0, 0}}, // ( 46, 43)
+ { 0, { 0, 0, 0}}, // ( 47, 43)
+ { 0, { 0, 0, 0}}, // ( 48, 43)
+ { 0, { 0, 0, 0}}, // ( 49, 43)
+ { 0, { 0, 0, 0}}, // ( 50, 43)
+ { 0, { 0, 0, 0}}, // ( 51, 43)
+ { 0, { 0, 0, 0}}, // ( 52, 43)
+ { 0, { 0, 0, 0}}, // ( 53, 43)
+ { 0, { 0, 0, 0}}, // ( 54, 43)
+ { 0, { 0, 0, 0}}, // ( 55, 43)
+ { 0, { 0, 0, 0}}, // ( 56, 43)
+ { 0, { 0, 0, 0}}, // ( 57, 43)
+ { 0, { 0, 0, 0}}, // ( 58, 43)
+ { 0, { 0, 0, 0}}, // ( 59, 43)
+ { 0, { 0, 0, 0}}, // ( 60, 43)
+ { 0, { 0, 0, 0}}, // ( 61, 43)
+ { 0, { 0, 0, 0}}, // ( 62, 43)
+ { 0, { 0, 0, 0}}, // ( 63, 43)
+ { 0, { 0, 0, 0}}, // ( 64, 43)
+ { 0, { 0, 0, 0}}, // ( 65, 43)
+ { 0, { 0, 0, 0}}, // ( 66, 43)
+ { 0, { 0, 0, 0}}, // ( 67, 43)
+ { 0, { 0, 0, 0}}, // ( 68, 43)
+ { 0, { 0, 0, 0}}, // ( 69, 43)
+ { 0, { 0, 0, 0}}, // ( 70, 43)
+ { 0, { 0, 0, 0}}, // ( 71, 43)
+ { 0, { 0, 0, 0}}, // ( 72, 43)
+ { 0, { 0, 0, 0}}, // ( 73, 43)
+ { 0, { 0, 0, 0}}, // ( 74, 43)
+ { 0, { 0, 0, 0}}, // ( 75, 43)
+ { 0, { 0, 0, 0}}, // ( 76, 43)
+ { 0, { 0, 0, 0}}, // ( 77, 43)
+ { 0, { 0, 0, 0}}, // ( 78, 43)
+ { 0, { 0, 0, 0}}, // ( 79, 43)
+ { 0, { 0, 0, 0}}, // ( 80, 43)
+ { 0, { 0, 0, 0}}, // ( 81, 43)
+ { 0, { 0, 0, 0}}, // ( 82, 43)
+ { 0, { 0, 0, 0}}, // ( 83, 43)
+ { 0, { 0, 0, 0}}, // ( 84, 43)
+ { 0, { 0, 0, 0}}, // ( 85, 43)
+ { 0, { 0, 0, 0}}, // ( 86, 43)
+ { 0, { 0, 0, 0}}, // ( 87, 43)
+ { 0, { 0, 0, 0}}, // ( 88, 43)
+ { 0, { 0, 0, 0}}, // ( 89, 43)
+ { 0, { 0, 0, 0}}, // ( 90, 43)
+ { 0, { 0, 0, 0}}, // ( 91, 43)
+ { 0, { 0, 0, 0}}, // ( 92, 43)
+ { 0, { 0, 0, 0}}, // ( 93, 43)
+ { 0, { 0, 0, 0}}, // ( 94, 43)
+ { 0, { 0, 0, 0}}, // ( 95, 43)
+ { 0, { 0, 0, 0}}, // ( 96, 43)
+ { 0, { 0, 0, 0}}, // ( 97, 43)
+ { 0, { 0, 0, 0}}, // ( 98, 43)
+ { 0, { 0, 0, 0}}, // ( 99, 43)
+ { 0, { 0, 0, 0}}, // (100, 43)
+ { 0, { 0, 0, 0}}, // (101, 43)
+ { 0, { 0, 0, 0}}, // (102, 43)
+ { 0, { 0, 0, 0}}, // (103, 43)
+ { 0, { 0, 0, 0}}, // (104, 43)
+ { 0, { 0, 0, 0}}, // (105, 43)
+ { 0, { 0, 0, 0}}, // (106, 43)
+ { 0, { 0, 0, 0}}, // (107, 43)
+ { 0, { 0, 0, 0}}, // (108, 43)
+ { 0, { 0, 0, 0}}, // (109, 43)
+ { 0, { 0, 0, 0}}, // (110, 43)
+ { 0, { 0, 0, 0}}, // (111, 43)
+ { 0, { 0, 0, 0}}, // (112, 43)
+ { 0, { 0, 0, 0}}, // (113, 43)
+ { 0, { 0, 0, 0}}, // (114, 43)
+ { 0, { 0, 0, 0}}, // (115, 43)
+ { 0, { 0, 0, 0}}, // (116, 43)
+ { 0, { 0, 0, 0}}, // (117, 43)
+ { 0, { 0, 0, 0}}, // (118, 43)
+ { 0, { 0, 0, 0}}, // (119, 43)
+ { 0, { 0, 0, 0}}, // (120, 43)
+ { 0, { 0, 0, 0}}, // (121, 43)
+ { 0, { 0, 0, 0}}, // (122, 43)
+ { 0, { 0, 0, 0}}, // (123, 43)
+ { 0, { 0, 0, 0}}, // (124, 43)
+ { 0, { 0, 0, 0}}, // (125, 43)
+ { 0, { 0, 0, 0}}, // (126, 43)
+ { 0, { 0, 0, 0}}, // (127, 43)
+ { 0, { 0, 0, 0}}, // (128, 43)
+ { 0, { 0, 0, 0}}, // (129, 43)
+ { 0, { 0, 0, 0}}, // (130, 43)
+ { 0, { 0, 0, 0}}, // (131, 43)
+ { 0, { 0, 0, 0}}, // (132, 43)
+ { 0, { 0, 0, 0}}, // (133, 43)
+ { 0, { 0, 0, 0}}, // (134, 43)
+ { 0, { 0, 0, 0}}, // (135, 43)
+ { 0, { 0, 0, 0}}, // (136, 43)
+ { 0, { 0, 0, 0}}, // (137, 43)
+ { 0, { 0, 0, 0}}, // (138, 43)
+ { 0, { 0, 0, 0}}, // (139, 43)
+ { 0, { 0, 0, 0}}, // (140, 43)
+ { 0, { 0, 0, 0}}, // (141, 43)
+ { 0, { 0, 0, 0}}, // (142, 43)
+ { 0, { 0, 0, 0}}, // (143, 43)
+ { 0, { 0, 0, 0}}, // (144, 43)
+ { 0, { 0, 0, 0}}, // (145, 43)
+ { 0, { 0, 0, 0}}, // (146, 43)
+ { 0, { 0, 0, 0}}, // (147, 43)
+ { 0, { 0, 0, 0}}, // (148, 43)
+ { 0, { 0, 0, 0}}, // (149, 43)
+ { 0, { 0, 0, 0}}, // (150, 43)
+ { 0, { 0, 0, 0}}, // (151, 43)
+ { 0, { 0, 0, 0}}, // (152, 43)
+ { 0, { 0, 0, 0}}, // (153, 43)
+ { 0, { 0, 0, 0}}, // (154, 43)
+ { 0, { 0, 0, 0}}, // (155, 43)
+ { 0, { 0, 0, 0}}, // (156, 43)
+ { 0, { 0, 0, 0}}, // (157, 43)
+ { 0, { 0, 0, 0}}, // (158, 43)
+ { 0, { 0, 0, 0}}, // (159, 43)
+ { 0, { 0, 0, 0}}, // (160, 43)
+ { 0, { 0, 0, 0}}, // (161, 43)
+ { 0, { 0, 0, 0}}, // (162, 43)
+ { 0, { 0, 0, 0}}, // (163, 43)
+ { 38, { 0, 0, 0}}, // (164, 43)
+ {128, { 0, 0, 0}}, // (165, 43)
+ {128, { 0, 0, 0}}, // (166, 43)
+ {128, { 0, 0, 0}}, // (167, 43)
+ {128, { 0, 0, 0}}, // (168, 43)
+ {128, { 0, 0, 0}}, // (169, 43)
+ {128, { 0, 0, 0}}, // (170, 43)
+ {128, { 0, 0, 0}}, // (171, 43)
+ {128, { 0, 0, 0}}, // (172, 43)
+ {128, { 0, 0, 0}}, // (173, 43)
+ {128, { 0, 0, 0}}, // (174, 43)
+ {128, { 0, 0, 0}}, // (175, 43)
+ {128, { 0, 0, 0}}, // (176, 43)
+ {128, { 0, 0, 0}}, // (177, 43)
+ {128, { 0, 0, 0}}, // (178, 43)
+ {128, { 0, 0, 0}}, // (179, 43)
+ {128, { 0, 0, 0}}, // ( 0, 44)
+ {128, { 0, 0, 0}}, // ( 1, 44)
+ {128, { 0, 0, 0}}, // ( 2, 44)
+ {128, { 0, 0, 0}}, // ( 3, 44)
+ {128, { 0, 0, 0}}, // ( 4, 44)
+ {128, { 0, 0, 0}}, // ( 5, 44)
+ {128, { 0, 0, 0}}, // ( 6, 44)
+ {128, { 0, 0, 0}}, // ( 7, 44)
+ {128, { 0, 0, 0}}, // ( 8, 44)
+ {128, { 0, 0, 0}}, // ( 9, 44)
+ {128, { 0, 0, 0}}, // ( 10, 44)
+ {128, { 0, 0, 0}}, // ( 11, 44)
+ {128, { 0, 0, 0}}, // ( 12, 44)
+ {128, { 0, 0, 0}}, // ( 13, 44)
+ { 86, { 0, 0, 0}}, // ( 14, 44)
+ { 0, { 0, 0, 0}}, // ( 15, 44)
+ { 0, { 0, 0, 0}}, // ( 16, 44)
+ { 0, { 0, 0, 0}}, // ( 17, 44)
+ { 0, { 0, 0, 0}}, // ( 18, 44)
+ { 0, { 0, 0, 0}}, // ( 19, 44)
+ { 0, { 0, 0, 0}}, // ( 20, 44)
+ { 0, { 0, 0, 0}}, // ( 21, 44)
+ { 0, { 0, 0, 0}}, // ( 22, 44)
+ { 0, { 0, 0, 0}}, // ( 23, 44)
+ { 0, { 0, 0, 0}}, // ( 24, 44)
+ { 0, { 0, 0, 0}}, // ( 25, 44)
+ { 0, { 0, 0, 0}}, // ( 26, 44)
+ { 0, { 0, 0, 0}}, // ( 27, 44)
+ { 0, { 0, 0, 0}}, // ( 28, 44)
+ { 0, { 0, 0, 0}}, // ( 29, 44)
+ { 0, { 0, 0, 0}}, // ( 30, 44)
+ { 0, { 0, 0, 0}}, // ( 31, 44)
+ { 0, { 0, 0, 0}}, // ( 32, 44)
+ { 0, { 0, 0, 0}}, // ( 33, 44)
+ { 0, { 0, 0, 0}}, // ( 34, 44)
+ { 0, { 0, 0, 0}}, // ( 35, 44)
+ { 0, { 0, 0, 0}}, // ( 36, 44)
+ { 0, { 0, 0, 0}}, // ( 37, 44)
+ { 0, { 0, 0, 0}}, // ( 38, 44)
+ { 0, { 0, 0, 0}}, // ( 39, 44)
+ { 0, { 0, 0, 0}}, // ( 40, 44)
+ { 0, { 0, 0, 0}}, // ( 41, 44)
+ { 0, { 0, 0, 0}}, // ( 42, 44)
+ { 0, { 0, 0, 0}}, // ( 43, 44)
+ { 0, { 0, 0, 0}}, // ( 44, 44)
+ { 0, { 0, 0, 0}}, // ( 45, 44)
+ { 0, { 0, 0, 0}}, // ( 46, 44)
+ { 0, { 0, 0, 0}}, // ( 47, 44)
+ { 0, { 0, 0, 0}}, // ( 48, 44)
+ { 0, { 0, 0, 0}}, // ( 49, 44)
+ { 0, { 0, 0, 0}}, // ( 50, 44)
+ { 0, { 0, 0, 0}}, // ( 51, 44)
+ { 0, { 0, 0, 0}}, // ( 52, 44)
+ { 0, { 0, 0, 0}}, // ( 53, 44)
+ { 0, { 0, 0, 0}}, // ( 54, 44)
+ { 0, { 0, 0, 0}}, // ( 55, 44)
+ { 0, { 0, 0, 0}}, // ( 56, 44)
+ { 0, { 0, 0, 0}}, // ( 57, 44)
+ { 0, { 0, 0, 0}}, // ( 58, 44)
+ { 0, { 0, 0, 0}}, // ( 59, 44)
+ { 0, { 0, 0, 0}}, // ( 60, 44)
+ { 0, { 0, 0, 0}}, // ( 61, 44)
+ { 0, { 0, 0, 0}}, // ( 62, 44)
+ { 0, { 0, 0, 0}}, // ( 63, 44)
+ { 0, { 0, 0, 0}}, // ( 64, 44)
+ { 0, { 0, 0, 0}}, // ( 65, 44)
+ { 0, { 0, 0, 0}}, // ( 66, 44)
+ { 0, { 0, 0, 0}}, // ( 67, 44)
+ { 0, { 0, 0, 0}}, // ( 68, 44)
+ { 0, { 0, 0, 0}}, // ( 69, 44)
+ { 0, { 0, 0, 0}}, // ( 70, 44)
+ { 0, { 0, 0, 0}}, // ( 71, 44)
+ { 0, { 0, 0, 0}}, // ( 72, 44)
+ { 0, { 0, 0, 0}}, // ( 73, 44)
+ { 0, { 0, 0, 0}}, // ( 74, 44)
+ { 0, { 0, 0, 0}}, // ( 75, 44)
+ { 0, { 0, 0, 0}}, // ( 76, 44)
+ { 0, { 0, 0, 0}}, // ( 77, 44)
+ { 0, { 0, 0, 0}}, // ( 78, 44)
+ { 0, { 0, 0, 0}}, // ( 79, 44)
+ { 0, { 0, 0, 0}}, // ( 80, 44)
+ { 0, { 0, 0, 0}}, // ( 81, 44)
+ { 0, { 0, 0, 0}}, // ( 82, 44)
+ { 0, { 0, 0, 0}}, // ( 83, 44)
+ { 0, { 0, 0, 0}}, // ( 84, 44)
+ { 0, { 0, 0, 0}}, // ( 85, 44)
+ { 0, { 0, 0, 0}}, // ( 86, 44)
+ { 0, { 0, 0, 0}}, // ( 87, 44)
+ { 0, { 0, 0, 0}}, // ( 88, 44)
+ { 0, { 0, 0, 0}}, // ( 89, 44)
+ { 0, { 0, 0, 0}}, // ( 90, 44)
+ { 0, { 0, 0, 0}}, // ( 91, 44)
+ { 0, { 0, 0, 0}}, // ( 92, 44)
+ { 0, { 0, 0, 0}}, // ( 93, 44)
+ { 0, { 0, 0, 0}}, // ( 94, 44)
+ { 0, { 0, 0, 0}}, // ( 95, 44)
+ { 0, { 0, 0, 0}}, // ( 96, 44)
+ { 0, { 0, 0, 0}}, // ( 97, 44)
+ { 0, { 0, 0, 0}}, // ( 98, 44)
+ { 0, { 0, 0, 0}}, // ( 99, 44)
+ { 0, { 0, 0, 0}}, // (100, 44)
+ { 0, { 0, 0, 0}}, // (101, 44)
+ { 0, { 0, 0, 0}}, // (102, 44)
+ { 0, { 0, 0, 0}}, // (103, 44)
+ { 0, { 0, 0, 0}}, // (104, 44)
+ { 0, { 0, 0, 0}}, // (105, 44)
+ { 0, { 0, 0, 0}}, // (106, 44)
+ { 0, { 0, 0, 0}}, // (107, 44)
+ { 0, { 0, 0, 0}}, // (108, 44)
+ { 0, { 0, 0, 0}}, // (109, 44)
+ { 0, { 0, 0, 0}}, // (110, 44)
+ { 0, { 0, 0, 0}}, // (111, 44)
+ { 0, { 0, 0, 0}}, // (112, 44)
+ { 0, { 0, 0, 0}}, // (113, 44)
+ { 0, { 0, 0, 0}}, // (114, 44)
+ { 0, { 0, 0, 0}}, // (115, 44)
+ { 0, { 0, 0, 0}}, // (116, 44)
+ { 0, { 0, 0, 0}}, // (117, 44)
+ { 0, { 0, 0, 0}}, // (118, 44)
+ { 0, { 0, 0, 0}}, // (119, 44)
+ { 0, { 0, 0, 0}}, // (120, 44)
+ { 0, { 0, 0, 0}}, // (121, 44)
+ { 0, { 0, 0, 0}}, // (122, 44)
+ { 0, { 0, 0, 0}}, // (123, 44)
+ { 0, { 0, 0, 0}}, // (124, 44)
+ { 0, { 0, 0, 0}}, // (125, 44)
+ { 0, { 0, 0, 0}}, // (126, 44)
+ { 0, { 0, 0, 0}}, // (127, 44)
+ { 0, { 0, 0, 0}}, // (128, 44)
+ { 0, { 0, 0, 0}}, // (129, 44)
+ { 0, { 0, 0, 0}}, // (130, 44)
+ { 0, { 0, 0, 0}}, // (131, 44)
+ { 0, { 0, 0, 0}}, // (132, 44)
+ { 0, { 0, 0, 0}}, // (133, 44)
+ { 0, { 0, 0, 0}}, // (134, 44)
+ { 0, { 0, 0, 0}}, // (135, 44)
+ { 0, { 0, 0, 0}}, // (136, 44)
+ { 0, { 0, 0, 0}}, // (137, 44)
+ { 0, { 0, 0, 0}}, // (138, 44)
+ { 0, { 0, 0, 0}}, // (139, 44)
+ { 0, { 0, 0, 0}}, // (140, 44)
+ { 0, { 0, 0, 0}}, // (141, 44)
+ { 0, { 0, 0, 0}}, // (142, 44)
+ { 0, { 0, 0, 0}}, // (143, 44)
+ { 0, { 0, 0, 0}}, // (144, 44)
+ { 0, { 0, 0, 0}}, // (145, 44)
+ { 0, { 0, 0, 0}}, // (146, 44)
+ { 0, { 0, 0, 0}}, // (147, 44)
+ { 0, { 0, 0, 0}}, // (148, 44)
+ { 0, { 0, 0, 0}}, // (149, 44)
+ { 0, { 0, 0, 0}}, // (150, 44)
+ { 0, { 0, 0, 0}}, // (151, 44)
+ { 0, { 0, 0, 0}}, // (152, 44)
+ { 0, { 0, 0, 0}}, // (153, 44)
+ { 0, { 0, 0, 0}}, // (154, 44)
+ { 0, { 0, 0, 0}}, // (155, 44)
+ { 0, { 0, 0, 0}}, // (156, 44)
+ { 0, { 0, 0, 0}}, // (157, 44)
+ { 0, { 0, 0, 0}}, // (158, 44)
+ { 0, { 0, 0, 0}}, // (159, 44)
+ { 0, { 0, 0, 0}}, // (160, 44)
+ { 0, { 0, 0, 0}}, // (161, 44)
+ { 0, { 0, 0, 0}}, // (162, 44)
+ { 0, { 0, 0, 0}}, // (163, 44)
+ { 0, { 0, 0, 0}}, // (164, 44)
+ { 86, { 0, 0, 0}}, // (165, 44)
+ {128, { 0, 0, 0}}, // (166, 44)
+ {128, { 0, 0, 0}}, // (167, 44)
+ {128, { 0, 0, 0}}, // (168, 44)
+ {128, { 0, 0, 0}}, // (169, 44)
+ {128, { 0, 0, 0}}, // (170, 44)
+ {128, { 0, 0, 0}}, // (171, 44)
+ {128, { 0, 0, 0}}, // (172, 44)
+ {128, { 0, 0, 0}}, // (173, 44)
+ {128, { 0, 0, 0}}, // (174, 44)
+ {128, { 0, 0, 0}}, // (175, 44)
+ {128, { 0, 0, 0}}, // (176, 44)
+ {128, { 0, 0, 0}}, // (177, 44)
+ {128, { 0, 0, 0}}, // (178, 44)
+ {128, { 0, 0, 0}}, // (179, 44)
+ {128, { 0, 0, 0}}, // ( 0, 45)
+ {128, { 0, 0, 0}}, // ( 1, 45)
+ {128, { 0, 0, 0}}, // ( 2, 45)
+ {128, { 0, 0, 0}}, // ( 3, 45)
+ {128, { 0, 0, 0}}, // ( 4, 45)
+ {128, { 0, 0, 0}}, // ( 5, 45)
+ {128, { 0, 0, 0}}, // ( 6, 45)
+ {128, { 0, 0, 0}}, // ( 7, 45)
+ {128, { 0, 0, 0}}, // ( 8, 45)
+ {128, { 0, 0, 0}}, // ( 9, 45)
+ {128, { 0, 0, 0}}, // ( 10, 45)
+ {128, { 0, 0, 0}}, // ( 11, 45)
+ {128, { 0, 0, 0}}, // ( 12, 45)
+ {124, { 0, 0, 0}}, // ( 13, 45)
+ { 16, { 0, 0, 0}}, // ( 14, 45)
+ { 0, { 0, 0, 0}}, // ( 15, 45)
+ { 0, { 0, 0, 0}}, // ( 16, 45)
+ { 0, { 0, 0, 0}}, // ( 17, 45)
+ { 0, { 0, 0, 0}}, // ( 18, 45)
+ { 0, { 0, 0, 0}}, // ( 19, 45)
+ { 0, { 0, 0, 0}}, // ( 20, 45)
+ { 0, { 0, 0, 0}}, // ( 21, 45)
+ { 0, { 0, 0, 0}}, // ( 22, 45)
+ { 0, { 0, 0, 0}}, // ( 23, 45)
+ { 0, { 0, 0, 0}}, // ( 24, 45)
+ { 0, { 0, 0, 0}}, // ( 25, 45)
+ { 0, { 0, 0, 0}}, // ( 26, 45)
+ { 0, { 0, 0, 0}}, // ( 27, 45)
+ { 0, { 0, 0, 0}}, // ( 28, 45)
+ { 0, { 0, 0, 0}}, // ( 29, 45)
+ { 0, { 0, 0, 0}}, // ( 30, 45)
+ { 0, { 0, 0, 0}}, // ( 31, 45)
+ { 0, { 0, 0, 0}}, // ( 32, 45)
+ { 0, { 0, 0, 0}}, // ( 33, 45)
+ { 0, { 0, 0, 0}}, // ( 34, 45)
+ { 0, { 0, 0, 0}}, // ( 35, 45)
+ { 0, { 0, 0, 0}}, // ( 36, 45)
+ { 0, { 0, 0, 0}}, // ( 37, 45)
+ { 0, { 0, 0, 0}}, // ( 38, 45)
+ { 0, { 0, 0, 0}}, // ( 39, 45)
+ { 0, { 0, 0, 0}}, // ( 40, 45)
+ { 0, { 0, 0, 0}}, // ( 41, 45)
+ { 0, { 0, 0, 0}}, // ( 42, 45)
+ { 0, { 0, 0, 0}}, // ( 43, 45)
+ { 0, { 0, 0, 0}}, // ( 44, 45)
+ { 0, { 0, 0, 0}}, // ( 45, 45)
+ { 0, { 0, 0, 0}}, // ( 46, 45)
+ { 0, { 0, 0, 0}}, // ( 47, 45)
+ { 0, { 0, 0, 0}}, // ( 48, 45)
+ { 0, { 0, 0, 0}}, // ( 49, 45)
+ { 0, { 0, 0, 0}}, // ( 50, 45)
+ { 0, { 0, 0, 0}}, // ( 51, 45)
+ { 0, { 0, 0, 0}}, // ( 52, 45)
+ { 0, { 0, 0, 0}}, // ( 53, 45)
+ { 0, { 0, 0, 0}}, // ( 54, 45)
+ { 0, { 0, 0, 0}}, // ( 55, 45)
+ { 0, { 0, 0, 0}}, // ( 56, 45)
+ { 0, { 0, 0, 0}}, // ( 57, 45)
+ { 0, { 0, 0, 0}}, // ( 58, 45)
+ { 0, { 0, 0, 0}}, // ( 59, 45)
+ { 0, { 0, 0, 0}}, // ( 60, 45)
+ { 0, { 0, 0, 0}}, // ( 61, 45)
+ { 0, { 0, 0, 0}}, // ( 62, 45)
+ { 0, { 0, 0, 0}}, // ( 63, 45)
+ { 0, { 0, 0, 0}}, // ( 64, 45)
+ { 0, { 0, 0, 0}}, // ( 65, 45)
+ { 0, { 0, 0, 0}}, // ( 66, 45)
+ { 0, { 0, 0, 0}}, // ( 67, 45)
+ { 0, { 0, 0, 0}}, // ( 68, 45)
+ { 0, { 0, 0, 0}}, // ( 69, 45)
+ { 0, { 0, 0, 0}}, // ( 70, 45)
+ { 0, { 0, 0, 0}}, // ( 71, 45)
+ { 0, { 0, 0, 0}}, // ( 72, 45)
+ { 0, { 0, 0, 0}}, // ( 73, 45)
+ { 0, { 0, 0, 0}}, // ( 74, 45)
+ { 0, { 0, 0, 0}}, // ( 75, 45)
+ { 0, { 0, 0, 0}}, // ( 76, 45)
+ { 0, { 0, 0, 0}}, // ( 77, 45)
+ { 0, { 0, 0, 0}}, // ( 78, 45)
+ { 0, { 0, 0, 0}}, // ( 79, 45)
+ { 0, { 0, 0, 0}}, // ( 80, 45)
+ { 0, { 0, 0, 0}}, // ( 81, 45)
+ { 0, { 0, 0, 0}}, // ( 82, 45)
+ { 0, { 0, 0, 0}}, // ( 83, 45)
+ { 0, { 0, 0, 0}}, // ( 84, 45)
+ { 0, { 0, 0, 0}}, // ( 85, 45)
+ { 0, { 0, 0, 0}}, // ( 86, 45)
+ { 0, { 0, 0, 0}}, // ( 87, 45)
+ { 0, { 0, 0, 0}}, // ( 88, 45)
+ { 0, { 0, 0, 0}}, // ( 89, 45)
+ { 0, { 0, 0, 0}}, // ( 90, 45)
+ { 0, { 0, 0, 0}}, // ( 91, 45)
+ { 0, { 0, 0, 0}}, // ( 92, 45)
+ { 0, { 0, 0, 0}}, // ( 93, 45)
+ { 0, { 0, 0, 0}}, // ( 94, 45)
+ { 0, { 0, 0, 0}}, // ( 95, 45)
+ { 0, { 0, 0, 0}}, // ( 96, 45)
+ { 0, { 0, 0, 0}}, // ( 97, 45)
+ { 0, { 0, 0, 0}}, // ( 98, 45)
+ { 0, { 0, 0, 0}}, // ( 99, 45)
+ { 0, { 0, 0, 0}}, // (100, 45)
+ { 0, { 0, 0, 0}}, // (101, 45)
+ { 0, { 0, 0, 0}}, // (102, 45)
+ { 0, { 0, 0, 0}}, // (103, 45)
+ { 0, { 0, 0, 0}}, // (104, 45)
+ { 0, { 0, 0, 0}}, // (105, 45)
+ { 0, { 0, 0, 0}}, // (106, 45)
+ { 0, { 0, 0, 0}}, // (107, 45)
+ { 0, { 0, 0, 0}}, // (108, 45)
+ { 0, { 0, 0, 0}}, // (109, 45)
+ { 0, { 0, 0, 0}}, // (110, 45)
+ { 0, { 0, 0, 0}}, // (111, 45)
+ { 0, { 0, 0, 0}}, // (112, 45)
+ { 0, { 0, 0, 0}}, // (113, 45)
+ { 0, { 0, 0, 0}}, // (114, 45)
+ { 0, { 0, 0, 0}}, // (115, 45)
+ { 0, { 0, 0, 0}}, // (116, 45)
+ { 0, { 0, 0, 0}}, // (117, 45)
+ { 0, { 0, 0, 0}}, // (118, 45)
+ { 0, { 0, 0, 0}}, // (119, 45)
+ { 0, { 0, 0, 0}}, // (120, 45)
+ { 0, { 0, 0, 0}}, // (121, 45)
+ { 0, { 0, 0, 0}}, // (122, 45)
+ { 0, { 0, 0, 0}}, // (123, 45)
+ { 0, { 0, 0, 0}}, // (124, 45)
+ { 0, { 0, 0, 0}}, // (125, 45)
+ { 0, { 0, 0, 0}}, // (126, 45)
+ { 0, { 0, 0, 0}}, // (127, 45)
+ { 0, { 0, 0, 0}}, // (128, 45)
+ { 0, { 0, 0, 0}}, // (129, 45)
+ { 0, { 0, 0, 0}}, // (130, 45)
+ { 0, { 0, 0, 0}}, // (131, 45)
+ { 0, { 0, 0, 0}}, // (132, 45)
+ { 0, { 0, 0, 0}}, // (133, 45)
+ { 0, { 0, 0, 0}}, // (134, 45)
+ { 0, { 0, 0, 0}}, // (135, 45)
+ { 0, { 0, 0, 0}}, // (136, 45)
+ { 0, { 0, 0, 0}}, // (137, 45)
+ { 0, { 0, 0, 0}}, // (138, 45)
+ { 0, { 0, 0, 0}}, // (139, 45)
+ { 0, { 0, 0, 0}}, // (140, 45)
+ { 0, { 0, 0, 0}}, // (141, 45)
+ { 0, { 0, 0, 0}}, // (142, 45)
+ { 0, { 0, 0, 0}}, // (143, 45)
+ { 0, { 0, 0, 0}}, // (144, 45)
+ { 0, { 0, 0, 0}}, // (145, 45)
+ { 0, { 0, 0, 0}}, // (146, 45)
+ { 0, { 0, 0, 0}}, // (147, 45)
+ { 0, { 0, 0, 0}}, // (148, 45)
+ { 0, { 0, 0, 0}}, // (149, 45)
+ { 0, { 0, 0, 0}}, // (150, 45)
+ { 0, { 0, 0, 0}}, // (151, 45)
+ { 0, { 0, 0, 0}}, // (152, 45)
+ { 0, { 0, 0, 0}}, // (153, 45)
+ { 0, { 0, 0, 0}}, // (154, 45)
+ { 0, { 0, 0, 0}}, // (155, 45)
+ { 0, { 0, 0, 0}}, // (156, 45)
+ { 0, { 0, 0, 0}}, // (157, 45)
+ { 0, { 0, 0, 0}}, // (158, 45)
+ { 0, { 0, 0, 0}}, // (159, 45)
+ { 0, { 0, 0, 0}}, // (160, 45)
+ { 0, { 0, 0, 0}}, // (161, 45)
+ { 0, { 0, 0, 0}}, // (162, 45)
+ { 0, { 0, 0, 0}}, // (163, 45)
+ { 0, { 0, 0, 0}}, // (164, 45)
+ { 16, { 0, 0, 0}}, // (165, 45)
+ {124, { 0, 0, 0}}, // (166, 45)
+ {128, { 0, 0, 0}}, // (167, 45)
+ {128, { 0, 0, 0}}, // (168, 45)
+ {128, { 0, 0, 0}}, // (169, 45)
+ {128, { 0, 0, 0}}, // (170, 45)
+ {128, { 0, 0, 0}}, // (171, 45)
+ {128, { 0, 0, 0}}, // (172, 45)
+ {128, { 0, 0, 0}}, // (173, 45)
+ {128, { 0, 0, 0}}, // (174, 45)
+ {128, { 0, 0, 0}}, // (175, 45)
+ {128, { 0, 0, 0}}, // (176, 45)
+ {128, { 0, 0, 0}}, // (177, 45)
+ {128, { 0, 0, 0}}, // (178, 45)
+ {128, { 0, 0, 0}}, // (179, 45)
+ {128, { 0, 0, 0}}, // ( 0, 46)
+ {128, { 0, 0, 0}}, // ( 1, 46)
+ {128, { 0, 0, 0}}, // ( 2, 46)
+ {128, { 0, 0, 0}}, // ( 3, 46)
+ {128, { 0, 0, 0}}, // ( 4, 46)
+ {128, { 0, 0, 0}}, // ( 5, 46)
+ {128, { 0, 0, 0}}, // ( 6, 46)
+ {128, { 0, 0, 0}}, // ( 7, 46)
+ {128, { 0, 0, 0}}, // ( 8, 46)
+ {128, { 0, 0, 0}}, // ( 9, 46)
+ {128, { 0, 0, 0}}, // ( 10, 46)
+ {128, { 0, 0, 0}}, // ( 11, 46)
+ {128, { 0, 0, 0}}, // ( 12, 46)
+ { 66, { 0, 0, 0}}, // ( 13, 46)
+ { 0, { 0, 0, 0}}, // ( 14, 46)
+ { 0, { 0, 0, 0}}, // ( 15, 46)
+ { 0, { 0, 0, 0}}, // ( 16, 46)
+ { 0, { 0, 0, 0}}, // ( 17, 46)
+ { 0, { 0, 0, 0}}, // ( 18, 46)
+ { 0, { 0, 0, 0}}, // ( 19, 46)
+ { 0, { 0, 0, 0}}, // ( 20, 46)
+ { 0, { 0, 0, 0}}, // ( 21, 46)
+ { 0, { 0, 0, 0}}, // ( 22, 46)
+ { 0, { 0, 0, 0}}, // ( 23, 46)
+ { 0, { 0, 0, 0}}, // ( 24, 46)
+ { 0, { 0, 0, 0}}, // ( 25, 46)
+ { 0, { 0, 0, 0}}, // ( 26, 46)
+ { 0, { 0, 0, 0}}, // ( 27, 46)
+ { 0, { 0, 0, 0}}, // ( 28, 46)
+ { 0, { 0, 0, 0}}, // ( 29, 46)
+ { 0, { 0, 0, 0}}, // ( 30, 46)
+ { 0, { 0, 0, 0}}, // ( 31, 46)
+ { 0, { 0, 0, 0}}, // ( 32, 46)
+ { 0, { 0, 0, 0}}, // ( 33, 46)
+ { 0, { 0, 0, 0}}, // ( 34, 46)
+ { 0, { 0, 0, 0}}, // ( 35, 46)
+ { 0, { 0, 0, 0}}, // ( 36, 46)
+ { 0, { 0, 0, 0}}, // ( 37, 46)
+ { 0, { 0, 0, 0}}, // ( 38, 46)
+ { 0, { 0, 0, 0}}, // ( 39, 46)
+ { 0, { 0, 0, 0}}, // ( 40, 46)
+ { 0, { 0, 0, 0}}, // ( 41, 46)
+ { 0, { 0, 0, 0}}, // ( 42, 46)
+ { 0, { 0, 0, 0}}, // ( 43, 46)
+ { 0, { 0, 0, 0}}, // ( 44, 46)
+ { 0, { 0, 0, 0}}, // ( 45, 46)
+ { 0, { 0, 0, 0}}, // ( 46, 46)
+ { 0, { 0, 0, 0}}, // ( 47, 46)
+ { 0, { 0, 0, 0}}, // ( 48, 46)
+ { 0, { 0, 0, 0}}, // ( 49, 46)
+ { 0, { 0, 0, 0}}, // ( 50, 46)
+ { 0, { 0, 0, 0}}, // ( 51, 46)
+ { 0, { 0, 0, 0}}, // ( 52, 46)
+ { 0, { 0, 0, 0}}, // ( 53, 46)
+ { 0, { 0, 0, 0}}, // ( 54, 46)
+ { 0, { 0, 0, 0}}, // ( 55, 46)
+ { 0, { 0, 0, 0}}, // ( 56, 46)
+ { 0, { 0, 0, 0}}, // ( 57, 46)
+ { 0, { 0, 0, 0}}, // ( 58, 46)
+ { 0, { 0, 0, 0}}, // ( 59, 46)
+ { 0, { 0, 0, 0}}, // ( 60, 46)
+ { 0, { 0, 0, 0}}, // ( 61, 46)
+ { 0, { 0, 0, 0}}, // ( 62, 46)
+ { 0, { 0, 0, 0}}, // ( 63, 46)
+ { 0, { 0, 0, 0}}, // ( 64, 46)
+ { 0, { 0, 0, 0}}, // ( 65, 46)
+ { 0, { 0, 0, 0}}, // ( 66, 46)
+ { 0, { 0, 0, 0}}, // ( 67, 46)
+ { 0, { 0, 0, 0}}, // ( 68, 46)
+ { 0, { 0, 0, 0}}, // ( 69, 46)
+ { 0, { 0, 0, 0}}, // ( 70, 46)
+ { 0, { 0, 0, 0}}, // ( 71, 46)
+ { 0, { 0, 0, 0}}, // ( 72, 46)
+ { 0, { 0, 0, 0}}, // ( 73, 46)
+ { 0, { 0, 0, 0}}, // ( 74, 46)
+ { 0, { 0, 0, 0}}, // ( 75, 46)
+ { 0, { 0, 0, 0}}, // ( 76, 46)
+ { 0, { 0, 0, 0}}, // ( 77, 46)
+ { 0, { 0, 0, 0}}, // ( 78, 46)
+ { 0, { 0, 0, 0}}, // ( 79, 46)
+ { 0, { 0, 0, 0}}, // ( 80, 46)
+ { 0, { 0, 0, 0}}, // ( 81, 46)
+ { 0, { 0, 0, 0}}, // ( 82, 46)
+ { 0, { 0, 0, 0}}, // ( 83, 46)
+ { 0, { 0, 0, 0}}, // ( 84, 46)
+ { 0, { 0, 0, 0}}, // ( 85, 46)
+ { 0, { 0, 0, 0}}, // ( 86, 46)
+ { 0, { 0, 0, 0}}, // ( 87, 46)
+ { 0, { 0, 0, 0}}, // ( 88, 46)
+ { 0, { 0, 0, 0}}, // ( 89, 46)
+ { 0, { 0, 0, 0}}, // ( 90, 46)
+ { 0, { 0, 0, 0}}, // ( 91, 46)
+ { 0, { 0, 0, 0}}, // ( 92, 46)
+ { 0, { 0, 0, 0}}, // ( 93, 46)
+ { 0, { 0, 0, 0}}, // ( 94, 46)
+ { 0, { 0, 0, 0}}, // ( 95, 46)
+ { 0, { 0, 0, 0}}, // ( 96, 46)
+ { 0, { 0, 0, 0}}, // ( 97, 46)
+ { 0, { 0, 0, 0}}, // ( 98, 46)
+ { 0, { 0, 0, 0}}, // ( 99, 46)
+ { 0, { 0, 0, 0}}, // (100, 46)
+ { 0, { 0, 0, 0}}, // (101, 46)
+ { 0, { 0, 0, 0}}, // (102, 46)
+ { 0, { 0, 0, 0}}, // (103, 46)
+ { 0, { 0, 0, 0}}, // (104, 46)
+ { 0, { 0, 0, 0}}, // (105, 46)
+ { 0, { 0, 0, 0}}, // (106, 46)
+ { 0, { 0, 0, 0}}, // (107, 46)
+ { 0, { 0, 0, 0}}, // (108, 46)
+ { 0, { 0, 0, 0}}, // (109, 46)
+ { 0, { 0, 0, 0}}, // (110, 46)
+ { 0, { 0, 0, 0}}, // (111, 46)
+ { 0, { 0, 0, 0}}, // (112, 46)
+ { 0, { 0, 0, 0}}, // (113, 46)
+ { 0, { 0, 0, 0}}, // (114, 46)
+ { 0, { 0, 0, 0}}, // (115, 46)
+ { 0, { 0, 0, 0}}, // (116, 46)
+ { 0, { 0, 0, 0}}, // (117, 46)
+ { 0, { 0, 0, 0}}, // (118, 46)
+ { 0, { 0, 0, 0}}, // (119, 46)
+ { 0, { 0, 0, 0}}, // (120, 46)
+ { 0, { 0, 0, 0}}, // (121, 46)
+ { 0, { 0, 0, 0}}, // (122, 46)
+ { 0, { 0, 0, 0}}, // (123, 46)
+ { 0, { 0, 0, 0}}, // (124, 46)
+ { 0, { 0, 0, 0}}, // (125, 46)
+ { 0, { 0, 0, 0}}, // (126, 46)
+ { 0, { 0, 0, 0}}, // (127, 46)
+ { 0, { 0, 0, 0}}, // (128, 46)
+ { 0, { 0, 0, 0}}, // (129, 46)
+ { 0, { 0, 0, 0}}, // (130, 46)
+ { 0, { 0, 0, 0}}, // (131, 46)
+ { 0, { 0, 0, 0}}, // (132, 46)
+ { 0, { 0, 0, 0}}, // (133, 46)
+ { 0, { 0, 0, 0}}, // (134, 46)
+ { 0, { 0, 0, 0}}, // (135, 46)
+ { 0, { 0, 0, 0}}, // (136, 46)
+ { 0, { 0, 0, 0}}, // (137, 46)
+ { 0, { 0, 0, 0}}, // (138, 46)
+ { 0, { 0, 0, 0}}, // (139, 46)
+ { 0, { 0, 0, 0}}, // (140, 46)
+ { 0, { 0, 0, 0}}, // (141, 46)
+ { 0, { 0, 0, 0}}, // (142, 46)
+ { 0, { 0, 0, 0}}, // (143, 46)
+ { 0, { 0, 0, 0}}, // (144, 46)
+ { 0, { 0, 0, 0}}, // (145, 46)
+ { 0, { 0, 0, 0}}, // (146, 46)
+ { 0, { 0, 0, 0}}, // (147, 46)
+ { 0, { 0, 0, 0}}, // (148, 46)
+ { 0, { 0, 0, 0}}, // (149, 46)
+ { 0, { 0, 0, 0}}, // (150, 46)
+ { 0, { 0, 0, 0}}, // (151, 46)
+ { 0, { 0, 0, 0}}, // (152, 46)
+ { 0, { 0, 0, 0}}, // (153, 46)
+ { 0, { 0, 0, 0}}, // (154, 46)
+ { 0, { 0, 0, 0}}, // (155, 46)
+ { 0, { 0, 0, 0}}, // (156, 46)
+ { 0, { 0, 0, 0}}, // (157, 46)
+ { 0, { 0, 0, 0}}, // (158, 46)
+ { 0, { 0, 0, 0}}, // (159, 46)
+ { 0, { 0, 0, 0}}, // (160, 46)
+ { 0, { 0, 0, 0}}, // (161, 46)
+ { 0, { 0, 0, 0}}, // (162, 46)
+ { 0, { 0, 0, 0}}, // (163, 46)
+ { 0, { 0, 0, 0}}, // (164, 46)
+ { 0, { 0, 0, 0}}, // (165, 46)
+ { 65, { 0, 0, 0}}, // (166, 46)
+ {128, { 0, 0, 0}}, // (167, 46)
+ {128, { 0, 0, 0}}, // (168, 46)
+ {128, { 0, 0, 0}}, // (169, 46)
+ {128, { 0, 0, 0}}, // (170, 46)
+ {128, { 0, 0, 0}}, // (171, 46)
+ {128, { 0, 0, 0}}, // (172, 46)
+ {128, { 0, 0, 0}}, // (173, 46)
+ {128, { 0, 0, 0}}, // (174, 46)
+ {128, { 0, 0, 0}}, // (175, 46)
+ {128, { 0, 0, 0}}, // (176, 46)
+ {128, { 0, 0, 0}}, // (177, 46)
+ {128, { 0, 0, 0}}, // (178, 46)
+ {128, { 0, 0, 0}}, // (179, 46)
+ {128, { 0, 0, 0}}, // ( 0, 47)
+ {128, { 0, 0, 0}}, // ( 1, 47)
+ {128, { 0, 0, 0}}, // ( 2, 47)
+ {128, { 0, 0, 0}}, // ( 3, 47)
+ {128, { 0, 0, 0}}, // ( 4, 47)
+ {128, { 0, 0, 0}}, // ( 5, 47)
+ {128, { 0, 0, 0}}, // ( 6, 47)
+ {128, { 0, 0, 0}}, // ( 7, 47)
+ {128, { 0, 0, 0}}, // ( 8, 47)
+ {128, { 0, 0, 0}}, // ( 9, 47)
+ {128, { 0, 0, 0}}, // ( 10, 47)
+ {128, { 0, 0, 0}}, // ( 11, 47)
+ {114, { 0, 0, 0}}, // ( 12, 47)
+ { 6, { 0, 0, 0}}, // ( 13, 47)
+ { 0, { 0, 0, 0}}, // ( 14, 47)
+ { 0, { 0, 0, 0}}, // ( 15, 47)
+ { 0, { 0, 0, 0}}, // ( 16, 47)
+ { 0, { 0, 0, 0}}, // ( 17, 47)
+ { 0, { 0, 0, 0}}, // ( 18, 47)
+ { 0, { 0, 0, 0}}, // ( 19, 47)
+ { 0, { 0, 0, 0}}, // ( 20, 47)
+ { 0, { 0, 0, 0}}, // ( 21, 47)
+ { 0, { 0, 0, 0}}, // ( 22, 47)
+ { 0, { 0, 0, 0}}, // ( 23, 47)
+ { 0, { 0, 0, 0}}, // ( 24, 47)
+ { 0, { 0, 0, 0}}, // ( 25, 47)
+ { 0, { 0, 0, 0}}, // ( 26, 47)
+ { 0, { 0, 0, 0}}, // ( 27, 47)
+ { 0, { 0, 0, 0}}, // ( 28, 47)
+ { 0, { 0, 0, 0}}, // ( 29, 47)
+ { 0, { 0, 0, 0}}, // ( 30, 47)
+ { 0, { 0, 0, 0}}, // ( 31, 47)
+ { 0, { 0, 0, 0}}, // ( 32, 47)
+ { 0, { 0, 0, 0}}, // ( 33, 47)
+ { 0, { 0, 0, 0}}, // ( 34, 47)
+ { 0, { 0, 0, 0}}, // ( 35, 47)
+ { 0, { 0, 0, 0}}, // ( 36, 47)
+ { 0, { 0, 0, 0}}, // ( 37, 47)
+ { 0, { 0, 0, 0}}, // ( 38, 47)
+ { 0, { 0, 0, 0}}, // ( 39, 47)
+ { 0, { 0, 0, 0}}, // ( 40, 47)
+ { 0, { 0, 0, 0}}, // ( 41, 47)
+ { 0, { 0, 0, 0}}, // ( 42, 47)
+ { 0, { 0, 0, 0}}, // ( 43, 47)
+ { 0, { 0, 0, 0}}, // ( 44, 47)
+ { 0, { 0, 0, 0}}, // ( 45, 47)
+ { 0, { 0, 0, 0}}, // ( 46, 47)
+ { 0, { 0, 0, 0}}, // ( 47, 47)
+ { 0, { 0, 0, 0}}, // ( 48, 47)
+ { 0, { 0, 0, 0}}, // ( 49, 47)
+ { 0, { 0, 0, 0}}, // ( 50, 47)
+ { 0, { 0, 0, 0}}, // ( 51, 47)
+ { 0, { 0, 0, 0}}, // ( 52, 47)
+ { 0, { 0, 0, 0}}, // ( 53, 47)
+ { 0, { 0, 0, 0}}, // ( 54, 47)
+ { 0, { 0, 0, 0}}, // ( 55, 47)
+ { 0, { 0, 0, 0}}, // ( 56, 47)
+ { 0, { 0, 0, 0}}, // ( 57, 47)
+ { 0, { 0, 0, 0}}, // ( 58, 47)
+ { 0, { 0, 0, 0}}, // ( 59, 47)
+ { 0, { 0, 0, 0}}, // ( 60, 47)
+ { 0, { 0, 0, 0}}, // ( 61, 47)
+ { 0, { 0, 0, 0}}, // ( 62, 47)
+ { 0, { 0, 0, 0}}, // ( 63, 47)
+ { 0, { 0, 0, 0}}, // ( 64, 47)
+ { 0, { 0, 0, 0}}, // ( 65, 47)
+ { 0, { 0, 0, 0}}, // ( 66, 47)
+ { 0, { 0, 0, 0}}, // ( 67, 47)
+ { 0, { 0, 0, 0}}, // ( 68, 47)
+ { 0, { 0, 0, 0}}, // ( 69, 47)
+ { 0, { 0, 0, 0}}, // ( 70, 47)
+ { 0, { 0, 0, 0}}, // ( 71, 47)
+ { 0, { 0, 0, 0}}, // ( 72, 47)
+ { 0, { 0, 0, 0}}, // ( 73, 47)
+ { 0, { 0, 0, 0}}, // ( 74, 47)
+ { 0, { 0, 0, 0}}, // ( 75, 47)
+ { 0, { 0, 0, 0}}, // ( 76, 47)
+ { 0, { 0, 0, 0}}, // ( 77, 47)
+ { 0, { 0, 0, 0}}, // ( 78, 47)
+ { 0, { 0, 0, 0}}, // ( 79, 47)
+ { 0, { 0, 0, 0}}, // ( 80, 47)
+ { 0, { 0, 0, 0}}, // ( 81, 47)
+ { 0, { 0, 0, 0}}, // ( 82, 47)
+ { 0, { 0, 0, 0}}, // ( 83, 47)
+ { 0, { 0, 0, 0}}, // ( 84, 47)
+ { 0, { 0, 0, 0}}, // ( 85, 47)
+ { 0, { 0, 0, 0}}, // ( 86, 47)
+ { 0, { 0, 0, 0}}, // ( 87, 47)
+ { 0, { 0, 0, 0}}, // ( 88, 47)
+ { 0, { 0, 0, 0}}, // ( 89, 47)
+ { 0, { 0, 0, 0}}, // ( 90, 47)
+ { 0, { 0, 0, 0}}, // ( 91, 47)
+ { 0, { 0, 0, 0}}, // ( 92, 47)
+ { 0, { 0, 0, 0}}, // ( 93, 47)
+ { 0, { 0, 0, 0}}, // ( 94, 47)
+ { 0, { 0, 0, 0}}, // ( 95, 47)
+ { 0, { 0, 0, 0}}, // ( 96, 47)
+ { 0, { 0, 0, 0}}, // ( 97, 47)
+ { 0, { 0, 0, 0}}, // ( 98, 47)
+ { 0, { 0, 0, 0}}, // ( 99, 47)
+ { 0, { 0, 0, 0}}, // (100, 47)
+ { 0, { 0, 0, 0}}, // (101, 47)
+ { 0, { 0, 0, 0}}, // (102, 47)
+ { 0, { 0, 0, 0}}, // (103, 47)
+ { 0, { 0, 0, 0}}, // (104, 47)
+ { 0, { 0, 0, 0}}, // (105, 47)
+ { 0, { 0, 0, 0}}, // (106, 47)
+ { 0, { 0, 0, 0}}, // (107, 47)
+ { 0, { 0, 0, 0}}, // (108, 47)
+ { 0, { 0, 0, 0}}, // (109, 47)
+ { 0, { 0, 0, 0}}, // (110, 47)
+ { 0, { 0, 0, 0}}, // (111, 47)
+ { 0, { 0, 0, 0}}, // (112, 47)
+ { 0, { 0, 0, 0}}, // (113, 47)
+ { 0, { 0, 0, 0}}, // (114, 47)
+ { 0, { 0, 0, 0}}, // (115, 47)
+ { 0, { 0, 0, 0}}, // (116, 47)
+ { 0, { 0, 0, 0}}, // (117, 47)
+ { 0, { 0, 0, 0}}, // (118, 47)
+ { 0, { 0, 0, 0}}, // (119, 47)
+ { 0, { 0, 0, 0}}, // (120, 47)
+ { 0, { 0, 0, 0}}, // (121, 47)
+ { 0, { 0, 0, 0}}, // (122, 47)
+ { 0, { 0, 0, 0}}, // (123, 47)
+ { 0, { 0, 0, 0}}, // (124, 47)
+ { 0, { 0, 0, 0}}, // (125, 47)
+ { 0, { 0, 0, 0}}, // (126, 47)
+ { 0, { 0, 0, 0}}, // (127, 47)
+ { 0, { 0, 0, 0}}, // (128, 47)
+ { 0, { 0, 0, 0}}, // (129, 47)
+ { 0, { 0, 0, 0}}, // (130, 47)
+ { 0, { 0, 0, 0}}, // (131, 47)
+ { 0, { 0, 0, 0}}, // (132, 47)
+ { 0, { 0, 0, 0}}, // (133, 47)
+ { 0, { 0, 0, 0}}, // (134, 47)
+ { 0, { 0, 0, 0}}, // (135, 47)
+ { 0, { 0, 0, 0}}, // (136, 47)
+ { 0, { 0, 0, 0}}, // (137, 47)
+ { 0, { 0, 0, 0}}, // (138, 47)
+ { 0, { 0, 0, 0}}, // (139, 47)
+ { 0, { 0, 0, 0}}, // (140, 47)
+ { 0, { 0, 0, 0}}, // (141, 47)
+ { 0, { 0, 0, 0}}, // (142, 47)
+ { 0, { 0, 0, 0}}, // (143, 47)
+ { 0, { 0, 0, 0}}, // (144, 47)
+ { 0, { 0, 0, 0}}, // (145, 47)
+ { 0, { 0, 0, 0}}, // (146, 47)
+ { 0, { 0, 0, 0}}, // (147, 47)
+ { 0, { 0, 0, 0}}, // (148, 47)
+ { 0, { 0, 0, 0}}, // (149, 47)
+ { 0, { 0, 0, 0}}, // (150, 47)
+ { 0, { 0, 0, 0}}, // (151, 47)
+ { 0, { 0, 0, 0}}, // (152, 47)
+ { 0, { 0, 0, 0}}, // (153, 47)
+ { 0, { 0, 0, 0}}, // (154, 47)
+ { 0, { 0, 0, 0}}, // (155, 47)
+ { 0, { 0, 0, 0}}, // (156, 47)
+ { 0, { 0, 0, 0}}, // (157, 47)
+ { 0, { 0, 0, 0}}, // (158, 47)
+ { 0, { 0, 0, 0}}, // (159, 47)
+ { 0, { 0, 0, 0}}, // (160, 47)
+ { 0, { 0, 0, 0}}, // (161, 47)
+ { 0, { 0, 0, 0}}, // (162, 47)
+ { 0, { 0, 0, 0}}, // (163, 47)
+ { 0, { 0, 0, 0}}, // (164, 47)
+ { 0, { 0, 0, 0}}, // (165, 47)
+ { 6, { 0, 0, 0}}, // (166, 47)
+ {114, { 0, 0, 0}}, // (167, 47)
+ {128, { 0, 0, 0}}, // (168, 47)
+ {128, { 0, 0, 0}}, // (169, 47)
+ {128, { 0, 0, 0}}, // (170, 47)
+ {128, { 0, 0, 0}}, // (171, 47)
+ {128, { 0, 0, 0}}, // (172, 47)
+ {128, { 0, 0, 0}}, // (173, 47)
+ {128, { 0, 0, 0}}, // (174, 47)
+ {128, { 0, 0, 0}}, // (175, 47)
+ {128, { 0, 0, 0}}, // (176, 47)
+ {128, { 0, 0, 0}}, // (177, 47)
+ {128, { 0, 0, 0}}, // (178, 47)
+ {128, { 0, 0, 0}}, // (179, 47)
+ {128, { 0, 0, 0}}, // ( 0, 48)
+ {128, { 0, 0, 0}}, // ( 1, 48)
+ {128, { 0, 0, 0}}, // ( 2, 48)
+ {128, { 0, 0, 0}}, // ( 3, 48)
+ {128, { 0, 0, 0}}, // ( 4, 48)
+ {128, { 0, 0, 0}}, // ( 5, 48)
+ {128, { 0, 0, 0}}, // ( 6, 48)
+ {128, { 0, 0, 0}}, // ( 7, 48)
+ {128, { 0, 0, 0}}, // ( 8, 48)
+ {128, { 0, 0, 0}}, // ( 9, 48)
+ {128, { 0, 0, 0}}, // ( 10, 48)
+ {128, { 0, 0, 0}}, // ( 11, 48)
+ { 51, { 0, 0, 0}}, // ( 12, 48)
+ { 0, { 0, 0, 0}}, // ( 13, 48)
+ { 0, { 0, 0, 0}}, // ( 14, 48)
+ { 0, { 0, 0, 0}}, // ( 15, 48)
+ { 0, { 0, 0, 0}}, // ( 16, 48)
+ { 0, { 0, 0, 0}}, // ( 17, 48)
+ { 0, { 0, 0, 0}}, // ( 18, 48)
+ { 0, { 0, 0, 0}}, // ( 19, 48)
+ { 0, { 0, 0, 0}}, // ( 20, 48)
+ { 0, { 0, 0, 0}}, // ( 21, 48)
+ { 0, { 0, 0, 0}}, // ( 22, 48)
+ { 0, { 0, 0, 0}}, // ( 23, 48)
+ { 0, { 0, 0, 0}}, // ( 24, 48)
+ { 0, { 0, 0, 0}}, // ( 25, 48)
+ { 0, { 0, 0, 0}}, // ( 26, 48)
+ { 0, { 0, 0, 0}}, // ( 27, 48)
+ { 0, { 0, 0, 0}}, // ( 28, 48)
+ { 0, { 0, 0, 0}}, // ( 29, 48)
+ { 0, { 0, 0, 0}}, // ( 30, 48)
+ { 0, { 0, 0, 0}}, // ( 31, 48)
+ { 0, { 0, 0, 0}}, // ( 32, 48)
+ { 0, { 0, 0, 0}}, // ( 33, 48)
+ { 0, { 0, 0, 0}}, // ( 34, 48)
+ { 0, { 0, 0, 0}}, // ( 35, 48)
+ { 0, { 0, 0, 0}}, // ( 36, 48)
+ { 0, { 0, 0, 0}}, // ( 37, 48)
+ { 0, { 0, 0, 0}}, // ( 38, 48)
+ { 0, { 0, 0, 0}}, // ( 39, 48)
+ { 0, { 0, 0, 0}}, // ( 40, 48)
+ { 0, { 0, 0, 0}}, // ( 41, 48)
+ { 0, { 0, 0, 0}}, // ( 42, 48)
+ { 0, { 0, 0, 0}}, // ( 43, 48)
+ { 0, { 0, 0, 0}}, // ( 44, 48)
+ { 0, { 0, 0, 0}}, // ( 45, 48)
+ { 0, { 0, 0, 0}}, // ( 46, 48)
+ { 0, { 0, 0, 0}}, // ( 47, 48)
+ { 0, { 0, 0, 0}}, // ( 48, 48)
+ { 0, { 0, 0, 0}}, // ( 49, 48)
+ { 0, { 0, 0, 0}}, // ( 50, 48)
+ { 0, { 0, 0, 0}}, // ( 51, 48)
+ { 0, { 0, 0, 0}}, // ( 52, 48)
+ { 0, { 0, 0, 0}}, // ( 53, 48)
+ { 0, { 0, 0, 0}}, // ( 54, 48)
+ { 0, { 0, 0, 0}}, // ( 55, 48)
+ { 0, { 0, 0, 0}}, // ( 56, 48)
+ { 0, { 0, 0, 0}}, // ( 57, 48)
+ { 0, { 0, 0, 0}}, // ( 58, 48)
+ { 0, { 0, 0, 0}}, // ( 59, 48)
+ { 0, { 0, 0, 0}}, // ( 60, 48)
+ { 0, { 0, 0, 0}}, // ( 61, 48)
+ { 0, { 0, 0, 0}}, // ( 62, 48)
+ { 0, { 0, 0, 0}}, // ( 63, 48)
+ { 0, { 0, 0, 0}}, // ( 64, 48)
+ { 0, { 0, 0, 0}}, // ( 65, 48)
+ { 0, { 0, 0, 0}}, // ( 66, 48)
+ { 0, { 0, 0, 0}}, // ( 67, 48)
+ { 0, { 0, 0, 0}}, // ( 68, 48)
+ { 0, { 0, 0, 0}}, // ( 69, 48)
+ { 0, { 0, 0, 0}}, // ( 70, 48)
+ { 0, { 0, 0, 0}}, // ( 71, 48)
+ { 0, { 0, 0, 0}}, // ( 72, 48)
+ { 0, { 0, 0, 0}}, // ( 73, 48)
+ { 0, { 0, 0, 0}}, // ( 74, 48)
+ { 0, { 0, 0, 0}}, // ( 75, 48)
+ { 0, { 0, 0, 0}}, // ( 76, 48)
+ { 0, { 0, 0, 0}}, // ( 77, 48)
+ { 0, { 0, 0, 0}}, // ( 78, 48)
+ { 0, { 0, 0, 0}}, // ( 79, 48)
+ { 0, { 0, 0, 0}}, // ( 80, 48)
+ { 0, { 0, 0, 0}}, // ( 81, 48)
+ { 0, { 0, 0, 0}}, // ( 82, 48)
+ { 0, { 0, 0, 0}}, // ( 83, 48)
+ { 0, { 0, 0, 0}}, // ( 84, 48)
+ { 0, { 0, 0, 0}}, // ( 85, 48)
+ { 0, { 0, 0, 0}}, // ( 86, 48)
+ { 0, { 0, 0, 0}}, // ( 87, 48)
+ { 0, { 0, 0, 0}}, // ( 88, 48)
+ { 0, { 0, 0, 0}}, // ( 89, 48)
+ { 0, { 0, 0, 0}}, // ( 90, 48)
+ { 0, { 0, 0, 0}}, // ( 91, 48)
+ { 0, { 0, 0, 0}}, // ( 92, 48)
+ { 0, { 0, 0, 0}}, // ( 93, 48)
+ { 0, { 0, 0, 0}}, // ( 94, 48)
+ { 0, { 0, 0, 0}}, // ( 95, 48)
+ { 0, { 0, 0, 0}}, // ( 96, 48)
+ { 0, { 0, 0, 0}}, // ( 97, 48)
+ { 0, { 0, 0, 0}}, // ( 98, 48)
+ { 0, { 0, 0, 0}}, // ( 99, 48)
+ { 0, { 0, 0, 0}}, // (100, 48)
+ { 0, { 0, 0, 0}}, // (101, 48)
+ { 0, { 0, 0, 0}}, // (102, 48)
+ { 0, { 0, 0, 0}}, // (103, 48)
+ { 0, { 0, 0, 0}}, // (104, 48)
+ { 0, { 0, 0, 0}}, // (105, 48)
+ { 0, { 0, 0, 0}}, // (106, 48)
+ { 0, { 0, 0, 0}}, // (107, 48)
+ { 0, { 0, 0, 0}}, // (108, 48)
+ { 0, { 0, 0, 0}}, // (109, 48)
+ { 0, { 0, 0, 0}}, // (110, 48)
+ { 0, { 0, 0, 0}}, // (111, 48)
+ { 0, { 0, 0, 0}}, // (112, 48)
+ { 0, { 0, 0, 0}}, // (113, 48)
+ { 0, { 0, 0, 0}}, // (114, 48)
+ { 0, { 0, 0, 0}}, // (115, 48)
+ { 0, { 0, 0, 0}}, // (116, 48)
+ { 0, { 0, 0, 0}}, // (117, 48)
+ { 0, { 0, 0, 0}}, // (118, 48)
+ { 0, { 0, 0, 0}}, // (119, 48)
+ { 0, { 0, 0, 0}}, // (120, 48)
+ { 0, { 0, 0, 0}}, // (121, 48)
+ { 0, { 0, 0, 0}}, // (122, 48)
+ { 0, { 0, 0, 0}}, // (123, 48)
+ { 0, { 0, 0, 0}}, // (124, 48)
+ { 0, { 0, 0, 0}}, // (125, 48)
+ { 0, { 0, 0, 0}}, // (126, 48)
+ { 0, { 0, 0, 0}}, // (127, 48)
+ { 0, { 0, 0, 0}}, // (128, 48)
+ { 0, { 0, 0, 0}}, // (129, 48)
+ { 0, { 0, 0, 0}}, // (130, 48)
+ { 0, { 0, 0, 0}}, // (131, 48)
+ { 0, { 0, 0, 0}}, // (132, 48)
+ { 0, { 0, 0, 0}}, // (133, 48)
+ { 0, { 0, 0, 0}}, // (134, 48)
+ { 0, { 0, 0, 0}}, // (135, 48)
+ { 0, { 0, 0, 0}}, // (136, 48)
+ { 0, { 0, 0, 0}}, // (137, 48)
+ { 0, { 0, 0, 0}}, // (138, 48)
+ { 0, { 0, 0, 0}}, // (139, 48)
+ { 0, { 0, 0, 0}}, // (140, 48)
+ { 0, { 0, 0, 0}}, // (141, 48)
+ { 0, { 0, 0, 0}}, // (142, 48)
+ { 0, { 0, 0, 0}}, // (143, 48)
+ { 0, { 0, 0, 0}}, // (144, 48)
+ { 0, { 0, 0, 0}}, // (145, 48)
+ { 0, { 0, 0, 0}}, // (146, 48)
+ { 0, { 0, 0, 0}}, // (147, 48)
+ { 0, { 0, 0, 0}}, // (148, 48)
+ { 0, { 0, 0, 0}}, // (149, 48)
+ { 0, { 0, 0, 0}}, // (150, 48)
+ { 0, { 0, 0, 0}}, // (151, 48)
+ { 0, { 0, 0, 0}}, // (152, 48)
+ { 0, { 0, 0, 0}}, // (153, 48)
+ { 0, { 0, 0, 0}}, // (154, 48)
+ { 0, { 0, 0, 0}}, // (155, 48)
+ { 0, { 0, 0, 0}}, // (156, 48)
+ { 0, { 0, 0, 0}}, // (157, 48)
+ { 0, { 0, 0, 0}}, // (158, 48)
+ { 0, { 0, 0, 0}}, // (159, 48)
+ { 0, { 0, 0, 0}}, // (160, 48)
+ { 0, { 0, 0, 0}}, // (161, 48)
+ { 0, { 0, 0, 0}}, // (162, 48)
+ { 0, { 0, 0, 0}}, // (163, 48)
+ { 0, { 0, 0, 0}}, // (164, 48)
+ { 0, { 0, 0, 0}}, // (165, 48)
+ { 0, { 0, 0, 0}}, // (166, 48)
+ { 51, { 0, 0, 0}}, // (167, 48)
+ {128, { 0, 0, 0}}, // (168, 48)
+ {128, { 0, 0, 0}}, // (169, 48)
+ {128, { 0, 0, 0}}, // (170, 48)
+ {128, { 0, 0, 0}}, // (171, 48)
+ {128, { 0, 0, 0}}, // (172, 48)
+ {128, { 0, 0, 0}}, // (173, 48)
+ {128, { 0, 0, 0}}, // (174, 48)
+ {128, { 0, 0, 0}}, // (175, 48)
+ {128, { 0, 0, 0}}, // (176, 48)
+ {128, { 0, 0, 0}}, // (177, 48)
+ {128, { 0, 0, 0}}, // (178, 48)
+ {128, { 0, 0, 0}}, // (179, 48)
+ {128, { 0, 0, 0}}, // ( 0, 49)
+ {128, { 0, 0, 0}}, // ( 1, 49)
+ {128, { 0, 0, 0}}, // ( 2, 49)
+ {128, { 0, 0, 0}}, // ( 3, 49)
+ {128, { 0, 0, 0}}, // ( 4, 49)
+ {128, { 0, 0, 0}}, // ( 5, 49)
+ {128, { 0, 0, 0}}, // ( 6, 49)
+ {128, { 0, 0, 0}}, // ( 7, 49)
+ {128, { 0, 0, 0}}, // ( 8, 49)
+ {128, { 0, 0, 0}}, // ( 9, 49)
+ {128, { 0, 0, 0}}, // ( 10, 49)
+ {111, { 0, 0, 0}}, // ( 11, 49)
+ { 2, { 0, 0, 0}}, // ( 12, 49)
+ { 0, { 0, 0, 0}}, // ( 13, 49)
+ { 0, { 0, 0, 0}}, // ( 14, 49)
+ { 0, { 0, 0, 0}}, // ( 15, 49)
+ { 0, { 0, 0, 0}}, // ( 16, 49)
+ { 0, { 0, 0, 0}}, // ( 17, 49)
+ { 0, { 0, 0, 0}}, // ( 18, 49)
+ { 0, { 0, 0, 0}}, // ( 19, 49)
+ { 0, { 0, 0, 0}}, // ( 20, 49)
+ { 0, { 0, 0, 0}}, // ( 21, 49)
+ { 0, { 0, 0, 0}}, // ( 22, 49)
+ { 0, { 0, 0, 0}}, // ( 23, 49)
+ { 0, { 0, 0, 0}}, // ( 24, 49)
+ { 0, { 0, 0, 0}}, // ( 25, 49)
+ { 0, { 0, 0, 0}}, // ( 26, 49)
+ { 0, { 0, 0, 0}}, // ( 27, 49)
+ { 0, { 0, 0, 0}}, // ( 28, 49)
+ { 0, { 0, 0, 0}}, // ( 29, 49)
+ { 0, { 0, 0, 0}}, // ( 30, 49)
+ { 0, { 0, 0, 0}}, // ( 31, 49)
+ { 0, { 0, 0, 0}}, // ( 32, 49)
+ { 0, { 0, 0, 0}}, // ( 33, 49)
+ { 0, { 0, 0, 0}}, // ( 34, 49)
+ { 0, { 0, 0, 0}}, // ( 35, 49)
+ { 0, { 0, 0, 0}}, // ( 36, 49)
+ { 0, { 0, 0, 0}}, // ( 37, 49)
+ { 0, { 0, 0, 0}}, // ( 38, 49)
+ { 0, { 0, 0, 0}}, // ( 39, 49)
+ { 0, { 0, 0, 0}}, // ( 40, 49)
+ { 0, { 0, 0, 0}}, // ( 41, 49)
+ { 0, { 0, 0, 0}}, // ( 42, 49)
+ { 0, { 0, 0, 0}}, // ( 43, 49)
+ { 0, { 0, 0, 0}}, // ( 44, 49)
+ { 0, { 0, 0, 0}}, // ( 45, 49)
+ { 0, { 0, 0, 0}}, // ( 46, 49)
+ { 0, { 0, 0, 0}}, // ( 47, 49)
+ { 0, { 0, 0, 0}}, // ( 48, 49)
+ { 0, { 0, 0, 0}}, // ( 49, 49)
+ { 0, { 0, 0, 0}}, // ( 50, 49)
+ { 0, { 0, 0, 0}}, // ( 51, 49)
+ { 0, { 0, 0, 0}}, // ( 52, 49)
+ { 0, { 0, 0, 0}}, // ( 53, 49)
+ { 0, { 0, 0, 0}}, // ( 54, 49)
+ { 0, { 0, 0, 0}}, // ( 55, 49)
+ { 0, { 0, 0, 0}}, // ( 56, 49)
+ { 0, { 0, 0, 0}}, // ( 57, 49)
+ { 0, { 0, 0, 0}}, // ( 58, 49)
+ { 0, { 0, 0, 0}}, // ( 59, 49)
+ { 0, { 0, 0, 0}}, // ( 60, 49)
+ { 0, { 0, 0, 0}}, // ( 61, 49)
+ { 0, { 0, 0, 0}}, // ( 62, 49)
+ { 0, { 0, 0, 0}}, // ( 63, 49)
+ { 0, { 0, 0, 0}}, // ( 64, 49)
+ { 0, { 0, 0, 0}}, // ( 65, 49)
+ { 0, { 0, 0, 0}}, // ( 66, 49)
+ { 0, { 0, 0, 0}}, // ( 67, 49)
+ { 0, { 0, 0, 0}}, // ( 68, 49)
+ { 0, { 0, 0, 0}}, // ( 69, 49)
+ { 0, { 0, 0, 0}}, // ( 70, 49)
+ { 0, { 0, 0, 0}}, // ( 71, 49)
+ { 0, { 0, 0, 0}}, // ( 72, 49)
+ { 0, { 0, 0, 0}}, // ( 73, 49)
+ { 0, { 0, 0, 0}}, // ( 74, 49)
+ { 0, { 0, 0, 0}}, // ( 75, 49)
+ { 0, { 0, 0, 0}}, // ( 76, 49)
+ { 0, { 0, 0, 0}}, // ( 77, 49)
+ { 0, { 0, 0, 0}}, // ( 78, 49)
+ { 0, { 0, 0, 0}}, // ( 79, 49)
+ { 0, { 0, 0, 0}}, // ( 80, 49)
+ { 0, { 0, 0, 0}}, // ( 81, 49)
+ { 0, { 0, 0, 0}}, // ( 82, 49)
+ { 0, { 0, 0, 0}}, // ( 83, 49)
+ { 0, { 0, 0, 0}}, // ( 84, 49)
+ { 0, { 0, 0, 0}}, // ( 85, 49)
+ { 0, { 0, 0, 0}}, // ( 86, 49)
+ { 0, { 0, 0, 0}}, // ( 87, 49)
+ { 0, { 0, 0, 0}}, // ( 88, 49)
+ { 0, { 0, 0, 0}}, // ( 89, 49)
+ { 0, { 0, 0, 0}}, // ( 90, 49)
+ { 0, { 0, 0, 0}}, // ( 91, 49)
+ { 0, { 0, 0, 0}}, // ( 92, 49)
+ { 0, { 0, 0, 0}}, // ( 93, 49)
+ { 0, { 0, 0, 0}}, // ( 94, 49)
+ { 0, { 0, 0, 0}}, // ( 95, 49)
+ { 0, { 0, 0, 0}}, // ( 96, 49)
+ { 0, { 0, 0, 0}}, // ( 97, 49)
+ { 0, { 0, 0, 0}}, // ( 98, 49)
+ { 0, { 0, 0, 0}}, // ( 99, 49)
+ { 0, { 0, 0, 0}}, // (100, 49)
+ { 0, { 0, 0, 0}}, // (101, 49)
+ { 0, { 0, 0, 0}}, // (102, 49)
+ { 0, { 0, 0, 0}}, // (103, 49)
+ { 0, { 0, 0, 0}}, // (104, 49)
+ { 0, { 0, 0, 0}}, // (105, 49)
+ { 0, { 0, 0, 0}}, // (106, 49)
+ { 0, { 0, 0, 0}}, // (107, 49)
+ { 0, { 0, 0, 0}}, // (108, 49)
+ { 0, { 0, 0, 0}}, // (109, 49)
+ { 0, { 0, 0, 0}}, // (110, 49)
+ { 0, { 0, 0, 0}}, // (111, 49)
+ { 0, { 0, 0, 0}}, // (112, 49)
+ { 0, { 0, 0, 0}}, // (113, 49)
+ { 0, { 0, 0, 0}}, // (114, 49)
+ { 0, { 0, 0, 0}}, // (115, 49)
+ { 0, { 0, 0, 0}}, // (116, 49)
+ { 0, { 0, 0, 0}}, // (117, 49)
+ { 0, { 0, 0, 0}}, // (118, 49)
+ { 0, { 0, 0, 0}}, // (119, 49)
+ { 0, { 0, 0, 0}}, // (120, 49)
+ { 0, { 0, 0, 0}}, // (121, 49)
+ { 0, { 0, 0, 0}}, // (122, 49)
+ { 0, { 0, 0, 0}}, // (123, 49)
+ { 0, { 0, 0, 0}}, // (124, 49)
+ { 0, { 0, 0, 0}}, // (125, 49)
+ { 0, { 0, 0, 0}}, // (126, 49)
+ { 0, { 0, 0, 0}}, // (127, 49)
+ { 0, { 0, 0, 0}}, // (128, 49)
+ { 0, { 0, 0, 0}}, // (129, 49)
+ { 0, { 0, 0, 0}}, // (130, 49)
+ { 0, { 0, 0, 0}}, // (131, 49)
+ { 0, { 0, 0, 0}}, // (132, 49)
+ { 0, { 0, 0, 0}}, // (133, 49)
+ { 0, { 0, 0, 0}}, // (134, 49)
+ { 0, { 0, 0, 0}}, // (135, 49)
+ { 0, { 0, 0, 0}}, // (136, 49)
+ { 0, { 0, 0, 0}}, // (137, 49)
+ { 0, { 0, 0, 0}}, // (138, 49)
+ { 0, { 0, 0, 0}}, // (139, 49)
+ { 0, { 0, 0, 0}}, // (140, 49)
+ { 0, { 0, 0, 0}}, // (141, 49)
+ { 0, { 0, 0, 0}}, // (142, 49)
+ { 0, { 0, 0, 0}}, // (143, 49)
+ { 0, { 0, 0, 0}}, // (144, 49)
+ { 0, { 0, 0, 0}}, // (145, 49)
+ { 0, { 0, 0, 0}}, // (146, 49)
+ { 0, { 0, 0, 0}}, // (147, 49)
+ { 0, { 0, 0, 0}}, // (148, 49)
+ { 0, { 0, 0, 0}}, // (149, 49)
+ { 0, { 0, 0, 0}}, // (150, 49)
+ { 0, { 0, 0, 0}}, // (151, 49)
+ { 0, { 0, 0, 0}}, // (152, 49)
+ { 0, { 0, 0, 0}}, // (153, 49)
+ { 0, { 0, 0, 0}}, // (154, 49)
+ { 0, { 0, 0, 0}}, // (155, 49)
+ { 0, { 0, 0, 0}}, // (156, 49)
+ { 0, { 0, 0, 0}}, // (157, 49)
+ { 0, { 0, 0, 0}}, // (158, 49)
+ { 0, { 0, 0, 0}}, // (159, 49)
+ { 0, { 0, 0, 0}}, // (160, 49)
+ { 0, { 0, 0, 0}}, // (161, 49)
+ { 0, { 0, 0, 0}}, // (162, 49)
+ { 0, { 0, 0, 0}}, // (163, 49)
+ { 0, { 0, 0, 0}}, // (164, 49)
+ { 0, { 0, 0, 0}}, // (165, 49)
+ { 0, { 0, 0, 0}}, // (166, 49)
+ { 2, { 0, 0, 0}}, // (167, 49)
+ {110, { 0, 0, 0}}, // (168, 49)
+ {128, { 0, 0, 0}}, // (169, 49)
+ {128, { 0, 0, 0}}, // (170, 49)
+ {128, { 0, 0, 0}}, // (171, 49)
+ {128, { 0, 0, 0}}, // (172, 49)
+ {128, { 0, 0, 0}}, // (173, 49)
+ {128, { 0, 0, 0}}, // (174, 49)
+ {128, { 0, 0, 0}}, // (175, 49)
+ {128, { 0, 0, 0}}, // (176, 49)
+ {128, { 0, 0, 0}}, // (177, 49)
+ {128, { 0, 0, 0}}, // (178, 49)
+ {128, { 0, 0, 0}}, // (179, 49)
+ {128, { 0, 0, 0}}, // ( 0, 50)
+ {128, { 0, 0, 0}}, // ( 1, 50)
+ {128, { 0, 0, 0}}, // ( 2, 50)
+ {128, { 0, 0, 0}}, // ( 3, 50)
+ {128, { 0, 0, 0}}, // ( 4, 50)
+ {128, { 0, 0, 0}}, // ( 5, 50)
+ {128, { 0, 0, 0}}, // ( 6, 50)
+ {128, { 0, 0, 0}}, // ( 7, 50)
+ {128, { 0, 0, 0}}, // ( 8, 50)
+ {128, { 0, 0, 0}}, // ( 9, 50)
+ {128, { 0, 0, 0}}, // ( 10, 50)
+ { 47, { 0, 0, 0}}, // ( 11, 50)
+ { 0, { 0, 0, 0}}, // ( 12, 50)
+ { 0, { 0, 0, 0}}, // ( 13, 50)
+ { 0, { 0, 0, 0}}, // ( 14, 50)
+ { 0, { 0, 0, 0}}, // ( 15, 50)
+ { 0, { 0, 0, 0}}, // ( 16, 50)
+ { 0, { 0, 0, 0}}, // ( 17, 50)
+ { 0, { 0, 0, 0}}, // ( 18, 50)
+ { 0, { 0, 0, 0}}, // ( 19, 50)
+ { 0, { 0, 0, 0}}, // ( 20, 50)
+ { 0, { 0, 0, 0}}, // ( 21, 50)
+ { 0, { 0, 0, 0}}, // ( 22, 50)
+ { 0, { 0, 0, 0}}, // ( 23, 50)
+ { 0, { 0, 0, 0}}, // ( 24, 50)
+ { 0, { 0, 0, 0}}, // ( 25, 50)
+ { 0, { 0, 0, 0}}, // ( 26, 50)
+ { 0, { 0, 0, 0}}, // ( 27, 50)
+ { 0, { 0, 0, 0}}, // ( 28, 50)
+ { 0, { 0, 0, 0}}, // ( 29, 50)
+ { 0, { 0, 0, 0}}, // ( 30, 50)
+ { 0, { 0, 0, 0}}, // ( 31, 50)
+ { 0, { 0, 0, 0}}, // ( 32, 50)
+ { 0, { 0, 0, 0}}, // ( 33, 50)
+ { 0, { 0, 0, 0}}, // ( 34, 50)
+ { 0, { 0, 0, 0}}, // ( 35, 50)
+ { 0, { 0, 0, 0}}, // ( 36, 50)
+ { 0, { 0, 0, 0}}, // ( 37, 50)
+ { 0, { 0, 0, 0}}, // ( 38, 50)
+ { 0, { 0, 0, 0}}, // ( 39, 50)
+ { 0, { 0, 0, 0}}, // ( 40, 50)
+ { 0, { 0, 0, 0}}, // ( 41, 50)
+ { 0, { 0, 0, 0}}, // ( 42, 50)
+ { 0, { 0, 0, 0}}, // ( 43, 50)
+ { 0, { 0, 0, 0}}, // ( 44, 50)
+ { 0, { 0, 0, 0}}, // ( 45, 50)
+ { 0, { 0, 0, 0}}, // ( 46, 50)
+ { 0, { 0, 0, 0}}, // ( 47, 50)
+ { 0, { 0, 0, 0}}, // ( 48, 50)
+ { 0, { 0, 0, 0}}, // ( 49, 50)
+ { 0, { 0, 0, 0}}, // ( 50, 50)
+ { 0, { 0, 0, 0}}, // ( 51, 50)
+ { 0, { 0, 0, 0}}, // ( 52, 50)
+ { 0, { 0, 0, 0}}, // ( 53, 50)
+ { 0, { 0, 0, 0}}, // ( 54, 50)
+ { 0, { 0, 0, 0}}, // ( 55, 50)
+ { 0, { 0, 0, 0}}, // ( 56, 50)
+ { 0, { 0, 0, 0}}, // ( 57, 50)
+ { 0, { 0, 0, 0}}, // ( 58, 50)
+ { 0, { 0, 0, 0}}, // ( 59, 50)
+ { 0, { 0, 0, 0}}, // ( 60, 50)
+ { 0, { 0, 0, 0}}, // ( 61, 50)
+ { 0, { 0, 0, 0}}, // ( 62, 50)
+ { 0, { 0, 0, 0}}, // ( 63, 50)
+ { 0, { 0, 0, 0}}, // ( 64, 50)
+ { 0, { 0, 0, 0}}, // ( 65, 50)
+ { 0, { 0, 0, 0}}, // ( 66, 50)
+ { 0, { 0, 0, 0}}, // ( 67, 50)
+ { 0, { 0, 0, 0}}, // ( 68, 50)
+ { 0, { 0, 0, 0}}, // ( 69, 50)
+ { 0, { 0, 0, 0}}, // ( 70, 50)
+ { 0, { 0, 0, 0}}, // ( 71, 50)
+ { 0, { 0, 0, 0}}, // ( 72, 50)
+ { 0, { 0, 0, 0}}, // ( 73, 50)
+ { 0, { 0, 0, 0}}, // ( 74, 50)
+ { 0, { 0, 0, 0}}, // ( 75, 50)
+ { 0, { 0, 0, 0}}, // ( 76, 50)
+ { 0, { 0, 0, 0}}, // ( 77, 50)
+ { 0, { 0, 0, 0}}, // ( 78, 50)
+ { 0, { 0, 0, 0}}, // ( 79, 50)
+ { 0, { 0, 0, 0}}, // ( 80, 50)
+ { 0, { 0, 0, 0}}, // ( 81, 50)
+ { 0, { 0, 0, 0}}, // ( 82, 50)
+ { 0, { 0, 0, 0}}, // ( 83, 50)
+ { 0, { 0, 0, 0}}, // ( 84, 50)
+ { 0, { 0, 0, 0}}, // ( 85, 50)
+ { 0, { 0, 0, 0}}, // ( 86, 50)
+ { 0, { 0, 0, 0}}, // ( 87, 50)
+ { 0, { 0, 0, 0}}, // ( 88, 50)
+ { 0, { 0, 0, 0}}, // ( 89, 50)
+ { 0, { 0, 0, 0}}, // ( 90, 50)
+ { 0, { 0, 0, 0}}, // ( 91, 50)
+ { 0, { 0, 0, 0}}, // ( 92, 50)
+ { 0, { 0, 0, 0}}, // ( 93, 50)
+ { 0, { 0, 0, 0}}, // ( 94, 50)
+ { 0, { 0, 0, 0}}, // ( 95, 50)
+ { 0, { 0, 0, 0}}, // ( 96, 50)
+ { 0, { 0, 0, 0}}, // ( 97, 50)
+ { 0, { 0, 0, 0}}, // ( 98, 50)
+ { 0, { 0, 0, 0}}, // ( 99, 50)
+ { 0, { 0, 0, 0}}, // (100, 50)
+ { 0, { 0, 0, 0}}, // (101, 50)
+ { 0, { 0, 0, 0}}, // (102, 50)
+ { 0, { 0, 0, 0}}, // (103, 50)
+ { 0, { 0, 0, 0}}, // (104, 50)
+ { 0, { 0, 0, 0}}, // (105, 50)
+ { 0, { 0, 0, 0}}, // (106, 50)
+ { 0, { 0, 0, 0}}, // (107, 50)
+ { 0, { 0, 0, 0}}, // (108, 50)
+ { 0, { 0, 0, 0}}, // (109, 50)
+ { 0, { 0, 0, 0}}, // (110, 50)
+ { 0, { 0, 0, 0}}, // (111, 50)
+ { 0, { 0, 0, 0}}, // (112, 50)
+ { 0, { 0, 0, 0}}, // (113, 50)
+ { 0, { 0, 0, 0}}, // (114, 50)
+ { 0, { 0, 0, 0}}, // (115, 50)
+ { 0, { 0, 0, 0}}, // (116, 50)
+ { 0, { 0, 0, 0}}, // (117, 50)
+ { 0, { 0, 0, 0}}, // (118, 50)
+ { 0, { 0, 0, 0}}, // (119, 50)
+ { 0, { 0, 0, 0}}, // (120, 50)
+ { 0, { 0, 0, 0}}, // (121, 50)
+ { 0, { 0, 0, 0}}, // (122, 50)
+ { 0, { 0, 0, 0}}, // (123, 50)
+ { 0, { 0, 0, 0}}, // (124, 50)
+ { 0, { 0, 0, 0}}, // (125, 50)
+ { 0, { 0, 0, 0}}, // (126, 50)
+ { 0, { 0, 0, 0}}, // (127, 50)
+ { 0, { 0, 0, 0}}, // (128, 50)
+ { 0, { 0, 0, 0}}, // (129, 50)
+ { 0, { 0, 0, 0}}, // (130, 50)
+ { 0, { 0, 0, 0}}, // (131, 50)
+ { 0, { 0, 0, 0}}, // (132, 50)
+ { 0, { 0, 0, 0}}, // (133, 50)
+ { 0, { 0, 0, 0}}, // (134, 50)
+ { 0, { 0, 0, 0}}, // (135, 50)
+ { 0, { 0, 0, 0}}, // (136, 50)
+ { 0, { 0, 0, 0}}, // (137, 50)
+ { 0, { 0, 0, 0}}, // (138, 50)
+ { 0, { 0, 0, 0}}, // (139, 50)
+ { 0, { 0, 0, 0}}, // (140, 50)
+ { 0, { 0, 0, 0}}, // (141, 50)
+ { 0, { 0, 0, 0}}, // (142, 50)
+ { 0, { 0, 0, 0}}, // (143, 50)
+ { 0, { 0, 0, 0}}, // (144, 50)
+ { 0, { 0, 0, 0}}, // (145, 50)
+ { 0, { 0, 0, 0}}, // (146, 50)
+ { 0, { 0, 0, 0}}, // (147, 50)
+ { 0, { 0, 0, 0}}, // (148, 50)
+ { 0, { 0, 0, 0}}, // (149, 50)
+ { 0, { 0, 0, 0}}, // (150, 50)
+ { 0, { 0, 0, 0}}, // (151, 50)
+ { 0, { 0, 0, 0}}, // (152, 50)
+ { 0, { 0, 0, 0}}, // (153, 50)
+ { 0, { 0, 0, 0}}, // (154, 50)
+ { 0, { 0, 0, 0}}, // (155, 50)
+ { 0, { 0, 0, 0}}, // (156, 50)
+ { 0, { 0, 0, 0}}, // (157, 50)
+ { 0, { 0, 0, 0}}, // (158, 50)
+ { 0, { 0, 0, 0}}, // (159, 50)
+ { 0, { 0, 0, 0}}, // (160, 50)
+ { 0, { 0, 0, 0}}, // (161, 50)
+ { 0, { 0, 0, 0}}, // (162, 50)
+ { 0, { 0, 0, 0}}, // (163, 50)
+ { 0, { 0, 0, 0}}, // (164, 50)
+ { 0, { 0, 0, 0}}, // (165, 50)
+ { 0, { 0, 0, 0}}, // (166, 50)
+ { 0, { 0, 0, 0}}, // (167, 50)
+ { 47, { 0, 0, 0}}, // (168, 50)
+ {128, { 0, 0, 0}}, // (169, 50)
+ {128, { 0, 0, 0}}, // (170, 50)
+ {128, { 0, 0, 0}}, // (171, 50)
+ {128, { 0, 0, 0}}, // (172, 50)
+ {128, { 0, 0, 0}}, // (173, 50)
+ {128, { 0, 0, 0}}, // (174, 50)
+ {128, { 0, 0, 0}}, // (175, 50)
+ {128, { 0, 0, 0}}, // (176, 50)
+ {128, { 0, 0, 0}}, // (177, 50)
+ {128, { 0, 0, 0}}, // (178, 50)
+ {128, { 0, 0, 0}}, // (179, 50)
+ {128, { 0, 0, 0}}, // ( 0, 51)
+ {128, { 0, 0, 0}}, // ( 1, 51)
+ {128, { 0, 0, 0}}, // ( 2, 51)
+ {128, { 0, 0, 0}}, // ( 3, 51)
+ {128, { 0, 0, 0}}, // ( 4, 51)
+ {128, { 0, 0, 0}}, // ( 5, 51)
+ {128, { 0, 0, 0}}, // ( 6, 51)
+ {128, { 0, 0, 0}}, // ( 7, 51)
+ {128, { 0, 0, 0}}, // ( 8, 51)
+ {128, { 0, 0, 0}}, // ( 9, 51)
+ {108, { 0, 0, 0}}, // ( 10, 51)
+ { 2, { 0, 0, 0}}, // ( 11, 51)
+ { 0, { 0, 0, 0}}, // ( 12, 51)
+ { 0, { 0, 0, 0}}, // ( 13, 51)
+ { 0, { 0, 0, 0}}, // ( 14, 51)
+ { 0, { 0, 0, 0}}, // ( 15, 51)
+ { 0, { 0, 0, 0}}, // ( 16, 51)
+ { 0, { 0, 0, 0}}, // ( 17, 51)
+ { 0, { 0, 0, 0}}, // ( 18, 51)
+ { 0, { 0, 0, 0}}, // ( 19, 51)
+ { 0, { 0, 0, 0}}, // ( 20, 51)
+ { 0, { 0, 0, 0}}, // ( 21, 51)
+ { 0, { 0, 0, 0}}, // ( 22, 51)
+ { 0, { 0, 0, 0}}, // ( 23, 51)
+ { 0, { 0, 0, 0}}, // ( 24, 51)
+ { 0, { 0, 0, 0}}, // ( 25, 51)
+ { 0, { 0, 0, 0}}, // ( 26, 51)
+ { 0, { 0, 0, 0}}, // ( 27, 51)
+ { 0, { 0, 0, 0}}, // ( 28, 51)
+ { 0, { 0, 0, 0}}, // ( 29, 51)
+ { 0, { 0, 0, 0}}, // ( 30, 51)
+ { 0, { 0, 0, 0}}, // ( 31, 51)
+ { 0, { 0, 0, 0}}, // ( 32, 51)
+ { 0, { 0, 0, 0}}, // ( 33, 51)
+ { 0, { 0, 0, 0}}, // ( 34, 51)
+ { 0, { 0, 0, 0}}, // ( 35, 51)
+ { 0, { 0, 0, 0}}, // ( 36, 51)
+ { 0, { 0, 0, 0}}, // ( 37, 51)
+ { 0, { 0, 0, 0}}, // ( 38, 51)
+ { 0, { 0, 0, 0}}, // ( 39, 51)
+ { 0, { 0, 0, 0}}, // ( 40, 51)
+ { 0, { 0, 0, 0}}, // ( 41, 51)
+ { 0, { 0, 0, 0}}, // ( 42, 51)
+ { 0, { 0, 0, 0}}, // ( 43, 51)
+ { 0, { 0, 0, 0}}, // ( 44, 51)
+ { 0, { 0, 0, 0}}, // ( 45, 51)
+ { 0, { 0, 0, 0}}, // ( 46, 51)
+ { 0, { 0, 0, 0}}, // ( 47, 51)
+ { 0, { 0, 0, 0}}, // ( 48, 51)
+ { 0, { 0, 0, 0}}, // ( 49, 51)
+ { 0, { 0, 0, 0}}, // ( 50, 51)
+ { 0, { 0, 0, 0}}, // ( 51, 51)
+ { 0, { 0, 0, 0}}, // ( 52, 51)
+ { 0, { 0, 0, 0}}, // ( 53, 51)
+ { 0, { 0, 0, 0}}, // ( 54, 51)
+ { 0, { 0, 0, 0}}, // ( 55, 51)
+ { 0, { 0, 0, 0}}, // ( 56, 51)
+ { 0, { 0, 0, 0}}, // ( 57, 51)
+ { 0, { 0, 0, 0}}, // ( 58, 51)
+ { 0, { 0, 0, 0}}, // ( 59, 51)
+ { 0, { 0, 0, 0}}, // ( 60, 51)
+ { 0, { 0, 0, 0}}, // ( 61, 51)
+ { 0, { 0, 0, 0}}, // ( 62, 51)
+ { 0, { 0, 0, 0}}, // ( 63, 51)
+ { 0, { 0, 0, 0}}, // ( 64, 51)
+ { 0, { 0, 0, 0}}, // ( 65, 51)
+ { 0, { 0, 0, 0}}, // ( 66, 51)
+ { 0, { 0, 0, 0}}, // ( 67, 51)
+ { 0, { 0, 0, 0}}, // ( 68, 51)
+ { 0, { 0, 0, 0}}, // ( 69, 51)
+ { 0, { 0, 0, 0}}, // ( 70, 51)
+ { 0, { 0, 0, 0}}, // ( 71, 51)
+ { 0, { 0, 0, 0}}, // ( 72, 51)
+ { 0, { 0, 0, 0}}, // ( 73, 51)
+ { 0, { 0, 0, 0}}, // ( 74, 51)
+ { 0, { 0, 0, 0}}, // ( 75, 51)
+ { 0, { 0, 0, 0}}, // ( 76, 51)
+ { 0, { 0, 0, 0}}, // ( 77, 51)
+ { 0, { 0, 0, 0}}, // ( 78, 51)
+ { 0, { 0, 0, 0}}, // ( 79, 51)
+ { 0, { 0, 0, 0}}, // ( 80, 51)
+ { 0, { 0, 0, 0}}, // ( 81, 51)
+ { 0, { 0, 0, 0}}, // ( 82, 51)
+ { 0, { 0, 0, 0}}, // ( 83, 51)
+ { 0, { 0, 0, 0}}, // ( 84, 51)
+ { 0, { 0, 0, 0}}, // ( 85, 51)
+ { 0, { 0, 0, 0}}, // ( 86, 51)
+ { 0, { 0, 0, 0}}, // ( 87, 51)
+ { 0, { 0, 0, 0}}, // ( 88, 51)
+ { 0, { 0, 0, 0}}, // ( 89, 51)
+ { 0, { 0, 0, 0}}, // ( 90, 51)
+ { 0, { 0, 0, 0}}, // ( 91, 51)
+ { 0, { 0, 0, 0}}, // ( 92, 51)
+ { 0, { 0, 0, 0}}, // ( 93, 51)
+ { 0, { 0, 0, 0}}, // ( 94, 51)
+ { 0, { 0, 0, 0}}, // ( 95, 51)
+ { 0, { 0, 0, 0}}, // ( 96, 51)
+ { 0, { 0, 0, 0}}, // ( 97, 51)
+ { 0, { 0, 0, 0}}, // ( 98, 51)
+ { 0, { 0, 0, 0}}, // ( 99, 51)
+ { 0, { 0, 0, 0}}, // (100, 51)
+ { 0, { 0, 0, 0}}, // (101, 51)
+ { 0, { 0, 0, 0}}, // (102, 51)
+ { 0, { 0, 0, 0}}, // (103, 51)
+ { 0, { 0, 0, 0}}, // (104, 51)
+ { 0, { 0, 0, 0}}, // (105, 51)
+ { 0, { 0, 0, 0}}, // (106, 51)
+ { 0, { 0, 0, 0}}, // (107, 51)
+ { 0, { 0, 0, 0}}, // (108, 51)
+ { 0, { 0, 0, 0}}, // (109, 51)
+ { 0, { 0, 0, 0}}, // (110, 51)
+ { 0, { 0, 0, 0}}, // (111, 51)
+ { 0, { 0, 0, 0}}, // (112, 51)
+ { 0, { 0, 0, 0}}, // (113, 51)
+ { 0, { 0, 0, 0}}, // (114, 51)
+ { 0, { 0, 0, 0}}, // (115, 51)
+ { 0, { 0, 0, 0}}, // (116, 51)
+ { 0, { 0, 0, 0}}, // (117, 51)
+ { 0, { 0, 0, 0}}, // (118, 51)
+ { 0, { 0, 0, 0}}, // (119, 51)
+ { 0, { 0, 0, 0}}, // (120, 51)
+ { 0, { 0, 0, 0}}, // (121, 51)
+ { 0, { 0, 0, 0}}, // (122, 51)
+ { 0, { 0, 0, 0}}, // (123, 51)
+ { 0, { 0, 0, 0}}, // (124, 51)
+ { 0, { 0, 0, 0}}, // (125, 51)
+ { 0, { 0, 0, 0}}, // (126, 51)
+ { 0, { 0, 0, 0}}, // (127, 51)
+ { 0, { 0, 0, 0}}, // (128, 51)
+ { 0, { 0, 0, 0}}, // (129, 51)
+ { 0, { 0, 0, 0}}, // (130, 51)
+ { 0, { 0, 0, 0}}, // (131, 51)
+ { 0, { 0, 0, 0}}, // (132, 51)
+ { 0, { 0, 0, 0}}, // (133, 51)
+ { 0, { 0, 0, 0}}, // (134, 51)
+ { 0, { 0, 0, 0}}, // (135, 51)
+ { 0, { 0, 0, 0}}, // (136, 51)
+ { 0, { 0, 0, 0}}, // (137, 51)
+ { 0, { 0, 0, 0}}, // (138, 51)
+ { 0, { 0, 0, 0}}, // (139, 51)
+ { 0, { 0, 0, 0}}, // (140, 51)
+ { 0, { 0, 0, 0}}, // (141, 51)
+ { 0, { 0, 0, 0}}, // (142, 51)
+ { 0, { 0, 0, 0}}, // (143, 51)
+ { 0, { 0, 0, 0}}, // (144, 51)
+ { 0, { 0, 0, 0}}, // (145, 51)
+ { 0, { 0, 0, 0}}, // (146, 51)
+ { 0, { 0, 0, 0}}, // (147, 51)
+ { 0, { 0, 0, 0}}, // (148, 51)
+ { 0, { 0, 0, 0}}, // (149, 51)
+ { 0, { 0, 0, 0}}, // (150, 51)
+ { 0, { 0, 0, 0}}, // (151, 51)
+ { 0, { 0, 0, 0}}, // (152, 51)
+ { 0, { 0, 0, 0}}, // (153, 51)
+ { 0, { 0, 0, 0}}, // (154, 51)
+ { 0, { 0, 0, 0}}, // (155, 51)
+ { 0, { 0, 0, 0}}, // (156, 51)
+ { 0, { 0, 0, 0}}, // (157, 51)
+ { 0, { 0, 0, 0}}, // (158, 51)
+ { 0, { 0, 0, 0}}, // (159, 51)
+ { 0, { 0, 0, 0}}, // (160, 51)
+ { 0, { 0, 0, 0}}, // (161, 51)
+ { 0, { 0, 0, 0}}, // (162, 51)
+ { 0, { 0, 0, 0}}, // (163, 51)
+ { 0, { 0, 0, 0}}, // (164, 51)
+ { 0, { 0, 0, 0}}, // (165, 51)
+ { 0, { 0, 0, 0}}, // (166, 51)
+ { 0, { 0, 0, 0}}, // (167, 51)
+ { 2, { 0, 0, 0}}, // (168, 51)
+ {108, { 0, 0, 0}}, // (169, 51)
+ {128, { 0, 0, 0}}, // (170, 51)
+ {128, { 0, 0, 0}}, // (171, 51)
+ {128, { 0, 0, 0}}, // (172, 51)
+ {128, { 0, 0, 0}}, // (173, 51)
+ {128, { 0, 0, 0}}, // (174, 51)
+ {128, { 0, 0, 0}}, // (175, 51)
+ {128, { 0, 0, 0}}, // (176, 51)
+ {128, { 0, 0, 0}}, // (177, 51)
+ {128, { 0, 0, 0}}, // (178, 51)
+ {128, { 0, 0, 0}}, // (179, 51)
+ {128, { 0, 0, 0}}, // ( 0, 52)
+ {128, { 0, 0, 0}}, // ( 1, 52)
+ {128, { 0, 0, 0}}, // ( 2, 52)
+ {128, { 0, 0, 0}}, // ( 3, 52)
+ {128, { 0, 0, 0}}, // ( 4, 52)
+ {128, { 0, 0, 0}}, // ( 5, 52)
+ {128, { 0, 0, 0}}, // ( 6, 52)
+ {128, { 0, 0, 0}}, // ( 7, 52)
+ {128, { 0, 0, 0}}, // ( 8, 52)
+ {128, { 0, 0, 0}}, // ( 9, 52)
+ { 50, { 0, 0, 0}}, // ( 10, 52)
+ { 0, { 0, 0, 0}}, // ( 11, 52)
+ { 0, { 0, 0, 0}}, // ( 12, 52)
+ { 0, { 0, 0, 0}}, // ( 13, 52)
+ { 0, { 0, 0, 0}}, // ( 14, 52)
+ { 0, { 0, 0, 0}}, // ( 15, 52)
+ { 0, { 0, 0, 0}}, // ( 16, 52)
+ { 0, { 0, 0, 0}}, // ( 17, 52)
+ { 0, { 0, 0, 0}}, // ( 18, 52)
+ { 0, { 0, 0, 0}}, // ( 19, 52)
+ { 0, { 0, 0, 0}}, // ( 20, 52)
+ { 0, { 0, 0, 0}}, // ( 21, 52)
+ { 0, { 0, 0, 0}}, // ( 22, 52)
+ { 0, { 0, 0, 0}}, // ( 23, 52)
+ { 0, { 0, 0, 0}}, // ( 24, 52)
+ { 0, { 0, 0, 0}}, // ( 25, 52)
+ { 0, { 0, 0, 0}}, // ( 26, 52)
+ { 0, { 0, 0, 0}}, // ( 27, 52)
+ { 0, { 0, 0, 0}}, // ( 28, 52)
+ { 0, { 0, 0, 0}}, // ( 29, 52)
+ { 0, { 0, 0, 0}}, // ( 30, 52)
+ { 0, { 0, 0, 0}}, // ( 31, 52)
+ { 0, { 0, 0, 0}}, // ( 32, 52)
+ { 0, { 0, 0, 0}}, // ( 33, 52)
+ { 0, { 0, 0, 0}}, // ( 34, 52)
+ { 0, { 0, 0, 0}}, // ( 35, 52)
+ { 0, { 0, 0, 0}}, // ( 36, 52)
+ { 0, { 0, 0, 0}}, // ( 37, 52)
+ { 0, { 0, 0, 0}}, // ( 38, 52)
+ { 0, { 0, 0, 0}}, // ( 39, 52)
+ { 0, { 0, 0, 0}}, // ( 40, 52)
+ { 0, { 0, 0, 0}}, // ( 41, 52)
+ { 0, { 0, 0, 0}}, // ( 42, 52)
+ { 0, { 0, 0, 0}}, // ( 43, 52)
+ { 0, { 0, 0, 0}}, // ( 44, 52)
+ { 0, { 0, 0, 0}}, // ( 45, 52)
+ { 0, { 0, 0, 0}}, // ( 46, 52)
+ { 0, { 0, 0, 0}}, // ( 47, 52)
+ { 0, { 0, 0, 0}}, // ( 48, 52)
+ { 0, { 0, 0, 0}}, // ( 49, 52)
+ { 0, { 0, 0, 0}}, // ( 50, 52)
+ { 0, { 0, 0, 0}}, // ( 51, 52)
+ { 0, { 0, 0, 0}}, // ( 52, 52)
+ { 0, { 0, 0, 0}}, // ( 53, 52)
+ { 0, { 0, 0, 0}}, // ( 54, 52)
+ { 0, { 0, 0, 0}}, // ( 55, 52)
+ { 0, { 0, 0, 0}}, // ( 56, 52)
+ { 0, { 0, 0, 0}}, // ( 57, 52)
+ { 0, { 0, 0, 0}}, // ( 58, 52)
+ { 0, { 0, 0, 0}}, // ( 59, 52)
+ { 0, { 0, 0, 0}}, // ( 60, 52)
+ { 0, { 0, 0, 0}}, // ( 61, 52)
+ { 0, { 0, 0, 0}}, // ( 62, 52)
+ { 0, { 0, 0, 0}}, // ( 63, 52)
+ { 0, { 0, 0, 0}}, // ( 64, 52)
+ { 0, { 0, 0, 0}}, // ( 65, 52)
+ { 0, { 0, 0, 0}}, // ( 66, 52)
+ { 0, { 0, 0, 0}}, // ( 67, 52)
+ { 0, { 0, 0, 0}}, // ( 68, 52)
+ { 0, { 0, 0, 0}}, // ( 69, 52)
+ { 0, { 0, 0, 0}}, // ( 70, 52)
+ { 0, { 0, 0, 0}}, // ( 71, 52)
+ { 0, { 0, 0, 0}}, // ( 72, 52)
+ { 0, { 0, 0, 0}}, // ( 73, 52)
+ { 0, { 0, 0, 0}}, // ( 74, 52)
+ { 0, { 0, 0, 0}}, // ( 75, 52)
+ { 0, { 0, 0, 0}}, // ( 76, 52)
+ { 0, { 0, 0, 0}}, // ( 77, 52)
+ { 0, { 0, 0, 0}}, // ( 78, 52)
+ { 0, { 0, 0, 0}}, // ( 79, 52)
+ { 0, { 0, 0, 0}}, // ( 80, 52)
+ { 0, { 0, 0, 0}}, // ( 81, 52)
+ { 0, { 0, 0, 0}}, // ( 82, 52)
+ { 0, { 0, 0, 0}}, // ( 83, 52)
+ { 0, { 0, 0, 0}}, // ( 84, 52)
+ { 0, { 0, 0, 0}}, // ( 85, 52)
+ { 0, { 0, 0, 0}}, // ( 86, 52)
+ { 0, { 0, 0, 0}}, // ( 87, 52)
+ { 0, { 0, 0, 0}}, // ( 88, 52)
+ { 0, { 0, 0, 0}}, // ( 89, 52)
+ { 0, { 0, 0, 0}}, // ( 90, 52)
+ { 0, { 0, 0, 0}}, // ( 91, 52)
+ { 0, { 0, 0, 0}}, // ( 92, 52)
+ { 0, { 0, 0, 0}}, // ( 93, 52)
+ { 0, { 0, 0, 0}}, // ( 94, 52)
+ { 0, { 0, 0, 0}}, // ( 95, 52)
+ { 0, { 0, 0, 0}}, // ( 96, 52)
+ { 0, { 0, 0, 0}}, // ( 97, 52)
+ { 0, { 0, 0, 0}}, // ( 98, 52)
+ { 0, { 0, 0, 0}}, // ( 99, 52)
+ { 0, { 0, 0, 0}}, // (100, 52)
+ { 0, { 0, 0, 0}}, // (101, 52)
+ { 0, { 0, 0, 0}}, // (102, 52)
+ { 0, { 0, 0, 0}}, // (103, 52)
+ { 0, { 0, 0, 0}}, // (104, 52)
+ { 0, { 0, 0, 0}}, // (105, 52)
+ { 0, { 0, 0, 0}}, // (106, 52)
+ { 0, { 0, 0, 0}}, // (107, 52)
+ { 0, { 0, 0, 0}}, // (108, 52)
+ { 0, { 0, 0, 0}}, // (109, 52)
+ { 0, { 0, 0, 0}}, // (110, 52)
+ { 0, { 0, 0, 0}}, // (111, 52)
+ { 0, { 0, 0, 0}}, // (112, 52)
+ { 0, { 0, 0, 0}}, // (113, 52)
+ { 0, { 0, 0, 0}}, // (114, 52)
+ { 0, { 0, 0, 0}}, // (115, 52)
+ { 0, { 0, 0, 0}}, // (116, 52)
+ { 0, { 0, 0, 0}}, // (117, 52)
+ { 0, { 0, 0, 0}}, // (118, 52)
+ { 0, { 0, 0, 0}}, // (119, 52)
+ { 0, { 0, 0, 0}}, // (120, 52)
+ { 0, { 0, 0, 0}}, // (121, 52)
+ { 0, { 0, 0, 0}}, // (122, 52)
+ { 0, { 0, 0, 0}}, // (123, 52)
+ { 0, { 0, 0, 0}}, // (124, 52)
+ { 0, { 0, 0, 0}}, // (125, 52)
+ { 0, { 0, 0, 0}}, // (126, 52)
+ { 0, { 0, 0, 0}}, // (127, 52)
+ { 0, { 0, 0, 0}}, // (128, 52)
+ { 0, { 0, 0, 0}}, // (129, 52)
+ { 0, { 0, 0, 0}}, // (130, 52)
+ { 0, { 0, 0, 0}}, // (131, 52)
+ { 0, { 0, 0, 0}}, // (132, 52)
+ { 0, { 0, 0, 0}}, // (133, 52)
+ { 0, { 0, 0, 0}}, // (134, 52)
+ { 0, { 0, 0, 0}}, // (135, 52)
+ { 0, { 0, 0, 0}}, // (136, 52)
+ { 0, { 0, 0, 0}}, // (137, 52)
+ { 0, { 0, 0, 0}}, // (138, 52)
+ { 0, { 0, 0, 0}}, // (139, 52)
+ { 0, { 0, 0, 0}}, // (140, 52)
+ { 0, { 0, 0, 0}}, // (141, 52)
+ { 0, { 0, 0, 0}}, // (142, 52)
+ { 0, { 0, 0, 0}}, // (143, 52)
+ { 0, { 0, 0, 0}}, // (144, 52)
+ { 0, { 0, 0, 0}}, // (145, 52)
+ { 0, { 0, 0, 0}}, // (146, 52)
+ { 0, { 0, 0, 0}}, // (147, 52)
+ { 0, { 0, 0, 0}}, // (148, 52)
+ { 0, { 0, 0, 0}}, // (149, 52)
+ { 0, { 0, 0, 0}}, // (150, 52)
+ { 0, { 0, 0, 0}}, // (151, 52)
+ { 0, { 0, 0, 0}}, // (152, 52)
+ { 0, { 0, 0, 0}}, // (153, 52)
+ { 0, { 0, 0, 0}}, // (154, 52)
+ { 0, { 0, 0, 0}}, // (155, 52)
+ { 0, { 0, 0, 0}}, // (156, 52)
+ { 0, { 0, 0, 0}}, // (157, 52)
+ { 0, { 0, 0, 0}}, // (158, 52)
+ { 0, { 0, 0, 0}}, // (159, 52)
+ { 0, { 0, 0, 0}}, // (160, 52)
+ { 0, { 0, 0, 0}}, // (161, 52)
+ { 0, { 0, 0, 0}}, // (162, 52)
+ { 0, { 0, 0, 0}}, // (163, 52)
+ { 0, { 0, 0, 0}}, // (164, 52)
+ { 0, { 0, 0, 0}}, // (165, 52)
+ { 0, { 0, 0, 0}}, // (166, 52)
+ { 0, { 0, 0, 0}}, // (167, 52)
+ { 0, { 0, 0, 0}}, // (168, 52)
+ { 49, { 0, 0, 0}}, // (169, 52)
+ {128, { 0, 0, 0}}, // (170, 52)
+ {128, { 0, 0, 0}}, // (171, 52)
+ {128, { 0, 0, 0}}, // (172, 52)
+ {128, { 0, 0, 0}}, // (173, 52)
+ {128, { 0, 0, 0}}, // (174, 52)
+ {128, { 0, 0, 0}}, // (175, 52)
+ {128, { 0, 0, 0}}, // (176, 52)
+ {128, { 0, 0, 0}}, // (177, 52)
+ {128, { 0, 0, 0}}, // (178, 52)
+ {128, { 0, 0, 0}}, // (179, 52)
+ {128, { 0, 0, 0}}, // ( 0, 53)
+ {128, { 0, 0, 0}}, // ( 1, 53)
+ {128, { 0, 0, 0}}, // ( 2, 53)
+ {128, { 0, 0, 0}}, // ( 3, 53)
+ {128, { 0, 0, 0}}, // ( 4, 53)
+ {128, { 0, 0, 0}}, // ( 5, 53)
+ {128, { 0, 0, 0}}, // ( 6, 53)
+ {128, { 0, 0, 0}}, // ( 7, 53)
+ {128, { 0, 0, 0}}, // ( 8, 53)
+ {115, { 0, 0, 0}}, // ( 9, 53)
+ { 3, { 0, 0, 0}}, // ( 10, 53)
+ { 0, { 0, 0, 0}}, // ( 11, 53)
+ { 0, { 0, 0, 0}}, // ( 12, 53)
+ { 0, { 0, 0, 0}}, // ( 13, 53)
+ { 0, { 0, 0, 0}}, // ( 14, 53)
+ { 0, { 0, 0, 0}}, // ( 15, 53)
+ { 0, { 0, 0, 0}}, // ( 16, 53)
+ { 0, { 0, 0, 0}}, // ( 17, 53)
+ { 0, { 0, 0, 0}}, // ( 18, 53)
+ { 0, { 0, 0, 0}}, // ( 19, 53)
+ { 0, { 0, 0, 0}}, // ( 20, 53)
+ { 0, { 0, 0, 0}}, // ( 21, 53)
+ { 0, { 0, 0, 0}}, // ( 22, 53)
+ { 0, { 0, 0, 0}}, // ( 23, 53)
+ { 0, { 0, 0, 0}}, // ( 24, 53)
+ { 0, { 0, 0, 0}}, // ( 25, 53)
+ { 0, { 0, 0, 0}}, // ( 26, 53)
+ { 0, { 0, 0, 0}}, // ( 27, 53)
+ { 0, { 0, 0, 0}}, // ( 28, 53)
+ { 0, { 0, 0, 0}}, // ( 29, 53)
+ { 0, { 0, 0, 0}}, // ( 30, 53)
+ { 0, { 0, 0, 0}}, // ( 31, 53)
+ { 0, { 0, 0, 0}}, // ( 32, 53)
+ { 0, { 0, 0, 0}}, // ( 33, 53)
+ { 0, { 0, 0, 0}}, // ( 34, 53)
+ { 0, { 0, 0, 0}}, // ( 35, 53)
+ { 0, { 0, 0, 0}}, // ( 36, 53)
+ { 0, { 0, 0, 0}}, // ( 37, 53)
+ { 0, { 0, 0, 0}}, // ( 38, 53)
+ { 0, { 0, 0, 0}}, // ( 39, 53)
+ { 0, { 0, 0, 0}}, // ( 40, 53)
+ { 0, { 0, 0, 0}}, // ( 41, 53)
+ { 0, { 0, 0, 0}}, // ( 42, 53)
+ { 0, { 0, 0, 0}}, // ( 43, 53)
+ { 0, { 0, 0, 0}}, // ( 44, 53)
+ { 0, { 0, 0, 0}}, // ( 45, 53)
+ { 0, { 0, 0, 0}}, // ( 46, 53)
+ { 0, { 0, 0, 0}}, // ( 47, 53)
+ { 0, { 0, 0, 0}}, // ( 48, 53)
+ { 0, { 0, 0, 0}}, // ( 49, 53)
+ { 0, { 0, 0, 0}}, // ( 50, 53)
+ { 0, { 0, 0, 0}}, // ( 51, 53)
+ { 0, { 0, 0, 0}}, // ( 52, 53)
+ { 0, { 0, 0, 0}}, // ( 53, 53)
+ { 0, { 0, 0, 0}}, // ( 54, 53)
+ { 0, { 0, 0, 0}}, // ( 55, 53)
+ { 0, { 0, 0, 0}}, // ( 56, 53)
+ { 0, { 0, 0, 0}}, // ( 57, 53)
+ { 0, { 0, 0, 0}}, // ( 58, 53)
+ { 0, { 0, 0, 0}}, // ( 59, 53)
+ { 0, { 0, 0, 0}}, // ( 60, 53)
+ { 0, { 0, 0, 0}}, // ( 61, 53)
+ { 0, { 0, 0, 0}}, // ( 62, 53)
+ { 0, { 0, 0, 0}}, // ( 63, 53)
+ { 0, { 0, 0, 0}}, // ( 64, 53)
+ { 0, { 0, 0, 0}}, // ( 65, 53)
+ { 0, { 0, 0, 0}}, // ( 66, 53)
+ { 0, { 0, 0, 0}}, // ( 67, 53)
+ { 0, { 0, 0, 0}}, // ( 68, 53)
+ { 0, { 0, 0, 0}}, // ( 69, 53)
+ { 0, { 0, 0, 0}}, // ( 70, 53)
+ { 0, { 0, 0, 0}}, // ( 71, 53)
+ { 0, { 0, 0, 0}}, // ( 72, 53)
+ { 0, { 0, 0, 0}}, // ( 73, 53)
+ { 0, { 0, 0, 0}}, // ( 74, 53)
+ { 0, { 0, 0, 0}}, // ( 75, 53)
+ { 0, { 0, 0, 0}}, // ( 76, 53)
+ { 0, { 0, 0, 0}}, // ( 77, 53)
+ { 0, { 0, 0, 0}}, // ( 78, 53)
+ { 0, { 0, 0, 0}}, // ( 79, 53)
+ { 0, { 0, 0, 0}}, // ( 80, 53)
+ { 0, { 0, 0, 0}}, // ( 81, 53)
+ { 0, { 0, 0, 0}}, // ( 82, 53)
+ { 0, { 0, 0, 0}}, // ( 83, 53)
+ { 0, { 0, 0, 0}}, // ( 84, 53)
+ { 0, { 0, 0, 0}}, // ( 85, 53)
+ { 0, { 0, 0, 0}}, // ( 86, 53)
+ { 0, { 0, 0, 0}}, // ( 87, 53)
+ { 0, { 0, 0, 0}}, // ( 88, 53)
+ { 0, { 0, 0, 0}}, // ( 89, 53)
+ { 0, { 0, 0, 0}}, // ( 90, 53)
+ { 0, { 0, 0, 0}}, // ( 91, 53)
+ { 0, { 0, 0, 0}}, // ( 92, 53)
+ { 0, { 0, 0, 0}}, // ( 93, 53)
+ { 0, { 0, 0, 0}}, // ( 94, 53)
+ { 0, { 0, 0, 0}}, // ( 95, 53)
+ { 0, { 0, 0, 0}}, // ( 96, 53)
+ { 0, { 0, 0, 0}}, // ( 97, 53)
+ { 0, { 0, 0, 0}}, // ( 98, 53)
+ { 0, { 0, 0, 0}}, // ( 99, 53)
+ { 0, { 0, 0, 0}}, // (100, 53)
+ { 0, { 0, 0, 0}}, // (101, 53)
+ { 0, { 0, 0, 0}}, // (102, 53)
+ { 0, { 0, 0, 0}}, // (103, 53)
+ { 0, { 0, 0, 0}}, // (104, 53)
+ { 0, { 0, 0, 0}}, // (105, 53)
+ { 0, { 0, 0, 0}}, // (106, 53)
+ { 0, { 0, 0, 0}}, // (107, 53)
+ { 0, { 0, 0, 0}}, // (108, 53)
+ { 0, { 0, 0, 0}}, // (109, 53)
+ { 0, { 0, 0, 0}}, // (110, 53)
+ { 0, { 0, 0, 0}}, // (111, 53)
+ { 0, { 0, 0, 0}}, // (112, 53)
+ { 0, { 0, 0, 0}}, // (113, 53)
+ { 0, { 0, 0, 0}}, // (114, 53)
+ { 0, { 0, 0, 0}}, // (115, 53)
+ { 0, { 0, 0, 0}}, // (116, 53)
+ { 0, { 0, 0, 0}}, // (117, 53)
+ { 0, { 0, 0, 0}}, // (118, 53)
+ { 0, { 0, 0, 0}}, // (119, 53)
+ { 0, { 0, 0, 0}}, // (120, 53)
+ { 0, { 0, 0, 0}}, // (121, 53)
+ { 0, { 0, 0, 0}}, // (122, 53)
+ { 0, { 0, 0, 0}}, // (123, 53)
+ { 0, { 0, 0, 0}}, // (124, 53)
+ { 0, { 0, 0, 0}}, // (125, 53)
+ { 0, { 0, 0, 0}}, // (126, 53)
+ { 0, { 0, 0, 0}}, // (127, 53)
+ { 0, { 0, 0, 0}}, // (128, 53)
+ { 0, { 0, 0, 0}}, // (129, 53)
+ { 0, { 0, 0, 0}}, // (130, 53)
+ { 0, { 0, 0, 0}}, // (131, 53)
+ { 0, { 0, 0, 0}}, // (132, 53)
+ { 0, { 0, 0, 0}}, // (133, 53)
+ { 0, { 0, 0, 0}}, // (134, 53)
+ { 0, { 0, 0, 0}}, // (135, 53)
+ { 0, { 0, 0, 0}}, // (136, 53)
+ { 0, { 0, 0, 0}}, // (137, 53)
+ { 0, { 0, 0, 0}}, // (138, 53)
+ { 0, { 0, 0, 0}}, // (139, 53)
+ { 0, { 0, 0, 0}}, // (140, 53)
+ { 0, { 0, 0, 0}}, // (141, 53)
+ { 0, { 0, 0, 0}}, // (142, 53)
+ { 0, { 0, 0, 0}}, // (143, 53)
+ { 0, { 0, 0, 0}}, // (144, 53)
+ { 0, { 0, 0, 0}}, // (145, 53)
+ { 0, { 0, 0, 0}}, // (146, 53)
+ { 0, { 0, 0, 0}}, // (147, 53)
+ { 0, { 0, 0, 0}}, // (148, 53)
+ { 0, { 0, 0, 0}}, // (149, 53)
+ { 0, { 0, 0, 0}}, // (150, 53)
+ { 0, { 0, 0, 0}}, // (151, 53)
+ { 0, { 0, 0, 0}}, // (152, 53)
+ { 0, { 0, 0, 0}}, // (153, 53)
+ { 0, { 0, 0, 0}}, // (154, 53)
+ { 0, { 0, 0, 0}}, // (155, 53)
+ { 0, { 0, 0, 0}}, // (156, 53)
+ { 0, { 0, 0, 0}}, // (157, 53)
+ { 0, { 0, 0, 0}}, // (158, 53)
+ { 0, { 0, 0, 0}}, // (159, 53)
+ { 0, { 0, 0, 0}}, // (160, 53)
+ { 0, { 0, 0, 0}}, // (161, 53)
+ { 0, { 0, 0, 0}}, // (162, 53)
+ { 0, { 0, 0, 0}}, // (163, 53)
+ { 0, { 0, 0, 0}}, // (164, 53)
+ { 0, { 0, 0, 0}}, // (165, 53)
+ { 0, { 0, 0, 0}}, // (166, 53)
+ { 0, { 0, 0, 0}}, // (167, 53)
+ { 0, { 0, 0, 0}}, // (168, 53)
+ { 3, { 0, 0, 0}}, // (169, 53)
+ {115, { 0, 0, 0}}, // (170, 53)
+ {128, { 0, 0, 0}}, // (171, 53)
+ {128, { 0, 0, 0}}, // (172, 53)
+ {128, { 0, 0, 0}}, // (173, 53)
+ {128, { 0, 0, 0}}, // (174, 53)
+ {128, { 0, 0, 0}}, // (175, 53)
+ {128, { 0, 0, 0}}, // (176, 53)
+ {128, { 0, 0, 0}}, // (177, 53)
+ {128, { 0, 0, 0}}, // (178, 53)
+ {128, { 0, 0, 0}}, // (179, 53)
+ {128, { 0, 0, 0}}, // ( 0, 54)
+ {128, { 0, 0, 0}}, // ( 1, 54)
+ {128, { 0, 0, 0}}, // ( 2, 54)
+ {128, { 0, 0, 0}}, // ( 3, 54)
+ {128, { 0, 0, 0}}, // ( 4, 54)
+ {128, { 0, 0, 0}}, // ( 5, 54)
+ {128, { 0, 0, 0}}, // ( 6, 54)
+ {128, { 0, 0, 0}}, // ( 7, 54)
+ {128, { 0, 0, 0}}, // ( 8, 54)
+ { 62, { 0, 0, 0}}, // ( 9, 54)
+ { 0, { 0, 0, 0}}, // ( 10, 54)
+ { 0, { 0, 0, 0}}, // ( 11, 54)
+ { 0, { 0, 0, 0}}, // ( 12, 54)
+ { 0, { 0, 0, 0}}, // ( 13, 54)
+ { 0, { 0, 0, 0}}, // ( 14, 54)
+ { 0, { 0, 0, 0}}, // ( 15, 54)
+ { 0, { 0, 0, 0}}, // ( 16, 54)
+ { 0, { 0, 0, 0}}, // ( 17, 54)
+ { 0, { 0, 0, 0}}, // ( 18, 54)
+ { 0, { 0, 0, 0}}, // ( 19, 54)
+ { 0, { 0, 0, 0}}, // ( 20, 54)
+ { 0, { 0, 0, 0}}, // ( 21, 54)
+ { 0, { 0, 0, 0}}, // ( 22, 54)
+ { 0, { 0, 0, 0}}, // ( 23, 54)
+ { 0, { 0, 0, 0}}, // ( 24, 54)
+ { 0, { 0, 0, 0}}, // ( 25, 54)
+ { 0, { 0, 0, 0}}, // ( 26, 54)
+ { 0, { 0, 0, 0}}, // ( 27, 54)
+ { 0, { 0, 0, 0}}, // ( 28, 54)
+ { 0, { 0, 0, 0}}, // ( 29, 54)
+ { 0, { 0, 0, 0}}, // ( 30, 54)
+ { 0, { 0, 0, 0}}, // ( 31, 54)
+ { 0, { 0, 0, 0}}, // ( 32, 54)
+ { 0, { 0, 0, 0}}, // ( 33, 54)
+ { 0, { 0, 0, 0}}, // ( 34, 54)
+ { 0, { 0, 0, 0}}, // ( 35, 54)
+ { 0, { 0, 0, 0}}, // ( 36, 54)
+ { 0, { 0, 0, 0}}, // ( 37, 54)
+ { 0, { 0, 0, 0}}, // ( 38, 54)
+ { 0, { 0, 0, 0}}, // ( 39, 54)
+ { 0, { 0, 0, 0}}, // ( 40, 54)
+ { 0, { 0, 0, 0}}, // ( 41, 54)
+ { 0, { 0, 0, 0}}, // ( 42, 54)
+ { 0, { 0, 0, 0}}, // ( 43, 54)
+ { 0, { 0, 0, 0}}, // ( 44, 54)
+ { 0, { 0, 0, 0}}, // ( 45, 54)
+ { 0, { 0, 0, 0}}, // ( 46, 54)
+ { 0, { 0, 0, 0}}, // ( 47, 54)
+ { 0, { 0, 0, 0}}, // ( 48, 54)
+ { 0, { 0, 0, 0}}, // ( 49, 54)
+ { 0, { 0, 0, 0}}, // ( 50, 54)
+ { 0, { 0, 0, 0}}, // ( 51, 54)
+ { 0, { 0, 0, 0}}, // ( 52, 54)
+ { 0, { 0, 0, 0}}, // ( 53, 54)
+ { 0, { 0, 0, 0}}, // ( 54, 54)
+ { 0, { 0, 0, 0}}, // ( 55, 54)
+ { 0, { 0, 0, 0}}, // ( 56, 54)
+ { 0, { 0, 0, 0}}, // ( 57, 54)
+ { 0, { 0, 0, 0}}, // ( 58, 54)
+ { 0, { 0, 0, 0}}, // ( 59, 54)
+ { 0, { 0, 0, 0}}, // ( 60, 54)
+ { 0, { 0, 0, 0}}, // ( 61, 54)
+ { 0, { 0, 0, 0}}, // ( 62, 54)
+ { 0, { 0, 0, 0}}, // ( 63, 54)
+ { 0, { 0, 0, 0}}, // ( 64, 54)
+ { 0, { 0, 0, 0}}, // ( 65, 54)
+ { 0, { 0, 0, 0}}, // ( 66, 54)
+ { 0, { 0, 0, 0}}, // ( 67, 54)
+ { 0, { 0, 0, 0}}, // ( 68, 54)
+ { 0, { 0, 0, 0}}, // ( 69, 54)
+ { 0, { 0, 0, 0}}, // ( 70, 54)
+ { 0, { 0, 0, 0}}, // ( 71, 54)
+ { 0, { 0, 0, 0}}, // ( 72, 54)
+ { 0, { 0, 0, 0}}, // ( 73, 54)
+ { 0, { 0, 0, 0}}, // ( 74, 54)
+ { 0, { 0, 0, 0}}, // ( 75, 54)
+ { 0, { 0, 0, 0}}, // ( 76, 54)
+ { 0, { 0, 0, 0}}, // ( 77, 54)
+ { 0, { 0, 0, 0}}, // ( 78, 54)
+ { 0, { 0, 0, 0}}, // ( 79, 54)
+ { 0, { 0, 0, 0}}, // ( 80, 54)
+ { 0, { 0, 0, 0}}, // ( 81, 54)
+ { 0, { 0, 0, 0}}, // ( 82, 54)
+ { 0, { 0, 0, 0}}, // ( 83, 54)
+ { 0, { 0, 0, 0}}, // ( 84, 54)
+ { 0, { 0, 0, 0}}, // ( 85, 54)
+ { 0, { 0, 0, 0}}, // ( 86, 54)
+ { 0, { 0, 0, 0}}, // ( 87, 54)
+ { 0, { 0, 0, 0}}, // ( 88, 54)
+ { 0, { 0, 0, 0}}, // ( 89, 54)
+ { 0, { 0, 0, 0}}, // ( 90, 54)
+ { 0, { 0, 0, 0}}, // ( 91, 54)
+ { 0, { 0, 0, 0}}, // ( 92, 54)
+ { 0, { 0, 0, 0}}, // ( 93, 54)
+ { 0, { 0, 0, 0}}, // ( 94, 54)
+ { 0, { 0, 0, 0}}, // ( 95, 54)
+ { 0, { 0, 0, 0}}, // ( 96, 54)
+ { 0, { 0, 0, 0}}, // ( 97, 54)
+ { 0, { 0, 0, 0}}, // ( 98, 54)
+ { 0, { 0, 0, 0}}, // ( 99, 54)
+ { 0, { 0, 0, 0}}, // (100, 54)
+ { 0, { 0, 0, 0}}, // (101, 54)
+ { 0, { 0, 0, 0}}, // (102, 54)
+ { 0, { 0, 0, 0}}, // (103, 54)
+ { 0, { 0, 0, 0}}, // (104, 54)
+ { 0, { 0, 0, 0}}, // (105, 54)
+ { 0, { 0, 0, 0}}, // (106, 54)
+ { 0, { 0, 0, 0}}, // (107, 54)
+ { 0, { 0, 0, 0}}, // (108, 54)
+ { 0, { 0, 0, 0}}, // (109, 54)
+ { 0, { 0, 0, 0}}, // (110, 54)
+ { 0, { 0, 0, 0}}, // (111, 54)
+ { 0, { 0, 0, 0}}, // (112, 54)
+ { 0, { 0, 0, 0}}, // (113, 54)
+ { 0, { 0, 0, 0}}, // (114, 54)
+ { 0, { 0, 0, 0}}, // (115, 54)
+ { 0, { 0, 0, 0}}, // (116, 54)
+ { 0, { 0, 0, 0}}, // (117, 54)
+ { 0, { 0, 0, 0}}, // (118, 54)
+ { 0, { 0, 0, 0}}, // (119, 54)
+ { 0, { 0, 0, 0}}, // (120, 54)
+ { 0, { 0, 0, 0}}, // (121, 54)
+ { 0, { 0, 0, 0}}, // (122, 54)
+ { 0, { 0, 0, 0}}, // (123, 54)
+ { 0, { 0, 0, 0}}, // (124, 54)
+ { 0, { 0, 0, 0}}, // (125, 54)
+ { 0, { 0, 0, 0}}, // (126, 54)
+ { 0, { 0, 0, 0}}, // (127, 54)
+ { 0, { 0, 0, 0}}, // (128, 54)
+ { 0, { 0, 0, 0}}, // (129, 54)
+ { 0, { 0, 0, 0}}, // (130, 54)
+ { 0, { 0, 0, 0}}, // (131, 54)
+ { 0, { 0, 0, 0}}, // (132, 54)
+ { 0, { 0, 0, 0}}, // (133, 54)
+ { 0, { 0, 0, 0}}, // (134, 54)
+ { 0, { 0, 0, 0}}, // (135, 54)
+ { 0, { 0, 0, 0}}, // (136, 54)
+ { 0, { 0, 0, 0}}, // (137, 54)
+ { 0, { 0, 0, 0}}, // (138, 54)
+ { 0, { 0, 0, 0}}, // (139, 54)
+ { 0, { 0, 0, 0}}, // (140, 54)
+ { 0, { 0, 0, 0}}, // (141, 54)
+ { 0, { 0, 0, 0}}, // (142, 54)
+ { 0, { 0, 0, 0}}, // (143, 54)
+ { 0, { 0, 0, 0}}, // (144, 54)
+ { 0, { 0, 0, 0}}, // (145, 54)
+ { 0, { 0, 0, 0}}, // (146, 54)
+ { 0, { 0, 0, 0}}, // (147, 54)
+ { 0, { 0, 0, 0}}, // (148, 54)
+ { 0, { 0, 0, 0}}, // (149, 54)
+ { 0, { 0, 0, 0}}, // (150, 54)
+ { 0, { 0, 0, 0}}, // (151, 54)
+ { 0, { 0, 0, 0}}, // (152, 54)
+ { 0, { 0, 0, 0}}, // (153, 54)
+ { 0, { 0, 0, 0}}, // (154, 54)
+ { 0, { 0, 0, 0}}, // (155, 54)
+ { 0, { 0, 0, 0}}, // (156, 54)
+ { 0, { 0, 0, 0}}, // (157, 54)
+ { 0, { 0, 0, 0}}, // (158, 54)
+ { 0, { 0, 0, 0}}, // (159, 54)
+ { 0, { 0, 0, 0}}, // (160, 54)
+ { 0, { 0, 0, 0}}, // (161, 54)
+ { 0, { 0, 0, 0}}, // (162, 54)
+ { 0, { 0, 0, 0}}, // (163, 54)
+ { 0, { 0, 0, 0}}, // (164, 54)
+ { 0, { 0, 0, 0}}, // (165, 54)
+ { 0, { 0, 0, 0}}, // (166, 54)
+ { 0, { 0, 0, 0}}, // (167, 54)
+ { 0, { 0, 0, 0}}, // (168, 54)
+ { 0, { 0, 0, 0}}, // (169, 54)
+ { 62, { 0, 0, 0}}, // (170, 54)
+ {128, { 0, 0, 0}}, // (171, 54)
+ {128, { 0, 0, 0}}, // (172, 54)
+ {128, { 0, 0, 0}}, // (173, 54)
+ {128, { 0, 0, 0}}, // (174, 54)
+ {128, { 0, 0, 0}}, // (175, 54)
+ {128, { 0, 0, 0}}, // (176, 54)
+ {128, { 0, 0, 0}}, // (177, 54)
+ {128, { 0, 0, 0}}, // (178, 54)
+ {128, { 0, 0, 0}}, // (179, 54)
+ {128, { 0, 0, 0}}, // ( 0, 55)
+ {128, { 0, 0, 0}}, // ( 1, 55)
+ {128, { 0, 0, 0}}, // ( 2, 55)
+ {128, { 0, 0, 0}}, // ( 3, 55)
+ {128, { 0, 0, 0}}, // ( 4, 55)
+ {128, { 0, 0, 0}}, // ( 5, 55)
+ {128, { 0, 0, 0}}, // ( 6, 55)
+ {128, { 0, 0, 0}}, // ( 7, 55)
+ {122, { 0, 0, 0}}, // ( 8, 55)
+ { 9, { 0, 0, 0}}, // ( 9, 55)
+ { 0, { 0, 0, 0}}, // ( 10, 55)
+ { 0, { 0, 0, 0}}, // ( 11, 55)
+ { 0, { 0, 0, 0}}, // ( 12, 55)
+ { 0, { 0, 0, 0}}, // ( 13, 55)
+ { 0, { 0, 0, 0}}, // ( 14, 55)
+ { 0, { 0, 0, 0}}, // ( 15, 55)
+ { 0, { 0, 0, 0}}, // ( 16, 55)
+ { 0, { 0, 0, 0}}, // ( 17, 55)
+ { 0, { 0, 0, 0}}, // ( 18, 55)
+ { 0, { 0, 0, 0}}, // ( 19, 55)
+ { 0, { 0, 0, 0}}, // ( 20, 55)
+ { 0, { 0, 0, 0}}, // ( 21, 55)
+ { 0, { 0, 0, 0}}, // ( 22, 55)
+ { 0, { 0, 0, 0}}, // ( 23, 55)
+ { 0, { 0, 0, 0}}, // ( 24, 55)
+ { 0, { 0, 0, 0}}, // ( 25, 55)
+ { 0, { 0, 0, 0}}, // ( 26, 55)
+ { 0, { 0, 0, 0}}, // ( 27, 55)
+ { 0, { 0, 0, 0}}, // ( 28, 55)
+ { 0, { 0, 0, 0}}, // ( 29, 55)
+ { 0, { 0, 0, 0}}, // ( 30, 55)
+ { 0, { 0, 0, 0}}, // ( 31, 55)
+ { 0, { 0, 0, 0}}, // ( 32, 55)
+ { 0, { 0, 0, 0}}, // ( 33, 55)
+ { 0, { 0, 0, 0}}, // ( 34, 55)
+ { 0, { 0, 0, 0}}, // ( 35, 55)
+ { 0, { 0, 0, 0}}, // ( 36, 55)
+ { 0, { 0, 0, 0}}, // ( 37, 55)
+ { 0, { 0, 0, 0}}, // ( 38, 55)
+ { 0, { 0, 0, 0}}, // ( 39, 55)
+ { 0, { 0, 0, 0}}, // ( 40, 55)
+ { 0, { 0, 0, 0}}, // ( 41, 55)
+ { 0, { 0, 0, 0}}, // ( 42, 55)
+ { 0, { 0, 0, 0}}, // ( 43, 55)
+ { 0, { 0, 0, 0}}, // ( 44, 55)
+ { 0, { 0, 0, 0}}, // ( 45, 55)
+ { 0, { 0, 0, 0}}, // ( 46, 55)
+ { 0, { 0, 0, 0}}, // ( 47, 55)
+ { 0, { 0, 0, 0}}, // ( 48, 55)
+ { 0, { 0, 0, 0}}, // ( 49, 55)
+ { 0, { 0, 0, 0}}, // ( 50, 55)
+ { 0, { 0, 0, 0}}, // ( 51, 55)
+ { 0, { 0, 0, 0}}, // ( 52, 55)
+ { 0, { 0, 0, 0}}, // ( 53, 55)
+ { 0, { 0, 0, 0}}, // ( 54, 55)
+ { 0, { 0, 0, 0}}, // ( 55, 55)
+ { 0, { 0, 0, 0}}, // ( 56, 55)
+ { 0, { 0, 0, 0}}, // ( 57, 55)
+ { 0, { 0, 0, 0}}, // ( 58, 55)
+ { 0, { 0, 0, 0}}, // ( 59, 55)
+ { 0, { 0, 0, 0}}, // ( 60, 55)
+ { 0, { 0, 0, 0}}, // ( 61, 55)
+ { 0, { 0, 0, 0}}, // ( 62, 55)
+ { 0, { 0, 0, 0}}, // ( 63, 55)
+ { 0, { 0, 0, 0}}, // ( 64, 55)
+ { 0, { 0, 0, 0}}, // ( 65, 55)
+ { 0, { 0, 0, 0}}, // ( 66, 55)
+ { 0, { 0, 0, 0}}, // ( 67, 55)
+ { 0, { 0, 0, 0}}, // ( 68, 55)
+ { 0, { 0, 0, 0}}, // ( 69, 55)
+ { 0, { 0, 0, 0}}, // ( 70, 55)
+ { 0, { 0, 0, 0}}, // ( 71, 55)
+ { 0, { 0, 0, 0}}, // ( 72, 55)
+ { 0, { 0, 0, 0}}, // ( 73, 55)
+ { 0, { 0, 0, 0}}, // ( 74, 55)
+ { 0, { 0, 0, 0}}, // ( 75, 55)
+ { 0, { 0, 0, 0}}, // ( 76, 55)
+ { 0, { 0, 0, 0}}, // ( 77, 55)
+ { 0, { 0, 0, 0}}, // ( 78, 55)
+ { 0, { 0, 0, 0}}, // ( 79, 55)
+ { 0, { 0, 0, 0}}, // ( 80, 55)
+ { 0, { 0, 0, 0}}, // ( 81, 55)
+ { 0, { 0, 0, 0}}, // ( 82, 55)
+ { 0, { 0, 0, 0}}, // ( 83, 55)
+ { 0, { 0, 0, 0}}, // ( 84, 55)
+ { 0, { 0, 0, 0}}, // ( 85, 55)
+ { 0, { 0, 0, 0}}, // ( 86, 55)
+ { 0, { 0, 0, 0}}, // ( 87, 55)
+ { 0, { 0, 0, 0}}, // ( 88, 55)
+ { 0, { 0, 0, 0}}, // ( 89, 55)
+ { 0, { 0, 0, 0}}, // ( 90, 55)
+ { 0, { 0, 0, 0}}, // ( 91, 55)
+ { 0, { 0, 0, 0}}, // ( 92, 55)
+ { 0, { 0, 0, 0}}, // ( 93, 55)
+ { 0, { 0, 0, 0}}, // ( 94, 55)
+ { 0, { 0, 0, 0}}, // ( 95, 55)
+ { 0, { 0, 0, 0}}, // ( 96, 55)
+ { 0, { 0, 0, 0}}, // ( 97, 55)
+ { 0, { 0, 0, 0}}, // ( 98, 55)
+ { 0, { 0, 0, 0}}, // ( 99, 55)
+ { 0, { 0, 0, 0}}, // (100, 55)
+ { 0, { 0, 0, 0}}, // (101, 55)
+ { 0, { 0, 0, 0}}, // (102, 55)
+ { 0, { 0, 0, 0}}, // (103, 55)
+ { 0, { 0, 0, 0}}, // (104, 55)
+ { 0, { 0, 0, 0}}, // (105, 55)
+ { 0, { 0, 0, 0}}, // (106, 55)
+ { 0, { 0, 0, 0}}, // (107, 55)
+ { 0, { 0, 0, 0}}, // (108, 55)
+ { 0, { 0, 0, 0}}, // (109, 55)
+ { 0, { 0, 0, 0}}, // (110, 55)
+ { 0, { 0, 0, 0}}, // (111, 55)
+ { 0, { 0, 0, 0}}, // (112, 55)
+ { 0, { 0, 0, 0}}, // (113, 55)
+ { 0, { 0, 0, 0}}, // (114, 55)
+ { 0, { 0, 0, 0}}, // (115, 55)
+ { 0, { 0, 0, 0}}, // (116, 55)
+ { 0, { 0, 0, 0}}, // (117, 55)
+ { 0, { 0, 0, 0}}, // (118, 55)
+ { 0, { 0, 0, 0}}, // (119, 55)
+ { 0, { 0, 0, 0}}, // (120, 55)
+ { 0, { 0, 0, 0}}, // (121, 55)
+ { 0, { 0, 0, 0}}, // (122, 55)
+ { 0, { 0, 0, 0}}, // (123, 55)
+ { 0, { 0, 0, 0}}, // (124, 55)
+ { 0, { 0, 0, 0}}, // (125, 55)
+ { 0, { 0, 0, 0}}, // (126, 55)
+ { 0, { 0, 0, 0}}, // (127, 55)
+ { 0, { 0, 0, 0}}, // (128, 55)
+ { 0, { 0, 0, 0}}, // (129, 55)
+ { 0, { 0, 0, 0}}, // (130, 55)
+ { 0, { 0, 0, 0}}, // (131, 55)
+ { 0, { 0, 0, 0}}, // (132, 55)
+ { 0, { 0, 0, 0}}, // (133, 55)
+ { 0, { 0, 0, 0}}, // (134, 55)
+ { 0, { 0, 0, 0}}, // (135, 55)
+ { 0, { 0, 0, 0}}, // (136, 55)
+ { 0, { 0, 0, 0}}, // (137, 55)
+ { 0, { 0, 0, 0}}, // (138, 55)
+ { 0, { 0, 0, 0}}, // (139, 55)
+ { 0, { 0, 0, 0}}, // (140, 55)
+ { 0, { 0, 0, 0}}, // (141, 55)
+ { 0, { 0, 0, 0}}, // (142, 55)
+ { 0, { 0, 0, 0}}, // (143, 55)
+ { 0, { 0, 0, 0}}, // (144, 55)
+ { 0, { 0, 0, 0}}, // (145, 55)
+ { 0, { 0, 0, 0}}, // (146, 55)
+ { 0, { 0, 0, 0}}, // (147, 55)
+ { 0, { 0, 0, 0}}, // (148, 55)
+ { 0, { 0, 0, 0}}, // (149, 55)
+ { 0, { 0, 0, 0}}, // (150, 55)
+ { 0, { 0, 0, 0}}, // (151, 55)
+ { 0, { 0, 0, 0}}, // (152, 55)
+ { 0, { 0, 0, 0}}, // (153, 55)
+ { 0, { 0, 0, 0}}, // (154, 55)
+ { 0, { 0, 0, 0}}, // (155, 55)
+ { 0, { 0, 0, 0}}, // (156, 55)
+ { 0, { 0, 0, 0}}, // (157, 55)
+ { 0, { 0, 0, 0}}, // (158, 55)
+ { 0, { 0, 0, 0}}, // (159, 55)
+ { 0, { 0, 0, 0}}, // (160, 55)
+ { 0, { 0, 0, 0}}, // (161, 55)
+ { 0, { 0, 0, 0}}, // (162, 55)
+ { 0, { 0, 0, 0}}, // (163, 55)
+ { 0, { 0, 0, 0}}, // (164, 55)
+ { 0, { 0, 0, 0}}, // (165, 55)
+ { 0, { 0, 0, 0}}, // (166, 55)
+ { 0, { 0, 0, 0}}, // (167, 55)
+ { 0, { 0, 0, 0}}, // (168, 55)
+ { 0, { 0, 0, 0}}, // (169, 55)
+ { 9, { 0, 0, 0}}, // (170, 55)
+ {122, { 0, 0, 0}}, // (171, 55)
+ {128, { 0, 0, 0}}, // (172, 55)
+ {128, { 0, 0, 0}}, // (173, 55)
+ {128, { 0, 0, 0}}, // (174, 55)
+ {128, { 0, 0, 0}}, // (175, 55)
+ {128, { 0, 0, 0}}, // (176, 55)
+ {128, { 0, 0, 0}}, // (177, 55)
+ {128, { 0, 0, 0}}, // (178, 55)
+ {128, { 0, 0, 0}}, // (179, 55)
+ {128, { 0, 0, 0}}, // ( 0, 56)
+ {128, { 0, 0, 0}}, // ( 1, 56)
+ {128, { 0, 0, 0}}, // ( 2, 56)
+ {128, { 0, 0, 0}}, // ( 3, 56)
+ {128, { 0, 0, 0}}, // ( 4, 56)
+ {128, { 0, 0, 0}}, // ( 5, 56)
+ {128, { 0, 0, 0}}, // ( 6, 56)
+ {128, { 0, 0, 0}}, // ( 7, 56)
+ { 79, { 0, 0, 0}}, // ( 8, 56)
+ { 0, { 0, 0, 0}}, // ( 9, 56)
+ { 0, { 0, 0, 0}}, // ( 10, 56)
+ { 0, { 0, 0, 0}}, // ( 11, 56)
+ { 0, { 0, 0, 0}}, // ( 12, 56)
+ { 0, { 0, 0, 0}}, // ( 13, 56)
+ { 0, { 0, 0, 0}}, // ( 14, 56)
+ { 0, { 0, 0, 0}}, // ( 15, 56)
+ { 0, { 0, 0, 0}}, // ( 16, 56)
+ { 0, { 0, 0, 0}}, // ( 17, 56)
+ { 0, { 0, 0, 0}}, // ( 18, 56)
+ { 0, { 0, 0, 0}}, // ( 19, 56)
+ { 0, { 0, 0, 0}}, // ( 20, 56)
+ { 0, { 0, 0, 0}}, // ( 21, 56)
+ { 0, { 0, 0, 0}}, // ( 22, 56)
+ { 0, { 0, 0, 0}}, // ( 23, 56)
+ { 0, { 0, 0, 0}}, // ( 24, 56)
+ { 0, { 0, 0, 0}}, // ( 25, 56)
+ { 0, { 0, 0, 0}}, // ( 26, 56)
+ { 0, { 0, 0, 0}}, // ( 27, 56)
+ { 0, { 0, 0, 0}}, // ( 28, 56)
+ { 0, { 0, 0, 0}}, // ( 29, 56)
+ { 0, { 0, 0, 0}}, // ( 30, 56)
+ { 0, { 0, 0, 0}}, // ( 31, 56)
+ { 0, { 0, 0, 0}}, // ( 32, 56)
+ { 0, { 0, 0, 0}}, // ( 33, 56)
+ { 0, { 0, 0, 0}}, // ( 34, 56)
+ { 0, { 0, 0, 0}}, // ( 35, 56)
+ { 0, { 0, 0, 0}}, // ( 36, 56)
+ { 0, { 0, 0, 0}}, // ( 37, 56)
+ { 0, { 0, 0, 0}}, // ( 38, 56)
+ { 0, { 0, 0, 0}}, // ( 39, 56)
+ { 0, { 0, 0, 0}}, // ( 40, 56)
+ { 0, { 0, 0, 0}}, // ( 41, 56)
+ { 0, { 0, 0, 0}}, // ( 42, 56)
+ { 0, { 0, 0, 0}}, // ( 43, 56)
+ { 0, { 0, 0, 0}}, // ( 44, 56)
+ { 0, { 0, 0, 0}}, // ( 45, 56)
+ { 0, { 0, 0, 0}}, // ( 46, 56)
+ { 0, { 0, 0, 0}}, // ( 47, 56)
+ { 0, { 0, 0, 0}}, // ( 48, 56)
+ { 0, { 0, 0, 0}}, // ( 49, 56)
+ { 0, { 0, 0, 0}}, // ( 50, 56)
+ { 0, { 0, 0, 0}}, // ( 51, 56)
+ { 0, { 0, 0, 0}}, // ( 52, 56)
+ { 0, { 0, 0, 0}}, // ( 53, 56)
+ { 0, { 0, 0, 0}}, // ( 54, 56)
+ { 0, { 0, 0, 0}}, // ( 55, 56)
+ { 0, { 0, 0, 0}}, // ( 56, 56)
+ { 0, { 0, 0, 0}}, // ( 57, 56)
+ { 0, { 0, 0, 0}}, // ( 58, 56)
+ { 0, { 0, 0, 0}}, // ( 59, 56)
+ { 0, { 0, 0, 0}}, // ( 60, 56)
+ { 0, { 0, 0, 0}}, // ( 61, 56)
+ { 0, { 0, 0, 0}}, // ( 62, 56)
+ { 0, { 0, 0, 0}}, // ( 63, 56)
+ { 0, { 0, 0, 0}}, // ( 64, 56)
+ { 0, { 0, 0, 0}}, // ( 65, 56)
+ { 0, { 0, 0, 0}}, // ( 66, 56)
+ { 0, { 0, 0, 0}}, // ( 67, 56)
+ { 0, { 0, 0, 0}}, // ( 68, 56)
+ { 0, { 0, 0, 0}}, // ( 69, 56)
+ { 0, { 0, 0, 0}}, // ( 70, 56)
+ { 0, { 0, 0, 0}}, // ( 71, 56)
+ { 0, { 0, 0, 0}}, // ( 72, 56)
+ { 0, { 0, 0, 0}}, // ( 73, 56)
+ { 0, { 0, 0, 0}}, // ( 74, 56)
+ { 0, { 0, 0, 0}}, // ( 75, 56)
+ { 0, { 0, 0, 0}}, // ( 76, 56)
+ { 0, { 0, 0, 0}}, // ( 77, 56)
+ { 0, { 0, 0, 0}}, // ( 78, 56)
+ { 0, { 0, 0, 0}}, // ( 79, 56)
+ { 0, { 0, 0, 0}}, // ( 80, 56)
+ { 0, { 0, 0, 0}}, // ( 81, 56)
+ { 0, { 0, 0, 0}}, // ( 82, 56)
+ { 0, { 0, 0, 0}}, // ( 83, 56)
+ { 0, { 0, 0, 0}}, // ( 84, 56)
+ { 0, { 0, 0, 0}}, // ( 85, 56)
+ { 0, { 0, 0, 0}}, // ( 86, 56)
+ { 0, { 0, 0, 0}}, // ( 87, 56)
+ { 0, { 0, 0, 0}}, // ( 88, 56)
+ { 0, { 0, 0, 0}}, // ( 89, 56)
+ { 0, { 0, 0, 0}}, // ( 90, 56)
+ { 0, { 0, 0, 0}}, // ( 91, 56)
+ { 0, { 0, 0, 0}}, // ( 92, 56)
+ { 0, { 0, 0, 0}}, // ( 93, 56)
+ { 0, { 0, 0, 0}}, // ( 94, 56)
+ { 0, { 0, 0, 0}}, // ( 95, 56)
+ { 0, { 0, 0, 0}}, // ( 96, 56)
+ { 0, { 0, 0, 0}}, // ( 97, 56)
+ { 0, { 0, 0, 0}}, // ( 98, 56)
+ { 0, { 0, 0, 0}}, // ( 99, 56)
+ { 0, { 0, 0, 0}}, // (100, 56)
+ { 0, { 0, 0, 0}}, // (101, 56)
+ { 0, { 0, 0, 0}}, // (102, 56)
+ { 0, { 0, 0, 0}}, // (103, 56)
+ { 0, { 0, 0, 0}}, // (104, 56)
+ { 0, { 0, 0, 0}}, // (105, 56)
+ { 0, { 0, 0, 0}}, // (106, 56)
+ { 0, { 0, 0, 0}}, // (107, 56)
+ { 0, { 0, 0, 0}}, // (108, 56)
+ { 0, { 0, 0, 0}}, // (109, 56)
+ { 0, { 0, 0, 0}}, // (110, 56)
+ { 0, { 0, 0, 0}}, // (111, 56)
+ { 0, { 0, 0, 0}}, // (112, 56)
+ { 0, { 0, 0, 0}}, // (113, 56)
+ { 0, { 0, 0, 0}}, // (114, 56)
+ { 0, { 0, 0, 0}}, // (115, 56)
+ { 0, { 0, 0, 0}}, // (116, 56)
+ { 0, { 0, 0, 0}}, // (117, 56)
+ { 0, { 0, 0, 0}}, // (118, 56)
+ { 0, { 0, 0, 0}}, // (119, 56)
+ { 0, { 0, 0, 0}}, // (120, 56)
+ { 0, { 0, 0, 0}}, // (121, 56)
+ { 0, { 0, 0, 0}}, // (122, 56)
+ { 0, { 0, 0, 0}}, // (123, 56)
+ { 0, { 0, 0, 0}}, // (124, 56)
+ { 0, { 0, 0, 0}}, // (125, 56)
+ { 0, { 0, 0, 0}}, // (126, 56)
+ { 0, { 0, 0, 0}}, // (127, 56)
+ { 0, { 0, 0, 0}}, // (128, 56)
+ { 0, { 0, 0, 0}}, // (129, 56)
+ { 0, { 0, 0, 0}}, // (130, 56)
+ { 0, { 0, 0, 0}}, // (131, 56)
+ { 0, { 0, 0, 0}}, // (132, 56)
+ { 0, { 0, 0, 0}}, // (133, 56)
+ { 0, { 0, 0, 0}}, // (134, 56)
+ { 0, { 0, 0, 0}}, // (135, 56)
+ { 0, { 0, 0, 0}}, // (136, 56)
+ { 0, { 0, 0, 0}}, // (137, 56)
+ { 0, { 0, 0, 0}}, // (138, 56)
+ { 0, { 0, 0, 0}}, // (139, 56)
+ { 0, { 0, 0, 0}}, // (140, 56)
+ { 0, { 0, 0, 0}}, // (141, 56)
+ { 0, { 0, 0, 0}}, // (142, 56)
+ { 0, { 0, 0, 0}}, // (143, 56)
+ { 0, { 0, 0, 0}}, // (144, 56)
+ { 0, { 0, 0, 0}}, // (145, 56)
+ { 0, { 0, 0, 0}}, // (146, 56)
+ { 0, { 0, 0, 0}}, // (147, 56)
+ { 0, { 0, 0, 0}}, // (148, 56)
+ { 0, { 0, 0, 0}}, // (149, 56)
+ { 0, { 0, 0, 0}}, // (150, 56)
+ { 0, { 0, 0, 0}}, // (151, 56)
+ { 0, { 0, 0, 0}}, // (152, 56)
+ { 0, { 0, 0, 0}}, // (153, 56)
+ { 0, { 0, 0, 0}}, // (154, 56)
+ { 0, { 0, 0, 0}}, // (155, 56)
+ { 0, { 0, 0, 0}}, // (156, 56)
+ { 0, { 0, 0, 0}}, // (157, 56)
+ { 0, { 0, 0, 0}}, // (158, 56)
+ { 0, { 0, 0, 0}}, // (159, 56)
+ { 0, { 0, 0, 0}}, // (160, 56)
+ { 0, { 0, 0, 0}}, // (161, 56)
+ { 0, { 0, 0, 0}}, // (162, 56)
+ { 0, { 0, 0, 0}}, // (163, 56)
+ { 0, { 0, 0, 0}}, // (164, 56)
+ { 0, { 0, 0, 0}}, // (165, 56)
+ { 0, { 0, 0, 0}}, // (166, 56)
+ { 0, { 0, 0, 0}}, // (167, 56)
+ { 0, { 0, 0, 0}}, // (168, 56)
+ { 0, { 0, 0, 0}}, // (169, 56)
+ { 0, { 0, 0, 0}}, // (170, 56)
+ { 79, { 0, 0, 0}}, // (171, 56)
+ {128, { 0, 0, 0}}, // (172, 56)
+ {128, { 0, 0, 0}}, // (173, 56)
+ {128, { 0, 0, 0}}, // (174, 56)
+ {128, { 0, 0, 0}}, // (175, 56)
+ {128, { 0, 0, 0}}, // (176, 56)
+ {128, { 0, 0, 0}}, // (177, 56)
+ {128, { 0, 0, 0}}, // (178, 56)
+ {128, { 0, 0, 0}}, // (179, 56)
+ {128, { 0, 0, 0}}, // ( 0, 57)
+ {128, { 0, 0, 0}}, // ( 1, 57)
+ {128, { 0, 0, 0}}, // ( 2, 57)
+ {128, { 0, 0, 0}}, // ( 3, 57)
+ {128, { 0, 0, 0}}, // ( 4, 57)
+ {128, { 0, 0, 0}}, // ( 5, 57)
+ {128, { 0, 0, 0}}, // ( 6, 57)
+ {128, { 0, 0, 0}}, // ( 7, 57)
+ { 29, { 0, 0, 0}}, // ( 8, 57)
+ { 0, { 0, 0, 0}}, // ( 9, 57)
+ { 0, { 0, 0, 0}}, // ( 10, 57)
+ { 0, { 0, 0, 0}}, // ( 11, 57)
+ { 0, { 0, 0, 0}}, // ( 12, 57)
+ { 0, { 0, 0, 0}}, // ( 13, 57)
+ { 0, { 0, 0, 0}}, // ( 14, 57)
+ { 0, { 0, 0, 0}}, // ( 15, 57)
+ { 0, { 0, 0, 0}}, // ( 16, 57)
+ { 0, { 0, 0, 0}}, // ( 17, 57)
+ { 0, { 0, 0, 0}}, // ( 18, 57)
+ { 0, { 0, 0, 0}}, // ( 19, 57)
+ { 0, { 0, 0, 0}}, // ( 20, 57)
+ { 0, { 0, 0, 0}}, // ( 21, 57)
+ { 0, { 0, 0, 0}}, // ( 22, 57)
+ { 0, { 0, 0, 0}}, // ( 23, 57)
+ { 0, { 0, 0, 0}}, // ( 24, 57)
+ { 0, { 0, 0, 0}}, // ( 25, 57)
+ { 0, { 0, 0, 0}}, // ( 26, 57)
+ { 0, { 0, 0, 0}}, // ( 27, 57)
+ { 0, { 0, 0, 0}}, // ( 28, 57)
+ { 0, { 0, 0, 0}}, // ( 29, 57)
+ { 0, { 0, 0, 0}}, // ( 30, 57)
+ { 0, { 0, 0, 0}}, // ( 31, 57)
+ { 0, { 0, 0, 0}}, // ( 32, 57)
+ { 0, { 0, 0, 0}}, // ( 33, 57)
+ { 0, { 0, 0, 0}}, // ( 34, 57)
+ { 0, { 0, 0, 0}}, // ( 35, 57)
+ { 0, { 0, 0, 0}}, // ( 36, 57)
+ { 0, { 0, 0, 0}}, // ( 37, 57)
+ { 0, { 0, 0, 0}}, // ( 38, 57)
+ { 0, { 0, 0, 0}}, // ( 39, 57)
+ { 0, { 0, 0, 0}}, // ( 40, 57)
+ { 0, { 0, 0, 0}}, // ( 41, 57)
+ { 0, { 0, 0, 0}}, // ( 42, 57)
+ { 0, { 0, 0, 0}}, // ( 43, 57)
+ { 0, { 0, 0, 0}}, // ( 44, 57)
+ { 0, { 0, 0, 0}}, // ( 45, 57)
+ { 0, { 0, 0, 0}}, // ( 46, 57)
+ { 0, { 0, 0, 0}}, // ( 47, 57)
+ { 0, { 0, 0, 0}}, // ( 48, 57)
+ { 0, { 0, 0, 0}}, // ( 49, 57)
+ { 0, { 0, 0, 0}}, // ( 50, 57)
+ { 0, { 0, 0, 0}}, // ( 51, 57)
+ { 0, { 0, 0, 0}}, // ( 52, 57)
+ { 0, { 0, 0, 0}}, // ( 53, 57)
+ { 0, { 0, 0, 0}}, // ( 54, 57)
+ { 0, { 0, 0, 0}}, // ( 55, 57)
+ { 0, { 0, 0, 0}}, // ( 56, 57)
+ { 0, { 0, 0, 0}}, // ( 57, 57)
+ { 0, { 0, 0, 0}}, // ( 58, 57)
+ { 0, { 0, 0, 0}}, // ( 59, 57)
+ { 0, { 0, 0, 0}}, // ( 60, 57)
+ { 0, { 0, 0, 0}}, // ( 61, 57)
+ { 0, { 0, 0, 0}}, // ( 62, 57)
+ { 0, { 0, 0, 0}}, // ( 63, 57)
+ { 0, { 0, 0, 0}}, // ( 64, 57)
+ { 0, { 0, 0, 0}}, // ( 65, 57)
+ { 0, { 0, 0, 0}}, // ( 66, 57)
+ { 0, { 0, 0, 0}}, // ( 67, 57)
+ { 0, { 0, 0, 0}}, // ( 68, 57)
+ { 0, { 0, 0, 0}}, // ( 69, 57)
+ { 0, { 0, 0, 0}}, // ( 70, 57)
+ { 0, { 0, 0, 0}}, // ( 71, 57)
+ { 0, { 0, 0, 0}}, // ( 72, 57)
+ { 0, { 0, 0, 0}}, // ( 73, 57)
+ { 0, { 0, 0, 0}}, // ( 74, 57)
+ { 0, { 0, 0, 0}}, // ( 75, 57)
+ { 0, { 0, 0, 0}}, // ( 76, 57)
+ { 0, { 0, 0, 0}}, // ( 77, 57)
+ { 0, { 0, 0, 0}}, // ( 78, 57)
+ { 0, { 0, 0, 0}}, // ( 79, 57)
+ { 0, { 0, 0, 0}}, // ( 80, 57)
+ { 0, { 0, 0, 0}}, // ( 81, 57)
+ { 0, { 0, 0, 0}}, // ( 82, 57)
+ { 0, { 0, 0, 0}}, // ( 83, 57)
+ { 0, { 0, 0, 0}}, // ( 84, 57)
+ { 0, { 0, 0, 0}}, // ( 85, 57)
+ { 0, { 0, 0, 0}}, // ( 86, 57)
+ { 0, { 0, 0, 0}}, // ( 87, 57)
+ { 0, { 0, 0, 0}}, // ( 88, 57)
+ { 0, { 0, 0, 0}}, // ( 89, 57)
+ { 0, { 0, 0, 0}}, // ( 90, 57)
+ { 0, { 0, 0, 0}}, // ( 91, 57)
+ { 0, { 0, 0, 0}}, // ( 92, 57)
+ { 0, { 0, 0, 0}}, // ( 93, 57)
+ { 0, { 0, 0, 0}}, // ( 94, 57)
+ { 0, { 0, 0, 0}}, // ( 95, 57)
+ { 0, { 0, 0, 0}}, // ( 96, 57)
+ { 0, { 0, 0, 0}}, // ( 97, 57)
+ { 0, { 0, 0, 0}}, // ( 98, 57)
+ { 0, { 0, 0, 0}}, // ( 99, 57)
+ { 0, { 0, 0, 0}}, // (100, 57)
+ { 0, { 0, 0, 0}}, // (101, 57)
+ { 0, { 0, 0, 0}}, // (102, 57)
+ { 0, { 0, 0, 0}}, // (103, 57)
+ { 0, { 0, 0, 0}}, // (104, 57)
+ { 0, { 0, 0, 0}}, // (105, 57)
+ { 0, { 0, 0, 0}}, // (106, 57)
+ { 0, { 0, 0, 0}}, // (107, 57)
+ { 0, { 0, 0, 0}}, // (108, 57)
+ { 0, { 0, 0, 0}}, // (109, 57)
+ { 0, { 0, 0, 0}}, // (110, 57)
+ { 0, { 0, 0, 0}}, // (111, 57)
+ { 0, { 0, 0, 0}}, // (112, 57)
+ { 0, { 0, 0, 0}}, // (113, 57)
+ { 0, { 0, 0, 0}}, // (114, 57)
+ { 0, { 0, 0, 0}}, // (115, 57)
+ { 0, { 0, 0, 0}}, // (116, 57)
+ { 0, { 0, 0, 0}}, // (117, 57)
+ { 0, { 0, 0, 0}}, // (118, 57)
+ { 0, { 0, 0, 0}}, // (119, 57)
+ { 0, { 0, 0, 0}}, // (120, 57)
+ { 0, { 0, 0, 0}}, // (121, 57)
+ { 0, { 0, 0, 0}}, // (122, 57)
+ { 0, { 0, 0, 0}}, // (123, 57)
+ { 0, { 0, 0, 0}}, // (124, 57)
+ { 0, { 0, 0, 0}}, // (125, 57)
+ { 0, { 0, 0, 0}}, // (126, 57)
+ { 0, { 0, 0, 0}}, // (127, 57)
+ { 0, { 0, 0, 0}}, // (128, 57)
+ { 0, { 0, 0, 0}}, // (129, 57)
+ { 0, { 0, 0, 0}}, // (130, 57)
+ { 0, { 0, 0, 0}}, // (131, 57)
+ { 0, { 0, 0, 0}}, // (132, 57)
+ { 0, { 0, 0, 0}}, // (133, 57)
+ { 0, { 0, 0, 0}}, // (134, 57)
+ { 0, { 0, 0, 0}}, // (135, 57)
+ { 0, { 0, 0, 0}}, // (136, 57)
+ { 0, { 0, 0, 0}}, // (137, 57)
+ { 0, { 0, 0, 0}}, // (138, 57)
+ { 0, { 0, 0, 0}}, // (139, 57)
+ { 0, { 0, 0, 0}}, // (140, 57)
+ { 0, { 0, 0, 0}}, // (141, 57)
+ { 0, { 0, 0, 0}}, // (142, 57)
+ { 0, { 0, 0, 0}}, // (143, 57)
+ { 0, { 0, 0, 0}}, // (144, 57)
+ { 0, { 0, 0, 0}}, // (145, 57)
+ { 0, { 0, 0, 0}}, // (146, 57)
+ { 0, { 0, 0, 0}}, // (147, 57)
+ { 0, { 0, 0, 0}}, // (148, 57)
+ { 0, { 0, 0, 0}}, // (149, 57)
+ { 0, { 0, 0, 0}}, // (150, 57)
+ { 0, { 0, 0, 0}}, // (151, 57)
+ { 0, { 0, 0, 0}}, // (152, 57)
+ { 0, { 0, 0, 0}}, // (153, 57)
+ { 0, { 0, 0, 0}}, // (154, 57)
+ { 0, { 0, 0, 0}}, // (155, 57)
+ { 0, { 0, 0, 0}}, // (156, 57)
+ { 0, { 0, 0, 0}}, // (157, 57)
+ { 0, { 0, 0, 0}}, // (158, 57)
+ { 0, { 0, 0, 0}}, // (159, 57)
+ { 0, { 0, 0, 0}}, // (160, 57)
+ { 0, { 0, 0, 0}}, // (161, 57)
+ { 0, { 0, 0, 0}}, // (162, 57)
+ { 0, { 0, 0, 0}}, // (163, 57)
+ { 0, { 0, 0, 0}}, // (164, 57)
+ { 0, { 0, 0, 0}}, // (165, 57)
+ { 0, { 0, 0, 0}}, // (166, 57)
+ { 0, { 0, 0, 0}}, // (167, 57)
+ { 0, { 0, 0, 0}}, // (168, 57)
+ { 0, { 0, 0, 0}}, // (169, 57)
+ { 0, { 0, 0, 0}}, // (170, 57)
+ { 29, { 0, 0, 0}}, // (171, 57)
+ {128, { 0, 0, 0}}, // (172, 57)
+ {128, { 0, 0, 0}}, // (173, 57)
+ {128, { 0, 0, 0}}, // (174, 57)
+ {128, { 0, 0, 0}}, // (175, 57)
+ {128, { 0, 0, 0}}, // (176, 57)
+ {128, { 0, 0, 0}}, // (177, 57)
+ {128, { 0, 0, 0}}, // (178, 57)
+ {128, { 0, 0, 0}}, // (179, 57)
+ {128, { 0, 0, 0}}, // ( 0, 58)
+ {128, { 0, 0, 0}}, // ( 1, 58)
+ {128, { 0, 0, 0}}, // ( 2, 58)
+ {128, { 0, 0, 0}}, // ( 3, 58)
+ {128, { 0, 0, 0}}, // ( 4, 58)
+ {128, { 0, 0, 0}}, // ( 5, 58)
+ {128, { 0, 0, 0}}, // ( 6, 58)
+ {106, { 0, 0, 0}}, // ( 7, 58)
+ { 0, { 0, 0, 0}}, // ( 8, 58)
+ { 0, { 0, 0, 0}}, // ( 9, 58)
+ { 0, { 0, 0, 0}}, // ( 10, 58)
+ { 0, { 0, 0, 0}}, // ( 11, 58)
+ { 0, { 0, 0, 0}}, // ( 12, 58)
+ { 0, { 0, 0, 0}}, // ( 13, 58)
+ { 0, { 0, 0, 0}}, // ( 14, 58)
+ { 0, { 0, 0, 0}}, // ( 15, 58)
+ { 0, { 0, 0, 0}}, // ( 16, 58)
+ { 0, { 0, 0, 0}}, // ( 17, 58)
+ { 0, { 0, 0, 0}}, // ( 18, 58)
+ { 0, { 0, 0, 0}}, // ( 19, 58)
+ { 0, { 0, 0, 0}}, // ( 20, 58)
+ { 0, { 0, 0, 0}}, // ( 21, 58)
+ { 0, { 0, 0, 0}}, // ( 22, 58)
+ { 0, { 0, 0, 0}}, // ( 23, 58)
+ { 0, { 0, 0, 0}}, // ( 24, 58)
+ { 0, { 0, 0, 0}}, // ( 25, 58)
+ { 0, { 0, 0, 0}}, // ( 26, 58)
+ { 0, { 0, 0, 0}}, // ( 27, 58)
+ { 0, { 0, 0, 0}}, // ( 28, 58)
+ { 0, { 0, 0, 0}}, // ( 29, 58)
+ { 0, { 0, 0, 0}}, // ( 30, 58)
+ { 0, { 0, 0, 0}}, // ( 31, 58)
+ { 0, { 0, 0, 0}}, // ( 32, 58)
+ { 0, { 0, 0, 0}}, // ( 33, 58)
+ { 0, { 0, 0, 0}}, // ( 34, 58)
+ { 0, { 0, 0, 0}}, // ( 35, 58)
+ { 0, { 0, 0, 0}}, // ( 36, 58)
+ { 0, { 0, 0, 0}}, // ( 37, 58)
+ { 0, { 0, 0, 0}}, // ( 38, 58)
+ { 0, { 0, 0, 0}}, // ( 39, 58)
+ { 0, { 0, 0, 0}}, // ( 40, 58)
+ { 0, { 0, 0, 0}}, // ( 41, 58)
+ { 0, { 0, 0, 0}}, // ( 42, 58)
+ { 0, { 0, 0, 0}}, // ( 43, 58)
+ { 0, { 0, 0, 0}}, // ( 44, 58)
+ { 0, { 0, 0, 0}}, // ( 45, 58)
+ { 0, { 0, 0, 0}}, // ( 46, 58)
+ { 0, { 0, 0, 0}}, // ( 47, 58)
+ { 0, { 0, 0, 0}}, // ( 48, 58)
+ { 0, { 0, 0, 0}}, // ( 49, 58)
+ { 0, { 0, 0, 0}}, // ( 50, 58)
+ { 0, { 0, 0, 0}}, // ( 51, 58)
+ { 0, { 0, 0, 0}}, // ( 52, 58)
+ { 0, { 0, 0, 0}}, // ( 53, 58)
+ { 0, { 0, 0, 0}}, // ( 54, 58)
+ { 0, { 0, 0, 0}}, // ( 55, 58)
+ { 0, { 0, 0, 0}}, // ( 56, 58)
+ { 0, { 0, 0, 0}}, // ( 57, 58)
+ { 0, { 0, 0, 0}}, // ( 58, 58)
+ { 0, { 0, 0, 0}}, // ( 59, 58)
+ { 0, { 0, 0, 0}}, // ( 60, 58)
+ { 0, { 0, 0, 0}}, // ( 61, 58)
+ { 0, { 0, 0, 0}}, // ( 62, 58)
+ { 0, { 0, 0, 0}}, // ( 63, 58)
+ { 0, { 0, 0, 0}}, // ( 64, 58)
+ { 0, { 0, 0, 0}}, // ( 65, 58)
+ { 0, { 0, 0, 0}}, // ( 66, 58)
+ { 0, { 0, 0, 0}}, // ( 67, 58)
+ { 0, { 0, 0, 0}}, // ( 68, 58)
+ { 0, { 0, 0, 0}}, // ( 69, 58)
+ { 0, { 0, 0, 0}}, // ( 70, 58)
+ { 0, { 0, 0, 0}}, // ( 71, 58)
+ { 0, { 0, 0, 0}}, // ( 72, 58)
+ { 0, { 0, 0, 0}}, // ( 73, 58)
+ { 0, { 0, 0, 0}}, // ( 74, 58)
+ { 0, { 0, 0, 0}}, // ( 75, 58)
+ { 0, { 0, 0, 0}}, // ( 76, 58)
+ { 0, { 0, 0, 0}}, // ( 77, 58)
+ { 0, { 0, 0, 0}}, // ( 78, 58)
+ { 0, { 0, 0, 0}}, // ( 79, 58)
+ { 0, { 0, 0, 0}}, // ( 80, 58)
+ { 0, { 0, 0, 0}}, // ( 81, 58)
+ { 0, { 0, 0, 0}}, // ( 82, 58)
+ { 0, { 0, 0, 0}}, // ( 83, 58)
+ { 0, { 0, 0, 0}}, // ( 84, 58)
+ { 0, { 0, 0, 0}}, // ( 85, 58)
+ { 0, { 0, 0, 0}}, // ( 86, 58)
+ { 0, { 0, 0, 0}}, // ( 87, 58)
+ { 0, { 0, 0, 0}}, // ( 88, 58)
+ { 0, { 0, 0, 0}}, // ( 89, 58)
+ { 0, { 0, 0, 0}}, // ( 90, 58)
+ { 0, { 0, 0, 0}}, // ( 91, 58)
+ { 0, { 0, 0, 0}}, // ( 92, 58)
+ { 0, { 0, 0, 0}}, // ( 93, 58)
+ { 0, { 0, 0, 0}}, // ( 94, 58)
+ { 0, { 0, 0, 0}}, // ( 95, 58)
+ { 0, { 0, 0, 0}}, // ( 96, 58)
+ { 0, { 0, 0, 0}}, // ( 97, 58)
+ { 0, { 0, 0, 0}}, // ( 98, 58)
+ { 0, { 0, 0, 0}}, // ( 99, 58)
+ { 0, { 0, 0, 0}}, // (100, 58)
+ { 0, { 0, 0, 0}}, // (101, 58)
+ { 0, { 0, 0, 0}}, // (102, 58)
+ { 0, { 0, 0, 0}}, // (103, 58)
+ { 0, { 0, 0, 0}}, // (104, 58)
+ { 0, { 0, 0, 0}}, // (105, 58)
+ { 0, { 0, 0, 0}}, // (106, 58)
+ { 0, { 0, 0, 0}}, // (107, 58)
+ { 0, { 0, 0, 0}}, // (108, 58)
+ { 0, { 0, 0, 0}}, // (109, 58)
+ { 0, { 0, 0, 0}}, // (110, 58)
+ { 0, { 0, 0, 0}}, // (111, 58)
+ { 0, { 0, 0, 0}}, // (112, 58)
+ { 0, { 0, 0, 0}}, // (113, 58)
+ { 0, { 0, 0, 0}}, // (114, 58)
+ { 0, { 0, 0, 0}}, // (115, 58)
+ { 0, { 0, 0, 0}}, // (116, 58)
+ { 0, { 0, 0, 0}}, // (117, 58)
+ { 0, { 0, 0, 0}}, // (118, 58)
+ { 0, { 0, 0, 0}}, // (119, 58)
+ { 0, { 0, 0, 0}}, // (120, 58)
+ { 0, { 0, 0, 0}}, // (121, 58)
+ { 0, { 0, 0, 0}}, // (122, 58)
+ { 0, { 0, 0, 0}}, // (123, 58)
+ { 0, { 0, 0, 0}}, // (124, 58)
+ { 0, { 0, 0, 0}}, // (125, 58)
+ { 0, { 0, 0, 0}}, // (126, 58)
+ { 0, { 0, 0, 0}}, // (127, 58)
+ { 0, { 0, 0, 0}}, // (128, 58)
+ { 0, { 0, 0, 0}}, // (129, 58)
+ { 0, { 0, 0, 0}}, // (130, 58)
+ { 0, { 0, 0, 0}}, // (131, 58)
+ { 0, { 0, 0, 0}}, // (132, 58)
+ { 0, { 0, 0, 0}}, // (133, 58)
+ { 0, { 0, 0, 0}}, // (134, 58)
+ { 0, { 0, 0, 0}}, // (135, 58)
+ { 0, { 0, 0, 0}}, // (136, 58)
+ { 0, { 0, 0, 0}}, // (137, 58)
+ { 0, { 0, 0, 0}}, // (138, 58)
+ { 0, { 0, 0, 0}}, // (139, 58)
+ { 0, { 0, 0, 0}}, // (140, 58)
+ { 0, { 0, 0, 0}}, // (141, 58)
+ { 0, { 0, 0, 0}}, // (142, 58)
+ { 0, { 0, 0, 0}}, // (143, 58)
+ { 0, { 0, 0, 0}}, // (144, 58)
+ { 0, { 0, 0, 0}}, // (145, 58)
+ { 0, { 0, 0, 0}}, // (146, 58)
+ { 0, { 0, 0, 0}}, // (147, 58)
+ { 0, { 0, 0, 0}}, // (148, 58)
+ { 0, { 0, 0, 0}}, // (149, 58)
+ { 0, { 0, 0, 0}}, // (150, 58)
+ { 0, { 0, 0, 0}}, // (151, 58)
+ { 0, { 0, 0, 0}}, // (152, 58)
+ { 0, { 0, 0, 0}}, // (153, 58)
+ { 0, { 0, 0, 0}}, // (154, 58)
+ { 0, { 0, 0, 0}}, // (155, 58)
+ { 0, { 0, 0, 0}}, // (156, 58)
+ { 0, { 0, 0, 0}}, // (157, 58)
+ { 0, { 0, 0, 0}}, // (158, 58)
+ { 0, { 0, 0, 0}}, // (159, 58)
+ { 0, { 0, 0, 0}}, // (160, 58)
+ { 0, { 0, 0, 0}}, // (161, 58)
+ { 0, { 0, 0, 0}}, // (162, 58)
+ { 0, { 0, 0, 0}}, // (163, 58)
+ { 0, { 0, 0, 0}}, // (164, 58)
+ { 0, { 0, 0, 0}}, // (165, 58)
+ { 0, { 0, 0, 0}}, // (166, 58)
+ { 0, { 0, 0, 0}}, // (167, 58)
+ { 0, { 0, 0, 0}}, // (168, 58)
+ { 0, { 0, 0, 0}}, // (169, 58)
+ { 0, { 0, 0, 0}}, // (170, 58)
+ { 0, { 0, 0, 0}}, // (171, 58)
+ {106, { 0, 0, 0}}, // (172, 58)
+ {128, { 0, 0, 0}}, // (173, 58)
+ {128, { 0, 0, 0}}, // (174, 58)
+ {128, { 0, 0, 0}}, // (175, 58)
+ {128, { 0, 0, 0}}, // (176, 58)
+ {128, { 0, 0, 0}}, // (177, 58)
+ {128, { 0, 0, 0}}, // (178, 58)
+ {128, { 0, 0, 0}}, // (179, 58)
+ {128, { 0, 0, 0}}, // ( 0, 59)
+ {128, { 0, 0, 0}}, // ( 1, 59)
+ {128, { 0, 0, 0}}, // ( 2, 59)
+ {128, { 0, 0, 0}}, // ( 3, 59)
+ {128, { 0, 0, 0}}, // ( 4, 59)
+ {128, { 0, 0, 0}}, // ( 5, 59)
+ {128, { 0, 0, 0}}, // ( 6, 59)
+ { 56, { 0, 0, 0}}, // ( 7, 59)
+ { 0, { 0, 0, 0}}, // ( 8, 59)
+ { 0, { 0, 0, 0}}, // ( 9, 59)
+ { 0, { 0, 0, 0}}, // ( 10, 59)
+ { 0, { 0, 0, 0}}, // ( 11, 59)
+ { 0, { 0, 0, 0}}, // ( 12, 59)
+ { 0, { 0, 0, 0}}, // ( 13, 59)
+ { 0, { 0, 0, 0}}, // ( 14, 59)
+ { 0, { 0, 0, 0}}, // ( 15, 59)
+ { 0, { 0, 0, 0}}, // ( 16, 59)
+ { 0, { 0, 0, 0}}, // ( 17, 59)
+ { 0, { 0, 0, 0}}, // ( 18, 59)
+ { 0, { 0, 0, 0}}, // ( 19, 59)
+ { 0, { 0, 0, 0}}, // ( 20, 59)
+ { 0, { 0, 0, 0}}, // ( 21, 59)
+ { 0, { 0, 0, 0}}, // ( 22, 59)
+ { 0, { 0, 0, 0}}, // ( 23, 59)
+ { 0, { 0, 0, 0}}, // ( 24, 59)
+ { 0, { 0, 0, 0}}, // ( 25, 59)
+ { 0, { 0, 0, 0}}, // ( 26, 59)
+ { 0, { 0, 0, 0}}, // ( 27, 59)
+ { 0, { 0, 0, 0}}, // ( 28, 59)
+ { 0, { 0, 0, 0}}, // ( 29, 59)
+ { 0, { 0, 0, 0}}, // ( 30, 59)
+ { 0, { 0, 0, 0}}, // ( 31, 59)
+ { 0, { 0, 0, 0}}, // ( 32, 59)
+ { 0, { 0, 0, 0}}, // ( 33, 59)
+ { 0, { 0, 0, 0}}, // ( 34, 59)
+ { 0, { 0, 0, 0}}, // ( 35, 59)
+ { 0, { 0, 0, 0}}, // ( 36, 59)
+ { 0, { 0, 0, 0}}, // ( 37, 59)
+ { 0, { 0, 0, 0}}, // ( 38, 59)
+ { 0, { 0, 0, 0}}, // ( 39, 59)
+ { 0, { 0, 0, 0}}, // ( 40, 59)
+ { 0, { 0, 0, 0}}, // ( 41, 59)
+ { 0, { 0, 0, 0}}, // ( 42, 59)
+ { 0, { 0, 0, 0}}, // ( 43, 59)
+ { 0, { 0, 0, 0}}, // ( 44, 59)
+ { 0, { 0, 0, 0}}, // ( 45, 59)
+ { 0, { 0, 0, 0}}, // ( 46, 59)
+ { 0, { 0, 0, 0}}, // ( 47, 59)
+ { 0, { 0, 0, 0}}, // ( 48, 59)
+ { 0, { 0, 0, 0}}, // ( 49, 59)
+ { 0, { 0, 0, 0}}, // ( 50, 59)
+ { 0, { 0, 0, 0}}, // ( 51, 59)
+ { 0, { 0, 0, 0}}, // ( 52, 59)
+ { 0, { 0, 0, 0}}, // ( 53, 59)
+ { 0, { 0, 0, 0}}, // ( 54, 59)
+ { 0, { 0, 0, 0}}, // ( 55, 59)
+ { 0, { 0, 0, 0}}, // ( 56, 59)
+ { 0, { 0, 0, 0}}, // ( 57, 59)
+ { 0, { 0, 0, 0}}, // ( 58, 59)
+ { 0, { 0, 0, 0}}, // ( 59, 59)
+ { 0, { 0, 0, 0}}, // ( 60, 59)
+ { 0, { 0, 0, 0}}, // ( 61, 59)
+ { 0, { 0, 0, 0}}, // ( 62, 59)
+ { 0, { 0, 0, 0}}, // ( 63, 59)
+ { 0, { 0, 0, 0}}, // ( 64, 59)
+ { 0, { 0, 0, 0}}, // ( 65, 59)
+ { 0, { 0, 0, 0}}, // ( 66, 59)
+ { 0, { 0, 0, 0}}, // ( 67, 59)
+ { 0, { 0, 0, 0}}, // ( 68, 59)
+ { 0, { 0, 0, 0}}, // ( 69, 59)
+ { 0, { 0, 0, 0}}, // ( 70, 59)
+ { 0, { 0, 0, 0}}, // ( 71, 59)
+ { 0, { 0, 0, 0}}, // ( 72, 59)
+ { 0, { 0, 0, 0}}, // ( 73, 59)
+ { 0, { 0, 0, 0}}, // ( 74, 59)
+ { 0, { 0, 0, 0}}, // ( 75, 59)
+ { 0, { 0, 0, 0}}, // ( 76, 59)
+ { 0, { 0, 0, 0}}, // ( 77, 59)
+ { 0, { 0, 0, 0}}, // ( 78, 59)
+ { 0, { 0, 0, 0}}, // ( 79, 59)
+ { 0, { 0, 0, 0}}, // ( 80, 59)
+ { 0, { 0, 0, 0}}, // ( 81, 59)
+ { 0, { 0, 0, 0}}, // ( 82, 59)
+ { 0, { 0, 0, 0}}, // ( 83, 59)
+ { 0, { 0, 0, 0}}, // ( 84, 59)
+ { 0, { 0, 0, 0}}, // ( 85, 59)
+ { 0, { 0, 0, 0}}, // ( 86, 59)
+ { 0, { 0, 0, 0}}, // ( 87, 59)
+ { 0, { 0, 0, 0}}, // ( 88, 59)
+ { 0, { 0, 0, 0}}, // ( 89, 59)
+ { 0, { 0, 0, 0}}, // ( 90, 59)
+ { 0, { 0, 0, 0}}, // ( 91, 59)
+ { 0, { 0, 0, 0}}, // ( 92, 59)
+ { 0, { 0, 0, 0}}, // ( 93, 59)
+ { 0, { 0, 0, 0}}, // ( 94, 59)
+ { 0, { 0, 0, 0}}, // ( 95, 59)
+ { 0, { 0, 0, 0}}, // ( 96, 59)
+ { 0, { 0, 0, 0}}, // ( 97, 59)
+ { 0, { 0, 0, 0}}, // ( 98, 59)
+ { 0, { 0, 0, 0}}, // ( 99, 59)
+ { 0, { 0, 0, 0}}, // (100, 59)
+ { 0, { 0, 0, 0}}, // (101, 59)
+ { 0, { 0, 0, 0}}, // (102, 59)
+ { 0, { 0, 0, 0}}, // (103, 59)
+ { 0, { 0, 0, 0}}, // (104, 59)
+ { 0, { 0, 0, 0}}, // (105, 59)
+ { 0, { 0, 0, 0}}, // (106, 59)
+ { 0, { 0, 0, 0}}, // (107, 59)
+ { 0, { 0, 0, 0}}, // (108, 59)
+ { 0, { 0, 0, 0}}, // (109, 59)
+ { 0, { 0, 0, 0}}, // (110, 59)
+ { 0, { 0, 0, 0}}, // (111, 59)
+ { 0, { 0, 0, 0}}, // (112, 59)
+ { 0, { 0, 0, 0}}, // (113, 59)
+ { 0, { 0, 0, 0}}, // (114, 59)
+ { 0, { 0, 0, 0}}, // (115, 59)
+ { 0, { 0, 0, 0}}, // (116, 59)
+ { 0, { 0, 0, 0}}, // (117, 59)
+ { 0, { 0, 0, 0}}, // (118, 59)
+ { 0, { 0, 0, 0}}, // (119, 59)
+ { 0, { 0, 0, 0}}, // (120, 59)
+ { 0, { 0, 0, 0}}, // (121, 59)
+ { 0, { 0, 0, 0}}, // (122, 59)
+ { 0, { 0, 0, 0}}, // (123, 59)
+ { 0, { 0, 0, 0}}, // (124, 59)
+ { 0, { 0, 0, 0}}, // (125, 59)
+ { 0, { 0, 0, 0}}, // (126, 59)
+ { 0, { 0, 0, 0}}, // (127, 59)
+ { 0, { 0, 0, 0}}, // (128, 59)
+ { 0, { 0, 0, 0}}, // (129, 59)
+ { 0, { 0, 0, 0}}, // (130, 59)
+ { 0, { 0, 0, 0}}, // (131, 59)
+ { 0, { 0, 0, 0}}, // (132, 59)
+ { 0, { 0, 0, 0}}, // (133, 59)
+ { 0, { 0, 0, 0}}, // (134, 59)
+ { 0, { 0, 0, 0}}, // (135, 59)
+ { 0, { 0, 0, 0}}, // (136, 59)
+ { 0, { 0, 0, 0}}, // (137, 59)
+ { 0, { 0, 0, 0}}, // (138, 59)
+ { 0, { 0, 0, 0}}, // (139, 59)
+ { 0, { 0, 0, 0}}, // (140, 59)
+ { 0, { 0, 0, 0}}, // (141, 59)
+ { 0, { 0, 0, 0}}, // (142, 59)
+ { 0, { 0, 0, 0}}, // (143, 59)
+ { 0, { 0, 0, 0}}, // (144, 59)
+ { 0, { 0, 0, 0}}, // (145, 59)
+ { 0, { 0, 0, 0}}, // (146, 59)
+ { 0, { 0, 0, 0}}, // (147, 59)
+ { 0, { 0, 0, 0}}, // (148, 59)
+ { 0, { 0, 0, 0}}, // (149, 59)
+ { 0, { 0, 0, 0}}, // (150, 59)
+ { 0, { 0, 0, 0}}, // (151, 59)
+ { 0, { 0, 0, 0}}, // (152, 59)
+ { 0, { 0, 0, 0}}, // (153, 59)
+ { 0, { 0, 0, 0}}, // (154, 59)
+ { 0, { 0, 0, 0}}, // (155, 59)
+ { 0, { 0, 0, 0}}, // (156, 59)
+ { 0, { 0, 0, 0}}, // (157, 59)
+ { 0, { 0, 0, 0}}, // (158, 59)
+ { 0, { 0, 0, 0}}, // (159, 59)
+ { 0, { 0, 0, 0}}, // (160, 59)
+ { 0, { 0, 0, 0}}, // (161, 59)
+ { 0, { 0, 0, 0}}, // (162, 59)
+ { 0, { 0, 0, 0}}, // (163, 59)
+ { 0, { 0, 0, 0}}, // (164, 59)
+ { 0, { 0, 0, 0}}, // (165, 59)
+ { 0, { 0, 0, 0}}, // (166, 59)
+ { 0, { 0, 0, 0}}, // (167, 59)
+ { 0, { 0, 0, 0}}, // (168, 59)
+ { 0, { 0, 0, 0}}, // (169, 59)
+ { 0, { 0, 0, 0}}, // (170, 59)
+ { 0, { 0, 0, 0}}, // (171, 59)
+ { 55, { 0, 0, 0}}, // (172, 59)
+ {128, { 0, 0, 0}}, // (173, 59)
+ {128, { 0, 0, 0}}, // (174, 59)
+ {128, { 0, 0, 0}}, // (175, 59)
+ {128, { 0, 0, 0}}, // (176, 59)
+ {128, { 0, 0, 0}}, // (177, 59)
+ {128, { 0, 0, 0}}, // (178, 59)
+ {128, { 0, 0, 0}}, // (179, 59)
+ {128, { 0, 0, 0}}, // ( 0, 60)
+ {128, { 0, 0, 0}}, // ( 1, 60)
+ {128, { 0, 0, 0}}, // ( 2, 60)
+ {128, { 0, 0, 0}}, // ( 3, 60)
+ {128, { 0, 0, 0}}, // ( 4, 60)
+ {128, { 0, 0, 0}}, // ( 5, 60)
+ {127, { 0, 0, 0}}, // ( 6, 60)
+ { 12, { 0, 0, 0}}, // ( 7, 60)
+ { 0, { 0, 0, 0}}, // ( 8, 60)
+ { 0, { 0, 0, 0}}, // ( 9, 60)
+ { 0, { 0, 0, 0}}, // ( 10, 60)
+ { 0, { 0, 0, 0}}, // ( 11, 60)
+ { 0, { 0, 0, 0}}, // ( 12, 60)
+ { 0, { 0, 0, 0}}, // ( 13, 60)
+ { 0, { 0, 0, 0}}, // ( 14, 60)
+ { 0, { 0, 0, 0}}, // ( 15, 60)
+ { 0, { 0, 0, 0}}, // ( 16, 60)
+ { 0, { 0, 0, 0}}, // ( 17, 60)
+ { 0, { 0, 0, 0}}, // ( 18, 60)
+ { 0, { 0, 0, 0}}, // ( 19, 60)
+ { 0, { 0, 0, 0}}, // ( 20, 60)
+ { 0, { 0, 0, 0}}, // ( 21, 60)
+ { 0, { 0, 0, 0}}, // ( 22, 60)
+ { 0, { 0, 0, 0}}, // ( 23, 60)
+ { 0, { 0, 0, 0}}, // ( 24, 60)
+ { 0, { 0, 0, 0}}, // ( 25, 60)
+ { 0, { 0, 0, 0}}, // ( 26, 60)
+ { 0, { 0, 0, 0}}, // ( 27, 60)
+ { 0, { 0, 0, 0}}, // ( 28, 60)
+ { 0, { 0, 0, 0}}, // ( 29, 60)
+ { 0, { 0, 0, 0}}, // ( 30, 60)
+ { 0, { 0, 0, 0}}, // ( 31, 60)
+ { 0, { 0, 0, 0}}, // ( 32, 60)
+ { 0, { 0, 0, 0}}, // ( 33, 60)
+ { 0, { 0, 0, 0}}, // ( 34, 60)
+ { 0, { 0, 0, 0}}, // ( 35, 60)
+ { 0, { 0, 0, 0}}, // ( 36, 60)
+ { 0, { 0, 0, 0}}, // ( 37, 60)
+ { 0, { 0, 0, 0}}, // ( 38, 60)
+ { 0, { 0, 0, 0}}, // ( 39, 60)
+ { 0, { 0, 0, 0}}, // ( 40, 60)
+ { 0, { 0, 0, 0}}, // ( 41, 60)
+ { 0, { 0, 0, 0}}, // ( 42, 60)
+ { 0, { 0, 0, 0}}, // ( 43, 60)
+ { 0, { 0, 0, 0}}, // ( 44, 60)
+ { 0, { 0, 0, 0}}, // ( 45, 60)
+ { 0, { 0, 0, 0}}, // ( 46, 60)
+ { 0, { 0, 0, 0}}, // ( 47, 60)
+ { 0, { 0, 0, 0}}, // ( 48, 60)
+ { 0, { 0, 0, 0}}, // ( 49, 60)
+ { 0, { 0, 0, 0}}, // ( 50, 60)
+ { 0, { 0, 0, 0}}, // ( 51, 60)
+ { 0, { 0, 0, 0}}, // ( 52, 60)
+ { 0, { 0, 0, 0}}, // ( 53, 60)
+ { 0, { 0, 0, 0}}, // ( 54, 60)
+ { 0, { 0, 0, 0}}, // ( 55, 60)
+ { 0, { 0, 0, 0}}, // ( 56, 60)
+ { 0, { 0, 0, 0}}, // ( 57, 60)
+ { 0, { 0, 0, 0}}, // ( 58, 60)
+ { 0, { 0, 0, 0}}, // ( 59, 60)
+ { 0, { 0, 0, 0}}, // ( 60, 60)
+ { 0, { 0, 0, 0}}, // ( 61, 60)
+ { 0, { 0, 0, 0}}, // ( 62, 60)
+ { 0, { 0, 0, 0}}, // ( 63, 60)
+ { 0, { 0, 0, 0}}, // ( 64, 60)
+ { 0, { 0, 0, 0}}, // ( 65, 60)
+ { 0, { 0, 0, 0}}, // ( 66, 60)
+ { 0, { 0, 0, 0}}, // ( 67, 60)
+ { 0, { 0, 0, 0}}, // ( 68, 60)
+ { 0, { 0, 0, 0}}, // ( 69, 60)
+ { 0, { 0, 0, 0}}, // ( 70, 60)
+ { 0, { 0, 0, 0}}, // ( 71, 60)
+ { 0, { 0, 0, 0}}, // ( 72, 60)
+ { 0, { 0, 0, 0}}, // ( 73, 60)
+ { 0, { 0, 0, 0}}, // ( 74, 60)
+ { 0, { 0, 0, 0}}, // ( 75, 60)
+ { 0, { 0, 0, 0}}, // ( 76, 60)
+ { 0, { 0, 0, 0}}, // ( 77, 60)
+ { 0, { 0, 0, 0}}, // ( 78, 60)
+ { 0, { 0, 0, 0}}, // ( 79, 60)
+ { 0, { 0, 0, 0}}, // ( 80, 60)
+ { 0, { 0, 0, 0}}, // ( 81, 60)
+ { 0, { 0, 0, 0}}, // ( 82, 60)
+ { 0, { 0, 0, 0}}, // ( 83, 60)
+ { 0, { 0, 0, 0}}, // ( 84, 60)
+ { 0, { 0, 0, 0}}, // ( 85, 60)
+ { 0, { 0, 0, 0}}, // ( 86, 60)
+ { 0, { 0, 0, 0}}, // ( 87, 60)
+ { 0, { 0, 0, 0}}, // ( 88, 60)
+ { 0, { 0, 0, 0}}, // ( 89, 60)
+ { 0, { 0, 0, 0}}, // ( 90, 60)
+ { 0, { 0, 0, 0}}, // ( 91, 60)
+ { 0, { 0, 0, 0}}, // ( 92, 60)
+ { 0, { 0, 0, 0}}, // ( 93, 60)
+ { 0, { 0, 0, 0}}, // ( 94, 60)
+ { 0, { 0, 0, 0}}, // ( 95, 60)
+ { 0, { 0, 0, 0}}, // ( 96, 60)
+ { 0, { 0, 0, 0}}, // ( 97, 60)
+ { 0, { 0, 0, 0}}, // ( 98, 60)
+ { 0, { 0, 0, 0}}, // ( 99, 60)
+ { 0, { 0, 0, 0}}, // (100, 60)
+ { 0, { 0, 0, 0}}, // (101, 60)
+ { 0, { 0, 0, 0}}, // (102, 60)
+ { 0, { 0, 0, 0}}, // (103, 60)
+ { 0, { 0, 0, 0}}, // (104, 60)
+ { 0, { 0, 0, 0}}, // (105, 60)
+ { 0, { 0, 0, 0}}, // (106, 60)
+ { 0, { 0, 0, 0}}, // (107, 60)
+ { 0, { 0, 0, 0}}, // (108, 60)
+ { 0, { 0, 0, 0}}, // (109, 60)
+ { 0, { 0, 0, 0}}, // (110, 60)
+ { 0, { 0, 0, 0}}, // (111, 60)
+ { 0, { 0, 0, 0}}, // (112, 60)
+ { 0, { 0, 0, 0}}, // (113, 60)
+ { 0, { 0, 0, 0}}, // (114, 60)
+ { 0, { 0, 0, 0}}, // (115, 60)
+ { 0, { 0, 0, 0}}, // (116, 60)
+ { 0, { 0, 0, 0}}, // (117, 60)
+ { 0, { 0, 0, 0}}, // (118, 60)
+ { 0, { 0, 0, 0}}, // (119, 60)
+ { 0, { 0, 0, 0}}, // (120, 60)
+ { 0, { 0, 0, 0}}, // (121, 60)
+ { 0, { 0, 0, 0}}, // (122, 60)
+ { 0, { 0, 0, 0}}, // (123, 60)
+ { 0, { 0, 0, 0}}, // (124, 60)
+ { 0, { 0, 0, 0}}, // (125, 60)
+ { 0, { 0, 0, 0}}, // (126, 60)
+ { 0, { 0, 0, 0}}, // (127, 60)
+ { 0, { 0, 0, 0}}, // (128, 60)
+ { 0, { 0, 0, 0}}, // (129, 60)
+ { 0, { 0, 0, 0}}, // (130, 60)
+ { 0, { 0, 0, 0}}, // (131, 60)
+ { 0, { 0, 0, 0}}, // (132, 60)
+ { 0, { 0, 0, 0}}, // (133, 60)
+ { 0, { 0, 0, 0}}, // (134, 60)
+ { 0, { 0, 0, 0}}, // (135, 60)
+ { 0, { 0, 0, 0}}, // (136, 60)
+ { 0, { 0, 0, 0}}, // (137, 60)
+ { 0, { 0, 0, 0}}, // (138, 60)
+ { 0, { 0, 0, 0}}, // (139, 60)
+ { 0, { 0, 0, 0}}, // (140, 60)
+ { 0, { 0, 0, 0}}, // (141, 60)
+ { 0, { 0, 0, 0}}, // (142, 60)
+ { 0, { 0, 0, 0}}, // (143, 60)
+ { 0, { 0, 0, 0}}, // (144, 60)
+ { 0, { 0, 0, 0}}, // (145, 60)
+ { 0, { 0, 0, 0}}, // (146, 60)
+ { 0, { 0, 0, 0}}, // (147, 60)
+ { 0, { 0, 0, 0}}, // (148, 60)
+ { 0, { 0, 0, 0}}, // (149, 60)
+ { 0, { 0, 0, 0}}, // (150, 60)
+ { 0, { 0, 0, 0}}, // (151, 60)
+ { 0, { 0, 0, 0}}, // (152, 60)
+ { 0, { 0, 0, 0}}, // (153, 60)
+ { 0, { 0, 0, 0}}, // (154, 60)
+ { 0, { 0, 0, 0}}, // (155, 60)
+ { 0, { 0, 0, 0}}, // (156, 60)
+ { 0, { 0, 0, 0}}, // (157, 60)
+ { 0, { 0, 0, 0}}, // (158, 60)
+ { 0, { 0, 0, 0}}, // (159, 60)
+ { 0, { 0, 0, 0}}, // (160, 60)
+ { 0, { 0, 0, 0}}, // (161, 60)
+ { 0, { 0, 0, 0}}, // (162, 60)
+ { 0, { 0, 0, 0}}, // (163, 60)
+ { 0, { 0, 0, 0}}, // (164, 60)
+ { 0, { 0, 0, 0}}, // (165, 60)
+ { 0, { 0, 0, 0}}, // (166, 60)
+ { 0, { 0, 0, 0}}, // (167, 60)
+ { 0, { 0, 0, 0}}, // (168, 60)
+ { 0, { 0, 0, 0}}, // (169, 60)
+ { 0, { 0, 0, 0}}, // (170, 60)
+ { 0, { 0, 0, 0}}, // (171, 60)
+ { 12, { 0, 0, 0}}, // (172, 60)
+ {126, { 0, 0, 0}}, // (173, 60)
+ {128, { 0, 0, 0}}, // (174, 60)
+ {128, { 0, 0, 0}}, // (175, 60)
+ {128, { 0, 0, 0}}, // (176, 60)
+ {128, { 0, 0, 0}}, // (177, 60)
+ {128, { 0, 0, 0}}, // (178, 60)
+ {128, { 0, 0, 0}}, // (179, 60)
+ {128, { 0, 0, 0}}, // ( 0, 61)
+ {128, { 0, 0, 0}}, // ( 1, 61)
+ {128, { 0, 0, 0}}, // ( 2, 61)
+ {128, { 0, 0, 0}}, // ( 3, 61)
+ {128, { 0, 0, 0}}, // ( 4, 61)
+ {128, { 0, 0, 0}}, // ( 5, 61)
+ { 95, { 0, 0, 0}}, // ( 6, 61)
+ { 0, { 0, 0, 0}}, // ( 7, 61)
+ { 0, { 0, 0, 0}}, // ( 8, 61)
+ { 0, { 0, 0, 0}}, // ( 9, 61)
+ { 0, { 0, 0, 0}}, // ( 10, 61)
+ { 0, { 0, 0, 0}}, // ( 11, 61)
+ { 0, { 0, 0, 0}}, // ( 12, 61)
+ { 0, { 0, 0, 0}}, // ( 13, 61)
+ { 0, { 0, 0, 0}}, // ( 14, 61)
+ { 0, { 0, 0, 0}}, // ( 15, 61)
+ { 0, { 0, 0, 0}}, // ( 16, 61)
+ { 0, { 0, 0, 0}}, // ( 17, 61)
+ { 0, { 0, 0, 0}}, // ( 18, 61)
+ { 0, { 0, 0, 0}}, // ( 19, 61)
+ { 0, { 0, 0, 0}}, // ( 20, 61)
+ { 0, { 0, 0, 0}}, // ( 21, 61)
+ { 0, { 0, 0, 0}}, // ( 22, 61)
+ { 0, { 0, 0, 0}}, // ( 23, 61)
+ { 0, { 0, 0, 0}}, // ( 24, 61)
+ { 0, { 0, 0, 0}}, // ( 25, 61)
+ { 0, { 0, 0, 0}}, // ( 26, 61)
+ { 0, { 0, 0, 0}}, // ( 27, 61)
+ { 0, { 0, 0, 0}}, // ( 28, 61)
+ { 0, { 0, 0, 0}}, // ( 29, 61)
+ { 0, { 0, 0, 0}}, // ( 30, 61)
+ { 0, { 0, 0, 0}}, // ( 31, 61)
+ { 0, { 0, 0, 0}}, // ( 32, 61)
+ { 0, { 0, 0, 0}}, // ( 33, 61)
+ { 0, { 0, 0, 0}}, // ( 34, 61)
+ { 0, { 0, 0, 0}}, // ( 35, 61)
+ { 0, { 0, 0, 0}}, // ( 36, 61)
+ { 0, { 0, 0, 0}}, // ( 37, 61)
+ { 0, { 0, 0, 0}}, // ( 38, 61)
+ { 0, { 0, 0, 0}}, // ( 39, 61)
+ { 0, { 0, 0, 0}}, // ( 40, 61)
+ { 0, { 0, 0, 0}}, // ( 41, 61)
+ { 0, { 0, 0, 0}}, // ( 42, 61)
+ { 0, { 0, 0, 0}}, // ( 43, 61)
+ { 0, { 0, 0, 0}}, // ( 44, 61)
+ { 0, { 0, 0, 0}}, // ( 45, 61)
+ { 0, { 0, 0, 0}}, // ( 46, 61)
+ { 0, { 0, 0, 0}}, // ( 47, 61)
+ { 0, { 0, 0, 0}}, // ( 48, 61)
+ { 0, { 0, 0, 0}}, // ( 49, 61)
+ { 0, { 0, 0, 0}}, // ( 50, 61)
+ { 0, { 0, 0, 0}}, // ( 51, 61)
+ { 0, { 0, 0, 0}}, // ( 52, 61)
+ { 0, { 0, 0, 0}}, // ( 53, 61)
+ { 0, { 0, 0, 0}}, // ( 54, 61)
+ { 0, { 0, 0, 0}}, // ( 55, 61)
+ { 0, { 0, 0, 0}}, // ( 56, 61)
+ { 0, { 0, 0, 0}}, // ( 57, 61)
+ { 0, { 0, 0, 0}}, // ( 58, 61)
+ { 0, { 0, 0, 0}}, // ( 59, 61)
+ { 0, { 0, 0, 0}}, // ( 60, 61)
+ { 0, { 0, 0, 0}}, // ( 61, 61)
+ { 0, { 0, 0, 0}}, // ( 62, 61)
+ { 0, { 0, 0, 0}}, // ( 63, 61)
+ { 0, { 0, 0, 0}}, // ( 64, 61)
+ { 0, { 0, 0, 0}}, // ( 65, 61)
+ { 0, { 0, 0, 0}}, // ( 66, 61)
+ { 0, { 0, 0, 0}}, // ( 67, 61)
+ { 0, { 0, 0, 0}}, // ( 68, 61)
+ { 0, { 0, 0, 0}}, // ( 69, 61)
+ { 0, { 0, 0, 0}}, // ( 70, 61)
+ { 0, { 0, 0, 0}}, // ( 71, 61)
+ { 0, { 0, 0, 0}}, // ( 72, 61)
+ { 0, { 0, 0, 0}}, // ( 73, 61)
+ { 0, { 0, 0, 0}}, // ( 74, 61)
+ { 0, { 0, 0, 0}}, // ( 75, 61)
+ { 0, { 0, 0, 0}}, // ( 76, 61)
+ { 0, { 0, 0, 0}}, // ( 77, 61)
+ { 0, { 0, 0, 0}}, // ( 78, 61)
+ { 0, { 0, 0, 0}}, // ( 79, 61)
+ { 0, { 0, 0, 0}}, // ( 80, 61)
+ { 0, { 0, 0, 0}}, // ( 81, 61)
+ { 0, { 0, 0, 0}}, // ( 82, 61)
+ { 0, { 0, 0, 0}}, // ( 83, 61)
+ { 0, { 0, 0, 0}}, // ( 84, 61)
+ { 0, { 0, 0, 0}}, // ( 85, 61)
+ { 0, { 0, 0, 0}}, // ( 86, 61)
+ { 0, { 0, 0, 0}}, // ( 87, 61)
+ { 0, { 0, 0, 0}}, // ( 88, 61)
+ { 0, { 0, 0, 0}}, // ( 89, 61)
+ { 0, { 0, 0, 0}}, // ( 90, 61)
+ { 0, { 0, 0, 0}}, // ( 91, 61)
+ { 0, { 0, 0, 0}}, // ( 92, 61)
+ { 0, { 0, 0, 0}}, // ( 93, 61)
+ { 0, { 0, 0, 0}}, // ( 94, 61)
+ { 0, { 0, 0, 0}}, // ( 95, 61)
+ { 0, { 0, 0, 0}}, // ( 96, 61)
+ { 0, { 0, 0, 0}}, // ( 97, 61)
+ { 0, { 0, 0, 0}}, // ( 98, 61)
+ { 0, { 0, 0, 0}}, // ( 99, 61)
+ { 0, { 0, 0, 0}}, // (100, 61)
+ { 0, { 0, 0, 0}}, // (101, 61)
+ { 0, { 0, 0, 0}}, // (102, 61)
+ { 0, { 0, 0, 0}}, // (103, 61)
+ { 0, { 0, 0, 0}}, // (104, 61)
+ { 0, { 0, 0, 0}}, // (105, 61)
+ { 0, { 0, 0, 0}}, // (106, 61)
+ { 0, { 0, 0, 0}}, // (107, 61)
+ { 0, { 0, 0, 0}}, // (108, 61)
+ { 0, { 0, 0, 0}}, // (109, 61)
+ { 0, { 0, 0, 0}}, // (110, 61)
+ { 0, { 0, 0, 0}}, // (111, 61)
+ { 0, { 0, 0, 0}}, // (112, 61)
+ { 0, { 0, 0, 0}}, // (113, 61)
+ { 0, { 0, 0, 0}}, // (114, 61)
+ { 0, { 0, 0, 0}}, // (115, 61)
+ { 0, { 0, 0, 0}}, // (116, 61)
+ { 0, { 0, 0, 0}}, // (117, 61)
+ { 0, { 0, 0, 0}}, // (118, 61)
+ { 0, { 0, 0, 0}}, // (119, 61)
+ { 0, { 0, 0, 0}}, // (120, 61)
+ { 0, { 0, 0, 0}}, // (121, 61)
+ { 0, { 0, 0, 0}}, // (122, 61)
+ { 0, { 0, 0, 0}}, // (123, 61)
+ { 0, { 0, 0, 0}}, // (124, 61)
+ { 0, { 0, 0, 0}}, // (125, 61)
+ { 0, { 0, 0, 0}}, // (126, 61)
+ { 0, { 0, 0, 0}}, // (127, 61)
+ { 0, { 0, 0, 0}}, // (128, 61)
+ { 0, { 0, 0, 0}}, // (129, 61)
+ { 0, { 0, 0, 0}}, // (130, 61)
+ { 0, { 0, 0, 0}}, // (131, 61)
+ { 0, { 0, 0, 0}}, // (132, 61)
+ { 0, { 0, 0, 0}}, // (133, 61)
+ { 0, { 0, 0, 0}}, // (134, 61)
+ { 0, { 0, 0, 0}}, // (135, 61)
+ { 0, { 0, 0, 0}}, // (136, 61)
+ { 0, { 0, 0, 0}}, // (137, 61)
+ { 0, { 0, 0, 0}}, // (138, 61)
+ { 0, { 0, 0, 0}}, // (139, 61)
+ { 0, { 0, 0, 0}}, // (140, 61)
+ { 0, { 0, 0, 0}}, // (141, 61)
+ { 0, { 0, 0, 0}}, // (142, 61)
+ { 0, { 0, 0, 0}}, // (143, 61)
+ { 0, { 0, 0, 0}}, // (144, 61)
+ { 0, { 0, 0, 0}}, // (145, 61)
+ { 0, { 0, 0, 0}}, // (146, 61)
+ { 0, { 0, 0, 0}}, // (147, 61)
+ { 0, { 0, 0, 0}}, // (148, 61)
+ { 0, { 0, 0, 0}}, // (149, 61)
+ { 0, { 0, 0, 0}}, // (150, 61)
+ { 0, { 0, 0, 0}}, // (151, 61)
+ { 0, { 0, 0, 0}}, // (152, 61)
+ { 0, { 0, 0, 0}}, // (153, 61)
+ { 0, { 0, 0, 0}}, // (154, 61)
+ { 0, { 0, 0, 0}}, // (155, 61)
+ { 0, { 0, 0, 0}}, // (156, 61)
+ { 0, { 0, 0, 0}}, // (157, 61)
+ { 0, { 0, 0, 0}}, // (158, 61)
+ { 0, { 0, 0, 0}}, // (159, 61)
+ { 0, { 0, 0, 0}}, // (160, 61)
+ { 0, { 0, 0, 0}}, // (161, 61)
+ { 0, { 0, 0, 0}}, // (162, 61)
+ { 0, { 0, 0, 0}}, // (163, 61)
+ { 0, { 0, 0, 0}}, // (164, 61)
+ { 0, { 0, 0, 0}}, // (165, 61)
+ { 0, { 0, 0, 0}}, // (166, 61)
+ { 0, { 0, 0, 0}}, // (167, 61)
+ { 0, { 0, 0, 0}}, // (168, 61)
+ { 0, { 0, 0, 0}}, // (169, 61)
+ { 0, { 0, 0, 0}}, // (170, 61)
+ { 0, { 0, 0, 0}}, // (171, 61)
+ { 0, { 0, 0, 0}}, // (172, 61)
+ { 95, { 0, 0, 0}}, // (173, 61)
+ {128, { 0, 0, 0}}, // (174, 61)
+ {128, { 0, 0, 0}}, // (175, 61)
+ {128, { 0, 0, 0}}, // (176, 61)
+ {128, { 0, 0, 0}}, // (177, 61)
+ {128, { 0, 0, 0}}, // (178, 61)
+ {128, { 0, 0, 0}}, // (179, 61)
+ {128, { 0, 0, 0}}, // ( 0, 62)
+ {128, { 0, 0, 0}}, // ( 1, 62)
+ {128, { 0, 0, 0}}, // ( 2, 62)
+ {128, { 0, 0, 0}}, // ( 3, 62)
+ {128, { 0, 0, 0}}, // ( 4, 62)
+ {128, { 0, 0, 0}}, // ( 5, 62)
+ { 52, { 0, 0, 0}}, // ( 6, 62)
+ { 0, { 0, 0, 0}}, // ( 7, 62)
+ { 0, { 0, 0, 0}}, // ( 8, 62)
+ { 0, { 0, 0, 0}}, // ( 9, 62)
+ { 0, { 0, 0, 0}}, // ( 10, 62)
+ { 0, { 0, 0, 0}}, // ( 11, 62)
+ { 0, { 0, 0, 0}}, // ( 12, 62)
+ { 0, { 0, 0, 0}}, // ( 13, 62)
+ { 0, { 0, 0, 0}}, // ( 14, 62)
+ { 0, { 0, 0, 0}}, // ( 15, 62)
+ { 0, { 0, 0, 0}}, // ( 16, 62)
+ { 0, { 0, 0, 0}}, // ( 17, 62)
+ { 0, { 0, 0, 0}}, // ( 18, 62)
+ { 0, { 0, 0, 0}}, // ( 19, 62)
+ { 0, { 0, 0, 0}}, // ( 20, 62)
+ { 0, { 0, 0, 0}}, // ( 21, 62)
+ { 0, { 0, 0, 0}}, // ( 22, 62)
+ { 0, { 0, 0, 0}}, // ( 23, 62)
+ { 0, { 0, 0, 0}}, // ( 24, 62)
+ { 0, { 0, 0, 0}}, // ( 25, 62)
+ { 0, { 0, 0, 0}}, // ( 26, 62)
+ { 0, { 0, 0, 0}}, // ( 27, 62)
+ { 0, { 0, 0, 0}}, // ( 28, 62)
+ { 0, { 0, 0, 0}}, // ( 29, 62)
+ { 0, { 0, 0, 0}}, // ( 30, 62)
+ { 0, { 0, 0, 0}}, // ( 31, 62)
+ { 0, { 0, 0, 0}}, // ( 32, 62)
+ { 0, { 0, 0, 0}}, // ( 33, 62)
+ { 0, { 0, 0, 0}}, // ( 34, 62)
+ { 0, { 0, 0, 0}}, // ( 35, 62)
+ { 0, { 0, 0, 0}}, // ( 36, 62)
+ { 0, { 0, 0, 0}}, // ( 37, 62)
+ { 0, { 0, 0, 0}}, // ( 38, 62)
+ { 0, { 0, 0, 0}}, // ( 39, 62)
+ { 0, { 0, 0, 0}}, // ( 40, 62)
+ { 0, { 0, 0, 0}}, // ( 41, 62)
+ { 0, { 0, 0, 0}}, // ( 42, 62)
+ { 0, { 0, 0, 0}}, // ( 43, 62)
+ { 0, { 0, 0, 0}}, // ( 44, 62)
+ { 0, { 0, 0, 0}}, // ( 45, 62)
+ { 0, { 0, 0, 0}}, // ( 46, 62)
+ { 0, { 0, 0, 0}}, // ( 47, 62)
+ { 0, { 0, 0, 0}}, // ( 48, 62)
+ { 0, { 0, 0, 0}}, // ( 49, 62)
+ { 0, { 0, 0, 0}}, // ( 50, 62)
+ { 0, { 0, 0, 0}}, // ( 51, 62)
+ { 0, { 0, 0, 0}}, // ( 52, 62)
+ { 0, { 0, 0, 0}}, // ( 53, 62)
+ { 0, { 0, 0, 0}}, // ( 54, 62)
+ { 0, { 0, 0, 0}}, // ( 55, 62)
+ { 0, { 0, 0, 0}}, // ( 56, 62)
+ { 0, { 0, 0, 0}}, // ( 57, 62)
+ { 0, { 0, 0, 0}}, // ( 58, 62)
+ { 0, { 0, 0, 0}}, // ( 59, 62)
+ { 0, { 0, 0, 0}}, // ( 60, 62)
+ { 0, { 0, 0, 0}}, // ( 61, 62)
+ { 0, { 0, 0, 0}}, // ( 62, 62)
+ { 0, { 0, 0, 0}}, // ( 63, 62)
+ { 0, { 0, 0, 0}}, // ( 64, 62)
+ { 0, { 0, 0, 0}}, // ( 65, 62)
+ { 0, { 0, 0, 0}}, // ( 66, 62)
+ { 0, { 0, 0, 0}}, // ( 67, 62)
+ { 0, { 0, 0, 0}}, // ( 68, 62)
+ { 0, { 0, 0, 0}}, // ( 69, 62)
+ { 0, { 0, 0, 0}}, // ( 70, 62)
+ { 0, { 0, 0, 0}}, // ( 71, 62)
+ { 0, { 0, 0, 0}}, // ( 72, 62)
+ { 0, { 0, 0, 0}}, // ( 73, 62)
+ { 0, { 0, 0, 0}}, // ( 74, 62)
+ { 0, { 0, 0, 0}}, // ( 75, 62)
+ { 0, { 0, 0, 0}}, // ( 76, 62)
+ { 0, { 0, 0, 0}}, // ( 77, 62)
+ { 0, { 0, 0, 0}}, // ( 78, 62)
+ { 0, { 0, 0, 0}}, // ( 79, 62)
+ { 0, { 0, 0, 0}}, // ( 80, 62)
+ { 0, { 0, 0, 0}}, // ( 81, 62)
+ { 0, { 0, 0, 0}}, // ( 82, 62)
+ { 0, { 0, 0, 0}}, // ( 83, 62)
+ { 0, { 0, 0, 0}}, // ( 84, 62)
+ { 0, { 0, 0, 0}}, // ( 85, 62)
+ { 0, { 0, 0, 0}}, // ( 86, 62)
+ { 0, { 0, 0, 0}}, // ( 87, 62)
+ { 0, { 0, 0, 0}}, // ( 88, 62)
+ { 0, { 0, 0, 0}}, // ( 89, 62)
+ { 0, { 0, 0, 0}}, // ( 90, 62)
+ { 0, { 0, 0, 0}}, // ( 91, 62)
+ { 0, { 0, 0, 0}}, // ( 92, 62)
+ { 0, { 0, 0, 0}}, // ( 93, 62)
+ { 0, { 0, 0, 0}}, // ( 94, 62)
+ { 0, { 0, 0, 0}}, // ( 95, 62)
+ { 0, { 0, 0, 0}}, // ( 96, 62)
+ { 0, { 0, 0, 0}}, // ( 97, 62)
+ { 0, { 0, 0, 0}}, // ( 98, 62)
+ { 0, { 0, 0, 0}}, // ( 99, 62)
+ { 0, { 0, 0, 0}}, // (100, 62)
+ { 0, { 0, 0, 0}}, // (101, 62)
+ { 0, { 0, 0, 0}}, // (102, 62)
+ { 0, { 0, 0, 0}}, // (103, 62)
+ { 0, { 0, 0, 0}}, // (104, 62)
+ { 0, { 0, 0, 0}}, // (105, 62)
+ { 0, { 0, 0, 0}}, // (106, 62)
+ { 0, { 0, 0, 0}}, // (107, 62)
+ { 0, { 0, 0, 0}}, // (108, 62)
+ { 0, { 0, 0, 0}}, // (109, 62)
+ { 0, { 0, 0, 0}}, // (110, 62)
+ { 0, { 0, 0, 0}}, // (111, 62)
+ { 0, { 0, 0, 0}}, // (112, 62)
+ { 0, { 0, 0, 0}}, // (113, 62)
+ { 0, { 0, 0, 0}}, // (114, 62)
+ { 0, { 0, 0, 0}}, // (115, 62)
+ { 0, { 0, 0, 0}}, // (116, 62)
+ { 0, { 0, 0, 0}}, // (117, 62)
+ { 0, { 0, 0, 0}}, // (118, 62)
+ { 0, { 0, 0, 0}}, // (119, 62)
+ { 0, { 0, 0, 0}}, // (120, 62)
+ { 0, { 0, 0, 0}}, // (121, 62)
+ { 0, { 0, 0, 0}}, // (122, 62)
+ { 0, { 0, 0, 0}}, // (123, 62)
+ { 0, { 0, 0, 0}}, // (124, 62)
+ { 0, { 0, 0, 0}}, // (125, 62)
+ { 0, { 0, 0, 0}}, // (126, 62)
+ { 0, { 0, 0, 0}}, // (127, 62)
+ { 0, { 0, 0, 0}}, // (128, 62)
+ { 0, { 0, 0, 0}}, // (129, 62)
+ { 0, { 0, 0, 0}}, // (130, 62)
+ { 0, { 0, 0, 0}}, // (131, 62)
+ { 0, { 0, 0, 0}}, // (132, 62)
+ { 0, { 0, 0, 0}}, // (133, 62)
+ { 0, { 0, 0, 0}}, // (134, 62)
+ { 0, { 0, 0, 0}}, // (135, 62)
+ { 0, { 0, 0, 0}}, // (136, 62)
+ { 0, { 0, 0, 0}}, // (137, 62)
+ { 0, { 0, 0, 0}}, // (138, 62)
+ { 0, { 0, 0, 0}}, // (139, 62)
+ { 0, { 0, 0, 0}}, // (140, 62)
+ { 0, { 0, 0, 0}}, // (141, 62)
+ { 0, { 0, 0, 0}}, // (142, 62)
+ { 0, { 0, 0, 0}}, // (143, 62)
+ { 0, { 0, 0, 0}}, // (144, 62)
+ { 0, { 0, 0, 0}}, // (145, 62)
+ { 0, { 0, 0, 0}}, // (146, 62)
+ { 0, { 0, 0, 0}}, // (147, 62)
+ { 0, { 0, 0, 0}}, // (148, 62)
+ { 0, { 0, 0, 0}}, // (149, 62)
+ { 0, { 0, 0, 0}}, // (150, 62)
+ { 0, { 0, 0, 0}}, // (151, 62)
+ { 0, { 0, 0, 0}}, // (152, 62)
+ { 0, { 0, 0, 0}}, // (153, 62)
+ { 0, { 0, 0, 0}}, // (154, 62)
+ { 0, { 0, 0, 0}}, // (155, 62)
+ { 0, { 0, 0, 0}}, // (156, 62)
+ { 0, { 0, 0, 0}}, // (157, 62)
+ { 0, { 0, 0, 0}}, // (158, 62)
+ { 0, { 0, 0, 0}}, // (159, 62)
+ { 0, { 0, 0, 0}}, // (160, 62)
+ { 0, { 0, 0, 0}}, // (161, 62)
+ { 0, { 0, 0, 0}}, // (162, 62)
+ { 0, { 0, 0, 0}}, // (163, 62)
+ { 0, { 0, 0, 0}}, // (164, 62)
+ { 0, { 0, 0, 0}}, // (165, 62)
+ { 0, { 0, 0, 0}}, // (166, 62)
+ { 0, { 0, 0, 0}}, // (167, 62)
+ { 0, { 0, 0, 0}}, // (168, 62)
+ { 0, { 0, 0, 0}}, // (169, 62)
+ { 0, { 0, 0, 0}}, // (170, 62)
+ { 0, { 0, 0, 0}}, // (171, 62)
+ { 0, { 0, 0, 0}}, // (172, 62)
+ { 52, { 0, 0, 0}}, // (173, 62)
+ {128, { 0, 0, 0}}, // (174, 62)
+ {128, { 0, 0, 0}}, // (175, 62)
+ {128, { 0, 0, 0}}, // (176, 62)
+ {128, { 0, 0, 0}}, // (177, 62)
+ {128, { 0, 0, 0}}, // (178, 62)
+ {128, { 0, 0, 0}}, // (179, 62)
+ {128, { 0, 0, 0}}, // ( 0, 63)
+ {128, { 0, 0, 0}}, // ( 1, 63)
+ {128, { 0, 0, 0}}, // ( 2, 63)
+ {128, { 0, 0, 0}}, // ( 3, 63)
+ {128, { 0, 0, 0}}, // ( 4, 63)
+ {126, { 0, 0, 0}}, // ( 5, 63)
+ { 11, { 0, 0, 0}}, // ( 6, 63)
+ { 0, { 0, 0, 0}}, // ( 7, 63)
+ { 0, { 0, 0, 0}}, // ( 8, 63)
+ { 0, { 0, 0, 0}}, // ( 9, 63)
+ { 0, { 0, 0, 0}}, // ( 10, 63)
+ { 0, { 0, 0, 0}}, // ( 11, 63)
+ { 0, { 0, 0, 0}}, // ( 12, 63)
+ { 0, { 0, 0, 0}}, // ( 13, 63)
+ { 0, { 0, 0, 0}}, // ( 14, 63)
+ { 0, { 0, 0, 0}}, // ( 15, 63)
+ { 0, { 0, 0, 0}}, // ( 16, 63)
+ { 0, { 0, 0, 0}}, // ( 17, 63)
+ { 0, { 0, 0, 0}}, // ( 18, 63)
+ { 0, { 0, 0, 0}}, // ( 19, 63)
+ { 0, { 0, 0, 0}}, // ( 20, 63)
+ { 0, { 0, 0, 0}}, // ( 21, 63)
+ { 0, { 0, 0, 0}}, // ( 22, 63)
+ { 0, { 0, 0, 0}}, // ( 23, 63)
+ { 0, { 0, 0, 0}}, // ( 24, 63)
+ { 0, { 0, 0, 0}}, // ( 25, 63)
+ { 0, { 0, 0, 0}}, // ( 26, 63)
+ { 0, { 0, 0, 0}}, // ( 27, 63)
+ { 0, { 0, 0, 0}}, // ( 28, 63)
+ { 0, { 0, 0, 0}}, // ( 29, 63)
+ { 0, { 0, 0, 0}}, // ( 30, 63)
+ { 0, { 0, 0, 0}}, // ( 31, 63)
+ { 0, { 0, 0, 0}}, // ( 32, 63)
+ { 0, { 0, 0, 0}}, // ( 33, 63)
+ { 0, { 0, 0, 0}}, // ( 34, 63)
+ { 0, { 0, 0, 0}}, // ( 35, 63)
+ { 0, { 0, 0, 0}}, // ( 36, 63)
+ { 0, { 0, 0, 0}}, // ( 37, 63)
+ { 0, { 0, 0, 0}}, // ( 38, 63)
+ { 0, { 0, 0, 0}}, // ( 39, 63)
+ { 0, { 0, 0, 0}}, // ( 40, 63)
+ { 0, { 0, 0, 0}}, // ( 41, 63)
+ { 0, { 0, 0, 0}}, // ( 42, 63)
+ { 0, { 0, 0, 0}}, // ( 43, 63)
+ { 0, { 0, 0, 0}}, // ( 44, 63)
+ { 0, { 0, 0, 0}}, // ( 45, 63)
+ { 0, { 0, 0, 0}}, // ( 46, 63)
+ { 0, { 0, 0, 0}}, // ( 47, 63)
+ { 0, { 0, 0, 0}}, // ( 48, 63)
+ { 0, { 0, 0, 0}}, // ( 49, 63)
+ { 0, { 0, 0, 0}}, // ( 50, 63)
+ { 0, { 0, 0, 0}}, // ( 51, 63)
+ { 0, { 0, 0, 0}}, // ( 52, 63)
+ { 0, { 0, 0, 0}}, // ( 53, 63)
+ { 0, { 0, 0, 0}}, // ( 54, 63)
+ { 0, { 0, 0, 0}}, // ( 55, 63)
+ { 0, { 0, 0, 0}}, // ( 56, 63)
+ { 0, { 0, 0, 0}}, // ( 57, 63)
+ { 0, { 0, 0, 0}}, // ( 58, 63)
+ { 0, { 0, 0, 0}}, // ( 59, 63)
+ { 0, { 0, 0, 0}}, // ( 60, 63)
+ { 0, { 0, 0, 0}}, // ( 61, 63)
+ { 0, { 0, 0, 0}}, // ( 62, 63)
+ { 0, { 0, 0, 0}}, // ( 63, 63)
+ { 0, { 0, 0, 0}}, // ( 64, 63)
+ { 0, { 0, 0, 0}}, // ( 65, 63)
+ { 0, { 0, 0, 0}}, // ( 66, 63)
+ { 0, { 0, 0, 0}}, // ( 67, 63)
+ { 0, { 0, 0, 0}}, // ( 68, 63)
+ { 0, { 0, 0, 0}}, // ( 69, 63)
+ { 0, { 0, 0, 0}}, // ( 70, 63)
+ { 0, { 0, 0, 0}}, // ( 71, 63)
+ { 0, { 0, 0, 0}}, // ( 72, 63)
+ { 0, { 0, 0, 0}}, // ( 73, 63)
+ { 0, { 0, 0, 0}}, // ( 74, 63)
+ { 0, { 0, 0, 0}}, // ( 75, 63)
+ { 0, { 0, 0, 0}}, // ( 76, 63)
+ { 0, { 0, 0, 0}}, // ( 77, 63)
+ { 0, { 0, 0, 0}}, // ( 78, 63)
+ { 0, { 0, 0, 0}}, // ( 79, 63)
+ { 0, { 0, 0, 0}}, // ( 80, 63)
+ { 0, { 0, 0, 0}}, // ( 81, 63)
+ { 0, { 0, 0, 0}}, // ( 82, 63)
+ { 0, { 0, 0, 0}}, // ( 83, 63)
+ { 0, { 0, 0, 0}}, // ( 84, 63)
+ { 0, { 0, 0, 0}}, // ( 85, 63)
+ { 0, { 0, 0, 0}}, // ( 86, 63)
+ { 0, { 0, 0, 0}}, // ( 87, 63)
+ { 0, { 0, 0, 0}}, // ( 88, 63)
+ { 0, { 0, 0, 0}}, // ( 89, 63)
+ { 0, { 0, 0, 0}}, // ( 90, 63)
+ { 0, { 0, 0, 0}}, // ( 91, 63)
+ { 0, { 0, 0, 0}}, // ( 92, 63)
+ { 0, { 0, 0, 0}}, // ( 93, 63)
+ { 0, { 0, 0, 0}}, // ( 94, 63)
+ { 0, { 0, 0, 0}}, // ( 95, 63)
+ { 0, { 0, 0, 0}}, // ( 96, 63)
+ { 0, { 0, 0, 0}}, // ( 97, 63)
+ { 0, { 0, 0, 0}}, // ( 98, 63)
+ { 0, { 0, 0, 0}}, // ( 99, 63)
+ { 0, { 0, 0, 0}}, // (100, 63)
+ { 0, { 0, 0, 0}}, // (101, 63)
+ { 0, { 0, 0, 0}}, // (102, 63)
+ { 0, { 0, 0, 0}}, // (103, 63)
+ { 0, { 0, 0, 0}}, // (104, 63)
+ { 0, { 0, 0, 0}}, // (105, 63)
+ { 0, { 0, 0, 0}}, // (106, 63)
+ { 0, { 0, 0, 0}}, // (107, 63)
+ { 0, { 0, 0, 0}}, // (108, 63)
+ { 0, { 0, 0, 0}}, // (109, 63)
+ { 0, { 0, 0, 0}}, // (110, 63)
+ { 0, { 0, 0, 0}}, // (111, 63)
+ { 0, { 0, 0, 0}}, // (112, 63)
+ { 0, { 0, 0, 0}}, // (113, 63)
+ { 0, { 0, 0, 0}}, // (114, 63)
+ { 0, { 0, 0, 0}}, // (115, 63)
+ { 0, { 0, 0, 0}}, // (116, 63)
+ { 0, { 0, 0, 0}}, // (117, 63)
+ { 0, { 0, 0, 0}}, // (118, 63)
+ { 0, { 0, 0, 0}}, // (119, 63)
+ { 0, { 0, 0, 0}}, // (120, 63)
+ { 0, { 0, 0, 0}}, // (121, 63)
+ { 0, { 0, 0, 0}}, // (122, 63)
+ { 0, { 0, 0, 0}}, // (123, 63)
+ { 0, { 0, 0, 0}}, // (124, 63)
+ { 0, { 0, 0, 0}}, // (125, 63)
+ { 0, { 0, 0, 0}}, // (126, 63)
+ { 0, { 0, 0, 0}}, // (127, 63)
+ { 0, { 0, 0, 0}}, // (128, 63)
+ { 0, { 0, 0, 0}}, // (129, 63)
+ { 0, { 0, 0, 0}}, // (130, 63)
+ { 0, { 0, 0, 0}}, // (131, 63)
+ { 0, { 0, 0, 0}}, // (132, 63)
+ { 0, { 0, 0, 0}}, // (133, 63)
+ { 0, { 0, 0, 0}}, // (134, 63)
+ { 0, { 0, 0, 0}}, // (135, 63)
+ { 0, { 0, 0, 0}}, // (136, 63)
+ { 0, { 0, 0, 0}}, // (137, 63)
+ { 0, { 0, 0, 0}}, // (138, 63)
+ { 0, { 0, 0, 0}}, // (139, 63)
+ { 0, { 0, 0, 0}}, // (140, 63)
+ { 0, { 0, 0, 0}}, // (141, 63)
+ { 0, { 0, 0, 0}}, // (142, 63)
+ { 0, { 0, 0, 0}}, // (143, 63)
+ { 0, { 0, 0, 0}}, // (144, 63)
+ { 0, { 0, 0, 0}}, // (145, 63)
+ { 0, { 0, 0, 0}}, // (146, 63)
+ { 0, { 0, 0, 0}}, // (147, 63)
+ { 0, { 0, 0, 0}}, // (148, 63)
+ { 0, { 0, 0, 0}}, // (149, 63)
+ { 0, { 0, 0, 0}}, // (150, 63)
+ { 0, { 0, 0, 0}}, // (151, 63)
+ { 0, { 0, 0, 0}}, // (152, 63)
+ { 0, { 0, 0, 0}}, // (153, 63)
+ { 0, { 0, 0, 0}}, // (154, 63)
+ { 0, { 0, 0, 0}}, // (155, 63)
+ { 0, { 0, 0, 0}}, // (156, 63)
+ { 0, { 0, 0, 0}}, // (157, 63)
+ { 0, { 0, 0, 0}}, // (158, 63)
+ { 0, { 0, 0, 0}}, // (159, 63)
+ { 0, { 0, 0, 0}}, // (160, 63)
+ { 0, { 0, 0, 0}}, // (161, 63)
+ { 0, { 0, 0, 0}}, // (162, 63)
+ { 0, { 0, 0, 0}}, // (163, 63)
+ { 0, { 0, 0, 0}}, // (164, 63)
+ { 0, { 0, 0, 0}}, // (165, 63)
+ { 0, { 0, 0, 0}}, // (166, 63)
+ { 0, { 0, 0, 0}}, // (167, 63)
+ { 0, { 0, 0, 0}}, // (168, 63)
+ { 0, { 0, 0, 0}}, // (169, 63)
+ { 0, { 0, 0, 0}}, // (170, 63)
+ { 0, { 0, 0, 0}}, // (171, 63)
+ { 0, { 0, 0, 0}}, // (172, 63)
+ { 11, { 0, 0, 0}}, // (173, 63)
+ {126, { 0, 0, 0}}, // (174, 63)
+ {128, { 0, 0, 0}}, // (175, 63)
+ {128, { 0, 0, 0}}, // (176, 63)
+ {128, { 0, 0, 0}}, // (177, 63)
+ {128, { 0, 0, 0}}, // (178, 63)
+ {128, { 0, 0, 0}}, // (179, 63)
+ {128, { 0, 0, 0}}, // ( 0, 64)
+ {128, { 0, 0, 0}}, // ( 1, 64)
+ {128, { 0, 0, 0}}, // ( 2, 64)
+ {128, { 0, 0, 0}}, // ( 3, 64)
+ {128, { 0, 0, 0}}, // ( 4, 64)
+ { 98, { 0, 0, 0}}, // ( 5, 64)
+ { 0, { 0, 0, 0}}, // ( 6, 64)
+ { 0, { 0, 0, 0}}, // ( 7, 64)
+ { 0, { 0, 0, 0}}, // ( 8, 64)
+ { 0, { 0, 0, 0}}, // ( 9, 64)
+ { 0, { 0, 0, 0}}, // ( 10, 64)
+ { 0, { 0, 0, 0}}, // ( 11, 64)
+ { 0, { 0, 0, 0}}, // ( 12, 64)
+ { 0, { 0, 0, 0}}, // ( 13, 64)
+ { 0, { 0, 0, 0}}, // ( 14, 64)
+ { 0, { 0, 0, 0}}, // ( 15, 64)
+ { 0, { 0, 0, 0}}, // ( 16, 64)
+ { 0, { 0, 0, 0}}, // ( 17, 64)
+ { 0, { 0, 0, 0}}, // ( 18, 64)
+ { 0, { 0, 0, 0}}, // ( 19, 64)
+ { 0, { 0, 0, 0}}, // ( 20, 64)
+ { 0, { 0, 0, 0}}, // ( 21, 64)
+ { 0, { 0, 0, 0}}, // ( 22, 64)
+ { 0, { 0, 0, 0}}, // ( 23, 64)
+ { 0, { 0, 0, 0}}, // ( 24, 64)
+ { 0, { 0, 0, 0}}, // ( 25, 64)
+ { 0, { 0, 0, 0}}, // ( 26, 64)
+ { 0, { 0, 0, 0}}, // ( 27, 64)
+ { 0, { 0, 0, 0}}, // ( 28, 64)
+ { 0, { 0, 0, 0}}, // ( 29, 64)
+ { 0, { 0, 0, 0}}, // ( 30, 64)
+ { 0, { 0, 0, 0}}, // ( 31, 64)
+ { 0, { 0, 0, 0}}, // ( 32, 64)
+ { 0, { 0, 0, 0}}, // ( 33, 64)
+ { 0, { 0, 0, 0}}, // ( 34, 64)
+ { 0, { 0, 0, 0}}, // ( 35, 64)
+ { 0, { 0, 0, 0}}, // ( 36, 64)
+ { 0, { 0, 0, 0}}, // ( 37, 64)
+ { 0, { 0, 0, 0}}, // ( 38, 64)
+ { 0, { 0, 0, 0}}, // ( 39, 64)
+ { 0, { 0, 0, 0}}, // ( 40, 64)
+ { 0, { 0, 0, 0}}, // ( 41, 64)
+ { 0, { 0, 0, 0}}, // ( 42, 64)
+ { 0, { 0, 0, 0}}, // ( 43, 64)
+ { 0, { 0, 0, 0}}, // ( 44, 64)
+ { 0, { 0, 0, 0}}, // ( 45, 64)
+ { 0, { 0, 0, 0}}, // ( 46, 64)
+ { 0, { 0, 0, 0}}, // ( 47, 64)
+ { 0, { 0, 0, 0}}, // ( 48, 64)
+ { 0, { 0, 0, 0}}, // ( 49, 64)
+ { 0, { 0, 0, 0}}, // ( 50, 64)
+ { 0, { 0, 0, 0}}, // ( 51, 64)
+ { 0, { 0, 0, 0}}, // ( 52, 64)
+ { 0, { 0, 0, 0}}, // ( 53, 64)
+ { 0, { 0, 0, 0}}, // ( 54, 64)
+ { 0, { 0, 0, 0}}, // ( 55, 64)
+ { 0, { 0, 0, 0}}, // ( 56, 64)
+ { 0, { 0, 0, 0}}, // ( 57, 64)
+ { 0, { 0, 0, 0}}, // ( 58, 64)
+ { 0, { 0, 0, 0}}, // ( 59, 64)
+ { 0, { 0, 0, 0}}, // ( 60, 64)
+ { 0, { 0, 0, 0}}, // ( 61, 64)
+ { 0, { 0, 0, 0}}, // ( 62, 64)
+ { 0, { 0, 0, 0}}, // ( 63, 64)
+ { 0, { 0, 0, 0}}, // ( 64, 64)
+ { 0, { 0, 0, 0}}, // ( 65, 64)
+ { 0, { 0, 0, 0}}, // ( 66, 64)
+ { 0, { 0, 0, 0}}, // ( 67, 64)
+ { 0, { 0, 0, 0}}, // ( 68, 64)
+ { 0, { 0, 0, 0}}, // ( 69, 64)
+ { 0, { 0, 0, 0}}, // ( 70, 64)
+ { 0, { 0, 0, 0}}, // ( 71, 64)
+ { 0, { 0, 0, 0}}, // ( 72, 64)
+ { 0, { 0, 0, 0}}, // ( 73, 64)
+ { 0, { 0, 0, 0}}, // ( 74, 64)
+ { 0, { 0, 0, 0}}, // ( 75, 64)
+ { 0, { 0, 0, 0}}, // ( 76, 64)
+ { 0, { 0, 0, 0}}, // ( 77, 64)
+ { 0, { 0, 0, 0}}, // ( 78, 64)
+ { 0, { 0, 0, 0}}, // ( 79, 64)
+ { 0, { 0, 0, 0}}, // ( 80, 64)
+ { 0, { 0, 0, 0}}, // ( 81, 64)
+ { 0, { 0, 0, 0}}, // ( 82, 64)
+ { 0, { 0, 0, 0}}, // ( 83, 64)
+ { 0, { 0, 0, 0}}, // ( 84, 64)
+ { 0, { 0, 0, 0}}, // ( 85, 64)
+ { 0, { 0, 0, 0}}, // ( 86, 64)
+ { 0, { 0, 0, 0}}, // ( 87, 64)
+ { 0, { 0, 0, 0}}, // ( 88, 64)
+ { 0, { 0, 0, 0}}, // ( 89, 64)
+ { 0, { 0, 0, 0}}, // ( 90, 64)
+ { 0, { 0, 0, 0}}, // ( 91, 64)
+ { 0, { 0, 0, 0}}, // ( 92, 64)
+ { 0, { 0, 0, 0}}, // ( 93, 64)
+ { 0, { 0, 0, 0}}, // ( 94, 64)
+ { 0, { 0, 0, 0}}, // ( 95, 64)
+ { 0, { 0, 0, 0}}, // ( 96, 64)
+ { 0, { 0, 0, 0}}, // ( 97, 64)
+ { 0, { 0, 0, 0}}, // ( 98, 64)
+ { 0, { 0, 0, 0}}, // ( 99, 64)
+ { 0, { 0, 0, 0}}, // (100, 64)
+ { 0, { 0, 0, 0}}, // (101, 64)
+ { 0, { 0, 0, 0}}, // (102, 64)
+ { 0, { 0, 0, 0}}, // (103, 64)
+ { 0, { 0, 0, 0}}, // (104, 64)
+ { 0, { 0, 0, 0}}, // (105, 64)
+ { 0, { 0, 0, 0}}, // (106, 64)
+ { 0, { 0, 0, 0}}, // (107, 64)
+ { 0, { 0, 0, 0}}, // (108, 64)
+ { 0, { 0, 0, 0}}, // (109, 64)
+ { 0, { 0, 0, 0}}, // (110, 64)
+ { 0, { 0, 0, 0}}, // (111, 64)
+ { 0, { 0, 0, 0}}, // (112, 64)
+ { 0, { 0, 0, 0}}, // (113, 64)
+ { 0, { 0, 0, 0}}, // (114, 64)
+ { 0, { 0, 0, 0}}, // (115, 64)
+ { 0, { 0, 0, 0}}, // (116, 64)
+ { 0, { 0, 0, 0}}, // (117, 64)
+ { 0, { 0, 0, 0}}, // (118, 64)
+ { 0, { 0, 0, 0}}, // (119, 64)
+ { 0, { 0, 0, 0}}, // (120, 64)
+ { 0, { 0, 0, 0}}, // (121, 64)
+ { 0, { 0, 0, 0}}, // (122, 64)
+ { 0, { 0, 0, 0}}, // (123, 64)
+ { 0, { 0, 0, 0}}, // (124, 64)
+ { 0, { 0, 0, 0}}, // (125, 64)
+ { 0, { 0, 0, 0}}, // (126, 64)
+ { 0, { 0, 0, 0}}, // (127, 64)
+ { 0, { 0, 0, 0}}, // (128, 64)
+ { 0, { 0, 0, 0}}, // (129, 64)
+ { 0, { 0, 0, 0}}, // (130, 64)
+ { 0, { 0, 0, 0}}, // (131, 64)
+ { 0, { 0, 0, 0}}, // (132, 64)
+ { 0, { 0, 0, 0}}, // (133, 64)
+ { 0, { 0, 0, 0}}, // (134, 64)
+ { 0, { 0, 0, 0}}, // (135, 64)
+ { 0, { 0, 0, 0}}, // (136, 64)
+ { 0, { 0, 0, 0}}, // (137, 64)
+ { 0, { 0, 0, 0}}, // (138, 64)
+ { 0, { 0, 0, 0}}, // (139, 64)
+ { 0, { 0, 0, 0}}, // (140, 64)
+ { 0, { 0, 0, 0}}, // (141, 64)
+ { 0, { 0, 0, 0}}, // (142, 64)
+ { 0, { 0, 0, 0}}, // (143, 64)
+ { 0, { 0, 0, 0}}, // (144, 64)
+ { 0, { 0, 0, 0}}, // (145, 64)
+ { 0, { 0, 0, 0}}, // (146, 64)
+ { 0, { 0, 0, 0}}, // (147, 64)
+ { 0, { 0, 0, 0}}, // (148, 64)
+ { 0, { 0, 0, 0}}, // (149, 64)
+ { 0, { 0, 0, 0}}, // (150, 64)
+ { 0, { 0, 0, 0}}, // (151, 64)
+ { 0, { 0, 0, 0}}, // (152, 64)
+ { 0, { 0, 0, 0}}, // (153, 64)
+ { 0, { 0, 0, 0}}, // (154, 64)
+ { 0, { 0, 0, 0}}, // (155, 64)
+ { 0, { 0, 0, 0}}, // (156, 64)
+ { 0, { 0, 0, 0}}, // (157, 64)
+ { 0, { 0, 0, 0}}, // (158, 64)
+ { 0, { 0, 0, 0}}, // (159, 64)
+ { 0, { 0, 0, 0}}, // (160, 64)
+ { 0, { 0, 0, 0}}, // (161, 64)
+ { 0, { 0, 0, 0}}, // (162, 64)
+ { 0, { 0, 0, 0}}, // (163, 64)
+ { 0, { 0, 0, 0}}, // (164, 64)
+ { 0, { 0, 0, 0}}, // (165, 64)
+ { 0, { 0, 0, 0}}, // (166, 64)
+ { 0, { 0, 0, 0}}, // (167, 64)
+ { 0, { 0, 0, 0}}, // (168, 64)
+ { 0, { 0, 0, 0}}, // (169, 64)
+ { 0, { 0, 0, 0}}, // (170, 64)
+ { 0, { 0, 0, 0}}, // (171, 64)
+ { 0, { 0, 0, 0}}, // (172, 64)
+ { 0, { 0, 0, 0}}, // (173, 64)
+ { 98, { 0, 0, 0}}, // (174, 64)
+ {128, { 0, 0, 0}}, // (175, 64)
+ {128, { 0, 0, 0}}, // (176, 64)
+ {128, { 0, 0, 0}}, // (177, 64)
+ {128, { 0, 0, 0}}, // (178, 64)
+ {128, { 0, 0, 0}}, // (179, 64)
+ {128, { 0, 0, 0}}, // ( 0, 65)
+ {128, { 0, 0, 0}}, // ( 1, 65)
+ {128, { 0, 0, 0}}, // ( 2, 65)
+ {128, { 0, 0, 0}}, // ( 3, 65)
+ {128, { 0, 0, 0}}, // ( 4, 65)
+ { 62, { 0, 0, 0}}, // ( 5, 65)
+ { 0, { 0, 0, 0}}, // ( 6, 65)
+ { 0, { 0, 0, 0}}, // ( 7, 65)
+ { 0, { 0, 0, 0}}, // ( 8, 65)
+ { 0, { 0, 0, 0}}, // ( 9, 65)
+ { 0, { 0, 0, 0}}, // ( 10, 65)
+ { 0, { 0, 0, 0}}, // ( 11, 65)
+ { 0, { 0, 0, 0}}, // ( 12, 65)
+ { 0, { 0, 0, 0}}, // ( 13, 65)
+ { 0, { 0, 0, 0}}, // ( 14, 65)
+ { 0, { 0, 0, 0}}, // ( 15, 65)
+ { 0, { 0, 0, 0}}, // ( 16, 65)
+ { 0, { 0, 0, 0}}, // ( 17, 65)
+ { 0, { 0, 0, 0}}, // ( 18, 65)
+ { 0, { 0, 0, 0}}, // ( 19, 65)
+ { 0, { 0, 0, 0}}, // ( 20, 65)
+ { 0, { 0, 0, 0}}, // ( 21, 65)
+ { 0, { 0, 0, 0}}, // ( 22, 65)
+ { 0, { 0, 0, 0}}, // ( 23, 65)
+ { 0, { 0, 0, 0}}, // ( 24, 65)
+ { 0, { 0, 0, 0}}, // ( 25, 65)
+ { 0, { 0, 0, 0}}, // ( 26, 65)
+ { 0, { 0, 0, 0}}, // ( 27, 65)
+ { 0, { 0, 0, 0}}, // ( 28, 65)
+ { 0, { 0, 0, 0}}, // ( 29, 65)
+ { 0, { 0, 0, 0}}, // ( 30, 65)
+ { 0, { 0, 0, 0}}, // ( 31, 65)
+ { 0, { 0, 0, 0}}, // ( 32, 65)
+ { 0, { 0, 0, 0}}, // ( 33, 65)
+ { 0, { 0, 0, 0}}, // ( 34, 65)
+ { 0, { 0, 0, 0}}, // ( 35, 65)
+ { 0, { 0, 0, 0}}, // ( 36, 65)
+ { 0, { 0, 0, 0}}, // ( 37, 65)
+ { 0, { 0, 0, 0}}, // ( 38, 65)
+ { 0, { 0, 0, 0}}, // ( 39, 65)
+ { 0, { 0, 0, 0}}, // ( 40, 65)
+ { 0, { 0, 0, 0}}, // ( 41, 65)
+ { 0, { 0, 0, 0}}, // ( 42, 65)
+ { 0, { 0, 0, 0}}, // ( 43, 65)
+ { 0, { 0, 0, 0}}, // ( 44, 65)
+ { 0, { 0, 0, 0}}, // ( 45, 65)
+ { 0, { 0, 0, 0}}, // ( 46, 65)
+ { 0, { 0, 0, 0}}, // ( 47, 65)
+ { 0, { 0, 0, 0}}, // ( 48, 65)
+ { 0, { 0, 0, 0}}, // ( 49, 65)
+ { 0, { 0, 0, 0}}, // ( 50, 65)
+ { 0, { 0, 0, 0}}, // ( 51, 65)
+ { 0, { 0, 0, 0}}, // ( 52, 65)
+ { 0, { 0, 0, 0}}, // ( 53, 65)
+ { 0, { 0, 0, 0}}, // ( 54, 65)
+ { 0, { 0, 0, 0}}, // ( 55, 65)
+ { 0, { 0, 0, 0}}, // ( 56, 65)
+ { 0, { 0, 0, 0}}, // ( 57, 65)
+ { 0, { 0, 0, 0}}, // ( 58, 65)
+ { 0, { 0, 0, 0}}, // ( 59, 65)
+ { 0, { 0, 0, 0}}, // ( 60, 65)
+ { 0, { 0, 0, 0}}, // ( 61, 65)
+ { 0, { 0, 0, 0}}, // ( 62, 65)
+ { 0, { 0, 0, 0}}, // ( 63, 65)
+ { 0, { 0, 0, 0}}, // ( 64, 65)
+ { 0, { 0, 0, 0}}, // ( 65, 65)
+ { 0, { 0, 0, 0}}, // ( 66, 65)
+ { 0, { 0, 0, 0}}, // ( 67, 65)
+ { 0, { 0, 0, 0}}, // ( 68, 65)
+ { 0, { 0, 0, 0}}, // ( 69, 65)
+ { 0, { 0, 0, 0}}, // ( 70, 65)
+ { 0, { 0, 0, 0}}, // ( 71, 65)
+ { 0, { 0, 0, 0}}, // ( 72, 65)
+ { 0, { 0, 0, 0}}, // ( 73, 65)
+ { 0, { 0, 0, 0}}, // ( 74, 65)
+ { 0, { 0, 0, 0}}, // ( 75, 65)
+ { 0, { 0, 0, 0}}, // ( 76, 65)
+ { 0, { 0, 0, 0}}, // ( 77, 65)
+ { 0, { 0, 0, 0}}, // ( 78, 65)
+ { 0, { 0, 0, 0}}, // ( 79, 65)
+ { 0, { 0, 0, 0}}, // ( 80, 65)
+ { 0, { 0, 0, 0}}, // ( 81, 65)
+ { 0, { 0, 0, 0}}, // ( 82, 65)
+ { 0, { 0, 0, 0}}, // ( 83, 65)
+ { 0, { 0, 0, 0}}, // ( 84, 65)
+ { 0, { 0, 0, 0}}, // ( 85, 65)
+ { 0, { 0, 0, 0}}, // ( 86, 65)
+ { 0, { 0, 0, 0}}, // ( 87, 65)
+ { 0, { 0, 0, 0}}, // ( 88, 65)
+ { 0, { 0, 0, 0}}, // ( 89, 65)
+ { 0, { 0, 0, 0}}, // ( 90, 65)
+ { 0, { 0, 0, 0}}, // ( 91, 65)
+ { 0, { 0, 0, 0}}, // ( 92, 65)
+ { 0, { 0, 0, 0}}, // ( 93, 65)
+ { 0, { 0, 0, 0}}, // ( 94, 65)
+ { 0, { 0, 0, 0}}, // ( 95, 65)
+ { 0, { 0, 0, 0}}, // ( 96, 65)
+ { 0, { 0, 0, 0}}, // ( 97, 65)
+ { 0, { 0, 0, 0}}, // ( 98, 65)
+ { 0, { 0, 0, 0}}, // ( 99, 65)
+ { 0, { 0, 0, 0}}, // (100, 65)
+ { 0, { 0, 0, 0}}, // (101, 65)
+ { 0, { 0, 0, 0}}, // (102, 65)
+ { 0, { 0, 0, 0}}, // (103, 65)
+ { 0, { 0, 0, 0}}, // (104, 65)
+ { 0, { 0, 0, 0}}, // (105, 65)
+ { 0, { 0, 0, 0}}, // (106, 65)
+ { 0, { 0, 0, 0}}, // (107, 65)
+ { 0, { 0, 0, 0}}, // (108, 65)
+ { 0, { 0, 0, 0}}, // (109, 65)
+ { 0, { 0, 0, 0}}, // (110, 65)
+ { 0, { 0, 0, 0}}, // (111, 65)
+ { 0, { 0, 0, 0}}, // (112, 65)
+ { 0, { 0, 0, 0}}, // (113, 65)
+ { 0, { 0, 0, 0}}, // (114, 65)
+ { 0, { 0, 0, 0}}, // (115, 65)
+ { 0, { 0, 0, 0}}, // (116, 65)
+ { 0, { 0, 0, 0}}, // (117, 65)
+ { 0, { 0, 0, 0}}, // (118, 65)
+ { 0, { 0, 0, 0}}, // (119, 65)
+ { 0, { 0, 0, 0}}, // (120, 65)
+ { 0, { 0, 0, 0}}, // (121, 65)
+ { 0, { 0, 0, 0}}, // (122, 65)
+ { 0, { 0, 0, 0}}, // (123, 65)
+ { 0, { 0, 0, 0}}, // (124, 65)
+ { 0, { 0, 0, 0}}, // (125, 65)
+ { 0, { 0, 0, 0}}, // (126, 65)
+ { 0, { 0, 0, 0}}, // (127, 65)
+ { 0, { 0, 0, 0}}, // (128, 65)
+ { 0, { 0, 0, 0}}, // (129, 65)
+ { 0, { 0, 0, 0}}, // (130, 65)
+ { 0, { 0, 0, 0}}, // (131, 65)
+ { 0, { 0, 0, 0}}, // (132, 65)
+ { 0, { 0, 0, 0}}, // (133, 65)
+ { 0, { 0, 0, 0}}, // (134, 65)
+ { 0, { 0, 0, 0}}, // (135, 65)
+ { 0, { 0, 0, 0}}, // (136, 65)
+ { 0, { 0, 0, 0}}, // (137, 65)
+ { 0, { 0, 0, 0}}, // (138, 65)
+ { 0, { 0, 0, 0}}, // (139, 65)
+ { 0, { 0, 0, 0}}, // (140, 65)
+ { 0, { 0, 0, 0}}, // (141, 65)
+ { 0, { 0, 0, 0}}, // (142, 65)
+ { 0, { 0, 0, 0}}, // (143, 65)
+ { 0, { 0, 0, 0}}, // (144, 65)
+ { 0, { 0, 0, 0}}, // (145, 65)
+ { 0, { 0, 0, 0}}, // (146, 65)
+ { 0, { 0, 0, 0}}, // (147, 65)
+ { 0, { 0, 0, 0}}, // (148, 65)
+ { 0, { 0, 0, 0}}, // (149, 65)
+ { 0, { 0, 0, 0}}, // (150, 65)
+ { 0, { 0, 0, 0}}, // (151, 65)
+ { 0, { 0, 0, 0}}, // (152, 65)
+ { 0, { 0, 0, 0}}, // (153, 65)
+ { 0, { 0, 0, 0}}, // (154, 65)
+ { 0, { 0, 0, 0}}, // (155, 65)
+ { 0, { 0, 0, 0}}, // (156, 65)
+ { 0, { 0, 0, 0}}, // (157, 65)
+ { 0, { 0, 0, 0}}, // (158, 65)
+ { 0, { 0, 0, 0}}, // (159, 65)
+ { 0, { 0, 0, 0}}, // (160, 65)
+ { 0, { 0, 0, 0}}, // (161, 65)
+ { 0, { 0, 0, 0}}, // (162, 65)
+ { 0, { 0, 0, 0}}, // (163, 65)
+ { 0, { 0, 0, 0}}, // (164, 65)
+ { 0, { 0, 0, 0}}, // (165, 65)
+ { 0, { 0, 0, 0}}, // (166, 65)
+ { 0, { 0, 0, 0}}, // (167, 65)
+ { 0, { 0, 0, 0}}, // (168, 65)
+ { 0, { 0, 0, 0}}, // (169, 65)
+ { 0, { 0, 0, 0}}, // (170, 65)
+ { 0, { 0, 0, 0}}, // (171, 65)
+ { 0, { 0, 0, 0}}, // (172, 65)
+ { 0, { 0, 0, 0}}, // (173, 65)
+ { 58, { 0, 0, 0}}, // (174, 65)
+ {128, { 0, 0, 0}}, // (175, 65)
+ {128, { 0, 0, 0}}, // (176, 65)
+ {128, { 0, 0, 0}}, // (177, 65)
+ {128, { 0, 0, 0}}, // (178, 65)
+ {128, { 0, 0, 0}}, // (179, 65)
+ {128, { 0, 0, 0}}, // ( 0, 66)
+ {128, { 0, 0, 0}}, // ( 1, 66)
+ {128, { 0, 0, 0}}, // ( 2, 66)
+ {128, { 0, 0, 0}}, // ( 3, 66)
+ {128, { 0, 0, 0}}, // ( 4, 66)
+ { 25, { 0, 0, 0}}, // ( 5, 66)
+ { 0, { 0, 0, 0}}, // ( 6, 66)
+ { 0, { 0, 0, 0}}, // ( 7, 66)
+ { 0, { 0, 0, 0}}, // ( 8, 66)
+ { 0, { 0, 0, 0}}, // ( 9, 66)
+ { 0, { 0, 0, 0}}, // ( 10, 66)
+ { 0, { 0, 0, 0}}, // ( 11, 66)
+ { 0, { 0, 0, 0}}, // ( 12, 66)
+ { 0, { 0, 0, 0}}, // ( 13, 66)
+ { 0, { 0, 0, 0}}, // ( 14, 66)
+ { 0, { 0, 0, 0}}, // ( 15, 66)
+ { 0, { 0, 0, 0}}, // ( 16, 66)
+ { 0, { 0, 0, 0}}, // ( 17, 66)
+ { 0, { 0, 0, 0}}, // ( 18, 66)
+ { 0, { 0, 0, 0}}, // ( 19, 66)
+ { 0, { 0, 0, 0}}, // ( 20, 66)
+ { 0, { 0, 0, 0}}, // ( 21, 66)
+ { 0, { 0, 0, 0}}, // ( 22, 66)
+ { 0, { 0, 0, 0}}, // ( 23, 66)
+ { 0, { 0, 0, 0}}, // ( 24, 66)
+ { 0, { 0, 0, 0}}, // ( 25, 66)
+ { 0, { 0, 0, 0}}, // ( 26, 66)
+ { 0, { 0, 0, 0}}, // ( 27, 66)
+ { 0, { 0, 0, 0}}, // ( 28, 66)
+ { 0, { 0, 0, 0}}, // ( 29, 66)
+ { 0, { 0, 0, 0}}, // ( 30, 66)
+ { 0, { 0, 0, 0}}, // ( 31, 66)
+ { 0, { 0, 0, 0}}, // ( 32, 66)
+ { 0, { 0, 0, 0}}, // ( 33, 66)
+ { 0, { 0, 0, 0}}, // ( 34, 66)
+ { 0, { 0, 0, 0}}, // ( 35, 66)
+ { 0, { 0, 0, 0}}, // ( 36, 66)
+ { 0, { 0, 0, 0}}, // ( 37, 66)
+ { 0, { 0, 0, 0}}, // ( 38, 66)
+ { 0, { 0, 0, 0}}, // ( 39, 66)
+ { 0, { 0, 0, 0}}, // ( 40, 66)
+ { 0, { 0, 0, 0}}, // ( 41, 66)
+ { 0, { 0, 0, 0}}, // ( 42, 66)
+ { 0, { 0, 0, 0}}, // ( 43, 66)
+ { 0, { 0, 0, 0}}, // ( 44, 66)
+ { 0, { 0, 0, 0}}, // ( 45, 66)
+ { 0, { 0, 0, 0}}, // ( 46, 66)
+ { 0, { 0, 0, 0}}, // ( 47, 66)
+ { 0, { 0, 0, 0}}, // ( 48, 66)
+ { 0, { 0, 0, 0}}, // ( 49, 66)
+ { 0, { 0, 0, 0}}, // ( 50, 66)
+ { 0, { 0, 0, 0}}, // ( 51, 66)
+ { 0, { 0, 0, 0}}, // ( 52, 66)
+ { 0, { 0, 0, 0}}, // ( 53, 66)
+ { 0, { 0, 0, 0}}, // ( 54, 66)
+ { 0, { 0, 0, 0}}, // ( 55, 66)
+ { 0, { 0, 0, 0}}, // ( 56, 66)
+ { 0, { 0, 0, 0}}, // ( 57, 66)
+ { 0, { 0, 0, 0}}, // ( 58, 66)
+ { 0, { 0, 0, 0}}, // ( 59, 66)
+ { 0, { 0, 0, 0}}, // ( 60, 66)
+ { 0, { 0, 0, 0}}, // ( 61, 66)
+ { 0, { 0, 0, 0}}, // ( 62, 66)
+ { 0, { 0, 0, 0}}, // ( 63, 66)
+ { 0, { 0, 0, 0}}, // ( 64, 66)
+ { 0, { 0, 0, 0}}, // ( 65, 66)
+ { 0, { 0, 0, 0}}, // ( 66, 66)
+ { 0, { 0, 0, 0}}, // ( 67, 66)
+ { 0, { 0, 0, 0}}, // ( 68, 66)
+ { 0, { 0, 0, 0}}, // ( 69, 66)
+ { 0, { 0, 0, 0}}, // ( 70, 66)
+ { 0, { 0, 0, 0}}, // ( 71, 66)
+ { 0, { 0, 0, 0}}, // ( 72, 66)
+ { 0, { 0, 0, 0}}, // ( 73, 66)
+ { 0, { 0, 0, 0}}, // ( 74, 66)
+ { 0, { 0, 0, 0}}, // ( 75, 66)
+ { 0, { 0, 0, 0}}, // ( 76, 66)
+ { 0, { 0, 0, 0}}, // ( 77, 66)
+ { 0, { 0, 0, 0}}, // ( 78, 66)
+ { 0, { 0, 0, 0}}, // ( 79, 66)
+ { 0, { 0, 0, 0}}, // ( 80, 66)
+ { 0, { 0, 0, 0}}, // ( 81, 66)
+ { 0, { 0, 0, 0}}, // ( 82, 66)
+ { 0, { 0, 0, 0}}, // ( 83, 66)
+ { 0, { 0, 0, 0}}, // ( 84, 66)
+ { 0, { 0, 0, 0}}, // ( 85, 66)
+ { 0, { 0, 0, 0}}, // ( 86, 66)
+ { 0, { 0, 0, 0}}, // ( 87, 66)
+ { 0, { 0, 0, 0}}, // ( 88, 66)
+ { 0, { 0, 0, 0}}, // ( 89, 66)
+ { 0, { 0, 0, 0}}, // ( 90, 66)
+ { 0, { 0, 0, 0}}, // ( 91, 66)
+ { 0, { 0, 0, 0}}, // ( 92, 66)
+ { 0, { 0, 0, 0}}, // ( 93, 66)
+ { 0, { 0, 0, 0}}, // ( 94, 66)
+ { 0, { 0, 0, 0}}, // ( 95, 66)
+ { 0, { 0, 0, 0}}, // ( 96, 66)
+ { 0, { 0, 0, 0}}, // ( 97, 66)
+ { 0, { 0, 0, 0}}, // ( 98, 66)
+ { 0, { 0, 0, 0}}, // ( 99, 66)
+ { 0, { 0, 0, 0}}, // (100, 66)
+ { 0, { 0, 0, 0}}, // (101, 66)
+ { 0, { 0, 0, 0}}, // (102, 66)
+ { 0, { 0, 0, 0}}, // (103, 66)
+ { 0, { 0, 0, 0}}, // (104, 66)
+ { 0, { 0, 0, 0}}, // (105, 66)
+ { 0, { 0, 0, 0}}, // (106, 66)
+ { 0, { 0, 0, 0}}, // (107, 66)
+ { 0, { 0, 0, 0}}, // (108, 66)
+ { 0, { 0, 0, 0}}, // (109, 66)
+ { 0, { 0, 0, 0}}, // (110, 66)
+ { 0, { 0, 0, 0}}, // (111, 66)
+ { 0, { 0, 0, 0}}, // (112, 66)
+ { 0, { 0, 0, 0}}, // (113, 66)
+ { 0, { 0, 0, 0}}, // (114, 66)
+ { 0, { 0, 0, 0}}, // (115, 66)
+ { 0, { 0, 0, 0}}, // (116, 66)
+ { 0, { 0, 0, 0}}, // (117, 66)
+ { 0, { 0, 0, 0}}, // (118, 66)
+ { 0, { 0, 0, 0}}, // (119, 66)
+ { 0, { 0, 0, 0}}, // (120, 66)
+ { 0, { 0, 0, 0}}, // (121, 66)
+ { 0, { 0, 0, 0}}, // (122, 66)
+ { 0, { 0, 0, 0}}, // (123, 66)
+ { 0, { 0, 0, 0}}, // (124, 66)
+ { 0, { 0, 0, 0}}, // (125, 66)
+ { 0, { 0, 0, 0}}, // (126, 66)
+ { 0, { 0, 0, 0}}, // (127, 66)
+ { 0, { 0, 0, 0}}, // (128, 66)
+ { 0, { 0, 0, 0}}, // (129, 66)
+ { 0, { 0, 0, 0}}, // (130, 66)
+ { 0, { 0, 0, 0}}, // (131, 66)
+ { 0, { 0, 0, 0}}, // (132, 66)
+ { 0, { 0, 0, 0}}, // (133, 66)
+ { 0, { 0, 0, 0}}, // (134, 66)
+ { 0, { 0, 0, 0}}, // (135, 66)
+ { 0, { 0, 0, 0}}, // (136, 66)
+ { 0, { 0, 0, 0}}, // (137, 66)
+ { 0, { 0, 0, 0}}, // (138, 66)
+ { 0, { 0, 0, 0}}, // (139, 66)
+ { 0, { 0, 0, 0}}, // (140, 66)
+ { 0, { 0, 0, 0}}, // (141, 66)
+ { 0, { 0, 0, 0}}, // (142, 66)
+ { 0, { 0, 0, 0}}, // (143, 66)
+ { 0, { 0, 0, 0}}, // (144, 66)
+ { 0, { 0, 0, 0}}, // (145, 66)
+ { 0, { 0, 0, 0}}, // (146, 66)
+ { 0, { 0, 0, 0}}, // (147, 66)
+ { 0, { 0, 0, 0}}, // (148, 66)
+ { 0, { 0, 0, 0}}, // (149, 66)
+ { 0, { 0, 0, 0}}, // (150, 66)
+ { 0, { 0, 0, 0}}, // (151, 66)
+ { 0, { 0, 0, 0}}, // (152, 66)
+ { 0, { 0, 0, 0}}, // (153, 66)
+ { 0, { 0, 0, 0}}, // (154, 66)
+ { 0, { 0, 0, 0}}, // (155, 66)
+ { 0, { 0, 0, 0}}, // (156, 66)
+ { 0, { 0, 0, 0}}, // (157, 66)
+ { 0, { 0, 0, 0}}, // (158, 66)
+ { 0, { 0, 0, 0}}, // (159, 66)
+ { 0, { 0, 0, 0}}, // (160, 66)
+ { 0, { 0, 0, 0}}, // (161, 66)
+ { 0, { 0, 0, 0}}, // (162, 66)
+ { 0, { 0, 0, 0}}, // (163, 66)
+ { 0, { 0, 0, 0}}, // (164, 66)
+ { 0, { 0, 0, 0}}, // (165, 66)
+ { 0, { 0, 0, 0}}, // (166, 66)
+ { 0, { 0, 0, 0}}, // (167, 66)
+ { 0, { 0, 0, 0}}, // (168, 66)
+ { 0, { 0, 0, 0}}, // (169, 66)
+ { 0, { 0, 0, 0}}, // (170, 66)
+ { 0, { 0, 0, 0}}, // (171, 66)
+ { 0, { 0, 0, 0}}, // (172, 66)
+ { 0, { 0, 0, 0}}, // (173, 66)
+ { 23, { 0, 0, 0}}, // (174, 66)
+ {128, { 0, 0, 0}}, // (175, 66)
+ {128, { 0, 0, 0}}, // (176, 66)
+ {128, { 0, 0, 0}}, // (177, 66)
+ {128, { 0, 0, 0}}, // (178, 66)
+ {128, { 0, 0, 0}}, // (179, 66)
+ {128, { 0, 0, 0}}, // ( 0, 67)
+ {128, { 0, 0, 0}}, // ( 1, 67)
+ {128, { 0, 0, 0}}, // ( 2, 67)
+ {128, { 0, 0, 0}}, // ( 3, 67)
+ {117, { 0, 0, 0}}, // ( 4, 67)
+ { 1, { 0, 0, 0}}, // ( 5, 67)
+ { 0, { 0, 0, 0}}, // ( 6, 67)
+ { 0, { 0, 0, 0}}, // ( 7, 67)
+ { 0, { 0, 0, 0}}, // ( 8, 67)
+ { 0, { 0, 0, 0}}, // ( 9, 67)
+ { 0, { 0, 0, 0}}, // ( 10, 67)
+ { 0, { 0, 0, 0}}, // ( 11, 67)
+ { 0, { 0, 0, 0}}, // ( 12, 67)
+ { 0, { 0, 0, 0}}, // ( 13, 67)
+ { 0, { 0, 0, 0}}, // ( 14, 67)
+ { 0, { 0, 0, 0}}, // ( 15, 67)
+ { 0, { 0, 0, 0}}, // ( 16, 67)
+ { 0, { 0, 0, 0}}, // ( 17, 67)
+ { 0, { 0, 0, 0}}, // ( 18, 67)
+ { 0, { 0, 0, 0}}, // ( 19, 67)
+ { 0, { 0, 0, 0}}, // ( 20, 67)
+ { 0, { 0, 0, 0}}, // ( 21, 67)
+ { 0, { 0, 0, 0}}, // ( 22, 67)
+ { 0, { 0, 0, 0}}, // ( 23, 67)
+ { 0, { 0, 0, 0}}, // ( 24, 67)
+ { 0, { 0, 0, 0}}, // ( 25, 67)
+ { 0, { 0, 0, 0}}, // ( 26, 67)
+ { 0, { 0, 0, 0}}, // ( 27, 67)
+ { 0, { 0, 0, 0}}, // ( 28, 67)
+ { 0, { 0, 0, 0}}, // ( 29, 67)
+ { 0, { 0, 0, 0}}, // ( 30, 67)
+ { 0, { 0, 0, 0}}, // ( 31, 67)
+ { 0, { 0, 0, 0}}, // ( 32, 67)
+ { 0, { 0, 0, 0}}, // ( 33, 67)
+ { 0, { 0, 0, 0}}, // ( 34, 67)
+ { 0, { 0, 0, 0}}, // ( 35, 67)
+ { 0, { 0, 0, 0}}, // ( 36, 67)
+ { 0, { 0, 0, 0}}, // ( 37, 67)
+ { 0, { 0, 0, 0}}, // ( 38, 67)
+ { 0, { 0, 0, 0}}, // ( 39, 67)
+ { 0, { 0, 0, 0}}, // ( 40, 67)
+ { 0, { 0, 0, 0}}, // ( 41, 67)
+ { 0, { 0, 0, 0}}, // ( 42, 67)
+ { 0, { 0, 0, 0}}, // ( 43, 67)
+ { 0, { 0, 0, 0}}, // ( 44, 67)
+ { 0, { 0, 0, 0}}, // ( 45, 67)
+ { 0, { 0, 0, 0}}, // ( 46, 67)
+ { 0, { 0, 0, 0}}, // ( 47, 67)
+ { 0, { 0, 0, 0}}, // ( 48, 67)
+ { 0, { 0, 0, 0}}, // ( 49, 67)
+ { 0, { 0, 0, 0}}, // ( 50, 67)
+ { 0, { 0, 0, 0}}, // ( 51, 67)
+ { 0, { 0, 0, 0}}, // ( 52, 67)
+ { 0, { 0, 0, 0}}, // ( 53, 67)
+ { 0, { 0, 0, 0}}, // ( 54, 67)
+ { 0, { 0, 0, 0}}, // ( 55, 67)
+ { 0, { 0, 0, 0}}, // ( 56, 67)
+ { 0, { 0, 0, 0}}, // ( 57, 67)
+ { 0, { 0, 0, 0}}, // ( 58, 67)
+ { 0, { 0, 0, 0}}, // ( 59, 67)
+ { 0, { 0, 0, 0}}, // ( 60, 67)
+ { 0, { 0, 0, 0}}, // ( 61, 67)
+ { 0, { 0, 0, 0}}, // ( 62, 67)
+ { 0, { 0, 0, 0}}, // ( 63, 67)
+ { 0, { 0, 0, 0}}, // ( 64, 67)
+ { 0, { 0, 0, 0}}, // ( 65, 67)
+ { 0, { 0, 0, 0}}, // ( 66, 67)
+ { 0, { 0, 0, 0}}, // ( 67, 67)
+ { 0, { 0, 0, 0}}, // ( 68, 67)
+ { 0, { 0, 0, 0}}, // ( 69, 67)
+ { 0, { 0, 0, 0}}, // ( 70, 67)
+ { 0, { 0, 0, 0}}, // ( 71, 67)
+ { 0, { 0, 0, 0}}, // ( 72, 67)
+ { 0, { 0, 0, 0}}, // ( 73, 67)
+ { 0, { 0, 0, 0}}, // ( 74, 67)
+ { 0, { 0, 0, 0}}, // ( 75, 67)
+ { 0, { 0, 0, 0}}, // ( 76, 67)
+ { 0, { 0, 0, 0}}, // ( 77, 67)
+ { 0, { 0, 0, 0}}, // ( 78, 67)
+ { 0, { 0, 0, 0}}, // ( 79, 67)
+ { 0, { 0, 0, 0}}, // ( 80, 67)
+ { 0, { 0, 0, 0}}, // ( 81, 67)
+ { 0, { 0, 0, 0}}, // ( 82, 67)
+ { 0, { 0, 0, 0}}, // ( 83, 67)
+ { 0, { 0, 0, 0}}, // ( 84, 67)
+ { 0, { 0, 0, 0}}, // ( 85, 67)
+ { 0, { 0, 0, 0}}, // ( 86, 67)
+ { 0, { 0, 0, 0}}, // ( 87, 67)
+ { 0, { 0, 0, 0}}, // ( 88, 67)
+ { 0, { 0, 0, 0}}, // ( 89, 67)
+ { 0, { 0, 0, 0}}, // ( 90, 67)
+ { 0, { 0, 0, 0}}, // ( 91, 67)
+ { 0, { 0, 0, 0}}, // ( 92, 67)
+ { 0, { 0, 0, 0}}, // ( 93, 67)
+ { 0, { 0, 0, 0}}, // ( 94, 67)
+ { 0, { 0, 0, 0}}, // ( 95, 67)
+ { 0, { 0, 0, 0}}, // ( 96, 67)
+ { 0, { 0, 0, 0}}, // ( 97, 67)
+ { 0, { 0, 0, 0}}, // ( 98, 67)
+ { 0, { 0, 0, 0}}, // ( 99, 67)
+ { 0, { 0, 0, 0}}, // (100, 67)
+ { 0, { 0, 0, 0}}, // (101, 67)
+ { 0, { 0, 0, 0}}, // (102, 67)
+ { 0, { 0, 0, 0}}, // (103, 67)
+ { 0, { 0, 0, 0}}, // (104, 67)
+ { 0, { 0, 0, 0}}, // (105, 67)
+ { 0, { 0, 0, 0}}, // (106, 67)
+ { 0, { 0, 0, 0}}, // (107, 67)
+ { 0, { 0, 0, 0}}, // (108, 67)
+ { 0, { 0, 0, 0}}, // (109, 67)
+ { 0, { 0, 0, 0}}, // (110, 67)
+ { 0, { 0, 0, 0}}, // (111, 67)
+ { 0, { 0, 0, 0}}, // (112, 67)
+ { 0, { 0, 0, 0}}, // (113, 67)
+ { 0, { 0, 0, 0}}, // (114, 67)
+ { 0, { 0, 0, 0}}, // (115, 67)
+ { 0, { 0, 0, 0}}, // (116, 67)
+ { 0, { 0, 0, 0}}, // (117, 67)
+ { 0, { 0, 0, 0}}, // (118, 67)
+ { 0, { 0, 0, 0}}, // (119, 67)
+ { 0, { 0, 0, 0}}, // (120, 67)
+ { 0, { 0, 0, 0}}, // (121, 67)
+ { 0, { 0, 0, 0}}, // (122, 67)
+ { 0, { 0, 0, 0}}, // (123, 67)
+ { 0, { 0, 0, 0}}, // (124, 67)
+ { 0, { 0, 0, 0}}, // (125, 67)
+ { 0, { 0, 0, 0}}, // (126, 67)
+ { 0, { 0, 0, 0}}, // (127, 67)
+ { 0, { 0, 0, 0}}, // (128, 67)
+ { 0, { 0, 0, 0}}, // (129, 67)
+ { 0, { 0, 0, 0}}, // (130, 67)
+ { 0, { 0, 0, 0}}, // (131, 67)
+ { 0, { 0, 0, 0}}, // (132, 67)
+ { 0, { 0, 0, 0}}, // (133, 67)
+ { 0, { 0, 0, 0}}, // (134, 67)
+ { 0, { 0, 0, 0}}, // (135, 67)
+ { 0, { 0, 0, 0}}, // (136, 67)
+ { 0, { 0, 0, 0}}, // (137, 67)
+ { 0, { 0, 0, 0}}, // (138, 67)
+ { 0, { 0, 0, 0}}, // (139, 67)
+ { 0, { 0, 0, 0}}, // (140, 67)
+ { 0, { 0, 0, 0}}, // (141, 67)
+ { 0, { 0, 0, 0}}, // (142, 67)
+ { 0, { 0, 0, 0}}, // (143, 67)
+ { 0, { 0, 0, 0}}, // (144, 67)
+ { 0, { 0, 0, 0}}, // (145, 67)
+ { 0, { 0, 0, 0}}, // (146, 67)
+ { 0, { 0, 0, 0}}, // (147, 67)
+ { 0, { 0, 0, 0}}, // (148, 67)
+ { 0, { 0, 0, 0}}, // (149, 67)
+ { 0, { 0, 0, 0}}, // (150, 67)
+ { 0, { 0, 0, 0}}, // (151, 67)
+ { 0, { 0, 0, 0}}, // (152, 67)
+ { 0, { 0, 0, 0}}, // (153, 67)
+ { 0, { 0, 0, 0}}, // (154, 67)
+ { 0, { 0, 0, 0}}, // (155, 67)
+ { 0, { 0, 0, 0}}, // (156, 67)
+ { 0, { 0, 0, 0}}, // (157, 67)
+ { 0, { 0, 0, 0}}, // (158, 67)
+ { 0, { 0, 0, 0}}, // (159, 67)
+ { 0, { 0, 0, 0}}, // (160, 67)
+ { 0, { 0, 0, 0}}, // (161, 67)
+ { 0, { 0, 0, 0}}, // (162, 67)
+ { 0, { 0, 0, 0}}, // (163, 67)
+ { 0, { 0, 0, 0}}, // (164, 67)
+ { 0, { 0, 0, 0}}, // (165, 67)
+ { 0, { 0, 0, 0}}, // (166, 67)
+ { 0, { 0, 0, 0}}, // (167, 67)
+ { 0, { 0, 0, 0}}, // (168, 67)
+ { 0, { 0, 0, 0}}, // (169, 67)
+ { 0, { 0, 0, 0}}, // (170, 67)
+ { 0, { 0, 0, 0}}, // (171, 67)
+ { 0, { 0, 0, 0}}, // (172, 67)
+ { 0, { 0, 0, 0}}, // (173, 67)
+ { 1, { 0, 0, 0}}, // (174, 67)
+ {115, { 0, 0, 0}}, // (175, 67)
+ {128, { 0, 0, 0}}, // (176, 67)
+ {128, { 0, 0, 0}}, // (177, 67)
+ {128, { 0, 0, 0}}, // (178, 67)
+ {128, { 0, 0, 0}}, // (179, 67)
+ {128, { 0, 0, 0}}, // ( 0, 68)
+ {128, { 0, 0, 0}}, // ( 1, 68)
+ {128, { 0, 0, 0}}, // ( 2, 68)
+ {128, { 0, 0, 0}}, // ( 3, 68)
+ { 84, { 0, 0, 0}}, // ( 4, 68)
+ { 0, { 0, 0, 0}}, // ( 5, 68)
+ { 0, { 0, 0, 0}}, // ( 6, 68)
+ { 0, { 0, 0, 0}}, // ( 7, 68)
+ { 0, { 0, 0, 0}}, // ( 8, 68)
+ { 0, { 0, 0, 0}}, // ( 9, 68)
+ { 0, { 0, 0, 0}}, // ( 10, 68)
+ { 0, { 0, 0, 0}}, // ( 11, 68)
+ { 0, { 0, 0, 0}}, // ( 12, 68)
+ { 0, { 0, 0, 0}}, // ( 13, 68)
+ { 0, { 0, 0, 0}}, // ( 14, 68)
+ { 0, { 0, 0, 0}}, // ( 15, 68)
+ { 0, { 0, 0, 0}}, // ( 16, 68)
+ { 0, { 0, 0, 0}}, // ( 17, 68)
+ { 0, { 0, 0, 0}}, // ( 18, 68)
+ { 0, { 0, 0, 0}}, // ( 19, 68)
+ { 0, { 0, 0, 0}}, // ( 20, 68)
+ { 0, { 0, 0, 0}}, // ( 21, 68)
+ { 0, { 0, 0, 0}}, // ( 22, 68)
+ { 0, { 0, 0, 0}}, // ( 23, 68)
+ { 0, { 0, 0, 0}}, // ( 24, 68)
+ { 0, { 0, 0, 0}}, // ( 25, 68)
+ { 0, { 0, 0, 0}}, // ( 26, 68)
+ { 0, { 0, 0, 0}}, // ( 27, 68)
+ { 0, { 0, 0, 0}}, // ( 28, 68)
+ { 0, { 0, 0, 0}}, // ( 29, 68)
+ { 0, { 0, 0, 0}}, // ( 30, 68)
+ { 0, { 0, 0, 0}}, // ( 31, 68)
+ { 0, { 0, 0, 0}}, // ( 32, 68)
+ { 0, { 0, 0, 0}}, // ( 33, 68)
+ { 0, { 0, 0, 0}}, // ( 34, 68)
+ { 0, { 0, 0, 0}}, // ( 35, 68)
+ { 0, { 0, 0, 0}}, // ( 36, 68)
+ { 0, { 0, 0, 0}}, // ( 37, 68)
+ { 0, { 0, 0, 0}}, // ( 38, 68)
+ { 0, { 0, 0, 0}}, // ( 39, 68)
+ { 0, { 0, 0, 0}}, // ( 40, 68)
+ { 0, { 0, 0, 0}}, // ( 41, 68)
+ { 0, { 0, 0, 0}}, // ( 42, 68)
+ { 0, { 0, 0, 0}}, // ( 43, 68)
+ { 0, { 0, 0, 0}}, // ( 44, 68)
+ { 0, { 0, 0, 0}}, // ( 45, 68)
+ { 0, { 0, 0, 0}}, // ( 46, 68)
+ { 0, { 0, 0, 0}}, // ( 47, 68)
+ { 0, { 0, 0, 0}}, // ( 48, 68)
+ { 0, { 0, 0, 0}}, // ( 49, 68)
+ { 0, { 0, 0, 0}}, // ( 50, 68)
+ { 0, { 0, 0, 0}}, // ( 51, 68)
+ { 0, { 0, 0, 0}}, // ( 52, 68)
+ { 0, { 0, 0, 0}}, // ( 53, 68)
+ { 0, { 0, 0, 0}}, // ( 54, 68)
+ { 0, { 0, 0, 0}}, // ( 55, 68)
+ { 0, { 0, 0, 0}}, // ( 56, 68)
+ { 0, { 0, 0, 0}}, // ( 57, 68)
+ { 0, { 0, 0, 0}}, // ( 58, 68)
+ { 0, { 0, 0, 0}}, // ( 59, 68)
+ { 0, { 0, 0, 0}}, // ( 60, 68)
+ { 0, { 0, 0, 0}}, // ( 61, 68)
+ { 0, { 0, 0, 0}}, // ( 62, 68)
+ { 0, { 0, 0, 0}}, // ( 63, 68)
+ { 0, { 0, 0, 0}}, // ( 64, 68)
+ { 0, { 0, 0, 0}}, // ( 65, 68)
+ { 0, { 0, 0, 0}}, // ( 66, 68)
+ { 0, { 0, 0, 0}}, // ( 67, 68)
+ { 0, { 0, 0, 0}}, // ( 68, 68)
+ { 0, { 0, 0, 0}}, // ( 69, 68)
+ { 0, { 0, 0, 0}}, // ( 70, 68)
+ { 0, { 0, 0, 0}}, // ( 71, 68)
+ { 0, { 0, 0, 0}}, // ( 72, 68)
+ { 0, { 0, 0, 0}}, // ( 73, 68)
+ { 0, { 0, 0, 0}}, // ( 74, 68)
+ { 0, { 0, 0, 0}}, // ( 75, 68)
+ { 0, { 0, 0, 0}}, // ( 76, 68)
+ { 0, { 0, 0, 0}}, // ( 77, 68)
+ { 0, { 0, 0, 0}}, // ( 78, 68)
+ { 0, { 0, 0, 0}}, // ( 79, 68)
+ { 0, { 0, 0, 0}}, // ( 80, 68)
+ { 0, { 0, 0, 0}}, // ( 81, 68)
+ { 0, { 0, 0, 0}}, // ( 82, 68)
+ { 0, { 0, 0, 0}}, // ( 83, 68)
+ { 0, { 0, 0, 0}}, // ( 84, 68)
+ { 0, { 0, 0, 0}}, // ( 85, 68)
+ { 0, { 0, 0, 0}}, // ( 86, 68)
+ { 0, { 0, 0, 0}}, // ( 87, 68)
+ { 0, { 0, 0, 0}}, // ( 88, 68)
+ { 0, { 0, 0, 0}}, // ( 89, 68)
+ { 0, { 0, 0, 0}}, // ( 90, 68)
+ { 0, { 0, 0, 0}}, // ( 91, 68)
+ { 0, { 0, 0, 0}}, // ( 92, 68)
+ { 0, { 0, 0, 0}}, // ( 93, 68)
+ { 0, { 0, 0, 0}}, // ( 94, 68)
+ { 0, { 0, 0, 0}}, // ( 95, 68)
+ { 0, { 0, 0, 0}}, // ( 96, 68)
+ { 0, { 0, 0, 0}}, // ( 97, 68)
+ { 0, { 0, 0, 0}}, // ( 98, 68)
+ { 0, { 0, 0, 0}}, // ( 99, 68)
+ { 0, { 0, 0, 0}}, // (100, 68)
+ { 0, { 0, 0, 0}}, // (101, 68)
+ { 0, { 0, 0, 0}}, // (102, 68)
+ { 0, { 0, 0, 0}}, // (103, 68)
+ { 0, { 0, 0, 0}}, // (104, 68)
+ { 0, { 0, 0, 0}}, // (105, 68)
+ { 0, { 0, 0, 0}}, // (106, 68)
+ { 0, { 0, 0, 0}}, // (107, 68)
+ { 0, { 0, 0, 0}}, // (108, 68)
+ { 0, { 0, 0, 0}}, // (109, 68)
+ { 0, { 0, 0, 0}}, // (110, 68)
+ { 0, { 0, 0, 0}}, // (111, 68)
+ { 0, { 0, 0, 0}}, // (112, 68)
+ { 0, { 0, 0, 0}}, // (113, 68)
+ { 0, { 0, 0, 0}}, // (114, 68)
+ { 0, { 0, 0, 0}}, // (115, 68)
+ { 0, { 0, 0, 0}}, // (116, 68)
+ { 0, { 0, 0, 0}}, // (117, 68)
+ { 0, { 0, 0, 0}}, // (118, 68)
+ { 0, { 0, 0, 0}}, // (119, 68)
+ { 0, { 0, 0, 0}}, // (120, 68)
+ { 0, { 0, 0, 0}}, // (121, 68)
+ { 0, { 0, 0, 0}}, // (122, 68)
+ { 0, { 0, 0, 0}}, // (123, 68)
+ { 0, { 0, 0, 0}}, // (124, 68)
+ { 0, { 0, 0, 0}}, // (125, 68)
+ { 0, { 0, 0, 0}}, // (126, 68)
+ { 0, { 0, 0, 0}}, // (127, 68)
+ { 0, { 0, 0, 0}}, // (128, 68)
+ { 0, { 0, 0, 0}}, // (129, 68)
+ { 0, { 0, 0, 0}}, // (130, 68)
+ { 0, { 0, 0, 0}}, // (131, 68)
+ { 0, { 0, 0, 0}}, // (132, 68)
+ { 0, { 0, 0, 0}}, // (133, 68)
+ { 0, { 0, 0, 0}}, // (134, 68)
+ { 0, { 0, 0, 0}}, // (135, 68)
+ { 0, { 0, 0, 0}}, // (136, 68)
+ { 0, { 0, 0, 0}}, // (137, 68)
+ { 0, { 0, 0, 0}}, // (138, 68)
+ { 0, { 0, 0, 0}}, // (139, 68)
+ { 0, { 0, 0, 0}}, // (140, 68)
+ { 0, { 0, 0, 0}}, // (141, 68)
+ { 0, { 0, 0, 0}}, // (142, 68)
+ { 0, { 0, 0, 0}}, // (143, 68)
+ { 0, { 0, 0, 0}}, // (144, 68)
+ { 0, { 0, 0, 0}}, // (145, 68)
+ { 0, { 0, 0, 0}}, // (146, 68)
+ { 0, { 0, 0, 0}}, // (147, 68)
+ { 0, { 0, 0, 0}}, // (148, 68)
+ { 0, { 0, 0, 0}}, // (149, 68)
+ { 0, { 0, 0, 0}}, // (150, 68)
+ { 0, { 0, 0, 0}}, // (151, 68)
+ { 0, { 0, 0, 0}}, // (152, 68)
+ { 0, { 0, 0, 0}}, // (153, 68)
+ { 0, { 0, 0, 0}}, // (154, 68)
+ { 0, { 0, 0, 0}}, // (155, 68)
+ { 0, { 0, 0, 0}}, // (156, 68)
+ { 0, { 0, 0, 0}}, // (157, 68)
+ { 0, { 0, 0, 0}}, // (158, 68)
+ { 0, { 0, 0, 0}}, // (159, 68)
+ { 0, { 0, 0, 0}}, // (160, 68)
+ { 0, { 0, 0, 0}}, // (161, 68)
+ { 0, { 0, 0, 0}}, // (162, 68)
+ { 0, { 0, 0, 0}}, // (163, 68)
+ { 0, { 0, 0, 0}}, // (164, 68)
+ { 0, { 0, 0, 0}}, // (165, 68)
+ { 0, { 0, 0, 0}}, // (166, 68)
+ { 0, { 0, 0, 0}}, // (167, 68)
+ { 0, { 0, 0, 0}}, // (168, 68)
+ { 0, { 0, 0, 0}}, // (169, 68)
+ { 0, { 0, 0, 0}}, // (170, 68)
+ { 0, { 0, 0, 0}}, // (171, 68)
+ { 0, { 0, 0, 0}}, // (172, 68)
+ { 0, { 0, 0, 0}}, // (173, 68)
+ { 0, { 0, 0, 0}}, // (174, 68)
+ { 83, { 0, 0, 0}}, // (175, 68)
+ {128, { 0, 0, 0}}, // (176, 68)
+ {128, { 0, 0, 0}}, // (177, 68)
+ {128, { 0, 0, 0}}, // (178, 68)
+ {128, { 0, 0, 0}}, // (179, 68)
+ {128, { 0, 0, 0}}, // ( 0, 69)
+ {128, { 0, 0, 0}}, // ( 1, 69)
+ {128, { 0, 0, 0}}, // ( 2, 69)
+ {128, { 0, 0, 0}}, // ( 3, 69)
+ { 52, { 0, 0, 0}}, // ( 4, 69)
+ { 0, { 0, 0, 0}}, // ( 5, 69)
+ { 0, { 0, 0, 0}}, // ( 6, 69)
+ { 0, { 0, 0, 0}}, // ( 7, 69)
+ { 0, { 0, 0, 0}}, // ( 8, 69)
+ { 0, { 0, 0, 0}}, // ( 9, 69)
+ { 0, { 0, 0, 0}}, // ( 10, 69)
+ { 0, { 0, 0, 0}}, // ( 11, 69)
+ { 0, { 0, 0, 0}}, // ( 12, 69)
+ { 0, { 0, 0, 0}}, // ( 13, 69)
+ { 0, { 0, 0, 0}}, // ( 14, 69)
+ { 0, { 0, 0, 0}}, // ( 15, 69)
+ { 0, { 0, 0, 0}}, // ( 16, 69)
+ { 0, { 0, 0, 0}}, // ( 17, 69)
+ { 0, { 0, 0, 0}}, // ( 18, 69)
+ { 0, { 0, 0, 0}}, // ( 19, 69)
+ { 0, { 0, 0, 0}}, // ( 20, 69)
+ { 0, { 0, 0, 0}}, // ( 21, 69)
+ { 0, { 0, 0, 0}}, // ( 22, 69)
+ { 0, { 0, 0, 0}}, // ( 23, 69)
+ { 0, { 0, 0, 0}}, // ( 24, 69)
+ { 0, { 0, 0, 0}}, // ( 25, 69)
+ { 0, { 0, 0, 0}}, // ( 26, 69)
+ { 0, { 0, 0, 0}}, // ( 27, 69)
+ { 0, { 0, 0, 0}}, // ( 28, 69)
+ { 0, { 0, 0, 0}}, // ( 29, 69)
+ { 0, { 0, 0, 0}}, // ( 30, 69)
+ { 0, { 0, 0, 0}}, // ( 31, 69)
+ { 0, { 0, 0, 0}}, // ( 32, 69)
+ { 0, { 0, 0, 0}}, // ( 33, 69)
+ { 0, { 0, 0, 0}}, // ( 34, 69)
+ { 0, { 0, 0, 0}}, // ( 35, 69)
+ { 0, { 0, 0, 0}}, // ( 36, 69)
+ { 0, { 0, 0, 0}}, // ( 37, 69)
+ { 0, { 0, 0, 0}}, // ( 38, 69)
+ { 0, { 0, 0, 0}}, // ( 39, 69)
+ { 0, { 0, 0, 0}}, // ( 40, 69)
+ { 0, { 0, 0, 0}}, // ( 41, 69)
+ { 0, { 0, 0, 0}}, // ( 42, 69)
+ { 0, { 0, 0, 0}}, // ( 43, 69)
+ { 0, { 0, 0, 0}}, // ( 44, 69)
+ { 0, { 0, 0, 0}}, // ( 45, 69)
+ { 0, { 0, 0, 0}}, // ( 46, 69)
+ { 0, { 0, 0, 0}}, // ( 47, 69)
+ { 0, { 0, 0, 0}}, // ( 48, 69)
+ { 0, { 0, 0, 0}}, // ( 49, 69)
+ { 0, { 0, 0, 0}}, // ( 50, 69)
+ { 0, { 0, 0, 0}}, // ( 51, 69)
+ { 0, { 0, 0, 0}}, // ( 52, 69)
+ { 0, { 0, 0, 0}}, // ( 53, 69)
+ { 0, { 0, 0, 0}}, // ( 54, 69)
+ { 0, { 0, 0, 0}}, // ( 55, 69)
+ { 0, { 0, 0, 0}}, // ( 56, 69)
+ { 0, { 0, 0, 0}}, // ( 57, 69)
+ { 0, { 0, 0, 0}}, // ( 58, 69)
+ { 0, { 0, 0, 0}}, // ( 59, 69)
+ { 0, { 0, 0, 0}}, // ( 60, 69)
+ { 0, { 0, 0, 0}}, // ( 61, 69)
+ { 0, { 0, 0, 0}}, // ( 62, 69)
+ { 0, { 0, 0, 0}}, // ( 63, 69)
+ { 0, { 0, 0, 0}}, // ( 64, 69)
+ { 0, { 0, 0, 0}}, // ( 65, 69)
+ { 0, { 0, 0, 0}}, // ( 66, 69)
+ { 0, { 0, 0, 0}}, // ( 67, 69)
+ { 0, { 0, 0, 0}}, // ( 68, 69)
+ { 0, { 0, 0, 0}}, // ( 69, 69)
+ { 0, { 0, 0, 0}}, // ( 70, 69)
+ { 0, { 0, 0, 0}}, // ( 71, 69)
+ { 0, { 0, 0, 0}}, // ( 72, 69)
+ { 0, { 0, 0, 0}}, // ( 73, 69)
+ { 0, { 0, 0, 0}}, // ( 74, 69)
+ { 0, { 0, 0, 0}}, // ( 75, 69)
+ { 0, { 0, 0, 0}}, // ( 76, 69)
+ { 0, { 0, 0, 0}}, // ( 77, 69)
+ { 0, { 0, 0, 0}}, // ( 78, 69)
+ { 0, { 0, 0, 0}}, // ( 79, 69)
+ { 0, { 0, 0, 0}}, // ( 80, 69)
+ { 0, { 0, 0, 0}}, // ( 81, 69)
+ { 0, { 0, 0, 0}}, // ( 82, 69)
+ { 0, { 0, 0, 0}}, // ( 83, 69)
+ { 0, { 0, 0, 0}}, // ( 84, 69)
+ { 0, { 0, 0, 0}}, // ( 85, 69)
+ { 0, { 0, 0, 0}}, // ( 86, 69)
+ { 0, { 0, 0, 0}}, // ( 87, 69)
+ { 0, { 0, 0, 0}}, // ( 88, 69)
+ { 0, { 0, 0, 0}}, // ( 89, 69)
+ { 0, { 0, 0, 0}}, // ( 90, 69)
+ { 0, { 0, 0, 0}}, // ( 91, 69)
+ { 0, { 0, 0, 0}}, // ( 92, 69)
+ { 0, { 0, 0, 0}}, // ( 93, 69)
+ { 0, { 0, 0, 0}}, // ( 94, 69)
+ { 0, { 0, 0, 0}}, // ( 95, 69)
+ { 0, { 0, 0, 0}}, // ( 96, 69)
+ { 0, { 0, 0, 0}}, // ( 97, 69)
+ { 0, { 0, 0, 0}}, // ( 98, 69)
+ { 0, { 0, 0, 0}}, // ( 99, 69)
+ { 0, { 0, 0, 0}}, // (100, 69)
+ { 0, { 0, 0, 0}}, // (101, 69)
+ { 0, { 0, 0, 0}}, // (102, 69)
+ { 0, { 0, 0, 0}}, // (103, 69)
+ { 0, { 0, 0, 0}}, // (104, 69)
+ { 0, { 0, 0, 0}}, // (105, 69)
+ { 0, { 0, 0, 0}}, // (106, 69)
+ { 0, { 0, 0, 0}}, // (107, 69)
+ { 0, { 0, 0, 0}}, // (108, 69)
+ { 0, { 0, 0, 0}}, // (109, 69)
+ { 0, { 0, 0, 0}}, // (110, 69)
+ { 0, { 0, 0, 0}}, // (111, 69)
+ { 0, { 0, 0, 0}}, // (112, 69)
+ { 0, { 0, 0, 0}}, // (113, 69)
+ { 0, { 0, 0, 0}}, // (114, 69)
+ { 0, { 0, 0, 0}}, // (115, 69)
+ { 0, { 0, 0, 0}}, // (116, 69)
+ { 0, { 0, 0, 0}}, // (117, 69)
+ { 0, { 0, 0, 0}}, // (118, 69)
+ { 0, { 0, 0, 0}}, // (119, 69)
+ { 0, { 0, 0, 0}}, // (120, 69)
+ { 0, { 0, 0, 0}}, // (121, 69)
+ { 0, { 0, 0, 0}}, // (122, 69)
+ { 0, { 0, 0, 0}}, // (123, 69)
+ { 0, { 0, 0, 0}}, // (124, 69)
+ { 0, { 0, 0, 0}}, // (125, 69)
+ { 0, { 0, 0, 0}}, // (126, 69)
+ { 0, { 0, 0, 0}}, // (127, 69)
+ { 0, { 0, 0, 0}}, // (128, 69)
+ { 0, { 0, 0, 0}}, // (129, 69)
+ { 0, { 0, 0, 0}}, // (130, 69)
+ { 0, { 0, 0, 0}}, // (131, 69)
+ { 0, { 0, 0, 0}}, // (132, 69)
+ { 0, { 0, 0, 0}}, // (133, 69)
+ { 0, { 0, 0, 0}}, // (134, 69)
+ { 0, { 0, 0, 0}}, // (135, 69)
+ { 0, { 0, 0, 0}}, // (136, 69)
+ { 0, { 0, 0, 0}}, // (137, 69)
+ { 0, { 0, 0, 0}}, // (138, 69)
+ { 0, { 0, 0, 0}}, // (139, 69)
+ { 0, { 0, 0, 0}}, // (140, 69)
+ { 0, { 0, 0, 0}}, // (141, 69)
+ { 0, { 0, 0, 0}}, // (142, 69)
+ { 0, { 0, 0, 0}}, // (143, 69)
+ { 0, { 0, 0, 0}}, // (144, 69)
+ { 0, { 0, 0, 0}}, // (145, 69)
+ { 0, { 0, 0, 0}}, // (146, 69)
+ { 0, { 0, 0, 0}}, // (147, 69)
+ { 0, { 0, 0, 0}}, // (148, 69)
+ { 0, { 0, 0, 0}}, // (149, 69)
+ { 0, { 0, 0, 0}}, // (150, 69)
+ { 0, { 0, 0, 0}}, // (151, 69)
+ { 0, { 0, 0, 0}}, // (152, 69)
+ { 0, { 0, 0, 0}}, // (153, 69)
+ { 0, { 0, 0, 0}}, // (154, 69)
+ { 0, { 0, 0, 0}}, // (155, 69)
+ { 0, { 0, 0, 0}}, // (156, 69)
+ { 0, { 0, 0, 0}}, // (157, 69)
+ { 0, { 0, 0, 0}}, // (158, 69)
+ { 0, { 0, 0, 0}}, // (159, 69)
+ { 0, { 0, 0, 0}}, // (160, 69)
+ { 0, { 0, 0, 0}}, // (161, 69)
+ { 0, { 0, 0, 0}}, // (162, 69)
+ { 0, { 0, 0, 0}}, // (163, 69)
+ { 0, { 0, 0, 0}}, // (164, 69)
+ { 0, { 0, 0, 0}}, // (165, 69)
+ { 0, { 0, 0, 0}}, // (166, 69)
+ { 0, { 0, 0, 0}}, // (167, 69)
+ { 0, { 0, 0, 0}}, // (168, 69)
+ { 0, { 0, 0, 0}}, // (169, 69)
+ { 0, { 0, 0, 0}}, // (170, 69)
+ { 0, { 0, 0, 0}}, // (171, 69)
+ { 0, { 0, 0, 0}}, // (172, 69)
+ { 0, { 0, 0, 0}}, // (173, 69)
+ { 0, { 0, 0, 0}}, // (174, 69)
+ { 52, { 0, 0, 0}}, // (175, 69)
+ {128, { 0, 0, 0}}, // (176, 69)
+ {128, { 0, 0, 0}}, // (177, 69)
+ {128, { 0, 0, 0}}, // (178, 69)
+ {128, { 0, 0, 0}}, // (179, 69)
+ {128, { 0, 0, 0}}, // ( 0, 70)
+ {128, { 0, 0, 0}}, // ( 1, 70)
+ {128, { 0, 0, 0}}, // ( 2, 70)
+ {128, { 0, 0, 0}}, // ( 3, 70)
+ { 22, { 0, 0, 0}}, // ( 4, 70)
+ { 0, { 0, 0, 0}}, // ( 5, 70)
+ { 0, { 0, 0, 0}}, // ( 6, 70)
+ { 0, { 0, 0, 0}}, // ( 7, 70)
+ { 0, { 0, 0, 0}}, // ( 8, 70)
+ { 0, { 0, 0, 0}}, // ( 9, 70)
+ { 0, { 0, 0, 0}}, // ( 10, 70)
+ { 0, { 0, 0, 0}}, // ( 11, 70)
+ { 0, { 0, 0, 0}}, // ( 12, 70)
+ { 0, { 0, 0, 0}}, // ( 13, 70)
+ { 0, { 0, 0, 0}}, // ( 14, 70)
+ { 0, { 0, 0, 0}}, // ( 15, 70)
+ { 0, { 0, 0, 0}}, // ( 16, 70)
+ { 0, { 0, 0, 0}}, // ( 17, 70)
+ { 0, { 0, 0, 0}}, // ( 18, 70)
+ { 0, { 0, 0, 0}}, // ( 19, 70)
+ { 0, { 0, 0, 0}}, // ( 20, 70)
+ { 0, { 0, 0, 0}}, // ( 21, 70)
+ { 0, { 0, 0, 0}}, // ( 22, 70)
+ { 0, { 0, 0, 0}}, // ( 23, 70)
+ { 0, { 0, 0, 0}}, // ( 24, 70)
+ { 0, { 0, 0, 0}}, // ( 25, 70)
+ { 0, { 0, 0, 0}}, // ( 26, 70)
+ { 0, { 0, 0, 0}}, // ( 27, 70)
+ { 0, { 0, 0, 0}}, // ( 28, 70)
+ { 0, { 0, 0, 0}}, // ( 29, 70)
+ { 0, { 0, 0, 0}}, // ( 30, 70)
+ { 0, { 0, 0, 0}}, // ( 31, 70)
+ { 0, { 0, 0, 0}}, // ( 32, 70)
+ { 0, { 0, 0, 0}}, // ( 33, 70)
+ { 0, { 0, 0, 0}}, // ( 34, 70)
+ { 0, { 0, 0, 0}}, // ( 35, 70)
+ { 0, { 0, 0, 0}}, // ( 36, 70)
+ { 0, { 0, 0, 0}}, // ( 37, 70)
+ { 0, { 0, 0, 0}}, // ( 38, 70)
+ { 0, { 0, 0, 0}}, // ( 39, 70)
+ { 0, { 0, 0, 0}}, // ( 40, 70)
+ { 0, { 0, 0, 0}}, // ( 41, 70)
+ { 0, { 0, 0, 0}}, // ( 42, 70)
+ { 0, { 0, 0, 0}}, // ( 43, 70)
+ { 0, { 0, 0, 0}}, // ( 44, 70)
+ { 0, { 0, 0, 0}}, // ( 45, 70)
+ { 0, { 0, 0, 0}}, // ( 46, 70)
+ { 0, { 0, 0, 0}}, // ( 47, 70)
+ { 0, { 0, 0, 0}}, // ( 48, 70)
+ { 0, { 0, 0, 0}}, // ( 49, 70)
+ { 0, { 0, 0, 0}}, // ( 50, 70)
+ { 0, { 0, 0, 0}}, // ( 51, 70)
+ { 0, { 0, 0, 0}}, // ( 52, 70)
+ { 0, { 0, 0, 0}}, // ( 53, 70)
+ { 0, { 0, 0, 0}}, // ( 54, 70)
+ { 0, { 0, 0, 0}}, // ( 55, 70)
+ { 0, { 0, 0, 0}}, // ( 56, 70)
+ { 0, { 0, 0, 0}}, // ( 57, 70)
+ { 0, { 0, 0, 0}}, // ( 58, 70)
+ { 0, { 0, 0, 0}}, // ( 59, 70)
+ { 0, { 0, 0, 0}}, // ( 60, 70)
+ { 0, { 0, 0, 0}}, // ( 61, 70)
+ { 0, { 0, 0, 0}}, // ( 62, 70)
+ { 0, { 0, 0, 0}}, // ( 63, 70)
+ { 0, { 0, 0, 0}}, // ( 64, 70)
+ { 0, { 0, 0, 0}}, // ( 65, 70)
+ { 0, { 0, 0, 0}}, // ( 66, 70)
+ { 0, { 0, 0, 0}}, // ( 67, 70)
+ { 0, { 0, 0, 0}}, // ( 68, 70)
+ { 0, { 0, 0, 0}}, // ( 69, 70)
+ { 0, { 0, 0, 0}}, // ( 70, 70)
+ { 0, { 0, 0, 0}}, // ( 71, 70)
+ { 0, { 0, 0, 0}}, // ( 72, 70)
+ { 0, { 0, 0, 0}}, // ( 73, 70)
+ { 0, { 0, 0, 0}}, // ( 74, 70)
+ { 0, { 0, 0, 0}}, // ( 75, 70)
+ { 0, { 0, 0, 0}}, // ( 76, 70)
+ { 0, { 0, 0, 0}}, // ( 77, 70)
+ { 0, { 0, 0, 0}}, // ( 78, 70)
+ { 0, { 0, 0, 0}}, // ( 79, 70)
+ { 0, { 0, 0, 0}}, // ( 80, 70)
+ { 0, { 0, 0, 0}}, // ( 81, 70)
+ { 0, { 0, 0, 0}}, // ( 82, 70)
+ { 0, { 0, 0, 0}}, // ( 83, 70)
+ { 0, { 0, 0, 0}}, // ( 84, 70)
+ { 0, { 0, 0, 0}}, // ( 85, 70)
+ { 0, { 0, 0, 0}}, // ( 86, 70)
+ { 0, { 0, 0, 0}}, // ( 87, 70)
+ { 0, { 0, 0, 0}}, // ( 88, 70)
+ { 0, { 0, 0, 0}}, // ( 89, 70)
+ { 0, { 0, 0, 0}}, // ( 90, 70)
+ { 0, { 0, 0, 0}}, // ( 91, 70)
+ { 0, { 0, 0, 0}}, // ( 92, 70)
+ { 0, { 0, 0, 0}}, // ( 93, 70)
+ { 0, { 0, 0, 0}}, // ( 94, 70)
+ { 0, { 0, 0, 0}}, // ( 95, 70)
+ { 0, { 0, 0, 0}}, // ( 96, 70)
+ { 0, { 0, 0, 0}}, // ( 97, 70)
+ { 0, { 0, 0, 0}}, // ( 98, 70)
+ { 0, { 0, 0, 0}}, // ( 99, 70)
+ { 0, { 0, 0, 0}}, // (100, 70)
+ { 0, { 0, 0, 0}}, // (101, 70)
+ { 0, { 0, 0, 0}}, // (102, 70)
+ { 0, { 0, 0, 0}}, // (103, 70)
+ { 0, { 0, 0, 0}}, // (104, 70)
+ { 0, { 0, 0, 0}}, // (105, 70)
+ { 0, { 0, 0, 0}}, // (106, 70)
+ { 0, { 0, 0, 0}}, // (107, 70)
+ { 0, { 0, 0, 0}}, // (108, 70)
+ { 0, { 0, 0, 0}}, // (109, 70)
+ { 0, { 0, 0, 0}}, // (110, 70)
+ { 0, { 0, 0, 0}}, // (111, 70)
+ { 0, { 0, 0, 0}}, // (112, 70)
+ { 0, { 0, 0, 0}}, // (113, 70)
+ { 0, { 0, 0, 0}}, // (114, 70)
+ { 0, { 0, 0, 0}}, // (115, 70)
+ { 0, { 0, 0, 0}}, // (116, 70)
+ { 0, { 0, 0, 0}}, // (117, 70)
+ { 0, { 0, 0, 0}}, // (118, 70)
+ { 0, { 0, 0, 0}}, // (119, 70)
+ { 0, { 0, 0, 0}}, // (120, 70)
+ { 0, { 0, 0, 0}}, // (121, 70)
+ { 0, { 0, 0, 0}}, // (122, 70)
+ { 0, { 0, 0, 0}}, // (123, 70)
+ { 0, { 0, 0, 0}}, // (124, 70)
+ { 0, { 0, 0, 0}}, // (125, 70)
+ { 0, { 0, 0, 0}}, // (126, 70)
+ { 0, { 0, 0, 0}}, // (127, 70)
+ { 0, { 0, 0, 0}}, // (128, 70)
+ { 0, { 0, 0, 0}}, // (129, 70)
+ { 0, { 0, 0, 0}}, // (130, 70)
+ { 0, { 0, 0, 0}}, // (131, 70)
+ { 0, { 0, 0, 0}}, // (132, 70)
+ { 0, { 0, 0, 0}}, // (133, 70)
+ { 0, { 0, 0, 0}}, // (134, 70)
+ { 0, { 0, 0, 0}}, // (135, 70)
+ { 0, { 0, 0, 0}}, // (136, 70)
+ { 0, { 0, 0, 0}}, // (137, 70)
+ { 0, { 0, 0, 0}}, // (138, 70)
+ { 0, { 0, 0, 0}}, // (139, 70)
+ { 0, { 0, 0, 0}}, // (140, 70)
+ { 0, { 0, 0, 0}}, // (141, 70)
+ { 0, { 0, 0, 0}}, // (142, 70)
+ { 0, { 0, 0, 0}}, // (143, 70)
+ { 0, { 0, 0, 0}}, // (144, 70)
+ { 0, { 0, 0, 0}}, // (145, 70)
+ { 0, { 0, 0, 0}}, // (146, 70)
+ { 0, { 0, 0, 0}}, // (147, 70)
+ { 0, { 0, 0, 0}}, // (148, 70)
+ { 0, { 0, 0, 0}}, // (149, 70)
+ { 0, { 0, 0, 0}}, // (150, 70)
+ { 0, { 0, 0, 0}}, // (151, 70)
+ { 0, { 0, 0, 0}}, // (152, 70)
+ { 0, { 0, 0, 0}}, // (153, 70)
+ { 0, { 0, 0, 0}}, // (154, 70)
+ { 0, { 0, 0, 0}}, // (155, 70)
+ { 0, { 0, 0, 0}}, // (156, 70)
+ { 0, { 0, 0, 0}}, // (157, 70)
+ { 0, { 0, 0, 0}}, // (158, 70)
+ { 0, { 0, 0, 0}}, // (159, 70)
+ { 0, { 0, 0, 0}}, // (160, 70)
+ { 0, { 0, 0, 0}}, // (161, 70)
+ { 0, { 0, 0, 0}}, // (162, 70)
+ { 0, { 0, 0, 0}}, // (163, 70)
+ { 0, { 0, 0, 0}}, // (164, 70)
+ { 0, { 0, 0, 0}}, // (165, 70)
+ { 0, { 0, 0, 0}}, // (166, 70)
+ { 0, { 0, 0, 0}}, // (167, 70)
+ { 0, { 0, 0, 0}}, // (168, 70)
+ { 0, { 0, 0, 0}}, // (169, 70)
+ { 0, { 0, 0, 0}}, // (170, 70)
+ { 0, { 0, 0, 0}}, // (171, 70)
+ { 0, { 0, 0, 0}}, // (172, 70)
+ { 0, { 0, 0, 0}}, // (173, 70)
+ { 0, { 0, 0, 0}}, // (174, 70)
+ { 22, { 0, 0, 0}}, // (175, 70)
+ {128, { 0, 0, 0}}, // (176, 70)
+ {128, { 0, 0, 0}}, // (177, 70)
+ {128, { 0, 0, 0}}, // (178, 70)
+ {128, { 0, 0, 0}}, // (179, 70)
+ {128, { 0, 0, 0}}, // ( 0, 71)
+ {128, { 0, 0, 0}}, // ( 1, 71)
+ {128, { 0, 0, 0}}, // ( 2, 71)
+ {120, { 0, 0, 0}}, // ( 3, 71)
+ { 1, { 0, 0, 0}}, // ( 4, 71)
+ { 0, { 0, 0, 0}}, // ( 5, 71)
+ { 0, { 0, 0, 0}}, // ( 6, 71)
+ { 0, { 0, 0, 0}}, // ( 7, 71)
+ { 0, { 0, 0, 0}}, // ( 8, 71)
+ { 0, { 0, 0, 0}}, // ( 9, 71)
+ { 0, { 0, 0, 0}}, // ( 10, 71)
+ { 0, { 0, 0, 0}}, // ( 11, 71)
+ { 0, { 0, 0, 0}}, // ( 12, 71)
+ { 0, { 0, 0, 0}}, // ( 13, 71)
+ { 0, { 0, 0, 0}}, // ( 14, 71)
+ { 0, { 0, 0, 0}}, // ( 15, 71)
+ { 0, { 0, 0, 0}}, // ( 16, 71)
+ { 0, { 0, 0, 0}}, // ( 17, 71)
+ { 0, { 0, 0, 0}}, // ( 18, 71)
+ { 0, { 0, 0, 0}}, // ( 19, 71)
+ { 0, { 0, 0, 0}}, // ( 20, 71)
+ { 0, { 0, 0, 0}}, // ( 21, 71)
+ { 0, { 0, 0, 0}}, // ( 22, 71)
+ { 0, { 0, 0, 0}}, // ( 23, 71)
+ { 0, { 0, 0, 0}}, // ( 24, 71)
+ { 0, { 0, 0, 0}}, // ( 25, 71)
+ { 0, { 0, 0, 0}}, // ( 26, 71)
+ { 0, { 0, 0, 0}}, // ( 27, 71)
+ { 0, { 0, 0, 0}}, // ( 28, 71)
+ { 0, { 0, 0, 0}}, // ( 29, 71)
+ { 0, { 0, 0, 0}}, // ( 30, 71)
+ { 0, { 0, 0, 0}}, // ( 31, 71)
+ { 0, { 0, 0, 0}}, // ( 32, 71)
+ { 0, { 0, 0, 0}}, // ( 33, 71)
+ { 0, { 0, 0, 0}}, // ( 34, 71)
+ { 0, { 0, 0, 0}}, // ( 35, 71)
+ { 0, { 0, 0, 0}}, // ( 36, 71)
+ { 0, { 0, 0, 0}}, // ( 37, 71)
+ { 0, { 0, 0, 0}}, // ( 38, 71)
+ { 0, { 0, 0, 0}}, // ( 39, 71)
+ { 0, { 0, 0, 0}}, // ( 40, 71)
+ { 0, { 0, 0, 0}}, // ( 41, 71)
+ { 0, { 0, 0, 0}}, // ( 42, 71)
+ { 0, { 0, 0, 0}}, // ( 43, 71)
+ { 0, { 0, 0, 0}}, // ( 44, 71)
+ { 0, { 0, 0, 0}}, // ( 45, 71)
+ { 0, { 0, 0, 0}}, // ( 46, 71)
+ { 0, { 0, 0, 0}}, // ( 47, 71)
+ { 0, { 0, 0, 0}}, // ( 48, 71)
+ { 0, { 0, 0, 0}}, // ( 49, 71)
+ { 0, { 0, 0, 0}}, // ( 50, 71)
+ { 0, { 0, 0, 0}}, // ( 51, 71)
+ { 0, { 0, 0, 0}}, // ( 52, 71)
+ { 0, { 0, 0, 0}}, // ( 53, 71)
+ { 0, { 0, 0, 0}}, // ( 54, 71)
+ { 0, { 0, 0, 0}}, // ( 55, 71)
+ { 0, { 0, 0, 0}}, // ( 56, 71)
+ { 0, { 0, 0, 0}}, // ( 57, 71)
+ { 0, { 0, 0, 0}}, // ( 58, 71)
+ { 0, { 0, 0, 0}}, // ( 59, 71)
+ { 0, { 0, 0, 0}}, // ( 60, 71)
+ { 0, { 0, 0, 0}}, // ( 61, 71)
+ { 0, { 0, 0, 0}}, // ( 62, 71)
+ { 0, { 0, 0, 0}}, // ( 63, 71)
+ { 0, { 0, 0, 0}}, // ( 64, 71)
+ { 0, { 0, 0, 0}}, // ( 65, 71)
+ { 0, { 0, 0, 0}}, // ( 66, 71)
+ { 0, { 0, 0, 0}}, // ( 67, 71)
+ { 0, { 0, 0, 0}}, // ( 68, 71)
+ { 0, { 0, 0, 0}}, // ( 69, 71)
+ { 0, { 0, 0, 0}}, // ( 70, 71)
+ { 0, { 0, 0, 0}}, // ( 71, 71)
+ { 0, { 0, 0, 0}}, // ( 72, 71)
+ { 0, { 0, 0, 0}}, // ( 73, 71)
+ { 0, { 0, 0, 0}}, // ( 74, 71)
+ { 0, { 0, 0, 0}}, // ( 75, 71)
+ { 0, { 0, 0, 0}}, // ( 76, 71)
+ { 0, { 0, 0, 0}}, // ( 77, 71)
+ { 0, { 0, 0, 0}}, // ( 78, 71)
+ { 0, { 0, 0, 0}}, // ( 79, 71)
+ { 0, { 0, 0, 0}}, // ( 80, 71)
+ { 0, { 0, 0, 0}}, // ( 81, 71)
+ { 0, { 0, 0, 0}}, // ( 82, 71)
+ { 0, { 0, 0, 0}}, // ( 83, 71)
+ { 0, { 0, 0, 0}}, // ( 84, 71)
+ { 0, { 0, 0, 0}}, // ( 85, 71)
+ { 0, { 0, 0, 0}}, // ( 86, 71)
+ { 0, { 0, 0, 0}}, // ( 87, 71)
+ { 0, { 0, 0, 0}}, // ( 88, 71)
+ { 0, { 0, 0, 0}}, // ( 89, 71)
+ { 0, { 0, 0, 0}}, // ( 90, 71)
+ { 0, { 0, 0, 0}}, // ( 91, 71)
+ { 0, { 0, 0, 0}}, // ( 92, 71)
+ { 0, { 0, 0, 0}}, // ( 93, 71)
+ { 0, { 0, 0, 0}}, // ( 94, 71)
+ { 0, { 0, 0, 0}}, // ( 95, 71)
+ { 0, { 0, 0, 0}}, // ( 96, 71)
+ { 0, { 0, 0, 0}}, // ( 97, 71)
+ { 0, { 0, 0, 0}}, // ( 98, 71)
+ { 0, { 0, 0, 0}}, // ( 99, 71)
+ { 0, { 0, 0, 0}}, // (100, 71)
+ { 0, { 0, 0, 0}}, // (101, 71)
+ { 0, { 0, 0, 0}}, // (102, 71)
+ { 0, { 0, 0, 0}}, // (103, 71)
+ { 0, { 0, 0, 0}}, // (104, 71)
+ { 0, { 0, 0, 0}}, // (105, 71)
+ { 0, { 0, 0, 0}}, // (106, 71)
+ { 0, { 0, 0, 0}}, // (107, 71)
+ { 0, { 0, 0, 0}}, // (108, 71)
+ { 0, { 0, 0, 0}}, // (109, 71)
+ { 0, { 0, 0, 0}}, // (110, 71)
+ { 0, { 0, 0, 0}}, // (111, 71)
+ { 0, { 0, 0, 0}}, // (112, 71)
+ { 0, { 0, 0, 0}}, // (113, 71)
+ { 0, { 0, 0, 0}}, // (114, 71)
+ { 0, { 0, 0, 0}}, // (115, 71)
+ { 0, { 0, 0, 0}}, // (116, 71)
+ { 0, { 0, 0, 0}}, // (117, 71)
+ { 0, { 0, 0, 0}}, // (118, 71)
+ { 0, { 0, 0, 0}}, // (119, 71)
+ { 0, { 0, 0, 0}}, // (120, 71)
+ { 0, { 0, 0, 0}}, // (121, 71)
+ { 0, { 0, 0, 0}}, // (122, 71)
+ { 0, { 0, 0, 0}}, // (123, 71)
+ { 0, { 0, 0, 0}}, // (124, 71)
+ { 0, { 0, 0, 0}}, // (125, 71)
+ { 0, { 0, 0, 0}}, // (126, 71)
+ { 0, { 0, 0, 0}}, // (127, 71)
+ { 0, { 0, 0, 0}}, // (128, 71)
+ { 0, { 0, 0, 0}}, // (129, 71)
+ { 0, { 0, 0, 0}}, // (130, 71)
+ { 0, { 0, 0, 0}}, // (131, 71)
+ { 0, { 0, 0, 0}}, // (132, 71)
+ { 0, { 0, 0, 0}}, // (133, 71)
+ { 0, { 0, 0, 0}}, // (134, 71)
+ { 0, { 0, 0, 0}}, // (135, 71)
+ { 0, { 0, 0, 0}}, // (136, 71)
+ { 0, { 0, 0, 0}}, // (137, 71)
+ { 0, { 0, 0, 0}}, // (138, 71)
+ { 0, { 0, 0, 0}}, // (139, 71)
+ { 0, { 0, 0, 0}}, // (140, 71)
+ { 0, { 0, 0, 0}}, // (141, 71)
+ { 0, { 0, 0, 0}}, // (142, 71)
+ { 0, { 0, 0, 0}}, // (143, 71)
+ { 0, { 0, 0, 0}}, // (144, 71)
+ { 0, { 0, 0, 0}}, // (145, 71)
+ { 0, { 0, 0, 0}}, // (146, 71)
+ { 0, { 0, 0, 0}}, // (147, 71)
+ { 0, { 0, 0, 0}}, // (148, 71)
+ { 0, { 0, 0, 0}}, // (149, 71)
+ { 0, { 0, 0, 0}}, // (150, 71)
+ { 0, { 0, 0, 0}}, // (151, 71)
+ { 0, { 0, 0, 0}}, // (152, 71)
+ { 0, { 0, 0, 0}}, // (153, 71)
+ { 0, { 0, 0, 0}}, // (154, 71)
+ { 0, { 0, 0, 0}}, // (155, 71)
+ { 0, { 0, 0, 0}}, // (156, 71)
+ { 0, { 0, 0, 0}}, // (157, 71)
+ { 0, { 0, 0, 0}}, // (158, 71)
+ { 0, { 0, 0, 0}}, // (159, 71)
+ { 0, { 0, 0, 0}}, // (160, 71)
+ { 0, { 0, 0, 0}}, // (161, 71)
+ { 0, { 0, 0, 0}}, // (162, 71)
+ { 0, { 0, 0, 0}}, // (163, 71)
+ { 0, { 0, 0, 0}}, // (164, 71)
+ { 0, { 0, 0, 0}}, // (165, 71)
+ { 0, { 0, 0, 0}}, // (166, 71)
+ { 0, { 0, 0, 0}}, // (167, 71)
+ { 0, { 0, 0, 0}}, // (168, 71)
+ { 0, { 0, 0, 0}}, // (169, 71)
+ { 0, { 0, 0, 0}}, // (170, 71)
+ { 0, { 0, 0, 0}}, // (171, 71)
+ { 0, { 0, 0, 0}}, // (172, 71)
+ { 0, { 0, 0, 0}}, // (173, 71)
+ { 0, { 0, 0, 0}}, // (174, 71)
+ { 1, { 0, 0, 0}}, // (175, 71)
+ {120, { 0, 0, 0}}, // (176, 71)
+ {128, { 0, 0, 0}}, // (177, 71)
+ {128, { 0, 0, 0}}, // (178, 71)
+ {128, { 0, 0, 0}}, // (179, 71)
+ {128, { 0, 0, 0}}, // ( 0, 72)
+ {128, { 0, 0, 0}}, // ( 1, 72)
+ {128, { 0, 0, 0}}, // ( 2, 72)
+ { 95, { 0, 0, 0}}, // ( 3, 72)
+ { 0, { 0, 0, 0}}, // ( 4, 72)
+ { 0, { 0, 0, 0}}, // ( 5, 72)
+ { 0, { 0, 0, 0}}, // ( 6, 72)
+ { 0, { 0, 0, 0}}, // ( 7, 72)
+ { 0, { 0, 0, 0}}, // ( 8, 72)
+ { 0, { 0, 0, 0}}, // ( 9, 72)
+ { 0, { 0, 0, 0}}, // ( 10, 72)
+ { 0, { 0, 0, 0}}, // ( 11, 72)
+ { 0, { 0, 0, 0}}, // ( 12, 72)
+ { 0, { 0, 0, 0}}, // ( 13, 72)
+ { 0, { 0, 0, 0}}, // ( 14, 72)
+ { 0, { 0, 0, 0}}, // ( 15, 72)
+ { 0, { 0, 0, 0}}, // ( 16, 72)
+ { 0, { 0, 0, 0}}, // ( 17, 72)
+ { 0, { 0, 0, 0}}, // ( 18, 72)
+ { 0, { 0, 0, 0}}, // ( 19, 72)
+ { 0, { 0, 0, 0}}, // ( 20, 72)
+ { 0, { 0, 0, 0}}, // ( 21, 72)
+ { 0, { 0, 0, 0}}, // ( 22, 72)
+ { 0, { 0, 0, 0}}, // ( 23, 72)
+ { 0, { 0, 0, 0}}, // ( 24, 72)
+ { 0, { 0, 0, 0}}, // ( 25, 72)
+ { 0, { 0, 0, 0}}, // ( 26, 72)
+ { 0, { 0, 0, 0}}, // ( 27, 72)
+ { 0, { 0, 0, 0}}, // ( 28, 72)
+ { 0, { 0, 0, 0}}, // ( 29, 72)
+ { 0, { 0, 0, 0}}, // ( 30, 72)
+ { 0, { 0, 0, 0}}, // ( 31, 72)
+ { 0, { 0, 0, 0}}, // ( 32, 72)
+ { 0, { 0, 0, 0}}, // ( 33, 72)
+ { 0, { 0, 0, 0}}, // ( 34, 72)
+ { 0, { 0, 0, 0}}, // ( 35, 72)
+ { 0, { 0, 0, 0}}, // ( 36, 72)
+ { 0, { 0, 0, 0}}, // ( 37, 72)
+ { 0, { 0, 0, 0}}, // ( 38, 72)
+ { 0, { 0, 0, 0}}, // ( 39, 72)
+ { 0, { 0, 0, 0}}, // ( 40, 72)
+ { 0, { 0, 0, 0}}, // ( 41, 72)
+ { 0, { 0, 0, 0}}, // ( 42, 72)
+ { 0, { 0, 0, 0}}, // ( 43, 72)
+ { 0, { 0, 0, 0}}, // ( 44, 72)
+ { 0, { 0, 0, 0}}, // ( 45, 72)
+ { 0, { 0, 0, 0}}, // ( 46, 72)
+ { 0, { 0, 0, 0}}, // ( 47, 72)
+ { 0, { 0, 0, 0}}, // ( 48, 72)
+ { 0, { 0, 0, 0}}, // ( 49, 72)
+ { 0, { 0, 0, 0}}, // ( 50, 72)
+ { 0, { 0, 0, 0}}, // ( 51, 72)
+ { 0, { 0, 0, 0}}, // ( 52, 72)
+ { 0, { 0, 0, 0}}, // ( 53, 72)
+ { 0, { 0, 0, 0}}, // ( 54, 72)
+ { 0, { 0, 0, 0}}, // ( 55, 72)
+ { 0, { 0, 0, 0}}, // ( 56, 72)
+ { 0, { 0, 0, 0}}, // ( 57, 72)
+ { 0, { 0, 0, 0}}, // ( 58, 72)
+ { 0, { 0, 0, 0}}, // ( 59, 72)
+ { 0, { 0, 0, 0}}, // ( 60, 72)
+ { 0, { 0, 0, 0}}, // ( 61, 72)
+ { 0, { 0, 0, 0}}, // ( 62, 72)
+ { 0, { 0, 0, 0}}, // ( 63, 72)
+ { 0, { 0, 0, 0}}, // ( 64, 72)
+ { 0, { 0, 0, 0}}, // ( 65, 72)
+ { 0, { 0, 0, 0}}, // ( 66, 72)
+ { 0, { 0, 0, 0}}, // ( 67, 72)
+ { 0, { 0, 0, 0}}, // ( 68, 72)
+ { 0, { 0, 0, 0}}, // ( 69, 72)
+ { 0, { 0, 0, 0}}, // ( 70, 72)
+ { 0, { 0, 0, 0}}, // ( 71, 72)
+ { 0, { 0, 0, 0}}, // ( 72, 72)
+ { 0, { 0, 0, 0}}, // ( 73, 72)
+ { 0, { 0, 0, 0}}, // ( 74, 72)
+ { 0, { 0, 0, 0}}, // ( 75, 72)
+ { 0, { 0, 0, 0}}, // ( 76, 72)
+ { 0, { 0, 0, 0}}, // ( 77, 72)
+ { 0, { 0, 0, 0}}, // ( 78, 72)
+ { 0, { 0, 0, 0}}, // ( 79, 72)
+ { 0, { 0, 0, 0}}, // ( 80, 72)
+ { 0, { 0, 0, 0}}, // ( 81, 72)
+ { 0, { 0, 0, 0}}, // ( 82, 72)
+ { 0, { 0, 0, 0}}, // ( 83, 72)
+ { 0, { 0, 0, 0}}, // ( 84, 72)
+ { 0, { 0, 0, 0}}, // ( 85, 72)
+ { 0, { 0, 0, 0}}, // ( 86, 72)
+ { 0, { 0, 0, 0}}, // ( 87, 72)
+ { 0, { 0, 0, 0}}, // ( 88, 72)
+ { 0, { 0, 0, 0}}, // ( 89, 72)
+ { 0, { 0, 0, 0}}, // ( 90, 72)
+ { 0, { 0, 0, 0}}, // ( 91, 72)
+ { 0, { 0, 0, 0}}, // ( 92, 72)
+ { 0, { 0, 0, 0}}, // ( 93, 72)
+ { 0, { 0, 0, 0}}, // ( 94, 72)
+ { 0, { 0, 0, 0}}, // ( 95, 72)
+ { 0, { 0, 0, 0}}, // ( 96, 72)
+ { 0, { 0, 0, 0}}, // ( 97, 72)
+ { 0, { 0, 0, 0}}, // ( 98, 72)
+ { 0, { 0, 0, 0}}, // ( 99, 72)
+ { 0, { 0, 0, 0}}, // (100, 72)
+ { 0, { 0, 0, 0}}, // (101, 72)
+ { 0, { 0, 0, 0}}, // (102, 72)
+ { 0, { 0, 0, 0}}, // (103, 72)
+ { 0, { 0, 0, 0}}, // (104, 72)
+ { 0, { 0, 0, 0}}, // (105, 72)
+ { 0, { 0, 0, 0}}, // (106, 72)
+ { 0, { 0, 0, 0}}, // (107, 72)
+ { 0, { 0, 0, 0}}, // (108, 72)
+ { 0, { 0, 0, 0}}, // (109, 72)
+ { 0, { 0, 0, 0}}, // (110, 72)
+ { 0, { 0, 0, 0}}, // (111, 72)
+ { 0, { 0, 0, 0}}, // (112, 72)
+ { 0, { 0, 0, 0}}, // (113, 72)
+ { 0, { 0, 0, 0}}, // (114, 72)
+ { 0, { 0, 0, 0}}, // (115, 72)
+ { 0, { 0, 0, 0}}, // (116, 72)
+ { 0, { 0, 0, 0}}, // (117, 72)
+ { 0, { 0, 0, 0}}, // (118, 72)
+ { 0, { 0, 0, 0}}, // (119, 72)
+ { 0, { 0, 0, 0}}, // (120, 72)
+ { 0, { 0, 0, 0}}, // (121, 72)
+ { 0, { 0, 0, 0}}, // (122, 72)
+ { 0, { 0, 0, 0}}, // (123, 72)
+ { 0, { 0, 0, 0}}, // (124, 72)
+ { 0, { 0, 0, 0}}, // (125, 72)
+ { 0, { 0, 0, 0}}, // (126, 72)
+ { 0, { 0, 0, 0}}, // (127, 72)
+ { 0, { 0, 0, 0}}, // (128, 72)
+ { 0, { 0, 0, 0}}, // (129, 72)
+ { 0, { 0, 0, 0}}, // (130, 72)
+ { 0, { 0, 0, 0}}, // (131, 72)
+ { 0, { 0, 0, 0}}, // (132, 72)
+ { 0, { 0, 0, 0}}, // (133, 72)
+ { 0, { 0, 0, 0}}, // (134, 72)
+ { 0, { 0, 0, 0}}, // (135, 72)
+ { 0, { 0, 0, 0}}, // (136, 72)
+ { 0, { 0, 0, 0}}, // (137, 72)
+ { 0, { 0, 0, 0}}, // (138, 72)
+ { 0, { 0, 0, 0}}, // (139, 72)
+ { 0, { 0, 0, 0}}, // (140, 72)
+ { 0, { 0, 0, 0}}, // (141, 72)
+ { 0, { 0, 0, 0}}, // (142, 72)
+ { 0, { 0, 0, 0}}, // (143, 72)
+ { 0, { 0, 0, 0}}, // (144, 72)
+ { 0, { 0, 0, 0}}, // (145, 72)
+ { 0, { 0, 0, 0}}, // (146, 72)
+ { 0, { 0, 0, 0}}, // (147, 72)
+ { 0, { 0, 0, 0}}, // (148, 72)
+ { 0, { 0, 0, 0}}, // (149, 72)
+ { 0, { 0, 0, 0}}, // (150, 72)
+ { 0, { 0, 0, 0}}, // (151, 72)
+ { 0, { 0, 0, 0}}, // (152, 72)
+ { 0, { 0, 0, 0}}, // (153, 72)
+ { 0, { 0, 0, 0}}, // (154, 72)
+ { 0, { 0, 0, 0}}, // (155, 72)
+ { 0, { 0, 0, 0}}, // (156, 72)
+ { 0, { 0, 0, 0}}, // (157, 72)
+ { 0, { 0, 0, 0}}, // (158, 72)
+ { 0, { 0, 0, 0}}, // (159, 72)
+ { 0, { 0, 0, 0}}, // (160, 72)
+ { 0, { 0, 0, 0}}, // (161, 72)
+ { 0, { 0, 0, 0}}, // (162, 72)
+ { 0, { 0, 0, 0}}, // (163, 72)
+ { 0, { 0, 0, 0}}, // (164, 72)
+ { 0, { 0, 0, 0}}, // (165, 72)
+ { 0, { 0, 0, 0}}, // (166, 72)
+ { 0, { 0, 0, 0}}, // (167, 72)
+ { 0, { 0, 0, 0}}, // (168, 72)
+ { 0, { 0, 0, 0}}, // (169, 72)
+ { 0, { 0, 0, 0}}, // (170, 72)
+ { 0, { 0, 0, 0}}, // (171, 72)
+ { 0, { 0, 0, 0}}, // (172, 72)
+ { 0, { 0, 0, 0}}, // (173, 72)
+ { 0, { 0, 0, 0}}, // (174, 72)
+ { 0, { 0, 0, 0}}, // (175, 72)
+ { 95, { 0, 0, 0}}, // (176, 72)
+ {128, { 0, 0, 0}}, // (177, 72)
+ {128, { 0, 0, 0}}, // (178, 72)
+ {128, { 0, 0, 0}}, // (179, 72)
+ {128, { 0, 0, 0}}, // ( 0, 73)
+ {128, { 0, 0, 0}}, // ( 1, 73)
+ {128, { 0, 0, 0}}, // ( 2, 73)
+ { 72, { 0, 0, 0}}, // ( 3, 73)
+ { 0, { 0, 0, 0}}, // ( 4, 73)
+ { 0, { 0, 0, 0}}, // ( 5, 73)
+ { 0, { 0, 0, 0}}, // ( 6, 73)
+ { 0, { 0, 0, 0}}, // ( 7, 73)
+ { 0, { 0, 0, 0}}, // ( 8, 73)
+ { 0, { 0, 0, 0}}, // ( 9, 73)
+ { 0, { 0, 0, 0}}, // ( 10, 73)
+ { 0, { 0, 0, 0}}, // ( 11, 73)
+ { 0, { 0, 0, 0}}, // ( 12, 73)
+ { 0, { 0, 0, 0}}, // ( 13, 73)
+ { 0, { 0, 0, 0}}, // ( 14, 73)
+ { 0, { 0, 0, 0}}, // ( 15, 73)
+ { 0, { 0, 0, 0}}, // ( 16, 73)
+ { 0, { 0, 0, 0}}, // ( 17, 73)
+ { 0, { 0, 0, 0}}, // ( 18, 73)
+ { 0, { 0, 0, 0}}, // ( 19, 73)
+ { 0, { 0, 0, 0}}, // ( 20, 73)
+ { 0, { 0, 0, 0}}, // ( 21, 73)
+ { 0, { 0, 0, 0}}, // ( 22, 73)
+ { 0, { 0, 0, 0}}, // ( 23, 73)
+ { 0, { 0, 0, 0}}, // ( 24, 73)
+ { 0, { 0, 0, 0}}, // ( 25, 73)
+ { 0, { 0, 0, 0}}, // ( 26, 73)
+ { 0, { 0, 0, 0}}, // ( 27, 73)
+ { 0, { 0, 0, 0}}, // ( 28, 73)
+ { 0, { 0, 0, 0}}, // ( 29, 73)
+ { 0, { 0, 0, 0}}, // ( 30, 73)
+ { 0, { 0, 0, 0}}, // ( 31, 73)
+ { 0, { 0, 0, 0}}, // ( 32, 73)
+ { 0, { 0, 0, 0}}, // ( 33, 73)
+ { 0, { 0, 0, 0}}, // ( 34, 73)
+ { 0, { 0, 0, 0}}, // ( 35, 73)
+ { 0, { 0, 0, 0}}, // ( 36, 73)
+ { 0, { 0, 0, 0}}, // ( 37, 73)
+ { 0, { 0, 0, 0}}, // ( 38, 73)
+ { 0, { 0, 0, 0}}, // ( 39, 73)
+ { 0, { 0, 0, 0}}, // ( 40, 73)
+ { 0, { 0, 0, 0}}, // ( 41, 73)
+ { 0, { 0, 0, 0}}, // ( 42, 73)
+ { 0, { 0, 0, 0}}, // ( 43, 73)
+ { 0, { 0, 0, 0}}, // ( 44, 73)
+ { 0, { 0, 0, 0}}, // ( 45, 73)
+ { 0, { 0, 0, 0}}, // ( 46, 73)
+ { 0, { 0, 0, 0}}, // ( 47, 73)
+ { 0, { 0, 0, 0}}, // ( 48, 73)
+ { 0, { 0, 0, 0}}, // ( 49, 73)
+ { 0, { 0, 0, 0}}, // ( 50, 73)
+ { 0, { 0, 0, 0}}, // ( 51, 73)
+ { 0, { 0, 0, 0}}, // ( 52, 73)
+ { 0, { 0, 0, 0}}, // ( 53, 73)
+ { 0, { 0, 0, 0}}, // ( 54, 73)
+ { 0, { 0, 0, 0}}, // ( 55, 73)
+ { 0, { 0, 0, 0}}, // ( 56, 73)
+ { 0, { 0, 0, 0}}, // ( 57, 73)
+ { 0, { 0, 0, 0}}, // ( 58, 73)
+ { 0, { 0, 0, 0}}, // ( 59, 73)
+ { 0, { 0, 0, 0}}, // ( 60, 73)
+ { 0, { 0, 0, 0}}, // ( 61, 73)
+ { 0, { 0, 0, 0}}, // ( 62, 73)
+ { 0, { 0, 0, 0}}, // ( 63, 73)
+ { 0, { 0, 0, 0}}, // ( 64, 73)
+ { 0, { 0, 0, 0}}, // ( 65, 73)
+ { 0, { 0, 0, 0}}, // ( 66, 73)
+ { 0, { 0, 0, 0}}, // ( 67, 73)
+ { 0, { 0, 0, 0}}, // ( 68, 73)
+ { 0, { 0, 0, 0}}, // ( 69, 73)
+ { 0, { 0, 0, 0}}, // ( 70, 73)
+ { 0, { 0, 0, 0}}, // ( 71, 73)
+ { 0, { 0, 0, 0}}, // ( 72, 73)
+ { 0, { 0, 0, 0}}, // ( 73, 73)
+ { 0, { 0, 0, 0}}, // ( 74, 73)
+ { 0, { 0, 0, 0}}, // ( 75, 73)
+ { 0, { 0, 0, 0}}, // ( 76, 73)
+ { 0, { 0, 0, 0}}, // ( 77, 73)
+ { 0, { 0, 0, 0}}, // ( 78, 73)
+ { 0, { 0, 0, 0}}, // ( 79, 73)
+ { 0, { 0, 0, 0}}, // ( 80, 73)
+ { 0, { 0, 0, 0}}, // ( 81, 73)
+ { 0, { 0, 0, 0}}, // ( 82, 73)
+ { 0, { 0, 0, 0}}, // ( 83, 73)
+ { 0, { 0, 0, 0}}, // ( 84, 73)
+ { 0, { 0, 0, 0}}, // ( 85, 73)
+ { 0, { 0, 0, 0}}, // ( 86, 73)
+ { 0, { 0, 0, 0}}, // ( 87, 73)
+ { 0, { 0, 0, 0}}, // ( 88, 73)
+ { 0, { 0, 0, 0}}, // ( 89, 73)
+ { 0, { 0, 0, 0}}, // ( 90, 73)
+ { 0, { 0, 0, 0}}, // ( 91, 73)
+ { 0, { 0, 0, 0}}, // ( 92, 73)
+ { 0, { 0, 0, 0}}, // ( 93, 73)
+ { 0, { 0, 0, 0}}, // ( 94, 73)
+ { 0, { 0, 0, 0}}, // ( 95, 73)
+ { 0, { 0, 0, 0}}, // ( 96, 73)
+ { 0, { 0, 0, 0}}, // ( 97, 73)
+ { 0, { 0, 0, 0}}, // ( 98, 73)
+ { 0, { 0, 0, 0}}, // ( 99, 73)
+ { 0, { 0, 0, 0}}, // (100, 73)
+ { 0, { 0, 0, 0}}, // (101, 73)
+ { 0, { 0, 0, 0}}, // (102, 73)
+ { 0, { 0, 0, 0}}, // (103, 73)
+ { 0, { 0, 0, 0}}, // (104, 73)
+ { 0, { 0, 0, 0}}, // (105, 73)
+ { 0, { 0, 0, 0}}, // (106, 73)
+ { 0, { 0, 0, 0}}, // (107, 73)
+ { 0, { 0, 0, 0}}, // (108, 73)
+ { 0, { 0, 0, 0}}, // (109, 73)
+ { 0, { 0, 0, 0}}, // (110, 73)
+ { 0, { 0, 0, 0}}, // (111, 73)
+ { 0, { 0, 0, 0}}, // (112, 73)
+ { 0, { 0, 0, 0}}, // (113, 73)
+ { 0, { 0, 0, 0}}, // (114, 73)
+ { 0, { 0, 0, 0}}, // (115, 73)
+ { 0, { 0, 0, 0}}, // (116, 73)
+ { 0, { 0, 0, 0}}, // (117, 73)
+ { 0, { 0, 0, 0}}, // (118, 73)
+ { 0, { 0, 0, 0}}, // (119, 73)
+ { 0, { 0, 0, 0}}, // (120, 73)
+ { 0, { 0, 0, 0}}, // (121, 73)
+ { 0, { 0, 0, 0}}, // (122, 73)
+ { 0, { 0, 0, 0}}, // (123, 73)
+ { 0, { 0, 0, 0}}, // (124, 73)
+ { 0, { 0, 0, 0}}, // (125, 73)
+ { 0, { 0, 0, 0}}, // (126, 73)
+ { 0, { 0, 0, 0}}, // (127, 73)
+ { 0, { 0, 0, 0}}, // (128, 73)
+ { 0, { 0, 0, 0}}, // (129, 73)
+ { 0, { 0, 0, 0}}, // (130, 73)
+ { 0, { 0, 0, 0}}, // (131, 73)
+ { 0, { 0, 0, 0}}, // (132, 73)
+ { 0, { 0, 0, 0}}, // (133, 73)
+ { 0, { 0, 0, 0}}, // (134, 73)
+ { 0, { 0, 0, 0}}, // (135, 73)
+ { 0, { 0, 0, 0}}, // (136, 73)
+ { 0, { 0, 0, 0}}, // (137, 73)
+ { 0, { 0, 0, 0}}, // (138, 73)
+ { 0, { 0, 0, 0}}, // (139, 73)
+ { 0, { 0, 0, 0}}, // (140, 73)
+ { 0, { 0, 0, 0}}, // (141, 73)
+ { 0, { 0, 0, 0}}, // (142, 73)
+ { 0, { 0, 0, 0}}, // (143, 73)
+ { 0, { 0, 0, 0}}, // (144, 73)
+ { 0, { 0, 0, 0}}, // (145, 73)
+ { 0, { 0, 0, 0}}, // (146, 73)
+ { 0, { 0, 0, 0}}, // (147, 73)
+ { 0, { 0, 0, 0}}, // (148, 73)
+ { 0, { 0, 0, 0}}, // (149, 73)
+ { 0, { 0, 0, 0}}, // (150, 73)
+ { 0, { 0, 0, 0}}, // (151, 73)
+ { 0, { 0, 0, 0}}, // (152, 73)
+ { 0, { 0, 0, 0}}, // (153, 73)
+ { 0, { 0, 0, 0}}, // (154, 73)
+ { 0, { 0, 0, 0}}, // (155, 73)
+ { 0, { 0, 0, 0}}, // (156, 73)
+ { 0, { 0, 0, 0}}, // (157, 73)
+ { 0, { 0, 0, 0}}, // (158, 73)
+ { 0, { 0, 0, 0}}, // (159, 73)
+ { 0, { 0, 0, 0}}, // (160, 73)
+ { 0, { 0, 0, 0}}, // (161, 73)
+ { 0, { 0, 0, 0}}, // (162, 73)
+ { 0, { 0, 0, 0}}, // (163, 73)
+ { 0, { 0, 0, 0}}, // (164, 73)
+ { 0, { 0, 0, 0}}, // (165, 73)
+ { 0, { 0, 0, 0}}, // (166, 73)
+ { 0, { 0, 0, 0}}, // (167, 73)
+ { 0, { 0, 0, 0}}, // (168, 73)
+ { 0, { 0, 0, 0}}, // (169, 73)
+ { 0, { 0, 0, 0}}, // (170, 73)
+ { 0, { 0, 0, 0}}, // (171, 73)
+ { 0, { 0, 0, 0}}, // (172, 73)
+ { 0, { 0, 0, 0}}, // (173, 73)
+ { 0, { 0, 0, 0}}, // (174, 73)
+ { 0, { 0, 0, 0}}, // (175, 73)
+ { 70, { 0, 0, 0}}, // (176, 73)
+ {128, { 0, 0, 0}}, // (177, 73)
+ {128, { 0, 0, 0}}, // (178, 73)
+ {128, { 0, 0, 0}}, // (179, 73)
+ {128, { 0, 0, 0}}, // ( 0, 74)
+ {128, { 0, 0, 0}}, // ( 1, 74)
+ {128, { 0, 0, 0}}, // ( 2, 74)
+ { 50, { 0, 0, 0}}, // ( 3, 74)
+ { 0, { 0, 0, 0}}, // ( 4, 74)
+ { 0, { 0, 0, 0}}, // ( 5, 74)
+ { 0, { 0, 0, 0}}, // ( 6, 74)
+ { 0, { 0, 0, 0}}, // ( 7, 74)
+ { 0, { 0, 0, 0}}, // ( 8, 74)
+ { 0, { 0, 0, 0}}, // ( 9, 74)
+ { 0, { 0, 0, 0}}, // ( 10, 74)
+ { 0, { 0, 0, 0}}, // ( 11, 74)
+ { 0, { 0, 0, 0}}, // ( 12, 74)
+ { 0, { 0, 0, 0}}, // ( 13, 74)
+ { 0, { 0, 0, 0}}, // ( 14, 74)
+ { 0, { 0, 0, 0}}, // ( 15, 74)
+ { 0, { 0, 0, 0}}, // ( 16, 74)
+ { 0, { 0, 0, 0}}, // ( 17, 74)
+ { 0, { 0, 0, 0}}, // ( 18, 74)
+ { 0, { 0, 0, 0}}, // ( 19, 74)
+ { 0, { 0, 0, 0}}, // ( 20, 74)
+ { 0, { 0, 0, 0}}, // ( 21, 74)
+ { 0, { 0, 0, 0}}, // ( 22, 74)
+ { 0, { 0, 0, 0}}, // ( 23, 74)
+ { 0, { 0, 0, 0}}, // ( 24, 74)
+ { 0, { 0, 0, 0}}, // ( 25, 74)
+ { 0, { 0, 0, 0}}, // ( 26, 74)
+ { 0, { 0, 0, 0}}, // ( 27, 74)
+ { 0, { 0, 0, 0}}, // ( 28, 74)
+ { 0, { 0, 0, 0}}, // ( 29, 74)
+ { 0, { 0, 0, 0}}, // ( 30, 74)
+ { 0, { 0, 0, 0}}, // ( 31, 74)
+ { 0, { 0, 0, 0}}, // ( 32, 74)
+ { 0, { 0, 0, 0}}, // ( 33, 74)
+ { 0, { 0, 0, 0}}, // ( 34, 74)
+ { 0, { 0, 0, 0}}, // ( 35, 74)
+ { 0, { 0, 0, 0}}, // ( 36, 74)
+ { 0, { 0, 0, 0}}, // ( 37, 74)
+ { 0, { 0, 0, 0}}, // ( 38, 74)
+ { 0, { 0, 0, 0}}, // ( 39, 74)
+ { 0, { 0, 0, 0}}, // ( 40, 74)
+ { 0, { 0, 0, 0}}, // ( 41, 74)
+ { 0, { 0, 0, 0}}, // ( 42, 74)
+ { 0, { 0, 0, 0}}, // ( 43, 74)
+ { 0, { 0, 0, 0}}, // ( 44, 74)
+ { 0, { 0, 0, 0}}, // ( 45, 74)
+ { 0, { 0, 0, 0}}, // ( 46, 74)
+ { 0, { 0, 0, 0}}, // ( 47, 74)
+ { 0, { 0, 0, 0}}, // ( 48, 74)
+ { 0, { 0, 0, 0}}, // ( 49, 74)
+ { 0, { 0, 0, 0}}, // ( 50, 74)
+ { 0, { 0, 0, 0}}, // ( 51, 74)
+ { 0, { 0, 0, 0}}, // ( 52, 74)
+ { 0, { 0, 0, 0}}, // ( 53, 74)
+ { 0, { 0, 0, 0}}, // ( 54, 74)
+ { 0, { 0, 0, 0}}, // ( 55, 74)
+ { 0, { 0, 0, 0}}, // ( 56, 74)
+ { 0, { 0, 0, 0}}, // ( 57, 74)
+ { 0, { 0, 0, 0}}, // ( 58, 74)
+ { 0, { 0, 0, 0}}, // ( 59, 74)
+ { 0, { 0, 0, 0}}, // ( 60, 74)
+ { 0, { 0, 0, 0}}, // ( 61, 74)
+ { 0, { 0, 0, 0}}, // ( 62, 74)
+ { 0, { 0, 0, 0}}, // ( 63, 74)
+ { 0, { 0, 0, 0}}, // ( 64, 74)
+ { 0, { 0, 0, 0}}, // ( 65, 74)
+ { 0, { 0, 0, 0}}, // ( 66, 74)
+ { 0, { 0, 0, 0}}, // ( 67, 74)
+ { 0, { 0, 0, 0}}, // ( 68, 74)
+ { 0, { 0, 0, 0}}, // ( 69, 74)
+ { 0, { 0, 0, 0}}, // ( 70, 74)
+ { 0, { 0, 0, 0}}, // ( 71, 74)
+ { 0, { 0, 0, 0}}, // ( 72, 74)
+ { 0, { 0, 0, 0}}, // ( 73, 74)
+ { 0, { 0, 0, 0}}, // ( 74, 74)
+ { 0, { 0, 0, 0}}, // ( 75, 74)
+ { 0, { 0, 0, 0}}, // ( 76, 74)
+ { 0, { 0, 0, 0}}, // ( 77, 74)
+ { 0, { 0, 0, 0}}, // ( 78, 74)
+ { 0, { 0, 0, 0}}, // ( 79, 74)
+ { 0, { 0, 0, 0}}, // ( 80, 74)
+ { 0, { 0, 0, 0}}, // ( 81, 74)
+ { 0, { 0, 0, 0}}, // ( 82, 74)
+ { 0, { 0, 0, 0}}, // ( 83, 74)
+ { 0, { 0, 0, 0}}, // ( 84, 74)
+ { 0, { 0, 0, 0}}, // ( 85, 74)
+ { 0, { 0, 0, 0}}, // ( 86, 74)
+ { 0, { 0, 0, 0}}, // ( 87, 74)
+ { 0, { 0, 0, 0}}, // ( 88, 74)
+ { 0, { 0, 0, 0}}, // ( 89, 74)
+ { 0, { 0, 0, 0}}, // ( 90, 74)
+ { 0, { 0, 0, 0}}, // ( 91, 74)
+ { 0, { 0, 0, 0}}, // ( 92, 74)
+ { 0, { 0, 0, 0}}, // ( 93, 74)
+ { 0, { 0, 0, 0}}, // ( 94, 74)
+ { 0, { 0, 0, 0}}, // ( 95, 74)
+ { 0, { 0, 0, 0}}, // ( 96, 74)
+ { 0, { 0, 0, 0}}, // ( 97, 74)
+ { 0, { 0, 0, 0}}, // ( 98, 74)
+ { 0, { 0, 0, 0}}, // ( 99, 74)
+ { 0, { 0, 0, 0}}, // (100, 74)
+ { 0, { 0, 0, 0}}, // (101, 74)
+ { 0, { 0, 0, 0}}, // (102, 74)
+ { 0, { 0, 0, 0}}, // (103, 74)
+ { 0, { 0, 0, 0}}, // (104, 74)
+ { 0, { 0, 0, 0}}, // (105, 74)
+ { 0, { 0, 0, 0}}, // (106, 74)
+ { 0, { 0, 0, 0}}, // (107, 74)
+ { 0, { 0, 0, 0}}, // (108, 74)
+ { 0, { 0, 0, 0}}, // (109, 74)
+ { 0, { 0, 0, 0}}, // (110, 74)
+ { 0, { 0, 0, 0}}, // (111, 74)
+ { 0, { 0, 0, 0}}, // (112, 74)
+ { 0, { 0, 0, 0}}, // (113, 74)
+ { 0, { 0, 0, 0}}, // (114, 74)
+ { 0, { 0, 0, 0}}, // (115, 74)
+ { 0, { 0, 0, 0}}, // (116, 74)
+ { 0, { 0, 0, 0}}, // (117, 74)
+ { 0, { 0, 0, 0}}, // (118, 74)
+ { 0, { 0, 0, 0}}, // (119, 74)
+ { 0, { 0, 0, 0}}, // (120, 74)
+ { 0, { 0, 0, 0}}, // (121, 74)
+ { 0, { 0, 0, 0}}, // (122, 74)
+ { 0, { 0, 0, 0}}, // (123, 74)
+ { 0, { 0, 0, 0}}, // (124, 74)
+ { 0, { 0, 0, 0}}, // (125, 74)
+ { 0, { 0, 0, 0}}, // (126, 74)
+ { 0, { 0, 0, 0}}, // (127, 74)
+ { 0, { 0, 0, 0}}, // (128, 74)
+ { 0, { 0, 0, 0}}, // (129, 74)
+ { 0, { 0, 0, 0}}, // (130, 74)
+ { 0, { 0, 0, 0}}, // (131, 74)
+ { 0, { 0, 0, 0}}, // (132, 74)
+ { 0, { 0, 0, 0}}, // (133, 74)
+ { 0, { 0, 0, 0}}, // (134, 74)
+ { 0, { 0, 0, 0}}, // (135, 74)
+ { 0, { 0, 0, 0}}, // (136, 74)
+ { 0, { 0, 0, 0}}, // (137, 74)
+ { 0, { 0, 0, 0}}, // (138, 74)
+ { 0, { 0, 0, 0}}, // (139, 74)
+ { 0, { 0, 0, 0}}, // (140, 74)
+ { 0, { 0, 0, 0}}, // (141, 74)
+ { 0, { 0, 0, 0}}, // (142, 74)
+ { 0, { 0, 0, 0}}, // (143, 74)
+ { 0, { 0, 0, 0}}, // (144, 74)
+ { 0, { 0, 0, 0}}, // (145, 74)
+ { 0, { 0, 0, 0}}, // (146, 74)
+ { 0, { 0, 0, 0}}, // (147, 74)
+ { 0, { 0, 0, 0}}, // (148, 74)
+ { 0, { 0, 0, 0}}, // (149, 74)
+ { 0, { 0, 0, 0}}, // (150, 74)
+ { 0, { 0, 0, 0}}, // (151, 74)
+ { 0, { 0, 0, 0}}, // (152, 74)
+ { 0, { 0, 0, 0}}, // (153, 74)
+ { 0, { 0, 0, 0}}, // (154, 74)
+ { 0, { 0, 0, 0}}, // (155, 74)
+ { 0, { 0, 0, 0}}, // (156, 74)
+ { 0, { 0, 0, 0}}, // (157, 74)
+ { 0, { 0, 0, 0}}, // (158, 74)
+ { 0, { 0, 0, 0}}, // (159, 74)
+ { 0, { 0, 0, 0}}, // (160, 74)
+ { 0, { 0, 0, 0}}, // (161, 74)
+ { 0, { 0, 0, 0}}, // (162, 74)
+ { 0, { 0, 0, 0}}, // (163, 74)
+ { 0, { 0, 0, 0}}, // (164, 74)
+ { 0, { 0, 0, 0}}, // (165, 74)
+ { 0, { 0, 0, 0}}, // (166, 74)
+ { 0, { 0, 0, 0}}, // (167, 74)
+ { 0, { 0, 0, 0}}, // (168, 74)
+ { 0, { 0, 0, 0}}, // (169, 74)
+ { 0, { 0, 0, 0}}, // (170, 74)
+ { 0, { 0, 0, 0}}, // (171, 74)
+ { 0, { 0, 0, 0}}, // (172, 74)
+ { 0, { 0, 0, 0}}, // (173, 74)
+ { 0, { 0, 0, 0}}, // (174, 74)
+ { 0, { 0, 0, 0}}, // (175, 74)
+ { 47, { 0, 0, 0}}, // (176, 74)
+ {128, { 0, 0, 0}}, // (177, 74)
+ {128, { 0, 0, 0}}, // (178, 74)
+ {128, { 0, 0, 0}}, // (179, 74)
+ {128, { 0, 0, 0}}, // ( 0, 75)
+ {128, { 0, 0, 0}}, // ( 1, 75)
+ {128, { 0, 0, 0}}, // ( 2, 75)
+ { 27, { 0, 0, 0}}, // ( 3, 75)
+ { 0, { 0, 0, 0}}, // ( 4, 75)
+ { 0, { 0, 0, 0}}, // ( 5, 75)
+ { 0, { 0, 0, 0}}, // ( 6, 75)
+ { 0, { 0, 0, 0}}, // ( 7, 75)
+ { 0, { 0, 0, 0}}, // ( 8, 75)
+ { 0, { 0, 0, 0}}, // ( 9, 75)
+ { 0, { 0, 0, 0}}, // ( 10, 75)
+ { 0, { 0, 0, 0}}, // ( 11, 75)
+ { 0, { 0, 0, 0}}, // ( 12, 75)
+ { 0, { 0, 0, 0}}, // ( 13, 75)
+ { 0, { 0, 0, 0}}, // ( 14, 75)
+ { 0, { 0, 0, 0}}, // ( 15, 75)
+ { 0, { 0, 0, 0}}, // ( 16, 75)
+ { 0, { 0, 0, 0}}, // ( 17, 75)
+ { 0, { 0, 0, 0}}, // ( 18, 75)
+ { 0, { 0, 0, 0}}, // ( 19, 75)
+ { 0, { 0, 0, 0}}, // ( 20, 75)
+ { 0, { 0, 0, 0}}, // ( 21, 75)
+ { 0, { 0, 0, 0}}, // ( 22, 75)
+ { 0, { 0, 0, 0}}, // ( 23, 75)
+ { 0, { 0, 0, 0}}, // ( 24, 75)
+ { 0, { 0, 0, 0}}, // ( 25, 75)
+ { 0, { 0, 0, 0}}, // ( 26, 75)
+ { 0, { 0, 0, 0}}, // ( 27, 75)
+ { 0, { 0, 0, 0}}, // ( 28, 75)
+ { 0, { 0, 0, 0}}, // ( 29, 75)
+ { 0, { 0, 0, 0}}, // ( 30, 75)
+ { 0, { 0, 0, 0}}, // ( 31, 75)
+ { 0, { 0, 0, 0}}, // ( 32, 75)
+ { 0, { 0, 0, 0}}, // ( 33, 75)
+ { 0, { 0, 0, 0}}, // ( 34, 75)
+ { 0, { 0, 0, 0}}, // ( 35, 75)
+ { 0, { 0, 0, 0}}, // ( 36, 75)
+ { 0, { 0, 0, 0}}, // ( 37, 75)
+ { 0, { 0, 0, 0}}, // ( 38, 75)
+ { 0, { 0, 0, 0}}, // ( 39, 75)
+ { 0, { 0, 0, 0}}, // ( 40, 75)
+ { 0, { 0, 0, 0}}, // ( 41, 75)
+ { 0, { 0, 0, 0}}, // ( 42, 75)
+ { 0, { 0, 0, 0}}, // ( 43, 75)
+ { 0, { 0, 0, 0}}, // ( 44, 75)
+ { 0, { 0, 0, 0}}, // ( 45, 75)
+ { 0, { 0, 0, 0}}, // ( 46, 75)
+ { 0, { 0, 0, 0}}, // ( 47, 75)
+ { 0, { 0, 0, 0}}, // ( 48, 75)
+ { 0, { 0, 0, 0}}, // ( 49, 75)
+ { 0, { 0, 0, 0}}, // ( 50, 75)
+ { 0, { 0, 0, 0}}, // ( 51, 75)
+ { 0, { 0, 0, 0}}, // ( 52, 75)
+ { 0, { 0, 0, 0}}, // ( 53, 75)
+ { 0, { 0, 0, 0}}, // ( 54, 75)
+ { 0, { 0, 0, 0}}, // ( 55, 75)
+ { 0, { 0, 0, 0}}, // ( 56, 75)
+ { 0, { 0, 0, 0}}, // ( 57, 75)
+ { 0, { 0, 0, 0}}, // ( 58, 75)
+ { 0, { 0, 0, 0}}, // ( 59, 75)
+ { 0, { 0, 0, 0}}, // ( 60, 75)
+ { 0, { 0, 0, 0}}, // ( 61, 75)
+ { 0, { 0, 0, 0}}, // ( 62, 75)
+ { 0, { 0, 0, 0}}, // ( 63, 75)
+ { 0, { 0, 0, 0}}, // ( 64, 75)
+ { 0, { 0, 0, 0}}, // ( 65, 75)
+ { 0, { 0, 0, 0}}, // ( 66, 75)
+ { 0, { 0, 0, 0}}, // ( 67, 75)
+ { 0, { 0, 0, 0}}, // ( 68, 75)
+ { 0, { 0, 0, 0}}, // ( 69, 75)
+ { 0, { 0, 0, 0}}, // ( 70, 75)
+ { 0, { 0, 0, 0}}, // ( 71, 75)
+ { 0, { 0, 0, 0}}, // ( 72, 75)
+ { 0, { 0, 0, 0}}, // ( 73, 75)
+ { 0, { 0, 0, 0}}, // ( 74, 75)
+ { 0, { 0, 0, 0}}, // ( 75, 75)
+ { 0, { 0, 0, 0}}, // ( 76, 75)
+ { 0, { 0, 0, 0}}, // ( 77, 75)
+ { 0, { 0, 0, 0}}, // ( 78, 75)
+ { 0, { 0, 0, 0}}, // ( 79, 75)
+ { 0, { 0, 0, 0}}, // ( 80, 75)
+ { 0, { 0, 0, 0}}, // ( 81, 75)
+ { 0, { 0, 0, 0}}, // ( 82, 75)
+ { 0, { 0, 0, 0}}, // ( 83, 75)
+ { 0, { 0, 0, 0}}, // ( 84, 75)
+ { 0, { 0, 0, 0}}, // ( 85, 75)
+ { 0, { 0, 0, 0}}, // ( 86, 75)
+ { 0, { 0, 0, 0}}, // ( 87, 75)
+ { 0, { 0, 0, 0}}, // ( 88, 75)
+ { 0, { 0, 0, 0}}, // ( 89, 75)
+ { 0, { 0, 0, 0}}, // ( 90, 75)
+ { 0, { 0, 0, 0}}, // ( 91, 75)
+ { 0, { 0, 0, 0}}, // ( 92, 75)
+ { 0, { 0, 0, 0}}, // ( 93, 75)
+ { 0, { 0, 0, 0}}, // ( 94, 75)
+ { 0, { 0, 0, 0}}, // ( 95, 75)
+ { 0, { 0, 0, 0}}, // ( 96, 75)
+ { 0, { 0, 0, 0}}, // ( 97, 75)
+ { 0, { 0, 0, 0}}, // ( 98, 75)
+ { 0, { 0, 0, 0}}, // ( 99, 75)
+ { 0, { 0, 0, 0}}, // (100, 75)
+ { 0, { 0, 0, 0}}, // (101, 75)
+ { 0, { 0, 0, 0}}, // (102, 75)
+ { 0, { 0, 0, 0}}, // (103, 75)
+ { 0, { 0, 0, 0}}, // (104, 75)
+ { 0, { 0, 0, 0}}, // (105, 75)
+ { 0, { 0, 0, 0}}, // (106, 75)
+ { 0, { 0, 0, 0}}, // (107, 75)
+ { 0, { 0, 0, 0}}, // (108, 75)
+ { 0, { 0, 0, 0}}, // (109, 75)
+ { 0, { 0, 0, 0}}, // (110, 75)
+ { 0, { 0, 0, 0}}, // (111, 75)
+ { 0, { 0, 0, 0}}, // (112, 75)
+ { 0, { 0, 0, 0}}, // (113, 75)
+ { 0, { 0, 0, 0}}, // (114, 75)
+ { 0, { 0, 0, 0}}, // (115, 75)
+ { 0, { 0, 0, 0}}, // (116, 75)
+ { 0, { 0, 0, 0}}, // (117, 75)
+ { 0, { 0, 0, 0}}, // (118, 75)
+ { 0, { 0, 0, 0}}, // (119, 75)
+ { 0, { 0, 0, 0}}, // (120, 75)
+ { 0, { 0, 0, 0}}, // (121, 75)
+ { 0, { 0, 0, 0}}, // (122, 75)
+ { 0, { 0, 0, 0}}, // (123, 75)
+ { 0, { 0, 0, 0}}, // (124, 75)
+ { 0, { 0, 0, 0}}, // (125, 75)
+ { 0, { 0, 0, 0}}, // (126, 75)
+ { 0, { 0, 0, 0}}, // (127, 75)
+ { 0, { 0, 0, 0}}, // (128, 75)
+ { 0, { 0, 0, 0}}, // (129, 75)
+ { 0, { 0, 0, 0}}, // (130, 75)
+ { 0, { 0, 0, 0}}, // (131, 75)
+ { 0, { 0, 0, 0}}, // (132, 75)
+ { 0, { 0, 0, 0}}, // (133, 75)
+ { 0, { 0, 0, 0}}, // (134, 75)
+ { 0, { 0, 0, 0}}, // (135, 75)
+ { 0, { 0, 0, 0}}, // (136, 75)
+ { 0, { 0, 0, 0}}, // (137, 75)
+ { 0, { 0, 0, 0}}, // (138, 75)
+ { 0, { 0, 0, 0}}, // (139, 75)
+ { 0, { 0, 0, 0}}, // (140, 75)
+ { 0, { 0, 0, 0}}, // (141, 75)
+ { 0, { 0, 0, 0}}, // (142, 75)
+ { 0, { 0, 0, 0}}, // (143, 75)
+ { 0, { 0, 0, 0}}, // (144, 75)
+ { 0, { 0, 0, 0}}, // (145, 75)
+ { 0, { 0, 0, 0}}, // (146, 75)
+ { 0, { 0, 0, 0}}, // (147, 75)
+ { 0, { 0, 0, 0}}, // (148, 75)
+ { 0, { 0, 0, 0}}, // (149, 75)
+ { 0, { 0, 0, 0}}, // (150, 75)
+ { 0, { 0, 0, 0}}, // (151, 75)
+ { 0, { 0, 0, 0}}, // (152, 75)
+ { 0, { 0, 0, 0}}, // (153, 75)
+ { 0, { 0, 0, 0}}, // (154, 75)
+ { 0, { 0, 0, 0}}, // (155, 75)
+ { 0, { 0, 0, 0}}, // (156, 75)
+ { 0, { 0, 0, 0}}, // (157, 75)
+ { 0, { 0, 0, 0}}, // (158, 75)
+ { 0, { 0, 0, 0}}, // (159, 75)
+ { 0, { 0, 0, 0}}, // (160, 75)
+ { 0, { 0, 0, 0}}, // (161, 75)
+ { 0, { 0, 0, 0}}, // (162, 75)
+ { 0, { 0, 0, 0}}, // (163, 75)
+ { 0, { 0, 0, 0}}, // (164, 75)
+ { 0, { 0, 0, 0}}, // (165, 75)
+ { 0, { 0, 0, 0}}, // (166, 75)
+ { 0, { 0, 0, 0}}, // (167, 75)
+ { 0, { 0, 0, 0}}, // (168, 75)
+ { 0, { 0, 0, 0}}, // (169, 75)
+ { 0, { 0, 0, 0}}, // (170, 75)
+ { 0, { 0, 0, 0}}, // (171, 75)
+ { 0, { 0, 0, 0}}, // (172, 75)
+ { 0, { 0, 0, 0}}, // (173, 75)
+ { 0, { 0, 0, 0}}, // (174, 75)
+ { 0, { 0, 0, 0}}, // (175, 75)
+ { 25, { 0, 0, 0}}, // (176, 75)
+ {128, { 0, 0, 0}}, // (177, 75)
+ {128, { 0, 0, 0}}, // (178, 75)
+ {128, { 0, 0, 0}}, // (179, 75)
+ {128, { 0, 0, 0}}, // ( 0, 76)
+ {128, { 0, 0, 0}}, // ( 1, 76)
+ {127, { 0, 0, 0}}, // ( 2, 76)
+ { 6, { 0, 0, 0}}, // ( 3, 76)
+ { 0, { 0, 0, 0}}, // ( 4, 76)
+ { 0, { 0, 0, 0}}, // ( 5, 76)
+ { 0, { 0, 0, 0}}, // ( 6, 76)
+ { 0, { 0, 0, 0}}, // ( 7, 76)
+ { 0, { 0, 0, 0}}, // ( 8, 76)
+ { 0, { 0, 0, 0}}, // ( 9, 76)
+ { 0, { 0, 0, 0}}, // ( 10, 76)
+ { 0, { 0, 0, 0}}, // ( 11, 76)
+ { 0, { 0, 0, 0}}, // ( 12, 76)
+ { 0, { 0, 0, 0}}, // ( 13, 76)
+ { 0, { 0, 0, 0}}, // ( 14, 76)
+ { 0, { 0, 0, 0}}, // ( 15, 76)
+ { 0, { 0, 0, 0}}, // ( 16, 76)
+ { 0, { 0, 0, 0}}, // ( 17, 76)
+ { 0, { 0, 0, 0}}, // ( 18, 76)
+ { 0, { 0, 0, 0}}, // ( 19, 76)
+ { 0, { 0, 0, 0}}, // ( 20, 76)
+ { 0, { 0, 0, 0}}, // ( 21, 76)
+ { 0, { 0, 0, 0}}, // ( 22, 76)
+ { 0, { 0, 0, 0}}, // ( 23, 76)
+ { 0, { 0, 0, 0}}, // ( 24, 76)
+ { 0, { 0, 0, 0}}, // ( 25, 76)
+ { 0, { 0, 0, 0}}, // ( 26, 76)
+ { 0, { 0, 0, 0}}, // ( 27, 76)
+ { 0, { 0, 0, 0}}, // ( 28, 76)
+ { 0, { 0, 0, 0}}, // ( 29, 76)
+ { 0, { 0, 0, 0}}, // ( 30, 76)
+ { 0, { 0, 0, 0}}, // ( 31, 76)
+ { 0, { 0, 0, 0}}, // ( 32, 76)
+ { 0, { 0, 0, 0}}, // ( 33, 76)
+ { 0, { 0, 0, 0}}, // ( 34, 76)
+ { 0, { 0, 0, 0}}, // ( 35, 76)
+ { 0, { 0, 0, 0}}, // ( 36, 76)
+ { 0, { 0, 0, 0}}, // ( 37, 76)
+ { 0, { 0, 0, 0}}, // ( 38, 76)
+ { 0, { 0, 0, 0}}, // ( 39, 76)
+ { 0, { 0, 0, 0}}, // ( 40, 76)
+ { 0, { 0, 0, 0}}, // ( 41, 76)
+ { 0, { 0, 0, 0}}, // ( 42, 76)
+ { 0, { 0, 0, 0}}, // ( 43, 76)
+ { 0, { 0, 0, 0}}, // ( 44, 76)
+ { 0, { 0, 0, 0}}, // ( 45, 76)
+ { 0, { 0, 0, 0}}, // ( 46, 76)
+ { 0, { 0, 0, 0}}, // ( 47, 76)
+ { 0, { 0, 0, 0}}, // ( 48, 76)
+ { 0, { 0, 0, 0}}, // ( 49, 76)
+ { 0, { 0, 0, 0}}, // ( 50, 76)
+ { 0, { 0, 0, 0}}, // ( 51, 76)
+ { 0, { 0, 0, 0}}, // ( 52, 76)
+ { 0, { 0, 0, 0}}, // ( 53, 76)
+ { 0, { 0, 0, 0}}, // ( 54, 76)
+ { 0, { 0, 0, 0}}, // ( 55, 76)
+ { 0, { 0, 0, 0}}, // ( 56, 76)
+ { 0, { 0, 0, 0}}, // ( 57, 76)
+ { 0, { 0, 0, 0}}, // ( 58, 76)
+ { 0, { 0, 0, 0}}, // ( 59, 76)
+ { 0, { 0, 0, 0}}, // ( 60, 76)
+ { 0, { 0, 0, 0}}, // ( 61, 76)
+ { 0, { 0, 0, 0}}, // ( 62, 76)
+ { 0, { 0, 0, 0}}, // ( 63, 76)
+ { 0, { 0, 0, 0}}, // ( 64, 76)
+ { 0, { 0, 0, 0}}, // ( 65, 76)
+ { 0, { 0, 0, 0}}, // ( 66, 76)
+ { 0, { 0, 0, 0}}, // ( 67, 76)
+ { 0, { 0, 0, 0}}, // ( 68, 76)
+ { 0, { 0, 0, 0}}, // ( 69, 76)
+ { 0, { 0, 0, 0}}, // ( 70, 76)
+ { 0, { 0, 0, 0}}, // ( 71, 76)
+ { 0, { 0, 0, 0}}, // ( 72, 76)
+ { 0, { 0, 0, 0}}, // ( 73, 76)
+ { 0, { 0, 0, 0}}, // ( 74, 76)
+ { 0, { 0, 0, 0}}, // ( 75, 76)
+ { 0, { 0, 0, 0}}, // ( 76, 76)
+ { 0, { 0, 0, 0}}, // ( 77, 76)
+ { 0, { 0, 0, 0}}, // ( 78, 76)
+ { 0, { 0, 0, 0}}, // ( 79, 76)
+ { 0, { 0, 0, 0}}, // ( 80, 76)
+ { 0, { 0, 0, 0}}, // ( 81, 76)
+ { 0, { 0, 0, 0}}, // ( 82, 76)
+ { 0, { 0, 0, 0}}, // ( 83, 76)
+ { 0, { 0, 0, 0}}, // ( 84, 76)
+ { 0, { 0, 0, 0}}, // ( 85, 76)
+ { 0, { 0, 0, 0}}, // ( 86, 76)
+ { 0, { 0, 0, 0}}, // ( 87, 76)
+ { 0, { 0, 0, 0}}, // ( 88, 76)
+ { 0, { 0, 0, 0}}, // ( 89, 76)
+ { 0, { 0, 0, 0}}, // ( 90, 76)
+ { 0, { 0, 0, 0}}, // ( 91, 76)
+ { 0, { 0, 0, 0}}, // ( 92, 76)
+ { 0, { 0, 0, 0}}, // ( 93, 76)
+ { 0, { 0, 0, 0}}, // ( 94, 76)
+ { 0, { 0, 0, 0}}, // ( 95, 76)
+ { 0, { 0, 0, 0}}, // ( 96, 76)
+ { 0, { 0, 0, 0}}, // ( 97, 76)
+ { 0, { 0, 0, 0}}, // ( 98, 76)
+ { 0, { 0, 0, 0}}, // ( 99, 76)
+ { 0, { 0, 0, 0}}, // (100, 76)
+ { 0, { 0, 0, 0}}, // (101, 76)
+ { 0, { 0, 0, 0}}, // (102, 76)
+ { 0, { 0, 0, 0}}, // (103, 76)
+ { 0, { 0, 0, 0}}, // (104, 76)
+ { 0, { 0, 0, 0}}, // (105, 76)
+ { 0, { 0, 0, 0}}, // (106, 76)
+ { 0, { 0, 0, 0}}, // (107, 76)
+ { 0, { 0, 0, 0}}, // (108, 76)
+ { 0, { 0, 0, 0}}, // (109, 76)
+ { 0, { 0, 0, 0}}, // (110, 76)
+ { 0, { 0, 0, 0}}, // (111, 76)
+ { 0, { 0, 0, 0}}, // (112, 76)
+ { 0, { 0, 0, 0}}, // (113, 76)
+ { 0, { 0, 0, 0}}, // (114, 76)
+ { 0, { 0, 0, 0}}, // (115, 76)
+ { 0, { 0, 0, 0}}, // (116, 76)
+ { 0, { 0, 0, 0}}, // (117, 76)
+ { 0, { 0, 0, 0}}, // (118, 76)
+ { 0, { 0, 0, 0}}, // (119, 76)
+ { 0, { 0, 0, 0}}, // (120, 76)
+ { 0, { 0, 0, 0}}, // (121, 76)
+ { 0, { 0, 0, 0}}, // (122, 76)
+ { 0, { 0, 0, 0}}, // (123, 76)
+ { 0, { 0, 0, 0}}, // (124, 76)
+ { 0, { 0, 0, 0}}, // (125, 76)
+ { 0, { 0, 0, 0}}, // (126, 76)
+ { 0, { 0, 0, 0}}, // (127, 76)
+ { 0, { 0, 0, 0}}, // (128, 76)
+ { 0, { 0, 0, 0}}, // (129, 76)
+ { 0, { 0, 0, 0}}, // (130, 76)
+ { 0, { 0, 0, 0}}, // (131, 76)
+ { 0, { 0, 0, 0}}, // (132, 76)
+ { 0, { 0, 0, 0}}, // (133, 76)
+ { 0, { 0, 0, 0}}, // (134, 76)
+ { 0, { 0, 0, 0}}, // (135, 76)
+ { 0, { 0, 0, 0}}, // (136, 76)
+ { 0, { 0, 0, 0}}, // (137, 76)
+ { 0, { 0, 0, 0}}, // (138, 76)
+ { 0, { 0, 0, 0}}, // (139, 76)
+ { 0, { 0, 0, 0}}, // (140, 76)
+ { 0, { 0, 0, 0}}, // (141, 76)
+ { 0, { 0, 0, 0}}, // (142, 76)
+ { 0, { 0, 0, 0}}, // (143, 76)
+ { 0, { 0, 0, 0}}, // (144, 76)
+ { 0, { 0, 0, 0}}, // (145, 76)
+ { 0, { 0, 0, 0}}, // (146, 76)
+ { 0, { 0, 0, 0}}, // (147, 76)
+ { 0, { 0, 0, 0}}, // (148, 76)
+ { 0, { 0, 0, 0}}, // (149, 76)
+ { 0, { 0, 0, 0}}, // (150, 76)
+ { 0, { 0, 0, 0}}, // (151, 76)
+ { 0, { 0, 0, 0}}, // (152, 76)
+ { 0, { 0, 0, 0}}, // (153, 76)
+ { 0, { 0, 0, 0}}, // (154, 76)
+ { 0, { 0, 0, 0}}, // (155, 76)
+ { 0, { 0, 0, 0}}, // (156, 76)
+ { 0, { 0, 0, 0}}, // (157, 76)
+ { 0, { 0, 0, 0}}, // (158, 76)
+ { 0, { 0, 0, 0}}, // (159, 76)
+ { 0, { 0, 0, 0}}, // (160, 76)
+ { 0, { 0, 0, 0}}, // (161, 76)
+ { 0, { 0, 0, 0}}, // (162, 76)
+ { 0, { 0, 0, 0}}, // (163, 76)
+ { 0, { 0, 0, 0}}, // (164, 76)
+ { 0, { 0, 0, 0}}, // (165, 76)
+ { 0, { 0, 0, 0}}, // (166, 76)
+ { 0, { 0, 0, 0}}, // (167, 76)
+ { 0, { 0, 0, 0}}, // (168, 76)
+ { 0, { 0, 0, 0}}, // (169, 76)
+ { 0, { 0, 0, 0}}, // (170, 76)
+ { 0, { 0, 0, 0}}, // (171, 76)
+ { 0, { 0, 0, 0}}, // (172, 76)
+ { 0, { 0, 0, 0}}, // (173, 76)
+ { 0, { 0, 0, 0}}, // (174, 76)
+ { 0, { 0, 0, 0}}, // (175, 76)
+ { 5, { 0, 0, 0}}, // (176, 76)
+ {127, { 0, 0, 0}}, // (177, 76)
+ {128, { 0, 0, 0}}, // (178, 76)
+ {128, { 0, 0, 0}}, // (179, 76)
+ {128, { 0, 0, 0}}, // ( 0, 77)
+ {128, { 0, 0, 0}}, // ( 1, 77)
+ {115, { 0, 0, 0}}, // ( 2, 77)
+ { 0, { 0, 0, 0}}, // ( 3, 77)
+ { 0, { 0, 0, 0}}, // ( 4, 77)
+ { 0, { 0, 0, 0}}, // ( 5, 77)
+ { 0, { 0, 0, 0}}, // ( 6, 77)
+ { 0, { 0, 0, 0}}, // ( 7, 77)
+ { 0, { 0, 0, 0}}, // ( 8, 77)
+ { 0, { 0, 0, 0}}, // ( 9, 77)
+ { 0, { 0, 0, 0}}, // ( 10, 77)
+ { 0, { 0, 0, 0}}, // ( 11, 77)
+ { 0, { 0, 0, 0}}, // ( 12, 77)
+ { 0, { 0, 0, 0}}, // ( 13, 77)
+ { 0, { 0, 0, 0}}, // ( 14, 77)
+ { 0, { 0, 0, 0}}, // ( 15, 77)
+ { 0, { 0, 0, 0}}, // ( 16, 77)
+ { 0, { 0, 0, 0}}, // ( 17, 77)
+ { 0, { 0, 0, 0}}, // ( 18, 77)
+ { 0, { 0, 0, 0}}, // ( 19, 77)
+ { 0, { 0, 0, 0}}, // ( 20, 77)
+ { 0, { 0, 0, 0}}, // ( 21, 77)
+ { 0, { 0, 0, 0}}, // ( 22, 77)
+ { 0, { 0, 0, 0}}, // ( 23, 77)
+ { 0, { 0, 0, 0}}, // ( 24, 77)
+ { 0, { 0, 0, 0}}, // ( 25, 77)
+ { 0, { 0, 0, 0}}, // ( 26, 77)
+ { 0, { 0, 0, 0}}, // ( 27, 77)
+ { 0, { 0, 0, 0}}, // ( 28, 77)
+ { 0, { 0, 0, 0}}, // ( 29, 77)
+ { 0, { 0, 0, 0}}, // ( 30, 77)
+ { 0, { 0, 0, 0}}, // ( 31, 77)
+ { 0, { 0, 0, 0}}, // ( 32, 77)
+ { 0, { 0, 0, 0}}, // ( 33, 77)
+ { 0, { 0, 0, 0}}, // ( 34, 77)
+ { 0, { 0, 0, 0}}, // ( 35, 77)
+ { 0, { 0, 0, 0}}, // ( 36, 77)
+ { 0, { 0, 0, 0}}, // ( 37, 77)
+ { 0, { 0, 0, 0}}, // ( 38, 77)
+ { 0, { 0, 0, 0}}, // ( 39, 77)
+ { 0, { 0, 0, 0}}, // ( 40, 77)
+ { 0, { 0, 0, 0}}, // ( 41, 77)
+ { 0, { 0, 0, 0}}, // ( 42, 77)
+ { 0, { 0, 0, 0}}, // ( 43, 77)
+ { 0, { 0, 0, 0}}, // ( 44, 77)
+ { 0, { 0, 0, 0}}, // ( 45, 77)
+ { 0, { 0, 0, 0}}, // ( 46, 77)
+ { 0, { 0, 0, 0}}, // ( 47, 77)
+ { 0, { 0, 0, 0}}, // ( 48, 77)
+ { 0, { 0, 0, 0}}, // ( 49, 77)
+ { 0, { 0, 0, 0}}, // ( 50, 77)
+ { 0, { 0, 0, 0}}, // ( 51, 77)
+ { 0, { 0, 0, 0}}, // ( 52, 77)
+ { 0, { 0, 0, 0}}, // ( 53, 77)
+ { 0, { 0, 0, 0}}, // ( 54, 77)
+ { 0, { 0, 0, 0}}, // ( 55, 77)
+ { 0, { 0, 0, 0}}, // ( 56, 77)
+ { 0, { 0, 0, 0}}, // ( 57, 77)
+ { 0, { 0, 0, 0}}, // ( 58, 77)
+ { 0, { 0, 0, 0}}, // ( 59, 77)
+ { 0, { 0, 0, 0}}, // ( 60, 77)
+ { 0, { 0, 0, 0}}, // ( 61, 77)
+ { 0, { 0, 0, 0}}, // ( 62, 77)
+ { 0, { 0, 0, 0}}, // ( 63, 77)
+ { 0, { 0, 0, 0}}, // ( 64, 77)
+ { 0, { 0, 0, 0}}, // ( 65, 77)
+ { 0, { 0, 0, 0}}, // ( 66, 77)
+ { 0, { 0, 0, 0}}, // ( 67, 77)
+ { 0, { 0, 0, 0}}, // ( 68, 77)
+ { 0, { 0, 0, 0}}, // ( 69, 77)
+ { 0, { 0, 0, 0}}, // ( 70, 77)
+ { 0, { 0, 0, 0}}, // ( 71, 77)
+ { 0, { 0, 0, 0}}, // ( 72, 77)
+ { 0, { 0, 0, 0}}, // ( 73, 77)
+ { 0, { 0, 0, 0}}, // ( 74, 77)
+ { 0, { 0, 0, 0}}, // ( 75, 77)
+ { 0, { 0, 0, 0}}, // ( 76, 77)
+ { 0, { 0, 0, 0}}, // ( 77, 77)
+ { 0, { 0, 0, 0}}, // ( 78, 77)
+ { 0, { 0, 0, 0}}, // ( 79, 77)
+ { 0, { 0, 0, 0}}, // ( 80, 77)
+ { 0, { 0, 0, 0}}, // ( 81, 77)
+ { 0, { 0, 0, 0}}, // ( 82, 77)
+ { 0, { 0, 0, 0}}, // ( 83, 77)
+ { 0, { 0, 0, 0}}, // ( 84, 77)
+ { 0, { 0, 0, 0}}, // ( 85, 77)
+ { 0, { 0, 0, 0}}, // ( 86, 77)
+ { 0, { 0, 0, 0}}, // ( 87, 77)
+ { 0, { 0, 0, 0}}, // ( 88, 77)
+ { 0, { 0, 0, 0}}, // ( 89, 77)
+ { 0, { 0, 0, 0}}, // ( 90, 77)
+ { 0, { 0, 0, 0}}, // ( 91, 77)
+ { 0, { 0, 0, 0}}, // ( 92, 77)
+ { 0, { 0, 0, 0}}, // ( 93, 77)
+ { 0, { 0, 0, 0}}, // ( 94, 77)
+ { 0, { 0, 0, 0}}, // ( 95, 77)
+ { 0, { 0, 0, 0}}, // ( 96, 77)
+ { 0, { 0, 0, 0}}, // ( 97, 77)
+ { 0, { 0, 0, 0}}, // ( 98, 77)
+ { 0, { 0, 0, 0}}, // ( 99, 77)
+ { 0, { 0, 0, 0}}, // (100, 77)
+ { 0, { 0, 0, 0}}, // (101, 77)
+ { 0, { 0, 0, 0}}, // (102, 77)
+ { 0, { 0, 0, 0}}, // (103, 77)
+ { 0, { 0, 0, 0}}, // (104, 77)
+ { 0, { 0, 0, 0}}, // (105, 77)
+ { 0, { 0, 0, 0}}, // (106, 77)
+ { 0, { 0, 0, 0}}, // (107, 77)
+ { 0, { 0, 0, 0}}, // (108, 77)
+ { 0, { 0, 0, 0}}, // (109, 77)
+ { 0, { 0, 0, 0}}, // (110, 77)
+ { 0, { 0, 0, 0}}, // (111, 77)
+ { 0, { 0, 0, 0}}, // (112, 77)
+ { 0, { 0, 0, 0}}, // (113, 77)
+ { 0, { 0, 0, 0}}, // (114, 77)
+ { 0, { 0, 0, 0}}, // (115, 77)
+ { 0, { 0, 0, 0}}, // (116, 77)
+ { 0, { 0, 0, 0}}, // (117, 77)
+ { 0, { 0, 0, 0}}, // (118, 77)
+ { 0, { 0, 0, 0}}, // (119, 77)
+ { 0, { 0, 0, 0}}, // (120, 77)
+ { 0, { 0, 0, 0}}, // (121, 77)
+ { 0, { 0, 0, 0}}, // (122, 77)
+ { 0, { 0, 0, 0}}, // (123, 77)
+ { 0, { 0, 0, 0}}, // (124, 77)
+ { 0, { 0, 0, 0}}, // (125, 77)
+ { 0, { 0, 0, 0}}, // (126, 77)
+ { 0, { 0, 0, 0}}, // (127, 77)
+ { 0, { 0, 0, 0}}, // (128, 77)
+ { 0, { 0, 0, 0}}, // (129, 77)
+ { 0, { 0, 0, 0}}, // (130, 77)
+ { 0, { 0, 0, 0}}, // (131, 77)
+ { 0, { 0, 0, 0}}, // (132, 77)
+ { 0, { 0, 0, 0}}, // (133, 77)
+ { 0, { 0, 0, 0}}, // (134, 77)
+ { 0, { 0, 0, 0}}, // (135, 77)
+ { 0, { 0, 0, 0}}, // (136, 77)
+ { 0, { 0, 0, 0}}, // (137, 77)
+ { 0, { 0, 0, 0}}, // (138, 77)
+ { 0, { 0, 0, 0}}, // (139, 77)
+ { 0, { 0, 0, 0}}, // (140, 77)
+ { 0, { 0, 0, 0}}, // (141, 77)
+ { 0, { 0, 0, 0}}, // (142, 77)
+ { 0, { 0, 0, 0}}, // (143, 77)
+ { 0, { 0, 0, 0}}, // (144, 77)
+ { 0, { 0, 0, 0}}, // (145, 77)
+ { 0, { 0, 0, 0}}, // (146, 77)
+ { 0, { 0, 0, 0}}, // (147, 77)
+ { 0, { 0, 0, 0}}, // (148, 77)
+ { 0, { 0, 0, 0}}, // (149, 77)
+ { 0, { 0, 0, 0}}, // (150, 77)
+ { 0, { 0, 0, 0}}, // (151, 77)
+ { 0, { 0, 0, 0}}, // (152, 77)
+ { 0, { 0, 0, 0}}, // (153, 77)
+ { 0, { 0, 0, 0}}, // (154, 77)
+ { 0, { 0, 0, 0}}, // (155, 77)
+ { 0, { 0, 0, 0}}, // (156, 77)
+ { 0, { 0, 0, 0}}, // (157, 77)
+ { 0, { 0, 0, 0}}, // (158, 77)
+ { 0, { 0, 0, 0}}, // (159, 77)
+ { 0, { 0, 0, 0}}, // (160, 77)
+ { 0, { 0, 0, 0}}, // (161, 77)
+ { 0, { 0, 0, 0}}, // (162, 77)
+ { 0, { 0, 0, 0}}, // (163, 77)
+ { 0, { 0, 0, 0}}, // (164, 77)
+ { 0, { 0, 0, 0}}, // (165, 77)
+ { 0, { 0, 0, 0}}, // (166, 77)
+ { 0, { 0, 0, 0}}, // (167, 77)
+ { 0, { 0, 0, 0}}, // (168, 77)
+ { 0, { 0, 0, 0}}, // (169, 77)
+ { 0, { 0, 0, 0}}, // (170, 77)
+ { 0, { 0, 0, 0}}, // (171, 77)
+ { 0, { 0, 0, 0}}, // (172, 77)
+ { 0, { 0, 0, 0}}, // (173, 77)
+ { 0, { 0, 0, 0}}, // (174, 77)
+ { 0, { 0, 0, 0}}, // (175, 77)
+ { 0, { 0, 0, 0}}, // (176, 77)
+ {115, { 0, 0, 0}}, // (177, 77)
+ {128, { 0, 0, 0}}, // (178, 77)
+ {128, { 0, 0, 0}}, // (179, 77)
+ {128, { 0, 0, 0}}, // ( 0, 78)
+ {128, { 0, 0, 0}}, // ( 1, 78)
+ { 99, { 0, 0, 0}}, // ( 2, 78)
+ { 0, { 0, 0, 0}}, // ( 3, 78)
+ { 0, { 0, 0, 0}}, // ( 4, 78)
+ { 0, { 0, 0, 0}}, // ( 5, 78)
+ { 0, { 0, 0, 0}}, // ( 6, 78)
+ { 0, { 0, 0, 0}}, // ( 7, 78)
+ { 0, { 0, 0, 0}}, // ( 8, 78)
+ { 0, { 0, 0, 0}}, // ( 9, 78)
+ { 0, { 0, 0, 0}}, // ( 10, 78)
+ { 0, { 0, 0, 0}}, // ( 11, 78)
+ { 0, { 0, 0, 0}}, // ( 12, 78)
+ { 0, { 0, 0, 0}}, // ( 13, 78)
+ { 0, { 0, 0, 0}}, // ( 14, 78)
+ { 0, { 0, 0, 0}}, // ( 15, 78)
+ { 0, { 0, 0, 0}}, // ( 16, 78)
+ { 0, { 0, 0, 0}}, // ( 17, 78)
+ { 0, { 0, 0, 0}}, // ( 18, 78)
+ { 0, { 0, 0, 0}}, // ( 19, 78)
+ { 0, { 0, 0, 0}}, // ( 20, 78)
+ { 0, { 0, 0, 0}}, // ( 21, 78)
+ { 0, { 0, 0, 0}}, // ( 22, 78)
+ { 0, { 0, 0, 0}}, // ( 23, 78)
+ { 0, { 0, 0, 0}}, // ( 24, 78)
+ { 0, { 0, 0, 0}}, // ( 25, 78)
+ { 0, { 0, 0, 0}}, // ( 26, 78)
+ { 0, { 0, 0, 0}}, // ( 27, 78)
+ { 0, { 0, 0, 0}}, // ( 28, 78)
+ { 0, { 0, 0, 0}}, // ( 29, 78)
+ { 0, { 0, 0, 0}}, // ( 30, 78)
+ { 0, { 0, 0, 0}}, // ( 31, 78)
+ { 0, { 0, 0, 0}}, // ( 32, 78)
+ { 0, { 0, 0, 0}}, // ( 33, 78)
+ { 0, { 0, 0, 0}}, // ( 34, 78)
+ { 0, { 0, 0, 0}}, // ( 35, 78)
+ { 0, { 0, 0, 0}}, // ( 36, 78)
+ { 0, { 0, 0, 0}}, // ( 37, 78)
+ { 0, { 0, 0, 0}}, // ( 38, 78)
+ { 0, { 0, 0, 0}}, // ( 39, 78)
+ { 0, { 0, 0, 0}}, // ( 40, 78)
+ { 0, { 0, 0, 0}}, // ( 41, 78)
+ { 0, { 0, 0, 0}}, // ( 42, 78)
+ { 0, { 0, 0, 0}}, // ( 43, 78)
+ { 0, { 0, 0, 0}}, // ( 44, 78)
+ { 0, { 0, 0, 0}}, // ( 45, 78)
+ { 0, { 0, 0, 0}}, // ( 46, 78)
+ { 0, { 0, 0, 0}}, // ( 47, 78)
+ { 0, { 0, 0, 0}}, // ( 48, 78)
+ { 0, { 0, 0, 0}}, // ( 49, 78)
+ { 0, { 0, 0, 0}}, // ( 50, 78)
+ { 0, { 0, 0, 0}}, // ( 51, 78)
+ { 0, { 0, 0, 0}}, // ( 52, 78)
+ { 0, { 0, 0, 0}}, // ( 53, 78)
+ { 0, { 0, 0, 0}}, // ( 54, 78)
+ { 0, { 0, 0, 0}}, // ( 55, 78)
+ { 0, { 0, 0, 0}}, // ( 56, 78)
+ { 0, { 0, 0, 0}}, // ( 57, 78)
+ { 0, { 0, 0, 0}}, // ( 58, 78)
+ { 0, { 0, 0, 0}}, // ( 59, 78)
+ { 0, { 0, 0, 0}}, // ( 60, 78)
+ { 0, { 0, 0, 0}}, // ( 61, 78)
+ { 0, { 0, 0, 0}}, // ( 62, 78)
+ { 0, { 0, 0, 0}}, // ( 63, 78)
+ { 0, { 0, 0, 0}}, // ( 64, 78)
+ { 0, { 0, 0, 0}}, // ( 65, 78)
+ { 0, { 0, 0, 0}}, // ( 66, 78)
+ { 0, { 0, 0, 0}}, // ( 67, 78)
+ { 0, { 0, 0, 0}}, // ( 68, 78)
+ { 0, { 0, 0, 0}}, // ( 69, 78)
+ { 0, { 0, 0, 0}}, // ( 70, 78)
+ { 0, { 0, 0, 0}}, // ( 71, 78)
+ { 0, { 0, 0, 0}}, // ( 72, 78)
+ { 0, { 0, 0, 0}}, // ( 73, 78)
+ { 0, { 0, 0, 0}}, // ( 74, 78)
+ { 0, { 0, 0, 0}}, // ( 75, 78)
+ { 0, { 0, 0, 0}}, // ( 76, 78)
+ { 0, { 0, 0, 0}}, // ( 77, 78)
+ { 0, { 0, 0, 0}}, // ( 78, 78)
+ { 0, { 0, 0, 0}}, // ( 79, 78)
+ { 0, { 0, 0, 0}}, // ( 80, 78)
+ { 0, { 0, 0, 0}}, // ( 81, 78)
+ { 0, { 0, 0, 0}}, // ( 82, 78)
+ { 0, { 0, 0, 0}}, // ( 83, 78)
+ { 0, { 0, 0, 0}}, // ( 84, 78)
+ { 0, { 0, 0, 0}}, // ( 85, 78)
+ { 0, { 0, 0, 0}}, // ( 86, 78)
+ { 0, { 0, 0, 0}}, // ( 87, 78)
+ { 0, { 0, 0, 0}}, // ( 88, 78)
+ { 0, { 0, 0, 0}}, // ( 89, 78)
+ { 0, { 0, 0, 0}}, // ( 90, 78)
+ { 0, { 0, 0, 0}}, // ( 91, 78)
+ { 0, { 0, 0, 0}}, // ( 92, 78)
+ { 0, { 0, 0, 0}}, // ( 93, 78)
+ { 0, { 0, 0, 0}}, // ( 94, 78)
+ { 0, { 0, 0, 0}}, // ( 95, 78)
+ { 0, { 0, 0, 0}}, // ( 96, 78)
+ { 0, { 0, 0, 0}}, // ( 97, 78)
+ { 0, { 0, 0, 0}}, // ( 98, 78)
+ { 0, { 0, 0, 0}}, // ( 99, 78)
+ { 0, { 0, 0, 0}}, // (100, 78)
+ { 0, { 0, 0, 0}}, // (101, 78)
+ { 0, { 0, 0, 0}}, // (102, 78)
+ { 0, { 0, 0, 0}}, // (103, 78)
+ { 0, { 0, 0, 0}}, // (104, 78)
+ { 0, { 0, 0, 0}}, // (105, 78)
+ { 0, { 0, 0, 0}}, // (106, 78)
+ { 0, { 0, 0, 0}}, // (107, 78)
+ { 0, { 0, 0, 0}}, // (108, 78)
+ { 0, { 0, 0, 0}}, // (109, 78)
+ { 0, { 0, 0, 0}}, // (110, 78)
+ { 0, { 0, 0, 0}}, // (111, 78)
+ { 0, { 0, 0, 0}}, // (112, 78)
+ { 0, { 0, 0, 0}}, // (113, 78)
+ { 0, { 0, 0, 0}}, // (114, 78)
+ { 0, { 0, 0, 0}}, // (115, 78)
+ { 0, { 0, 0, 0}}, // (116, 78)
+ { 0, { 0, 0, 0}}, // (117, 78)
+ { 0, { 0, 0, 0}}, // (118, 78)
+ { 0, { 0, 0, 0}}, // (119, 78)
+ { 0, { 0, 0, 0}}, // (120, 78)
+ { 0, { 0, 0, 0}}, // (121, 78)
+ { 0, { 0, 0, 0}}, // (122, 78)
+ { 0, { 0, 0, 0}}, // (123, 78)
+ { 0, { 0, 0, 0}}, // (124, 78)
+ { 0, { 0, 0, 0}}, // (125, 78)
+ { 0, { 0, 0, 0}}, // (126, 78)
+ { 0, { 0, 0, 0}}, // (127, 78)
+ { 0, { 0, 0, 0}}, // (128, 78)
+ { 0, { 0, 0, 0}}, // (129, 78)
+ { 0, { 0, 0, 0}}, // (130, 78)
+ { 0, { 0, 0, 0}}, // (131, 78)
+ { 0, { 0, 0, 0}}, // (132, 78)
+ { 0, { 0, 0, 0}}, // (133, 78)
+ { 0, { 0, 0, 0}}, // (134, 78)
+ { 0, { 0, 0, 0}}, // (135, 78)
+ { 0, { 0, 0, 0}}, // (136, 78)
+ { 0, { 0, 0, 0}}, // (137, 78)
+ { 0, { 0, 0, 0}}, // (138, 78)
+ { 0, { 0, 0, 0}}, // (139, 78)
+ { 0, { 0, 0, 0}}, // (140, 78)
+ { 0, { 0, 0, 0}}, // (141, 78)
+ { 0, { 0, 0, 0}}, // (142, 78)
+ { 0, { 0, 0, 0}}, // (143, 78)
+ { 0, { 0, 0, 0}}, // (144, 78)
+ { 0, { 0, 0, 0}}, // (145, 78)
+ { 0, { 0, 0, 0}}, // (146, 78)
+ { 0, { 0, 0, 0}}, // (147, 78)
+ { 0, { 0, 0, 0}}, // (148, 78)
+ { 0, { 0, 0, 0}}, // (149, 78)
+ { 0, { 0, 0, 0}}, // (150, 78)
+ { 0, { 0, 0, 0}}, // (151, 78)
+ { 0, { 0, 0, 0}}, // (152, 78)
+ { 0, { 0, 0, 0}}, // (153, 78)
+ { 0, { 0, 0, 0}}, // (154, 78)
+ { 0, { 0, 0, 0}}, // (155, 78)
+ { 0, { 0, 0, 0}}, // (156, 78)
+ { 0, { 0, 0, 0}}, // (157, 78)
+ { 0, { 0, 0, 0}}, // (158, 78)
+ { 0, { 0, 0, 0}}, // (159, 78)
+ { 0, { 0, 0, 0}}, // (160, 78)
+ { 0, { 0, 0, 0}}, // (161, 78)
+ { 0, { 0, 0, 0}}, // (162, 78)
+ { 0, { 0, 0, 0}}, // (163, 78)
+ { 0, { 0, 0, 0}}, // (164, 78)
+ { 0, { 0, 0, 0}}, // (165, 78)
+ { 0, { 0, 0, 0}}, // (166, 78)
+ { 0, { 0, 0, 0}}, // (167, 78)
+ { 0, { 0, 0, 0}}, // (168, 78)
+ { 0, { 0, 0, 0}}, // (169, 78)
+ { 0, { 0, 0, 0}}, // (170, 78)
+ { 0, { 0, 0, 0}}, // (171, 78)
+ { 0, { 0, 0, 0}}, // (172, 78)
+ { 0, { 0, 0, 0}}, // (173, 78)
+ { 0, { 0, 0, 0}}, // (174, 78)
+ { 0, { 0, 0, 0}}, // (175, 78)
+ { 0, { 0, 0, 0}}, // (176, 78)
+ { 99, { 0, 0, 0}}, // (177, 78)
+ {128, { 0, 0, 0}}, // (178, 78)
+ {128, { 0, 0, 0}}, // (179, 78)
+ {128, { 0, 0, 0}}, // ( 0, 79)
+ {128, { 0, 0, 0}}, // ( 1, 79)
+ { 83, { 0, 0, 0}}, // ( 2, 79)
+ { 0, { 0, 0, 0}}, // ( 3, 79)
+ { 0, { 0, 0, 0}}, // ( 4, 79)
+ { 0, { 0, 0, 0}}, // ( 5, 79)
+ { 0, { 0, 0, 0}}, // ( 6, 79)
+ { 0, { 0, 0, 0}}, // ( 7, 79)
+ { 0, { 0, 0, 0}}, // ( 8, 79)
+ { 0, { 0, 0, 0}}, // ( 9, 79)
+ { 0, { 0, 0, 0}}, // ( 10, 79)
+ { 0, { 0, 0, 0}}, // ( 11, 79)
+ { 0, { 0, 0, 0}}, // ( 12, 79)
+ { 0, { 0, 0, 0}}, // ( 13, 79)
+ { 0, { 0, 0, 0}}, // ( 14, 79)
+ { 0, { 0, 0, 0}}, // ( 15, 79)
+ { 0, { 0, 0, 0}}, // ( 16, 79)
+ { 0, { 0, 0, 0}}, // ( 17, 79)
+ { 0, { 0, 0, 0}}, // ( 18, 79)
+ { 0, { 0, 0, 0}}, // ( 19, 79)
+ { 0, { 0, 0, 0}}, // ( 20, 79)
+ { 0, { 0, 0, 0}}, // ( 21, 79)
+ { 0, { 0, 0, 0}}, // ( 22, 79)
+ { 0, { 0, 0, 0}}, // ( 23, 79)
+ { 0, { 0, 0, 0}}, // ( 24, 79)
+ { 0, { 0, 0, 0}}, // ( 25, 79)
+ { 0, { 0, 0, 0}}, // ( 26, 79)
+ { 0, { 0, 0, 0}}, // ( 27, 79)
+ { 0, { 0, 0, 0}}, // ( 28, 79)
+ { 0, { 0, 0, 0}}, // ( 29, 79)
+ { 0, { 0, 0, 0}}, // ( 30, 79)
+ { 0, { 0, 0, 0}}, // ( 31, 79)
+ { 0, { 0, 0, 0}}, // ( 32, 79)
+ { 0, { 0, 0, 0}}, // ( 33, 79)
+ { 0, { 0, 0, 0}}, // ( 34, 79)
+ { 0, { 0, 0, 0}}, // ( 35, 79)
+ { 0, { 0, 0, 0}}, // ( 36, 79)
+ { 0, { 0, 0, 0}}, // ( 37, 79)
+ { 0, { 0, 0, 0}}, // ( 38, 79)
+ { 0, { 0, 0, 0}}, // ( 39, 79)
+ { 0, { 0, 0, 0}}, // ( 40, 79)
+ { 0, { 0, 0, 0}}, // ( 41, 79)
+ { 0, { 0, 0, 0}}, // ( 42, 79)
+ { 0, { 0, 0, 0}}, // ( 43, 79)
+ { 0, { 0, 0, 0}}, // ( 44, 79)
+ { 0, { 0, 0, 0}}, // ( 45, 79)
+ { 0, { 0, 0, 0}}, // ( 46, 79)
+ { 0, { 0, 0, 0}}, // ( 47, 79)
+ { 0, { 0, 0, 0}}, // ( 48, 79)
+ { 0, { 0, 0, 0}}, // ( 49, 79)
+ { 0, { 0, 0, 0}}, // ( 50, 79)
+ { 0, { 0, 0, 0}}, // ( 51, 79)
+ { 0, { 0, 0, 0}}, // ( 52, 79)
+ { 0, { 0, 0, 0}}, // ( 53, 79)
+ { 0, { 0, 0, 0}}, // ( 54, 79)
+ { 0, { 0, 0, 0}}, // ( 55, 79)
+ { 0, { 0, 0, 0}}, // ( 56, 79)
+ { 0, { 0, 0, 0}}, // ( 57, 79)
+ { 0, { 0, 0, 0}}, // ( 58, 79)
+ { 0, { 0, 0, 0}}, // ( 59, 79)
+ { 0, { 0, 0, 0}}, // ( 60, 79)
+ { 0, { 0, 0, 0}}, // ( 61, 79)
+ { 0, { 0, 0, 0}}, // ( 62, 79)
+ { 0, { 0, 0, 0}}, // ( 63, 79)
+ { 0, { 0, 0, 0}}, // ( 64, 79)
+ { 0, { 0, 0, 0}}, // ( 65, 79)
+ { 0, { 0, 0, 0}}, // ( 66, 79)
+ { 0, { 0, 0, 0}}, // ( 67, 79)
+ { 0, { 0, 0, 0}}, // ( 68, 79)
+ { 0, { 0, 0, 0}}, // ( 69, 79)
+ { 0, { 0, 0, 0}}, // ( 70, 79)
+ { 0, { 0, 0, 0}}, // ( 71, 79)
+ { 0, { 0, 0, 0}}, // ( 72, 79)
+ { 0, { 0, 0, 0}}, // ( 73, 79)
+ { 0, { 0, 0, 0}}, // ( 74, 79)
+ { 0, { 0, 0, 0}}, // ( 75, 79)
+ { 0, { 0, 0, 0}}, // ( 76, 79)
+ { 0, { 0, 0, 0}}, // ( 77, 79)
+ { 0, { 0, 0, 0}}, // ( 78, 79)
+ { 0, { 0, 0, 0}}, // ( 79, 79)
+ { 0, { 0, 0, 0}}, // ( 80, 79)
+ { 0, { 0, 0, 0}}, // ( 81, 79)
+ { 0, { 0, 0, 0}}, // ( 82, 79)
+ { 0, { 0, 0, 0}}, // ( 83, 79)
+ { 0, { 0, 0, 0}}, // ( 84, 79)
+ { 0, { 0, 0, 0}}, // ( 85, 79)
+ { 0, { 0, 0, 0}}, // ( 86, 79)
+ { 0, { 0, 0, 0}}, // ( 87, 79)
+ { 0, { 0, 0, 0}}, // ( 88, 79)
+ { 0, { 0, 0, 0}}, // ( 89, 79)
+ { 0, { 0, 0, 0}}, // ( 90, 79)
+ { 0, { 0, 0, 0}}, // ( 91, 79)
+ { 0, { 0, 0, 0}}, // ( 92, 79)
+ { 0, { 0, 0, 0}}, // ( 93, 79)
+ { 0, { 0, 0, 0}}, // ( 94, 79)
+ { 0, { 0, 0, 0}}, // ( 95, 79)
+ { 0, { 0, 0, 0}}, // ( 96, 79)
+ { 0, { 0, 0, 0}}, // ( 97, 79)
+ { 0, { 0, 0, 0}}, // ( 98, 79)
+ { 0, { 0, 0, 0}}, // ( 99, 79)
+ { 0, { 0, 0, 0}}, // (100, 79)
+ { 0, { 0, 0, 0}}, // (101, 79)
+ { 0, { 0, 0, 0}}, // (102, 79)
+ { 0, { 0, 0, 0}}, // (103, 79)
+ { 0, { 0, 0, 0}}, // (104, 79)
+ { 0, { 0, 0, 0}}, // (105, 79)
+ { 0, { 0, 0, 0}}, // (106, 79)
+ { 0, { 0, 0, 0}}, // (107, 79)
+ { 0, { 0, 0, 0}}, // (108, 79)
+ { 0, { 0, 0, 0}}, // (109, 79)
+ { 0, { 0, 0, 0}}, // (110, 79)
+ { 0, { 0, 0, 0}}, // (111, 79)
+ { 0, { 0, 0, 0}}, // (112, 79)
+ { 0, { 0, 0, 0}}, // (113, 79)
+ { 0, { 0, 0, 0}}, // (114, 79)
+ { 0, { 0, 0, 0}}, // (115, 79)
+ { 0, { 0, 0, 0}}, // (116, 79)
+ { 0, { 0, 0, 0}}, // (117, 79)
+ { 0, { 0, 0, 0}}, // (118, 79)
+ { 0, { 0, 0, 0}}, // (119, 79)
+ { 0, { 0, 0, 0}}, // (120, 79)
+ { 0, { 0, 0, 0}}, // (121, 79)
+ { 0, { 0, 0, 0}}, // (122, 79)
+ { 0, { 0, 0, 0}}, // (123, 79)
+ { 0, { 0, 0, 0}}, // (124, 79)
+ { 0, { 0, 0, 0}}, // (125, 79)
+ { 0, { 0, 0, 0}}, // (126, 79)
+ { 0, { 0, 0, 0}}, // (127, 79)
+ { 0, { 0, 0, 0}}, // (128, 79)
+ { 0, { 0, 0, 0}}, // (129, 79)
+ { 0, { 0, 0, 0}}, // (130, 79)
+ { 0, { 0, 0, 0}}, // (131, 79)
+ { 0, { 0, 0, 0}}, // (132, 79)
+ { 0, { 0, 0, 0}}, // (133, 79)
+ { 0, { 0, 0, 0}}, // (134, 79)
+ { 0, { 0, 0, 0}}, // (135, 79)
+ { 0, { 0, 0, 0}}, // (136, 79)
+ { 0, { 0, 0, 0}}, // (137, 79)
+ { 0, { 0, 0, 0}}, // (138, 79)
+ { 0, { 0, 0, 0}}, // (139, 79)
+ { 0, { 0, 0, 0}}, // (140, 79)
+ { 0, { 0, 0, 0}}, // (141, 79)
+ { 0, { 0, 0, 0}}, // (142, 79)
+ { 0, { 0, 0, 0}}, // (143, 79)
+ { 0, { 0, 0, 0}}, // (144, 79)
+ { 0, { 0, 0, 0}}, // (145, 79)
+ { 0, { 0, 0, 0}}, // (146, 79)
+ { 0, { 0, 0, 0}}, // (147, 79)
+ { 0, { 0, 0, 0}}, // (148, 79)
+ { 0, { 0, 0, 0}}, // (149, 79)
+ { 0, { 0, 0, 0}}, // (150, 79)
+ { 0, { 0, 0, 0}}, // (151, 79)
+ { 0, { 0, 0, 0}}, // (152, 79)
+ { 0, { 0, 0, 0}}, // (153, 79)
+ { 0, { 0, 0, 0}}, // (154, 79)
+ { 0, { 0, 0, 0}}, // (155, 79)
+ { 0, { 0, 0, 0}}, // (156, 79)
+ { 0, { 0, 0, 0}}, // (157, 79)
+ { 0, { 0, 0, 0}}, // (158, 79)
+ { 0, { 0, 0, 0}}, // (159, 79)
+ { 0, { 0, 0, 0}}, // (160, 79)
+ { 0, { 0, 0, 0}}, // (161, 79)
+ { 0, { 0, 0, 0}}, // (162, 79)
+ { 0, { 0, 0, 0}}, // (163, 79)
+ { 0, { 0, 0, 0}}, // (164, 79)
+ { 0, { 0, 0, 0}}, // (165, 79)
+ { 0, { 0, 0, 0}}, // (166, 79)
+ { 0, { 0, 0, 0}}, // (167, 79)
+ { 0, { 0, 0, 0}}, // (168, 79)
+ { 0, { 0, 0, 0}}, // (169, 79)
+ { 0, { 0, 0, 0}}, // (170, 79)
+ { 0, { 0, 0, 0}}, // (171, 79)
+ { 0, { 0, 0, 0}}, // (172, 79)
+ { 0, { 0, 0, 0}}, // (173, 79)
+ { 0, { 0, 0, 0}}, // (174, 79)
+ { 0, { 0, 0, 0}}, // (175, 79)
+ { 0, { 0, 0, 0}}, // (176, 79)
+ { 83, { 0, 0, 0}}, // (177, 79)
+ {128, { 0, 0, 0}}, // (178, 79)
+ {128, { 0, 0, 0}}, // (179, 79)
+ {128, { 0, 0, 0}}, // ( 0, 80)
+ {128, { 0, 0, 0}}, // ( 1, 80)
+ { 66, { 0, 0, 0}}, // ( 2, 80)
+ { 0, { 0, 0, 0}}, // ( 3, 80)
+ { 0, { 0, 0, 0}}, // ( 4, 80)
+ { 0, { 0, 0, 0}}, // ( 5, 80)
+ { 0, { 0, 0, 0}}, // ( 6, 80)
+ { 0, { 0, 0, 0}}, // ( 7, 80)
+ { 0, { 0, 0, 0}}, // ( 8, 80)
+ { 0, { 0, 0, 0}}, // ( 9, 80)
+ { 0, { 0, 0, 0}}, // ( 10, 80)
+ { 0, { 0, 0, 0}}, // ( 11, 80)
+ { 0, { 0, 0, 0}}, // ( 12, 80)
+ { 0, { 0, 0, 0}}, // ( 13, 80)
+ { 0, { 0, 0, 0}}, // ( 14, 80)
+ { 0, { 0, 0, 0}}, // ( 15, 80)
+ { 0, { 0, 0, 0}}, // ( 16, 80)
+ { 0, { 0, 0, 0}}, // ( 17, 80)
+ { 0, { 0, 0, 0}}, // ( 18, 80)
+ { 0, { 0, 0, 0}}, // ( 19, 80)
+ { 0, { 0, 0, 0}}, // ( 20, 80)
+ { 0, { 0, 0, 0}}, // ( 21, 80)
+ { 0, { 0, 0, 0}}, // ( 22, 80)
+ { 0, { 0, 0, 0}}, // ( 23, 80)
+ { 0, { 0, 0, 0}}, // ( 24, 80)
+ { 0, { 0, 0, 0}}, // ( 25, 80)
+ { 0, { 0, 0, 0}}, // ( 26, 80)
+ { 0, { 0, 0, 0}}, // ( 27, 80)
+ { 0, { 0, 0, 0}}, // ( 28, 80)
+ { 0, { 0, 0, 0}}, // ( 29, 80)
+ { 0, { 0, 0, 0}}, // ( 30, 80)
+ { 0, { 0, 0, 0}}, // ( 31, 80)
+ { 0, { 0, 0, 0}}, // ( 32, 80)
+ { 0, { 0, 0, 0}}, // ( 33, 80)
+ { 0, { 0, 0, 0}}, // ( 34, 80)
+ { 0, { 0, 0, 0}}, // ( 35, 80)
+ { 0, { 0, 0, 0}}, // ( 36, 80)
+ { 0, { 0, 0, 0}}, // ( 37, 80)
+ { 0, { 0, 0, 0}}, // ( 38, 80)
+ { 0, { 0, 0, 0}}, // ( 39, 80)
+ { 0, { 0, 0, 0}}, // ( 40, 80)
+ { 0, { 0, 0, 0}}, // ( 41, 80)
+ { 0, { 0, 0, 0}}, // ( 42, 80)
+ { 0, { 0, 0, 0}}, // ( 43, 80)
+ { 0, { 0, 0, 0}}, // ( 44, 80)
+ { 0, { 0, 0, 0}}, // ( 45, 80)
+ { 0, { 0, 0, 0}}, // ( 46, 80)
+ { 0, { 0, 0, 0}}, // ( 47, 80)
+ { 0, { 0, 0, 0}}, // ( 48, 80)
+ { 0, { 0, 0, 0}}, // ( 49, 80)
+ { 0, { 0, 0, 0}}, // ( 50, 80)
+ { 0, { 0, 0, 0}}, // ( 51, 80)
+ { 0, { 0, 0, 0}}, // ( 52, 80)
+ { 0, { 0, 0, 0}}, // ( 53, 80)
+ { 0, { 0, 0, 0}}, // ( 54, 80)
+ { 0, { 0, 0, 0}}, // ( 55, 80)
+ { 0, { 0, 0, 0}}, // ( 56, 80)
+ { 0, { 0, 0, 0}}, // ( 57, 80)
+ { 0, { 0, 0, 0}}, // ( 58, 80)
+ { 0, { 0, 0, 0}}, // ( 59, 80)
+ { 0, { 0, 0, 0}}, // ( 60, 80)
+ { 0, { 0, 0, 0}}, // ( 61, 80)
+ { 0, { 0, 0, 0}}, // ( 62, 80)
+ { 0, { 0, 0, 0}}, // ( 63, 80)
+ { 0, { 0, 0, 0}}, // ( 64, 80)
+ { 0, { 0, 0, 0}}, // ( 65, 80)
+ { 0, { 0, 0, 0}}, // ( 66, 80)
+ { 0, { 0, 0, 0}}, // ( 67, 80)
+ { 0, { 0, 0, 0}}, // ( 68, 80)
+ { 0, { 0, 0, 0}}, // ( 69, 80)
+ { 0, { 0, 0, 0}}, // ( 70, 80)
+ { 0, { 0, 0, 0}}, // ( 71, 80)
+ { 0, { 0, 0, 0}}, // ( 72, 80)
+ { 0, { 0, 0, 0}}, // ( 73, 80)
+ { 0, { 0, 0, 0}}, // ( 74, 80)
+ { 0, { 0, 0, 0}}, // ( 75, 80)
+ { 0, { 0, 0, 0}}, // ( 76, 80)
+ { 0, { 0, 0, 0}}, // ( 77, 80)
+ { 0, { 0, 0, 0}}, // ( 78, 80)
+ { 0, { 0, 0, 0}}, // ( 79, 80)
+ { 0, { 0, 0, 0}}, // ( 80, 80)
+ { 0, { 0, 0, 0}}, // ( 81, 80)
+ { 0, { 0, 0, 0}}, // ( 82, 80)
+ { 0, { 0, 0, 0}}, // ( 83, 80)
+ { 0, { 0, 0, 0}}, // ( 84, 80)
+ { 0, { 0, 0, 0}}, // ( 85, 80)
+ { 0, { 0, 0, 0}}, // ( 86, 80)
+ { 0, { 0, 0, 0}}, // ( 87, 80)
+ { 0, { 0, 0, 0}}, // ( 88, 80)
+ { 0, { 0, 0, 0}}, // ( 89, 80)
+ { 0, { 0, 0, 0}}, // ( 90, 80)
+ { 0, { 0, 0, 0}}, // ( 91, 80)
+ { 0, { 0, 0, 0}}, // ( 92, 80)
+ { 0, { 0, 0, 0}}, // ( 93, 80)
+ { 0, { 0, 0, 0}}, // ( 94, 80)
+ { 0, { 0, 0, 0}}, // ( 95, 80)
+ { 0, { 0, 0, 0}}, // ( 96, 80)
+ { 0, { 0, 0, 0}}, // ( 97, 80)
+ { 0, { 0, 0, 0}}, // ( 98, 80)
+ { 0, { 0, 0, 0}}, // ( 99, 80)
+ { 0, { 0, 0, 0}}, // (100, 80)
+ { 0, { 0, 0, 0}}, // (101, 80)
+ { 0, { 0, 0, 0}}, // (102, 80)
+ { 0, { 0, 0, 0}}, // (103, 80)
+ { 0, { 0, 0, 0}}, // (104, 80)
+ { 0, { 0, 0, 0}}, // (105, 80)
+ { 0, { 0, 0, 0}}, // (106, 80)
+ { 0, { 0, 0, 0}}, // (107, 80)
+ { 0, { 0, 0, 0}}, // (108, 80)
+ { 0, { 0, 0, 0}}, // (109, 80)
+ { 0, { 0, 0, 0}}, // (110, 80)
+ { 0, { 0, 0, 0}}, // (111, 80)
+ { 0, { 0, 0, 0}}, // (112, 80)
+ { 0, { 0, 0, 0}}, // (113, 80)
+ { 0, { 0, 0, 0}}, // (114, 80)
+ { 0, { 0, 0, 0}}, // (115, 80)
+ { 0, { 0, 0, 0}}, // (116, 80)
+ { 0, { 0, 0, 0}}, // (117, 80)
+ { 0, { 0, 0, 0}}, // (118, 80)
+ { 0, { 0, 0, 0}}, // (119, 80)
+ { 0, { 0, 0, 0}}, // (120, 80)
+ { 0, { 0, 0, 0}}, // (121, 80)
+ { 0, { 0, 0, 0}}, // (122, 80)
+ { 0, { 0, 0, 0}}, // (123, 80)
+ { 0, { 0, 0, 0}}, // (124, 80)
+ { 0, { 0, 0, 0}}, // (125, 80)
+ { 0, { 0, 0, 0}}, // (126, 80)
+ { 0, { 0, 0, 0}}, // (127, 80)
+ { 0, { 0, 0, 0}}, // (128, 80)
+ { 0, { 0, 0, 0}}, // (129, 80)
+ { 0, { 0, 0, 0}}, // (130, 80)
+ { 0, { 0, 0, 0}}, // (131, 80)
+ { 0, { 0, 0, 0}}, // (132, 80)
+ { 0, { 0, 0, 0}}, // (133, 80)
+ { 0, { 0, 0, 0}}, // (134, 80)
+ { 0, { 0, 0, 0}}, // (135, 80)
+ { 0, { 0, 0, 0}}, // (136, 80)
+ { 0, { 0, 0, 0}}, // (137, 80)
+ { 0, { 0, 0, 0}}, // (138, 80)
+ { 0, { 0, 0, 0}}, // (139, 80)
+ { 0, { 0, 0, 0}}, // (140, 80)
+ { 0, { 0, 0, 0}}, // (141, 80)
+ { 0, { 0, 0, 0}}, // (142, 80)
+ { 0, { 0, 0, 0}}, // (143, 80)
+ { 0, { 0, 0, 0}}, // (144, 80)
+ { 0, { 0, 0, 0}}, // (145, 80)
+ { 0, { 0, 0, 0}}, // (146, 80)
+ { 0, { 0, 0, 0}}, // (147, 80)
+ { 0, { 0, 0, 0}}, // (148, 80)
+ { 0, { 0, 0, 0}}, // (149, 80)
+ { 0, { 0, 0, 0}}, // (150, 80)
+ { 0, { 0, 0, 0}}, // (151, 80)
+ { 0, { 0, 0, 0}}, // (152, 80)
+ { 0, { 0, 0, 0}}, // (153, 80)
+ { 0, { 0, 0, 0}}, // (154, 80)
+ { 0, { 0, 0, 0}}, // (155, 80)
+ { 0, { 0, 0, 0}}, // (156, 80)
+ { 0, { 0, 0, 0}}, // (157, 80)
+ { 0, { 0, 0, 0}}, // (158, 80)
+ { 0, { 0, 0, 0}}, // (159, 80)
+ { 0, { 0, 0, 0}}, // (160, 80)
+ { 0, { 0, 0, 0}}, // (161, 80)
+ { 0, { 0, 0, 0}}, // (162, 80)
+ { 0, { 0, 0, 0}}, // (163, 80)
+ { 0, { 0, 0, 0}}, // (164, 80)
+ { 0, { 0, 0, 0}}, // (165, 80)
+ { 0, { 0, 0, 0}}, // (166, 80)
+ { 0, { 0, 0, 0}}, // (167, 80)
+ { 0, { 0, 0, 0}}, // (168, 80)
+ { 0, { 0, 0, 0}}, // (169, 80)
+ { 0, { 0, 0, 0}}, // (170, 80)
+ { 0, { 0, 0, 0}}, // (171, 80)
+ { 0, { 0, 0, 0}}, // (172, 80)
+ { 0, { 0, 0, 0}}, // (173, 80)
+ { 0, { 0, 0, 0}}, // (174, 80)
+ { 0, { 0, 0, 0}}, // (175, 80)
+ { 0, { 0, 0, 0}}, // (176, 80)
+ { 67, { 0, 0, 0}}, // (177, 80)
+ {128, { 0, 0, 0}}, // (178, 80)
+ {128, { 0, 0, 0}}, // (179, 80)
+ {128, { 0, 0, 0}}, // ( 0, 81)
+ {128, { 0, 0, 0}}, // ( 1, 81)
+ { 54, { 0, 0, 0}}, // ( 2, 81)
+ { 0, { 0, 0, 0}}, // ( 3, 81)
+ { 0, { 0, 0, 0}}, // ( 4, 81)
+ { 0, { 0, 0, 0}}, // ( 5, 81)
+ { 0, { 0, 0, 0}}, // ( 6, 81)
+ { 0, { 0, 0, 0}}, // ( 7, 81)
+ { 0, { 0, 0, 0}}, // ( 8, 81)
+ { 0, { 0, 0, 0}}, // ( 9, 81)
+ { 0, { 0, 0, 0}}, // ( 10, 81)
+ { 0, { 0, 0, 0}}, // ( 11, 81)
+ { 0, { 0, 0, 0}}, // ( 12, 81)
+ { 0, { 0, 0, 0}}, // ( 13, 81)
+ { 0, { 0, 0, 0}}, // ( 14, 81)
+ { 0, { 0, 0, 0}}, // ( 15, 81)
+ { 0, { 0, 0, 0}}, // ( 16, 81)
+ { 0, { 0, 0, 0}}, // ( 17, 81)
+ { 0, { 0, 0, 0}}, // ( 18, 81)
+ { 0, { 0, 0, 0}}, // ( 19, 81)
+ { 0, { 0, 0, 0}}, // ( 20, 81)
+ { 0, { 0, 0, 0}}, // ( 21, 81)
+ { 0, { 0, 0, 0}}, // ( 22, 81)
+ { 0, { 0, 0, 0}}, // ( 23, 81)
+ { 0, { 0, 0, 0}}, // ( 24, 81)
+ { 0, { 0, 0, 0}}, // ( 25, 81)
+ { 0, { 0, 0, 0}}, // ( 26, 81)
+ { 0, { 0, 0, 0}}, // ( 27, 81)
+ { 0, { 0, 0, 0}}, // ( 28, 81)
+ { 0, { 0, 0, 0}}, // ( 29, 81)
+ { 0, { 0, 0, 0}}, // ( 30, 81)
+ { 0, { 0, 0, 0}}, // ( 31, 81)
+ { 0, { 0, 0, 0}}, // ( 32, 81)
+ { 0, { 0, 0, 0}}, // ( 33, 81)
+ { 0, { 0, 0, 0}}, // ( 34, 81)
+ { 0, { 0, 0, 0}}, // ( 35, 81)
+ { 0, { 0, 0, 0}}, // ( 36, 81)
+ { 0, { 0, 0, 0}}, // ( 37, 81)
+ { 0, { 0, 0, 0}}, // ( 38, 81)
+ { 0, { 0, 0, 0}}, // ( 39, 81)
+ { 0, { 0, 0, 0}}, // ( 40, 81)
+ { 0, { 0, 0, 0}}, // ( 41, 81)
+ { 0, { 0, 0, 0}}, // ( 42, 81)
+ { 0, { 0, 0, 0}}, // ( 43, 81)
+ { 0, { 0, 0, 0}}, // ( 44, 81)
+ { 0, { 0, 0, 0}}, // ( 45, 81)
+ { 0, { 0, 0, 0}}, // ( 46, 81)
+ { 0, { 0, 0, 0}}, // ( 47, 81)
+ { 0, { 0, 0, 0}}, // ( 48, 81)
+ { 0, { 0, 0, 0}}, // ( 49, 81)
+ { 0, { 0, 0, 0}}, // ( 50, 81)
+ { 0, { 0, 0, 0}}, // ( 51, 81)
+ { 0, { 0, 0, 0}}, // ( 52, 81)
+ { 0, { 0, 0, 0}}, // ( 53, 81)
+ { 0, { 0, 0, 0}}, // ( 54, 81)
+ { 0, { 0, 0, 0}}, // ( 55, 81)
+ { 0, { 0, 0, 0}}, // ( 56, 81)
+ { 0, { 0, 0, 0}}, // ( 57, 81)
+ { 0, { 0, 0, 0}}, // ( 58, 81)
+ { 0, { 0, 0, 0}}, // ( 59, 81)
+ { 0, { 0, 0, 0}}, // ( 60, 81)
+ { 0, { 0, 0, 0}}, // ( 61, 81)
+ { 0, { 0, 0, 0}}, // ( 62, 81)
+ { 0, { 0, 0, 0}}, // ( 63, 81)
+ { 0, { 0, 0, 0}}, // ( 64, 81)
+ { 0, { 0, 0, 0}}, // ( 65, 81)
+ { 0, { 0, 0, 0}}, // ( 66, 81)
+ { 0, { 0, 0, 0}}, // ( 67, 81)
+ { 0, { 0, 0, 0}}, // ( 68, 81)
+ { 0, { 0, 0, 0}}, // ( 69, 81)
+ { 0, { 0, 0, 0}}, // ( 70, 81)
+ { 0, { 0, 0, 0}}, // ( 71, 81)
+ { 0, { 0, 0, 0}}, // ( 72, 81)
+ { 0, { 0, 0, 0}}, // ( 73, 81)
+ { 0, { 0, 0, 0}}, // ( 74, 81)
+ { 0, { 0, 0, 0}}, // ( 75, 81)
+ { 0, { 0, 0, 0}}, // ( 76, 81)
+ { 0, { 0, 0, 0}}, // ( 77, 81)
+ { 0, { 0, 0, 0}}, // ( 78, 81)
+ { 0, { 0, 0, 0}}, // ( 79, 81)
+ { 0, { 0, 0, 0}}, // ( 80, 81)
+ { 0, { 0, 0, 0}}, // ( 81, 81)
+ { 0, { 0, 0, 0}}, // ( 82, 81)
+ { 0, { 0, 0, 0}}, // ( 83, 81)
+ { 0, { 0, 0, 0}}, // ( 84, 81)
+ { 0, { 0, 0, 0}}, // ( 85, 81)
+ { 0, { 0, 0, 0}}, // ( 86, 81)
+ { 0, { 0, 0, 0}}, // ( 87, 81)
+ { 0, { 0, 0, 0}}, // ( 88, 81)
+ { 0, { 0, 0, 0}}, // ( 89, 81)
+ { 0, { 0, 0, 0}}, // ( 90, 81)
+ { 0, { 0, 0, 0}}, // ( 91, 81)
+ { 0, { 0, 0, 0}}, // ( 92, 81)
+ { 0, { 0, 0, 0}}, // ( 93, 81)
+ { 0, { 0, 0, 0}}, // ( 94, 81)
+ { 0, { 0, 0, 0}}, // ( 95, 81)
+ { 0, { 0, 0, 0}}, // ( 96, 81)
+ { 0, { 0, 0, 0}}, // ( 97, 81)
+ { 0, { 0, 0, 0}}, // ( 98, 81)
+ { 0, { 0, 0, 0}}, // ( 99, 81)
+ { 0, { 0, 0, 0}}, // (100, 81)
+ { 0, { 0, 0, 0}}, // (101, 81)
+ { 0, { 0, 0, 0}}, // (102, 81)
+ { 0, { 0, 0, 0}}, // (103, 81)
+ { 0, { 0, 0, 0}}, // (104, 81)
+ { 0, { 0, 0, 0}}, // (105, 81)
+ { 0, { 0, 0, 0}}, // (106, 81)
+ { 0, { 0, 0, 0}}, // (107, 81)
+ { 0, { 0, 0, 0}}, // (108, 81)
+ { 0, { 0, 0, 0}}, // (109, 81)
+ { 0, { 0, 0, 0}}, // (110, 81)
+ { 0, { 0, 0, 0}}, // (111, 81)
+ { 0, { 0, 0, 0}}, // (112, 81)
+ { 0, { 0, 0, 0}}, // (113, 81)
+ { 0, { 0, 0, 0}}, // (114, 81)
+ { 0, { 0, 0, 0}}, // (115, 81)
+ { 0, { 0, 0, 0}}, // (116, 81)
+ { 0, { 0, 0, 0}}, // (117, 81)
+ { 0, { 0, 0, 0}}, // (118, 81)
+ { 0, { 0, 0, 0}}, // (119, 81)
+ { 0, { 0, 0, 0}}, // (120, 81)
+ { 0, { 0, 0, 0}}, // (121, 81)
+ { 0, { 0, 0, 0}}, // (122, 81)
+ { 0, { 0, 0, 0}}, // (123, 81)
+ { 0, { 0, 0, 0}}, // (124, 81)
+ { 0, { 0, 0, 0}}, // (125, 81)
+ { 0, { 0, 0, 0}}, // (126, 81)
+ { 0, { 0, 0, 0}}, // (127, 81)
+ { 0, { 0, 0, 0}}, // (128, 81)
+ { 0, { 0, 0, 0}}, // (129, 81)
+ { 0, { 0, 0, 0}}, // (130, 81)
+ { 0, { 0, 0, 0}}, // (131, 81)
+ { 0, { 0, 0, 0}}, // (132, 81)
+ { 0, { 0, 0, 0}}, // (133, 81)
+ { 0, { 0, 0, 0}}, // (134, 81)
+ { 0, { 0, 0, 0}}, // (135, 81)
+ { 0, { 0, 0, 0}}, // (136, 81)
+ { 0, { 0, 0, 0}}, // (137, 81)
+ { 0, { 0, 0, 0}}, // (138, 81)
+ { 0, { 0, 0, 0}}, // (139, 81)
+ { 0, { 0, 0, 0}}, // (140, 81)
+ { 0, { 0, 0, 0}}, // (141, 81)
+ { 0, { 0, 0, 0}}, // (142, 81)
+ { 0, { 0, 0, 0}}, // (143, 81)
+ { 0, { 0, 0, 0}}, // (144, 81)
+ { 0, { 0, 0, 0}}, // (145, 81)
+ { 0, { 0, 0, 0}}, // (146, 81)
+ { 0, { 0, 0, 0}}, // (147, 81)
+ { 0, { 0, 0, 0}}, // (148, 81)
+ { 0, { 0, 0, 0}}, // (149, 81)
+ { 0, { 0, 0, 0}}, // (150, 81)
+ { 0, { 0, 0, 0}}, // (151, 81)
+ { 0, { 0, 0, 0}}, // (152, 81)
+ { 0, { 0, 0, 0}}, // (153, 81)
+ { 0, { 0, 0, 0}}, // (154, 81)
+ { 0, { 0, 0, 0}}, // (155, 81)
+ { 0, { 0, 0, 0}}, // (156, 81)
+ { 0, { 0, 0, 0}}, // (157, 81)
+ { 0, { 0, 0, 0}}, // (158, 81)
+ { 0, { 0, 0, 0}}, // (159, 81)
+ { 0, { 0, 0, 0}}, // (160, 81)
+ { 0, { 0, 0, 0}}, // (161, 81)
+ { 0, { 0, 0, 0}}, // (162, 81)
+ { 0, { 0, 0, 0}}, // (163, 81)
+ { 0, { 0, 0, 0}}, // (164, 81)
+ { 0, { 0, 0, 0}}, // (165, 81)
+ { 0, { 0, 0, 0}}, // (166, 81)
+ { 0, { 0, 0, 0}}, // (167, 81)
+ { 0, { 0, 0, 0}}, // (168, 81)
+ { 0, { 0, 0, 0}}, // (169, 81)
+ { 0, { 0, 0, 0}}, // (170, 81)
+ { 0, { 0, 0, 0}}, // (171, 81)
+ { 0, { 0, 0, 0}}, // (172, 81)
+ { 0, { 0, 0, 0}}, // (173, 81)
+ { 0, { 0, 0, 0}}, // (174, 81)
+ { 0, { 0, 0, 0}}, // (175, 81)
+ { 0, { 0, 0, 0}}, // (176, 81)
+ { 54, { 0, 0, 0}}, // (177, 81)
+ {128, { 0, 0, 0}}, // (178, 81)
+ {128, { 0, 0, 0}}, // (179, 81)
+ {128, { 0, 0, 0}}, // ( 0, 82)
+ {128, { 0, 0, 0}}, // ( 1, 82)
+ { 43, { 0, 0, 0}}, // ( 2, 82)
+ { 0, { 0, 0, 0}}, // ( 3, 82)
+ { 0, { 0, 0, 0}}, // ( 4, 82)
+ { 0, { 0, 0, 0}}, // ( 5, 82)
+ { 0, { 0, 0, 0}}, // ( 6, 82)
+ { 0, { 0, 0, 0}}, // ( 7, 82)
+ { 0, { 0, 0, 0}}, // ( 8, 82)
+ { 0, { 0, 0, 0}}, // ( 9, 82)
+ { 0, { 0, 0, 0}}, // ( 10, 82)
+ { 0, { 0, 0, 0}}, // ( 11, 82)
+ { 0, { 0, 0, 0}}, // ( 12, 82)
+ { 0, { 0, 0, 0}}, // ( 13, 82)
+ { 0, { 0, 0, 0}}, // ( 14, 82)
+ { 0, { 0, 0, 0}}, // ( 15, 82)
+ { 0, { 0, 0, 0}}, // ( 16, 82)
+ { 0, { 0, 0, 0}}, // ( 17, 82)
+ { 0, { 0, 0, 0}}, // ( 18, 82)
+ { 0, { 0, 0, 0}}, // ( 19, 82)
+ { 0, { 0, 0, 0}}, // ( 20, 82)
+ { 0, { 0, 0, 0}}, // ( 21, 82)
+ { 0, { 0, 0, 0}}, // ( 22, 82)
+ { 0, { 0, 0, 0}}, // ( 23, 82)
+ { 0, { 0, 0, 0}}, // ( 24, 82)
+ { 0, { 0, 0, 0}}, // ( 25, 82)
+ { 0, { 0, 0, 0}}, // ( 26, 82)
+ { 0, { 0, 0, 0}}, // ( 27, 82)
+ { 0, { 0, 0, 0}}, // ( 28, 82)
+ { 0, { 0, 0, 0}}, // ( 29, 82)
+ { 0, { 0, 0, 0}}, // ( 30, 82)
+ { 0, { 0, 0, 0}}, // ( 31, 82)
+ { 0, { 0, 0, 0}}, // ( 32, 82)
+ { 0, { 0, 0, 0}}, // ( 33, 82)
+ { 0, { 0, 0, 0}}, // ( 34, 82)
+ { 0, { 0, 0, 0}}, // ( 35, 82)
+ { 0, { 0, 0, 0}}, // ( 36, 82)
+ { 0, { 0, 0, 0}}, // ( 37, 82)
+ { 0, { 0, 0, 0}}, // ( 38, 82)
+ { 0, { 0, 0, 0}}, // ( 39, 82)
+ { 0, { 0, 0, 0}}, // ( 40, 82)
+ { 0, { 0, 0, 0}}, // ( 41, 82)
+ { 0, { 0, 0, 0}}, // ( 42, 82)
+ { 0, { 0, 0, 0}}, // ( 43, 82)
+ { 0, { 0, 0, 0}}, // ( 44, 82)
+ { 0, { 0, 0, 0}}, // ( 45, 82)
+ { 0, { 0, 0, 0}}, // ( 46, 82)
+ { 0, { 0, 0, 0}}, // ( 47, 82)
+ { 0, { 0, 0, 0}}, // ( 48, 82)
+ { 0, { 0, 0, 0}}, // ( 49, 82)
+ { 0, { 0, 0, 0}}, // ( 50, 82)
+ { 0, { 0, 0, 0}}, // ( 51, 82)
+ { 0, { 0, 0, 0}}, // ( 52, 82)
+ { 0, { 0, 0, 0}}, // ( 53, 82)
+ { 0, { 0, 0, 0}}, // ( 54, 82)
+ { 0, { 0, 0, 0}}, // ( 55, 82)
+ { 0, { 0, 0, 0}}, // ( 56, 82)
+ { 0, { 0, 0, 0}}, // ( 57, 82)
+ { 0, { 0, 0, 0}}, // ( 58, 82)
+ { 0, { 0, 0, 0}}, // ( 59, 82)
+ { 0, { 0, 0, 0}}, // ( 60, 82)
+ { 0, { 0, 0, 0}}, // ( 61, 82)
+ { 0, { 0, 0, 0}}, // ( 62, 82)
+ { 0, { 0, 0, 0}}, // ( 63, 82)
+ { 0, { 0, 0, 0}}, // ( 64, 82)
+ { 0, { 0, 0, 0}}, // ( 65, 82)
+ { 0, { 0, 0, 0}}, // ( 66, 82)
+ { 0, { 0, 0, 0}}, // ( 67, 82)
+ { 0, { 0, 0, 0}}, // ( 68, 82)
+ { 0, { 0, 0, 0}}, // ( 69, 82)
+ { 0, { 0, 0, 0}}, // ( 70, 82)
+ { 0, { 0, 0, 0}}, // ( 71, 82)
+ { 0, { 0, 0, 0}}, // ( 72, 82)
+ { 0, { 0, 0, 0}}, // ( 73, 82)
+ { 0, { 0, 0, 0}}, // ( 74, 82)
+ { 0, { 0, 0, 0}}, // ( 75, 82)
+ { 0, { 0, 0, 0}}, // ( 76, 82)
+ { 0, { 0, 0, 0}}, // ( 77, 82)
+ { 0, { 0, 0, 0}}, // ( 78, 82)
+ { 0, { 0, 0, 0}}, // ( 79, 82)
+ { 0, { 0, 0, 0}}, // ( 80, 82)
+ { 0, { 0, 0, 0}}, // ( 81, 82)
+ { 0, { 0, 0, 0}}, // ( 82, 82)
+ { 0, { 0, 0, 0}}, // ( 83, 82)
+ { 0, { 0, 0, 0}}, // ( 84, 82)
+ { 0, { 0, 0, 0}}, // ( 85, 82)
+ { 0, { 0, 0, 0}}, // ( 86, 82)
+ { 0, { 0, 0, 0}}, // ( 87, 82)
+ { 0, { 0, 0, 0}}, // ( 88, 82)
+ { 0, { 0, 0, 0}}, // ( 89, 82)
+ { 0, { 0, 0, 0}}, // ( 90, 82)
+ { 0, { 0, 0, 0}}, // ( 91, 82)
+ { 0, { 0, 0, 0}}, // ( 92, 82)
+ { 0, { 0, 0, 0}}, // ( 93, 82)
+ { 0, { 0, 0, 0}}, // ( 94, 82)
+ { 0, { 0, 0, 0}}, // ( 95, 82)
+ { 0, { 0, 0, 0}}, // ( 96, 82)
+ { 0, { 0, 0, 0}}, // ( 97, 82)
+ { 0, { 0, 0, 0}}, // ( 98, 82)
+ { 0, { 0, 0, 0}}, // ( 99, 82)
+ { 0, { 0, 0, 0}}, // (100, 82)
+ { 0, { 0, 0, 0}}, // (101, 82)
+ { 0, { 0, 0, 0}}, // (102, 82)
+ { 0, { 0, 0, 0}}, // (103, 82)
+ { 0, { 0, 0, 0}}, // (104, 82)
+ { 0, { 0, 0, 0}}, // (105, 82)
+ { 0, { 0, 0, 0}}, // (106, 82)
+ { 0, { 0, 0, 0}}, // (107, 82)
+ { 0, { 0, 0, 0}}, // (108, 82)
+ { 0, { 0, 0, 0}}, // (109, 82)
+ { 0, { 0, 0, 0}}, // (110, 82)
+ { 0, { 0, 0, 0}}, // (111, 82)
+ { 0, { 0, 0, 0}}, // (112, 82)
+ { 0, { 0, 0, 0}}, // (113, 82)
+ { 0, { 0, 0, 0}}, // (114, 82)
+ { 0, { 0, 0, 0}}, // (115, 82)
+ { 0, { 0, 0, 0}}, // (116, 82)
+ { 0, { 0, 0, 0}}, // (117, 82)
+ { 0, { 0, 0, 0}}, // (118, 82)
+ { 0, { 0, 0, 0}}, // (119, 82)
+ { 0, { 0, 0, 0}}, // (120, 82)
+ { 0, { 0, 0, 0}}, // (121, 82)
+ { 0, { 0, 0, 0}}, // (122, 82)
+ { 0, { 0, 0, 0}}, // (123, 82)
+ { 0, { 0, 0, 0}}, // (124, 82)
+ { 0, { 0, 0, 0}}, // (125, 82)
+ { 0, { 0, 0, 0}}, // (126, 82)
+ { 0, { 0, 0, 0}}, // (127, 82)
+ { 0, { 0, 0, 0}}, // (128, 82)
+ { 0, { 0, 0, 0}}, // (129, 82)
+ { 0, { 0, 0, 0}}, // (130, 82)
+ { 0, { 0, 0, 0}}, // (131, 82)
+ { 0, { 0, 0, 0}}, // (132, 82)
+ { 0, { 0, 0, 0}}, // (133, 82)
+ { 0, { 0, 0, 0}}, // (134, 82)
+ { 0, { 0, 0, 0}}, // (135, 82)
+ { 0, { 0, 0, 0}}, // (136, 82)
+ { 0, { 0, 0, 0}}, // (137, 82)
+ { 0, { 0, 0, 0}}, // (138, 82)
+ { 0, { 0, 0, 0}}, // (139, 82)
+ { 0, { 0, 0, 0}}, // (140, 82)
+ { 0, { 0, 0, 0}}, // (141, 82)
+ { 0, { 0, 0, 0}}, // (142, 82)
+ { 0, { 0, 0, 0}}, // (143, 82)
+ { 0, { 0, 0, 0}}, // (144, 82)
+ { 0, { 0, 0, 0}}, // (145, 82)
+ { 0, { 0, 0, 0}}, // (146, 82)
+ { 0, { 0, 0, 0}}, // (147, 82)
+ { 0, { 0, 0, 0}}, // (148, 82)
+ { 0, { 0, 0, 0}}, // (149, 82)
+ { 0, { 0, 0, 0}}, // (150, 82)
+ { 0, { 0, 0, 0}}, // (151, 82)
+ { 0, { 0, 0, 0}}, // (152, 82)
+ { 0, { 0, 0, 0}}, // (153, 82)
+ { 0, { 0, 0, 0}}, // (154, 82)
+ { 0, { 0, 0, 0}}, // (155, 82)
+ { 0, { 0, 0, 0}}, // (156, 82)
+ { 0, { 0, 0, 0}}, // (157, 82)
+ { 0, { 0, 0, 0}}, // (158, 82)
+ { 0, { 0, 0, 0}}, // (159, 82)
+ { 0, { 0, 0, 0}}, // (160, 82)
+ { 0, { 0, 0, 0}}, // (161, 82)
+ { 0, { 0, 0, 0}}, // (162, 82)
+ { 0, { 0, 0, 0}}, // (163, 82)
+ { 0, { 0, 0, 0}}, // (164, 82)
+ { 0, { 0, 0, 0}}, // (165, 82)
+ { 0, { 0, 0, 0}}, // (166, 82)
+ { 0, { 0, 0, 0}}, // (167, 82)
+ { 0, { 0, 0, 0}}, // (168, 82)
+ { 0, { 0, 0, 0}}, // (169, 82)
+ { 0, { 0, 0, 0}}, // (170, 82)
+ { 0, { 0, 0, 0}}, // (171, 82)
+ { 0, { 0, 0, 0}}, // (172, 82)
+ { 0, { 0, 0, 0}}, // (173, 82)
+ { 0, { 0, 0, 0}}, // (174, 82)
+ { 0, { 0, 0, 0}}, // (175, 82)
+ { 0, { 0, 0, 0}}, // (176, 82)
+ { 43, { 0, 0, 0}}, // (177, 82)
+ {128, { 0, 0, 0}}, // (178, 82)
+ {128, { 0, 0, 0}}, // (179, 82)
+ {128, { 0, 0, 0}}, // ( 0, 83)
+ {128, { 0, 0, 0}}, // ( 1, 83)
+ { 34, { 0, 0, 0}}, // ( 2, 83)
+ { 0, { 0, 0, 0}}, // ( 3, 83)
+ { 0, { 0, 0, 0}}, // ( 4, 83)
+ { 0, { 0, 0, 0}}, // ( 5, 83)
+ { 0, { 0, 0, 0}}, // ( 6, 83)
+ { 0, { 0, 0, 0}}, // ( 7, 83)
+ { 0, { 0, 0, 0}}, // ( 8, 83)
+ { 0, { 0, 0, 0}}, // ( 9, 83)
+ { 0, { 0, 0, 0}}, // ( 10, 83)
+ { 0, { 0, 0, 0}}, // ( 11, 83)
+ { 0, { 0, 0, 0}}, // ( 12, 83)
+ { 0, { 0, 0, 0}}, // ( 13, 83)
+ { 0, { 0, 0, 0}}, // ( 14, 83)
+ { 0, { 0, 0, 0}}, // ( 15, 83)
+ { 0, { 0, 0, 0}}, // ( 16, 83)
+ { 0, { 0, 0, 0}}, // ( 17, 83)
+ { 0, { 0, 0, 0}}, // ( 18, 83)
+ { 0, { 0, 0, 0}}, // ( 19, 83)
+ { 0, { 0, 0, 0}}, // ( 20, 83)
+ { 0, { 0, 0, 0}}, // ( 21, 83)
+ { 0, { 0, 0, 0}}, // ( 22, 83)
+ { 0, { 0, 0, 0}}, // ( 23, 83)
+ { 0, { 0, 0, 0}}, // ( 24, 83)
+ { 0, { 0, 0, 0}}, // ( 25, 83)
+ { 0, { 0, 0, 0}}, // ( 26, 83)
+ { 0, { 0, 0, 0}}, // ( 27, 83)
+ { 0, { 0, 0, 0}}, // ( 28, 83)
+ { 0, { 0, 0, 0}}, // ( 29, 83)
+ { 0, { 0, 0, 0}}, // ( 30, 83)
+ { 0, { 0, 0, 0}}, // ( 31, 83)
+ { 0, { 0, 0, 0}}, // ( 32, 83)
+ { 0, { 0, 0, 0}}, // ( 33, 83)
+ { 0, { 0, 0, 0}}, // ( 34, 83)
+ { 0, { 0, 0, 0}}, // ( 35, 83)
+ { 0, { 0, 0, 0}}, // ( 36, 83)
+ { 0, { 0, 0, 0}}, // ( 37, 83)
+ { 0, { 0, 0, 0}}, // ( 38, 83)
+ { 0, { 0, 0, 0}}, // ( 39, 83)
+ { 0, { 0, 0, 0}}, // ( 40, 83)
+ { 0, { 0, 0, 0}}, // ( 41, 83)
+ { 0, { 0, 0, 0}}, // ( 42, 83)
+ { 0, { 0, 0, 0}}, // ( 43, 83)
+ { 0, { 0, 0, 0}}, // ( 44, 83)
+ { 0, { 0, 0, 0}}, // ( 45, 83)
+ { 0, { 0, 0, 0}}, // ( 46, 83)
+ { 0, { 0, 0, 0}}, // ( 47, 83)
+ { 0, { 0, 0, 0}}, // ( 48, 83)
+ { 0, { 0, 0, 0}}, // ( 49, 83)
+ { 0, { 0, 0, 0}}, // ( 50, 83)
+ { 0, { 0, 0, 0}}, // ( 51, 83)
+ { 0, { 0, 0, 0}}, // ( 52, 83)
+ { 0, { 0, 0, 0}}, // ( 53, 83)
+ { 0, { 0, 0, 0}}, // ( 54, 83)
+ { 0, { 0, 0, 0}}, // ( 55, 83)
+ { 0, { 0, 0, 0}}, // ( 56, 83)
+ { 0, { 0, 0, 0}}, // ( 57, 83)
+ { 0, { 0, 0, 0}}, // ( 58, 83)
+ { 0, { 0, 0, 0}}, // ( 59, 83)
+ { 0, { 0, 0, 0}}, // ( 60, 83)
+ { 0, { 0, 0, 0}}, // ( 61, 83)
+ { 0, { 0, 0, 0}}, // ( 62, 83)
+ { 0, { 0, 0, 0}}, // ( 63, 83)
+ { 0, { 0, 0, 0}}, // ( 64, 83)
+ { 0, { 0, 0, 0}}, // ( 65, 83)
+ { 0, { 0, 0, 0}}, // ( 66, 83)
+ { 0, { 0, 0, 0}}, // ( 67, 83)
+ { 0, { 0, 0, 0}}, // ( 68, 83)
+ { 0, { 0, 0, 0}}, // ( 69, 83)
+ { 0, { 0, 0, 0}}, // ( 70, 83)
+ { 0, { 0, 0, 0}}, // ( 71, 83)
+ { 0, { 0, 0, 0}}, // ( 72, 83)
+ { 0, { 0, 0, 0}}, // ( 73, 83)
+ { 0, { 0, 0, 0}}, // ( 74, 83)
+ { 0, { 0, 0, 0}}, // ( 75, 83)
+ { 0, { 0, 0, 0}}, // ( 76, 83)
+ { 0, { 0, 0, 0}}, // ( 77, 83)
+ { 0, { 0, 0, 0}}, // ( 78, 83)
+ { 0, { 0, 0, 0}}, // ( 79, 83)
+ { 0, { 0, 0, 0}}, // ( 80, 83)
+ { 0, { 0, 0, 0}}, // ( 81, 83)
+ { 0, { 0, 0, 0}}, // ( 82, 83)
+ { 0, { 0, 0, 0}}, // ( 83, 83)
+ { 0, { 0, 0, 0}}, // ( 84, 83)
+ { 0, { 0, 0, 0}}, // ( 85, 83)
+ { 0, { 0, 0, 0}}, // ( 86, 83)
+ { 0, { 0, 0, 0}}, // ( 87, 83)
+ { 0, { 0, 0, 0}}, // ( 88, 83)
+ { 0, { 0, 0, 0}}, // ( 89, 83)
+ { 0, { 0, 0, 0}}, // ( 90, 83)
+ { 0, { 0, 0, 0}}, // ( 91, 83)
+ { 0, { 0, 0, 0}}, // ( 92, 83)
+ { 0, { 0, 0, 0}}, // ( 93, 83)
+ { 0, { 0, 0, 0}}, // ( 94, 83)
+ { 0, { 0, 0, 0}}, // ( 95, 83)
+ { 0, { 0, 0, 0}}, // ( 96, 83)
+ { 0, { 0, 0, 0}}, // ( 97, 83)
+ { 0, { 0, 0, 0}}, // ( 98, 83)
+ { 0, { 0, 0, 0}}, // ( 99, 83)
+ { 0, { 0, 0, 0}}, // (100, 83)
+ { 0, { 0, 0, 0}}, // (101, 83)
+ { 0, { 0, 0, 0}}, // (102, 83)
+ { 0, { 0, 0, 0}}, // (103, 83)
+ { 0, { 0, 0, 0}}, // (104, 83)
+ { 0, { 0, 0, 0}}, // (105, 83)
+ { 0, { 0, 0, 0}}, // (106, 83)
+ { 0, { 0, 0, 0}}, // (107, 83)
+ { 0, { 0, 0, 0}}, // (108, 83)
+ { 0, { 0, 0, 0}}, // (109, 83)
+ { 0, { 0, 0, 0}}, // (110, 83)
+ { 0, { 0, 0, 0}}, // (111, 83)
+ { 0, { 0, 0, 0}}, // (112, 83)
+ { 0, { 0, 0, 0}}, // (113, 83)
+ { 0, { 0, 0, 0}}, // (114, 83)
+ { 0, { 0, 0, 0}}, // (115, 83)
+ { 0, { 0, 0, 0}}, // (116, 83)
+ { 0, { 0, 0, 0}}, // (117, 83)
+ { 0, { 0, 0, 0}}, // (118, 83)
+ { 0, { 0, 0, 0}}, // (119, 83)
+ { 0, { 0, 0, 0}}, // (120, 83)
+ { 0, { 0, 0, 0}}, // (121, 83)
+ { 0, { 0, 0, 0}}, // (122, 83)
+ { 0, { 0, 0, 0}}, // (123, 83)
+ { 0, { 0, 0, 0}}, // (124, 83)
+ { 0, { 0, 0, 0}}, // (125, 83)
+ { 0, { 0, 0, 0}}, // (126, 83)
+ { 0, { 0, 0, 0}}, // (127, 83)
+ { 0, { 0, 0, 0}}, // (128, 83)
+ { 0, { 0, 0, 0}}, // (129, 83)
+ { 0, { 0, 0, 0}}, // (130, 83)
+ { 0, { 0, 0, 0}}, // (131, 83)
+ { 0, { 0, 0, 0}}, // (132, 83)
+ { 0, { 0, 0, 0}}, // (133, 83)
+ { 0, { 0, 0, 0}}, // (134, 83)
+ { 0, { 0, 0, 0}}, // (135, 83)
+ { 0, { 0, 0, 0}}, // (136, 83)
+ { 0, { 0, 0, 0}}, // (137, 83)
+ { 0, { 0, 0, 0}}, // (138, 83)
+ { 0, { 0, 0, 0}}, // (139, 83)
+ { 0, { 0, 0, 0}}, // (140, 83)
+ { 0, { 0, 0, 0}}, // (141, 83)
+ { 0, { 0, 0, 0}}, // (142, 83)
+ { 0, { 0, 0, 0}}, // (143, 83)
+ { 0, { 0, 0, 0}}, // (144, 83)
+ { 0, { 0, 0, 0}}, // (145, 83)
+ { 0, { 0, 0, 0}}, // (146, 83)
+ { 0, { 0, 0, 0}}, // (147, 83)
+ { 0, { 0, 0, 0}}, // (148, 83)
+ { 0, { 0, 0, 0}}, // (149, 83)
+ { 0, { 0, 0, 0}}, // (150, 83)
+ { 0, { 0, 0, 0}}, // (151, 83)
+ { 0, { 0, 0, 0}}, // (152, 83)
+ { 0, { 0, 0, 0}}, // (153, 83)
+ { 0, { 0, 0, 0}}, // (154, 83)
+ { 0, { 0, 0, 0}}, // (155, 83)
+ { 0, { 0, 0, 0}}, // (156, 83)
+ { 0, { 0, 0, 0}}, // (157, 83)
+ { 0, { 0, 0, 0}}, // (158, 83)
+ { 0, { 0, 0, 0}}, // (159, 83)
+ { 0, { 0, 0, 0}}, // (160, 83)
+ { 0, { 0, 0, 0}}, // (161, 83)
+ { 0, { 0, 0, 0}}, // (162, 83)
+ { 0, { 0, 0, 0}}, // (163, 83)
+ { 0, { 0, 0, 0}}, // (164, 83)
+ { 0, { 0, 0, 0}}, // (165, 83)
+ { 0, { 0, 0, 0}}, // (166, 83)
+ { 0, { 0, 0, 0}}, // (167, 83)
+ { 0, { 0, 0, 0}}, // (168, 83)
+ { 0, { 0, 0, 0}}, // (169, 83)
+ { 0, { 0, 0, 0}}, // (170, 83)
+ { 0, { 0, 0, 0}}, // (171, 83)
+ { 0, { 0, 0, 0}}, // (172, 83)
+ { 0, { 0, 0, 0}}, // (173, 83)
+ { 0, { 0, 0, 0}}, // (174, 83)
+ { 0, { 0, 0, 0}}, // (175, 83)
+ { 0, { 0, 0, 0}}, // (176, 83)
+ { 34, { 0, 0, 0}}, // (177, 83)
+ {128, { 0, 0, 0}}, // (178, 83)
+ {128, { 0, 0, 0}}, // (179, 83)
+ {128, { 0, 0, 0}}, // ( 0, 84)
+ {128, { 0, 0, 0}}, // ( 1, 84)
+ { 25, { 0, 0, 0}}, // ( 2, 84)
+ { 0, { 0, 0, 0}}, // ( 3, 84)
+ { 0, { 0, 0, 0}}, // ( 4, 84)
+ { 0, { 0, 0, 0}}, // ( 5, 84)
+ { 0, { 0, 0, 0}}, // ( 6, 84)
+ { 0, { 0, 0, 0}}, // ( 7, 84)
+ { 0, { 0, 0, 0}}, // ( 8, 84)
+ { 0, { 0, 0, 0}}, // ( 9, 84)
+ { 0, { 0, 0, 0}}, // ( 10, 84)
+ { 0, { 0, 0, 0}}, // ( 11, 84)
+ { 0, { 0, 0, 0}}, // ( 12, 84)
+ { 0, { 0, 0, 0}}, // ( 13, 84)
+ { 0, { 0, 0, 0}}, // ( 14, 84)
+ { 0, { 0, 0, 0}}, // ( 15, 84)
+ { 0, { 0, 0, 0}}, // ( 16, 84)
+ { 0, { 0, 0, 0}}, // ( 17, 84)
+ { 0, { 0, 0, 0}}, // ( 18, 84)
+ { 0, { 0, 0, 0}}, // ( 19, 84)
+ { 0, { 0, 0, 0}}, // ( 20, 84)
+ { 0, { 0, 0, 0}}, // ( 21, 84)
+ { 0, { 0, 0, 0}}, // ( 22, 84)
+ { 0, { 0, 0, 0}}, // ( 23, 84)
+ { 0, { 0, 0, 0}}, // ( 24, 84)
+ { 0, { 0, 0, 0}}, // ( 25, 84)
+ { 0, { 0, 0, 0}}, // ( 26, 84)
+ { 0, { 0, 0, 0}}, // ( 27, 84)
+ { 0, { 0, 0, 0}}, // ( 28, 84)
+ { 0, { 0, 0, 0}}, // ( 29, 84)
+ { 0, { 0, 0, 0}}, // ( 30, 84)
+ { 0, { 0, 0, 0}}, // ( 31, 84)
+ { 0, { 0, 0, 0}}, // ( 32, 84)
+ { 0, { 0, 0, 0}}, // ( 33, 84)
+ { 0, { 0, 0, 0}}, // ( 34, 84)
+ { 0, { 0, 0, 0}}, // ( 35, 84)
+ { 0, { 0, 0, 0}}, // ( 36, 84)
+ { 0, { 0, 0, 0}}, // ( 37, 84)
+ { 0, { 0, 0, 0}}, // ( 38, 84)
+ { 0, { 0, 0, 0}}, // ( 39, 84)
+ { 0, { 0, 0, 0}}, // ( 40, 84)
+ { 0, { 0, 0, 0}}, // ( 41, 84)
+ { 0, { 0, 0, 0}}, // ( 42, 84)
+ { 0, { 0, 0, 0}}, // ( 43, 84)
+ { 0, { 0, 0, 0}}, // ( 44, 84)
+ { 0, { 0, 0, 0}}, // ( 45, 84)
+ { 0, { 0, 0, 0}}, // ( 46, 84)
+ { 0, { 0, 0, 0}}, // ( 47, 84)
+ { 0, { 0, 0, 0}}, // ( 48, 84)
+ { 0, { 0, 0, 0}}, // ( 49, 84)
+ { 0, { 0, 0, 0}}, // ( 50, 84)
+ { 0, { 0, 0, 0}}, // ( 51, 84)
+ { 0, { 0, 0, 0}}, // ( 52, 84)
+ { 0, { 0, 0, 0}}, // ( 53, 84)
+ { 0, { 0, 0, 0}}, // ( 54, 84)
+ { 0, { 0, 0, 0}}, // ( 55, 84)
+ { 0, { 0, 0, 0}}, // ( 56, 84)
+ { 0, { 0, 0, 0}}, // ( 57, 84)
+ { 0, { 0, 0, 0}}, // ( 58, 84)
+ { 0, { 0, 0, 0}}, // ( 59, 84)
+ { 0, { 0, 0, 0}}, // ( 60, 84)
+ { 0, { 0, 0, 0}}, // ( 61, 84)
+ { 0, { 0, 0, 0}}, // ( 62, 84)
+ { 0, { 0, 0, 0}}, // ( 63, 84)
+ { 0, { 0, 0, 0}}, // ( 64, 84)
+ { 0, { 0, 0, 0}}, // ( 65, 84)
+ { 0, { 0, 0, 0}}, // ( 66, 84)
+ { 0, { 0, 0, 0}}, // ( 67, 84)
+ { 0, { 0, 0, 0}}, // ( 68, 84)
+ { 0, { 0, 0, 0}}, // ( 69, 84)
+ { 0, { 0, 0, 0}}, // ( 70, 84)
+ { 0, { 0, 0, 0}}, // ( 71, 84)
+ { 0, { 0, 0, 0}}, // ( 72, 84)
+ { 0, { 0, 0, 0}}, // ( 73, 84)
+ { 0, { 0, 0, 0}}, // ( 74, 84)
+ { 0, { 0, 0, 0}}, // ( 75, 84)
+ { 0, { 0, 0, 0}}, // ( 76, 84)
+ { 0, { 0, 0, 0}}, // ( 77, 84)
+ { 0, { 0, 0, 0}}, // ( 78, 84)
+ { 0, { 0, 0, 0}}, // ( 79, 84)
+ { 0, { 0, 0, 0}}, // ( 80, 84)
+ { 0, { 0, 0, 0}}, // ( 81, 84)
+ { 0, { 0, 0, 0}}, // ( 82, 84)
+ { 0, { 0, 0, 0}}, // ( 83, 84)
+ { 0, { 0, 0, 0}}, // ( 84, 84)
+ { 0, { 0, 0, 0}}, // ( 85, 84)
+ { 0, { 0, 0, 0}}, // ( 86, 84)
+ { 0, { 0, 0, 0}}, // ( 87, 84)
+ { 0, { 0, 0, 0}}, // ( 88, 84)
+ { 0, { 0, 0, 0}}, // ( 89, 84)
+ { 0, { 0, 0, 0}}, // ( 90, 84)
+ { 0, { 0, 0, 0}}, // ( 91, 84)
+ { 0, { 0, 0, 0}}, // ( 92, 84)
+ { 0, { 0, 0, 0}}, // ( 93, 84)
+ { 0, { 0, 0, 0}}, // ( 94, 84)
+ { 0, { 0, 0, 0}}, // ( 95, 84)
+ { 0, { 0, 0, 0}}, // ( 96, 84)
+ { 0, { 0, 0, 0}}, // ( 97, 84)
+ { 0, { 0, 0, 0}}, // ( 98, 84)
+ { 0, { 0, 0, 0}}, // ( 99, 84)
+ { 0, { 0, 0, 0}}, // (100, 84)
+ { 0, { 0, 0, 0}}, // (101, 84)
+ { 0, { 0, 0, 0}}, // (102, 84)
+ { 0, { 0, 0, 0}}, // (103, 84)
+ { 0, { 0, 0, 0}}, // (104, 84)
+ { 0, { 0, 0, 0}}, // (105, 84)
+ { 0, { 0, 0, 0}}, // (106, 84)
+ { 0, { 0, 0, 0}}, // (107, 84)
+ { 0, { 0, 0, 0}}, // (108, 84)
+ { 0, { 0, 0, 0}}, // (109, 84)
+ { 0, { 0, 0, 0}}, // (110, 84)
+ { 0, { 0, 0, 0}}, // (111, 84)
+ { 0, { 0, 0, 0}}, // (112, 84)
+ { 0, { 0, 0, 0}}, // (113, 84)
+ { 0, { 0, 0, 0}}, // (114, 84)
+ { 0, { 0, 0, 0}}, // (115, 84)
+ { 0, { 0, 0, 0}}, // (116, 84)
+ { 0, { 0, 0, 0}}, // (117, 84)
+ { 0, { 0, 0, 0}}, // (118, 84)
+ { 0, { 0, 0, 0}}, // (119, 84)
+ { 0, { 0, 0, 0}}, // (120, 84)
+ { 0, { 0, 0, 0}}, // (121, 84)
+ { 0, { 0, 0, 0}}, // (122, 84)
+ { 0, { 0, 0, 0}}, // (123, 84)
+ { 0, { 0, 0, 0}}, // (124, 84)
+ { 0, { 0, 0, 0}}, // (125, 84)
+ { 0, { 0, 0, 0}}, // (126, 84)
+ { 0, { 0, 0, 0}}, // (127, 84)
+ { 0, { 0, 0, 0}}, // (128, 84)
+ { 0, { 0, 0, 0}}, // (129, 84)
+ { 0, { 0, 0, 0}}, // (130, 84)
+ { 0, { 0, 0, 0}}, // (131, 84)
+ { 0, { 0, 0, 0}}, // (132, 84)
+ { 0, { 0, 0, 0}}, // (133, 84)
+ { 0, { 0, 0, 0}}, // (134, 84)
+ { 0, { 0, 0, 0}}, // (135, 84)
+ { 0, { 0, 0, 0}}, // (136, 84)
+ { 0, { 0, 0, 0}}, // (137, 84)
+ { 0, { 0, 0, 0}}, // (138, 84)
+ { 0, { 0, 0, 0}}, // (139, 84)
+ { 0, { 0, 0, 0}}, // (140, 84)
+ { 0, { 0, 0, 0}}, // (141, 84)
+ { 0, { 0, 0, 0}}, // (142, 84)
+ { 0, { 0, 0, 0}}, // (143, 84)
+ { 0, { 0, 0, 0}}, // (144, 84)
+ { 0, { 0, 0, 0}}, // (145, 84)
+ { 0, { 0, 0, 0}}, // (146, 84)
+ { 0, { 0, 0, 0}}, // (147, 84)
+ { 0, { 0, 0, 0}}, // (148, 84)
+ { 0, { 0, 0, 0}}, // (149, 84)
+ { 0, { 0, 0, 0}}, // (150, 84)
+ { 0, { 0, 0, 0}}, // (151, 84)
+ { 0, { 0, 0, 0}}, // (152, 84)
+ { 0, { 0, 0, 0}}, // (153, 84)
+ { 0, { 0, 0, 0}}, // (154, 84)
+ { 0, { 0, 0, 0}}, // (155, 84)
+ { 0, { 0, 0, 0}}, // (156, 84)
+ { 0, { 0, 0, 0}}, // (157, 84)
+ { 0, { 0, 0, 0}}, // (158, 84)
+ { 0, { 0, 0, 0}}, // (159, 84)
+ { 0, { 0, 0, 0}}, // (160, 84)
+ { 0, { 0, 0, 0}}, // (161, 84)
+ { 0, { 0, 0, 0}}, // (162, 84)
+ { 0, { 0, 0, 0}}, // (163, 84)
+ { 0, { 0, 0, 0}}, // (164, 84)
+ { 0, { 0, 0, 0}}, // (165, 84)
+ { 0, { 0, 0, 0}}, // (166, 84)
+ { 0, { 0, 0, 0}}, // (167, 84)
+ { 0, { 0, 0, 0}}, // (168, 84)
+ { 0, { 0, 0, 0}}, // (169, 84)
+ { 0, { 0, 0, 0}}, // (170, 84)
+ { 0, { 0, 0, 0}}, // (171, 84)
+ { 0, { 0, 0, 0}}, // (172, 84)
+ { 0, { 0, 0, 0}}, // (173, 84)
+ { 0, { 0, 0, 0}}, // (174, 84)
+ { 0, { 0, 0, 0}}, // (175, 84)
+ { 0, { 0, 0, 0}}, // (176, 84)
+ { 25, { 0, 0, 0}}, // (177, 84)
+ {128, { 0, 0, 0}}, // (178, 84)
+ {128, { 0, 0, 0}}, // (179, 84)
+ {128, { 0, 0, 0}}, // ( 0, 85)
+ {128, { 0, 0, 0}}, // ( 1, 85)
+ { 16, { 0, 0, 0}}, // ( 2, 85)
+ { 0, { 0, 0, 0}}, // ( 3, 85)
+ { 0, { 0, 0, 0}}, // ( 4, 85)
+ { 0, { 0, 0, 0}}, // ( 5, 85)
+ { 0, { 0, 0, 0}}, // ( 6, 85)
+ { 0, { 0, 0, 0}}, // ( 7, 85)
+ { 0, { 0, 0, 0}}, // ( 8, 85)
+ { 0, { 0, 0, 0}}, // ( 9, 85)
+ { 0, { 0, 0, 0}}, // ( 10, 85)
+ { 0, { 0, 0, 0}}, // ( 11, 85)
+ { 0, { 0, 0, 0}}, // ( 12, 85)
+ { 0, { 0, 0, 0}}, // ( 13, 85)
+ { 0, { 0, 0, 0}}, // ( 14, 85)
+ { 0, { 0, 0, 0}}, // ( 15, 85)
+ { 0, { 0, 0, 0}}, // ( 16, 85)
+ { 0, { 0, 0, 0}}, // ( 17, 85)
+ { 0, { 0, 0, 0}}, // ( 18, 85)
+ { 0, { 0, 0, 0}}, // ( 19, 85)
+ { 0, { 0, 0, 0}}, // ( 20, 85)
+ { 0, { 0, 0, 0}}, // ( 21, 85)
+ { 0, { 0, 0, 0}}, // ( 22, 85)
+ { 0, { 0, 0, 0}}, // ( 23, 85)
+ { 0, { 0, 0, 0}}, // ( 24, 85)
+ { 0, { 0, 0, 0}}, // ( 25, 85)
+ { 0, { 0, 0, 0}}, // ( 26, 85)
+ { 0, { 0, 0, 0}}, // ( 27, 85)
+ { 0, { 0, 0, 0}}, // ( 28, 85)
+ { 0, { 0, 0, 0}}, // ( 29, 85)
+ { 0, { 0, 0, 0}}, // ( 30, 85)
+ { 0, { 0, 0, 0}}, // ( 31, 85)
+ { 0, { 0, 0, 0}}, // ( 32, 85)
+ { 0, { 0, 0, 0}}, // ( 33, 85)
+ { 0, { 0, 0, 0}}, // ( 34, 85)
+ { 0, { 0, 0, 0}}, // ( 35, 85)
+ { 0, { 0, 0, 0}}, // ( 36, 85)
+ { 0, { 0, 0, 0}}, // ( 37, 85)
+ { 0, { 0, 0, 0}}, // ( 38, 85)
+ { 0, { 0, 0, 0}}, // ( 39, 85)
+ { 0, { 0, 0, 0}}, // ( 40, 85)
+ { 0, { 0, 0, 0}}, // ( 41, 85)
+ { 0, { 0, 0, 0}}, // ( 42, 85)
+ { 0, { 0, 0, 0}}, // ( 43, 85)
+ { 0, { 0, 0, 0}}, // ( 44, 85)
+ { 0, { 0, 0, 0}}, // ( 45, 85)
+ { 0, { 0, 0, 0}}, // ( 46, 85)
+ { 0, { 0, 0, 0}}, // ( 47, 85)
+ { 0, { 0, 0, 0}}, // ( 48, 85)
+ { 0, { 0, 0, 0}}, // ( 49, 85)
+ { 0, { 0, 0, 0}}, // ( 50, 85)
+ { 0, { 0, 0, 0}}, // ( 51, 85)
+ { 0, { 0, 0, 0}}, // ( 52, 85)
+ { 0, { 0, 0, 0}}, // ( 53, 85)
+ { 0, { 0, 0, 0}}, // ( 54, 85)
+ { 0, { 0, 0, 0}}, // ( 55, 85)
+ { 0, { 0, 0, 0}}, // ( 56, 85)
+ { 0, { 0, 0, 0}}, // ( 57, 85)
+ { 0, { 0, 0, 0}}, // ( 58, 85)
+ { 0, { 0, 0, 0}}, // ( 59, 85)
+ { 0, { 0, 0, 0}}, // ( 60, 85)
+ { 0, { 0, 0, 0}}, // ( 61, 85)
+ { 0, { 0, 0, 0}}, // ( 62, 85)
+ { 0, { 0, 0, 0}}, // ( 63, 85)
+ { 0, { 0, 0, 0}}, // ( 64, 85)
+ { 0, { 0, 0, 0}}, // ( 65, 85)
+ { 0, { 0, 0, 0}}, // ( 66, 85)
+ { 0, { 0, 0, 0}}, // ( 67, 85)
+ { 0, { 0, 0, 0}}, // ( 68, 85)
+ { 0, { 0, 0, 0}}, // ( 69, 85)
+ { 0, { 0, 0, 0}}, // ( 70, 85)
+ { 0, { 0, 0, 0}}, // ( 71, 85)
+ { 0, { 0, 0, 0}}, // ( 72, 85)
+ { 0, { 0, 0, 0}}, // ( 73, 85)
+ { 0, { 0, 0, 0}}, // ( 74, 85)
+ { 0, { 0, 0, 0}}, // ( 75, 85)
+ { 0, { 0, 0, 0}}, // ( 76, 85)
+ { 0, { 0, 0, 0}}, // ( 77, 85)
+ { 0, { 0, 0, 0}}, // ( 78, 85)
+ { 0, { 0, 0, 0}}, // ( 79, 85)
+ { 0, { 0, 0, 0}}, // ( 80, 85)
+ { 0, { 0, 0, 0}}, // ( 81, 85)
+ { 0, { 0, 0, 0}}, // ( 82, 85)
+ { 0, { 0, 0, 0}}, // ( 83, 85)
+ { 0, { 0, 0, 0}}, // ( 84, 85)
+ { 0, { 0, 0, 0}}, // ( 85, 85)
+ { 0, { 0, 0, 0}}, // ( 86, 85)
+ { 0, { 0, 0, 0}}, // ( 87, 85)
+ { 0, { 0, 0, 0}}, // ( 88, 85)
+ { 0, { 0, 0, 0}}, // ( 89, 85)
+ { 0, { 0, 0, 0}}, // ( 90, 85)
+ { 0, { 0, 0, 0}}, // ( 91, 85)
+ { 0, { 0, 0, 0}}, // ( 92, 85)
+ { 0, { 0, 0, 0}}, // ( 93, 85)
+ { 0, { 0, 0, 0}}, // ( 94, 85)
+ { 0, { 0, 0, 0}}, // ( 95, 85)
+ { 0, { 0, 0, 0}}, // ( 96, 85)
+ { 0, { 0, 0, 0}}, // ( 97, 85)
+ { 0, { 0, 0, 0}}, // ( 98, 85)
+ { 0, { 0, 0, 0}}, // ( 99, 85)
+ { 0, { 0, 0, 0}}, // (100, 85)
+ { 0, { 0, 0, 0}}, // (101, 85)
+ { 0, { 0, 0, 0}}, // (102, 85)
+ { 0, { 0, 0, 0}}, // (103, 85)
+ { 0, { 0, 0, 0}}, // (104, 85)
+ { 0, { 0, 0, 0}}, // (105, 85)
+ { 0, { 0, 0, 0}}, // (106, 85)
+ { 0, { 0, 0, 0}}, // (107, 85)
+ { 0, { 0, 0, 0}}, // (108, 85)
+ { 0, { 0, 0, 0}}, // (109, 85)
+ { 0, { 0, 0, 0}}, // (110, 85)
+ { 0, { 0, 0, 0}}, // (111, 85)
+ { 0, { 0, 0, 0}}, // (112, 85)
+ { 0, { 0, 0, 0}}, // (113, 85)
+ { 0, { 0, 0, 0}}, // (114, 85)
+ { 0, { 0, 0, 0}}, // (115, 85)
+ { 0, { 0, 0, 0}}, // (116, 85)
+ { 0, { 0, 0, 0}}, // (117, 85)
+ { 0, { 0, 0, 0}}, // (118, 85)
+ { 0, { 0, 0, 0}}, // (119, 85)
+ { 0, { 0, 0, 0}}, // (120, 85)
+ { 0, { 0, 0, 0}}, // (121, 85)
+ { 0, { 0, 0, 0}}, // (122, 85)
+ { 0, { 0, 0, 0}}, // (123, 85)
+ { 0, { 0, 0, 0}}, // (124, 85)
+ { 0, { 0, 0, 0}}, // (125, 85)
+ { 0, { 0, 0, 0}}, // (126, 85)
+ { 0, { 0, 0, 0}}, // (127, 85)
+ { 0, { 0, 0, 0}}, // (128, 85)
+ { 0, { 0, 0, 0}}, // (129, 85)
+ { 0, { 0, 0, 0}}, // (130, 85)
+ { 0, { 0, 0, 0}}, // (131, 85)
+ { 0, { 0, 0, 0}}, // (132, 85)
+ { 0, { 0, 0, 0}}, // (133, 85)
+ { 0, { 0, 0, 0}}, // (134, 85)
+ { 0, { 0, 0, 0}}, // (135, 85)
+ { 0, { 0, 0, 0}}, // (136, 85)
+ { 0, { 0, 0, 0}}, // (137, 85)
+ { 0, { 0, 0, 0}}, // (138, 85)
+ { 0, { 0, 0, 0}}, // (139, 85)
+ { 0, { 0, 0, 0}}, // (140, 85)
+ { 0, { 0, 0, 0}}, // (141, 85)
+ { 0, { 0, 0, 0}}, // (142, 85)
+ { 0, { 0, 0, 0}}, // (143, 85)
+ { 0, { 0, 0, 0}}, // (144, 85)
+ { 0, { 0, 0, 0}}, // (145, 85)
+ { 0, { 0, 0, 0}}, // (146, 85)
+ { 0, { 0, 0, 0}}, // (147, 85)
+ { 0, { 0, 0, 0}}, // (148, 85)
+ { 0, { 0, 0, 0}}, // (149, 85)
+ { 0, { 0, 0, 0}}, // (150, 85)
+ { 0, { 0, 0, 0}}, // (151, 85)
+ { 0, { 0, 0, 0}}, // (152, 85)
+ { 0, { 0, 0, 0}}, // (153, 85)
+ { 0, { 0, 0, 0}}, // (154, 85)
+ { 0, { 0, 0, 0}}, // (155, 85)
+ { 0, { 0, 0, 0}}, // (156, 85)
+ { 0, { 0, 0, 0}}, // (157, 85)
+ { 0, { 0, 0, 0}}, // (158, 85)
+ { 0, { 0, 0, 0}}, // (159, 85)
+ { 0, { 0, 0, 0}}, // (160, 85)
+ { 0, { 0, 0, 0}}, // (161, 85)
+ { 0, { 0, 0, 0}}, // (162, 85)
+ { 0, { 0, 0, 0}}, // (163, 85)
+ { 0, { 0, 0, 0}}, // (164, 85)
+ { 0, { 0, 0, 0}}, // (165, 85)
+ { 0, { 0, 0, 0}}, // (166, 85)
+ { 0, { 0, 0, 0}}, // (167, 85)
+ { 0, { 0, 0, 0}}, // (168, 85)
+ { 0, { 0, 0, 0}}, // (169, 85)
+ { 0, { 0, 0, 0}}, // (170, 85)
+ { 0, { 0, 0, 0}}, // (171, 85)
+ { 0, { 0, 0, 0}}, // (172, 85)
+ { 0, { 0, 0, 0}}, // (173, 85)
+ { 0, { 0, 0, 0}}, // (174, 85)
+ { 0, { 0, 0, 0}}, // (175, 85)
+ { 0, { 0, 0, 0}}, // (176, 85)
+ { 15, { 0, 0, 0}}, // (177, 85)
+ {128, { 0, 0, 0}}, // (178, 85)
+ {128, { 0, 0, 0}}, // (179, 85)
+ {128, { 0, 0, 0}}, // ( 0, 86)
+ {128, { 0, 0, 0}}, // ( 1, 86)
+ { 12, { 0, 0, 0}}, // ( 2, 86)
+ { 0, { 0, 0, 0}}, // ( 3, 86)
+ { 0, { 0, 0, 0}}, // ( 4, 86)
+ { 0, { 0, 0, 0}}, // ( 5, 86)
+ { 0, { 0, 0, 0}}, // ( 6, 86)
+ { 0, { 0, 0, 0}}, // ( 7, 86)
+ { 0, { 0, 0, 0}}, // ( 8, 86)
+ { 0, { 0, 0, 0}}, // ( 9, 86)
+ { 0, { 0, 0, 0}}, // ( 10, 86)
+ { 0, { 0, 0, 0}}, // ( 11, 86)
+ { 0, { 0, 0, 0}}, // ( 12, 86)
+ { 0, { 0, 0, 0}}, // ( 13, 86)
+ { 0, { 0, 0, 0}}, // ( 14, 86)
+ { 0, { 0, 0, 0}}, // ( 15, 86)
+ { 0, { 0, 0, 0}}, // ( 16, 86)
+ { 0, { 0, 0, 0}}, // ( 17, 86)
+ { 0, { 0, 0, 0}}, // ( 18, 86)
+ { 0, { 0, 0, 0}}, // ( 19, 86)
+ { 0, { 0, 0, 0}}, // ( 20, 86)
+ { 0, { 0, 0, 0}}, // ( 21, 86)
+ { 0, { 0, 0, 0}}, // ( 22, 86)
+ { 0, { 0, 0, 0}}, // ( 23, 86)
+ { 0, { 0, 0, 0}}, // ( 24, 86)
+ { 0, { 0, 0, 0}}, // ( 25, 86)
+ { 0, { 0, 0, 0}}, // ( 26, 86)
+ { 0, { 0, 0, 0}}, // ( 27, 86)
+ { 0, { 0, 0, 0}}, // ( 28, 86)
+ { 0, { 0, 0, 0}}, // ( 29, 86)
+ { 0, { 0, 0, 0}}, // ( 30, 86)
+ { 0, { 0, 0, 0}}, // ( 31, 86)
+ { 0, { 0, 0, 0}}, // ( 32, 86)
+ { 0, { 0, 0, 0}}, // ( 33, 86)
+ { 0, { 0, 0, 0}}, // ( 34, 86)
+ { 0, { 0, 0, 0}}, // ( 35, 86)
+ { 0, { 0, 0, 0}}, // ( 36, 86)
+ { 0, { 0, 0, 0}}, // ( 37, 86)
+ { 0, { 0, 0, 0}}, // ( 38, 86)
+ { 0, { 0, 0, 0}}, // ( 39, 86)
+ { 0, { 0, 0, 0}}, // ( 40, 86)
+ { 0, { 0, 0, 0}}, // ( 41, 86)
+ { 0, { 0, 0, 0}}, // ( 42, 86)
+ { 0, { 0, 0, 0}}, // ( 43, 86)
+ { 0, { 0, 0, 0}}, // ( 44, 86)
+ { 0, { 0, 0, 0}}, // ( 45, 86)
+ { 0, { 0, 0, 0}}, // ( 46, 86)
+ { 0, { 0, 0, 0}}, // ( 47, 86)
+ { 0, { 0, 0, 0}}, // ( 48, 86)
+ { 0, { 0, 0, 0}}, // ( 49, 86)
+ { 0, { 0, 0, 0}}, // ( 50, 86)
+ { 0, { 0, 0, 0}}, // ( 51, 86)
+ { 0, { 0, 0, 0}}, // ( 52, 86)
+ { 0, { 0, 0, 0}}, // ( 53, 86)
+ { 0, { 0, 0, 0}}, // ( 54, 86)
+ { 0, { 0, 0, 0}}, // ( 55, 86)
+ { 0, { 0, 0, 0}}, // ( 56, 86)
+ { 0, { 0, 0, 0}}, // ( 57, 86)
+ { 0, { 0, 0, 0}}, // ( 58, 86)
+ { 0, { 0, 0, 0}}, // ( 59, 86)
+ { 0, { 0, 0, 0}}, // ( 60, 86)
+ { 0, { 0, 0, 0}}, // ( 61, 86)
+ { 0, { 0, 0, 0}}, // ( 62, 86)
+ { 0, { 0, 0, 0}}, // ( 63, 86)
+ { 0, { 0, 0, 0}}, // ( 64, 86)
+ { 0, { 0, 0, 0}}, // ( 65, 86)
+ { 0, { 0, 0, 0}}, // ( 66, 86)
+ { 0, { 0, 0, 0}}, // ( 67, 86)
+ { 0, { 0, 0, 0}}, // ( 68, 86)
+ { 0, { 0, 0, 0}}, // ( 69, 86)
+ { 0, { 0, 0, 0}}, // ( 70, 86)
+ { 0, { 0, 0, 0}}, // ( 71, 86)
+ { 0, { 0, 0, 0}}, // ( 72, 86)
+ { 0, { 0, 0, 0}}, // ( 73, 86)
+ { 0, { 0, 0, 0}}, // ( 74, 86)
+ { 0, { 0, 0, 0}}, // ( 75, 86)
+ { 0, { 0, 0, 0}}, // ( 76, 86)
+ { 0, { 0, 0, 0}}, // ( 77, 86)
+ { 0, { 0, 0, 0}}, // ( 78, 86)
+ { 0, { 0, 0, 0}}, // ( 79, 86)
+ { 0, { 0, 0, 0}}, // ( 80, 86)
+ { 0, { 0, 0, 0}}, // ( 81, 86)
+ { 0, { 0, 0, 0}}, // ( 82, 86)
+ { 0, { 0, 0, 0}}, // ( 83, 86)
+ { 0, { 0, 0, 0}}, // ( 84, 86)
+ { 0, { 0, 0, 0}}, // ( 85, 86)
+ { 0, { 0, 0, 0}}, // ( 86, 86)
+ { 0, { 0, 0, 0}}, // ( 87, 86)
+ { 0, { 0, 0, 0}}, // ( 88, 86)
+ { 0, { 0, 0, 0}}, // ( 89, 86)
+ { 0, { 0, 0, 0}}, // ( 90, 86)
+ { 0, { 0, 0, 0}}, // ( 91, 86)
+ { 0, { 0, 0, 0}}, // ( 92, 86)
+ { 0, { 0, 0, 0}}, // ( 93, 86)
+ { 0, { 0, 0, 0}}, // ( 94, 86)
+ { 0, { 0, 0, 0}}, // ( 95, 86)
+ { 0, { 0, 0, 0}}, // ( 96, 86)
+ { 0, { 0, 0, 0}}, // ( 97, 86)
+ { 0, { 0, 0, 0}}, // ( 98, 86)
+ { 0, { 0, 0, 0}}, // ( 99, 86)
+ { 0, { 0, 0, 0}}, // (100, 86)
+ { 0, { 0, 0, 0}}, // (101, 86)
+ { 0, { 0, 0, 0}}, // (102, 86)
+ { 0, { 0, 0, 0}}, // (103, 86)
+ { 0, { 0, 0, 0}}, // (104, 86)
+ { 0, { 0, 0, 0}}, // (105, 86)
+ { 0, { 0, 0, 0}}, // (106, 86)
+ { 0, { 0, 0, 0}}, // (107, 86)
+ { 0, { 0, 0, 0}}, // (108, 86)
+ { 0, { 0, 0, 0}}, // (109, 86)
+ { 0, { 0, 0, 0}}, // (110, 86)
+ { 0, { 0, 0, 0}}, // (111, 86)
+ { 0, { 0, 0, 0}}, // (112, 86)
+ { 0, { 0, 0, 0}}, // (113, 86)
+ { 0, { 0, 0, 0}}, // (114, 86)
+ { 0, { 0, 0, 0}}, // (115, 86)
+ { 0, { 0, 0, 0}}, // (116, 86)
+ { 0, { 0, 0, 0}}, // (117, 86)
+ { 0, { 0, 0, 0}}, // (118, 86)
+ { 0, { 0, 0, 0}}, // (119, 86)
+ { 0, { 0, 0, 0}}, // (120, 86)
+ { 0, { 0, 0, 0}}, // (121, 86)
+ { 0, { 0, 0, 0}}, // (122, 86)
+ { 0, { 0, 0, 0}}, // (123, 86)
+ { 0, { 0, 0, 0}}, // (124, 86)
+ { 0, { 0, 0, 0}}, // (125, 86)
+ { 0, { 0, 0, 0}}, // (126, 86)
+ { 0, { 0, 0, 0}}, // (127, 86)
+ { 0, { 0, 0, 0}}, // (128, 86)
+ { 0, { 0, 0, 0}}, // (129, 86)
+ { 0, { 0, 0, 0}}, // (130, 86)
+ { 0, { 0, 0, 0}}, // (131, 86)
+ { 0, { 0, 0, 0}}, // (132, 86)
+ { 0, { 0, 0, 0}}, // (133, 86)
+ { 0, { 0, 0, 0}}, // (134, 86)
+ { 0, { 0, 0, 0}}, // (135, 86)
+ { 0, { 0, 0, 0}}, // (136, 86)
+ { 0, { 0, 0, 0}}, // (137, 86)
+ { 0, { 0, 0, 0}}, // (138, 86)
+ { 0, { 0, 0, 0}}, // (139, 86)
+ { 0, { 0, 0, 0}}, // (140, 86)
+ { 0, { 0, 0, 0}}, // (141, 86)
+ { 0, { 0, 0, 0}}, // (142, 86)
+ { 0, { 0, 0, 0}}, // (143, 86)
+ { 0, { 0, 0, 0}}, // (144, 86)
+ { 0, { 0, 0, 0}}, // (145, 86)
+ { 0, { 0, 0, 0}}, // (146, 86)
+ { 0, { 0, 0, 0}}, // (147, 86)
+ { 0, { 0, 0, 0}}, // (148, 86)
+ { 0, { 0, 0, 0}}, // (149, 86)
+ { 0, { 0, 0, 0}}, // (150, 86)
+ { 0, { 0, 0, 0}}, // (151, 86)
+ { 0, { 0, 0, 0}}, // (152, 86)
+ { 0, { 0, 0, 0}}, // (153, 86)
+ { 0, { 0, 0, 0}}, // (154, 86)
+ { 0, { 0, 0, 0}}, // (155, 86)
+ { 0, { 0, 0, 0}}, // (156, 86)
+ { 0, { 0, 0, 0}}, // (157, 86)
+ { 0, { 0, 0, 0}}, // (158, 86)
+ { 0, { 0, 0, 0}}, // (159, 86)
+ { 0, { 0, 0, 0}}, // (160, 86)
+ { 0, { 0, 0, 0}}, // (161, 86)
+ { 0, { 0, 0, 0}}, // (162, 86)
+ { 0, { 0, 0, 0}}, // (163, 86)
+ { 0, { 0, 0, 0}}, // (164, 86)
+ { 0, { 0, 0, 0}}, // (165, 86)
+ { 0, { 0, 0, 0}}, // (166, 86)
+ { 0, { 0, 0, 0}}, // (167, 86)
+ { 0, { 0, 0, 0}}, // (168, 86)
+ { 0, { 0, 0, 0}}, // (169, 86)
+ { 0, { 0, 0, 0}}, // (170, 86)
+ { 0, { 0, 0, 0}}, // (171, 86)
+ { 0, { 0, 0, 0}}, // (172, 86)
+ { 0, { 0, 0, 0}}, // (173, 86)
+ { 0, { 0, 0, 0}}, // (174, 86)
+ { 0, { 0, 0, 0}}, // (175, 86)
+ { 0, { 0, 0, 0}}, // (176, 86)
+ { 11, { 0, 0, 0}}, // (177, 86)
+ {128, { 0, 0, 0}}, // (178, 86)
+ {128, { 0, 0, 0}}, // (179, 86)
+ {128, { 0, 0, 0}}, // ( 0, 87)
+ {128, { 0, 0, 0}}, // ( 1, 87)
+ { 8, { 0, 0, 0}}, // ( 2, 87)
+ { 0, { 0, 0, 0}}, // ( 3, 87)
+ { 0, { 0, 0, 0}}, // ( 4, 87)
+ { 0, { 0, 0, 0}}, // ( 5, 87)
+ { 0, { 0, 0, 0}}, // ( 6, 87)
+ { 0, { 0, 0, 0}}, // ( 7, 87)
+ { 0, { 0, 0, 0}}, // ( 8, 87)
+ { 0, { 0, 0, 0}}, // ( 9, 87)
+ { 0, { 0, 0, 0}}, // ( 10, 87)
+ { 0, { 0, 0, 0}}, // ( 11, 87)
+ { 0, { 0, 0, 0}}, // ( 12, 87)
+ { 0, { 0, 0, 0}}, // ( 13, 87)
+ { 0, { 0, 0, 0}}, // ( 14, 87)
+ { 0, { 0, 0, 0}}, // ( 15, 87)
+ { 0, { 0, 0, 0}}, // ( 16, 87)
+ { 0, { 0, 0, 0}}, // ( 17, 87)
+ { 0, { 0, 0, 0}}, // ( 18, 87)
+ { 0, { 0, 0, 0}}, // ( 19, 87)
+ { 0, { 0, 0, 0}}, // ( 20, 87)
+ { 0, { 0, 0, 0}}, // ( 21, 87)
+ { 0, { 0, 0, 0}}, // ( 22, 87)
+ { 0, { 0, 0, 0}}, // ( 23, 87)
+ { 0, { 0, 0, 0}}, // ( 24, 87)
+ { 0, { 0, 0, 0}}, // ( 25, 87)
+ { 0, { 0, 0, 0}}, // ( 26, 87)
+ { 0, { 0, 0, 0}}, // ( 27, 87)
+ { 0, { 0, 0, 0}}, // ( 28, 87)
+ { 0, { 0, 0, 0}}, // ( 29, 87)
+ { 0, { 0, 0, 0}}, // ( 30, 87)
+ { 0, { 0, 0, 0}}, // ( 31, 87)
+ { 0, { 0, 0, 0}}, // ( 32, 87)
+ { 0, { 0, 0, 0}}, // ( 33, 87)
+ { 0, { 0, 0, 0}}, // ( 34, 87)
+ { 0, { 0, 0, 0}}, // ( 35, 87)
+ { 0, { 0, 0, 0}}, // ( 36, 87)
+ { 0, { 0, 0, 0}}, // ( 37, 87)
+ { 0, { 0, 0, 0}}, // ( 38, 87)
+ { 0, { 0, 0, 0}}, // ( 39, 87)
+ { 0, { 0, 0, 0}}, // ( 40, 87)
+ { 0, { 0, 0, 0}}, // ( 41, 87)
+ { 0, { 0, 0, 0}}, // ( 42, 87)
+ { 0, { 0, 0, 0}}, // ( 43, 87)
+ { 0, { 0, 0, 0}}, // ( 44, 87)
+ { 0, { 0, 0, 0}}, // ( 45, 87)
+ { 0, { 0, 0, 0}}, // ( 46, 87)
+ { 0, { 0, 0, 0}}, // ( 47, 87)
+ { 0, { 0, 0, 0}}, // ( 48, 87)
+ { 0, { 0, 0, 0}}, // ( 49, 87)
+ { 0, { 0, 0, 0}}, // ( 50, 87)
+ { 0, { 0, 0, 0}}, // ( 51, 87)
+ { 0, { 0, 0, 0}}, // ( 52, 87)
+ { 0, { 0, 0, 0}}, // ( 53, 87)
+ { 0, { 0, 0, 0}}, // ( 54, 87)
+ { 0, { 0, 0, 0}}, // ( 55, 87)
+ { 0, { 0, 0, 0}}, // ( 56, 87)
+ { 0, { 0, 0, 0}}, // ( 57, 87)
+ { 0, { 0, 0, 0}}, // ( 58, 87)
+ { 0, { 0, 0, 0}}, // ( 59, 87)
+ { 0, { 0, 0, 0}}, // ( 60, 87)
+ { 0, { 0, 0, 0}}, // ( 61, 87)
+ { 0, { 0, 0, 0}}, // ( 62, 87)
+ { 0, { 0, 0, 0}}, // ( 63, 87)
+ { 0, { 0, 0, 0}}, // ( 64, 87)
+ { 0, { 0, 0, 0}}, // ( 65, 87)
+ { 0, { 0, 0, 0}}, // ( 66, 87)
+ { 0, { 0, 0, 0}}, // ( 67, 87)
+ { 0, { 0, 0, 0}}, // ( 68, 87)
+ { 0, { 0, 0, 0}}, // ( 69, 87)
+ { 0, { 0, 0, 0}}, // ( 70, 87)
+ { 0, { 0, 0, 0}}, // ( 71, 87)
+ { 0, { 0, 0, 0}}, // ( 72, 87)
+ { 0, { 0, 0, 0}}, // ( 73, 87)
+ { 0, { 0, 0, 0}}, // ( 74, 87)
+ { 0, { 0, 0, 0}}, // ( 75, 87)
+ { 0, { 0, 0, 0}}, // ( 76, 87)
+ { 0, { 0, 0, 0}}, // ( 77, 87)
+ { 0, { 0, 0, 0}}, // ( 78, 87)
+ { 0, { 0, 0, 0}}, // ( 79, 87)
+ { 0, { 0, 0, 0}}, // ( 80, 87)
+ { 0, { 0, 0, 0}}, // ( 81, 87)
+ { 0, { 0, 0, 0}}, // ( 82, 87)
+ { 0, { 0, 0, 0}}, // ( 83, 87)
+ { 0, { 0, 0, 0}}, // ( 84, 87)
+ { 0, { 0, 0, 0}}, // ( 85, 87)
+ { 0, { 0, 0, 0}}, // ( 86, 87)
+ { 0, { 0, 0, 0}}, // ( 87, 87)
+ { 0, { 0, 0, 0}}, // ( 88, 87)
+ { 0, { 0, 0, 0}}, // ( 89, 87)
+ { 0, { 0, 0, 0}}, // ( 90, 87)
+ { 0, { 0, 0, 0}}, // ( 91, 87)
+ { 0, { 0, 0, 0}}, // ( 92, 87)
+ { 0, { 0, 0, 0}}, // ( 93, 87)
+ { 0, { 0, 0, 0}}, // ( 94, 87)
+ { 0, { 0, 0, 0}}, // ( 95, 87)
+ { 0, { 0, 0, 0}}, // ( 96, 87)
+ { 0, { 0, 0, 0}}, // ( 97, 87)
+ { 0, { 0, 0, 0}}, // ( 98, 87)
+ { 0, { 0, 0, 0}}, // ( 99, 87)
+ { 0, { 0, 0, 0}}, // (100, 87)
+ { 0, { 0, 0, 0}}, // (101, 87)
+ { 0, { 0, 0, 0}}, // (102, 87)
+ { 0, { 0, 0, 0}}, // (103, 87)
+ { 0, { 0, 0, 0}}, // (104, 87)
+ { 0, { 0, 0, 0}}, // (105, 87)
+ { 0, { 0, 0, 0}}, // (106, 87)
+ { 0, { 0, 0, 0}}, // (107, 87)
+ { 0, { 0, 0, 0}}, // (108, 87)
+ { 0, { 0, 0, 0}}, // (109, 87)
+ { 0, { 0, 0, 0}}, // (110, 87)
+ { 0, { 0, 0, 0}}, // (111, 87)
+ { 0, { 0, 0, 0}}, // (112, 87)
+ { 0, { 0, 0, 0}}, // (113, 87)
+ { 0, { 0, 0, 0}}, // (114, 87)
+ { 0, { 0, 0, 0}}, // (115, 87)
+ { 0, { 0, 0, 0}}, // (116, 87)
+ { 0, { 0, 0, 0}}, // (117, 87)
+ { 0, { 0, 0, 0}}, // (118, 87)
+ { 0, { 0, 0, 0}}, // (119, 87)
+ { 0, { 0, 0, 0}}, // (120, 87)
+ { 0, { 0, 0, 0}}, // (121, 87)
+ { 0, { 0, 0, 0}}, // (122, 87)
+ { 0, { 0, 0, 0}}, // (123, 87)
+ { 0, { 0, 0, 0}}, // (124, 87)
+ { 0, { 0, 0, 0}}, // (125, 87)
+ { 0, { 0, 0, 0}}, // (126, 87)
+ { 0, { 0, 0, 0}}, // (127, 87)
+ { 0, { 0, 0, 0}}, // (128, 87)
+ { 0, { 0, 0, 0}}, // (129, 87)
+ { 0, { 0, 0, 0}}, // (130, 87)
+ { 0, { 0, 0, 0}}, // (131, 87)
+ { 0, { 0, 0, 0}}, // (132, 87)
+ { 0, { 0, 0, 0}}, // (133, 87)
+ { 0, { 0, 0, 0}}, // (134, 87)
+ { 0, { 0, 0, 0}}, // (135, 87)
+ { 0, { 0, 0, 0}}, // (136, 87)
+ { 0, { 0, 0, 0}}, // (137, 87)
+ { 0, { 0, 0, 0}}, // (138, 87)
+ { 0, { 0, 0, 0}}, // (139, 87)
+ { 0, { 0, 0, 0}}, // (140, 87)
+ { 0, { 0, 0, 0}}, // (141, 87)
+ { 0, { 0, 0, 0}}, // (142, 87)
+ { 0, { 0, 0, 0}}, // (143, 87)
+ { 0, { 0, 0, 0}}, // (144, 87)
+ { 0, { 0, 0, 0}}, // (145, 87)
+ { 0, { 0, 0, 0}}, // (146, 87)
+ { 0, { 0, 0, 0}}, // (147, 87)
+ { 0, { 0, 0, 0}}, // (148, 87)
+ { 0, { 0, 0, 0}}, // (149, 87)
+ { 0, { 0, 0, 0}}, // (150, 87)
+ { 0, { 0, 0, 0}}, // (151, 87)
+ { 0, { 0, 0, 0}}, // (152, 87)
+ { 0, { 0, 0, 0}}, // (153, 87)
+ { 0, { 0, 0, 0}}, // (154, 87)
+ { 0, { 0, 0, 0}}, // (155, 87)
+ { 0, { 0, 0, 0}}, // (156, 87)
+ { 0, { 0, 0, 0}}, // (157, 87)
+ { 0, { 0, 0, 0}}, // (158, 87)
+ { 0, { 0, 0, 0}}, // (159, 87)
+ { 0, { 0, 0, 0}}, // (160, 87)
+ { 0, { 0, 0, 0}}, // (161, 87)
+ { 0, { 0, 0, 0}}, // (162, 87)
+ { 0, { 0, 0, 0}}, // (163, 87)
+ { 0, { 0, 0, 0}}, // (164, 87)
+ { 0, { 0, 0, 0}}, // (165, 87)
+ { 0, { 0, 0, 0}}, // (166, 87)
+ { 0, { 0, 0, 0}}, // (167, 87)
+ { 0, { 0, 0, 0}}, // (168, 87)
+ { 0, { 0, 0, 0}}, // (169, 87)
+ { 0, { 0, 0, 0}}, // (170, 87)
+ { 0, { 0, 0, 0}}, // (171, 87)
+ { 0, { 0, 0, 0}}, // (172, 87)
+ { 0, { 0, 0, 0}}, // (173, 87)
+ { 0, { 0, 0, 0}}, // (174, 87)
+ { 0, { 0, 0, 0}}, // (175, 87)
+ { 0, { 0, 0, 0}}, // (176, 87)
+ { 8, { 0, 0, 0}}, // (177, 87)
+ {128, { 0, 0, 0}}, // (178, 87)
+ {128, { 0, 0, 0}}, // (179, 87)
+ {128, { 0, 0, 0}}, // ( 0, 88)
+ {128, { 0, 0, 0}}, // ( 1, 88)
+ { 7, { 0, 0, 0}}, // ( 2, 88)
+ { 0, { 0, 0, 0}}, // ( 3, 88)
+ { 0, { 0, 0, 0}}, // ( 4, 88)
+ { 0, { 0, 0, 0}}, // ( 5, 88)
+ { 0, { 0, 0, 0}}, // ( 6, 88)
+ { 0, { 0, 0, 0}}, // ( 7, 88)
+ { 0, { 0, 0, 0}}, // ( 8, 88)
+ { 0, { 0, 0, 0}}, // ( 9, 88)
+ { 0, { 0, 0, 0}}, // ( 10, 88)
+ { 0, { 0, 0, 0}}, // ( 11, 88)
+ { 0, { 0, 0, 0}}, // ( 12, 88)
+ { 0, { 0, 0, 0}}, // ( 13, 88)
+ { 0, { 0, 0, 0}}, // ( 14, 88)
+ { 0, { 0, 0, 0}}, // ( 15, 88)
+ { 0, { 0, 0, 0}}, // ( 16, 88)
+ { 0, { 0, 0, 0}}, // ( 17, 88)
+ { 0, { 0, 0, 0}}, // ( 18, 88)
+ { 0, { 0, 0, 0}}, // ( 19, 88)
+ { 0, { 0, 0, 0}}, // ( 20, 88)
+ { 0, { 0, 0, 0}}, // ( 21, 88)
+ { 0, { 0, 0, 0}}, // ( 22, 88)
+ { 0, { 0, 0, 0}}, // ( 23, 88)
+ { 0, { 0, 0, 0}}, // ( 24, 88)
+ { 0, { 0, 0, 0}}, // ( 25, 88)
+ { 0, { 0, 0, 0}}, // ( 26, 88)
+ { 0, { 0, 0, 0}}, // ( 27, 88)
+ { 0, { 0, 0, 0}}, // ( 28, 88)
+ { 0, { 0, 0, 0}}, // ( 29, 88)
+ { 0, { 0, 0, 0}}, // ( 30, 88)
+ { 0, { 0, 0, 0}}, // ( 31, 88)
+ { 0, { 0, 0, 0}}, // ( 32, 88)
+ { 0, { 0, 0, 0}}, // ( 33, 88)
+ { 0, { 0, 0, 0}}, // ( 34, 88)
+ { 0, { 0, 0, 0}}, // ( 35, 88)
+ { 0, { 0, 0, 0}}, // ( 36, 88)
+ { 0, { 0, 0, 0}}, // ( 37, 88)
+ { 0, { 0, 0, 0}}, // ( 38, 88)
+ { 0, { 0, 0, 0}}, // ( 39, 88)
+ { 0, { 0, 0, 0}}, // ( 40, 88)
+ { 0, { 0, 0, 0}}, // ( 41, 88)
+ { 0, { 0, 0, 0}}, // ( 42, 88)
+ { 0, { 0, 0, 0}}, // ( 43, 88)
+ { 0, { 0, 0, 0}}, // ( 44, 88)
+ { 0, { 0, 0, 0}}, // ( 45, 88)
+ { 0, { 0, 0, 0}}, // ( 46, 88)
+ { 0, { 0, 0, 0}}, // ( 47, 88)
+ { 0, { 0, 0, 0}}, // ( 48, 88)
+ { 0, { 0, 0, 0}}, // ( 49, 88)
+ { 0, { 0, 0, 0}}, // ( 50, 88)
+ { 0, { 0, 0, 0}}, // ( 51, 88)
+ { 0, { 0, 0, 0}}, // ( 52, 88)
+ { 0, { 0, 0, 0}}, // ( 53, 88)
+ { 0, { 0, 0, 0}}, // ( 54, 88)
+ { 0, { 0, 0, 0}}, // ( 55, 88)
+ { 0, { 0, 0, 0}}, // ( 56, 88)
+ { 0, { 0, 0, 0}}, // ( 57, 88)
+ { 0, { 0, 0, 0}}, // ( 58, 88)
+ { 0, { 0, 0, 0}}, // ( 59, 88)
+ { 0, { 0, 0, 0}}, // ( 60, 88)
+ { 0, { 0, 0, 0}}, // ( 61, 88)
+ { 0, { 0, 0, 0}}, // ( 62, 88)
+ { 0, { 0, 0, 0}}, // ( 63, 88)
+ { 0, { 0, 0, 0}}, // ( 64, 88)
+ { 0, { 0, 0, 0}}, // ( 65, 88)
+ { 0, { 0, 0, 0}}, // ( 66, 88)
+ { 0, { 0, 0, 0}}, // ( 67, 88)
+ { 0, { 0, 0, 0}}, // ( 68, 88)
+ { 0, { 0, 0, 0}}, // ( 69, 88)
+ { 0, { 0, 0, 0}}, // ( 70, 88)
+ { 0, { 0, 0, 0}}, // ( 71, 88)
+ { 0, { 0, 0, 0}}, // ( 72, 88)
+ { 0, { 0, 0, 0}}, // ( 73, 88)
+ { 0, { 0, 0, 0}}, // ( 74, 88)
+ { 0, { 0, 0, 0}}, // ( 75, 88)
+ { 0, { 0, 0, 0}}, // ( 76, 88)
+ { 0, { 0, 0, 0}}, // ( 77, 88)
+ { 0, { 0, 0, 0}}, // ( 78, 88)
+ { 0, { 0, 0, 0}}, // ( 79, 88)
+ { 0, { 0, 0, 0}}, // ( 80, 88)
+ { 0, { 0, 0, 0}}, // ( 81, 88)
+ { 0, { 0, 0, 0}}, // ( 82, 88)
+ { 0, { 0, 0, 0}}, // ( 83, 88)
+ { 0, { 0, 0, 0}}, // ( 84, 88)
+ { 0, { 0, 0, 0}}, // ( 85, 88)
+ { 0, { 0, 0, 0}}, // ( 86, 88)
+ { 0, { 0, 0, 0}}, // ( 87, 88)
+ { 0, { 0, 0, 0}}, // ( 88, 88)
+ { 0, { 0, 0, 0}}, // ( 89, 88)
+ { 0, { 0, 0, 0}}, // ( 90, 88)
+ { 0, { 0, 0, 0}}, // ( 91, 88)
+ { 0, { 0, 0, 0}}, // ( 92, 88)
+ { 0, { 0, 0, 0}}, // ( 93, 88)
+ { 0, { 0, 0, 0}}, // ( 94, 88)
+ { 0, { 0, 0, 0}}, // ( 95, 88)
+ { 0, { 0, 0, 0}}, // ( 96, 88)
+ { 0, { 0, 0, 0}}, // ( 97, 88)
+ { 0, { 0, 0, 0}}, // ( 98, 88)
+ { 0, { 0, 0, 0}}, // ( 99, 88)
+ { 0, { 0, 0, 0}}, // (100, 88)
+ { 0, { 0, 0, 0}}, // (101, 88)
+ { 0, { 0, 0, 0}}, // (102, 88)
+ { 0, { 0, 0, 0}}, // (103, 88)
+ { 0, { 0, 0, 0}}, // (104, 88)
+ { 0, { 0, 0, 0}}, // (105, 88)
+ { 0, { 0, 0, 0}}, // (106, 88)
+ { 0, { 0, 0, 0}}, // (107, 88)
+ { 0, { 0, 0, 0}}, // (108, 88)
+ { 0, { 0, 0, 0}}, // (109, 88)
+ { 0, { 0, 0, 0}}, // (110, 88)
+ { 0, { 0, 0, 0}}, // (111, 88)
+ { 0, { 0, 0, 0}}, // (112, 88)
+ { 0, { 0, 0, 0}}, // (113, 88)
+ { 0, { 0, 0, 0}}, // (114, 88)
+ { 0, { 0, 0, 0}}, // (115, 88)
+ { 0, { 0, 0, 0}}, // (116, 88)
+ { 0, { 0, 0, 0}}, // (117, 88)
+ { 0, { 0, 0, 0}}, // (118, 88)
+ { 0, { 0, 0, 0}}, // (119, 88)
+ { 0, { 0, 0, 0}}, // (120, 88)
+ { 0, { 0, 0, 0}}, // (121, 88)
+ { 0, { 0, 0, 0}}, // (122, 88)
+ { 0, { 0, 0, 0}}, // (123, 88)
+ { 0, { 0, 0, 0}}, // (124, 88)
+ { 0, { 0, 0, 0}}, // (125, 88)
+ { 0, { 0, 0, 0}}, // (126, 88)
+ { 0, { 0, 0, 0}}, // (127, 88)
+ { 0, { 0, 0, 0}}, // (128, 88)
+ { 0, { 0, 0, 0}}, // (129, 88)
+ { 0, { 0, 0, 0}}, // (130, 88)
+ { 0, { 0, 0, 0}}, // (131, 88)
+ { 0, { 0, 0, 0}}, // (132, 88)
+ { 0, { 0, 0, 0}}, // (133, 88)
+ { 0, { 0, 0, 0}}, // (134, 88)
+ { 0, { 0, 0, 0}}, // (135, 88)
+ { 0, { 0, 0, 0}}, // (136, 88)
+ { 0, { 0, 0, 0}}, // (137, 88)
+ { 0, { 0, 0, 0}}, // (138, 88)
+ { 0, { 0, 0, 0}}, // (139, 88)
+ { 0, { 0, 0, 0}}, // (140, 88)
+ { 0, { 0, 0, 0}}, // (141, 88)
+ { 0, { 0, 0, 0}}, // (142, 88)
+ { 0, { 0, 0, 0}}, // (143, 88)
+ { 0, { 0, 0, 0}}, // (144, 88)
+ { 0, { 0, 0, 0}}, // (145, 88)
+ { 0, { 0, 0, 0}}, // (146, 88)
+ { 0, { 0, 0, 0}}, // (147, 88)
+ { 0, { 0, 0, 0}}, // (148, 88)
+ { 0, { 0, 0, 0}}, // (149, 88)
+ { 0, { 0, 0, 0}}, // (150, 88)
+ { 0, { 0, 0, 0}}, // (151, 88)
+ { 0, { 0, 0, 0}}, // (152, 88)
+ { 0, { 0, 0, 0}}, // (153, 88)
+ { 0, { 0, 0, 0}}, // (154, 88)
+ { 0, { 0, 0, 0}}, // (155, 88)
+ { 0, { 0, 0, 0}}, // (156, 88)
+ { 0, { 0, 0, 0}}, // (157, 88)
+ { 0, { 0, 0, 0}}, // (158, 88)
+ { 0, { 0, 0, 0}}, // (159, 88)
+ { 0, { 0, 0, 0}}, // (160, 88)
+ { 0, { 0, 0, 0}}, // (161, 88)
+ { 0, { 0, 0, 0}}, // (162, 88)
+ { 0, { 0, 0, 0}}, // (163, 88)
+ { 0, { 0, 0, 0}}, // (164, 88)
+ { 0, { 0, 0, 0}}, // (165, 88)
+ { 0, { 0, 0, 0}}, // (166, 88)
+ { 0, { 0, 0, 0}}, // (167, 88)
+ { 0, { 0, 0, 0}}, // (168, 88)
+ { 0, { 0, 0, 0}}, // (169, 88)
+ { 0, { 0, 0, 0}}, // (170, 88)
+ { 0, { 0, 0, 0}}, // (171, 88)
+ { 0, { 0, 0, 0}}, // (172, 88)
+ { 0, { 0, 0, 0}}, // (173, 88)
+ { 0, { 0, 0, 0}}, // (174, 88)
+ { 0, { 0, 0, 0}}, // (175, 88)
+ { 0, { 0, 0, 0}}, // (176, 88)
+ { 6, { 0, 0, 0}}, // (177, 88)
+ {128, { 0, 0, 0}}, // (178, 88)
+ {128, { 0, 0, 0}}, // (179, 88)
+ {128, { 0, 0, 0}}, // ( 0, 89)
+ {128, { 0, 0, 0}}, // ( 1, 89)
+ { 0, { 0, 0, 0}}, // ( 2, 89)
+ { 0, { 0, 0, 0}}, // ( 3, 89)
+ { 0, { 0, 0, 0}}, // ( 4, 89)
+ { 0, { 0, 0, 0}}, // ( 5, 89)
+ { 0, { 0, 0, 0}}, // ( 6, 89)
+ { 0, { 0, 0, 0}}, // ( 7, 89)
+ { 0, { 0, 0, 0}}, // ( 8, 89)
+ { 0, { 0, 0, 0}}, // ( 9, 89)
+ { 0, { 0, 0, 0}}, // ( 10, 89)
+ { 0, { 0, 0, 0}}, // ( 11, 89)
+ { 0, { 0, 0, 0}}, // ( 12, 89)
+ { 0, { 0, 0, 0}}, // ( 13, 89)
+ { 0, { 0, 0, 0}}, // ( 14, 89)
+ { 0, { 0, 0, 0}}, // ( 15, 89)
+ { 0, { 0, 0, 0}}, // ( 16, 89)
+ { 0, { 0, 0, 0}}, // ( 17, 89)
+ { 0, { 0, 0, 0}}, // ( 18, 89)
+ { 0, { 0, 0, 0}}, // ( 19, 89)
+ { 0, { 0, 0, 0}}, // ( 20, 89)
+ { 0, { 0, 0, 0}}, // ( 21, 89)
+ { 0, { 0, 0, 0}}, // ( 22, 89)
+ { 0, { 0, 0, 0}}, // ( 23, 89)
+ { 0, { 0, 0, 0}}, // ( 24, 89)
+ { 0, { 0, 0, 0}}, // ( 25, 89)
+ { 0, { 0, 0, 0}}, // ( 26, 89)
+ { 0, { 0, 0, 0}}, // ( 27, 89)
+ { 0, { 0, 0, 0}}, // ( 28, 89)
+ { 0, { 0, 0, 0}}, // ( 29, 89)
+ { 0, { 0, 0, 0}}, // ( 30, 89)
+ { 0, { 0, 0, 0}}, // ( 31, 89)
+ { 0, { 0, 0, 0}}, // ( 32, 89)
+ { 0, { 0, 0, 0}}, // ( 33, 89)
+ { 0, { 0, 0, 0}}, // ( 34, 89)
+ { 0, { 0, 0, 0}}, // ( 35, 89)
+ { 0, { 0, 0, 0}}, // ( 36, 89)
+ { 0, { 0, 0, 0}}, // ( 37, 89)
+ { 0, { 0, 0, 0}}, // ( 38, 89)
+ { 0, { 0, 0, 0}}, // ( 39, 89)
+ { 0, { 0, 0, 0}}, // ( 40, 89)
+ { 0, { 0, 0, 0}}, // ( 41, 89)
+ { 0, { 0, 0, 0}}, // ( 42, 89)
+ { 0, { 0, 0, 0}}, // ( 43, 89)
+ { 0, { 0, 0, 0}}, // ( 44, 89)
+ { 0, { 0, 0, 0}}, // ( 45, 89)
+ { 0, { 0, 0, 0}}, // ( 46, 89)
+ { 0, { 0, 0, 0}}, // ( 47, 89)
+ { 0, { 0, 0, 0}}, // ( 48, 89)
+ { 0, { 0, 0, 0}}, // ( 49, 89)
+ { 0, { 0, 0, 0}}, // ( 50, 89)
+ { 0, { 0, 0, 0}}, // ( 51, 89)
+ { 0, { 0, 0, 0}}, // ( 52, 89)
+ { 0, { 0, 0, 0}}, // ( 53, 89)
+ { 0, { 0, 0, 0}}, // ( 54, 89)
+ { 0, { 0, 0, 0}}, // ( 55, 89)
+ { 0, { 0, 0, 0}}, // ( 56, 89)
+ { 0, { 0, 0, 0}}, // ( 57, 89)
+ { 0, { 0, 0, 0}}, // ( 58, 89)
+ { 0, { 0, 0, 0}}, // ( 59, 89)
+ { 0, { 0, 0, 0}}, // ( 60, 89)
+ { 0, { 0, 0, 0}}, // ( 61, 89)
+ { 0, { 0, 0, 0}}, // ( 62, 89)
+ { 0, { 0, 0, 0}}, // ( 63, 89)
+ { 0, { 0, 0, 0}}, // ( 64, 89)
+ { 0, { 0, 0, 0}}, // ( 65, 89)
+ { 0, { 0, 0, 0}}, // ( 66, 89)
+ { 0, { 0, 0, 0}}, // ( 67, 89)
+ { 0, { 0, 0, 0}}, // ( 68, 89)
+ { 0, { 0, 0, 0}}, // ( 69, 89)
+ { 0, { 0, 0, 0}}, // ( 70, 89)
+ { 0, { 0, 0, 0}}, // ( 71, 89)
+ { 0, { 0, 0, 0}}, // ( 72, 89)
+ { 0, { 0, 0, 0}}, // ( 73, 89)
+ { 0, { 0, 0, 0}}, // ( 74, 89)
+ { 0, { 0, 0, 0}}, // ( 75, 89)
+ { 0, { 0, 0, 0}}, // ( 76, 89)
+ { 0, { 0, 0, 0}}, // ( 77, 89)
+ { 0, { 0, 0, 0}}, // ( 78, 89)
+ { 0, { 0, 0, 0}}, // ( 79, 89)
+ { 0, { 0, 0, 0}}, // ( 80, 89)
+ { 0, { 0, 0, 0}}, // ( 81, 89)
+ { 0, { 0, 0, 0}}, // ( 82, 89)
+ { 0, { 0, 0, 0}}, // ( 83, 89)
+ { 0, { 0, 0, 0}}, // ( 84, 89)
+ { 0, { 0, 0, 0}}, // ( 85, 89)
+ { 0, { 0, 0, 0}}, // ( 86, 89)
+ { 0, { 0, 0, 0}}, // ( 87, 89)
+ { 0, { 0, 0, 0}}, // ( 88, 89)
+ { 0, { 0, 0, 0}}, // ( 89, 89)
+ { 0, { 0, 0, 0}}, // ( 90, 89)
+ { 0, { 0, 0, 0}}, // ( 91, 89)
+ { 0, { 0, 0, 0}}, // ( 92, 89)
+ { 0, { 0, 0, 0}}, // ( 93, 89)
+ { 0, { 0, 0, 0}}, // ( 94, 89)
+ { 0, { 0, 0, 0}}, // ( 95, 89)
+ { 0, { 0, 0, 0}}, // ( 96, 89)
+ { 0, { 0, 0, 0}}, // ( 97, 89)
+ { 0, { 0, 0, 0}}, // ( 98, 89)
+ { 0, { 0, 0, 0}}, // ( 99, 89)
+ { 0, { 0, 0, 0}}, // (100, 89)
+ { 0, { 0, 0, 0}}, // (101, 89)
+ { 0, { 0, 0, 0}}, // (102, 89)
+ { 0, { 0, 0, 0}}, // (103, 89)
+ { 0, { 0, 0, 0}}, // (104, 89)
+ { 0, { 0, 0, 0}}, // (105, 89)
+ { 0, { 0, 0, 0}}, // (106, 89)
+ { 0, { 0, 0, 0}}, // (107, 89)
+ { 0, { 0, 0, 0}}, // (108, 89)
+ { 0, { 0, 0, 0}}, // (109, 89)
+ { 0, { 0, 0, 0}}, // (110, 89)
+ { 0, { 0, 0, 0}}, // (111, 89)
+ { 0, { 0, 0, 0}}, // (112, 89)
+ { 0, { 0, 0, 0}}, // (113, 89)
+ { 0, { 0, 0, 0}}, // (114, 89)
+ { 0, { 0, 0, 0}}, // (115, 89)
+ { 0, { 0, 0, 0}}, // (116, 89)
+ { 0, { 0, 0, 0}}, // (117, 89)
+ { 0, { 0, 0, 0}}, // (118, 89)
+ { 0, { 0, 0, 0}}, // (119, 89)
+ { 0, { 0, 0, 0}}, // (120, 89)
+ { 0, { 0, 0, 0}}, // (121, 89)
+ { 0, { 0, 0, 0}}, // (122, 89)
+ { 0, { 0, 0, 0}}, // (123, 89)
+ { 0, { 0, 0, 0}}, // (124, 89)
+ { 0, { 0, 0, 0}}, // (125, 89)
+ { 0, { 0, 0, 0}}, // (126, 89)
+ { 0, { 0, 0, 0}}, // (127, 89)
+ { 0, { 0, 0, 0}}, // (128, 89)
+ { 0, { 0, 0, 0}}, // (129, 89)
+ { 0, { 0, 0, 0}}, // (130, 89)
+ { 0, { 0, 0, 0}}, // (131, 89)
+ { 0, { 0, 0, 0}}, // (132, 89)
+ { 0, { 0, 0, 0}}, // (133, 89)
+ { 0, { 0, 0, 0}}, // (134, 89)
+ { 0, { 0, 0, 0}}, // (135, 89)
+ { 0, { 0, 0, 0}}, // (136, 89)
+ { 0, { 0, 0, 0}}, // (137, 89)
+ { 0, { 0, 0, 0}}, // (138, 89)
+ { 0, { 0, 0, 0}}, // (139, 89)
+ { 0, { 0, 0, 0}}, // (140, 89)
+ { 0, { 0, 0, 0}}, // (141, 89)
+ { 0, { 0, 0, 0}}, // (142, 89)
+ { 0, { 0, 0, 0}}, // (143, 89)
+ { 0, { 0, 0, 0}}, // (144, 89)
+ { 0, { 0, 0, 0}}, // (145, 89)
+ { 0, { 0, 0, 0}}, // (146, 89)
+ { 0, { 0, 0, 0}}, // (147, 89)
+ { 0, { 0, 0, 0}}, // (148, 89)
+ { 0, { 0, 0, 0}}, // (149, 89)
+ { 0, { 0, 0, 0}}, // (150, 89)
+ { 0, { 0, 0, 0}}, // (151, 89)
+ { 0, { 0, 0, 0}}, // (152, 89)
+ { 0, { 0, 0, 0}}, // (153, 89)
+ { 0, { 0, 0, 0}}, // (154, 89)
+ { 0, { 0, 0, 0}}, // (155, 89)
+ { 0, { 0, 0, 0}}, // (156, 89)
+ { 0, { 0, 0, 0}}, // (157, 89)
+ { 0, { 0, 0, 0}}, // (158, 89)
+ { 0, { 0, 0, 0}}, // (159, 89)
+ { 0, { 0, 0, 0}}, // (160, 89)
+ { 0, { 0, 0, 0}}, // (161, 89)
+ { 0, { 0, 0, 0}}, // (162, 89)
+ { 0, { 0, 0, 0}}, // (163, 89)
+ { 0, { 0, 0, 0}}, // (164, 89)
+ { 0, { 0, 0, 0}}, // (165, 89)
+ { 0, { 0, 0, 0}}, // (166, 89)
+ { 0, { 0, 0, 0}}, // (167, 89)
+ { 0, { 0, 0, 0}}, // (168, 89)
+ { 0, { 0, 0, 0}}, // (169, 89)
+ { 0, { 0, 0, 0}}, // (170, 89)
+ { 0, { 0, 0, 0}}, // (171, 89)
+ { 0, { 0, 0, 0}}, // (172, 89)
+ { 0, { 0, 0, 0}}, // (173, 89)
+ { 0, { 0, 0, 0}}, // (174, 89)
+ { 0, { 0, 0, 0}}, // (175, 89)
+ { 0, { 0, 0, 0}}, // (176, 89)
+ { 0, { 0, 0, 0}}, // (177, 89)
+ {128, { 0, 0, 0}}, // (178, 89)
+ {128, { 0, 0, 0}}, // (179, 89)
+ {128, { 0, 0, 0}}, // ( 0, 90)
+ {128, { 0, 0, 0}}, // ( 1, 90)
+ { 0, { 0, 0, 0}}, // ( 2, 90)
+ { 0, { 0, 0, 0}}, // ( 3, 90)
+ { 0, { 0, 0, 0}}, // ( 4, 90)
+ { 0, { 0, 0, 0}}, // ( 5, 90)
+ { 0, { 0, 0, 0}}, // ( 6, 90)
+ { 0, { 0, 0, 0}}, // ( 7, 90)
+ { 0, { 0, 0, 0}}, // ( 8, 90)
+ { 0, { 0, 0, 0}}, // ( 9, 90)
+ { 0, { 0, 0, 0}}, // ( 10, 90)
+ { 0, { 0, 0, 0}}, // ( 11, 90)
+ { 0, { 0, 0, 0}}, // ( 12, 90)
+ { 0, { 0, 0, 0}}, // ( 13, 90)
+ { 0, { 0, 0, 0}}, // ( 14, 90)
+ { 0, { 0, 0, 0}}, // ( 15, 90)
+ { 0, { 0, 0, 0}}, // ( 16, 90)
+ { 0, { 0, 0, 0}}, // ( 17, 90)
+ { 0, { 0, 0, 0}}, // ( 18, 90)
+ { 0, { 0, 0, 0}}, // ( 19, 90)
+ { 0, { 0, 0, 0}}, // ( 20, 90)
+ { 0, { 0, 0, 0}}, // ( 21, 90)
+ { 0, { 0, 0, 0}}, // ( 22, 90)
+ { 0, { 0, 0, 0}}, // ( 23, 90)
+ { 0, { 0, 0, 0}}, // ( 24, 90)
+ { 0, { 0, 0, 0}}, // ( 25, 90)
+ { 0, { 0, 0, 0}}, // ( 26, 90)
+ { 0, { 0, 0, 0}}, // ( 27, 90)
+ { 0, { 0, 0, 0}}, // ( 28, 90)
+ { 0, { 0, 0, 0}}, // ( 29, 90)
+ { 0, { 0, 0, 0}}, // ( 30, 90)
+ { 0, { 0, 0, 0}}, // ( 31, 90)
+ { 0, { 0, 0, 0}}, // ( 32, 90)
+ { 0, { 0, 0, 0}}, // ( 33, 90)
+ { 0, { 0, 0, 0}}, // ( 34, 90)
+ { 0, { 0, 0, 0}}, // ( 35, 90)
+ { 0, { 0, 0, 0}}, // ( 36, 90)
+ { 0, { 0, 0, 0}}, // ( 37, 90)
+ { 0, { 0, 0, 0}}, // ( 38, 90)
+ { 0, { 0, 0, 0}}, // ( 39, 90)
+ { 0, { 0, 0, 0}}, // ( 40, 90)
+ { 0, { 0, 0, 0}}, // ( 41, 90)
+ { 0, { 0, 0, 0}}, // ( 42, 90)
+ { 0, { 0, 0, 0}}, // ( 43, 90)
+ { 0, { 0, 0, 0}}, // ( 44, 90)
+ { 0, { 0, 0, 0}}, // ( 45, 90)
+ { 0, { 0, 0, 0}}, // ( 46, 90)
+ { 0, { 0, 0, 0}}, // ( 47, 90)
+ { 0, { 0, 0, 0}}, // ( 48, 90)
+ { 0, { 0, 0, 0}}, // ( 49, 90)
+ { 0, { 0, 0, 0}}, // ( 50, 90)
+ { 0, { 0, 0, 0}}, // ( 51, 90)
+ { 0, { 0, 0, 0}}, // ( 52, 90)
+ { 0, { 0, 0, 0}}, // ( 53, 90)
+ { 0, { 0, 0, 0}}, // ( 54, 90)
+ { 0, { 0, 0, 0}}, // ( 55, 90)
+ { 0, { 0, 0, 0}}, // ( 56, 90)
+ { 0, { 0, 0, 0}}, // ( 57, 90)
+ { 0, { 0, 0, 0}}, // ( 58, 90)
+ { 0, { 0, 0, 0}}, // ( 59, 90)
+ { 0, { 0, 0, 0}}, // ( 60, 90)
+ { 0, { 0, 0, 0}}, // ( 61, 90)
+ { 0, { 0, 0, 0}}, // ( 62, 90)
+ { 0, { 0, 0, 0}}, // ( 63, 90)
+ { 0, { 0, 0, 0}}, // ( 64, 90)
+ { 0, { 0, 0, 0}}, // ( 65, 90)
+ { 0, { 0, 0, 0}}, // ( 66, 90)
+ { 0, { 0, 0, 0}}, // ( 67, 90)
+ { 0, { 0, 0, 0}}, // ( 68, 90)
+ { 0, { 0, 0, 0}}, // ( 69, 90)
+ { 0, { 0, 0, 0}}, // ( 70, 90)
+ { 0, { 0, 0, 0}}, // ( 71, 90)
+ { 0, { 0, 0, 0}}, // ( 72, 90)
+ { 0, { 0, 0, 0}}, // ( 73, 90)
+ { 0, { 0, 0, 0}}, // ( 74, 90)
+ { 0, { 0, 0, 0}}, // ( 75, 90)
+ { 0, { 0, 0, 0}}, // ( 76, 90)
+ { 0, { 0, 0, 0}}, // ( 77, 90)
+ { 0, { 0, 0, 0}}, // ( 78, 90)
+ { 0, { 0, 0, 0}}, // ( 79, 90)
+ { 0, { 0, 0, 0}}, // ( 80, 90)
+ { 0, { 0, 0, 0}}, // ( 81, 90)
+ { 0, { 0, 0, 0}}, // ( 82, 90)
+ { 0, { 0, 0, 0}}, // ( 83, 90)
+ { 0, { 0, 0, 0}}, // ( 84, 90)
+ { 0, { 0, 0, 0}}, // ( 85, 90)
+ { 0, { 0, 0, 0}}, // ( 86, 90)
+ { 0, { 0, 0, 0}}, // ( 87, 90)
+ { 0, { 0, 0, 0}}, // ( 88, 90)
+ { 0, { 0, 0, 0}}, // ( 89, 90)
+ { 0, { 0, 0, 0}}, // ( 90, 90)
+ { 0, { 0, 0, 0}}, // ( 91, 90)
+ { 0, { 0, 0, 0}}, // ( 92, 90)
+ { 0, { 0, 0, 0}}, // ( 93, 90)
+ { 0, { 0, 0, 0}}, // ( 94, 90)
+ { 0, { 0, 0, 0}}, // ( 95, 90)
+ { 0, { 0, 0, 0}}, // ( 96, 90)
+ { 0, { 0, 0, 0}}, // ( 97, 90)
+ { 0, { 0, 0, 0}}, // ( 98, 90)
+ { 0, { 0, 0, 0}}, // ( 99, 90)
+ { 0, { 0, 0, 0}}, // (100, 90)
+ { 0, { 0, 0, 0}}, // (101, 90)
+ { 0, { 0, 0, 0}}, // (102, 90)
+ { 0, { 0, 0, 0}}, // (103, 90)
+ { 0, { 0, 0, 0}}, // (104, 90)
+ { 0, { 0, 0, 0}}, // (105, 90)
+ { 0, { 0, 0, 0}}, // (106, 90)
+ { 0, { 0, 0, 0}}, // (107, 90)
+ { 0, { 0, 0, 0}}, // (108, 90)
+ { 0, { 0, 0, 0}}, // (109, 90)
+ { 0, { 0, 0, 0}}, // (110, 90)
+ { 0, { 0, 0, 0}}, // (111, 90)
+ { 0, { 0, 0, 0}}, // (112, 90)
+ { 0, { 0, 0, 0}}, // (113, 90)
+ { 0, { 0, 0, 0}}, // (114, 90)
+ { 0, { 0, 0, 0}}, // (115, 90)
+ { 0, { 0, 0, 0}}, // (116, 90)
+ { 0, { 0, 0, 0}}, // (117, 90)
+ { 0, { 0, 0, 0}}, // (118, 90)
+ { 0, { 0, 0, 0}}, // (119, 90)
+ { 0, { 0, 0, 0}}, // (120, 90)
+ { 0, { 0, 0, 0}}, // (121, 90)
+ { 0, { 0, 0, 0}}, // (122, 90)
+ { 0, { 0, 0, 0}}, // (123, 90)
+ { 0, { 0, 0, 0}}, // (124, 90)
+ { 0, { 0, 0, 0}}, // (125, 90)
+ { 0, { 0, 0, 0}}, // (126, 90)
+ { 0, { 0, 0, 0}}, // (127, 90)
+ { 0, { 0, 0, 0}}, // (128, 90)
+ { 0, { 0, 0, 0}}, // (129, 90)
+ { 0, { 0, 0, 0}}, // (130, 90)
+ { 0, { 0, 0, 0}}, // (131, 90)
+ { 0, { 0, 0, 0}}, // (132, 90)
+ { 0, { 0, 0, 0}}, // (133, 90)
+ { 0, { 0, 0, 0}}, // (134, 90)
+ { 0, { 0, 0, 0}}, // (135, 90)
+ { 0, { 0, 0, 0}}, // (136, 90)
+ { 0, { 0, 0, 0}}, // (137, 90)
+ { 0, { 0, 0, 0}}, // (138, 90)
+ { 0, { 0, 0, 0}}, // (139, 90)
+ { 0, { 0, 0, 0}}, // (140, 90)
+ { 0, { 0, 0, 0}}, // (141, 90)
+ { 0, { 0, 0, 0}}, // (142, 90)
+ { 0, { 0, 0, 0}}, // (143, 90)
+ { 0, { 0, 0, 0}}, // (144, 90)
+ { 0, { 0, 0, 0}}, // (145, 90)
+ { 0, { 0, 0, 0}}, // (146, 90)
+ { 0, { 0, 0, 0}}, // (147, 90)
+ { 0, { 0, 0, 0}}, // (148, 90)
+ { 0, { 0, 0, 0}}, // (149, 90)
+ { 0, { 0, 0, 0}}, // (150, 90)
+ { 0, { 0, 0, 0}}, // (151, 90)
+ { 0, { 0, 0, 0}}, // (152, 90)
+ { 0, { 0, 0, 0}}, // (153, 90)
+ { 0, { 0, 0, 0}}, // (154, 90)
+ { 0, { 0, 0, 0}}, // (155, 90)
+ { 0, { 0, 0, 0}}, // (156, 90)
+ { 0, { 0, 0, 0}}, // (157, 90)
+ { 0, { 0, 0, 0}}, // (158, 90)
+ { 0, { 0, 0, 0}}, // (159, 90)
+ { 0, { 0, 0, 0}}, // (160, 90)
+ { 0, { 0, 0, 0}}, // (161, 90)
+ { 0, { 0, 0, 0}}, // (162, 90)
+ { 0, { 0, 0, 0}}, // (163, 90)
+ { 0, { 0, 0, 0}}, // (164, 90)
+ { 0, { 0, 0, 0}}, // (165, 90)
+ { 0, { 0, 0, 0}}, // (166, 90)
+ { 0, { 0, 0, 0}}, // (167, 90)
+ { 0, { 0, 0, 0}}, // (168, 90)
+ { 0, { 0, 0, 0}}, // (169, 90)
+ { 0, { 0, 0, 0}}, // (170, 90)
+ { 0, { 0, 0, 0}}, // (171, 90)
+ { 0, { 0, 0, 0}}, // (172, 90)
+ { 0, { 0, 0, 0}}, // (173, 90)
+ { 0, { 0, 0, 0}}, // (174, 90)
+ { 0, { 0, 0, 0}}, // (175, 90)
+ { 0, { 0, 0, 0}}, // (176, 90)
+ { 0, { 0, 0, 0}}, // (177, 90)
+ {128, { 0, 0, 0}}, // (178, 90)
+ {128, { 0, 0, 0}}, // (179, 90)
+ {128, { 0, 0, 0}}, // ( 0, 91)
+ {128, { 0, 0, 0}}, // ( 1, 91)
+ { 7, { 0, 0, 0}}, // ( 2, 91)
+ { 0, { 0, 0, 0}}, // ( 3, 91)
+ { 0, { 0, 0, 0}}, // ( 4, 91)
+ { 0, { 0, 0, 0}}, // ( 5, 91)
+ { 0, { 0, 0, 0}}, // ( 6, 91)
+ { 0, { 0, 0, 0}}, // ( 7, 91)
+ { 0, { 0, 0, 0}}, // ( 8, 91)
+ { 0, { 0, 0, 0}}, // ( 9, 91)
+ { 0, { 0, 0, 0}}, // ( 10, 91)
+ { 0, { 0, 0, 0}}, // ( 11, 91)
+ { 0, { 0, 0, 0}}, // ( 12, 91)
+ { 0, { 0, 0, 0}}, // ( 13, 91)
+ { 0, { 0, 0, 0}}, // ( 14, 91)
+ { 0, { 0, 0, 0}}, // ( 15, 91)
+ { 0, { 0, 0, 0}}, // ( 16, 91)
+ { 0, { 0, 0, 0}}, // ( 17, 91)
+ { 0, { 0, 0, 0}}, // ( 18, 91)
+ { 0, { 0, 0, 0}}, // ( 19, 91)
+ { 0, { 0, 0, 0}}, // ( 20, 91)
+ { 0, { 0, 0, 0}}, // ( 21, 91)
+ { 0, { 0, 0, 0}}, // ( 22, 91)
+ { 0, { 0, 0, 0}}, // ( 23, 91)
+ { 0, { 0, 0, 0}}, // ( 24, 91)
+ { 0, { 0, 0, 0}}, // ( 25, 91)
+ { 0, { 0, 0, 0}}, // ( 26, 91)
+ { 0, { 0, 0, 0}}, // ( 27, 91)
+ { 0, { 0, 0, 0}}, // ( 28, 91)
+ { 0, { 0, 0, 0}}, // ( 29, 91)
+ { 0, { 0, 0, 0}}, // ( 30, 91)
+ { 0, { 0, 0, 0}}, // ( 31, 91)
+ { 0, { 0, 0, 0}}, // ( 32, 91)
+ { 0, { 0, 0, 0}}, // ( 33, 91)
+ { 0, { 0, 0, 0}}, // ( 34, 91)
+ { 0, { 0, 0, 0}}, // ( 35, 91)
+ { 0, { 0, 0, 0}}, // ( 36, 91)
+ { 0, { 0, 0, 0}}, // ( 37, 91)
+ { 0, { 0, 0, 0}}, // ( 38, 91)
+ { 0, { 0, 0, 0}}, // ( 39, 91)
+ { 0, { 0, 0, 0}}, // ( 40, 91)
+ { 0, { 0, 0, 0}}, // ( 41, 91)
+ { 0, { 0, 0, 0}}, // ( 42, 91)
+ { 0, { 0, 0, 0}}, // ( 43, 91)
+ { 0, { 0, 0, 0}}, // ( 44, 91)
+ { 0, { 0, 0, 0}}, // ( 45, 91)
+ { 0, { 0, 0, 0}}, // ( 46, 91)
+ { 0, { 0, 0, 0}}, // ( 47, 91)
+ { 0, { 0, 0, 0}}, // ( 48, 91)
+ { 0, { 0, 0, 0}}, // ( 49, 91)
+ { 0, { 0, 0, 0}}, // ( 50, 91)
+ { 0, { 0, 0, 0}}, // ( 51, 91)
+ { 0, { 0, 0, 0}}, // ( 52, 91)
+ { 0, { 0, 0, 0}}, // ( 53, 91)
+ { 0, { 0, 0, 0}}, // ( 54, 91)
+ { 0, { 0, 0, 0}}, // ( 55, 91)
+ { 0, { 0, 0, 0}}, // ( 56, 91)
+ { 0, { 0, 0, 0}}, // ( 57, 91)
+ { 0, { 0, 0, 0}}, // ( 58, 91)
+ { 0, { 0, 0, 0}}, // ( 59, 91)
+ { 0, { 0, 0, 0}}, // ( 60, 91)
+ { 0, { 0, 0, 0}}, // ( 61, 91)
+ { 0, { 0, 0, 0}}, // ( 62, 91)
+ { 0, { 0, 0, 0}}, // ( 63, 91)
+ { 0, { 0, 0, 0}}, // ( 64, 91)
+ { 0, { 0, 0, 0}}, // ( 65, 91)
+ { 0, { 0, 0, 0}}, // ( 66, 91)
+ { 0, { 0, 0, 0}}, // ( 67, 91)
+ { 0, { 0, 0, 0}}, // ( 68, 91)
+ { 0, { 0, 0, 0}}, // ( 69, 91)
+ { 0, { 0, 0, 0}}, // ( 70, 91)
+ { 0, { 0, 0, 0}}, // ( 71, 91)
+ { 0, { 0, 0, 0}}, // ( 72, 91)
+ { 0, { 0, 0, 0}}, // ( 73, 91)
+ { 0, { 0, 0, 0}}, // ( 74, 91)
+ { 0, { 0, 0, 0}}, // ( 75, 91)
+ { 0, { 0, 0, 0}}, // ( 76, 91)
+ { 0, { 0, 0, 0}}, // ( 77, 91)
+ { 0, { 0, 0, 0}}, // ( 78, 91)
+ { 0, { 0, 0, 0}}, // ( 79, 91)
+ { 0, { 0, 0, 0}}, // ( 80, 91)
+ { 0, { 0, 0, 0}}, // ( 81, 91)
+ { 0, { 0, 0, 0}}, // ( 82, 91)
+ { 0, { 0, 0, 0}}, // ( 83, 91)
+ { 0, { 0, 0, 0}}, // ( 84, 91)
+ { 0, { 0, 0, 0}}, // ( 85, 91)
+ { 0, { 0, 0, 0}}, // ( 86, 91)
+ { 0, { 0, 0, 0}}, // ( 87, 91)
+ { 0, { 0, 0, 0}}, // ( 88, 91)
+ { 0, { 0, 0, 0}}, // ( 89, 91)
+ { 0, { 0, 0, 0}}, // ( 90, 91)
+ { 0, { 0, 0, 0}}, // ( 91, 91)
+ { 0, { 0, 0, 0}}, // ( 92, 91)
+ { 0, { 0, 0, 0}}, // ( 93, 91)
+ { 0, { 0, 0, 0}}, // ( 94, 91)
+ { 0, { 0, 0, 0}}, // ( 95, 91)
+ { 0, { 0, 0, 0}}, // ( 96, 91)
+ { 0, { 0, 0, 0}}, // ( 97, 91)
+ { 0, { 0, 0, 0}}, // ( 98, 91)
+ { 0, { 0, 0, 0}}, // ( 99, 91)
+ { 0, { 0, 0, 0}}, // (100, 91)
+ { 0, { 0, 0, 0}}, // (101, 91)
+ { 0, { 0, 0, 0}}, // (102, 91)
+ { 0, { 0, 0, 0}}, // (103, 91)
+ { 0, { 0, 0, 0}}, // (104, 91)
+ { 0, { 0, 0, 0}}, // (105, 91)
+ { 0, { 0, 0, 0}}, // (106, 91)
+ { 0, { 0, 0, 0}}, // (107, 91)
+ { 0, { 0, 0, 0}}, // (108, 91)
+ { 0, { 0, 0, 0}}, // (109, 91)
+ { 0, { 0, 0, 0}}, // (110, 91)
+ { 0, { 0, 0, 0}}, // (111, 91)
+ { 0, { 0, 0, 0}}, // (112, 91)
+ { 0, { 0, 0, 0}}, // (113, 91)
+ { 0, { 0, 0, 0}}, // (114, 91)
+ { 0, { 0, 0, 0}}, // (115, 91)
+ { 0, { 0, 0, 0}}, // (116, 91)
+ { 0, { 0, 0, 0}}, // (117, 91)
+ { 0, { 0, 0, 0}}, // (118, 91)
+ { 0, { 0, 0, 0}}, // (119, 91)
+ { 0, { 0, 0, 0}}, // (120, 91)
+ { 0, { 0, 0, 0}}, // (121, 91)
+ { 0, { 0, 0, 0}}, // (122, 91)
+ { 0, { 0, 0, 0}}, // (123, 91)
+ { 0, { 0, 0, 0}}, // (124, 91)
+ { 0, { 0, 0, 0}}, // (125, 91)
+ { 0, { 0, 0, 0}}, // (126, 91)
+ { 0, { 0, 0, 0}}, // (127, 91)
+ { 0, { 0, 0, 0}}, // (128, 91)
+ { 0, { 0, 0, 0}}, // (129, 91)
+ { 0, { 0, 0, 0}}, // (130, 91)
+ { 0, { 0, 0, 0}}, // (131, 91)
+ { 0, { 0, 0, 0}}, // (132, 91)
+ { 0, { 0, 0, 0}}, // (133, 91)
+ { 0, { 0, 0, 0}}, // (134, 91)
+ { 0, { 0, 0, 0}}, // (135, 91)
+ { 0, { 0, 0, 0}}, // (136, 91)
+ { 0, { 0, 0, 0}}, // (137, 91)
+ { 0, { 0, 0, 0}}, // (138, 91)
+ { 0, { 0, 0, 0}}, // (139, 91)
+ { 0, { 0, 0, 0}}, // (140, 91)
+ { 0, { 0, 0, 0}}, // (141, 91)
+ { 0, { 0, 0, 0}}, // (142, 91)
+ { 0, { 0, 0, 0}}, // (143, 91)
+ { 0, { 0, 0, 0}}, // (144, 91)
+ { 0, { 0, 0, 0}}, // (145, 91)
+ { 0, { 0, 0, 0}}, // (146, 91)
+ { 0, { 0, 0, 0}}, // (147, 91)
+ { 0, { 0, 0, 0}}, // (148, 91)
+ { 0, { 0, 0, 0}}, // (149, 91)
+ { 0, { 0, 0, 0}}, // (150, 91)
+ { 0, { 0, 0, 0}}, // (151, 91)
+ { 0, { 0, 0, 0}}, // (152, 91)
+ { 0, { 0, 0, 0}}, // (153, 91)
+ { 0, { 0, 0, 0}}, // (154, 91)
+ { 0, { 0, 0, 0}}, // (155, 91)
+ { 0, { 0, 0, 0}}, // (156, 91)
+ { 0, { 0, 0, 0}}, // (157, 91)
+ { 0, { 0, 0, 0}}, // (158, 91)
+ { 0, { 0, 0, 0}}, // (159, 91)
+ { 0, { 0, 0, 0}}, // (160, 91)
+ { 0, { 0, 0, 0}}, // (161, 91)
+ { 0, { 0, 0, 0}}, // (162, 91)
+ { 0, { 0, 0, 0}}, // (163, 91)
+ { 0, { 0, 0, 0}}, // (164, 91)
+ { 0, { 0, 0, 0}}, // (165, 91)
+ { 0, { 0, 0, 0}}, // (166, 91)
+ { 0, { 0, 0, 0}}, // (167, 91)
+ { 0, { 0, 0, 0}}, // (168, 91)
+ { 0, { 0, 0, 0}}, // (169, 91)
+ { 0, { 0, 0, 0}}, // (170, 91)
+ { 0, { 0, 0, 0}}, // (171, 91)
+ { 0, { 0, 0, 0}}, // (172, 91)
+ { 0, { 0, 0, 0}}, // (173, 91)
+ { 0, { 0, 0, 0}}, // (174, 91)
+ { 0, { 0, 0, 0}}, // (175, 91)
+ { 0, { 0, 0, 0}}, // (176, 91)
+ { 6, { 0, 0, 0}}, // (177, 91)
+ {128, { 0, 0, 0}}, // (178, 91)
+ {128, { 0, 0, 0}}, // (179, 91)
+ {128, { 0, 0, 0}}, // ( 0, 92)
+ {128, { 0, 0, 0}}, // ( 1, 92)
+ { 8, { 0, 0, 0}}, // ( 2, 92)
+ { 0, { 0, 0, 0}}, // ( 3, 92)
+ { 0, { 0, 0, 0}}, // ( 4, 92)
+ { 0, { 0, 0, 0}}, // ( 5, 92)
+ { 0, { 0, 0, 0}}, // ( 6, 92)
+ { 0, { 0, 0, 0}}, // ( 7, 92)
+ { 0, { 0, 0, 0}}, // ( 8, 92)
+ { 0, { 0, 0, 0}}, // ( 9, 92)
+ { 0, { 0, 0, 0}}, // ( 10, 92)
+ { 0, { 0, 0, 0}}, // ( 11, 92)
+ { 0, { 0, 0, 0}}, // ( 12, 92)
+ { 0, { 0, 0, 0}}, // ( 13, 92)
+ { 0, { 0, 0, 0}}, // ( 14, 92)
+ { 0, { 0, 0, 0}}, // ( 15, 92)
+ { 0, { 0, 0, 0}}, // ( 16, 92)
+ { 0, { 0, 0, 0}}, // ( 17, 92)
+ { 0, { 0, 0, 0}}, // ( 18, 92)
+ { 0, { 0, 0, 0}}, // ( 19, 92)
+ { 0, { 0, 0, 0}}, // ( 20, 92)
+ { 0, { 0, 0, 0}}, // ( 21, 92)
+ { 0, { 0, 0, 0}}, // ( 22, 92)
+ { 0, { 0, 0, 0}}, // ( 23, 92)
+ { 0, { 0, 0, 0}}, // ( 24, 92)
+ { 0, { 0, 0, 0}}, // ( 25, 92)
+ { 0, { 0, 0, 0}}, // ( 26, 92)
+ { 0, { 0, 0, 0}}, // ( 27, 92)
+ { 0, { 0, 0, 0}}, // ( 28, 92)
+ { 0, { 0, 0, 0}}, // ( 29, 92)
+ { 0, { 0, 0, 0}}, // ( 30, 92)
+ { 0, { 0, 0, 0}}, // ( 31, 92)
+ { 0, { 0, 0, 0}}, // ( 32, 92)
+ { 0, { 0, 0, 0}}, // ( 33, 92)
+ { 0, { 0, 0, 0}}, // ( 34, 92)
+ { 0, { 0, 0, 0}}, // ( 35, 92)
+ { 0, { 0, 0, 0}}, // ( 36, 92)
+ { 0, { 0, 0, 0}}, // ( 37, 92)
+ { 0, { 0, 0, 0}}, // ( 38, 92)
+ { 0, { 0, 0, 0}}, // ( 39, 92)
+ { 0, { 0, 0, 0}}, // ( 40, 92)
+ { 0, { 0, 0, 0}}, // ( 41, 92)
+ { 0, { 0, 0, 0}}, // ( 42, 92)
+ { 0, { 0, 0, 0}}, // ( 43, 92)
+ { 0, { 0, 0, 0}}, // ( 44, 92)
+ { 0, { 0, 0, 0}}, // ( 45, 92)
+ { 0, { 0, 0, 0}}, // ( 46, 92)
+ { 0, { 0, 0, 0}}, // ( 47, 92)
+ { 0, { 0, 0, 0}}, // ( 48, 92)
+ { 0, { 0, 0, 0}}, // ( 49, 92)
+ { 0, { 0, 0, 0}}, // ( 50, 92)
+ { 0, { 0, 0, 0}}, // ( 51, 92)
+ { 0, { 0, 0, 0}}, // ( 52, 92)
+ { 0, { 0, 0, 0}}, // ( 53, 92)
+ { 0, { 0, 0, 0}}, // ( 54, 92)
+ { 0, { 0, 0, 0}}, // ( 55, 92)
+ { 0, { 0, 0, 0}}, // ( 56, 92)
+ { 0, { 0, 0, 0}}, // ( 57, 92)
+ { 0, { 0, 0, 0}}, // ( 58, 92)
+ { 0, { 0, 0, 0}}, // ( 59, 92)
+ { 0, { 0, 0, 0}}, // ( 60, 92)
+ { 0, { 0, 0, 0}}, // ( 61, 92)
+ { 0, { 0, 0, 0}}, // ( 62, 92)
+ { 0, { 0, 0, 0}}, // ( 63, 92)
+ { 0, { 0, 0, 0}}, // ( 64, 92)
+ { 0, { 0, 0, 0}}, // ( 65, 92)
+ { 0, { 0, 0, 0}}, // ( 66, 92)
+ { 0, { 0, 0, 0}}, // ( 67, 92)
+ { 0, { 0, 0, 0}}, // ( 68, 92)
+ { 0, { 0, 0, 0}}, // ( 69, 92)
+ { 0, { 0, 0, 0}}, // ( 70, 92)
+ { 0, { 0, 0, 0}}, // ( 71, 92)
+ { 0, { 0, 0, 0}}, // ( 72, 92)
+ { 0, { 0, 0, 0}}, // ( 73, 92)
+ { 0, { 0, 0, 0}}, // ( 74, 92)
+ { 0, { 0, 0, 0}}, // ( 75, 92)
+ { 0, { 0, 0, 0}}, // ( 76, 92)
+ { 0, { 0, 0, 0}}, // ( 77, 92)
+ { 0, { 0, 0, 0}}, // ( 78, 92)
+ { 0, { 0, 0, 0}}, // ( 79, 92)
+ { 0, { 0, 0, 0}}, // ( 80, 92)
+ { 0, { 0, 0, 0}}, // ( 81, 92)
+ { 0, { 0, 0, 0}}, // ( 82, 92)
+ { 0, { 0, 0, 0}}, // ( 83, 92)
+ { 0, { 0, 0, 0}}, // ( 84, 92)
+ { 0, { 0, 0, 0}}, // ( 85, 92)
+ { 0, { 0, 0, 0}}, // ( 86, 92)
+ { 0, { 0, 0, 0}}, // ( 87, 92)
+ { 0, { 0, 0, 0}}, // ( 88, 92)
+ { 0, { 0, 0, 0}}, // ( 89, 92)
+ { 0, { 0, 0, 0}}, // ( 90, 92)
+ { 0, { 0, 0, 0}}, // ( 91, 92)
+ { 0, { 0, 0, 0}}, // ( 92, 92)
+ { 0, { 0, 0, 0}}, // ( 93, 92)
+ { 0, { 0, 0, 0}}, // ( 94, 92)
+ { 0, { 0, 0, 0}}, // ( 95, 92)
+ { 0, { 0, 0, 0}}, // ( 96, 92)
+ { 0, { 0, 0, 0}}, // ( 97, 92)
+ { 0, { 0, 0, 0}}, // ( 98, 92)
+ { 0, { 0, 0, 0}}, // ( 99, 92)
+ { 0, { 0, 0, 0}}, // (100, 92)
+ { 0, { 0, 0, 0}}, // (101, 92)
+ { 0, { 0, 0, 0}}, // (102, 92)
+ { 0, { 0, 0, 0}}, // (103, 92)
+ { 0, { 0, 0, 0}}, // (104, 92)
+ { 0, { 0, 0, 0}}, // (105, 92)
+ { 0, { 0, 0, 0}}, // (106, 92)
+ { 0, { 0, 0, 0}}, // (107, 92)
+ { 0, { 0, 0, 0}}, // (108, 92)
+ { 0, { 0, 0, 0}}, // (109, 92)
+ { 0, { 0, 0, 0}}, // (110, 92)
+ { 0, { 0, 0, 0}}, // (111, 92)
+ { 0, { 0, 0, 0}}, // (112, 92)
+ { 0, { 0, 0, 0}}, // (113, 92)
+ { 0, { 0, 0, 0}}, // (114, 92)
+ { 0, { 0, 0, 0}}, // (115, 92)
+ { 0, { 0, 0, 0}}, // (116, 92)
+ { 0, { 0, 0, 0}}, // (117, 92)
+ { 0, { 0, 0, 0}}, // (118, 92)
+ { 0, { 0, 0, 0}}, // (119, 92)
+ { 0, { 0, 0, 0}}, // (120, 92)
+ { 0, { 0, 0, 0}}, // (121, 92)
+ { 0, { 0, 0, 0}}, // (122, 92)
+ { 0, { 0, 0, 0}}, // (123, 92)
+ { 0, { 0, 0, 0}}, // (124, 92)
+ { 0, { 0, 0, 0}}, // (125, 92)
+ { 0, { 0, 0, 0}}, // (126, 92)
+ { 0, { 0, 0, 0}}, // (127, 92)
+ { 0, { 0, 0, 0}}, // (128, 92)
+ { 0, { 0, 0, 0}}, // (129, 92)
+ { 0, { 0, 0, 0}}, // (130, 92)
+ { 0, { 0, 0, 0}}, // (131, 92)
+ { 0, { 0, 0, 0}}, // (132, 92)
+ { 0, { 0, 0, 0}}, // (133, 92)
+ { 0, { 0, 0, 0}}, // (134, 92)
+ { 0, { 0, 0, 0}}, // (135, 92)
+ { 0, { 0, 0, 0}}, // (136, 92)
+ { 0, { 0, 0, 0}}, // (137, 92)
+ { 0, { 0, 0, 0}}, // (138, 92)
+ { 0, { 0, 0, 0}}, // (139, 92)
+ { 0, { 0, 0, 0}}, // (140, 92)
+ { 0, { 0, 0, 0}}, // (141, 92)
+ { 0, { 0, 0, 0}}, // (142, 92)
+ { 0, { 0, 0, 0}}, // (143, 92)
+ { 0, { 0, 0, 0}}, // (144, 92)
+ { 0, { 0, 0, 0}}, // (145, 92)
+ { 0, { 0, 0, 0}}, // (146, 92)
+ { 0, { 0, 0, 0}}, // (147, 92)
+ { 0, { 0, 0, 0}}, // (148, 92)
+ { 0, { 0, 0, 0}}, // (149, 92)
+ { 0, { 0, 0, 0}}, // (150, 92)
+ { 0, { 0, 0, 0}}, // (151, 92)
+ { 0, { 0, 0, 0}}, // (152, 92)
+ { 0, { 0, 0, 0}}, // (153, 92)
+ { 0, { 0, 0, 0}}, // (154, 92)
+ { 0, { 0, 0, 0}}, // (155, 92)
+ { 0, { 0, 0, 0}}, // (156, 92)
+ { 0, { 0, 0, 0}}, // (157, 92)
+ { 0, { 0, 0, 0}}, // (158, 92)
+ { 0, { 0, 0, 0}}, // (159, 92)
+ { 0, { 0, 0, 0}}, // (160, 92)
+ { 0, { 0, 0, 0}}, // (161, 92)
+ { 0, { 0, 0, 0}}, // (162, 92)
+ { 0, { 0, 0, 0}}, // (163, 92)
+ { 0, { 0, 0, 0}}, // (164, 92)
+ { 0, { 0, 0, 0}}, // (165, 92)
+ { 0, { 0, 0, 0}}, // (166, 92)
+ { 0, { 0, 0, 0}}, // (167, 92)
+ { 0, { 0, 0, 0}}, // (168, 92)
+ { 0, { 0, 0, 0}}, // (169, 92)
+ { 0, { 0, 0, 0}}, // (170, 92)
+ { 0, { 0, 0, 0}}, // (171, 92)
+ { 0, { 0, 0, 0}}, // (172, 92)
+ { 0, { 0, 0, 0}}, // (173, 92)
+ { 0, { 0, 0, 0}}, // (174, 92)
+ { 0, { 0, 0, 0}}, // (175, 92)
+ { 0, { 0, 0, 0}}, // (176, 92)
+ { 8, { 0, 0, 0}}, // (177, 92)
+ {128, { 0, 0, 0}}, // (178, 92)
+ {128, { 0, 0, 0}}, // (179, 92)
+ {128, { 0, 0, 0}}, // ( 0, 93)
+ {128, { 0, 0, 0}}, // ( 1, 93)
+ { 12, { 0, 0, 0}}, // ( 2, 93)
+ { 0, { 0, 0, 0}}, // ( 3, 93)
+ { 0, { 0, 0, 0}}, // ( 4, 93)
+ { 0, { 0, 0, 0}}, // ( 5, 93)
+ { 0, { 0, 0, 0}}, // ( 6, 93)
+ { 0, { 0, 0, 0}}, // ( 7, 93)
+ { 0, { 0, 0, 0}}, // ( 8, 93)
+ { 0, { 0, 0, 0}}, // ( 9, 93)
+ { 0, { 0, 0, 0}}, // ( 10, 93)
+ { 0, { 0, 0, 0}}, // ( 11, 93)
+ { 0, { 0, 0, 0}}, // ( 12, 93)
+ { 0, { 0, 0, 0}}, // ( 13, 93)
+ { 0, { 0, 0, 0}}, // ( 14, 93)
+ { 0, { 0, 0, 0}}, // ( 15, 93)
+ { 0, { 0, 0, 0}}, // ( 16, 93)
+ { 0, { 0, 0, 0}}, // ( 17, 93)
+ { 0, { 0, 0, 0}}, // ( 18, 93)
+ { 0, { 0, 0, 0}}, // ( 19, 93)
+ { 0, { 0, 0, 0}}, // ( 20, 93)
+ { 0, { 0, 0, 0}}, // ( 21, 93)
+ { 0, { 0, 0, 0}}, // ( 22, 93)
+ { 0, { 0, 0, 0}}, // ( 23, 93)
+ { 0, { 0, 0, 0}}, // ( 24, 93)
+ { 0, { 0, 0, 0}}, // ( 25, 93)
+ { 0, { 0, 0, 0}}, // ( 26, 93)
+ { 0, { 0, 0, 0}}, // ( 27, 93)
+ { 0, { 0, 0, 0}}, // ( 28, 93)
+ { 0, { 0, 0, 0}}, // ( 29, 93)
+ { 0, { 0, 0, 0}}, // ( 30, 93)
+ { 0, { 0, 0, 0}}, // ( 31, 93)
+ { 0, { 0, 0, 0}}, // ( 32, 93)
+ { 0, { 0, 0, 0}}, // ( 33, 93)
+ { 0, { 0, 0, 0}}, // ( 34, 93)
+ { 0, { 0, 0, 0}}, // ( 35, 93)
+ { 0, { 0, 0, 0}}, // ( 36, 93)
+ { 0, { 0, 0, 0}}, // ( 37, 93)
+ { 0, { 0, 0, 0}}, // ( 38, 93)
+ { 0, { 0, 0, 0}}, // ( 39, 93)
+ { 0, { 0, 0, 0}}, // ( 40, 93)
+ { 0, { 0, 0, 0}}, // ( 41, 93)
+ { 0, { 0, 0, 0}}, // ( 42, 93)
+ { 0, { 0, 0, 0}}, // ( 43, 93)
+ { 0, { 0, 0, 0}}, // ( 44, 93)
+ { 0, { 0, 0, 0}}, // ( 45, 93)
+ { 0, { 0, 0, 0}}, // ( 46, 93)
+ { 0, { 0, 0, 0}}, // ( 47, 93)
+ { 0, { 0, 0, 0}}, // ( 48, 93)
+ { 0, { 0, 0, 0}}, // ( 49, 93)
+ { 0, { 0, 0, 0}}, // ( 50, 93)
+ { 0, { 0, 0, 0}}, // ( 51, 93)
+ { 0, { 0, 0, 0}}, // ( 52, 93)
+ { 0, { 0, 0, 0}}, // ( 53, 93)
+ { 0, { 0, 0, 0}}, // ( 54, 93)
+ { 0, { 0, 0, 0}}, // ( 55, 93)
+ { 0, { 0, 0, 0}}, // ( 56, 93)
+ { 0, { 0, 0, 0}}, // ( 57, 93)
+ { 0, { 0, 0, 0}}, // ( 58, 93)
+ { 0, { 0, 0, 0}}, // ( 59, 93)
+ { 0, { 0, 0, 0}}, // ( 60, 93)
+ { 0, { 0, 0, 0}}, // ( 61, 93)
+ { 0, { 0, 0, 0}}, // ( 62, 93)
+ { 0, { 0, 0, 0}}, // ( 63, 93)
+ { 0, { 0, 0, 0}}, // ( 64, 93)
+ { 0, { 0, 0, 0}}, // ( 65, 93)
+ { 0, { 0, 0, 0}}, // ( 66, 93)
+ { 0, { 0, 0, 0}}, // ( 67, 93)
+ { 0, { 0, 0, 0}}, // ( 68, 93)
+ { 0, { 0, 0, 0}}, // ( 69, 93)
+ { 0, { 0, 0, 0}}, // ( 70, 93)
+ { 0, { 0, 0, 0}}, // ( 71, 93)
+ { 0, { 0, 0, 0}}, // ( 72, 93)
+ { 0, { 0, 0, 0}}, // ( 73, 93)
+ { 0, { 0, 0, 0}}, // ( 74, 93)
+ { 0, { 0, 0, 0}}, // ( 75, 93)
+ { 0, { 0, 0, 0}}, // ( 76, 93)
+ { 0, { 0, 0, 0}}, // ( 77, 93)
+ { 0, { 0, 0, 0}}, // ( 78, 93)
+ { 0, { 0, 0, 0}}, // ( 79, 93)
+ { 0, { 0, 0, 0}}, // ( 80, 93)
+ { 0, { 0, 0, 0}}, // ( 81, 93)
+ { 0, { 0, 0, 0}}, // ( 82, 93)
+ { 0, { 0, 0, 0}}, // ( 83, 93)
+ { 0, { 0, 0, 0}}, // ( 84, 93)
+ { 0, { 0, 0, 0}}, // ( 85, 93)
+ { 0, { 0, 0, 0}}, // ( 86, 93)
+ { 0, { 0, 0, 0}}, // ( 87, 93)
+ { 0, { 0, 0, 0}}, // ( 88, 93)
+ { 0, { 0, 0, 0}}, // ( 89, 93)
+ { 0, { 0, 0, 0}}, // ( 90, 93)
+ { 0, { 0, 0, 0}}, // ( 91, 93)
+ { 0, { 0, 0, 0}}, // ( 92, 93)
+ { 0, { 0, 0, 0}}, // ( 93, 93)
+ { 0, { 0, 0, 0}}, // ( 94, 93)
+ { 0, { 0, 0, 0}}, // ( 95, 93)
+ { 0, { 0, 0, 0}}, // ( 96, 93)
+ { 0, { 0, 0, 0}}, // ( 97, 93)
+ { 0, { 0, 0, 0}}, // ( 98, 93)
+ { 0, { 0, 0, 0}}, // ( 99, 93)
+ { 0, { 0, 0, 0}}, // (100, 93)
+ { 0, { 0, 0, 0}}, // (101, 93)
+ { 0, { 0, 0, 0}}, // (102, 93)
+ { 0, { 0, 0, 0}}, // (103, 93)
+ { 0, { 0, 0, 0}}, // (104, 93)
+ { 0, { 0, 0, 0}}, // (105, 93)
+ { 0, { 0, 0, 0}}, // (106, 93)
+ { 0, { 0, 0, 0}}, // (107, 93)
+ { 0, { 0, 0, 0}}, // (108, 93)
+ { 0, { 0, 0, 0}}, // (109, 93)
+ { 0, { 0, 0, 0}}, // (110, 93)
+ { 0, { 0, 0, 0}}, // (111, 93)
+ { 0, { 0, 0, 0}}, // (112, 93)
+ { 0, { 0, 0, 0}}, // (113, 93)
+ { 0, { 0, 0, 0}}, // (114, 93)
+ { 0, { 0, 0, 0}}, // (115, 93)
+ { 0, { 0, 0, 0}}, // (116, 93)
+ { 0, { 0, 0, 0}}, // (117, 93)
+ { 0, { 0, 0, 0}}, // (118, 93)
+ { 0, { 0, 0, 0}}, // (119, 93)
+ { 0, { 0, 0, 0}}, // (120, 93)
+ { 0, { 0, 0, 0}}, // (121, 93)
+ { 0, { 0, 0, 0}}, // (122, 93)
+ { 0, { 0, 0, 0}}, // (123, 93)
+ { 0, { 0, 0, 0}}, // (124, 93)
+ { 0, { 0, 0, 0}}, // (125, 93)
+ { 0, { 0, 0, 0}}, // (126, 93)
+ { 0, { 0, 0, 0}}, // (127, 93)
+ { 0, { 0, 0, 0}}, // (128, 93)
+ { 0, { 0, 0, 0}}, // (129, 93)
+ { 0, { 0, 0, 0}}, // (130, 93)
+ { 0, { 0, 0, 0}}, // (131, 93)
+ { 0, { 0, 0, 0}}, // (132, 93)
+ { 0, { 0, 0, 0}}, // (133, 93)
+ { 0, { 0, 0, 0}}, // (134, 93)
+ { 0, { 0, 0, 0}}, // (135, 93)
+ { 0, { 0, 0, 0}}, // (136, 93)
+ { 0, { 0, 0, 0}}, // (137, 93)
+ { 0, { 0, 0, 0}}, // (138, 93)
+ { 0, { 0, 0, 0}}, // (139, 93)
+ { 0, { 0, 0, 0}}, // (140, 93)
+ { 0, { 0, 0, 0}}, // (141, 93)
+ { 0, { 0, 0, 0}}, // (142, 93)
+ { 0, { 0, 0, 0}}, // (143, 93)
+ { 0, { 0, 0, 0}}, // (144, 93)
+ { 0, { 0, 0, 0}}, // (145, 93)
+ { 0, { 0, 0, 0}}, // (146, 93)
+ { 0, { 0, 0, 0}}, // (147, 93)
+ { 0, { 0, 0, 0}}, // (148, 93)
+ { 0, { 0, 0, 0}}, // (149, 93)
+ { 0, { 0, 0, 0}}, // (150, 93)
+ { 0, { 0, 0, 0}}, // (151, 93)
+ { 0, { 0, 0, 0}}, // (152, 93)
+ { 0, { 0, 0, 0}}, // (153, 93)
+ { 0, { 0, 0, 0}}, // (154, 93)
+ { 0, { 0, 0, 0}}, // (155, 93)
+ { 0, { 0, 0, 0}}, // (156, 93)
+ { 0, { 0, 0, 0}}, // (157, 93)
+ { 0, { 0, 0, 0}}, // (158, 93)
+ { 0, { 0, 0, 0}}, // (159, 93)
+ { 0, { 0, 0, 0}}, // (160, 93)
+ { 0, { 0, 0, 0}}, // (161, 93)
+ { 0, { 0, 0, 0}}, // (162, 93)
+ { 0, { 0, 0, 0}}, // (163, 93)
+ { 0, { 0, 0, 0}}, // (164, 93)
+ { 0, { 0, 0, 0}}, // (165, 93)
+ { 0, { 0, 0, 0}}, // (166, 93)
+ { 0, { 0, 0, 0}}, // (167, 93)
+ { 0, { 0, 0, 0}}, // (168, 93)
+ { 0, { 0, 0, 0}}, // (169, 93)
+ { 0, { 0, 0, 0}}, // (170, 93)
+ { 0, { 0, 0, 0}}, // (171, 93)
+ { 0, { 0, 0, 0}}, // (172, 93)
+ { 0, { 0, 0, 0}}, // (173, 93)
+ { 0, { 0, 0, 0}}, // (174, 93)
+ { 0, { 0, 0, 0}}, // (175, 93)
+ { 0, { 0, 0, 0}}, // (176, 93)
+ { 11, { 0, 0, 0}}, // (177, 93)
+ {128, { 0, 0, 0}}, // (178, 93)
+ {128, { 0, 0, 0}}, // (179, 93)
+ {128, { 0, 0, 0}}, // ( 0, 94)
+ {128, { 0, 0, 0}}, // ( 1, 94)
+ { 16, { 0, 0, 0}}, // ( 2, 94)
+ { 0, { 0, 0, 0}}, // ( 3, 94)
+ { 0, { 0, 0, 0}}, // ( 4, 94)
+ { 0, { 0, 0, 0}}, // ( 5, 94)
+ { 0, { 0, 0, 0}}, // ( 6, 94)
+ { 0, { 0, 0, 0}}, // ( 7, 94)
+ { 0, { 0, 0, 0}}, // ( 8, 94)
+ { 0, { 0, 0, 0}}, // ( 9, 94)
+ { 0, { 0, 0, 0}}, // ( 10, 94)
+ { 0, { 0, 0, 0}}, // ( 11, 94)
+ { 0, { 0, 0, 0}}, // ( 12, 94)
+ { 0, { 0, 0, 0}}, // ( 13, 94)
+ { 0, { 0, 0, 0}}, // ( 14, 94)
+ { 0, { 0, 0, 0}}, // ( 15, 94)
+ { 0, { 0, 0, 0}}, // ( 16, 94)
+ { 0, { 0, 0, 0}}, // ( 17, 94)
+ { 0, { 0, 0, 0}}, // ( 18, 94)
+ { 0, { 0, 0, 0}}, // ( 19, 94)
+ { 0, { 0, 0, 0}}, // ( 20, 94)
+ { 0, { 0, 0, 0}}, // ( 21, 94)
+ { 0, { 0, 0, 0}}, // ( 22, 94)
+ { 0, { 0, 0, 0}}, // ( 23, 94)
+ { 0, { 0, 0, 0}}, // ( 24, 94)
+ { 0, { 0, 0, 0}}, // ( 25, 94)
+ { 0, { 0, 0, 0}}, // ( 26, 94)
+ { 0, { 0, 0, 0}}, // ( 27, 94)
+ { 0, { 0, 0, 0}}, // ( 28, 94)
+ { 0, { 0, 0, 0}}, // ( 29, 94)
+ { 0, { 0, 0, 0}}, // ( 30, 94)
+ { 0, { 0, 0, 0}}, // ( 31, 94)
+ { 0, { 0, 0, 0}}, // ( 32, 94)
+ { 0, { 0, 0, 0}}, // ( 33, 94)
+ { 0, { 0, 0, 0}}, // ( 34, 94)
+ { 0, { 0, 0, 0}}, // ( 35, 94)
+ { 0, { 0, 0, 0}}, // ( 36, 94)
+ { 0, { 0, 0, 0}}, // ( 37, 94)
+ { 0, { 0, 0, 0}}, // ( 38, 94)
+ { 0, { 0, 0, 0}}, // ( 39, 94)
+ { 0, { 0, 0, 0}}, // ( 40, 94)
+ { 0, { 0, 0, 0}}, // ( 41, 94)
+ { 0, { 0, 0, 0}}, // ( 42, 94)
+ { 0, { 0, 0, 0}}, // ( 43, 94)
+ { 0, { 0, 0, 0}}, // ( 44, 94)
+ { 0, { 0, 0, 0}}, // ( 45, 94)
+ { 0, { 0, 0, 0}}, // ( 46, 94)
+ { 0, { 0, 0, 0}}, // ( 47, 94)
+ { 0, { 0, 0, 0}}, // ( 48, 94)
+ { 0, { 0, 0, 0}}, // ( 49, 94)
+ { 0, { 0, 0, 0}}, // ( 50, 94)
+ { 0, { 0, 0, 0}}, // ( 51, 94)
+ { 0, { 0, 0, 0}}, // ( 52, 94)
+ { 0, { 0, 0, 0}}, // ( 53, 94)
+ { 0, { 0, 0, 0}}, // ( 54, 94)
+ { 0, { 0, 0, 0}}, // ( 55, 94)
+ { 0, { 0, 0, 0}}, // ( 56, 94)
+ { 0, { 0, 0, 0}}, // ( 57, 94)
+ { 0, { 0, 0, 0}}, // ( 58, 94)
+ { 0, { 0, 0, 0}}, // ( 59, 94)
+ { 0, { 0, 0, 0}}, // ( 60, 94)
+ { 0, { 0, 0, 0}}, // ( 61, 94)
+ { 0, { 0, 0, 0}}, // ( 62, 94)
+ { 0, { 0, 0, 0}}, // ( 63, 94)
+ { 0, { 0, 0, 0}}, // ( 64, 94)
+ { 0, { 0, 0, 0}}, // ( 65, 94)
+ { 0, { 0, 0, 0}}, // ( 66, 94)
+ { 0, { 0, 0, 0}}, // ( 67, 94)
+ { 0, { 0, 0, 0}}, // ( 68, 94)
+ { 0, { 0, 0, 0}}, // ( 69, 94)
+ { 0, { 0, 0, 0}}, // ( 70, 94)
+ { 0, { 0, 0, 0}}, // ( 71, 94)
+ { 0, { 0, 0, 0}}, // ( 72, 94)
+ { 0, { 0, 0, 0}}, // ( 73, 94)
+ { 0, { 0, 0, 0}}, // ( 74, 94)
+ { 0, { 0, 0, 0}}, // ( 75, 94)
+ { 0, { 0, 0, 0}}, // ( 76, 94)
+ { 0, { 0, 0, 0}}, // ( 77, 94)
+ { 0, { 0, 0, 0}}, // ( 78, 94)
+ { 0, { 0, 0, 0}}, // ( 79, 94)
+ { 0, { 0, 0, 0}}, // ( 80, 94)
+ { 0, { 0, 0, 0}}, // ( 81, 94)
+ { 0, { 0, 0, 0}}, // ( 82, 94)
+ { 0, { 0, 0, 0}}, // ( 83, 94)
+ { 0, { 0, 0, 0}}, // ( 84, 94)
+ { 0, { 0, 0, 0}}, // ( 85, 94)
+ { 0, { 0, 0, 0}}, // ( 86, 94)
+ { 0, { 0, 0, 0}}, // ( 87, 94)
+ { 0, { 0, 0, 0}}, // ( 88, 94)
+ { 0, { 0, 0, 0}}, // ( 89, 94)
+ { 0, { 0, 0, 0}}, // ( 90, 94)
+ { 0, { 0, 0, 0}}, // ( 91, 94)
+ { 0, { 0, 0, 0}}, // ( 92, 94)
+ { 0, { 0, 0, 0}}, // ( 93, 94)
+ { 0, { 0, 0, 0}}, // ( 94, 94)
+ { 0, { 0, 0, 0}}, // ( 95, 94)
+ { 0, { 0, 0, 0}}, // ( 96, 94)
+ { 0, { 0, 0, 0}}, // ( 97, 94)
+ { 0, { 0, 0, 0}}, // ( 98, 94)
+ { 0, { 0, 0, 0}}, // ( 99, 94)
+ { 0, { 0, 0, 0}}, // (100, 94)
+ { 0, { 0, 0, 0}}, // (101, 94)
+ { 0, { 0, 0, 0}}, // (102, 94)
+ { 0, { 0, 0, 0}}, // (103, 94)
+ { 0, { 0, 0, 0}}, // (104, 94)
+ { 0, { 0, 0, 0}}, // (105, 94)
+ { 0, { 0, 0, 0}}, // (106, 94)
+ { 0, { 0, 0, 0}}, // (107, 94)
+ { 0, { 0, 0, 0}}, // (108, 94)
+ { 0, { 0, 0, 0}}, // (109, 94)
+ { 0, { 0, 0, 0}}, // (110, 94)
+ { 0, { 0, 0, 0}}, // (111, 94)
+ { 0, { 0, 0, 0}}, // (112, 94)
+ { 0, { 0, 0, 0}}, // (113, 94)
+ { 0, { 0, 0, 0}}, // (114, 94)
+ { 0, { 0, 0, 0}}, // (115, 94)
+ { 0, { 0, 0, 0}}, // (116, 94)
+ { 0, { 0, 0, 0}}, // (117, 94)
+ { 0, { 0, 0, 0}}, // (118, 94)
+ { 0, { 0, 0, 0}}, // (119, 94)
+ { 0, { 0, 0, 0}}, // (120, 94)
+ { 0, { 0, 0, 0}}, // (121, 94)
+ { 0, { 0, 0, 0}}, // (122, 94)
+ { 0, { 0, 0, 0}}, // (123, 94)
+ { 0, { 0, 0, 0}}, // (124, 94)
+ { 0, { 0, 0, 0}}, // (125, 94)
+ { 0, { 0, 0, 0}}, // (126, 94)
+ { 0, { 0, 0, 0}}, // (127, 94)
+ { 0, { 0, 0, 0}}, // (128, 94)
+ { 0, { 0, 0, 0}}, // (129, 94)
+ { 0, { 0, 0, 0}}, // (130, 94)
+ { 0, { 0, 0, 0}}, // (131, 94)
+ { 0, { 0, 0, 0}}, // (132, 94)
+ { 0, { 0, 0, 0}}, // (133, 94)
+ { 0, { 0, 0, 0}}, // (134, 94)
+ { 0, { 0, 0, 0}}, // (135, 94)
+ { 0, { 0, 0, 0}}, // (136, 94)
+ { 0, { 0, 0, 0}}, // (137, 94)
+ { 0, { 0, 0, 0}}, // (138, 94)
+ { 0, { 0, 0, 0}}, // (139, 94)
+ { 0, { 0, 0, 0}}, // (140, 94)
+ { 0, { 0, 0, 0}}, // (141, 94)
+ { 0, { 0, 0, 0}}, // (142, 94)
+ { 0, { 0, 0, 0}}, // (143, 94)
+ { 0, { 0, 0, 0}}, // (144, 94)
+ { 0, { 0, 0, 0}}, // (145, 94)
+ { 0, { 0, 0, 0}}, // (146, 94)
+ { 0, { 0, 0, 0}}, // (147, 94)
+ { 0, { 0, 0, 0}}, // (148, 94)
+ { 0, { 0, 0, 0}}, // (149, 94)
+ { 0, { 0, 0, 0}}, // (150, 94)
+ { 0, { 0, 0, 0}}, // (151, 94)
+ { 0, { 0, 0, 0}}, // (152, 94)
+ { 0, { 0, 0, 0}}, // (153, 94)
+ { 0, { 0, 0, 0}}, // (154, 94)
+ { 0, { 0, 0, 0}}, // (155, 94)
+ { 0, { 0, 0, 0}}, // (156, 94)
+ { 0, { 0, 0, 0}}, // (157, 94)
+ { 0, { 0, 0, 0}}, // (158, 94)
+ { 0, { 0, 0, 0}}, // (159, 94)
+ { 0, { 0, 0, 0}}, // (160, 94)
+ { 0, { 0, 0, 0}}, // (161, 94)
+ { 0, { 0, 0, 0}}, // (162, 94)
+ { 0, { 0, 0, 0}}, // (163, 94)
+ { 0, { 0, 0, 0}}, // (164, 94)
+ { 0, { 0, 0, 0}}, // (165, 94)
+ { 0, { 0, 0, 0}}, // (166, 94)
+ { 0, { 0, 0, 0}}, // (167, 94)
+ { 0, { 0, 0, 0}}, // (168, 94)
+ { 0, { 0, 0, 0}}, // (169, 94)
+ { 0, { 0, 0, 0}}, // (170, 94)
+ { 0, { 0, 0, 0}}, // (171, 94)
+ { 0, { 0, 0, 0}}, // (172, 94)
+ { 0, { 0, 0, 0}}, // (173, 94)
+ { 0, { 0, 0, 0}}, // (174, 94)
+ { 0, { 0, 0, 0}}, // (175, 94)
+ { 0, { 0, 0, 0}}, // (176, 94)
+ { 15, { 0, 0, 0}}, // (177, 94)
+ {128, { 0, 0, 0}}, // (178, 94)
+ {128, { 0, 0, 0}}, // (179, 94)
+ {128, { 0, 0, 0}}, // ( 0, 95)
+ {128, { 0, 0, 0}}, // ( 1, 95)
+ { 25, { 0, 0, 0}}, // ( 2, 95)
+ { 0, { 0, 0, 0}}, // ( 3, 95)
+ { 0, { 0, 0, 0}}, // ( 4, 95)
+ { 0, { 0, 0, 0}}, // ( 5, 95)
+ { 0, { 0, 0, 0}}, // ( 6, 95)
+ { 0, { 0, 0, 0}}, // ( 7, 95)
+ { 0, { 0, 0, 0}}, // ( 8, 95)
+ { 0, { 0, 0, 0}}, // ( 9, 95)
+ { 0, { 0, 0, 0}}, // ( 10, 95)
+ { 0, { 0, 0, 0}}, // ( 11, 95)
+ { 0, { 0, 0, 0}}, // ( 12, 95)
+ { 0, { 0, 0, 0}}, // ( 13, 95)
+ { 0, { 0, 0, 0}}, // ( 14, 95)
+ { 0, { 0, 0, 0}}, // ( 15, 95)
+ { 0, { 0, 0, 0}}, // ( 16, 95)
+ { 0, { 0, 0, 0}}, // ( 17, 95)
+ { 0, { 0, 0, 0}}, // ( 18, 95)
+ { 0, { 0, 0, 0}}, // ( 19, 95)
+ { 0, { 0, 0, 0}}, // ( 20, 95)
+ { 0, { 0, 0, 0}}, // ( 21, 95)
+ { 0, { 0, 0, 0}}, // ( 22, 95)
+ { 0, { 0, 0, 0}}, // ( 23, 95)
+ { 0, { 0, 0, 0}}, // ( 24, 95)
+ { 0, { 0, 0, 0}}, // ( 25, 95)
+ { 0, { 0, 0, 0}}, // ( 26, 95)
+ { 0, { 0, 0, 0}}, // ( 27, 95)
+ { 0, { 0, 0, 0}}, // ( 28, 95)
+ { 0, { 0, 0, 0}}, // ( 29, 95)
+ { 0, { 0, 0, 0}}, // ( 30, 95)
+ { 0, { 0, 0, 0}}, // ( 31, 95)
+ { 0, { 0, 0, 0}}, // ( 32, 95)
+ { 0, { 0, 0, 0}}, // ( 33, 95)
+ { 0, { 0, 0, 0}}, // ( 34, 95)
+ { 0, { 0, 0, 0}}, // ( 35, 95)
+ { 0, { 0, 0, 0}}, // ( 36, 95)
+ { 0, { 0, 0, 0}}, // ( 37, 95)
+ { 0, { 0, 0, 0}}, // ( 38, 95)
+ { 0, { 0, 0, 0}}, // ( 39, 95)
+ { 0, { 0, 0, 0}}, // ( 40, 95)
+ { 0, { 0, 0, 0}}, // ( 41, 95)
+ { 0, { 0, 0, 0}}, // ( 42, 95)
+ { 0, { 0, 0, 0}}, // ( 43, 95)
+ { 0, { 0, 0, 0}}, // ( 44, 95)
+ { 0, { 0, 0, 0}}, // ( 45, 95)
+ { 0, { 0, 0, 0}}, // ( 46, 95)
+ { 0, { 0, 0, 0}}, // ( 47, 95)
+ { 0, { 0, 0, 0}}, // ( 48, 95)
+ { 0, { 0, 0, 0}}, // ( 49, 95)
+ { 0, { 0, 0, 0}}, // ( 50, 95)
+ { 0, { 0, 0, 0}}, // ( 51, 95)
+ { 0, { 0, 0, 0}}, // ( 52, 95)
+ { 0, { 0, 0, 0}}, // ( 53, 95)
+ { 0, { 0, 0, 0}}, // ( 54, 95)
+ { 0, { 0, 0, 0}}, // ( 55, 95)
+ { 0, { 0, 0, 0}}, // ( 56, 95)
+ { 0, { 0, 0, 0}}, // ( 57, 95)
+ { 0, { 0, 0, 0}}, // ( 58, 95)
+ { 0, { 0, 0, 0}}, // ( 59, 95)
+ { 0, { 0, 0, 0}}, // ( 60, 95)
+ { 0, { 0, 0, 0}}, // ( 61, 95)
+ { 0, { 0, 0, 0}}, // ( 62, 95)
+ { 0, { 0, 0, 0}}, // ( 63, 95)
+ { 0, { 0, 0, 0}}, // ( 64, 95)
+ { 0, { 0, 0, 0}}, // ( 65, 95)
+ { 0, { 0, 0, 0}}, // ( 66, 95)
+ { 0, { 0, 0, 0}}, // ( 67, 95)
+ { 0, { 0, 0, 0}}, // ( 68, 95)
+ { 0, { 0, 0, 0}}, // ( 69, 95)
+ { 0, { 0, 0, 0}}, // ( 70, 95)
+ { 0, { 0, 0, 0}}, // ( 71, 95)
+ { 0, { 0, 0, 0}}, // ( 72, 95)
+ { 0, { 0, 0, 0}}, // ( 73, 95)
+ { 0, { 0, 0, 0}}, // ( 74, 95)
+ { 0, { 0, 0, 0}}, // ( 75, 95)
+ { 0, { 0, 0, 0}}, // ( 76, 95)
+ { 0, { 0, 0, 0}}, // ( 77, 95)
+ { 0, { 0, 0, 0}}, // ( 78, 95)
+ { 0, { 0, 0, 0}}, // ( 79, 95)
+ { 0, { 0, 0, 0}}, // ( 80, 95)
+ { 0, { 0, 0, 0}}, // ( 81, 95)
+ { 0, { 0, 0, 0}}, // ( 82, 95)
+ { 0, { 0, 0, 0}}, // ( 83, 95)
+ { 0, { 0, 0, 0}}, // ( 84, 95)
+ { 0, { 0, 0, 0}}, // ( 85, 95)
+ { 0, { 0, 0, 0}}, // ( 86, 95)
+ { 0, { 0, 0, 0}}, // ( 87, 95)
+ { 0, { 0, 0, 0}}, // ( 88, 95)
+ { 0, { 0, 0, 0}}, // ( 89, 95)
+ { 0, { 0, 0, 0}}, // ( 90, 95)
+ { 0, { 0, 0, 0}}, // ( 91, 95)
+ { 0, { 0, 0, 0}}, // ( 92, 95)
+ { 0, { 0, 0, 0}}, // ( 93, 95)
+ { 0, { 0, 0, 0}}, // ( 94, 95)
+ { 0, { 0, 0, 0}}, // ( 95, 95)
+ { 0, { 0, 0, 0}}, // ( 96, 95)
+ { 0, { 0, 0, 0}}, // ( 97, 95)
+ { 0, { 0, 0, 0}}, // ( 98, 95)
+ { 0, { 0, 0, 0}}, // ( 99, 95)
+ { 0, { 0, 0, 0}}, // (100, 95)
+ { 0, { 0, 0, 0}}, // (101, 95)
+ { 0, { 0, 0, 0}}, // (102, 95)
+ { 0, { 0, 0, 0}}, // (103, 95)
+ { 0, { 0, 0, 0}}, // (104, 95)
+ { 0, { 0, 0, 0}}, // (105, 95)
+ { 0, { 0, 0, 0}}, // (106, 95)
+ { 0, { 0, 0, 0}}, // (107, 95)
+ { 0, { 0, 0, 0}}, // (108, 95)
+ { 0, { 0, 0, 0}}, // (109, 95)
+ { 0, { 0, 0, 0}}, // (110, 95)
+ { 0, { 0, 0, 0}}, // (111, 95)
+ { 0, { 0, 0, 0}}, // (112, 95)
+ { 0, { 0, 0, 0}}, // (113, 95)
+ { 0, { 0, 0, 0}}, // (114, 95)
+ { 0, { 0, 0, 0}}, // (115, 95)
+ { 0, { 0, 0, 0}}, // (116, 95)
+ { 0, { 0, 0, 0}}, // (117, 95)
+ { 0, { 0, 0, 0}}, // (118, 95)
+ { 0, { 0, 0, 0}}, // (119, 95)
+ { 0, { 0, 0, 0}}, // (120, 95)
+ { 0, { 0, 0, 0}}, // (121, 95)
+ { 0, { 0, 0, 0}}, // (122, 95)
+ { 0, { 0, 0, 0}}, // (123, 95)
+ { 0, { 0, 0, 0}}, // (124, 95)
+ { 0, { 0, 0, 0}}, // (125, 95)
+ { 0, { 0, 0, 0}}, // (126, 95)
+ { 0, { 0, 0, 0}}, // (127, 95)
+ { 0, { 0, 0, 0}}, // (128, 95)
+ { 0, { 0, 0, 0}}, // (129, 95)
+ { 0, { 0, 0, 0}}, // (130, 95)
+ { 0, { 0, 0, 0}}, // (131, 95)
+ { 0, { 0, 0, 0}}, // (132, 95)
+ { 0, { 0, 0, 0}}, // (133, 95)
+ { 0, { 0, 0, 0}}, // (134, 95)
+ { 0, { 0, 0, 0}}, // (135, 95)
+ { 0, { 0, 0, 0}}, // (136, 95)
+ { 0, { 0, 0, 0}}, // (137, 95)
+ { 0, { 0, 0, 0}}, // (138, 95)
+ { 0, { 0, 0, 0}}, // (139, 95)
+ { 0, { 0, 0, 0}}, // (140, 95)
+ { 0, { 0, 0, 0}}, // (141, 95)
+ { 0, { 0, 0, 0}}, // (142, 95)
+ { 0, { 0, 0, 0}}, // (143, 95)
+ { 0, { 0, 0, 0}}, // (144, 95)
+ { 0, { 0, 0, 0}}, // (145, 95)
+ { 0, { 0, 0, 0}}, // (146, 95)
+ { 0, { 0, 0, 0}}, // (147, 95)
+ { 0, { 0, 0, 0}}, // (148, 95)
+ { 0, { 0, 0, 0}}, // (149, 95)
+ { 0, { 0, 0, 0}}, // (150, 95)
+ { 0, { 0, 0, 0}}, // (151, 95)
+ { 0, { 0, 0, 0}}, // (152, 95)
+ { 0, { 0, 0, 0}}, // (153, 95)
+ { 0, { 0, 0, 0}}, // (154, 95)
+ { 0, { 0, 0, 0}}, // (155, 95)
+ { 0, { 0, 0, 0}}, // (156, 95)
+ { 0, { 0, 0, 0}}, // (157, 95)
+ { 0, { 0, 0, 0}}, // (158, 95)
+ { 0, { 0, 0, 0}}, // (159, 95)
+ { 0, { 0, 0, 0}}, // (160, 95)
+ { 0, { 0, 0, 0}}, // (161, 95)
+ { 0, { 0, 0, 0}}, // (162, 95)
+ { 0, { 0, 0, 0}}, // (163, 95)
+ { 0, { 0, 0, 0}}, // (164, 95)
+ { 0, { 0, 0, 0}}, // (165, 95)
+ { 0, { 0, 0, 0}}, // (166, 95)
+ { 0, { 0, 0, 0}}, // (167, 95)
+ { 0, { 0, 0, 0}}, // (168, 95)
+ { 0, { 0, 0, 0}}, // (169, 95)
+ { 0, { 0, 0, 0}}, // (170, 95)
+ { 0, { 0, 0, 0}}, // (171, 95)
+ { 0, { 0, 0, 0}}, // (172, 95)
+ { 0, { 0, 0, 0}}, // (173, 95)
+ { 0, { 0, 0, 0}}, // (174, 95)
+ { 0, { 0, 0, 0}}, // (175, 95)
+ { 0, { 0, 0, 0}}, // (176, 95)
+ { 25, { 0, 0, 0}}, // (177, 95)
+ {128, { 0, 0, 0}}, // (178, 95)
+ {128, { 0, 0, 0}}, // (179, 95)
+ {128, { 0, 0, 0}}, // ( 0, 96)
+ {128, { 0, 0, 0}}, // ( 1, 96)
+ { 34, { 0, 0, 0}}, // ( 2, 96)
+ { 0, { 0, 0, 0}}, // ( 3, 96)
+ { 0, { 0, 0, 0}}, // ( 4, 96)
+ { 0, { 0, 0, 0}}, // ( 5, 96)
+ { 0, { 0, 0, 0}}, // ( 6, 96)
+ { 0, { 0, 0, 0}}, // ( 7, 96)
+ { 0, { 0, 0, 0}}, // ( 8, 96)
+ { 0, { 0, 0, 0}}, // ( 9, 96)
+ { 0, { 0, 0, 0}}, // ( 10, 96)
+ { 0, { 0, 0, 0}}, // ( 11, 96)
+ { 0, { 0, 0, 0}}, // ( 12, 96)
+ { 0, { 0, 0, 0}}, // ( 13, 96)
+ { 0, { 0, 0, 0}}, // ( 14, 96)
+ { 0, { 0, 0, 0}}, // ( 15, 96)
+ { 0, { 0, 0, 0}}, // ( 16, 96)
+ { 0, { 0, 0, 0}}, // ( 17, 96)
+ { 0, { 0, 0, 0}}, // ( 18, 96)
+ { 0, { 0, 0, 0}}, // ( 19, 96)
+ { 0, { 0, 0, 0}}, // ( 20, 96)
+ { 0, { 0, 0, 0}}, // ( 21, 96)
+ { 0, { 0, 0, 0}}, // ( 22, 96)
+ { 0, { 0, 0, 0}}, // ( 23, 96)
+ { 0, { 0, 0, 0}}, // ( 24, 96)
+ { 0, { 0, 0, 0}}, // ( 25, 96)
+ { 0, { 0, 0, 0}}, // ( 26, 96)
+ { 0, { 0, 0, 0}}, // ( 27, 96)
+ { 0, { 0, 0, 0}}, // ( 28, 96)
+ { 0, { 0, 0, 0}}, // ( 29, 96)
+ { 0, { 0, 0, 0}}, // ( 30, 96)
+ { 0, { 0, 0, 0}}, // ( 31, 96)
+ { 0, { 0, 0, 0}}, // ( 32, 96)
+ { 0, { 0, 0, 0}}, // ( 33, 96)
+ { 0, { 0, 0, 0}}, // ( 34, 96)
+ { 0, { 0, 0, 0}}, // ( 35, 96)
+ { 0, { 0, 0, 0}}, // ( 36, 96)
+ { 0, { 0, 0, 0}}, // ( 37, 96)
+ { 0, { 0, 0, 0}}, // ( 38, 96)
+ { 0, { 0, 0, 0}}, // ( 39, 96)
+ { 0, { 0, 0, 0}}, // ( 40, 96)
+ { 0, { 0, 0, 0}}, // ( 41, 96)
+ { 0, { 0, 0, 0}}, // ( 42, 96)
+ { 0, { 0, 0, 0}}, // ( 43, 96)
+ { 0, { 0, 0, 0}}, // ( 44, 96)
+ { 0, { 0, 0, 0}}, // ( 45, 96)
+ { 0, { 0, 0, 0}}, // ( 46, 96)
+ { 0, { 0, 0, 0}}, // ( 47, 96)
+ { 0, { 0, 0, 0}}, // ( 48, 96)
+ { 0, { 0, 0, 0}}, // ( 49, 96)
+ { 0, { 0, 0, 0}}, // ( 50, 96)
+ { 0, { 0, 0, 0}}, // ( 51, 96)
+ { 0, { 0, 0, 0}}, // ( 52, 96)
+ { 0, { 0, 0, 0}}, // ( 53, 96)
+ { 0, { 0, 0, 0}}, // ( 54, 96)
+ { 0, { 0, 0, 0}}, // ( 55, 96)
+ { 0, { 0, 0, 0}}, // ( 56, 96)
+ { 0, { 0, 0, 0}}, // ( 57, 96)
+ { 0, { 0, 0, 0}}, // ( 58, 96)
+ { 0, { 0, 0, 0}}, // ( 59, 96)
+ { 0, { 0, 0, 0}}, // ( 60, 96)
+ { 0, { 0, 0, 0}}, // ( 61, 96)
+ { 0, { 0, 0, 0}}, // ( 62, 96)
+ { 0, { 0, 0, 0}}, // ( 63, 96)
+ { 0, { 0, 0, 0}}, // ( 64, 96)
+ { 0, { 0, 0, 0}}, // ( 65, 96)
+ { 0, { 0, 0, 0}}, // ( 66, 96)
+ { 0, { 0, 0, 0}}, // ( 67, 96)
+ { 0, { 0, 0, 0}}, // ( 68, 96)
+ { 0, { 0, 0, 0}}, // ( 69, 96)
+ { 0, { 0, 0, 0}}, // ( 70, 96)
+ { 0, { 0, 0, 0}}, // ( 71, 96)
+ { 0, { 0, 0, 0}}, // ( 72, 96)
+ { 0, { 0, 0, 0}}, // ( 73, 96)
+ { 0, { 0, 0, 0}}, // ( 74, 96)
+ { 0, { 0, 0, 0}}, // ( 75, 96)
+ { 0, { 0, 0, 0}}, // ( 76, 96)
+ { 0, { 0, 0, 0}}, // ( 77, 96)
+ { 0, { 0, 0, 0}}, // ( 78, 96)
+ { 0, { 0, 0, 0}}, // ( 79, 96)
+ { 0, { 0, 0, 0}}, // ( 80, 96)
+ { 0, { 0, 0, 0}}, // ( 81, 96)
+ { 0, { 0, 0, 0}}, // ( 82, 96)
+ { 0, { 0, 0, 0}}, // ( 83, 96)
+ { 0, { 0, 0, 0}}, // ( 84, 96)
+ { 0, { 0, 0, 0}}, // ( 85, 96)
+ { 0, { 0, 0, 0}}, // ( 86, 96)
+ { 0, { 0, 0, 0}}, // ( 87, 96)
+ { 0, { 0, 0, 0}}, // ( 88, 96)
+ { 0, { 0, 0, 0}}, // ( 89, 96)
+ { 0, { 0, 0, 0}}, // ( 90, 96)
+ { 0, { 0, 0, 0}}, // ( 91, 96)
+ { 0, { 0, 0, 0}}, // ( 92, 96)
+ { 0, { 0, 0, 0}}, // ( 93, 96)
+ { 0, { 0, 0, 0}}, // ( 94, 96)
+ { 0, { 0, 0, 0}}, // ( 95, 96)
+ { 0, { 0, 0, 0}}, // ( 96, 96)
+ { 0, { 0, 0, 0}}, // ( 97, 96)
+ { 0, { 0, 0, 0}}, // ( 98, 96)
+ { 0, { 0, 0, 0}}, // ( 99, 96)
+ { 0, { 0, 0, 0}}, // (100, 96)
+ { 0, { 0, 0, 0}}, // (101, 96)
+ { 0, { 0, 0, 0}}, // (102, 96)
+ { 0, { 0, 0, 0}}, // (103, 96)
+ { 0, { 0, 0, 0}}, // (104, 96)
+ { 0, { 0, 0, 0}}, // (105, 96)
+ { 0, { 0, 0, 0}}, // (106, 96)
+ { 0, { 0, 0, 0}}, // (107, 96)
+ { 0, { 0, 0, 0}}, // (108, 96)
+ { 0, { 0, 0, 0}}, // (109, 96)
+ { 0, { 0, 0, 0}}, // (110, 96)
+ { 0, { 0, 0, 0}}, // (111, 96)
+ { 0, { 0, 0, 0}}, // (112, 96)
+ { 0, { 0, 0, 0}}, // (113, 96)
+ { 0, { 0, 0, 0}}, // (114, 96)
+ { 0, { 0, 0, 0}}, // (115, 96)
+ { 0, { 0, 0, 0}}, // (116, 96)
+ { 0, { 0, 0, 0}}, // (117, 96)
+ { 0, { 0, 0, 0}}, // (118, 96)
+ { 0, { 0, 0, 0}}, // (119, 96)
+ { 0, { 0, 0, 0}}, // (120, 96)
+ { 0, { 0, 0, 0}}, // (121, 96)
+ { 0, { 0, 0, 0}}, // (122, 96)
+ { 0, { 0, 0, 0}}, // (123, 96)
+ { 0, { 0, 0, 0}}, // (124, 96)
+ { 0, { 0, 0, 0}}, // (125, 96)
+ { 0, { 0, 0, 0}}, // (126, 96)
+ { 0, { 0, 0, 0}}, // (127, 96)
+ { 0, { 0, 0, 0}}, // (128, 96)
+ { 0, { 0, 0, 0}}, // (129, 96)
+ { 0, { 0, 0, 0}}, // (130, 96)
+ { 0, { 0, 0, 0}}, // (131, 96)
+ { 0, { 0, 0, 0}}, // (132, 96)
+ { 0, { 0, 0, 0}}, // (133, 96)
+ { 0, { 0, 0, 0}}, // (134, 96)
+ { 0, { 0, 0, 0}}, // (135, 96)
+ { 0, { 0, 0, 0}}, // (136, 96)
+ { 0, { 0, 0, 0}}, // (137, 96)
+ { 0, { 0, 0, 0}}, // (138, 96)
+ { 0, { 0, 0, 0}}, // (139, 96)
+ { 0, { 0, 0, 0}}, // (140, 96)
+ { 0, { 0, 0, 0}}, // (141, 96)
+ { 0, { 0, 0, 0}}, // (142, 96)
+ { 0, { 0, 0, 0}}, // (143, 96)
+ { 0, { 0, 0, 0}}, // (144, 96)
+ { 0, { 0, 0, 0}}, // (145, 96)
+ { 0, { 0, 0, 0}}, // (146, 96)
+ { 0, { 0, 0, 0}}, // (147, 96)
+ { 0, { 0, 0, 0}}, // (148, 96)
+ { 0, { 0, 0, 0}}, // (149, 96)
+ { 0, { 0, 0, 0}}, // (150, 96)
+ { 0, { 0, 0, 0}}, // (151, 96)
+ { 0, { 0, 0, 0}}, // (152, 96)
+ { 0, { 0, 0, 0}}, // (153, 96)
+ { 0, { 0, 0, 0}}, // (154, 96)
+ { 0, { 0, 0, 0}}, // (155, 96)
+ { 0, { 0, 0, 0}}, // (156, 96)
+ { 0, { 0, 0, 0}}, // (157, 96)
+ { 0, { 0, 0, 0}}, // (158, 96)
+ { 0, { 0, 0, 0}}, // (159, 96)
+ { 0, { 0, 0, 0}}, // (160, 96)
+ { 0, { 0, 0, 0}}, // (161, 96)
+ { 0, { 0, 0, 0}}, // (162, 96)
+ { 0, { 0, 0, 0}}, // (163, 96)
+ { 0, { 0, 0, 0}}, // (164, 96)
+ { 0, { 0, 0, 0}}, // (165, 96)
+ { 0, { 0, 0, 0}}, // (166, 96)
+ { 0, { 0, 0, 0}}, // (167, 96)
+ { 0, { 0, 0, 0}}, // (168, 96)
+ { 0, { 0, 0, 0}}, // (169, 96)
+ { 0, { 0, 0, 0}}, // (170, 96)
+ { 0, { 0, 0, 0}}, // (171, 96)
+ { 0, { 0, 0, 0}}, // (172, 96)
+ { 0, { 0, 0, 0}}, // (173, 96)
+ { 0, { 0, 0, 0}}, // (174, 96)
+ { 0, { 0, 0, 0}}, // (175, 96)
+ { 0, { 0, 0, 0}}, // (176, 96)
+ { 34, { 0, 0, 0}}, // (177, 96)
+ {128, { 0, 0, 0}}, // (178, 96)
+ {128, { 0, 0, 0}}, // (179, 96)
+ {128, { 0, 0, 0}}, // ( 0, 97)
+ {128, { 0, 0, 0}}, // ( 1, 97)
+ { 43, { 0, 0, 0}}, // ( 2, 97)
+ { 0, { 0, 0, 0}}, // ( 3, 97)
+ { 0, { 0, 0, 0}}, // ( 4, 97)
+ { 0, { 0, 0, 0}}, // ( 5, 97)
+ { 0, { 0, 0, 0}}, // ( 6, 97)
+ { 0, { 0, 0, 0}}, // ( 7, 97)
+ { 0, { 0, 0, 0}}, // ( 8, 97)
+ { 0, { 0, 0, 0}}, // ( 9, 97)
+ { 0, { 0, 0, 0}}, // ( 10, 97)
+ { 0, { 0, 0, 0}}, // ( 11, 97)
+ { 0, { 0, 0, 0}}, // ( 12, 97)
+ { 0, { 0, 0, 0}}, // ( 13, 97)
+ { 0, { 0, 0, 0}}, // ( 14, 97)
+ { 0, { 0, 0, 0}}, // ( 15, 97)
+ { 0, { 0, 0, 0}}, // ( 16, 97)
+ { 0, { 0, 0, 0}}, // ( 17, 97)
+ { 0, { 0, 0, 0}}, // ( 18, 97)
+ { 0, { 0, 0, 0}}, // ( 19, 97)
+ { 0, { 0, 0, 0}}, // ( 20, 97)
+ { 0, { 0, 0, 0}}, // ( 21, 97)
+ { 0, { 0, 0, 0}}, // ( 22, 97)
+ { 0, { 0, 0, 0}}, // ( 23, 97)
+ { 0, { 0, 0, 0}}, // ( 24, 97)
+ { 0, { 0, 0, 0}}, // ( 25, 97)
+ { 0, { 0, 0, 0}}, // ( 26, 97)
+ { 0, { 0, 0, 0}}, // ( 27, 97)
+ { 0, { 0, 0, 0}}, // ( 28, 97)
+ { 0, { 0, 0, 0}}, // ( 29, 97)
+ { 0, { 0, 0, 0}}, // ( 30, 97)
+ { 0, { 0, 0, 0}}, // ( 31, 97)
+ { 0, { 0, 0, 0}}, // ( 32, 97)
+ { 0, { 0, 0, 0}}, // ( 33, 97)
+ { 0, { 0, 0, 0}}, // ( 34, 97)
+ { 0, { 0, 0, 0}}, // ( 35, 97)
+ { 0, { 0, 0, 0}}, // ( 36, 97)
+ { 0, { 0, 0, 0}}, // ( 37, 97)
+ { 0, { 0, 0, 0}}, // ( 38, 97)
+ { 0, { 0, 0, 0}}, // ( 39, 97)
+ { 0, { 0, 0, 0}}, // ( 40, 97)
+ { 0, { 0, 0, 0}}, // ( 41, 97)
+ { 0, { 0, 0, 0}}, // ( 42, 97)
+ { 0, { 0, 0, 0}}, // ( 43, 97)
+ { 0, { 0, 0, 0}}, // ( 44, 97)
+ { 0, { 0, 0, 0}}, // ( 45, 97)
+ { 0, { 0, 0, 0}}, // ( 46, 97)
+ { 0, { 0, 0, 0}}, // ( 47, 97)
+ { 0, { 0, 0, 0}}, // ( 48, 97)
+ { 0, { 0, 0, 0}}, // ( 49, 97)
+ { 0, { 0, 0, 0}}, // ( 50, 97)
+ { 0, { 0, 0, 0}}, // ( 51, 97)
+ { 0, { 0, 0, 0}}, // ( 52, 97)
+ { 0, { 0, 0, 0}}, // ( 53, 97)
+ { 0, { 0, 0, 0}}, // ( 54, 97)
+ { 0, { 0, 0, 0}}, // ( 55, 97)
+ { 0, { 0, 0, 0}}, // ( 56, 97)
+ { 0, { 0, 0, 0}}, // ( 57, 97)
+ { 0, { 0, 0, 0}}, // ( 58, 97)
+ { 0, { 0, 0, 0}}, // ( 59, 97)
+ { 0, { 0, 0, 0}}, // ( 60, 97)
+ { 0, { 0, 0, 0}}, // ( 61, 97)
+ { 0, { 0, 0, 0}}, // ( 62, 97)
+ { 0, { 0, 0, 0}}, // ( 63, 97)
+ { 0, { 0, 0, 0}}, // ( 64, 97)
+ { 0, { 0, 0, 0}}, // ( 65, 97)
+ { 0, { 0, 0, 0}}, // ( 66, 97)
+ { 0, { 0, 0, 0}}, // ( 67, 97)
+ { 0, { 0, 0, 0}}, // ( 68, 97)
+ { 0, { 0, 0, 0}}, // ( 69, 97)
+ { 0, { 0, 0, 0}}, // ( 70, 97)
+ { 0, { 0, 0, 0}}, // ( 71, 97)
+ { 0, { 0, 0, 0}}, // ( 72, 97)
+ { 0, { 0, 0, 0}}, // ( 73, 97)
+ { 0, { 0, 0, 0}}, // ( 74, 97)
+ { 0, { 0, 0, 0}}, // ( 75, 97)
+ { 0, { 0, 0, 0}}, // ( 76, 97)
+ { 0, { 0, 0, 0}}, // ( 77, 97)
+ { 0, { 0, 0, 0}}, // ( 78, 97)
+ { 0, { 0, 0, 0}}, // ( 79, 97)
+ { 0, { 0, 0, 0}}, // ( 80, 97)
+ { 0, { 0, 0, 0}}, // ( 81, 97)
+ { 0, { 0, 0, 0}}, // ( 82, 97)
+ { 0, { 0, 0, 0}}, // ( 83, 97)
+ { 0, { 0, 0, 0}}, // ( 84, 97)
+ { 0, { 0, 0, 0}}, // ( 85, 97)
+ { 0, { 0, 0, 0}}, // ( 86, 97)
+ { 0, { 0, 0, 0}}, // ( 87, 97)
+ { 0, { 0, 0, 0}}, // ( 88, 97)
+ { 0, { 0, 0, 0}}, // ( 89, 97)
+ { 0, { 0, 0, 0}}, // ( 90, 97)
+ { 0, { 0, 0, 0}}, // ( 91, 97)
+ { 0, { 0, 0, 0}}, // ( 92, 97)
+ { 0, { 0, 0, 0}}, // ( 93, 97)
+ { 0, { 0, 0, 0}}, // ( 94, 97)
+ { 0, { 0, 0, 0}}, // ( 95, 97)
+ { 0, { 0, 0, 0}}, // ( 96, 97)
+ { 0, { 0, 0, 0}}, // ( 97, 97)
+ { 0, { 0, 0, 0}}, // ( 98, 97)
+ { 0, { 0, 0, 0}}, // ( 99, 97)
+ { 0, { 0, 0, 0}}, // (100, 97)
+ { 0, { 0, 0, 0}}, // (101, 97)
+ { 0, { 0, 0, 0}}, // (102, 97)
+ { 0, { 0, 0, 0}}, // (103, 97)
+ { 0, { 0, 0, 0}}, // (104, 97)
+ { 0, { 0, 0, 0}}, // (105, 97)
+ { 0, { 0, 0, 0}}, // (106, 97)
+ { 0, { 0, 0, 0}}, // (107, 97)
+ { 0, { 0, 0, 0}}, // (108, 97)
+ { 0, { 0, 0, 0}}, // (109, 97)
+ { 0, { 0, 0, 0}}, // (110, 97)
+ { 0, { 0, 0, 0}}, // (111, 97)
+ { 0, { 0, 0, 0}}, // (112, 97)
+ { 0, { 0, 0, 0}}, // (113, 97)
+ { 0, { 0, 0, 0}}, // (114, 97)
+ { 0, { 0, 0, 0}}, // (115, 97)
+ { 0, { 0, 0, 0}}, // (116, 97)
+ { 0, { 0, 0, 0}}, // (117, 97)
+ { 0, { 0, 0, 0}}, // (118, 97)
+ { 0, { 0, 0, 0}}, // (119, 97)
+ { 0, { 0, 0, 0}}, // (120, 97)
+ { 0, { 0, 0, 0}}, // (121, 97)
+ { 0, { 0, 0, 0}}, // (122, 97)
+ { 0, { 0, 0, 0}}, // (123, 97)
+ { 0, { 0, 0, 0}}, // (124, 97)
+ { 0, { 0, 0, 0}}, // (125, 97)
+ { 0, { 0, 0, 0}}, // (126, 97)
+ { 0, { 0, 0, 0}}, // (127, 97)
+ { 0, { 0, 0, 0}}, // (128, 97)
+ { 0, { 0, 0, 0}}, // (129, 97)
+ { 0, { 0, 0, 0}}, // (130, 97)
+ { 0, { 0, 0, 0}}, // (131, 97)
+ { 0, { 0, 0, 0}}, // (132, 97)
+ { 0, { 0, 0, 0}}, // (133, 97)
+ { 0, { 0, 0, 0}}, // (134, 97)
+ { 0, { 0, 0, 0}}, // (135, 97)
+ { 0, { 0, 0, 0}}, // (136, 97)
+ { 0, { 0, 0, 0}}, // (137, 97)
+ { 0, { 0, 0, 0}}, // (138, 97)
+ { 0, { 0, 0, 0}}, // (139, 97)
+ { 0, { 0, 0, 0}}, // (140, 97)
+ { 0, { 0, 0, 0}}, // (141, 97)
+ { 0, { 0, 0, 0}}, // (142, 97)
+ { 0, { 0, 0, 0}}, // (143, 97)
+ { 0, { 0, 0, 0}}, // (144, 97)
+ { 0, { 0, 0, 0}}, // (145, 97)
+ { 0, { 0, 0, 0}}, // (146, 97)
+ { 0, { 0, 0, 0}}, // (147, 97)
+ { 0, { 0, 0, 0}}, // (148, 97)
+ { 0, { 0, 0, 0}}, // (149, 97)
+ { 0, { 0, 0, 0}}, // (150, 97)
+ { 0, { 0, 0, 0}}, // (151, 97)
+ { 0, { 0, 0, 0}}, // (152, 97)
+ { 0, { 0, 0, 0}}, // (153, 97)
+ { 0, { 0, 0, 0}}, // (154, 97)
+ { 0, { 0, 0, 0}}, // (155, 97)
+ { 0, { 0, 0, 0}}, // (156, 97)
+ { 0, { 0, 0, 0}}, // (157, 97)
+ { 0, { 0, 0, 0}}, // (158, 97)
+ { 0, { 0, 0, 0}}, // (159, 97)
+ { 0, { 0, 0, 0}}, // (160, 97)
+ { 0, { 0, 0, 0}}, // (161, 97)
+ { 0, { 0, 0, 0}}, // (162, 97)
+ { 0, { 0, 0, 0}}, // (163, 97)
+ { 0, { 0, 0, 0}}, // (164, 97)
+ { 0, { 0, 0, 0}}, // (165, 97)
+ { 0, { 0, 0, 0}}, // (166, 97)
+ { 0, { 0, 0, 0}}, // (167, 97)
+ { 0, { 0, 0, 0}}, // (168, 97)
+ { 0, { 0, 0, 0}}, // (169, 97)
+ { 0, { 0, 0, 0}}, // (170, 97)
+ { 0, { 0, 0, 0}}, // (171, 97)
+ { 0, { 0, 0, 0}}, // (172, 97)
+ { 0, { 0, 0, 0}}, // (173, 97)
+ { 0, { 0, 0, 0}}, // (174, 97)
+ { 0, { 0, 0, 0}}, // (175, 97)
+ { 0, { 0, 0, 0}}, // (176, 97)
+ { 43, { 0, 0, 0}}, // (177, 97)
+ {128, { 0, 0, 0}}, // (178, 97)
+ {128, { 0, 0, 0}}, // (179, 97)
+ {128, { 0, 0, 0}}, // ( 0, 98)
+ {128, { 0, 0, 0}}, // ( 1, 98)
+ { 54, { 0, 0, 0}}, // ( 2, 98)
+ { 0, { 0, 0, 0}}, // ( 3, 98)
+ { 0, { 0, 0, 0}}, // ( 4, 98)
+ { 0, { 0, 0, 0}}, // ( 5, 98)
+ { 0, { 0, 0, 0}}, // ( 6, 98)
+ { 0, { 0, 0, 0}}, // ( 7, 98)
+ { 0, { 0, 0, 0}}, // ( 8, 98)
+ { 0, { 0, 0, 0}}, // ( 9, 98)
+ { 0, { 0, 0, 0}}, // ( 10, 98)
+ { 0, { 0, 0, 0}}, // ( 11, 98)
+ { 0, { 0, 0, 0}}, // ( 12, 98)
+ { 0, { 0, 0, 0}}, // ( 13, 98)
+ { 0, { 0, 0, 0}}, // ( 14, 98)
+ { 0, { 0, 0, 0}}, // ( 15, 98)
+ { 0, { 0, 0, 0}}, // ( 16, 98)
+ { 0, { 0, 0, 0}}, // ( 17, 98)
+ { 0, { 0, 0, 0}}, // ( 18, 98)
+ { 0, { 0, 0, 0}}, // ( 19, 98)
+ { 0, { 0, 0, 0}}, // ( 20, 98)
+ { 0, { 0, 0, 0}}, // ( 21, 98)
+ { 0, { 0, 0, 0}}, // ( 22, 98)
+ { 0, { 0, 0, 0}}, // ( 23, 98)
+ { 0, { 0, 0, 0}}, // ( 24, 98)
+ { 0, { 0, 0, 0}}, // ( 25, 98)
+ { 0, { 0, 0, 0}}, // ( 26, 98)
+ { 0, { 0, 0, 0}}, // ( 27, 98)
+ { 0, { 0, 0, 0}}, // ( 28, 98)
+ { 0, { 0, 0, 0}}, // ( 29, 98)
+ { 0, { 0, 0, 0}}, // ( 30, 98)
+ { 0, { 0, 0, 0}}, // ( 31, 98)
+ { 0, { 0, 0, 0}}, // ( 32, 98)
+ { 0, { 0, 0, 0}}, // ( 33, 98)
+ { 0, { 0, 0, 0}}, // ( 34, 98)
+ { 0, { 0, 0, 0}}, // ( 35, 98)
+ { 0, { 0, 0, 0}}, // ( 36, 98)
+ { 0, { 0, 0, 0}}, // ( 37, 98)
+ { 0, { 0, 0, 0}}, // ( 38, 98)
+ { 0, { 0, 0, 0}}, // ( 39, 98)
+ { 0, { 0, 0, 0}}, // ( 40, 98)
+ { 0, { 0, 0, 0}}, // ( 41, 98)
+ { 0, { 0, 0, 0}}, // ( 42, 98)
+ { 0, { 0, 0, 0}}, // ( 43, 98)
+ { 0, { 0, 0, 0}}, // ( 44, 98)
+ { 0, { 0, 0, 0}}, // ( 45, 98)
+ { 0, { 0, 0, 0}}, // ( 46, 98)
+ { 0, { 0, 0, 0}}, // ( 47, 98)
+ { 0, { 0, 0, 0}}, // ( 48, 98)
+ { 0, { 0, 0, 0}}, // ( 49, 98)
+ { 0, { 0, 0, 0}}, // ( 50, 98)
+ { 0, { 0, 0, 0}}, // ( 51, 98)
+ { 0, { 0, 0, 0}}, // ( 52, 98)
+ { 0, { 0, 0, 0}}, // ( 53, 98)
+ { 0, { 0, 0, 0}}, // ( 54, 98)
+ { 0, { 0, 0, 0}}, // ( 55, 98)
+ { 0, { 0, 0, 0}}, // ( 56, 98)
+ { 0, { 0, 0, 0}}, // ( 57, 98)
+ { 0, { 0, 0, 0}}, // ( 58, 98)
+ { 0, { 0, 0, 0}}, // ( 59, 98)
+ { 0, { 0, 0, 0}}, // ( 60, 98)
+ { 0, { 0, 0, 0}}, // ( 61, 98)
+ { 0, { 0, 0, 0}}, // ( 62, 98)
+ { 0, { 0, 0, 0}}, // ( 63, 98)
+ { 0, { 0, 0, 0}}, // ( 64, 98)
+ { 0, { 0, 0, 0}}, // ( 65, 98)
+ { 0, { 0, 0, 0}}, // ( 66, 98)
+ { 0, { 0, 0, 0}}, // ( 67, 98)
+ { 0, { 0, 0, 0}}, // ( 68, 98)
+ { 0, { 0, 0, 0}}, // ( 69, 98)
+ { 0, { 0, 0, 0}}, // ( 70, 98)
+ { 0, { 0, 0, 0}}, // ( 71, 98)
+ { 0, { 0, 0, 0}}, // ( 72, 98)
+ { 0, { 0, 0, 0}}, // ( 73, 98)
+ { 0, { 0, 0, 0}}, // ( 74, 98)
+ { 0, { 0, 0, 0}}, // ( 75, 98)
+ { 0, { 0, 0, 0}}, // ( 76, 98)
+ { 0, { 0, 0, 0}}, // ( 77, 98)
+ { 0, { 0, 0, 0}}, // ( 78, 98)
+ { 0, { 0, 0, 0}}, // ( 79, 98)
+ { 0, { 0, 0, 0}}, // ( 80, 98)
+ { 0, { 0, 0, 0}}, // ( 81, 98)
+ { 0, { 0, 0, 0}}, // ( 82, 98)
+ { 0, { 0, 0, 0}}, // ( 83, 98)
+ { 0, { 0, 0, 0}}, // ( 84, 98)
+ { 0, { 0, 0, 0}}, // ( 85, 98)
+ { 0, { 0, 0, 0}}, // ( 86, 98)
+ { 0, { 0, 0, 0}}, // ( 87, 98)
+ { 0, { 0, 0, 0}}, // ( 88, 98)
+ { 0, { 0, 0, 0}}, // ( 89, 98)
+ { 0, { 0, 0, 0}}, // ( 90, 98)
+ { 0, { 0, 0, 0}}, // ( 91, 98)
+ { 0, { 0, 0, 0}}, // ( 92, 98)
+ { 0, { 0, 0, 0}}, // ( 93, 98)
+ { 0, { 0, 0, 0}}, // ( 94, 98)
+ { 0, { 0, 0, 0}}, // ( 95, 98)
+ { 0, { 0, 0, 0}}, // ( 96, 98)
+ { 0, { 0, 0, 0}}, // ( 97, 98)
+ { 0, { 0, 0, 0}}, // ( 98, 98)
+ { 0, { 0, 0, 0}}, // ( 99, 98)
+ { 0, { 0, 0, 0}}, // (100, 98)
+ { 0, { 0, 0, 0}}, // (101, 98)
+ { 0, { 0, 0, 0}}, // (102, 98)
+ { 0, { 0, 0, 0}}, // (103, 98)
+ { 0, { 0, 0, 0}}, // (104, 98)
+ { 0, { 0, 0, 0}}, // (105, 98)
+ { 0, { 0, 0, 0}}, // (106, 98)
+ { 0, { 0, 0, 0}}, // (107, 98)
+ { 0, { 0, 0, 0}}, // (108, 98)
+ { 0, { 0, 0, 0}}, // (109, 98)
+ { 0, { 0, 0, 0}}, // (110, 98)
+ { 0, { 0, 0, 0}}, // (111, 98)
+ { 0, { 0, 0, 0}}, // (112, 98)
+ { 0, { 0, 0, 0}}, // (113, 98)
+ { 0, { 0, 0, 0}}, // (114, 98)
+ { 0, { 0, 0, 0}}, // (115, 98)
+ { 0, { 0, 0, 0}}, // (116, 98)
+ { 0, { 0, 0, 0}}, // (117, 98)
+ { 0, { 0, 0, 0}}, // (118, 98)
+ { 0, { 0, 0, 0}}, // (119, 98)
+ { 0, { 0, 0, 0}}, // (120, 98)
+ { 0, { 0, 0, 0}}, // (121, 98)
+ { 0, { 0, 0, 0}}, // (122, 98)
+ { 0, { 0, 0, 0}}, // (123, 98)
+ { 0, { 0, 0, 0}}, // (124, 98)
+ { 0, { 0, 0, 0}}, // (125, 98)
+ { 0, { 0, 0, 0}}, // (126, 98)
+ { 0, { 0, 0, 0}}, // (127, 98)
+ { 0, { 0, 0, 0}}, // (128, 98)
+ { 0, { 0, 0, 0}}, // (129, 98)
+ { 0, { 0, 0, 0}}, // (130, 98)
+ { 0, { 0, 0, 0}}, // (131, 98)
+ { 0, { 0, 0, 0}}, // (132, 98)
+ { 0, { 0, 0, 0}}, // (133, 98)
+ { 0, { 0, 0, 0}}, // (134, 98)
+ { 0, { 0, 0, 0}}, // (135, 98)
+ { 0, { 0, 0, 0}}, // (136, 98)
+ { 0, { 0, 0, 0}}, // (137, 98)
+ { 0, { 0, 0, 0}}, // (138, 98)
+ { 0, { 0, 0, 0}}, // (139, 98)
+ { 0, { 0, 0, 0}}, // (140, 98)
+ { 0, { 0, 0, 0}}, // (141, 98)
+ { 0, { 0, 0, 0}}, // (142, 98)
+ { 0, { 0, 0, 0}}, // (143, 98)
+ { 0, { 0, 0, 0}}, // (144, 98)
+ { 0, { 0, 0, 0}}, // (145, 98)
+ { 0, { 0, 0, 0}}, // (146, 98)
+ { 0, { 0, 0, 0}}, // (147, 98)
+ { 0, { 0, 0, 0}}, // (148, 98)
+ { 0, { 0, 0, 0}}, // (149, 98)
+ { 0, { 0, 0, 0}}, // (150, 98)
+ { 0, { 0, 0, 0}}, // (151, 98)
+ { 0, { 0, 0, 0}}, // (152, 98)
+ { 0, { 0, 0, 0}}, // (153, 98)
+ { 0, { 0, 0, 0}}, // (154, 98)
+ { 0, { 0, 0, 0}}, // (155, 98)
+ { 0, { 0, 0, 0}}, // (156, 98)
+ { 0, { 0, 0, 0}}, // (157, 98)
+ { 0, { 0, 0, 0}}, // (158, 98)
+ { 0, { 0, 0, 0}}, // (159, 98)
+ { 0, { 0, 0, 0}}, // (160, 98)
+ { 0, { 0, 0, 0}}, // (161, 98)
+ { 0, { 0, 0, 0}}, // (162, 98)
+ { 0, { 0, 0, 0}}, // (163, 98)
+ { 0, { 0, 0, 0}}, // (164, 98)
+ { 0, { 0, 0, 0}}, // (165, 98)
+ { 0, { 0, 0, 0}}, // (166, 98)
+ { 0, { 0, 0, 0}}, // (167, 98)
+ { 0, { 0, 0, 0}}, // (168, 98)
+ { 0, { 0, 0, 0}}, // (169, 98)
+ { 0, { 0, 0, 0}}, // (170, 98)
+ { 0, { 0, 0, 0}}, // (171, 98)
+ { 0, { 0, 0, 0}}, // (172, 98)
+ { 0, { 0, 0, 0}}, // (173, 98)
+ { 0, { 0, 0, 0}}, // (174, 98)
+ { 0, { 0, 0, 0}}, // (175, 98)
+ { 0, { 0, 0, 0}}, // (176, 98)
+ { 54, { 0, 0, 0}}, // (177, 98)
+ {128, { 0, 0, 0}}, // (178, 98)
+ {128, { 0, 0, 0}}, // (179, 98)
+ {128, { 0, 0, 0}}, // ( 0, 99)
+ {128, { 0, 0, 0}}, // ( 1, 99)
+ { 66, { 0, 0, 0}}, // ( 2, 99)
+ { 0, { 0, 0, 0}}, // ( 3, 99)
+ { 0, { 0, 0, 0}}, // ( 4, 99)
+ { 0, { 0, 0, 0}}, // ( 5, 99)
+ { 0, { 0, 0, 0}}, // ( 6, 99)
+ { 0, { 0, 0, 0}}, // ( 7, 99)
+ { 0, { 0, 0, 0}}, // ( 8, 99)
+ { 0, { 0, 0, 0}}, // ( 9, 99)
+ { 0, { 0, 0, 0}}, // ( 10, 99)
+ { 0, { 0, 0, 0}}, // ( 11, 99)
+ { 0, { 0, 0, 0}}, // ( 12, 99)
+ { 0, { 0, 0, 0}}, // ( 13, 99)
+ { 0, { 0, 0, 0}}, // ( 14, 99)
+ { 0, { 0, 0, 0}}, // ( 15, 99)
+ { 0, { 0, 0, 0}}, // ( 16, 99)
+ { 0, { 0, 0, 0}}, // ( 17, 99)
+ { 0, { 0, 0, 0}}, // ( 18, 99)
+ { 0, { 0, 0, 0}}, // ( 19, 99)
+ { 0, { 0, 0, 0}}, // ( 20, 99)
+ { 0, { 0, 0, 0}}, // ( 21, 99)
+ { 0, { 0, 0, 0}}, // ( 22, 99)
+ { 0, { 0, 0, 0}}, // ( 23, 99)
+ { 0, { 0, 0, 0}}, // ( 24, 99)
+ { 0, { 0, 0, 0}}, // ( 25, 99)
+ { 0, { 0, 0, 0}}, // ( 26, 99)
+ { 0, { 0, 0, 0}}, // ( 27, 99)
+ { 0, { 0, 0, 0}}, // ( 28, 99)
+ { 0, { 0, 0, 0}}, // ( 29, 99)
+ { 0, { 0, 0, 0}}, // ( 30, 99)
+ { 0, { 0, 0, 0}}, // ( 31, 99)
+ { 0, { 0, 0, 0}}, // ( 32, 99)
+ { 0, { 0, 0, 0}}, // ( 33, 99)
+ { 0, { 0, 0, 0}}, // ( 34, 99)
+ { 0, { 0, 0, 0}}, // ( 35, 99)
+ { 0, { 0, 0, 0}}, // ( 36, 99)
+ { 0, { 0, 0, 0}}, // ( 37, 99)
+ { 0, { 0, 0, 0}}, // ( 38, 99)
+ { 0, { 0, 0, 0}}, // ( 39, 99)
+ { 0, { 0, 0, 0}}, // ( 40, 99)
+ { 0, { 0, 0, 0}}, // ( 41, 99)
+ { 0, { 0, 0, 0}}, // ( 42, 99)
+ { 0, { 0, 0, 0}}, // ( 43, 99)
+ { 0, { 0, 0, 0}}, // ( 44, 99)
+ { 0, { 0, 0, 0}}, // ( 45, 99)
+ { 0, { 0, 0, 0}}, // ( 46, 99)
+ { 0, { 0, 0, 0}}, // ( 47, 99)
+ { 0, { 0, 0, 0}}, // ( 48, 99)
+ { 0, { 0, 0, 0}}, // ( 49, 99)
+ { 0, { 0, 0, 0}}, // ( 50, 99)
+ { 0, { 0, 0, 0}}, // ( 51, 99)
+ { 0, { 0, 0, 0}}, // ( 52, 99)
+ { 0, { 0, 0, 0}}, // ( 53, 99)
+ { 0, { 0, 0, 0}}, // ( 54, 99)
+ { 0, { 0, 0, 0}}, // ( 55, 99)
+ { 0, { 0, 0, 0}}, // ( 56, 99)
+ { 0, { 0, 0, 0}}, // ( 57, 99)
+ { 0, { 0, 0, 0}}, // ( 58, 99)
+ { 0, { 0, 0, 0}}, // ( 59, 99)
+ { 0, { 0, 0, 0}}, // ( 60, 99)
+ { 0, { 0, 0, 0}}, // ( 61, 99)
+ { 0, { 0, 0, 0}}, // ( 62, 99)
+ { 0, { 0, 0, 0}}, // ( 63, 99)
+ { 0, { 0, 0, 0}}, // ( 64, 99)
+ { 0, { 0, 0, 0}}, // ( 65, 99)
+ { 0, { 0, 0, 0}}, // ( 66, 99)
+ { 0, { 0, 0, 0}}, // ( 67, 99)
+ { 0, { 0, 0, 0}}, // ( 68, 99)
+ { 0, { 0, 0, 0}}, // ( 69, 99)
+ { 0, { 0, 0, 0}}, // ( 70, 99)
+ { 0, { 0, 0, 0}}, // ( 71, 99)
+ { 0, { 0, 0, 0}}, // ( 72, 99)
+ { 0, { 0, 0, 0}}, // ( 73, 99)
+ { 0, { 0, 0, 0}}, // ( 74, 99)
+ { 0, { 0, 0, 0}}, // ( 75, 99)
+ { 0, { 0, 0, 0}}, // ( 76, 99)
+ { 0, { 0, 0, 0}}, // ( 77, 99)
+ { 0, { 0, 0, 0}}, // ( 78, 99)
+ { 0, { 0, 0, 0}}, // ( 79, 99)
+ { 0, { 0, 0, 0}}, // ( 80, 99)
+ { 0, { 0, 0, 0}}, // ( 81, 99)
+ { 0, { 0, 0, 0}}, // ( 82, 99)
+ { 0, { 0, 0, 0}}, // ( 83, 99)
+ { 0, { 0, 0, 0}}, // ( 84, 99)
+ { 0, { 0, 0, 0}}, // ( 85, 99)
+ { 0, { 0, 0, 0}}, // ( 86, 99)
+ { 0, { 0, 0, 0}}, // ( 87, 99)
+ { 0, { 0, 0, 0}}, // ( 88, 99)
+ { 0, { 0, 0, 0}}, // ( 89, 99)
+ { 0, { 0, 0, 0}}, // ( 90, 99)
+ { 0, { 0, 0, 0}}, // ( 91, 99)
+ { 0, { 0, 0, 0}}, // ( 92, 99)
+ { 0, { 0, 0, 0}}, // ( 93, 99)
+ { 0, { 0, 0, 0}}, // ( 94, 99)
+ { 0, { 0, 0, 0}}, // ( 95, 99)
+ { 0, { 0, 0, 0}}, // ( 96, 99)
+ { 0, { 0, 0, 0}}, // ( 97, 99)
+ { 0, { 0, 0, 0}}, // ( 98, 99)
+ { 0, { 0, 0, 0}}, // ( 99, 99)
+ { 0, { 0, 0, 0}}, // (100, 99)
+ { 0, { 0, 0, 0}}, // (101, 99)
+ { 0, { 0, 0, 0}}, // (102, 99)
+ { 0, { 0, 0, 0}}, // (103, 99)
+ { 0, { 0, 0, 0}}, // (104, 99)
+ { 0, { 0, 0, 0}}, // (105, 99)
+ { 0, { 0, 0, 0}}, // (106, 99)
+ { 0, { 0, 0, 0}}, // (107, 99)
+ { 0, { 0, 0, 0}}, // (108, 99)
+ { 0, { 0, 0, 0}}, // (109, 99)
+ { 0, { 0, 0, 0}}, // (110, 99)
+ { 0, { 0, 0, 0}}, // (111, 99)
+ { 0, { 0, 0, 0}}, // (112, 99)
+ { 0, { 0, 0, 0}}, // (113, 99)
+ { 0, { 0, 0, 0}}, // (114, 99)
+ { 0, { 0, 0, 0}}, // (115, 99)
+ { 0, { 0, 0, 0}}, // (116, 99)
+ { 0, { 0, 0, 0}}, // (117, 99)
+ { 0, { 0, 0, 0}}, // (118, 99)
+ { 0, { 0, 0, 0}}, // (119, 99)
+ { 0, { 0, 0, 0}}, // (120, 99)
+ { 0, { 0, 0, 0}}, // (121, 99)
+ { 0, { 0, 0, 0}}, // (122, 99)
+ { 0, { 0, 0, 0}}, // (123, 99)
+ { 0, { 0, 0, 0}}, // (124, 99)
+ { 0, { 0, 0, 0}}, // (125, 99)
+ { 0, { 0, 0, 0}}, // (126, 99)
+ { 0, { 0, 0, 0}}, // (127, 99)
+ { 0, { 0, 0, 0}}, // (128, 99)
+ { 0, { 0, 0, 0}}, // (129, 99)
+ { 0, { 0, 0, 0}}, // (130, 99)
+ { 0, { 0, 0, 0}}, // (131, 99)
+ { 0, { 0, 0, 0}}, // (132, 99)
+ { 0, { 0, 0, 0}}, // (133, 99)
+ { 0, { 0, 0, 0}}, // (134, 99)
+ { 0, { 0, 0, 0}}, // (135, 99)
+ { 0, { 0, 0, 0}}, // (136, 99)
+ { 0, { 0, 0, 0}}, // (137, 99)
+ { 0, { 0, 0, 0}}, // (138, 99)
+ { 0, { 0, 0, 0}}, // (139, 99)
+ { 0, { 0, 0, 0}}, // (140, 99)
+ { 0, { 0, 0, 0}}, // (141, 99)
+ { 0, { 0, 0, 0}}, // (142, 99)
+ { 0, { 0, 0, 0}}, // (143, 99)
+ { 0, { 0, 0, 0}}, // (144, 99)
+ { 0, { 0, 0, 0}}, // (145, 99)
+ { 0, { 0, 0, 0}}, // (146, 99)
+ { 0, { 0, 0, 0}}, // (147, 99)
+ { 0, { 0, 0, 0}}, // (148, 99)
+ { 0, { 0, 0, 0}}, // (149, 99)
+ { 0, { 0, 0, 0}}, // (150, 99)
+ { 0, { 0, 0, 0}}, // (151, 99)
+ { 0, { 0, 0, 0}}, // (152, 99)
+ { 0, { 0, 0, 0}}, // (153, 99)
+ { 0, { 0, 0, 0}}, // (154, 99)
+ { 0, { 0, 0, 0}}, // (155, 99)
+ { 0, { 0, 0, 0}}, // (156, 99)
+ { 0, { 0, 0, 0}}, // (157, 99)
+ { 0, { 0, 0, 0}}, // (158, 99)
+ { 0, { 0, 0, 0}}, // (159, 99)
+ { 0, { 0, 0, 0}}, // (160, 99)
+ { 0, { 0, 0, 0}}, // (161, 99)
+ { 0, { 0, 0, 0}}, // (162, 99)
+ { 0, { 0, 0, 0}}, // (163, 99)
+ { 0, { 0, 0, 0}}, // (164, 99)
+ { 0, { 0, 0, 0}}, // (165, 99)
+ { 0, { 0, 0, 0}}, // (166, 99)
+ { 0, { 0, 0, 0}}, // (167, 99)
+ { 0, { 0, 0, 0}}, // (168, 99)
+ { 0, { 0, 0, 0}}, // (169, 99)
+ { 0, { 0, 0, 0}}, // (170, 99)
+ { 0, { 0, 0, 0}}, // (171, 99)
+ { 0, { 0, 0, 0}}, // (172, 99)
+ { 0, { 0, 0, 0}}, // (173, 99)
+ { 0, { 0, 0, 0}}, // (174, 99)
+ { 0, { 0, 0, 0}}, // (175, 99)
+ { 0, { 0, 0, 0}}, // (176, 99)
+ { 67, { 0, 0, 0}}, // (177, 99)
+ {128, { 0, 0, 0}}, // (178, 99)
+ {128, { 0, 0, 0}}, // (179, 99)
+ {128, { 0, 0, 0}}, // ( 0, 100)
+ {128, { 0, 0, 0}}, // ( 1, 100)
+ { 83, { 0, 0, 0}}, // ( 2, 100)
+ { 0, { 0, 0, 0}}, // ( 3, 100)
+ { 0, { 0, 0, 0}}, // ( 4, 100)
+ { 0, { 0, 0, 0}}, // ( 5, 100)
+ { 0, { 0, 0, 0}}, // ( 6, 100)
+ { 0, { 0, 0, 0}}, // ( 7, 100)
+ { 0, { 0, 0, 0}}, // ( 8, 100)
+ { 0, { 0, 0, 0}}, // ( 9, 100)
+ { 0, { 0, 0, 0}}, // ( 10, 100)
+ { 0, { 0, 0, 0}}, // ( 11, 100)
+ { 0, { 0, 0, 0}}, // ( 12, 100)
+ { 0, { 0, 0, 0}}, // ( 13, 100)
+ { 0, { 0, 0, 0}}, // ( 14, 100)
+ { 0, { 0, 0, 0}}, // ( 15, 100)
+ { 0, { 0, 0, 0}}, // ( 16, 100)
+ { 0, { 0, 0, 0}}, // ( 17, 100)
+ { 0, { 0, 0, 0}}, // ( 18, 100)
+ { 0, { 0, 0, 0}}, // ( 19, 100)
+ { 0, { 0, 0, 0}}, // ( 20, 100)
+ { 0, { 0, 0, 0}}, // ( 21, 100)
+ { 0, { 0, 0, 0}}, // ( 22, 100)
+ { 0, { 0, 0, 0}}, // ( 23, 100)
+ { 0, { 0, 0, 0}}, // ( 24, 100)
+ { 0, { 0, 0, 0}}, // ( 25, 100)
+ { 0, { 0, 0, 0}}, // ( 26, 100)
+ { 0, { 0, 0, 0}}, // ( 27, 100)
+ { 0, { 0, 0, 0}}, // ( 28, 100)
+ { 0, { 0, 0, 0}}, // ( 29, 100)
+ { 0, { 0, 0, 0}}, // ( 30, 100)
+ { 0, { 0, 0, 0}}, // ( 31, 100)
+ { 0, { 0, 0, 0}}, // ( 32, 100)
+ { 0, { 0, 0, 0}}, // ( 33, 100)
+ { 0, { 0, 0, 0}}, // ( 34, 100)
+ { 0, { 0, 0, 0}}, // ( 35, 100)
+ { 0, { 0, 0, 0}}, // ( 36, 100)
+ { 0, { 0, 0, 0}}, // ( 37, 100)
+ { 0, { 0, 0, 0}}, // ( 38, 100)
+ { 0, { 0, 0, 0}}, // ( 39, 100)
+ { 0, { 0, 0, 0}}, // ( 40, 100)
+ { 0, { 0, 0, 0}}, // ( 41, 100)
+ { 0, { 0, 0, 0}}, // ( 42, 100)
+ { 0, { 0, 0, 0}}, // ( 43, 100)
+ { 0, { 0, 0, 0}}, // ( 44, 100)
+ { 0, { 0, 0, 0}}, // ( 45, 100)
+ { 0, { 0, 0, 0}}, // ( 46, 100)
+ { 0, { 0, 0, 0}}, // ( 47, 100)
+ { 0, { 0, 0, 0}}, // ( 48, 100)
+ { 0, { 0, 0, 0}}, // ( 49, 100)
+ { 0, { 0, 0, 0}}, // ( 50, 100)
+ { 0, { 0, 0, 0}}, // ( 51, 100)
+ { 0, { 0, 0, 0}}, // ( 52, 100)
+ { 0, { 0, 0, 0}}, // ( 53, 100)
+ { 0, { 0, 0, 0}}, // ( 54, 100)
+ { 0, { 0, 0, 0}}, // ( 55, 100)
+ { 0, { 0, 0, 0}}, // ( 56, 100)
+ { 0, { 0, 0, 0}}, // ( 57, 100)
+ { 0, { 0, 0, 0}}, // ( 58, 100)
+ { 0, { 0, 0, 0}}, // ( 59, 100)
+ { 0, { 0, 0, 0}}, // ( 60, 100)
+ { 0, { 0, 0, 0}}, // ( 61, 100)
+ { 0, { 0, 0, 0}}, // ( 62, 100)
+ { 0, { 0, 0, 0}}, // ( 63, 100)
+ { 0, { 0, 0, 0}}, // ( 64, 100)
+ { 0, { 0, 0, 0}}, // ( 65, 100)
+ { 0, { 0, 0, 0}}, // ( 66, 100)
+ { 0, { 0, 0, 0}}, // ( 67, 100)
+ { 0, { 0, 0, 0}}, // ( 68, 100)
+ { 0, { 0, 0, 0}}, // ( 69, 100)
+ { 0, { 0, 0, 0}}, // ( 70, 100)
+ { 0, { 0, 0, 0}}, // ( 71, 100)
+ { 0, { 0, 0, 0}}, // ( 72, 100)
+ { 0, { 0, 0, 0}}, // ( 73, 100)
+ { 0, { 0, 0, 0}}, // ( 74, 100)
+ { 0, { 0, 0, 0}}, // ( 75, 100)
+ { 0, { 0, 0, 0}}, // ( 76, 100)
+ { 0, { 0, 0, 0}}, // ( 77, 100)
+ { 0, { 0, 0, 0}}, // ( 78, 100)
+ { 0, { 0, 0, 0}}, // ( 79, 100)
+ { 0, { 0, 0, 0}}, // ( 80, 100)
+ { 0, { 0, 0, 0}}, // ( 81, 100)
+ { 0, { 0, 0, 0}}, // ( 82, 100)
+ { 0, { 0, 0, 0}}, // ( 83, 100)
+ { 0, { 0, 0, 0}}, // ( 84, 100)
+ { 0, { 0, 0, 0}}, // ( 85, 100)
+ { 0, { 0, 0, 0}}, // ( 86, 100)
+ { 0, { 0, 0, 0}}, // ( 87, 100)
+ { 0, { 0, 0, 0}}, // ( 88, 100)
+ { 0, { 0, 0, 0}}, // ( 89, 100)
+ { 0, { 0, 0, 0}}, // ( 90, 100)
+ { 0, { 0, 0, 0}}, // ( 91, 100)
+ { 0, { 0, 0, 0}}, // ( 92, 100)
+ { 0, { 0, 0, 0}}, // ( 93, 100)
+ { 0, { 0, 0, 0}}, // ( 94, 100)
+ { 0, { 0, 0, 0}}, // ( 95, 100)
+ { 0, { 0, 0, 0}}, // ( 96, 100)
+ { 0, { 0, 0, 0}}, // ( 97, 100)
+ { 0, { 0, 0, 0}}, // ( 98, 100)
+ { 0, { 0, 0, 0}}, // ( 99, 100)
+ { 0, { 0, 0, 0}}, // (100, 100)
+ { 0, { 0, 0, 0}}, // (101, 100)
+ { 0, { 0, 0, 0}}, // (102, 100)
+ { 0, { 0, 0, 0}}, // (103, 100)
+ { 0, { 0, 0, 0}}, // (104, 100)
+ { 0, { 0, 0, 0}}, // (105, 100)
+ { 0, { 0, 0, 0}}, // (106, 100)
+ { 0, { 0, 0, 0}}, // (107, 100)
+ { 0, { 0, 0, 0}}, // (108, 100)
+ { 0, { 0, 0, 0}}, // (109, 100)
+ { 0, { 0, 0, 0}}, // (110, 100)
+ { 0, { 0, 0, 0}}, // (111, 100)
+ { 0, { 0, 0, 0}}, // (112, 100)
+ { 0, { 0, 0, 0}}, // (113, 100)
+ { 0, { 0, 0, 0}}, // (114, 100)
+ { 0, { 0, 0, 0}}, // (115, 100)
+ { 0, { 0, 0, 0}}, // (116, 100)
+ { 0, { 0, 0, 0}}, // (117, 100)
+ { 0, { 0, 0, 0}}, // (118, 100)
+ { 0, { 0, 0, 0}}, // (119, 100)
+ { 0, { 0, 0, 0}}, // (120, 100)
+ { 0, { 0, 0, 0}}, // (121, 100)
+ { 0, { 0, 0, 0}}, // (122, 100)
+ { 0, { 0, 0, 0}}, // (123, 100)
+ { 0, { 0, 0, 0}}, // (124, 100)
+ { 0, { 0, 0, 0}}, // (125, 100)
+ { 0, { 0, 0, 0}}, // (126, 100)
+ { 0, { 0, 0, 0}}, // (127, 100)
+ { 0, { 0, 0, 0}}, // (128, 100)
+ { 0, { 0, 0, 0}}, // (129, 100)
+ { 0, { 0, 0, 0}}, // (130, 100)
+ { 0, { 0, 0, 0}}, // (131, 100)
+ { 0, { 0, 0, 0}}, // (132, 100)
+ { 0, { 0, 0, 0}}, // (133, 100)
+ { 0, { 0, 0, 0}}, // (134, 100)
+ { 0, { 0, 0, 0}}, // (135, 100)
+ { 0, { 0, 0, 0}}, // (136, 100)
+ { 0, { 0, 0, 0}}, // (137, 100)
+ { 0, { 0, 0, 0}}, // (138, 100)
+ { 0, { 0, 0, 0}}, // (139, 100)
+ { 0, { 0, 0, 0}}, // (140, 100)
+ { 0, { 0, 0, 0}}, // (141, 100)
+ { 0, { 0, 0, 0}}, // (142, 100)
+ { 0, { 0, 0, 0}}, // (143, 100)
+ { 0, { 0, 0, 0}}, // (144, 100)
+ { 0, { 0, 0, 0}}, // (145, 100)
+ { 0, { 0, 0, 0}}, // (146, 100)
+ { 0, { 0, 0, 0}}, // (147, 100)
+ { 0, { 0, 0, 0}}, // (148, 100)
+ { 0, { 0, 0, 0}}, // (149, 100)
+ { 0, { 0, 0, 0}}, // (150, 100)
+ { 0, { 0, 0, 0}}, // (151, 100)
+ { 0, { 0, 0, 0}}, // (152, 100)
+ { 0, { 0, 0, 0}}, // (153, 100)
+ { 0, { 0, 0, 0}}, // (154, 100)
+ { 0, { 0, 0, 0}}, // (155, 100)
+ { 0, { 0, 0, 0}}, // (156, 100)
+ { 0, { 0, 0, 0}}, // (157, 100)
+ { 0, { 0, 0, 0}}, // (158, 100)
+ { 0, { 0, 0, 0}}, // (159, 100)
+ { 0, { 0, 0, 0}}, // (160, 100)
+ { 0, { 0, 0, 0}}, // (161, 100)
+ { 0, { 0, 0, 0}}, // (162, 100)
+ { 0, { 0, 0, 0}}, // (163, 100)
+ { 0, { 0, 0, 0}}, // (164, 100)
+ { 0, { 0, 0, 0}}, // (165, 100)
+ { 0, { 0, 0, 0}}, // (166, 100)
+ { 0, { 0, 0, 0}}, // (167, 100)
+ { 0, { 0, 0, 0}}, // (168, 100)
+ { 0, { 0, 0, 0}}, // (169, 100)
+ { 0, { 0, 0, 0}}, // (170, 100)
+ { 0, { 0, 0, 0}}, // (171, 100)
+ { 0, { 0, 0, 0}}, // (172, 100)
+ { 0, { 0, 0, 0}}, // (173, 100)
+ { 0, { 0, 0, 0}}, // (174, 100)
+ { 0, { 0, 0, 0}}, // (175, 100)
+ { 0, { 0, 0, 0}}, // (176, 100)
+ { 83, { 0, 0, 0}}, // (177, 100)
+ {128, { 0, 0, 0}}, // (178, 100)
+ {128, { 0, 0, 0}}, // (179, 100)
+ {128, { 0, 0, 0}}, // ( 0, 101)
+ {128, { 0, 0, 0}}, // ( 1, 101)
+ { 99, { 0, 0, 0}}, // ( 2, 101)
+ { 0, { 0, 0, 0}}, // ( 3, 101)
+ { 0, { 0, 0, 0}}, // ( 4, 101)
+ { 0, { 0, 0, 0}}, // ( 5, 101)
+ { 0, { 0, 0, 0}}, // ( 6, 101)
+ { 0, { 0, 0, 0}}, // ( 7, 101)
+ { 0, { 0, 0, 0}}, // ( 8, 101)
+ { 0, { 0, 0, 0}}, // ( 9, 101)
+ { 0, { 0, 0, 0}}, // ( 10, 101)
+ { 0, { 0, 0, 0}}, // ( 11, 101)
+ { 0, { 0, 0, 0}}, // ( 12, 101)
+ { 0, { 0, 0, 0}}, // ( 13, 101)
+ { 0, { 0, 0, 0}}, // ( 14, 101)
+ { 0, { 0, 0, 0}}, // ( 15, 101)
+ { 0, { 0, 0, 0}}, // ( 16, 101)
+ { 0, { 0, 0, 0}}, // ( 17, 101)
+ { 0, { 0, 0, 0}}, // ( 18, 101)
+ { 0, { 0, 0, 0}}, // ( 19, 101)
+ { 0, { 0, 0, 0}}, // ( 20, 101)
+ { 0, { 0, 0, 0}}, // ( 21, 101)
+ { 0, { 0, 0, 0}}, // ( 22, 101)
+ { 0, { 0, 0, 0}}, // ( 23, 101)
+ { 0, { 0, 0, 0}}, // ( 24, 101)
+ { 0, { 0, 0, 0}}, // ( 25, 101)
+ { 0, { 0, 0, 0}}, // ( 26, 101)
+ { 0, { 0, 0, 0}}, // ( 27, 101)
+ { 0, { 0, 0, 0}}, // ( 28, 101)
+ { 0, { 0, 0, 0}}, // ( 29, 101)
+ { 0, { 0, 0, 0}}, // ( 30, 101)
+ { 0, { 0, 0, 0}}, // ( 31, 101)
+ { 0, { 0, 0, 0}}, // ( 32, 101)
+ { 0, { 0, 0, 0}}, // ( 33, 101)
+ { 0, { 0, 0, 0}}, // ( 34, 101)
+ { 0, { 0, 0, 0}}, // ( 35, 101)
+ { 0, { 0, 0, 0}}, // ( 36, 101)
+ { 0, { 0, 0, 0}}, // ( 37, 101)
+ { 0, { 0, 0, 0}}, // ( 38, 101)
+ { 0, { 0, 0, 0}}, // ( 39, 101)
+ { 0, { 0, 0, 0}}, // ( 40, 101)
+ { 0, { 0, 0, 0}}, // ( 41, 101)
+ { 0, { 0, 0, 0}}, // ( 42, 101)
+ { 0, { 0, 0, 0}}, // ( 43, 101)
+ { 0, { 0, 0, 0}}, // ( 44, 101)
+ { 0, { 0, 0, 0}}, // ( 45, 101)
+ { 0, { 0, 0, 0}}, // ( 46, 101)
+ { 0, { 0, 0, 0}}, // ( 47, 101)
+ { 0, { 0, 0, 0}}, // ( 48, 101)
+ { 0, { 0, 0, 0}}, // ( 49, 101)
+ { 0, { 0, 0, 0}}, // ( 50, 101)
+ { 0, { 0, 0, 0}}, // ( 51, 101)
+ { 0, { 0, 0, 0}}, // ( 52, 101)
+ { 0, { 0, 0, 0}}, // ( 53, 101)
+ { 0, { 0, 0, 0}}, // ( 54, 101)
+ { 0, { 0, 0, 0}}, // ( 55, 101)
+ { 0, { 0, 0, 0}}, // ( 56, 101)
+ { 0, { 0, 0, 0}}, // ( 57, 101)
+ { 0, { 0, 0, 0}}, // ( 58, 101)
+ { 0, { 0, 0, 0}}, // ( 59, 101)
+ { 0, { 0, 0, 0}}, // ( 60, 101)
+ { 0, { 0, 0, 0}}, // ( 61, 101)
+ { 0, { 0, 0, 0}}, // ( 62, 101)
+ { 0, { 0, 0, 0}}, // ( 63, 101)
+ { 0, { 0, 0, 0}}, // ( 64, 101)
+ { 0, { 0, 0, 0}}, // ( 65, 101)
+ { 0, { 0, 0, 0}}, // ( 66, 101)
+ { 0, { 0, 0, 0}}, // ( 67, 101)
+ { 0, { 0, 0, 0}}, // ( 68, 101)
+ { 0, { 0, 0, 0}}, // ( 69, 101)
+ { 0, { 0, 0, 0}}, // ( 70, 101)
+ { 0, { 0, 0, 0}}, // ( 71, 101)
+ { 0, { 0, 0, 0}}, // ( 72, 101)
+ { 0, { 0, 0, 0}}, // ( 73, 101)
+ { 0, { 0, 0, 0}}, // ( 74, 101)
+ { 0, { 0, 0, 0}}, // ( 75, 101)
+ { 0, { 0, 0, 0}}, // ( 76, 101)
+ { 0, { 0, 0, 0}}, // ( 77, 101)
+ { 0, { 0, 0, 0}}, // ( 78, 101)
+ { 0, { 0, 0, 0}}, // ( 79, 101)
+ { 0, { 0, 0, 0}}, // ( 80, 101)
+ { 0, { 0, 0, 0}}, // ( 81, 101)
+ { 0, { 0, 0, 0}}, // ( 82, 101)
+ { 0, { 0, 0, 0}}, // ( 83, 101)
+ { 0, { 0, 0, 0}}, // ( 84, 101)
+ { 0, { 0, 0, 0}}, // ( 85, 101)
+ { 0, { 0, 0, 0}}, // ( 86, 101)
+ { 0, { 0, 0, 0}}, // ( 87, 101)
+ { 0, { 0, 0, 0}}, // ( 88, 101)
+ { 0, { 0, 0, 0}}, // ( 89, 101)
+ { 0, { 0, 0, 0}}, // ( 90, 101)
+ { 0, { 0, 0, 0}}, // ( 91, 101)
+ { 0, { 0, 0, 0}}, // ( 92, 101)
+ { 0, { 0, 0, 0}}, // ( 93, 101)
+ { 0, { 0, 0, 0}}, // ( 94, 101)
+ { 0, { 0, 0, 0}}, // ( 95, 101)
+ { 0, { 0, 0, 0}}, // ( 96, 101)
+ { 0, { 0, 0, 0}}, // ( 97, 101)
+ { 0, { 0, 0, 0}}, // ( 98, 101)
+ { 0, { 0, 0, 0}}, // ( 99, 101)
+ { 0, { 0, 0, 0}}, // (100, 101)
+ { 0, { 0, 0, 0}}, // (101, 101)
+ { 0, { 0, 0, 0}}, // (102, 101)
+ { 0, { 0, 0, 0}}, // (103, 101)
+ { 0, { 0, 0, 0}}, // (104, 101)
+ { 0, { 0, 0, 0}}, // (105, 101)
+ { 0, { 0, 0, 0}}, // (106, 101)
+ { 0, { 0, 0, 0}}, // (107, 101)
+ { 0, { 0, 0, 0}}, // (108, 101)
+ { 0, { 0, 0, 0}}, // (109, 101)
+ { 0, { 0, 0, 0}}, // (110, 101)
+ { 0, { 0, 0, 0}}, // (111, 101)
+ { 0, { 0, 0, 0}}, // (112, 101)
+ { 0, { 0, 0, 0}}, // (113, 101)
+ { 0, { 0, 0, 0}}, // (114, 101)
+ { 0, { 0, 0, 0}}, // (115, 101)
+ { 0, { 0, 0, 0}}, // (116, 101)
+ { 0, { 0, 0, 0}}, // (117, 101)
+ { 0, { 0, 0, 0}}, // (118, 101)
+ { 0, { 0, 0, 0}}, // (119, 101)
+ { 0, { 0, 0, 0}}, // (120, 101)
+ { 0, { 0, 0, 0}}, // (121, 101)
+ { 0, { 0, 0, 0}}, // (122, 101)
+ { 0, { 0, 0, 0}}, // (123, 101)
+ { 0, { 0, 0, 0}}, // (124, 101)
+ { 0, { 0, 0, 0}}, // (125, 101)
+ { 0, { 0, 0, 0}}, // (126, 101)
+ { 0, { 0, 0, 0}}, // (127, 101)
+ { 0, { 0, 0, 0}}, // (128, 101)
+ { 0, { 0, 0, 0}}, // (129, 101)
+ { 0, { 0, 0, 0}}, // (130, 101)
+ { 0, { 0, 0, 0}}, // (131, 101)
+ { 0, { 0, 0, 0}}, // (132, 101)
+ { 0, { 0, 0, 0}}, // (133, 101)
+ { 0, { 0, 0, 0}}, // (134, 101)
+ { 0, { 0, 0, 0}}, // (135, 101)
+ { 0, { 0, 0, 0}}, // (136, 101)
+ { 0, { 0, 0, 0}}, // (137, 101)
+ { 0, { 0, 0, 0}}, // (138, 101)
+ { 0, { 0, 0, 0}}, // (139, 101)
+ { 0, { 0, 0, 0}}, // (140, 101)
+ { 0, { 0, 0, 0}}, // (141, 101)
+ { 0, { 0, 0, 0}}, // (142, 101)
+ { 0, { 0, 0, 0}}, // (143, 101)
+ { 0, { 0, 0, 0}}, // (144, 101)
+ { 0, { 0, 0, 0}}, // (145, 101)
+ { 0, { 0, 0, 0}}, // (146, 101)
+ { 0, { 0, 0, 0}}, // (147, 101)
+ { 0, { 0, 0, 0}}, // (148, 101)
+ { 0, { 0, 0, 0}}, // (149, 101)
+ { 0, { 0, 0, 0}}, // (150, 101)
+ { 0, { 0, 0, 0}}, // (151, 101)
+ { 0, { 0, 0, 0}}, // (152, 101)
+ { 0, { 0, 0, 0}}, // (153, 101)
+ { 0, { 0, 0, 0}}, // (154, 101)
+ { 0, { 0, 0, 0}}, // (155, 101)
+ { 0, { 0, 0, 0}}, // (156, 101)
+ { 0, { 0, 0, 0}}, // (157, 101)
+ { 0, { 0, 0, 0}}, // (158, 101)
+ { 0, { 0, 0, 0}}, // (159, 101)
+ { 0, { 0, 0, 0}}, // (160, 101)
+ { 0, { 0, 0, 0}}, // (161, 101)
+ { 0, { 0, 0, 0}}, // (162, 101)
+ { 0, { 0, 0, 0}}, // (163, 101)
+ { 0, { 0, 0, 0}}, // (164, 101)
+ { 0, { 0, 0, 0}}, // (165, 101)
+ { 0, { 0, 0, 0}}, // (166, 101)
+ { 0, { 0, 0, 0}}, // (167, 101)
+ { 0, { 0, 0, 0}}, // (168, 101)
+ { 0, { 0, 0, 0}}, // (169, 101)
+ { 0, { 0, 0, 0}}, // (170, 101)
+ { 0, { 0, 0, 0}}, // (171, 101)
+ { 0, { 0, 0, 0}}, // (172, 101)
+ { 0, { 0, 0, 0}}, // (173, 101)
+ { 0, { 0, 0, 0}}, // (174, 101)
+ { 0, { 0, 0, 0}}, // (175, 101)
+ { 0, { 0, 0, 0}}, // (176, 101)
+ { 99, { 0, 0, 0}}, // (177, 101)
+ {128, { 0, 0, 0}}, // (178, 101)
+ {128, { 0, 0, 0}}, // (179, 101)
+ {128, { 0, 0, 0}}, // ( 0, 102)
+ {128, { 0, 0, 0}}, // ( 1, 102)
+ {115, { 0, 0, 0}}, // ( 2, 102)
+ { 0, { 0, 0, 0}}, // ( 3, 102)
+ { 0, { 0, 0, 0}}, // ( 4, 102)
+ { 0, { 0, 0, 0}}, // ( 5, 102)
+ { 0, { 0, 0, 0}}, // ( 6, 102)
+ { 0, { 0, 0, 0}}, // ( 7, 102)
+ { 0, { 0, 0, 0}}, // ( 8, 102)
+ { 0, { 0, 0, 0}}, // ( 9, 102)
+ { 0, { 0, 0, 0}}, // ( 10, 102)
+ { 0, { 0, 0, 0}}, // ( 11, 102)
+ { 0, { 0, 0, 0}}, // ( 12, 102)
+ { 0, { 0, 0, 0}}, // ( 13, 102)
+ { 0, { 0, 0, 0}}, // ( 14, 102)
+ { 0, { 0, 0, 0}}, // ( 15, 102)
+ { 0, { 0, 0, 0}}, // ( 16, 102)
+ { 0, { 0, 0, 0}}, // ( 17, 102)
+ { 0, { 0, 0, 0}}, // ( 18, 102)
+ { 0, { 0, 0, 0}}, // ( 19, 102)
+ { 0, { 0, 0, 0}}, // ( 20, 102)
+ { 0, { 0, 0, 0}}, // ( 21, 102)
+ { 0, { 0, 0, 0}}, // ( 22, 102)
+ { 0, { 0, 0, 0}}, // ( 23, 102)
+ { 0, { 0, 0, 0}}, // ( 24, 102)
+ { 0, { 0, 0, 0}}, // ( 25, 102)
+ { 0, { 0, 0, 0}}, // ( 26, 102)
+ { 0, { 0, 0, 0}}, // ( 27, 102)
+ { 0, { 0, 0, 0}}, // ( 28, 102)
+ { 0, { 0, 0, 0}}, // ( 29, 102)
+ { 0, { 0, 0, 0}}, // ( 30, 102)
+ { 0, { 0, 0, 0}}, // ( 31, 102)
+ { 0, { 0, 0, 0}}, // ( 32, 102)
+ { 0, { 0, 0, 0}}, // ( 33, 102)
+ { 0, { 0, 0, 0}}, // ( 34, 102)
+ { 0, { 0, 0, 0}}, // ( 35, 102)
+ { 0, { 0, 0, 0}}, // ( 36, 102)
+ { 0, { 0, 0, 0}}, // ( 37, 102)
+ { 0, { 0, 0, 0}}, // ( 38, 102)
+ { 0, { 0, 0, 0}}, // ( 39, 102)
+ { 0, { 0, 0, 0}}, // ( 40, 102)
+ { 0, { 0, 0, 0}}, // ( 41, 102)
+ { 0, { 0, 0, 0}}, // ( 42, 102)
+ { 0, { 0, 0, 0}}, // ( 43, 102)
+ { 0, { 0, 0, 0}}, // ( 44, 102)
+ { 0, { 0, 0, 0}}, // ( 45, 102)
+ { 0, { 0, 0, 0}}, // ( 46, 102)
+ { 0, { 0, 0, 0}}, // ( 47, 102)
+ { 0, { 0, 0, 0}}, // ( 48, 102)
+ { 0, { 0, 0, 0}}, // ( 49, 102)
+ { 0, { 0, 0, 0}}, // ( 50, 102)
+ { 0, { 0, 0, 0}}, // ( 51, 102)
+ { 0, { 0, 0, 0}}, // ( 52, 102)
+ { 0, { 0, 0, 0}}, // ( 53, 102)
+ { 0, { 0, 0, 0}}, // ( 54, 102)
+ { 0, { 0, 0, 0}}, // ( 55, 102)
+ { 0, { 0, 0, 0}}, // ( 56, 102)
+ { 0, { 0, 0, 0}}, // ( 57, 102)
+ { 0, { 0, 0, 0}}, // ( 58, 102)
+ { 0, { 0, 0, 0}}, // ( 59, 102)
+ { 0, { 0, 0, 0}}, // ( 60, 102)
+ { 0, { 0, 0, 0}}, // ( 61, 102)
+ { 0, { 0, 0, 0}}, // ( 62, 102)
+ { 0, { 0, 0, 0}}, // ( 63, 102)
+ { 0, { 0, 0, 0}}, // ( 64, 102)
+ { 0, { 0, 0, 0}}, // ( 65, 102)
+ { 0, { 0, 0, 0}}, // ( 66, 102)
+ { 0, { 0, 0, 0}}, // ( 67, 102)
+ { 0, { 0, 0, 0}}, // ( 68, 102)
+ { 0, { 0, 0, 0}}, // ( 69, 102)
+ { 0, { 0, 0, 0}}, // ( 70, 102)
+ { 0, { 0, 0, 0}}, // ( 71, 102)
+ { 0, { 0, 0, 0}}, // ( 72, 102)
+ { 0, { 0, 0, 0}}, // ( 73, 102)
+ { 0, { 0, 0, 0}}, // ( 74, 102)
+ { 0, { 0, 0, 0}}, // ( 75, 102)
+ { 0, { 0, 0, 0}}, // ( 76, 102)
+ { 0, { 0, 0, 0}}, // ( 77, 102)
+ { 0, { 0, 0, 0}}, // ( 78, 102)
+ { 0, { 0, 0, 0}}, // ( 79, 102)
+ { 0, { 0, 0, 0}}, // ( 80, 102)
+ { 0, { 0, 0, 0}}, // ( 81, 102)
+ { 0, { 0, 0, 0}}, // ( 82, 102)
+ { 0, { 0, 0, 0}}, // ( 83, 102)
+ { 0, { 0, 0, 0}}, // ( 84, 102)
+ { 0, { 0, 0, 0}}, // ( 85, 102)
+ { 0, { 0, 0, 0}}, // ( 86, 102)
+ { 0, { 0, 0, 0}}, // ( 87, 102)
+ { 0, { 0, 0, 0}}, // ( 88, 102)
+ { 0, { 0, 0, 0}}, // ( 89, 102)
+ { 0, { 0, 0, 0}}, // ( 90, 102)
+ { 0, { 0, 0, 0}}, // ( 91, 102)
+ { 0, { 0, 0, 0}}, // ( 92, 102)
+ { 0, { 0, 0, 0}}, // ( 93, 102)
+ { 0, { 0, 0, 0}}, // ( 94, 102)
+ { 0, { 0, 0, 0}}, // ( 95, 102)
+ { 0, { 0, 0, 0}}, // ( 96, 102)
+ { 0, { 0, 0, 0}}, // ( 97, 102)
+ { 0, { 0, 0, 0}}, // ( 98, 102)
+ { 0, { 0, 0, 0}}, // ( 99, 102)
+ { 0, { 0, 0, 0}}, // (100, 102)
+ { 0, { 0, 0, 0}}, // (101, 102)
+ { 0, { 0, 0, 0}}, // (102, 102)
+ { 0, { 0, 0, 0}}, // (103, 102)
+ { 0, { 0, 0, 0}}, // (104, 102)
+ { 0, { 0, 0, 0}}, // (105, 102)
+ { 0, { 0, 0, 0}}, // (106, 102)
+ { 0, { 0, 0, 0}}, // (107, 102)
+ { 0, { 0, 0, 0}}, // (108, 102)
+ { 0, { 0, 0, 0}}, // (109, 102)
+ { 0, { 0, 0, 0}}, // (110, 102)
+ { 0, { 0, 0, 0}}, // (111, 102)
+ { 0, { 0, 0, 0}}, // (112, 102)
+ { 0, { 0, 0, 0}}, // (113, 102)
+ { 0, { 0, 0, 0}}, // (114, 102)
+ { 0, { 0, 0, 0}}, // (115, 102)
+ { 0, { 0, 0, 0}}, // (116, 102)
+ { 0, { 0, 0, 0}}, // (117, 102)
+ { 0, { 0, 0, 0}}, // (118, 102)
+ { 0, { 0, 0, 0}}, // (119, 102)
+ { 0, { 0, 0, 0}}, // (120, 102)
+ { 0, { 0, 0, 0}}, // (121, 102)
+ { 0, { 0, 0, 0}}, // (122, 102)
+ { 0, { 0, 0, 0}}, // (123, 102)
+ { 0, { 0, 0, 0}}, // (124, 102)
+ { 0, { 0, 0, 0}}, // (125, 102)
+ { 0, { 0, 0, 0}}, // (126, 102)
+ { 0, { 0, 0, 0}}, // (127, 102)
+ { 0, { 0, 0, 0}}, // (128, 102)
+ { 0, { 0, 0, 0}}, // (129, 102)
+ { 0, { 0, 0, 0}}, // (130, 102)
+ { 0, { 0, 0, 0}}, // (131, 102)
+ { 0, { 0, 0, 0}}, // (132, 102)
+ { 0, { 0, 0, 0}}, // (133, 102)
+ { 0, { 0, 0, 0}}, // (134, 102)
+ { 0, { 0, 0, 0}}, // (135, 102)
+ { 0, { 0, 0, 0}}, // (136, 102)
+ { 0, { 0, 0, 0}}, // (137, 102)
+ { 0, { 0, 0, 0}}, // (138, 102)
+ { 0, { 0, 0, 0}}, // (139, 102)
+ { 0, { 0, 0, 0}}, // (140, 102)
+ { 0, { 0, 0, 0}}, // (141, 102)
+ { 0, { 0, 0, 0}}, // (142, 102)
+ { 0, { 0, 0, 0}}, // (143, 102)
+ { 0, { 0, 0, 0}}, // (144, 102)
+ { 0, { 0, 0, 0}}, // (145, 102)
+ { 0, { 0, 0, 0}}, // (146, 102)
+ { 0, { 0, 0, 0}}, // (147, 102)
+ { 0, { 0, 0, 0}}, // (148, 102)
+ { 0, { 0, 0, 0}}, // (149, 102)
+ { 0, { 0, 0, 0}}, // (150, 102)
+ { 0, { 0, 0, 0}}, // (151, 102)
+ { 0, { 0, 0, 0}}, // (152, 102)
+ { 0, { 0, 0, 0}}, // (153, 102)
+ { 0, { 0, 0, 0}}, // (154, 102)
+ { 0, { 0, 0, 0}}, // (155, 102)
+ { 0, { 0, 0, 0}}, // (156, 102)
+ { 0, { 0, 0, 0}}, // (157, 102)
+ { 0, { 0, 0, 0}}, // (158, 102)
+ { 0, { 0, 0, 0}}, // (159, 102)
+ { 0, { 0, 0, 0}}, // (160, 102)
+ { 0, { 0, 0, 0}}, // (161, 102)
+ { 0, { 0, 0, 0}}, // (162, 102)
+ { 0, { 0, 0, 0}}, // (163, 102)
+ { 0, { 0, 0, 0}}, // (164, 102)
+ { 0, { 0, 0, 0}}, // (165, 102)
+ { 0, { 0, 0, 0}}, // (166, 102)
+ { 0, { 0, 0, 0}}, // (167, 102)
+ { 0, { 0, 0, 0}}, // (168, 102)
+ { 0, { 0, 0, 0}}, // (169, 102)
+ { 0, { 0, 0, 0}}, // (170, 102)
+ { 0, { 0, 0, 0}}, // (171, 102)
+ { 0, { 0, 0, 0}}, // (172, 102)
+ { 0, { 0, 0, 0}}, // (173, 102)
+ { 0, { 0, 0, 0}}, // (174, 102)
+ { 0, { 0, 0, 0}}, // (175, 102)
+ { 0, { 0, 0, 0}}, // (176, 102)
+ {115, { 0, 0, 0}}, // (177, 102)
+ {128, { 0, 0, 0}}, // (178, 102)
+ {128, { 0, 0, 0}}, // (179, 102)
+ {128, { 0, 0, 0}}, // ( 0, 103)
+ {128, { 0, 0, 0}}, // ( 1, 103)
+ {127, { 0, 0, 0}}, // ( 2, 103)
+ { 6, { 0, 0, 0}}, // ( 3, 103)
+ { 0, { 0, 0, 0}}, // ( 4, 103)
+ { 0, { 0, 0, 0}}, // ( 5, 103)
+ { 0, { 0, 0, 0}}, // ( 6, 103)
+ { 0, { 0, 0, 0}}, // ( 7, 103)
+ { 0, { 0, 0, 0}}, // ( 8, 103)
+ { 0, { 0, 0, 0}}, // ( 9, 103)
+ { 0, { 0, 0, 0}}, // ( 10, 103)
+ { 0, { 0, 0, 0}}, // ( 11, 103)
+ { 0, { 0, 0, 0}}, // ( 12, 103)
+ { 0, { 0, 0, 0}}, // ( 13, 103)
+ { 0, { 0, 0, 0}}, // ( 14, 103)
+ { 0, { 0, 0, 0}}, // ( 15, 103)
+ { 0, { 0, 0, 0}}, // ( 16, 103)
+ { 0, { 0, 0, 0}}, // ( 17, 103)
+ { 0, { 0, 0, 0}}, // ( 18, 103)
+ { 0, { 0, 0, 0}}, // ( 19, 103)
+ { 0, { 0, 0, 0}}, // ( 20, 103)
+ { 0, { 0, 0, 0}}, // ( 21, 103)
+ { 0, { 0, 0, 0}}, // ( 22, 103)
+ { 0, { 0, 0, 0}}, // ( 23, 103)
+ { 0, { 0, 0, 0}}, // ( 24, 103)
+ { 0, { 0, 0, 0}}, // ( 25, 103)
+ { 0, { 0, 0, 0}}, // ( 26, 103)
+ { 0, { 0, 0, 0}}, // ( 27, 103)
+ { 0, { 0, 0, 0}}, // ( 28, 103)
+ { 0, { 0, 0, 0}}, // ( 29, 103)
+ { 0, { 0, 0, 0}}, // ( 30, 103)
+ { 0, { 0, 0, 0}}, // ( 31, 103)
+ { 0, { 0, 0, 0}}, // ( 32, 103)
+ { 0, { 0, 0, 0}}, // ( 33, 103)
+ { 0, { 0, 0, 0}}, // ( 34, 103)
+ { 0, { 0, 0, 0}}, // ( 35, 103)
+ { 0, { 0, 0, 0}}, // ( 36, 103)
+ { 0, { 0, 0, 0}}, // ( 37, 103)
+ { 0, { 0, 0, 0}}, // ( 38, 103)
+ { 0, { 0, 0, 0}}, // ( 39, 103)
+ { 0, { 0, 0, 0}}, // ( 40, 103)
+ { 0, { 0, 0, 0}}, // ( 41, 103)
+ { 0, { 0, 0, 0}}, // ( 42, 103)
+ { 0, { 0, 0, 0}}, // ( 43, 103)
+ { 0, { 0, 0, 0}}, // ( 44, 103)
+ { 0, { 0, 0, 0}}, // ( 45, 103)
+ { 0, { 0, 0, 0}}, // ( 46, 103)
+ { 0, { 0, 0, 0}}, // ( 47, 103)
+ { 0, { 0, 0, 0}}, // ( 48, 103)
+ { 0, { 0, 0, 0}}, // ( 49, 103)
+ { 0, { 0, 0, 0}}, // ( 50, 103)
+ { 0, { 0, 0, 0}}, // ( 51, 103)
+ { 0, { 0, 0, 0}}, // ( 52, 103)
+ { 0, { 0, 0, 0}}, // ( 53, 103)
+ { 0, { 0, 0, 0}}, // ( 54, 103)
+ { 0, { 0, 0, 0}}, // ( 55, 103)
+ { 0, { 0, 0, 0}}, // ( 56, 103)
+ { 0, { 0, 0, 0}}, // ( 57, 103)
+ { 0, { 0, 0, 0}}, // ( 58, 103)
+ { 0, { 0, 0, 0}}, // ( 59, 103)
+ { 0, { 0, 0, 0}}, // ( 60, 103)
+ { 0, { 0, 0, 0}}, // ( 61, 103)
+ { 0, { 0, 0, 0}}, // ( 62, 103)
+ { 0, { 0, 0, 0}}, // ( 63, 103)
+ { 0, { 0, 0, 0}}, // ( 64, 103)
+ { 0, { 0, 0, 0}}, // ( 65, 103)
+ { 0, { 0, 0, 0}}, // ( 66, 103)
+ { 0, { 0, 0, 0}}, // ( 67, 103)
+ { 0, { 0, 0, 0}}, // ( 68, 103)
+ { 0, { 0, 0, 0}}, // ( 69, 103)
+ { 0, { 0, 0, 0}}, // ( 70, 103)
+ { 0, { 0, 0, 0}}, // ( 71, 103)
+ { 0, { 0, 0, 0}}, // ( 72, 103)
+ { 0, { 0, 0, 0}}, // ( 73, 103)
+ { 0, { 0, 0, 0}}, // ( 74, 103)
+ { 0, { 0, 0, 0}}, // ( 75, 103)
+ { 0, { 0, 0, 0}}, // ( 76, 103)
+ { 0, { 0, 0, 0}}, // ( 77, 103)
+ { 0, { 0, 0, 0}}, // ( 78, 103)
+ { 0, { 0, 0, 0}}, // ( 79, 103)
+ { 0, { 0, 0, 0}}, // ( 80, 103)
+ { 0, { 0, 0, 0}}, // ( 81, 103)
+ { 0, { 0, 0, 0}}, // ( 82, 103)
+ { 0, { 0, 0, 0}}, // ( 83, 103)
+ { 0, { 0, 0, 0}}, // ( 84, 103)
+ { 0, { 0, 0, 0}}, // ( 85, 103)
+ { 0, { 0, 0, 0}}, // ( 86, 103)
+ { 0, { 0, 0, 0}}, // ( 87, 103)
+ { 0, { 0, 0, 0}}, // ( 88, 103)
+ { 0, { 0, 0, 0}}, // ( 89, 103)
+ { 0, { 0, 0, 0}}, // ( 90, 103)
+ { 0, { 0, 0, 0}}, // ( 91, 103)
+ { 0, { 0, 0, 0}}, // ( 92, 103)
+ { 0, { 0, 0, 0}}, // ( 93, 103)
+ { 0, { 0, 0, 0}}, // ( 94, 103)
+ { 0, { 0, 0, 0}}, // ( 95, 103)
+ { 0, { 0, 0, 0}}, // ( 96, 103)
+ { 0, { 0, 0, 0}}, // ( 97, 103)
+ { 0, { 0, 0, 0}}, // ( 98, 103)
+ { 0, { 0, 0, 0}}, // ( 99, 103)
+ { 0, { 0, 0, 0}}, // (100, 103)
+ { 0, { 0, 0, 0}}, // (101, 103)
+ { 0, { 0, 0, 0}}, // (102, 103)
+ { 0, { 0, 0, 0}}, // (103, 103)
+ { 0, { 0, 0, 0}}, // (104, 103)
+ { 0, { 0, 0, 0}}, // (105, 103)
+ { 0, { 0, 0, 0}}, // (106, 103)
+ { 0, { 0, 0, 0}}, // (107, 103)
+ { 0, { 0, 0, 0}}, // (108, 103)
+ { 0, { 0, 0, 0}}, // (109, 103)
+ { 0, { 0, 0, 0}}, // (110, 103)
+ { 0, { 0, 0, 0}}, // (111, 103)
+ { 0, { 0, 0, 0}}, // (112, 103)
+ { 0, { 0, 0, 0}}, // (113, 103)
+ { 0, { 0, 0, 0}}, // (114, 103)
+ { 0, { 0, 0, 0}}, // (115, 103)
+ { 0, { 0, 0, 0}}, // (116, 103)
+ { 0, { 0, 0, 0}}, // (117, 103)
+ { 0, { 0, 0, 0}}, // (118, 103)
+ { 0, { 0, 0, 0}}, // (119, 103)
+ { 0, { 0, 0, 0}}, // (120, 103)
+ { 0, { 0, 0, 0}}, // (121, 103)
+ { 0, { 0, 0, 0}}, // (122, 103)
+ { 0, { 0, 0, 0}}, // (123, 103)
+ { 0, { 0, 0, 0}}, // (124, 103)
+ { 0, { 0, 0, 0}}, // (125, 103)
+ { 0, { 0, 0, 0}}, // (126, 103)
+ { 0, { 0, 0, 0}}, // (127, 103)
+ { 0, { 0, 0, 0}}, // (128, 103)
+ { 0, { 0, 0, 0}}, // (129, 103)
+ { 0, { 0, 0, 0}}, // (130, 103)
+ { 0, { 0, 0, 0}}, // (131, 103)
+ { 0, { 0, 0, 0}}, // (132, 103)
+ { 0, { 0, 0, 0}}, // (133, 103)
+ { 0, { 0, 0, 0}}, // (134, 103)
+ { 0, { 0, 0, 0}}, // (135, 103)
+ { 0, { 0, 0, 0}}, // (136, 103)
+ { 0, { 0, 0, 0}}, // (137, 103)
+ { 0, { 0, 0, 0}}, // (138, 103)
+ { 0, { 0, 0, 0}}, // (139, 103)
+ { 0, { 0, 0, 0}}, // (140, 103)
+ { 0, { 0, 0, 0}}, // (141, 103)
+ { 0, { 0, 0, 0}}, // (142, 103)
+ { 0, { 0, 0, 0}}, // (143, 103)
+ { 0, { 0, 0, 0}}, // (144, 103)
+ { 0, { 0, 0, 0}}, // (145, 103)
+ { 0, { 0, 0, 0}}, // (146, 103)
+ { 0, { 0, 0, 0}}, // (147, 103)
+ { 0, { 0, 0, 0}}, // (148, 103)
+ { 0, { 0, 0, 0}}, // (149, 103)
+ { 0, { 0, 0, 0}}, // (150, 103)
+ { 0, { 0, 0, 0}}, // (151, 103)
+ { 0, { 0, 0, 0}}, // (152, 103)
+ { 0, { 0, 0, 0}}, // (153, 103)
+ { 0, { 0, 0, 0}}, // (154, 103)
+ { 0, { 0, 0, 0}}, // (155, 103)
+ { 0, { 0, 0, 0}}, // (156, 103)
+ { 0, { 0, 0, 0}}, // (157, 103)
+ { 0, { 0, 0, 0}}, // (158, 103)
+ { 0, { 0, 0, 0}}, // (159, 103)
+ { 0, { 0, 0, 0}}, // (160, 103)
+ { 0, { 0, 0, 0}}, // (161, 103)
+ { 0, { 0, 0, 0}}, // (162, 103)
+ { 0, { 0, 0, 0}}, // (163, 103)
+ { 0, { 0, 0, 0}}, // (164, 103)
+ { 0, { 0, 0, 0}}, // (165, 103)
+ { 0, { 0, 0, 0}}, // (166, 103)
+ { 0, { 0, 0, 0}}, // (167, 103)
+ { 0, { 0, 0, 0}}, // (168, 103)
+ { 0, { 0, 0, 0}}, // (169, 103)
+ { 0, { 0, 0, 0}}, // (170, 103)
+ { 0, { 0, 0, 0}}, // (171, 103)
+ { 0, { 0, 0, 0}}, // (172, 103)
+ { 0, { 0, 0, 0}}, // (173, 103)
+ { 0, { 0, 0, 0}}, // (174, 103)
+ { 0, { 0, 0, 0}}, // (175, 103)
+ { 5, { 0, 0, 0}}, // (176, 103)
+ {127, { 0, 0, 0}}, // (177, 103)
+ {128, { 0, 0, 0}}, // (178, 103)
+ {128, { 0, 0, 0}}, // (179, 103)
+ {128, { 0, 0, 0}}, // ( 0, 104)
+ {128, { 0, 0, 0}}, // ( 1, 104)
+ {128, { 0, 0, 0}}, // ( 2, 104)
+ { 27, { 0, 0, 0}}, // ( 3, 104)
+ { 0, { 0, 0, 0}}, // ( 4, 104)
+ { 0, { 0, 0, 0}}, // ( 5, 104)
+ { 0, { 0, 0, 0}}, // ( 6, 104)
+ { 0, { 0, 0, 0}}, // ( 7, 104)
+ { 0, { 0, 0, 0}}, // ( 8, 104)
+ { 0, { 0, 0, 0}}, // ( 9, 104)
+ { 0, { 0, 0, 0}}, // ( 10, 104)
+ { 0, { 0, 0, 0}}, // ( 11, 104)
+ { 0, { 0, 0, 0}}, // ( 12, 104)
+ { 0, { 0, 0, 0}}, // ( 13, 104)
+ { 0, { 0, 0, 0}}, // ( 14, 104)
+ { 0, { 0, 0, 0}}, // ( 15, 104)
+ { 0, { 0, 0, 0}}, // ( 16, 104)
+ { 0, { 0, 0, 0}}, // ( 17, 104)
+ { 0, { 0, 0, 0}}, // ( 18, 104)
+ { 0, { 0, 0, 0}}, // ( 19, 104)
+ { 0, { 0, 0, 0}}, // ( 20, 104)
+ { 0, { 0, 0, 0}}, // ( 21, 104)
+ { 0, { 0, 0, 0}}, // ( 22, 104)
+ { 0, { 0, 0, 0}}, // ( 23, 104)
+ { 0, { 0, 0, 0}}, // ( 24, 104)
+ { 0, { 0, 0, 0}}, // ( 25, 104)
+ { 0, { 0, 0, 0}}, // ( 26, 104)
+ { 0, { 0, 0, 0}}, // ( 27, 104)
+ { 0, { 0, 0, 0}}, // ( 28, 104)
+ { 0, { 0, 0, 0}}, // ( 29, 104)
+ { 0, { 0, 0, 0}}, // ( 30, 104)
+ { 0, { 0, 0, 0}}, // ( 31, 104)
+ { 0, { 0, 0, 0}}, // ( 32, 104)
+ { 0, { 0, 0, 0}}, // ( 33, 104)
+ { 0, { 0, 0, 0}}, // ( 34, 104)
+ { 0, { 0, 0, 0}}, // ( 35, 104)
+ { 0, { 0, 0, 0}}, // ( 36, 104)
+ { 0, { 0, 0, 0}}, // ( 37, 104)
+ { 0, { 0, 0, 0}}, // ( 38, 104)
+ { 0, { 0, 0, 0}}, // ( 39, 104)
+ { 0, { 0, 0, 0}}, // ( 40, 104)
+ { 0, { 0, 0, 0}}, // ( 41, 104)
+ { 0, { 0, 0, 0}}, // ( 42, 104)
+ { 0, { 0, 0, 0}}, // ( 43, 104)
+ { 0, { 0, 0, 0}}, // ( 44, 104)
+ { 0, { 0, 0, 0}}, // ( 45, 104)
+ { 0, { 0, 0, 0}}, // ( 46, 104)
+ { 0, { 0, 0, 0}}, // ( 47, 104)
+ { 0, { 0, 0, 0}}, // ( 48, 104)
+ { 0, { 0, 0, 0}}, // ( 49, 104)
+ { 0, { 0, 0, 0}}, // ( 50, 104)
+ { 0, { 0, 0, 0}}, // ( 51, 104)
+ { 0, { 0, 0, 0}}, // ( 52, 104)
+ { 0, { 0, 0, 0}}, // ( 53, 104)
+ { 0, { 0, 0, 0}}, // ( 54, 104)
+ { 0, { 0, 0, 0}}, // ( 55, 104)
+ { 0, { 0, 0, 0}}, // ( 56, 104)
+ { 0, { 0, 0, 0}}, // ( 57, 104)
+ { 0, { 0, 0, 0}}, // ( 58, 104)
+ { 0, { 0, 0, 0}}, // ( 59, 104)
+ { 0, { 0, 0, 0}}, // ( 60, 104)
+ { 0, { 0, 0, 0}}, // ( 61, 104)
+ { 0, { 0, 0, 0}}, // ( 62, 104)
+ { 0, { 0, 0, 0}}, // ( 63, 104)
+ { 0, { 0, 0, 0}}, // ( 64, 104)
+ { 0, { 0, 0, 0}}, // ( 65, 104)
+ { 0, { 0, 0, 0}}, // ( 66, 104)
+ { 0, { 0, 0, 0}}, // ( 67, 104)
+ { 0, { 0, 0, 0}}, // ( 68, 104)
+ { 0, { 0, 0, 0}}, // ( 69, 104)
+ { 0, { 0, 0, 0}}, // ( 70, 104)
+ { 0, { 0, 0, 0}}, // ( 71, 104)
+ { 0, { 0, 0, 0}}, // ( 72, 104)
+ { 0, { 0, 0, 0}}, // ( 73, 104)
+ { 0, { 0, 0, 0}}, // ( 74, 104)
+ { 0, { 0, 0, 0}}, // ( 75, 104)
+ { 0, { 0, 0, 0}}, // ( 76, 104)
+ { 0, { 0, 0, 0}}, // ( 77, 104)
+ { 0, { 0, 0, 0}}, // ( 78, 104)
+ { 0, { 0, 0, 0}}, // ( 79, 104)
+ { 0, { 0, 0, 0}}, // ( 80, 104)
+ { 0, { 0, 0, 0}}, // ( 81, 104)
+ { 0, { 0, 0, 0}}, // ( 82, 104)
+ { 0, { 0, 0, 0}}, // ( 83, 104)
+ { 0, { 0, 0, 0}}, // ( 84, 104)
+ { 0, { 0, 0, 0}}, // ( 85, 104)
+ { 0, { 0, 0, 0}}, // ( 86, 104)
+ { 0, { 0, 0, 0}}, // ( 87, 104)
+ { 0, { 0, 0, 0}}, // ( 88, 104)
+ { 0, { 0, 0, 0}}, // ( 89, 104)
+ { 0, { 0, 0, 0}}, // ( 90, 104)
+ { 0, { 0, 0, 0}}, // ( 91, 104)
+ { 0, { 0, 0, 0}}, // ( 92, 104)
+ { 0, { 0, 0, 0}}, // ( 93, 104)
+ { 0, { 0, 0, 0}}, // ( 94, 104)
+ { 0, { 0, 0, 0}}, // ( 95, 104)
+ { 0, { 0, 0, 0}}, // ( 96, 104)
+ { 0, { 0, 0, 0}}, // ( 97, 104)
+ { 0, { 0, 0, 0}}, // ( 98, 104)
+ { 0, { 0, 0, 0}}, // ( 99, 104)
+ { 0, { 0, 0, 0}}, // (100, 104)
+ { 0, { 0, 0, 0}}, // (101, 104)
+ { 0, { 0, 0, 0}}, // (102, 104)
+ { 0, { 0, 0, 0}}, // (103, 104)
+ { 0, { 0, 0, 0}}, // (104, 104)
+ { 0, { 0, 0, 0}}, // (105, 104)
+ { 0, { 0, 0, 0}}, // (106, 104)
+ { 0, { 0, 0, 0}}, // (107, 104)
+ { 0, { 0, 0, 0}}, // (108, 104)
+ { 0, { 0, 0, 0}}, // (109, 104)
+ { 0, { 0, 0, 0}}, // (110, 104)
+ { 0, { 0, 0, 0}}, // (111, 104)
+ { 0, { 0, 0, 0}}, // (112, 104)
+ { 0, { 0, 0, 0}}, // (113, 104)
+ { 0, { 0, 0, 0}}, // (114, 104)
+ { 0, { 0, 0, 0}}, // (115, 104)
+ { 0, { 0, 0, 0}}, // (116, 104)
+ { 0, { 0, 0, 0}}, // (117, 104)
+ { 0, { 0, 0, 0}}, // (118, 104)
+ { 0, { 0, 0, 0}}, // (119, 104)
+ { 0, { 0, 0, 0}}, // (120, 104)
+ { 0, { 0, 0, 0}}, // (121, 104)
+ { 0, { 0, 0, 0}}, // (122, 104)
+ { 0, { 0, 0, 0}}, // (123, 104)
+ { 0, { 0, 0, 0}}, // (124, 104)
+ { 0, { 0, 0, 0}}, // (125, 104)
+ { 0, { 0, 0, 0}}, // (126, 104)
+ { 0, { 0, 0, 0}}, // (127, 104)
+ { 0, { 0, 0, 0}}, // (128, 104)
+ { 0, { 0, 0, 0}}, // (129, 104)
+ { 0, { 0, 0, 0}}, // (130, 104)
+ { 0, { 0, 0, 0}}, // (131, 104)
+ { 0, { 0, 0, 0}}, // (132, 104)
+ { 0, { 0, 0, 0}}, // (133, 104)
+ { 0, { 0, 0, 0}}, // (134, 104)
+ { 0, { 0, 0, 0}}, // (135, 104)
+ { 0, { 0, 0, 0}}, // (136, 104)
+ { 0, { 0, 0, 0}}, // (137, 104)
+ { 0, { 0, 0, 0}}, // (138, 104)
+ { 0, { 0, 0, 0}}, // (139, 104)
+ { 0, { 0, 0, 0}}, // (140, 104)
+ { 0, { 0, 0, 0}}, // (141, 104)
+ { 0, { 0, 0, 0}}, // (142, 104)
+ { 0, { 0, 0, 0}}, // (143, 104)
+ { 0, { 0, 0, 0}}, // (144, 104)
+ { 0, { 0, 0, 0}}, // (145, 104)
+ { 0, { 0, 0, 0}}, // (146, 104)
+ { 0, { 0, 0, 0}}, // (147, 104)
+ { 0, { 0, 0, 0}}, // (148, 104)
+ { 0, { 0, 0, 0}}, // (149, 104)
+ { 0, { 0, 0, 0}}, // (150, 104)
+ { 0, { 0, 0, 0}}, // (151, 104)
+ { 0, { 0, 0, 0}}, // (152, 104)
+ { 0, { 0, 0, 0}}, // (153, 104)
+ { 0, { 0, 0, 0}}, // (154, 104)
+ { 0, { 0, 0, 0}}, // (155, 104)
+ { 0, { 0, 0, 0}}, // (156, 104)
+ { 0, { 0, 0, 0}}, // (157, 104)
+ { 0, { 0, 0, 0}}, // (158, 104)
+ { 0, { 0, 0, 0}}, // (159, 104)
+ { 0, { 0, 0, 0}}, // (160, 104)
+ { 0, { 0, 0, 0}}, // (161, 104)
+ { 0, { 0, 0, 0}}, // (162, 104)
+ { 0, { 0, 0, 0}}, // (163, 104)
+ { 0, { 0, 0, 0}}, // (164, 104)
+ { 0, { 0, 0, 0}}, // (165, 104)
+ { 0, { 0, 0, 0}}, // (166, 104)
+ { 0, { 0, 0, 0}}, // (167, 104)
+ { 0, { 0, 0, 0}}, // (168, 104)
+ { 0, { 0, 0, 0}}, // (169, 104)
+ { 0, { 0, 0, 0}}, // (170, 104)
+ { 0, { 0, 0, 0}}, // (171, 104)
+ { 0, { 0, 0, 0}}, // (172, 104)
+ { 0, { 0, 0, 0}}, // (173, 104)
+ { 0, { 0, 0, 0}}, // (174, 104)
+ { 0, { 0, 0, 0}}, // (175, 104)
+ { 25, { 0, 0, 0}}, // (176, 104)
+ {128, { 0, 0, 0}}, // (177, 104)
+ {128, { 0, 0, 0}}, // (178, 104)
+ {128, { 0, 0, 0}}, // (179, 104)
+ {128, { 0, 0, 0}}, // ( 0, 105)
+ {128, { 0, 0, 0}}, // ( 1, 105)
+ {128, { 0, 0, 0}}, // ( 2, 105)
+ { 50, { 0, 0, 0}}, // ( 3, 105)
+ { 0, { 0, 0, 0}}, // ( 4, 105)
+ { 0, { 0, 0, 0}}, // ( 5, 105)
+ { 0, { 0, 0, 0}}, // ( 6, 105)
+ { 0, { 0, 0, 0}}, // ( 7, 105)
+ { 0, { 0, 0, 0}}, // ( 8, 105)
+ { 0, { 0, 0, 0}}, // ( 9, 105)
+ { 0, { 0, 0, 0}}, // ( 10, 105)
+ { 0, { 0, 0, 0}}, // ( 11, 105)
+ { 0, { 0, 0, 0}}, // ( 12, 105)
+ { 0, { 0, 0, 0}}, // ( 13, 105)
+ { 0, { 0, 0, 0}}, // ( 14, 105)
+ { 0, { 0, 0, 0}}, // ( 15, 105)
+ { 0, { 0, 0, 0}}, // ( 16, 105)
+ { 0, { 0, 0, 0}}, // ( 17, 105)
+ { 0, { 0, 0, 0}}, // ( 18, 105)
+ { 0, { 0, 0, 0}}, // ( 19, 105)
+ { 0, { 0, 0, 0}}, // ( 20, 105)
+ { 0, { 0, 0, 0}}, // ( 21, 105)
+ { 0, { 0, 0, 0}}, // ( 22, 105)
+ { 0, { 0, 0, 0}}, // ( 23, 105)
+ { 0, { 0, 0, 0}}, // ( 24, 105)
+ { 0, { 0, 0, 0}}, // ( 25, 105)
+ { 0, { 0, 0, 0}}, // ( 26, 105)
+ { 0, { 0, 0, 0}}, // ( 27, 105)
+ { 0, { 0, 0, 0}}, // ( 28, 105)
+ { 0, { 0, 0, 0}}, // ( 29, 105)
+ { 0, { 0, 0, 0}}, // ( 30, 105)
+ { 0, { 0, 0, 0}}, // ( 31, 105)
+ { 0, { 0, 0, 0}}, // ( 32, 105)
+ { 0, { 0, 0, 0}}, // ( 33, 105)
+ { 0, { 0, 0, 0}}, // ( 34, 105)
+ { 0, { 0, 0, 0}}, // ( 35, 105)
+ { 0, { 0, 0, 0}}, // ( 36, 105)
+ { 0, { 0, 0, 0}}, // ( 37, 105)
+ { 0, { 0, 0, 0}}, // ( 38, 105)
+ { 0, { 0, 0, 0}}, // ( 39, 105)
+ { 0, { 0, 0, 0}}, // ( 40, 105)
+ { 0, { 0, 0, 0}}, // ( 41, 105)
+ { 0, { 0, 0, 0}}, // ( 42, 105)
+ { 0, { 0, 0, 0}}, // ( 43, 105)
+ { 0, { 0, 0, 0}}, // ( 44, 105)
+ { 0, { 0, 0, 0}}, // ( 45, 105)
+ { 0, { 0, 0, 0}}, // ( 46, 105)
+ { 0, { 0, 0, 0}}, // ( 47, 105)
+ { 0, { 0, 0, 0}}, // ( 48, 105)
+ { 0, { 0, 0, 0}}, // ( 49, 105)
+ { 0, { 0, 0, 0}}, // ( 50, 105)
+ { 0, { 0, 0, 0}}, // ( 51, 105)
+ { 0, { 0, 0, 0}}, // ( 52, 105)
+ { 0, { 0, 0, 0}}, // ( 53, 105)
+ { 0, { 0, 0, 0}}, // ( 54, 105)
+ { 0, { 0, 0, 0}}, // ( 55, 105)
+ { 0, { 0, 0, 0}}, // ( 56, 105)
+ { 0, { 0, 0, 0}}, // ( 57, 105)
+ { 0, { 0, 0, 0}}, // ( 58, 105)
+ { 0, { 0, 0, 0}}, // ( 59, 105)
+ { 0, { 0, 0, 0}}, // ( 60, 105)
+ { 0, { 0, 0, 0}}, // ( 61, 105)
+ { 0, { 0, 0, 0}}, // ( 62, 105)
+ { 0, { 0, 0, 0}}, // ( 63, 105)
+ { 0, { 0, 0, 0}}, // ( 64, 105)
+ { 0, { 0, 0, 0}}, // ( 65, 105)
+ { 0, { 0, 0, 0}}, // ( 66, 105)
+ { 0, { 0, 0, 0}}, // ( 67, 105)
+ { 0, { 0, 0, 0}}, // ( 68, 105)
+ { 0, { 0, 0, 0}}, // ( 69, 105)
+ { 0, { 0, 0, 0}}, // ( 70, 105)
+ { 0, { 0, 0, 0}}, // ( 71, 105)
+ { 0, { 0, 0, 0}}, // ( 72, 105)
+ { 0, { 0, 0, 0}}, // ( 73, 105)
+ { 0, { 0, 0, 0}}, // ( 74, 105)
+ { 0, { 0, 0, 0}}, // ( 75, 105)
+ { 0, { 0, 0, 0}}, // ( 76, 105)
+ { 0, { 0, 0, 0}}, // ( 77, 105)
+ { 0, { 0, 0, 0}}, // ( 78, 105)
+ { 0, { 0, 0, 0}}, // ( 79, 105)
+ { 0, { 0, 0, 0}}, // ( 80, 105)
+ { 0, { 0, 0, 0}}, // ( 81, 105)
+ { 0, { 0, 0, 0}}, // ( 82, 105)
+ { 0, { 0, 0, 0}}, // ( 83, 105)
+ { 0, { 0, 0, 0}}, // ( 84, 105)
+ { 0, { 0, 0, 0}}, // ( 85, 105)
+ { 0, { 0, 0, 0}}, // ( 86, 105)
+ { 0, { 0, 0, 0}}, // ( 87, 105)
+ { 0, { 0, 0, 0}}, // ( 88, 105)
+ { 0, { 0, 0, 0}}, // ( 89, 105)
+ { 0, { 0, 0, 0}}, // ( 90, 105)
+ { 0, { 0, 0, 0}}, // ( 91, 105)
+ { 0, { 0, 0, 0}}, // ( 92, 105)
+ { 0, { 0, 0, 0}}, // ( 93, 105)
+ { 0, { 0, 0, 0}}, // ( 94, 105)
+ { 0, { 0, 0, 0}}, // ( 95, 105)
+ { 0, { 0, 0, 0}}, // ( 96, 105)
+ { 0, { 0, 0, 0}}, // ( 97, 105)
+ { 0, { 0, 0, 0}}, // ( 98, 105)
+ { 0, { 0, 0, 0}}, // ( 99, 105)
+ { 0, { 0, 0, 0}}, // (100, 105)
+ { 0, { 0, 0, 0}}, // (101, 105)
+ { 0, { 0, 0, 0}}, // (102, 105)
+ { 0, { 0, 0, 0}}, // (103, 105)
+ { 0, { 0, 0, 0}}, // (104, 105)
+ { 0, { 0, 0, 0}}, // (105, 105)
+ { 0, { 0, 0, 0}}, // (106, 105)
+ { 0, { 0, 0, 0}}, // (107, 105)
+ { 0, { 0, 0, 0}}, // (108, 105)
+ { 0, { 0, 0, 0}}, // (109, 105)
+ { 0, { 0, 0, 0}}, // (110, 105)
+ { 0, { 0, 0, 0}}, // (111, 105)
+ { 0, { 0, 0, 0}}, // (112, 105)
+ { 0, { 0, 0, 0}}, // (113, 105)
+ { 0, { 0, 0, 0}}, // (114, 105)
+ { 0, { 0, 0, 0}}, // (115, 105)
+ { 0, { 0, 0, 0}}, // (116, 105)
+ { 0, { 0, 0, 0}}, // (117, 105)
+ { 0, { 0, 0, 0}}, // (118, 105)
+ { 0, { 0, 0, 0}}, // (119, 105)
+ { 0, { 0, 0, 0}}, // (120, 105)
+ { 0, { 0, 0, 0}}, // (121, 105)
+ { 0, { 0, 0, 0}}, // (122, 105)
+ { 0, { 0, 0, 0}}, // (123, 105)
+ { 0, { 0, 0, 0}}, // (124, 105)
+ { 0, { 0, 0, 0}}, // (125, 105)
+ { 0, { 0, 0, 0}}, // (126, 105)
+ { 0, { 0, 0, 0}}, // (127, 105)
+ { 0, { 0, 0, 0}}, // (128, 105)
+ { 0, { 0, 0, 0}}, // (129, 105)
+ { 0, { 0, 0, 0}}, // (130, 105)
+ { 0, { 0, 0, 0}}, // (131, 105)
+ { 0, { 0, 0, 0}}, // (132, 105)
+ { 0, { 0, 0, 0}}, // (133, 105)
+ { 0, { 0, 0, 0}}, // (134, 105)
+ { 0, { 0, 0, 0}}, // (135, 105)
+ { 0, { 0, 0, 0}}, // (136, 105)
+ { 0, { 0, 0, 0}}, // (137, 105)
+ { 0, { 0, 0, 0}}, // (138, 105)
+ { 0, { 0, 0, 0}}, // (139, 105)
+ { 0, { 0, 0, 0}}, // (140, 105)
+ { 0, { 0, 0, 0}}, // (141, 105)
+ { 0, { 0, 0, 0}}, // (142, 105)
+ { 0, { 0, 0, 0}}, // (143, 105)
+ { 0, { 0, 0, 0}}, // (144, 105)
+ { 0, { 0, 0, 0}}, // (145, 105)
+ { 0, { 0, 0, 0}}, // (146, 105)
+ { 0, { 0, 0, 0}}, // (147, 105)
+ { 0, { 0, 0, 0}}, // (148, 105)
+ { 0, { 0, 0, 0}}, // (149, 105)
+ { 0, { 0, 0, 0}}, // (150, 105)
+ { 0, { 0, 0, 0}}, // (151, 105)
+ { 0, { 0, 0, 0}}, // (152, 105)
+ { 0, { 0, 0, 0}}, // (153, 105)
+ { 0, { 0, 0, 0}}, // (154, 105)
+ { 0, { 0, 0, 0}}, // (155, 105)
+ { 0, { 0, 0, 0}}, // (156, 105)
+ { 0, { 0, 0, 0}}, // (157, 105)
+ { 0, { 0, 0, 0}}, // (158, 105)
+ { 0, { 0, 0, 0}}, // (159, 105)
+ { 0, { 0, 0, 0}}, // (160, 105)
+ { 0, { 0, 0, 0}}, // (161, 105)
+ { 0, { 0, 0, 0}}, // (162, 105)
+ { 0, { 0, 0, 0}}, // (163, 105)
+ { 0, { 0, 0, 0}}, // (164, 105)
+ { 0, { 0, 0, 0}}, // (165, 105)
+ { 0, { 0, 0, 0}}, // (166, 105)
+ { 0, { 0, 0, 0}}, // (167, 105)
+ { 0, { 0, 0, 0}}, // (168, 105)
+ { 0, { 0, 0, 0}}, // (169, 105)
+ { 0, { 0, 0, 0}}, // (170, 105)
+ { 0, { 0, 0, 0}}, // (171, 105)
+ { 0, { 0, 0, 0}}, // (172, 105)
+ { 0, { 0, 0, 0}}, // (173, 105)
+ { 0, { 0, 0, 0}}, // (174, 105)
+ { 0, { 0, 0, 0}}, // (175, 105)
+ { 47, { 0, 0, 0}}, // (176, 105)
+ {128, { 0, 0, 0}}, // (177, 105)
+ {128, { 0, 0, 0}}, // (178, 105)
+ {128, { 0, 0, 0}}, // (179, 105)
+ {128, { 0, 0, 0}}, // ( 0, 106)
+ {128, { 0, 0, 0}}, // ( 1, 106)
+ {128, { 0, 0, 0}}, // ( 2, 106)
+ { 72, { 0, 0, 0}}, // ( 3, 106)
+ { 0, { 0, 0, 0}}, // ( 4, 106)
+ { 0, { 0, 0, 0}}, // ( 5, 106)
+ { 0, { 0, 0, 0}}, // ( 6, 106)
+ { 0, { 0, 0, 0}}, // ( 7, 106)
+ { 0, { 0, 0, 0}}, // ( 8, 106)
+ { 0, { 0, 0, 0}}, // ( 9, 106)
+ { 0, { 0, 0, 0}}, // ( 10, 106)
+ { 0, { 0, 0, 0}}, // ( 11, 106)
+ { 0, { 0, 0, 0}}, // ( 12, 106)
+ { 0, { 0, 0, 0}}, // ( 13, 106)
+ { 0, { 0, 0, 0}}, // ( 14, 106)
+ { 0, { 0, 0, 0}}, // ( 15, 106)
+ { 0, { 0, 0, 0}}, // ( 16, 106)
+ { 0, { 0, 0, 0}}, // ( 17, 106)
+ { 0, { 0, 0, 0}}, // ( 18, 106)
+ { 0, { 0, 0, 0}}, // ( 19, 106)
+ { 0, { 0, 0, 0}}, // ( 20, 106)
+ { 0, { 0, 0, 0}}, // ( 21, 106)
+ { 0, { 0, 0, 0}}, // ( 22, 106)
+ { 0, { 0, 0, 0}}, // ( 23, 106)
+ { 0, { 0, 0, 0}}, // ( 24, 106)
+ { 0, { 0, 0, 0}}, // ( 25, 106)
+ { 0, { 0, 0, 0}}, // ( 26, 106)
+ { 0, { 0, 0, 0}}, // ( 27, 106)
+ { 0, { 0, 0, 0}}, // ( 28, 106)
+ { 0, { 0, 0, 0}}, // ( 29, 106)
+ { 0, { 0, 0, 0}}, // ( 30, 106)
+ { 0, { 0, 0, 0}}, // ( 31, 106)
+ { 0, { 0, 0, 0}}, // ( 32, 106)
+ { 0, { 0, 0, 0}}, // ( 33, 106)
+ { 0, { 0, 0, 0}}, // ( 34, 106)
+ { 0, { 0, 0, 0}}, // ( 35, 106)
+ { 0, { 0, 0, 0}}, // ( 36, 106)
+ { 0, { 0, 0, 0}}, // ( 37, 106)
+ { 0, { 0, 0, 0}}, // ( 38, 106)
+ { 0, { 0, 0, 0}}, // ( 39, 106)
+ { 0, { 0, 0, 0}}, // ( 40, 106)
+ { 0, { 0, 0, 0}}, // ( 41, 106)
+ { 0, { 0, 0, 0}}, // ( 42, 106)
+ { 0, { 0, 0, 0}}, // ( 43, 106)
+ { 0, { 0, 0, 0}}, // ( 44, 106)
+ { 0, { 0, 0, 0}}, // ( 45, 106)
+ { 0, { 0, 0, 0}}, // ( 46, 106)
+ { 0, { 0, 0, 0}}, // ( 47, 106)
+ { 0, { 0, 0, 0}}, // ( 48, 106)
+ { 0, { 0, 0, 0}}, // ( 49, 106)
+ { 0, { 0, 0, 0}}, // ( 50, 106)
+ { 0, { 0, 0, 0}}, // ( 51, 106)
+ { 0, { 0, 0, 0}}, // ( 52, 106)
+ { 0, { 0, 0, 0}}, // ( 53, 106)
+ { 0, { 0, 0, 0}}, // ( 54, 106)
+ { 0, { 0, 0, 0}}, // ( 55, 106)
+ { 0, { 0, 0, 0}}, // ( 56, 106)
+ { 0, { 0, 0, 0}}, // ( 57, 106)
+ { 0, { 0, 0, 0}}, // ( 58, 106)
+ { 0, { 0, 0, 0}}, // ( 59, 106)
+ { 0, { 0, 0, 0}}, // ( 60, 106)
+ { 0, { 0, 0, 0}}, // ( 61, 106)
+ { 0, { 0, 0, 0}}, // ( 62, 106)
+ { 0, { 0, 0, 0}}, // ( 63, 106)
+ { 0, { 0, 0, 0}}, // ( 64, 106)
+ { 0, { 0, 0, 0}}, // ( 65, 106)
+ { 0, { 0, 0, 0}}, // ( 66, 106)
+ { 0, { 0, 0, 0}}, // ( 67, 106)
+ { 0, { 0, 0, 0}}, // ( 68, 106)
+ { 0, { 0, 0, 0}}, // ( 69, 106)
+ { 0, { 0, 0, 0}}, // ( 70, 106)
+ { 0, { 0, 0, 0}}, // ( 71, 106)
+ { 0, { 0, 0, 0}}, // ( 72, 106)
+ { 0, { 0, 0, 0}}, // ( 73, 106)
+ { 0, { 0, 0, 0}}, // ( 74, 106)
+ { 0, { 0, 0, 0}}, // ( 75, 106)
+ { 0, { 0, 0, 0}}, // ( 76, 106)
+ { 0, { 0, 0, 0}}, // ( 77, 106)
+ { 0, { 0, 0, 0}}, // ( 78, 106)
+ { 0, { 0, 0, 0}}, // ( 79, 106)
+ { 0, { 0, 0, 0}}, // ( 80, 106)
+ { 0, { 0, 0, 0}}, // ( 81, 106)
+ { 0, { 0, 0, 0}}, // ( 82, 106)
+ { 0, { 0, 0, 0}}, // ( 83, 106)
+ { 0, { 0, 0, 0}}, // ( 84, 106)
+ { 0, { 0, 0, 0}}, // ( 85, 106)
+ { 0, { 0, 0, 0}}, // ( 86, 106)
+ { 0, { 0, 0, 0}}, // ( 87, 106)
+ { 0, { 0, 0, 0}}, // ( 88, 106)
+ { 0, { 0, 0, 0}}, // ( 89, 106)
+ { 0, { 0, 0, 0}}, // ( 90, 106)
+ { 0, { 0, 0, 0}}, // ( 91, 106)
+ { 0, { 0, 0, 0}}, // ( 92, 106)
+ { 0, { 0, 0, 0}}, // ( 93, 106)
+ { 0, { 0, 0, 0}}, // ( 94, 106)
+ { 0, { 0, 0, 0}}, // ( 95, 106)
+ { 0, { 0, 0, 0}}, // ( 96, 106)
+ { 0, { 0, 0, 0}}, // ( 97, 106)
+ { 0, { 0, 0, 0}}, // ( 98, 106)
+ { 0, { 0, 0, 0}}, // ( 99, 106)
+ { 0, { 0, 0, 0}}, // (100, 106)
+ { 0, { 0, 0, 0}}, // (101, 106)
+ { 0, { 0, 0, 0}}, // (102, 106)
+ { 0, { 0, 0, 0}}, // (103, 106)
+ { 0, { 0, 0, 0}}, // (104, 106)
+ { 0, { 0, 0, 0}}, // (105, 106)
+ { 0, { 0, 0, 0}}, // (106, 106)
+ { 0, { 0, 0, 0}}, // (107, 106)
+ { 0, { 0, 0, 0}}, // (108, 106)
+ { 0, { 0, 0, 0}}, // (109, 106)
+ { 0, { 0, 0, 0}}, // (110, 106)
+ { 0, { 0, 0, 0}}, // (111, 106)
+ { 0, { 0, 0, 0}}, // (112, 106)
+ { 0, { 0, 0, 0}}, // (113, 106)
+ { 0, { 0, 0, 0}}, // (114, 106)
+ { 0, { 0, 0, 0}}, // (115, 106)
+ { 0, { 0, 0, 0}}, // (116, 106)
+ { 0, { 0, 0, 0}}, // (117, 106)
+ { 0, { 0, 0, 0}}, // (118, 106)
+ { 0, { 0, 0, 0}}, // (119, 106)
+ { 0, { 0, 0, 0}}, // (120, 106)
+ { 0, { 0, 0, 0}}, // (121, 106)
+ { 0, { 0, 0, 0}}, // (122, 106)
+ { 0, { 0, 0, 0}}, // (123, 106)
+ { 0, { 0, 0, 0}}, // (124, 106)
+ { 0, { 0, 0, 0}}, // (125, 106)
+ { 0, { 0, 0, 0}}, // (126, 106)
+ { 0, { 0, 0, 0}}, // (127, 106)
+ { 0, { 0, 0, 0}}, // (128, 106)
+ { 0, { 0, 0, 0}}, // (129, 106)
+ { 0, { 0, 0, 0}}, // (130, 106)
+ { 0, { 0, 0, 0}}, // (131, 106)
+ { 0, { 0, 0, 0}}, // (132, 106)
+ { 0, { 0, 0, 0}}, // (133, 106)
+ { 0, { 0, 0, 0}}, // (134, 106)
+ { 0, { 0, 0, 0}}, // (135, 106)
+ { 0, { 0, 0, 0}}, // (136, 106)
+ { 0, { 0, 0, 0}}, // (137, 106)
+ { 0, { 0, 0, 0}}, // (138, 106)
+ { 0, { 0, 0, 0}}, // (139, 106)
+ { 0, { 0, 0, 0}}, // (140, 106)
+ { 0, { 0, 0, 0}}, // (141, 106)
+ { 0, { 0, 0, 0}}, // (142, 106)
+ { 0, { 0, 0, 0}}, // (143, 106)
+ { 0, { 0, 0, 0}}, // (144, 106)
+ { 0, { 0, 0, 0}}, // (145, 106)
+ { 0, { 0, 0, 0}}, // (146, 106)
+ { 0, { 0, 0, 0}}, // (147, 106)
+ { 0, { 0, 0, 0}}, // (148, 106)
+ { 0, { 0, 0, 0}}, // (149, 106)
+ { 0, { 0, 0, 0}}, // (150, 106)
+ { 0, { 0, 0, 0}}, // (151, 106)
+ { 0, { 0, 0, 0}}, // (152, 106)
+ { 0, { 0, 0, 0}}, // (153, 106)
+ { 0, { 0, 0, 0}}, // (154, 106)
+ { 0, { 0, 0, 0}}, // (155, 106)
+ { 0, { 0, 0, 0}}, // (156, 106)
+ { 0, { 0, 0, 0}}, // (157, 106)
+ { 0, { 0, 0, 0}}, // (158, 106)
+ { 0, { 0, 0, 0}}, // (159, 106)
+ { 0, { 0, 0, 0}}, // (160, 106)
+ { 0, { 0, 0, 0}}, // (161, 106)
+ { 0, { 0, 0, 0}}, // (162, 106)
+ { 0, { 0, 0, 0}}, // (163, 106)
+ { 0, { 0, 0, 0}}, // (164, 106)
+ { 0, { 0, 0, 0}}, // (165, 106)
+ { 0, { 0, 0, 0}}, // (166, 106)
+ { 0, { 0, 0, 0}}, // (167, 106)
+ { 0, { 0, 0, 0}}, // (168, 106)
+ { 0, { 0, 0, 0}}, // (169, 106)
+ { 0, { 0, 0, 0}}, // (170, 106)
+ { 0, { 0, 0, 0}}, // (171, 106)
+ { 0, { 0, 0, 0}}, // (172, 106)
+ { 0, { 0, 0, 0}}, // (173, 106)
+ { 0, { 0, 0, 0}}, // (174, 106)
+ { 0, { 0, 0, 0}}, // (175, 106)
+ { 70, { 0, 0, 0}}, // (176, 106)
+ {128, { 0, 0, 0}}, // (177, 106)
+ {128, { 0, 0, 0}}, // (178, 106)
+ {128, { 0, 0, 0}}, // (179, 106)
+ {128, { 0, 0, 0}}, // ( 0, 107)
+ {128, { 0, 0, 0}}, // ( 1, 107)
+ {128, { 0, 0, 0}}, // ( 2, 107)
+ { 95, { 0, 0, 0}}, // ( 3, 107)
+ { 0, { 0, 0, 0}}, // ( 4, 107)
+ { 0, { 0, 0, 0}}, // ( 5, 107)
+ { 0, { 0, 0, 0}}, // ( 6, 107)
+ { 0, { 0, 0, 0}}, // ( 7, 107)
+ { 0, { 0, 0, 0}}, // ( 8, 107)
+ { 0, { 0, 0, 0}}, // ( 9, 107)
+ { 0, { 0, 0, 0}}, // ( 10, 107)
+ { 0, { 0, 0, 0}}, // ( 11, 107)
+ { 0, { 0, 0, 0}}, // ( 12, 107)
+ { 0, { 0, 0, 0}}, // ( 13, 107)
+ { 0, { 0, 0, 0}}, // ( 14, 107)
+ { 0, { 0, 0, 0}}, // ( 15, 107)
+ { 0, { 0, 0, 0}}, // ( 16, 107)
+ { 0, { 0, 0, 0}}, // ( 17, 107)
+ { 0, { 0, 0, 0}}, // ( 18, 107)
+ { 0, { 0, 0, 0}}, // ( 19, 107)
+ { 0, { 0, 0, 0}}, // ( 20, 107)
+ { 0, { 0, 0, 0}}, // ( 21, 107)
+ { 0, { 0, 0, 0}}, // ( 22, 107)
+ { 0, { 0, 0, 0}}, // ( 23, 107)
+ { 0, { 0, 0, 0}}, // ( 24, 107)
+ { 0, { 0, 0, 0}}, // ( 25, 107)
+ { 0, { 0, 0, 0}}, // ( 26, 107)
+ { 0, { 0, 0, 0}}, // ( 27, 107)
+ { 0, { 0, 0, 0}}, // ( 28, 107)
+ { 0, { 0, 0, 0}}, // ( 29, 107)
+ { 0, { 0, 0, 0}}, // ( 30, 107)
+ { 0, { 0, 0, 0}}, // ( 31, 107)
+ { 0, { 0, 0, 0}}, // ( 32, 107)
+ { 0, { 0, 0, 0}}, // ( 33, 107)
+ { 0, { 0, 0, 0}}, // ( 34, 107)
+ { 0, { 0, 0, 0}}, // ( 35, 107)
+ { 0, { 0, 0, 0}}, // ( 36, 107)
+ { 0, { 0, 0, 0}}, // ( 37, 107)
+ { 0, { 0, 0, 0}}, // ( 38, 107)
+ { 0, { 0, 0, 0}}, // ( 39, 107)
+ { 0, { 0, 0, 0}}, // ( 40, 107)
+ { 0, { 0, 0, 0}}, // ( 41, 107)
+ { 0, { 0, 0, 0}}, // ( 42, 107)
+ { 0, { 0, 0, 0}}, // ( 43, 107)
+ { 0, { 0, 0, 0}}, // ( 44, 107)
+ { 0, { 0, 0, 0}}, // ( 45, 107)
+ { 0, { 0, 0, 0}}, // ( 46, 107)
+ { 0, { 0, 0, 0}}, // ( 47, 107)
+ { 0, { 0, 0, 0}}, // ( 48, 107)
+ { 0, { 0, 0, 0}}, // ( 49, 107)
+ { 0, { 0, 0, 0}}, // ( 50, 107)
+ { 0, { 0, 0, 0}}, // ( 51, 107)
+ { 0, { 0, 0, 0}}, // ( 52, 107)
+ { 0, { 0, 0, 0}}, // ( 53, 107)
+ { 0, { 0, 0, 0}}, // ( 54, 107)
+ { 0, { 0, 0, 0}}, // ( 55, 107)
+ { 0, { 0, 0, 0}}, // ( 56, 107)
+ { 0, { 0, 0, 0}}, // ( 57, 107)
+ { 0, { 0, 0, 0}}, // ( 58, 107)
+ { 0, { 0, 0, 0}}, // ( 59, 107)
+ { 0, { 0, 0, 0}}, // ( 60, 107)
+ { 0, { 0, 0, 0}}, // ( 61, 107)
+ { 0, { 0, 0, 0}}, // ( 62, 107)
+ { 0, { 0, 0, 0}}, // ( 63, 107)
+ { 0, { 0, 0, 0}}, // ( 64, 107)
+ { 0, { 0, 0, 0}}, // ( 65, 107)
+ { 0, { 0, 0, 0}}, // ( 66, 107)
+ { 0, { 0, 0, 0}}, // ( 67, 107)
+ { 0, { 0, 0, 0}}, // ( 68, 107)
+ { 0, { 0, 0, 0}}, // ( 69, 107)
+ { 0, { 0, 0, 0}}, // ( 70, 107)
+ { 0, { 0, 0, 0}}, // ( 71, 107)
+ { 0, { 0, 0, 0}}, // ( 72, 107)
+ { 0, { 0, 0, 0}}, // ( 73, 107)
+ { 0, { 0, 0, 0}}, // ( 74, 107)
+ { 0, { 0, 0, 0}}, // ( 75, 107)
+ { 0, { 0, 0, 0}}, // ( 76, 107)
+ { 0, { 0, 0, 0}}, // ( 77, 107)
+ { 0, { 0, 0, 0}}, // ( 78, 107)
+ { 0, { 0, 0, 0}}, // ( 79, 107)
+ { 0, { 0, 0, 0}}, // ( 80, 107)
+ { 0, { 0, 0, 0}}, // ( 81, 107)
+ { 0, { 0, 0, 0}}, // ( 82, 107)
+ { 0, { 0, 0, 0}}, // ( 83, 107)
+ { 0, { 0, 0, 0}}, // ( 84, 107)
+ { 0, { 0, 0, 0}}, // ( 85, 107)
+ { 0, { 0, 0, 0}}, // ( 86, 107)
+ { 0, { 0, 0, 0}}, // ( 87, 107)
+ { 0, { 0, 0, 0}}, // ( 88, 107)
+ { 0, { 0, 0, 0}}, // ( 89, 107)
+ { 0, { 0, 0, 0}}, // ( 90, 107)
+ { 0, { 0, 0, 0}}, // ( 91, 107)
+ { 0, { 0, 0, 0}}, // ( 92, 107)
+ { 0, { 0, 0, 0}}, // ( 93, 107)
+ { 0, { 0, 0, 0}}, // ( 94, 107)
+ { 0, { 0, 0, 0}}, // ( 95, 107)
+ { 0, { 0, 0, 0}}, // ( 96, 107)
+ { 0, { 0, 0, 0}}, // ( 97, 107)
+ { 0, { 0, 0, 0}}, // ( 98, 107)
+ { 0, { 0, 0, 0}}, // ( 99, 107)
+ { 0, { 0, 0, 0}}, // (100, 107)
+ { 0, { 0, 0, 0}}, // (101, 107)
+ { 0, { 0, 0, 0}}, // (102, 107)
+ { 0, { 0, 0, 0}}, // (103, 107)
+ { 0, { 0, 0, 0}}, // (104, 107)
+ { 0, { 0, 0, 0}}, // (105, 107)
+ { 0, { 0, 0, 0}}, // (106, 107)
+ { 0, { 0, 0, 0}}, // (107, 107)
+ { 0, { 0, 0, 0}}, // (108, 107)
+ { 0, { 0, 0, 0}}, // (109, 107)
+ { 0, { 0, 0, 0}}, // (110, 107)
+ { 0, { 0, 0, 0}}, // (111, 107)
+ { 0, { 0, 0, 0}}, // (112, 107)
+ { 0, { 0, 0, 0}}, // (113, 107)
+ { 0, { 0, 0, 0}}, // (114, 107)
+ { 0, { 0, 0, 0}}, // (115, 107)
+ { 0, { 0, 0, 0}}, // (116, 107)
+ { 0, { 0, 0, 0}}, // (117, 107)
+ { 0, { 0, 0, 0}}, // (118, 107)
+ { 0, { 0, 0, 0}}, // (119, 107)
+ { 0, { 0, 0, 0}}, // (120, 107)
+ { 0, { 0, 0, 0}}, // (121, 107)
+ { 0, { 0, 0, 0}}, // (122, 107)
+ { 0, { 0, 0, 0}}, // (123, 107)
+ { 0, { 0, 0, 0}}, // (124, 107)
+ { 0, { 0, 0, 0}}, // (125, 107)
+ { 0, { 0, 0, 0}}, // (126, 107)
+ { 0, { 0, 0, 0}}, // (127, 107)
+ { 0, { 0, 0, 0}}, // (128, 107)
+ { 0, { 0, 0, 0}}, // (129, 107)
+ { 0, { 0, 0, 0}}, // (130, 107)
+ { 0, { 0, 0, 0}}, // (131, 107)
+ { 0, { 0, 0, 0}}, // (132, 107)
+ { 0, { 0, 0, 0}}, // (133, 107)
+ { 0, { 0, 0, 0}}, // (134, 107)
+ { 0, { 0, 0, 0}}, // (135, 107)
+ { 0, { 0, 0, 0}}, // (136, 107)
+ { 0, { 0, 0, 0}}, // (137, 107)
+ { 0, { 0, 0, 0}}, // (138, 107)
+ { 0, { 0, 0, 0}}, // (139, 107)
+ { 0, { 0, 0, 0}}, // (140, 107)
+ { 0, { 0, 0, 0}}, // (141, 107)
+ { 0, { 0, 0, 0}}, // (142, 107)
+ { 0, { 0, 0, 0}}, // (143, 107)
+ { 0, { 0, 0, 0}}, // (144, 107)
+ { 0, { 0, 0, 0}}, // (145, 107)
+ { 0, { 0, 0, 0}}, // (146, 107)
+ { 0, { 0, 0, 0}}, // (147, 107)
+ { 0, { 0, 0, 0}}, // (148, 107)
+ { 0, { 0, 0, 0}}, // (149, 107)
+ { 0, { 0, 0, 0}}, // (150, 107)
+ { 0, { 0, 0, 0}}, // (151, 107)
+ { 0, { 0, 0, 0}}, // (152, 107)
+ { 0, { 0, 0, 0}}, // (153, 107)
+ { 0, { 0, 0, 0}}, // (154, 107)
+ { 0, { 0, 0, 0}}, // (155, 107)
+ { 0, { 0, 0, 0}}, // (156, 107)
+ { 0, { 0, 0, 0}}, // (157, 107)
+ { 0, { 0, 0, 0}}, // (158, 107)
+ { 0, { 0, 0, 0}}, // (159, 107)
+ { 0, { 0, 0, 0}}, // (160, 107)
+ { 0, { 0, 0, 0}}, // (161, 107)
+ { 0, { 0, 0, 0}}, // (162, 107)
+ { 0, { 0, 0, 0}}, // (163, 107)
+ { 0, { 0, 0, 0}}, // (164, 107)
+ { 0, { 0, 0, 0}}, // (165, 107)
+ { 0, { 0, 0, 0}}, // (166, 107)
+ { 0, { 0, 0, 0}}, // (167, 107)
+ { 0, { 0, 0, 0}}, // (168, 107)
+ { 0, { 0, 0, 0}}, // (169, 107)
+ { 0, { 0, 0, 0}}, // (170, 107)
+ { 0, { 0, 0, 0}}, // (171, 107)
+ { 0, { 0, 0, 0}}, // (172, 107)
+ { 0, { 0, 0, 0}}, // (173, 107)
+ { 0, { 0, 0, 0}}, // (174, 107)
+ { 0, { 0, 0, 0}}, // (175, 107)
+ { 95, { 0, 0, 0}}, // (176, 107)
+ {128, { 0, 0, 0}}, // (177, 107)
+ {128, { 0, 0, 0}}, // (178, 107)
+ {128, { 0, 0, 0}}, // (179, 107)
+ {128, { 0, 0, 0}}, // ( 0, 108)
+ {128, { 0, 0, 0}}, // ( 1, 108)
+ {128, { 0, 0, 0}}, // ( 2, 108)
+ {120, { 0, 0, 0}}, // ( 3, 108)
+ { 1, { 0, 0, 0}}, // ( 4, 108)
+ { 0, { 0, 0, 0}}, // ( 5, 108)
+ { 0, { 0, 0, 0}}, // ( 6, 108)
+ { 0, { 0, 0, 0}}, // ( 7, 108)
+ { 0, { 0, 0, 0}}, // ( 8, 108)
+ { 0, { 0, 0, 0}}, // ( 9, 108)
+ { 0, { 0, 0, 0}}, // ( 10, 108)
+ { 0, { 0, 0, 0}}, // ( 11, 108)
+ { 0, { 0, 0, 0}}, // ( 12, 108)
+ { 0, { 0, 0, 0}}, // ( 13, 108)
+ { 0, { 0, 0, 0}}, // ( 14, 108)
+ { 0, { 0, 0, 0}}, // ( 15, 108)
+ { 0, { 0, 0, 0}}, // ( 16, 108)
+ { 0, { 0, 0, 0}}, // ( 17, 108)
+ { 0, { 0, 0, 0}}, // ( 18, 108)
+ { 0, { 0, 0, 0}}, // ( 19, 108)
+ { 0, { 0, 0, 0}}, // ( 20, 108)
+ { 0, { 0, 0, 0}}, // ( 21, 108)
+ { 0, { 0, 0, 0}}, // ( 22, 108)
+ { 0, { 0, 0, 0}}, // ( 23, 108)
+ { 0, { 0, 0, 0}}, // ( 24, 108)
+ { 0, { 0, 0, 0}}, // ( 25, 108)
+ { 0, { 0, 0, 0}}, // ( 26, 108)
+ { 0, { 0, 0, 0}}, // ( 27, 108)
+ { 0, { 0, 0, 0}}, // ( 28, 108)
+ { 0, { 0, 0, 0}}, // ( 29, 108)
+ { 0, { 0, 0, 0}}, // ( 30, 108)
+ { 0, { 0, 0, 0}}, // ( 31, 108)
+ { 0, { 0, 0, 0}}, // ( 32, 108)
+ { 0, { 0, 0, 0}}, // ( 33, 108)
+ { 0, { 0, 0, 0}}, // ( 34, 108)
+ { 0, { 0, 0, 0}}, // ( 35, 108)
+ { 0, { 0, 0, 0}}, // ( 36, 108)
+ { 0, { 0, 0, 0}}, // ( 37, 108)
+ { 0, { 0, 0, 0}}, // ( 38, 108)
+ { 0, { 0, 0, 0}}, // ( 39, 108)
+ { 0, { 0, 0, 0}}, // ( 40, 108)
+ { 0, { 0, 0, 0}}, // ( 41, 108)
+ { 0, { 0, 0, 0}}, // ( 42, 108)
+ { 0, { 0, 0, 0}}, // ( 43, 108)
+ { 0, { 0, 0, 0}}, // ( 44, 108)
+ { 0, { 0, 0, 0}}, // ( 45, 108)
+ { 0, { 0, 0, 0}}, // ( 46, 108)
+ { 0, { 0, 0, 0}}, // ( 47, 108)
+ { 0, { 0, 0, 0}}, // ( 48, 108)
+ { 0, { 0, 0, 0}}, // ( 49, 108)
+ { 0, { 0, 0, 0}}, // ( 50, 108)
+ { 0, { 0, 0, 0}}, // ( 51, 108)
+ { 0, { 0, 0, 0}}, // ( 52, 108)
+ { 0, { 0, 0, 0}}, // ( 53, 108)
+ { 0, { 0, 0, 0}}, // ( 54, 108)
+ { 0, { 0, 0, 0}}, // ( 55, 108)
+ { 0, { 0, 0, 0}}, // ( 56, 108)
+ { 0, { 0, 0, 0}}, // ( 57, 108)
+ { 0, { 0, 0, 0}}, // ( 58, 108)
+ { 0, { 0, 0, 0}}, // ( 59, 108)
+ { 0, { 0, 0, 0}}, // ( 60, 108)
+ { 0, { 0, 0, 0}}, // ( 61, 108)
+ { 0, { 0, 0, 0}}, // ( 62, 108)
+ { 0, { 0, 0, 0}}, // ( 63, 108)
+ { 0, { 0, 0, 0}}, // ( 64, 108)
+ { 0, { 0, 0, 0}}, // ( 65, 108)
+ { 0, { 0, 0, 0}}, // ( 66, 108)
+ { 0, { 0, 0, 0}}, // ( 67, 108)
+ { 0, { 0, 0, 0}}, // ( 68, 108)
+ { 0, { 0, 0, 0}}, // ( 69, 108)
+ { 0, { 0, 0, 0}}, // ( 70, 108)
+ { 0, { 0, 0, 0}}, // ( 71, 108)
+ { 0, { 0, 0, 0}}, // ( 72, 108)
+ { 0, { 0, 0, 0}}, // ( 73, 108)
+ { 0, { 0, 0, 0}}, // ( 74, 108)
+ { 0, { 0, 0, 0}}, // ( 75, 108)
+ { 0, { 0, 0, 0}}, // ( 76, 108)
+ { 0, { 0, 0, 0}}, // ( 77, 108)
+ { 0, { 0, 0, 0}}, // ( 78, 108)
+ { 0, { 0, 0, 0}}, // ( 79, 108)
+ { 0, { 0, 0, 0}}, // ( 80, 108)
+ { 0, { 0, 0, 0}}, // ( 81, 108)
+ { 0, { 0, 0, 0}}, // ( 82, 108)
+ { 0, { 0, 0, 0}}, // ( 83, 108)
+ { 0, { 0, 0, 0}}, // ( 84, 108)
+ { 0, { 0, 0, 0}}, // ( 85, 108)
+ { 0, { 0, 0, 0}}, // ( 86, 108)
+ { 0, { 0, 0, 0}}, // ( 87, 108)
+ { 0, { 0, 0, 0}}, // ( 88, 108)
+ { 0, { 0, 0, 0}}, // ( 89, 108)
+ { 0, { 0, 0, 0}}, // ( 90, 108)
+ { 0, { 0, 0, 0}}, // ( 91, 108)
+ { 0, { 0, 0, 0}}, // ( 92, 108)
+ { 0, { 0, 0, 0}}, // ( 93, 108)
+ { 0, { 0, 0, 0}}, // ( 94, 108)
+ { 0, { 0, 0, 0}}, // ( 95, 108)
+ { 0, { 0, 0, 0}}, // ( 96, 108)
+ { 0, { 0, 0, 0}}, // ( 97, 108)
+ { 0, { 0, 0, 0}}, // ( 98, 108)
+ { 0, { 0, 0, 0}}, // ( 99, 108)
+ { 0, { 0, 0, 0}}, // (100, 108)
+ { 0, { 0, 0, 0}}, // (101, 108)
+ { 0, { 0, 0, 0}}, // (102, 108)
+ { 0, { 0, 0, 0}}, // (103, 108)
+ { 0, { 0, 0, 0}}, // (104, 108)
+ { 0, { 0, 0, 0}}, // (105, 108)
+ { 0, { 0, 0, 0}}, // (106, 108)
+ { 0, { 0, 0, 0}}, // (107, 108)
+ { 0, { 0, 0, 0}}, // (108, 108)
+ { 0, { 0, 0, 0}}, // (109, 108)
+ { 0, { 0, 0, 0}}, // (110, 108)
+ { 0, { 0, 0, 0}}, // (111, 108)
+ { 0, { 0, 0, 0}}, // (112, 108)
+ { 0, { 0, 0, 0}}, // (113, 108)
+ { 0, { 0, 0, 0}}, // (114, 108)
+ { 0, { 0, 0, 0}}, // (115, 108)
+ { 0, { 0, 0, 0}}, // (116, 108)
+ { 0, { 0, 0, 0}}, // (117, 108)
+ { 0, { 0, 0, 0}}, // (118, 108)
+ { 0, { 0, 0, 0}}, // (119, 108)
+ { 0, { 0, 0, 0}}, // (120, 108)
+ { 0, { 0, 0, 0}}, // (121, 108)
+ { 0, { 0, 0, 0}}, // (122, 108)
+ { 0, { 0, 0, 0}}, // (123, 108)
+ { 0, { 0, 0, 0}}, // (124, 108)
+ { 0, { 0, 0, 0}}, // (125, 108)
+ { 0, { 0, 0, 0}}, // (126, 108)
+ { 0, { 0, 0, 0}}, // (127, 108)
+ { 0, { 0, 0, 0}}, // (128, 108)
+ { 0, { 0, 0, 0}}, // (129, 108)
+ { 0, { 0, 0, 0}}, // (130, 108)
+ { 0, { 0, 0, 0}}, // (131, 108)
+ { 0, { 0, 0, 0}}, // (132, 108)
+ { 0, { 0, 0, 0}}, // (133, 108)
+ { 0, { 0, 0, 0}}, // (134, 108)
+ { 0, { 0, 0, 0}}, // (135, 108)
+ { 0, { 0, 0, 0}}, // (136, 108)
+ { 0, { 0, 0, 0}}, // (137, 108)
+ { 0, { 0, 0, 0}}, // (138, 108)
+ { 0, { 0, 0, 0}}, // (139, 108)
+ { 0, { 0, 0, 0}}, // (140, 108)
+ { 0, { 0, 0, 0}}, // (141, 108)
+ { 0, { 0, 0, 0}}, // (142, 108)
+ { 0, { 0, 0, 0}}, // (143, 108)
+ { 0, { 0, 0, 0}}, // (144, 108)
+ { 0, { 0, 0, 0}}, // (145, 108)
+ { 0, { 0, 0, 0}}, // (146, 108)
+ { 0, { 0, 0, 0}}, // (147, 108)
+ { 0, { 0, 0, 0}}, // (148, 108)
+ { 0, { 0, 0, 0}}, // (149, 108)
+ { 0, { 0, 0, 0}}, // (150, 108)
+ { 0, { 0, 0, 0}}, // (151, 108)
+ { 0, { 0, 0, 0}}, // (152, 108)
+ { 0, { 0, 0, 0}}, // (153, 108)
+ { 0, { 0, 0, 0}}, // (154, 108)
+ { 0, { 0, 0, 0}}, // (155, 108)
+ { 0, { 0, 0, 0}}, // (156, 108)
+ { 0, { 0, 0, 0}}, // (157, 108)
+ { 0, { 0, 0, 0}}, // (158, 108)
+ { 0, { 0, 0, 0}}, // (159, 108)
+ { 0, { 0, 0, 0}}, // (160, 108)
+ { 0, { 0, 0, 0}}, // (161, 108)
+ { 0, { 0, 0, 0}}, // (162, 108)
+ { 0, { 0, 0, 0}}, // (163, 108)
+ { 0, { 0, 0, 0}}, // (164, 108)
+ { 0, { 0, 0, 0}}, // (165, 108)
+ { 0, { 0, 0, 0}}, // (166, 108)
+ { 0, { 0, 0, 0}}, // (167, 108)
+ { 0, { 0, 0, 0}}, // (168, 108)
+ { 0, { 0, 0, 0}}, // (169, 108)
+ { 0, { 0, 0, 0}}, // (170, 108)
+ { 0, { 0, 0, 0}}, // (171, 108)
+ { 0, { 0, 0, 0}}, // (172, 108)
+ { 0, { 0, 0, 0}}, // (173, 108)
+ { 0, { 0, 0, 0}}, // (174, 108)
+ { 1, { 0, 0, 0}}, // (175, 108)
+ {120, { 0, 0, 0}}, // (176, 108)
+ {128, { 0, 0, 0}}, // (177, 108)
+ {128, { 0, 0, 0}}, // (178, 108)
+ {128, { 0, 0, 0}}, // (179, 108)
+ {128, { 0, 0, 0}}, // ( 0, 109)
+ {128, { 0, 0, 0}}, // ( 1, 109)
+ {128, { 0, 0, 0}}, // ( 2, 109)
+ {128, { 0, 0, 0}}, // ( 3, 109)
+ { 22, { 0, 0, 0}}, // ( 4, 109)
+ { 0, { 0, 0, 0}}, // ( 5, 109)
+ { 0, { 0, 0, 0}}, // ( 6, 109)
+ { 0, { 0, 0, 0}}, // ( 7, 109)
+ { 0, { 0, 0, 0}}, // ( 8, 109)
+ { 0, { 0, 0, 0}}, // ( 9, 109)
+ { 0, { 0, 0, 0}}, // ( 10, 109)
+ { 0, { 0, 0, 0}}, // ( 11, 109)
+ { 0, { 0, 0, 0}}, // ( 12, 109)
+ { 0, { 0, 0, 0}}, // ( 13, 109)
+ { 0, { 0, 0, 0}}, // ( 14, 109)
+ { 0, { 0, 0, 0}}, // ( 15, 109)
+ { 0, { 0, 0, 0}}, // ( 16, 109)
+ { 0, { 0, 0, 0}}, // ( 17, 109)
+ { 0, { 0, 0, 0}}, // ( 18, 109)
+ { 0, { 0, 0, 0}}, // ( 19, 109)
+ { 0, { 0, 0, 0}}, // ( 20, 109)
+ { 0, { 0, 0, 0}}, // ( 21, 109)
+ { 0, { 0, 0, 0}}, // ( 22, 109)
+ { 0, { 0, 0, 0}}, // ( 23, 109)
+ { 0, { 0, 0, 0}}, // ( 24, 109)
+ { 0, { 0, 0, 0}}, // ( 25, 109)
+ { 0, { 0, 0, 0}}, // ( 26, 109)
+ { 0, { 0, 0, 0}}, // ( 27, 109)
+ { 0, { 0, 0, 0}}, // ( 28, 109)
+ { 0, { 0, 0, 0}}, // ( 29, 109)
+ { 0, { 0, 0, 0}}, // ( 30, 109)
+ { 0, { 0, 0, 0}}, // ( 31, 109)
+ { 0, { 0, 0, 0}}, // ( 32, 109)
+ { 0, { 0, 0, 0}}, // ( 33, 109)
+ { 0, { 0, 0, 0}}, // ( 34, 109)
+ { 0, { 0, 0, 0}}, // ( 35, 109)
+ { 0, { 0, 0, 0}}, // ( 36, 109)
+ { 0, { 0, 0, 0}}, // ( 37, 109)
+ { 0, { 0, 0, 0}}, // ( 38, 109)
+ { 0, { 0, 0, 0}}, // ( 39, 109)
+ { 0, { 0, 0, 0}}, // ( 40, 109)
+ { 0, { 0, 0, 0}}, // ( 41, 109)
+ { 0, { 0, 0, 0}}, // ( 42, 109)
+ { 0, { 0, 0, 0}}, // ( 43, 109)
+ { 0, { 0, 0, 0}}, // ( 44, 109)
+ { 0, { 0, 0, 0}}, // ( 45, 109)
+ { 0, { 0, 0, 0}}, // ( 46, 109)
+ { 0, { 0, 0, 0}}, // ( 47, 109)
+ { 0, { 0, 0, 0}}, // ( 48, 109)
+ { 0, { 0, 0, 0}}, // ( 49, 109)
+ { 0, { 0, 0, 0}}, // ( 50, 109)
+ { 0, { 0, 0, 0}}, // ( 51, 109)
+ { 0, { 0, 0, 0}}, // ( 52, 109)
+ { 0, { 0, 0, 0}}, // ( 53, 109)
+ { 0, { 0, 0, 0}}, // ( 54, 109)
+ { 0, { 0, 0, 0}}, // ( 55, 109)
+ { 0, { 0, 0, 0}}, // ( 56, 109)
+ { 0, { 0, 0, 0}}, // ( 57, 109)
+ { 0, { 0, 0, 0}}, // ( 58, 109)
+ { 0, { 0, 0, 0}}, // ( 59, 109)
+ { 0, { 0, 0, 0}}, // ( 60, 109)
+ { 0, { 0, 0, 0}}, // ( 61, 109)
+ { 0, { 0, 0, 0}}, // ( 62, 109)
+ { 0, { 0, 0, 0}}, // ( 63, 109)
+ { 0, { 0, 0, 0}}, // ( 64, 109)
+ { 0, { 0, 0, 0}}, // ( 65, 109)
+ { 0, { 0, 0, 0}}, // ( 66, 109)
+ { 0, { 0, 0, 0}}, // ( 67, 109)
+ { 0, { 0, 0, 0}}, // ( 68, 109)
+ { 0, { 0, 0, 0}}, // ( 69, 109)
+ { 0, { 0, 0, 0}}, // ( 70, 109)
+ { 0, { 0, 0, 0}}, // ( 71, 109)
+ { 0, { 0, 0, 0}}, // ( 72, 109)
+ { 0, { 0, 0, 0}}, // ( 73, 109)
+ { 0, { 0, 0, 0}}, // ( 74, 109)
+ { 0, { 0, 0, 0}}, // ( 75, 109)
+ { 0, { 0, 0, 0}}, // ( 76, 109)
+ { 0, { 0, 0, 0}}, // ( 77, 109)
+ { 0, { 0, 0, 0}}, // ( 78, 109)
+ { 0, { 0, 0, 0}}, // ( 79, 109)
+ { 0, { 0, 0, 0}}, // ( 80, 109)
+ { 0, { 0, 0, 0}}, // ( 81, 109)
+ { 0, { 0, 0, 0}}, // ( 82, 109)
+ { 0, { 0, 0, 0}}, // ( 83, 109)
+ { 0, { 0, 0, 0}}, // ( 84, 109)
+ { 0, { 0, 0, 0}}, // ( 85, 109)
+ { 0, { 0, 0, 0}}, // ( 86, 109)
+ { 0, { 0, 0, 0}}, // ( 87, 109)
+ { 0, { 0, 0, 0}}, // ( 88, 109)
+ { 0, { 0, 0, 0}}, // ( 89, 109)
+ { 0, { 0, 0, 0}}, // ( 90, 109)
+ { 0, { 0, 0, 0}}, // ( 91, 109)
+ { 0, { 0, 0, 0}}, // ( 92, 109)
+ { 0, { 0, 0, 0}}, // ( 93, 109)
+ { 0, { 0, 0, 0}}, // ( 94, 109)
+ { 0, { 0, 0, 0}}, // ( 95, 109)
+ { 0, { 0, 0, 0}}, // ( 96, 109)
+ { 0, { 0, 0, 0}}, // ( 97, 109)
+ { 0, { 0, 0, 0}}, // ( 98, 109)
+ { 0, { 0, 0, 0}}, // ( 99, 109)
+ { 0, { 0, 0, 0}}, // (100, 109)
+ { 0, { 0, 0, 0}}, // (101, 109)
+ { 0, { 0, 0, 0}}, // (102, 109)
+ { 0, { 0, 0, 0}}, // (103, 109)
+ { 0, { 0, 0, 0}}, // (104, 109)
+ { 0, { 0, 0, 0}}, // (105, 109)
+ { 0, { 0, 0, 0}}, // (106, 109)
+ { 0, { 0, 0, 0}}, // (107, 109)
+ { 0, { 0, 0, 0}}, // (108, 109)
+ { 0, { 0, 0, 0}}, // (109, 109)
+ { 0, { 0, 0, 0}}, // (110, 109)
+ { 0, { 0, 0, 0}}, // (111, 109)
+ { 0, { 0, 0, 0}}, // (112, 109)
+ { 0, { 0, 0, 0}}, // (113, 109)
+ { 0, { 0, 0, 0}}, // (114, 109)
+ { 0, { 0, 0, 0}}, // (115, 109)
+ { 0, { 0, 0, 0}}, // (116, 109)
+ { 0, { 0, 0, 0}}, // (117, 109)
+ { 0, { 0, 0, 0}}, // (118, 109)
+ { 0, { 0, 0, 0}}, // (119, 109)
+ { 0, { 0, 0, 0}}, // (120, 109)
+ { 0, { 0, 0, 0}}, // (121, 109)
+ { 0, { 0, 0, 0}}, // (122, 109)
+ { 0, { 0, 0, 0}}, // (123, 109)
+ { 0, { 0, 0, 0}}, // (124, 109)
+ { 0, { 0, 0, 0}}, // (125, 109)
+ { 0, { 0, 0, 0}}, // (126, 109)
+ { 0, { 0, 0, 0}}, // (127, 109)
+ { 0, { 0, 0, 0}}, // (128, 109)
+ { 0, { 0, 0, 0}}, // (129, 109)
+ { 0, { 0, 0, 0}}, // (130, 109)
+ { 0, { 0, 0, 0}}, // (131, 109)
+ { 0, { 0, 0, 0}}, // (132, 109)
+ { 0, { 0, 0, 0}}, // (133, 109)
+ { 0, { 0, 0, 0}}, // (134, 109)
+ { 0, { 0, 0, 0}}, // (135, 109)
+ { 0, { 0, 0, 0}}, // (136, 109)
+ { 0, { 0, 0, 0}}, // (137, 109)
+ { 0, { 0, 0, 0}}, // (138, 109)
+ { 0, { 0, 0, 0}}, // (139, 109)
+ { 0, { 0, 0, 0}}, // (140, 109)
+ { 0, { 0, 0, 0}}, // (141, 109)
+ { 0, { 0, 0, 0}}, // (142, 109)
+ { 0, { 0, 0, 0}}, // (143, 109)
+ { 0, { 0, 0, 0}}, // (144, 109)
+ { 0, { 0, 0, 0}}, // (145, 109)
+ { 0, { 0, 0, 0}}, // (146, 109)
+ { 0, { 0, 0, 0}}, // (147, 109)
+ { 0, { 0, 0, 0}}, // (148, 109)
+ { 0, { 0, 0, 0}}, // (149, 109)
+ { 0, { 0, 0, 0}}, // (150, 109)
+ { 0, { 0, 0, 0}}, // (151, 109)
+ { 0, { 0, 0, 0}}, // (152, 109)
+ { 0, { 0, 0, 0}}, // (153, 109)
+ { 0, { 0, 0, 0}}, // (154, 109)
+ { 0, { 0, 0, 0}}, // (155, 109)
+ { 0, { 0, 0, 0}}, // (156, 109)
+ { 0, { 0, 0, 0}}, // (157, 109)
+ { 0, { 0, 0, 0}}, // (158, 109)
+ { 0, { 0, 0, 0}}, // (159, 109)
+ { 0, { 0, 0, 0}}, // (160, 109)
+ { 0, { 0, 0, 0}}, // (161, 109)
+ { 0, { 0, 0, 0}}, // (162, 109)
+ { 0, { 0, 0, 0}}, // (163, 109)
+ { 0, { 0, 0, 0}}, // (164, 109)
+ { 0, { 0, 0, 0}}, // (165, 109)
+ { 0, { 0, 0, 0}}, // (166, 109)
+ { 0, { 0, 0, 0}}, // (167, 109)
+ { 0, { 0, 0, 0}}, // (168, 109)
+ { 0, { 0, 0, 0}}, // (169, 109)
+ { 0, { 0, 0, 0}}, // (170, 109)
+ { 0, { 0, 0, 0}}, // (171, 109)
+ { 0, { 0, 0, 0}}, // (172, 109)
+ { 0, { 0, 0, 0}}, // (173, 109)
+ { 0, { 0, 0, 0}}, // (174, 109)
+ { 22, { 0, 0, 0}}, // (175, 109)
+ {128, { 0, 0, 0}}, // (176, 109)
+ {128, { 0, 0, 0}}, // (177, 109)
+ {128, { 0, 0, 0}}, // (178, 109)
+ {128, { 0, 0, 0}}, // (179, 109)
+ {128, { 0, 0, 0}}, // ( 0, 110)
+ {128, { 0, 0, 0}}, // ( 1, 110)
+ {128, { 0, 0, 0}}, // ( 2, 110)
+ {128, { 0, 0, 0}}, // ( 3, 110)
+ { 52, { 0, 0, 0}}, // ( 4, 110)
+ { 0, { 0, 0, 0}}, // ( 5, 110)
+ { 0, { 0, 0, 0}}, // ( 6, 110)
+ { 0, { 0, 0, 0}}, // ( 7, 110)
+ { 0, { 0, 0, 0}}, // ( 8, 110)
+ { 0, { 0, 0, 0}}, // ( 9, 110)
+ { 0, { 0, 0, 0}}, // ( 10, 110)
+ { 0, { 0, 0, 0}}, // ( 11, 110)
+ { 0, { 0, 0, 0}}, // ( 12, 110)
+ { 0, { 0, 0, 0}}, // ( 13, 110)
+ { 0, { 0, 0, 0}}, // ( 14, 110)
+ { 0, { 0, 0, 0}}, // ( 15, 110)
+ { 0, { 0, 0, 0}}, // ( 16, 110)
+ { 0, { 0, 0, 0}}, // ( 17, 110)
+ { 0, { 0, 0, 0}}, // ( 18, 110)
+ { 0, { 0, 0, 0}}, // ( 19, 110)
+ { 0, { 0, 0, 0}}, // ( 20, 110)
+ { 0, { 0, 0, 0}}, // ( 21, 110)
+ { 0, { 0, 0, 0}}, // ( 22, 110)
+ { 0, { 0, 0, 0}}, // ( 23, 110)
+ { 0, { 0, 0, 0}}, // ( 24, 110)
+ { 0, { 0, 0, 0}}, // ( 25, 110)
+ { 0, { 0, 0, 0}}, // ( 26, 110)
+ { 0, { 0, 0, 0}}, // ( 27, 110)
+ { 0, { 0, 0, 0}}, // ( 28, 110)
+ { 0, { 0, 0, 0}}, // ( 29, 110)
+ { 0, { 0, 0, 0}}, // ( 30, 110)
+ { 0, { 0, 0, 0}}, // ( 31, 110)
+ { 0, { 0, 0, 0}}, // ( 32, 110)
+ { 0, { 0, 0, 0}}, // ( 33, 110)
+ { 0, { 0, 0, 0}}, // ( 34, 110)
+ { 0, { 0, 0, 0}}, // ( 35, 110)
+ { 0, { 0, 0, 0}}, // ( 36, 110)
+ { 0, { 0, 0, 0}}, // ( 37, 110)
+ { 0, { 0, 0, 0}}, // ( 38, 110)
+ { 0, { 0, 0, 0}}, // ( 39, 110)
+ { 0, { 0, 0, 0}}, // ( 40, 110)
+ { 0, { 0, 0, 0}}, // ( 41, 110)
+ { 0, { 0, 0, 0}}, // ( 42, 110)
+ { 0, { 0, 0, 0}}, // ( 43, 110)
+ { 0, { 0, 0, 0}}, // ( 44, 110)
+ { 0, { 0, 0, 0}}, // ( 45, 110)
+ { 0, { 0, 0, 0}}, // ( 46, 110)
+ { 0, { 0, 0, 0}}, // ( 47, 110)
+ { 0, { 0, 0, 0}}, // ( 48, 110)
+ { 0, { 0, 0, 0}}, // ( 49, 110)
+ { 0, { 0, 0, 0}}, // ( 50, 110)
+ { 0, { 0, 0, 0}}, // ( 51, 110)
+ { 0, { 0, 0, 0}}, // ( 52, 110)
+ { 0, { 0, 0, 0}}, // ( 53, 110)
+ { 0, { 0, 0, 0}}, // ( 54, 110)
+ { 0, { 0, 0, 0}}, // ( 55, 110)
+ { 0, { 0, 0, 0}}, // ( 56, 110)
+ { 0, { 0, 0, 0}}, // ( 57, 110)
+ { 0, { 0, 0, 0}}, // ( 58, 110)
+ { 0, { 0, 0, 0}}, // ( 59, 110)
+ { 0, { 0, 0, 0}}, // ( 60, 110)
+ { 0, { 0, 0, 0}}, // ( 61, 110)
+ { 0, { 0, 0, 0}}, // ( 62, 110)
+ { 0, { 0, 0, 0}}, // ( 63, 110)
+ { 0, { 0, 0, 0}}, // ( 64, 110)
+ { 0, { 0, 0, 0}}, // ( 65, 110)
+ { 0, { 0, 0, 0}}, // ( 66, 110)
+ { 0, { 0, 0, 0}}, // ( 67, 110)
+ { 0, { 0, 0, 0}}, // ( 68, 110)
+ { 0, { 0, 0, 0}}, // ( 69, 110)
+ { 0, { 0, 0, 0}}, // ( 70, 110)
+ { 0, { 0, 0, 0}}, // ( 71, 110)
+ { 0, { 0, 0, 0}}, // ( 72, 110)
+ { 0, { 0, 0, 0}}, // ( 73, 110)
+ { 0, { 0, 0, 0}}, // ( 74, 110)
+ { 0, { 0, 0, 0}}, // ( 75, 110)
+ { 0, { 0, 0, 0}}, // ( 76, 110)
+ { 0, { 0, 0, 0}}, // ( 77, 110)
+ { 0, { 0, 0, 0}}, // ( 78, 110)
+ { 0, { 0, 0, 0}}, // ( 79, 110)
+ { 0, { 0, 0, 0}}, // ( 80, 110)
+ { 0, { 0, 0, 0}}, // ( 81, 110)
+ { 0, { 0, 0, 0}}, // ( 82, 110)
+ { 0, { 0, 0, 0}}, // ( 83, 110)
+ { 0, { 0, 0, 0}}, // ( 84, 110)
+ { 0, { 0, 0, 0}}, // ( 85, 110)
+ { 0, { 0, 0, 0}}, // ( 86, 110)
+ { 0, { 0, 0, 0}}, // ( 87, 110)
+ { 0, { 0, 0, 0}}, // ( 88, 110)
+ { 0, { 0, 0, 0}}, // ( 89, 110)
+ { 0, { 0, 0, 0}}, // ( 90, 110)
+ { 0, { 0, 0, 0}}, // ( 91, 110)
+ { 0, { 0, 0, 0}}, // ( 92, 110)
+ { 0, { 0, 0, 0}}, // ( 93, 110)
+ { 0, { 0, 0, 0}}, // ( 94, 110)
+ { 0, { 0, 0, 0}}, // ( 95, 110)
+ { 0, { 0, 0, 0}}, // ( 96, 110)
+ { 0, { 0, 0, 0}}, // ( 97, 110)
+ { 0, { 0, 0, 0}}, // ( 98, 110)
+ { 0, { 0, 0, 0}}, // ( 99, 110)
+ { 0, { 0, 0, 0}}, // (100, 110)
+ { 0, { 0, 0, 0}}, // (101, 110)
+ { 0, { 0, 0, 0}}, // (102, 110)
+ { 0, { 0, 0, 0}}, // (103, 110)
+ { 0, { 0, 0, 0}}, // (104, 110)
+ { 0, { 0, 0, 0}}, // (105, 110)
+ { 0, { 0, 0, 0}}, // (106, 110)
+ { 0, { 0, 0, 0}}, // (107, 110)
+ { 0, { 0, 0, 0}}, // (108, 110)
+ { 0, { 0, 0, 0}}, // (109, 110)
+ { 0, { 0, 0, 0}}, // (110, 110)
+ { 0, { 0, 0, 0}}, // (111, 110)
+ { 0, { 0, 0, 0}}, // (112, 110)
+ { 0, { 0, 0, 0}}, // (113, 110)
+ { 0, { 0, 0, 0}}, // (114, 110)
+ { 0, { 0, 0, 0}}, // (115, 110)
+ { 0, { 0, 0, 0}}, // (116, 110)
+ { 0, { 0, 0, 0}}, // (117, 110)
+ { 0, { 0, 0, 0}}, // (118, 110)
+ { 0, { 0, 0, 0}}, // (119, 110)
+ { 0, { 0, 0, 0}}, // (120, 110)
+ { 0, { 0, 0, 0}}, // (121, 110)
+ { 0, { 0, 0, 0}}, // (122, 110)
+ { 0, { 0, 0, 0}}, // (123, 110)
+ { 0, { 0, 0, 0}}, // (124, 110)
+ { 0, { 0, 0, 0}}, // (125, 110)
+ { 0, { 0, 0, 0}}, // (126, 110)
+ { 0, { 0, 0, 0}}, // (127, 110)
+ { 0, { 0, 0, 0}}, // (128, 110)
+ { 0, { 0, 0, 0}}, // (129, 110)
+ { 0, { 0, 0, 0}}, // (130, 110)
+ { 0, { 0, 0, 0}}, // (131, 110)
+ { 0, { 0, 0, 0}}, // (132, 110)
+ { 0, { 0, 0, 0}}, // (133, 110)
+ { 0, { 0, 0, 0}}, // (134, 110)
+ { 0, { 0, 0, 0}}, // (135, 110)
+ { 0, { 0, 0, 0}}, // (136, 110)
+ { 0, { 0, 0, 0}}, // (137, 110)
+ { 0, { 0, 0, 0}}, // (138, 110)
+ { 0, { 0, 0, 0}}, // (139, 110)
+ { 0, { 0, 0, 0}}, // (140, 110)
+ { 0, { 0, 0, 0}}, // (141, 110)
+ { 0, { 0, 0, 0}}, // (142, 110)
+ { 0, { 0, 0, 0}}, // (143, 110)
+ { 0, { 0, 0, 0}}, // (144, 110)
+ { 0, { 0, 0, 0}}, // (145, 110)
+ { 0, { 0, 0, 0}}, // (146, 110)
+ { 0, { 0, 0, 0}}, // (147, 110)
+ { 0, { 0, 0, 0}}, // (148, 110)
+ { 0, { 0, 0, 0}}, // (149, 110)
+ { 0, { 0, 0, 0}}, // (150, 110)
+ { 0, { 0, 0, 0}}, // (151, 110)
+ { 0, { 0, 0, 0}}, // (152, 110)
+ { 0, { 0, 0, 0}}, // (153, 110)
+ { 0, { 0, 0, 0}}, // (154, 110)
+ { 0, { 0, 0, 0}}, // (155, 110)
+ { 0, { 0, 0, 0}}, // (156, 110)
+ { 0, { 0, 0, 0}}, // (157, 110)
+ { 0, { 0, 0, 0}}, // (158, 110)
+ { 0, { 0, 0, 0}}, // (159, 110)
+ { 0, { 0, 0, 0}}, // (160, 110)
+ { 0, { 0, 0, 0}}, // (161, 110)
+ { 0, { 0, 0, 0}}, // (162, 110)
+ { 0, { 0, 0, 0}}, // (163, 110)
+ { 0, { 0, 0, 0}}, // (164, 110)
+ { 0, { 0, 0, 0}}, // (165, 110)
+ { 0, { 0, 0, 0}}, // (166, 110)
+ { 0, { 0, 0, 0}}, // (167, 110)
+ { 0, { 0, 0, 0}}, // (168, 110)
+ { 0, { 0, 0, 0}}, // (169, 110)
+ { 0, { 0, 0, 0}}, // (170, 110)
+ { 0, { 0, 0, 0}}, // (171, 110)
+ { 0, { 0, 0, 0}}, // (172, 110)
+ { 0, { 0, 0, 0}}, // (173, 110)
+ { 0, { 0, 0, 0}}, // (174, 110)
+ { 52, { 0, 0, 0}}, // (175, 110)
+ {128, { 0, 0, 0}}, // (176, 110)
+ {128, { 0, 0, 0}}, // (177, 110)
+ {128, { 0, 0, 0}}, // (178, 110)
+ {128, { 0, 0, 0}}, // (179, 110)
+ {128, { 0, 0, 0}}, // ( 0, 111)
+ {128, { 0, 0, 0}}, // ( 1, 111)
+ {128, { 0, 0, 0}}, // ( 2, 111)
+ {128, { 0, 0, 0}}, // ( 3, 111)
+ { 83, { 0, 0, 0}}, // ( 4, 111)
+ { 0, { 0, 0, 0}}, // ( 5, 111)
+ { 0, { 0, 0, 0}}, // ( 6, 111)
+ { 0, { 0, 0, 0}}, // ( 7, 111)
+ { 0, { 0, 0, 0}}, // ( 8, 111)
+ { 0, { 0, 0, 0}}, // ( 9, 111)
+ { 0, { 0, 0, 0}}, // ( 10, 111)
+ { 0, { 0, 0, 0}}, // ( 11, 111)
+ { 0, { 0, 0, 0}}, // ( 12, 111)
+ { 0, { 0, 0, 0}}, // ( 13, 111)
+ { 0, { 0, 0, 0}}, // ( 14, 111)
+ { 0, { 0, 0, 0}}, // ( 15, 111)
+ { 0, { 0, 0, 0}}, // ( 16, 111)
+ { 0, { 0, 0, 0}}, // ( 17, 111)
+ { 0, { 0, 0, 0}}, // ( 18, 111)
+ { 0, { 0, 0, 0}}, // ( 19, 111)
+ { 0, { 0, 0, 0}}, // ( 20, 111)
+ { 0, { 0, 0, 0}}, // ( 21, 111)
+ { 0, { 0, 0, 0}}, // ( 22, 111)
+ { 0, { 0, 0, 0}}, // ( 23, 111)
+ { 0, { 0, 0, 0}}, // ( 24, 111)
+ { 0, { 0, 0, 0}}, // ( 25, 111)
+ { 0, { 0, 0, 0}}, // ( 26, 111)
+ { 0, { 0, 0, 0}}, // ( 27, 111)
+ { 0, { 0, 0, 0}}, // ( 28, 111)
+ { 0, { 0, 0, 0}}, // ( 29, 111)
+ { 0, { 0, 0, 0}}, // ( 30, 111)
+ { 0, { 0, 0, 0}}, // ( 31, 111)
+ { 0, { 0, 0, 0}}, // ( 32, 111)
+ { 0, { 0, 0, 0}}, // ( 33, 111)
+ { 0, { 0, 0, 0}}, // ( 34, 111)
+ { 0, { 0, 0, 0}}, // ( 35, 111)
+ { 0, { 0, 0, 0}}, // ( 36, 111)
+ { 0, { 0, 0, 0}}, // ( 37, 111)
+ { 0, { 0, 0, 0}}, // ( 38, 111)
+ { 0, { 0, 0, 0}}, // ( 39, 111)
+ { 0, { 0, 0, 0}}, // ( 40, 111)
+ { 0, { 0, 0, 0}}, // ( 41, 111)
+ { 0, { 0, 0, 0}}, // ( 42, 111)
+ { 0, { 0, 0, 0}}, // ( 43, 111)
+ { 0, { 0, 0, 0}}, // ( 44, 111)
+ { 0, { 0, 0, 0}}, // ( 45, 111)
+ { 0, { 0, 0, 0}}, // ( 46, 111)
+ { 0, { 0, 0, 0}}, // ( 47, 111)
+ { 0, { 0, 0, 0}}, // ( 48, 111)
+ { 0, { 0, 0, 0}}, // ( 49, 111)
+ { 0, { 0, 0, 0}}, // ( 50, 111)
+ { 0, { 0, 0, 0}}, // ( 51, 111)
+ { 0, { 0, 0, 0}}, // ( 52, 111)
+ { 0, { 0, 0, 0}}, // ( 53, 111)
+ { 0, { 0, 0, 0}}, // ( 54, 111)
+ { 0, { 0, 0, 0}}, // ( 55, 111)
+ { 0, { 0, 0, 0}}, // ( 56, 111)
+ { 0, { 0, 0, 0}}, // ( 57, 111)
+ { 0, { 0, 0, 0}}, // ( 58, 111)
+ { 0, { 0, 0, 0}}, // ( 59, 111)
+ { 0, { 0, 0, 0}}, // ( 60, 111)
+ { 0, { 0, 0, 0}}, // ( 61, 111)
+ { 0, { 0, 0, 0}}, // ( 62, 111)
+ { 0, { 0, 0, 0}}, // ( 63, 111)
+ { 0, { 0, 0, 0}}, // ( 64, 111)
+ { 0, { 0, 0, 0}}, // ( 65, 111)
+ { 0, { 0, 0, 0}}, // ( 66, 111)
+ { 0, { 0, 0, 0}}, // ( 67, 111)
+ { 0, { 0, 0, 0}}, // ( 68, 111)
+ { 0, { 0, 0, 0}}, // ( 69, 111)
+ { 0, { 0, 0, 0}}, // ( 70, 111)
+ { 0, { 0, 0, 0}}, // ( 71, 111)
+ { 0, { 0, 0, 0}}, // ( 72, 111)
+ { 0, { 0, 0, 0}}, // ( 73, 111)
+ { 0, { 0, 0, 0}}, // ( 74, 111)
+ { 0, { 0, 0, 0}}, // ( 75, 111)
+ { 0, { 0, 0, 0}}, // ( 76, 111)
+ { 0, { 0, 0, 0}}, // ( 77, 111)
+ { 0, { 0, 0, 0}}, // ( 78, 111)
+ { 0, { 0, 0, 0}}, // ( 79, 111)
+ { 0, { 0, 0, 0}}, // ( 80, 111)
+ { 0, { 0, 0, 0}}, // ( 81, 111)
+ { 0, { 0, 0, 0}}, // ( 82, 111)
+ { 0, { 0, 0, 0}}, // ( 83, 111)
+ { 0, { 0, 0, 0}}, // ( 84, 111)
+ { 0, { 0, 0, 0}}, // ( 85, 111)
+ { 0, { 0, 0, 0}}, // ( 86, 111)
+ { 0, { 0, 0, 0}}, // ( 87, 111)
+ { 0, { 0, 0, 0}}, // ( 88, 111)
+ { 0, { 0, 0, 0}}, // ( 89, 111)
+ { 0, { 0, 0, 0}}, // ( 90, 111)
+ { 0, { 0, 0, 0}}, // ( 91, 111)
+ { 0, { 0, 0, 0}}, // ( 92, 111)
+ { 0, { 0, 0, 0}}, // ( 93, 111)
+ { 0, { 0, 0, 0}}, // ( 94, 111)
+ { 0, { 0, 0, 0}}, // ( 95, 111)
+ { 0, { 0, 0, 0}}, // ( 96, 111)
+ { 0, { 0, 0, 0}}, // ( 97, 111)
+ { 0, { 0, 0, 0}}, // ( 98, 111)
+ { 0, { 0, 0, 0}}, // ( 99, 111)
+ { 0, { 0, 0, 0}}, // (100, 111)
+ { 0, { 0, 0, 0}}, // (101, 111)
+ { 0, { 0, 0, 0}}, // (102, 111)
+ { 0, { 0, 0, 0}}, // (103, 111)
+ { 0, { 0, 0, 0}}, // (104, 111)
+ { 0, { 0, 0, 0}}, // (105, 111)
+ { 0, { 0, 0, 0}}, // (106, 111)
+ { 0, { 0, 0, 0}}, // (107, 111)
+ { 0, { 0, 0, 0}}, // (108, 111)
+ { 0, { 0, 0, 0}}, // (109, 111)
+ { 0, { 0, 0, 0}}, // (110, 111)
+ { 0, { 0, 0, 0}}, // (111, 111)
+ { 0, { 0, 0, 0}}, // (112, 111)
+ { 0, { 0, 0, 0}}, // (113, 111)
+ { 0, { 0, 0, 0}}, // (114, 111)
+ { 0, { 0, 0, 0}}, // (115, 111)
+ { 0, { 0, 0, 0}}, // (116, 111)
+ { 0, { 0, 0, 0}}, // (117, 111)
+ { 0, { 0, 0, 0}}, // (118, 111)
+ { 0, { 0, 0, 0}}, // (119, 111)
+ { 0, { 0, 0, 0}}, // (120, 111)
+ { 0, { 0, 0, 0}}, // (121, 111)
+ { 0, { 0, 0, 0}}, // (122, 111)
+ { 0, { 0, 0, 0}}, // (123, 111)
+ { 0, { 0, 0, 0}}, // (124, 111)
+ { 0, { 0, 0, 0}}, // (125, 111)
+ { 0, { 0, 0, 0}}, // (126, 111)
+ { 0, { 0, 0, 0}}, // (127, 111)
+ { 0, { 0, 0, 0}}, // (128, 111)
+ { 0, { 0, 0, 0}}, // (129, 111)
+ { 0, { 0, 0, 0}}, // (130, 111)
+ { 0, { 0, 0, 0}}, // (131, 111)
+ { 0, { 0, 0, 0}}, // (132, 111)
+ { 0, { 0, 0, 0}}, // (133, 111)
+ { 0, { 0, 0, 0}}, // (134, 111)
+ { 0, { 0, 0, 0}}, // (135, 111)
+ { 0, { 0, 0, 0}}, // (136, 111)
+ { 0, { 0, 0, 0}}, // (137, 111)
+ { 0, { 0, 0, 0}}, // (138, 111)
+ { 0, { 0, 0, 0}}, // (139, 111)
+ { 0, { 0, 0, 0}}, // (140, 111)
+ { 0, { 0, 0, 0}}, // (141, 111)
+ { 0, { 0, 0, 0}}, // (142, 111)
+ { 0, { 0, 0, 0}}, // (143, 111)
+ { 0, { 0, 0, 0}}, // (144, 111)
+ { 0, { 0, 0, 0}}, // (145, 111)
+ { 0, { 0, 0, 0}}, // (146, 111)
+ { 0, { 0, 0, 0}}, // (147, 111)
+ { 0, { 0, 0, 0}}, // (148, 111)
+ { 0, { 0, 0, 0}}, // (149, 111)
+ { 0, { 0, 0, 0}}, // (150, 111)
+ { 0, { 0, 0, 0}}, // (151, 111)
+ { 0, { 0, 0, 0}}, // (152, 111)
+ { 0, { 0, 0, 0}}, // (153, 111)
+ { 0, { 0, 0, 0}}, // (154, 111)
+ { 0, { 0, 0, 0}}, // (155, 111)
+ { 0, { 0, 0, 0}}, // (156, 111)
+ { 0, { 0, 0, 0}}, // (157, 111)
+ { 0, { 0, 0, 0}}, // (158, 111)
+ { 0, { 0, 0, 0}}, // (159, 111)
+ { 0, { 0, 0, 0}}, // (160, 111)
+ { 0, { 0, 0, 0}}, // (161, 111)
+ { 0, { 0, 0, 0}}, // (162, 111)
+ { 0, { 0, 0, 0}}, // (163, 111)
+ { 0, { 0, 0, 0}}, // (164, 111)
+ { 0, { 0, 0, 0}}, // (165, 111)
+ { 0, { 0, 0, 0}}, // (166, 111)
+ { 0, { 0, 0, 0}}, // (167, 111)
+ { 0, { 0, 0, 0}}, // (168, 111)
+ { 0, { 0, 0, 0}}, // (169, 111)
+ { 0, { 0, 0, 0}}, // (170, 111)
+ { 0, { 0, 0, 0}}, // (171, 111)
+ { 0, { 0, 0, 0}}, // (172, 111)
+ { 0, { 0, 0, 0}}, // (173, 111)
+ { 0, { 0, 0, 0}}, // (174, 111)
+ { 83, { 0, 0, 0}}, // (175, 111)
+ {128, { 0, 0, 0}}, // (176, 111)
+ {128, { 0, 0, 0}}, // (177, 111)
+ {128, { 0, 0, 0}}, // (178, 111)
+ {128, { 0, 0, 0}}, // (179, 111)
+ {128, { 0, 0, 0}}, // ( 0, 112)
+ {128, { 0, 0, 0}}, // ( 1, 112)
+ {128, { 0, 0, 0}}, // ( 2, 112)
+ {128, { 0, 0, 0}}, // ( 3, 112)
+ {117, { 0, 0, 0}}, // ( 4, 112)
+ { 1, { 0, 0, 0}}, // ( 5, 112)
+ { 0, { 0, 0, 0}}, // ( 6, 112)
+ { 0, { 0, 0, 0}}, // ( 7, 112)
+ { 0, { 0, 0, 0}}, // ( 8, 112)
+ { 0, { 0, 0, 0}}, // ( 9, 112)
+ { 0, { 0, 0, 0}}, // ( 10, 112)
+ { 0, { 0, 0, 0}}, // ( 11, 112)
+ { 0, { 0, 0, 0}}, // ( 12, 112)
+ { 0, { 0, 0, 0}}, // ( 13, 112)
+ { 0, { 0, 0, 0}}, // ( 14, 112)
+ { 0, { 0, 0, 0}}, // ( 15, 112)
+ { 0, { 0, 0, 0}}, // ( 16, 112)
+ { 0, { 0, 0, 0}}, // ( 17, 112)
+ { 0, { 0, 0, 0}}, // ( 18, 112)
+ { 0, { 0, 0, 0}}, // ( 19, 112)
+ { 0, { 0, 0, 0}}, // ( 20, 112)
+ { 0, { 0, 0, 0}}, // ( 21, 112)
+ { 0, { 0, 0, 0}}, // ( 22, 112)
+ { 0, { 0, 0, 0}}, // ( 23, 112)
+ { 0, { 0, 0, 0}}, // ( 24, 112)
+ { 0, { 0, 0, 0}}, // ( 25, 112)
+ { 0, { 0, 0, 0}}, // ( 26, 112)
+ { 0, { 0, 0, 0}}, // ( 27, 112)
+ { 0, { 0, 0, 0}}, // ( 28, 112)
+ { 0, { 0, 0, 0}}, // ( 29, 112)
+ { 0, { 0, 0, 0}}, // ( 30, 112)
+ { 0, { 0, 0, 0}}, // ( 31, 112)
+ { 0, { 0, 0, 0}}, // ( 32, 112)
+ { 0, { 0, 0, 0}}, // ( 33, 112)
+ { 0, { 0, 0, 0}}, // ( 34, 112)
+ { 0, { 0, 0, 0}}, // ( 35, 112)
+ { 0, { 0, 0, 0}}, // ( 36, 112)
+ { 0, { 0, 0, 0}}, // ( 37, 112)
+ { 0, { 0, 0, 0}}, // ( 38, 112)
+ { 0, { 0, 0, 0}}, // ( 39, 112)
+ { 0, { 0, 0, 0}}, // ( 40, 112)
+ { 0, { 0, 0, 0}}, // ( 41, 112)
+ { 0, { 0, 0, 0}}, // ( 42, 112)
+ { 0, { 0, 0, 0}}, // ( 43, 112)
+ { 0, { 0, 0, 0}}, // ( 44, 112)
+ { 0, { 0, 0, 0}}, // ( 45, 112)
+ { 0, { 0, 0, 0}}, // ( 46, 112)
+ { 0, { 0, 0, 0}}, // ( 47, 112)
+ { 0, { 0, 0, 0}}, // ( 48, 112)
+ { 0, { 0, 0, 0}}, // ( 49, 112)
+ { 0, { 0, 0, 0}}, // ( 50, 112)
+ { 0, { 0, 0, 0}}, // ( 51, 112)
+ { 0, { 0, 0, 0}}, // ( 52, 112)
+ { 0, { 0, 0, 0}}, // ( 53, 112)
+ { 0, { 0, 0, 0}}, // ( 54, 112)
+ { 0, { 0, 0, 0}}, // ( 55, 112)
+ { 0, { 0, 0, 0}}, // ( 56, 112)
+ { 0, { 0, 0, 0}}, // ( 57, 112)
+ { 0, { 0, 0, 0}}, // ( 58, 112)
+ { 0, { 0, 0, 0}}, // ( 59, 112)
+ { 0, { 0, 0, 0}}, // ( 60, 112)
+ { 0, { 0, 0, 0}}, // ( 61, 112)
+ { 0, { 0, 0, 0}}, // ( 62, 112)
+ { 0, { 0, 0, 0}}, // ( 63, 112)
+ { 0, { 0, 0, 0}}, // ( 64, 112)
+ { 0, { 0, 0, 0}}, // ( 65, 112)
+ { 0, { 0, 0, 0}}, // ( 66, 112)
+ { 0, { 0, 0, 0}}, // ( 67, 112)
+ { 0, { 0, 0, 0}}, // ( 68, 112)
+ { 0, { 0, 0, 0}}, // ( 69, 112)
+ { 0, { 0, 0, 0}}, // ( 70, 112)
+ { 0, { 0, 0, 0}}, // ( 71, 112)
+ { 0, { 0, 0, 0}}, // ( 72, 112)
+ { 0, { 0, 0, 0}}, // ( 73, 112)
+ { 0, { 0, 0, 0}}, // ( 74, 112)
+ { 0, { 0, 0, 0}}, // ( 75, 112)
+ { 0, { 0, 0, 0}}, // ( 76, 112)
+ { 0, { 0, 0, 0}}, // ( 77, 112)
+ { 0, { 0, 0, 0}}, // ( 78, 112)
+ { 0, { 0, 0, 0}}, // ( 79, 112)
+ { 0, { 0, 0, 0}}, // ( 80, 112)
+ { 0, { 0, 0, 0}}, // ( 81, 112)
+ { 0, { 0, 0, 0}}, // ( 82, 112)
+ { 0, { 0, 0, 0}}, // ( 83, 112)
+ { 0, { 0, 0, 0}}, // ( 84, 112)
+ { 0, { 0, 0, 0}}, // ( 85, 112)
+ { 0, { 0, 0, 0}}, // ( 86, 112)
+ { 0, { 0, 0, 0}}, // ( 87, 112)
+ { 0, { 0, 0, 0}}, // ( 88, 112)
+ { 0, { 0, 0, 0}}, // ( 89, 112)
+ { 0, { 0, 0, 0}}, // ( 90, 112)
+ { 0, { 0, 0, 0}}, // ( 91, 112)
+ { 0, { 0, 0, 0}}, // ( 92, 112)
+ { 0, { 0, 0, 0}}, // ( 93, 112)
+ { 0, { 0, 0, 0}}, // ( 94, 112)
+ { 0, { 0, 0, 0}}, // ( 95, 112)
+ { 0, { 0, 0, 0}}, // ( 96, 112)
+ { 0, { 0, 0, 0}}, // ( 97, 112)
+ { 0, { 0, 0, 0}}, // ( 98, 112)
+ { 0, { 0, 0, 0}}, // ( 99, 112)
+ { 0, { 0, 0, 0}}, // (100, 112)
+ { 0, { 0, 0, 0}}, // (101, 112)
+ { 0, { 0, 0, 0}}, // (102, 112)
+ { 0, { 0, 0, 0}}, // (103, 112)
+ { 0, { 0, 0, 0}}, // (104, 112)
+ { 0, { 0, 0, 0}}, // (105, 112)
+ { 0, { 0, 0, 0}}, // (106, 112)
+ { 0, { 0, 0, 0}}, // (107, 112)
+ { 0, { 0, 0, 0}}, // (108, 112)
+ { 0, { 0, 0, 0}}, // (109, 112)
+ { 0, { 0, 0, 0}}, // (110, 112)
+ { 0, { 0, 0, 0}}, // (111, 112)
+ { 0, { 0, 0, 0}}, // (112, 112)
+ { 0, { 0, 0, 0}}, // (113, 112)
+ { 0, { 0, 0, 0}}, // (114, 112)
+ { 0, { 0, 0, 0}}, // (115, 112)
+ { 0, { 0, 0, 0}}, // (116, 112)
+ { 0, { 0, 0, 0}}, // (117, 112)
+ { 0, { 0, 0, 0}}, // (118, 112)
+ { 0, { 0, 0, 0}}, // (119, 112)
+ { 0, { 0, 0, 0}}, // (120, 112)
+ { 0, { 0, 0, 0}}, // (121, 112)
+ { 0, { 0, 0, 0}}, // (122, 112)
+ { 0, { 0, 0, 0}}, // (123, 112)
+ { 0, { 0, 0, 0}}, // (124, 112)
+ { 0, { 0, 0, 0}}, // (125, 112)
+ { 0, { 0, 0, 0}}, // (126, 112)
+ { 0, { 0, 0, 0}}, // (127, 112)
+ { 0, { 0, 0, 0}}, // (128, 112)
+ { 0, { 0, 0, 0}}, // (129, 112)
+ { 0, { 0, 0, 0}}, // (130, 112)
+ { 0, { 0, 0, 0}}, // (131, 112)
+ { 0, { 0, 0, 0}}, // (132, 112)
+ { 0, { 0, 0, 0}}, // (133, 112)
+ { 0, { 0, 0, 0}}, // (134, 112)
+ { 0, { 0, 0, 0}}, // (135, 112)
+ { 0, { 0, 0, 0}}, // (136, 112)
+ { 0, { 0, 0, 0}}, // (137, 112)
+ { 0, { 0, 0, 0}}, // (138, 112)
+ { 0, { 0, 0, 0}}, // (139, 112)
+ { 0, { 0, 0, 0}}, // (140, 112)
+ { 0, { 0, 0, 0}}, // (141, 112)
+ { 0, { 0, 0, 0}}, // (142, 112)
+ { 0, { 0, 0, 0}}, // (143, 112)
+ { 0, { 0, 0, 0}}, // (144, 112)
+ { 0, { 0, 0, 0}}, // (145, 112)
+ { 0, { 0, 0, 0}}, // (146, 112)
+ { 0, { 0, 0, 0}}, // (147, 112)
+ { 0, { 0, 0, 0}}, // (148, 112)
+ { 0, { 0, 0, 0}}, // (149, 112)
+ { 0, { 0, 0, 0}}, // (150, 112)
+ { 0, { 0, 0, 0}}, // (151, 112)
+ { 0, { 0, 0, 0}}, // (152, 112)
+ { 0, { 0, 0, 0}}, // (153, 112)
+ { 0, { 0, 0, 0}}, // (154, 112)
+ { 0, { 0, 0, 0}}, // (155, 112)
+ { 0, { 0, 0, 0}}, // (156, 112)
+ { 0, { 0, 0, 0}}, // (157, 112)
+ { 0, { 0, 0, 0}}, // (158, 112)
+ { 0, { 0, 0, 0}}, // (159, 112)
+ { 0, { 0, 0, 0}}, // (160, 112)
+ { 0, { 0, 0, 0}}, // (161, 112)
+ { 0, { 0, 0, 0}}, // (162, 112)
+ { 0, { 0, 0, 0}}, // (163, 112)
+ { 0, { 0, 0, 0}}, // (164, 112)
+ { 0, { 0, 0, 0}}, // (165, 112)
+ { 0, { 0, 0, 0}}, // (166, 112)
+ { 0, { 0, 0, 0}}, // (167, 112)
+ { 0, { 0, 0, 0}}, // (168, 112)
+ { 0, { 0, 0, 0}}, // (169, 112)
+ { 0, { 0, 0, 0}}, // (170, 112)
+ { 0, { 0, 0, 0}}, // (171, 112)
+ { 0, { 0, 0, 0}}, // (172, 112)
+ { 0, { 0, 0, 0}}, // (173, 112)
+ { 1, { 0, 0, 0}}, // (174, 112)
+ {115, { 0, 0, 0}}, // (175, 112)
+ {128, { 0, 0, 0}}, // (176, 112)
+ {128, { 0, 0, 0}}, // (177, 112)
+ {128, { 0, 0, 0}}, // (178, 112)
+ {128, { 0, 0, 0}}, // (179, 112)
+ {128, { 0, 0, 0}}, // ( 0, 113)
+ {128, { 0, 0, 0}}, // ( 1, 113)
+ {128, { 0, 0, 0}}, // ( 2, 113)
+ {128, { 0, 0, 0}}, // ( 3, 113)
+ {128, { 0, 0, 0}}, // ( 4, 113)
+ { 25, { 0, 0, 0}}, // ( 5, 113)
+ { 0, { 0, 0, 0}}, // ( 6, 113)
+ { 0, { 0, 0, 0}}, // ( 7, 113)
+ { 0, { 0, 0, 0}}, // ( 8, 113)
+ { 0, { 0, 0, 0}}, // ( 9, 113)
+ { 0, { 0, 0, 0}}, // ( 10, 113)
+ { 0, { 0, 0, 0}}, // ( 11, 113)
+ { 0, { 0, 0, 0}}, // ( 12, 113)
+ { 0, { 0, 0, 0}}, // ( 13, 113)
+ { 0, { 0, 0, 0}}, // ( 14, 113)
+ { 0, { 0, 0, 0}}, // ( 15, 113)
+ { 0, { 0, 0, 0}}, // ( 16, 113)
+ { 0, { 0, 0, 0}}, // ( 17, 113)
+ { 0, { 0, 0, 0}}, // ( 18, 113)
+ { 0, { 0, 0, 0}}, // ( 19, 113)
+ { 0, { 0, 0, 0}}, // ( 20, 113)
+ { 0, { 0, 0, 0}}, // ( 21, 113)
+ { 0, { 0, 0, 0}}, // ( 22, 113)
+ { 0, { 0, 0, 0}}, // ( 23, 113)
+ { 0, { 0, 0, 0}}, // ( 24, 113)
+ { 0, { 0, 0, 0}}, // ( 25, 113)
+ { 0, { 0, 0, 0}}, // ( 26, 113)
+ { 0, { 0, 0, 0}}, // ( 27, 113)
+ { 0, { 0, 0, 0}}, // ( 28, 113)
+ { 0, { 0, 0, 0}}, // ( 29, 113)
+ { 0, { 0, 0, 0}}, // ( 30, 113)
+ { 0, { 0, 0, 0}}, // ( 31, 113)
+ { 0, { 0, 0, 0}}, // ( 32, 113)
+ { 0, { 0, 0, 0}}, // ( 33, 113)
+ { 0, { 0, 0, 0}}, // ( 34, 113)
+ { 0, { 0, 0, 0}}, // ( 35, 113)
+ { 0, { 0, 0, 0}}, // ( 36, 113)
+ { 0, { 0, 0, 0}}, // ( 37, 113)
+ { 0, { 0, 0, 0}}, // ( 38, 113)
+ { 0, { 0, 0, 0}}, // ( 39, 113)
+ { 0, { 0, 0, 0}}, // ( 40, 113)
+ { 0, { 0, 0, 0}}, // ( 41, 113)
+ { 0, { 0, 0, 0}}, // ( 42, 113)
+ { 0, { 0, 0, 0}}, // ( 43, 113)
+ { 0, { 0, 0, 0}}, // ( 44, 113)
+ { 0, { 0, 0, 0}}, // ( 45, 113)
+ { 0, { 0, 0, 0}}, // ( 46, 113)
+ { 0, { 0, 0, 0}}, // ( 47, 113)
+ { 0, { 0, 0, 0}}, // ( 48, 113)
+ { 0, { 0, 0, 0}}, // ( 49, 113)
+ { 0, { 0, 0, 0}}, // ( 50, 113)
+ { 0, { 0, 0, 0}}, // ( 51, 113)
+ { 0, { 0, 0, 0}}, // ( 52, 113)
+ { 0, { 0, 0, 0}}, // ( 53, 113)
+ { 0, { 0, 0, 0}}, // ( 54, 113)
+ { 0, { 0, 0, 0}}, // ( 55, 113)
+ { 0, { 0, 0, 0}}, // ( 56, 113)
+ { 0, { 0, 0, 0}}, // ( 57, 113)
+ { 0, { 0, 0, 0}}, // ( 58, 113)
+ { 0, { 0, 0, 0}}, // ( 59, 113)
+ { 0, { 0, 0, 0}}, // ( 60, 113)
+ { 0, { 0, 0, 0}}, // ( 61, 113)
+ { 0, { 0, 0, 0}}, // ( 62, 113)
+ { 0, { 0, 0, 0}}, // ( 63, 113)
+ { 0, { 0, 0, 0}}, // ( 64, 113)
+ { 0, { 0, 0, 0}}, // ( 65, 113)
+ { 0, { 0, 0, 0}}, // ( 66, 113)
+ { 0, { 0, 0, 0}}, // ( 67, 113)
+ { 0, { 0, 0, 0}}, // ( 68, 113)
+ { 0, { 0, 0, 0}}, // ( 69, 113)
+ { 0, { 0, 0, 0}}, // ( 70, 113)
+ { 0, { 0, 0, 0}}, // ( 71, 113)
+ { 0, { 0, 0, 0}}, // ( 72, 113)
+ { 0, { 0, 0, 0}}, // ( 73, 113)
+ { 0, { 0, 0, 0}}, // ( 74, 113)
+ { 0, { 0, 0, 0}}, // ( 75, 113)
+ { 0, { 0, 0, 0}}, // ( 76, 113)
+ { 0, { 0, 0, 0}}, // ( 77, 113)
+ { 0, { 0, 0, 0}}, // ( 78, 113)
+ { 0, { 0, 0, 0}}, // ( 79, 113)
+ { 0, { 0, 0, 0}}, // ( 80, 113)
+ { 0, { 0, 0, 0}}, // ( 81, 113)
+ { 0, { 0, 0, 0}}, // ( 82, 113)
+ { 0, { 0, 0, 0}}, // ( 83, 113)
+ { 0, { 0, 0, 0}}, // ( 84, 113)
+ { 0, { 0, 0, 0}}, // ( 85, 113)
+ { 0, { 0, 0, 0}}, // ( 86, 113)
+ { 0, { 0, 0, 0}}, // ( 87, 113)
+ { 0, { 0, 0, 0}}, // ( 88, 113)
+ { 0, { 0, 0, 0}}, // ( 89, 113)
+ { 0, { 0, 0, 0}}, // ( 90, 113)
+ { 0, { 0, 0, 0}}, // ( 91, 113)
+ { 0, { 0, 0, 0}}, // ( 92, 113)
+ { 0, { 0, 0, 0}}, // ( 93, 113)
+ { 0, { 0, 0, 0}}, // ( 94, 113)
+ { 0, { 0, 0, 0}}, // ( 95, 113)
+ { 0, { 0, 0, 0}}, // ( 96, 113)
+ { 0, { 0, 0, 0}}, // ( 97, 113)
+ { 0, { 0, 0, 0}}, // ( 98, 113)
+ { 0, { 0, 0, 0}}, // ( 99, 113)
+ { 0, { 0, 0, 0}}, // (100, 113)
+ { 0, { 0, 0, 0}}, // (101, 113)
+ { 0, { 0, 0, 0}}, // (102, 113)
+ { 0, { 0, 0, 0}}, // (103, 113)
+ { 0, { 0, 0, 0}}, // (104, 113)
+ { 0, { 0, 0, 0}}, // (105, 113)
+ { 0, { 0, 0, 0}}, // (106, 113)
+ { 0, { 0, 0, 0}}, // (107, 113)
+ { 0, { 0, 0, 0}}, // (108, 113)
+ { 0, { 0, 0, 0}}, // (109, 113)
+ { 0, { 0, 0, 0}}, // (110, 113)
+ { 0, { 0, 0, 0}}, // (111, 113)
+ { 0, { 0, 0, 0}}, // (112, 113)
+ { 0, { 0, 0, 0}}, // (113, 113)
+ { 0, { 0, 0, 0}}, // (114, 113)
+ { 0, { 0, 0, 0}}, // (115, 113)
+ { 0, { 0, 0, 0}}, // (116, 113)
+ { 0, { 0, 0, 0}}, // (117, 113)
+ { 0, { 0, 0, 0}}, // (118, 113)
+ { 0, { 0, 0, 0}}, // (119, 113)
+ { 0, { 0, 0, 0}}, // (120, 113)
+ { 0, { 0, 0, 0}}, // (121, 113)
+ { 0, { 0, 0, 0}}, // (122, 113)
+ { 0, { 0, 0, 0}}, // (123, 113)
+ { 0, { 0, 0, 0}}, // (124, 113)
+ { 0, { 0, 0, 0}}, // (125, 113)
+ { 0, { 0, 0, 0}}, // (126, 113)
+ { 0, { 0, 0, 0}}, // (127, 113)
+ { 0, { 0, 0, 0}}, // (128, 113)
+ { 0, { 0, 0, 0}}, // (129, 113)
+ { 0, { 0, 0, 0}}, // (130, 113)
+ { 0, { 0, 0, 0}}, // (131, 113)
+ { 0, { 0, 0, 0}}, // (132, 113)
+ { 0, { 0, 0, 0}}, // (133, 113)
+ { 0, { 0, 0, 0}}, // (134, 113)
+ { 0, { 0, 0, 0}}, // (135, 113)
+ { 0, { 0, 0, 0}}, // (136, 113)
+ { 0, { 0, 0, 0}}, // (137, 113)
+ { 0, { 0, 0, 0}}, // (138, 113)
+ { 0, { 0, 0, 0}}, // (139, 113)
+ { 0, { 0, 0, 0}}, // (140, 113)
+ { 0, { 0, 0, 0}}, // (141, 113)
+ { 0, { 0, 0, 0}}, // (142, 113)
+ { 0, { 0, 0, 0}}, // (143, 113)
+ { 0, { 0, 0, 0}}, // (144, 113)
+ { 0, { 0, 0, 0}}, // (145, 113)
+ { 0, { 0, 0, 0}}, // (146, 113)
+ { 0, { 0, 0, 0}}, // (147, 113)
+ { 0, { 0, 0, 0}}, // (148, 113)
+ { 0, { 0, 0, 0}}, // (149, 113)
+ { 0, { 0, 0, 0}}, // (150, 113)
+ { 0, { 0, 0, 0}}, // (151, 113)
+ { 0, { 0, 0, 0}}, // (152, 113)
+ { 0, { 0, 0, 0}}, // (153, 113)
+ { 0, { 0, 0, 0}}, // (154, 113)
+ { 0, { 0, 0, 0}}, // (155, 113)
+ { 0, { 0, 0, 0}}, // (156, 113)
+ { 0, { 0, 0, 0}}, // (157, 113)
+ { 0, { 0, 0, 0}}, // (158, 113)
+ { 0, { 0, 0, 0}}, // (159, 113)
+ { 0, { 0, 0, 0}}, // (160, 113)
+ { 0, { 0, 0, 0}}, // (161, 113)
+ { 0, { 0, 0, 0}}, // (162, 113)
+ { 0, { 0, 0, 0}}, // (163, 113)
+ { 0, { 0, 0, 0}}, // (164, 113)
+ { 0, { 0, 0, 0}}, // (165, 113)
+ { 0, { 0, 0, 0}}, // (166, 113)
+ { 0, { 0, 0, 0}}, // (167, 113)
+ { 0, { 0, 0, 0}}, // (168, 113)
+ { 0, { 0, 0, 0}}, // (169, 113)
+ { 0, { 0, 0, 0}}, // (170, 113)
+ { 0, { 0, 0, 0}}, // (171, 113)
+ { 0, { 0, 0, 0}}, // (172, 113)
+ { 0, { 0, 0, 0}}, // (173, 113)
+ { 23, { 0, 0, 0}}, // (174, 113)
+ {128, { 0, 0, 0}}, // (175, 113)
+ {128, { 0, 0, 0}}, // (176, 113)
+ {128, { 0, 0, 0}}, // (177, 113)
+ {128, { 0, 0, 0}}, // (178, 113)
+ {128, { 0, 0, 0}}, // (179, 113)
+ {128, { 0, 0, 0}}, // ( 0, 114)
+ {128, { 0, 0, 0}}, // ( 1, 114)
+ {128, { 0, 0, 0}}, // ( 2, 114)
+ {128, { 0, 0, 0}}, // ( 3, 114)
+ {128, { 0, 0, 0}}, // ( 4, 114)
+ { 62, { 0, 0, 0}}, // ( 5, 114)
+ { 0, { 0, 0, 0}}, // ( 6, 114)
+ { 0, { 0, 0, 0}}, // ( 7, 114)
+ { 0, { 0, 0, 0}}, // ( 8, 114)
+ { 0, { 0, 0, 0}}, // ( 9, 114)
+ { 0, { 0, 0, 0}}, // ( 10, 114)
+ { 0, { 0, 0, 0}}, // ( 11, 114)
+ { 0, { 0, 0, 0}}, // ( 12, 114)
+ { 0, { 0, 0, 0}}, // ( 13, 114)
+ { 0, { 0, 0, 0}}, // ( 14, 114)
+ { 0, { 0, 0, 0}}, // ( 15, 114)
+ { 0, { 0, 0, 0}}, // ( 16, 114)
+ { 0, { 0, 0, 0}}, // ( 17, 114)
+ { 0, { 0, 0, 0}}, // ( 18, 114)
+ { 0, { 0, 0, 0}}, // ( 19, 114)
+ { 0, { 0, 0, 0}}, // ( 20, 114)
+ { 0, { 0, 0, 0}}, // ( 21, 114)
+ { 0, { 0, 0, 0}}, // ( 22, 114)
+ { 0, { 0, 0, 0}}, // ( 23, 114)
+ { 0, { 0, 0, 0}}, // ( 24, 114)
+ { 0, { 0, 0, 0}}, // ( 25, 114)
+ { 0, { 0, 0, 0}}, // ( 26, 114)
+ { 0, { 0, 0, 0}}, // ( 27, 114)
+ { 0, { 0, 0, 0}}, // ( 28, 114)
+ { 0, { 0, 0, 0}}, // ( 29, 114)
+ { 0, { 0, 0, 0}}, // ( 30, 114)
+ { 0, { 0, 0, 0}}, // ( 31, 114)
+ { 0, { 0, 0, 0}}, // ( 32, 114)
+ { 0, { 0, 0, 0}}, // ( 33, 114)
+ { 0, { 0, 0, 0}}, // ( 34, 114)
+ { 0, { 0, 0, 0}}, // ( 35, 114)
+ { 0, { 0, 0, 0}}, // ( 36, 114)
+ { 0, { 0, 0, 0}}, // ( 37, 114)
+ { 0, { 0, 0, 0}}, // ( 38, 114)
+ { 0, { 0, 0, 0}}, // ( 39, 114)
+ { 0, { 0, 0, 0}}, // ( 40, 114)
+ { 0, { 0, 0, 0}}, // ( 41, 114)
+ { 0, { 0, 0, 0}}, // ( 42, 114)
+ { 0, { 0, 0, 0}}, // ( 43, 114)
+ { 0, { 0, 0, 0}}, // ( 44, 114)
+ { 0, { 0, 0, 0}}, // ( 45, 114)
+ { 0, { 0, 0, 0}}, // ( 46, 114)
+ { 0, { 0, 0, 0}}, // ( 47, 114)
+ { 0, { 0, 0, 0}}, // ( 48, 114)
+ { 0, { 0, 0, 0}}, // ( 49, 114)
+ { 0, { 0, 0, 0}}, // ( 50, 114)
+ { 0, { 0, 0, 0}}, // ( 51, 114)
+ { 0, { 0, 0, 0}}, // ( 52, 114)
+ { 0, { 0, 0, 0}}, // ( 53, 114)
+ { 0, { 0, 0, 0}}, // ( 54, 114)
+ { 0, { 0, 0, 0}}, // ( 55, 114)
+ { 0, { 0, 0, 0}}, // ( 56, 114)
+ { 0, { 0, 0, 0}}, // ( 57, 114)
+ { 0, { 0, 0, 0}}, // ( 58, 114)
+ { 0, { 0, 0, 0}}, // ( 59, 114)
+ { 0, { 0, 0, 0}}, // ( 60, 114)
+ { 0, { 0, 0, 0}}, // ( 61, 114)
+ { 0, { 0, 0, 0}}, // ( 62, 114)
+ { 0, { 0, 0, 0}}, // ( 63, 114)
+ { 0, { 0, 0, 0}}, // ( 64, 114)
+ { 0, { 0, 0, 0}}, // ( 65, 114)
+ { 0, { 0, 0, 0}}, // ( 66, 114)
+ { 0, { 0, 0, 0}}, // ( 67, 114)
+ { 0, { 0, 0, 0}}, // ( 68, 114)
+ { 0, { 0, 0, 0}}, // ( 69, 114)
+ { 0, { 0, 0, 0}}, // ( 70, 114)
+ { 0, { 0, 0, 0}}, // ( 71, 114)
+ { 0, { 0, 0, 0}}, // ( 72, 114)
+ { 0, { 0, 0, 0}}, // ( 73, 114)
+ { 0, { 0, 0, 0}}, // ( 74, 114)
+ { 0, { 0, 0, 0}}, // ( 75, 114)
+ { 0, { 0, 0, 0}}, // ( 76, 114)
+ { 0, { 0, 0, 0}}, // ( 77, 114)
+ { 0, { 0, 0, 0}}, // ( 78, 114)
+ { 0, { 0, 0, 0}}, // ( 79, 114)
+ { 0, { 0, 0, 0}}, // ( 80, 114)
+ { 0, { 0, 0, 0}}, // ( 81, 114)
+ { 0, { 0, 0, 0}}, // ( 82, 114)
+ { 0, { 0, 0, 0}}, // ( 83, 114)
+ { 0, { 0, 0, 0}}, // ( 84, 114)
+ { 0, { 0, 0, 0}}, // ( 85, 114)
+ { 0, { 0, 0, 0}}, // ( 86, 114)
+ { 0, { 0, 0, 0}}, // ( 87, 114)
+ { 0, { 0, 0, 0}}, // ( 88, 114)
+ { 0, { 0, 0, 0}}, // ( 89, 114)
+ { 0, { 0, 0, 0}}, // ( 90, 114)
+ { 0, { 0, 0, 0}}, // ( 91, 114)
+ { 0, { 0, 0, 0}}, // ( 92, 114)
+ { 0, { 0, 0, 0}}, // ( 93, 114)
+ { 0, { 0, 0, 0}}, // ( 94, 114)
+ { 0, { 0, 0, 0}}, // ( 95, 114)
+ { 0, { 0, 0, 0}}, // ( 96, 114)
+ { 0, { 0, 0, 0}}, // ( 97, 114)
+ { 0, { 0, 0, 0}}, // ( 98, 114)
+ { 0, { 0, 0, 0}}, // ( 99, 114)
+ { 0, { 0, 0, 0}}, // (100, 114)
+ { 0, { 0, 0, 0}}, // (101, 114)
+ { 0, { 0, 0, 0}}, // (102, 114)
+ { 0, { 0, 0, 0}}, // (103, 114)
+ { 0, { 0, 0, 0}}, // (104, 114)
+ { 0, { 0, 0, 0}}, // (105, 114)
+ { 0, { 0, 0, 0}}, // (106, 114)
+ { 0, { 0, 0, 0}}, // (107, 114)
+ { 0, { 0, 0, 0}}, // (108, 114)
+ { 0, { 0, 0, 0}}, // (109, 114)
+ { 0, { 0, 0, 0}}, // (110, 114)
+ { 0, { 0, 0, 0}}, // (111, 114)
+ { 0, { 0, 0, 0}}, // (112, 114)
+ { 0, { 0, 0, 0}}, // (113, 114)
+ { 0, { 0, 0, 0}}, // (114, 114)
+ { 0, { 0, 0, 0}}, // (115, 114)
+ { 0, { 0, 0, 0}}, // (116, 114)
+ { 0, { 0, 0, 0}}, // (117, 114)
+ { 0, { 0, 0, 0}}, // (118, 114)
+ { 0, { 0, 0, 0}}, // (119, 114)
+ { 0, { 0, 0, 0}}, // (120, 114)
+ { 0, { 0, 0, 0}}, // (121, 114)
+ { 0, { 0, 0, 0}}, // (122, 114)
+ { 0, { 0, 0, 0}}, // (123, 114)
+ { 0, { 0, 0, 0}}, // (124, 114)
+ { 0, { 0, 0, 0}}, // (125, 114)
+ { 0, { 0, 0, 0}}, // (126, 114)
+ { 0, { 0, 0, 0}}, // (127, 114)
+ { 0, { 0, 0, 0}}, // (128, 114)
+ { 0, { 0, 0, 0}}, // (129, 114)
+ { 0, { 0, 0, 0}}, // (130, 114)
+ { 0, { 0, 0, 0}}, // (131, 114)
+ { 0, { 0, 0, 0}}, // (132, 114)
+ { 0, { 0, 0, 0}}, // (133, 114)
+ { 0, { 0, 0, 0}}, // (134, 114)
+ { 0, { 0, 0, 0}}, // (135, 114)
+ { 0, { 0, 0, 0}}, // (136, 114)
+ { 0, { 0, 0, 0}}, // (137, 114)
+ { 0, { 0, 0, 0}}, // (138, 114)
+ { 0, { 0, 0, 0}}, // (139, 114)
+ { 0, { 0, 0, 0}}, // (140, 114)
+ { 0, { 0, 0, 0}}, // (141, 114)
+ { 0, { 0, 0, 0}}, // (142, 114)
+ { 0, { 0, 0, 0}}, // (143, 114)
+ { 0, { 0, 0, 0}}, // (144, 114)
+ { 0, { 0, 0, 0}}, // (145, 114)
+ { 0, { 0, 0, 0}}, // (146, 114)
+ { 0, { 0, 0, 0}}, // (147, 114)
+ { 0, { 0, 0, 0}}, // (148, 114)
+ { 0, { 0, 0, 0}}, // (149, 114)
+ { 0, { 0, 0, 0}}, // (150, 114)
+ { 0, { 0, 0, 0}}, // (151, 114)
+ { 0, { 0, 0, 0}}, // (152, 114)
+ { 0, { 0, 0, 0}}, // (153, 114)
+ { 0, { 0, 0, 0}}, // (154, 114)
+ { 0, { 0, 0, 0}}, // (155, 114)
+ { 0, { 0, 0, 0}}, // (156, 114)
+ { 0, { 0, 0, 0}}, // (157, 114)
+ { 0, { 0, 0, 0}}, // (158, 114)
+ { 0, { 0, 0, 0}}, // (159, 114)
+ { 0, { 0, 0, 0}}, // (160, 114)
+ { 0, { 0, 0, 0}}, // (161, 114)
+ { 0, { 0, 0, 0}}, // (162, 114)
+ { 0, { 0, 0, 0}}, // (163, 114)
+ { 0, { 0, 0, 0}}, // (164, 114)
+ { 0, { 0, 0, 0}}, // (165, 114)
+ { 0, { 0, 0, 0}}, // (166, 114)
+ { 0, { 0, 0, 0}}, // (167, 114)
+ { 0, { 0, 0, 0}}, // (168, 114)
+ { 0, { 0, 0, 0}}, // (169, 114)
+ { 0, { 0, 0, 0}}, // (170, 114)
+ { 0, { 0, 0, 0}}, // (171, 114)
+ { 0, { 0, 0, 0}}, // (172, 114)
+ { 0, { 0, 0, 0}}, // (173, 114)
+ { 58, { 0, 0, 0}}, // (174, 114)
+ {128, { 0, 0, 0}}, // (175, 114)
+ {128, { 0, 0, 0}}, // (176, 114)
+ {128, { 0, 0, 0}}, // (177, 114)
+ {128, { 0, 0, 0}}, // (178, 114)
+ {128, { 0, 0, 0}}, // (179, 114)
+ {128, { 0, 0, 0}}, // ( 0, 115)
+ {128, { 0, 0, 0}}, // ( 1, 115)
+ {128, { 0, 0, 0}}, // ( 2, 115)
+ {128, { 0, 0, 0}}, // ( 3, 115)
+ {128, { 0, 0, 0}}, // ( 4, 115)
+ { 98, { 0, 0, 0}}, // ( 5, 115)
+ { 0, { 0, 0, 0}}, // ( 6, 115)
+ { 0, { 0, 0, 0}}, // ( 7, 115)
+ { 0, { 0, 0, 0}}, // ( 8, 115)
+ { 0, { 0, 0, 0}}, // ( 9, 115)
+ { 0, { 0, 0, 0}}, // ( 10, 115)
+ { 0, { 0, 0, 0}}, // ( 11, 115)
+ { 0, { 0, 0, 0}}, // ( 12, 115)
+ { 0, { 0, 0, 0}}, // ( 13, 115)
+ { 0, { 0, 0, 0}}, // ( 14, 115)
+ { 0, { 0, 0, 0}}, // ( 15, 115)
+ { 0, { 0, 0, 0}}, // ( 16, 115)
+ { 0, { 0, 0, 0}}, // ( 17, 115)
+ { 0, { 0, 0, 0}}, // ( 18, 115)
+ { 0, { 0, 0, 0}}, // ( 19, 115)
+ { 0, { 0, 0, 0}}, // ( 20, 115)
+ { 0, { 0, 0, 0}}, // ( 21, 115)
+ { 0, { 0, 0, 0}}, // ( 22, 115)
+ { 0, { 0, 0, 0}}, // ( 23, 115)
+ { 0, { 0, 0, 0}}, // ( 24, 115)
+ { 0, { 0, 0, 0}}, // ( 25, 115)
+ { 0, { 0, 0, 0}}, // ( 26, 115)
+ { 0, { 0, 0, 0}}, // ( 27, 115)
+ { 0, { 0, 0, 0}}, // ( 28, 115)
+ { 0, { 0, 0, 0}}, // ( 29, 115)
+ { 0, { 0, 0, 0}}, // ( 30, 115)
+ { 0, { 0, 0, 0}}, // ( 31, 115)
+ { 0, { 0, 0, 0}}, // ( 32, 115)
+ { 0, { 0, 0, 0}}, // ( 33, 115)
+ { 0, { 0, 0, 0}}, // ( 34, 115)
+ { 0, { 0, 0, 0}}, // ( 35, 115)
+ { 0, { 0, 0, 0}}, // ( 36, 115)
+ { 0, { 0, 0, 0}}, // ( 37, 115)
+ { 0, { 0, 0, 0}}, // ( 38, 115)
+ { 0, { 0, 0, 0}}, // ( 39, 115)
+ { 0, { 0, 0, 0}}, // ( 40, 115)
+ { 0, { 0, 0, 0}}, // ( 41, 115)
+ { 0, { 0, 0, 0}}, // ( 42, 115)
+ { 0, { 0, 0, 0}}, // ( 43, 115)
+ { 0, { 0, 0, 0}}, // ( 44, 115)
+ { 0, { 0, 0, 0}}, // ( 45, 115)
+ { 0, { 0, 0, 0}}, // ( 46, 115)
+ { 0, { 0, 0, 0}}, // ( 47, 115)
+ { 0, { 0, 0, 0}}, // ( 48, 115)
+ { 0, { 0, 0, 0}}, // ( 49, 115)
+ { 0, { 0, 0, 0}}, // ( 50, 115)
+ { 0, { 0, 0, 0}}, // ( 51, 115)
+ { 0, { 0, 0, 0}}, // ( 52, 115)
+ { 0, { 0, 0, 0}}, // ( 53, 115)
+ { 0, { 0, 0, 0}}, // ( 54, 115)
+ { 0, { 0, 0, 0}}, // ( 55, 115)
+ { 0, { 0, 0, 0}}, // ( 56, 115)
+ { 0, { 0, 0, 0}}, // ( 57, 115)
+ { 0, { 0, 0, 0}}, // ( 58, 115)
+ { 0, { 0, 0, 0}}, // ( 59, 115)
+ { 0, { 0, 0, 0}}, // ( 60, 115)
+ { 0, { 0, 0, 0}}, // ( 61, 115)
+ { 0, { 0, 0, 0}}, // ( 62, 115)
+ { 0, { 0, 0, 0}}, // ( 63, 115)
+ { 0, { 0, 0, 0}}, // ( 64, 115)
+ { 0, { 0, 0, 0}}, // ( 65, 115)
+ { 0, { 0, 0, 0}}, // ( 66, 115)
+ { 0, { 0, 0, 0}}, // ( 67, 115)
+ { 0, { 0, 0, 0}}, // ( 68, 115)
+ { 0, { 0, 0, 0}}, // ( 69, 115)
+ { 0, { 0, 0, 0}}, // ( 70, 115)
+ { 0, { 0, 0, 0}}, // ( 71, 115)
+ { 0, { 0, 0, 0}}, // ( 72, 115)
+ { 0, { 0, 0, 0}}, // ( 73, 115)
+ { 0, { 0, 0, 0}}, // ( 74, 115)
+ { 0, { 0, 0, 0}}, // ( 75, 115)
+ { 0, { 0, 0, 0}}, // ( 76, 115)
+ { 0, { 0, 0, 0}}, // ( 77, 115)
+ { 0, { 0, 0, 0}}, // ( 78, 115)
+ { 0, { 0, 0, 0}}, // ( 79, 115)
+ { 0, { 0, 0, 0}}, // ( 80, 115)
+ { 0, { 0, 0, 0}}, // ( 81, 115)
+ { 0, { 0, 0, 0}}, // ( 82, 115)
+ { 0, { 0, 0, 0}}, // ( 83, 115)
+ { 0, { 0, 0, 0}}, // ( 84, 115)
+ { 0, { 0, 0, 0}}, // ( 85, 115)
+ { 0, { 0, 0, 0}}, // ( 86, 115)
+ { 0, { 0, 0, 0}}, // ( 87, 115)
+ { 0, { 0, 0, 0}}, // ( 88, 115)
+ { 0, { 0, 0, 0}}, // ( 89, 115)
+ { 0, { 0, 0, 0}}, // ( 90, 115)
+ { 0, { 0, 0, 0}}, // ( 91, 115)
+ { 0, { 0, 0, 0}}, // ( 92, 115)
+ { 0, { 0, 0, 0}}, // ( 93, 115)
+ { 0, { 0, 0, 0}}, // ( 94, 115)
+ { 0, { 0, 0, 0}}, // ( 95, 115)
+ { 0, { 0, 0, 0}}, // ( 96, 115)
+ { 0, { 0, 0, 0}}, // ( 97, 115)
+ { 0, { 0, 0, 0}}, // ( 98, 115)
+ { 0, { 0, 0, 0}}, // ( 99, 115)
+ { 0, { 0, 0, 0}}, // (100, 115)
+ { 0, { 0, 0, 0}}, // (101, 115)
+ { 0, { 0, 0, 0}}, // (102, 115)
+ { 0, { 0, 0, 0}}, // (103, 115)
+ { 0, { 0, 0, 0}}, // (104, 115)
+ { 0, { 0, 0, 0}}, // (105, 115)
+ { 0, { 0, 0, 0}}, // (106, 115)
+ { 0, { 0, 0, 0}}, // (107, 115)
+ { 0, { 0, 0, 0}}, // (108, 115)
+ { 0, { 0, 0, 0}}, // (109, 115)
+ { 0, { 0, 0, 0}}, // (110, 115)
+ { 0, { 0, 0, 0}}, // (111, 115)
+ { 0, { 0, 0, 0}}, // (112, 115)
+ { 0, { 0, 0, 0}}, // (113, 115)
+ { 0, { 0, 0, 0}}, // (114, 115)
+ { 0, { 0, 0, 0}}, // (115, 115)
+ { 0, { 0, 0, 0}}, // (116, 115)
+ { 0, { 0, 0, 0}}, // (117, 115)
+ { 0, { 0, 0, 0}}, // (118, 115)
+ { 0, { 0, 0, 0}}, // (119, 115)
+ { 0, { 0, 0, 0}}, // (120, 115)
+ { 0, { 0, 0, 0}}, // (121, 115)
+ { 0, { 0, 0, 0}}, // (122, 115)
+ { 0, { 0, 0, 0}}, // (123, 115)
+ { 0, { 0, 0, 0}}, // (124, 115)
+ { 0, { 0, 0, 0}}, // (125, 115)
+ { 0, { 0, 0, 0}}, // (126, 115)
+ { 0, { 0, 0, 0}}, // (127, 115)
+ { 0, { 0, 0, 0}}, // (128, 115)
+ { 0, { 0, 0, 0}}, // (129, 115)
+ { 0, { 0, 0, 0}}, // (130, 115)
+ { 0, { 0, 0, 0}}, // (131, 115)
+ { 0, { 0, 0, 0}}, // (132, 115)
+ { 0, { 0, 0, 0}}, // (133, 115)
+ { 0, { 0, 0, 0}}, // (134, 115)
+ { 0, { 0, 0, 0}}, // (135, 115)
+ { 0, { 0, 0, 0}}, // (136, 115)
+ { 0, { 0, 0, 0}}, // (137, 115)
+ { 0, { 0, 0, 0}}, // (138, 115)
+ { 0, { 0, 0, 0}}, // (139, 115)
+ { 0, { 0, 0, 0}}, // (140, 115)
+ { 0, { 0, 0, 0}}, // (141, 115)
+ { 0, { 0, 0, 0}}, // (142, 115)
+ { 0, { 0, 0, 0}}, // (143, 115)
+ { 0, { 0, 0, 0}}, // (144, 115)
+ { 0, { 0, 0, 0}}, // (145, 115)
+ { 0, { 0, 0, 0}}, // (146, 115)
+ { 0, { 0, 0, 0}}, // (147, 115)
+ { 0, { 0, 0, 0}}, // (148, 115)
+ { 0, { 0, 0, 0}}, // (149, 115)
+ { 0, { 0, 0, 0}}, // (150, 115)
+ { 0, { 0, 0, 0}}, // (151, 115)
+ { 0, { 0, 0, 0}}, // (152, 115)
+ { 0, { 0, 0, 0}}, // (153, 115)
+ { 0, { 0, 0, 0}}, // (154, 115)
+ { 0, { 0, 0, 0}}, // (155, 115)
+ { 0, { 0, 0, 0}}, // (156, 115)
+ { 0, { 0, 0, 0}}, // (157, 115)
+ { 0, { 0, 0, 0}}, // (158, 115)
+ { 0, { 0, 0, 0}}, // (159, 115)
+ { 0, { 0, 0, 0}}, // (160, 115)
+ { 0, { 0, 0, 0}}, // (161, 115)
+ { 0, { 0, 0, 0}}, // (162, 115)
+ { 0, { 0, 0, 0}}, // (163, 115)
+ { 0, { 0, 0, 0}}, // (164, 115)
+ { 0, { 0, 0, 0}}, // (165, 115)
+ { 0, { 0, 0, 0}}, // (166, 115)
+ { 0, { 0, 0, 0}}, // (167, 115)
+ { 0, { 0, 0, 0}}, // (168, 115)
+ { 0, { 0, 0, 0}}, // (169, 115)
+ { 0, { 0, 0, 0}}, // (170, 115)
+ { 0, { 0, 0, 0}}, // (171, 115)
+ { 0, { 0, 0, 0}}, // (172, 115)
+ { 0, { 0, 0, 0}}, // (173, 115)
+ { 97, { 0, 0, 0}}, // (174, 115)
+ {128, { 0, 0, 0}}, // (175, 115)
+ {128, { 0, 0, 0}}, // (176, 115)
+ {128, { 0, 0, 0}}, // (177, 115)
+ {128, { 0, 0, 0}}, // (178, 115)
+ {128, { 0, 0, 0}}, // (179, 115)
+ {128, { 0, 0, 0}}, // ( 0, 116)
+ {128, { 0, 0, 0}}, // ( 1, 116)
+ {128, { 0, 0, 0}}, // ( 2, 116)
+ {128, { 0, 0, 0}}, // ( 3, 116)
+ {128, { 0, 0, 0}}, // ( 4, 116)
+ {126, { 0, 0, 0}}, // ( 5, 116)
+ { 11, { 0, 0, 0}}, // ( 6, 116)
+ { 0, { 0, 0, 0}}, // ( 7, 116)
+ { 0, { 0, 0, 0}}, // ( 8, 116)
+ { 0, { 0, 0, 0}}, // ( 9, 116)
+ { 0, { 0, 0, 0}}, // ( 10, 116)
+ { 0, { 0, 0, 0}}, // ( 11, 116)
+ { 0, { 0, 0, 0}}, // ( 12, 116)
+ { 0, { 0, 0, 0}}, // ( 13, 116)
+ { 0, { 0, 0, 0}}, // ( 14, 116)
+ { 0, { 0, 0, 0}}, // ( 15, 116)
+ { 0, { 0, 0, 0}}, // ( 16, 116)
+ { 0, { 0, 0, 0}}, // ( 17, 116)
+ { 0, { 0, 0, 0}}, // ( 18, 116)
+ { 0, { 0, 0, 0}}, // ( 19, 116)
+ { 0, { 0, 0, 0}}, // ( 20, 116)
+ { 0, { 0, 0, 0}}, // ( 21, 116)
+ { 0, { 0, 0, 0}}, // ( 22, 116)
+ { 0, { 0, 0, 0}}, // ( 23, 116)
+ { 0, { 0, 0, 0}}, // ( 24, 116)
+ { 0, { 0, 0, 0}}, // ( 25, 116)
+ { 0, { 0, 0, 0}}, // ( 26, 116)
+ { 0, { 0, 0, 0}}, // ( 27, 116)
+ { 0, { 0, 0, 0}}, // ( 28, 116)
+ { 0, { 0, 0, 0}}, // ( 29, 116)
+ { 0, { 0, 0, 0}}, // ( 30, 116)
+ { 0, { 0, 0, 0}}, // ( 31, 116)
+ { 0, { 0, 0, 0}}, // ( 32, 116)
+ { 0, { 0, 0, 0}}, // ( 33, 116)
+ { 0, { 0, 0, 0}}, // ( 34, 116)
+ { 0, { 0, 0, 0}}, // ( 35, 116)
+ { 0, { 0, 0, 0}}, // ( 36, 116)
+ { 0, { 0, 0, 0}}, // ( 37, 116)
+ { 0, { 0, 0, 0}}, // ( 38, 116)
+ { 0, { 0, 0, 0}}, // ( 39, 116)
+ { 0, { 0, 0, 0}}, // ( 40, 116)
+ { 0, { 0, 0, 0}}, // ( 41, 116)
+ { 0, { 0, 0, 0}}, // ( 42, 116)
+ { 0, { 0, 0, 0}}, // ( 43, 116)
+ { 0, { 0, 0, 0}}, // ( 44, 116)
+ { 0, { 0, 0, 0}}, // ( 45, 116)
+ { 0, { 0, 0, 0}}, // ( 46, 116)
+ { 0, { 0, 0, 0}}, // ( 47, 116)
+ { 0, { 0, 0, 0}}, // ( 48, 116)
+ { 0, { 0, 0, 0}}, // ( 49, 116)
+ { 0, { 0, 0, 0}}, // ( 50, 116)
+ { 0, { 0, 0, 0}}, // ( 51, 116)
+ { 0, { 0, 0, 0}}, // ( 52, 116)
+ { 0, { 0, 0, 0}}, // ( 53, 116)
+ { 0, { 0, 0, 0}}, // ( 54, 116)
+ { 0, { 0, 0, 0}}, // ( 55, 116)
+ { 0, { 0, 0, 0}}, // ( 56, 116)
+ { 0, { 0, 0, 0}}, // ( 57, 116)
+ { 0, { 0, 0, 0}}, // ( 58, 116)
+ { 0, { 0, 0, 0}}, // ( 59, 116)
+ { 0, { 0, 0, 0}}, // ( 60, 116)
+ { 0, { 0, 0, 0}}, // ( 61, 116)
+ { 0, { 0, 0, 0}}, // ( 62, 116)
+ { 0, { 0, 0, 0}}, // ( 63, 116)
+ { 0, { 0, 0, 0}}, // ( 64, 116)
+ { 0, { 0, 0, 0}}, // ( 65, 116)
+ { 0, { 0, 0, 0}}, // ( 66, 116)
+ { 0, { 0, 0, 0}}, // ( 67, 116)
+ { 0, { 0, 0, 0}}, // ( 68, 116)
+ { 0, { 0, 0, 0}}, // ( 69, 116)
+ { 0, { 0, 0, 0}}, // ( 70, 116)
+ { 0, { 0, 0, 0}}, // ( 71, 116)
+ { 0, { 0, 0, 0}}, // ( 72, 116)
+ { 0, { 0, 0, 0}}, // ( 73, 116)
+ { 0, { 0, 0, 0}}, // ( 74, 116)
+ { 0, { 0, 0, 0}}, // ( 75, 116)
+ { 0, { 0, 0, 0}}, // ( 76, 116)
+ { 0, { 0, 0, 0}}, // ( 77, 116)
+ { 0, { 0, 0, 0}}, // ( 78, 116)
+ { 0, { 0, 0, 0}}, // ( 79, 116)
+ { 0, { 0, 0, 0}}, // ( 80, 116)
+ { 0, { 0, 0, 0}}, // ( 81, 116)
+ { 0, { 0, 0, 0}}, // ( 82, 116)
+ { 0, { 0, 0, 0}}, // ( 83, 116)
+ { 0, { 0, 0, 0}}, // ( 84, 116)
+ { 0, { 0, 0, 0}}, // ( 85, 116)
+ { 0, { 0, 0, 0}}, // ( 86, 116)
+ { 0, { 0, 0, 0}}, // ( 87, 116)
+ { 0, { 0, 0, 0}}, // ( 88, 116)
+ { 0, { 0, 0, 0}}, // ( 89, 116)
+ { 0, { 0, 0, 0}}, // ( 90, 116)
+ { 0, { 0, 0, 0}}, // ( 91, 116)
+ { 0, { 0, 0, 0}}, // ( 92, 116)
+ { 0, { 0, 0, 0}}, // ( 93, 116)
+ { 0, { 0, 0, 0}}, // ( 94, 116)
+ { 0, { 0, 0, 0}}, // ( 95, 116)
+ { 0, { 0, 0, 0}}, // ( 96, 116)
+ { 0, { 0, 0, 0}}, // ( 97, 116)
+ { 0, { 0, 0, 0}}, // ( 98, 116)
+ { 0, { 0, 0, 0}}, // ( 99, 116)
+ { 0, { 0, 0, 0}}, // (100, 116)
+ { 0, { 0, 0, 0}}, // (101, 116)
+ { 0, { 0, 0, 0}}, // (102, 116)
+ { 0, { 0, 0, 0}}, // (103, 116)
+ { 0, { 0, 0, 0}}, // (104, 116)
+ { 0, { 0, 0, 0}}, // (105, 116)
+ { 0, { 0, 0, 0}}, // (106, 116)
+ { 0, { 0, 0, 0}}, // (107, 116)
+ { 0, { 0, 0, 0}}, // (108, 116)
+ { 0, { 0, 0, 0}}, // (109, 116)
+ { 0, { 0, 0, 0}}, // (110, 116)
+ { 0, { 0, 0, 0}}, // (111, 116)
+ { 0, { 0, 0, 0}}, // (112, 116)
+ { 0, { 0, 0, 0}}, // (113, 116)
+ { 0, { 0, 0, 0}}, // (114, 116)
+ { 0, { 0, 0, 0}}, // (115, 116)
+ { 0, { 0, 0, 0}}, // (116, 116)
+ { 0, { 0, 0, 0}}, // (117, 116)
+ { 0, { 0, 0, 0}}, // (118, 116)
+ { 0, { 0, 0, 0}}, // (119, 116)
+ { 0, { 0, 0, 0}}, // (120, 116)
+ { 0, { 0, 0, 0}}, // (121, 116)
+ { 0, { 0, 0, 0}}, // (122, 116)
+ { 0, { 0, 0, 0}}, // (123, 116)
+ { 0, { 0, 0, 0}}, // (124, 116)
+ { 0, { 0, 0, 0}}, // (125, 116)
+ { 0, { 0, 0, 0}}, // (126, 116)
+ { 0, { 0, 0, 0}}, // (127, 116)
+ { 0, { 0, 0, 0}}, // (128, 116)
+ { 0, { 0, 0, 0}}, // (129, 116)
+ { 0, { 0, 0, 0}}, // (130, 116)
+ { 0, { 0, 0, 0}}, // (131, 116)
+ { 0, { 0, 0, 0}}, // (132, 116)
+ { 0, { 0, 0, 0}}, // (133, 116)
+ { 0, { 0, 0, 0}}, // (134, 116)
+ { 0, { 0, 0, 0}}, // (135, 116)
+ { 0, { 0, 0, 0}}, // (136, 116)
+ { 0, { 0, 0, 0}}, // (137, 116)
+ { 0, { 0, 0, 0}}, // (138, 116)
+ { 0, { 0, 0, 0}}, // (139, 116)
+ { 0, { 0, 0, 0}}, // (140, 116)
+ { 0, { 0, 0, 0}}, // (141, 116)
+ { 0, { 0, 0, 0}}, // (142, 116)
+ { 0, { 0, 0, 0}}, // (143, 116)
+ { 0, { 0, 0, 0}}, // (144, 116)
+ { 0, { 0, 0, 0}}, // (145, 116)
+ { 0, { 0, 0, 0}}, // (146, 116)
+ { 0, { 0, 0, 0}}, // (147, 116)
+ { 0, { 0, 0, 0}}, // (148, 116)
+ { 0, { 0, 0, 0}}, // (149, 116)
+ { 0, { 0, 0, 0}}, // (150, 116)
+ { 0, { 0, 0, 0}}, // (151, 116)
+ { 0, { 0, 0, 0}}, // (152, 116)
+ { 0, { 0, 0, 0}}, // (153, 116)
+ { 0, { 0, 0, 0}}, // (154, 116)
+ { 0, { 0, 0, 0}}, // (155, 116)
+ { 0, { 0, 0, 0}}, // (156, 116)
+ { 0, { 0, 0, 0}}, // (157, 116)
+ { 0, { 0, 0, 0}}, // (158, 116)
+ { 0, { 0, 0, 0}}, // (159, 116)
+ { 0, { 0, 0, 0}}, // (160, 116)
+ { 0, { 0, 0, 0}}, // (161, 116)
+ { 0, { 0, 0, 0}}, // (162, 116)
+ { 0, { 0, 0, 0}}, // (163, 116)
+ { 0, { 0, 0, 0}}, // (164, 116)
+ { 0, { 0, 0, 0}}, // (165, 116)
+ { 0, { 0, 0, 0}}, // (166, 116)
+ { 0, { 0, 0, 0}}, // (167, 116)
+ { 0, { 0, 0, 0}}, // (168, 116)
+ { 0, { 0, 0, 0}}, // (169, 116)
+ { 0, { 0, 0, 0}}, // (170, 116)
+ { 0, { 0, 0, 0}}, // (171, 116)
+ { 0, { 0, 0, 0}}, // (172, 116)
+ { 10, { 0, 0, 0}}, // (173, 116)
+ {126, { 0, 0, 0}}, // (174, 116)
+ {128, { 0, 0, 0}}, // (175, 116)
+ {128, { 0, 0, 0}}, // (176, 116)
+ {128, { 0, 0, 0}}, // (177, 116)
+ {128, { 0, 0, 0}}, // (178, 116)
+ {128, { 0, 0, 0}}, // (179, 116)
+ {128, { 0, 0, 0}}, // ( 0, 117)
+ {128, { 0, 0, 0}}, // ( 1, 117)
+ {128, { 0, 0, 0}}, // ( 2, 117)
+ {128, { 0, 0, 0}}, // ( 3, 117)
+ {128, { 0, 0, 0}}, // ( 4, 117)
+ {128, { 0, 0, 0}}, // ( 5, 117)
+ { 52, { 0, 0, 0}}, // ( 6, 117)
+ { 0, { 0, 0, 0}}, // ( 7, 117)
+ { 0, { 0, 0, 0}}, // ( 8, 117)
+ { 0, { 0, 0, 0}}, // ( 9, 117)
+ { 0, { 0, 0, 0}}, // ( 10, 117)
+ { 0, { 0, 0, 0}}, // ( 11, 117)
+ { 0, { 0, 0, 0}}, // ( 12, 117)
+ { 0, { 0, 0, 0}}, // ( 13, 117)
+ { 0, { 0, 0, 0}}, // ( 14, 117)
+ { 0, { 0, 0, 0}}, // ( 15, 117)
+ { 0, { 0, 0, 0}}, // ( 16, 117)
+ { 0, { 0, 0, 0}}, // ( 17, 117)
+ { 0, { 0, 0, 0}}, // ( 18, 117)
+ { 0, { 0, 0, 0}}, // ( 19, 117)
+ { 0, { 0, 0, 0}}, // ( 20, 117)
+ { 0, { 0, 0, 0}}, // ( 21, 117)
+ { 0, { 0, 0, 0}}, // ( 22, 117)
+ { 0, { 0, 0, 0}}, // ( 23, 117)
+ { 0, { 0, 0, 0}}, // ( 24, 117)
+ { 0, { 0, 0, 0}}, // ( 25, 117)
+ { 0, { 0, 0, 0}}, // ( 26, 117)
+ { 0, { 0, 0, 0}}, // ( 27, 117)
+ { 0, { 0, 0, 0}}, // ( 28, 117)
+ { 0, { 0, 0, 0}}, // ( 29, 117)
+ { 0, { 0, 0, 0}}, // ( 30, 117)
+ { 0, { 0, 0, 0}}, // ( 31, 117)
+ { 0, { 0, 0, 0}}, // ( 32, 117)
+ { 0, { 0, 0, 0}}, // ( 33, 117)
+ { 0, { 0, 0, 0}}, // ( 34, 117)
+ { 0, { 0, 0, 0}}, // ( 35, 117)
+ { 0, { 0, 0, 0}}, // ( 36, 117)
+ { 0, { 0, 0, 0}}, // ( 37, 117)
+ { 0, { 0, 0, 0}}, // ( 38, 117)
+ { 0, { 0, 0, 0}}, // ( 39, 117)
+ { 0, { 0, 0, 0}}, // ( 40, 117)
+ { 0, { 0, 0, 0}}, // ( 41, 117)
+ { 0, { 0, 0, 0}}, // ( 42, 117)
+ { 0, { 0, 0, 0}}, // ( 43, 117)
+ { 0, { 0, 0, 0}}, // ( 44, 117)
+ { 0, { 0, 0, 0}}, // ( 45, 117)
+ { 0, { 0, 0, 0}}, // ( 46, 117)
+ { 0, { 0, 0, 0}}, // ( 47, 117)
+ { 0, { 0, 0, 0}}, // ( 48, 117)
+ { 0, { 0, 0, 0}}, // ( 49, 117)
+ { 0, { 0, 0, 0}}, // ( 50, 117)
+ { 0, { 0, 0, 0}}, // ( 51, 117)
+ { 0, { 0, 0, 0}}, // ( 52, 117)
+ { 0, { 0, 0, 0}}, // ( 53, 117)
+ { 0, { 0, 0, 0}}, // ( 54, 117)
+ { 0, { 0, 0, 0}}, // ( 55, 117)
+ { 0, { 0, 0, 0}}, // ( 56, 117)
+ { 0, { 0, 0, 0}}, // ( 57, 117)
+ { 0, { 0, 0, 0}}, // ( 58, 117)
+ { 0, { 0, 0, 0}}, // ( 59, 117)
+ { 0, { 0, 0, 0}}, // ( 60, 117)
+ { 0, { 0, 0, 0}}, // ( 61, 117)
+ { 0, { 0, 0, 0}}, // ( 62, 117)
+ { 0, { 0, 0, 0}}, // ( 63, 117)
+ { 0, { 0, 0, 0}}, // ( 64, 117)
+ { 0, { 0, 0, 0}}, // ( 65, 117)
+ { 0, { 0, 0, 0}}, // ( 66, 117)
+ { 0, { 0, 0, 0}}, // ( 67, 117)
+ { 0, { 0, 0, 0}}, // ( 68, 117)
+ { 0, { 0, 0, 0}}, // ( 69, 117)
+ { 0, { 0, 0, 0}}, // ( 70, 117)
+ { 0, { 0, 0, 0}}, // ( 71, 117)
+ { 0, { 0, 0, 0}}, // ( 72, 117)
+ { 0, { 0, 0, 0}}, // ( 73, 117)
+ { 0, { 0, 0, 0}}, // ( 74, 117)
+ { 0, { 0, 0, 0}}, // ( 75, 117)
+ { 0, { 0, 0, 0}}, // ( 76, 117)
+ { 0, { 0, 0, 0}}, // ( 77, 117)
+ { 0, { 0, 0, 0}}, // ( 78, 117)
+ { 0, { 0, 0, 0}}, // ( 79, 117)
+ { 0, { 0, 0, 0}}, // ( 80, 117)
+ { 0, { 0, 0, 0}}, // ( 81, 117)
+ { 0, { 0, 0, 0}}, // ( 82, 117)
+ { 0, { 0, 0, 0}}, // ( 83, 117)
+ { 0, { 0, 0, 0}}, // ( 84, 117)
+ { 0, { 0, 0, 0}}, // ( 85, 117)
+ { 0, { 0, 0, 0}}, // ( 86, 117)
+ { 0, { 0, 0, 0}}, // ( 87, 117)
+ { 0, { 0, 0, 0}}, // ( 88, 117)
+ { 0, { 0, 0, 0}}, // ( 89, 117)
+ { 0, { 0, 0, 0}}, // ( 90, 117)
+ { 0, { 0, 0, 0}}, // ( 91, 117)
+ { 0, { 0, 0, 0}}, // ( 92, 117)
+ { 0, { 0, 0, 0}}, // ( 93, 117)
+ { 0, { 0, 0, 0}}, // ( 94, 117)
+ { 0, { 0, 0, 0}}, // ( 95, 117)
+ { 0, { 0, 0, 0}}, // ( 96, 117)
+ { 0, { 0, 0, 0}}, // ( 97, 117)
+ { 0, { 0, 0, 0}}, // ( 98, 117)
+ { 0, { 0, 0, 0}}, // ( 99, 117)
+ { 0, { 0, 0, 0}}, // (100, 117)
+ { 0, { 0, 0, 0}}, // (101, 117)
+ { 0, { 0, 0, 0}}, // (102, 117)
+ { 0, { 0, 0, 0}}, // (103, 117)
+ { 0, { 0, 0, 0}}, // (104, 117)
+ { 0, { 0, 0, 0}}, // (105, 117)
+ { 0, { 0, 0, 0}}, // (106, 117)
+ { 0, { 0, 0, 0}}, // (107, 117)
+ { 0, { 0, 0, 0}}, // (108, 117)
+ { 0, { 0, 0, 0}}, // (109, 117)
+ { 0, { 0, 0, 0}}, // (110, 117)
+ { 0, { 0, 0, 0}}, // (111, 117)
+ { 0, { 0, 0, 0}}, // (112, 117)
+ { 0, { 0, 0, 0}}, // (113, 117)
+ { 0, { 0, 0, 0}}, // (114, 117)
+ { 0, { 0, 0, 0}}, // (115, 117)
+ { 0, { 0, 0, 0}}, // (116, 117)
+ { 0, { 0, 0, 0}}, // (117, 117)
+ { 0, { 0, 0, 0}}, // (118, 117)
+ { 0, { 0, 0, 0}}, // (119, 117)
+ { 0, { 0, 0, 0}}, // (120, 117)
+ { 0, { 0, 0, 0}}, // (121, 117)
+ { 0, { 0, 0, 0}}, // (122, 117)
+ { 0, { 0, 0, 0}}, // (123, 117)
+ { 0, { 0, 0, 0}}, // (124, 117)
+ { 0, { 0, 0, 0}}, // (125, 117)
+ { 0, { 0, 0, 0}}, // (126, 117)
+ { 0, { 0, 0, 0}}, // (127, 117)
+ { 0, { 0, 0, 0}}, // (128, 117)
+ { 0, { 0, 0, 0}}, // (129, 117)
+ { 0, { 0, 0, 0}}, // (130, 117)
+ { 0, { 0, 0, 0}}, // (131, 117)
+ { 0, { 0, 0, 0}}, // (132, 117)
+ { 0, { 0, 0, 0}}, // (133, 117)
+ { 0, { 0, 0, 0}}, // (134, 117)
+ { 0, { 0, 0, 0}}, // (135, 117)
+ { 0, { 0, 0, 0}}, // (136, 117)
+ { 0, { 0, 0, 0}}, // (137, 117)
+ { 0, { 0, 0, 0}}, // (138, 117)
+ { 0, { 0, 0, 0}}, // (139, 117)
+ { 0, { 0, 0, 0}}, // (140, 117)
+ { 0, { 0, 0, 0}}, // (141, 117)
+ { 0, { 0, 0, 0}}, // (142, 117)
+ { 0, { 0, 0, 0}}, // (143, 117)
+ { 0, { 0, 0, 0}}, // (144, 117)
+ { 0, { 0, 0, 0}}, // (145, 117)
+ { 0, { 0, 0, 0}}, // (146, 117)
+ { 0, { 0, 0, 0}}, // (147, 117)
+ { 0, { 0, 0, 0}}, // (148, 117)
+ { 0, { 0, 0, 0}}, // (149, 117)
+ { 0, { 0, 0, 0}}, // (150, 117)
+ { 0, { 0, 0, 0}}, // (151, 117)
+ { 0, { 0, 0, 0}}, // (152, 117)
+ { 0, { 0, 0, 0}}, // (153, 117)
+ { 0, { 0, 0, 0}}, // (154, 117)
+ { 0, { 0, 0, 0}}, // (155, 117)
+ { 0, { 0, 0, 0}}, // (156, 117)
+ { 0, { 0, 0, 0}}, // (157, 117)
+ { 0, { 0, 0, 0}}, // (158, 117)
+ { 0, { 0, 0, 0}}, // (159, 117)
+ { 0, { 0, 0, 0}}, // (160, 117)
+ { 0, { 0, 0, 0}}, // (161, 117)
+ { 0, { 0, 0, 0}}, // (162, 117)
+ { 0, { 0, 0, 0}}, // (163, 117)
+ { 0, { 0, 0, 0}}, // (164, 117)
+ { 0, { 0, 0, 0}}, // (165, 117)
+ { 0, { 0, 0, 0}}, // (166, 117)
+ { 0, { 0, 0, 0}}, // (167, 117)
+ { 0, { 0, 0, 0}}, // (168, 117)
+ { 0, { 0, 0, 0}}, // (169, 117)
+ { 0, { 0, 0, 0}}, // (170, 117)
+ { 0, { 0, 0, 0}}, // (171, 117)
+ { 0, { 0, 0, 0}}, // (172, 117)
+ { 52, { 0, 0, 0}}, // (173, 117)
+ {128, { 0, 0, 0}}, // (174, 117)
+ {128, { 0, 0, 0}}, // (175, 117)
+ {128, { 0, 0, 0}}, // (176, 117)
+ {128, { 0, 0, 0}}, // (177, 117)
+ {128, { 0, 0, 0}}, // (178, 117)
+ {128, { 0, 0, 0}}, // (179, 117)
+ {128, { 0, 0, 0}}, // ( 0, 118)
+ {128, { 0, 0, 0}}, // ( 1, 118)
+ {128, { 0, 0, 0}}, // ( 2, 118)
+ {128, { 0, 0, 0}}, // ( 3, 118)
+ {128, { 0, 0, 0}}, // ( 4, 118)
+ {128, { 0, 0, 0}}, // ( 5, 118)
+ { 95, { 0, 0, 0}}, // ( 6, 118)
+ { 0, { 0, 0, 0}}, // ( 7, 118)
+ { 0, { 0, 0, 0}}, // ( 8, 118)
+ { 0, { 0, 0, 0}}, // ( 9, 118)
+ { 0, { 0, 0, 0}}, // ( 10, 118)
+ { 0, { 0, 0, 0}}, // ( 11, 118)
+ { 0, { 0, 0, 0}}, // ( 12, 118)
+ { 0, { 0, 0, 0}}, // ( 13, 118)
+ { 0, { 0, 0, 0}}, // ( 14, 118)
+ { 0, { 0, 0, 0}}, // ( 15, 118)
+ { 0, { 0, 0, 0}}, // ( 16, 118)
+ { 0, { 0, 0, 0}}, // ( 17, 118)
+ { 0, { 0, 0, 0}}, // ( 18, 118)
+ { 0, { 0, 0, 0}}, // ( 19, 118)
+ { 0, { 0, 0, 0}}, // ( 20, 118)
+ { 0, { 0, 0, 0}}, // ( 21, 118)
+ { 0, { 0, 0, 0}}, // ( 22, 118)
+ { 0, { 0, 0, 0}}, // ( 23, 118)
+ { 0, { 0, 0, 0}}, // ( 24, 118)
+ { 0, { 0, 0, 0}}, // ( 25, 118)
+ { 0, { 0, 0, 0}}, // ( 26, 118)
+ { 0, { 0, 0, 0}}, // ( 27, 118)
+ { 0, { 0, 0, 0}}, // ( 28, 118)
+ { 0, { 0, 0, 0}}, // ( 29, 118)
+ { 0, { 0, 0, 0}}, // ( 30, 118)
+ { 0, { 0, 0, 0}}, // ( 31, 118)
+ { 0, { 0, 0, 0}}, // ( 32, 118)
+ { 0, { 0, 0, 0}}, // ( 33, 118)
+ { 0, { 0, 0, 0}}, // ( 34, 118)
+ { 0, { 0, 0, 0}}, // ( 35, 118)
+ { 0, { 0, 0, 0}}, // ( 36, 118)
+ { 0, { 0, 0, 0}}, // ( 37, 118)
+ { 0, { 0, 0, 0}}, // ( 38, 118)
+ { 0, { 0, 0, 0}}, // ( 39, 118)
+ { 0, { 0, 0, 0}}, // ( 40, 118)
+ { 0, { 0, 0, 0}}, // ( 41, 118)
+ { 0, { 0, 0, 0}}, // ( 42, 118)
+ { 0, { 0, 0, 0}}, // ( 43, 118)
+ { 0, { 0, 0, 0}}, // ( 44, 118)
+ { 0, { 0, 0, 0}}, // ( 45, 118)
+ { 0, { 0, 0, 0}}, // ( 46, 118)
+ { 0, { 0, 0, 0}}, // ( 47, 118)
+ { 0, { 0, 0, 0}}, // ( 48, 118)
+ { 0, { 0, 0, 0}}, // ( 49, 118)
+ { 0, { 0, 0, 0}}, // ( 50, 118)
+ { 0, { 0, 0, 0}}, // ( 51, 118)
+ { 0, { 0, 0, 0}}, // ( 52, 118)
+ { 0, { 0, 0, 0}}, // ( 53, 118)
+ { 0, { 0, 0, 0}}, // ( 54, 118)
+ { 0, { 0, 0, 0}}, // ( 55, 118)
+ { 0, { 0, 0, 0}}, // ( 56, 118)
+ { 0, { 0, 0, 0}}, // ( 57, 118)
+ { 0, { 0, 0, 0}}, // ( 58, 118)
+ { 0, { 0, 0, 0}}, // ( 59, 118)
+ { 0, { 0, 0, 0}}, // ( 60, 118)
+ { 0, { 0, 0, 0}}, // ( 61, 118)
+ { 0, { 0, 0, 0}}, // ( 62, 118)
+ { 0, { 0, 0, 0}}, // ( 63, 118)
+ { 0, { 0, 0, 0}}, // ( 64, 118)
+ { 0, { 0, 0, 0}}, // ( 65, 118)
+ { 0, { 0, 0, 0}}, // ( 66, 118)
+ { 0, { 0, 0, 0}}, // ( 67, 118)
+ { 0, { 0, 0, 0}}, // ( 68, 118)
+ { 0, { 0, 0, 0}}, // ( 69, 118)
+ { 0, { 0, 0, 0}}, // ( 70, 118)
+ { 0, { 0, 0, 0}}, // ( 71, 118)
+ { 0, { 0, 0, 0}}, // ( 72, 118)
+ { 0, { 0, 0, 0}}, // ( 73, 118)
+ { 0, { 0, 0, 0}}, // ( 74, 118)
+ { 0, { 0, 0, 0}}, // ( 75, 118)
+ { 0, { 0, 0, 0}}, // ( 76, 118)
+ { 0, { 0, 0, 0}}, // ( 77, 118)
+ { 0, { 0, 0, 0}}, // ( 78, 118)
+ { 0, { 0, 0, 0}}, // ( 79, 118)
+ { 0, { 0, 0, 0}}, // ( 80, 118)
+ { 0, { 0, 0, 0}}, // ( 81, 118)
+ { 0, { 0, 0, 0}}, // ( 82, 118)
+ { 0, { 0, 0, 0}}, // ( 83, 118)
+ { 0, { 0, 0, 0}}, // ( 84, 118)
+ { 0, { 0, 0, 0}}, // ( 85, 118)
+ { 0, { 0, 0, 0}}, // ( 86, 118)
+ { 0, { 0, 0, 0}}, // ( 87, 118)
+ { 0, { 0, 0, 0}}, // ( 88, 118)
+ { 0, { 0, 0, 0}}, // ( 89, 118)
+ { 0, { 0, 0, 0}}, // ( 90, 118)
+ { 0, { 0, 0, 0}}, // ( 91, 118)
+ { 0, { 0, 0, 0}}, // ( 92, 118)
+ { 0, { 0, 0, 0}}, // ( 93, 118)
+ { 0, { 0, 0, 0}}, // ( 94, 118)
+ { 0, { 0, 0, 0}}, // ( 95, 118)
+ { 0, { 0, 0, 0}}, // ( 96, 118)
+ { 0, { 0, 0, 0}}, // ( 97, 118)
+ { 0, { 0, 0, 0}}, // ( 98, 118)
+ { 0, { 0, 0, 0}}, // ( 99, 118)
+ { 0, { 0, 0, 0}}, // (100, 118)
+ { 0, { 0, 0, 0}}, // (101, 118)
+ { 0, { 0, 0, 0}}, // (102, 118)
+ { 0, { 0, 0, 0}}, // (103, 118)
+ { 0, { 0, 0, 0}}, // (104, 118)
+ { 0, { 0, 0, 0}}, // (105, 118)
+ { 0, { 0, 0, 0}}, // (106, 118)
+ { 0, { 0, 0, 0}}, // (107, 118)
+ { 0, { 0, 0, 0}}, // (108, 118)
+ { 0, { 0, 0, 0}}, // (109, 118)
+ { 0, { 0, 0, 0}}, // (110, 118)
+ { 0, { 0, 0, 0}}, // (111, 118)
+ { 0, { 0, 0, 0}}, // (112, 118)
+ { 0, { 0, 0, 0}}, // (113, 118)
+ { 0, { 0, 0, 0}}, // (114, 118)
+ { 0, { 0, 0, 0}}, // (115, 118)
+ { 0, { 0, 0, 0}}, // (116, 118)
+ { 0, { 0, 0, 0}}, // (117, 118)
+ { 0, { 0, 0, 0}}, // (118, 118)
+ { 0, { 0, 0, 0}}, // (119, 118)
+ { 0, { 0, 0, 0}}, // (120, 118)
+ { 0, { 0, 0, 0}}, // (121, 118)
+ { 0, { 0, 0, 0}}, // (122, 118)
+ { 0, { 0, 0, 0}}, // (123, 118)
+ { 0, { 0, 0, 0}}, // (124, 118)
+ { 0, { 0, 0, 0}}, // (125, 118)
+ { 0, { 0, 0, 0}}, // (126, 118)
+ { 0, { 0, 0, 0}}, // (127, 118)
+ { 0, { 0, 0, 0}}, // (128, 118)
+ { 0, { 0, 0, 0}}, // (129, 118)
+ { 0, { 0, 0, 0}}, // (130, 118)
+ { 0, { 0, 0, 0}}, // (131, 118)
+ { 0, { 0, 0, 0}}, // (132, 118)
+ { 0, { 0, 0, 0}}, // (133, 118)
+ { 0, { 0, 0, 0}}, // (134, 118)
+ { 0, { 0, 0, 0}}, // (135, 118)
+ { 0, { 0, 0, 0}}, // (136, 118)
+ { 0, { 0, 0, 0}}, // (137, 118)
+ { 0, { 0, 0, 0}}, // (138, 118)
+ { 0, { 0, 0, 0}}, // (139, 118)
+ { 0, { 0, 0, 0}}, // (140, 118)
+ { 0, { 0, 0, 0}}, // (141, 118)
+ { 0, { 0, 0, 0}}, // (142, 118)
+ { 0, { 0, 0, 0}}, // (143, 118)
+ { 0, { 0, 0, 0}}, // (144, 118)
+ { 0, { 0, 0, 0}}, // (145, 118)
+ { 0, { 0, 0, 0}}, // (146, 118)
+ { 0, { 0, 0, 0}}, // (147, 118)
+ { 0, { 0, 0, 0}}, // (148, 118)
+ { 0, { 0, 0, 0}}, // (149, 118)
+ { 0, { 0, 0, 0}}, // (150, 118)
+ { 0, { 0, 0, 0}}, // (151, 118)
+ { 0, { 0, 0, 0}}, // (152, 118)
+ { 0, { 0, 0, 0}}, // (153, 118)
+ { 0, { 0, 0, 0}}, // (154, 118)
+ { 0, { 0, 0, 0}}, // (155, 118)
+ { 0, { 0, 0, 0}}, // (156, 118)
+ { 0, { 0, 0, 0}}, // (157, 118)
+ { 0, { 0, 0, 0}}, // (158, 118)
+ { 0, { 0, 0, 0}}, // (159, 118)
+ { 0, { 0, 0, 0}}, // (160, 118)
+ { 0, { 0, 0, 0}}, // (161, 118)
+ { 0, { 0, 0, 0}}, // (162, 118)
+ { 0, { 0, 0, 0}}, // (163, 118)
+ { 0, { 0, 0, 0}}, // (164, 118)
+ { 0, { 0, 0, 0}}, // (165, 118)
+ { 0, { 0, 0, 0}}, // (166, 118)
+ { 0, { 0, 0, 0}}, // (167, 118)
+ { 0, { 0, 0, 0}}, // (168, 118)
+ { 0, { 0, 0, 0}}, // (169, 118)
+ { 0, { 0, 0, 0}}, // (170, 118)
+ { 0, { 0, 0, 0}}, // (171, 118)
+ { 0, { 0, 0, 0}}, // (172, 118)
+ { 95, { 0, 0, 0}}, // (173, 118)
+ {128, { 0, 0, 0}}, // (174, 118)
+ {128, { 0, 0, 0}}, // (175, 118)
+ {128, { 0, 0, 0}}, // (176, 118)
+ {128, { 0, 0, 0}}, // (177, 118)
+ {128, { 0, 0, 0}}, // (178, 118)
+ {128, { 0, 0, 0}}, // (179, 118)
+ {128, { 0, 0, 0}}, // ( 0, 119)
+ {128, { 0, 0, 0}}, // ( 1, 119)
+ {128, { 0, 0, 0}}, // ( 2, 119)
+ {128, { 0, 0, 0}}, // ( 3, 119)
+ {128, { 0, 0, 0}}, // ( 4, 119)
+ {128, { 0, 0, 0}}, // ( 5, 119)
+ {126, { 0, 0, 0}}, // ( 6, 119)
+ { 12, { 0, 0, 0}}, // ( 7, 119)
+ { 0, { 0, 0, 0}}, // ( 8, 119)
+ { 0, { 0, 0, 0}}, // ( 9, 119)
+ { 0, { 0, 0, 0}}, // ( 10, 119)
+ { 0, { 0, 0, 0}}, // ( 11, 119)
+ { 0, { 0, 0, 0}}, // ( 12, 119)
+ { 0, { 0, 0, 0}}, // ( 13, 119)
+ { 0, { 0, 0, 0}}, // ( 14, 119)
+ { 0, { 0, 0, 0}}, // ( 15, 119)
+ { 0, { 0, 0, 0}}, // ( 16, 119)
+ { 0, { 0, 0, 0}}, // ( 17, 119)
+ { 0, { 0, 0, 0}}, // ( 18, 119)
+ { 0, { 0, 0, 0}}, // ( 19, 119)
+ { 0, { 0, 0, 0}}, // ( 20, 119)
+ { 0, { 0, 0, 0}}, // ( 21, 119)
+ { 0, { 0, 0, 0}}, // ( 22, 119)
+ { 0, { 0, 0, 0}}, // ( 23, 119)
+ { 0, { 0, 0, 0}}, // ( 24, 119)
+ { 0, { 0, 0, 0}}, // ( 25, 119)
+ { 0, { 0, 0, 0}}, // ( 26, 119)
+ { 0, { 0, 0, 0}}, // ( 27, 119)
+ { 0, { 0, 0, 0}}, // ( 28, 119)
+ { 0, { 0, 0, 0}}, // ( 29, 119)
+ { 0, { 0, 0, 0}}, // ( 30, 119)
+ { 0, { 0, 0, 0}}, // ( 31, 119)
+ { 0, { 0, 0, 0}}, // ( 32, 119)
+ { 0, { 0, 0, 0}}, // ( 33, 119)
+ { 0, { 0, 0, 0}}, // ( 34, 119)
+ { 0, { 0, 0, 0}}, // ( 35, 119)
+ { 0, { 0, 0, 0}}, // ( 36, 119)
+ { 0, { 0, 0, 0}}, // ( 37, 119)
+ { 0, { 0, 0, 0}}, // ( 38, 119)
+ { 0, { 0, 0, 0}}, // ( 39, 119)
+ { 0, { 0, 0, 0}}, // ( 40, 119)
+ { 0, { 0, 0, 0}}, // ( 41, 119)
+ { 0, { 0, 0, 0}}, // ( 42, 119)
+ { 0, { 0, 0, 0}}, // ( 43, 119)
+ { 0, { 0, 0, 0}}, // ( 44, 119)
+ { 0, { 0, 0, 0}}, // ( 45, 119)
+ { 0, { 0, 0, 0}}, // ( 46, 119)
+ { 0, { 0, 0, 0}}, // ( 47, 119)
+ { 0, { 0, 0, 0}}, // ( 48, 119)
+ { 0, { 0, 0, 0}}, // ( 49, 119)
+ { 0, { 0, 0, 0}}, // ( 50, 119)
+ { 0, { 0, 0, 0}}, // ( 51, 119)
+ { 0, { 0, 0, 0}}, // ( 52, 119)
+ { 0, { 0, 0, 0}}, // ( 53, 119)
+ { 0, { 0, 0, 0}}, // ( 54, 119)
+ { 0, { 0, 0, 0}}, // ( 55, 119)
+ { 0, { 0, 0, 0}}, // ( 56, 119)
+ { 0, { 0, 0, 0}}, // ( 57, 119)
+ { 0, { 0, 0, 0}}, // ( 58, 119)
+ { 0, { 0, 0, 0}}, // ( 59, 119)
+ { 0, { 0, 0, 0}}, // ( 60, 119)
+ { 0, { 0, 0, 0}}, // ( 61, 119)
+ { 0, { 0, 0, 0}}, // ( 62, 119)
+ { 0, { 0, 0, 0}}, // ( 63, 119)
+ { 0, { 0, 0, 0}}, // ( 64, 119)
+ { 0, { 0, 0, 0}}, // ( 65, 119)
+ { 0, { 0, 0, 0}}, // ( 66, 119)
+ { 0, { 0, 0, 0}}, // ( 67, 119)
+ { 0, { 0, 0, 0}}, // ( 68, 119)
+ { 0, { 0, 0, 0}}, // ( 69, 119)
+ { 0, { 0, 0, 0}}, // ( 70, 119)
+ { 0, { 0, 0, 0}}, // ( 71, 119)
+ { 0, { 0, 0, 0}}, // ( 72, 119)
+ { 0, { 0, 0, 0}}, // ( 73, 119)
+ { 0, { 0, 0, 0}}, // ( 74, 119)
+ { 0, { 0, 0, 0}}, // ( 75, 119)
+ { 0, { 0, 0, 0}}, // ( 76, 119)
+ { 0, { 0, 0, 0}}, // ( 77, 119)
+ { 0, { 0, 0, 0}}, // ( 78, 119)
+ { 0, { 0, 0, 0}}, // ( 79, 119)
+ { 0, { 0, 0, 0}}, // ( 80, 119)
+ { 0, { 0, 0, 0}}, // ( 81, 119)
+ { 0, { 0, 0, 0}}, // ( 82, 119)
+ { 0, { 0, 0, 0}}, // ( 83, 119)
+ { 0, { 0, 0, 0}}, // ( 84, 119)
+ { 0, { 0, 0, 0}}, // ( 85, 119)
+ { 0, { 0, 0, 0}}, // ( 86, 119)
+ { 0, { 0, 0, 0}}, // ( 87, 119)
+ { 0, { 0, 0, 0}}, // ( 88, 119)
+ { 0, { 0, 0, 0}}, // ( 89, 119)
+ { 0, { 0, 0, 0}}, // ( 90, 119)
+ { 0, { 0, 0, 0}}, // ( 91, 119)
+ { 0, { 0, 0, 0}}, // ( 92, 119)
+ { 0, { 0, 0, 0}}, // ( 93, 119)
+ { 0, { 0, 0, 0}}, // ( 94, 119)
+ { 0, { 0, 0, 0}}, // ( 95, 119)
+ { 0, { 0, 0, 0}}, // ( 96, 119)
+ { 0, { 0, 0, 0}}, // ( 97, 119)
+ { 0, { 0, 0, 0}}, // ( 98, 119)
+ { 0, { 0, 0, 0}}, // ( 99, 119)
+ { 0, { 0, 0, 0}}, // (100, 119)
+ { 0, { 0, 0, 0}}, // (101, 119)
+ { 0, { 0, 0, 0}}, // (102, 119)
+ { 0, { 0, 0, 0}}, // (103, 119)
+ { 0, { 0, 0, 0}}, // (104, 119)
+ { 0, { 0, 0, 0}}, // (105, 119)
+ { 0, { 0, 0, 0}}, // (106, 119)
+ { 0, { 0, 0, 0}}, // (107, 119)
+ { 0, { 0, 0, 0}}, // (108, 119)
+ { 0, { 0, 0, 0}}, // (109, 119)
+ { 0, { 0, 0, 0}}, // (110, 119)
+ { 0, { 0, 0, 0}}, // (111, 119)
+ { 0, { 0, 0, 0}}, // (112, 119)
+ { 0, { 0, 0, 0}}, // (113, 119)
+ { 0, { 0, 0, 0}}, // (114, 119)
+ { 0, { 0, 0, 0}}, // (115, 119)
+ { 0, { 0, 0, 0}}, // (116, 119)
+ { 0, { 0, 0, 0}}, // (117, 119)
+ { 0, { 0, 0, 0}}, // (118, 119)
+ { 0, { 0, 0, 0}}, // (119, 119)
+ { 0, { 0, 0, 0}}, // (120, 119)
+ { 0, { 0, 0, 0}}, // (121, 119)
+ { 0, { 0, 0, 0}}, // (122, 119)
+ { 0, { 0, 0, 0}}, // (123, 119)
+ { 0, { 0, 0, 0}}, // (124, 119)
+ { 0, { 0, 0, 0}}, // (125, 119)
+ { 0, { 0, 0, 0}}, // (126, 119)
+ { 0, { 0, 0, 0}}, // (127, 119)
+ { 0, { 0, 0, 0}}, // (128, 119)
+ { 0, { 0, 0, 0}}, // (129, 119)
+ { 0, { 0, 0, 0}}, // (130, 119)
+ { 0, { 0, 0, 0}}, // (131, 119)
+ { 0, { 0, 0, 0}}, // (132, 119)
+ { 0, { 0, 0, 0}}, // (133, 119)
+ { 0, { 0, 0, 0}}, // (134, 119)
+ { 0, { 0, 0, 0}}, // (135, 119)
+ { 0, { 0, 0, 0}}, // (136, 119)
+ { 0, { 0, 0, 0}}, // (137, 119)
+ { 0, { 0, 0, 0}}, // (138, 119)
+ { 0, { 0, 0, 0}}, // (139, 119)
+ { 0, { 0, 0, 0}}, // (140, 119)
+ { 0, { 0, 0, 0}}, // (141, 119)
+ { 0, { 0, 0, 0}}, // (142, 119)
+ { 0, { 0, 0, 0}}, // (143, 119)
+ { 0, { 0, 0, 0}}, // (144, 119)
+ { 0, { 0, 0, 0}}, // (145, 119)
+ { 0, { 0, 0, 0}}, // (146, 119)
+ { 0, { 0, 0, 0}}, // (147, 119)
+ { 0, { 0, 0, 0}}, // (148, 119)
+ { 0, { 0, 0, 0}}, // (149, 119)
+ { 0, { 0, 0, 0}}, // (150, 119)
+ { 0, { 0, 0, 0}}, // (151, 119)
+ { 0, { 0, 0, 0}}, // (152, 119)
+ { 0, { 0, 0, 0}}, // (153, 119)
+ { 0, { 0, 0, 0}}, // (154, 119)
+ { 0, { 0, 0, 0}}, // (155, 119)
+ { 0, { 0, 0, 0}}, // (156, 119)
+ { 0, { 0, 0, 0}}, // (157, 119)
+ { 0, { 0, 0, 0}}, // (158, 119)
+ { 0, { 0, 0, 0}}, // (159, 119)
+ { 0, { 0, 0, 0}}, // (160, 119)
+ { 0, { 0, 0, 0}}, // (161, 119)
+ { 0, { 0, 0, 0}}, // (162, 119)
+ { 0, { 0, 0, 0}}, // (163, 119)
+ { 0, { 0, 0, 0}}, // (164, 119)
+ { 0, { 0, 0, 0}}, // (165, 119)
+ { 0, { 0, 0, 0}}, // (166, 119)
+ { 0, { 0, 0, 0}}, // (167, 119)
+ { 0, { 0, 0, 0}}, // (168, 119)
+ { 0, { 0, 0, 0}}, // (169, 119)
+ { 0, { 0, 0, 0}}, // (170, 119)
+ { 0, { 0, 0, 0}}, // (171, 119)
+ { 12, { 0, 0, 0}}, // (172, 119)
+ {126, { 0, 0, 0}}, // (173, 119)
+ {128, { 0, 0, 0}}, // (174, 119)
+ {128, { 0, 0, 0}}, // (175, 119)
+ {128, { 0, 0, 0}}, // (176, 119)
+ {128, { 0, 0, 0}}, // (177, 119)
+ {128, { 0, 0, 0}}, // (178, 119)
+ {128, { 0, 0, 0}}, // (179, 119)
+ {128, { 0, 0, 0}}, // ( 0, 120)
+ {128, { 0, 0, 0}}, // ( 1, 120)
+ {128, { 0, 0, 0}}, // ( 2, 120)
+ {128, { 0, 0, 0}}, // ( 3, 120)
+ {128, { 0, 0, 0}}, // ( 4, 120)
+ {128, { 0, 0, 0}}, // ( 5, 120)
+ {128, { 0, 0, 0}}, // ( 6, 120)
+ { 55, { 0, 0, 0}}, // ( 7, 120)
+ { 0, { 0, 0, 0}}, // ( 8, 120)
+ { 0, { 0, 0, 0}}, // ( 9, 120)
+ { 0, { 0, 0, 0}}, // ( 10, 120)
+ { 0, { 0, 0, 0}}, // ( 11, 120)
+ { 0, { 0, 0, 0}}, // ( 12, 120)
+ { 0, { 0, 0, 0}}, // ( 13, 120)
+ { 0, { 0, 0, 0}}, // ( 14, 120)
+ { 0, { 0, 0, 0}}, // ( 15, 120)
+ { 0, { 0, 0, 0}}, // ( 16, 120)
+ { 0, { 0, 0, 0}}, // ( 17, 120)
+ { 0, { 0, 0, 0}}, // ( 18, 120)
+ { 0, { 0, 0, 0}}, // ( 19, 120)
+ { 0, { 0, 0, 0}}, // ( 20, 120)
+ { 0, { 0, 0, 0}}, // ( 21, 120)
+ { 0, { 0, 0, 0}}, // ( 22, 120)
+ { 0, { 0, 0, 0}}, // ( 23, 120)
+ { 0, { 0, 0, 0}}, // ( 24, 120)
+ { 0, { 0, 0, 0}}, // ( 25, 120)
+ { 0, { 0, 0, 0}}, // ( 26, 120)
+ { 0, { 0, 0, 0}}, // ( 27, 120)
+ { 0, { 0, 0, 0}}, // ( 28, 120)
+ { 0, { 0, 0, 0}}, // ( 29, 120)
+ { 0, { 0, 0, 0}}, // ( 30, 120)
+ { 0, { 0, 0, 0}}, // ( 31, 120)
+ { 0, { 0, 0, 0}}, // ( 32, 120)
+ { 0, { 0, 0, 0}}, // ( 33, 120)
+ { 0, { 0, 0, 0}}, // ( 34, 120)
+ { 0, { 0, 0, 0}}, // ( 35, 120)
+ { 0, { 0, 0, 0}}, // ( 36, 120)
+ { 0, { 0, 0, 0}}, // ( 37, 120)
+ { 0, { 0, 0, 0}}, // ( 38, 120)
+ { 0, { 0, 0, 0}}, // ( 39, 120)
+ { 0, { 0, 0, 0}}, // ( 40, 120)
+ { 0, { 0, 0, 0}}, // ( 41, 120)
+ { 0, { 0, 0, 0}}, // ( 42, 120)
+ { 0, { 0, 0, 0}}, // ( 43, 120)
+ { 0, { 0, 0, 0}}, // ( 44, 120)
+ { 0, { 0, 0, 0}}, // ( 45, 120)
+ { 0, { 0, 0, 0}}, // ( 46, 120)
+ { 0, { 0, 0, 0}}, // ( 47, 120)
+ { 0, { 0, 0, 0}}, // ( 48, 120)
+ { 0, { 0, 0, 0}}, // ( 49, 120)
+ { 0, { 0, 0, 0}}, // ( 50, 120)
+ { 0, { 0, 0, 0}}, // ( 51, 120)
+ { 0, { 0, 0, 0}}, // ( 52, 120)
+ { 0, { 0, 0, 0}}, // ( 53, 120)
+ { 0, { 0, 0, 0}}, // ( 54, 120)
+ { 0, { 0, 0, 0}}, // ( 55, 120)
+ { 0, { 0, 0, 0}}, // ( 56, 120)
+ { 0, { 0, 0, 0}}, // ( 57, 120)
+ { 0, { 0, 0, 0}}, // ( 58, 120)
+ { 0, { 0, 0, 0}}, // ( 59, 120)
+ { 0, { 0, 0, 0}}, // ( 60, 120)
+ { 0, { 0, 0, 0}}, // ( 61, 120)
+ { 0, { 0, 0, 0}}, // ( 62, 120)
+ { 0, { 0, 0, 0}}, // ( 63, 120)
+ { 0, { 0, 0, 0}}, // ( 64, 120)
+ { 0, { 0, 0, 0}}, // ( 65, 120)
+ { 0, { 0, 0, 0}}, // ( 66, 120)
+ { 0, { 0, 0, 0}}, // ( 67, 120)
+ { 0, { 0, 0, 0}}, // ( 68, 120)
+ { 0, { 0, 0, 0}}, // ( 69, 120)
+ { 0, { 0, 0, 0}}, // ( 70, 120)
+ { 0, { 0, 0, 0}}, // ( 71, 120)
+ { 0, { 0, 0, 0}}, // ( 72, 120)
+ { 0, { 0, 0, 0}}, // ( 73, 120)
+ { 0, { 0, 0, 0}}, // ( 74, 120)
+ { 0, { 0, 0, 0}}, // ( 75, 120)
+ { 0, { 0, 0, 0}}, // ( 76, 120)
+ { 0, { 0, 0, 0}}, // ( 77, 120)
+ { 0, { 0, 0, 0}}, // ( 78, 120)
+ { 0, { 0, 0, 0}}, // ( 79, 120)
+ { 0, { 0, 0, 0}}, // ( 80, 120)
+ { 0, { 0, 0, 0}}, // ( 81, 120)
+ { 0, { 0, 0, 0}}, // ( 82, 120)
+ { 0, { 0, 0, 0}}, // ( 83, 120)
+ { 0, { 0, 0, 0}}, // ( 84, 120)
+ { 0, { 0, 0, 0}}, // ( 85, 120)
+ { 0, { 0, 0, 0}}, // ( 86, 120)
+ { 0, { 0, 0, 0}}, // ( 87, 120)
+ { 0, { 0, 0, 0}}, // ( 88, 120)
+ { 0, { 0, 0, 0}}, // ( 89, 120)
+ { 0, { 0, 0, 0}}, // ( 90, 120)
+ { 0, { 0, 0, 0}}, // ( 91, 120)
+ { 0, { 0, 0, 0}}, // ( 92, 120)
+ { 0, { 0, 0, 0}}, // ( 93, 120)
+ { 0, { 0, 0, 0}}, // ( 94, 120)
+ { 0, { 0, 0, 0}}, // ( 95, 120)
+ { 0, { 0, 0, 0}}, // ( 96, 120)
+ { 0, { 0, 0, 0}}, // ( 97, 120)
+ { 0, { 0, 0, 0}}, // ( 98, 120)
+ { 0, { 0, 0, 0}}, // ( 99, 120)
+ { 0, { 0, 0, 0}}, // (100, 120)
+ { 0, { 0, 0, 0}}, // (101, 120)
+ { 0, { 0, 0, 0}}, // (102, 120)
+ { 0, { 0, 0, 0}}, // (103, 120)
+ { 0, { 0, 0, 0}}, // (104, 120)
+ { 0, { 0, 0, 0}}, // (105, 120)
+ { 0, { 0, 0, 0}}, // (106, 120)
+ { 0, { 0, 0, 0}}, // (107, 120)
+ { 0, { 0, 0, 0}}, // (108, 120)
+ { 0, { 0, 0, 0}}, // (109, 120)
+ { 0, { 0, 0, 0}}, // (110, 120)
+ { 0, { 0, 0, 0}}, // (111, 120)
+ { 0, { 0, 0, 0}}, // (112, 120)
+ { 0, { 0, 0, 0}}, // (113, 120)
+ { 0, { 0, 0, 0}}, // (114, 120)
+ { 0, { 0, 0, 0}}, // (115, 120)
+ { 0, { 0, 0, 0}}, // (116, 120)
+ { 0, { 0, 0, 0}}, // (117, 120)
+ { 0, { 0, 0, 0}}, // (118, 120)
+ { 0, { 0, 0, 0}}, // (119, 120)
+ { 0, { 0, 0, 0}}, // (120, 120)
+ { 0, { 0, 0, 0}}, // (121, 120)
+ { 0, { 0, 0, 0}}, // (122, 120)
+ { 0, { 0, 0, 0}}, // (123, 120)
+ { 0, { 0, 0, 0}}, // (124, 120)
+ { 0, { 0, 0, 0}}, // (125, 120)
+ { 0, { 0, 0, 0}}, // (126, 120)
+ { 0, { 0, 0, 0}}, // (127, 120)
+ { 0, { 0, 0, 0}}, // (128, 120)
+ { 0, { 0, 0, 0}}, // (129, 120)
+ { 0, { 0, 0, 0}}, // (130, 120)
+ { 0, { 0, 0, 0}}, // (131, 120)
+ { 0, { 0, 0, 0}}, // (132, 120)
+ { 0, { 0, 0, 0}}, // (133, 120)
+ { 0, { 0, 0, 0}}, // (134, 120)
+ { 0, { 0, 0, 0}}, // (135, 120)
+ { 0, { 0, 0, 0}}, // (136, 120)
+ { 0, { 0, 0, 0}}, // (137, 120)
+ { 0, { 0, 0, 0}}, // (138, 120)
+ { 0, { 0, 0, 0}}, // (139, 120)
+ { 0, { 0, 0, 0}}, // (140, 120)
+ { 0, { 0, 0, 0}}, // (141, 120)
+ { 0, { 0, 0, 0}}, // (142, 120)
+ { 0, { 0, 0, 0}}, // (143, 120)
+ { 0, { 0, 0, 0}}, // (144, 120)
+ { 0, { 0, 0, 0}}, // (145, 120)
+ { 0, { 0, 0, 0}}, // (146, 120)
+ { 0, { 0, 0, 0}}, // (147, 120)
+ { 0, { 0, 0, 0}}, // (148, 120)
+ { 0, { 0, 0, 0}}, // (149, 120)
+ { 0, { 0, 0, 0}}, // (150, 120)
+ { 0, { 0, 0, 0}}, // (151, 120)
+ { 0, { 0, 0, 0}}, // (152, 120)
+ { 0, { 0, 0, 0}}, // (153, 120)
+ { 0, { 0, 0, 0}}, // (154, 120)
+ { 0, { 0, 0, 0}}, // (155, 120)
+ { 0, { 0, 0, 0}}, // (156, 120)
+ { 0, { 0, 0, 0}}, // (157, 120)
+ { 0, { 0, 0, 0}}, // (158, 120)
+ { 0, { 0, 0, 0}}, // (159, 120)
+ { 0, { 0, 0, 0}}, // (160, 120)
+ { 0, { 0, 0, 0}}, // (161, 120)
+ { 0, { 0, 0, 0}}, // (162, 120)
+ { 0, { 0, 0, 0}}, // (163, 120)
+ { 0, { 0, 0, 0}}, // (164, 120)
+ { 0, { 0, 0, 0}}, // (165, 120)
+ { 0, { 0, 0, 0}}, // (166, 120)
+ { 0, { 0, 0, 0}}, // (167, 120)
+ { 0, { 0, 0, 0}}, // (168, 120)
+ { 0, { 0, 0, 0}}, // (169, 120)
+ { 0, { 0, 0, 0}}, // (170, 120)
+ { 0, { 0, 0, 0}}, // (171, 120)
+ { 55, { 0, 0, 0}}, // (172, 120)
+ {128, { 0, 0, 0}}, // (173, 120)
+ {128, { 0, 0, 0}}, // (174, 120)
+ {128, { 0, 0, 0}}, // (175, 120)
+ {128, { 0, 0, 0}}, // (176, 120)
+ {128, { 0, 0, 0}}, // (177, 120)
+ {128, { 0, 0, 0}}, // (178, 120)
+ {128, { 0, 0, 0}}, // (179, 120)
+ {128, { 0, 0, 0}}, // ( 0, 121)
+ {128, { 0, 0, 0}}, // ( 1, 121)
+ {128, { 0, 0, 0}}, // ( 2, 121)
+ {128, { 0, 0, 0}}, // ( 3, 121)
+ {128, { 0, 0, 0}}, // ( 4, 121)
+ {128, { 0, 0, 0}}, // ( 5, 121)
+ {128, { 0, 0, 0}}, // ( 6, 121)
+ {106, { 0, 0, 0}}, // ( 7, 121)
+ { 0, { 0, 0, 0}}, // ( 8, 121)
+ { 0, { 0, 0, 0}}, // ( 9, 121)
+ { 0, { 0, 0, 0}}, // ( 10, 121)
+ { 0, { 0, 0, 0}}, // ( 11, 121)
+ { 0, { 0, 0, 0}}, // ( 12, 121)
+ { 0, { 0, 0, 0}}, // ( 13, 121)
+ { 0, { 0, 0, 0}}, // ( 14, 121)
+ { 0, { 0, 0, 0}}, // ( 15, 121)
+ { 0, { 0, 0, 0}}, // ( 16, 121)
+ { 0, { 0, 0, 0}}, // ( 17, 121)
+ { 0, { 0, 0, 0}}, // ( 18, 121)
+ { 0, { 0, 0, 0}}, // ( 19, 121)
+ { 0, { 0, 0, 0}}, // ( 20, 121)
+ { 0, { 0, 0, 0}}, // ( 21, 121)
+ { 0, { 0, 0, 0}}, // ( 22, 121)
+ { 0, { 0, 0, 0}}, // ( 23, 121)
+ { 0, { 0, 0, 0}}, // ( 24, 121)
+ { 0, { 0, 0, 0}}, // ( 25, 121)
+ { 0, { 0, 0, 0}}, // ( 26, 121)
+ { 0, { 0, 0, 0}}, // ( 27, 121)
+ { 0, { 0, 0, 0}}, // ( 28, 121)
+ { 0, { 0, 0, 0}}, // ( 29, 121)
+ { 0, { 0, 0, 0}}, // ( 30, 121)
+ { 0, { 0, 0, 0}}, // ( 31, 121)
+ { 0, { 0, 0, 0}}, // ( 32, 121)
+ { 0, { 0, 0, 0}}, // ( 33, 121)
+ { 0, { 0, 0, 0}}, // ( 34, 121)
+ { 0, { 0, 0, 0}}, // ( 35, 121)
+ { 0, { 0, 0, 0}}, // ( 36, 121)
+ { 0, { 0, 0, 0}}, // ( 37, 121)
+ { 0, { 0, 0, 0}}, // ( 38, 121)
+ { 0, { 0, 0, 0}}, // ( 39, 121)
+ { 0, { 0, 0, 0}}, // ( 40, 121)
+ { 0, { 0, 0, 0}}, // ( 41, 121)
+ { 0, { 0, 0, 0}}, // ( 42, 121)
+ { 0, { 0, 0, 0}}, // ( 43, 121)
+ { 0, { 0, 0, 0}}, // ( 44, 121)
+ { 0, { 0, 0, 0}}, // ( 45, 121)
+ { 0, { 0, 0, 0}}, // ( 46, 121)
+ { 0, { 0, 0, 0}}, // ( 47, 121)
+ { 0, { 0, 0, 0}}, // ( 48, 121)
+ { 0, { 0, 0, 0}}, // ( 49, 121)
+ { 0, { 0, 0, 0}}, // ( 50, 121)
+ { 0, { 0, 0, 0}}, // ( 51, 121)
+ { 0, { 0, 0, 0}}, // ( 52, 121)
+ { 0, { 0, 0, 0}}, // ( 53, 121)
+ { 0, { 0, 0, 0}}, // ( 54, 121)
+ { 0, { 0, 0, 0}}, // ( 55, 121)
+ { 0, { 0, 0, 0}}, // ( 56, 121)
+ { 0, { 0, 0, 0}}, // ( 57, 121)
+ { 0, { 0, 0, 0}}, // ( 58, 121)
+ { 0, { 0, 0, 0}}, // ( 59, 121)
+ { 0, { 0, 0, 0}}, // ( 60, 121)
+ { 0, { 0, 0, 0}}, // ( 61, 121)
+ { 0, { 0, 0, 0}}, // ( 62, 121)
+ { 0, { 0, 0, 0}}, // ( 63, 121)
+ { 0, { 0, 0, 0}}, // ( 64, 121)
+ { 0, { 0, 0, 0}}, // ( 65, 121)
+ { 0, { 0, 0, 0}}, // ( 66, 121)
+ { 0, { 0, 0, 0}}, // ( 67, 121)
+ { 0, { 0, 0, 0}}, // ( 68, 121)
+ { 0, { 0, 0, 0}}, // ( 69, 121)
+ { 0, { 0, 0, 0}}, // ( 70, 121)
+ { 0, { 0, 0, 0}}, // ( 71, 121)
+ { 0, { 0, 0, 0}}, // ( 72, 121)
+ { 0, { 0, 0, 0}}, // ( 73, 121)
+ { 0, { 0, 0, 0}}, // ( 74, 121)
+ { 0, { 0, 0, 0}}, // ( 75, 121)
+ { 0, { 0, 0, 0}}, // ( 76, 121)
+ { 0, { 0, 0, 0}}, // ( 77, 121)
+ { 0, { 0, 0, 0}}, // ( 78, 121)
+ { 0, { 0, 0, 0}}, // ( 79, 121)
+ { 0, { 0, 0, 0}}, // ( 80, 121)
+ { 0, { 0, 0, 0}}, // ( 81, 121)
+ { 0, { 0, 0, 0}}, // ( 82, 121)
+ { 0, { 0, 0, 0}}, // ( 83, 121)
+ { 0, { 0, 0, 0}}, // ( 84, 121)
+ { 0, { 0, 0, 0}}, // ( 85, 121)
+ { 0, { 0, 0, 0}}, // ( 86, 121)
+ { 0, { 0, 0, 0}}, // ( 87, 121)
+ { 0, { 0, 0, 0}}, // ( 88, 121)
+ { 0, { 0, 0, 0}}, // ( 89, 121)
+ { 0, { 0, 0, 0}}, // ( 90, 121)
+ { 0, { 0, 0, 0}}, // ( 91, 121)
+ { 0, { 0, 0, 0}}, // ( 92, 121)
+ { 0, { 0, 0, 0}}, // ( 93, 121)
+ { 0, { 0, 0, 0}}, // ( 94, 121)
+ { 0, { 0, 0, 0}}, // ( 95, 121)
+ { 0, { 0, 0, 0}}, // ( 96, 121)
+ { 0, { 0, 0, 0}}, // ( 97, 121)
+ { 0, { 0, 0, 0}}, // ( 98, 121)
+ { 0, { 0, 0, 0}}, // ( 99, 121)
+ { 0, { 0, 0, 0}}, // (100, 121)
+ { 0, { 0, 0, 0}}, // (101, 121)
+ { 0, { 0, 0, 0}}, // (102, 121)
+ { 0, { 0, 0, 0}}, // (103, 121)
+ { 0, { 0, 0, 0}}, // (104, 121)
+ { 0, { 0, 0, 0}}, // (105, 121)
+ { 0, { 0, 0, 0}}, // (106, 121)
+ { 0, { 0, 0, 0}}, // (107, 121)
+ { 0, { 0, 0, 0}}, // (108, 121)
+ { 0, { 0, 0, 0}}, // (109, 121)
+ { 0, { 0, 0, 0}}, // (110, 121)
+ { 0, { 0, 0, 0}}, // (111, 121)
+ { 0, { 0, 0, 0}}, // (112, 121)
+ { 0, { 0, 0, 0}}, // (113, 121)
+ { 0, { 0, 0, 0}}, // (114, 121)
+ { 0, { 0, 0, 0}}, // (115, 121)
+ { 0, { 0, 0, 0}}, // (116, 121)
+ { 0, { 0, 0, 0}}, // (117, 121)
+ { 0, { 0, 0, 0}}, // (118, 121)
+ { 0, { 0, 0, 0}}, // (119, 121)
+ { 0, { 0, 0, 0}}, // (120, 121)
+ { 0, { 0, 0, 0}}, // (121, 121)
+ { 0, { 0, 0, 0}}, // (122, 121)
+ { 0, { 0, 0, 0}}, // (123, 121)
+ { 0, { 0, 0, 0}}, // (124, 121)
+ { 0, { 0, 0, 0}}, // (125, 121)
+ { 0, { 0, 0, 0}}, // (126, 121)
+ { 0, { 0, 0, 0}}, // (127, 121)
+ { 0, { 0, 0, 0}}, // (128, 121)
+ { 0, { 0, 0, 0}}, // (129, 121)
+ { 0, { 0, 0, 0}}, // (130, 121)
+ { 0, { 0, 0, 0}}, // (131, 121)
+ { 0, { 0, 0, 0}}, // (132, 121)
+ { 0, { 0, 0, 0}}, // (133, 121)
+ { 0, { 0, 0, 0}}, // (134, 121)
+ { 0, { 0, 0, 0}}, // (135, 121)
+ { 0, { 0, 0, 0}}, // (136, 121)
+ { 0, { 0, 0, 0}}, // (137, 121)
+ { 0, { 0, 0, 0}}, // (138, 121)
+ { 0, { 0, 0, 0}}, // (139, 121)
+ { 0, { 0, 0, 0}}, // (140, 121)
+ { 0, { 0, 0, 0}}, // (141, 121)
+ { 0, { 0, 0, 0}}, // (142, 121)
+ { 0, { 0, 0, 0}}, // (143, 121)
+ { 0, { 0, 0, 0}}, // (144, 121)
+ { 0, { 0, 0, 0}}, // (145, 121)
+ { 0, { 0, 0, 0}}, // (146, 121)
+ { 0, { 0, 0, 0}}, // (147, 121)
+ { 0, { 0, 0, 0}}, // (148, 121)
+ { 0, { 0, 0, 0}}, // (149, 121)
+ { 0, { 0, 0, 0}}, // (150, 121)
+ { 0, { 0, 0, 0}}, // (151, 121)
+ { 0, { 0, 0, 0}}, // (152, 121)
+ { 0, { 0, 0, 0}}, // (153, 121)
+ { 0, { 0, 0, 0}}, // (154, 121)
+ { 0, { 0, 0, 0}}, // (155, 121)
+ { 0, { 0, 0, 0}}, // (156, 121)
+ { 0, { 0, 0, 0}}, // (157, 121)
+ { 0, { 0, 0, 0}}, // (158, 121)
+ { 0, { 0, 0, 0}}, // (159, 121)
+ { 0, { 0, 0, 0}}, // (160, 121)
+ { 0, { 0, 0, 0}}, // (161, 121)
+ { 0, { 0, 0, 0}}, // (162, 121)
+ { 0, { 0, 0, 0}}, // (163, 121)
+ { 0, { 0, 0, 0}}, // (164, 121)
+ { 0, { 0, 0, 0}}, // (165, 121)
+ { 0, { 0, 0, 0}}, // (166, 121)
+ { 0, { 0, 0, 0}}, // (167, 121)
+ { 0, { 0, 0, 0}}, // (168, 121)
+ { 0, { 0, 0, 0}}, // (169, 121)
+ { 0, { 0, 0, 0}}, // (170, 121)
+ { 0, { 0, 0, 0}}, // (171, 121)
+ {105, { 0, 0, 0}}, // (172, 121)
+ {128, { 0, 0, 0}}, // (173, 121)
+ {128, { 0, 0, 0}}, // (174, 121)
+ {128, { 0, 0, 0}}, // (175, 121)
+ {128, { 0, 0, 0}}, // (176, 121)
+ {128, { 0, 0, 0}}, // (177, 121)
+ {128, { 0, 0, 0}}, // (178, 121)
+ {128, { 0, 0, 0}}, // (179, 121)
+ {128, { 0, 0, 0}}, // ( 0, 122)
+ {128, { 0, 0, 0}}, // ( 1, 122)
+ {128, { 0, 0, 0}}, // ( 2, 122)
+ {128, { 0, 0, 0}}, // ( 3, 122)
+ {128, { 0, 0, 0}}, // ( 4, 122)
+ {128, { 0, 0, 0}}, // ( 5, 122)
+ {128, { 0, 0, 0}}, // ( 6, 122)
+ {128, { 0, 0, 0}}, // ( 7, 122)
+ { 29, { 0, 0, 0}}, // ( 8, 122)
+ { 0, { 0, 0, 0}}, // ( 9, 122)
+ { 0, { 0, 0, 0}}, // ( 10, 122)
+ { 0, { 0, 0, 0}}, // ( 11, 122)
+ { 0, { 0, 0, 0}}, // ( 12, 122)
+ { 0, { 0, 0, 0}}, // ( 13, 122)
+ { 0, { 0, 0, 0}}, // ( 14, 122)
+ { 0, { 0, 0, 0}}, // ( 15, 122)
+ { 0, { 0, 0, 0}}, // ( 16, 122)
+ { 0, { 0, 0, 0}}, // ( 17, 122)
+ { 0, { 0, 0, 0}}, // ( 18, 122)
+ { 0, { 0, 0, 0}}, // ( 19, 122)
+ { 0, { 0, 0, 0}}, // ( 20, 122)
+ { 0, { 0, 0, 0}}, // ( 21, 122)
+ { 0, { 0, 0, 0}}, // ( 22, 122)
+ { 0, { 0, 0, 0}}, // ( 23, 122)
+ { 0, { 0, 0, 0}}, // ( 24, 122)
+ { 0, { 0, 0, 0}}, // ( 25, 122)
+ { 0, { 0, 0, 0}}, // ( 26, 122)
+ { 0, { 0, 0, 0}}, // ( 27, 122)
+ { 0, { 0, 0, 0}}, // ( 28, 122)
+ { 0, { 0, 0, 0}}, // ( 29, 122)
+ { 0, { 0, 0, 0}}, // ( 30, 122)
+ { 0, { 0, 0, 0}}, // ( 31, 122)
+ { 0, { 0, 0, 0}}, // ( 32, 122)
+ { 0, { 0, 0, 0}}, // ( 33, 122)
+ { 0, { 0, 0, 0}}, // ( 34, 122)
+ { 0, { 0, 0, 0}}, // ( 35, 122)
+ { 0, { 0, 0, 0}}, // ( 36, 122)
+ { 0, { 0, 0, 0}}, // ( 37, 122)
+ { 0, { 0, 0, 0}}, // ( 38, 122)
+ { 0, { 0, 0, 0}}, // ( 39, 122)
+ { 0, { 0, 0, 0}}, // ( 40, 122)
+ { 0, { 0, 0, 0}}, // ( 41, 122)
+ { 0, { 0, 0, 0}}, // ( 42, 122)
+ { 0, { 0, 0, 0}}, // ( 43, 122)
+ { 0, { 0, 0, 0}}, // ( 44, 122)
+ { 0, { 0, 0, 0}}, // ( 45, 122)
+ { 0, { 0, 0, 0}}, // ( 46, 122)
+ { 0, { 0, 0, 0}}, // ( 47, 122)
+ { 0, { 0, 0, 0}}, // ( 48, 122)
+ { 0, { 0, 0, 0}}, // ( 49, 122)
+ { 0, { 0, 0, 0}}, // ( 50, 122)
+ { 0, { 0, 0, 0}}, // ( 51, 122)
+ { 0, { 0, 0, 0}}, // ( 52, 122)
+ { 0, { 0, 0, 0}}, // ( 53, 122)
+ { 0, { 0, 0, 0}}, // ( 54, 122)
+ { 0, { 0, 0, 0}}, // ( 55, 122)
+ { 0, { 0, 0, 0}}, // ( 56, 122)
+ { 0, { 0, 0, 0}}, // ( 57, 122)
+ { 0, { 0, 0, 0}}, // ( 58, 122)
+ { 0, { 0, 0, 0}}, // ( 59, 122)
+ { 0, { 0, 0, 0}}, // ( 60, 122)
+ { 0, { 0, 0, 0}}, // ( 61, 122)
+ { 0, { 0, 0, 0}}, // ( 62, 122)
+ { 0, { 0, 0, 0}}, // ( 63, 122)
+ { 0, { 0, 0, 0}}, // ( 64, 122)
+ { 0, { 0, 0, 0}}, // ( 65, 122)
+ { 0, { 0, 0, 0}}, // ( 66, 122)
+ { 0, { 0, 0, 0}}, // ( 67, 122)
+ { 0, { 0, 0, 0}}, // ( 68, 122)
+ { 0, { 0, 0, 0}}, // ( 69, 122)
+ { 0, { 0, 0, 0}}, // ( 70, 122)
+ { 0, { 0, 0, 0}}, // ( 71, 122)
+ { 0, { 0, 0, 0}}, // ( 72, 122)
+ { 0, { 0, 0, 0}}, // ( 73, 122)
+ { 0, { 0, 0, 0}}, // ( 74, 122)
+ { 0, { 0, 0, 0}}, // ( 75, 122)
+ { 0, { 0, 0, 0}}, // ( 76, 122)
+ { 0, { 0, 0, 0}}, // ( 77, 122)
+ { 0, { 0, 0, 0}}, // ( 78, 122)
+ { 0, { 0, 0, 0}}, // ( 79, 122)
+ { 0, { 0, 0, 0}}, // ( 80, 122)
+ { 0, { 0, 0, 0}}, // ( 81, 122)
+ { 0, { 0, 0, 0}}, // ( 82, 122)
+ { 0, { 0, 0, 0}}, // ( 83, 122)
+ { 0, { 0, 0, 0}}, // ( 84, 122)
+ { 0, { 0, 0, 0}}, // ( 85, 122)
+ { 0, { 0, 0, 0}}, // ( 86, 122)
+ { 0, { 0, 0, 0}}, // ( 87, 122)
+ { 0, { 0, 0, 0}}, // ( 88, 122)
+ { 0, { 0, 0, 0}}, // ( 89, 122)
+ { 0, { 0, 0, 0}}, // ( 90, 122)
+ { 0, { 0, 0, 0}}, // ( 91, 122)
+ { 0, { 0, 0, 0}}, // ( 92, 122)
+ { 0, { 0, 0, 0}}, // ( 93, 122)
+ { 0, { 0, 0, 0}}, // ( 94, 122)
+ { 0, { 0, 0, 0}}, // ( 95, 122)
+ { 0, { 0, 0, 0}}, // ( 96, 122)
+ { 0, { 0, 0, 0}}, // ( 97, 122)
+ { 0, { 0, 0, 0}}, // ( 98, 122)
+ { 0, { 0, 0, 0}}, // ( 99, 122)
+ { 0, { 0, 0, 0}}, // (100, 122)
+ { 0, { 0, 0, 0}}, // (101, 122)
+ { 0, { 0, 0, 0}}, // (102, 122)
+ { 0, { 0, 0, 0}}, // (103, 122)
+ { 0, { 0, 0, 0}}, // (104, 122)
+ { 0, { 0, 0, 0}}, // (105, 122)
+ { 0, { 0, 0, 0}}, // (106, 122)
+ { 0, { 0, 0, 0}}, // (107, 122)
+ { 0, { 0, 0, 0}}, // (108, 122)
+ { 0, { 0, 0, 0}}, // (109, 122)
+ { 0, { 0, 0, 0}}, // (110, 122)
+ { 0, { 0, 0, 0}}, // (111, 122)
+ { 0, { 0, 0, 0}}, // (112, 122)
+ { 0, { 0, 0, 0}}, // (113, 122)
+ { 0, { 0, 0, 0}}, // (114, 122)
+ { 0, { 0, 0, 0}}, // (115, 122)
+ { 0, { 0, 0, 0}}, // (116, 122)
+ { 0, { 0, 0, 0}}, // (117, 122)
+ { 0, { 0, 0, 0}}, // (118, 122)
+ { 0, { 0, 0, 0}}, // (119, 122)
+ { 0, { 0, 0, 0}}, // (120, 122)
+ { 0, { 0, 0, 0}}, // (121, 122)
+ { 0, { 0, 0, 0}}, // (122, 122)
+ { 0, { 0, 0, 0}}, // (123, 122)
+ { 0, { 0, 0, 0}}, // (124, 122)
+ { 0, { 0, 0, 0}}, // (125, 122)
+ { 0, { 0, 0, 0}}, // (126, 122)
+ { 0, { 0, 0, 0}}, // (127, 122)
+ { 0, { 0, 0, 0}}, // (128, 122)
+ { 0, { 0, 0, 0}}, // (129, 122)
+ { 0, { 0, 0, 0}}, // (130, 122)
+ { 0, { 0, 0, 0}}, // (131, 122)
+ { 0, { 0, 0, 0}}, // (132, 122)
+ { 0, { 0, 0, 0}}, // (133, 122)
+ { 0, { 0, 0, 0}}, // (134, 122)
+ { 0, { 0, 0, 0}}, // (135, 122)
+ { 0, { 0, 0, 0}}, // (136, 122)
+ { 0, { 0, 0, 0}}, // (137, 122)
+ { 0, { 0, 0, 0}}, // (138, 122)
+ { 0, { 0, 0, 0}}, // (139, 122)
+ { 0, { 0, 0, 0}}, // (140, 122)
+ { 0, { 0, 0, 0}}, // (141, 122)
+ { 0, { 0, 0, 0}}, // (142, 122)
+ { 0, { 0, 0, 0}}, // (143, 122)
+ { 0, { 0, 0, 0}}, // (144, 122)
+ { 0, { 0, 0, 0}}, // (145, 122)
+ { 0, { 0, 0, 0}}, // (146, 122)
+ { 0, { 0, 0, 0}}, // (147, 122)
+ { 0, { 0, 0, 0}}, // (148, 122)
+ { 0, { 0, 0, 0}}, // (149, 122)
+ { 0, { 0, 0, 0}}, // (150, 122)
+ { 0, { 0, 0, 0}}, // (151, 122)
+ { 0, { 0, 0, 0}}, // (152, 122)
+ { 0, { 0, 0, 0}}, // (153, 122)
+ { 0, { 0, 0, 0}}, // (154, 122)
+ { 0, { 0, 0, 0}}, // (155, 122)
+ { 0, { 0, 0, 0}}, // (156, 122)
+ { 0, { 0, 0, 0}}, // (157, 122)
+ { 0, { 0, 0, 0}}, // (158, 122)
+ { 0, { 0, 0, 0}}, // (159, 122)
+ { 0, { 0, 0, 0}}, // (160, 122)
+ { 0, { 0, 0, 0}}, // (161, 122)
+ { 0, { 0, 0, 0}}, // (162, 122)
+ { 0, { 0, 0, 0}}, // (163, 122)
+ { 0, { 0, 0, 0}}, // (164, 122)
+ { 0, { 0, 0, 0}}, // (165, 122)
+ { 0, { 0, 0, 0}}, // (166, 122)
+ { 0, { 0, 0, 0}}, // (167, 122)
+ { 0, { 0, 0, 0}}, // (168, 122)
+ { 0, { 0, 0, 0}}, // (169, 122)
+ { 0, { 0, 0, 0}}, // (170, 122)
+ { 29, { 0, 0, 0}}, // (171, 122)
+ {128, { 0, 0, 0}}, // (172, 122)
+ {128, { 0, 0, 0}}, // (173, 122)
+ {128, { 0, 0, 0}}, // (174, 122)
+ {128, { 0, 0, 0}}, // (175, 122)
+ {128, { 0, 0, 0}}, // (176, 122)
+ {128, { 0, 0, 0}}, // (177, 122)
+ {128, { 0, 0, 0}}, // (178, 122)
+ {128, { 0, 0, 0}}, // (179, 122)
+ {128, { 0, 0, 0}}, // ( 0, 123)
+ {128, { 0, 0, 0}}, // ( 1, 123)
+ {128, { 0, 0, 0}}, // ( 2, 123)
+ {128, { 0, 0, 0}}, // ( 3, 123)
+ {128, { 0, 0, 0}}, // ( 4, 123)
+ {128, { 0, 0, 0}}, // ( 5, 123)
+ {128, { 0, 0, 0}}, // ( 6, 123)
+ {128, { 0, 0, 0}}, // ( 7, 123)
+ { 79, { 0, 0, 0}}, // ( 8, 123)
+ { 0, { 0, 0, 0}}, // ( 9, 123)
+ { 0, { 0, 0, 0}}, // ( 10, 123)
+ { 0, { 0, 0, 0}}, // ( 11, 123)
+ { 0, { 0, 0, 0}}, // ( 12, 123)
+ { 0, { 0, 0, 0}}, // ( 13, 123)
+ { 0, { 0, 0, 0}}, // ( 14, 123)
+ { 0, { 0, 0, 0}}, // ( 15, 123)
+ { 0, { 0, 0, 0}}, // ( 16, 123)
+ { 0, { 0, 0, 0}}, // ( 17, 123)
+ { 0, { 0, 0, 0}}, // ( 18, 123)
+ { 0, { 0, 0, 0}}, // ( 19, 123)
+ { 0, { 0, 0, 0}}, // ( 20, 123)
+ { 0, { 0, 0, 0}}, // ( 21, 123)
+ { 0, { 0, 0, 0}}, // ( 22, 123)
+ { 0, { 0, 0, 0}}, // ( 23, 123)
+ { 0, { 0, 0, 0}}, // ( 24, 123)
+ { 0, { 0, 0, 0}}, // ( 25, 123)
+ { 0, { 0, 0, 0}}, // ( 26, 123)
+ { 0, { 0, 0, 0}}, // ( 27, 123)
+ { 0, { 0, 0, 0}}, // ( 28, 123)
+ { 0, { 0, 0, 0}}, // ( 29, 123)
+ { 0, { 0, 0, 0}}, // ( 30, 123)
+ { 0, { 0, 0, 0}}, // ( 31, 123)
+ { 0, { 0, 0, 0}}, // ( 32, 123)
+ { 0, { 0, 0, 0}}, // ( 33, 123)
+ { 0, { 0, 0, 0}}, // ( 34, 123)
+ { 0, { 0, 0, 0}}, // ( 35, 123)
+ { 0, { 0, 0, 0}}, // ( 36, 123)
+ { 0, { 0, 0, 0}}, // ( 37, 123)
+ { 0, { 0, 0, 0}}, // ( 38, 123)
+ { 0, { 0, 0, 0}}, // ( 39, 123)
+ { 0, { 0, 0, 0}}, // ( 40, 123)
+ { 0, { 0, 0, 0}}, // ( 41, 123)
+ { 0, { 0, 0, 0}}, // ( 42, 123)
+ { 0, { 0, 0, 0}}, // ( 43, 123)
+ { 0, { 0, 0, 0}}, // ( 44, 123)
+ { 0, { 0, 0, 0}}, // ( 45, 123)
+ { 0, { 0, 0, 0}}, // ( 46, 123)
+ { 0, { 0, 0, 0}}, // ( 47, 123)
+ { 0, { 0, 0, 0}}, // ( 48, 123)
+ { 0, { 0, 0, 0}}, // ( 49, 123)
+ { 0, { 0, 0, 0}}, // ( 50, 123)
+ { 0, { 0, 0, 0}}, // ( 51, 123)
+ { 0, { 0, 0, 0}}, // ( 52, 123)
+ { 0, { 0, 0, 0}}, // ( 53, 123)
+ { 0, { 0, 0, 0}}, // ( 54, 123)
+ { 0, { 0, 0, 0}}, // ( 55, 123)
+ { 0, { 0, 0, 0}}, // ( 56, 123)
+ { 0, { 0, 0, 0}}, // ( 57, 123)
+ { 0, { 0, 0, 0}}, // ( 58, 123)
+ { 0, { 0, 0, 0}}, // ( 59, 123)
+ { 0, { 0, 0, 0}}, // ( 60, 123)
+ { 0, { 0, 0, 0}}, // ( 61, 123)
+ { 0, { 0, 0, 0}}, // ( 62, 123)
+ { 0, { 0, 0, 0}}, // ( 63, 123)
+ { 0, { 0, 0, 0}}, // ( 64, 123)
+ { 0, { 0, 0, 0}}, // ( 65, 123)
+ { 0, { 0, 0, 0}}, // ( 66, 123)
+ { 0, { 0, 0, 0}}, // ( 67, 123)
+ { 0, { 0, 0, 0}}, // ( 68, 123)
+ { 0, { 0, 0, 0}}, // ( 69, 123)
+ { 0, { 0, 0, 0}}, // ( 70, 123)
+ { 0, { 0, 0, 0}}, // ( 71, 123)
+ { 0, { 0, 0, 0}}, // ( 72, 123)
+ { 0, { 0, 0, 0}}, // ( 73, 123)
+ { 0, { 0, 0, 0}}, // ( 74, 123)
+ { 0, { 0, 0, 0}}, // ( 75, 123)
+ { 0, { 0, 0, 0}}, // ( 76, 123)
+ { 0, { 0, 0, 0}}, // ( 77, 123)
+ { 0, { 0, 0, 0}}, // ( 78, 123)
+ { 0, { 0, 0, 0}}, // ( 79, 123)
+ { 0, { 0, 0, 0}}, // ( 80, 123)
+ { 0, { 0, 0, 0}}, // ( 81, 123)
+ { 0, { 0, 0, 0}}, // ( 82, 123)
+ { 0, { 0, 0, 0}}, // ( 83, 123)
+ { 0, { 0, 0, 0}}, // ( 84, 123)
+ { 0, { 0, 0, 0}}, // ( 85, 123)
+ { 0, { 0, 0, 0}}, // ( 86, 123)
+ { 0, { 0, 0, 0}}, // ( 87, 123)
+ { 0, { 0, 0, 0}}, // ( 88, 123)
+ { 0, { 0, 0, 0}}, // ( 89, 123)
+ { 0, { 0, 0, 0}}, // ( 90, 123)
+ { 0, { 0, 0, 0}}, // ( 91, 123)
+ { 0, { 0, 0, 0}}, // ( 92, 123)
+ { 0, { 0, 0, 0}}, // ( 93, 123)
+ { 0, { 0, 0, 0}}, // ( 94, 123)
+ { 0, { 0, 0, 0}}, // ( 95, 123)
+ { 0, { 0, 0, 0}}, // ( 96, 123)
+ { 0, { 0, 0, 0}}, // ( 97, 123)
+ { 0, { 0, 0, 0}}, // ( 98, 123)
+ { 0, { 0, 0, 0}}, // ( 99, 123)
+ { 0, { 0, 0, 0}}, // (100, 123)
+ { 0, { 0, 0, 0}}, // (101, 123)
+ { 0, { 0, 0, 0}}, // (102, 123)
+ { 0, { 0, 0, 0}}, // (103, 123)
+ { 0, { 0, 0, 0}}, // (104, 123)
+ { 0, { 0, 0, 0}}, // (105, 123)
+ { 0, { 0, 0, 0}}, // (106, 123)
+ { 0, { 0, 0, 0}}, // (107, 123)
+ { 0, { 0, 0, 0}}, // (108, 123)
+ { 0, { 0, 0, 0}}, // (109, 123)
+ { 0, { 0, 0, 0}}, // (110, 123)
+ { 0, { 0, 0, 0}}, // (111, 123)
+ { 0, { 0, 0, 0}}, // (112, 123)
+ { 0, { 0, 0, 0}}, // (113, 123)
+ { 0, { 0, 0, 0}}, // (114, 123)
+ { 0, { 0, 0, 0}}, // (115, 123)
+ { 0, { 0, 0, 0}}, // (116, 123)
+ { 0, { 0, 0, 0}}, // (117, 123)
+ { 0, { 0, 0, 0}}, // (118, 123)
+ { 0, { 0, 0, 0}}, // (119, 123)
+ { 0, { 0, 0, 0}}, // (120, 123)
+ { 0, { 0, 0, 0}}, // (121, 123)
+ { 0, { 0, 0, 0}}, // (122, 123)
+ { 0, { 0, 0, 0}}, // (123, 123)
+ { 0, { 0, 0, 0}}, // (124, 123)
+ { 0, { 0, 0, 0}}, // (125, 123)
+ { 0, { 0, 0, 0}}, // (126, 123)
+ { 0, { 0, 0, 0}}, // (127, 123)
+ { 0, { 0, 0, 0}}, // (128, 123)
+ { 0, { 0, 0, 0}}, // (129, 123)
+ { 0, { 0, 0, 0}}, // (130, 123)
+ { 0, { 0, 0, 0}}, // (131, 123)
+ { 0, { 0, 0, 0}}, // (132, 123)
+ { 0, { 0, 0, 0}}, // (133, 123)
+ { 0, { 0, 0, 0}}, // (134, 123)
+ { 0, { 0, 0, 0}}, // (135, 123)
+ { 0, { 0, 0, 0}}, // (136, 123)
+ { 0, { 0, 0, 0}}, // (137, 123)
+ { 0, { 0, 0, 0}}, // (138, 123)
+ { 0, { 0, 0, 0}}, // (139, 123)
+ { 0, { 0, 0, 0}}, // (140, 123)
+ { 0, { 0, 0, 0}}, // (141, 123)
+ { 0, { 0, 0, 0}}, // (142, 123)
+ { 0, { 0, 0, 0}}, // (143, 123)
+ { 0, { 0, 0, 0}}, // (144, 123)
+ { 0, { 0, 0, 0}}, // (145, 123)
+ { 0, { 0, 0, 0}}, // (146, 123)
+ { 0, { 0, 0, 0}}, // (147, 123)
+ { 0, { 0, 0, 0}}, // (148, 123)
+ { 0, { 0, 0, 0}}, // (149, 123)
+ { 0, { 0, 0, 0}}, // (150, 123)
+ { 0, { 0, 0, 0}}, // (151, 123)
+ { 0, { 0, 0, 0}}, // (152, 123)
+ { 0, { 0, 0, 0}}, // (153, 123)
+ { 0, { 0, 0, 0}}, // (154, 123)
+ { 0, { 0, 0, 0}}, // (155, 123)
+ { 0, { 0, 0, 0}}, // (156, 123)
+ { 0, { 0, 0, 0}}, // (157, 123)
+ { 0, { 0, 0, 0}}, // (158, 123)
+ { 0, { 0, 0, 0}}, // (159, 123)
+ { 0, { 0, 0, 0}}, // (160, 123)
+ { 0, { 0, 0, 0}}, // (161, 123)
+ { 0, { 0, 0, 0}}, // (162, 123)
+ { 0, { 0, 0, 0}}, // (163, 123)
+ { 0, { 0, 0, 0}}, // (164, 123)
+ { 0, { 0, 0, 0}}, // (165, 123)
+ { 0, { 0, 0, 0}}, // (166, 123)
+ { 0, { 0, 0, 0}}, // (167, 123)
+ { 0, { 0, 0, 0}}, // (168, 123)
+ { 0, { 0, 0, 0}}, // (169, 123)
+ { 0, { 0, 0, 0}}, // (170, 123)
+ { 79, { 0, 0, 0}}, // (171, 123)
+ {128, { 0, 0, 0}}, // (172, 123)
+ {128, { 0, 0, 0}}, // (173, 123)
+ {128, { 0, 0, 0}}, // (174, 123)
+ {128, { 0, 0, 0}}, // (175, 123)
+ {128, { 0, 0, 0}}, // (176, 123)
+ {128, { 0, 0, 0}}, // (177, 123)
+ {128, { 0, 0, 0}}, // (178, 123)
+ {128, { 0, 0, 0}}, // (179, 123)
+ {128, { 0, 0, 0}}, // ( 0, 124)
+ {128, { 0, 0, 0}}, // ( 1, 124)
+ {128, { 0, 0, 0}}, // ( 2, 124)
+ {128, { 0, 0, 0}}, // ( 3, 124)
+ {128, { 0, 0, 0}}, // ( 4, 124)
+ {128, { 0, 0, 0}}, // ( 5, 124)
+ {128, { 0, 0, 0}}, // ( 6, 124)
+ {128, { 0, 0, 0}}, // ( 7, 124)
+ {122, { 0, 0, 0}}, // ( 8, 124)
+ { 9, { 0, 0, 0}}, // ( 9, 124)
+ { 0, { 0, 0, 0}}, // ( 10, 124)
+ { 0, { 0, 0, 0}}, // ( 11, 124)
+ { 0, { 0, 0, 0}}, // ( 12, 124)
+ { 0, { 0, 0, 0}}, // ( 13, 124)
+ { 0, { 0, 0, 0}}, // ( 14, 124)
+ { 0, { 0, 0, 0}}, // ( 15, 124)
+ { 0, { 0, 0, 0}}, // ( 16, 124)
+ { 0, { 0, 0, 0}}, // ( 17, 124)
+ { 0, { 0, 0, 0}}, // ( 18, 124)
+ { 0, { 0, 0, 0}}, // ( 19, 124)
+ { 0, { 0, 0, 0}}, // ( 20, 124)
+ { 0, { 0, 0, 0}}, // ( 21, 124)
+ { 0, { 0, 0, 0}}, // ( 22, 124)
+ { 0, { 0, 0, 0}}, // ( 23, 124)
+ { 0, { 0, 0, 0}}, // ( 24, 124)
+ { 0, { 0, 0, 0}}, // ( 25, 124)
+ { 0, { 0, 0, 0}}, // ( 26, 124)
+ { 0, { 0, 0, 0}}, // ( 27, 124)
+ { 0, { 0, 0, 0}}, // ( 28, 124)
+ { 0, { 0, 0, 0}}, // ( 29, 124)
+ { 0, { 0, 0, 0}}, // ( 30, 124)
+ { 0, { 0, 0, 0}}, // ( 31, 124)
+ { 0, { 0, 0, 0}}, // ( 32, 124)
+ { 0, { 0, 0, 0}}, // ( 33, 124)
+ { 0, { 0, 0, 0}}, // ( 34, 124)
+ { 0, { 0, 0, 0}}, // ( 35, 124)
+ { 0, { 0, 0, 0}}, // ( 36, 124)
+ { 0, { 0, 0, 0}}, // ( 37, 124)
+ { 0, { 0, 0, 0}}, // ( 38, 124)
+ { 0, { 0, 0, 0}}, // ( 39, 124)
+ { 0, { 0, 0, 0}}, // ( 40, 124)
+ { 0, { 0, 0, 0}}, // ( 41, 124)
+ { 0, { 0, 0, 0}}, // ( 42, 124)
+ { 0, { 0, 0, 0}}, // ( 43, 124)
+ { 0, { 0, 0, 0}}, // ( 44, 124)
+ { 0, { 0, 0, 0}}, // ( 45, 124)
+ { 0, { 0, 0, 0}}, // ( 46, 124)
+ { 0, { 0, 0, 0}}, // ( 47, 124)
+ { 0, { 0, 0, 0}}, // ( 48, 124)
+ { 0, { 0, 0, 0}}, // ( 49, 124)
+ { 0, { 0, 0, 0}}, // ( 50, 124)
+ { 0, { 0, 0, 0}}, // ( 51, 124)
+ { 0, { 0, 0, 0}}, // ( 52, 124)
+ { 0, { 0, 0, 0}}, // ( 53, 124)
+ { 0, { 0, 0, 0}}, // ( 54, 124)
+ { 0, { 0, 0, 0}}, // ( 55, 124)
+ { 0, { 0, 0, 0}}, // ( 56, 124)
+ { 0, { 0, 0, 0}}, // ( 57, 124)
+ { 0, { 0, 0, 0}}, // ( 58, 124)
+ { 0, { 0, 0, 0}}, // ( 59, 124)
+ { 0, { 0, 0, 0}}, // ( 60, 124)
+ { 0, { 0, 0, 0}}, // ( 61, 124)
+ { 0, { 0, 0, 0}}, // ( 62, 124)
+ { 0, { 0, 0, 0}}, // ( 63, 124)
+ { 0, { 0, 0, 0}}, // ( 64, 124)
+ { 0, { 0, 0, 0}}, // ( 65, 124)
+ { 0, { 0, 0, 0}}, // ( 66, 124)
+ { 0, { 0, 0, 0}}, // ( 67, 124)
+ { 0, { 0, 0, 0}}, // ( 68, 124)
+ { 0, { 0, 0, 0}}, // ( 69, 124)
+ { 0, { 0, 0, 0}}, // ( 70, 124)
+ { 0, { 0, 0, 0}}, // ( 71, 124)
+ { 0, { 0, 0, 0}}, // ( 72, 124)
+ { 0, { 0, 0, 0}}, // ( 73, 124)
+ { 0, { 0, 0, 0}}, // ( 74, 124)
+ { 0, { 0, 0, 0}}, // ( 75, 124)
+ { 0, { 0, 0, 0}}, // ( 76, 124)
+ { 0, { 0, 0, 0}}, // ( 77, 124)
+ { 0, { 0, 0, 0}}, // ( 78, 124)
+ { 0, { 0, 0, 0}}, // ( 79, 124)
+ { 0, { 0, 0, 0}}, // ( 80, 124)
+ { 0, { 0, 0, 0}}, // ( 81, 124)
+ { 0, { 0, 0, 0}}, // ( 82, 124)
+ { 0, { 0, 0, 0}}, // ( 83, 124)
+ { 0, { 0, 0, 0}}, // ( 84, 124)
+ { 0, { 0, 0, 0}}, // ( 85, 124)
+ { 0, { 0, 0, 0}}, // ( 86, 124)
+ { 0, { 0, 0, 0}}, // ( 87, 124)
+ { 0, { 0, 0, 0}}, // ( 88, 124)
+ { 0, { 0, 0, 0}}, // ( 89, 124)
+ { 0, { 0, 0, 0}}, // ( 90, 124)
+ { 0, { 0, 0, 0}}, // ( 91, 124)
+ { 0, { 0, 0, 0}}, // ( 92, 124)
+ { 0, { 0, 0, 0}}, // ( 93, 124)
+ { 0, { 0, 0, 0}}, // ( 94, 124)
+ { 0, { 0, 0, 0}}, // ( 95, 124)
+ { 0, { 0, 0, 0}}, // ( 96, 124)
+ { 0, { 0, 0, 0}}, // ( 97, 124)
+ { 0, { 0, 0, 0}}, // ( 98, 124)
+ { 0, { 0, 0, 0}}, // ( 99, 124)
+ { 0, { 0, 0, 0}}, // (100, 124)
+ { 0, { 0, 0, 0}}, // (101, 124)
+ { 0, { 0, 0, 0}}, // (102, 124)
+ { 0, { 0, 0, 0}}, // (103, 124)
+ { 0, { 0, 0, 0}}, // (104, 124)
+ { 0, { 0, 0, 0}}, // (105, 124)
+ { 0, { 0, 0, 0}}, // (106, 124)
+ { 0, { 0, 0, 0}}, // (107, 124)
+ { 0, { 0, 0, 0}}, // (108, 124)
+ { 0, { 0, 0, 0}}, // (109, 124)
+ { 0, { 0, 0, 0}}, // (110, 124)
+ { 0, { 0, 0, 0}}, // (111, 124)
+ { 0, { 0, 0, 0}}, // (112, 124)
+ { 0, { 0, 0, 0}}, // (113, 124)
+ { 0, { 0, 0, 0}}, // (114, 124)
+ { 0, { 0, 0, 0}}, // (115, 124)
+ { 0, { 0, 0, 0}}, // (116, 124)
+ { 0, { 0, 0, 0}}, // (117, 124)
+ { 0, { 0, 0, 0}}, // (118, 124)
+ { 0, { 0, 0, 0}}, // (119, 124)
+ { 0, { 0, 0, 0}}, // (120, 124)
+ { 0, { 0, 0, 0}}, // (121, 124)
+ { 0, { 0, 0, 0}}, // (122, 124)
+ { 0, { 0, 0, 0}}, // (123, 124)
+ { 0, { 0, 0, 0}}, // (124, 124)
+ { 0, { 0, 0, 0}}, // (125, 124)
+ { 0, { 0, 0, 0}}, // (126, 124)
+ { 0, { 0, 0, 0}}, // (127, 124)
+ { 0, { 0, 0, 0}}, // (128, 124)
+ { 0, { 0, 0, 0}}, // (129, 124)
+ { 0, { 0, 0, 0}}, // (130, 124)
+ { 0, { 0, 0, 0}}, // (131, 124)
+ { 0, { 0, 0, 0}}, // (132, 124)
+ { 0, { 0, 0, 0}}, // (133, 124)
+ { 0, { 0, 0, 0}}, // (134, 124)
+ { 0, { 0, 0, 0}}, // (135, 124)
+ { 0, { 0, 0, 0}}, // (136, 124)
+ { 0, { 0, 0, 0}}, // (137, 124)
+ { 0, { 0, 0, 0}}, // (138, 124)
+ { 0, { 0, 0, 0}}, // (139, 124)
+ { 0, { 0, 0, 0}}, // (140, 124)
+ { 0, { 0, 0, 0}}, // (141, 124)
+ { 0, { 0, 0, 0}}, // (142, 124)
+ { 0, { 0, 0, 0}}, // (143, 124)
+ { 0, { 0, 0, 0}}, // (144, 124)
+ { 0, { 0, 0, 0}}, // (145, 124)
+ { 0, { 0, 0, 0}}, // (146, 124)
+ { 0, { 0, 0, 0}}, // (147, 124)
+ { 0, { 0, 0, 0}}, // (148, 124)
+ { 0, { 0, 0, 0}}, // (149, 124)
+ { 0, { 0, 0, 0}}, // (150, 124)
+ { 0, { 0, 0, 0}}, // (151, 124)
+ { 0, { 0, 0, 0}}, // (152, 124)
+ { 0, { 0, 0, 0}}, // (153, 124)
+ { 0, { 0, 0, 0}}, // (154, 124)
+ { 0, { 0, 0, 0}}, // (155, 124)
+ { 0, { 0, 0, 0}}, // (156, 124)
+ { 0, { 0, 0, 0}}, // (157, 124)
+ { 0, { 0, 0, 0}}, // (158, 124)
+ { 0, { 0, 0, 0}}, // (159, 124)
+ { 0, { 0, 0, 0}}, // (160, 124)
+ { 0, { 0, 0, 0}}, // (161, 124)
+ { 0, { 0, 0, 0}}, // (162, 124)
+ { 0, { 0, 0, 0}}, // (163, 124)
+ { 0, { 0, 0, 0}}, // (164, 124)
+ { 0, { 0, 0, 0}}, // (165, 124)
+ { 0, { 0, 0, 0}}, // (166, 124)
+ { 0, { 0, 0, 0}}, // (167, 124)
+ { 0, { 0, 0, 0}}, // (168, 124)
+ { 0, { 0, 0, 0}}, // (169, 124)
+ { 8, { 0, 0, 0}}, // (170, 124)
+ {122, { 0, 0, 0}}, // (171, 124)
+ {128, { 0, 0, 0}}, // (172, 124)
+ {128, { 0, 0, 0}}, // (173, 124)
+ {128, { 0, 0, 0}}, // (174, 124)
+ {128, { 0, 0, 0}}, // (175, 124)
+ {128, { 0, 0, 0}}, // (176, 124)
+ {128, { 0, 0, 0}}, // (177, 124)
+ {128, { 0, 0, 0}}, // (178, 124)
+ {128, { 0, 0, 0}}, // (179, 124)
+ {128, { 0, 0, 0}}, // ( 0, 125)
+ {128, { 0, 0, 0}}, // ( 1, 125)
+ {128, { 0, 0, 0}}, // ( 2, 125)
+ {128, { 0, 0, 0}}, // ( 3, 125)
+ {128, { 0, 0, 0}}, // ( 4, 125)
+ {128, { 0, 0, 0}}, // ( 5, 125)
+ {128, { 0, 0, 0}}, // ( 6, 125)
+ {128, { 0, 0, 0}}, // ( 7, 125)
+ {128, { 0, 0, 0}}, // ( 8, 125)
+ { 62, { 0, 0, 0}}, // ( 9, 125)
+ { 0, { 0, 0, 0}}, // ( 10, 125)
+ { 0, { 0, 0, 0}}, // ( 11, 125)
+ { 0, { 0, 0, 0}}, // ( 12, 125)
+ { 0, { 0, 0, 0}}, // ( 13, 125)
+ { 0, { 0, 0, 0}}, // ( 14, 125)
+ { 0, { 0, 0, 0}}, // ( 15, 125)
+ { 0, { 0, 0, 0}}, // ( 16, 125)
+ { 0, { 0, 0, 0}}, // ( 17, 125)
+ { 0, { 0, 0, 0}}, // ( 18, 125)
+ { 0, { 0, 0, 0}}, // ( 19, 125)
+ { 0, { 0, 0, 0}}, // ( 20, 125)
+ { 0, { 0, 0, 0}}, // ( 21, 125)
+ { 0, { 0, 0, 0}}, // ( 22, 125)
+ { 0, { 0, 0, 0}}, // ( 23, 125)
+ { 0, { 0, 0, 0}}, // ( 24, 125)
+ { 0, { 0, 0, 0}}, // ( 25, 125)
+ { 0, { 0, 0, 0}}, // ( 26, 125)
+ { 0, { 0, 0, 0}}, // ( 27, 125)
+ { 0, { 0, 0, 0}}, // ( 28, 125)
+ { 0, { 0, 0, 0}}, // ( 29, 125)
+ { 0, { 0, 0, 0}}, // ( 30, 125)
+ { 0, { 0, 0, 0}}, // ( 31, 125)
+ { 0, { 0, 0, 0}}, // ( 32, 125)
+ { 0, { 0, 0, 0}}, // ( 33, 125)
+ { 0, { 0, 0, 0}}, // ( 34, 125)
+ { 0, { 0, 0, 0}}, // ( 35, 125)
+ { 0, { 0, 0, 0}}, // ( 36, 125)
+ { 0, { 0, 0, 0}}, // ( 37, 125)
+ { 0, { 0, 0, 0}}, // ( 38, 125)
+ { 0, { 0, 0, 0}}, // ( 39, 125)
+ { 0, { 0, 0, 0}}, // ( 40, 125)
+ { 0, { 0, 0, 0}}, // ( 41, 125)
+ { 0, { 0, 0, 0}}, // ( 42, 125)
+ { 0, { 0, 0, 0}}, // ( 43, 125)
+ { 0, { 0, 0, 0}}, // ( 44, 125)
+ { 0, { 0, 0, 0}}, // ( 45, 125)
+ { 0, { 0, 0, 0}}, // ( 46, 125)
+ { 0, { 0, 0, 0}}, // ( 47, 125)
+ { 0, { 0, 0, 0}}, // ( 48, 125)
+ { 0, { 0, 0, 0}}, // ( 49, 125)
+ { 0, { 0, 0, 0}}, // ( 50, 125)
+ { 0, { 0, 0, 0}}, // ( 51, 125)
+ { 0, { 0, 0, 0}}, // ( 52, 125)
+ { 0, { 0, 0, 0}}, // ( 53, 125)
+ { 0, { 0, 0, 0}}, // ( 54, 125)
+ { 0, { 0, 0, 0}}, // ( 55, 125)
+ { 0, { 0, 0, 0}}, // ( 56, 125)
+ { 0, { 0, 0, 0}}, // ( 57, 125)
+ { 0, { 0, 0, 0}}, // ( 58, 125)
+ { 0, { 0, 0, 0}}, // ( 59, 125)
+ { 0, { 0, 0, 0}}, // ( 60, 125)
+ { 0, { 0, 0, 0}}, // ( 61, 125)
+ { 0, { 0, 0, 0}}, // ( 62, 125)
+ { 0, { 0, 0, 0}}, // ( 63, 125)
+ { 0, { 0, 0, 0}}, // ( 64, 125)
+ { 0, { 0, 0, 0}}, // ( 65, 125)
+ { 0, { 0, 0, 0}}, // ( 66, 125)
+ { 0, { 0, 0, 0}}, // ( 67, 125)
+ { 0, { 0, 0, 0}}, // ( 68, 125)
+ { 0, { 0, 0, 0}}, // ( 69, 125)
+ { 0, { 0, 0, 0}}, // ( 70, 125)
+ { 0, { 0, 0, 0}}, // ( 71, 125)
+ { 0, { 0, 0, 0}}, // ( 72, 125)
+ { 0, { 0, 0, 0}}, // ( 73, 125)
+ { 0, { 0, 0, 0}}, // ( 74, 125)
+ { 0, { 0, 0, 0}}, // ( 75, 125)
+ { 0, { 0, 0, 0}}, // ( 76, 125)
+ { 0, { 0, 0, 0}}, // ( 77, 125)
+ { 0, { 0, 0, 0}}, // ( 78, 125)
+ { 0, { 0, 0, 0}}, // ( 79, 125)
+ { 0, { 0, 0, 0}}, // ( 80, 125)
+ { 0, { 0, 0, 0}}, // ( 81, 125)
+ { 0, { 0, 0, 0}}, // ( 82, 125)
+ { 0, { 0, 0, 0}}, // ( 83, 125)
+ { 0, { 0, 0, 0}}, // ( 84, 125)
+ { 0, { 0, 0, 0}}, // ( 85, 125)
+ { 0, { 0, 0, 0}}, // ( 86, 125)
+ { 0, { 0, 0, 0}}, // ( 87, 125)
+ { 0, { 0, 0, 0}}, // ( 88, 125)
+ { 0, { 0, 0, 0}}, // ( 89, 125)
+ { 0, { 0, 0, 0}}, // ( 90, 125)
+ { 0, { 0, 0, 0}}, // ( 91, 125)
+ { 0, { 0, 0, 0}}, // ( 92, 125)
+ { 0, { 0, 0, 0}}, // ( 93, 125)
+ { 0, { 0, 0, 0}}, // ( 94, 125)
+ { 0, { 0, 0, 0}}, // ( 95, 125)
+ { 0, { 0, 0, 0}}, // ( 96, 125)
+ { 0, { 0, 0, 0}}, // ( 97, 125)
+ { 0, { 0, 0, 0}}, // ( 98, 125)
+ { 0, { 0, 0, 0}}, // ( 99, 125)
+ { 0, { 0, 0, 0}}, // (100, 125)
+ { 0, { 0, 0, 0}}, // (101, 125)
+ { 0, { 0, 0, 0}}, // (102, 125)
+ { 0, { 0, 0, 0}}, // (103, 125)
+ { 0, { 0, 0, 0}}, // (104, 125)
+ { 0, { 0, 0, 0}}, // (105, 125)
+ { 0, { 0, 0, 0}}, // (106, 125)
+ { 0, { 0, 0, 0}}, // (107, 125)
+ { 0, { 0, 0, 0}}, // (108, 125)
+ { 0, { 0, 0, 0}}, // (109, 125)
+ { 0, { 0, 0, 0}}, // (110, 125)
+ { 0, { 0, 0, 0}}, // (111, 125)
+ { 0, { 0, 0, 0}}, // (112, 125)
+ { 0, { 0, 0, 0}}, // (113, 125)
+ { 0, { 0, 0, 0}}, // (114, 125)
+ { 0, { 0, 0, 0}}, // (115, 125)
+ { 0, { 0, 0, 0}}, // (116, 125)
+ { 0, { 0, 0, 0}}, // (117, 125)
+ { 0, { 0, 0, 0}}, // (118, 125)
+ { 0, { 0, 0, 0}}, // (119, 125)
+ { 0, { 0, 0, 0}}, // (120, 125)
+ { 0, { 0, 0, 0}}, // (121, 125)
+ { 0, { 0, 0, 0}}, // (122, 125)
+ { 0, { 0, 0, 0}}, // (123, 125)
+ { 0, { 0, 0, 0}}, // (124, 125)
+ { 0, { 0, 0, 0}}, // (125, 125)
+ { 0, { 0, 0, 0}}, // (126, 125)
+ { 0, { 0, 0, 0}}, // (127, 125)
+ { 0, { 0, 0, 0}}, // (128, 125)
+ { 0, { 0, 0, 0}}, // (129, 125)
+ { 0, { 0, 0, 0}}, // (130, 125)
+ { 0, { 0, 0, 0}}, // (131, 125)
+ { 0, { 0, 0, 0}}, // (132, 125)
+ { 0, { 0, 0, 0}}, // (133, 125)
+ { 0, { 0, 0, 0}}, // (134, 125)
+ { 0, { 0, 0, 0}}, // (135, 125)
+ { 0, { 0, 0, 0}}, // (136, 125)
+ { 0, { 0, 0, 0}}, // (137, 125)
+ { 0, { 0, 0, 0}}, // (138, 125)
+ { 0, { 0, 0, 0}}, // (139, 125)
+ { 0, { 0, 0, 0}}, // (140, 125)
+ { 0, { 0, 0, 0}}, // (141, 125)
+ { 0, { 0, 0, 0}}, // (142, 125)
+ { 0, { 0, 0, 0}}, // (143, 125)
+ { 0, { 0, 0, 0}}, // (144, 125)
+ { 0, { 0, 0, 0}}, // (145, 125)
+ { 0, { 0, 0, 0}}, // (146, 125)
+ { 0, { 0, 0, 0}}, // (147, 125)
+ { 0, { 0, 0, 0}}, // (148, 125)
+ { 0, { 0, 0, 0}}, // (149, 125)
+ { 0, { 0, 0, 0}}, // (150, 125)
+ { 0, { 0, 0, 0}}, // (151, 125)
+ { 0, { 0, 0, 0}}, // (152, 125)
+ { 0, { 0, 0, 0}}, // (153, 125)
+ { 0, { 0, 0, 0}}, // (154, 125)
+ { 0, { 0, 0, 0}}, // (155, 125)
+ { 0, { 0, 0, 0}}, // (156, 125)
+ { 0, { 0, 0, 0}}, // (157, 125)
+ { 0, { 0, 0, 0}}, // (158, 125)
+ { 0, { 0, 0, 0}}, // (159, 125)
+ { 0, { 0, 0, 0}}, // (160, 125)
+ { 0, { 0, 0, 0}}, // (161, 125)
+ { 0, { 0, 0, 0}}, // (162, 125)
+ { 0, { 0, 0, 0}}, // (163, 125)
+ { 0, { 0, 0, 0}}, // (164, 125)
+ { 0, { 0, 0, 0}}, // (165, 125)
+ { 0, { 0, 0, 0}}, // (166, 125)
+ { 0, { 0, 0, 0}}, // (167, 125)
+ { 0, { 0, 0, 0}}, // (168, 125)
+ { 0, { 0, 0, 0}}, // (169, 125)
+ { 58, { 0, 0, 0}}, // (170, 125)
+ {128, { 0, 0, 0}}, // (171, 125)
+ {128, { 0, 0, 0}}, // (172, 125)
+ {128, { 0, 0, 0}}, // (173, 125)
+ {128, { 0, 0, 0}}, // (174, 125)
+ {128, { 0, 0, 0}}, // (175, 125)
+ {128, { 0, 0, 0}}, // (176, 125)
+ {128, { 0, 0, 0}}, // (177, 125)
+ {128, { 0, 0, 0}}, // (178, 125)
+ {128, { 0, 0, 0}}, // (179, 125)
+ {128, { 0, 0, 0}}, // ( 0, 126)
+ {128, { 0, 0, 0}}, // ( 1, 126)
+ {128, { 0, 0, 0}}, // ( 2, 126)
+ {128, { 0, 0, 0}}, // ( 3, 126)
+ {128, { 0, 0, 0}}, // ( 4, 126)
+ {128, { 0, 0, 0}}, // ( 5, 126)
+ {128, { 0, 0, 0}}, // ( 6, 126)
+ {128, { 0, 0, 0}}, // ( 7, 126)
+ {128, { 0, 0, 0}}, // ( 8, 126)
+ {115, { 0, 0, 0}}, // ( 9, 126)
+ { 3, { 0, 0, 0}}, // ( 10, 126)
+ { 0, { 0, 0, 0}}, // ( 11, 126)
+ { 0, { 0, 0, 0}}, // ( 12, 126)
+ { 0, { 0, 0, 0}}, // ( 13, 126)
+ { 0, { 0, 0, 0}}, // ( 14, 126)
+ { 0, { 0, 0, 0}}, // ( 15, 126)
+ { 0, { 0, 0, 0}}, // ( 16, 126)
+ { 0, { 0, 0, 0}}, // ( 17, 126)
+ { 0, { 0, 0, 0}}, // ( 18, 126)
+ { 0, { 0, 0, 0}}, // ( 19, 126)
+ { 0, { 0, 0, 0}}, // ( 20, 126)
+ { 0, { 0, 0, 0}}, // ( 21, 126)
+ { 0, { 0, 0, 0}}, // ( 22, 126)
+ { 0, { 0, 0, 0}}, // ( 23, 126)
+ { 0, { 0, 0, 0}}, // ( 24, 126)
+ { 0, { 0, 0, 0}}, // ( 25, 126)
+ { 0, { 0, 0, 0}}, // ( 26, 126)
+ { 0, { 0, 0, 0}}, // ( 27, 126)
+ { 0, { 0, 0, 0}}, // ( 28, 126)
+ { 0, { 0, 0, 0}}, // ( 29, 126)
+ { 0, { 0, 0, 0}}, // ( 30, 126)
+ { 0, { 0, 0, 0}}, // ( 31, 126)
+ { 0, { 0, 0, 0}}, // ( 32, 126)
+ { 0, { 0, 0, 0}}, // ( 33, 126)
+ { 0, { 0, 0, 0}}, // ( 34, 126)
+ { 0, { 0, 0, 0}}, // ( 35, 126)
+ { 0, { 0, 0, 0}}, // ( 36, 126)
+ { 0, { 0, 0, 0}}, // ( 37, 126)
+ { 0, { 0, 0, 0}}, // ( 38, 126)
+ { 0, { 0, 0, 0}}, // ( 39, 126)
+ { 0, { 0, 0, 0}}, // ( 40, 126)
+ { 0, { 0, 0, 0}}, // ( 41, 126)
+ { 0, { 0, 0, 0}}, // ( 42, 126)
+ { 0, { 0, 0, 0}}, // ( 43, 126)
+ { 0, { 0, 0, 0}}, // ( 44, 126)
+ { 0, { 0, 0, 0}}, // ( 45, 126)
+ { 0, { 0, 0, 0}}, // ( 46, 126)
+ { 0, { 0, 0, 0}}, // ( 47, 126)
+ { 0, { 0, 0, 0}}, // ( 48, 126)
+ { 0, { 0, 0, 0}}, // ( 49, 126)
+ { 0, { 0, 0, 0}}, // ( 50, 126)
+ { 0, { 0, 0, 0}}, // ( 51, 126)
+ { 0, { 0, 0, 0}}, // ( 52, 126)
+ { 0, { 0, 0, 0}}, // ( 53, 126)
+ { 0, { 0, 0, 0}}, // ( 54, 126)
+ { 0, { 0, 0, 0}}, // ( 55, 126)
+ { 0, { 0, 0, 0}}, // ( 56, 126)
+ { 0, { 0, 0, 0}}, // ( 57, 126)
+ { 0, { 0, 0, 0}}, // ( 58, 126)
+ { 0, { 0, 0, 0}}, // ( 59, 126)
+ { 0, { 0, 0, 0}}, // ( 60, 126)
+ { 0, { 0, 0, 0}}, // ( 61, 126)
+ { 0, { 0, 0, 0}}, // ( 62, 126)
+ { 0, { 0, 0, 0}}, // ( 63, 126)
+ { 0, { 0, 0, 0}}, // ( 64, 126)
+ { 0, { 0, 0, 0}}, // ( 65, 126)
+ { 0, { 0, 0, 0}}, // ( 66, 126)
+ { 0, { 0, 0, 0}}, // ( 67, 126)
+ { 0, { 0, 0, 0}}, // ( 68, 126)
+ { 0, { 0, 0, 0}}, // ( 69, 126)
+ { 0, { 0, 0, 0}}, // ( 70, 126)
+ { 0, { 0, 0, 0}}, // ( 71, 126)
+ { 0, { 0, 0, 0}}, // ( 72, 126)
+ { 0, { 0, 0, 0}}, // ( 73, 126)
+ { 0, { 0, 0, 0}}, // ( 74, 126)
+ { 0, { 0, 0, 0}}, // ( 75, 126)
+ { 0, { 0, 0, 0}}, // ( 76, 126)
+ { 0, { 0, 0, 0}}, // ( 77, 126)
+ { 0, { 0, 0, 0}}, // ( 78, 126)
+ { 0, { 0, 0, 0}}, // ( 79, 126)
+ { 0, { 0, 0, 0}}, // ( 80, 126)
+ { 0, { 0, 0, 0}}, // ( 81, 126)
+ { 0, { 0, 0, 0}}, // ( 82, 126)
+ { 0, { 0, 0, 0}}, // ( 83, 126)
+ { 0, { 0, 0, 0}}, // ( 84, 126)
+ { 0, { 0, 0, 0}}, // ( 85, 126)
+ { 0, { 0, 0, 0}}, // ( 86, 126)
+ { 0, { 0, 0, 0}}, // ( 87, 126)
+ { 0, { 0, 0, 0}}, // ( 88, 126)
+ { 0, { 0, 0, 0}}, // ( 89, 126)
+ { 0, { 0, 0, 0}}, // ( 90, 126)
+ { 0, { 0, 0, 0}}, // ( 91, 126)
+ { 0, { 0, 0, 0}}, // ( 92, 126)
+ { 0, { 0, 0, 0}}, // ( 93, 126)
+ { 0, { 0, 0, 0}}, // ( 94, 126)
+ { 0, { 0, 0, 0}}, // ( 95, 126)
+ { 0, { 0, 0, 0}}, // ( 96, 126)
+ { 0, { 0, 0, 0}}, // ( 97, 126)
+ { 0, { 0, 0, 0}}, // ( 98, 126)
+ { 0, { 0, 0, 0}}, // ( 99, 126)
+ { 0, { 0, 0, 0}}, // (100, 126)
+ { 0, { 0, 0, 0}}, // (101, 126)
+ { 0, { 0, 0, 0}}, // (102, 126)
+ { 0, { 0, 0, 0}}, // (103, 126)
+ { 0, { 0, 0, 0}}, // (104, 126)
+ { 0, { 0, 0, 0}}, // (105, 126)
+ { 0, { 0, 0, 0}}, // (106, 126)
+ { 0, { 0, 0, 0}}, // (107, 126)
+ { 0, { 0, 0, 0}}, // (108, 126)
+ { 0, { 0, 0, 0}}, // (109, 126)
+ { 0, { 0, 0, 0}}, // (110, 126)
+ { 0, { 0, 0, 0}}, // (111, 126)
+ { 0, { 0, 0, 0}}, // (112, 126)
+ { 0, { 0, 0, 0}}, // (113, 126)
+ { 0, { 0, 0, 0}}, // (114, 126)
+ { 0, { 0, 0, 0}}, // (115, 126)
+ { 0, { 0, 0, 0}}, // (116, 126)
+ { 0, { 0, 0, 0}}, // (117, 126)
+ { 0, { 0, 0, 0}}, // (118, 126)
+ { 0, { 0, 0, 0}}, // (119, 126)
+ { 0, { 0, 0, 0}}, // (120, 126)
+ { 0, { 0, 0, 0}}, // (121, 126)
+ { 0, { 0, 0, 0}}, // (122, 126)
+ { 0, { 0, 0, 0}}, // (123, 126)
+ { 0, { 0, 0, 0}}, // (124, 126)
+ { 0, { 0, 0, 0}}, // (125, 126)
+ { 0, { 0, 0, 0}}, // (126, 126)
+ { 0, { 0, 0, 0}}, // (127, 126)
+ { 0, { 0, 0, 0}}, // (128, 126)
+ { 0, { 0, 0, 0}}, // (129, 126)
+ { 0, { 0, 0, 0}}, // (130, 126)
+ { 0, { 0, 0, 0}}, // (131, 126)
+ { 0, { 0, 0, 0}}, // (132, 126)
+ { 0, { 0, 0, 0}}, // (133, 126)
+ { 0, { 0, 0, 0}}, // (134, 126)
+ { 0, { 0, 0, 0}}, // (135, 126)
+ { 0, { 0, 0, 0}}, // (136, 126)
+ { 0, { 0, 0, 0}}, // (137, 126)
+ { 0, { 0, 0, 0}}, // (138, 126)
+ { 0, { 0, 0, 0}}, // (139, 126)
+ { 0, { 0, 0, 0}}, // (140, 126)
+ { 0, { 0, 0, 0}}, // (141, 126)
+ { 0, { 0, 0, 0}}, // (142, 126)
+ { 0, { 0, 0, 0}}, // (143, 126)
+ { 0, { 0, 0, 0}}, // (144, 126)
+ { 0, { 0, 0, 0}}, // (145, 126)
+ { 0, { 0, 0, 0}}, // (146, 126)
+ { 0, { 0, 0, 0}}, // (147, 126)
+ { 0, { 0, 0, 0}}, // (148, 126)
+ { 0, { 0, 0, 0}}, // (149, 126)
+ { 0, { 0, 0, 0}}, // (150, 126)
+ { 0, { 0, 0, 0}}, // (151, 126)
+ { 0, { 0, 0, 0}}, // (152, 126)
+ { 0, { 0, 0, 0}}, // (153, 126)
+ { 0, { 0, 0, 0}}, // (154, 126)
+ { 0, { 0, 0, 0}}, // (155, 126)
+ { 0, { 0, 0, 0}}, // (156, 126)
+ { 0, { 0, 0, 0}}, // (157, 126)
+ { 0, { 0, 0, 0}}, // (158, 126)
+ { 0, { 0, 0, 0}}, // (159, 126)
+ { 0, { 0, 0, 0}}, // (160, 126)
+ { 0, { 0, 0, 0}}, // (161, 126)
+ { 0, { 0, 0, 0}}, // (162, 126)
+ { 0, { 0, 0, 0}}, // (163, 126)
+ { 0, { 0, 0, 0}}, // (164, 126)
+ { 0, { 0, 0, 0}}, // (165, 126)
+ { 0, { 0, 0, 0}}, // (166, 126)
+ { 0, { 0, 0, 0}}, // (167, 126)
+ { 0, { 0, 0, 0}}, // (168, 126)
+ { 3, { 0, 0, 0}}, // (169, 126)
+ {113, { 0, 0, 0}}, // (170, 126)
+ {128, { 0, 0, 0}}, // (171, 126)
+ {128, { 0, 0, 0}}, // (172, 126)
+ {128, { 0, 0, 0}}, // (173, 126)
+ {128, { 0, 0, 0}}, // (174, 126)
+ {128, { 0, 0, 0}}, // (175, 126)
+ {128, { 0, 0, 0}}, // (176, 126)
+ {128, { 0, 0, 0}}, // (177, 126)
+ {128, { 0, 0, 0}}, // (178, 126)
+ {128, { 0, 0, 0}}, // (179, 126)
+ {128, { 0, 0, 0}}, // ( 0, 127)
+ {128, { 0, 0, 0}}, // ( 1, 127)
+ {128, { 0, 0, 0}}, // ( 2, 127)
+ {128, { 0, 0, 0}}, // ( 3, 127)
+ {128, { 0, 0, 0}}, // ( 4, 127)
+ {128, { 0, 0, 0}}, // ( 5, 127)
+ {128, { 0, 0, 0}}, // ( 6, 127)
+ {128, { 0, 0, 0}}, // ( 7, 127)
+ {128, { 0, 0, 0}}, // ( 8, 127)
+ {128, { 0, 0, 0}}, // ( 9, 127)
+ { 49, { 0, 0, 0}}, // ( 10, 127)
+ { 0, { 0, 0, 0}}, // ( 11, 127)
+ { 0, { 0, 0, 0}}, // ( 12, 127)
+ { 0, { 0, 0, 0}}, // ( 13, 127)
+ { 0, { 0, 0, 0}}, // ( 14, 127)
+ { 0, { 0, 0, 0}}, // ( 15, 127)
+ { 0, { 0, 0, 0}}, // ( 16, 127)
+ { 0, { 0, 0, 0}}, // ( 17, 127)
+ { 0, { 0, 0, 0}}, // ( 18, 127)
+ { 0, { 0, 0, 0}}, // ( 19, 127)
+ { 0, { 0, 0, 0}}, // ( 20, 127)
+ { 0, { 0, 0, 0}}, // ( 21, 127)
+ { 0, { 0, 0, 0}}, // ( 22, 127)
+ { 0, { 0, 0, 0}}, // ( 23, 127)
+ { 0, { 0, 0, 0}}, // ( 24, 127)
+ { 0, { 0, 0, 0}}, // ( 25, 127)
+ { 0, { 0, 0, 0}}, // ( 26, 127)
+ { 0, { 0, 0, 0}}, // ( 27, 127)
+ { 0, { 0, 0, 0}}, // ( 28, 127)
+ { 0, { 0, 0, 0}}, // ( 29, 127)
+ { 0, { 0, 0, 0}}, // ( 30, 127)
+ { 0, { 0, 0, 0}}, // ( 31, 127)
+ { 0, { 0, 0, 0}}, // ( 32, 127)
+ { 0, { 0, 0, 0}}, // ( 33, 127)
+ { 0, { 0, 0, 0}}, // ( 34, 127)
+ { 0, { 0, 0, 0}}, // ( 35, 127)
+ { 0, { 0, 0, 0}}, // ( 36, 127)
+ { 0, { 0, 0, 0}}, // ( 37, 127)
+ { 0, { 0, 0, 0}}, // ( 38, 127)
+ { 0, { 0, 0, 0}}, // ( 39, 127)
+ { 0, { 0, 0, 0}}, // ( 40, 127)
+ { 0, { 0, 0, 0}}, // ( 41, 127)
+ { 0, { 0, 0, 0}}, // ( 42, 127)
+ { 0, { 0, 0, 0}}, // ( 43, 127)
+ { 0, { 0, 0, 0}}, // ( 44, 127)
+ { 0, { 0, 0, 0}}, // ( 45, 127)
+ { 0, { 0, 0, 0}}, // ( 46, 127)
+ { 0, { 0, 0, 0}}, // ( 47, 127)
+ { 0, { 0, 0, 0}}, // ( 48, 127)
+ { 0, { 0, 0, 0}}, // ( 49, 127)
+ { 0, { 0, 0, 0}}, // ( 50, 127)
+ { 0, { 0, 0, 0}}, // ( 51, 127)
+ { 0, { 0, 0, 0}}, // ( 52, 127)
+ { 0, { 0, 0, 0}}, // ( 53, 127)
+ { 0, { 0, 0, 0}}, // ( 54, 127)
+ { 0, { 0, 0, 0}}, // ( 55, 127)
+ { 0, { 0, 0, 0}}, // ( 56, 127)
+ { 0, { 0, 0, 0}}, // ( 57, 127)
+ { 0, { 0, 0, 0}}, // ( 58, 127)
+ { 0, { 0, 0, 0}}, // ( 59, 127)
+ { 0, { 0, 0, 0}}, // ( 60, 127)
+ { 0, { 0, 0, 0}}, // ( 61, 127)
+ { 0, { 0, 0, 0}}, // ( 62, 127)
+ { 0, { 0, 0, 0}}, // ( 63, 127)
+ { 0, { 0, 0, 0}}, // ( 64, 127)
+ { 0, { 0, 0, 0}}, // ( 65, 127)
+ { 0, { 0, 0, 0}}, // ( 66, 127)
+ { 0, { 0, 0, 0}}, // ( 67, 127)
+ { 0, { 0, 0, 0}}, // ( 68, 127)
+ { 0, { 0, 0, 0}}, // ( 69, 127)
+ { 0, { 0, 0, 0}}, // ( 70, 127)
+ { 0, { 0, 0, 0}}, // ( 71, 127)
+ { 0, { 0, 0, 0}}, // ( 72, 127)
+ { 0, { 0, 0, 0}}, // ( 73, 127)
+ { 0, { 0, 0, 0}}, // ( 74, 127)
+ { 0, { 0, 0, 0}}, // ( 75, 127)
+ { 0, { 0, 0, 0}}, // ( 76, 127)
+ { 0, { 0, 0, 0}}, // ( 77, 127)
+ { 0, { 0, 0, 0}}, // ( 78, 127)
+ { 0, { 0, 0, 0}}, // ( 79, 127)
+ { 0, { 0, 0, 0}}, // ( 80, 127)
+ { 0, { 0, 0, 0}}, // ( 81, 127)
+ { 0, { 0, 0, 0}}, // ( 82, 127)
+ { 0, { 0, 0, 0}}, // ( 83, 127)
+ { 0, { 0, 0, 0}}, // ( 84, 127)
+ { 0, { 0, 0, 0}}, // ( 85, 127)
+ { 0, { 0, 0, 0}}, // ( 86, 127)
+ { 0, { 0, 0, 0}}, // ( 87, 127)
+ { 0, { 0, 0, 0}}, // ( 88, 127)
+ { 0, { 0, 0, 0}}, // ( 89, 127)
+ { 0, { 0, 0, 0}}, // ( 90, 127)
+ { 0, { 0, 0, 0}}, // ( 91, 127)
+ { 0, { 0, 0, 0}}, // ( 92, 127)
+ { 0, { 0, 0, 0}}, // ( 93, 127)
+ { 0, { 0, 0, 0}}, // ( 94, 127)
+ { 0, { 0, 0, 0}}, // ( 95, 127)
+ { 0, { 0, 0, 0}}, // ( 96, 127)
+ { 0, { 0, 0, 0}}, // ( 97, 127)
+ { 0, { 0, 0, 0}}, // ( 98, 127)
+ { 0, { 0, 0, 0}}, // ( 99, 127)
+ { 0, { 0, 0, 0}}, // (100, 127)
+ { 0, { 0, 0, 0}}, // (101, 127)
+ { 0, { 0, 0, 0}}, // (102, 127)
+ { 0, { 0, 0, 0}}, // (103, 127)
+ { 0, { 0, 0, 0}}, // (104, 127)
+ { 0, { 0, 0, 0}}, // (105, 127)
+ { 0, { 0, 0, 0}}, // (106, 127)
+ { 0, { 0, 0, 0}}, // (107, 127)
+ { 0, { 0, 0, 0}}, // (108, 127)
+ { 0, { 0, 0, 0}}, // (109, 127)
+ { 0, { 0, 0, 0}}, // (110, 127)
+ { 0, { 0, 0, 0}}, // (111, 127)
+ { 0, { 0, 0, 0}}, // (112, 127)
+ { 0, { 0, 0, 0}}, // (113, 127)
+ { 0, { 0, 0, 0}}, // (114, 127)
+ { 0, { 0, 0, 0}}, // (115, 127)
+ { 0, { 0, 0, 0}}, // (116, 127)
+ { 0, { 0, 0, 0}}, // (117, 127)
+ { 0, { 0, 0, 0}}, // (118, 127)
+ { 0, { 0, 0, 0}}, // (119, 127)
+ { 0, { 0, 0, 0}}, // (120, 127)
+ { 0, { 0, 0, 0}}, // (121, 127)
+ { 0, { 0, 0, 0}}, // (122, 127)
+ { 0, { 0, 0, 0}}, // (123, 127)
+ { 0, { 0, 0, 0}}, // (124, 127)
+ { 0, { 0, 0, 0}}, // (125, 127)
+ { 0, { 0, 0, 0}}, // (126, 127)
+ { 0, { 0, 0, 0}}, // (127, 127)
+ { 0, { 0, 0, 0}}, // (128, 127)
+ { 0, { 0, 0, 0}}, // (129, 127)
+ { 0, { 0, 0, 0}}, // (130, 127)
+ { 0, { 0, 0, 0}}, // (131, 127)
+ { 0, { 0, 0, 0}}, // (132, 127)
+ { 0, { 0, 0, 0}}, // (133, 127)
+ { 0, { 0, 0, 0}}, // (134, 127)
+ { 0, { 0, 0, 0}}, // (135, 127)
+ { 0, { 0, 0, 0}}, // (136, 127)
+ { 0, { 0, 0, 0}}, // (137, 127)
+ { 0, { 0, 0, 0}}, // (138, 127)
+ { 0, { 0, 0, 0}}, // (139, 127)
+ { 0, { 0, 0, 0}}, // (140, 127)
+ { 0, { 0, 0, 0}}, // (141, 127)
+ { 0, { 0, 0, 0}}, // (142, 127)
+ { 0, { 0, 0, 0}}, // (143, 127)
+ { 0, { 0, 0, 0}}, // (144, 127)
+ { 0, { 0, 0, 0}}, // (145, 127)
+ { 0, { 0, 0, 0}}, // (146, 127)
+ { 0, { 0, 0, 0}}, // (147, 127)
+ { 0, { 0, 0, 0}}, // (148, 127)
+ { 0, { 0, 0, 0}}, // (149, 127)
+ { 0, { 0, 0, 0}}, // (150, 127)
+ { 0, { 0, 0, 0}}, // (151, 127)
+ { 0, { 0, 0, 0}}, // (152, 127)
+ { 0, { 0, 0, 0}}, // (153, 127)
+ { 0, { 0, 0, 0}}, // (154, 127)
+ { 0, { 0, 0, 0}}, // (155, 127)
+ { 0, { 0, 0, 0}}, // (156, 127)
+ { 0, { 0, 0, 0}}, // (157, 127)
+ { 0, { 0, 0, 0}}, // (158, 127)
+ { 0, { 0, 0, 0}}, // (159, 127)
+ { 0, { 0, 0, 0}}, // (160, 127)
+ { 0, { 0, 0, 0}}, // (161, 127)
+ { 0, { 0, 0, 0}}, // (162, 127)
+ { 0, { 0, 0, 0}}, // (163, 127)
+ { 0, { 0, 0, 0}}, // (164, 127)
+ { 0, { 0, 0, 0}}, // (165, 127)
+ { 0, { 0, 0, 0}}, // (166, 127)
+ { 0, { 0, 0, 0}}, // (167, 127)
+ { 0, { 0, 0, 0}}, // (168, 127)
+ { 47, { 0, 0, 0}}, // (169, 127)
+ {128, { 0, 0, 0}}, // (170, 127)
+ {128, { 0, 0, 0}}, // (171, 127)
+ {128, { 0, 0, 0}}, // (172, 127)
+ {128, { 0, 0, 0}}, // (173, 127)
+ {128, { 0, 0, 0}}, // (174, 127)
+ {128, { 0, 0, 0}}, // (175, 127)
+ {128, { 0, 0, 0}}, // (176, 127)
+ {128, { 0, 0, 0}}, // (177, 127)
+ {128, { 0, 0, 0}}, // (178, 127)
+ {128, { 0, 0, 0}}, // (179, 127)
+ {128, { 0, 0, 0}}, // ( 0, 128)
+ {128, { 0, 0, 0}}, // ( 1, 128)
+ {128, { 0, 0, 0}}, // ( 2, 128)
+ {128, { 0, 0, 0}}, // ( 3, 128)
+ {128, { 0, 0, 0}}, // ( 4, 128)
+ {128, { 0, 0, 0}}, // ( 5, 128)
+ {128, { 0, 0, 0}}, // ( 6, 128)
+ {128, { 0, 0, 0}}, // ( 7, 128)
+ {128, { 0, 0, 0}}, // ( 8, 128)
+ {128, { 0, 0, 0}}, // ( 9, 128)
+ {108, { 0, 0, 0}}, // ( 10, 128)
+ { 2, { 0, 0, 0}}, // ( 11, 128)
+ { 0, { 0, 0, 0}}, // ( 12, 128)
+ { 0, { 0, 0, 0}}, // ( 13, 128)
+ { 0, { 0, 0, 0}}, // ( 14, 128)
+ { 0, { 0, 0, 0}}, // ( 15, 128)
+ { 0, { 0, 0, 0}}, // ( 16, 128)
+ { 0, { 0, 0, 0}}, // ( 17, 128)
+ { 0, { 0, 0, 0}}, // ( 18, 128)
+ { 0, { 0, 0, 0}}, // ( 19, 128)
+ { 0, { 0, 0, 0}}, // ( 20, 128)
+ { 0, { 0, 0, 0}}, // ( 21, 128)
+ { 0, { 0, 0, 0}}, // ( 22, 128)
+ { 0, { 0, 0, 0}}, // ( 23, 128)
+ { 0, { 0, 0, 0}}, // ( 24, 128)
+ { 0, { 0, 0, 0}}, // ( 25, 128)
+ { 0, { 0, 0, 0}}, // ( 26, 128)
+ { 0, { 0, 0, 0}}, // ( 27, 128)
+ { 0, { 0, 0, 0}}, // ( 28, 128)
+ { 0, { 0, 0, 0}}, // ( 29, 128)
+ { 0, { 0, 0, 0}}, // ( 30, 128)
+ { 0, { 0, 0, 0}}, // ( 31, 128)
+ { 0, { 0, 0, 0}}, // ( 32, 128)
+ { 0, { 0, 0, 0}}, // ( 33, 128)
+ { 0, { 0, 0, 0}}, // ( 34, 128)
+ { 0, { 0, 0, 0}}, // ( 35, 128)
+ { 0, { 0, 0, 0}}, // ( 36, 128)
+ { 0, { 0, 0, 0}}, // ( 37, 128)
+ { 0, { 0, 0, 0}}, // ( 38, 128)
+ { 0, { 0, 0, 0}}, // ( 39, 128)
+ { 0, { 0, 0, 0}}, // ( 40, 128)
+ { 0, { 0, 0, 0}}, // ( 41, 128)
+ { 0, { 0, 0, 0}}, // ( 42, 128)
+ { 0, { 0, 0, 0}}, // ( 43, 128)
+ { 0, { 0, 0, 0}}, // ( 44, 128)
+ { 0, { 0, 0, 0}}, // ( 45, 128)
+ { 0, { 0, 0, 0}}, // ( 46, 128)
+ { 0, { 0, 0, 0}}, // ( 47, 128)
+ { 0, { 0, 0, 0}}, // ( 48, 128)
+ { 0, { 0, 0, 0}}, // ( 49, 128)
+ { 0, { 0, 0, 0}}, // ( 50, 128)
+ { 0, { 0, 0, 0}}, // ( 51, 128)
+ { 0, { 0, 0, 0}}, // ( 52, 128)
+ { 0, { 0, 0, 0}}, // ( 53, 128)
+ { 0, { 0, 0, 0}}, // ( 54, 128)
+ { 0, { 0, 0, 0}}, // ( 55, 128)
+ { 0, { 0, 0, 0}}, // ( 56, 128)
+ { 0, { 0, 0, 0}}, // ( 57, 128)
+ { 0, { 0, 0, 0}}, // ( 58, 128)
+ { 0, { 0, 0, 0}}, // ( 59, 128)
+ { 0, { 0, 0, 0}}, // ( 60, 128)
+ { 0, { 0, 0, 0}}, // ( 61, 128)
+ { 0, { 0, 0, 0}}, // ( 62, 128)
+ { 0, { 0, 0, 0}}, // ( 63, 128)
+ { 0, { 0, 0, 0}}, // ( 64, 128)
+ { 0, { 0, 0, 0}}, // ( 65, 128)
+ { 0, { 0, 0, 0}}, // ( 66, 128)
+ { 0, { 0, 0, 0}}, // ( 67, 128)
+ { 0, { 0, 0, 0}}, // ( 68, 128)
+ { 0, { 0, 0, 0}}, // ( 69, 128)
+ { 0, { 0, 0, 0}}, // ( 70, 128)
+ { 0, { 0, 0, 0}}, // ( 71, 128)
+ { 0, { 0, 0, 0}}, // ( 72, 128)
+ { 0, { 0, 0, 0}}, // ( 73, 128)
+ { 0, { 0, 0, 0}}, // ( 74, 128)
+ { 0, { 0, 0, 0}}, // ( 75, 128)
+ { 0, { 0, 0, 0}}, // ( 76, 128)
+ { 0, { 0, 0, 0}}, // ( 77, 128)
+ { 0, { 0, 0, 0}}, // ( 78, 128)
+ { 0, { 0, 0, 0}}, // ( 79, 128)
+ { 0, { 0, 0, 0}}, // ( 80, 128)
+ { 0, { 0, 0, 0}}, // ( 81, 128)
+ { 0, { 0, 0, 0}}, // ( 82, 128)
+ { 0, { 0, 0, 0}}, // ( 83, 128)
+ { 0, { 0, 0, 0}}, // ( 84, 128)
+ { 0, { 0, 0, 0}}, // ( 85, 128)
+ { 0, { 0, 0, 0}}, // ( 86, 128)
+ { 0, { 0, 0, 0}}, // ( 87, 128)
+ { 0, { 0, 0, 0}}, // ( 88, 128)
+ { 0, { 0, 0, 0}}, // ( 89, 128)
+ { 0, { 0, 0, 0}}, // ( 90, 128)
+ { 0, { 0, 0, 0}}, // ( 91, 128)
+ { 0, { 0, 0, 0}}, // ( 92, 128)
+ { 0, { 0, 0, 0}}, // ( 93, 128)
+ { 0, { 0, 0, 0}}, // ( 94, 128)
+ { 0, { 0, 0, 0}}, // ( 95, 128)
+ { 0, { 0, 0, 0}}, // ( 96, 128)
+ { 0, { 0, 0, 0}}, // ( 97, 128)
+ { 0, { 0, 0, 0}}, // ( 98, 128)
+ { 0, { 0, 0, 0}}, // ( 99, 128)
+ { 0, { 0, 0, 0}}, // (100, 128)
+ { 0, { 0, 0, 0}}, // (101, 128)
+ { 0, { 0, 0, 0}}, // (102, 128)
+ { 0, { 0, 0, 0}}, // (103, 128)
+ { 0, { 0, 0, 0}}, // (104, 128)
+ { 0, { 0, 0, 0}}, // (105, 128)
+ { 0, { 0, 0, 0}}, // (106, 128)
+ { 0, { 0, 0, 0}}, // (107, 128)
+ { 0, { 0, 0, 0}}, // (108, 128)
+ { 0, { 0, 0, 0}}, // (109, 128)
+ { 0, { 0, 0, 0}}, // (110, 128)
+ { 0, { 0, 0, 0}}, // (111, 128)
+ { 0, { 0, 0, 0}}, // (112, 128)
+ { 0, { 0, 0, 0}}, // (113, 128)
+ { 0, { 0, 0, 0}}, // (114, 128)
+ { 0, { 0, 0, 0}}, // (115, 128)
+ { 0, { 0, 0, 0}}, // (116, 128)
+ { 0, { 0, 0, 0}}, // (117, 128)
+ { 0, { 0, 0, 0}}, // (118, 128)
+ { 0, { 0, 0, 0}}, // (119, 128)
+ { 0, { 0, 0, 0}}, // (120, 128)
+ { 0, { 0, 0, 0}}, // (121, 128)
+ { 0, { 0, 0, 0}}, // (122, 128)
+ { 0, { 0, 0, 0}}, // (123, 128)
+ { 0, { 0, 0, 0}}, // (124, 128)
+ { 0, { 0, 0, 0}}, // (125, 128)
+ { 0, { 0, 0, 0}}, // (126, 128)
+ { 0, { 0, 0, 0}}, // (127, 128)
+ { 0, { 0, 0, 0}}, // (128, 128)
+ { 0, { 0, 0, 0}}, // (129, 128)
+ { 0, { 0, 0, 0}}, // (130, 128)
+ { 0, { 0, 0, 0}}, // (131, 128)
+ { 0, { 0, 0, 0}}, // (132, 128)
+ { 0, { 0, 0, 0}}, // (133, 128)
+ { 0, { 0, 0, 0}}, // (134, 128)
+ { 0, { 0, 0, 0}}, // (135, 128)
+ { 0, { 0, 0, 0}}, // (136, 128)
+ { 0, { 0, 0, 0}}, // (137, 128)
+ { 0, { 0, 0, 0}}, // (138, 128)
+ { 0, { 0, 0, 0}}, // (139, 128)
+ { 0, { 0, 0, 0}}, // (140, 128)
+ { 0, { 0, 0, 0}}, // (141, 128)
+ { 0, { 0, 0, 0}}, // (142, 128)
+ { 0, { 0, 0, 0}}, // (143, 128)
+ { 0, { 0, 0, 0}}, // (144, 128)
+ { 0, { 0, 0, 0}}, // (145, 128)
+ { 0, { 0, 0, 0}}, // (146, 128)
+ { 0, { 0, 0, 0}}, // (147, 128)
+ { 0, { 0, 0, 0}}, // (148, 128)
+ { 0, { 0, 0, 0}}, // (149, 128)
+ { 0, { 0, 0, 0}}, // (150, 128)
+ { 0, { 0, 0, 0}}, // (151, 128)
+ { 0, { 0, 0, 0}}, // (152, 128)
+ { 0, { 0, 0, 0}}, // (153, 128)
+ { 0, { 0, 0, 0}}, // (154, 128)
+ { 0, { 0, 0, 0}}, // (155, 128)
+ { 0, { 0, 0, 0}}, // (156, 128)
+ { 0, { 0, 0, 0}}, // (157, 128)
+ { 0, { 0, 0, 0}}, // (158, 128)
+ { 0, { 0, 0, 0}}, // (159, 128)
+ { 0, { 0, 0, 0}}, // (160, 128)
+ { 0, { 0, 0, 0}}, // (161, 128)
+ { 0, { 0, 0, 0}}, // (162, 128)
+ { 0, { 0, 0, 0}}, // (163, 128)
+ { 0, { 0, 0, 0}}, // (164, 128)
+ { 0, { 0, 0, 0}}, // (165, 128)
+ { 0, { 0, 0, 0}}, // (166, 128)
+ { 0, { 0, 0, 0}}, // (167, 128)
+ { 2, { 0, 0, 0}}, // (168, 128)
+ {108, { 0, 0, 0}}, // (169, 128)
+ {128, { 0, 0, 0}}, // (170, 128)
+ {128, { 0, 0, 0}}, // (171, 128)
+ {128, { 0, 0, 0}}, // (172, 128)
+ {128, { 0, 0, 0}}, // (173, 128)
+ {128, { 0, 0, 0}}, // (174, 128)
+ {128, { 0, 0, 0}}, // (175, 128)
+ {128, { 0, 0, 0}}, // (176, 128)
+ {128, { 0, 0, 0}}, // (177, 128)
+ {128, { 0, 0, 0}}, // (178, 128)
+ {128, { 0, 0, 0}}, // (179, 128)
+ {128, { 0, 0, 0}}, // ( 0, 129)
+ {128, { 0, 0, 0}}, // ( 1, 129)
+ {128, { 0, 0, 0}}, // ( 2, 129)
+ {128, { 0, 0, 0}}, // ( 3, 129)
+ {128, { 0, 0, 0}}, // ( 4, 129)
+ {128, { 0, 0, 0}}, // ( 5, 129)
+ {128, { 0, 0, 0}}, // ( 6, 129)
+ {128, { 0, 0, 0}}, // ( 7, 129)
+ {128, { 0, 0, 0}}, // ( 8, 129)
+ {128, { 0, 0, 0}}, // ( 9, 129)
+ {128, { 0, 0, 0}}, // ( 10, 129)
+ { 47, { 0, 0, 0}}, // ( 11, 129)
+ { 0, { 0, 0, 0}}, // ( 12, 129)
+ { 0, { 0, 0, 0}}, // ( 13, 129)
+ { 0, { 0, 0, 0}}, // ( 14, 129)
+ { 0, { 0, 0, 0}}, // ( 15, 129)
+ { 0, { 0, 0, 0}}, // ( 16, 129)
+ { 0, { 0, 0, 0}}, // ( 17, 129)
+ { 0, { 0, 0, 0}}, // ( 18, 129)
+ { 0, { 0, 0, 0}}, // ( 19, 129)
+ { 0, { 0, 0, 0}}, // ( 20, 129)
+ { 0, { 0, 0, 0}}, // ( 21, 129)
+ { 0, { 0, 0, 0}}, // ( 22, 129)
+ { 0, { 0, 0, 0}}, // ( 23, 129)
+ { 0, { 0, 0, 0}}, // ( 24, 129)
+ { 0, { 0, 0, 0}}, // ( 25, 129)
+ { 0, { 0, 0, 0}}, // ( 26, 129)
+ { 0, { 0, 0, 0}}, // ( 27, 129)
+ { 0, { 0, 0, 0}}, // ( 28, 129)
+ { 0, { 0, 0, 0}}, // ( 29, 129)
+ { 0, { 0, 0, 0}}, // ( 30, 129)
+ { 0, { 0, 0, 0}}, // ( 31, 129)
+ { 0, { 0, 0, 0}}, // ( 32, 129)
+ { 0, { 0, 0, 0}}, // ( 33, 129)
+ { 0, { 0, 0, 0}}, // ( 34, 129)
+ { 0, { 0, 0, 0}}, // ( 35, 129)
+ { 0, { 0, 0, 0}}, // ( 36, 129)
+ { 0, { 0, 0, 0}}, // ( 37, 129)
+ { 0, { 0, 0, 0}}, // ( 38, 129)
+ { 0, { 0, 0, 0}}, // ( 39, 129)
+ { 0, { 0, 0, 0}}, // ( 40, 129)
+ { 0, { 0, 0, 0}}, // ( 41, 129)
+ { 0, { 0, 0, 0}}, // ( 42, 129)
+ { 0, { 0, 0, 0}}, // ( 43, 129)
+ { 0, { 0, 0, 0}}, // ( 44, 129)
+ { 0, { 0, 0, 0}}, // ( 45, 129)
+ { 0, { 0, 0, 0}}, // ( 46, 129)
+ { 0, { 0, 0, 0}}, // ( 47, 129)
+ { 0, { 0, 0, 0}}, // ( 48, 129)
+ { 0, { 0, 0, 0}}, // ( 49, 129)
+ { 0, { 0, 0, 0}}, // ( 50, 129)
+ { 0, { 0, 0, 0}}, // ( 51, 129)
+ { 0, { 0, 0, 0}}, // ( 52, 129)
+ { 0, { 0, 0, 0}}, // ( 53, 129)
+ { 0, { 0, 0, 0}}, // ( 54, 129)
+ { 0, { 0, 0, 0}}, // ( 55, 129)
+ { 0, { 0, 0, 0}}, // ( 56, 129)
+ { 0, { 0, 0, 0}}, // ( 57, 129)
+ { 0, { 0, 0, 0}}, // ( 58, 129)
+ { 0, { 0, 0, 0}}, // ( 59, 129)
+ { 0, { 0, 0, 0}}, // ( 60, 129)
+ { 0, { 0, 0, 0}}, // ( 61, 129)
+ { 0, { 0, 0, 0}}, // ( 62, 129)
+ { 0, { 0, 0, 0}}, // ( 63, 129)
+ { 0, { 0, 0, 0}}, // ( 64, 129)
+ { 0, { 0, 0, 0}}, // ( 65, 129)
+ { 0, { 0, 0, 0}}, // ( 66, 129)
+ { 0, { 0, 0, 0}}, // ( 67, 129)
+ { 0, { 0, 0, 0}}, // ( 68, 129)
+ { 0, { 0, 0, 0}}, // ( 69, 129)
+ { 0, { 0, 0, 0}}, // ( 70, 129)
+ { 0, { 0, 0, 0}}, // ( 71, 129)
+ { 0, { 0, 0, 0}}, // ( 72, 129)
+ { 0, { 0, 0, 0}}, // ( 73, 129)
+ { 0, { 0, 0, 0}}, // ( 74, 129)
+ { 0, { 0, 0, 0}}, // ( 75, 129)
+ { 0, { 0, 0, 0}}, // ( 76, 129)
+ { 0, { 0, 0, 0}}, // ( 77, 129)
+ { 0, { 0, 0, 0}}, // ( 78, 129)
+ { 0, { 0, 0, 0}}, // ( 79, 129)
+ { 0, { 0, 0, 0}}, // ( 80, 129)
+ { 0, { 0, 0, 0}}, // ( 81, 129)
+ { 0, { 0, 0, 0}}, // ( 82, 129)
+ { 0, { 0, 0, 0}}, // ( 83, 129)
+ { 0, { 0, 0, 0}}, // ( 84, 129)
+ { 0, { 0, 0, 0}}, // ( 85, 129)
+ { 0, { 0, 0, 0}}, // ( 86, 129)
+ { 0, { 0, 0, 0}}, // ( 87, 129)
+ { 0, { 0, 0, 0}}, // ( 88, 129)
+ { 0, { 0, 0, 0}}, // ( 89, 129)
+ { 0, { 0, 0, 0}}, // ( 90, 129)
+ { 0, { 0, 0, 0}}, // ( 91, 129)
+ { 0, { 0, 0, 0}}, // ( 92, 129)
+ { 0, { 0, 0, 0}}, // ( 93, 129)
+ { 0, { 0, 0, 0}}, // ( 94, 129)
+ { 0, { 0, 0, 0}}, // ( 95, 129)
+ { 0, { 0, 0, 0}}, // ( 96, 129)
+ { 0, { 0, 0, 0}}, // ( 97, 129)
+ { 0, { 0, 0, 0}}, // ( 98, 129)
+ { 0, { 0, 0, 0}}, // ( 99, 129)
+ { 0, { 0, 0, 0}}, // (100, 129)
+ { 0, { 0, 0, 0}}, // (101, 129)
+ { 0, { 0, 0, 0}}, // (102, 129)
+ { 0, { 0, 0, 0}}, // (103, 129)
+ { 0, { 0, 0, 0}}, // (104, 129)
+ { 0, { 0, 0, 0}}, // (105, 129)
+ { 0, { 0, 0, 0}}, // (106, 129)
+ { 0, { 0, 0, 0}}, // (107, 129)
+ { 0, { 0, 0, 0}}, // (108, 129)
+ { 0, { 0, 0, 0}}, // (109, 129)
+ { 0, { 0, 0, 0}}, // (110, 129)
+ { 0, { 0, 0, 0}}, // (111, 129)
+ { 0, { 0, 0, 0}}, // (112, 129)
+ { 0, { 0, 0, 0}}, // (113, 129)
+ { 0, { 0, 0, 0}}, // (114, 129)
+ { 0, { 0, 0, 0}}, // (115, 129)
+ { 0, { 0, 0, 0}}, // (116, 129)
+ { 0, { 0, 0, 0}}, // (117, 129)
+ { 0, { 0, 0, 0}}, // (118, 129)
+ { 0, { 0, 0, 0}}, // (119, 129)
+ { 0, { 0, 0, 0}}, // (120, 129)
+ { 0, { 0, 0, 0}}, // (121, 129)
+ { 0, { 0, 0, 0}}, // (122, 129)
+ { 0, { 0, 0, 0}}, // (123, 129)
+ { 0, { 0, 0, 0}}, // (124, 129)
+ { 0, { 0, 0, 0}}, // (125, 129)
+ { 0, { 0, 0, 0}}, // (126, 129)
+ { 0, { 0, 0, 0}}, // (127, 129)
+ { 0, { 0, 0, 0}}, // (128, 129)
+ { 0, { 0, 0, 0}}, // (129, 129)
+ { 0, { 0, 0, 0}}, // (130, 129)
+ { 0, { 0, 0, 0}}, // (131, 129)
+ { 0, { 0, 0, 0}}, // (132, 129)
+ { 0, { 0, 0, 0}}, // (133, 129)
+ { 0, { 0, 0, 0}}, // (134, 129)
+ { 0, { 0, 0, 0}}, // (135, 129)
+ { 0, { 0, 0, 0}}, // (136, 129)
+ { 0, { 0, 0, 0}}, // (137, 129)
+ { 0, { 0, 0, 0}}, // (138, 129)
+ { 0, { 0, 0, 0}}, // (139, 129)
+ { 0, { 0, 0, 0}}, // (140, 129)
+ { 0, { 0, 0, 0}}, // (141, 129)
+ { 0, { 0, 0, 0}}, // (142, 129)
+ { 0, { 0, 0, 0}}, // (143, 129)
+ { 0, { 0, 0, 0}}, // (144, 129)
+ { 0, { 0, 0, 0}}, // (145, 129)
+ { 0, { 0, 0, 0}}, // (146, 129)
+ { 0, { 0, 0, 0}}, // (147, 129)
+ { 0, { 0, 0, 0}}, // (148, 129)
+ { 0, { 0, 0, 0}}, // (149, 129)
+ { 0, { 0, 0, 0}}, // (150, 129)
+ { 0, { 0, 0, 0}}, // (151, 129)
+ { 0, { 0, 0, 0}}, // (152, 129)
+ { 0, { 0, 0, 0}}, // (153, 129)
+ { 0, { 0, 0, 0}}, // (154, 129)
+ { 0, { 0, 0, 0}}, // (155, 129)
+ { 0, { 0, 0, 0}}, // (156, 129)
+ { 0, { 0, 0, 0}}, // (157, 129)
+ { 0, { 0, 0, 0}}, // (158, 129)
+ { 0, { 0, 0, 0}}, // (159, 129)
+ { 0, { 0, 0, 0}}, // (160, 129)
+ { 0, { 0, 0, 0}}, // (161, 129)
+ { 0, { 0, 0, 0}}, // (162, 129)
+ { 0, { 0, 0, 0}}, // (163, 129)
+ { 0, { 0, 0, 0}}, // (164, 129)
+ { 0, { 0, 0, 0}}, // (165, 129)
+ { 0, { 0, 0, 0}}, // (166, 129)
+ { 0, { 0, 0, 0}}, // (167, 129)
+ { 47, { 0, 0, 0}}, // (168, 129)
+ {128, { 0, 0, 0}}, // (169, 129)
+ {128, { 0, 0, 0}}, // (170, 129)
+ {128, { 0, 0, 0}}, // (171, 129)
+ {128, { 0, 0, 0}}, // (172, 129)
+ {128, { 0, 0, 0}}, // (173, 129)
+ {128, { 0, 0, 0}}, // (174, 129)
+ {128, { 0, 0, 0}}, // (175, 129)
+ {128, { 0, 0, 0}}, // (176, 129)
+ {128, { 0, 0, 0}}, // (177, 129)
+ {128, { 0, 0, 0}}, // (178, 129)
+ {128, { 0, 0, 0}}, // (179, 129)
+ {128, { 0, 0, 0}}, // ( 0, 130)
+ {128, { 0, 0, 0}}, // ( 1, 130)
+ {128, { 0, 0, 0}}, // ( 2, 130)
+ {128, { 0, 0, 0}}, // ( 3, 130)
+ {128, { 0, 0, 0}}, // ( 4, 130)
+ {128, { 0, 0, 0}}, // ( 5, 130)
+ {128, { 0, 0, 0}}, // ( 6, 130)
+ {128, { 0, 0, 0}}, // ( 7, 130)
+ {128, { 0, 0, 0}}, // ( 8, 130)
+ {128, { 0, 0, 0}}, // ( 9, 130)
+ {128, { 0, 0, 0}}, // ( 10, 130)
+ {110, { 0, 0, 0}}, // ( 11, 130)
+ { 2, { 0, 0, 0}}, // ( 12, 130)
+ { 0, { 0, 0, 0}}, // ( 13, 130)
+ { 0, { 0, 0, 0}}, // ( 14, 130)
+ { 0, { 0, 0, 0}}, // ( 15, 130)
+ { 0, { 0, 0, 0}}, // ( 16, 130)
+ { 0, { 0, 0, 0}}, // ( 17, 130)
+ { 0, { 0, 0, 0}}, // ( 18, 130)
+ { 0, { 0, 0, 0}}, // ( 19, 130)
+ { 0, { 0, 0, 0}}, // ( 20, 130)
+ { 0, { 0, 0, 0}}, // ( 21, 130)
+ { 0, { 0, 0, 0}}, // ( 22, 130)
+ { 0, { 0, 0, 0}}, // ( 23, 130)
+ { 0, { 0, 0, 0}}, // ( 24, 130)
+ { 0, { 0, 0, 0}}, // ( 25, 130)
+ { 0, { 0, 0, 0}}, // ( 26, 130)
+ { 0, { 0, 0, 0}}, // ( 27, 130)
+ { 0, { 0, 0, 0}}, // ( 28, 130)
+ { 0, { 0, 0, 0}}, // ( 29, 130)
+ { 0, { 0, 0, 0}}, // ( 30, 130)
+ { 0, { 0, 0, 0}}, // ( 31, 130)
+ { 0, { 0, 0, 0}}, // ( 32, 130)
+ { 0, { 0, 0, 0}}, // ( 33, 130)
+ { 0, { 0, 0, 0}}, // ( 34, 130)
+ { 0, { 0, 0, 0}}, // ( 35, 130)
+ { 0, { 0, 0, 0}}, // ( 36, 130)
+ { 0, { 0, 0, 0}}, // ( 37, 130)
+ { 0, { 0, 0, 0}}, // ( 38, 130)
+ { 0, { 0, 0, 0}}, // ( 39, 130)
+ { 0, { 0, 0, 0}}, // ( 40, 130)
+ { 0, { 0, 0, 0}}, // ( 41, 130)
+ { 0, { 0, 0, 0}}, // ( 42, 130)
+ { 0, { 0, 0, 0}}, // ( 43, 130)
+ { 0, { 0, 0, 0}}, // ( 44, 130)
+ { 0, { 0, 0, 0}}, // ( 45, 130)
+ { 0, { 0, 0, 0}}, // ( 46, 130)
+ { 0, { 0, 0, 0}}, // ( 47, 130)
+ { 0, { 0, 0, 0}}, // ( 48, 130)
+ { 0, { 0, 0, 0}}, // ( 49, 130)
+ { 0, { 0, 0, 0}}, // ( 50, 130)
+ { 0, { 0, 0, 0}}, // ( 51, 130)
+ { 0, { 0, 0, 0}}, // ( 52, 130)
+ { 0, { 0, 0, 0}}, // ( 53, 130)
+ { 0, { 0, 0, 0}}, // ( 54, 130)
+ { 0, { 0, 0, 0}}, // ( 55, 130)
+ { 0, { 0, 0, 0}}, // ( 56, 130)
+ { 0, { 0, 0, 0}}, // ( 57, 130)
+ { 0, { 0, 0, 0}}, // ( 58, 130)
+ { 0, { 0, 0, 0}}, // ( 59, 130)
+ { 0, { 0, 0, 0}}, // ( 60, 130)
+ { 0, { 0, 0, 0}}, // ( 61, 130)
+ { 0, { 0, 0, 0}}, // ( 62, 130)
+ { 0, { 0, 0, 0}}, // ( 63, 130)
+ { 0, { 0, 0, 0}}, // ( 64, 130)
+ { 0, { 0, 0, 0}}, // ( 65, 130)
+ { 0, { 0, 0, 0}}, // ( 66, 130)
+ { 0, { 0, 0, 0}}, // ( 67, 130)
+ { 0, { 0, 0, 0}}, // ( 68, 130)
+ { 0, { 0, 0, 0}}, // ( 69, 130)
+ { 0, { 0, 0, 0}}, // ( 70, 130)
+ { 0, { 0, 0, 0}}, // ( 71, 130)
+ { 0, { 0, 0, 0}}, // ( 72, 130)
+ { 0, { 0, 0, 0}}, // ( 73, 130)
+ { 0, { 0, 0, 0}}, // ( 74, 130)
+ { 0, { 0, 0, 0}}, // ( 75, 130)
+ { 0, { 0, 0, 0}}, // ( 76, 130)
+ { 0, { 0, 0, 0}}, // ( 77, 130)
+ { 0, { 0, 0, 0}}, // ( 78, 130)
+ { 0, { 0, 0, 0}}, // ( 79, 130)
+ { 0, { 0, 0, 0}}, // ( 80, 130)
+ { 0, { 0, 0, 0}}, // ( 81, 130)
+ { 0, { 0, 0, 0}}, // ( 82, 130)
+ { 0, { 0, 0, 0}}, // ( 83, 130)
+ { 0, { 0, 0, 0}}, // ( 84, 130)
+ { 0, { 0, 0, 0}}, // ( 85, 130)
+ { 0, { 0, 0, 0}}, // ( 86, 130)
+ { 0, { 0, 0, 0}}, // ( 87, 130)
+ { 0, { 0, 0, 0}}, // ( 88, 130)
+ { 0, { 0, 0, 0}}, // ( 89, 130)
+ { 0, { 0, 0, 0}}, // ( 90, 130)
+ { 0, { 0, 0, 0}}, // ( 91, 130)
+ { 0, { 0, 0, 0}}, // ( 92, 130)
+ { 0, { 0, 0, 0}}, // ( 93, 130)
+ { 0, { 0, 0, 0}}, // ( 94, 130)
+ { 0, { 0, 0, 0}}, // ( 95, 130)
+ { 0, { 0, 0, 0}}, // ( 96, 130)
+ { 0, { 0, 0, 0}}, // ( 97, 130)
+ { 0, { 0, 0, 0}}, // ( 98, 130)
+ { 0, { 0, 0, 0}}, // ( 99, 130)
+ { 0, { 0, 0, 0}}, // (100, 130)
+ { 0, { 0, 0, 0}}, // (101, 130)
+ { 0, { 0, 0, 0}}, // (102, 130)
+ { 0, { 0, 0, 0}}, // (103, 130)
+ { 0, { 0, 0, 0}}, // (104, 130)
+ { 0, { 0, 0, 0}}, // (105, 130)
+ { 0, { 0, 0, 0}}, // (106, 130)
+ { 0, { 0, 0, 0}}, // (107, 130)
+ { 0, { 0, 0, 0}}, // (108, 130)
+ { 0, { 0, 0, 0}}, // (109, 130)
+ { 0, { 0, 0, 0}}, // (110, 130)
+ { 0, { 0, 0, 0}}, // (111, 130)
+ { 0, { 0, 0, 0}}, // (112, 130)
+ { 0, { 0, 0, 0}}, // (113, 130)
+ { 0, { 0, 0, 0}}, // (114, 130)
+ { 0, { 0, 0, 0}}, // (115, 130)
+ { 0, { 0, 0, 0}}, // (116, 130)
+ { 0, { 0, 0, 0}}, // (117, 130)
+ { 0, { 0, 0, 0}}, // (118, 130)
+ { 0, { 0, 0, 0}}, // (119, 130)
+ { 0, { 0, 0, 0}}, // (120, 130)
+ { 0, { 0, 0, 0}}, // (121, 130)
+ { 0, { 0, 0, 0}}, // (122, 130)
+ { 0, { 0, 0, 0}}, // (123, 130)
+ { 0, { 0, 0, 0}}, // (124, 130)
+ { 0, { 0, 0, 0}}, // (125, 130)
+ { 0, { 0, 0, 0}}, // (126, 130)
+ { 0, { 0, 0, 0}}, // (127, 130)
+ { 0, { 0, 0, 0}}, // (128, 130)
+ { 0, { 0, 0, 0}}, // (129, 130)
+ { 0, { 0, 0, 0}}, // (130, 130)
+ { 0, { 0, 0, 0}}, // (131, 130)
+ { 0, { 0, 0, 0}}, // (132, 130)
+ { 0, { 0, 0, 0}}, // (133, 130)
+ { 0, { 0, 0, 0}}, // (134, 130)
+ { 0, { 0, 0, 0}}, // (135, 130)
+ { 0, { 0, 0, 0}}, // (136, 130)
+ { 0, { 0, 0, 0}}, // (137, 130)
+ { 0, { 0, 0, 0}}, // (138, 130)
+ { 0, { 0, 0, 0}}, // (139, 130)
+ { 0, { 0, 0, 0}}, // (140, 130)
+ { 0, { 0, 0, 0}}, // (141, 130)
+ { 0, { 0, 0, 0}}, // (142, 130)
+ { 0, { 0, 0, 0}}, // (143, 130)
+ { 0, { 0, 0, 0}}, // (144, 130)
+ { 0, { 0, 0, 0}}, // (145, 130)
+ { 0, { 0, 0, 0}}, // (146, 130)
+ { 0, { 0, 0, 0}}, // (147, 130)
+ { 0, { 0, 0, 0}}, // (148, 130)
+ { 0, { 0, 0, 0}}, // (149, 130)
+ { 0, { 0, 0, 0}}, // (150, 130)
+ { 0, { 0, 0, 0}}, // (151, 130)
+ { 0, { 0, 0, 0}}, // (152, 130)
+ { 0, { 0, 0, 0}}, // (153, 130)
+ { 0, { 0, 0, 0}}, // (154, 130)
+ { 0, { 0, 0, 0}}, // (155, 130)
+ { 0, { 0, 0, 0}}, // (156, 130)
+ { 0, { 0, 0, 0}}, // (157, 130)
+ { 0, { 0, 0, 0}}, // (158, 130)
+ { 0, { 0, 0, 0}}, // (159, 130)
+ { 0, { 0, 0, 0}}, // (160, 130)
+ { 0, { 0, 0, 0}}, // (161, 130)
+ { 0, { 0, 0, 0}}, // (162, 130)
+ { 0, { 0, 0, 0}}, // (163, 130)
+ { 0, { 0, 0, 0}}, // (164, 130)
+ { 0, { 0, 0, 0}}, // (165, 130)
+ { 0, { 0, 0, 0}}, // (166, 130)
+ { 2, { 0, 0, 0}}, // (167, 130)
+ {110, { 0, 0, 0}}, // (168, 130)
+ {128, { 0, 0, 0}}, // (169, 130)
+ {128, { 0, 0, 0}}, // (170, 130)
+ {128, { 0, 0, 0}}, // (171, 130)
+ {128, { 0, 0, 0}}, // (172, 130)
+ {128, { 0, 0, 0}}, // (173, 130)
+ {128, { 0, 0, 0}}, // (174, 130)
+ {128, { 0, 0, 0}}, // (175, 130)
+ {128, { 0, 0, 0}}, // (176, 130)
+ {128, { 0, 0, 0}}, // (177, 130)
+ {128, { 0, 0, 0}}, // (178, 130)
+ {128, { 0, 0, 0}}, // (179, 130)
+ {128, { 0, 0, 0}}, // ( 0, 131)
+ {128, { 0, 0, 0}}, // ( 1, 131)
+ {128, { 0, 0, 0}}, // ( 2, 131)
+ {128, { 0, 0, 0}}, // ( 3, 131)
+ {128, { 0, 0, 0}}, // ( 4, 131)
+ {128, { 0, 0, 0}}, // ( 5, 131)
+ {128, { 0, 0, 0}}, // ( 6, 131)
+ {128, { 0, 0, 0}}, // ( 7, 131)
+ {128, { 0, 0, 0}}, // ( 8, 131)
+ {128, { 0, 0, 0}}, // ( 9, 131)
+ {128, { 0, 0, 0}}, // ( 10, 131)
+ {128, { 0, 0, 0}}, // ( 11, 131)
+ { 51, { 0, 0, 0}}, // ( 12, 131)
+ { 0, { 0, 0, 0}}, // ( 13, 131)
+ { 0, { 0, 0, 0}}, // ( 14, 131)
+ { 0, { 0, 0, 0}}, // ( 15, 131)
+ { 0, { 0, 0, 0}}, // ( 16, 131)
+ { 0, { 0, 0, 0}}, // ( 17, 131)
+ { 0, { 0, 0, 0}}, // ( 18, 131)
+ { 0, { 0, 0, 0}}, // ( 19, 131)
+ { 0, { 0, 0, 0}}, // ( 20, 131)
+ { 0, { 0, 0, 0}}, // ( 21, 131)
+ { 0, { 0, 0, 0}}, // ( 22, 131)
+ { 0, { 0, 0, 0}}, // ( 23, 131)
+ { 0, { 0, 0, 0}}, // ( 24, 131)
+ { 0, { 0, 0, 0}}, // ( 25, 131)
+ { 0, { 0, 0, 0}}, // ( 26, 131)
+ { 0, { 0, 0, 0}}, // ( 27, 131)
+ { 0, { 0, 0, 0}}, // ( 28, 131)
+ { 0, { 0, 0, 0}}, // ( 29, 131)
+ { 0, { 0, 0, 0}}, // ( 30, 131)
+ { 0, { 0, 0, 0}}, // ( 31, 131)
+ { 0, { 0, 0, 0}}, // ( 32, 131)
+ { 0, { 0, 0, 0}}, // ( 33, 131)
+ { 0, { 0, 0, 0}}, // ( 34, 131)
+ { 0, { 0, 0, 0}}, // ( 35, 131)
+ { 0, { 0, 0, 0}}, // ( 36, 131)
+ { 0, { 0, 0, 0}}, // ( 37, 131)
+ { 0, { 0, 0, 0}}, // ( 38, 131)
+ { 0, { 0, 0, 0}}, // ( 39, 131)
+ { 0, { 0, 0, 0}}, // ( 40, 131)
+ { 0, { 0, 0, 0}}, // ( 41, 131)
+ { 0, { 0, 0, 0}}, // ( 42, 131)
+ { 0, { 0, 0, 0}}, // ( 43, 131)
+ { 0, { 0, 0, 0}}, // ( 44, 131)
+ { 0, { 0, 0, 0}}, // ( 45, 131)
+ { 0, { 0, 0, 0}}, // ( 46, 131)
+ { 0, { 0, 0, 0}}, // ( 47, 131)
+ { 0, { 0, 0, 0}}, // ( 48, 131)
+ { 0, { 0, 0, 0}}, // ( 49, 131)
+ { 0, { 0, 0, 0}}, // ( 50, 131)
+ { 0, { 0, 0, 0}}, // ( 51, 131)
+ { 0, { 0, 0, 0}}, // ( 52, 131)
+ { 0, { 0, 0, 0}}, // ( 53, 131)
+ { 0, { 0, 0, 0}}, // ( 54, 131)
+ { 0, { 0, 0, 0}}, // ( 55, 131)
+ { 0, { 0, 0, 0}}, // ( 56, 131)
+ { 0, { 0, 0, 0}}, // ( 57, 131)
+ { 0, { 0, 0, 0}}, // ( 58, 131)
+ { 0, { 0, 0, 0}}, // ( 59, 131)
+ { 0, { 0, 0, 0}}, // ( 60, 131)
+ { 0, { 0, 0, 0}}, // ( 61, 131)
+ { 0, { 0, 0, 0}}, // ( 62, 131)
+ { 0, { 0, 0, 0}}, // ( 63, 131)
+ { 0, { 0, 0, 0}}, // ( 64, 131)
+ { 0, { 0, 0, 0}}, // ( 65, 131)
+ { 0, { 0, 0, 0}}, // ( 66, 131)
+ { 0, { 0, 0, 0}}, // ( 67, 131)
+ { 0, { 0, 0, 0}}, // ( 68, 131)
+ { 0, { 0, 0, 0}}, // ( 69, 131)
+ { 0, { 0, 0, 0}}, // ( 70, 131)
+ { 0, { 0, 0, 0}}, // ( 71, 131)
+ { 0, { 0, 0, 0}}, // ( 72, 131)
+ { 0, { 0, 0, 0}}, // ( 73, 131)
+ { 0, { 0, 0, 0}}, // ( 74, 131)
+ { 0, { 0, 0, 0}}, // ( 75, 131)
+ { 0, { 0, 0, 0}}, // ( 76, 131)
+ { 0, { 0, 0, 0}}, // ( 77, 131)
+ { 0, { 0, 0, 0}}, // ( 78, 131)
+ { 0, { 0, 0, 0}}, // ( 79, 131)
+ { 0, { 0, 0, 0}}, // ( 80, 131)
+ { 0, { 0, 0, 0}}, // ( 81, 131)
+ { 0, { 0, 0, 0}}, // ( 82, 131)
+ { 0, { 0, 0, 0}}, // ( 83, 131)
+ { 0, { 0, 0, 0}}, // ( 84, 131)
+ { 0, { 0, 0, 0}}, // ( 85, 131)
+ { 0, { 0, 0, 0}}, // ( 86, 131)
+ { 0, { 0, 0, 0}}, // ( 87, 131)
+ { 0, { 0, 0, 0}}, // ( 88, 131)
+ { 0, { 0, 0, 0}}, // ( 89, 131)
+ { 0, { 0, 0, 0}}, // ( 90, 131)
+ { 0, { 0, 0, 0}}, // ( 91, 131)
+ { 0, { 0, 0, 0}}, // ( 92, 131)
+ { 0, { 0, 0, 0}}, // ( 93, 131)
+ { 0, { 0, 0, 0}}, // ( 94, 131)
+ { 0, { 0, 0, 0}}, // ( 95, 131)
+ { 0, { 0, 0, 0}}, // ( 96, 131)
+ { 0, { 0, 0, 0}}, // ( 97, 131)
+ { 0, { 0, 0, 0}}, // ( 98, 131)
+ { 0, { 0, 0, 0}}, // ( 99, 131)
+ { 0, { 0, 0, 0}}, // (100, 131)
+ { 0, { 0, 0, 0}}, // (101, 131)
+ { 0, { 0, 0, 0}}, // (102, 131)
+ { 0, { 0, 0, 0}}, // (103, 131)
+ { 0, { 0, 0, 0}}, // (104, 131)
+ { 0, { 0, 0, 0}}, // (105, 131)
+ { 0, { 0, 0, 0}}, // (106, 131)
+ { 0, { 0, 0, 0}}, // (107, 131)
+ { 0, { 0, 0, 0}}, // (108, 131)
+ { 0, { 0, 0, 0}}, // (109, 131)
+ { 0, { 0, 0, 0}}, // (110, 131)
+ { 0, { 0, 0, 0}}, // (111, 131)
+ { 0, { 0, 0, 0}}, // (112, 131)
+ { 0, { 0, 0, 0}}, // (113, 131)
+ { 0, { 0, 0, 0}}, // (114, 131)
+ { 0, { 0, 0, 0}}, // (115, 131)
+ { 0, { 0, 0, 0}}, // (116, 131)
+ { 0, { 0, 0, 0}}, // (117, 131)
+ { 0, { 0, 0, 0}}, // (118, 131)
+ { 0, { 0, 0, 0}}, // (119, 131)
+ { 0, { 0, 0, 0}}, // (120, 131)
+ { 0, { 0, 0, 0}}, // (121, 131)
+ { 0, { 0, 0, 0}}, // (122, 131)
+ { 0, { 0, 0, 0}}, // (123, 131)
+ { 0, { 0, 0, 0}}, // (124, 131)
+ { 0, { 0, 0, 0}}, // (125, 131)
+ { 0, { 0, 0, 0}}, // (126, 131)
+ { 0, { 0, 0, 0}}, // (127, 131)
+ { 0, { 0, 0, 0}}, // (128, 131)
+ { 0, { 0, 0, 0}}, // (129, 131)
+ { 0, { 0, 0, 0}}, // (130, 131)
+ { 0, { 0, 0, 0}}, // (131, 131)
+ { 0, { 0, 0, 0}}, // (132, 131)
+ { 0, { 0, 0, 0}}, // (133, 131)
+ { 0, { 0, 0, 0}}, // (134, 131)
+ { 0, { 0, 0, 0}}, // (135, 131)
+ { 0, { 0, 0, 0}}, // (136, 131)
+ { 0, { 0, 0, 0}}, // (137, 131)
+ { 0, { 0, 0, 0}}, // (138, 131)
+ { 0, { 0, 0, 0}}, // (139, 131)
+ { 0, { 0, 0, 0}}, // (140, 131)
+ { 0, { 0, 0, 0}}, // (141, 131)
+ { 0, { 0, 0, 0}}, // (142, 131)
+ { 0, { 0, 0, 0}}, // (143, 131)
+ { 0, { 0, 0, 0}}, // (144, 131)
+ { 0, { 0, 0, 0}}, // (145, 131)
+ { 0, { 0, 0, 0}}, // (146, 131)
+ { 0, { 0, 0, 0}}, // (147, 131)
+ { 0, { 0, 0, 0}}, // (148, 131)
+ { 0, { 0, 0, 0}}, // (149, 131)
+ { 0, { 0, 0, 0}}, // (150, 131)
+ { 0, { 0, 0, 0}}, // (151, 131)
+ { 0, { 0, 0, 0}}, // (152, 131)
+ { 0, { 0, 0, 0}}, // (153, 131)
+ { 0, { 0, 0, 0}}, // (154, 131)
+ { 0, { 0, 0, 0}}, // (155, 131)
+ { 0, { 0, 0, 0}}, // (156, 131)
+ { 0, { 0, 0, 0}}, // (157, 131)
+ { 0, { 0, 0, 0}}, // (158, 131)
+ { 0, { 0, 0, 0}}, // (159, 131)
+ { 0, { 0, 0, 0}}, // (160, 131)
+ { 0, { 0, 0, 0}}, // (161, 131)
+ { 0, { 0, 0, 0}}, // (162, 131)
+ { 0, { 0, 0, 0}}, // (163, 131)
+ { 0, { 0, 0, 0}}, // (164, 131)
+ { 0, { 0, 0, 0}}, // (165, 131)
+ { 0, { 0, 0, 0}}, // (166, 131)
+ { 50, { 0, 0, 0}}, // (167, 131)
+ {128, { 0, 0, 0}}, // (168, 131)
+ {128, { 0, 0, 0}}, // (169, 131)
+ {128, { 0, 0, 0}}, // (170, 131)
+ {128, { 0, 0, 0}}, // (171, 131)
+ {128, { 0, 0, 0}}, // (172, 131)
+ {128, { 0, 0, 0}}, // (173, 131)
+ {128, { 0, 0, 0}}, // (174, 131)
+ {128, { 0, 0, 0}}, // (175, 131)
+ {128, { 0, 0, 0}}, // (176, 131)
+ {128, { 0, 0, 0}}, // (177, 131)
+ {128, { 0, 0, 0}}, // (178, 131)
+ {128, { 0, 0, 0}}, // (179, 131)
+ {128, { 0, 0, 0}}, // ( 0, 132)
+ {128, { 0, 0, 0}}, // ( 1, 132)
+ {128, { 0, 0, 0}}, // ( 2, 132)
+ {128, { 0, 0, 0}}, // ( 3, 132)
+ {128, { 0, 0, 0}}, // ( 4, 132)
+ {128, { 0, 0, 0}}, // ( 5, 132)
+ {128, { 0, 0, 0}}, // ( 6, 132)
+ {128, { 0, 0, 0}}, // ( 7, 132)
+ {128, { 0, 0, 0}}, // ( 8, 132)
+ {128, { 0, 0, 0}}, // ( 9, 132)
+ {128, { 0, 0, 0}}, // ( 10, 132)
+ {128, { 0, 0, 0}}, // ( 11, 132)
+ {114, { 0, 0, 0}}, // ( 12, 132)
+ { 6, { 0, 0, 0}}, // ( 13, 132)
+ { 0, { 0, 0, 0}}, // ( 14, 132)
+ { 0, { 0, 0, 0}}, // ( 15, 132)
+ { 0, { 0, 0, 0}}, // ( 16, 132)
+ { 0, { 0, 0, 0}}, // ( 17, 132)
+ { 0, { 0, 0, 0}}, // ( 18, 132)
+ { 0, { 0, 0, 0}}, // ( 19, 132)
+ { 0, { 0, 0, 0}}, // ( 20, 132)
+ { 0, { 0, 0, 0}}, // ( 21, 132)
+ { 0, { 0, 0, 0}}, // ( 22, 132)
+ { 0, { 0, 0, 0}}, // ( 23, 132)
+ { 0, { 0, 0, 0}}, // ( 24, 132)
+ { 0, { 0, 0, 0}}, // ( 25, 132)
+ { 0, { 0, 0, 0}}, // ( 26, 132)
+ { 0, { 0, 0, 0}}, // ( 27, 132)
+ { 0, { 0, 0, 0}}, // ( 28, 132)
+ { 0, { 0, 0, 0}}, // ( 29, 132)
+ { 0, { 0, 0, 0}}, // ( 30, 132)
+ { 0, { 0, 0, 0}}, // ( 31, 132)
+ { 0, { 0, 0, 0}}, // ( 32, 132)
+ { 0, { 0, 0, 0}}, // ( 33, 132)
+ { 0, { 0, 0, 0}}, // ( 34, 132)
+ { 0, { 0, 0, 0}}, // ( 35, 132)
+ { 0, { 0, 0, 0}}, // ( 36, 132)
+ { 0, { 0, 0, 0}}, // ( 37, 132)
+ { 0, { 0, 0, 0}}, // ( 38, 132)
+ { 0, { 0, 0, 0}}, // ( 39, 132)
+ { 0, { 0, 0, 0}}, // ( 40, 132)
+ { 0, { 0, 0, 0}}, // ( 41, 132)
+ { 0, { 0, 0, 0}}, // ( 42, 132)
+ { 0, { 0, 0, 0}}, // ( 43, 132)
+ { 0, { 0, 0, 0}}, // ( 44, 132)
+ { 0, { 0, 0, 0}}, // ( 45, 132)
+ { 0, { 0, 0, 0}}, // ( 46, 132)
+ { 0, { 0, 0, 0}}, // ( 47, 132)
+ { 0, { 0, 0, 0}}, // ( 48, 132)
+ { 0, { 0, 0, 0}}, // ( 49, 132)
+ { 0, { 0, 0, 0}}, // ( 50, 132)
+ { 0, { 0, 0, 0}}, // ( 51, 132)
+ { 0, { 0, 0, 0}}, // ( 52, 132)
+ { 0, { 0, 0, 0}}, // ( 53, 132)
+ { 0, { 0, 0, 0}}, // ( 54, 132)
+ { 0, { 0, 0, 0}}, // ( 55, 132)
+ { 0, { 0, 0, 0}}, // ( 56, 132)
+ { 0, { 0, 0, 0}}, // ( 57, 132)
+ { 0, { 0, 0, 0}}, // ( 58, 132)
+ { 0, { 0, 0, 0}}, // ( 59, 132)
+ { 0, { 0, 0, 0}}, // ( 60, 132)
+ { 0, { 0, 0, 0}}, // ( 61, 132)
+ { 0, { 0, 0, 0}}, // ( 62, 132)
+ { 0, { 0, 0, 0}}, // ( 63, 132)
+ { 0, { 0, 0, 0}}, // ( 64, 132)
+ { 0, { 0, 0, 0}}, // ( 65, 132)
+ { 0, { 0, 0, 0}}, // ( 66, 132)
+ { 0, { 0, 0, 0}}, // ( 67, 132)
+ { 0, { 0, 0, 0}}, // ( 68, 132)
+ { 0, { 0, 0, 0}}, // ( 69, 132)
+ { 0, { 0, 0, 0}}, // ( 70, 132)
+ { 0, { 0, 0, 0}}, // ( 71, 132)
+ { 0, { 0, 0, 0}}, // ( 72, 132)
+ { 0, { 0, 0, 0}}, // ( 73, 132)
+ { 0, { 0, 0, 0}}, // ( 74, 132)
+ { 0, { 0, 0, 0}}, // ( 75, 132)
+ { 0, { 0, 0, 0}}, // ( 76, 132)
+ { 0, { 0, 0, 0}}, // ( 77, 132)
+ { 0, { 0, 0, 0}}, // ( 78, 132)
+ { 0, { 0, 0, 0}}, // ( 79, 132)
+ { 0, { 0, 0, 0}}, // ( 80, 132)
+ { 0, { 0, 0, 0}}, // ( 81, 132)
+ { 0, { 0, 0, 0}}, // ( 82, 132)
+ { 0, { 0, 0, 0}}, // ( 83, 132)
+ { 0, { 0, 0, 0}}, // ( 84, 132)
+ { 0, { 0, 0, 0}}, // ( 85, 132)
+ { 0, { 0, 0, 0}}, // ( 86, 132)
+ { 0, { 0, 0, 0}}, // ( 87, 132)
+ { 0, { 0, 0, 0}}, // ( 88, 132)
+ { 0, { 0, 0, 0}}, // ( 89, 132)
+ { 0, { 0, 0, 0}}, // ( 90, 132)
+ { 0, { 0, 0, 0}}, // ( 91, 132)
+ { 0, { 0, 0, 0}}, // ( 92, 132)
+ { 0, { 0, 0, 0}}, // ( 93, 132)
+ { 0, { 0, 0, 0}}, // ( 94, 132)
+ { 0, { 0, 0, 0}}, // ( 95, 132)
+ { 0, { 0, 0, 0}}, // ( 96, 132)
+ { 0, { 0, 0, 0}}, // ( 97, 132)
+ { 0, { 0, 0, 0}}, // ( 98, 132)
+ { 0, { 0, 0, 0}}, // ( 99, 132)
+ { 0, { 0, 0, 0}}, // (100, 132)
+ { 0, { 0, 0, 0}}, // (101, 132)
+ { 0, { 0, 0, 0}}, // (102, 132)
+ { 0, { 0, 0, 0}}, // (103, 132)
+ { 0, { 0, 0, 0}}, // (104, 132)
+ { 0, { 0, 0, 0}}, // (105, 132)
+ { 0, { 0, 0, 0}}, // (106, 132)
+ { 0, { 0, 0, 0}}, // (107, 132)
+ { 0, { 0, 0, 0}}, // (108, 132)
+ { 0, { 0, 0, 0}}, // (109, 132)
+ { 0, { 0, 0, 0}}, // (110, 132)
+ { 0, { 0, 0, 0}}, // (111, 132)
+ { 0, { 0, 0, 0}}, // (112, 132)
+ { 0, { 0, 0, 0}}, // (113, 132)
+ { 0, { 0, 0, 0}}, // (114, 132)
+ { 0, { 0, 0, 0}}, // (115, 132)
+ { 0, { 0, 0, 0}}, // (116, 132)
+ { 0, { 0, 0, 0}}, // (117, 132)
+ { 0, { 0, 0, 0}}, // (118, 132)
+ { 0, { 0, 0, 0}}, // (119, 132)
+ { 0, { 0, 0, 0}}, // (120, 132)
+ { 0, { 0, 0, 0}}, // (121, 132)
+ { 0, { 0, 0, 0}}, // (122, 132)
+ { 0, { 0, 0, 0}}, // (123, 132)
+ { 0, { 0, 0, 0}}, // (124, 132)
+ { 0, { 0, 0, 0}}, // (125, 132)
+ { 0, { 0, 0, 0}}, // (126, 132)
+ { 0, { 0, 0, 0}}, // (127, 132)
+ { 0, { 0, 0, 0}}, // (128, 132)
+ { 0, { 0, 0, 0}}, // (129, 132)
+ { 0, { 0, 0, 0}}, // (130, 132)
+ { 0, { 0, 0, 0}}, // (131, 132)
+ { 0, { 0, 0, 0}}, // (132, 132)
+ { 0, { 0, 0, 0}}, // (133, 132)
+ { 0, { 0, 0, 0}}, // (134, 132)
+ { 0, { 0, 0, 0}}, // (135, 132)
+ { 0, { 0, 0, 0}}, // (136, 132)
+ { 0, { 0, 0, 0}}, // (137, 132)
+ { 0, { 0, 0, 0}}, // (138, 132)
+ { 0, { 0, 0, 0}}, // (139, 132)
+ { 0, { 0, 0, 0}}, // (140, 132)
+ { 0, { 0, 0, 0}}, // (141, 132)
+ { 0, { 0, 0, 0}}, // (142, 132)
+ { 0, { 0, 0, 0}}, // (143, 132)
+ { 0, { 0, 0, 0}}, // (144, 132)
+ { 0, { 0, 0, 0}}, // (145, 132)
+ { 0, { 0, 0, 0}}, // (146, 132)
+ { 0, { 0, 0, 0}}, // (147, 132)
+ { 0, { 0, 0, 0}}, // (148, 132)
+ { 0, { 0, 0, 0}}, // (149, 132)
+ { 0, { 0, 0, 0}}, // (150, 132)
+ { 0, { 0, 0, 0}}, // (151, 132)
+ { 0, { 0, 0, 0}}, // (152, 132)
+ { 0, { 0, 0, 0}}, // (153, 132)
+ { 0, { 0, 0, 0}}, // (154, 132)
+ { 0, { 0, 0, 0}}, // (155, 132)
+ { 0, { 0, 0, 0}}, // (156, 132)
+ { 0, { 0, 0, 0}}, // (157, 132)
+ { 0, { 0, 0, 0}}, // (158, 132)
+ { 0, { 0, 0, 0}}, // (159, 132)
+ { 0, { 0, 0, 0}}, // (160, 132)
+ { 0, { 0, 0, 0}}, // (161, 132)
+ { 0, { 0, 0, 0}}, // (162, 132)
+ { 0, { 0, 0, 0}}, // (163, 132)
+ { 0, { 0, 0, 0}}, // (164, 132)
+ { 0, { 0, 0, 0}}, // (165, 132)
+ { 6, { 0, 0, 0}}, // (166, 132)
+ {114, { 0, 0, 0}}, // (167, 132)
+ {128, { 0, 0, 0}}, // (168, 132)
+ {128, { 0, 0, 0}}, // (169, 132)
+ {128, { 0, 0, 0}}, // (170, 132)
+ {128, { 0, 0, 0}}, // (171, 132)
+ {128, { 0, 0, 0}}, // (172, 132)
+ {128, { 0, 0, 0}}, // (173, 132)
+ {128, { 0, 0, 0}}, // (174, 132)
+ {128, { 0, 0, 0}}, // (175, 132)
+ {128, { 0, 0, 0}}, // (176, 132)
+ {128, { 0, 0, 0}}, // (177, 132)
+ {128, { 0, 0, 0}}, // (178, 132)
+ {128, { 0, 0, 0}}, // (179, 132)
+ {128, { 0, 0, 0}}, // ( 0, 133)
+ {128, { 0, 0, 0}}, // ( 1, 133)
+ {128, { 0, 0, 0}}, // ( 2, 133)
+ {128, { 0, 0, 0}}, // ( 3, 133)
+ {128, { 0, 0, 0}}, // ( 4, 133)
+ {128, { 0, 0, 0}}, // ( 5, 133)
+ {128, { 0, 0, 0}}, // ( 6, 133)
+ {128, { 0, 0, 0}}, // ( 7, 133)
+ {128, { 0, 0, 0}}, // ( 8, 133)
+ {128, { 0, 0, 0}}, // ( 9, 133)
+ {128, { 0, 0, 0}}, // ( 10, 133)
+ {128, { 0, 0, 0}}, // ( 11, 133)
+ {128, { 0, 0, 0}}, // ( 12, 133)
+ { 65, { 0, 0, 0}}, // ( 13, 133)
+ { 0, { 0, 0, 0}}, // ( 14, 133)
+ { 0, { 0, 0, 0}}, // ( 15, 133)
+ { 0, { 0, 0, 0}}, // ( 16, 133)
+ { 0, { 0, 0, 0}}, // ( 17, 133)
+ { 0, { 0, 0, 0}}, // ( 18, 133)
+ { 0, { 0, 0, 0}}, // ( 19, 133)
+ { 0, { 0, 0, 0}}, // ( 20, 133)
+ { 0, { 0, 0, 0}}, // ( 21, 133)
+ { 0, { 0, 0, 0}}, // ( 22, 133)
+ { 0, { 0, 0, 0}}, // ( 23, 133)
+ { 0, { 0, 0, 0}}, // ( 24, 133)
+ { 0, { 0, 0, 0}}, // ( 25, 133)
+ { 0, { 0, 0, 0}}, // ( 26, 133)
+ { 0, { 0, 0, 0}}, // ( 27, 133)
+ { 0, { 0, 0, 0}}, // ( 28, 133)
+ { 0, { 0, 0, 0}}, // ( 29, 133)
+ { 0, { 0, 0, 0}}, // ( 30, 133)
+ { 0, { 0, 0, 0}}, // ( 31, 133)
+ { 0, { 0, 0, 0}}, // ( 32, 133)
+ { 0, { 0, 0, 0}}, // ( 33, 133)
+ { 0, { 0, 0, 0}}, // ( 34, 133)
+ { 0, { 0, 0, 0}}, // ( 35, 133)
+ { 0, { 0, 0, 0}}, // ( 36, 133)
+ { 0, { 0, 0, 0}}, // ( 37, 133)
+ { 0, { 0, 0, 0}}, // ( 38, 133)
+ { 0, { 0, 0, 0}}, // ( 39, 133)
+ { 0, { 0, 0, 0}}, // ( 40, 133)
+ { 0, { 0, 0, 0}}, // ( 41, 133)
+ { 0, { 0, 0, 0}}, // ( 42, 133)
+ { 0, { 0, 0, 0}}, // ( 43, 133)
+ { 0, { 0, 0, 0}}, // ( 44, 133)
+ { 0, { 0, 0, 0}}, // ( 45, 133)
+ { 0, { 0, 0, 0}}, // ( 46, 133)
+ { 0, { 0, 0, 0}}, // ( 47, 133)
+ { 0, { 0, 0, 0}}, // ( 48, 133)
+ { 0, { 0, 0, 0}}, // ( 49, 133)
+ { 0, { 0, 0, 0}}, // ( 50, 133)
+ { 0, { 0, 0, 0}}, // ( 51, 133)
+ { 0, { 0, 0, 0}}, // ( 52, 133)
+ { 0, { 0, 0, 0}}, // ( 53, 133)
+ { 0, { 0, 0, 0}}, // ( 54, 133)
+ { 0, { 0, 0, 0}}, // ( 55, 133)
+ { 0, { 0, 0, 0}}, // ( 56, 133)
+ { 0, { 0, 0, 0}}, // ( 57, 133)
+ { 0, { 0, 0, 0}}, // ( 58, 133)
+ { 0, { 0, 0, 0}}, // ( 59, 133)
+ { 0, { 0, 0, 0}}, // ( 60, 133)
+ { 0, { 0, 0, 0}}, // ( 61, 133)
+ { 0, { 0, 0, 0}}, // ( 62, 133)
+ { 0, { 0, 0, 0}}, // ( 63, 133)
+ { 0, { 0, 0, 0}}, // ( 64, 133)
+ { 0, { 0, 0, 0}}, // ( 65, 133)
+ { 0, { 0, 0, 0}}, // ( 66, 133)
+ { 0, { 0, 0, 0}}, // ( 67, 133)
+ { 0, { 0, 0, 0}}, // ( 68, 133)
+ { 0, { 0, 0, 0}}, // ( 69, 133)
+ { 0, { 0, 0, 0}}, // ( 70, 133)
+ { 0, { 0, 0, 0}}, // ( 71, 133)
+ { 0, { 0, 0, 0}}, // ( 72, 133)
+ { 0, { 0, 0, 0}}, // ( 73, 133)
+ { 0, { 0, 0, 0}}, // ( 74, 133)
+ { 0, { 0, 0, 0}}, // ( 75, 133)
+ { 0, { 0, 0, 0}}, // ( 76, 133)
+ { 0, { 0, 0, 0}}, // ( 77, 133)
+ { 0, { 0, 0, 0}}, // ( 78, 133)
+ { 0, { 0, 0, 0}}, // ( 79, 133)
+ { 0, { 0, 0, 0}}, // ( 80, 133)
+ { 0, { 0, 0, 0}}, // ( 81, 133)
+ { 0, { 0, 0, 0}}, // ( 82, 133)
+ { 0, { 0, 0, 0}}, // ( 83, 133)
+ { 0, { 0, 0, 0}}, // ( 84, 133)
+ { 0, { 0, 0, 0}}, // ( 85, 133)
+ { 0, { 0, 0, 0}}, // ( 86, 133)
+ { 0, { 0, 0, 0}}, // ( 87, 133)
+ { 0, { 0, 0, 0}}, // ( 88, 133)
+ { 0, { 0, 0, 0}}, // ( 89, 133)
+ { 0, { 0, 0, 0}}, // ( 90, 133)
+ { 0, { 0, 0, 0}}, // ( 91, 133)
+ { 0, { 0, 0, 0}}, // ( 92, 133)
+ { 0, { 0, 0, 0}}, // ( 93, 133)
+ { 0, { 0, 0, 0}}, // ( 94, 133)
+ { 0, { 0, 0, 0}}, // ( 95, 133)
+ { 0, { 0, 0, 0}}, // ( 96, 133)
+ { 0, { 0, 0, 0}}, // ( 97, 133)
+ { 0, { 0, 0, 0}}, // ( 98, 133)
+ { 0, { 0, 0, 0}}, // ( 99, 133)
+ { 0, { 0, 0, 0}}, // (100, 133)
+ { 0, { 0, 0, 0}}, // (101, 133)
+ { 0, { 0, 0, 0}}, // (102, 133)
+ { 0, { 0, 0, 0}}, // (103, 133)
+ { 0, { 0, 0, 0}}, // (104, 133)
+ { 0, { 0, 0, 0}}, // (105, 133)
+ { 0, { 0, 0, 0}}, // (106, 133)
+ { 0, { 0, 0, 0}}, // (107, 133)
+ { 0, { 0, 0, 0}}, // (108, 133)
+ { 0, { 0, 0, 0}}, // (109, 133)
+ { 0, { 0, 0, 0}}, // (110, 133)
+ { 0, { 0, 0, 0}}, // (111, 133)
+ { 0, { 0, 0, 0}}, // (112, 133)
+ { 0, { 0, 0, 0}}, // (113, 133)
+ { 0, { 0, 0, 0}}, // (114, 133)
+ { 0, { 0, 0, 0}}, // (115, 133)
+ { 0, { 0, 0, 0}}, // (116, 133)
+ { 0, { 0, 0, 0}}, // (117, 133)
+ { 0, { 0, 0, 0}}, // (118, 133)
+ { 0, { 0, 0, 0}}, // (119, 133)
+ { 0, { 0, 0, 0}}, // (120, 133)
+ { 0, { 0, 0, 0}}, // (121, 133)
+ { 0, { 0, 0, 0}}, // (122, 133)
+ { 0, { 0, 0, 0}}, // (123, 133)
+ { 0, { 0, 0, 0}}, // (124, 133)
+ { 0, { 0, 0, 0}}, // (125, 133)
+ { 0, { 0, 0, 0}}, // (126, 133)
+ { 0, { 0, 0, 0}}, // (127, 133)
+ { 0, { 0, 0, 0}}, // (128, 133)
+ { 0, { 0, 0, 0}}, // (129, 133)
+ { 0, { 0, 0, 0}}, // (130, 133)
+ { 0, { 0, 0, 0}}, // (131, 133)
+ { 0, { 0, 0, 0}}, // (132, 133)
+ { 0, { 0, 0, 0}}, // (133, 133)
+ { 0, { 0, 0, 0}}, // (134, 133)
+ { 0, { 0, 0, 0}}, // (135, 133)
+ { 0, { 0, 0, 0}}, // (136, 133)
+ { 0, { 0, 0, 0}}, // (137, 133)
+ { 0, { 0, 0, 0}}, // (138, 133)
+ { 0, { 0, 0, 0}}, // (139, 133)
+ { 0, { 0, 0, 0}}, // (140, 133)
+ { 0, { 0, 0, 0}}, // (141, 133)
+ { 0, { 0, 0, 0}}, // (142, 133)
+ { 0, { 0, 0, 0}}, // (143, 133)
+ { 0, { 0, 0, 0}}, // (144, 133)
+ { 0, { 0, 0, 0}}, // (145, 133)
+ { 0, { 0, 0, 0}}, // (146, 133)
+ { 0, { 0, 0, 0}}, // (147, 133)
+ { 0, { 0, 0, 0}}, // (148, 133)
+ { 0, { 0, 0, 0}}, // (149, 133)
+ { 0, { 0, 0, 0}}, // (150, 133)
+ { 0, { 0, 0, 0}}, // (151, 133)
+ { 0, { 0, 0, 0}}, // (152, 133)
+ { 0, { 0, 0, 0}}, // (153, 133)
+ { 0, { 0, 0, 0}}, // (154, 133)
+ { 0, { 0, 0, 0}}, // (155, 133)
+ { 0, { 0, 0, 0}}, // (156, 133)
+ { 0, { 0, 0, 0}}, // (157, 133)
+ { 0, { 0, 0, 0}}, // (158, 133)
+ { 0, { 0, 0, 0}}, // (159, 133)
+ { 0, { 0, 0, 0}}, // (160, 133)
+ { 0, { 0, 0, 0}}, // (161, 133)
+ { 0, { 0, 0, 0}}, // (162, 133)
+ { 0, { 0, 0, 0}}, // (163, 133)
+ { 0, { 0, 0, 0}}, // (164, 133)
+ { 0, { 0, 0, 0}}, // (165, 133)
+ { 65, { 0, 0, 0}}, // (166, 133)
+ {128, { 0, 0, 0}}, // (167, 133)
+ {128, { 0, 0, 0}}, // (168, 133)
+ {128, { 0, 0, 0}}, // (169, 133)
+ {128, { 0, 0, 0}}, // (170, 133)
+ {128, { 0, 0, 0}}, // (171, 133)
+ {128, { 0, 0, 0}}, // (172, 133)
+ {128, { 0, 0, 0}}, // (173, 133)
+ {128, { 0, 0, 0}}, // (174, 133)
+ {128, { 0, 0, 0}}, // (175, 133)
+ {128, { 0, 0, 0}}, // (176, 133)
+ {128, { 0, 0, 0}}, // (177, 133)
+ {128, { 0, 0, 0}}, // (178, 133)
+ {128, { 0, 0, 0}}, // (179, 133)
+ {128, { 0, 0, 0}}, // ( 0, 134)
+ {128, { 0, 0, 0}}, // ( 1, 134)
+ {128, { 0, 0, 0}}, // ( 2, 134)
+ {128, { 0, 0, 0}}, // ( 3, 134)
+ {128, { 0, 0, 0}}, // ( 4, 134)
+ {128, { 0, 0, 0}}, // ( 5, 134)
+ {128, { 0, 0, 0}}, // ( 6, 134)
+ {128, { 0, 0, 0}}, // ( 7, 134)
+ {128, { 0, 0, 0}}, // ( 8, 134)
+ {128, { 0, 0, 0}}, // ( 9, 134)
+ {128, { 0, 0, 0}}, // ( 10, 134)
+ {128, { 0, 0, 0}}, // ( 11, 134)
+ {128, { 0, 0, 0}}, // ( 12, 134)
+ {124, { 0, 0, 0}}, // ( 13, 134)
+ { 15, { 0, 0, 0}}, // ( 14, 134)
+ { 0, { 0, 0, 0}}, // ( 15, 134)
+ { 0, { 0, 0, 0}}, // ( 16, 134)
+ { 0, { 0, 0, 0}}, // ( 17, 134)
+ { 0, { 0, 0, 0}}, // ( 18, 134)
+ { 0, { 0, 0, 0}}, // ( 19, 134)
+ { 0, { 0, 0, 0}}, // ( 20, 134)
+ { 0, { 0, 0, 0}}, // ( 21, 134)
+ { 0, { 0, 0, 0}}, // ( 22, 134)
+ { 0, { 0, 0, 0}}, // ( 23, 134)
+ { 0, { 0, 0, 0}}, // ( 24, 134)
+ { 0, { 0, 0, 0}}, // ( 25, 134)
+ { 0, { 0, 0, 0}}, // ( 26, 134)
+ { 0, { 0, 0, 0}}, // ( 27, 134)
+ { 0, { 0, 0, 0}}, // ( 28, 134)
+ { 0, { 0, 0, 0}}, // ( 29, 134)
+ { 0, { 0, 0, 0}}, // ( 30, 134)
+ { 0, { 0, 0, 0}}, // ( 31, 134)
+ { 0, { 0, 0, 0}}, // ( 32, 134)
+ { 0, { 0, 0, 0}}, // ( 33, 134)
+ { 0, { 0, 0, 0}}, // ( 34, 134)
+ { 0, { 0, 0, 0}}, // ( 35, 134)
+ { 0, { 0, 0, 0}}, // ( 36, 134)
+ { 0, { 0, 0, 0}}, // ( 37, 134)
+ { 0, { 0, 0, 0}}, // ( 38, 134)
+ { 0, { 0, 0, 0}}, // ( 39, 134)
+ { 0, { 0, 0, 0}}, // ( 40, 134)
+ { 0, { 0, 0, 0}}, // ( 41, 134)
+ { 0, { 0, 0, 0}}, // ( 42, 134)
+ { 0, { 0, 0, 0}}, // ( 43, 134)
+ { 0, { 0, 0, 0}}, // ( 44, 134)
+ { 0, { 0, 0, 0}}, // ( 45, 134)
+ { 0, { 0, 0, 0}}, // ( 46, 134)
+ { 0, { 0, 0, 0}}, // ( 47, 134)
+ { 0, { 0, 0, 0}}, // ( 48, 134)
+ { 0, { 0, 0, 0}}, // ( 49, 134)
+ { 0, { 0, 0, 0}}, // ( 50, 134)
+ { 0, { 0, 0, 0}}, // ( 51, 134)
+ { 0, { 0, 0, 0}}, // ( 52, 134)
+ { 0, { 0, 0, 0}}, // ( 53, 134)
+ { 0, { 0, 0, 0}}, // ( 54, 134)
+ { 0, { 0, 0, 0}}, // ( 55, 134)
+ { 0, { 0, 0, 0}}, // ( 56, 134)
+ { 0, { 0, 0, 0}}, // ( 57, 134)
+ { 0, { 0, 0, 0}}, // ( 58, 134)
+ { 0, { 0, 0, 0}}, // ( 59, 134)
+ { 0, { 0, 0, 0}}, // ( 60, 134)
+ { 0, { 0, 0, 0}}, // ( 61, 134)
+ { 0, { 0, 0, 0}}, // ( 62, 134)
+ { 0, { 0, 0, 0}}, // ( 63, 134)
+ { 0, { 0, 0, 0}}, // ( 64, 134)
+ { 0, { 0, 0, 0}}, // ( 65, 134)
+ { 0, { 0, 0, 0}}, // ( 66, 134)
+ { 0, { 0, 0, 0}}, // ( 67, 134)
+ { 0, { 0, 0, 0}}, // ( 68, 134)
+ { 0, { 0, 0, 0}}, // ( 69, 134)
+ { 0, { 0, 0, 0}}, // ( 70, 134)
+ { 0, { 0, 0, 0}}, // ( 71, 134)
+ { 0, { 0, 0, 0}}, // ( 72, 134)
+ { 0, { 0, 0, 0}}, // ( 73, 134)
+ { 0, { 0, 0, 0}}, // ( 74, 134)
+ { 0, { 0, 0, 0}}, // ( 75, 134)
+ { 0, { 0, 0, 0}}, // ( 76, 134)
+ { 0, { 0, 0, 0}}, // ( 77, 134)
+ { 0, { 0, 0, 0}}, // ( 78, 134)
+ { 0, { 0, 0, 0}}, // ( 79, 134)
+ { 0, { 0, 0, 0}}, // ( 80, 134)
+ { 0, { 0, 0, 0}}, // ( 81, 134)
+ { 0, { 0, 0, 0}}, // ( 82, 134)
+ { 0, { 0, 0, 0}}, // ( 83, 134)
+ { 0, { 0, 0, 0}}, // ( 84, 134)
+ { 0, { 0, 0, 0}}, // ( 85, 134)
+ { 0, { 0, 0, 0}}, // ( 86, 134)
+ { 0, { 0, 0, 0}}, // ( 87, 134)
+ { 0, { 0, 0, 0}}, // ( 88, 134)
+ { 0, { 0, 0, 0}}, // ( 89, 134)
+ { 0, { 0, 0, 0}}, // ( 90, 134)
+ { 0, { 0, 0, 0}}, // ( 91, 134)
+ { 0, { 0, 0, 0}}, // ( 92, 134)
+ { 0, { 0, 0, 0}}, // ( 93, 134)
+ { 0, { 0, 0, 0}}, // ( 94, 134)
+ { 0, { 0, 0, 0}}, // ( 95, 134)
+ { 0, { 0, 0, 0}}, // ( 96, 134)
+ { 0, { 0, 0, 0}}, // ( 97, 134)
+ { 0, { 0, 0, 0}}, // ( 98, 134)
+ { 0, { 0, 0, 0}}, // ( 99, 134)
+ { 0, { 0, 0, 0}}, // (100, 134)
+ { 0, { 0, 0, 0}}, // (101, 134)
+ { 0, { 0, 0, 0}}, // (102, 134)
+ { 0, { 0, 0, 0}}, // (103, 134)
+ { 0, { 0, 0, 0}}, // (104, 134)
+ { 0, { 0, 0, 0}}, // (105, 134)
+ { 0, { 0, 0, 0}}, // (106, 134)
+ { 0, { 0, 0, 0}}, // (107, 134)
+ { 0, { 0, 0, 0}}, // (108, 134)
+ { 0, { 0, 0, 0}}, // (109, 134)
+ { 0, { 0, 0, 0}}, // (110, 134)
+ { 0, { 0, 0, 0}}, // (111, 134)
+ { 0, { 0, 0, 0}}, // (112, 134)
+ { 0, { 0, 0, 0}}, // (113, 134)
+ { 0, { 0, 0, 0}}, // (114, 134)
+ { 0, { 0, 0, 0}}, // (115, 134)
+ { 0, { 0, 0, 0}}, // (116, 134)
+ { 0, { 0, 0, 0}}, // (117, 134)
+ { 0, { 0, 0, 0}}, // (118, 134)
+ { 0, { 0, 0, 0}}, // (119, 134)
+ { 0, { 0, 0, 0}}, // (120, 134)
+ { 0, { 0, 0, 0}}, // (121, 134)
+ { 0, { 0, 0, 0}}, // (122, 134)
+ { 0, { 0, 0, 0}}, // (123, 134)
+ { 0, { 0, 0, 0}}, // (124, 134)
+ { 0, { 0, 0, 0}}, // (125, 134)
+ { 0, { 0, 0, 0}}, // (126, 134)
+ { 0, { 0, 0, 0}}, // (127, 134)
+ { 0, { 0, 0, 0}}, // (128, 134)
+ { 0, { 0, 0, 0}}, // (129, 134)
+ { 0, { 0, 0, 0}}, // (130, 134)
+ { 0, { 0, 0, 0}}, // (131, 134)
+ { 0, { 0, 0, 0}}, // (132, 134)
+ { 0, { 0, 0, 0}}, // (133, 134)
+ { 0, { 0, 0, 0}}, // (134, 134)
+ { 0, { 0, 0, 0}}, // (135, 134)
+ { 0, { 0, 0, 0}}, // (136, 134)
+ { 0, { 0, 0, 0}}, // (137, 134)
+ { 0, { 0, 0, 0}}, // (138, 134)
+ { 0, { 0, 0, 0}}, // (139, 134)
+ { 0, { 0, 0, 0}}, // (140, 134)
+ { 0, { 0, 0, 0}}, // (141, 134)
+ { 0, { 0, 0, 0}}, // (142, 134)
+ { 0, { 0, 0, 0}}, // (143, 134)
+ { 0, { 0, 0, 0}}, // (144, 134)
+ { 0, { 0, 0, 0}}, // (145, 134)
+ { 0, { 0, 0, 0}}, // (146, 134)
+ { 0, { 0, 0, 0}}, // (147, 134)
+ { 0, { 0, 0, 0}}, // (148, 134)
+ { 0, { 0, 0, 0}}, // (149, 134)
+ { 0, { 0, 0, 0}}, // (150, 134)
+ { 0, { 0, 0, 0}}, // (151, 134)
+ { 0, { 0, 0, 0}}, // (152, 134)
+ { 0, { 0, 0, 0}}, // (153, 134)
+ { 0, { 0, 0, 0}}, // (154, 134)
+ { 0, { 0, 0, 0}}, // (155, 134)
+ { 0, { 0, 0, 0}}, // (156, 134)
+ { 0, { 0, 0, 0}}, // (157, 134)
+ { 0, { 0, 0, 0}}, // (158, 134)
+ { 0, { 0, 0, 0}}, // (159, 134)
+ { 0, { 0, 0, 0}}, // (160, 134)
+ { 0, { 0, 0, 0}}, // (161, 134)
+ { 0, { 0, 0, 0}}, // (162, 134)
+ { 0, { 0, 0, 0}}, // (163, 134)
+ { 0, { 0, 0, 0}}, // (164, 134)
+ { 15, { 0, 0, 0}}, // (165, 134)
+ {124, { 0, 0, 0}}, // (166, 134)
+ {128, { 0, 0, 0}}, // (167, 134)
+ {128, { 0, 0, 0}}, // (168, 134)
+ {128, { 0, 0, 0}}, // (169, 134)
+ {128, { 0, 0, 0}}, // (170, 134)
+ {128, { 0, 0, 0}}, // (171, 134)
+ {128, { 0, 0, 0}}, // (172, 134)
+ {128, { 0, 0, 0}}, // (173, 134)
+ {128, { 0, 0, 0}}, // (174, 134)
+ {128, { 0, 0, 0}}, // (175, 134)
+ {128, { 0, 0, 0}}, // (176, 134)
+ {128, { 0, 0, 0}}, // (177, 134)
+ {128, { 0, 0, 0}}, // (178, 134)
+ {128, { 0, 0, 0}}, // (179, 134)
+ {128, { 0, 0, 0}}, // ( 0, 135)
+ {128, { 0, 0, 0}}, // ( 1, 135)
+ {128, { 0, 0, 0}}, // ( 2, 135)
+ {128, { 0, 0, 0}}, // ( 3, 135)
+ {128, { 0, 0, 0}}, // ( 4, 135)
+ {128, { 0, 0, 0}}, // ( 5, 135)
+ {128, { 0, 0, 0}}, // ( 6, 135)
+ {128, { 0, 0, 0}}, // ( 7, 135)
+ {128, { 0, 0, 0}}, // ( 8, 135)
+ {128, { 0, 0, 0}}, // ( 9, 135)
+ {128, { 0, 0, 0}}, // ( 10, 135)
+ {128, { 0, 0, 0}}, // ( 11, 135)
+ {128, { 0, 0, 0}}, // ( 12, 135)
+ {128, { 0, 0, 0}}, // ( 13, 135)
+ { 85, { 0, 0, 0}}, // ( 14, 135)
+ { 0, { 0, 0, 0}}, // ( 15, 135)
+ { 0, { 0, 0, 0}}, // ( 16, 135)
+ { 0, { 0, 0, 0}}, // ( 17, 135)
+ { 0, { 0, 0, 0}}, // ( 18, 135)
+ { 0, { 0, 0, 0}}, // ( 19, 135)
+ { 0, { 0, 0, 0}}, // ( 20, 135)
+ { 0, { 0, 0, 0}}, // ( 21, 135)
+ { 0, { 0, 0, 0}}, // ( 22, 135)
+ { 0, { 0, 0, 0}}, // ( 23, 135)
+ { 0, { 0, 0, 0}}, // ( 24, 135)
+ { 0, { 0, 0, 0}}, // ( 25, 135)
+ { 0, { 0, 0, 0}}, // ( 26, 135)
+ { 0, { 0, 0, 0}}, // ( 27, 135)
+ { 0, { 0, 0, 0}}, // ( 28, 135)
+ { 0, { 0, 0, 0}}, // ( 29, 135)
+ { 0, { 0, 0, 0}}, // ( 30, 135)
+ { 0, { 0, 0, 0}}, // ( 31, 135)
+ { 0, { 0, 0, 0}}, // ( 32, 135)
+ { 0, { 0, 0, 0}}, // ( 33, 135)
+ { 0, { 0, 0, 0}}, // ( 34, 135)
+ { 0, { 0, 0, 0}}, // ( 35, 135)
+ { 0, { 0, 0, 0}}, // ( 36, 135)
+ { 0, { 0, 0, 0}}, // ( 37, 135)
+ { 0, { 0, 0, 0}}, // ( 38, 135)
+ { 0, { 0, 0, 0}}, // ( 39, 135)
+ { 0, { 0, 0, 0}}, // ( 40, 135)
+ { 0, { 0, 0, 0}}, // ( 41, 135)
+ { 0, { 0, 0, 0}}, // ( 42, 135)
+ { 0, { 0, 0, 0}}, // ( 43, 135)
+ { 0, { 0, 0, 0}}, // ( 44, 135)
+ { 0, { 0, 0, 0}}, // ( 45, 135)
+ { 0, { 0, 0, 0}}, // ( 46, 135)
+ { 0, { 0, 0, 0}}, // ( 47, 135)
+ { 0, { 0, 0, 0}}, // ( 48, 135)
+ { 0, { 0, 0, 0}}, // ( 49, 135)
+ { 0, { 0, 0, 0}}, // ( 50, 135)
+ { 0, { 0, 0, 0}}, // ( 51, 135)
+ { 0, { 0, 0, 0}}, // ( 52, 135)
+ { 0, { 0, 0, 0}}, // ( 53, 135)
+ { 0, { 0, 0, 0}}, // ( 54, 135)
+ { 0, { 0, 0, 0}}, // ( 55, 135)
+ { 0, { 0, 0, 0}}, // ( 56, 135)
+ { 0, { 0, 0, 0}}, // ( 57, 135)
+ { 0, { 0, 0, 0}}, // ( 58, 135)
+ { 0, { 0, 0, 0}}, // ( 59, 135)
+ { 0, { 0, 0, 0}}, // ( 60, 135)
+ { 0, { 0, 0, 0}}, // ( 61, 135)
+ { 0, { 0, 0, 0}}, // ( 62, 135)
+ { 0, { 0, 0, 0}}, // ( 63, 135)
+ { 0, { 0, 0, 0}}, // ( 64, 135)
+ { 0, { 0, 0, 0}}, // ( 65, 135)
+ { 0, { 0, 0, 0}}, // ( 66, 135)
+ { 0, { 0, 0, 0}}, // ( 67, 135)
+ { 0, { 0, 0, 0}}, // ( 68, 135)
+ { 0, { 0, 0, 0}}, // ( 69, 135)
+ { 0, { 0, 0, 0}}, // ( 70, 135)
+ { 0, { 0, 0, 0}}, // ( 71, 135)
+ { 0, { 0, 0, 0}}, // ( 72, 135)
+ { 0, { 0, 0, 0}}, // ( 73, 135)
+ { 0, { 0, 0, 0}}, // ( 74, 135)
+ { 0, { 0, 0, 0}}, // ( 75, 135)
+ { 0, { 0, 0, 0}}, // ( 76, 135)
+ { 0, { 0, 0, 0}}, // ( 77, 135)
+ { 0, { 0, 0, 0}}, // ( 78, 135)
+ { 0, { 0, 0, 0}}, // ( 79, 135)
+ { 0, { 0, 0, 0}}, // ( 80, 135)
+ { 0, { 0, 0, 0}}, // ( 81, 135)
+ { 0, { 0, 0, 0}}, // ( 82, 135)
+ { 0, { 0, 0, 0}}, // ( 83, 135)
+ { 0, { 0, 0, 0}}, // ( 84, 135)
+ { 0, { 0, 0, 0}}, // ( 85, 135)
+ { 0, { 0, 0, 0}}, // ( 86, 135)
+ { 0, { 0, 0, 0}}, // ( 87, 135)
+ { 0, { 0, 0, 0}}, // ( 88, 135)
+ { 0, { 0, 0, 0}}, // ( 89, 135)
+ { 0, { 0, 0, 0}}, // ( 90, 135)
+ { 0, { 0, 0, 0}}, // ( 91, 135)
+ { 0, { 0, 0, 0}}, // ( 92, 135)
+ { 0, { 0, 0, 0}}, // ( 93, 135)
+ { 0, { 0, 0, 0}}, // ( 94, 135)
+ { 0, { 0, 0, 0}}, // ( 95, 135)
+ { 0, { 0, 0, 0}}, // ( 96, 135)
+ { 0, { 0, 0, 0}}, // ( 97, 135)
+ { 0, { 0, 0, 0}}, // ( 98, 135)
+ { 0, { 0, 0, 0}}, // ( 99, 135)
+ { 0, { 0, 0, 0}}, // (100, 135)
+ { 0, { 0, 0, 0}}, // (101, 135)
+ { 0, { 0, 0, 0}}, // (102, 135)
+ { 0, { 0, 0, 0}}, // (103, 135)
+ { 0, { 0, 0, 0}}, // (104, 135)
+ { 0, { 0, 0, 0}}, // (105, 135)
+ { 0, { 0, 0, 0}}, // (106, 135)
+ { 0, { 0, 0, 0}}, // (107, 135)
+ { 0, { 0, 0, 0}}, // (108, 135)
+ { 0, { 0, 0, 0}}, // (109, 135)
+ { 0, { 0, 0, 0}}, // (110, 135)
+ { 0, { 0, 0, 0}}, // (111, 135)
+ { 0, { 0, 0, 0}}, // (112, 135)
+ { 0, { 0, 0, 0}}, // (113, 135)
+ { 0, { 0, 0, 0}}, // (114, 135)
+ { 0, { 0, 0, 0}}, // (115, 135)
+ { 0, { 0, 0, 0}}, // (116, 135)
+ { 0, { 0, 0, 0}}, // (117, 135)
+ { 0, { 0, 0, 0}}, // (118, 135)
+ { 0, { 0, 0, 0}}, // (119, 135)
+ { 0, { 0, 0, 0}}, // (120, 135)
+ { 0, { 0, 0, 0}}, // (121, 135)
+ { 0, { 0, 0, 0}}, // (122, 135)
+ { 0, { 0, 0, 0}}, // (123, 135)
+ { 0, { 0, 0, 0}}, // (124, 135)
+ { 0, { 0, 0, 0}}, // (125, 135)
+ { 0, { 0, 0, 0}}, // (126, 135)
+ { 0, { 0, 0, 0}}, // (127, 135)
+ { 0, { 0, 0, 0}}, // (128, 135)
+ { 0, { 0, 0, 0}}, // (129, 135)
+ { 0, { 0, 0, 0}}, // (130, 135)
+ { 0, { 0, 0, 0}}, // (131, 135)
+ { 0, { 0, 0, 0}}, // (132, 135)
+ { 0, { 0, 0, 0}}, // (133, 135)
+ { 0, { 0, 0, 0}}, // (134, 135)
+ { 0, { 0, 0, 0}}, // (135, 135)
+ { 0, { 0, 0, 0}}, // (136, 135)
+ { 0, { 0, 0, 0}}, // (137, 135)
+ { 0, { 0, 0, 0}}, // (138, 135)
+ { 0, { 0, 0, 0}}, // (139, 135)
+ { 0, { 0, 0, 0}}, // (140, 135)
+ { 0, { 0, 0, 0}}, // (141, 135)
+ { 0, { 0, 0, 0}}, // (142, 135)
+ { 0, { 0, 0, 0}}, // (143, 135)
+ { 0, { 0, 0, 0}}, // (144, 135)
+ { 0, { 0, 0, 0}}, // (145, 135)
+ { 0, { 0, 0, 0}}, // (146, 135)
+ { 0, { 0, 0, 0}}, // (147, 135)
+ { 0, { 0, 0, 0}}, // (148, 135)
+ { 0, { 0, 0, 0}}, // (149, 135)
+ { 0, { 0, 0, 0}}, // (150, 135)
+ { 0, { 0, 0, 0}}, // (151, 135)
+ { 0, { 0, 0, 0}}, // (152, 135)
+ { 0, { 0, 0, 0}}, // (153, 135)
+ { 0, { 0, 0, 0}}, // (154, 135)
+ { 0, { 0, 0, 0}}, // (155, 135)
+ { 0, { 0, 0, 0}}, // (156, 135)
+ { 0, { 0, 0, 0}}, // (157, 135)
+ { 0, { 0, 0, 0}}, // (158, 135)
+ { 0, { 0, 0, 0}}, // (159, 135)
+ { 0, { 0, 0, 0}}, // (160, 135)
+ { 0, { 0, 0, 0}}, // (161, 135)
+ { 0, { 0, 0, 0}}, // (162, 135)
+ { 0, { 0, 0, 0}}, // (163, 135)
+ { 0, { 0, 0, 0}}, // (164, 135)
+ { 85, { 0, 0, 0}}, // (165, 135)
+ {128, { 0, 0, 0}}, // (166, 135)
+ {128, { 0, 0, 0}}, // (167, 135)
+ {128, { 0, 0, 0}}, // (168, 135)
+ {128, { 0, 0, 0}}, // (169, 135)
+ {128, { 0, 0, 0}}, // (170, 135)
+ {128, { 0, 0, 0}}, // (171, 135)
+ {128, { 0, 0, 0}}, // (172, 135)
+ {128, { 0, 0, 0}}, // (173, 135)
+ {128, { 0, 0, 0}}, // (174, 135)
+ {128, { 0, 0, 0}}, // (175, 135)
+ {128, { 0, 0, 0}}, // (176, 135)
+ {128, { 0, 0, 0}}, // (177, 135)
+ {128, { 0, 0, 0}}, // (178, 135)
+ {128, { 0, 0, 0}}, // (179, 135)
+ {128, { 0, 0, 0}}, // ( 0, 136)
+ {128, { 0, 0, 0}}, // ( 1, 136)
+ {128, { 0, 0, 0}}, // ( 2, 136)
+ {128, { 0, 0, 0}}, // ( 3, 136)
+ {128, { 0, 0, 0}}, // ( 4, 136)
+ {128, { 0, 0, 0}}, // ( 5, 136)
+ {128, { 0, 0, 0}}, // ( 6, 136)
+ {128, { 0, 0, 0}}, // ( 7, 136)
+ {128, { 0, 0, 0}}, // ( 8, 136)
+ {128, { 0, 0, 0}}, // ( 9, 136)
+ {128, { 0, 0, 0}}, // ( 10, 136)
+ {128, { 0, 0, 0}}, // ( 11, 136)
+ {128, { 0, 0, 0}}, // ( 12, 136)
+ {128, { 0, 0, 0}}, // ( 13, 136)
+ {128, { 0, 0, 0}}, // ( 14, 136)
+ { 38, { 0, 0, 0}}, // ( 15, 136)
+ { 0, { 0, 0, 0}}, // ( 16, 136)
+ { 0, { 0, 0, 0}}, // ( 17, 136)
+ { 0, { 0, 0, 0}}, // ( 18, 136)
+ { 0, { 0, 0, 0}}, // ( 19, 136)
+ { 0, { 0, 0, 0}}, // ( 20, 136)
+ { 0, { 0, 0, 0}}, // ( 21, 136)
+ { 0, { 0, 0, 0}}, // ( 22, 136)
+ { 0, { 0, 0, 0}}, // ( 23, 136)
+ { 0, { 0, 0, 0}}, // ( 24, 136)
+ { 0, { 0, 0, 0}}, // ( 25, 136)
+ { 0, { 0, 0, 0}}, // ( 26, 136)
+ { 0, { 0, 0, 0}}, // ( 27, 136)
+ { 0, { 0, 0, 0}}, // ( 28, 136)
+ { 0, { 0, 0, 0}}, // ( 29, 136)
+ { 0, { 0, 0, 0}}, // ( 30, 136)
+ { 0, { 0, 0, 0}}, // ( 31, 136)
+ { 0, { 0, 0, 0}}, // ( 32, 136)
+ { 0, { 0, 0, 0}}, // ( 33, 136)
+ { 0, { 0, 0, 0}}, // ( 34, 136)
+ { 0, { 0, 0, 0}}, // ( 35, 136)
+ { 0, { 0, 0, 0}}, // ( 36, 136)
+ { 0, { 0, 0, 0}}, // ( 37, 136)
+ { 0, { 0, 0, 0}}, // ( 38, 136)
+ { 0, { 0, 0, 0}}, // ( 39, 136)
+ { 0, { 0, 0, 0}}, // ( 40, 136)
+ { 0, { 0, 0, 0}}, // ( 41, 136)
+ { 0, { 0, 0, 0}}, // ( 42, 136)
+ { 0, { 0, 0, 0}}, // ( 43, 136)
+ { 0, { 0, 0, 0}}, // ( 44, 136)
+ { 0, { 0, 0, 0}}, // ( 45, 136)
+ { 0, { 0, 0, 0}}, // ( 46, 136)
+ { 0, { 0, 0, 0}}, // ( 47, 136)
+ { 0, { 0, 0, 0}}, // ( 48, 136)
+ { 0, { 0, 0, 0}}, // ( 49, 136)
+ { 0, { 0, 0, 0}}, // ( 50, 136)
+ { 0, { 0, 0, 0}}, // ( 51, 136)
+ { 0, { 0, 0, 0}}, // ( 52, 136)
+ { 0, { 0, 0, 0}}, // ( 53, 136)
+ { 0, { 0, 0, 0}}, // ( 54, 136)
+ { 0, { 0, 0, 0}}, // ( 55, 136)
+ { 0, { 0, 0, 0}}, // ( 56, 136)
+ { 0, { 0, 0, 0}}, // ( 57, 136)
+ { 0, { 0, 0, 0}}, // ( 58, 136)
+ { 0, { 0, 0, 0}}, // ( 59, 136)
+ { 0, { 0, 0, 0}}, // ( 60, 136)
+ { 0, { 0, 0, 0}}, // ( 61, 136)
+ { 0, { 0, 0, 0}}, // ( 62, 136)
+ { 0, { 0, 0, 0}}, // ( 63, 136)
+ { 0, { 0, 0, 0}}, // ( 64, 136)
+ { 0, { 0, 0, 0}}, // ( 65, 136)
+ { 0, { 0, 0, 0}}, // ( 66, 136)
+ { 0, { 0, 0, 0}}, // ( 67, 136)
+ { 0, { 0, 0, 0}}, // ( 68, 136)
+ { 0, { 0, 0, 0}}, // ( 69, 136)
+ { 0, { 0, 0, 0}}, // ( 70, 136)
+ { 0, { 0, 0, 0}}, // ( 71, 136)
+ { 0, { 0, 0, 0}}, // ( 72, 136)
+ { 0, { 0, 0, 0}}, // ( 73, 136)
+ { 0, { 0, 0, 0}}, // ( 74, 136)
+ { 0, { 0, 0, 0}}, // ( 75, 136)
+ { 0, { 0, 0, 0}}, // ( 76, 136)
+ { 0, { 0, 0, 0}}, // ( 77, 136)
+ { 0, { 0, 0, 0}}, // ( 78, 136)
+ { 0, { 0, 0, 0}}, // ( 79, 136)
+ { 0, { 0, 0, 0}}, // ( 80, 136)
+ { 0, { 0, 0, 0}}, // ( 81, 136)
+ { 0, { 0, 0, 0}}, // ( 82, 136)
+ { 0, { 0, 0, 0}}, // ( 83, 136)
+ { 0, { 0, 0, 0}}, // ( 84, 136)
+ { 0, { 0, 0, 0}}, // ( 85, 136)
+ { 0, { 0, 0, 0}}, // ( 86, 136)
+ { 0, { 0, 0, 0}}, // ( 87, 136)
+ { 0, { 0, 0, 0}}, // ( 88, 136)
+ { 0, { 0, 0, 0}}, // ( 89, 136)
+ { 0, { 0, 0, 0}}, // ( 90, 136)
+ { 0, { 0, 0, 0}}, // ( 91, 136)
+ { 0, { 0, 0, 0}}, // ( 92, 136)
+ { 0, { 0, 0, 0}}, // ( 93, 136)
+ { 0, { 0, 0, 0}}, // ( 94, 136)
+ { 0, { 0, 0, 0}}, // ( 95, 136)
+ { 0, { 0, 0, 0}}, // ( 96, 136)
+ { 0, { 0, 0, 0}}, // ( 97, 136)
+ { 0, { 0, 0, 0}}, // ( 98, 136)
+ { 0, { 0, 0, 0}}, // ( 99, 136)
+ { 0, { 0, 0, 0}}, // (100, 136)
+ { 0, { 0, 0, 0}}, // (101, 136)
+ { 0, { 0, 0, 0}}, // (102, 136)
+ { 0, { 0, 0, 0}}, // (103, 136)
+ { 0, { 0, 0, 0}}, // (104, 136)
+ { 0, { 0, 0, 0}}, // (105, 136)
+ { 0, { 0, 0, 0}}, // (106, 136)
+ { 0, { 0, 0, 0}}, // (107, 136)
+ { 0, { 0, 0, 0}}, // (108, 136)
+ { 0, { 0, 0, 0}}, // (109, 136)
+ { 0, { 0, 0, 0}}, // (110, 136)
+ { 0, { 0, 0, 0}}, // (111, 136)
+ { 0, { 0, 0, 0}}, // (112, 136)
+ { 0, { 0, 0, 0}}, // (113, 136)
+ { 0, { 0, 0, 0}}, // (114, 136)
+ { 0, { 0, 0, 0}}, // (115, 136)
+ { 0, { 0, 0, 0}}, // (116, 136)
+ { 0, { 0, 0, 0}}, // (117, 136)
+ { 0, { 0, 0, 0}}, // (118, 136)
+ { 0, { 0, 0, 0}}, // (119, 136)
+ { 0, { 0, 0, 0}}, // (120, 136)
+ { 0, { 0, 0, 0}}, // (121, 136)
+ { 0, { 0, 0, 0}}, // (122, 136)
+ { 0, { 0, 0, 0}}, // (123, 136)
+ { 0, { 0, 0, 0}}, // (124, 136)
+ { 0, { 0, 0, 0}}, // (125, 136)
+ { 0, { 0, 0, 0}}, // (126, 136)
+ { 0, { 0, 0, 0}}, // (127, 136)
+ { 0, { 0, 0, 0}}, // (128, 136)
+ { 0, { 0, 0, 0}}, // (129, 136)
+ { 0, { 0, 0, 0}}, // (130, 136)
+ { 0, { 0, 0, 0}}, // (131, 136)
+ { 0, { 0, 0, 0}}, // (132, 136)
+ { 0, { 0, 0, 0}}, // (133, 136)
+ { 0, { 0, 0, 0}}, // (134, 136)
+ { 0, { 0, 0, 0}}, // (135, 136)
+ { 0, { 0, 0, 0}}, // (136, 136)
+ { 0, { 0, 0, 0}}, // (137, 136)
+ { 0, { 0, 0, 0}}, // (138, 136)
+ { 0, { 0, 0, 0}}, // (139, 136)
+ { 0, { 0, 0, 0}}, // (140, 136)
+ { 0, { 0, 0, 0}}, // (141, 136)
+ { 0, { 0, 0, 0}}, // (142, 136)
+ { 0, { 0, 0, 0}}, // (143, 136)
+ { 0, { 0, 0, 0}}, // (144, 136)
+ { 0, { 0, 0, 0}}, // (145, 136)
+ { 0, { 0, 0, 0}}, // (146, 136)
+ { 0, { 0, 0, 0}}, // (147, 136)
+ { 0, { 0, 0, 0}}, // (148, 136)
+ { 0, { 0, 0, 0}}, // (149, 136)
+ { 0, { 0, 0, 0}}, // (150, 136)
+ { 0, { 0, 0, 0}}, // (151, 136)
+ { 0, { 0, 0, 0}}, // (152, 136)
+ { 0, { 0, 0, 0}}, // (153, 136)
+ { 0, { 0, 0, 0}}, // (154, 136)
+ { 0, { 0, 0, 0}}, // (155, 136)
+ { 0, { 0, 0, 0}}, // (156, 136)
+ { 0, { 0, 0, 0}}, // (157, 136)
+ { 0, { 0, 0, 0}}, // (158, 136)
+ { 0, { 0, 0, 0}}, // (159, 136)
+ { 0, { 0, 0, 0}}, // (160, 136)
+ { 0, { 0, 0, 0}}, // (161, 136)
+ { 0, { 0, 0, 0}}, // (162, 136)
+ { 0, { 0, 0, 0}}, // (163, 136)
+ { 38, { 0, 0, 0}}, // (164, 136)
+ {128, { 0, 0, 0}}, // (165, 136)
+ {128, { 0, 0, 0}}, // (166, 136)
+ {128, { 0, 0, 0}}, // (167, 136)
+ {128, { 0, 0, 0}}, // (168, 136)
+ {128, { 0, 0, 0}}, // (169, 136)
+ {128, { 0, 0, 0}}, // (170, 136)
+ {128, { 0, 0, 0}}, // (171, 136)
+ {128, { 0, 0, 0}}, // (172, 136)
+ {128, { 0, 0, 0}}, // (173, 136)
+ {128, { 0, 0, 0}}, // (174, 136)
+ {128, { 0, 0, 0}}, // (175, 136)
+ {128, { 0, 0, 0}}, // (176, 136)
+ {128, { 0, 0, 0}}, // (177, 136)
+ {128, { 0, 0, 0}}, // (178, 136)
+ {128, { 0, 0, 0}}, // (179, 136)
+ {128, { 0, 0, 0}}, // ( 0, 137)
+ {128, { 0, 0, 0}}, // ( 1, 137)
+ {128, { 0, 0, 0}}, // ( 2, 137)
+ {128, { 0, 0, 0}}, // ( 3, 137)
+ {128, { 0, 0, 0}}, // ( 4, 137)
+ {128, { 0, 0, 0}}, // ( 5, 137)
+ {128, { 0, 0, 0}}, // ( 6, 137)
+ {128, { 0, 0, 0}}, // ( 7, 137)
+ {128, { 0, 0, 0}}, // ( 8, 137)
+ {128, { 0, 0, 0}}, // ( 9, 137)
+ {128, { 0, 0, 0}}, // ( 10, 137)
+ {128, { 0, 0, 0}}, // ( 11, 137)
+ {128, { 0, 0, 0}}, // ( 12, 137)
+ {128, { 0, 0, 0}}, // ( 13, 137)
+ {128, { 0, 0, 0}}, // ( 14, 137)
+ {113, { 0, 0, 0}}, // ( 15, 137)
+ { 7, { 0, 0, 0}}, // ( 16, 137)
+ { 0, { 0, 0, 0}}, // ( 17, 137)
+ { 0, { 0, 0, 0}}, // ( 18, 137)
+ { 0, { 0, 0, 0}}, // ( 19, 137)
+ { 0, { 0, 0, 0}}, // ( 20, 137)
+ { 0, { 0, 0, 0}}, // ( 21, 137)
+ { 0, { 0, 0, 0}}, // ( 22, 137)
+ { 0, { 0, 0, 0}}, // ( 23, 137)
+ { 0, { 0, 0, 0}}, // ( 24, 137)
+ { 0, { 0, 0, 0}}, // ( 25, 137)
+ { 0, { 0, 0, 0}}, // ( 26, 137)
+ { 0, { 0, 0, 0}}, // ( 27, 137)
+ { 0, { 0, 0, 0}}, // ( 28, 137)
+ { 0, { 0, 0, 0}}, // ( 29, 137)
+ { 0, { 0, 0, 0}}, // ( 30, 137)
+ { 0, { 0, 0, 0}}, // ( 31, 137)
+ { 0, { 0, 0, 0}}, // ( 32, 137)
+ { 0, { 0, 0, 0}}, // ( 33, 137)
+ { 0, { 0, 0, 0}}, // ( 34, 137)
+ { 0, { 0, 0, 0}}, // ( 35, 137)
+ { 0, { 0, 0, 0}}, // ( 36, 137)
+ { 0, { 0, 0, 0}}, // ( 37, 137)
+ { 0, { 0, 0, 0}}, // ( 38, 137)
+ { 0, { 0, 0, 0}}, // ( 39, 137)
+ { 0, { 0, 0, 0}}, // ( 40, 137)
+ { 0, { 0, 0, 0}}, // ( 41, 137)
+ { 0, { 0, 0, 0}}, // ( 42, 137)
+ { 0, { 0, 0, 0}}, // ( 43, 137)
+ { 0, { 0, 0, 0}}, // ( 44, 137)
+ { 0, { 0, 0, 0}}, // ( 45, 137)
+ { 0, { 0, 0, 0}}, // ( 46, 137)
+ { 0, { 0, 0, 0}}, // ( 47, 137)
+ { 0, { 0, 0, 0}}, // ( 48, 137)
+ { 0, { 0, 0, 0}}, // ( 49, 137)
+ { 0, { 0, 0, 0}}, // ( 50, 137)
+ { 0, { 0, 0, 0}}, // ( 51, 137)
+ { 0, { 0, 0, 0}}, // ( 52, 137)
+ { 0, { 0, 0, 0}}, // ( 53, 137)
+ { 0, { 0, 0, 0}}, // ( 54, 137)
+ { 0, { 0, 0, 0}}, // ( 55, 137)
+ { 0, { 0, 0, 0}}, // ( 56, 137)
+ { 0, { 0, 0, 0}}, // ( 57, 137)
+ { 0, { 0, 0, 0}}, // ( 58, 137)
+ { 0, { 0, 0, 0}}, // ( 59, 137)
+ { 0, { 0, 0, 0}}, // ( 60, 137)
+ { 0, { 0, 0, 0}}, // ( 61, 137)
+ { 0, { 0, 0, 0}}, // ( 62, 137)
+ { 0, { 0, 0, 0}}, // ( 63, 137)
+ { 0, { 0, 0, 0}}, // ( 64, 137)
+ { 0, { 0, 0, 0}}, // ( 65, 137)
+ { 0, { 0, 0, 0}}, // ( 66, 137)
+ { 0, { 0, 0, 0}}, // ( 67, 137)
+ { 0, { 0, 0, 0}}, // ( 68, 137)
+ { 0, { 0, 0, 0}}, // ( 69, 137)
+ { 0, { 0, 0, 0}}, // ( 70, 137)
+ { 0, { 0, 0, 0}}, // ( 71, 137)
+ { 0, { 0, 0, 0}}, // ( 72, 137)
+ { 0, { 0, 0, 0}}, // ( 73, 137)
+ { 0, { 0, 0, 0}}, // ( 74, 137)
+ { 0, { 0, 0, 0}}, // ( 75, 137)
+ { 0, { 0, 0, 0}}, // ( 76, 137)
+ { 0, { 0, 0, 0}}, // ( 77, 137)
+ { 0, { 0, 0, 0}}, // ( 78, 137)
+ { 0, { 0, 0, 0}}, // ( 79, 137)
+ { 0, { 0, 0, 0}}, // ( 80, 137)
+ { 0, { 0, 0, 0}}, // ( 81, 137)
+ { 0, { 0, 0, 0}}, // ( 82, 137)
+ { 0, { 0, 0, 0}}, // ( 83, 137)
+ { 0, { 0, 0, 0}}, // ( 84, 137)
+ { 0, { 0, 0, 0}}, // ( 85, 137)
+ { 0, { 0, 0, 0}}, // ( 86, 137)
+ { 0, { 0, 0, 0}}, // ( 87, 137)
+ { 0, { 0, 0, 0}}, // ( 88, 137)
+ { 0, { 0, 0, 0}}, // ( 89, 137)
+ { 0, { 0, 0, 0}}, // ( 90, 137)
+ { 0, { 0, 0, 0}}, // ( 91, 137)
+ { 0, { 0, 0, 0}}, // ( 92, 137)
+ { 0, { 0, 0, 0}}, // ( 93, 137)
+ { 0, { 0, 0, 0}}, // ( 94, 137)
+ { 0, { 0, 0, 0}}, // ( 95, 137)
+ { 0, { 0, 0, 0}}, // ( 96, 137)
+ { 0, { 0, 0, 0}}, // ( 97, 137)
+ { 0, { 0, 0, 0}}, // ( 98, 137)
+ { 0, { 0, 0, 0}}, // ( 99, 137)
+ { 0, { 0, 0, 0}}, // (100, 137)
+ { 0, { 0, 0, 0}}, // (101, 137)
+ { 0, { 0, 0, 0}}, // (102, 137)
+ { 0, { 0, 0, 0}}, // (103, 137)
+ { 0, { 0, 0, 0}}, // (104, 137)
+ { 0, { 0, 0, 0}}, // (105, 137)
+ { 0, { 0, 0, 0}}, // (106, 137)
+ { 0, { 0, 0, 0}}, // (107, 137)
+ { 0, { 0, 0, 0}}, // (108, 137)
+ { 0, { 0, 0, 0}}, // (109, 137)
+ { 0, { 0, 0, 0}}, // (110, 137)
+ { 0, { 0, 0, 0}}, // (111, 137)
+ { 0, { 0, 0, 0}}, // (112, 137)
+ { 0, { 0, 0, 0}}, // (113, 137)
+ { 0, { 0, 0, 0}}, // (114, 137)
+ { 0, { 0, 0, 0}}, // (115, 137)
+ { 0, { 0, 0, 0}}, // (116, 137)
+ { 0, { 0, 0, 0}}, // (117, 137)
+ { 0, { 0, 0, 0}}, // (118, 137)
+ { 0, { 0, 0, 0}}, // (119, 137)
+ { 0, { 0, 0, 0}}, // (120, 137)
+ { 0, { 0, 0, 0}}, // (121, 137)
+ { 0, { 0, 0, 0}}, // (122, 137)
+ { 0, { 0, 0, 0}}, // (123, 137)
+ { 0, { 0, 0, 0}}, // (124, 137)
+ { 0, { 0, 0, 0}}, // (125, 137)
+ { 0, { 0, 0, 0}}, // (126, 137)
+ { 0, { 0, 0, 0}}, // (127, 137)
+ { 0, { 0, 0, 0}}, // (128, 137)
+ { 0, { 0, 0, 0}}, // (129, 137)
+ { 0, { 0, 0, 0}}, // (130, 137)
+ { 0, { 0, 0, 0}}, // (131, 137)
+ { 0, { 0, 0, 0}}, // (132, 137)
+ { 0, { 0, 0, 0}}, // (133, 137)
+ { 0, { 0, 0, 0}}, // (134, 137)
+ { 0, { 0, 0, 0}}, // (135, 137)
+ { 0, { 0, 0, 0}}, // (136, 137)
+ { 0, { 0, 0, 0}}, // (137, 137)
+ { 0, { 0, 0, 0}}, // (138, 137)
+ { 0, { 0, 0, 0}}, // (139, 137)
+ { 0, { 0, 0, 0}}, // (140, 137)
+ { 0, { 0, 0, 0}}, // (141, 137)
+ { 0, { 0, 0, 0}}, // (142, 137)
+ { 0, { 0, 0, 0}}, // (143, 137)
+ { 0, { 0, 0, 0}}, // (144, 137)
+ { 0, { 0, 0, 0}}, // (145, 137)
+ { 0, { 0, 0, 0}}, // (146, 137)
+ { 0, { 0, 0, 0}}, // (147, 137)
+ { 0, { 0, 0, 0}}, // (148, 137)
+ { 0, { 0, 0, 0}}, // (149, 137)
+ { 0, { 0, 0, 0}}, // (150, 137)
+ { 0, { 0, 0, 0}}, // (151, 137)
+ { 0, { 0, 0, 0}}, // (152, 137)
+ { 0, { 0, 0, 0}}, // (153, 137)
+ { 0, { 0, 0, 0}}, // (154, 137)
+ { 0, { 0, 0, 0}}, // (155, 137)
+ { 0, { 0, 0, 0}}, // (156, 137)
+ { 0, { 0, 0, 0}}, // (157, 137)
+ { 0, { 0, 0, 0}}, // (158, 137)
+ { 0, { 0, 0, 0}}, // (159, 137)
+ { 0, { 0, 0, 0}}, // (160, 137)
+ { 0, { 0, 0, 0}}, // (161, 137)
+ { 0, { 0, 0, 0}}, // (162, 137)
+ { 7, { 0, 0, 0}}, // (163, 137)
+ {113, { 0, 0, 0}}, // (164, 137)
+ {128, { 0, 0, 0}}, // (165, 137)
+ {128, { 0, 0, 0}}, // (166, 137)
+ {128, { 0, 0, 0}}, // (167, 137)
+ {128, { 0, 0, 0}}, // (168, 137)
+ {128, { 0, 0, 0}}, // (169, 137)
+ {128, { 0, 0, 0}}, // (170, 137)
+ {128, { 0, 0, 0}}, // (171, 137)
+ {128, { 0, 0, 0}}, // (172, 137)
+ {128, { 0, 0, 0}}, // (173, 137)
+ {128, { 0, 0, 0}}, // (174, 137)
+ {128, { 0, 0, 0}}, // (175, 137)
+ {128, { 0, 0, 0}}, // (176, 137)
+ {128, { 0, 0, 0}}, // (177, 137)
+ {128, { 0, 0, 0}}, // (178, 137)
+ {128, { 0, 0, 0}}, // (179, 137)
+ {128, { 0, 0, 0}}, // ( 0, 138)
+ {128, { 0, 0, 0}}, // ( 1, 138)
+ {128, { 0, 0, 0}}, // ( 2, 138)
+ {128, { 0, 0, 0}}, // ( 3, 138)
+ {128, { 0, 0, 0}}, // ( 4, 138)
+ {128, { 0, 0, 0}}, // ( 5, 138)
+ {128, { 0, 0, 0}}, // ( 6, 138)
+ {128, { 0, 0, 0}}, // ( 7, 138)
+ {128, { 0, 0, 0}}, // ( 8, 138)
+ {128, { 0, 0, 0}}, // ( 9, 138)
+ {128, { 0, 0, 0}}, // ( 10, 138)
+ {128, { 0, 0, 0}}, // ( 11, 138)
+ {128, { 0, 0, 0}}, // ( 12, 138)
+ {128, { 0, 0, 0}}, // ( 13, 138)
+ {128, { 0, 0, 0}}, // ( 14, 138)
+ {128, { 0, 0, 0}}, // ( 15, 138)
+ { 74, { 0, 0, 0}}, // ( 16, 138)
+ { 0, { 0, 0, 0}}, // ( 17, 138)
+ { 0, { 0, 0, 0}}, // ( 18, 138)
+ { 0, { 0, 0, 0}}, // ( 19, 138)
+ { 0, { 0, 0, 0}}, // ( 20, 138)
+ { 0, { 0, 0, 0}}, // ( 21, 138)
+ { 0, { 0, 0, 0}}, // ( 22, 138)
+ { 0, { 0, 0, 0}}, // ( 23, 138)
+ { 0, { 0, 0, 0}}, // ( 24, 138)
+ { 0, { 0, 0, 0}}, // ( 25, 138)
+ { 0, { 0, 0, 0}}, // ( 26, 138)
+ { 0, { 0, 0, 0}}, // ( 27, 138)
+ { 0, { 0, 0, 0}}, // ( 28, 138)
+ { 0, { 0, 0, 0}}, // ( 29, 138)
+ { 0, { 0, 0, 0}}, // ( 30, 138)
+ { 0, { 0, 0, 0}}, // ( 31, 138)
+ { 0, { 0, 0, 0}}, // ( 32, 138)
+ { 0, { 0, 0, 0}}, // ( 33, 138)
+ { 0, { 0, 0, 0}}, // ( 34, 138)
+ { 0, { 0, 0, 0}}, // ( 35, 138)
+ { 0, { 0, 0, 0}}, // ( 36, 138)
+ { 0, { 0, 0, 0}}, // ( 37, 138)
+ { 0, { 0, 0, 0}}, // ( 38, 138)
+ { 0, { 0, 0, 0}}, // ( 39, 138)
+ { 0, { 0, 0, 0}}, // ( 40, 138)
+ { 0, { 0, 0, 0}}, // ( 41, 138)
+ { 0, { 0, 0, 0}}, // ( 42, 138)
+ { 0, { 0, 0, 0}}, // ( 43, 138)
+ { 0, { 0, 0, 0}}, // ( 44, 138)
+ { 0, { 0, 0, 0}}, // ( 45, 138)
+ { 0, { 0, 0, 0}}, // ( 46, 138)
+ { 0, { 0, 0, 0}}, // ( 47, 138)
+ { 0, { 0, 0, 0}}, // ( 48, 138)
+ { 0, { 0, 0, 0}}, // ( 49, 138)
+ { 0, { 0, 0, 0}}, // ( 50, 138)
+ { 0, { 0, 0, 0}}, // ( 51, 138)
+ { 0, { 0, 0, 0}}, // ( 52, 138)
+ { 0, { 0, 0, 0}}, // ( 53, 138)
+ { 0, { 0, 0, 0}}, // ( 54, 138)
+ { 0, { 0, 0, 0}}, // ( 55, 138)
+ { 0, { 0, 0, 0}}, // ( 56, 138)
+ { 0, { 0, 0, 0}}, // ( 57, 138)
+ { 0, { 0, 0, 0}}, // ( 58, 138)
+ { 0, { 0, 0, 0}}, // ( 59, 138)
+ { 0, { 0, 0, 0}}, // ( 60, 138)
+ { 0, { 0, 0, 0}}, // ( 61, 138)
+ { 0, { 0, 0, 0}}, // ( 62, 138)
+ { 0, { 0, 0, 0}}, // ( 63, 138)
+ { 0, { 0, 0, 0}}, // ( 64, 138)
+ { 0, { 0, 0, 0}}, // ( 65, 138)
+ { 0, { 0, 0, 0}}, // ( 66, 138)
+ { 0, { 0, 0, 0}}, // ( 67, 138)
+ { 0, { 0, 0, 0}}, // ( 68, 138)
+ { 0, { 0, 0, 0}}, // ( 69, 138)
+ { 0, { 0, 0, 0}}, // ( 70, 138)
+ { 0, { 0, 0, 0}}, // ( 71, 138)
+ { 0, { 0, 0, 0}}, // ( 72, 138)
+ { 0, { 0, 0, 0}}, // ( 73, 138)
+ { 0, { 0, 0, 0}}, // ( 74, 138)
+ { 0, { 0, 0, 0}}, // ( 75, 138)
+ { 0, { 0, 0, 0}}, // ( 76, 138)
+ { 0, { 0, 0, 0}}, // ( 77, 138)
+ { 0, { 0, 0, 0}}, // ( 78, 138)
+ { 0, { 0, 0, 0}}, // ( 79, 138)
+ { 0, { 0, 0, 0}}, // ( 80, 138)
+ { 0, { 0, 0, 0}}, // ( 81, 138)
+ { 0, { 0, 0, 0}}, // ( 82, 138)
+ { 0, { 0, 0, 0}}, // ( 83, 138)
+ { 0, { 0, 0, 0}}, // ( 84, 138)
+ { 0, { 0, 0, 0}}, // ( 85, 138)
+ { 0, { 0, 0, 0}}, // ( 86, 138)
+ { 0, { 0, 0, 0}}, // ( 87, 138)
+ { 0, { 0, 0, 0}}, // ( 88, 138)
+ { 0, { 0, 0, 0}}, // ( 89, 138)
+ { 0, { 0, 0, 0}}, // ( 90, 138)
+ { 0, { 0, 0, 0}}, // ( 91, 138)
+ { 0, { 0, 0, 0}}, // ( 92, 138)
+ { 0, { 0, 0, 0}}, // ( 93, 138)
+ { 0, { 0, 0, 0}}, // ( 94, 138)
+ { 0, { 0, 0, 0}}, // ( 95, 138)
+ { 0, { 0, 0, 0}}, // ( 96, 138)
+ { 0, { 0, 0, 0}}, // ( 97, 138)
+ { 0, { 0, 0, 0}}, // ( 98, 138)
+ { 0, { 0, 0, 0}}, // ( 99, 138)
+ { 0, { 0, 0, 0}}, // (100, 138)
+ { 0, { 0, 0, 0}}, // (101, 138)
+ { 0, { 0, 0, 0}}, // (102, 138)
+ { 0, { 0, 0, 0}}, // (103, 138)
+ { 0, { 0, 0, 0}}, // (104, 138)
+ { 0, { 0, 0, 0}}, // (105, 138)
+ { 0, { 0, 0, 0}}, // (106, 138)
+ { 0, { 0, 0, 0}}, // (107, 138)
+ { 0, { 0, 0, 0}}, // (108, 138)
+ { 0, { 0, 0, 0}}, // (109, 138)
+ { 0, { 0, 0, 0}}, // (110, 138)
+ { 0, { 0, 0, 0}}, // (111, 138)
+ { 0, { 0, 0, 0}}, // (112, 138)
+ { 0, { 0, 0, 0}}, // (113, 138)
+ { 0, { 0, 0, 0}}, // (114, 138)
+ { 0, { 0, 0, 0}}, // (115, 138)
+ { 0, { 0, 0, 0}}, // (116, 138)
+ { 0, { 0, 0, 0}}, // (117, 138)
+ { 0, { 0, 0, 0}}, // (118, 138)
+ { 0, { 0, 0, 0}}, // (119, 138)
+ { 0, { 0, 0, 0}}, // (120, 138)
+ { 0, { 0, 0, 0}}, // (121, 138)
+ { 0, { 0, 0, 0}}, // (122, 138)
+ { 0, { 0, 0, 0}}, // (123, 138)
+ { 0, { 0, 0, 0}}, // (124, 138)
+ { 0, { 0, 0, 0}}, // (125, 138)
+ { 0, { 0, 0, 0}}, // (126, 138)
+ { 0, { 0, 0, 0}}, // (127, 138)
+ { 0, { 0, 0, 0}}, // (128, 138)
+ { 0, { 0, 0, 0}}, // (129, 138)
+ { 0, { 0, 0, 0}}, // (130, 138)
+ { 0, { 0, 0, 0}}, // (131, 138)
+ { 0, { 0, 0, 0}}, // (132, 138)
+ { 0, { 0, 0, 0}}, // (133, 138)
+ { 0, { 0, 0, 0}}, // (134, 138)
+ { 0, { 0, 0, 0}}, // (135, 138)
+ { 0, { 0, 0, 0}}, // (136, 138)
+ { 0, { 0, 0, 0}}, // (137, 138)
+ { 0, { 0, 0, 0}}, // (138, 138)
+ { 0, { 0, 0, 0}}, // (139, 138)
+ { 0, { 0, 0, 0}}, // (140, 138)
+ { 0, { 0, 0, 0}}, // (141, 138)
+ { 0, { 0, 0, 0}}, // (142, 138)
+ { 0, { 0, 0, 0}}, // (143, 138)
+ { 0, { 0, 0, 0}}, // (144, 138)
+ { 0, { 0, 0, 0}}, // (145, 138)
+ { 0, { 0, 0, 0}}, // (146, 138)
+ { 0, { 0, 0, 0}}, // (147, 138)
+ { 0, { 0, 0, 0}}, // (148, 138)
+ { 0, { 0, 0, 0}}, // (149, 138)
+ { 0, { 0, 0, 0}}, // (150, 138)
+ { 0, { 0, 0, 0}}, // (151, 138)
+ { 0, { 0, 0, 0}}, // (152, 138)
+ { 0, { 0, 0, 0}}, // (153, 138)
+ { 0, { 0, 0, 0}}, // (154, 138)
+ { 0, { 0, 0, 0}}, // (155, 138)
+ { 0, { 0, 0, 0}}, // (156, 138)
+ { 0, { 0, 0, 0}}, // (157, 138)
+ { 0, { 0, 0, 0}}, // (158, 138)
+ { 0, { 0, 0, 0}}, // (159, 138)
+ { 0, { 0, 0, 0}}, // (160, 138)
+ { 0, { 0, 0, 0}}, // (161, 138)
+ { 0, { 0, 0, 0}}, // (162, 138)
+ { 74, { 0, 0, 0}}, // (163, 138)
+ {128, { 0, 0, 0}}, // (164, 138)
+ {128, { 0, 0, 0}}, // (165, 138)
+ {128, { 0, 0, 0}}, // (166, 138)
+ {128, { 0, 0, 0}}, // (167, 138)
+ {128, { 0, 0, 0}}, // (168, 138)
+ {128, { 0, 0, 0}}, // (169, 138)
+ {128, { 0, 0, 0}}, // (170, 138)
+ {128, { 0, 0, 0}}, // (171, 138)
+ {128, { 0, 0, 0}}, // (172, 138)
+ {128, { 0, 0, 0}}, // (173, 138)
+ {128, { 0, 0, 0}}, // (174, 138)
+ {128, { 0, 0, 0}}, // (175, 138)
+ {128, { 0, 0, 0}}, // (176, 138)
+ {128, { 0, 0, 0}}, // (177, 138)
+ {128, { 0, 0, 0}}, // (178, 138)
+ {128, { 0, 0, 0}}, // (179, 138)
+ {128, { 0, 0, 0}}, // ( 0, 139)
+ {128, { 0, 0, 0}}, // ( 1, 139)
+ {128, { 0, 0, 0}}, // ( 2, 139)
+ {128, { 0, 0, 0}}, // ( 3, 139)
+ {128, { 0, 0, 0}}, // ( 4, 139)
+ {128, { 0, 0, 0}}, // ( 5, 139)
+ {128, { 0, 0, 0}}, // ( 6, 139)
+ {128, { 0, 0, 0}}, // ( 7, 139)
+ {128, { 0, 0, 0}}, // ( 8, 139)
+ {128, { 0, 0, 0}}, // ( 9, 139)
+ {128, { 0, 0, 0}}, // ( 10, 139)
+ {128, { 0, 0, 0}}, // ( 11, 139)
+ {128, { 0, 0, 0}}, // ( 12, 139)
+ {128, { 0, 0, 0}}, // ( 13, 139)
+ {128, { 0, 0, 0}}, // ( 14, 139)
+ {128, { 0, 0, 0}}, // ( 15, 139)
+ {127, { 0, 0, 0}}, // ( 16, 139)
+ { 32, { 0, 0, 0}}, // ( 17, 139)
+ { 0, { 0, 0, 0}}, // ( 18, 139)
+ { 0, { 0, 0, 0}}, // ( 19, 139)
+ { 0, { 0, 0, 0}}, // ( 20, 139)
+ { 0, { 0, 0, 0}}, // ( 21, 139)
+ { 0, { 0, 0, 0}}, // ( 22, 139)
+ { 0, { 0, 0, 0}}, // ( 23, 139)
+ { 0, { 0, 0, 0}}, // ( 24, 139)
+ { 0, { 0, 0, 0}}, // ( 25, 139)
+ { 0, { 0, 0, 0}}, // ( 26, 139)
+ { 0, { 0, 0, 0}}, // ( 27, 139)
+ { 0, { 0, 0, 0}}, // ( 28, 139)
+ { 0, { 0, 0, 0}}, // ( 29, 139)
+ { 0, { 0, 0, 0}}, // ( 30, 139)
+ { 0, { 0, 0, 0}}, // ( 31, 139)
+ { 0, { 0, 0, 0}}, // ( 32, 139)
+ { 0, { 0, 0, 0}}, // ( 33, 139)
+ { 0, { 0, 0, 0}}, // ( 34, 139)
+ { 0, { 0, 0, 0}}, // ( 35, 139)
+ { 0, { 0, 0, 0}}, // ( 36, 139)
+ { 0, { 0, 0, 0}}, // ( 37, 139)
+ { 0, { 0, 0, 0}}, // ( 38, 139)
+ { 0, { 0, 0, 0}}, // ( 39, 139)
+ { 0, { 0, 0, 0}}, // ( 40, 139)
+ { 0, { 0, 0, 0}}, // ( 41, 139)
+ { 0, { 0, 0, 0}}, // ( 42, 139)
+ { 0, { 0, 0, 0}}, // ( 43, 139)
+ { 0, { 0, 0, 0}}, // ( 44, 139)
+ { 0, { 0, 0, 0}}, // ( 45, 139)
+ { 0, { 0, 0, 0}}, // ( 46, 139)
+ { 0, { 0, 0, 0}}, // ( 47, 139)
+ { 0, { 0, 0, 0}}, // ( 48, 139)
+ { 0, { 0, 0, 0}}, // ( 49, 139)
+ { 0, { 0, 0, 0}}, // ( 50, 139)
+ { 0, { 0, 0, 0}}, // ( 51, 139)
+ { 0, { 0, 0, 0}}, // ( 52, 139)
+ { 0, { 0, 0, 0}}, // ( 53, 139)
+ { 0, { 0, 0, 0}}, // ( 54, 139)
+ { 0, { 0, 0, 0}}, // ( 55, 139)
+ { 0, { 0, 0, 0}}, // ( 56, 139)
+ { 0, { 0, 0, 0}}, // ( 57, 139)
+ { 0, { 0, 0, 0}}, // ( 58, 139)
+ { 0, { 0, 0, 0}}, // ( 59, 139)
+ { 0, { 0, 0, 0}}, // ( 60, 139)
+ { 0, { 0, 0, 0}}, // ( 61, 139)
+ { 0, { 0, 0, 0}}, // ( 62, 139)
+ { 0, { 0, 0, 0}}, // ( 63, 139)
+ { 0, { 0, 0, 0}}, // ( 64, 139)
+ { 0, { 0, 0, 0}}, // ( 65, 139)
+ { 0, { 0, 0, 0}}, // ( 66, 139)
+ { 0, { 0, 0, 0}}, // ( 67, 139)
+ { 0, { 0, 0, 0}}, // ( 68, 139)
+ { 0, { 0, 0, 0}}, // ( 69, 139)
+ { 0, { 0, 0, 0}}, // ( 70, 139)
+ { 0, { 0, 0, 0}}, // ( 71, 139)
+ { 0, { 0, 0, 0}}, // ( 72, 139)
+ { 0, { 0, 0, 0}}, // ( 73, 139)
+ { 0, { 0, 0, 0}}, // ( 74, 139)
+ { 0, { 0, 0, 0}}, // ( 75, 139)
+ { 0, { 0, 0, 0}}, // ( 76, 139)
+ { 0, { 0, 0, 0}}, // ( 77, 139)
+ { 0, { 0, 0, 0}}, // ( 78, 139)
+ { 0, { 0, 0, 0}}, // ( 79, 139)
+ { 0, { 0, 0, 0}}, // ( 80, 139)
+ { 0, { 0, 0, 0}}, // ( 81, 139)
+ { 0, { 0, 0, 0}}, // ( 82, 139)
+ { 0, { 0, 0, 0}}, // ( 83, 139)
+ { 0, { 0, 0, 0}}, // ( 84, 139)
+ { 0, { 0, 0, 0}}, // ( 85, 139)
+ { 0, { 0, 0, 0}}, // ( 86, 139)
+ { 0, { 0, 0, 0}}, // ( 87, 139)
+ { 0, { 0, 0, 0}}, // ( 88, 139)
+ { 0, { 0, 0, 0}}, // ( 89, 139)
+ { 0, { 0, 0, 0}}, // ( 90, 139)
+ { 0, { 0, 0, 0}}, // ( 91, 139)
+ { 0, { 0, 0, 0}}, // ( 92, 139)
+ { 0, { 0, 0, 0}}, // ( 93, 139)
+ { 0, { 0, 0, 0}}, // ( 94, 139)
+ { 0, { 0, 0, 0}}, // ( 95, 139)
+ { 0, { 0, 0, 0}}, // ( 96, 139)
+ { 0, { 0, 0, 0}}, // ( 97, 139)
+ { 0, { 0, 0, 0}}, // ( 98, 139)
+ { 0, { 0, 0, 0}}, // ( 99, 139)
+ { 0, { 0, 0, 0}}, // (100, 139)
+ { 0, { 0, 0, 0}}, // (101, 139)
+ { 0, { 0, 0, 0}}, // (102, 139)
+ { 0, { 0, 0, 0}}, // (103, 139)
+ { 0, { 0, 0, 0}}, // (104, 139)
+ { 0, { 0, 0, 0}}, // (105, 139)
+ { 0, { 0, 0, 0}}, // (106, 139)
+ { 0, { 0, 0, 0}}, // (107, 139)
+ { 0, { 0, 0, 0}}, // (108, 139)
+ { 0, { 0, 0, 0}}, // (109, 139)
+ { 0, { 0, 0, 0}}, // (110, 139)
+ { 0, { 0, 0, 0}}, // (111, 139)
+ { 0, { 0, 0, 0}}, // (112, 139)
+ { 0, { 0, 0, 0}}, // (113, 139)
+ { 0, { 0, 0, 0}}, // (114, 139)
+ { 0, { 0, 0, 0}}, // (115, 139)
+ { 0, { 0, 0, 0}}, // (116, 139)
+ { 0, { 0, 0, 0}}, // (117, 139)
+ { 0, { 0, 0, 0}}, // (118, 139)
+ { 0, { 0, 0, 0}}, // (119, 139)
+ { 0, { 0, 0, 0}}, // (120, 139)
+ { 0, { 0, 0, 0}}, // (121, 139)
+ { 0, { 0, 0, 0}}, // (122, 139)
+ { 0, { 0, 0, 0}}, // (123, 139)
+ { 0, { 0, 0, 0}}, // (124, 139)
+ { 0, { 0, 0, 0}}, // (125, 139)
+ { 0, { 0, 0, 0}}, // (126, 139)
+ { 0, { 0, 0, 0}}, // (127, 139)
+ { 0, { 0, 0, 0}}, // (128, 139)
+ { 0, { 0, 0, 0}}, // (129, 139)
+ { 0, { 0, 0, 0}}, // (130, 139)
+ { 0, { 0, 0, 0}}, // (131, 139)
+ { 0, { 0, 0, 0}}, // (132, 139)
+ { 0, { 0, 0, 0}}, // (133, 139)
+ { 0, { 0, 0, 0}}, // (134, 139)
+ { 0, { 0, 0, 0}}, // (135, 139)
+ { 0, { 0, 0, 0}}, // (136, 139)
+ { 0, { 0, 0, 0}}, // (137, 139)
+ { 0, { 0, 0, 0}}, // (138, 139)
+ { 0, { 0, 0, 0}}, // (139, 139)
+ { 0, { 0, 0, 0}}, // (140, 139)
+ { 0, { 0, 0, 0}}, // (141, 139)
+ { 0, { 0, 0, 0}}, // (142, 139)
+ { 0, { 0, 0, 0}}, // (143, 139)
+ { 0, { 0, 0, 0}}, // (144, 139)
+ { 0, { 0, 0, 0}}, // (145, 139)
+ { 0, { 0, 0, 0}}, // (146, 139)
+ { 0, { 0, 0, 0}}, // (147, 139)
+ { 0, { 0, 0, 0}}, // (148, 139)
+ { 0, { 0, 0, 0}}, // (149, 139)
+ { 0, { 0, 0, 0}}, // (150, 139)
+ { 0, { 0, 0, 0}}, // (151, 139)
+ { 0, { 0, 0, 0}}, // (152, 139)
+ { 0, { 0, 0, 0}}, // (153, 139)
+ { 0, { 0, 0, 0}}, // (154, 139)
+ { 0, { 0, 0, 0}}, // (155, 139)
+ { 0, { 0, 0, 0}}, // (156, 139)
+ { 0, { 0, 0, 0}}, // (157, 139)
+ { 0, { 0, 0, 0}}, // (158, 139)
+ { 0, { 0, 0, 0}}, // (159, 139)
+ { 0, { 0, 0, 0}}, // (160, 139)
+ { 0, { 0, 0, 0}}, // (161, 139)
+ { 32, { 0, 0, 0}}, // (162, 139)
+ {127, { 0, 0, 0}}, // (163, 139)
+ {128, { 0, 0, 0}}, // (164, 139)
+ {128, { 0, 0, 0}}, // (165, 139)
+ {128, { 0, 0, 0}}, // (166, 139)
+ {128, { 0, 0, 0}}, // (167, 139)
+ {128, { 0, 0, 0}}, // (168, 139)
+ {128, { 0, 0, 0}}, // (169, 139)
+ {128, { 0, 0, 0}}, // (170, 139)
+ {128, { 0, 0, 0}}, // (171, 139)
+ {128, { 0, 0, 0}}, // (172, 139)
+ {128, { 0, 0, 0}}, // (173, 139)
+ {128, { 0, 0, 0}}, // (174, 139)
+ {128, { 0, 0, 0}}, // (175, 139)
+ {128, { 0, 0, 0}}, // (176, 139)
+ {128, { 0, 0, 0}}, // (177, 139)
+ {128, { 0, 0, 0}}, // (178, 139)
+ {128, { 0, 0, 0}}, // (179, 139)
+ {128, { 0, 0, 0}}, // ( 0, 140)
+ {128, { 0, 0, 0}}, // ( 1, 140)
+ {128, { 0, 0, 0}}, // ( 2, 140)
+ {128, { 0, 0, 0}}, // ( 3, 140)
+ {128, { 0, 0, 0}}, // ( 4, 140)
+ {128, { 0, 0, 0}}, // ( 5, 140)
+ {128, { 0, 0, 0}}, // ( 6, 140)
+ {128, { 0, 0, 0}}, // ( 7, 140)
+ {128, { 0, 0, 0}}, // ( 8, 140)
+ {128, { 0, 0, 0}}, // ( 9, 140)
+ {128, { 0, 0, 0}}, // ( 10, 140)
+ {128, { 0, 0, 0}}, // ( 11, 140)
+ {128, { 0, 0, 0}}, // ( 12, 140)
+ {128, { 0, 0, 0}}, // ( 13, 140)
+ {128, { 0, 0, 0}}, // ( 14, 140)
+ {128, { 0, 0, 0}}, // ( 15, 140)
+ {128, { 0, 0, 0}}, // ( 16, 140)
+ {113, { 0, 0, 0}}, // ( 17, 140)
+ { 9, { 0, 0, 0}}, // ( 18, 140)
+ { 0, { 0, 0, 0}}, // ( 19, 140)
+ { 0, { 0, 0, 0}}, // ( 20, 140)
+ { 0, { 0, 0, 0}}, // ( 21, 140)
+ { 0, { 0, 0, 0}}, // ( 22, 140)
+ { 0, { 0, 0, 0}}, // ( 23, 140)
+ { 0, { 0, 0, 0}}, // ( 24, 140)
+ { 0, { 0, 0, 0}}, // ( 25, 140)
+ { 0, { 0, 0, 0}}, // ( 26, 140)
+ { 0, { 0, 0, 0}}, // ( 27, 140)
+ { 0, { 0, 0, 0}}, // ( 28, 140)
+ { 0, { 0, 0, 0}}, // ( 29, 140)
+ { 0, { 0, 0, 0}}, // ( 30, 140)
+ { 0, { 0, 0, 0}}, // ( 31, 140)
+ { 0, { 0, 0, 0}}, // ( 32, 140)
+ { 0, { 0, 0, 0}}, // ( 33, 140)
+ { 0, { 0, 0, 0}}, // ( 34, 140)
+ { 0, { 0, 0, 0}}, // ( 35, 140)
+ { 0, { 0, 0, 0}}, // ( 36, 140)
+ { 0, { 0, 0, 0}}, // ( 37, 140)
+ { 0, { 0, 0, 0}}, // ( 38, 140)
+ { 0, { 0, 0, 0}}, // ( 39, 140)
+ { 0, { 0, 0, 0}}, // ( 40, 140)
+ { 0, { 0, 0, 0}}, // ( 41, 140)
+ { 0, { 0, 0, 0}}, // ( 42, 140)
+ { 0, { 0, 0, 0}}, // ( 43, 140)
+ { 0, { 0, 0, 0}}, // ( 44, 140)
+ { 0, { 0, 0, 0}}, // ( 45, 140)
+ { 0, { 0, 0, 0}}, // ( 46, 140)
+ { 0, { 0, 0, 0}}, // ( 47, 140)
+ { 0, { 0, 0, 0}}, // ( 48, 140)
+ { 0, { 0, 0, 0}}, // ( 49, 140)
+ { 0, { 0, 0, 0}}, // ( 50, 140)
+ { 0, { 0, 0, 0}}, // ( 51, 140)
+ { 0, { 0, 0, 0}}, // ( 52, 140)
+ { 0, { 0, 0, 0}}, // ( 53, 140)
+ { 0, { 0, 0, 0}}, // ( 54, 140)
+ { 0, { 0, 0, 0}}, // ( 55, 140)
+ { 0, { 0, 0, 0}}, // ( 56, 140)
+ { 0, { 0, 0, 0}}, // ( 57, 140)
+ { 0, { 0, 0, 0}}, // ( 58, 140)
+ { 0, { 0, 0, 0}}, // ( 59, 140)
+ { 0, { 0, 0, 0}}, // ( 60, 140)
+ { 0, { 0, 0, 0}}, // ( 61, 140)
+ { 0, { 0, 0, 0}}, // ( 62, 140)
+ { 0, { 0, 0, 0}}, // ( 63, 140)
+ { 0, { 0, 0, 0}}, // ( 64, 140)
+ { 0, { 0, 0, 0}}, // ( 65, 140)
+ { 0, { 0, 0, 0}}, // ( 66, 140)
+ { 0, { 0, 0, 0}}, // ( 67, 140)
+ { 0, { 0, 0, 0}}, // ( 68, 140)
+ { 0, { 0, 0, 0}}, // ( 69, 140)
+ { 0, { 0, 0, 0}}, // ( 70, 140)
+ { 0, { 0, 0, 0}}, // ( 71, 140)
+ { 0, { 0, 0, 0}}, // ( 72, 140)
+ { 0, { 0, 0, 0}}, // ( 73, 140)
+ { 0, { 0, 0, 0}}, // ( 74, 140)
+ { 0, { 0, 0, 0}}, // ( 75, 140)
+ { 0, { 0, 0, 0}}, // ( 76, 140)
+ { 0, { 0, 0, 0}}, // ( 77, 140)
+ { 0, { 0, 0, 0}}, // ( 78, 140)
+ { 0, { 0, 0, 0}}, // ( 79, 140)
+ { 0, { 0, 0, 0}}, // ( 80, 140)
+ { 0, { 0, 0, 0}}, // ( 81, 140)
+ { 0, { 0, 0, 0}}, // ( 82, 140)
+ { 0, { 0, 0, 0}}, // ( 83, 140)
+ { 0, { 0, 0, 0}}, // ( 84, 140)
+ { 0, { 0, 0, 0}}, // ( 85, 140)
+ { 0, { 0, 0, 0}}, // ( 86, 140)
+ { 0, { 0, 0, 0}}, // ( 87, 140)
+ { 0, { 0, 0, 0}}, // ( 88, 140)
+ { 0, { 0, 0, 0}}, // ( 89, 140)
+ { 0, { 0, 0, 0}}, // ( 90, 140)
+ { 0, { 0, 0, 0}}, // ( 91, 140)
+ { 0, { 0, 0, 0}}, // ( 92, 140)
+ { 0, { 0, 0, 0}}, // ( 93, 140)
+ { 0, { 0, 0, 0}}, // ( 94, 140)
+ { 0, { 0, 0, 0}}, // ( 95, 140)
+ { 0, { 0, 0, 0}}, // ( 96, 140)
+ { 0, { 0, 0, 0}}, // ( 97, 140)
+ { 0, { 0, 0, 0}}, // ( 98, 140)
+ { 0, { 0, 0, 0}}, // ( 99, 140)
+ { 0, { 0, 0, 0}}, // (100, 140)
+ { 0, { 0, 0, 0}}, // (101, 140)
+ { 0, { 0, 0, 0}}, // (102, 140)
+ { 0, { 0, 0, 0}}, // (103, 140)
+ { 0, { 0, 0, 0}}, // (104, 140)
+ { 0, { 0, 0, 0}}, // (105, 140)
+ { 0, { 0, 0, 0}}, // (106, 140)
+ { 0, { 0, 0, 0}}, // (107, 140)
+ { 0, { 0, 0, 0}}, // (108, 140)
+ { 0, { 0, 0, 0}}, // (109, 140)
+ { 0, { 0, 0, 0}}, // (110, 140)
+ { 0, { 0, 0, 0}}, // (111, 140)
+ { 0, { 0, 0, 0}}, // (112, 140)
+ { 0, { 0, 0, 0}}, // (113, 140)
+ { 0, { 0, 0, 0}}, // (114, 140)
+ { 0, { 0, 0, 0}}, // (115, 140)
+ { 0, { 0, 0, 0}}, // (116, 140)
+ { 0, { 0, 0, 0}}, // (117, 140)
+ { 0, { 0, 0, 0}}, // (118, 140)
+ { 0, { 0, 0, 0}}, // (119, 140)
+ { 0, { 0, 0, 0}}, // (120, 140)
+ { 0, { 0, 0, 0}}, // (121, 140)
+ { 0, { 0, 0, 0}}, // (122, 140)
+ { 0, { 0, 0, 0}}, // (123, 140)
+ { 0, { 0, 0, 0}}, // (124, 140)
+ { 0, { 0, 0, 0}}, // (125, 140)
+ { 0, { 0, 0, 0}}, // (126, 140)
+ { 0, { 0, 0, 0}}, // (127, 140)
+ { 0, { 0, 0, 0}}, // (128, 140)
+ { 0, { 0, 0, 0}}, // (129, 140)
+ { 0, { 0, 0, 0}}, // (130, 140)
+ { 0, { 0, 0, 0}}, // (131, 140)
+ { 0, { 0, 0, 0}}, // (132, 140)
+ { 0, { 0, 0, 0}}, // (133, 140)
+ { 0, { 0, 0, 0}}, // (134, 140)
+ { 0, { 0, 0, 0}}, // (135, 140)
+ { 0, { 0, 0, 0}}, // (136, 140)
+ { 0, { 0, 0, 0}}, // (137, 140)
+ { 0, { 0, 0, 0}}, // (138, 140)
+ { 0, { 0, 0, 0}}, // (139, 140)
+ { 0, { 0, 0, 0}}, // (140, 140)
+ { 0, { 0, 0, 0}}, // (141, 140)
+ { 0, { 0, 0, 0}}, // (142, 140)
+ { 0, { 0, 0, 0}}, // (143, 140)
+ { 0, { 0, 0, 0}}, // (144, 140)
+ { 0, { 0, 0, 0}}, // (145, 140)
+ { 0, { 0, 0, 0}}, // (146, 140)
+ { 0, { 0, 0, 0}}, // (147, 140)
+ { 0, { 0, 0, 0}}, // (148, 140)
+ { 0, { 0, 0, 0}}, // (149, 140)
+ { 0, { 0, 0, 0}}, // (150, 140)
+ { 0, { 0, 0, 0}}, // (151, 140)
+ { 0, { 0, 0, 0}}, // (152, 140)
+ { 0, { 0, 0, 0}}, // (153, 140)
+ { 0, { 0, 0, 0}}, // (154, 140)
+ { 0, { 0, 0, 0}}, // (155, 140)
+ { 0, { 0, 0, 0}}, // (156, 140)
+ { 0, { 0, 0, 0}}, // (157, 140)
+ { 0, { 0, 0, 0}}, // (158, 140)
+ { 0, { 0, 0, 0}}, // (159, 140)
+ { 0, { 0, 0, 0}}, // (160, 140)
+ { 9, { 0, 0, 0}}, // (161, 140)
+ {113, { 0, 0, 0}}, // (162, 140)
+ {128, { 0, 0, 0}}, // (163, 140)
+ {128, { 0, 0, 0}}, // (164, 140)
+ {128, { 0, 0, 0}}, // (165, 140)
+ {128, { 0, 0, 0}}, // (166, 140)
+ {128, { 0, 0, 0}}, // (167, 140)
+ {128, { 0, 0, 0}}, // (168, 140)
+ {128, { 0, 0, 0}}, // (169, 140)
+ {128, { 0, 0, 0}}, // (170, 140)
+ {128, { 0, 0, 0}}, // (171, 140)
+ {128, { 0, 0, 0}}, // (172, 140)
+ {128, { 0, 0, 0}}, // (173, 140)
+ {128, { 0, 0, 0}}, // (174, 140)
+ {128, { 0, 0, 0}}, // (175, 140)
+ {128, { 0, 0, 0}}, // (176, 140)
+ {128, { 0, 0, 0}}, // (177, 140)
+ {128, { 0, 0, 0}}, // (178, 140)
+ {128, { 0, 0, 0}}, // (179, 140)
+ {128, { 0, 0, 0}}, // ( 0, 141)
+ {128, { 0, 0, 0}}, // ( 1, 141)
+ {128, { 0, 0, 0}}, // ( 2, 141)
+ {128, { 0, 0, 0}}, // ( 3, 141)
+ {128, { 0, 0, 0}}, // ( 4, 141)
+ {128, { 0, 0, 0}}, // ( 5, 141)
+ {128, { 0, 0, 0}}, // ( 6, 141)
+ {128, { 0, 0, 0}}, // ( 7, 141)
+ {128, { 0, 0, 0}}, // ( 8, 141)
+ {128, { 0, 0, 0}}, // ( 9, 141)
+ {128, { 0, 0, 0}}, // ( 10, 141)
+ {128, { 0, 0, 0}}, // ( 11, 141)
+ {128, { 0, 0, 0}}, // ( 12, 141)
+ {128, { 0, 0, 0}}, // ( 13, 141)
+ {128, { 0, 0, 0}}, // ( 14, 141)
+ {128, { 0, 0, 0}}, // ( 15, 141)
+ {128, { 0, 0, 0}}, // ( 16, 141)
+ {128, { 0, 0, 0}}, // ( 17, 141)
+ { 85, { 0, 0, 0}}, // ( 18, 141)
+ { 0, { 0, 0, 0}}, // ( 19, 141)
+ { 0, { 0, 0, 0}}, // ( 20, 141)
+ { 0, { 0, 0, 0}}, // ( 21, 141)
+ { 0, { 0, 0, 0}}, // ( 22, 141)
+ { 0, { 0, 0, 0}}, // ( 23, 141)
+ { 0, { 0, 0, 0}}, // ( 24, 141)
+ { 0, { 0, 0, 0}}, // ( 25, 141)
+ { 0, { 0, 0, 0}}, // ( 26, 141)
+ { 0, { 0, 0, 0}}, // ( 27, 141)
+ { 0, { 0, 0, 0}}, // ( 28, 141)
+ { 0, { 0, 0, 0}}, // ( 29, 141)
+ { 0, { 0, 0, 0}}, // ( 30, 141)
+ { 0, { 0, 0, 0}}, // ( 31, 141)
+ { 0, { 0, 0, 0}}, // ( 32, 141)
+ { 0, { 0, 0, 0}}, // ( 33, 141)
+ { 0, { 0, 0, 0}}, // ( 34, 141)
+ { 0, { 0, 0, 0}}, // ( 35, 141)
+ { 0, { 0, 0, 0}}, // ( 36, 141)
+ { 0, { 0, 0, 0}}, // ( 37, 141)
+ { 0, { 0, 0, 0}}, // ( 38, 141)
+ { 0, { 0, 0, 0}}, // ( 39, 141)
+ { 0, { 0, 0, 0}}, // ( 40, 141)
+ { 0, { 0, 0, 0}}, // ( 41, 141)
+ { 0, { 0, 0, 0}}, // ( 42, 141)
+ { 0, { 0, 0, 0}}, // ( 43, 141)
+ { 0, { 0, 0, 0}}, // ( 44, 141)
+ { 0, { 0, 0, 0}}, // ( 45, 141)
+ { 0, { 0, 0, 0}}, // ( 46, 141)
+ { 0, { 0, 0, 0}}, // ( 47, 141)
+ { 0, { 0, 0, 0}}, // ( 48, 141)
+ { 0, { 0, 0, 0}}, // ( 49, 141)
+ { 0, { 0, 0, 0}}, // ( 50, 141)
+ { 0, { 0, 0, 0}}, // ( 51, 141)
+ { 0, { 0, 0, 0}}, // ( 52, 141)
+ { 0, { 0, 0, 0}}, // ( 53, 141)
+ { 0, { 0, 0, 0}}, // ( 54, 141)
+ { 0, { 0, 0, 0}}, // ( 55, 141)
+ { 0, { 0, 0, 0}}, // ( 56, 141)
+ { 0, { 0, 0, 0}}, // ( 57, 141)
+ { 0, { 0, 0, 0}}, // ( 58, 141)
+ { 0, { 0, 0, 0}}, // ( 59, 141)
+ { 0, { 0, 0, 0}}, // ( 60, 141)
+ { 0, { 0, 0, 0}}, // ( 61, 141)
+ { 0, { 0, 0, 0}}, // ( 62, 141)
+ { 0, { 0, 0, 0}}, // ( 63, 141)
+ { 0, { 0, 0, 0}}, // ( 64, 141)
+ { 0, { 0, 0, 0}}, // ( 65, 141)
+ { 0, { 0, 0, 0}}, // ( 66, 141)
+ { 0, { 0, 0, 0}}, // ( 67, 141)
+ { 0, { 0, 0, 0}}, // ( 68, 141)
+ { 0, { 0, 0, 0}}, // ( 69, 141)
+ { 0, { 0, 0, 0}}, // ( 70, 141)
+ { 0, { 0, 0, 0}}, // ( 71, 141)
+ { 0, { 0, 0, 0}}, // ( 72, 141)
+ { 0, { 0, 0, 0}}, // ( 73, 141)
+ { 0, { 0, 0, 0}}, // ( 74, 141)
+ { 0, { 0, 0, 0}}, // ( 75, 141)
+ { 0, { 0, 0, 0}}, // ( 76, 141)
+ { 0, { 0, 0, 0}}, // ( 77, 141)
+ { 0, { 0, 0, 0}}, // ( 78, 141)
+ { 0, { 0, 0, 0}}, // ( 79, 141)
+ { 0, { 0, 0, 0}}, // ( 80, 141)
+ { 0, { 0, 0, 0}}, // ( 81, 141)
+ { 0, { 0, 0, 0}}, // ( 82, 141)
+ { 0, { 0, 0, 0}}, // ( 83, 141)
+ { 0, { 0, 0, 0}}, // ( 84, 141)
+ { 0, { 0, 0, 0}}, // ( 85, 141)
+ { 0, { 0, 0, 0}}, // ( 86, 141)
+ { 0, { 0, 0, 0}}, // ( 87, 141)
+ { 0, { 0, 0, 0}}, // ( 88, 141)
+ { 0, { 0, 0, 0}}, // ( 89, 141)
+ { 0, { 0, 0, 0}}, // ( 90, 141)
+ { 0, { 0, 0, 0}}, // ( 91, 141)
+ { 0, { 0, 0, 0}}, // ( 92, 141)
+ { 0, { 0, 0, 0}}, // ( 93, 141)
+ { 0, { 0, 0, 0}}, // ( 94, 141)
+ { 0, { 0, 0, 0}}, // ( 95, 141)
+ { 0, { 0, 0, 0}}, // ( 96, 141)
+ { 0, { 0, 0, 0}}, // ( 97, 141)
+ { 0, { 0, 0, 0}}, // ( 98, 141)
+ { 0, { 0, 0, 0}}, // ( 99, 141)
+ { 0, { 0, 0, 0}}, // (100, 141)
+ { 0, { 0, 0, 0}}, // (101, 141)
+ { 0, { 0, 0, 0}}, // (102, 141)
+ { 0, { 0, 0, 0}}, // (103, 141)
+ { 0, { 0, 0, 0}}, // (104, 141)
+ { 0, { 0, 0, 0}}, // (105, 141)
+ { 0, { 0, 0, 0}}, // (106, 141)
+ { 0, { 0, 0, 0}}, // (107, 141)
+ { 0, { 0, 0, 0}}, // (108, 141)
+ { 0, { 0, 0, 0}}, // (109, 141)
+ { 0, { 0, 0, 0}}, // (110, 141)
+ { 0, { 0, 0, 0}}, // (111, 141)
+ { 0, { 0, 0, 0}}, // (112, 141)
+ { 0, { 0, 0, 0}}, // (113, 141)
+ { 0, { 0, 0, 0}}, // (114, 141)
+ { 0, { 0, 0, 0}}, // (115, 141)
+ { 0, { 0, 0, 0}}, // (116, 141)
+ { 0, { 0, 0, 0}}, // (117, 141)
+ { 0, { 0, 0, 0}}, // (118, 141)
+ { 0, { 0, 0, 0}}, // (119, 141)
+ { 0, { 0, 0, 0}}, // (120, 141)
+ { 0, { 0, 0, 0}}, // (121, 141)
+ { 0, { 0, 0, 0}}, // (122, 141)
+ { 0, { 0, 0, 0}}, // (123, 141)
+ { 0, { 0, 0, 0}}, // (124, 141)
+ { 0, { 0, 0, 0}}, // (125, 141)
+ { 0, { 0, 0, 0}}, // (126, 141)
+ { 0, { 0, 0, 0}}, // (127, 141)
+ { 0, { 0, 0, 0}}, // (128, 141)
+ { 0, { 0, 0, 0}}, // (129, 141)
+ { 0, { 0, 0, 0}}, // (130, 141)
+ { 0, { 0, 0, 0}}, // (131, 141)
+ { 0, { 0, 0, 0}}, // (132, 141)
+ { 0, { 0, 0, 0}}, // (133, 141)
+ { 0, { 0, 0, 0}}, // (134, 141)
+ { 0, { 0, 0, 0}}, // (135, 141)
+ { 0, { 0, 0, 0}}, // (136, 141)
+ { 0, { 0, 0, 0}}, // (137, 141)
+ { 0, { 0, 0, 0}}, // (138, 141)
+ { 0, { 0, 0, 0}}, // (139, 141)
+ { 0, { 0, 0, 0}}, // (140, 141)
+ { 0, { 0, 0, 0}}, // (141, 141)
+ { 0, { 0, 0, 0}}, // (142, 141)
+ { 0, { 0, 0, 0}}, // (143, 141)
+ { 0, { 0, 0, 0}}, // (144, 141)
+ { 0, { 0, 0, 0}}, // (145, 141)
+ { 0, { 0, 0, 0}}, // (146, 141)
+ { 0, { 0, 0, 0}}, // (147, 141)
+ { 0, { 0, 0, 0}}, // (148, 141)
+ { 0, { 0, 0, 0}}, // (149, 141)
+ { 0, { 0, 0, 0}}, // (150, 141)
+ { 0, { 0, 0, 0}}, // (151, 141)
+ { 0, { 0, 0, 0}}, // (152, 141)
+ { 0, { 0, 0, 0}}, // (153, 141)
+ { 0, { 0, 0, 0}}, // (154, 141)
+ { 0, { 0, 0, 0}}, // (155, 141)
+ { 0, { 0, 0, 0}}, // (156, 141)
+ { 0, { 0, 0, 0}}, // (157, 141)
+ { 0, { 0, 0, 0}}, // (158, 141)
+ { 0, { 0, 0, 0}}, // (159, 141)
+ { 0, { 0, 0, 0}}, // (160, 141)
+ { 84, { 0, 0, 0}}, // (161, 141)
+ {128, { 0, 0, 0}}, // (162, 141)
+ {128, { 0, 0, 0}}, // (163, 141)
+ {128, { 0, 0, 0}}, // (164, 141)
+ {128, { 0, 0, 0}}, // (165, 141)
+ {128, { 0, 0, 0}}, // (166, 141)
+ {128, { 0, 0, 0}}, // (167, 141)
+ {128, { 0, 0, 0}}, // (168, 141)
+ {128, { 0, 0, 0}}, // (169, 141)
+ {128, { 0, 0, 0}}, // (170, 141)
+ {128, { 0, 0, 0}}, // (171, 141)
+ {128, { 0, 0, 0}}, // (172, 141)
+ {128, { 0, 0, 0}}, // (173, 141)
+ {128, { 0, 0, 0}}, // (174, 141)
+ {128, { 0, 0, 0}}, // (175, 141)
+ {128, { 0, 0, 0}}, // (176, 141)
+ {128, { 0, 0, 0}}, // (177, 141)
+ {128, { 0, 0, 0}}, // (178, 141)
+ {128, { 0, 0, 0}}, // (179, 141)
+ {128, { 0, 0, 0}}, // ( 0, 142)
+ {128, { 0, 0, 0}}, // ( 1, 142)
+ {128, { 0, 0, 0}}, // ( 2, 142)
+ {128, { 0, 0, 0}}, // ( 3, 142)
+ {128, { 0, 0, 0}}, // ( 4, 142)
+ {128, { 0, 0, 0}}, // ( 5, 142)
+ {128, { 0, 0, 0}}, // ( 6, 142)
+ {128, { 0, 0, 0}}, // ( 7, 142)
+ {128, { 0, 0, 0}}, // ( 8, 142)
+ {128, { 0, 0, 0}}, // ( 9, 142)
+ {128, { 0, 0, 0}}, // ( 10, 142)
+ {128, { 0, 0, 0}}, // ( 11, 142)
+ {128, { 0, 0, 0}}, // ( 12, 142)
+ {128, { 0, 0, 0}}, // ( 13, 142)
+ {128, { 0, 0, 0}}, // ( 14, 142)
+ {128, { 0, 0, 0}}, // ( 15, 142)
+ {128, { 0, 0, 0}}, // ( 16, 142)
+ {128, { 0, 0, 0}}, // ( 17, 142)
+ {128, { 0, 0, 0}}, // ( 18, 142)
+ { 49, { 0, 0, 0}}, // ( 19, 142)
+ { 0, { 0, 0, 0}}, // ( 20, 142)
+ { 0, { 0, 0, 0}}, // ( 21, 142)
+ { 0, { 0, 0, 0}}, // ( 22, 142)
+ { 0, { 0, 0, 0}}, // ( 23, 142)
+ { 0, { 0, 0, 0}}, // ( 24, 142)
+ { 0, { 0, 0, 0}}, // ( 25, 142)
+ { 0, { 0, 0, 0}}, // ( 26, 142)
+ { 0, { 0, 0, 0}}, // ( 27, 142)
+ { 0, { 0, 0, 0}}, // ( 28, 142)
+ { 0, { 0, 0, 0}}, // ( 29, 142)
+ { 0, { 0, 0, 0}}, // ( 30, 142)
+ { 0, { 0, 0, 0}}, // ( 31, 142)
+ { 0, { 0, 0, 0}}, // ( 32, 142)
+ { 0, { 0, 0, 0}}, // ( 33, 142)
+ { 0, { 0, 0, 0}}, // ( 34, 142)
+ { 0, { 0, 0, 0}}, // ( 35, 142)
+ { 0, { 0, 0, 0}}, // ( 36, 142)
+ { 0, { 0, 0, 0}}, // ( 37, 142)
+ { 0, { 0, 0, 0}}, // ( 38, 142)
+ { 0, { 0, 0, 0}}, // ( 39, 142)
+ { 0, { 0, 0, 0}}, // ( 40, 142)
+ { 0, { 0, 0, 0}}, // ( 41, 142)
+ { 0, { 0, 0, 0}}, // ( 42, 142)
+ { 0, { 0, 0, 0}}, // ( 43, 142)
+ { 0, { 0, 0, 0}}, // ( 44, 142)
+ { 0, { 0, 0, 0}}, // ( 45, 142)
+ { 0, { 0, 0, 0}}, // ( 46, 142)
+ { 0, { 0, 0, 0}}, // ( 47, 142)
+ { 0, { 0, 0, 0}}, // ( 48, 142)
+ { 0, { 0, 0, 0}}, // ( 49, 142)
+ { 0, { 0, 0, 0}}, // ( 50, 142)
+ { 0, { 0, 0, 0}}, // ( 51, 142)
+ { 0, { 0, 0, 0}}, // ( 52, 142)
+ { 0, { 0, 0, 0}}, // ( 53, 142)
+ { 0, { 0, 0, 0}}, // ( 54, 142)
+ { 0, { 0, 0, 0}}, // ( 55, 142)
+ { 0, { 0, 0, 0}}, // ( 56, 142)
+ { 0, { 0, 0, 0}}, // ( 57, 142)
+ { 0, { 0, 0, 0}}, // ( 58, 142)
+ { 0, { 0, 0, 0}}, // ( 59, 142)
+ { 0, { 0, 0, 0}}, // ( 60, 142)
+ { 0, { 0, 0, 0}}, // ( 61, 142)
+ { 0, { 0, 0, 0}}, // ( 62, 142)
+ { 0, { 0, 0, 0}}, // ( 63, 142)
+ { 0, { 0, 0, 0}}, // ( 64, 142)
+ { 0, { 0, 0, 0}}, // ( 65, 142)
+ { 0, { 0, 0, 0}}, // ( 66, 142)
+ { 0, { 0, 0, 0}}, // ( 67, 142)
+ { 0, { 0, 0, 0}}, // ( 68, 142)
+ { 0, { 0, 0, 0}}, // ( 69, 142)
+ { 0, { 0, 0, 0}}, // ( 70, 142)
+ { 0, { 0, 0, 0}}, // ( 71, 142)
+ { 0, { 0, 0, 0}}, // ( 72, 142)
+ { 0, { 0, 0, 0}}, // ( 73, 142)
+ { 0, { 0, 0, 0}}, // ( 74, 142)
+ { 0, { 0, 0, 0}}, // ( 75, 142)
+ { 0, { 0, 0, 0}}, // ( 76, 142)
+ { 0, { 0, 0, 0}}, // ( 77, 142)
+ { 0, { 0, 0, 0}}, // ( 78, 142)
+ { 0, { 0, 0, 0}}, // ( 79, 142)
+ { 0, { 0, 0, 0}}, // ( 80, 142)
+ { 0, { 0, 0, 0}}, // ( 81, 142)
+ { 0, { 0, 0, 0}}, // ( 82, 142)
+ { 0, { 0, 0, 0}}, // ( 83, 142)
+ { 0, { 0, 0, 0}}, // ( 84, 142)
+ { 0, { 0, 0, 0}}, // ( 85, 142)
+ { 0, { 0, 0, 0}}, // ( 86, 142)
+ { 0, { 0, 0, 0}}, // ( 87, 142)
+ { 0, { 0, 0, 0}}, // ( 88, 142)
+ { 0, { 0, 0, 0}}, // ( 89, 142)
+ { 0, { 0, 0, 0}}, // ( 90, 142)
+ { 0, { 0, 0, 0}}, // ( 91, 142)
+ { 0, { 0, 0, 0}}, // ( 92, 142)
+ { 0, { 0, 0, 0}}, // ( 93, 142)
+ { 0, { 0, 0, 0}}, // ( 94, 142)
+ { 0, { 0, 0, 0}}, // ( 95, 142)
+ { 0, { 0, 0, 0}}, // ( 96, 142)
+ { 0, { 0, 0, 0}}, // ( 97, 142)
+ { 0, { 0, 0, 0}}, // ( 98, 142)
+ { 0, { 0, 0, 0}}, // ( 99, 142)
+ { 0, { 0, 0, 0}}, // (100, 142)
+ { 0, { 0, 0, 0}}, // (101, 142)
+ { 0, { 0, 0, 0}}, // (102, 142)
+ { 0, { 0, 0, 0}}, // (103, 142)
+ { 0, { 0, 0, 0}}, // (104, 142)
+ { 0, { 0, 0, 0}}, // (105, 142)
+ { 0, { 0, 0, 0}}, // (106, 142)
+ { 0, { 0, 0, 0}}, // (107, 142)
+ { 0, { 0, 0, 0}}, // (108, 142)
+ { 0, { 0, 0, 0}}, // (109, 142)
+ { 0, { 0, 0, 0}}, // (110, 142)
+ { 0, { 0, 0, 0}}, // (111, 142)
+ { 0, { 0, 0, 0}}, // (112, 142)
+ { 0, { 0, 0, 0}}, // (113, 142)
+ { 0, { 0, 0, 0}}, // (114, 142)
+ { 0, { 0, 0, 0}}, // (115, 142)
+ { 0, { 0, 0, 0}}, // (116, 142)
+ { 0, { 0, 0, 0}}, // (117, 142)
+ { 0, { 0, 0, 0}}, // (118, 142)
+ { 0, { 0, 0, 0}}, // (119, 142)
+ { 0, { 0, 0, 0}}, // (120, 142)
+ { 0, { 0, 0, 0}}, // (121, 142)
+ { 0, { 0, 0, 0}}, // (122, 142)
+ { 0, { 0, 0, 0}}, // (123, 142)
+ { 0, { 0, 0, 0}}, // (124, 142)
+ { 0, { 0, 0, 0}}, // (125, 142)
+ { 0, { 0, 0, 0}}, // (126, 142)
+ { 0, { 0, 0, 0}}, // (127, 142)
+ { 0, { 0, 0, 0}}, // (128, 142)
+ { 0, { 0, 0, 0}}, // (129, 142)
+ { 0, { 0, 0, 0}}, // (130, 142)
+ { 0, { 0, 0, 0}}, // (131, 142)
+ { 0, { 0, 0, 0}}, // (132, 142)
+ { 0, { 0, 0, 0}}, // (133, 142)
+ { 0, { 0, 0, 0}}, // (134, 142)
+ { 0, { 0, 0, 0}}, // (135, 142)
+ { 0, { 0, 0, 0}}, // (136, 142)
+ { 0, { 0, 0, 0}}, // (137, 142)
+ { 0, { 0, 0, 0}}, // (138, 142)
+ { 0, { 0, 0, 0}}, // (139, 142)
+ { 0, { 0, 0, 0}}, // (140, 142)
+ { 0, { 0, 0, 0}}, // (141, 142)
+ { 0, { 0, 0, 0}}, // (142, 142)
+ { 0, { 0, 0, 0}}, // (143, 142)
+ { 0, { 0, 0, 0}}, // (144, 142)
+ { 0, { 0, 0, 0}}, // (145, 142)
+ { 0, { 0, 0, 0}}, // (146, 142)
+ { 0, { 0, 0, 0}}, // (147, 142)
+ { 0, { 0, 0, 0}}, // (148, 142)
+ { 0, { 0, 0, 0}}, // (149, 142)
+ { 0, { 0, 0, 0}}, // (150, 142)
+ { 0, { 0, 0, 0}}, // (151, 142)
+ { 0, { 0, 0, 0}}, // (152, 142)
+ { 0, { 0, 0, 0}}, // (153, 142)
+ { 0, { 0, 0, 0}}, // (154, 142)
+ { 0, { 0, 0, 0}}, // (155, 142)
+ { 0, { 0, 0, 0}}, // (156, 142)
+ { 0, { 0, 0, 0}}, // (157, 142)
+ { 0, { 0, 0, 0}}, // (158, 142)
+ { 0, { 0, 0, 0}}, // (159, 142)
+ { 49, { 0, 0, 0}}, // (160, 142)
+ {128, { 0, 0, 0}}, // (161, 142)
+ {128, { 0, 0, 0}}, // (162, 142)
+ {128, { 0, 0, 0}}, // (163, 142)
+ {128, { 0, 0, 0}}, // (164, 142)
+ {128, { 0, 0, 0}}, // (165, 142)
+ {128, { 0, 0, 0}}, // (166, 142)
+ {128, { 0, 0, 0}}, // (167, 142)
+ {128, { 0, 0, 0}}, // (168, 142)
+ {128, { 0, 0, 0}}, // (169, 142)
+ {128, { 0, 0, 0}}, // (170, 142)
+ {128, { 0, 0, 0}}, // (171, 142)
+ {128, { 0, 0, 0}}, // (172, 142)
+ {128, { 0, 0, 0}}, // (173, 142)
+ {128, { 0, 0, 0}}, // (174, 142)
+ {128, { 0, 0, 0}}, // (175, 142)
+ {128, { 0, 0, 0}}, // (176, 142)
+ {128, { 0, 0, 0}}, // (177, 142)
+ {128, { 0, 0, 0}}, // (178, 142)
+ {128, { 0, 0, 0}}, // (179, 142)
+ {128, { 0, 0, 0}}, // ( 0, 143)
+ {128, { 0, 0, 0}}, // ( 1, 143)
+ {128, { 0, 0, 0}}, // ( 2, 143)
+ {128, { 0, 0, 0}}, // ( 3, 143)
+ {128, { 0, 0, 0}}, // ( 4, 143)
+ {128, { 0, 0, 0}}, // ( 5, 143)
+ {128, { 0, 0, 0}}, // ( 6, 143)
+ {128, { 0, 0, 0}}, // ( 7, 143)
+ {128, { 0, 0, 0}}, // ( 8, 143)
+ {128, { 0, 0, 0}}, // ( 9, 143)
+ {128, { 0, 0, 0}}, // ( 10, 143)
+ {128, { 0, 0, 0}}, // ( 11, 143)
+ {128, { 0, 0, 0}}, // ( 12, 143)
+ {128, { 0, 0, 0}}, // ( 13, 143)
+ {128, { 0, 0, 0}}, // ( 14, 143)
+ {128, { 0, 0, 0}}, // ( 15, 143)
+ {128, { 0, 0, 0}}, // ( 16, 143)
+ {128, { 0, 0, 0}}, // ( 17, 143)
+ {128, { 0, 0, 0}}, // ( 18, 143)
+ {123, { 0, 0, 0}}, // ( 19, 143)
+ { 24, { 0, 0, 0}}, // ( 20, 143)
+ { 0, { 0, 0, 0}}, // ( 21, 143)
+ { 0, { 0, 0, 0}}, // ( 22, 143)
+ { 0, { 0, 0, 0}}, // ( 23, 143)
+ { 0, { 0, 0, 0}}, // ( 24, 143)
+ { 0, { 0, 0, 0}}, // ( 25, 143)
+ { 0, { 0, 0, 0}}, // ( 26, 143)
+ { 0, { 0, 0, 0}}, // ( 27, 143)
+ { 0, { 0, 0, 0}}, // ( 28, 143)
+ { 0, { 0, 0, 0}}, // ( 29, 143)
+ { 0, { 0, 0, 0}}, // ( 30, 143)
+ { 0, { 0, 0, 0}}, // ( 31, 143)
+ { 0, { 0, 0, 0}}, // ( 32, 143)
+ { 0, { 0, 0, 0}}, // ( 33, 143)
+ { 0, { 0, 0, 0}}, // ( 34, 143)
+ { 0, { 0, 0, 0}}, // ( 35, 143)
+ { 0, { 0, 0, 0}}, // ( 36, 143)
+ { 0, { 0, 0, 0}}, // ( 37, 143)
+ { 0, { 0, 0, 0}}, // ( 38, 143)
+ { 0, { 0, 0, 0}}, // ( 39, 143)
+ { 0, { 0, 0, 0}}, // ( 40, 143)
+ { 0, { 0, 0, 0}}, // ( 41, 143)
+ { 0, { 0, 0, 0}}, // ( 42, 143)
+ { 0, { 0, 0, 0}}, // ( 43, 143)
+ { 0, { 0, 0, 0}}, // ( 44, 143)
+ { 0, { 0, 0, 0}}, // ( 45, 143)
+ { 0, { 0, 0, 0}}, // ( 46, 143)
+ { 0, { 0, 0, 0}}, // ( 47, 143)
+ { 0, { 0, 0, 0}}, // ( 48, 143)
+ { 0, { 0, 0, 0}}, // ( 49, 143)
+ { 0, { 0, 0, 0}}, // ( 50, 143)
+ { 0, { 0, 0, 0}}, // ( 51, 143)
+ { 0, { 0, 0, 0}}, // ( 52, 143)
+ { 0, { 0, 0, 0}}, // ( 53, 143)
+ { 0, { 0, 0, 0}}, // ( 54, 143)
+ { 0, { 0, 0, 0}}, // ( 55, 143)
+ { 0, { 0, 0, 0}}, // ( 56, 143)
+ { 0, { 0, 0, 0}}, // ( 57, 143)
+ { 0, { 0, 0, 0}}, // ( 58, 143)
+ { 0, { 0, 0, 0}}, // ( 59, 143)
+ { 0, { 0, 0, 0}}, // ( 60, 143)
+ { 0, { 0, 0, 0}}, // ( 61, 143)
+ { 0, { 0, 0, 0}}, // ( 62, 143)
+ { 0, { 0, 0, 0}}, // ( 63, 143)
+ { 0, { 0, 0, 0}}, // ( 64, 143)
+ { 0, { 0, 0, 0}}, // ( 65, 143)
+ { 0, { 0, 0, 0}}, // ( 66, 143)
+ { 0, { 0, 0, 0}}, // ( 67, 143)
+ { 0, { 0, 0, 0}}, // ( 68, 143)
+ { 0, { 0, 0, 0}}, // ( 69, 143)
+ { 0, { 0, 0, 0}}, // ( 70, 143)
+ { 0, { 0, 0, 0}}, // ( 71, 143)
+ { 0, { 0, 0, 0}}, // ( 72, 143)
+ { 0, { 0, 0, 0}}, // ( 73, 143)
+ { 0, { 0, 0, 0}}, // ( 74, 143)
+ { 0, { 0, 0, 0}}, // ( 75, 143)
+ { 0, { 0, 0, 0}}, // ( 76, 143)
+ { 0, { 0, 0, 0}}, // ( 77, 143)
+ { 0, { 0, 0, 0}}, // ( 78, 143)
+ { 0, { 0, 0, 0}}, // ( 79, 143)
+ { 0, { 0, 0, 0}}, // ( 80, 143)
+ { 0, { 0, 0, 0}}, // ( 81, 143)
+ { 0, { 0, 0, 0}}, // ( 82, 143)
+ { 0, { 0, 0, 0}}, // ( 83, 143)
+ { 0, { 0, 0, 0}}, // ( 84, 143)
+ { 0, { 0, 0, 0}}, // ( 85, 143)
+ { 0, { 0, 0, 0}}, // ( 86, 143)
+ { 0, { 0, 0, 0}}, // ( 87, 143)
+ { 0, { 0, 0, 0}}, // ( 88, 143)
+ { 0, { 0, 0, 0}}, // ( 89, 143)
+ { 0, { 0, 0, 0}}, // ( 90, 143)
+ { 0, { 0, 0, 0}}, // ( 91, 143)
+ { 0, { 0, 0, 0}}, // ( 92, 143)
+ { 0, { 0, 0, 0}}, // ( 93, 143)
+ { 0, { 0, 0, 0}}, // ( 94, 143)
+ { 0, { 0, 0, 0}}, // ( 95, 143)
+ { 0, { 0, 0, 0}}, // ( 96, 143)
+ { 0, { 0, 0, 0}}, // ( 97, 143)
+ { 0, { 0, 0, 0}}, // ( 98, 143)
+ { 0, { 0, 0, 0}}, // ( 99, 143)
+ { 0, { 0, 0, 0}}, // (100, 143)
+ { 0, { 0, 0, 0}}, // (101, 143)
+ { 0, { 0, 0, 0}}, // (102, 143)
+ { 0, { 0, 0, 0}}, // (103, 143)
+ { 0, { 0, 0, 0}}, // (104, 143)
+ { 0, { 0, 0, 0}}, // (105, 143)
+ { 0, { 0, 0, 0}}, // (106, 143)
+ { 0, { 0, 0, 0}}, // (107, 143)
+ { 0, { 0, 0, 0}}, // (108, 143)
+ { 0, { 0, 0, 0}}, // (109, 143)
+ { 0, { 0, 0, 0}}, // (110, 143)
+ { 0, { 0, 0, 0}}, // (111, 143)
+ { 0, { 0, 0, 0}}, // (112, 143)
+ { 0, { 0, 0, 0}}, // (113, 143)
+ { 0, { 0, 0, 0}}, // (114, 143)
+ { 0, { 0, 0, 0}}, // (115, 143)
+ { 0, { 0, 0, 0}}, // (116, 143)
+ { 0, { 0, 0, 0}}, // (117, 143)
+ { 0, { 0, 0, 0}}, // (118, 143)
+ { 0, { 0, 0, 0}}, // (119, 143)
+ { 0, { 0, 0, 0}}, // (120, 143)
+ { 0, { 0, 0, 0}}, // (121, 143)
+ { 0, { 0, 0, 0}}, // (122, 143)
+ { 0, { 0, 0, 0}}, // (123, 143)
+ { 0, { 0, 0, 0}}, // (124, 143)
+ { 0, { 0, 0, 0}}, // (125, 143)
+ { 0, { 0, 0, 0}}, // (126, 143)
+ { 0, { 0, 0, 0}}, // (127, 143)
+ { 0, { 0, 0, 0}}, // (128, 143)
+ { 0, { 0, 0, 0}}, // (129, 143)
+ { 0, { 0, 0, 0}}, // (130, 143)
+ { 0, { 0, 0, 0}}, // (131, 143)
+ { 0, { 0, 0, 0}}, // (132, 143)
+ { 0, { 0, 0, 0}}, // (133, 143)
+ { 0, { 0, 0, 0}}, // (134, 143)
+ { 0, { 0, 0, 0}}, // (135, 143)
+ { 0, { 0, 0, 0}}, // (136, 143)
+ { 0, { 0, 0, 0}}, // (137, 143)
+ { 0, { 0, 0, 0}}, // (138, 143)
+ { 0, { 0, 0, 0}}, // (139, 143)
+ { 0, { 0, 0, 0}}, // (140, 143)
+ { 0, { 0, 0, 0}}, // (141, 143)
+ { 0, { 0, 0, 0}}, // (142, 143)
+ { 0, { 0, 0, 0}}, // (143, 143)
+ { 0, { 0, 0, 0}}, // (144, 143)
+ { 0, { 0, 0, 0}}, // (145, 143)
+ { 0, { 0, 0, 0}}, // (146, 143)
+ { 0, { 0, 0, 0}}, // (147, 143)
+ { 0, { 0, 0, 0}}, // (148, 143)
+ { 0, { 0, 0, 0}}, // (149, 143)
+ { 0, { 0, 0, 0}}, // (150, 143)
+ { 0, { 0, 0, 0}}, // (151, 143)
+ { 0, { 0, 0, 0}}, // (152, 143)
+ { 0, { 0, 0, 0}}, // (153, 143)
+ { 0, { 0, 0, 0}}, // (154, 143)
+ { 0, { 0, 0, 0}}, // (155, 143)
+ { 0, { 0, 0, 0}}, // (156, 143)
+ { 0, { 0, 0, 0}}, // (157, 143)
+ { 0, { 0, 0, 0}}, // (158, 143)
+ { 24, { 0, 0, 0}}, // (159, 143)
+ {123, { 0, 0, 0}}, // (160, 143)
+ {128, { 0, 0, 0}}, // (161, 143)
+ {128, { 0, 0, 0}}, // (162, 143)
+ {128, { 0, 0, 0}}, // (163, 143)
+ {128, { 0, 0, 0}}, // (164, 143)
+ {128, { 0, 0, 0}}, // (165, 143)
+ {128, { 0, 0, 0}}, // (166, 143)
+ {128, { 0, 0, 0}}, // (167, 143)
+ {128, { 0, 0, 0}}, // (168, 143)
+ {128, { 0, 0, 0}}, // (169, 143)
+ {128, { 0, 0, 0}}, // (170, 143)
+ {128, { 0, 0, 0}}, // (171, 143)
+ {128, { 0, 0, 0}}, // (172, 143)
+ {128, { 0, 0, 0}}, // (173, 143)
+ {128, { 0, 0, 0}}, // (174, 143)
+ {128, { 0, 0, 0}}, // (175, 143)
+ {128, { 0, 0, 0}}, // (176, 143)
+ {128, { 0, 0, 0}}, // (177, 143)
+ {128, { 0, 0, 0}}, // (178, 143)
+ {128, { 0, 0, 0}}, // (179, 143)
+ {128, { 0, 0, 0}}, // ( 0, 144)
+ {128, { 0, 0, 0}}, // ( 1, 144)
+ {128, { 0, 0, 0}}, // ( 2, 144)
+ {128, { 0, 0, 0}}, // ( 3, 144)
+ {128, { 0, 0, 0}}, // ( 4, 144)
+ {128, { 0, 0, 0}}, // ( 5, 144)
+ {128, { 0, 0, 0}}, // ( 6, 144)
+ {128, { 0, 0, 0}}, // ( 7, 144)
+ {128, { 0, 0, 0}}, // ( 8, 144)
+ {128, { 0, 0, 0}}, // ( 9, 144)
+ {128, { 0, 0, 0}}, // ( 10, 144)
+ {128, { 0, 0, 0}}, // ( 11, 144)
+ {128, { 0, 0, 0}}, // ( 12, 144)
+ {128, { 0, 0, 0}}, // ( 13, 144)
+ {128, { 0, 0, 0}}, // ( 14, 144)
+ {128, { 0, 0, 0}}, // ( 15, 144)
+ {128, { 0, 0, 0}}, // ( 16, 144)
+ {128, { 0, 0, 0}}, // ( 17, 144)
+ {128, { 0, 0, 0}}, // ( 18, 144)
+ {128, { 0, 0, 0}}, // ( 19, 144)
+ {111, { 0, 0, 0}}, // ( 20, 144)
+ { 9, { 0, 0, 0}}, // ( 21, 144)
+ { 0, { 0, 0, 0}}, // ( 22, 144)
+ { 0, { 0, 0, 0}}, // ( 23, 144)
+ { 0, { 0, 0, 0}}, // ( 24, 144)
+ { 0, { 0, 0, 0}}, // ( 25, 144)
+ { 0, { 0, 0, 0}}, // ( 26, 144)
+ { 0, { 0, 0, 0}}, // ( 27, 144)
+ { 0, { 0, 0, 0}}, // ( 28, 144)
+ { 0, { 0, 0, 0}}, // ( 29, 144)
+ { 0, { 0, 0, 0}}, // ( 30, 144)
+ { 0, { 0, 0, 0}}, // ( 31, 144)
+ { 0, { 0, 0, 0}}, // ( 32, 144)
+ { 0, { 0, 0, 0}}, // ( 33, 144)
+ { 0, { 0, 0, 0}}, // ( 34, 144)
+ { 0, { 0, 0, 0}}, // ( 35, 144)
+ { 0, { 0, 0, 0}}, // ( 36, 144)
+ { 0, { 0, 0, 0}}, // ( 37, 144)
+ { 0, { 0, 0, 0}}, // ( 38, 144)
+ { 0, { 0, 0, 0}}, // ( 39, 144)
+ { 0, { 0, 0, 0}}, // ( 40, 144)
+ { 0, { 0, 0, 0}}, // ( 41, 144)
+ { 0, { 0, 0, 0}}, // ( 42, 144)
+ { 0, { 0, 0, 0}}, // ( 43, 144)
+ { 0, { 0, 0, 0}}, // ( 44, 144)
+ { 0, { 0, 0, 0}}, // ( 45, 144)
+ { 0, { 0, 0, 0}}, // ( 46, 144)
+ { 0, { 0, 0, 0}}, // ( 47, 144)
+ { 0, { 0, 0, 0}}, // ( 48, 144)
+ { 0, { 0, 0, 0}}, // ( 49, 144)
+ { 0, { 0, 0, 0}}, // ( 50, 144)
+ { 0, { 0, 0, 0}}, // ( 51, 144)
+ { 0, { 0, 0, 0}}, // ( 52, 144)
+ { 0, { 0, 0, 0}}, // ( 53, 144)
+ { 0, { 0, 0, 0}}, // ( 54, 144)
+ { 0, { 0, 0, 0}}, // ( 55, 144)
+ { 0, { 0, 0, 0}}, // ( 56, 144)
+ { 0, { 0, 0, 0}}, // ( 57, 144)
+ { 0, { 0, 0, 0}}, // ( 58, 144)
+ { 0, { 0, 0, 0}}, // ( 59, 144)
+ { 0, { 0, 0, 0}}, // ( 60, 144)
+ { 0, { 0, 0, 0}}, // ( 61, 144)
+ { 0, { 0, 0, 0}}, // ( 62, 144)
+ { 0, { 0, 0, 0}}, // ( 63, 144)
+ { 0, { 0, 0, 0}}, // ( 64, 144)
+ { 0, { 0, 0, 0}}, // ( 65, 144)
+ { 0, { 0, 0, 0}}, // ( 66, 144)
+ { 0, { 0, 0, 0}}, // ( 67, 144)
+ { 0, { 0, 0, 0}}, // ( 68, 144)
+ { 0, { 0, 0, 0}}, // ( 69, 144)
+ { 0, { 0, 0, 0}}, // ( 70, 144)
+ { 0, { 0, 0, 0}}, // ( 71, 144)
+ { 0, { 0, 0, 0}}, // ( 72, 144)
+ { 0, { 0, 0, 0}}, // ( 73, 144)
+ { 0, { 0, 0, 0}}, // ( 74, 144)
+ { 0, { 0, 0, 0}}, // ( 75, 144)
+ { 0, { 0, 0, 0}}, // ( 76, 144)
+ { 0, { 0, 0, 0}}, // ( 77, 144)
+ { 0, { 0, 0, 0}}, // ( 78, 144)
+ { 0, { 0, 0, 0}}, // ( 79, 144)
+ { 0, { 0, 0, 0}}, // ( 80, 144)
+ { 0, { 0, 0, 0}}, // ( 81, 144)
+ { 0, { 0, 0, 0}}, // ( 82, 144)
+ { 0, { 0, 0, 0}}, // ( 83, 144)
+ { 0, { 0, 0, 0}}, // ( 84, 144)
+ { 0, { 0, 0, 0}}, // ( 85, 144)
+ { 0, { 0, 0, 0}}, // ( 86, 144)
+ { 0, { 0, 0, 0}}, // ( 87, 144)
+ { 0, { 0, 0, 0}}, // ( 88, 144)
+ { 0, { 0, 0, 0}}, // ( 89, 144)
+ { 0, { 0, 0, 0}}, // ( 90, 144)
+ { 0, { 0, 0, 0}}, // ( 91, 144)
+ { 0, { 0, 0, 0}}, // ( 92, 144)
+ { 0, { 0, 0, 0}}, // ( 93, 144)
+ { 0, { 0, 0, 0}}, // ( 94, 144)
+ { 0, { 0, 0, 0}}, // ( 95, 144)
+ { 0, { 0, 0, 0}}, // ( 96, 144)
+ { 0, { 0, 0, 0}}, // ( 97, 144)
+ { 0, { 0, 0, 0}}, // ( 98, 144)
+ { 0, { 0, 0, 0}}, // ( 99, 144)
+ { 0, { 0, 0, 0}}, // (100, 144)
+ { 0, { 0, 0, 0}}, // (101, 144)
+ { 0, { 0, 0, 0}}, // (102, 144)
+ { 0, { 0, 0, 0}}, // (103, 144)
+ { 0, { 0, 0, 0}}, // (104, 144)
+ { 0, { 0, 0, 0}}, // (105, 144)
+ { 0, { 0, 0, 0}}, // (106, 144)
+ { 0, { 0, 0, 0}}, // (107, 144)
+ { 0, { 0, 0, 0}}, // (108, 144)
+ { 0, { 0, 0, 0}}, // (109, 144)
+ { 0, { 0, 0, 0}}, // (110, 144)
+ { 0, { 0, 0, 0}}, // (111, 144)
+ { 0, { 0, 0, 0}}, // (112, 144)
+ { 0, { 0, 0, 0}}, // (113, 144)
+ { 0, { 0, 0, 0}}, // (114, 144)
+ { 0, { 0, 0, 0}}, // (115, 144)
+ { 0, { 0, 0, 0}}, // (116, 144)
+ { 0, { 0, 0, 0}}, // (117, 144)
+ { 0, { 0, 0, 0}}, // (118, 144)
+ { 0, { 0, 0, 0}}, // (119, 144)
+ { 0, { 0, 0, 0}}, // (120, 144)
+ { 0, { 0, 0, 0}}, // (121, 144)
+ { 0, { 0, 0, 0}}, // (122, 144)
+ { 0, { 0, 0, 0}}, // (123, 144)
+ { 0, { 0, 0, 0}}, // (124, 144)
+ { 0, { 0, 0, 0}}, // (125, 144)
+ { 0, { 0, 0, 0}}, // (126, 144)
+ { 0, { 0, 0, 0}}, // (127, 144)
+ { 0, { 0, 0, 0}}, // (128, 144)
+ { 0, { 0, 0, 0}}, // (129, 144)
+ { 0, { 0, 0, 0}}, // (130, 144)
+ { 0, { 0, 0, 0}}, // (131, 144)
+ { 0, { 0, 0, 0}}, // (132, 144)
+ { 0, { 0, 0, 0}}, // (133, 144)
+ { 0, { 0, 0, 0}}, // (134, 144)
+ { 0, { 0, 0, 0}}, // (135, 144)
+ { 0, { 0, 0, 0}}, // (136, 144)
+ { 0, { 0, 0, 0}}, // (137, 144)
+ { 0, { 0, 0, 0}}, // (138, 144)
+ { 0, { 0, 0, 0}}, // (139, 144)
+ { 0, { 0, 0, 0}}, // (140, 144)
+ { 0, { 0, 0, 0}}, // (141, 144)
+ { 0, { 0, 0, 0}}, // (142, 144)
+ { 0, { 0, 0, 0}}, // (143, 144)
+ { 0, { 0, 0, 0}}, // (144, 144)
+ { 0, { 0, 0, 0}}, // (145, 144)
+ { 0, { 0, 0, 0}}, // (146, 144)
+ { 0, { 0, 0, 0}}, // (147, 144)
+ { 0, { 0, 0, 0}}, // (148, 144)
+ { 0, { 0, 0, 0}}, // (149, 144)
+ { 0, { 0, 0, 0}}, // (150, 144)
+ { 0, { 0, 0, 0}}, // (151, 144)
+ { 0, { 0, 0, 0}}, // (152, 144)
+ { 0, { 0, 0, 0}}, // (153, 144)
+ { 0, { 0, 0, 0}}, // (154, 144)
+ { 0, { 0, 0, 0}}, // (155, 144)
+ { 0, { 0, 0, 0}}, // (156, 144)
+ { 0, { 0, 0, 0}}, // (157, 144)
+ { 9, { 0, 0, 0}}, // (158, 144)
+ {111, { 0, 0, 0}}, // (159, 144)
+ {128, { 0, 0, 0}}, // (160, 144)
+ {128, { 0, 0, 0}}, // (161, 144)
+ {128, { 0, 0, 0}}, // (162, 144)
+ {128, { 0, 0, 0}}, // (163, 144)
+ {128, { 0, 0, 0}}, // (164, 144)
+ {128, { 0, 0, 0}}, // (165, 144)
+ {128, { 0, 0, 0}}, // (166, 144)
+ {128, { 0, 0, 0}}, // (167, 144)
+ {128, { 0, 0, 0}}, // (168, 144)
+ {128, { 0, 0, 0}}, // (169, 144)
+ {128, { 0, 0, 0}}, // (170, 144)
+ {128, { 0, 0, 0}}, // (171, 144)
+ {128, { 0, 0, 0}}, // (172, 144)
+ {128, { 0, 0, 0}}, // (173, 144)
+ {128, { 0, 0, 0}}, // (174, 144)
+ {128, { 0, 0, 0}}, // (175, 144)
+ {128, { 0, 0, 0}}, // (176, 144)
+ {128, { 0, 0, 0}}, // (177, 144)
+ {128, { 0, 0, 0}}, // (178, 144)
+ {128, { 0, 0, 0}}, // (179, 144)
+ {128, { 0, 0, 0}}, // ( 0, 145)
+ {128, { 0, 0, 0}}, // ( 1, 145)
+ {128, { 0, 0, 0}}, // ( 2, 145)
+ {128, { 0, 0, 0}}, // ( 3, 145)
+ {128, { 0, 0, 0}}, // ( 4, 145)
+ {128, { 0, 0, 0}}, // ( 5, 145)
+ {128, { 0, 0, 0}}, // ( 6, 145)
+ {128, { 0, 0, 0}}, // ( 7, 145)
+ {128, { 0, 0, 0}}, // ( 8, 145)
+ {128, { 0, 0, 0}}, // ( 9, 145)
+ {128, { 0, 0, 0}}, // ( 10, 145)
+ {128, { 0, 0, 0}}, // ( 11, 145)
+ {128, { 0, 0, 0}}, // ( 12, 145)
+ {128, { 0, 0, 0}}, // ( 13, 145)
+ {128, { 0, 0, 0}}, // ( 14, 145)
+ {128, { 0, 0, 0}}, // ( 15, 145)
+ {128, { 0, 0, 0}}, // ( 16, 145)
+ {128, { 0, 0, 0}}, // ( 17, 145)
+ {128, { 0, 0, 0}}, // ( 18, 145)
+ {128, { 0, 0, 0}}, // ( 19, 145)
+ {128, { 0, 0, 0}}, // ( 20, 145)
+ { 91, { 0, 0, 0}}, // ( 21, 145)
+ { 2, { 0, 0, 0}}, // ( 22, 145)
+ { 0, { 0, 0, 0}}, // ( 23, 145)
+ { 0, { 0, 0, 0}}, // ( 24, 145)
+ { 0, { 0, 0, 0}}, // ( 25, 145)
+ { 0, { 0, 0, 0}}, // ( 26, 145)
+ { 0, { 0, 0, 0}}, // ( 27, 145)
+ { 0, { 0, 0, 0}}, // ( 28, 145)
+ { 0, { 0, 0, 0}}, // ( 29, 145)
+ { 0, { 0, 0, 0}}, // ( 30, 145)
+ { 0, { 0, 0, 0}}, // ( 31, 145)
+ { 0, { 0, 0, 0}}, // ( 32, 145)
+ { 0, { 0, 0, 0}}, // ( 33, 145)
+ { 0, { 0, 0, 0}}, // ( 34, 145)
+ { 0, { 0, 0, 0}}, // ( 35, 145)
+ { 0, { 0, 0, 0}}, // ( 36, 145)
+ { 0, { 0, 0, 0}}, // ( 37, 145)
+ { 0, { 0, 0, 0}}, // ( 38, 145)
+ { 0, { 0, 0, 0}}, // ( 39, 145)
+ { 0, { 0, 0, 0}}, // ( 40, 145)
+ { 0, { 0, 0, 0}}, // ( 41, 145)
+ { 0, { 0, 0, 0}}, // ( 42, 145)
+ { 0, { 0, 0, 0}}, // ( 43, 145)
+ { 0, { 0, 0, 0}}, // ( 44, 145)
+ { 0, { 0, 0, 0}}, // ( 45, 145)
+ { 0, { 0, 0, 0}}, // ( 46, 145)
+ { 0, { 0, 0, 0}}, // ( 47, 145)
+ { 0, { 0, 0, 0}}, // ( 48, 145)
+ { 0, { 0, 0, 0}}, // ( 49, 145)
+ { 0, { 0, 0, 0}}, // ( 50, 145)
+ { 0, { 0, 0, 0}}, // ( 51, 145)
+ { 0, { 0, 0, 0}}, // ( 52, 145)
+ { 0, { 0, 0, 0}}, // ( 53, 145)
+ { 0, { 0, 0, 0}}, // ( 54, 145)
+ { 0, { 0, 0, 0}}, // ( 55, 145)
+ { 0, { 0, 0, 0}}, // ( 56, 145)
+ { 0, { 0, 0, 0}}, // ( 57, 145)
+ { 0, { 0, 0, 0}}, // ( 58, 145)
+ { 0, { 0, 0, 0}}, // ( 59, 145)
+ { 0, { 0, 0, 0}}, // ( 60, 145)
+ { 0, { 0, 0, 0}}, // ( 61, 145)
+ { 0, { 0, 0, 0}}, // ( 62, 145)
+ { 0, { 0, 0, 0}}, // ( 63, 145)
+ { 0, { 0, 0, 0}}, // ( 64, 145)
+ { 0, { 0, 0, 0}}, // ( 65, 145)
+ { 0, { 0, 0, 0}}, // ( 66, 145)
+ { 0, { 0, 0, 0}}, // ( 67, 145)
+ { 0, { 0, 0, 0}}, // ( 68, 145)
+ { 0, { 0, 0, 0}}, // ( 69, 145)
+ { 0, { 0, 0, 0}}, // ( 70, 145)
+ { 0, { 0, 0, 0}}, // ( 71, 145)
+ { 0, { 0, 0, 0}}, // ( 72, 145)
+ { 0, { 0, 0, 0}}, // ( 73, 145)
+ { 0, { 0, 0, 0}}, // ( 74, 145)
+ { 0, { 0, 0, 0}}, // ( 75, 145)
+ { 0, { 0, 0, 0}}, // ( 76, 145)
+ { 0, { 0, 0, 0}}, // ( 77, 145)
+ { 0, { 0, 0, 0}}, // ( 78, 145)
+ { 0, { 0, 0, 0}}, // ( 79, 145)
+ { 0, { 0, 0, 0}}, // ( 80, 145)
+ { 0, { 0, 0, 0}}, // ( 81, 145)
+ { 0, { 0, 0, 0}}, // ( 82, 145)
+ { 0, { 0, 0, 0}}, // ( 83, 145)
+ { 0, { 0, 0, 0}}, // ( 84, 145)
+ { 0, { 0, 0, 0}}, // ( 85, 145)
+ { 0, { 0, 0, 0}}, // ( 86, 145)
+ { 0, { 0, 0, 0}}, // ( 87, 145)
+ { 0, { 0, 0, 0}}, // ( 88, 145)
+ { 0, { 0, 0, 0}}, // ( 89, 145)
+ { 0, { 0, 0, 0}}, // ( 90, 145)
+ { 0, { 0, 0, 0}}, // ( 91, 145)
+ { 0, { 0, 0, 0}}, // ( 92, 145)
+ { 0, { 0, 0, 0}}, // ( 93, 145)
+ { 0, { 0, 0, 0}}, // ( 94, 145)
+ { 0, { 0, 0, 0}}, // ( 95, 145)
+ { 0, { 0, 0, 0}}, // ( 96, 145)
+ { 0, { 0, 0, 0}}, // ( 97, 145)
+ { 0, { 0, 0, 0}}, // ( 98, 145)
+ { 0, { 0, 0, 0}}, // ( 99, 145)
+ { 0, { 0, 0, 0}}, // (100, 145)
+ { 0, { 0, 0, 0}}, // (101, 145)
+ { 0, { 0, 0, 0}}, // (102, 145)
+ { 0, { 0, 0, 0}}, // (103, 145)
+ { 0, { 0, 0, 0}}, // (104, 145)
+ { 0, { 0, 0, 0}}, // (105, 145)
+ { 0, { 0, 0, 0}}, // (106, 145)
+ { 0, { 0, 0, 0}}, // (107, 145)
+ { 0, { 0, 0, 0}}, // (108, 145)
+ { 0, { 0, 0, 0}}, // (109, 145)
+ { 0, { 0, 0, 0}}, // (110, 145)
+ { 0, { 0, 0, 0}}, // (111, 145)
+ { 0, { 0, 0, 0}}, // (112, 145)
+ { 0, { 0, 0, 0}}, // (113, 145)
+ { 0, { 0, 0, 0}}, // (114, 145)
+ { 0, { 0, 0, 0}}, // (115, 145)
+ { 0, { 0, 0, 0}}, // (116, 145)
+ { 0, { 0, 0, 0}}, // (117, 145)
+ { 0, { 0, 0, 0}}, // (118, 145)
+ { 0, { 0, 0, 0}}, // (119, 145)
+ { 0, { 0, 0, 0}}, // (120, 145)
+ { 0, { 0, 0, 0}}, // (121, 145)
+ { 0, { 0, 0, 0}}, // (122, 145)
+ { 0, { 0, 0, 0}}, // (123, 145)
+ { 0, { 0, 0, 0}}, // (124, 145)
+ { 0, { 0, 0, 0}}, // (125, 145)
+ { 0, { 0, 0, 0}}, // (126, 145)
+ { 0, { 0, 0, 0}}, // (127, 145)
+ { 0, { 0, 0, 0}}, // (128, 145)
+ { 0, { 0, 0, 0}}, // (129, 145)
+ { 0, { 0, 0, 0}}, // (130, 145)
+ { 0, { 0, 0, 0}}, // (131, 145)
+ { 0, { 0, 0, 0}}, // (132, 145)
+ { 0, { 0, 0, 0}}, // (133, 145)
+ { 0, { 0, 0, 0}}, // (134, 145)
+ { 0, { 0, 0, 0}}, // (135, 145)
+ { 0, { 0, 0, 0}}, // (136, 145)
+ { 0, { 0, 0, 0}}, // (137, 145)
+ { 0, { 0, 0, 0}}, // (138, 145)
+ { 0, { 0, 0, 0}}, // (139, 145)
+ { 0, { 0, 0, 0}}, // (140, 145)
+ { 0, { 0, 0, 0}}, // (141, 145)
+ { 0, { 0, 0, 0}}, // (142, 145)
+ { 0, { 0, 0, 0}}, // (143, 145)
+ { 0, { 0, 0, 0}}, // (144, 145)
+ { 0, { 0, 0, 0}}, // (145, 145)
+ { 0, { 0, 0, 0}}, // (146, 145)
+ { 0, { 0, 0, 0}}, // (147, 145)
+ { 0, { 0, 0, 0}}, // (148, 145)
+ { 0, { 0, 0, 0}}, // (149, 145)
+ { 0, { 0, 0, 0}}, // (150, 145)
+ { 0, { 0, 0, 0}}, // (151, 145)
+ { 0, { 0, 0, 0}}, // (152, 145)
+ { 0, { 0, 0, 0}}, // (153, 145)
+ { 0, { 0, 0, 0}}, // (154, 145)
+ { 0, { 0, 0, 0}}, // (155, 145)
+ { 0, { 0, 0, 0}}, // (156, 145)
+ { 1, { 0, 0, 0}}, // (157, 145)
+ { 91, { 0, 0, 0}}, // (158, 145)
+ {128, { 0, 0, 0}}, // (159, 145)
+ {128, { 0, 0, 0}}, // (160, 145)
+ {128, { 0, 0, 0}}, // (161, 145)
+ {128, { 0, 0, 0}}, // (162, 145)
+ {128, { 0, 0, 0}}, // (163, 145)
+ {128, { 0, 0, 0}}, // (164, 145)
+ {128, { 0, 0, 0}}, // (165, 145)
+ {128, { 0, 0, 0}}, // (166, 145)
+ {128, { 0, 0, 0}}, // (167, 145)
+ {128, { 0, 0, 0}}, // (168, 145)
+ {128, { 0, 0, 0}}, // (169, 145)
+ {128, { 0, 0, 0}}, // (170, 145)
+ {128, { 0, 0, 0}}, // (171, 145)
+ {128, { 0, 0, 0}}, // (172, 145)
+ {128, { 0, 0, 0}}, // (173, 145)
+ {128, { 0, 0, 0}}, // (174, 145)
+ {128, { 0, 0, 0}}, // (175, 145)
+ {128, { 0, 0, 0}}, // (176, 145)
+ {128, { 0, 0, 0}}, // (177, 145)
+ {128, { 0, 0, 0}}, // (178, 145)
+ {128, { 0, 0, 0}}, // (179, 145)
+ {128, { 0, 0, 0}}, // ( 0, 146)
+ {128, { 0, 0, 0}}, // ( 1, 146)
+ {128, { 0, 0, 0}}, // ( 2, 146)
+ {128, { 0, 0, 0}}, // ( 3, 146)
+ {128, { 0, 0, 0}}, // ( 4, 146)
+ {128, { 0, 0, 0}}, // ( 5, 146)
+ {128, { 0, 0, 0}}, // ( 6, 146)
+ {128, { 0, 0, 0}}, // ( 7, 146)
+ {128, { 0, 0, 0}}, // ( 8, 146)
+ {128, { 0, 0, 0}}, // ( 9, 146)
+ {128, { 0, 0, 0}}, // ( 10, 146)
+ {128, { 0, 0, 0}}, // ( 11, 146)
+ {128, { 0, 0, 0}}, // ( 12, 146)
+ {128, { 0, 0, 0}}, // ( 13, 146)
+ {128, { 0, 0, 0}}, // ( 14, 146)
+ {128, { 0, 0, 0}}, // ( 15, 146)
+ {128, { 0, 0, 0}}, // ( 16, 146)
+ {128, { 0, 0, 0}}, // ( 17, 146)
+ {128, { 0, 0, 0}}, // ( 18, 146)
+ {128, { 0, 0, 0}}, // ( 19, 146)
+ {128, { 0, 0, 0}}, // ( 20, 146)
+ {128, { 0, 0, 0}}, // ( 21, 146)
+ { 68, { 0, 0, 0}}, // ( 22, 146)
+ { 0, { 0, 0, 0}}, // ( 23, 146)
+ { 0, { 0, 0, 0}}, // ( 24, 146)
+ { 0, { 0, 0, 0}}, // ( 25, 146)
+ { 0, { 0, 0, 0}}, // ( 26, 146)
+ { 0, { 0, 0, 0}}, // ( 27, 146)
+ { 0, { 0, 0, 0}}, // ( 28, 146)
+ { 0, { 0, 0, 0}}, // ( 29, 146)
+ { 0, { 0, 0, 0}}, // ( 30, 146)
+ { 0, { 0, 0, 0}}, // ( 31, 146)
+ { 0, { 0, 0, 0}}, // ( 32, 146)
+ { 0, { 0, 0, 0}}, // ( 33, 146)
+ { 0, { 0, 0, 0}}, // ( 34, 146)
+ { 0, { 0, 0, 0}}, // ( 35, 146)
+ { 0, { 0, 0, 0}}, // ( 36, 146)
+ { 0, { 0, 0, 0}}, // ( 37, 146)
+ { 0, { 0, 0, 0}}, // ( 38, 146)
+ { 0, { 0, 0, 0}}, // ( 39, 146)
+ { 0, { 0, 0, 0}}, // ( 40, 146)
+ { 0, { 0, 0, 0}}, // ( 41, 146)
+ { 0, { 0, 0, 0}}, // ( 42, 146)
+ { 0, { 0, 0, 0}}, // ( 43, 146)
+ { 0, { 0, 0, 0}}, // ( 44, 146)
+ { 0, { 0, 0, 0}}, // ( 45, 146)
+ { 0, { 0, 0, 0}}, // ( 46, 146)
+ { 0, { 0, 0, 0}}, // ( 47, 146)
+ { 0, { 0, 0, 0}}, // ( 48, 146)
+ { 0, { 0, 0, 0}}, // ( 49, 146)
+ { 0, { 0, 0, 0}}, // ( 50, 146)
+ { 0, { 0, 0, 0}}, // ( 51, 146)
+ { 0, { 0, 0, 0}}, // ( 52, 146)
+ { 0, { 0, 0, 0}}, // ( 53, 146)
+ { 0, { 0, 0, 0}}, // ( 54, 146)
+ { 0, { 0, 0, 0}}, // ( 55, 146)
+ { 0, { 0, 0, 0}}, // ( 56, 146)
+ { 0, { 0, 0, 0}}, // ( 57, 146)
+ { 0, { 0, 0, 0}}, // ( 58, 146)
+ { 0, { 0, 0, 0}}, // ( 59, 146)
+ { 0, { 0, 0, 0}}, // ( 60, 146)
+ { 0, { 0, 0, 0}}, // ( 61, 146)
+ { 0, { 0, 0, 0}}, // ( 62, 146)
+ { 0, { 0, 0, 0}}, // ( 63, 146)
+ { 0, { 0, 0, 0}}, // ( 64, 146)
+ { 0, { 0, 0, 0}}, // ( 65, 146)
+ { 0, { 0, 0, 0}}, // ( 66, 146)
+ { 0, { 0, 0, 0}}, // ( 67, 146)
+ { 0, { 0, 0, 0}}, // ( 68, 146)
+ { 0, { 0, 0, 0}}, // ( 69, 146)
+ { 0, { 0, 0, 0}}, // ( 70, 146)
+ { 0, { 0, 0, 0}}, // ( 71, 146)
+ { 0, { 0, 0, 0}}, // ( 72, 146)
+ { 0, { 0, 0, 0}}, // ( 73, 146)
+ { 0, { 0, 0, 0}}, // ( 74, 146)
+ { 0, { 0, 0, 0}}, // ( 75, 146)
+ { 0, { 0, 0, 0}}, // ( 76, 146)
+ { 0, { 0, 0, 0}}, // ( 77, 146)
+ { 0, { 0, 0, 0}}, // ( 78, 146)
+ { 0, { 0, 0, 0}}, // ( 79, 146)
+ { 0, { 0, 0, 0}}, // ( 80, 146)
+ { 0, { 0, 0, 0}}, // ( 81, 146)
+ { 0, { 0, 0, 0}}, // ( 82, 146)
+ { 0, { 0, 0, 0}}, // ( 83, 146)
+ { 0, { 0, 0, 0}}, // ( 84, 146)
+ { 0, { 0, 0, 0}}, // ( 85, 146)
+ { 0, { 0, 0, 0}}, // ( 86, 146)
+ { 0, { 0, 0, 0}}, // ( 87, 146)
+ { 0, { 0, 0, 0}}, // ( 88, 146)
+ { 0, { 0, 0, 0}}, // ( 89, 146)
+ { 0, { 0, 0, 0}}, // ( 90, 146)
+ { 0, { 0, 0, 0}}, // ( 91, 146)
+ { 0, { 0, 0, 0}}, // ( 92, 146)
+ { 0, { 0, 0, 0}}, // ( 93, 146)
+ { 0, { 0, 0, 0}}, // ( 94, 146)
+ { 0, { 0, 0, 0}}, // ( 95, 146)
+ { 0, { 0, 0, 0}}, // ( 96, 146)
+ { 0, { 0, 0, 0}}, // ( 97, 146)
+ { 0, { 0, 0, 0}}, // ( 98, 146)
+ { 0, { 0, 0, 0}}, // ( 99, 146)
+ { 0, { 0, 0, 0}}, // (100, 146)
+ { 0, { 0, 0, 0}}, // (101, 146)
+ { 0, { 0, 0, 0}}, // (102, 146)
+ { 0, { 0, 0, 0}}, // (103, 146)
+ { 0, { 0, 0, 0}}, // (104, 146)
+ { 0, { 0, 0, 0}}, // (105, 146)
+ { 0, { 0, 0, 0}}, // (106, 146)
+ { 0, { 0, 0, 0}}, // (107, 146)
+ { 0, { 0, 0, 0}}, // (108, 146)
+ { 0, { 0, 0, 0}}, // (109, 146)
+ { 0, { 0, 0, 0}}, // (110, 146)
+ { 0, { 0, 0, 0}}, // (111, 146)
+ { 0, { 0, 0, 0}}, // (112, 146)
+ { 0, { 0, 0, 0}}, // (113, 146)
+ { 0, { 0, 0, 0}}, // (114, 146)
+ { 0, { 0, 0, 0}}, // (115, 146)
+ { 0, { 0, 0, 0}}, // (116, 146)
+ { 0, { 0, 0, 0}}, // (117, 146)
+ { 0, { 0, 0, 0}}, // (118, 146)
+ { 0, { 0, 0, 0}}, // (119, 146)
+ { 0, { 0, 0, 0}}, // (120, 146)
+ { 0, { 0, 0, 0}}, // (121, 146)
+ { 0, { 0, 0, 0}}, // (122, 146)
+ { 0, { 0, 0, 0}}, // (123, 146)
+ { 0, { 0, 0, 0}}, // (124, 146)
+ { 0, { 0, 0, 0}}, // (125, 146)
+ { 0, { 0, 0, 0}}, // (126, 146)
+ { 0, { 0, 0, 0}}, // (127, 146)
+ { 0, { 0, 0, 0}}, // (128, 146)
+ { 0, { 0, 0, 0}}, // (129, 146)
+ { 0, { 0, 0, 0}}, // (130, 146)
+ { 0, { 0, 0, 0}}, // (131, 146)
+ { 0, { 0, 0, 0}}, // (132, 146)
+ { 0, { 0, 0, 0}}, // (133, 146)
+ { 0, { 0, 0, 0}}, // (134, 146)
+ { 0, { 0, 0, 0}}, // (135, 146)
+ { 0, { 0, 0, 0}}, // (136, 146)
+ { 0, { 0, 0, 0}}, // (137, 146)
+ { 0, { 0, 0, 0}}, // (138, 146)
+ { 0, { 0, 0, 0}}, // (139, 146)
+ { 0, { 0, 0, 0}}, // (140, 146)
+ { 0, { 0, 0, 0}}, // (141, 146)
+ { 0, { 0, 0, 0}}, // (142, 146)
+ { 0, { 0, 0, 0}}, // (143, 146)
+ { 0, { 0, 0, 0}}, // (144, 146)
+ { 0, { 0, 0, 0}}, // (145, 146)
+ { 0, { 0, 0, 0}}, // (146, 146)
+ { 0, { 0, 0, 0}}, // (147, 146)
+ { 0, { 0, 0, 0}}, // (148, 146)
+ { 0, { 0, 0, 0}}, // (149, 146)
+ { 0, { 0, 0, 0}}, // (150, 146)
+ { 0, { 0, 0, 0}}, // (151, 146)
+ { 0, { 0, 0, 0}}, // (152, 146)
+ { 0, { 0, 0, 0}}, // (153, 146)
+ { 0, { 0, 0, 0}}, // (154, 146)
+ { 0, { 0, 0, 0}}, // (155, 146)
+ { 0, { 0, 0, 0}}, // (156, 146)
+ { 68, { 0, 0, 0}}, // (157, 146)
+ {128, { 0, 0, 0}}, // (158, 146)
+ {128, { 0, 0, 0}}, // (159, 146)
+ {128, { 0, 0, 0}}, // (160, 146)
+ {128, { 0, 0, 0}}, // (161, 146)
+ {128, { 0, 0, 0}}, // (162, 146)
+ {128, { 0, 0, 0}}, // (163, 146)
+ {128, { 0, 0, 0}}, // (164, 146)
+ {128, { 0, 0, 0}}, // (165, 146)
+ {128, { 0, 0, 0}}, // (166, 146)
+ {128, { 0, 0, 0}}, // (167, 146)
+ {128, { 0, 0, 0}}, // (168, 146)
+ {128, { 0, 0, 0}}, // (169, 146)
+ {128, { 0, 0, 0}}, // (170, 146)
+ {128, { 0, 0, 0}}, // (171, 146)
+ {128, { 0, 0, 0}}, // (172, 146)
+ {128, { 0, 0, 0}}, // (173, 146)
+ {128, { 0, 0, 0}}, // (174, 146)
+ {128, { 0, 0, 0}}, // (175, 146)
+ {128, { 0, 0, 0}}, // (176, 146)
+ {128, { 0, 0, 0}}, // (177, 146)
+ {128, { 0, 0, 0}}, // (178, 146)
+ {128, { 0, 0, 0}}, // (179, 146)
+ {128, { 0, 0, 0}}, // ( 0, 147)
+ {128, { 0, 0, 0}}, // ( 1, 147)
+ {128, { 0, 0, 0}}, // ( 2, 147)
+ {128, { 0, 0, 0}}, // ( 3, 147)
+ {128, { 0, 0, 0}}, // ( 4, 147)
+ {128, { 0, 0, 0}}, // ( 5, 147)
+ {128, { 0, 0, 0}}, // ( 6, 147)
+ {128, { 0, 0, 0}}, // ( 7, 147)
+ {128, { 0, 0, 0}}, // ( 8, 147)
+ {128, { 0, 0, 0}}, // ( 9, 147)
+ {128, { 0, 0, 0}}, // ( 10, 147)
+ {128, { 0, 0, 0}}, // ( 11, 147)
+ {128, { 0, 0, 0}}, // ( 12, 147)
+ {128, { 0, 0, 0}}, // ( 13, 147)
+ {128, { 0, 0, 0}}, // ( 14, 147)
+ {128, { 0, 0, 0}}, // ( 15, 147)
+ {128, { 0, 0, 0}}, // ( 16, 147)
+ {128, { 0, 0, 0}}, // ( 17, 147)
+ {128, { 0, 0, 0}}, // ( 18, 147)
+ {128, { 0, 0, 0}}, // ( 19, 147)
+ {128, { 0, 0, 0}}, // ( 20, 147)
+ {128, { 0, 0, 0}}, // ( 21, 147)
+ {128, { 0, 0, 0}}, // ( 22, 147)
+ { 53, { 0, 0, 0}}, // ( 23, 147)
+ { 0, { 0, 0, 0}}, // ( 24, 147)
+ { 0, { 0, 0, 0}}, // ( 25, 147)
+ { 0, { 0, 0, 0}}, // ( 26, 147)
+ { 0, { 0, 0, 0}}, // ( 27, 147)
+ { 0, { 0, 0, 0}}, // ( 28, 147)
+ { 0, { 0, 0, 0}}, // ( 29, 147)
+ { 0, { 0, 0, 0}}, // ( 30, 147)
+ { 0, { 0, 0, 0}}, // ( 31, 147)
+ { 0, { 0, 0, 0}}, // ( 32, 147)
+ { 0, { 0, 0, 0}}, // ( 33, 147)
+ { 0, { 0, 0, 0}}, // ( 34, 147)
+ { 0, { 0, 0, 0}}, // ( 35, 147)
+ { 0, { 0, 0, 0}}, // ( 36, 147)
+ { 0, { 0, 0, 0}}, // ( 37, 147)
+ { 0, { 0, 0, 0}}, // ( 38, 147)
+ { 0, { 0, 0, 0}}, // ( 39, 147)
+ { 0, { 0, 0, 0}}, // ( 40, 147)
+ { 0, { 0, 0, 0}}, // ( 41, 147)
+ { 0, { 0, 0, 0}}, // ( 42, 147)
+ { 0, { 0, 0, 0}}, // ( 43, 147)
+ { 0, { 0, 0, 0}}, // ( 44, 147)
+ { 0, { 0, 0, 0}}, // ( 45, 147)
+ { 0, { 0, 0, 0}}, // ( 46, 147)
+ { 0, { 0, 0, 0}}, // ( 47, 147)
+ { 0, { 0, 0, 0}}, // ( 48, 147)
+ { 0, { 0, 0, 0}}, // ( 49, 147)
+ { 0, { 0, 0, 0}}, // ( 50, 147)
+ { 0, { 0, 0, 0}}, // ( 51, 147)
+ { 0, { 0, 0, 0}}, // ( 52, 147)
+ { 0, { 0, 0, 0}}, // ( 53, 147)
+ { 0, { 0, 0, 0}}, // ( 54, 147)
+ { 0, { 0, 0, 0}}, // ( 55, 147)
+ { 0, { 0, 0, 0}}, // ( 56, 147)
+ { 0, { 0, 0, 0}}, // ( 57, 147)
+ { 0, { 0, 0, 0}}, // ( 58, 147)
+ { 0, { 0, 0, 0}}, // ( 59, 147)
+ { 0, { 0, 0, 0}}, // ( 60, 147)
+ { 0, { 0, 0, 0}}, // ( 61, 147)
+ { 0, { 0, 0, 0}}, // ( 62, 147)
+ { 0, { 0, 0, 0}}, // ( 63, 147)
+ { 0, { 0, 0, 0}}, // ( 64, 147)
+ { 0, { 0, 0, 0}}, // ( 65, 147)
+ { 0, { 0, 0, 0}}, // ( 66, 147)
+ { 0, { 0, 0, 0}}, // ( 67, 147)
+ { 0, { 0, 0, 0}}, // ( 68, 147)
+ { 0, { 0, 0, 0}}, // ( 69, 147)
+ { 0, { 0, 0, 0}}, // ( 70, 147)
+ { 0, { 0, 0, 0}}, // ( 71, 147)
+ { 0, { 0, 0, 0}}, // ( 72, 147)
+ { 0, { 0, 0, 0}}, // ( 73, 147)
+ { 0, { 0, 0, 0}}, // ( 74, 147)
+ { 0, { 0, 0, 0}}, // ( 75, 147)
+ { 0, { 0, 0, 0}}, // ( 76, 147)
+ { 0, { 0, 0, 0}}, // ( 77, 147)
+ { 0, { 0, 0, 0}}, // ( 78, 147)
+ { 0, { 0, 0, 0}}, // ( 79, 147)
+ { 0, { 0, 0, 0}}, // ( 80, 147)
+ { 0, { 0, 0, 0}}, // ( 81, 147)
+ { 0, { 0, 0, 0}}, // ( 82, 147)
+ { 0, { 0, 0, 0}}, // ( 83, 147)
+ { 0, { 0, 0, 0}}, // ( 84, 147)
+ { 0, { 0, 0, 0}}, // ( 85, 147)
+ { 0, { 0, 0, 0}}, // ( 86, 147)
+ { 0, { 0, 0, 0}}, // ( 87, 147)
+ { 0, { 0, 0, 0}}, // ( 88, 147)
+ { 0, { 0, 0, 0}}, // ( 89, 147)
+ { 0, { 0, 0, 0}}, // ( 90, 147)
+ { 0, { 0, 0, 0}}, // ( 91, 147)
+ { 0, { 0, 0, 0}}, // ( 92, 147)
+ { 0, { 0, 0, 0}}, // ( 93, 147)
+ { 0, { 0, 0, 0}}, // ( 94, 147)
+ { 0, { 0, 0, 0}}, // ( 95, 147)
+ { 0, { 0, 0, 0}}, // ( 96, 147)
+ { 0, { 0, 0, 0}}, // ( 97, 147)
+ { 0, { 0, 0, 0}}, // ( 98, 147)
+ { 0, { 0, 0, 0}}, // ( 99, 147)
+ { 0, { 0, 0, 0}}, // (100, 147)
+ { 0, { 0, 0, 0}}, // (101, 147)
+ { 0, { 0, 0, 0}}, // (102, 147)
+ { 0, { 0, 0, 0}}, // (103, 147)
+ { 0, { 0, 0, 0}}, // (104, 147)
+ { 0, { 0, 0, 0}}, // (105, 147)
+ { 0, { 0, 0, 0}}, // (106, 147)
+ { 0, { 0, 0, 0}}, // (107, 147)
+ { 0, { 0, 0, 0}}, // (108, 147)
+ { 0, { 0, 0, 0}}, // (109, 147)
+ { 0, { 0, 0, 0}}, // (110, 147)
+ { 0, { 0, 0, 0}}, // (111, 147)
+ { 0, { 0, 0, 0}}, // (112, 147)
+ { 0, { 0, 0, 0}}, // (113, 147)
+ { 0, { 0, 0, 0}}, // (114, 147)
+ { 0, { 0, 0, 0}}, // (115, 147)
+ { 0, { 0, 0, 0}}, // (116, 147)
+ { 0, { 0, 0, 0}}, // (117, 147)
+ { 0, { 0, 0, 0}}, // (118, 147)
+ { 0, { 0, 0, 0}}, // (119, 147)
+ { 0, { 0, 0, 0}}, // (120, 147)
+ { 0, { 0, 0, 0}}, // (121, 147)
+ { 0, { 0, 0, 0}}, // (122, 147)
+ { 0, { 0, 0, 0}}, // (123, 147)
+ { 0, { 0, 0, 0}}, // (124, 147)
+ { 0, { 0, 0, 0}}, // (125, 147)
+ { 0, { 0, 0, 0}}, // (126, 147)
+ { 0, { 0, 0, 0}}, // (127, 147)
+ { 0, { 0, 0, 0}}, // (128, 147)
+ { 0, { 0, 0, 0}}, // (129, 147)
+ { 0, { 0, 0, 0}}, // (130, 147)
+ { 0, { 0, 0, 0}}, // (131, 147)
+ { 0, { 0, 0, 0}}, // (132, 147)
+ { 0, { 0, 0, 0}}, // (133, 147)
+ { 0, { 0, 0, 0}}, // (134, 147)
+ { 0, { 0, 0, 0}}, // (135, 147)
+ { 0, { 0, 0, 0}}, // (136, 147)
+ { 0, { 0, 0, 0}}, // (137, 147)
+ { 0, { 0, 0, 0}}, // (138, 147)
+ { 0, { 0, 0, 0}}, // (139, 147)
+ { 0, { 0, 0, 0}}, // (140, 147)
+ { 0, { 0, 0, 0}}, // (141, 147)
+ { 0, { 0, 0, 0}}, // (142, 147)
+ { 0, { 0, 0, 0}}, // (143, 147)
+ { 0, { 0, 0, 0}}, // (144, 147)
+ { 0, { 0, 0, 0}}, // (145, 147)
+ { 0, { 0, 0, 0}}, // (146, 147)
+ { 0, { 0, 0, 0}}, // (147, 147)
+ { 0, { 0, 0, 0}}, // (148, 147)
+ { 0, { 0, 0, 0}}, // (149, 147)
+ { 0, { 0, 0, 0}}, // (150, 147)
+ { 0, { 0, 0, 0}}, // (151, 147)
+ { 0, { 0, 0, 0}}, // (152, 147)
+ { 0, { 0, 0, 0}}, // (153, 147)
+ { 0, { 0, 0, 0}}, // (154, 147)
+ { 0, { 0, 0, 0}}, // (155, 147)
+ { 53, { 0, 0, 0}}, // (156, 147)
+ {128, { 0, 0, 0}}, // (157, 147)
+ {128, { 0, 0, 0}}, // (158, 147)
+ {128, { 0, 0, 0}}, // (159, 147)
+ {128, { 0, 0, 0}}, // (160, 147)
+ {128, { 0, 0, 0}}, // (161, 147)
+ {128, { 0, 0, 0}}, // (162, 147)
+ {128, { 0, 0, 0}}, // (163, 147)
+ {128, { 0, 0, 0}}, // (164, 147)
+ {128, { 0, 0, 0}}, // (165, 147)
+ {128, { 0, 0, 0}}, // (166, 147)
+ {128, { 0, 0, 0}}, // (167, 147)
+ {128, { 0, 0, 0}}, // (168, 147)
+ {128, { 0, 0, 0}}, // (169, 147)
+ {128, { 0, 0, 0}}, // (170, 147)
+ {128, { 0, 0, 0}}, // (171, 147)
+ {128, { 0, 0, 0}}, // (172, 147)
+ {128, { 0, 0, 0}}, // (173, 147)
+ {128, { 0, 0, 0}}, // (174, 147)
+ {128, { 0, 0, 0}}, // (175, 147)
+ {128, { 0, 0, 0}}, // (176, 147)
+ {128, { 0, 0, 0}}, // (177, 147)
+ {128, { 0, 0, 0}}, // (178, 147)
+ {128, { 0, 0, 0}}, // (179, 147)
+ {128, { 0, 0, 0}}, // ( 0, 148)
+ {128, { 0, 0, 0}}, // ( 1, 148)
+ {128, { 0, 0, 0}}, // ( 2, 148)
+ {128, { 0, 0, 0}}, // ( 3, 148)
+ {128, { 0, 0, 0}}, // ( 4, 148)
+ {128, { 0, 0, 0}}, // ( 5, 148)
+ {128, { 0, 0, 0}}, // ( 6, 148)
+ {128, { 0, 0, 0}}, // ( 7, 148)
+ {128, { 0, 0, 0}}, // ( 8, 148)
+ {128, { 0, 0, 0}}, // ( 9, 148)
+ {128, { 0, 0, 0}}, // ( 10, 148)
+ {128, { 0, 0, 0}}, // ( 11, 148)
+ {128, { 0, 0, 0}}, // ( 12, 148)
+ {128, { 0, 0, 0}}, // ( 13, 148)
+ {128, { 0, 0, 0}}, // ( 14, 148)
+ {128, { 0, 0, 0}}, // ( 15, 148)
+ {128, { 0, 0, 0}}, // ( 16, 148)
+ {128, { 0, 0, 0}}, // ( 17, 148)
+ {128, { 0, 0, 0}}, // ( 18, 148)
+ {128, { 0, 0, 0}}, // ( 19, 148)
+ {128, { 0, 0, 0}}, // ( 20, 148)
+ {128, { 0, 0, 0}}, // ( 21, 148)
+ {128, { 0, 0, 0}}, // ( 22, 148)
+ {126, { 0, 0, 0}}, // ( 23, 148)
+ { 39, { 0, 0, 0}}, // ( 24, 148)
+ { 0, { 0, 0, 0}}, // ( 25, 148)
+ { 0, { 0, 0, 0}}, // ( 26, 148)
+ { 0, { 0, 0, 0}}, // ( 27, 148)
+ { 0, { 0, 0, 0}}, // ( 28, 148)
+ { 0, { 0, 0, 0}}, // ( 29, 148)
+ { 0, { 0, 0, 0}}, // ( 30, 148)
+ { 0, { 0, 0, 0}}, // ( 31, 148)
+ { 0, { 0, 0, 0}}, // ( 32, 148)
+ { 0, { 0, 0, 0}}, // ( 33, 148)
+ { 0, { 0, 0, 0}}, // ( 34, 148)
+ { 0, { 0, 0, 0}}, // ( 35, 148)
+ { 0, { 0, 0, 0}}, // ( 36, 148)
+ { 0, { 0, 0, 0}}, // ( 37, 148)
+ { 0, { 0, 0, 0}}, // ( 38, 148)
+ { 0, { 0, 0, 0}}, // ( 39, 148)
+ { 0, { 0, 0, 0}}, // ( 40, 148)
+ { 0, { 0, 0, 0}}, // ( 41, 148)
+ { 0, { 0, 0, 0}}, // ( 42, 148)
+ { 0, { 0, 0, 0}}, // ( 43, 148)
+ { 0, { 0, 0, 0}}, // ( 44, 148)
+ { 0, { 0, 0, 0}}, // ( 45, 148)
+ { 0, { 0, 0, 0}}, // ( 46, 148)
+ { 0, { 0, 0, 0}}, // ( 47, 148)
+ { 0, { 0, 0, 0}}, // ( 48, 148)
+ { 0, { 0, 0, 0}}, // ( 49, 148)
+ { 0, { 0, 0, 0}}, // ( 50, 148)
+ { 0, { 0, 0, 0}}, // ( 51, 148)
+ { 0, { 0, 0, 0}}, // ( 52, 148)
+ { 0, { 0, 0, 0}}, // ( 53, 148)
+ { 0, { 0, 0, 0}}, // ( 54, 148)
+ { 0, { 0, 0, 0}}, // ( 55, 148)
+ { 0, { 0, 0, 0}}, // ( 56, 148)
+ { 0, { 0, 0, 0}}, // ( 57, 148)
+ { 0, { 0, 0, 0}}, // ( 58, 148)
+ { 0, { 0, 0, 0}}, // ( 59, 148)
+ { 0, { 0, 0, 0}}, // ( 60, 148)
+ { 0, { 0, 0, 0}}, // ( 61, 148)
+ { 0, { 0, 0, 0}}, // ( 62, 148)
+ { 0, { 0, 0, 0}}, // ( 63, 148)
+ { 0, { 0, 0, 0}}, // ( 64, 148)
+ { 0, { 0, 0, 0}}, // ( 65, 148)
+ { 0, { 0, 0, 0}}, // ( 66, 148)
+ { 0, { 0, 0, 0}}, // ( 67, 148)
+ { 0, { 0, 0, 0}}, // ( 68, 148)
+ { 0, { 0, 0, 0}}, // ( 69, 148)
+ { 0, { 0, 0, 0}}, // ( 70, 148)
+ { 0, { 0, 0, 0}}, // ( 71, 148)
+ { 0, { 0, 0, 0}}, // ( 72, 148)
+ { 0, { 0, 0, 0}}, // ( 73, 148)
+ { 0, { 0, 0, 0}}, // ( 74, 148)
+ { 0, { 0, 0, 0}}, // ( 75, 148)
+ { 0, { 0, 0, 0}}, // ( 76, 148)
+ { 0, { 0, 0, 0}}, // ( 77, 148)
+ { 0, { 0, 0, 0}}, // ( 78, 148)
+ { 0, { 0, 0, 0}}, // ( 79, 148)
+ { 0, { 0, 0, 0}}, // ( 80, 148)
+ { 0, { 0, 0, 0}}, // ( 81, 148)
+ { 0, { 0, 0, 0}}, // ( 82, 148)
+ { 0, { 0, 0, 0}}, // ( 83, 148)
+ { 0, { 0, 0, 0}}, // ( 84, 148)
+ { 0, { 0, 0, 0}}, // ( 85, 148)
+ { 0, { 0, 0, 0}}, // ( 86, 148)
+ { 0, { 0, 0, 0}}, // ( 87, 148)
+ { 0, { 0, 0, 0}}, // ( 88, 148)
+ { 0, { 0, 0, 0}}, // ( 89, 148)
+ { 0, { 0, 0, 0}}, // ( 90, 148)
+ { 0, { 0, 0, 0}}, // ( 91, 148)
+ { 0, { 0, 0, 0}}, // ( 92, 148)
+ { 0, { 0, 0, 0}}, // ( 93, 148)
+ { 0, { 0, 0, 0}}, // ( 94, 148)
+ { 0, { 0, 0, 0}}, // ( 95, 148)
+ { 0, { 0, 0, 0}}, // ( 96, 148)
+ { 0, { 0, 0, 0}}, // ( 97, 148)
+ { 0, { 0, 0, 0}}, // ( 98, 148)
+ { 0, { 0, 0, 0}}, // ( 99, 148)
+ { 0, { 0, 0, 0}}, // (100, 148)
+ { 0, { 0, 0, 0}}, // (101, 148)
+ { 0, { 0, 0, 0}}, // (102, 148)
+ { 0, { 0, 0, 0}}, // (103, 148)
+ { 0, { 0, 0, 0}}, // (104, 148)
+ { 0, { 0, 0, 0}}, // (105, 148)
+ { 0, { 0, 0, 0}}, // (106, 148)
+ { 0, { 0, 0, 0}}, // (107, 148)
+ { 0, { 0, 0, 0}}, // (108, 148)
+ { 0, { 0, 0, 0}}, // (109, 148)
+ { 0, { 0, 0, 0}}, // (110, 148)
+ { 0, { 0, 0, 0}}, // (111, 148)
+ { 0, { 0, 0, 0}}, // (112, 148)
+ { 0, { 0, 0, 0}}, // (113, 148)
+ { 0, { 0, 0, 0}}, // (114, 148)
+ { 0, { 0, 0, 0}}, // (115, 148)
+ { 0, { 0, 0, 0}}, // (116, 148)
+ { 0, { 0, 0, 0}}, // (117, 148)
+ { 0, { 0, 0, 0}}, // (118, 148)
+ { 0, { 0, 0, 0}}, // (119, 148)
+ { 0, { 0, 0, 0}}, // (120, 148)
+ { 0, { 0, 0, 0}}, // (121, 148)
+ { 0, { 0, 0, 0}}, // (122, 148)
+ { 0, { 0, 0, 0}}, // (123, 148)
+ { 0, { 0, 0, 0}}, // (124, 148)
+ { 0, { 0, 0, 0}}, // (125, 148)
+ { 0, { 0, 0, 0}}, // (126, 148)
+ { 0, { 0, 0, 0}}, // (127, 148)
+ { 0, { 0, 0, 0}}, // (128, 148)
+ { 0, { 0, 0, 0}}, // (129, 148)
+ { 0, { 0, 0, 0}}, // (130, 148)
+ { 0, { 0, 0, 0}}, // (131, 148)
+ { 0, { 0, 0, 0}}, // (132, 148)
+ { 0, { 0, 0, 0}}, // (133, 148)
+ { 0, { 0, 0, 0}}, // (134, 148)
+ { 0, { 0, 0, 0}}, // (135, 148)
+ { 0, { 0, 0, 0}}, // (136, 148)
+ { 0, { 0, 0, 0}}, // (137, 148)
+ { 0, { 0, 0, 0}}, // (138, 148)
+ { 0, { 0, 0, 0}}, // (139, 148)
+ { 0, { 0, 0, 0}}, // (140, 148)
+ { 0, { 0, 0, 0}}, // (141, 148)
+ { 0, { 0, 0, 0}}, // (142, 148)
+ { 0, { 0, 0, 0}}, // (143, 148)
+ { 0, { 0, 0, 0}}, // (144, 148)
+ { 0, { 0, 0, 0}}, // (145, 148)
+ { 0, { 0, 0, 0}}, // (146, 148)
+ { 0, { 0, 0, 0}}, // (147, 148)
+ { 0, { 0, 0, 0}}, // (148, 148)
+ { 0, { 0, 0, 0}}, // (149, 148)
+ { 0, { 0, 0, 0}}, // (150, 148)
+ { 0, { 0, 0, 0}}, // (151, 148)
+ { 0, { 0, 0, 0}}, // (152, 148)
+ { 0, { 0, 0, 0}}, // (153, 148)
+ { 0, { 0, 0, 0}}, // (154, 148)
+ { 39, { 0, 0, 0}}, // (155, 148)
+ {126, { 0, 0, 0}}, // (156, 148)
+ {128, { 0, 0, 0}}, // (157, 148)
+ {128, { 0, 0, 0}}, // (158, 148)
+ {128, { 0, 0, 0}}, // (159, 148)
+ {128, { 0, 0, 0}}, // (160, 148)
+ {128, { 0, 0, 0}}, // (161, 148)
+ {128, { 0, 0, 0}}, // (162, 148)
+ {128, { 0, 0, 0}}, // (163, 148)
+ {128, { 0, 0, 0}}, // (164, 148)
+ {128, { 0, 0, 0}}, // (165, 148)
+ {128, { 0, 0, 0}}, // (166, 148)
+ {128, { 0, 0, 0}}, // (167, 148)
+ {128, { 0, 0, 0}}, // (168, 148)
+ {128, { 0, 0, 0}}, // (169, 148)
+ {128, { 0, 0, 0}}, // (170, 148)
+ {128, { 0, 0, 0}}, // (171, 148)
+ {128, { 0, 0, 0}}, // (172, 148)
+ {128, { 0, 0, 0}}, // (173, 148)
+ {128, { 0, 0, 0}}, // (174, 148)
+ {128, { 0, 0, 0}}, // (175, 148)
+ {128, { 0, 0, 0}}, // (176, 148)
+ {128, { 0, 0, 0}}, // (177, 148)
+ {128, { 0, 0, 0}}, // (178, 148)
+ {128, { 0, 0, 0}}, // (179, 148)
+ {128, { 0, 0, 0}}, // ( 0, 149)
+ {128, { 0, 0, 0}}, // ( 1, 149)
+ {128, { 0, 0, 0}}, // ( 2, 149)
+ {128, { 0, 0, 0}}, // ( 3, 149)
+ {128, { 0, 0, 0}}, // ( 4, 149)
+ {128, { 0, 0, 0}}, // ( 5, 149)
+ {128, { 0, 0, 0}}, // ( 6, 149)
+ {128, { 0, 0, 0}}, // ( 7, 149)
+ {128, { 0, 0, 0}}, // ( 8, 149)
+ {128, { 0, 0, 0}}, // ( 9, 149)
+ {128, { 0, 0, 0}}, // ( 10, 149)
+ {128, { 0, 0, 0}}, // ( 11, 149)
+ {128, { 0, 0, 0}}, // ( 12, 149)
+ {128, { 0, 0, 0}}, // ( 13, 149)
+ {128, { 0, 0, 0}}, // ( 14, 149)
+ {128, { 0, 0, 0}}, // ( 15, 149)
+ {128, { 0, 0, 0}}, // ( 16, 149)
+ {128, { 0, 0, 0}}, // ( 17, 149)
+ {128, { 0, 0, 0}}, // ( 18, 149)
+ {128, { 0, 0, 0}}, // ( 19, 149)
+ {128, { 0, 0, 0}}, // ( 20, 149)
+ {128, { 0, 0, 0}}, // ( 21, 149)
+ {128, { 0, 0, 0}}, // ( 22, 149)
+ {128, { 0, 0, 0}}, // ( 23, 149)
+ {123, { 0, 0, 0}}, // ( 24, 149)
+ { 28, { 0, 0, 0}}, // ( 25, 149)
+ { 0, { 0, 0, 0}}, // ( 26, 149)
+ { 0, { 0, 0, 0}}, // ( 27, 149)
+ { 0, { 0, 0, 0}}, // ( 28, 149)
+ { 0, { 0, 0, 0}}, // ( 29, 149)
+ { 0, { 0, 0, 0}}, // ( 30, 149)
+ { 0, { 0, 0, 0}}, // ( 31, 149)
+ { 0, { 0, 0, 0}}, // ( 32, 149)
+ { 0, { 0, 0, 0}}, // ( 33, 149)
+ { 0, { 0, 0, 0}}, // ( 34, 149)
+ { 0, { 0, 0, 0}}, // ( 35, 149)
+ { 0, { 0, 0, 0}}, // ( 36, 149)
+ { 0, { 0, 0, 0}}, // ( 37, 149)
+ { 0, { 0, 0, 0}}, // ( 38, 149)
+ { 0, { 0, 0, 0}}, // ( 39, 149)
+ { 0, { 0, 0, 0}}, // ( 40, 149)
+ { 0, { 0, 0, 0}}, // ( 41, 149)
+ { 0, { 0, 0, 0}}, // ( 42, 149)
+ { 0, { 0, 0, 0}}, // ( 43, 149)
+ { 0, { 0, 0, 0}}, // ( 44, 149)
+ { 0, { 0, 0, 0}}, // ( 45, 149)
+ { 0, { 0, 0, 0}}, // ( 46, 149)
+ { 0, { 0, 0, 0}}, // ( 47, 149)
+ { 0, { 0, 0, 0}}, // ( 48, 149)
+ { 0, { 0, 0, 0}}, // ( 49, 149)
+ { 0, { 0, 0, 0}}, // ( 50, 149)
+ { 0, { 0, 0, 0}}, // ( 51, 149)
+ { 0, { 0, 0, 0}}, // ( 52, 149)
+ { 0, { 0, 0, 0}}, // ( 53, 149)
+ { 0, { 0, 0, 0}}, // ( 54, 149)
+ { 0, { 0, 0, 0}}, // ( 55, 149)
+ { 0, { 0, 0, 0}}, // ( 56, 149)
+ { 0, { 0, 0, 0}}, // ( 57, 149)
+ { 0, { 0, 0, 0}}, // ( 58, 149)
+ { 0, { 0, 0, 0}}, // ( 59, 149)
+ { 0, { 0, 0, 0}}, // ( 60, 149)
+ { 0, { 0, 0, 0}}, // ( 61, 149)
+ { 0, { 0, 0, 0}}, // ( 62, 149)
+ { 0, { 0, 0, 0}}, // ( 63, 149)
+ { 0, { 0, 0, 0}}, // ( 64, 149)
+ { 0, { 0, 0, 0}}, // ( 65, 149)
+ { 0, { 0, 0, 0}}, // ( 66, 149)
+ { 0, { 0, 0, 0}}, // ( 67, 149)
+ { 0, { 0, 0, 0}}, // ( 68, 149)
+ { 0, { 0, 0, 0}}, // ( 69, 149)
+ { 0, { 0, 0, 0}}, // ( 70, 149)
+ { 0, { 0, 0, 0}}, // ( 71, 149)
+ { 0, { 0, 0, 0}}, // ( 72, 149)
+ { 0, { 0, 0, 0}}, // ( 73, 149)
+ { 0, { 0, 0, 0}}, // ( 74, 149)
+ { 0, { 0, 0, 0}}, // ( 75, 149)
+ { 0, { 0, 0, 0}}, // ( 76, 149)
+ { 0, { 0, 0, 0}}, // ( 77, 149)
+ { 0, { 0, 0, 0}}, // ( 78, 149)
+ { 0, { 0, 0, 0}}, // ( 79, 149)
+ { 0, { 0, 0, 0}}, // ( 80, 149)
+ { 0, { 0, 0, 0}}, // ( 81, 149)
+ { 0, { 0, 0, 0}}, // ( 82, 149)
+ { 0, { 0, 0, 0}}, // ( 83, 149)
+ { 0, { 0, 0, 0}}, // ( 84, 149)
+ { 0, { 0, 0, 0}}, // ( 85, 149)
+ { 0, { 0, 0, 0}}, // ( 86, 149)
+ { 0, { 0, 0, 0}}, // ( 87, 149)
+ { 0, { 0, 0, 0}}, // ( 88, 149)
+ { 0, { 0, 0, 0}}, // ( 89, 149)
+ { 0, { 0, 0, 0}}, // ( 90, 149)
+ { 0, { 0, 0, 0}}, // ( 91, 149)
+ { 0, { 0, 0, 0}}, // ( 92, 149)
+ { 0, { 0, 0, 0}}, // ( 93, 149)
+ { 0, { 0, 0, 0}}, // ( 94, 149)
+ { 0, { 0, 0, 0}}, // ( 95, 149)
+ { 0, { 0, 0, 0}}, // ( 96, 149)
+ { 0, { 0, 0, 0}}, // ( 97, 149)
+ { 0, { 0, 0, 0}}, // ( 98, 149)
+ { 0, { 0, 0, 0}}, // ( 99, 149)
+ { 0, { 0, 0, 0}}, // (100, 149)
+ { 0, { 0, 0, 0}}, // (101, 149)
+ { 0, { 0, 0, 0}}, // (102, 149)
+ { 0, { 0, 0, 0}}, // (103, 149)
+ { 0, { 0, 0, 0}}, // (104, 149)
+ { 0, { 0, 0, 0}}, // (105, 149)
+ { 0, { 0, 0, 0}}, // (106, 149)
+ { 0, { 0, 0, 0}}, // (107, 149)
+ { 0, { 0, 0, 0}}, // (108, 149)
+ { 0, { 0, 0, 0}}, // (109, 149)
+ { 0, { 0, 0, 0}}, // (110, 149)
+ { 0, { 0, 0, 0}}, // (111, 149)
+ { 0, { 0, 0, 0}}, // (112, 149)
+ { 0, { 0, 0, 0}}, // (113, 149)
+ { 0, { 0, 0, 0}}, // (114, 149)
+ { 0, { 0, 0, 0}}, // (115, 149)
+ { 0, { 0, 0, 0}}, // (116, 149)
+ { 0, { 0, 0, 0}}, // (117, 149)
+ { 0, { 0, 0, 0}}, // (118, 149)
+ { 0, { 0, 0, 0}}, // (119, 149)
+ { 0, { 0, 0, 0}}, // (120, 149)
+ { 0, { 0, 0, 0}}, // (121, 149)
+ { 0, { 0, 0, 0}}, // (122, 149)
+ { 0, { 0, 0, 0}}, // (123, 149)
+ { 0, { 0, 0, 0}}, // (124, 149)
+ { 0, { 0, 0, 0}}, // (125, 149)
+ { 0, { 0, 0, 0}}, // (126, 149)
+ { 0, { 0, 0, 0}}, // (127, 149)
+ { 0, { 0, 0, 0}}, // (128, 149)
+ { 0, { 0, 0, 0}}, // (129, 149)
+ { 0, { 0, 0, 0}}, // (130, 149)
+ { 0, { 0, 0, 0}}, // (131, 149)
+ { 0, { 0, 0, 0}}, // (132, 149)
+ { 0, { 0, 0, 0}}, // (133, 149)
+ { 0, { 0, 0, 0}}, // (134, 149)
+ { 0, { 0, 0, 0}}, // (135, 149)
+ { 0, { 0, 0, 0}}, // (136, 149)
+ { 0, { 0, 0, 0}}, // (137, 149)
+ { 0, { 0, 0, 0}}, // (138, 149)
+ { 0, { 0, 0, 0}}, // (139, 149)
+ { 0, { 0, 0, 0}}, // (140, 149)
+ { 0, { 0, 0, 0}}, // (141, 149)
+ { 0, { 0, 0, 0}}, // (142, 149)
+ { 0, { 0, 0, 0}}, // (143, 149)
+ { 0, { 0, 0, 0}}, // (144, 149)
+ { 0, { 0, 0, 0}}, // (145, 149)
+ { 0, { 0, 0, 0}}, // (146, 149)
+ { 0, { 0, 0, 0}}, // (147, 149)
+ { 0, { 0, 0, 0}}, // (148, 149)
+ { 0, { 0, 0, 0}}, // (149, 149)
+ { 0, { 0, 0, 0}}, // (150, 149)
+ { 0, { 0, 0, 0}}, // (151, 149)
+ { 0, { 0, 0, 0}}, // (152, 149)
+ { 0, { 0, 0, 0}}, // (153, 149)
+ { 28, { 0, 0, 0}}, // (154, 149)
+ {123, { 0, 0, 0}}, // (155, 149)
+ {128, { 0, 0, 0}}, // (156, 149)
+ {128, { 0, 0, 0}}, // (157, 149)
+ {128, { 0, 0, 0}}, // (158, 149)
+ {128, { 0, 0, 0}}, // (159, 149)
+ {128, { 0, 0, 0}}, // (160, 149)
+ {128, { 0, 0, 0}}, // (161, 149)
+ {128, { 0, 0, 0}}, // (162, 149)
+ {128, { 0, 0, 0}}, // (163, 149)
+ {128, { 0, 0, 0}}, // (164, 149)
+ {128, { 0, 0, 0}}, // (165, 149)
+ {128, { 0, 0, 0}}, // (166, 149)
+ {128, { 0, 0, 0}}, // (167, 149)
+ {128, { 0, 0, 0}}, // (168, 149)
+ {128, { 0, 0, 0}}, // (169, 149)
+ {128, { 0, 0, 0}}, // (170, 149)
+ {128, { 0, 0, 0}}, // (171, 149)
+ {128, { 0, 0, 0}}, // (172, 149)
+ {128, { 0, 0, 0}}, // (173, 149)
+ {128, { 0, 0, 0}}, // (174, 149)
+ {128, { 0, 0, 0}}, // (175, 149)
+ {128, { 0, 0, 0}}, // (176, 149)
+ {128, { 0, 0, 0}}, // (177, 149)
+ {128, { 0, 0, 0}}, // (178, 149)
+ {128, { 0, 0, 0}}, // (179, 149)
+ {128, { 0, 0, 0}}, // ( 0, 150)
+ {128, { 0, 0, 0}}, // ( 1, 150)
+ {128, { 0, 0, 0}}, // ( 2, 150)
+ {128, { 0, 0, 0}}, // ( 3, 150)
+ {128, { 0, 0, 0}}, // ( 4, 150)
+ {128, { 0, 0, 0}}, // ( 5, 150)
+ {128, { 0, 0, 0}}, // ( 6, 150)
+ {128, { 0, 0, 0}}, // ( 7, 150)
+ {128, { 0, 0, 0}}, // ( 8, 150)
+ {128, { 0, 0, 0}}, // ( 9, 150)
+ {128, { 0, 0, 0}}, // ( 10, 150)
+ {128, { 0, 0, 0}}, // ( 11, 150)
+ {128, { 0, 0, 0}}, // ( 12, 150)
+ {128, { 0, 0, 0}}, // ( 13, 150)
+ {128, { 0, 0, 0}}, // ( 14, 150)
+ {128, { 0, 0, 0}}, // ( 15, 150)
+ {128, { 0, 0, 0}}, // ( 16, 150)
+ {128, { 0, 0, 0}}, // ( 17, 150)
+ {128, { 0, 0, 0}}, // ( 18, 150)
+ {128, { 0, 0, 0}}, // ( 19, 150)
+ {128, { 0, 0, 0}}, // ( 20, 150)
+ {128, { 0, 0, 0}}, // ( 21, 150)
+ {128, { 0, 0, 0}}, // ( 22, 150)
+ {128, { 0, 0, 0}}, // ( 23, 150)
+ {128, { 0, 0, 0}}, // ( 24, 150)
+ {120, { 0, 0, 0}}, // ( 25, 150)
+ { 24, { 0, 0, 0}}, // ( 26, 150)
+ { 0, { 0, 0, 0}}, // ( 27, 150)
+ { 0, { 0, 0, 0}}, // ( 28, 150)
+ { 0, { 0, 0, 0}}, // ( 29, 150)
+ { 0, { 0, 0, 0}}, // ( 30, 150)
+ { 0, { 0, 0, 0}}, // ( 31, 150)
+ { 0, { 0, 0, 0}}, // ( 32, 150)
+ { 0, { 0, 0, 0}}, // ( 33, 150)
+ { 0, { 0, 0, 0}}, // ( 34, 150)
+ { 0, { 0, 0, 0}}, // ( 35, 150)
+ { 0, { 0, 0, 0}}, // ( 36, 150)
+ { 0, { 0, 0, 0}}, // ( 37, 150)
+ { 0, { 0, 0, 0}}, // ( 38, 150)
+ { 0, { 0, 0, 0}}, // ( 39, 150)
+ { 0, { 0, 0, 0}}, // ( 40, 150)
+ { 0, { 0, 0, 0}}, // ( 41, 150)
+ { 0, { 0, 0, 0}}, // ( 42, 150)
+ { 0, { 0, 0, 0}}, // ( 43, 150)
+ { 0, { 0, 0, 0}}, // ( 44, 150)
+ { 0, { 0, 0, 0}}, // ( 45, 150)
+ { 0, { 0, 0, 0}}, // ( 46, 150)
+ { 0, { 0, 0, 0}}, // ( 47, 150)
+ { 0, { 0, 0, 0}}, // ( 48, 150)
+ { 0, { 0, 0, 0}}, // ( 49, 150)
+ { 0, { 0, 0, 0}}, // ( 50, 150)
+ { 0, { 0, 0, 0}}, // ( 51, 150)
+ { 0, { 0, 0, 0}}, // ( 52, 150)
+ { 0, { 0, 0, 0}}, // ( 53, 150)
+ { 0, { 0, 0, 0}}, // ( 54, 150)
+ { 0, { 0, 0, 0}}, // ( 55, 150)
+ { 0, { 0, 0, 0}}, // ( 56, 150)
+ { 0, { 0, 0, 0}}, // ( 57, 150)
+ { 0, { 0, 0, 0}}, // ( 58, 150)
+ { 0, { 0, 0, 0}}, // ( 59, 150)
+ { 0, { 0, 0, 0}}, // ( 60, 150)
+ { 0, { 0, 0, 0}}, // ( 61, 150)
+ { 0, { 0, 0, 0}}, // ( 62, 150)
+ { 0, { 0, 0, 0}}, // ( 63, 150)
+ { 0, { 0, 0, 0}}, // ( 64, 150)
+ { 0, { 0, 0, 0}}, // ( 65, 150)
+ { 0, { 0, 0, 0}}, // ( 66, 150)
+ { 0, { 0, 0, 0}}, // ( 67, 150)
+ { 0, { 0, 0, 0}}, // ( 68, 150)
+ { 0, { 0, 0, 0}}, // ( 69, 150)
+ { 0, { 0, 0, 0}}, // ( 70, 150)
+ { 0, { 0, 0, 0}}, // ( 71, 150)
+ { 0, { 0, 0, 0}}, // ( 72, 150)
+ { 0, { 0, 0, 0}}, // ( 73, 150)
+ { 0, { 0, 0, 0}}, // ( 74, 150)
+ { 0, { 0, 0, 0}}, // ( 75, 150)
+ { 0, { 0, 0, 0}}, // ( 76, 150)
+ { 0, { 0, 0, 0}}, // ( 77, 150)
+ { 0, { 0, 0, 0}}, // ( 78, 150)
+ { 0, { 0, 0, 0}}, // ( 79, 150)
+ { 0, { 0, 0, 0}}, // ( 80, 150)
+ { 0, { 0, 0, 0}}, // ( 81, 150)
+ { 0, { 0, 0, 0}}, // ( 82, 150)
+ { 0, { 0, 0, 0}}, // ( 83, 150)
+ { 0, { 0, 0, 0}}, // ( 84, 150)
+ { 0, { 0, 0, 0}}, // ( 85, 150)
+ { 0, { 0, 0, 0}}, // ( 86, 150)
+ { 0, { 0, 0, 0}}, // ( 87, 150)
+ { 0, { 0, 0, 0}}, // ( 88, 150)
+ { 0, { 0, 0, 0}}, // ( 89, 150)
+ { 0, { 0, 0, 0}}, // ( 90, 150)
+ { 0, { 0, 0, 0}}, // ( 91, 150)
+ { 0, { 0, 0, 0}}, // ( 92, 150)
+ { 0, { 0, 0, 0}}, // ( 93, 150)
+ { 0, { 0, 0, 0}}, // ( 94, 150)
+ { 0, { 0, 0, 0}}, // ( 95, 150)
+ { 0, { 0, 0, 0}}, // ( 96, 150)
+ { 0, { 0, 0, 0}}, // ( 97, 150)
+ { 0, { 0, 0, 0}}, // ( 98, 150)
+ { 0, { 0, 0, 0}}, // ( 99, 150)
+ { 0, { 0, 0, 0}}, // (100, 150)
+ { 0, { 0, 0, 0}}, // (101, 150)
+ { 0, { 0, 0, 0}}, // (102, 150)
+ { 0, { 0, 0, 0}}, // (103, 150)
+ { 0, { 0, 0, 0}}, // (104, 150)
+ { 0, { 0, 0, 0}}, // (105, 150)
+ { 0, { 0, 0, 0}}, // (106, 150)
+ { 0, { 0, 0, 0}}, // (107, 150)
+ { 0, { 0, 0, 0}}, // (108, 150)
+ { 0, { 0, 0, 0}}, // (109, 150)
+ { 0, { 0, 0, 0}}, // (110, 150)
+ { 0, { 0, 0, 0}}, // (111, 150)
+ { 0, { 0, 0, 0}}, // (112, 150)
+ { 0, { 0, 0, 0}}, // (113, 150)
+ { 0, { 0, 0, 0}}, // (114, 150)
+ { 0, { 0, 0, 0}}, // (115, 150)
+ { 0, { 0, 0, 0}}, // (116, 150)
+ { 0, { 0, 0, 0}}, // (117, 150)
+ { 0, { 0, 0, 0}}, // (118, 150)
+ { 0, { 0, 0, 0}}, // (119, 150)
+ { 0, { 0, 0, 0}}, // (120, 150)
+ { 0, { 0, 0, 0}}, // (121, 150)
+ { 0, { 0, 0, 0}}, // (122, 150)
+ { 0, { 0, 0, 0}}, // (123, 150)
+ { 0, { 0, 0, 0}}, // (124, 150)
+ { 0, { 0, 0, 0}}, // (125, 150)
+ { 0, { 0, 0, 0}}, // (126, 150)
+ { 0, { 0, 0, 0}}, // (127, 150)
+ { 0, { 0, 0, 0}}, // (128, 150)
+ { 0, { 0, 0, 0}}, // (129, 150)
+ { 0, { 0, 0, 0}}, // (130, 150)
+ { 0, { 0, 0, 0}}, // (131, 150)
+ { 0, { 0, 0, 0}}, // (132, 150)
+ { 0, { 0, 0, 0}}, // (133, 150)
+ { 0, { 0, 0, 0}}, // (134, 150)
+ { 0, { 0, 0, 0}}, // (135, 150)
+ { 0, { 0, 0, 0}}, // (136, 150)
+ { 0, { 0, 0, 0}}, // (137, 150)
+ { 0, { 0, 0, 0}}, // (138, 150)
+ { 0, { 0, 0, 0}}, // (139, 150)
+ { 0, { 0, 0, 0}}, // (140, 150)
+ { 0, { 0, 0, 0}}, // (141, 150)
+ { 0, { 0, 0, 0}}, // (142, 150)
+ { 0, { 0, 0, 0}}, // (143, 150)
+ { 0, { 0, 0, 0}}, // (144, 150)
+ { 0, { 0, 0, 0}}, // (145, 150)
+ { 0, { 0, 0, 0}}, // (146, 150)
+ { 0, { 0, 0, 0}}, // (147, 150)
+ { 0, { 0, 0, 0}}, // (148, 150)
+ { 0, { 0, 0, 0}}, // (149, 150)
+ { 0, { 0, 0, 0}}, // (150, 150)
+ { 0, { 0, 0, 0}}, // (151, 150)
+ { 0, { 0, 0, 0}}, // (152, 150)
+ { 24, { 0, 0, 0}}, // (153, 150)
+ {120, { 0, 0, 0}}, // (154, 150)
+ {128, { 0, 0, 0}}, // (155, 150)
+ {128, { 0, 0, 0}}, // (156, 150)
+ {128, { 0, 0, 0}}, // (157, 150)
+ {128, { 0, 0, 0}}, // (158, 150)
+ {128, { 0, 0, 0}}, // (159, 150)
+ {128, { 0, 0, 0}}, // (160, 150)
+ {128, { 0, 0, 0}}, // (161, 150)
+ {128, { 0, 0, 0}}, // (162, 150)
+ {128, { 0, 0, 0}}, // (163, 150)
+ {128, { 0, 0, 0}}, // (164, 150)
+ {128, { 0, 0, 0}}, // (165, 150)
+ {128, { 0, 0, 0}}, // (166, 150)
+ {128, { 0, 0, 0}}, // (167, 150)
+ {128, { 0, 0, 0}}, // (168, 150)
+ {128, { 0, 0, 0}}, // (169, 150)
+ {128, { 0, 0, 0}}, // (170, 150)
+ {128, { 0, 0, 0}}, // (171, 150)
+ {128, { 0, 0, 0}}, // (172, 150)
+ {128, { 0, 0, 0}}, // (173, 150)
+ {128, { 0, 0, 0}}, // (174, 150)
+ {128, { 0, 0, 0}}, // (175, 150)
+ {128, { 0, 0, 0}}, // (176, 150)
+ {128, { 0, 0, 0}}, // (177, 150)
+ {128, { 0, 0, 0}}, // (178, 150)
+ {128, { 0, 0, 0}}, // (179, 150)
+ {128, { 0, 0, 0}}, // ( 0, 151)
+ {128, { 0, 0, 0}}, // ( 1, 151)
+ {128, { 0, 0, 0}}, // ( 2, 151)
+ {128, { 0, 0, 0}}, // ( 3, 151)
+ {128, { 0, 0, 0}}, // ( 4, 151)
+ {128, { 0, 0, 0}}, // ( 5, 151)
+ {128, { 0, 0, 0}}, // ( 6, 151)
+ {128, { 0, 0, 0}}, // ( 7, 151)
+ {128, { 0, 0, 0}}, // ( 8, 151)
+ {128, { 0, 0, 0}}, // ( 9, 151)
+ {128, { 0, 0, 0}}, // ( 10, 151)
+ {128, { 0, 0, 0}}, // ( 11, 151)
+ {128, { 0, 0, 0}}, // ( 12, 151)
+ {128, { 0, 0, 0}}, // ( 13, 151)
+ {128, { 0, 0, 0}}, // ( 14, 151)
+ {128, { 0, 0, 0}}, // ( 15, 151)
+ {128, { 0, 0, 0}}, // ( 16, 151)
+ {128, { 0, 0, 0}}, // ( 17, 151)
+ {128, { 0, 0, 0}}, // ( 18, 151)
+ {128, { 0, 0, 0}}, // ( 19, 151)
+ {128, { 0, 0, 0}}, // ( 20, 151)
+ {128, { 0, 0, 0}}, // ( 21, 151)
+ {128, { 0, 0, 0}}, // ( 22, 151)
+ {128, { 0, 0, 0}}, // ( 23, 151)
+ {128, { 0, 0, 0}}, // ( 24, 151)
+ {128, { 0, 0, 0}}, // ( 25, 151)
+ {117, { 0, 0, 0}}, // ( 26, 151)
+ { 21, { 0, 0, 0}}, // ( 27, 151)
+ { 0, { 0, 0, 0}}, // ( 28, 151)
+ { 0, { 0, 0, 0}}, // ( 29, 151)
+ { 0, { 0, 0, 0}}, // ( 30, 151)
+ { 0, { 0, 0, 0}}, // ( 31, 151)
+ { 0, { 0, 0, 0}}, // ( 32, 151)
+ { 0, { 0, 0, 0}}, // ( 33, 151)
+ { 0, { 0, 0, 0}}, // ( 34, 151)
+ { 0, { 0, 0, 0}}, // ( 35, 151)
+ { 0, { 0, 0, 0}}, // ( 36, 151)
+ { 0, { 0, 0, 0}}, // ( 37, 151)
+ { 0, { 0, 0, 0}}, // ( 38, 151)
+ { 0, { 0, 0, 0}}, // ( 39, 151)
+ { 0, { 0, 0, 0}}, // ( 40, 151)
+ { 0, { 0, 0, 0}}, // ( 41, 151)
+ { 0, { 0, 0, 0}}, // ( 42, 151)
+ { 0, { 0, 0, 0}}, // ( 43, 151)
+ { 0, { 0, 0, 0}}, // ( 44, 151)
+ { 0, { 0, 0, 0}}, // ( 45, 151)
+ { 0, { 0, 0, 0}}, // ( 46, 151)
+ { 0, { 0, 0, 0}}, // ( 47, 151)
+ { 0, { 0, 0, 0}}, // ( 48, 151)
+ { 0, { 0, 0, 0}}, // ( 49, 151)
+ { 0, { 0, 0, 0}}, // ( 50, 151)
+ { 0, { 0, 0, 0}}, // ( 51, 151)
+ { 0, { 0, 0, 0}}, // ( 52, 151)
+ { 0, { 0, 0, 0}}, // ( 53, 151)
+ { 0, { 0, 0, 0}}, // ( 54, 151)
+ { 0, { 0, 0, 0}}, // ( 55, 151)
+ { 0, { 0, 0, 0}}, // ( 56, 151)
+ { 0, { 0, 0, 0}}, // ( 57, 151)
+ { 0, { 0, 0, 0}}, // ( 58, 151)
+ { 0, { 0, 0, 0}}, // ( 59, 151)
+ { 0, { 0, 0, 0}}, // ( 60, 151)
+ { 0, { 0, 0, 0}}, // ( 61, 151)
+ { 0, { 0, 0, 0}}, // ( 62, 151)
+ { 0, { 0, 0, 0}}, // ( 63, 151)
+ { 0, { 0, 0, 0}}, // ( 64, 151)
+ { 0, { 0, 0, 0}}, // ( 65, 151)
+ { 0, { 0, 0, 0}}, // ( 66, 151)
+ { 0, { 0, 0, 0}}, // ( 67, 151)
+ { 0, { 0, 0, 0}}, // ( 68, 151)
+ { 0, { 0, 0, 0}}, // ( 69, 151)
+ { 0, { 0, 0, 0}}, // ( 70, 151)
+ { 0, { 0, 0, 0}}, // ( 71, 151)
+ { 0, { 0, 0, 0}}, // ( 72, 151)
+ { 0, { 0, 0, 0}}, // ( 73, 151)
+ { 0, { 0, 0, 0}}, // ( 74, 151)
+ { 0, { 0, 0, 0}}, // ( 75, 151)
+ { 0, { 0, 0, 0}}, // ( 76, 151)
+ { 0, { 0, 0, 0}}, // ( 77, 151)
+ { 0, { 0, 0, 0}}, // ( 78, 151)
+ { 0, { 0, 0, 0}}, // ( 79, 151)
+ { 0, { 0, 0, 0}}, // ( 80, 151)
+ { 0, { 0, 0, 0}}, // ( 81, 151)
+ { 0, { 0, 0, 0}}, // ( 82, 151)
+ { 0, { 0, 0, 0}}, // ( 83, 151)
+ { 0, { 0, 0, 0}}, // ( 84, 151)
+ { 0, { 0, 0, 0}}, // ( 85, 151)
+ { 0, { 0, 0, 0}}, // ( 86, 151)
+ { 0, { 0, 0, 0}}, // ( 87, 151)
+ { 0, { 0, 0, 0}}, // ( 88, 151)
+ { 0, { 0, 0, 0}}, // ( 89, 151)
+ { 0, { 0, 0, 0}}, // ( 90, 151)
+ { 0, { 0, 0, 0}}, // ( 91, 151)
+ { 0, { 0, 0, 0}}, // ( 92, 151)
+ { 0, { 0, 0, 0}}, // ( 93, 151)
+ { 0, { 0, 0, 0}}, // ( 94, 151)
+ { 0, { 0, 0, 0}}, // ( 95, 151)
+ { 0, { 0, 0, 0}}, // ( 96, 151)
+ { 0, { 0, 0, 0}}, // ( 97, 151)
+ { 0, { 0, 0, 0}}, // ( 98, 151)
+ { 0, { 0, 0, 0}}, // ( 99, 151)
+ { 0, { 0, 0, 0}}, // (100, 151)
+ { 0, { 0, 0, 0}}, // (101, 151)
+ { 0, { 0, 0, 0}}, // (102, 151)
+ { 0, { 0, 0, 0}}, // (103, 151)
+ { 0, { 0, 0, 0}}, // (104, 151)
+ { 0, { 0, 0, 0}}, // (105, 151)
+ { 0, { 0, 0, 0}}, // (106, 151)
+ { 0, { 0, 0, 0}}, // (107, 151)
+ { 0, { 0, 0, 0}}, // (108, 151)
+ { 0, { 0, 0, 0}}, // (109, 151)
+ { 0, { 0, 0, 0}}, // (110, 151)
+ { 0, { 0, 0, 0}}, // (111, 151)
+ { 0, { 0, 0, 0}}, // (112, 151)
+ { 0, { 0, 0, 0}}, // (113, 151)
+ { 0, { 0, 0, 0}}, // (114, 151)
+ { 0, { 0, 0, 0}}, // (115, 151)
+ { 0, { 0, 0, 0}}, // (116, 151)
+ { 0, { 0, 0, 0}}, // (117, 151)
+ { 0, { 0, 0, 0}}, // (118, 151)
+ { 0, { 0, 0, 0}}, // (119, 151)
+ { 0, { 0, 0, 0}}, // (120, 151)
+ { 0, { 0, 0, 0}}, // (121, 151)
+ { 0, { 0, 0, 0}}, // (122, 151)
+ { 0, { 0, 0, 0}}, // (123, 151)
+ { 0, { 0, 0, 0}}, // (124, 151)
+ { 0, { 0, 0, 0}}, // (125, 151)
+ { 0, { 0, 0, 0}}, // (126, 151)
+ { 0, { 0, 0, 0}}, // (127, 151)
+ { 0, { 0, 0, 0}}, // (128, 151)
+ { 0, { 0, 0, 0}}, // (129, 151)
+ { 0, { 0, 0, 0}}, // (130, 151)
+ { 0, { 0, 0, 0}}, // (131, 151)
+ { 0, { 0, 0, 0}}, // (132, 151)
+ { 0, { 0, 0, 0}}, // (133, 151)
+ { 0, { 0, 0, 0}}, // (134, 151)
+ { 0, { 0, 0, 0}}, // (135, 151)
+ { 0, { 0, 0, 0}}, // (136, 151)
+ { 0, { 0, 0, 0}}, // (137, 151)
+ { 0, { 0, 0, 0}}, // (138, 151)
+ { 0, { 0, 0, 0}}, // (139, 151)
+ { 0, { 0, 0, 0}}, // (140, 151)
+ { 0, { 0, 0, 0}}, // (141, 151)
+ { 0, { 0, 0, 0}}, // (142, 151)
+ { 0, { 0, 0, 0}}, // (143, 151)
+ { 0, { 0, 0, 0}}, // (144, 151)
+ { 0, { 0, 0, 0}}, // (145, 151)
+ { 0, { 0, 0, 0}}, // (146, 151)
+ { 0, { 0, 0, 0}}, // (147, 151)
+ { 0, { 0, 0, 0}}, // (148, 151)
+ { 0, { 0, 0, 0}}, // (149, 151)
+ { 0, { 0, 0, 0}}, // (150, 151)
+ { 0, { 0, 0, 0}}, // (151, 151)
+ { 21, { 0, 0, 0}}, // (152, 151)
+ {117, { 0, 0, 0}}, // (153, 151)
+ {128, { 0, 0, 0}}, // (154, 151)
+ {128, { 0, 0, 0}}, // (155, 151)
+ {128, { 0, 0, 0}}, // (156, 151)
+ {128, { 0, 0, 0}}, // (157, 151)
+ {128, { 0, 0, 0}}, // (158, 151)
+ {128, { 0, 0, 0}}, // (159, 151)
+ {128, { 0, 0, 0}}, // (160, 151)
+ {128, { 0, 0, 0}}, // (161, 151)
+ {128, { 0, 0, 0}}, // (162, 151)
+ {128, { 0, 0, 0}}, // (163, 151)
+ {128, { 0, 0, 0}}, // (164, 151)
+ {128, { 0, 0, 0}}, // (165, 151)
+ {128, { 0, 0, 0}}, // (166, 151)
+ {128, { 0, 0, 0}}, // (167, 151)
+ {128, { 0, 0, 0}}, // (168, 151)
+ {128, { 0, 0, 0}}, // (169, 151)
+ {128, { 0, 0, 0}}, // (170, 151)
+ {128, { 0, 0, 0}}, // (171, 151)
+ {128, { 0, 0, 0}}, // (172, 151)
+ {128, { 0, 0, 0}}, // (173, 151)
+ {128, { 0, 0, 0}}, // (174, 151)
+ {128, { 0, 0, 0}}, // (175, 151)
+ {128, { 0, 0, 0}}, // (176, 151)
+ {128, { 0, 0, 0}}, // (177, 151)
+ {128, { 0, 0, 0}}, // (178, 151)
+ {128, { 0, 0, 0}}, // (179, 151)
+ {128, { 0, 0, 0}}, // ( 0, 152)
+ {128, { 0, 0, 0}}, // ( 1, 152)
+ {128, { 0, 0, 0}}, // ( 2, 152)
+ {128, { 0, 0, 0}}, // ( 3, 152)
+ {128, { 0, 0, 0}}, // ( 4, 152)
+ {128, { 0, 0, 0}}, // ( 5, 152)
+ {128, { 0, 0, 0}}, // ( 6, 152)
+ {128, { 0, 0, 0}}, // ( 7, 152)
+ {128, { 0, 0, 0}}, // ( 8, 152)
+ {128, { 0, 0, 0}}, // ( 9, 152)
+ {128, { 0, 0, 0}}, // ( 10, 152)
+ {128, { 0, 0, 0}}, // ( 11, 152)
+ {128, { 0, 0, 0}}, // ( 12, 152)
+ {128, { 0, 0, 0}}, // ( 13, 152)
+ {128, { 0, 0, 0}}, // ( 14, 152)
+ {128, { 0, 0, 0}}, // ( 15, 152)
+ {128, { 0, 0, 0}}, // ( 16, 152)
+ {128, { 0, 0, 0}}, // ( 17, 152)
+ {128, { 0, 0, 0}}, // ( 18, 152)
+ {128, { 0, 0, 0}}, // ( 19, 152)
+ {128, { 0, 0, 0}}, // ( 20, 152)
+ {128, { 0, 0, 0}}, // ( 21, 152)
+ {128, { 0, 0, 0}}, // ( 22, 152)
+ {128, { 0, 0, 0}}, // ( 23, 152)
+ {128, { 0, 0, 0}}, // ( 24, 152)
+ {128, { 0, 0, 0}}, // ( 25, 152)
+ {128, { 0, 0, 0}}, // ( 26, 152)
+ {115, { 0, 0, 0}}, // ( 27, 152)
+ { 21, { 0, 0, 0}}, // ( 28, 152)
+ { 0, { 0, 0, 0}}, // ( 29, 152)
+ { 0, { 0, 0, 0}}, // ( 30, 152)
+ { 0, { 0, 0, 0}}, // ( 31, 152)
+ { 0, { 0, 0, 0}}, // ( 32, 152)
+ { 0, { 0, 0, 0}}, // ( 33, 152)
+ { 0, { 0, 0, 0}}, // ( 34, 152)
+ { 0, { 0, 0, 0}}, // ( 35, 152)
+ { 0, { 0, 0, 0}}, // ( 36, 152)
+ { 0, { 0, 0, 0}}, // ( 37, 152)
+ { 0, { 0, 0, 0}}, // ( 38, 152)
+ { 0, { 0, 0, 0}}, // ( 39, 152)
+ { 0, { 0, 0, 0}}, // ( 40, 152)
+ { 0, { 0, 0, 0}}, // ( 41, 152)
+ { 0, { 0, 0, 0}}, // ( 42, 152)
+ { 0, { 0, 0, 0}}, // ( 43, 152)
+ { 0, { 0, 0, 0}}, // ( 44, 152)
+ { 0, { 0, 0, 0}}, // ( 45, 152)
+ { 0, { 0, 0, 0}}, // ( 46, 152)
+ { 0, { 0, 0, 0}}, // ( 47, 152)
+ { 0, { 0, 0, 0}}, // ( 48, 152)
+ { 0, { 0, 0, 0}}, // ( 49, 152)
+ { 0, { 0, 0, 0}}, // ( 50, 152)
+ { 0, { 0, 0, 0}}, // ( 51, 152)
+ { 0, { 0, 0, 0}}, // ( 52, 152)
+ { 0, { 0, 0, 0}}, // ( 53, 152)
+ { 0, { 0, 0, 0}}, // ( 54, 152)
+ { 0, { 0, 0, 0}}, // ( 55, 152)
+ { 0, { 0, 0, 0}}, // ( 56, 152)
+ { 0, { 0, 0, 0}}, // ( 57, 152)
+ { 0, { 0, 0, 0}}, // ( 58, 152)
+ { 0, { 0, 0, 0}}, // ( 59, 152)
+ { 0, { 0, 0, 0}}, // ( 60, 152)
+ { 0, { 0, 0, 0}}, // ( 61, 152)
+ { 0, { 0, 0, 0}}, // ( 62, 152)
+ { 0, { 0, 0, 0}}, // ( 63, 152)
+ { 0, { 0, 0, 0}}, // ( 64, 152)
+ { 0, { 0, 0, 0}}, // ( 65, 152)
+ { 0, { 0, 0, 0}}, // ( 66, 152)
+ { 0, { 0, 0, 0}}, // ( 67, 152)
+ { 0, { 0, 0, 0}}, // ( 68, 152)
+ { 0, { 0, 0, 0}}, // ( 69, 152)
+ { 0, { 0, 0, 0}}, // ( 70, 152)
+ { 0, { 0, 0, 0}}, // ( 71, 152)
+ { 0, { 0, 0, 0}}, // ( 72, 152)
+ { 0, { 0, 0, 0}}, // ( 73, 152)
+ { 0, { 0, 0, 0}}, // ( 74, 152)
+ { 0, { 0, 0, 0}}, // ( 75, 152)
+ { 0, { 0, 0, 0}}, // ( 76, 152)
+ { 0, { 0, 0, 0}}, // ( 77, 152)
+ { 0, { 0, 0, 0}}, // ( 78, 152)
+ { 0, { 0, 0, 0}}, // ( 79, 152)
+ { 0, { 0, 0, 0}}, // ( 80, 152)
+ { 0, { 0, 0, 0}}, // ( 81, 152)
+ { 0, { 0, 0, 0}}, // ( 82, 152)
+ { 0, { 0, 0, 0}}, // ( 83, 152)
+ { 0, { 0, 0, 0}}, // ( 84, 152)
+ { 0, { 0, 0, 0}}, // ( 85, 152)
+ { 0, { 0, 0, 0}}, // ( 86, 152)
+ { 0, { 0, 0, 0}}, // ( 87, 152)
+ { 0, { 0, 0, 0}}, // ( 88, 152)
+ { 0, { 0, 0, 0}}, // ( 89, 152)
+ { 0, { 0, 0, 0}}, // ( 90, 152)
+ { 0, { 0, 0, 0}}, // ( 91, 152)
+ { 0, { 0, 0, 0}}, // ( 92, 152)
+ { 0, { 0, 0, 0}}, // ( 93, 152)
+ { 0, { 0, 0, 0}}, // ( 94, 152)
+ { 0, { 0, 0, 0}}, // ( 95, 152)
+ { 0, { 0, 0, 0}}, // ( 96, 152)
+ { 0, { 0, 0, 0}}, // ( 97, 152)
+ { 0, { 0, 0, 0}}, // ( 98, 152)
+ { 0, { 0, 0, 0}}, // ( 99, 152)
+ { 0, { 0, 0, 0}}, // (100, 152)
+ { 0, { 0, 0, 0}}, // (101, 152)
+ { 0, { 0, 0, 0}}, // (102, 152)
+ { 0, { 0, 0, 0}}, // (103, 152)
+ { 0, { 0, 0, 0}}, // (104, 152)
+ { 0, { 0, 0, 0}}, // (105, 152)
+ { 0, { 0, 0, 0}}, // (106, 152)
+ { 0, { 0, 0, 0}}, // (107, 152)
+ { 0, { 0, 0, 0}}, // (108, 152)
+ { 0, { 0, 0, 0}}, // (109, 152)
+ { 0, { 0, 0, 0}}, // (110, 152)
+ { 0, { 0, 0, 0}}, // (111, 152)
+ { 0, { 0, 0, 0}}, // (112, 152)
+ { 0, { 0, 0, 0}}, // (113, 152)
+ { 0, { 0, 0, 0}}, // (114, 152)
+ { 0, { 0, 0, 0}}, // (115, 152)
+ { 0, { 0, 0, 0}}, // (116, 152)
+ { 0, { 0, 0, 0}}, // (117, 152)
+ { 0, { 0, 0, 0}}, // (118, 152)
+ { 0, { 0, 0, 0}}, // (119, 152)
+ { 0, { 0, 0, 0}}, // (120, 152)
+ { 0, { 0, 0, 0}}, // (121, 152)
+ { 0, { 0, 0, 0}}, // (122, 152)
+ { 0, { 0, 0, 0}}, // (123, 152)
+ { 0, { 0, 0, 0}}, // (124, 152)
+ { 0, { 0, 0, 0}}, // (125, 152)
+ { 0, { 0, 0, 0}}, // (126, 152)
+ { 0, { 0, 0, 0}}, // (127, 152)
+ { 0, { 0, 0, 0}}, // (128, 152)
+ { 0, { 0, 0, 0}}, // (129, 152)
+ { 0, { 0, 0, 0}}, // (130, 152)
+ { 0, { 0, 0, 0}}, // (131, 152)
+ { 0, { 0, 0, 0}}, // (132, 152)
+ { 0, { 0, 0, 0}}, // (133, 152)
+ { 0, { 0, 0, 0}}, // (134, 152)
+ { 0, { 0, 0, 0}}, // (135, 152)
+ { 0, { 0, 0, 0}}, // (136, 152)
+ { 0, { 0, 0, 0}}, // (137, 152)
+ { 0, { 0, 0, 0}}, // (138, 152)
+ { 0, { 0, 0, 0}}, // (139, 152)
+ { 0, { 0, 0, 0}}, // (140, 152)
+ { 0, { 0, 0, 0}}, // (141, 152)
+ { 0, { 0, 0, 0}}, // (142, 152)
+ { 0, { 0, 0, 0}}, // (143, 152)
+ { 0, { 0, 0, 0}}, // (144, 152)
+ { 0, { 0, 0, 0}}, // (145, 152)
+ { 0, { 0, 0, 0}}, // (146, 152)
+ { 0, { 0, 0, 0}}, // (147, 152)
+ { 0, { 0, 0, 0}}, // (148, 152)
+ { 0, { 0, 0, 0}}, // (149, 152)
+ { 0, { 0, 0, 0}}, // (150, 152)
+ { 21, { 0, 0, 0}}, // (151, 152)
+ {115, { 0, 0, 0}}, // (152, 152)
+ {128, { 0, 0, 0}}, // (153, 152)
+ {128, { 0, 0, 0}}, // (154, 152)
+ {128, { 0, 0, 0}}, // (155, 152)
+ {128, { 0, 0, 0}}, // (156, 152)
+ {128, { 0, 0, 0}}, // (157, 152)
+ {128, { 0, 0, 0}}, // (158, 152)
+ {128, { 0, 0, 0}}, // (159, 152)
+ {128, { 0, 0, 0}}, // (160, 152)
+ {128, { 0, 0, 0}}, // (161, 152)
+ {128, { 0, 0, 0}}, // (162, 152)
+ {128, { 0, 0, 0}}, // (163, 152)
+ {128, { 0, 0, 0}}, // (164, 152)
+ {128, { 0, 0, 0}}, // (165, 152)
+ {128, { 0, 0, 0}}, // (166, 152)
+ {128, { 0, 0, 0}}, // (167, 152)
+ {128, { 0, 0, 0}}, // (168, 152)
+ {128, { 0, 0, 0}}, // (169, 152)
+ {128, { 0, 0, 0}}, // (170, 152)
+ {128, { 0, 0, 0}}, // (171, 152)
+ {128, { 0, 0, 0}}, // (172, 152)
+ {128, { 0, 0, 0}}, // (173, 152)
+ {128, { 0, 0, 0}}, // (174, 152)
+ {128, { 0, 0, 0}}, // (175, 152)
+ {128, { 0, 0, 0}}, // (176, 152)
+ {128, { 0, 0, 0}}, // (177, 152)
+ {128, { 0, 0, 0}}, // (178, 152)
+ {128, { 0, 0, 0}}, // (179, 152)
+ {128, { 0, 0, 0}}, // ( 0, 153)
+ {128, { 0, 0, 0}}, // ( 1, 153)
+ {128, { 0, 0, 0}}, // ( 2, 153)
+ {128, { 0, 0, 0}}, // ( 3, 153)
+ {128, { 0, 0, 0}}, // ( 4, 153)
+ {128, { 0, 0, 0}}, // ( 5, 153)
+ {128, { 0, 0, 0}}, // ( 6, 153)
+ {128, { 0, 0, 0}}, // ( 7, 153)
+ {128, { 0, 0, 0}}, // ( 8, 153)
+ {128, { 0, 0, 0}}, // ( 9, 153)
+ {128, { 0, 0, 0}}, // ( 10, 153)
+ {128, { 0, 0, 0}}, // ( 11, 153)
+ {128, { 0, 0, 0}}, // ( 12, 153)
+ {128, { 0, 0, 0}}, // ( 13, 153)
+ {128, { 0, 0, 0}}, // ( 14, 153)
+ {128, { 0, 0, 0}}, // ( 15, 153)
+ {128, { 0, 0, 0}}, // ( 16, 153)
+ {128, { 0, 0, 0}}, // ( 17, 153)
+ {128, { 0, 0, 0}}, // ( 18, 153)
+ {128, { 0, 0, 0}}, // ( 19, 153)
+ {128, { 0, 0, 0}}, // ( 20, 153)
+ {128, { 0, 0, 0}}, // ( 21, 153)
+ {128, { 0, 0, 0}}, // ( 22, 153)
+ {128, { 0, 0, 0}}, // ( 23, 153)
+ {128, { 0, 0, 0}}, // ( 24, 153)
+ {128, { 0, 0, 0}}, // ( 25, 153)
+ {128, { 0, 0, 0}}, // ( 26, 153)
+ {128, { 0, 0, 0}}, // ( 27, 153)
+ {117, { 0, 0, 0}}, // ( 28, 153)
+ { 25, { 0, 0, 0}}, // ( 29, 153)
+ { 0, { 0, 0, 0}}, // ( 30, 153)
+ { 0, { 0, 0, 0}}, // ( 31, 153)
+ { 0, { 0, 0, 0}}, // ( 32, 153)
+ { 0, { 0, 0, 0}}, // ( 33, 153)
+ { 0, { 0, 0, 0}}, // ( 34, 153)
+ { 0, { 0, 0, 0}}, // ( 35, 153)
+ { 0, { 0, 0, 0}}, // ( 36, 153)
+ { 0, { 0, 0, 0}}, // ( 37, 153)
+ { 0, { 0, 0, 0}}, // ( 38, 153)
+ { 0, { 0, 0, 0}}, // ( 39, 153)
+ { 0, { 0, 0, 0}}, // ( 40, 153)
+ { 0, { 0, 0, 0}}, // ( 41, 153)
+ { 0, { 0, 0, 0}}, // ( 42, 153)
+ { 0, { 0, 0, 0}}, // ( 43, 153)
+ { 0, { 0, 0, 0}}, // ( 44, 153)
+ { 0, { 0, 0, 0}}, // ( 45, 153)
+ { 0, { 0, 0, 0}}, // ( 46, 153)
+ { 0, { 0, 0, 0}}, // ( 47, 153)
+ { 0, { 0, 0, 0}}, // ( 48, 153)
+ { 0, { 0, 0, 0}}, // ( 49, 153)
+ { 0, { 0, 0, 0}}, // ( 50, 153)
+ { 0, { 0, 0, 0}}, // ( 51, 153)
+ { 0, { 0, 0, 0}}, // ( 52, 153)
+ { 0, { 0, 0, 0}}, // ( 53, 153)
+ { 0, { 0, 0, 0}}, // ( 54, 153)
+ { 0, { 0, 0, 0}}, // ( 55, 153)
+ { 0, { 0, 0, 0}}, // ( 56, 153)
+ { 0, { 0, 0, 0}}, // ( 57, 153)
+ { 0, { 0, 0, 0}}, // ( 58, 153)
+ { 0, { 0, 0, 0}}, // ( 59, 153)
+ { 0, { 0, 0, 0}}, // ( 60, 153)
+ { 0, { 0, 0, 0}}, // ( 61, 153)
+ { 0, { 0, 0, 0}}, // ( 62, 153)
+ { 0, { 0, 0, 0}}, // ( 63, 153)
+ { 0, { 0, 0, 0}}, // ( 64, 153)
+ { 0, { 0, 0, 0}}, // ( 65, 153)
+ { 0, { 0, 0, 0}}, // ( 66, 153)
+ { 0, { 0, 0, 0}}, // ( 67, 153)
+ { 0, { 0, 0, 0}}, // ( 68, 153)
+ { 0, { 0, 0, 0}}, // ( 69, 153)
+ { 0, { 0, 0, 0}}, // ( 70, 153)
+ { 0, { 0, 0, 0}}, // ( 71, 153)
+ { 0, { 0, 0, 0}}, // ( 72, 153)
+ { 0, { 0, 0, 0}}, // ( 73, 153)
+ { 0, { 0, 0, 0}}, // ( 74, 153)
+ { 0, { 0, 0, 0}}, // ( 75, 153)
+ { 0, { 0, 0, 0}}, // ( 76, 153)
+ { 0, { 0, 0, 0}}, // ( 77, 153)
+ { 0, { 0, 0, 0}}, // ( 78, 153)
+ { 0, { 0, 0, 0}}, // ( 79, 153)
+ { 0, { 0, 0, 0}}, // ( 80, 153)
+ { 0, { 0, 0, 0}}, // ( 81, 153)
+ { 0, { 0, 0, 0}}, // ( 82, 153)
+ { 0, { 0, 0, 0}}, // ( 83, 153)
+ { 0, { 0, 0, 0}}, // ( 84, 153)
+ { 0, { 0, 0, 0}}, // ( 85, 153)
+ { 0, { 0, 0, 0}}, // ( 86, 153)
+ { 0, { 0, 0, 0}}, // ( 87, 153)
+ { 0, { 0, 0, 0}}, // ( 88, 153)
+ { 0, { 0, 0, 0}}, // ( 89, 153)
+ { 0, { 0, 0, 0}}, // ( 90, 153)
+ { 0, { 0, 0, 0}}, // ( 91, 153)
+ { 0, { 0, 0, 0}}, // ( 92, 153)
+ { 0, { 0, 0, 0}}, // ( 93, 153)
+ { 0, { 0, 0, 0}}, // ( 94, 153)
+ { 0, { 0, 0, 0}}, // ( 95, 153)
+ { 0, { 0, 0, 0}}, // ( 96, 153)
+ { 0, { 0, 0, 0}}, // ( 97, 153)
+ { 0, { 0, 0, 0}}, // ( 98, 153)
+ { 0, { 0, 0, 0}}, // ( 99, 153)
+ { 0, { 0, 0, 0}}, // (100, 153)
+ { 0, { 0, 0, 0}}, // (101, 153)
+ { 0, { 0, 0, 0}}, // (102, 153)
+ { 0, { 0, 0, 0}}, // (103, 153)
+ { 0, { 0, 0, 0}}, // (104, 153)
+ { 0, { 0, 0, 0}}, // (105, 153)
+ { 0, { 0, 0, 0}}, // (106, 153)
+ { 0, { 0, 0, 0}}, // (107, 153)
+ { 0, { 0, 0, 0}}, // (108, 153)
+ { 0, { 0, 0, 0}}, // (109, 153)
+ { 0, { 0, 0, 0}}, // (110, 153)
+ { 0, { 0, 0, 0}}, // (111, 153)
+ { 0, { 0, 0, 0}}, // (112, 153)
+ { 0, { 0, 0, 0}}, // (113, 153)
+ { 0, { 0, 0, 0}}, // (114, 153)
+ { 0, { 0, 0, 0}}, // (115, 153)
+ { 0, { 0, 0, 0}}, // (116, 153)
+ { 0, { 0, 0, 0}}, // (117, 153)
+ { 0, { 0, 0, 0}}, // (118, 153)
+ { 0, { 0, 0, 0}}, // (119, 153)
+ { 0, { 0, 0, 0}}, // (120, 153)
+ { 0, { 0, 0, 0}}, // (121, 153)
+ { 0, { 0, 0, 0}}, // (122, 153)
+ { 0, { 0, 0, 0}}, // (123, 153)
+ { 0, { 0, 0, 0}}, // (124, 153)
+ { 0, { 0, 0, 0}}, // (125, 153)
+ { 0, { 0, 0, 0}}, // (126, 153)
+ { 0, { 0, 0, 0}}, // (127, 153)
+ { 0, { 0, 0, 0}}, // (128, 153)
+ { 0, { 0, 0, 0}}, // (129, 153)
+ { 0, { 0, 0, 0}}, // (130, 153)
+ { 0, { 0, 0, 0}}, // (131, 153)
+ { 0, { 0, 0, 0}}, // (132, 153)
+ { 0, { 0, 0, 0}}, // (133, 153)
+ { 0, { 0, 0, 0}}, // (134, 153)
+ { 0, { 0, 0, 0}}, // (135, 153)
+ { 0, { 0, 0, 0}}, // (136, 153)
+ { 0, { 0, 0, 0}}, // (137, 153)
+ { 0, { 0, 0, 0}}, // (138, 153)
+ { 0, { 0, 0, 0}}, // (139, 153)
+ { 0, { 0, 0, 0}}, // (140, 153)
+ { 0, { 0, 0, 0}}, // (141, 153)
+ { 0, { 0, 0, 0}}, // (142, 153)
+ { 0, { 0, 0, 0}}, // (143, 153)
+ { 0, { 0, 0, 0}}, // (144, 153)
+ { 0, { 0, 0, 0}}, // (145, 153)
+ { 0, { 0, 0, 0}}, // (146, 153)
+ { 0, { 0, 0, 0}}, // (147, 153)
+ { 0, { 0, 0, 0}}, // (148, 153)
+ { 0, { 0, 0, 0}}, // (149, 153)
+ { 25, { 0, 0, 0}}, // (150, 153)
+ {117, { 0, 0, 0}}, // (151, 153)
+ {128, { 0, 0, 0}}, // (152, 153)
+ {128, { 0, 0, 0}}, // (153, 153)
+ {128, { 0, 0, 0}}, // (154, 153)
+ {128, { 0, 0, 0}}, // (155, 153)
+ {128, { 0, 0, 0}}, // (156, 153)
+ {128, { 0, 0, 0}}, // (157, 153)
+ {128, { 0, 0, 0}}, // (158, 153)
+ {128, { 0, 0, 0}}, // (159, 153)
+ {128, { 0, 0, 0}}, // (160, 153)
+ {128, { 0, 0, 0}}, // (161, 153)
+ {128, { 0, 0, 0}}, // (162, 153)
+ {128, { 0, 0, 0}}, // (163, 153)
+ {128, { 0, 0, 0}}, // (164, 153)
+ {128, { 0, 0, 0}}, // (165, 153)
+ {128, { 0, 0, 0}}, // (166, 153)
+ {128, { 0, 0, 0}}, // (167, 153)
+ {128, { 0, 0, 0}}, // (168, 153)
+ {128, { 0, 0, 0}}, // (169, 153)
+ {128, { 0, 0, 0}}, // (170, 153)
+ {128, { 0, 0, 0}}, // (171, 153)
+ {128, { 0, 0, 0}}, // (172, 153)
+ {128, { 0, 0, 0}}, // (173, 153)
+ {128, { 0, 0, 0}}, // (174, 153)
+ {128, { 0, 0, 0}}, // (175, 153)
+ {128, { 0, 0, 0}}, // (176, 153)
+ {128, { 0, 0, 0}}, // (177, 153)
+ {128, { 0, 0, 0}}, // (178, 153)
+ {128, { 0, 0, 0}}, // (179, 153)
+ {128, { 0, 0, 0}}, // ( 0, 154)
+ {128, { 0, 0, 0}}, // ( 1, 154)
+ {128, { 0, 0, 0}}, // ( 2, 154)
+ {128, { 0, 0, 0}}, // ( 3, 154)
+ {128, { 0, 0, 0}}, // ( 4, 154)
+ {128, { 0, 0, 0}}, // ( 5, 154)
+ {128, { 0, 0, 0}}, // ( 6, 154)
+ {128, { 0, 0, 0}}, // ( 7, 154)
+ {128, { 0, 0, 0}}, // ( 8, 154)
+ {128, { 0, 0, 0}}, // ( 9, 154)
+ {128, { 0, 0, 0}}, // ( 10, 154)
+ {128, { 0, 0, 0}}, // ( 11, 154)
+ {128, { 0, 0, 0}}, // ( 12, 154)
+ {128, { 0, 0, 0}}, // ( 13, 154)
+ {128, { 0, 0, 0}}, // ( 14, 154)
+ {128, { 0, 0, 0}}, // ( 15, 154)
+ {128, { 0, 0, 0}}, // ( 16, 154)
+ {128, { 0, 0, 0}}, // ( 17, 154)
+ {128, { 0, 0, 0}}, // ( 18, 154)
+ {128, { 0, 0, 0}}, // ( 19, 154)
+ {128, { 0, 0, 0}}, // ( 20, 154)
+ {128, { 0, 0, 0}}, // ( 21, 154)
+ {128, { 0, 0, 0}}, // ( 22, 154)
+ {128, { 0, 0, 0}}, // ( 23, 154)
+ {128, { 0, 0, 0}}, // ( 24, 154)
+ {128, { 0, 0, 0}}, // ( 25, 154)
+ {128, { 0, 0, 0}}, // ( 26, 154)
+ {128, { 0, 0, 0}}, // ( 27, 154)
+ {128, { 0, 0, 0}}, // ( 28, 154)
+ {120, { 0, 0, 0}}, // ( 29, 154)
+ { 29, { 0, 0, 0}}, // ( 30, 154)
+ { 0, { 0, 0, 0}}, // ( 31, 154)
+ { 0, { 0, 0, 0}}, // ( 32, 154)
+ { 0, { 0, 0, 0}}, // ( 33, 154)
+ { 0, { 0, 0, 0}}, // ( 34, 154)
+ { 0, { 0, 0, 0}}, // ( 35, 154)
+ { 0, { 0, 0, 0}}, // ( 36, 154)
+ { 0, { 0, 0, 0}}, // ( 37, 154)
+ { 0, { 0, 0, 0}}, // ( 38, 154)
+ { 0, { 0, 0, 0}}, // ( 39, 154)
+ { 0, { 0, 0, 0}}, // ( 40, 154)
+ { 0, { 0, 0, 0}}, // ( 41, 154)
+ { 0, { 0, 0, 0}}, // ( 42, 154)
+ { 0, { 0, 0, 0}}, // ( 43, 154)
+ { 0, { 0, 0, 0}}, // ( 44, 154)
+ { 0, { 0, 0, 0}}, // ( 45, 154)
+ { 0, { 0, 0, 0}}, // ( 46, 154)
+ { 0, { 0, 0, 0}}, // ( 47, 154)
+ { 0, { 0, 0, 0}}, // ( 48, 154)
+ { 0, { 0, 0, 0}}, // ( 49, 154)
+ { 0, { 0, 0, 0}}, // ( 50, 154)
+ { 0, { 0, 0, 0}}, // ( 51, 154)
+ { 0, { 0, 0, 0}}, // ( 52, 154)
+ { 0, { 0, 0, 0}}, // ( 53, 154)
+ { 0, { 0, 0, 0}}, // ( 54, 154)
+ { 0, { 0, 0, 0}}, // ( 55, 154)
+ { 0, { 0, 0, 0}}, // ( 56, 154)
+ { 0, { 0, 0, 0}}, // ( 57, 154)
+ { 0, { 0, 0, 0}}, // ( 58, 154)
+ { 0, { 0, 0, 0}}, // ( 59, 154)
+ { 0, { 0, 0, 0}}, // ( 60, 154)
+ { 0, { 0, 0, 0}}, // ( 61, 154)
+ { 0, { 0, 0, 0}}, // ( 62, 154)
+ { 0, { 0, 0, 0}}, // ( 63, 154)
+ { 0, { 0, 0, 0}}, // ( 64, 154)
+ { 0, { 0, 0, 0}}, // ( 65, 154)
+ { 0, { 0, 0, 0}}, // ( 66, 154)
+ { 0, { 0, 0, 0}}, // ( 67, 154)
+ { 0, { 0, 0, 0}}, // ( 68, 154)
+ { 0, { 0, 0, 0}}, // ( 69, 154)
+ { 0, { 0, 0, 0}}, // ( 70, 154)
+ { 0, { 0, 0, 0}}, // ( 71, 154)
+ { 0, { 0, 0, 0}}, // ( 72, 154)
+ { 0, { 0, 0, 0}}, // ( 73, 154)
+ { 0, { 0, 0, 0}}, // ( 74, 154)
+ { 0, { 0, 0, 0}}, // ( 75, 154)
+ { 0, { 0, 0, 0}}, // ( 76, 154)
+ { 0, { 0, 0, 0}}, // ( 77, 154)
+ { 0, { 0, 0, 0}}, // ( 78, 154)
+ { 0, { 0, 0, 0}}, // ( 79, 154)
+ { 0, { 0, 0, 0}}, // ( 80, 154)
+ { 0, { 0, 0, 0}}, // ( 81, 154)
+ { 0, { 0, 0, 0}}, // ( 82, 154)
+ { 0, { 0, 0, 0}}, // ( 83, 154)
+ { 0, { 0, 0, 0}}, // ( 84, 154)
+ { 0, { 0, 0, 0}}, // ( 85, 154)
+ { 0, { 0, 0, 0}}, // ( 86, 154)
+ { 0, { 0, 0, 0}}, // ( 87, 154)
+ { 0, { 0, 0, 0}}, // ( 88, 154)
+ { 0, { 0, 0, 0}}, // ( 89, 154)
+ { 0, { 0, 0, 0}}, // ( 90, 154)
+ { 0, { 0, 0, 0}}, // ( 91, 154)
+ { 0, { 0, 0, 0}}, // ( 92, 154)
+ { 0, { 0, 0, 0}}, // ( 93, 154)
+ { 0, { 0, 0, 0}}, // ( 94, 154)
+ { 0, { 0, 0, 0}}, // ( 95, 154)
+ { 0, { 0, 0, 0}}, // ( 96, 154)
+ { 0, { 0, 0, 0}}, // ( 97, 154)
+ { 0, { 0, 0, 0}}, // ( 98, 154)
+ { 0, { 0, 0, 0}}, // ( 99, 154)
+ { 0, { 0, 0, 0}}, // (100, 154)
+ { 0, { 0, 0, 0}}, // (101, 154)
+ { 0, { 0, 0, 0}}, // (102, 154)
+ { 0, { 0, 0, 0}}, // (103, 154)
+ { 0, { 0, 0, 0}}, // (104, 154)
+ { 0, { 0, 0, 0}}, // (105, 154)
+ { 0, { 0, 0, 0}}, // (106, 154)
+ { 0, { 0, 0, 0}}, // (107, 154)
+ { 0, { 0, 0, 0}}, // (108, 154)
+ { 0, { 0, 0, 0}}, // (109, 154)
+ { 0, { 0, 0, 0}}, // (110, 154)
+ { 0, { 0, 0, 0}}, // (111, 154)
+ { 0, { 0, 0, 0}}, // (112, 154)
+ { 0, { 0, 0, 0}}, // (113, 154)
+ { 0, { 0, 0, 0}}, // (114, 154)
+ { 0, { 0, 0, 0}}, // (115, 154)
+ { 0, { 0, 0, 0}}, // (116, 154)
+ { 0, { 0, 0, 0}}, // (117, 154)
+ { 0, { 0, 0, 0}}, // (118, 154)
+ { 0, { 0, 0, 0}}, // (119, 154)
+ { 0, { 0, 0, 0}}, // (120, 154)
+ { 0, { 0, 0, 0}}, // (121, 154)
+ { 0, { 0, 0, 0}}, // (122, 154)
+ { 0, { 0, 0, 0}}, // (123, 154)
+ { 0, { 0, 0, 0}}, // (124, 154)
+ { 0, { 0, 0, 0}}, // (125, 154)
+ { 0, { 0, 0, 0}}, // (126, 154)
+ { 0, { 0, 0, 0}}, // (127, 154)
+ { 0, { 0, 0, 0}}, // (128, 154)
+ { 0, { 0, 0, 0}}, // (129, 154)
+ { 0, { 0, 0, 0}}, // (130, 154)
+ { 0, { 0, 0, 0}}, // (131, 154)
+ { 0, { 0, 0, 0}}, // (132, 154)
+ { 0, { 0, 0, 0}}, // (133, 154)
+ { 0, { 0, 0, 0}}, // (134, 154)
+ { 0, { 0, 0, 0}}, // (135, 154)
+ { 0, { 0, 0, 0}}, // (136, 154)
+ { 0, { 0, 0, 0}}, // (137, 154)
+ { 0, { 0, 0, 0}}, // (138, 154)
+ { 0, { 0, 0, 0}}, // (139, 154)
+ { 0, { 0, 0, 0}}, // (140, 154)
+ { 0, { 0, 0, 0}}, // (141, 154)
+ { 0, { 0, 0, 0}}, // (142, 154)
+ { 0, { 0, 0, 0}}, // (143, 154)
+ { 0, { 0, 0, 0}}, // (144, 154)
+ { 0, { 0, 0, 0}}, // (145, 154)
+ { 0, { 0, 0, 0}}, // (146, 154)
+ { 0, { 0, 0, 0}}, // (147, 154)
+ { 0, { 0, 0, 0}}, // (148, 154)
+ { 29, { 0, 0, 0}}, // (149, 154)
+ {120, { 0, 0, 0}}, // (150, 154)
+ {128, { 0, 0, 0}}, // (151, 154)
+ {128, { 0, 0, 0}}, // (152, 154)
+ {128, { 0, 0, 0}}, // (153, 154)
+ {128, { 0, 0, 0}}, // (154, 154)
+ {128, { 0, 0, 0}}, // (155, 154)
+ {128, { 0, 0, 0}}, // (156, 154)
+ {128, { 0, 0, 0}}, // (157, 154)
+ {128, { 0, 0, 0}}, // (158, 154)
+ {128, { 0, 0, 0}}, // (159, 154)
+ {128, { 0, 0, 0}}, // (160, 154)
+ {128, { 0, 0, 0}}, // (161, 154)
+ {128, { 0, 0, 0}}, // (162, 154)
+ {128, { 0, 0, 0}}, // (163, 154)
+ {128, { 0, 0, 0}}, // (164, 154)
+ {128, { 0, 0, 0}}, // (165, 154)
+ {128, { 0, 0, 0}}, // (166, 154)
+ {128, { 0, 0, 0}}, // (167, 154)
+ {128, { 0, 0, 0}}, // (168, 154)
+ {128, { 0, 0, 0}}, // (169, 154)
+ {128, { 0, 0, 0}}, // (170, 154)
+ {128, { 0, 0, 0}}, // (171, 154)
+ {128, { 0, 0, 0}}, // (172, 154)
+ {128, { 0, 0, 0}}, // (173, 154)
+ {128, { 0, 0, 0}}, // (174, 154)
+ {128, { 0, 0, 0}}, // (175, 154)
+ {128, { 0, 0, 0}}, // (176, 154)
+ {128, { 0, 0, 0}}, // (177, 154)
+ {128, { 0, 0, 0}}, // (178, 154)
+ {128, { 0, 0, 0}}, // (179, 154)
+ {128, { 0, 0, 0}}, // ( 0, 155)
+ {128, { 0, 0, 0}}, // ( 1, 155)
+ {128, { 0, 0, 0}}, // ( 2, 155)
+ {128, { 0, 0, 0}}, // ( 3, 155)
+ {128, { 0, 0, 0}}, // ( 4, 155)
+ {128, { 0, 0, 0}}, // ( 5, 155)
+ {128, { 0, 0, 0}}, // ( 6, 155)
+ {128, { 0, 0, 0}}, // ( 7, 155)
+ {128, { 0, 0, 0}}, // ( 8, 155)
+ {128, { 0, 0, 0}}, // ( 9, 155)
+ {128, { 0, 0, 0}}, // ( 10, 155)
+ {128, { 0, 0, 0}}, // ( 11, 155)
+ {128, { 0, 0, 0}}, // ( 12, 155)
+ {128, { 0, 0, 0}}, // ( 13, 155)
+ {128, { 0, 0, 0}}, // ( 14, 155)
+ {128, { 0, 0, 0}}, // ( 15, 155)
+ {128, { 0, 0, 0}}, // ( 16, 155)
+ {128, { 0, 0, 0}}, // ( 17, 155)
+ {128, { 0, 0, 0}}, // ( 18, 155)
+ {128, { 0, 0, 0}}, // ( 19, 155)
+ {128, { 0, 0, 0}}, // ( 20, 155)
+ {128, { 0, 0, 0}}, // ( 21, 155)
+ {128, { 0, 0, 0}}, // ( 22, 155)
+ {128, { 0, 0, 0}}, // ( 23, 155)
+ {128, { 0, 0, 0}}, // ( 24, 155)
+ {128, { 0, 0, 0}}, // ( 25, 155)
+ {128, { 0, 0, 0}}, // ( 26, 155)
+ {128, { 0, 0, 0}}, // ( 27, 155)
+ {128, { 0, 0, 0}}, // ( 28, 155)
+ {128, { 0, 0, 0}}, // ( 29, 155)
+ {122, { 0, 0, 0}}, // ( 30, 155)
+ { 36, { 0, 0, 0}}, // ( 31, 155)
+ { 0, { 0, 0, 0}}, // ( 32, 155)
+ { 0, { 0, 0, 0}}, // ( 33, 155)
+ { 0, { 0, 0, 0}}, // ( 34, 155)
+ { 0, { 0, 0, 0}}, // ( 35, 155)
+ { 0, { 0, 0, 0}}, // ( 36, 155)
+ { 0, { 0, 0, 0}}, // ( 37, 155)
+ { 0, { 0, 0, 0}}, // ( 38, 155)
+ { 0, { 0, 0, 0}}, // ( 39, 155)
+ { 0, { 0, 0, 0}}, // ( 40, 155)
+ { 0, { 0, 0, 0}}, // ( 41, 155)
+ { 0, { 0, 0, 0}}, // ( 42, 155)
+ { 0, { 0, 0, 0}}, // ( 43, 155)
+ { 0, { 0, 0, 0}}, // ( 44, 155)
+ { 0, { 0, 0, 0}}, // ( 45, 155)
+ { 0, { 0, 0, 0}}, // ( 46, 155)
+ { 0, { 0, 0, 0}}, // ( 47, 155)
+ { 0, { 0, 0, 0}}, // ( 48, 155)
+ { 0, { 0, 0, 0}}, // ( 49, 155)
+ { 0, { 0, 0, 0}}, // ( 50, 155)
+ { 0, { 0, 0, 0}}, // ( 51, 155)
+ { 0, { 0, 0, 0}}, // ( 52, 155)
+ { 0, { 0, 0, 0}}, // ( 53, 155)
+ { 0, { 0, 0, 0}}, // ( 54, 155)
+ { 0, { 0, 0, 0}}, // ( 55, 155)
+ { 0, { 0, 0, 0}}, // ( 56, 155)
+ { 0, { 0, 0, 0}}, // ( 57, 155)
+ { 0, { 0, 0, 0}}, // ( 58, 155)
+ { 0, { 0, 0, 0}}, // ( 59, 155)
+ { 0, { 0, 0, 0}}, // ( 60, 155)
+ { 0, { 0, 0, 0}}, // ( 61, 155)
+ { 0, { 0, 0, 0}}, // ( 62, 155)
+ { 0, { 0, 0, 0}}, // ( 63, 155)
+ { 0, { 0, 0, 0}}, // ( 64, 155)
+ { 0, { 0, 0, 0}}, // ( 65, 155)
+ { 0, { 0, 0, 0}}, // ( 66, 155)
+ { 0, { 0, 0, 0}}, // ( 67, 155)
+ { 0, { 0, 0, 0}}, // ( 68, 155)
+ { 0, { 0, 0, 0}}, // ( 69, 155)
+ { 0, { 0, 0, 0}}, // ( 70, 155)
+ { 0, { 0, 0, 0}}, // ( 71, 155)
+ { 0, { 0, 0, 0}}, // ( 72, 155)
+ { 0, { 0, 0, 0}}, // ( 73, 155)
+ { 0, { 0, 0, 0}}, // ( 74, 155)
+ { 0, { 0, 0, 0}}, // ( 75, 155)
+ { 0, { 0, 0, 0}}, // ( 76, 155)
+ { 0, { 0, 0, 0}}, // ( 77, 155)
+ { 0, { 0, 0, 0}}, // ( 78, 155)
+ { 0, { 0, 0, 0}}, // ( 79, 155)
+ { 0, { 0, 0, 0}}, // ( 80, 155)
+ { 0, { 0, 0, 0}}, // ( 81, 155)
+ { 0, { 0, 0, 0}}, // ( 82, 155)
+ { 0, { 0, 0, 0}}, // ( 83, 155)
+ { 0, { 0, 0, 0}}, // ( 84, 155)
+ { 0, { 0, 0, 0}}, // ( 85, 155)
+ { 0, { 0, 0, 0}}, // ( 86, 155)
+ { 0, { 0, 0, 0}}, // ( 87, 155)
+ { 0, { 0, 0, 0}}, // ( 88, 155)
+ { 0, { 0, 0, 0}}, // ( 89, 155)
+ { 0, { 0, 0, 0}}, // ( 90, 155)
+ { 0, { 0, 0, 0}}, // ( 91, 155)
+ { 0, { 0, 0, 0}}, // ( 92, 155)
+ { 0, { 0, 0, 0}}, // ( 93, 155)
+ { 0, { 0, 0, 0}}, // ( 94, 155)
+ { 0, { 0, 0, 0}}, // ( 95, 155)
+ { 0, { 0, 0, 0}}, // ( 96, 155)
+ { 0, { 0, 0, 0}}, // ( 97, 155)
+ { 0, { 0, 0, 0}}, // ( 98, 155)
+ { 0, { 0, 0, 0}}, // ( 99, 155)
+ { 0, { 0, 0, 0}}, // (100, 155)
+ { 0, { 0, 0, 0}}, // (101, 155)
+ { 0, { 0, 0, 0}}, // (102, 155)
+ { 0, { 0, 0, 0}}, // (103, 155)
+ { 0, { 0, 0, 0}}, // (104, 155)
+ { 0, { 0, 0, 0}}, // (105, 155)
+ { 0, { 0, 0, 0}}, // (106, 155)
+ { 0, { 0, 0, 0}}, // (107, 155)
+ { 0, { 0, 0, 0}}, // (108, 155)
+ { 0, { 0, 0, 0}}, // (109, 155)
+ { 0, { 0, 0, 0}}, // (110, 155)
+ { 0, { 0, 0, 0}}, // (111, 155)
+ { 0, { 0, 0, 0}}, // (112, 155)
+ { 0, { 0, 0, 0}}, // (113, 155)
+ { 0, { 0, 0, 0}}, // (114, 155)
+ { 0, { 0, 0, 0}}, // (115, 155)
+ { 0, { 0, 0, 0}}, // (116, 155)
+ { 0, { 0, 0, 0}}, // (117, 155)
+ { 0, { 0, 0, 0}}, // (118, 155)
+ { 0, { 0, 0, 0}}, // (119, 155)
+ { 0, { 0, 0, 0}}, // (120, 155)
+ { 0, { 0, 0, 0}}, // (121, 155)
+ { 0, { 0, 0, 0}}, // (122, 155)
+ { 0, { 0, 0, 0}}, // (123, 155)
+ { 0, { 0, 0, 0}}, // (124, 155)
+ { 0, { 0, 0, 0}}, // (125, 155)
+ { 0, { 0, 0, 0}}, // (126, 155)
+ { 0, { 0, 0, 0}}, // (127, 155)
+ { 0, { 0, 0, 0}}, // (128, 155)
+ { 0, { 0, 0, 0}}, // (129, 155)
+ { 0, { 0, 0, 0}}, // (130, 155)
+ { 0, { 0, 0, 0}}, // (131, 155)
+ { 0, { 0, 0, 0}}, // (132, 155)
+ { 0, { 0, 0, 0}}, // (133, 155)
+ { 0, { 0, 0, 0}}, // (134, 155)
+ { 0, { 0, 0, 0}}, // (135, 155)
+ { 0, { 0, 0, 0}}, // (136, 155)
+ { 0, { 0, 0, 0}}, // (137, 155)
+ { 0, { 0, 0, 0}}, // (138, 155)
+ { 0, { 0, 0, 0}}, // (139, 155)
+ { 0, { 0, 0, 0}}, // (140, 155)
+ { 0, { 0, 0, 0}}, // (141, 155)
+ { 0, { 0, 0, 0}}, // (142, 155)
+ { 0, { 0, 0, 0}}, // (143, 155)
+ { 0, { 0, 0, 0}}, // (144, 155)
+ { 0, { 0, 0, 0}}, // (145, 155)
+ { 0, { 0, 0, 0}}, // (146, 155)
+ { 0, { 0, 0, 0}}, // (147, 155)
+ { 36, { 0, 0, 0}}, // (148, 155)
+ {122, { 0, 0, 0}}, // (149, 155)
+ {128, { 0, 0, 0}}, // (150, 155)
+ {128, { 0, 0, 0}}, // (151, 155)
+ {128, { 0, 0, 0}}, // (152, 155)
+ {128, { 0, 0, 0}}, // (153, 155)
+ {128, { 0, 0, 0}}, // (154, 155)
+ {128, { 0, 0, 0}}, // (155, 155)
+ {128, { 0, 0, 0}}, // (156, 155)
+ {128, { 0, 0, 0}}, // (157, 155)
+ {128, { 0, 0, 0}}, // (158, 155)
+ {128, { 0, 0, 0}}, // (159, 155)
+ {128, { 0, 0, 0}}, // (160, 155)
+ {128, { 0, 0, 0}}, // (161, 155)
+ {128, { 0, 0, 0}}, // (162, 155)
+ {128, { 0, 0, 0}}, // (163, 155)
+ {128, { 0, 0, 0}}, // (164, 155)
+ {128, { 0, 0, 0}}, // (165, 155)
+ {128, { 0, 0, 0}}, // (166, 155)
+ {128, { 0, 0, 0}}, // (167, 155)
+ {128, { 0, 0, 0}}, // (168, 155)
+ {128, { 0, 0, 0}}, // (169, 155)
+ {128, { 0, 0, 0}}, // (170, 155)
+ {128, { 0, 0, 0}}, // (171, 155)
+ {128, { 0, 0, 0}}, // (172, 155)
+ {128, { 0, 0, 0}}, // (173, 155)
+ {128, { 0, 0, 0}}, // (174, 155)
+ {128, { 0, 0, 0}}, // (175, 155)
+ {128, { 0, 0, 0}}, // (176, 155)
+ {128, { 0, 0, 0}}, // (177, 155)
+ {128, { 0, 0, 0}}, // (178, 155)
+ {128, { 0, 0, 0}}, // (179, 155)
+ {128, { 0, 0, 0}}, // ( 0, 156)
+ {128, { 0, 0, 0}}, // ( 1, 156)
+ {128, { 0, 0, 0}}, // ( 2, 156)
+ {128, { 0, 0, 0}}, // ( 3, 156)
+ {128, { 0, 0, 0}}, // ( 4, 156)
+ {128, { 0, 0, 0}}, // ( 5, 156)
+ {128, { 0, 0, 0}}, // ( 6, 156)
+ {128, { 0, 0, 0}}, // ( 7, 156)
+ {128, { 0, 0, 0}}, // ( 8, 156)
+ {128, { 0, 0, 0}}, // ( 9, 156)
+ {128, { 0, 0, 0}}, // ( 10, 156)
+ {128, { 0, 0, 0}}, // ( 11, 156)
+ {128, { 0, 0, 0}}, // ( 12, 156)
+ {128, { 0, 0, 0}}, // ( 13, 156)
+ {128, { 0, 0, 0}}, // ( 14, 156)
+ {128, { 0, 0, 0}}, // ( 15, 156)
+ {128, { 0, 0, 0}}, // ( 16, 156)
+ {128, { 0, 0, 0}}, // ( 17, 156)
+ {128, { 0, 0, 0}}, // ( 18, 156)
+ {128, { 0, 0, 0}}, // ( 19, 156)
+ {128, { 0, 0, 0}}, // ( 20, 156)
+ {128, { 0, 0, 0}}, // ( 21, 156)
+ {128, { 0, 0, 0}}, // ( 22, 156)
+ {128, { 0, 0, 0}}, // ( 23, 156)
+ {128, { 0, 0, 0}}, // ( 24, 156)
+ {128, { 0, 0, 0}}, // ( 25, 156)
+ {128, { 0, 0, 0}}, // ( 26, 156)
+ {128, { 0, 0, 0}}, // ( 27, 156)
+ {128, { 0, 0, 0}}, // ( 28, 156)
+ {128, { 0, 0, 0}}, // ( 29, 156)
+ {128, { 0, 0, 0}}, // ( 30, 156)
+ {126, { 0, 0, 0}}, // ( 31, 156)
+ { 49, { 0, 0, 0}}, // ( 32, 156)
+ { 0, { 0, 0, 0}}, // ( 33, 156)
+ { 0, { 0, 0, 0}}, // ( 34, 156)
+ { 0, { 0, 0, 0}}, // ( 35, 156)
+ { 0, { 0, 0, 0}}, // ( 36, 156)
+ { 0, { 0, 0, 0}}, // ( 37, 156)
+ { 0, { 0, 0, 0}}, // ( 38, 156)
+ { 0, { 0, 0, 0}}, // ( 39, 156)
+ { 0, { 0, 0, 0}}, // ( 40, 156)
+ { 0, { 0, 0, 0}}, // ( 41, 156)
+ { 0, { 0, 0, 0}}, // ( 42, 156)
+ { 0, { 0, 0, 0}}, // ( 43, 156)
+ { 0, { 0, 0, 0}}, // ( 44, 156)
+ { 0, { 0, 0, 0}}, // ( 45, 156)
+ { 0, { 0, 0, 0}}, // ( 46, 156)
+ { 0, { 0, 0, 0}}, // ( 47, 156)
+ { 0, { 0, 0, 0}}, // ( 48, 156)
+ { 0, { 0, 0, 0}}, // ( 49, 156)
+ { 0, { 0, 0, 0}}, // ( 50, 156)
+ { 0, { 0, 0, 0}}, // ( 51, 156)
+ { 0, { 0, 0, 0}}, // ( 52, 156)
+ { 0, { 0, 0, 0}}, // ( 53, 156)
+ { 0, { 0, 0, 0}}, // ( 54, 156)
+ { 0, { 0, 0, 0}}, // ( 55, 156)
+ { 0, { 0, 0, 0}}, // ( 56, 156)
+ { 0, { 0, 0, 0}}, // ( 57, 156)
+ { 0, { 0, 0, 0}}, // ( 58, 156)
+ { 0, { 0, 0, 0}}, // ( 59, 156)
+ { 0, { 0, 0, 0}}, // ( 60, 156)
+ { 0, { 0, 0, 0}}, // ( 61, 156)
+ { 0, { 0, 0, 0}}, // ( 62, 156)
+ { 0, { 0, 0, 0}}, // ( 63, 156)
+ { 0, { 0, 0, 0}}, // ( 64, 156)
+ { 0, { 0, 0, 0}}, // ( 65, 156)
+ { 0, { 0, 0, 0}}, // ( 66, 156)
+ { 0, { 0, 0, 0}}, // ( 67, 156)
+ { 0, { 0, 0, 0}}, // ( 68, 156)
+ { 0, { 0, 0, 0}}, // ( 69, 156)
+ { 0, { 0, 0, 0}}, // ( 70, 156)
+ { 0, { 0, 0, 0}}, // ( 71, 156)
+ { 0, { 0, 0, 0}}, // ( 72, 156)
+ { 0, { 0, 0, 0}}, // ( 73, 156)
+ { 0, { 0, 0, 0}}, // ( 74, 156)
+ { 0, { 0, 0, 0}}, // ( 75, 156)
+ { 0, { 0, 0, 0}}, // ( 76, 156)
+ { 0, { 0, 0, 0}}, // ( 77, 156)
+ { 0, { 0, 0, 0}}, // ( 78, 156)
+ { 0, { 0, 0, 0}}, // ( 79, 156)
+ { 0, { 0, 0, 0}}, // ( 80, 156)
+ { 0, { 0, 0, 0}}, // ( 81, 156)
+ { 0, { 0, 0, 0}}, // ( 82, 156)
+ { 0, { 0, 0, 0}}, // ( 83, 156)
+ { 0, { 0, 0, 0}}, // ( 84, 156)
+ { 0, { 0, 0, 0}}, // ( 85, 156)
+ { 0, { 0, 0, 0}}, // ( 86, 156)
+ { 0, { 0, 0, 0}}, // ( 87, 156)
+ { 0, { 0, 0, 0}}, // ( 88, 156)
+ { 0, { 0, 0, 0}}, // ( 89, 156)
+ { 0, { 0, 0, 0}}, // ( 90, 156)
+ { 0, { 0, 0, 0}}, // ( 91, 156)
+ { 0, { 0, 0, 0}}, // ( 92, 156)
+ { 0, { 0, 0, 0}}, // ( 93, 156)
+ { 0, { 0, 0, 0}}, // ( 94, 156)
+ { 0, { 0, 0, 0}}, // ( 95, 156)
+ { 0, { 0, 0, 0}}, // ( 96, 156)
+ { 0, { 0, 0, 0}}, // ( 97, 156)
+ { 0, { 0, 0, 0}}, // ( 98, 156)
+ { 0, { 0, 0, 0}}, // ( 99, 156)
+ { 0, { 0, 0, 0}}, // (100, 156)
+ { 0, { 0, 0, 0}}, // (101, 156)
+ { 0, { 0, 0, 0}}, // (102, 156)
+ { 0, { 0, 0, 0}}, // (103, 156)
+ { 0, { 0, 0, 0}}, // (104, 156)
+ { 0, { 0, 0, 0}}, // (105, 156)
+ { 0, { 0, 0, 0}}, // (106, 156)
+ { 0, { 0, 0, 0}}, // (107, 156)
+ { 0, { 0, 0, 0}}, // (108, 156)
+ { 0, { 0, 0, 0}}, // (109, 156)
+ { 0, { 0, 0, 0}}, // (110, 156)
+ { 0, { 0, 0, 0}}, // (111, 156)
+ { 0, { 0, 0, 0}}, // (112, 156)
+ { 0, { 0, 0, 0}}, // (113, 156)
+ { 0, { 0, 0, 0}}, // (114, 156)
+ { 0, { 0, 0, 0}}, // (115, 156)
+ { 0, { 0, 0, 0}}, // (116, 156)
+ { 0, { 0, 0, 0}}, // (117, 156)
+ { 0, { 0, 0, 0}}, // (118, 156)
+ { 0, { 0, 0, 0}}, // (119, 156)
+ { 0, { 0, 0, 0}}, // (120, 156)
+ { 0, { 0, 0, 0}}, // (121, 156)
+ { 0, { 0, 0, 0}}, // (122, 156)
+ { 0, { 0, 0, 0}}, // (123, 156)
+ { 0, { 0, 0, 0}}, // (124, 156)
+ { 0, { 0, 0, 0}}, // (125, 156)
+ { 0, { 0, 0, 0}}, // (126, 156)
+ { 0, { 0, 0, 0}}, // (127, 156)
+ { 0, { 0, 0, 0}}, // (128, 156)
+ { 0, { 0, 0, 0}}, // (129, 156)
+ { 0, { 0, 0, 0}}, // (130, 156)
+ { 0, { 0, 0, 0}}, // (131, 156)
+ { 0, { 0, 0, 0}}, // (132, 156)
+ { 0, { 0, 0, 0}}, // (133, 156)
+ { 0, { 0, 0, 0}}, // (134, 156)
+ { 0, { 0, 0, 0}}, // (135, 156)
+ { 0, { 0, 0, 0}}, // (136, 156)
+ { 0, { 0, 0, 0}}, // (137, 156)
+ { 0, { 0, 0, 0}}, // (138, 156)
+ { 0, { 0, 0, 0}}, // (139, 156)
+ { 0, { 0, 0, 0}}, // (140, 156)
+ { 0, { 0, 0, 0}}, // (141, 156)
+ { 0, { 0, 0, 0}}, // (142, 156)
+ { 0, { 0, 0, 0}}, // (143, 156)
+ { 0, { 0, 0, 0}}, // (144, 156)
+ { 0, { 0, 0, 0}}, // (145, 156)
+ { 0, { 0, 0, 0}}, // (146, 156)
+ { 49, { 0, 0, 0}}, // (147, 156)
+ {125, { 0, 0, 0}}, // (148, 156)
+ {128, { 0, 0, 0}}, // (149, 156)
+ {128, { 0, 0, 0}}, // (150, 156)
+ {128, { 0, 0, 0}}, // (151, 156)
+ {128, { 0, 0, 0}}, // (152, 156)
+ {128, { 0, 0, 0}}, // (153, 156)
+ {128, { 0, 0, 0}}, // (154, 156)
+ {128, { 0, 0, 0}}, // (155, 156)
+ {128, { 0, 0, 0}}, // (156, 156)
+ {128, { 0, 0, 0}}, // (157, 156)
+ {128, { 0, 0, 0}}, // (158, 156)
+ {128, { 0, 0, 0}}, // (159, 156)
+ {128, { 0, 0, 0}}, // (160, 156)
+ {128, { 0, 0, 0}}, // (161, 156)
+ {128, { 0, 0, 0}}, // (162, 156)
+ {128, { 0, 0, 0}}, // (163, 156)
+ {128, { 0, 0, 0}}, // (164, 156)
+ {128, { 0, 0, 0}}, // (165, 156)
+ {128, { 0, 0, 0}}, // (166, 156)
+ {128, { 0, 0, 0}}, // (167, 156)
+ {128, { 0, 0, 0}}, // (168, 156)
+ {128, { 0, 0, 0}}, // (169, 156)
+ {128, { 0, 0, 0}}, // (170, 156)
+ {128, { 0, 0, 0}}, // (171, 156)
+ {128, { 0, 0, 0}}, // (172, 156)
+ {128, { 0, 0, 0}}, // (173, 156)
+ {128, { 0, 0, 0}}, // (174, 156)
+ {128, { 0, 0, 0}}, // (175, 156)
+ {128, { 0, 0, 0}}, // (176, 156)
+ {128, { 0, 0, 0}}, // (177, 156)
+ {128, { 0, 0, 0}}, // (178, 156)
+ {128, { 0, 0, 0}}, // (179, 156)
+ {128, { 0, 0, 0}}, // ( 0, 157)
+ {128, { 0, 0, 0}}, // ( 1, 157)
+ {128, { 0, 0, 0}}, // ( 2, 157)
+ {128, { 0, 0, 0}}, // ( 3, 157)
+ {128, { 0, 0, 0}}, // ( 4, 157)
+ {128, { 0, 0, 0}}, // ( 5, 157)
+ {128, { 0, 0, 0}}, // ( 6, 157)
+ {128, { 0, 0, 0}}, // ( 7, 157)
+ {128, { 0, 0, 0}}, // ( 8, 157)
+ {128, { 0, 0, 0}}, // ( 9, 157)
+ {128, { 0, 0, 0}}, // ( 10, 157)
+ {128, { 0, 0, 0}}, // ( 11, 157)
+ {128, { 0, 0, 0}}, // ( 12, 157)
+ {128, { 0, 0, 0}}, // ( 13, 157)
+ {128, { 0, 0, 0}}, // ( 14, 157)
+ {128, { 0, 0, 0}}, // ( 15, 157)
+ {128, { 0, 0, 0}}, // ( 16, 157)
+ {128, { 0, 0, 0}}, // ( 17, 157)
+ {128, { 0, 0, 0}}, // ( 18, 157)
+ {128, { 0, 0, 0}}, // ( 19, 157)
+ {128, { 0, 0, 0}}, // ( 20, 157)
+ {128, { 0, 0, 0}}, // ( 21, 157)
+ {128, { 0, 0, 0}}, // ( 22, 157)
+ {128, { 0, 0, 0}}, // ( 23, 157)
+ {128, { 0, 0, 0}}, // ( 24, 157)
+ {128, { 0, 0, 0}}, // ( 25, 157)
+ {128, { 0, 0, 0}}, // ( 26, 157)
+ {128, { 0, 0, 0}}, // ( 27, 157)
+ {128, { 0, 0, 0}}, // ( 28, 157)
+ {128, { 0, 0, 0}}, // ( 29, 157)
+ {128, { 0, 0, 0}}, // ( 30, 157)
+ {128, { 0, 0, 0}}, // ( 31, 157)
+ {128, { 0, 0, 0}}, // ( 32, 157)
+ { 69, { 0, 0, 0}}, // ( 33, 157)
+ { 1, { 0, 0, 0}}, // ( 34, 157)
+ { 0, { 0, 0, 0}}, // ( 35, 157)
+ { 0, { 0, 0, 0}}, // ( 36, 157)
+ { 0, { 0, 0, 0}}, // ( 37, 157)
+ { 0, { 0, 0, 0}}, // ( 38, 157)
+ { 0, { 0, 0, 0}}, // ( 39, 157)
+ { 0, { 0, 0, 0}}, // ( 40, 157)
+ { 0, { 0, 0, 0}}, // ( 41, 157)
+ { 0, { 0, 0, 0}}, // ( 42, 157)
+ { 0, { 0, 0, 0}}, // ( 43, 157)
+ { 0, { 0, 0, 0}}, // ( 44, 157)
+ { 0, { 0, 0, 0}}, // ( 45, 157)
+ { 0, { 0, 0, 0}}, // ( 46, 157)
+ { 0, { 0, 0, 0}}, // ( 47, 157)
+ { 0, { 0, 0, 0}}, // ( 48, 157)
+ { 0, { 0, 0, 0}}, // ( 49, 157)
+ { 0, { 0, 0, 0}}, // ( 50, 157)
+ { 0, { 0, 0, 0}}, // ( 51, 157)
+ { 0, { 0, 0, 0}}, // ( 52, 157)
+ { 0, { 0, 0, 0}}, // ( 53, 157)
+ { 0, { 0, 0, 0}}, // ( 54, 157)
+ { 0, { 0, 0, 0}}, // ( 55, 157)
+ { 0, { 0, 0, 0}}, // ( 56, 157)
+ { 0, { 0, 0, 0}}, // ( 57, 157)
+ { 0, { 0, 0, 0}}, // ( 58, 157)
+ { 0, { 0, 0, 0}}, // ( 59, 157)
+ { 0, { 0, 0, 0}}, // ( 60, 157)
+ { 0, { 0, 0, 0}}, // ( 61, 157)
+ { 0, { 0, 0, 0}}, // ( 62, 157)
+ { 0, { 0, 0, 0}}, // ( 63, 157)
+ { 0, { 0, 0, 0}}, // ( 64, 157)
+ { 0, { 0, 0, 0}}, // ( 65, 157)
+ { 0, { 0, 0, 0}}, // ( 66, 157)
+ { 0, { 0, 0, 0}}, // ( 67, 157)
+ { 0, { 0, 0, 0}}, // ( 68, 157)
+ { 0, { 0, 0, 0}}, // ( 69, 157)
+ { 0, { 0, 0, 0}}, // ( 70, 157)
+ { 0, { 0, 0, 0}}, // ( 71, 157)
+ { 0, { 0, 0, 0}}, // ( 72, 157)
+ { 0, { 0, 0, 0}}, // ( 73, 157)
+ { 0, { 0, 0, 0}}, // ( 74, 157)
+ { 0, { 0, 0, 0}}, // ( 75, 157)
+ { 0, { 0, 0, 0}}, // ( 76, 157)
+ { 0, { 0, 0, 0}}, // ( 77, 157)
+ { 0, { 0, 0, 0}}, // ( 78, 157)
+ { 0, { 0, 0, 0}}, // ( 79, 157)
+ { 0, { 0, 0, 0}}, // ( 80, 157)
+ { 0, { 0, 0, 0}}, // ( 81, 157)
+ { 0, { 0, 0, 0}}, // ( 82, 157)
+ { 0, { 0, 0, 0}}, // ( 83, 157)
+ { 0, { 0, 0, 0}}, // ( 84, 157)
+ { 0, { 0, 0, 0}}, // ( 85, 157)
+ { 0, { 0, 0, 0}}, // ( 86, 157)
+ { 0, { 0, 0, 0}}, // ( 87, 157)
+ { 0, { 0, 0, 0}}, // ( 88, 157)
+ { 0, { 0, 0, 0}}, // ( 89, 157)
+ { 0, { 0, 0, 0}}, // ( 90, 157)
+ { 0, { 0, 0, 0}}, // ( 91, 157)
+ { 0, { 0, 0, 0}}, // ( 92, 157)
+ { 0, { 0, 0, 0}}, // ( 93, 157)
+ { 0, { 0, 0, 0}}, // ( 94, 157)
+ { 0, { 0, 0, 0}}, // ( 95, 157)
+ { 0, { 0, 0, 0}}, // ( 96, 157)
+ { 0, { 0, 0, 0}}, // ( 97, 157)
+ { 0, { 0, 0, 0}}, // ( 98, 157)
+ { 0, { 0, 0, 0}}, // ( 99, 157)
+ { 0, { 0, 0, 0}}, // (100, 157)
+ { 0, { 0, 0, 0}}, // (101, 157)
+ { 0, { 0, 0, 0}}, // (102, 157)
+ { 0, { 0, 0, 0}}, // (103, 157)
+ { 0, { 0, 0, 0}}, // (104, 157)
+ { 0, { 0, 0, 0}}, // (105, 157)
+ { 0, { 0, 0, 0}}, // (106, 157)
+ { 0, { 0, 0, 0}}, // (107, 157)
+ { 0, { 0, 0, 0}}, // (108, 157)
+ { 0, { 0, 0, 0}}, // (109, 157)
+ { 0, { 0, 0, 0}}, // (110, 157)
+ { 0, { 0, 0, 0}}, // (111, 157)
+ { 0, { 0, 0, 0}}, // (112, 157)
+ { 0, { 0, 0, 0}}, // (113, 157)
+ { 0, { 0, 0, 0}}, // (114, 157)
+ { 0, { 0, 0, 0}}, // (115, 157)
+ { 0, { 0, 0, 0}}, // (116, 157)
+ { 0, { 0, 0, 0}}, // (117, 157)
+ { 0, { 0, 0, 0}}, // (118, 157)
+ { 0, { 0, 0, 0}}, // (119, 157)
+ { 0, { 0, 0, 0}}, // (120, 157)
+ { 0, { 0, 0, 0}}, // (121, 157)
+ { 0, { 0, 0, 0}}, // (122, 157)
+ { 0, { 0, 0, 0}}, // (123, 157)
+ { 0, { 0, 0, 0}}, // (124, 157)
+ { 0, { 0, 0, 0}}, // (125, 157)
+ { 0, { 0, 0, 0}}, // (126, 157)
+ { 0, { 0, 0, 0}}, // (127, 157)
+ { 0, { 0, 0, 0}}, // (128, 157)
+ { 0, { 0, 0, 0}}, // (129, 157)
+ { 0, { 0, 0, 0}}, // (130, 157)
+ { 0, { 0, 0, 0}}, // (131, 157)
+ { 0, { 0, 0, 0}}, // (132, 157)
+ { 0, { 0, 0, 0}}, // (133, 157)
+ { 0, { 0, 0, 0}}, // (134, 157)
+ { 0, { 0, 0, 0}}, // (135, 157)
+ { 0, { 0, 0, 0}}, // (136, 157)
+ { 0, { 0, 0, 0}}, // (137, 157)
+ { 0, { 0, 0, 0}}, // (138, 157)
+ { 0, { 0, 0, 0}}, // (139, 157)
+ { 0, { 0, 0, 0}}, // (140, 157)
+ { 0, { 0, 0, 0}}, // (141, 157)
+ { 0, { 0, 0, 0}}, // (142, 157)
+ { 0, { 0, 0, 0}}, // (143, 157)
+ { 0, { 0, 0, 0}}, // (144, 157)
+ { 1, { 0, 0, 0}}, // (145, 157)
+ { 68, { 0, 0, 0}}, // (146, 157)
+ {128, { 0, 0, 0}}, // (147, 157)
+ {128, { 0, 0, 0}}, // (148, 157)
+ {128, { 0, 0, 0}}, // (149, 157)
+ {128, { 0, 0, 0}}, // (150, 157)
+ {128, { 0, 0, 0}}, // (151, 157)
+ {128, { 0, 0, 0}}, // (152, 157)
+ {128, { 0, 0, 0}}, // (153, 157)
+ {128, { 0, 0, 0}}, // (154, 157)
+ {128, { 0, 0, 0}}, // (155, 157)
+ {128, { 0, 0, 0}}, // (156, 157)
+ {128, { 0, 0, 0}}, // (157, 157)
+ {128, { 0, 0, 0}}, // (158, 157)
+ {128, { 0, 0, 0}}, // (159, 157)
+ {128, { 0, 0, 0}}, // (160, 157)
+ {128, { 0, 0, 0}}, // (161, 157)
+ {128, { 0, 0, 0}}, // (162, 157)
+ {128, { 0, 0, 0}}, // (163, 157)
+ {128, { 0, 0, 0}}, // (164, 157)
+ {128, { 0, 0, 0}}, // (165, 157)
+ {128, { 0, 0, 0}}, // (166, 157)
+ {128, { 0, 0, 0}}, // (167, 157)
+ {128, { 0, 0, 0}}, // (168, 157)
+ {128, { 0, 0, 0}}, // (169, 157)
+ {128, { 0, 0, 0}}, // (170, 157)
+ {128, { 0, 0, 0}}, // (171, 157)
+ {128, { 0, 0, 0}}, // (172, 157)
+ {128, { 0, 0, 0}}, // (173, 157)
+ {128, { 0, 0, 0}}, // (174, 157)
+ {128, { 0, 0, 0}}, // (175, 157)
+ {128, { 0, 0, 0}}, // (176, 157)
+ {128, { 0, 0, 0}}, // (177, 157)
+ {128, { 0, 0, 0}}, // (178, 157)
+ {128, { 0, 0, 0}}, // (179, 157)
+ {128, { 0, 0, 0}}, // ( 0, 158)
+ {128, { 0, 0, 0}}, // ( 1, 158)
+ {128, { 0, 0, 0}}, // ( 2, 158)
+ {128, { 0, 0, 0}}, // ( 3, 158)
+ {128, { 0, 0, 0}}, // ( 4, 158)
+ {128, { 0, 0, 0}}, // ( 5, 158)
+ {128, { 0, 0, 0}}, // ( 6, 158)
+ {128, { 0, 0, 0}}, // ( 7, 158)
+ {128, { 0, 0, 0}}, // ( 8, 158)
+ {128, { 0, 0, 0}}, // ( 9, 158)
+ {128, { 0, 0, 0}}, // ( 10, 158)
+ {128, { 0, 0, 0}}, // ( 11, 158)
+ {128, { 0, 0, 0}}, // ( 12, 158)
+ {128, { 0, 0, 0}}, // ( 13, 158)
+ {128, { 0, 0, 0}}, // ( 14, 158)
+ {128, { 0, 0, 0}}, // ( 15, 158)
+ {128, { 0, 0, 0}}, // ( 16, 158)
+ {128, { 0, 0, 0}}, // ( 17, 158)
+ {128, { 0, 0, 0}}, // ( 18, 158)
+ {128, { 0, 0, 0}}, // ( 19, 158)
+ {128, { 0, 0, 0}}, // ( 20, 158)
+ {128, { 0, 0, 0}}, // ( 21, 158)
+ {128, { 0, 0, 0}}, // ( 22, 158)
+ {128, { 0, 0, 0}}, // ( 23, 158)
+ {128, { 0, 0, 0}}, // ( 24, 158)
+ {128, { 0, 0, 0}}, // ( 25, 158)
+ {128, { 0, 0, 0}}, // ( 26, 158)
+ {128, { 0, 0, 0}}, // ( 27, 158)
+ {128, { 0, 0, 0}}, // ( 28, 158)
+ {128, { 0, 0, 0}}, // ( 29, 158)
+ {128, { 0, 0, 0}}, // ( 30, 158)
+ {128, { 0, 0, 0}}, // ( 31, 158)
+ {128, { 0, 0, 0}}, // ( 32, 158)
+ {128, { 0, 0, 0}}, // ( 33, 158)
+ { 90, { 0, 0, 0}}, // ( 34, 158)
+ { 8, { 0, 0, 0}}, // ( 35, 158)
+ { 0, { 0, 0, 0}}, // ( 36, 158)
+ { 0, { 0, 0, 0}}, // ( 37, 158)
+ { 0, { 0, 0, 0}}, // ( 38, 158)
+ { 0, { 0, 0, 0}}, // ( 39, 158)
+ { 0, { 0, 0, 0}}, // ( 40, 158)
+ { 0, { 0, 0, 0}}, // ( 41, 158)
+ { 0, { 0, 0, 0}}, // ( 42, 158)
+ { 0, { 0, 0, 0}}, // ( 43, 158)
+ { 0, { 0, 0, 0}}, // ( 44, 158)
+ { 0, { 0, 0, 0}}, // ( 45, 158)
+ { 0, { 0, 0, 0}}, // ( 46, 158)
+ { 0, { 0, 0, 0}}, // ( 47, 158)
+ { 0, { 0, 0, 0}}, // ( 48, 158)
+ { 0, { 0, 0, 0}}, // ( 49, 158)
+ { 0, { 0, 0, 0}}, // ( 50, 158)
+ { 0, { 0, 0, 0}}, // ( 51, 158)
+ { 0, { 0, 0, 0}}, // ( 52, 158)
+ { 0, { 0, 0, 0}}, // ( 53, 158)
+ { 0, { 0, 0, 0}}, // ( 54, 158)
+ { 0, { 0, 0, 0}}, // ( 55, 158)
+ { 0, { 0, 0, 0}}, // ( 56, 158)
+ { 0, { 0, 0, 0}}, // ( 57, 158)
+ { 0, { 0, 0, 0}}, // ( 58, 158)
+ { 0, { 0, 0, 0}}, // ( 59, 158)
+ { 0, { 0, 0, 0}}, // ( 60, 158)
+ { 0, { 0, 0, 0}}, // ( 61, 158)
+ { 0, { 0, 0, 0}}, // ( 62, 158)
+ { 0, { 0, 0, 0}}, // ( 63, 158)
+ { 0, { 0, 0, 0}}, // ( 64, 158)
+ { 0, { 0, 0, 0}}, // ( 65, 158)
+ { 0, { 0, 0, 0}}, // ( 66, 158)
+ { 0, { 0, 0, 0}}, // ( 67, 158)
+ { 0, { 0, 0, 0}}, // ( 68, 158)
+ { 0, { 0, 0, 0}}, // ( 69, 158)
+ { 0, { 0, 0, 0}}, // ( 70, 158)
+ { 0, { 0, 0, 0}}, // ( 71, 158)
+ { 0, { 0, 0, 0}}, // ( 72, 158)
+ { 0, { 0, 0, 0}}, // ( 73, 158)
+ { 0, { 0, 0, 0}}, // ( 74, 158)
+ { 0, { 0, 0, 0}}, // ( 75, 158)
+ { 0, { 0, 0, 0}}, // ( 76, 158)
+ { 0, { 0, 0, 0}}, // ( 77, 158)
+ { 0, { 0, 0, 0}}, // ( 78, 158)
+ { 0, { 0, 0, 0}}, // ( 79, 158)
+ { 0, { 0, 0, 0}}, // ( 80, 158)
+ { 0, { 0, 0, 0}}, // ( 81, 158)
+ { 0, { 0, 0, 0}}, // ( 82, 158)
+ { 0, { 0, 0, 0}}, // ( 83, 158)
+ { 0, { 0, 0, 0}}, // ( 84, 158)
+ { 0, { 0, 0, 0}}, // ( 85, 158)
+ { 0, { 0, 0, 0}}, // ( 86, 158)
+ { 0, { 0, 0, 0}}, // ( 87, 158)
+ { 0, { 0, 0, 0}}, // ( 88, 158)
+ { 0, { 0, 0, 0}}, // ( 89, 158)
+ { 0, { 0, 0, 0}}, // ( 90, 158)
+ { 0, { 0, 0, 0}}, // ( 91, 158)
+ { 0, { 0, 0, 0}}, // ( 92, 158)
+ { 0, { 0, 0, 0}}, // ( 93, 158)
+ { 0, { 0, 0, 0}}, // ( 94, 158)
+ { 0, { 0, 0, 0}}, // ( 95, 158)
+ { 0, { 0, 0, 0}}, // ( 96, 158)
+ { 0, { 0, 0, 0}}, // ( 97, 158)
+ { 0, { 0, 0, 0}}, // ( 98, 158)
+ { 0, { 0, 0, 0}}, // ( 99, 158)
+ { 0, { 0, 0, 0}}, // (100, 158)
+ { 0, { 0, 0, 0}}, // (101, 158)
+ { 0, { 0, 0, 0}}, // (102, 158)
+ { 0, { 0, 0, 0}}, // (103, 158)
+ { 0, { 0, 0, 0}}, // (104, 158)
+ { 0, { 0, 0, 0}}, // (105, 158)
+ { 0, { 0, 0, 0}}, // (106, 158)
+ { 0, { 0, 0, 0}}, // (107, 158)
+ { 0, { 0, 0, 0}}, // (108, 158)
+ { 0, { 0, 0, 0}}, // (109, 158)
+ { 0, { 0, 0, 0}}, // (110, 158)
+ { 0, { 0, 0, 0}}, // (111, 158)
+ { 0, { 0, 0, 0}}, // (112, 158)
+ { 0, { 0, 0, 0}}, // (113, 158)
+ { 0, { 0, 0, 0}}, // (114, 158)
+ { 0, { 0, 0, 0}}, // (115, 158)
+ { 0, { 0, 0, 0}}, // (116, 158)
+ { 0, { 0, 0, 0}}, // (117, 158)
+ { 0, { 0, 0, 0}}, // (118, 158)
+ { 0, { 0, 0, 0}}, // (119, 158)
+ { 0, { 0, 0, 0}}, // (120, 158)
+ { 0, { 0, 0, 0}}, // (121, 158)
+ { 0, { 0, 0, 0}}, // (122, 158)
+ { 0, { 0, 0, 0}}, // (123, 158)
+ { 0, { 0, 0, 0}}, // (124, 158)
+ { 0, { 0, 0, 0}}, // (125, 158)
+ { 0, { 0, 0, 0}}, // (126, 158)
+ { 0, { 0, 0, 0}}, // (127, 158)
+ { 0, { 0, 0, 0}}, // (128, 158)
+ { 0, { 0, 0, 0}}, // (129, 158)
+ { 0, { 0, 0, 0}}, // (130, 158)
+ { 0, { 0, 0, 0}}, // (131, 158)
+ { 0, { 0, 0, 0}}, // (132, 158)
+ { 0, { 0, 0, 0}}, // (133, 158)
+ { 0, { 0, 0, 0}}, // (134, 158)
+ { 0, { 0, 0, 0}}, // (135, 158)
+ { 0, { 0, 0, 0}}, // (136, 158)
+ { 0, { 0, 0, 0}}, // (137, 158)
+ { 0, { 0, 0, 0}}, // (138, 158)
+ { 0, { 0, 0, 0}}, // (139, 158)
+ { 0, { 0, 0, 0}}, // (140, 158)
+ { 0, { 0, 0, 0}}, // (141, 158)
+ { 0, { 0, 0, 0}}, // (142, 158)
+ { 0, { 0, 0, 0}}, // (143, 158)
+ { 8, { 0, 0, 0}}, // (144, 158)
+ { 89, { 0, 0, 0}}, // (145, 158)
+ {128, { 0, 0, 0}}, // (146, 158)
+ {128, { 0, 0, 0}}, // (147, 158)
+ {128, { 0, 0, 0}}, // (148, 158)
+ {128, { 0, 0, 0}}, // (149, 158)
+ {128, { 0, 0, 0}}, // (150, 158)
+ {128, { 0, 0, 0}}, // (151, 158)
+ {128, { 0, 0, 0}}, // (152, 158)
+ {128, { 0, 0, 0}}, // (153, 158)
+ {128, { 0, 0, 0}}, // (154, 158)
+ {128, { 0, 0, 0}}, // (155, 158)
+ {128, { 0, 0, 0}}, // (156, 158)
+ {128, { 0, 0, 0}}, // (157, 158)
+ {128, { 0, 0, 0}}, // (158, 158)
+ {128, { 0, 0, 0}}, // (159, 158)
+ {128, { 0, 0, 0}}, // (160, 158)
+ {128, { 0, 0, 0}}, // (161, 158)
+ {128, { 0, 0, 0}}, // (162, 158)
+ {128, { 0, 0, 0}}, // (163, 158)
+ {128, { 0, 0, 0}}, // (164, 158)
+ {128, { 0, 0, 0}}, // (165, 158)
+ {128, { 0, 0, 0}}, // (166, 158)
+ {128, { 0, 0, 0}}, // (167, 158)
+ {128, { 0, 0, 0}}, // (168, 158)
+ {128, { 0, 0, 0}}, // (169, 158)
+ {128, { 0, 0, 0}}, // (170, 158)
+ {128, { 0, 0, 0}}, // (171, 158)
+ {128, { 0, 0, 0}}, // (172, 158)
+ {128, { 0, 0, 0}}, // (173, 158)
+ {128, { 0, 0, 0}}, // (174, 158)
+ {128, { 0, 0, 0}}, // (175, 158)
+ {128, { 0, 0, 0}}, // (176, 158)
+ {128, { 0, 0, 0}}, // (177, 158)
+ {128, { 0, 0, 0}}, // (178, 158)
+ {128, { 0, 0, 0}}, // (179, 158)
+ {128, { 0, 0, 0}}, // ( 0, 159)
+ {128, { 0, 0, 0}}, // ( 1, 159)
+ {128, { 0, 0, 0}}, // ( 2, 159)
+ {128, { 0, 0, 0}}, // ( 3, 159)
+ {128, { 0, 0, 0}}, // ( 4, 159)
+ {128, { 0, 0, 0}}, // ( 5, 159)
+ {128, { 0, 0, 0}}, // ( 6, 159)
+ {128, { 0, 0, 0}}, // ( 7, 159)
+ {128, { 0, 0, 0}}, // ( 8, 159)
+ {128, { 0, 0, 0}}, // ( 9, 159)
+ {128, { 0, 0, 0}}, // ( 10, 159)
+ {128, { 0, 0, 0}}, // ( 11, 159)
+ {128, { 0, 0, 0}}, // ( 12, 159)
+ {128, { 0, 0, 0}}, // ( 13, 159)
+ {128, { 0, 0, 0}}, // ( 14, 159)
+ {128, { 0, 0, 0}}, // ( 15, 159)
+ {128, { 0, 0, 0}}, // ( 16, 159)
+ {128, { 0, 0, 0}}, // ( 17, 159)
+ {128, { 0, 0, 0}}, // ( 18, 159)
+ {128, { 0, 0, 0}}, // ( 19, 159)
+ {128, { 0, 0, 0}}, // ( 20, 159)
+ {128, { 0, 0, 0}}, // ( 21, 159)
+ {128, { 0, 0, 0}}, // ( 22, 159)
+ {128, { 0, 0, 0}}, // ( 23, 159)
+ {128, { 0, 0, 0}}, // ( 24, 159)
+ {128, { 0, 0, 0}}, // ( 25, 159)
+ {128, { 0, 0, 0}}, // ( 26, 159)
+ {128, { 0, 0, 0}}, // ( 27, 159)
+ {128, { 0, 0, 0}}, // ( 28, 159)
+ {128, { 0, 0, 0}}, // ( 29, 159)
+ {128, { 0, 0, 0}}, // ( 30, 159)
+ {128, { 0, 0, 0}}, // ( 31, 159)
+ {128, { 0, 0, 0}}, // ( 32, 159)
+ {128, { 0, 0, 0}}, // ( 33, 159)
+ {128, { 0, 0, 0}}, // ( 34, 159)
+ {108, { 0, 0, 0}}, // ( 35, 159)
+ { 22, { 0, 0, 0}}, // ( 36, 159)
+ { 0, { 0, 0, 0}}, // ( 37, 159)
+ { 0, { 0, 0, 0}}, // ( 38, 159)
+ { 0, { 0, 0, 0}}, // ( 39, 159)
+ { 0, { 0, 0, 0}}, // ( 40, 159)
+ { 0, { 0, 0, 0}}, // ( 41, 159)
+ { 0, { 0, 0, 0}}, // ( 42, 159)
+ { 0, { 0, 0, 0}}, // ( 43, 159)
+ { 0, { 0, 0, 0}}, // ( 44, 159)
+ { 0, { 0, 0, 0}}, // ( 45, 159)
+ { 0, { 0, 0, 0}}, // ( 46, 159)
+ { 0, { 0, 0, 0}}, // ( 47, 159)
+ { 0, { 0, 0, 0}}, // ( 48, 159)
+ { 0, { 0, 0, 0}}, // ( 49, 159)
+ { 0, { 0, 0, 0}}, // ( 50, 159)
+ { 0, { 0, 0, 0}}, // ( 51, 159)
+ { 0, { 0, 0, 0}}, // ( 52, 159)
+ { 0, { 0, 0, 0}}, // ( 53, 159)
+ { 0, { 0, 0, 0}}, // ( 54, 159)
+ { 0, { 0, 0, 0}}, // ( 55, 159)
+ { 0, { 0, 0, 0}}, // ( 56, 159)
+ { 0, { 0, 0, 0}}, // ( 57, 159)
+ { 0, { 0, 0, 0}}, // ( 58, 159)
+ { 0, { 0, 0, 0}}, // ( 59, 159)
+ { 0, { 0, 0, 0}}, // ( 60, 159)
+ { 0, { 0, 0, 0}}, // ( 61, 159)
+ { 0, { 0, 0, 0}}, // ( 62, 159)
+ { 0, { 0, 0, 0}}, // ( 63, 159)
+ { 0, { 0, 0, 0}}, // ( 64, 159)
+ { 0, { 0, 0, 0}}, // ( 65, 159)
+ { 0, { 0, 0, 0}}, // ( 66, 159)
+ { 0, { 0, 0, 0}}, // ( 67, 159)
+ { 0, { 0, 0, 0}}, // ( 68, 159)
+ { 0, { 0, 0, 0}}, // ( 69, 159)
+ { 0, { 0, 0, 0}}, // ( 70, 159)
+ { 0, { 0, 0, 0}}, // ( 71, 159)
+ { 0, { 0, 0, 0}}, // ( 72, 159)
+ { 0, { 0, 0, 0}}, // ( 73, 159)
+ { 0, { 0, 0, 0}}, // ( 74, 159)
+ { 0, { 0, 0, 0}}, // ( 75, 159)
+ { 0, { 0, 0, 0}}, // ( 76, 159)
+ { 0, { 0, 0, 0}}, // ( 77, 159)
+ { 0, { 0, 0, 0}}, // ( 78, 159)
+ { 0, { 0, 0, 0}}, // ( 79, 159)
+ { 0, { 0, 0, 0}}, // ( 80, 159)
+ { 0, { 0, 0, 0}}, // ( 81, 159)
+ { 0, { 0, 0, 0}}, // ( 82, 159)
+ { 0, { 0, 0, 0}}, // ( 83, 159)
+ { 0, { 0, 0, 0}}, // ( 84, 159)
+ { 0, { 0, 0, 0}}, // ( 85, 159)
+ { 0, { 0, 0, 0}}, // ( 86, 159)
+ { 0, { 0, 0, 0}}, // ( 87, 159)
+ { 0, { 0, 0, 0}}, // ( 88, 159)
+ { 0, { 0, 0, 0}}, // ( 89, 159)
+ { 0, { 0, 0, 0}}, // ( 90, 159)
+ { 0, { 0, 0, 0}}, // ( 91, 159)
+ { 0, { 0, 0, 0}}, // ( 92, 159)
+ { 0, { 0, 0, 0}}, // ( 93, 159)
+ { 0, { 0, 0, 0}}, // ( 94, 159)
+ { 0, { 0, 0, 0}}, // ( 95, 159)
+ { 0, { 0, 0, 0}}, // ( 96, 159)
+ { 0, { 0, 0, 0}}, // ( 97, 159)
+ { 0, { 0, 0, 0}}, // ( 98, 159)
+ { 0, { 0, 0, 0}}, // ( 99, 159)
+ { 0, { 0, 0, 0}}, // (100, 159)
+ { 0, { 0, 0, 0}}, // (101, 159)
+ { 0, { 0, 0, 0}}, // (102, 159)
+ { 0, { 0, 0, 0}}, // (103, 159)
+ { 0, { 0, 0, 0}}, // (104, 159)
+ { 0, { 0, 0, 0}}, // (105, 159)
+ { 0, { 0, 0, 0}}, // (106, 159)
+ { 0, { 0, 0, 0}}, // (107, 159)
+ { 0, { 0, 0, 0}}, // (108, 159)
+ { 0, { 0, 0, 0}}, // (109, 159)
+ { 0, { 0, 0, 0}}, // (110, 159)
+ { 0, { 0, 0, 0}}, // (111, 159)
+ { 0, { 0, 0, 0}}, // (112, 159)
+ { 0, { 0, 0, 0}}, // (113, 159)
+ { 0, { 0, 0, 0}}, // (114, 159)
+ { 0, { 0, 0, 0}}, // (115, 159)
+ { 0, { 0, 0, 0}}, // (116, 159)
+ { 0, { 0, 0, 0}}, // (117, 159)
+ { 0, { 0, 0, 0}}, // (118, 159)
+ { 0, { 0, 0, 0}}, // (119, 159)
+ { 0, { 0, 0, 0}}, // (120, 159)
+ { 0, { 0, 0, 0}}, // (121, 159)
+ { 0, { 0, 0, 0}}, // (122, 159)
+ { 0, { 0, 0, 0}}, // (123, 159)
+ { 0, { 0, 0, 0}}, // (124, 159)
+ { 0, { 0, 0, 0}}, // (125, 159)
+ { 0, { 0, 0, 0}}, // (126, 159)
+ { 0, { 0, 0, 0}}, // (127, 159)
+ { 0, { 0, 0, 0}}, // (128, 159)
+ { 0, { 0, 0, 0}}, // (129, 159)
+ { 0, { 0, 0, 0}}, // (130, 159)
+ { 0, { 0, 0, 0}}, // (131, 159)
+ { 0, { 0, 0, 0}}, // (132, 159)
+ { 0, { 0, 0, 0}}, // (133, 159)
+ { 0, { 0, 0, 0}}, // (134, 159)
+ { 0, { 0, 0, 0}}, // (135, 159)
+ { 0, { 0, 0, 0}}, // (136, 159)
+ { 0, { 0, 0, 0}}, // (137, 159)
+ { 0, { 0, 0, 0}}, // (138, 159)
+ { 0, { 0, 0, 0}}, // (139, 159)
+ { 0, { 0, 0, 0}}, // (140, 159)
+ { 0, { 0, 0, 0}}, // (141, 159)
+ { 0, { 0, 0, 0}}, // (142, 159)
+ { 22, { 0, 0, 0}}, // (143, 159)
+ {108, { 0, 0, 0}}, // (144, 159)
+ {128, { 0, 0, 0}}, // (145, 159)
+ {128, { 0, 0, 0}}, // (146, 159)
+ {128, { 0, 0, 0}}, // (147, 159)
+ {128, { 0, 0, 0}}, // (148, 159)
+ {128, { 0, 0, 0}}, // (149, 159)
+ {128, { 0, 0, 0}}, // (150, 159)
+ {128, { 0, 0, 0}}, // (151, 159)
+ {128, { 0, 0, 0}}, // (152, 159)
+ {128, { 0, 0, 0}}, // (153, 159)
+ {128, { 0, 0, 0}}, // (154, 159)
+ {128, { 0, 0, 0}}, // (155, 159)
+ {128, { 0, 0, 0}}, // (156, 159)
+ {128, { 0, 0, 0}}, // (157, 159)
+ {128, { 0, 0, 0}}, // (158, 159)
+ {128, { 0, 0, 0}}, // (159, 159)
+ {128, { 0, 0, 0}}, // (160, 159)
+ {128, { 0, 0, 0}}, // (161, 159)
+ {128, { 0, 0, 0}}, // (162, 159)
+ {128, { 0, 0, 0}}, // (163, 159)
+ {128, { 0, 0, 0}}, // (164, 159)
+ {128, { 0, 0, 0}}, // (165, 159)
+ {128, { 0, 0, 0}}, // (166, 159)
+ {128, { 0, 0, 0}}, // (167, 159)
+ {128, { 0, 0, 0}}, // (168, 159)
+ {128, { 0, 0, 0}}, // (169, 159)
+ {128, { 0, 0, 0}}, // (170, 159)
+ {128, { 0, 0, 0}}, // (171, 159)
+ {128, { 0, 0, 0}}, // (172, 159)
+ {128, { 0, 0, 0}}, // (173, 159)
+ {128, { 0, 0, 0}}, // (174, 159)
+ {128, { 0, 0, 0}}, // (175, 159)
+ {128, { 0, 0, 0}}, // (176, 159)
+ {128, { 0, 0, 0}}, // (177, 159)
+ {128, { 0, 0, 0}}, // (178, 159)
+ {128, { 0, 0, 0}}, // (179, 159)
+ {128, { 0, 0, 0}}, // ( 0, 160)
+ {128, { 0, 0, 0}}, // ( 1, 160)
+ {128, { 0, 0, 0}}, // ( 2, 160)
+ {128, { 0, 0, 0}}, // ( 3, 160)
+ {128, { 0, 0, 0}}, // ( 4, 160)
+ {128, { 0, 0, 0}}, // ( 5, 160)
+ {128, { 0, 0, 0}}, // ( 6, 160)
+ {128, { 0, 0, 0}}, // ( 7, 160)
+ {128, { 0, 0, 0}}, // ( 8, 160)
+ {128, { 0, 0, 0}}, // ( 9, 160)
+ {128, { 0, 0, 0}}, // ( 10, 160)
+ {128, { 0, 0, 0}}, // ( 11, 160)
+ {128, { 0, 0, 0}}, // ( 12, 160)
+ {128, { 0, 0, 0}}, // ( 13, 160)
+ {128, { 0, 0, 0}}, // ( 14, 160)
+ {128, { 0, 0, 0}}, // ( 15, 160)
+ {128, { 0, 0, 0}}, // ( 16, 160)
+ {128, { 0, 0, 0}}, // ( 17, 160)
+ {128, { 0, 0, 0}}, // ( 18, 160)
+ {128, { 0, 0, 0}}, // ( 19, 160)
+ {128, { 0, 0, 0}}, // ( 20, 160)
+ {128, { 0, 0, 0}}, // ( 21, 160)
+ {128, { 0, 0, 0}}, // ( 22, 160)
+ {128, { 0, 0, 0}}, // ( 23, 160)
+ {128, { 0, 0, 0}}, // ( 24, 160)
+ {128, { 0, 0, 0}}, // ( 25, 160)
+ {128, { 0, 0, 0}}, // ( 26, 160)
+ {128, { 0, 0, 0}}, // ( 27, 160)
+ {128, { 0, 0, 0}}, // ( 28, 160)
+ {128, { 0, 0, 0}}, // ( 29, 160)
+ {128, { 0, 0, 0}}, // ( 30, 160)
+ {128, { 0, 0, 0}}, // ( 31, 160)
+ {128, { 0, 0, 0}}, // ( 32, 160)
+ {128, { 0, 0, 0}}, // ( 33, 160)
+ {128, { 0, 0, 0}}, // ( 34, 160)
+ {128, { 0, 0, 0}}, // ( 35, 160)
+ {123, { 0, 0, 0}}, // ( 36, 160)
+ { 48, { 0, 0, 0}}, // ( 37, 160)
+ { 0, { 0, 0, 0}}, // ( 38, 160)
+ { 0, { 0, 0, 0}}, // ( 39, 160)
+ { 0, { 0, 0, 0}}, // ( 40, 160)
+ { 0, { 0, 0, 0}}, // ( 41, 160)
+ { 0, { 0, 0, 0}}, // ( 42, 160)
+ { 0, { 0, 0, 0}}, // ( 43, 160)
+ { 0, { 0, 0, 0}}, // ( 44, 160)
+ { 0, { 0, 0, 0}}, // ( 45, 160)
+ { 0, { 0, 0, 0}}, // ( 46, 160)
+ { 0, { 0, 0, 0}}, // ( 47, 160)
+ { 0, { 0, 0, 0}}, // ( 48, 160)
+ { 0, { 0, 0, 0}}, // ( 49, 160)
+ { 0, { 0, 0, 0}}, // ( 50, 160)
+ { 0, { 0, 0, 0}}, // ( 51, 160)
+ { 0, { 0, 0, 0}}, // ( 52, 160)
+ { 0, { 0, 0, 0}}, // ( 53, 160)
+ { 0, { 0, 0, 0}}, // ( 54, 160)
+ { 0, { 0, 0, 0}}, // ( 55, 160)
+ { 0, { 0, 0, 0}}, // ( 56, 160)
+ { 0, { 0, 0, 0}}, // ( 57, 160)
+ { 0, { 0, 0, 0}}, // ( 58, 160)
+ { 0, { 0, 0, 0}}, // ( 59, 160)
+ { 0, { 0, 0, 0}}, // ( 60, 160)
+ { 0, { 0, 0, 0}}, // ( 61, 160)
+ { 0, { 0, 0, 0}}, // ( 62, 160)
+ { 0, { 0, 0, 0}}, // ( 63, 160)
+ { 0, { 0, 0, 0}}, // ( 64, 160)
+ { 0, { 0, 0, 0}}, // ( 65, 160)
+ { 0, { 0, 0, 0}}, // ( 66, 160)
+ { 0, { 0, 0, 0}}, // ( 67, 160)
+ { 0, { 0, 0, 0}}, // ( 68, 160)
+ { 0, { 0, 0, 0}}, // ( 69, 160)
+ { 0, { 0, 0, 0}}, // ( 70, 160)
+ { 0, { 0, 0, 0}}, // ( 71, 160)
+ { 0, { 0, 0, 0}}, // ( 72, 160)
+ { 0, { 0, 0, 0}}, // ( 73, 160)
+ { 0, { 0, 0, 0}}, // ( 74, 160)
+ { 0, { 0, 0, 0}}, // ( 75, 160)
+ { 0, { 0, 0, 0}}, // ( 76, 160)
+ { 0, { 0, 0, 0}}, // ( 77, 160)
+ { 0, { 0, 0, 0}}, // ( 78, 160)
+ { 0, { 0, 0, 0}}, // ( 79, 160)
+ { 0, { 0, 0, 0}}, // ( 80, 160)
+ { 0, { 0, 0, 0}}, // ( 81, 160)
+ { 0, { 0, 0, 0}}, // ( 82, 160)
+ { 0, { 0, 0, 0}}, // ( 83, 160)
+ { 0, { 0, 0, 0}}, // ( 84, 160)
+ { 0, { 0, 0, 0}}, // ( 85, 160)
+ { 0, { 0, 0, 0}}, // ( 86, 160)
+ { 0, { 0, 0, 0}}, // ( 87, 160)
+ { 0, { 0, 0, 0}}, // ( 88, 160)
+ { 0, { 0, 0, 0}}, // ( 89, 160)
+ { 0, { 0, 0, 0}}, // ( 90, 160)
+ { 0, { 0, 0, 0}}, // ( 91, 160)
+ { 0, { 0, 0, 0}}, // ( 92, 160)
+ { 0, { 0, 0, 0}}, // ( 93, 160)
+ { 0, { 0, 0, 0}}, // ( 94, 160)
+ { 0, { 0, 0, 0}}, // ( 95, 160)
+ { 0, { 0, 0, 0}}, // ( 96, 160)
+ { 0, { 0, 0, 0}}, // ( 97, 160)
+ { 0, { 0, 0, 0}}, // ( 98, 160)
+ { 0, { 0, 0, 0}}, // ( 99, 160)
+ { 0, { 0, 0, 0}}, // (100, 160)
+ { 0, { 0, 0, 0}}, // (101, 160)
+ { 0, { 0, 0, 0}}, // (102, 160)
+ { 0, { 0, 0, 0}}, // (103, 160)
+ { 0, { 0, 0, 0}}, // (104, 160)
+ { 0, { 0, 0, 0}}, // (105, 160)
+ { 0, { 0, 0, 0}}, // (106, 160)
+ { 0, { 0, 0, 0}}, // (107, 160)
+ { 0, { 0, 0, 0}}, // (108, 160)
+ { 0, { 0, 0, 0}}, // (109, 160)
+ { 0, { 0, 0, 0}}, // (110, 160)
+ { 0, { 0, 0, 0}}, // (111, 160)
+ { 0, { 0, 0, 0}}, // (112, 160)
+ { 0, { 0, 0, 0}}, // (113, 160)
+ { 0, { 0, 0, 0}}, // (114, 160)
+ { 0, { 0, 0, 0}}, // (115, 160)
+ { 0, { 0, 0, 0}}, // (116, 160)
+ { 0, { 0, 0, 0}}, // (117, 160)
+ { 0, { 0, 0, 0}}, // (118, 160)
+ { 0, { 0, 0, 0}}, // (119, 160)
+ { 0, { 0, 0, 0}}, // (120, 160)
+ { 0, { 0, 0, 0}}, // (121, 160)
+ { 0, { 0, 0, 0}}, // (122, 160)
+ { 0, { 0, 0, 0}}, // (123, 160)
+ { 0, { 0, 0, 0}}, // (124, 160)
+ { 0, { 0, 0, 0}}, // (125, 160)
+ { 0, { 0, 0, 0}}, // (126, 160)
+ { 0, { 0, 0, 0}}, // (127, 160)
+ { 0, { 0, 0, 0}}, // (128, 160)
+ { 0, { 0, 0, 0}}, // (129, 160)
+ { 0, { 0, 0, 0}}, // (130, 160)
+ { 0, { 0, 0, 0}}, // (131, 160)
+ { 0, { 0, 0, 0}}, // (132, 160)
+ { 0, { 0, 0, 0}}, // (133, 160)
+ { 0, { 0, 0, 0}}, // (134, 160)
+ { 0, { 0, 0, 0}}, // (135, 160)
+ { 0, { 0, 0, 0}}, // (136, 160)
+ { 0, { 0, 0, 0}}, // (137, 160)
+ { 0, { 0, 0, 0}}, // (138, 160)
+ { 0, { 0, 0, 0}}, // (139, 160)
+ { 0, { 0, 0, 0}}, // (140, 160)
+ { 0, { 0, 0, 0}}, // (141, 160)
+ { 48, { 0, 0, 0}}, // (142, 160)
+ {123, { 0, 0, 0}}, // (143, 160)
+ {128, { 0, 0, 0}}, // (144, 160)
+ {128, { 0, 0, 0}}, // (145, 160)
+ {128, { 0, 0, 0}}, // (146, 160)
+ {128, { 0, 0, 0}}, // (147, 160)
+ {128, { 0, 0, 0}}, // (148, 160)
+ {128, { 0, 0, 0}}, // (149, 160)
+ {128, { 0, 0, 0}}, // (150, 160)
+ {128, { 0, 0, 0}}, // (151, 160)
+ {128, { 0, 0, 0}}, // (152, 160)
+ {128, { 0, 0, 0}}, // (153, 160)
+ {128, { 0, 0, 0}}, // (154, 160)
+ {128, { 0, 0, 0}}, // (155, 160)
+ {128, { 0, 0, 0}}, // (156, 160)
+ {128, { 0, 0, 0}}, // (157, 160)
+ {128, { 0, 0, 0}}, // (158, 160)
+ {128, { 0, 0, 0}}, // (159, 160)
+ {128, { 0, 0, 0}}, // (160, 160)
+ {128, { 0, 0, 0}}, // (161, 160)
+ {128, { 0, 0, 0}}, // (162, 160)
+ {128, { 0, 0, 0}}, // (163, 160)
+ {128, { 0, 0, 0}}, // (164, 160)
+ {128, { 0, 0, 0}}, // (165, 160)
+ {128, { 0, 0, 0}}, // (166, 160)
+ {128, { 0, 0, 0}}, // (167, 160)
+ {128, { 0, 0, 0}}, // (168, 160)
+ {128, { 0, 0, 0}}, // (169, 160)
+ {128, { 0, 0, 0}}, // (170, 160)
+ {128, { 0, 0, 0}}, // (171, 160)
+ {128, { 0, 0, 0}}, // (172, 160)
+ {128, { 0, 0, 0}}, // (173, 160)
+ {128, { 0, 0, 0}}, // (174, 160)
+ {128, { 0, 0, 0}}, // (175, 160)
+ {128, { 0, 0, 0}}, // (176, 160)
+ {128, { 0, 0, 0}}, // (177, 160)
+ {128, { 0, 0, 0}}, // (178, 160)
+ {128, { 0, 0, 0}}, // (179, 160)
+ {128, { 0, 0, 0}}, // ( 0, 161)
+ {128, { 0, 0, 0}}, // ( 1, 161)
+ {128, { 0, 0, 0}}, // ( 2, 161)
+ {128, { 0, 0, 0}}, // ( 3, 161)
+ {128, { 0, 0, 0}}, // ( 4, 161)
+ {128, { 0, 0, 0}}, // ( 5, 161)
+ {128, { 0, 0, 0}}, // ( 6, 161)
+ {128, { 0, 0, 0}}, // ( 7, 161)
+ {128, { 0, 0, 0}}, // ( 8, 161)
+ {128, { 0, 0, 0}}, // ( 9, 161)
+ {128, { 0, 0, 0}}, // ( 10, 161)
+ {128, { 0, 0, 0}}, // ( 11, 161)
+ {128, { 0, 0, 0}}, // ( 12, 161)
+ {128, { 0, 0, 0}}, // ( 13, 161)
+ {128, { 0, 0, 0}}, // ( 14, 161)
+ {128, { 0, 0, 0}}, // ( 15, 161)
+ {128, { 0, 0, 0}}, // ( 16, 161)
+ {128, { 0, 0, 0}}, // ( 17, 161)
+ {128, { 0, 0, 0}}, // ( 18, 161)
+ {128, { 0, 0, 0}}, // ( 19, 161)
+ {128, { 0, 0, 0}}, // ( 20, 161)
+ {128, { 0, 0, 0}}, // ( 21, 161)
+ {128, { 0, 0, 0}}, // ( 22, 161)
+ {128, { 0, 0, 0}}, // ( 23, 161)
+ {128, { 0, 0, 0}}, // ( 24, 161)
+ {128, { 0, 0, 0}}, // ( 25, 161)
+ {128, { 0, 0, 0}}, // ( 26, 161)
+ {128, { 0, 0, 0}}, // ( 27, 161)
+ {128, { 0, 0, 0}}, // ( 28, 161)
+ {128, { 0, 0, 0}}, // ( 29, 161)
+ {128, { 0, 0, 0}}, // ( 30, 161)
+ {128, { 0, 0, 0}}, // ( 31, 161)
+ {128, { 0, 0, 0}}, // ( 32, 161)
+ {128, { 0, 0, 0}}, // ( 33, 161)
+ {128, { 0, 0, 0}}, // ( 34, 161)
+ {128, { 0, 0, 0}}, // ( 35, 161)
+ {128, { 0, 0, 0}}, // ( 36, 161)
+ {128, { 0, 0, 0}}, // ( 37, 161)
+ { 85, { 0, 0, 0}}, // ( 38, 161)
+ { 9, { 0, 0, 0}}, // ( 39, 161)
+ { 0, { 0, 0, 0}}, // ( 40, 161)
+ { 0, { 0, 0, 0}}, // ( 41, 161)
+ { 0, { 0, 0, 0}}, // ( 42, 161)
+ { 0, { 0, 0, 0}}, // ( 43, 161)
+ { 0, { 0, 0, 0}}, // ( 44, 161)
+ { 0, { 0, 0, 0}}, // ( 45, 161)
+ { 0, { 0, 0, 0}}, // ( 46, 161)
+ { 0, { 0, 0, 0}}, // ( 47, 161)
+ { 0, { 0, 0, 0}}, // ( 48, 161)
+ { 0, { 0, 0, 0}}, // ( 49, 161)
+ { 0, { 0, 0, 0}}, // ( 50, 161)
+ { 0, { 0, 0, 0}}, // ( 51, 161)
+ { 0, { 0, 0, 0}}, // ( 52, 161)
+ { 0, { 0, 0, 0}}, // ( 53, 161)
+ { 0, { 0, 0, 0}}, // ( 54, 161)
+ { 0, { 0, 0, 0}}, // ( 55, 161)
+ { 0, { 0, 0, 0}}, // ( 56, 161)
+ { 0, { 0, 0, 0}}, // ( 57, 161)
+ { 0, { 0, 0, 0}}, // ( 58, 161)
+ { 0, { 0, 0, 0}}, // ( 59, 161)
+ { 0, { 0, 0, 0}}, // ( 60, 161)
+ { 0, { 0, 0, 0}}, // ( 61, 161)
+ { 0, { 0, 0, 0}}, // ( 62, 161)
+ { 0, { 0, 0, 0}}, // ( 63, 161)
+ { 0, { 0, 0, 0}}, // ( 64, 161)
+ { 0, { 0, 0, 0}}, // ( 65, 161)
+ { 0, { 0, 0, 0}}, // ( 66, 161)
+ { 0, { 0, 0, 0}}, // ( 67, 161)
+ { 0, { 0, 0, 0}}, // ( 68, 161)
+ { 0, { 0, 0, 0}}, // ( 69, 161)
+ { 0, { 0, 0, 0}}, // ( 70, 161)
+ { 0, { 0, 0, 0}}, // ( 71, 161)
+ { 0, { 0, 0, 0}}, // ( 72, 161)
+ { 0, { 0, 0, 0}}, // ( 73, 161)
+ { 0, { 0, 0, 0}}, // ( 74, 161)
+ { 0, { 0, 0, 0}}, // ( 75, 161)
+ { 0, { 0, 0, 0}}, // ( 76, 161)
+ { 0, { 0, 0, 0}}, // ( 77, 161)
+ { 0, { 0, 0, 0}}, // ( 78, 161)
+ { 0, { 0, 0, 0}}, // ( 79, 161)
+ { 0, { 0, 0, 0}}, // ( 80, 161)
+ { 0, { 0, 0, 0}}, // ( 81, 161)
+ { 0, { 0, 0, 0}}, // ( 82, 161)
+ { 0, { 0, 0, 0}}, // ( 83, 161)
+ { 0, { 0, 0, 0}}, // ( 84, 161)
+ { 0, { 0, 0, 0}}, // ( 85, 161)
+ { 0, { 0, 0, 0}}, // ( 86, 161)
+ { 0, { 0, 0, 0}}, // ( 87, 161)
+ { 0, { 0, 0, 0}}, // ( 88, 161)
+ { 0, { 0, 0, 0}}, // ( 89, 161)
+ { 0, { 0, 0, 0}}, // ( 90, 161)
+ { 0, { 0, 0, 0}}, // ( 91, 161)
+ { 0, { 0, 0, 0}}, // ( 92, 161)
+ { 0, { 0, 0, 0}}, // ( 93, 161)
+ { 0, { 0, 0, 0}}, // ( 94, 161)
+ { 0, { 0, 0, 0}}, // ( 95, 161)
+ { 0, { 0, 0, 0}}, // ( 96, 161)
+ { 0, { 0, 0, 0}}, // ( 97, 161)
+ { 0, { 0, 0, 0}}, // ( 98, 161)
+ { 0, { 0, 0, 0}}, // ( 99, 161)
+ { 0, { 0, 0, 0}}, // (100, 161)
+ { 0, { 0, 0, 0}}, // (101, 161)
+ { 0, { 0, 0, 0}}, // (102, 161)
+ { 0, { 0, 0, 0}}, // (103, 161)
+ { 0, { 0, 0, 0}}, // (104, 161)
+ { 0, { 0, 0, 0}}, // (105, 161)
+ { 0, { 0, 0, 0}}, // (106, 161)
+ { 0, { 0, 0, 0}}, // (107, 161)
+ { 0, { 0, 0, 0}}, // (108, 161)
+ { 0, { 0, 0, 0}}, // (109, 161)
+ { 0, { 0, 0, 0}}, // (110, 161)
+ { 0, { 0, 0, 0}}, // (111, 161)
+ { 0, { 0, 0, 0}}, // (112, 161)
+ { 0, { 0, 0, 0}}, // (113, 161)
+ { 0, { 0, 0, 0}}, // (114, 161)
+ { 0, { 0, 0, 0}}, // (115, 161)
+ { 0, { 0, 0, 0}}, // (116, 161)
+ { 0, { 0, 0, 0}}, // (117, 161)
+ { 0, { 0, 0, 0}}, // (118, 161)
+ { 0, { 0, 0, 0}}, // (119, 161)
+ { 0, { 0, 0, 0}}, // (120, 161)
+ { 0, { 0, 0, 0}}, // (121, 161)
+ { 0, { 0, 0, 0}}, // (122, 161)
+ { 0, { 0, 0, 0}}, // (123, 161)
+ { 0, { 0, 0, 0}}, // (124, 161)
+ { 0, { 0, 0, 0}}, // (125, 161)
+ { 0, { 0, 0, 0}}, // (126, 161)
+ { 0, { 0, 0, 0}}, // (127, 161)
+ { 0, { 0, 0, 0}}, // (128, 161)
+ { 0, { 0, 0, 0}}, // (129, 161)
+ { 0, { 0, 0, 0}}, // (130, 161)
+ { 0, { 0, 0, 0}}, // (131, 161)
+ { 0, { 0, 0, 0}}, // (132, 161)
+ { 0, { 0, 0, 0}}, // (133, 161)
+ { 0, { 0, 0, 0}}, // (134, 161)
+ { 0, { 0, 0, 0}}, // (135, 161)
+ { 0, { 0, 0, 0}}, // (136, 161)
+ { 0, { 0, 0, 0}}, // (137, 161)
+ { 0, { 0, 0, 0}}, // (138, 161)
+ { 0, { 0, 0, 0}}, // (139, 161)
+ { 8, { 0, 0, 0}}, // (140, 161)
+ { 85, { 0, 0, 0}}, // (141, 161)
+ {128, { 0, 0, 0}}, // (142, 161)
+ {128, { 0, 0, 0}}, // (143, 161)
+ {128, { 0, 0, 0}}, // (144, 161)
+ {128, { 0, 0, 0}}, // (145, 161)
+ {128, { 0, 0, 0}}, // (146, 161)
+ {128, { 0, 0, 0}}, // (147, 161)
+ {128, { 0, 0, 0}}, // (148, 161)
+ {128, { 0, 0, 0}}, // (149, 161)
+ {128, { 0, 0, 0}}, // (150, 161)
+ {128, { 0, 0, 0}}, // (151, 161)
+ {128, { 0, 0, 0}}, // (152, 161)
+ {128, { 0, 0, 0}}, // (153, 161)
+ {128, { 0, 0, 0}}, // (154, 161)
+ {128, { 0, 0, 0}}, // (155, 161)
+ {128, { 0, 0, 0}}, // (156, 161)
+ {128, { 0, 0, 0}}, // (157, 161)
+ {128, { 0, 0, 0}}, // (158, 161)
+ {128, { 0, 0, 0}}, // (159, 161)
+ {128, { 0, 0, 0}}, // (160, 161)
+ {128, { 0, 0, 0}}, // (161, 161)
+ {128, { 0, 0, 0}}, // (162, 161)
+ {128, { 0, 0, 0}}, // (163, 161)
+ {128, { 0, 0, 0}}, // (164, 161)
+ {128, { 0, 0, 0}}, // (165, 161)
+ {128, { 0, 0, 0}}, // (166, 161)
+ {128, { 0, 0, 0}}, // (167, 161)
+ {128, { 0, 0, 0}}, // (168, 161)
+ {128, { 0, 0, 0}}, // (169, 161)
+ {128, { 0, 0, 0}}, // (170, 161)
+ {128, { 0, 0, 0}}, // (171, 161)
+ {128, { 0, 0, 0}}, // (172, 161)
+ {128, { 0, 0, 0}}, // (173, 161)
+ {128, { 0, 0, 0}}, // (174, 161)
+ {128, { 0, 0, 0}}, // (175, 161)
+ {128, { 0, 0, 0}}, // (176, 161)
+ {128, { 0, 0, 0}}, // (177, 161)
+ {128, { 0, 0, 0}}, // (178, 161)
+ {128, { 0, 0, 0}}, // (179, 161)
+ {128, { 0, 0, 0}}, // ( 0, 162)
+ {128, { 0, 0, 0}}, // ( 1, 162)
+ {128, { 0, 0, 0}}, // ( 2, 162)
+ {128, { 0, 0, 0}}, // ( 3, 162)
+ {128, { 0, 0, 0}}, // ( 4, 162)
+ {128, { 0, 0, 0}}, // ( 5, 162)
+ {128, { 0, 0, 0}}, // ( 6, 162)
+ {128, { 0, 0, 0}}, // ( 7, 162)
+ {128, { 0, 0, 0}}, // ( 8, 162)
+ {128, { 0, 0, 0}}, // ( 9, 162)
+ {128, { 0, 0, 0}}, // ( 10, 162)
+ {128, { 0, 0, 0}}, // ( 11, 162)
+ {128, { 0, 0, 0}}, // ( 12, 162)
+ {128, { 0, 0, 0}}, // ( 13, 162)
+ {128, { 0, 0, 0}}, // ( 14, 162)
+ {128, { 0, 0, 0}}, // ( 15, 162)
+ {128, { 0, 0, 0}}, // ( 16, 162)
+ {128, { 0, 0, 0}}, // ( 17, 162)
+ {128, { 0, 0, 0}}, // ( 18, 162)
+ {128, { 0, 0, 0}}, // ( 19, 162)
+ {128, { 0, 0, 0}}, // ( 20, 162)
+ {128, { 0, 0, 0}}, // ( 21, 162)
+ {128, { 0, 0, 0}}, // ( 22, 162)
+ {128, { 0, 0, 0}}, // ( 23, 162)
+ {128, { 0, 0, 0}}, // ( 24, 162)
+ {128, { 0, 0, 0}}, // ( 25, 162)
+ {128, { 0, 0, 0}}, // ( 26, 162)
+ {128, { 0, 0, 0}}, // ( 27, 162)
+ {128, { 0, 0, 0}}, // ( 28, 162)
+ {128, { 0, 0, 0}}, // ( 29, 162)
+ {128, { 0, 0, 0}}, // ( 30, 162)
+ {128, { 0, 0, 0}}, // ( 31, 162)
+ {128, { 0, 0, 0}}, // ( 32, 162)
+ {128, { 0, 0, 0}}, // ( 33, 162)
+ {128, { 0, 0, 0}}, // ( 34, 162)
+ {128, { 0, 0, 0}}, // ( 35, 162)
+ {128, { 0, 0, 0}}, // ( 36, 162)
+ {128, { 0, 0, 0}}, // ( 37, 162)
+ {128, { 0, 0, 0}}, // ( 38, 162)
+ {113, { 0, 0, 0}}, // ( 39, 162)
+ { 32, { 0, 0, 0}}, // ( 40, 162)
+ { 0, { 0, 0, 0}}, // ( 41, 162)
+ { 0, { 0, 0, 0}}, // ( 42, 162)
+ { 0, { 0, 0, 0}}, // ( 43, 162)
+ { 0, { 0, 0, 0}}, // ( 44, 162)
+ { 0, { 0, 0, 0}}, // ( 45, 162)
+ { 0, { 0, 0, 0}}, // ( 46, 162)
+ { 0, { 0, 0, 0}}, // ( 47, 162)
+ { 0, { 0, 0, 0}}, // ( 48, 162)
+ { 0, { 0, 0, 0}}, // ( 49, 162)
+ { 0, { 0, 0, 0}}, // ( 50, 162)
+ { 0, { 0, 0, 0}}, // ( 51, 162)
+ { 0, { 0, 0, 0}}, // ( 52, 162)
+ { 0, { 0, 0, 0}}, // ( 53, 162)
+ { 0, { 0, 0, 0}}, // ( 54, 162)
+ { 0, { 0, 0, 0}}, // ( 55, 162)
+ { 0, { 0, 0, 0}}, // ( 56, 162)
+ { 0, { 0, 0, 0}}, // ( 57, 162)
+ { 0, { 0, 0, 0}}, // ( 58, 162)
+ { 0, { 0, 0, 0}}, // ( 59, 162)
+ { 0, { 0, 0, 0}}, // ( 60, 162)
+ { 0, { 0, 0, 0}}, // ( 61, 162)
+ { 0, { 0, 0, 0}}, // ( 62, 162)
+ { 0, { 0, 0, 0}}, // ( 63, 162)
+ { 0, { 0, 0, 0}}, // ( 64, 162)
+ { 0, { 0, 0, 0}}, // ( 65, 162)
+ { 0, { 0, 0, 0}}, // ( 66, 162)
+ { 0, { 0, 0, 0}}, // ( 67, 162)
+ { 0, { 0, 0, 0}}, // ( 68, 162)
+ { 0, { 0, 0, 0}}, // ( 69, 162)
+ { 0, { 0, 0, 0}}, // ( 70, 162)
+ { 0, { 0, 0, 0}}, // ( 71, 162)
+ { 0, { 0, 0, 0}}, // ( 72, 162)
+ { 0, { 0, 0, 0}}, // ( 73, 162)
+ { 0, { 0, 0, 0}}, // ( 74, 162)
+ { 0, { 0, 0, 0}}, // ( 75, 162)
+ { 0, { 0, 0, 0}}, // ( 76, 162)
+ { 0, { 0, 0, 0}}, // ( 77, 162)
+ { 0, { 0, 0, 0}}, // ( 78, 162)
+ { 0, { 0, 0, 0}}, // ( 79, 162)
+ { 0, { 0, 0, 0}}, // ( 80, 162)
+ { 0, { 0, 0, 0}}, // ( 81, 162)
+ { 0, { 0, 0, 0}}, // ( 82, 162)
+ { 0, { 0, 0, 0}}, // ( 83, 162)
+ { 0, { 0, 0, 0}}, // ( 84, 162)
+ { 0, { 0, 0, 0}}, // ( 85, 162)
+ { 0, { 0, 0, 0}}, // ( 86, 162)
+ { 0, { 0, 0, 0}}, // ( 87, 162)
+ { 0, { 0, 0, 0}}, // ( 88, 162)
+ { 0, { 0, 0, 0}}, // ( 89, 162)
+ { 0, { 0, 0, 0}}, // ( 90, 162)
+ { 0, { 0, 0, 0}}, // ( 91, 162)
+ { 0, { 0, 0, 0}}, // ( 92, 162)
+ { 0, { 0, 0, 0}}, // ( 93, 162)
+ { 0, { 0, 0, 0}}, // ( 94, 162)
+ { 0, { 0, 0, 0}}, // ( 95, 162)
+ { 0, { 0, 0, 0}}, // ( 96, 162)
+ { 0, { 0, 0, 0}}, // ( 97, 162)
+ { 0, { 0, 0, 0}}, // ( 98, 162)
+ { 0, { 0, 0, 0}}, // ( 99, 162)
+ { 0, { 0, 0, 0}}, // (100, 162)
+ { 0, { 0, 0, 0}}, // (101, 162)
+ { 0, { 0, 0, 0}}, // (102, 162)
+ { 0, { 0, 0, 0}}, // (103, 162)
+ { 0, { 0, 0, 0}}, // (104, 162)
+ { 0, { 0, 0, 0}}, // (105, 162)
+ { 0, { 0, 0, 0}}, // (106, 162)
+ { 0, { 0, 0, 0}}, // (107, 162)
+ { 0, { 0, 0, 0}}, // (108, 162)
+ { 0, { 0, 0, 0}}, // (109, 162)
+ { 0, { 0, 0, 0}}, // (110, 162)
+ { 0, { 0, 0, 0}}, // (111, 162)
+ { 0, { 0, 0, 0}}, // (112, 162)
+ { 0, { 0, 0, 0}}, // (113, 162)
+ { 0, { 0, 0, 0}}, // (114, 162)
+ { 0, { 0, 0, 0}}, // (115, 162)
+ { 0, { 0, 0, 0}}, // (116, 162)
+ { 0, { 0, 0, 0}}, // (117, 162)
+ { 0, { 0, 0, 0}}, // (118, 162)
+ { 0, { 0, 0, 0}}, // (119, 162)
+ { 0, { 0, 0, 0}}, // (120, 162)
+ { 0, { 0, 0, 0}}, // (121, 162)
+ { 0, { 0, 0, 0}}, // (122, 162)
+ { 0, { 0, 0, 0}}, // (123, 162)
+ { 0, { 0, 0, 0}}, // (124, 162)
+ { 0, { 0, 0, 0}}, // (125, 162)
+ { 0, { 0, 0, 0}}, // (126, 162)
+ { 0, { 0, 0, 0}}, // (127, 162)
+ { 0, { 0, 0, 0}}, // (128, 162)
+ { 0, { 0, 0, 0}}, // (129, 162)
+ { 0, { 0, 0, 0}}, // (130, 162)
+ { 0, { 0, 0, 0}}, // (131, 162)
+ { 0, { 0, 0, 0}}, // (132, 162)
+ { 0, { 0, 0, 0}}, // (133, 162)
+ { 0, { 0, 0, 0}}, // (134, 162)
+ { 0, { 0, 0, 0}}, // (135, 162)
+ { 0, { 0, 0, 0}}, // (136, 162)
+ { 0, { 0, 0, 0}}, // (137, 162)
+ { 0, { 0, 0, 0}}, // (138, 162)
+ { 32, { 0, 0, 0}}, // (139, 162)
+ {113, { 0, 0, 0}}, // (140, 162)
+ {128, { 0, 0, 0}}, // (141, 162)
+ {128, { 0, 0, 0}}, // (142, 162)
+ {128, { 0, 0, 0}}, // (143, 162)
+ {128, { 0, 0, 0}}, // (144, 162)
+ {128, { 0, 0, 0}}, // (145, 162)
+ {128, { 0, 0, 0}}, // (146, 162)
+ {128, { 0, 0, 0}}, // (147, 162)
+ {128, { 0, 0, 0}}, // (148, 162)
+ {128, { 0, 0, 0}}, // (149, 162)
+ {128, { 0, 0, 0}}, // (150, 162)
+ {128, { 0, 0, 0}}, // (151, 162)
+ {128, { 0, 0, 0}}, // (152, 162)
+ {128, { 0, 0, 0}}, // (153, 162)
+ {128, { 0, 0, 0}}, // (154, 162)
+ {128, { 0, 0, 0}}, // (155, 162)
+ {128, { 0, 0, 0}}, // (156, 162)
+ {128, { 0, 0, 0}}, // (157, 162)
+ {128, { 0, 0, 0}}, // (158, 162)
+ {128, { 0, 0, 0}}, // (159, 162)
+ {128, { 0, 0, 0}}, // (160, 162)
+ {128, { 0, 0, 0}}, // (161, 162)
+ {128, { 0, 0, 0}}, // (162, 162)
+ {128, { 0, 0, 0}}, // (163, 162)
+ {128, { 0, 0, 0}}, // (164, 162)
+ {128, { 0, 0, 0}}, // (165, 162)
+ {128, { 0, 0, 0}}, // (166, 162)
+ {128, { 0, 0, 0}}, // (167, 162)
+ {128, { 0, 0, 0}}, // (168, 162)
+ {128, { 0, 0, 0}}, // (169, 162)
+ {128, { 0, 0, 0}}, // (170, 162)
+ {128, { 0, 0, 0}}, // (171, 162)
+ {128, { 0, 0, 0}}, // (172, 162)
+ {128, { 0, 0, 0}}, // (173, 162)
+ {128, { 0, 0, 0}}, // (174, 162)
+ {128, { 0, 0, 0}}, // (175, 162)
+ {128, { 0, 0, 0}}, // (176, 162)
+ {128, { 0, 0, 0}}, // (177, 162)
+ {128, { 0, 0, 0}}, // (178, 162)
+ {128, { 0, 0, 0}}, // (179, 162)
+ {128, { 0, 0, 0}}, // ( 0, 163)
+ {128, { 0, 0, 0}}, // ( 1, 163)
+ {128, { 0, 0, 0}}, // ( 2, 163)
+ {128, { 0, 0, 0}}, // ( 3, 163)
+ {128, { 0, 0, 0}}, // ( 4, 163)
+ {128, { 0, 0, 0}}, // ( 5, 163)
+ {128, { 0, 0, 0}}, // ( 6, 163)
+ {128, { 0, 0, 0}}, // ( 7, 163)
+ {128, { 0, 0, 0}}, // ( 8, 163)
+ {128, { 0, 0, 0}}, // ( 9, 163)
+ {128, { 0, 0, 0}}, // ( 10, 163)
+ {128, { 0, 0, 0}}, // ( 11, 163)
+ {128, { 0, 0, 0}}, // ( 12, 163)
+ {128, { 0, 0, 0}}, // ( 13, 163)
+ {128, { 0, 0, 0}}, // ( 14, 163)
+ {128, { 0, 0, 0}}, // ( 15, 163)
+ {128, { 0, 0, 0}}, // ( 16, 163)
+ {128, { 0, 0, 0}}, // ( 17, 163)
+ {128, { 0, 0, 0}}, // ( 18, 163)
+ {128, { 0, 0, 0}}, // ( 19, 163)
+ {128, { 0, 0, 0}}, // ( 20, 163)
+ {128, { 0, 0, 0}}, // ( 21, 163)
+ {128, { 0, 0, 0}}, // ( 22, 163)
+ {128, { 0, 0, 0}}, // ( 23, 163)
+ {128, { 0, 0, 0}}, // ( 24, 163)
+ {128, { 0, 0, 0}}, // ( 25, 163)
+ {128, { 0, 0, 0}}, // ( 26, 163)
+ {128, { 0, 0, 0}}, // ( 27, 163)
+ {128, { 0, 0, 0}}, // ( 28, 163)
+ {128, { 0, 0, 0}}, // ( 29, 163)
+ {128, { 0, 0, 0}}, // ( 30, 163)
+ {128, { 0, 0, 0}}, // ( 31, 163)
+ {128, { 0, 0, 0}}, // ( 32, 163)
+ {128, { 0, 0, 0}}, // ( 33, 163)
+ {128, { 0, 0, 0}}, // ( 34, 163)
+ {128, { 0, 0, 0}}, // ( 35, 163)
+ {128, { 0, 0, 0}}, // ( 36, 163)
+ {128, { 0, 0, 0}}, // ( 37, 163)
+ {128, { 0, 0, 0}}, // ( 38, 163)
+ {128, { 0, 0, 0}}, // ( 39, 163)
+ {127, { 0, 0, 0}}, // ( 40, 163)
+ { 74, { 0, 0, 0}}, // ( 41, 163)
+ { 7, { 0, 0, 0}}, // ( 42, 163)
+ { 0, { 0, 0, 0}}, // ( 43, 163)
+ { 0, { 0, 0, 0}}, // ( 44, 163)
+ { 0, { 0, 0, 0}}, // ( 45, 163)
+ { 0, { 0, 0, 0}}, // ( 46, 163)
+ { 0, { 0, 0, 0}}, // ( 47, 163)
+ { 0, { 0, 0, 0}}, // ( 48, 163)
+ { 0, { 0, 0, 0}}, // ( 49, 163)
+ { 0, { 0, 0, 0}}, // ( 50, 163)
+ { 0, { 0, 0, 0}}, // ( 51, 163)
+ { 0, { 0, 0, 0}}, // ( 52, 163)
+ { 0, { 0, 0, 0}}, // ( 53, 163)
+ { 0, { 0, 0, 0}}, // ( 54, 163)
+ { 0, { 0, 0, 0}}, // ( 55, 163)
+ { 0, { 0, 0, 0}}, // ( 56, 163)
+ { 0, { 0, 0, 0}}, // ( 57, 163)
+ { 0, { 0, 0, 0}}, // ( 58, 163)
+ { 0, { 0, 0, 0}}, // ( 59, 163)
+ { 0, { 0, 0, 0}}, // ( 60, 163)
+ { 0, { 0, 0, 0}}, // ( 61, 163)
+ { 0, { 0, 0, 0}}, // ( 62, 163)
+ { 0, { 0, 0, 0}}, // ( 63, 163)
+ { 0, { 0, 0, 0}}, // ( 64, 163)
+ { 0, { 0, 0, 0}}, // ( 65, 163)
+ { 0, { 0, 0, 0}}, // ( 66, 163)
+ { 0, { 0, 0, 0}}, // ( 67, 163)
+ { 0, { 0, 0, 0}}, // ( 68, 163)
+ { 0, { 0, 0, 0}}, // ( 69, 163)
+ { 0, { 0, 0, 0}}, // ( 70, 163)
+ { 0, { 0, 0, 0}}, // ( 71, 163)
+ { 0, { 0, 0, 0}}, // ( 72, 163)
+ { 0, { 0, 0, 0}}, // ( 73, 163)
+ { 0, { 0, 0, 0}}, // ( 74, 163)
+ { 0, { 0, 0, 0}}, // ( 75, 163)
+ { 0, { 0, 0, 0}}, // ( 76, 163)
+ { 0, { 0, 0, 0}}, // ( 77, 163)
+ { 0, { 0, 0, 0}}, // ( 78, 163)
+ { 0, { 0, 0, 0}}, // ( 79, 163)
+ { 0, { 0, 0, 0}}, // ( 80, 163)
+ { 0, { 0, 0, 0}}, // ( 81, 163)
+ { 0, { 0, 0, 0}}, // ( 82, 163)
+ { 0, { 0, 0, 0}}, // ( 83, 163)
+ { 0, { 0, 0, 0}}, // ( 84, 163)
+ { 0, { 0, 0, 0}}, // ( 85, 163)
+ { 0, { 0, 0, 0}}, // ( 86, 163)
+ { 0, { 0, 0, 0}}, // ( 87, 163)
+ { 0, { 0, 0, 0}}, // ( 88, 163)
+ { 0, { 0, 0, 0}}, // ( 89, 163)
+ { 0, { 0, 0, 0}}, // ( 90, 163)
+ { 0, { 0, 0, 0}}, // ( 91, 163)
+ { 0, { 0, 0, 0}}, // ( 92, 163)
+ { 0, { 0, 0, 0}}, // ( 93, 163)
+ { 0, { 0, 0, 0}}, // ( 94, 163)
+ { 0, { 0, 0, 0}}, // ( 95, 163)
+ { 0, { 0, 0, 0}}, // ( 96, 163)
+ { 0, { 0, 0, 0}}, // ( 97, 163)
+ { 0, { 0, 0, 0}}, // ( 98, 163)
+ { 0, { 0, 0, 0}}, // ( 99, 163)
+ { 0, { 0, 0, 0}}, // (100, 163)
+ { 0, { 0, 0, 0}}, // (101, 163)
+ { 0, { 0, 0, 0}}, // (102, 163)
+ { 0, { 0, 0, 0}}, // (103, 163)
+ { 0, { 0, 0, 0}}, // (104, 163)
+ { 0, { 0, 0, 0}}, // (105, 163)
+ { 0, { 0, 0, 0}}, // (106, 163)
+ { 0, { 0, 0, 0}}, // (107, 163)
+ { 0, { 0, 0, 0}}, // (108, 163)
+ { 0, { 0, 0, 0}}, // (109, 163)
+ { 0, { 0, 0, 0}}, // (110, 163)
+ { 0, { 0, 0, 0}}, // (111, 163)
+ { 0, { 0, 0, 0}}, // (112, 163)
+ { 0, { 0, 0, 0}}, // (113, 163)
+ { 0, { 0, 0, 0}}, // (114, 163)
+ { 0, { 0, 0, 0}}, // (115, 163)
+ { 0, { 0, 0, 0}}, // (116, 163)
+ { 0, { 0, 0, 0}}, // (117, 163)
+ { 0, { 0, 0, 0}}, // (118, 163)
+ { 0, { 0, 0, 0}}, // (119, 163)
+ { 0, { 0, 0, 0}}, // (120, 163)
+ { 0, { 0, 0, 0}}, // (121, 163)
+ { 0, { 0, 0, 0}}, // (122, 163)
+ { 0, { 0, 0, 0}}, // (123, 163)
+ { 0, { 0, 0, 0}}, // (124, 163)
+ { 0, { 0, 0, 0}}, // (125, 163)
+ { 0, { 0, 0, 0}}, // (126, 163)
+ { 0, { 0, 0, 0}}, // (127, 163)
+ { 0, { 0, 0, 0}}, // (128, 163)
+ { 0, { 0, 0, 0}}, // (129, 163)
+ { 0, { 0, 0, 0}}, // (130, 163)
+ { 0, { 0, 0, 0}}, // (131, 163)
+ { 0, { 0, 0, 0}}, // (132, 163)
+ { 0, { 0, 0, 0}}, // (133, 163)
+ { 0, { 0, 0, 0}}, // (134, 163)
+ { 0, { 0, 0, 0}}, // (135, 163)
+ { 0, { 0, 0, 0}}, // (136, 163)
+ { 7, { 0, 0, 0}}, // (137, 163)
+ { 74, { 0, 0, 0}}, // (138, 163)
+ {127, { 0, 0, 0}}, // (139, 163)
+ {128, { 0, 0, 0}}, // (140, 163)
+ {128, { 0, 0, 0}}, // (141, 163)
+ {128, { 0, 0, 0}}, // (142, 163)
+ {128, { 0, 0, 0}}, // (143, 163)
+ {128, { 0, 0, 0}}, // (144, 163)
+ {128, { 0, 0, 0}}, // (145, 163)
+ {128, { 0, 0, 0}}, // (146, 163)
+ {128, { 0, 0, 0}}, // (147, 163)
+ {128, { 0, 0, 0}}, // (148, 163)
+ {128, { 0, 0, 0}}, // (149, 163)
+ {128, { 0, 0, 0}}, // (150, 163)
+ {128, { 0, 0, 0}}, // (151, 163)
+ {128, { 0, 0, 0}}, // (152, 163)
+ {128, { 0, 0, 0}}, // (153, 163)
+ {128, { 0, 0, 0}}, // (154, 163)
+ {128, { 0, 0, 0}}, // (155, 163)
+ {128, { 0, 0, 0}}, // (156, 163)
+ {128, { 0, 0, 0}}, // (157, 163)
+ {128, { 0, 0, 0}}, // (158, 163)
+ {128, { 0, 0, 0}}, // (159, 163)
+ {128, { 0, 0, 0}}, // (160, 163)
+ {128, { 0, 0, 0}}, // (161, 163)
+ {128, { 0, 0, 0}}, // (162, 163)
+ {128, { 0, 0, 0}}, // (163, 163)
+ {128, { 0, 0, 0}}, // (164, 163)
+ {128, { 0, 0, 0}}, // (165, 163)
+ {128, { 0, 0, 0}}, // (166, 163)
+ {128, { 0, 0, 0}}, // (167, 163)
+ {128, { 0, 0, 0}}, // (168, 163)
+ {128, { 0, 0, 0}}, // (169, 163)
+ {128, { 0, 0, 0}}, // (170, 163)
+ {128, { 0, 0, 0}}, // (171, 163)
+ {128, { 0, 0, 0}}, // (172, 163)
+ {128, { 0, 0, 0}}, // (173, 163)
+ {128, { 0, 0, 0}}, // (174, 163)
+ {128, { 0, 0, 0}}, // (175, 163)
+ {128, { 0, 0, 0}}, // (176, 163)
+ {128, { 0, 0, 0}}, // (177, 163)
+ {128, { 0, 0, 0}}, // (178, 163)
+ {128, { 0, 0, 0}}, // (179, 163)
+ {128, { 0, 0, 0}}, // ( 0, 164)
+ {128, { 0, 0, 0}}, // ( 1, 164)
+ {128, { 0, 0, 0}}, // ( 2, 164)
+ {128, { 0, 0, 0}}, // ( 3, 164)
+ {128, { 0, 0, 0}}, // ( 4, 164)
+ {128, { 0, 0, 0}}, // ( 5, 164)
+ {128, { 0, 0, 0}}, // ( 6, 164)
+ {128, { 0, 0, 0}}, // ( 7, 164)
+ {128, { 0, 0, 0}}, // ( 8, 164)
+ {128, { 0, 0, 0}}, // ( 9, 164)
+ {128, { 0, 0, 0}}, // ( 10, 164)
+ {128, { 0, 0, 0}}, // ( 11, 164)
+ {128, { 0, 0, 0}}, // ( 12, 164)
+ {128, { 0, 0, 0}}, // ( 13, 164)
+ {128, { 0, 0, 0}}, // ( 14, 164)
+ {128, { 0, 0, 0}}, // ( 15, 164)
+ {128, { 0, 0, 0}}, // ( 16, 164)
+ {128, { 0, 0, 0}}, // ( 17, 164)
+ {128, { 0, 0, 0}}, // ( 18, 164)
+ {128, { 0, 0, 0}}, // ( 19, 164)
+ {128, { 0, 0, 0}}, // ( 20, 164)
+ {128, { 0, 0, 0}}, // ( 21, 164)
+ {128, { 0, 0, 0}}, // ( 22, 164)
+ {128, { 0, 0, 0}}, // ( 23, 164)
+ {128, { 0, 0, 0}}, // ( 24, 164)
+ {128, { 0, 0, 0}}, // ( 25, 164)
+ {128, { 0, 0, 0}}, // ( 26, 164)
+ {128, { 0, 0, 0}}, // ( 27, 164)
+ {128, { 0, 0, 0}}, // ( 28, 164)
+ {128, { 0, 0, 0}}, // ( 29, 164)
+ {128, { 0, 0, 0}}, // ( 30, 164)
+ {128, { 0, 0, 0}}, // ( 31, 164)
+ {128, { 0, 0, 0}}, // ( 32, 164)
+ {128, { 0, 0, 0}}, // ( 33, 164)
+ {128, { 0, 0, 0}}, // ( 34, 164)
+ {128, { 0, 0, 0}}, // ( 35, 164)
+ {128, { 0, 0, 0}}, // ( 36, 164)
+ {128, { 0, 0, 0}}, // ( 37, 164)
+ {128, { 0, 0, 0}}, // ( 38, 164)
+ {128, { 0, 0, 0}}, // ( 39, 164)
+ {128, { 0, 0, 0}}, // ( 40, 164)
+ {128, { 0, 0, 0}}, // ( 41, 164)
+ {113, { 0, 0, 0}}, // ( 42, 164)
+ { 38, { 0, 0, 0}}, // ( 43, 164)
+ { 0, { 0, 0, 0}}, // ( 44, 164)
+ { 0, { 0, 0, 0}}, // ( 45, 164)
+ { 0, { 0, 0, 0}}, // ( 46, 164)
+ { 0, { 0, 0, 0}}, // ( 47, 164)
+ { 0, { 0, 0, 0}}, // ( 48, 164)
+ { 0, { 0, 0, 0}}, // ( 49, 164)
+ { 0, { 0, 0, 0}}, // ( 50, 164)
+ { 0, { 0, 0, 0}}, // ( 51, 164)
+ { 0, { 0, 0, 0}}, // ( 52, 164)
+ { 0, { 0, 0, 0}}, // ( 53, 164)
+ { 0, { 0, 0, 0}}, // ( 54, 164)
+ { 0, { 0, 0, 0}}, // ( 55, 164)
+ { 0, { 0, 0, 0}}, // ( 56, 164)
+ { 0, { 0, 0, 0}}, // ( 57, 164)
+ { 0, { 0, 0, 0}}, // ( 58, 164)
+ { 0, { 0, 0, 0}}, // ( 59, 164)
+ { 0, { 0, 0, 0}}, // ( 60, 164)
+ { 0, { 0, 0, 0}}, // ( 61, 164)
+ { 0, { 0, 0, 0}}, // ( 62, 164)
+ { 0, { 0, 0, 0}}, // ( 63, 164)
+ { 0, { 0, 0, 0}}, // ( 64, 164)
+ { 0, { 0, 0, 0}}, // ( 65, 164)
+ { 0, { 0, 0, 0}}, // ( 66, 164)
+ { 0, { 0, 0, 0}}, // ( 67, 164)
+ { 0, { 0, 0, 0}}, // ( 68, 164)
+ { 0, { 0, 0, 0}}, // ( 69, 164)
+ { 0, { 0, 0, 0}}, // ( 70, 164)
+ { 0, { 0, 0, 0}}, // ( 71, 164)
+ { 0, { 0, 0, 0}}, // ( 72, 164)
+ { 0, { 0, 0, 0}}, // ( 73, 164)
+ { 0, { 0, 0, 0}}, // ( 74, 164)
+ { 0, { 0, 0, 0}}, // ( 75, 164)
+ { 0, { 0, 0, 0}}, // ( 76, 164)
+ { 0, { 0, 0, 0}}, // ( 77, 164)
+ { 0, { 0, 0, 0}}, // ( 78, 164)
+ { 0, { 0, 0, 0}}, // ( 79, 164)
+ { 0, { 0, 0, 0}}, // ( 80, 164)
+ { 0, { 0, 0, 0}}, // ( 81, 164)
+ { 0, { 0, 0, 0}}, // ( 82, 164)
+ { 0, { 0, 0, 0}}, // ( 83, 164)
+ { 0, { 0, 0, 0}}, // ( 84, 164)
+ { 0, { 0, 0, 0}}, // ( 85, 164)
+ { 0, { 0, 0, 0}}, // ( 86, 164)
+ { 0, { 0, 0, 0}}, // ( 87, 164)
+ { 0, { 0, 0, 0}}, // ( 88, 164)
+ { 0, { 0, 0, 0}}, // ( 89, 164)
+ { 0, { 0, 0, 0}}, // ( 90, 164)
+ { 0, { 0, 0, 0}}, // ( 91, 164)
+ { 0, { 0, 0, 0}}, // ( 92, 164)
+ { 0, { 0, 0, 0}}, // ( 93, 164)
+ { 0, { 0, 0, 0}}, // ( 94, 164)
+ { 0, { 0, 0, 0}}, // ( 95, 164)
+ { 0, { 0, 0, 0}}, // ( 96, 164)
+ { 0, { 0, 0, 0}}, // ( 97, 164)
+ { 0, { 0, 0, 0}}, // ( 98, 164)
+ { 0, { 0, 0, 0}}, // ( 99, 164)
+ { 0, { 0, 0, 0}}, // (100, 164)
+ { 0, { 0, 0, 0}}, // (101, 164)
+ { 0, { 0, 0, 0}}, // (102, 164)
+ { 0, { 0, 0, 0}}, // (103, 164)
+ { 0, { 0, 0, 0}}, // (104, 164)
+ { 0, { 0, 0, 0}}, // (105, 164)
+ { 0, { 0, 0, 0}}, // (106, 164)
+ { 0, { 0, 0, 0}}, // (107, 164)
+ { 0, { 0, 0, 0}}, // (108, 164)
+ { 0, { 0, 0, 0}}, // (109, 164)
+ { 0, { 0, 0, 0}}, // (110, 164)
+ { 0, { 0, 0, 0}}, // (111, 164)
+ { 0, { 0, 0, 0}}, // (112, 164)
+ { 0, { 0, 0, 0}}, // (113, 164)
+ { 0, { 0, 0, 0}}, // (114, 164)
+ { 0, { 0, 0, 0}}, // (115, 164)
+ { 0, { 0, 0, 0}}, // (116, 164)
+ { 0, { 0, 0, 0}}, // (117, 164)
+ { 0, { 0, 0, 0}}, // (118, 164)
+ { 0, { 0, 0, 0}}, // (119, 164)
+ { 0, { 0, 0, 0}}, // (120, 164)
+ { 0, { 0, 0, 0}}, // (121, 164)
+ { 0, { 0, 0, 0}}, // (122, 164)
+ { 0, { 0, 0, 0}}, // (123, 164)
+ { 0, { 0, 0, 0}}, // (124, 164)
+ { 0, { 0, 0, 0}}, // (125, 164)
+ { 0, { 0, 0, 0}}, // (126, 164)
+ { 0, { 0, 0, 0}}, // (127, 164)
+ { 0, { 0, 0, 0}}, // (128, 164)
+ { 0, { 0, 0, 0}}, // (129, 164)
+ { 0, { 0, 0, 0}}, // (130, 164)
+ { 0, { 0, 0, 0}}, // (131, 164)
+ { 0, { 0, 0, 0}}, // (132, 164)
+ { 0, { 0, 0, 0}}, // (133, 164)
+ { 0, { 0, 0, 0}}, // (134, 164)
+ { 0, { 0, 0, 0}}, // (135, 164)
+ { 38, { 0, 0, 0}}, // (136, 164)
+ {113, { 0, 0, 0}}, // (137, 164)
+ {128, { 0, 0, 0}}, // (138, 164)
+ {128, { 0, 0, 0}}, // (139, 164)
+ {128, { 0, 0, 0}}, // (140, 164)
+ {128, { 0, 0, 0}}, // (141, 164)
+ {128, { 0, 0, 0}}, // (142, 164)
+ {128, { 0, 0, 0}}, // (143, 164)
+ {128, { 0, 0, 0}}, // (144, 164)
+ {128, { 0, 0, 0}}, // (145, 164)
+ {128, { 0, 0, 0}}, // (146, 164)
+ {128, { 0, 0, 0}}, // (147, 164)
+ {128, { 0, 0, 0}}, // (148, 164)
+ {128, { 0, 0, 0}}, // (149, 164)
+ {128, { 0, 0, 0}}, // (150, 164)
+ {128, { 0, 0, 0}}, // (151, 164)
+ {128, { 0, 0, 0}}, // (152, 164)
+ {128, { 0, 0, 0}}, // (153, 164)
+ {128, { 0, 0, 0}}, // (154, 164)
+ {128, { 0, 0, 0}}, // (155, 164)
+ {128, { 0, 0, 0}}, // (156, 164)
+ {128, { 0, 0, 0}}, // (157, 164)
+ {128, { 0, 0, 0}}, // (158, 164)
+ {128, { 0, 0, 0}}, // (159, 164)
+ {128, { 0, 0, 0}}, // (160, 164)
+ {128, { 0, 0, 0}}, // (161, 164)
+ {128, { 0, 0, 0}}, // (162, 164)
+ {128, { 0, 0, 0}}, // (163, 164)
+ {128, { 0, 0, 0}}, // (164, 164)
+ {128, { 0, 0, 0}}, // (165, 164)
+ {128, { 0, 0, 0}}, // (166, 164)
+ {128, { 0, 0, 0}}, // (167, 164)
+ {128, { 0, 0, 0}}, // (168, 164)
+ {128, { 0, 0, 0}}, // (169, 164)
+ {128, { 0, 0, 0}}, // (170, 164)
+ {128, { 0, 0, 0}}, // (171, 164)
+ {128, { 0, 0, 0}}, // (172, 164)
+ {128, { 0, 0, 0}}, // (173, 164)
+ {128, { 0, 0, 0}}, // (174, 164)
+ {128, { 0, 0, 0}}, // (175, 164)
+ {128, { 0, 0, 0}}, // (176, 164)
+ {128, { 0, 0, 0}}, // (177, 164)
+ {128, { 0, 0, 0}}, // (178, 164)
+ {128, { 0, 0, 0}}, // (179, 164)
+ {128, { 0, 0, 0}}, // ( 0, 165)
+ {128, { 0, 0, 0}}, // ( 1, 165)
+ {128, { 0, 0, 0}}, // ( 2, 165)
+ {128, { 0, 0, 0}}, // ( 3, 165)
+ {128, { 0, 0, 0}}, // ( 4, 165)
+ {128, { 0, 0, 0}}, // ( 5, 165)
+ {128, { 0, 0, 0}}, // ( 6, 165)
+ {128, { 0, 0, 0}}, // ( 7, 165)
+ {128, { 0, 0, 0}}, // ( 8, 165)
+ {128, { 0, 0, 0}}, // ( 9, 165)
+ {128, { 0, 0, 0}}, // ( 10, 165)
+ {128, { 0, 0, 0}}, // ( 11, 165)
+ {128, { 0, 0, 0}}, // ( 12, 165)
+ {128, { 0, 0, 0}}, // ( 13, 165)
+ {128, { 0, 0, 0}}, // ( 14, 165)
+ {128, { 0, 0, 0}}, // ( 15, 165)
+ {128, { 0, 0, 0}}, // ( 16, 165)
+ {128, { 0, 0, 0}}, // ( 17, 165)
+ {128, { 0, 0, 0}}, // ( 18, 165)
+ {128, { 0, 0, 0}}, // ( 19, 165)
+ {128, { 0, 0, 0}}, // ( 20, 165)
+ {128, { 0, 0, 0}}, // ( 21, 165)
+ {128, { 0, 0, 0}}, // ( 22, 165)
+ {128, { 0, 0, 0}}, // ( 23, 165)
+ {128, { 0, 0, 0}}, // ( 24, 165)
+ {128, { 0, 0, 0}}, // ( 25, 165)
+ {128, { 0, 0, 0}}, // ( 26, 165)
+ {128, { 0, 0, 0}}, // ( 27, 165)
+ {128, { 0, 0, 0}}, // ( 28, 165)
+ {128, { 0, 0, 0}}, // ( 29, 165)
+ {128, { 0, 0, 0}}, // ( 30, 165)
+ {128, { 0, 0, 0}}, // ( 31, 165)
+ {128, { 0, 0, 0}}, // ( 32, 165)
+ {128, { 0, 0, 0}}, // ( 33, 165)
+ {128, { 0, 0, 0}}, // ( 34, 165)
+ {128, { 0, 0, 0}}, // ( 35, 165)
+ {128, { 0, 0, 0}}, // ( 36, 165)
+ {128, { 0, 0, 0}}, // ( 37, 165)
+ {128, { 0, 0, 0}}, // ( 38, 165)
+ {128, { 0, 0, 0}}, // ( 39, 165)
+ {128, { 0, 0, 0}}, // ( 40, 165)
+ {128, { 0, 0, 0}}, // ( 41, 165)
+ {128, { 0, 0, 0}}, // ( 42, 165)
+ {128, { 0, 0, 0}}, // ( 43, 165)
+ { 85, { 0, 0, 0}}, // ( 44, 165)
+ { 15, { 0, 0, 0}}, // ( 45, 165)
+ { 0, { 0, 0, 0}}, // ( 46, 165)
+ { 0, { 0, 0, 0}}, // ( 47, 165)
+ { 0, { 0, 0, 0}}, // ( 48, 165)
+ { 0, { 0, 0, 0}}, // ( 49, 165)
+ { 0, { 0, 0, 0}}, // ( 50, 165)
+ { 0, { 0, 0, 0}}, // ( 51, 165)
+ { 0, { 0, 0, 0}}, // ( 52, 165)
+ { 0, { 0, 0, 0}}, // ( 53, 165)
+ { 0, { 0, 0, 0}}, // ( 54, 165)
+ { 0, { 0, 0, 0}}, // ( 55, 165)
+ { 0, { 0, 0, 0}}, // ( 56, 165)
+ { 0, { 0, 0, 0}}, // ( 57, 165)
+ { 0, { 0, 0, 0}}, // ( 58, 165)
+ { 0, { 0, 0, 0}}, // ( 59, 165)
+ { 0, { 0, 0, 0}}, // ( 60, 165)
+ { 0, { 0, 0, 0}}, // ( 61, 165)
+ { 0, { 0, 0, 0}}, // ( 62, 165)
+ { 0, { 0, 0, 0}}, // ( 63, 165)
+ { 0, { 0, 0, 0}}, // ( 64, 165)
+ { 0, { 0, 0, 0}}, // ( 65, 165)
+ { 0, { 0, 0, 0}}, // ( 66, 165)
+ { 0, { 0, 0, 0}}, // ( 67, 165)
+ { 0, { 0, 0, 0}}, // ( 68, 165)
+ { 0, { 0, 0, 0}}, // ( 69, 165)
+ { 0, { 0, 0, 0}}, // ( 70, 165)
+ { 0, { 0, 0, 0}}, // ( 71, 165)
+ { 0, { 0, 0, 0}}, // ( 72, 165)
+ { 0, { 0, 0, 0}}, // ( 73, 165)
+ { 0, { 0, 0, 0}}, // ( 74, 165)
+ { 0, { 0, 0, 0}}, // ( 75, 165)
+ { 0, { 0, 0, 0}}, // ( 76, 165)
+ { 0, { 0, 0, 0}}, // ( 77, 165)
+ { 0, { 0, 0, 0}}, // ( 78, 165)
+ { 0, { 0, 0, 0}}, // ( 79, 165)
+ { 0, { 0, 0, 0}}, // ( 80, 165)
+ { 0, { 0, 0, 0}}, // ( 81, 165)
+ { 0, { 0, 0, 0}}, // ( 82, 165)
+ { 0, { 0, 0, 0}}, // ( 83, 165)
+ { 0, { 0, 0, 0}}, // ( 84, 165)
+ { 0, { 0, 0, 0}}, // ( 85, 165)
+ { 0, { 0, 0, 0}}, // ( 86, 165)
+ { 0, { 0, 0, 0}}, // ( 87, 165)
+ { 0, { 0, 0, 0}}, // ( 88, 165)
+ { 0, { 0, 0, 0}}, // ( 89, 165)
+ { 0, { 0, 0, 0}}, // ( 90, 165)
+ { 0, { 0, 0, 0}}, // ( 91, 165)
+ { 0, { 0, 0, 0}}, // ( 92, 165)
+ { 0, { 0, 0, 0}}, // ( 93, 165)
+ { 0, { 0, 0, 0}}, // ( 94, 165)
+ { 0, { 0, 0, 0}}, // ( 95, 165)
+ { 0, { 0, 0, 0}}, // ( 96, 165)
+ { 0, { 0, 0, 0}}, // ( 97, 165)
+ { 0, { 0, 0, 0}}, // ( 98, 165)
+ { 0, { 0, 0, 0}}, // ( 99, 165)
+ { 0, { 0, 0, 0}}, // (100, 165)
+ { 0, { 0, 0, 0}}, // (101, 165)
+ { 0, { 0, 0, 0}}, // (102, 165)
+ { 0, { 0, 0, 0}}, // (103, 165)
+ { 0, { 0, 0, 0}}, // (104, 165)
+ { 0, { 0, 0, 0}}, // (105, 165)
+ { 0, { 0, 0, 0}}, // (106, 165)
+ { 0, { 0, 0, 0}}, // (107, 165)
+ { 0, { 0, 0, 0}}, // (108, 165)
+ { 0, { 0, 0, 0}}, // (109, 165)
+ { 0, { 0, 0, 0}}, // (110, 165)
+ { 0, { 0, 0, 0}}, // (111, 165)
+ { 0, { 0, 0, 0}}, // (112, 165)
+ { 0, { 0, 0, 0}}, // (113, 165)
+ { 0, { 0, 0, 0}}, // (114, 165)
+ { 0, { 0, 0, 0}}, // (115, 165)
+ { 0, { 0, 0, 0}}, // (116, 165)
+ { 0, { 0, 0, 0}}, // (117, 165)
+ { 0, { 0, 0, 0}}, // (118, 165)
+ { 0, { 0, 0, 0}}, // (119, 165)
+ { 0, { 0, 0, 0}}, // (120, 165)
+ { 0, { 0, 0, 0}}, // (121, 165)
+ { 0, { 0, 0, 0}}, // (122, 165)
+ { 0, { 0, 0, 0}}, // (123, 165)
+ { 0, { 0, 0, 0}}, // (124, 165)
+ { 0, { 0, 0, 0}}, // (125, 165)
+ { 0, { 0, 0, 0}}, // (126, 165)
+ { 0, { 0, 0, 0}}, // (127, 165)
+ { 0, { 0, 0, 0}}, // (128, 165)
+ { 0, { 0, 0, 0}}, // (129, 165)
+ { 0, { 0, 0, 0}}, // (130, 165)
+ { 0, { 0, 0, 0}}, // (131, 165)
+ { 0, { 0, 0, 0}}, // (132, 165)
+ { 0, { 0, 0, 0}}, // (133, 165)
+ { 15, { 0, 0, 0}}, // (134, 165)
+ { 85, { 0, 0, 0}}, // (135, 165)
+ {128, { 0, 0, 0}}, // (136, 165)
+ {128, { 0, 0, 0}}, // (137, 165)
+ {128, { 0, 0, 0}}, // (138, 165)
+ {128, { 0, 0, 0}}, // (139, 165)
+ {128, { 0, 0, 0}}, // (140, 165)
+ {128, { 0, 0, 0}}, // (141, 165)
+ {128, { 0, 0, 0}}, // (142, 165)
+ {128, { 0, 0, 0}}, // (143, 165)
+ {128, { 0, 0, 0}}, // (144, 165)
+ {128, { 0, 0, 0}}, // (145, 165)
+ {128, { 0, 0, 0}}, // (146, 165)
+ {128, { 0, 0, 0}}, // (147, 165)
+ {128, { 0, 0, 0}}, // (148, 165)
+ {128, { 0, 0, 0}}, // (149, 165)
+ {128, { 0, 0, 0}}, // (150, 165)
+ {128, { 0, 0, 0}}, // (151, 165)
+ {128, { 0, 0, 0}}, // (152, 165)
+ {128, { 0, 0, 0}}, // (153, 165)
+ {128, { 0, 0, 0}}, // (154, 165)
+ {128, { 0, 0, 0}}, // (155, 165)
+ {128, { 0, 0, 0}}, // (156, 165)
+ {128, { 0, 0, 0}}, // (157, 165)
+ {128, { 0, 0, 0}}, // (158, 165)
+ {128, { 0, 0, 0}}, // (159, 165)
+ {128, { 0, 0, 0}}, // (160, 165)
+ {128, { 0, 0, 0}}, // (161, 165)
+ {128, { 0, 0, 0}}, // (162, 165)
+ {128, { 0, 0, 0}}, // (163, 165)
+ {128, { 0, 0, 0}}, // (164, 165)
+ {128, { 0, 0, 0}}, // (165, 165)
+ {128, { 0, 0, 0}}, // (166, 165)
+ {128, { 0, 0, 0}}, // (167, 165)
+ {128, { 0, 0, 0}}, // (168, 165)
+ {128, { 0, 0, 0}}, // (169, 165)
+ {128, { 0, 0, 0}}, // (170, 165)
+ {128, { 0, 0, 0}}, // (171, 165)
+ {128, { 0, 0, 0}}, // (172, 165)
+ {128, { 0, 0, 0}}, // (173, 165)
+ {128, { 0, 0, 0}}, // (174, 165)
+ {128, { 0, 0, 0}}, // (175, 165)
+ {128, { 0, 0, 0}}, // (176, 165)
+ {128, { 0, 0, 0}}, // (177, 165)
+ {128, { 0, 0, 0}}, // (178, 165)
+ {128, { 0, 0, 0}}, // (179, 165)
+ {128, { 0, 0, 0}}, // ( 0, 166)
+ {128, { 0, 0, 0}}, // ( 1, 166)
+ {128, { 0, 0, 0}}, // ( 2, 166)
+ {128, { 0, 0, 0}}, // ( 3, 166)
+ {128, { 0, 0, 0}}, // ( 4, 166)
+ {128, { 0, 0, 0}}, // ( 5, 166)
+ {128, { 0, 0, 0}}, // ( 6, 166)
+ {128, { 0, 0, 0}}, // ( 7, 166)
+ {128, { 0, 0, 0}}, // ( 8, 166)
+ {128, { 0, 0, 0}}, // ( 9, 166)
+ {128, { 0, 0, 0}}, // ( 10, 166)
+ {128, { 0, 0, 0}}, // ( 11, 166)
+ {128, { 0, 0, 0}}, // ( 12, 166)
+ {128, { 0, 0, 0}}, // ( 13, 166)
+ {128, { 0, 0, 0}}, // ( 14, 166)
+ {128, { 0, 0, 0}}, // ( 15, 166)
+ {128, { 0, 0, 0}}, // ( 16, 166)
+ {128, { 0, 0, 0}}, // ( 17, 166)
+ {128, { 0, 0, 0}}, // ( 18, 166)
+ {128, { 0, 0, 0}}, // ( 19, 166)
+ {128, { 0, 0, 0}}, // ( 20, 166)
+ {128, { 0, 0, 0}}, // ( 21, 166)
+ {128, { 0, 0, 0}}, // ( 22, 166)
+ {128, { 0, 0, 0}}, // ( 23, 166)
+ {128, { 0, 0, 0}}, // ( 24, 166)
+ {128, { 0, 0, 0}}, // ( 25, 166)
+ {128, { 0, 0, 0}}, // ( 26, 166)
+ {128, { 0, 0, 0}}, // ( 27, 166)
+ {128, { 0, 0, 0}}, // ( 28, 166)
+ {128, { 0, 0, 0}}, // ( 29, 166)
+ {128, { 0, 0, 0}}, // ( 30, 166)
+ {128, { 0, 0, 0}}, // ( 31, 166)
+ {128, { 0, 0, 0}}, // ( 32, 166)
+ {128, { 0, 0, 0}}, // ( 33, 166)
+ {128, { 0, 0, 0}}, // ( 34, 166)
+ {128, { 0, 0, 0}}, // ( 35, 166)
+ {128, { 0, 0, 0}}, // ( 36, 166)
+ {128, { 0, 0, 0}}, // ( 37, 166)
+ {128, { 0, 0, 0}}, // ( 38, 166)
+ {128, { 0, 0, 0}}, // ( 39, 166)
+ {128, { 0, 0, 0}}, // ( 40, 166)
+ {128, { 0, 0, 0}}, // ( 41, 166)
+ {128, { 0, 0, 0}}, // ( 42, 166)
+ {128, { 0, 0, 0}}, // ( 43, 166)
+ {128, { 0, 0, 0}}, // ( 44, 166)
+ {123, { 0, 0, 0}}, // ( 45, 166)
+ { 66, { 0, 0, 0}}, // ( 46, 166)
+ { 6, { 0, 0, 0}}, // ( 47, 166)
+ { 0, { 0, 0, 0}}, // ( 48, 166)
+ { 0, { 0, 0, 0}}, // ( 49, 166)
+ { 0, { 0, 0, 0}}, // ( 50, 166)
+ { 0, { 0, 0, 0}}, // ( 51, 166)
+ { 0, { 0, 0, 0}}, // ( 52, 166)
+ { 0, { 0, 0, 0}}, // ( 53, 166)
+ { 0, { 0, 0, 0}}, // ( 54, 166)
+ { 0, { 0, 0, 0}}, // ( 55, 166)
+ { 0, { 0, 0, 0}}, // ( 56, 166)
+ { 0, { 0, 0, 0}}, // ( 57, 166)
+ { 0, { 0, 0, 0}}, // ( 58, 166)
+ { 0, { 0, 0, 0}}, // ( 59, 166)
+ { 0, { 0, 0, 0}}, // ( 60, 166)
+ { 0, { 0, 0, 0}}, // ( 61, 166)
+ { 0, { 0, 0, 0}}, // ( 62, 166)
+ { 0, { 0, 0, 0}}, // ( 63, 166)
+ { 0, { 0, 0, 0}}, // ( 64, 166)
+ { 0, { 0, 0, 0}}, // ( 65, 166)
+ { 0, { 0, 0, 0}}, // ( 66, 166)
+ { 0, { 0, 0, 0}}, // ( 67, 166)
+ { 0, { 0, 0, 0}}, // ( 68, 166)
+ { 0, { 0, 0, 0}}, // ( 69, 166)
+ { 0, { 0, 0, 0}}, // ( 70, 166)
+ { 0, { 0, 0, 0}}, // ( 71, 166)
+ { 0, { 0, 0, 0}}, // ( 72, 166)
+ { 0, { 0, 0, 0}}, // ( 73, 166)
+ { 0, { 0, 0, 0}}, // ( 74, 166)
+ { 0, { 0, 0, 0}}, // ( 75, 166)
+ { 0, { 0, 0, 0}}, // ( 76, 166)
+ { 0, { 0, 0, 0}}, // ( 77, 166)
+ { 0, { 0, 0, 0}}, // ( 78, 166)
+ { 0, { 0, 0, 0}}, // ( 79, 166)
+ { 0, { 0, 0, 0}}, // ( 80, 166)
+ { 0, { 0, 0, 0}}, // ( 81, 166)
+ { 0, { 0, 0, 0}}, // ( 82, 166)
+ { 0, { 0, 0, 0}}, // ( 83, 166)
+ { 0, { 0, 0, 0}}, // ( 84, 166)
+ { 0, { 0, 0, 0}}, // ( 85, 166)
+ { 0, { 0, 0, 0}}, // ( 86, 166)
+ { 0, { 0, 0, 0}}, // ( 87, 166)
+ { 0, { 0, 0, 0}}, // ( 88, 166)
+ { 0, { 0, 0, 0}}, // ( 89, 166)
+ { 0, { 0, 0, 0}}, // ( 90, 166)
+ { 0, { 0, 0, 0}}, // ( 91, 166)
+ { 0, { 0, 0, 0}}, // ( 92, 166)
+ { 0, { 0, 0, 0}}, // ( 93, 166)
+ { 0, { 0, 0, 0}}, // ( 94, 166)
+ { 0, { 0, 0, 0}}, // ( 95, 166)
+ { 0, { 0, 0, 0}}, // ( 96, 166)
+ { 0, { 0, 0, 0}}, // ( 97, 166)
+ { 0, { 0, 0, 0}}, // ( 98, 166)
+ { 0, { 0, 0, 0}}, // ( 99, 166)
+ { 0, { 0, 0, 0}}, // (100, 166)
+ { 0, { 0, 0, 0}}, // (101, 166)
+ { 0, { 0, 0, 0}}, // (102, 166)
+ { 0, { 0, 0, 0}}, // (103, 166)
+ { 0, { 0, 0, 0}}, // (104, 166)
+ { 0, { 0, 0, 0}}, // (105, 166)
+ { 0, { 0, 0, 0}}, // (106, 166)
+ { 0, { 0, 0, 0}}, // (107, 166)
+ { 0, { 0, 0, 0}}, // (108, 166)
+ { 0, { 0, 0, 0}}, // (109, 166)
+ { 0, { 0, 0, 0}}, // (110, 166)
+ { 0, { 0, 0, 0}}, // (111, 166)
+ { 0, { 0, 0, 0}}, // (112, 166)
+ { 0, { 0, 0, 0}}, // (113, 166)
+ { 0, { 0, 0, 0}}, // (114, 166)
+ { 0, { 0, 0, 0}}, // (115, 166)
+ { 0, { 0, 0, 0}}, // (116, 166)
+ { 0, { 0, 0, 0}}, // (117, 166)
+ { 0, { 0, 0, 0}}, // (118, 166)
+ { 0, { 0, 0, 0}}, // (119, 166)
+ { 0, { 0, 0, 0}}, // (120, 166)
+ { 0, { 0, 0, 0}}, // (121, 166)
+ { 0, { 0, 0, 0}}, // (122, 166)
+ { 0, { 0, 0, 0}}, // (123, 166)
+ { 0, { 0, 0, 0}}, // (124, 166)
+ { 0, { 0, 0, 0}}, // (125, 166)
+ { 0, { 0, 0, 0}}, // (126, 166)
+ { 0, { 0, 0, 0}}, // (127, 166)
+ { 0, { 0, 0, 0}}, // (128, 166)
+ { 0, { 0, 0, 0}}, // (129, 166)
+ { 0, { 0, 0, 0}}, // (130, 166)
+ { 0, { 0, 0, 0}}, // (131, 166)
+ { 6, { 0, 0, 0}}, // (132, 166)
+ { 66, { 0, 0, 0}}, // (133, 166)
+ {123, { 0, 0, 0}}, // (134, 166)
+ {128, { 0, 0, 0}}, // (135, 166)
+ {128, { 0, 0, 0}}, // (136, 166)
+ {128, { 0, 0, 0}}, // (137, 166)
+ {128, { 0, 0, 0}}, // (138, 166)
+ {128, { 0, 0, 0}}, // (139, 166)
+ {128, { 0, 0, 0}}, // (140, 166)
+ {128, { 0, 0, 0}}, // (141, 166)
+ {128, { 0, 0, 0}}, // (142, 166)
+ {128, { 0, 0, 0}}, // (143, 166)
+ {128, { 0, 0, 0}}, // (144, 166)
+ {128, { 0, 0, 0}}, // (145, 166)
+ {128, { 0, 0, 0}}, // (146, 166)
+ {128, { 0, 0, 0}}, // (147, 166)
+ {128, { 0, 0, 0}}, // (148, 166)
+ {128, { 0, 0, 0}}, // (149, 166)
+ {128, { 0, 0, 0}}, // (150, 166)
+ {128, { 0, 0, 0}}, // (151, 166)
+ {128, { 0, 0, 0}}, // (152, 166)
+ {128, { 0, 0, 0}}, // (153, 166)
+ {128, { 0, 0, 0}}, // (154, 166)
+ {128, { 0, 0, 0}}, // (155, 166)
+ {128, { 0, 0, 0}}, // (156, 166)
+ {128, { 0, 0, 0}}, // (157, 166)
+ {128, { 0, 0, 0}}, // (158, 166)
+ {128, { 0, 0, 0}}, // (159, 166)
+ {128, { 0, 0, 0}}, // (160, 166)
+ {128, { 0, 0, 0}}, // (161, 166)
+ {128, { 0, 0, 0}}, // (162, 166)
+ {128, { 0, 0, 0}}, // (163, 166)
+ {128, { 0, 0, 0}}, // (164, 166)
+ {128, { 0, 0, 0}}, // (165, 166)
+ {128, { 0, 0, 0}}, // (166, 166)
+ {128, { 0, 0, 0}}, // (167, 166)
+ {128, { 0, 0, 0}}, // (168, 166)
+ {128, { 0, 0, 0}}, // (169, 166)
+ {128, { 0, 0, 0}}, // (170, 166)
+ {128, { 0, 0, 0}}, // (171, 166)
+ {128, { 0, 0, 0}}, // (172, 166)
+ {128, { 0, 0, 0}}, // (173, 166)
+ {128, { 0, 0, 0}}, // (174, 166)
+ {128, { 0, 0, 0}}, // (175, 166)
+ {128, { 0, 0, 0}}, // (176, 166)
+ {128, { 0, 0, 0}}, // (177, 166)
+ {128, { 0, 0, 0}}, // (178, 166)
+ {128, { 0, 0, 0}}, // (179, 166)
+ {128, { 0, 0, 0}}, // ( 0, 167)
+ {128, { 0, 0, 0}}, // ( 1, 167)
+ {128, { 0, 0, 0}}, // ( 2, 167)
+ {128, { 0, 0, 0}}, // ( 3, 167)
+ {128, { 0, 0, 0}}, // ( 4, 167)
+ {128, { 0, 0, 0}}, // ( 5, 167)
+ {128, { 0, 0, 0}}, // ( 6, 167)
+ {128, { 0, 0, 0}}, // ( 7, 167)
+ {128, { 0, 0, 0}}, // ( 8, 167)
+ {128, { 0, 0, 0}}, // ( 9, 167)
+ {128, { 0, 0, 0}}, // ( 10, 167)
+ {128, { 0, 0, 0}}, // ( 11, 167)
+ {128, { 0, 0, 0}}, // ( 12, 167)
+ {128, { 0, 0, 0}}, // ( 13, 167)
+ {128, { 0, 0, 0}}, // ( 14, 167)
+ {128, { 0, 0, 0}}, // ( 15, 167)
+ {128, { 0, 0, 0}}, // ( 16, 167)
+ {128, { 0, 0, 0}}, // ( 17, 167)
+ {128, { 0, 0, 0}}, // ( 18, 167)
+ {128, { 0, 0, 0}}, // ( 19, 167)
+ {128, { 0, 0, 0}}, // ( 20, 167)
+ {128, { 0, 0, 0}}, // ( 21, 167)
+ {128, { 0, 0, 0}}, // ( 22, 167)
+ {128, { 0, 0, 0}}, // ( 23, 167)
+ {128, { 0, 0, 0}}, // ( 24, 167)
+ {128, { 0, 0, 0}}, // ( 25, 167)
+ {128, { 0, 0, 0}}, // ( 26, 167)
+ {128, { 0, 0, 0}}, // ( 27, 167)
+ {128, { 0, 0, 0}}, // ( 28, 167)
+ {128, { 0, 0, 0}}, // ( 29, 167)
+ {128, { 0, 0, 0}}, // ( 30, 167)
+ {128, { 0, 0, 0}}, // ( 31, 167)
+ {128, { 0, 0, 0}}, // ( 32, 167)
+ {128, { 0, 0, 0}}, // ( 33, 167)
+ {128, { 0, 0, 0}}, // ( 34, 167)
+ {128, { 0, 0, 0}}, // ( 35, 167)
+ {128, { 0, 0, 0}}, // ( 36, 167)
+ {128, { 0, 0, 0}}, // ( 37, 167)
+ {128, { 0, 0, 0}}, // ( 38, 167)
+ {128, { 0, 0, 0}}, // ( 39, 167)
+ {128, { 0, 0, 0}}, // ( 40, 167)
+ {128, { 0, 0, 0}}, // ( 41, 167)
+ {128, { 0, 0, 0}}, // ( 42, 167)
+ {128, { 0, 0, 0}}, // ( 43, 167)
+ {128, { 0, 0, 0}}, // ( 44, 167)
+ {128, { 0, 0, 0}}, // ( 45, 167)
+ {128, { 0, 0, 0}}, // ( 46, 167)
+ {115, { 0, 0, 0}}, // ( 47, 167)
+ { 51, { 0, 0, 0}}, // ( 48, 167)
+ { 2, { 0, 0, 0}}, // ( 49, 167)
+ { 0, { 0, 0, 0}}, // ( 50, 167)
+ { 0, { 0, 0, 0}}, // ( 51, 167)
+ { 0, { 0, 0, 0}}, // ( 52, 167)
+ { 0, { 0, 0, 0}}, // ( 53, 167)
+ { 0, { 0, 0, 0}}, // ( 54, 167)
+ { 0, { 0, 0, 0}}, // ( 55, 167)
+ { 0, { 0, 0, 0}}, // ( 56, 167)
+ { 0, { 0, 0, 0}}, // ( 57, 167)
+ { 0, { 0, 0, 0}}, // ( 58, 167)
+ { 0, { 0, 0, 0}}, // ( 59, 167)
+ { 0, { 0, 0, 0}}, // ( 60, 167)
+ { 0, { 0, 0, 0}}, // ( 61, 167)
+ { 0, { 0, 0, 0}}, // ( 62, 167)
+ { 0, { 0, 0, 0}}, // ( 63, 167)
+ { 0, { 0, 0, 0}}, // ( 64, 167)
+ { 0, { 0, 0, 0}}, // ( 65, 167)
+ { 0, { 0, 0, 0}}, // ( 66, 167)
+ { 0, { 0, 0, 0}}, // ( 67, 167)
+ { 0, { 0, 0, 0}}, // ( 68, 167)
+ { 0, { 0, 0, 0}}, // ( 69, 167)
+ { 0, { 0, 0, 0}}, // ( 70, 167)
+ { 0, { 0, 0, 0}}, // ( 71, 167)
+ { 0, { 0, 0, 0}}, // ( 72, 167)
+ { 0, { 0, 0, 0}}, // ( 73, 167)
+ { 0, { 0, 0, 0}}, // ( 74, 167)
+ { 0, { 0, 0, 0}}, // ( 75, 167)
+ { 0, { 0, 0, 0}}, // ( 76, 167)
+ { 0, { 0, 0, 0}}, // ( 77, 167)
+ { 0, { 0, 0, 0}}, // ( 78, 167)
+ { 0, { 0, 0, 0}}, // ( 79, 167)
+ { 0, { 0, 0, 0}}, // ( 80, 167)
+ { 0, { 0, 0, 0}}, // ( 81, 167)
+ { 0, { 0, 0, 0}}, // ( 82, 167)
+ { 0, { 0, 0, 0}}, // ( 83, 167)
+ { 0, { 0, 0, 0}}, // ( 84, 167)
+ { 0, { 0, 0, 0}}, // ( 85, 167)
+ { 0, { 0, 0, 0}}, // ( 86, 167)
+ { 0, { 0, 0, 0}}, // ( 87, 167)
+ { 0, { 0, 0, 0}}, // ( 88, 167)
+ { 0, { 0, 0, 0}}, // ( 89, 167)
+ { 0, { 0, 0, 0}}, // ( 90, 167)
+ { 0, { 0, 0, 0}}, // ( 91, 167)
+ { 0, { 0, 0, 0}}, // ( 92, 167)
+ { 0, { 0, 0, 0}}, // ( 93, 167)
+ { 0, { 0, 0, 0}}, // ( 94, 167)
+ { 0, { 0, 0, 0}}, // ( 95, 167)
+ { 0, { 0, 0, 0}}, // ( 96, 167)
+ { 0, { 0, 0, 0}}, // ( 97, 167)
+ { 0, { 0, 0, 0}}, // ( 98, 167)
+ { 0, { 0, 0, 0}}, // ( 99, 167)
+ { 0, { 0, 0, 0}}, // (100, 167)
+ { 0, { 0, 0, 0}}, // (101, 167)
+ { 0, { 0, 0, 0}}, // (102, 167)
+ { 0, { 0, 0, 0}}, // (103, 167)
+ { 0, { 0, 0, 0}}, // (104, 167)
+ { 0, { 0, 0, 0}}, // (105, 167)
+ { 0, { 0, 0, 0}}, // (106, 167)
+ { 0, { 0, 0, 0}}, // (107, 167)
+ { 0, { 0, 0, 0}}, // (108, 167)
+ { 0, { 0, 0, 0}}, // (109, 167)
+ { 0, { 0, 0, 0}}, // (110, 167)
+ { 0, { 0, 0, 0}}, // (111, 167)
+ { 0, { 0, 0, 0}}, // (112, 167)
+ { 0, { 0, 0, 0}}, // (113, 167)
+ { 0, { 0, 0, 0}}, // (114, 167)
+ { 0, { 0, 0, 0}}, // (115, 167)
+ { 0, { 0, 0, 0}}, // (116, 167)
+ { 0, { 0, 0, 0}}, // (117, 167)
+ { 0, { 0, 0, 0}}, // (118, 167)
+ { 0, { 0, 0, 0}}, // (119, 167)
+ { 0, { 0, 0, 0}}, // (120, 167)
+ { 0, { 0, 0, 0}}, // (121, 167)
+ { 0, { 0, 0, 0}}, // (122, 167)
+ { 0, { 0, 0, 0}}, // (123, 167)
+ { 0, { 0, 0, 0}}, // (124, 167)
+ { 0, { 0, 0, 0}}, // (125, 167)
+ { 0, { 0, 0, 0}}, // (126, 167)
+ { 0, { 0, 0, 0}}, // (127, 167)
+ { 0, { 0, 0, 0}}, // (128, 167)
+ { 0, { 0, 0, 0}}, // (129, 167)
+ { 2, { 0, 0, 0}}, // (130, 167)
+ { 50, { 0, 0, 0}}, // (131, 167)
+ {115, { 0, 0, 0}}, // (132, 167)
+ {128, { 0, 0, 0}}, // (133, 167)
+ {128, { 0, 0, 0}}, // (134, 167)
+ {128, { 0, 0, 0}}, // (135, 167)
+ {128, { 0, 0, 0}}, // (136, 167)
+ {128, { 0, 0, 0}}, // (137, 167)
+ {128, { 0, 0, 0}}, // (138, 167)
+ {128, { 0, 0, 0}}, // (139, 167)
+ {128, { 0, 0, 0}}, // (140, 167)
+ {128, { 0, 0, 0}}, // (141, 167)
+ {128, { 0, 0, 0}}, // (142, 167)
+ {128, { 0, 0, 0}}, // (143, 167)
+ {128, { 0, 0, 0}}, // (144, 167)
+ {128, { 0, 0, 0}}, // (145, 167)
+ {128, { 0, 0, 0}}, // (146, 167)
+ {128, { 0, 0, 0}}, // (147, 167)
+ {128, { 0, 0, 0}}, // (148, 167)
+ {128, { 0, 0, 0}}, // (149, 167)
+ {128, { 0, 0, 0}}, // (150, 167)
+ {128, { 0, 0, 0}}, // (151, 167)
+ {128, { 0, 0, 0}}, // (152, 167)
+ {128, { 0, 0, 0}}, // (153, 167)
+ {128, { 0, 0, 0}}, // (154, 167)
+ {128, { 0, 0, 0}}, // (155, 167)
+ {128, { 0, 0, 0}}, // (156, 167)
+ {128, { 0, 0, 0}}, // (157, 167)
+ {128, { 0, 0, 0}}, // (158, 167)
+ {128, { 0, 0, 0}}, // (159, 167)
+ {128, { 0, 0, 0}}, // (160, 167)
+ {128, { 0, 0, 0}}, // (161, 167)
+ {128, { 0, 0, 0}}, // (162, 167)
+ {128, { 0, 0, 0}}, // (163, 167)
+ {128, { 0, 0, 0}}, // (164, 167)
+ {128, { 0, 0, 0}}, // (165, 167)
+ {128, { 0, 0, 0}}, // (166, 167)
+ {128, { 0, 0, 0}}, // (167, 167)
+ {128, { 0, 0, 0}}, // (168, 167)
+ {128, { 0, 0, 0}}, // (169, 167)
+ {128, { 0, 0, 0}}, // (170, 167)
+ {128, { 0, 0, 0}}, // (171, 167)
+ {128, { 0, 0, 0}}, // (172, 167)
+ {128, { 0, 0, 0}}, // (173, 167)
+ {128, { 0, 0, 0}}, // (174, 167)
+ {128, { 0, 0, 0}}, // (175, 167)
+ {128, { 0, 0, 0}}, // (176, 167)
+ {128, { 0, 0, 0}}, // (177, 167)
+ {128, { 0, 0, 0}}, // (178, 167)
+ {128, { 0, 0, 0}}, // (179, 167)
+ {128, { 0, 0, 0}}, // ( 0, 168)
+ {128, { 0, 0, 0}}, // ( 1, 168)
+ {128, { 0, 0, 0}}, // ( 2, 168)
+ {128, { 0, 0, 0}}, // ( 3, 168)
+ {128, { 0, 0, 0}}, // ( 4, 168)
+ {128, { 0, 0, 0}}, // ( 5, 168)
+ {128, { 0, 0, 0}}, // ( 6, 168)
+ {128, { 0, 0, 0}}, // ( 7, 168)
+ {128, { 0, 0, 0}}, // ( 8, 168)
+ {128, { 0, 0, 0}}, // ( 9, 168)
+ {128, { 0, 0, 0}}, // ( 10, 168)
+ {128, { 0, 0, 0}}, // ( 11, 168)
+ {128, { 0, 0, 0}}, // ( 12, 168)
+ {128, { 0, 0, 0}}, // ( 13, 168)
+ {128, { 0, 0, 0}}, // ( 14, 168)
+ {128, { 0, 0, 0}}, // ( 15, 168)
+ {128, { 0, 0, 0}}, // ( 16, 168)
+ {128, { 0, 0, 0}}, // ( 17, 168)
+ {128, { 0, 0, 0}}, // ( 18, 168)
+ {128, { 0, 0, 0}}, // ( 19, 168)
+ {128, { 0, 0, 0}}, // ( 20, 168)
+ {128, { 0, 0, 0}}, // ( 21, 168)
+ {128, { 0, 0, 0}}, // ( 22, 168)
+ {128, { 0, 0, 0}}, // ( 23, 168)
+ {128, { 0, 0, 0}}, // ( 24, 168)
+ {128, { 0, 0, 0}}, // ( 25, 168)
+ {128, { 0, 0, 0}}, // ( 26, 168)
+ {128, { 0, 0, 0}}, // ( 27, 168)
+ {128, { 0, 0, 0}}, // ( 28, 168)
+ {128, { 0, 0, 0}}, // ( 29, 168)
+ {128, { 0, 0, 0}}, // ( 30, 168)
+ {128, { 0, 0, 0}}, // ( 31, 168)
+ {128, { 0, 0, 0}}, // ( 32, 168)
+ {128, { 0, 0, 0}}, // ( 33, 168)
+ {128, { 0, 0, 0}}, // ( 34, 168)
+ {128, { 0, 0, 0}}, // ( 35, 168)
+ {128, { 0, 0, 0}}, // ( 36, 168)
+ {128, { 0, 0, 0}}, // ( 37, 168)
+ {128, { 0, 0, 0}}, // ( 38, 168)
+ {128, { 0, 0, 0}}, // ( 39, 168)
+ {128, { 0, 0, 0}}, // ( 40, 168)
+ {128, { 0, 0, 0}}, // ( 41, 168)
+ {128, { 0, 0, 0}}, // ( 42, 168)
+ {128, { 0, 0, 0}}, // ( 43, 168)
+ {128, { 0, 0, 0}}, // ( 44, 168)
+ {128, { 0, 0, 0}}, // ( 45, 168)
+ {128, { 0, 0, 0}}, // ( 46, 168)
+ {128, { 0, 0, 0}}, // ( 47, 168)
+ {128, { 0, 0, 0}}, // ( 48, 168)
+ {110, { 0, 0, 0}}, // ( 49, 168)
+ { 47, { 0, 0, 0}}, // ( 50, 168)
+ { 2, { 0, 0, 0}}, // ( 51, 168)
+ { 0, { 0, 0, 0}}, // ( 52, 168)
+ { 0, { 0, 0, 0}}, // ( 53, 168)
+ { 0, { 0, 0, 0}}, // ( 54, 168)
+ { 0, { 0, 0, 0}}, // ( 55, 168)
+ { 0, { 0, 0, 0}}, // ( 56, 168)
+ { 0, { 0, 0, 0}}, // ( 57, 168)
+ { 0, { 0, 0, 0}}, // ( 58, 168)
+ { 0, { 0, 0, 0}}, // ( 59, 168)
+ { 0, { 0, 0, 0}}, // ( 60, 168)
+ { 0, { 0, 0, 0}}, // ( 61, 168)
+ { 0, { 0, 0, 0}}, // ( 62, 168)
+ { 0, { 0, 0, 0}}, // ( 63, 168)
+ { 0, { 0, 0, 0}}, // ( 64, 168)
+ { 0, { 0, 0, 0}}, // ( 65, 168)
+ { 0, { 0, 0, 0}}, // ( 66, 168)
+ { 0, { 0, 0, 0}}, // ( 67, 168)
+ { 0, { 0, 0, 0}}, // ( 68, 168)
+ { 0, { 0, 0, 0}}, // ( 69, 168)
+ { 0, { 0, 0, 0}}, // ( 70, 168)
+ { 0, { 0, 0, 0}}, // ( 71, 168)
+ { 0, { 0, 0, 0}}, // ( 72, 168)
+ { 0, { 0, 0, 0}}, // ( 73, 168)
+ { 0, { 0, 0, 0}}, // ( 74, 168)
+ { 0, { 0, 0, 0}}, // ( 75, 168)
+ { 0, { 0, 0, 0}}, // ( 76, 168)
+ { 0, { 0, 0, 0}}, // ( 77, 168)
+ { 0, { 0, 0, 0}}, // ( 78, 168)
+ { 0, { 0, 0, 0}}, // ( 79, 168)
+ { 0, { 0, 0, 0}}, // ( 80, 168)
+ { 0, { 0, 0, 0}}, // ( 81, 168)
+ { 0, { 0, 0, 0}}, // ( 82, 168)
+ { 0, { 0, 0, 0}}, // ( 83, 168)
+ { 0, { 0, 0, 0}}, // ( 84, 168)
+ { 0, { 0, 0, 0}}, // ( 85, 168)
+ { 0, { 0, 0, 0}}, // ( 86, 168)
+ { 0, { 0, 0, 0}}, // ( 87, 168)
+ { 0, { 0, 0, 0}}, // ( 88, 168)
+ { 0, { 0, 0, 0}}, // ( 89, 168)
+ { 0, { 0, 0, 0}}, // ( 90, 168)
+ { 0, { 0, 0, 0}}, // ( 91, 168)
+ { 0, { 0, 0, 0}}, // ( 92, 168)
+ { 0, { 0, 0, 0}}, // ( 93, 168)
+ { 0, { 0, 0, 0}}, // ( 94, 168)
+ { 0, { 0, 0, 0}}, // ( 95, 168)
+ { 0, { 0, 0, 0}}, // ( 96, 168)
+ { 0, { 0, 0, 0}}, // ( 97, 168)
+ { 0, { 0, 0, 0}}, // ( 98, 168)
+ { 0, { 0, 0, 0}}, // ( 99, 168)
+ { 0, { 0, 0, 0}}, // (100, 168)
+ { 0, { 0, 0, 0}}, // (101, 168)
+ { 0, { 0, 0, 0}}, // (102, 168)
+ { 0, { 0, 0, 0}}, // (103, 168)
+ { 0, { 0, 0, 0}}, // (104, 168)
+ { 0, { 0, 0, 0}}, // (105, 168)
+ { 0, { 0, 0, 0}}, // (106, 168)
+ { 0, { 0, 0, 0}}, // (107, 168)
+ { 0, { 0, 0, 0}}, // (108, 168)
+ { 0, { 0, 0, 0}}, // (109, 168)
+ { 0, { 0, 0, 0}}, // (110, 168)
+ { 0, { 0, 0, 0}}, // (111, 168)
+ { 0, { 0, 0, 0}}, // (112, 168)
+ { 0, { 0, 0, 0}}, // (113, 168)
+ { 0, { 0, 0, 0}}, // (114, 168)
+ { 0, { 0, 0, 0}}, // (115, 168)
+ { 0, { 0, 0, 0}}, // (116, 168)
+ { 0, { 0, 0, 0}}, // (117, 168)
+ { 0, { 0, 0, 0}}, // (118, 168)
+ { 0, { 0, 0, 0}}, // (119, 168)
+ { 0, { 0, 0, 0}}, // (120, 168)
+ { 0, { 0, 0, 0}}, // (121, 168)
+ { 0, { 0, 0, 0}}, // (122, 168)
+ { 0, { 0, 0, 0}}, // (123, 168)
+ { 0, { 0, 0, 0}}, // (124, 168)
+ { 0, { 0, 0, 0}}, // (125, 168)
+ { 0, { 0, 0, 0}}, // (126, 168)
+ { 0, { 0, 0, 0}}, // (127, 168)
+ { 2, { 0, 0, 0}}, // (128, 168)
+ { 47, { 0, 0, 0}}, // (129, 168)
+ {110, { 0, 0, 0}}, // (130, 168)
+ {128, { 0, 0, 0}}, // (131, 168)
+ {128, { 0, 0, 0}}, // (132, 168)
+ {128, { 0, 0, 0}}, // (133, 168)
+ {128, { 0, 0, 0}}, // (134, 168)
+ {128, { 0, 0, 0}}, // (135, 168)
+ {128, { 0, 0, 0}}, // (136, 168)
+ {128, { 0, 0, 0}}, // (137, 168)
+ {128, { 0, 0, 0}}, // (138, 168)
+ {128, { 0, 0, 0}}, // (139, 168)
+ {128, { 0, 0, 0}}, // (140, 168)
+ {128, { 0, 0, 0}}, // (141, 168)
+ {128, { 0, 0, 0}}, // (142, 168)
+ {128, { 0, 0, 0}}, // (143, 168)
+ {128, { 0, 0, 0}}, // (144, 168)
+ {128, { 0, 0, 0}}, // (145, 168)
+ {128, { 0, 0, 0}}, // (146, 168)
+ {128, { 0, 0, 0}}, // (147, 168)
+ {128, { 0, 0, 0}}, // (148, 168)
+ {128, { 0, 0, 0}}, // (149, 168)
+ {128, { 0, 0, 0}}, // (150, 168)
+ {128, { 0, 0, 0}}, // (151, 168)
+ {128, { 0, 0, 0}}, // (152, 168)
+ {128, { 0, 0, 0}}, // (153, 168)
+ {128, { 0, 0, 0}}, // (154, 168)
+ {128, { 0, 0, 0}}, // (155, 168)
+ {128, { 0, 0, 0}}, // (156, 168)
+ {128, { 0, 0, 0}}, // (157, 168)
+ {128, { 0, 0, 0}}, // (158, 168)
+ {128, { 0, 0, 0}}, // (159, 168)
+ {128, { 0, 0, 0}}, // (160, 168)
+ {128, { 0, 0, 0}}, // (161, 168)
+ {128, { 0, 0, 0}}, // (162, 168)
+ {128, { 0, 0, 0}}, // (163, 168)
+ {128, { 0, 0, 0}}, // (164, 168)
+ {128, { 0, 0, 0}}, // (165, 168)
+ {128, { 0, 0, 0}}, // (166, 168)
+ {128, { 0, 0, 0}}, // (167, 168)
+ {128, { 0, 0, 0}}, // (168, 168)
+ {128, { 0, 0, 0}}, // (169, 168)
+ {128, { 0, 0, 0}}, // (170, 168)
+ {128, { 0, 0, 0}}, // (171, 168)
+ {128, { 0, 0, 0}}, // (172, 168)
+ {128, { 0, 0, 0}}, // (173, 168)
+ {128, { 0, 0, 0}}, // (174, 168)
+ {128, { 0, 0, 0}}, // (175, 168)
+ {128, { 0, 0, 0}}, // (176, 168)
+ {128, { 0, 0, 0}}, // (177, 168)
+ {128, { 0, 0, 0}}, // (178, 168)
+ {128, { 0, 0, 0}}, // (179, 168)
+ {128, { 0, 0, 0}}, // ( 0, 169)
+ {128, { 0, 0, 0}}, // ( 1, 169)
+ {128, { 0, 0, 0}}, // ( 2, 169)
+ {128, { 0, 0, 0}}, // ( 3, 169)
+ {128, { 0, 0, 0}}, // ( 4, 169)
+ {128, { 0, 0, 0}}, // ( 5, 169)
+ {128, { 0, 0, 0}}, // ( 6, 169)
+ {128, { 0, 0, 0}}, // ( 7, 169)
+ {128, { 0, 0, 0}}, // ( 8, 169)
+ {128, { 0, 0, 0}}, // ( 9, 169)
+ {128, { 0, 0, 0}}, // ( 10, 169)
+ {128, { 0, 0, 0}}, // ( 11, 169)
+ {128, { 0, 0, 0}}, // ( 12, 169)
+ {128, { 0, 0, 0}}, // ( 13, 169)
+ {128, { 0, 0, 0}}, // ( 14, 169)
+ {128, { 0, 0, 0}}, // ( 15, 169)
+ {128, { 0, 0, 0}}, // ( 16, 169)
+ {128, { 0, 0, 0}}, // ( 17, 169)
+ {128, { 0, 0, 0}}, // ( 18, 169)
+ {128, { 0, 0, 0}}, // ( 19, 169)
+ {128, { 0, 0, 0}}, // ( 20, 169)
+ {128, { 0, 0, 0}}, // ( 21, 169)
+ {128, { 0, 0, 0}}, // ( 22, 169)
+ {128, { 0, 0, 0}}, // ( 23, 169)
+ {128, { 0, 0, 0}}, // ( 24, 169)
+ {128, { 0, 0, 0}}, // ( 25, 169)
+ {128, { 0, 0, 0}}, // ( 26, 169)
+ {128, { 0, 0, 0}}, // ( 27, 169)
+ {128, { 0, 0, 0}}, // ( 28, 169)
+ {128, { 0, 0, 0}}, // ( 29, 169)
+ {128, { 0, 0, 0}}, // ( 30, 169)
+ {128, { 0, 0, 0}}, // ( 31, 169)
+ {128, { 0, 0, 0}}, // ( 32, 169)
+ {128, { 0, 0, 0}}, // ( 33, 169)
+ {128, { 0, 0, 0}}, // ( 34, 169)
+ {128, { 0, 0, 0}}, // ( 35, 169)
+ {128, { 0, 0, 0}}, // ( 36, 169)
+ {128, { 0, 0, 0}}, // ( 37, 169)
+ {128, { 0, 0, 0}}, // ( 38, 169)
+ {128, { 0, 0, 0}}, // ( 39, 169)
+ {128, { 0, 0, 0}}, // ( 40, 169)
+ {128, { 0, 0, 0}}, // ( 41, 169)
+ {128, { 0, 0, 0}}, // ( 42, 169)
+ {128, { 0, 0, 0}}, // ( 43, 169)
+ {128, { 0, 0, 0}}, // ( 44, 169)
+ {128, { 0, 0, 0}}, // ( 45, 169)
+ {128, { 0, 0, 0}}, // ( 46, 169)
+ {128, { 0, 0, 0}}, // ( 47, 169)
+ {128, { 0, 0, 0}}, // ( 48, 169)
+ {128, { 0, 0, 0}}, // ( 49, 169)
+ {128, { 0, 0, 0}}, // ( 50, 169)
+ {108, { 0, 0, 0}}, // ( 51, 169)
+ { 50, { 0, 0, 0}}, // ( 52, 169)
+ { 4, { 0, 0, 0}}, // ( 53, 169)
+ { 0, { 0, 0, 0}}, // ( 54, 169)
+ { 0, { 0, 0, 0}}, // ( 55, 169)
+ { 0, { 0, 0, 0}}, // ( 56, 169)
+ { 0, { 0, 0, 0}}, // ( 57, 169)
+ { 0, { 0, 0, 0}}, // ( 58, 169)
+ { 0, { 0, 0, 0}}, // ( 59, 169)
+ { 0, { 0, 0, 0}}, // ( 60, 169)
+ { 0, { 0, 0, 0}}, // ( 61, 169)
+ { 0, { 0, 0, 0}}, // ( 62, 169)
+ { 0, { 0, 0, 0}}, // ( 63, 169)
+ { 0, { 0, 0, 0}}, // ( 64, 169)
+ { 0, { 0, 0, 0}}, // ( 65, 169)
+ { 0, { 0, 0, 0}}, // ( 66, 169)
+ { 0, { 0, 0, 0}}, // ( 67, 169)
+ { 0, { 0, 0, 0}}, // ( 68, 169)
+ { 0, { 0, 0, 0}}, // ( 69, 169)
+ { 0, { 0, 0, 0}}, // ( 70, 169)
+ { 0, { 0, 0, 0}}, // ( 71, 169)
+ { 0, { 0, 0, 0}}, // ( 72, 169)
+ { 0, { 0, 0, 0}}, // ( 73, 169)
+ { 0, { 0, 0, 0}}, // ( 74, 169)
+ { 0, { 0, 0, 0}}, // ( 75, 169)
+ { 0, { 0, 0, 0}}, // ( 76, 169)
+ { 0, { 0, 0, 0}}, // ( 77, 169)
+ { 0, { 0, 0, 0}}, // ( 78, 169)
+ { 0, { 0, 0, 0}}, // ( 79, 169)
+ { 0, { 0, 0, 0}}, // ( 80, 169)
+ { 0, { 0, 0, 0}}, // ( 81, 169)
+ { 0, { 0, 0, 0}}, // ( 82, 169)
+ { 0, { 0, 0, 0}}, // ( 83, 169)
+ { 0, { 0, 0, 0}}, // ( 84, 169)
+ { 0, { 0, 0, 0}}, // ( 85, 169)
+ { 0, { 0, 0, 0}}, // ( 86, 169)
+ { 0, { 0, 0, 0}}, // ( 87, 169)
+ { 0, { 0, 0, 0}}, // ( 88, 169)
+ { 0, { 0, 0, 0}}, // ( 89, 169)
+ { 0, { 0, 0, 0}}, // ( 90, 169)
+ { 0, { 0, 0, 0}}, // ( 91, 169)
+ { 0, { 0, 0, 0}}, // ( 92, 169)
+ { 0, { 0, 0, 0}}, // ( 93, 169)
+ { 0, { 0, 0, 0}}, // ( 94, 169)
+ { 0, { 0, 0, 0}}, // ( 95, 169)
+ { 0, { 0, 0, 0}}, // ( 96, 169)
+ { 0, { 0, 0, 0}}, // ( 97, 169)
+ { 0, { 0, 0, 0}}, // ( 98, 169)
+ { 0, { 0, 0, 0}}, // ( 99, 169)
+ { 0, { 0, 0, 0}}, // (100, 169)
+ { 0, { 0, 0, 0}}, // (101, 169)
+ { 0, { 0, 0, 0}}, // (102, 169)
+ { 0, { 0, 0, 0}}, // (103, 169)
+ { 0, { 0, 0, 0}}, // (104, 169)
+ { 0, { 0, 0, 0}}, // (105, 169)
+ { 0, { 0, 0, 0}}, // (106, 169)
+ { 0, { 0, 0, 0}}, // (107, 169)
+ { 0, { 0, 0, 0}}, // (108, 169)
+ { 0, { 0, 0, 0}}, // (109, 169)
+ { 0, { 0, 0, 0}}, // (110, 169)
+ { 0, { 0, 0, 0}}, // (111, 169)
+ { 0, { 0, 0, 0}}, // (112, 169)
+ { 0, { 0, 0, 0}}, // (113, 169)
+ { 0, { 0, 0, 0}}, // (114, 169)
+ { 0, { 0, 0, 0}}, // (115, 169)
+ { 0, { 0, 0, 0}}, // (116, 169)
+ { 0, { 0, 0, 0}}, // (117, 169)
+ { 0, { 0, 0, 0}}, // (118, 169)
+ { 0, { 0, 0, 0}}, // (119, 169)
+ { 0, { 0, 0, 0}}, // (120, 169)
+ { 0, { 0, 0, 0}}, // (121, 169)
+ { 0, { 0, 0, 0}}, // (122, 169)
+ { 0, { 0, 0, 0}}, // (123, 169)
+ { 0, { 0, 0, 0}}, // (124, 169)
+ { 0, { 0, 0, 0}}, // (125, 169)
+ { 4, { 0, 0, 0}}, // (126, 169)
+ { 50, { 0, 0, 0}}, // (127, 169)
+ {108, { 0, 0, 0}}, // (128, 169)
+ {128, { 0, 0, 0}}, // (129, 169)
+ {128, { 0, 0, 0}}, // (130, 169)
+ {128, { 0, 0, 0}}, // (131, 169)
+ {128, { 0, 0, 0}}, // (132, 169)
+ {128, { 0, 0, 0}}, // (133, 169)
+ {128, { 0, 0, 0}}, // (134, 169)
+ {128, { 0, 0, 0}}, // (135, 169)
+ {128, { 0, 0, 0}}, // (136, 169)
+ {128, { 0, 0, 0}}, // (137, 169)
+ {128, { 0, 0, 0}}, // (138, 169)
+ {128, { 0, 0, 0}}, // (139, 169)
+ {128, { 0, 0, 0}}, // (140, 169)
+ {128, { 0, 0, 0}}, // (141, 169)
+ {128, { 0, 0, 0}}, // (142, 169)
+ {128, { 0, 0, 0}}, // (143, 169)
+ {128, { 0, 0, 0}}, // (144, 169)
+ {128, { 0, 0, 0}}, // (145, 169)
+ {128, { 0, 0, 0}}, // (146, 169)
+ {128, { 0, 0, 0}}, // (147, 169)
+ {128, { 0, 0, 0}}, // (148, 169)
+ {128, { 0, 0, 0}}, // (149, 169)
+ {128, { 0, 0, 0}}, // (150, 169)
+ {128, { 0, 0, 0}}, // (151, 169)
+ {128, { 0, 0, 0}}, // (152, 169)
+ {128, { 0, 0, 0}}, // (153, 169)
+ {128, { 0, 0, 0}}, // (154, 169)
+ {128, { 0, 0, 0}}, // (155, 169)
+ {128, { 0, 0, 0}}, // (156, 169)
+ {128, { 0, 0, 0}}, // (157, 169)
+ {128, { 0, 0, 0}}, // (158, 169)
+ {128, { 0, 0, 0}}, // (159, 169)
+ {128, { 0, 0, 0}}, // (160, 169)
+ {128, { 0, 0, 0}}, // (161, 169)
+ {128, { 0, 0, 0}}, // (162, 169)
+ {128, { 0, 0, 0}}, // (163, 169)
+ {128, { 0, 0, 0}}, // (164, 169)
+ {128, { 0, 0, 0}}, // (165, 169)
+ {128, { 0, 0, 0}}, // (166, 169)
+ {128, { 0, 0, 0}}, // (167, 169)
+ {128, { 0, 0, 0}}, // (168, 169)
+ {128, { 0, 0, 0}}, // (169, 169)
+ {128, { 0, 0, 0}}, // (170, 169)
+ {128, { 0, 0, 0}}, // (171, 169)
+ {128, { 0, 0, 0}}, // (172, 169)
+ {128, { 0, 0, 0}}, // (173, 169)
+ {128, { 0, 0, 0}}, // (174, 169)
+ {128, { 0, 0, 0}}, // (175, 169)
+ {128, { 0, 0, 0}}, // (176, 169)
+ {128, { 0, 0, 0}}, // (177, 169)
+ {128, { 0, 0, 0}}, // (178, 169)
+ {128, { 0, 0, 0}}, // (179, 169)
+ {128, { 0, 0, 0}}, // ( 0, 170)
+ {128, { 0, 0, 0}}, // ( 1, 170)
+ {128, { 0, 0, 0}}, // ( 2, 170)
+ {128, { 0, 0, 0}}, // ( 3, 170)
+ {128, { 0, 0, 0}}, // ( 4, 170)
+ {128, { 0, 0, 0}}, // ( 5, 170)
+ {128, { 0, 0, 0}}, // ( 6, 170)
+ {128, { 0, 0, 0}}, // ( 7, 170)
+ {128, { 0, 0, 0}}, // ( 8, 170)
+ {128, { 0, 0, 0}}, // ( 9, 170)
+ {128, { 0, 0, 0}}, // ( 10, 170)
+ {128, { 0, 0, 0}}, // ( 11, 170)
+ {128, { 0, 0, 0}}, // ( 12, 170)
+ {128, { 0, 0, 0}}, // ( 13, 170)
+ {128, { 0, 0, 0}}, // ( 14, 170)
+ {128, { 0, 0, 0}}, // ( 15, 170)
+ {128, { 0, 0, 0}}, // ( 16, 170)
+ {128, { 0, 0, 0}}, // ( 17, 170)
+ {128, { 0, 0, 0}}, // ( 18, 170)
+ {128, { 0, 0, 0}}, // ( 19, 170)
+ {128, { 0, 0, 0}}, // ( 20, 170)
+ {128, { 0, 0, 0}}, // ( 21, 170)
+ {128, { 0, 0, 0}}, // ( 22, 170)
+ {128, { 0, 0, 0}}, // ( 23, 170)
+ {128, { 0, 0, 0}}, // ( 24, 170)
+ {128, { 0, 0, 0}}, // ( 25, 170)
+ {128, { 0, 0, 0}}, // ( 26, 170)
+ {128, { 0, 0, 0}}, // ( 27, 170)
+ {128, { 0, 0, 0}}, // ( 28, 170)
+ {128, { 0, 0, 0}}, // ( 29, 170)
+ {128, { 0, 0, 0}}, // ( 30, 170)
+ {128, { 0, 0, 0}}, // ( 31, 170)
+ {128, { 0, 0, 0}}, // ( 32, 170)
+ {128, { 0, 0, 0}}, // ( 33, 170)
+ {128, { 0, 0, 0}}, // ( 34, 170)
+ {128, { 0, 0, 0}}, // ( 35, 170)
+ {128, { 0, 0, 0}}, // ( 36, 170)
+ {128, { 0, 0, 0}}, // ( 37, 170)
+ {128, { 0, 0, 0}}, // ( 38, 170)
+ {128, { 0, 0, 0}}, // ( 39, 170)
+ {128, { 0, 0, 0}}, // ( 40, 170)
+ {128, { 0, 0, 0}}, // ( 41, 170)
+ {128, { 0, 0, 0}}, // ( 42, 170)
+ {128, { 0, 0, 0}}, // ( 43, 170)
+ {128, { 0, 0, 0}}, // ( 44, 170)
+ {128, { 0, 0, 0}}, // ( 45, 170)
+ {128, { 0, 0, 0}}, // ( 46, 170)
+ {128, { 0, 0, 0}}, // ( 47, 170)
+ {128, { 0, 0, 0}}, // ( 48, 170)
+ {128, { 0, 0, 0}}, // ( 49, 170)
+ {128, { 0, 0, 0}}, // ( 50, 170)
+ {128, { 0, 0, 0}}, // ( 51, 170)
+ {128, { 0, 0, 0}}, // ( 52, 170)
+ {116, { 0, 0, 0}}, // ( 53, 170)
+ { 61, { 0, 0, 0}}, // ( 54, 170)
+ { 9, { 0, 0, 0}}, // ( 55, 170)
+ { 0, { 0, 0, 0}}, // ( 56, 170)
+ { 0, { 0, 0, 0}}, // ( 57, 170)
+ { 0, { 0, 0, 0}}, // ( 58, 170)
+ { 0, { 0, 0, 0}}, // ( 59, 170)
+ { 0, { 0, 0, 0}}, // ( 60, 170)
+ { 0, { 0, 0, 0}}, // ( 61, 170)
+ { 0, { 0, 0, 0}}, // ( 62, 170)
+ { 0, { 0, 0, 0}}, // ( 63, 170)
+ { 0, { 0, 0, 0}}, // ( 64, 170)
+ { 0, { 0, 0, 0}}, // ( 65, 170)
+ { 0, { 0, 0, 0}}, // ( 66, 170)
+ { 0, { 0, 0, 0}}, // ( 67, 170)
+ { 0, { 0, 0, 0}}, // ( 68, 170)
+ { 0, { 0, 0, 0}}, // ( 69, 170)
+ { 0, { 0, 0, 0}}, // ( 70, 170)
+ { 0, { 0, 0, 0}}, // ( 71, 170)
+ { 0, { 0, 0, 0}}, // ( 72, 170)
+ { 0, { 0, 0, 0}}, // ( 73, 170)
+ { 0, { 0, 0, 0}}, // ( 74, 170)
+ { 0, { 0, 0, 0}}, // ( 75, 170)
+ { 0, { 0, 0, 0}}, // ( 76, 170)
+ { 0, { 0, 0, 0}}, // ( 77, 170)
+ { 0, { 0, 0, 0}}, // ( 78, 170)
+ { 0, { 0, 0, 0}}, // ( 79, 170)
+ { 0, { 0, 0, 0}}, // ( 80, 170)
+ { 0, { 0, 0, 0}}, // ( 81, 170)
+ { 0, { 0, 0, 0}}, // ( 82, 170)
+ { 0, { 0, 0, 0}}, // ( 83, 170)
+ { 0, { 0, 0, 0}}, // ( 84, 170)
+ { 0, { 0, 0, 0}}, // ( 85, 170)
+ { 0, { 0, 0, 0}}, // ( 86, 170)
+ { 0, { 0, 0, 0}}, // ( 87, 170)
+ { 0, { 0, 0, 0}}, // ( 88, 170)
+ { 0, { 0, 0, 0}}, // ( 89, 170)
+ { 0, { 0, 0, 0}}, // ( 90, 170)
+ { 0, { 0, 0, 0}}, // ( 91, 170)
+ { 0, { 0, 0, 0}}, // ( 92, 170)
+ { 0, { 0, 0, 0}}, // ( 93, 170)
+ { 0, { 0, 0, 0}}, // ( 94, 170)
+ { 0, { 0, 0, 0}}, // ( 95, 170)
+ { 0, { 0, 0, 0}}, // ( 96, 170)
+ { 0, { 0, 0, 0}}, // ( 97, 170)
+ { 0, { 0, 0, 0}}, // ( 98, 170)
+ { 0, { 0, 0, 0}}, // ( 99, 170)
+ { 0, { 0, 0, 0}}, // (100, 170)
+ { 0, { 0, 0, 0}}, // (101, 170)
+ { 0, { 0, 0, 0}}, // (102, 170)
+ { 0, { 0, 0, 0}}, // (103, 170)
+ { 0, { 0, 0, 0}}, // (104, 170)
+ { 0, { 0, 0, 0}}, // (105, 170)
+ { 0, { 0, 0, 0}}, // (106, 170)
+ { 0, { 0, 0, 0}}, // (107, 170)
+ { 0, { 0, 0, 0}}, // (108, 170)
+ { 0, { 0, 0, 0}}, // (109, 170)
+ { 0, { 0, 0, 0}}, // (110, 170)
+ { 0, { 0, 0, 0}}, // (111, 170)
+ { 0, { 0, 0, 0}}, // (112, 170)
+ { 0, { 0, 0, 0}}, // (113, 170)
+ { 0, { 0, 0, 0}}, // (114, 170)
+ { 0, { 0, 0, 0}}, // (115, 170)
+ { 0, { 0, 0, 0}}, // (116, 170)
+ { 0, { 0, 0, 0}}, // (117, 170)
+ { 0, { 0, 0, 0}}, // (118, 170)
+ { 0, { 0, 0, 0}}, // (119, 170)
+ { 0, { 0, 0, 0}}, // (120, 170)
+ { 0, { 0, 0, 0}}, // (121, 170)
+ { 0, { 0, 0, 0}}, // (122, 170)
+ { 0, { 0, 0, 0}}, // (123, 170)
+ { 9, { 0, 0, 0}}, // (124, 170)
+ { 61, { 0, 0, 0}}, // (125, 170)
+ {116, { 0, 0, 0}}, // (126, 170)
+ {128, { 0, 0, 0}}, // (127, 170)
+ {128, { 0, 0, 0}}, // (128, 170)
+ {128, { 0, 0, 0}}, // (129, 170)
+ {128, { 0, 0, 0}}, // (130, 170)
+ {128, { 0, 0, 0}}, // (131, 170)
+ {128, { 0, 0, 0}}, // (132, 170)
+ {128, { 0, 0, 0}}, // (133, 170)
+ {128, { 0, 0, 0}}, // (134, 170)
+ {128, { 0, 0, 0}}, // (135, 170)
+ {128, { 0, 0, 0}}, // (136, 170)
+ {128, { 0, 0, 0}}, // (137, 170)
+ {128, { 0, 0, 0}}, // (138, 170)
+ {128, { 0, 0, 0}}, // (139, 170)
+ {128, { 0, 0, 0}}, // (140, 170)
+ {128, { 0, 0, 0}}, // (141, 170)
+ {128, { 0, 0, 0}}, // (142, 170)
+ {128, { 0, 0, 0}}, // (143, 170)
+ {128, { 0, 0, 0}}, // (144, 170)
+ {128, { 0, 0, 0}}, // (145, 170)
+ {128, { 0, 0, 0}}, // (146, 170)
+ {128, { 0, 0, 0}}, // (147, 170)
+ {128, { 0, 0, 0}}, // (148, 170)
+ {128, { 0, 0, 0}}, // (149, 170)
+ {128, { 0, 0, 0}}, // (150, 170)
+ {128, { 0, 0, 0}}, // (151, 170)
+ {128, { 0, 0, 0}}, // (152, 170)
+ {128, { 0, 0, 0}}, // (153, 170)
+ {128, { 0, 0, 0}}, // (154, 170)
+ {128, { 0, 0, 0}}, // (155, 170)
+ {128, { 0, 0, 0}}, // (156, 170)
+ {128, { 0, 0, 0}}, // (157, 170)
+ {128, { 0, 0, 0}}, // (158, 170)
+ {128, { 0, 0, 0}}, // (159, 170)
+ {128, { 0, 0, 0}}, // (160, 170)
+ {128, { 0, 0, 0}}, // (161, 170)
+ {128, { 0, 0, 0}}, // (162, 170)
+ {128, { 0, 0, 0}}, // (163, 170)
+ {128, { 0, 0, 0}}, // (164, 170)
+ {128, { 0, 0, 0}}, // (165, 170)
+ {128, { 0, 0, 0}}, // (166, 170)
+ {128, { 0, 0, 0}}, // (167, 170)
+ {128, { 0, 0, 0}}, // (168, 170)
+ {128, { 0, 0, 0}}, // (169, 170)
+ {128, { 0, 0, 0}}, // (170, 170)
+ {128, { 0, 0, 0}}, // (171, 170)
+ {128, { 0, 0, 0}}, // (172, 170)
+ {128, { 0, 0, 0}}, // (173, 170)
+ {128, { 0, 0, 0}}, // (174, 170)
+ {128, { 0, 0, 0}}, // (175, 170)
+ {128, { 0, 0, 0}}, // (176, 170)
+ {128, { 0, 0, 0}}, // (177, 170)
+ {128, { 0, 0, 0}}, // (178, 170)
+ {128, { 0, 0, 0}}, // (179, 170)
+ {128, { 0, 0, 0}}, // ( 0, 171)
+ {128, { 0, 0, 0}}, // ( 1, 171)
+ {128, { 0, 0, 0}}, // ( 2, 171)
+ {128, { 0, 0, 0}}, // ( 3, 171)
+ {128, { 0, 0, 0}}, // ( 4, 171)
+ {128, { 0, 0, 0}}, // ( 5, 171)
+ {128, { 0, 0, 0}}, // ( 6, 171)
+ {128, { 0, 0, 0}}, // ( 7, 171)
+ {128, { 0, 0, 0}}, // ( 8, 171)
+ {128, { 0, 0, 0}}, // ( 9, 171)
+ {128, { 0, 0, 0}}, // ( 10, 171)
+ {128, { 0, 0, 0}}, // ( 11, 171)
+ {128, { 0, 0, 0}}, // ( 12, 171)
+ {128, { 0, 0, 0}}, // ( 13, 171)
+ {128, { 0, 0, 0}}, // ( 14, 171)
+ {128, { 0, 0, 0}}, // ( 15, 171)
+ {128, { 0, 0, 0}}, // ( 16, 171)
+ {128, { 0, 0, 0}}, // ( 17, 171)
+ {128, { 0, 0, 0}}, // ( 18, 171)
+ {128, { 0, 0, 0}}, // ( 19, 171)
+ {128, { 0, 0, 0}}, // ( 20, 171)
+ {128, { 0, 0, 0}}, // ( 21, 171)
+ {128, { 0, 0, 0}}, // ( 22, 171)
+ {128, { 0, 0, 0}}, // ( 23, 171)
+ {128, { 0, 0, 0}}, // ( 24, 171)
+ {128, { 0, 0, 0}}, // ( 25, 171)
+ {128, { 0, 0, 0}}, // ( 26, 171)
+ {128, { 0, 0, 0}}, // ( 27, 171)
+ {128, { 0, 0, 0}}, // ( 28, 171)
+ {128, { 0, 0, 0}}, // ( 29, 171)
+ {128, { 0, 0, 0}}, // ( 30, 171)
+ {128, { 0, 0, 0}}, // ( 31, 171)
+ {128, { 0, 0, 0}}, // ( 32, 171)
+ {128, { 0, 0, 0}}, // ( 33, 171)
+ {128, { 0, 0, 0}}, // ( 34, 171)
+ {128, { 0, 0, 0}}, // ( 35, 171)
+ {128, { 0, 0, 0}}, // ( 36, 171)
+ {128, { 0, 0, 0}}, // ( 37, 171)
+ {128, { 0, 0, 0}}, // ( 38, 171)
+ {128, { 0, 0, 0}}, // ( 39, 171)
+ {128, { 0, 0, 0}}, // ( 40, 171)
+ {128, { 0, 0, 0}}, // ( 41, 171)
+ {128, { 0, 0, 0}}, // ( 42, 171)
+ {128, { 0, 0, 0}}, // ( 43, 171)
+ {128, { 0, 0, 0}}, // ( 44, 171)
+ {128, { 0, 0, 0}}, // ( 45, 171)
+ {128, { 0, 0, 0}}, // ( 46, 171)
+ {128, { 0, 0, 0}}, // ( 47, 171)
+ {128, { 0, 0, 0}}, // ( 48, 171)
+ {128, { 0, 0, 0}}, // ( 49, 171)
+ {128, { 0, 0, 0}}, // ( 50, 171)
+ {128, { 0, 0, 0}}, // ( 51, 171)
+ {128, { 0, 0, 0}}, // ( 52, 171)
+ {128, { 0, 0, 0}}, // ( 53, 171)
+ {128, { 0, 0, 0}}, // ( 54, 171)
+ {122, { 0, 0, 0}}, // ( 55, 171)
+ { 79, { 0, 0, 0}}, // ( 56, 171)
+ { 29, { 0, 0, 0}}, // ( 57, 171)
+ { 0, { 0, 0, 0}}, // ( 58, 171)
+ { 0, { 0, 0, 0}}, // ( 59, 171)
+ { 0, { 0, 0, 0}}, // ( 60, 171)
+ { 0, { 0, 0, 0}}, // ( 61, 171)
+ { 0, { 0, 0, 0}}, // ( 62, 171)
+ { 0, { 0, 0, 0}}, // ( 63, 171)
+ { 0, { 0, 0, 0}}, // ( 64, 171)
+ { 0, { 0, 0, 0}}, // ( 65, 171)
+ { 0, { 0, 0, 0}}, // ( 66, 171)
+ { 0, { 0, 0, 0}}, // ( 67, 171)
+ { 0, { 0, 0, 0}}, // ( 68, 171)
+ { 0, { 0, 0, 0}}, // ( 69, 171)
+ { 0, { 0, 0, 0}}, // ( 70, 171)
+ { 0, { 0, 0, 0}}, // ( 71, 171)
+ { 0, { 0, 0, 0}}, // ( 72, 171)
+ { 0, { 0, 0, 0}}, // ( 73, 171)
+ { 0, { 0, 0, 0}}, // ( 74, 171)
+ { 0, { 0, 0, 0}}, // ( 75, 171)
+ { 0, { 0, 0, 0}}, // ( 76, 171)
+ { 0, { 0, 0, 0}}, // ( 77, 171)
+ { 0, { 0, 0, 0}}, // ( 78, 171)
+ { 0, { 0, 0, 0}}, // ( 79, 171)
+ { 0, { 0, 0, 0}}, // ( 80, 171)
+ { 0, { 0, 0, 0}}, // ( 81, 171)
+ { 0, { 0, 0, 0}}, // ( 82, 171)
+ { 0, { 0, 0, 0}}, // ( 83, 171)
+ { 0, { 0, 0, 0}}, // ( 84, 171)
+ { 0, { 0, 0, 0}}, // ( 85, 171)
+ { 0, { 0, 0, 0}}, // ( 86, 171)
+ { 0, { 0, 0, 0}}, // ( 87, 171)
+ { 0, { 0, 0, 0}}, // ( 88, 171)
+ { 0, { 0, 0, 0}}, // ( 89, 171)
+ { 0, { 0, 0, 0}}, // ( 90, 171)
+ { 0, { 0, 0, 0}}, // ( 91, 171)
+ { 0, { 0, 0, 0}}, // ( 92, 171)
+ { 0, { 0, 0, 0}}, // ( 93, 171)
+ { 0, { 0, 0, 0}}, // ( 94, 171)
+ { 0, { 0, 0, 0}}, // ( 95, 171)
+ { 0, { 0, 0, 0}}, // ( 96, 171)
+ { 0, { 0, 0, 0}}, // ( 97, 171)
+ { 0, { 0, 0, 0}}, // ( 98, 171)
+ { 0, { 0, 0, 0}}, // ( 99, 171)
+ { 0, { 0, 0, 0}}, // (100, 171)
+ { 0, { 0, 0, 0}}, // (101, 171)
+ { 0, { 0, 0, 0}}, // (102, 171)
+ { 0, { 0, 0, 0}}, // (103, 171)
+ { 0, { 0, 0, 0}}, // (104, 171)
+ { 0, { 0, 0, 0}}, // (105, 171)
+ { 0, { 0, 0, 0}}, // (106, 171)
+ { 0, { 0, 0, 0}}, // (107, 171)
+ { 0, { 0, 0, 0}}, // (108, 171)
+ { 0, { 0, 0, 0}}, // (109, 171)
+ { 0, { 0, 0, 0}}, // (110, 171)
+ { 0, { 0, 0, 0}}, // (111, 171)
+ { 0, { 0, 0, 0}}, // (112, 171)
+ { 0, { 0, 0, 0}}, // (113, 171)
+ { 0, { 0, 0, 0}}, // (114, 171)
+ { 0, { 0, 0, 0}}, // (115, 171)
+ { 0, { 0, 0, 0}}, // (116, 171)
+ { 0, { 0, 0, 0}}, // (117, 171)
+ { 0, { 0, 0, 0}}, // (118, 171)
+ { 0, { 0, 0, 0}}, // (119, 171)
+ { 0, { 0, 0, 0}}, // (120, 171)
+ { 0, { 0, 0, 0}}, // (121, 171)
+ { 29, { 0, 0, 0}}, // (122, 171)
+ { 79, { 0, 0, 0}}, // (123, 171)
+ {122, { 0, 0, 0}}, // (124, 171)
+ {128, { 0, 0, 0}}, // (125, 171)
+ {128, { 0, 0, 0}}, // (126, 171)
+ {128, { 0, 0, 0}}, // (127, 171)
+ {128, { 0, 0, 0}}, // (128, 171)
+ {128, { 0, 0, 0}}, // (129, 171)
+ {128, { 0, 0, 0}}, // (130, 171)
+ {128, { 0, 0, 0}}, // (131, 171)
+ {128, { 0, 0, 0}}, // (132, 171)
+ {128, { 0, 0, 0}}, // (133, 171)
+ {128, { 0, 0, 0}}, // (134, 171)
+ {128, { 0, 0, 0}}, // (135, 171)
+ {128, { 0, 0, 0}}, // (136, 171)
+ {128, { 0, 0, 0}}, // (137, 171)
+ {128, { 0, 0, 0}}, // (138, 171)
+ {128, { 0, 0, 0}}, // (139, 171)
+ {128, { 0, 0, 0}}, // (140, 171)
+ {128, { 0, 0, 0}}, // (141, 171)
+ {128, { 0, 0, 0}}, // (142, 171)
+ {128, { 0, 0, 0}}, // (143, 171)
+ {128, { 0, 0, 0}}, // (144, 171)
+ {128, { 0, 0, 0}}, // (145, 171)
+ {128, { 0, 0, 0}}, // (146, 171)
+ {128, { 0, 0, 0}}, // (147, 171)
+ {128, { 0, 0, 0}}, // (148, 171)
+ {128, { 0, 0, 0}}, // (149, 171)
+ {128, { 0, 0, 0}}, // (150, 171)
+ {128, { 0, 0, 0}}, // (151, 171)
+ {128, { 0, 0, 0}}, // (152, 171)
+ {128, { 0, 0, 0}}, // (153, 171)
+ {128, { 0, 0, 0}}, // (154, 171)
+ {128, { 0, 0, 0}}, // (155, 171)
+ {128, { 0, 0, 0}}, // (156, 171)
+ {128, { 0, 0, 0}}, // (157, 171)
+ {128, { 0, 0, 0}}, // (158, 171)
+ {128, { 0, 0, 0}}, // (159, 171)
+ {128, { 0, 0, 0}}, // (160, 171)
+ {128, { 0, 0, 0}}, // (161, 171)
+ {128, { 0, 0, 0}}, // (162, 171)
+ {128, { 0, 0, 0}}, // (163, 171)
+ {128, { 0, 0, 0}}, // (164, 171)
+ {128, { 0, 0, 0}}, // (165, 171)
+ {128, { 0, 0, 0}}, // (166, 171)
+ {128, { 0, 0, 0}}, // (167, 171)
+ {128, { 0, 0, 0}}, // (168, 171)
+ {128, { 0, 0, 0}}, // (169, 171)
+ {128, { 0, 0, 0}}, // (170, 171)
+ {128, { 0, 0, 0}}, // (171, 171)
+ {128, { 0, 0, 0}}, // (172, 171)
+ {128, { 0, 0, 0}}, // (173, 171)
+ {128, { 0, 0, 0}}, // (174, 171)
+ {128, { 0, 0, 0}}, // (175, 171)
+ {128, { 0, 0, 0}}, // (176, 171)
+ {128, { 0, 0, 0}}, // (177, 171)
+ {128, { 0, 0, 0}}, // (178, 171)
+ {128, { 0, 0, 0}}, // (179, 171)
+ {128, { 0, 0, 0}}, // ( 0, 172)
+ {128, { 0, 0, 0}}, // ( 1, 172)
+ {128, { 0, 0, 0}}, // ( 2, 172)
+ {128, { 0, 0, 0}}, // ( 3, 172)
+ {128, { 0, 0, 0}}, // ( 4, 172)
+ {128, { 0, 0, 0}}, // ( 5, 172)
+ {128, { 0, 0, 0}}, // ( 6, 172)
+ {128, { 0, 0, 0}}, // ( 7, 172)
+ {128, { 0, 0, 0}}, // ( 8, 172)
+ {128, { 0, 0, 0}}, // ( 9, 172)
+ {128, { 0, 0, 0}}, // ( 10, 172)
+ {128, { 0, 0, 0}}, // ( 11, 172)
+ {128, { 0, 0, 0}}, // ( 12, 172)
+ {128, { 0, 0, 0}}, // ( 13, 172)
+ {128, { 0, 0, 0}}, // ( 14, 172)
+ {128, { 0, 0, 0}}, // ( 15, 172)
+ {128, { 0, 0, 0}}, // ( 16, 172)
+ {128, { 0, 0, 0}}, // ( 17, 172)
+ {128, { 0, 0, 0}}, // ( 18, 172)
+ {128, { 0, 0, 0}}, // ( 19, 172)
+ {128, { 0, 0, 0}}, // ( 20, 172)
+ {128, { 0, 0, 0}}, // ( 21, 172)
+ {128, { 0, 0, 0}}, // ( 22, 172)
+ {128, { 0, 0, 0}}, // ( 23, 172)
+ {128, { 0, 0, 0}}, // ( 24, 172)
+ {128, { 0, 0, 0}}, // ( 25, 172)
+ {128, { 0, 0, 0}}, // ( 26, 172)
+ {128, { 0, 0, 0}}, // ( 27, 172)
+ {128, { 0, 0, 0}}, // ( 28, 172)
+ {128, { 0, 0, 0}}, // ( 29, 172)
+ {128, { 0, 0, 0}}, // ( 30, 172)
+ {128, { 0, 0, 0}}, // ( 31, 172)
+ {128, { 0, 0, 0}}, // ( 32, 172)
+ {128, { 0, 0, 0}}, // ( 33, 172)
+ {128, { 0, 0, 0}}, // ( 34, 172)
+ {128, { 0, 0, 0}}, // ( 35, 172)
+ {128, { 0, 0, 0}}, // ( 36, 172)
+ {128, { 0, 0, 0}}, // ( 37, 172)
+ {128, { 0, 0, 0}}, // ( 38, 172)
+ {128, { 0, 0, 0}}, // ( 39, 172)
+ {128, { 0, 0, 0}}, // ( 40, 172)
+ {128, { 0, 0, 0}}, // ( 41, 172)
+ {128, { 0, 0, 0}}, // ( 42, 172)
+ {128, { 0, 0, 0}}, // ( 43, 172)
+ {128, { 0, 0, 0}}, // ( 44, 172)
+ {128, { 0, 0, 0}}, // ( 45, 172)
+ {128, { 0, 0, 0}}, // ( 46, 172)
+ {128, { 0, 0, 0}}, // ( 47, 172)
+ {128, { 0, 0, 0}}, // ( 48, 172)
+ {128, { 0, 0, 0}}, // ( 49, 172)
+ {128, { 0, 0, 0}}, // ( 50, 172)
+ {128, { 0, 0, 0}}, // ( 51, 172)
+ {128, { 0, 0, 0}}, // ( 52, 172)
+ {128, { 0, 0, 0}}, // ( 53, 172)
+ {128, { 0, 0, 0}}, // ( 54, 172)
+ {128, { 0, 0, 0}}, // ( 55, 172)
+ {128, { 0, 0, 0}}, // ( 56, 172)
+ {128, { 0, 0, 0}}, // ( 57, 172)
+ {105, { 0, 0, 0}}, // ( 58, 172)
+ { 55, { 0, 0, 0}}, // ( 59, 172)
+ { 11, { 0, 0, 0}}, // ( 60, 172)
+ { 0, { 0, 0, 0}}, // ( 61, 172)
+ { 0, { 0, 0, 0}}, // ( 62, 172)
+ { 0, { 0, 0, 0}}, // ( 63, 172)
+ { 0, { 0, 0, 0}}, // ( 64, 172)
+ { 0, { 0, 0, 0}}, // ( 65, 172)
+ { 0, { 0, 0, 0}}, // ( 66, 172)
+ { 0, { 0, 0, 0}}, // ( 67, 172)
+ { 0, { 0, 0, 0}}, // ( 68, 172)
+ { 0, { 0, 0, 0}}, // ( 69, 172)
+ { 0, { 0, 0, 0}}, // ( 70, 172)
+ { 0, { 0, 0, 0}}, // ( 71, 172)
+ { 0, { 0, 0, 0}}, // ( 72, 172)
+ { 0, { 0, 0, 0}}, // ( 73, 172)
+ { 0, { 0, 0, 0}}, // ( 74, 172)
+ { 0, { 0, 0, 0}}, // ( 75, 172)
+ { 0, { 0, 0, 0}}, // ( 76, 172)
+ { 0, { 0, 0, 0}}, // ( 77, 172)
+ { 0, { 0, 0, 0}}, // ( 78, 172)
+ { 0, { 0, 0, 0}}, // ( 79, 172)
+ { 0, { 0, 0, 0}}, // ( 80, 172)
+ { 0, { 0, 0, 0}}, // ( 81, 172)
+ { 0, { 0, 0, 0}}, // ( 82, 172)
+ { 0, { 0, 0, 0}}, // ( 83, 172)
+ { 0, { 0, 0, 0}}, // ( 84, 172)
+ { 0, { 0, 0, 0}}, // ( 85, 172)
+ { 0, { 0, 0, 0}}, // ( 86, 172)
+ { 0, { 0, 0, 0}}, // ( 87, 172)
+ { 0, { 0, 0, 0}}, // ( 88, 172)
+ { 0, { 0, 0, 0}}, // ( 89, 172)
+ { 0, { 0, 0, 0}}, // ( 90, 172)
+ { 0, { 0, 0, 0}}, // ( 91, 172)
+ { 0, { 0, 0, 0}}, // ( 92, 172)
+ { 0, { 0, 0, 0}}, // ( 93, 172)
+ { 0, { 0, 0, 0}}, // ( 94, 172)
+ { 0, { 0, 0, 0}}, // ( 95, 172)
+ { 0, { 0, 0, 0}}, // ( 96, 172)
+ { 0, { 0, 0, 0}}, // ( 97, 172)
+ { 0, { 0, 0, 0}}, // ( 98, 172)
+ { 0, { 0, 0, 0}}, // ( 99, 172)
+ { 0, { 0, 0, 0}}, // (100, 172)
+ { 0, { 0, 0, 0}}, // (101, 172)
+ { 0, { 0, 0, 0}}, // (102, 172)
+ { 0, { 0, 0, 0}}, // (103, 172)
+ { 0, { 0, 0, 0}}, // (104, 172)
+ { 0, { 0, 0, 0}}, // (105, 172)
+ { 0, { 0, 0, 0}}, // (106, 172)
+ { 0, { 0, 0, 0}}, // (107, 172)
+ { 0, { 0, 0, 0}}, // (108, 172)
+ { 0, { 0, 0, 0}}, // (109, 172)
+ { 0, { 0, 0, 0}}, // (110, 172)
+ { 0, { 0, 0, 0}}, // (111, 172)
+ { 0, { 0, 0, 0}}, // (112, 172)
+ { 0, { 0, 0, 0}}, // (113, 172)
+ { 0, { 0, 0, 0}}, // (114, 172)
+ { 0, { 0, 0, 0}}, // (115, 172)
+ { 0, { 0, 0, 0}}, // (116, 172)
+ { 0, { 0, 0, 0}}, // (117, 172)
+ { 0, { 0, 0, 0}}, // (118, 172)
+ { 11, { 0, 0, 0}}, // (119, 172)
+ { 55, { 0, 0, 0}}, // (120, 172)
+ {105, { 0, 0, 0}}, // (121, 172)
+ {128, { 0, 0, 0}}, // (122, 172)
+ {128, { 0, 0, 0}}, // (123, 172)
+ {128, { 0, 0, 0}}, // (124, 172)
+ {128, { 0, 0, 0}}, // (125, 172)
+ {128, { 0, 0, 0}}, // (126, 172)
+ {128, { 0, 0, 0}}, // (127, 172)
+ {128, { 0, 0, 0}}, // (128, 172)
+ {128, { 0, 0, 0}}, // (129, 172)
+ {128, { 0, 0, 0}}, // (130, 172)
+ {128, { 0, 0, 0}}, // (131, 172)
+ {128, { 0, 0, 0}}, // (132, 172)
+ {128, { 0, 0, 0}}, // (133, 172)
+ {128, { 0, 0, 0}}, // (134, 172)
+ {128, { 0, 0, 0}}, // (135, 172)
+ {128, { 0, 0, 0}}, // (136, 172)
+ {128, { 0, 0, 0}}, // (137, 172)
+ {128, { 0, 0, 0}}, // (138, 172)
+ {128, { 0, 0, 0}}, // (139, 172)
+ {128, { 0, 0, 0}}, // (140, 172)
+ {128, { 0, 0, 0}}, // (141, 172)
+ {128, { 0, 0, 0}}, // (142, 172)
+ {128, { 0, 0, 0}}, // (143, 172)
+ {128, { 0, 0, 0}}, // (144, 172)
+ {128, { 0, 0, 0}}, // (145, 172)
+ {128, { 0, 0, 0}}, // (146, 172)
+ {128, { 0, 0, 0}}, // (147, 172)
+ {128, { 0, 0, 0}}, // (148, 172)
+ {128, { 0, 0, 0}}, // (149, 172)
+ {128, { 0, 0, 0}}, // (150, 172)
+ {128, { 0, 0, 0}}, // (151, 172)
+ {128, { 0, 0, 0}}, // (152, 172)
+ {128, { 0, 0, 0}}, // (153, 172)
+ {128, { 0, 0, 0}}, // (154, 172)
+ {128, { 0, 0, 0}}, // (155, 172)
+ {128, { 0, 0, 0}}, // (156, 172)
+ {128, { 0, 0, 0}}, // (157, 172)
+ {128, { 0, 0, 0}}, // (158, 172)
+ {128, { 0, 0, 0}}, // (159, 172)
+ {128, { 0, 0, 0}}, // (160, 172)
+ {128, { 0, 0, 0}}, // (161, 172)
+ {128, { 0, 0, 0}}, // (162, 172)
+ {128, { 0, 0, 0}}, // (163, 172)
+ {128, { 0, 0, 0}}, // (164, 172)
+ {128, { 0, 0, 0}}, // (165, 172)
+ {128, { 0, 0, 0}}, // (166, 172)
+ {128, { 0, 0, 0}}, // (167, 172)
+ {128, { 0, 0, 0}}, // (168, 172)
+ {128, { 0, 0, 0}}, // (169, 172)
+ {128, { 0, 0, 0}}, // (170, 172)
+ {128, { 0, 0, 0}}, // (171, 172)
+ {128, { 0, 0, 0}}, // (172, 172)
+ {128, { 0, 0, 0}}, // (173, 172)
+ {128, { 0, 0, 0}}, // (174, 172)
+ {128, { 0, 0, 0}}, // (175, 172)
+ {128, { 0, 0, 0}}, // (176, 172)
+ {128, { 0, 0, 0}}, // (177, 172)
+ {128, { 0, 0, 0}}, // (178, 172)
+ {128, { 0, 0, 0}}, // (179, 172)
+ {128, { 0, 0, 0}}, // ( 0, 173)
+ {128, { 0, 0, 0}}, // ( 1, 173)
+ {128, { 0, 0, 0}}, // ( 2, 173)
+ {128, { 0, 0, 0}}, // ( 3, 173)
+ {128, { 0, 0, 0}}, // ( 4, 173)
+ {128, { 0, 0, 0}}, // ( 5, 173)
+ {128, { 0, 0, 0}}, // ( 6, 173)
+ {128, { 0, 0, 0}}, // ( 7, 173)
+ {128, { 0, 0, 0}}, // ( 8, 173)
+ {128, { 0, 0, 0}}, // ( 9, 173)
+ {128, { 0, 0, 0}}, // ( 10, 173)
+ {128, { 0, 0, 0}}, // ( 11, 173)
+ {128, { 0, 0, 0}}, // ( 12, 173)
+ {128, { 0, 0, 0}}, // ( 13, 173)
+ {128, { 0, 0, 0}}, // ( 14, 173)
+ {128, { 0, 0, 0}}, // ( 15, 173)
+ {128, { 0, 0, 0}}, // ( 16, 173)
+ {128, { 0, 0, 0}}, // ( 17, 173)
+ {128, { 0, 0, 0}}, // ( 18, 173)
+ {128, { 0, 0, 0}}, // ( 19, 173)
+ {128, { 0, 0, 0}}, // ( 20, 173)
+ {128, { 0, 0, 0}}, // ( 21, 173)
+ {128, { 0, 0, 0}}, // ( 22, 173)
+ {128, { 0, 0, 0}}, // ( 23, 173)
+ {128, { 0, 0, 0}}, // ( 24, 173)
+ {128, { 0, 0, 0}}, // ( 25, 173)
+ {128, { 0, 0, 0}}, // ( 26, 173)
+ {128, { 0, 0, 0}}, // ( 27, 173)
+ {128, { 0, 0, 0}}, // ( 28, 173)
+ {128, { 0, 0, 0}}, // ( 29, 173)
+ {128, { 0, 0, 0}}, // ( 30, 173)
+ {128, { 0, 0, 0}}, // ( 31, 173)
+ {128, { 0, 0, 0}}, // ( 32, 173)
+ {128, { 0, 0, 0}}, // ( 33, 173)
+ {128, { 0, 0, 0}}, // ( 34, 173)
+ {128, { 0, 0, 0}}, // ( 35, 173)
+ {128, { 0, 0, 0}}, // ( 36, 173)
+ {128, { 0, 0, 0}}, // ( 37, 173)
+ {128, { 0, 0, 0}}, // ( 38, 173)
+ {128, { 0, 0, 0}}, // ( 39, 173)
+ {128, { 0, 0, 0}}, // ( 40, 173)
+ {128, { 0, 0, 0}}, // ( 41, 173)
+ {128, { 0, 0, 0}}, // ( 42, 173)
+ {128, { 0, 0, 0}}, // ( 43, 173)
+ {128, { 0, 0, 0}}, // ( 44, 173)
+ {128, { 0, 0, 0}}, // ( 45, 173)
+ {128, { 0, 0, 0}}, // ( 46, 173)
+ {128, { 0, 0, 0}}, // ( 47, 173)
+ {128, { 0, 0, 0}}, // ( 48, 173)
+ {128, { 0, 0, 0}}, // ( 49, 173)
+ {128, { 0, 0, 0}}, // ( 50, 173)
+ {128, { 0, 0, 0}}, // ( 51, 173)
+ {128, { 0, 0, 0}}, // ( 52, 173)
+ {128, { 0, 0, 0}}, // ( 53, 173)
+ {128, { 0, 0, 0}}, // ( 54, 173)
+ {128, { 0, 0, 0}}, // ( 55, 173)
+ {128, { 0, 0, 0}}, // ( 56, 173)
+ {128, { 0, 0, 0}}, // ( 57, 173)
+ {128, { 0, 0, 0}}, // ( 58, 173)
+ {128, { 0, 0, 0}}, // ( 59, 173)
+ {126, { 0, 0, 0}}, // ( 60, 173)
+ { 92, { 0, 0, 0}}, // ( 61, 173)
+ { 50, { 0, 0, 0}}, // ( 62, 173)
+ { 10, { 0, 0, 0}}, // ( 63, 173)
+ { 0, { 0, 0, 0}}, // ( 64, 173)
+ { 0, { 0, 0, 0}}, // ( 65, 173)
+ { 0, { 0, 0, 0}}, // ( 66, 173)
+ { 0, { 0, 0, 0}}, // ( 67, 173)
+ { 0, { 0, 0, 0}}, // ( 68, 173)
+ { 0, { 0, 0, 0}}, // ( 69, 173)
+ { 0, { 0, 0, 0}}, // ( 70, 173)
+ { 0, { 0, 0, 0}}, // ( 71, 173)
+ { 0, { 0, 0, 0}}, // ( 72, 173)
+ { 0, { 0, 0, 0}}, // ( 73, 173)
+ { 0, { 0, 0, 0}}, // ( 74, 173)
+ { 0, { 0, 0, 0}}, // ( 75, 173)
+ { 0, { 0, 0, 0}}, // ( 76, 173)
+ { 0, { 0, 0, 0}}, // ( 77, 173)
+ { 0, { 0, 0, 0}}, // ( 78, 173)
+ { 0, { 0, 0, 0}}, // ( 79, 173)
+ { 0, { 0, 0, 0}}, // ( 80, 173)
+ { 0, { 0, 0, 0}}, // ( 81, 173)
+ { 0, { 0, 0, 0}}, // ( 82, 173)
+ { 0, { 0, 0, 0}}, // ( 83, 173)
+ { 0, { 0, 0, 0}}, // ( 84, 173)
+ { 0, { 0, 0, 0}}, // ( 85, 173)
+ { 0, { 0, 0, 0}}, // ( 86, 173)
+ { 0, { 0, 0, 0}}, // ( 87, 173)
+ { 0, { 0, 0, 0}}, // ( 88, 173)
+ { 0, { 0, 0, 0}}, // ( 89, 173)
+ { 0, { 0, 0, 0}}, // ( 90, 173)
+ { 0, { 0, 0, 0}}, // ( 91, 173)
+ { 0, { 0, 0, 0}}, // ( 92, 173)
+ { 0, { 0, 0, 0}}, // ( 93, 173)
+ { 0, { 0, 0, 0}}, // ( 94, 173)
+ { 0, { 0, 0, 0}}, // ( 95, 173)
+ { 0, { 0, 0, 0}}, // ( 96, 173)
+ { 0, { 0, 0, 0}}, // ( 97, 173)
+ { 0, { 0, 0, 0}}, // ( 98, 173)
+ { 0, { 0, 0, 0}}, // ( 99, 173)
+ { 0, { 0, 0, 0}}, // (100, 173)
+ { 0, { 0, 0, 0}}, // (101, 173)
+ { 0, { 0, 0, 0}}, // (102, 173)
+ { 0, { 0, 0, 0}}, // (103, 173)
+ { 0, { 0, 0, 0}}, // (104, 173)
+ { 0, { 0, 0, 0}}, // (105, 173)
+ { 0, { 0, 0, 0}}, // (106, 173)
+ { 0, { 0, 0, 0}}, // (107, 173)
+ { 0, { 0, 0, 0}}, // (108, 173)
+ { 0, { 0, 0, 0}}, // (109, 173)
+ { 0, { 0, 0, 0}}, // (110, 173)
+ { 0, { 0, 0, 0}}, // (111, 173)
+ { 0, { 0, 0, 0}}, // (112, 173)
+ { 0, { 0, 0, 0}}, // (113, 173)
+ { 0, { 0, 0, 0}}, // (114, 173)
+ { 0, { 0, 0, 0}}, // (115, 173)
+ { 10, { 0, 0, 0}}, // (116, 173)
+ { 50, { 0, 0, 0}}, // (117, 173)
+ { 92, { 0, 0, 0}}, // (118, 173)
+ {126, { 0, 0, 0}}, // (119, 173)
+ {128, { 0, 0, 0}}, // (120, 173)
+ {128, { 0, 0, 0}}, // (121, 173)
+ {128, { 0, 0, 0}}, // (122, 173)
+ {128, { 0, 0, 0}}, // (123, 173)
+ {128, { 0, 0, 0}}, // (124, 173)
+ {128, { 0, 0, 0}}, // (125, 173)
+ {128, { 0, 0, 0}}, // (126, 173)
+ {128, { 0, 0, 0}}, // (127, 173)
+ {128, { 0, 0, 0}}, // (128, 173)
+ {128, { 0, 0, 0}}, // (129, 173)
+ {128, { 0, 0, 0}}, // (130, 173)
+ {128, { 0, 0, 0}}, // (131, 173)
+ {128, { 0, 0, 0}}, // (132, 173)
+ {128, { 0, 0, 0}}, // (133, 173)
+ {128, { 0, 0, 0}}, // (134, 173)
+ {128, { 0, 0, 0}}, // (135, 173)
+ {128, { 0, 0, 0}}, // (136, 173)
+ {128, { 0, 0, 0}}, // (137, 173)
+ {128, { 0, 0, 0}}, // (138, 173)
+ {128, { 0, 0, 0}}, // (139, 173)
+ {128, { 0, 0, 0}}, // (140, 173)
+ {128, { 0, 0, 0}}, // (141, 173)
+ {128, { 0, 0, 0}}, // (142, 173)
+ {128, { 0, 0, 0}}, // (143, 173)
+ {128, { 0, 0, 0}}, // (144, 173)
+ {128, { 0, 0, 0}}, // (145, 173)
+ {128, { 0, 0, 0}}, // (146, 173)
+ {128, { 0, 0, 0}}, // (147, 173)
+ {128, { 0, 0, 0}}, // (148, 173)
+ {128, { 0, 0, 0}}, // (149, 173)
+ {128, { 0, 0, 0}}, // (150, 173)
+ {128, { 0, 0, 0}}, // (151, 173)
+ {128, { 0, 0, 0}}, // (152, 173)
+ {128, { 0, 0, 0}}, // (153, 173)
+ {128, { 0, 0, 0}}, // (154, 173)
+ {128, { 0, 0, 0}}, // (155, 173)
+ {128, { 0, 0, 0}}, // (156, 173)
+ {128, { 0, 0, 0}}, // (157, 173)
+ {128, { 0, 0, 0}}, // (158, 173)
+ {128, { 0, 0, 0}}, // (159, 173)
+ {128, { 0, 0, 0}}, // (160, 173)
+ {128, { 0, 0, 0}}, // (161, 173)
+ {128, { 0, 0, 0}}, // (162, 173)
+ {128, { 0, 0, 0}}, // (163, 173)
+ {128, { 0, 0, 0}}, // (164, 173)
+ {128, { 0, 0, 0}}, // (165, 173)
+ {128, { 0, 0, 0}}, // (166, 173)
+ {128, { 0, 0, 0}}, // (167, 173)
+ {128, { 0, 0, 0}}, // (168, 173)
+ {128, { 0, 0, 0}}, // (169, 173)
+ {128, { 0, 0, 0}}, // (170, 173)
+ {128, { 0, 0, 0}}, // (171, 173)
+ {128, { 0, 0, 0}}, // (172, 173)
+ {128, { 0, 0, 0}}, // (173, 173)
+ {128, { 0, 0, 0}}, // (174, 173)
+ {128, { 0, 0, 0}}, // (175, 173)
+ {128, { 0, 0, 0}}, // (176, 173)
+ {128, { 0, 0, 0}}, // (177, 173)
+ {128, { 0, 0, 0}}, // (178, 173)
+ {128, { 0, 0, 0}}, // (179, 173)
+ {128, { 0, 0, 0}}, // ( 0, 174)
+ {128, { 0, 0, 0}}, // ( 1, 174)
+ {128, { 0, 0, 0}}, // ( 2, 174)
+ {128, { 0, 0, 0}}, // ( 3, 174)
+ {128, { 0, 0, 0}}, // ( 4, 174)
+ {128, { 0, 0, 0}}, // ( 5, 174)
+ {128, { 0, 0, 0}}, // ( 6, 174)
+ {128, { 0, 0, 0}}, // ( 7, 174)
+ {128, { 0, 0, 0}}, // ( 8, 174)
+ {128, { 0, 0, 0}}, // ( 9, 174)
+ {128, { 0, 0, 0}}, // ( 10, 174)
+ {128, { 0, 0, 0}}, // ( 11, 174)
+ {128, { 0, 0, 0}}, // ( 12, 174)
+ {128, { 0, 0, 0}}, // ( 13, 174)
+ {128, { 0, 0, 0}}, // ( 14, 174)
+ {128, { 0, 0, 0}}, // ( 15, 174)
+ {128, { 0, 0, 0}}, // ( 16, 174)
+ {128, { 0, 0, 0}}, // ( 17, 174)
+ {128, { 0, 0, 0}}, // ( 18, 174)
+ {128, { 0, 0, 0}}, // ( 19, 174)
+ {128, { 0, 0, 0}}, // ( 20, 174)
+ {128, { 0, 0, 0}}, // ( 21, 174)
+ {128, { 0, 0, 0}}, // ( 22, 174)
+ {128, { 0, 0, 0}}, // ( 23, 174)
+ {128, { 0, 0, 0}}, // ( 24, 174)
+ {128, { 0, 0, 0}}, // ( 25, 174)
+ {128, { 0, 0, 0}}, // ( 26, 174)
+ {128, { 0, 0, 0}}, // ( 27, 174)
+ {128, { 0, 0, 0}}, // ( 28, 174)
+ {128, { 0, 0, 0}}, // ( 29, 174)
+ {128, { 0, 0, 0}}, // ( 30, 174)
+ {128, { 0, 0, 0}}, // ( 31, 174)
+ {128, { 0, 0, 0}}, // ( 32, 174)
+ {128, { 0, 0, 0}}, // ( 33, 174)
+ {128, { 0, 0, 0}}, // ( 34, 174)
+ {128, { 0, 0, 0}}, // ( 35, 174)
+ {128, { 0, 0, 0}}, // ( 36, 174)
+ {128, { 0, 0, 0}}, // ( 37, 174)
+ {128, { 0, 0, 0}}, // ( 38, 174)
+ {128, { 0, 0, 0}}, // ( 39, 174)
+ {128, { 0, 0, 0}}, // ( 40, 174)
+ {128, { 0, 0, 0}}, // ( 41, 174)
+ {128, { 0, 0, 0}}, // ( 42, 174)
+ {128, { 0, 0, 0}}, // ( 43, 174)
+ {128, { 0, 0, 0}}, // ( 44, 174)
+ {128, { 0, 0, 0}}, // ( 45, 174)
+ {128, { 0, 0, 0}}, // ( 46, 174)
+ {128, { 0, 0, 0}}, // ( 47, 174)
+ {128, { 0, 0, 0}}, // ( 48, 174)
+ {128, { 0, 0, 0}}, // ( 49, 174)
+ {128, { 0, 0, 0}}, // ( 50, 174)
+ {128, { 0, 0, 0}}, // ( 51, 174)
+ {128, { 0, 0, 0}}, // ( 52, 174)
+ {128, { 0, 0, 0}}, // ( 53, 174)
+ {128, { 0, 0, 0}}, // ( 54, 174)
+ {128, { 0, 0, 0}}, // ( 55, 174)
+ {128, { 0, 0, 0}}, // ( 56, 174)
+ {128, { 0, 0, 0}}, // ( 57, 174)
+ {128, { 0, 0, 0}}, // ( 58, 174)
+ {128, { 0, 0, 0}}, // ( 59, 174)
+ {128, { 0, 0, 0}}, // ( 60, 174)
+ {128, { 0, 0, 0}}, // ( 61, 174)
+ {128, { 0, 0, 0}}, // ( 62, 174)
+ {126, { 0, 0, 0}}, // ( 63, 174)
+ { 97, { 0, 0, 0}}, // ( 64, 174)
+ { 59, { 0, 0, 0}}, // ( 65, 174)
+ { 23, { 0, 0, 0}}, // ( 66, 174)
+ { 0, { 0, 0, 0}}, // ( 67, 174)
+ { 0, { 0, 0, 0}}, // ( 68, 174)
+ { 0, { 0, 0, 0}}, // ( 69, 174)
+ { 0, { 0, 0, 0}}, // ( 70, 174)
+ { 0, { 0, 0, 0}}, // ( 71, 174)
+ { 0, { 0, 0, 0}}, // ( 72, 174)
+ { 0, { 0, 0, 0}}, // ( 73, 174)
+ { 0, { 0, 0, 0}}, // ( 74, 174)
+ { 0, { 0, 0, 0}}, // ( 75, 174)
+ { 0, { 0, 0, 0}}, // ( 76, 174)
+ { 0, { 0, 0, 0}}, // ( 77, 174)
+ { 0, { 0, 0, 0}}, // ( 78, 174)
+ { 0, { 0, 0, 0}}, // ( 79, 174)
+ { 0, { 0, 0, 0}}, // ( 80, 174)
+ { 0, { 0, 0, 0}}, // ( 81, 174)
+ { 0, { 0, 0, 0}}, // ( 82, 174)
+ { 0, { 0, 0, 0}}, // ( 83, 174)
+ { 0, { 0, 0, 0}}, // ( 84, 174)
+ { 0, { 0, 0, 0}}, // ( 85, 174)
+ { 0, { 0, 0, 0}}, // ( 86, 174)
+ { 0, { 0, 0, 0}}, // ( 87, 174)
+ { 0, { 0, 0, 0}}, // ( 88, 174)
+ { 0, { 0, 0, 0}}, // ( 89, 174)
+ { 0, { 0, 0, 0}}, // ( 90, 174)
+ { 0, { 0, 0, 0}}, // ( 91, 174)
+ { 0, { 0, 0, 0}}, // ( 92, 174)
+ { 0, { 0, 0, 0}}, // ( 93, 174)
+ { 0, { 0, 0, 0}}, // ( 94, 174)
+ { 0, { 0, 0, 0}}, // ( 95, 174)
+ { 0, { 0, 0, 0}}, // ( 96, 174)
+ { 0, { 0, 0, 0}}, // ( 97, 174)
+ { 0, { 0, 0, 0}}, // ( 98, 174)
+ { 0, { 0, 0, 0}}, // ( 99, 174)
+ { 0, { 0, 0, 0}}, // (100, 174)
+ { 0, { 0, 0, 0}}, // (101, 174)
+ { 0, { 0, 0, 0}}, // (102, 174)
+ { 0, { 0, 0, 0}}, // (103, 174)
+ { 0, { 0, 0, 0}}, // (104, 174)
+ { 0, { 0, 0, 0}}, // (105, 174)
+ { 0, { 0, 0, 0}}, // (106, 174)
+ { 0, { 0, 0, 0}}, // (107, 174)
+ { 0, { 0, 0, 0}}, // (108, 174)
+ { 0, { 0, 0, 0}}, // (109, 174)
+ { 0, { 0, 0, 0}}, // (110, 174)
+ { 0, { 0, 0, 0}}, // (111, 174)
+ { 0, { 0, 0, 0}}, // (112, 174)
+ { 23, { 0, 0, 0}}, // (113, 174)
+ { 59, { 0, 0, 0}}, // (114, 174)
+ { 96, { 0, 0, 0}}, // (115, 174)
+ {126, { 0, 0, 0}}, // (116, 174)
+ {128, { 0, 0, 0}}, // (117, 174)
+ {128, { 0, 0, 0}}, // (118, 174)
+ {128, { 0, 0, 0}}, // (119, 174)
+ {128, { 0, 0, 0}}, // (120, 174)
+ {128, { 0, 0, 0}}, // (121, 174)
+ {128, { 0, 0, 0}}, // (122, 174)
+ {128, { 0, 0, 0}}, // (123, 174)
+ {128, { 0, 0, 0}}, // (124, 174)
+ {128, { 0, 0, 0}}, // (125, 174)
+ {128, { 0, 0, 0}}, // (126, 174)
+ {128, { 0, 0, 0}}, // (127, 174)
+ {128, { 0, 0, 0}}, // (128, 174)
+ {128, { 0, 0, 0}}, // (129, 174)
+ {128, { 0, 0, 0}}, // (130, 174)
+ {128, { 0, 0, 0}}, // (131, 174)
+ {128, { 0, 0, 0}}, // (132, 174)
+ {128, { 0, 0, 0}}, // (133, 174)
+ {128, { 0, 0, 0}}, // (134, 174)
+ {128, { 0, 0, 0}}, // (135, 174)
+ {128, { 0, 0, 0}}, // (136, 174)
+ {128, { 0, 0, 0}}, // (137, 174)
+ {128, { 0, 0, 0}}, // (138, 174)
+ {128, { 0, 0, 0}}, // (139, 174)
+ {128, { 0, 0, 0}}, // (140, 174)
+ {128, { 0, 0, 0}}, // (141, 174)
+ {128, { 0, 0, 0}}, // (142, 174)
+ {128, { 0, 0, 0}}, // (143, 174)
+ {128, { 0, 0, 0}}, // (144, 174)
+ {128, { 0, 0, 0}}, // (145, 174)
+ {128, { 0, 0, 0}}, // (146, 174)
+ {128, { 0, 0, 0}}, // (147, 174)
+ {128, { 0, 0, 0}}, // (148, 174)
+ {128, { 0, 0, 0}}, // (149, 174)
+ {128, { 0, 0, 0}}, // (150, 174)
+ {128, { 0, 0, 0}}, // (151, 174)
+ {128, { 0, 0, 0}}, // (152, 174)
+ {128, { 0, 0, 0}}, // (153, 174)
+ {128, { 0, 0, 0}}, // (154, 174)
+ {128, { 0, 0, 0}}, // (155, 174)
+ {128, { 0, 0, 0}}, // (156, 174)
+ {128, { 0, 0, 0}}, // (157, 174)
+ {128, { 0, 0, 0}}, // (158, 174)
+ {128, { 0, 0, 0}}, // (159, 174)
+ {128, { 0, 0, 0}}, // (160, 174)
+ {128, { 0, 0, 0}}, // (161, 174)
+ {128, { 0, 0, 0}}, // (162, 174)
+ {128, { 0, 0, 0}}, // (163, 174)
+ {128, { 0, 0, 0}}, // (164, 174)
+ {128, { 0, 0, 0}}, // (165, 174)
+ {128, { 0, 0, 0}}, // (166, 174)
+ {128, { 0, 0, 0}}, // (167, 174)
+ {128, { 0, 0, 0}}, // (168, 174)
+ {128, { 0, 0, 0}}, // (169, 174)
+ {128, { 0, 0, 0}}, // (170, 174)
+ {128, { 0, 0, 0}}, // (171, 174)
+ {128, { 0, 0, 0}}, // (172, 174)
+ {128, { 0, 0, 0}}, // (173, 174)
+ {128, { 0, 0, 0}}, // (174, 174)
+ {128, { 0, 0, 0}}, // (175, 174)
+ {128, { 0, 0, 0}}, // (176, 174)
+ {128, { 0, 0, 0}}, // (177, 174)
+ {128, { 0, 0, 0}}, // (178, 174)
+ {128, { 0, 0, 0}}, // (179, 174)
+ {128, { 0, 0, 0}}, // ( 0, 175)
+ {128, { 0, 0, 0}}, // ( 1, 175)
+ {128, { 0, 0, 0}}, // ( 2, 175)
+ {128, { 0, 0, 0}}, // ( 3, 175)
+ {128, { 0, 0, 0}}, // ( 4, 175)
+ {128, { 0, 0, 0}}, // ( 5, 175)
+ {128, { 0, 0, 0}}, // ( 6, 175)
+ {128, { 0, 0, 0}}, // ( 7, 175)
+ {128, { 0, 0, 0}}, // ( 8, 175)
+ {128, { 0, 0, 0}}, // ( 9, 175)
+ {128, { 0, 0, 0}}, // ( 10, 175)
+ {128, { 0, 0, 0}}, // ( 11, 175)
+ {128, { 0, 0, 0}}, // ( 12, 175)
+ {128, { 0, 0, 0}}, // ( 13, 175)
+ {128, { 0, 0, 0}}, // ( 14, 175)
+ {128, { 0, 0, 0}}, // ( 15, 175)
+ {128, { 0, 0, 0}}, // ( 16, 175)
+ {128, { 0, 0, 0}}, // ( 17, 175)
+ {128, { 0, 0, 0}}, // ( 18, 175)
+ {128, { 0, 0, 0}}, // ( 19, 175)
+ {128, { 0, 0, 0}}, // ( 20, 175)
+ {128, { 0, 0, 0}}, // ( 21, 175)
+ {128, { 0, 0, 0}}, // ( 22, 175)
+ {128, { 0, 0, 0}}, // ( 23, 175)
+ {128, { 0, 0, 0}}, // ( 24, 175)
+ {128, { 0, 0, 0}}, // ( 25, 175)
+ {128, { 0, 0, 0}}, // ( 26, 175)
+ {128, { 0, 0, 0}}, // ( 27, 175)
+ {128, { 0, 0, 0}}, // ( 28, 175)
+ {128, { 0, 0, 0}}, // ( 29, 175)
+ {128, { 0, 0, 0}}, // ( 30, 175)
+ {128, { 0, 0, 0}}, // ( 31, 175)
+ {128, { 0, 0, 0}}, // ( 32, 175)
+ {128, { 0, 0, 0}}, // ( 33, 175)
+ {128, { 0, 0, 0}}, // ( 34, 175)
+ {128, { 0, 0, 0}}, // ( 35, 175)
+ {128, { 0, 0, 0}}, // ( 36, 175)
+ {128, { 0, 0, 0}}, // ( 37, 175)
+ {128, { 0, 0, 0}}, // ( 38, 175)
+ {128, { 0, 0, 0}}, // ( 39, 175)
+ {128, { 0, 0, 0}}, // ( 40, 175)
+ {128, { 0, 0, 0}}, // ( 41, 175)
+ {128, { 0, 0, 0}}, // ( 42, 175)
+ {128, { 0, 0, 0}}, // ( 43, 175)
+ {128, { 0, 0, 0}}, // ( 44, 175)
+ {128, { 0, 0, 0}}, // ( 45, 175)
+ {128, { 0, 0, 0}}, // ( 46, 175)
+ {128, { 0, 0, 0}}, // ( 47, 175)
+ {128, { 0, 0, 0}}, // ( 48, 175)
+ {128, { 0, 0, 0}}, // ( 49, 175)
+ {128, { 0, 0, 0}}, // ( 50, 175)
+ {128, { 0, 0, 0}}, // ( 51, 175)
+ {128, { 0, 0, 0}}, // ( 52, 175)
+ {128, { 0, 0, 0}}, // ( 53, 175)
+ {128, { 0, 0, 0}}, // ( 54, 175)
+ {128, { 0, 0, 0}}, // ( 55, 175)
+ {128, { 0, 0, 0}}, // ( 56, 175)
+ {128, { 0, 0, 0}}, // ( 57, 175)
+ {128, { 0, 0, 0}}, // ( 58, 175)
+ {128, { 0, 0, 0}}, // ( 59, 175)
+ {128, { 0, 0, 0}}, // ( 60, 175)
+ {128, { 0, 0, 0}}, // ( 61, 175)
+ {128, { 0, 0, 0}}, // ( 62, 175)
+ {128, { 0, 0, 0}}, // ( 63, 175)
+ {128, { 0, 0, 0}}, // ( 64, 175)
+ {128, { 0, 0, 0}}, // ( 65, 175)
+ {128, { 0, 0, 0}}, // ( 66, 175)
+ {116, { 0, 0, 0}}, // ( 67, 175)
+ { 83, { 0, 0, 0}}, // ( 68, 175)
+ { 55, { 0, 0, 0}}, // ( 69, 175)
+ { 25, { 0, 0, 0}}, // ( 70, 175)
+ { 2, { 0, 0, 0}}, // ( 71, 175)
+ { 0, { 0, 0, 0}}, // ( 72, 175)
+ { 0, { 0, 0, 0}}, // ( 73, 175)
+ { 0, { 0, 0, 0}}, // ( 74, 175)
+ { 0, { 0, 0, 0}}, // ( 75, 175)
+ { 0, { 0, 0, 0}}, // ( 76, 175)
+ { 0, { 0, 0, 0}}, // ( 77, 175)
+ { 0, { 0, 0, 0}}, // ( 78, 175)
+ { 0, { 0, 0, 0}}, // ( 79, 175)
+ { 0, { 0, 0, 0}}, // ( 80, 175)
+ { 0, { 0, 0, 0}}, // ( 81, 175)
+ { 0, { 0, 0, 0}}, // ( 82, 175)
+ { 0, { 0, 0, 0}}, // ( 83, 175)
+ { 0, { 0, 0, 0}}, // ( 84, 175)
+ { 0, { 0, 0, 0}}, // ( 85, 175)
+ { 0, { 0, 0, 0}}, // ( 86, 175)
+ { 0, { 0, 0, 0}}, // ( 87, 175)
+ { 0, { 0, 0, 0}}, // ( 88, 175)
+ { 0, { 0, 0, 0}}, // ( 89, 175)
+ { 0, { 0, 0, 0}}, // ( 90, 175)
+ { 0, { 0, 0, 0}}, // ( 91, 175)
+ { 0, { 0, 0, 0}}, // ( 92, 175)
+ { 0, { 0, 0, 0}}, // ( 93, 175)
+ { 0, { 0, 0, 0}}, // ( 94, 175)
+ { 0, { 0, 0, 0}}, // ( 95, 175)
+ { 0, { 0, 0, 0}}, // ( 96, 175)
+ { 0, { 0, 0, 0}}, // ( 97, 175)
+ { 0, { 0, 0, 0}}, // ( 98, 175)
+ { 0, { 0, 0, 0}}, // ( 99, 175)
+ { 0, { 0, 0, 0}}, // (100, 175)
+ { 0, { 0, 0, 0}}, // (101, 175)
+ { 0, { 0, 0, 0}}, // (102, 175)
+ { 0, { 0, 0, 0}}, // (103, 175)
+ { 0, { 0, 0, 0}}, // (104, 175)
+ { 0, { 0, 0, 0}}, // (105, 175)
+ { 0, { 0, 0, 0}}, // (106, 175)
+ { 0, { 0, 0, 0}}, // (107, 175)
+ { 2, { 0, 0, 0}}, // (108, 175)
+ { 25, { 0, 0, 0}}, // (109, 175)
+ { 55, { 0, 0, 0}}, // (110, 175)
+ { 83, { 0, 0, 0}}, // (111, 175)
+ {116, { 0, 0, 0}}, // (112, 175)
+ {128, { 0, 0, 0}}, // (113, 175)
+ {128, { 0, 0, 0}}, // (114, 175)
+ {128, { 0, 0, 0}}, // (115, 175)
+ {128, { 0, 0, 0}}, // (116, 175)
+ {128, { 0, 0, 0}}, // (117, 175)
+ {128, { 0, 0, 0}}, // (118, 175)
+ {128, { 0, 0, 0}}, // (119, 175)
+ {128, { 0, 0, 0}}, // (120, 175)
+ {128, { 0, 0, 0}}, // (121, 175)
+ {128, { 0, 0, 0}}, // (122, 175)
+ {128, { 0, 0, 0}}, // (123, 175)
+ {128, { 0, 0, 0}}, // (124, 175)
+ {128, { 0, 0, 0}}, // (125, 175)
+ {128, { 0, 0, 0}}, // (126, 175)
+ {128, { 0, 0, 0}}, // (127, 175)
+ {128, { 0, 0, 0}}, // (128, 175)
+ {128, { 0, 0, 0}}, // (129, 175)
+ {128, { 0, 0, 0}}, // (130, 175)
+ {128, { 0, 0, 0}}, // (131, 175)
+ {128, { 0, 0, 0}}, // (132, 175)
+ {128, { 0, 0, 0}}, // (133, 175)
+ {128, { 0, 0, 0}}, // (134, 175)
+ {128, { 0, 0, 0}}, // (135, 175)
+ {128, { 0, 0, 0}}, // (136, 175)
+ {128, { 0, 0, 0}}, // (137, 175)
+ {128, { 0, 0, 0}}, // (138, 175)
+ {128, { 0, 0, 0}}, // (139, 175)
+ {128, { 0, 0, 0}}, // (140, 175)
+ {128, { 0, 0, 0}}, // (141, 175)
+ {128, { 0, 0, 0}}, // (142, 175)
+ {128, { 0, 0, 0}}, // (143, 175)
+ {128, { 0, 0, 0}}, // (144, 175)
+ {128, { 0, 0, 0}}, // (145, 175)
+ {128, { 0, 0, 0}}, // (146, 175)
+ {128, { 0, 0, 0}}, // (147, 175)
+ {128, { 0, 0, 0}}, // (148, 175)
+ {128, { 0, 0, 0}}, // (149, 175)
+ {128, { 0, 0, 0}}, // (150, 175)
+ {128, { 0, 0, 0}}, // (151, 175)
+ {128, { 0, 0, 0}}, // (152, 175)
+ {128, { 0, 0, 0}}, // (153, 175)
+ {128, { 0, 0, 0}}, // (154, 175)
+ {128, { 0, 0, 0}}, // (155, 175)
+ {128, { 0, 0, 0}}, // (156, 175)
+ {128, { 0, 0, 0}}, // (157, 175)
+ {128, { 0, 0, 0}}, // (158, 175)
+ {128, { 0, 0, 0}}, // (159, 175)
+ {128, { 0, 0, 0}}, // (160, 175)
+ {128, { 0, 0, 0}}, // (161, 175)
+ {128, { 0, 0, 0}}, // (162, 175)
+ {128, { 0, 0, 0}}, // (163, 175)
+ {128, { 0, 0, 0}}, // (164, 175)
+ {128, { 0, 0, 0}}, // (165, 175)
+ {128, { 0, 0, 0}}, // (166, 175)
+ {128, { 0, 0, 0}}, // (167, 175)
+ {128, { 0, 0, 0}}, // (168, 175)
+ {128, { 0, 0, 0}}, // (169, 175)
+ {128, { 0, 0, 0}}, // (170, 175)
+ {128, { 0, 0, 0}}, // (171, 175)
+ {128, { 0, 0, 0}}, // (172, 175)
+ {128, { 0, 0, 0}}, // (173, 175)
+ {128, { 0, 0, 0}}, // (174, 175)
+ {128, { 0, 0, 0}}, // (175, 175)
+ {128, { 0, 0, 0}}, // (176, 175)
+ {128, { 0, 0, 0}}, // (177, 175)
+ {128, { 0, 0, 0}}, // (178, 175)
+ {128, { 0, 0, 0}}, // (179, 175)
+ {128, { 0, 0, 0}}, // ( 0, 176)
+ {128, { 0, 0, 0}}, // ( 1, 176)
+ {128, { 0, 0, 0}}, // ( 2, 176)
+ {128, { 0, 0, 0}}, // ( 3, 176)
+ {128, { 0, 0, 0}}, // ( 4, 176)
+ {128, { 0, 0, 0}}, // ( 5, 176)
+ {128, { 0, 0, 0}}, // ( 6, 176)
+ {128, { 0, 0, 0}}, // ( 7, 176)
+ {128, { 0, 0, 0}}, // ( 8, 176)
+ {128, { 0, 0, 0}}, // ( 9, 176)
+ {128, { 0, 0, 0}}, // ( 10, 176)
+ {128, { 0, 0, 0}}, // ( 11, 176)
+ {128, { 0, 0, 0}}, // ( 12, 176)
+ {128, { 0, 0, 0}}, // ( 13, 176)
+ {128, { 0, 0, 0}}, // ( 14, 176)
+ {128, { 0, 0, 0}}, // ( 15, 176)
+ {128, { 0, 0, 0}}, // ( 16, 176)
+ {128, { 0, 0, 0}}, // ( 17, 176)
+ {128, { 0, 0, 0}}, // ( 18, 176)
+ {128, { 0, 0, 0}}, // ( 19, 176)
+ {128, { 0, 0, 0}}, // ( 20, 176)
+ {128, { 0, 0, 0}}, // ( 21, 176)
+ {128, { 0, 0, 0}}, // ( 22, 176)
+ {128, { 0, 0, 0}}, // ( 23, 176)
+ {128, { 0, 0, 0}}, // ( 24, 176)
+ {128, { 0, 0, 0}}, // ( 25, 176)
+ {128, { 0, 0, 0}}, // ( 26, 176)
+ {128, { 0, 0, 0}}, // ( 27, 176)
+ {128, { 0, 0, 0}}, // ( 28, 176)
+ {128, { 0, 0, 0}}, // ( 29, 176)
+ {128, { 0, 0, 0}}, // ( 30, 176)
+ {128, { 0, 0, 0}}, // ( 31, 176)
+ {128, { 0, 0, 0}}, // ( 32, 176)
+ {128, { 0, 0, 0}}, // ( 33, 176)
+ {128, { 0, 0, 0}}, // ( 34, 176)
+ {128, { 0, 0, 0}}, // ( 35, 176)
+ {128, { 0, 0, 0}}, // ( 36, 176)
+ {128, { 0, 0, 0}}, // ( 37, 176)
+ {128, { 0, 0, 0}}, // ( 38, 176)
+ {128, { 0, 0, 0}}, // ( 39, 176)
+ {128, { 0, 0, 0}}, // ( 40, 176)
+ {128, { 0, 0, 0}}, // ( 41, 176)
+ {128, { 0, 0, 0}}, // ( 42, 176)
+ {128, { 0, 0, 0}}, // ( 43, 176)
+ {128, { 0, 0, 0}}, // ( 44, 176)
+ {128, { 0, 0, 0}}, // ( 45, 176)
+ {128, { 0, 0, 0}}, // ( 46, 176)
+ {128, { 0, 0, 0}}, // ( 47, 176)
+ {128, { 0, 0, 0}}, // ( 48, 176)
+ {128, { 0, 0, 0}}, // ( 49, 176)
+ {128, { 0, 0, 0}}, // ( 50, 176)
+ {128, { 0, 0, 0}}, // ( 51, 176)
+ {128, { 0, 0, 0}}, // ( 52, 176)
+ {128, { 0, 0, 0}}, // ( 53, 176)
+ {128, { 0, 0, 0}}, // ( 54, 176)
+ {128, { 0, 0, 0}}, // ( 55, 176)
+ {128, { 0, 0, 0}}, // ( 56, 176)
+ {128, { 0, 0, 0}}, // ( 57, 176)
+ {128, { 0, 0, 0}}, // ( 58, 176)
+ {128, { 0, 0, 0}}, // ( 59, 176)
+ {128, { 0, 0, 0}}, // ( 60, 176)
+ {128, { 0, 0, 0}}, // ( 61, 176)
+ {128, { 0, 0, 0}}, // ( 62, 176)
+ {128, { 0, 0, 0}}, // ( 63, 176)
+ {128, { 0, 0, 0}}, // ( 64, 176)
+ {128, { 0, 0, 0}}, // ( 65, 176)
+ {128, { 0, 0, 0}}, // ( 66, 176)
+ {128, { 0, 0, 0}}, // ( 67, 176)
+ {128, { 0, 0, 0}}, // ( 68, 176)
+ {128, { 0, 0, 0}}, // ( 69, 176)
+ {128, { 0, 0, 0}}, // ( 70, 176)
+ {121, { 0, 0, 0}}, // ( 71, 176)
+ { 95, { 0, 0, 0}}, // ( 72, 176)
+ { 72, { 0, 0, 0}}, // ( 73, 176)
+ { 50, { 0, 0, 0}}, // ( 74, 176)
+ { 26, { 0, 0, 0}}, // ( 75, 176)
+ { 5, { 0, 0, 0}}, // ( 76, 176)
+ { 0, { 0, 0, 0}}, // ( 77, 176)
+ { 0, { 0, 0, 0}}, // ( 78, 176)
+ { 0, { 0, 0, 0}}, // ( 79, 176)
+ { 0, { 0, 0, 0}}, // ( 80, 176)
+ { 0, { 0, 0, 0}}, // ( 81, 176)
+ { 0, { 0, 0, 0}}, // ( 82, 176)
+ { 0, { 0, 0, 0}}, // ( 83, 176)
+ { 0, { 0, 0, 0}}, // ( 84, 176)
+ { 0, { 0, 0, 0}}, // ( 85, 176)
+ { 0, { 0, 0, 0}}, // ( 86, 176)
+ { 0, { 0, 0, 0}}, // ( 87, 176)
+ { 0, { 0, 0, 0}}, // ( 88, 176)
+ { 0, { 0, 0, 0}}, // ( 89, 176)
+ { 0, { 0, 0, 0}}, // ( 90, 176)
+ { 0, { 0, 0, 0}}, // ( 91, 176)
+ { 0, { 0, 0, 0}}, // ( 92, 176)
+ { 0, { 0, 0, 0}}, // ( 93, 176)
+ { 0, { 0, 0, 0}}, // ( 94, 176)
+ { 0, { 0, 0, 0}}, // ( 95, 176)
+ { 0, { 0, 0, 0}}, // ( 96, 176)
+ { 0, { 0, 0, 0}}, // ( 97, 176)
+ { 0, { 0, 0, 0}}, // ( 98, 176)
+ { 0, { 0, 0, 0}}, // ( 99, 176)
+ { 0, { 0, 0, 0}}, // (100, 176)
+ { 0, { 0, 0, 0}}, // (101, 176)
+ { 0, { 0, 0, 0}}, // (102, 176)
+ { 5, { 0, 0, 0}}, // (103, 176)
+ { 26, { 0, 0, 0}}, // (104, 176)
+ { 50, { 0, 0, 0}}, // (105, 176)
+ { 72, { 0, 0, 0}}, // (106, 176)
+ { 95, { 0, 0, 0}}, // (107, 176)
+ {121, { 0, 0, 0}}, // (108, 176)
+ {128, { 0, 0, 0}}, // (109, 176)
+ {128, { 0, 0, 0}}, // (110, 176)
+ {128, { 0, 0, 0}}, // (111, 176)
+ {128, { 0, 0, 0}}, // (112, 176)
+ {128, { 0, 0, 0}}, // (113, 176)
+ {128, { 0, 0, 0}}, // (114, 176)
+ {128, { 0, 0, 0}}, // (115, 176)
+ {128, { 0, 0, 0}}, // (116, 176)
+ {128, { 0, 0, 0}}, // (117, 176)
+ {128, { 0, 0, 0}}, // (118, 176)
+ {128, { 0, 0, 0}}, // (119, 176)
+ {128, { 0, 0, 0}}, // (120, 176)
+ {128, { 0, 0, 0}}, // (121, 176)
+ {128, { 0, 0, 0}}, // (122, 176)
+ {128, { 0, 0, 0}}, // (123, 176)
+ {128, { 0, 0, 0}}, // (124, 176)
+ {128, { 0, 0, 0}}, // (125, 176)
+ {128, { 0, 0, 0}}, // (126, 176)
+ {128, { 0, 0, 0}}, // (127, 176)
+ {128, { 0, 0, 0}}, // (128, 176)
+ {128, { 0, 0, 0}}, // (129, 176)
+ {128, { 0, 0, 0}}, // (130, 176)
+ {128, { 0, 0, 0}}, // (131, 176)
+ {128, { 0, 0, 0}}, // (132, 176)
+ {128, { 0, 0, 0}}, // (133, 176)
+ {128, { 0, 0, 0}}, // (134, 176)
+ {128, { 0, 0, 0}}, // (135, 176)
+ {128, { 0, 0, 0}}, // (136, 176)
+ {128, { 0, 0, 0}}, // (137, 176)
+ {128, { 0, 0, 0}}, // (138, 176)
+ {128, { 0, 0, 0}}, // (139, 176)
+ {128, { 0, 0, 0}}, // (140, 176)
+ {128, { 0, 0, 0}}, // (141, 176)
+ {128, { 0, 0, 0}}, // (142, 176)
+ {128, { 0, 0, 0}}, // (143, 176)
+ {128, { 0, 0, 0}}, // (144, 176)
+ {128, { 0, 0, 0}}, // (145, 176)
+ {128, { 0, 0, 0}}, // (146, 176)
+ {128, { 0, 0, 0}}, // (147, 176)
+ {128, { 0, 0, 0}}, // (148, 176)
+ {128, { 0, 0, 0}}, // (149, 176)
+ {128, { 0, 0, 0}}, // (150, 176)
+ {128, { 0, 0, 0}}, // (151, 176)
+ {128, { 0, 0, 0}}, // (152, 176)
+ {128, { 0, 0, 0}}, // (153, 176)
+ {128, { 0, 0, 0}}, // (154, 176)
+ {128, { 0, 0, 0}}, // (155, 176)
+ {128, { 0, 0, 0}}, // (156, 176)
+ {128, { 0, 0, 0}}, // (157, 176)
+ {128, { 0, 0, 0}}, // (158, 176)
+ {128, { 0, 0, 0}}, // (159, 176)
+ {128, { 0, 0, 0}}, // (160, 176)
+ {128, { 0, 0, 0}}, // (161, 176)
+ {128, { 0, 0, 0}}, // (162, 176)
+ {128, { 0, 0, 0}}, // (163, 176)
+ {128, { 0, 0, 0}}, // (164, 176)
+ {128, { 0, 0, 0}}, // (165, 176)
+ {128, { 0, 0, 0}}, // (166, 176)
+ {128, { 0, 0, 0}}, // (167, 176)
+ {128, { 0, 0, 0}}, // (168, 176)
+ {128, { 0, 0, 0}}, // (169, 176)
+ {128, { 0, 0, 0}}, // (170, 176)
+ {128, { 0, 0, 0}}, // (171, 176)
+ {128, { 0, 0, 0}}, // (172, 176)
+ {128, { 0, 0, 0}}, // (173, 176)
+ {128, { 0, 0, 0}}, // (174, 176)
+ {128, { 0, 0, 0}}, // (175, 176)
+ {128, { 0, 0, 0}}, // (176, 176)
+ {128, { 0, 0, 0}}, // (177, 176)
+ {128, { 0, 0, 0}}, // (178, 176)
+ {128, { 0, 0, 0}}, // (179, 176)
+ {128, { 0, 0, 0}}, // ( 0, 177)
+ {128, { 0, 0, 0}}, // ( 1, 177)
+ {128, { 0, 0, 0}}, // ( 2, 177)
+ {128, { 0, 0, 0}}, // ( 3, 177)
+ {128, { 0, 0, 0}}, // ( 4, 177)
+ {128, { 0, 0, 0}}, // ( 5, 177)
+ {128, { 0, 0, 0}}, // ( 6, 177)
+ {128, { 0, 0, 0}}, // ( 7, 177)
+ {128, { 0, 0, 0}}, // ( 8, 177)
+ {128, { 0, 0, 0}}, // ( 9, 177)
+ {128, { 0, 0, 0}}, // ( 10, 177)
+ {128, { 0, 0, 0}}, // ( 11, 177)
+ {128, { 0, 0, 0}}, // ( 12, 177)
+ {128, { 0, 0, 0}}, // ( 13, 177)
+ {128, { 0, 0, 0}}, // ( 14, 177)
+ {128, { 0, 0, 0}}, // ( 15, 177)
+ {128, { 0, 0, 0}}, // ( 16, 177)
+ {128, { 0, 0, 0}}, // ( 17, 177)
+ {128, { 0, 0, 0}}, // ( 18, 177)
+ {128, { 0, 0, 0}}, // ( 19, 177)
+ {128, { 0, 0, 0}}, // ( 20, 177)
+ {128, { 0, 0, 0}}, // ( 21, 177)
+ {128, { 0, 0, 0}}, // ( 22, 177)
+ {128, { 0, 0, 0}}, // ( 23, 177)
+ {128, { 0, 0, 0}}, // ( 24, 177)
+ {128, { 0, 0, 0}}, // ( 25, 177)
+ {128, { 0, 0, 0}}, // ( 26, 177)
+ {128, { 0, 0, 0}}, // ( 27, 177)
+ {128, { 0, 0, 0}}, // ( 28, 177)
+ {128, { 0, 0, 0}}, // ( 29, 177)
+ {128, { 0, 0, 0}}, // ( 30, 177)
+ {128, { 0, 0, 0}}, // ( 31, 177)
+ {128, { 0, 0, 0}}, // ( 32, 177)
+ {128, { 0, 0, 0}}, // ( 33, 177)
+ {128, { 0, 0, 0}}, // ( 34, 177)
+ {128, { 0, 0, 0}}, // ( 35, 177)
+ {128, { 0, 0, 0}}, // ( 36, 177)
+ {128, { 0, 0, 0}}, // ( 37, 177)
+ {128, { 0, 0, 0}}, // ( 38, 177)
+ {128, { 0, 0, 0}}, // ( 39, 177)
+ {128, { 0, 0, 0}}, // ( 40, 177)
+ {128, { 0, 0, 0}}, // ( 41, 177)
+ {128, { 0, 0, 0}}, // ( 42, 177)
+ {128, { 0, 0, 0}}, // ( 43, 177)
+ {128, { 0, 0, 0}}, // ( 44, 177)
+ {128, { 0, 0, 0}}, // ( 45, 177)
+ {128, { 0, 0, 0}}, // ( 46, 177)
+ {128, { 0, 0, 0}}, // ( 47, 177)
+ {128, { 0, 0, 0}}, // ( 48, 177)
+ {128, { 0, 0, 0}}, // ( 49, 177)
+ {128, { 0, 0, 0}}, // ( 50, 177)
+ {128, { 0, 0, 0}}, // ( 51, 177)
+ {128, { 0, 0, 0}}, // ( 52, 177)
+ {128, { 0, 0, 0}}, // ( 53, 177)
+ {128, { 0, 0, 0}}, // ( 54, 177)
+ {128, { 0, 0, 0}}, // ( 55, 177)
+ {128, { 0, 0, 0}}, // ( 56, 177)
+ {128, { 0, 0, 0}}, // ( 57, 177)
+ {128, { 0, 0, 0}}, // ( 58, 177)
+ {128, { 0, 0, 0}}, // ( 59, 177)
+ {128, { 0, 0, 0}}, // ( 60, 177)
+ {128, { 0, 0, 0}}, // ( 61, 177)
+ {128, { 0, 0, 0}}, // ( 62, 177)
+ {128, { 0, 0, 0}}, // ( 63, 177)
+ {128, { 0, 0, 0}}, // ( 64, 177)
+ {128, { 0, 0, 0}}, // ( 65, 177)
+ {128, { 0, 0, 0}}, // ( 66, 177)
+ {128, { 0, 0, 0}}, // ( 67, 177)
+ {128, { 0, 0, 0}}, // ( 68, 177)
+ {128, { 0, 0, 0}}, // ( 69, 177)
+ {128, { 0, 0, 0}}, // ( 70, 177)
+ {128, { 0, 0, 0}}, // ( 71, 177)
+ {128, { 0, 0, 0}}, // ( 72, 177)
+ {128, { 0, 0, 0}}, // ( 73, 177)
+ {128, { 0, 0, 0}}, // ( 74, 177)
+ {128, { 0, 0, 0}}, // ( 75, 177)
+ {127, { 0, 0, 0}}, // ( 76, 177)
+ {113, { 0, 0, 0}}, // ( 77, 177)
+ { 95, { 0, 0, 0}}, // ( 78, 177)
+ { 80, { 0, 0, 0}}, // ( 79, 177)
+ { 65, { 0, 0, 0}}, // ( 80, 177)
+ { 53, { 0, 0, 0}}, // ( 81, 177)
+ { 44, { 0, 0, 0}}, // ( 82, 177)
+ { 33, { 0, 0, 0}}, // ( 83, 177)
+ { 24, { 0, 0, 0}}, // ( 84, 177)
+ { 17, { 0, 0, 0}}, // ( 85, 177)
+ { 9, { 0, 0, 0}}, // ( 86, 177)
+ { 9, { 0, 0, 0}}, // ( 87, 177)
+ { 6, { 0, 0, 0}}, // ( 88, 177)
+ { 0, { 0, 0, 0}}, // ( 89, 177)
+ { 0, { 0, 0, 0}}, // ( 90, 177)
+ { 6, { 0, 0, 0}}, // ( 91, 177)
+ { 9, { 0, 0, 0}}, // ( 92, 177)
+ { 9, { 0, 0, 0}}, // ( 93, 177)
+ { 17, { 0, 0, 0}}, // ( 94, 177)
+ { 24, { 0, 0, 0}}, // ( 95, 177)
+ { 33, { 0, 0, 0}}, // ( 96, 177)
+ { 44, { 0, 0, 0}}, // ( 97, 177)
+ { 53, { 0, 0, 0}}, // ( 98, 177)
+ { 65, { 0, 0, 0}}, // ( 99, 177)
+ { 80, { 0, 0, 0}}, // (100, 177)
+ { 95, { 0, 0, 0}}, // (101, 177)
+ {113, { 0, 0, 0}}, // (102, 177)
+ {127, { 0, 0, 0}}, // (103, 177)
+ {128, { 0, 0, 0}}, // (104, 177)
+ {128, { 0, 0, 0}}, // (105, 177)
+ {128, { 0, 0, 0}}, // (106, 177)
+ {128, { 0, 0, 0}}, // (107, 177)
+ {128, { 0, 0, 0}}, // (108, 177)
+ {128, { 0, 0, 0}}, // (109, 177)
+ {128, { 0, 0, 0}}, // (110, 177)
+ {128, { 0, 0, 0}}, // (111, 177)
+ {128, { 0, 0, 0}}, // (112, 177)
+ {128, { 0, 0, 0}}, // (113, 177)
+ {128, { 0, 0, 0}}, // (114, 177)
+ {128, { 0, 0, 0}}, // (115, 177)
+ {128, { 0, 0, 0}}, // (116, 177)
+ {128, { 0, 0, 0}}, // (117, 177)
+ {128, { 0, 0, 0}}, // (118, 177)
+ {128, { 0, 0, 0}}, // (119, 177)
+ {128, { 0, 0, 0}}, // (120, 177)
+ {128, { 0, 0, 0}}, // (121, 177)
+ {128, { 0, 0, 0}}, // (122, 177)
+ {128, { 0, 0, 0}}, // (123, 177)
+ {128, { 0, 0, 0}}, // (124, 177)
+ {128, { 0, 0, 0}}, // (125, 177)
+ {128, { 0, 0, 0}}, // (126, 177)
+ {128, { 0, 0, 0}}, // (127, 177)
+ {128, { 0, 0, 0}}, // (128, 177)
+ {128, { 0, 0, 0}}, // (129, 177)
+ {128, { 0, 0, 0}}, // (130, 177)
+ {128, { 0, 0, 0}}, // (131, 177)
+ {128, { 0, 0, 0}}, // (132, 177)
+ {128, { 0, 0, 0}}, // (133, 177)
+ {128, { 0, 0, 0}}, // (134, 177)
+ {128, { 0, 0, 0}}, // (135, 177)
+ {128, { 0, 0, 0}}, // (136, 177)
+ {128, { 0, 0, 0}}, // (137, 177)
+ {128, { 0, 0, 0}}, // (138, 177)
+ {128, { 0, 0, 0}}, // (139, 177)
+ {128, { 0, 0, 0}}, // (140, 177)
+ {128, { 0, 0, 0}}, // (141, 177)
+ {128, { 0, 0, 0}}, // (142, 177)
+ {128, { 0, 0, 0}}, // (143, 177)
+ {128, { 0, 0, 0}}, // (144, 177)
+ {128, { 0, 0, 0}}, // (145, 177)
+ {128, { 0, 0, 0}}, // (146, 177)
+ {128, { 0, 0, 0}}, // (147, 177)
+ {128, { 0, 0, 0}}, // (148, 177)
+ {128, { 0, 0, 0}}, // (149, 177)
+ {128, { 0, 0, 0}}, // (150, 177)
+ {128, { 0, 0, 0}}, // (151, 177)
+ {128, { 0, 0, 0}}, // (152, 177)
+ {128, { 0, 0, 0}}, // (153, 177)
+ {128, { 0, 0, 0}}, // (154, 177)
+ {128, { 0, 0, 0}}, // (155, 177)
+ {128, { 0, 0, 0}}, // (156, 177)
+ {128, { 0, 0, 0}}, // (157, 177)
+ {128, { 0, 0, 0}}, // (158, 177)
+ {128, { 0, 0, 0}}, // (159, 177)
+ {128, { 0, 0, 0}}, // (160, 177)
+ {128, { 0, 0, 0}}, // (161, 177)
+ {128, { 0, 0, 0}}, // (162, 177)
+ {128, { 0, 0, 0}}, // (163, 177)
+ {128, { 0, 0, 0}}, // (164, 177)
+ {128, { 0, 0, 0}}, // (165, 177)
+ {128, { 0, 0, 0}}, // (166, 177)
+ {128, { 0, 0, 0}}, // (167, 177)
+ {128, { 0, 0, 0}}, // (168, 177)
+ {128, { 0, 0, 0}}, // (169, 177)
+ {128, { 0, 0, 0}}, // (170, 177)
+ {128, { 0, 0, 0}}, // (171, 177)
+ {128, { 0, 0, 0}}, // (172, 177)
+ {128, { 0, 0, 0}}, // (173, 177)
+ {128, { 0, 0, 0}}, // (174, 177)
+ {128, { 0, 0, 0}}, // (175, 177)
+ {128, { 0, 0, 0}}, // (176, 177)
+ {128, { 0, 0, 0}}, // (177, 177)
+ {128, { 0, 0, 0}}, // (178, 177)
+ {128, { 0, 0, 0}}, // (179, 177)
+ {128, { 0, 0, 0}}, // ( 0, 178)
+ {128, { 0, 0, 0}}, // ( 1, 178)
+ {128, { 0, 0, 0}}, // ( 2, 178)
+ {128, { 0, 0, 0}}, // ( 3, 178)
+ {128, { 0, 0, 0}}, // ( 4, 178)
+ {128, { 0, 0, 0}}, // ( 5, 178)
+ {128, { 0, 0, 0}}, // ( 6, 178)
+ {128, { 0, 0, 0}}, // ( 7, 178)
+ {128, { 0, 0, 0}}, // ( 8, 178)
+ {128, { 0, 0, 0}}, // ( 9, 178)
+ {128, { 0, 0, 0}}, // ( 10, 178)
+ {128, { 0, 0, 0}}, // ( 11, 178)
+ {128, { 0, 0, 0}}, // ( 12, 178)
+ {128, { 0, 0, 0}}, // ( 13, 178)
+ {128, { 0, 0, 0}}, // ( 14, 178)
+ {128, { 0, 0, 0}}, // ( 15, 178)
+ {128, { 0, 0, 0}}, // ( 16, 178)
+ {128, { 0, 0, 0}}, // ( 17, 178)
+ {128, { 0, 0, 0}}, // ( 18, 178)
+ {128, { 0, 0, 0}}, // ( 19, 178)
+ {128, { 0, 0, 0}}, // ( 20, 178)
+ {128, { 0, 0, 0}}, // ( 21, 178)
+ {128, { 0, 0, 0}}, // ( 22, 178)
+ {128, { 0, 0, 0}}, // ( 23, 178)
+ {128, { 0, 0, 0}}, // ( 24, 178)
+ {128, { 0, 0, 0}}, // ( 25, 178)
+ {128, { 0, 0, 0}}, // ( 26, 178)
+ {128, { 0, 0, 0}}, // ( 27, 178)
+ {128, { 0, 0, 0}}, // ( 28, 178)
+ {128, { 0, 0, 0}}, // ( 29, 178)
+ {128, { 0, 0, 0}}, // ( 30, 178)
+ {128, { 0, 0, 0}}, // ( 31, 178)
+ {128, { 0, 0, 0}}, // ( 32, 178)
+ {128, { 0, 0, 0}}, // ( 33, 178)
+ {128, { 0, 0, 0}}, // ( 34, 178)
+ {128, { 0, 0, 0}}, // ( 35, 178)
+ {128, { 0, 0, 0}}, // ( 36, 178)
+ {128, { 0, 0, 0}}, // ( 37, 178)
+ {128, { 0, 0, 0}}, // ( 38, 178)
+ {128, { 0, 0, 0}}, // ( 39, 178)
+ {128, { 0, 0, 0}}, // ( 40, 178)
+ {128, { 0, 0, 0}}, // ( 41, 178)
+ {128, { 0, 0, 0}}, // ( 42, 178)
+ {128, { 0, 0, 0}}, // ( 43, 178)
+ {128, { 0, 0, 0}}, // ( 44, 178)
+ {128, { 0, 0, 0}}, // ( 45, 178)
+ {128, { 0, 0, 0}}, // ( 46, 178)
+ {128, { 0, 0, 0}}, // ( 47, 178)
+ {128, { 0, 0, 0}}, // ( 48, 178)
+ {128, { 0, 0, 0}}, // ( 49, 178)
+ {128, { 0, 0, 0}}, // ( 50, 178)
+ {128, { 0, 0, 0}}, // ( 51, 178)
+ {128, { 0, 0, 0}}, // ( 52, 178)
+ {128, { 0, 0, 0}}, // ( 53, 178)
+ {128, { 0, 0, 0}}, // ( 54, 178)
+ {128, { 0, 0, 0}}, // ( 55, 178)
+ {128, { 0, 0, 0}}, // ( 56, 178)
+ {128, { 0, 0, 0}}, // ( 57, 178)
+ {128, { 0, 0, 0}}, // ( 58, 178)
+ {128, { 0, 0, 0}}, // ( 59, 178)
+ {128, { 0, 0, 0}}, // ( 60, 178)
+ {128, { 0, 0, 0}}, // ( 61, 178)
+ {128, { 0, 0, 0}}, // ( 62, 178)
+ {128, { 0, 0, 0}}, // ( 63, 178)
+ {128, { 0, 0, 0}}, // ( 64, 178)
+ {128, { 0, 0, 0}}, // ( 65, 178)
+ {128, { 0, 0, 0}}, // ( 66, 178)
+ {128, { 0, 0, 0}}, // ( 67, 178)
+ {128, { 0, 0, 0}}, // ( 68, 178)
+ {128, { 0, 0, 0}}, // ( 69, 178)
+ {128, { 0, 0, 0}}, // ( 70, 178)
+ {128, { 0, 0, 0}}, // ( 71, 178)
+ {128, { 0, 0, 0}}, // ( 72, 178)
+ {128, { 0, 0, 0}}, // ( 73, 178)
+ {128, { 0, 0, 0}}, // ( 74, 178)
+ {128, { 0, 0, 0}}, // ( 75, 178)
+ {128, { 0, 0, 0}}, // ( 76, 178)
+ {128, { 0, 0, 0}}, // ( 77, 178)
+ {128, { 0, 0, 0}}, // ( 78, 178)
+ {128, { 0, 0, 0}}, // ( 79, 178)
+ {128, { 0, 0, 0}}, // ( 80, 178)
+ {128, { 0, 0, 0}}, // ( 81, 178)
+ {128, { 0, 0, 0}}, // ( 82, 178)
+ {128, { 0, 0, 0}}, // ( 83, 178)
+ {128, { 0, 0, 0}}, // ( 84, 178)
+ {128, { 0, 0, 0}}, // ( 85, 178)
+ {128, { 0, 0, 0}}, // ( 86, 178)
+ {128, { 0, 0, 0}}, // ( 87, 178)
+ {128, { 0, 0, 0}}, // ( 88, 178)
+ {128, { 0, 0, 0}}, // ( 89, 178)
+ {128, { 0, 0, 0}}, // ( 90, 178)
+ {128, { 0, 0, 0}}, // ( 91, 178)
+ {128, { 0, 0, 0}}, // ( 92, 178)
+ {128, { 0, 0, 0}}, // ( 93, 178)
+ {128, { 0, 0, 0}}, // ( 94, 178)
+ {128, { 0, 0, 0}}, // ( 95, 178)
+ {128, { 0, 0, 0}}, // ( 96, 178)
+ {128, { 0, 0, 0}}, // ( 97, 178)
+ {128, { 0, 0, 0}}, // ( 98, 178)
+ {128, { 0, 0, 0}}, // ( 99, 178)
+ {128, { 0, 0, 0}}, // (100, 178)
+ {128, { 0, 0, 0}}, // (101, 178)
+ {128, { 0, 0, 0}}, // (102, 178)
+ {128, { 0, 0, 0}}, // (103, 178)
+ {128, { 0, 0, 0}}, // (104, 178)
+ {128, { 0, 0, 0}}, // (105, 178)
+ {128, { 0, 0, 0}}, // (106, 178)
+ {128, { 0, 0, 0}}, // (107, 178)
+ {128, { 0, 0, 0}}, // (108, 178)
+ {128, { 0, 0, 0}}, // (109, 178)
+ {128, { 0, 0, 0}}, // (110, 178)
+ {128, { 0, 0, 0}}, // (111, 178)
+ {128, { 0, 0, 0}}, // (112, 178)
+ {128, { 0, 0, 0}}, // (113, 178)
+ {128, { 0, 0, 0}}, // (114, 178)
+ {128, { 0, 0, 0}}, // (115, 178)
+ {128, { 0, 0, 0}}, // (116, 178)
+ {128, { 0, 0, 0}}, // (117, 178)
+ {128, { 0, 0, 0}}, // (118, 178)
+ {128, { 0, 0, 0}}, // (119, 178)
+ {128, { 0, 0, 0}}, // (120, 178)
+ {128, { 0, 0, 0}}, // (121, 178)
+ {128, { 0, 0, 0}}, // (122, 178)
+ {128, { 0, 0, 0}}, // (123, 178)
+ {128, { 0, 0, 0}}, // (124, 178)
+ {128, { 0, 0, 0}}, // (125, 178)
+ {128, { 0, 0, 0}}, // (126, 178)
+ {128, { 0, 0, 0}}, // (127, 178)
+ {128, { 0, 0, 0}}, // (128, 178)
+ {128, { 0, 0, 0}}, // (129, 178)
+ {128, { 0, 0, 0}}, // (130, 178)
+ {128, { 0, 0, 0}}, // (131, 178)
+ {128, { 0, 0, 0}}, // (132, 178)
+ {128, { 0, 0, 0}}, // (133, 178)
+ {128, { 0, 0, 0}}, // (134, 178)
+ {128, { 0, 0, 0}}, // (135, 178)
+ {128, { 0, 0, 0}}, // (136, 178)
+ {128, { 0, 0, 0}}, // (137, 178)
+ {128, { 0, 0, 0}}, // (138, 178)
+ {128, { 0, 0, 0}}, // (139, 178)
+ {128, { 0, 0, 0}}, // (140, 178)
+ {128, { 0, 0, 0}}, // (141, 178)
+ {128, { 0, 0, 0}}, // (142, 178)
+ {128, { 0, 0, 0}}, // (143, 178)
+ {128, { 0, 0, 0}}, // (144, 178)
+ {128, { 0, 0, 0}}, // (145, 178)
+ {128, { 0, 0, 0}}, // (146, 178)
+ {128, { 0, 0, 0}}, // (147, 178)
+ {128, { 0, 0, 0}}, // (148, 178)
+ {128, { 0, 0, 0}}, // (149, 178)
+ {128, { 0, 0, 0}}, // (150, 178)
+ {128, { 0, 0, 0}}, // (151, 178)
+ {128, { 0, 0, 0}}, // (152, 178)
+ {128, { 0, 0, 0}}, // (153, 178)
+ {128, { 0, 0, 0}}, // (154, 178)
+ {128, { 0, 0, 0}}, // (155, 178)
+ {128, { 0, 0, 0}}, // (156, 178)
+ {128, { 0, 0, 0}}, // (157, 178)
+ {128, { 0, 0, 0}}, // (158, 178)
+ {128, { 0, 0, 0}}, // (159, 178)
+ {128, { 0, 0, 0}}, // (160, 178)
+ {128, { 0, 0, 0}}, // (161, 178)
+ {128, { 0, 0, 0}}, // (162, 178)
+ {128, { 0, 0, 0}}, // (163, 178)
+ {128, { 0, 0, 0}}, // (164, 178)
+ {128, { 0, 0, 0}}, // (165, 178)
+ {128, { 0, 0, 0}}, // (166, 178)
+ {128, { 0, 0, 0}}, // (167, 178)
+ {128, { 0, 0, 0}}, // (168, 178)
+ {128, { 0, 0, 0}}, // (169, 178)
+ {128, { 0, 0, 0}}, // (170, 178)
+ {128, { 0, 0, 0}}, // (171, 178)
+ {128, { 0, 0, 0}}, // (172, 178)
+ {128, { 0, 0, 0}}, // (173, 178)
+ {128, { 0, 0, 0}}, // (174, 178)
+ {128, { 0, 0, 0}}, // (175, 178)
+ {128, { 0, 0, 0}}, // (176, 178)
+ {128, { 0, 0, 0}}, // (177, 178)
+ {128, { 0, 0, 0}}, // (178, 178)
+ {128, { 0, 0, 0}}, // (179, 178)
+ {128, { 0, 0, 0}}, // ( 0, 179)
+ {128, { 0, 0, 0}}, // ( 1, 179)
+ {128, { 0, 0, 0}}, // ( 2, 179)
+ {128, { 0, 0, 0}}, // ( 3, 179)
+ {128, { 0, 0, 0}}, // ( 4, 179)
+ {128, { 0, 0, 0}}, // ( 5, 179)
+ {128, { 0, 0, 0}}, // ( 6, 179)
+ {128, { 0, 0, 0}}, // ( 7, 179)
+ {128, { 0, 0, 0}}, // ( 8, 179)
+ {128, { 0, 0, 0}}, // ( 9, 179)
+ {128, { 0, 0, 0}}, // ( 10, 179)
+ {128, { 0, 0, 0}}, // ( 11, 179)
+ {128, { 0, 0, 0}}, // ( 12, 179)
+ {128, { 0, 0, 0}}, // ( 13, 179)
+ {128, { 0, 0, 0}}, // ( 14, 179)
+ {128, { 0, 0, 0}}, // ( 15, 179)
+ {128, { 0, 0, 0}}, // ( 16, 179)
+ {128, { 0, 0, 0}}, // ( 17, 179)
+ {128, { 0, 0, 0}}, // ( 18, 179)
+ {128, { 0, 0, 0}}, // ( 19, 179)
+ {128, { 0, 0, 0}}, // ( 20, 179)
+ {128, { 0, 0, 0}}, // ( 21, 179)
+ {128, { 0, 0, 0}}, // ( 22, 179)
+ {128, { 0, 0, 0}}, // ( 23, 179)
+ {128, { 0, 0, 0}}, // ( 24, 179)
+ {128, { 0, 0, 0}}, // ( 25, 179)
+ {128, { 0, 0, 0}}, // ( 26, 179)
+ {128, { 0, 0, 0}}, // ( 27, 179)
+ {128, { 0, 0, 0}}, // ( 28, 179)
+ {128, { 0, 0, 0}}, // ( 29, 179)
+ {128, { 0, 0, 0}}, // ( 30, 179)
+ {128, { 0, 0, 0}}, // ( 31, 179)
+ {128, { 0, 0, 0}}, // ( 32, 179)
+ {128, { 0, 0, 0}}, // ( 33, 179)
+ {128, { 0, 0, 0}}, // ( 34, 179)
+ {128, { 0, 0, 0}}, // ( 35, 179)
+ {128, { 0, 0, 0}}, // ( 36, 179)
+ {128, { 0, 0, 0}}, // ( 37, 179)
+ {128, { 0, 0, 0}}, // ( 38, 179)
+ {128, { 0, 0, 0}}, // ( 39, 179)
+ {128, { 0, 0, 0}}, // ( 40, 179)
+ {128, { 0, 0, 0}}, // ( 41, 179)
+ {128, { 0, 0, 0}}, // ( 42, 179)
+ {128, { 0, 0, 0}}, // ( 43, 179)
+ {128, { 0, 0, 0}}, // ( 44, 179)
+ {128, { 0, 0, 0}}, // ( 45, 179)
+ {128, { 0, 0, 0}}, // ( 46, 179)
+ {128, { 0, 0, 0}}, // ( 47, 179)
+ {128, { 0, 0, 0}}, // ( 48, 179)
+ {128, { 0, 0, 0}}, // ( 49, 179)
+ {128, { 0, 0, 0}}, // ( 50, 179)
+ {128, { 0, 0, 0}}, // ( 51, 179)
+ {128, { 0, 0, 0}}, // ( 52, 179)
+ {128, { 0, 0, 0}}, // ( 53, 179)
+ {128, { 0, 0, 0}}, // ( 54, 179)
+ {128, { 0, 0, 0}}, // ( 55, 179)
+ {128, { 0, 0, 0}}, // ( 56, 179)
+ {128, { 0, 0, 0}}, // ( 57, 179)
+ {128, { 0, 0, 0}}, // ( 58, 179)
+ {128, { 0, 0, 0}}, // ( 59, 179)
+ {128, { 0, 0, 0}}, // ( 60, 179)
+ {128, { 0, 0, 0}}, // ( 61, 179)
+ {128, { 0, 0, 0}}, // ( 62, 179)
+ {128, { 0, 0, 0}}, // ( 63, 179)
+ {128, { 0, 0, 0}}, // ( 64, 179)
+ {128, { 0, 0, 0}}, // ( 65, 179)
+ {128, { 0, 0, 0}}, // ( 66, 179)
+ {128, { 0, 0, 0}}, // ( 67, 179)
+ {128, { 0, 0, 0}}, // ( 68, 179)
+ {128, { 0, 0, 0}}, // ( 69, 179)
+ {128, { 0, 0, 0}}, // ( 70, 179)
+ {128, { 0, 0, 0}}, // ( 71, 179)
+ {128, { 0, 0, 0}}, // ( 72, 179)
+ {128, { 0, 0, 0}}, // ( 73, 179)
+ {128, { 0, 0, 0}}, // ( 74, 179)
+ {128, { 0, 0, 0}}, // ( 75, 179)
+ {128, { 0, 0, 0}}, // ( 76, 179)
+ {128, { 0, 0, 0}}, // ( 77, 179)
+ {128, { 0, 0, 0}}, // ( 78, 179)
+ {128, { 0, 0, 0}}, // ( 79, 179)
+ {128, { 0, 0, 0}}, // ( 80, 179)
+ {128, { 0, 0, 0}}, // ( 81, 179)
+ {128, { 0, 0, 0}}, // ( 82, 179)
+ {128, { 0, 0, 0}}, // ( 83, 179)
+ {128, { 0, 0, 0}}, // ( 84, 179)
+ {128, { 0, 0, 0}}, // ( 85, 179)
+ {128, { 0, 0, 0}}, // ( 86, 179)
+ {128, { 0, 0, 0}}, // ( 87, 179)
+ {128, { 0, 0, 0}}, // ( 88, 179)
+ {128, { 0, 0, 0}}, // ( 89, 179)
+ {128, { 0, 0, 0}}, // ( 90, 179)
+ {128, { 0, 0, 0}}, // ( 91, 179)
+ {128, { 0, 0, 0}}, // ( 92, 179)
+ {128, { 0, 0, 0}}, // ( 93, 179)
+ {128, { 0, 0, 0}}, // ( 94, 179)
+ {128, { 0, 0, 0}}, // ( 95, 179)
+ {128, { 0, 0, 0}}, // ( 96, 179)
+ {128, { 0, 0, 0}}, // ( 97, 179)
+ {128, { 0, 0, 0}}, // ( 98, 179)
+ {128, { 0, 0, 0}}, // ( 99, 179)
+ {128, { 0, 0, 0}}, // (100, 179)
+ {128, { 0, 0, 0}}, // (101, 179)
+ {128, { 0, 0, 0}}, // (102, 179)
+ {128, { 0, 0, 0}}, // (103, 179)
+ {128, { 0, 0, 0}}, // (104, 179)
+ {128, { 0, 0, 0}}, // (105, 179)
+ {128, { 0, 0, 0}}, // (106, 179)
+ {128, { 0, 0, 0}}, // (107, 179)
+ {128, { 0, 0, 0}}, // (108, 179)
+ {128, { 0, 0, 0}}, // (109, 179)
+ {128, { 0, 0, 0}}, // (110, 179)
+ {128, { 0, 0, 0}}, // (111, 179)
+ {128, { 0, 0, 0}}, // (112, 179)
+ {128, { 0, 0, 0}}, // (113, 179)
+ {128, { 0, 0, 0}}, // (114, 179)
+ {128, { 0, 0, 0}}, // (115, 179)
+ {128, { 0, 0, 0}}, // (116, 179)
+ {128, { 0, 0, 0}}, // (117, 179)
+ {128, { 0, 0, 0}}, // (118, 179)
+ {128, { 0, 0, 0}}, // (119, 179)
+ {128, { 0, 0, 0}}, // (120, 179)
+ {128, { 0, 0, 0}}, // (121, 179)
+ {128, { 0, 0, 0}}, // (122, 179)
+ {128, { 0, 0, 0}}, // (123, 179)
+ {128, { 0, 0, 0}}, // (124, 179)
+ {128, { 0, 0, 0}}, // (125, 179)
+ {128, { 0, 0, 0}}, // (126, 179)
+ {128, { 0, 0, 0}}, // (127, 179)
+ {128, { 0, 0, 0}}, // (128, 179)
+ {128, { 0, 0, 0}}, // (129, 179)
+ {128, { 0, 0, 0}}, // (130, 179)
+ {128, { 0, 0, 0}}, // (131, 179)
+ {128, { 0, 0, 0}}, // (132, 179)
+ {128, { 0, 0, 0}}, // (133, 179)
+ {128, { 0, 0, 0}}, // (134, 179)
+ {128, { 0, 0, 0}}, // (135, 179)
+ {128, { 0, 0, 0}}, // (136, 179)
+ {128, { 0, 0, 0}}, // (137, 179)
+ {128, { 0, 0, 0}}, // (138, 179)
+ {128, { 0, 0, 0}}, // (139, 179)
+ {128, { 0, 0, 0}}, // (140, 179)
+ {128, { 0, 0, 0}}, // (141, 179)
+ {128, { 0, 0, 0}}, // (142, 179)
+ {128, { 0, 0, 0}}, // (143, 179)
+ {128, { 0, 0, 0}}, // (144, 179)
+ {128, { 0, 0, 0}}, // (145, 179)
+ {128, { 0, 0, 0}}, // (146, 179)
+ {128, { 0, 0, 0}}, // (147, 179)
+ {128, { 0, 0, 0}}, // (148, 179)
+ {128, { 0, 0, 0}}, // (149, 179)
+ {128, { 0, 0, 0}}, // (150, 179)
+ {128, { 0, 0, 0}}, // (151, 179)
+ {128, { 0, 0, 0}}, // (152, 179)
+ {128, { 0, 0, 0}}, // (153, 179)
+ {128, { 0, 0, 0}}, // (154, 179)
+ {128, { 0, 0, 0}}, // (155, 179)
+ {128, { 0, 0, 0}}, // (156, 179)
+ {128, { 0, 0, 0}}, // (157, 179)
+ {128, { 0, 0, 0}}, // (158, 179)
+ {128, { 0, 0, 0}}, // (159, 179)
+ {128, { 0, 0, 0}}, // (160, 179)
+ {128, { 0, 0, 0}}, // (161, 179)
+ {128, { 0, 0, 0}}, // (162, 179)
+ {128, { 0, 0, 0}}, // (163, 179)
+ {128, { 0, 0, 0}}, // (164, 179)
+ {128, { 0, 0, 0}}, // (165, 179)
+ {128, { 0, 0, 0}}, // (166, 179)
+ {128, { 0, 0, 0}}, // (167, 179)
+ {128, { 0, 0, 0}}, // (168, 179)
+ {128, { 0, 0, 0}}, // (169, 179)
+ {128, { 0, 0, 0}}, // (170, 179)
+ {128, { 0, 0, 0}}, // (171, 179)
+ {128, { 0, 0, 0}}, // (172, 179)
+ {128, { 0, 0, 0}}, // (173, 179)
+ {128, { 0, 0, 0}}, // (174, 179)
+ {128, { 0, 0, 0}}, // (175, 179)
+ {128, { 0, 0, 0}}, // (176, 179)
+ {128, { 0, 0, 0}}, // (177, 179)
+ {128, { 0, 0, 0}}, // (178, 179)
+ {128, { 0, 0, 0}}, // (179, 179)
+};
diff --git a/hw/gpio/Makefile.objs b/hw/gpio/Makefile.objs
index 3cfc261f9b746..ba9adae836352 100644
--- a/hw/gpio/Makefile.objs
+++ b/hw/gpio/Makefile.objs
@@ -10,3 +10,4 @@ common-obj-$(CONFIG_IMX) += imx_gpio.o
common-obj-$(CONFIG_RASPI) += bcm2835_gpio.o
common-obj-$(CONFIG_NRF51_SOC) += nrf51_gpio.o
common-obj-$(CONFIG_ASPEED_SOC) += aspeed_gpio.o
+common-obj-$(CONFIG_STM32) += stm32_gpio.o stm32_afio.o stm32_exti.o
diff --git a/hw/gpio/stm32_afio.c b/hw/gpio/stm32_afio.c
new file mode 100644
index 0000000000000..6f2cc309a5450
--- /dev/null
+++ b/hw/gpio/stm32_afio.c
@@ -0,0 +1,308 @@
+/*
+ * STM32 Microcontroller AFIO (Alternate Function I/O) module
+ *
+ * Copyright (C) 2010 Andre Beckus
+ *
+ * Implementation based on ST Microelectronics "RM0008 Reference Manual Rev 10"
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, see .
+ */
+
+#include "qemu/osdep.h"
+#include "hw/arm/stm32.h"
+#include "qemu/bitops.h"
+#include "hw/hw.h"
+#include "hw/qdev-properties.h"
+#include "qapi/error.h"
+
+
+
+/* DEFINITIONS */
+
+#define AFIO_EVCR_OFFSET 0x00
+
+#define AFIO_MAPR_OFFSET 0x04
+#define AFIO_MAPR_USART3_REMAP_START 4
+#define AFIO_MAPR_USART3_REMAP_MASK 0x00000030
+#define AFIO_MAPR_USART2_REMAP_BIT 3
+#define AFIO_MAPR_USART1_REMAP_BIT 2
+
+#define AFIO_EXTICR_START 0x08
+#define AFIO_EXTICR_COUNT 4
+
+#define AFIO_EXTICR1_OFFSET 0x08
+#define AFIO_EXTICR2_OFFSET 0x0c
+#define AFIO_EXTICR3_OFFSET 0x10
+#define AFIO_EXTICR4_OFFSET 0x14
+
+#define AFIO_EXTI_PER_CR 4
+
+struct Stm32Afio {
+ /* Inherited */
+ SysBusDevice busdev;
+
+ /* Properties */
+ void *stm32_rcc_prop;
+ void *stm32_exti_prop;
+
+ /* Private */
+ MemoryRegion iomem;
+
+ Stm32Rcc *stm32_rcc;
+
+ Stm32Gpio *gpio[STM32_GPIO_COUNT];
+ Stm32Exti *exti;
+
+ uint32_t
+ USART1_REMAP,
+ USART2_REMAP,
+ USART3_REMAP,
+ AFIO_MAPR,
+ AFIO_EXTICR[AFIO_EXTICR_COUNT];
+};
+
+static void stm32_afio_instance_init(Object *obj);
+
+
+
+
+/* REGISTER IMPLEMENTATION */
+
+static uint32_t stm32_afio_AFIO_MAPR_read(Stm32Afio *s)
+{
+ return (s->USART1_REMAP << AFIO_MAPR_USART1_REMAP_BIT) |
+ (s->USART2_REMAP << AFIO_MAPR_USART2_REMAP_BIT) |
+ (s->USART3_REMAP << AFIO_MAPR_USART3_REMAP_START);
+}
+
+static void stm32_afio_AFIO_MAPR_write(Stm32Afio *s, uint32_t new_value,
+ bool init)
+{
+ s->USART1_REMAP = extract32(s->AFIO_MAPR, AFIO_MAPR_USART1_REMAP_BIT, 1);
+ s->USART2_REMAP = extract32(s->AFIO_MAPR, AFIO_MAPR_USART2_REMAP_BIT, 1);
+ s->USART3_REMAP = (new_value & AFIO_MAPR_USART3_REMAP_MASK) >> AFIO_MAPR_USART3_REMAP_START;
+}
+
+/* Write the External Interrupt Configuration Register.
+ * There are four of these registers, each of which configures
+ * four EXTI interrupt lines. Each line is represented by four bits, which
+ * indicate which GPIO the line is connected to. When the register is
+ * written, the changes are propagated to the EXTI module.
+ */
+static void stm32_afio_AFIO_EXTICR_write(Stm32Afio *s, unsigned index,
+ uint32_t new_value, bool init)
+{
+ int i;
+ unsigned exti_line;
+ unsigned start;
+ unsigned old_gpio_index, new_gpio_index;
+
+ assert(index < AFIO_EXTICR_COUNT);
+
+ /* Loop through the four EXTI lines controlled by this register. */
+ for(i = 0; i < AFIO_EXTI_PER_CR; i++) {
+ /* For each line, notify the EXTI module. This shouldn't
+ * happen often, so we update all four, even if they all don't
+ * change. */
+ exti_line = (index * AFIO_EXTI_PER_CR) + i;
+ start = i * 4;
+
+ if(!init) {
+ old_gpio_index = (s->AFIO_EXTICR[index] >> start) & 0xf;
+ sysbus_connect_irq(SYS_BUS_DEVICE(s->gpio[old_gpio_index]),
+ exti_line,
+ NULL);
+ }
+ new_gpio_index = (new_value >> start) & 0xf;
+ sysbus_connect_irq(SYS_BUS_DEVICE(s->gpio[new_gpio_index]),
+ exti_line,
+ qdev_get_gpio_in(DEVICE(s->exti), exti_line));
+ }
+
+ s->AFIO_EXTICR[index] = new_value;
+}
+
+static uint64_t stm32_afio_read(void *opaque, hwaddr offset,
+ unsigned size)
+{
+ Stm32Afio *s = (Stm32Afio *)opaque;
+
+ stm32_rcc_check_periph_clk((Stm32Rcc *)s->stm32_rcc, STM32_AFIO_PERIPH);
+
+ switch (offset) {
+ case AFIO_EVCR_OFFSET:
+ STM32_NOT_IMPL_REG(offset, size);
+ break;
+ case AFIO_MAPR_OFFSET:
+ return stm32_afio_AFIO_MAPR_read(s);
+ case AFIO_EXTICR1_OFFSET:
+ return s->AFIO_EXTICR[0];
+ case AFIO_EXTICR2_OFFSET:
+ return s->AFIO_EXTICR[1];
+ case AFIO_EXTICR3_OFFSET:
+ return s->AFIO_EXTICR[2];
+ case AFIO_EXTICR4_OFFSET:
+ return s->AFIO_EXTICR[3];
+ default:
+ STM32_BAD_REG(offset, size);
+ return 0;
+ }
+}
+
+static void stm32_afio_write(void *opaque, hwaddr offset,
+ uint64_t value, unsigned size)
+{
+ Stm32Afio *s = (Stm32Afio *)opaque;
+
+ stm32_rcc_check_periph_clk((Stm32Rcc *)s->stm32_rcc, STM32_AFIO_PERIPH);
+
+ switch (offset) {
+ case AFIO_EVCR_OFFSET:
+ STM32_NOT_IMPL_REG(offset, size);
+ break;
+ case AFIO_MAPR_OFFSET:
+ stm32_afio_AFIO_MAPR_write(s, value, false);
+ break;
+ case AFIO_EXTICR1_OFFSET:
+ stm32_afio_AFIO_EXTICR_write(s, 0, value, false);
+ break;
+ case AFIO_EXTICR2_OFFSET:
+ stm32_afio_AFIO_EXTICR_write(s, 1, value, false);
+ break;
+ case AFIO_EXTICR3_OFFSET:
+ stm32_afio_AFIO_EXTICR_write(s, 2, value, false);
+ break;
+ case AFIO_EXTICR4_OFFSET:
+ stm32_afio_AFIO_EXTICR_write(s, 3, value, false);
+ break;
+ default:
+ STM32_BAD_REG(offset, size);
+ break;
+ }
+}
+
+static const MemoryRegionOps stm32_afio_ops = {
+ .read = stm32_afio_read,
+ .write = stm32_afio_write,
+ .valid.min_access_size = 4,
+ .valid.max_access_size = 4,
+ .endianness = DEVICE_NATIVE_ENDIAN
+};
+
+static void stm32_afio_reset(DeviceState *dev)
+{
+ Stm32Afio *s = STM32_AFIO(dev);
+
+ stm32_afio_AFIO_MAPR_write(s, 0x00000000, true);
+ stm32_afio_AFIO_EXTICR_write(s, 0, 0x00000000, true);
+ stm32_afio_AFIO_EXTICR_write(s, 1, 0x00000000, true);
+ stm32_afio_AFIO_EXTICR_write(s, 2, 0x00000000, true);
+ stm32_afio_AFIO_EXTICR_write(s, 3, 0x00000000, true);
+}
+
+
+
+
+
+
+/* PUBLIC FUNCTIONS */
+
+uint32_t stm32_afio_get_periph_map(Stm32Afio *s, stm32_periph_t periph)
+{
+ switch(periph) {
+ case STM32_UART1:
+ return s->USART1_REMAP;
+ case STM32_UART2:
+ return s->USART2_REMAP;
+ case STM32_UART3:
+ return s->USART3_REMAP;
+ default:
+ hw_error("Invalid peripheral");
+ break;
+ }
+}
+
+
+
+
+/* DEVICE INITIALIZATION */
+
+static void stm32_afio_init(Object *obj)
+{
+ SysBusDevice *dev = SYS_BUS_DEVICE(obj);
+ Stm32Afio *s = STM32_AFIO(obj);
+
+ s->stm32_rcc = (Stm32Rcc *)s->stm32_rcc_prop;
+
+ memory_region_init_io(&s->iomem, OBJECT(s), &stm32_afio_ops, s,
+ "afio", 0x03ff);
+ sysbus_init_mmio(dev, &s->iomem);
+
+ stm32_afio_instance_init(obj);
+}
+
+static Property stm32_afio_properties[] = {
+ DEFINE_PROP_PTR("stm32_rcc", Stm32Afio, stm32_rcc_prop),
+ DEFINE_PROP_END_OF_LIST()
+};
+
+static void add_gpio_link(Stm32Afio *s, int gpio_index, const char *link_name)
+{
+ object_property_add_link(OBJECT(s), link_name, TYPE_STM32_GPIO,
+ (Object **)&s->gpio[gpio_index],
+ object_property_allow_set_link,
+ OBJ_PROP_LINK_STRONG, &error_abort);
+}
+
+void stm32_afio_instance_init(Object *obj) {
+ Stm32Afio *s = STM32_AFIO(obj);
+
+ add_gpio_link(s, 0, "gpio[a]");
+ add_gpio_link(s, 1, "gpio[b]");
+ add_gpio_link(s, 2, "gpio[c]");
+ add_gpio_link(s, 3, "gpio[d]");
+ add_gpio_link(s, 4, "gpio[e]");
+ add_gpio_link(s, 5, "gpio[f]");
+ add_gpio_link(s, 6, "gpio[g]");
+
+ object_property_add_link(obj, "exti", TYPE_STM32_EXTI,
+ (Object **)&s->exti,
+ object_property_allow_set_link,
+ OBJ_PROP_LINK_STRONG, &error_abort);
+
+}
+
+static void stm32_afio_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+ SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
+
+ dc->reset = stm32_afio_reset;
+ device_class_set_props(dc, stm32_afio_properties);
+}
+
+static TypeInfo stm32_afio_info = {
+ .name = TYPE_STM32_AFIO,
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(Stm32Afio),
+ .instance_init = stm32_afio_init,
+ .class_init = stm32_afio_class_init
+};
+
+static void stm32_afio_register_types(void)
+{
+ type_register_static(&stm32_afio_info);
+}
+
+type_init(stm32_afio_register_types)
diff --git a/hw/gpio/stm32_exti.c b/hw/gpio/stm32_exti.c
new file mode 100644
index 0000000000000..3ca752db16f12
--- /dev/null
+++ b/hw/gpio/stm32_exti.c
@@ -0,0 +1,333 @@
+/*
+ * STM32 Microcontroller EXTI (External Interrupt/Event Controller) module
+ *
+ * Copyright (C) 2010 Andre Beckus
+ *
+ * Implementation based on ST Microelectronics "RM0008 Reference Manual Rev 10"
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, see .
+ */
+
+#include "qemu/osdep.h"
+#include "hw/arm/stm32.h"
+#include "hw/arm/stm32f4xx.h"
+#include "qemu/bitops.h"
+#include "hw/irq.h"
+#include "hw/hw.h"
+
+
+
+
+/* DEFINITIONS*/
+
+#define EXTI_IMR_OFFSET 0x00
+
+#define EXTI_EMR_OFFSET 0x04
+
+#define EXTI_RTSR_OFFSET 0x08
+
+#define EXTI_FTSR_OFFSET 0x0c
+
+#define EXTI_SWIER_OFFSET 0x10
+
+#define EXTI_PR_OFFSET 0x14
+
+/* There are 20 lines for CL devices. Non-CL devices have only 19, but it
+ * doesn't hurt to handle the maximum possible. */
+#define EXTI_LINE_COUNT 20
+
+/* The number of IRQ sources from the EXTI controller */
+#define EXTI_IRQ_COUNT 14
+
+
+struct Stm32Exti {
+ /* Inherited */
+ SysBusDevice busdev;
+
+ /* Private */
+ MemoryRegion iomem;
+
+ uint32_t
+ EXTI_IMR,
+ EXTI_RTSR,
+ EXTI_FTSR,
+ EXTI_SWIER,
+ EXTI_PR;
+
+ qemu_irq irq[EXTI_IRQ_COUNT];
+};
+
+static void stm32_exti_change_EXTI_PR_bit(Stm32Exti *s, unsigned pos,
+ unsigned new_bit_value);
+
+
+
+/* HELPER FUNCTIONS */
+
+/* Call when the EXTI shouldbe tri */
+static void stm32_exti_trigger(Stm32Exti *s, int line)
+{
+ /* Make sure the interrupt for this EXTI line has been enabled. */
+ if(s->EXTI_IMR & BIT(line)) {
+ /* Set the Pending flag for this line, which will trigger the interrupt
+ * (if the flag isn't already set). */
+ stm32_exti_change_EXTI_PR_bit(s, line, 1);
+ }
+}
+
+/* We will assume that this handler will only be called if the pin actually
+ * changed state. */
+static void stm32_exti_gpio_in_handler(void *opaque, int n, int level)
+{
+ Stm32Exti *s = (Stm32Exti *)opaque;
+ unsigned pin = n;
+
+ assert(pin < STM32_GPIO_PIN_COUNT);
+
+ /* Check the level - if it is rising, then trigger an interrupt if the
+ * corresponding Rising Trigger Selection Register flag is set. Otherwise,
+ * trigger if the Falling Trigger Selection Register flag is set.
+ */
+ if((level && (s->EXTI_RTSR & BIT(pin))) ||
+ (!level && (s->EXTI_FTSR & BIT(pin)))) {
+ stm32_exti_trigger(s, pin);
+ }
+}
+
+
+
+
+/* REGISTER IMPLEMENTATION */
+
+/* Update a Trigger Selection Register (both the Rising and Falling TSR
+ * registers are handled by this routine).
+ */
+static void update_TSR_bit(Stm32Exti *s, uint32_t *tsr_register, unsigned pos,
+ unsigned new_bit_value)
+{
+ assert((new_bit_value == 0) || (new_bit_value == 1));
+ assert(pos < EXTI_LINE_COUNT);
+
+ if(new_bit_value != extract32(*tsr_register, pos, 1)) {
+ /* According to the documentation, the Pending register is cleared when
+ * the "sensitivity of the edge detector changes. Is this right??? */
+ stm32_exti_change_EXTI_PR_bit(s, pos, 0);
+ }
+ *tsr_register = deposit32(*tsr_register, pos, 1, new_bit_value);
+}
+
+/* Update the Pending Register. This will trigger an interrupt if a bit is
+ * set.
+ */
+static void stm32_exti_change_EXTI_PR_bit(Stm32Exti *s, unsigned pos,
+ unsigned new_bit_value)
+{
+ unsigned old_bit_value;
+
+ assert((new_bit_value == 0) || (new_bit_value == 1));
+ assert(pos < EXTI_LINE_COUNT);
+
+ old_bit_value = extract32(s->EXTI_PR, pos, 1);
+
+ /* Only continue if the PR bit is actually changing value. */
+ if(new_bit_value != old_bit_value) {
+ /* If the bit is being reset, the corresponding Software Interrupt Event
+ * Register bit is automatically reset.
+ */
+ if(!new_bit_value) {
+ s->EXTI_SWIER &= ~BIT(pos);
+ }
+
+ /* Update the IRQ for this EXTI line. Some lines share the same
+ * NVIC IRQ.
+ */
+ if(pos <= 4) {
+ /* EXTI0 - EXTI4 each have their own NVIC IRQ */
+ qemu_set_irq(s->irq[pos], new_bit_value);
+ } else if(pos <= 9) {
+ /* EXTI5 - EXTI9 share an NVIC IRQ */
+ qemu_set_irq(s->irq[5], new_bit_value);
+ } else if(pos <= 15) {
+ /* EXTI10 - EXTI15 share an NVIC IRQ */
+ qemu_set_irq(s->irq[6], new_bit_value);
+ } else if(pos == 16) {
+ /* PVD IRQ */
+ qemu_set_irq(s->irq[7], new_bit_value);
+ } else if(pos == 17) {
+ /* RTCAlarm IRQ */
+ qemu_set_irq(s->irq[8], new_bit_value);
+ } else if(pos == 18) {
+ /* OTG_FS_WKUP IRQ */
+ qemu_set_irq(s->irq[9], new_bit_value);
+ } else {
+ assert(false);
+ }
+
+ /* Update the register. */
+ s->EXTI_PR = deposit32(s->EXTI_PR, pos, 1, new_bit_value);
+ }
+}
+
+static uint64_t stm32_exti_read(void *opaque, hwaddr offset,
+ unsigned size)
+{
+ Stm32Exti *s = (Stm32Exti *)opaque;
+
+ assert(size == 4);
+
+ switch (offset) {
+ case EXTI_IMR_OFFSET:
+ return s->EXTI_IMR;
+ case EXTI_EMR_OFFSET:
+ /* Do nothing, events are not implemented yet. */
+ return 0;
+ case EXTI_RTSR_OFFSET:
+ return s->EXTI_RTSR;
+ case EXTI_FTSR_OFFSET:
+ return s->EXTI_FTSR;
+ case EXTI_SWIER_OFFSET:
+ return s->EXTI_SWIER;
+ case EXTI_PR_OFFSET:
+ return s->EXTI_PR;
+ default:
+ STM32_BAD_REG(offset, size);
+ return 0;
+ }
+}
+
+static void stm32_exti_write(void *opaque, hwaddr offset,
+ uint64_t value, unsigned size)
+{
+ Stm32Exti *s = (Stm32Exti *)opaque;
+ int pos, bit_value;
+
+ assert(size == 4);
+
+ if(offset <= EXTI_EMR_OFFSET) {
+ switch (offset) {
+ case EXTI_IMR_OFFSET:
+ s->EXTI_IMR = value;
+ break;
+ case EXTI_EMR_OFFSET:
+ /* Do nothing, events are not implemented yet.
+ * But we don't want to throw an error. */
+ break;
+ default:
+ STM32_BAD_REG(offset, size);
+ break;
+ }
+ } else {
+ /* These registers all contain one bit per EXTI line. We will loop
+ * through each line and then update each bit in the appropriate
+ * register.
+ */
+ for(pos = 0; pos < EXTI_LINE_COUNT; pos++) {
+ bit_value = extract32(value, pos, 1);
+
+ switch (offset) {
+ case EXTI_RTSR_OFFSET:
+ update_TSR_bit(s, &(s->EXTI_RTSR), pos, bit_value);
+ break;
+ case EXTI_FTSR_OFFSET:
+ update_TSR_bit(s, &(s->EXTI_FTSR), pos, bit_value);
+ break;
+ case EXTI_SWIER_OFFSET:
+ /* If the Software Interrupt Event Register is changed
+ * from 0 to 1, trigger an interrupt. Changing the
+ * bit to 0 does nothing. */
+ if(bit_value == 1) {
+ if((s->EXTI_SWIER & BIT(pos)) == 0) {
+ s->EXTI_SWIER |= BIT(pos);
+ stm32_exti_trigger(s, pos);
+ }
+ }
+ break;
+ case EXTI_PR_OFFSET:
+ /* When a 1 is written to a PR bit, it actually clears the
+ * PR bit. */
+ if(bit_value == 1) {
+ stm32_exti_change_EXTI_PR_bit(s, pos, 0);
+ }
+ break;
+ default:
+ STM32_BAD_REG(offset, size);
+ break;
+ }
+ }
+ }
+}
+
+static const MemoryRegionOps stm32_exti_ops = {
+ .read = stm32_exti_read,
+ .write = stm32_exti_write,
+ .valid.min_access_size = 4,
+ .valid.max_access_size = 4,
+ .endianness = DEVICE_NATIVE_ENDIAN
+};
+
+static void stm32_exti_reset(DeviceState *dev)
+{
+ Stm32Exti *s = STM32_EXTI(dev);
+
+ s->EXTI_IMR = 0x00000000;
+ s->EXTI_RTSR = 0x00000000;
+ s->EXTI_FTSR = 0x00000000;
+ s->EXTI_SWIER = 0x00000000;
+ s->EXTI_PR = 0x00000000;
+}
+
+
+/* DEVICE INITIALIZATION */
+
+static void stm32_exti_init(Object *obj)
+{
+ int i;
+
+ SysBusDevice *dev = SYS_BUS_DEVICE(obj);
+ Stm32Exti *s = STM32_EXTI(dev);
+
+ memory_region_init_io(&s->iomem, OBJECT(s), &stm32_exti_ops, s,
+ "exti", 0x03ff);
+ sysbus_init_mmio(dev, &s->iomem);
+
+ for(i = 0; i < EXTI_IRQ_COUNT; i++) {
+ sysbus_init_irq(dev, &s->irq[i]);
+ }
+
+ /* Create the handlers to handle GPIO input pin changes. */
+ qdev_init_gpio_in(DEVICE(dev), stm32_exti_gpio_in_handler, STM32_GPIO_PIN_COUNT);
+}
+
+static void stm32_exti_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+ SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
+
+ dc->reset = stm32_exti_reset;
+}
+
+static TypeInfo stm32_exti_info = {
+ .name = TYPE_STM32_EXTI_ALT,
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(Stm32Exti),
+ .instance_init = stm32_exti_init,
+ .class_init = stm32_exti_class_init
+};
+
+static void stm32_exti_register_types(void)
+{
+ type_register_static(&stm32_exti_info);
+}
+
+type_init(stm32_exti_register_types)
diff --git a/hw/gpio/stm32_gpio.c b/hw/gpio/stm32_gpio.c
new file mode 100644
index 0000000000000..e20e73af3a87b
--- /dev/null
+++ b/hw/gpio/stm32_gpio.c
@@ -0,0 +1,361 @@
+/*
+ * STM32 Microcontroller GPIO (General Purpose I/O) module
+ *
+ * Copyright (C) 2010 Andre Beckus
+ *
+ * Source code based on pl061.c
+ * Implementation based on ST Microelectronics "RM0008 Reference Manual Rev 10"
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, see .
+ */
+
+#include "qemu/osdep.h"
+#include "hw/sysbus.h"
+#include "hw/arm/stm32.h"
+#include "qemu/bitops.h"
+#include "hw/qdev-properties.h"
+#include "hw/irq.h"
+#include "hw/hw.h"
+
+
+
+
+/* DEFINITIONS*/
+
+#define GPIOx_CRL_OFFSET 0x00
+#define GPIOx_CRH_OFFSET 0x04
+#define GPIOx_IDR_OFFSET 0x08
+#define GPIOx_ODR_OFFSET 0x0c
+#define GPIOx_BSRR_OFFSET 0x10
+#define GPIOx_BRR_OFFSET 0x14
+#define GPIOx_LCKR_OFFSET 0x18
+
+struct Stm32Gpio {
+ /* Inherited */
+ SysBusDevice busdev;
+
+ /* Properties */
+ stm32_periph_t periph;
+ void *stm32_rcc_prop;
+
+ /* Private */
+ MemoryRegion iomem;
+
+ Stm32Rcc *stm32_rcc;
+
+
+ uint32_t GPIOx_CRy[2]; /* CRL = 0, CRH = 1 */
+ uint32_t GPIOx_ODR;
+
+ uint16_t in;
+ uint16_t dir_mask; /* input = 0, output = 1 */
+
+ /* IRQs used to communicate with the machine implementation.
+ * There is one IRQ for each pin. Note that for pins configured
+ * as inputs, the output IRQ state has no meaning. Perhaps
+ * the output should be updated to match the input in this case....
+ */
+ qemu_irq out_irq[STM32_GPIO_PIN_COUNT];
+
+ /* IRQs which relay input pin changes to other STM32 peripherals */
+ qemu_irq in_irq[STM32_GPIO_PIN_COUNT];
+};
+
+
+
+/* CALLBACKs */
+
+/* Trigger fired when a GPIO input pin changes state (based
+ * on an external stimulus from the machine).
+ */
+static void stm32_gpio_in_trigger(void *opaque, int irq, int level)
+{
+ Stm32Gpio *s = opaque;
+ unsigned pin = irq;
+
+ assert(pin < STM32_GPIO_PIN_COUNT);
+
+ /* Update internal pin state. */
+ s->in |= (level ? 1 : 0) << pin;
+
+ /* Propagate the trigger to the input IRQs. */
+ qemu_set_irq(s->in_irq[pin], level);
+}
+
+
+
+/* HELPER FUNCTIONS */
+
+/* Gets the four configuration bits for the pin from the CRL or CRH
+ * register.
+ */
+static uint8_t stm32_gpio_get_pin_config(Stm32Gpio *s, unsigned pin) {
+ /* Simplify extract logic by combining both 32 bit regiters into
+ * one 64 bit value.
+ */
+ uint64_t cr_64 = ((uint64_t)s->GPIOx_CRy[1] << 32) |
+ s->GPIOx_CRy[0];
+ return extract64(cr_64, pin * 4, 4);
+}
+
+
+
+
+
+/* REGISTER IMPLEMENTATION */
+
+/* Update the CRL or CRH Configuration Register */
+static void stm32_gpio_update_dir(Stm32Gpio *s, int cr_index)
+{
+ unsigned start_pin, pin, pin_dir;
+
+ assert((cr_index == 0) || (cr_index == 1));
+
+ /* Update the direction mask */
+ start_pin = cr_index * 8;
+ for(pin=start_pin; pin < start_pin + 8; pin++) {
+ pin_dir = stm32_gpio_get_mode_bits(s, pin);
+ /* If the mode is 0, the pin is input. Otherwise, it
+ * is output.
+ */
+ s->dir_mask |= (pin_dir ? 1 : 0) << pin;
+ }
+}
+
+/* Write the Output Data Register.
+ * Propagates the changes to the output IRQs.
+ * Perhaps we should also update the input to match the output for
+ * pins configured as outputs... */
+static void stm32_gpio_GPIOx_ODR_write(Stm32Gpio *s, uint32_t new_value)
+{
+ uint32_t old_value;
+ uint16_t changed, changed_out;
+ unsigned pin;
+
+ old_value = s->GPIOx_ODR;
+
+ /* Update register value. Per documentation, the upper 16 bits
+ * always read as 0. */
+ s->GPIOx_ODR = new_value & 0x0000ffff;
+
+ /* Get pins that changed value */
+ changed = old_value ^ new_value;
+
+ /* Get changed pins that are outputs - we will not touch input pins */
+ changed_out = changed & s->dir_mask;
+
+ if (changed_out) {
+ for (pin = 0; pin < STM32_GPIO_PIN_COUNT; pin++) {
+ /* If the value of this pin has changed, then update
+ * the output IRQ.
+ */
+ if (changed_out & BIT(pin)) {
+ qemu_set_irq(
+ /* The "irq_intercept_out" command in the qtest
+ framework overwrites the out IRQ array in the
+ NamedGPIOList structure (via the
+ qemu_irq_intercept_out procedure). So we need
+ to reference this structure directly (rather than
+ use our local s->out_irq array) in order for
+ the unit tests to work. This is something of a hack,
+ but I don't have a solution yet. */
+ s->busdev.parent_obj.gpios.lh_first->out[pin],
+ (s->GPIOx_ODR & BIT(pin)) ? 1 : 0);
+ }
+ }
+ }
+}
+
+static uint64_t stm32_gpio_read(void *opaque, hwaddr offset,
+ unsigned size)
+{
+ Stm32Gpio *s = (Stm32Gpio *)opaque;
+
+ assert(size == 4);
+
+ switch (offset) {
+ case GPIOx_CRL_OFFSET:
+ return s->GPIOx_CRy[0];
+ case GPIOx_CRH_OFFSET:
+ return s->GPIOx_CRy[1];
+ case GPIOx_IDR_OFFSET:
+ return s->in;
+ case GPIOx_ODR_OFFSET:
+ return s->GPIOx_ODR;
+ case GPIOx_BSRR_OFFSET:
+ STM32_WARN_WO_REG(offset);
+ return 0;
+ case GPIOx_BRR_OFFSET:
+ STM32_WARN_WO_REG(offset);
+ return 0;
+ case GPIOx_LCKR_OFFSET:
+ /* Locking is not yet implemented */
+ return 0;
+ default:
+ STM32_BAD_REG(offset, size);
+ return 0;
+ }
+}
+
+static void stm32_gpio_write(void *opaque, hwaddr offset,
+ uint64_t value, unsigned size)
+{
+ uint32_t set_mask, reset_mask;
+ Stm32Gpio *s = (Stm32Gpio *)opaque;
+
+ assert(size == 4);
+
+ stm32_rcc_check_periph_clk((Stm32Rcc *)s->stm32_rcc, s->periph);
+
+ switch (offset) {
+ case GPIOx_CRL_OFFSET:
+ s->GPIOx_CRy[0] = value;
+ stm32_gpio_update_dir(s, 0);
+ break;
+ case GPIOx_CRH_OFFSET:
+ s->GPIOx_CRy[1] = value;
+ stm32_gpio_update_dir(s, 1);
+ break;
+ case GPIOx_IDR_OFFSET:
+ STM32_WARN_RO_REG(offset);
+ break;
+ case GPIOx_ODR_OFFSET:
+ stm32_gpio_GPIOx_ODR_write(s, value);
+ break;
+ case GPIOx_BSRR_OFFSET:
+ /* Setting a bit sets or resets the corresponding bit in the output
+ * register. The lower 16 bits perform resets, and the upper 16
+ * bits perform sets. Register is write-only and so does not need
+ * to store a value. Sets take priority over resets, so we do
+ * resets first.
+ */
+ set_mask = value & 0x0000ffff;
+ reset_mask = ~(value >> 16) & 0x0000ffff;
+ stm32_gpio_GPIOx_ODR_write(s,
+ (s->GPIOx_ODR & reset_mask) | set_mask);
+ break;
+ case GPIOx_BRR_OFFSET:
+ /* Setting a bit resets the corresponding bit in the output
+ * register. Register is write-only and so does not need to store
+ * a value. */
+ reset_mask = ~value & 0x0000ffff;
+ stm32_gpio_GPIOx_ODR_write(s, s->GPIOx_ODR & reset_mask);
+ break;
+ case GPIOx_LCKR_OFFSET:
+ /* Locking is not implemented */
+ STM32_NOT_IMPL_REG(offset, size);
+ break;
+ default:
+ STM32_BAD_REG(offset, size);
+ break;
+ }
+}
+
+static const MemoryRegionOps stm32_gpio_ops = {
+ .read = stm32_gpio_read,
+ .write = stm32_gpio_write,
+ .valid.min_access_size = 4,
+ .valid.max_access_size = 4,
+ .endianness = DEVICE_NATIVE_ENDIAN
+};
+
+static void stm32_gpio_reset(DeviceState *dev)
+{
+ int pin;
+ Stm32Gpio *s = STM32_GPIO(dev);
+
+ s->GPIOx_CRy[0] = 0x44444444;
+ s->GPIOx_CRy[1] = 0x44444444;
+ s->GPIOx_ODR = 0;
+ s->dir_mask = 0; /* input = 0, output = 1 */
+
+ for(pin = 0; pin < STM32_GPIO_PIN_COUNT; pin++) {
+ qemu_irq_lower(s->out_irq[pin]);
+ }
+
+ /* Leave input state as it is - only outputs and config are affected
+ * by the GPIO reset. */
+}
+
+
+
+
+
+
+/* PUBLIC FUNCTIONS */
+
+uint8_t stm32_gpio_get_config_bits(Stm32Gpio *s, unsigned pin) {
+ return (stm32_gpio_get_pin_config(s, pin) >> 2) & 0x3;
+}
+
+uint8_t stm32_gpio_get_mode_bits(Stm32Gpio *s, unsigned pin) {
+ return stm32_gpio_get_pin_config(s, pin) & 0x3;
+}
+
+
+
+
+
+
+/* DEVICE INITIALIZATION */
+
+static void stm32_gpio_init(Object *obj)
+{
+ unsigned pin;
+ SysBusDevice *dev = SYS_BUS_DEVICE(obj);
+ Stm32Gpio *s = STM32_GPIO(obj);
+
+ s->stm32_rcc = (Stm32Rcc *)s->stm32_rcc_prop;
+
+ memory_region_init_io(&s->iomem, OBJECT(s), &stm32_gpio_ops, s,
+ "gpio", 0x03ff);
+ sysbus_init_mmio(dev, &s->iomem);
+
+ qdev_init_gpio_in(DEVICE(dev), stm32_gpio_in_trigger, STM32_GPIO_PIN_COUNT);
+ qdev_init_gpio_out(DEVICE(dev), s->out_irq, STM32_GPIO_PIN_COUNT);
+
+ for(pin = 0; pin < STM32_GPIO_PIN_COUNT; pin++) {
+ sysbus_init_irq(dev, &s->in_irq[pin]);
+ }
+}
+
+static Property stm32_gpio_properties[] = {
+ DEFINE_PROP_PERIPH_T("periph", Stm32Gpio, periph, STM32_PERIPH_UNDEFINED),
+ DEFINE_PROP_PTR("stm32_rcc", Stm32Gpio, stm32_rcc_prop),
+ DEFINE_PROP_END_OF_LIST()
+};
+
+static void stm32_gpio_class_init(ObjectClass *klass, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(klass);
+ SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
+
+ dc->reset = stm32_gpio_reset;
+ device_class_set_props(dc, stm32_gpio_properties);
+}
+
+static TypeInfo stm32_gpio_info = {
+ .name = TYPE_STM32_GPIO,
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(Stm32Gpio),
+ .instance_init = stm32_gpio_init,
+ .class_init = stm32_gpio_class_init
+};
+
+static void stm32_gpio_register_types(void)
+{
+ type_register_static(&stm32_gpio_info);
+}
+
+type_init(stm32_gpio_register_types)
diff --git a/hw/ssi/Makefile.objs b/hw/ssi/Makefile.objs
index 07a85f1967a80..49480ed662242 100644
--- a/hw/ssi/Makefile.objs
+++ b/hw/ssi/Makefile.objs
@@ -8,3 +8,6 @@ common-obj-$(CONFIG_MSF2) += mss-spi.o
common-obj-$(CONFIG_OMAP) += omap_spi.o
common-obj-$(CONFIG_IMX) += imx_spi.o
+
+common-obj-y += stm32f2xx_spi_pbl.o
+common-obj-y += stm32f412_qspi.o
diff --git a/hw/ssi/stm32f2xx_spi_pbl.c b/hw/ssi/stm32f2xx_spi_pbl.c
new file mode 100644
index 0000000000000..24aa3af63caeb
--- /dev/null
+++ b/hw/ssi/stm32f2xx_spi_pbl.c
@@ -0,0 +1,224 @@
+/*-
+ * Copyright (c) 2013
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+/*
+ * QEMU model of the stm32f2xx SPI controller.
+ */
+
+#include "qemu/osdep.h"
+#include "qemu/log.h"
+#include "hw/sysbus.h"
+#include "hw/arm/stm32.h"
+#include "hw/ssi/ssi.h"
+#include "hw/qdev-properties.h"
+#include "hw/hw.h"
+
+#define R_CR1 (0x00 / 4)
+#define R_CR1_DFF (1 << 11)
+#define R_CR1_LSBFIRST (1 << 7)
+#define R_CR1_SPE (1 << 6)
+#define R_CR2 (0x04 / 4)
+
+#define R_SR (0x08 / 4)
+#define R_SR_RESET 0x0002
+#define R_SR_MASK 0x01FF
+#define R_SR_OVR (1 << 6)
+#define R_SR_TXE (1 << 1)
+#define R_SR_RXNE (1 << 0)
+
+#define R_DR (0x0C / 4)
+#define R_CRCPR (0x10 / 4)
+#define R_CRCPR_RESET 0x0007
+#define R_RXCRCR (0x14 / 4)
+#define R_TXCRCR (0x18 / 4)
+#define R_I2SCFGR (0x1C / 4)
+#define R_I2SPR (0x20 / 4)
+#define R_I2SPR_RESET 0x0002
+#define R_MAX (0x24 / 4)
+
+typedef struct stm32f2xx_spi_s {
+ SysBusDevice busdev;
+ MemoryRegion iomem;
+ qemu_irq irq;
+
+ SSIBus *spi;
+
+ stm32_periph_t periph;
+
+ int32_t rx;
+ int rx_full;
+ uint16_t regs[R_MAX];
+} Stm32Spi;
+
+static uint64_t
+stm32f2xx_spi_read(void *arg, hwaddr offset, unsigned size)
+{
+ Stm32Spi *s = arg;
+ uint16_t r = UINT16_MAX;
+
+ if (!(size == 1 || size == 2 || size == 4 || (offset & 0x3) != 0)) {
+ STM32_BAD_REG(offset, size);
+ }
+ offset >>= 2;
+ if (offset < R_MAX) {
+ r = s->regs[offset];
+ } else {
+ stm32_hw_warn("Out of range SPI write, offset 0x%x", (unsigned)offset<<2);
+ }
+ switch (offset) {
+ case R_DR:
+ s->regs[R_SR] &= ~R_SR_RXNE;
+ }
+ return r;
+}
+
+static uint8_t
+bitswap(uint8_t val)
+{
+ return ((val * 0x0802LU & 0x22110LU) | (val * 0x8020LU & 0x88440LU)) * 0x10101LU >> 16;
+}
+
+static void
+stm32f2xx_spi_write(void *arg, hwaddr addr, uint64_t data, unsigned size)
+{
+ struct stm32f2xx_spi_s *s = (struct stm32f2xx_spi_s *)arg;
+ int offset = addr & 0x3;
+
+ /* SPI registers are all at most 16 bits wide */
+ data &= 0xFFFFF;
+ addr >>= 2;
+
+ switch (size) {
+ case 1:
+ data = (s->regs[addr] & ~(0xff << (offset * 8))) | data << (offset * 8);
+ break;
+ case 2:
+ data = (s->regs[addr] & ~(0xffff << (offset * 8))) | data << (offset * 8);
+ break;
+ case 4:
+ break;
+ default:
+ abort();
+ }
+
+ switch (addr) {
+ case R_CR1:
+ if ((data & R_CR1_DFF) != s->regs[R_CR1] && (s->regs[R_CR1] & R_CR1_SPE) != 0)
+ qemu_log_mask(LOG_GUEST_ERROR, "cannot change DFF with SPE set\n");
+ if (data & R_CR1_DFF)
+ qemu_log_mask(LOG_UNIMP, "f2xx DFF 16-bit mode not implemented\n");
+ s->regs[R_CR1] = data;
+ break;
+ case R_DR:
+ s->regs[R_SR] &= ~R_SR_TXE;
+ if (s->regs[R_SR] & R_SR_RXNE) {
+ s->regs[R_SR] |= R_SR_OVR;
+ }
+ if (s->regs[R_CR1] & R_CR1_LSBFIRST) {
+ s->regs[R_DR] = bitswap(ssi_transfer(s->spi, bitswap(data)));
+ } else {
+ s->regs[R_DR] = ssi_transfer(s->spi, data);
+ }
+
+ s->regs[R_SR] |= R_SR_RXNE;
+ s->regs[R_SR] |= R_SR_TXE;
+ break;
+ default:
+ if (addr < ARRAY_SIZE(s->regs)) {
+ s->regs[addr] = data;
+ } else {
+ STM32_BAD_REG(addr, size);
+ }
+ }
+}
+
+static const MemoryRegionOps stm32f2xx_spi_ops = {
+ .read = stm32f2xx_spi_read,
+ .write = stm32f2xx_spi_write,
+ .endianness = DEVICE_NATIVE_ENDIAN
+};
+
+static void
+stm32f2xx_spi_reset(DeviceState *dev)
+{
+ struct stm32f2xx_spi_s *s = STM32F2XX_SPI(dev);
+
+ s->regs[R_SR] = R_SR_RESET;
+ switch (s->periph) {
+ case 0:
+ break;
+ case 1:
+ break;
+ default:
+ break;
+ }
+}
+
+static void
+stm32f2xx_spi_init(Object *obj)
+{
+ struct stm32f2xx_spi_s *s = STM32F2XX_SPI(obj);
+ SysBusDevice *dev = SYS_BUS_DEVICE(obj);
+
+ memory_region_init_io(&s->iomem, NULL, &stm32f2xx_spi_ops, s, "spi", 0x3ff);
+ sysbus_init_mmio(dev, &s->iomem);
+ sysbus_init_irq(dev, &s->irq);
+ s->spi = ssi_create_bus(DEVICE(dev), "ssi");
+}
+
+
+static Property stm32f2xx_spi_properties[] = {
+ DEFINE_PROP_INT32("periph", struct stm32f2xx_spi_s, periph, -1),
+ DEFINE_PROP_END_OF_LIST()
+};
+
+static void
+stm32f2xx_spi_class_init(ObjectClass *c, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(c);
+
+ dc->reset = stm32f2xx_spi_reset;
+
+ device_class_set_props(dc, stm32f2xx_spi_properties);
+}
+
+static const TypeInfo stm32f2xx_spi_info = {
+ .name = TYPE_STM32F2XX_SPI,
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(struct stm32f2xx_spi_s),
+ .instance_init = stm32f2xx_spi_init,
+ .class_init = stm32f2xx_spi_class_init
+};
+
+static void
+stm32f2xx_spi_register_types(void)
+{
+ type_register_static(&stm32f2xx_spi_info);
+}
+
+type_init(stm32f2xx_spi_register_types)
+
+/*
+ *
+ */
+/*
+ * Serial peripheral interface (SPI) RM0033 section 25
+ */
diff --git a/hw/ssi/stm32f412_qspi.c b/hw/ssi/stm32f412_qspi.c
new file mode 100644
index 0000000000000..de86a1d4144eb
--- /dev/null
+++ b/hw/ssi/stm32f412_qspi.c
@@ -0,0 +1,347 @@
+#include "qemu/osdep.h"
+#include "hw/sysbus.h"
+#include "hw/arm/stm32.h"
+#include "hw/irq.h"
+#include "hw/qdev-properties.h"
+#include "hw/ssi/ssi.h"
+
+#ifndef STM32F412_QSPI_ERR_DEBUG
+#define STM32F412_QSPI_ERR_DEBUG 0
+#endif
+
+// The usleep() helps MacOS stdout from freezing when printing a lot
+#define DB_PRINT_L(level, ...) do { \
+ if (STM32F412_QSPI_ERR_DEBUG > (level)) { \
+ fprintf(stderr, "%d: %s: ", level, __func__); \
+ fprintf(stderr, ## __VA_ARGS__); \
+ fprintf(stderr, "\n"); \
+ usleep(1000); \
+ } \
+} while (0);
+
+// Control
+#define R_CR (0x00 / 4)
+#define CR_MATCH_MODE_MASK (0x01 << 23)
+
+// Device configure
+#define R_DCR (0x04 / 4)
+
+// Status
+#define R_SR (0x08 / 4)
+#define R_SR_TEF (1 << 0)
+#define R_SR_TCF (1 << 1)
+#define R_SR_FTF (1 << 2)
+#define R_SR_SMF (1 << 3)
+#define R_SR_TOF (1 << 4)
+#define R_SR_BSY (1 << 5)
+
+// Flag clear
+#define R_FCR (0x0c / 4)
+#define R_FCR_CTOF (1 << 4)
+#define R_FCR_CSMF (1 << 3)
+#define R_FCR_CTCF (1 << 1)
+#define R_FCR_CTEF (1 << 0)
+
+// Data length
+#define R_DLR (0x10 / 4)
+
+// Communication config
+#define R_CCR (0x14 / 4)
+#define CCR_INSTR_MASK (0xff << 0)
+#define CCR_IMODE_MASK (0x3 << 8)
+#define CCR_ADMODE_MASK (0x3 << 10)
+#define CCR_ADSIZE_MASK (0x3 << 12)
+#define CCR_MODE_MASK (0x3 << 26)
+
+#define CCR_IMODE_NONE (0x0 << 8)
+#define CCR_IMODE_ONELINE (0x1 << 8)
+#define CCR_IMODE_TWOLINE (0x2 << 8)
+#define CCR_IMODE_FOURLINE (0x3 << 8)
+
+#define CCR_ADMODE_NONE (0x0 << 10)
+#define CCR_ADMODE_ONELINE (0x1 << 10)
+#define CCR_ADMODE_TWOLINE (0x2 << 10)
+#define CCR_ADMODE_FOURLINE (0x3 << 10)
+
+#define CCR_ADSIZE_8 (0x0 << 12)
+#define CCR_ADSIZE_16 (0x1 << 12)
+#define CCR_ADSIZE_24 (0x2 << 12)
+#define CCR_ADSIZE_32 (0x3 << 12)
+
+#define CCR_MODE_INDIRECT_WRITE (0x00 << 26)
+#define CCR_MODE_INDIRECT_READ (0x01 << 26)
+#define CCR_MODE_AUTOMATIC_POLL (0x2 << 26)
+#define CCR_MODE_MEMORY_MAPPED (0x3 << 26)
+
+// Address
+#define R_AR (0x18 / 4)
+
+// Alternate bytes
+#define R_ABR (0x1c / 4)
+
+// Data
+#define R_DR (0x20 / 4)
+
+// Polling status mask
+#define R_PSMKR (0x24 / 4)
+
+// Polling status match
+#define R_PSMAR (0x28 / 4)
+
+// Polling interval
+#define R_PIR (0x2c / 4)
+
+// Low power timeout
+#define R_LPTR (0x30 / 4)
+
+#define R_MAX (0x34 / 4)
+
+typedef enum {
+ STATE_IDLE,
+ STATE_WRITE,
+ STATE_READ,
+ STATE_READ_WHOAMI,
+} Stm32f412State;
+
+typedef enum {
+ CS_STATE_LOW = 0,
+ CS_STATE_HIGH = 1,
+} CsState;
+
+typedef struct stm32f412_qspi_s {
+ SysBusDevice busdev;
+ MemoryRegion iomem;
+ qemu_irq irq;
+
+ SSIBus *qspi;
+
+ uint32_t regs[R_MAX];
+
+ qemu_irq cs_irq;
+ CsState cs_state;
+
+ int64_t tx_remaining;
+} Stm32f412Qspi;
+
+static uint32_t
+stm32f412_auto_poll(Stm32f412Qspi *s, uint8_t reg)
+{
+ bool set;
+
+ bool and_match = (s->regs[R_CR] & CR_MATCH_MODE_MASK) == 0;
+ uint32_t match = s->regs[R_PSMAR];
+ uint32_t mask = s->regs[R_PSMKR];
+ if (and_match) {
+ // All bits in match need to be set after mask
+ set = (reg & mask) == match;
+ } else {
+ // Any bits in match can be set after mask
+ set = ((reg & mask) & match) != 0;
+ }
+ DB_PRINT_L(1, "Auto Poll %s", set ? "Success" : "Fail");
+ return set;
+}
+
+static bool
+stm32f412_in_CCR_mode(Stm32f412Qspi *s, uint32_t mode)
+{
+ return (s->regs[R_CCR] & CCR_MODE_MASK) == mode;
+}
+
+static void
+stm32f412_set_cs(Stm32f412Qspi *s, CsState state)
+{
+ if (s->cs_state != state) {
+ qemu_set_irq(s->cs_irq, state == CS_STATE_HIGH);
+ s->cs_state = state;
+ }
+}
+
+static uint64_t
+stm32f412_qspi_read(void *arg, hwaddr offset, unsigned size)
+{
+ Stm32f412Qspi *s = arg;
+ uint32_t r = UINT32_MAX;
+
+ offset >>= 2;
+
+ if (offset < R_MAX) {
+ switch (offset) {
+ case R_DR:
+ DB_PRINT_L(1, "Read %u of %"PRIi64" remaining", size, s->tx_remaining);
+ r = ssi_transfer(s->qspi, 0);
+ s->tx_remaining -= size;
+ break;
+ case R_SR: {
+ if (stm32f412_in_CCR_mode(s, CCR_MODE_AUTOMATIC_POLL)) {
+ DB_PRINT_L(2, "POLL STATUS REG. Command? %d", s->cs_state == CS_STATE_LOW);
+ stm32f412_set_cs(s, CS_STATE_LOW);
+ ssi_transfer(s->qspi, s->regs[R_CCR] & CCR_INSTR_MASK);
+ uint8_t reg = ssi_transfer(s->qspi, 0);
+ stm32f412_set_cs(s, CS_STATE_HIGH);
+ DB_PRINT_L(2, "REG: 0x%"PRIx8, reg);
+ if (stm32f412_auto_poll(s, reg)) {
+ // Success, set the SMF bit and exit auto poll mode
+ s->regs[R_SR] |= R_SR_SMF;
+ s->regs[R_CCR] &= ~CCR_MODE_AUTOMATIC_POLL;
+ }
+ }
+ r = s->regs[R_SR];
+ break;
+ }
+ default:
+ r = s->regs[offset];
+ break;
+ }
+ } else {
+ stm32_hw_warn("Out of range QSPI register 0x%x", (unsigned)offset);
+ }
+
+ if (s->tx_remaining <= 0) {
+ stm32f412_set_cs(s, CS_STATE_HIGH);
+ s->regs[R_SR] &= ~R_SR_TCF;
+ s->regs[R_SR] &= ~R_SR_BSY;
+ }
+
+ return r;
+}
+
+static void
+stm32f412_CCR_write(Stm32f412Qspi *s, uint32_t CCR, unsigned size)
+{
+ if ((CCR & CCR_ADMODE_MASK) != CCR_ADMODE_NONE) {
+ uint8_t addrsize = ((CCR & CCR_ADSIZE_MASK) >> 12) + 1;
+ DB_PRINT_L(1, "Adding %"PRIu8" for address", addrsize);
+ s->tx_remaining += addrsize;
+ }
+ if ((CCR & CCR_MODE_MASK) != CCR_MODE_AUTOMATIC_POLL) {
+ if ((CCR & CCR_IMODE_MASK) != CCR_IMODE_NONE) {
+ DB_PRINT_L(1, "Command 0x%x to tx %"PRIi64" B\n", CCR & CCR_INSTR_MASK, s->tx_remaining);
+ stm32f412_set_cs(s, CS_STATE_LOW);
+ ssi_transfer(s->qspi, CCR & CCR_INSTR_MASK);
+ }
+ }
+ s->regs[R_CCR] = CCR;
+}
+
+static void
+stm32f412_qspi_xfer(Stm32f412Qspi *s, uint32_t data, unsigned size)
+{
+ for (int i = 0; i < size; ++i) {
+ uint8_t val = (data >> (i*8)) & 0xff;
+ ssi_transfer(s->qspi, val);
+ }
+}
+
+static void
+stm32f412_qspi_write(void *arg, hwaddr addr, uint64_t data, unsigned size)
+{
+ Stm32f412Qspi *s = arg;
+
+ addr >>= 2;
+
+ switch (addr) {
+ case R_FCR: // Flag clear register
+ s->regs[R_SR] &= ~(data);
+ break;
+ case R_CCR: // Send command
+ stm32f412_CCR_write(s, data, size);
+ break;
+ case R_AR: // Send address
+ s->regs[R_AR] = data;
+ uint8_t addrsize = ((s->regs[R_CCR] & CCR_ADSIZE_MASK) >> 12) + 1;
+ stm32f412_qspi_xfer(s, data, addrsize);
+ s->tx_remaining -= addrsize;
+ break;
+ case R_DR: // Data register
+ DB_PRINT_L(2, "Write %u of %"PRIi64" remaining\n", size, s->tx_remaining);
+ s->regs[R_DR] = 0;
+ stm32f412_qspi_xfer(s, data, size);
+ s->tx_remaining -= size;
+ break;
+ case R_DLR:
+ s->tx_remaining = data + 1;
+ DB_PRINT_L(1, "Set DLR to %"PRIu64" + 1", data);
+ break;
+ case R_CR:
+ case R_DCR:
+ case R_SR:
+ case R_ABR:
+ case R_PSMKR:
+ case R_PSMAR:
+ case R_PIR:
+ case R_LPTR:
+ case R_MAX:
+ default:
+ s->regs[addr] = data;
+ break;
+ }
+
+ if (s->tx_remaining <= 0) {
+ stm32f412_set_cs(s, CS_STATE_HIGH);
+ }
+
+ s->regs[R_SR] |= R_SR_TCF;
+}
+
+static const MemoryRegionOps stm32f412_qspi_ops = {
+ .read = stm32f412_qspi_read,
+ .write = stm32f412_qspi_write,
+ .endianness = DEVICE_NATIVE_ENDIAN
+};
+
+static void
+stm32f412_qspi_reset(DeviceState *dev)
+{
+ struct stm32f412_qspi_s *s = STM32F412_QSPI(dev);
+
+ //s->regs[R_SR] = R_SR_RESET;
+ s->cs_state = CS_STATE_HIGH;
+ s->tx_remaining = 0;
+}
+
+static void
+stm32f412_qspi_init(Object *obj)
+{
+ SysBusDevice *dev = SYS_BUS_DEVICE(obj);
+ struct stm32f412_qspi_s *s = STM32F412_QSPI(dev);
+
+ memory_region_init_io(&s->iomem, NULL, &stm32f412_qspi_ops, s, "qspi", 0x3ff);
+ sysbus_init_mmio(dev, &s->iomem);
+ sysbus_init_irq(dev, &s->irq);
+ s->qspi = ssi_create_bus(DEVICE(dev), "ssi");
+
+ s->cs_state = CS_STATE_HIGH;
+ s->tx_remaining = 0;
+
+ qdev_init_gpio_out_named(DEVICE(dev), &s->cs_irq, "qspi-gpio-cs", 1);
+}
+
+static Property stm32f412_qspi_properties[] = {
+ DEFINE_PROP_END_OF_LIST()
+};
+
+static void
+stm32f412_qspi_class_init(ObjectClass *c, void *data)
+{
+ DeviceClass *dc = DEVICE_CLASS(c);
+
+ dc->reset = stm32f412_qspi_reset;
+ device_class_set_props(dc, stm32f412_qspi_properties);
+}
+
+static const TypeInfo stm32f412_qspi_info = {
+ .name = TYPE_STM32F412_QSPI,
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(struct stm32f412_qspi_s),
+ .instance_init = stm32f412_qspi_init,
+ .class_init = stm32f412_qspi_class_init
+};
+
+static void
+stm32f412_qspi_register_types(void)
+{
+ type_register_static(&stm32f412_qspi_info);
+}
+
+type_init(stm32f412_qspi_register_types)
diff --git a/include/hw/arm/stm32.h b/include/hw/arm/stm32.h
new file mode 100644
index 0000000000000..ebcd1da546f7a
--- /dev/null
+++ b/include/hw/arm/stm32.h
@@ -0,0 +1,682 @@
+/*
+ * STM32 Microcontroller
+ *
+ * Copyright (C) 2010 Andre Beckus
+ *
+ * Implementation based on ST Microelectronics "RM0008 Reference Manual Rev 10"
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, see .
+ */
+
+#ifndef STM32_H
+#define STM32_H
+
+#include "qemu/timer.h"
+#include "qemu-common.h"
+#include "hw/sysbus.h"
+#include "hw/arm/boot.h"
+#include "qemu/log.h"
+#include "chardev/char-fe.h"
+#include "hw/qdev-properties.h"
+#include "hw/core/cpu.h"
+#include "qapi/error.h"
+
+#define qdev_prop_set_ptr(a, b, c) qdev_prop_set_uint64((a), (b), (uint64_t)(c))
+#define DEFINE_PROP_PTR(_n, _s, _f) \
+ DEFINE_PROP(_n, _s, _f, qdev_prop_uint64, void*)
+
+#define TYPE_STM32_FLASH "stm32_flash"
+#define STM32_FLASH(obj) \
+ OBJECT_CHECK(Stm32Flash, (obj), TYPE_STM32_FLASH)
+
+#define TYPE_STM32_ADC "stm32f2xx_adc"
+#define STM32_ADC(obj) \
+ OBJECT_CHECK(stm32_adc, (obj), TYPE_STM32_ADC)
+
+#define TYPE_STM32F2XX_CRC "f2xx_crc"
+#define STM32F2XX_CRC(obj) \
+ OBJECT_CHECK(f2xx_crc, (obj), TYPE_STM32F2XX_CRC)
+
+#define TYPE_STM32F2XX_DMA "f2xx_dma"
+#define STM32F2XX_DMA(obj) \
+ OBJECT_CHECK(f2xx_dma, (obj), TYPE_STM32F2XX_DMA)
+
+#define TYPE_STM32F412_QSPI "stm32f412_qspi"
+#define STM32F412_QSPI(obj) \
+ OBJECT_CHECK(struct stm32f412_qspi_s, (obj), TYPE_STM32F412_QSPI)
+
+#define TYPE_STM32F2XX_SPI "stm32f2xx_spi"
+#define STM32F2XX_SPI(obj) \
+ OBJECT_CHECK(struct stm32f2xx_spi_s, (obj), TYPE_STM32F2XX_SPI)
+
+#define TYPE_STM32F7XX_LPTIM "f7xx_lptim"
+#define STM32F7XX_LPTIM(obj) \
+ OBJECT_CHECK(f7xx_lptim, (obj), TYPE_STM32F7XX_LPTIM)
+
+#define TYPE_STM32F2XX_FLASH "f2xx.flash"
+#define STM32F2XX_FLASH(obj) \
+ OBJECT_CHECK(f2xx_flash_t, (obj), TYPE_STM32F2XX_FLASH)
+
+#define TYPE_STM32F2XX_GPIO "stm32f2xx_gpio"
+#define STM32F2XX_GPIO(obj) \
+ OBJECT_CHECK(stm32f2xx_gpio, (obj), TYPE_STM32F2XX_GPIO)
+
+#define TYPE_STM32F2XX_RCC "stm32f2xx_rcc"
+#define STM32F2XX_RCC(obj) \
+ OBJECT_CHECK(Stm32f2xxRcc, (obj), TYPE_STM32F2XX_RCC)
+
+#define TYPE_STM32F2XX_TIM "f2xx_tim"
+#define STM32F2XX_TIM(obj) \
+ OBJECT_CHECK(f2xx_tim, (obj), TYPE_STM32F2XX_TIM)
+
+#define TYPE_STM32F1XX_RCC "stm32f1xx_rcc"
+#define STM32F1XX_RCC(obj) \
+ OBJECT_CHECK(Stm32f1xxRcc, (obj), TYPE_STM32F1XX_RCC)
+
+#define TYPE_STM32F2XX_SYSCFG "stm32f2xx_syscfg"
+#define STM32F2XX_SYSCFG(obj) \
+ OBJECT_CHECK(Stm32Syscfg, (obj), TYPE_STM32F2XX_SYSCFG)
+
+#define TYPE_STM32F2XX_SPI_PBL "stm32f2xx_spi_pbl"
+#define STM32F2XX_SPI_PBL(obj) \
+ OBJECT_CHECK(stm32f2xx_spi_s, (obj), TYPE_STM32F2XX_SPI_PBL)
+
+#define TYPE_STM32F2XX_RTC "f2xx_rtc"
+#define STM32F2XX_RTC(obj) \
+ OBJECT_CHECK(f2xx_rtc, (obj), TYPE_STM32F2XX_RTC)
+
+#define TYPE_STM32F2XX_DUMMY "f2xx_dummy"
+#define STM32F2XX_DUMMY(obj) \
+ OBJECT_CHECK(f2xx_dummy, (obj), TYPE_STM32F2XX_DUMMY)
+
+#define TYPE_STM32F2XX_PWR "f2xx_pwr"
+#define STM32F2XX_PWR(obj) \
+ OBJECT_CHECK(f2xx_pwr, (obj), TYPE_STM32F2XX_PWR)
+
+#define TYPE_STM32F2XX_I2C "f2xx_i2c"
+#define STM32F2XX_I2C(obj) \
+ OBJECT_CHECK(f2xx_i2c, (obj), TYPE_STM32F2XX_I2C)
+
+#define TYPE_STM32F7XX_I2C "stm32f7xx_i2c"
+#define STM32F7XX_I2C(obj) \
+ OBJECT_CHECK(stm32f7xx_i2c, (obj), TYPE_STM32F7XX_I2C)
+
+#define ENUM_STRING(x) [x] = #x
+#define ARRAY_LENGTH(array) (sizeof((array))/sizeof((array)[0]))
+
+/* COMMON */
+#define BYTE_ACCESS_SIZE 1
+#define HALFWORD_ACCESS_SIZE 2
+#define WORD_ACCESS_SIZE 4
+
+#define STM32_FLASH_ADDR_START (0x08000000)
+
+/* VALUE_BETWEEN is inclusive */
+#define VALUE_BETWEEN(value, start, end) ((value >= start) && (value <= end))
+
+#define GET_BIT_MASK(position, value) ((value ? 1 : 0) << position)
+#define GET_BIT_MASK_ONE(position) (1 << position)
+#define GET_BIT_MASK_ZERO(position) (~(1 << position))
+#define GET_BIT_VALUE(value, position) \
+ ((value & GET_BIT_MASK_ONE(position)) >> position)
+#define IS_BIT_SET(value, position) ((value & GET_BIT_MASK_ONE(position)) != 0)
+#define IS_BIT_RESET(value, position) ((value & GET_BIT_MASK_ONE(position)) ==0)
+#define SET_BIT(var, position) var |= GET_BIT_MASK_ONE(position)
+#define RESET_BIT(var, position) var &= GET_BIT_MASK_ZERO(position)
+
+/* Can be true, false, 0, or 1 */
+#define CHANGE_BIT(var, position, new_value) \
+ var = new_value ? \
+ (var | GET_BIT_MASK_ONE(position)) : \
+ (var & GET_BIT_MASK_ZERO(position))
+#define CHANGE_BITS(var, start, mask, new_value) \
+ var = (var & ~mask) | ((new_value << start) & mask)
+
+void stm32_hw_warn(const char *fmt, ...)
+ __attribute__ ((__format__ (__printf__, 1, 2)));
+
+#define stm32_unimp(x...) qemu_log_mask(LOG_UNIMP, x)
+
+
+
+
+/* PERIPHERALS - COMMON */
+/* Indexes used for accessing a GPIO array */
+#define STM32_GPIOA_INDEX 0
+#define STM32_GPIOB_INDEX 1
+#define STM32_GPIOC_INDEX 2
+#define STM32_GPIOD_INDEX 3
+#define STM32_GPIOE_INDEX 4
+#define STM32_GPIOF_INDEX 5
+#define STM32_GPIOG_INDEX 6
+#define STM32_GPIOH_INDEX 7
+#define STM32_GPIOI_INDEX 8
+
+/* Indexes used for accessing a UART array */
+#define STM32_UART1_INDEX 0
+#define STM32_UART2_INDEX 1
+#define STM32_UART3_INDEX 2
+#define STM32_UART4_INDEX 3
+#define STM32_UART5_INDEX 4
+#define STM32_UART6_INDEX 5
+
+/* Used for uniquely identifying a peripheral */
+typedef int32_t stm32_periph_t;
+
+#define DEFINE_PROP_PERIPH_T DEFINE_PROP_INT32
+#define QDEV_PROP_SET_PERIPH_T qdev_prop_set_int32
+
+enum {
+ STM32_PERIPH_UNDEFINED = -1,
+ STM32_RCC_PERIPH = 0, // 0
+ STM32_GPIOA, // 1
+ STM32_GPIOB, // 2
+ STM32_GPIOC, // 3
+ STM32_GPIOD, // 4
+ STM32_GPIOE, // 5
+ STM32_GPIOF, // 6
+ STM32_GPIOG, // 7
+ STM32_GPIOH, // 8
+ STM32_GPIOI, // 9
+ STM32_GPIOJ, // 10
+ STM32_GPIOK, // 11
+ STM32_SYSCFG, // 12
+ STM32_AFIO_PERIPH, // 13
+ STM32_UART1, // 14
+ STM32_UART2, // 15
+ STM32_UART3, // 16
+ STM32_UART4, // 17
+ STM32_UART5, // 18
+ STM32_UART6, // 19
+ STM32_UART7, // 20
+ STM32_UART8, // 21
+ STM32_ADC1, // 22
+ STM32_ADC2, // 23
+ STM32_ADC3, // 24
+ STM32_DAC, // 25
+ STM32_TIM1, // 26
+ STM32_TIM2, // 27
+ STM32_TIM3, // 28
+ STM32_TIM4, // 29
+ STM32_TIM5,
+ STM32_TIM6,
+ STM32_TIM7,
+ STM32_TIM8,
+ STM32_TIM9,
+ STM32_TIM10,
+ STM32_TIM11,
+ STM32_TIM12,
+ STM32_TIM13,
+ STM32_TIM14,
+ STM32_BKP,
+ STM32_PWR,
+ STM32_I2C1,
+ STM32_I2C2,
+ STM32_I2C3,
+ STM32_I2C4,
+ STM32_I2S2,
+ STM32_I2S3,
+ STM32_WWDG,
+ STM32_CAN1,
+ STM32_CAN2,
+ STM32_CAN,
+ STM32_USB,
+ STM32_SPI1,
+ STM32_SPI2,
+ STM32_SPI3,
+ STM32_EXTI_PERIPH,
+ STM32_SDIO,
+ STM32_FSMC,
+ STM32_RTC,
+ STM32_CRC,
+ STM32_DMA1,
+ STM32_DMA2,
+ STM32_DCMI_PERIPH,
+ STM32_CRYP_PERIPH,
+ STM32_HASH_PERIPH,
+ STM32_RNG_PERIPH,
+ STM32_QSPI,
+ STM32_LPTIM1,
+
+ STM32_PERIPH_COUNT,
+};
+
+const char *stm32_periph_name(stm32_periph_t periph);
+
+/* Convert between a GPIO array index and stm32_periph_t, and vice-versa */
+#define STM32_GPIO_INDEX_FROM_PERIPH(gpio_periph) (gpio_periph - STM32_GPIOA)
+#define STM32_GPIO_PERIPH_FROM_INDEX(gpio_index) (STM32_GPIOA + gpio_index)
+
+
+
+
+/* REGISTER HELPERS */
+/* Macros used for converting a half-word into a word.
+ * Assume that memory alignment can be determined by looking at offset
+ * i.e. the base address should always be 4 byte aligned.
+ * Also assume that odd offsets will never occur
+ * i.e. all offsets must be 2 byte aligned.
+ */
+#define STM32_REG_READH_VALUE(offset, value32) \
+ ((offset & 3) ? \
+ (value32 & 0xffff0000) >> 16 : \
+ value32 & 0x0000ffff)
+#define STM32_REG_WRITEH_VALUE(offset, old_value32, new_value32) \
+ ((offset & 3) ? \
+ (old_value32 & 0x0000ffff) | ((new_value32 & 0x0000ffff) << 16) : \
+ (old_value32 & 0xffff0000) | (new_value32 & 0x0000ffff) )
+
+/* Error handlers */
+# define STM32_BAD_REG(offset, size) \
+ hw_error("%s: Bad register 0x%x - size %u\n", __FUNCTION__, (int)offset, size)
+# define STM32_WARN_RO_REG(offset) \
+ qemu_log_mask(LOG_GUEST_ERROR, "%s: Read-only register 0x%x\n", \
+ __FUNCTION__, (int)offset)
+# define STM32_WARN_WO_REG(offset) \
+ qemu_log_mask(LOG_GUEST_ERROR, "%s: Write-only register 0x%x\n", \
+ __FUNCTION__, (int)offset)
+# define STM32_NOT_IMPL_REG(offset, size) \
+ hw_error("%s: Not implemented yet 0x%x - size %u\n", __FUNCTION__, (int)offset, size)
+
+
+
+
+/* IRQs */
+#define STM32_PVD_IRQ 1
+#define STM32_TAMP_STAMP_IRQ 2
+#define STM32_RTC_WKUP_IRQ 3
+#define STM32_RCC_IRQ 5
+#define STM32_EXTI0_IRQ 6
+#define STM32_EXTI1_IRQ 7
+#define STM32_EXTI2_IRQ 8
+#define STM32_EXTI3_IRQ 9
+#define STM32_EXTI4_IRQ 10
+
+#define STM32_DMA1_STREAM0_IRQ 11
+#define STM32_DMA1_STREAM1_IRQ 12
+#define STM32_DMA1_STREAM2_IRQ 13
+#define STM32_DMA1_STREAM3_IRQ 14
+#define STM32_DMA1_STREAM4_IRQ 15
+#define STM32_DMA1_STREAM5_IRQ 16
+#define STM32_DMA1_STREAM6_IRQ 17
+
+#define STM32_EXTI9_5_IRQ 23
+#define STM32_TIM1_BRK_TIM9_IRQ 24
+#define STM32_TIM1_UP_TIM10_IRQ 25
+#define STM32_TIM1_TRG_COM_TIM11_IRQ 26
+#define STM32_TIM1_CC_IRQ 27
+#define STM32_TIM2_IRQ 28
+#define STM32_TIM3_IRQ 29
+#define STM32_TIM4_IRQ 30
+
+#define STM32_I2C1_EV_IRQ 31
+#define STM32_I2C1_ER_IRQ 32
+#define STM32_I2C2_EV_IRQ 33
+#define STM32_I2C2_ER_IRQ 34
+
+#define STM32_SPI1_IRQ 35
+#define STM32_SPI2_IRQ 36
+
+#define STM32_UART1_IRQ 37
+#define STM32_UART2_IRQ 38
+#define STM32_UART3_IRQ 39
+#define STM32_EXTI15_10_IRQ 40
+#define STM32_RTCAlarm_IRQ 41
+#define STM32_OTG_FS_WKUP_IRQ 42
+#define STM32_TIM8_BRK_TIM12_IRQ 43
+#define STM32_TIM8_UP_TIM13_IRQ 44
+#define STM32_TIM8_TRG_COMM_TIM14_IRQ 45
+
+#define STM32_DMA1_STREAM7_IRQ 47
+
+#define STM32_TIM5_IRQ 50
+#define STM32_SPI3_IRQ 51
+#define STM32_UART4_IRQ 52
+#define STM32_UART5_IRQ 53
+#define STM32_TIM6_IRQ 54
+#define STM32_TIM7_IRQ 55
+
+#define STM32_DMA2_STREAM0_IRQ 56
+#define STM32_DMA2_STREAM1_IRQ 57
+#define STM32_DMA2_STREAM2_IRQ 58
+#define STM32_DMA2_STREAM3_IRQ 59
+#define STM32_DMA2_STREAM4_IRQ 60
+
+#define STM32_ETH_WKUP_IRQ 62
+
+#define STM32_DMA2_STREAM5_IRQ 68
+#define STM32_DMA2_STREAM6_IRQ 69
+#define STM32_DMA2_STREAM7_IRQ 70
+
+#define STM32_UART6_IRQ 71
+
+#define STM32_I2C3_EV_IRQ 72
+#define STM32_I2C3_ER_IRQ 73
+
+#define STM32_SPI4_IRQ 84
+#define STM32_SPI5_IRQ 85
+#define STM32_SPI6_IRQ 86
+
+#define STM32_QSPI_IRQ 92
+#define STM32_LPTIM1_IRQ 93
+
+#define STM32_I2C4_EV_IRQ 95
+#define STM32_I2C4_ER_IRQ 96
+
+#define STM32_MAX_IRQ 127
+
+
+
+/* EXTI */
+typedef struct Stm32Exti Stm32Exti;
+
+#define TYPE_STM32_EXTI "stm32-exti"
+#define STM32_EXTI(obj) OBJECT_CHECK(Stm32Exti, (obj), TYPE_STM32_EXTI)
+
+#define TYPE_STM32_EXTI_ALT "stm32-exti-alt"
+#define STM32_EXTI_ALT(obj) OBJECT_CHECK(Stm32Exti, (obj), TYPE_STM32_EXTI_ALT)
+
+/* Assigns the specified EXTI line to the specified GPIO. */
+void stm32_exti_set_gpio(Stm32Exti *s, unsigned exti_line, const uint8_t gpio_index);
+
+/* Unassigns the specified EXTI line from the specified GPIO. */
+void stm32_exti_reset_gpio(Stm32Exti *s, unsigned exti_line, const uint8_t gpio_index);
+
+
+
+/* RTC */
+// Set the value of one of the QEMU specific extra RTC backup registers. The idx value starts
+// at 0 for the first extra register
+void f2xx_rtc_set_extra_bkup_reg(void *opaque, uint32_t idx, uint32_t value);
+
+
+/* GPIO */
+typedef struct Stm32Gpio Stm32Gpio;
+
+#define TYPE_STM32_GPIO "stm32-gpio"
+#define STM32_GPIO(obj) OBJECT_CHECK(Stm32Gpio, (obj), TYPE_STM32_GPIO)
+
+#define STM32_GPIO_COUNT (STM32_GPIOG - STM32_GPIOA + 1)
+#define STM32_GPIO_PIN_COUNT 16
+
+
+/* Sets the EXTI IRQ for the specified pin. When a change occurs
+ * on this pin, and interrupt will be generated on this IRQ.
+ */
+void stm32_gpio_set_exti_irq(Stm32Gpio *s, unsigned pin, qemu_irq in_irq);
+
+/* GPIO pin mode */
+#define STM32_GPIO_MODE_IN 0
+#define STM32_GPIO_MODE_OUT_10MHZ 1
+#define STM32_GPIO_MODE_OUT_2MHZ 2
+#define STM32_GPIO_MODE_OUT_50MHZ 3
+uint8_t stm32_gpio_get_mode_bits(Stm32Gpio *s, unsigned pin);
+
+/* GPIO pin config */
+#define STM32_GPIO_IN_ANALOG 0
+#define STM32_GPIO_IN_FLOAT 1
+#define STM32_GPIO_IN_PULLUPDOWN 2
+#define STM32_GPIO_OUT_PUSHPULL 0
+#define STM32_GPIO_OUT_OPENDRAIN 1
+#define STM32_GPIO_OUT_ALT_PUSHPULL 2
+#define STM32_GPIO_OUT_ALT_OPEN 3
+uint8_t stm32_gpio_get_config_bits(Stm32Gpio *s, unsigned pin);
+
+
+
+
+/* GPIO - f2xx */
+typedef struct stm32f2xx_gpio stm32f2xx_gpio;
+void f2xx_gpio_exti_set(stm32f2xx_gpio *, unsigned, qemu_irq);
+void f2xx_gpio_wake_set(stm32f2xx_gpio *, unsigned, qemu_irq);
+
+
+
+
+/* RCC */
+typedef struct Stm32Rcc Stm32Rcc;
+
+#define TYPE_STM32_RCC "stm32-rcc"
+#define STM32_RCC(obj) OBJECT_CHECK(Stm32Rcc, (obj), TYPE_STM32_RCC)
+
+/* Checks if the specified peripheral clock is enabled.
+ * Generates a hardware error if not.
+ */
+void stm32_rcc_check_periph_clk(Stm32Rcc *s, stm32_periph_t periph);
+
+/* Sets the IRQ to be called when the specified peripheral clock changes
+ * frequency. */
+void stm32_rcc_set_periph_clk_irq(
+ Stm32Rcc *s,
+ stm32_periph_t periph,
+ qemu_irq periph_irq);
+
+/* Gets the frequency of the specified peripheral clock. */
+uint32_t stm32_rcc_get_periph_freq(
+ Stm32Rcc *s,
+ stm32_periph_t periph);
+
+
+
+/* TIM */
+typedef struct Stm32Timer Stm32Timer;
+#define STM32_TIM_COUNT 14
+
+
+/* LPTIM */
+typedef struct Stm32F7xxLPTimer Stm32F7xxLPTimer;
+
+
+/* UART */
+#define STM32_UART_COUNT 5
+
+typedef struct Stm32Uart Stm32Uart;
+
+#define TYPE_STM32_UART "stm32-uart"
+#define STM32_UART(obj) OBJECT_CHECK(Stm32Uart, (obj), TYPE_STM32_UART)
+
+/* Connects the character driver to the specified UART. The
+ * board's pin mapping should be passed in. This will be used to
+ * verify the correct mapping is configured by the software.
+ */
+void stm32_uart_connect(Stm32Uart *s, Chardev *chr,
+ uint32_t afio_board_map);
+
+/* Low level methods that let you connect a UART device to any other instance
+ * that has read/write handlers. These can be used in place of stm32_uart_connect
+ * if not connecting to a Chardev instance. */
+void stm32_uart_set_write_handler(Stm32Uart *s, void *obj,
+ int (*chr_write_handler)(void *chr_write_obj, const uint8_t *buf, int len));
+void stm32_uart_get_rcv_handlers(Stm32Uart *s, IOCanReadHandler **can_read,
+ IOReadHandler **read, IOEventHandler **event);
+
+void stm32_create_uart_dev(
+ Object *stm32_container,
+ stm32_periph_t periph,
+ int uart_num,
+ DeviceState *rcc_dev,
+ DeviceState **gpio_dev,
+ DeviceState *afio_dev,
+ hwaddr addr,
+ qemu_irq irq);
+
+
+/* STM32F7xx UART */
+#define STM32F7XX_UART_COUNT 8
+
+typedef struct Stm32F7xxUart Stm32F7xxUart;
+
+#define TYPE_STM32F7XX_UART "stm32f7xx-uart"
+#define STM32F7XX_UART(obj) OBJECT_CHECK(Stm32F7xxUart, (obj), TYPE_STM32F7XX_UART)
+
+/* Connects the character driver to the specified UART. The
+ * board's pin mapping should be passed in. This will be used to
+ * verify the correct mapping is configured by the software.
+ */
+void stm32f7xx_uart_connect(Stm32F7xxUart *s, Chardev *chr,
+ uint32_t afio_board_map);
+
+/* Low level methods that let you connect a UART device to any other instance
+ * that has read/write handlers. These can be used in place of stm32_uart_connect
+ * if not connecting to a Chardev instance. */
+void stm32f7xx_uart_set_write_handler(Stm32F7xxUart *s, void *obj,
+ int (*chr_write_handler)(void *chr_write_obj, const uint8_t *buf, int len));
+void stm32f7xx_uart_get_rcv_handlers(Stm32F7xxUart *s, IOCanReadHandler **can_read,
+ IOReadHandler **read, IOEventHandler **event);
+
+void stm32f7xx_create_uart_dev(
+ Object *stm32_container,
+ stm32_periph_t periph,
+ int uart_num,
+ DeviceState *rcc_dev,
+ DeviceState **gpio_dev,
+ DeviceState *afio_dev,
+ hwaddr addr,
+ qemu_irq irq);
+
+
+/* AFIO */
+#define TYPE_STM32_AFIO "stm32-afio"
+#define STM32_AFIO(obj) OBJECT_CHECK(Stm32Afio, (obj), TYPE_STM32_AFIO)
+
+typedef struct Stm32Afio Stm32Afio;
+
+/* AFIO Peripheral Mapping */
+#define STM32_USART1_NO_REMAP 0
+#define STM32_USART1_REMAP 1
+
+#define STM32_USART2_NO_REMAP 0
+#define STM32_USART2_REMAP 1
+
+#define STM32_USART3_NO_REMAP 0
+#define STM32_USART3_PARTIAL_REMAP 1
+#define STM32_USART3_FULL_REMAP 3
+
+/* Gets the pin mapping for the specified peripheral. Will return one
+ * of the mapping values defined above. */
+uint32_t stm32_afio_get_periph_map(Stm32Afio *s, int32_t periph_num);
+
+void stm32_afio_uart_check_tx_pin_callback(Stm32Uart *s);
+
+
+
+
+/* STM32 PERIPHERALS - GENERAL */
+DeviceState *stm32_init_periph(DeviceState *dev, stm32_periph_t periph,
+ hwaddr addr, qemu_irq irq);
+
+
+/* STM32 MICROCONTROLLER - GENERAL */
+typedef struct Stm32 Stm32;
+
+/* Initialize the STM32 microcontroller. Returns arrays
+ * of GPIOs and UARTs so that connections can be made. */
+void stm32f1xx_init(
+ ram_addr_t flash_size,
+ ram_addr_t ram_size,
+ const char *kernel_filename,
+ Stm32Gpio **stm32_gpio,
+ Stm32Uart **stm32_uart,
+ uint32_t osc_freq,
+ uint32_t osc32_freq);
+
+struct stm32f2xx;
+void stm32f2xx_init(
+ ram_addr_t flash_size,
+ ram_addr_t ram_size,
+ const char *kernel_filename,
+ Stm32Gpio **stm32_gpio,
+ Stm32Uart **stm32_uart,
+ Stm32Timer **stm32_timer,
+ DeviceState **stm32_rtc,
+ uint32_t osc_freq,
+ uint32_t osc32_freq,
+ struct stm32f2xx *stm,
+ ARMCPU **cpu);
+
+struct stm32f4xx;
+void stm32f4xx_init(
+ ram_addr_t flash_size,
+ ram_addr_t ram_size,
+ const char *kernel_filename,
+ Stm32Gpio **stm32_gpio,
+ const uint32_t *gpio_idr_masks,
+ Stm32Uart **stm32_uart,
+ Stm32Timer **stm32_timer,
+ DeviceState **stm32_rtc,
+ uint32_t osc_freq,
+ uint32_t osc32_freq,
+ struct stm32f4xx *stm,
+ ARMCPU **cpu);
+
+struct stm32f7xx;
+void stm32f7xx_init(
+ ram_addr_t flash_size,
+ ram_addr_t ram_size,
+ const char *kernel_filename,
+ Stm32Gpio **stm32_gpio,
+ const uint32_t *gpio_idr_masks,
+ Stm32F7xxUart **stm32_uart,
+ Stm32Timer **stm32_timer,
+ Stm32F7xxLPTimer **lptimer,
+ DeviceState **stm32_rtc,
+ uint32_t osc_freq,
+ uint32_t osc32_freq,
+ struct stm32f7xx *stm,
+ ARMCPU **cpu);
+
+static inline DeviceState *
+armv7m_translated_init(Object *parent, MemoryRegion *system_memory,
+ int flash_size, int sram_size, int num_irq,
+ const char *kernel_filename,
+ uint64_t (*translate_fn)(void *, uint64_t),
+ void *translate_opaque,
+ const char *cpu_model,
+ ARMCPU **cpu_device) {
+
+ if (sram_size) {
+
+ MemoryRegion *sram = g_new(MemoryRegion, 1);
+ memory_region_init_ram(sram, NULL, "armv7m.sram", sram_size, &error_fatal);
+ memory_region_add_subregion(system_memory, 0x20000000, sram);
+ }
+
+ DeviceState *armv7m = qdev_create(NULL, "armv7m");
+ qdev_prop_set_string(DEVICE(armv7m), "cpu-type", cpu_model);
+ qdev_prop_set_uint32(DEVICE(armv7m), "num-irq", num_irq);
+ qdev_prop_set_bit(DEVICE(armv7m), "enable-bitband", true);
+ object_property_set_link(OBJECT(armv7m), OBJECT(system_memory),
+ "memory", NULL);
+ qdev_init_nofail(DEVICE(armv7m));
+
+
+ armv7m_load_kernel(ARM_CPU(first_cpu), kernel_filename, flash_size);
+ cpu_device = armv7m;
+ return armv7m;
+}
+
+static inline DeviceState *
+armv7m_init(Object *parent, MemoryRegion *system_memory,
+ int flash_size, int sram_size, int num_irq,
+ const char *kernel_filename, const char *cpu_model)
+{
+ ARMCPU *cpu;
+ return armv7m_translated_init(parent, system_memory, flash_size, sram_size, num_irq,
+ kernel_filename, NULL, NULL, cpu_model, &cpu);
+}
+
+typedef struct f2xx_flash f2xx_flash_t;
+f2xx_flash_t *f2xx_flash_register(BlockBackend *blk, hwaddr base,
+ hwaddr size);
+#endif /* STM32_H */
diff --git a/include/hw/arm/stm32_clktree.h b/include/hw/arm/stm32_clktree.h
new file mode 100644
index 0000000000000..7740cf15cd764
--- /dev/null
+++ b/include/hw/arm/stm32_clktree.h
@@ -0,0 +1,82 @@
+/*
+ * Basic Clock Tree Building Blocks
+ *
+ * Copyright (C) 2012 Andre Beckus
+ *
+ * Source code roughly based on omap_clk.c
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, see .
+ */
+
+#ifndef STM32_CLKTREE_H
+#define STM32_CLKTREE_H
+
+#include "qemu-common.h"
+
+#define CLKTREE_MAX_IRQ 16
+#define CLKTREE_MAX_OUTPUT 24
+#define CLKTREE_MAX_INPUT 24
+
+/* Use this when calling clktree_create_clk and clktree_set_selected_input */
+#define CLKTREE_NO_INPUT -1
+
+/* Use this when calling clktree_create_clk */
+#define CLKTREE_NO_MAX_FREQ UINT32_MAX
+
+typedef struct Clk *Clk;
+
+/* Check if the clock output is enabled. */
+bool clktree_is_enabled(Clk clk);
+
+/* Get the clock's output frequency. This will be 0 if:
+ * - No clock is selected as an input.
+ * - The clock output is not enabled.
+ * - The multiplier is set to 0.
+ */
+uint32_t clktree_get_output_freq(Clk clk);
+
+/* Add an IRQ to receive notifications when the clock frequency is updated. */
+void clktree_adduser(Clk clk, qemu_irq user);
+
+/* Create a source clock (e.g. oscillator) with the given frequency. */
+Clk clktree_create_src_clk(
+ const char *name,
+ uint32_t src_freq,
+ bool enabled);
+
+/* Create a clock. The vararg parameter specifies all of the source clocks
+ * (use NULL to indicate the end of the list). A warning will be generated if
+ * the output frequency of the clock ever exceeds max_output_freq. */
+Clk clktree_create_clk(
+ const char *name,
+ uint16_t multiplier,
+ uint16_t divisor,
+ bool enabled,
+ uint32_t max_output_freq,
+ int selected_input,
+ ...);
+
+/* Set the multiplier and divider scales. */
+void clktree_set_scale(Clk clk, uint16_t multiplier, uint16_t divisor);
+
+/* Enable or disable the clock output. */
+void clktree_set_enabled(Clk clk, bool enabled);
+
+/* Selects the specified input clock. selected_input should be 0 to select the
+ * first input clock passed in to clktree_create_clk, 1 for the second input
+ * clock, and so on. Pass in CLKTREE_NO_INPUT to not select any input
+ * (i.e. input frequency will be 0). */
+void clktree_set_selected_input(Clk clk, int selected_input);
+
+#endif /* STM32_CLKTREE_H */
diff --git a/include/hw/block/flash.h b/include/hw/block/flash.h
index 2136a2d5e4cd2..ddfb9fcbb9012 100644
--- a/include/hw/block/flash.h
+++ b/include/hw/block/flash.h
@@ -47,6 +47,23 @@ PFlashCFI02 *pflash_cfi02_register(hwaddr base,
uint16_t unlock_addr1,
int be);
+
+/* pflash_jedec_424.c */
+
+#define TYPE_CFI_PFLASH_JEDEC_424 "cfi.pflash.jedec-42.4"
+#define CFI_PFLASH_JEDEC(obj) \
+ OBJECT_CHECK(PFlashJedec424, (obj), TYPE_CFI_PFLASH_JEDEC_424)
+
+typedef struct PFlashJedec424 PFlashJedec424;
+
+PFlashJedec424 *pflash_jedec_424_register(hwaddr base,
+ DeviceState *qdev, const char *name,
+ hwaddr size,
+ BlockBackend *blk,
+ uint32_t sector_len, int nb_blocs, uint32_t bank_size,
+ int bank_width, uint16_t id0, uint16_t id1,
+ uint16_t id2, uint16_t id3, int be);
+
/* nand.c */
DeviceState *nand_init(BlockBackend *blk, int manf_id, int chip_id);
void nand_setpins(DeviceState *dev, uint8_t cle, uint8_t ale,
diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h
index 1405b8a990a18..198ee5a0d4ccf 100644
--- a/include/hw/qdev-core.h
+++ b/include/hw/qdev-core.h
@@ -144,6 +144,7 @@ typedef struct NamedGPIOList NamedGPIOList;
struct NamedGPIOList {
char *name;
qemu_irq *in;
+ qemu_irq *out;
int num_in;
int num_out;
QLIST_ENTRY(NamedGPIOList) node;
diff --git a/pebble.py b/pebble.py
new file mode 100755
index 0000000000000..b5760a996d428
--- /dev/null
+++ b/pebble.py
@@ -0,0 +1,60 @@
+#!/usr/bin/env python
+
+import os
+import argparse
+
+
+####################################################################################################
+if __name__ == '__main__':
+ # Collect our command line arguments
+ parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)
+ parser.add_argument('--machine', choices=['bb2', 'snowy-bb', 's4-bb'],
+ default='bb2', help="Which machine to emulate ")
+ parser.add_argument('-S', '--start_in_monitor', action='store_true',
+ help="Start in the monitor. Enter 'cont' in the monitor to start emulation")
+ parser.add_argument('--vnc', action='store_true',
+ help="Use VNC on port 5900 for the display")
+ parser.add_argument('--vnc_ws', action='store_true',
+ help="Use VNC over websockets on port 4444 for the display")
+ parser.add_argument('-d', '--debug',
+ help=("Turn on extensive debug logging. Available ones are:"
+ "out_asm,in_asm,op,op_opt,int,exec,cpu,pcall,cpu_reset,ioport,unimp,"
+ "guest_errors. Enter one or more comma separated."))
+ args = parser.parse_args()
+
+
+ cmd_line = (
+ "qemu-system-arm "
+ "-rtc base=localtime "
+ "-s " # Start gdb server
+ "-serial file:uart1.log "
+ "-serial tcp::12344,server,nowait " # Used for Pebble Protocol
+ "-serial tcp::12345,server,nowait " # Used for console
+ "-monitor stdio "
+ )
+ cmd_line += "-machine pebble-%s " % (args.machine)
+ if args.machine in ('snowy-bb', 's4-bb'):
+ cmd_line += "-cpu cortex-m4 "
+ cmd_line += "-pflash ../test_images/qemu_micro_flash.bin "
+ cmd_line += "-pflash ../test_images/qemu_spi_flash.bin "
+ else:
+ cmd_line += "-cpu cortex-m3 "
+ cmd_line += "-pflash ../test_images/qemu_micro_flash.bin "
+ cmd_line += "-mtdblock ../test_images/qemu_spi_flash.bin "
+
+ if args.start_in_monitor:
+ cmd_line += "-S "
+ if args.debug:
+ cmd_line += ("-d " + args.debug)
+
+ if (args.vnc and args.vnc_ws):
+ raise RuntimeError("--vnc and --vnc_ws can not both be specified");
+ if args.vnc:
+ cmd_line += "-vnc :0 "
+ if args.vnc_ws:
+ cmd_line += "-vnc :1,websocket=4444 "
+
+ print "Executing command line: \n ", cmd_line
+ os.system(cmd_line)
+
+
diff --git a/pebble_dbgserial.sh b/pebble_dbgserial.sh
new file mode 100755
index 0000000000000..69faefc06fbb2
--- /dev/null
+++ b/pebble_dbgserial.sh
@@ -0,0 +1 @@
+python -m serial.tools.miniterm socket://:12345 230400
diff --git a/scripts/png_to_cstruct.py b/scripts/png_to_cstruct.py
new file mode 100755
index 0000000000000..362ec9fd0655e
--- /dev/null
+++ b/scripts/png_to_cstruct.py
@@ -0,0 +1,90 @@
+#!/usr/bin/env python
+
+"""
+Convert a PNG image into a C struct
+"""
+
+import itertools
+import math
+import png
+
+_NoFill = object()
+def unflatten(iterable, n, fill=_NoFill):
+ count = 0
+ accumulator = []
+ for item in iterable:
+ accumulator.append(item)
+ count += 1
+ if count == n:
+ yield tuple(accumulator)
+ accumulator = []
+ count = 0
+ if accumulator and fill is not _NoFill:
+ accumulator += [fill] * (n-count)
+ yield tuple(accumulator)
+
+def rgb_triplets(row):
+ """Packs a flattened row of RGB pixel data into (r,g,b) tuples."""
+ return unflatten(row, 3)
+
+def to_rgb222(row):
+ """Converts pixels from RGB888 to RGB222 format.
+
+ The function takes an iterable of (r,g,b) tuples, each representing
+ a pixel. Each pixel is downsampled to RGB222 and packed into a
+ single byte. The format of the byte is 0bRrGgBb00.
+ """
+ def downsample(value):
+ return (value >> 6) & 0x3
+
+ for r, g, b in row:
+ yield downsample(r) << 6 | downsample(g) << 4 | downsample(b) << 2
+
+def png_to_bytes(png_reader, converter=to_rgb222):
+ width, height, image, _ = png_reader.asRGB8()
+ rows = [rgb_triplets(row) for row in image]
+ scanlines = [converter(row) for row in rows]
+ return height, width, scanlines
+
+def png_to_cstruct(png_reader, dst_name, var_name):
+ height, width, image = png_to_bytes(png_reader)
+
+ print "// C struct format image converted from '%s' using png_to_cstruct.py" % args.src.name
+ print "static uint8_t *get_%s_image(int *width, int *height) {\n" % (var_name)
+ print " *width = %d;" % (width)
+ print " *height = %d;" % (height)
+ print " static uint8_t %s[%d] = {\n" % (var_name, width*height)
+
+ for line in image:
+ print " ",
+ for i, pixel in enumerate(line):
+ if (i > 0) and (i % 12) == 0:
+ print "\n ",
+ print " 0x%02x," % pixel,
+ print "\n"
+
+ print " };"
+ print " return %s;" % (var_name)
+ print "}"
+
+
+if __name__=='__main__':
+ import argparse
+ import os.path
+ import re
+
+ parser = argparse.ArgumentParser()
+ parser.add_argument('src', metavar='PNGFILE', type=argparse.FileType('rb'),
+ help='image file to convert')
+ args = parser.parse_args()
+
+ # Attempt to strip ".png" suffix. Not terribly smart, but good enough.
+ dst_name = os.path.splitext(args.src.name)[0] + '.c'
+
+ # Attempt to strip ".png" suffix. Not terribly smart, but good enough.
+ var_name = re.sub(r'[^a-zA-Z0-9_]', '_',
+ os.path.splitext(os.path.basename(args.src.name))[0])
+
+ reader = png.Reader(args.src)
+ png_to_cstruct(reader, dst_name, var_name)
+
diff --git a/ui/cocoa.m b/ui/cocoa.m
index cb556e4e6689d..fb112cb662cc4 100644
--- a/ui/cocoa.m
+++ b/ui/cocoa.m
@@ -950,6 +950,9 @@ - (bool) handleEventLocked:(NSEvent *)event
- (void) grabMouse
{
+#ifdef NO_MOUSE
+ return;
+#endif
COCOA_DEBUG("QemuCocoaView: grabMouse\n");
if (!isFullscreen) {
@@ -968,6 +971,9 @@ - (void) grabMouse
- (void) ungrabMouse
{
+#ifdef NO_MOUSE
+ return;
+#endif
COCOA_DEBUG("QemuCocoaView: ungrabMouse\n");
if (!isFullscreen) {
@@ -1343,6 +1349,9 @@ - (void)changeDeviceMedia:(id)sender
/* Verifies if the user really wants to quit */
- (BOOL)verifyQuit
{
+#ifdef SKIP_QUIT_PROMPT
+ return YES;
+#else
NSAlert *alert = [NSAlert new];
[alert autorelease];
[alert setMessageText: @"Are you sure you want to quit QEMU?"];
@@ -1353,6 +1362,7 @@ - (BOOL)verifyQuit
} else {
return NO;
}
+#endif
}
/* The action method for the About menu item */
diff --git a/ui/gtk.c b/ui/gtk.c
index 030b251c6109e..f94fd123163a2 100644
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -1483,6 +1483,9 @@ static void gd_ungrab_keyboard(GtkDisplayState *s)
static void gd_grab_pointer(VirtualConsole *vc, const char *reason)
{
+#ifdef NO_MOUSE
+ return;
+#endif
GdkDisplay *display = gtk_widget_get_display(vc->gfx.drawing_area);
if (vc->s->ptr_owner) {
@@ -1515,6 +1518,9 @@ static void gd_grab_pointer(VirtualConsole *vc, const char *reason)
static void gd_ungrab_pointer(GtkDisplayState *s)
{
+#ifdef NO_MOUSE
+ return;
+#endif
VirtualConsole *vc = s->ptr_owner;
GdkDisplay *display;
diff --git a/ui/sdl2.c b/ui/sdl2.c
index 3c9424eb42c3f..f70e7e55079a8 100644
--- a/ui/sdl2.c
+++ b/ui/sdl2.c
@@ -197,6 +197,9 @@ static void sdl_show_cursor(struct sdl2_console *scon)
static void sdl_grab_start(struct sdl2_console *scon)
{
+#ifdef NO_MOUSE
+ return;
+#endif
QemuConsole *con = scon ? scon->dcl.con : NULL;
if (!con || !qemu_console_is_graphic(con)) {
@@ -225,6 +228,9 @@ static void sdl_grab_start(struct sdl2_console *scon)
static void sdl_grab_end(struct sdl2_console *scon)
{
+#ifdef NO_MOUSE
+ return;
+#endif
SDL_SetWindowGrab(scon->real_window, SDL_FALSE);
gui_grab = 0;
sdl_show_cursor(scon);