diff --git a/.gitignore b/.gitignore index 80d3cd7de..23865d3d7 100755 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,6 @@ .BoardConfig.mk RK-RELEASE-NOTES-V1.4.1.txt IMAGE/ -output/ \ No newline at end of file +output/ +project/app/wifi_app/wpa_supplicant.conf +config/ diff --git a/project/build.sh b/project/build.sh index 84efae612..11bd3e00d 100755 --- a/project/build.sh +++ b/project/build.sh @@ -39,6 +39,7 @@ SDK_CONFIG_DIR=${SDK_ROOT_DIR}/config DTS_CONFIG=${SDK_CONFIG_DIR}/dts_config KERNEL_DEFCONFIG=${SDK_CONFIG_DIR}/kernel_defconfig BUILDROOT_DEFCONFIG=${SDK_CONFIG_DIR}/buildroot_defconfig +UBUNTU_DIR=${SDK_SYSDRV_DIR}/tools/board/ubuntu if [ $(getconf _NPROCESSORS_ONLN) -eq 1 ]; then export RK_JOBS=1 @@ -551,8 +552,6 @@ function build_check() { } function build_app() { - check_config RK_APP_TYPE || return 0 - if [ "$RK_ENABLE_WIFI" = "y" ]; then echo "Set Wifi SSID and PASSWD" check_config LF_WIFI_PSK LF_WIFI_SSID || return 0 @@ -571,6 +570,8 @@ EOF mv $WIFI_NEW_CONF $WIFI_CONF fi + check_config RK_APP_TYPE || return 0 + echo "============Start building app============" echo "TARGET_APP_CONFIG=$RK_APP_DEFCONFIG $RK_APP_DEFCONFIG_FRAGMENT $RK_APP_TYPE" echo "=========================================" @@ -1056,6 +1057,9 @@ function build_clean() { make distclean -C ${SDK_APP_DIR} rm -rf ${RK_PROJECT_OUTPUT_IMAGE} ${RK_PROJECT_OUTPUT} rm -rf ${DTS_CONFIG} ${KERNEL_DEFCONFIG} ${BUILDROOT_DEFCONFIG} + rm -rf ${SDK_ROOT_DIR}/output ${SDK_ROOT_DIR}/config + rm -rf ${SDK_ROOT_DIR}/sysdrv/source/kernel/out + rm -rf ${BOARD_CONFIG} ;; *) msg_warn "clean [$1] not support, ignore" @@ -1237,6 +1241,10 @@ echo SDK Version: ${GLOBAL_SDK_VERSION} EOF chmod a+x $RK_PROJECT_PACKAGE_ROOTFS_DIR/bin/sdkinfo + if [ "$RK_BOOT_MEDIUM" == "emmc" ] && [ "$LF_TARGET_ROOTFS" == "ubuntu" ]; then + cp $WIFI_CONF $RK_PROJECT_PACKAGE_ROOTFS_DIR/etc + fi + __COPY_FILES $RK_PROJECT_PATH_APP/root $RK_PROJECT_PACKAGE_ROOTFS_DIR __COPY_FILES $RK_PROJECT_PATH_MEDIA/root $RK_PROJECT_PACKAGE_ROOTFS_DIR __COPY_FILES $SDK_ROOT_DIR/external $RK_PROJECT_PACKAGE_ROOTFS_DIR @@ -1830,6 +1838,9 @@ __GET_BOOTARGS_FROM_BOARD_CFG() { __LINK_DEFCONFIG_FROM_BOARD_CFG() { mkdir -p ${SDK_CONFIG_DIR} + if [[ "$LF_TARGET_ROOTFS" == "ubuntu" ]]; then + sudo chmod a+rw $SDK_CONFIG_DIR + fi if [ -n "$RK_KERNEL_DTS" ]; then rm -f $DTS_CONFIG @@ -2149,6 +2160,7 @@ function build_save() { STUB_PATH="$(echo $STUB_PATH | tr '[:lower:]' '[:upper:]')" export STUB_PATH=$SDK_ROOT_DIR/$STUB_PATH export STUB_PATCH_PATH=$STUB_PATH/PATCHES + export STUB_PARENT_PATH="$SDK_ROOT_DIR"/IMAGE STUB_DEBUG_FILES_PATH="$STUB_PATH/DEBUG_FILES" mkdir -p $STUB_PATH $STUB_PATCH_PATH @@ -2172,6 +2184,11 @@ function build_save() { echo "BUILD-ID: $(hostname):$(whoami)" >>$STUB_PATH/build_info.txt build_info >>$STUB_PATH/build_info.txt echo "save to $STUB_PATH" + + if [[ "$LF_TARGET_ROOTFS" == "ubuntu" ]]; then + sudo chmod a+rw $STUB_PARENT_PATH + fi + finish_build } @@ -2262,7 +2279,13 @@ if [[ "$LF_TARGET_ROOTFS" = "ubuntu" ]]; then exit 0 fi fi - git submodule update --init --recursive + + if [ -d "$UBUNTU_DIR" ] && [ -f ${UBUNTU_DIR}/luckfox-ubuntu-22.04.3.tar.gz ]; then + msg_info "${UBUNTU_DIR} is not empty, skipping submodule update!" + else + msg_info "${UBUNTU_DIR} is empty or does not exist, updateing submodule!" + git submodule update --init --recursive + fi fi if echo $@ | grep -wqE "help|-h"; then @@ -2341,4 +2364,3 @@ while [ $# -ne 0 ]; do done eval "${option:-build_allsave}" - diff --git a/project/cfg/BoardConfig_IPC/BoardConfig-EMMC-Ubuntu-RV1106_Luckfox_Pico_Ultra-IPC.mk b/project/cfg/BoardConfig_IPC/BoardConfig-EMMC-Ubuntu-RV1106_Luckfox_Pico_Ultra-IPC.mk index cfe7bda74..36a1a9212 100755 --- a/project/cfg/BoardConfig_IPC/BoardConfig-EMMC-Ubuntu-RV1106_Luckfox_Pico_Ultra-IPC.mk +++ b/project/cfg/BoardConfig_IPC/BoardConfig-EMMC-Ubuntu-RV1106_Luckfox_Pico_Ultra-IPC.mk @@ -8,13 +8,13 @@ export RK_CHIP=rv1106 # app config -export RK_APP_TYPE=RKIPC_RV1106 +# export RK_APP_TYPE=RKIPC_RV1106 # Config CMA size in environment -export RK_BOOTARGS_CMA_SIZE="66M" +export RK_BOOTARGS_CMA_SIZE="1M" # Kernel dts -export RK_KERNEL_DTS=rv1106g-luckfox-pico-ultra-w.dts +export RK_KERNEL_DTS=rv1106g-luckfox-pico-ultra.dts ################################################# # BOOT_MEDIUM diff --git a/project/cfg/BoardConfig_IPC/BoardConfig-EMMC-Ubuntu-RV1106_Luckfox_Pico_Ultra_W-IPC.mk b/project/cfg/BoardConfig_IPC/BoardConfig-EMMC-Ubuntu-RV1106_Luckfox_Pico_Ultra_W-IPC.mk index 08f9a3587..47db5ac00 100755 --- a/project/cfg/BoardConfig_IPC/BoardConfig-EMMC-Ubuntu-RV1106_Luckfox_Pico_Ultra_W-IPC.mk +++ b/project/cfg/BoardConfig_IPC/BoardConfig-EMMC-Ubuntu-RV1106_Luckfox_Pico_Ultra_W-IPC.mk @@ -8,10 +8,10 @@ export RK_CHIP=rv1106 # app config -export RK_APP_TYPE=RKIPC_RV1106 +# export RK_APP_TYPE=RKIPC_RV1106 # Config CMA size in environment -export RK_BOOTARGS_CMA_SIZE="66M" +export RK_BOOTARGS_CMA_SIZE="1M" # Kernel dts export RK_KERNEL_DTS=rv1106g-luckfox-pico-ultra-w.dts diff --git a/project/cfg/BoardConfig_IPC/BoardConfig-SD_CARD-Ubuntu-RV1103_Luckfox_Pico-IPC.mk b/project/cfg/BoardConfig_IPC/BoardConfig-SD_CARD-Ubuntu-RV1103_Luckfox_Pico-IPC.mk index cd079c3c0..222b87d79 100755 --- a/project/cfg/BoardConfig_IPC/BoardConfig-SD_CARD-Ubuntu-RV1103_Luckfox_Pico-IPC.mk +++ b/project/cfg/BoardConfig_IPC/BoardConfig-SD_CARD-Ubuntu-RV1103_Luckfox_Pico-IPC.mk @@ -8,10 +8,10 @@ export RK_CHIP=rv1106 # app config -export RK_APP_TYPE=RKIPC_RV1103 +# export RK_APP_TYPE=RKIPC_RV1103 # Config CMA size in environment -export RK_BOOTARGS_CMA_SIZE="24M" +export RK_BOOTARGS_CMA_SIZE="1M" # Kernel dts export RK_KERNEL_DTS=rv1103g-luckfox-pico.dts diff --git a/project/cfg/BoardConfig_IPC/BoardConfig-SD_CARD-Ubuntu-RV1103_Luckfox_Pico_Mini_A-IPC.mk b/project/cfg/BoardConfig_IPC/BoardConfig-SD_CARD-Ubuntu-RV1103_Luckfox_Pico_Mini_A-IPC.mk index 8f67e60c6..f26f6377c 100755 --- a/project/cfg/BoardConfig_IPC/BoardConfig-SD_CARD-Ubuntu-RV1103_Luckfox_Pico_Mini_A-IPC.mk +++ b/project/cfg/BoardConfig_IPC/BoardConfig-SD_CARD-Ubuntu-RV1103_Luckfox_Pico_Mini_A-IPC.mk @@ -8,10 +8,10 @@ export RK_CHIP=rv1106 # app config -export RK_APP_TYPE=RKIPC_RV1103 +# export RK_APP_TYPE=RKIPC_RV1103 # Config CMA size in environment -export RK_BOOTARGS_CMA_SIZE="24M" +export RK_BOOTARGS_CMA_SIZE="1M" # Kernel dts export RK_KERNEL_DTS=rv1103g-luckfox-pico-mini-a.dts diff --git a/project/cfg/BoardConfig_IPC/BoardConfig-SD_CARD-Ubuntu-RV1103_Luckfox_Pico_Mini_B-IPC.mk b/project/cfg/BoardConfig_IPC/BoardConfig-SD_CARD-Ubuntu-RV1103_Luckfox_Pico_Mini_B-IPC.mk index a5c8a44a7..65b81be54 100755 --- a/project/cfg/BoardConfig_IPC/BoardConfig-SD_CARD-Ubuntu-RV1103_Luckfox_Pico_Mini_B-IPC.mk +++ b/project/cfg/BoardConfig_IPC/BoardConfig-SD_CARD-Ubuntu-RV1103_Luckfox_Pico_Mini_B-IPC.mk @@ -8,10 +8,10 @@ export RK_CHIP=rv1106 # app config -export RK_APP_TYPE=RKIPC_RV1103 +# export RK_APP_TYPE=RKIPC_RV1103 # Config CMA size in environment -export RK_BOOTARGS_CMA_SIZE="24M" +export RK_BOOTARGS_CMA_SIZE="1M" # Kernel dts export RK_KERNEL_DTS=rv1103g-luckfox-pico-mini-b.dts diff --git a/project/cfg/BoardConfig_IPC/BoardConfig-SD_CARD-Ubuntu-RV1103_Luckfox_Pico_Plus-IPC.mk b/project/cfg/BoardConfig_IPC/BoardConfig-SD_CARD-Ubuntu-RV1103_Luckfox_Pico_Plus-IPC.mk index 2af1f66c2..b1bf44494 100755 --- a/project/cfg/BoardConfig_IPC/BoardConfig-SD_CARD-Ubuntu-RV1103_Luckfox_Pico_Plus-IPC.mk +++ b/project/cfg/BoardConfig_IPC/BoardConfig-SD_CARD-Ubuntu-RV1103_Luckfox_Pico_Plus-IPC.mk @@ -8,10 +8,10 @@ export RK_CHIP=rv1106 # app config -export RK_APP_TYPE=RKIPC_RV1103 +# export RK_APP_TYPE=RKIPC_RV1103 # Config CMA size in environment -export RK_BOOTARGS_CMA_SIZE="24M" +export RK_BOOTARGS_CMA_SIZE="1M" # Kernel dts export RK_KERNEL_DTS=rv1103g-luckfox-pico-plus.dts diff --git a/project/cfg/BoardConfig_IPC/BoardConfig-SD_CARD-Ubuntu-RV1106_Luckfox_Pico_Pro_Max-IPC.mk b/project/cfg/BoardConfig_IPC/BoardConfig-SD_CARD-Ubuntu-RV1106_Luckfox_Pico_Pro_Max-IPC.mk index bfd14dc86..0295afd86 100755 --- a/project/cfg/BoardConfig_IPC/BoardConfig-SD_CARD-Ubuntu-RV1106_Luckfox_Pico_Pro_Max-IPC.mk +++ b/project/cfg/BoardConfig_IPC/BoardConfig-SD_CARD-Ubuntu-RV1106_Luckfox_Pico_Pro_Max-IPC.mk @@ -8,10 +8,10 @@ export RK_CHIP=rv1106 # app config -export RK_APP_TYPE=RKIPC_RV1106 +# export RK_APP_TYPE=RKIPC_RV1106 # Config CMA size in environment -export RK_BOOTARGS_CMA_SIZE="66M" +export RK_BOOTARGS_CMA_SIZE="1M" # Kernel dts export RK_KERNEL_DTS=rv1106g-luckfox-pico-pro-max.dts diff --git a/sysdrv/Makefile b/sysdrv/Makefile index 953e1fc69..99857c5a4 100644 --- a/sysdrv/Makefile +++ b/sysdrv/Makefile @@ -603,10 +603,12 @@ else cp $(SYSDRV_DIR)/tools/board/buildroot/profile_defconfig $(SYSDRV_DIR_OUT_ROOTFS)/etc/profile cp $(SYSDRV_DIR)/tools/board/buildroot/iomux $(SYSDRV_DIR_OUT_ROOTFS)/usr/bin/ cp $(SYSDRV_DIR)/tools/board/buildroot/S99hciinit $(SYSDRV_DIR_OUT_ROOTFS)/etc/init.d/ + cp $(SYSDRV_DIR)/tools/board/buildroot/S99rtcinit $(SYSDRV_DIR_OUT_ROOTFS)/etc/init.d/ cp $(SYSDRV_DIR)/tools/board/buildroot/S50sshd $(SYSDRV_DIR_OUT_ROOTFS)/etc/init.d/ cp $(SYSDRV_DIR)/tools/board/buildroot/S99python $(SYSDRV_DIR_OUT_ROOTFS)/etc/init.d/ cp $(SYSDRV_DIR)/tools/board/luckfox_config/S99luckfoxconfigload $(SYSDRV_DIR_OUT_ROOTFS)/etc/init.d/ cp $(SYSDRV_DIR)/tools/board/luckfox_config/luckfox-config $(SYSDRV_DIR_OUT_ROOTFS)/usr/bin/ + cp $(SYSDRV_DIR)/tools/board/luckfox_config/luckfox_switch_rgb_resolution $(SYSDRV_DIR_OUT_ROOTFS)/usr/bin/ cp $(SYSDRV_DIR)/tools/board/android-tools/S90usb0config $(SYSDRV_DIR_OUT_ROOTFS)/etc/init.d/ endif @@ -631,12 +633,22 @@ ubuntu: prepare rm $(SYSDRV_DIR_OUT_ROOTFS)/* -rf ;\ tar xzf $(SYSDRV_DIR)/tools/board/ubuntu/$(UBUNTU_VER).tar.gz -C $(SYSDRV_DIR_OUT_ROOTFS) ;\ ); + cp $(SYSDRV_DIR)/tools/board/luckfox_config/luckfox-config ${SYSDRV_DIR_OUT_ROOTFS}/usr/bin/ + cp $(SYSDRV_DIR)/tools/board/luckfox_config/ubuntu/etc/* ${SYSDRV_DIR_OUT_ROOTFS}/etc/ + cp $(SYSDRV_DIR)/tools/board/luckfox_config/ubuntu/usr/bin/* ${SYSDRV_DIR_OUT_ROOTFS}/usr/bin/ + cp -d $(SYSDRV_DIR)/tools/board/luckfox_config/ubuntu/usr/lib/* ${SYSDRV_DIR_OUT_ROOTFS}/usr/lib/ ifeq ($(ENABLE_EMMC),YES) cp $(SYSDRV_DIR)/tools/board/emmc/emmc_fstab $(SYSDRV_DIR_OUT_ROOTFS)/etc/fstab cp $(SYSDRV_DIR)/tools/board/emmc/emmc_filesystem_resize.sh $(SYSDRV_DIR_OUT_ROOTFS)/usr/bin/filesystem_resize.sh cp $(SYSDRV_DIR)/tools/board/emmc/emmc_rc.local $(SYSDRV_DIR_OUT_ROOTFS)/etc/rc.local + cp $(SYSDRV_DIR)/tools/board/emmc/emmc_wifi_bt_init.sh $(SYSDRV_DIR_OUT_ROOTFS)/usr/bin/wifi_bt_init.sh + cp $(SYSDRV_DIR)/tools/board/emmc/emmc_wifi_ko $(SYSDRV_DIR_OUT_ROOTFS)/usr/ko -r + cp $(SYSDRV_DIR)/tools/board/emmc/udhcp/usr/bin/udhcpc $(SYSDRV_DIR_OUT_ROOTFS)/usr/bin/udhcpc + cp $(SYSDRV_DIR)/tools/board/emmc/udhcp/usr/bin/udhcpd $(SYSDRV_DIR_OUT_ROOTFS)/usr/bin/udhcpd + mkdir -p $(SYSDRV_DIR_OUT_ROOTFS)/usr/share/udhcpc + cp $(SYSDRV_DIR)/tools/board/emmc/udhcp/usr/share/udhcpc/default.script $(SYSDRV_DIR_OUT_ROOTFS)/usr/share/udhcpc/default.script + cp $(SYSDRV_DIR)/tools/board/emmc/udhcp/etc/udhcpd.conf $(SYSDRV_DIR_OUT_ROOTFS)/etc/udhcpd.conf endif - ubuntu_clean: $(AT)rm -rf $(SYSDRV_DIR_OUT_ROOTFS) diff --git a/sysdrv/drv_ko/wifi/insmod_wifi.sh b/sysdrv/drv_ko/wifi/insmod_wifi.sh index cd5b2d56a..2a3d896e5 100755 --- a/sysdrv/drv_ko/wifi/insmod_wifi.sh +++ b/sysdrv/drv_ko/wifi/insmod_wifi.sh @@ -68,7 +68,7 @@ if [ $? -eq 0 ]; then fi #aic8800 -if [ -f /oem/usr/ko/aic8800_fdrv.ko ]; then +if [ -n "$(cat /proc/device-tree/model | grep "W")" ]; then insmod cfg80211.ko insmod libarc4.ko insmod ctr.ko diff --git a/sysdrv/source/kernel/arch/arm/boot/dts/rv1103-luckfox-pico-ipc.dtsi b/sysdrv/source/kernel/arch/arm/boot/dts/rv1103-luckfox-pico-ipc.dtsi index e1df51440..b8189271c 100755 --- a/sysdrv/source/kernel/arch/arm/boot/dts/rv1103-luckfox-pico-ipc.dtsi +++ b/sysdrv/source/kernel/arch/arm/boot/dts/rv1103-luckfox-pico-ipc.dtsi @@ -315,11 +315,23 @@ pinctrl-0 = <&spi0m0_clk &spi0m0_miso &spi0m0_mosi &spi0m0_cs0>; #address-cells = <1>; #size-cells = <0>; - spidev@0 { - compatible = "rockchip,spidev"; + + spidev@0 { + compatible = "rockchip,spidev"; spi-max-frequency = <50000000>; reg = <0>; }; + fbtft@0{ + compatible = "sitronix,st7789v"; + reg = <0>; + spi-max-frequency = <20000000>; + fps = <30>; + buswidth = <8>; + debug = <0x7>; + led-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;//BL + dc = <&gpio1 RK_PA2 GPIO_ACTIVE_HIGH>; //DC + reset = <&gpio1 RK_PC3 GPIO_ACTIVE_LOW>; //RES + }; }; // I2C &i2c3 { diff --git a/sysdrv/source/kernel/arch/arm/boot/dts/rv1103g-luckfox-pico-plus.dts b/sysdrv/source/kernel/arch/arm/boot/dts/rv1103g-luckfox-pico-plus.dts index 9f941899d..87c5e2a7a 100755 --- a/sysdrv/source/kernel/arch/arm/boot/dts/rv1103g-luckfox-pico-plus.dts +++ b/sysdrv/source/kernel/arch/arm/boot/dts/rv1103g-luckfox-pico-plus.dts @@ -12,6 +12,7 @@ / { model = "Luckfox Pico Plus"; compatible = "rockchip,rv1103g-38x38-ipc-v10", "rockchip,rv1103"; + }; }; /**********SFC**********/ @@ -58,6 +59,9 @@ spidev@0 { spi-max-frequency = <50000000>; }; + fbtft@0 { + spi-max-frequency = <50000000>; + }; }; /**********I2C**********/ @@ -90,5 +94,3 @@ status = "disabled"; }; - - diff --git a/sysdrv/source/kernel/arch/arm/boot/dts/rv1103g-luckfox-pico.dts b/sysdrv/source/kernel/arch/arm/boot/dts/rv1103g-luckfox-pico.dts index 97beeb37a..1784a970f 100755 --- a/sysdrv/source/kernel/arch/arm/boot/dts/rv1103g-luckfox-pico.dts +++ b/sysdrv/source/kernel/arch/arm/boot/dts/rv1103g-luckfox-pico.dts @@ -46,6 +46,9 @@ spidev@0 { spi-max-frequency = <50000000>; }; + fbtft@0 { + spi-max-frequency = <50000000>; + }; }; /**********I2C**********/ diff --git a/sysdrv/source/kernel/arch/arm/boot/dts/rv1106-luckfox-pico-pro-max-ipc.dtsi b/sysdrv/source/kernel/arch/arm/boot/dts/rv1106-luckfox-pico-pro-max-ipc.dtsi index baee179d0..63bfe901d 100755 --- a/sysdrv/source/kernel/arch/arm/boot/dts/rv1106-luckfox-pico-pro-max-ipc.dtsi +++ b/sysdrv/source/kernel/arch/arm/boot/dts/rv1106-luckfox-pico-pro-max-ipc.dtsi @@ -299,10 +299,22 @@ #address-cells = <1>; #size-cells = <0>; spidev@0 { - compatible = "rockchip,spidev"; + compatible = "rockchip,spidev"; spi-max-frequency = <50000000>; reg = <0>; }; + + fbtft@0{ + compatible = "sitronix,st7789v"; + reg = <0>; + spi-max-frequency = <20000000>; + fps = <30>; + buswidth = <8>; + debug = <0x7>; + led-gpios = <&gpio2 RK_PB0 GPIO_ACTIVE_LOW>;//BL + dc = <&gpio2 RK_PB1 GPIO_ACTIVE_HIGH>; //DC + reset = <&gpio1 RK_PC3 GPIO_ACTIVE_LOW>; //RES + }; }; // I2C &i2c0 { @@ -318,7 +330,7 @@ }; // &i2c4 { -// pinctrl-0 = <&i2c4m0_xfer>; +// pinctrl-0 = <&i2c4m0_xfer>; // }; // UART diff --git a/sysdrv/source/kernel/arch/arm/boot/dts/rv1106-luckfox-pico-ultra-ipc.dtsi b/sysdrv/source/kernel/arch/arm/boot/dts/rv1106-luckfox-pico-ultra-ipc.dtsi index fd3b9cd15..20dcfd812 100755 --- a/sysdrv/source/kernel/arch/arm/boot/dts/rv1106-luckfox-pico-ultra-ipc.dtsi +++ b/sysdrv/source/kernel/arch/arm/boot/dts/rv1106-luckfox-pico-ultra-ipc.dtsi @@ -56,34 +56,28 @@ panel: panel { compatible = "simple-panel"; backlight = <&backlight>; + + reset-gpios = <&gpio0 RK_PA1 GPIO_ACTIVE_LOW>; + reset-delay-ms = <200>; status = "okay"; + bus-format = ; width-mm = <85>; height-mm = <85>; - reset { - reset-gpios = <&gpio0 RK_PA1 GPIO_ACTIVE_LOW>; - reset-delay-ms = <200>; - status = "okay"; - }; - enable { - enable-gpios = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>; - enable-delay-ms = <20>; - status = "okay"; - }; display-timings { native-mode = <&timing0>; timing0: timing0 { - clock-frequency = <0>; - hactive = <0>; - vactive = <0>; - hback-porch = <0>; - hfront-porch = <0>; - vback-porch = <0>; - vfront-porch = <0>; - hsync-len = <0>; - vsync-len = <0>; + clock-frequency = <30000000>; + hactive = <720>; + vactive = <720>; + hback-porch = <44>; + hfront-porch = <46>; + vback-porch = <18>; + vfront-porch = <16>; + hsync-len = <2>; + vsync-len = <2>; hsync-active = <0>; vsync-active = <0>; de-active = <0>; @@ -98,7 +92,8 @@ }; }; - reserved-memory { + reserved_memory: reserved-memory { + status = "okay"; #address-cells = <1>; #size-cells = <1>; ranges; @@ -107,10 +102,11 @@ reg = <0x0 0x0>; }; linux,cma { + status = "okay"; compatible = "shared-dma-pool"; inactive; reusable; - size = <0xA00000>; + size = <0xA00000>; //10M linux,cma-default; }; }; @@ -279,8 +275,8 @@ &i2c4 { status = "okay"; clock-frequency = <400000>; - pinctrl-names = "default"; - pinctrl-0 = <&i2c4m2_xfer>; + //pinctrl-names = "default"; + //pinctrl-0 = <&i2c4m2_xfer>; sc3336: sc3336@30 { compatible = "smartsens,sc3336"; @@ -465,13 +461,27 @@ }; &route_rgb { - status = "okay"; + status = "disabled"; }; &vop { status = "okay"; }; +&i2c3 { + clock-frequency = <100000>; + GT911:touchscreen { + compatible = "goodix,gt911"; + reg = <0x14>; + + interrupt-parent = <&gpio0>; + interrupts = ; + + reset-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; + pinctrl-names = "default"; + }; +}; + /**************************** PINCTRL ******************************/ // SPI &spi0 { @@ -492,12 +502,12 @@ &i2c2 { pinctrl-0 = <&i2c2m0_xfer>; }; -// &i2c3 { -// pinctrl-0 = <&i2c3m0_xfer &i2c3m1_xfer &i2c3m2_xfer>; -// }; -// &i2c4 { -// pinctrl-0 = <&i2c4m0_xfer &i2c4m1_xfer &i2c4m2_xfer>; -// }; +&i2c3 { + pinctrl-0 = <&i2c3m0_xfer &i2c3m1_xfer &i2c3m2_xfer &tp_rst &tp_irq>; +}; +&i2c4 { + pinctrl-0 = <&i2c4m0_xfer &i2c4m1_xfer &i2c4m2_xfer>; +}; // UART &uart0 { @@ -507,7 +517,7 @@ pinctrl-0 = <&uart1m1_xfer>; }; &uart3 { - pinctrl-0 = <&uart3m0_xfer>; + pinctrl-0 = <&uart3m0_xfer &uart3m1_xfer>; }; &uart4 { pinctrl-0 = <&uart4m0_xfer>; @@ -566,4 +576,14 @@ rockchip,pins = <1 RK_PC0 4 &pcfg_pull_none>; }; }; + + touchscreen { + tp_rst:tp-rst { + rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>; + }; + + tp_irq:tp-irq { + rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; }; diff --git a/sysdrv/source/kernel/arch/arm/boot/dts/rv1106g-luckfox-pico-pro-max.dts b/sysdrv/source/kernel/arch/arm/boot/dts/rv1106g-luckfox-pico-pro-max.dts index c41d56746..edfee5ed9 100755 --- a/sysdrv/source/kernel/arch/arm/boot/dts/rv1106g-luckfox-pico-pro-max.dts +++ b/sysdrv/source/kernel/arch/arm/boot/dts/rv1106g-luckfox-pico-pro-max.dts @@ -58,6 +58,9 @@ spidev@0 { spi-max-frequency = <50000000>; }; + fbtft@0 { + spi-max-frequency = <50000000>; + }; }; /**********I2C**********/ @@ -89,5 +92,3 @@ &rtc { status = "okay"; }; - - diff --git a/sysdrv/source/kernel/arch/arm/boot/dts/rv1106g-luckfox-pico-ultra-w.dts b/sysdrv/source/kernel/arch/arm/boot/dts/rv1106g-luckfox-pico-ultra-w.dts index 56da04264..879beb112 100755 --- a/sysdrv/source/kernel/arch/arm/boot/dts/rv1106g-luckfox-pico-ultra-w.dts +++ b/sysdrv/source/kernel/arch/arm/boot/dts/rv1106g-luckfox-pico-ultra-w.dts @@ -28,6 +28,13 @@ /**********EMMC**********/ &emmc { + bus-width = <8>; + cap-mmc-highspeed; + non-removable; + // mmc-hs200-1_8v; + rockchip,default-sample-phase = <90>; + no-sdio; + no-sd; memory-region-ecsd = <&mmc_ecsd>; post-power-on-delay-ms = <0>; status = "okay"; @@ -110,4 +117,3 @@ spi-max-frequency = <50000000>; }; }; - diff --git a/sysdrv/source/kernel/arch/arm/boot/dts/rv1106g-luckfox-pico-ultra.dts b/sysdrv/source/kernel/arch/arm/boot/dts/rv1106g-luckfox-pico-ultra.dts index f9f06be76..524c64f9e 100755 --- a/sysdrv/source/kernel/arch/arm/boot/dts/rv1106g-luckfox-pico-ultra.dts +++ b/sysdrv/source/kernel/arch/arm/boot/dts/rv1106g-luckfox-pico-ultra.dts @@ -27,6 +27,13 @@ /**********EMMC**********/ &emmc { + bus-width = <8>; + cap-mmc-highspeed; + non-removable; + // mmc-hs200-1_8v; + rockchip,default-sample-phase = <90>; + no-sdio; + no-sd; memory-region-ecsd = <&mmc_ecsd>; post-power-on-delay-ms = <0>; status = "okay"; diff --git a/sysdrv/source/kernel/arch/arm/configs/luckfox_rv1106_linux_defconfig b/sysdrv/source/kernel/arch/arm/configs/luckfox_rv1106_linux_defconfig index 5fe0ba8f0..6373f0886 100755 --- a/sysdrv/source/kernel/arch/arm/configs/luckfox_rv1106_linux_defconfig +++ b/sysdrv/source/kernel/arch/arm/configs/luckfox_rv1106_linux_defconfig @@ -144,10 +144,9 @@ CONFIG_KEYBOARD_ADC=y CONFIG_KEYBOARD_GPIO=y # CONFIG_INPUT_MOUSE is not set CONFIG_INPUT_TOUCHSCREEN=y -CONFIG_TOUCHSCREEN_GOODIX=m +CONFIG_TOUCHSCREEN_GOODIX=y CONFIG_TOUCHSCREEN_EDT_FT5X06=y # CONFIG_SERIO is not set -# CONFIG_VT is not set # CONFIG_LEGACY_PTYS is not set CONFIG_SERIAL_8250=y # CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set @@ -212,6 +211,10 @@ CONFIG_ROCKCHIP_RGA_PROC_FS=y CONFIG_ROCKCHIP_RVE=m CONFIG_ROCKCHIP_RVE_PROC_FS=y CONFIG_ROCKCHIP_DVBM=m +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_LOGO=y +# CONFIG_LOGO_LINUX_MONO is not set +# CONFIG_LOGO_LINUX_VGA16 is not set CONFIG_SOUND=y CONFIG_SND=y # CONFIG_SND_PCM_TIMER is not set @@ -225,7 +228,6 @@ CONFIG_SND_SOC_ROCKCHIP=y CONFIG_SND_SOC_ROCKCHIP_I2S_TDM=y CONFIG_SND_SOC_RV1106=y CONFIG_SND_SIMPLE_CARD=y -# CONFIG_HID is not set # CONFIG_USB_HID is not set CONFIG_USB=y CONFIG_USB_OTG=y diff --git a/sysdrv/source/kernel/drivers/input/touchscreen/goodix.c b/sysdrv/source/kernel/drivers/input/touchscreen/goodix.c index a083380aa..5fc789f71 100644 --- a/sysdrv/source/kernel/drivers/input/touchscreen/goodix.c +++ b/sysdrv/source/kernel/drivers/input/touchscreen/goodix.c @@ -10,7 +10,6 @@ * 2010 - 2012 Goodix Technology. */ -#define DEBUG #include #include diff --git a/sysdrv/source/kernel/drivers/video/fbdev/core/fbcon.c b/sysdrv/source/kernel/drivers/video/fbdev/core/fbcon.c index f102519cc..73eb6a711 100644 --- a/sysdrv/source/kernel/drivers/video/fbdev/core/fbcon.c +++ b/sysdrv/source/kernel/drivers/video/fbdev/core/fbcon.c @@ -88,6 +88,8 @@ # define DPRINTK(fmt, args...) #endif +#define CURSOR_ENABLE 0 +#define SHOW_CENTER 1 /* * FIXME: Locking * @@ -365,6 +367,7 @@ static int get_color(struct vc_data *vc, struct fb_info *info, static void fb_flashcursor(struct work_struct *work) { +#if CURSOR_ENABLE struct fb_info *info = container_of(work, struct fb_info, queue); struct fbcon_ops *ops = info->fbcon_par; struct vc_data *vc = NULL; @@ -395,6 +398,7 @@ static void fb_flashcursor(struct work_struct *work) ops->cursor(vc, info, mode, get_color(vc, info, c, 1), get_color(vc, info, c, 0)); console_unlock(); +#endif } static void cursor_timer_handler(struct timer_list *t) @@ -599,6 +603,9 @@ static void fbcon_prepare_logo(struct vc_data *vc, struct fb_info *info, if (fb_get_color_depth(&info->var, &info->fix) == 1) erase &= ~0x400; logo_height = fb_prepare_logo(info, ops->rotate); +#if SHOW_CENTER + logo_height += (info->var.yres/2) - (logo_height/2); +#endif logo_lines = DIV_ROUND_UP(logo_height, vc->vc_font.height); q = (unsigned short *) (vc->vc_origin + vc->vc_size_row * rows); @@ -1329,6 +1336,7 @@ static void fbcon_clear_margins(struct vc_data *vc, int bottom_only) static void fbcon_cursor(struct vc_data *vc, int mode) { +#if CURSOR_ENABLE struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]]; struct fbcon_ops *ops = info->fbcon_par; int c = scr_readw((u16 *) vc->vc_pos); @@ -1350,6 +1358,7 @@ static void fbcon_cursor(struct vc_data *vc, int mode) ops->cursor(vc, info, mode, get_color(vc, info, c, 1), get_color(vc, info, c, 0)); +#endif } static int scrollback_phys_max = 0; diff --git a/sysdrv/source/kernel/drivers/video/fbdev/core/fbmem.c b/sysdrv/source/kernel/drivers/video/fbdev/core/fbmem.c index 00939ca20..0c0683b9d 100644 --- a/sysdrv/source/kernel/drivers/video/fbdev/core/fbmem.c +++ b/sysdrv/source/kernel/drivers/video/fbdev/core/fbmem.c @@ -38,7 +38,7 @@ #include - +#define SHOW_CENTER 1 /* * Frame buffer device initialization and setup routines */ @@ -520,6 +520,11 @@ static int fb_show_logo_line(struct fb_info *info, int rotate, image.dy = y; } +#if SHOW_CENTER +image.dx = (info->var.xres - logo->width) / 2; +image.dy = (info->var.yres - logo->height) / 2; +#endif + image.width = logo->width; image.height = logo->height; diff --git a/sysdrv/source/kernel/drivers/video/logo/logo_linux_clut224.ppm b/sysdrv/source/kernel/drivers/video/logo/logo_linux_clut224.ppm index 3c14e43b8..4d1c40a81 100644 --- a/sysdrv/source/kernel/drivers/video/logo/logo_linux_clut224.ppm +++ b/sysdrv/source/kernel/drivers/video/logo/logo_linux_clut224.ppm @@ -1,1604 +1,4503 @@ P3 -# Standard 224-color Linux logo -80 80 +300 90 255 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 6 6 6 6 6 6 10 10 10 10 10 10 - 10 10 10 6 6 6 6 6 6 6 6 6 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 6 6 6 10 10 10 14 14 14 - 22 22 22 26 26 26 30 30 30 34 34 34 - 30 30 30 30 30 30 26 26 26 18 18 18 - 14 14 14 10 10 10 6 6 6 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 1 0 0 1 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 6 6 6 14 14 14 26 26 26 42 42 42 - 54 54 54 66 66 66 78 78 78 78 78 78 - 78 78 78 74 74 74 66 66 66 54 54 54 - 42 42 42 26 26 26 18 18 18 10 10 10 - 6 6 6 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 1 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 10 10 10 - 22 22 22 42 42 42 66 66 66 86 86 86 - 66 66 66 38 38 38 38 38 38 22 22 22 - 26 26 26 34 34 34 54 54 54 66 66 66 - 86 86 86 70 70 70 46 46 46 26 26 26 - 14 14 14 6 6 6 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 1 0 0 1 0 0 1 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 10 10 10 26 26 26 - 50 50 50 82 82 82 58 58 58 6 6 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 6 6 6 54 54 54 86 86 86 66 66 66 - 38 38 38 18 18 18 6 6 6 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 6 6 6 22 22 22 50 50 50 - 78 78 78 34 34 34 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 6 6 6 70 70 70 - 78 78 78 46 46 46 22 22 22 6 6 6 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 1 0 0 1 0 0 1 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 6 6 6 18 18 18 42 42 42 82 82 82 - 26 26 26 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 14 14 14 - 46 46 46 34 34 34 6 6 6 2 2 6 - 42 42 42 78 78 78 42 42 42 18 18 18 - 6 6 6 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 1 0 0 0 0 0 1 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 10 10 10 30 30 30 66 66 66 58 58 58 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 26 26 26 - 86 86 86 101 101 101 46 46 46 10 10 10 - 2 2 6 58 58 58 70 70 70 34 34 34 - 10 10 10 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 1 0 0 1 0 0 1 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 14 14 14 42 42 42 86 86 86 10 10 10 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 30 30 30 - 94 94 94 94 94 94 58 58 58 26 26 26 - 2 2 6 6 6 6 78 78 78 54 54 54 - 22 22 22 6 6 6 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 6 6 6 - 22 22 22 62 62 62 62 62 62 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 26 26 26 - 54 54 54 38 38 38 18 18 18 10 10 10 - 2 2 6 2 2 6 34 34 34 82 82 82 - 38 38 38 14 14 14 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 1 0 0 1 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 6 6 6 - 30 30 30 78 78 78 30 30 30 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 10 10 10 - 10 10 10 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 78 78 78 - 50 50 50 18 18 18 6 6 6 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 1 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 10 10 10 - 38 38 38 86 86 86 14 14 14 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 54 54 54 - 66 66 66 26 26 26 6 6 6 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 1 0 0 1 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 14 14 14 - 42 42 42 82 82 82 2 2 6 2 2 6 - 2 2 6 6 6 6 10 10 10 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 6 6 6 - 14 14 14 10 10 10 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 18 18 18 - 82 82 82 34 34 34 10 10 10 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 1 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 14 14 14 - 46 46 46 86 86 86 2 2 6 2 2 6 - 6 6 6 6 6 6 22 22 22 34 34 34 - 6 6 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 18 18 18 34 34 34 - 10 10 10 50 50 50 22 22 22 2 2 6 - 2 2 6 2 2 6 2 2 6 10 10 10 - 86 86 86 42 42 42 14 14 14 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 1 0 0 1 0 0 1 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 14 14 14 - 46 46 46 86 86 86 2 2 6 2 2 6 - 38 38 38 116 116 116 94 94 94 22 22 22 - 22 22 22 2 2 6 2 2 6 2 2 6 - 14 14 14 86 86 86 138 138 138 162 162 162 -154 154 154 38 38 38 26 26 26 6 6 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 86 86 86 46 46 46 14 14 14 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 14 14 14 - 46 46 46 86 86 86 2 2 6 14 14 14 -134 134 134 198 198 198 195 195 195 116 116 116 - 10 10 10 2 2 6 2 2 6 6 6 6 -101 98 89 187 187 187 210 210 210 218 218 218 -214 214 214 134 134 134 14 14 14 6 6 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 86 86 86 50 50 50 18 18 18 6 6 6 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 1 0 0 0 - 0 0 1 0 0 1 0 0 1 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 14 14 14 - 46 46 46 86 86 86 2 2 6 54 54 54 -218 218 218 195 195 195 226 226 226 246 246 246 - 58 58 58 2 2 6 2 2 6 30 30 30 -210 210 210 253 253 253 174 174 174 123 123 123 -221 221 221 234 234 234 74 74 74 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 70 70 70 58 58 58 22 22 22 6 6 6 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 14 14 14 - 46 46 46 82 82 82 2 2 6 106 106 106 -170 170 170 26 26 26 86 86 86 226 226 226 -123 123 123 10 10 10 14 14 14 46 46 46 -231 231 231 190 190 190 6 6 6 70 70 70 - 90 90 90 238 238 238 158 158 158 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 70 70 70 58 58 58 22 22 22 6 6 6 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 1 0 0 0 - 0 0 1 0 0 1 0 0 1 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 14 14 14 - 42 42 42 86 86 86 6 6 6 116 116 116 -106 106 106 6 6 6 70 70 70 149 149 149 -128 128 128 18 18 18 38 38 38 54 54 54 -221 221 221 106 106 106 2 2 6 14 14 14 - 46 46 46 190 190 190 198 198 198 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 74 74 74 62 62 62 22 22 22 6 6 6 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 1 0 0 0 - 0 0 1 0 0 0 0 0 1 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 14 14 14 - 42 42 42 94 94 94 14 14 14 101 101 101 -128 128 128 2 2 6 18 18 18 116 116 116 -118 98 46 121 92 8 121 92 8 98 78 10 -162 162 162 106 106 106 2 2 6 2 2 6 - 2 2 6 195 195 195 195 195 195 6 6 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 74 74 74 62 62 62 22 22 22 6 6 6 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 1 0 0 1 - 0 0 1 0 0 0 0 0 1 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 10 10 10 - 38 38 38 90 90 90 14 14 14 58 58 58 -210 210 210 26 26 26 54 38 6 154 114 10 -226 170 11 236 186 11 225 175 15 184 144 12 -215 174 15 175 146 61 37 26 9 2 2 6 - 70 70 70 246 246 246 138 138 138 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 70 70 70 66 66 66 26 26 26 6 6 6 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 10 10 10 - 38 38 38 86 86 86 14 14 14 10 10 10 -195 195 195 188 164 115 192 133 9 225 175 15 -239 182 13 234 190 10 232 195 16 232 200 30 -245 207 45 241 208 19 232 195 16 184 144 12 -218 194 134 211 206 186 42 42 42 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 50 50 50 74 74 74 30 30 30 6 6 6 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 10 10 10 - 34 34 34 86 86 86 14 14 14 2 2 6 -121 87 25 192 133 9 219 162 10 239 182 13 -236 186 11 232 195 16 241 208 19 244 214 54 -246 218 60 246 218 38 246 215 20 241 208 19 -241 208 19 226 184 13 121 87 25 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 50 50 50 82 82 82 34 34 34 10 10 10 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 10 10 10 - 34 34 34 82 82 82 30 30 30 61 42 6 -180 123 7 206 145 10 230 174 11 239 182 13 -234 190 10 238 202 15 241 208 19 246 218 74 -246 218 38 246 215 20 246 215 20 246 215 20 -226 184 13 215 174 15 184 144 12 6 6 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 26 26 26 94 94 94 42 42 42 14 14 14 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 10 10 10 - 30 30 30 78 78 78 50 50 50 104 69 6 -192 133 9 216 158 10 236 178 12 236 186 11 -232 195 16 241 208 19 244 214 54 245 215 43 -246 215 20 246 215 20 241 208 19 198 155 10 -200 144 11 216 158 10 156 118 10 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 6 6 6 90 90 90 54 54 54 18 18 18 - 6 6 6 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 10 10 10 - 30 30 30 78 78 78 46 46 46 22 22 22 -137 92 6 210 162 10 239 182 13 238 190 10 -238 202 15 241 208 19 246 215 20 246 215 20 -241 208 19 203 166 17 185 133 11 210 150 10 -216 158 10 210 150 10 102 78 10 2 2 6 - 6 6 6 54 54 54 14 14 14 2 2 6 - 2 2 6 62 62 62 74 74 74 30 30 30 - 10 10 10 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 10 10 10 - 34 34 34 78 78 78 50 50 50 6 6 6 - 94 70 30 139 102 15 190 146 13 226 184 13 -232 200 30 232 195 16 215 174 15 190 146 13 -168 122 10 192 133 9 210 150 10 213 154 11 -202 150 34 182 157 106 101 98 89 2 2 6 - 2 2 6 78 78 78 116 116 116 58 58 58 - 2 2 6 22 22 22 90 90 90 46 46 46 - 18 18 18 6 6 6 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 10 10 10 - 38 38 38 86 86 86 50 50 50 6 6 6 -128 128 128 174 154 114 156 107 11 168 122 10 -198 155 10 184 144 12 197 138 11 200 144 11 -206 145 10 206 145 10 197 138 11 188 164 115 -195 195 195 198 198 198 174 174 174 14 14 14 - 2 2 6 22 22 22 116 116 116 116 116 116 - 22 22 22 2 2 6 74 74 74 70 70 70 - 30 30 30 10 10 10 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 6 6 6 18 18 18 - 50 50 50 101 101 101 26 26 26 10 10 10 -138 138 138 190 190 190 174 154 114 156 107 11 -197 138 11 200 144 11 197 138 11 192 133 9 -180 123 7 190 142 34 190 178 144 187 187 187 -202 202 202 221 221 221 214 214 214 66 66 66 - 2 2 6 2 2 6 50 50 50 62 62 62 - 6 6 6 2 2 6 10 10 10 90 90 90 - 50 50 50 18 18 18 6 6 6 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 10 10 10 34 34 34 - 74 74 74 74 74 74 2 2 6 6 6 6 -144 144 144 198 198 198 190 190 190 178 166 146 -154 121 60 156 107 11 156 107 11 168 124 44 -174 154 114 187 187 187 190 190 190 210 210 210 -246 246 246 253 253 253 253 253 253 182 182 182 - 6 6 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 62 62 62 - 74 74 74 34 34 34 14 14 14 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 10 10 10 22 22 22 54 54 54 - 94 94 94 18 18 18 2 2 6 46 46 46 -234 234 234 221 221 221 190 190 190 190 190 190 -190 190 190 187 187 187 187 187 187 190 190 190 -190 190 190 195 195 195 214 214 214 242 242 242 -253 253 253 253 253 253 253 253 253 253 253 253 - 82 82 82 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 14 14 14 - 86 86 86 54 54 54 22 22 22 6 6 6 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 6 6 6 18 18 18 46 46 46 90 90 90 - 46 46 46 18 18 18 6 6 6 182 182 182 -253 253 253 246 246 246 206 206 206 190 190 190 -190 190 190 190 190 190 190 190 190 190 190 190 -206 206 206 231 231 231 250 250 250 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -202 202 202 14 14 14 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 42 42 42 86 86 86 42 42 42 18 18 18 - 6 6 6 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 6 6 6 - 14 14 14 38 38 38 74 74 74 66 66 66 - 2 2 6 6 6 6 90 90 90 250 250 250 -253 253 253 253 253 253 238 238 238 198 198 198 -190 190 190 190 190 190 195 195 195 221 221 221 -246 246 246 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 82 82 82 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 78 78 78 70 70 70 34 34 34 - 14 14 14 6 6 6 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 14 14 14 - 34 34 34 66 66 66 78 78 78 6 6 6 - 2 2 6 18 18 18 218 218 218 253 253 253 -253 253 253 253 253 253 253 253 253 246 246 246 -226 226 226 231 231 231 246 246 246 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 178 178 178 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 18 18 18 90 90 90 62 62 62 - 30 30 30 10 10 10 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 10 10 10 26 26 26 - 58 58 58 90 90 90 18 18 18 2 2 6 - 2 2 6 110 110 110 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -250 250 250 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 231 231 231 18 18 18 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 18 18 18 94 94 94 - 54 54 54 26 26 26 10 10 10 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 6 6 6 22 22 22 50 50 50 - 90 90 90 26 26 26 2 2 6 2 2 6 - 14 14 14 195 195 195 250 250 250 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -250 250 250 242 242 242 54 54 54 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 38 38 38 - 86 86 86 50 50 50 22 22 22 6 6 6 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 6 6 6 14 14 14 38 38 38 82 82 82 - 34 34 34 2 2 6 2 2 6 2 2 6 - 42 42 42 195 195 195 246 246 246 253 253 253 -253 253 253 253 253 253 253 253 253 250 250 250 -242 242 242 242 242 242 250 250 250 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 250 250 250 246 246 246 238 238 238 -226 226 226 231 231 231 101 101 101 6 6 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 38 38 38 82 82 82 42 42 42 14 14 14 - 6 6 6 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 10 10 10 26 26 26 62 62 62 66 66 66 - 2 2 6 2 2 6 2 2 6 6 6 6 - 70 70 70 170 170 170 206 206 206 234 234 234 -246 246 246 250 250 250 250 250 250 238 238 238 -226 226 226 231 231 231 238 238 238 250 250 250 -250 250 250 250 250 250 246 246 246 231 231 231 -214 214 214 206 206 206 202 202 202 202 202 202 -198 198 198 202 202 202 182 182 182 18 18 18 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 62 62 62 66 66 66 30 30 30 - 10 10 10 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 14 14 14 42 42 42 82 82 82 18 18 18 - 2 2 6 2 2 6 2 2 6 10 10 10 - 94 94 94 182 182 182 218 218 218 242 242 242 -250 250 250 253 253 253 253 253 253 250 250 250 -234 234 234 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 246 246 246 -238 238 238 226 226 226 210 210 210 202 202 202 -195 195 195 195 195 195 210 210 210 158 158 158 - 6 6 6 14 14 14 50 50 50 14 14 14 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 6 6 6 86 86 86 46 46 46 - 18 18 18 6 6 6 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 6 6 6 - 22 22 22 54 54 54 70 70 70 2 2 6 - 2 2 6 10 10 10 2 2 6 22 22 22 -166 166 166 231 231 231 250 250 250 253 253 253 -253 253 253 253 253 253 253 253 253 250 250 250 -242 242 242 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 246 246 246 -231 231 231 206 206 206 198 198 198 226 226 226 - 94 94 94 2 2 6 6 6 6 38 38 38 - 30 30 30 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 62 62 62 66 66 66 - 26 26 26 10 10 10 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 10 10 10 - 30 30 30 74 74 74 50 50 50 2 2 6 - 26 26 26 26 26 26 2 2 6 106 106 106 -238 238 238 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 246 246 246 218 218 218 202 202 202 -210 210 210 14 14 14 2 2 6 2 2 6 - 30 30 30 22 22 22 2 2 6 2 2 6 - 2 2 6 2 2 6 18 18 18 86 86 86 - 42 42 42 14 14 14 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 14 14 14 - 42 42 42 90 90 90 22 22 22 2 2 6 - 42 42 42 2 2 6 18 18 18 218 218 218 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 250 250 250 221 221 221 -218 218 218 101 101 101 2 2 6 14 14 14 - 18 18 18 38 38 38 10 10 10 2 2 6 - 2 2 6 2 2 6 2 2 6 78 78 78 - 58 58 58 22 22 22 6 6 6 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 6 6 6 18 18 18 - 54 54 54 82 82 82 2 2 6 26 26 26 - 22 22 22 2 2 6 123 123 123 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 250 250 250 -238 238 238 198 198 198 6 6 6 38 38 38 - 58 58 58 26 26 26 38 38 38 2 2 6 - 2 2 6 2 2 6 2 2 6 46 46 46 - 78 78 78 30 30 30 10 10 10 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 10 10 10 30 30 30 - 74 74 74 58 58 58 2 2 6 42 42 42 - 2 2 6 22 22 22 231 231 231 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 250 250 250 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 246 246 246 46 46 46 38 38 38 - 42 42 42 14 14 14 38 38 38 14 14 14 - 2 2 6 2 2 6 2 2 6 6 6 6 - 86 86 86 46 46 46 14 14 14 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 6 6 6 14 14 14 42 42 42 - 90 90 90 18 18 18 18 18 18 26 26 26 - 2 2 6 116 116 116 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 250 250 250 238 238 238 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 94 94 94 6 6 6 - 2 2 6 2 2 6 10 10 10 34 34 34 - 2 2 6 2 2 6 2 2 6 2 2 6 - 74 74 74 58 58 58 22 22 22 6 6 6 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 10 10 10 26 26 26 66 66 66 - 82 82 82 2 2 6 38 38 38 6 6 6 - 14 14 14 210 210 210 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 246 246 246 242 242 242 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 144 144 144 2 2 6 - 2 2 6 2 2 6 2 2 6 46 46 46 - 2 2 6 2 2 6 2 2 6 2 2 6 - 42 42 42 74 74 74 30 30 30 10 10 10 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 6 6 6 14 14 14 42 42 42 90 90 90 - 26 26 26 6 6 6 42 42 42 2 2 6 - 74 74 74 250 250 250 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 242 242 242 242 242 242 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 182 182 182 2 2 6 - 2 2 6 2 2 6 2 2 6 46 46 46 - 2 2 6 2 2 6 2 2 6 2 2 6 - 10 10 10 86 86 86 38 38 38 10 10 10 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 10 10 10 26 26 26 66 66 66 82 82 82 - 2 2 6 22 22 22 18 18 18 2 2 6 -149 149 149 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 234 234 234 242 242 242 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 206 206 206 2 2 6 - 2 2 6 2 2 6 2 2 6 38 38 38 - 2 2 6 2 2 6 2 2 6 2 2 6 - 6 6 6 86 86 86 46 46 46 14 14 14 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 6 6 6 - 18 18 18 46 46 46 86 86 86 18 18 18 - 2 2 6 34 34 34 10 10 10 6 6 6 -210 210 210 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 234 234 234 242 242 242 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 221 221 221 6 6 6 - 2 2 6 2 2 6 6 6 6 30 30 30 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 82 82 82 54 54 54 18 18 18 - 6 6 6 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 10 10 10 - 26 26 26 66 66 66 62 62 62 2 2 6 - 2 2 6 38 38 38 10 10 10 26 26 26 -238 238 238 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 231 231 231 238 238 238 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 231 231 231 6 6 6 - 2 2 6 2 2 6 10 10 10 30 30 30 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 66 66 66 58 58 58 22 22 22 - 6 6 6 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 10 10 10 - 38 38 38 78 78 78 6 6 6 2 2 6 - 2 2 6 46 46 46 14 14 14 42 42 42 -246 246 246 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 231 231 231 242 242 242 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 234 234 234 10 10 10 - 2 2 6 2 2 6 22 22 22 14 14 14 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 66 66 66 62 62 62 22 22 22 - 6 6 6 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 6 6 6 18 18 18 - 50 50 50 74 74 74 2 2 6 2 2 6 - 14 14 14 70 70 70 34 34 34 62 62 62 -250 250 250 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 231 231 231 246 246 246 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 234 234 234 14 14 14 - 2 2 6 2 2 6 30 30 30 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 66 66 66 62 62 62 22 22 22 - 6 6 6 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 6 6 6 18 18 18 - 54 54 54 62 62 62 2 2 6 2 2 6 - 2 2 6 30 30 30 46 46 46 70 70 70 -250 250 250 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 231 231 231 246 246 246 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 226 226 226 10 10 10 - 2 2 6 6 6 6 30 30 30 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 66 66 66 58 58 58 22 22 22 - 6 6 6 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 6 6 6 22 22 22 - 58 58 58 62 62 62 2 2 6 2 2 6 - 2 2 6 2 2 6 30 30 30 78 78 78 -250 250 250 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 231 231 231 246 246 246 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 206 206 206 2 2 6 - 22 22 22 34 34 34 18 14 6 22 22 22 - 26 26 26 18 18 18 6 6 6 2 2 6 - 2 2 6 82 82 82 54 54 54 18 18 18 - 6 6 6 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 6 6 6 26 26 26 - 62 62 62 106 106 106 74 54 14 185 133 11 -210 162 10 121 92 8 6 6 6 62 62 62 -238 238 238 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 231 231 231 246 246 246 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 158 158 158 18 18 18 - 14 14 14 2 2 6 2 2 6 2 2 6 - 6 6 6 18 18 18 66 66 66 38 38 38 - 6 6 6 94 94 94 50 50 50 18 18 18 - 6 6 6 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 6 6 6 - 10 10 10 10 10 10 18 18 18 38 38 38 - 78 78 78 142 134 106 216 158 10 242 186 14 -246 190 14 246 190 14 156 118 10 10 10 10 - 90 90 90 238 238 238 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 231 231 231 250 250 250 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 246 230 190 -238 204 91 238 204 91 181 142 44 37 26 9 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 38 38 38 46 46 46 - 26 26 26 106 106 106 54 54 54 18 18 18 - 6 6 6 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 6 6 6 14 14 14 22 22 22 - 30 30 30 38 38 38 50 50 50 70 70 70 -106 106 106 190 142 34 226 170 11 242 186 14 -246 190 14 246 190 14 246 190 14 154 114 10 - 6 6 6 74 74 74 226 226 226 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 231 231 231 250 250 250 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 228 184 62 -241 196 14 241 208 19 232 195 16 38 30 10 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 6 6 6 30 30 30 26 26 26 -203 166 17 154 142 90 66 66 66 26 26 26 - 6 6 6 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 6 6 6 18 18 18 38 38 38 58 58 58 - 78 78 78 86 86 86 101 101 101 123 123 123 -175 146 61 210 150 10 234 174 13 246 186 14 -246 190 14 246 190 14 246 190 14 238 190 10 -102 78 10 2 2 6 46 46 46 198 198 198 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 234 234 234 242 242 242 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 224 178 62 -242 186 14 241 196 14 210 166 10 22 18 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 6 6 6 121 92 8 -238 202 15 232 195 16 82 82 82 34 34 34 - 10 10 10 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 14 14 14 38 38 38 70 70 70 154 122 46 -190 142 34 200 144 11 197 138 11 197 138 11 -213 154 11 226 170 11 242 186 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -225 175 15 46 32 6 2 2 6 22 22 22 -158 158 158 250 250 250 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 250 250 250 242 242 242 224 178 62 -239 182 13 236 186 11 213 154 11 46 32 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 61 42 6 225 175 15 -238 190 10 236 186 11 112 100 78 42 42 42 - 14 14 14 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 6 6 6 - 22 22 22 54 54 54 154 122 46 213 154 11 -226 170 11 230 174 11 226 170 11 226 170 11 -236 178 12 242 186 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -241 196 14 184 144 12 10 10 10 2 2 6 - 6 6 6 116 116 116 242 242 242 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 231 231 231 198 198 198 214 170 54 -236 178 12 236 178 12 210 150 10 137 92 6 - 18 14 6 2 2 6 2 2 6 2 2 6 - 6 6 6 70 47 6 200 144 11 236 178 12 -239 182 13 239 182 13 124 112 88 58 58 58 - 22 22 22 6 6 6 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 10 10 10 - 30 30 30 70 70 70 180 133 36 226 170 11 -239 182 13 242 186 14 242 186 14 246 186 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 232 195 16 98 70 6 2 2 6 - 2 2 6 2 2 6 66 66 66 221 221 221 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 206 206 206 198 198 198 214 166 58 -230 174 11 230 174 11 216 158 10 192 133 9 -163 110 8 116 81 8 102 78 10 116 81 8 -167 114 7 197 138 11 226 170 11 239 182 13 -242 186 14 242 186 14 162 146 94 78 78 78 - 34 34 34 14 14 14 6 6 6 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 6 6 6 - 30 30 30 78 78 78 190 142 34 226 170 11 -239 182 13 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 241 196 14 203 166 17 22 18 6 - 2 2 6 2 2 6 2 2 6 38 38 38 -218 218 218 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -250 250 250 206 206 206 198 198 198 202 162 69 -226 170 11 236 178 12 224 166 10 210 150 10 -200 144 11 197 138 11 192 133 9 197 138 11 -210 150 10 226 170 11 242 186 14 246 190 14 -246 190 14 246 186 14 225 175 15 124 112 88 - 62 62 62 30 30 30 14 14 14 6 6 6 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 10 10 10 - 30 30 30 78 78 78 174 135 50 224 166 10 -239 182 13 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 241 196 14 139 102 15 - 2 2 6 2 2 6 2 2 6 2 2 6 - 78 78 78 250 250 250 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -250 250 250 214 214 214 198 198 198 190 150 46 -219 162 10 236 178 12 234 174 13 224 166 10 -216 158 10 213 154 11 213 154 11 216 158 10 -226 170 11 239 182 13 246 190 14 246 190 14 -246 190 14 246 190 14 242 186 14 206 162 42 -101 101 101 58 58 58 30 30 30 14 14 14 - 6 6 6 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 10 10 10 - 30 30 30 74 74 74 174 135 50 216 158 10 -236 178 12 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 241 196 14 226 184 13 - 61 42 6 2 2 6 2 2 6 2 2 6 - 22 22 22 238 238 238 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 226 226 226 187 187 187 180 133 36 -216 158 10 236 178 12 239 182 13 236 178 12 -230 174 11 226 170 11 226 170 11 230 174 11 -236 178 12 242 186 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 186 14 239 182 13 -206 162 42 106 106 106 66 66 66 34 34 34 - 14 14 14 6 6 6 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 6 6 6 - 26 26 26 70 70 70 163 133 67 213 154 11 -236 178 12 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 241 196 14 -190 146 13 18 14 6 2 2 6 2 2 6 - 46 46 46 246 246 246 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 221 221 221 86 86 86 156 107 11 -216 158 10 236 178 12 242 186 14 246 186 14 -242 186 14 239 182 13 239 182 13 242 186 14 -242 186 14 246 186 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -242 186 14 225 175 15 142 122 72 66 66 66 - 30 30 30 10 10 10 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 6 6 6 - 26 26 26 70 70 70 163 133 67 210 150 10 -236 178 12 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -232 195 16 121 92 8 34 34 34 106 106 106 -221 221 221 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -242 242 242 82 82 82 18 14 6 163 110 8 -216 158 10 236 178 12 242 186 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 242 186 14 163 133 67 - 46 46 46 18 18 18 6 6 6 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 10 10 10 - 30 30 30 78 78 78 163 133 67 210 150 10 -236 178 12 246 186 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -241 196 14 215 174 15 190 178 144 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 218 218 218 - 58 58 58 2 2 6 22 18 6 167 114 7 -216 158 10 236 178 12 246 186 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 186 14 242 186 14 190 150 46 - 54 54 54 22 22 22 6 6 6 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 14 14 14 - 38 38 38 86 86 86 180 133 36 213 154 11 -236 178 12 246 186 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 232 195 16 190 146 13 214 214 214 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 250 250 250 170 170 170 26 26 26 - 2 2 6 2 2 6 37 26 9 163 110 8 -219 162 10 239 182 13 246 186 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 186 14 236 178 12 224 166 10 142 122 72 - 46 46 46 18 18 18 6 6 6 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 6 6 6 18 18 18 - 50 50 50 109 106 95 192 133 9 224 166 10 -242 186 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -242 186 14 226 184 13 210 162 10 142 110 46 -226 226 226 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -253 253 253 253 253 253 253 253 253 253 253 253 -198 198 198 66 66 66 2 2 6 2 2 6 - 2 2 6 2 2 6 50 34 6 156 107 11 -219 162 10 239 182 13 246 186 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 242 186 14 -234 174 13 213 154 11 154 122 46 66 66 66 - 30 30 30 10 10 10 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 6 6 6 22 22 22 - 58 58 58 154 121 60 206 145 10 234 174 13 -242 186 14 246 186 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 186 14 236 178 12 210 162 10 163 110 8 - 61 42 6 138 138 138 218 218 218 250 250 250 -253 253 253 253 253 253 253 253 253 250 250 250 -242 242 242 210 210 210 144 144 144 66 66 66 - 6 6 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 61 42 6 163 110 8 -216 158 10 236 178 12 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 239 182 13 230 174 11 216 158 10 -190 142 34 124 112 88 70 70 70 38 38 38 - 18 18 18 6 6 6 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 6 6 6 22 22 22 - 62 62 62 168 124 44 206 145 10 224 166 10 -236 178 12 239 182 13 242 186 14 242 186 14 -246 186 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 236 178 12 216 158 10 175 118 6 - 80 54 7 2 2 6 6 6 6 30 30 30 - 54 54 54 62 62 62 50 50 50 38 38 38 - 14 14 14 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 6 6 6 80 54 7 167 114 7 -213 154 11 236 178 12 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 190 14 242 186 14 239 182 13 239 182 13 -230 174 11 210 150 10 174 135 50 124 112 88 - 82 82 82 54 54 54 34 34 34 18 18 18 - 6 6 6 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 6 6 6 18 18 18 - 50 50 50 158 118 36 192 133 9 200 144 11 -216 158 10 219 162 10 224 166 10 226 170 11 -230 174 11 236 178 12 239 182 13 239 182 13 -242 186 14 246 186 14 246 190 14 246 190 14 -246 190 14 246 190 14 246 190 14 246 190 14 -246 186 14 230 174 11 210 150 10 163 110 8 -104 69 6 10 10 10 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 6 6 6 91 60 6 167 114 7 -206 145 10 230 174 11 242 186 14 246 190 14 -246 190 14 246 190 14 246 186 14 242 186 14 -239 182 13 230 174 11 224 166 10 213 154 11 -180 133 36 124 112 88 86 86 86 58 58 58 - 38 38 38 22 22 22 10 10 10 6 6 6 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 14 14 14 - 34 34 34 70 70 70 138 110 50 158 118 36 -167 114 7 180 123 7 192 133 9 197 138 11 -200 144 11 206 145 10 213 154 11 219 162 10 -224 166 10 230 174 11 239 182 13 242 186 14 -246 186 14 246 186 14 246 186 14 246 186 14 -239 182 13 216 158 10 185 133 11 152 99 6 -104 69 6 18 14 6 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 2 2 6 2 2 6 2 2 6 - 2 2 6 6 6 6 80 54 7 152 99 6 -192 133 9 219 162 10 236 178 12 239 182 13 -246 186 14 242 186 14 239 182 13 236 178 12 -224 166 10 206 145 10 192 133 9 154 121 60 - 94 94 94 62 62 62 42 42 42 22 22 22 - 14 14 14 6 6 6 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 6 6 6 - 18 18 18 34 34 34 58 58 58 78 78 78 -101 98 89 124 112 88 142 110 46 156 107 11 -163 110 8 167 114 7 175 118 6 180 123 7 -185 133 11 197 138 11 210 150 10 219 162 10 -226 170 11 236 178 12 236 178 12 234 174 13 -219 162 10 197 138 11 163 110 8 130 83 6 - 91 60 6 10 10 10 2 2 6 2 2 6 - 18 18 18 38 38 38 38 38 38 38 38 38 - 38 38 38 38 38 38 38 38 38 38 38 38 - 38 38 38 38 38 38 26 26 26 2 2 6 - 2 2 6 6 6 6 70 47 6 137 92 6 -175 118 6 200 144 11 219 162 10 230 174 11 -234 174 13 230 174 11 219 162 10 210 150 10 -192 133 9 163 110 8 124 112 88 82 82 82 - 50 50 50 30 30 30 14 14 14 6 6 6 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 6 6 6 14 14 14 22 22 22 34 34 34 - 42 42 42 58 58 58 74 74 74 86 86 86 -101 98 89 122 102 70 130 98 46 121 87 25 -137 92 6 152 99 6 163 110 8 180 123 7 -185 133 11 197 138 11 206 145 10 200 144 11 -180 123 7 156 107 11 130 83 6 104 69 6 - 50 34 6 54 54 54 110 110 110 101 98 89 - 86 86 86 82 82 82 78 78 78 78 78 78 - 78 78 78 78 78 78 78 78 78 78 78 78 - 78 78 78 82 82 82 86 86 86 94 94 94 -106 106 106 101 101 101 86 66 34 124 80 6 -156 107 11 180 123 7 192 133 9 200 144 11 -206 145 10 200 144 11 192 133 9 175 118 6 -139 102 15 109 106 95 70 70 70 42 42 42 - 22 22 22 10 10 10 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 6 6 6 10 10 10 - 14 14 14 22 22 22 30 30 30 38 38 38 - 50 50 50 62 62 62 74 74 74 90 90 90 -101 98 89 112 100 78 121 87 25 124 80 6 -137 92 6 152 99 6 152 99 6 152 99 6 -138 86 6 124 80 6 98 70 6 86 66 30 -101 98 89 82 82 82 58 58 58 46 46 46 - 38 38 38 34 34 34 34 34 34 34 34 34 - 34 34 34 34 34 34 34 34 34 34 34 34 - 34 34 34 34 34 34 38 38 38 42 42 42 - 54 54 54 82 82 82 94 86 76 91 60 6 -134 86 6 156 107 11 167 114 7 175 118 6 -175 118 6 167 114 7 152 99 6 121 87 25 -101 98 89 62 62 62 34 34 34 18 18 18 - 6 6 6 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 6 6 6 6 6 6 10 10 10 - 18 18 18 22 22 22 30 30 30 42 42 42 - 50 50 50 66 66 66 86 86 86 101 98 89 -106 86 58 98 70 6 104 69 6 104 69 6 -104 69 6 91 60 6 82 62 34 90 90 90 - 62 62 62 38 38 38 22 22 22 14 14 14 - 10 10 10 10 10 10 10 10 10 10 10 10 - 10 10 10 10 10 10 6 6 6 10 10 10 - 10 10 10 10 10 10 10 10 10 14 14 14 - 22 22 22 42 42 42 70 70 70 89 81 66 - 80 54 7 104 69 6 124 80 6 137 92 6 -134 86 6 116 81 8 100 82 52 86 86 86 - 58 58 58 30 30 30 14 14 14 6 6 6 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 6 6 6 10 10 10 14 14 14 - 18 18 18 26 26 26 38 38 38 54 54 54 - 70 70 70 86 86 86 94 86 76 89 81 66 - 89 81 66 86 86 86 74 74 74 50 50 50 - 30 30 30 14 14 14 6 6 6 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 6 6 6 18 18 18 34 34 34 58 58 58 - 82 82 82 89 81 66 89 81 66 89 81 66 - 94 86 66 94 86 76 74 74 74 50 50 50 - 26 26 26 14 14 14 6 6 6 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 6 6 6 6 6 6 14 14 14 18 18 18 - 30 30 30 38 38 38 46 46 46 54 54 54 - 50 50 50 42 42 42 30 30 30 18 18 18 - 10 10 10 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 6 6 6 14 14 14 26 26 26 - 38 38 38 50 50 50 58 58 58 58 58 58 - 54 54 54 42 42 42 30 30 30 18 18 18 - 10 10 10 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 6 6 6 - 6 6 6 10 10 10 14 14 14 18 18 18 - 18 18 18 14 14 14 10 10 10 6 6 6 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 6 6 6 - 14 14 14 18 18 18 22 22 22 22 22 22 - 18 18 18 14 14 14 10 10 10 6 6 6 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 23 25 27 21 23 27 +14 22 27 9 20 28 9 20 28 14 22 27 18 24 27 23 25 27 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 23 25 27 18 24 27 14 22 27 9 20 28 +9 20 28 14 22 27 21 23 27 23 25 27 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 22 25 27 14 22 27 35 31 25 +85 50 19 111 56 15 148 72 11 85 50 19 43 33 24 14 22 27 +18 24 27 23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +23 25 27 17 22 27 14 22 27 57 39 22 111 56 15 111 56 15 +111 56 15 85 50 19 35 31 25 14 22 27 22 25 27 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 22 25 27 14 20 27 111 56 15 196 92 5 +249 107 0 236 99 0 236 99 0 236 99 0 223 98 1 148 72 11 +43 33 24 14 22 27 22 25 27 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 25 27 +16 21 27 57 39 22 148 72 11 223 98 1 236 99 0 241 105 0 +249 107 0 236 99 0 196 92 5 85 50 19 14 22 27 22 25 27 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 23 25 27 4 17 28 148 72 11 236 99 0 241 105 0 +236 99 0 236 99 0 236 99 0 236 99 0 236 99 0 249 107 0 +223 98 1 85 50 19 10 17 28 18 24 27 23 25 27 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 23 25 27 18 24 27 4 17 28 +111 56 15 223 98 1 249 107 0 236 99 0 236 99 0 236 99 0 +236 99 0 236 99 0 249 107 0 236 99 0 111 56 15 4 17 28 +23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +23 25 27 14 22 27 85 50 19 249 107 0 236 99 0 236 99 0 +236 99 0 236 99 0 236 99 0 236 100 0 236 99 0 236 99 0 +236 99 0 249 107 0 173 86 8 21 23 27 14 22 27 23 25 27 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 23 25 27 22 25 27 14 22 27 35 31 25 173 86 8 +249 107 0 241 105 0 236 99 0 236 99 0 236 99 0 236 99 0 +236 99 0 236 99 0 236 99 0 236 99 0 249 107 0 69 44 21 +14 22 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +21 23 27 29 29 28 196 92 5 241 105 0 236 100 0 236 101 0 +236 101 0 236 101 0 236 101 0 236 101 0 236 101 0 236 101 0 +236 100 0 236 99 0 249 107 0 196 92 5 57 39 22 18 22 27 +22 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +23 25 27 22 25 27 13 20 27 85 50 19 223 98 1 236 99 0 +236 100 0 236 100 0 236 101 0 236 101 0 236 101 0 236 101 0 +236 101 0 236 101 0 236 100 0 236 100 0 241 105 0 196 92 5 +9 20 28 23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +13 20 27 85 50 19 241 105 0 241 105 0 236 103 0 236 103 0 +236 103 0 236 103 0 236 103 0 236 103 0 236 103 0 236 103 0 +236 103 0 236 103 0 236 99 0 241 105 0 236 100 0 111 56 15 +9 20 28 17 22 27 23 25 27 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 27 +14 22 27 23 25 27 111 56 15 236 101 0 241 105 0 236 101 0 +236 103 0 236 103 0 236 103 0 236 103 0 236 103 0 236 103 0 +236 103 0 236 103 0 236 103 0 236 103 0 236 99 0 249 107 0 +43 33 24 18 24 27 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 27 +9 20 28 148 72 11 241 105 0 236 103 0 236 103 0 236 103 0 +236 103 0 236 103 0 236 103 0 236 103 0 236 103 0 236 103 0 +236 103 0 236 103 0 236 103 0 236 103 0 238 106 0 249 114 0 +173 86 8 57 39 22 13 20 27 22 25 27 23 25 27 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 23 25 27 22 25 27 9 20 28 +69 44 21 196 92 5 249 114 0 241 105 0 238 106 0 236 103 0 +238 106 0 236 103 0 236 103 0 236 103 0 236 103 0 236 103 0 +236 103 0 236 103 0 236 103 0 236 103 0 236 103 0 249 107 0 +111 56 15 17 22 27 23 25 27 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 25 27 +18 24 27 173 86 8 249 107 0 235 106 1 235 106 1 235 106 1 +235 106 1 235 106 1 235 106 1 235 106 1 235 106 1 235 106 1 +235 106 1 235 106 1 235 106 1 235 106 1 236 106 0 238 106 0 +241 105 0 223 98 1 85 50 19 14 22 27 21 23 27 23 25 27 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 23 25 27 18 24 27 18 24 27 111 56 15 +223 98 1 241 105 0 238 106 0 236 106 0 235 106 1 235 106 1 +235 106 1 235 106 1 235 106 1 235 106 1 235 106 1 235 106 1 +235 106 1 235 106 1 235 106 1 235 106 1 235 106 1 249 114 0 +148 72 11 17 22 27 23 25 27 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 25 27 +26 27 26 173 86 8 249 114 0 235 106 1 236 107 1 236 107 1 +236 107 1 236 107 1 236 107 1 236 107 1 236 107 1 236 107 1 +236 107 1 236 107 1 236 107 1 236 107 1 236 107 1 236 107 1 +237 108 0 237 109 1 241 105 0 148 72 11 14 22 27 14 22 27 +23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 23 25 27 13 20 27 23 25 27 148 72 11 240 113 0 +241 105 0 237 110 0 236 107 1 236 107 1 236 107 1 236 107 1 +236 107 1 236 107 1 236 107 1 236 107 1 236 107 1 236 107 1 +236 107 1 236 107 1 236 107 1 236 107 1 236 107 1 249 114 0 +173 86 8 17 22 27 22 25 27 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 27 +35 31 25 196 92 5 240 113 0 237 109 1 237 109 1 237 109 1 +237 109 1 237 109 1 237 109 1 237 109 1 240 113 0 237 109 1 +237 109 1 237 109 1 237 109 1 237 109 1 237 109 1 237 109 1 +237 109 1 237 109 1 240 113 0 249 114 0 196 92 5 69 44 21 +9 20 28 22 25 27 23 25 27 0 0 0 0 0 0 23 25 27 +21 23 27 9 20 28 69 44 21 235 106 1 249 114 0 240 113 0 +237 111 1 237 109 1 237 109 1 237 109 1 237 109 1 237 109 1 +237 109 1 237 109 1 237 109 1 240 113 0 237 110 0 237 109 1 +237 109 1 237 109 1 237 109 1 237 109 1 237 111 1 241 105 0 +173 86 8 24 26 27 22 25 27 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 25 27 +26 27 26 196 92 5 240 113 0 237 111 1 237 111 1 237 111 1 +237 111 1 237 111 1 240 113 0 223 98 1 223 98 1 240 113 0 +237 110 0 237 111 1 237 111 1 237 111 1 237 111 1 237 111 1 +237 111 1 237 111 1 237 111 1 237 110 0 249 114 0 240 113 0 +111 56 15 14 22 27 18 23 27 23 25 27 23 25 27 18 23 27 +21 23 27 119 81 15 249 107 0 240 113 0 237 110 0 237 109 1 +237 111 1 237 111 1 237 111 1 237 111 1 237 111 1 237 111 1 +237 111 1 237 110 0 249 114 0 223 98 1 223 98 1 237 112 0 +237 111 1 237 111 1 237 111 1 237 111 1 237 111 1 249 114 0 +173 86 8 21 24 26 22 25 27 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 25 27 +26 27 26 173 86 8 240 113 0 237 111 1 237 111 1 237 111 1 +237 111 1 237 111 1 240 113 0 173 86 8 57 39 22 196 92 5 +249 114 0 240 113 0 237 111 1 237 111 1 237 111 1 237 111 1 +237 111 1 237 111 1 237 111 1 237 111 1 237 111 1 240 113 0 +247 119 0 173 86 8 29 29 28 9 20 28 9 20 28 35 31 25 +196 92 5 249 114 0 240 113 0 237 111 1 237 111 1 237 111 1 +237 111 1 237 111 1 237 111 1 237 111 1 237 111 1 237 111 1 +240 113 0 247 119 0 196 92 5 18 24 27 196 92 5 240 113 0 +237 111 1 237 111 1 237 111 1 237 111 1 236 112 1 249 114 0 +148 72 11 21 24 26 22 25 27 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 25 27 +18 24 27 173 86 8 249 114 0 236 112 1 236 112 1 236 112 1 +236 112 1 236 112 1 240 113 0 196 92 5 14 22 27 4 17 28 +148 72 11 225 114 1 249 114 0 236 112 1 236 112 1 236 112 1 +236 112 1 236 112 1 236 112 1 236 112 1 236 112 1 236 112 1 +237 111 1 249 114 0 237 112 0 111 56 15 108 69 17 240 113 0 +249 114 0 237 112 0 236 112 1 236 112 1 236 112 1 236 112 1 +236 112 1 236 112 1 236 112 1 236 112 1 237 112 0 249 114 0 +225 114 1 111 56 15 9 20 28 18 24 27 225 114 1 240 113 0 +236 112 1 236 112 1 236 112 1 236 112 1 236 112 1 249 114 0 +148 72 11 18 24 27 23 25 27 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 27 +16 21 27 173 86 8 247 119 0 237 114 1 237 114 1 237 114 1 +237 114 1 237 114 1 249 114 0 198 112 6 35 31 25 18 24 27 +18 24 27 85 50 19 196 92 5 247 119 0 237 114 1 237 114 1 +237 114 1 237 114 1 237 114 1 237 114 1 237 114 1 237 114 1 +237 114 1 237 114 1 240 113 0 238 116 1 240 113 0 240 113 0 +237 114 1 237 114 1 237 114 1 237 114 1 237 114 1 237 114 1 +237 114 1 237 114 1 237 114 1 237 115 0 247 119 0 196 92 5 +69 44 21 18 24 27 14 22 27 43 33 24 225 114 1 240 113 0 +237 114 1 237 114 1 237 114 1 237 114 1 237 114 1 247 119 0 +148 72 11 17 22 27 23 25 27 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 27 +9 20 28 173 86 8 247 119 0 238 116 1 238 116 1 238 116 1 +238 116 1 238 116 1 238 118 0 225 114 1 43 33 24 18 23 27 +22 25 27 17 22 27 43 33 24 173 86 8 252 126 0 247 119 0 +238 116 1 238 116 1 238 116 1 238 116 1 238 116 1 238 116 1 +238 116 1 238 116 1 238 116 1 238 117 1 238 117 1 238 117 1 +238 116 1 238 116 1 238 116 1 238 116 1 238 116 1 238 116 1 +238 116 1 238 116 1 247 119 0 252 126 0 148 72 11 43 33 24 +14 22 27 22 25 27 18 23 27 57 39 22 236 112 1 238 117 1 +238 116 1 238 116 1 238 116 1 238 116 1 238 116 1 252 126 0 +119 81 15 14 20 27 23 25 27 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 27 +10 17 28 148 89 12 247 119 0 238 117 1 238 117 1 238 117 1 +238 117 1 238 117 1 238 118 0 238 116 1 43 33 24 18 24 27 +24 26 27 23 25 27 18 24 27 14 22 27 111 56 15 236 112 1 +247 119 0 238 117 1 238 117 1 238 117 1 238 117 1 238 117 1 +238 117 1 238 117 1 238 117 1 238 117 1 238 117 1 238 117 1 +238 117 1 238 117 1 238 117 1 238 117 1 238 117 1 238 117 1 +238 118 0 247 119 0 225 114 1 85 50 19 9 20 28 18 24 27 +23 25 27 24 26 27 18 23 27 69 44 21 238 119 0 238 118 0 +238 117 1 238 117 1 238 117 1 238 117 1 238 116 1 252 126 0 +111 56 15 9 20 28 23 25 27 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +9 20 28 148 72 11 247 119 0 237 120 0 238 117 1 238 117 1 +238 117 1 238 117 1 238 118 0 247 119 0 46 40 24 20 22 26 +24 26 27 24 26 27 24 26 27 22 25 27 14 22 27 35 31 25 +198 112 6 252 126 0 238 117 1 238 117 1 238 117 1 238 117 1 +238 117 1 238 117 1 238 117 1 238 117 1 238 117 1 238 117 1 +238 117 1 238 117 1 238 117 1 238 117 1 238 117 1 238 118 0 +252 126 0 173 86 8 43 33 24 14 22 27 22 25 27 24 26 27 +24 26 27 24 26 27 14 22 27 85 50 19 247 119 0 238 119 0 +238 117 1 238 117 1 238 117 1 238 117 1 238 118 0 252 126 0 +111 56 15 18 24 27 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +10 17 28 119 81 15 242 125 0 238 119 0 237 120 0 237 120 0 +237 120 0 237 120 0 238 119 0 247 119 0 46 40 24 18 23 27 +24 26 27 24 26 27 24 26 27 24 26 27 23 25 27 18 22 27 +21 23 27 148 72 11 252 126 0 242 125 0 238 119 0 237 120 0 +237 120 0 237 120 0 237 120 0 237 120 0 237 120 0 237 120 0 +237 120 0 237 120 0 237 120 0 238 119 0 246 126 1 252 126 0 +108 69 17 18 24 27 18 24 27 23 25 27 24 26 27 24 26 27 +24 26 27 24 26 27 17 22 27 85 50 19 246 126 1 238 119 0 +237 120 0 237 120 0 237 120 0 237 120 0 238 118 0 252 126 0 +86 62 19 14 22 27 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +13 20 27 111 56 15 238 119 0 238 119 0 237 120 0 237 120 0 +237 120 0 237 120 0 239 123 2 252 126 0 57 39 22 18 23 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +21 23 27 9 20 28 69 44 21 225 114 1 246 126 1 239 123 2 +237 120 0 237 120 0 237 120 0 237 120 0 237 120 0 237 120 0 +237 120 0 237 120 0 242 125 0 252 126 0 196 92 5 69 44 21 +4 17 28 23 25 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 14 22 27 86 62 19 252 126 0 237 120 0 +237 120 0 237 120 0 237 120 0 237 120 0 237 120 0 252 126 0 +69 44 21 18 22 27 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 21 23 24 +21 23 24 21 23 24 21 23 24 21 23 24 21 23 24 22 24 25 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +23 25 26 21 23 24 21 23 24 21 23 24 21 23 24 21 23 24 +21 23 24 22 24 25 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +22 24 25 21 23 24 21 23 24 21 23 24 21 23 24 21 23 24 +21 23 24 23 25 26 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 23 25 26 21 23 24 19 21 23 +19 21 22 16 18 19 15 17 18 15 17 18 16 18 19 18 20 22 +19 21 22 20 22 23 22 24 25 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 23 25 26 21 23 24 21 23 24 21 23 24 +21 23 24 21 23 24 21 23 24 23 25 26 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +22 24 25 21 23 24 21 23 24 21 23 24 21 23 24 21 23 24 +21 23 24 21 23 24 23 25 26 0 0 0 0 0 0 22 24 25 +21 23 24 21 23 24 21 23 24 21 23 24 21 23 24 21 23 24 +21 23 24 21 23 24 21 23 24 21 23 24 21 23 24 21 23 24 +21 23 24 21 23 24 21 23 24 21 23 24 23 25 26 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 21 23 24 +19 21 23 18 20 22 16 18 19 15 17 18 15 17 18 17 19 21 +19 21 22 20 22 24 23 25 26 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +23 25 26 21 23 24 21 23 24 21 23 24 21 23 24 21 23 24 +21 23 24 21 23 24 21 23 24 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 22 24 25 21 23 24 21 23 24 21 23 24 21 23 24 +21 23 24 21 23 24 22 24 25 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +14 22 27 85 50 19 242 125 0 239 123 2 239 123 2 239 123 2 +239 123 2 239 123 2 239 123 2 252 137 0 57 39 22 17 22 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 23 25 27 9 20 28 43 33 24 148 89 12 237 120 0 +252 126 0 242 125 0 239 123 2 239 123 2 239 123 2 239 123 2 +242 125 0 246 126 1 233 126 1 148 72 11 35 31 25 14 22 27 +23 25 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 13 20 27 111 56 15 252 126 0 239 123 2 +239 123 2 239 123 2 239 123 2 239 123 2 239 123 2 246 126 1 +57 39 22 18 23 27 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 23 25 26 23 25 26 30 32 33 +31 33 34 31 33 34 31 33 34 31 33 34 31 33 34 26 28 30 +22 24 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 +22 24 25 31 33 34 31 33 34 31 33 34 31 33 34 31 33 34 +31 33 34 26 28 30 22 24 25 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 24 25 +26 28 30 31 33 34 31 33 34 31 33 34 31 33 34 31 33 34 +31 33 34 23 25 26 23 25 26 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 23 25 26 17 19 21 12 14 15 30 32 32 43 44 44 +47 49 49 75 76 76 85 86 85 85 86 85 85 86 85 51 52 52 +43 44 44 38 39 40 19 21 22 12 14 15 22 24 25 0 0 0 +0 0 0 23 25 26 22 24 25 31 33 34 31 33 34 31 33 34 +31 33 34 31 33 34 34 35 36 24 26 27 23 25 26 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 22 23 +26 28 30 31 33 34 31 33 34 31 33 34 31 33 34 31 33 34 +31 33 34 34 35 36 23 25 27 23 25 26 22 24 25 26 28 30 +34 35 36 31 33 34 31 33 34 31 33 34 31 33 34 31 33 34 +31 33 34 31 33 34 31 33 34 31 33 34 31 33 34 31 33 34 +31 33 34 31 33 34 31 33 34 31 33 34 24 26 27 23 25 26 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 18 20 22 12 14 15 26 28 30 +43 44 44 47 49 49 85 86 85 85 86 85 85 86 85 63 65 64 +43 44 44 35 37 38 15 17 19 15 17 19 23 25 26 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 +23 25 26 34 35 36 31 33 34 31 33 34 31 33 34 31 33 34 +31 33 34 31 33 34 30 32 32 19 21 22 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +22 24 25 23 25 27 31 33 34 31 33 34 31 33 34 31 33 34 +31 33 34 31 33 34 31 33 34 22 24 25 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +16 21 27 70 55 22 242 125 0 239 126 1 239 123 2 239 123 2 +239 123 2 239 123 2 239 123 2 252 137 0 85 50 19 14 22 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 23 25 27 18 23 27 17 21 27 85 50 19 +173 86 8 233 126 1 252 126 0 252 137 0 252 126 0 252 137 0 +225 114 1 173 86 8 70 55 22 4 17 28 18 24 27 22 25 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 13 20 27 108 69 17 252 126 0 239 126 1 +239 123 2 239 123 2 239 123 2 239 123 2 242 125 0 246 126 1 +43 33 24 18 24 27 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 167 167 162 +194 194 188 191 190 184 191 190 184 191 190 185 194 194 188 97 97 95 +15 17 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 +30 32 32 167 167 162 194 194 188 191 190 184 191 190 184 191 190 184 +199 199 193 108 109 107 14 16 18 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 15 17 18 +97 97 95 194 194 188 191 190 185 191 190 184 191 190 184 194 194 188 +178 178 173 35 37 38 21 23 24 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 +15 17 19 4 6 8 63 65 64 139 140 136 188 188 182 219 218 211 +228 227 220 226 224 218 225 224 217 224 222 216 224 222 216 227 226 219 +223 222 215 204 202 197 167 167 162 108 109 107 26 28 30 22 24 25 +0 0 0 22 24 25 26 27 26 191 190 185 191 190 185 191 190 184 +191 190 184 191 190 184 204 202 197 75 76 76 15 17 19 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 12 14 15 +178 178 173 194 194 188 191 190 184 191 190 184 191 190 184 191 190 184 +201 200 194 155 156 152 14 16 18 23 25 26 16 18 19 85 86 85 +204 202 197 191 190 184 191 190 184 191 190 184 191 190 184 191 190 184 +191 190 184 191 190 184 191 190 184 191 190 184 191 190 184 191 190 184 +191 190 184 191 190 184 191 190 185 199 199 193 75 76 76 17 19 21 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +23 25 26 18 20 22 1 3 5 47 49 49 123 124 122 186 185 180 +221 219 213 228 227 220 224 222 216 224 222 216 224 222 216 227 226 219 +225 224 217 201 200 194 155 156 152 75 76 76 5 8 10 15 17 19 +23 25 26 0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 +16 18 19 155 156 152 199 199 193 191 190 184 191 190 184 191 190 184 +191 190 184 191 190 185 188 188 182 20 22 24 21 23 24 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 +8 10 12 123 124 122 199 199 193 191 190 184 191 190 184 191 190 184 +191 190 185 199 199 193 123 124 122 14 16 18 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +17 22 27 69 44 21 239 123 2 242 125 0 239 126 1 239 126 1 +239 126 1 239 126 1 239 126 1 252 126 0 108 69 17 13 20 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 22 25 27 14 22 27 +9 20 28 43 33 24 58 46 23 69 44 21 69 44 21 58 46 23 +35 31 25 4 17 28 16 21 27 23 25 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 23 25 27 9 20 28 148 72 11 252 137 0 239 126 1 +239 126 1 239 126 1 239 126 1 239 126 1 239 126 1 242 125 0 +29 29 28 21 23 27 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 24 30 32 33 191 190 185 +218 216 210 213 212 206 213 212 206 214 213 207 221 220 213 108 109 107 +13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 +31 33 34 191 190 185 218 216 210 213 212 206 213 212 206 213 212 206 +226 224 218 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 +108 109 107 221 220 213 214 213 207 213 212 206 213 212 206 217 215 209 +204 202 197 35 37 38 20 22 24 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 5 8 10 +75 76 76 191 190 184 228 227 220 219 218 211 214 213 207 211 210 204 +210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 212 211 205 219 218 211 222 221 214 43 44 44 20 22 23 +0 0 0 21 23 24 26 28 30 217 216 210 215 214 208 213 212 206 +213 212 206 213 212 206 228 227 220 75 76 76 16 18 19 0 0 0 +0 0 0 0 0 0 0 0 0 23 25 26 17 19 21 123 124 122 +226 224 218 214 212 206 213 212 206 213 212 206 213 212 206 219 218 211 +199 199 193 34 35 36 20 22 23 24 26 27 14 16 17 100 100 100 +227 226 219 213 212 206 213 212 206 213 212 206 213 212 206 213 212 206 +213 212 206 213 212 206 213 212 206 213 212 206 213 212 206 213 212 206 +213 212 206 213 212 206 214 213 207 223 222 215 85 86 85 15 17 19 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 +9 12 13 51 52 52 167 167 162 236 234 227 222 221 214 214 213 207 +211 210 204 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 213 212 206 217 216 210 228 227 220 194 194 188 75 76 76 +5 8 10 22 24 25 0 0 0 0 0 0 0 0 0 0 0 0 +15 17 19 63 65 64 218 216 210 215 214 208 213 212 206 213 212 206 +213 212 206 214 212 206 226 224 218 115 115 113 14 16 18 23 25 26 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 21 22 +51 52 52 210 209 203 216 215 208 213 212 206 213 212 206 213 212 206 +219 218 211 194 194 188 34 35 36 20 22 24 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +17 22 27 58 46 23 239 126 1 239 126 1 239 126 1 239 126 1 +239 126 1 239 126 1 239 126 1 252 137 0 148 72 11 4 17 28 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +23 25 27 18 24 27 18 23 27 17 22 27 16 21 27 18 23 27 +21 23 27 23 25 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 4 17 28 173 86 8 245 138 1 239 126 1 +239 126 1 239 126 1 239 126 1 239 126 1 239 126 1 241 129 1 +26 27 26 21 23 27 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 +214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 +13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 +30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 +221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 +106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 +201 200 194 35 37 38 20 22 24 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 18 20 22 24 26 27 123 124 122 +224 222 216 215 214 208 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 211 210 204 212 210 204 38 39 40 20 22 23 +0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 +210 209 203 210 209 203 225 224 217 75 76 76 17 19 21 0 0 0 +0 0 0 0 0 0 23 25 26 14 16 17 75 76 76 215 213 207 +212 211 205 210 209 203 210 209 203 210 209 203 211 210 204 222 221 214 +63 65 64 17 19 21 23 25 26 24 26 27 14 16 17 97 97 95 +223 222 215 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 210 209 203 220 219 212 85 86 85 15 17 19 +0 0 0 0 0 0 0 0 0 0 0 0 22 24 25 10 13 14 +100 100 100 208 207 200 219 218 211 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 210 209 203 210 209 203 215 214 208 221 219 213 +115 115 113 19 21 23 21 23 24 0 0 0 0 0 0 0 0 0 +23 25 26 14 16 18 123 124 122 224 222 216 210 209 203 210 209 203 +210 209 203 210 209 203 214 213 206 191 190 185 34 35 36 20 22 23 +0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 8 10 12 +155 156 152 217 215 209 210 209 203 210 209 203 210 209 203 210 209 203 +219 218 211 97 97 95 12 14 15 23 25 26 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +13 20 27 85 50 19 241 129 1 241 129 1 241 129 1 252 137 0 +252 137 0 252 137 0 252 137 0 252 137 0 119 81 15 9 20 28 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 9 20 28 173 86 8 252 137 0 252 137 0 +252 137 0 252 137 0 252 137 0 241 129 1 241 129 1 241 129 1 +43 33 24 18 23 27 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 +214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 +13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 +30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 +221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 +106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 +201 200 194 35 37 38 20 22 24 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 19 21 22 21 23 24 167 167 162 226 224 218 +211 210 204 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 211 210 204 212 210 204 43 44 44 20 22 23 +0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 +210 209 203 210 209 203 227 226 219 75 76 76 16 18 19 0 0 0 +0 0 0 0 0 0 21 23 24 22 24 25 186 185 180 217 215 209 +210 209 203 210 209 203 210 209 203 210 209 203 223 222 215 123 124 122 +4 6 8 23 25 26 24 26 27 24 26 27 14 16 17 97 97 95 +223 222 215 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 210 209 203 219 218 211 85 86 85 15 17 19 +0 0 0 0 0 0 0 0 0 22 24 25 12 14 15 100 100 100 +227 226 219 213 212 206 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 211 210 204 +222 221 214 139 140 136 10 13 14 22 24 25 0 0 0 0 0 0 +0 0 0 21 23 24 23 25 27 218 216 210 212 211 205 210 209 203 +210 209 203 210 209 203 210 209 203 222 220 214 104 105 103 10 13 14 +0 0 0 0 0 0 0 0 0 0 0 0 17 19 21 51 52 52 +224 222 216 211 210 204 210 209 203 210 209 203 210 209 203 219 218 211 +167 167 162 17 19 21 22 24 25 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 27 +10 17 28 148 89 12 252 137 0 252 137 0 233 126 1 148 89 12 +119 81 15 29 29 28 4 11 29 4 11 29 14 22 27 26 27 26 +23 25 27 23 25 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +23 25 27 23 25 27 22 25 27 9 20 28 4 17 28 4 11 29 +35 31 25 119 81 15 173 86 8 239 126 1 252 137 0 252 137 0 +119 81 15 12 18 27 23 25 27 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 +214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 +13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 +30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 +221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 +106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 +201 200 194 35 37 38 20 22 24 0 0 0 0 0 0 0 0 0 +0 0 0 20 22 24 14 16 17 189 188 183 221 220 213 210 209 203 +210 209 203 210 209 203 210 209 203 210 209 203 211 210 204 215 214 208 +222 221 214 226 224 218 223 222 215 223 222 215 224 222 216 227 226 219 +222 220 214 217 215 209 214 213 207 212 210 204 38 39 40 20 22 23 +0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 +210 209 203 210 209 203 225 224 217 75 76 76 17 19 21 0 0 0 +0 0 0 23 25 26 1 3 5 155 156 152 219 218 211 210 209 203 +210 209 203 210 209 203 210 209 203 220 219 212 155 156 152 18 20 22 +22 25 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 +223 222 215 210 209 203 210 209 203 210 209 203 210 209 203 212 211 205 +228 227 220 228 227 220 228 227 220 228 227 220 228 227 220 228 227 220 +228 227 220 228 227 220 228 227 220 236 234 227 85 86 85 17 19 21 +0 0 0 0 0 0 23 25 26 10 13 14 106 107 104 227 226 219 +211 210 204 210 209 203 210 209 203 210 209 203 210 209 203 211 210 204 +217 215 209 224 222 216 225 224 217 223 222 215 223 222 215 226 224 218 +217 215 209 211 210 204 210 209 203 210 209 203 210 209 203 210 209 203 +211 210 204 222 221 214 123 124 122 5 8 10 23 25 26 0 0 0 +0 0 0 0 0 0 10 13 14 100 100 100 219 218 211 210 209 203 +210 209 203 210 209 203 210 209 203 214 213 207 194 194 188 31 33 34 +20 22 23 0 0 0 0 0 0 22 24 25 19 21 22 167 167 162 +217 216 210 210 209 203 210 209 203 210 209 203 212 211 205 222 220 214 +35 37 38 18 20 22 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 27 +35 31 25 198 112 6 198 112 6 69 44 21 35 31 25 12 18 27 +12 18 27 21 23 27 22 25 27 18 23 27 18 23 27 18 23 27 +18 23 27 18 23 27 18 23 27 21 23 27 23 25 27 23 25 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 23 25 27 23 25 27 21 23 27 18 23 27 +18 22 27 18 23 27 17 22 27 17 22 27 18 24 27 22 25 27 +21 23 27 12 18 27 9 20 28 35 31 25 86 62 19 198 112 6 +173 86 8 35 31 25 21 23 27 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 +214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 +13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 +30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 +221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 +106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 +201 200 194 35 37 38 20 22 24 0 0 0 0 0 0 0 0 0 +22 24 25 17 19 21 139 140 136 222 221 214 210 209 203 210 209 203 +210 209 203 210 209 203 210 209 203 214 213 207 216 215 208 178 178 173 +108 109 107 47 49 49 43 44 44 47 48 48 43 44 44 51 52 52 +115 115 113 167 167 162 208 207 200 222 220 214 43 44 44 20 22 23 +0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 +210 209 203 210 209 203 227 226 219 75 76 76 16 18 19 0 0 0 +23 25 26 15 17 19 75 76 76 224 222 216 211 210 204 210 209 203 +210 209 203 210 209 203 214 213 207 194 194 188 38 39 40 18 20 22 +24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 +223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 204 202 197 +30 32 33 47 48 48 47 48 48 47 48 48 47 48 48 47 48 48 +47 48 48 47 48 48 47 49 49 51 52 52 31 33 34 22 24 25 +0 0 0 0 0 0 15 17 19 63 65 64 208 207 200 213 212 206 +210 209 203 210 209 203 210 209 203 210 209 203 213 212 206 216 215 208 +167 167 162 75 76 76 43 44 44 43 44 44 43 44 44 63 65 64 +167 167 162 212 211 205 214 213 206 210 209 203 210 209 203 210 209 203 +210 209 203 211 210 204 224 222 216 63 65 64 17 19 21 23 25 26 +0 0 0 0 0 0 21 23 24 23 25 27 178 178 173 217 215 209 +210 209 203 210 209 203 210 209 203 210 209 203 216 216 210 106 108 104 +12 14 15 0 0 0 0 0 0 15 17 18 75 76 76 217 216 210 +211 210 204 210 209 203 210 209 203 210 209 203 221 219 213 123 124 122 +8 10 12 23 25 26 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 27 +46 40 24 57 39 22 4 17 28 13 20 27 18 23 27 18 22 27 +12 18 27 10 17 28 14 20 27 35 31 25 57 39 22 58 46 23 +58 46 23 57 39 22 43 33 24 26 27 26 9 20 28 10 17 28 +16 21 27 21 23 27 23 25 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 23 25 27 +18 23 27 14 20 27 10 17 28 10 17 28 26 27 26 46 40 24 +57 39 22 58 46 23 57 39 22 46 40 24 35 31 25 14 22 27 +9 20 28 13 20 27 17 22 27 18 23 27 13 20 27 4 17 28 +70 55 22 43 33 24 22 25 27 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 +214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 +13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 +30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 +221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 +106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 +201 200 194 35 37 38 20 22 24 0 0 0 0 0 0 0 0 0 +13 15 16 75 76 76 222 220 214 211 210 204 210 209 203 210 209 203 +210 209 203 210 209 203 219 218 211 204 202 197 75 76 76 12 14 15 +12 14 15 18 20 22 19 21 22 19 21 22 19 21 22 18 20 22 +12 14 15 8 10 12 47 49 49 139 140 136 43 44 44 20 22 24 +0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 +210 209 203 210 209 203 225 224 217 75 76 76 17 19 21 0 0 0 +19 21 22 31 33 34 194 194 188 215 213 207 210 209 203 210 209 203 +210 209 203 211 210 204 228 227 220 63 65 64 17 19 21 23 25 26 +24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 +223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 208 207 200 +1 3 5 19 21 22 19 21 22 19 21 22 19 21 22 19 21 22 +19 21 22 19 21 22 19 21 22 19 21 22 22 24 25 0 0 0 +0 0 0 23 25 26 1 3 5 178 178 173 217 215 209 210 209 203 +210 209 203 210 209 203 210 209 203 215 213 207 210 209 203 85 86 85 +1 3 5 15 17 19 19 21 22 19 21 22 19 21 22 16 18 19 +5 8 10 75 76 76 208 207 200 214 213 207 210 209 203 210 209 203 +210 209 203 210 209 203 217 216 210 167 167 162 20 22 23 22 24 25 +0 0 0 0 0 0 0 0 0 14 16 17 75 76 76 220 219 212 +211 210 204 210 209 203 210 209 203 210 209 203 214 213 207 199 199 193 +8 10 12 22 24 25 22 24 25 20 22 23 178 178 173 217 215 209 +210 209 203 210 209 203 210 209 203 215 214 208 191 190 185 30 32 32 +21 23 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +21 23 27 18 23 27 21 23 27 10 17 28 21 23 27 58 46 23 +119 81 15 178 116 9 198 112 6 238 145 2 252 154 1 252 154 1 +252 154 1 252 154 1 252 137 0 198 112 6 178 116 9 173 86 8 +69 44 21 43 33 24 9 20 28 17 22 27 22 25 27 23 25 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 23 25 27 22 25 27 16 21 27 10 17 28 +46 40 24 86 62 19 153 108 13 178 116 9 227 131 4 252 154 1 +252 154 1 252 154 1 252 154 1 249 147 1 227 131 4 198 112 6 +173 86 8 108 69 17 57 39 22 16 21 27 13 20 27 21 23 27 +18 22 27 22 25 27 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 +214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 +13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 +30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 +221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 +106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 +201 200 194 35 37 38 20 22 24 0 0 0 0 0 0 21 23 24 +26 28 30 191 190 185 215 214 208 210 209 203 210 209 203 210 209 203 +210 209 203 217 215 209 188 188 182 14 16 17 13 15 17 23 25 26 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 23 25 26 19 21 22 12 14 15 21 23 24 0 0 0 +0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 +210 209 203 210 209 203 227 226 219 75 76 76 16 18 19 22 24 25 +14 16 17 155 156 152 221 220 213 210 209 203 210 209 203 210 209 203 +210 209 203 222 220 214 115 115 113 5 8 10 23 25 26 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 +223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 204 202 197 +4 6 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +23 25 26 14 16 17 85 86 85 228 227 220 210 209 203 210 209 203 +210 209 203 210 209 203 212 211 205 208 207 200 51 52 52 9 12 13 +23 25 26 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +23 25 26 9 12 13 43 44 44 217 216 210 212 211 205 210 209 203 +210 209 203 210 209 203 210 209 203 225 224 217 85 86 85 14 16 17 +0 0 0 0 0 0 0 0 0 22 24 25 15 17 19 139 140 136 +221 220 213 210 209 203 210 209 203 210 209 203 210 209 203 226 224 218 +97 97 95 14 16 18 12 14 15 100 100 100 218 216 210 210 209 203 +210 209 203 210 209 203 211 210 204 220 219 212 75 76 76 13 15 16 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +22 25 27 14 20 27 26 27 26 119 81 15 178 116 9 238 145 2 +244 155 3 252 154 1 246 155 2 242 147 2 242 147 2 245 138 1 +239 136 1 245 138 1 239 136 1 252 137 0 246 126 1 245 138 1 +233 126 1 198 112 6 148 72 11 46 40 24 18 23 27 18 24 27 +23 25 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 23 25 27 18 23 27 18 22 27 70 55 22 148 89 12 +228 138 5 242 153 2 252 154 1 252 154 1 249 147 1 242 147 2 +245 138 1 239 136 1 245 138 1 239 133 2 245 138 1 245 138 1 +252 137 0 241 129 1 233 126 1 173 86 8 86 62 19 26 27 26 +14 22 27 23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 +214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 +13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 +30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 +221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 +106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 +201 200 194 35 37 38 20 22 24 0 0 0 0 0 0 14 16 17 +100 100 100 217 215 209 210 209 203 210 209 203 210 209 203 210 209 203 +214 213 207 194 194 188 47 49 49 16 18 19 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 +210 209 203 210 209 203 225 224 217 75 76 76 17 19 21 12 14 15 +97 97 95 213 212 206 211 210 204 210 209 203 210 209 203 210 209 203 +219 218 211 155 156 152 20 22 23 22 24 25 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 +223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 208 207 200 +4 6 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +22 24 25 22 24 25 155 156 152 218 216 210 210 209 203 210 209 203 +210 209 203 210 209 203 223 222 215 100 100 100 14 16 18 23 25 26 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 23 25 26 8 10 12 115 115 113 216 216 210 210 209 203 +210 209 203 210 209 203 210 209 203 217 216 210 155 156 152 14 16 17 +23 25 26 0 0 0 0 0 0 0 0 0 19 21 22 35 37 38 +216 215 208 212 211 205 210 209 203 210 209 203 210 209 203 215 213 207 +186 185 180 26 28 30 15 17 18 201 200 194 213 212 206 210 209 203 +210 209 203 210 209 203 219 218 211 155 156 152 16 18 19 22 24 25 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 23 25 27 18 22 27 +10 17 28 86 62 19 198 140 8 251 162 2 250 164 3 246 155 2 +243 153 2 242 151 2 242 147 2 242 147 2 242 147 2 239 136 1 +245 138 1 239 136 1 239 133 2 239 133 2 239 133 2 241 129 1 +241 129 1 246 126 1 252 137 0 225 114 1 148 72 11 26 27 26 +9 20 28 22 25 27 24 26 27 24 26 27 24 26 27 24 26 27 +22 25 27 10 17 28 26 27 26 178 116 9 239 160 4 254 162 1 +247 162 2 243 152 2 243 152 2 242 151 2 242 147 2 238 145 2 +245 138 1 238 145 2 239 136 1 239 136 1 239 133 2 239 133 2 +241 129 1 239 126 1 239 126 1 252 126 0 242 125 0 196 92 5 +69 44 21 9 20 28 18 24 27 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 +214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 +13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 +30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 +221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 +106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 +201 200 194 35 37 38 20 22 24 0 0 0 0 0 0 1 3 5 +186 185 180 215 214 208 210 209 203 210 209 203 210 209 203 210 209 203 +222 221 214 85 86 85 9 12 13 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 +210 209 203 210 209 203 227 226 219 75 76 76 12 14 15 21 23 24 +210 209 203 214 213 206 210 209 203 210 209 203 210 209 203 214 213 207 +201 200 194 47 48 48 17 19 21 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 +223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 208 207 200 +4 6 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +19 21 23 43 44 44 208 207 200 212 211 205 210 209 203 210 209 203 +210 209 203 213 212 206 204 202 197 10 13 14 22 24 25 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 20 22 23 35 37 38 199 199 193 213 212 206 +210 209 203 210 209 203 210 209 203 214 212 206 201 200 194 43 44 44 +20 22 23 0 0 0 0 0 0 0 0 0 0 0 0 8 10 12 +123 124 122 220 219 212 210 209 203 210 209 203 210 209 203 210 209 203 +220 219 212 75 76 76 85 86 85 226 224 218 210 209 203 210 209 203 +210 209 203 212 211 205 223 222 215 34 35 36 18 20 22 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 22 25 27 13 20 27 35 31 25 +198 140 8 250 168 2 254 162 1 244 158 4 244 157 4 242 153 2 +243 152 2 242 151 2 242 147 2 242 147 2 242 147 2 239 136 1 +238 145 2 245 138 1 239 133 2 239 133 2 241 129 1 241 129 1 +239 126 1 239 123 2 239 123 2 242 125 0 252 126 0 252 126 0 +85 50 19 9 20 28 21 23 27 23 25 27 23 25 27 18 23 27 +12 18 27 119 81 15 249 174 4 254 162 1 248 161 3 244 157 4 +241 156 2 243 152 2 243 152 2 242 147 2 242 147 2 242 147 2 +245 138 1 239 136 1 245 138 1 239 133 2 239 136 1 241 129 1 +241 129 1 239 126 1 239 126 1 239 123 2 239 123 2 246 126 1 +252 126 0 173 86 8 35 31 25 13 20 27 23 25 27 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 +214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 +13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 +30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 +221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 +106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 +201 200 194 35 37 38 20 22 24 0 0 0 20 22 23 38 39 40 +219 218 211 211 210 204 210 209 203 210 209 203 210 209 203 215 214 208 +178 178 173 22 24 25 21 23 24 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 +210 209 203 210 209 203 225 224 217 75 76 76 9 12 13 167 167 162 +219 218 211 210 209 203 210 209 203 210 209 203 212 211 205 222 221 214 +63 65 64 12 14 15 23 25 26 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 +223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 208 207 200 +1 3 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +14 16 17 97 97 95 222 220 214 210 209 203 210 209 203 210 209 203 +210 209 203 217 216 210 115 115 113 10 13 14 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 5 8 10 139 140 136 219 218 211 +210 209 203 210 209 203 210 209 203 210 209 203 217 215 209 85 86 85 +15 17 18 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 +23 25 26 186 185 180 217 215 209 210 209 203 210 209 203 210 209 203 +215 214 208 167 167 162 155 156 152 217 215 209 210 209 203 210 209 203 +210 209 203 219 218 211 115 115 113 8 10 12 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 23 25 27 12 18 27 86 62 19 239 160 4 +250 168 3 247 162 2 244 158 4 244 158 4 244 157 4 242 153 2 +243 152 2 242 151 2 242 147 2 242 147 2 242 147 2 238 145 2 +245 138 1 239 136 1 239 133 2 239 133 2 239 133 2 239 126 1 +241 129 1 239 123 2 239 123 2 237 120 0 238 117 1 238 118 0 +247 119 0 173 86 8 16 21 27 18 24 27 18 22 27 21 23 27 +198 140 8 250 168 2 250 164 3 244 158 4 244 158 4 244 157 4 +244 155 3 242 151 2 243 152 2 242 147 2 238 145 2 242 147 2 +245 138 1 238 145 2 239 136 1 239 136 1 239 133 2 239 133 2 +239 133 2 239 126 1 239 123 2 239 123 2 239 123 2 238 117 1 +238 118 0 247 119 0 223 98 1 57 39 22 16 21 27 23 25 27 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 +214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 +13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 +30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 +221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 +106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 +201 200 194 35 37 38 20 22 24 0 0 0 16 18 19 75 76 76 +225 224 217 210 209 203 210 209 203 210 209 203 210 209 203 222 220 214 +108 109 107 14 16 17 23 25 26 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 +210 209 203 210 209 203 226 224 218 63 65 64 97 97 95 219 218 211 +210 209 203 210 209 203 210 209 203 210 209 203 219 218 211 123 124 122 +5 8 10 23 25 26 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 +223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 204 202 197 +0 0 0 13 15 16 13 15 16 13 15 16 13 15 16 13 15 16 +13 15 16 13 15 16 13 15 16 18 20 22 0 0 0 0 0 0 +9 12 13 139 140 136 219 218 211 210 209 203 210 209 203 210 209 203 +211 210 204 211 210 204 63 65 64 17 19 21 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 17 19 21 85 86 85 219 218 211 +210 209 203 210 209 203 210 209 203 210 209 203 218 216 210 115 115 113 +12 14 15 0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 +13 15 16 85 86 85 217 215 209 211 210 204 210 209 203 210 209 203 +210 209 203 208 207 200 208 207 200 210 209 203 210 209 203 210 209 203 +217 215 209 178 178 173 26 28 30 21 23 24 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 22 25 27 4 11 29 108 69 17 249 174 4 250 168 3 +245 163 4 244 163 4 244 157 4 244 158 4 244 157 4 242 153 2 +243 152 2 242 151 2 242 147 2 242 147 2 245 138 1 239 136 1 +238 145 2 245 138 1 239 133 2 239 133 2 239 133 2 241 129 1 +239 126 1 239 123 2 239 123 2 237 120 0 238 117 1 238 117 1 +240 113 0 247 119 0 196 92 5 4 17 28 26 27 26 198 140 8 +251 178 1 250 164 3 245 163 4 244 158 4 244 158 4 244 158 4 +241 156 2 242 151 2 243 152 2 242 151 2 242 147 2 242 147 2 +245 138 1 238 145 2 239 136 1 245 138 1 239 133 2 239 133 2 +241 129 1 239 126 1 239 123 2 239 126 1 239 123 2 237 117 0 +238 117 1 238 117 1 247 119 0 236 112 1 69 44 21 9 20 28 +23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 +214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 +13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 +30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 +221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 +106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 +201 200 194 35 37 38 20 22 24 0 0 0 12 14 15 106 108 104 +222 221 214 210 209 203 210 209 203 210 209 203 210 209 203 224 222 216 +75 76 76 15 17 18 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 +210 209 203 210 209 203 221 220 213 97 97 95 194 194 188 214 213 206 +210 209 203 210 209 203 210 209 203 220 219 212 167 167 162 18 20 22 +23 25 26 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 +223 222 215 210 209 203 210 209 203 210 209 203 211 210 204 204 202 197 +100 100 100 108 109 107 108 109 107 108 109 107 108 109 107 108 109 107 +108 109 107 108 109 107 115 115 113 63 65 64 18 20 22 23 25 26 +8 10 12 155 156 152 217 216 210 210 209 203 210 209 203 210 209 203 +212 211 205 199 199 193 47 48 48 19 21 22 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 18 20 22 51 52 52 217 215 209 +211 210 204 210 209 203 210 209 203 210 209 203 217 215 209 139 140 136 +12 14 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +22 24 25 18 20 22 167 167 162 217 216 210 210 209 203 210 209 203 +210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 211 210 204 +221 220 213 75 76 76 14 16 17 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +22 25 27 9 20 28 119 81 15 252 181 4 245 167 3 244 163 4 +245 163 4 244 163 4 244 158 4 244 158 4 244 157 4 242 153 2 +243 152 2 242 151 2 242 147 2 242 147 2 242 147 2 238 145 2 +245 138 1 239 136 1 239 133 2 239 133 2 239 133 2 239 126 1 +239 126 1 239 126 1 239 123 2 237 120 0 238 117 1 238 117 1 +238 116 1 237 111 1 240 113 0 196 92 5 228 138 5 251 178 1 +245 167 3 245 163 4 245 163 4 244 158 4 244 158 4 244 157 4 +241 156 2 243 152 2 243 152 2 242 147 2 242 147 2 238 145 2 +245 138 1 239 136 1 245 138 1 239 133 2 239 133 2 241 129 1 +239 133 2 239 126 1 239 126 1 239 123 2 239 123 2 238 117 1 +238 117 1 238 116 1 236 112 1 240 113 0 249 114 0 85 50 19 +9 20 28 23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 +214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 +13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 +30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 +221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 +106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 +201 200 194 35 37 38 20 22 24 23 25 26 17 19 21 139 140 136 +219 218 211 210 209 203 210 209 203 210 209 203 210 209 203 221 220 213 +38 39 40 19 21 23 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 +210 209 203 210 209 203 212 211 205 178 178 173 214 213 206 210 209 203 +210 209 203 210 209 203 214 212 206 186 185 180 26 28 30 18 20 22 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 +223 222 215 210 209 203 210 209 203 210 209 203 210 209 203 211 210 204 +223 222 215 222 220 214 224 222 216 224 222 216 224 222 216 224 222 216 +224 222 216 222 220 214 236 234 227 123 124 122 12 14 15 22 24 25 +21 24 26 178 178 173 215 214 208 210 209 203 210 209 203 210 209 203 +214 213 206 188 188 182 30 32 33 21 23 24 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 20 22 23 38 39 40 208 207 200 +212 211 205 210 209 203 210 209 203 210 209 203 219 218 211 155 156 152 +8 10 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 18 20 22 38 39 40 220 219 212 211 210 204 210 209 203 +210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 218 216 210 +139 140 136 14 16 17 23 25 26 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 27 +12 18 27 108 69 17 248 180 4 249 174 4 245 167 3 243 165 4 +245 163 4 244 163 4 244 157 4 244 158 4 244 157 4 242 153 2 +243 152 2 242 151 2 242 147 2 242 147 2 242 147 2 239 136 1 +245 138 1 239 136 1 239 133 2 239 133 2 239 133 2 241 129 1 +239 126 1 239 123 2 239 123 2 237 120 0 238 117 1 238 117 1 +238 116 1 237 110 0 237 111 1 245 163 4 245 174 5 244 167 4 +245 167 3 245 163 4 245 163 4 244 158 4 244 158 4 244 158 4 +241 156 2 242 151 2 243 152 2 242 151 2 242 147 2 242 147 2 +238 145 2 238 145 2 239 136 1 239 136 1 239 136 1 239 133 2 +241 129 1 239 126 1 239 123 2 239 123 2 239 123 2 237 117 0 +238 117 1 238 116 1 236 112 1 237 111 1 240 113 0 249 107 0 +69 44 21 14 22 27 23 25 27 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 +214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 +13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 +30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 +221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 +106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 +201 200 194 35 37 38 20 22 24 21 24 26 19 21 22 139 140 136 +221 219 213 210 209 203 210 209 203 210 209 203 211 210 204 216 215 208 +30 32 33 21 23 24 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 +210 209 203 210 209 203 210 209 203 211 210 204 211 210 204 210 209 203 +210 209 203 210 209 203 213 212 206 189 188 183 35 37 38 18 20 22 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 +223 222 215 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 222 220 214 115 115 113 12 14 15 21 23 24 +30 32 32 186 185 180 213 213 206 210 209 203 210 209 203 210 209 203 +215 213 207 178 178 173 21 24 26 22 24 25 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 20 22 23 35 37 38 201 200 194 +212 211 205 210 209 203 210 209 203 210 209 203 217 215 209 178 178 173 +5 8 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 23 25 26 4 6 8 155 156 152 212 211 205 210 209 203 +210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 218 216 210 +43 44 44 15 17 19 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 14 22 27 +58 46 23 239 160 4 249 174 4 245 167 3 245 170 5 244 163 4 +245 163 4 244 163 4 244 158 4 244 158 4 244 157 4 242 153 2 +243 152 2 242 151 2 249 147 1 252 154 1 249 147 1 252 154 1 +252 154 1 249 147 1 252 137 0 245 138 1 241 129 1 241 129 1 +239 126 1 239 126 1 239 123 2 237 120 0 238 117 1 238 117 1 +237 114 1 237 109 1 242 151 2 248 180 4 245 167 3 244 167 4 +244 167 4 245 163 4 245 163 4 244 158 4 244 158 4 244 157 4 +244 155 3 242 151 2 242 151 2 242 151 2 249 147 1 252 154 1 +249 147 1 249 147 1 252 154 1 252 137 0 252 137 0 239 133 2 +239 133 2 239 126 1 239 126 1 239 123 2 239 123 2 238 117 1 +238 117 1 238 116 1 236 112 1 237 111 1 237 109 1 249 107 0 +196 92 5 35 31 25 17 22 27 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 +214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 +13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 +30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 +221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 +106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 +201 200 194 35 37 38 20 22 24 22 24 25 23 25 27 155 156 152 +217 216 210 210 209 203 210 209 203 210 209 203 211 210 204 217 216 210 +34 35 36 20 22 23 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 +210 209 203 210 209 203 214 213 207 167 167 162 214 213 207 210 209 203 +210 209 203 210 209 203 210 209 203 219 218 211 155 156 152 9 12 13 +22 24 25 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 +223 222 215 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 221 220 213 115 115 113 12 14 15 21 23 24 +30 32 32 186 185 180 214 213 207 210 209 203 210 209 203 210 209 203 +214 213 207 186 185 180 26 28 30 21 23 24 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 20 22 23 35 37 38 201 200 194 +212 211 205 210 209 203 210 209 203 210 209 203 217 215 209 155 156 152 +8 10 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 20 22 23 17 19 21 199 199 193 213 212 206 210 209 203 +210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 221 219 213 +123 124 122 14 16 17 23 25 26 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 21 23 27 16 21 27 +198 140 8 252 181 4 246 172 5 245 167 3 245 170 5 244 163 4 +245 163 4 244 163 4 244 157 4 244 158 4 244 157 4 243 153 2 +252 154 1 254 162 1 198 140 8 178 116 9 148 72 11 70 55 22 +70 55 22 108 69 17 173 86 8 178 116 9 252 137 0 252 137 0 +241 129 1 239 123 2 239 123 2 237 120 0 238 117 1 238 117 1 +237 110 0 239 136 1 245 174 5 246 172 5 245 167 3 244 167 4 +244 167 4 245 163 4 245 163 4 244 158 4 244 158 4 244 158 4 +241 156 2 246 155 2 254 162 1 242 147 2 178 116 9 153 108 13 +111 56 15 70 55 22 85 50 19 148 89 12 178 116 9 225 114 1 +252 137 0 241 129 1 239 126 1 239 123 2 239 123 2 237 117 0 +238 117 1 238 116 1 236 112 1 237 111 1 237 109 1 236 106 0 +249 107 0 173 86 8 21 23 27 22 25 27 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 +214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 +13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 +30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 +221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 +106 107 104 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 +201 200 194 35 37 38 20 22 24 23 25 26 17 19 21 139 140 136 +219 218 211 210 209 203 210 209 203 210 209 203 210 209 203 222 221 214 +47 48 48 19 21 22 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 +210 209 203 210 209 203 222 220 214 85 86 85 191 190 185 215 213 207 +210 209 203 210 209 203 210 209 203 210 209 203 221 219 213 123 124 122 +5 8 10 23 25 26 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 +223 222 215 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +214 213 207 214 213 207 214 213 207 214 213 207 214 213 207 214 213 207 +214 213 207 214 213 207 226 224 218 115 115 113 12 14 15 22 24 25 +21 23 24 178 178 173 214 213 207 210 209 203 210 209 203 210 209 203 +213 212 206 191 190 185 34 35 36 20 22 23 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 19 21 23 43 44 44 213 211 204 +211 210 204 210 209 203 210 209 203 210 209 203 217 215 209 139 140 136 +12 14 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +22 24 25 15 17 19 155 156 152 219 218 211 210 209 203 210 209 203 +210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 211 210 204 +220 219 212 63 65 64 15 17 18 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 23 25 27 18 24 27 119 81 15 +252 181 4 249 174 4 245 170 5 245 167 3 245 167 3 244 163 4 +245 163 4 244 163 4 244 158 4 244 158 4 244 158 4 254 162 1 +198 112 6 86 62 19 35 31 25 12 18 27 18 24 27 21 23 27 +20 22 26 17 22 27 17 22 27 20 22 26 57 39 22 148 89 12 +241 129 1 246 126 1 239 123 2 237 120 0 238 117 1 237 117 0 +237 117 0 246 172 5 245 174 5 246 172 5 245 167 3 244 167 4 +244 167 4 245 163 4 245 163 4 244 158 4 244 158 4 244 157 4 +254 162 1 242 147 2 119 81 15 57 39 22 21 23 27 17 21 27 +17 22 27 18 22 27 16 21 27 17 21 27 12 18 27 29 29 28 +108 69 17 198 112 6 252 126 0 242 125 0 239 123 2 238 117 1 +238 117 1 238 116 1 236 112 1 237 111 1 237 109 1 235 106 1 +238 106 0 236 99 0 111 56 15 9 20 28 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 +214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 +13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 +30 32 33 189 188 183 214 213 206 210 209 203 210 209 203 210 209 203 +221 219 213 123 124 122 12 14 15 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 17 +104 105 103 216 216 210 210 209 203 210 209 203 210 209 203 212 211 205 +201 200 194 35 37 38 20 22 24 23 25 26 15 17 19 123 124 122 +221 219 213 210 209 203 210 209 203 210 209 203 210 209 203 226 224 218 +75 76 76 15 17 18 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 +210 209 203 210 209 203 227 226 219 63 65 64 85 86 85 217 216 210 +211 210 204 210 209 203 210 209 203 210 209 203 211 210 204 217 216 210 +63 65 64 17 19 21 23 25 26 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 +223 222 215 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +186 185 180 186 185 180 186 185 180 186 185 180 186 185 180 186 185 180 +186 185 180 186 185 180 194 194 188 104 105 103 14 16 18 23 25 26 +12 14 15 155 156 152 217 215 209 210 209 203 210 209 203 210 209 203 +212 211 205 208 207 200 51 52 52 18 20 22 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 15 17 19 75 76 76 217 215 209 +210 209 203 210 209 203 210 209 203 210 209 203 217 215 209 123 124 122 +12 14 15 0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 +14 16 17 75 76 76 213 213 206 211 210 204 210 209 203 210 209 203 +210 209 203 208 207 200 210 209 203 210 209 203 210 209 203 210 209 203 +215 213 207 178 178 173 21 23 24 21 23 24 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 18 22 27 43 33 24 239 160 4 +248 180 4 245 174 5 245 170 5 245 167 3 245 170 5 245 163 4 +245 163 4 244 163 4 244 157 4 251 162 2 254 162 1 119 81 15 +14 22 27 14 20 27 21 23 27 23 25 27 23 25 27 23 25 27 +23 25 27 23 25 27 23 25 27 22 25 27 17 21 27 4 17 28 +57 39 22 198 112 6 252 126 0 239 123 2 238 117 1 237 112 0 +242 147 2 248 180 4 246 172 5 246 172 5 245 167 3 244 167 4 +244 167 4 245 163 4 245 163 4 244 158 4 247 162 2 250 168 2 +198 112 6 46 40 24 10 17 28 18 22 27 22 25 27 23 25 27 +23 25 27 23 25 27 23 25 27 23 25 27 22 25 27 21 23 27 +9 20 28 21 23 27 148 72 11 252 137 0 242 125 0 238 117 1 +238 117 1 238 116 1 236 112 1 237 111 1 237 109 1 235 106 1 +236 103 0 241 105 0 196 92 5 18 22 27 22 25 27 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 +214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 +13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 +31 33 34 189 189 185 214 213 206 210 209 203 210 209 203 210 209 203 +220 219 212 123 124 122 10 13 14 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 14 15 +115 115 113 216 215 208 210 209 203 210 209 203 210 209 203 213 212 206 +194 194 188 31 33 34 21 23 24 0 0 0 13 15 16 104 105 103 +223 222 215 210 209 203 210 209 203 210 209 203 210 209 203 220 219 212 +123 124 122 16 18 19 23 25 26 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 +210 209 203 210 209 203 225 224 217 75 76 76 8 10 12 155 156 152 +220 219 212 210 209 203 210 209 203 210 209 203 210 209 203 217 215 209 +186 185 180 21 24 26 20 22 23 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 +223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 204 202 197 +0 0 0 5 8 10 5 8 10 5 8 10 5 8 10 5 8 10 +5 8 10 5 8 10 5 8 10 14 16 17 0 0 0 0 0 0 +10 13 14 139 140 136 220 219 212 210 209 203 210 209 203 210 209 203 +210 209 203 216 215 208 85 86 85 15 17 19 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 12 14 15 108 109 107 221 219 213 +210 209 203 210 209 203 210 209 203 211 210 204 217 215 209 85 86 85 +14 16 17 0 0 0 0 0 0 0 0 0 0 0 0 21 23 24 +22 24 25 186 185 180 217 215 209 210 209 203 210 209 203 210 209 203 +216 216 210 155 156 152 204 202 197 211 210 204 210 209 203 210 209 203 +210 209 203 217 216 210 104 105 103 9 12 13 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 23 25 27 18 24 27 119 81 15 250 181 3 +245 174 5 246 172 5 245 170 5 245 167 3 245 167 3 244 163 4 +245 163 4 244 158 4 250 168 3 228 138 5 58 46 23 4 17 28 +22 25 27 26 28 30 23 25 27 26 28 30 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 23 25 27 22 25 27 +16 21 27 14 22 27 148 72 11 252 126 0 238 117 1 237 117 0 +248 180 4 245 174 5 246 172 5 246 172 5 245 167 3 244 167 4 +244 167 4 245 163 4 245 163 4 247 162 2 244 163 4 148 89 12 +4 17 28 16 21 27 22 25 27 23 25 27 26 28 30 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +23 25 27 18 24 27 4 17 28 85 50 19 237 117 0 242 125 0 +238 117 1 238 116 1 236 112 1 237 111 1 237 109 1 235 106 1 +236 106 0 236 101 0 249 107 0 85 50 19 17 22 27 23 25 27 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 +214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 +13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 24 25 +23 25 26 178 178 173 215 214 208 210 209 203 210 209 203 210 209 203 +217 215 209 155 156 152 9 12 13 23 25 26 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 10 12 +139 140 136 217 215 209 210 209 203 210 209 203 210 209 203 216 215 208 +178 178 173 26 28 30 21 23 24 0 0 0 17 19 21 63 65 64 +224 222 216 210 209 203 210 209 203 210 209 203 210 209 203 215 213 207 +201 200 194 35 37 38 19 21 22 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 +210 209 203 210 209 203 225 224 217 75 76 76 12 14 15 14 16 18 +201 200 194 215 213 207 210 209 203 210 209 203 210 209 203 210 209 203 +222 220 214 155 156 152 13 15 17 22 24 25 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 +223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 208 207 200 +4 6 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +13 15 16 97 97 95 220 219 212 210 209 203 210 209 203 210 209 203 +210 209 203 218 216 210 167 167 162 4 6 8 23 25 26 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 22 24 25 13 15 17 178 178 173 216 215 208 +210 209 203 210 209 203 210 209 203 212 211 205 201 200 194 43 44 44 +19 21 22 0 0 0 0 0 0 0 0 0 23 25 26 5 8 10 +139 140 136 219 218 211 210 209 203 210 209 203 210 209 203 212 211 205 +210 209 203 51 52 52 167 167 162 217 215 209 210 209 203 210 209 203 +210 209 203 212 211 205 219 218 211 30 32 33 19 21 22 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 21 23 27 35 31 25 198 140 8 252 181 4 +248 180 4 246 172 5 245 170 5 245 167 3 245 170 5 245 163 4 +245 163 4 247 162 2 244 158 4 58 46 23 14 22 27 23 25 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +23 25 27 18 24 27 14 22 27 173 86 8 238 118 0 242 147 2 +248 180 4 245 174 5 245 174 5 246 172 5 245 167 3 244 167 4 +244 167 4 245 163 4 247 162 2 250 164 3 148 89 12 9 20 28 +18 24 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 22 25 27 9 20 28 85 50 19 238 119 0 +238 119 0 238 116 1 236 112 1 237 111 1 237 109 1 235 106 1 +236 106 0 236 101 0 249 107 0 173 86 8 29 29 28 21 23 27 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 +214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 +13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 +9 12 13 155 156 152 219 218 211 210 209 203 210 209 203 210 209 203 +214 213 207 188 188 182 30 32 32 20 22 24 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 5 8 10 +186 185 180 213 212 206 210 209 203 210 209 203 210 209 203 217 216 210 +155 156 152 21 23 24 22 24 25 0 0 0 22 24 25 14 16 17 +208 207 200 212 211 205 210 209 203 210 209 203 210 209 203 210 209 203 +219 218 211 123 124 122 12 14 15 23 25 26 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 +210 209 203 210 209 203 225 224 217 75 76 76 17 19 21 14 16 17 +75 76 76 212 210 204 212 211 205 210 209 203 210 209 203 210 209 203 +211 210 204 217 215 209 108 109 107 8 10 12 23 25 26 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 +223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 208 207 200 +4 6 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +20 22 23 38 39 40 204 202 197 212 211 205 210 209 203 210 209 203 +210 209 203 211 210 204 221 219 213 47 49 49 17 19 21 23 25 26 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 14 16 18 75 76 76 210 209 203 211 210 204 +210 209 203 210 209 203 210 209 203 217 216 210 167 167 162 15 17 19 +21 24 26 0 0 0 0 0 0 23 25 26 17 19 21 51 52 52 +224 222 216 211 210 204 210 209 203 210 209 203 210 209 203 220 219 212 +139 140 136 9 12 13 75 76 76 221 220 213 210 209 203 210 209 203 +210 209 203 210 209 203 220 219 212 139 140 136 19 21 23 22 24 25 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 18 24 27 70 55 22 248 180 4 252 181 4 +245 174 5 246 172 5 245 170 5 245 167 3 245 167 3 244 163 4 +245 163 4 245 167 3 108 69 17 10 17 28 23 25 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 23 25 27 14 22 27 43 33 24 198 112 6 250 164 3 +248 180 4 245 174 5 246 172 5 246 172 5 245 167 3 244 167 4 +245 167 3 243 165 4 254 162 1 198 140 8 26 27 26 18 24 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 22 25 27 14 20 27 108 69 17 +252 126 0 238 116 1 236 112 1 237 111 1 237 109 1 235 106 1 +236 106 0 236 99 0 236 99 0 223 98 1 57 39 22 18 24 27 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 +214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 106 107 104 +13 15 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +14 16 17 123 124 122 221 219 213 210 209 203 210 209 203 210 209 203 +211 210 204 212 211 205 75 76 76 13 15 17 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 15 17 19 43 44 44 +221 219 213 210 209 203 210 209 203 210 209 203 210 209 203 222 221 214 +115 115 113 14 16 17 23 25 26 0 0 0 0 0 0 8 10 12 +155 156 152 219 218 211 210 209 203 210 209 203 210 209 203 210 209 203 +212 211 205 211 210 204 75 76 76 5 8 10 21 24 26 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 22 24 25 16 18 19 22 24 25 0 0 0 +0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 +210 209 203 210 209 203 227 226 219 75 76 76 16 18 19 23 25 26 +10 13 14 139 140 136 224 222 216 210 209 203 210 209 203 210 209 203 +210 209 203 212 211 205 219 218 211 43 44 44 15 17 19 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 +223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 208 207 200 +4 6 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +22 24 25 19 21 23 155 156 152 219 218 211 210 209 203 210 209 203 +210 209 203 210 209 203 217 216 210 167 167 162 13 15 16 20 22 23 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 19 21 22 9 12 13 191 190 185 214 213 207 210 209 203 +210 209 203 210 209 203 210 209 203 222 220 214 85 86 85 14 16 17 +0 0 0 0 0 0 0 0 0 21 23 24 17 19 21 178 178 173 +217 216 210 210 209 203 210 209 203 210 209 203 211 210 204 223 222 215 +35 37 38 17 19 21 4 6 8 186 185 180 217 215 209 210 209 203 +210 209 203 210 209 203 211 210 204 219 218 211 75 76 76 14 16 17 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 14 20 27 86 62 19 248 180 4 248 180 4 +245 174 5 246 172 5 245 170 5 245 167 3 245 170 5 245 163 4 +250 168 3 178 116 9 9 20 28 4 17 28 16 21 27 18 23 27 +22 25 27 23 25 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 23 25 27 12 18 27 85 50 19 250 168 3 +248 180 4 249 174 4 246 172 5 246 172 5 245 167 3 244 167 4 +244 167 4 247 162 2 250 168 2 43 33 24 16 21 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +23 25 27 21 23 27 18 23 27 14 20 27 4 17 28 4 17 28 +225 114 1 240 113 0 236 112 1 237 111 1 237 109 1 235 106 1 +236 106 0 236 101 0 236 100 0 223 98 1 57 39 22 17 21 27 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 +214 213 207 210 209 203 210 209 203 210 209 203 216 216 210 104 105 103 +10 13 14 21 23 24 21 23 24 21 23 24 21 23 24 21 23 24 +21 23 24 21 23 24 21 23 24 21 23 24 23 25 26 0 0 0 +17 19 21 75 76 76 219 218 211 210 209 203 210 209 203 210 209 203 +210 209 203 215 213 207 201 200 194 17 19 21 14 16 18 21 23 24 +23 25 26 23 25 26 21 23 24 15 17 19 20 22 24 167 167 162 +219 218 211 210 209 203 210 209 203 210 209 203 210 209 203 226 224 218 +63 65 64 15 17 19 0 0 0 0 0 0 0 0 0 18 20 22 +51 52 52 210 209 203 212 211 205 210 209 203 210 209 203 210 209 203 +210 209 203 212 211 205 227 226 219 97 97 95 8 10 12 16 18 19 +20 22 23 22 24 25 23 25 26 23 25 26 22 24 25 20 22 24 +19 21 22 10 13 14 16 18 19 97 97 95 31 33 34 22 24 25 +0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 +210 209 203 210 209 203 225 224 217 75 76 76 17 19 21 0 0 0 +21 23 24 18 20 22 178 178 173 217 216 210 210 209 203 210 209 203 +210 209 203 210 209 203 217 215 209 189 188 183 34 35 36 19 21 22 +24 26 27 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 +223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 208 207 200 +1 3 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 17 19 21 51 52 52 225 224 217 211 210 204 210 209 203 +210 209 203 210 209 203 210 209 203 223 222 215 155 156 152 16 18 19 +14 16 18 21 23 24 22 24 25 23 25 26 22 24 25 20 22 23 +12 14 15 24 26 27 167 167 162 221 219 213 210 209 203 210 209 203 +210 209 203 210 209 203 216 215 208 178 178 173 26 28 30 21 23 24 +0 0 0 0 0 0 23 25 26 9 12 13 123 124 122 221 219 213 +210 209 203 210 209 203 210 209 203 210 209 203 219 218 211 123 124 122 +9 12 13 0 0 0 17 19 21 63 65 64 210 209 203 212 211 205 +210 209 203 210 209 203 210 209 203 216 215 208 188 188 182 23 25 26 +21 23 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 18 24 27 58 46 23 244 172 4 251 178 1 +245 174 5 246 172 5 245 170 5 245 167 3 245 167 3 243 165 4 +250 164 3 238 145 2 178 116 9 153 108 13 86 62 19 35 31 25 +22 25 27 10 17 28 14 20 27 23 25 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 21 23 27 14 20 27 198 140 8 +252 181 4 245 174 5 246 172 5 246 172 5 245 167 3 244 167 4 +245 167 3 250 168 2 178 116 9 4 11 29 23 25 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 22 25 27 14 20 27 +10 17 28 26 27 26 43 33 24 86 62 19 153 108 13 178 116 9 +239 136 1 238 116 1 236 112 1 237 111 1 237 109 1 235 106 1 +236 106 0 236 100 0 236 99 0 223 98 1 43 33 24 21 23 27 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 +214 213 207 210 209 203 210 209 203 210 209 203 216 215 208 108 109 107 +22 24 25 31 33 34 31 33 34 31 33 34 31 33 34 31 33 34 +31 33 34 31 33 34 31 33 34 31 33 34 24 26 27 23 25 26 +20 22 23 30 32 32 186 185 180 214 213 207 210 209 203 210 209 203 +210 209 203 210 209 203 219 218 211 178 178 173 63 65 64 26 28 30 +15 17 18 16 18 19 24 26 27 51 52 52 167 167 162 219 218 211 +210 209 203 210 209 203 210 209 203 210 209 203 214 213 207 194 194 188 +5 8 10 23 25 26 0 0 0 0 0 0 0 0 0 23 25 26 +13 15 17 139 140 136 221 219 213 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 211 210 204 215 214 208 167 167 162 63 65 64 +34 35 36 22 24 25 15 17 19 17 19 21 21 23 24 34 35 36 +43 44 44 115 115 113 188 188 182 222 221 214 43 44 44 20 22 23 +0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 +210 209 203 210 209 203 227 226 219 75 76 76 16 18 19 0 0 0 +23 25 26 17 19 21 51 52 52 219 218 211 212 211 205 210 209 203 +210 209 203 210 209 203 210 209 203 222 220 214 139 140 136 12 14 15 +21 24 26 24 26 27 24 26 27 24 26 27 14 16 17 97 97 95 +223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 208 207 200 +4 6 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 23 25 26 5 8 10 155 156 152 218 216 210 210 209 203 +210 209 203 210 209 203 210 209 203 210 209 203 217 215 209 189 188 183 +63 65 64 30 32 33 20 22 23 14 16 18 21 23 24 31 33 34 +85 86 85 189 188 183 217 215 209 210 209 203 210 209 203 210 209 203 +210 209 203 211 210 204 224 222 216 75 76 76 17 19 21 23 25 26 +0 0 0 0 0 0 19 21 22 51 52 52 204 202 197 213 212 206 +210 209 203 210 209 203 210 209 203 214 213 207 194 194 188 38 39 40 +20 22 23 0 0 0 23 25 26 10 13 14 155 156 152 219 218 211 +210 209 203 210 209 203 210 209 203 210 209 203 219 218 211 123 124 122 +8 10 12 23 25 26 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 22 25 27 26 27 26 198 140 8 252 181 4 +249 174 4 246 172 5 245 170 5 245 167 3 245 170 5 245 163 4 +244 158 4 243 153 2 252 154 1 252 154 1 249 147 1 242 151 2 +178 116 9 148 89 12 86 62 19 4 11 29 4 11 29 10 17 28 +16 21 27 21 23 27 23 25 27 23 25 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 23 25 27 12 18 27 86 62 19 +252 181 4 250 181 3 246 172 5 246 172 5 245 167 3 244 167 4 +250 168 3 250 168 2 86 62 19 14 22 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 23 25 27 23 25 27 +21 23 27 14 20 27 12 18 27 4 11 29 4 17 28 86 62 19 +148 89 12 198 140 8 238 145 2 252 154 1 252 154 1 252 154 1 +243 152 2 237 120 0 236 112 1 237 111 1 237 109 1 235 106 1 +236 106 0 236 101 0 241 105 0 173 86 8 20 22 26 21 23 27 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 +214 213 207 210 209 203 210 209 203 210 209 203 211 210 204 194 194 188 +189 188 183 191 190 184 191 190 184 191 190 184 191 190 184 191 190 184 +191 190 184 191 190 184 191 190 185 199 199 193 75 76 76 17 19 21 +23 25 26 14 16 18 108 109 107 226 224 218 210 209 203 210 209 203 +210 209 203 210 209 203 210 209 203 216 215 208 221 220 213 191 190 184 +155 156 152 155 156 152 178 178 173 221 219 213 217 215 209 210 209 203 +210 209 203 210 209 203 210 209 203 210 209 203 221 219 213 104 105 103 +13 15 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +19 21 22 38 39 40 194 194 188 217 215 209 210 209 203 210 209 203 +210 209 203 210 209 203 210 209 203 211 210 204 217 215 209 226 224 218 +201 200 194 167 167 162 155 156 152 155 156 152 167 167 162 194 194 188 +224 222 216 222 220 214 216 215 208 211 210 204 38 39 40 20 22 23 +0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 +210 209 203 210 209 203 225 224 217 75 76 76 17 19 21 0 0 0 +0 0 0 23 25 26 5 8 10 123 124 122 221 220 213 210 209 203 +210 209 203 210 209 203 210 209 203 211 210 204 218 216 210 97 97 95 +9 12 13 23 25 26 24 26 27 24 26 27 14 16 17 97 97 95 +223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 208 207 200 +1 3 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 20 22 23 31 33 34 199 199 193 217 216 210 +210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 215 214 208 +224 222 216 194 194 188 167 167 162 155 156 152 167 167 162 201 200 194 +225 224 217 214 213 207 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 222 221 214 155 156 152 1 3 5 22 24 25 0 0 0 +0 0 0 23 25 26 1 3 5 178 178 173 217 215 209 210 209 203 +210 209 203 210 209 203 210 209 203 222 221 214 115 115 113 9 12 13 +23 25 26 0 0 0 0 0 0 17 19 21 51 52 52 215 213 207 +211 210 204 210 209 203 210 209 203 210 209 203 212 211 205 219 218 211 +31 33 34 18 20 22 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 23 25 27 14 22 27 108 69 17 252 181 4 +249 174 4 246 172 5 245 170 5 245 167 3 245 167 3 244 163 4 +243 152 2 242 151 2 242 151 2 243 152 2 243 153 2 246 155 2 +252 154 1 254 162 1 254 162 1 250 164 3 228 138 5 119 81 15 +86 62 19 29 29 28 10 17 28 17 22 27 22 25 27 23 25 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 4 11 29 +198 140 8 252 181 4 251 178 1 249 174 4 250 168 3 250 168 3 +251 178 1 153 108 13 4 11 29 23 25 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 22 25 27 16 21 27 10 17 28 +35 31 25 86 62 19 119 81 15 242 151 2 254 162 1 254 162 1 +254 162 1 252 154 1 246 155 2 243 152 2 243 152 2 243 152 2 +243 152 2 242 147 2 237 114 1 237 108 0 237 108 0 235 106 1 +236 103 0 236 99 0 249 114 0 69 44 21 17 21 27 23 25 27 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 +214 213 207 210 209 203 210 209 203 210 209 203 210 209 203 212 211 205 +213 212 206 213 212 206 213 212 206 213 212 206 213 212 206 213 212 206 +213 212 206 213 212 206 214 213 207 223 222 215 85 86 85 15 17 19 +0 0 0 22 24 25 10 13 14 194 194 188 217 216 210 210 209 203 +210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 214 212 206 +217 215 209 217 215 209 215 213 207 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 210 209 203 222 220 214 167 167 162 17 19 21 +22 24 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 15 17 19 38 39 40 213 212 206 217 215 209 210 209 203 +210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +212 211 205 216 215 208 217 216 210 217 215 209 217 215 209 214 212 206 +210 209 203 210 209 203 211 210 204 211 210 204 43 44 44 20 22 23 +0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 +210 209 203 210 209 203 227 226 219 75 76 76 16 18 19 0 0 0 +0 0 0 0 0 0 22 24 25 16 18 19 167 167 162 219 218 211 +210 209 203 210 209 203 210 209 203 210 209 203 212 211 205 224 222 216 +43 44 44 17 19 21 23 25 26 24 26 27 14 16 17 97 97 95 +223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 208 207 200 +4 6 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 15 17 18 47 49 49 201 200 194 +217 216 210 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 214 212 206 215 213 207 216 215 208 216 215 208 212 211 205 +210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +224 222 216 155 156 152 14 16 17 22 24 25 0 0 0 0 0 0 +23 25 26 14 16 18 97 97 95 227 226 219 210 209 203 210 209 203 +210 209 203 210 209 203 215 214 208 186 185 180 23 25 26 21 23 24 +0 0 0 0 0 0 0 0 0 23 25 26 16 18 19 123 124 122 +222 220 214 210 209 203 210 209 203 210 209 203 210 209 203 218 216 210 +167 167 162 18 20 22 22 24 25 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 27 35 31 25 198 140 8 +250 168 3 246 172 5 245 170 5 245 167 3 245 163 4 242 153 2 +242 153 2 243 152 2 243 152 2 243 152 2 243 152 2 243 152 2 +243 152 2 243 152 2 243 152 2 243 153 2 246 155 2 254 162 1 +246 155 2 228 138 5 178 116 9 58 46 23 21 23 27 21 23 27 +23 25 27 24 26 27 24 26 27 24 26 27 24 26 27 21 24 26 +17 22 27 119 81 15 228 138 5 245 174 5 244 167 4 198 140 8 +119 81 15 12 18 27 21 23 27 23 25 27 24 26 27 24 26 27 +24 26 27 23 25 27 18 23 27 21 23 27 70 55 22 178 116 9 +238 145 2 251 162 2 254 162 1 246 155 2 243 153 2 243 152 2 +242 151 2 242 151 2 242 151 2 243 152 2 243 152 2 243 152 2 +243 153 2 243 153 2 242 147 2 239 123 2 236 112 1 235 106 1 +237 110 0 246 126 1 198 112 6 14 22 27 22 25 27 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 +214 213 207 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 210 209 203 220 219 212 85 86 85 15 17 19 +0 0 0 0 0 0 16 18 19 63 65 64 194 194 188 218 216 210 +210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 220 219 212 186 185 180 38 39 40 18 20 22 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 13 15 16 63 65 64 191 190 185 220 219 212 +210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 211 210 204 212 210 204 38 39 40 20 22 23 +0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 +210 209 203 210 209 203 225 224 217 75 76 76 17 19 21 0 0 0 +0 0 0 0 0 0 0 0 0 16 18 19 51 52 52 208 207 200 +212 211 205 210 209 203 210 209 203 210 209 203 210 209 203 217 215 209 +178 178 173 26 28 30 20 22 23 24 26 27 14 16 17 97 97 95 +223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 208 207 200 +1 3 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 23 25 26 17 19 21 51 52 52 +199 199 193 219 218 211 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 210 209 203 210 209 203 212 211 205 224 222 216 +139 140 136 26 28 30 19 21 22 0 0 0 0 0 0 0 0 0 +18 20 22 43 44 44 201 200 194 213 212 206 210 209 203 210 209 203 +210 209 203 210 209 203 224 222 216 85 86 85 15 17 19 23 25 26 +0 0 0 0 0 0 0 0 0 0 0 0 19 21 22 35 37 38 +216 215 208 212 211 205 210 209 203 210 209 203 210 209 203 211 210 204 +219 218 211 85 86 85 15 17 18 23 25 26 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 23 25 27 14 20 27 70 55 22 +252 154 1 248 161 3 244 158 4 243 157 2 242 153 2 242 153 2 +242 153 2 242 153 2 242 153 2 242 153 2 242 153 2 242 153 2 +242 153 2 242 153 2 242 153 2 242 153 2 242 153 2 242 153 2 +246 155 2 243 157 2 254 162 1 243 153 2 153 108 13 18 22 27 +17 22 27 23 25 27 24 26 27 24 26 27 24 26 27 24 26 27 +22 25 27 14 22 27 29 29 28 70 55 22 70 55 22 26 27 26 +12 18 27 22 25 27 24 26 27 24 26 27 24 26 27 24 26 27 +23 25 27 14 20 27 21 23 27 178 116 9 252 154 1 254 162 1 +243 157 2 244 155 3 242 153 2 242 153 2 242 153 2 242 153 2 +242 153 2 242 153 2 242 153 2 242 153 2 242 153 2 242 153 2 +242 153 2 242 153 2 244 155 3 243 157 2 242 147 2 242 147 2 +246 155 2 238 145 2 58 46 23 14 22 27 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 24 30 32 32 188 188 182 +214 213 207 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 210 209 203 219 218 211 85 86 85 15 17 19 +0 0 0 0 0 0 0 0 0 13 15 16 51 52 52 194 194 188 +226 224 218 214 213 207 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +216 215 208 227 226 219 186 185 180 26 28 30 17 19 21 23 25 26 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 13 15 17 38 39 40 155 156 152 +236 234 227 219 218 211 212 211 205 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 211 210 204 217 215 209 223 222 215 43 44 44 20 22 23 +0 0 0 21 23 24 26 27 26 213 213 206 211 210 204 210 209 203 +210 209 203 210 209 203 227 226 219 75 76 76 16 18 19 0 0 0 +0 0 0 0 0 0 0 0 0 23 25 26 14 16 17 100 100 100 +228 227 220 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +219 218 211 139 140 136 5 8 10 23 25 26 14 16 17 97 97 95 +223 222 215 210 209 203 210 209 203 210 209 203 212 211 205 208 207 200 +4 6 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 14 16 18 +30 32 33 167 167 162 228 227 220 218 216 210 212 210 204 210 209 203 +210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 210 209 203 +210 209 203 210 209 203 213 212 206 223 222 215 218 216 210 115 115 113 +10 13 14 20 22 23 0 0 0 0 0 0 0 0 0 23 25 26 +8 10 12 155 156 152 221 219 213 210 209 203 210 209 203 210 209 203 +210 209 203 215 214 208 191 190 185 8 10 12 22 24 25 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 10 12 +123 124 122 220 219 212 210 209 203 210 209 203 210 209 203 210 209 203 +217 215 209 191 190 185 29 29 28 20 22 24 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 23 25 27 10 17 28 +86 62 19 242 153 2 251 162 2 244 155 3 244 155 3 244 155 3 +244 155 3 244 155 3 244 155 3 244 155 3 244 155 3 244 155 3 +244 155 3 244 155 3 244 155 3 244 155 3 244 155 3 244 155 3 +244 155 3 244 155 3 244 155 3 246 155 2 254 162 1 228 138 5 +26 27 26 16 21 27 23 25 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 18 24 27 18 24 27 17 21 27 21 23 27 +23 25 27 24 26 27 24 26 27 24 26 27 24 26 27 23 25 27 +12 18 27 58 46 23 228 138 5 254 162 1 244 158 4 244 155 3 +244 155 3 244 155 3 244 155 3 244 155 3 244 155 3 244 155 3 +244 155 3 244 155 3 244 155 3 244 155 3 244 155 3 244 155 3 +244 155 3 244 155 3 244 155 3 244 155 3 244 155 3 254 162 1 +238 145 2 70 55 22 9 20 28 23 25 27 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 21 23 24 31 33 34 204 202 197 +236 234 227 227 226 219 228 227 220 228 227 220 228 227 220 228 227 220 +228 227 220 228 227 220 228 227 220 228 227 220 228 227 220 228 227 220 +228 227 220 228 227 220 228 227 220 236 234 227 85 86 85 17 19 21 +0 0 0 0 0 0 0 0 0 0 0 0 18 20 22 8 10 12 +115 115 113 189 188 183 226 224 218 222 220 214 217 216 210 215 214 208 +215 214 208 215 214 208 216 215 208 219 218 211 224 222 216 224 222 216 +178 178 173 85 86 85 5 8 10 19 21 23 23 25 26 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 19 21 23 1 3 5 +63 65 64 139 140 136 212 211 205 227 226 219 221 219 213 217 215 209 +215 214 208 215 214 208 215 214 208 215 214 208 217 216 210 220 219 212 +226 224 218 220 219 212 178 178 173 104 105 103 26 28 30 22 24 25 +0 0 0 21 23 24 29 29 28 228 227 220 228 227 220 228 227 220 +228 227 220 228 227 220 236 234 227 85 86 85 16 18 19 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 1 3 5 +167 167 162 228 227 220 228 227 220 228 227 220 228 227 220 228 227 220 +228 227 220 236 234 227 115 115 113 14 16 17 14 16 17 104 105 103 +236 234 227 228 227 220 228 227 220 228 227 220 228 227 220 224 222 216 +4 6 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +20 22 23 5 8 10 51 52 52 167 167 162 211 210 204 226 224 218 +219 218 211 217 215 209 215 214 208 215 214 208 215 214 208 217 215 209 +222 220 214 226 224 218 199 199 193 115 115 113 26 28 30 9 12 13 +23 25 26 0 0 0 0 0 0 0 0 0 0 0 0 14 16 18 +108 109 107 236 234 227 228 227 220 228 227 220 228 227 220 228 227 220 +228 227 220 226 224 218 63 65 64 17 19 21 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 22 24 +31 33 34 201 200 194 236 234 227 227 226 219 228 227 220 228 227 220 +228 227 220 236 234 227 167 167 162 9 12 13 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 27 +18 22 27 86 62 19 198 140 8 254 162 1 248 161 3 244 157 4 +244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 +244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 +244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 251 162 2 +198 140 8 35 31 25 18 23 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 17 22 27 +57 39 22 198 140 8 250 164 3 244 158 4 244 157 4 244 157 4 +244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 +244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 244 157 4 +244 157 4 244 157 4 244 157 4 248 161 3 254 162 1 198 140 8 +58 46 23 16 21 27 23 25 27 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 23 25 26 22 25 27 47 48 48 +47 49 49 47 48 48 47 48 48 47 48 48 47 48 48 47 48 48 +47 48 48 47 48 48 47 48 48 47 48 48 47 48 48 47 48 48 +47 48 48 47 48 48 47 49 49 51 52 52 31 33 34 22 24 25 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 24 25 +12 14 15 30 32 32 51 52 52 115 115 113 155 156 152 178 178 173 +178 178 173 178 178 173 167 167 162 155 156 152 97 97 95 47 48 48 +21 23 24 14 16 17 23 25 26 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +17 19 21 18 20 22 38 39 40 63 65 64 123 124 122 167 167 162 +178 178 173 178 178 173 178 178 173 178 178 173 155 156 152 139 140 136 +75 76 76 43 44 44 24 26 27 12 14 15 22 24 25 0 0 0 +0 0 0 23 25 26 23 25 26 47 49 49 47 49 49 47 48 48 +47 48 48 47 49 49 51 52 52 30 32 32 22 24 25 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 22 24 +30 32 32 47 49 49 47 49 49 47 48 48 47 48 48 47 48 48 +47 49 49 51 52 52 47 48 48 20 22 24 22 24 25 34 35 36 +51 52 52 47 49 49 47 48 48 47 48 48 47 49 49 47 49 49 +19 21 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 23 25 26 17 19 21 16 18 19 38 39 40 75 76 76 +139 140 136 167 167 162 178 178 173 178 178 173 178 178 173 167 167 162 +115 115 113 51 52 52 31 33 34 10 13 14 21 23 24 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 24 26 +43 44 44 51 52 52 47 49 49 47 48 48 47 48 48 47 48 48 +47 49 49 47 48 48 24 26 27 23 25 26 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 +19 21 22 38 39 40 47 49 49 47 48 48 47 48 48 47 48 48 +47 48 48 47 49 49 51 52 52 20 22 23 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +22 25 27 17 21 27 35 31 25 153 108 13 241 156 2 250 168 2 +254 162 1 250 164 3 244 158 4 244 158 4 244 158 4 244 158 4 +244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 +244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 +254 162 1 153 108 13 10 17 28 23 25 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 22 25 27 4 11 29 +178 116 9 250 168 3 248 161 3 244 158 4 244 158 4 244 158 4 +244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 +244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 248 161 3 +251 162 2 254 162 1 251 178 1 238 145 2 119 81 15 43 33 24 +16 21 27 23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 23 25 26 20 22 23 +19 21 22 19 21 22 19 21 22 19 21 22 19 21 22 19 21 22 +19 21 22 19 21 22 19 21 22 19 21 22 19 21 22 19 21 22 +19 21 22 19 21 22 19 21 22 19 21 22 22 24 25 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +23 25 26 21 23 24 19 21 22 14 16 17 9 12 13 5 8 10 +5 8 10 5 8 10 8 10 12 8 10 12 13 15 16 19 21 22 +22 24 25 23 25 26 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 23 25 26 20 22 23 18 20 22 13 15 16 8 10 12 +5 8 10 5 8 10 5 8 10 5 8 10 8 10 12 9 12 13 +14 16 18 19 21 23 22 24 25 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 23 25 26 19 21 22 19 21 22 19 21 22 +19 21 22 19 21 22 19 21 22 22 24 25 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +21 23 24 19 21 22 19 21 22 19 21 22 19 21 22 19 21 22 +19 21 22 19 21 22 20 22 24 0 0 0 0 0 0 22 24 25 +19 21 22 19 21 22 19 21 22 19 21 22 19 21 22 19 21 23 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 22 25 27 20 22 23 16 18 19 +10 13 14 8 10 12 5 8 10 5 8 10 5 8 10 8 10 12 +13 15 16 20 22 23 22 24 25 23 25 26 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +21 23 24 19 21 22 19 21 22 19 21 22 19 21 22 19 21 22 +19 21 22 19 21 23 23 25 26 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +23 25 26 20 22 23 19 21 22 19 21 22 19 21 22 19 21 22 +19 21 22 19 21 22 20 22 23 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 23 25 27 20 22 26 10 17 28 20 22 26 70 55 22 +153 108 13 198 140 8 250 164 3 250 168 2 254 162 1 248 161 3 +248 161 3 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 +244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 +248 161 3 248 161 3 86 62 19 12 18 27 23 25 27 24 26 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 24 26 27 23 25 27 14 22 27 108 69 17 +250 168 2 248 161 3 244 158 4 244 158 4 244 158 4 244 158 4 +244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 +244 158 4 248 161 3 251 162 2 250 168 2 250 168 2 251 162 2 +178 116 9 153 108 13 58 46 23 14 22 27 13 20 27 21 23 27 +23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 23 25 27 21 23 27 18 22 27 +12 18 27 20 22 26 43 33 24 86 62 19 178 116 9 228 138 5 +239 160 4 250 168 2 250 164 3 247 162 2 247 162 2 244 158 4 +244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 +244 158 4 250 164 3 198 140 8 21 23 27 21 23 27 23 25 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 23 25 27 18 22 27 43 33 24 228 138 5 +245 167 3 244 158 4 244 158 4 244 158 4 244 158 4 244 158 4 +244 158 4 244 158 4 244 158 4 247 162 2 248 161 3 250 164 3 +254 162 1 241 156 2 228 138 5 153 108 13 70 55 22 46 40 24 +18 22 27 12 18 27 18 22 27 23 25 27 23 25 27 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 27 +23 25 27 23 25 27 18 23 27 9 20 28 4 17 28 9 20 28 +58 46 23 108 69 17 153 108 13 241 156 2 247 162 2 250 168 2 +245 163 4 244 158 4 244 163 4 244 158 4 244 163 4 244 158 4 +244 163 4 248 161 3 250 168 2 119 81 15 14 20 27 23 25 27 +24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 24 26 27 22 25 27 9 20 28 153 108 13 250 168 2 +244 163 4 244 158 4 244 163 4 244 158 4 244 163 4 244 158 4 +244 163 4 250 164 3 250 168 3 241 156 2 239 160 4 153 108 13 +108 69 17 46 40 24 9 20 28 10 17 28 16 21 27 18 23 27 +22 25 27 23 25 27 23 25 27 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 22 25 27 21 24 26 +18 24 27 13 20 27 10 17 28 4 17 28 35 31 25 119 81 15 +244 163 4 250 164 3 244 163 4 245 163 4 245 163 4 245 163 4 +244 158 4 245 163 4 250 164 3 239 160 4 58 46 23 18 22 27 +23 25 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +24 26 27 23 25 27 13 20 27 86 62 19 245 163 4 247 162 2 +245 163 4 245 163 4 245 163 4 245 163 4 245 163 4 245 163 4 +250 164 3 228 138 5 119 81 15 26 28 30 4 11 29 4 17 28 +9 20 28 18 23 27 22 25 27 22 25 27 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 23 25 27 18 22 27 4 17 28 +119 81 15 250 164 3 245 163 4 244 158 4 245 163 4 245 163 4 +245 163 4 245 163 4 245 163 4 250 168 2 178 116 9 22 25 27 +21 23 27 24 26 27 24 26 27 24 26 27 24 26 27 24 26 27 +23 25 27 21 23 27 20 22 26 198 140 8 250 168 3 245 163 4 +245 163 4 245 163 4 244 158 4 245 163 4 245 163 4 247 162 2 +245 167 3 86 62 19 9 20 28 18 23 27 22 25 27 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 23 27 +24 26 27 198 140 8 250 168 2 245 163 4 245 163 4 245 163 4 +245 163 4 245 163 4 245 163 4 245 167 3 250 168 2 86 62 19 +14 22 27 23 25 27 24 26 27 24 26 27 24 26 27 24 26 27 +23 25 27 10 17 28 108 69 17 252 181 4 250 164 3 245 163 4 +245 163 4 245 163 4 245 163 4 245 163 4 245 163 4 249 174 4 +178 116 9 22 25 27 22 25 27 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 27 +14 20 27 58 46 23 239 160 4 250 168 3 243 165 4 243 165 4 +243 165 4 243 165 4 245 167 3 245 163 4 250 168 3 249 174 4 +18 22 27 21 23 27 24 26 27 24 26 27 24 26 27 24 26 27 +17 22 27 46 40 24 250 168 2 250 168 3 243 165 4 243 165 4 +243 165 4 243 165 4 243 165 4 243 165 4 250 168 3 239 160 4 +29 29 28 17 22 27 23 25 27 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +22 25 27 17 22 27 119 81 15 251 178 1 245 167 3 245 167 3 +244 167 4 244 167 4 244 167 4 244 167 4 245 167 3 251 178 1 +153 108 13 12 18 27 23 25 27 24 26 27 24 26 27 22 25 27 +10 17 28 198 140 8 250 168 2 244 167 4 244 167 4 244 167 4 +244 167 4 244 167 4 244 167 4 245 167 3 250 168 3 119 81 15 +9 20 28 23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 22 25 27 26 27 26 239 160 4 249 174 4 245 167 3 +245 167 3 245 167 3 245 167 3 245 167 3 244 167 4 250 168 3 +251 178 1 58 46 23 12 18 27 23 25 27 23 25 27 4 17 28 +108 69 17 249 174 4 245 167 3 245 167 3 244 167 4 244 167 4 +245 167 3 245 167 3 245 167 3 251 178 1 198 140 8 24 26 27 +21 23 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 12 18 27 86 62 19 250 168 3 250 168 3 +245 167 3 245 167 3 245 167 3 245 167 3 245 167 3 245 167 3 +249 174 4 239 160 4 29 29 28 10 17 28 10 17 28 35 31 25 +249 174 4 250 168 3 245 167 3 245 167 3 245 167 3 245 167 3 +245 167 3 245 167 3 250 168 3 245 167 3 58 46 23 17 21 27 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 22 25 27 14 22 27 178 116 9 251 178 1 +245 170 5 245 170 5 250 168 3 245 170 5 245 170 5 250 168 3 +245 167 3 251 178 1 198 140 8 119 81 15 119 81 15 228 138 5 +249 174 4 245 170 5 245 170 5 245 170 5 245 170 5 250 168 3 +245 170 5 245 170 5 251 178 1 153 108 13 16 21 27 23 25 27 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 16 21 27 46 40 24 244 167 4 +249 174 4 245 170 5 245 170 5 245 170 5 245 170 5 245 170 5 +245 170 5 245 170 5 252 181 4 252 181 4 252 181 4 248 180 4 +246 172 5 245 170 5 246 172 5 245 170 5 245 170 5 245 170 5 +245 170 5 249 174 4 245 170 5 12 18 27 18 22 27 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 23 25 27 9 20 28 108 69 17 +252 181 4 246 172 5 246 172 5 246 172 5 246 172 5 246 172 5 +246 172 5 246 172 5 246 172 5 246 172 5 245 174 5 246 172 5 +246 172 5 246 172 5 246 172 5 246 172 5 246 172 5 246 172 5 +249 174 4 252 181 4 70 55 22 12 18 27 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 22 25 27 4 17 28 +198 140 8 252 181 4 246 172 5 246 172 5 246 172 5 246 172 5 +246 172 5 246 172 5 246 172 5 246 172 5 246 172 5 246 172 5 +246 172 5 246 172 5 246 172 5 246 172 5 246 172 5 246 172 5 +252 181 4 153 108 13 21 23 27 23 25 27 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 21 27 +58 46 23 252 181 4 251 178 1 245 174 5 246 172 5 245 174 5 +246 172 5 245 174 5 246 172 5 245 174 5 246 172 5 245 174 5 +246 172 5 245 174 5 246 172 5 245 174 5 246 172 5 252 181 4 +244 172 4 46 40 24 18 22 27 23 25 27 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 25 27 +12 18 27 86 62 19 252 181 4 252 181 4 249 174 4 245 174 5 +249 174 4 245 174 5 249 174 4 245 174 5 249 174 4 245 174 5 +249 174 4 245 174 5 249 174 4 249 174 4 252 181 4 251 178 1 +58 46 23 13 20 27 23 25 27 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +22 25 27 22 25 27 86 62 19 245 174 5 252 181 4 248 180 4 +248 180 4 245 174 5 248 180 4 245 174 5 248 180 4 245 174 5 +248 180 4 245 174 5 248 180 4 250 181 3 239 160 4 86 62 19 +10 17 28 23 25 27 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 22 25 27 13 20 27 70 55 22 198 140 8 252 181 4 +252 181 4 252 181 4 252 181 4 248 180 4 251 178 1 252 181 4 +252 181 4 252 181 4 252 181 4 198 140 8 46 40 24 14 22 27 +24 26 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 23 25 27 14 22 27 9 20 28 86 62 19 +153 108 13 198 140 8 239 160 4 239 160 4 244 172 4 239 160 4 +198 140 8 153 108 13 70 55 22 4 17 28 18 24 27 22 25 27 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 22 25 27 14 22 27 +24 26 27 35 31 25 58 46 23 70 55 22 58 46 23 46 40 24 +30 32 32 18 24 27 14 22 27 22 25 27 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 25 27 +24 26 27 18 24 27 14 22 27 14 22 27 18 24 27 18 24 27 +22 25 27 22 25 27 22 25 27 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 1 3 5 0 0 0 1 3 5 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/sysdrv/tools/board/buildroot/S99rtcinit b/sysdrv/tools/board/buildroot/S99rtcinit new file mode 100755 index 000000000..32cc126f3 --- /dev/null +++ b/sysdrv/tools/board/buildroot/S99rtcinit @@ -0,0 +1,16 @@ +#!/bin/sh + +case $1 in +start) + if [ "$(hwclock | grep "1969")" ]; then + echo "RTC time calibration" + date -s 2024-01-01 + hwclock -w + else + echo "RTC does not require time calibration" + fi + ;; +*) + exit 1 + ;; +esac diff --git a/sysdrv/tools/board/buildroot/luckfox_pico_w_defconfig b/sysdrv/tools/board/buildroot/luckfox_pico_w_defconfig index ecdfdb1d3..8fa242bdd 100755 --- a/sysdrv/tools/board/buildroot/luckfox_pico_w_defconfig +++ b/sysdrv/tools/board/buildroot/luckfox_pico_w_defconfig @@ -85,3 +85,4 @@ BR2_PACKAGE_HTOP=y BR2_PACKAGE_UTIL_LINUX_LIBMOUNT=y BR2_PACKAGE_NANO=y BR2_PACKAGE_HOST_DTC=y +BR2_PACKAGE_EVTEST=y diff --git a/sysdrv/tools/board/buildroot/profile_defconfig b/sysdrv/tools/board/buildroot/profile_defconfig index 34d3a40b3..fc746cbb5 100755 --- a/sysdrv/tools/board/buildroot/profile_defconfig +++ b/sysdrv/tools/board/buildroot/profile_defconfig @@ -2,7 +2,7 @@ export PATH="/bin:/sbin:/usr/bin:/usr/sbin" export EDITOR='/bin/vi' -export PS1='[\u@\h \W]$ ' +export PS1='[\u@\h \W]# ' # Source configuration files from /etc/profile.d for i in /etc/profile.d/*.sh ; do diff --git a/sysdrv/tools/board/emmc/emmc_filesystem_resize.sh b/sysdrv/tools/board/emmc/emmc_filesystem_resize.sh old mode 100644 new mode 100755 diff --git a/sysdrv/tools/board/emmc/emmc_fstab b/sysdrv/tools/board/emmc/emmc_fstab old mode 100644 new mode 100755 diff --git a/sysdrv/tools/board/emmc/emmc_rc.local b/sysdrv/tools/board/emmc/emmc_rc.local old mode 100644 new mode 100755 index 4a87aff3c..91630be16 --- a/sysdrv/tools/board/emmc/emmc_rc.local +++ b/sysdrv/tools/board/emmc/emmc_rc.local @@ -1,29 +1,11 @@ #!/bin/bash /usr/bin/filesystem_resize.sh +/usr/bin/wifi_bt_init.sh +/usr/bin/luckfox_switch_rgb_resolution & /etc/init.d/S50usbdevice start - -# WIFI/BT -if [ -f /oem/usr/ko/install_wifi.sh ]; then - #wifi - cd /oem/usr/ko - sh insmod_wifi.sh - cd - - - #BT - if command -v hciattach &>/dev/null; then - if lsmod | grep -q "aic8800_fdrv"; then - hciattach -s 115200 /dev/ttyS1 any 115200 flow nosleep & - sleep 2 - if hciconfig -a | grep -q "hci0"; then - hciconfig hci0 up & - else - echo "hci0 not found or not available." - fi - else - echo "aic8800_fdrv not found." - fi - else - echo "You need install hci tools" - fi +luckfox-config load +if [ -n "$(hwclock | grep "invalid")" ]; then + date -s 2024-01-01 + hwclock -w fi diff --git a/sysdrv/tools/board/emmc/emmc_wifi_bt_init.sh b/sysdrv/tools/board/emmc/emmc_wifi_bt_init.sh new file mode 100755 index 000000000..f9a760563 --- /dev/null +++ b/sysdrv/tools/board/emmc/emmc_wifi_bt_init.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +if [ "$(cat /proc/device-tree/model)" == "Luckfox Pico Ultra W" ]; then + systemctl stop wpa_supplicant + if [ -d /usr/ko ]; then + cd /usr/ko + if [ -z "$(ifconfig | grep "wlan0")" ]; then + ./insmod_wifi.sh + else + # wait systemctl + sleep 0.5 + fi + else + echo "Missing ko files!" + fi + + if [ -d /var/run/wpa_supplicant ]; then + rm /var/run/wpa_supplicant/ -rf + fi + + if [ -f /etc/wpa_supplicant.conf ] && [ -n "$(ifconfig | grep "wlan0")" ]; then + wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf >/dev/null + chmod a+x /usr/share/udhcpc/default.script + fi +else + echo "This Luckfox Pico model don't support WIFI!" +fi diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800_bsp.ko b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800_bsp.ko new file mode 100644 index 000000000..0b697e0ce Binary files /dev/null and b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800_bsp.ko differ diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800_btlpm.ko b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800_btlpm.ko new file mode 100644 index 000000000..4771c4cc1 Binary files /dev/null and b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800_btlpm.ko differ diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800_fdrv.ko b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800_fdrv.ko new file mode 100644 index 000000000..0a256e5a0 Binary files /dev/null and b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800_fdrv.ko differ diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/aic_userconfig_8800dc.txt b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/aic_userconfig_8800dc.txt new file mode 100755 index 000000000..d42ca2427 --- /dev/null +++ b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/aic_userconfig_8800dc.txt @@ -0,0 +1,56 @@ +# AIC USERCONFIG 2022/0803/1707 + +# txpwr_lvl +enable=1 +lvl_11b_11ag_1m_2g4=20 +lvl_11b_11ag_2m_2g4=20 +lvl_11b_11ag_5m5_2g4=20 +lvl_11b_11ag_11m_2g4=20 +lvl_11b_11ag_6m_2g4=20 +lvl_11b_11ag_9m_2g4=20 +lvl_11b_11ag_12m_2g4=20 +lvl_11b_11ag_18m_2g4=20 +lvl_11b_11ag_24m_2g4=18 +lvl_11b_11ag_36m_2g4=18 +lvl_11b_11ag_48m_2g4=16 +lvl_11b_11ag_54m_2g4=16 +lvl_11n_11ac_mcs0_2g4=20 +lvl_11n_11ac_mcs1_2g4=20 +lvl_11n_11ac_mcs2_2g4=20 +lvl_11n_11ac_mcs3_2g4=20 +lvl_11n_11ac_mcs4_2g4=18 +lvl_11n_11ac_mcs5_2g4=18 +lvl_11n_11ac_mcs6_2g4=16 +lvl_11n_11ac_mcs7_2g4=16 +lvl_11n_11ac_mcs8_2g4=16 +lvl_11n_11ac_mcs9_2g4=16 +lvl_11ax_mcs0_2g4=20 +lvl_11ax_mcs1_2g4=20 +lvl_11ax_mcs2_2g4=20 +lvl_11ax_mcs3_2g4=20 +lvl_11ax_mcs4_2g4=18 +lvl_11ax_mcs5_2g4=18 +lvl_11ax_mcs6_2g4=16 +lvl_11ax_mcs7_2g4=16 +lvl_11ax_mcs8_2g4=16 +lvl_11ax_mcs9_2g4=16 +lvl_11ax_mcs10_2g4=15 +lvl_11ax_mcs11_2g4=15 + +# txpwr_ofst +ofst_enable=0 +ofst_chan_1_4=0 +ofst_chan_5_9=0 +ofst_chan_10_13=0 +ofst_chan_36_64=0 +ofst_chan_100_120=0 +ofst_chan_122_140=0 +ofst_chan_142_165=0 + +# xtal cap +xtal_enable=0 +xtal_cap=24 +xtal_cap_fine=31 + + + diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/aic_userconfig_8800dw.txt b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/aic_userconfig_8800dw.txt new file mode 100755 index 000000000..d42ca2427 --- /dev/null +++ b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/aic_userconfig_8800dw.txt @@ -0,0 +1,56 @@ +# AIC USERCONFIG 2022/0803/1707 + +# txpwr_lvl +enable=1 +lvl_11b_11ag_1m_2g4=20 +lvl_11b_11ag_2m_2g4=20 +lvl_11b_11ag_5m5_2g4=20 +lvl_11b_11ag_11m_2g4=20 +lvl_11b_11ag_6m_2g4=20 +lvl_11b_11ag_9m_2g4=20 +lvl_11b_11ag_12m_2g4=20 +lvl_11b_11ag_18m_2g4=20 +lvl_11b_11ag_24m_2g4=18 +lvl_11b_11ag_36m_2g4=18 +lvl_11b_11ag_48m_2g4=16 +lvl_11b_11ag_54m_2g4=16 +lvl_11n_11ac_mcs0_2g4=20 +lvl_11n_11ac_mcs1_2g4=20 +lvl_11n_11ac_mcs2_2g4=20 +lvl_11n_11ac_mcs3_2g4=20 +lvl_11n_11ac_mcs4_2g4=18 +lvl_11n_11ac_mcs5_2g4=18 +lvl_11n_11ac_mcs6_2g4=16 +lvl_11n_11ac_mcs7_2g4=16 +lvl_11n_11ac_mcs8_2g4=16 +lvl_11n_11ac_mcs9_2g4=16 +lvl_11ax_mcs0_2g4=20 +lvl_11ax_mcs1_2g4=20 +lvl_11ax_mcs2_2g4=20 +lvl_11ax_mcs3_2g4=20 +lvl_11ax_mcs4_2g4=18 +lvl_11ax_mcs5_2g4=18 +lvl_11ax_mcs6_2g4=16 +lvl_11ax_mcs7_2g4=16 +lvl_11ax_mcs8_2g4=16 +lvl_11ax_mcs9_2g4=16 +lvl_11ax_mcs10_2g4=15 +lvl_11ax_mcs11_2g4=15 + +# txpwr_ofst +ofst_enable=0 +ofst_chan_1_4=0 +ofst_chan_5_9=0 +ofst_chan_10_13=0 +ofst_chan_36_64=0 +ofst_chan_100_120=0 +ofst_chan_122_140=0 +ofst_chan_142_165=0 + +# xtal cap +xtal_enable=0 +xtal_cap=24 +xtal_cap_fine=31 + + + diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_calib_8800dc_h_u02.bin b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_calib_8800dc_h_u02.bin new file mode 100755 index 000000000..59604d328 Binary files /dev/null and b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_calib_8800dc_h_u02.bin differ diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_calib_8800dc_u02.bin b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_calib_8800dc_u02.bin new file mode 100755 index 000000000..bc175da27 Binary files /dev/null and b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_calib_8800dc_u02.bin differ diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_8800dc_h_u02.bin b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_8800dc_h_u02.bin new file mode 100755 index 000000000..7615a823d Binary files /dev/null and b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_8800dc_h_u02.bin differ diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_8800dc_ipc_u02.bin b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_8800dc_ipc_u02.bin new file mode 100755 index 000000000..819be58cc Binary files /dev/null and b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_8800dc_ipc_u02.bin differ diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_8800dc_u02.bin b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_8800dc_u02.bin new file mode 100755 index 000000000..fa8edfb58 Binary files /dev/null and b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_8800dc_u02.bin differ diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_tbl_8800dc_h_u02.bin b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_tbl_8800dc_h_u02.bin new file mode 100755 index 000000000..899571a25 Binary files /dev/null and b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_tbl_8800dc_h_u02.bin differ diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_tbl_8800dc_ipc_u02.bin b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_tbl_8800dc_ipc_u02.bin new file mode 100755 index 000000000..df2573d0b Binary files /dev/null and b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_tbl_8800dc_ipc_u02.bin differ diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_tbl_8800dc_u02.bin b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_tbl_8800dc_u02.bin new file mode 100755 index 000000000..4d6285ac3 Binary files /dev/null and b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fmacfw_patch_tbl_8800dc_u02.bin differ diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_adid_8800dc_u02.bin b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_adid_8800dc_u02.bin new file mode 100755 index 000000000..3e90e35af Binary files /dev/null and b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_adid_8800dc_u02.bin differ diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_adid_8800dc_u02h.bin b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_adid_8800dc_u02h.bin new file mode 100755 index 000000000..e3bc1f0d4 Binary files /dev/null and b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_adid_8800dc_u02h.bin differ diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_patch_8800dc_u02.bin b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_patch_8800dc_u02.bin new file mode 100755 index 000000000..220c6a894 Binary files /dev/null and b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_patch_8800dc_u02.bin differ diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_patch_8800dc_u02h.bin b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_patch_8800dc_u02h.bin new file mode 100755 index 000000000..30053f00b Binary files /dev/null and b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_patch_8800dc_u02h.bin differ diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_patch_table_8800dc_u02.bin b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_patch_table_8800dc_u02.bin new file mode 100755 index 000000000..7555f5d4a Binary files /dev/null and b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_patch_table_8800dc_u02.bin differ diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_patch_table_8800dc_u02h.bin b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_patch_table_8800dc_u02h.bin new file mode 100755 index 000000000..1cb983077 Binary files /dev/null and b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/fw_patch_table_8800dc_u02h.bin differ diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/lmacfw_rf_8800dc.bin b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/lmacfw_rf_8800dc.bin new file mode 100755 index 000000000..d0f3215d2 Binary files /dev/null and b/sysdrv/tools/board/emmc/emmc_wifi_ko/aic8800dc_fw/lmacfw_rf_8800dc.bin differ diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/ccm.ko b/sysdrv/tools/board/emmc/emmc_wifi_ko/ccm.ko new file mode 100644 index 000000000..71ff2213f Binary files /dev/null and b/sysdrv/tools/board/emmc/emmc_wifi_ko/ccm.ko differ diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/cfg80211.ko b/sysdrv/tools/board/emmc/emmc_wifi_ko/cfg80211.ko new file mode 100644 index 000000000..285c94bf3 Binary files /dev/null and b/sysdrv/tools/board/emmc/emmc_wifi_ko/cfg80211.ko differ diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/ctr.ko b/sysdrv/tools/board/emmc/emmc_wifi_ko/ctr.ko new file mode 100644 index 000000000..7acf4f90c Binary files /dev/null and b/sysdrv/tools/board/emmc/emmc_wifi_ko/ctr.ko differ diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/insmod_wifi.sh b/sysdrv/tools/board/emmc/emmc_wifi_ko/insmod_wifi.sh new file mode 100755 index 000000000..ffba12b42 --- /dev/null +++ b/sysdrv/tools/board/emmc/emmc_wifi_ko/insmod_wifi.sh @@ -0,0 +1,24 @@ +#!/bin/sh +cmd=$(realpath $0) +_DIR=$(dirname $cmd) +cd $_DIR + +export PATH=$PATH:/ko + +#aic8800 +if [ -f /usr/ko/aic8800_fdrv.ko ]; then + mkdir -p /oem/usr/ko + cp /usr/ko/aic8800dc_fw /oem/usr/ko -r + insmod cfg80211.ko + insmod libarc4.ko + insmod ctr.ko + insmod ccm.ko + #insmod libaes.ko + #insmod aes_generic.ko + insmod aic8800_bsp.ko + sleep 0.2 + insmod aic8800_fdrv.ko + sleep 2 + insmod aic8800_btlpm.ko + sleep 0.1 +fi diff --git a/sysdrv/tools/board/emmc/emmc_wifi_ko/libarc4.ko b/sysdrv/tools/board/emmc/emmc_wifi_ko/libarc4.ko new file mode 100644 index 000000000..512cfb881 Binary files /dev/null and b/sysdrv/tools/board/emmc/emmc_wifi_ko/libarc4.ko differ diff --git a/sysdrv/tools/board/emmc/udhcp/etc/udhcpd.conf b/sysdrv/tools/board/emmc/udhcp/etc/udhcpd.conf new file mode 100644 index 000000000..a9f82f01b --- /dev/null +++ b/sysdrv/tools/board/emmc/udhcp/etc/udhcpd.conf @@ -0,0 +1,116 @@ +# Sample udhcpd configuration file (/etc/udhcpd.conf) + +# The start and end of the IP lease block + +start 192.168.0.20 #default: 192.168.0.20 +end 192.168.0.254 #default: 192.168.0.254 + + +# The interface that udhcpd will use + +interface eth0 #default: eth0 + + +# The maximim number of leases (includes addressesd reserved +# by OFFER's, DECLINE's, and ARP conficts + +#max_leases 254 #default: 254 + + +# If remaining is true (default), udhcpd will store the time +# remaining for each lease in the udhcpd leases file. This is +# for embedded systems that cannot keep time between reboots. +# If you set remaining to no, the absolute time that the lease +# expires at will be stored in the dhcpd.leases file. + +#remaining yes #default: yes + + +# The time period at which udhcpd will write out a dhcpd.leases +# file. If this is 0, udhcpd will never automatically write a +# lease file. (specified in seconds) + +#auto_time 7200 #default: 7200 (2 hours) + + +# The amount of time that an IP will be reserved (leased) for if a +# DHCP decline message is received (seconds). + +#decline_time 3600 #default: 3600 (1 hour) + + +# The amount of time that an IP will be reserved (leased) for if an +# ARP conflct occurs. (seconds + +#conflict_time 3600 #default: 3600 (1 hour) + + +# How long an offered address is reserved (leased) in seconds + +#offer_time 60 #default: 60 (1 minute) + +# If a lease to be given is below this value, the full lease time is +# instead used (seconds). + +#min_lease 60 #defult: 60 + + +# The location of the leases file + +#lease_file /var/lib/misc/udhcpd.leases #defualt: /var/lib/misc/udhcpd.leases + +# The location of the pid file +#pidfile /var/run/udhcpd.pid #default: /var/run/udhcpd.pid + +# Everytime udhcpd writes a leases file, the below script will be called. +# Useful for writing the lease file to flash every few hours. + +#notify_file #default: (no script) + +#notify_file dumpleases # <--- usefull for debugging + +# The following are bootp specific options, setable by udhcpd. + +#siaddr 192.168.0.22 #default: 0.0.0.0 + +#sname zorak #default: (none) + +#boot_file /var/nfs_root #default: (none) + +# The remainer of options are DHCP options and can be specifed with the +# keyword 'opt' or 'option'. If an option can take multiple items, such +# as the dns option, they can be listed on the same line, or multiple +# lines. The only option with a default is 'lease'. + +#Examles +opt dns 192.168.10.2 192.168.10.10 +option subnet 255.255.255.0 +opt router 192.168.10.2 +opt wins 192.168.10.10 +option dns 129.219.13.81 # appened to above DNS servers for a total of 3 +option domain local +option lease 864000 # 10 days of seconds + + +# Currently supported options, for more info, see options.c +#subnet +#timezone +#router +#timesvr +#namesvr +#dns +#logsvr +#cookiesvr +#lprsvr +#bootsize +#domain +#swapsvr +#rootpath +#ipttl +#mtu +#broadcast +#wins +#lease +#ntpsrv +#tftp +#bootfile diff --git a/sysdrv/tools/board/emmc/udhcp/usr/bin/udhcpc b/sysdrv/tools/board/emmc/udhcp/usr/bin/udhcpc new file mode 100755 index 000000000..7d2cecd42 Binary files /dev/null and b/sysdrv/tools/board/emmc/udhcp/usr/bin/udhcpc differ diff --git a/sysdrv/tools/board/emmc/udhcp/usr/bin/udhcpd b/sysdrv/tools/board/emmc/udhcp/usr/bin/udhcpd new file mode 100755 index 000000000..82be07be4 Binary files /dev/null and b/sysdrv/tools/board/emmc/udhcp/usr/bin/udhcpd differ diff --git a/sysdrv/tools/board/emmc/udhcp/usr/share/udhcpc/default.script b/sysdrv/tools/board/emmc/udhcp/usr/share/udhcpc/default.script new file mode 100755 index 000000000..a52a7f812 --- /dev/null +++ b/sysdrv/tools/board/emmc/udhcp/usr/share/udhcpc/default.script @@ -0,0 +1,39 @@ +#!/bin/sh + +# udhcpc script edited by Tim Riker + +[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1 + +RESOLV_CONF="/etc/resolv.conf" +[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast" +[ -n "$subnet" ] && NETMASK="netmask $subnet" + +case "$1" in + deconfig) + /sbin/ifconfig $interface 0.0.0.0 + ;; + + renew|bound) + /sbin/ifconfig $interface $ip $BROADCAST $NETMASK + + if [ -n "$router" ] ; then + echo "deleting routers" + while route del default gw 0.0.0.0 dev $interface ; do + : + done + + for i in $router ; do + route add default gw $i dev $interface + done + fi + + echo -n > $RESOLV_CONF + [ -n "$domain" ] && echo search $domain >> $RESOLV_CONF + for i in $dns ; do + echo adding dns $i + echo nameserver $i >> $RESOLV_CONF + done + ;; +esac + +exit 0 diff --git a/sysdrv/tools/board/luckfox_config/S99luckfoxconfigload b/sysdrv/tools/board/luckfox_config/S99luckfoxconfigload index a7cbbc807..9dba3fa8d 100755 --- a/sysdrv/tools/board/luckfox_config/S99luckfoxconfigload +++ b/sysdrv/tools/board/luckfox_config/S99luckfoxconfigload @@ -1,16 +1,17 @@ #!/bin/sh load_luckfoxconfig() { - if [ -f /etc/luckfox.cfg ] && [ -f /usr/bin/luckfox-config ] ;then - luckfox-config load - fi + if [ -f /usr/bin/luckfox-config ]; then + luckfox-config load + luckfox_switch_rgb_resolution & + fi } case $1 in - start) - load_luckfoxconfig - ;; - *) - exit 1 - ;; +start) + load_luckfoxconfig + ;; +*) + exit 1 + ;; esac diff --git a/sysdrv/tools/board/luckfox_config/luckfox-config b/sysdrv/tools/board/luckfox_config/luckfox-config index cbc1c5fae..d1de74761 100755 --- a/sysdrv/tools/board/luckfox_config/luckfox-config +++ b/sysdrv/tools/board/luckfox_config/luckfox-config @@ -15,6 +15,7 @@ LUCKFOX_FDT_HDR_OVERLAY_DTBO=/tmp/.fdt_header_overlay.dtbo LUCKFOX_FDT_DUMP_TXT=/tmp/.fdt_dump.txt LUCKFOX_PIN_DIAGRAM_FILE=/tmp/.pin_diagram.txt +LUCKFOX_CHANGE_TXT=/tmp/.change.txt LUCKFOX_CFG_FILE=/etc/luckfox.cfg @@ -22,6 +23,7 @@ LUCKFOX_CFG_FILE=/etc/luckfox.cfg LF_OK=0 LF_ERR=1 LF_NONE=2 +LF_GUI_ENABLE=0 function luckfox_config_init() { # check command @@ -82,6 +84,12 @@ function luckfox_config_init() { # init luckfox_update_fdt >/dev/null 2>&1 + + # Save Change + if [ -f $LUCKFOX_CHANGE_TXT ]; then + rm $LUCKFOX_CHANGE_TXT + fi + touch $LUCKFOX_CHANGE_TXT } function luckfox_load_cfg() { @@ -90,7 +98,7 @@ function luckfox_load_cfg() { local pin value pattern local status - local i2c_speed spi_cs_enable spi_mode spi_speed + local i2c_speed spi_cs_enable spi_miso_enable spi_speed local pwm_main pwm_sub uart_main uart_sub i2c_main i2c_sub spi_main spi_sub local compatible_device @@ -123,40 +131,103 @@ function luckfox_load_cfg() { # RGB value=$(luckfox_get_pin_cfg "RGB_ENABLE") - if [ "$value" == 1 ]; then + if [ "$value" == 1 ] || [ -z "$value" ]; then if [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Ultra" ] || [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Ultra W" ]; then # set pins mark - luckfox_set_pin_mark "GPIO1_D0" "$value" - luckfox_set_pin_mark "GPIO1_D1" "$value" + luckfox_set_pin_mark "GPIO1_D0" 1 + luckfox_set_pin_mark "GPIO1_D1" 1 + luckfox_set_pin_mark "GPIO1_C2" 1 + luckfox_set_pin_mark "GPIO1_C3" 1 + luckfox_set_pin_mark "GPIO1_C1" 1 + + luckfox_set_pin_mark "GPIO1_C6" 1 + luckfox_set_pin_mark "GPIO2_A7" 1 + luckfox_set_pin_mark "GPIO2_A6" 1 + luckfox_set_pin_mark "GPIO1_D3" 1 + luckfox_set_pin_mark "GPIO1_C0" 1 + luckfox_set_pin_mark "GPIO1_D2" 1 + + luckfox_set_pin_mark "GPIO1_C7" 1 + luckfox_set_pin_mark "GPIO2_B0" 1 + luckfox_set_pin_mark "GPIO2_B1" 1 + + luckfox_set_pin_mark "GPIO1_C4" 1 + luckfox_set_pin_mark "GPIO1_C5" 1 + luckfox_set_pin_mark "GPIO2_A1" 1 + luckfox_set_pin_mark "GPIO2_A0" 1 + luckfox_set_pin_mark "GPIO2_A5" 1 + luckfox_set_pin_mark "GPIO2_A4" 1 + luckfox_set_pin_mark "GPIO2_A2" 1 + luckfox_set_pin_mark "GPIO2_A3" 1 + else + echo "Only Luckfox Pico Ultra /Luckfox Pico Ultra W support RGB" + fi + fi + + # CSI ( Priority is lower than RGB ) + value=$(luckfox_get_pin_cfg "CSI_ENABLE") + if [ -z "$value" ]; then + if [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Ultra" ] || [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Ultra W" ]; then + luckfox_set_pin_mark "I2C4_M1_SCL" 1 + luckfox_set_pin_mark "I2C4_M1_SDA" 1 + luckfox_set_pin_mark "I2C4_M0_SCL" 1 + luckfox_set_pin_mark "I2C4_M0_SDA" 1 + fi + fi + + # FBTFT + value=$(luckfox_get_pin_cfg "FBTFT_ENABLE") + if [ "$value" == 1 ]; then + echo "FBTFT enable" + if [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Plus" ] || [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico" ]; then + luckfox_set_pin_mark "GPIO1_A2" "$value" + luckfox_set_pin_mark "GPIO1_C0" "$value" + luckfox_set_pin_mark "GPIO1_C1" "$value" luckfox_set_pin_mark "GPIO1_C2" "$value" luckfox_set_pin_mark "GPIO1_C3" "$value" - luckfox_set_pin_mark "GPIO1_C1" "$value" - - luckfox_set_pin_mark "GPIO1_C6" "$value" - luckfox_set_pin_mark "GPIO2_A7" "$value" - luckfox_set_pin_mark "GPIO2_A6" "$value" - luckfox_set_pin_mark "GPIO1_D3" "$value" - luckfox_set_pin_mark "GPIO1_C0" "$value" - luckfox_set_pin_mark "GPIO1_D2" "$value" - - luckfox_set_pin_mark "GPIO1_C7" "$value" - luckfox_set_pin_mark "GPIO2_B0" "$value" + luckfox_set_pin_mark "GPIO0_A4" "$value" + luckfox_fbtft_app 1 "sitronix,st7789v" + elif [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Pro" ] || [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Max" ]; then luckfox_set_pin_mark "GPIO2_B1" "$value" - - luckfox_set_pin_mark "GPIO1_C4" "$value" - luckfox_set_pin_mark "GPIO1_C5" "$value" - luckfox_set_pin_mark "GPIO2_A1" "$value" - luckfox_set_pin_mark "GPIO2_A0" "$value" - luckfox_set_pin_mark "GPIO2_A5" "$value" - luckfox_set_pin_mark "GPIO2_A4" "$value" - luckfox_set_pin_mark "GPIO2_A2" "$value" - luckfox_set_pin_mark "GPIO2_A3" "$value" + luckfox_set_pin_mark "GPIO1_C0" "$value" + luckfox_set_pin_mark "GPIO1_C1" "$value" + luckfox_set_pin_mark "GPIO1_C2" "$value" + luckfox_set_pin_mark "GPIO1_C3" "$value" + luckfox_set_pin_mark "GPIO2_B0" "$value" + luckfox_fbtft_app 1 "sitronix,st7789v" else - echo "Only Luckfox Pico Ultra /Luckfox Pico Ultra W is supported" + echo "FBTFT Not supported in this Luckfox-Pico Model!" fi + elif [ "$value" == 0 ]; then + if [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Plus" ] || [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico" ] || + [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Pro" ] || [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Max" ]; then + echo "Reset fbtft pins" + #luckfox_fbtft_app 0 + fi + fi + + # SDMMC + value=$(luckfox_get_pin_cfg "SDMMC_ENABLE") + if [ -z "$value" ] && [ "$LUCKFOX_CHIP_MEDIA_CLASS" == "spi_nand" ] && [ "$LUCKFOX_CHIP_MEDIA" == "Luckfox Pico Plus" ]; then + luckfox_set_pin_mark "GPIO3_A1" 1 + luckfox_set_pin_mark "GPIO3_A3" 1 + luckfox_set_pin_mark "GPIO3_A2" 1 + luckfox_set_pin_mark "GPIO3_A4" 1 + luckfox_set_pin_mark "GPIO3_A5" 1 + luckfox_set_pin_mark "GPIO3_A7" 1 + luckfox_set_pin_mark "GPIO3_A6" 1 + elif [ "$LUCKFOX_CHIP_MEDIA_CLASS" == "sdmmc" ] && [ "$LUCKFOX_CHIP_MEDIA" == "Luckfox Pico Plus" ]; then + luckfox_set_pin_mark "GPIO3_A1" 1 + luckfox_set_pin_mark "GPIO3_A3" 1 + luckfox_set_pin_mark "GPIO3_A2" 1 + luckfox_set_pin_mark "GPIO3_A4" 1 + luckfox_set_pin_mark "GPIO3_A5" 1 + luckfox_set_pin_mark "GPIO3_A7" 1 + luckfox_set_pin_mark "GPIO3_A6" 1 else - echo "Reset rgb pins" - luckfox_rgb_app 0 + if [ -n "$value" ]; then + luckfox_sdmmc_app "$value" + fi fi # Create global variables by comparing cfg files @@ -210,14 +281,14 @@ function luckfox_load_cfg() { fi # SPI - if [[ "$pin" == *"SPI"* ]]; then + if [[ "$pin" == *"SPI"* ]] && [[ "$(luckfox_get_pin_cfg "FBTFT_ENABLE")" != 1 ]]; then pattern=".*SPI([0-9]+)_M([0-9]+).*" if [[ $pin =~ $pattern ]]; then spi_main="${BASH_REMATCH[1]}" spi_sub="${BASH_REMATCH[2]}" fi spi_speed=$(luckfox_get_pin_cfg "${pin}_SPEED") - spi_mode=$(luckfox_get_pin_cfg "${pin}_MODE") + spi_miso_enable=$(luckfox_get_pin_cfg "${pin}_MISO_ENABLE") spi_cs_enable=$(luckfox_get_pin_cfg "${pin}_CS_ENABLE") if [ -z "$spi_cs_enable" ]; then @@ -225,22 +296,17 @@ function luckfox_load_cfg() { luckfox_set_pin_cfg "${pin}_CS_ENABLE" 1 fi - if [ -z "$spi_mode" ]; then - spi_mode=1 + if [ -z "$spi_miso_enable" ]; then + spi_miso_enable=1 luckfox_set_pin_cfg "${pin}_MODE" 1 fi if [ -n "$value" ]; then - luckfox_spi_app "$value" "$spi_cs_enable" "$spi_main" "$spi_sub" "$spi_mode" "$spi_speed" + luckfox_spi_app "$value" "$spi_main" "$spi_sub" "$spi_cs_enable" "$spi_miso_enable" "$spi_speed" fi fi done - # SDMMC - value=$(luckfox_get_pin_cfg "SDMMC_ENABLE") - if [ -n "$value" ] && [ "$LUCKFOX_CHIP_MEDIA_CLASS" == "spi_nand" ]; then - luckfox_sdmmc_app "$value" - fi } # ------------------- Pin Diagram --------------------- @@ -360,8 +426,8 @@ function luckfox_pico_ultra_pin_diagram_file() { PWM3_M2 - - UART3_M1_TX - GPIO1_D0 | | GND PWM10_M2- - UART3_M1_RX - GPIO1_D1 | | GPIO2_A7 - UART0_M1_CTS- I2C3_M0_SDA- PWM4_M1 - - - 3V3 | | GPIO2_A6 - UART0_M1_RTS- I2C3_M0_SCL- PWM2_M1 - PWM5_M2 - - SPI0_M0_MOSI- GPIO1_C2 | | GND - PWM6_M2 - - SPI0_M0_MISO- GPIO1_C3 | | GPIO1_D3 - UART5_M1_TX - I2C3_M1_SCL- PWM11_M2 + PWM5_M2 - I2C4_M1_SCL - SPI0_M0_MOSI- GPIO1_C2 | | GND + PWM6_M2 - I2C4_M1_SDA - SPI0_M0_MISO- GPIO1_C3 | | GPIO1_D3 - UART5_M1_TX - I2C3_M1_SCL- PWM11_M2 PWM4_M2 - - SPI0_M0_CLK - GPIO1_C1 | | GPIO1_C0 - SPI0_M0_CS0 - - PWM2_M2 GND | | GPIO1_D2 - UART5_M1_RX - I2C3_M1_SDA- PWM0_M1 + - + - + @@ -372,8 +438,8 @@ function luckfox_pico_ultra_pin_diagram_file() { GND | | GPIO4_C1 PWM8_M1 - UART4_M1_RX - GPIO1_C4 | | GND PWM9_M1 - UART4_M1_TX - GPIO1_C5 | | MICBIAS - UART1_M1_RTS- GPIO2_A1 | | MIC1P - UART1_M1_CTS- GPIO2_A0 | | MIC1N + - I2C4_M0_SCL - UART1_M1_RTS- GPIO2_A1 | | MIC1P + - I2C4_M0_SDA - UART1_M1_CTS- GPIO2_A0 | | MIC1N UART1_M1_RX - GPIO2_A5 | | GND UART1_M1_TX - GPIO2_A4 | | GPIO1_C7 - - - PWM11_M1 GPIO2_A2 | | GPIO2_B0 - UART0_M1_RX - I2C1_M1_SCL - PWM5_M1 @@ -414,7 +480,7 @@ function luckfox_check_pin_diagram() { # Check if the pins are multiplexed for mark in "${left_group[@]}"; do if [[ "$mark" == "*"* ]] && [[ "$mark" != *"$device_node"* ]]; then - luckfox_result_handle "$LF_ERR" "$mark and $device_node cannot be enabled at the same time" + luckfox_result_handle "$LF_ERR" "$mark and $device_node cannot be enabled at the same time " return fi done @@ -656,6 +722,18 @@ function luckfox_fdt_overlay() { fdtoverlay -i $LUCKFOX_FDT_DTB -o $LUCKFOX_FDT_DTB $LUCKFOX_FDT_OVERLAY_DTBO >/dev/null 2>&1 fdt_dtb_size=$(ls -la $LUCKFOX_FDT_DTB | awk '{print $5}') + + kernel_offset=$(fdtdump $LUCKFOX_FDT_HDR_DTB | grep -A 2 "kernel {" | grep "data-position" | sed -n 's/.*<\(0x[0-9a-fA-F]*\)>.*/\1/p') + fdt_offset=$(fdtdump $LUCKFOX_FDT_HDR_DTB | grep -A 2 "fdt {" | grep "data-position" | sed -n 's/.*<\(0x[0-9a-fA-F]*\)>.*/\1/p') + + kernel_offset_dec=$((kernel_offset)) + fdt_offset_dec=$((fdt_offset)) + result_dec=$((kernel_offset_dec - fdt_offset_dec)) + + if [ $result_dec -lt "$fdt_dtb_size" ]; then + luckfox_result_handle $LF_ERR "Kernel will be affected !" + fi + dd if=$LUCKFOX_FDT_DTB of=$LUCKFOX_CHIP_MEDIA bs=1 seek=2048 count="$fdt_dtb_size" >/dev/null 2>&1 # fdt header @@ -735,21 +813,43 @@ function luckfox_compatible_Pico_LCD() { luckfox_uart_app 0 3 1 if [ "$LUCKFOX_CHIP_MEDIA_CLASS" == "sdmmc" ] && [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Plus" ]; then - luckfox_result_handle $LF_ERR "The sdmmc system cannot drive the key1 " + luckfox_result_handle $LF_ERR "The sdmmc system cannot drive the LCD" elif [ "$LUCKFOX_CHIP_MEDIA_CLASS" == "spi_nand" ] && [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Plus" ]; then luckfox_sdmmc_app 0 luckfox_pwm_app 0 9 0 luckfox_pwm_app 0 11 0 luckfox_uart_app 0 5 0 - luckfox_spi_app 1 1 0 0 0 + luckfox_spi_app 1 0 0 1 0 + luckfox_gpio_app 1 c 6 up + luckfox_gpio_app 1 c 7 up + luckfox_gpio_app 1 d 1 up + luckfox_gpio_app 3 a 6 up + luckfox_gpio_app 3 a 7 up + luckfox_gpio_app 3 a 5 up + luckfox_gpio_app 3 a 2 up + elif [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Pro" ] || [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Max" ]; then luckfox_uart_app 0 1 1 luckfox_i2c_app 0 4 0 - luckfox_spi_app 1 1 0 0 0 + luckfox_spi_app 1 0 0 1 0 + luckfox_gpio_app 1 c 6 up + luckfox_gpio_app 1 c 7 up + luckfox_gpio_app 1 d 1 up + luckfox_gpio_app 2 a 4 up + luckfox_gpio_app 2 a 5 up + luckfox_gpio_app 2 a 0 up + luckfox_gpio_app 2 a 2 up elif [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico" ]; then - luckfox_spi_app 1 1 0 0 0 + luckfox_spi_app 1 0 0 1 0 + luckfox_gpio_app 1 c 6 up + luckfox_gpio_app 1 c 7 up + luckfox_gpio_app 1 d 1 up + luckfox_gpio_app 4 b 1 up + luckfox_gpio_app 4 b 0 up + luckfox_gpio_app 4 a 6 up + luckfox_gpio_app 4 a 3 up else luckfox_result_handle $LF_ERR "The "$LUCKFOX_CHIP_MODEL" does not support this compatible device" fi @@ -770,7 +870,7 @@ function luckfox_compatible_Pico_ePaper() { luckfox_pwm_app 0 6 2 luckfox_pwm_app 0 1 0 - luckfox_spi_app 1 1 0 0 0 + luckfox_spi_app 1 0 0 1 0 fi #endregion } @@ -801,23 +901,19 @@ function luckfox_compatible_Pico_ResTouch_LCD() { luckfox_spi_app 1 0 0 0 1 if [ "$LUCKFOX_CHIP_MEDIA_CLASS" == "sdmmc" ] && [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Plus" ]; then - echo $LF_ERR "The sdmmc system cannot drive the use of SD cards and touch functions!" - return + luckfox_result_handle $LF_ERR "The sdmmc system cannot drive the use of SD cards and touch functions!" elif [ "$LUCKFOX_CHIP_MEDIA_CLASS" == "spi_nand" ] && [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Plus" ]; then luckfox_sdmmc_app 0 luckfox_uart_app 0 5 0 luckfox_i2c_app 0 0 2 - echo $LF_OK - return - elif [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Pro" ] && [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Max" ]; then + luckfox_result_handle $LF_OK + elif [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Pro" ] || [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Max" ]; then luckfox_uart_app 0 1 1 luckfox_i2c_app 0 4 0 luckfox_i2c_app 0 3 0 - echo $LF_OK - return + luckfox_result_handle $LF_OK else - echo $LF_ERR "The "$LUCKFOX_CHIP_MODEL" does not support this compatible device" - return + luckfox_result_handle $LF_ERR "The "$LUCKFOX_CHIP_MODEL" does not support this compatible device" fi fi @@ -854,23 +950,21 @@ function luckfox_compatible_Pico_OLED() { luckfox_i2c_app 1 3 1 if [ "$LUCKFOX_CHIP_MEDIA_CLASS" == "sdmmc" ] && [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Plus" ]; then - echo $LF_ERR "The sdmmc system cannot drive the key1 " - return + luckfox_result_handle $LF_ERR "The sdmmc system cannot drive the key1 " elif [ "$LUCKFOX_CHIP_MEDIA_CLASS" == "spi_nand" ] && [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Plus" ]; then luckfox_sdmmc_app 0 luckfox_uart_app 0 5 0 - echo $LF_OK - return + luckfox_gpio_app 1 d 1 up + luckfox_gpio_app 3 a 7 up elif [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Pro" ] || [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Max" ]; then luckfox_uart_app 0 1 1 - echo $LF_OK - return + luckfox_gpio_app 1 d 1 up + luckfox_gpio_app 2 a 5 up elif [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico" ]; then - echo $LF_OK - return + luckfox_gpio_app 1 d 1 up + luckfox_gpio_app 4 b 0 up else - echo $LF_ERR "The "$LUCKFOX_CHIP_MODEL" does not support this compatible device" - return + luckfox_result_handle $LF_ERR "The "$LUCKFOX_CHIP_MODEL" does not support this compatible device" fi fi } @@ -906,7 +1000,7 @@ function luckfox_compatible_app() { local device local compatible_group=() - echo LUCKFOX_CHIP_MEDIA_CLASS=$LUCKFOX_CHIP_MEDIA_CLASS + # Set up an inventory of adaptable hardware if [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico" ]; then compatible_group=(Pico_LCD Pico_ePaper Pico_UPS_B OLED_Module Pico_OLED DHT11) elif [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Plus" ] && [ "$LUCKFOX_CHIP_MEDIA_CLASS" == "sdmmc" ]; then @@ -924,10 +1018,123 @@ function luckfox_compatible_app() { fi done luckfox_result_handle "$LF_ERR" "This compatible device $compatible_device is not supported!" - return } # -- Advanced Options -- + +function hex_add() { + local hex1=$1 + local hex2=$2 + + local dec1=$(printf "%d" 0x"$hex1") + local dec2=$(printf "%d" 0x"$hex2") + local sum_hex=$(printf "%X" $((dec1 + dec2))) + + echo "$sum_hex" +} + +function hex_shift() { + local hex=$1 + local shift_amount=$2 + + # 将十六进制数转换为十进制 + local dec=$(printf "%d" 0x$hex) + + # 计算移位数 + local shift=$((shift_amount * 2)) + + # 进行移位操作 + local shifted=$((dec << shift)) + + # 将结果转换回十六进制并输出 + printf "%X\n" $shifted +} + +function luckfox_gpio_app() { + local gpio_bank="$1" + local gpio_group="$2" + local gpio_number="$3" + local gpio_pull_mode="$4" + + local reg_addr_base reg_addr data + + PULL_MODE_DATE_NORMAL=30000 + PULL_MODE_DATE_UP=30001 + PULL_MODE_DATE_DOWN=30002 + + # GPIO Bank + RV1106_GPIO0=ff388038 + RV1106_GPIO1=ff5381C0 + RV1106_GPIO2=ff5481D0 + RV1106_GPIO3=ff5581E0 + RV1106_GPIO4=ff568070 + + #Group + A_OFFSET=0 + B_OFFSET=4 + C_OFFSET=8 + D_OFFSET=c + + case $gpio_bank in + 0) + reg_addr_base="$RV1106_GPIO0" + ;; + 1) + reg_addr_base="$RV1106_GPIO1" + ;; + 2) + reg_addr_base="$RV1106_GPIO2" + ;; + 3) + reg_addr_base="$RV1106_GPIO3" + ;; + 4) + reg_addr_base="$RV1106_GPIO4" + ;; + *) + echo "input error!" + exit + ;; + esac + + case $gpio_group in + a) + reg_addr=0x$(hex_add $reg_addr_base $A_OFFSET) + ;; + b) + reg_addr=0x$(hex_add $reg_addr_base $B_OFFSET) + ;; + c) + reg_addr=0x$(hex_add $reg_addr_base $C_OFFSET) + ;; + d) + reg_addr=0x$(hex_add $reg_addr_base $D_OFFSET) + ;; + *) + echo "input error!" + exit + ;; + esac + + case $gpio_pull_mode in + normal) + data=0x$(hex_shift $PULL_MODE_DATE_NORMAL "$gpio_number") + ;; + up) + data=0x$(hex_shift $PULL_MODE_DATE_UP "$gpio_number") + ;; + down) + data=0x$(hex_shift $PULL_MODE_DATE_DOWN "$gpio_number") + ;; + *) + echo "input error!" + exit + ;; + esac + + io -4 "$reg_addr" "$data" +} + function luckfox_pwm_app() { #region local action="$1" @@ -935,7 +1142,6 @@ function luckfox_pwm_app() { local pwm_sub="$3" local pwm_device_name pwm_pinctrl_addr - local pre_action pre_action=$(luckfox_get_pin_mode "$(luckfox_get_pinctrl_addr "pwm${pwm_main}m${pwm_sub}-pins")") # status @@ -975,6 +1181,20 @@ function luckfox_pwm_app() { #endregion } +function luckfox_check_uart() { + #region + local uart_mode="$1" + local uart_main="$2" + + # Set UART1 in Luckfox Pico Ultra W + if [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Ultra W" ]; then + if [ "$uart_mode" == 0 ] && [ "$uart_main" == 1 ]; then + luckfox_result_handle "$LF_ERR" "BlueTooth is enable,Can't enable UART1" + fi + fi + #endregion +} + function luckfox_uart_app() { #region local action="$1" @@ -989,6 +1209,7 @@ function luckfox_uart_app() { if [ "$action" == 1 ]; then local uart_action=okay luckfox_check_pin_diagram "UART${uart_main}_M${uart_sub}_TX" "UART${uart_main}_M${uart_sub}_RX" + luckfox_check_uart 0 "$uart_main" uart_pinctrl_addr=$(luckfox_get_pinctrl_addr "uart${uart_main}m${uart_sub}-xfer") else local uart_action=disabled @@ -1024,6 +1245,62 @@ function luckfox_uart_app() { #endregion } +function luckfox_check_i2c() { + #region + local i2c_mode="$1" + local i2c_main="$2" + + local ts_status + # Set GPIO + if [ "$i2c_mode" == 0 ]; then + #check TP status + if [ "$i2c_main" == 3 ]; then + if [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Ultra" ] || [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Ultra W" ]; then + ts_status=$(luckfox_get_pin_cfg "TS_ENABLE") + if [ "$ts_status" == 1 ]; then + luckfox_result_handle "$LF_ERR" "TouchScreen is enable,Can't config I2C3" + else + local dtbo_content=" +/dts-v1/; +/plugin/; + +&{/i2c@ff460000/touchscreen}{ + status=\"disabled\"; +}; +" + luckfox_dtbo_overlay "TouchScreen_I2C" "$dtbo_content" + fi + fi + fi + #check CSI status + if [ "$i2c_main" == 4 ]; then + csi_status=$(luckfox_get_pin_cfg "CSI_ENABLE") + if [ "$csi_status" == 1 ]; then + luckfox_result_handle "$LF_ERR" "CSI is enable,Can't config I2C4" + fi + fi + # Set CSI or TS + elif [ "$i2c_mode" == 1 ]; then + # Enable TS + if [ "$i2c_main" == 3 ]; then + if [ "$(luckfox_get_pin_cfg "I2C3_M0_STATUS")" == 1 ] || + [ "$(luckfox_get_pin_cfg "I2C3_M1_STATUS")" == 1 ] || + [ "$(luckfox_get_pin_cfg "I2C3_M2_STATUS")" == 1 ]; then + luckfox_result_handle "$LF_ERR" "I2C3 is enable,Can't config TouchScreen" + fi + fi + # Enable CSI + if [ "$i2c_main" == 4 ]; then + if [ "$(luckfox_get_pin_cfg "I2C4_M0_STATUS")" == 1 ] || + [ "$(luckfox_get_pin_cfg "I2C4_M1_STATUS")" == 1 ] || + [ "$(luckfox_get_pin_cfg "I2C4_M2_STATUS")" == 1 ]; then + luckfox_result_handle "$LF_ERR" "I2C4 is enable,Can't config CSI" + fi + fi + fi + #endregion +} + function luckfox_i2c_app() { #region local action="$1" @@ -1031,6 +1308,9 @@ function luckfox_i2c_app() { local i2c_sub="$3" local i2c_speed + #check + luckfox_check_i2c 0 "$i2c_main" + if [ -z "$4" ]; then i2c_speed=5000000 else @@ -1040,6 +1320,7 @@ function luckfox_i2c_app() { local i2c_device_name i2c_pinctrl_addr local pre_action pre_action=$(luckfox_get_pin_mode "$(luckfox_get_pinctrl_addr "i2c${i2c_main}m${i2c_sub}-xfer")") + # status if [ "$action" == 1 ]; then luckfox_check_pin_diagram "I2C${i2c_main}_M${i2c_sub}_SDA" "I2C${i2c_main}_M${i2c_sub}_SCL" @@ -1050,8 +1331,6 @@ function luckfox_i2c_app() { local i2c_action=disabled fi - luckfox_set_pin_mark "I2C${i2c_main}_M${i2c_sub}_SDA" "$action" - luckfox_set_pin_mark "I2C${i2c_main}_M${i2c_sub}_SCL" "$action" # device addr i2c_device_name=$(luckfox_get_device_name "i2c${i2c_main}") @@ -1077,16 +1356,54 @@ function luckfox_i2c_app() { luckfox_set_pin_cfg "I2C${i2c_main}_M${i2c_sub}_STATUS" "$action" luckfox_set_pin_cfg "I2C${i2c_main}_M${i2c_sub}_SPEED" "$i2c_speed" luckfox_set_pin_parameter "I2C${i2c_main}_M${i2c_sub}_SPEED" "$i2c_speed" + # mark + luckfox_set_pin_mark "I2C${i2c_main}_M${i2c_sub}_SDA" "$action" + luckfox_set_pin_mark "I2C${i2c_main}_M${i2c_sub}_SCL" "$action" + + #endregion +} + +function luckfox_check_spi() { + #region + local spi_mode="$1" + local spi_main="$2" + + # Set GPIO + if [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Plus" ] || [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico" ] || + [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Pro" ] || [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Max" ]; then + fbtft_status=$(luckfox_get_pin_cfg "FBTFT_ENABLE") + spi0m0_status=$(luckfox_get_pin_cfg "SPI0_M0_STATUS") + if [ "$spi_mode" == 0 ] && [ "$spi_main" == 0 ]; then + if [ "$fbtft_status" == 1 ]; then + luckfox_result_handle "$LF_ERR" "FBTFT is enable,Can't config SPI0" + else + local dtbo_content=" +/dts-v1/; +/plugin/; + +&{/spi@ff500000/fbtft@0}{ + status=\"disabled\"; +}; +" + luckfox_dtbo_overlay "FBTFT_SPI" "$dtbo_content" + fi + # Set FBTFT + elif [ "$spi_mode" == 1 ] && [ "$spi_main" == 0 ]; then + if [ "$spi0m0_status" == 1 ]; then + luckfox_result_handle "$LF_ERR" "SPI0M0 is enable,Can't config FBTFT" + fi + fi + fi #endregion } function luckfox_spi_app() { #region local action="$1" - local cs_action="$2" - local spi_main="$3" - local spi_sub="$4" - local spi_mode="$5" + local spi_main="$2" + local spi_sub="$3" + local cs_action="$4" + local miso_action="$5" local spi_speed if [ -z "$6" ]; then spi_speed=50000000 @@ -1094,12 +1411,15 @@ function luckfox_spi_app() { spi_speed="$6" fi + luckfox_check_spi 0 "$spi_main" + local spi_device_name local spi_pinctrl_addr="" - local pre_action pre_spi_mode pre_cs_action + # Prevent being repeatedly disabled + local pre_action pre_miso_action pre_cs_action pre_action=$(luckfox_get_pin_mode "$(luckfox_get_pinctrl_addr "spi${spi_main}m${spi_sub}-clk")") - pre_spi_mode=$(luckfox_get_pin_mode "$(luckfox_get_pinctrl_addr "spi${spi_main}m${spi_sub}-miso")") + pre_miso_action=$(luckfox_get_pin_mode "$(luckfox_get_pinctrl_addr "spi${spi_main}m${spi_sub}-miso")") pre_cs_action=$(luckfox_get_pin_mode "$(luckfox_get_pinctrl_addr "spi${spi_main}m${spi_sub}-cs0")") # set cfg @@ -1108,7 +1428,7 @@ function luckfox_spi_app() { if [ "$cs_action" == 1 ]; then luckfox_check_pin_diagram "SPI${spi_main}_M${spi_sub}_CS0" fi - if [ "$spi_mode" == 1 ]; then + if [ "$miso_action" == 1 ]; then luckfox_check_pin_diagram "SPI${spi_main}_M${spi_sub}_MISO" fi luckfox_check_pin_diagram "SPI${spi_main}_M${spi_sub}_MOSI" @@ -1117,48 +1437,26 @@ function luckfox_spi_app() { spi_pinctrl_addr+=$(luckfox_get_pinctrl_addr "spi${spi_main}m${spi_sub}-clk") spi_pinctrl_addr+=" " spi_pinctrl_addr+=$(luckfox_get_pinctrl_addr "spi${spi_main}m${spi_sub}-mosi") - if [ "$spi_mode" == 1 ]; then - spi_pinctrl_addr+=" " - spi_pinctrl_addr+=$(luckfox_get_pinctrl_addr "spi${spi_main}m${spi_sub}-miso") - fi - if [ "$cs_action" == 1 ]; then spi_pinctrl_addr+=" " spi_pinctrl_addr+=$(luckfox_get_pinctrl_addr "spi${spi_main}m${spi_sub}-cs0") fi + if [ "$miso_action" == 1 ]; then + spi_pinctrl_addr+=" " + spi_pinctrl_addr+=$(luckfox_get_pinctrl_addr "spi${spi_main}m${spi_sub}-miso") + fi # status local spi_action=okay - # mark - if [ "$cs_action" == 1 ]; then - luckfox_set_pin_mark "SPI${spi_main}_M${spi_sub}_CS0" "$action" - else - luckfox_set_pin_mark "SPI${spi_main}_M${spi_sub}_CS0" 0 - fi - - if [ "$spi_mode" == 1 ]; then - luckfox_set_pin_mark "SPI${spi_main}_M${spi_sub}_MISO" "$action" - else - luckfox_set_pin_mark "SPI${spi_main}_M${spi_sub}_MISO" 0 - fi - luckfox_set_pin_mark "SPI${spi_main}_M${spi_sub}_CLK" "$action" - luckfox_set_pin_mark "SPI${spi_main}_M${spi_sub}_MOSI" "$action" elif [ "$action" == 0 ]; then - # phandle - spi_pinctrl_addr="" # status local spi_action=disabled - # mark - luckfox_set_pin_mark "SPI${spi_main}_M${spi_sub}_MISO" "$action" - luckfox_set_pin_mark "SPI${spi_main}_M${spi_sub}_MOSI" "$action" - luckfox_set_pin_mark "SPI${spi_main}_M${spi_sub}_CLK" "$action" - luckfox_set_pin_mark "SPI${spi_main}_M${spi_sub}_CS0" "$action" - fi # create dtc spi_device_name=$(luckfox_get_device_name "spi${spi_main}") - dtbo_content=" + if [ "$action" == 1 ]; then + dtbo_content=" /dts-v1/; /plugin/; @@ -1168,18 +1466,33 @@ function luckfox_spi_app() { }; &{$spi_device_name/spidev@0}{ + status=\"$spi_action\"; spi-max-frequency = <$spi_speed>; }; - " +" + elif [ "$action" == 0 ]; then + dtbo_content=" +/dts-v1/; +/plugin/; + +&{$spi_device_name}{ + status=\"$spi_action\"; +}; + +&{$spi_device_name/spidev@0}{ + status=\"$spi_action\"; +}; +" + fi # dtb overlay luckfox_dtbo_overlay spi"${spi_main}"m"${spi_sub}" "$dtbo_content" # update pin fun if [ "$action" == 1 ]; then - if [ "$pre_spi_mode" == 1 ] && [ "$spi_mode" == 0 ]; then + if [ "$pre_miso_action" == 1 ] && [ "$miso_action" == 0 ]; then luckfox_set_pin_mode "$(luckfox_get_pinctrl_addr "spi${spi_main}m${spi_sub}-miso")" 1 - elif [ "$spi_mode" == 1 ]; then + elif [ "$miso_action" == 1 ]; then luckfox_set_pin_mode "$(luckfox_get_pinctrl_addr "spi${spi_main}m${spi_sub}-miso")" 0 fi @@ -1197,7 +1510,7 @@ function luckfox_spi_app() { luckfox_set_pin_mode "$(luckfox_get_pinctrl_addr "spi${spi_main}m${spi_sub}-mosi")" 1 fi - if [ "$pre_spi_mode" == 1 ]; then + if [ "$pre_miso_action" == 1 ]; then luckfox_set_pin_mode "$(luckfox_get_pinctrl_addr "spi${spi_main}m${spi_sub}-miso")" 1 fi @@ -1206,13 +1519,27 @@ function luckfox_spi_app() { fi fi - # update cfg + # update cfg show cfg in " luckfox-config show " luckfox_set_pin_cfg "SPI${spi_main}_M${spi_sub}_STATUS" "$action" luckfox_set_pin_cfg "SPI${spi_main}_M${spi_sub}_CS_ENABLE" "$cs_action" + luckfox_set_pin_cfg "SPI${spi_main}_M${spi_sub}_MISO_ENABLE" "$miso_action" luckfox_set_pin_cfg "SPI${spi_main}_M${spi_sub}_SPEED" "$spi_speed" - luckfox_set_pin_cfg "SPI${spi_main}_M${spi_sub}_MODE" "$spi_mode" luckfox_set_pin_parameter "SPI${spi_main}_M${spi_sub}_SPEED" "$spi_speed" + # mark + if [ "$cs_action" == 1 ] && [ "$action" == 1 ]; then + luckfox_set_pin_mark "SPI${spi_main}_M${spi_sub}_CS0" "$action" + else + luckfox_set_pin_mark "SPI${spi_main}_M${spi_sub}_CS0" 0 + fi + + if [ "$miso_action" == 1 ] && [ "$action" == 1 ]; then + luckfox_set_pin_mark "SPI${spi_main}_M${spi_sub}_MISO" "$action" + else + luckfox_set_pin_mark "SPI${spi_main}_M${spi_sub}_MISO" 0 + fi + luckfox_set_pin_mark "SPI${spi_main}_M${spi_sub}_CLK" "$action" + luckfox_set_pin_mark "SPI${spi_main}_M${spi_sub}_MOSI" "$action" #endregion } @@ -1247,56 +1574,47 @@ function luckfox_csi_app() { # update fdt luckfox_update_fdt + local i2c_pinctrl_addr # create fdt overlay content if [ "$action" == 1 ]; then + luckfox_check_i2c 1 4 + i2c_pinctrl_addr=$(luckfox_get_pinctrl_addr "i2c4m2-xfer") local csi_action=okay else local csi_action=disbaled fi - local fdt_content=" + if [ "$action" == 1 ]; then + local i2c_content=" /dts-v1/; /plugin/; - -&{/i2c@ff470000/sc3336@30}{ +&{/i2c@ff470000}{ status=\"$csi_action\"; + pinctrl-0 = <$i2c_pinctrl_addr>; }; - -&{/csi2-dphy-hw@ff3e8000}{ - status=\"$csi_action\"; -}; - -&{/csi2-dphy0}{ - status=\"$csi_action\"; -}; - -&{/mipi-csi2@ffa20000}{ - status=\"$csi_action\"; -}; - -&{/rkcif@ffa10000}{ - status=\"$csi_action\"; -}; - -&{/rkcif-mipi-lvds-sditf}{ - status=\"$csi_action\"; -}; - -&{/rkisp@ffa00000}{ - status=\"$csi_action\"; -}; - -&{/rkisp-vir0}{ +" + else + local i2c_content=" +/dts-v1/; +/plugin/; +&{/i2c@ff470000}{ status=\"$csi_action\"; }; " + fi # fdt overlay - luckfox_fdt_overlay "$fdt_content" + luckfox_fdt_overlay "$i2c_content" # update cfg luckfox_set_pin_cfg "CSI_ENABLE" "$action" luckfox_set_pin_parameter "CSI_ENABLE" "$action" + + luckfox_set_pin_mark "I2C4_M0_SCL" 0 + luckfox_set_pin_mark "I2C4_M0_SDA" 0 + luckfox_set_pin_mark "I2C4_M1_SCL" 0 + luckfox_set_pin_mark "I2C4_M1_SDA" 0 + #endregion } @@ -1341,10 +1659,10 @@ function luckfox_rgb_app() { pre_action=$(luckfox_get_pin_mode "$(luckfox_get_pinctrl_addr "lcd-pins")") # create fdt overlay content if [ "$action" == 1 ]; then - if [ "$rgb_mode" == "enable" ]; then + if [ "$rgb_mode" == "reset" ]; then reset_gpio_action=okay enable_gpio_action=disabled - elif [ "$rgb_mode" == "reset" ]; then + elif [ "$rgb_mode" == "enable" ]; then reset_gpio_action=disabled enable_gpio_action=okay else @@ -1358,19 +1676,19 @@ function luckfox_rgb_app() { return 1 else # decimal to hex - rgb_clk_hex=$(printf '0x%x\n' $rgb_clk) - rgb_h_hex=$(printf '0x%x\n' $rgb_h) - rgb_v_hex=$(printf '0x%x\n' $rgb_v) - rgb_hb_hex=$(printf '0x%x\n' $rgb_hb) - rgb_hf_hex=$(printf '0x%x\n' $rgb_hf) - rgb_vb_hex=$(printf '0x%x\n' $rgb_vb) - rgb_vf_hex=$(printf '0x%x\n' $rgb_vf) - rgb_h_len_hex=$(printf '0x%x\n' $rgb_h_len) - rgb_v_len_hex=$(printf '0x%x\n' $rgb_v_len) - rgb_h_active_hex=$(printf '0x%x\n' $rgb_h_active) - rgb_v_active_hex=$(printf '0x%x\n' $rgb_v_active) - rgb_de_active_hex=$(printf '0x%x\n' $rgb_de_active) - rgb_pclk_active_hex=$(printf '0x%x\n' $rgb_pclk_active) + rgb_clk_hex=$(printf '0x%x\n' "$rgb_clk") + rgb_h_hex=$(printf '0x%x\n' "$rgb_h") + rgb_v_hex=$(printf '0x%x\n' "$rgb_v") + rgb_hb_hex=$(printf '0x%x\n' "$rgb_hb") + rgb_hf_hex=$(printf '0x%x\n' "$rgb_hf") + rgb_vb_hex=$(printf '0x%x\n' "$rgb_vb") + rgb_vf_hex=$(printf '0x%x\n' "$rgb_vf") + rgb_h_len_hex=$(printf '0x%x\n' "$rgb_h_len") + rgb_v_len_hex=$(printf '0x%x\n' "$rgb_v_len") + rgb_h_active_hex=$(printf '0x%x\n' "$rgb_h_active") + rgb_v_active_hex=$(printf '0x%x\n' "$rgb_v_active") + rgb_de_active_hex=$(printf '0x%x\n' "$rgb_de_active") + rgb_pclk_active_hex=$(printf '0x%x\n' "$rgb_pclk_active") fi @@ -1378,35 +1696,17 @@ function luckfox_rgb_app() { "GPIO1_C6" "GPIO2_A7" "GPIO2_A6" "GPIO1_D3" "GPIO1_C0" "GPIO1_D2" \ "GPIO1_C7" "GPIO2_B0" "GPIO2_B1" \ "GPIO1_C4" "GPIO1_C5" "GPIO2_A1" "GPIO2_A0" "GPIO2_A5" "GPIO2_A4" "GPIO2_A2" "GPIO2_A3" + + if [ "$rgb_h" -gt 640 ] || [ "$rgb_h" -gt 640 ]; then + local cma_action=okay + else + local cma_action=disabled + fi + local rgb_action=okay else - local rgb_action=disbaled - # set pins mark - luckfox_set_pin_mark "GPIO1_D0" "$action" - luckfox_set_pin_mark "GPIO1_D1" "$action" - luckfox_set_pin_mark "GPIO1_C2" "$action" - luckfox_set_pin_mark "GPIO1_C3" "$action" - luckfox_set_pin_mark "GPIO1_C1" "$action" - - luckfox_set_pin_mark "GPIO1_C6" "$action" - luckfox_set_pin_mark "GPIO2_A7" "$action" - luckfox_set_pin_mark "GPIO2_A6" "$action" - luckfox_set_pin_mark "GPIO1_D3" "$action" - luckfox_set_pin_mark "GPIO1_C0" "$action" - luckfox_set_pin_mark "GPIO1_D2" "$action" - - luckfox_set_pin_mark "GPIO1_C7" "$action" - luckfox_set_pin_mark "GPIO2_B0" "$action" - luckfox_set_pin_mark "GPIO2_B1" "$action" - - luckfox_set_pin_mark "GPIO1_C4" "$action" - luckfox_set_pin_mark "GPIO1_C5" "$action" - luckfox_set_pin_mark "GPIO2_A1" "$action" - luckfox_set_pin_mark "GPIO2_A0" "$action" - luckfox_set_pin_mark "GPIO2_A5" "$action" - luckfox_set_pin_mark "GPIO2_A4" "$action" - luckfox_set_pin_mark "GPIO2_A2" "$action" - luckfox_set_pin_mark "GPIO2_A3" "$action" + local rgb_action=disabled + local cma_action=disabled fi # create fdt_content @@ -1414,29 +1714,18 @@ function luckfox_rgb_app() { /dts-v1/; /plugin/; -&{/display-subsystem}{ - status=\"$rgb_action\"; -}; - -&{/rgb}{ - status=\"$rgb_action\"; -}; - -&{/rgb/rgb_in_vop}{ - status=\"$rgb_action\"; -}; - -&{/display_subsystem/route/route-rgb}{ - status=\"$rgb_action\"; -}; - -&{/vop@ff990000}{ +&{/syscon@ff000000/rgb}{ status=\"$rgb_action\"; }; &{/panel}{ status=\"$rgb_action\"; }; + +&{/reserved-memory/linux,cma}{ + status=\"$cma_action\"; +}; + " # Get GPIO0 phandle #gpio0_phandle=$(luckfox_get_pinctrl_addr "gpio@ff380000" 11) @@ -1445,15 +1734,6 @@ function luckfox_rgb_app() { /dts-v1/; /plugin/; -&{/panel/reset}{ - status=\"$reset_gpio_action\"; -}; - -&{/panel/enable}{ - status=\"$enable_gpio_action\"; -}; - - &{/panel/display-timings/timing0}{ clock-frequency = <$rgb_clk_hex>; hactive = <$rgb_h_hex>; @@ -1514,6 +1794,223 @@ function luckfox_rgb_app() { fi luckfox_set_pin_parameter "RGB_ENABLE" "$action" + + # set pins mark + luckfox_set_pin_mark "GPIO1_D0" "$action" + luckfox_set_pin_mark "GPIO1_D1" "$action" + luckfox_set_pin_mark "GPIO1_C2" "$action" + luckfox_set_pin_mark "GPIO1_C3" "$action" + luckfox_set_pin_mark "GPIO1_C1" "$action" + + luckfox_set_pin_mark "GPIO1_C6" "$action" + luckfox_set_pin_mark "GPIO2_A7" "$action" + luckfox_set_pin_mark "GPIO2_A6" "$action" + luckfox_set_pin_mark "GPIO1_D3" "$action" + luckfox_set_pin_mark "GPIO1_C0" "$action" + luckfox_set_pin_mark "GPIO1_D2" "$action" + + luckfox_set_pin_mark "GPIO1_C7" "$action" + luckfox_set_pin_mark "GPIO2_B0" "$action" + luckfox_set_pin_mark "GPIO2_B1" "$action" + + luckfox_set_pin_mark "GPIO1_C4" "$action" + luckfox_set_pin_mark "GPIO1_C5" "$action" + luckfox_set_pin_mark "GPIO2_A1" "$action" + luckfox_set_pin_mark "GPIO2_A0" "$action" + luckfox_set_pin_mark "GPIO2_A5" "$action" + luckfox_set_pin_mark "GPIO2_A4" "$action" + luckfox_set_pin_mark "GPIO2_A2" "$action" + luckfox_set_pin_mark "GPIO2_A3" "$action" + #endregion +} + +function luckfox_ts_app() { + #region + local action="$1" + local ts_reg_hex="$2" + + luckfox_check_i2c 1 3 + + # update fdt + luckfox_update_fdt + + #ts_reg_hex=$(printf '0x%x\n' "$ts_reg") + + local i2c_pinctrl_addr tp_action tp_rst_pinctrl_addr tp_irq_pinctrl_addr + # create fdt overlay content + if [ "$action" == 1 ]; then + i2c_pinctrl_addr=$(luckfox_get_pinctrl_addr "i2c3m2-xfer") + tp_rst_pinctrl_addr=$(luckfox_get_pinctrl_addr "tp-rst") + tp_irq_pinctrl_addr=$(luckfox_get_pinctrl_addr "tp-irq") + local ts_action=okay + else + local ts_action=disbaled + fi + + # TouchScreen device tree overlay + # Just support GT911 now + + # I2C device tree overlay + if [ "$action" == 1 ]; then + local fdt_content=" +/dts-v1/; +/plugin/; +&{/i2c@ff460000}{ + status=\"$ts_action\"; + pinctrl-0 = <$i2c_pinctrl_addr $tp_irq_pinctrl_addr $tp_rst_pinctrl_addr>; +}; + +&{/i2c@ff460000/touchscreen}{ + status=\"$ts_action\"; + reg=<$ts_reg_hex>; +}; +" + elif [ "$action" == 0 ]; then + local fdt_content=" +/dts-v1/; +/plugin/; +&{/i2c@ff460000}{ + status=\"$ts_action\"; +}; + +&{/i2c@ff460000/touchscreen}{ + status=\"$ts_action\"; +}; +" + fi + + # fdt overlay + luckfox_fdt_overlay "$fdt_content" + + # update cfg + luckfox_set_pin_cfg "TS_ENABLE" "$action" + luckfox_set_pin_parameter "TS_ENABLE" "$action" + + #endregion +} + +function luckfox_fbtft_app() { + #region + local action="$1" + local fbtft_compatible="$2" + local spi_device_name + + local spi_main=0 + local spi_sub=0 + local pre_action pre_cs_action pre_miso_action + + # check + luckfox_check_spi 1 0 + + pre_action=$(luckfox_get_pin_mode "$(luckfox_get_pinctrl_addr "spi${spi_main}m${spi_sub}-clk")") + pre_miso_action=$(luckfox_get_pin_mode "$(luckfox_get_pinctrl_addr "spi${spi_main}m${spi_sub}-miso")") + pre_cs_action=$(luckfox_get_pin_mode "$(luckfox_get_pinctrl_addr "spi${spi_main}m${spi_sub}-cs0")") + + #ts_reg_hex=$(printf '0x%x\n' "$ts_reg") + if [ "$action" == 1 ]; then + if [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Plus" ] || [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico" ]; then + luckfox_check_pin_diagram "GPIO1_A2" "GPIO1_C0" "GPIO1_C1" "GPIO1_C2" "GPIO1_C3" "GPIO0_A4" + elif [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Pro" ] || [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Max" ]; then + luckfox_check_pin_diagram "GPIO2_B1" "GPIO1_C0" "GPIO1_C1" "GPIO1_C2" "GPIO1_C3" "GPIO2_B0" + else + luckfox_result_handle "$LF_ERR" "This Luckfox-Pico Model does not support FBTFT setting!" + return + fi + + spi_pinctrl_addr+=$(luckfox_get_pinctrl_addr "spi0m0-clk") + spi_pinctrl_addr+=" " + spi_pinctrl_addr+=$(luckfox_get_pinctrl_addr "spi0m0-mosi") + spi_pinctrl_addr+=" " + spi_pinctrl_addr+=$(luckfox_get_pinctrl_addr "spi0m0-cs0") + + local fbtft_action=okay + elif [ "$action" == 0 ]; then + local fbtft_action=disabled + fi + + spi_device_name=$(luckfox_get_device_name "spi0") + + if [ "$action" == 1 ]; then + local fdt_content=" +/dts-v1/; +/plugin/; + +&{$spi_device_name}{ + status=\"$fbtft_action\"; + pinctrl-0 = <$spi_pinctrl_addr>; +}; + +&{$spi_device_name/fbtft@0}{ + status=\"$fbtft_action\"; + compatible=\"$fbtft_compatible\"; +}; + +&{$spi_device_name/spidev@0}{ + status=\"disabled\"; +}; +" + elif [ "$action" == 0 ]; then + local fdt_content=" +/dts-v1/; +/plugin/; + +&{$spi_device_name}{ + status=\"$fbtft_action\"; +}; + +&{$spi_device_name/fbtft@0}{ + status=\"$fbtft_action\"; +}; +" + fi + + # fdt overlay + # luckfox_fdt_overlay "$fdt_content + luckfox_dtbo_overlay "FBTFT" "$fdt_content" + + # update pin fun fbtft: miso_action = 0 cs_action = 1 + if [ "$action" == 1 ]; then + if [ "$pre_miso_action" == 1 ]; then + luckfox_set_pin_mode "$(luckfox_get_pinctrl_addr "spi${spi_main}m${spi_sub}-miso")" 1 + fi + + luckfox_set_pin_mode "$(luckfox_get_pinctrl_addr "spi${spi_main}m${spi_sub}-cs0")" 0 + luckfox_set_pin_mode "$(luckfox_get_pinctrl_addr "spi${spi_main}m${spi_sub}-clk")" 0 + luckfox_set_pin_mode "$(luckfox_get_pinctrl_addr "spi${spi_main}m${spi_sub}-mosi")" 0 + elif [ "$action" == 0 ]; then + if [ "$pre_action" == 1 ]; then + luckfox_set_pin_mode "$(luckfox_get_pinctrl_addr "spi${spi_main}m${spi_sub}-clk")" 1 + luckfox_set_pin_mode "$(luckfox_get_pinctrl_addr "spi${spi_main}m${spi_sub}-mosi")" 1 + fi + + if [ "$pre_miso_action" == 1 ]; then + luckfox_set_pin_mode "$(luckfox_get_pinctrl_addr "spi${spi_main}m${spi_sub}-miso")" 1 + fi + + if [ "$pre_cs_action" == 1 ]; then + luckfox_set_pin_mode "$(luckfox_get_pinctrl_addr "spi${spi_main}m${spi_sub}-cs0")" 1 + fi + fi + + # update cfg + if [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Plus" ] || [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico" ]; then + luckfox_set_pin_mark "GPIO1_A2" "$action" + luckfox_set_pin_mark "GPIO1_C0" "$action" + luckfox_set_pin_mark "GPIO1_C1" "$action" + luckfox_set_pin_mark "GPIO1_C2" "$action" + luckfox_set_pin_mark "GPIO1_C3" "$action" + luckfox_set_pin_mark "GPIO0_A4" "$action" + elif [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Pro" ] || [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Max" ]; then + luckfox_set_pin_mark "GPIO2_B1" "$action" + luckfox_set_pin_mark "GPIO1_C0" "$action" + luckfox_set_pin_mark "GPIO1_C1" "$action" + luckfox_set_pin_mark "GPIO1_C2" "$action" + luckfox_set_pin_mark "GPIO1_C3" "$action" + luckfox_set_pin_mark "GPIO2_B0" "$action" + fi + + luckfox_set_pin_cfg "FBTFT_ENABLE" "$action" + luckfox_set_pin_parameter "FBTFT_ENABLE" "$action" #endregion } @@ -1523,27 +2020,15 @@ function luckfox_sdmmc_app() { local emmc_device_name local pre_action - pre_action=$(luckfox_get_pin_mode "$(luckfox_get_pinctrl_addr "sdmmc_clk")") + pre_action=$(luckfox_get_pin_mode "$(luckfox_get_pinctrl_addr "sdmmc0-clk")") if [ "$action" == 1 ]; then - local emmc_action=okay - else - local emmc_action=disabled - fi - - #Luckfox Pico Plus - if [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Plus" ] && [ "$LUCKFOX_CHIP_MEDIA_CLASS" == "spi_nand" ]; then - if [ "$action" == 1 ]; then + if [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Plus" ] && [ "$LUCKFOX_CHIP_MEDIA_CLASS" == "spi_nand" ]; then luckfox_check_pin_diagram "GPIO3_A6" "GPIO3_A7" "GPIO3_A5" "GPIO3_A4" "GPIO3_A2" "GPIO3_A3" "GPIO3_A1" - local emmc_action=okay fi - luckfox_set_pin_mark "GPIO3_A6" "$action" - luckfox_set_pin_mark "GPIO3_A7" "$action" - luckfox_set_pin_mark "GPIO3_A5" "$action" - luckfox_set_pin_mark "GPIO3_A4" "$action" - luckfox_set_pin_mark "GPIO3_A2" "$action" - luckfox_set_pin_mark "GPIO3_A3" "$action" - luckfox_set_pin_mark "GPIO3_A1" "$action" + local emmc_action=okay + elif [ "$action" == 0 ]; then + local emmc_action=disabled fi # device addr @@ -1554,173 +2039,42 @@ function luckfox_sdmmc_app() { /plugin/; &{$emmc_device_name}{ - status=\"$emmc_action\"; + status=\"$emmc_action\"; }; " # dtb overlay luckfox_dtbo_overlay "sdmmc" "$dtbo_content" if [ "$action" == 1 ]; then - luckfox_set_pin_mode "$(luckfox_get_pinctrl_addr "sdmmc0_clk")" 0 - luckfox_set_pin_mode "$(luckfox_get_pinctrl_addr "sdmmc0_cmd")" 0 - luckfox_set_pin_mode "$(luckfox_get_pinctrl_addr "sdmmc0_bus4")" 0 - luckfox_set_pin_mode "$(luckfox_get_pinctrl_addr "sdmmc0_det")" 0 - elif [ "$action" == 0 ] && [ "$pre_action" == 1 ]; then - luckfox_set_pin_mode "$(luckfox_get_pinctrl_addr "sdmmc0_clk")" 1 - luckfox_set_pin_mode "$(luckfox_get_pinctrl_addr "sdmmc0_cmd")" 1 - luckfox_set_pin_mode "$(luckfox_get_pinctrl_addr "sdmmc0_bus4")" 1 - luckfox_set_pin_mode "$(luckfox_get_pinctrl_addr "sdmmc0_det")" 1 + luckfox_set_pin_mode "$(luckfox_get_pinctrl_addr "sdmmc0-clk")" 0 + luckfox_set_pin_mode "$(luckfox_get_pinctrl_addr "sdmmc0-cmd")" 0 + luckfox_set_pin_mode "$(luckfox_get_pinctrl_addr "sdmmc0-bus4")" 0 + luckfox_set_pin_mode "$(luckfox_get_pinctrl_addr "sdmmc0-det")" 0 + #elif [ "$action" == 0 ] && [ "$pre_action" == 1 ]; then + elif [ "$action" == 0 ]; then + luckfox_set_pin_mode "$(luckfox_get_pinctrl_addr "sdmmc0-clk")" 1 + luckfox_set_pin_mode "$(luckfox_get_pinctrl_addr "sdmmc0-cmd")" 1 + luckfox_set_pin_mode "$(luckfox_get_pinctrl_addr "sdmmc0-bus4")" 1 + luckfox_set_pin_mode "$(luckfox_get_pinctrl_addr "sdmmc0-det")" 1 fi # update cfg luckfox_set_pin_cfg "SDMMC_ENABLE" "$action" luckfox_set_pin_parameter "SDMMC_ENABLE" "$action" + + #mark + if [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Plus" ] && [ "$LUCKFOX_CHIP_MEDIA_CLASS" == "spi_nand" ]; then + luckfox_set_pin_mark "GPIO3_A6" "$action" + luckfox_set_pin_mark "GPIO3_A7" "$action" + luckfox_set_pin_mark "GPIO3_A5" "$action" + luckfox_set_pin_mark "GPIO3_A4" "$action" + luckfox_set_pin_mark "GPIO3_A2" "$action" + luckfox_set_pin_mark "GPIO3_A3" "$action" + luckfox_set_pin_mark "GPIO3_A1" "$action" + fi #endregion } -# ---------------------- Main GUI ------------------------- -function luckfox_show_menu() { - while true; do - option=$(dialog --title "$LUCKFOX_CHIP_MODEL Config" \ - --menu "Choose an option" 80 50 6 1 "Compatible Devices" \ - 2 "Advanced Options" \ - 3 "About Luckfox" \ - 2>&1 >/dev/tty) - - case $option in - 1) luckfox_compatible_devices ;; - 2) luckfox_advanced_options ;; - 3) luckfox_about ;; - *) luckfox_exit ;; - esac - done -} - -function luckfox_compatible_devices() { - local action - while true; do - option=$(dialog --title "Compatible Devices" \ - --menu "Choose an option" 80 50 6 1 "Pico_LCD" \ - 2 "Pico_ePaper" \ - 3 "Pico_UPS_B" \ - 4 "Pico_ResTouch_LCD" \ - 5 "OLED_Module" \ - 6 "Pico_OLED" \ - 7 "DHT11" \ - 2>&1 >/dev/tty) - - case $option in - 1) - action=$(dialog --menu "Pico_LCD Startup Confirmation" 10 40 2 1 "Yes" \ - 0 "No" \ - 2>&1 >/dev/tty) - if [ -z "$action" ] || [ "$action" == 0 ]; then - luckfox_compatible_devices - fi - luckfox_compatible_app "Pico_LCD" "$action" - ;; - 2) - action=$(dialog --menu "Pico_ePaper Startup Confirmation " 10 40 2 1 "Yes" \ - 0 "No" \ - 2>&1 >/dev/tty) - if [ -z "$action" ] || [ "$action" == 0 ]; then - luckfox_compatible_devices - fi - luckfox_compatible_app "Pico_ePaper" "$action" - ;; - 3) - action=$(dialog --menu "Pico_UPS_B Startup Confirmation" 10 40 2 1 "Yes" \ - 0 "No" \ - 2>&1 >/dev/tty) - if [ -z "$action" ] || [ "$action" == 0 ]; then - luckfox_compatible_devices - fi - luckfox_compatible_app "Pico_UPS_B" "$action" - ;; - 4) - action=$(dialog --menu "Pico_ResTouch_LCD Startup Confirmation" 10 40 2 1 "Yes" \ - 0 "No" \ - 2>&1 >/dev/tty) - if [ -z "$action" ] || [ "$action" == 0 ]; then - luckfox_compatible_devices - fi - luckfox_compatible_app "Pico_ResTouch_LCD" "$action" - ;; - 5) - action=$(dialog --menu "OLED_Module Startup Confirmation" 10 40 2 1 "Yes" \ - 0 "No" \ - 2>&1 >/dev/tty) - if [ -z "$action" ] || [ "$action" == 0 ]; then - luckfox_compatible_devices - fi - luckfox_compatible_app "OLED_Module" "$action" - ;; - 6) - action=$(dialog --menu "Pico_OLED Startup Confirmation" 10 40 2 1 "Yes" \ - 0 "No" \ - 2>&1 >/dev/tty) - if [ -z "$action" ] || [ "$action" == 0 ]; then - luckfox_compatible_devices - fi - luckfox_compatible_app "Pico_OLED" "$action" - ;; - 7) - action=$(dialog --menu "DHT11 Startup Confirmation" 10 40 2 1 "Yes" \ - 0 "No" \ - 2>&1 >/dev/tty) - if [ -z "$action" ] || [ "$action" == 0 ]; then - luckfox_compatible_devices - fi - luckfox_compatible_app "DHT11" "$action" - ;; - *) luckfox_show_menu ;; - esac - done -} - -function luckfox_advanced_options() { - if [ "$(luckfox_get_pin_cfg "COMPATIBLE_DEV_ENABLE")" == 1 ]; then - dialog --msgbox "Using a compatible device, unable to use Advanced Options" 10 30 - luckfox_show_menu - fi - - while true; do - option=$(dialog --title "Compatible Devices" \ - --menu "Choose an option" 80 50 6 1 "PWM" \ - 2 "UART" \ - 3 "I2C" \ - 4 "SPI" \ - 5 "USB" \ - 6 "CSI" \ - 7 "RGB" \ - 8 "SDMMC" \ - 2>&1 >/dev/tty) - - case $option in - 1) luckfox_PWM ;; - 2) luckfox_UART ;; - 3) luckfox_I2C ;; - 4) luckfox_SPI ;; - 5) luckfox_USB ;; - 6) luckfox_CSI ;; - 7) luckfox_RGB ;; - 8) luckfox_SDMMC ;; - *) luckfox_show_menu ;; - esac - done -} - -function luckfox_about() { - luckfox_pico_show_pin_diagram -} - -function luckfox_exit() { - luckfox_fdt_clear - clear - exit -} - -# ---------------------- Sub GUI ------------------------- -# Advanced Options +# ---------------------- GUI Handler ---------------------- function luckfox_result_handle() { local status="$1" local log="$2" @@ -1729,14 +2083,26 @@ function luckfox_result_handle() { return elif [ "$status" == $LF_ERR ]; then if [ -n "$log" ]; then - dialog --msgbox "$log" 10 30 + if [ "$LF_GUI_ENABLE" == 1 ]; then + dialog --msgbox "$log" 10 30 + else + echo "[luckfox-config] error:${log}" + fi else - dialog --msgbox "error" 10 30 + if [ "$LF_GUI_ENABLE" == 1 ]; then + dialog --msgbox "error" 10 30 + else + echo "[luckfox-config] error" + fi fi exit elif [ "$status" == $LF_NONE ]; then if [ -n "$log" ]; then - dialog --msgbox "Could not find $log" 10 30 + if [ "$LF_GUI_ENABLE" == 1 ]; then + dialog --msgbox "Could not find $log" 10 30 + else + echo "[luckfox-config] error:Could not find ${log}" + fi fi exit fi @@ -1790,10 +2156,152 @@ function luckfox_pico_show_pin_diagram() { if [ -f $LUCKFOX_PIN_DIAGRAM_FILE ]; then dialog --title "Luckfox Pin Diagram" --no-collapse --textbox $LUCKFOX_PIN_DIAGRAM_FILE 100 100 else - dialog --msgbox "Can't find $LUCKFOX_PIN_DIAGRAM_FILE" 10 30 + luckfox_result_handle "$LF_NONE" "$LUCKFOX_PIN_DIAGRAM_FILE" fi } +# ---------------------- Main GUI ------------------------- +function luckfox_show_menu() { + # Only support Luckfox Pico Ultra /Luckfox Pico Ultra W + if [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Ultra" ] || [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Ultra W" ]; then + while true; do + option=$(dialog --title "$LUCKFOX_CHIP_MODEL Config" \ + --menu "Choose an option" 80 50 6 \ + 1 "Advanced Options" \ + 2 "About Luckfox" \ + 2>&1 >/dev/tty) + + case $option in + 1) luckfox_advanced_options ;; + 2) luckfox_about ;; + *) luckfox_exit ;; + esac + done + else + while true; do + option=$(dialog --title "$LUCKFOX_CHIP_MODEL Config" \ + --menu "Choose an option" 80 50 6 \ + 1 "Compatible Devices" \ + 2 "Advanced Options" \ + 3 "About Luckfox" \ + 2>&1 >/dev/tty) + + case $option in + 1) luckfox_compatible_devices ;; + 2) luckfox_advanced_options ;; + 3) luckfox_about ;; + *) luckfox_exit ;; + esac + done + fi +} + +function luckfox_compatible_devices() { + local action + + option=$(dialog --title "Compatible Devices" \ + --menu "Choose an option" 80 50 6 \ + 1 "Pico_LCD" \ + 2 "Pico_ePaper" \ + 3 "Pico_UPS_B" \ + 4 "Pico_ResTouch_LCD" \ + 5 "OLED_Module" \ + 6 "Pico_OLED" \ + 7 "DHT11" \ + 2>&1 >/dev/tty) + + case $option in + 1) device="Pico_LCD" ;; + 2) device="Pico_ePaper" ;; + 3) device="Pico_UPS_B" ;; + 4) device="Pico_ResTouch_LCD" ;; + 5) device="OLED_Module" ;; + 6) device="Pico_OLED" ;; + 7) device="DHT11" ;; + *) luckfox_show_menu ;; + esac + + action=$(dialog --menu "$device Startup Confirmation" 10 40 2 1 "Yes" \ + 0 "No" \ + 2>&1 >/dev/tty) + if [ -z "$action" ] || [ "$action" == 0 ]; then + luckfox_compatible_devices + fi + luckfox_compatible_app "$device" "$action" + echo "Change the compatible status of $device to $action." >>"$LUCKFOX_CHANGE_TXT" + +} + +function luckfox_advanced_options() { + if [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Ultra" ] || [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Ultra W" ]; then + while true; do + option=$(dialog --title "Compatible Devices" \ + --menu "Choose an option" 80 50 6 \ + 1 "PWM" \ + 2 "UART" \ + 3 "I2C" \ + 4 "SPI" \ + 5 "USB" \ + 6 "CSI" \ + 7 "RGB" \ + 8 "TouchScreen" \ + 2>&1 >/dev/tty) + + case $option in + 1) luckfox_PWM ;; + 2) luckfox_UART ;; + 3) luckfox_I2C ;; + 4) luckfox_SPI ;; + 5) luckfox_USB ;; + 6) luckfox_CSI ;; + 7) luckfox_RGB ;; + 8) luckfox_TS ;; + *) luckfox_show_menu ;; + esac + done + else + while true; do + option=$(dialog --title "Compatible Devices" \ + --menu "Choose an option" 80 50 6 1 "PWM" \ + 2 "UART" \ + 3 "I2C" \ + 4 "SPI" \ + 5 "USB" \ + 6 "CSI" \ + 7 "FBTFT" \ + 8 "SDMMC" \ + 2>&1 >/dev/tty) + + case $option in + 1) luckfox_PWM ;; + 2) luckfox_UART ;; + 3) luckfox_I2C ;; + 4) luckfox_SPI ;; + 5) luckfox_USB ;; + 6) luckfox_CSI ;; + 7) luckfox_FBTFT ;; + 8) luckfox_SDMMC ;; + *) luckfox_show_menu ;; + esac + done + fi +} + +function luckfox_about() { + luckfox_pico_show_pin_diagram +} + +function luckfox_exit() { + luckfox_fdt_clear + + # echo Setting change + + clear + exit +} + +# ---------------------- Sub GUI ------------------------- +# Advanced Options function luckfox_PWM() { local pwm_enable pwm_main pwm_sub local option pattern @@ -1825,6 +2333,7 @@ function luckfox_PWM() { luckfox_advanced_options else luckfox_pwm_app "$pwm_enable" "$pwm_main" "$pwm_sub" + echo "Set PWM${pwm_main}_M${pwm_sub} enable status : $pwm_enable." >>"$LUCKFOX_CHANGE_TXT" fi luckfox_advanced_options } @@ -1860,6 +2369,7 @@ function luckfox_UART() { luckfox_advanced_options else luckfox_uart_app "$uart_enable" "$uart_main" "$uart_sub" + echo "Set UART${uart_main}_M${uart_sub} enable status : $uart_enable." >>"$LUCKFOX_CHANGE_TXT" fi luckfox_advanced_options } @@ -1901,15 +2411,17 @@ function luckfox_I2C() { luckfox_advanced_options fi elif [ "$i2c_enable" == 0 ]; then - i2c_speed=500000 # default + i2c_speed=0 # default fi luckfox_i2c_app "$i2c_enable" "$i2c_main" "$i2c_sub" "$i2c_speed" + echo "Set I2C${i2c_main}_M${i2c_sub} enable status : $i2c_enable." >>"$LUCKFOX_CHANGE_TXT" + echo "Set I2C${i2c_main}_M${i2c_sub} speed : $i2c_speed." >>"$LUCKFOX_CHANGE_TXT" luckfox_advanced_options } function luckfox_SPI() { - local spi_enable spi_speed spi_main spi_sub spi_cs_enable spi_mode + local spi_enable spi_speed spi_main spi_sub spi_cs_enable spi_miso_enable local option local spi_option_str @@ -1917,6 +2429,7 @@ function luckfox_SPI() { if [ -z "$spi_option_str" ]; then dialog --msgbox "No SPI Pins" 10 30 + luckfox_advanced_options fi option=$(dialog --title "SPI Config" \ @@ -1953,45 +2466,51 @@ function luckfox_SPI() { luckfox_advanced_options fi - spi_mode=$(dialog --menu "SPI${spi_main}_M${spi_sub} MISO Enable Config" 10 40 2 \ + spi_miso_enable=$(dialog --menu "SPI${spi_main}_M${spi_sub} MISO Enable Config" 10 40 2 \ 0 "disable" \ 1 "enable" \ 2>&1 >/dev/tty) - if [ -z "$spi_mode" ]; then + if [ -z "$spi_miso_enable" ]; then luckfox_advanced_options fi elif [ "$spi_enable" == 0 ]; then spi_speed=10000000 spi_cs_enable=1 - spi_mode=1 + spi_miso_enable=1 fi - luckfox_spi_app "$spi_enable" "$spi_cs_enable" "$spi_main" "$spi_sub" "$spi_mode" "$spi_speed" + luckfox_spi_app "$spi_enable" "$spi_main" "$spi_sub" "$spi_cs_enable" "$spi_miso_enable" "$spi_speed" + echo "Set SPI${spi_main}_M${spi_sub} enable status : $spi_enable." >>"$LUCKFOX_CHANGE_TXT" + echo "Set SPI${spi_main}_M${spi_sub} cs-pin enable status : $spi_cs_enable." >>"$LUCKFOX_CHANGE_TXT" + echo "Set SPI${spi_main}_M${spi_sub} miso-pin enable status : $spi_miso_enable." >>"$LUCKFOX_CHANGE_TXT" + echo "Set SPI${spi_main}_M${spi_sub} speed : $spi_speed." >>"$LUCKFOX_CHANGE_TXT" luckfox_advanced_options } function luckfox_USB() { while true; do option=$(dialog --title "USB Mode Config" \ - --menu "Choose an option" 10 30 3 1 "otg" \ - 2 "peripheral" \ - 3 "host" \ + --menu "Choose an option" 10 30 3 \ + 1 "peripheral" \ + 2 "host" \ 2>&1 >/dev/tty) case $option in 1) - luckfox_usb_app otg + luckfox_usb_app peripheral + echo "Set USB Mode : peripheral." >>"$LUCKFOX_CHANGE_TXT" dialog --msgbox "USB Effective after restart" 10 30 + luckfox_advanced_options ;; 2) - luckfox_usb_app peripheral - dialog --msgbox "USB Effective after restart" 10 30 - ;; - 3) luckfox_usb_app host + echo "Set USB Mode: host." >>"$LUCKFOX_CHANGE_TXT" dialog --msgbox "USB Effective after restart" 10 30 + luckfox_advanced_options ;; *) luckfox_advanced_options ;; esac done + + luckfox_advanced_options } function luckfox_CSI() { @@ -2005,6 +2524,7 @@ function luckfox_CSI() { fi luckfox_csi_app "$csi_enable" dialog --msgbox "CSI Effective after restart" 10 30 + echo "Set CSI enable status : $csi_enable." >>"$LUCKFOX_CHANGE_TXT" luckfox_advanced_options } @@ -2020,87 +2540,135 @@ function luckfox_RGB() { fi if [ "$rgb_enable" == 1 ]; then - if [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Ultra" ] || [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Ultra W" ]; then - rgb_mode=$(dialog --menu "RGB Enable Config" 10 40 2 \ - 0 "reset-gpios" \ - 1 "enable-gpios" \ - 2>&1 >/dev/tty) - if [ -z "$rgb_enable" ]; then - luckfox_advanced_options - elif [ "$rgb_mode" == 0 ]; then - rgb_mode_str="reset" - elif [ "$rgb_mode" == 1 ]; then - rgb_mode_str="enable" - fi + rgb_mode_str="reset" - if [ -f "$LUCKFOX_RGB_PARAMS" ]; then - touch "$LUCKFOX_RGB_PARAMS" - fi - - # init params - init_rgb_clk=$(luckfox_get_pin_cfg "RGB_CLK") - init_rgb_h=$(luckfox_get_pin_cfg "RGB_HACTIVE") - init_rgb_v=$(luckfox_get_pin_cfg "RGB_VACTIVE") - init_rgb_hb=$(luckfox_get_pin_cfg "RGB_HBACKPORCH") - init_rgb_hf=$(luckfox_get_pin_cfg "RGB_HFRONTPORCH") - init_rgb_vb=$(luckfox_get_pin_cfg "RGB_VBACKPORCH") - init_rgb_vf=$(luckfox_get_pin_cfg "RGB_VFRONTPORCH") - init_rgb_h_len=$(luckfox_get_pin_cfg "RGB_HSYNC_LEN") - init_rgb_v_len=$(luckfox_get_pin_cfg "RGB_VSYNC_LEN") - init_rgb_h_active=$(luckfox_get_pin_cfg "RGB_HSYNC_ACTIVE") - init_rgb_v_active=$(luckfox_get_pin_cfg "RGB_VSYNC_ACTIVE") - init_rgb_de_active=$(luckfox_get_pin_cfg "RGB_DE_ACTIVE") - init_rgb_pclk_active=$(luckfox_get_pin_cfg "RGB_PCLK_ACTIVE") - - LUCKFOX_RGB_PARAMS=$(mktemp) - dialog --no-cancel --form "Enter RGB Parameters" 15 50 0 \ - "Clock :" 1 1 "$init_rgb_clk" 1 15 10 0 \ - "Hsync-Active:" 2 1 "$init_rgb_h_active" 2 15 10 0 \ - "Vsync-Active:" 3 1 "$init_rgb_v_active" 3 15 10 0 \ - "DE-Active :" 4 1 "$init_rgb_de_active" 4 15 10 0 \ - "PCLK-Active :" 5 1 "$init_rgb_pclk_active" 5 15 10 0 \ - 2>"$LUCKFOX_RGB_PARAMS" - IFS=$'\n' read -d '' -r rgb_clk rgb_h_active rgb_v_active rgb_de_active rgb_pclk_active <"$LUCKFOX_RGB_PARAMS" - rm -f "$LUCKFOX_RGB_PARAMS" - - LUCKFOX_RGB_PARAMS=$(mktemp) - dialog --no-cancel --form "Enter RGB Parameters" 15 50 0 \ - "Hactive :" 1 1 "$init_rgb_h" 1 15 10 0 \ - "Vactive :" 2 1 "$init_rgb_v" 2 15 10 0 \ - "HBack-Porch :" 3 1 "$init_rgb_hb" 3 15 10 0 \ - "HFont-Porch :" 4 1 "$init_rgb_hf" 4 15 10 0 \ - "VBack-Porch :" 5 1 "$init_rgb_vb" 5 15 10 0 \ - "VFont-Porch :" 6 1 "$init_rgb_vf" 6 15 10 0 \ - "Hsync-Len :" 7 1 "$init_rgb_h_len" 7 15 10 0 \ - "Vsync-Len :" 8 1 "$init_rgb_v_len" 8 15 10 0 \ - 2>"$LUCKFOX_RGB_PARAMS" - IFS=$'\n' read -d '' -r rgb_h rgb_v rgb_hb rgb_hf rgb_vb rgb_vf rgb_h_len rgb_v_len <"$LUCKFOX_RGB_PARAMS" - rm -f "$LUCKFOX_RGB_PARAMS" - - dialog --msgbox "All parameters are valid." 15 50 - - luckfox_rgb_app 1 "$rgb_mode_str" "$rgb_clk" \ - "$rgb_h" "$rgb_v" \ - "$rgb_hb" "$rgb_hf" \ - "$rgb_vb" "$rgb_vf" \ - "$rgb_h_len" "$rgb_v_len" \ - "$rgb_h_active" "$rgb_v_active" \ - "$rgb_de_active" "$rgb_pclk_active" - dialog --msgbox "RGB Effective after restart" 10 30 - else - luckfox_result_handle "$RK_ERR" "Only Luckfox Pico Ultra /Luckfox Pico Ultra W is supported" - luckfox_advanced_options + if [ -f "$LUCKFOX_RGB_PARAMS" ]; then + touch "$LUCKFOX_RGB_PARAMS" fi + + # init params + init_rgb_clk=$(luckfox_get_pin_cfg "RGB_CLK") + init_rgb_h=$(luckfox_get_pin_cfg "RGB_HACTIVE") + init_rgb_v=$(luckfox_get_pin_cfg "RGB_VACTIVE") + init_rgb_hb=$(luckfox_get_pin_cfg "RGB_HBACKPORCH") + init_rgb_hf=$(luckfox_get_pin_cfg "RGB_HFRONTPORCH") + init_rgb_vb=$(luckfox_get_pin_cfg "RGB_VBACKPORCH") + init_rgb_vf=$(luckfox_get_pin_cfg "RGB_VFRONTPORCH") + init_rgb_h_len=$(luckfox_get_pin_cfg "RGB_HSYNC_LEN") + init_rgb_v_len=$(luckfox_get_pin_cfg "RGB_VSYNC_LEN") + init_rgb_h_active=$(luckfox_get_pin_cfg "RGB_HSYNC_ACTIVE") + init_rgb_v_active=$(luckfox_get_pin_cfg "RGB_VSYNC_ACTIVE") + init_rgb_de_active=$(luckfox_get_pin_cfg "RGB_DE_ACTIVE") + init_rgb_pclk_active=$(luckfox_get_pin_cfg "RGB_PCLK_ACTIVE") + + LUCKFOX_RGB_PARAMS=$(mktemp) + dialog --no-cancel --form "Enter RGB Parameters" 15 50 0 \ + "Clock :" 1 1 "$init_rgb_clk" 1 15 10 0 \ + "Hsync-Active:" 2 1 "$init_rgb_h_active" 2 15 10 0 \ + "Vsync-Active:" 3 1 "$init_rgb_v_active" 3 15 10 0 \ + "DE-Active :" 4 1 "$init_rgb_de_active" 4 15 10 0 \ + "PCLK-Active :" 5 1 "$init_rgb_pclk_active" 5 15 10 0 \ + 2>"$LUCKFOX_RGB_PARAMS" + IFS=$'\n' read -d '' -r rgb_clk rgb_h_active rgb_v_active rgb_de_active rgb_pclk_active <"$LUCKFOX_RGB_PARAMS" + rm -f "$LUCKFOX_RGB_PARAMS" + + LUCKFOX_RGB_PARAMS=$(mktemp) + dialog --no-cancel --form "Enter RGB Parameters" 15 50 0 \ + "Hactive :" 1 1 "$init_rgb_h" 1 15 10 0 \ + "Vactive :" 2 1 "$init_rgb_v" 2 15 10 0 \ + "HBack-Porch :" 3 1 "$init_rgb_hb" 3 15 10 0 \ + "HFont-Porch :" 4 1 "$init_rgb_hf" 4 15 10 0 \ + "VBack-Porch :" 5 1 "$init_rgb_vb" 5 15 10 0 \ + "VFont-Porch :" 6 1 "$init_rgb_vf" 6 15 10 0 \ + "Hsync-Len :" 7 1 "$init_rgb_h_len" 7 15 10 0 \ + "Vsync-Len :" 8 1 "$init_rgb_v_len" 8 15 10 0 \ + 2>"$LUCKFOX_RGB_PARAMS" + IFS=$'\n' read -d '' -r rgb_h rgb_v rgb_hb rgb_hf rgb_vb rgb_vf rgb_h_len rgb_v_len <"$LUCKFOX_RGB_PARAMS" + rm -f "$LUCKFOX_RGB_PARAMS" + + dialog --msgbox "All parameters are valid." 15 50 + + luckfox_rgb_app 1 "$rgb_mode_str" "$rgb_clk" \ + "$rgb_h" "$rgb_v" \ + "$rgb_hb" "$rgb_hf" \ + "$rgb_vb" "$rgb_vf" \ + "$rgb_h_len" "$rgb_v_len" \ + "$rgb_h_active" "$rgb_v_active" \ + "$rgb_de_active" "$rgb_pclk_active" + echo "Set RGB enable status : $rgb_enable." >>"$LUCKFOX_CHANGE_TXT" else luckfox_rgb_app 0 + echo "Set RGB enable status : $rgb_enable." >>"$LUCKFOX_CHANGE_TXT" fi + + dialog --msgbox "RGB Effective after restart" 10 30 + luckfox_advanced_options +} + +function luckfox_TS() { + local ts_enable ts_mode ts_reg_hex + + ts_enable=$(dialog --menu "TouchScreen Enable Config" 10 40 2 \ + 0 "disable" \ + 1 "enable" \ + 2>&1 >/dev/tty) + if [ -z "$ts_enable" ]; then + luckfox_advanced_options + fi + + if [ "$ts_enable" == 1 ]; then + ts_mode=$(dialog --menu "Touch GT911 Enable Config" 10 40 2 \ + 0 "i2c_addr: 0x14" \ + 1 "i2c_addr: 0x5d" \ + 2>&1 >/dev/tty) + if [ -z "$ts_mode" ]; then + luckfox_advanced_options + elif [ "$ts_mode" == 0 ]; then + ts_reg_hex="0x14" + elif [ "$ts_mode" == 1 ]; then + ts_reg_hex="0x5d" + fi + fi + + luckfox_ts_app "$ts_enable" "$ts_reg_hex" + echo "Set TouchScreen enable status : $ts_enable." >>"$LUCKFOX_CHANGE_TXT" + echo "Set TouchScreen Reg : $ts_reg_hex." >>"$LUCKFOX_CHANGE_TXT" + luckfox_advanced_options +} + +function luckfox_FBTFT() { + local fbtft_enable + fbtft_enable=$(dialog --menu "FBTFT Enable Config" 10 40 2 \ + 0 "disable" \ + 1 "enable" \ + 2>&1 >/dev/tty) + if [ -z "$fbtft_enable" ]; then + luckfox_advanced_options + fi + + if [ "$fbtft_enable" == 1 ]; then + fbtft_mode=$(dialog --menu "FBTFT MODE Config" 10 40 2 \ + 0 "st7789v/st7789vm" \ + 2>&1 >/dev/tty) + if [ -z "$fbtft_mode" ]; then + luckfox_advanced_options + elif [ "$fbtft_mode" == 0 ]; then + fbtft_compatible="sitronix,st7789v" + fi + fi + + luckfox_fbtft_app "$fbtft_enable" "$fbtft_compatible" + dialog --msgbox "FBTFT Effective after restart" 10 30 + + echo "Set FBTFT enable status : $fbtft_enable." >>"$LUCKFOX_CHANGE_TXT" + echo "Set FBTFT compatible : $fbtft_compatible." >>"$LUCKFOX_CHANGE_TXT" luckfox_advanced_options } function luckfox_SDMMC() { local sdmmc_enable if [ "$LUCKFOX_CHIP_MEDIA_CLASS" != "spi_nand" ]; then - dialog --msgbox "Only spi_nand storage media is supported" 10 30 + dialog --title "SDMMC Config" --msgbox "Only spi_nand storage media support SDMMC Config" 10 30 luckfox_advanced_options fi @@ -2112,11 +2680,13 @@ function luckfox_SDMMC() { luckfox_advanced_options fi luckfox_sdmmc_app "$sdmmc_enable" + echo "Set SDMMC enable status : $sdmmc_enable." >>"$LUCKFOX_CHANGE_TXT" luckfox_advanced_options } # ---------------------- RUN ------------------------- if [ "$1" == "load" ]; then + LF_GUI_ENABLE=0 rm $LUCKFOX_PIN_DIAGRAM_FILE luckfox_config_init luckfox_load_cfg @@ -2124,7 +2694,54 @@ if [ "$1" == "load" ]; then elif [ "$1" == "show" ]; then luckfox_config_init cat $LUCKFOX_PIN_DIAGRAM_FILE +elif [ "$1" == "rgb_switch" ]; then + luckfox_config_init + LF_GUI_ENABLE=0 + if [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Ultra" ] || [ "$LUCKFOX_CHIP_MODEL" == "Luckfox Pico Ultra W" ]; then + if [ "$(luckfox_get_pin_cfg "RGB_HACTIVE")" == "480" ]; then + # 480 -> 720 + echo "****************************************************" + echo "***Switch the RGB screen resolution to 720 x 720.***" + echo "****************************************************" + luckfox_csi_app 1 + luckfox_rgb_app 1 "reset" "30000000" \ + "720" "720" \ + "44" "46" \ + "18" "16" \ + "2" "2" \ + "0" "0" \ + "0" "1" + elif [ "$(luckfox_get_pin_cfg "RGB_HACTIVE")" == "720" ]; then + # 720 -> 480 + echo "****************************************************" + echo "***Switch the RGB screen resolution to 480 x 480.***" + echo "****************************************************" + luckfox_csi_app 1 + luckfox_rgb_app 1 "reset" "16500000" \ + "480" "480" \ + "10" "50" \ + "8" "8" \ + "4" "10" \ + "0" "0" \ + "0" "1" + elif [ -z "$(luckfox_get_pin_cfg "RGB_HACTIVE")" ]; then + echo "****************************************************" + echo "***Switch the RGB screen resolution to 480 x 480.***" + echo "****************************************************" + luckfox_csi_app 1 + luckfox_rgb_app 1 "reset" "16500000" \ + "480" "480" \ + "10" "50" \ + "8" "8" \ + "4" "10" \ + "0" "0" \ + "0" "1" + fi + else + luckfox_result_handle "$RK_ERR" "This Luckchip Pico Model does not support RGB switch." + fi elif [ -z "$1" ]; then + LF_GUI_ENABLE=1 luckfox_config_init luckfox_show_menu fi diff --git a/sysdrv/tools/board/luckfox_config/luckfox_switch_rgb_resolution b/sysdrv/tools/board/luckfox_config/luckfox_switch_rgb_resolution new file mode 100755 index 000000000..e546bec13 Binary files /dev/null and b/sysdrv/tools/board/luckfox_config/luckfox_switch_rgb_resolution differ diff --git a/sysdrv/tools/board/luckfox_config/ubuntu/etc/rc.local b/sysdrv/tools/board/luckfox_config/ubuntu/etc/rc.local new file mode 100644 index 000000000..bfe81100c --- /dev/null +++ b/sysdrv/tools/board/luckfox_config/ubuntu/etc/rc.local @@ -0,0 +1,9 @@ +#!/bin/bash + +/usr/bin/filesystem_resize.sh +/etc/init.d/S50usbdevice start +luckfox-config load +if [ -n "$(hwclock | grep "invalid")" ]; then + date -s 2024-01-01 + hwclock -w +fi diff --git a/sysdrv/tools/board/luckfox_config/ubuntu/usr/bin/dtc b/sysdrv/tools/board/luckfox_config/ubuntu/usr/bin/dtc new file mode 100755 index 000000000..644924741 Binary files /dev/null and b/sysdrv/tools/board/luckfox_config/ubuntu/usr/bin/dtc differ diff --git a/sysdrv/tools/board/luckfox_config/ubuntu/usr/bin/fdtdump b/sysdrv/tools/board/luckfox_config/ubuntu/usr/bin/fdtdump new file mode 100755 index 000000000..dd7141557 Binary files /dev/null and b/sysdrv/tools/board/luckfox_config/ubuntu/usr/bin/fdtdump differ diff --git a/sysdrv/tools/board/luckfox_config/ubuntu/usr/bin/fdtget b/sysdrv/tools/board/luckfox_config/ubuntu/usr/bin/fdtget new file mode 100755 index 000000000..3dadd7618 Binary files /dev/null and b/sysdrv/tools/board/luckfox_config/ubuntu/usr/bin/fdtget differ diff --git a/sysdrv/tools/board/luckfox_config/ubuntu/usr/bin/fdtoverlay b/sysdrv/tools/board/luckfox_config/ubuntu/usr/bin/fdtoverlay new file mode 100755 index 000000000..7ffda3733 Binary files /dev/null and b/sysdrv/tools/board/luckfox_config/ubuntu/usr/bin/fdtoverlay differ diff --git a/sysdrv/tools/board/luckfox_config/ubuntu/usr/bin/fdtput b/sysdrv/tools/board/luckfox_config/ubuntu/usr/bin/fdtput new file mode 100755 index 000000000..63f0d1e42 Binary files /dev/null and b/sysdrv/tools/board/luckfox_config/ubuntu/usr/bin/fdtput differ diff --git a/sysdrv/tools/board/luckfox_config/ubuntu/usr/bin/iomux b/sysdrv/tools/board/luckfox_config/ubuntu/usr/bin/iomux new file mode 100755 index 000000000..c41e4883c Binary files /dev/null and b/sysdrv/tools/board/luckfox_config/ubuntu/usr/bin/iomux differ diff --git a/sysdrv/tools/board/luckfox_config/ubuntu/usr/bin/luckfox_switch_rgb_resolution b/sysdrv/tools/board/luckfox_config/ubuntu/usr/bin/luckfox_switch_rgb_resolution new file mode 100755 index 000000000..cc8577b96 Binary files /dev/null and b/sysdrv/tools/board/luckfox_config/ubuntu/usr/bin/luckfox_switch_rgb_resolution differ diff --git a/sysdrv/tools/board/luckfox_config/ubuntu/usr/lib/libfdt.so.1 b/sysdrv/tools/board/luckfox_config/ubuntu/usr/lib/libfdt.so.1 new file mode 120000 index 000000000..a96f5be58 --- /dev/null +++ b/sysdrv/tools/board/luckfox_config/ubuntu/usr/lib/libfdt.so.1 @@ -0,0 +1 @@ +libfdt.so.1.7.0 \ No newline at end of file diff --git a/sysdrv/tools/board/luckfox_config/ubuntu/usr/lib/libfdt.so.1.7.0 b/sysdrv/tools/board/luckfox_config/ubuntu/usr/lib/libfdt.so.1.7.0 new file mode 100755 index 000000000..bdbcc2d01 Binary files /dev/null and b/sysdrv/tools/board/luckfox_config/ubuntu/usr/lib/libfdt.so.1.7.0 differ