Merge branch 'qcom-LW.BR.4.0.3-04500' into android-msm-common-4.9
Bug: 148688160
Change-Id: I51dccf479ddbb1614d88bf87c4a3012b8aec2a99
Signed-off-by: ali_lin <Ali_Lin@compal.com>
diff --git a/Makefile b/Makefile
index 98ce41f..198c15c 100644
--- a/Makefile
+++ b/Makefile
@@ -1203,11 +1203,15 @@
uts_len := 64
define filechk_utsrelease.h
- if [ `echo -n "$(KERNELRELEASE)" | wc -c ` -gt $(uts_len) ]; then \
- echo '"$(KERNELRELEASE)" exceeds $(uts_len) characters' >&2; \
- exit 1; \
- fi; \
- (echo \#define UTS_RELEASE \"$(KERNELRELEASE)\";)
+ if [ `echo -n "$(KERNELRELEASE)" | wc -c ` -gt $(uts_len) ]; then \
+ echo '"$(KERNELRELEASE)" exceeds $(uts_len) characters' >&2; \
+ exit 1; \
+ fi; \
+ if [ -n "$(BUILD_NUMBER)" ]; then \
+ (echo \#define UTS_RELEASE \"$(KERNELRELEASE)-ab$(BUILD_NUMBER)\";) \
+ else \
+ (echo \#define UTS_RELEASE \"$(KERNELRELEASE)\";) \
+ fi
endef
define filechk_version.h
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 4266ea6..2651ece 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -606,22 +606,22 @@
prima2-evb.dtb
dtb-$(CONFIG_ARCH_OXNAS) += \
wd-mbwe.dtb
-dtb-$(CONFIG_ARCH_QCOM) += \
- qcom-apq8060-dragonboard.dtb \
- qcom-apq8064-arrow-sd-600eval.dtb \
- qcom-apq8064-cm-qs600.dtb \
- qcom-apq8064-ifc6410.dtb \
- qcom-apq8064-sony-xperia-yuga.dtb \
- qcom-apq8064-asus-nexus7-flo.dtb \
- qcom-apq8074-dragonboard.dtb \
- qcom-apq8084-ifc6540.dtb \
- qcom-apq8084-mtp.dtb \
- qcom-ipq4019-ap.dk01.1-c1.dtb \
- qcom-ipq8064-ap148.dtb \
- qcom-msm8660-surf.dtb \
- qcom-msm8960-cdp.dtb \
- qcom-msm8974-lge-nexus5-hammerhead.dtb \
- qcom-msm8974-sony-xperia-honami.dtb
+#dtb-$(CONFIG_ARCH_QCOM) += \
+# qcom-apq8060-dragonboard.dtb \
+# qcom-apq8064-arrow-sd-600eval.dtb \
+# qcom-apq8064-cm-qs600.dtb \
+# qcom-apq8064-ifc6410.dtb \
+# qcom-apq8064-sony-xperia-yuga.dtb \
+# qcom-apq8064-asus-nexus7-flo.dtb \
+# qcom-apq8074-dragonboard.dtb \
+# qcom-apq8084-ifc6540.dtb \
+# qcom-apq8084-mtp.dtb \
+# qcom-ipq4019-ap.dk01.1-c1.dtb \
+# qcom-ipq8064-ap148.dtb \
+# qcom-msm8660-surf.dtb \
+# qcom-msm8960-cdp.dtb \
+# qcom-msm8974-lge-nexus5-hammerhead.dtb \
+# qcom-msm8974-sony-xperia-honami.dtb
dtb-$(CONFIG_ARCH_REALVIEW) += \
arm-realview-pb1176.dtb \
arm-realview-pb11mp.dtb \
diff --git a/arch/arm/boot/dts/compal b/arch/arm/boot/dts/compal
new file mode 120000
index 0000000..454189c
--- /dev/null
+++ b/arch/arm/boot/dts/compal
@@ -0,0 +1 @@
+../../../../../msm-compal-cw-modules/devicetree
\ No newline at end of file
diff --git a/arch/arm/boot/dts/compal-common/msm8909w.dtsi b/arch/arm/boot/dts/compal-common/msm8909w.dtsi
new file mode 100644
index 0000000..d1aafdb
--- /dev/null
+++ b/arch/arm/boot/dts/compal-common/msm8909w.dtsi
@@ -0,0 +1,43 @@
+/* Copyright (c) 2015-2019, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+&soc {
+ qcom,msm-cpufreq {
+ /delete-property/ qcom,cpufreq-table;
+ qcom,cpufreq-table =
+ < 800000 >,
+ < 1094400 >;
+ };
+ /delete-node/ qcom,cpubw;
+ cpubw: qcom,cpubw {
+ compatible = "qcom,devbw";
+ governor = "cpufreq";
+ qcom,src-dst-ports = <1 512>;
+ qcom,active-only;
+ qcom,bw-tbl =
+ < 1464 /* 192 MHz */>,
+ < 2929 /* 384 MHz */>;
+ };
+ /delete-node/ devfreq-cpufreq;
+ devfreq-cpufreq {
+ cpubw-cpufreq {
+ target-dev = <&cpubw>;
+ cpu-to-dev-map =
+ < 800000 2929>,
+ < 1094400 2929>;
+ };
+ };
+};
+
+&thermal_zones {
+ /delete-node/ case-therm-step;
+};
diff --git a/arch/arm/boot/dts/qcom/Makefile b/arch/arm/boot/dts/qcom/Makefile
index b5734c5..8a189e0 100644
--- a/arch/arm/boot/dts/qcom/Makefile
+++ b/arch/arm/boot/dts/qcom/Makefile
@@ -25,8 +25,8 @@
targets += dtbs
-include $(srctree)/arch/arm64/boot/dts/qcom/Makefile
-$(obj)/%.dtb: $(src)/../../../../arm64/boot/dts/qcom/%.dts FORCE
+include $(srctree)/arch/arm/boot/dts/compal/Makefile
+$(obj)/%.dtb: $(src)/../../../../arm/boot/dts/compal/%.dts FORCE
$(call if_changed_dep,dtc)
ifeq ($(CONFIG_BUILD_ARM64_DT_OVERLAY),y)
diff --git a/arch/arm/configs/compal-common-perf_defconfig b/arch/arm/configs/compal-common-perf_defconfig
new file mode 120000
index 0000000..c82682a
--- /dev/null
+++ b/arch/arm/configs/compal-common-perf_defconfig
@@ -0,0 +1 @@
+../../../../msm-compal-cw-extra/config/compal-common-perf_defconfig
\ No newline at end of file
diff --git a/arch/arm/configs/compal-common_defconfig b/arch/arm/configs/compal-common_defconfig
new file mode 120000
index 0000000..6ec8948
--- /dev/null
+++ b/arch/arm/configs/compal-common_defconfig
@@ -0,0 +1 @@
+../../../../msm-compal-cw-extra/config/compal-common_defconfig
\ No newline at end of file
diff --git a/arch/arm/configs/msm8909w_defconfig b/arch/arm/configs/msm8909w_defconfig
index 3d636d6..ca50a1d 100644
--- a/arch/arm/configs/msm8909w_defconfig
+++ b/arch/arm/configs/msm8909w_defconfig
@@ -15,7 +15,6 @@
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_CPU_MAX_BUF_SHIFT=17
-CONFIG_CGROUP_DEBUG=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_SCHEDTUNE=y
@@ -54,7 +53,6 @@
CONFIG_PREEMPT=y
CONFIG_AEABI=y
CONFIG_CMA=y
-CONFIG_CMA_DEBUGFS=y
CONFIG_ZSMALLOC=y
CONFIG_BALANCE_ANON_FILE_RECLAIM=y
CONFIG_PROCESS_RECLAIM=y
@@ -325,7 +323,6 @@
CONFIG_FB_MSM_MDSS_WRITEBACK=y
CONFIG_FB_MSM_MDSS_SPI_PANEL=y
CONFIG_FB_MSM_MDSS_MDP3=y
-CONFIG_FB_MSM_MDSS_XLOG_DEBUG=y
CONFIG_BACKLIGHT_LCD_SUPPORT=y
# CONFIG_LCD_CLASS_DEVICE is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
@@ -343,7 +340,6 @@
CONFIG_USB_CI13XXX_MSM=y
CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_SERIAL=y
-CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_CONFIGFS_RMNET_BAM=y
CONFIG_USB_CONFIGFS_MASS_STORAGE=y
CONFIG_USB_CONFIGFS_F_FS=y
@@ -467,12 +463,9 @@
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ISO8859_1=y
CONFIG_PRINTK_TIME=y
-CONFIG_MESSAGE_LOGLEVEL_DEFAULT=6
CONFIG_DYNAMIC_DEBUG=y
CONFIG_DEBUG_INFO=y
CONFIG_FRAME_WARN=2048
-CONFIG_PAGE_OWNER=y
-CONFIG_PAGE_OWNER_ENABLE_DEFAULT=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_SLUB_DEBUG_PANIC_ON=y
CONFIG_DEBUG_STACK_USAGE=y
diff --git a/arch/arm64/boot/dts/Makefile b/arch/arm64/boot/dts/Makefile
index 7ad2cf0..054577a 100644
--- a/arch/arm64/boot/dts/Makefile
+++ b/arch/arm64/boot/dts/Makefile
@@ -1,25 +1,25 @@
-dts-dirs += al
-dts-dirs += altera
-dts-dirs += amd
-dts-dirs += amlogic
-dts-dirs += apm
-dts-dirs += arm
-dts-dirs += broadcom
-dts-dirs += cavium
-dts-dirs += exynos
-dts-dirs += freescale
-dts-dirs += hisilicon
-dts-dirs += marvell
-dts-dirs += mediatek
-dts-dirs += nvidia
-dts-dirs += qcom
-dts-dirs += renesas
-dts-dirs += rockchip
-dts-dirs += socionext
-dts-dirs += sprd
-dts-dirs += xilinx
-dts-dirs += lg
-dts-dirs += zte
+#dts-dirs += al
+#dts-dirs += altera
+#dts-dirs += amd
+#dts-dirs += amlogic
+#dts-dirs += apm
+#dts-dirs += arm
+#dts-dirs += broadcom
+#dts-dirs += cavium
+#dts-dirs += exynos
+#dts-dirs += freescale
+#dts-dirs += hisilicon
+#dts-dirs += marvell
+#dts-dirs += mediatek
+#dts-dirs += nvidia
+dts-dirs += compal
+#dts-dirs += renesas
+#dts-dirs += rockchip
+#dts-dirs += socionext
+#dts-dirs += sprd
+#dts-dirs += xilinx
+#dts-dirs += lg
+#dts-dirs += zte
subdir-y := $(dts-dirs)
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 9b305fd..5754a3d 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -567,19 +567,18 @@
dtb-$(CONFIG_ARCH_QM215) += qm215-qrd.dtb
dtb-$(CONFIG_ARCH_QM215) += qm215-qrd-smb1360.dtb
-dtb-$(CONFIG_ARCH_MSM8909) += sdw3100-msm8909w-wtp.dtb \
- sdw3100-apq8009w-wtp.dtb \
- sdw3100-apq8009w-alpha.dtb \
- apq8009-mtp-wcd9326-refboard.dtb \
- apq8009-robot-som-refboard.dtb \
- apq8009-robot-rome-refboard.dtb \
- apq8009-robot-pronto-refboard.dtb \
- apq8009-dragon.dtb \
- apq8009-lat-v1.0.dtb \
- sdw3100-msm8909w-1gb-wtp.dtb \
- sdw2500-apq8009w-wtp.dtb \
- sdw2500-msm8909w-wtp.dtb
-
+#dtb-$(CONFIG_ARCH_MSM8909) += sdw3100-msm8909w-wtp.dtb \
+# sdw3100-apq8009w-wtp.dtb \
+# sdw3100-apq8009w-alpha.dtb \
+# apq8009-mtp-wcd9326-refboard.dtb \
+# apq8009-robot-som-refboard.dtb \
+# apq8009-robot-rome-refboard.dtb \
+# apq8009-robot-pronto-refboard.dtb \
+# apq8009-dragon.dtb \
+# apq8009-lat-v1.0.dtb \
+# sdw3100-msm8909w-1gb-wtp.dtb \
+# sdw2500-apq8009w-wtp.dtb \
+# sdw2500-msm8909w-wtp.dtb
dtb-$(CONFIG_ARCH_SDM450) += sdm450-rcm.dtb \
sdm450-cdp.dtb \
diff --git a/arch/arm64/boot/dts/qcom/dsi-panel-390p-auo-cmd.dtsi b/arch/arm64/boot/dts/qcom/dsi-panel-390p-auo-cmd.dtsi
index 06fc5a4..f11be2d 100644
--- a/arch/arm64/boot/dts/qcom/dsi-panel-390p-auo-cmd.dtsi
+++ b/arch/arm64/boot/dts/qcom/dsi-panel-390p-auo-cmd.dtsi
@@ -1,4 +1,4 @@
-/* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -93,7 +93,7 @@
qcom,mdss-dsi-dma-trigger = "trigger_sw";
qcom,mdss-dsi-mdp-trigger = "none";
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs";
- qcom,mdss-dsi-reset-sequence = <1 20>, <0 20>, <1 20>;
+ qcom,mdss-dsi-reset-sequence = <1 2>, <0 10>, <1 10>;
/* clk = totlaH * totalV * bpp* 66fps */
qcom,mdss-dsi-panel-clockrate = <276705792>;
qcom,esd-check-enabled;
diff --git a/block/blk-core.c b/block/blk-core.c
index 68ec55a..052d57a 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -867,6 +867,7 @@
fail:
blk_free_flush_queue(q->fq);
+ q->fq = NULL;
return NULL;
}
EXPORT_SYMBOL(blk_init_allocated_queue);
diff --git a/build.config b/build.config
new file mode 100644
index 0000000..04cdc9d
--- /dev/null
+++ b/build.config
@@ -0,0 +1,46 @@
+function gen_headers() {
+ # install headers for android headers parser
+ (
+ cd ${OUT_DIR}
+ make O=${OUT_DIR} headers_install
+ )
+}
+
+function tar_modules() {
+ # tar up modules
+ (
+ set +x
+ echo " Archiving kernel module files"
+ MODULES=$(find ${MODULES_STAGING_DIR} -type f -name "*.ko")
+ if [ -n "${MODULES}" ]; then
+ mkdir -p ${DIST_DIR}
+ rm -f ${DIST_DIR}/kernel-modules.tar.gz
+ for FILE in ${MODULES}; do
+ echo " ${FILE##*/}"
+ tar -rf ${DIST_DIR}/kernel-modules.tar -C ${FILE%/*} ${FILE##*/}
+ done
+ gzip -9 ${DIST_DIR}/kernel-modules.tar
+ fi
+ set -x
+ )
+}
+
+ARCH=arm
+BRANCH=android-msm-common-4.9
+CROSS_COMPILE=arm-linux-androidkernel-
+CROSS_COMPILE_USER=arm-linux-androideabi-
+DEFCONFIG=compal-common-perf_defconfig
+EXTRA_CMDS=''
+KERNEL_DIR=private/msm-compal-cw
+POST_DEFCONFIG_CMDS="check_defconfig;gen_headers"
+LINUX_GCC_CROSS_COMPILE_PREBUILTS_BIN=prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin
+FILES="
+arch/arm/boot/zImage-dtb
+vmlinux
+System.map
+"
+IN_KERNEL_MODULES=1
+EXT_MODULES="
+private/msm-compal-cw-modules/wlan
+"
+EXTRA_CMDS="tar_modules"
diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c
index 813a191..c764f09 100644
--- a/drivers/base/firmware_class.c
+++ b/drivers/base/firmware_class.c
@@ -297,7 +297,8 @@
"/lib/firmware/updates/" UTS_RELEASE,
"/lib/firmware/updates",
"/lib/firmware/" UTS_RELEASE,
- "/lib/firmware"
+ "/lib/firmware",
+ "/vendor/firmware"
};
/*
diff --git a/drivers/gpu/msm/adreno_iommu.c b/drivers/gpu/msm/adreno_iommu.c
index db6dff212..715aa68 100644
--- a/drivers/gpu/msm/adreno_iommu.c
+++ b/drivers/gpu/msm/adreno_iommu.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2002,2007-2017, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2002,2007-2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -493,8 +493,9 @@
cmds += _adreno_iommu_add_idle_cmds(adreno_dev, cmds);
- cmds += _vbif_lock(adreno_dev, cmds);
+ cmds += _tlbiall(adreno_dev, cmds);
+ cmds += _vbif_lock(adreno_dev, cmds);
cmds += _cp_smmu_reg(adreno_dev, cmds, KGSL_IOMMU_CTX_TTBR0, 2);
*cmds++ = lower_32_bits(ttbr0);
*cmds++ = upper_32_bits(ttbr0);
diff --git a/drivers/gpu/msm/kgsl_iommu.c b/drivers/gpu/msm/kgsl_iommu.c
index df21bc8..e6ee6ae9 100644
--- a/drivers/gpu/msm/kgsl_iommu.c
+++ b/drivers/gpu/msm/kgsl_iommu.c
@@ -2107,6 +2107,25 @@
ttbr0 = kgsl_mmu_pagetable_get_ttbr0(pt);
contextidr = kgsl_mmu_pagetable_get_contextidr(pt);
+ /* memory barrier while setting TLBIALL register */
+ mb();
+ KGSL_IOMMU_SET_CTX_REG(ctx, TLBIALL, 1);
+ /*make sure TLBIALL write compeltes before we wait*/
+ mb();
+
+ KGSL_IOMMU_SET_CTX_REG(ctx, TLBSYNC, 0);
+
+ wait_for_flush = jiffies + msecs_to_jiffies(2000);
+ while (KGSL_IOMMU_GET_CTX_REG(ctx, TLBSTATUS) &
+ (KGSL_IOMMU_CTX_TLBSTATUS_SACTIVE)) {
+ if (time_after(jiffies, wait_for_flush)) {
+ KGSL_DRV_WARN(KGSL_MMU_DEVICE(mmu),
+ "Wait limit reached for IOMMU tlb flush\n");
+ break;
+ }
+ cpu_relax();
+ }
+
KGSL_IOMMU_SET_CTX_REG_Q(ctx, TTBR0, ttbr0);
KGSL_IOMMU_SET_CTX_REG(ctx, CONTEXTIDR, contextidr);
diff --git a/drivers/input/input.c b/drivers/input/input.c
index d95c34e..e91ad0d 100644
--- a/drivers/input/input.c
+++ b/drivers/input/input.c
@@ -271,6 +271,8 @@
case EV_SYN:
switch (code) {
case SYN_CONFIG:
+ case SYN_TIME_SEC:
+ case SYN_TIME_NSEC:
disposition = INPUT_PASS_TO_ALL;
break;
diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig
index ee32e1a..9bc0baa 100644
--- a/drivers/input/misc/Kconfig
+++ b/drivers/input/misc/Kconfig
@@ -107,6 +107,15 @@
To compile this driver as a module, choose M here: the
module will be called bma150.
+config SENSORS_AP314AQ
+ tristate "AP314AQ offbody detect sensor driver"
+ depends on I2C
+ help
+ Say Y here if you want to enable the ap314aq offbody detect sensor driver.
+
+ To compile this driver as a module, choose M here: the
+ module will be called ap314aq.
+
config INPUT_E3X0_BUTTON
tristate "NI Ettus Research USRP E3xx Button support."
default n
diff --git a/drivers/input/misc/Makefile b/drivers/input/misc/Makefile
index c08ee8f..49a7422 100644
--- a/drivers/input/misc/Makefile
+++ b/drivers/input/misc/Makefile
@@ -83,5 +83,6 @@
obj-$(CONFIG_INPUT_XEN_KBDDEV_FRONTEND) += xen-kbdfront.o
obj-$(CONFIG_INPUT_YEALINK) += yealink.o
obj-$(CONFIG_INPUT_IDEAPAD_SLIDEBAR) += ideapad_slidebar.o
+obj-$(CONFIG_SENSORS_AP314AQ) += ap314aq.o
obj-$(CONFIG_INPUT_PIXART_OTS_PAT9125_SWITCH) += ots_pat9125/
obj-$(CONFIG_STMVL53L0X) += vl53l0x/
diff --git a/drivers/input/misc/ap314aq.c b/drivers/input/misc/ap314aq.c
new file mode 100644
index 0000000..16fcd16
--- /dev/null
+++ b/drivers/input/misc/ap314aq.c
@@ -0,0 +1,1507 @@
+/*
+ * This file is part of the AP3426, AP314AQ ,AP3212C and AP3216C sensor driver.
+ * AP314AQ is combined proximity and ambient light sensor.
+ * AP3216C is combined proximity, ambient light sensor and IRLED.
+ *
+ * Contact: John Huang <john.huang@dyna-image.com>
+ * Templeton Tsai <templeton.tsai@dyna-image.com>
+ *
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ *
+ * Filename: ap314aq.c
+ *
+ * Summary:
+ * AP314AQ device driver.
+ *
+ * Modification History:
+ * Date By Summary
+ * -------- -------- -------------------------------------------------------
+ * 02/02/12 YC 1. Modify irq function to seperate two interrupt routine.
+ * 2. Fix the index of reg array error in em write.
+ * 02/22/12 YC 3. Merge AP3426 and AP3216C into the same driver. (ver 1.8)
+ * 03/01/12 YC Add AP3212C into the driver. (ver 1.8)
+ * 07/25/14 John Ver.2.1 , ported for Nexus 7
+ * 08/21/14 Templeton AP3426 Ver 1.0, ported for Nexus 7
+ * 09/24/14 kevin Modify for Qualcomm8x10 to support device tree
+ */
+
+#include <linux/kernel.h>
+#include <linux/i2c-dev.h>
+#include <linux/module.h>
+#include <linux/init.h>
+#include <linux/slab.h>
+#include <linux/i2c.h>
+#include <linux/mutex.h>
+#include <linux/delay.h>
+#include <linux/interrupt.h>
+#include <linux/pm_wakeup.h>
+#include <linux/input.h>
+#include <linux/string.h>
+#include <linux/miscdevice.h>
+#include <linux/uaccess.h>
+#include <linux/workqueue.h>
+#include <linux/timer.h>
+#include <linux/gpio.h>
+#include <linux/of_gpio.h>
+#include "ap314aq.h"
+#include <linux/regulator/consumer.h>
+#include <linux/ioctl.h>
+
+#define AP314AQ_DRV_NAME "ap314aq"
+#define DRIVER_VERSION "1.0"
+//#define AP314AQ_DEBUG_MORE
+
+#define PL_TIMER_DELAY 200
+
+/* misc define */
+#define MIN_ALS_POLL_DELAY_MS 110
+
+
+#define AP314AQ_VDD_MIN_UV 2000000
+#define AP314AQ_VDD_MAX_UV 3300000
+#define AP314AQ_VIO_MIN_UV 1750000
+#define AP314AQ_VIO_MAX_UV 1950000
+
+#define LSC_DBG
+#ifdef LSC_DBG
+#define LDBG(s,args...) {printk("LDBG: func [%s], line [%d], ",__func__,__LINE__); printk(s,## args);}
+#else
+#define LDBG(s,args...) {}
+#endif
+
+static void pl_timer_callback(unsigned long pl_data);
+static int ap314aq_power_ctl(struct ap314aq_data *data, bool on);
+static int ap314aq_power_init(struct ap314aq_data*data, bool on);
+static int ap314aq_read_cal_data(char *file_path);
+
+static struct ap314aq_data *private_pl_data = NULL;
+// AP314AQ register
+static u8 ap314aq_reg_to_idx_array[AP314AQ_MAX_REG_NUM] = {
+ 0, 1, 2, 0xff, 0xff, 0xff, 3, 0xff,
+ 0xff, 0xff, 4, 5, 6, 7, 8, 9,
+ 10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 11, 12, 13, 14, 0xff, 0xff,
+ 15, 16, 17, 18, 19, 20, 21, 0xff,
+ 22, 23, 24, 25, 26, 27 //20-2f
+};
+static u8 ap314aq_reg[AP314AQ_NUM_CACHABLE_REGS] = {
+ 0x00,0x01,0x02,0x06,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,
+ 0x10,0x1A,0x1B,0x1C,0x1D,0x20,0x21,0x22,0x23,0x24,
+ 0x25,0x26,0x28,0x29,0x2A,0x2B,0x2C,0x2D
+};
+// AP314AQ range
+static int ap314aq_range[4] = {32768,8192,2048,512};
+//static u16 ap314aq_threshole[8] = {28,444,625,888,1778,3555,7222,0xffff};
+
+static u8 *reg_array = ap314aq_reg;
+static int *range = ap314aq_range;
+
+static int misc_ps_opened = 0;
+
+struct regulator *vdd;
+struct regulator *vio;
+bool power_enabled;
+/*
+ * register access helpers
+ */
+
+static struct sensors_classdev sensors_proximity_cdev = {
+ .name = "ap314aq-llob",
+ .vendor = "DYNA IMAGE",
+ .version = 1,
+ .handle = SENSORS_OFFBODY_DETEC_HANDLE,
+ .type = SENSOR_TYPE_LOW_LATENCY_OFFBODY_DETECT,
+ .max_range = "2.0",
+ .resolution = "2.0",
+ .sensor_power = "0.1",
+ .min_delay = 0,
+ .fifo_reserved_event_count = 0,
+ .fifo_max_event_count = 0,
+ .enabled = 0,
+ .delay_msec = 200,
+ .sensors_enable = NULL,
+ .sensors_poll_delay = NULL,
+};
+
+static int __ap314aq_read_reg(struct i2c_client *client,
+ u32 reg, u8 mask, u8 shift)
+{
+ struct ap314aq_data *data = i2c_get_clientdata(client);
+
+ return (data->reg_cache[ap314aq_reg_to_idx_array[reg]] & mask) >> shift;
+}
+
+static int __ap314aq_write_reg(struct i2c_client *client,
+ u32 reg, u8 mask, u8 shift, u8 val)
+{
+ struct ap314aq_data *data = i2c_get_clientdata(client);
+ int ret = 0;
+ u8 tmp;
+
+ tmp = data->reg_cache[ap314aq_reg_to_idx_array[reg]];
+ tmp &= ~mask;
+ tmp |= val << shift;
+
+ ret = i2c_smbus_write_byte_data(client, reg, tmp);
+ if (!ret)
+ data->reg_cache[ap314aq_reg_to_idx_array[reg]] = tmp;
+
+ return ret;
+}
+
+/*
+ * internally used functions
+ */
+
+/* range */
+static int ap314aq_get_range(struct i2c_client *client)
+{
+ u8 idx = __ap314aq_read_reg(client, AP314AQ_REG_ALS_CONF,
+ AP314AQ_ALS_RANGE_MASK, AP314AQ_ALS_RANGE_SHIFT);
+ return range[idx];
+}
+
+static int ap314aq_set_range(struct i2c_client *client, int range)
+{
+ return __ap314aq_write_reg(client, AP314AQ_REG_ALS_CONF,
+ AP314AQ_ALS_RANGE_MASK, AP314AQ_ALS_RANGE_SHIFT, range);
+}
+
+/* mode */
+static int ap314aq_get_mode(struct i2c_client *client)
+{
+ int ret;
+
+ ret = __ap314aq_read_reg(client, AP314AQ_REG_SYS_CONF,
+ AP314AQ_REG_SYS_CONF_MASK, AP314AQ_REG_SYS_CONF_SHIFT);
+ return ret;
+}
+
+static int ap314aq_set_mode(struct i2c_client *client, int mode)
+{
+ int ret;
+
+#ifdef AP314AQ_DEBUG_MORE
+ LDBG("%s, mode = %d\n", __func__, mode);
+#endif
+ misc_ps_opened = mode & AP314AQ_SYS_ALS_ENABLE;
+
+ ret = __ap314aq_write_reg(client, AP314AQ_REG_SYS_CONF,
+ AP314AQ_REG_SYS_CONF_MASK, AP314AQ_REG_SYS_CONF_SHIFT, mode);
+ return ret;
+}
+
+/* PX low threshold */
+static int ap314aq_get_plthres(struct i2c_client *client)
+{
+ int lsb, msb;
+
+ lsb = i2c_smbus_read_byte_data(client, AP314AQ_REG_PS_THDL_L);
+ msb = i2c_smbus_read_byte_data(client, AP314AQ_REG_PS_THDL_H);
+ return ((msb << 8) | lsb);
+}
+
+static int ap314aq_set_plthres(struct i2c_client *client, int val)
+{
+ int lsb, msb, err;
+
+ msb = val >> 8;
+ lsb = val & AP314AQ_REG_PS_THDL_L_MASK;
+
+ err = __ap314aq_write_reg(client, AP314AQ_REG_PS_THDL_L,
+ AP314AQ_REG_PS_THDL_L_MASK, AP314AQ_REG_PS_THDL_L_SHIFT, lsb);
+ if (err)
+ return err;
+
+ err = __ap314aq_write_reg(client, AP314AQ_REG_PS_THDL_H,
+ AP314AQ_REG_PS_THDL_H_MASK, AP314AQ_REG_PS_THDL_H_SHIFT, msb);
+
+ return err;
+}
+
+/* PX high threshold */
+static int ap314aq_get_phthres(struct i2c_client *client)
+{
+ int lsb, msb;
+ lsb = i2c_smbus_read_byte_data(client, AP314AQ_REG_PS_THDH_L);
+ msb = i2c_smbus_read_byte_data(client, AP314AQ_REG_PS_THDH_H);
+ return ((msb << 8) | lsb);
+}
+
+static int ap314aq_set_phthres(struct i2c_client *client, int val)
+{
+ int lsb, msb, err;
+
+ msb = val >> 8;
+ lsb = val & AP314AQ_REG_PS_THDH_L_MASK;
+
+ err = __ap314aq_write_reg(client, AP314AQ_REG_PS_THDH_L,
+ AP314AQ_REG_PS_THDH_L_MASK, AP314AQ_REG_PS_THDH_L_SHIFT, lsb);
+ if (err)
+ return err;
+
+ err = __ap314aq_write_reg(client, AP314AQ_REG_PS_THDH_H,
+ AP314AQ_REG_PS_THDH_H_MASK, AP314AQ_REG_PS_THDH_H_SHIFT, msb);
+
+ return err;
+}
+/* reset p sensor pthreshold include calibration data */
+static int ap314aq_set_ps_thres(struct i2c_client *client)
+{
+ int value_l, value_h;
+
+#if 0
+ if (n2f > 0 && n2f < AP314AQ_PS_THRESHOLD_LOW){
+ value_l = n2f/AP314AQ_PS_CAL_GAIN;
+ }
+ else{
+ value_l = AP314AQ_PS_THRESHOLD_LOW/AP314AQ_PS_CAL_GAIN;
+ }
+#endif
+ value_l = AP314AQ_PS_THRESHOLD_LOW; //Using golden value to setting the low threshold
+ value_h = AP314AQ_PS_THRESHOLD_HIGH;
+
+ ap314aq_set_plthres(client, value_l);
+ ap314aq_set_phthres(client, value_h);
+ LDBG("Complete to set plthres = %d, phthres = %d\n", value_l, value_h);
+
+ return 0;
+}
+
+static int ap314aq_get_object(struct i2c_client *client)
+{
+ int val;
+
+ val = i2c_smbus_read_byte_data(client, AP314AQ_OBJ_COMMAND);
+ LDBG("val=%x\n", val);
+ val &= AP314AQ_OBJ_MASK;
+
+// return val >> AP314AQ_OBJ_SHIFT;
+ return (val >> AP314AQ_OBJ_SHIFT);
+}
+
+static int ap314aq_get_intstat(struct i2c_client *client)
+{
+ int val;
+
+ val = i2c_smbus_read_byte_data(client, AP314AQ_REG_SYS_INTSTATUS);
+ val &= AP314AQ_REG_SYS_INT_MASK;
+
+ return val >> AP314AQ_REG_SYS_INT_SHIFT;
+}
+
+static int ap314aq_get_px_value(struct i2c_client *client)
+{
+ int lsb, msb;
+
+ lsb = i2c_smbus_read_byte_data(client, AP314AQ_REG_PS_DATA_LOW);
+
+ if (lsb < 0)
+ return lsb;
+
+ msb = i2c_smbus_read_byte_data(client, AP314AQ_REG_PS_DATA_HIGH);
+
+ if (msb < 0)
+ return msb;
+
+ LDBG("%s, IR(lsb) = %d, IR(msb) = %d\n", __func__, (u32)(lsb), (u32)(msb));
+ return (u32)(((msb & AL314AQ_REG_PS_DATA_HIGH_MASK) << 8) | (lsb & AL314AQ_REG_PS_DATA_LOW_MASK));
+}
+
+static int ap314aq_ps_enable(struct ap314aq_data *ps_data,int enable)
+{
+ int32_t ret;
+#ifdef AP314AQ_DEBUG_MORE
+ LDBG("%s, misc_ps_opened = %d, enable= %d \n", __func__, misc_ps_opened, enable);
+#endif
+ if(misc_ps_opened == enable){
+ if(enable)
+ queue_work(ps_data->psensor_wq, &ps_data->psensor_work);
+ return 0;
+ }
+
+ if(enable && !(ps_data->load_cal))
+ {
+ ap314aq_set_ps_thres(ps_data->client);
+ ps_data->load_cal = true;
+ }
+ misc_ps_opened = enable;
+ ret = __ap314aq_write_reg(ps_data->client,
+ AP314AQ_REG_SYS_CONF, AP314AQ_REG_SYS_INT_PMASK, 1, enable);
+ if(ret < 0){
+ printk("ps enable error!!!!!!\n");
+ }
+
+ if(enable) {
+ ret = mod_timer(&ps_data->pl_timer, jiffies + msecs_to_jiffies(PL_TIMER_DELAY));
+ enable_irq(ps_data->client->irq);
+ enable_irq_wake(ps_data->client->irq);
+ }
+
+ return ret;
+}
+
+/*********************************************************************
+proximity sensor register & unregister
+********************************************************************/
+static ssize_t ps_enable_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ int32_t ret;
+#ifdef AP314AQ_DEBUG_MORE
+ LDBG("%s : start..\n", __func__);
+#endif
+
+ ret = misc_ps_opened;
+ return scnprintf(buf, PAGE_SIZE, "%d\n", ret);
+}
+
+static ssize_t ps_enable_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t size)
+{
+ struct ap314aq_data *ps_data = dev_get_drvdata(dev);
+ uint8_t en;
+#ifdef AP314AQ_DEBUG_MORE
+ LDBG("%s : start(en=%s)..\n", __func__,buf);
+#endif
+ if (sysfs_streq(buf, "1"))
+ en = 1;
+ else if (sysfs_streq(buf, "0"))
+ en = 0;
+ else
+ {
+ printk(KERN_ERR "%s, invalid value %d\n", __func__, *buf);
+ return -EINVAL;
+ }
+ LDBG("%s, en = %d\n", __func__, (u32)(en));
+ ap314aq_ps_enable(ps_data, en);
+ return size;
+}
+
+static struct device_attribute ps_enable_attribute = __ATTR(enable, 0664 , ps_enable_show, ps_enable_store);
+
+static struct attribute *ap314aq_ps_attrs [] =
+{
+ &ps_enable_attribute.attr,
+ NULL
+};
+
+static struct attribute_group ap314aq_ps_attribute_group = {
+ .attrs = ap314aq_ps_attrs,
+};
+
+static int ap314aq_register_psensor_device(struct i2c_client *client, struct ap314aq_data *data)
+{
+ struct input_dev *input_dev;
+ int rc;
+
+ LDBG("allocating input device psensor\n");
+ input_dev = input_allocate_device();
+ if (!input_dev) {
+ dev_err(&client->dev,"%s: could not allocate input device for psensor\n", __FUNCTION__);
+ rc = -ENOMEM;
+ goto done;
+ }
+ data->psensor_input_dev = input_dev;
+ input_set_drvdata(input_dev, data);
+ input_dev->name = "llob";
+ input_dev->dev.parent = &client->dev;
+ set_bit(EV_ABS, input_dev->evbit);
+ input_set_abs_params(input_dev, ABS_DISTANCE, 0, 1, 0, 0);
+
+ rc = input_register_device(input_dev);
+ if (rc < 0) {
+ pr_err("%s: could not register input device for psensor\n", __FUNCTION__);
+ goto done;
+ }
+
+ rc = sysfs_create_group(&input_dev->dev.kobj, &ap314aq_ps_attribute_group);// every devices register his own devices
+
+done:
+ return rc;
+}
+
+static void ap314aq_unregister_psensor_device(struct i2c_client *client, struct ap314aq_data *data)
+{
+ input_unregister_device(data->psensor_input_dev);
+}
+
+/* range */
+static ssize_t ap314aq_show_range(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct input_dev *input = to_input_dev(dev);
+ struct ap314aq_data *data = input_get_drvdata(input);
+#ifdef AP314AQ_DEBUG_MORE
+ LDBG("%s : start..\n", __func__);
+#endif
+ return sprintf(buf, "%i\n", ap314aq_get_range(data->client));
+}
+
+static ssize_t ap314aq_store_range(struct device *dev,
+ struct device_attribute *attr,
+ const char *buf, size_t count)
+{
+ struct input_dev *input = to_input_dev(dev);
+ struct ap314aq_data *data = input_get_drvdata(input);
+ unsigned long val;
+ int ret;
+#ifdef AP314AQ_DEBUG_MORE
+ LDBG("%s : start..\n", __func__);
+#endif
+
+ if ((kstrtoul(buf, 10, &val) < 0) || (val > 3))
+ return -EINVAL;
+
+ ret = ap314aq_set_range(data->client, val);
+
+ return (ret < 0)? ret:count;
+}
+
+static DEVICE_ATTR(range, S_IWUSR | S_IRUGO,
+ ap314aq_show_range, ap314aq_store_range);
+
+//kevindang for msm8916 20141010
+static ssize_t ap314aq_ps_enable_set(struct sensors_classdev *sensors_cdev,
+ unsigned int enabled)
+{
+ struct ap314aq_data *ps_data = container_of(sensors_cdev,
+ struct ap314aq_data, ps_cdev);
+ int err;
+#ifdef AP314AQ_DEBUG_MORE
+ LDBG("%s : start (enabled=%d )..\n", __func__,enabled);
+#endif
+
+ err = ap314aq_ps_enable(ps_data,enabled);
+
+
+ if (err < 0)
+ return err;
+ return 0;
+}
+
+
+//end
+static int ap314aq_power_ctl(struct ap314aq_data *data, bool on)
+{
+ int ret = 0;
+#ifdef AP314AQ_DEBUG_MORE
+ LDBG("%s : start (on=%d :power_enabled=%d )..\n", __func__,on,data->power_enabled);
+#endif
+ if (!on && data->power_enabled)
+ {
+ ret = regulator_disable(data->vdd);
+ if (ret)
+ {
+ dev_err(&data->client->dev,
+ "Regulator vdd disable failed ret=%d\n", ret);
+ return ret;
+ }
+
+ ret = regulator_disable(data->vio);
+ if (ret)
+ {
+ dev_err(&data->client->dev,
+ "Regulator vio disable failed ret=%d\n", ret);
+ ret = regulator_enable(data->vdd);
+ if (ret)
+ {
+ dev_err(&data->client->dev,
+ "Regulator vdd enable failed ret=%d\n",
+ ret);
+ }
+ return ret;
+ }
+
+ data->power_enabled = on;
+ printk(KERN_INFO "%s: disable ap314aq power", __func__);
+ dev_dbg(&data->client->dev, "ap314aq_power_ctl on=%d\n",
+ on);
+ }
+ else if (on && !data->power_enabled)
+ {
+ ret = regulator_enable(data->vdd);
+ if (ret)
+ {
+ dev_err(&data->client->dev,
+ "Regulator vdd enable failed ret=%d\n", ret);
+ return ret;
+ }
+ msleep(15);
+ ret = regulator_enable(data->vio);
+ if (ret)
+ {
+ dev_err(&data->client->dev,
+ "Regulator vio enable failed ret=%d\n", ret);
+ regulator_disable(data->vdd);
+ return ret;
+ }
+
+ data->power_enabled = on;
+ printk(KERN_INFO "%s: enable ap314aq power", __func__);
+ }
+ else
+ {
+ dev_warn(&data->client->dev,
+ "Power on=%d. enabled=%d\n",
+ on, data->power_enabled);
+ }
+
+ return ret;
+}
+
+static int ap314aq_power_init(struct ap314aq_data*data, bool on)
+{
+ int ret;
+#ifdef AP314AQ_DEBUG_MORE
+ LDBG("%s : start (on=%d)..\n", __func__,on);
+#endif
+
+ if (!on)
+ {
+ if (regulator_count_voltages(data->vdd) > 0)
+ regulator_set_voltage(data->vdd,
+ 0, AP314AQ_VDD_MAX_UV);
+
+ regulator_put(data->vdd);
+
+ if (regulator_count_voltages(data->vio) > 0)
+ regulator_set_voltage(data->vio,
+ 0, AP314AQ_VIO_MAX_UV);
+
+ regulator_put(data->vio);
+ }
+ else
+ {
+ data->vdd = regulator_get(&data->client->dev, "vdd");
+ if (IS_ERR(data->vdd))
+ {
+ ret = PTR_ERR(data->vdd);
+ dev_err(&data->client->dev,
+ "Regulator get failed vdd ret=%d\n", ret);
+ return ret;
+ }
+
+ if (regulator_count_voltages(data->vdd) > 0)
+ {
+ ret = regulator_set_voltage(data->vdd,
+ AP314AQ_VDD_MIN_UV,
+ AP314AQ_VDD_MAX_UV);
+ if (ret)
+ {
+ dev_err(&data->client->dev,
+ "Regulator set failed vdd ret=%d\n",
+ ret);
+ goto reg_vdd_put;
+ }
+ }
+
+ data->vio = regulator_get(&data->client->dev, "vio");
+ if (IS_ERR(data->vio))
+ {
+ ret = PTR_ERR(data->vio);
+ dev_err(&data->client->dev,
+ "Regulator get failed vio ret=%d\n", ret);
+ goto reg_vdd_set;
+ }
+
+ if (regulator_count_voltages(data->vio) > 0)
+ {
+ ret = regulator_set_voltage(data->vio,
+ AP314AQ_VIO_MIN_UV,
+ AP314AQ_VIO_MAX_UV);
+ if (ret)
+ {
+ dev_err(&data->client->dev,
+ "Regulator set failed vio ret=%d\n", ret);
+ goto reg_vio_put;
+ }
+ }
+ }
+
+ return 0;
+
+reg_vio_put:
+ regulator_put(data->vio);
+reg_vdd_set:
+ if (regulator_count_voltages(data->vdd) > 0)
+ regulator_set_voltage(data->vdd, 0, AP314AQ_VDD_MAX_UV);
+reg_vdd_put:
+ regulator_put(data->vdd);
+ return ret;
+}
+
+
+/* mode */
+static ssize_t ap314aq_show_mode(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct input_dev *input = to_input_dev(dev);
+ struct ap314aq_data *data = input_get_drvdata(input);
+ return sprintf(buf, "%d\n", ap314aq_get_mode(data->client));
+}
+
+static ssize_t ap314aq_store_mode(struct device *dev,
+ struct device_attribute *attr, const char *buf, size_t count)
+{
+ struct input_dev *input = to_input_dev(dev);
+ struct ap314aq_data *data = input_get_drvdata(input);
+ unsigned long val;
+ int ret;
+
+ if ((kstrtoul(buf, 10, &val) < 0) || (val > 7))
+ return -EINVAL;
+
+ ret = ap314aq_set_mode(data->client, val);
+
+ if (ret < 0)
+ return ret;
+ LDBG("Starting timer to fire in 200ms (%ld)\n", jiffies );
+ ret = mod_timer(&data->pl_timer, jiffies + msecs_to_jiffies(PL_TIMER_DELAY));
+
+ if(ret)
+ LDBG("Timer Error\n");
+ return count;
+}
+
+static DEVICE_ATTR(mode, 0664 ,
+ ap314aq_show_mode, ap314aq_store_mode);
+
+/* Px data */
+static ssize_t ap314aq_show_pxvalue(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct input_dev *input = to_input_dev(dev);
+ struct ap314aq_data *data = input_get_drvdata(input);
+
+ /* No Px data if power down */
+ if (ap314aq_get_mode(data->client) == AP314AQ_SYS_DEV_DOWN)
+ return -EBUSY;
+
+ return sprintf(buf, "%d\n", ap314aq_get_px_value(data->client));
+}
+
+static DEVICE_ATTR(pxvalue, S_IRUGO, ap314aq_show_pxvalue, NULL);
+
+
+/* proximity object detect */
+static ssize_t ap314aq_show_object(struct device *dev,
+ struct device_attribute *attr,
+ char *buf)
+{
+ struct input_dev *input = to_input_dev(dev);
+ struct ap314aq_data *data = input_get_drvdata(input);
+ return sprintf(buf, "%d\n", ap314aq_get_object(data->client));
+}
+
+static DEVICE_ATTR(object, S_IRUGO, ap314aq_show_object, NULL);
+
+/* proximity ping detect */
+static ssize_t ap314aq_show_ping(struct device *dev,
+ struct device_attribute *attr,
+ char *buf)
+{
+ struct input_dev *input = to_input_dev(dev);
+ struct ap314aq_data *data = input_get_drvdata(input);
+ int val,pass;
+
+ val = ap314aq_get_phthres(data->client);
+ if(val == AP314AQ_PS_THRESHOLD_HIGH)
+ pass=1;
+ else
+ pass=0;
+ LDBG("val=%d, PS_THRESHOLD_HIGH=%d : pass=%d\n",val,AP314AQ_PS_THRESHOLD_HIGH,pass);
+
+ return sprintf(buf, "Ping : %d\n",pass );
+}
+
+static DEVICE_ATTR(ping, S_IRUGO, ap314aq_show_ping, NULL);
+
+/* Px low threshold */
+static ssize_t ap314aq_show_plthres(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct input_dev *input = to_input_dev(dev);
+ struct ap314aq_data *data = input_get_drvdata(input);
+ return sprintf(buf, "%d\n", ap314aq_get_plthres(data->client));
+}
+
+static ssize_t ap314aq_store_plthres(struct device *dev,
+ struct device_attribute *attr, const char *buf, size_t count)
+{
+ struct input_dev *input = to_input_dev(dev);
+ struct ap314aq_data *data = input_get_drvdata(input);
+ unsigned long val;
+ int ret;
+
+ if (kstrtoul(buf, 10, &val) < 0)
+ return -EINVAL;
+
+ ret = ap314aq_set_plthres(data->client, val);
+ if (ret < 0)
+ return ret;
+
+ return count;
+}
+
+static DEVICE_ATTR(plthres, S_IWUSR | S_IRUGO,
+ ap314aq_show_plthres, ap314aq_store_plthres);
+
+/* Px high threshold */
+static ssize_t ap314aq_show_phthres(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct input_dev *input = to_input_dev(dev);
+ struct ap314aq_data *data = input_get_drvdata(input);
+ return sprintf(buf, "%d\n", ap314aq_get_phthres(data->client));
+}
+
+static ssize_t ap314aq_store_phthres(struct device *dev,
+ struct device_attribute *attr, const char *buf, size_t count)
+{
+ struct input_dev *input = to_input_dev(dev);
+ struct ap314aq_data *data = input_get_drvdata(input);
+ unsigned long val;
+ int ret;
+
+ if (kstrtoul(buf, 10, &val) < 0)
+ return -EINVAL;
+
+ ret = ap314aq_set_phthres(data->client, val);
+ if (ret < 0)
+ return ret;
+
+ return count;
+}
+
+static DEVICE_ATTR(phthres, S_IWUSR | S_IRUGO,
+ ap314aq_show_phthres, ap314aq_store_phthres);
+
+/* read p sensor calibration data */
+static int ap314aq_read_cal_data(char *file_path)
+{
+ struct file *cal_filp = NULL;
+ mm_segment_t old_fs;
+ char buf[128];
+ int val = 0;
+
+ old_fs = get_fs();
+ set_fs(KERNEL_DS);
+ cal_filp = filp_open(file_path, O_RDONLY, 0666);
+
+ if (IS_ERR(cal_filp))
+ {
+ LDBG(" : Can't open calibration file (%s)\n", file_path);
+ set_fs(old_fs);
+ return AP314AQ_PS_THRESHOLD_BIAS;
+ }
+
+ memset(buf,'\0',sizeof(buf));
+ cal_filp->f_op->read(cal_filp, buf, sizeof(buf), &cal_filp->f_pos);
+
+ if (kstrtouint(buf, 10, &val) < 0){
+ LDBG(" : read calibration file error (%s)!\n", file_path);
+ return AP314AQ_PS_THRESHOLD_BIAS;
+ }
+
+ filp_close(cal_filp, current->files);
+ set_fs(old_fs);
+
+ return val;
+}
+/* Write p sensor calibration data */
+static int ap314aq_write_cal_data(char *file_path, uint32_t adc_value)
+{
+ struct file *cal_filp = NULL;
+ mm_segment_t old_fs;
+ char result_buf[128];
+ int w_len=0;
+ int ret = 0;
+ old_fs = get_fs();
+ set_fs(KERNEL_DS);
+ cal_filp = filp_open(file_path, O_CREAT | O_TRUNC | O_WRONLY, 0666);
+
+ if (IS_ERR(cal_filp))
+ {
+ LDBG(" : Can't create calibration file (%s)\n", file_path);
+ set_fs(old_fs);
+ return -1;
+ }
+
+ memset(result_buf,'\0',sizeof(result_buf));
+ w_len = sprintf(result_buf, "%d", adc_value);
+ ret = cal_filp->f_op->write(cal_filp, result_buf, w_len, &cal_filp->f_pos);
+
+ if (ret != w_len)
+ {
+ LDBG(" : write calibration file error (%s)!\n", file_path);
+ return -2;
+ }
+
+ filp_close(cal_filp, current->files);
+ set_fs(old_fs);
+ return 0;
+}
+/* Get P sensor average adc */
+static int ap314aq_read_ps_adc_value(struct i2c_client *client, uint32_t *adc_value)
+{
+ static const int count = 5;
+ int total_adc = 0 ;
+ int i = 0 ;
+ //Reset the wait time to 0 & disable INT
+ i2c_smbus_write_byte_data(client,AP314AQ_REG_SYS_WAITTIME,0);
+ i2c_smbus_write_byte_data(client,AP314AQ_REG_SYS_INTCTRL,AP314AQ_SYS_DEV_INT_DISABLE);
+ //enable p
+ i2c_smbus_write_byte_data(client,AP314AQ_REG_SYS_CONF,AP314AQ_SYS_PS_ENABLE);
+
+ for(i = 0 ; i < count ; i++)
+ {
+ int tmp_adc = 0;
+ msleep(10);
+ tmp_adc = ap314aq_get_px_value(client);
+ if(tmp_adc < 0){
+ LDBG(" : get px value Fail = %d \n", tmp_adc);
+ return -1;
+ }
+ total_adc += tmp_adc;
+ LDBG(" : count = %d , adc = %d, total_adc = %d\n", i, tmp_adc,total_adc);
+ }
+ //Recover the wait time to default & enable P INT
+ i2c_smbus_write_byte_data(client,AP314AQ_REG_SYS_WAITTIME,AP314AQ_WAITING_TIME);
+ i2c_smbus_write_byte_data(client,AP314AQ_REG_SYS_INTCTRL,AP314AQ_SYS_PS_INT_ENABLE);
+ //disable p
+ i2c_smbus_write_byte_data(client,AP314AQ_REG_SYS_CONF,AP314AQ_SYS_DEV_DOWN);
+ misc_ps_opened = 0;
+ *adc_value = (int)total_adc/count;
+ return 0;
+}
+
+/* P sensor calibration bias*/
+static ssize_t ap314aq_show_pxcal(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct input_dev *input = to_input_dev(dev);
+ struct ap314aq_data *data = input_get_drvdata(input);
+ uint32_t adc_value =0;
+ int ret = 0;
+
+ ret = ap314aq_read_ps_adc_value(data->client,&adc_value);
+ if (ret < 0)
+ {
+ LDBG(" : read ps adc value Fail = %d \n", adc_value);
+ ret = sprintf(buf, "Fail : %d\n", adc_value);
+ return ret;
+ }
+ ret = ap314aq_write_cal_data(AP314AQ_CLAIBRATION_BIAS_PATH,adc_value);
+ LDBG(" K1 criteria rule : %d need < %d\n", adc_value, AP314AQ_K1_CRITERIA);
+ if (ret < 0 || adc_value >= AP314AQ_K1_CRITERIA){
+ ret = sprintf(buf, "Fail : %d\n", adc_value);
+ }
+ else{
+ ret = sprintf(buf, "Pass : %d\n", adc_value);
+ }
+ return ret;
+}
+
+static DEVICE_ATTR(pxcal, S_IWUSR | S_IRUGO,
+ ap314aq_show_pxcal, NULL);
+
+/* P sensor calibration near to far */
+static ssize_t ap314aq_show_pxcal2(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct input_dev *input = to_input_dev(dev);
+ struct ap314aq_data *data = input_get_drvdata(input);
+ uint32_t adc_value =0;
+ int ret = 0;
+ int k1 = ap314aq_read_cal_data(AP314AQ_CLAIBRATION_BIAS_PATH);
+
+ ret = ap314aq_read_ps_adc_value(data->client,&adc_value);
+ if (ret < 0)
+ {
+ LDBG(" : read ps adc value Fail = %d \n", adc_value);
+ ret = sprintf(buf, "Fail : %d\n", adc_value);
+ return ret;
+ }
+
+ ret = ap314aq_write_cal_data(AP314AQ_CLAIBRATION_N2F_PATH,adc_value);
+ LDBG(" K2 criteria rule : ( %d - %d ) = %d need > %d\n", adc_value, k1, (adc_value-k1), AP314AQ_K2_CRITERIA);
+ if (ret < 0 || ((int)(adc_value - k1) <= AP314AQ_K2_CRITERIA)){
+ ret = sprintf(buf, "Fail : %d\n", adc_value);
+ }
+ else{
+ ret = sprintf(buf, "Pass : %d\n", adc_value);
+ }
+ msleep(10);
+ ap314aq_set_ps_thres(data->client);
+ return ret;
+}
+
+static DEVICE_ATTR(pxcal2, S_IWUSR | S_IRUGO,
+ ap314aq_show_pxcal2, NULL);
+
+/* P sensor get avg raw */
+static ssize_t ap314aq_show_pxavgerage(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct input_dev *input = to_input_dev(dev);
+ struct ap314aq_data *data = input_get_drvdata(input);
+ uint32_t adc_value =0;
+ int ret = 0;
+
+ ret = ap314aq_read_ps_adc_value(data->client,&adc_value);
+ if (ret < 0)
+ LDBG(" : read ps adc value Fail = %d \n", adc_value);
+ ret = sprintf(buf, "%d\n",adc_value);
+ return ret;
+}
+
+static DEVICE_ATTR(pxavg, S_IWUSR | S_IRUGO,
+ ap314aq_show_pxavgerage, NULL);
+
+#ifdef LSC_DBG
+/* engineer mode */
+static ssize_t ap314aq_em_read(struct device *dev,
+ struct device_attribute *attr,
+ char *buf)
+{
+ struct i2c_client *client = to_i2c_client(dev);
+ struct ap314aq_data *data = i2c_get_clientdata(client);
+ int i;
+ u8 tmp;
+
+ LDBG("%s..start!\n", __func__);
+
+ for (i = 0; i < AP314AQ_NUM_CACHABLE_REGS; i++)
+ {
+ tmp = i2c_smbus_read_byte_data(data->client, reg_array[i]);
+ LDBG("%s : Reg[0x%x] Val[0x%x]\n", __func__, reg_array[i], tmp);
+ }
+
+ return 0;
+}
+
+static ssize_t ap314aq_em_write(struct device *dev,
+ struct device_attribute *attr,
+ const char *buf, size_t count)
+{
+ struct i2c_client *client = to_i2c_client(dev);
+ struct ap314aq_data *data = i2c_get_clientdata(client);
+ u32 addr,val;
+ int ret = 0;
+
+ LDBG("DEBUG ap314aq_em_write..\n");
+
+ sscanf(buf, "%x%x", &addr, &val);
+
+ printk("Write [%x] to Reg[%x]...\n",val,addr);
+
+ ret = i2c_smbus_write_byte_data(data->client, addr, val);
+ if (!ret)
+ data->reg_cache[ap314aq_reg_to_idx_array[addr]] = val;
+
+ return count;
+}
+static DEVICE_ATTR(em, S_IWUSR |S_IRUGO,
+ ap314aq_em_read, ap314aq_em_write);
+#endif
+
+static struct attribute *ap314aq_attributes[] = {
+ &dev_attr_range.attr,
+ &dev_attr_mode.attr,
+ &dev_attr_object.attr,
+ &dev_attr_ping.attr,
+ &dev_attr_pxvalue.attr,
+ &dev_attr_plthres.attr,
+ &dev_attr_phthres.attr,
+ &dev_attr_pxcal.attr,
+ &dev_attr_pxcal2.attr,
+ &dev_attr_pxavg.attr,
+#ifdef LSC_DBG
+ &dev_attr_em.attr,
+#endif
+ NULL
+};
+
+static const struct attribute_group ap314aq_attr_group = {
+ .attrs = ap314aq_attributes,
+};
+
+static int ap314aq_init_client(struct i2c_client *client)
+{
+ struct ap314aq_data *data = i2c_get_clientdata(client);
+ int i,lsb, msb;
+#ifdef AP314AQ_DEBUG_MORE
+ LDBG("%s: start..\n", __func__);
+#endif
+ /*Init control : Only PS INT enable*/
+ i2c_smbus_write_byte_data(client,AP314AQ_REG_SYS_INTCTRL,AP314AQ_SYS_PS_INT_ENABLE);
+ /*Set wait time*/
+ i2c_smbus_write_byte_data(client,AP314AQ_REG_SYS_WAITTIME,AP314AQ_WAITING_TIME);
+ /*Set p-sensor gain*/
+// i2c_smbus_write_byte_data(client,AP314AQ_REG_PS_CONF,AP314AQ_PS_GAIN_2);
+ /*lsensor high low thread*/
+ i2c_smbus_write_byte_data(client, AP314AQ_REG_ALS_THDL_L, 0);
+ i2c_smbus_write_byte_data(client, AP314AQ_REG_ALS_THDL_H, 0);
+ i2c_smbus_write_byte_data(client, AP314AQ_REG_ALS_THDH_L, 0);
+ i2c_smbus_write_byte_data(client, AP314AQ_REG_ALS_THDH_H, 0);
+ /*psensor high low thread*/
+ msb = AP314AQ_PS_THRESHOLD_LOW >> 8;
+ lsb = AP314AQ_PS_THRESHOLD_LOW & AP314AQ_REG_PS_THDL_L_MASK;
+ i2c_smbus_write_byte_data(client, AP314AQ_REG_PS_THDL_L, lsb);
+ i2c_smbus_write_byte_data(client, AP314AQ_REG_PS_THDL_H, msb);
+
+ msb = AP314AQ_PS_THRESHOLD_HIGH >> 8;
+ lsb = AP314AQ_PS_THRESHOLD_HIGH & AP314AQ_REG_PS_THDH_L_MASK;
+ i2c_smbus_write_byte_data(client, AP314AQ_REG_PS_THDH_L, lsb);
+ i2c_smbus_write_byte_data(client, AP314AQ_REG_PS_THDH_H, msb);
+
+ /* read all the registers once to fill the cache.
+ * if one of the reads fails, we consider the init failed */
+ for (i = 0; i < AP314AQ_NUM_CACHABLE_REGS; i++) {
+ int v = i2c_smbus_read_byte_data(client, reg_array[i]);
+ if (v < 0)
+ return -ENODEV;
+ data->reg_cache[i] = v;
+ }
+ /* set defaults */
+ ap314aq_set_range(client, AP314AQ_ALS_RANGE_0);
+ ap314aq_set_mode(client, AP314AQ_SYS_DEV_DOWN);
+#ifdef AP314AQ_DEBUG_MORE
+ LDBG("%s: finish..\n", __func__);
+#endif
+ return 0;
+}
+
+static int ap314aq_check_id(struct ap314aq_data *data)
+{
+ return 0;
+}
+
+void pl_timer_callback(unsigned long pl_data)
+{
+ struct ap314aq_data *data;
+
+ data = private_pl_data;
+#ifdef AP314AQ_DEBUG_MORE
+ LDBG("%s : ps_open=%d \n",__func__,misc_ps_opened);
+#endif
+ if(1 == misc_ps_opened)
+ {
+ queue_work(data->psensor_wq, &data->psensor_work);
+ }
+
+}
+
+static void psensor_work_handler(struct work_struct *w)
+{
+
+ struct ap314aq_data *data =
+ container_of(w, struct ap314aq_data, psensor_work);
+ struct timespec hw_time = ktime_to_timespec(ktime_get_boottime());
+ int distance,pxvalue;
+
+ distance = ap314aq_get_object(data->client);
+ pxvalue = ap314aq_get_px_value(data->client); //test
+ pm_wakeup_event(&data->psensor_input_dev->dev, 200);
+
+ printk("distance=%d pxvalue=%d\n",distance,pxvalue);
+ input_event(data->psensor_input_dev, EV_SYN, SYN_TIME_SEC, hw_time.tv_sec);
+ input_event(data->psensor_input_dev, EV_SYN, SYN_TIME_NSEC, hw_time.tv_nsec);
+ input_report_abs(data->psensor_input_dev, ABS_DISTANCE, distance);
+ input_sync(data->psensor_input_dev);
+#ifdef AP314AQ_DEBUG_MORE
+ LDBG("%s : distance=%d pxvalue=%d\n", __func__,distance,pxvalue);
+#endif
+}
+
+static void ap314aq_work_handler(struct work_struct *w)
+{
+
+ struct ap314aq_data *data =
+ container_of(w, struct ap314aq_data, ap314aq_work);
+ u8 int_stat;
+ int pxvalue;
+ int distance;
+ struct timespec hw_time = ktime_to_timespec(ktime_get_boottime());
+ int_stat = ap314aq_get_intstat(data->client);
+#ifdef AP314AQ_DEBUG_MORE
+ LDBG("%s start ..(int_stat=0x%x)\n", __func__,int_stat);
+#endif
+
+ if((1 == misc_ps_opened) && (int_stat & AP314AQ_REG_SYS_INT_PMASK))
+ {
+ distance = ap314aq_get_object(data->client);
+ pxvalue = ap314aq_get_px_value(data->client); //test
+ pm_wakeup_event(&data->psensor_input_dev->dev, 200);
+
+ printk("distance=%d pxvalue=%d\n",distance,pxvalue);
+ input_report_abs(data->psensor_input_dev, ABS_DISTANCE, distance);
+ input_event(data->psensor_input_dev, EV_SYN, SYN_TIME_SEC, hw_time.tv_sec);
+ input_event(data->psensor_input_dev, EV_SYN, SYN_TIME_NSEC, hw_time.tv_nsec);
+ input_sync(data->psensor_input_dev);
+#ifdef AP314AQ_DEBUG_MORE
+ LDBG("%s ps_opened : distance=%d pxvalue=%d\n", __func__,distance,pxvalue);
+#endif
+ }
+ enable_irq(data->client->irq);
+ enable_irq_wake(data->client->irq);
+}
+
+static irqreturn_t ap314aq_irq(int irq, void *data_)
+{
+ struct ap314aq_data *data = data_;
+
+ printk("!!!!!!!!!!!!!!!!!!!!!ap314aq_irq !!!!!!!!!!!!!!!! %d , %d\n",data->client->irq,gpio_to_irq(data->int_pin));
+ disable_irq_nosync(data->client->irq);
+ queue_work(data->ap314aq_wq, &data->ap314aq_work);
+
+ return IRQ_HANDLED;
+}
+
+
+#ifdef CONFIG_OF
+static int ap314aq_parse_dt(struct device *dev, struct ap314aq_data *pdata)
+{
+ struct device_node *dt = dev->of_node;
+#ifdef AP314AQ_DEBUG_MORE
+ LDBG("%s : start !!\n", __func__);
+#endif
+ if (pdata == NULL)
+ {
+ LDBG("%s: pdata is NULL\n", __func__);
+ return -EINVAL;
+ }
+ pdata->int_pin = of_get_named_gpio_flags(dt, "ap314aq,irq-gpio",
+ 0, &pdata->irq_flags);
+#ifdef AP314AQ_DEBUG_MORE
+ LDBG("%s : int_pin = %d \n", __func__,pdata->int_pin);
+#endif
+ if (pdata->int_pin < 0)
+ {
+ dev_err(dev, "Unable to read irq-gpio\n");
+ return pdata->int_pin;
+ }
+#ifdef AP314AQ_DEBUG_MORE
+ LDBG("%s : end !!\n", __func__);
+#endif
+ return 0;
+}
+#endif
+
+static int ap314aq_probe(struct i2c_client *client,
+ const struct i2c_device_id *id)
+{
+ struct i2c_adapter *adapter = to_i2c_adapter(client->dev.parent);
+ struct ap314aq_data *data;
+ int err = 0;
+
+ if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
+ {
+ err = -EIO;
+ goto exit_free_gpio;
+ }
+
+ data = kzalloc(sizeof(struct ap314aq_data), GFP_KERNEL);
+ if (!data)
+ {
+ err = -ENOMEM;
+ goto exit_free_gpio;
+ }
+
+#ifdef CONFIG_OF
+ if (client->dev.of_node)
+ {
+ LDBG("Device Tree parsing.");
+
+ err = ap314aq_parse_dt(&client->dev, data);
+#ifdef AP314AQ_DEBUG_MORE
+ LDBG("%s : Device Tree parsing. err = %d\n", __func__,err);
+#endif
+ if (err)
+ {
+ dev_err(&client->dev, "%s: ap314aq_parse_dt "
+ "for pdata failed. err = %d",
+ __func__, err);
+ goto exit_parse_dt_fail;
+ }
+ }
+#else
+ data->irq = client->irq;
+#endif
+
+ data->load_cal = false;
+ data->client = client;
+ i2c_set_clientdata(client, data);
+
+ err = ap314aq_power_init(data, true);
+ if (err)
+ goto err_power_on;
+
+ err = ap314aq_power_ctl(data, true);
+ if (err)
+ goto err_power_ctl;
+
+ /* initialize the AP314AQ chip */
+ msleep(100);
+ err = ap314aq_init_client(client);
+ if (err)
+ goto exit_kfree;
+
+ if(ap314aq_check_id(data) !=0 )
+ {
+ dev_err(&client->dev, "failed to check ap314aq id\n");
+ goto exit_kfree;
+ }
+
+ err = ap314aq_register_psensor_device(client, data);
+ if (err)
+ {
+ dev_err(&client->dev, "failed to register_psensor_device\n");
+ goto exit_free_ps_device;
+ }
+
+ err = gpio_request(data->int_pin,"ap314aq-int");
+ if(err < 0)
+ {
+ printk(KERN_ERR "%s: gpio_request, err=%d", __func__, err);
+ return err;
+ }
+ err = gpio_direction_input(data->int_pin);
+ if(err < 0)
+ {
+ printk(KERN_ERR "%s: gpio_direction_input, err=%d", __func__, err);
+ return err;
+ }
+
+ /* device wakeup initialization */
+ device_init_wakeup(&client->dev, 1);
+
+ err = request_threaded_irq(gpio_to_irq(data->int_pin), NULL, ap314aq_irq,
+ IRQF_TRIGGER_LOW | IRQF_ONESHOT,
+ "ap314aq", data);
+ if (err)
+ {
+ dev_err(&client->dev, "ret: %d, could not get IRQ %d\n",err,gpio_to_irq(data->int_pin));
+ goto exit_free_ps_device;
+ }
+
+ data->psensor_wq = create_singlethread_workqueue("psensor_wq");
+ if (!data->psensor_wq)
+ {
+ LDBG("%s: create psensor_wq workqueue failed\n", __func__);
+ err = -ENOMEM;
+ goto err_create_wq_failed;
+ }
+ INIT_WORK(&data->psensor_work, psensor_work_handler);
+
+ setup_timer(&data->pl_timer, pl_timer_callback, 0);
+
+ err = sysfs_create_group(&data->client->dev.kobj, &ap314aq_attr_group);
+
+ data->ap314aq_wq = create_singlethread_workqueue("ap314aq_wq");
+ if (!data->ap314aq_wq)
+ {
+ LDBG("%s: create ap314aq_wq workqueue failed\n", __func__);
+ err = -ENOMEM;
+ goto err_create_wq_failed;
+ }
+ INIT_WORK(&data->ap314aq_work, ap314aq_work_handler);
+
+
+ data->ps_cdev = sensors_proximity_cdev;
+ data->ps_cdev.sensors_enable = ap314aq_ps_enable_set;
+ err = sensors_classdev_register(&client->dev, &data->ps_cdev);
+ if(err)
+ goto exit_pwoer_ctl;
+
+ private_pl_data = data;
+
+ err = ap314aq_power_ctl(data, true); //kevindnag for msm8916 20141010
+ if (err)
+ goto err_power_on; //end
+
+ dev_info(&client->dev, "Driver version %s enabled\n", DRIVER_VERSION);
+ return 0;
+
+err_create_wq_failed:
+ if(&data->pl_timer != NULL)
+ del_timer(&data->pl_timer);
+ if (data->psensor_wq)
+ destroy_workqueue(data->psensor_wq);
+ if (data->ap314aq_wq)
+ destroy_workqueue(data->ap314aq_wq);
+
+exit_free_ps_device:
+ ap314aq_unregister_psensor_device(client,data);
+
+exit_pwoer_ctl:
+ ap314aq_power_ctl(data, false);
+ sensors_classdev_unregister(&data->ps_cdev);
+
+err_power_on:
+ ap314aq_power_init(data, false);
+
+err_power_ctl:
+
+exit_kfree:
+ kfree(data);
+ device_init_wakeup(&client->dev, 0);
+
+#ifdef CONFIG_OF
+exit_parse_dt_fail:
+
+#ifdef AP314AQ_DEBUG_MORE
+ LDBG("%s : exit_parse_dt_fail: err = %d\n", __func__,err);
+#endif
+return err;
+/*
+ if (client->dev.of_node && data->client->dev.platform_data)
+ kfree(data->client->dev.platform_data);
+*/
+#endif
+exit_free_gpio:
+ return err;
+}
+
+static int ap314aq_remove(struct i2c_client *client)
+{
+ struct ap314aq_data *data = i2c_get_clientdata(client);
+ free_irq(gpio_to_irq(data->int_pin), data);
+
+ ap314aq_power_ctl(data, false);
+
+ sysfs_remove_group(&data->client->dev.kobj, &ap314aq_attr_group);
+
+ sysfs_remove_group(&data->psensor_input_dev->dev.kobj, &ap314aq_ps_attribute_group);// every devices register his own devices
+
+ ap314aq_unregister_psensor_device(client,data);
+
+ ap314aq_power_init(data, false);
+
+ device_init_wakeup(&client->dev, 0);
+
+ ap314aq_set_mode(client, 0);
+ kfree(i2c_get_clientdata(client));
+
+ if (data->psensor_wq)
+ destroy_workqueue(data->psensor_wq);
+ if (data->ap314aq_wq)
+ destroy_workqueue(data->ap314aq_wq);
+ if(&data->pl_timer)
+ del_timer(&data->pl_timer);
+ return 0;
+}
+
+static void ap314aq_shutdown(struct i2c_client *client)
+{
+ struct ap314aq_data *data = i2c_get_clientdata(client);
+
+ free_irq(gpio_to_irq(data->int_pin), data);
+
+ ap314aq_power_ctl(data, false);
+
+ sysfs_remove_group(&data->client->dev.kobj, &ap314aq_attr_group);
+
+ sysfs_remove_group(&data->psensor_input_dev->dev.kobj, &ap314aq_ps_attribute_group);// every devices register his own devices
+
+ ap314aq_unregister_psensor_device(client,data);
+
+ ap314aq_power_init(data, false);
+
+ device_init_wakeup(&client->dev, 0);
+
+ ap314aq_set_mode(client, 0);
+ kfree(i2c_get_clientdata(client));
+
+ if (data->psensor_wq)
+ destroy_workqueue(data->psensor_wq);
+ if (data->ap314aq_wq)
+ destroy_workqueue(data->ap314aq_wq);
+ if(&data->pl_timer)
+ del_timer(&data->pl_timer);
+
+}
+
+static const struct i2c_device_id ap314aq_id[] =
+{
+ { AP314AQ_DRV_NAME, 0 },
+ {}
+};
+MODULE_DEVICE_TABLE(i2c, ap314aq_id);
+
+#ifdef CONFIG_OF
+static struct of_device_id ap314aq_match_table[] =
+{
+ {.compatible = "di_ap314aq" },
+ {},
+};
+#else
+#define ap314aq_match_table NULL
+#endif
+
+static int ap314aq_suspend(struct device *dev)
+{
+
+#ifdef AP314AQ_DEBUG_MORE
+ LDBG("%s : start !!\n",__func__);
+#endif
+ return 0;
+}
+
+static int ap314aq_resume(struct device *dev)
+{
+
+#ifdef AP314AQ_DEBUG_MORE
+ LDBG("%s : start !!\n",__func__);
+#endif
+ return 0;
+}
+
+static SIMPLE_DEV_PM_OPS(ap314aq_pm_ops, ap314aq_suspend, ap314aq_resume);
+
+static struct i2c_driver ap314aq_driver = {
+ .driver = {
+ .name = AP314AQ_DRV_NAME,
+ .owner = THIS_MODULE,
+ .of_match_table = ap314aq_match_table,
+ .pm = &ap314aq_pm_ops,
+ },
+ .probe = ap314aq_probe,
+ .remove = ap314aq_remove,
+ .shutdown = ap314aq_shutdown,
+ .id_table = ap314aq_id,
+};
+
+static int __init ap314aq_init(void)
+{
+ int ret;
+
+ ret = i2c_add_driver(&ap314aq_driver);
+ return ret;
+
+}
+
+static void __exit ap314aq_exit(void)
+{
+ i2c_del_driver(&ap314aq_driver);
+}
+
+module_init(ap314aq_init);
+module_exit(ap314aq_exit);
+MODULE_AUTHOR("Kevin.dang, <kevin.dang@dyna-image.com>");
+MODULE_DESCRIPTION("AP314AQ driver.");
+MODULE_LICENSE("GPL");
+MODULE_VERSION(DRIVER_VERSION);
diff --git a/drivers/input/misc/ap314aq.h b/drivers/input/misc/ap314aq.h
new file mode 100644
index 0000000..f7f5d17
--- /dev/null
+++ b/drivers/input/misc/ap314aq.h
@@ -0,0 +1,261 @@
+/*
+ * This file is part of the Dyna-Image AP314AQ sensor driver for MTK platform.
+ * AP314AQ is combined proximity, ambient light sensor and IRLED.
+ *
+ * Contact: John Huang <john.huang@dyna-image.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ *
+ * Filename: ap314aq.h
+ *
+ * Summary:
+ * AP314ap sensor dirver header file.
+ *
+ * Modification History:
+ * Date By Summary
+ * -------- -------- -------------------------------------------------------
+ * 06/03/14 John Original Creation (Test version:1.0)
+ *
+ */
+
+/*
+ * Definitions for ap314aq als/ps sensor chip.
+ */
+#ifndef __AP314AQ_H__
+#define __AP314AQ_H__
+
+#include <linux/sensors.h>
+
+#define AP314AQ_SUCCESS 0
+#define AP314AQ_ERR_I2C -1
+#define AP314AQ_ERR_STATUS -3
+#define AP314AQ_ERR_SETUP_FAILURE -4
+#define AP314AQ_ERR_GETGSENSORDATA -5
+#define AP314AQ_ERR_IDENTIFICATION -6
+
+#define AP314AQ_NUM_CACHABLE_REGS 28
+
+#define AP314AQ_CLAIBRATION_BIAS_PATH "/persist/ap314aq_cal_bias"
+#define AP314AQ_CLAIBRATION_N2F_PATH "/persist/ap314aq_cal_n2f"
+
+#define AP314AQ_K1_CRITERIA 400
+#define AP314AQ_K2_CRITERIA 30
+#define AP314AQ_PS_CAL_GAIN 1
+
+#define AP314AQ_PS_THRESHOLD_BIAS 0
+#define AP314AQ_PS_THRESHOLD_HIGH 800 // default high thres
+#define AP314AQ_PS_THRESHOLD_LOW 500 // default low thres
+#define AP314AQ_WAITING_TIME 20 // 5xN ms (100ms), n=0~255
+
+#ifndef SENSORS_OFFBODY_DETEC_HANDLE
+#define SENSORS_OFFBODY_DETEC_HANDLE 100
+#endif
+
+#ifndef SENSOR_TYPE_LOW_LATENCY_OFFBODY_DETECT
+#define SENSOR_TYPE_LOW_LATENCY_OFFBODY_DETECT 34
+#endif
+/* ap314aq control registers */
+/*============================================================================*/
+#define AP314AQ_REG_SYS_CONF 0x00
+#define AP314AQ_REG_SYS_CONF_SHIFT (0)
+#define AP314AQ_REG_SYS_CONF_MASK 0x07
+
+#define AP314AQ_REG_SYS_INTSTATUS 0x01
+#define AP314AQ_REG_SYS_INT_SHIFT (0)
+#define AP314AQ_REG_SYS_INT_MASK 0x03
+#define AP314AQ_REG_SYS_INT_PMASK 0x02
+#define AP314AQ_REG_SYS_INT_AMASK 0x01
+
+#define AP314AQ_OBJ_COMMAND 0x01
+#define AP314AQ_OBJ_MASK 0x10
+#define AP314AQ_OBJ_SHIFT (4)
+
+#define AP314AQ_REG_SYS_INTCTRL 0x02
+#define AP314AQ_REG_SYS_WAITTIME 0x06
+
+/* ap314aq data registers */
+#define AP314AQ_REG_IR_DATA_LOW 0x0A
+#define AP314AQ_REG_IR_DATA_LOW_SHIFT (0)
+#define AP314AQ_REG_IR_DATA_LOW_MASK 0xFF
+
+#define AP314AQ_REG_IR_DATA_HIGH 0x0B
+#define AP314AQ_REG_IR_DATA_HIGH_SHIFT (0)
+#define AP314AQ_REG_IR_DATA_HIGH_MASK 0x03
+
+#define AP314AQ_REG_ALS_DATA_LOW 0x0C
+#define AP314AQ_REG_ALS_DATA_HIGH 0x0D
+
+#define AP314AQ_REG_PS_DATA_LOW 0x0E
+#define AP314AQ_REG_PS_DATA_LOW_SHIFT (0)
+#define AL314AQ_REG_PS_DATA_LOW_MASK 0xFF
+#define AP314AQ_REG_PS_DATA_HIGH 0x0F
+#define AP314AQ_REG_PS_DATA_HIGH_SHIFT (2)
+#define AL314AQ_REG_PS_DATA_HIGH_MASK 0x03
+/*----------------------------------------------------------------------------*/
+#define AP314AQ_REG_ALS_CONF 0x10 /*ALS GAIN*/
+
+#define AP314AQ_REG_ALS_PERSIS 0x14
+//#define AP314AQ_REG_ALS_CAL 0x19
+
+#define AP314AQ_REG_ALS_THDL_L 0x1A
+#define AP314AQ_REG_ALS_THDL_L_SHIFT (0)
+#define AP314AQ_REG_ALS_THDL_L_MASK 0xFF
+
+#define AP314AQ_REG_ALS_THDL_H 0x1B
+#define AP314AQ_REG_ALS_THDL_H_SHIFT (0)
+#define AP314AQ_REG_ALS_THDL_H_MASK 0xFF
+
+#define AP314AQ_REG_ALS_THDH_L 0x1C
+#define AP314AQ_REG_ALS_THDH_L_SHIFT (0)
+#define AP314AQ_REG_ALS_THDH_L_MASK 0xFF
+
+#define AP314AQ_REG_ALS_THDH_H 0x1D
+#define AP314AQ_REG_ALS_THDH_H_SHIFT (0)
+#define AP314AQ_REG_ALS_THDH_H_MASK 0xFF
+
+/*----------------------------------------------------------------------------*/
+/* ap314aq PS CONFIG registers */
+#define AP314AQ_REG_PS_CONF 0x20 /*PS GAIN*/
+#define AP314AQ_REG_PS_CONF_SHIFT (2)
+#define AP314AQ_REG_PS_CONF_MASK 0x0C
+
+#define AP314AQ_REG_PS_LEDD 0x21 /*PS LED DRIVER*/
+#define AP314AQ_REG_PS_LEDD_SHIFT (0)
+#define AP314AQ_REG_PS_LEDD_MASK 0x03
+
+#define AP314AQ_REG_PS_IFORM 0x22 /* PS INT Mode*/
+
+#define AP314AQ_REG_PS_MEAN 0x23
+#define AP314AQ_REG_PS_MEAN_SHIFT (0)
+#define AP314AQ_REG_PS_MEAN_MASK 0x03
+
+#define AP314AQ_REG_PS_SMARTINT 0x24 /* PS Smart INT for low power */
+#define AP314AQ_REG_PS_INTEGR 0x25
+#define AP314AQ_REG_PS_PERSIS 0x26
+#define AP314AQ_REG_PS_CAL_L 0x28
+#define AP314AQ_REG_PS_CAL_H 0x29
+
+#define AP314AQ_REG_PS_THDL_L 0x2A
+#define AP314AQ_REG_PS_THDL_L_SHIFT (0)
+#define AP314AQ_REG_PS_THDL_L_MASK 0xFF
+
+#define AP314AQ_REG_PS_THDL_H 0x2B
+#define AP314AQ_REG_PS_THDL_H_SHIFT (0)
+#define AP314AQ_REG_PS_THDL_H_MASK 0x03
+
+#define AP314AQ_REG_PS_THDH_L 0x2C
+#define AP314AQ_REG_PS_THDH_L_SHIFT (0)
+#define AP314AQ_REG_PS_THDH_L_MASK 0xFF
+
+#define AP314AQ_REG_PS_THDH_H 0x2D
+#define AP314AQ_REG_PS_THDH_H_SHIFT (0)
+#define AP314AQ_REG_PS_THDH_H_MASK 0x03
+
+#define AP314AQ_MAX_REG_NUM (AP314AQ_REG_PS_THDH_H + 1)
+/*============================================================================*/
+//SYSTEM MODE (AP314AQ_REG_SYS_CONF)
+#define AP314AQ_SYS_DEV_DOWN 0x00
+#define AP314AQ_SYS_ALS_ENABLE 0x01
+#define AP314AQ_SYS_PS_ENABLE 0x02
+#define AP314AQ_SYS_ALS_PS_ENABLE 0x03
+#define AP314AQ_SYS_DEV_RESET 0x04
+/*----------------------------------------------------------------------------*/
+//INT FLAG BIT MASK
+#define AP314AQ_SYS_ALS_INT_TRI 0x01
+#define AP314AQ_SYS_PS_INT_TRI 0x02
+#define AP314AQ_SYS_PS_INT_OBJ 0x10
+#define AP314AQ_SYS_PS_INT_IROV 0x20
+/*----------------------------------------------------------------------------*/
+//INT CONTROL (AP314AQ_REG_SYS_INTCTRL)
+#define AP314AQ_SYS_DEV_INT_DISABLE 0x00
+#define AP314AQ_SYS_ALS_INT_ENABLE 0x08
+#define AP314AQ_SYS_PS_INT_ENABLE 0x80
+/*----------------------------------------------------------------------------*/
+//INT CLEAN Mode
+#define AP314AQ_SYS_ICLEAN_AUTO 0x00
+#define AP314AQ_SYS_ICLEAN_MANUAL 0x01
+/*----------------------------------------------------------------------------*/
+//ALS CONFIG
+#define AP314AQ_ALS_RANGE_0 0x00 /* Full range 32768 lux (0.5lux/count) */
+#define AP314AQ_ALS_RANGE_1 0x01 /* Full range 8192 lux */
+#define AP314AQ_ALS_RANGE_2 0x02 /* Full range 2048 lux */
+#define AP314AQ_ALS_RANGE_3 0x03 /* Full range 512 lux */
+#define AP314AQ_ALS_RANGE_MASK 0x30
+#define AP314AQ_ALS_RANGE_SHIFT (4)
+#define AP314AQ_ALS_PERSIST_MASK 0x0F
+
+/*----------------------------------------------------------------------------*/
+//PS CONFIG
+#define AP314AQ_PS_GAIN_1 0x00 /* PS resulation * 1 */
+#define AP314AQ_PS_GAIN_2 0x01 /* PS resulation * 2 */
+#define AP314AQ_PS_GAIN_4 0x02 /* PS resulation * 4 */
+#define AP314AQ_PS_GAIN_8 0x03 /* PS resulation * 8 */
+#define AP314AQ_PS_PERSIST_1 0x00
+#define AP314AQ_PS_PERSIST_2 0x01
+#define AP314AQ_PS_PERSIST_4 0x02
+#define AP314AQ_PS_PERSIST_8 0x03
+/*----------------------------------------------------------------------------*/
+//PS LED Control
+#define AP314AQ_PS_LED_P0 0x00 /* 0 puls */
+#define AP314AQ_PS_LED_P1 0x01 /* 1 puls (default)*/
+#define AP314AQ_PS_LED_P2 0x02 /* 2 puls */
+#define AP314AQ_PS_LED_P3 0x03 /* 3 puls */
+#define AP314AQ_PS_DEIVER_167 0x00 /* 16.7% */
+#define AP314AQ_PS_DEIVER_333 0x01 /* 33.3% */
+#define AP314AQ_PS_DEIVER_667 0x02 /* 66.7% */
+#define AP314AQ_PS_DEIVER_1000 0x03 /* 100% (default)*/
+/*----------------------------------------------------------------------------*/
+//PS MEAN
+#define AP314AQ_PS_MEAN_0 0x00 /* 5ms @2T*/
+#define AP314AQ_PS_MEAN_1 0x01 /* 9.6ms @2T*/
+#define AP314AQ_PS_MEAN_2 0x02 /* 14.1ms @2T*/
+#define AP314AQ_PS_MEAN_3 0x03 /* 18.7ms @2T*/
+/*----------------------------------------------------------------------------*/
+#define DISABLE 0x00
+#define ENABLE 0x01
+/*============================================================================*/
+
+struct ap314aq_data {
+ struct i2c_client *client;
+ u8 reg_cache[AP314AQ_NUM_CACHABLE_REGS];//TO-DO
+ u8 power_state_before_suspend;
+ uint32_t int_pin;
+ uint32_t irq_flags;
+
+ struct sensors_classdev als_cdev; //for msm8916 kevindang20141010
+ struct sensors_classdev ps_cdev; //for msm8916
+
+ struct input_dev *psensor_input_dev;
+ struct input_dev *lsensor_input_dev;
+ struct input_dev *hsensor_input_dev;
+ struct workqueue_struct *psensor_wq;
+ struct work_struct psensor_work;
+ struct workqueue_struct *lsensor_wq;
+ struct work_struct lsensor_work;
+ struct workqueue_struct *ap314aq_wq;
+ struct work_struct ap314aq_work;
+ struct timer_list pl_timer;
+ struct regulator *vdd;
+ struct regulator *vio;
+ bool power_enabled;
+ bool als_enabled;
+ bool ps_enabled;
+ bool rels_enable;
+ bool load_cal;
+};
+
+#endif
+
diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig
index a259ef3..93de86c 100644
--- a/drivers/input/touchscreen/Kconfig
+++ b/drivers/input/touchscreen/Kconfig
@@ -1056,6 +1056,19 @@
To compile this driver as a module, choose M here: the
module will be called pcap_ts.
+config TOUCHSCREEN_RM_INCELL
+ tristate "Raydium I2C In-cell Touchscreen"
+ depends on I2C
+ depends on GPIOLIB || COMPILE_TEST
+ help
+ Say Y here if you have Raydium series in-cell I2C touchscreen
+ connected to your system.
+
+ If unsure, say N.
+
+ To compile this driver as a module, choose M here: the
+ module will be called raydium_incell.
+
config TOUCHSCREEN_RM_TS
tristate "Raydium I2C Touchscreen"
depends on I2C
@@ -1205,6 +1218,32 @@
To compile this driver as a module, choose M here: the
module will be called colibri_vf50_ts.
+config TOUCHSCREEN_FT3207
+ tristate "FocalTech FT3207 touchscreen"
+ depends on I2C
+ help
+ Say Y here if you have a ft3207 touchscreen.
+ Ft3207 controllers are multi touch controllers which can
+ report 5 touches at a time.
+
+ If unsure, say N.
+
+ To compile this driver as a module, choose M here: the
+ module will be called fts_ts.
+
+config TOUCHSCREEN_FT3267
+ tristate "FocalTech FT3267 touchscreen"
+ depends on I2C
+ help
+ Say Y here if you have a ft3267 touchscreen.
+ Ft3267 controllers are multi touch controllers which can
+ report 5 touches at a time.
+
+ If unsure, say N.
+
+ To compile this driver as a module, choose M here: the
+ module will be called ft3267_ts.
+
config TOUCHSCREEN_FT5X06_PSENSOR
tristate "FocalTech proximity feature support"
depends on TOUCHSCREEN_FT5X06 && SENSORS
diff --git a/drivers/input/touchscreen/Makefile b/drivers/input/touchscreen/Makefile
index 2579346..c6b9667 100644
--- a/drivers/input/touchscreen/Makefile
+++ b/drivers/input/touchscreen/Makefile
@@ -64,6 +64,7 @@
obj-$(CONFIG_TOUCHSCREEN_PCAP) += pcap_ts.o
obj-$(CONFIG_TOUCHSCREEN_PENMOUNT) += penmount.o
obj-$(CONFIG_TOUCHSCREEN_PIXCIR) += pixcir_i2c_ts.o
+obj-$(CONFIG_TOUCHSCREEN_RM_INCELL) += raydium_incell/
obj-$(CONFIG_TOUCHSCREEN_RM_TS) += raydium_i2c_ts.o
obj-$(CONFIG_TOUCHSCREEN_S3C2410) += s3c2410_ts.o
obj-$(CONFIG_TOUCHSCREEN_SILEAD) += silead.o
@@ -104,6 +105,8 @@
obj-$(CONFIG_TOUCHSCREEN_COLIBRI_VF50) += colibri-vf50-ts.o
obj-$(CONFIG_TOUCHSCREEN_ROHM_BU21023) += rohm_bu21023.o
obj-$(CONFIG_TOUCHSCREEN_FTS) += focaltech_touch/
+obj-$(CONFIG_TOUCHSCREEN_FT3207) += focaltech_3207/
+obj-$(CONFIG_TOUCHSCREEN_FT3267) += focaltech_3267/
obj-$(CONFIG_TOUCHSCREEN_GT9XX_v28) += gt9xx_v2.8/
obj-$(CONFIG_TOUCHSCREEN_HIMAX_CHIPSET) += hxchipset/
obj-$(CONFIG_TOUCHSCREEN_EKTF3XXX_CHIPSET) += ektf3xxx/
diff --git a/drivers/input/touchscreen/focaltech_3207/Config_FT6X36.c b/drivers/input/touchscreen/focaltech_3207/Config_FT6X36.c
new file mode 100644
index 0000000..0099982
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/Config_FT6X36.c
@@ -0,0 +1,707 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+#include <linux/kernel.h>
+#include <linux/string.h>
+#include "Config_FT6X36.h"
+#include "ini.h"
+#include "Global.h"
+
+
+struct stCfg_FT6X36_TestItem g_stCfg_FT6X36_TestItem;
+struct stCfg_FT6X36_BasicThreshold g_stCfg_FT6X36_BasicThreshold;
+
+
+void OnInit_FT6X36_TestItem(char *strIniFile)
+{
+ char str[512]={0};
+
+ //////////////////////////////////////////////////////////// FW Version
+ GetPrivateProfileString("TestItem","FW_VERSION_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.FW_VERSION_TEST = atoi(str);
+
+ //////////////////////////////////////////////////////////// Factory ID
+ GetPrivateProfileString("TestItem","FACTORY_ID_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.FACTORY_ID_TEST = atoi(str);
+
+ //////////////////////////////////////////////////////////// Project Code Test
+ GetPrivateProfileString("TestItem","PROJECT_CODE_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.PROJECT_CODE_TEST = atoi(str);
+
+ //////////////////////////////////////////////////////////// IC Version
+ GetPrivateProfileString("TestItem","IC_VERSION_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.IC_VERSION_TEST = atoi(str);
+
+ /////////////////////////////////// RawData Test
+ GetPrivateProfileString("TestItem","RAWDATA_TEST","1",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.RAWDATA_TEST = atoi(str);
+
+ /////////////////////////////////// CHANNEL_NUM_TEST
+ GetPrivateProfileString("TestItem","CHANNEL_NUM_TEST","1",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.CHANNEL_NUM_TEST = atoi(str);
+
+ //TODO:GC checking, test or not for this item
+ /////////////////////////////////// CHANNEL_SHORT_TEST
+ GetPrivateProfileString("TestItem","CHANNEL_SHORT_TEST","1",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.CHANNEL_SHORT_TEST = atoi(str);
+
+ //TODO:GC checking, test or not for this item
+ /////////////////////////////////// INT_PIN_TEST
+ GetPrivateProfileString("TestItem","INT_PIN_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.INT_PIN_TEST = atoi(str);
+
+ //TODO:GC checking, test or not for this item
+ /////////////////////////////////// RESET_PIN_TEST
+ GetPrivateProfileString("TestItem","RESET_PIN_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.RESET_PIN_TEST = atoi(str);
+
+ /////////////////////////////////// NOISE_TEST
+ GetPrivateProfileString("TestItem","NOISE_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.NOISE_TEST = atoi(str);
+
+ /////////////////////////////////// CB_TEST
+ GetPrivateProfileString("TestItem","CB_TEST","1",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.CB_TEST = atoi(str);
+
+ /////////////////////////////////// DELTA_CB_TEST
+ GetPrivateProfileString("TestItem","DELTA_CB_TEST","1",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.DELTA_CB_TEST = atoi(str);
+
+ //TODO:GC checking, test or not for this item
+ /////////////////////////////////// CHANNELS_DEVIATION_TEST
+ GetPrivateProfileString("TestItem","CHANNELS_DEVIATION_TEST","1",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.CHANNELS_DEVIATION_TEST = atoi(str);
+
+ /////////////////////////////////// TWO_SIDES_DEVIATION_TEST
+ GetPrivateProfileString("TestItem","TWO_SIDES_DEVIATION_TEST","1",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.TWO_SIDES_DEVIATION_TEST = atoi(str);
+
+
+ /////////////////////////////////// FPC_SHORT_TEST
+ GetPrivateProfileString("TestItem","FPC_SHORT_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.FPC_SHORT_TEST = atoi(str);
+
+ /////////////////////////////////// FPC_OPEN_TEST
+ GetPrivateProfileString("TestItem","FPC_OPEN_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.FPC_OPEN_TEST = atoi(str);
+
+ /////////////////////////////////// SREF_OPEN_TEST
+ GetPrivateProfileString("TestItem","SREF_OPEN_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.SREF_OPEN_TEST = atoi(str);
+
+ /////////////////////////////////// TE_TEST
+ GetPrivateProfileString("TestItem","TE_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.TE_TEST = atoi(str);
+
+ //TODO:GC checking, test or not for this item
+ /////////////////////////////////// CB_DEVIATION_TEST
+ GetPrivateProfileString("TestItem","CB_DEVIATION_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.CB_DEVIATION_TEST = atoi(str);
+
+ /////////////////////////////////// DIFFER_TEST
+ GetPrivateProfileString("TestItem","DIFFER_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.DIFFER_TEST = atoi(str);
+
+ //TODO:GC checking, test or not for this item
+ /////////////////////////////////// WEAK_SHORT_TEST
+ GetPrivateProfileString("TestItem","WEAK_SHORT_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.WEAK_SHORT_TEST = atoi(str);
+
+ /////////////////////////////////// DIFFER_TEST2
+ GetPrivateProfileString("TestItem","DIFFER_TEST2","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.DIFFER_TEST2 = atoi(str);
+
+ /////////////////////////////////// K1_DIFFER_TEST
+ GetPrivateProfileString("TestItem","K1_DIFFER_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.K1_DIFFER_TEST = atoi(str);
+}
+
+void OnInit_FT6X36_BasicThreshold(char *strIniFile)
+{
+ char str[512]={0};
+
+ //////////////////////////////////////////////////////////// FW Version
+
+ GetPrivateProfileString( "Basic_Threshold", "FW_VER_VALUE", "0",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.FW_VER_VALUE = atoi(str);
+
+ //////////////////////////////////////////////////////////// Factory ID
+ GetPrivateProfileString("Basic_Threshold","Factory_ID_Number","255",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.Factory_ID_Number = atoi(str);
+
+ //////////////////////////////////////////////////////////// Project Code Test
+ GetPrivateProfileString("Basic_Threshold","Project_Code"," ",str,strIniFile);
+ //g_stCfg_FT6X36_BasicThreshold.Project_Code.Format("%s", str);
+ sprintf(g_stCfg_FT6X36_BasicThreshold.Project_Code, "%s", str);
+
+ //////////////////////////////////////////////////////////// IC Version
+ GetPrivateProfileString("Basic_Threshold","IC_Version","3",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.IC_Version = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","RawDataTest_Min","13000",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.RawDataTest_Min = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","RawDataTest_Max","17000",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.RawDataTest_Max = atoi(str);
+
+
+ GetPrivateProfileString("Basic_Threshold","ChannelNumTest_ChannelNum","22",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelNumTest_ChannelNum = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","ChannelNumTest_KeyNum","0",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelNumTest_KeyNum = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","ChannelShortTest_K1","255",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelShortTest_K1 = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","ChannelShortTest_K2","255",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelShortTest_K2 = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","ChannelShortTest_CB","255",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelShortTest_CB = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","ResetPinTest_RegAddr","136",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ResetPinTest_RegAddr = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","IntPinTest_RegAddr","175",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.IntPinTest_RegAddr = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","NoiseTest_Max","20",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.NoiseTest_Max = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","NoiseTest_Frames","32",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.NoiseTest_Frames = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","NoiseTest_Time","1",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.NoiseTest_Time = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","NoiseTest_SampeMode","0",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.NoiseTest_SampeMode = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","NoiseTest_NoiseMode","0",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.NoiseTest_NoiseMode = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","NoiseTest_ShowTip","0",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.NoiseTest_ShowTip = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","CbTest_Min","5",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.CbTest_Min = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","CbTest_Max","250",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.CbTest_Max = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Base","0",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Base = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Differ_Max","50",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Differ_Max = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Include_Key_Test","0",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Include_Key_Test = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Key_Differ_Max","10",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Key_Differ_Max = atoi(str);
+
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Deviation_S1","15",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S1 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Deviation_S2","15",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S2 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Deviation_S3","12",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S3 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Deviation_S4","12",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S4 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Deviation_S5","12",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S5 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Deviation_S6","12",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S6 = atoi(str);
+
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Set_Critical","0",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Set_Critical = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Critical_S1","20",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S1 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Critical_S2","20",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S2 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Critical_S3","20",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S3 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Critical_S4","20",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S4 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Critical_S5","20",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S5 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Critical_S6","20",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S6 = atoi(str);
+
+
+ GetPrivateProfileString("Basic_Threshold","ChannelsDeviationTest_Deviation_S1","8",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S1 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","ChannelsDeviationTest_Deviation_S2","8",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S2 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","ChannelsDeviationTest_Deviation_S3","8",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S3 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","ChannelsDeviationTest_Deviation_S4","8",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S4 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","ChannelsDeviationTest_Deviation_S5","8",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S5 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","ChannelsDeviationTest_Deviation_S6","8",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S6 = atoi(str);
+
+
+ GetPrivateProfileString("Basic_Threshold","ChannelsDeviationTest_Set_Critical","0",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Set_Critical = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","ChannelsDeviationTest_Critical_S1","13",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S1 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","ChannelsDeviationTest_Critical_S2","13",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S2 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","ChannelsDeviationTest_Critical_S3","13",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S3 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","ChannelsDeviationTest_Critical_S4","13",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S4 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","ChannelsDeviationTest_Critical_S5","13",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S5 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","ChannelsDeviationTest_Critical_S6","13",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S6 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","TwoSidesDeviationTest_Deviation_S1","5",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S1 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","TwoSidesDeviationTest_Deviation_S2","5",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S2 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","TwoSidesDeviationTest_Deviation_S3","5",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S3 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","TwoSidesDeviationTest_Deviation_S4","5",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S4 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","TwoSidesDeviationTest_Deviation_S5","5",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S5 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","TwoSidesDeviationTest_Deviation_S6","5",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S6 = atoi(str);
+
+
+ GetPrivateProfileString("Basic_Threshold","TwoSidesDeviationTest_Set_Critical","0",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Set_Critical = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","TwoSidesDeviationTest_Critical_S1","10",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S1 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","TwoSidesDeviationTest_Critical_S2","10",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S2 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","TwoSidesDeviationTest_Critical_S3","10",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S3 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","TwoSidesDeviationTest_Critical_S4","10",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S4 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","TwoSidesDeviationTest_Critical_S5","10",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S5 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","TwoSidesDeviationTest_Critical_S6","10",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S6 = atoi(str);
+
+ // fpc short
+ GetPrivateProfileString("Basic_Threshold","FPCShortTest_Min_CB","5",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.FPCShort_CB_Min = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","FPCShortTest_Max_CB","1015",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.FPCShort_CB_Max = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","FPCShortTest_Min_RawData","5000",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.FPCShort_RawData_Min = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","FPCShortTest_Max_RawData","50000",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.FPCShort_RawData_Max = atoi(str);
+
+ //fpc open
+ GetPrivateProfileString("Basic_Threshold","FPCOpenTest_Min_CB","5",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.FPCOpen_CB_Min = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","FPCOpenTest_Max_CB","1015",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.FPCOpen_CB_Max = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","FPCOpenTest_Min_RawData","5000",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.FPCOpen_RawData_Min = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","FPCOpenTest_Max_RawData","50000",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.FPCOpen_RawData_Max = atoi(str);
+
+ //SREFOpen_Test_Hole
+ GetPrivateProfileString("Basic_Threshold","SREFOpen_Test_Hole","10",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.SREFOpen_Hole = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","SREFOpen_Test_Hole_Base1","50",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.SREFOpen_Hole_Base1 = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","SREFOpen_Test_Hole_Base2","50",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.SREFOpen_Hole_Base2 = atoi(str);
+
+ //CB_DEVIATION_TEST
+ GetPrivateProfileString("Basic_Threshold","CBDeviationTest_Hole","50",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.CBDeviationTest_Hole = atoi(str);
+
+ //DIFFER_TEST
+ GetPrivateProfileString("Basic_Threshold","DifferTest_Ave_Hole","500",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.Differ_Ave_Hole = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","DifferTest_Max_Hole","500",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.Differ_Max_Hole = atoi(str);
+
+
+ //WEAK_SHORT_TEST
+ GetPrivateProfileString("Basic_Threshold","Weak_Short_Hole","500",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.WeakShortThreshold = atoi(str);
+
+ //DIFFER_TEST2
+ GetPrivateProfileString("Basic_Threshold","DifferTest2_Data_H_Min","20000",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DifferTest2_Data_H_Min = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","DifferTest2_Data_H_Max","24000",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DifferTest2_Data_H_Max = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DifferTest2_Data_M_Min","7100",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DifferTest2_Data_M_Min = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","DifferTest2_Data_M_Max","7300",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DifferTest2_Data_M_Max = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DifferTest2_Data_L_Min","14000",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DifferTest2_Data_L_Min = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","DifferTest2_Data_L_Max","16000",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DifferTest2_Data_L_Max = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DifferTest2_Data_H","1",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.bDifferTest2_Data_H = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","DifferTest2_Data_M","1",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.bDifferTest2_Data_M = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","DifferTest2_Data_L","1",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.bDifferTest2_Data_L = atoi(str);
+
+ //K1 differ test
+ GetPrivateProfileString("Basic_Threshold","K1DifferTest_StartK1","5",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.K1DifferTest_StartK1 = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","K1DifferTest_EndK1","25",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.K1DifferTest_EndK1 = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","K1DifferTest_MinHole_STC2","0",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.K1DifferTest_MinHold2 = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","K1DifferTest_MaxHole_STC2","5",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.K1DifferTest_MaxHold2 = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","K1DifferTest_MinHole_STC4","5",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.K1DifferTest_MinHold4 = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","K1DifferTest_MaxHole_STC4","10",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.K1DifferTest_MaxHold4 = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","K1DifferTest_Deviation2","1",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.K1DifferTest_Deviation2 = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","K1DifferTest_Deviation4","5",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.K1DifferTest_Deviation4 = atoi(str);
+}
+
+void SetTestItem_FT6X36()
+{
+ //int value = 0;
+ g_TestItemNum = 0;
+
+ //////////////////////////////////////////////////Download / Upgrade
+ /*value = g_stCfg_CommonCfg.Run_Mode;
+ if(value == 1 || value == 4 || value == 5)//Download
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_DOWNLOAD;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_DOWNLOAD];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+ else if(value == 2 || value == 3 || value == 6)//Upgrade
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_UPGRADE;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_UPGRADE];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+ else if(value == 8 || value == 9 || value == 10)//Upgrade
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_WRITE_CONFIG;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_WRITE_CONFIG];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+ if(value == 5 || value == 6 || value == 8)//Only Download /Upgrade/write config
+ {
+ return;
+ }
+
+ if( g_stCfg_SiuBoard.bVDDTest )
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_VDD;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumSiuItem[Code_VDD];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].ItemType = Type_SiuItem;
+ g_TestItemNum++;
+ }
+ if( g_stCfg_SiuBoard.bIOVccTest )
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_IOVCC;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumSiuItem[Code_IOVCC];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].ItemType = Type_SiuItem;
+ g_TestItemNum++;
+ }*/
+
+ //////////////////////////////////////////////////FACTORY_ID_TEST
+ if( g_stCfg_FT6X36_TestItem.FACTORY_ID_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_FACTORY_ID_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_FACTORY_ID_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////Project Code Test
+ if( g_stCfg_FT6X36_TestItem.PROJECT_CODE_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_PROJECT_CODE_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_PROJECT_CODE_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////FW Version Test
+ if( g_stCfg_FT6X36_TestItem.FW_VERSION_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_FW_VERSION_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_FW_VERSION_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////IC Version Test
+ if( g_stCfg_FT6X36_TestItem.IC_VERSION_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_IC_VERSION_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_IC_VERSION_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////Enter Factory Mode
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_ENTER_FACTORY_MODE;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_ENTER_FACTORY_MODE];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+
+ //////////////////////////////////////////////////CHANNEL_NUM_TEST
+ if( g_stCfg_FT6X36_TestItem.CHANNEL_NUM_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_CHANNEL_NUM_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_CHANNEL_NUM_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////RawData Test
+ if( g_stCfg_FT6X36_TestItem.RAWDATA_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_RAWDATA_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_RAWDATA_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////Differ Test
+ if( g_stCfg_FT6X36_TestItem.DIFFER_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_DIFFER_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_DIFFER_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////Differ Test2
+ if( g_stCfg_FT6X36_TestItem.DIFFER_TEST2 == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_DIFFER_TEST2;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_DIFFER_TEST2];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////CB Deviation Test
+ if( g_stCfg_FT6X36_TestItem.CB_DEVIATION_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_CB_DEVIATION_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_CB_DEVIATION_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////FPC_SHORT_TEST
+ if( g_stCfg_FT6X36_TestItem.FPC_SHORT_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_FPC_SHORT_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_FPC_SHORT_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////FPC_OPEN_TEST
+ if( g_stCfg_FT6X36_TestItem.FPC_OPEN_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_FPC_OPEN_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_FPC_OPEN_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////CB_TEST
+ if( g_stCfg_FT6X36_TestItem.CB_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_CB_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_CB_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////DELTA_CB_TEST
+ if( g_stCfg_FT6X36_TestItem.DELTA_CB_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_DELTA_CB_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_DELTA_CB_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////CHANNELS_DEVIATION_TEST
+ if( g_stCfg_FT6X36_TestItem.CHANNELS_DEVIATION_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_CHANNELS_DEVIATION_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_CHANNELS_DEVIATION_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////TWO_SIDES_DEVIATION_TEST
+ if( g_stCfg_FT6X36_TestItem.TWO_SIDES_DEVIATION_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_TWO_SIDES_DEVIATION_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_TWO_SIDES_DEVIATION_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////CHANNEL_SHORT_TEST
+ if( g_stCfg_FT6X36_TestItem.CHANNEL_SHORT_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_CHANNEL_SHORT_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_CHANNEL_SHORT_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////SREF_OPEN_TEST
+ if( g_stCfg_FT6X36_TestItem.SREF_OPEN_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_SREF_OPEN_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_SREF_OPEN_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////NOISE_TEST
+ if( g_stCfg_FT6X36_TestItem.NOISE_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_NOISE_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_NOISE_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////Weak Short Test
+ if( g_stCfg_FT6X36_TestItem.WEAK_SHORT_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_WEAK_SHORT_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_WEAK_SHORT_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////K1 Differ Test
+ if( g_stCfg_FT6X36_TestItem.K1_DIFFER_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_K1_DIFFER_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_K1_DIFFER_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////RESET_PIN_TEST
+ if( g_stCfg_FT6X36_TestItem.RESET_PIN_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_RESET_PIN_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_RESET_PIN_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+ //////////////////////////////////////////////////INT_PIN_TEST
+ if( g_stCfg_FT6X36_TestItem.INT_PIN_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_INT_PIN_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_INT_PIN_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////TE Test
+ if( g_stCfg_FT6X36_TestItem.TE_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_TE_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_TE_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+}
+
diff --git a/drivers/input/touchscreen/focaltech_3207/Config_FT6X36.h b/drivers/input/touchscreen/focaltech_3207/Config_FT6X36.h
new file mode 100644
index 0000000..4088d88
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/Config_FT6X36.h
@@ -0,0 +1,193 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+#ifndef _CONFIG_FT6X36_H
+#define _CONFIG_FT6X36_H
+
+#include "test_lib.h"
+
+/*-----------------------------------------------
+FT6X36
+------------------------------------------------*/
+struct stCfg_FT6X36_TestItem
+{
+ bool FW_VERSION_TEST;
+ bool FACTORY_ID_TEST;
+ bool PROJECT_CODE_TEST;
+ bool IC_VERSION_TEST;
+ bool RAWDATA_TEST;
+ bool CHANNEL_NUM_TEST;
+ bool CHANNEL_SHORT_TEST;
+ bool INT_PIN_TEST;
+ bool RESET_PIN_TEST;
+ bool NOISE_TEST;
+ bool CB_TEST;
+ bool DELTA_CB_TEST;
+ bool CHANNELS_DEVIATION_TEST;
+ bool TWO_SIDES_DEVIATION_TEST;
+ bool FPC_SHORT_TEST;
+ bool FPC_OPEN_TEST;
+ bool SREF_OPEN_TEST;
+ bool TE_TEST;
+ bool CB_DEVIATION_TEST;
+ bool DIFFER_TEST;
+ bool WEAK_SHORT_TEST;
+ bool DIFFER_TEST2;
+ bool K1_DIFFER_TEST;
+};
+
+struct stCfg_FT6X36_BasicThreshold
+{
+ BYTE FW_VER_VALUE;
+ BYTE Factory_ID_Number;
+ char Project_Code[32];
+ BYTE IC_Version;
+ int RawDataTest_Min;
+ int RawDataTest_Max;
+ BYTE ChannelNumTest_ChannelNum;
+ BYTE ChannelNumTest_KeyNum;
+ int ChannelShortTest_K1;
+ int ChannelShortTest_K2;
+ int ChannelShortTest_CB;
+ BYTE ResetPinTest_RegAddr;
+ BYTE IntPinTest_RegAddr;
+ int WeakShortThreshold;
+ int NoiseTest_Max;
+ int NoiseTest_Frames;
+ int NoiseTest_Time;
+ BYTE NoiseTest_SampeMode;
+ BYTE NoiseTest_NoiseMode;
+ BYTE NoiseTest_ShowTip;
+ int FPCShort_CB_Min;
+ int FPCShort_CB_Max;
+ int FPCShort_RawData_Min;
+ int FPCShort_RawData_Max;
+ int FPCOpen_CB_Min;
+ int FPCOpen_CB_Max;
+ int FPCOpen_RawData_Min;
+ int FPCOpen_RawData_Max;
+ int SREFOpen_Hole_Base1;
+ int SREFOpen_Hole_Base2;
+ int SREFOpen_Hole;
+ int CBDeviationTest_Hole;
+ int Differ_Ave_Hole;
+ int Differ_Max_Hole;
+ int CbTest_Min;
+ int CbTest_Max;
+ int DeltaCbTest_Base;
+ int DeltaCbTest_Differ_Max;
+ bool DeltaCbTest_Include_Key_Test;
+ int DeltaCbTest_Key_Differ_Max;
+ int DeltaCbTest_Deviation_S1;
+ int DeltaCbTest_Deviation_S2;
+ int DeltaCbTest_Deviation_S3;
+ int DeltaCbTest_Deviation_S4;
+ int DeltaCbTest_Deviation_S5;
+ int DeltaCbTest_Deviation_S6;
+ bool DeltaCbTest_Set_Critical;
+ int DeltaCbTest_Critical_S1;
+ int DeltaCbTest_Critical_S2;
+ int DeltaCbTest_Critical_S3;
+ int DeltaCbTest_Critical_S4;
+ int DeltaCbTest_Critical_S5;
+ int DeltaCbTest_Critical_S6;
+
+ int ChannelsDeviationTest_Deviation_S1;
+ int ChannelsDeviationTest_Deviation_S2;
+ int ChannelsDeviationTest_Deviation_S3;
+ int ChannelsDeviationTest_Deviation_S4;
+ int ChannelsDeviationTest_Deviation_S5;
+ int ChannelsDeviationTest_Deviation_S6;
+ bool ChannelsDeviationTest_Set_Critical;
+ int ChannelsDeviationTest_Critical_S1;
+ int ChannelsDeviationTest_Critical_S2;
+ int ChannelsDeviationTest_Critical_S3;
+ int ChannelsDeviationTest_Critical_S4;
+ int ChannelsDeviationTest_Critical_S5;
+ int ChannelsDeviationTest_Critical_S6;
+
+ int TwoSidesDeviationTest_Deviation_S1;
+ int TwoSidesDeviationTest_Deviation_S2;
+ int TwoSidesDeviationTest_Deviation_S3;
+ int TwoSidesDeviationTest_Deviation_S4;
+ int TwoSidesDeviationTest_Deviation_S5;
+ int TwoSidesDeviationTest_Deviation_S6;
+ bool TwoSidesDeviationTest_Set_Critical;
+ int TwoSidesDeviationTest_Critical_S1;
+ int TwoSidesDeviationTest_Critical_S2;
+ int TwoSidesDeviationTest_Critical_S3;
+ int TwoSidesDeviationTest_Critical_S4;
+ int TwoSidesDeviationTest_Critical_S5;
+ int TwoSidesDeviationTest_Critical_S6;
+
+ int DifferTest2_Data_H_Min;
+ int DifferTest2_Data_H_Max;
+ int DifferTest2_Data_M_Min;
+ int DifferTest2_Data_M_Max;
+ int DifferTest2_Data_L_Min;
+ int DifferTest2_Data_L_Max;
+ bool bDifferTest2_Data_H;
+ bool bDifferTest2_Data_M;
+ bool bDifferTest2_Data_L;
+ int K1DifferTest_StartK1;
+ int K1DifferTest_EndK1;
+ int K1DifferTest_MinHold2;
+ int K1DifferTest_MaxHold2;
+ int K1DifferTest_MinHold4;
+ int K1DifferTest_MaxHold4;
+ int K1DifferTest_Deviation2;
+ int K1DifferTest_Deviation4;
+};
+
+enum enumTestItem_FT6X36
+{
+ Code_FT6X36_ENTER_FACTORY_MODE,
+ Code_FT6X36_DOWNLOAD,
+ Code_FT6X36_UPGRADE,
+ Code_FT6X36_FACTORY_ID_TEST,
+ Code_FT6X36_PROJECT_CODE_TEST,
+ Code_FT6X36_FW_VERSION_TEST,
+ Code_FT6X36_IC_VERSION_TEST,
+ Code_FT6X36_RAWDATA_TEST,
+ Code_FT6X36_CHANNEL_NUM_TEST,
+ Code_FT6X36_CHANNEL_SHORT_TEST,
+ Code_FT6X36_INT_PIN_TEST,
+ Code_FT6X36_RESET_PIN_TEST,
+ Code_FT6X36_NOISE_TEST,
+ Code_FT6X36_CB_TEST,
+ Code_FT6X36_DELTA_CB_TEST,
+ Code_FT6X36_CHANNELS_DEVIATION_TEST,
+ Code_FT6X36_TWO_SIDES_DEVIATION_TEST,
+ Code_FT6X36_FPC_SHORT_TEST,
+ Code_FT6X36_FPC_OPEN_TEST,
+ Code_FT6X36_SREF_OPEN_TEST,
+ Code_FT6X36_TE_TEST,
+ Code_FT6X36_CB_DEVIATION_TEST,
+ Code_FT6X36_WRITE_CONFIG,
+ Code_FT6X36_DIFFER_TEST,
+ Code_FT6X36_WEAK_SHORT_TEST,
+ Code_FT6X36_DIFFER_TEST2,
+ Code_FT6X36_K1_DIFFER_TEST,
+};
+
+extern struct stCfg_FT6X36_TestItem g_stCfg_FT6X36_TestItem;
+extern struct stCfg_FT6X36_BasicThreshold g_stCfg_FT6X36_BasicThreshold;
+
+void OnInit_FT6X36_TestItem(char *strIniFile);
+void OnInit_FT6X36_BasicThreshold(char *strIniFile);
+void SetTestItem_FT6X36(void);
+
+#endif
diff --git a/drivers/input/touchscreen/focaltech_3207/DetailThreshold.c b/drivers/input/touchscreen/focaltech_3207/DetailThreshold.c
new file mode 100644
index 0000000..d7ee37c
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/DetailThreshold.c
@@ -0,0 +1,1204 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+#include <linux/kernel.h>
+#include <linux/string.h>
+
+#include "ini.h"
+#include "DetailThreshold.h"
+#include "test_lib.h"
+#include "Global.h"
+
+struct stCfg_MCap_DetailThreshold g_stCfg_MCap_DetailThreshold;
+struct stCfg_SCap_DetailThreshold g_stCfg_SCap_DetailThreshold;
+
+
+void set_max_channel_num(void)
+{
+ switch(g_ScreenSetParam.iSelectedIC>>4)
+ {
+ case IC_FT5822>>4:
+ g_ScreenSetParam.iUsedMaxTxNum= TX_NUM_MAX;
+ g_ScreenSetParam.iUsedMaxRxNum = RX_NUM_MAX;
+ break;
+ default:
+ g_ScreenSetParam.iUsedMaxTxNum = 30;
+ g_ScreenSetParam.iUsedMaxRxNum = 30;
+ break;
+ }
+
+}
+void OnInit_SCap_DetailThreshold(char *strIniFile)
+{
+ OnGetTestItemParam("RawDataTest_Max", strIniFile, 12500);
+ memcpy(g_stCfg_SCap_DetailThreshold.RawDataTest_Max, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+ OnGetTestItemParam("RawDataTest_Min", strIniFile, 16500);
+ memcpy(g_stCfg_SCap_DetailThreshold.RawDataTest_Min, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+ OnGetTestItemParam("CiTest_Max", strIniFile, 5);
+ memcpy(g_stCfg_SCap_DetailThreshold.CiTest_Max, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+ OnGetTestItemParam("CiTest_Min", strIniFile, 250);
+ memcpy(g_stCfg_SCap_DetailThreshold.CiTest_Min, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+ OnGetTestItemParam("DeltaCiTest_Base", strIniFile, 0);
+ memcpy(g_stCfg_SCap_DetailThreshold.DeltaCiTest_Base, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+ OnGetTestItemParam("DeltaCiTest_AnotherBase1", strIniFile, 0);
+ memcpy(g_stCfg_SCap_DetailThreshold.DeltaCiTest_AnotherBase1, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+ OnGetTestItemParam("DeltaCiTest_AnotherBase2", strIniFile, 0);
+ memcpy(g_stCfg_SCap_DetailThreshold.DeltaCiTest_AnotherBase2, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+ OnGetTestItemParam("NoiseTest_Max", strIniFile, 20);
+ memcpy(g_stCfg_SCap_DetailThreshold.NoiseTest_Max, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+
+ //OnGetTestItemParam("CiDeviation_Base", strIniFile);
+ OnGetTestItemParam("CiDeviation_Base", strIniFile,0);
+ memcpy(g_stCfg_SCap_DetailThreshold.CiDeviationTest_Base, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+
+ OnGetTestItemParam("DeltaCxTest_Sort", strIniFile, 1);
+ memcpy(g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+
+ OnGetTestItemParam("DeltaCxTest_Area", strIniFile, 1);
+ memcpy(g_stCfg_SCap_DetailThreshold.DeltaCxTest_Area, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+
+ //6x36
+ //OnGetTestItemParam("CbTest_Max", strIniFile);
+ OnGetTestItemParam("CBTest_Max", strIniFile, 0);
+ memcpy(g_stCfg_SCap_DetailThreshold.CbTest_Max, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+
+ //OnGetTestItemParam("CbTest_Min", strIniFile);
+ OnGetTestItemParam("CBTest_Min", strIniFile, 0);
+ memcpy(g_stCfg_SCap_DetailThreshold.CbTest_Min, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+
+ //OnGetTestItemParam("DeltaCbTest_Base", strIniFile);
+ OnGetTestItemParam("DeltaCbTest_Base", strIniFile, 0);
+ memcpy(g_stCfg_SCap_DetailThreshold.DeltaCbTest_Base, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+
+ //OnGetTestItemParam("DifferTest_Base", strIniFile);
+ OnGetTestItemParam("DifferTest_Base", strIniFile, 0);
+ memcpy(g_stCfg_SCap_DetailThreshold.DifferTest_Base, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+
+ //OnGetTestItemParam("CBDeviation_Base", strIniFile);
+ OnGetTestItemParam("CBDeviation_Base", strIniFile, 0);
+ memcpy(g_stCfg_SCap_DetailThreshold.CBDeviationTest_Base, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+
+ //OnGetTestItemParam("K1DifferTest_Base", strIniFile);
+ OnGetTestItemParam("K1DifferTest_Base", strIniFile, 0);
+ memcpy(g_stCfg_SCap_DetailThreshold.K1DifferTest_Base, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+}
+
+void OnGetTestItemParam(char *strItemName, char *strIniFile, int iDefautValue)
+{
+ //char str[430];
+ char strValue[800];
+ char str_tmp[128];
+ int iValue = 0;
+ int dividerPos=0;
+ int index = 0;
+ int i = 0, j=0, k = 0;
+ memset(g_stCfg_SCap_DetailThreshold.TempData, 0, sizeof(g_stCfg_SCap_DetailThreshold.TempData));
+ sprintf(str_tmp, "%d", iDefautValue);
+ GetPrivateProfileString( "Basic_Threshold", strItemName, str_tmp, strValue, strIniFile);
+ iValue = atoi(strValue);
+ for(i = 0; i < MAX_CHANNEL_NUM; i++)
+ {
+ g_stCfg_SCap_DetailThreshold.TempData[i] = iValue;
+ }
+
+ dividerPos = GetPrivateProfileString( "SpecialSet", strItemName, "", strValue, strIniFile);
+ //sprintf(strValue, "%s", str);
+ if(dividerPos > 0)
+ {
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_SCap_DetailThreshold.TempData[k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ //If (k+1) < MAX_CHANNEL_NUM, set Default Vaule to Other
+ //for(i = k+1; i < MAX_CHANNEL_NUM; i++)
+ //{
+ // g_stCfg_SCap_DetailThreshold.TempData[i] = iValue;
+ //}
+ }
+}
+void OnInit_MCap_DetailThreshold(char *strIniFile)
+{
+ set_max_channel_num();//set used TxRx
+
+ OnInit_InvalidNode(strIniFile);
+ OnInit_DThreshold_RawDataTest(strIniFile);
+ OnInit_DThreshold_SCapRawDataTest(strIniFile);
+ OnInit_DThreshold_SCapCbTest(strIniFile);
+
+/* OnInit_DThreshold_RxCrosstalkTest(strIniFile);
+ OnInit_DThreshold_PanelDifferTest(strIniFile);*/
+ OnInit_DThreshold_RxLinearityTest(strIniFile);
+ OnInit_DThreshold_TxLinearityTest(strIniFile);
+/* OnInit_DThreshold_TxShortTest(strIniFile);
+
+
+ OnInit_DThreshold_CMTest(strIniFile);
+
+ OnInit_DThreshold_NoiseTest(strIniFile);
+
+ //5422 SITO_RAWDATA_UNIFORMITY_TEST
+ OnInit_DThreshold_SITORawdata_RxLinearityTest(strIniFile);
+ OnInit_DThreshold_SITORawdata_TxLinearityTest(strIniFile);
+
+ OnInit_DThreshold_SITO_RxLinearityTest(strIniFile);
+ OnInit_DThreshold_SITO_TxLinearityTest(strIniFile);
+
+ OnInit_DThreshold_UniformityRxLinearityTest(strIniFile);
+ OnInit_DThreshold_UniformityTxLinearityTest(strIniFile);
+*/
+}
+void OnInit_InvalidNode(char *strIniFile)
+{
+
+ char str[MAX_PATH] = {0},strTemp[MAX_PATH] = {0};
+ int i = 0, j=0;
+ //memset(str , 0x00, sizeof(str));
+ //memset(strTemp , 0x00, sizeof(strTemp));
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ sprintf(strTemp, "InvalidNode[%d][%d]", (i+1), (j+1));
+
+ GetPrivateProfileString("INVALID_NODE",strTemp,"1",str, strIniFile);
+ if(atoi(str) == 0)
+ {
+ g_stCfg_MCap_DetailThreshold.InvalidNode[i][j] = 0;
+ }
+ else if( atoi( str ) == 2 )
+ {
+ g_stCfg_MCap_DetailThreshold.InvalidNode[i][j] = 2;
+ }
+ else
+ g_stCfg_MCap_DetailThreshold.InvalidNode[i][j] = 1;
+ }
+ }
+
+ for(i = 0; i < 2; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ sprintf(strTemp, "InvalidNodeS[%d][%d]", (i+1), (j+1));
+ GetPrivateProfileString("INVALID_NODES",strTemp,"1",str, strIniFile);
+ if(atoi(str) == 0)
+ {
+ g_stCfg_MCap_DetailThreshold.InvalidNode_SC[i][j] = 0;
+ }
+ else if( atoi( str ) == 2 )
+ {
+ g_stCfg_MCap_DetailThreshold.InvalidNode_SC[i][j] = 2;
+ }
+ else
+ g_stCfg_MCap_DetailThreshold.InvalidNode_SC[i][j] = 1;
+ }
+
+ }
+}
+
+void OnInit_DThreshold_RawDataTest(char *strIniFile)
+{
+ char str[128], strTemp[MAX_PATH],strValue[MAX_PATH];
+ int MaxValue, MinValue;
+ int dividerPos=0;
+ char str_tmp[128];
+ int index = 0;
+ int k = 0, i = 0, j = 0;
+ ////////////////////////////RawData Test
+ GetPrivateProfileString( "Basic_Threshold","RawDataTest_Max","10000",str, strIniFile);
+ MaxValue = atoi(str);
+
+ //printk("MaxValue = %d \n", MaxValue);
+
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.RawDataTest_Max[i][j] = MaxValue;
+ }
+ }
+
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ sprintf(str, "RawData_Max_Tx%d", (i + 1));
+ //printk("%s \n", str);
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "111",strTemp, strIniFile);
+ //printk("GetPrivateProfileString = %d \n", dividerPos);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.RawDataTest_Max[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+
+ }
+
+ GetPrivateProfileString("Basic_Threshold","RawDataTest_Min","7000",str, strIniFile);
+ MinValue = atoi(str);
+
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.RawDataTest_Min[i][j] = MinValue;
+ }
+ }
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ sprintf(str, "RawData_Min_Tx%d", (i + 1));
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp, strIniFile);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.RawDataTest_Min[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ }
+
+ //RawData Test Low
+ GetPrivateProfileString( "Basic_Threshold","RawDataTest_Low_Max","15000",str, strIniFile);
+ MaxValue = atoi(str);
+
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.RawDataTest_Low_Max[i][j] = MaxValue;
+ }
+ }
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ sprintf(str, "RawData_Max_Low_Tx%d", (i + 1));
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp, strIniFile);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.RawDataTest_Low_Max[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ }
+
+ GetPrivateProfileString("Basic_Threshold","RawDataTest_Low_Min","3000",str, strIniFile);
+ MinValue = atoi(str);
+
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.RawDataTest_Low_Min[i][j] = MinValue;
+ }
+ }
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ sprintf(str, "RawData_Min_Low_Tx%d", (i + 1));
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp, strIniFile);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.RawDataTest_Low_Min[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ }
+
+ //RawData Test High
+ GetPrivateProfileString( "Basic_Threshold","RawDataTest_High_Max","15000",str, strIniFile);
+ MaxValue = atoi(str);
+
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.RawDataTest_High_Max[i][j] = MaxValue;
+ }
+ }
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ sprintf(str, "RawData_Max_High_Tx%d", (i + 1));
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp, strIniFile);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.RawDataTest_High_Max[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ }
+
+ GetPrivateProfileString("Basic_Threshold","RawDataTest_High_Min","3000",str, strIniFile);
+ MinValue = atoi(str);
+
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.RawDataTest_High_Min[i][j] = MinValue;
+ }
+ }
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ sprintf(str, "RawData_Min_High_Tx%d", (i + 1));
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp, strIniFile);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.RawDataTest_High_Min[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ }
+/*
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.TxShortAdvance[i][j] = 0;
+ }
+ }
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ sprintf(str, "TxShortAdvanceThreshold_Tx%d", (i + 1));
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp, strIniFile);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.TxShortAdvance[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ }*/
+}
+void OnInit_DThreshold_SCapRawDataTest(char *strIniFile)
+{
+ char str[128], strTemp[MAX_PATH],strValue[MAX_PATH];
+ int MaxValue, MinValue;
+ int dividerPos=0;
+ char str_tmp[128];
+ int index = 0;
+ int k = 0, i = 0, j = 0;
+
+ //////////////////OFF
+ GetPrivateProfileString("Basic_Threshold","SCapRawDataTest_OFF_Min","150",str,strIniFile);
+ MinValue = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","SCapRawDataTest_OFF_Max","1000",str,strIniFile);
+ MaxValue = atoi(str);
+
+ ///Max
+ for(i = 0; i < 2; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_OFF_Max[i][j] = MaxValue;
+ }
+ }
+ for(i = 0; i < 2; i++)
+ {
+ sprintf(str, "ScapRawData_OFF_Max_%d", (i + 1));
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp, strIniFile);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_OFF_Max[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ }
+ ////Min
+ for(i = 0; i < 2; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_OFF_Min[i][j] = MinValue;
+ }
+ }
+ for(i = 0; i < 2; i++)
+ {
+ sprintf(str, "ScapRawData_OFF_Min_%d", (i + 1));
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp, strIniFile);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_OFF_Min[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ }
+/*
+ for(int i = 0; i < 2; i++)
+ {
+ if(0 == i)iLenght = g_ScreenSetParam.iUsedMaxRxNum;
+ if(1 == i)iLenght = g_ScreenSetParam.iUsedMaxTxNum;
+
+ str.Format("ScapRawData_OFF_Max_%d", i + 1);
+ GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp.GetBuffer(BUFFER_LENGTH),BUFFER_LENGTH, strIniFile);
+ strValue.Format("%s",strTemp);
+ dividerPos = strValue.Find(',',0);
+ if(dividerPos > 0)
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ AfxExtractSubString(SingleItem, strValue, j , cDivider);
+ if(!SingleItem.IsEmpty())
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_OFF_Max[i][j] = atoi(SingleItem);
+ }
+ else
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_OFF_Max[i][j] = iBasicMax;
+ }
+ }
+ }
+ else
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_OFF_Max[i][j] = iBasicMax;
+ }
+ }
+ }
+
+ for(int i = 0; i < 2; i++)
+ {
+ if(0 == i)iLenght = g_ScreenSetParam.iUsedMaxRxNum;
+ if(1 == i)iLenght = g_ScreenSetParam.iUsedMaxTxNum;
+
+ str.Format("ScapRawData_OFF_Min_%d", i + 1);
+ GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp.GetBuffer(BUFFER_LENGTH),BUFFER_LENGTH, strIniFile);
+ strValue.Format("%s",strTemp);
+ dividerPos = strValue.Find(',',0);
+ if(dividerPos > 0)
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ AfxExtractSubString(SingleItem, strValue, j , cDivider);
+ if(!SingleItem.IsEmpty())
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_OFF_Min[i][j] = atoi(SingleItem);
+ }
+ else
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_OFF_Min[i][j] = iBasicMin;
+ }
+ }
+ }
+ else
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_OFF_Min[i][j] = iBasicMin;
+ }
+ }
+ }
+*/
+ //////////////////ON
+ GetPrivateProfileString("Basic_Threshold","SCapRawDataTest_ON_Min","150",str,strIniFile);
+ MinValue = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","SCapRawDataTest_ON_Max","1000",str,strIniFile);
+ MaxValue = atoi(str);
+
+ ///Max
+ for(i = 0; i < 2; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_ON_Max[i][j] = MaxValue;
+ }
+ }
+ for(i = 0; i < 2; i++)
+ {
+ sprintf(str, "ScapRawData_ON_Max_%d", (i + 1));
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp, strIniFile);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_ON_Max[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ }
+ ////Min
+ for(i = 0; i < 2; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_ON_Min[i][j] = MinValue;
+ }
+ }
+ for(i = 0; i < 2; i++)
+ {
+ sprintf(str, "ScapRawData_ON_Min_%d", (i + 1));
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp, strIniFile);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_ON_Min[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ }
+ /*
+ for(int i = 0; i < 2; i++)
+ {
+ if(0 == i)iLenght = g_ScreenSetParam.iUsedMaxRxNum;
+ if(1 == i)iLenght = g_ScreenSetParam.iUsedMaxTxNum;
+
+ str.Format("ScapRawData_ON_Max_%d", i + 1);
+ GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp.GetBuffer(BUFFER_LENGTH),BUFFER_LENGTH, strIniFile);
+ strValue.Format("%s",strTemp);
+ dividerPos = strValue.Find(',',0);
+ if(dividerPos > 0)
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ AfxExtractSubString(SingleItem, strValue, j , cDivider);
+ if(!SingleItem.IsEmpty())
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_ON_Max[i][j] = atoi(SingleItem);
+ }
+ else
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_ON_Max[i][j] = iBasicMax;
+ }
+ }
+ }
+ else
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_ON_Max[i][j] = iBasicMax;
+ }
+ }
+ }
+
+ for(int i = 0; i < 2; i++)
+ {
+ if(0 == i)iLenght = g_ScreenSetParam.iUsedMaxRxNum;
+ if(1 == i)iLenght = g_ScreenSetParam.iUsedMaxTxNum;
+
+ str.Format("ScapRawData_ON_Min_%d", i + 1);
+ GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp.GetBuffer(BUFFER_LENGTH),BUFFER_LENGTH, strIniFile);
+ strValue.Format("%s",strTemp);
+ dividerPos = strValue.Find(',',0);
+ if(dividerPos > 0)
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ AfxExtractSubString(SingleItem, strValue, j , cDivider);
+ if(!SingleItem.IsEmpty())
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_ON_Min[i][j] = atoi(SingleItem);
+ }
+ else
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_ON_Min[i][j] = iBasicMin;
+ }
+ }
+ }
+ else
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_ON_Min[i][j] = iBasicMin;
+ }
+ }
+ }
+*/
+}
+void OnInit_DThreshold_SCapCbTest(char *strIniFile)
+{
+ char str[128], strTemp[MAX_PATH],strValue[MAX_PATH];
+ int MaxValue, MinValue;
+ int dividerPos=0;
+ char str_tmp[128];
+ int index = 0;
+ int k = 0, i = 0, j = 0;
+
+ GetPrivateProfileString("Basic_Threshold","SCapCbTest_ON_Min","0",str,strIniFile);
+ MinValue = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","SCapCbTest_ON_Max","240",str,strIniFile);
+ MaxValue = atoi(str);
+ ///Max
+ for(i = 0; i < 2; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_ON_Max[i][j] = MaxValue;
+ }
+ }
+ for(i = 0; i < 2; i++)
+ {
+ sprintf(str, "ScapCB_ON_Max_%d", (i + 1));
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp, strIniFile);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_ON_Max[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ }
+ ////Min
+ for(i = 0; i < 2; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_ON_Min[i][j] = MinValue;
+ }
+ }
+ for(i = 0; i < 2; i++)
+ {
+ sprintf(str, "ScapCB_ON_Min_%d", (i + 1));
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp, strIniFile);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_ON_Min[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ }
+ GetPrivateProfileString("Basic_Threshold","SCapCbTest_OFF_Min","0",str,strIniFile);
+ MinValue = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","SCapCbTest_OFF_Max","240",str,strIniFile);
+ MaxValue = atoi(str);
+ ///Max
+ for(i = 0; i < 2; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_OFF_Max[i][j] = MaxValue;
+ }
+ }
+ for(i = 0; i < 2; i++)
+ {
+ sprintf(str, "ScapCB_OFF_Max_%d", (i + 1));
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp, strIniFile);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_OFF_Max[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ }
+ ////Min
+ for(i = 0; i < 2; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_OFF_Min[i][j] = MinValue;
+ }
+ }
+ for(i = 0; i < 2; i++)
+ {
+ sprintf(str, "ScapCB_OFF_Min_%d", (i + 1));
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp, strIniFile);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_OFF_Min[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ }
+/*
+ int iLenght = 0;
+
+ for(int i = 0; i < 2; i++)
+ {
+ if(0 == i)iLenght = g_ScreenSetParam.iUsedMaxRxNum;
+ if(1 == i)iLenght = g_ScreenSetParam.iUsedMaxTxNum;
+
+ str.Format("ScapCB_ON_Max_%d", i + 1);
+ GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp.GetBuffer(BUFFER_LENGTH),BUFFER_LENGTH, strIniFile);
+ strValue.Format("%s",strTemp);
+ dividerPos = strValue.Find(',',0);
+ if(dividerPos > 0)
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ AfxExtractSubString(SingleItem, strValue, j , cDivider);
+ if(!SingleItem.IsEmpty())
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_ON_Max[i][j] = atoi(SingleItem);
+ }
+ else
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_ON_Max[i][j] = iBasicMax_on;
+ }
+ }
+ }
+ else
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_ON_Max[i][j] = iBasicMax_on;
+ }
+ }
+ }
+
+ for(int i = 0; i < 2; i++)
+ {
+ if(0 == i)iLenght = g_ScreenSetParam.iUsedMaxRxNum;
+ if(1 == i)iLenght = g_ScreenSetParam.iUsedMaxTxNum;
+
+ str.Format("ScapCB_ON_Min_%d", i + 1);
+ GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp.GetBuffer(BUFFER_LENGTH),BUFFER_LENGTH, strIniFile);
+ strValue.Format("%s",strTemp);
+ dividerPos = strValue.Find(',',0);
+ if(dividerPos > 0)
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ AfxExtractSubString(SingleItem, strValue, j , cDivider);
+ if(!SingleItem.IsEmpty())
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_ON_Min[i][j] = atoi(SingleItem);
+ }
+ else
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_ON_Min[i][j] = iBasicMin_on;
+ }
+ }
+ }
+ else
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_ON_Min[i][j] = iBasicMin_on;
+ }
+ }
+ }
+
+ for(int i = 0; i < 2; i++)
+ {
+ if(0 == i)iLenght = g_ScreenSetParam.iUsedMaxRxNum;
+ if(1 == i)iLenght = g_ScreenSetParam.iUsedMaxTxNum;
+
+ str.Format("ScapCB_OFF_Max_%d", i + 1);
+ GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp.GetBuffer(BUFFER_LENGTH),BUFFER_LENGTH, strIniFile);
+ strValue.Format("%s",strTemp);
+ dividerPos = strValue.Find(',',0);
+ if(dividerPos > 0)
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ AfxExtractSubString(SingleItem, strValue, j , cDivider);
+ if(!SingleItem.IsEmpty())
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_OFF_Max[i][j] = atoi(SingleItem);
+ }
+ else
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_OFF_Max[i][j] = iBasicMax_off;
+ }
+ }
+ }
+ else
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_OFF_Max[i][j] = iBasicMax_off;
+ }
+ }
+ }
+
+ for(int i = 0; i < 2; i++)
+ {
+ if(0 == i)iLenght = g_ScreenSetParam.iUsedMaxRxNum;
+ if(1 == i)iLenght = g_ScreenSetParam.iUsedMaxTxNum;
+
+ str.Format("ScapCB_OFF_Min_%d", i + 1);
+ GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp.GetBuffer(BUFFER_LENGTH),BUFFER_LENGTH, strIniFile);
+ strValue.Format("%s",strTemp);
+ dividerPos = strValue.Find(',',0);
+ if(dividerPos > 0)
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ AfxExtractSubString(SingleItem, strValue, j , cDivider);
+ if(!SingleItem.IsEmpty())
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_OFF_Min[i][j] = atoi(SingleItem);
+ }
+ else
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_OFF_Min[i][j] = iBasicMin_off;
+ }
+ }
+ }
+ else
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_OFF_Min[i][j] = iBasicMin_off;
+ }
+ }
+ }
+*/
+
+}
+
+void OnInit_DThreshold_RxLinearityTest(char *strIniFile)
+{
+ char str[128], strTemp[MAX_PATH],strValue[MAX_PATH];
+ int MaxValue = 0;
+ int dividerPos=0;
+ char str_tmp[128];
+ int index = 0;
+ int k = 0, i = 0, j = 0;
+ ////////////////////////////Rx_Linearity Test
+ GetPrivateProfileString( "Basic_Threshold","RxLinearityTest_Max", "50",str, strIniFile);
+ MaxValue = atoi(str);
+
+ //printk("MaxValue = %d \n", MaxValue);
+
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.RxLinearityTest_Max[i][j] = MaxValue;
+ }
+ }
+
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ sprintf(str, "Rx_Linearity_Max_Tx%d", (i + 1));
+ //printk("%s \n", str);
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "111",strTemp, strIniFile);
+ //printk("GetPrivateProfileString = %d \n", dividerPos);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.RxLinearityTest_Max[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+
+ }
+}
+
+void OnInit_DThreshold_TxLinearityTest(char *strIniFile)
+{
+ char str[128], strTemp[MAX_PATH],strValue[MAX_PATH];
+ int MaxValue = 0;
+ int dividerPos=0;
+ char str_tmp[128];
+ int index = 0;
+ int k = 0, i = 0, j = 0;
+ ////////////////////////////Tx_Linearity Test
+ GetPrivateProfileString( "Basic_Threshold","TxLinearityTest_Max", "50",str, strIniFile);
+ MaxValue = atoi(str);
+
+ //printk("MaxValue = %d \n", MaxValue);
+
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.TxLinearityTest_Max[i][j] = MaxValue;
+ }
+ }
+
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ sprintf(str, "Tx_Linearity_Max_Tx%d", (i + 1));
+ //printk("%s \n", str);
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "111",strTemp, strIniFile);
+ //printk("GetPrivateProfileString = %d \n", dividerPos);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.TxLinearityTest_Max[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/drivers/input/touchscreen/focaltech_3207/DetailThreshold.h b/drivers/input/touchscreen/focaltech_3207/DetailThreshold.h
new file mode 100644
index 0000000..223e456
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/DetailThreshold.h
@@ -0,0 +1,93 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+#ifndef _DETAIL_THRESHOLD_H
+#define _DETAIL_THRESHOLD_H
+
+#define TX_NUM_MAX 50
+#define RX_NUM_MAX 50
+#define MAX_PATH 256
+#define BUFFER_LENGTH 512
+#define MAX_TEST_ITEM 100
+#define MAX_GRAPH_ITEM 20
+#define MAX_CHANNEL_NUM 144
+
+struct stCfg_MCap_DetailThreshold
+{
+ unsigned char InvalidNode[TX_NUM_MAX][RX_NUM_MAX];
+ unsigned char InvalidNode_SC[TX_NUM_MAX][RX_NUM_MAX];
+
+ int RawDataTest_Min[TX_NUM_MAX][RX_NUM_MAX];
+ int RawDataTest_Max[TX_NUM_MAX][RX_NUM_MAX];
+ int RawDataTest_Low_Min[TX_NUM_MAX][RX_NUM_MAX];
+ int RawDataTest_Low_Max[TX_NUM_MAX][RX_NUM_MAX];
+ int RawDataTest_High_Min[TX_NUM_MAX][RX_NUM_MAX];
+ int RawDataTest_High_Max[TX_NUM_MAX][RX_NUM_MAX];
+ int RxLinearityTest_Max[TX_NUM_MAX][RX_NUM_MAX];
+ int TxLinearityTest_Max[TX_NUM_MAX][RX_NUM_MAX];
+
+ int SCapRawDataTest_ON_Max[TX_NUM_MAX][RX_NUM_MAX];
+ int SCapRawDataTest_ON_Min[TX_NUM_MAX][RX_NUM_MAX];
+ int SCapRawDataTest_OFF_Max[TX_NUM_MAX][RX_NUM_MAX];
+ int SCapRawDataTest_OFF_Min[TX_NUM_MAX][RX_NUM_MAX];
+ short SCapCbTest_ON_Max[TX_NUM_MAX][RX_NUM_MAX];
+ short SCapCbTest_ON_Min[TX_NUM_MAX][RX_NUM_MAX];
+ short SCapCbTest_OFF_Max[TX_NUM_MAX][RX_NUM_MAX];
+ short SCapCbTest_OFF_Min[TX_NUM_MAX][RX_NUM_MAX];
+
+ int NoistTest_Coefficient[TX_NUM_MAX][RX_NUM_MAX];
+};
+
+struct stCfg_SCap_DetailThreshold
+{
+ int TempData[MAX_CHANNEL_NUM];
+ int RawDataTest_Max[MAX_CHANNEL_NUM];
+ int RawDataTest_Min[MAX_CHANNEL_NUM];
+ int CiTest_Max[MAX_CHANNEL_NUM];
+ int CiTest_Min[MAX_CHANNEL_NUM];
+ int DeltaCiTest_Base[MAX_CHANNEL_NUM];
+ int DeltaCiTest_AnotherBase1[MAX_CHANNEL_NUM];
+ int DeltaCiTest_AnotherBase2[MAX_CHANNEL_NUM];
+ int CiDeviationTest_Base[MAX_CHANNEL_NUM];
+
+ int NoiseTest_Max[MAX_CHANNEL_NUM];
+ int DeltaCxTest_Sort[MAX_CHANNEL_NUM]; //Sort ¹ï6x06»P6x36³q¥Î
+ int DeltaCxTest_Area[MAX_CHANNEL_NUM]; //Sort ¹ï6x06»P6x36³q¥Î
+
+ int CbTest_Max[MAX_CHANNEL_NUM];
+ int CbTest_Min[MAX_CHANNEL_NUM];
+ int DeltaCbTest_Base[MAX_CHANNEL_NUM];
+ int DifferTest_Base[MAX_CHANNEL_NUM];
+ int CBDeviationTest_Base[MAX_CHANNEL_NUM];
+ int K1DifferTest_Base[MAX_CHANNEL_NUM];
+
+};
+
+void OnInit_MCap_DetailThreshold(char *strIniFile);
+void OnInit_SCap_DetailThreshold(char *strIniFile);
+
+void OnInit_InvalidNode(char *strIniFile);
+void OnGetTestItemParam(char *strItemName, char *strIniFile, int iDefautValue);
+void OnInit_DThreshold_RawDataTest(char *strIniFile);
+void OnInit_DThreshold_SCapRawDataTest(char *strIniFile);
+void OnInit_DThreshold_SCapCbTest(char *strIniFile);
+
+void OnInit_DThreshold_RxLinearityTest(char *strIniFile);//For FT5822
+void OnInit_DThreshold_TxLinearityTest(char *strIniFile);//For FT5822
+
+void set_max_channel_num(void);
+
+#endif
diff --git a/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DBW2_3207_0x82_app.i b/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DBW2_3207_0x82_app.i
new file mode 100644
index 0000000..a4b77a0
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DBW2_3207_0x82_app.i
@@ -0,0 +1,1474 @@
+0x2, 0x0, 0x76,0x2, 0x4c,0x99,0x22,0x22,0x22,0x22,0x32,0x2, 0x0, 0xa, 0x7f,0x71,
+0x7e,0x8, 0x0, 0x2, 0x2, 0x4, 0x59,0x2, 0x4c,0x8f,0x22,0x2, 0x4b,0xa6,0x1e,0x44,
+0x1e,0x44,0x1e,0x44,0x1e,0x44,0x22,0x2, 0x4d,0x9b,0xff,0x2, 0x4c,0xf1,0x7d,0x23,
+0xbe,0x24,0x0, 0x0, 0x48,0x3, 0x7d,0x32,0x22,0x6d,0x33,0x9d,0x32,0x22,0x70,0x2,
+0xc2,0xd, 0x22,0x2, 0x4d,0x31,0x40,0x10,0x10,0x10,0x10,0x40,0x12,0x0, 0x1, 0x2,
+0x3, 0x14,0x12,0x4, 0x5, 0x6, 0x7, 0x14,0x13,0x8, 0x9, 0xa, 0xb, 0x15,0x13,0xc,
+0xd, 0xe, 0xf, 0x15,0x40,0x11,0x11,0x11,0x11,0x40,0x3e,0x34,0x3e,0x34,0x3e,0x34,
+0x3e,0x34,0x22,0x2, 0x50,0x36,0x75,0x84,0x1, 0x7e,0x44,0xf, 0xff,0xe4,0x7a,0x49,
+0xb0,0x1b,0x44,0x78,0xf9,0x7e,0xf8,0xd, 0x3f,0xc2,0xc, 0x75,0x47,0x18,0xc2,0x8,
+0xd2,0x9, 0x75,0x1d,0x0, 0x75,0x1e,0x0, 0xc2,0x0, 0xd2,0x1, 0xc2,0x2, 0xc2,0x3,
+0xc2,0x4, 0xc2,0x6, 0x75,0x8, 0x76,0x75,0xa, 0x0, 0x75,0xc, 0x37,0x75,0xe, 0x2,
+0x75,0xf, 0x74,0x75,0x10,0x71,0x75,0x14,0x71,0x75,0x15,0x71,0x75,0x1b,0x7b,0xd2,
+0xa, 0xc2,0xb, 0x75,0x4c,0x0, 0x75,0x4d,0x0, 0xc2,0xd, 0x75,0x4e,0x0, 0x75,0x4f,
+0x0, 0xc2,0xe, 0x7e,0x4, 0x0, 0xff,0x7e,0x14,0x5, 0xa, 0xb, 0xa, 0x40,0x5d,0x44,
+0x68,0x1a,0x69,0x20,0x0, 0x2, 0xb, 0xe, 0xb, 0x44,0x80,0xa, 0x7e,0xb, 0xb0,0x7a,
+0x29,0xb0,0xb, 0x24,0xb, 0xc, 0x1b,0x44,0x78,0xf2,0x80,0xdf,0x2, 0x21,0x65,0xff,
+0x5b,0xbf,0xa4,0x40,0x60,0x9f,0x7e,0x81,0x82,0x7d,0x2, 0xfd,0xff,0xff,0xff,0x0,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0x7e,0xa0,0x20,0x80,0xc, 0x7e,0xa0,0x10,0x80,0x5, 0x7e,0xa0,0x8, 0x6c,0x55,0x6d,
+0x33,0x33,0x92,0xd5,0x50,0xa, 0x6e,0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,
+0xa5,0xec,0x33,0x40,0x6, 0x2f,0x11,0xd5,0xf0,0xf6,0x22,0x7c,0xba,0x24,0x7e,0xa2,
+0xd5,0x13,0x7c,0x76,0x7c,0x65,0xa5,0xcc,0x92,0xe7,0x7c,0x5b,0x22,0x7c,0xb5,0x33,
+0x7c,0xb4,0x33,0x92,0xd5,0x4e,0x50,0x80,0x24,0x81,0x40,0x3, 0x9f,0x11,0x22,0x7c,
+0x45,0x7c,0x56,0x7c,0x67,0x6c,0x77,0x24,0xe0,0x50,0xe, 0x7e,0x1c,0xff,0xff,0x22,
+0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x4, 0x78,0xf4,0x30,0xd5,0xa, 0x6e,
+0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,0x22,0x7c,0xb5,0xa2,0xe7,0xd2,0xe7,
+0x7c,0x1b,0x7c,0xb4,0x33,0x40,0x9, 0x68,0xd, 0xb4,0xff,0xb, 0xa5,0xbd,0xff,0x3,
+0x2, 0x2, 0x67,0x2, 0x2, 0x6f,0x22,0x7c,0xb, 0x24,0x81,0xc2,0xe0,0xf5,0x82,0xf4,
+0x4, 0x2c,0xb0,0x7c,0x2b,0xc3,0x13,0x7c,0x4b,0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x7f,
+0x41,0x7c,0xb6,0xa2,0xe7,0x7c,0xb1,0xa5,0xba,0x7f,0x2, 0xc3,0x13,0x34,0x0, 0x94,
+0x0, 0x7c,0x2b,0x7e,0xa0,0x91,0xa4,0x7c,0xba,0x13,0xf4,0x94,0xfe,0xac,0xb2,0x33,
+0x7c,0xba,0x33,0x24,0x8c,0xd3,0x13,0x7c,0x5b,0xe4,0x92,0xe7,0x7c,0x6b,0x6c,0x77,
+0x7e,0x40,0x3f,0x75,0x83,0x2, 0x7f,0x51,0x7f,0x1, 0x7f,0x14,0x12,0x3, 0x39,0x7f,
+0x5, 0x12,0x2, 0x81,0x9e,0x24,0x0, 0x80,0xd5,0x83,0xeb,0x7e,0x1, 0x82,0x6c,0x11,
+0xe, 0x4, 0x1e,0x4, 0x2d,0x20,0x5e,0x40,0x7f,0x22,0x2d,0x0, 0x92,0xd5,0xe, 0x10,
+0x4e,0x10,0x80,0x7d,0x42,0x2d,0x44,0x50,0x2, 0xb2,0xd5,0x4e,0x50,0x80,0x6c,0x44,
+0x7c,0xb8,0x22,0x2c,0x44,0x50,0x12,0xb, 0x1c,0x7e,0x40,0x0, 0x5e,0x50,0x7f,0xbe,
+0x18,0x0, 0x0, 0x78,0x4, 0xb, 0x80,0x68,0x16,0xa2,0xd5,0x7c,0xb8,0x13,0x7c,0x4b,
+0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x22,0x7e,0x1c,0xff,0xff,0x22,0x9f,0x11,0x22,0x7e,
+0x24,0xff,0x80,0x20,0xd5,0x2, 0x6c,0x45,0x6d,0x33,0x22,0x2, 0x2, 0x67,0x6e,0x0,
+0x80,0x7c,0xb1,0x33,0x7c,0xb0,0x33,0x68,0xd, 0x4, 0x68,0xef,0x7c,0xb5,0x33,0x7c,
+0xb4,0x33,0x78,0x3, 0x7f,0x10,0x22,0x4, 0x68,0xe1,0x7d,0x50,0x92,0xf7,0x7d,0x45,
+0x7d,0x51,0xbf,0x21,0x40,0x6, 0x7c,0x80,0x7f,0x1, 0x7f,0x12,0x12,0x2, 0x2a,0x7e,
+0xa1,0xd0,0x5c,0xb0,0x4, 0x78,0x3, 0x20,0xd5,0xc1,0x7c,0xb0,0x4, 0x78,0x7, 0x50,
+0x2, 0xb2,0xd5,0x2, 0x2, 0x6f,0x92,0xd5,0xbe,0x80,0xff,0x68,0xf6,0x7c,0xb8,0x9c,
+0xb0,0x6c,0x0, 0x60,0x2a,0xb4,0x18,0x5, 0x7c,0x41,0x2, 0x2, 0x43,0x50,0xfb,0x80,
+0x3, 0x2f,0x0, 0x4, 0x7c,0x9b,0x5e,0x90,0x7, 0x78,0xf6,0x30,0xe4,0x6, 0x7c,0x43,
+0x7d,0x10,0x6d,0x0, 0x30,0xe3,0x8, 0x7c,0x43,0x7c,0x32,0x7c,0x21,0xa, 0x0, 0x30,
+0xf5,0x19,0x9f,0x10,0x78,0xe, 0x22,0x2, 0x2, 0x6c,0x1b,0x80,0x68,0xf9,0x2f,0x11,
+0x50,0x2, 0xb, 0x70,0x7c,0xb5,0x30,0xe7,0xf1,0x80,0x1b,0x2d,0x31,0x7c,0xb5,0xa5,
+0x39,0x7c,0x5b,0x50,0x11,0xb, 0x80,0x78,0x3, 0x2, 0x2, 0x6f,0x1e,0x34,0x13,0x50,
+0x3, 0x4e,0x60,0x80,0x1a,0x2b,0x2, 0x2, 0x43,0xbe,0x24,0xff,0xff,0x68,0x6, 0xbe,
+0x4, 0xff,0xff,0x78,0x3, 0x2, 0x2, 0x67,0x12,0x2, 0x2a,0x5c,0xb0,0x4, 0x68,0xf5,
+0x7c,0xb8,0xa5,0x48,0x68,0xef,0x7c,0xb8,0x70,0x3, 0x9f,0x11,0x22,0xa5,0xb8,0x0,
+0x3, 0x2, 0x2, 0x6f,0x2e,0x0, 0x81,0x50,0x7, 0x9c,0x80,0x38,0x7, 0x2, 0x2, 0x6c,
+0x9c,0x80,0x50,0xed,0xa, 0x51,0xc2,0xe7,0x4d,0x51,0x78,0x3, 0x2, 0x2, 0x59,0x7e,
+0x54,0x0, 0x80,0x7e,0x90,0x1a,0x6c,0x0, 0x80,0x6, 0x1b,0x90,0x68,0x14,0x2f,0x11,
+0xbf,0x10,0x40,0x4, 0x9f,0x10,0x4c,0xab,0x3, 0x30,0xe7,0xee,0xca,0xa8,0x6c,0xaa,
+0x80,0xe8,0xda,0x39,0xda,0x58,0x7c,0x4a,0xbe,0x50,0x80,0x50,0xa, 0x1b,0x80,0x68,
+0xbc,0x2f,0x11,0x50,0x2, 0xb, 0x70,0x2, 0x2, 0x43,0xc2,0xd5,0x7c,0xb4,0x30,0xe7,
+0x8, 0xb2,0xd5,0x6e,0x24,0xff,0xff,0xb, 0x24,0x7c,0xb6,0x30,0xe7,0x12,0xb2,0xd5,
+0x6e,0x34,0xff,0xff,0xb, 0x34,0x8d,0x32,0x6e,0x24,0xff,0xff,0xb, 0x24,0x80,0x2,
+0x8d,0x32,0x30,0xd5,0x6, 0x6e,0x34,0xff,0xff,0xb, 0x34,0x22,0x7d,0x51,0xad,0x3,
+0x7d,0x2, 0x7d,0x21,0xad,0x5, 0x2d,0x12,0xad,0x35,0x2d,0x21,0x22,0x7d,0x2, 0xad,
+0x31,0xad,0x10,0x2d,0x21,0x22,0x6d,0x0, 0x74,0x10,0x4d,0x0, 0x78,0xb, 0x4d,0x22,
+0x78,0x27,0x8d,0x31,0x7d,0x12,0x6d,0x22,0x22,0x7d,0x43,0x7d,0x32,0x6d,0x22,0x2f,
+0x11,0x2d,0x44,0x50,0x2, 0xa5,0xf, 0xbf,0x10,0x40,0x4, 0x9f,0x10,0xb, 0x90,0x14,
+0x78,0xed,0x7f,0x1, 0x6d,0x22,0x7d,0x34,0x22,0x7d,0x41,0x7d,0x13,0x8d,0x24,0x7d,
+0x2, 0x2f,0x0, 0x40,0x4, 0xbd,0x4, 0x40,0x4, 0x9d,0x4, 0xb, 0x14,0x14,0x78,0xf1,
+0x7d,0x23,0x7d,0x31,0x7d,0x10,0x6d,0x0, 0x22,0xc2,0xd5,0x7c,0xb0,0x30,0xe7,0x8,
+0xb2,0xd5,0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x7c,0xb4,0x30,0xe7,0x13,0xb2,0xd5,0x9f,
+0x22,0x9f,0x21,0x7f,0x12,0x12,0x4, 0x8, 0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x80,0x3,
+0x12,0x4, 0x8, 0x30,0xd5,0x6, 0x9f,0x22,0x9f,0x21,0x7f,0x12,0x22,0x6c,0xaa,0x4d,
+0x11,0x68,0x1a,0x1e,0x54,0x68,0xe, 0xb, 0x38,0x20,0x1b,0x18,0x20,0xb, 0x35,0xb,
+0x15,0x1b,0x54,0x78,0xf2,0x50,0x6, 0x7e,0x39,0x40,0x7a,0x19,0x40,0x22,0x7d,0x3,
+0x80,0xa, 0x7e,0x29,0xb0,0x7a,0x9, 0xb0,0xb, 0x24,0xb, 0x4, 0x7d,0x51,0x1b,0x14,
+0x4d,0x55,0x78,0xee,0x22,0x13,0x12,0x10,0xf, 0x14,0xe, 0xb, 0xc, 0x1, 0x7, 0xa,
+0x9, 0x2, 0x3, 0x5, 0x6, 0x11,0x4, 0x15,0x0, 0xd, 0x8, 0x7f,0x1, 0xbe,0x8, 0x0,
+0x0, 0x48,0x3, 0x7f,0x10,0x22,0x9f,0x11,0x9f,0x10,0x22,0x7d,0x13,0x80,0x7, 0x1b,
+0x24,0x7a,0x19,0xb0,0xb, 0x14,0x4d,0x22,0x78,0xf5,0x22,0x10,0x10,0x10,0x1c,0x19,
+0x14,0x10,0xe, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x0, 0xc, 0xc, 0xe9,0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xc, 0xf5,0x0, 0x0,
+0x0, 0x1, 0xc, 0xf7,0x0, 0x0, 0x1, 0xd, 0x10,0x0, 0x0, 0x1, 0xd, 0x11,0x0, 0x0,
+0x1, 0xd, 0x12,0x0, 0x0, 0x2e,0xa, 0x8d,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x16,0xa, 0xbb,0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x2e,0xa, 0xd1,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x1, 0xc, 0xd0,0x0, 0x0, 0x1, 0xc, 0xd2,0x0, 0x0, 0x2, 0xc, 0xd3,
+0x0, 0x0, 0x0, 0x1, 0xc, 0xd5,0x0, 0x0, 0x1, 0xc, 0xd7,0x0, 0x0, 0x1, 0xc, 0xd8,
+0x0, 0x0, 0x2, 0x0, 0x72,0x3, 0x1c,0x0, 0x4, 0x0, 0xa2,0x0, 0x0, 0x0, 0x0, 0x0,
+0x2, 0x2, 0xcd,0x0, 0x0, 0x0, 0x1, 0x2, 0xcf,0x0, 0x0, 0x1, 0x2, 0xd3,0x0, 0x0,
+0x1, 0x3, 0x48,0x0, 0x0, 0x1, 0x3, 0x4c,0x0, 0x0, 0x1, 0x3, 0x4d,0x0, 0x0, 0x1,
+0xd, 0x3a,0x0, 0x0, 0x1, 0xd, 0x3b,0xff,0x0, 0x1, 0xd, 0x3c,0x0, 0x0, 0x1, 0xd,
+0x3d,0x10,0x0, 0x1, 0xd, 0x3e,0x8, 0x0, 0x1, 0xd, 0x3f,0x0, 0x0, 0x1, 0x9, 0x6c,
+0x0, 0x0, 0x1, 0xd, 0x28,0x0, 0x0, 0x1, 0xb, 0x38,0x0, 0x0, 0x2, 0xd, 0x29,0x0,
+0x0, 0x0, 0x2, 0x6, 0xdb,0x6, 0xe1,0x0, 0x1, 0x9, 0x69,0x0, 0x0, 0x0, 0x7d,0x41,
+0x7d,0x12,0x1a,0x26,0x1a,0x24,0x12,0x6, 0x5e,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x2,
+0x4, 0x59,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x7f,0x17,0x9f,0x10,0x7d,0x1d,0x1a,0x2,
+0x1a,0x0, 0x2, 0x3, 0xec,0xca,0x3b,0x7f,0x71,0x7c,0xab,0x6c,0x33,0x6c,0xee,0x6d,
+0x22,0x7a,0x25,0x22,0x7a,0x25,0x24,0x7d,0x62,0x7d,0x82,0x7d,0x92,0x7d,0x42,0x7d,
+0xa2,0x7d,0xb2,0x7e,0x37,0x5, 0xf8,0x7d,0xd3,0x7e,0x24,0x0, 0x2, 0x12,0x3, 0xba,
+0x7d,0xc3,0xa, 0x3a,0x7e,0x24,0x0, 0xb, 0x12,0x3, 0xba,0x7c,0xb5,0x7c,0xfb,0xbe,
+0xf0,0x5, 0x50,0x4c,0x1a,0x13,0x12,0x7, 0x73,0x48,0x2c,0xbe,0x78,0x1, 0xa, 0x48,
+0x2, 0x80,0x3, 0x7e,0x45,0x24,0x12,0x6, 0x52,0x7d,0x54,0x12,0x7, 0x84,0xbe,0x78,
+0x0, 0xc7,0x8, 0x7c,0x7f,0x17,0x9e,0x18,0x0, 0xc7,0x12,0x0, 0xe, 0x7f,0x71,0x2e,
+0x18,0x0, 0xc7,0x7f,0x71,0x80,0x69,0xbe,0x78,0x0, 0x89,0x18,0x9, 0x7d,0x19,0x12,
+0x6, 0x54,0x7d,0x59,0x80,0x27,0x7e,0x45,0x22,0x12,0x6, 0x52,0x7d,0x54,0x80,0x1d,
+0x1a,0x1e,0x12,0x7, 0x73,0x48,0x1b,0xbe,0x78,0x1, 0x4, 0x48,0x9, 0x7d,0x1b,0x12,
+0x6, 0x54,0x7d,0x5b,0x80,0x7, 0x7d,0x18,0x12,0x6, 0x54,0x7d,0x58,0x12,0x7, 0x84,
+0x80,0x2e,0xbe,0x78,0x0, 0x87,0x18,0x9, 0x7d,0x1a,0x12,0x6, 0x54,0x7d,0x5a,0x80,
+0x7, 0x7d,0x16,0x12,0x6, 0x54,0x7d,0x56,0x12,0x7, 0x84,0xbe,0x78,0x0, 0x0, 0x58,
+0xf, 0x9f,0x11,0x9f,0x17,0x12,0x0, 0xe, 0x7f,0x71,0x9f,0x11,0x9f,0x17,0x7f,0x71,
+0xbe,0x78,0x0, 0x0, 0x58,0x6, 0x9f,0x11,0x7f,0x71,0x80,0x11,0x7d,0x1d,0x12,0x7,
+0x7d,0x48,0xa, 0x7d,0x3d,0x1a,0x26,0x1a,0x24,0x1b,0x1c,0x7f,0x71,0xbe,0xf0,0x5,
+0x40,0xc, 0x7d,0x1d,0x1a,0x2, 0x1a,0x0, 0x7f,0x17,0x2f,0x10,0x7f,0x71,0x7f,0x17,
+0xda,0x3b,0x22,0x1a,0x2, 0x7f,0x17,0x2f,0x10,0x7f,0x71,0x7d,0x1c,0x1a,0x2, 0x1a,
+0x0, 0xbf,0x70,0x22,0x3e,0x54,0x1a,0x4a,0x1a,0x48,0x7d,0x1d,0x1a,0x2, 0x1a,0x0,
+0x9f,0x2, 0x12,0x4, 0x59,0x7f,0x71,0x22,0xca,0x3b,0x7e,0xa3,0x0, 0x90,0x7c,0xca,
+0x5e,0xc0,0xf, 0x7c,0xba,0xc4,0x7c,0x3b,0x5e,0x30,0xf, 0x4c,0xcc,0x78,0x2d,0x12,
+0x9, 0xa5,0xbe,0x30,0x0, 0x38,0x3, 0x2, 0x9, 0xa2,0x6c,0xff,0x7e,0x20,0xff,0x74,
+0x5, 0xac,0xbf,0x19,0x25,0x2, 0xc4,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xf1,0x75,0x1c,
+0x1, 0x75,0x12,0x0, 0xe4,0x7a,0xb3,0xc, 0xf7,0x2, 0x9, 0xa2,0x7e,0x23,0xc, 0xf7,
+0xbe,0x20,0x3c,0x50,0x14,0x7e,0x4, 0xa, 0x0, 0x7a,0x7, 0x0, 0x9e,0x12,0x4b,0x98,
+0x7c,0xb2,0x4, 0x7a,0xb3,0xc, 0xf7,0x80,0xd, 0x7e,0x37,0x0, 0x9e,0xbe,0x34,0xa,
+0x0, 0x68,0x3, 0x12,0x4b,0x90,0x6c,0xff,0x7e,0x20,0xff,0x74,0x5, 0xac,0xbf,0x19,
+0x25,0xa, 0x1, 0x7e,0x34,0x7f,0xff,0x59,0x35,0x9, 0xfd,0x59,0x35,0x9, 0xff,0xb,
+0xf0,0xbe,0xf0,0x2, 0x78,0xe2,0x6c,0xff,0x80,0x23,0x7e,0x50,0x5, 0xac,0x5f,0x7d,
+0x2, 0x2e,0x4, 0x0, 0x7a,0xb, 0x8, 0x30,0x12,0x0, 0x6a,0x1b,0x8, 0x30,0x2e,0x24,
+0x0, 0x7c,0xb, 0x28,0x30,0x12,0x0, 0x6a,0x1b,0x28,0x30,0xb, 0xf0,0xbc,0xcf,0x38,
+0xd9,0xa5,0xbb,0x0, 0x28,0x6c,0xff,0x80,0x1e,0x74,0x5, 0xac,0xbf,0x49,0x45,0x0,
+0x7a,0x59,0x45,0x2, 0xc0,0x49,0x45,0x0, 0x7c,0x59,0x45,0x2, 0xc2,0x9, 0x75,0x0,
+0x7e,0x19,0x75,0x2, 0xc4,0xb, 0xf0,0xbc,0xcf,0x38,0xde,0x21,0x4a,0x6c,0xdd,0x6c,
+0xff,0x6c,0xee,0x7e,0x70,0x5, 0xac,0x7e,0x9, 0xa3,0x2, 0xc4,0x7e,0x50,0x5, 0xac,
+0x5f,0x9, 0xb2,0x0, 0x7e,0xbc,0xba,0x78,0x13,0xbe,0xb0,0xff,0x68,0xe, 0xbe,0xd0,
+0x2, 0x50,0x10,0x2e,0x34,0x2, 0xc0,0x12,0xe, 0x60,0x80,0x7, 0xb, 0xe0,0xbe,0xe0,
+0x2, 0x40,0xd0,0xbe,0xe0,0x2, 0x78,0xb, 0xbe,0xd0,0x2, 0x50,0x6, 0x12,0x46,0x22,
+0x12,0xe, 0x60,0xb, 0xd0,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xb5,0x6c,0xff,0x12,0x46,
+0x12,0x2e,0x34,0x9, 0xfd,0x2e,0x14,0x2, 0xc0,0x12,0x46,0x2c,0x78,0xf0,0xe5,0x12,
+0x70,0x68,0x6c,0xff,0x80,0x60,0x7c,0xef,0x6c,0xdd,0x80,0x21,0x7e,0x90,0x5, 0xac,
+0x9f,0x9, 0xa4,0x2, 0xc4,0x7e,0x70,0x5, 0xac,0x7d,0x9, 0xb3,0x0, 0x7e,0xbc,0xba,
+0x78,0x9, 0xbe,0xa0,0xff,0x68,0x4, 0x7c,0xed,0x80,0x6, 0xb, 0xd0,0xbc,0xcd,0x38,
+0xdb,0xbe,0xe0,0x2, 0x40,0x2, 0x7c,0xef,0x12,0xf, 0xfd,0xbe,0x34,0x18,0xe0,0x50,
+0xa, 0x49,0x24,0x2, 0xc2,0xbe,0x24,0x18,0xe0,0x40,0x12,0x49,0x24,0x0, 0x7a,0x74,
+0x5, 0xac,0xbf,0x59,0x25,0x2, 0xc0,0x59,0x35,0x2, 0xc2,0x80,0x7, 0x7c,0xbf,0x7c,
+0x7e,0x12,0x9, 0xdd,0xb, 0xf0,0xbc,0xcf,0x38,0x9c,0x6c,0xff,0x74,0x5, 0xac,0xbf,
+0x49,0x45,0x2, 0xc0,0x12,0x0, 0x1e,0x59,0x45,0x0, 0x7a,0x49,0x45,0x2, 0xc2,0x12,
+0x0, 0x1e,0x59,0x45,0x0, 0x7c,0x9, 0x75,0x2, 0xc4,0x19,0x75,0x0, 0x7e,0xb, 0xf0,
+0xbe,0xf0,0x2, 0x78,0xd7,0xbe,0xc0,0x0, 0x28,0x25,0x6c,0xff,0x74,0x5, 0xac,0xbf,
+0x49,0x45,0x0, 0x7a,0x59,0x45,0x2, 0xb6,0x49,0x45,0x0, 0x7c,0x59,0x45,0x2, 0xb8,
+0x9, 0x75,0x0, 0x7e,0x19,0x75,0x2, 0xba,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xdd,0x75,
+0x9, 0x1, 0xda,0x3b,0x22,0x12,0xe, 0xaf,0x78,0x32,0x20,0xc, 0x2f,0x6c,0xaa,0x7e,
+0x44,0x7f,0xff,0x7e,0x70,0x4, 0xac,0x7a,0x59,0x43,0xc, 0xe1,0x59,0x43,0xc, 0xe3,
+0x6d,0x33,0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0xc, 0xdd,0x7e,0x34,0x1, 0x0, 0x59,
+0x32,0xc, 0xd9,0xb, 0xa0,0xbe,0xa0,0x2, 0x78,0xd5,0xd2,0xc, 0x22,0xca,0x3b,0x7c,
+0xe7,0x7c,0xdb,0x75,0x24,0x0, 0x9f,0x11,0x7a,0x1f,0xa, 0xb, 0x7a,0x1f,0xa, 0xf,
+0x7a,0x1f,0xa, 0x13,0x12,0x44,0x3, 0x74,0x5, 0xac,0xbd,0x49,0x15,0x2, 0xc0,0x49,
+0x5, 0x2, 0xc2,0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x7, 0x74,0x5, 0xac,0xbd,0x9, 0xf5,
+0x2, 0xc4,0xbe,0xf0,0x2, 0x40,0x2, 0x6c,0xff,0x12,0x44,0x3, 0x74,0x4, 0xac,0xbf,
+0x49,0x15,0xc, 0xe1,0x49,0x5, 0xc, 0xe3,0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x9, 0x7e,
+0x27,0xa, 0x7, 0x7e,0x34,0x0, 0xdc,0xad,0x23,0x7e,0x17,0x0, 0x9e,0x12,0x4, 0x6,
+0x7a,0x35,0x22,0xbe,0x34,0x0, 0xa, 0x50,0x7, 0x7e,0x34,0x0, 0xa, 0x7a,0x35,0x22,
+0x75,0x24,0x0, 0x6c,0xcc,0x7e,0x90,0x14,0xac,0x9f,0x49,0x24,0xb, 0x3, 0x49,0x34,
+0xb, 0x7, 0xbd,0x32,0x78,0xe, 0x49,0x54,0xb, 0x5, 0x49,0x34,0xb, 0x9, 0xbd,0x35,
+0x78,0x2, 0xa1,0x41,0x74,0x5, 0xac,0xbe,0x49,0x15,0x0, 0x7c,0x1e,0x14,0x1e,0x14,
+0x1e,0x14,0x1e,0x14,0x6d,0x0, 0x7a,0xf, 0xa, 0x13,0xbe,0x8, 0x0, 0x18,0x48,0xa,
+0x7e,0xf, 0xa, 0x13,0xbe,0x8, 0x1, 0x76,0x8, 0x5, 0x75,0x25,0x34,0x80,0x1c,0x7e,
+0xf, 0xa, 0x13,0xbe,0x8, 0x0, 0x31,0x48,0xa, 0x7e,0xf, 0xa, 0x13,0xbe,0x8, 0x1,
+0x5d,0x8, 0x5, 0x75,0x25,0x20,0x80,0x3, 0x75,0x25,0x19,0x49,0x35,0x0, 0x7a,0x12,
+0xe, 0xa3,0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0xf, 0x74,0x5, 0xac,0xbe,0x49,0x35,0x0,
+0x7c,0x12,0xe, 0xa3,0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x5, 0x12,0xe, 0x2f,0x7a,
+0x1f,0xa, 0x13,0x7d,0x3, 0x7e,0x1f,0xa, 0xf, 0x7d,0x13,0x2d,0x10,0x7a,0x17,0xa,
+0x17,0xbe,0x14,0x0, 0x7, 0x8, 0x3d,0xbe,0x18,0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,
+0x1f,0xa, 0xf, 0x7e,0x1f,0xa, 0x13,0xbe,0x18,0x0, 0x0, 0x78,0xa, 0x7e,0x1f,0xa,
+0x13,0xb, 0x1c,0x7a,0x1f,0xa, 0x13,0x12,0xe, 0x39,0x8, 0x4, 0xb, 0xc0,0x80,0x14,
+0x7e,0x1f,0xa, 0xb, 0xbe,0x18,0x0, 0x64,0x8, 0xa, 0x12,0x5b,0xb5,0x12,0xe, 0x4e,
+0x8, 0x2, 0x5, 0x24,0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x3, 0x49,0x35,0xb, 0x7,
+0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0xf, 0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x5, 0x49,
+0x35,0xb, 0x9, 0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0x13,0x7e,0x1f,0xa, 0xf, 0xbe,0x18,
+0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,0x1f,0xa, 0xf, 0x7e,0x1f,0xa, 0x13,0xbe,0x18,
+0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,0x1f,0xa, 0x13,0x12,0xe, 0x39,0x8, 0x4, 0xb,
+0xc0,0x80,0x14,0x7e,0x1f,0xa, 0xb, 0xbe,0x18,0x0, 0x64,0x8, 0xa, 0x12,0x5b,0xb5,
+0x12,0xe, 0x4e,0x8, 0x2, 0x5, 0x24,0x74,0x14,0xac,0xbf,0x12,0xe, 0x6e,0x7d,0xf3,
+0xbe,0xf7,0xa, 0x17,0x8, 0x2, 0xa1,0x2e,0xe5,0x25,0xbe,0xb0,0x34,0x7e,0x1f,0xa,
+0xb, 0x40,0x9, 0x12,0x5b,0x63,0x7e,0x8, 0x0, 0x5a,0x80,0x7, 0x12,0x5b,0x63,0x7e,
+0x8, 0x0, 0x4b,0x12,0x4, 0x59,0x7a,0x1f,0xa, 0xb, 0xe5,0x24,0x60,0x2, 0x81,0xe2,
+0x4c,0xcc,0x68,0x2, 0x81,0xe2,0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0x3, 0x6d,0x22,
+0x49,0x15,0xb, 0xb, 0x6d,0x0, 0x9f,0x1, 0x7a,0xf, 0xa, 0xf, 0x12,0x5a,0xee,0x74,
+0x14,0xac,0xbf,0x49,0x15,0xb, 0x3, 0x12,0x5b,0x53,0x49,0x15,0x0, 0x7a,0x6d,0x0,
+0x2f,0x10,0xbe,0x18,0x0, 0x0, 0x48,0x19,0x74,0x6, 0xac,0xbf,0x49,0xe5,0xc, 0xed,
+0x4d,0xee,0x78,0xd, 0x12,0x0, 0x10,0x7d,0xe3,0x74,0x5, 0xac,0xbe,0x59,0xe5,0x0,
+0x7a,0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0x5, 0x6d,0x22,0x74,0x14,0xac,0xbf,0x12,
+0x57,0xc7,0x9f,0x1, 0x7a,0xf, 0xa, 0x13,0x12,0x5a,0xee,0x74,0x14,0xac,0xbf,0x49,
+0x15,0xb, 0x5, 0x12,0x5b,0x53,0x49,0x15,0x0, 0x7c,0x6d,0x0, 0x2f,0x10,0xbe,0x18,
+0x0, 0x0, 0x48,0x17,0x74,0x6, 0xac,0xbf,0x49,0x15,0xc, 0xed,0x4d,0x11,0x78,0xb,
+0x12,0x0, 0x10,0x74,0x5, 0xac,0xbe,0x59,0x35,0x0, 0x7c,0x7e,0x90,0x6, 0xac,0x9f,
+0x49,0x54,0xc, 0xe9,0x4d,0x55,0x78,0x14,0x7e,0x1f,0xa, 0xf, 0x7d,0x53,0x59,0x54,
+0xc, 0xe9,0x7e,0x1f,0xa, 0x13,0x7d,0x53,0x59,0x54,0xc, 0xeb,0x49,0x34,0xc, 0xe9,
+0x1a,0x26,0x1a,0x24,0x7e,0x7f,0xa, 0xf, 0x7f,0x7, 0x12,0xe, 0x9b,0x48,0x11,0x49,
+0x34,0xc, 0xeb,0x1a,0x26,0x1a,0x24,0x7e,0xf, 0xa, 0x13,0x12,0xe, 0x9b,0x58,0x32,
+0x74,0x6, 0xac,0xbf,0x49,0x35,0xc, 0xed,0xbe,0x34,0x0, 0x3, 0x58,0xe, 0x7e,0x50,
+0x6, 0xac,0x5f,0x2e,0x24,0xc, 0xed,0xb, 0x34,0x1b,0x28,0x30,0x7d,0x3f,0x74,0x6,
+0xac,0xbf,0x59,0x35,0xc, 0xe9,0x7e,0x1f,0xa, 0x13,0x74,0x6, 0xac,0xbf,0x59,0x35,
+0xc, 0xeb,0xe5,0x24,0xbe,0xb0,0x2, 0x40,0xe, 0x74,0x6, 0xac,0xbf,0x49,0x45,0xc,
+0xed,0xbe,0x44,0x0, 0x2, 0x48,0x5, 0x75,0x24,0x0, 0x80,0xc, 0x4d,0x44,0x78,0x8,
+0x7e,0x34,0x0, 0x1, 0x59,0x35,0xc, 0xed,0xbe,0xc0,0x2, 0x40,0xf, 0x7e,0x50,0x6,
+0xac,0x5f,0x49,0x32,0xc, 0xed,0xbe,0x34,0x0, 0x2, 0x48,0x4, 0x6c,0xcc,0x80,0x33,
+0x4d,0x33,0x78,0x2f,0x7e,0x34,0x0, 0x1, 0x59,0x32,0xc, 0xed,0x80,0x25,0x7e,0x34,
+0x0, 0x2, 0x74,0x6, 0xac,0xbf,0x59,0x35,0xc, 0xed,0x75,0x24,0x0, 0x6c,0xcc,0x80,
+0x12,0x6d,0x33,0x74,0x6, 0xac,0xbf,0x59,0x35,0xc, 0xe9,0x59,0x35,0xc, 0xeb,0x59,
+0x35,0xc, 0xed,0x7e,0x35,0x22,0xbe,0x34,0x1, 0x0, 0x28,0x7, 0x7e,0x34,0x1, 0x0,
+0x7a,0x35,0x22,0x74,0x5, 0xac,0xbd,0x49,0x25,0x2, 0xc0,0x74,0x5, 0xac,0xbe,0x12,
+0x44,0x74,0x7a,0x37,0xa, 0x9, 0xe5,0x24,0x60,0x13,0x12,0x5b,0x72,0x74,0x14,0x1e,
+0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x80,0x3, 0x12,0x5b,0x43,
+0x7a,0x37,0xa, 0x9, 0x7e,0x90,0x5, 0xac,0x9d,0x49,0x34,0x2, 0xc0,0x74,0x5, 0xac,
+0xbe,0x49,0x25,0x0, 0x7a,0xbd,0x23,0x28,0x11,0x7d,0x14,0x2e,0x14,0x2, 0xc0,0x7d,
+0x23,0x2e,0x27,0xa, 0x9, 0x1b,0x18,0x20,0x80,0xd, 0x7d,0x24,0x2e,0x24,0x2, 0xc0,
+0x9e,0x37,0xa, 0x9, 0x1b,0x28,0x30,0x49,0x24,0x2, 0xc2,0x12,0x46,0x9, 0x7a,0x37,
+0xa, 0x9, 0x4c,0xcc,0x68,0x13,0x12,0x5b,0x72,0x74,0xa, 0x1e,0x34,0x1e,0x24,0x50,
+0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x80,0x3, 0x12,0x5b,0x43,0x7a,0x37,0xa, 0x9,
+0x7e,0x30,0x5, 0xac,0x3d,0x49,0x21,0x2, 0xc2,0x12,0xf, 0xfd,0xbd,0x32,0x7d,0x51,
+0x28,0xf, 0x2e,0x54,0x2, 0xc2,0x7d,0x2, 0x2e,0x7, 0xa, 0x9, 0x1b,0x58,0x0, 0x80,
+0xb, 0x2e,0x54,0x2, 0xc2,0x9e,0x27,0xa, 0x9, 0x1b,0x58,0x20,0x49,0x24,0x0, 0x7a,
+0x74,0x4, 0xac,0xbf,0x59,0x25,0xc, 0xe1,0x59,0x35,0xc, 0xe3,0xda,0x3b,0x22,0x9d,
+0x32,0x12,0x0, 0x2e,0x1a,0x26,0x1a,0x24,0x22,0x7e,0xb4,0x0, 0x64,0x7e,0x7f,0xa,
+0x13,0x7f,0x17,0x7d,0x1b,0x12,0x3, 0xfd,0x7e,0x6f,0xa, 0xf, 0x7f,0x6, 0x12,0x4,
+0x59,0x7f,0x1, 0x7a,0xf, 0xa, 0xb, 0xe5,0x25,0xa, 0x3b,0x6d,0x22,0xbf,0x10,0x22,
+0x7e,0x30,0x5, 0xac,0x3d,0x2e,0x14,0x9, 0xfd,0x74,0x5, 0x2, 0x4, 0x8d,0x49,0x35,
+0xb, 0xb, 0x49,0x25,0xb, 0xd, 0x49,0x15,0xb, 0x3, 0x49,0x5, 0xb, 0x5, 0xca,0x3b,
+0x7d,0x61,0x7a,0x35,0x26,0x7d,0x32,0x9d,0x30,0x12,0x0, 0x2e,0x7d,0x73,0x7e,0x35,
+0x26,0x9d,0x36,0x12,0x0, 0x2e,0x2d,0x37,0xda,0x3b,0x22,0x12,0x3, 0xec,0xbe,0x18,
+0x0, 0x0, 0x22,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x22,0x12,0xe, 0xba,0x7e,
+0xb3,0x0, 0x90,0x54,0xf, 0x22,0x7a,0xb3,0xb, 0x88,0x60,0x2a,0x7e,0xb3,0x6, 0xca,
+0x20,0xe7,0x3d,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x47,0x50,0xf7,0x12,0x5b,
+0x38,0x7e,0xb3,0x6, 0xca,0x54,0xc7,0x44,0x10,0x12,0x17,0x5f,0x12,0x5b,0x8b,0x44,
+0x80,0x7a,0xb3,0x6, 0xca,0x22,0x7e,0xb3,0x6, 0xca,0x30,0xe7,0x13,0x54,0xc7,0x44,
+0x28,0x12,0x17,0x5f,0x12,0x5b,0x8b,0x54,0x7f,0x7a,0xb3,0x6, 0xca,0x2, 0x37,0x93,
+0x22,0xca,0x79,0x7e,0x77,0x0, 0x92,0x4d,0x77,0x78,0x32,0xe4,0x12,0xe, 0xac,0xbe,
+0xb0,0x0, 0x28,0x5, 0x75,0xb, 0x0, 0xe1,0xa6,0x7e,0xb3,0x0, 0x94,0x20,0xe0,0x2,
+0xe1,0xa6,0x7e,0x73,0x0, 0x99,0xbe,0x71,0xb, 0x38,0x7b,0x75,0xb, 0x0, 0x7e,0x34,
+0x0, 0x1, 0x7a,0x37,0x0, 0x92,0x74,0x1, 0x12,0xe, 0xb6,0x80,0x69,0xbe,0x74,0x0,
+0x1, 0x78,0x14,0x74,0x1, 0x12,0xe, 0xac,0x68,0x5c,0x12,0x4b,0x88,0x12,0xe, 0xb6,
+0x75,0xd, 0x27,0xd2,0x5, 0x80,0x4f,0xbe,0x74,0x0, 0x3, 0x78,0x49,0x7e,0xb3,0x0,
+0x9b,0x12,0x4e,0x25,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x47,0x50,0xf7,0x12,
+0xf, 0xf3,0x12,0x37,0x5c,0x74,0x2, 0x12,0xf, 0xcd,0x12,0x38,0xe6,0x12,0x0, 0x17,
+0xc2,0xa8,0xc2,0x95,0xa9,0xd0,0xca,0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,0x4e,0xd,
+0x12,0x1c,0xba,0x12,0x4b,0x88,0x7a,0xb3,0xb, 0x88,0x74,0xa, 0x7a,0xb3,0x6, 0xda,
+0x7e,0xb3,0x6, 0xda,0x70,0xfa,0x7e,0x77,0x0, 0x92,0x4d,0x77,0x78,0xb, 0x80,0x4,
+0xe4,0x12,0xf, 0xcd,0x30,0x5, 0xf9,0x80,0xc, 0xbe,0x74,0x0, 0x1, 0x78,0x6, 0x12,
+0xf, 0xf3,0x12,0x37,0xb1,0x75,0xd, 0x0, 0xc2,0x5, 0xda,0x79,0x22,0x70,0x5, 0x43,
+0x87,0x1, 0x80,0x1a,0xb4,0x1, 0xb, 0xa9,0xd0,0xce,0xa9,0xd7,0xc9,0x43,0x87,0x2,
+0x80,0xc, 0xb4,0x2, 0xd, 0xa9,0xd0,0xce,0xa9,0xc7,0xc9,0x43,0x87,0x2, 0x0, 0x0,
+0x0, 0x0, 0x22,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x20,0x93,0xf9,0x22,0x7e,0x90,0x5,
+0xac,0x9e,0x49,0x34,0x0, 0x7c,0x22,0x7d,0xf3,0xbe,0xf4,0x0, 0x50,0x38,0x28,0x7e,
+0x54,0x0, 0x50,0x9d,0x5f,0x12,0x11,0x3b,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x28,
+0x4, 0x9f,0x22,0x80,0x8, 0x7e,0x18,0x0, 0x2d,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0,
+0x0, 0x50,0x64,0x9f,0x22,0x80,0x60,0xbe,0xf4,0x1, 0x2f,0x40,0x20,0x12,0x11,0x35,
+0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x40,0x4, 0x7e,0x28,0x0, 0x2c,0xbe,0x28,0x0,
+0x2d,0x28,0x4, 0x7e,0x28,0x0, 0x2d,0x2e,0x28,0x1, 0x61,0x80,0x3a,0xbe,0xf4,0x0,
+0xbf,0x50,0x23,0x7e,0x54,0x0, 0xbf,0x9d,0x5f,0x12,0x10,0xa0,0xbe,0x28,0x0, 0xc7,
+0x38,0x8, 0x7e,0x18,0x0, 0xc7,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0, 0x2d,0x50,0x17,
+0x7e,0x28,0x0, 0x2d,0x80,0x11,0x12,0x10,0x9a,0x2e,0x28,0x0, 0xc7,0xbe,0x28,0x1,
+0x61,0x28,0x4, 0x7e,0x28,0x1, 0x61,0x7d,0x35,0x22,0x7d,0x5f,0x9e,0x54,0x0, 0xbf,
+0x6d,0x44,0x7e,0x14,0x1, 0x81,0x7f,0x12,0x12,0x3, 0xfd,0x7f,0x21,0x7c,0xba,0x7c,
+0xa9,0xa, 0x48,0x22,0x7d,0xf3,0xbe,0xf4,0x0, 0x50,0x38,0x20,0x7e,0x54,0x0, 0x50,
+0x9d,0x5f,0x12,0x11,0x3b,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x28,0x4, 0x9f,0x22,
+0x80,0x60,0x7e,0x18,0x0, 0x2d,0x9f,0x12,0x7f,0x21,0x80,0x56,0xbe,0xf4,0x1, 0x2f,
+0x40,0x16,0x12,0x11,0x35,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x40,0x4, 0x7e,0x28,
+0x0, 0x2c,0x2e,0x28,0x1, 0x61,0x80,0x3a,0xbe,0xf4,0x0, 0xbf,0x50,0x23,0x7e,0x54,
+0x0, 0xbf,0x9d,0x5f,0x12,0x10,0xa0,0xbe,0x28,0x0, 0xc7,0x38,0x8, 0x7e,0x18,0x0,
+0xc7,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0, 0x2d,0x50,0x17,0x7e,0x28,0x0, 0x2d,0x80,
+0x11,0x12,0x10,0x9a,0x2e,0x28,0x0, 0xc7,0xbe,0x28,0x1, 0x61,0x28,0x4, 0x7e,0x28,
+0x1, 0x61,0x7d,0x35,0x22,0x7d,0x5f,0x9e,0x54,0x1, 0x2f,0x6d,0x44,0x7e,0x14,0x2,
+0x7, 0x22,0xca,0xf8,0x6c,0xff,0x80,0x1d,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7a,
+0x12,0x10,0x7, 0x74,0x5, 0xac,0xbf,0x59,0x35,0x0, 0x7a,0x49,0x35,0x0, 0x7c,0x12,
+0x10,0xb4,0x12,0x44,0x4e,0x12,0x40,0x91,0x48,0xde,0xda,0xf8,0x22,0xca,0xf8,0x12,
+0x38,0xe6,0x12,0x38,0xf5,0x12,0x4d,0x42,0x12,0x46,0x5b,0x12,0x21,0xf6,0x12,0x4e,
+0xe4,0x7e,0xb3,0xb, 0x9f,0xb4,0x1, 0x2, 0x80,0x2, 0x41,0x71,0x7e,0xf3,0x6, 0x4d,
+0x4c,0xff,0x68,0x36,0xbe,0xf0,0x1, 0x78,0xa, 0xe4,0x7a,0xb3,0x6, 0x4d,0x12,0x1f,
+0xe, 0x80,0x12,0xbe,0xf0,0x3, 0x78,0x5, 0x12,0x1b,0xd2,0x80,0x8, 0xbe,0xf0,0x2,
+0x78,0x3, 0x12,0x17,0xf5,0x7e,0x34,0xa, 0xd1,0x12,0x14,0xd7,0x7e,0x34,0xa, 0xbb,
+0x12,0x14,0xd7,0x7e,0x34,0xa, 0x8d,0x12,0x14,0xd7,0x12,0x27,0x5e,0x12,0x3f,0xf9,
+0x12,0x38,0xfe,0x44,0x1, 0x7a,0xb3,0x6, 0xd7,0x12,0x15,0xa, 0x12,0x37,0x3b,0x12,
+0x28,0x2d,0x12,0x36,0x47,0x12,0x28,0x66,0x12,0x2c,0xc5,0x12,0x44,0x10,0x7e,0xb3,
+0x6, 0x67,0x30,0xe1,0x3, 0x12,0x14,0xe7,0x12,0xe, 0xaf,0x12,0x0, 0x3e,0x7e,0x34,
+0x3, 0x5c,0x7e,0x24,0x5, 0x34,0x7e,0xb3,0x6, 0xc8,0x12,0x49,0x58,0x12,0x0, 0x6,
+0x12,0x2b,0xae,0x12,0x11,0x42,0x12,0x40,0x60,0x12,0x35,0x65,0x12,0x12,0x74,0x7e,
+0xb3,0xb, 0x38,0x60,0x8, 0xe4,0x7a,0xb3,0xb, 0x38,0x12,0x33,0x3e,0x12,0x48,0x43,
+0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x3, 0x12,0x14,0xe7,0x12,0x18,0x68,0x12,0x35,0xf9,
+0x12,0x33,0x49,0x12,0x32,0xd9,0x12,0x40,0x9e,0x12,0x44,0x7d,0x12,0x7, 0x98,0x12,
+0x58,0x68,0x12,0x51,0x53,0x12,0x53,0xd4,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x3, 0x12,
+0x14,0xe7,0x7e,0xb3,0x0, 0x9a,0x12,0x46,0x7e,0x12,0xf, 0x1, 0x12,0x47,0xf7,0x21,
+0x81,0xda,0xf8,0x22,0xca,0x3b,0x7e,0xb3,0x0, 0x90,0x7c,0xab,0x5e,0xa0,0xf, 0x7a,
+0xa1,0x25,0xc4,0x54,0xf, 0x54,0xf, 0xf5,0x26,0x7e,0x77,0x0, 0x6a,0x7e,0x67,0x0,
+0x6c,0x7e,0xb3,0x0, 0x68,0xf5,0x23,0x7e,0xb3,0x0, 0x69,0xf5,0x24,0x4c,0xaa,0x78,
+0x4, 0xc2,0x4, 0x81,0x5f,0xe5,0x25,0xbe,0xb0,0x1, 0x28,0x58,0x75,0x22,0x0, 0x80,
+0x48,0x12,0x14,0xd0,0x49,0x45,0x0, 0x7a,0x7a,0x45,0x2f,0x49,0x35,0x0, 0x7c,0x12,
+0x14,0xff,0x28,0xa, 0x12,0x14,0xdf,0x28,0x2e,0xbe,0x35,0x31,0x28,0x29,0x12,0x14,
+0x88,0xbd,0x36,0x28,0x22,0x7a,0x65,0x29,0x12,0x17,0xe4,0x50,0x3, 0x12,0x17,0xdc,
+0x7e,0x35,0x33,0x12,0x14,0xad,0x12,0x14,0xd0,0x59,0x35,0x0, 0x7a,0x12,0x14,0xaa,
+0x12,0x14,0xd0,0x59,0x35,0x0, 0x7c,0x5, 0x22,0xe5,0x25,0xbe,0xb1,0x22,0x38,0xb1,
+0xc2,0x4, 0x81,0x5f,0xe5,0x25,0xb4,0x1, 0x22,0xe5,0x26,0x70,0x1e,0x12,0x14,0xf4,
+0x28,0xe, 0x12,0x14,0xdf,0x28,0x5, 0xbe,0x35,0x31,0x38,0x4, 0xc2,0x4, 0x81,0x5f,
+0x12,0x14,0x88,0x7a,0x35,0x29,0x12,0x5b,0x25,0x61,0xf6,0xe5,0x25,0xb4,0x1, 0x2,
+0x80,0x2, 0x61,0xf6,0x12,0x14,0xf4,0x28,0xe, 0x12,0x14,0xdf,0x28,0x5, 0xbe,0x35,
+0x31,0x38,0x4, 0xc2,0x4, 0x81,0x5f,0x12,0x14,0x88,0x9e,0x37,0x0, 0x60,0x12,0x0,
+0x2e,0x7a,0x35,0x2b,0x7e,0x35,0x33,0x9e,0x37,0x0, 0x50,0x7e,0x25,0x35,0x9e,0x27,
+0x0, 0x52,0x12,0x14,0x6b,0x7a,0x35,0x2d,0x7e,0x37,0x0, 0x70,0xbe,0x35,0x2d,0x50,
+0x28,0x7e,0x35,0x27,0x9e,0x37,0x0, 0x54,0x12,0x0, 0x2e,0x7e,0xa1,0x23,0x74,0x5,
+0xa4,0xbd,0x35,0x58,0xc, 0x7e,0xa0,0x2, 0xe5,0x23,0xa4,0xf5,0x23,0xd2,0x4, 0x80,
+0x8, 0x7e,0xb3,0x0, 0x68,0xf5,0x23,0xc2,0x4, 0x30,0x4, 0x30,0xe5,0x23,0xa, 0x3b,
+0xbe,0x35,0x2b,0x28,0x4, 0x6d,0x33,0x80,0x27,0xe5,0x24,0xa, 0x3b,0xbe,0x35,0x2b,
+0x28,0x14,0x7e,0x25,0x2b,0x7e,0x34,0x0, 0x64,0xad,0x23,0xe5,0x24,0xa, 0x1b,0x6d,
+0x0, 0x12,0x4, 0x8, 0x80,0xa, 0x7e,0x34,0x0, 0x64,0x80,0x4, 0x7e,0x34,0x0, 0x64,
+0x7a,0x35,0x2b,0x7e,0xf7,0x0, 0x60,0x7d,0x1f,0x6d,0x0, 0x7e,0x35,0x27,0x6d,0x22,
+0x9f,0x10,0x7e,0x15,0x2b,0x12,0x3, 0xfd,0x12,0x2f,0x2e,0x7f,0x1, 0x7d,0x3f,0x6d,
+0x22,0x2f,0x10,0x7a,0x35,0x29,0x7e,0x35,0x29,0xbd,0x36,0x38,0x7, 0x7e,0x25,0x27,
+0xbd,0x26,0x28,0x5, 0x7a,0x65,0x29,0x80,0xb, 0xbe,0x34,0x0, 0x1, 0x50,0x5, 0x6d,
+0x33,0x7a,0x35,0x29,0x12,0x17,0xe4,0x50,0x3, 0x12,0x17,0xdc,0x7e,0x35,0x33,0x12,
+0x14,0xad,0x7a,0x37,0x0, 0x7a,0x12,0x14,0xaa,0x7d,0x23,0x7a,0x27,0x0, 0x7c,0x7e,
+0x37,0x0, 0x7a,0x7a,0x35,0x2f,0x7a,0x25,0x31,0x7d,0x27,0x12,0x14,0x62,0x7a,0x35,
+0x33,0x7e,0x35,0x31,0x7d,0x27,0x12,0x14,0x62,0x7a,0x35,0x35,0x7e,0x35,0x29,0x7a,
+0x37,0x0, 0x60,0x7e,0x27,0x0, 0x70,0xbe,0x25,0x2d,0x50,0x3, 0x12,0x5b,0x25,0xda,
+0x3b,0x22,0x7d,0x12,0x6d,0x0, 0x6d,0x22,0x9f,0x10,0x22,0x7d,0x52,0x7d,0x43,0x7d,
+0x35,0x12,0x17,0x56,0x7f,0x71,0x7d,0x34,0x12,0x17,0x56,0x2f,0x17,0x7c,0xb4,0x12,
+0x1, 0x20,0x12,0x1, 0x9a,0x2, 0x1, 0x5d,0x7e,0x35,0x2f,0x7d,0x27,0x12,0x14,0x62,
+0x7a,0x35,0x33,0x7e,0x35,0x31,0x7d,0x27,0x12,0x14,0x62,0x7d,0x23,0x7a,0x25,0x35,
+0x7e,0x35,0x33,0x12,0x14,0x6b,0x7a,0x35,0x27,0x22,0x7e,0x35,0x35,0x7e,0x25,0x29,
+0x7e,0x15,0x27,0x7d,0x7, 0x7d,0xf0,0x7d,0xe1,0x7d,0x12,0x1a,0x26,0x1a,0x24,0x12,
+0x3, 0xfd,0x7d,0x1e,0x6d,0x0, 0x12,0x4, 0x59,0x7d,0x1f,0x6d,0x0, 0x2f,0x10,0x22,
+0x7e,0xa1,0x22,0x74,0x5, 0xa4,0x22,0x7e,0x24,0x0, 0x16,0xe4,0x2, 0x4, 0xeb,0x7e,
+0x37,0x0, 0x72,0xbe,0x35,0x2f,0x22,0x7e,0xb3,0x0, 0x90,0x54,0xf0,0x44,0x2, 0x7a,
+0xb3,0x0, 0x90,0x22,0x7e,0x37,0x0, 0x7a,0x7a,0x35,0x2f,0x7e,0x37,0x0, 0x7c,0x7a,
+0x35,0x31,0x7e,0x73,0x6, 0xc7,0xbe,0x70,0x0, 0x22,0xca,0x3b,0x12,0x17,0xcd,0x30,
+0xe1,0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0xc, 0x7e,0xb3,0xd, 0x3f,0x70,0x14,0x7e,
+0xb3,0xd, 0x3c,0x70,0xe, 0x7e,0xb3,0x6, 0x67,0x20,0xe0,0x2, 0xc1,0x4e,0x20,0xe2,
+0x2, 0xc1,0x4e,0x7c,0xba,0x30,0xe1,0x8, 0x7e,0xb3,0x6, 0x12,0xf5,0x28,0x80,0x6,
+0x7e,0xb3,0x6, 0x13,0xf5,0x28,0x7c,0xba,0x30,0xe1,0x7, 0x7e,0xb3,0x6, 0x67,0x30,
+0xe2,0x5, 0x75,0x29,0x1, 0x80,0x3, 0x75,0x29,0x2, 0x7e,0xb3,0xd, 0x3c,0xbe,0xb0,
+0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x3c,0x7e,0xb3,0x6, 0x67,0x30,0xe5,0xb, 0x80,
+0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x47,0x50,0xf7,0x12,0x17,0xbf,0x4e,0x70,0x2,
+0x1b,0x28,0x30,0x12,0x1f,0xc9,0x7e,0x73,0x6, 0xd6,0xa, 0x57,0x12,0x17,0x7c,0x12,
+0x17,0xec,0x75,0x25,0x0, 0xc1,0x1a,0x12,0x4e,0x9c,0x75,0x26,0x0, 0x80,0x72,0x7e,
+0xb3,0x6, 0xc9,0x54,0x1, 0x6c,0x77,0x12,0x17,0x8d,0x80,0x4, 0xe4,0x12,0xf, 0xcd,
+0x12,0x17,0x47,0x50,0xf7,0x75,0x24,0x0, 0x80,0x50,0x12,0x5a,0xfe,0x9, 0x23,0x6,
+0x96,0x7a,0x21,0x27,0x7e,0x71,0x25,0x74,0x3, 0xac,0x7b,0xe5,0x26,0xa, 0x2b,0x2d,
+0x23,0x7e,0x34,0x0, 0x58,0xad,0x32,0x7e,0x30,0x4, 0xac,0x23,0x2d,0x13,0x59,0x71,
+0x0, 0xa8,0x59,0x61,0x0, 0xa6,0x7e,0x73,0x6, 0xd6,0xbe,0x70,0x2, 0x38,0x19,0xa,
+0x7, 0x7e,0x54,0x0, 0x3, 0x9d,0x50,0x2e,0x14,0x0, 0xa6,0x12,0x4a,0x7e,0x60,0x5,
+0x2f,0x11,0x14,0x78,0xfb,0x12,0x17,0xd4,0x5, 0x24,0x12,0x17,0x4e,0x38,0xab,0x5,
+0x26,0xe5,0x28,0xbe,0xb1,0x26,0x38,0x87,0x5, 0x25,0xe5,0x29,0xbe,0xb1,0x25,0x28,
+0x2, 0xa1,0x97,0x7e,0x37,0x6, 0xa, 0x99,0x34,0x12,0x17,0xbf,0x5e,0x70,0xfd,0x1b,
+0x28,0x30,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0xa, 0x1b,0x3e,0x14,0x12,0x3c,0x9e,0x12,
+0x1f,0xc9,0x7e,0xb3,0x6, 0xca,0x12,0x17,0x76,0x12,0x17,0xec,0xe1,0x44,0x7e,0xb3,
+0x6, 0xc9,0x30,0xe0,0x51,0x7e,0xb3,0x6, 0x67,0x30,0xe5,0x5, 0x12,0x17,0x47,0x50,
+0x11,0x74,0x2, 0x12,0x17,0xc7,0x12,0x4e,0x9c,0x12,0x17,0x84,0x80,0x4, 0xe4,0x12,
+0xf, 0xcd,0x12,0x17,0x47,0x50,0xf7,0xe4,0x12,0x17,0xc7,0x75,0x24,0x0, 0x80,0x17,
+0x12,0x5a,0xfe,0x9, 0xa3,0x6, 0x96,0x7a,0xa1,0x27,0x74,0x4, 0xa4,0x59,0x75,0x3,
+0x5e,0x59,0x65,0x3, 0x5c,0x5, 0x24,0x12,0x17,0x4e,0x38,0xe4,0x7e,0xb3,0x6, 0x67,
+0x30,0xe5,0x3, 0x12,0x17,0x84,0x75,0x24,0x0, 0xe1,0x37,0xe5,0x24,0xa, 0x3b,0x9,
+0xb3,0x6, 0x96,0xf5,0x27,0x12,0x17,0xcd,0x30,0xe1,0x19,0x7e,0xb3,0x6, 0xca,0xc4,
+0x23,0x54,0x7, 0xbe,0xb0,0x2, 0x38,0x22,0x12,0x5a,0xc6,0x60,0x16,0x2f,0x11,0x14,
+0x78,0xfb,0x80,0xf, 0x12,0x32,0xd1,0x38,0x11,0x12,0x5a,0xc6,0x60,0x5, 0x2f,0x11,
+0x14,0x78,0xfb,0x59,0x34,0x0, 0x2, 0x1b,0x48,0x20,0x7c,0xba,0x30,0xe0,0x46,0x7e,
+0x31,0x27,0x74,0x2, 0xac,0x3b,0x49,0xf1,0x5, 0x90,0x7d,0x3f,0x1a,0x36,0x1a,0xe6,
+0x7e,0x11,0x27,0x74,0x4, 0xac,0x1b,0x49,0x30,0x3, 0x5e,0x49,0x20,0x3, 0x5c,0x7f,
+0x21,0x9f,0x27,0x59,0x50,0x4, 0x16,0x59,0x40,0x4, 0x14,0x49,0xf1,0x5, 0x34,0x7d,
+0x1f,0x1a,0x12,0x1a,0xe2,0x7e,0x31,0x27,0x74,0x4, 0xac,0x3b,0x2e,0x14,0x3, 0x5c,
+0x9f,0x17,0x12,0x17,0xd4,0x5, 0x24,0x12,0x17,0x4e,0x28,0x2, 0xc1,0xab,0x7e,0x37,
+0x6, 0xc, 0x99,0x34,0xda,0x3b,0x22,0x30,0xa, 0x2, 0xd3,0x22,0xc3,0x22,0x7e,0x73,
+0x6, 0xc8,0xbe,0x71,0x24,0x22,0x1a,0x26,0x1a,0x24,0x7f,0x1, 0x2, 0x3, 0xec,0x7a,
+0xb3,0x6, 0xca,0x7e,0x44,0x12,0x0, 0xb, 0x48,0x50,0x5e,0xa0,0x1f,0x1b,0x48,0x50,
+0x7e,0x73,0x6, 0xca,0x7c,0xb7,0xc4,0x23,0x54,0x7, 0xa, 0x5b,0xc4,0x23,0x54,0xe0,
+0x7c,0xab,0xe4,0x22,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0x7e,0x70,0x1, 0x24,0xff,0x92,
+0xb, 0xc2,0xc6,0xd2,0xee,0xa9,0xd6,0xf7,0xd2,0xfe,0x4c,0x77,0x68,0x15,0xc2,0xaf,
+0x12,0x17,0xbf,0x4e,0x70,0x1, 0x1b,0x28,0x30,0x7e,0x37,0x6, 0x0, 0x99,0x34,0xd2,
+0xaf,0x80,0x9, 0x12,0x17,0xbf,0x4e,0x70,0x1, 0x1b,0x28,0x30,0xc2,0xa, 0x22,0x7e,
+0x24,0x12,0x0, 0xb, 0x28,0x30,0x22,0x7e,0x37,0x6, 0x2, 0x89,0x34,0x7e,0xa3,0x6,
+0xd7,0x7c,0xba,0x22,0x59,0x31,0x0, 0x2, 0x1b,0x18,0x20,0x22,0x7e,0x34,0x0, 0x1,
+0x7a,0x35,0x27,0x22,0x7e,0x35,0x27,0xbe,0x34,0x0, 0x1, 0x22,0xb, 0x28,0x30,0x4d,
+0x35,0x1b,0x28,0x30,0x22,0xca,0xf8,0x7e,0xa3,0x6, 0xd7,0x7c,0xfa,0x5e,0xf0,0x1,
+0x7c,0xba,0x12,0x1f,0xb5,0x12,0x15,0xa, 0x6c,0xaa,0x80,0x3b,0x7e,0xb3,0x6, 0x4d,
+0x60,0xb, 0xb4,0x2, 0x30,0xa, 0x3a,0x9, 0xb3,0xa, 0xbb,0x60,0x28,0x7e,0x90,0x4,
+0xac,0x9a,0x49,0x34,0x3, 0x5e,0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0x5, 0x34,0x59,
+0x32,0x5, 0x90,0x9f,0x11,0x59,0x34,0x3, 0x5e,0x59,0x24,0x3, 0x5c,0x59,0x34,0x4,
+0x16,0x59,0x24,0x4, 0x14,0xb, 0xa0,0x12,0x18,0x61,0x38,0xc0,0x7c,0x6f,0x5e,0x60,
+0x1, 0x7e,0x73,0x6, 0xd7,0x5e,0x70,0xfe,0x4c,0x76,0x7a,0x73,0x6, 0xd7,0xda,0xf8,
+0x22,0x7e,0xb3,0x6, 0xc8,0xbc,0xba,0x22,0x6c,0xaa,0x80,0x9, 0x12,0x19,0x5, 0x70,
+0x2, 0x21,0x4, 0xb, 0xa0,0x12,0x18,0x61,0x38,0xf2,0x7e,0xb3,0x6, 0x67,0x30,0xe1,
+0x2, 0x21,0x4, 0x6c,0xaa,0x80,0x78,0x12,0x19,0x5, 0xb4,0x1, 0x70,0x7e,0xb3,0x6,
+0xc6,0xbc,0xba,0x28,0x21,0x12,0x1e,0xe9,0x7e,0xb3,0x6, 0x45,0x12,0x1e,0xdc,0x8,
+0x6, 0x7e,0xb3,0x6, 0x43,0x80,0x1f,0x6d,0x33,0x9d,0x34,0x12,0x19,0x14,0x58,0x4d,
+0x7e,0xb3,0x6, 0x44,0x80,0x34,0x12,0x1e,0xe9,0x7e,0xb3,0x6, 0x48,0x12,0x1e,0xdc,
+0x8, 0x1b,0x7e,0xb3,0x6, 0x46,0xa, 0xeb,0x7e,0x50,0x2, 0xac,0x5a,0x7d,0xf2,0x2e,
+0xf4,0x5, 0x34,0xb, 0xf8,0x20,0x2d,0x2e,0x1b,0xf8,0x20,0x80,0x20,0x6d,0x33,0x9d,
+0x34,0x12,0x19,0x14,0x58,0x17,0x7e,0xb3,0x6, 0x47,0xa, 0x4b,0x7e,0x50,0x2, 0xac,
+0x5a,0x2e,0x24,0x5, 0x34,0xb, 0x28,0x30,0x9d,0x34,0x1b,0x28,0x30,0xb, 0xa0,0x12,
+0x18,0x61,0x38,0x83,0x22,0x7e,0x34,0x6, 0x15,0x7c,0xba,0x2, 0x1a,0x4a,0x6e,0x34,
+0xff,0xff,0xb, 0x34,0x1a,0x26,0x1a,0x24,0xbf,0x1, 0x22,0xca,0x3b,0x6c,0xee,0x6d,
+0x66,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x2, 0x41,0x29,0x6c,0xff,0x21,0xdf,0x12,0x1a,
+0x44,0xb4,0x1, 0x2, 0x80,0x2, 0x21,0xdd,0x7e,0x73,0x6, 0xc6,0xbc,0x7f,0x28,0x59,
+0xb, 0xe0,0x7e,0x50,0x4, 0xac,0x5f,0x49,0xd2,0x3, 0x5e,0x49,0xc2,0x3, 0x5c,0x7e,
+0x73,0x6, 0x45,0xa, 0x37,0x7d,0x53,0x1a,0x4a,0x1a,0x48,0xbf,0x62,0x8, 0xb, 0x12,
+0x1a,0x2c,0xbf,0x2, 0x8, 0x4, 0xb, 0x64,0x80,0x17,0x6d,0xff,0x9d,0xf3,0x7d,0x1f,
+0x1a,0x12,0x1a,0xe2,0xbf,0x67,0x58,0x9, 0x12,0x1a,0x2c,0xbf,0x7, 0x58,0x2, 0x1b,
+0x64,0x12,0x1a,0x2c,0xbf,0x2, 0x8, 0x6, 0x7e,0xb3,0x6, 0x43,0x80,0x29,0x12,0x19,
+0xe, 0x58,0x4a,0x7e,0x73,0x6, 0x44,0x80,0x3c,0x7e,0x50,0x4, 0xac,0x5f,0x12,0x1a,
+0x2c,0x7e,0x73,0x6, 0x48,0xa, 0x37,0x7d,0x53,0x7d,0xf3,0x1a,0x5a,0x1a,0xea,0xbf,
+0x7, 0x8, 0x19,0x7e,0xb3,0x6, 0x46,0xa, 0xfb,0x7e,0x90,0x2, 0xac,0x9f,0x2e,0x44,
+0x5, 0x90,0xb, 0x48,0x50,0x2d,0x5f,0x1b,0x48,0x50,0x80,0x11,0x12,0x19,0xe, 0x58,
+0xc, 0x7e,0x73,0x6, 0x47,0x12,0x1a,0x35,0x9d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,
+0x1a,0x60,0x28,0x2, 0x21,0x2e,0xbe,0xe0,0x0, 0x28,0x3e,0x7d,0x36,0x12,0x0, 0x2e,
+0xa, 0x2e,0xbd,0x32,0x78,0x33,0x6c,0xff,0x80,0x2a,0x12,0x1a,0x44,0x70,0x23,0xbe,
+0x64,0x0, 0x0, 0x8, 0xb, 0x7e,0x73,0x6, 0x43,0x12,0x1a,0x35,0x2d,0x31,0x80,0xf,
+0xbe,0x64,0x0, 0x0, 0x58,0xc, 0x7e,0x73,0x6, 0x44,0x12,0x1a,0x35,0x9d,0x31,0x1b,
+0x28,0x30,0xb, 0xf0,0x12,0x1a,0x60,0x38,0xd1,0xda,0x3b,0x22,0x49,0x12,0x4, 0x16,
+0x49,0x2, 0x4, 0x14,0x22,0xa, 0x17,0x7e,0x50,0x2, 0xac,0x5f,0x2e,0x24,0x5, 0x90,
+0xb, 0x28,0x30,0x22,0x7e,0x34,0x6, 0x15,0x7c,0xbf,0x7d,0x23,0x4d,0x22,0x68,0x5,
+0xbe,0xb0,0x2e,0x40,0x3, 0x74,0x1, 0x22,0xa, 0x3b,0x2d,0x32,0x7e,0x39,0xb0,0x22,
+0x7e,0x73,0x6, 0xc8,0xbc,0x7f,0x22,0xca,0x3b,0x75,0x23,0x0, 0x7e,0xb3,0x6, 0xd7,
+0x54,0xfd,0x7a,0xb3,0x6, 0xd7,0x7e,0x67,0x6, 0xd8,0x7e,0xb3,0x6, 0x67,0x30,0xe5,
+0x11,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x47,0x50,0xf7,0x75,0x23,0x1, 0x12,
+0x5b,0x38,0x12,0x1f,0xc5,0x7e,0x73,0x6, 0xd6,0xa, 0x57,0x12,0x17,0x7c,0x12,0x17,
+0xec,0x6c,0xff,0x6d,0x33,0x80,0xa, 0x74,0x2, 0xac,0xbf,0x59,0x35,0x9, 0xfd,0xb,
+0xf0,0x7e,0x53,0x6, 0xc8,0xbc,0x5f,0x38,0xee,0x6c,0xee,0x61,0x5e,0x6c,0xff,0x80,
+0x15,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x1b,0xc8,0x60,0x8, 0x6d,0x22,0x12,0x1b,
+0xc0,0x1b,0x38,0x20,0xb, 0xf0,0x12,0x1a,0x60,0x38,0xe6,0x75,0x22,0x0, 0x6d,0x33,
+0x7e,0xa1,0x22,0x74,0x2, 0xa4,0x59,0x35,0xb, 0xc3,0x5, 0x22,0xe5,0x22,0xb4,0x2e,
+0xed,0x6c,0xff,0x80,0x17,0xa, 0x2f,0x7e,0x34,0x0, 0x9, 0x9d,0x32,0x7a,0x73,0xc,
+0x1f,0x12,0x50,0xd6,0x12,0x1f,0xf9,0x12,0x50,0x64,0xb, 0xf0,0x7e,0x73,0x6, 0x14,
+0xbc,0x7f,0x38,0xe1,0x6c,0xff,0x80,0x3f,0x7e,0x50,0x2, 0xac,0x5f,0x49,0x12,0x9,
+0xfd,0x12,0x1b,0xc0,0xb, 0x38,0x30,0xbd,0x13,0x50,0x2a,0x59,0x32,0x9, 0xfd,0x7e,
+0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x1b,0xc8,0x60,0x1b,0x12,0x1f,0xbc,0x74,0x2, 0xac,
+0xbf,0x59,0x35,0x5, 0x34,0x74,0x2, 0xac,0xbf,0x49,0x35,0x5, 0x34,0x74,0x2, 0xac,
+0xbf,0x59,0x35,0x5, 0x90,0xb, 0xf0,0x12,0x1a,0x60,0x38,0xbc,0xb, 0xe0,0x7e,0x73,
+0x6, 0x11,0xbc,0x7e,0x28,0x2, 0x41,0xbd,0x6c,0xff,0x80,0x1b,0x7e,0xb3,0x6, 0x4d,
+0x60,0x5, 0x12,0x1b,0xc8,0x60,0xe, 0x74,0x2, 0xac,0xbf,0x49,0x25,0x9, 0xfd,0x12,
+0x1b,0xc0,0x1b,0x38,0x20,0xb, 0xf0,0x12,0x1a,0x60,0x38,0xe0,0x74,0x3, 0x12,0x17,
+0xc7,0x12,0x1f,0x7c,0x12,0x38,0xfe,0xe5,0x23,0x60,0x15,0x80,0x4, 0xe4,0x12,0xf,
+0xcd,0x12,0x17,0x47,0x50,0xf7,0x7e,0xb3,0x6, 0x67,0x44,0x20,0x7a,0xb3,0x6, 0x67,
+0x12,0x1f,0xc5,0x7e,0xb3,0x6, 0xca,0x12,0x17,0x76,0x12,0x17,0xec,0xda,0x3b,0x22,
+0x7e,0x70,0x2, 0xac,0x7f,0x2d,0x36,0x22,0xa, 0x3f,0x2e,0x37,0x6, 0x4e,0x7e,0x39,
+0xb0,0x22,0xca,0x79,0x12,0x1f,0xb1,0x6d,0x33,0x6c,0xee,0x80,0xa, 0x74,0x2, 0xac,
+0xbe,0x59,0x35,0x9, 0xfd,0xb, 0xe0,0x7e,0x53,0x6, 0xc8,0xbc,0x5e,0x38,0xee,0x7e,
+0xb3,0x6, 0x67,0x30,0xe0,0x34,0x6c,0xee,0x80,0x26,0x12,0x1f,0xf9,0x6c,0xff,0x80,
+0x18,0x7e,0x50,0x2, 0xac,0x5f,0x49,0xf2,0x9, 0xfd,0x12,0x37,0x75,0xbf,0x7, 0x8,
+0x6, 0x7d,0x31,0x59,0x32,0x9, 0xfd,0xb, 0xf0,0x12,0x1a,0x60,0x38,0xe3,0xb, 0xe0,
+0x7e,0x73,0x6, 0x10,0xbc,0x7e,0x38,0xd2,0x80,0x39,0x7e,0xe0,0x1, 0x12,0x15,0xa,
+0x6c,0xff,0x80,0x23,0x12,0x1f,0xbc,0x49,0x25,0x3, 0x5c,0x7e,0x8, 0x0, 0x4, 0x12,
+0x4, 0x59,0x7d,0x13,0x7e,0x50,0x2, 0xac,0x5f,0x2e,0x24,0x9, 0xfd,0xb, 0x28,0x30,
+0x2d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,0x60,0x38,0xd8,0xb, 0xe0,0xbe,0xe0,
+0x4, 0x28,0xca,0x6c,0xee,0x80,0x3b,0x7e,0xa3,0x6, 0x4d,0x4c,0xaa,0x68,0x19,0xbe,
+0xa0,0x1, 0x78,0x7, 0xa, 0x3e,0x12,0x1b,0xca,0x70,0xd, 0xbe,0xa0,0x3, 0x78,0x20,
+0xa, 0x3e,0x9, 0xb3,0xa, 0x8d,0x60,0x18,0x74,0x2, 0xac,0xbe,0x49,0x35,0x9, 0xfd,
+0x59,0x35,0x5, 0x34,0x74,0x2, 0xac,0xbe,0x49,0x35,0x9, 0xfd,0x59,0x35,0x5, 0x90,
+0xb, 0xe0,0x7e,0x73,0x6, 0xc8,0xbc,0x7e,0x38,0xbd,0xda,0x79,0x22,0x12,0x1e,0xf7,
+0x7a,0xb3,0x3, 0x34,0x12,0x1f,0xd3,0x2, 0x1b,0xd2,0x7e,0x34,0x0, 0x24,0x12,0x4e,
+0xf9,0xbe,0xb0,0x1, 0x68,0x8, 0x80,0xfe,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,
+0x47,0x50,0xf7,0xa9,0xc3,0xea,0x6d,0x11,0x7e,0x44,0x12,0x0, 0x1b,0x48,0x10,0x7e,
+0x53,0x6, 0xc9,0x7c,0xb5,0x54,0x1, 0xa, 0x5b,0x12,0x1e,0xc9,0x7c,0x75,0x1e,0x70,
+0x5e,0x70,0x3, 0xa, 0x57,0x3e,0x54,0x3e,0x54,0x3e,0x54,0x12,0x1e,0xc5,0x7e,0x63,
+0x6, 0xca,0x7c,0xb6,0x54,0x1, 0x12,0x1e,0xd4,0x12,0x1e,0xc9,0x7c,0xb6,0x1e,0xb0,
+0x54,0x3, 0x12,0x1e,0xd4,0x12,0x1e,0xc5,0x7c,0xb6,0x12,0x17,0x76,0x12,0x1e,0xcb,
+0x7e,0x54,0x13,0x14,0xb, 0x58,0x0, 0x6c,0x0, 0x12,0x1e,0xbe,0x5e,0x10,0xbf,0x12,
+0x1e,0xbe,0x4e,0x10,0x40,0x12,0x1e,0xbe,0x5e,0x10,0xcf,0x12,0x1e,0xbe,0x4e,0x10,
+0x10,0x12,0x1e,0xbe,0x5e,0x10,0xfc,0x12,0x1e,0xbe,0xa5,0xbf,0x0, 0x5, 0x4e,0x10,
+0x1, 0x80,0x3, 0x4e,0x10,0x3, 0x1b,0x58,0x0, 0x7e,0x44,0x12,0x2, 0x1b,0x48,0x10,
+0x7e,0x43,0x6, 0xc8,0xa, 0x54,0x7c,0xab,0xe4,0x12,0x1e,0xcb,0x7e,0xa3,0x6, 0xcb,
+0x7c,0xba,0x23,0x54,0x1, 0xa, 0xfb,0xb, 0x48,0x0, 0x4d,0xf, 0x1b,0x48,0x0, 0x7c,
+0xba,0x30,0xe6,0xe, 0x7c,0xb5,0x30,0xe0,0x9, 0xb, 0x48,0x20,0x4e,0x50,0x8, 0x1b,
+0x48,0x20,0x7c,0xb6,0x30,0xe6,0x12,0xb, 0x48,0x0, 0x4e,0x10,0x20,0x1b,0x48,0x0,
+0xb, 0x48,0x0, 0x4e,0x10,0x10,0x1b,0x48,0x0, 0x7e,0x24,0x12,0x4, 0xb, 0x28,0x0,
+0x5e,0x0, 0x7f,0x1b,0x28,0x0, 0xb, 0x28,0x0, 0x4e,0x0, 0x80,0x1b,0x28,0x0, 0x7e,
+0x24,0x13,0x1e,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xce,0x12,0x1e,0xb1,0x7e,0x63,0x6,
+0xd1,0xa, 0x46,0x12,0x1e,0xb5,0x7e,0x24,0x12,0x8, 0x1b,0x28,0x10,0x7e,0x63,0x6,
+0xcc,0xa, 0x46,0x12,0x1e,0xb5,0x7e,0x63,0x6, 0xcd,0x12,0x1e,0xb1,0x7e,0x24,0x13,
+0x20,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xcf,0xa, 0x46,0x12,0x1e,0xb5,0x7e,0x63,0x6,
+0xd0,0x12,0x1e,0xb1,0x7e,0x24,0x13,0x22,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xd2,0xa,
+0x46,0x12,0x1e,0xb5,0x7e,0x63,0x6, 0xd3,0x12,0x1e,0xb1,0x7e,0x4, 0x12,0xa, 0x1b,
+0x8, 0x10,0xa5,0xbf,0x0, 0x8, 0xb, 0x8, 0x10,0x4e,0x20,0x1, 0x80,0x1b,0xa5,0xbf,
+0x1, 0x8, 0xb, 0x8, 0x10,0x4e,0x20,0x11,0x80,0xf, 0xb, 0x8, 0x10,0xa5,0xbf,0x2,
+0x5, 0x4e,0x20,0x33,0x80,0x3, 0x4e,0x20,0xff,0x1b,0x8, 0x10,0x7c,0xba,0x1e,0xb0,
+0x54,0x3, 0xa, 0x3b,0xb, 0x8, 0x10,0x4d,0x13,0x1b,0x8, 0x10,0x12,0x4f,0x1c,0xb,
+0x8, 0x10,0x5e,0x30,0xfb,0x1b,0x8, 0x10,0xb, 0x8, 0x30,0x4e,0x70,0x4, 0x1b,0x8,
+0x30,0x7e,0x73,0x6, 0xd4,0xa, 0x27,0x7e,0x34,0x13,0x10,0x1b,0x38,0x20,0x12,0x4f,
+0x85,0x7e,0xb3,0x6, 0xca,0x1e,0xb0,0x54,0x3, 0xbe,0xb0,0x1, 0x68,0x3, 0xb4,0x2,
+0xb, 0x7e,0x27,0x6, 0xc4,0x7e,0x34,0x13,0x12,0x1b,0x38,0x20,0x74,0x2, 0x7a,0xb3,
+0x6, 0xda,0xd2,0x8e,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x7e,0xb3,0x6, 0xda,0x70,0xf6,
+0x22,0x7c,0x86,0x6c,0x99,0xb, 0x28,0x0, 0x4d,0x4, 0x1b,0x28,0x0, 0x22,0x1b,0x58,
+0x0, 0xb, 0x58,0x0, 0x22,0x3e,0x54,0x3e,0x54,0x3e,0x54,0xb, 0x48,0x0, 0x4d,0x5,
+0x1b,0x48,0x0, 0x22,0xa, 0xb, 0x7d,0x50,0x7c,0xab,0xe4,0x22,0xa, 0x4b,0x7d,0x24,
+0x7d,0xf4,0x1a,0x24,0x1a,0xe4,0xbf,0x7, 0x22,0x7e,0x70,0x4, 0xac,0x7a,0x49,0x13,
+0x3, 0x5e,0x49,0x3, 0x3, 0x5c,0x22,0x12,0x1c,0xba,0x7e,0xb3,0x3, 0x34,0x54,0x7f,
+0x7a,0xb3,0x3, 0x34,0x12,0x1a,0x67,0x7e,0xb3,0x3, 0x34,0x44,0x80,0x22,0xca,0x79,
+0x6d,0x77,0x7a,0x77,0x2, 0xd0,0x7e,0x34,0x3, 0xe8,0x7a,0x37,0x0, 0x74,0x12,0x1f,
+0xb1,0x12,0x1e,0xfa,0x7a,0xb3,0x3, 0x34,0x12,0x1b,0xd2,0x7a,0x77,0x2, 0xd0,0x7e,
+0x34,0x0, 0x64,0x7a,0x37,0x0, 0x74,0xda,0x79,0x22,0xe5,0xa, 0x30,0xe0,0x1a,0x7e,
+0xb3,0x3, 0x34,0x12,0x22,0xa6,0x7e,0xb3,0x3, 0x34,0x12,0x20,0x11,0x12,0x1e,0xf7,
+0x7a,0xb3,0x3, 0x34,0x53,0xa, 0xfc,0x80,0xb, 0xe5,0xa, 0x30,0xe1,0x6, 0x12,0x1f,
+0x7c,0x53,0xa, 0xfd,0xe5,0xa, 0x30,0xe2,0x12,0x53,0xca,0xf1,0x7e,0x73,0x3, 0x41,
+0xa, 0x37,0x3e,0x34,0x7c,0xb7,0x42,0xca,0x53,0xa, 0xfb,0x22,0x12,0x1f,0xe8,0x80,
+0x2a,0xa, 0x2a,0x9, 0x32,0x6, 0x96,0x7e,0x50,0x2, 0xac,0x53,0x2d,0x23,0xb, 0x28,
+0x20,0x7e,0xb3,0x6, 0x4d,0x60,0x7, 0xa, 0x13,0x12,0x1f,0xf1,0x60,0xb, 0xa, 0x1a,
+0x3e,0x14,0x2e,0x14,0x12,0x14,0x1b,0x18,0x20,0xb, 0xa0,0x12,0x18,0x61,0x38,0xd1,
+0x22,0x7e,0xb3,0x6, 0xd7,0x54,0xfe,0x7a,0xb3,0x6, 0xd7,0x22,0x74,0x4, 0xac,0xbf,
+0x49,0x35,0x3, 0x5e,0x22,0x7e,0x24,0x12,0x0, 0xb, 0x28,0x30,0x5e,0x60,0x1f,0x1b,
+0x28,0x30,0x22,0x74,0x10,0x7a,0xb3,0xb, 0x84,0x74,0x83,0x7a,0xb3,0xb, 0x85,0xe4,
+0x6c,0xaa,0x12,0x44,0x64,0x40,0xfb,0x22,0x7e,0x37,0x6, 0xd8,0x6c,0xaa,0x22,0xa,
+0x15,0x2e,0x17,0x6, 0x4e,0x7e,0x19,0xb0,0x22,0x7e,0xb3,0x6, 0x67,0x44,0x4, 0x7a,
+0xb3,0x6, 0x67,0x12,0x15,0xa, 0x7e,0xb3,0x6, 0x67,0x54,0xfb,0x7a,0xb3,0x6, 0x67,
+0x22,0x7c,0xab,0x9f,0x11,0x7a,0x1f,0x5, 0x30,0x74,0xb, 0x7a,0xb3,0x6, 0xf, 0x74,
+0x2, 0x7a,0xb3,0x6, 0x44,0x7a,0xb3,0x6, 0x43,0x74,0xf, 0x7a,0xb3,0x6, 0x45,0x74,
+0x2, 0x7a,0xb3,0x6, 0x47,0x7a,0xb3,0x6, 0x46,0x74,0xf, 0x7a,0xb3,0x6, 0x48,0x7e,
+0x34,0x0, 0x32,0x7a,0x37,0x5, 0xec,0x12,0x21,0x5a,0x74,0xa, 0x7a,0xb3,0x6, 0x10,
+0x7e,0xb3,0x6, 0x67,0x44,0x40,0x7a,0xb3,0x6, 0x67,0x54,0x7f,0x7a,0xb3,0x6, 0x67,
+0x5e,0xa0,0x7f,0xbe,0xa0,0x1, 0x68,0x7, 0xbe,0xa0,0x2, 0x78,0x2, 0x80,0x0, 0x12,
+0x21,0x5a,0x7e,0xa3,0x6, 0x67,0x7c,0xba,0x30,0xe0,0x12,0x74,0x1, 0x7a,0xb3,0x6,
+0x11,0x74,0x3, 0x7a,0xb3,0x6, 0x12,0x7a,0xb3,0x6, 0x13,0x80,0xe, 0x74,0x1, 0x7a,
+0xb3,0x6, 0x12,0x7a,0xb3,0x6, 0x13,0x7a,0xb3,0x6, 0x11,0x74,0xa, 0x7a,0xb3,0x6,
+0x66,0x7a,0xb3,0x6, 0x14,0x7e,0x24,0x2a,0xf8,0x7a,0x27,0x5, 0xf0,0x7c,0xba,0x54,
+0xfd,0x7a,0xb3,0x6, 0x67,0x7e,0x24,0xfc,0xe0,0x7a,0x27,0x5, 0xee,0x12,0x20,0x6,
+0x7a,0x37,0x5, 0xf2,0x7e,0x34,0x5, 0xdc,0x7a,0x37,0x5, 0xf4,0x7e,0x34,0xf, 0xa0,
+0x7a,0x37,0x5, 0xf6,0x7e,0xb3,0x6, 0x67,0x54,0xf7,0x7a,0xb3,0x6, 0x67,0x54,0xef,
+0x7a,0xb3,0x6, 0x67,0x7e,0x34,0x0, 0xc7,0x7a,0x37,0x5, 0xf8,0x7e,0x34,0x0, 0xa0,
+0x7a,0x37,0x5, 0xfa,0xe4,0x7a,0xb3,0x6, 0x49,0x7a,0xb3,0x6, 0x4a,0x7a,0x37,0x6,
+0x4b,0x7e,0x34,0x0, 0x31,0x7a,0x37,0x5, 0xfc,0x7e,0x34,0x1, 0x5c,0x7a,0x37,0x5,
+0xfe,0x12,0x5b,0x38,0x7e,0x34,0x0, 0x9, 0x7a,0x37,0x6, 0x2, 0x7e,0x34,0x0, 0x8,
+0x7a,0x37,0x6, 0x0, 0x7e,0x34,0x0, 0x1a,0x7a,0x37,0x6, 0x4, 0x7e,0x34,0x6, 0x65,
+0x7a,0x37,0x6, 0x6, 0x7e,0x34,0x32,0x41,0x7a,0x37,0x6, 0x8, 0x7e,0x34,0x26,0xef,
+0x7a,0x37,0x6, 0xc, 0x7e,0x34,0x2f,0xf7,0x7a,0x37,0x6, 0xa, 0xe4,0x7a,0xb3,0x6,
+0x4d,0x7e,0x34,0xa, 0xd1,0x7a,0x37,0x6, 0x4e,0x22,0x7e,0xb3,0x6, 0x67,0x54,0xfe,
+0x7a,0xb3,0x6, 0x67,0x22,0x12,0x38,0xe6,0x12,0x4d,0x8d,0x12,0x26,0xa4,0x12,0x4a,
+0x86,0x12,0x57,0xff,0x12,0x38,0xf5,0x12,0x4a,0xd2,0xe4,0x12,0x22,0xa6,0xe4,0x12,
+0x20,0x11,0x12,0x1c,0xad,0x12,0x4b,0x9f,0x7e,0xb3,0xb, 0x9f,0x24,0xfd,0x68,0x11,
+0x24,0xae,0x68,0x32,0x24,0xab,0x68,0xe, 0x24,0xa9,0x78,0xec,0x12,0x11,0x6d,0x80,
+0xe7,0x12,0x38,0x64,0x80,0xe2,0x12,0x21,0xef,0x7e,0x24,0x1, 0xf4,0x7a,0x27,0x0,
+0x74,0x7e,0xb3,0x2, 0xd2,0xbe,0xb0,0xaa,0x68,0xce,0x7a,0x37,0x0, 0x9c,0x74,0xaa,
+0x7a,0xb3,0x2, 0xd2,0x80,0xc2,0x12,0x21,0xef,0x7e,0x34,0x1, 0xf4,0x7a,0x37,0x0,
+0x74,0x7e,0xb3,0x2, 0xd2,0xb4,0xaa,0xb0,0x74,0x55,0x7a,0xb3,0x2, 0xd2,0x7e,0x74,
+0x3, 0xe8,0x7d,0x37,0x1b,0x74,0x4d,0x33,0x78,0xf8,0x75,0xe9,0xff,0x80,0x99,0x6d,
+0x33,0x7a,0x37,0x2, 0xd0,0x22,0x7e,0x4, 0x0, 0x76,0x6d,0x11,0xe4,0x7a,0x9, 0xb0,
+0xb, 0x4, 0xb, 0x14,0xbe,0x14,0x0, 0x1c,0x78,0xf2,0x7e,0x4, 0x2, 0xb6,0x6d,0x11,
+0xe4,0x7a,0x9, 0xb0,0xb, 0x4, 0xb, 0x14,0xbe,0x14,0x0, 0x17,0x78,0xf2,0x6d,0x11,
+0x12,0x22,0x8d,0x2e,0x34,0x0, 0x7a,0x12,0x22,0x8a,0x2e,0x34,0x2, 0xb6,0x12,0x22,
+0x8a,0x2e,0x34,0x2, 0xc0,0x12,0x22,0x94,0xb, 0x14,0xbe,0x14,0x0, 0x2, 0x40,0xe0,
+0x74,0x2, 0x7a,0xb3,0x0, 0x68,0x74,0xa, 0x7a,0xb3,0x0, 0x69,0x7e,0x34,0x0, 0xc7,
+0x7a,0x37,0x0, 0x6a,0x7e,0x34,0x0, 0xc6,0x7a,0x37,0x0, 0x6c,0x7e,0x34,0x0, 0x31,
+0x7a,0x37,0x0, 0x70,0xc2,0x4, 0x75,0xd, 0x0, 0x75,0x1a,0x0, 0xc2,0x5, 0x75,0xb,
+0x0, 0x12,0x21,0xef,0x7e,0x24,0x7, 0xd0,0x7a,0x27,0x0, 0x74,0x7a,0x37,0x0, 0x9c,
+0xe4,0x7a,0xb3,0x2, 0xd2,0x7a,0xb3,0xb, 0x37,0x22,0x12,0x22,0x94,0x7e,0x34,0x0,
+0x5, 0xad,0x31,0x22,0x7e,0x24,0x7f,0xff,0x1b,0x38,0x20,0x59,0x23,0x0, 0x2, 0x74,
+0xff,0x19,0xb3,0x0, 0x4, 0x22,0xca,0xf8,0x7c,0xfb,0x74,0x16,0x7a,0xb3,0x6, 0xc6,
+0xe4,0x7a,0xb3,0x6, 0xc7,0x74,0x16,0x7a,0xb3,0x6, 0xc8,0x74,0x30,0x7a,0xb3,0x6,
+0xd4,0x7e,0xb3,0x6, 0xcb,0x54,0xbf,0x7a,0xb3,0x6, 0xcb,0x54,0x7f,0x7a,0xb3,0x6,
+0xcb,0x54,0xf9,0x7a,0xb3,0x6, 0xcb,0x7e,0xb3,0x6, 0xca,0x54,0xbf,0x7a,0xb3,0x6,
+0xca,0x7e,0xb3,0x6, 0xd7,0x44,0x4, 0x7a,0xb3,0x6, 0xd7,0x74,0x15,0x7a,0xb3,0x6,
+0xd5,0x7e,0xb3,0x6, 0xca,0x54,0x7f,0x7a,0xb3,0x6, 0xca,0x7e,0xb3,0x6, 0xcb,0x54,
+0xfe,0x7a,0xb3,0x6, 0xcb,0x7e,0x34,0x4, 0xc5,0x7e,0x24,0x6, 0x68,0x74,0x16,0x7e,
+0x30,0x97,0x12,0x23,0xe2,0x6c,0x77,0x80,0x8, 0xa, 0x27,0x19,0x72,0x6, 0x96,0xb,
+0x70,0x7e,0x63,0x6, 0xc8,0xbc,0x67,0x38,0xf0,0x7e,0xb3,0x6, 0xc9,0x44,0x1, 0x7a,
+0xb3,0x6, 0xc9,0x5e,0xf0,0x7f,0xbe,0xf0,0x1, 0x78,0xe, 0x7e,0xb3,0x6, 0xc9,0x12,
+0x26,0x88,0x44,0x8, 0x12,0x26,0x95,0x80,0x38,0xbe,0xf0,0x2, 0x7e,0xb3,0x6, 0xc9,
+0x78,0x8, 0x12,0x26,0x88,0x12,0x26,0x95,0x80,0x27,0x44,0x6, 0x12,0x26,0x8a,0x44,
+0x18,0x7a,0xb3,0x6, 0xcb,0x7e,0x63,0x3, 0x35,0x5e,0x60,0x7, 0x7c,0xb6,0xc4,0x3,
+0x54,0xf8,0x7c,0x6b,0x7e,0x73,0x6, 0xca,0x5e,0x70,0xc7,0x4c,0x76,0x7a,0x73,0x6,
+0xca,0xe4,0x7a,0xb3,0x6, 0xd6,0x7e,0xb3,0x6, 0xca,0x54,0xfe,0x7a,0xb3,0x6, 0xca,
+0x44,0x6, 0x7a,0xb3,0x6, 0xca,0x7e,0x73,0x3, 0x38,0x7a,0x73,0x6, 0xcc,0x7e,0x73,
+0x3, 0x39,0x7a,0x73,0x6, 0xcd,0x7e,0x73,0x3, 0x36,0x7a,0x73,0x6, 0xce,0x7e,0x73,
+0x3, 0x3a,0x7a,0x73,0x6, 0xcf,0x7e,0x73,0x3, 0x3b,0x7a,0x73,0x6, 0xd0,0x7e,0x73,
+0x3, 0x37,0x7a,0x73,0x6, 0xd1,0x7e,0x73,0x3, 0x3c,0x7a,0x73,0x6, 0xd2,0x7e,0x73,
+0x3, 0x3d,0x7a,0x73,0x6, 0xd3,0x12,0x1f,0xb1,0x54,0xfd,0x7a,0xb3,0x6, 0xd7,0xda,
+0xf8,0x22,0x7c,0x23,0x7c,0x3b,0x7d,0x43,0x7c,0xb2,0x24,0x6a,0xbe,0xb0,0x9, 0x40,
+0x2, 0xc1,0x4e,0x7e,0xa0,0x3, 0xa4,0x90,0x23,0xfb,0x73,0x2, 0x24,0x16,0x2, 0x24,
+0xcb,0x2, 0x25,0x1, 0x2, 0x25,0x37,0x2, 0x26,0x18,0x2, 0x26,0x4e,0x2, 0x25,0x6d,
+0x2, 0x25,0x9d,0x2, 0x25,0xcd,0x6c,0x77,0x81,0xc4,0x12,0x26,0x77,0xbe,0xb0,0x12,
+0x40,0x2, 0x81,0xbf,0x7e,0xa0,0x3, 0xa4,0x90,0x24,0x2c,0x73,0x2, 0x24,0x62,0x2,
+0x24,0x67,0x2, 0x24,0x6c,0x2, 0x24,0x71,0x2, 0x24,0x76,0x2, 0x24,0x7b,0x2, 0x24,
+0x80,0x2, 0x24,0x85,0x2, 0x24,0x8a,0x2, 0x24,0x8f,0x2, 0x24,0x94,0x2, 0x24,0x99,
+0x2, 0x24,0x9e,0x2, 0x24,0xa3,0x2, 0x24,0xa8,0x2, 0x24,0xad,0x2, 0x24,0xb2,0x2,
+0x24,0xb7,0x7e,0x20,0x4, 0x80,0x53,0x7e,0x20,0x6, 0x80,0x4e,0x7e,0x20,0x7, 0x80,
+0x49,0x7e,0x20,0x5, 0x80,0x44,0x7e,0x20,0xe, 0x80,0x3f,0x7e,0x20,0x8, 0x80,0x3a,
+0x7e,0x20,0xf, 0x80,0x35,0x7e,0x20,0x10,0x80,0x30,0x7e,0x20,0x11,0x80,0x2b,0x7e,
+0x20,0x12,0x80,0x26,0x7e,0x20,0x17,0x80,0x21,0x7e,0x20,0x1a,0x80,0x1c,0x7e,0x20,
+0x18,0x80,0x17,0x7e,0x20,0x1b,0x80,0x12,0x7e,0x20,0x21,0x80,0xd, 0x7e,0x20,0x20,
+0x80,0x8, 0x7e,0x20,0x1f,0x80,0x3, 0x7e,0x20,0x19,0x12,0x26,0x67,0x80,0x3, 0x12,
+0x26,0x6f,0xb, 0x70,0xbc,0x37,0x28,0x2, 0x81,0x1a,0x22,0x6c,0x77,0x80,0x2d,0x12,
+0x26,0x77,0xbe,0x60,0x7, 0x40,0x10,0xbe,0x60,0xe, 0x38,0xb, 0xa, 0x56,0x2e,0x54,
+0x0, 0x13,0x12,0x26,0x65,0x80,0x13,0xbe,0x60,0xf, 0x40,0xb, 0xa, 0x56,0x2e,0x54,
+0x0, 0x29,0x12,0x26,0x65,0x80,0x3, 0x12,0x26,0x6f,0xb, 0x70,0xbc,0x37,0x38,0xcf,
+0x22,0x6c,0x77,0x80,0x2d,0x12,0x26,0x77,0xbe,0x60,0x9, 0x40,0x10,0xbe,0x60,0x12,
+0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x10,0x12,0x26,0x65,0x80,0x13,0xbe,0x60,0x13,
+0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x23,0x12,0x26,0x65,0x80,0x3, 0x12,0x26,0x6f,
+0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x2d,0x12,0x26,0x77,0xbe,0x60,
+0xd, 0x40,0x10,0xbe,0x60,0x18,0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0xb, 0x12,0x26,
+0x65,0x80,0x13,0xbe,0x60,0x19,0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x1b,0x12,0x26,
+0x65,0x80,0x3, 0x12,0x26,0x6f,0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,
+0x27,0x12,0x26,0x77,0xbe,0x60,0xe, 0x40,0xa, 0xbe,0x60,0x19,0x38,0x5, 0x12,0x26,
+0x5f,0x80,0x13,0xbe,0x60,0x1a,0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x19,0x12,0x26,
+0x65,0x80,0x3, 0x12,0x26,0x6f,0xb, 0x70,0xbc,0x37,0x38,0xd5,0x22,0x6c,0x77,0x80,
+0x27,0x12,0x26,0x77,0xbe,0x60,0xe, 0x40,0xa, 0xbe,0x60,0x19,0x38,0x5, 0x12,0x26,
+0x5f,0x80,0x13,0xbe,0x60,0x1a,0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x18,0x12,0x26,
+0x65,0x80,0x3, 0x12,0x26,0x6f,0xb, 0x70,0xbc,0x37,0x38,0xd5,0x22,0x6c,0x77,0x80,
+0x42,0x12,0x26,0x77,0xbe,0x60,0x0, 0x40,0x10,0xbe,0x60,0xd, 0x38,0xb, 0xa, 0x56,
+0x2e,0x54,0x0, 0x3, 0x12,0x26,0x65,0x80,0x28,0xbe,0x60,0xe, 0x40,0x10,0xbe,0x60,
+0x1b,0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x9, 0x12,0x26,0x65,0x80,0x13,0xbe,0x60,
+0x1c,0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x15,0x12,0x26,0x65,0x80,0x3, 0x12,0x26,
+0x6f,0xb, 0x70,0xbc,0x37,0x38,0xba,0x22,0x6c,0x77,0x80,0x2d,0x12,0x26,0x77,0xbe,
+0x60,0x11,0x40,0x10,0xbe,0x60,0x1e,0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x6, 0x12,
+0x26,0x65,0x80,0x13,0xbe,0x60,0x1f,0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x11,0x12,
+0x26,0x65,0x80,0x3, 0x12,0x26,0x6f,0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,
+0x80,0x8, 0x12,0x26,0x77,0x12,0x26,0x6f,0xb, 0x70,0xbc,0x37,0x38,0xf4,0x22,0xa,
+0x56,0x2e,0x54,0x0, 0xa, 0x7c,0x2b,0x7d,0x50,0x2d,0x52,0x7a,0x59,0x20,0x22,0x7d,
+0x50,0x2d,0x52,0x7a,0x59,0x60,0x22,0xa, 0x7, 0x7d,0x50,0x2d,0x54,0x7a,0xb1,0x82,
+0x7a,0xa1,0x83,0xe4,0x93,0x7c,0x6b,0x22,0x54,0xf9,0x7a,0xb3,0x6, 0xc9,0x7e,0xb3,
+0x6, 0xcb,0x54,0xc7,0x22,0x7a,0xb3,0x6, 0xcb,0x7e,0xb3,0x6, 0xca,0x54,0xc7,0x7a,
+0xb3,0x6, 0xca,0x22,0xe4,0x7a,0xb3,0xc, 0xd6,0x12,0x4d,0x77,0x2, 0x26,0xaf,0xca,
+0xf8,0xe4,0x12,0x3f,0xb6,0x78,0x5, 0x12,0x27,0x54,0x80,0x12,0xbe,0xf0,0x4, 0x78,
+0x5, 0x12,0x27,0x2b,0x80,0x8, 0xbe,0xf0,0x1, 0x78,0x3, 0x12,0x5b,0xa1,0x75,0x91,
+0x0, 0xe4,0x7a,0xb3,0xc, 0xd2,0x7a,0xb3,0xc, 0xd1,0x74,0xaa,0x7a,0xb3,0xc, 0xac,
+0x7a,0xb3,0xc, 0xad,0x7a,0xb3,0xc, 0xbe,0x7a,0xb3,0xc, 0xbf,0xda,0xf8,0x22,0x7e,
+0xb3,0x6, 0x67,0x30,0xe0,0x34,0x6c,0xaa,0x80,0x28,0xa, 0x3a,0x9, 0x73,0x6, 0x96,
+0x7e,0xb3,0x6, 0xd7,0x30,0xe0,0x19,0x7e,0x50,0x4, 0xac,0x57,0x49,0xf2,0x3, 0x5e,
+0x49,0xe2,0x3, 0x5c,0x7e,0x17,0x5, 0xee,0x12,0x7, 0x7d,0x58,0x3, 0x12,0x32,0x14,
+0xb, 0xa0,0x7e,0x63,0x6, 0xc8,0xbc,0x6a,0x38,0xd0,0x22,0x7e,0xb3,0xc, 0xd8,0x12,
+0x27,0x35,0xf5,0x91,0x22,0x7c,0xab,0x24,0x0, 0x78,0x5, 0x7e,0xb3,0xc, 0xd6,0x22,
+0xbe,0xa0,0xaf,0x38,0xc, 0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x5, 0x7c,0xba,0x2, 0x39,
+0x9, 0x7c,0xba,0x22,0x7e,0xb3,0xc, 0xd8,0x12,0x3f,0x33,0xf5,0x91,0x22,0x12,0x21,
+0xef,0x7e,0x34,0x3, 0xe8,0x7a,0x37,0x0, 0x74,0x2, 0x27,0x6c,0x7e,0x34,0xb, 0x63,
+0x7e,0xb3,0xb, 0xc2,0x20,0xe0,0x3, 0x2, 0x28,0x2c,0x54,0xfe,0x7a,0xb3,0xb, 0xc2,
+0x7e,0x39,0x50,0x7a,0x53,0x3, 0x4b,0x12,0x5a,0xe3,0x3e,0x24,0x3e,0x24,0x7a,0x27,
+0x3, 0x49,0xbe,0x24,0x2, 0x26,0x50,0x8, 0x7e,0x24,0x2, 0x26,0x7a,0x27,0x3, 0x49,
+0x9, 0x53,0x0, 0x5, 0x7a,0x53,0x0, 0xa0,0x12,0x5a,0xe3,0x7a,0x27,0x0, 0x9e,0x9,
+0x53,0x0, 0x25,0xa, 0x25,0x7a,0x27,0x0, 0x92,0x9, 0x53,0x0, 0x6, 0x7a,0x53,0x0,
+0x94,0x9, 0x53,0x0, 0x8, 0x7a,0x53,0x0, 0x96,0xbe,0x50,0xf, 0x40,0x6, 0x74,0xe,
+0x19,0xb3,0x0, 0x8, 0x9, 0x53,0x0, 0x8, 0xa, 0x25,0x2e,0x24,0x4, 0xfb,0x7a,0x51,
+0x82,0x7a,0x41,0x83,0xe4,0x93,0x7a,0xb3,0x0, 0x95,0x9, 0x53,0x0, 0x9, 0x7a,0x53,
+0x0, 0x98,0x7a,0x53,0x0, 0x97,0x9, 0x53,0x0, 0x24,0x7a,0x53,0x0, 0x9a,0x9, 0x53,
+0x0, 0x2d,0x7a,0x53,0xd, 0x3f,0x9, 0xb3,0x0, 0x2e,0x7a,0xb3,0x3, 0x34,0xb4,0x1,
+0x5, 0xe4,0x7a,0xb3,0x3, 0x34,0x7e,0xa3,0xb, 0xb3,0xbe,0xa3,0x0, 0xa1,0x68,0xc,
+0x4c,0xaa,0x74,0x5, 0x7a,0xb3,0x0, 0x99,0x7a,0xa3,0x0, 0xa1,0x22,0x9f,0x11,0x7a,
+0x1f,0x5, 0x28,0x7a,0x1f,0x5, 0x2c,0x6c,0xaa,0x12,0x28,0x58,0x7e,0x7f,0x5, 0x28,
+0xbf,0x71,0x58,0x4, 0x7a,0x1f,0x5, 0x28,0xb, 0xa0,0xbe,0xa0,0x16,0x40,0xea,0x7e,
+0x1f,0x5, 0x28,0x7a,0x1f,0x5, 0x2c,0x22,0x7e,0x30,0x4, 0xac,0x3a,0x49,0x31,0x3,
+0x5e,0x49,0x21,0x3, 0x5c,0x22,0x6c,0xaa,0xa, 0x3a,0x12,0x2f,0x3a,0x7c,0x3b,0xbe,
+0x30,0x16,0x50,0x9, 0x74,0x4, 0xac,0x3b,0x12,0x28,0x5d,0x80,0x2, 0x9f,0x11,0x7e,
+0x30,0x4, 0xac,0x3a,0x59,0x31,0x9, 0x6f,0x59,0x21,0x9, 0x6d,0xb, 0xa0,0xbe,0xa0,
+0x24,0x40,0xd5,0x7e,0x1f,0x9, 0x85,0x7a,0x1d,0x2a,0x75,0x2f,0x0, 0x7e,0x34,0x9,
+0x85,0x7a,0x35,0x30,0x7e,0x34,0x9, 0x9d,0x7a,0x35,0x32,0x7e,0x1f,0x9, 0x89,0x7e,
+0xf, 0x9, 0xa1,0xe4,0x12,0x29,0x61,0x7e,0x1f,0x9, 0x99,0x7a,0x1d,0x2a,0x75,0x2f,
+0x1, 0x7e,0x34,0x9, 0x99,0x7a,0x35,0x30,0x7e,0x34,0x9, 0xb1,0x7a,0x35,0x32,0x7e,
+0x1f,0x9, 0x95,0x7e,0xf, 0x9, 0xad,0xe4,0x12,0x29,0x61,0x7e,0x1f,0x9, 0xb5,0x7a,
+0x1d,0x2a,0x75,0x2f,0x0, 0x7e,0x34,0x9, 0xb5,0x7a,0x35,0x30,0x7e,0x34,0x9, 0xcd,
+0x7a,0x35,0x32,0x7e,0x1f,0x9, 0xb9,0x7e,0xf, 0x9, 0xd1,0x74,0x1, 0x12,0x29,0x61,
+0x7e,0x1f,0x9, 0xc9,0x7a,0x1d,0x2a,0x75,0x2f,0x1, 0x7e,0x34,0x9, 0xc9,0x7a,0x35,
+0x30,0x7e,0x34,0x9, 0xe1,0x7a,0x35,0x32,0x7e,0x1f,0x9, 0xc5,0x7e,0xf, 0x9, 0xdd,
+0x74,0x1, 0x12,0x29,0x61,0xe4,0x12,0x29,0xdd,0x74,0x1, 0x12,0x29,0xdd,0x7e,0x34,
+0x9, 0x89,0x12,0x2f,0x16,0x7e,0x34,0x9, 0xd1,0x12,0x2f,0x16,0x7e,0x34,0x9, 0x95,
+0x12,0x29,0x4a,0x7e,0x34,0x9, 0xdd,0x2, 0x29,0x4a,0x12,0x2f,0x99,0xe5,0x14,0xa,
+0x1b,0x6d,0x0, 0x12,0x2f,0x2b,0x2, 0x29,0x59,0x59,0x3f,0x0, 0x2, 0x1b,0xf8,0x20,
+0x22,0xca,0x3b,0xf5,0x2e,0x7a,0xd, 0x26,0x7a,0x1d,0x22,0x7e,0x7d,0x2a,0xbe,0x78,
+0x0, 0x32,0x8, 0x56,0xe5,0x2f,0x70,0x4, 0xe5,0x15,0x80,0x2, 0xe5,0x10,0x12,0x2f,
+0x25,0x7a,0x1d,0x2a,0x7e,0x1d,0x26,0x12,0x2b,0x2c,0x7f,0x31,0x7e,0x1d,0x22,0x12,
+0x2b,0x2c,0x2f,0x31,0x78,0x1a,0xe5,0x2e,0x60,0xb, 0x12,0x2f,0x7a,0x12,0x29,0xcd,
+0x12,0x2f,0x4f,0x80,0x1a,0x12,0x2f,0x4f,0x12,0x29,0xcd,0x12,0x2f,0x7a,0x80,0xf,
+0x7e,0x1d,0x22,0x12,0x2c,0xac,0x12,0x29,0xcd,0x7e,0x1d,0x26,0x12,0x2c,0xac,0x12,
+0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x32,0x12,0x29,0xd5,0xda,0x3b,0x22,0x12,0x4, 0x59,
+0x7f,0x1, 0x7e,0x35,0x30,0x59,0x13,0x0, 0x2, 0x1b,0x38,0x0, 0x22,0xca,0x3b,0x70,
+0x48,0x7e,0x1f,0x9, 0x89,0x7a,0x1f,0x9, 0xfd,0x7e,0x1f,0x9, 0x8d,0x7a,0x1f,0xa,
+0x1, 0x7e,0x1f,0x9, 0x91,0x7a,0x1f,0xa, 0x5, 0x7e,0x1f,0x9, 0x95,0x7a,0x1f,0xa,
+0x9, 0x7e,0x34,0x9, 0x71,0x7a,0x35,0x22,0x7e,0x34,0x9, 0x75,0x7a,0x35,0x24,0x7e,
+0x34,0x9, 0x79,0x7a,0x35,0x26,0x7e,0x34,0x9, 0x7d,0x7a,0x35,0x28,0xe5,0x8, 0xa,
+0x1b,0x6d,0x0, 0x7e,0x1f,0x9, 0x71,0x80,0x46,0x7e,0x1f,0x9, 0xd1,0x7a,0x1f,0x9,
+0xfd,0x7e,0x1f,0x9, 0xd5,0x7a,0x1f,0xa, 0x1, 0x7e,0x1f,0x9, 0xd9,0x7a,0x1f,0xa,
+0x5, 0x7e,0x1f,0x9, 0xdd,0x7a,0x1f,0xa, 0x9, 0x7e,0x34,0x9, 0xe9,0x7a,0x35,0x22,
+0x7e,0x34,0x9, 0xed,0x7a,0x35,0x24,0x7e,0x34,0x9, 0xf1,0x7a,0x35,0x26,0x7e,0x34,
+0x9, 0xf5,0x7a,0x35,0x28,0xe5,0xf, 0xa, 0x1b,0x6d,0x0, 0x7e,0x1f,0x9, 0xe9,0x12,
+0x2f,0x2b,0x7f,0x31,0xbe,0x38,0x0, 0x32,0x18,0x2, 0x61,0x29,0x7e,0x1f,0x9, 0xfd,
+0x12,0x2b,0x2c,0x7a,0x1f,0x9, 0xfd,0x7e,0x1f,0xa, 0x1, 0x12,0x2b,0x2c,0x7a,0x1f,
+0xa, 0x1, 0x7e,0x1f,0xa, 0x5, 0x12,0x2b,0x2c,0x12,0x2f,0xee,0x12,0x2b,0x2c,0x7a,
+0x1f,0xa, 0x9, 0x7e,0x1f,0xa, 0x1, 0x7e,0x6f,0x9, 0xfd,0x2f,0x16,0x7e,0x7f,0xa,
+0x5, 0x2f,0x71,0x78,0x16,0x7e,0x8, 0x0, 0x8, 0x7f,0x13,0x12,0x4, 0x59,0x7f,0x1,
+0x7e,0x35,0x22,0x12,0x29,0xd5,0x12,0x2f,0xa3,0x80,0x10,0x12,0x2f,0xb1,0x7e,0x35,
+0x22,0x12,0x29,0xd5,0x7e,0xf, 0xa, 0x1, 0x12,0x2f,0x89,0x12,0x4, 0x59,0x7f,0x1,
+0x7e,0x35,0x24,0x12,0x29,0xd5,0x7e,0x6f,0xa, 0x5, 0x7e,0x1f,0xa, 0x1, 0x2f,0x16,
+0x7e,0x7f,0xa, 0x9, 0x2f,0x71,0x78,0x16,0x12,0x2f,0xa3,0x12,0x4, 0x59,0x7f,0x1,
+0x7e,0x35,0x26,0x12,0x29,0xd5,0x7e,0x8, 0x0, 0x8, 0x7f,0x13,0x80,0x10,0x12,0x2f,
+0xb1,0x7e,0x35,0x26,0x12,0x29,0xd5,0x7e,0xf, 0xa, 0x9, 0x12,0x2f,0x89,0x12,0x4,
+0x59,0x7f,0x1, 0x7e,0x35,0x28,0x12,0x29,0xd5,0xda,0x3b,0x22,0xbe,0x18,0x0, 0x32,
+0x8, 0x1, 0x22,0x9f,0x11,0x22,0xca,0x79,0x7c,0xe7,0x7c,0xfb,0x74,0x4, 0xac,0xbf,
+0x12,0x2c,0xbc,0x12,0x2f,0x57,0x68,0xf, 0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x57,
+0x49,0x25,0x9, 0x55,0x12,0x2c,0x9c,0xbe,0xe0,0x5, 0x68,0xf, 0x74,0x4, 0xac,0xbf,
+0x49,0x35,0x9, 0x87,0x49,0x25,0x9, 0x85,0x12,0x2c,0x9c,0x7e,0x1f,0xa, 0x15,0xda,
+0x79,0x22,0xca,0x79,0x7c,0xe7,0x7c,0xfb,0x74,0x4, 0xac,0xbf,0x12,0x2c,0xbc,0x12,
+0x2f,0x57,0x68,0xf, 0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x6b,0x49,0x25,0x9, 0x69,
+0x12,0x2c,0x9c,0xbe,0xe0,0x5, 0x68,0xf, 0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x73,
+0x49,0x25,0x9, 0x71,0x12,0x2c,0x9c,0x7e,0x1f,0xa, 0x15,0xda,0x79,0x22,0xca,0x3b,
+0x9f,0x11,0x7a,0x1f,0x0, 0xa2,0x6c,0xff,0x81,0x92,0x7c,0x1f,0x2e,0x10,0x16,0xa5,
+0xe7,0x7c,0xeb,0xa, 0x1e,0x7e,0x24,0x0, 0x6, 0x8d,0x12,0x7c,0xd3,0xa, 0x3e,0x8d,
+0x32,0x7c,0xc5,0x12,0x2f,0x61,0x7c,0x7d,0x12,0x2b,0x36,0x7a,0x1f,0xa, 0xd, 0x4c,
+0xcc,0x68,0xc, 0x7c,0xbe,0x14,0x7c,0x7d,0x12,0x2b,0x36,0x7a,0x1f,0xa, 0x5, 0xbe,
+0xc0,0x5, 0x68,0xc, 0x7c,0xbe,0x4, 0x7c,0x7d,0x12,0x2b,0x36,0x7a,0x1f,0xa, 0x9,
+0xa, 0x1c,0x12,0x2f,0xc0,0xa, 0x1c,0x12,0x2f,0x6c,0xa, 0x1c,0x12,0x2f,0xd0,0x7e,
+0x1f,0x0, 0xa2,0xbf,0x10,0x50,0x8, 0x7e,0x1f,0xa, 0x1, 0x7a,0x1f,0x0, 0xa2,0x7e,
+0x1f,0x9, 0xfd,0x74,0x6, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0xf, 0xa, 0x1, 0x12,0x2f,
+0x47,0x7a,0x37,0xa, 0x11,0x12,0x2f,0x61,0x7c,0xbe,0x7c,0x7c,0x12,0x2b,0x72,0x7a,
+0x1f,0xa, 0xd, 0x4c,0xdd,0x68,0xd, 0x7c,0xbe,0x24,0xfa,0x7c,0x7c,0x12,0x2b,0x72,
+0x7a,0x1f,0xa, 0x5, 0xbe,0xd0,0x5, 0x68,0xd, 0x7c,0xbe,0x24,0x6, 0x7c,0x7c,0x12,
+0x2b,0x72,0x7a,0x1f,0xa, 0x9, 0xa, 0x1d,0x12,0x2f,0xc0,0xa, 0x1d,0x12,0x2f,0x6c,
+0xa, 0x1d,0x12,0x2f,0xd0,0x74,0x6, 0x2f,0x11,0x14,0x78,0xfb,0x12,0x2f,0x47,0x7a,
+0x37,0xa, 0x13,0x7e,0x27,0xa, 0x11,0x74,0x5, 0xac,0xbf,0x59,0x25,0x0, 0x7a,0x12,
+0x44,0x52,0x12,0x40,0x91,0x50,0x2, 0x61,0xba,0xda,0x3b,0x22,0x12,0x2b,0x2c,0x7f,
+0x1, 0x7e,0x1f,0xa, 0x15,0x2f,0x10,0x7a,0x1f,0xa, 0x15,0x22,0x12,0x2b,0x2c,0x7e,
+0xd, 0x2a,0x12,0x3, 0xec,0x7f,0x3, 0x22,0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x6f,
+0x49,0x25,0x9, 0x6d,0x22,0xca,0x3b,0x6c,0xee,0x9f,0x44,0x7f,0x74,0x7a,0x4f,0x9,
+0xfe,0x7a,0x4f,0xa, 0x2, 0x7a,0x4f,0xa, 0x6, 0x7a,0x4f,0xa, 0xa, 0x7a,0x4f,0xa,
+0xe, 0x7f,0x64,0x7f,0x54,0x6c,0xdd,0x12,0x2c,0xb8,0xbf,0x71,0x58,0x4, 0x7f,0x71,
+0x7c,0xfd,0xb, 0xd0,0xbe,0xd0,0x24,0x78,0xee,0x7e,0x37,0x3, 0x49,0x6d,0x22,0xbf,
+0x71,0x58,0xb, 0x12,0x33,0x3e,0x7e,0xb3,0x0, 0x91,0x54,0xf0,0x80,0x17,0xe5,0xe,
+0xb4,0x1, 0x18,0x12,0x2f,0x35,0x7a,0xb3,0x0, 0x76,0x12,0x35,0xec,0x7e,0xb3,0x0,
+0x91,0x54,0xf0,0x44,0x1, 0x7a,0xb3,0x0, 0x91,0xe1,0xa, 0x6c,0xdd,0xa, 0x5d,0x7e,
+0x24,0x0, 0x6, 0x8d,0x52,0x7a,0xb3,0x9, 0xfd,0xa, 0x3d,0x8d,0x32,0x7c,0xc5,0x70,
+0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x57,0x49,0x25,0x9,
+0x55,0x7a,0x1f,0x9, 0xfe,0x7e,0xb3,0x9, 0xfd,0xb4,0x5, 0x4, 0x9f,0x11,0x80,0xc,
+0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x87,0x49,0x25,0x9, 0x85,0x7a,0x1f,0xa, 0x2,
+0x4c,0xcc,0x78,0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x6b,
+0x49,0x25,0x9, 0x69,0x7a,0x1f,0xa, 0x6, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x11,0x80,
+0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x73,0x49,0x25,0x9, 0x71,0x7a,0x1f,0xa,
+0xa, 0x7e,0xb3,0x9, 0xfd,0x60,0x4, 0x4c,0xcc,0x78,0x4, 0x9f,0x11,0x80,0xc, 0x74,
+0x4, 0xac,0xbd,0x49,0x35,0x9, 0x53,0x49,0x25,0x9, 0x51,0x7a,0x1f,0xa, 0xe, 0x12,
+0x2f,0x91,0x68,0x4, 0x4c,0xcc,0x78,0x4, 0x9f,0x66,0x80,0xc, 0x74,0x4, 0xac,0xbd,
+0x49,0xd5,0x9, 0x83,0x49,0xc5,0x9, 0x81,0x7e,0xb3,0x9, 0xfd,0x60,0x5, 0xbe,0xc0,
+0x5, 0x78,0x4, 0x9f,0x55,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0xb5,0x9, 0x5b,0x49,
+0xa5,0x9, 0x59,0x12,0x2f,0x91,0x68,0x5, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x44,0x80,
+0xc, 0x74,0x4, 0xac,0xbd,0x49,0x95,0x9, 0x8b,0x49,0x85,0x9, 0x89,0x12,0x2f,0xd,
+0x49,0x5, 0x9, 0x6d,0x7e,0x37,0x3, 0x49,0x6d,0x22,0xbf,0x1, 0x58,0x2, 0xc1,0xe8,
+0xe5,0xc, 0x12,0x2f,0x25,0x7f,0x1, 0x12,0x2c,0xb8,0xbf,0x10,0x18,0x2, 0xc1,0xe8,
+0x12,0x2f,0xd, 0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0x9, 0xfe,0xbf,0x1, 0x58,0x2, 0xc1,
+0xe8,0x12,0x2f,0xd, 0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0x2, 0xbf,0x1, 0x58,0x2,
+0xc1,0xe8,0x12,0x2f,0xd, 0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0x6, 0xbf,0x1, 0x58,
+0x2, 0xc1,0xe8,0x12,0x2f,0xd, 0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0xa, 0xbf,0x1,
+0x48,0x76,0x12,0x2f,0xd, 0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0xe, 0xbf,0x1, 0x48,
+0x67,0x12,0x2c,0xb8,0xbf,0x16,0x48,0x60,0x12,0x2c,0xb8,0xbf,0x15,0x48,0x59,0x12,
+0x2c,0xb8,0xbf,0x14,0x48,0x52,0x7c,0x1e,0x2e,0x10,0x16,0x7c,0xbd,0xa5,0xf7,0xa,
+0x3d,0x12,0x2f,0x3a,0xa, 0x3e,0x19,0xb3,0x0, 0x76,0xb, 0xe0,0x7e,0x30,0x4, 0xac,
+0x3d,0x2e,0x14,0x9, 0x6d,0x12,0x4a,0x7e,0xb, 0x1c,0x12,0x17,0xd4,0xbe,0xe1,0xe,
+0x40,0x26,0x7e,0xe1,0xe, 0xbe,0xe0,0x2, 0x78,0x27,0x7e,0x73,0x0, 0x76,0xbe,0x70,
+0xf, 0x38,0x9, 0x7e,0x73,0x0, 0x77,0xbe,0x70,0xf, 0x28,0x15,0x7e,0xe0,0x1, 0x12,
+0x2f,0x35,0x7a,0xb3,0x0, 0x76,0x80,0x9, 0xb, 0xd0,0xbe,0xd0,0x24,0x50,0x2, 0xa1,
+0x2d,0x7c,0x6e,0x5e,0x60,0xf, 0x7e,0x73,0x0, 0x90,0x12,0x35,0xe2,0x7e,0x73,0x0,
+0x91,0x5e,0x70,0xf0,0x4c,0x76,0x7a,0x73,0x0, 0x91,0xda,0x3b,0x22,0x74,0x4, 0xac,
+0xbd,0x49,0x15,0x9, 0x6f,0x22,0x12,0x2f,0x99,0xe5,0x1b,0xa, 0x1b,0x6d,0x0, 0x12,
+0x2f,0x2b,0x2, 0x29,0x59,0xa, 0x1b,0x6d,0x0, 0x7f,0x17,0x12,0x3, 0xec,0x7e,0x8,
+0x0, 0x64,0x2, 0x4, 0x59,0x7a,0xf1,0x16,0xa, 0x3f,0x2e,0x34,0x0, 0x46,0x7a,0x71,
+0x82,0x7a,0x61,0x83,0xe4,0x93,0x22,0x12,0x4, 0x8, 0x2e,0x18,0x0, 0x20,0x22,0x7e,
+0x8, 0x0, 0x4, 0x7e,0x1d,0x2a,0x22,0x12,0x2b,0x2c,0x7a,0x1f,0xa, 0x15,0x4c,0xee,
+0x22,0x9f,0x11,0x7a,0x1f,0xa, 0x5, 0x7a,0x1f,0xa, 0x9, 0x22,0x6d,0x0, 0x7e,0x6f,
+0xa, 0xd, 0x7f,0x16,0x12,0x3, 0xec,0x2f,0x41,0x22,0x7e,0x14,0x0, 0x3, 0x7e,0x1d,
+0x2a,0x12,0x3, 0xfd,0x7e,0x8, 0x0, 0x4, 0x22,0x7f,0x13,0x12,0x3, 0xec,0x7f,0x7,
+0x22,0x7e,0xb3,0x9, 0xfd,0xbe,0xb0,0x5, 0x22,0x7d,0xf3,0x49,0x3f,0x0, 0x2, 0xb,
+0xf8,0x20,0x22,0x7e,0x14,0x0, 0x3, 0x7f,0x13,0x12,0x3, 0xfd,0x7e,0x8, 0x0, 0x8,
+0x22,0x7f,0x13,0x7f,0x6, 0x12,0x3, 0xec,0x7f,0x7, 0x12,0x4, 0x59,0x7f,0x1, 0x22,
+0x6d,0x0, 0x1b,0xc, 0x7e,0x5f,0xa, 0x5, 0x7f,0x15,0x12,0x3, 0xec,0x7f,0x41,0x22,
+0x6d,0x0, 0xb, 0xc, 0x7e,0x7f,0xa, 0x9, 0x7f,0x17,0x12,0x3, 0xec,0x2f,0x14,0x7a,
+0x1f,0x9, 0xfd,0x7f,0x6, 0x2f,0x5, 0x2f,0x7, 0x7a,0xf, 0xa, 0x1, 0x22,0x7a,0x1f,
+0xa, 0x5, 0x7e,0x1f,0xa, 0x9, 0x22,0xca,0x3b,0x7e,0x38,0x75,0x30,0x75,0x28,0x0,
+0x7e,0x34,0xc, 0xf8,0x7e,0x24,0x0, 0x18,0xe4,0x12,0x4, 0xeb,0x7e,0x34,0x0, 0x41,
+0x7e,0x24,0x0, 0x6, 0xe4,0x12,0x4, 0xeb,0x7e,0xb3,0x6, 0xd7,0x30,0xe1,0x7, 0x7e,
+0xb3,0x6, 0x67,0x30,0xe2,0x5, 0x75,0x27,0x1, 0x80,0x3, 0x75,0x27,0x2, 0x75,0x22,
+0x1, 0x21,0x1b,0x9f,0x11,0x7a,0x1f,0x9, 0xfd,0x75,0x23,0x0, 0x1, 0xd2,0x12,0x31,
+0xff,0x7e,0xb3,0x6, 0xd7,0x30,0xe1,0x42,0x30,0xe0,0x3f,0x7e,0x11,0x24,0x74,0x4,
+0xac,0x1b,0x12,0x32,0x2f,0x7e,0xa1,0x24,0x12,0x32,0x23,0x7a,0x1f,0xa, 0x5, 0xbe,
+0x1c,0xfc,0xe0,0x58,0x5, 0x12,0x32,0xa, 0x80,0x6f,0x7e,0x73,0x6, 0xc6,0xbe,0x71,
+0x24,0x28,0x17,0x7e,0xf, 0xa, 0x5, 0x7e,0x1f,0x9, 0xfd,0xbf,0x10,0x58,0xb, 0x7e,
+0x1f,0xa, 0x5, 0x7a,0x1f,0x9, 0xfd,0x85,0x24,0x25,0x7e,0x91,0x24,0x74,0x4, 0xac,
+0x9b,0x7e,0xa1,0x22,0x74,0x58,0xa4,0x2d,0x54,0x49,0x15,0x0, 0x50,0x49,0x5, 0x0,
+0x4e,0x49,0x35,0x0, 0xa8,0x49,0x25,0x0, 0xa6,0x9f,0x10,0x12,0x4, 0xdb,0x7a,0x1f,
+0xa, 0x1, 0x7e,0xa1,0x22,0x74,0x4, 0xa4,0x49,0x15,0xc, 0xfa,0x49,0x5, 0xc, 0xf8,
+0xbf,0x10,0x8, 0xc, 0x7e,0x1f,0xa, 0x1, 0x59,0x35,0xc, 0xfa,0x59,0x25,0xc, 0xf8,
+0x5, 0x23,0x12,0x32,0x1b,0x28,0x2, 0x1, 0x3e,0x7e,0x7f,0x9, 0xfd,0xbe,0x78,0x2,
+0x58,0x8, 0x36,0x7e,0x73,0x6, 0xc6,0xbe,0x71,0x25,0x28,0x2d,0xe5,0x25,0xa, 0x3b,
+0x2e,0x34,0x0, 0xb, 0x7e,0x24,0x0, 0x16,0x12,0x3, 0xba,0x7c,0xa5,0x7a,0xa1,0x26,
+0x7e,0x10,0x4, 0xac,0x1a,0x12,0x32,0x2f,0x12,0x32,0x23,0x7e,0x14,0x0, 0x5, 0x12,
+0x3, 0xfd,0xbf,0x71,0x8, 0x3, 0x12,0x32,0xa, 0x5, 0x22,0x7e,0x31,0x27,0x74,0x3,
+0xac,0x3b,0xe5,0x22,0xa, 0xb, 0xbd,0x1, 0x58,0x2, 0x1, 0x33,0x75,0x22,0x1, 0x80,
+0x23,0x7e,0x11,0x22,0x2e,0x10,0x41,0xa5,0xe7,0x70,0x17,0x7e,0xa1,0x22,0x74,0x4,
+0xa4,0x49,0x35,0xc, 0xfa,0x49,0x25,0xc, 0xf8,0xbf,0x13,0x58,0x5, 0x7f,0x31,0x85,
+0x22,0x28,0x5, 0x22,0xe5,0x22,0xa, 0xb, 0xbd,0x1, 0x48,0xd5,0x7e,0x51,0x28,0x74,
+0x58,0xac,0x5b,0x2e,0x24,0x0, 0xa6,0x7e,0x34,0x3, 0x5c,0x7e,0x14,0x0, 0x58,0x12,
+0x4, 0xae,0x7e,0xb3,0x6, 0xd7,0x30,0xe1,0x4c,0x75,0x23,0x0, 0x80,0x42,0x12,0x31,
+0xff,0x7e,0xb3,0x6, 0xd7,0x30,0xe0,0x36,0x7e,0x11,0x24,0x74,0x2, 0xac,0x1b,0x49,
+0xf0,0x5, 0x90,0x7d,0x3f,0x1a,0x36,0x1a,0xe6,0x7e,0x31,0x24,0x74,0x4, 0xac,0x3b,
+0x12,0x28,0x5d,0x7f,0x21,0x9f,0x27,0x59,0x51,0x4, 0x16,0x59,0x41,0x4, 0x14,0x49,
+0x50,0x5, 0x34,0x6d,0x44,0x2e,0x14,0x3, 0x5c,0x9f,0x12,0x12,0x17,0xd4,0x5, 0x23,
+0x12,0x32,0x1b,0x38,0xb9,0x12,0x17,0xcd,0x30,0xe1,0x31,0x75,0x23,0x0, 0x80,0x23,
+0x12,0x31,0xff,0x7c,0xba,0x30,0xe0,0x19,0x7e,0x71,0x24,0x74,0x4, 0xac,0x7b,0x12,
+0x1e,0xee,0x7e,0x37,0x5, 0xee,0x1a,0x26,0x1a,0x24,0xbf,0x10,0x8, 0x3, 0x12,0x32,
+0x14,0x5, 0x23,0x7e,0xb3,0x6, 0xc8,0xbe,0xb1,0x23,0x38,0xd4,0xda,0x3b,0x22,0xe5,
+0x23,0xa, 0x3b,0x9, 0xb3,0x6, 0x96,0xf5,0x24,0x22,0x7e,0x11,0x22,0x2e,0x10,0x41,
+0x74,0x1, 0xa5,0xf7,0x74,0x3c,0x7a,0xb3,0xd, 0x3c,0x22,0x7e,0x73,0x6, 0xc8,0xbe,
+0x71,0x23,0x22,0x74,0x2, 0xa4,0x49,0x15,0x5, 0x34,0x6d,0x0, 0x9f,0x10,0x22,0x7e,
+0x31,0x22,0x74,0x58,0xac,0x3b,0x2d,0x10,0x49,0x31,0x0, 0xa8,0x49,0x21,0x0, 0xa6,
+0x22,0x7c,0xab,0x6c,0x22,0x6c,0x11,0x7c,0x1, 0x2e,0x0, 0x47,0xa5,0xe6,0xbc,0xb3,
+0x78,0x5, 0x7e,0x20,0x1, 0x80,0x7, 0xb, 0x10,0xbe,0x10,0x1, 0x40,0xe9,0x12,0x32,
+0xd1,0x38,0x11,0xa, 0x4b,0x7e,0x4, 0x0, 0x3, 0x9d,0x4, 0x7c,0xb1,0x60,0x5, 0x2f,
+0x11,0x14,0x78,0xfb,0x7e,0xb3,0x6, 0xd7,0x30,0xe0,0x24,0x7e,0x10,0x2, 0xac,0x13,
+0x49,0xf0,0x5, 0x34,0x7d,0xf, 0x1a,0x0, 0x1a,0xe0,0x7f,0x61,0x9f,0x67,0x7e,0xf7,
+0x5, 0xee,0x7d,0xf, 0x1a,0x0, 0x1a,0xe0,0xbf,0x76,0x8, 0x3, 0x12,0x32,0x14,0x4c,
+0xaa,0x78,0x6, 0x74,0x4, 0xac,0xb3,0x80,0x10,0x4c,0x22,0x68,0x7, 0x12,0x32,0xc2,
+0x8, 0xf, 0x80,0x5, 0x12,0x32,0xc2,0x58,0x8, 0x59,0x35,0x3, 0x5e,0x59,0x25,0x3,
+0x5c,0x22,0x74,0x4, 0xac,0xb3,0x49,0xf5,0x3, 0x5e,0x49,0xe5,0x3, 0x5c,0xbf,0x17,
+0x22,0x7e,0xb3,0x6, 0xd6,0xbe,0xb0,0x2, 0x22,0x12,0x37,0x6b,0xa5,0xbe,0x1, 0x14,
+0x7e,0xa3,0xd, 0x12,0xbe,0xa0,0xfa,0x50,0x2c,0x7e,0xb3,0xd, 0x10,0x70,0x26,0x7c,
+0xba,0x4, 0x80,0x1d,0xbe,0x60,0x2, 0x40,0x3, 0xe4,0x80,0x15,0x7e,0x53,0xd, 0x12,
+0xbe,0x50,0x4, 0x50,0xb, 0xbe,0x50,0x0, 0x28,0x6, 0x74,0x3, 0x7a,0xb3,0xd, 0x10,
+0xe4,0x7a,0xb3,0xd, 0x12,0x7e,0xa3,0xd, 0x10,0x4c,0xaa,0x68,0x20,0x4c,0x66,0x68,
+0x8, 0x7c,0xb7,0x12,0x33,0x42,0xe4,0x80,0x10,0x7c,0xb7,0xc4,0x54,0xf, 0xb4,0x1,
+0x5, 0x7c,0xb7,0x12,0x35,0xf0,0x7c,0xba,0x14,0x7a,0xb3,0xd, 0x10,0x22,0x7e,0xb3,
+0x0, 0x90,0x54,0xf0,0x7a,0xb3,0x0, 0x90,0x22,0xca,0x3b,0x12,0x37,0x32,0x78,0x4,
+0x6c,0xff,0x80,0x3, 0x7e,0xf0,0x2, 0x12,0x35,0x5b,0x78,0x1d,0x7c,0xba,0x54,0xf,
+0xbe,0xb0,0x2, 0x40,0x14,0x5, 0x4d,0xe5,0x4d,0xbc,0xbf,0x38,0x5, 0x7c,0xba,0x12,
+0x33,0x42,0xe4,0x7a,0xb3,0xb, 0x37,0x80,0x3, 0x75,0x4d,0x0, 0x12,0x35,0x5b,0x78,
+0x8, 0x5e,0xa0,0xf, 0xbe,0xa0,0x1, 0x28,0x11,0xe4,0x7a,0xb3,0xb, 0x37,0x6d,0x33,
+0x7a,0x37,0xb, 0x4f,0x7a,0x37,0xb, 0x51,0xa1,0x4a,0x7e,0xb3,0xb, 0xb3,0xbe,0xb0,
+0x1, 0x78,0x2, 0xa1,0x4a,0x4c,0xaa,0x78,0x2, 0xa1,0x18,0x7e,0xe3,0xb, 0x37,0xbe,
+0xe0,0x2, 0x28,0x2, 0x81,0xf0,0x7c,0xbe,0x4, 0x7a,0xb3,0xb, 0x37,0x7e,0xa3,0xb,
+0x37,0xbe,0xa0,0x1, 0x78,0x33,0x7e,0x37,0x0, 0x7a,0x7a,0x37,0xb, 0x41,0x7e,0x37,
+0x0, 0x7c,0x7a,0x37,0xb, 0x43,0x7e,0x1f,0xb, 0x41,0x7a,0x1f,0xb, 0x45,0x7e,0x1f,
+0xb, 0x41,0x7a,0x1f,0xb, 0x49,0x6d,0x33,0x7a,0x37,0xb, 0x4d,0x7a,0x37,0xb, 0x4f,
+0x7a,0x37,0xb, 0x51,0x12,0x33,0x3e,0xa1,0x43,0xbe,0xa0,0x2, 0x40,0x18,0x7e,0x37,
+0x0, 0x7a,0x2e,0x37,0xb, 0x4f,0x7a,0x37,0xb, 0x4f,0x7e,0x37,0x0, 0x7c,0x2e,0x37,
+0xb, 0x51,0x7a,0x37,0xb, 0x51,0x7e,0x37,0xb, 0x41,0x12,0x35,0x54,0x7d,0x63,0x7e,
+0x37,0xb, 0x43,0x12,0x35,0x4d,0x7a,0x35,0x22,0x7e,0x37,0xb, 0x45,0x12,0x35,0x54,
+0x7a,0x35,0x24,0x7e,0x37,0xb, 0x47,0x12,0x35,0x4d,0x7d,0x23,0x7e,0x35,0x22,0x2d,
+0x36,0xbe,0x34,0x0, 0xf, 0x50,0x18,0xbe,0x64,0x0, 0x7, 0x50,0x12,0x2e,0x25,0x24,
+0xbe,0x24,0x0, 0x1e,0x50,0x9, 0x7e,0x25,0x24,0xbe,0x24,0x0, 0xf, 0x40,0x53,0x7e,
+0x53,0xb, 0x37,0xbc,0x5f,0x28,0x4b,0xe4,0x7a,0xb3,0xb, 0x37,0xbe,0x34,0x0, 0x8,
+0x38,0x2, 0xa1,0x43,0x7e,0x37,0xb, 0x45,0xbe,0x34,0x0, 0x28,0x40,0x6, 0xbe,0x34,
+0x1, 0x66,0x28,0x24,0x7e,0x27,0xb, 0x47,0xbe,0x24,0x0, 0x28,0x28,0x1a,0xbe,0x24,
+0x1, 0x66,0x50,0x14,0x7a,0x37,0x0, 0x7a,0x7e,0x27,0x0, 0x7c,0x2e,0x27,0xb, 0x47,
+0x1e,0x24,0x7a,0x27,0x0, 0x7c,0xa1,0x43,0x7a,0x37,0x0, 0x7a,0x7e,0x37,0xb, 0x47,
+0x80,0x60,0x7e,0x27,0x0, 0x7a,0x7a,0x27,0xb, 0x41,0x7e,0x37,0x0, 0x7c,0x7a,0x37,
+0xb, 0x43,0x7e,0xa3,0x0, 0x76,0x74,0x4, 0xa4,0x12,0x37,0x7b,0x7e,0xf7,0xb, 0x4d,
+0x6d,0xee,0xbf,0x70,0x58,0xc, 0x7a,0x17,0xb, 0x4d,0x7a,0x27,0xb, 0x49,0x7a,0x37,
+0xb, 0x4b,0x7e,0x73,0x0, 0x90,0x7c,0xb7,0xc4,0x7c,0x6b,0x12,0x35,0xdf,0x80,0x53,
+0xa, 0x2e,0xb, 0x24,0x1b,0x25,0x7e,0x17,0xb, 0x4f,0x8d,0x12,0x7a,0x17,0xb, 0x41,
+0x7e,0x37,0xb, 0x51,0x8d,0x32,0x7a,0x37,0xb, 0x43,0x7e,0x27,0xb, 0x41,0x7a,0x27,
+0x0, 0x7a,0x7a,0x37,0x0, 0x7c,0x80,0x2b,0x7e,0x73,0xb, 0x37,0xbc,0x7f,0x28,0x1b,
+0x7e,0x37,0xb, 0x49,0x7a,0x37,0x0, 0x7a,0x7e,0x37,0xb, 0x4b,0x7a,0x37,0x0, 0x7c,
+0x12,0x35,0xec,0x74,0x1, 0x7a,0xb3,0xb, 0x38,0x80,0x3, 0x12,0x33,0x3e,0xe4,0x7a,
+0xb3,0xb, 0x37,0x12,0xe, 0xaf,0x78,0x2, 0xf5,0x9, 0xda,0x3b,0x22,0x9e,0x37,0x0,
+0x7c,0x2, 0x0, 0x2e,0x9e,0x37,0x0, 0x7a,0x2, 0x0, 0x2e,0x7e,0xa3,0x0, 0x90,0x7c,
+0xba,0xc4,0x54,0xf, 0x22,0xca,0x79,0x9f,0x11,0x7a,0x1f,0x9, 0xfd,0x7e,0xa3,0x0,
+0x90,0x7c,0xba,0x54,0xf, 0xb4,0x1, 0x64,0x7e,0x1f,0x0, 0xa2,0x7a,0x1f,0x9, 0xfd,
+0x7c,0xba,0xc4,0x54,0xf, 0x78,0x6, 0x7e,0x1f,0x9, 0xfd,0x80,0x34,0x7e,0x37,0xb,
+0x3b,0x12,0x35,0x4d,0x7d,0x73,0x7e,0x37,0xb, 0x39,0x12,0x35,0x54,0x2d,0x37,0xbe,
+0x34,0x0, 0xf, 0x58,0x20,0x7e,0x1f,0xb, 0x3d,0x7f,0x1, 0x1e,0x14,0x1e,0x4, 0x50,
+0x3, 0x4e,0x20,0x80,0x7e,0x1f,0x9, 0xfd,0xbf,0x10,0x50,0x5, 0x12,0x33,0x3e,0x80,
+0x4, 0x7a,0x1f,0xb, 0x3d,0x7e,0x37,0x0, 0x7a,0x7a,0x37,0xb, 0x39,0x7e,0x37,0x0,
+0x7c,0x7a,0x37,0xb, 0x3b,0x12,0xe, 0xaf,0x78,0x2, 0xf5,0x9, 0xda,0x79,0x22,0x5e,
+0x60,0xf, 0x5e,0x70,0xf0,0x4c,0x76,0x7a,0x73,0x0, 0x90,0x22,0x7e,0xb3,0x0, 0x90,
+0x54,0xf0,0x44,0x1, 0x7a,0xb3,0x0, 0x90,0x22,0x6c,0xaa,0x7e,0x90,0x5, 0xac,0x9a,
+0x9, 0xb4,0x2, 0xba,0xbe,0xb0,0xff,0x68,0xa, 0x49,0x34,0x2, 0xb8,0xbe,0x34,0x1,
+0x8d,0x50,0x33,0xb, 0xa0,0xbe,0xa0,0x2, 0x40,0xe1,0x12,0x37,0x29,0x78,0x21,0x7c,
+0xb7,0xc4,0x7c,0x6b,0x5e,0x60,0xf, 0xbe,0x60,0x0, 0x28,0x14,0xe5,0x4c,0xbe,0xb0,
+0x1, 0x50,0x9, 0x12,0x35,0xe2,0x75,0x12,0x1, 0x5, 0x4c,0x22,0x75,0x4c,0x0, 0x22,
+0x75,0x4c,0x0, 0x75,0x12,0x0, 0x22,0x75,0x27,0xa, 0x75,0x28,0x5, 0x7e,0x18,0x3,
+0xe8,0x7e,0x8, 0x27,0x10,0x74,0xc, 0x12,0x36,0xa9,0x70,0x13,0x75,0x27,0xa, 0x75,
+0x28,0x4, 0x7e,0x18,0x3, 0xe8,0x7e,0x8, 0x27,0x10,0x74,0xa, 0x12,0x36,0xa9,0x60,
+0x13,0x7e,0xb3,0x6, 0x67,0x44,0x2, 0x7a,0xb3,0x6, 0x67,0x12,0x33,0x3e,0xe4,0x7a,
+0xb3,0xd, 0x11,0x22,0x7e,0xa3,0x6, 0x67,0x7c,0xba,0x30,0xe1,0x1b,0x7e,0xb3,0xd,
+0x11,0x4, 0x7a,0xb3,0xd, 0x11,0xbe,0xb0,0x14,0x40,0xd, 0xe4,0x7a,0xb3,0xd, 0x11,
+0x7c,0xba,0x54,0xfd,0x7a,0xb3,0x6, 0x67,0x22,0xca,0x3b,0xf5,0x26,0x7a,0xd, 0x22,
+0x7f,0x31,0x75,0x29,0x0, 0x75,0x2a,0x0, 0x7e,0x34,0x9, 0xfd,0x7e,0x24,0x0, 0x90,
+0xe4,0x12,0x4, 0xeb,0x6c,0xaa,0x12,0x28,0x58,0xbf,0x13,0x8, 0x11,0x7e,0x31,0x29,
+0x74,0x4, 0xac,0x3b,0x59,0x31,0x9, 0xff,0x59,0x21,0x9, 0xfd,0x5, 0x29,0xb, 0xa0,
+0xbe,0xa0,0x16,0x78,0xe1,0xe5,0x26,0xbe,0xb1,0x29,0x38,0x38,0x7e,0xd, 0x22,0x7e,
+0x1f,0x5, 0x28,0xbf,0x10,0x58,0x2d,0x7e,0x34,0x9, 0xfd,0xe5,0x26,0xa, 0x2b,0x12,
+0x38,0xc, 0x7e,0xa1,0x27,0x74,0x4, 0xa4,0x49,0x35,0x9, 0xff,0x49,0x25,0x9, 0xfd,
+0xe5,0x28,0xa, 0x1b,0x6d,0x0, 0x12,0x3, 0xec,0x7e,0xf, 0x9, 0xfd,0xbf,0x10,0x8,
+0x3, 0x75,0x2a,0x1, 0xe5,0x2a,0xda,0x3b,0x22,0x7e,0x73,0x0, 0x90,0x7c,0xb7,0x54,
+0xf, 0x22,0x7e,0x37,0x0, 0x92,0xbe,0x34,0x0, 0x1, 0x22,0x12,0x37,0x32,0x78,0x1b,
+0x7e,0xb3,0x6, 0x67,0x20,0xe5,0x14,0x7e,0xb3,0x6, 0xcb,0x20,0xe0,0xd, 0x12,0x37,
+0x5c,0x7e,0xb3,0x6, 0xcb,0x44,0x1, 0x7a,0xb3,0x6, 0xcb,0x22,0xa9,0xc0,0xca,0x6d,
+0x22,0x12,0x37,0x84,0x5e,0x60,0x7f,0x1b,0x28,0x30,0x22,0x7e,0x73,0x0, 0x90,0x7c,
+0x67,0x5e,0x60,0xf, 0x22,0x6d,0xee,0x74,0x4, 0xac,0xbf,0x49,0x15,0x3, 0x5e,0x49,
+0x5, 0x3, 0x5c,0x22,0x7e,0x34,0x13,0x14,0x1b,0x38,0x20,0x7e,0x24,0x12,0x4, 0xb,
+0x28,0x30,0x22,0x7e,0xb3,0x6, 0xcb,0x30,0xe0,0x16,0xa9,0xd0,0xca,0x7e,0x24,0x0,
+0x3f,0x12,0x37,0x84,0x4e,0x60,0x80,0x1b,0x28,0x30,0x54,0xfe,0x7a,0xb3,0x6, 0xcb,
+0x22,0xc2,0xab,0x12,0x37,0x3b,0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xd5,0xc9,0xd2,0xaf,
+0xa9,0xd0,0xcd,0xd2,0xc8,0xd2,0xa8,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd7,0x9e,0xd2,
+0xaf,0x74,0x1, 0x12,0x4e,0x25,0x74,0x2, 0x12,0xf, 0xcd,0x12,0x37,0xf7,0xc2,0xa8,
+0xa9,0xc0,0xcd,0xc2,0xc8,0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xc5,0xc9,0xd2,0xaf,0xd2,
+0xab,0x12,0x4e,0xd, 0x2, 0x37,0x93,0x43,0xc8,0xc9,0x43,0xcb,0x8e,0x22,0xbd,0x32,
+0x58,0x3, 0x7d,0x32,0x22,0xbd,0x31,0x8, 0x2, 0x7d,0x31,0x22,0x6d,0x11,0x80,0x48,
+0x6d,0x0, 0x80,0x38,0x7d,0xf0,0x3e,0xf4,0x3e,0xf4,0x7d,0xef,0x2d,0xe3,0x49,0xde,
+0x0, 0x6, 0x49,0xce,0x0, 0x4, 0x49,0x5e,0x0, 0x2, 0xb, 0xe8,0x40,0xbf,0x26,0x58,
+0x19,0x49,0xde,0x0, 0x6, 0x49,0xce,0x0, 0x4, 0x59,0xde,0x0, 0x2, 0x1b,0xe8,0xc0,
+0x2d,0xf3,0x59,0x5f,0x0, 0x6, 0x59,0x4f,0x0, 0x4, 0xb, 0x4, 0x7d,0xf2,0x1b,0xf4,
+0x9d,0xf1,0xbd,0xf0,0x38,0xbe,0xb, 0x14,0xbd,0x21,0x38,0xb4,0x22,0x75,0x39,0x3,
+0x75,0x3f,0x0, 0x22,0xca,0xf8,0x12,0x38,0xe6,0x12,0x38,0xf5,0x12,0x38,0x5d,0x75,
+0x39,0x3, 0x75,0x37,0x40,0x12,0x38,0xe6,0xe5,0x39,0xb4,0x3, 0x60,0xe5,0x3f,0x60,
+0xf4,0x12,0x38,0xfe,0x12,0x1f,0xb5,0x12,0x1f,0x3a,0x12,0x15,0xa, 0x6c,0xff,0x80,
+0x2d,0x7e,0xb3,0xb, 0x9e,0x60,0x1a,0x7e,0x50,0x2, 0xac,0x5f,0x49,0xf2,0x5, 0x34,
+0x12,0x37,0x75,0x9f,0x7, 0x7d,0x31,0x2e,0x34,0x27,0x10,0x59,0x32,0xc, 0x20,0x80,
+0xb, 0x12,0x1f,0xbc,0x74,0x2, 0xac,0xbf,0x59,0x35,0xc, 0x20,0xb, 0xf0,0x12,0x1a,
+0x60,0x38,0xce,0x75,0x3f,0x0, 0x7e,0xb3,0xc, 0xd6,0x54,0x7f,0x7a,0xb3,0xc, 0xd6,
+0xe5,0xa, 0x20,0xe0,0xa0,0x74,0x1, 0x7a,0xb3,0x3, 0x42,0x80,0x98,0xe5,0x39,0x7a,
+0xb3,0xb, 0x9f,0xda,0xf8,0x22,0x6d,0x33,0x7a,0x37,0x2, 0xd0,0x7e,0x34,0x7, 0xd0,
+0x7a,0x37,0x0, 0x74,0x22,0x7e,0x34,0x2, 0xd4,0x7a,0x37,0x6, 0xd8,0x22,0x7e,0xb3,
+0x6, 0xd7,0x44,0x2, 0x7a,0xb3,0x6, 0xd7,0x22,0xbe,0xb0,0xa, 0x50,0x8, 0x7c,0x1b,
+0x2e,0x10,0x37,0xa5,0xe7,0x22,0x2, 0x39,0x19,0xb4,0xae,0x5, 0x7e,0xb3,0x3, 0x34,
+0x22,0x24,0xf6,0xbe,0xb0,0x30,0x40,0x2, 0x41,0xcf,0x7e,0xa0,0x3, 0xa4,0x90,0x39,
+0x32,0x73,0x2, 0x39,0xc2,0x2, 0x39,0xc5,0x2, 0x39,0xc7,0x2, 0x39,0xcc,0x2, 0x39,
+0xd1,0x2, 0x39,0xd6,0x2, 0x39,0xdb,0x2, 0x39,0xe0,0x2, 0x39,0xe5,0x2, 0x39,0xea,
+0x2, 0x39,0xef,0x2, 0x39,0xf4,0x2, 0x39,0xf9,0x2, 0x3a,0xd, 0x2, 0x3a,0x12,0x2,
+0x3a,0xcf,0x2, 0x3a,0x17,0x2, 0x3a,0x1c,0x2, 0x3a,0xcf,0x2, 0x3a,0xcf,0x2, 0x3a,
+0xcf,0x2, 0x3a,0xcf,0x2, 0x3a,0xcf,0x2, 0x3a,0xcf,0x2, 0x3a,0xcf,0x2, 0x3a,0xcf,
+0x2, 0x3a,0xcf,0x2, 0x3a,0xcf,0x2, 0x3a,0xcf,0x2, 0x3a,0xcf,0x2, 0x3a,0xcf,0x2,
+0x3a,0xcf,0x2, 0x3a,0xcf,0x2, 0x3a,0xcf,0x2, 0x3a,0xcf,0x2, 0x3a,0xcf,0x2, 0x3a,
+0xcf,0x2, 0x3a,0xcf,0x2, 0x3a,0x21,0x2, 0x3a,0x26,0x2, 0x3a,0x2b,0x2, 0x3a,0x30,
+0x2, 0x3a,0x35,0x2, 0x3a,0x3a,0x2, 0x3a,0xcf,0x2, 0x3a,0x6d,0x2, 0x3a,0xcf,0x2,
+0x3a,0x9c,0x74,0x16,0x22,0xe4,0x22,0x7e,0xb3,0x3, 0x35,0x22,0x7e,0xb3,0x3, 0x38,
+0x22,0x7e,0xb3,0x3, 0x39,0x22,0x7e,0xb3,0x3, 0x3a,0x22,0x7e,0xb3,0x3, 0x3b,0x22,
+0x7e,0xb3,0x3, 0x3c,0x22,0x7e,0xb3,0x3, 0x3d,0x22,0x7e,0xb3,0x3, 0x36,0x22,0x7e,
+0xb3,0x3, 0x37,0x22,0x7e,0xb3,0x3, 0x40,0x22,0x7e,0xb3,0xc, 0xd0,0x70,0x8, 0x7e,
+0x27,0x3, 0x30,0xa, 0x54,0x80,0xa, 0x7e,0x57,0x3, 0x30,0x80,0x4, 0x7e,0x57,0x3,
+0x30,0x22,0x7e,0xb3,0x3, 0x3f,0x22,0x7e,0xb3,0x3, 0x41,0x22,0x7e,0xb3,0x6, 0xd4,
+0x22,0x7e,0xb3,0x3, 0x43,0x22,0x7e,0xb3,0x3, 0x44,0x22,0x7e,0xb3,0x3, 0x45,0x22,
+0x7e,0xb3,0x3, 0x46,0x22,0x7e,0xb3,0x3, 0x47,0x22,0x7e,0x73,0x3, 0x47,0x7c,0xb7,
+0x4, 0x7a,0xb3,0x3, 0x47,0xbe,0x70,0x5c,0x50,0x20,0xa, 0x27,0x7d,0x12,0x5e,0x14,
+0x0, 0x1, 0x68,0xb, 0x7d,0x12,0x1e,0x14,0x3e,0x14,0x49,0x51,0xc, 0x20,0x22,0x1e,
+0x24,0x3e,0x24,0x49,0x22,0xc, 0x20,0xa, 0x54,0x22,0x74,0xee,0x22,0x7e,0x73,0x3,
+0x44,0x7c,0xb7,0x4, 0x7a,0xb3,0x3, 0x44,0xbe,0x70,0x2e,0x50,0x1c,0xbe,0x70,0x16,
+0x50,0x2, 0x80,0x5, 0xbe,0x70,0x16,0x50,0xb, 0xa, 0x37,0x2e,0x34,0x4, 0xc5,0x12,
+0x2f,0x3e,0x7c,0x7b,0xb, 0x70,0x7c,0xb7,0x22,0x74,0xee,0x22,0x7e,0x73,0x3, 0x46,
+0x7c,0xb7,0x4, 0x7a,0xb3,0x3, 0x46,0xbe,0x70,0x5c,0x50,0x20,0xa, 0x27,0x7d,0x12,
+0x5e,0x14,0x0, 0x1, 0x68,0xb, 0x7d,0x12,0x1e,0x14,0x3e,0x14,0x49,0x51,0x2, 0xd4,
+0x22,0x1e,0x24,0x3e,0x24,0x49,0x22,0x2, 0xd4,0xa, 0x54,0x22,0x74,0xee,0x22,0x74,
+0xee,0x22,0xbe,0xb0,0xa, 0x50,0xa, 0x7c,0x1b,0x2e,0x10,0x37,0x7c,0xb7,0xa5,0xf7,
+0x22,0x2, 0x3a,0xe4,0xca,0x79,0x7c,0x6b,0xa5,0xbe,0xae,0x17,0x7a,0x73,0x3, 0x34,
+0x7e,0xb3,0x3, 0x34,0xb4,0x1, 0x5, 0xe4,0x7a,0xb3,0x3, 0x34,0xe4,0x7a,0xb3,0x3,
+0x42,0x81,0x2, 0xa5,0xbe,0xaf,0x5, 0x12,0x4d,0x58,0x81,0x85,0x7c,0xb6,0x24,0xf4,
+0xbe,0xb0,0x29,0x40,0x2, 0x81,0x3d,0x7e,0xa0,0x3, 0xa4,0x90,0x3b,0x1f,0x73,0x2,
+0x3b,0x9a,0x2, 0x3b,0xa0,0x2, 0x3b,0xa6,0x2, 0x3b,0xac,0x2, 0x3b,0xb2,0x2, 0x3b,
+0xb8,0x2, 0x3b,0xbe,0x2, 0x3b,0xc4,0x2, 0x3b,0xca,0x2, 0x3b,0xd0,0x2, 0x3b,0xd6,
+0x2, 0x3b,0xee,0x2, 0x3c,0x7, 0x2, 0x3c,0x7e,0x2, 0x3c,0xd, 0x2, 0x3c,0x16,0x2,
+0x3c,0x3d,0x2, 0x3c,0x3d,0x2, 0x3c,0x3d,0x2, 0x3c,0x3d,0x2, 0x3c,0x3d,0x2, 0x3c,
+0x3d,0x2, 0x3c,0x3d,0x2, 0x3c,0x3d,0x2, 0x3c,0x3d,0x2, 0x3c,0x3d,0x2, 0x3c,0x3d,
+0x2, 0x3c,0x3d,0x2, 0x3c,0x3d,0x2, 0x3c,0x3d,0x2, 0x3c,0x3d,0x2, 0x3c,0x3d,0x2,
+0x3c,0x3d,0x2, 0x3c,0x3d,0x2, 0x3c,0x3d,0x2, 0x3c,0x3d,0x2, 0x3c,0x1f,0x2, 0x3c,
+0x25,0x2, 0x3c,0x2b,0x2, 0x3c,0x31,0x2, 0x3c,0x37,0x7e,0x74,0x3, 0x35,0x80,0x7a,
+0x7e,0x74,0x3, 0x38,0x80,0x74,0x7e,0x74,0x3, 0x39,0x80,0x6e,0x7e,0x74,0x3, 0x3a,
+0x80,0x68,0x7e,0x74,0x3, 0x3b,0x80,0x62,0x7e,0x74,0x3, 0x3c,0x80,0x5c,0x7e,0x74,
+0x3, 0x3d,0x80,0x56,0x7e,0x74,0x3, 0x36,0x80,0x50,0x7e,0x74,0x3, 0x37,0x80,0x4a,
+0x7e,0x74,0x3, 0x40,0x80,0x44,0x7e,0x27,0x3, 0x30,0x6c,0x44,0x7a,0x27,0x3, 0x30,
+0x7c,0x67,0x6c,0x77,0x4e,0x37,0x3, 0x30,0x7a,0x37,0x3, 0x30,0x80,0x14,0x7e,0x27,
+0x3, 0x30,0x6c,0x55,0x7a,0x27,0x3, 0x30,0xa, 0x37,0x4e,0x37,0x3, 0x30,0x7a,0x37,
+0x3, 0x30,0x43,0xa, 0x1, 0x80,0x7e,0x7e,0x74,0x3, 0x3f,0x80,0xd, 0x7e,0x74,0x3,
+0x41,0x43,0xa, 0x4, 0x80,0x68,0x7e,0x74,0x6, 0xd4,0x43,0xa, 0x1, 0x80,0x5f,0x7a,
+0x73,0x3, 0x43,0x80,0x60,0x7a,0x73,0x3, 0x44,0x80,0x5a,0x7a,0x73,0x3, 0x45,0x80,
+0x54,0x7a,0x73,0x3, 0x46,0x80,0x4e,0x7a,0x73,0x3, 0x47,0x80,0x48,0xbe,0x60,0x39,
+0x68,0x4, 0xa5,0xbe,0x3a,0x3f,0x7e,0x63,0x3, 0x45,0x7c,0xb6,0x4, 0x7a,0xb3,0x3,
+0x45,0xa, 0x26,0x5e,0x24,0x0, 0x1, 0xa, 0x16,0x68,0x12,0x12,0x3c,0x88,0x6c,0x55,
+0x1b,0x18,0x20,0xa, 0x17,0x12,0x3c,0x94,0x43,0xa, 0x2, 0x80,0x18,0x12,0x3c,0x88,
+0x6c,0x44,0x1b,0x18,0x20,0x7c,0x27,0x6c,0x33,0x12,0x3c,0x94,0x80,0x7, 0x4d,0x77,
+0x68,0x3, 0x7a,0x79,0x70,0xda,0x79,0x22,0x1e,0x14,0x3e,0x14,0x2e,0x14,0x2, 0xd4,
+0xb, 0x18,0x20,0x22,0xa, 0x26,0x1e,0x24,0x3e,0x24,0x2e,0x24,0x2, 0xd4,0xb, 0x28,
+0x30,0x4d,0x31,0x1b,0x28,0x30,0x22,0xca,0x69,0xca,0xf8,0x7c,0xf7,0xbe,0xb0,0x80,
+0x40,0xb, 0xbe,0xb0,0xde,0x38,0x6, 0x24,0x80,0x7c,0x7f,0xa1,0x43,0x24,0x0, 0x68,
+0x2, 0xa1,0x46,0x7e,0x64,0xc, 0xd6,0x7a,0x69,0xf0,0x5e,0xf0,0x70,0x7c,0xbf,0xc4,
+0x54,0xf, 0x7c,0xfb,0xbe,0xf0,0x4, 0x78,0x15,0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x7,
+0x74,0x2, 0x7e,0x70,0x3, 0x80,0x36,0x74,0x3c,0x7e,0x70,0x3, 0x80,0x55,0x7e,0xb3,
+0xb, 0x9f,0xb4,0x3, 0x2d,0x74,0x2, 0x7e,0x70,0x1, 0x12,0x3a,0xd2,0xbe,0xf0,0x1,
+0x78,0x6, 0x74,0x2, 0x6c,0x77,0x80,0x15,0x4c,0xff,0x78,0x7, 0x74,0x2, 0x7e,0x70,
+0x1, 0x80,0xa, 0xbe,0xf0,0x3, 0x78,0x2e,0x74,0x2, 0x7e,0x70,0x4, 0x12,0x3a,0xd2,
+0x80,0x24,0xbe,0xf0,0x1, 0x78,0x6, 0x74,0x3c,0x6c,0x77,0x80,0x16,0xbe,0xf0,0x4,
+0x78,0x7, 0x74,0x3c,0x7e,0x70,0x3, 0x80,0xa, 0xbe,0xf0,0x3, 0x78,0x8, 0x74,0x3c,
+0x7e,0x70,0x4, 0x12,0x3f,0xc5,0xda,0xf8,0xda,0x69,0x22,0xca,0x79,0x7c,0x6b,0x24,
+0x0, 0x78,0x75,0x7e,0x74,0xc, 0xd6,0x7a,0x79,0x70,0x5e,0x70,0x70,0x7c,0xb7,0xc4,
+0x54,0xf, 0x7c,0x7b,0xbe,0x70,0x4, 0x68,0x47,0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x20,
+0xa5,0xbf,0x1, 0x6, 0x74,0x2, 0x6c,0x77,0x80,0x5c,0xa5,0xbf,0x0, 0x7, 0x74,0x2,
+0x7e,0x70,0x1, 0x80,0x51,0xa5,0xbf,0x3, 0x68,0x74,0x2, 0x7e,0x70,0x4, 0x80,0x46,
+0xa5,0xbf,0x1, 0x6, 0x74,0x3c,0x6c,0x77,0x80,0x29,0xa5,0xbf,0x4, 0x7, 0x74,0x3c,
+0x7e,0x70,0x3, 0x80,0x1e,0xa5,0xbf,0x3, 0x48,0x74,0x3c,0x7e,0x70,0x4, 0x80,0x13,
+0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x7, 0x74,0x2, 0x7e,0x70,0x3, 0x80,0x18,0x74,0x3c,
+0x7e,0x70,0x3, 0x12,0x3f,0xc5,0x80,0x29,0xbe,0x60,0xa, 0x50,0xe, 0x7e,0xb3,0xb,
+0x9f,0xb4,0x3, 0x1d,0x7c,0xb6,0x12,0x3a,0xd2,0x80,0x16,0xbe,0x60,0xa, 0x40,0x11,
+0xbe,0x60,0xaf,0x38,0xc, 0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x5, 0x7c,0xb6,0x12,0x3a,
+0xe4,0xda,0x79,0x22,0xca,0x79,0x20,0x90,0x2, 0xc1,0x9a,0xd2,0x8, 0x7e,0xb3,0xc,
+0xd2,0x4, 0x7a,0xb3,0xc, 0xd2,0x7e,0xf3,0xc, 0xd2,0xbe,0xf0,0x1, 0x78,0x22,0xe5,
+0x91,0x7a,0xb3,0xc, 0xd8,0x7e,0xb3,0xc, 0xd8,0xb4,0xd3,0xe, 0x74,0x1, 0x7a,0xb3,
+0xc, 0xd7,0x6d,0x33,0x7a,0x37,0xc, 0xd3,0x80,0x3c,0xe4,0x7a,0xb3,0xc, 0xd7,0x80,
+0x35,0x7e,0xb3,0xc, 0xd6,0xc4,0x7c,0xeb,0x5e,0xe0,0x7, 0x78,0x8, 0x12,0x3f,0x27,
+0x12,0x3c,0xa7,0x80,0x21,0xbe,0xe0,0x4, 0x78,0x8, 0x12,0x3f,0x27,0x12,0x3d,0x4b,
+0x80,0x14,0x7e,0xb3,0xc, 0xd6,0xc4,0x54,0x7, 0xb4,0x1, 0xa, 0x7e,0xb3,0xc, 0xd2,
+0x12,0x3f,0x29,0x12,0x4d,0x23,0x12,0x3f,0xba,0x78,0xe, 0xe4,0x12,0x3f,0x33,0xb4,
+0x10,0x2, 0x80,0x14,0x12,0x27,0x54,0x80,0x12,0xbe,0xf0,0x4, 0x78,0x5, 0x12,0x27,
+0x2b,0x80,0x8, 0xbe,0xf0,0x1, 0x78,0x3, 0x12,0x5b,0xa1,0x7e,0xb3,0xc, 0xd8,0xb4,
+0xd3,0x6, 0x7e,0xb3,0xb, 0xb6,0xf5,0x91,0xc2,0x90,0x20,0x91,0x2, 0xe1,0x24,0xc2,
+0x8, 0x7e,0xb3,0xc, 0xd0,0x4, 0x12,0x3f,0xb6,0x78,0x50,0x7e,0xb3,0xc, 0xd7,0xb4,
+0x1, 0x36,0x7e,0xa3,0x9, 0x6a,0x7e,0x70,0x4, 0xac,0x7a,0xbe,0x37,0xc, 0xd3,0x40,
+0x22,0x7e,0x37,0xc, 0xd3,0x4d,0x33,0x78,0x5, 0x7a,0xa1,0x91,0x80,0xd, 0x7d,0x23,
+0x1b,0x24,0x2e,0x27,0x6, 0xdb,0x7e,0x29,0xb0,0xf5,0x91,0xb, 0x34,0x7a,0x37,0xc,
+0xd3,0x80,0x3f,0x75,0x91,0xff,0x80,0x3a,0xe4,0x12,0x3f,0x33,0xb4,0x10,0x6, 0x7e,
+0xb3,0xc, 0xd0,0x80,0x19,0x7e,0xb3,0xc, 0xd0,0x80,0x1e,0xbe,0xf0,0x4, 0x78,0x5,
+0x12,0x27,0x2b,0x80,0x1d,0xbe,0xf0,0x1, 0x7e,0xb3,0xc, 0xd0,0x78,0xb, 0x2e,0xb3,
+0xc, 0xd8,0x12,0x0, 0x7, 0xf5,0x91,0x80,0x9, 0x2e,0xb3,0xc, 0xd8,0x12,0x3f,0x33,
+0xf5,0x91,0xc2,0x91,0xda,0x79,0x22,0x7c,0xbf,0x2e,0xb3,0xc, 0xd8,0x24,0xfe,0x7e,
+0x71,0x91,0x22,0x7c,0x7b,0xbe,0x70,0x80,0x40,0xc, 0xbe,0x70,0xde,0x38,0x7, 0xa,
+0x37,0x9, 0xb3,0xa, 0xe3,0x22,0xa5,0xbf,0x0, 0x5, 0x7e,0xb3,0xc, 0xd6,0x22,0x30,
+0x7, 0x6, 0x7e,0x24,0xc, 0xac,0x80,0x4, 0x7e,0x24,0xc, 0xbe,0x7a,0x25,0x4a,0x7c,
+0xb7,0x14,0xbe,0xb0,0xe, 0x50,0x4c,0x7e,0xa0,0x3, 0xa4,0x90,0x3f,0x6f,0x73,0x2,
+0x3f,0x99,0x2, 0x3f,0xa1,0x2, 0x3f,0xa9,0x2, 0x3f,0xa9,0x2, 0x3f,0xa9,0x2, 0x3f,
+0xa9,0x2, 0x3f,0xa9,0x2, 0x3f,0xa9,0x2, 0x3f,0xa9,0x2, 0x3f,0xa9,0x2, 0x3f,0xa9,
+0x2, 0x3f,0xa9,0x2, 0x3f,0xa9,0x2, 0x3f,0xa9,0x7e,0x35,0x4a,0x9, 0xb3,0x0, 0x4,
+0x22,0x7e,0x35,0x4a,0x9, 0xb3,0x0, 0x3, 0x22,0xa, 0x37,0x2e,0x35,0x4a,0x9, 0xb3,
+0x0, 0x2, 0x22,0x74,0xff,0x22,0x7a,0xb3,0xc, 0xd0,0x7e,0xb3,0xc, 0xd6,0xc4,0x7c,
+0xfb,0x5e,0xf0,0x7, 0x22,0xbe,0xb0,0x5e,0x38,0x2e,0xbe,0xb0,0x26,0x68,0x29,0xbe,
+0xb0,0x2f,0x68,0x24,0xbe,0xb0,0x23,0x68,0x1f,0xbe,0xb0,0x28,0x68,0x1a,0xbe,0xb0,
+0x21,0x68,0x15,0xbe,0xb0,0x22,0x68,0x10,0xa, 0x2b,0x19,0x72,0xb, 0x63,0x7e,0xb3,
+0xb, 0xc2,0x44,0x1, 0x7a,0xb3,0xb, 0xc2,0x22,0x75,0xd, 0x0, 0xc2,0x5, 0x7e,0xb3,
+0xb, 0x88,0x70,0x7, 0x7e,0xb3,0x0, 0x95,0xf5,0x1a,0x22,0x7e,0xb3,0x0, 0x97,0xf5,
+0x1a,0x22,0x7d,0xd2,0x6d,0x22,0x9e,0x18,0x0, 0xc7,0x6d,0xcc,0x7e,0x78,0x0, 0xc7,
+0x7f,0x27,0x9f,0x26,0x12,0x44,0x59,0x2e,0x28,0x0, 0xc7,0x9f,0x71,0x7f,0x17,0xbe,
+0x28,0x0, 0x0, 0x58,0x4, 0x9f,0x22,0x80,0xa, 0xbe,0x28,0x1, 0x8e,0x48,0x4, 0x7e,
+0x28,0x1, 0x8d,0xbe,0x18,0x0, 0x0, 0x58,0x4, 0x9f,0x11,0x80,0xa, 0xbe,0x18,0x1,
+0x8e,0x48,0x4, 0x7e,0x18,0x1, 0x8d,0x1b,0x18,0x50,0x7d,0x13,0x1b,0x8, 0x10,0x22,
+0xca,0xf8,0x6c,0xff,0x80,0x23,0x74,0x5, 0xac,0xbf,0x12,0x44,0x7, 0x7e,0x14,0x0,
+0x22,0x7e,0x4, 0x0, 0x24,0x12,0x40,0x12,0x7e,0x35,0x22,0x74,0x5, 0xac,0xbf,0x59,
+0x35,0x0, 0x7a,0x7e,0x35,0x24,0x12,0x44,0x4e,0x12,0x40,0x91,0x48,0xd8,0xda,0xf8,
+0x22,0x7e,0xb3,0x0, 0x90,0x54,0xf, 0xa, 0x2b,0xa, 0x3f,0xbd,0x32,0x22,0xca,0x3b,
+0xc2,0xf, 0x75,0x2c,0x0, 0x7e,0xb3,0x3, 0x5a,0xbe,0xb0,0x2, 0x68,0x7, 0x7e,0xb3,
+0x3, 0x5b,0xb4,0x2, 0x16,0x12,0x35,0x5b,0xbe,0xb0,0x1, 0x38,0xe, 0x7c,0xba,0x54,
+0xf, 0xbe,0xb0,0x1, 0x38,0x5, 0x7c,0xba,0x12,0x33,0x42,0x6c,0xff,0x7e,0xa0,0xff,
+0x7e,0x70,0x5, 0xac,0x7f,0x19,0xa3,0x0, 0x7e,0x7c,0x1f,0x2e,0x10,0x22,0x74,0xff,
+0xa5,0xf7,0x7e,0x24,0xff,0xff,0x12,0x43,0xea,0x1b,0x38,0x20,0x7c,0x1f,0x2e,0x10,
+0x24,0xe4,0xa5,0xf7,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xd2,0x7e,0xa3,0x0, 0x90,0x7c,
+0xba,0x54,0xf, 0x78,0x1f,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x18,0x6c,0xff,0x12,0x44,
+0x46,0xac,0x7f,0x59,0x43,0x3, 0x52,0x59,0x43,0x3, 0x56,0xb, 0xf0,0xbe,0xf0,0x2,
+0x78,0xec,0x61,0x85,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x33,0x6c,0xff,0x7e,0xa0,0x1,
+0x80,0x25,0x7c,0x1f,0x2e,0x10,0x24,0x7c,0xba,0x12,0x43,0xf3,0x19,0xf3,0x0, 0x7e,
+0x49,0x43,0x0, 0x7a,0x7e,0x50,0x2, 0xac,0x5f,0x59,0x42,0x3, 0x52,0x49,0x33,0x0,
+0x7c,0x59,0x32,0x3, 0x56,0xb, 0xf0,0x12,0x40,0x91,0x48,0xd6,0x61,0x85,0x6c,0xff,
+0x80,0x47,0x6c,0xee,0x74,0x2, 0xac,0xbe,0x49,0x25,0x3, 0x56,0x12,0x46,0x5, 0x7d,
+0x63,0x74,0x2, 0xac,0xbe,0x49,0x25,0x3, 0x52,0x12,0x44,0x70,0x2d,0x36,0x7a,0x35,
+0x26,0x7c,0xbf,0x3e,0xb0,0x24,0x28,0xa, 0x2b,0xb, 0x28,0x30,0xbe,0x35,0x26,0x28,
+0xf, 0x7c,0x1f,0x2e,0x10,0x22,0x7c,0xbe,0xa5,0xf7,0x7e,0x35,0x26,0x1b,0x28,0x30,
+0xb, 0xe0,0xbe,0xe0,0x2, 0x78,0xbd,0xb, 0xf0,0x12,0x40,0x91,0x48,0xb4,0x6c,0xff,
+0x41,0x4e,0xd2,0xf, 0x6c,0xee,0x80,0x2c,0xbc,0xef,0x68,0x26,0x7c,0x1e,0x12,0x43,
+0xfb,0x7c,0x1f,0x2e,0x10,0x22,0xa5,0xe7,0xbc,0xba,0x78,0x16,0x7c,0xbe,0x12,0x43,
+0xec,0xb, 0x38,0x20,0x12,0x43,0xea,0xb, 0x38,0x30,0xbd,0x32,0x40,0x4, 0xc2,0xf,
+0x80,0xd, 0xb, 0xe0,0x12,0xe, 0xaf,0xa, 0x2b,0xa, 0x3e,0xbd,0x32,0x48,0xc9,0x7c,
+0x1f,0x12,0x43,0xfb,0xa, 0x4a,0x9, 0xb4,0x3, 0x5a,0xb4,0x2, 0x4, 0xc2,0xf, 0x80,
+0x1e,0xb4,0x1, 0x1b,0x12,0x37,0x29,0xbe,0xb0,0x2, 0x40,0x11,0x7c,0xb7,0xc4,0x54,
+0xf, 0xbe,0xb0,0x2, 0x40,0x7, 0xe4,0x19,0xb4,0x3, 0x5a,0x80,0x2, 0xc2,0xf, 0x30,
+0xf, 0x2a,0xbe,0xa0,0x2, 0x50,0x25,0x7c,0x1a,0x2e,0x10,0x24,0x74,0x1, 0xa5,0xf7,
+0x7e,0x90,0x5, 0xac,0x9f,0x19,0xa4,0x0, 0x7e,0x49,0x34,0x0, 0x7a,0x74,0x2, 0xa4,
+0x59,0x35,0x3, 0x52,0x49,0x34,0x0, 0x7c,0x59,0x35,0x3, 0x56,0xb, 0xf0,0x12,0x40,
+0x91,0x58,0x2, 0x21,0xb2,0x6c,0xff,0x80,0x48,0x74,0x5, 0xac,0xbf,0x9, 0xb5,0x0,
+0x7e,0xb4,0xff,0x3b,0x6c,0xee,0x7c,0x1e,0x2e,0x10,0x24,0xa5,0xe7,0x70,0x29,0xa,
+0x3e,0x9, 0xb3,0x3, 0x5a,0x70,0x1f,0x74,0x1, 0x12,0x43,0xf3,0x49,0x23,0x0, 0x7a,
+0x74,0x2, 0xac,0xbe,0x59,0x25,0x3, 0x52,0x49,0x23,0x0, 0x7c,0x59,0x25,0x3, 0x56,
+0x19,0xe3,0x0, 0x7e,0x80,0x9, 0x5, 0x2c,0xb, 0xe0,0xbe,0xe0,0x2, 0x40,0xc7,0xb,
+0xf0,0x7e,0xa3,0x0, 0x90,0x5e,0xa0,0xf, 0xa, 0x2a,0xa, 0x3f,0xbd,0x32,0x48,0xa9,
+0xe5,0x2c,0x60,0x2a,0x4c,0xaa,0x68,0x26,0xe5,0x2c,0xa, 0x3b,0xbd,0x23,0x48,0x1e,
+0x7e,0x73,0x0, 0x7e,0xbe,0x70,0x2, 0x40,0xc, 0x7e,0x73,0x0, 0x83,0xbe,0x70,0x2,
+0x50,0x3, 0x12,0x46,0x37,0x12,0x37,0x6b,0x9e,0x61,0x2c,0x12,0x35,0xdf,0x12,0x35,
+0x5b,0xa, 0x2b,0x7c,0xba,0x54,0xf, 0xa, 0x3b,0xbd,0x32,0x58,0x71,0x6c,0xff,0x12,
+0x43,0xe2,0x70,0x5a,0x7e,0xd0,0x2, 0xac,0xdf,0x49,0x46,0x3, 0x52,0xbe,0x44,0x7f,
+0xff,0x68,0x4b,0xa, 0x2f,0x9, 0x62,0x3, 0x5a,0xbe,0x60,0x2, 0x50,0x40,0x49,0x16,
+0x3, 0x56,0xbe,0x14,0x1, 0x8e,0x50,0x36,0x9, 0xb2,0xb, 0x31,0x60,0x30,0x74,0x1,
+0xa5,0xf7,0x7e,0x73,0x0, 0x90,0x7c,0xe7,0x5e,0xe0,0xf, 0x74,0x5, 0xac,0xbe,0x59,
+0x45,0x0, 0x7a,0x59,0x15,0x0, 0x7c,0x19,0xf5,0x0, 0x7e,0x2e,0x24,0x3, 0x5a,0x7c,
+0xb6,0x4, 0x7a,0x29,0xb0,0x7c,0x67,0xb, 0x60,0x12,0x35,0xdf,0x80,0x7, 0xe4,0xa,
+0x3f,0x19,0xb3,0x3, 0x5a,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0x93,0x80,0x9, 0xe4,0x7a,
+0xb3,0x3, 0x5a,0x7a,0xb3,0x3, 0x5b,0x6c,0xff,0x12,0x43,0xe2,0x70,0x10,0x7e,0x34,
+0x7f,0xff,0x74,0x2, 0xac,0xbf,0x59,0x35,0x3, 0x52,0x59,0x35,0x3, 0x56,0xb, 0xf0,
+0xbe,0xf0,0x2, 0x78,0xe4,0x12,0x44,0x3e,0x6c,0xff,0x12,0x43,0xe2,0xb4,0x1, 0x1d,
+0xa, 0x3f,0x9, 0xb3,0x3, 0x50,0xbe,0xb0,0x3, 0x68,0x3, 0xb4,0x1, 0x7, 0xe4,0x19,
+0xb3,0x3, 0x4e,0x80,0x33,0x74,0x2, 0x19,0xb3,0x3, 0x4e,0x80,0x2b,0xa, 0x3f,0x9,
+0xb3,0x3, 0x50,0xbe,0xb0,0x2, 0x68,0x2, 0x70,0x18,0x74,0x1, 0x19,0xb3,0x3, 0x4e,
+0xbe,0xe0,0x2, 0x50,0x13,0x7c,0xae,0xb, 0xe0,0x74,0x5, 0xa4,0x19,0xf5,0x0, 0x7e,
+0x80,0x6, 0x74,0x3, 0x19,0xb3,0x3, 0x4e,0xb, 0xf0,0xbe,0xf0,0x2, 0x40,0xab,0xda,
+0x3b,0x22,0x7c,0x1f,0x2e,0x10,0x24,0xa5,0xe7,0x22,0x7c,0xbf,0x3e,0xb0,0x24,0x28,
+0xa, 0x3b,0x22,0xa5,0xf7,0x7e,0x70,0x5, 0xac,0x7f,0x22,0x2e,0x10,0x22,0xa5,0xe7,
+0x7c,0xab,0x22,0x74,0x5, 0xac,0xbe,0x49,0x35,0x0, 0x7a,0x49,0x25,0x0, 0x7c,0x22,
+0xca,0x79,0x12,0x44,0x34,0x6c,0xff,0x80,0x13,0xa, 0x3f,0x9, 0xe3,0x0, 0x76,0x7e,
+0x34,0x6, 0x15,0x7c,0xbe,0x6c,0x55,0x12,0x46,0x48,0xb, 0xf0,0x12,0x40,0x91,0x48,
+0xe8,0xda,0x79,0x22,0x74,0x1, 0x6c,0xaa,0x12,0x44,0x64,0x40,0xfb,0x22,0x7e,0xe3,
+0x0, 0x90,0x5e,0xe0,0xf, 0x22,0x7e,0x44,0x7f,0xff,0x7e,0x70,0x2, 0x22,0x74,0x5,
+0xac,0xbf,0x59,0x35,0x0, 0x7c,0xb, 0xf0,0x22,0x6e,0x34,0xff,0xff,0x6e,0x24,0xff,
+0xff,0xb, 0x1c,0x22,0xa, 0x4a,0x19,0xb4,0x6, 0x15,0xb, 0xa0,0xbe,0xa0,0x2e,0x22,
+0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7a,0x9d,0x32,0x2, 0x0, 0x2e,0xca,0x3b,0x12,
+0xe, 0xaf,0x7c,0xeb,0x78,0x30,0x6c,0xff,0x6d,0x11,0x74,0x2, 0xac,0xbf,0x59,0x15,
+0xd, 0x1d,0x7e,0xa0,0xff,0x7e,0x30,0x5, 0xac,0x3f,0x19,0xa1,0xd, 0x17,0x7e,0xb3,
+0xd, 0x28,0x70,0x3, 0xe4,0x80,0x2, 0x74,0x2, 0xa, 0x1f,0x19,0xb1,0xd, 0x26,0xb,
+0xf0,0xbe,0xf0,0x2, 0x78,0xd2,0x7e,0x17,0x0, 0x92,0xbe,0x14,0x0, 0x1, 0x78,0x2,
+0xa1,0xf9,0x6c,0xff,0xa1,0xd5,0x74,0x5, 0xac,0xbf,0x9, 0x75,0x0, 0x7e,0x7a,0x71,
+0x23,0xbe,0x70,0x2, 0x40,0x2, 0xa1,0xd3,0xe5,0x23,0xa, 0x1b,0x12,0x46,0x1a,0x78,
+0x2, 0xa1,0xd3,0x75,0x22,0x0, 0x7e,0x31,0x22,0x74,0x5, 0xac,0x3b,0x9, 0x71,0xd,
+0x17,0x7a,0x71,0x24,0xbe,0x71,0x23,0x68,0x2, 0xa1,0xc8,0x49,0x21,0xd, 0x15,0x12,
+0x46,0x5, 0x7d,0x63,0x12,0x14,0xd0,0x49,0x25,0xd, 0x13,0x12,0x44,0x70,0x7d,0x3,
+0x2d,0x6, 0xe5,0x24,0xa, 0x1b,0x9, 0xa1,0xd, 0x26,0xbe,0xa0,0x0, 0x28,0x17,0x7e,
+0x71,0x24,0x74,0x2, 0xac,0x7b,0x59,0x3, 0xd, 0x1d,0x2e,0x14,0xd, 0x26,0x7c,0xba,
+0x14,0x7a,0x19,0xb0,0xa1,0xd3,0x7e,0x31,0x24,0x74,0x2, 0xac,0x3b,0x49,0x31,0xd,
+0x1d,0xbe,0x34,0x0, 0x1e,0x28,0x8, 0xbe,0x4, 0x0, 0x1e,0x28,0x2, 0x80,0x10,0x7d,
+0x23,0x2e,0x24,0x0, 0x1e,0xbd,0x20,0x50,0x12,0xbe,0x34,0x0, 0x1e,0x28,0xc, 0x59,
+0x1, 0xd, 0x1d,0x74,0x1, 0x7a,0xb3,0xd, 0x28,0x80,0x68,0xbe,0x4, 0x0, 0x64,0x28,
+0x4b,0xe4,0x7a,0xb3,0xd, 0x28,0xe5,0x23,0xa, 0x1b,0x9, 0xb1,0x3, 0x4e,0x70,0x4,
+0x74,0x3, 0x80,0x2, 0x74,0x1, 0x19,0xb1,0x3, 0x4e,0x12,0x46,0x22,0x7e,0x14,0xd,
+0x21,0x74,0x5, 0x12,0x4, 0x8d,0xbe,0xe0,0x0, 0x28,0x21,0x1b,0xe0,0x7e,0x70,0x5,
+0xac,0x7e,0x2e,0x34,0x0, 0x7a,0x7e,0x30,0x5, 0xac,0x3f,0x12,0x45,0xfc,0x7e,0x34,
+0xd, 0x21,0x7e,0x30,0x5, 0xac,0x3e,0x12,0x45,0xfc,0x1b,0xf0,0x7e,0xa1,0x24,0x74,
+0x2, 0xa4,0x59,0x5, 0xd, 0x1d,0x80,0xb, 0x5, 0x22,0xe5,0x22,0xbe,0xb0,0x2, 0x50,
+0x2, 0x81,0xe6,0xb, 0xf0,0x12,0x37,0x29,0xa, 0x2b,0xa, 0x1f,0xbd,0x12,0x58,0x2,
+0x81,0xc6,0x7c,0x6e,0x12,0x35,0xdf,0x6c,0xff,0x12,0x46,0x12,0x2e,0x34,0x0, 0x7a,
+0x2e,0x14,0xd, 0x13,0x12,0x46,0x2c,0x78,0xf0,0xda,0x3b,0x22,0x2e,0x14,0x0, 0x7a,
+0x74,0x5, 0x2, 0x4, 0x8d,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7c,0x9d,0x32,0x2,
+0x0, 0x2e,0x7e,0x30,0x5, 0xac,0x3f,0x7d,0x31,0x22,0x9, 0xb1,0x3, 0x4e,0xbe,0xb0,
+0x1, 0x22,0x7e,0x70,0x5, 0xac,0x7f,0x2e,0x34,0x0, 0x7a,0x22,0x74,0x5, 0x12,0x4,
+0x8d,0xb, 0xf0,0xbe,0xf0,0x2, 0x22,0x7e,0x1f,0x0, 0x80,0x7e,0x33,0x0, 0x7f,0x7a,
+0x1f,0x0, 0x7b,0x7a,0x33,0x0, 0x7a,0x22,0x7d,0x13,0x4d,0x11,0x68,0xc, 0xbe,0xb0,
+0x2e,0x50,0x7, 0xa, 0x3b,0x2d,0x31,0x7a,0x39,0x50,0x22,0x6c,0xaa,0x74,0x3, 0xa,
+0x4a,0x19,0xb4,0x3, 0x50,0x19,0xb4,0x3, 0x4e,0x12,0x44,0x46,0xac,0x7a,0x59,0x43,
+0x3, 0x52,0x59,0x43,0x3, 0x56,0xb, 0xa0,0xbe,0xa0,0x2, 0x40,0xe0,0x22,0xca,0x3b,
+0x7c,0xcb,0x6c,0xaa,0xe5,0x9, 0x70,0xa, 0xe5,0x1c,0x70,0x6, 0xe5,0x11,0x70,0x2,
+0xe1,0xe8,0x20,0x7, 0x6, 0x7e,0x74,0xc, 0xac,0x80,0x4, 0x7e,0x74,0xc, 0xbe,0x6c,
+0xdd,0x7e,0x70,0xff,0xa, 0x2d,0x2d,0x27,0x7a,0x29,0x70,0xb, 0xd0,0xbe,0xd0,0x12,
+0x78,0xf2,0x74,0xaa,0x7a,0x79,0xb0,0x19,0xb7,0x0, 0x1, 0x74,0x12,0x19,0xb7,0x0,
+0x2, 0x7e,0xb3,0x2, 0xca,0x19,0xb7,0x0, 0x4, 0x6c,0x77,0x6c,0xdd,0x7e,0x10,0x5,
+0xac,0x1d,0x9, 0x60,0x2, 0xba,0xbe,0x60,0xff,0x78,0x2, 0xe1,0x71,0xa, 0x16,0x9,
+0xb1,0x3, 0x4e,0xbe,0xb0,0x3, 0x78,0x2, 0xe1,0x71,0x49,0x40,0x2, 0xb6,0x2e,0x44,
+0x0, 0x3, 0x49,0x20,0x2, 0xb8,0x2e,0x24,0x0, 0x3, 0xa, 0x8, 0x12,0x5b,0x96,0x19,
+0x60,0x0, 0x5, 0x7c,0x69,0xa, 0x7, 0x2d,0x7, 0x19,0x60,0x0, 0x6, 0xa, 0x4, 0x12,
+0x5b,0x96,0x19,0x60,0x0, 0x7, 0x7c,0x65,0xa, 0x7, 0x2d,0x7, 0x19,0x60,0x0, 0x8,
+0xe4,0xa, 0x7, 0x2d,0x7, 0x19,0xb0,0x0, 0x9, 0xa, 0x7, 0x2d,0x7, 0x19,0xb0,0x0,
+0xa, 0x12,0x5b,0xab,0xc4,0x54,0xf0,0xa, 0x7, 0x2d,0x7, 0x2e,0x4, 0x0, 0x7, 0x7e,
+0x9, 0x60,0x2c,0x6b,0x7a,0x9, 0x60,0x12,0x5b,0xab,0xbe,0xb0,0xff,0x68,0x1f,0x12,
+0x46,0x1a,0x68,0x2, 0xb, 0xa0,0x9, 0xb1,0x3, 0x4e,0x3, 0x3, 0x54,0xc0,0xa, 0x17,
+0x2d,0x17,0x2e,0x14,0x0, 0x5, 0x7e,0x19,0x60,0x2c,0x6b,0x7a,0x19,0x60,0x2e,0x70,
+0x6, 0xb, 0xd0,0xbe,0xd0,0x2, 0x68,0x2, 0xc1,0xcd,0x19,0xa7,0x0, 0x3, 0xe4,0x19,
+0xb7,0x0, 0x11,0x6c,0xdd,0xa, 0x3d,0x2d,0x37,0x7e,0x39,0x60,0x7d,0x27,0x2e,0x24,
+0x0, 0x11,0x7e,0x29,0x70,0x6c,0x76,0x7a,0x29,0x70,0xb, 0xd0,0xbe,0xd0,0x11,0x78,
+0xe4,0x30,0x7, 0x4, 0xc2,0x7, 0x80,0x2, 0xd2,0x7, 0xe5,0x1c,0x60,0x3, 0x12,0x46,
+0x5b,0x75,0x9, 0x0, 0x75,0x1c,0x0, 0x75,0x11,0x0, 0x7e,0xb3,0xb, 0xb3,0xb4,0x1,
+0x14,0x12,0x37,0x32,0x68,0x26,0xe5,0x4f,0xb4,0x1, 0xf, 0x74,0x1, 0x12,0x47,0xef,
+0x75,0x4f,0x0, 0x80,0x5, 0x74,0x1, 0x12,0x47,0xef,0x7e,0x34,0x0, 0x9, 0x12,0x4e,
+0x88,0xbe,0xc0,0x1, 0x78,0x6, 0x80,0x0, 0xe4,0x12,0x47,0xef,0xda,0x3b,0x22,0x70,
+0x3, 0xd2,0x86,0x22,0xc2,0x86,0x22,0x6c,0x77,0xa, 0x27,0x9, 0x62,0x3, 0x4e,0x19,
+0x62,0x3, 0x50,0xb, 0x70,0xbe,0x70,0x2, 0x40,0xef,0x12,0x48,0x3b,0x12,0x48,0x33,
+0x7a,0x73,0x0, 0x90,0x7e,0x73,0x0, 0x91,0x5e,0x70,0xf, 0x12,0x48,0x33,0x7a,0x73,
+0x0, 0x91,0x7e,0x1f,0x5, 0x2c,0x7a,0x1f,0x5, 0x30,0x7e,0x73,0x6, 0xe, 0x7a,0x73,
+0x6, 0xf, 0x22,0x7c,0xb7,0xc4,0x54,0xf0,0x4c,0x7b,0x22,0x7e,0x73,0x0, 0x90,0x5e,
+0x70,0xf, 0x22,0x12,0x48,0x3b,0x6c,0x66,0x80,0x2, 0xb, 0x60,0xbc,0x76,0x38,0xfa,
+0x22,0xca,0x3b,0x6c,0xaa,0x12,0x48,0x3b,0x7e,0x44,0x3, 0x5c,0x7e,0x24,0x0, 0x76,
+0x6c,0x66,0x80,0x64,0x75,0x1f,0xff,0xa, 0xf6,0x2d,0xf2,0x7e,0xf9,0x20,0x7e,0x30,
+0x4, 0xac,0x23,0x7d,0xe1,0x2d,0xe4,0x49,0x1e,0x0, 0x2, 0xb, 0xe8,0x0, 0xa, 0x76,
+0xb, 0x74,0x80,0x24,0xa, 0xef,0x2d,0xe2,0x7e,0xe9,0xe0,0x7e,0xd0,0x4, 0xac,0xde,
+0x7d,0xe6,0x2d,0xe4,0x49,0xde,0x0, 0x2, 0xb, 0xe8,0xc0,0xbf,0x6, 0x58,0x7, 0x7c,
+0xae,0x7a,0xf1,0x1f,0x7f,0x6, 0xb, 0xf0,0xbc,0x7f,0x38,0xd8,0xe5,0x1f,0xbe,0xb0,
+0xff,0x68,0x13,0x7e,0xf9,0xe0,0xe5,0x1f,0xa, 0xfb,0x2d,0xf2,0x7a,0xf9,0xe0,0xa,
+0xf6,0x2d,0xf2,0x7a,0xf9,0xa0,0xb, 0x60,0xbc,0x76,0x38,0x98,0xda,0x3b,0x22,0xca,
+0x3b,0x7e,0x48,0x75,0x30,0x7f,0x74,0x9f,0x55,0x7f,0x5, 0x6c,0x77,0x7e,0xa0,0x1,
+0x6c,0x66,0x7e,0x50,0x2, 0xac,0x56,0x49,0x72,0x5, 0x34,0x6d,0x66,0x7e,0x50,0x4,
+0xac,0x56,0x49,0xd2,0x3, 0x5e,0x49,0xc2,0x3, 0x5c,0x2f,0x63,0xbf,0x76,0x8, 0x2,
+0x7f,0x76,0xbf,0x6, 0x58,0x2, 0x7f,0x6, 0xb, 0x60,0xa5,0xbe,0x16,0xd4,0x7f,0x30,
+0x9f,0x37,0xbe,0x38,0x4, 0xb0,0x58,0x3, 0x7e,0x70,0x1, 0x7f,0x74,0x7f,0x5, 0x6c,
+0x66,0x7e,0x50,0x2, 0xac,0x56,0x49,0xd2,0x5, 0x34,0x6d,0xcc,0xbf,0x76,0x8, 0x2,
+0x7f,0x76,0xbf,0x6, 0x58,0x2, 0x7f,0x6, 0xb, 0x60,0xa5,0xbe,0x16,0xe3,0x9f,0x7,
+0xbe,0x8, 0x4, 0xb0,0x8, 0x2, 0x6c,0xaa,0x4c,0x77,0x68,0x8, 0x4c,0xaa,0x78,0x4,
+0x74,0x1, 0x80,0x1, 0xe4,0xda,0x3b,0x22,0xca,0x3b,0x7c,0xab,0x7d,0x73,0x4d,0x77,
+0x78,0x2, 0x41,0x6f,0x4d,0x22,0x78,0x2, 0x41,0x6f,0xe4,0x7a,0xb3,0x6, 0x4d,0x6c,
+0x99,0x21,0xf3,0x7e,0x70,0x4, 0xac,0x79,0x2d,0x37,0x49,0xf3,0x0, 0x2, 0xb, 0x38,
+0xe0,0xbe,0x7c,0xfc,0x18,0x58,0x5, 0xbe,0x90,0x16,0x40,0x15,0xbe,0x7c,0xf8,0x30,
+0x58,0x58,0xbe,0x90,0x16,0x40,0x53,0x7e,0xf, 0x5, 0x28,0xbe,0x8, 0x7, 0xd0,0x58,
+0x49,0xa, 0x39,0x7d,0x13,0x2e,0x14,0xa, 0xd1,0x7e,0x19,0xb0,0x4, 0x7a,0x19,0xb0,
+0x9, 0xb3,0xa, 0xd1,0xbe,0xb0,0xc, 0x28,0x38,0x7e,0x70,0x2, 0xac,0x79,0x2d,0x32,
+0xb, 0x38,0x10,0x1a,0x2, 0x1a,0x0, 0x2f,0x7, 0xbe,0x8, 0x38,0x40,0x58,0x22,0x74,
+0x1, 0x7a,0xb3,0x6, 0x4d,0x6c,0x88,0x80,0xa, 0x74,0x1, 0xa, 0x38,0x19,0xb3,0xa,
+0xe7,0xb, 0x80,0xbe,0x80,0x0, 0x40,0xf1,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa,
+0xd1,0xb, 0x90,0xbc,0xa9,0x28,0x2, 0x21,0x73,0x6c,0x99,0x80,0x6a,0x7e,0xd0,0x4,
+0xac,0xd9,0x12,0x4a,0x7a,0xbe,0x1c,0xfc,0xe0,0x58,0x21,0xa, 0x39,0x7d,0x23,0x2e,
+0x24,0xa, 0x8d,0x12,0x4a,0x72,0x9, 0x83,0xa, 0x8d,0xbe,0x80,0xf, 0x28,0x14,0x12,
+0x48,0xcf,0x60,0xf, 0x74,0x3, 0x7a,0xb3,0x6, 0x4d,0x80,0x7, 0xe4,0xa, 0x39,0x19,
+0xb3,0xa, 0x8d,0x12,0x4a,0x7a,0xbe,0x1c,0xfc,0xe0,0x58,0x22,0x7e,0xb3,0x6, 0x4d,
+0x70,0x1c,0xa, 0x39,0x7d,0x23,0x2e,0x24,0xa, 0xbb,0x12,0x4a,0x72,0x9, 0x83,0xa,
+0xbb,0xbe,0x80,0x12,0x28,0xf, 0x74,0x2, 0x7a,0xb3,0x6, 0x4d,0x80,0x7, 0xe4,0xa,
+0x39,0x19,0xb3,0xa, 0xbb,0xb, 0x90,0x7e,0x83,0x6, 0xc6,0xbc,0x89,0x38,0x8e,0xda,
+0x3b,0x22,0x7e,0x29,0xb0,0x4, 0x7a,0x29,0xb0,0x22,0x7d,0x16,0x2d,0x17,0x49,0x31,
+0x0, 0x2, 0xb, 0x18,0x20,0x22,0xe4,0x7a,0xb3,0x3, 0x34,0x74,0x1, 0x7a,0xb3,0x3,
+0x42,0x74,0x7, 0x7a,0xb3,0x3, 0x41,0x74,0xf, 0x7a,0xb3,0x3, 0x38,0x7a,0xb3,0x3,
+0x39,0x74,0x3f,0x7a,0xb3,0x3, 0x36,0x74,0x12,0x7a,0xb3,0x3, 0x3a,0x7a,0xb3,0x3,
+0x3b,0x74,0x3f,0x7a,0xb3,0x3, 0x37,0x74,0x10,0x7a,0xb3,0x3, 0x3c,0x7a,0xb3,0x3,
+0x3d,0x74,0x5, 0x7a,0xb3,0x3, 0x35,0x74,0x3, 0x7a,0xb3,0x3, 0x40,0x7a,0xb3,0x3,
+0x3f,0x22,0x74,0x12,0x7a,0xb3,0xb, 0x63,0x74,0xa0,0x7a,0xb3,0xb, 0x68,0xe4,0x7a,
+0xb3,0xb, 0x69,0x74,0x5, 0x7a,0xb3,0xb, 0x6a,0x74,0xe, 0x7a,0xb3,0xb, 0x6b,0x74,
+0x5a,0x7a,0xb3,0xb, 0x6c,0x74,0xe, 0x7a,0xb3,0xb, 0x86,0x74,0x1, 0x7a,0xb3,0xb,
+0x87,0xe4,0x7a,0xb3,0xb, 0x88,0x74,0x2, 0x7a,0xb3,0xb, 0x89,0x12,0x4b,0x9f,0x74,
+0x82,0x7a,0xb3,0xb, 0x8b,0xe4,0x7a,0xb3,0xb, 0x8c,0x74,0x2, 0x7a,0xb3,0xb, 0x92,
+0xe4,0x7a,0xb3,0xb, 0x91,0x7a,0xb3,0xb, 0x90,0x7a,0xb3,0xd, 0x3f,0x7a,0xb3,0xb,
+0xb3,0x74,0x3f,0x7a,0xb3,0xb, 0xb4,0xe4,0x7a,0xb3,0xb, 0x93,0x7a,0xb3,0xb, 0x9e,
+0x7a,0xb3,0xb, 0x79,0x7e,0x34,0x4, 0xb0,0x7a,0x37,0x3, 0x49,0x74,0x12,0x7a,0xb3,
+0x3, 0x4b,0x12,0x4b,0x90,0x12,0x4b,0x88,0x7a,0xb3,0x0, 0x94,0x74,0x7, 0x7a,0xb3,
+0x0, 0x95,0x74,0xe, 0x7a,0xb3,0x0, 0x96,0x74,0x5a,0x7a,0xb3,0x0, 0x97,0x7a,0xb3,
+0x0, 0x98,0x74,0x5, 0x7a,0xb3,0x0, 0x99,0x74,0x1, 0x7a,0xb3,0x0, 0x9a,0xe4,0x7a,
+0xb3,0x0, 0x9b,0x7a,0xb3,0x0, 0xa1,0x22,0x6d,0x33,0x7a,0x37,0x0, 0x92,0xe4,0x22,
+0x7e,0x34,0xa, 0x0, 0x7a,0x37,0x0, 0x9e,0x74,0xa0,0x7a,0xb3,0x0, 0xa0,0x22,0x74,
+0x1, 0x7a,0xb3,0xb, 0x9f,0x22,0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,
+0xca,0x1b,0xca,0xb, 0xc0,0xd0,0xc0,0x83,0xc0,0x82,0x7e,0x35,0x1d,0xb, 0x34,0x7a,
+0x35,0x1d,0x7e,0x4, 0x0, 0xa, 0x7d,0x13,0x8d,0x10,0x4d,0x0, 0x78,0x38,0x7e,0xb3,
+0x9, 0x6b,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0x9, 0x6b,0x7e,0xb3,0xd, 0x2c,
+0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x2c,0x7e,0xb3,0xd, 0x35,0xbe,0xb0,
+0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x35,0x7e,0xb3,0xd, 0x2b,0xbe,0xb0,0x0, 0x28,
+0x5, 0x14,0x7a,0xb3,0xd, 0x2b,0x7e,0xb3,0x6, 0xda,0x60,0x5, 0x14,0x7a,0xb3,0x6,
+0xda,0xbe,0x34,0x3, 0xe8,0x40,0xe, 0x6d,0x33,0x7a,0x35,0x1d,0xe5,0xb, 0xbe,0xb0,
+0x64,0x50,0x2, 0x5, 0xb, 0x7e,0x37,0x2, 0xd0,0xb, 0x34,0x7a,0x37,0x2, 0xd0,0x7e,
+0x37,0x0, 0x74,0xbe,0x37,0x2, 0xd0,0x28,0x3, 0x12,0x0, 0x17,0x7e,0xb3,0xb, 0x9f,
+0xb4,0xaa,0x15,0x7e,0x37,0x0, 0x9c,0x7d,0x23,0xb, 0x24,0x7a,0x27,0x0, 0x9c,0xbe,
+0x34,0x1, 0x2c,0x28,0x3, 0x12,0x4b,0x9f,0xe5,0x1a,0xbe,0xb1,0xd, 0x28,0x4, 0x5,
+0xd, 0x80,0x2, 0xd2,0x5, 0x7e,0xb3,0xc, 0xd1,0x60,0xf, 0xbe,0xb0,0x28,0x50,0x7,
+0x4, 0x7a,0xb3,0xc, 0xd1,0x80,0x3, 0x12,0x26,0xaf,0xd0,0x82,0xd0,0x83,0xd0,0xd0,
+0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,0x7b,0x32,0xe5,
+0x9a,0x60,0x5, 0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,
+0x4b,0xca,0x2b,0xca,0x1b,0xca,0xb, 0xc0,0xd0,0xc0,0x83,0xc0,0x82,0x12,0x4c,0x8f,
+0x7e,0xb3,0xc, 0xd6,0x54,0xfd,0x7a,0xb3,0xc, 0xd6,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,
+0xd4,0x9e,0xd2,0xaf,0xc2,0x95,0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,0x4c,0xe4,0xd0,
+0x82,0xd0,0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x4b,0xda,0x5b,0xda,
+0x6b,0xda,0x7b,0x32,0xa9,0xd5,0xea,0xa9,0xc4,0xcb,0x75,0xa6,0x0, 0xa9,0xc1,0xcd,
+0x22,0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,0xca,0x1b,0xca,0xb, 0xc0,
+0xd0,0xc0,0x83,0xc0,0x82,0x12,0x3d,0xf4,0x74,0x1, 0x7a,0xb3,0xc, 0xd1,0xd0,0x82,
+0xd0,0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,
+0xda,0x7b,0x32,0x7c,0xa7,0x24,0x0, 0x78,0x7, 0x7e,0x34,0xc, 0xd6,0x7a,0x39,0xa0,
+0x22,0xca,0xb8,0xa9,0xc0,0x93,0xe4,0x7a,0xb3,0xc, 0xd0,0x7a,0xb3,0xc, 0xd2,0xda,
+0xb8,0x32,0x6c,0xaa,0x74,0xff,0xa, 0x4a,0x19,0xb4,0xc, 0xac,0x19,0xb4,0xc, 0xbe,
+0xb, 0xa0,0xbe,0xa0,0x12,0x40,0xed,0x22,0x30,0x9, 0x8, 0x74,0x1, 0x12,0x47,0xef,
+0xc2,0x9, 0x22,0xe4,0x12,0x47,0xef,0xd2,0x9, 0x22,0xa9,0xd4,0xcb,0x75,0xa6,0x10,
+0xa9,0xd1,0xcd,0xa9,0xc5,0xea,0x22,0xd2,0xce,0x75,0x92,0x70,0xd2,0xad,0xd2,0xe8,
+0xc2,0xc0,0xa9,0xd0,0xf7,0xd2,0xf8,0xa9,0xd5,0xb7,0xd2,0xbd,0x22,0x12,0x4d,0xb5,
+0x12,0x0, 0x27,0x12,0x4d,0xcc,0xc2,0x0, 0xc2,0x2, 0x22,0xc2,0x8e,0xe5,0x89,0x54,
+0xf, 0x44,0x20,0xf5,0x89,0x75,0x8d,0x1, 0x75,0x8b,0x0, 0xd2,0x8e,0xd2,0xab,0xa9,
+0xc3,0xb7,0xd2,0xbb,0x22,0xe4,0x12,0x4e,0x46,0x12,0x4e,0xd, 0x12,0x4e,0x19,0x74,
+0x1, 0x2, 0x4d,0xc4,0x70,0x3, 0xc2,0xaf,0x22,0xd2,0xaf,0x22,0x7e,0x18,0x0, 0x54,
+0x74,0xf, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0x8, 0x3, 0xe8,0x12,0x4, 0x59,0xbe,0x18,
+0xf, 0xff,0x28,0x4, 0x7e,0x18,0xf, 0xff,0xd2,0xc8,0xa9,0xc0,0xcd,0xc2,0xaf,0xa9,
+0xd0,0x9e,0x7c,0xb6,0xf5,0x9d,0xa9,0xd0,0x9e,0x7c,0xb7,0xf5,0x9c,0x12,0x4e,0x5,
+0xc2,0xa8,0xd2,0xaf,0x22,0xc2,0x88,0xd2,0xb8,0xa9,0xd0,0xb7,0x22,0x75,0xeb,0x3,
+0xa9,0xd6,0xac,0xa9,0xd6,0xec,0xd2,0x86,0x22,0xa9,0xd1,0x99,0x75,0x9a,0xfe,0xd2,
+0x9c,0xa9,0xd6,0xdf,0x22,0xa9,0xd6,0xeb,0x70,0xf, 0xa9,0xc6,0xac,0xa9,0xc6,0xec,
+0xa9,0xd7,0xcd,0xc2,0x96,0xc2,0x95,0x80,0x7, 0xa9,0xd4,0xcd,0xd2,0x96,0xd2,0x95,
+0x12,0x4e,0x5, 0xd2,0xa8,0x22,0xd2,0xcf,0xbe,0xb0,0x7, 0x38,0x4, 0x7c,0xab,0x80,
+0x2, 0x6c,0xaa,0x43,0xcb,0x8e,0x4e,0xa0,0x30,0x7a,0xa1,0xcc,0x0, 0x0, 0x0, 0x0,
+0xa9,0xd0,0xca,0xa9,0xc5,0xcb,0x53,0xca,0xf1,0x43,0xca,0xe, 0x75,0xcf,0x4, 0xc2,
+0xcc,0xd2,0xcb,0xc2,0xca,0xc2,0xc9,0xc2,0xc8,0xa9,0xc6,0xcb,0x0, 0x0, 0x0, 0x0,
+0x22,0x53,0xc8,0xc1,0x53,0xcb,0x10,0x22,0x7e,0x24,0x0, 0x14,0xad,0x32,0x80,0x3,
+0x0, 0x0, 0x0, 0x7d,0x23,0x1b,0x34,0x4d,0x22,0x78,0xf5,0x22,0x30,0x0, 0x44,0xc2,
+0x6, 0xe4,0x7a,0xb3,0x3, 0x48,0x30,0x1, 0x1c,0x80,0x3, 0x30,0x0, 0x9, 0xa9,0x21,
+0x94,0xf9,0x80,0x3, 0x30,0x0, 0x4, 0xa9,0x31,0x94,0xf9,0x30,0x0, 0x1e,0x80,0x15,
+0x80,0x3, 0x30,0x0, 0x9, 0xa9,0x31,0x94,0xf9,0x80,0x3, 0x30,0x0, 0x4, 0xa9,0x21,
+0x94,0xf9,0x30,0x0, 0x7, 0xd2,0x6, 0xe4,0x7a,0xb3,0x2, 0xcf,0x7e,0x37,0x2, 0xcd,
+0x2, 0x4e,0x88,0x22,0x7e,0x73,0x6, 0xc6,0xa, 0x37,0x1e,0x34,0x7a,0x73,0xd, 0x3d,
+0xa, 0x37,0x1e,0x34,0x7a,0x73,0xd, 0x3e,0x22,0xd2,0xc9,0xa, 0x56,0xf5,0xf1,0x7c,
+0xb7,0xf5,0xf2,0x75,0xf3,0x80,0x75,0xf4,0x0, 0x75,0xf5,0x83,0xa9,0x37,0xf5,0xfc,
+0xa9,0x36,0xf5,0xfc,0xe5,0xf6,0x43,0xfa,0x80,0xc2,0xc9,0x22,0x7e,0x24,0x12,0xa,
+0xb, 0x28,0x30,0x5e,0x70,0xf, 0x1b,0x28,0x30,0xb, 0x28,0x30,0x4e,0x70,0x80,0x1b,
+0x28,0x30,0x7e,0xb3,0x6, 0xcb,0xc4,0x23,0x7c,0x7b,0x5e,0x70,0x7, 0xa5,0xbf,0x0,
+0x5, 0x7e,0xa0,0x2, 0x80,0x32,0xa5,0xbf,0x1, 0x13,0x7e,0xb3,0x6, 0xc9,0x1e,0xb0,
+0x54,0x3, 0x68,0x4, 0x6c,0xaa,0x80,0x20,0x7e,0xa0,0x3, 0x80,0x1b,0xa5,0xbf,0x3,
+0x5, 0x7e,0xa0,0x6, 0x80,0x12,0x7e,0xb3,0x6, 0xc9,0x1e,0xb0,0x54,0x3, 0x68,0x5,
+0x7e,0xa0,0x1, 0x80,0x3, 0x7e,0xa0,0x5, 0xa, 0x1a,0x3e,0x14,0x3e,0x14,0x3e,0x14,
+0x3e,0x14,0x2, 0x3c,0x9e,0x7e,0x24,0x12,0x2, 0xb, 0x28,0x30,0x5e,0x60,0xc0,0x1b,
+0x28,0x30,0x7e,0x73,0x6, 0xc8,0x7c,0x27,0x6c,0x33,0x12,0x3c,0x9e,0x6c,0x11,0x80,
+0xb, 0xa, 0x31,0x9, 0x3, 0x6, 0x68,0xa, 0x20,0x12,0x5b,0x7f,0x7e,0x3, 0x6, 0xc8,
+0xbc,0x1, 0x38,0xed,0x7c,0x10,0x80,0x9, 0x7e,0x24,0x0, 0x3f,0xa, 0x31,0x12,0x5b,
+0x7f,0xbe,0x10,0x2e,0x40,0xf2,0x6d,0x22,0x7e,0x34,0x13,0x16,0x1b,0x38,0x20,0x7e,
+0x34,0x13,0x18,0x1b,0x38,0x20,0x7e,0x34,0x13,0x1a,0x1b,0x38,0x20,0x7e,0x34,0x13,
+0x1c,0x1b,0x38,0x20,0x6c,0x11,0x80,0xd, 0xa, 0x31,0x9, 0x3, 0x6, 0x68,0x7c,0xb0,
+0x12,0x50,0xc, 0xb, 0x10,0x7e,0x73,0x6, 0xc8,0xbc,0x71,0x38,0xeb,0x7e,0xb3,0x6,
+0xd7,0x30,0xe2,0x7, 0x7e,0xb3,0x6, 0xd5,0x2, 0x50,0xc, 0x22,0x7c,0x7b,0xc4,0x54,
+0xf, 0x7c,0xab,0xa, 0x37,0x7e,0x24,0x0, 0x10,0x12,0x3, 0xba,0x7c,0x75,0x7e,0x14,
+0x0, 0x1, 0x7c,0xb7,0x60,0x5, 0x3e,0x14,0x14,0x78,0xfb,0xa, 0x2a,0x3e,0x24,0x2e,
+0x24,0x13,0x16,0x2, 0x3c,0x9e,0xca,0x1b,0xca,0x19,0xc2,0xee,0xc2,0xc6,0x30,0xb,
+0x6, 0x7e,0x34,0x0, 0x1, 0x80,0x4, 0x7e,0x34,0x0, 0x2, 0x7e,0x14,0x12,0x6, 0xb,
+0x18,0x20,0x5d,0x23,0x68,0x7, 0x6d,0x22,0x1b,0x18,0x20,0xd2,0xa, 0xd2,0xee,0xda,
+0x19,0xda,0x1b,0x32,0x7e,0xb3,0x6, 0xd7,0x20,0xe1,0x62,0x12,0x1f,0xe8,0x80,0x55,
+0xa, 0x2a,0x9, 0x52,0x6, 0x96,0x7e,0x90,0x4, 0xac,0x95,0x49,0x14,0x3, 0x5e,0x49,
+0x4, 0x3, 0x5c,0xbe,0x8, 0x3a,0xc0,0x8, 0x20,0x7e,0xb3,0xc, 0x1f,0x7e,0x44,0x0,
+0x1, 0x60,0x5, 0x3e,0x44,0x14,0x78,0xfb,0x7e,0x10,0x2, 0xac,0x15,0x2e,0x4, 0xb,
+0xc3,0xb, 0x8, 0x10,0x4d,0x14,0x1b,0x8, 0x10,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,
+0x1f,0xef,0x60,0xf, 0x7e,0x30,0x2, 0xac,0x35,0x49,0x1, 0xb, 0xc3,0x12,0x50,0xce,
+0x1b,0x18,0x0, 0xb, 0xa0,0x7e,0x43,0x6, 0xc8,0xbc,0x4a,0x38,0xa3,0x22,0x7e,0x30,
+0x2, 0xac,0x35,0x2d,0x13,0x22,0x7e,0xb3,0x6, 0xd7,0x20,0xe1,0x42,0x12,0x1f,0xe8,
+0x80,0x35,0xa, 0x2a,0x9, 0x52,0x6, 0x96,0x12,0x50,0xce,0xb, 0x18,0x40,0x7e,0xb3,
+0xc, 0x1f,0x7e,0x14,0x0, 0x1, 0x60,0x5, 0x3e,0x14,0x14,0x78,0xfb,0x4d,0x41,0x7e,
+0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x1f,0xef,0x60,0xb, 0xa, 0x1a,0x3e,0x14,0x2e,0x14,
+0x12,0x14,0x1b,0x18,0x40,0xb, 0xa0,0x7e,0x43,0x6, 0xc8,0xbc,0x4a,0x38,0xc3,0x22,
+0x7c,0x6b,0x7e,0x53,0x0, 0x90,0x7c,0xb5,0x54,0xf, 0x68,0x10,0x7c,0x45,0x1b,0x40,
+0x5e,0x40,0xf, 0x5e,0x50,0xf0,0x4c,0x54,0x7a,0x53,0x0, 0x90,0xa5,0xbe,0x0, 0x12,
+0xa5,0xbf,0x2, 0xe, 0x7e,0x73,0x0, 0x77,0x7a,0x73,0x0, 0x76,0x85,0x17,0x16,0x12,
+0x46,0x37,0x22,0xca,0x3b,0x12,0xe, 0xaf,0x7c,0xeb,0x4c,0xee,0x78,0x2, 0x61,0x71,
+0x7e,0x7f,0x0, 0xa2,0x7e,0x34,0x38,0x80,0x7e,0x24,0x0, 0x1, 0xbf,0x71,0x28,0x5,
+0x7e,0x80,0xa, 0x80,0x2a,0x7e,0x34,0x11,0x70,0x7e,0x24,0x0, 0x1, 0xbf,0x71,0x28,
+0x5, 0x7e,0x80,0x6, 0x80,0x19,0xbe,0x78,0xea,0x60,0x28,0x5, 0x7e,0x80,0x4, 0x80,
+0xe, 0xbe,0x78,0xc3,0x50,0x28,0x5, 0x7e,0x80,0x2, 0x80,0x3, 0x7e,0x80,0x1, 0xa,
+0xf8,0x6d,0xee,0x7e,0xd4,0x0, 0xf, 0x7f,0x17,0x7d,0x1d,0x12,0x3, 0xfd,0x7f,0x7,
+0x12,0x3, 0xec,0x7d,0x1d,0x12,0x3, 0xfd,0x7f,0x61,0x6c,0x99,0x7e,0xa0,0x5, 0x7c,
+0xd9,0xac,0xda,0x9, 0xb6,0x2, 0xba,0x7c,0xfb,0xbe,0xf0,0x2, 0x50,0x25,0xa, 0x3f,
+0x9, 0xb3,0x3, 0x4e,0x70,0x1d,0x49,0x6, 0x2, 0xb6,0x7e,0xa0,0x4, 0xac,0xaf,0x59,
+0x5, 0xb, 0x53,0x49,0x26,0x2, 0xb8,0x59,0x25,0xb, 0x55,0x59,0x5, 0xb, 0x5b,0x59,
+0x25,0xb, 0x5d,0xb, 0x90,0xbe,0x90,0x2, 0x78,0xc2,0x6c,0x99,0x61,0x6b,0x7e,0xa0,
+0x5, 0x7c,0x39,0xac,0x3a,0x9, 0xb1,0x2, 0xba,0x7c,0xfb,0xbe,0xf0,0x2, 0x40,0x2,
+0x61,0x69,0x7e,0xa0,0x4, 0x7c,0xdf,0xac,0xda,0x49,0x26,0xb, 0x53,0x49,0x31,0x2,
+0xb6,0x9d,0x32,0x7d,0xa3,0x49,0x26,0xb, 0x55,0x49,0x31,0x2, 0xb8,0x9d,0x32,0x7d,
+0xb3,0x7d,0x1b,0x12,0x53,0x74,0x7f,0x71,0x7d,0x1a,0x1a,0x2, 0x1a,0x0, 0x7d,0x3a,
+0x12,0x53,0x78,0x2f,0x17,0x7a,0x1f,0xa, 0x3, 0x49,0x26,0xb, 0x5b,0x12,0x53,0x91,
+0x9d,0x32,0x7a,0x37,0x9, 0xfd,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x25,0xb, 0x5d,0x12,
+0x53,0x87,0x9d,0x32,0x7d,0x63,0x7d,0x16,0x12,0x53,0x74,0x7f,0x71,0x7e,0x27,0x9,
+0xfd,0x7d,0x12,0x1a,0x2, 0x1a,0x0, 0x7f,0x10,0x12,0x3, 0xec,0x2f,0x17,0x7a,0x1f,
+0x9, 0xff,0x7e,0xa0,0x5, 0xac,0xa9,0x49,0x25,0x2, 0xb6,0xbe,0x24,0x0, 0x1e,0x40,
+0x1b,0xbe,0x24,0x1, 0x70,0x38,0x15,0x7e,0xa0,0x5, 0xac,0xa9,0x49,0x25,0x2, 0xb8,
+0xbe,0x24,0x0, 0x1e,0x40,0x6, 0xbe,0x24,0x1, 0x70,0x28,0x20,0xa, 0x98,0x6d,0x88,
+0x7e,0xf4,0x0, 0x6, 0x12,0x53,0xb6,0x7e,0x84,0x0, 0xb, 0x7d,0x18,0x12,0x3, 0xfd,
+0x12,0x53,0x9b,0x7d,0x18,0x12,0x3, 0xfd,0x7f,0x41,0x80,0x1c,0xa, 0x98,0x6d,0x88,
+0x7e,0xf4,0x0, 0x5, 0x12,0x53,0xb6,0x2f,0x11,0x2f,0x11,0x2f,0x11,0x12,0x53,0x9b,
+0x2f,0x11,0x2f,0x11,0x2f,0x11,0x7f,0x41,0x7e,0x1f,0x9, 0xff,0xbf,0x16,0x38,0x4b,
+0x7e,0xf, 0xa, 0x7, 0x7e,0x7f,0xa, 0x3, 0xbf,0x70,0x38,0x12,0x7e,0xa0,0x4, 0xac,
+0xaf,0x49,0x35,0xb, 0x53,0x12,0x53,0xa7,0x49,0x35,0xb, 0x55,0x80,0x22,0xbf,0x74,
+0x38,0x3f,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x15,0xb, 0x53,0x7e,0x4, 0x0, 0x2, 0x7d,
+0x3a,0x12,0x53,0x7f,0x12,0x53,0xa7,0x49,0x15,0xb, 0x55,0x7d,0x3b,0x12,0x53,0x7f,
+0x7e,0xa0,0x5, 0xac,0xa9,0x59,0x35,0x2, 0xb8,0x80,0x16,0x7e,0x24,0x7f,0xff,0x7e,
+0xa0,0x4, 0xac,0xaf,0x59,0x25,0xb, 0x5b,0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x25,0xb,
+0x5d,0x12,0x53,0x91,0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x35,0xb, 0x53,0x12,0x53,0x87,
+0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x35,0xb, 0x55,0xb, 0x90,0xbc,0xe9,0x28,0x2, 0x21,
+0xfe,0xda,0x3b,0x22,0x1a,0x2, 0x1a,0x0, 0x1a,0x26,0x1a,0x24,0x2, 0x3, 0xec,0x7d,
+0x20,0x12,0x3, 0xba,0x2d,0x31,0x22,0x7e,0xa0,0x5, 0xac,0xa9,0x49,0x35,0x2, 0xb8,
+0x22,0x7e,0xa0,0x5, 0xac,0xa9,0x49,0x35,0x2, 0xb6,0x22,0xa, 0x18,0x6d,0x0, 0x12,
+0x3, 0xec,0x7f,0x1, 0x2f,0x10,0x22,0x7e,0xa0,0x5, 0xac,0xa9,0x59,0x35,0x2, 0xb6,
+0x7e,0xa0,0x4, 0xac,0xaf,0x22,0x7f,0x14,0x7d,0x1f,0x12,0x3, 0xfd,0x7f,0x4, 0x12,
+0x3, 0xec,0x7f,0x1, 0x2f,0x10,0x7d,0x1f,0x12,0x3, 0xfd,0x7a,0x1f,0xa, 0x7, 0xa,
+0x38,0x6d,0x22,0x22,0xca,0x3b,0x12,0x44,0x3e,0x78,0x24,0x6c,0xff,0xe4,0xa, 0x3f,
+0x19,0xb3,0xb, 0x27,0x19,0xb3,0xb, 0x31,0x19,0xb3,0x3, 0x5a,0x6d,0x33,0x74,0x2,
+0xac,0xbf,0x59,0x35,0xb, 0x33,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xe0,0xe1,0xb6,0x6c,
+0xff,0x7e,0x50,0x2, 0xac,0x5f,0x49,0x32,0x3, 0x52,0xbe,0x34,0x7f,0xff,0x78,0x17,
+0xe4,0xa, 0x1f,0x19,0xb1,0xb, 0x27,0x19,0xb1,0xb, 0x31,0x19,0xb1,0x3, 0x5a,0x6d,
+0x11,0x59,0x12,0xb, 0x33,0x81,0xcf,0xa, 0x1f,0x9, 0xb1,0x3, 0x5a,0x60,0x2, 0x81,
+0xcf,0x59,0x32,0xb, 0x29,0x49,0x32,0x3, 0x56,0x59,0x32,0xb, 0x2d,0x49,0x32,0xb,
+0x29,0x49,0x22,0xb, 0x2d,0x74,0x14,0xac,0xbf,0x49,0x15,0xb, 0xb, 0x49,0x5, 0xb,
+0xd, 0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x1, 0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0xb,
+0x49,0x25,0xb, 0xd, 0x49,0x15,0xa, 0xff,0x49,0x5, 0xb, 0x1, 0x12,0xe, 0x7e,0x7a,
+0x37,0xa, 0x3, 0xa, 0x3f,0x9, 0x53,0xb, 0x27,0xbe,0x50,0x2, 0x40,0x4c,0x74,0x2,
+0xac,0xbf,0x49,0x25,0xb, 0x29,0xbe,0x24,0x0, 0x18,0x40,0x16,0xbe,0x24,0x1, 0x76,
+0x38,0x10,0x49,0x25,0xb, 0x2d,0xbe,0x24,0x0, 0x18,0x40,0x6, 0xbe,0x24,0x1, 0x76,
+0x28,0xe, 0x7e,0x27,0xa, 0x1, 0xbe,0x24,0x0, 0x27,0x28,0x4, 0x74,0x1, 0x80,0x1b,
+0x7e,0x27,0xa, 0x1, 0xbe,0x24,0x0, 0x27,0x28,0xd, 0x7e,0x27,0xa, 0x3, 0xbe,0x24,
+0x0, 0x42,0x28,0x3, 0xe4,0x80,0x4, 0xe4,0x80,0x1, 0xe4,0x19,0xb3,0xb, 0x31,0xb,
+0xf0,0xbe,0xf0,0x2, 0x68,0x2, 0x81,0x1, 0x6c,0xff,0xe1,0xb0,0x74,0x5, 0xac,0xbf,
+0x9, 0xd5,0x2, 0xba,0xa, 0x3d,0x9, 0xb3,0xb, 0x27,0x70,0x34,0x6c,0xcc,0x7e,0x70,
+0x5, 0xac,0x7f,0x49,0x13,0x2, 0xb6,0x7e,0x10,0x14,0xac,0x1d,0x7e,0x50,0x4, 0xac,
+0x5c,0x2d,0x20,0x59,0x12,0xa, 0xff,0x49,0x33,0x2, 0xb8,0x59,0x32,0xb, 0x1, 0xb,
+0xc0,0xbe,0xc0,0x5, 0x78,0xd8,0x6d,0x33,0x74,0x2, 0xac,0xbd,0x59,0x35,0xb, 0x33,
+0xa, 0x3d,0x9, 0xb3,0xb, 0x27,0xbe,0xb0,0x5, 0x50,0xa, 0xa, 0x3d,0x2e,0x34,0xb,
+0x27,0x4, 0x7a,0x39,0xb0,0xa, 0x3d,0x9, 0x73,0xb, 0x27,0xbe,0x70,0x1, 0x38,0x2,
+0xc1,0xc, 0x12,0x57,0xb9,0x60,0x2, 0xc1,0xc, 0x7e,0x90,0x14,0xac,0x9d,0x49,0x34,
+0xb, 0xf, 0x49,0x54,0xb, 0xb, 0x2d,0x53,0x7a,0x57,0x9, 0xfd,0x49,0x34,0xb, 0x11,
+0x49,0x54,0xb, 0xd, 0x2d,0x53,0x7a,0x57,0x9, 0xff,0x74,0x5, 0xac,0xbf,0x49,0x15,
+0x2, 0xb6,0x2e,0x17,0x9, 0xfd,0x7e,0x24,0x0, 0x3, 0x8d,0x12,0x59,0x15,0x2, 0xb6,
+0x49,0x35,0x2, 0xb8,0x2e,0x37,0x9, 0xff,0x8d,0x32,0x59,0x35,0x2, 0xb8,0x49,0x24,
+0xb, 0x7, 0x49,0x35,0x2, 0xb6,0x9d,0x32,0x12,0x0, 0x2e,0x7a,0x37,0x9, 0xfd,0x74,
+0x14,0xac,0xbd,0x49,0x25,0xb, 0x9, 0x74,0x5, 0xac,0xbf,0x49,0x35,0x2, 0xb8,0x9d,
+0x32,0x12,0x0, 0x2e,0x12,0x57,0xf2,0x38,0xa, 0x7e,0x37,0x9, 0xff,0xbe,0x34,0x0,
+0x27,0x28,0x1a,0x12,0x57,0xde,0x2e,0x34,0xb, 0x7, 0x2e,0x14,0xb, 0x3, 0x12,0x5b,
+0x12,0x59,0x35,0xb, 0x7, 0x49,0x34,0x2, 0xb8,0x59,0x35,0xb, 0x9, 0x12,0x57,0xde,
+0x2e,0x34,0xb, 0xb, 0x2e,0x14,0xb, 0xf, 0x12,0x5b,0x12,0x59,0x35,0xb, 0xb, 0x49,
+0x44,0x2, 0xb8,0x59,0x45,0xb, 0xd, 0x49,0x35,0xb, 0x7, 0x49,0x25,0xb, 0x9, 0x12,
+0xe, 0x76,0x74,0x2, 0xac,0xbd,0x59,0x35,0xb, 0x33,0xe1,0xae,0x12,0x57,0xb9,0x70,
+0x2, 0xe1,0xae,0xa, 0x3d,0x9, 0x73,0xb, 0x27,0xbe,0x70,0x3, 0x50,0x2, 0xe1,0xae,
+0x12,0x57,0xc0,0x70,0x2, 0xe1,0xae,0x74,0x14,0xac,0xbd,0x49,0x25,0xa, 0xff,0x49,
+0x35,0xb, 0xb, 0x12,0x57,0xd6,0x7a,0x37,0x9, 0xfd,0x74,0x14,0xac,0xbd,0x49,0x25,
+0xb, 0x1, 0x49,0x35,0xb, 0xd, 0x12,0x57,0xd6,0x12,0x57,0xf2,0x50,0xc, 0x7e,0x37,
+0x9, 0xff,0xbe,0x34,0x0, 0x27,0x50,0x2, 0xe1,0xae,0x74,0x14,0xac,0xbd,0x12,0xe,
+0x6e,0xb, 0x34,0x6d,0x22,0x7a,0x1f,0xa, 0x11,0x74,0x14,0xac,0xbd,0x49,0x35,0xb,
+0x3, 0x49,0x25,0xb, 0x5, 0x74,0x2, 0xac,0xbd,0x49,0x15,0xb, 0x29,0x49,0x5, 0xb,
+0x2d,0x12,0xe, 0x7e,0x6d,0x22,0x7a,0x1f,0xa, 0xd, 0x74,0x14,0xac,0xbd,0x49,0x5,
+0xb, 0x5, 0x49,0x15,0xb, 0xd, 0x9d,0x10,0x6d,0x0, 0x7a,0xf, 0xa, 0x9, 0x7d,0x21,
+0x7e,0xf, 0xa, 0x11,0x12,0x5a,0xf6,0x7a,0x1f,0xa, 0x9, 0x74,0x14,0xac,0xbd,0x49,
+0x15,0xb, 0x5, 0x6d,0x0, 0x7e,0x1f,0xa, 0x9, 0x2f,0x10,0x12,0x57,0xc7,0x9f,0x10,
+0x7a,0x1f,0xa, 0x9, 0x49,0x5, 0xb, 0x3, 0x49,0x15,0xb, 0xb, 0x9d,0x10,0x6d,0x0,
+0x7a,0xf, 0xa, 0x5, 0x7e,0x1f,0xa, 0xd, 0x7d,0x21,0x7e,0xf, 0xa, 0x11,0x12,0x5a,
+0xf6,0x7a,0x1f,0xa, 0x5, 0x74,0x14,0xac,0xbd,0x49,0xc5,0xb, 0x3, 0x7d,0x1c,0x6d,
+0x0, 0x7e,0x1f,0xa, 0x5, 0x2f,0x10,0x49,0xd5,0xb, 0xb, 0x7d,0xfd,0x6d,0xee,0x9f,
+0x17,0x7a,0x1f,0xa, 0x5, 0x12,0x57,0xc0,0xb4,0x2, 0x17,0x7e,0x58,0x0, 0x2, 0x7e,
+0x1f,0xa, 0x5, 0x7f,0x5, 0x12,0x4, 0x59,0x12,0x2f,0xee,0x7f,0x5, 0x12,0x57,0xce,
+0x80,0x27,0x12,0x57,0xc0,0xb4,0x1, 0x21,0xbd,0xdc,0x50,0xc, 0x7e,0x1f,0xa, 0x5,
+0xbe,0x18,0x0, 0x0, 0x8, 0x13,0x80,0xa, 0x7e,0x1f,0xa, 0x5, 0xbe,0x18,0x0, 0x0,
+0x58,0x7, 0x12,0x44,0x59,0x7a,0x1f,0xa, 0x5, 0x12,0x57,0xb9,0x7e,0x1f,0xa, 0x5,
+0xb4,0x1, 0x1d,0x2f,0x11,0x7e,0x68,0x0, 0x5, 0x7f,0x6, 0x12,0x4, 0x59,0x7a,0x1f,
+0xa, 0x5, 0x2f,0x17,0x12,0x2f,0xee,0x2f,0x11,0x7f,0x6, 0x12,0x57,0xce,0x80,0x6,
+0x2f,0x17,0x7a,0x1f,0xa, 0x5, 0x74,0x14,0xac,0xbd,0x12,0x57,0xc7,0x7e,0x1f,0xa,
+0x9, 0x2f,0x10,0x7a,0x1f,0xa, 0x9, 0x7e,0x1f,0xa, 0x5, 0x12,0x57,0xe6,0x12,0x2f,
+0xee,0x12,0x57,0xe6,0x7a,0x1f,0xa, 0x9, 0x7e,0x1f,0xa, 0x5, 0x7d,0x43,0x74,0x5,
+0xac,0xbf,0x59,0x45,0x2, 0xb6,0x7e,0x1f,0xa, 0x9, 0x59,0x35,0x2, 0xb8,0xb, 0xf0,
+0xbc,0xef,0x28,0x2, 0x81,0xdc,0xda,0x3b,0x22,0xa, 0x3d,0x9, 0xb3,0x3, 0x5a,0x22,
+0xa, 0x3d,0x9, 0xb3,0xb, 0x31,0x22,0x49,0x15,0xb, 0xd, 0x6d,0x0, 0x22,0x12,0x4,
+0x59,0x7a,0x1f,0xa, 0x9, 0x22,0x9d,0x32,0x12,0x0, 0x2e,0xb, 0x34,0x22,0x7e,0x30,
+0x14,0xac,0x3d,0x7d,0x31,0x22,0x6d,0x22,0x7e,0x14,0x1, 0x8d,0x12,0x37,0xfe,0x6d,
+0x22,0x22,0x7a,0x37,0x9, 0xff,0x7e,0x37,0x9, 0xfd,0xbe,0x34,0x0, 0x27,0x22,0x6d,
+0x22,0x7a,0x27,0xc, 0x7c,0x7e,0x34,0x1, 0x8e,0x7a,0x37,0xc, 0x7e,0x7a,0x27,0xc,
+0x80,0x7a,0x37,0xc, 0x82,0x7e,0x14,0x0, 0x84,0x7a,0x17,0xc, 0x85,0x7e,0x14,0x0,
+0xc7,0x7a,0x17,0xc, 0x87,0x74,0x64,0x7a,0xb3,0xc, 0x84,0x7e,0x14,0x0, 0x96,0x7a,
+0x17,0xc, 0x89,0x7a,0x27,0xc, 0xa0,0x7a,0x37,0xc, 0xa2,0x7a,0x27,0xc, 0xa4,0x7a,
+0x37,0xc, 0xa6,0x74,0x50,0x7a,0xb3,0xc, 0x9e,0x74,0x1e,0x7a,0xb3,0xc, 0x9f,0x74,
+0x3, 0x7a,0xb3,0xc, 0xa8,0x74,0x32,0x7a,0xb3,0xc, 0xa9,0x74,0xf, 0x7a,0xb3,0xc,
+0xaa,0x74,0x50,0x7a,0xb3,0xc, 0xab,0x22,0xca,0xf8,0x7e,0xa3,0xb, 0xb3,0x7c,0xba,
+0x65,0x4e,0x68,0x5, 0xe4,0x7a,0xb3,0xb, 0xb6,0x7a,0xa1,0x4e,0x4c,0xaa,0x78,0x13,
+0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x5, 0x12,0x58,0xd6,0x80,0x11,0xe4,0x7a,0xb3,0x2,
+0xca,0x80,0xa, 0x7e,0xb3,0x6, 0x67,0x30,0xe1,0xb, 0x12,0x58,0xd6,0x12,0x5a,0x71,
+0x12,0x5a,0x77,0x80,0x2e,0x12,0x58,0xe4,0x7c,0xfb,0x4c,0xff,0x68,0x25,0x7c,0xbf,
+0x12,0x5a,0x7e,0x60,0x1e,0x7e,0x34,0x0, 0x14,0x1b,0x34,0x78,0xfc,0x7e,0xb3,0x6,
+0x67,0x30,0xe1,0x8, 0x74,0x26,0x7a,0xb3,0xb, 0xb6,0x80,0x7, 0x7a,0xf3,0xb, 0xb6,
+0x75,0x4f,0x1, 0xda,0xf8,0x22,0x74,0x26,0x7a,0xb3,0x2, 0xca,0x7a,0xb3,0xb, 0xb6,
+0x75,0x4f,0x1, 0x22,0xca,0x79,0x6c,0xaa,0x6d,0x44,0x7d,0xf4,0x7e,0x63,0x0, 0x90,
+0x7c,0xf6,0x5e,0xf0,0xf, 0x7c,0xb6,0xc4,0x7c,0xeb,0x5e,0xe0,0xf, 0x7e,0xe7,0xd,
+0x29,0x1b,0xe4,0x68,0x3c,0x1b,0xe4,0x68,0x6e,0x1b,0xe4,0x78,0x2, 0x21,0xe2,0x2e,
+0xe4,0x0, 0x3, 0x68,0x2, 0x41,0xa, 0xbe,0xf0,0x0, 0x38,0x2, 0x41,0x10,0x4c,0xee,
+0x68,0x2, 0x41,0x10,0x7e,0xe4,0x0, 0x1, 0x7a,0xe7,0xd, 0x29,0x7a,0xf7,0xd, 0x36,
+0x7a,0x47,0xd, 0x38,0x12,0x5a,0x31,0x7e,0xb3,0xc, 0xab,0x7a,0xb3,0xd, 0x35,0x21,
+0xca,0x4c,0xff,0x78,0x2, 0x80,0x1e,0x12,0x5a,0x31,0x7e,0x37,0xd, 0x36,0x7e,0x27,
+0xd, 0x38,0x12,0x5a,0x67,0xa5,0xbf,0x0, 0x4, 0xd2,0xe, 0x41,0xa, 0x7e,0xb3,0xd,
+0x2c,0x60,0x2, 0x41,0x10,0x7e,0x34,0x0, 0x2, 0x7a,0x37,0xd, 0x29,0x7e,0xb3,0xc,
+0xa9,0x7a,0xb3,0xd, 0x2b,0x41,0x10,0xbe,0xf0,0x0, 0x28,0x58,0x4c,0xee,0x78,0x54,
+0x7a,0xf7,0xd, 0x31,0x7a,0x47,0xd, 0x33,0x12,0x5a,0x31,0x7e,0xb3,0xc, 0xa8,0xa,
+0x2b,0x7e,0xb3,0xc, 0xa9,0xa, 0x3b,0x9d,0x32,0x7e,0xb3,0xd, 0x2b,0xa, 0x4b,0xbd,
+0x43,0x18,0x2, 0x70,0x4, 0xd2,0xe, 0x80,0x61,0x7e,0x37,0xd, 0x36,0x7e,0x27,0xd,
+0x38,0x7e,0xb3,0xc, 0x9e,0x12,0x5a,0x3a,0x7c,0x7b,0xa5,0xbf,0x0, 0x4, 0xd2,0xe,
+0x80,0x48,0x7e,0x34,0x0, 0x3, 0x7a,0x37,0xd, 0x29,0x7e,0xb3,0xc, 0xaa,0x7a,0xb3,
+0xd, 0x2c,0x80,0x3c,0x4c,0xff,0x78,0x38,0x7e,0xb3,0xd, 0x2b,0x70,0x32,0xd2,0xe,
+0x80,0x2e,0x4c,0xff,0x78,0x10,0x7e,0xb3,0xd, 0x2c,0x70,0x4, 0xd2,0xe, 0x80,0x1a,
+0x7e,0x34,0x0, 0x4, 0x80,0x16,0x12,0x5a,0x31,0x7e,0x37,0xd, 0x31,0x7e,0x27,0xd,
+0x33,0x12,0x5a,0x67,0xa5,0xbf,0x0, 0x8, 0xd2,0xe, 0x6d,0x33,0x7a,0x37,0xd, 0x29,
+0x7e,0x37,0xd, 0x29,0xbe,0x34,0x0, 0x2, 0x78,0x12,0x7e,0xa0,0x25,0x6d,0x33,0x7a,
+0x37,0xd, 0x29,0xe4,0x7a,0xb3,0xd, 0x35,0x7a,0xb3,0xd, 0x2c,0x7c,0xba,0xda,0x79,
+0x22,0x7a,0xf7,0xd, 0x2d,0x7a,0x47,0xd, 0x2f,0x22,0x7d,0x13,0xa, 0x3b,0x7d,0x3,
+0x2e,0x7, 0xd, 0x2d,0xbd,0x1, 0x40,0x1d,0x2d,0x13,0xbe,0x17,0xd, 0x2d,0x40,0x15,
+0x7d,0x13,0x2e,0x17,0xd, 0x2f,0xbd,0x12,0x40,0xb, 0x2d,0x32,0xbe,0x37,0xd, 0x2f,
+0x40,0x3, 0x74,0x1, 0x22,0xe4,0x22,0x7e,0xb3,0xc, 0x9f,0x12,0x5a,0x3a,0x7c,0x7b,
+0x22,0xe4,0x7a,0xb3,0x9, 0x62,0x22,0x6d,0x33,0x7a,0x37,0xd, 0x29,0x22,0x7c,0xab,
+0x54,0xf0,0xb4,0x20,0x18,0x7c,0xba,0x54,0xf, 0x7e,0x44,0x0, 0x1, 0x60,0x5, 0x3e,
+0x44,0x14,0x78,0xfb,0x7e,0x73,0xb, 0xb4,0xa, 0x57,0x5d,0x54,0x22,0xe4,0x22,0x7d,
+0x13,0x7e,0x37,0xc, 0xa0,0xbd,0x31,0x50,0x1a,0x7e,0x37,0xc, 0xa2,0xbd,0x31,0x28,
+0x12,0x7e,0x37,0xc, 0xa4,0xbd,0x32,0x50,0xa, 0x7e,0x37,0xc, 0xa6,0xbd,0x32,0x28,
+0x2, 0xe4,0x22,0x74,0x1, 0x22,0xa, 0xb, 0x7e,0x14,0x0, 0x3, 0x9d,0x10,0x7e,0x91,
+0x27,0x74,0x4, 0xac,0x9b,0x2e,0x44,0x3, 0x5c,0x49,0x34,0x0, 0x2, 0xb, 0x48,0x20,
+0x7c,0xb3,0x22,0xa, 0x25,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x22,0x7e,0x37,
+0xa, 0x17,0x7d,0x21,0x7d,0x1f,0x12,0x6, 0x3e,0x1a,0x26,0x1a,0x24,0x22,0xe5,0x24,
+0xa, 0x3b,0x3e,0x34,0x2e,0x34,0x10,0x0, 0xb, 0x38,0x70,0x6d,0x66,0xe5,0x24,0xa,
+0x3b,0x22,0x74,0x4, 0x12,0x4, 0x8d,0x7e,0x90,0x5, 0xac,0x9f,0x49,0x34,0x2, 0xb6,
+0x74,0x14,0xac,0xbd,0x22,0x7e,0x25,0x33,0x7a,0x27,0x0, 0x50,0x7e,0x25,0x35,0x7a,
+0x27,0x0, 0x52,0x7a,0x37,0x0, 0x54,0x22,0x7e,0xb3,0x6, 0x67,0x54,0xdf,0x7a,0xb3,
+0x6, 0x67,0x22,0x7e,0x25,0x22,0x7e,0x37,0xa, 0x9, 0xad,0x32,0x7c,0x76,0x7c,0x65,
+0xa, 0x24,0x22,0x6d,0x0, 0x2f,0x10,0x7e,0x14,0x0, 0x10,0x12,0x3, 0xfd,0x74,0x5,
+0xac,0xbe,0x22,0x2e,0x18,0x0, 0xf, 0x7e,0x15,0x22,0x12,0x3, 0xfd,0x2f,0x11,0x2f,
+0x11,0x22,0x7e,0xf, 0xa, 0xb, 0x7e,0x37,0xa, 0x9, 0x6d,0x22,0x2, 0x3, 0xec,0x3e,
+0x34,0x2e,0x34,0x12,0x92,0x1b,0x38,0x20,0xb, 0x10,0x22,0xb, 0x48,0x20,0x4d,0x25,
+0x1b,0x48,0x20,0x7c,0xb7,0x22,0x5e,0x4, 0x0, 0xf, 0x7c,0x61,0xa, 0x7, 0x2d,0x7,
+0x22,0x7e,0xb3,0xc, 0xd8,0x12,0x0, 0x7, 0xf5,0x91,0x22,0x7e,0x10,0x5, 0xac,0x1d,
+0x9, 0xb0,0x2, 0xba,0x22,0x7f,0x16,0x7d,0x1b,0x12,0x3, 0xfd,0x7f,0x7, 0x22,0x70,
+0x8f,0xff,0x0, 0x82,0x7d,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43,
+0x45,0x49,0x5f,0x44,0x42,0x57,0x32,0x0, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x30,
+0x30,0x30,0x30,0x0, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x2,
+0x82,
diff --git a/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DBW2_3207_0x83_app.i b/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DBW2_3207_0x83_app.i
new file mode 100644
index 0000000..944f764
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DBW2_3207_0x83_app.i
@@ -0,0 +1,1474 @@
+0x2, 0x0, 0x76,0x2, 0x4c,0x2c,0x22,0x22,0x22,0x22,0x32,0x2, 0x0, 0xa, 0x7f,0x71,
+0x7e,0x8, 0x0, 0x2, 0x2, 0x4, 0x59,0x2, 0x4c,0x77,0x22,0x2, 0x4c,0xa4,0x1e,0x44,
+0x1e,0x44,0x1e,0x44,0x1e,0x44,0x22,0x2, 0x4d,0x9e,0xff,0x2, 0x4b,0xa6,0x7d,0x23,
+0xbe,0x24,0x0, 0x0, 0x48,0x3, 0x7d,0x32,0x22,0x6d,0x33,0x9d,0x32,0x22,0x70,0x2,
+0xc2,0xd, 0x22,0x2, 0x4b,0xe6,0x40,0x10,0x10,0x10,0x10,0x40,0x12,0x0, 0x1, 0x2,
+0x3, 0x14,0x12,0x4, 0x5, 0x6, 0x7, 0x14,0x13,0x8, 0x9, 0xa, 0xb, 0x15,0x13,0xc,
+0xd, 0xe, 0xf, 0x15,0x40,0x11,0x11,0x11,0x11,0x40,0x3e,0x34,0x3e,0x34,0x3e,0x34,
+0x3e,0x34,0x22,0x2, 0x50,0x40,0x75,0x84,0x1, 0x7e,0x44,0xf, 0xff,0xe4,0x7a,0x49,
+0xb0,0x1b,0x44,0x78,0xf9,0x7e,0xf8,0xd, 0x3f,0xc2,0xc, 0x75,0x47,0x18,0xc2,0x8,
+0xd2,0x9, 0x75,0x1d,0x0, 0x75,0x1e,0x0, 0xc2,0x0, 0xd2,0x1, 0xc2,0x2, 0xc2,0x3,
+0xc2,0x4, 0xc2,0x6, 0x75,0x8, 0x76,0x75,0xa, 0x0, 0x75,0xc, 0x37,0x75,0xe, 0x2,
+0x75,0xf, 0x74,0x75,0x10,0x71,0x75,0x14,0x71,0x75,0x15,0x71,0x75,0x1b,0x7b,0xd2,
+0xa, 0xc2,0xb, 0x75,0x4c,0x0, 0x75,0x4d,0x0, 0xc2,0xd, 0x75,0x4e,0x0, 0x75,0x4f,
+0x0, 0xc2,0xe, 0x7e,0x4, 0x0, 0xff,0x7e,0x14,0x5, 0xa, 0xb, 0xa, 0x40,0x5d,0x44,
+0x68,0x1a,0x69,0x20,0x0, 0x2, 0xb, 0xe, 0xb, 0x44,0x80,0xa, 0x7e,0xb, 0xb0,0x7a,
+0x29,0xb0,0xb, 0x24,0xb, 0xc, 0x1b,0x44,0x78,0xf2,0x80,0xdf,0x2, 0x21,0x65,0xff,
+0x5b,0xbf,0xa4,0x40,0xda,0x25,0x64,0x9b,0x83,0x7c,0x1, 0xfe,0xff,0xff,0xff,0x0,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0x7e,0xa0,0x20,0x80,0xc, 0x7e,0xa0,0x10,0x80,0x5, 0x7e,0xa0,0x8, 0x6c,0x55,0x6d,
+0x33,0x33,0x92,0xd5,0x50,0xa, 0x6e,0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,
+0xa5,0xec,0x33,0x40,0x6, 0x2f,0x11,0xd5,0xf0,0xf6,0x22,0x7c,0xba,0x24,0x7e,0xa2,
+0xd5,0x13,0x7c,0x76,0x7c,0x65,0xa5,0xcc,0x92,0xe7,0x7c,0x5b,0x22,0x7c,0xb5,0x33,
+0x7c,0xb4,0x33,0x92,0xd5,0x4e,0x50,0x80,0x24,0x81,0x40,0x3, 0x9f,0x11,0x22,0x7c,
+0x45,0x7c,0x56,0x7c,0x67,0x6c,0x77,0x24,0xe0,0x50,0xe, 0x7e,0x1c,0xff,0xff,0x22,
+0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x4, 0x78,0xf4,0x30,0xd5,0xa, 0x6e,
+0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,0x22,0x7c,0xb5,0xa2,0xe7,0xd2,0xe7,
+0x7c,0x1b,0x7c,0xb4,0x33,0x40,0x9, 0x68,0xd, 0xb4,0xff,0xb, 0xa5,0xbd,0xff,0x3,
+0x2, 0x2, 0x67,0x2, 0x2, 0x6f,0x22,0x7c,0xb, 0x24,0x81,0xc2,0xe0,0xf5,0x82,0xf4,
+0x4, 0x2c,0xb0,0x7c,0x2b,0xc3,0x13,0x7c,0x4b,0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x7f,
+0x41,0x7c,0xb6,0xa2,0xe7,0x7c,0xb1,0xa5,0xba,0x7f,0x2, 0xc3,0x13,0x34,0x0, 0x94,
+0x0, 0x7c,0x2b,0x7e,0xa0,0x91,0xa4,0x7c,0xba,0x13,0xf4,0x94,0xfe,0xac,0xb2,0x33,
+0x7c,0xba,0x33,0x24,0x8c,0xd3,0x13,0x7c,0x5b,0xe4,0x92,0xe7,0x7c,0x6b,0x6c,0x77,
+0x7e,0x40,0x3f,0x75,0x83,0x2, 0x7f,0x51,0x7f,0x1, 0x7f,0x14,0x12,0x3, 0x39,0x7f,
+0x5, 0x12,0x2, 0x81,0x9e,0x24,0x0, 0x80,0xd5,0x83,0xeb,0x7e,0x1, 0x82,0x6c,0x11,
+0xe, 0x4, 0x1e,0x4, 0x2d,0x20,0x5e,0x40,0x7f,0x22,0x2d,0x0, 0x92,0xd5,0xe, 0x10,
+0x4e,0x10,0x80,0x7d,0x42,0x2d,0x44,0x50,0x2, 0xb2,0xd5,0x4e,0x50,0x80,0x6c,0x44,
+0x7c,0xb8,0x22,0x2c,0x44,0x50,0x12,0xb, 0x1c,0x7e,0x40,0x0, 0x5e,0x50,0x7f,0xbe,
+0x18,0x0, 0x0, 0x78,0x4, 0xb, 0x80,0x68,0x16,0xa2,0xd5,0x7c,0xb8,0x13,0x7c,0x4b,
+0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x22,0x7e,0x1c,0xff,0xff,0x22,0x9f,0x11,0x22,0x7e,
+0x24,0xff,0x80,0x20,0xd5,0x2, 0x6c,0x45,0x6d,0x33,0x22,0x2, 0x2, 0x67,0x6e,0x0,
+0x80,0x7c,0xb1,0x33,0x7c,0xb0,0x33,0x68,0xd, 0x4, 0x68,0xef,0x7c,0xb5,0x33,0x7c,
+0xb4,0x33,0x78,0x3, 0x7f,0x10,0x22,0x4, 0x68,0xe1,0x7d,0x50,0x92,0xf7,0x7d,0x45,
+0x7d,0x51,0xbf,0x21,0x40,0x6, 0x7c,0x80,0x7f,0x1, 0x7f,0x12,0x12,0x2, 0x2a,0x7e,
+0xa1,0xd0,0x5c,0xb0,0x4, 0x78,0x3, 0x20,0xd5,0xc1,0x7c,0xb0,0x4, 0x78,0x7, 0x50,
+0x2, 0xb2,0xd5,0x2, 0x2, 0x6f,0x92,0xd5,0xbe,0x80,0xff,0x68,0xf6,0x7c,0xb8,0x9c,
+0xb0,0x6c,0x0, 0x60,0x2a,0xb4,0x18,0x5, 0x7c,0x41,0x2, 0x2, 0x43,0x50,0xfb,0x80,
+0x3, 0x2f,0x0, 0x4, 0x7c,0x9b,0x5e,0x90,0x7, 0x78,0xf6,0x30,0xe4,0x6, 0x7c,0x43,
+0x7d,0x10,0x6d,0x0, 0x30,0xe3,0x8, 0x7c,0x43,0x7c,0x32,0x7c,0x21,0xa, 0x0, 0x30,
+0xf5,0x19,0x9f,0x10,0x78,0xe, 0x22,0x2, 0x2, 0x6c,0x1b,0x80,0x68,0xf9,0x2f,0x11,
+0x50,0x2, 0xb, 0x70,0x7c,0xb5,0x30,0xe7,0xf1,0x80,0x1b,0x2d,0x31,0x7c,0xb5,0xa5,
+0x39,0x7c,0x5b,0x50,0x11,0xb, 0x80,0x78,0x3, 0x2, 0x2, 0x6f,0x1e,0x34,0x13,0x50,
+0x3, 0x4e,0x60,0x80,0x1a,0x2b,0x2, 0x2, 0x43,0xbe,0x24,0xff,0xff,0x68,0x6, 0xbe,
+0x4, 0xff,0xff,0x78,0x3, 0x2, 0x2, 0x67,0x12,0x2, 0x2a,0x5c,0xb0,0x4, 0x68,0xf5,
+0x7c,0xb8,0xa5,0x48,0x68,0xef,0x7c,0xb8,0x70,0x3, 0x9f,0x11,0x22,0xa5,0xb8,0x0,
+0x3, 0x2, 0x2, 0x6f,0x2e,0x0, 0x81,0x50,0x7, 0x9c,0x80,0x38,0x7, 0x2, 0x2, 0x6c,
+0x9c,0x80,0x50,0xed,0xa, 0x51,0xc2,0xe7,0x4d,0x51,0x78,0x3, 0x2, 0x2, 0x59,0x7e,
+0x54,0x0, 0x80,0x7e,0x90,0x1a,0x6c,0x0, 0x80,0x6, 0x1b,0x90,0x68,0x14,0x2f,0x11,
+0xbf,0x10,0x40,0x4, 0x9f,0x10,0x4c,0xab,0x3, 0x30,0xe7,0xee,0xca,0xa8,0x6c,0xaa,
+0x80,0xe8,0xda,0x39,0xda,0x58,0x7c,0x4a,0xbe,0x50,0x80,0x50,0xa, 0x1b,0x80,0x68,
+0xbc,0x2f,0x11,0x50,0x2, 0xb, 0x70,0x2, 0x2, 0x43,0xc2,0xd5,0x7c,0xb4,0x30,0xe7,
+0x8, 0xb2,0xd5,0x6e,0x24,0xff,0xff,0xb, 0x24,0x7c,0xb6,0x30,0xe7,0x12,0xb2,0xd5,
+0x6e,0x34,0xff,0xff,0xb, 0x34,0x8d,0x32,0x6e,0x24,0xff,0xff,0xb, 0x24,0x80,0x2,
+0x8d,0x32,0x30,0xd5,0x6, 0x6e,0x34,0xff,0xff,0xb, 0x34,0x22,0x7d,0x51,0xad,0x3,
+0x7d,0x2, 0x7d,0x21,0xad,0x5, 0x2d,0x12,0xad,0x35,0x2d,0x21,0x22,0x7d,0x2, 0xad,
+0x31,0xad,0x10,0x2d,0x21,0x22,0x6d,0x0, 0x74,0x10,0x4d,0x0, 0x78,0xb, 0x4d,0x22,
+0x78,0x27,0x8d,0x31,0x7d,0x12,0x6d,0x22,0x22,0x7d,0x43,0x7d,0x32,0x6d,0x22,0x2f,
+0x11,0x2d,0x44,0x50,0x2, 0xa5,0xf, 0xbf,0x10,0x40,0x4, 0x9f,0x10,0xb, 0x90,0x14,
+0x78,0xed,0x7f,0x1, 0x6d,0x22,0x7d,0x34,0x22,0x7d,0x41,0x7d,0x13,0x8d,0x24,0x7d,
+0x2, 0x2f,0x0, 0x40,0x4, 0xbd,0x4, 0x40,0x4, 0x9d,0x4, 0xb, 0x14,0x14,0x78,0xf1,
+0x7d,0x23,0x7d,0x31,0x7d,0x10,0x6d,0x0, 0x22,0xc2,0xd5,0x7c,0xb0,0x30,0xe7,0x8,
+0xb2,0xd5,0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x7c,0xb4,0x30,0xe7,0x13,0xb2,0xd5,0x9f,
+0x22,0x9f,0x21,0x7f,0x12,0x12,0x4, 0x8, 0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x80,0x3,
+0x12,0x4, 0x8, 0x30,0xd5,0x6, 0x9f,0x22,0x9f,0x21,0x7f,0x12,0x22,0x6c,0xaa,0x4d,
+0x11,0x68,0x1a,0x1e,0x54,0x68,0xe, 0xb, 0x38,0x20,0x1b,0x18,0x20,0xb, 0x35,0xb,
+0x15,0x1b,0x54,0x78,0xf2,0x50,0x6, 0x7e,0x39,0x40,0x7a,0x19,0x40,0x22,0x7d,0x3,
+0x80,0xa, 0x7e,0x29,0xb0,0x7a,0x9, 0xb0,0xb, 0x24,0xb, 0x4, 0x7d,0x51,0x1b,0x14,
+0x4d,0x55,0x78,0xee,0x22,0x13,0x12,0x10,0xf, 0x14,0xe, 0xb, 0xc, 0x1, 0x7, 0xa,
+0x9, 0x2, 0x3, 0x5, 0x6, 0x11,0x4, 0x15,0x0, 0xd, 0x8, 0x7f,0x1, 0xbe,0x8, 0x0,
+0x0, 0x48,0x3, 0x7f,0x10,0x22,0x9f,0x11,0x9f,0x10,0x22,0x7d,0x13,0x80,0x7, 0x1b,
+0x24,0x7a,0x19,0xb0,0xb, 0x14,0x4d,0x22,0x78,0xf5,0x22,0x10,0x10,0x10,0x1c,0x19,
+0x14,0x10,0xe, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x0, 0xc, 0xc, 0xe9,0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xc, 0xf5,0x0, 0x0,
+0x0, 0x1, 0xc, 0xf7,0x0, 0x0, 0x1, 0xd, 0x10,0x0, 0x0, 0x1, 0xd, 0x11,0x0, 0x0,
+0x1, 0xd, 0x12,0x0, 0x0, 0x2e,0xa, 0x8d,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x16,0xa, 0xbb,0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x2e,0xa, 0xd1,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x1, 0xc, 0xd0,0x0, 0x0, 0x1, 0xc, 0xd2,0x0, 0x0, 0x2, 0xc, 0xd3,
+0x0, 0x0, 0x0, 0x1, 0xc, 0xd5,0x0, 0x0, 0x1, 0xc, 0xd7,0x0, 0x0, 0x1, 0xc, 0xd8,
+0x0, 0x0, 0x2, 0x0, 0x72,0x3, 0x1c,0x0, 0x4, 0x0, 0xa2,0x0, 0x0, 0x0, 0x0, 0x0,
+0x2, 0x2, 0xcd,0x0, 0x0, 0x0, 0x1, 0x2, 0xcf,0x0, 0x0, 0x1, 0x2, 0xd3,0x0, 0x0,
+0x1, 0x3, 0x48,0x0, 0x0, 0x1, 0x3, 0x4c,0x0, 0x0, 0x1, 0x3, 0x4d,0x0, 0x0, 0x1,
+0xd, 0x3a,0x0, 0x0, 0x1, 0xd, 0x3b,0xff,0x0, 0x1, 0xd, 0x3c,0x0, 0x0, 0x1, 0xd,
+0x3d,0x10,0x0, 0x1, 0xd, 0x3e,0x8, 0x0, 0x1, 0xd, 0x3f,0x0, 0x0, 0x1, 0x9, 0x6c,
+0x0, 0x0, 0x1, 0xd, 0x28,0x0, 0x0, 0x1, 0xb, 0x38,0x0, 0x0, 0x2, 0xd, 0x29,0x0,
+0x0, 0x0, 0x2, 0x6, 0xdb,0x6, 0xe1,0x0, 0x1, 0x9, 0x69,0x0, 0x0, 0x0, 0x7d,0x41,
+0x7d,0x12,0x1a,0x26,0x1a,0x24,0x12,0x6, 0x5e,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x2,
+0x4, 0x59,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x7f,0x17,0x9f,0x10,0x7d,0x1d,0x1a,0x2,
+0x1a,0x0, 0x2, 0x3, 0xec,0xca,0x3b,0x7f,0x71,0x7c,0xab,0x6c,0x33,0x6c,0xee,0x6d,
+0x22,0x7a,0x25,0x22,0x7a,0x25,0x24,0x7d,0x62,0x7d,0x82,0x7d,0x92,0x7d,0x42,0x7d,
+0xa2,0x7d,0xb2,0x7e,0x37,0x5, 0xf8,0x7d,0xd3,0x7e,0x24,0x0, 0x2, 0x12,0x3, 0xba,
+0x7d,0xc3,0xa, 0x3a,0x7e,0x24,0x0, 0xb, 0x12,0x3, 0xba,0x7c,0xb5,0x7c,0xfb,0xbe,
+0xf0,0x5, 0x50,0x4c,0x1a,0x13,0x12,0x7, 0x73,0x48,0x2c,0xbe,0x78,0x1, 0xa, 0x48,
+0x2, 0x80,0x3, 0x7e,0x45,0x24,0x12,0x6, 0x52,0x7d,0x54,0x12,0x7, 0x84,0xbe,0x78,
+0x0, 0xc7,0x8, 0x7c,0x7f,0x17,0x9e,0x18,0x0, 0xc7,0x12,0x0, 0xe, 0x7f,0x71,0x2e,
+0x18,0x0, 0xc7,0x7f,0x71,0x80,0x69,0xbe,0x78,0x0, 0x89,0x18,0x9, 0x7d,0x19,0x12,
+0x6, 0x54,0x7d,0x59,0x80,0x27,0x7e,0x45,0x22,0x12,0x6, 0x52,0x7d,0x54,0x80,0x1d,
+0x1a,0x1e,0x12,0x7, 0x73,0x48,0x1b,0xbe,0x78,0x1, 0x4, 0x48,0x9, 0x7d,0x1b,0x12,
+0x6, 0x54,0x7d,0x5b,0x80,0x7, 0x7d,0x18,0x12,0x6, 0x54,0x7d,0x58,0x12,0x7, 0x84,
+0x80,0x2e,0xbe,0x78,0x0, 0x87,0x18,0x9, 0x7d,0x1a,0x12,0x6, 0x54,0x7d,0x5a,0x80,
+0x7, 0x7d,0x16,0x12,0x6, 0x54,0x7d,0x56,0x12,0x7, 0x84,0xbe,0x78,0x0, 0x0, 0x58,
+0xf, 0x9f,0x11,0x9f,0x17,0x12,0x0, 0xe, 0x7f,0x71,0x9f,0x11,0x9f,0x17,0x7f,0x71,
+0xbe,0x78,0x0, 0x0, 0x58,0x6, 0x9f,0x11,0x7f,0x71,0x80,0x11,0x7d,0x1d,0x12,0x7,
+0x7d,0x48,0xa, 0x7d,0x3d,0x1a,0x26,0x1a,0x24,0x1b,0x1c,0x7f,0x71,0xbe,0xf0,0x5,
+0x40,0xc, 0x7d,0x1d,0x1a,0x2, 0x1a,0x0, 0x7f,0x17,0x2f,0x10,0x7f,0x71,0x7f,0x17,
+0xda,0x3b,0x22,0x1a,0x2, 0x7f,0x17,0x2f,0x10,0x7f,0x71,0x7d,0x1c,0x1a,0x2, 0x1a,
+0x0, 0xbf,0x70,0x22,0x3e,0x54,0x1a,0x4a,0x1a,0x48,0x7d,0x1d,0x1a,0x2, 0x1a,0x0,
+0x9f,0x2, 0x12,0x4, 0x59,0x7f,0x71,0x22,0xca,0x3b,0x7e,0xa3,0x0, 0x90,0x7c,0xca,
+0x5e,0xc0,0xf, 0x7c,0xba,0xc4,0x7c,0x3b,0x5e,0x30,0xf, 0x4c,0xcc,0x78,0x2d,0x12,
+0x9, 0xa5,0xbe,0x30,0x0, 0x38,0x3, 0x2, 0x9, 0xa2,0x6c,0xff,0x7e,0x20,0xff,0x74,
+0x5, 0xac,0xbf,0x19,0x25,0x2, 0xc4,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xf1,0x75,0x1c,
+0x1, 0x75,0x12,0x0, 0xe4,0x7a,0xb3,0xc, 0xf7,0x2, 0x9, 0xa2,0x7e,0x23,0xc, 0xf7,
+0xbe,0x20,0x3c,0x50,0x14,0x7e,0x4, 0xa, 0x0, 0x7a,0x7, 0x0, 0x9e,0x12,0x4b,0x9f,
+0x7c,0xb2,0x4, 0x7a,0xb3,0xc, 0xf7,0x80,0xd, 0x7e,0x37,0x0, 0x9e,0xbe,0x34,0xa,
+0x0, 0x68,0x3, 0x12,0x4b,0x97,0x6c,0xff,0x7e,0x20,0xff,0x74,0x5, 0xac,0xbf,0x19,
+0x25,0xa, 0x1, 0x7e,0x34,0x7f,0xff,0x59,0x35,0x9, 0xfd,0x59,0x35,0x9, 0xff,0xb,
+0xf0,0xbe,0xf0,0x2, 0x78,0xe2,0x6c,0xff,0x80,0x23,0x7e,0x50,0x5, 0xac,0x5f,0x7d,
+0x2, 0x2e,0x4, 0x0, 0x7a,0xb, 0x8, 0x30,0x12,0x0, 0x6a,0x1b,0x8, 0x30,0x2e,0x24,
+0x0, 0x7c,0xb, 0x28,0x30,0x12,0x0, 0x6a,0x1b,0x28,0x30,0xb, 0xf0,0xbc,0xcf,0x38,
+0xd9,0xa5,0xbb,0x0, 0x28,0x6c,0xff,0x80,0x1e,0x74,0x5, 0xac,0xbf,0x49,0x45,0x0,
+0x7a,0x59,0x45,0x2, 0xc0,0x49,0x45,0x0, 0x7c,0x59,0x45,0x2, 0xc2,0x9, 0x75,0x0,
+0x7e,0x19,0x75,0x2, 0xc4,0xb, 0xf0,0xbc,0xcf,0x38,0xde,0x21,0x4a,0x6c,0xdd,0x6c,
+0xff,0x6c,0xee,0x7e,0x70,0x5, 0xac,0x7e,0x9, 0xa3,0x2, 0xc4,0x7e,0x50,0x5, 0xac,
+0x5f,0x9, 0xb2,0x0, 0x7e,0xbc,0xba,0x78,0x13,0xbe,0xb0,0xff,0x68,0xe, 0xbe,0xd0,
+0x2, 0x50,0x10,0x2e,0x34,0x2, 0xc0,0x12,0xe, 0x60,0x80,0x7, 0xb, 0xe0,0xbe,0xe0,
+0x2, 0x40,0xd0,0xbe,0xe0,0x2, 0x78,0xb, 0xbe,0xd0,0x2, 0x50,0x6, 0x12,0x46,0x28,
+0x12,0xe, 0x60,0xb, 0xd0,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xb5,0x6c,0xff,0x12,0x46,
+0x18,0x2e,0x34,0x9, 0xfd,0x2e,0x14,0x2, 0xc0,0x12,0x46,0x32,0x78,0xf0,0xe5,0x12,
+0x70,0x68,0x6c,0xff,0x80,0x60,0x7c,0xef,0x6c,0xdd,0x80,0x21,0x7e,0x90,0x5, 0xac,
+0x9f,0x9, 0xa4,0x2, 0xc4,0x7e,0x70,0x5, 0xac,0x7d,0x9, 0xb3,0x0, 0x7e,0xbc,0xba,
+0x78,0x9, 0xbe,0xa0,0xff,0x68,0x4, 0x7c,0xed,0x80,0x6, 0xb, 0xd0,0xbc,0xcd,0x38,
+0xdb,0xbe,0xe0,0x2, 0x40,0x2, 0x7c,0xef,0x12,0xf, 0xfd,0xbe,0x34,0x18,0xe0,0x50,
+0xa, 0x49,0x24,0x2, 0xc2,0xbe,0x24,0x18,0xe0,0x40,0x12,0x49,0x24,0x0, 0x7a,0x74,
+0x5, 0xac,0xbf,0x59,0x25,0x2, 0xc0,0x59,0x35,0x2, 0xc2,0x80,0x7, 0x7c,0xbf,0x7c,
+0x7e,0x12,0x9, 0xdd,0xb, 0xf0,0xbc,0xcf,0x38,0x9c,0x6c,0xff,0x74,0x5, 0xac,0xbf,
+0x49,0x45,0x2, 0xc0,0x12,0x0, 0x1e,0x59,0x45,0x0, 0x7a,0x49,0x45,0x2, 0xc2,0x12,
+0x0, 0x1e,0x59,0x45,0x0, 0x7c,0x9, 0x75,0x2, 0xc4,0x19,0x75,0x0, 0x7e,0xb, 0xf0,
+0xbe,0xf0,0x2, 0x78,0xd7,0xbe,0xc0,0x0, 0x28,0x25,0x6c,0xff,0x74,0x5, 0xac,0xbf,
+0x49,0x45,0x0, 0x7a,0x59,0x45,0x2, 0xb6,0x49,0x45,0x0, 0x7c,0x59,0x45,0x2, 0xb8,
+0x9, 0x75,0x0, 0x7e,0x19,0x75,0x2, 0xba,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xdd,0x75,
+0x9, 0x1, 0xda,0x3b,0x22,0x12,0xe, 0xaf,0x78,0x32,0x20,0xc, 0x2f,0x6c,0xaa,0x7e,
+0x44,0x7f,0xff,0x7e,0x70,0x4, 0xac,0x7a,0x59,0x43,0xc, 0xe1,0x59,0x43,0xc, 0xe3,
+0x6d,0x33,0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0xc, 0xdd,0x7e,0x34,0x1, 0x0, 0x59,
+0x32,0xc, 0xd9,0xb, 0xa0,0xbe,0xa0,0x2, 0x78,0xd5,0xd2,0xc, 0x22,0xca,0x3b,0x7c,
+0xe7,0x7c,0xdb,0x75,0x24,0x0, 0x9f,0x11,0x7a,0x1f,0xa, 0xb, 0x7a,0x1f,0xa, 0xf,
+0x7a,0x1f,0xa, 0x13,0x12,0x44,0x9, 0x74,0x5, 0xac,0xbd,0x49,0x15,0x2, 0xc0,0x49,
+0x5, 0x2, 0xc2,0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x7, 0x74,0x5, 0xac,0xbd,0x9, 0xf5,
+0x2, 0xc4,0xbe,0xf0,0x2, 0x40,0x2, 0x6c,0xff,0x12,0x44,0x9, 0x74,0x4, 0xac,0xbf,
+0x49,0x15,0xc, 0xe1,0x49,0x5, 0xc, 0xe3,0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x9, 0x7e,
+0x27,0xa, 0x7, 0x7e,0x34,0x0, 0xdc,0xad,0x23,0x7e,0x17,0x0, 0x9e,0x12,0x4, 0x6,
+0x7a,0x35,0x22,0xbe,0x34,0x0, 0xa, 0x50,0x7, 0x7e,0x34,0x0, 0xa, 0x7a,0x35,0x22,
+0x75,0x24,0x0, 0x6c,0xcc,0x7e,0x90,0x14,0xac,0x9f,0x49,0x24,0xb, 0x3, 0x49,0x34,
+0xb, 0x7, 0xbd,0x32,0x78,0xe, 0x49,0x54,0xb, 0x5, 0x49,0x34,0xb, 0x9, 0xbd,0x35,
+0x78,0x2, 0xa1,0x41,0x74,0x5, 0xac,0xbe,0x49,0x15,0x0, 0x7c,0x1e,0x14,0x1e,0x14,
+0x1e,0x14,0x1e,0x14,0x6d,0x0, 0x7a,0xf, 0xa, 0x13,0xbe,0x8, 0x0, 0x18,0x48,0xa,
+0x7e,0xf, 0xa, 0x13,0xbe,0x8, 0x1, 0x76,0x8, 0x5, 0x75,0x25,0x34,0x80,0x1c,0x7e,
+0xf, 0xa, 0x13,0xbe,0x8, 0x0, 0x31,0x48,0xa, 0x7e,0xf, 0xa, 0x13,0xbe,0x8, 0x1,
+0x5d,0x8, 0x5, 0x75,0x25,0x20,0x80,0x3, 0x75,0x25,0x19,0x49,0x35,0x0, 0x7a,0x12,
+0xe, 0xa3,0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0xf, 0x74,0x5, 0xac,0xbe,0x49,0x35,0x0,
+0x7c,0x12,0xe, 0xa3,0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x5, 0x12,0xe, 0x2f,0x7a,
+0x1f,0xa, 0x13,0x7d,0x3, 0x7e,0x1f,0xa, 0xf, 0x7d,0x13,0x2d,0x10,0x7a,0x17,0xa,
+0x17,0xbe,0x14,0x0, 0x7, 0x8, 0x3d,0xbe,0x18,0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,
+0x1f,0xa, 0xf, 0x7e,0x1f,0xa, 0x13,0xbe,0x18,0x0, 0x0, 0x78,0xa, 0x7e,0x1f,0xa,
+0x13,0xb, 0x1c,0x7a,0x1f,0xa, 0x13,0x12,0xe, 0x39,0x8, 0x4, 0xb, 0xc0,0x80,0x14,
+0x7e,0x1f,0xa, 0xb, 0xbe,0x18,0x0, 0x64,0x8, 0xa, 0x12,0x5b,0xb5,0x12,0xe, 0x4e,
+0x8, 0x2, 0x5, 0x24,0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x3, 0x49,0x35,0xb, 0x7,
+0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0xf, 0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x5, 0x49,
+0x35,0xb, 0x9, 0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0x13,0x7e,0x1f,0xa, 0xf, 0xbe,0x18,
+0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,0x1f,0xa, 0xf, 0x7e,0x1f,0xa, 0x13,0xbe,0x18,
+0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,0x1f,0xa, 0x13,0x12,0xe, 0x39,0x8, 0x4, 0xb,
+0xc0,0x80,0x14,0x7e,0x1f,0xa, 0xb, 0xbe,0x18,0x0, 0x64,0x8, 0xa, 0x12,0x5b,0xb5,
+0x12,0xe, 0x4e,0x8, 0x2, 0x5, 0x24,0x74,0x14,0xac,0xbf,0x12,0xe, 0x6e,0x7d,0xf3,
+0xbe,0xf7,0xa, 0x17,0x8, 0x2, 0xa1,0x2e,0xe5,0x25,0xbe,0xb0,0x34,0x7e,0x1f,0xa,
+0xb, 0x40,0x9, 0x12,0x5b,0x60,0x7e,0x8, 0x0, 0x5a,0x80,0x7, 0x12,0x5b,0x60,0x7e,
+0x8, 0x0, 0x4b,0x12,0x4, 0x59,0x7a,0x1f,0xa, 0xb, 0xe5,0x24,0x60,0x2, 0x81,0xe2,
+0x4c,0xcc,0x68,0x2, 0x81,0xe2,0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0x3, 0x6d,0x22,
+0x49,0x15,0xb, 0xb, 0x6d,0x0, 0x9f,0x1, 0x7a,0xf, 0xa, 0xf, 0x12,0x5a,0xeb,0x74,
+0x14,0xac,0xbf,0x49,0x15,0xb, 0x3, 0x12,0x5b,0x50,0x49,0x15,0x0, 0x7a,0x6d,0x0,
+0x2f,0x10,0xbe,0x18,0x0, 0x0, 0x48,0x19,0x74,0x6, 0xac,0xbf,0x49,0xe5,0xc, 0xed,
+0x4d,0xee,0x78,0xd, 0x12,0x0, 0x10,0x7d,0xe3,0x74,0x5, 0xac,0xbe,0x59,0xe5,0x0,
+0x7a,0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0x5, 0x6d,0x22,0x74,0x14,0xac,0xbf,0x12,
+0x57,0xd1,0x9f,0x1, 0x7a,0xf, 0xa, 0x13,0x12,0x5a,0xeb,0x74,0x14,0xac,0xbf,0x49,
+0x15,0xb, 0x5, 0x12,0x5b,0x50,0x49,0x15,0x0, 0x7c,0x6d,0x0, 0x2f,0x10,0xbe,0x18,
+0x0, 0x0, 0x48,0x17,0x74,0x6, 0xac,0xbf,0x49,0x15,0xc, 0xed,0x4d,0x11,0x78,0xb,
+0x12,0x0, 0x10,0x74,0x5, 0xac,0xbe,0x59,0x35,0x0, 0x7c,0x7e,0x90,0x6, 0xac,0x9f,
+0x49,0x54,0xc, 0xe9,0x4d,0x55,0x78,0x14,0x7e,0x1f,0xa, 0xf, 0x7d,0x53,0x59,0x54,
+0xc, 0xe9,0x7e,0x1f,0xa, 0x13,0x7d,0x53,0x59,0x54,0xc, 0xeb,0x49,0x34,0xc, 0xe9,
+0x1a,0x26,0x1a,0x24,0x7e,0x7f,0xa, 0xf, 0x7f,0x7, 0x12,0xe, 0x9b,0x48,0x11,0x49,
+0x34,0xc, 0xeb,0x1a,0x26,0x1a,0x24,0x7e,0xf, 0xa, 0x13,0x12,0xe, 0x9b,0x58,0x32,
+0x74,0x6, 0xac,0xbf,0x49,0x35,0xc, 0xed,0xbe,0x34,0x0, 0x3, 0x58,0xe, 0x7e,0x50,
+0x6, 0xac,0x5f,0x2e,0x24,0xc, 0xed,0xb, 0x34,0x1b,0x28,0x30,0x7d,0x3f,0x74,0x6,
+0xac,0xbf,0x59,0x35,0xc, 0xe9,0x7e,0x1f,0xa, 0x13,0x74,0x6, 0xac,0xbf,0x59,0x35,
+0xc, 0xeb,0xe5,0x24,0xbe,0xb0,0x2, 0x40,0xe, 0x74,0x6, 0xac,0xbf,0x49,0x45,0xc,
+0xed,0xbe,0x44,0x0, 0x2, 0x48,0x5, 0x75,0x24,0x0, 0x80,0xc, 0x4d,0x44,0x78,0x8,
+0x7e,0x34,0x0, 0x1, 0x59,0x35,0xc, 0xed,0xbe,0xc0,0x2, 0x40,0xf, 0x7e,0x50,0x6,
+0xac,0x5f,0x49,0x32,0xc, 0xed,0xbe,0x34,0x0, 0x2, 0x48,0x4, 0x6c,0xcc,0x80,0x33,
+0x4d,0x33,0x78,0x2f,0x7e,0x34,0x0, 0x1, 0x59,0x32,0xc, 0xed,0x80,0x25,0x7e,0x34,
+0x0, 0x2, 0x74,0x6, 0xac,0xbf,0x59,0x35,0xc, 0xed,0x75,0x24,0x0, 0x6c,0xcc,0x80,
+0x12,0x6d,0x33,0x74,0x6, 0xac,0xbf,0x59,0x35,0xc, 0xe9,0x59,0x35,0xc, 0xeb,0x59,
+0x35,0xc, 0xed,0x7e,0x35,0x22,0xbe,0x34,0x1, 0x0, 0x28,0x7, 0x7e,0x34,0x1, 0x0,
+0x7a,0x35,0x22,0x74,0x5, 0xac,0xbd,0x49,0x25,0x2, 0xc0,0x74,0x5, 0xac,0xbe,0x12,
+0x44,0x7a,0x7a,0x37,0xa, 0x9, 0xe5,0x24,0x60,0x13,0x12,0x5b,0x6f,0x74,0x14,0x1e,
+0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x80,0x3, 0x12,0x5b,0x40,
+0x7a,0x37,0xa, 0x9, 0x7e,0x90,0x5, 0xac,0x9d,0x49,0x34,0x2, 0xc0,0x74,0x5, 0xac,
+0xbe,0x49,0x25,0x0, 0x7a,0xbd,0x23,0x28,0x11,0x7d,0x14,0x2e,0x14,0x2, 0xc0,0x7d,
+0x23,0x2e,0x27,0xa, 0x9, 0x1b,0x18,0x20,0x80,0xd, 0x7d,0x24,0x2e,0x24,0x2, 0xc0,
+0x9e,0x37,0xa, 0x9, 0x1b,0x28,0x30,0x49,0x24,0x2, 0xc2,0x12,0x46,0xf, 0x7a,0x37,
+0xa, 0x9, 0x4c,0xcc,0x68,0x13,0x12,0x5b,0x6f,0x74,0xa, 0x1e,0x34,0x1e,0x24,0x50,
+0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x80,0x3, 0x12,0x5b,0x40,0x7a,0x37,0xa, 0x9,
+0x7e,0x30,0x5, 0xac,0x3d,0x49,0x21,0x2, 0xc2,0x12,0xf, 0xfd,0xbd,0x32,0x7d,0x51,
+0x28,0xf, 0x2e,0x54,0x2, 0xc2,0x7d,0x2, 0x2e,0x7, 0xa, 0x9, 0x1b,0x58,0x0, 0x80,
+0xb, 0x2e,0x54,0x2, 0xc2,0x9e,0x27,0xa, 0x9, 0x1b,0x58,0x20,0x49,0x24,0x0, 0x7a,
+0x74,0x4, 0xac,0xbf,0x59,0x25,0xc, 0xe1,0x59,0x35,0xc, 0xe3,0xda,0x3b,0x22,0x9d,
+0x32,0x12,0x0, 0x2e,0x1a,0x26,0x1a,0x24,0x22,0x7e,0xb4,0x0, 0x64,0x7e,0x7f,0xa,
+0x13,0x7f,0x17,0x7d,0x1b,0x12,0x3, 0xfd,0x7e,0x6f,0xa, 0xf, 0x7f,0x6, 0x12,0x4,
+0x59,0x7f,0x1, 0x7a,0xf, 0xa, 0xb, 0xe5,0x25,0xa, 0x3b,0x6d,0x22,0xbf,0x10,0x22,
+0x7e,0x30,0x5, 0xac,0x3d,0x2e,0x14,0x9, 0xfd,0x74,0x5, 0x2, 0x4, 0x8d,0x49,0x35,
+0xb, 0xb, 0x49,0x25,0xb, 0xd, 0x49,0x15,0xb, 0x3, 0x49,0x5, 0xb, 0x5, 0xca,0x3b,
+0x7d,0x61,0x7a,0x35,0x26,0x7d,0x32,0x9d,0x30,0x12,0x0, 0x2e,0x7d,0x73,0x7e,0x35,
+0x26,0x9d,0x36,0x12,0x0, 0x2e,0x2d,0x37,0xda,0x3b,0x22,0x12,0x3, 0xec,0xbe,0x18,
+0x0, 0x0, 0x22,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x22,0x12,0xe, 0xba,0x7e,
+0xb3,0x0, 0x90,0x54,0xf, 0x22,0x7a,0xb3,0xb, 0x88,0x60,0x2a,0x7e,0xb3,0x6, 0xca,
+0x20,0xe7,0x3d,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x47,0x50,0xf7,0x12,0x5b,
+0x35,0x7e,0xb3,0x6, 0xca,0x54,0xc7,0x44,0x10,0x12,0x17,0x5f,0x12,0x5b,0x95,0x44,
+0x80,0x7a,0xb3,0x6, 0xca,0x22,0x7e,0xb3,0x6, 0xca,0x30,0xe7,0x13,0x54,0xc7,0x44,
+0x28,0x12,0x17,0x5f,0x12,0x5b,0x95,0x54,0x7f,0x7a,0xb3,0x6, 0xca,0x2, 0x37,0x96,
+0x22,0xca,0x79,0x7e,0x77,0x0, 0x92,0x4d,0x77,0x78,0x32,0xe4,0x12,0xe, 0xac,0xbe,
+0xb0,0x0, 0x28,0x5, 0x75,0xb, 0x0, 0xe1,0xa6,0x7e,0xb3,0x0, 0x94,0x20,0xe0,0x2,
+0xe1,0xa6,0x7e,0x73,0x0, 0x99,0xbe,0x71,0xb, 0x38,0x7b,0x75,0xb, 0x0, 0x7e,0x34,
+0x0, 0x1, 0x7a,0x37,0x0, 0x92,0x74,0x1, 0x12,0xe, 0xb6,0x80,0x69,0xbe,0x74,0x0,
+0x1, 0x78,0x14,0x74,0x1, 0x12,0xe, 0xac,0x68,0x5c,0x12,0x4b,0x8f,0x12,0xe, 0xb6,
+0x75,0xd, 0x27,0xd2,0x5, 0x80,0x4f,0xbe,0x74,0x0, 0x3, 0x78,0x49,0x7e,0xb3,0x0,
+0x9b,0x12,0x4e,0x28,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x47,0x50,0xf7,0x12,
+0xf, 0xf3,0x12,0x37,0x5f,0x74,0x2, 0x12,0xf, 0xcd,0x12,0x38,0xe2,0x12,0x0, 0x17,
+0xc2,0xa8,0xc2,0x95,0xa9,0xd0,0xca,0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,0x4e,0x10,
+0x12,0x1c,0xba,0x12,0x4b,0x8f,0x7a,0xb3,0xb, 0x88,0x74,0xa, 0x7a,0xb3,0x6, 0xda,
+0x7e,0xb3,0x6, 0xda,0x70,0xfa,0x7e,0x77,0x0, 0x92,0x4d,0x77,0x78,0xb, 0x80,0x4,
+0xe4,0x12,0xf, 0xcd,0x30,0x5, 0xf9,0x80,0xc, 0xbe,0x74,0x0, 0x1, 0x78,0x6, 0x12,
+0xf, 0xf3,0x12,0x37,0xb4,0x75,0xd, 0x0, 0xc2,0x5, 0xda,0x79,0x22,0x70,0x5, 0x43,
+0x87,0x1, 0x80,0x1a,0xb4,0x1, 0xb, 0xa9,0xd0,0xce,0xa9,0xd7,0xc9,0x43,0x87,0x2,
+0x80,0xc, 0xb4,0x2, 0xd, 0xa9,0xd0,0xce,0xa9,0xc7,0xc9,0x43,0x87,0x2, 0x0, 0x0,
+0x0, 0x0, 0x22,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x20,0x93,0xf9,0x22,0x7e,0x90,0x5,
+0xac,0x9e,0x49,0x34,0x0, 0x7c,0x22,0x7d,0xf3,0xbe,0xf4,0x0, 0x50,0x38,0x28,0x7e,
+0x54,0x0, 0x50,0x9d,0x5f,0x12,0x11,0x3b,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x28,
+0x4, 0x9f,0x22,0x80,0x8, 0x7e,0x18,0x0, 0x2d,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0,
+0x0, 0x50,0x64,0x9f,0x22,0x80,0x60,0xbe,0xf4,0x1, 0x2f,0x40,0x20,0x12,0x11,0x35,
+0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x40,0x4, 0x7e,0x28,0x0, 0x2c,0xbe,0x28,0x0,
+0x2d,0x28,0x4, 0x7e,0x28,0x0, 0x2d,0x2e,0x28,0x1, 0x61,0x80,0x3a,0xbe,0xf4,0x0,
+0xbf,0x50,0x23,0x7e,0x54,0x0, 0xbf,0x9d,0x5f,0x12,0x10,0xa0,0xbe,0x28,0x0, 0xc7,
+0x38,0x8, 0x7e,0x18,0x0, 0xc7,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0, 0x2d,0x50,0x17,
+0x7e,0x28,0x0, 0x2d,0x80,0x11,0x12,0x10,0x9a,0x2e,0x28,0x0, 0xc7,0xbe,0x28,0x1,
+0x61,0x28,0x4, 0x7e,0x28,0x1, 0x61,0x7d,0x35,0x22,0x7d,0x5f,0x9e,0x54,0x0, 0xbf,
+0x6d,0x44,0x7e,0x14,0x1, 0x81,0x7f,0x12,0x12,0x3, 0xfd,0x7f,0x21,0x7c,0xba,0x7c,
+0xa9,0xa, 0x48,0x22,0x7d,0xf3,0xbe,0xf4,0x0, 0x50,0x38,0x20,0x7e,0x54,0x0, 0x50,
+0x9d,0x5f,0x12,0x11,0x3b,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x28,0x4, 0x9f,0x22,
+0x80,0x60,0x7e,0x18,0x0, 0x2d,0x9f,0x12,0x7f,0x21,0x80,0x56,0xbe,0xf4,0x1, 0x2f,
+0x40,0x16,0x12,0x11,0x35,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x40,0x4, 0x7e,0x28,
+0x0, 0x2c,0x2e,0x28,0x1, 0x61,0x80,0x3a,0xbe,0xf4,0x0, 0xbf,0x50,0x23,0x7e,0x54,
+0x0, 0xbf,0x9d,0x5f,0x12,0x10,0xa0,0xbe,0x28,0x0, 0xc7,0x38,0x8, 0x7e,0x18,0x0,
+0xc7,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0, 0x2d,0x50,0x17,0x7e,0x28,0x0, 0x2d,0x80,
+0x11,0x12,0x10,0x9a,0x2e,0x28,0x0, 0xc7,0xbe,0x28,0x1, 0x61,0x28,0x4, 0x7e,0x28,
+0x1, 0x61,0x7d,0x35,0x22,0x7d,0x5f,0x9e,0x54,0x1, 0x2f,0x6d,0x44,0x7e,0x14,0x2,
+0x7, 0x22,0xca,0xf8,0x6c,0xff,0x80,0x1d,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7a,
+0x12,0x10,0x7, 0x74,0x5, 0xac,0xbf,0x59,0x35,0x0, 0x7a,0x49,0x35,0x0, 0x7c,0x12,
+0x10,0xb4,0x12,0x44,0x54,0x12,0x40,0x97,0x48,0xde,0xda,0xf8,0x22,0xca,0xf8,0x12,
+0x38,0xe2,0x12,0x38,0xf1,0x12,0x4b,0xf7,0x12,0x46,0x61,0x12,0x21,0xf9,0x12,0x4e,
+0xee,0x7e,0xb3,0xb, 0x9f,0xb4,0x1, 0x2, 0x80,0x2, 0x41,0x71,0x7e,0xf3,0x6, 0x4d,
+0x4c,0xff,0x68,0x36,0xbe,0xf0,0x1, 0x78,0xa, 0xe4,0x7a,0xb3,0x6, 0x4d,0x12,0x1f,
+0xe, 0x80,0x12,0xbe,0xf0,0x3, 0x78,0x5, 0x12,0x1b,0xd2,0x80,0x8, 0xbe,0xf0,0x2,
+0x78,0x3, 0x12,0x17,0xf5,0x7e,0x34,0xa, 0xd1,0x12,0x14,0xd7,0x7e,0x34,0xa, 0xbb,
+0x12,0x14,0xd7,0x7e,0x34,0xa, 0x8d,0x12,0x14,0xd7,0x12,0x27,0x61,0x12,0x3f,0xff,
+0x12,0x38,0xfa,0x44,0x1, 0x7a,0xb3,0x6, 0xd7,0x12,0x15,0xa, 0x12,0x37,0x3e,0x12,
+0x28,0x30,0x12,0x36,0x4a,0x12,0x28,0x69,0x12,0x2c,0xc8,0x12,0x44,0x16,0x7e,0xb3,
+0x6, 0x67,0x30,0xe1,0x3, 0x12,0x14,0xe7,0x12,0xe, 0xaf,0x12,0x0, 0x3e,0x7e,0x34,
+0x3, 0x5c,0x7e,0x24,0x5, 0x34,0x7e,0xb3,0x6, 0xc8,0x12,0x49,0x5e,0x12,0x0, 0x6,
+0x12,0x2b,0xb1,0x12,0x11,0x42,0x12,0x40,0x66,0x12,0x35,0x68,0x12,0x12,0x74,0x7e,
+0xb3,0xb, 0x38,0x60,0x8, 0xe4,0x7a,0xb3,0xb, 0x38,0x12,0x33,0x41,0x12,0x48,0x49,
+0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x3, 0x12,0x14,0xe7,0x12,0x18,0x68,0x12,0x35,0xfc,
+0x12,0x33,0x4c,0x12,0x32,0xdc,0x12,0x40,0xa4,0x12,0x44,0x83,0x12,0x7, 0x98,0x12,
+0x58,0x65,0x12,0x51,0x5d,0x12,0x53,0xde,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x3, 0x12,
+0x14,0xe7,0x7e,0xb3,0x0, 0x9a,0x12,0x46,0x84,0x12,0xf, 0x1, 0x12,0x47,0xfd,0x21,
+0x81,0xda,0xf8,0x22,0xca,0x3b,0x7e,0xb3,0x0, 0x90,0x7c,0xab,0x5e,0xa0,0xf, 0x7a,
+0xa1,0x25,0xc4,0x54,0xf, 0x54,0xf, 0xf5,0x26,0x7e,0x77,0x0, 0x6a,0x7e,0x67,0x0,
+0x6c,0x7e,0xb3,0x0, 0x68,0xf5,0x23,0x7e,0xb3,0x0, 0x69,0xf5,0x24,0x4c,0xaa,0x78,
+0x4, 0xc2,0x4, 0x81,0x5f,0xe5,0x25,0xbe,0xb0,0x1, 0x28,0x58,0x75,0x22,0x0, 0x80,
+0x48,0x12,0x14,0xd0,0x49,0x45,0x0, 0x7a,0x7a,0x45,0x2f,0x49,0x35,0x0, 0x7c,0x12,
+0x14,0xff,0x28,0xa, 0x12,0x14,0xdf,0x28,0x2e,0xbe,0x35,0x31,0x28,0x29,0x12,0x14,
+0x88,0xbd,0x36,0x28,0x22,0x7a,0x65,0x29,0x12,0x17,0xe4,0x50,0x3, 0x12,0x17,0xdc,
+0x7e,0x35,0x33,0x12,0x14,0xad,0x12,0x14,0xd0,0x59,0x35,0x0, 0x7a,0x12,0x14,0xaa,
+0x12,0x14,0xd0,0x59,0x35,0x0, 0x7c,0x5, 0x22,0xe5,0x25,0xbe,0xb1,0x22,0x38,0xb1,
+0xc2,0x4, 0x81,0x5f,0xe5,0x25,0xb4,0x1, 0x22,0xe5,0x26,0x70,0x1e,0x12,0x14,0xf4,
+0x28,0xe, 0x12,0x14,0xdf,0x28,0x5, 0xbe,0x35,0x31,0x38,0x4, 0xc2,0x4, 0x81,0x5f,
+0x12,0x14,0x88,0x7a,0x35,0x29,0x12,0x5b,0x22,0x61,0xf6,0xe5,0x25,0xb4,0x1, 0x2,
+0x80,0x2, 0x61,0xf6,0x12,0x14,0xf4,0x28,0xe, 0x12,0x14,0xdf,0x28,0x5, 0xbe,0x35,
+0x31,0x38,0x4, 0xc2,0x4, 0x81,0x5f,0x12,0x14,0x88,0x9e,0x37,0x0, 0x60,0x12,0x0,
+0x2e,0x7a,0x35,0x2b,0x7e,0x35,0x33,0x9e,0x37,0x0, 0x50,0x7e,0x25,0x35,0x9e,0x27,
+0x0, 0x52,0x12,0x14,0x6b,0x7a,0x35,0x2d,0x7e,0x37,0x0, 0x70,0xbe,0x35,0x2d,0x50,
+0x28,0x7e,0x35,0x27,0x9e,0x37,0x0, 0x54,0x12,0x0, 0x2e,0x7e,0xa1,0x23,0x74,0x5,
+0xa4,0xbd,0x35,0x58,0xc, 0x7e,0xa0,0x2, 0xe5,0x23,0xa4,0xf5,0x23,0xd2,0x4, 0x80,
+0x8, 0x7e,0xb3,0x0, 0x68,0xf5,0x23,0xc2,0x4, 0x30,0x4, 0x30,0xe5,0x23,0xa, 0x3b,
+0xbe,0x35,0x2b,0x28,0x4, 0x6d,0x33,0x80,0x27,0xe5,0x24,0xa, 0x3b,0xbe,0x35,0x2b,
+0x28,0x14,0x7e,0x25,0x2b,0x7e,0x34,0x0, 0x64,0xad,0x23,0xe5,0x24,0xa, 0x1b,0x6d,
+0x0, 0x12,0x4, 0x8, 0x80,0xa, 0x7e,0x34,0x0, 0x64,0x80,0x4, 0x7e,0x34,0x0, 0x64,
+0x7a,0x35,0x2b,0x7e,0xf7,0x0, 0x60,0x7d,0x1f,0x6d,0x0, 0x7e,0x35,0x27,0x6d,0x22,
+0x9f,0x10,0x7e,0x15,0x2b,0x12,0x3, 0xfd,0x12,0x2f,0x31,0x7f,0x1, 0x7d,0x3f,0x6d,
+0x22,0x2f,0x10,0x7a,0x35,0x29,0x7e,0x35,0x29,0xbd,0x36,0x38,0x7, 0x7e,0x25,0x27,
+0xbd,0x26,0x28,0x5, 0x7a,0x65,0x29,0x80,0xb, 0xbe,0x34,0x0, 0x1, 0x50,0x5, 0x6d,
+0x33,0x7a,0x35,0x29,0x12,0x17,0xe4,0x50,0x3, 0x12,0x17,0xdc,0x7e,0x35,0x33,0x12,
+0x14,0xad,0x7a,0x37,0x0, 0x7a,0x12,0x14,0xaa,0x7d,0x23,0x7a,0x27,0x0, 0x7c,0x7e,
+0x37,0x0, 0x7a,0x7a,0x35,0x2f,0x7a,0x25,0x31,0x7d,0x27,0x12,0x14,0x62,0x7a,0x35,
+0x33,0x7e,0x35,0x31,0x7d,0x27,0x12,0x14,0x62,0x7a,0x35,0x35,0x7e,0x35,0x29,0x7a,
+0x37,0x0, 0x60,0x7e,0x27,0x0, 0x70,0xbe,0x25,0x2d,0x50,0x3, 0x12,0x5b,0x22,0xda,
+0x3b,0x22,0x7d,0x12,0x6d,0x0, 0x6d,0x22,0x9f,0x10,0x22,0x7d,0x52,0x7d,0x43,0x7d,
+0x35,0x12,0x17,0x56,0x7f,0x71,0x7d,0x34,0x12,0x17,0x56,0x2f,0x17,0x7c,0xb4,0x12,
+0x1, 0x20,0x12,0x1, 0x9a,0x2, 0x1, 0x5d,0x7e,0x35,0x2f,0x7d,0x27,0x12,0x14,0x62,
+0x7a,0x35,0x33,0x7e,0x35,0x31,0x7d,0x27,0x12,0x14,0x62,0x7d,0x23,0x7a,0x25,0x35,
+0x7e,0x35,0x33,0x12,0x14,0x6b,0x7a,0x35,0x27,0x22,0x7e,0x35,0x35,0x7e,0x25,0x29,
+0x7e,0x15,0x27,0x7d,0x7, 0x7d,0xf0,0x7d,0xe1,0x7d,0x12,0x1a,0x26,0x1a,0x24,0x12,
+0x3, 0xfd,0x7d,0x1e,0x6d,0x0, 0x12,0x4, 0x59,0x7d,0x1f,0x6d,0x0, 0x2f,0x10,0x22,
+0x7e,0xa1,0x22,0x74,0x5, 0xa4,0x22,0x7e,0x24,0x0, 0x16,0xe4,0x2, 0x4, 0xeb,0x7e,
+0x37,0x0, 0x72,0xbe,0x35,0x2f,0x22,0x7e,0xb3,0x0, 0x90,0x54,0xf0,0x44,0x2, 0x7a,
+0xb3,0x0, 0x90,0x22,0x7e,0x37,0x0, 0x7a,0x7a,0x35,0x2f,0x7e,0x37,0x0, 0x7c,0x7a,
+0x35,0x31,0x7e,0x73,0x6, 0xc7,0xbe,0x70,0x0, 0x22,0xca,0x3b,0x12,0x17,0xcd,0x30,
+0xe1,0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0xc, 0x7e,0xb3,0xd, 0x3f,0x70,0x14,0x7e,
+0xb3,0xd, 0x3c,0x70,0xe, 0x7e,0xb3,0x6, 0x67,0x20,0xe0,0x2, 0xc1,0x4e,0x20,0xe2,
+0x2, 0xc1,0x4e,0x7c,0xba,0x30,0xe1,0x8, 0x7e,0xb3,0x6, 0x12,0xf5,0x28,0x80,0x6,
+0x7e,0xb3,0x6, 0x13,0xf5,0x28,0x7c,0xba,0x30,0xe1,0x7, 0x7e,0xb3,0x6, 0x67,0x30,
+0xe2,0x5, 0x75,0x29,0x1, 0x80,0x3, 0x75,0x29,0x2, 0x7e,0xb3,0xd, 0x3c,0xbe,0xb0,
+0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x3c,0x7e,0xb3,0x6, 0x67,0x30,0xe5,0xb, 0x80,
+0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x47,0x50,0xf7,0x12,0x17,0xbf,0x4e,0x70,0x2,
+0x1b,0x28,0x30,0x12,0x1f,0xc9,0x7e,0x73,0x6, 0xd6,0xa, 0x57,0x12,0x17,0x7c,0x12,
+0x17,0xec,0x75,0x25,0x0, 0xc1,0x1a,0x12,0x4e,0xa6,0x75,0x26,0x0, 0x80,0x72,0x7e,
+0xb3,0x6, 0xc9,0x54,0x1, 0x6c,0x77,0x12,0x17,0x8d,0x80,0x4, 0xe4,0x12,0xf, 0xcd,
+0x12,0x17,0x47,0x50,0xf7,0x75,0x24,0x0, 0x80,0x50,0x12,0x5a,0xfb,0x9, 0x23,0x6,
+0x96,0x7a,0x21,0x27,0x7e,0x71,0x25,0x74,0x3, 0xac,0x7b,0xe5,0x26,0xa, 0x2b,0x2d,
+0x23,0x7e,0x34,0x0, 0x58,0xad,0x32,0x7e,0x30,0x4, 0xac,0x23,0x2d,0x13,0x59,0x71,
+0x0, 0xa8,0x59,0x61,0x0, 0xa6,0x7e,0x73,0x6, 0xd6,0xbe,0x70,0x2, 0x38,0x19,0xa,
+0x7, 0x7e,0x54,0x0, 0x3, 0x9d,0x50,0x2e,0x14,0x0, 0xa6,0x12,0x4a,0x84,0x60,0x5,
+0x2f,0x11,0x14,0x78,0xfb,0x12,0x17,0xd4,0x5, 0x24,0x12,0x17,0x4e,0x38,0xab,0x5,
+0x26,0xe5,0x28,0xbe,0xb1,0x26,0x38,0x87,0x5, 0x25,0xe5,0x29,0xbe,0xb1,0x25,0x28,
+0x2, 0xa1,0x97,0x7e,0x37,0x6, 0xa, 0x99,0x34,0x12,0x17,0xbf,0x5e,0x70,0xfd,0x1b,
+0x28,0x30,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0xa, 0x1b,0x3e,0x14,0x12,0x3c,0x9a,0x12,
+0x1f,0xc9,0x7e,0xb3,0x6, 0xca,0x12,0x17,0x76,0x12,0x17,0xec,0xe1,0x44,0x7e,0xb3,
+0x6, 0xc9,0x30,0xe0,0x51,0x7e,0xb3,0x6, 0x67,0x30,0xe5,0x5, 0x12,0x17,0x47,0x50,
+0x11,0x74,0x2, 0x12,0x17,0xc7,0x12,0x4e,0xa6,0x12,0x17,0x84,0x80,0x4, 0xe4,0x12,
+0xf, 0xcd,0x12,0x17,0x47,0x50,0xf7,0xe4,0x12,0x17,0xc7,0x75,0x24,0x0, 0x80,0x17,
+0x12,0x5a,0xfb,0x9, 0xa3,0x6, 0x96,0x7a,0xa1,0x27,0x74,0x4, 0xa4,0x59,0x75,0x3,
+0x5e,0x59,0x65,0x3, 0x5c,0x5, 0x24,0x12,0x17,0x4e,0x38,0xe4,0x7e,0xb3,0x6, 0x67,
+0x30,0xe5,0x3, 0x12,0x17,0x84,0x75,0x24,0x0, 0xe1,0x37,0xe5,0x24,0xa, 0x3b,0x9,
+0xb3,0x6, 0x96,0xf5,0x27,0x12,0x17,0xcd,0x30,0xe1,0x19,0x7e,0xb3,0x6, 0xca,0xc4,
+0x23,0x54,0x7, 0xbe,0xb0,0x2, 0x38,0x22,0x12,0x5a,0xc3,0x60,0x16,0x2f,0x11,0x14,
+0x78,0xfb,0x80,0xf, 0x12,0x32,0xd4,0x38,0x11,0x12,0x5a,0xc3,0x60,0x5, 0x2f,0x11,
+0x14,0x78,0xfb,0x59,0x34,0x0, 0x2, 0x1b,0x48,0x20,0x7c,0xba,0x30,0xe0,0x46,0x7e,
+0x31,0x27,0x74,0x2, 0xac,0x3b,0x49,0xf1,0x5, 0x90,0x7d,0x3f,0x1a,0x36,0x1a,0xe6,
+0x7e,0x11,0x27,0x74,0x4, 0xac,0x1b,0x49,0x30,0x3, 0x5e,0x49,0x20,0x3, 0x5c,0x7f,
+0x21,0x9f,0x27,0x59,0x50,0x4, 0x16,0x59,0x40,0x4, 0x14,0x49,0xf1,0x5, 0x34,0x7d,
+0x1f,0x1a,0x12,0x1a,0xe2,0x7e,0x31,0x27,0x74,0x4, 0xac,0x3b,0x2e,0x14,0x3, 0x5c,
+0x9f,0x17,0x12,0x17,0xd4,0x5, 0x24,0x12,0x17,0x4e,0x28,0x2, 0xc1,0xab,0x7e,0x37,
+0x6, 0xc, 0x99,0x34,0xda,0x3b,0x22,0x30,0xa, 0x2, 0xd3,0x22,0xc3,0x22,0x7e,0x73,
+0x6, 0xc8,0xbe,0x71,0x24,0x22,0x1a,0x26,0x1a,0x24,0x7f,0x1, 0x2, 0x3, 0xec,0x7a,
+0xb3,0x6, 0xca,0x7e,0x44,0x12,0x0, 0xb, 0x48,0x50,0x5e,0xa0,0x1f,0x1b,0x48,0x50,
+0x7e,0x73,0x6, 0xca,0x7c,0xb7,0xc4,0x23,0x54,0x7, 0xa, 0x5b,0xc4,0x23,0x54,0xe0,
+0x7c,0xab,0xe4,0x22,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0x7e,0x70,0x1, 0x24,0xff,0x92,
+0xb, 0xc2,0xc6,0xd2,0xee,0xa9,0xd6,0xf7,0xd2,0xfe,0x4c,0x77,0x68,0x15,0xc2,0xaf,
+0x12,0x17,0xbf,0x4e,0x70,0x1, 0x1b,0x28,0x30,0x7e,0x37,0x6, 0x0, 0x99,0x34,0xd2,
+0xaf,0x80,0x9, 0x12,0x17,0xbf,0x4e,0x70,0x1, 0x1b,0x28,0x30,0xc2,0xa, 0x22,0x7e,
+0x24,0x12,0x0, 0xb, 0x28,0x30,0x22,0x7e,0x37,0x6, 0x2, 0x89,0x34,0x7e,0xa3,0x6,
+0xd7,0x7c,0xba,0x22,0x59,0x31,0x0, 0x2, 0x1b,0x18,0x20,0x22,0x7e,0x34,0x0, 0x1,
+0x7a,0x35,0x27,0x22,0x7e,0x35,0x27,0xbe,0x34,0x0, 0x1, 0x22,0xb, 0x28,0x30,0x4d,
+0x35,0x1b,0x28,0x30,0x22,0xca,0xf8,0x7e,0xa3,0x6, 0xd7,0x7c,0xfa,0x5e,0xf0,0x1,
+0x7c,0xba,0x12,0x1f,0xb5,0x12,0x15,0xa, 0x6c,0xaa,0x80,0x3b,0x7e,0xb3,0x6, 0x4d,
+0x60,0xb, 0xb4,0x2, 0x30,0xa, 0x3a,0x9, 0xb3,0xa, 0xbb,0x60,0x28,0x7e,0x90,0x4,
+0xac,0x9a,0x49,0x34,0x3, 0x5e,0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0x5, 0x34,0x59,
+0x32,0x5, 0x90,0x9f,0x11,0x59,0x34,0x3, 0x5e,0x59,0x24,0x3, 0x5c,0x59,0x34,0x4,
+0x16,0x59,0x24,0x4, 0x14,0xb, 0xa0,0x12,0x18,0x61,0x38,0xc0,0x7c,0x6f,0x5e,0x60,
+0x1, 0x7e,0x73,0x6, 0xd7,0x5e,0x70,0xfe,0x4c,0x76,0x7a,0x73,0x6, 0xd7,0xda,0xf8,
+0x22,0x7e,0xb3,0x6, 0xc8,0xbc,0xba,0x22,0x6c,0xaa,0x80,0x9, 0x12,0x19,0x5, 0x70,
+0x2, 0x21,0x4, 0xb, 0xa0,0x12,0x18,0x61,0x38,0xf2,0x7e,0xb3,0x6, 0x67,0x30,0xe1,
+0x2, 0x21,0x4, 0x6c,0xaa,0x80,0x78,0x12,0x19,0x5, 0xb4,0x1, 0x70,0x7e,0xb3,0x6,
+0xc6,0xbc,0xba,0x28,0x21,0x12,0x1e,0xe9,0x7e,0xb3,0x6, 0x45,0x12,0x1e,0xdc,0x8,
+0x6, 0x7e,0xb3,0x6, 0x43,0x80,0x1f,0x6d,0x33,0x9d,0x34,0x12,0x19,0x14,0x58,0x4d,
+0x7e,0xb3,0x6, 0x44,0x80,0x34,0x12,0x1e,0xe9,0x7e,0xb3,0x6, 0x48,0x12,0x1e,0xdc,
+0x8, 0x1b,0x7e,0xb3,0x6, 0x46,0xa, 0xeb,0x7e,0x50,0x2, 0xac,0x5a,0x7d,0xf2,0x2e,
+0xf4,0x5, 0x34,0xb, 0xf8,0x20,0x2d,0x2e,0x1b,0xf8,0x20,0x80,0x20,0x6d,0x33,0x9d,
+0x34,0x12,0x19,0x14,0x58,0x17,0x7e,0xb3,0x6, 0x47,0xa, 0x4b,0x7e,0x50,0x2, 0xac,
+0x5a,0x2e,0x24,0x5, 0x34,0xb, 0x28,0x30,0x9d,0x34,0x1b,0x28,0x30,0xb, 0xa0,0x12,
+0x18,0x61,0x38,0x83,0x22,0x7e,0x34,0x6, 0x15,0x7c,0xba,0x2, 0x1a,0x4a,0x6e,0x34,
+0xff,0xff,0xb, 0x34,0x1a,0x26,0x1a,0x24,0xbf,0x1, 0x22,0xca,0x3b,0x6c,0xee,0x6d,
+0x66,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x2, 0x41,0x29,0x6c,0xff,0x21,0xdf,0x12,0x1a,
+0x44,0xb4,0x1, 0x2, 0x80,0x2, 0x21,0xdd,0x7e,0x73,0x6, 0xc6,0xbc,0x7f,0x28,0x59,
+0xb, 0xe0,0x7e,0x50,0x4, 0xac,0x5f,0x49,0xd2,0x3, 0x5e,0x49,0xc2,0x3, 0x5c,0x7e,
+0x73,0x6, 0x45,0xa, 0x37,0x7d,0x53,0x1a,0x4a,0x1a,0x48,0xbf,0x62,0x8, 0xb, 0x12,
+0x1a,0x2c,0xbf,0x2, 0x8, 0x4, 0xb, 0x64,0x80,0x17,0x6d,0xff,0x9d,0xf3,0x7d,0x1f,
+0x1a,0x12,0x1a,0xe2,0xbf,0x67,0x58,0x9, 0x12,0x1a,0x2c,0xbf,0x7, 0x58,0x2, 0x1b,
+0x64,0x12,0x1a,0x2c,0xbf,0x2, 0x8, 0x6, 0x7e,0xb3,0x6, 0x43,0x80,0x29,0x12,0x19,
+0xe, 0x58,0x4a,0x7e,0x73,0x6, 0x44,0x80,0x3c,0x7e,0x50,0x4, 0xac,0x5f,0x12,0x1a,
+0x2c,0x7e,0x73,0x6, 0x48,0xa, 0x37,0x7d,0x53,0x7d,0xf3,0x1a,0x5a,0x1a,0xea,0xbf,
+0x7, 0x8, 0x19,0x7e,0xb3,0x6, 0x46,0xa, 0xfb,0x7e,0x90,0x2, 0xac,0x9f,0x2e,0x44,
+0x5, 0x90,0xb, 0x48,0x50,0x2d,0x5f,0x1b,0x48,0x50,0x80,0x11,0x12,0x19,0xe, 0x58,
+0xc, 0x7e,0x73,0x6, 0x47,0x12,0x1a,0x35,0x9d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,
+0x1a,0x60,0x28,0x2, 0x21,0x2e,0xbe,0xe0,0x0, 0x28,0x3e,0x7d,0x36,0x12,0x0, 0x2e,
+0xa, 0x2e,0xbd,0x32,0x78,0x33,0x6c,0xff,0x80,0x2a,0x12,0x1a,0x44,0x70,0x23,0xbe,
+0x64,0x0, 0x0, 0x8, 0xb, 0x7e,0x73,0x6, 0x43,0x12,0x1a,0x35,0x2d,0x31,0x80,0xf,
+0xbe,0x64,0x0, 0x0, 0x58,0xc, 0x7e,0x73,0x6, 0x44,0x12,0x1a,0x35,0x9d,0x31,0x1b,
+0x28,0x30,0xb, 0xf0,0x12,0x1a,0x60,0x38,0xd1,0xda,0x3b,0x22,0x49,0x12,0x4, 0x16,
+0x49,0x2, 0x4, 0x14,0x22,0xa, 0x17,0x7e,0x50,0x2, 0xac,0x5f,0x2e,0x24,0x5, 0x90,
+0xb, 0x28,0x30,0x22,0x7e,0x34,0x6, 0x15,0x7c,0xbf,0x7d,0x23,0x4d,0x22,0x68,0x5,
+0xbe,0xb0,0x2e,0x40,0x3, 0x74,0x1, 0x22,0xa, 0x3b,0x2d,0x32,0x7e,0x39,0xb0,0x22,
+0x7e,0x73,0x6, 0xc8,0xbc,0x7f,0x22,0xca,0x3b,0x75,0x23,0x0, 0x7e,0xb3,0x6, 0xd7,
+0x54,0xfd,0x7a,0xb3,0x6, 0xd7,0x7e,0x67,0x6, 0xd8,0x7e,0xb3,0x6, 0x67,0x30,0xe5,
+0x11,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x47,0x50,0xf7,0x75,0x23,0x1, 0x12,
+0x5b,0x35,0x12,0x1f,0xc5,0x7e,0x73,0x6, 0xd6,0xa, 0x57,0x12,0x17,0x7c,0x12,0x17,
+0xec,0x6c,0xff,0x6d,0x33,0x80,0xa, 0x74,0x2, 0xac,0xbf,0x59,0x35,0x9, 0xfd,0xb,
+0xf0,0x7e,0x53,0x6, 0xc8,0xbc,0x5f,0x38,0xee,0x6c,0xee,0x61,0x5e,0x6c,0xff,0x80,
+0x15,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x1b,0xc8,0x60,0x8, 0x6d,0x22,0x12,0x1b,
+0xc0,0x1b,0x38,0x20,0xb, 0xf0,0x12,0x1a,0x60,0x38,0xe6,0x75,0x22,0x0, 0x6d,0x33,
+0x7e,0xa1,0x22,0x74,0x2, 0xa4,0x59,0x35,0xb, 0xc3,0x5, 0x22,0xe5,0x22,0xb4,0x2e,
+0xed,0x6c,0xff,0x80,0x17,0xa, 0x2f,0x7e,0x34,0x0, 0x9, 0x9d,0x32,0x7a,0x73,0xc,
+0x1f,0x12,0x50,0xe0,0x12,0x1f,0xf9,0x12,0x50,0x6e,0xb, 0xf0,0x7e,0x73,0x6, 0x14,
+0xbc,0x7f,0x38,0xe1,0x6c,0xff,0x80,0x3f,0x7e,0x50,0x2, 0xac,0x5f,0x49,0x12,0x9,
+0xfd,0x12,0x1b,0xc0,0xb, 0x38,0x30,0xbd,0x13,0x50,0x2a,0x59,0x32,0x9, 0xfd,0x7e,
+0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x1b,0xc8,0x60,0x1b,0x12,0x1f,0xbc,0x74,0x2, 0xac,
+0xbf,0x59,0x35,0x5, 0x34,0x74,0x2, 0xac,0xbf,0x49,0x35,0x5, 0x34,0x74,0x2, 0xac,
+0xbf,0x59,0x35,0x5, 0x90,0xb, 0xf0,0x12,0x1a,0x60,0x38,0xbc,0xb, 0xe0,0x7e,0x73,
+0x6, 0x11,0xbc,0x7e,0x28,0x2, 0x41,0xbd,0x6c,0xff,0x80,0x1b,0x7e,0xb3,0x6, 0x4d,
+0x60,0x5, 0x12,0x1b,0xc8,0x60,0xe, 0x74,0x2, 0xac,0xbf,0x49,0x25,0x9, 0xfd,0x12,
+0x1b,0xc0,0x1b,0x38,0x20,0xb, 0xf0,0x12,0x1a,0x60,0x38,0xe0,0x74,0x3, 0x12,0x17,
+0xc7,0x12,0x1f,0x7c,0x12,0x38,0xfa,0xe5,0x23,0x60,0x15,0x80,0x4, 0xe4,0x12,0xf,
+0xcd,0x12,0x17,0x47,0x50,0xf7,0x7e,0xb3,0x6, 0x67,0x44,0x20,0x7a,0xb3,0x6, 0x67,
+0x12,0x1f,0xc5,0x7e,0xb3,0x6, 0xca,0x12,0x17,0x76,0x12,0x17,0xec,0xda,0x3b,0x22,
+0x7e,0x70,0x2, 0xac,0x7f,0x2d,0x36,0x22,0xa, 0x3f,0x2e,0x37,0x6, 0x4e,0x7e,0x39,
+0xb0,0x22,0xca,0x79,0x12,0x1f,0xb1,0x6d,0x33,0x6c,0xee,0x80,0xa, 0x74,0x2, 0xac,
+0xbe,0x59,0x35,0x9, 0xfd,0xb, 0xe0,0x7e,0x53,0x6, 0xc8,0xbc,0x5e,0x38,0xee,0x7e,
+0xb3,0x6, 0x67,0x30,0xe0,0x34,0x6c,0xee,0x80,0x26,0x12,0x1f,0xf9,0x6c,0xff,0x80,
+0x18,0x7e,0x50,0x2, 0xac,0x5f,0x49,0xf2,0x9, 0xfd,0x12,0x37,0x78,0xbf,0x7, 0x8,
+0x6, 0x7d,0x31,0x59,0x32,0x9, 0xfd,0xb, 0xf0,0x12,0x1a,0x60,0x38,0xe3,0xb, 0xe0,
+0x7e,0x73,0x6, 0x10,0xbc,0x7e,0x38,0xd2,0x80,0x39,0x7e,0xe0,0x1, 0x12,0x15,0xa,
+0x6c,0xff,0x80,0x23,0x12,0x1f,0xbc,0x49,0x25,0x3, 0x5c,0x7e,0x8, 0x0, 0x4, 0x12,
+0x4, 0x59,0x7d,0x13,0x7e,0x50,0x2, 0xac,0x5f,0x2e,0x24,0x9, 0xfd,0xb, 0x28,0x30,
+0x2d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,0x60,0x38,0xd8,0xb, 0xe0,0xbe,0xe0,
+0x4, 0x28,0xca,0x6c,0xee,0x80,0x3b,0x7e,0xa3,0x6, 0x4d,0x4c,0xaa,0x68,0x19,0xbe,
+0xa0,0x1, 0x78,0x7, 0xa, 0x3e,0x12,0x1b,0xca,0x70,0xd, 0xbe,0xa0,0x3, 0x78,0x20,
+0xa, 0x3e,0x9, 0xb3,0xa, 0x8d,0x60,0x18,0x74,0x2, 0xac,0xbe,0x49,0x35,0x9, 0xfd,
+0x59,0x35,0x5, 0x34,0x74,0x2, 0xac,0xbe,0x49,0x35,0x9, 0xfd,0x59,0x35,0x5, 0x90,
+0xb, 0xe0,0x7e,0x73,0x6, 0xc8,0xbc,0x7e,0x38,0xbd,0xda,0x79,0x22,0x12,0x1e,0xf7,
+0x7a,0xb3,0x3, 0x34,0x12,0x1f,0xd3,0x2, 0x1b,0xd2,0x7e,0x34,0x0, 0x24,0x12,0x4f,
+0x3, 0xbe,0xb0,0x1, 0x68,0x8, 0x80,0xfe,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,
+0x47,0x50,0xf7,0xa9,0xc3,0xea,0x6d,0x11,0x7e,0x44,0x12,0x0, 0x1b,0x48,0x10,0x7e,
+0x53,0x6, 0xc9,0x7c,0xb5,0x54,0x1, 0xa, 0x5b,0x12,0x1e,0xc9,0x7c,0x75,0x1e,0x70,
+0x5e,0x70,0x3, 0xa, 0x57,0x3e,0x54,0x3e,0x54,0x3e,0x54,0x12,0x1e,0xc5,0x7e,0x63,
+0x6, 0xca,0x7c,0xb6,0x54,0x1, 0x12,0x1e,0xd4,0x12,0x1e,0xc9,0x7c,0xb6,0x1e,0xb0,
+0x54,0x3, 0x12,0x1e,0xd4,0x12,0x1e,0xc5,0x7c,0xb6,0x12,0x17,0x76,0x12,0x1e,0xcb,
+0x7e,0x54,0x13,0x14,0xb, 0x58,0x0, 0x6c,0x0, 0x12,0x1e,0xbe,0x5e,0x10,0xbf,0x12,
+0x1e,0xbe,0x4e,0x10,0x40,0x12,0x1e,0xbe,0x5e,0x10,0xcf,0x12,0x1e,0xbe,0x4e,0x10,
+0x10,0x12,0x1e,0xbe,0x5e,0x10,0xfc,0x12,0x1e,0xbe,0xa5,0xbf,0x0, 0x5, 0x4e,0x10,
+0x1, 0x80,0x3, 0x4e,0x10,0x3, 0x1b,0x58,0x0, 0x7e,0x44,0x12,0x2, 0x1b,0x48,0x10,
+0x7e,0x43,0x6, 0xc8,0xa, 0x54,0x7c,0xab,0xe4,0x12,0x1e,0xcb,0x7e,0xa3,0x6, 0xcb,
+0x7c,0xba,0x23,0x54,0x1, 0xa, 0xfb,0xb, 0x48,0x0, 0x4d,0xf, 0x1b,0x48,0x0, 0x7c,
+0xba,0x30,0xe6,0xe, 0x7c,0xb5,0x30,0xe0,0x9, 0xb, 0x48,0x20,0x4e,0x50,0x8, 0x1b,
+0x48,0x20,0x7c,0xb6,0x30,0xe6,0x12,0xb, 0x48,0x0, 0x4e,0x10,0x20,0x1b,0x48,0x0,
+0xb, 0x48,0x0, 0x4e,0x10,0x10,0x1b,0x48,0x0, 0x7e,0x24,0x12,0x4, 0xb, 0x28,0x0,
+0x5e,0x0, 0x7f,0x1b,0x28,0x0, 0xb, 0x28,0x0, 0x4e,0x0, 0x80,0x1b,0x28,0x0, 0x7e,
+0x24,0x13,0x1e,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xce,0x12,0x1e,0xb1,0x7e,0x63,0x6,
+0xd1,0xa, 0x46,0x12,0x1e,0xb5,0x7e,0x24,0x12,0x8, 0x1b,0x28,0x10,0x7e,0x63,0x6,
+0xcc,0xa, 0x46,0x12,0x1e,0xb5,0x7e,0x63,0x6, 0xcd,0x12,0x1e,0xb1,0x7e,0x24,0x13,
+0x20,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xcf,0xa, 0x46,0x12,0x1e,0xb5,0x7e,0x63,0x6,
+0xd0,0x12,0x1e,0xb1,0x7e,0x24,0x13,0x22,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xd2,0xa,
+0x46,0x12,0x1e,0xb5,0x7e,0x63,0x6, 0xd3,0x12,0x1e,0xb1,0x7e,0x4, 0x12,0xa, 0x1b,
+0x8, 0x10,0xa5,0xbf,0x0, 0x8, 0xb, 0x8, 0x10,0x4e,0x20,0x1, 0x80,0x1b,0xa5,0xbf,
+0x1, 0x8, 0xb, 0x8, 0x10,0x4e,0x20,0x11,0x80,0xf, 0xb, 0x8, 0x10,0xa5,0xbf,0x2,
+0x5, 0x4e,0x20,0x33,0x80,0x3, 0x4e,0x20,0xff,0x1b,0x8, 0x10,0x7c,0xba,0x1e,0xb0,
+0x54,0x3, 0xa, 0x3b,0xb, 0x8, 0x10,0x4d,0x13,0x1b,0x8, 0x10,0x12,0x4f,0x26,0xb,
+0x8, 0x10,0x5e,0x30,0xfb,0x1b,0x8, 0x10,0xb, 0x8, 0x30,0x4e,0x70,0x4, 0x1b,0x8,
+0x30,0x7e,0x73,0x6, 0xd4,0xa, 0x27,0x7e,0x34,0x13,0x10,0x1b,0x38,0x20,0x12,0x4f,
+0x8f,0x7e,0xb3,0x6, 0xca,0x1e,0xb0,0x54,0x3, 0xbe,0xb0,0x1, 0x68,0x3, 0xb4,0x2,
+0xb, 0x7e,0x27,0x6, 0xc4,0x7e,0x34,0x13,0x12,0x1b,0x38,0x20,0x74,0x2, 0x7a,0xb3,
+0x6, 0xda,0xd2,0x8e,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x7e,0xb3,0x6, 0xda,0x70,0xf6,
+0x22,0x7c,0x86,0x6c,0x99,0xb, 0x28,0x0, 0x4d,0x4, 0x1b,0x28,0x0, 0x22,0x1b,0x58,
+0x0, 0xb, 0x58,0x0, 0x22,0x3e,0x54,0x3e,0x54,0x3e,0x54,0xb, 0x48,0x0, 0x4d,0x5,
+0x1b,0x48,0x0, 0x22,0xa, 0xb, 0x7d,0x50,0x7c,0xab,0xe4,0x22,0xa, 0x4b,0x7d,0x24,
+0x7d,0xf4,0x1a,0x24,0x1a,0xe4,0xbf,0x7, 0x22,0x7e,0x70,0x4, 0xac,0x7a,0x49,0x13,
+0x3, 0x5e,0x49,0x3, 0x3, 0x5c,0x22,0x12,0x1c,0xba,0x7e,0xb3,0x3, 0x34,0x54,0x7f,
+0x7a,0xb3,0x3, 0x34,0x12,0x1a,0x67,0x7e,0xb3,0x3, 0x34,0x44,0x80,0x22,0xca,0x79,
+0x6d,0x77,0x7a,0x77,0x2, 0xd0,0x7e,0x34,0x3, 0xe8,0x7a,0x37,0x0, 0x74,0x12,0x1f,
+0xb1,0x12,0x1e,0xfa,0x7a,0xb3,0x3, 0x34,0x12,0x1b,0xd2,0x7a,0x77,0x2, 0xd0,0x7e,
+0x34,0x0, 0x64,0x7a,0x37,0x0, 0x74,0xda,0x79,0x22,0xe5,0xa, 0x30,0xe0,0x1a,0x7e,
+0xb3,0x3, 0x34,0x12,0x22,0xa9,0x7e,0xb3,0x3, 0x34,0x12,0x20,0x11,0x12,0x1e,0xf7,
+0x7a,0xb3,0x3, 0x34,0x53,0xa, 0xfc,0x80,0xb, 0xe5,0xa, 0x30,0xe1,0x6, 0x12,0x1f,
+0x7c,0x53,0xa, 0xfd,0xe5,0xa, 0x30,0xe2,0x12,0x53,0xca,0xf1,0x7e,0x73,0x3, 0x41,
+0xa, 0x37,0x3e,0x34,0x7c,0xb7,0x42,0xca,0x53,0xa, 0xfb,0x22,0x12,0x1f,0xe8,0x80,
+0x2a,0xa, 0x2a,0x9, 0x32,0x6, 0x96,0x7e,0x50,0x2, 0xac,0x53,0x2d,0x23,0xb, 0x28,
+0x20,0x7e,0xb3,0x6, 0x4d,0x60,0x7, 0xa, 0x13,0x12,0x1f,0xf1,0x60,0xb, 0xa, 0x1a,
+0x3e,0x14,0x2e,0x14,0x12,0x14,0x1b,0x18,0x20,0xb, 0xa0,0x12,0x18,0x61,0x38,0xd1,
+0x22,0x7e,0xb3,0x6, 0xd7,0x54,0xfe,0x7a,0xb3,0x6, 0xd7,0x22,0x74,0x4, 0xac,0xbf,
+0x49,0x35,0x3, 0x5e,0x22,0x7e,0x24,0x12,0x0, 0xb, 0x28,0x30,0x5e,0x60,0x1f,0x1b,
+0x28,0x30,0x22,0x74,0x10,0x7a,0xb3,0xb, 0x84,0x74,0x83,0x7a,0xb3,0xb, 0x85,0xe4,
+0x6c,0xaa,0x12,0x44,0x6a,0x40,0xfb,0x22,0x7e,0x37,0x6, 0xd8,0x6c,0xaa,0x22,0xa,
+0x15,0x2e,0x17,0x6, 0x4e,0x7e,0x19,0xb0,0x22,0x7e,0xb3,0x6, 0x67,0x44,0x4, 0x7a,
+0xb3,0x6, 0x67,0x12,0x15,0xa, 0x7e,0xb3,0x6, 0x67,0x54,0xfb,0x7a,0xb3,0x6, 0x67,
+0x22,0x7c,0xab,0x9f,0x11,0x7a,0x1f,0x5, 0x30,0x74,0xb, 0x7a,0xb3,0x6, 0xf, 0x74,
+0x2, 0x7a,0xb3,0x6, 0x44,0x7a,0xb3,0x6, 0x43,0x74,0xf, 0x7a,0xb3,0x6, 0x45,0x74,
+0x2, 0x7a,0xb3,0x6, 0x47,0x7a,0xb3,0x6, 0x46,0x74,0xf, 0x7a,0xb3,0x6, 0x48,0x7e,
+0x34,0x0, 0x32,0x7a,0x37,0x5, 0xec,0x12,0x21,0x5a,0x74,0xa, 0x7a,0xb3,0x6, 0x10,
+0x7e,0xb3,0x6, 0x67,0x44,0x40,0x7a,0xb3,0x6, 0x67,0x54,0x7f,0x7a,0xb3,0x6, 0x67,
+0x5e,0xa0,0x7f,0xbe,0xa0,0x1, 0x68,0x7, 0xbe,0xa0,0x2, 0x78,0x2, 0x80,0x0, 0x12,
+0x21,0x5a,0x7e,0xa3,0x6, 0x67,0x7c,0xba,0x30,0xe0,0x12,0x74,0x1, 0x7a,0xb3,0x6,
+0x11,0x74,0x3, 0x7a,0xb3,0x6, 0x12,0x7a,0xb3,0x6, 0x13,0x80,0xe, 0x74,0x1, 0x7a,
+0xb3,0x6, 0x12,0x7a,0xb3,0x6, 0x13,0x7a,0xb3,0x6, 0x11,0x74,0xa, 0x7a,0xb3,0x6,
+0x66,0x7a,0xb3,0x6, 0x14,0x7e,0x24,0x2a,0xf8,0x7a,0x27,0x5, 0xf0,0x7c,0xba,0x54,
+0xfd,0x7a,0xb3,0x6, 0x67,0x7e,0x24,0xfc,0xe0,0x7a,0x27,0x5, 0xee,0x12,0x20,0x6,
+0x7a,0x37,0x5, 0xf2,0x7e,0x34,0x5, 0xdc,0x7a,0x37,0x5, 0xf4,0x7e,0x34,0xf, 0xa0,
+0x7a,0x37,0x5, 0xf6,0x7e,0xb3,0x6, 0x67,0x54,0xf7,0x7a,0xb3,0x6, 0x67,0x54,0xef,
+0x7a,0xb3,0x6, 0x67,0x7e,0x34,0x0, 0xc7,0x7a,0x37,0x5, 0xf8,0x7e,0x34,0x0, 0xa0,
+0x7a,0x37,0x5, 0xfa,0xe4,0x7a,0xb3,0x6, 0x49,0x7a,0xb3,0x6, 0x4a,0x7a,0x37,0x6,
+0x4b,0x7e,0x34,0x0, 0x31,0x7a,0x37,0x5, 0xfc,0x7e,0x34,0x1, 0x5c,0x7a,0x37,0x5,
+0xfe,0x12,0x5b,0x35,0x7e,0x34,0x0, 0x9, 0x7a,0x37,0x6, 0x2, 0x7e,0x34,0x0, 0x8,
+0x7a,0x37,0x6, 0x0, 0x7e,0x34,0x0, 0x1a,0x7a,0x37,0x6, 0x4, 0x7e,0x34,0x6, 0x65,
+0x7a,0x37,0x6, 0x6, 0x7e,0x34,0x32,0x44,0x7a,0x37,0x6, 0x8, 0x7e,0x34,0x26,0xf2,
+0x7a,0x37,0x6, 0xc, 0x7e,0x34,0x2f,0xfa,0x7a,0x37,0x6, 0xa, 0xe4,0x7a,0xb3,0x6,
+0x4d,0x7e,0x34,0xa, 0xd1,0x7a,0x37,0x6, 0x4e,0x22,0x7e,0xb3,0x6, 0x67,0x54,0xfe,
+0x7a,0xb3,0x6, 0x67,0x22,0x12,0x38,0xe2,0x12,0x4d,0x90,0x12,0x26,0xa7,0x12,0x4a,
+0x8c,0x12,0x57,0xfc,0x12,0x38,0xf1,0x12,0x4a,0xd8,0xe4,0x12,0x22,0xa9,0xe4,0x12,
+0x20,0x11,0x12,0x1c,0xad,0x74,0x1, 0x7a,0xb3,0xb, 0x9f,0x7e,0xb3,0xb, 0x9f,0x24,
+0xfd,0x68,0x11,0x24,0xae,0x68,0x32,0x24,0xab,0x68,0xe, 0x24,0xa9,0x78,0xec,0x12,
+0x11,0x6d,0x80,0xe7,0x12,0x38,0x60,0x80,0xe2,0x12,0x21,0xf2,0x7e,0x24,0x1, 0xf4,
+0x7a,0x27,0x0, 0x74,0x7e,0xb3,0x2, 0xd2,0xbe,0xb0,0xaa,0x68,0xce,0x7a,0x37,0x0,
+0x9c,0x74,0xaa,0x7a,0xb3,0x2, 0xd2,0x80,0xc2,0x12,0x21,0xf2,0x7e,0x34,0x1, 0xf4,
+0x7a,0x37,0x0, 0x74,0x7e,0xb3,0x2, 0xd2,0xb4,0xaa,0xb0,0x74,0x55,0x7a,0xb3,0x2,
+0xd2,0x7e,0x74,0x3, 0xe8,0x7d,0x37,0x1b,0x74,0x4d,0x33,0x78,0xf8,0x75,0xe9,0xff,
+0x80,0x99,0x6d,0x33,0x7a,0x37,0x2, 0xd0,0x22,0x7e,0x4, 0x0, 0x76,0x6d,0x11,0xe4,
+0x7a,0x9, 0xb0,0xb, 0x4, 0xb, 0x14,0xbe,0x14,0x0, 0x1c,0x78,0xf2,0x7e,0x4, 0x2,
+0xb6,0x6d,0x11,0xe4,0x7a,0x9, 0xb0,0xb, 0x4, 0xb, 0x14,0xbe,0x14,0x0, 0x17,0x78,
+0xf2,0x6d,0x11,0x12,0x22,0x90,0x2e,0x34,0x0, 0x7a,0x12,0x22,0x8d,0x2e,0x34,0x2,
+0xb6,0x12,0x22,0x8d,0x2e,0x34,0x2, 0xc0,0x12,0x22,0x97,0xb, 0x14,0xbe,0x14,0x0,
+0x2, 0x40,0xe0,0x74,0x2, 0x7a,0xb3,0x0, 0x68,0x74,0xa, 0x7a,0xb3,0x0, 0x69,0x7e,
+0x34,0x0, 0xc7,0x7a,0x37,0x0, 0x6a,0x7e,0x34,0x0, 0xc6,0x7a,0x37,0x0, 0x6c,0x7e,
+0x34,0x0, 0x31,0x7a,0x37,0x0, 0x70,0xc2,0x4, 0x75,0xd, 0x0, 0x75,0x1a,0x0, 0xc2,
+0x5, 0x75,0xb, 0x0, 0x12,0x21,0xf2,0x7e,0x24,0x7, 0xd0,0x7a,0x27,0x0, 0x74,0x7a,
+0x37,0x0, 0x9c,0xe4,0x7a,0xb3,0x2, 0xd2,0x7a,0xb3,0xb, 0x37,0x22,0x12,0x22,0x97,
+0x7e,0x34,0x0, 0x5, 0xad,0x31,0x22,0x7e,0x24,0x7f,0xff,0x1b,0x38,0x20,0x59,0x23,
+0x0, 0x2, 0x74,0xff,0x19,0xb3,0x0, 0x4, 0x22,0xca,0xf8,0x7c,0xfb,0x74,0x16,0x7a,
+0xb3,0x6, 0xc6,0xe4,0x7a,0xb3,0x6, 0xc7,0x74,0x16,0x7a,0xb3,0x6, 0xc8,0x74,0x30,
+0x7a,0xb3,0x6, 0xd4,0x7e,0xb3,0x6, 0xcb,0x54,0xbf,0x7a,0xb3,0x6, 0xcb,0x54,0x7f,
+0x7a,0xb3,0x6, 0xcb,0x54,0xf9,0x7a,0xb3,0x6, 0xcb,0x7e,0xb3,0x6, 0xca,0x54,0xbf,
+0x7a,0xb3,0x6, 0xca,0x7e,0xb3,0x6, 0xd7,0x44,0x4, 0x7a,0xb3,0x6, 0xd7,0x74,0x15,
+0x7a,0xb3,0x6, 0xd5,0x7e,0xb3,0x6, 0xca,0x54,0x7f,0x7a,0xb3,0x6, 0xca,0x7e,0xb3,
+0x6, 0xcb,0x54,0xfe,0x7a,0xb3,0x6, 0xcb,0x7e,0x34,0x4, 0xc5,0x7e,0x24,0x6, 0x68,
+0x74,0x16,0x7e,0x30,0x97,0x12,0x23,0xe5,0x6c,0x77,0x80,0x8, 0xa, 0x27,0x19,0x72,
+0x6, 0x96,0xb, 0x70,0x7e,0x63,0x6, 0xc8,0xbc,0x67,0x38,0xf0,0x7e,0xb3,0x6, 0xc9,
+0x44,0x1, 0x7a,0xb3,0x6, 0xc9,0x5e,0xf0,0x7f,0xbe,0xf0,0x1, 0x78,0xe, 0x7e,0xb3,
+0x6, 0xc9,0x12,0x26,0x8b,0x44,0x8, 0x12,0x26,0x98,0x80,0x38,0xbe,0xf0,0x2, 0x7e,
+0xb3,0x6, 0xc9,0x78,0x8, 0x12,0x26,0x8b,0x12,0x26,0x98,0x80,0x27,0x44,0x6, 0x12,
+0x26,0x8d,0x44,0x18,0x7a,0xb3,0x6, 0xcb,0x7e,0x63,0x3, 0x35,0x5e,0x60,0x7, 0x7c,
+0xb6,0xc4,0x3, 0x54,0xf8,0x7c,0x6b,0x7e,0x73,0x6, 0xca,0x5e,0x70,0xc7,0x4c,0x76,
+0x7a,0x73,0x6, 0xca,0xe4,0x7a,0xb3,0x6, 0xd6,0x7e,0xb3,0x6, 0xca,0x54,0xfe,0x7a,
+0xb3,0x6, 0xca,0x44,0x6, 0x7a,0xb3,0x6, 0xca,0x7e,0x73,0x3, 0x38,0x7a,0x73,0x6,
+0xcc,0x7e,0x73,0x3, 0x39,0x7a,0x73,0x6, 0xcd,0x7e,0x73,0x3, 0x36,0x7a,0x73,0x6,
+0xce,0x7e,0x73,0x3, 0x3a,0x7a,0x73,0x6, 0xcf,0x7e,0x73,0x3, 0x3b,0x7a,0x73,0x6,
+0xd0,0x7e,0x73,0x3, 0x37,0x7a,0x73,0x6, 0xd1,0x7e,0x73,0x3, 0x3c,0x7a,0x73,0x6,
+0xd2,0x7e,0x73,0x3, 0x3d,0x7a,0x73,0x6, 0xd3,0x12,0x1f,0xb1,0x54,0xfd,0x7a,0xb3,
+0x6, 0xd7,0xda,0xf8,0x22,0x7c,0x23,0x7c,0x3b,0x7d,0x43,0x7c,0xb2,0x24,0x6a,0xbe,
+0xb0,0x9, 0x40,0x2, 0xc1,0x51,0x7e,0xa0,0x3, 0xa4,0x90,0x23,0xfe,0x73,0x2, 0x24,
+0x19,0x2, 0x24,0xce,0x2, 0x25,0x4, 0x2, 0x25,0x3a,0x2, 0x26,0x1b,0x2, 0x26,0x51,
+0x2, 0x25,0x70,0x2, 0x25,0xa0,0x2, 0x25,0xd0,0x6c,0x77,0x81,0xc7,0x12,0x26,0x7a,
+0xbe,0xb0,0x12,0x40,0x2, 0x81,0xc2,0x7e,0xa0,0x3, 0xa4,0x90,0x24,0x2f,0x73,0x2,
+0x24,0x65,0x2, 0x24,0x6a,0x2, 0x24,0x6f,0x2, 0x24,0x74,0x2, 0x24,0x79,0x2, 0x24,
+0x7e,0x2, 0x24,0x83,0x2, 0x24,0x88,0x2, 0x24,0x8d,0x2, 0x24,0x92,0x2, 0x24,0x97,
+0x2, 0x24,0x9c,0x2, 0x24,0xa1,0x2, 0x24,0xa6,0x2, 0x24,0xab,0x2, 0x24,0xb0,0x2,
+0x24,0xb5,0x2, 0x24,0xba,0x7e,0x20,0x4, 0x80,0x53,0x7e,0x20,0x6, 0x80,0x4e,0x7e,
+0x20,0x7, 0x80,0x49,0x7e,0x20,0x5, 0x80,0x44,0x7e,0x20,0xe, 0x80,0x3f,0x7e,0x20,
+0x8, 0x80,0x3a,0x7e,0x20,0xf, 0x80,0x35,0x7e,0x20,0x10,0x80,0x30,0x7e,0x20,0x11,
+0x80,0x2b,0x7e,0x20,0x12,0x80,0x26,0x7e,0x20,0x17,0x80,0x21,0x7e,0x20,0x1a,0x80,
+0x1c,0x7e,0x20,0x18,0x80,0x17,0x7e,0x20,0x1b,0x80,0x12,0x7e,0x20,0x21,0x80,0xd,
+0x7e,0x20,0x20,0x80,0x8, 0x7e,0x20,0x1f,0x80,0x3, 0x7e,0x20,0x19,0x12,0x26,0x6a,
+0x80,0x3, 0x12,0x26,0x72,0xb, 0x70,0xbc,0x37,0x28,0x2, 0x81,0x1d,0x22,0x6c,0x77,
+0x80,0x2d,0x12,0x26,0x7a,0xbe,0x60,0x7, 0x40,0x10,0xbe,0x60,0xe, 0x38,0xb, 0xa,
+0x56,0x2e,0x54,0x0, 0x13,0x12,0x26,0x68,0x80,0x13,0xbe,0x60,0xf, 0x40,0xb, 0xa,
+0x56,0x2e,0x54,0x0, 0x29,0x12,0x26,0x68,0x80,0x3, 0x12,0x26,0x72,0xb, 0x70,0xbc,
+0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x2d,0x12,0x26,0x7a,0xbe,0x60,0x9, 0x40,0x10,
+0xbe,0x60,0x12,0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x10,0x12,0x26,0x68,0x80,0x13,
+0xbe,0x60,0x13,0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x23,0x12,0x26,0x68,0x80,0x3,
+0x12,0x26,0x72,0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x2d,0x12,0x26,
+0x7a,0xbe,0x60,0xd, 0x40,0x10,0xbe,0x60,0x18,0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0xb, 0x12,0x26,0x68,0x80,0x13,0xbe,0x60,0x19,0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0x1b,0x12,0x26,0x68,0x80,0x3, 0x12,0x26,0x72,0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,
+0x6c,0x77,0x80,0x27,0x12,0x26,0x7a,0xbe,0x60,0xe, 0x40,0xa, 0xbe,0x60,0x19,0x38,
+0x5, 0x12,0x26,0x62,0x80,0x13,0xbe,0x60,0x1a,0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0x19,0x12,0x26,0x68,0x80,0x3, 0x12,0x26,0x72,0xb, 0x70,0xbc,0x37,0x38,0xd5,0x22,
+0x6c,0x77,0x80,0x27,0x12,0x26,0x7a,0xbe,0x60,0xe, 0x40,0xa, 0xbe,0x60,0x19,0x38,
+0x5, 0x12,0x26,0x62,0x80,0x13,0xbe,0x60,0x1a,0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0x18,0x12,0x26,0x68,0x80,0x3, 0x12,0x26,0x72,0xb, 0x70,0xbc,0x37,0x38,0xd5,0x22,
+0x6c,0x77,0x80,0x42,0x12,0x26,0x7a,0xbe,0x60,0x0, 0x40,0x10,0xbe,0x60,0xd, 0x38,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x3, 0x12,0x26,0x68,0x80,0x28,0xbe,0x60,0xe, 0x40,
+0x10,0xbe,0x60,0x1b,0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x9, 0x12,0x26,0x68,0x80,
+0x13,0xbe,0x60,0x1c,0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x15,0x12,0x26,0x68,0x80,
+0x3, 0x12,0x26,0x72,0xb, 0x70,0xbc,0x37,0x38,0xba,0x22,0x6c,0x77,0x80,0x2d,0x12,
+0x26,0x7a,0xbe,0x60,0x11,0x40,0x10,0xbe,0x60,0x1e,0x38,0xb, 0xa, 0x56,0x2e,0x54,
+0x0, 0x6, 0x12,0x26,0x68,0x80,0x13,0xbe,0x60,0x1f,0x40,0xb, 0xa, 0x56,0x2e,0x54,
+0x0, 0x11,0x12,0x26,0x68,0x80,0x3, 0x12,0x26,0x72,0xb, 0x70,0xbc,0x37,0x38,0xcf,
+0x22,0x6c,0x77,0x80,0x8, 0x12,0x26,0x7a,0x12,0x26,0x72,0xb, 0x70,0xbc,0x37,0x38,
+0xf4,0x22,0xa, 0x56,0x2e,0x54,0x0, 0xa, 0x7c,0x2b,0x7d,0x50,0x2d,0x52,0x7a,0x59,
+0x20,0x22,0x7d,0x50,0x2d,0x52,0x7a,0x59,0x60,0x22,0xa, 0x7, 0x7d,0x50,0x2d,0x54,
+0x7a,0xb1,0x82,0x7a,0xa1,0x83,0xe4,0x93,0x7c,0x6b,0x22,0x54,0xf9,0x7a,0xb3,0x6,
+0xc9,0x7e,0xb3,0x6, 0xcb,0x54,0xc7,0x22,0x7a,0xb3,0x6, 0xcb,0x7e,0xb3,0x6, 0xca,
+0x54,0xc7,0x7a,0xb3,0x6, 0xca,0x22,0xe4,0x7a,0xb3,0xc, 0xd6,0x12,0x4c,0x8e,0x2,
+0x26,0xb2,0xca,0xf8,0xe4,0x12,0x3f,0xb2,0x78,0x5, 0x12,0x27,0x57,0x80,0x12,0xbe,
+0xf0,0x4, 0x78,0x5, 0x12,0x27,0x2e,0x80,0x8, 0xbe,0xf0,0x1, 0x78,0x3, 0x12,0x3f,
+0xf5,0x75,0x91,0x0, 0xe4,0x7a,0xb3,0xc, 0xd2,0x7a,0xb3,0xc, 0xd1,0x74,0xaa,0x7a,
+0xb3,0xc, 0xac,0x7a,0xb3,0xc, 0xad,0x7a,0xb3,0xc, 0xbe,0x7a,0xb3,0xc, 0xbf,0xda,
+0xf8,0x22,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0x34,0x6c,0xaa,0x80,0x28,0xa, 0x3a,0x9,
+0x73,0x6, 0x96,0x7e,0xb3,0x6, 0xd7,0x30,0xe0,0x19,0x7e,0x50,0x4, 0xac,0x57,0x49,
+0xf2,0x3, 0x5e,0x49,0xe2,0x3, 0x5c,0x7e,0x17,0x5, 0xee,0x12,0x7, 0x7d,0x58,0x3,
+0x12,0x32,0x17,0xb, 0xa0,0x7e,0x63,0x6, 0xc8,0xbc,0x6a,0x38,0xd0,0x22,0x7e,0xb3,
+0xc, 0xd8,0x12,0x27,0x38,0xf5,0x91,0x22,0x7c,0xab,0x24,0x0, 0x78,0x5, 0x7e,0xb3,
+0xc, 0xd6,0x22,0xbe,0xa0,0xaf,0x38,0xc, 0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x5, 0x7c,
+0xba,0x2, 0x39,0x5, 0x7c,0xba,0x22,0x7e,0xb3,0xc, 0xd8,0x12,0x3f,0x2f,0xf5,0x91,
+0x22,0x12,0x21,0xf2,0x7e,0x34,0x3, 0xe8,0x7a,0x37,0x0, 0x74,0x2, 0x27,0x6f,0x7e,
+0x34,0xb, 0x63,0x7e,0xb3,0xb, 0xc2,0x20,0xe0,0x3, 0x2, 0x28,0x2f,0x54,0xfe,0x7a,
+0xb3,0xb, 0xc2,0x7e,0x39,0x50,0x7a,0x53,0x3, 0x4b,0x12,0x5a,0xe0,0x3e,0x24,0x3e,
+0x24,0x7a,0x27,0x3, 0x49,0xbe,0x24,0x2, 0x26,0x50,0x8, 0x7e,0x24,0x2, 0x26,0x7a,
+0x27,0x3, 0x49,0x9, 0x53,0x0, 0x5, 0x7a,0x53,0x0, 0xa0,0x12,0x5a,0xe0,0x7a,0x27,
+0x0, 0x9e,0x9, 0x53,0x0, 0x25,0xa, 0x25,0x7a,0x27,0x0, 0x92,0x9, 0x53,0x0, 0x6,
+0x7a,0x53,0x0, 0x94,0x9, 0x53,0x0, 0x8, 0x7a,0x53,0x0, 0x96,0xbe,0x50,0xf, 0x40,
+0x6, 0x74,0xe, 0x19,0xb3,0x0, 0x8, 0x9, 0x53,0x0, 0x8, 0xa, 0x25,0x2e,0x24,0x4,
+0xfb,0x7a,0x51,0x82,0x7a,0x41,0x83,0xe4,0x93,0x7a,0xb3,0x0, 0x95,0x9, 0x53,0x0,
+0x9, 0x7a,0x53,0x0, 0x98,0x7a,0x53,0x0, 0x97,0x9, 0x53,0x0, 0x24,0x7a,0x53,0x0,
+0x9a,0x9, 0x53,0x0, 0x2d,0x7a,0x53,0xd, 0x3f,0x9, 0xb3,0x0, 0x2e,0x7a,0xb3,0x3,
+0x34,0xb4,0x1, 0x5, 0xe4,0x7a,0xb3,0x3, 0x34,0x7e,0xa3,0xb, 0xb3,0xbe,0xa3,0x0,
+0xa1,0x68,0xc, 0x4c,0xaa,0x74,0x5, 0x7a,0xb3,0x0, 0x99,0x7a,0xa3,0x0, 0xa1,0x22,
+0x9f,0x11,0x7a,0x1f,0x5, 0x28,0x7a,0x1f,0x5, 0x2c,0x6c,0xaa,0x12,0x28,0x5b,0x7e,
+0x7f,0x5, 0x28,0xbf,0x71,0x58,0x4, 0x7a,0x1f,0x5, 0x28,0xb, 0xa0,0xbe,0xa0,0x16,
+0x40,0xea,0x7e,0x1f,0x5, 0x28,0x7a,0x1f,0x5, 0x2c,0x22,0x7e,0x30,0x4, 0xac,0x3a,
+0x49,0x31,0x3, 0x5e,0x49,0x21,0x3, 0x5c,0x22,0x6c,0xaa,0xa, 0x3a,0x12,0x2f,0x3d,
+0x7c,0x3b,0xbe,0x30,0x16,0x50,0x9, 0x74,0x4, 0xac,0x3b,0x12,0x28,0x60,0x80,0x2,
+0x9f,0x11,0x7e,0x30,0x4, 0xac,0x3a,0x59,0x31,0x9, 0x6f,0x59,0x21,0x9, 0x6d,0xb,
+0xa0,0xbe,0xa0,0x24,0x40,0xd5,0x7e,0x1f,0x9, 0x85,0x7a,0x1d,0x2a,0x75,0x2f,0x0,
+0x7e,0x34,0x9, 0x85,0x7a,0x35,0x30,0x7e,0x34,0x9, 0x9d,0x7a,0x35,0x32,0x7e,0x1f,
+0x9, 0x89,0x7e,0xf, 0x9, 0xa1,0xe4,0x12,0x29,0x64,0x7e,0x1f,0x9, 0x99,0x7a,0x1d,
+0x2a,0x75,0x2f,0x1, 0x7e,0x34,0x9, 0x99,0x7a,0x35,0x30,0x7e,0x34,0x9, 0xb1,0x7a,
+0x35,0x32,0x7e,0x1f,0x9, 0x95,0x7e,0xf, 0x9, 0xad,0xe4,0x12,0x29,0x64,0x7e,0x1f,
+0x9, 0xb5,0x7a,0x1d,0x2a,0x75,0x2f,0x0, 0x7e,0x34,0x9, 0xb5,0x7a,0x35,0x30,0x7e,
+0x34,0x9, 0xcd,0x7a,0x35,0x32,0x7e,0x1f,0x9, 0xb9,0x7e,0xf, 0x9, 0xd1,0x74,0x1,
+0x12,0x29,0x64,0x7e,0x1f,0x9, 0xc9,0x7a,0x1d,0x2a,0x75,0x2f,0x1, 0x7e,0x34,0x9,
+0xc9,0x7a,0x35,0x30,0x7e,0x34,0x9, 0xe1,0x7a,0x35,0x32,0x7e,0x1f,0x9, 0xc5,0x7e,
+0xf, 0x9, 0xdd,0x74,0x1, 0x12,0x29,0x64,0xe4,0x12,0x29,0xe0,0x74,0x1, 0x12,0x29,
+0xe0,0x7e,0x34,0x9, 0x89,0x12,0x2f,0x19,0x7e,0x34,0x9, 0xd1,0x12,0x2f,0x19,0x7e,
+0x34,0x9, 0x95,0x12,0x29,0x4d,0x7e,0x34,0x9, 0xdd,0x2, 0x29,0x4d,0x12,0x2f,0x9c,
+0xe5,0x14,0xa, 0x1b,0x6d,0x0, 0x12,0x2f,0x2e,0x2, 0x29,0x5c,0x59,0x3f,0x0, 0x2,
+0x1b,0xf8,0x20,0x22,0xca,0x3b,0xf5,0x2e,0x7a,0xd, 0x26,0x7a,0x1d,0x22,0x7e,0x7d,
+0x2a,0xbe,0x78,0x0, 0x32,0x8, 0x56,0xe5,0x2f,0x70,0x4, 0xe5,0x15,0x80,0x2, 0xe5,
+0x10,0x12,0x2f,0x28,0x7a,0x1d,0x2a,0x7e,0x1d,0x26,0x12,0x2b,0x2f,0x7f,0x31,0x7e,
+0x1d,0x22,0x12,0x2b,0x2f,0x2f,0x31,0x78,0x1a,0xe5,0x2e,0x60,0xb, 0x12,0x2f,0x7d,
+0x12,0x29,0xd0,0x12,0x2f,0x52,0x80,0x1a,0x12,0x2f,0x52,0x12,0x29,0xd0,0x12,0x2f,
+0x7d,0x80,0xf, 0x7e,0x1d,0x22,0x12,0x2c,0xaf,0x12,0x29,0xd0,0x7e,0x1d,0x26,0x12,
+0x2c,0xaf,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x32,0x12,0x29,0xd8,0xda,0x3b,0x22,
+0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x30,0x59,0x13,0x0, 0x2, 0x1b,0x38,0x0, 0x22,
+0xca,0x3b,0x70,0x48,0x7e,0x1f,0x9, 0x89,0x7a,0x1f,0x9, 0xfd,0x7e,0x1f,0x9, 0x8d,
+0x7a,0x1f,0xa, 0x1, 0x7e,0x1f,0x9, 0x91,0x7a,0x1f,0xa, 0x5, 0x7e,0x1f,0x9, 0x95,
+0x7a,0x1f,0xa, 0x9, 0x7e,0x34,0x9, 0x71,0x7a,0x35,0x22,0x7e,0x34,0x9, 0x75,0x7a,
+0x35,0x24,0x7e,0x34,0x9, 0x79,0x7a,0x35,0x26,0x7e,0x34,0x9, 0x7d,0x7a,0x35,0x28,
+0xe5,0x8, 0xa, 0x1b,0x6d,0x0, 0x7e,0x1f,0x9, 0x71,0x80,0x46,0x7e,0x1f,0x9, 0xd1,
+0x7a,0x1f,0x9, 0xfd,0x7e,0x1f,0x9, 0xd5,0x7a,0x1f,0xa, 0x1, 0x7e,0x1f,0x9, 0xd9,
+0x7a,0x1f,0xa, 0x5, 0x7e,0x1f,0x9, 0xdd,0x7a,0x1f,0xa, 0x9, 0x7e,0x34,0x9, 0xe9,
+0x7a,0x35,0x22,0x7e,0x34,0x9, 0xed,0x7a,0x35,0x24,0x7e,0x34,0x9, 0xf1,0x7a,0x35,
+0x26,0x7e,0x34,0x9, 0xf5,0x7a,0x35,0x28,0xe5,0xf, 0xa, 0x1b,0x6d,0x0, 0x7e,0x1f,
+0x9, 0xe9,0x12,0x2f,0x2e,0x7f,0x31,0xbe,0x38,0x0, 0x32,0x18,0x2, 0x61,0x2c,0x7e,
+0x1f,0x9, 0xfd,0x12,0x2b,0x2f,0x7a,0x1f,0x9, 0xfd,0x7e,0x1f,0xa, 0x1, 0x12,0x2b,
+0x2f,0x7a,0x1f,0xa, 0x1, 0x7e,0x1f,0xa, 0x5, 0x12,0x2b,0x2f,0x12,0x2f,0xf1,0x12,
+0x2b,0x2f,0x7a,0x1f,0xa, 0x9, 0x7e,0x1f,0xa, 0x1, 0x7e,0x6f,0x9, 0xfd,0x2f,0x16,
+0x7e,0x7f,0xa, 0x5, 0x2f,0x71,0x78,0x16,0x7e,0x8, 0x0, 0x8, 0x7f,0x13,0x12,0x4,
+0x59,0x7f,0x1, 0x7e,0x35,0x22,0x12,0x29,0xd8,0x12,0x2f,0xa6,0x80,0x10,0x12,0x2f,
+0xb4,0x7e,0x35,0x22,0x12,0x29,0xd8,0x7e,0xf, 0xa, 0x1, 0x12,0x2f,0x8c,0x12,0x4,
+0x59,0x7f,0x1, 0x7e,0x35,0x24,0x12,0x29,0xd8,0x7e,0x6f,0xa, 0x5, 0x7e,0x1f,0xa,
+0x1, 0x2f,0x16,0x7e,0x7f,0xa, 0x9, 0x2f,0x71,0x78,0x16,0x12,0x2f,0xa6,0x12,0x4,
+0x59,0x7f,0x1, 0x7e,0x35,0x26,0x12,0x29,0xd8,0x7e,0x8, 0x0, 0x8, 0x7f,0x13,0x80,
+0x10,0x12,0x2f,0xb4,0x7e,0x35,0x26,0x12,0x29,0xd8,0x7e,0xf, 0xa, 0x9, 0x12,0x2f,
+0x8c,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x28,0x12,0x29,0xd8,0xda,0x3b,0x22,0xbe,
+0x18,0x0, 0x32,0x8, 0x1, 0x22,0x9f,0x11,0x22,0xca,0x79,0x7c,0xe7,0x7c,0xfb,0x74,
+0x4, 0xac,0xbf,0x12,0x2c,0xbf,0x12,0x2f,0x5a,0x68,0xf, 0x74,0x4, 0xac,0xbf,0x49,
+0x35,0x9, 0x57,0x49,0x25,0x9, 0x55,0x12,0x2c,0x9f,0xbe,0xe0,0x5, 0x68,0xf, 0x74,
+0x4, 0xac,0xbf,0x49,0x35,0x9, 0x87,0x49,0x25,0x9, 0x85,0x12,0x2c,0x9f,0x7e,0x1f,
+0xa, 0x15,0xda,0x79,0x22,0xca,0x79,0x7c,0xe7,0x7c,0xfb,0x74,0x4, 0xac,0xbf,0x12,
+0x2c,0xbf,0x12,0x2f,0x5a,0x68,0xf, 0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x6b,0x49,
+0x25,0x9, 0x69,0x12,0x2c,0x9f,0xbe,0xe0,0x5, 0x68,0xf, 0x74,0x4, 0xac,0xbf,0x49,
+0x35,0x9, 0x73,0x49,0x25,0x9, 0x71,0x12,0x2c,0x9f,0x7e,0x1f,0xa, 0x15,0xda,0x79,
+0x22,0xca,0x3b,0x9f,0x11,0x7a,0x1f,0x0, 0xa2,0x6c,0xff,0x81,0x95,0x7c,0x1f,0x2e,
+0x10,0x16,0xa5,0xe7,0x7c,0xeb,0xa, 0x1e,0x7e,0x24,0x0, 0x6, 0x8d,0x12,0x7c,0xd3,
+0xa, 0x3e,0x8d,0x32,0x7c,0xc5,0x12,0x2f,0x64,0x7c,0x7d,0x12,0x2b,0x39,0x7a,0x1f,
+0xa, 0xd, 0x4c,0xcc,0x68,0xc, 0x7c,0xbe,0x14,0x7c,0x7d,0x12,0x2b,0x39,0x7a,0x1f,
+0xa, 0x5, 0xbe,0xc0,0x5, 0x68,0xc, 0x7c,0xbe,0x4, 0x7c,0x7d,0x12,0x2b,0x39,0x7a,
+0x1f,0xa, 0x9, 0xa, 0x1c,0x12,0x2f,0xc3,0xa, 0x1c,0x12,0x2f,0x6f,0xa, 0x1c,0x12,
+0x2f,0xd3,0x7e,0x1f,0x0, 0xa2,0xbf,0x10,0x50,0x8, 0x7e,0x1f,0xa, 0x1, 0x7a,0x1f,
+0x0, 0xa2,0x7e,0x1f,0x9, 0xfd,0x74,0x6, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0xf, 0xa,
+0x1, 0x12,0x2f,0x4a,0x7a,0x37,0xa, 0x11,0x12,0x2f,0x64,0x7c,0xbe,0x7c,0x7c,0x12,
+0x2b,0x75,0x7a,0x1f,0xa, 0xd, 0x4c,0xdd,0x68,0xd, 0x7c,0xbe,0x24,0xfa,0x7c,0x7c,
+0x12,0x2b,0x75,0x7a,0x1f,0xa, 0x5, 0xbe,0xd0,0x5, 0x68,0xd, 0x7c,0xbe,0x24,0x6,
+0x7c,0x7c,0x12,0x2b,0x75,0x7a,0x1f,0xa, 0x9, 0xa, 0x1d,0x12,0x2f,0xc3,0xa, 0x1d,
+0x12,0x2f,0x6f,0xa, 0x1d,0x12,0x2f,0xd3,0x74,0x6, 0x2f,0x11,0x14,0x78,0xfb,0x12,
+0x2f,0x4a,0x7a,0x37,0xa, 0x13,0x7e,0x27,0xa, 0x11,0x74,0x5, 0xac,0xbf,0x59,0x25,
+0x0, 0x7a,0x12,0x44,0x58,0x12,0x40,0x97,0x50,0x2, 0x61,0xbd,0xda,0x3b,0x22,0x12,
+0x2b,0x2f,0x7f,0x1, 0x7e,0x1f,0xa, 0x15,0x2f,0x10,0x7a,0x1f,0xa, 0x15,0x22,0x12,
+0x2b,0x2f,0x7e,0xd, 0x2a,0x12,0x3, 0xec,0x7f,0x3, 0x22,0x74,0x4, 0xac,0xbd,0x49,
+0x35,0x9, 0x6f,0x49,0x25,0x9, 0x6d,0x22,0xca,0x3b,0x6c,0xee,0x9f,0x44,0x7f,0x74,
+0x7a,0x4f,0x9, 0xfe,0x7a,0x4f,0xa, 0x2, 0x7a,0x4f,0xa, 0x6, 0x7a,0x4f,0xa, 0xa,
+0x7a,0x4f,0xa, 0xe, 0x7f,0x64,0x7f,0x54,0x6c,0xdd,0x12,0x2c,0xbb,0xbf,0x71,0x58,
+0x4, 0x7f,0x71,0x7c,0xfd,0xb, 0xd0,0xbe,0xd0,0x24,0x78,0xee,0x7e,0x37,0x3, 0x49,
+0x6d,0x22,0xbf,0x71,0x58,0xb, 0x12,0x33,0x41,0x7e,0xb3,0x0, 0x91,0x54,0xf0,0x80,
+0x17,0xe5,0xe, 0xb4,0x1, 0x18,0x12,0x2f,0x38,0x7a,0xb3,0x0, 0x76,0x12,0x35,0xef,
+0x7e,0xb3,0x0, 0x91,0x54,0xf0,0x44,0x1, 0x7a,0xb3,0x0, 0x91,0xe1,0xd, 0x6c,0xdd,
+0xa, 0x5d,0x7e,0x24,0x0, 0x6, 0x8d,0x52,0x7a,0xb3,0x9, 0xfd,0xa, 0x3d,0x8d,0x32,
+0x7c,0xc5,0x70,0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x57,
+0x49,0x25,0x9, 0x55,0x7a,0x1f,0x9, 0xfe,0x7e,0xb3,0x9, 0xfd,0xb4,0x5, 0x4, 0x9f,
+0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x87,0x49,0x25,0x9, 0x85,0x7a,
+0x1f,0xa, 0x2, 0x4c,0xcc,0x78,0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,
+0x35,0x9, 0x6b,0x49,0x25,0x9, 0x69,0x7a,0x1f,0xa, 0x6, 0xbe,0xc0,0x5, 0x78,0x4,
+0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x73,0x49,0x25,0x9, 0x71,
+0x7a,0x1f,0xa, 0xa, 0x7e,0xb3,0x9, 0xfd,0x60,0x4, 0x4c,0xcc,0x78,0x4, 0x9f,0x11,
+0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x53,0x49,0x25,0x9, 0x51,0x7a,0x1f,
+0xa, 0xe, 0x12,0x2f,0x94,0x68,0x4, 0x4c,0xcc,0x78,0x4, 0x9f,0x66,0x80,0xc, 0x74,
+0x4, 0xac,0xbd,0x49,0xd5,0x9, 0x83,0x49,0xc5,0x9, 0x81,0x7e,0xb3,0x9, 0xfd,0x60,
+0x5, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x55,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0xb5,
+0x9, 0x5b,0x49,0xa5,0x9, 0x59,0x12,0x2f,0x94,0x68,0x5, 0xbe,0xc0,0x5, 0x78,0x4,
+0x9f,0x44,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x95,0x9, 0x8b,0x49,0x85,0x9, 0x89,
+0x12,0x2f,0x10,0x49,0x5, 0x9, 0x6d,0x7e,0x37,0x3, 0x49,0x6d,0x22,0xbf,0x1, 0x58,
+0x2, 0xc1,0xeb,0xe5,0xc, 0x12,0x2f,0x28,0x7f,0x1, 0x12,0x2c,0xbb,0xbf,0x10,0x18,
+0x2, 0xc1,0xeb,0x12,0x2f,0x10,0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0x9, 0xfe,0xbf,0x1,
+0x58,0x2, 0xc1,0xeb,0x12,0x2f,0x10,0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0x2, 0xbf,
+0x1, 0x58,0x2, 0xc1,0xeb,0x12,0x2f,0x10,0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0x6,
+0xbf,0x1, 0x58,0x2, 0xc1,0xeb,0x12,0x2f,0x10,0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa,
+0xa, 0xbf,0x1, 0x48,0x76,0x12,0x2f,0x10,0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0xe,
+0xbf,0x1, 0x48,0x67,0x12,0x2c,0xbb,0xbf,0x16,0x48,0x60,0x12,0x2c,0xbb,0xbf,0x15,
+0x48,0x59,0x12,0x2c,0xbb,0xbf,0x14,0x48,0x52,0x7c,0x1e,0x2e,0x10,0x16,0x7c,0xbd,
+0xa5,0xf7,0xa, 0x3d,0x12,0x2f,0x3d,0xa, 0x3e,0x19,0xb3,0x0, 0x76,0xb, 0xe0,0x7e,
+0x30,0x4, 0xac,0x3d,0x2e,0x14,0x9, 0x6d,0x12,0x4a,0x84,0xb, 0x1c,0x12,0x17,0xd4,
+0xbe,0xe1,0xe, 0x40,0x26,0x7e,0xe1,0xe, 0xbe,0xe0,0x2, 0x78,0x27,0x7e,0x73,0x0,
+0x76,0xbe,0x70,0xf, 0x38,0x9, 0x7e,0x73,0x0, 0x77,0xbe,0x70,0xf, 0x28,0x15,0x7e,
+0xe0,0x1, 0x12,0x2f,0x38,0x7a,0xb3,0x0, 0x76,0x80,0x9, 0xb, 0xd0,0xbe,0xd0,0x24,
+0x50,0x2, 0xa1,0x30,0x7c,0x6e,0x5e,0x60,0xf, 0x7e,0x73,0x0, 0x90,0x12,0x35,0xe5,
+0x7e,0x73,0x0, 0x91,0x5e,0x70,0xf0,0x4c,0x76,0x7a,0x73,0x0, 0x91,0xda,0x3b,0x22,
+0x74,0x4, 0xac,0xbd,0x49,0x15,0x9, 0x6f,0x22,0x12,0x2f,0x9c,0xe5,0x1b,0xa, 0x1b,
+0x6d,0x0, 0x12,0x2f,0x2e,0x2, 0x29,0x5c,0xa, 0x1b,0x6d,0x0, 0x7f,0x17,0x12,0x3,
+0xec,0x7e,0x8, 0x0, 0x64,0x2, 0x4, 0x59,0x7a,0xf1,0x16,0xa, 0x3f,0x2e,0x34,0x0,
+0x46,0x7a,0x71,0x82,0x7a,0x61,0x83,0xe4,0x93,0x22,0x12,0x4, 0x8, 0x2e,0x18,0x0,
+0x20,0x22,0x7e,0x8, 0x0, 0x4, 0x7e,0x1d,0x2a,0x22,0x12,0x2b,0x2f,0x7a,0x1f,0xa,
+0x15,0x4c,0xee,0x22,0x9f,0x11,0x7a,0x1f,0xa, 0x5, 0x7a,0x1f,0xa, 0x9, 0x22,0x6d,
+0x0, 0x7e,0x6f,0xa, 0xd, 0x7f,0x16,0x12,0x3, 0xec,0x2f,0x41,0x22,0x7e,0x14,0x0,
+0x3, 0x7e,0x1d,0x2a,0x12,0x3, 0xfd,0x7e,0x8, 0x0, 0x4, 0x22,0x7f,0x13,0x12,0x3,
+0xec,0x7f,0x7, 0x22,0x7e,0xb3,0x9, 0xfd,0xbe,0xb0,0x5, 0x22,0x7d,0xf3,0x49,0x3f,
+0x0, 0x2, 0xb, 0xf8,0x20,0x22,0x7e,0x14,0x0, 0x3, 0x7f,0x13,0x12,0x3, 0xfd,0x7e,
+0x8, 0x0, 0x8, 0x22,0x7f,0x13,0x7f,0x6, 0x12,0x3, 0xec,0x7f,0x7, 0x12,0x4, 0x59,
+0x7f,0x1, 0x22,0x6d,0x0, 0x1b,0xc, 0x7e,0x5f,0xa, 0x5, 0x7f,0x15,0x12,0x3, 0xec,
+0x7f,0x41,0x22,0x6d,0x0, 0xb, 0xc, 0x7e,0x7f,0xa, 0x9, 0x7f,0x17,0x12,0x3, 0xec,
+0x2f,0x14,0x7a,0x1f,0x9, 0xfd,0x7f,0x6, 0x2f,0x5, 0x2f,0x7, 0x7a,0xf, 0xa, 0x1,
+0x22,0x7a,0x1f,0xa, 0x5, 0x7e,0x1f,0xa, 0x9, 0x22,0xca,0x3b,0x7e,0x38,0x75,0x30,
+0x75,0x28,0x0, 0x7e,0x34,0xc, 0xf8,0x7e,0x24,0x0, 0x18,0xe4,0x12,0x4, 0xeb,0x7e,
+0x34,0x0, 0x41,0x7e,0x24,0x0, 0x6, 0xe4,0x12,0x4, 0xeb,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe1,0x7, 0x7e,0xb3,0x6, 0x67,0x30,0xe2,0x5, 0x75,0x27,0x1, 0x80,0x3, 0x75,0x27,
+0x2, 0x75,0x22,0x1, 0x21,0x1e,0x9f,0x11,0x7a,0x1f,0x9, 0xfd,0x75,0x23,0x0, 0x1,
+0xd5,0x12,0x32,0x2, 0x7e,0xb3,0x6, 0xd7,0x30,0xe1,0x42,0x30,0xe0,0x3f,0x7e,0x11,
+0x24,0x74,0x4, 0xac,0x1b,0x12,0x32,0x32,0x7e,0xa1,0x24,0x12,0x32,0x26,0x7a,0x1f,
+0xa, 0x5, 0xbe,0x1c,0xfc,0xe0,0x58,0x5, 0x12,0x32,0xd, 0x80,0x6f,0x7e,0x73,0x6,
+0xc6,0xbe,0x71,0x24,0x28,0x17,0x7e,0xf, 0xa, 0x5, 0x7e,0x1f,0x9, 0xfd,0xbf,0x10,
+0x58,0xb, 0x7e,0x1f,0xa, 0x5, 0x7a,0x1f,0x9, 0xfd,0x85,0x24,0x25,0x7e,0x91,0x24,
+0x74,0x4, 0xac,0x9b,0x7e,0xa1,0x22,0x74,0x58,0xa4,0x2d,0x54,0x49,0x15,0x0, 0x50,
+0x49,0x5, 0x0, 0x4e,0x49,0x35,0x0, 0xa8,0x49,0x25,0x0, 0xa6,0x9f,0x10,0x12,0x4,
+0xdb,0x7a,0x1f,0xa, 0x1, 0x7e,0xa1,0x22,0x74,0x4, 0xa4,0x49,0x15,0xc, 0xfa,0x49,
+0x5, 0xc, 0xf8,0xbf,0x10,0x8, 0xc, 0x7e,0x1f,0xa, 0x1, 0x59,0x35,0xc, 0xfa,0x59,
+0x25,0xc, 0xf8,0x5, 0x23,0x12,0x32,0x1e,0x28,0x2, 0x1, 0x41,0x7e,0x7f,0x9, 0xfd,
+0xbe,0x78,0x2, 0x58,0x8, 0x36,0x7e,0x73,0x6, 0xc6,0xbe,0x71,0x25,0x28,0x2d,0xe5,
+0x25,0xa, 0x3b,0x2e,0x34,0x0, 0xb, 0x7e,0x24,0x0, 0x16,0x12,0x3, 0xba,0x7c,0xa5,
+0x7a,0xa1,0x26,0x7e,0x10,0x4, 0xac,0x1a,0x12,0x32,0x32,0x12,0x32,0x26,0x7e,0x14,
+0x0, 0x5, 0x12,0x3, 0xfd,0xbf,0x71,0x8, 0x3, 0x12,0x32,0xd, 0x5, 0x22,0x7e,0x31,
+0x27,0x74,0x3, 0xac,0x3b,0xe5,0x22,0xa, 0xb, 0xbd,0x1, 0x58,0x2, 0x1, 0x36,0x75,
+0x22,0x1, 0x80,0x23,0x7e,0x11,0x22,0x2e,0x10,0x41,0xa5,0xe7,0x70,0x17,0x7e,0xa1,
+0x22,0x74,0x4, 0xa4,0x49,0x35,0xc, 0xfa,0x49,0x25,0xc, 0xf8,0xbf,0x13,0x58,0x5,
+0x7f,0x31,0x85,0x22,0x28,0x5, 0x22,0xe5,0x22,0xa, 0xb, 0xbd,0x1, 0x48,0xd5,0x7e,
+0x51,0x28,0x74,0x58,0xac,0x5b,0x2e,0x24,0x0, 0xa6,0x7e,0x34,0x3, 0x5c,0x7e,0x14,
+0x0, 0x58,0x12,0x4, 0xae,0x7e,0xb3,0x6, 0xd7,0x30,0xe1,0x4c,0x75,0x23,0x0, 0x80,
+0x42,0x12,0x32,0x2, 0x7e,0xb3,0x6, 0xd7,0x30,0xe0,0x36,0x7e,0x11,0x24,0x74,0x2,
+0xac,0x1b,0x49,0xf0,0x5, 0x90,0x7d,0x3f,0x1a,0x36,0x1a,0xe6,0x7e,0x31,0x24,0x74,
+0x4, 0xac,0x3b,0x12,0x28,0x60,0x7f,0x21,0x9f,0x27,0x59,0x51,0x4, 0x16,0x59,0x41,
+0x4, 0x14,0x49,0x50,0x5, 0x34,0x6d,0x44,0x2e,0x14,0x3, 0x5c,0x9f,0x12,0x12,0x17,
+0xd4,0x5, 0x23,0x12,0x32,0x1e,0x38,0xb9,0x12,0x17,0xcd,0x30,0xe1,0x31,0x75,0x23,
+0x0, 0x80,0x23,0x12,0x32,0x2, 0x7c,0xba,0x30,0xe0,0x19,0x7e,0x71,0x24,0x74,0x4,
+0xac,0x7b,0x12,0x1e,0xee,0x7e,0x37,0x5, 0xee,0x1a,0x26,0x1a,0x24,0xbf,0x10,0x8,
+0x3, 0x12,0x32,0x17,0x5, 0x23,0x7e,0xb3,0x6, 0xc8,0xbe,0xb1,0x23,0x38,0xd4,0xda,
+0x3b,0x22,0xe5,0x23,0xa, 0x3b,0x9, 0xb3,0x6, 0x96,0xf5,0x24,0x22,0x7e,0x11,0x22,
+0x2e,0x10,0x41,0x74,0x1, 0xa5,0xf7,0x74,0x3c,0x7a,0xb3,0xd, 0x3c,0x22,0x7e,0x73,
+0x6, 0xc8,0xbe,0x71,0x23,0x22,0x74,0x2, 0xa4,0x49,0x15,0x5, 0x34,0x6d,0x0, 0x9f,
+0x10,0x22,0x7e,0x31,0x22,0x74,0x58,0xac,0x3b,0x2d,0x10,0x49,0x31,0x0, 0xa8,0x49,
+0x21,0x0, 0xa6,0x22,0x7c,0xab,0x6c,0x22,0x6c,0x11,0x7c,0x1, 0x2e,0x0, 0x47,0xa5,
+0xe6,0xbc,0xb3,0x78,0x5, 0x7e,0x20,0x1, 0x80,0x7, 0xb, 0x10,0xbe,0x10,0x1, 0x40,
+0xe9,0x12,0x32,0xd4,0x38,0x11,0xa, 0x4b,0x7e,0x4, 0x0, 0x3, 0x9d,0x4, 0x7c,0xb1,
+0x60,0x5, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0xb3,0x6, 0xd7,0x30,0xe0,0x24,0x7e,0x10,
+0x2, 0xac,0x13,0x49,0xf0,0x5, 0x34,0x7d,0xf, 0x1a,0x0, 0x1a,0xe0,0x7f,0x61,0x9f,
+0x67,0x7e,0xf7,0x5, 0xee,0x7d,0xf, 0x1a,0x0, 0x1a,0xe0,0xbf,0x76,0x8, 0x3, 0x12,
+0x32,0x17,0x4c,0xaa,0x78,0x6, 0x74,0x4, 0xac,0xb3,0x80,0x10,0x4c,0x22,0x68,0x7,
+0x12,0x32,0xc5,0x8, 0xf, 0x80,0x5, 0x12,0x32,0xc5,0x58,0x8, 0x59,0x35,0x3, 0x5e,
+0x59,0x25,0x3, 0x5c,0x22,0x74,0x4, 0xac,0xb3,0x49,0xf5,0x3, 0x5e,0x49,0xe5,0x3,
+0x5c,0xbf,0x17,0x22,0x7e,0xb3,0x6, 0xd6,0xbe,0xb0,0x2, 0x22,0x12,0x37,0x6e,0xa5,
+0xbe,0x1, 0x14,0x7e,0xa3,0xd, 0x12,0xbe,0xa0,0xfa,0x50,0x2c,0x7e,0xb3,0xd, 0x10,
+0x70,0x26,0x7c,0xba,0x4, 0x80,0x1d,0xbe,0x60,0x2, 0x40,0x3, 0xe4,0x80,0x15,0x7e,
+0x53,0xd, 0x12,0xbe,0x50,0x4, 0x50,0xb, 0xbe,0x50,0x0, 0x28,0x6, 0x74,0x3, 0x7a,
+0xb3,0xd, 0x10,0xe4,0x7a,0xb3,0xd, 0x12,0x7e,0xa3,0xd, 0x10,0x4c,0xaa,0x68,0x20,
+0x4c,0x66,0x68,0x8, 0x7c,0xb7,0x12,0x33,0x45,0xe4,0x80,0x10,0x7c,0xb7,0xc4,0x54,
+0xf, 0xb4,0x1, 0x5, 0x7c,0xb7,0x12,0x35,0xf3,0x7c,0xba,0x14,0x7a,0xb3,0xd, 0x10,
+0x22,0x7e,0xb3,0x0, 0x90,0x54,0xf0,0x7a,0xb3,0x0, 0x90,0x22,0xca,0x3b,0x12,0x37,
+0x35,0x78,0x4, 0x6c,0xff,0x80,0x3, 0x7e,0xf0,0x2, 0x12,0x35,0x5e,0x78,0x1d,0x7c,
+0xba,0x54,0xf, 0xbe,0xb0,0x2, 0x40,0x14,0x5, 0x4d,0xe5,0x4d,0xbc,0xbf,0x38,0x5,
+0x7c,0xba,0x12,0x33,0x45,0xe4,0x7a,0xb3,0xb, 0x37,0x80,0x3, 0x75,0x4d,0x0, 0x12,
+0x35,0x5e,0x78,0x8, 0x5e,0xa0,0xf, 0xbe,0xa0,0x1, 0x28,0x11,0xe4,0x7a,0xb3,0xb,
+0x37,0x6d,0x33,0x7a,0x37,0xb, 0x4f,0x7a,0x37,0xb, 0x51,0xa1,0x4d,0x7e,0xb3,0xb,
+0xb3,0xbe,0xb0,0x1, 0x78,0x2, 0xa1,0x4d,0x4c,0xaa,0x78,0x2, 0xa1,0x1b,0x7e,0xe3,
+0xb, 0x37,0xbe,0xe0,0x2, 0x28,0x2, 0x81,0xf3,0x7c,0xbe,0x4, 0x7a,0xb3,0xb, 0x37,
+0x7e,0xa3,0xb, 0x37,0xbe,0xa0,0x1, 0x78,0x33,0x7e,0x37,0x0, 0x7a,0x7a,0x37,0xb,
+0x41,0x7e,0x37,0x0, 0x7c,0x7a,0x37,0xb, 0x43,0x7e,0x1f,0xb, 0x41,0x7a,0x1f,0xb,
+0x45,0x7e,0x1f,0xb, 0x41,0x7a,0x1f,0xb, 0x49,0x6d,0x33,0x7a,0x37,0xb, 0x4d,0x7a,
+0x37,0xb, 0x4f,0x7a,0x37,0xb, 0x51,0x12,0x33,0x41,0xa1,0x46,0xbe,0xa0,0x2, 0x40,
+0x18,0x7e,0x37,0x0, 0x7a,0x2e,0x37,0xb, 0x4f,0x7a,0x37,0xb, 0x4f,0x7e,0x37,0x0,
+0x7c,0x2e,0x37,0xb, 0x51,0x7a,0x37,0xb, 0x51,0x7e,0x37,0xb, 0x41,0x12,0x35,0x57,
+0x7d,0x63,0x7e,0x37,0xb, 0x43,0x12,0x35,0x50,0x7a,0x35,0x22,0x7e,0x37,0xb, 0x45,
+0x12,0x35,0x57,0x7a,0x35,0x24,0x7e,0x37,0xb, 0x47,0x12,0x35,0x50,0x7d,0x23,0x7e,
+0x35,0x22,0x2d,0x36,0xbe,0x34,0x0, 0xf, 0x50,0x18,0xbe,0x64,0x0, 0x7, 0x50,0x12,
+0x2e,0x25,0x24,0xbe,0x24,0x0, 0x1e,0x50,0x9, 0x7e,0x25,0x24,0xbe,0x24,0x0, 0xf,
+0x40,0x53,0x7e,0x53,0xb, 0x37,0xbc,0x5f,0x28,0x4b,0xe4,0x7a,0xb3,0xb, 0x37,0xbe,
+0x34,0x0, 0x8, 0x38,0x2, 0xa1,0x46,0x7e,0x37,0xb, 0x45,0xbe,0x34,0x0, 0x28,0x40,
+0x6, 0xbe,0x34,0x1, 0x66,0x28,0x24,0x7e,0x27,0xb, 0x47,0xbe,0x24,0x0, 0x28,0x28,
+0x1a,0xbe,0x24,0x1, 0x66,0x50,0x14,0x7a,0x37,0x0, 0x7a,0x7e,0x27,0x0, 0x7c,0x2e,
+0x27,0xb, 0x47,0x1e,0x24,0x7a,0x27,0x0, 0x7c,0xa1,0x46,0x7a,0x37,0x0, 0x7a,0x7e,
+0x37,0xb, 0x47,0x80,0x60,0x7e,0x27,0x0, 0x7a,0x7a,0x27,0xb, 0x41,0x7e,0x37,0x0,
+0x7c,0x7a,0x37,0xb, 0x43,0x7e,0xa3,0x0, 0x76,0x74,0x4, 0xa4,0x12,0x37,0x7e,0x7e,
+0xf7,0xb, 0x4d,0x6d,0xee,0xbf,0x70,0x58,0xc, 0x7a,0x17,0xb, 0x4d,0x7a,0x27,0xb,
+0x49,0x7a,0x37,0xb, 0x4b,0x7e,0x73,0x0, 0x90,0x7c,0xb7,0xc4,0x7c,0x6b,0x12,0x35,
+0xe2,0x80,0x53,0xa, 0x2e,0xb, 0x24,0x1b,0x25,0x7e,0x17,0xb, 0x4f,0x8d,0x12,0x7a,
+0x17,0xb, 0x41,0x7e,0x37,0xb, 0x51,0x8d,0x32,0x7a,0x37,0xb, 0x43,0x7e,0x27,0xb,
+0x41,0x7a,0x27,0x0, 0x7a,0x7a,0x37,0x0, 0x7c,0x80,0x2b,0x7e,0x73,0xb, 0x37,0xbc,
+0x7f,0x28,0x1b,0x7e,0x37,0xb, 0x49,0x7a,0x37,0x0, 0x7a,0x7e,0x37,0xb, 0x4b,0x7a,
+0x37,0x0, 0x7c,0x12,0x35,0xef,0x74,0x1, 0x7a,0xb3,0xb, 0x38,0x80,0x3, 0x12,0x33,
+0x41,0xe4,0x7a,0xb3,0xb, 0x37,0x12,0xe, 0xaf,0x78,0x2, 0xf5,0x9, 0xda,0x3b,0x22,
+0x9e,0x37,0x0, 0x7c,0x2, 0x0, 0x2e,0x9e,0x37,0x0, 0x7a,0x2, 0x0, 0x2e,0x7e,0xa3,
+0x0, 0x90,0x7c,0xba,0xc4,0x54,0xf, 0x22,0xca,0x79,0x9f,0x11,0x7a,0x1f,0x9, 0xfd,
+0x7e,0xa3,0x0, 0x90,0x7c,0xba,0x54,0xf, 0xb4,0x1, 0x64,0x7e,0x1f,0x0, 0xa2,0x7a,
+0x1f,0x9, 0xfd,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x6, 0x7e,0x1f,0x9, 0xfd,0x80,0x34,
+0x7e,0x37,0xb, 0x3b,0x12,0x35,0x50,0x7d,0x73,0x7e,0x37,0xb, 0x39,0x12,0x35,0x57,
+0x2d,0x37,0xbe,0x34,0x0, 0xf, 0x58,0x20,0x7e,0x1f,0xb, 0x3d,0x7f,0x1, 0x1e,0x14,
+0x1e,0x4, 0x50,0x3, 0x4e,0x20,0x80,0x7e,0x1f,0x9, 0xfd,0xbf,0x10,0x50,0x5, 0x12,
+0x33,0x41,0x80,0x4, 0x7a,0x1f,0xb, 0x3d,0x7e,0x37,0x0, 0x7a,0x7a,0x37,0xb, 0x39,
+0x7e,0x37,0x0, 0x7c,0x7a,0x37,0xb, 0x3b,0x12,0xe, 0xaf,0x78,0x2, 0xf5,0x9, 0xda,
+0x79,0x22,0x5e,0x60,0xf, 0x5e,0x70,0xf0,0x4c,0x76,0x7a,0x73,0x0, 0x90,0x22,0x7e,
+0xb3,0x0, 0x90,0x54,0xf0,0x44,0x1, 0x7a,0xb3,0x0, 0x90,0x22,0x6c,0xaa,0x7e,0x90,
+0x5, 0xac,0x9a,0x9, 0xb4,0x2, 0xba,0xbe,0xb0,0xff,0x68,0xa, 0x49,0x34,0x2, 0xb8,
+0xbe,0x34,0x1, 0x8d,0x50,0x33,0xb, 0xa0,0xbe,0xa0,0x2, 0x40,0xe1,0x12,0x37,0x2c,
+0x78,0x21,0x7c,0xb7,0xc4,0x7c,0x6b,0x5e,0x60,0xf, 0xbe,0x60,0x0, 0x28,0x14,0xe5,
+0x4c,0xbe,0xb0,0x1, 0x50,0x9, 0x12,0x35,0xe5,0x75,0x12,0x1, 0x5, 0x4c,0x22,0x75,
+0x4c,0x0, 0x22,0x75,0x4c,0x0, 0x75,0x12,0x0, 0x22,0x75,0x27,0xa, 0x75,0x28,0x5,
+0x7e,0x18,0x3, 0xe8,0x7e,0x8, 0x27,0x10,0x74,0xc, 0x12,0x36,0xac,0x70,0x13,0x75,
+0x27,0xa, 0x75,0x28,0x4, 0x7e,0x18,0x3, 0xe8,0x7e,0x8, 0x27,0x10,0x74,0xa, 0x12,
+0x36,0xac,0x60,0x13,0x7e,0xb3,0x6, 0x67,0x44,0x2, 0x7a,0xb3,0x6, 0x67,0x12,0x33,
+0x41,0xe4,0x7a,0xb3,0xd, 0x11,0x22,0x7e,0xa3,0x6, 0x67,0x7c,0xba,0x30,0xe1,0x1b,
+0x7e,0xb3,0xd, 0x11,0x4, 0x7a,0xb3,0xd, 0x11,0xbe,0xb0,0x14,0x40,0xd, 0xe4,0x7a,
+0xb3,0xd, 0x11,0x7c,0xba,0x54,0xfd,0x7a,0xb3,0x6, 0x67,0x22,0xca,0x3b,0xf5,0x26,
+0x7a,0xd, 0x22,0x7f,0x31,0x75,0x29,0x0, 0x75,0x2a,0x0, 0x7e,0x34,0x9, 0xfd,0x7e,
+0x24,0x0, 0x90,0xe4,0x12,0x4, 0xeb,0x6c,0xaa,0x12,0x28,0x5b,0xbf,0x13,0x8, 0x11,
+0x7e,0x31,0x29,0x74,0x4, 0xac,0x3b,0x59,0x31,0x9, 0xff,0x59,0x21,0x9, 0xfd,0x5,
+0x29,0xb, 0xa0,0xbe,0xa0,0x16,0x78,0xe1,0xe5,0x26,0xbe,0xb1,0x29,0x38,0x38,0x7e,
+0xd, 0x22,0x7e,0x1f,0x5, 0x28,0xbf,0x10,0x58,0x2d,0x7e,0x34,0x9, 0xfd,0xe5,0x26,
+0xa, 0x2b,0x12,0x38,0x8, 0x7e,0xa1,0x27,0x74,0x4, 0xa4,0x49,0x35,0x9, 0xff,0x49,
+0x25,0x9, 0xfd,0xe5,0x28,0xa, 0x1b,0x6d,0x0, 0x12,0x3, 0xec,0x7e,0xf, 0x9, 0xfd,
+0xbf,0x10,0x8, 0x3, 0x75,0x2a,0x1, 0xe5,0x2a,0xda,0x3b,0x22,0x7e,0x73,0x0, 0x90,
+0x7c,0xb7,0x54,0xf, 0x22,0x7e,0x37,0x0, 0x92,0xbe,0x34,0x0, 0x1, 0x22,0x12,0x37,
+0x35,0x78,0x1b,0x7e,0xb3,0x6, 0x67,0x20,0xe5,0x14,0x7e,0xb3,0x6, 0xcb,0x20,0xe0,
+0xd, 0x12,0x37,0x5f,0x7e,0xb3,0x6, 0xcb,0x44,0x1, 0x7a,0xb3,0x6, 0xcb,0x22,0xa9,
+0xc0,0xca,0x6d,0x22,0x12,0x37,0x87,0x5e,0x60,0x7f,0x1b,0x28,0x30,0x22,0x7e,0x73,
+0x0, 0x90,0x7c,0x67,0x5e,0x60,0xf, 0x22,0x6d,0xee,0x74,0x4, 0xac,0xbf,0x49,0x15,
+0x3, 0x5e,0x49,0x5, 0x3, 0x5c,0x22,0x7e,0x34,0x13,0x14,0x1b,0x38,0x20,0x7e,0x24,
+0x12,0x4, 0xb, 0x28,0x30,0x22,0x7e,0xb3,0x6, 0xcb,0x30,0xe0,0x16,0xa9,0xd0,0xca,
+0x7e,0x24,0x0, 0x3f,0x12,0x37,0x87,0x4e,0x60,0x80,0x1b,0x28,0x30,0x54,0xfe,0x7a,
+0xb3,0x6, 0xcb,0x22,0xc2,0xab,0x12,0x37,0x3e,0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xd5,
+0xc9,0xd2,0xaf,0xa9,0xd0,0xcd,0xd2,0xc8,0xd2,0xa8,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,
+0xd7,0x9e,0xd2,0xaf,0x74,0x1, 0x12,0x4e,0x28,0x74,0x2, 0x12,0xf, 0xcd,0x12,0x4e,
+0x8b,0xc2,0xa8,0xa9,0xc0,0xcd,0xc2,0xc8,0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xc5,0xc9,
+0xd2,0xaf,0xd2,0xab,0x12,0x4e,0x10,0x2, 0x37,0x96,0xbd,0x32,0x58,0x3, 0x7d,0x32,
+0x22,0xbd,0x31,0x8, 0x2, 0x7d,0x31,0x22,0x6d,0x11,0x80,0x48,0x6d,0x0, 0x80,0x38,
+0x7d,0xf0,0x3e,0xf4,0x3e,0xf4,0x7d,0xef,0x2d,0xe3,0x49,0xde,0x0, 0x6, 0x49,0xce,
+0x0, 0x4, 0x49,0x5e,0x0, 0x2, 0xb, 0xe8,0x40,0xbf,0x26,0x58,0x19,0x49,0xde,0x0,
+0x6, 0x49,0xce,0x0, 0x4, 0x59,0xde,0x0, 0x2, 0x1b,0xe8,0xc0,0x2d,0xf3,0x59,0x5f,
+0x0, 0x6, 0x59,0x4f,0x0, 0x4, 0xb, 0x4, 0x7d,0xf2,0x1b,0xf4,0x9d,0xf1,0xbd,0xf0,
+0x38,0xbe,0xb, 0x14,0xbd,0x21,0x38,0xb4,0x22,0x75,0x39,0x3, 0x75,0x3f,0x0, 0x22,
+0xca,0xf8,0x12,0x38,0xe2,0x12,0x38,0xf1,0x12,0x38,0x59,0x75,0x39,0x3, 0x75,0x37,
+0x40,0x12,0x38,0xe2,0xe5,0x39,0xb4,0x3, 0x60,0xe5,0x3f,0x60,0xf4,0x12,0x38,0xfa,
+0x12,0x1f,0xb5,0x12,0x1f,0x3a,0x12,0x15,0xa, 0x6c,0xff,0x80,0x2d,0x7e,0xb3,0xb,
+0x9e,0x60,0x1a,0x7e,0x50,0x2, 0xac,0x5f,0x49,0xf2,0x5, 0x34,0x12,0x37,0x78,0x9f,
+0x7, 0x7d,0x31,0x2e,0x34,0x27,0x10,0x59,0x32,0xc, 0x20,0x80,0xb, 0x12,0x1f,0xbc,
+0x74,0x2, 0xac,0xbf,0x59,0x35,0xc, 0x20,0xb, 0xf0,0x12,0x1a,0x60,0x38,0xce,0x75,
+0x3f,0x0, 0x7e,0xb3,0xc, 0xd6,0x54,0x7f,0x7a,0xb3,0xc, 0xd6,0xe5,0xa, 0x20,0xe0,
+0xa0,0x74,0x1, 0x7a,0xb3,0x3, 0x42,0x80,0x98,0xe5,0x39,0x7a,0xb3,0xb, 0x9f,0xda,
+0xf8,0x22,0x6d,0x33,0x7a,0x37,0x2, 0xd0,0x7e,0x34,0x7, 0xd0,0x7a,0x37,0x0, 0x74,
+0x22,0x7e,0x34,0x2, 0xd4,0x7a,0x37,0x6, 0xd8,0x22,0x7e,0xb3,0x6, 0xd7,0x44,0x2,
+0x7a,0xb3,0x6, 0xd7,0x22,0xbe,0xb0,0xa, 0x50,0x8, 0x7c,0x1b,0x2e,0x10,0x37,0xa5,
+0xe7,0x22,0x2, 0x39,0x15,0xb4,0xae,0x5, 0x7e,0xb3,0x3, 0x34,0x22,0x24,0xf6,0xbe,
+0xb0,0x30,0x40,0x2, 0x41,0xcb,0x7e,0xa0,0x3, 0xa4,0x90,0x39,0x2e,0x73,0x2, 0x39,
+0xbe,0x2, 0x39,0xc1,0x2, 0x39,0xc3,0x2, 0x39,0xc8,0x2, 0x39,0xcd,0x2, 0x39,0xd2,
+0x2, 0x39,0xd7,0x2, 0x39,0xdc,0x2, 0x39,0xe1,0x2, 0x39,0xe6,0x2, 0x39,0xeb,0x2,
+0x39,0xf0,0x2, 0x39,0xf5,0x2, 0x3a,0x9, 0x2, 0x3a,0xe, 0x2, 0x3a,0xcb,0x2, 0x3a,
+0x13,0x2, 0x3a,0x18,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,
+0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2,
+0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,
+0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,
+0x2, 0x3a,0x1d,0x2, 0x3a,0x22,0x2, 0x3a,0x27,0x2, 0x3a,0x2c,0x2, 0x3a,0x31,0x2,
+0x3a,0x36,0x2, 0x3a,0xcb,0x2, 0x3a,0x69,0x2, 0x3a,0xcb,0x2, 0x3a,0x98,0x74,0x16,
+0x22,0xe4,0x22,0x7e,0xb3,0x3, 0x35,0x22,0x7e,0xb3,0x3, 0x38,0x22,0x7e,0xb3,0x3,
+0x39,0x22,0x7e,0xb3,0x3, 0x3a,0x22,0x7e,0xb3,0x3, 0x3b,0x22,0x7e,0xb3,0x3, 0x3c,
+0x22,0x7e,0xb3,0x3, 0x3d,0x22,0x7e,0xb3,0x3, 0x36,0x22,0x7e,0xb3,0x3, 0x37,0x22,
+0x7e,0xb3,0x3, 0x40,0x22,0x7e,0xb3,0xc, 0xd0,0x70,0x8, 0x7e,0x27,0x3, 0x30,0xa,
+0x54,0x80,0xa, 0x7e,0x57,0x3, 0x30,0x80,0x4, 0x7e,0x57,0x3, 0x30,0x22,0x7e,0xb3,
+0x3, 0x3f,0x22,0x7e,0xb3,0x3, 0x41,0x22,0x7e,0xb3,0x6, 0xd4,0x22,0x7e,0xb3,0x3,
+0x43,0x22,0x7e,0xb3,0x3, 0x44,0x22,0x7e,0xb3,0x3, 0x45,0x22,0x7e,0xb3,0x3, 0x46,
+0x22,0x7e,0xb3,0x3, 0x47,0x22,0x7e,0x73,0x3, 0x47,0x7c,0xb7,0x4, 0x7a,0xb3,0x3,
+0x47,0xbe,0x70,0x5c,0x50,0x20,0xa, 0x27,0x7d,0x12,0x5e,0x14,0x0, 0x1, 0x68,0xb,
+0x7d,0x12,0x1e,0x14,0x3e,0x14,0x49,0x51,0xc, 0x20,0x22,0x1e,0x24,0x3e,0x24,0x49,
+0x22,0xc, 0x20,0xa, 0x54,0x22,0x74,0xee,0x22,0x7e,0x73,0x3, 0x44,0x7c,0xb7,0x4,
+0x7a,0xb3,0x3, 0x44,0xbe,0x70,0x2e,0x50,0x1c,0xbe,0x70,0x16,0x50,0x2, 0x80,0x5,
+0xbe,0x70,0x16,0x50,0xb, 0xa, 0x37,0x2e,0x34,0x4, 0xc5,0x12,0x2f,0x41,0x7c,0x7b,
+0xb, 0x70,0x7c,0xb7,0x22,0x74,0xee,0x22,0x7e,0x73,0x3, 0x46,0x7c,0xb7,0x4, 0x7a,
+0xb3,0x3, 0x46,0xbe,0x70,0x5c,0x50,0x20,0xa, 0x27,0x7d,0x12,0x5e,0x14,0x0, 0x1,
+0x68,0xb, 0x7d,0x12,0x1e,0x14,0x3e,0x14,0x49,0x51,0x2, 0xd4,0x22,0x1e,0x24,0x3e,
+0x24,0x49,0x22,0x2, 0xd4,0xa, 0x54,0x22,0x74,0xee,0x22,0x74,0xee,0x22,0xbe,0xb0,
+0xa, 0x50,0xa, 0x7c,0x1b,0x2e,0x10,0x37,0x7c,0xb7,0xa5,0xf7,0x22,0x2, 0x3a,0xe0,
+0xca,0x79,0x7c,0x6b,0xa5,0xbe,0xae,0x17,0x7a,0x73,0x3, 0x34,0x7e,0xb3,0x3, 0x34,
+0xb4,0x1, 0x5, 0xe4,0x7a,0xb3,0x3, 0x34,0xe4,0x7a,0xb3,0x3, 0x42,0x61,0xfe,0xa5,
+0xbe,0xaf,0x5, 0x12,0x4c,0xd, 0x81,0x81,0x7c,0xb6,0x24,0xf4,0xbe,0xb0,0x29,0x40,
+0x2, 0x81,0x39,0x7e,0xa0,0x3, 0xa4,0x90,0x3b,0x1b,0x73,0x2, 0x3b,0x96,0x2, 0x3b,
+0x9c,0x2, 0x3b,0xa2,0x2, 0x3b,0xa8,0x2, 0x3b,0xae,0x2, 0x3b,0xb4,0x2, 0x3b,0xba,
+0x2, 0x3b,0xc0,0x2, 0x3b,0xc6,0x2, 0x3b,0xcc,0x2, 0x3b,0xd2,0x2, 0x3b,0xea,0x2,
+0x3c,0x3, 0x2, 0x3c,0x7a,0x2, 0x3c,0x9, 0x2, 0x3c,0x12,0x2, 0x3c,0x39,0x2, 0x3c,
+0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,
+0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2,
+0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,
+0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x1b,0x2, 0x3c,0x21,0x2, 0x3c,0x27,
+0x2, 0x3c,0x2d,0x2, 0x3c,0x33,0x7e,0x74,0x3, 0x35,0x80,0x7a,0x7e,0x74,0x3, 0x38,
+0x80,0x74,0x7e,0x74,0x3, 0x39,0x80,0x6e,0x7e,0x74,0x3, 0x3a,0x80,0x68,0x7e,0x74,
+0x3, 0x3b,0x80,0x62,0x7e,0x74,0x3, 0x3c,0x80,0x5c,0x7e,0x74,0x3, 0x3d,0x80,0x56,
+0x7e,0x74,0x3, 0x36,0x80,0x50,0x7e,0x74,0x3, 0x37,0x80,0x4a,0x7e,0x74,0x3, 0x40,
+0x80,0x44,0x7e,0x27,0x3, 0x30,0x6c,0x44,0x7a,0x27,0x3, 0x30,0x7c,0x67,0x6c,0x77,
+0x4e,0x37,0x3, 0x30,0x7a,0x37,0x3, 0x30,0x80,0x14,0x7e,0x27,0x3, 0x30,0x6c,0x55,
+0x7a,0x27,0x3, 0x30,0xa, 0x37,0x4e,0x37,0x3, 0x30,0x7a,0x37,0x3, 0x30,0x43,0xa,
+0x1, 0x80,0x7e,0x7e,0x74,0x3, 0x3f,0x80,0xd, 0x7e,0x74,0x3, 0x41,0x43,0xa, 0x4,
+0x80,0x68,0x7e,0x74,0x6, 0xd4,0x43,0xa, 0x1, 0x80,0x5f,0x7a,0x73,0x3, 0x43,0x80,
+0x60,0x7a,0x73,0x3, 0x44,0x80,0x5a,0x7a,0x73,0x3, 0x45,0x80,0x54,0x7a,0x73,0x3,
+0x46,0x80,0x4e,0x7a,0x73,0x3, 0x47,0x80,0x48,0xbe,0x60,0x39,0x68,0x4, 0xa5,0xbe,
+0x3a,0x3f,0x7e,0x63,0x3, 0x45,0x7c,0xb6,0x4, 0x7a,0xb3,0x3, 0x45,0xa, 0x26,0x5e,
+0x24,0x0, 0x1, 0xa, 0x16,0x68,0x12,0x12,0x3c,0x84,0x6c,0x55,0x1b,0x18,0x20,0xa,
+0x17,0x12,0x3c,0x90,0x43,0xa, 0x2, 0x80,0x18,0x12,0x3c,0x84,0x6c,0x44,0x1b,0x18,
+0x20,0x7c,0x27,0x6c,0x33,0x12,0x3c,0x90,0x80,0x7, 0x4d,0x77,0x68,0x3, 0x7a,0x79,
+0x70,0xda,0x79,0x22,0x1e,0x14,0x3e,0x14,0x2e,0x14,0x2, 0xd4,0xb, 0x18,0x20,0x22,
+0xa, 0x26,0x1e,0x24,0x3e,0x24,0x2e,0x24,0x2, 0xd4,0xb, 0x28,0x30,0x4d,0x31,0x1b,
+0x28,0x30,0x22,0xca,0x69,0xca,0xf8,0x7c,0xf7,0xbe,0xb0,0x80,0x40,0xb, 0xbe,0xb0,
+0xde,0x38,0x6, 0x24,0x80,0x7c,0x7f,0xa1,0x3f,0x24,0x0, 0x68,0x2, 0xa1,0x42,0x7e,
+0x64,0xc, 0xd6,0x7a,0x69,0xf0,0x5e,0xf0,0x70,0x7c,0xbf,0xc4,0x54,0xf, 0x7c,0xfb,
+0xbe,0xf0,0x4, 0x78,0x15,0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x7, 0x74,0x2, 0x7e,0x70,
+0x3, 0x80,0x36,0x74,0x3c,0x7e,0x70,0x3, 0x80,0x55,0x7e,0xb3,0xb, 0x9f,0xb4,0x3,
+0x2d,0x74,0x2, 0x7e,0x70,0x1, 0x12,0x3a,0xce,0xbe,0xf0,0x1, 0x78,0x6, 0x74,0x2,
+0x6c,0x77,0x80,0x15,0x4c,0xff,0x78,0x7, 0x74,0x2, 0x7e,0x70,0x1, 0x80,0xa, 0xbe,
+0xf0,0x3, 0x78,0x2e,0x74,0x2, 0x7e,0x70,0x4, 0x12,0x3a,0xce,0x80,0x24,0xbe,0xf0,
+0x1, 0x78,0x6, 0x74,0x3c,0x6c,0x77,0x80,0x16,0xbe,0xf0,0x4, 0x78,0x7, 0x74,0x3c,
+0x7e,0x70,0x3, 0x80,0xa, 0xbe,0xf0,0x3, 0x78,0x8, 0x74,0x3c,0x7e,0x70,0x4, 0x12,
+0x3f,0xc1,0xda,0xf8,0xda,0x69,0x22,0xca,0x79,0x7c,0x6b,0x24,0x0, 0x78,0x75,0x7e,
+0x74,0xc, 0xd6,0x7a,0x79,0x70,0x5e,0x70,0x70,0x7c,0xb7,0xc4,0x54,0xf, 0x7c,0x7b,
+0xbe,0x70,0x4, 0x68,0x47,0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x20,0xa5,0xbf,0x1, 0x6,
+0x74,0x2, 0x6c,0x77,0x80,0x5c,0xa5,0xbf,0x0, 0x7, 0x74,0x2, 0x7e,0x70,0x1, 0x80,
+0x51,0xa5,0xbf,0x3, 0x68,0x74,0x2, 0x7e,0x70,0x4, 0x80,0x46,0xa5,0xbf,0x1, 0x6,
+0x74,0x3c,0x6c,0x77,0x80,0x29,0xa5,0xbf,0x4, 0x7, 0x74,0x3c,0x7e,0x70,0x3, 0x80,
+0x1e,0xa5,0xbf,0x3, 0x48,0x74,0x3c,0x7e,0x70,0x4, 0x80,0x13,0x7e,0xb3,0xb, 0x9f,
+0xb4,0x3, 0x7, 0x74,0x2, 0x7e,0x70,0x3, 0x80,0x18,0x74,0x3c,0x7e,0x70,0x3, 0x12,
+0x3f,0xc1,0x80,0x29,0xbe,0x60,0xa, 0x50,0xe, 0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x1d,
+0x7c,0xb6,0x12,0x3a,0xce,0x80,0x16,0xbe,0x60,0xa, 0x40,0x11,0xbe,0x60,0xaf,0x38,
+0xc, 0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x5, 0x7c,0xb6,0x12,0x3a,0xe0,0xda,0x79,0x22,
+0xca,0x79,0x20,0x90,0x2, 0xc1,0x96,0xd2,0x8, 0x7e,0xb3,0xc, 0xd2,0x4, 0x7a,0xb3,
+0xc, 0xd2,0x7e,0xf3,0xc, 0xd2,0xbe,0xf0,0x1, 0x78,0x22,0xe5,0x91,0x7a,0xb3,0xc,
+0xd8,0x7e,0xb3,0xc, 0xd8,0xb4,0xd3,0xe, 0x74,0x1, 0x7a,0xb3,0xc, 0xd7,0x6d,0x33,
+0x7a,0x37,0xc, 0xd3,0x80,0x3c,0xe4,0x7a,0xb3,0xc, 0xd7,0x80,0x35,0x7e,0xb3,0xc,
+0xd6,0xc4,0x7c,0xeb,0x5e,0xe0,0x7, 0x78,0x8, 0x12,0x3f,0x23,0x12,0x3c,0xa3,0x80,
+0x21,0xbe,0xe0,0x4, 0x78,0x8, 0x12,0x3f,0x23,0x12,0x3d,0x47,0x80,0x14,0x7e,0xb3,
+0xc, 0xd6,0xc4,0x54,0x7, 0xb4,0x1, 0xa, 0x7e,0xb3,0xc, 0xd2,0x12,0x3f,0x25,0x12,
+0x4b,0xd8,0x12,0x3f,0xb6,0x78,0xe, 0xe4,0x12,0x3f,0x2f,0xb4,0x10,0x2, 0x80,0x14,
+0x12,0x27,0x57,0x80,0x12,0xbe,0xf0,0x4, 0x78,0x5, 0x12,0x27,0x2e,0x80,0x8, 0xbe,
+0xf0,0x1, 0x78,0x3, 0x12,0x3f,0xf5,0x7e,0xb3,0xc, 0xd8,0xb4,0xd3,0x6, 0x7e,0xb3,
+0xb, 0xb6,0xf5,0x91,0xc2,0x90,0x20,0x91,0x2, 0xe1,0x20,0xc2,0x8, 0x7e,0xb3,0xc,
+0xd0,0x4, 0x12,0x3f,0xb2,0x78,0x50,0x7e,0xb3,0xc, 0xd7,0xb4,0x1, 0x36,0x7e,0xa3,
+0x9, 0x6a,0x7e,0x70,0x4, 0xac,0x7a,0xbe,0x37,0xc, 0xd3,0x40,0x22,0x7e,0x37,0xc,
+0xd3,0x4d,0x33,0x78,0x5, 0x7a,0xa1,0x91,0x80,0xd, 0x7d,0x23,0x1b,0x24,0x2e,0x27,
+0x6, 0xdb,0x7e,0x29,0xb0,0xf5,0x91,0xb, 0x34,0x7a,0x37,0xc, 0xd3,0x80,0x3f,0x75,
+0x91,0xff,0x80,0x3a,0xe4,0x12,0x3f,0x2f,0xb4,0x10,0x6, 0x7e,0xb3,0xc, 0xd0,0x80,
+0x19,0x7e,0xb3,0xc, 0xd0,0x80,0x1e,0xbe,0xf0,0x4, 0x78,0x5, 0x12,0x27,0x2e,0x80,
+0x1d,0xbe,0xf0,0x1, 0x7e,0xb3,0xc, 0xd0,0x78,0xb, 0x2e,0xb3,0xc, 0xd8,0x12,0x0,
+0x7, 0xf5,0x91,0x80,0x9, 0x2e,0xb3,0xc, 0xd8,0x12,0x3f,0x2f,0xf5,0x91,0xc2,0x91,
+0xda,0x79,0x22,0x7c,0xbf,0x2e,0xb3,0xc, 0xd8,0x24,0xfe,0x7e,0x71,0x91,0x22,0x7c,
+0x7b,0xbe,0x70,0x80,0x40,0xc, 0xbe,0x70,0xde,0x38,0x7, 0xa, 0x37,0x9, 0xb3,0xa,
+0xe3,0x22,0xa5,0xbf,0x0, 0x5, 0x7e,0xb3,0xc, 0xd6,0x22,0x30,0x7, 0x6, 0x7e,0x24,
+0xc, 0xac,0x80,0x4, 0x7e,0x24,0xc, 0xbe,0x7a,0x25,0x4a,0x7c,0xb7,0x14,0xbe,0xb0,
+0xe, 0x50,0x4c,0x7e,0xa0,0x3, 0xa4,0x90,0x3f,0x6b,0x73,0x2, 0x3f,0x95,0x2, 0x3f,
+0x9d,0x2, 0x3f,0xa5,0x2, 0x3f,0xa5,0x2, 0x3f,0xa5,0x2, 0x3f,0xa5,0x2, 0x3f,0xa5,
+0x2, 0x3f,0xa5,0x2, 0x3f,0xa5,0x2, 0x3f,0xa5,0x2, 0x3f,0xa5,0x2, 0x3f,0xa5,0x2,
+0x3f,0xa5,0x2, 0x3f,0xa5,0x7e,0x35,0x4a,0x9, 0xb3,0x0, 0x4, 0x22,0x7e,0x35,0x4a,
+0x9, 0xb3,0x0, 0x3, 0x22,0xa, 0x37,0x2e,0x35,0x4a,0x9, 0xb3,0x0, 0x2, 0x22,0x74,
+0xff,0x22,0x7a,0xb3,0xc, 0xd0,0x7e,0xb3,0xc, 0xd6,0xc4,0x7c,0xfb,0x5e,0xf0,0x7,
+0x22,0xbe,0xb0,0x5e,0x38,0x2e,0xbe,0xb0,0x26,0x68,0x29,0xbe,0xb0,0x2f,0x68,0x24,
+0xbe,0xb0,0x23,0x68,0x1f,0xbe,0xb0,0x28,0x68,0x1a,0xbe,0xb0,0x21,0x68,0x15,0xbe,
+0xb0,0x22,0x68,0x10,0xa, 0x2b,0x19,0x72,0xb, 0x63,0x7e,0xb3,0xb, 0xc2,0x44,0x1,
+0x7a,0xb3,0xb, 0xc2,0x22,0x7e,0xb3,0xc, 0xd8,0x12,0x0, 0x7, 0xf5,0x91,0x22,0x75,
+0xd, 0x0, 0xc2,0x5, 0x7e,0xb3,0xb, 0x88,0x70,0x7, 0x7e,0xb3,0x0, 0x95,0xf5,0x1a,
+0x22,0x7e,0xb3,0x0, 0x97,0xf5,0x1a,0x22,0x7d,0xd2,0x6d,0x22,0x9e,0x18,0x0, 0xc7,
+0x6d,0xcc,0x7e,0x78,0x0, 0xc7,0x7f,0x27,0x9f,0x26,0x12,0x44,0x5f,0x2e,0x28,0x0,
+0xc7,0x9f,0x71,0x7f,0x17,0xbe,0x28,0x0, 0x0, 0x58,0x4, 0x9f,0x22,0x80,0xa, 0xbe,
+0x28,0x1, 0x8e,0x48,0x4, 0x7e,0x28,0x1, 0x8d,0xbe,0x18,0x0, 0x0, 0x58,0x4, 0x9f,
+0x11,0x80,0xa, 0xbe,0x18,0x1, 0x8e,0x48,0x4, 0x7e,0x18,0x1, 0x8d,0x1b,0x18,0x50,
+0x7d,0x13,0x1b,0x8, 0x10,0x22,0xca,0xf8,0x6c,0xff,0x80,0x23,0x74,0x5, 0xac,0xbf,
+0x12,0x44,0xd, 0x7e,0x14,0x0, 0x22,0x7e,0x4, 0x0, 0x24,0x12,0x40,0x18,0x7e,0x35,
+0x22,0x74,0x5, 0xac,0xbf,0x59,0x35,0x0, 0x7a,0x7e,0x35,0x24,0x12,0x44,0x54,0x12,
+0x40,0x97,0x48,0xd8,0xda,0xf8,0x22,0x7e,0xb3,0x0, 0x90,0x54,0xf, 0xa, 0x2b,0xa,
+0x3f,0xbd,0x32,0x22,0xca,0x3b,0xc2,0xf, 0x75,0x2c,0x0, 0x7e,0xb3,0x3, 0x5a,0xbe,
+0xb0,0x2, 0x68,0x7, 0x7e,0xb3,0x3, 0x5b,0xb4,0x2, 0x16,0x12,0x35,0x5e,0xbe,0xb0,
+0x1, 0x38,0xe, 0x7c,0xba,0x54,0xf, 0xbe,0xb0,0x1, 0x38,0x5, 0x7c,0xba,0x12,0x33,
+0x45,0x6c,0xff,0x7e,0xa0,0xff,0x7e,0x70,0x5, 0xac,0x7f,0x19,0xa3,0x0, 0x7e,0x7c,
+0x1f,0x2e,0x10,0x22,0x74,0xff,0xa5,0xf7,0x7e,0x24,0xff,0xff,0x12,0x43,0xf0,0x1b,
+0x38,0x20,0x7c,0x1f,0x2e,0x10,0x24,0xe4,0xa5,0xf7,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,
+0xd2,0x7e,0xa3,0x0, 0x90,0x7c,0xba,0x54,0xf, 0x78,0x1f,0x7c,0xba,0xc4,0x54,0xf,
+0x78,0x18,0x6c,0xff,0x12,0x44,0x4c,0xac,0x7f,0x59,0x43,0x3, 0x52,0x59,0x43,0x3,
+0x56,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xec,0x61,0x8b,0x7c,0xba,0xc4,0x54,0xf, 0x78,
+0x33,0x6c,0xff,0x7e,0xa0,0x1, 0x80,0x25,0x7c,0x1f,0x2e,0x10,0x24,0x7c,0xba,0x12,
+0x43,0xf9,0x19,0xf3,0x0, 0x7e,0x49,0x43,0x0, 0x7a,0x7e,0x50,0x2, 0xac,0x5f,0x59,
+0x42,0x3, 0x52,0x49,0x33,0x0, 0x7c,0x59,0x32,0x3, 0x56,0xb, 0xf0,0x12,0x40,0x97,
+0x48,0xd6,0x61,0x8b,0x6c,0xff,0x80,0x47,0x6c,0xee,0x74,0x2, 0xac,0xbe,0x49,0x25,
+0x3, 0x56,0x12,0x46,0xb, 0x7d,0x63,0x74,0x2, 0xac,0xbe,0x49,0x25,0x3, 0x52,0x12,
+0x44,0x76,0x2d,0x36,0x7a,0x35,0x26,0x7c,0xbf,0x3e,0xb0,0x24,0x28,0xa, 0x2b,0xb,
+0x28,0x30,0xbe,0x35,0x26,0x28,0xf, 0x7c,0x1f,0x2e,0x10,0x22,0x7c,0xbe,0xa5,0xf7,
+0x7e,0x35,0x26,0x1b,0x28,0x30,0xb, 0xe0,0xbe,0xe0,0x2, 0x78,0xbd,0xb, 0xf0,0x12,
+0x40,0x97,0x48,0xb4,0x6c,0xff,0x41,0x54,0xd2,0xf, 0x6c,0xee,0x80,0x2c,0xbc,0xef,
+0x68,0x26,0x7c,0x1e,0x12,0x44,0x1, 0x7c,0x1f,0x2e,0x10,0x22,0xa5,0xe7,0xbc,0xba,
+0x78,0x16,0x7c,0xbe,0x12,0x43,0xf2,0xb, 0x38,0x20,0x12,0x43,0xf0,0xb, 0x38,0x30,
+0xbd,0x32,0x40,0x4, 0xc2,0xf, 0x80,0xd, 0xb, 0xe0,0x12,0xe, 0xaf,0xa, 0x2b,0xa,
+0x3e,0xbd,0x32,0x48,0xc9,0x7c,0x1f,0x12,0x44,0x1, 0xa, 0x4a,0x9, 0xb4,0x3, 0x5a,
+0xb4,0x2, 0x4, 0xc2,0xf, 0x80,0x1e,0xb4,0x1, 0x1b,0x12,0x37,0x2c,0xbe,0xb0,0x2,
+0x40,0x11,0x7c,0xb7,0xc4,0x54,0xf, 0xbe,0xb0,0x2, 0x40,0x7, 0xe4,0x19,0xb4,0x3,
+0x5a,0x80,0x2, 0xc2,0xf, 0x30,0xf, 0x2a,0xbe,0xa0,0x2, 0x50,0x25,0x7c,0x1a,0x2e,
+0x10,0x24,0x74,0x1, 0xa5,0xf7,0x7e,0x90,0x5, 0xac,0x9f,0x19,0xa4,0x0, 0x7e,0x49,
+0x34,0x0, 0x7a,0x74,0x2, 0xa4,0x59,0x35,0x3, 0x52,0x49,0x34,0x0, 0x7c,0x59,0x35,
+0x3, 0x56,0xb, 0xf0,0x12,0x40,0x97,0x58,0x2, 0x21,0xb8,0x6c,0xff,0x80,0x48,0x74,
+0x5, 0xac,0xbf,0x9, 0xb5,0x0, 0x7e,0xb4,0xff,0x3b,0x6c,0xee,0x7c,0x1e,0x2e,0x10,
+0x24,0xa5,0xe7,0x70,0x29,0xa, 0x3e,0x9, 0xb3,0x3, 0x5a,0x70,0x1f,0x74,0x1, 0x12,
+0x43,0xf9,0x49,0x23,0x0, 0x7a,0x74,0x2, 0xac,0xbe,0x59,0x25,0x3, 0x52,0x49,0x23,
+0x0, 0x7c,0x59,0x25,0x3, 0x56,0x19,0xe3,0x0, 0x7e,0x80,0x9, 0x5, 0x2c,0xb, 0xe0,
+0xbe,0xe0,0x2, 0x40,0xc7,0xb, 0xf0,0x7e,0xa3,0x0, 0x90,0x5e,0xa0,0xf, 0xa, 0x2a,
+0xa, 0x3f,0xbd,0x32,0x48,0xa9,0xe5,0x2c,0x60,0x2a,0x4c,0xaa,0x68,0x26,0xe5,0x2c,
+0xa, 0x3b,0xbd,0x23,0x48,0x1e,0x7e,0x73,0x0, 0x7e,0xbe,0x70,0x2, 0x40,0xc, 0x7e,
+0x73,0x0, 0x83,0xbe,0x70,0x2, 0x50,0x3, 0x12,0x46,0x3d,0x12,0x37,0x6e,0x9e,0x61,
+0x2c,0x12,0x35,0xe2,0x12,0x35,0x5e,0xa, 0x2b,0x7c,0xba,0x54,0xf, 0xa, 0x3b,0xbd,
+0x32,0x58,0x71,0x6c,0xff,0x12,0x43,0xe8,0x70,0x5a,0x7e,0xd0,0x2, 0xac,0xdf,0x49,
+0x46,0x3, 0x52,0xbe,0x44,0x7f,0xff,0x68,0x4b,0xa, 0x2f,0x9, 0x62,0x3, 0x5a,0xbe,
+0x60,0x2, 0x50,0x40,0x49,0x16,0x3, 0x56,0xbe,0x14,0x1, 0x8e,0x50,0x36,0x9, 0xb2,
+0xb, 0x31,0x60,0x30,0x74,0x1, 0xa5,0xf7,0x7e,0x73,0x0, 0x90,0x7c,0xe7,0x5e,0xe0,
+0xf, 0x74,0x5, 0xac,0xbe,0x59,0x45,0x0, 0x7a,0x59,0x15,0x0, 0x7c,0x19,0xf5,0x0,
+0x7e,0x2e,0x24,0x3, 0x5a,0x7c,0xb6,0x4, 0x7a,0x29,0xb0,0x7c,0x67,0xb, 0x60,0x12,
+0x35,0xe2,0x80,0x7, 0xe4,0xa, 0x3f,0x19,0xb3,0x3, 0x5a,0xb, 0xf0,0xbe,0xf0,0x2,
+0x78,0x93,0x80,0x9, 0xe4,0x7a,0xb3,0x3, 0x5a,0x7a,0xb3,0x3, 0x5b,0x6c,0xff,0x12,
+0x43,0xe8,0x70,0x10,0x7e,0x34,0x7f,0xff,0x74,0x2, 0xac,0xbf,0x59,0x35,0x3, 0x52,
+0x59,0x35,0x3, 0x56,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xe4,0x12,0x44,0x44,0x6c,0xff,
+0x12,0x43,0xe8,0xb4,0x1, 0x1d,0xa, 0x3f,0x9, 0xb3,0x3, 0x50,0xbe,0xb0,0x3, 0x68,
+0x3, 0xb4,0x1, 0x7, 0xe4,0x19,0xb3,0x3, 0x4e,0x80,0x33,0x74,0x2, 0x19,0xb3,0x3,
+0x4e,0x80,0x2b,0xa, 0x3f,0x9, 0xb3,0x3, 0x50,0xbe,0xb0,0x2, 0x68,0x2, 0x70,0x18,
+0x74,0x1, 0x19,0xb3,0x3, 0x4e,0xbe,0xe0,0x2, 0x50,0x13,0x7c,0xae,0xb, 0xe0,0x74,
+0x5, 0xa4,0x19,0xf5,0x0, 0x7e,0x80,0x6, 0x74,0x3, 0x19,0xb3,0x3, 0x4e,0xb, 0xf0,
+0xbe,0xf0,0x2, 0x40,0xab,0xda,0x3b,0x22,0x7c,0x1f,0x2e,0x10,0x24,0xa5,0xe7,0x22,
+0x7c,0xbf,0x3e,0xb0,0x24,0x28,0xa, 0x3b,0x22,0xa5,0xf7,0x7e,0x70,0x5, 0xac,0x7f,
+0x22,0x2e,0x10,0x22,0xa5,0xe7,0x7c,0xab,0x22,0x74,0x5, 0xac,0xbe,0x49,0x35,0x0,
+0x7a,0x49,0x25,0x0, 0x7c,0x22,0xca,0x79,0x12,0x44,0x3a,0x6c,0xff,0x80,0x13,0xa,
+0x3f,0x9, 0xe3,0x0, 0x76,0x7e,0x34,0x6, 0x15,0x7c,0xbe,0x6c,0x55,0x12,0x46,0x4e,
+0xb, 0xf0,0x12,0x40,0x97,0x48,0xe8,0xda,0x79,0x22,0x74,0x1, 0x6c,0xaa,0x12,0x44,
+0x6a,0x40,0xfb,0x22,0x7e,0xe3,0x0, 0x90,0x5e,0xe0,0xf, 0x22,0x7e,0x44,0x7f,0xff,
+0x7e,0x70,0x2, 0x22,0x74,0x5, 0xac,0xbf,0x59,0x35,0x0, 0x7c,0xb, 0xf0,0x22,0x6e,
+0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,0x22,0xa, 0x4a,0x19,0xb4,0x6, 0x15,
+0xb, 0xa0,0xbe,0xa0,0x2e,0x22,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7a,0x9d,0x32,
+0x2, 0x0, 0x2e,0xca,0x3b,0x12,0xe, 0xaf,0x7c,0xeb,0x78,0x30,0x6c,0xff,0x6d,0x11,
+0x74,0x2, 0xac,0xbf,0x59,0x15,0xd, 0x1d,0x7e,0xa0,0xff,0x7e,0x30,0x5, 0xac,0x3f,
+0x19,0xa1,0xd, 0x17,0x7e,0xb3,0xd, 0x28,0x70,0x3, 0xe4,0x80,0x2, 0x74,0x2, 0xa,
+0x1f,0x19,0xb1,0xd, 0x26,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xd2,0x7e,0x17,0x0, 0x92,
+0xbe,0x14,0x0, 0x1, 0x78,0x2, 0xa1,0xff,0x6c,0xff,0xa1,0xdb,0x74,0x5, 0xac,0xbf,
+0x9, 0x75,0x0, 0x7e,0x7a,0x71,0x23,0xbe,0x70,0x2, 0x40,0x2, 0xa1,0xd9,0xe5,0x23,
+0xa, 0x1b,0x12,0x46,0x20,0x78,0x2, 0xa1,0xd9,0x75,0x22,0x0, 0x7e,0x31,0x22,0x74,
+0x5, 0xac,0x3b,0x9, 0x71,0xd, 0x17,0x7a,0x71,0x24,0xbe,0x71,0x23,0x68,0x2, 0xa1,
+0xce,0x49,0x21,0xd, 0x15,0x12,0x46,0xb, 0x7d,0x63,0x12,0x14,0xd0,0x49,0x25,0xd,
+0x13,0x12,0x44,0x76,0x7d,0x3, 0x2d,0x6, 0xe5,0x24,0xa, 0x1b,0x9, 0xa1,0xd, 0x26,
+0xbe,0xa0,0x0, 0x28,0x17,0x7e,0x71,0x24,0x74,0x2, 0xac,0x7b,0x59,0x3, 0xd, 0x1d,
+0x2e,0x14,0xd, 0x26,0x7c,0xba,0x14,0x7a,0x19,0xb0,0xa1,0xd9,0x7e,0x31,0x24,0x74,
+0x2, 0xac,0x3b,0x49,0x31,0xd, 0x1d,0xbe,0x34,0x0, 0x1e,0x28,0x8, 0xbe,0x4, 0x0,
+0x1e,0x28,0x2, 0x80,0x10,0x7d,0x23,0x2e,0x24,0x0, 0x1e,0xbd,0x20,0x50,0x12,0xbe,
+0x34,0x0, 0x1e,0x28,0xc, 0x59,0x1, 0xd, 0x1d,0x74,0x1, 0x7a,0xb3,0xd, 0x28,0x80,
+0x68,0xbe,0x4, 0x0, 0x64,0x28,0x4b,0xe4,0x7a,0xb3,0xd, 0x28,0xe5,0x23,0xa, 0x1b,
+0x9, 0xb1,0x3, 0x4e,0x70,0x4, 0x74,0x3, 0x80,0x2, 0x74,0x1, 0x19,0xb1,0x3, 0x4e,
+0x12,0x46,0x28,0x7e,0x14,0xd, 0x21,0x74,0x5, 0x12,0x4, 0x8d,0xbe,0xe0,0x0, 0x28,
+0x21,0x1b,0xe0,0x7e,0x70,0x5, 0xac,0x7e,0x2e,0x34,0x0, 0x7a,0x7e,0x30,0x5, 0xac,
+0x3f,0x12,0x46,0x2, 0x7e,0x34,0xd, 0x21,0x7e,0x30,0x5, 0xac,0x3e,0x12,0x46,0x2,
+0x1b,0xf0,0x7e,0xa1,0x24,0x74,0x2, 0xa4,0x59,0x5, 0xd, 0x1d,0x80,0xb, 0x5, 0x22,
+0xe5,0x22,0xbe,0xb0,0x2, 0x50,0x2, 0x81,0xec,0xb, 0xf0,0x12,0x37,0x2c,0xa, 0x2b,
+0xa, 0x1f,0xbd,0x12,0x58,0x2, 0x81,0xcc,0x7c,0x6e,0x12,0x35,0xe2,0x6c,0xff,0x12,
+0x46,0x18,0x2e,0x34,0x0, 0x7a,0x2e,0x14,0xd, 0x13,0x12,0x46,0x32,0x78,0xf0,0xda,
+0x3b,0x22,0x2e,0x14,0x0, 0x7a,0x74,0x5, 0x2, 0x4, 0x8d,0x74,0x5, 0xac,0xbf,0x49,
+0x35,0x0, 0x7c,0x9d,0x32,0x2, 0x0, 0x2e,0x7e,0x30,0x5, 0xac,0x3f,0x7d,0x31,0x22,
+0x9, 0xb1,0x3, 0x4e,0xbe,0xb0,0x1, 0x22,0x7e,0x70,0x5, 0xac,0x7f,0x2e,0x34,0x0,
+0x7a,0x22,0x74,0x5, 0x12,0x4, 0x8d,0xb, 0xf0,0xbe,0xf0,0x2, 0x22,0x7e,0x1f,0x0,
+0x80,0x7e,0x33,0x0, 0x7f,0x7a,0x1f,0x0, 0x7b,0x7a,0x33,0x0, 0x7a,0x22,0x7d,0x13,
+0x4d,0x11,0x68,0xc, 0xbe,0xb0,0x2e,0x50,0x7, 0xa, 0x3b,0x2d,0x31,0x7a,0x39,0x50,
+0x22,0x6c,0xaa,0x74,0x3, 0xa, 0x4a,0x19,0xb4,0x3, 0x50,0x19,0xb4,0x3, 0x4e,0x12,
+0x44,0x4c,0xac,0x7a,0x59,0x43,0x3, 0x52,0x59,0x43,0x3, 0x56,0xb, 0xa0,0xbe,0xa0,
+0x2, 0x40,0xe0,0x22,0xca,0x3b,0x7c,0xcb,0x6c,0xaa,0xe5,0x9, 0x70,0xa, 0xe5,0x1c,
+0x70,0x6, 0xe5,0x11,0x70,0x2, 0xe1,0xee,0x20,0x7, 0x6, 0x7e,0x74,0xc, 0xac,0x80,
+0x4, 0x7e,0x74,0xc, 0xbe,0x6c,0xdd,0x7e,0x70,0xff,0xa, 0x2d,0x2d,0x27,0x7a,0x29,
+0x70,0xb, 0xd0,0xbe,0xd0,0x12,0x78,0xf2,0x74,0xaa,0x7a,0x79,0xb0,0x19,0xb7,0x0,
+0x1, 0x74,0x12,0x19,0xb7,0x0, 0x2, 0x7e,0xb3,0x2, 0xca,0x19,0xb7,0x0, 0x4, 0x6c,
+0x77,0x6c,0xdd,0x7e,0x10,0x5, 0xac,0x1d,0x9, 0x60,0x2, 0xba,0xbe,0x60,0xff,0x78,
+0x2, 0xe1,0x77,0xa, 0x16,0x9, 0xb1,0x3, 0x4e,0xbe,0xb0,0x3, 0x78,0x2, 0xe1,0x77,
+0x49,0x40,0x2, 0xb6,0x2e,0x44,0x0, 0x3, 0x49,0x20,0x2, 0xb8,0x2e,0x24,0x0, 0x3,
+0xa, 0x8, 0x12,0x5b,0xa0,0x19,0x60,0x0, 0x5, 0x7c,0x69,0xa, 0x7, 0x2d,0x7, 0x19,
+0x60,0x0, 0x6, 0xa, 0x4, 0x12,0x5b,0xa0,0x19,0x60,0x0, 0x7, 0x7c,0x65,0xa, 0x7,
+0x2d,0x7, 0x19,0x60,0x0, 0x8, 0xe4,0xa, 0x7, 0x2d,0x7, 0x19,0xb0,0x0, 0x9, 0xa,
+0x7, 0x2d,0x7, 0x19,0xb0,0x0, 0xa, 0x12,0x5b,0xab,0xc4,0x54,0xf0,0xa, 0x7, 0x2d,
+0x7, 0x2e,0x4, 0x0, 0x7, 0x7e,0x9, 0x60,0x2c,0x6b,0x7a,0x9, 0x60,0x12,0x5b,0xab,
+0xbe,0xb0,0xff,0x68,0x1f,0x12,0x46,0x20,0x68,0x2, 0xb, 0xa0,0x9, 0xb1,0x3, 0x4e,
+0x3, 0x3, 0x54,0xc0,0xa, 0x17,0x2d,0x17,0x2e,0x14,0x0, 0x5, 0x7e,0x19,0x60,0x2c,
+0x6b,0x7a,0x19,0x60,0x2e,0x70,0x6, 0xb, 0xd0,0xbe,0xd0,0x2, 0x68,0x2, 0xc1,0xd3,
+0x19,0xa7,0x0, 0x3, 0xe4,0x19,0xb7,0x0, 0x11,0x6c,0xdd,0xa, 0x3d,0x2d,0x37,0x7e,
+0x39,0x60,0x7d,0x27,0x2e,0x24,0x0, 0x11,0x7e,0x29,0x70,0x6c,0x76,0x7a,0x29,0x70,
+0xb, 0xd0,0xbe,0xd0,0x11,0x78,0xe4,0x30,0x7, 0x4, 0xc2,0x7, 0x80,0x2, 0xd2,0x7,
+0xe5,0x1c,0x60,0x3, 0x12,0x46,0x61,0x75,0x9, 0x0, 0x75,0x1c,0x0, 0x75,0x11,0x0,
+0x7e,0xb3,0xb, 0xb3,0xb4,0x1, 0x14,0x12,0x37,0x35,0x68,0x26,0xe5,0x4f,0xb4,0x1,
+0xf, 0x74,0x1, 0x12,0x47,0xf5,0x75,0x4f,0x0, 0x80,0x5, 0x74,0x1, 0x12,0x47,0xf5,
+0x7e,0x34,0x0, 0x9, 0x12,0x4e,0x92,0xbe,0xc0,0x1, 0x78,0x6, 0x80,0x0, 0xe4,0x12,
+0x47,0xf5,0xda,0x3b,0x22,0x70,0x3, 0xd2,0x86,0x22,0xc2,0x86,0x22,0x6c,0x77,0xa,
+0x27,0x9, 0x62,0x3, 0x4e,0x19,0x62,0x3, 0x50,0xb, 0x70,0xbe,0x70,0x2, 0x40,0xef,
+0x12,0x48,0x41,0x12,0x48,0x39,0x7a,0x73,0x0, 0x90,0x7e,0x73,0x0, 0x91,0x5e,0x70,
+0xf, 0x12,0x48,0x39,0x7a,0x73,0x0, 0x91,0x7e,0x1f,0x5, 0x2c,0x7a,0x1f,0x5, 0x30,
+0x7e,0x73,0x6, 0xe, 0x7a,0x73,0x6, 0xf, 0x22,0x7c,0xb7,0xc4,0x54,0xf0,0x4c,0x7b,
+0x22,0x7e,0x73,0x0, 0x90,0x5e,0x70,0xf, 0x22,0x12,0x48,0x41,0x6c,0x66,0x80,0x2,
+0xb, 0x60,0xbc,0x76,0x38,0xfa,0x22,0xca,0x3b,0x6c,0xaa,0x12,0x48,0x41,0x7e,0x44,
+0x3, 0x5c,0x7e,0x24,0x0, 0x76,0x6c,0x66,0x80,0x64,0x75,0x1f,0xff,0xa, 0xf6,0x2d,
+0xf2,0x7e,0xf9,0x20,0x7e,0x30,0x4, 0xac,0x23,0x7d,0xe1,0x2d,0xe4,0x49,0x1e,0x0,
+0x2, 0xb, 0xe8,0x0, 0xa, 0x76,0xb, 0x74,0x80,0x24,0xa, 0xef,0x2d,0xe2,0x7e,0xe9,
+0xe0,0x7e,0xd0,0x4, 0xac,0xde,0x7d,0xe6,0x2d,0xe4,0x49,0xde,0x0, 0x2, 0xb, 0xe8,
+0xc0,0xbf,0x6, 0x58,0x7, 0x7c,0xae,0x7a,0xf1,0x1f,0x7f,0x6, 0xb, 0xf0,0xbc,0x7f,
+0x38,0xd8,0xe5,0x1f,0xbe,0xb0,0xff,0x68,0x13,0x7e,0xf9,0xe0,0xe5,0x1f,0xa, 0xfb,
+0x2d,0xf2,0x7a,0xf9,0xe0,0xa, 0xf6,0x2d,0xf2,0x7a,0xf9,0xa0,0xb, 0x60,0xbc,0x76,
+0x38,0x98,0xda,0x3b,0x22,0xca,0x3b,0x7e,0x48,0x75,0x30,0x7f,0x74,0x9f,0x55,0x7f,
+0x5, 0x6c,0x77,0x7e,0xa0,0x1, 0x6c,0x66,0x7e,0x50,0x2, 0xac,0x56,0x49,0x72,0x5,
+0x34,0x6d,0x66,0x7e,0x50,0x4, 0xac,0x56,0x49,0xd2,0x3, 0x5e,0x49,0xc2,0x3, 0x5c,
+0x2f,0x63,0xbf,0x76,0x8, 0x2, 0x7f,0x76,0xbf,0x6, 0x58,0x2, 0x7f,0x6, 0xb, 0x60,
+0xa5,0xbe,0x16,0xd4,0x7f,0x30,0x9f,0x37,0xbe,0x38,0x4, 0xb0,0x58,0x3, 0x7e,0x70,
+0x1, 0x7f,0x74,0x7f,0x5, 0x6c,0x66,0x7e,0x50,0x2, 0xac,0x56,0x49,0xd2,0x5, 0x34,
+0x6d,0xcc,0xbf,0x76,0x8, 0x2, 0x7f,0x76,0xbf,0x6, 0x58,0x2, 0x7f,0x6, 0xb, 0x60,
+0xa5,0xbe,0x16,0xe3,0x9f,0x7, 0xbe,0x8, 0x4, 0xb0,0x8, 0x2, 0x6c,0xaa,0x4c,0x77,
+0x68,0x8, 0x4c,0xaa,0x78,0x4, 0x74,0x1, 0x80,0x1, 0xe4,0xda,0x3b,0x22,0xca,0x3b,
+0x7c,0xab,0x7d,0x73,0x4d,0x77,0x78,0x2, 0x41,0x75,0x4d,0x22,0x78,0x2, 0x41,0x75,
+0xe4,0x7a,0xb3,0x6, 0x4d,0x6c,0x99,0x21,0xf9,0x7e,0x70,0x4, 0xac,0x79,0x2d,0x37,
+0x49,0xf3,0x0, 0x2, 0xb, 0x38,0xe0,0xbe,0x7c,0xfc,0x18,0x58,0x5, 0xbe,0x90,0x16,
+0x40,0x15,0xbe,0x7c,0xf8,0x30,0x58,0x58,0xbe,0x90,0x16,0x40,0x53,0x7e,0xf, 0x5,
+0x28,0xbe,0x8, 0x7, 0xd0,0x58,0x49,0xa, 0x39,0x7d,0x13,0x2e,0x14,0xa, 0xd1,0x7e,
+0x19,0xb0,0x4, 0x7a,0x19,0xb0,0x9, 0xb3,0xa, 0xd1,0xbe,0xb0,0xc, 0x28,0x38,0x7e,
+0x70,0x2, 0xac,0x79,0x2d,0x32,0xb, 0x38,0x10,0x1a,0x2, 0x1a,0x0, 0x2f,0x7, 0xbe,
+0x8, 0x38,0x40,0x58,0x22,0x74,0x1, 0x7a,0xb3,0x6, 0x4d,0x6c,0x88,0x80,0xa, 0x74,
+0x1, 0xa, 0x38,0x19,0xb3,0xa, 0xe7,0xb, 0x80,0xbe,0x80,0x0, 0x40,0xf1,0x80,0x7,
+0xe4,0xa, 0x39,0x19,0xb3,0xa, 0xd1,0xb, 0x90,0xbc,0xa9,0x28,0x2, 0x21,0x79,0x6c,
+0x99,0x80,0x6a,0x7e,0xd0,0x4, 0xac,0xd9,0x12,0x4a,0x80,0xbe,0x1c,0xfc,0xe0,0x58,
+0x21,0xa, 0x39,0x7d,0x23,0x2e,0x24,0xa, 0x8d,0x12,0x4a,0x78,0x9, 0x83,0xa, 0x8d,
+0xbe,0x80,0xf, 0x28,0x14,0x12,0x48,0xd5,0x60,0xf, 0x74,0x3, 0x7a,0xb3,0x6, 0x4d,
+0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0x8d,0x12,0x4a,0x80,0xbe,0x1c,0xfc,0xe0,
+0x58,0x22,0x7e,0xb3,0x6, 0x4d,0x70,0x1c,0xa, 0x39,0x7d,0x23,0x2e,0x24,0xa, 0xbb,
+0x12,0x4a,0x78,0x9, 0x83,0xa, 0xbb,0xbe,0x80,0x12,0x28,0xf, 0x74,0x2, 0x7a,0xb3,
+0x6, 0x4d,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0xbb,0xb, 0x90,0x7e,0x83,0x6,
+0xc6,0xbc,0x89,0x38,0x8e,0xda,0x3b,0x22,0x7e,0x29,0xb0,0x4, 0x7a,0x29,0xb0,0x22,
+0x7d,0x16,0x2d,0x17,0x49,0x31,0x0, 0x2, 0xb, 0x18,0x20,0x22,0xe4,0x7a,0xb3,0x3,
+0x34,0x74,0x1, 0x7a,0xb3,0x3, 0x42,0x74,0x7, 0x7a,0xb3,0x3, 0x41,0x74,0xf, 0x7a,
+0xb3,0x3, 0x38,0x7a,0xb3,0x3, 0x39,0x74,0x3f,0x7a,0xb3,0x3, 0x36,0x74,0x12,0x7a,
+0xb3,0x3, 0x3a,0x7a,0xb3,0x3, 0x3b,0x74,0x3f,0x7a,0xb3,0x3, 0x37,0x74,0x10,0x7a,
+0xb3,0x3, 0x3c,0x7a,0xb3,0x3, 0x3d,0x74,0x5, 0x7a,0xb3,0x3, 0x35,0x74,0x3, 0x7a,
+0xb3,0x3, 0x40,0x7a,0xb3,0x3, 0x3f,0x22,0x74,0x12,0x7a,0xb3,0xb, 0x63,0x74,0xa0,
+0x7a,0xb3,0xb, 0x68,0xe4,0x7a,0xb3,0xb, 0x69,0x74,0x5, 0x7a,0xb3,0xb, 0x6a,0x74,
+0xe, 0x7a,0xb3,0xb, 0x6b,0x74,0x5a,0x7a,0xb3,0xb, 0x6c,0x74,0xe, 0x7a,0xb3,0xb,
+0x86,0x74,0x1, 0x7a,0xb3,0xb, 0x87,0xe4,0x7a,0xb3,0xb, 0x88,0x74,0x1, 0x7a,0xb3,
+0xb, 0x89,0x7a,0xb3,0xb, 0x9f,0x74,0x83,0x7a,0xb3,0xb, 0x8b,0xe4,0x7a,0xb3,0xb,
+0x8c,0x74,0x2, 0x7a,0xb3,0xb, 0x92,0xe4,0x7a,0xb3,0xb, 0x91,0x7a,0xb3,0xb, 0x90,
+0x7a,0xb3,0xd, 0x3f,0x7a,0xb3,0xb, 0xb3,0x74,0x3f,0x7a,0xb3,0xb, 0xb4,0xe4,0x7a,
+0xb3,0xb, 0x93,0x7a,0xb3,0xb, 0x9e,0x7a,0xb3,0xb, 0x79,0x7e,0x34,0x4, 0xb0,0x7a,
+0x37,0x3, 0x49,0x74,0x12,0x7a,0xb3,0x3, 0x4b,0x12,0x4b,0x97,0x12,0x4b,0x8f,0x7a,
+0xb3,0x0, 0x94,0x74,0x7, 0x7a,0xb3,0x0, 0x95,0x74,0xe, 0x7a,0xb3,0x0, 0x96,0x74,
+0x5a,0x7a,0xb3,0x0, 0x97,0x7a,0xb3,0x0, 0x98,0x74,0x5, 0x7a,0xb3,0x0, 0x99,0x74,
+0x1, 0x7a,0xb3,0x0, 0x9a,0xe4,0x7a,0xb3,0x0, 0x9b,0x7a,0xb3,0x0, 0xa1,0x22,0x6d,
+0x33,0x7a,0x37,0x0, 0x92,0xe4,0x22,0x7e,0x34,0xa, 0x0, 0x7a,0x37,0x0, 0x9e,0x74,
+0xa0,0x7a,0xb3,0x0, 0xa0,0x22,0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,
+0xca,0x1b,0xca,0xb, 0xc0,0xd0,0xc0,0x83,0xc0,0x82,0x12,0x3d,0xf0,0x74,0x1, 0x7a,
+0xb3,0xc, 0xd1,0xd0,0x82,0xd0,0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,
+0x4b,0xda,0x5b,0xda,0x6b,0xda,0x7b,0x32,0x7c,0xa7,0x24,0x0, 0x78,0x7, 0x7e,0x34,
+0xc, 0xd6,0x7a,0x39,0xa0,0x22,0xca,0xb8,0xa9,0xc0,0x93,0xe4,0x7a,0xb3,0xc, 0xd0,
+0x7a,0xb3,0xc, 0xd2,0xda,0xb8,0x32,0x6c,0xaa,0x74,0xff,0xa, 0x4a,0x19,0xb4,0xc,
+0xac,0x19,0xb4,0xc, 0xbe,0xb, 0xa0,0xbe,0xa0,0x12,0x40,0xed,0x22,0x30,0x9, 0x8,
+0x74,0x1, 0x12,0x47,0xf5,0xc2,0x9, 0x22,0xe4,0x12,0x47,0xf5,0xd2,0x9, 0x22,0xa9,
+0xd5,0xea,0xa9,0xc4,0xcb,0x75,0xa6,0x0, 0xa9,0xc1,0xcd,0x22,0xca,0x7b,0xca,0x6b,
+0xca,0x5b,0xca,0x4b,0xca,0x2b,0xca,0x1b,0xca,0xb, 0xc0,0xd0,0xc0,0x83,0xc0,0x82,
+0x12,0x4c,0x77,0x7e,0xb3,0xc, 0xd6,0x54,0xfd,0x7a,0xb3,0xc, 0xd6,0xc2,0xaf,0xa9,
+0xd0,0x9e,0xa9,0xd4,0x9e,0xd2,0xaf,0xc2,0x95,0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,
+0x4c,0x1f,0xd0,0x82,0xd0,0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x4b,
+0xda,0x5b,0xda,0x6b,0xda,0x7b,0x32,0xe5,0x9a,0x60,0x5, 0xd2,0x9c,0xa9,0xd6,0xdf,
+0x22,0xa9,0xd4,0xcb,0x75,0xa6,0x10,0xa9,0xd1,0xcd,0xa9,0xc5,0xea,0x22,0xd2,0xce,
+0x75,0x92,0x70,0xd2,0xad,0xd2,0xe8,0xc2,0xc0,0xa9,0xd0,0xf7,0xd2,0xf8,0xa9,0xd5,
+0xb7,0xd2,0xbd,0x22,0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,0xca,0x1b,
+0xca,0xb, 0xc0,0xd0,0xc0,0x83,0xc0,0x82,0x7e,0x35,0x1d,0xb, 0x34,0x7a,0x35,0x1d,
+0x7e,0x4, 0x0, 0xa, 0x7d,0x13,0x8d,0x10,0x4d,0x0, 0x78,0x38,0x7e,0xb3,0x9, 0x6b,
+0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0x9, 0x6b,0x7e,0xb3,0xd, 0x2c,0xbe,0xb0,
+0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x2c,0x7e,0xb3,0xd, 0x35,0xbe,0xb0,0x0, 0x28,
+0x5, 0x14,0x7a,0xb3,0xd, 0x35,0x7e,0xb3,0xd, 0x2b,0xbe,0xb0,0x0, 0x28,0x5, 0x14,
+0x7a,0xb3,0xd, 0x2b,0x7e,0xb3,0x6, 0xda,0x60,0x5, 0x14,0x7a,0xb3,0x6, 0xda,0xbe,
+0x34,0x3, 0xe8,0x40,0xe, 0x6d,0x33,0x7a,0x35,0x1d,0xe5,0xb, 0xbe,0xb0,0x64,0x50,
+0x2, 0x5, 0xb, 0x7e,0x37,0x2, 0xd0,0xb, 0x34,0x7a,0x37,0x2, 0xd0,0x7e,0x37,0x0,
+0x74,0xbe,0x37,0x2, 0xd0,0x28,0x3, 0x12,0x0, 0x17,0x7e,0xb3,0xb, 0x9f,0xb4,0xaa,
+0x18,0x7e,0x37,0x0, 0x9c,0x7d,0x23,0xb, 0x24,0x7a,0x27,0x0, 0x9c,0xbe,0x34,0x1,
+0x2c,0x28,0x6, 0x74,0x1, 0x7a,0xb3,0xb, 0x9f,0xe5,0x1a,0xbe,0xb1,0xd, 0x28,0x4,
+0x5, 0xd, 0x80,0x2, 0xd2,0x5, 0x7e,0xb3,0xc, 0xd1,0x60,0xf, 0xbe,0xb0,0x28,0x50,
+0x7, 0x4, 0x7a,0xb3,0xc, 0xd1,0x80,0x3, 0x12,0x26,0xb2,0xd0,0x82,0xd0,0x83,0xd0,
+0xd0,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,0x7b,0x32,
+0x12,0x4d,0xb8,0x12,0x0, 0x27,0x12,0x4d,0xcf,0xc2,0x0, 0xc2,0x2, 0x22,0xc2,0x8e,
+0xe5,0x89,0x54,0xf, 0x44,0x20,0xf5,0x89,0x75,0x8d,0x1, 0x75,0x8b,0x0, 0xd2,0x8e,
+0xd2,0xab,0xa9,0xc3,0xb7,0xd2,0xbb,0x22,0xe4,0x12,0x4e,0x49,0x12,0x4e,0x10,0x12,
+0x4e,0x1c,0x74,0x1, 0x2, 0x4d,0xc7,0x70,0x3, 0xc2,0xaf,0x22,0xd2,0xaf,0x22,0x7e,
+0x18,0x0, 0x54,0x74,0xf, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0x8, 0x3, 0xe8,0x12,0x4,
+0x59,0xbe,0x18,0xf, 0xff,0x28,0x4, 0x7e,0x18,0xf, 0xff,0xd2,0xc8,0xa9,0xc0,0xcd,
+0xc2,0xaf,0xa9,0xd0,0x9e,0x7c,0xb6,0xf5,0x9d,0xa9,0xd0,0x9e,0x7c,0xb7,0xf5,0x9c,
+0x12,0x4e,0x8, 0xc2,0xa8,0xd2,0xaf,0x22,0xc2,0x88,0xd2,0xb8,0xa9,0xd0,0xb7,0x22,
+0x75,0xeb,0x3, 0xa9,0xd6,0xac,0xa9,0xd6,0xec,0xd2,0x86,0x22,0xa9,0xd1,0x99,0x75,
+0x9a,0xfe,0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0xa9,0xd6,0xeb,0x70,0xf, 0xa9,0xc6,0xac,
+0xa9,0xc6,0xec,0xa9,0xd7,0xcd,0xc2,0x96,0xc2,0x95,0x80,0x7, 0xa9,0xd4,0xcd,0xd2,
+0x96,0xd2,0x95,0x12,0x4e,0x8, 0xd2,0xa8,0x22,0xd2,0xcf,0xbe,0xb0,0x7, 0x38,0x4,
+0x7c,0xab,0x80,0x2, 0x6c,0xaa,0x43,0xcb,0x8e,0x4e,0xa0,0x30,0x7a,0xa1,0xcc,0x0,
+0x0, 0x0, 0x0, 0xa9,0xd0,0xca,0xa9,0xc5,0xcb,0x53,0xca,0xf1,0x43,0xca,0xe, 0x75,
+0xcf,0x4, 0xc2,0xcc,0xd2,0xcb,0xc2,0xca,0xc2,0xc9,0xc2,0xc8,0xa9,0xc6,0xcb,0x0,
+0x0, 0x0, 0x0, 0x22,0x53,0xc8,0xc1,0x53,0xcb,0x10,0x22,0x43,0xc8,0xc9,0x43,0xcb,
+0x8e,0x22,0x7e,0x24,0x0, 0x14,0xad,0x32,0x80,0x3, 0x0, 0x0, 0x0, 0x7d,0x23,0x1b,
+0x34,0x4d,0x22,0x78,0xf5,0x22,0x30,0x0, 0x44,0xc2,0x6, 0xe4,0x7a,0xb3,0x3, 0x48,
+0x30,0x1, 0x1c,0x80,0x3, 0x30,0x0, 0x9, 0xa9,0x21,0x94,0xf9,0x80,0x3, 0x30,0x0,
+0x4, 0xa9,0x31,0x94,0xf9,0x30,0x0, 0x1e,0x80,0x15,0x80,0x3, 0x30,0x0, 0x9, 0xa9,
+0x31,0x94,0xf9,0x80,0x3, 0x30,0x0, 0x4, 0xa9,0x21,0x94,0xf9,0x30,0x0, 0x7, 0xd2,
+0x6, 0xe4,0x7a,0xb3,0x2, 0xcf,0x7e,0x37,0x2, 0xcd,0x2, 0x4e,0x92,0x22,0x7e,0x73,
+0x6, 0xc6,0xa, 0x37,0x1e,0x34,0x7a,0x73,0xd, 0x3d,0xa, 0x37,0x1e,0x34,0x7a,0x73,
+0xd, 0x3e,0x22,0xd2,0xc9,0xa, 0x56,0xf5,0xf1,0x7c,0xb7,0xf5,0xf2,0x75,0xf3,0x80,
+0x75,0xf4,0x0, 0x75,0xf5,0x83,0xa9,0x37,0xf5,0xfc,0xa9,0x36,0xf5,0xfc,0xe5,0xf6,
+0x43,0xfa,0x80,0xc2,0xc9,0x22,0x7e,0x24,0x12,0xa, 0xb, 0x28,0x30,0x5e,0x70,0xf,
+0x1b,0x28,0x30,0xb, 0x28,0x30,0x4e,0x70,0x80,0x1b,0x28,0x30,0x7e,0xb3,0x6, 0xcb,
+0xc4,0x23,0x7c,0x7b,0x5e,0x70,0x7, 0xa5,0xbf,0x0, 0x5, 0x7e,0xa0,0x2, 0x80,0x32,
+0xa5,0xbf,0x1, 0x13,0x7e,0xb3,0x6, 0xc9,0x1e,0xb0,0x54,0x3, 0x68,0x4, 0x6c,0xaa,
+0x80,0x20,0x7e,0xa0,0x3, 0x80,0x1b,0xa5,0xbf,0x3, 0x5, 0x7e,0xa0,0x6, 0x80,0x12,
+0x7e,0xb3,0x6, 0xc9,0x1e,0xb0,0x54,0x3, 0x68,0x5, 0x7e,0xa0,0x1, 0x80,0x3, 0x7e,
+0xa0,0x5, 0xa, 0x1a,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x2, 0x3c,0x9a,0x7e,
+0x24,0x12,0x2, 0xb, 0x28,0x30,0x5e,0x60,0xc0,0x1b,0x28,0x30,0x7e,0x73,0x6, 0xc8,
+0x7c,0x27,0x6c,0x33,0x12,0x3c,0x9a,0x6c,0x11,0x80,0xb, 0xa, 0x31,0x9, 0x3, 0x6,
+0x68,0xa, 0x20,0x12,0x5b,0x89,0x7e,0x3, 0x6, 0xc8,0xbc,0x1, 0x38,0xed,0x7c,0x10,
+0x80,0x9, 0x7e,0x24,0x0, 0x3f,0xa, 0x31,0x12,0x5b,0x89,0xbe,0x10,0x2e,0x40,0xf2,
+0x6d,0x22,0x7e,0x34,0x13,0x16,0x1b,0x38,0x20,0x7e,0x34,0x13,0x18,0x1b,0x38,0x20,
+0x7e,0x34,0x13,0x1a,0x1b,0x38,0x20,0x7e,0x34,0x13,0x1c,0x1b,0x38,0x20,0x6c,0x11,
+0x80,0xd, 0xa, 0x31,0x9, 0x3, 0x6, 0x68,0x7c,0xb0,0x12,0x50,0x16,0xb, 0x10,0x7e,
+0x73,0x6, 0xc8,0xbc,0x71,0x38,0xeb,0x7e,0xb3,0x6, 0xd7,0x30,0xe2,0x7, 0x7e,0xb3,
+0x6, 0xd5,0x2, 0x50,0x16,0x22,0x7c,0x7b,0xc4,0x54,0xf, 0x7c,0xab,0xa, 0x37,0x7e,
+0x24,0x0, 0x10,0x12,0x3, 0xba,0x7c,0x75,0x7e,0x14,0x0, 0x1, 0x7c,0xb7,0x60,0x5,
+0x3e,0x14,0x14,0x78,0xfb,0xa, 0x2a,0x3e,0x24,0x2e,0x24,0x13,0x16,0x2, 0x3c,0x9a,
+0xca,0x1b,0xca,0x19,0xc2,0xee,0xc2,0xc6,0x30,0xb, 0x6, 0x7e,0x34,0x0, 0x1, 0x80,
+0x4, 0x7e,0x34,0x0, 0x2, 0x7e,0x14,0x12,0x6, 0xb, 0x18,0x20,0x5d,0x23,0x68,0x7,
+0x6d,0x22,0x1b,0x18,0x20,0xd2,0xa, 0xd2,0xee,0xda,0x19,0xda,0x1b,0x32,0x7e,0xb3,
+0x6, 0xd7,0x20,0xe1,0x62,0x12,0x1f,0xe8,0x80,0x55,0xa, 0x2a,0x9, 0x52,0x6, 0x96,
+0x7e,0x90,0x4, 0xac,0x95,0x49,0x14,0x3, 0x5e,0x49,0x4, 0x3, 0x5c,0xbe,0x8, 0x3a,
+0xc0,0x8, 0x20,0x7e,0xb3,0xc, 0x1f,0x7e,0x44,0x0, 0x1, 0x60,0x5, 0x3e,0x44,0x14,
+0x78,0xfb,0x7e,0x10,0x2, 0xac,0x15,0x2e,0x4, 0xb, 0xc3,0xb, 0x8, 0x10,0x4d,0x14,
+0x1b,0x8, 0x10,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x1f,0xef,0x60,0xf, 0x7e,0x30,
+0x2, 0xac,0x35,0x49,0x1, 0xb, 0xc3,0x12,0x50,0xd8,0x1b,0x18,0x0, 0xb, 0xa0,0x7e,
+0x43,0x6, 0xc8,0xbc,0x4a,0x38,0xa3,0x22,0x7e,0x30,0x2, 0xac,0x35,0x2d,0x13,0x22,
+0x7e,0xb3,0x6, 0xd7,0x20,0xe1,0x42,0x12,0x1f,0xe8,0x80,0x35,0xa, 0x2a,0x9, 0x52,
+0x6, 0x96,0x12,0x50,0xd8,0xb, 0x18,0x40,0x7e,0xb3,0xc, 0x1f,0x7e,0x14,0x0, 0x1,
+0x60,0x5, 0x3e,0x14,0x14,0x78,0xfb,0x4d,0x41,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,
+0x1f,0xef,0x60,0xb, 0xa, 0x1a,0x3e,0x14,0x2e,0x14,0x12,0x14,0x1b,0x18,0x40,0xb,
+0xa0,0x7e,0x43,0x6, 0xc8,0xbc,0x4a,0x38,0xc3,0x22,0x7c,0x6b,0x7e,0x53,0x0, 0x90,
+0x7c,0xb5,0x54,0xf, 0x68,0x10,0x7c,0x45,0x1b,0x40,0x5e,0x40,0xf, 0x5e,0x50,0xf0,
+0x4c,0x54,0x7a,0x53,0x0, 0x90,0xa5,0xbe,0x0, 0x12,0xa5,0xbf,0x2, 0xe, 0x7e,0x73,
+0x0, 0x77,0x7a,0x73,0x0, 0x76,0x85,0x17,0x16,0x12,0x46,0x3d,0x22,0xca,0x3b,0x12,
+0xe, 0xaf,0x7c,0xeb,0x4c,0xee,0x78,0x2, 0x61,0x7b,0x7e,0x7f,0x0, 0xa2,0x7e,0x34,
+0x38,0x80,0x7e,0x24,0x0, 0x1, 0xbf,0x71,0x28,0x5, 0x7e,0x80,0xa, 0x80,0x2a,0x7e,
+0x34,0x11,0x70,0x7e,0x24,0x0, 0x1, 0xbf,0x71,0x28,0x5, 0x7e,0x80,0x6, 0x80,0x19,
+0xbe,0x78,0xea,0x60,0x28,0x5, 0x7e,0x80,0x4, 0x80,0xe, 0xbe,0x78,0xc3,0x50,0x28,
+0x5, 0x7e,0x80,0x2, 0x80,0x3, 0x7e,0x80,0x1, 0xa, 0xf8,0x6d,0xee,0x7e,0xd4,0x0,
+0xf, 0x7f,0x17,0x7d,0x1d,0x12,0x3, 0xfd,0x7f,0x7, 0x12,0x3, 0xec,0x7d,0x1d,0x12,
+0x3, 0xfd,0x7f,0x61,0x6c,0x99,0x7e,0xa0,0x5, 0x7c,0xd9,0xac,0xda,0x9, 0xb6,0x2,
+0xba,0x7c,0xfb,0xbe,0xf0,0x2, 0x50,0x25,0xa, 0x3f,0x9, 0xb3,0x3, 0x4e,0x70,0x1d,
+0x49,0x6, 0x2, 0xb6,0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x5, 0xb, 0x53,0x49,0x26,0x2,
+0xb8,0x59,0x25,0xb, 0x55,0x59,0x5, 0xb, 0x5b,0x59,0x25,0xb, 0x5d,0xb, 0x90,0xbe,
+0x90,0x2, 0x78,0xc2,0x6c,0x99,0x61,0x75,0x7e,0xa0,0x5, 0x7c,0x39,0xac,0x3a,0x9,
+0xb1,0x2, 0xba,0x7c,0xfb,0xbe,0xf0,0x2, 0x40,0x2, 0x61,0x73,0x7e,0xa0,0x4, 0x7c,
+0xdf,0xac,0xda,0x49,0x26,0xb, 0x53,0x49,0x31,0x2, 0xb6,0x9d,0x32,0x7d,0xa3,0x49,
+0x26,0xb, 0x55,0x49,0x31,0x2, 0xb8,0x9d,0x32,0x7d,0xb3,0x7d,0x1b,0x12,0x53,0x7e,
+0x7f,0x71,0x7d,0x1a,0x1a,0x2, 0x1a,0x0, 0x7d,0x3a,0x12,0x53,0x82,0x2f,0x17,0x7a,
+0x1f,0xa, 0x3, 0x49,0x26,0xb, 0x5b,0x12,0x53,0x9b,0x9d,0x32,0x7a,0x37,0x9, 0xfd,
+0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x25,0xb, 0x5d,0x12,0x53,0x91,0x9d,0x32,0x7d,0x63,
+0x7d,0x16,0x12,0x53,0x7e,0x7f,0x71,0x7e,0x27,0x9, 0xfd,0x7d,0x12,0x1a,0x2, 0x1a,
+0x0, 0x7f,0x10,0x12,0x3, 0xec,0x2f,0x17,0x7a,0x1f,0x9, 0xff,0x7e,0xa0,0x5, 0xac,
+0xa9,0x49,0x25,0x2, 0xb6,0xbe,0x24,0x0, 0x1e,0x40,0x1b,0xbe,0x24,0x1, 0x70,0x38,
+0x15,0x7e,0xa0,0x5, 0xac,0xa9,0x49,0x25,0x2, 0xb8,0xbe,0x24,0x0, 0x1e,0x40,0x6,
+0xbe,0x24,0x1, 0x70,0x28,0x20,0xa, 0x98,0x6d,0x88,0x7e,0xf4,0x0, 0x6, 0x12,0x53,
+0xc0,0x7e,0x84,0x0, 0xb, 0x7d,0x18,0x12,0x3, 0xfd,0x12,0x53,0xa5,0x7d,0x18,0x12,
+0x3, 0xfd,0x7f,0x41,0x80,0x1c,0xa, 0x98,0x6d,0x88,0x7e,0xf4,0x0, 0x5, 0x12,0x53,
+0xc0,0x2f,0x11,0x2f,0x11,0x2f,0x11,0x12,0x53,0xa5,0x2f,0x11,0x2f,0x11,0x2f,0x11,
+0x7f,0x41,0x7e,0x1f,0x9, 0xff,0xbf,0x16,0x38,0x4b,0x7e,0xf, 0xa, 0x7, 0x7e,0x7f,
+0xa, 0x3, 0xbf,0x70,0x38,0x12,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x35,0xb, 0x53,0x12,
+0x53,0xb1,0x49,0x35,0xb, 0x55,0x80,0x22,0xbf,0x74,0x38,0x3f,0x7e,0xa0,0x4, 0xac,
+0xaf,0x49,0x15,0xb, 0x53,0x7e,0x4, 0x0, 0x2, 0x7d,0x3a,0x12,0x53,0x89,0x12,0x53,
+0xb1,0x49,0x15,0xb, 0x55,0x7d,0x3b,0x12,0x53,0x89,0x7e,0xa0,0x5, 0xac,0xa9,0x59,
+0x35,0x2, 0xb8,0x80,0x16,0x7e,0x24,0x7f,0xff,0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x25,
+0xb, 0x5b,0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x25,0xb, 0x5d,0x12,0x53,0x9b,0x7e,0xa0,
+0x4, 0xac,0xaf,0x59,0x35,0xb, 0x53,0x12,0x53,0x91,0x7e,0xa0,0x4, 0xac,0xaf,0x59,
+0x35,0xb, 0x55,0xb, 0x90,0xbc,0xe9,0x28,0x2, 0x41,0x8, 0xda,0x3b,0x22,0x1a,0x2,
+0x1a,0x0, 0x1a,0x26,0x1a,0x24,0x2, 0x3, 0xec,0x7d,0x20,0x12,0x3, 0xba,0x2d,0x31,
+0x22,0x7e,0xa0,0x5, 0xac,0xa9,0x49,0x35,0x2, 0xb8,0x22,0x7e,0xa0,0x5, 0xac,0xa9,
+0x49,0x35,0x2, 0xb6,0x22,0xa, 0x18,0x6d,0x0, 0x12,0x3, 0xec,0x7f,0x1, 0x2f,0x10,
+0x22,0x7e,0xa0,0x5, 0xac,0xa9,0x59,0x35,0x2, 0xb6,0x7e,0xa0,0x4, 0xac,0xaf,0x22,
+0x7f,0x14,0x7d,0x1f,0x12,0x3, 0xfd,0x7f,0x4, 0x12,0x3, 0xec,0x7f,0x1, 0x2f,0x10,
+0x7d,0x1f,0x12,0x3, 0xfd,0x7a,0x1f,0xa, 0x7, 0xa, 0x38,0x6d,0x22,0x22,0xca,0x3b,
+0x12,0x44,0x44,0x78,0x24,0x6c,0xff,0xe4,0xa, 0x3f,0x19,0xb3,0xb, 0x27,0x19,0xb3,
+0xb, 0x31,0x19,0xb3,0x3, 0x5a,0x6d,0x33,0x74,0x2, 0xac,0xbf,0x59,0x35,0xb, 0x33,
+0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xe0,0xe1,0xc0,0x6c,0xff,0x7e,0x50,0x2, 0xac,0x5f,
+0x49,0x32,0x3, 0x52,0xbe,0x34,0x7f,0xff,0x78,0x17,0xe4,0xa, 0x1f,0x19,0xb1,0xb,
+0x27,0x19,0xb1,0xb, 0x31,0x19,0xb1,0x3, 0x5a,0x6d,0x11,0x59,0x12,0xb, 0x33,0x81,
+0xd9,0xa, 0x1f,0x9, 0xb1,0x3, 0x5a,0x60,0x2, 0x81,0xd9,0x59,0x32,0xb, 0x29,0x49,
+0x32,0x3, 0x56,0x59,0x32,0xb, 0x2d,0x49,0x32,0xb, 0x29,0x49,0x22,0xb, 0x2d,0x74,
+0x14,0xac,0xbf,0x49,0x15,0xb, 0xb, 0x49,0x5, 0xb, 0xd, 0x12,0xe, 0x7e,0x7a,0x37,
+0xa, 0x1, 0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0xb, 0x49,0x25,0xb, 0xd, 0x49,0x15,
+0xa, 0xff,0x49,0x5, 0xb, 0x1, 0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x3, 0xa, 0x3f,0x9,
+0x53,0xb, 0x27,0xbe,0x50,0x2, 0x40,0x4c,0x74,0x2, 0xac,0xbf,0x49,0x25,0xb, 0x29,
+0xbe,0x24,0x0, 0x18,0x40,0x16,0xbe,0x24,0x1, 0x76,0x38,0x10,0x49,0x25,0xb, 0x2d,
+0xbe,0x24,0x0, 0x18,0x40,0x6, 0xbe,0x24,0x1, 0x76,0x28,0xe, 0x7e,0x27,0xa, 0x1,
+0xbe,0x24,0x0, 0x27,0x28,0x4, 0x74,0x1, 0x80,0x1b,0x7e,0x27,0xa, 0x1, 0xbe,0x24,
+0x0, 0x27,0x28,0xd, 0x7e,0x27,0xa, 0x3, 0xbe,0x24,0x0, 0x42,0x28,0x3, 0xe4,0x80,
+0x4, 0xe4,0x80,0x1, 0xe4,0x19,0xb3,0xb, 0x31,0xb, 0xf0,0xbe,0xf0,0x2, 0x68,0x2,
+0x81,0xb, 0x6c,0xff,0xe1,0xba,0x74,0x5, 0xac,0xbf,0x9, 0xd5,0x2, 0xba,0xa, 0x3d,
+0x9, 0xb3,0xb, 0x27,0x70,0x34,0x6c,0xcc,0x7e,0x70,0x5, 0xac,0x7f,0x49,0x13,0x2,
+0xb6,0x7e,0x10,0x14,0xac,0x1d,0x7e,0x50,0x4, 0xac,0x5c,0x2d,0x20,0x59,0x12,0xa,
+0xff,0x49,0x33,0x2, 0xb8,0x59,0x32,0xb, 0x1, 0xb, 0xc0,0xbe,0xc0,0x5, 0x78,0xd8,
+0x6d,0x33,0x74,0x2, 0xac,0xbd,0x59,0x35,0xb, 0x33,0xa, 0x3d,0x9, 0xb3,0xb, 0x27,
+0xbe,0xb0,0x5, 0x50,0xa, 0xa, 0x3d,0x2e,0x34,0xb, 0x27,0x4, 0x7a,0x39,0xb0,0xa,
+0x3d,0x9, 0x73,0xb, 0x27,0xbe,0x70,0x1, 0x38,0x2, 0xc1,0x16,0x12,0x57,0xc3,0x60,
+0x2, 0xc1,0x16,0x7e,0x90,0x14,0xac,0x9d,0x49,0x34,0xb, 0xf, 0x49,0x54,0xb, 0xb,
+0x2d,0x53,0x7a,0x57,0x9, 0xfd,0x49,0x34,0xb, 0x11,0x49,0x54,0xb, 0xd, 0x2d,0x53,
+0x7a,0x57,0x9, 0xff,0x74,0x5, 0xac,0xbf,0x49,0x15,0x2, 0xb6,0x2e,0x17,0x9, 0xfd,
+0x7e,0x24,0x0, 0x3, 0x8d,0x12,0x59,0x15,0x2, 0xb6,0x49,0x35,0x2, 0xb8,0x2e,0x37,
+0x9, 0xff,0x8d,0x32,0x59,0x35,0x2, 0xb8,0x49,0x24,0xb, 0x7, 0x49,0x35,0x2, 0xb6,
+0x9d,0x32,0x12,0x0, 0x2e,0x7a,0x37,0x9, 0xfd,0x74,0x14,0xac,0xbd,0x49,0x25,0xb,
+0x9, 0x74,0x5, 0xac,0xbf,0x49,0x35,0x2, 0xb8,0x9d,0x32,0x12,0x0, 0x2e,0x12,0x5b,
+0x7c,0x38,0xa, 0x7e,0x37,0x9, 0xff,0xbe,0x34,0x0, 0x27,0x28,0x1a,0x12,0x57,0xe8,
+0x2e,0x34,0xb, 0x7, 0x2e,0x14,0xb, 0x3, 0x12,0x5b,0xf, 0x59,0x35,0xb, 0x7, 0x49,
+0x34,0x2, 0xb8,0x59,0x35,0xb, 0x9, 0x12,0x57,0xe8,0x2e,0x34,0xb, 0xb, 0x2e,0x14,
+0xb, 0xf, 0x12,0x5b,0xf, 0x59,0x35,0xb, 0xb, 0x49,0x44,0x2, 0xb8,0x59,0x45,0xb,
+0xd, 0x49,0x35,0xb, 0x7, 0x49,0x25,0xb, 0x9, 0x12,0xe, 0x76,0x74,0x2, 0xac,0xbd,
+0x59,0x35,0xb, 0x33,0xe1,0xb8,0x12,0x57,0xc3,0x70,0x2, 0xe1,0xb8,0xa, 0x3d,0x9,
+0x73,0xb, 0x27,0xbe,0x70,0x3, 0x50,0x2, 0xe1,0xb8,0x12,0x57,0xca,0x70,0x2, 0xe1,
+0xb8,0x74,0x14,0xac,0xbd,0x49,0x25,0xa, 0xff,0x49,0x35,0xb, 0xb, 0x12,0x57,0xe0,
+0x7a,0x37,0x9, 0xfd,0x74,0x14,0xac,0xbd,0x49,0x25,0xb, 0x1, 0x49,0x35,0xb, 0xd,
+0x12,0x57,0xe0,0x12,0x5b,0x7c,0x50,0xc, 0x7e,0x37,0x9, 0xff,0xbe,0x34,0x0, 0x27,
+0x50,0x2, 0xe1,0xb8,0x74,0x14,0xac,0xbd,0x12,0xe, 0x6e,0xb, 0x34,0x6d,0x22,0x7a,
+0x1f,0xa, 0x11,0x74,0x14,0xac,0xbd,0x49,0x35,0xb, 0x3, 0x49,0x25,0xb, 0x5, 0x74,
+0x2, 0xac,0xbd,0x49,0x15,0xb, 0x29,0x49,0x5, 0xb, 0x2d,0x12,0xe, 0x7e,0x6d,0x22,
+0x7a,0x1f,0xa, 0xd, 0x74,0x14,0xac,0xbd,0x49,0x5, 0xb, 0x5, 0x49,0x15,0xb, 0xd,
+0x9d,0x10,0x6d,0x0, 0x7a,0xf, 0xa, 0x9, 0x7d,0x21,0x7e,0xf, 0xa, 0x11,0x12,0x5a,
+0xf3,0x7a,0x1f,0xa, 0x9, 0x74,0x14,0xac,0xbd,0x49,0x15,0xb, 0x5, 0x6d,0x0, 0x7e,
+0x1f,0xa, 0x9, 0x2f,0x10,0x12,0x57,0xd1,0x9f,0x10,0x7a,0x1f,0xa, 0x9, 0x49,0x5,
+0xb, 0x3, 0x49,0x15,0xb, 0xb, 0x9d,0x10,0x6d,0x0, 0x7a,0xf, 0xa, 0x5, 0x7e,0x1f,
+0xa, 0xd, 0x7d,0x21,0x7e,0xf, 0xa, 0x11,0x12,0x5a,0xf3,0x7a,0x1f,0xa, 0x5, 0x74,
+0x14,0xac,0xbd,0x49,0xc5,0xb, 0x3, 0x7d,0x1c,0x6d,0x0, 0x7e,0x1f,0xa, 0x5, 0x2f,
+0x10,0x49,0xd5,0xb, 0xb, 0x7d,0xfd,0x6d,0xee,0x9f,0x17,0x7a,0x1f,0xa, 0x5, 0x12,
+0x57,0xca,0xb4,0x2, 0x17,0x7e,0x58,0x0, 0x2, 0x7e,0x1f,0xa, 0x5, 0x7f,0x5, 0x12,
+0x4, 0x59,0x12,0x2f,0xf1,0x7f,0x5, 0x12,0x57,0xd8,0x80,0x27,0x12,0x57,0xca,0xb4,
+0x1, 0x21,0xbd,0xdc,0x50,0xc, 0x7e,0x1f,0xa, 0x5, 0xbe,0x18,0x0, 0x0, 0x8, 0x13,
+0x80,0xa, 0x7e,0x1f,0xa, 0x5, 0xbe,0x18,0x0, 0x0, 0x58,0x7, 0x12,0x44,0x5f,0x7a,
+0x1f,0xa, 0x5, 0x12,0x57,0xc3,0x7e,0x1f,0xa, 0x5, 0xb4,0x1, 0x1d,0x2f,0x11,0x7e,
+0x68,0x0, 0x5, 0x7f,0x6, 0x12,0x4, 0x59,0x7a,0x1f,0xa, 0x5, 0x2f,0x17,0x12,0x2f,
+0xf1,0x2f,0x11,0x7f,0x6, 0x12,0x57,0xd8,0x80,0x6, 0x2f,0x17,0x7a,0x1f,0xa, 0x5,
+0x74,0x14,0xac,0xbd,0x12,0x57,0xd1,0x7e,0x1f,0xa, 0x9, 0x2f,0x10,0x7a,0x1f,0xa,
+0x9, 0x7e,0x1f,0xa, 0x5, 0x12,0x57,0xf0,0x12,0x2f,0xf1,0x12,0x57,0xf0,0x7a,0x1f,
+0xa, 0x9, 0x7e,0x1f,0xa, 0x5, 0x7d,0x43,0x74,0x5, 0xac,0xbf,0x59,0x45,0x2, 0xb6,
+0x7e,0x1f,0xa, 0x9, 0x59,0x35,0x2, 0xb8,0xb, 0xf0,0xbc,0xef,0x28,0x2, 0x81,0xe6,
+0xda,0x3b,0x22,0xa, 0x3d,0x9, 0xb3,0x3, 0x5a,0x22,0xa, 0x3d,0x9, 0xb3,0xb, 0x31,
+0x22,0x49,0x15,0xb, 0xd, 0x6d,0x0, 0x22,0x12,0x4, 0x59,0x7a,0x1f,0xa, 0x9, 0x22,
+0x9d,0x32,0x12,0x0, 0x2e,0xb, 0x34,0x22,0x7e,0x30,0x14,0xac,0x3d,0x7d,0x31,0x22,
+0x6d,0x22,0x7e,0x14,0x1, 0x8d,0x12,0x37,0xfa,0x6d,0x22,0x22,0x6d,0x22,0x7a,0x27,
+0xc, 0x7c,0x7e,0x34,0x1, 0x8e,0x7a,0x37,0xc, 0x7e,0x7a,0x27,0xc, 0x80,0x7a,0x37,
+0xc, 0x82,0x7e,0x14,0x0, 0x84,0x7a,0x17,0xc, 0x85,0x7e,0x14,0x0, 0xc7,0x7a,0x17,
+0xc, 0x87,0x74,0x64,0x7a,0xb3,0xc, 0x84,0x7e,0x14,0x0, 0x96,0x7a,0x17,0xc, 0x89,
+0x7a,0x27,0xc, 0xa0,0x7a,0x37,0xc, 0xa2,0x7a,0x27,0xc, 0xa4,0x7a,0x37,0xc, 0xa6,
+0x74,0x50,0x7a,0xb3,0xc, 0x9e,0x74,0x1e,0x7a,0xb3,0xc, 0x9f,0x74,0x3, 0x7a,0xb3,
+0xc, 0xa8,0x74,0x32,0x7a,0xb3,0xc, 0xa9,0x74,0xf, 0x7a,0xb3,0xc, 0xaa,0x74,0x50,
+0x7a,0xb3,0xc, 0xab,0x22,0xca,0xf8,0x7e,0xa3,0xb, 0xb3,0x7c,0xba,0x65,0x4e,0x68,
+0x5, 0xe4,0x7a,0xb3,0xb, 0xb6,0x7a,0xa1,0x4e,0x4c,0xaa,0x78,0x13,0x7e,0xb3,0x6,
+0x67,0x30,0xe1,0x5, 0x12,0x58,0xd3,0x80,0x11,0xe4,0x7a,0xb3,0x2, 0xca,0x80,0xa,
+0x7e,0xb3,0x6, 0x67,0x30,0xe1,0xb, 0x12,0x58,0xd3,0x12,0x5a,0x6e,0x12,0x5a,0x74,
+0x80,0x2e,0x12,0x58,0xe1,0x7c,0xfb,0x4c,0xff,0x68,0x25,0x7c,0xbf,0x12,0x5a,0x7b,
+0x60,0x1e,0x7e,0x34,0x0, 0x14,0x1b,0x34,0x78,0xfc,0x7e,0xb3,0x6, 0x67,0x30,0xe1,
+0x8, 0x74,0x26,0x7a,0xb3,0xb, 0xb6,0x80,0x7, 0x7a,0xf3,0xb, 0xb6,0x75,0x4f,0x1,
+0xda,0xf8,0x22,0x74,0x26,0x7a,0xb3,0x2, 0xca,0x7a,0xb3,0xb, 0xb6,0x75,0x4f,0x1,
+0x22,0xca,0x79,0x6c,0xaa,0x6d,0x44,0x7d,0xf4,0x7e,0x63,0x0, 0x90,0x7c,0xf6,0x5e,
+0xf0,0xf, 0x7c,0xb6,0xc4,0x7c,0xeb,0x5e,0xe0,0xf, 0x7e,0xe7,0xd, 0x29,0x1b,0xe4,
+0x68,0x3c,0x1b,0xe4,0x68,0x6e,0x1b,0xe4,0x78,0x2, 0x21,0xdf,0x2e,0xe4,0x0, 0x3,
+0x68,0x2, 0x41,0x7, 0xbe,0xf0,0x0, 0x38,0x2, 0x41,0xd, 0x4c,0xee,0x68,0x2, 0x41,
+0xd, 0x7e,0xe4,0x0, 0x1, 0x7a,0xe7,0xd, 0x29,0x7a,0xf7,0xd, 0x36,0x7a,0x47,0xd,
+0x38,0x12,0x5a,0x2e,0x7e,0xb3,0xc, 0xab,0x7a,0xb3,0xd, 0x35,0x21,0xc7,0x4c,0xff,
+0x78,0x2, 0x80,0x1e,0x12,0x5a,0x2e,0x7e,0x37,0xd, 0x36,0x7e,0x27,0xd, 0x38,0x12,
+0x5a,0x64,0xa5,0xbf,0x0, 0x4, 0xd2,0xe, 0x41,0x7, 0x7e,0xb3,0xd, 0x2c,0x60,0x2,
+0x41,0xd, 0x7e,0x34,0x0, 0x2, 0x7a,0x37,0xd, 0x29,0x7e,0xb3,0xc, 0xa9,0x7a,0xb3,
+0xd, 0x2b,0x41,0xd, 0xbe,0xf0,0x0, 0x28,0x58,0x4c,0xee,0x78,0x54,0x7a,0xf7,0xd,
+0x31,0x7a,0x47,0xd, 0x33,0x12,0x5a,0x2e,0x7e,0xb3,0xc, 0xa8,0xa, 0x2b,0x7e,0xb3,
+0xc, 0xa9,0xa, 0x3b,0x9d,0x32,0x7e,0xb3,0xd, 0x2b,0xa, 0x4b,0xbd,0x43,0x18,0x2,
+0x70,0x4, 0xd2,0xe, 0x80,0x61,0x7e,0x37,0xd, 0x36,0x7e,0x27,0xd, 0x38,0x7e,0xb3,
+0xc, 0x9e,0x12,0x5a,0x37,0x7c,0x7b,0xa5,0xbf,0x0, 0x4, 0xd2,0xe, 0x80,0x48,0x7e,
+0x34,0x0, 0x3, 0x7a,0x37,0xd, 0x29,0x7e,0xb3,0xc, 0xaa,0x7a,0xb3,0xd, 0x2c,0x80,
+0x3c,0x4c,0xff,0x78,0x38,0x7e,0xb3,0xd, 0x2b,0x70,0x32,0xd2,0xe, 0x80,0x2e,0x4c,
+0xff,0x78,0x10,0x7e,0xb3,0xd, 0x2c,0x70,0x4, 0xd2,0xe, 0x80,0x1a,0x7e,0x34,0x0,
+0x4, 0x80,0x16,0x12,0x5a,0x2e,0x7e,0x37,0xd, 0x31,0x7e,0x27,0xd, 0x33,0x12,0x5a,
+0x64,0xa5,0xbf,0x0, 0x8, 0xd2,0xe, 0x6d,0x33,0x7a,0x37,0xd, 0x29,0x7e,0x37,0xd,
+0x29,0xbe,0x34,0x0, 0x2, 0x78,0x12,0x7e,0xa0,0x25,0x6d,0x33,0x7a,0x37,0xd, 0x29,
+0xe4,0x7a,0xb3,0xd, 0x35,0x7a,0xb3,0xd, 0x2c,0x7c,0xba,0xda,0x79,0x22,0x7a,0xf7,
+0xd, 0x2d,0x7a,0x47,0xd, 0x2f,0x22,0x7d,0x13,0xa, 0x3b,0x7d,0x3, 0x2e,0x7, 0xd,
+0x2d,0xbd,0x1, 0x40,0x1d,0x2d,0x13,0xbe,0x17,0xd, 0x2d,0x40,0x15,0x7d,0x13,0x2e,
+0x17,0xd, 0x2f,0xbd,0x12,0x40,0xb, 0x2d,0x32,0xbe,0x37,0xd, 0x2f,0x40,0x3, 0x74,
+0x1, 0x22,0xe4,0x22,0x7e,0xb3,0xc, 0x9f,0x12,0x5a,0x37,0x7c,0x7b,0x22,0xe4,0x7a,
+0xb3,0x9, 0x62,0x22,0x6d,0x33,0x7a,0x37,0xd, 0x29,0x22,0x7c,0xab,0x54,0xf0,0xb4,
+0x20,0x18,0x7c,0xba,0x54,0xf, 0x7e,0x44,0x0, 0x1, 0x60,0x5, 0x3e,0x44,0x14,0x78,
+0xfb,0x7e,0x73,0xb, 0xb4,0xa, 0x57,0x5d,0x54,0x22,0xe4,0x22,0x7d,0x13,0x7e,0x37,
+0xc, 0xa0,0xbd,0x31,0x50,0x1a,0x7e,0x37,0xc, 0xa2,0xbd,0x31,0x28,0x12,0x7e,0x37,
+0xc, 0xa4,0xbd,0x32,0x50,0xa, 0x7e,0x37,0xc, 0xa6,0xbd,0x32,0x28,0x2, 0xe4,0x22,
+0x74,0x1, 0x22,0xa, 0xb, 0x7e,0x14,0x0, 0x3, 0x9d,0x10,0x7e,0x91,0x27,0x74,0x4,
+0xac,0x9b,0x2e,0x44,0x3, 0x5c,0x49,0x34,0x0, 0x2, 0xb, 0x48,0x20,0x7c,0xb3,0x22,
+0xa, 0x25,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x22,0x7e,0x37,0xa, 0x17,0x7d,
+0x21,0x7d,0x1f,0x12,0x6, 0x3e,0x1a,0x26,0x1a,0x24,0x22,0xe5,0x24,0xa, 0x3b,0x3e,
+0x34,0x2e,0x34,0x10,0x0, 0xb, 0x38,0x70,0x6d,0x66,0xe5,0x24,0xa, 0x3b,0x22,0x74,
+0x4, 0x12,0x4, 0x8d,0x7e,0x90,0x5, 0xac,0x9f,0x49,0x34,0x2, 0xb6,0x74,0x14,0xac,
+0xbd,0x22,0x7e,0x25,0x33,0x7a,0x27,0x0, 0x50,0x7e,0x25,0x35,0x7a,0x27,0x0, 0x52,
+0x7a,0x37,0x0, 0x54,0x22,0x7e,0xb3,0x6, 0x67,0x54,0xdf,0x7a,0xb3,0x6, 0x67,0x22,
+0x7e,0x25,0x22,0x7e,0x37,0xa, 0x9, 0xad,0x32,0x7c,0x76,0x7c,0x65,0xa, 0x24,0x22,
+0x6d,0x0, 0x2f,0x10,0x7e,0x14,0x0, 0x10,0x12,0x3, 0xfd,0x74,0x5, 0xac,0xbe,0x22,
+0x2e,0x18,0x0, 0xf, 0x7e,0x15,0x22,0x12,0x3, 0xfd,0x2f,0x11,0x2f,0x11,0x22,0x7e,
+0xf, 0xa, 0xb, 0x7e,0x37,0xa, 0x9, 0x6d,0x22,0x2, 0x3, 0xec,0x7a,0x37,0x9, 0xff,
+0x7e,0x37,0x9, 0xfd,0xbe,0x34,0x0, 0x27,0x22,0x3e,0x34,0x2e,0x34,0x12,0x92,0x1b,
+0x38,0x20,0xb, 0x10,0x22,0xb, 0x48,0x20,0x4d,0x25,0x1b,0x48,0x20,0x7c,0xb7,0x22,
+0x5e,0x4, 0x0, 0xf, 0x7c,0x61,0xa, 0x7, 0x2d,0x7, 0x22,0x7e,0x10,0x5, 0xac,0x1d,
+0x9, 0xb0,0x2, 0xba,0x22,0x7f,0x16,0x7d,0x1b,0x12,0x3, 0xfd,0x7f,0x7, 0x22,0x70,
+0x8f,0xff,0x0, 0x83,0x7c,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43,
+0x45,0x49,0x5f,0x44,0x42,0x57,0x32,0x0, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x30,
+0x30,0x30,0x30,0x0, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1,
+0x83,
diff --git a/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DBW2_3207_0x84_app.i b/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DBW2_3207_0x84_app.i
new file mode 100644
index 0000000..e4b4ee5
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DBW2_3207_0x84_app.i
@@ -0,0 +1,1474 @@
+0x2, 0x0, 0x76,0x2, 0x4c,0x2c,0x22,0x22,0x22,0x22,0x32,0x2, 0x0, 0xa, 0x7f,0x71,
+0x7e,0x8, 0x0, 0x2, 0x2, 0x4, 0x59,0x2, 0x4c,0x77,0x22,0x2, 0x4c,0xa4,0x1e,0x44,
+0x1e,0x44,0x1e,0x44,0x1e,0x44,0x22,0x2, 0x4d,0x9e,0xff,0x2, 0x4b,0xa6,0x7d,0x23,
+0xbe,0x24,0x0, 0x0, 0x48,0x3, 0x7d,0x32,0x22,0x6d,0x33,0x9d,0x32,0x22,0x70,0x2,
+0xc2,0xd, 0x22,0x2, 0x4b,0xe6,0x40,0x10,0x10,0x10,0x10,0x40,0x12,0x0, 0x1, 0x2,
+0x3, 0x14,0x12,0x4, 0x5, 0x6, 0x7, 0x14,0x13,0x8, 0x9, 0xa, 0xb, 0x15,0x13,0xc,
+0xd, 0xe, 0xf, 0x15,0x40,0x11,0x11,0x11,0x11,0x40,0x3e,0x34,0x3e,0x34,0x3e,0x34,
+0x3e,0x34,0x22,0x2, 0x50,0x40,0x75,0x84,0x1, 0x7e,0x44,0xf, 0xff,0xe4,0x7a,0x49,
+0xb0,0x1b,0x44,0x78,0xf9,0x7e,0xf8,0xd, 0x3f,0xc2,0xc, 0x75,0x47,0x18,0xc2,0x8,
+0xd2,0x9, 0x75,0x1d,0x0, 0x75,0x1e,0x0, 0xc2,0x0, 0xd2,0x1, 0xc2,0x2, 0xc2,0x3,
+0xc2,0x4, 0xc2,0x6, 0x75,0x8, 0x76,0x75,0xa, 0x0, 0x75,0xc, 0x37,0x75,0xe, 0x2,
+0x75,0xf, 0x74,0x75,0x10,0x71,0x75,0x14,0x71,0x75,0x15,0x71,0x75,0x1b,0x7b,0xd2,
+0xa, 0xc2,0xb, 0x75,0x4c,0x0, 0x75,0x4d,0x0, 0xc2,0xd, 0x75,0x4e,0x0, 0x75,0x4f,
+0x0, 0xc2,0xe, 0x7e,0x4, 0x0, 0xff,0x7e,0x14,0x5, 0xa, 0xb, 0xa, 0x40,0x5d,0x44,
+0x68,0x1a,0x69,0x20,0x0, 0x2, 0xb, 0xe, 0xb, 0x44,0x80,0xa, 0x7e,0xb, 0xb0,0x7a,
+0x29,0xb0,0xb, 0x24,0xb, 0xc, 0x1b,0x44,0x78,0xf2,0x80,0xdf,0x2, 0x21,0x65,0xff,
+0x5b,0xbf,0xa4,0x40,0xda,0x25,0x63,0x9c,0x84,0x7b,0x1, 0xfe,0xff,0xff,0xff,0x0,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0x7e,0xa0,0x20,0x80,0xc, 0x7e,0xa0,0x10,0x80,0x5, 0x7e,0xa0,0x8, 0x6c,0x55,0x6d,
+0x33,0x33,0x92,0xd5,0x50,0xa, 0x6e,0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,
+0xa5,0xec,0x33,0x40,0x6, 0x2f,0x11,0xd5,0xf0,0xf6,0x22,0x7c,0xba,0x24,0x7e,0xa2,
+0xd5,0x13,0x7c,0x76,0x7c,0x65,0xa5,0xcc,0x92,0xe7,0x7c,0x5b,0x22,0x7c,0xb5,0x33,
+0x7c,0xb4,0x33,0x92,0xd5,0x4e,0x50,0x80,0x24,0x81,0x40,0x3, 0x9f,0x11,0x22,0x7c,
+0x45,0x7c,0x56,0x7c,0x67,0x6c,0x77,0x24,0xe0,0x50,0xe, 0x7e,0x1c,0xff,0xff,0x22,
+0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x4, 0x78,0xf4,0x30,0xd5,0xa, 0x6e,
+0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,0x22,0x7c,0xb5,0xa2,0xe7,0xd2,0xe7,
+0x7c,0x1b,0x7c,0xb4,0x33,0x40,0x9, 0x68,0xd, 0xb4,0xff,0xb, 0xa5,0xbd,0xff,0x3,
+0x2, 0x2, 0x67,0x2, 0x2, 0x6f,0x22,0x7c,0xb, 0x24,0x81,0xc2,0xe0,0xf5,0x82,0xf4,
+0x4, 0x2c,0xb0,0x7c,0x2b,0xc3,0x13,0x7c,0x4b,0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x7f,
+0x41,0x7c,0xb6,0xa2,0xe7,0x7c,0xb1,0xa5,0xba,0x7f,0x2, 0xc3,0x13,0x34,0x0, 0x94,
+0x0, 0x7c,0x2b,0x7e,0xa0,0x91,0xa4,0x7c,0xba,0x13,0xf4,0x94,0xfe,0xac,0xb2,0x33,
+0x7c,0xba,0x33,0x24,0x8c,0xd3,0x13,0x7c,0x5b,0xe4,0x92,0xe7,0x7c,0x6b,0x6c,0x77,
+0x7e,0x40,0x3f,0x75,0x83,0x2, 0x7f,0x51,0x7f,0x1, 0x7f,0x14,0x12,0x3, 0x39,0x7f,
+0x5, 0x12,0x2, 0x81,0x9e,0x24,0x0, 0x80,0xd5,0x83,0xeb,0x7e,0x1, 0x82,0x6c,0x11,
+0xe, 0x4, 0x1e,0x4, 0x2d,0x20,0x5e,0x40,0x7f,0x22,0x2d,0x0, 0x92,0xd5,0xe, 0x10,
+0x4e,0x10,0x80,0x7d,0x42,0x2d,0x44,0x50,0x2, 0xb2,0xd5,0x4e,0x50,0x80,0x6c,0x44,
+0x7c,0xb8,0x22,0x2c,0x44,0x50,0x12,0xb, 0x1c,0x7e,0x40,0x0, 0x5e,0x50,0x7f,0xbe,
+0x18,0x0, 0x0, 0x78,0x4, 0xb, 0x80,0x68,0x16,0xa2,0xd5,0x7c,0xb8,0x13,0x7c,0x4b,
+0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x22,0x7e,0x1c,0xff,0xff,0x22,0x9f,0x11,0x22,0x7e,
+0x24,0xff,0x80,0x20,0xd5,0x2, 0x6c,0x45,0x6d,0x33,0x22,0x2, 0x2, 0x67,0x6e,0x0,
+0x80,0x7c,0xb1,0x33,0x7c,0xb0,0x33,0x68,0xd, 0x4, 0x68,0xef,0x7c,0xb5,0x33,0x7c,
+0xb4,0x33,0x78,0x3, 0x7f,0x10,0x22,0x4, 0x68,0xe1,0x7d,0x50,0x92,0xf7,0x7d,0x45,
+0x7d,0x51,0xbf,0x21,0x40,0x6, 0x7c,0x80,0x7f,0x1, 0x7f,0x12,0x12,0x2, 0x2a,0x7e,
+0xa1,0xd0,0x5c,0xb0,0x4, 0x78,0x3, 0x20,0xd5,0xc1,0x7c,0xb0,0x4, 0x78,0x7, 0x50,
+0x2, 0xb2,0xd5,0x2, 0x2, 0x6f,0x92,0xd5,0xbe,0x80,0xff,0x68,0xf6,0x7c,0xb8,0x9c,
+0xb0,0x6c,0x0, 0x60,0x2a,0xb4,0x18,0x5, 0x7c,0x41,0x2, 0x2, 0x43,0x50,0xfb,0x80,
+0x3, 0x2f,0x0, 0x4, 0x7c,0x9b,0x5e,0x90,0x7, 0x78,0xf6,0x30,0xe4,0x6, 0x7c,0x43,
+0x7d,0x10,0x6d,0x0, 0x30,0xe3,0x8, 0x7c,0x43,0x7c,0x32,0x7c,0x21,0xa, 0x0, 0x30,
+0xf5,0x19,0x9f,0x10,0x78,0xe, 0x22,0x2, 0x2, 0x6c,0x1b,0x80,0x68,0xf9,0x2f,0x11,
+0x50,0x2, 0xb, 0x70,0x7c,0xb5,0x30,0xe7,0xf1,0x80,0x1b,0x2d,0x31,0x7c,0xb5,0xa5,
+0x39,0x7c,0x5b,0x50,0x11,0xb, 0x80,0x78,0x3, 0x2, 0x2, 0x6f,0x1e,0x34,0x13,0x50,
+0x3, 0x4e,0x60,0x80,0x1a,0x2b,0x2, 0x2, 0x43,0xbe,0x24,0xff,0xff,0x68,0x6, 0xbe,
+0x4, 0xff,0xff,0x78,0x3, 0x2, 0x2, 0x67,0x12,0x2, 0x2a,0x5c,0xb0,0x4, 0x68,0xf5,
+0x7c,0xb8,0xa5,0x48,0x68,0xef,0x7c,0xb8,0x70,0x3, 0x9f,0x11,0x22,0xa5,0xb8,0x0,
+0x3, 0x2, 0x2, 0x6f,0x2e,0x0, 0x81,0x50,0x7, 0x9c,0x80,0x38,0x7, 0x2, 0x2, 0x6c,
+0x9c,0x80,0x50,0xed,0xa, 0x51,0xc2,0xe7,0x4d,0x51,0x78,0x3, 0x2, 0x2, 0x59,0x7e,
+0x54,0x0, 0x80,0x7e,0x90,0x1a,0x6c,0x0, 0x80,0x6, 0x1b,0x90,0x68,0x14,0x2f,0x11,
+0xbf,0x10,0x40,0x4, 0x9f,0x10,0x4c,0xab,0x3, 0x30,0xe7,0xee,0xca,0xa8,0x6c,0xaa,
+0x80,0xe8,0xda,0x39,0xda,0x58,0x7c,0x4a,0xbe,0x50,0x80,0x50,0xa, 0x1b,0x80,0x68,
+0xbc,0x2f,0x11,0x50,0x2, 0xb, 0x70,0x2, 0x2, 0x43,0xc2,0xd5,0x7c,0xb4,0x30,0xe7,
+0x8, 0xb2,0xd5,0x6e,0x24,0xff,0xff,0xb, 0x24,0x7c,0xb6,0x30,0xe7,0x12,0xb2,0xd5,
+0x6e,0x34,0xff,0xff,0xb, 0x34,0x8d,0x32,0x6e,0x24,0xff,0xff,0xb, 0x24,0x80,0x2,
+0x8d,0x32,0x30,0xd5,0x6, 0x6e,0x34,0xff,0xff,0xb, 0x34,0x22,0x7d,0x51,0xad,0x3,
+0x7d,0x2, 0x7d,0x21,0xad,0x5, 0x2d,0x12,0xad,0x35,0x2d,0x21,0x22,0x7d,0x2, 0xad,
+0x31,0xad,0x10,0x2d,0x21,0x22,0x6d,0x0, 0x74,0x10,0x4d,0x0, 0x78,0xb, 0x4d,0x22,
+0x78,0x27,0x8d,0x31,0x7d,0x12,0x6d,0x22,0x22,0x7d,0x43,0x7d,0x32,0x6d,0x22,0x2f,
+0x11,0x2d,0x44,0x50,0x2, 0xa5,0xf, 0xbf,0x10,0x40,0x4, 0x9f,0x10,0xb, 0x90,0x14,
+0x78,0xed,0x7f,0x1, 0x6d,0x22,0x7d,0x34,0x22,0x7d,0x41,0x7d,0x13,0x8d,0x24,0x7d,
+0x2, 0x2f,0x0, 0x40,0x4, 0xbd,0x4, 0x40,0x4, 0x9d,0x4, 0xb, 0x14,0x14,0x78,0xf1,
+0x7d,0x23,0x7d,0x31,0x7d,0x10,0x6d,0x0, 0x22,0xc2,0xd5,0x7c,0xb0,0x30,0xe7,0x8,
+0xb2,0xd5,0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x7c,0xb4,0x30,0xe7,0x13,0xb2,0xd5,0x9f,
+0x22,0x9f,0x21,0x7f,0x12,0x12,0x4, 0x8, 0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x80,0x3,
+0x12,0x4, 0x8, 0x30,0xd5,0x6, 0x9f,0x22,0x9f,0x21,0x7f,0x12,0x22,0x6c,0xaa,0x4d,
+0x11,0x68,0x1a,0x1e,0x54,0x68,0xe, 0xb, 0x38,0x20,0x1b,0x18,0x20,0xb, 0x35,0xb,
+0x15,0x1b,0x54,0x78,0xf2,0x50,0x6, 0x7e,0x39,0x40,0x7a,0x19,0x40,0x22,0x7d,0x3,
+0x80,0xa, 0x7e,0x29,0xb0,0x7a,0x9, 0xb0,0xb, 0x24,0xb, 0x4, 0x7d,0x51,0x1b,0x14,
+0x4d,0x55,0x78,0xee,0x22,0x13,0x12,0x10,0xf, 0x14,0xe, 0xb, 0xc, 0x1, 0x7, 0xa,
+0x9, 0x2, 0x3, 0x5, 0x6, 0x11,0x4, 0x15,0x0, 0xd, 0x8, 0x7f,0x1, 0xbe,0x8, 0x0,
+0x0, 0x48,0x3, 0x7f,0x10,0x22,0x9f,0x11,0x9f,0x10,0x22,0x7d,0x13,0x80,0x7, 0x1b,
+0x24,0x7a,0x19,0xb0,0xb, 0x14,0x4d,0x22,0x78,0xf5,0x22,0x10,0x10,0x10,0x1c,0x19,
+0x14,0x10,0xe, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x0, 0xc, 0xc, 0xe9,0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xc, 0xf5,0x0, 0x0,
+0x0, 0x1, 0xc, 0xf7,0x0, 0x0, 0x1, 0xd, 0x10,0x0, 0x0, 0x1, 0xd, 0x11,0x0, 0x0,
+0x1, 0xd, 0x12,0x0, 0x0, 0x2e,0xa, 0x8d,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x16,0xa, 0xbb,0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x2e,0xa, 0xd1,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x1, 0xc, 0xd0,0x0, 0x0, 0x1, 0xc, 0xd2,0x0, 0x0, 0x2, 0xc, 0xd3,
+0x0, 0x0, 0x0, 0x1, 0xc, 0xd5,0x0, 0x0, 0x1, 0xc, 0xd7,0x0, 0x0, 0x1, 0xc, 0xd8,
+0x0, 0x0, 0x2, 0x0, 0x72,0x3, 0x1c,0x0, 0x4, 0x0, 0xa2,0x0, 0x0, 0x0, 0x0, 0x0,
+0x2, 0x2, 0xcd,0x0, 0x0, 0x0, 0x1, 0x2, 0xcf,0x0, 0x0, 0x1, 0x2, 0xd3,0x0, 0x0,
+0x1, 0x3, 0x48,0x0, 0x0, 0x1, 0x3, 0x4c,0x0, 0x0, 0x1, 0x3, 0x4d,0x0, 0x0, 0x1,
+0xd, 0x3a,0x0, 0x0, 0x1, 0xd, 0x3b,0xff,0x0, 0x1, 0xd, 0x3c,0x0, 0x0, 0x1, 0xd,
+0x3d,0x10,0x0, 0x1, 0xd, 0x3e,0x8, 0x0, 0x1, 0xd, 0x3f,0x0, 0x0, 0x1, 0x9, 0x6c,
+0x0, 0x0, 0x1, 0xd, 0x28,0x0, 0x0, 0x1, 0xb, 0x38,0x0, 0x0, 0x2, 0xd, 0x29,0x0,
+0x0, 0x0, 0x2, 0x6, 0xdb,0x6, 0xe1,0x0, 0x1, 0x9, 0x69,0x0, 0x0, 0x0, 0x7d,0x41,
+0x7d,0x12,0x1a,0x26,0x1a,0x24,0x12,0x6, 0x5e,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x2,
+0x4, 0x59,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x7f,0x17,0x9f,0x10,0x7d,0x1d,0x1a,0x2,
+0x1a,0x0, 0x2, 0x3, 0xec,0xca,0x3b,0x7f,0x71,0x7c,0xab,0x6c,0x33,0x6c,0xee,0x6d,
+0x22,0x7a,0x25,0x22,0x7a,0x25,0x24,0x7d,0x62,0x7d,0x82,0x7d,0x92,0x7d,0x42,0x7d,
+0xa2,0x7d,0xb2,0x7e,0x37,0x5, 0xf8,0x7d,0xd3,0x7e,0x24,0x0, 0x2, 0x12,0x3, 0xba,
+0x7d,0xc3,0xa, 0x3a,0x7e,0x24,0x0, 0xb, 0x12,0x3, 0xba,0x7c,0xb5,0x7c,0xfb,0xbe,
+0xf0,0x5, 0x50,0x4c,0x1a,0x13,0x12,0x7, 0x73,0x48,0x2c,0xbe,0x78,0x1, 0xa, 0x48,
+0x2, 0x80,0x3, 0x7e,0x45,0x24,0x12,0x6, 0x52,0x7d,0x54,0x12,0x7, 0x84,0xbe,0x78,
+0x0, 0xc7,0x8, 0x7c,0x7f,0x17,0x9e,0x18,0x0, 0xc7,0x12,0x0, 0xe, 0x7f,0x71,0x2e,
+0x18,0x0, 0xc7,0x7f,0x71,0x80,0x69,0xbe,0x78,0x0, 0x89,0x18,0x9, 0x7d,0x19,0x12,
+0x6, 0x54,0x7d,0x59,0x80,0x27,0x7e,0x45,0x22,0x12,0x6, 0x52,0x7d,0x54,0x80,0x1d,
+0x1a,0x1e,0x12,0x7, 0x73,0x48,0x1b,0xbe,0x78,0x1, 0x4, 0x48,0x9, 0x7d,0x1b,0x12,
+0x6, 0x54,0x7d,0x5b,0x80,0x7, 0x7d,0x18,0x12,0x6, 0x54,0x7d,0x58,0x12,0x7, 0x84,
+0x80,0x2e,0xbe,0x78,0x0, 0x87,0x18,0x9, 0x7d,0x1a,0x12,0x6, 0x54,0x7d,0x5a,0x80,
+0x7, 0x7d,0x16,0x12,0x6, 0x54,0x7d,0x56,0x12,0x7, 0x84,0xbe,0x78,0x0, 0x0, 0x58,
+0xf, 0x9f,0x11,0x9f,0x17,0x12,0x0, 0xe, 0x7f,0x71,0x9f,0x11,0x9f,0x17,0x7f,0x71,
+0xbe,0x78,0x0, 0x0, 0x58,0x6, 0x9f,0x11,0x7f,0x71,0x80,0x11,0x7d,0x1d,0x12,0x7,
+0x7d,0x48,0xa, 0x7d,0x3d,0x1a,0x26,0x1a,0x24,0x1b,0x1c,0x7f,0x71,0xbe,0xf0,0x5,
+0x40,0xc, 0x7d,0x1d,0x1a,0x2, 0x1a,0x0, 0x7f,0x17,0x2f,0x10,0x7f,0x71,0x7f,0x17,
+0xda,0x3b,0x22,0x1a,0x2, 0x7f,0x17,0x2f,0x10,0x7f,0x71,0x7d,0x1c,0x1a,0x2, 0x1a,
+0x0, 0xbf,0x70,0x22,0x3e,0x54,0x1a,0x4a,0x1a,0x48,0x7d,0x1d,0x1a,0x2, 0x1a,0x0,
+0x9f,0x2, 0x12,0x4, 0x59,0x7f,0x71,0x22,0xca,0x3b,0x7e,0xa3,0x0, 0x90,0x7c,0xca,
+0x5e,0xc0,0xf, 0x7c,0xba,0xc4,0x7c,0x3b,0x5e,0x30,0xf, 0x4c,0xcc,0x78,0x2d,0x12,
+0x9, 0xa5,0xbe,0x30,0x0, 0x38,0x3, 0x2, 0x9, 0xa2,0x6c,0xff,0x7e,0x20,0xff,0x74,
+0x5, 0xac,0xbf,0x19,0x25,0x2, 0xc4,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xf1,0x75,0x1c,
+0x1, 0x75,0x12,0x0, 0xe4,0x7a,0xb3,0xc, 0xf7,0x2, 0x9, 0xa2,0x7e,0x23,0xc, 0xf7,
+0xbe,0x20,0x3c,0x50,0x14,0x7e,0x4, 0xa, 0x0, 0x7a,0x7, 0x0, 0x9e,0x12,0x4b,0x9f,
+0x7c,0xb2,0x4, 0x7a,0xb3,0xc, 0xf7,0x80,0xd, 0x7e,0x37,0x0, 0x9e,0xbe,0x34,0xa,
+0x0, 0x68,0x3, 0x12,0x4b,0x97,0x6c,0xff,0x7e,0x20,0xff,0x74,0x5, 0xac,0xbf,0x19,
+0x25,0xa, 0x1, 0x7e,0x34,0x7f,0xff,0x59,0x35,0x9, 0xfd,0x59,0x35,0x9, 0xff,0xb,
+0xf0,0xbe,0xf0,0x2, 0x78,0xe2,0x6c,0xff,0x80,0x23,0x7e,0x50,0x5, 0xac,0x5f,0x7d,
+0x2, 0x2e,0x4, 0x0, 0x7a,0xb, 0x8, 0x30,0x12,0x0, 0x6a,0x1b,0x8, 0x30,0x2e,0x24,
+0x0, 0x7c,0xb, 0x28,0x30,0x12,0x0, 0x6a,0x1b,0x28,0x30,0xb, 0xf0,0xbc,0xcf,0x38,
+0xd9,0xa5,0xbb,0x0, 0x28,0x6c,0xff,0x80,0x1e,0x74,0x5, 0xac,0xbf,0x49,0x45,0x0,
+0x7a,0x59,0x45,0x2, 0xc0,0x49,0x45,0x0, 0x7c,0x59,0x45,0x2, 0xc2,0x9, 0x75,0x0,
+0x7e,0x19,0x75,0x2, 0xc4,0xb, 0xf0,0xbc,0xcf,0x38,0xde,0x21,0x4a,0x6c,0xdd,0x6c,
+0xff,0x6c,0xee,0x7e,0x70,0x5, 0xac,0x7e,0x9, 0xa3,0x2, 0xc4,0x7e,0x50,0x5, 0xac,
+0x5f,0x9, 0xb2,0x0, 0x7e,0xbc,0xba,0x78,0x13,0xbe,0xb0,0xff,0x68,0xe, 0xbe,0xd0,
+0x2, 0x50,0x10,0x2e,0x34,0x2, 0xc0,0x12,0xe, 0x60,0x80,0x7, 0xb, 0xe0,0xbe,0xe0,
+0x2, 0x40,0xd0,0xbe,0xe0,0x2, 0x78,0xb, 0xbe,0xd0,0x2, 0x50,0x6, 0x12,0x46,0x28,
+0x12,0xe, 0x60,0xb, 0xd0,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xb5,0x6c,0xff,0x12,0x46,
+0x18,0x2e,0x34,0x9, 0xfd,0x2e,0x14,0x2, 0xc0,0x12,0x46,0x32,0x78,0xf0,0xe5,0x12,
+0x70,0x68,0x6c,0xff,0x80,0x60,0x7c,0xef,0x6c,0xdd,0x80,0x21,0x7e,0x90,0x5, 0xac,
+0x9f,0x9, 0xa4,0x2, 0xc4,0x7e,0x70,0x5, 0xac,0x7d,0x9, 0xb3,0x0, 0x7e,0xbc,0xba,
+0x78,0x9, 0xbe,0xa0,0xff,0x68,0x4, 0x7c,0xed,0x80,0x6, 0xb, 0xd0,0xbc,0xcd,0x38,
+0xdb,0xbe,0xe0,0x2, 0x40,0x2, 0x7c,0xef,0x12,0xf, 0xfd,0xbe,0x34,0x18,0xe0,0x50,
+0xa, 0x49,0x24,0x2, 0xc2,0xbe,0x24,0x18,0xe0,0x40,0x12,0x49,0x24,0x0, 0x7a,0x74,
+0x5, 0xac,0xbf,0x59,0x25,0x2, 0xc0,0x59,0x35,0x2, 0xc2,0x80,0x7, 0x7c,0xbf,0x7c,
+0x7e,0x12,0x9, 0xdd,0xb, 0xf0,0xbc,0xcf,0x38,0x9c,0x6c,0xff,0x74,0x5, 0xac,0xbf,
+0x49,0x45,0x2, 0xc0,0x12,0x0, 0x1e,0x59,0x45,0x0, 0x7a,0x49,0x45,0x2, 0xc2,0x12,
+0x0, 0x1e,0x59,0x45,0x0, 0x7c,0x9, 0x75,0x2, 0xc4,0x19,0x75,0x0, 0x7e,0xb, 0xf0,
+0xbe,0xf0,0x2, 0x78,0xd7,0xbe,0xc0,0x0, 0x28,0x25,0x6c,0xff,0x74,0x5, 0xac,0xbf,
+0x49,0x45,0x0, 0x7a,0x59,0x45,0x2, 0xb6,0x49,0x45,0x0, 0x7c,0x59,0x45,0x2, 0xb8,
+0x9, 0x75,0x0, 0x7e,0x19,0x75,0x2, 0xba,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xdd,0x75,
+0x9, 0x1, 0xda,0x3b,0x22,0x12,0xe, 0xaf,0x78,0x32,0x20,0xc, 0x2f,0x6c,0xaa,0x7e,
+0x44,0x7f,0xff,0x7e,0x70,0x4, 0xac,0x7a,0x59,0x43,0xc, 0xe1,0x59,0x43,0xc, 0xe3,
+0x6d,0x33,0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0xc, 0xdd,0x7e,0x34,0x1, 0x0, 0x59,
+0x32,0xc, 0xd9,0xb, 0xa0,0xbe,0xa0,0x2, 0x78,0xd5,0xd2,0xc, 0x22,0xca,0x3b,0x7c,
+0xe7,0x7c,0xdb,0x75,0x24,0x0, 0x9f,0x11,0x7a,0x1f,0xa, 0xb, 0x7a,0x1f,0xa, 0xf,
+0x7a,0x1f,0xa, 0x13,0x12,0x44,0x9, 0x74,0x5, 0xac,0xbd,0x49,0x15,0x2, 0xc0,0x49,
+0x5, 0x2, 0xc2,0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x7, 0x74,0x5, 0xac,0xbd,0x9, 0xf5,
+0x2, 0xc4,0xbe,0xf0,0x2, 0x40,0x2, 0x6c,0xff,0x12,0x44,0x9, 0x74,0x4, 0xac,0xbf,
+0x49,0x15,0xc, 0xe1,0x49,0x5, 0xc, 0xe3,0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x9, 0x7e,
+0x27,0xa, 0x7, 0x7e,0x34,0x0, 0xdc,0xad,0x23,0x7e,0x17,0x0, 0x9e,0x12,0x4, 0x6,
+0x7a,0x35,0x22,0xbe,0x34,0x0, 0xa, 0x50,0x7, 0x7e,0x34,0x0, 0xa, 0x7a,0x35,0x22,
+0x75,0x24,0x0, 0x6c,0xcc,0x7e,0x90,0x14,0xac,0x9f,0x49,0x24,0xb, 0x3, 0x49,0x34,
+0xb, 0x7, 0xbd,0x32,0x78,0xe, 0x49,0x54,0xb, 0x5, 0x49,0x34,0xb, 0x9, 0xbd,0x35,
+0x78,0x2, 0xa1,0x41,0x74,0x5, 0xac,0xbe,0x49,0x15,0x0, 0x7c,0x1e,0x14,0x1e,0x14,
+0x1e,0x14,0x1e,0x14,0x6d,0x0, 0x7a,0xf, 0xa, 0x13,0xbe,0x8, 0x0, 0x18,0x48,0xa,
+0x7e,0xf, 0xa, 0x13,0xbe,0x8, 0x1, 0x76,0x8, 0x5, 0x75,0x25,0x34,0x80,0x1c,0x7e,
+0xf, 0xa, 0x13,0xbe,0x8, 0x0, 0x31,0x48,0xa, 0x7e,0xf, 0xa, 0x13,0xbe,0x8, 0x1,
+0x5d,0x8, 0x5, 0x75,0x25,0x20,0x80,0x3, 0x75,0x25,0x19,0x49,0x35,0x0, 0x7a,0x12,
+0xe, 0xa3,0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0xf, 0x74,0x5, 0xac,0xbe,0x49,0x35,0x0,
+0x7c,0x12,0xe, 0xa3,0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x5, 0x12,0xe, 0x2f,0x7a,
+0x1f,0xa, 0x13,0x7d,0x3, 0x7e,0x1f,0xa, 0xf, 0x7d,0x13,0x2d,0x10,0x7a,0x17,0xa,
+0x17,0xbe,0x14,0x0, 0x7, 0x8, 0x3d,0xbe,0x18,0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,
+0x1f,0xa, 0xf, 0x7e,0x1f,0xa, 0x13,0xbe,0x18,0x0, 0x0, 0x78,0xa, 0x7e,0x1f,0xa,
+0x13,0xb, 0x1c,0x7a,0x1f,0xa, 0x13,0x12,0xe, 0x39,0x8, 0x4, 0xb, 0xc0,0x80,0x14,
+0x7e,0x1f,0xa, 0xb, 0xbe,0x18,0x0, 0x64,0x8, 0xa, 0x12,0x5b,0xb5,0x12,0xe, 0x4e,
+0x8, 0x2, 0x5, 0x24,0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x3, 0x49,0x35,0xb, 0x7,
+0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0xf, 0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x5, 0x49,
+0x35,0xb, 0x9, 0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0x13,0x7e,0x1f,0xa, 0xf, 0xbe,0x18,
+0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,0x1f,0xa, 0xf, 0x7e,0x1f,0xa, 0x13,0xbe,0x18,
+0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,0x1f,0xa, 0x13,0x12,0xe, 0x39,0x8, 0x4, 0xb,
+0xc0,0x80,0x14,0x7e,0x1f,0xa, 0xb, 0xbe,0x18,0x0, 0x64,0x8, 0xa, 0x12,0x5b,0xb5,
+0x12,0xe, 0x4e,0x8, 0x2, 0x5, 0x24,0x74,0x14,0xac,0xbf,0x12,0xe, 0x6e,0x7d,0xf3,
+0xbe,0xf7,0xa, 0x17,0x8, 0x2, 0xa1,0x2e,0xe5,0x25,0xbe,0xb0,0x34,0x7e,0x1f,0xa,
+0xb, 0x40,0x9, 0x12,0x5b,0x60,0x7e,0x8, 0x0, 0x5a,0x80,0x7, 0x12,0x5b,0x60,0x7e,
+0x8, 0x0, 0x4b,0x12,0x4, 0x59,0x7a,0x1f,0xa, 0xb, 0xe5,0x24,0x60,0x2, 0x81,0xe2,
+0x4c,0xcc,0x68,0x2, 0x81,0xe2,0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0x3, 0x6d,0x22,
+0x49,0x15,0xb, 0xb, 0x6d,0x0, 0x9f,0x1, 0x7a,0xf, 0xa, 0xf, 0x12,0x5a,0xeb,0x74,
+0x14,0xac,0xbf,0x49,0x15,0xb, 0x3, 0x12,0x5b,0x50,0x49,0x15,0x0, 0x7a,0x6d,0x0,
+0x2f,0x10,0xbe,0x18,0x0, 0x0, 0x48,0x19,0x74,0x6, 0xac,0xbf,0x49,0xe5,0xc, 0xed,
+0x4d,0xee,0x78,0xd, 0x12,0x0, 0x10,0x7d,0xe3,0x74,0x5, 0xac,0xbe,0x59,0xe5,0x0,
+0x7a,0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0x5, 0x6d,0x22,0x74,0x14,0xac,0xbf,0x12,
+0x57,0xd1,0x9f,0x1, 0x7a,0xf, 0xa, 0x13,0x12,0x5a,0xeb,0x74,0x14,0xac,0xbf,0x49,
+0x15,0xb, 0x5, 0x12,0x5b,0x50,0x49,0x15,0x0, 0x7c,0x6d,0x0, 0x2f,0x10,0xbe,0x18,
+0x0, 0x0, 0x48,0x17,0x74,0x6, 0xac,0xbf,0x49,0x15,0xc, 0xed,0x4d,0x11,0x78,0xb,
+0x12,0x0, 0x10,0x74,0x5, 0xac,0xbe,0x59,0x35,0x0, 0x7c,0x7e,0x90,0x6, 0xac,0x9f,
+0x49,0x54,0xc, 0xe9,0x4d,0x55,0x78,0x14,0x7e,0x1f,0xa, 0xf, 0x7d,0x53,0x59,0x54,
+0xc, 0xe9,0x7e,0x1f,0xa, 0x13,0x7d,0x53,0x59,0x54,0xc, 0xeb,0x49,0x34,0xc, 0xe9,
+0x1a,0x26,0x1a,0x24,0x7e,0x7f,0xa, 0xf, 0x7f,0x7, 0x12,0xe, 0x9b,0x48,0x11,0x49,
+0x34,0xc, 0xeb,0x1a,0x26,0x1a,0x24,0x7e,0xf, 0xa, 0x13,0x12,0xe, 0x9b,0x58,0x32,
+0x74,0x6, 0xac,0xbf,0x49,0x35,0xc, 0xed,0xbe,0x34,0x0, 0x3, 0x58,0xe, 0x7e,0x50,
+0x6, 0xac,0x5f,0x2e,0x24,0xc, 0xed,0xb, 0x34,0x1b,0x28,0x30,0x7d,0x3f,0x74,0x6,
+0xac,0xbf,0x59,0x35,0xc, 0xe9,0x7e,0x1f,0xa, 0x13,0x74,0x6, 0xac,0xbf,0x59,0x35,
+0xc, 0xeb,0xe5,0x24,0xbe,0xb0,0x2, 0x40,0xe, 0x74,0x6, 0xac,0xbf,0x49,0x45,0xc,
+0xed,0xbe,0x44,0x0, 0x2, 0x48,0x5, 0x75,0x24,0x0, 0x80,0xc, 0x4d,0x44,0x78,0x8,
+0x7e,0x34,0x0, 0x1, 0x59,0x35,0xc, 0xed,0xbe,0xc0,0x2, 0x40,0xf, 0x7e,0x50,0x6,
+0xac,0x5f,0x49,0x32,0xc, 0xed,0xbe,0x34,0x0, 0x2, 0x48,0x4, 0x6c,0xcc,0x80,0x33,
+0x4d,0x33,0x78,0x2f,0x7e,0x34,0x0, 0x1, 0x59,0x32,0xc, 0xed,0x80,0x25,0x7e,0x34,
+0x0, 0x2, 0x74,0x6, 0xac,0xbf,0x59,0x35,0xc, 0xed,0x75,0x24,0x0, 0x6c,0xcc,0x80,
+0x12,0x6d,0x33,0x74,0x6, 0xac,0xbf,0x59,0x35,0xc, 0xe9,0x59,0x35,0xc, 0xeb,0x59,
+0x35,0xc, 0xed,0x7e,0x35,0x22,0xbe,0x34,0x1, 0x0, 0x28,0x7, 0x7e,0x34,0x1, 0x0,
+0x7a,0x35,0x22,0x74,0x5, 0xac,0xbd,0x49,0x25,0x2, 0xc0,0x74,0x5, 0xac,0xbe,0x12,
+0x44,0x7a,0x7a,0x37,0xa, 0x9, 0xe5,0x24,0x60,0x13,0x12,0x5b,0x6f,0x74,0x14,0x1e,
+0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x80,0x3, 0x12,0x5b,0x40,
+0x7a,0x37,0xa, 0x9, 0x7e,0x90,0x5, 0xac,0x9d,0x49,0x34,0x2, 0xc0,0x74,0x5, 0xac,
+0xbe,0x49,0x25,0x0, 0x7a,0xbd,0x23,0x28,0x11,0x7d,0x14,0x2e,0x14,0x2, 0xc0,0x7d,
+0x23,0x2e,0x27,0xa, 0x9, 0x1b,0x18,0x20,0x80,0xd, 0x7d,0x24,0x2e,0x24,0x2, 0xc0,
+0x9e,0x37,0xa, 0x9, 0x1b,0x28,0x30,0x49,0x24,0x2, 0xc2,0x12,0x46,0xf, 0x7a,0x37,
+0xa, 0x9, 0x4c,0xcc,0x68,0x13,0x12,0x5b,0x6f,0x74,0xa, 0x1e,0x34,0x1e,0x24,0x50,
+0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x80,0x3, 0x12,0x5b,0x40,0x7a,0x37,0xa, 0x9,
+0x7e,0x30,0x5, 0xac,0x3d,0x49,0x21,0x2, 0xc2,0x12,0xf, 0xfd,0xbd,0x32,0x7d,0x51,
+0x28,0xf, 0x2e,0x54,0x2, 0xc2,0x7d,0x2, 0x2e,0x7, 0xa, 0x9, 0x1b,0x58,0x0, 0x80,
+0xb, 0x2e,0x54,0x2, 0xc2,0x9e,0x27,0xa, 0x9, 0x1b,0x58,0x20,0x49,0x24,0x0, 0x7a,
+0x74,0x4, 0xac,0xbf,0x59,0x25,0xc, 0xe1,0x59,0x35,0xc, 0xe3,0xda,0x3b,0x22,0x9d,
+0x32,0x12,0x0, 0x2e,0x1a,0x26,0x1a,0x24,0x22,0x7e,0xb4,0x0, 0x64,0x7e,0x7f,0xa,
+0x13,0x7f,0x17,0x7d,0x1b,0x12,0x3, 0xfd,0x7e,0x6f,0xa, 0xf, 0x7f,0x6, 0x12,0x4,
+0x59,0x7f,0x1, 0x7a,0xf, 0xa, 0xb, 0xe5,0x25,0xa, 0x3b,0x6d,0x22,0xbf,0x10,0x22,
+0x7e,0x30,0x5, 0xac,0x3d,0x2e,0x14,0x9, 0xfd,0x74,0x5, 0x2, 0x4, 0x8d,0x49,0x35,
+0xb, 0xb, 0x49,0x25,0xb, 0xd, 0x49,0x15,0xb, 0x3, 0x49,0x5, 0xb, 0x5, 0xca,0x3b,
+0x7d,0x61,0x7a,0x35,0x26,0x7d,0x32,0x9d,0x30,0x12,0x0, 0x2e,0x7d,0x73,0x7e,0x35,
+0x26,0x9d,0x36,0x12,0x0, 0x2e,0x2d,0x37,0xda,0x3b,0x22,0x12,0x3, 0xec,0xbe,0x18,
+0x0, 0x0, 0x22,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x22,0x12,0xe, 0xba,0x7e,
+0xb3,0x0, 0x90,0x54,0xf, 0x22,0x7a,0xb3,0xb, 0x88,0x60,0x2a,0x7e,0xb3,0x6, 0xca,
+0x20,0xe7,0x3d,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x47,0x50,0xf7,0x12,0x5b,
+0x35,0x7e,0xb3,0x6, 0xca,0x54,0xc7,0x44,0x10,0x12,0x17,0x5f,0x12,0x5b,0x95,0x44,
+0x80,0x7a,0xb3,0x6, 0xca,0x22,0x7e,0xb3,0x6, 0xca,0x30,0xe7,0x13,0x54,0xc7,0x44,
+0x28,0x12,0x17,0x5f,0x12,0x5b,0x95,0x54,0x7f,0x7a,0xb3,0x6, 0xca,0x2, 0x37,0x96,
+0x22,0xca,0x79,0x7e,0x77,0x0, 0x92,0x4d,0x77,0x78,0x32,0xe4,0x12,0xe, 0xac,0xbe,
+0xb0,0x0, 0x28,0x5, 0x75,0xb, 0x0, 0xe1,0xa6,0x7e,0xb3,0x0, 0x94,0x20,0xe0,0x2,
+0xe1,0xa6,0x7e,0x73,0x0, 0x99,0xbe,0x71,0xb, 0x38,0x7b,0x75,0xb, 0x0, 0x7e,0x34,
+0x0, 0x1, 0x7a,0x37,0x0, 0x92,0x74,0x1, 0x12,0xe, 0xb6,0x80,0x69,0xbe,0x74,0x0,
+0x1, 0x78,0x14,0x74,0x1, 0x12,0xe, 0xac,0x68,0x5c,0x12,0x4b,0x8f,0x12,0xe, 0xb6,
+0x75,0xd, 0x27,0xd2,0x5, 0x80,0x4f,0xbe,0x74,0x0, 0x3, 0x78,0x49,0x7e,0xb3,0x0,
+0x9b,0x12,0x4e,0x28,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x47,0x50,0xf7,0x12,
+0xf, 0xf3,0x12,0x37,0x5f,0x74,0x2, 0x12,0xf, 0xcd,0x12,0x38,0xe2,0x12,0x0, 0x17,
+0xc2,0xa8,0xc2,0x95,0xa9,0xd0,0xca,0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,0x4e,0x10,
+0x12,0x1c,0xba,0x12,0x4b,0x8f,0x7a,0xb3,0xb, 0x88,0x74,0xa, 0x7a,0xb3,0x6, 0xda,
+0x7e,0xb3,0x6, 0xda,0x70,0xfa,0x7e,0x77,0x0, 0x92,0x4d,0x77,0x78,0xb, 0x80,0x4,
+0xe4,0x12,0xf, 0xcd,0x30,0x5, 0xf9,0x80,0xc, 0xbe,0x74,0x0, 0x1, 0x78,0x6, 0x12,
+0xf, 0xf3,0x12,0x37,0xb4,0x75,0xd, 0x0, 0xc2,0x5, 0xda,0x79,0x22,0x70,0x5, 0x43,
+0x87,0x1, 0x80,0x1a,0xb4,0x1, 0xb, 0xa9,0xd0,0xce,0xa9,0xd7,0xc9,0x43,0x87,0x2,
+0x80,0xc, 0xb4,0x2, 0xd, 0xa9,0xd0,0xce,0xa9,0xc7,0xc9,0x43,0x87,0x2, 0x0, 0x0,
+0x0, 0x0, 0x22,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x20,0x93,0xf9,0x22,0x7e,0x90,0x5,
+0xac,0x9e,0x49,0x34,0x0, 0x7c,0x22,0x7d,0xf3,0xbe,0xf4,0x0, 0x50,0x38,0x28,0x7e,
+0x54,0x0, 0x50,0x9d,0x5f,0x12,0x11,0x3b,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x28,
+0x4, 0x9f,0x22,0x80,0x8, 0x7e,0x18,0x0, 0x2d,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0,
+0x0, 0x50,0x64,0x9f,0x22,0x80,0x60,0xbe,0xf4,0x1, 0x2f,0x40,0x20,0x12,0x11,0x35,
+0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x40,0x4, 0x7e,0x28,0x0, 0x2c,0xbe,0x28,0x0,
+0x2d,0x28,0x4, 0x7e,0x28,0x0, 0x2d,0x2e,0x28,0x1, 0x61,0x80,0x3a,0xbe,0xf4,0x0,
+0xbf,0x50,0x23,0x7e,0x54,0x0, 0xbf,0x9d,0x5f,0x12,0x10,0xa0,0xbe,0x28,0x0, 0xc7,
+0x38,0x8, 0x7e,0x18,0x0, 0xc7,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0, 0x2d,0x50,0x17,
+0x7e,0x28,0x0, 0x2d,0x80,0x11,0x12,0x10,0x9a,0x2e,0x28,0x0, 0xc7,0xbe,0x28,0x1,
+0x61,0x28,0x4, 0x7e,0x28,0x1, 0x61,0x7d,0x35,0x22,0x7d,0x5f,0x9e,0x54,0x0, 0xbf,
+0x6d,0x44,0x7e,0x14,0x1, 0x81,0x7f,0x12,0x12,0x3, 0xfd,0x7f,0x21,0x7c,0xba,0x7c,
+0xa9,0xa, 0x48,0x22,0x7d,0xf3,0xbe,0xf4,0x0, 0x50,0x38,0x20,0x7e,0x54,0x0, 0x50,
+0x9d,0x5f,0x12,0x11,0x3b,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x28,0x4, 0x9f,0x22,
+0x80,0x60,0x7e,0x18,0x0, 0x2d,0x9f,0x12,0x7f,0x21,0x80,0x56,0xbe,0xf4,0x1, 0x2f,
+0x40,0x16,0x12,0x11,0x35,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x40,0x4, 0x7e,0x28,
+0x0, 0x2c,0x2e,0x28,0x1, 0x61,0x80,0x3a,0xbe,0xf4,0x0, 0xbf,0x50,0x23,0x7e,0x54,
+0x0, 0xbf,0x9d,0x5f,0x12,0x10,0xa0,0xbe,0x28,0x0, 0xc7,0x38,0x8, 0x7e,0x18,0x0,
+0xc7,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0, 0x2d,0x50,0x17,0x7e,0x28,0x0, 0x2d,0x80,
+0x11,0x12,0x10,0x9a,0x2e,0x28,0x0, 0xc7,0xbe,0x28,0x1, 0x61,0x28,0x4, 0x7e,0x28,
+0x1, 0x61,0x7d,0x35,0x22,0x7d,0x5f,0x9e,0x54,0x1, 0x2f,0x6d,0x44,0x7e,0x14,0x2,
+0x7, 0x22,0xca,0xf8,0x6c,0xff,0x80,0x1d,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7a,
+0x12,0x10,0x7, 0x74,0x5, 0xac,0xbf,0x59,0x35,0x0, 0x7a,0x49,0x35,0x0, 0x7c,0x12,
+0x10,0xb4,0x12,0x44,0x54,0x12,0x40,0x97,0x48,0xde,0xda,0xf8,0x22,0xca,0xf8,0x12,
+0x38,0xe2,0x12,0x38,0xf1,0x12,0x4b,0xf7,0x12,0x46,0x61,0x12,0x21,0xf9,0x12,0x4e,
+0xee,0x7e,0xb3,0xb, 0x9f,0xb4,0x1, 0x2, 0x80,0x2, 0x41,0x71,0x7e,0xf3,0x6, 0x4d,
+0x4c,0xff,0x68,0x36,0xbe,0xf0,0x1, 0x78,0xa, 0xe4,0x7a,0xb3,0x6, 0x4d,0x12,0x1f,
+0xe, 0x80,0x12,0xbe,0xf0,0x3, 0x78,0x5, 0x12,0x1b,0xd2,0x80,0x8, 0xbe,0xf0,0x2,
+0x78,0x3, 0x12,0x17,0xf5,0x7e,0x34,0xa, 0xd1,0x12,0x14,0xd7,0x7e,0x34,0xa, 0xbb,
+0x12,0x14,0xd7,0x7e,0x34,0xa, 0x8d,0x12,0x14,0xd7,0x12,0x27,0x61,0x12,0x3f,0xff,
+0x12,0x38,0xfa,0x44,0x1, 0x7a,0xb3,0x6, 0xd7,0x12,0x15,0xa, 0x12,0x37,0x3e,0x12,
+0x28,0x30,0x12,0x36,0x4a,0x12,0x28,0x69,0x12,0x2c,0xc8,0x12,0x44,0x16,0x7e,0xb3,
+0x6, 0x67,0x30,0xe1,0x3, 0x12,0x14,0xe7,0x12,0xe, 0xaf,0x12,0x0, 0x3e,0x7e,0x34,
+0x3, 0x5c,0x7e,0x24,0x5, 0x34,0x7e,0xb3,0x6, 0xc8,0x12,0x49,0x5e,0x12,0x0, 0x6,
+0x12,0x2b,0xb1,0x12,0x11,0x42,0x12,0x40,0x66,0x12,0x35,0x68,0x12,0x12,0x74,0x7e,
+0xb3,0xb, 0x38,0x60,0x8, 0xe4,0x7a,0xb3,0xb, 0x38,0x12,0x33,0x41,0x12,0x48,0x49,
+0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x3, 0x12,0x14,0xe7,0x12,0x18,0x68,0x12,0x35,0xfc,
+0x12,0x33,0x4c,0x12,0x32,0xdc,0x12,0x40,0xa4,0x12,0x44,0x83,0x12,0x7, 0x98,0x12,
+0x58,0x65,0x12,0x51,0x5d,0x12,0x53,0xde,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x3, 0x12,
+0x14,0xe7,0x7e,0xb3,0x0, 0x9a,0x12,0x46,0x84,0x12,0xf, 0x1, 0x12,0x47,0xfd,0x21,
+0x81,0xda,0xf8,0x22,0xca,0x3b,0x7e,0xb3,0x0, 0x90,0x7c,0xab,0x5e,0xa0,0xf, 0x7a,
+0xa1,0x25,0xc4,0x54,0xf, 0x54,0xf, 0xf5,0x26,0x7e,0x77,0x0, 0x6a,0x7e,0x67,0x0,
+0x6c,0x7e,0xb3,0x0, 0x68,0xf5,0x23,0x7e,0xb3,0x0, 0x69,0xf5,0x24,0x4c,0xaa,0x78,
+0x4, 0xc2,0x4, 0x81,0x5f,0xe5,0x25,0xbe,0xb0,0x1, 0x28,0x58,0x75,0x22,0x0, 0x80,
+0x48,0x12,0x14,0xd0,0x49,0x45,0x0, 0x7a,0x7a,0x45,0x2f,0x49,0x35,0x0, 0x7c,0x12,
+0x14,0xff,0x28,0xa, 0x12,0x14,0xdf,0x28,0x2e,0xbe,0x35,0x31,0x28,0x29,0x12,0x14,
+0x88,0xbd,0x36,0x28,0x22,0x7a,0x65,0x29,0x12,0x17,0xe4,0x50,0x3, 0x12,0x17,0xdc,
+0x7e,0x35,0x33,0x12,0x14,0xad,0x12,0x14,0xd0,0x59,0x35,0x0, 0x7a,0x12,0x14,0xaa,
+0x12,0x14,0xd0,0x59,0x35,0x0, 0x7c,0x5, 0x22,0xe5,0x25,0xbe,0xb1,0x22,0x38,0xb1,
+0xc2,0x4, 0x81,0x5f,0xe5,0x25,0xb4,0x1, 0x22,0xe5,0x26,0x70,0x1e,0x12,0x14,0xf4,
+0x28,0xe, 0x12,0x14,0xdf,0x28,0x5, 0xbe,0x35,0x31,0x38,0x4, 0xc2,0x4, 0x81,0x5f,
+0x12,0x14,0x88,0x7a,0x35,0x29,0x12,0x5b,0x22,0x61,0xf6,0xe5,0x25,0xb4,0x1, 0x2,
+0x80,0x2, 0x61,0xf6,0x12,0x14,0xf4,0x28,0xe, 0x12,0x14,0xdf,0x28,0x5, 0xbe,0x35,
+0x31,0x38,0x4, 0xc2,0x4, 0x81,0x5f,0x12,0x14,0x88,0x9e,0x37,0x0, 0x60,0x12,0x0,
+0x2e,0x7a,0x35,0x2b,0x7e,0x35,0x33,0x9e,0x37,0x0, 0x50,0x7e,0x25,0x35,0x9e,0x27,
+0x0, 0x52,0x12,0x14,0x6b,0x7a,0x35,0x2d,0x7e,0x37,0x0, 0x70,0xbe,0x35,0x2d,0x50,
+0x28,0x7e,0x35,0x27,0x9e,0x37,0x0, 0x54,0x12,0x0, 0x2e,0x7e,0xa1,0x23,0x74,0x5,
+0xa4,0xbd,0x35,0x58,0xc, 0x7e,0xa0,0x2, 0xe5,0x23,0xa4,0xf5,0x23,0xd2,0x4, 0x80,
+0x8, 0x7e,0xb3,0x0, 0x68,0xf5,0x23,0xc2,0x4, 0x30,0x4, 0x30,0xe5,0x23,0xa, 0x3b,
+0xbe,0x35,0x2b,0x28,0x4, 0x6d,0x33,0x80,0x27,0xe5,0x24,0xa, 0x3b,0xbe,0x35,0x2b,
+0x28,0x14,0x7e,0x25,0x2b,0x7e,0x34,0x0, 0x64,0xad,0x23,0xe5,0x24,0xa, 0x1b,0x6d,
+0x0, 0x12,0x4, 0x8, 0x80,0xa, 0x7e,0x34,0x0, 0x64,0x80,0x4, 0x7e,0x34,0x0, 0x64,
+0x7a,0x35,0x2b,0x7e,0xf7,0x0, 0x60,0x7d,0x1f,0x6d,0x0, 0x7e,0x35,0x27,0x6d,0x22,
+0x9f,0x10,0x7e,0x15,0x2b,0x12,0x3, 0xfd,0x12,0x2f,0x31,0x7f,0x1, 0x7d,0x3f,0x6d,
+0x22,0x2f,0x10,0x7a,0x35,0x29,0x7e,0x35,0x29,0xbd,0x36,0x38,0x7, 0x7e,0x25,0x27,
+0xbd,0x26,0x28,0x5, 0x7a,0x65,0x29,0x80,0xb, 0xbe,0x34,0x0, 0x1, 0x50,0x5, 0x6d,
+0x33,0x7a,0x35,0x29,0x12,0x17,0xe4,0x50,0x3, 0x12,0x17,0xdc,0x7e,0x35,0x33,0x12,
+0x14,0xad,0x7a,0x37,0x0, 0x7a,0x12,0x14,0xaa,0x7d,0x23,0x7a,0x27,0x0, 0x7c,0x7e,
+0x37,0x0, 0x7a,0x7a,0x35,0x2f,0x7a,0x25,0x31,0x7d,0x27,0x12,0x14,0x62,0x7a,0x35,
+0x33,0x7e,0x35,0x31,0x7d,0x27,0x12,0x14,0x62,0x7a,0x35,0x35,0x7e,0x35,0x29,0x7a,
+0x37,0x0, 0x60,0x7e,0x27,0x0, 0x70,0xbe,0x25,0x2d,0x50,0x3, 0x12,0x5b,0x22,0xda,
+0x3b,0x22,0x7d,0x12,0x6d,0x0, 0x6d,0x22,0x9f,0x10,0x22,0x7d,0x52,0x7d,0x43,0x7d,
+0x35,0x12,0x17,0x56,0x7f,0x71,0x7d,0x34,0x12,0x17,0x56,0x2f,0x17,0x7c,0xb4,0x12,
+0x1, 0x20,0x12,0x1, 0x9a,0x2, 0x1, 0x5d,0x7e,0x35,0x2f,0x7d,0x27,0x12,0x14,0x62,
+0x7a,0x35,0x33,0x7e,0x35,0x31,0x7d,0x27,0x12,0x14,0x62,0x7d,0x23,0x7a,0x25,0x35,
+0x7e,0x35,0x33,0x12,0x14,0x6b,0x7a,0x35,0x27,0x22,0x7e,0x35,0x35,0x7e,0x25,0x29,
+0x7e,0x15,0x27,0x7d,0x7, 0x7d,0xf0,0x7d,0xe1,0x7d,0x12,0x1a,0x26,0x1a,0x24,0x12,
+0x3, 0xfd,0x7d,0x1e,0x6d,0x0, 0x12,0x4, 0x59,0x7d,0x1f,0x6d,0x0, 0x2f,0x10,0x22,
+0x7e,0xa1,0x22,0x74,0x5, 0xa4,0x22,0x7e,0x24,0x0, 0x16,0xe4,0x2, 0x4, 0xeb,0x7e,
+0x37,0x0, 0x72,0xbe,0x35,0x2f,0x22,0x7e,0xb3,0x0, 0x90,0x54,0xf0,0x44,0x2, 0x7a,
+0xb3,0x0, 0x90,0x22,0x7e,0x37,0x0, 0x7a,0x7a,0x35,0x2f,0x7e,0x37,0x0, 0x7c,0x7a,
+0x35,0x31,0x7e,0x73,0x6, 0xc7,0xbe,0x70,0x0, 0x22,0xca,0x3b,0x12,0x17,0xcd,0x30,
+0xe1,0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0xc, 0x7e,0xb3,0xd, 0x3f,0x70,0x14,0x7e,
+0xb3,0xd, 0x3c,0x70,0xe, 0x7e,0xb3,0x6, 0x67,0x20,0xe0,0x2, 0xc1,0x4e,0x20,0xe2,
+0x2, 0xc1,0x4e,0x7c,0xba,0x30,0xe1,0x8, 0x7e,0xb3,0x6, 0x12,0xf5,0x28,0x80,0x6,
+0x7e,0xb3,0x6, 0x13,0xf5,0x28,0x7c,0xba,0x30,0xe1,0x7, 0x7e,0xb3,0x6, 0x67,0x30,
+0xe2,0x5, 0x75,0x29,0x1, 0x80,0x3, 0x75,0x29,0x2, 0x7e,0xb3,0xd, 0x3c,0xbe,0xb0,
+0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x3c,0x7e,0xb3,0x6, 0x67,0x30,0xe5,0xb, 0x80,
+0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x47,0x50,0xf7,0x12,0x17,0xbf,0x4e,0x70,0x2,
+0x1b,0x28,0x30,0x12,0x1f,0xc9,0x7e,0x73,0x6, 0xd6,0xa, 0x57,0x12,0x17,0x7c,0x12,
+0x17,0xec,0x75,0x25,0x0, 0xc1,0x1a,0x12,0x4e,0xa6,0x75,0x26,0x0, 0x80,0x72,0x7e,
+0xb3,0x6, 0xc9,0x54,0x1, 0x6c,0x77,0x12,0x17,0x8d,0x80,0x4, 0xe4,0x12,0xf, 0xcd,
+0x12,0x17,0x47,0x50,0xf7,0x75,0x24,0x0, 0x80,0x50,0x12,0x5a,0xfb,0x9, 0x23,0x6,
+0x96,0x7a,0x21,0x27,0x7e,0x71,0x25,0x74,0x3, 0xac,0x7b,0xe5,0x26,0xa, 0x2b,0x2d,
+0x23,0x7e,0x34,0x0, 0x58,0xad,0x32,0x7e,0x30,0x4, 0xac,0x23,0x2d,0x13,0x59,0x71,
+0x0, 0xa8,0x59,0x61,0x0, 0xa6,0x7e,0x73,0x6, 0xd6,0xbe,0x70,0x2, 0x38,0x19,0xa,
+0x7, 0x7e,0x54,0x0, 0x3, 0x9d,0x50,0x2e,0x14,0x0, 0xa6,0x12,0x4a,0x84,0x60,0x5,
+0x2f,0x11,0x14,0x78,0xfb,0x12,0x17,0xd4,0x5, 0x24,0x12,0x17,0x4e,0x38,0xab,0x5,
+0x26,0xe5,0x28,0xbe,0xb1,0x26,0x38,0x87,0x5, 0x25,0xe5,0x29,0xbe,0xb1,0x25,0x28,
+0x2, 0xa1,0x97,0x7e,0x37,0x6, 0xa, 0x99,0x34,0x12,0x17,0xbf,0x5e,0x70,0xfd,0x1b,
+0x28,0x30,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0xa, 0x1b,0x3e,0x14,0x12,0x3c,0x9a,0x12,
+0x1f,0xc9,0x7e,0xb3,0x6, 0xca,0x12,0x17,0x76,0x12,0x17,0xec,0xe1,0x44,0x7e,0xb3,
+0x6, 0xc9,0x30,0xe0,0x51,0x7e,0xb3,0x6, 0x67,0x30,0xe5,0x5, 0x12,0x17,0x47,0x50,
+0x11,0x74,0x2, 0x12,0x17,0xc7,0x12,0x4e,0xa6,0x12,0x17,0x84,0x80,0x4, 0xe4,0x12,
+0xf, 0xcd,0x12,0x17,0x47,0x50,0xf7,0xe4,0x12,0x17,0xc7,0x75,0x24,0x0, 0x80,0x17,
+0x12,0x5a,0xfb,0x9, 0xa3,0x6, 0x96,0x7a,0xa1,0x27,0x74,0x4, 0xa4,0x59,0x75,0x3,
+0x5e,0x59,0x65,0x3, 0x5c,0x5, 0x24,0x12,0x17,0x4e,0x38,0xe4,0x7e,0xb3,0x6, 0x67,
+0x30,0xe5,0x3, 0x12,0x17,0x84,0x75,0x24,0x0, 0xe1,0x37,0xe5,0x24,0xa, 0x3b,0x9,
+0xb3,0x6, 0x96,0xf5,0x27,0x12,0x17,0xcd,0x30,0xe1,0x19,0x7e,0xb3,0x6, 0xca,0xc4,
+0x23,0x54,0x7, 0xbe,0xb0,0x2, 0x38,0x22,0x12,0x5a,0xc3,0x60,0x16,0x2f,0x11,0x14,
+0x78,0xfb,0x80,0xf, 0x12,0x32,0xd4,0x38,0x11,0x12,0x5a,0xc3,0x60,0x5, 0x2f,0x11,
+0x14,0x78,0xfb,0x59,0x34,0x0, 0x2, 0x1b,0x48,0x20,0x7c,0xba,0x30,0xe0,0x46,0x7e,
+0x31,0x27,0x74,0x2, 0xac,0x3b,0x49,0xf1,0x5, 0x90,0x7d,0x3f,0x1a,0x36,0x1a,0xe6,
+0x7e,0x11,0x27,0x74,0x4, 0xac,0x1b,0x49,0x30,0x3, 0x5e,0x49,0x20,0x3, 0x5c,0x7f,
+0x21,0x9f,0x27,0x59,0x50,0x4, 0x16,0x59,0x40,0x4, 0x14,0x49,0xf1,0x5, 0x34,0x7d,
+0x1f,0x1a,0x12,0x1a,0xe2,0x7e,0x31,0x27,0x74,0x4, 0xac,0x3b,0x2e,0x14,0x3, 0x5c,
+0x9f,0x17,0x12,0x17,0xd4,0x5, 0x24,0x12,0x17,0x4e,0x28,0x2, 0xc1,0xab,0x7e,0x37,
+0x6, 0xc, 0x99,0x34,0xda,0x3b,0x22,0x30,0xa, 0x2, 0xd3,0x22,0xc3,0x22,0x7e,0x73,
+0x6, 0xc8,0xbe,0x71,0x24,0x22,0x1a,0x26,0x1a,0x24,0x7f,0x1, 0x2, 0x3, 0xec,0x7a,
+0xb3,0x6, 0xca,0x7e,0x44,0x12,0x0, 0xb, 0x48,0x50,0x5e,0xa0,0x1f,0x1b,0x48,0x50,
+0x7e,0x73,0x6, 0xca,0x7c,0xb7,0xc4,0x23,0x54,0x7, 0xa, 0x5b,0xc4,0x23,0x54,0xe0,
+0x7c,0xab,0xe4,0x22,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0x7e,0x70,0x1, 0x24,0xff,0x92,
+0xb, 0xc2,0xc6,0xd2,0xee,0xa9,0xd6,0xf7,0xd2,0xfe,0x4c,0x77,0x68,0x15,0xc2,0xaf,
+0x12,0x17,0xbf,0x4e,0x70,0x1, 0x1b,0x28,0x30,0x7e,0x37,0x6, 0x0, 0x99,0x34,0xd2,
+0xaf,0x80,0x9, 0x12,0x17,0xbf,0x4e,0x70,0x1, 0x1b,0x28,0x30,0xc2,0xa, 0x22,0x7e,
+0x24,0x12,0x0, 0xb, 0x28,0x30,0x22,0x7e,0x37,0x6, 0x2, 0x89,0x34,0x7e,0xa3,0x6,
+0xd7,0x7c,0xba,0x22,0x59,0x31,0x0, 0x2, 0x1b,0x18,0x20,0x22,0x7e,0x34,0x0, 0x1,
+0x7a,0x35,0x27,0x22,0x7e,0x35,0x27,0xbe,0x34,0x0, 0x1, 0x22,0xb, 0x28,0x30,0x4d,
+0x35,0x1b,0x28,0x30,0x22,0xca,0xf8,0x7e,0xa3,0x6, 0xd7,0x7c,0xfa,0x5e,0xf0,0x1,
+0x7c,0xba,0x12,0x1f,0xb5,0x12,0x15,0xa, 0x6c,0xaa,0x80,0x3b,0x7e,0xb3,0x6, 0x4d,
+0x60,0xb, 0xb4,0x2, 0x30,0xa, 0x3a,0x9, 0xb3,0xa, 0xbb,0x60,0x28,0x7e,0x90,0x4,
+0xac,0x9a,0x49,0x34,0x3, 0x5e,0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0x5, 0x34,0x59,
+0x32,0x5, 0x90,0x9f,0x11,0x59,0x34,0x3, 0x5e,0x59,0x24,0x3, 0x5c,0x59,0x34,0x4,
+0x16,0x59,0x24,0x4, 0x14,0xb, 0xa0,0x12,0x18,0x61,0x38,0xc0,0x7c,0x6f,0x5e,0x60,
+0x1, 0x7e,0x73,0x6, 0xd7,0x5e,0x70,0xfe,0x4c,0x76,0x7a,0x73,0x6, 0xd7,0xda,0xf8,
+0x22,0x7e,0xb3,0x6, 0xc8,0xbc,0xba,0x22,0x6c,0xaa,0x80,0x9, 0x12,0x19,0x5, 0x70,
+0x2, 0x21,0x4, 0xb, 0xa0,0x12,0x18,0x61,0x38,0xf2,0x7e,0xb3,0x6, 0x67,0x30,0xe1,
+0x2, 0x21,0x4, 0x6c,0xaa,0x80,0x78,0x12,0x19,0x5, 0xb4,0x1, 0x70,0x7e,0xb3,0x6,
+0xc6,0xbc,0xba,0x28,0x21,0x12,0x1e,0xe9,0x7e,0xb3,0x6, 0x45,0x12,0x1e,0xdc,0x8,
+0x6, 0x7e,0xb3,0x6, 0x43,0x80,0x1f,0x6d,0x33,0x9d,0x34,0x12,0x19,0x14,0x58,0x4d,
+0x7e,0xb3,0x6, 0x44,0x80,0x34,0x12,0x1e,0xe9,0x7e,0xb3,0x6, 0x48,0x12,0x1e,0xdc,
+0x8, 0x1b,0x7e,0xb3,0x6, 0x46,0xa, 0xeb,0x7e,0x50,0x2, 0xac,0x5a,0x7d,0xf2,0x2e,
+0xf4,0x5, 0x34,0xb, 0xf8,0x20,0x2d,0x2e,0x1b,0xf8,0x20,0x80,0x20,0x6d,0x33,0x9d,
+0x34,0x12,0x19,0x14,0x58,0x17,0x7e,0xb3,0x6, 0x47,0xa, 0x4b,0x7e,0x50,0x2, 0xac,
+0x5a,0x2e,0x24,0x5, 0x34,0xb, 0x28,0x30,0x9d,0x34,0x1b,0x28,0x30,0xb, 0xa0,0x12,
+0x18,0x61,0x38,0x83,0x22,0x7e,0x34,0x6, 0x15,0x7c,0xba,0x2, 0x1a,0x4a,0x6e,0x34,
+0xff,0xff,0xb, 0x34,0x1a,0x26,0x1a,0x24,0xbf,0x1, 0x22,0xca,0x3b,0x6c,0xee,0x6d,
+0x66,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x2, 0x41,0x29,0x6c,0xff,0x21,0xdf,0x12,0x1a,
+0x44,0xb4,0x1, 0x2, 0x80,0x2, 0x21,0xdd,0x7e,0x73,0x6, 0xc6,0xbc,0x7f,0x28,0x59,
+0xb, 0xe0,0x7e,0x50,0x4, 0xac,0x5f,0x49,0xd2,0x3, 0x5e,0x49,0xc2,0x3, 0x5c,0x7e,
+0x73,0x6, 0x45,0xa, 0x37,0x7d,0x53,0x1a,0x4a,0x1a,0x48,0xbf,0x62,0x8, 0xb, 0x12,
+0x1a,0x2c,0xbf,0x2, 0x8, 0x4, 0xb, 0x64,0x80,0x17,0x6d,0xff,0x9d,0xf3,0x7d,0x1f,
+0x1a,0x12,0x1a,0xe2,0xbf,0x67,0x58,0x9, 0x12,0x1a,0x2c,0xbf,0x7, 0x58,0x2, 0x1b,
+0x64,0x12,0x1a,0x2c,0xbf,0x2, 0x8, 0x6, 0x7e,0xb3,0x6, 0x43,0x80,0x29,0x12,0x19,
+0xe, 0x58,0x4a,0x7e,0x73,0x6, 0x44,0x80,0x3c,0x7e,0x50,0x4, 0xac,0x5f,0x12,0x1a,
+0x2c,0x7e,0x73,0x6, 0x48,0xa, 0x37,0x7d,0x53,0x7d,0xf3,0x1a,0x5a,0x1a,0xea,0xbf,
+0x7, 0x8, 0x19,0x7e,0xb3,0x6, 0x46,0xa, 0xfb,0x7e,0x90,0x2, 0xac,0x9f,0x2e,0x44,
+0x5, 0x90,0xb, 0x48,0x50,0x2d,0x5f,0x1b,0x48,0x50,0x80,0x11,0x12,0x19,0xe, 0x58,
+0xc, 0x7e,0x73,0x6, 0x47,0x12,0x1a,0x35,0x9d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,
+0x1a,0x60,0x28,0x2, 0x21,0x2e,0xbe,0xe0,0x0, 0x28,0x3e,0x7d,0x36,0x12,0x0, 0x2e,
+0xa, 0x2e,0xbd,0x32,0x78,0x33,0x6c,0xff,0x80,0x2a,0x12,0x1a,0x44,0x70,0x23,0xbe,
+0x64,0x0, 0x0, 0x8, 0xb, 0x7e,0x73,0x6, 0x43,0x12,0x1a,0x35,0x2d,0x31,0x80,0xf,
+0xbe,0x64,0x0, 0x0, 0x58,0xc, 0x7e,0x73,0x6, 0x44,0x12,0x1a,0x35,0x9d,0x31,0x1b,
+0x28,0x30,0xb, 0xf0,0x12,0x1a,0x60,0x38,0xd1,0xda,0x3b,0x22,0x49,0x12,0x4, 0x16,
+0x49,0x2, 0x4, 0x14,0x22,0xa, 0x17,0x7e,0x50,0x2, 0xac,0x5f,0x2e,0x24,0x5, 0x90,
+0xb, 0x28,0x30,0x22,0x7e,0x34,0x6, 0x15,0x7c,0xbf,0x7d,0x23,0x4d,0x22,0x68,0x5,
+0xbe,0xb0,0x2e,0x40,0x3, 0x74,0x1, 0x22,0xa, 0x3b,0x2d,0x32,0x7e,0x39,0xb0,0x22,
+0x7e,0x73,0x6, 0xc8,0xbc,0x7f,0x22,0xca,0x3b,0x75,0x23,0x0, 0x7e,0xb3,0x6, 0xd7,
+0x54,0xfd,0x7a,0xb3,0x6, 0xd7,0x7e,0x67,0x6, 0xd8,0x7e,0xb3,0x6, 0x67,0x30,0xe5,
+0x11,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x47,0x50,0xf7,0x75,0x23,0x1, 0x12,
+0x5b,0x35,0x12,0x1f,0xc5,0x7e,0x73,0x6, 0xd6,0xa, 0x57,0x12,0x17,0x7c,0x12,0x17,
+0xec,0x6c,0xff,0x6d,0x33,0x80,0xa, 0x74,0x2, 0xac,0xbf,0x59,0x35,0x9, 0xfd,0xb,
+0xf0,0x7e,0x53,0x6, 0xc8,0xbc,0x5f,0x38,0xee,0x6c,0xee,0x61,0x5e,0x6c,0xff,0x80,
+0x15,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x1b,0xc8,0x60,0x8, 0x6d,0x22,0x12,0x1b,
+0xc0,0x1b,0x38,0x20,0xb, 0xf0,0x12,0x1a,0x60,0x38,0xe6,0x75,0x22,0x0, 0x6d,0x33,
+0x7e,0xa1,0x22,0x74,0x2, 0xa4,0x59,0x35,0xb, 0xc3,0x5, 0x22,0xe5,0x22,0xb4,0x2e,
+0xed,0x6c,0xff,0x80,0x17,0xa, 0x2f,0x7e,0x34,0x0, 0x9, 0x9d,0x32,0x7a,0x73,0xc,
+0x1f,0x12,0x50,0xe0,0x12,0x1f,0xf9,0x12,0x50,0x6e,0xb, 0xf0,0x7e,0x73,0x6, 0x14,
+0xbc,0x7f,0x38,0xe1,0x6c,0xff,0x80,0x3f,0x7e,0x50,0x2, 0xac,0x5f,0x49,0x12,0x9,
+0xfd,0x12,0x1b,0xc0,0xb, 0x38,0x30,0xbd,0x13,0x50,0x2a,0x59,0x32,0x9, 0xfd,0x7e,
+0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x1b,0xc8,0x60,0x1b,0x12,0x1f,0xbc,0x74,0x2, 0xac,
+0xbf,0x59,0x35,0x5, 0x34,0x74,0x2, 0xac,0xbf,0x49,0x35,0x5, 0x34,0x74,0x2, 0xac,
+0xbf,0x59,0x35,0x5, 0x90,0xb, 0xf0,0x12,0x1a,0x60,0x38,0xbc,0xb, 0xe0,0x7e,0x73,
+0x6, 0x11,0xbc,0x7e,0x28,0x2, 0x41,0xbd,0x6c,0xff,0x80,0x1b,0x7e,0xb3,0x6, 0x4d,
+0x60,0x5, 0x12,0x1b,0xc8,0x60,0xe, 0x74,0x2, 0xac,0xbf,0x49,0x25,0x9, 0xfd,0x12,
+0x1b,0xc0,0x1b,0x38,0x20,0xb, 0xf0,0x12,0x1a,0x60,0x38,0xe0,0x74,0x3, 0x12,0x17,
+0xc7,0x12,0x1f,0x7c,0x12,0x38,0xfa,0xe5,0x23,0x60,0x15,0x80,0x4, 0xe4,0x12,0xf,
+0xcd,0x12,0x17,0x47,0x50,0xf7,0x7e,0xb3,0x6, 0x67,0x44,0x20,0x7a,0xb3,0x6, 0x67,
+0x12,0x1f,0xc5,0x7e,0xb3,0x6, 0xca,0x12,0x17,0x76,0x12,0x17,0xec,0xda,0x3b,0x22,
+0x7e,0x70,0x2, 0xac,0x7f,0x2d,0x36,0x22,0xa, 0x3f,0x2e,0x37,0x6, 0x4e,0x7e,0x39,
+0xb0,0x22,0xca,0x79,0x12,0x1f,0xb1,0x6d,0x33,0x6c,0xee,0x80,0xa, 0x74,0x2, 0xac,
+0xbe,0x59,0x35,0x9, 0xfd,0xb, 0xe0,0x7e,0x53,0x6, 0xc8,0xbc,0x5e,0x38,0xee,0x7e,
+0xb3,0x6, 0x67,0x30,0xe0,0x34,0x6c,0xee,0x80,0x26,0x12,0x1f,0xf9,0x6c,0xff,0x80,
+0x18,0x7e,0x50,0x2, 0xac,0x5f,0x49,0xf2,0x9, 0xfd,0x12,0x37,0x78,0xbf,0x7, 0x8,
+0x6, 0x7d,0x31,0x59,0x32,0x9, 0xfd,0xb, 0xf0,0x12,0x1a,0x60,0x38,0xe3,0xb, 0xe0,
+0x7e,0x73,0x6, 0x10,0xbc,0x7e,0x38,0xd2,0x80,0x39,0x7e,0xe0,0x1, 0x12,0x15,0xa,
+0x6c,0xff,0x80,0x23,0x12,0x1f,0xbc,0x49,0x25,0x3, 0x5c,0x7e,0x8, 0x0, 0x4, 0x12,
+0x4, 0x59,0x7d,0x13,0x7e,0x50,0x2, 0xac,0x5f,0x2e,0x24,0x9, 0xfd,0xb, 0x28,0x30,
+0x2d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,0x60,0x38,0xd8,0xb, 0xe0,0xbe,0xe0,
+0x4, 0x28,0xca,0x6c,0xee,0x80,0x3b,0x7e,0xa3,0x6, 0x4d,0x4c,0xaa,0x68,0x19,0xbe,
+0xa0,0x1, 0x78,0x7, 0xa, 0x3e,0x12,0x1b,0xca,0x70,0xd, 0xbe,0xa0,0x3, 0x78,0x20,
+0xa, 0x3e,0x9, 0xb3,0xa, 0x8d,0x60,0x18,0x74,0x2, 0xac,0xbe,0x49,0x35,0x9, 0xfd,
+0x59,0x35,0x5, 0x34,0x74,0x2, 0xac,0xbe,0x49,0x35,0x9, 0xfd,0x59,0x35,0x5, 0x90,
+0xb, 0xe0,0x7e,0x73,0x6, 0xc8,0xbc,0x7e,0x38,0xbd,0xda,0x79,0x22,0x12,0x1e,0xf7,
+0x7a,0xb3,0x3, 0x34,0x12,0x1f,0xd3,0x2, 0x1b,0xd2,0x7e,0x34,0x0, 0x24,0x12,0x4f,
+0x3, 0xbe,0xb0,0x1, 0x68,0x8, 0x80,0xfe,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,
+0x47,0x50,0xf7,0xa9,0xc3,0xea,0x6d,0x11,0x7e,0x44,0x12,0x0, 0x1b,0x48,0x10,0x7e,
+0x53,0x6, 0xc9,0x7c,0xb5,0x54,0x1, 0xa, 0x5b,0x12,0x1e,0xc9,0x7c,0x75,0x1e,0x70,
+0x5e,0x70,0x3, 0xa, 0x57,0x3e,0x54,0x3e,0x54,0x3e,0x54,0x12,0x1e,0xc5,0x7e,0x63,
+0x6, 0xca,0x7c,0xb6,0x54,0x1, 0x12,0x1e,0xd4,0x12,0x1e,0xc9,0x7c,0xb6,0x1e,0xb0,
+0x54,0x3, 0x12,0x1e,0xd4,0x12,0x1e,0xc5,0x7c,0xb6,0x12,0x17,0x76,0x12,0x1e,0xcb,
+0x7e,0x54,0x13,0x14,0xb, 0x58,0x0, 0x6c,0x0, 0x12,0x1e,0xbe,0x5e,0x10,0xbf,0x12,
+0x1e,0xbe,0x4e,0x10,0x40,0x12,0x1e,0xbe,0x5e,0x10,0xcf,0x12,0x1e,0xbe,0x4e,0x10,
+0x10,0x12,0x1e,0xbe,0x5e,0x10,0xfc,0x12,0x1e,0xbe,0xa5,0xbf,0x0, 0x5, 0x4e,0x10,
+0x1, 0x80,0x3, 0x4e,0x10,0x3, 0x1b,0x58,0x0, 0x7e,0x44,0x12,0x2, 0x1b,0x48,0x10,
+0x7e,0x43,0x6, 0xc8,0xa, 0x54,0x7c,0xab,0xe4,0x12,0x1e,0xcb,0x7e,0xa3,0x6, 0xcb,
+0x7c,0xba,0x23,0x54,0x1, 0xa, 0xfb,0xb, 0x48,0x0, 0x4d,0xf, 0x1b,0x48,0x0, 0x7c,
+0xba,0x30,0xe6,0xe, 0x7c,0xb5,0x30,0xe0,0x9, 0xb, 0x48,0x20,0x4e,0x50,0x8, 0x1b,
+0x48,0x20,0x7c,0xb6,0x30,0xe6,0x12,0xb, 0x48,0x0, 0x4e,0x10,0x20,0x1b,0x48,0x0,
+0xb, 0x48,0x0, 0x4e,0x10,0x10,0x1b,0x48,0x0, 0x7e,0x24,0x12,0x4, 0xb, 0x28,0x0,
+0x5e,0x0, 0x7f,0x1b,0x28,0x0, 0xb, 0x28,0x0, 0x4e,0x0, 0x80,0x1b,0x28,0x0, 0x7e,
+0x24,0x13,0x1e,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xce,0x12,0x1e,0xb1,0x7e,0x63,0x6,
+0xd1,0xa, 0x46,0x12,0x1e,0xb5,0x7e,0x24,0x12,0x8, 0x1b,0x28,0x10,0x7e,0x63,0x6,
+0xcc,0xa, 0x46,0x12,0x1e,0xb5,0x7e,0x63,0x6, 0xcd,0x12,0x1e,0xb1,0x7e,0x24,0x13,
+0x20,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xcf,0xa, 0x46,0x12,0x1e,0xb5,0x7e,0x63,0x6,
+0xd0,0x12,0x1e,0xb1,0x7e,0x24,0x13,0x22,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xd2,0xa,
+0x46,0x12,0x1e,0xb5,0x7e,0x63,0x6, 0xd3,0x12,0x1e,0xb1,0x7e,0x4, 0x12,0xa, 0x1b,
+0x8, 0x10,0xa5,0xbf,0x0, 0x8, 0xb, 0x8, 0x10,0x4e,0x20,0x1, 0x80,0x1b,0xa5,0xbf,
+0x1, 0x8, 0xb, 0x8, 0x10,0x4e,0x20,0x11,0x80,0xf, 0xb, 0x8, 0x10,0xa5,0xbf,0x2,
+0x5, 0x4e,0x20,0x33,0x80,0x3, 0x4e,0x20,0xff,0x1b,0x8, 0x10,0x7c,0xba,0x1e,0xb0,
+0x54,0x3, 0xa, 0x3b,0xb, 0x8, 0x10,0x4d,0x13,0x1b,0x8, 0x10,0x12,0x4f,0x26,0xb,
+0x8, 0x10,0x5e,0x30,0xfb,0x1b,0x8, 0x10,0xb, 0x8, 0x30,0x4e,0x70,0x4, 0x1b,0x8,
+0x30,0x7e,0x73,0x6, 0xd4,0xa, 0x27,0x7e,0x34,0x13,0x10,0x1b,0x38,0x20,0x12,0x4f,
+0x8f,0x7e,0xb3,0x6, 0xca,0x1e,0xb0,0x54,0x3, 0xbe,0xb0,0x1, 0x68,0x3, 0xb4,0x2,
+0xb, 0x7e,0x27,0x6, 0xc4,0x7e,0x34,0x13,0x12,0x1b,0x38,0x20,0x74,0x2, 0x7a,0xb3,
+0x6, 0xda,0xd2,0x8e,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x7e,0xb3,0x6, 0xda,0x70,0xf6,
+0x22,0x7c,0x86,0x6c,0x99,0xb, 0x28,0x0, 0x4d,0x4, 0x1b,0x28,0x0, 0x22,0x1b,0x58,
+0x0, 0xb, 0x58,0x0, 0x22,0x3e,0x54,0x3e,0x54,0x3e,0x54,0xb, 0x48,0x0, 0x4d,0x5,
+0x1b,0x48,0x0, 0x22,0xa, 0xb, 0x7d,0x50,0x7c,0xab,0xe4,0x22,0xa, 0x4b,0x7d,0x24,
+0x7d,0xf4,0x1a,0x24,0x1a,0xe4,0xbf,0x7, 0x22,0x7e,0x70,0x4, 0xac,0x7a,0x49,0x13,
+0x3, 0x5e,0x49,0x3, 0x3, 0x5c,0x22,0x12,0x1c,0xba,0x7e,0xb3,0x3, 0x34,0x54,0x7f,
+0x7a,0xb3,0x3, 0x34,0x12,0x1a,0x67,0x7e,0xb3,0x3, 0x34,0x44,0x80,0x22,0xca,0x79,
+0x6d,0x77,0x7a,0x77,0x2, 0xd0,0x7e,0x34,0x3, 0xe8,0x7a,0x37,0x0, 0x74,0x12,0x1f,
+0xb1,0x12,0x1e,0xfa,0x7a,0xb3,0x3, 0x34,0x12,0x1b,0xd2,0x7a,0x77,0x2, 0xd0,0x7e,
+0x34,0x0, 0x64,0x7a,0x37,0x0, 0x74,0xda,0x79,0x22,0xe5,0xa, 0x30,0xe0,0x1a,0x7e,
+0xb3,0x3, 0x34,0x12,0x22,0xa9,0x7e,0xb3,0x3, 0x34,0x12,0x20,0x11,0x12,0x1e,0xf7,
+0x7a,0xb3,0x3, 0x34,0x53,0xa, 0xfc,0x80,0xb, 0xe5,0xa, 0x30,0xe1,0x6, 0x12,0x1f,
+0x7c,0x53,0xa, 0xfd,0xe5,0xa, 0x30,0xe2,0x12,0x53,0xca,0xf1,0x7e,0x73,0x3, 0x41,
+0xa, 0x37,0x3e,0x34,0x7c,0xb7,0x42,0xca,0x53,0xa, 0xfb,0x22,0x12,0x1f,0xe8,0x80,
+0x2a,0xa, 0x2a,0x9, 0x32,0x6, 0x96,0x7e,0x50,0x2, 0xac,0x53,0x2d,0x23,0xb, 0x28,
+0x20,0x7e,0xb3,0x6, 0x4d,0x60,0x7, 0xa, 0x13,0x12,0x1f,0xf1,0x60,0xb, 0xa, 0x1a,
+0x3e,0x14,0x2e,0x14,0x12,0x14,0x1b,0x18,0x20,0xb, 0xa0,0x12,0x18,0x61,0x38,0xd1,
+0x22,0x7e,0xb3,0x6, 0xd7,0x54,0xfe,0x7a,0xb3,0x6, 0xd7,0x22,0x74,0x4, 0xac,0xbf,
+0x49,0x35,0x3, 0x5e,0x22,0x7e,0x24,0x12,0x0, 0xb, 0x28,0x30,0x5e,0x60,0x1f,0x1b,
+0x28,0x30,0x22,0x74,0x10,0x7a,0xb3,0xb, 0x84,0x74,0x83,0x7a,0xb3,0xb, 0x85,0xe4,
+0x6c,0xaa,0x12,0x44,0x6a,0x40,0xfb,0x22,0x7e,0x37,0x6, 0xd8,0x6c,0xaa,0x22,0xa,
+0x15,0x2e,0x17,0x6, 0x4e,0x7e,0x19,0xb0,0x22,0x7e,0xb3,0x6, 0x67,0x44,0x4, 0x7a,
+0xb3,0x6, 0x67,0x12,0x15,0xa, 0x7e,0xb3,0x6, 0x67,0x54,0xfb,0x7a,0xb3,0x6, 0x67,
+0x22,0x7c,0xab,0x9f,0x11,0x7a,0x1f,0x5, 0x30,0x74,0xb, 0x7a,0xb3,0x6, 0xf, 0x74,
+0x2, 0x7a,0xb3,0x6, 0x44,0x7a,0xb3,0x6, 0x43,0x74,0xf, 0x7a,0xb3,0x6, 0x45,0x74,
+0x2, 0x7a,0xb3,0x6, 0x47,0x7a,0xb3,0x6, 0x46,0x74,0xf, 0x7a,0xb3,0x6, 0x48,0x7e,
+0x34,0x0, 0x32,0x7a,0x37,0x5, 0xec,0x12,0x21,0x5a,0x74,0xa, 0x7a,0xb3,0x6, 0x10,
+0x7e,0xb3,0x6, 0x67,0x44,0x40,0x7a,0xb3,0x6, 0x67,0x54,0x7f,0x7a,0xb3,0x6, 0x67,
+0x5e,0xa0,0x7f,0xbe,0xa0,0x1, 0x68,0x7, 0xbe,0xa0,0x2, 0x78,0x2, 0x80,0x0, 0x12,
+0x21,0x5a,0x7e,0xa3,0x6, 0x67,0x7c,0xba,0x30,0xe0,0x12,0x74,0x1, 0x7a,0xb3,0x6,
+0x11,0x74,0x3, 0x7a,0xb3,0x6, 0x12,0x7a,0xb3,0x6, 0x13,0x80,0xe, 0x74,0x1, 0x7a,
+0xb3,0x6, 0x12,0x7a,0xb3,0x6, 0x13,0x7a,0xb3,0x6, 0x11,0x74,0xa, 0x7a,0xb3,0x6,
+0x66,0x7a,0xb3,0x6, 0x14,0x7e,0x24,0x2a,0xf8,0x7a,0x27,0x5, 0xf0,0x7c,0xba,0x54,
+0xfd,0x7a,0xb3,0x6, 0x67,0x7e,0x24,0xfc,0xe0,0x7a,0x27,0x5, 0xee,0x12,0x20,0x6,
+0x7a,0x37,0x5, 0xf2,0x7e,0x34,0x5, 0xdc,0x7a,0x37,0x5, 0xf4,0x7e,0x34,0xf, 0xa0,
+0x7a,0x37,0x5, 0xf6,0x7e,0xb3,0x6, 0x67,0x54,0xf7,0x7a,0xb3,0x6, 0x67,0x54,0xef,
+0x7a,0xb3,0x6, 0x67,0x7e,0x34,0x0, 0xc7,0x7a,0x37,0x5, 0xf8,0x7e,0x34,0x0, 0xa0,
+0x7a,0x37,0x5, 0xfa,0xe4,0x7a,0xb3,0x6, 0x49,0x7a,0xb3,0x6, 0x4a,0x7a,0x37,0x6,
+0x4b,0x7e,0x34,0x0, 0x31,0x7a,0x37,0x5, 0xfc,0x7e,0x34,0x1, 0x5c,0x7a,0x37,0x5,
+0xfe,0x12,0x5b,0x35,0x7e,0x34,0x0, 0x9, 0x7a,0x37,0x6, 0x2, 0x7e,0x34,0x0, 0x8,
+0x7a,0x37,0x6, 0x0, 0x7e,0x34,0x0, 0x1a,0x7a,0x37,0x6, 0x4, 0x7e,0x34,0x6, 0x65,
+0x7a,0x37,0x6, 0x6, 0x7e,0x34,0x32,0x44,0x7a,0x37,0x6, 0x8, 0x7e,0x34,0x26,0xf2,
+0x7a,0x37,0x6, 0xc, 0x7e,0x34,0x2f,0xfa,0x7a,0x37,0x6, 0xa, 0xe4,0x7a,0xb3,0x6,
+0x4d,0x7e,0x34,0xa, 0xd1,0x7a,0x37,0x6, 0x4e,0x22,0x7e,0xb3,0x6, 0x67,0x54,0xfe,
+0x7a,0xb3,0x6, 0x67,0x22,0x12,0x38,0xe2,0x12,0x4d,0x90,0x12,0x26,0xa7,0x12,0x4a,
+0x8c,0x12,0x57,0xfc,0x12,0x38,0xf1,0x12,0x4a,0xd8,0xe4,0x12,0x22,0xa9,0xe4,0x12,
+0x20,0x11,0x12,0x1c,0xad,0x74,0x1, 0x7a,0xb3,0xb, 0x9f,0x7e,0xb3,0xb, 0x9f,0x24,
+0xfd,0x68,0x11,0x24,0xae,0x68,0x32,0x24,0xab,0x68,0xe, 0x24,0xa9,0x78,0xec,0x12,
+0x11,0x6d,0x80,0xe7,0x12,0x38,0x60,0x80,0xe2,0x12,0x21,0xf2,0x7e,0x24,0x1, 0xf4,
+0x7a,0x27,0x0, 0x74,0x7e,0xb3,0x2, 0xd2,0xbe,0xb0,0xaa,0x68,0xce,0x7a,0x37,0x0,
+0x9c,0x74,0xaa,0x7a,0xb3,0x2, 0xd2,0x80,0xc2,0x12,0x21,0xf2,0x7e,0x34,0x1, 0xf4,
+0x7a,0x37,0x0, 0x74,0x7e,0xb3,0x2, 0xd2,0xb4,0xaa,0xb0,0x74,0x55,0x7a,0xb3,0x2,
+0xd2,0x7e,0x74,0x3, 0xe8,0x7d,0x37,0x1b,0x74,0x4d,0x33,0x78,0xf8,0x75,0xe9,0xff,
+0x80,0x99,0x6d,0x33,0x7a,0x37,0x2, 0xd0,0x22,0x7e,0x4, 0x0, 0x76,0x6d,0x11,0xe4,
+0x7a,0x9, 0xb0,0xb, 0x4, 0xb, 0x14,0xbe,0x14,0x0, 0x1c,0x78,0xf2,0x7e,0x4, 0x2,
+0xb6,0x6d,0x11,0xe4,0x7a,0x9, 0xb0,0xb, 0x4, 0xb, 0x14,0xbe,0x14,0x0, 0x17,0x78,
+0xf2,0x6d,0x11,0x12,0x22,0x90,0x2e,0x34,0x0, 0x7a,0x12,0x22,0x8d,0x2e,0x34,0x2,
+0xb6,0x12,0x22,0x8d,0x2e,0x34,0x2, 0xc0,0x12,0x22,0x97,0xb, 0x14,0xbe,0x14,0x0,
+0x2, 0x40,0xe0,0x74,0x2, 0x7a,0xb3,0x0, 0x68,0x74,0xa, 0x7a,0xb3,0x0, 0x69,0x7e,
+0x34,0x0, 0xc7,0x7a,0x37,0x0, 0x6a,0x7e,0x34,0x0, 0xc6,0x7a,0x37,0x0, 0x6c,0x7e,
+0x34,0x0, 0x31,0x7a,0x37,0x0, 0x70,0xc2,0x4, 0x75,0xd, 0x0, 0x75,0x1a,0x0, 0xc2,
+0x5, 0x75,0xb, 0x0, 0x12,0x21,0xf2,0x7e,0x24,0x7, 0xd0,0x7a,0x27,0x0, 0x74,0x7a,
+0x37,0x0, 0x9c,0xe4,0x7a,0xb3,0x2, 0xd2,0x7a,0xb3,0xb, 0x37,0x22,0x12,0x22,0x97,
+0x7e,0x34,0x0, 0x5, 0xad,0x31,0x22,0x7e,0x24,0x7f,0xff,0x1b,0x38,0x20,0x59,0x23,
+0x0, 0x2, 0x74,0xff,0x19,0xb3,0x0, 0x4, 0x22,0xca,0xf8,0x7c,0xfb,0x74,0x16,0x7a,
+0xb3,0x6, 0xc6,0xe4,0x7a,0xb3,0x6, 0xc7,0x74,0x16,0x7a,0xb3,0x6, 0xc8,0x74,0x30,
+0x7a,0xb3,0x6, 0xd4,0x7e,0xb3,0x6, 0xcb,0x54,0xbf,0x7a,0xb3,0x6, 0xcb,0x54,0x7f,
+0x7a,0xb3,0x6, 0xcb,0x54,0xf9,0x7a,0xb3,0x6, 0xcb,0x7e,0xb3,0x6, 0xca,0x54,0xbf,
+0x7a,0xb3,0x6, 0xca,0x7e,0xb3,0x6, 0xd7,0x44,0x4, 0x7a,0xb3,0x6, 0xd7,0x74,0x15,
+0x7a,0xb3,0x6, 0xd5,0x7e,0xb3,0x6, 0xca,0x54,0x7f,0x7a,0xb3,0x6, 0xca,0x7e,0xb3,
+0x6, 0xcb,0x54,0xfe,0x7a,0xb3,0x6, 0xcb,0x7e,0x34,0x4, 0xc5,0x7e,0x24,0x6, 0x68,
+0x74,0x16,0x7e,0x30,0x97,0x12,0x23,0xe5,0x6c,0x77,0x80,0x8, 0xa, 0x27,0x19,0x72,
+0x6, 0x96,0xb, 0x70,0x7e,0x63,0x6, 0xc8,0xbc,0x67,0x38,0xf0,0x7e,0xb3,0x6, 0xc9,
+0x44,0x1, 0x7a,0xb3,0x6, 0xc9,0x5e,0xf0,0x7f,0xbe,0xf0,0x1, 0x78,0xe, 0x7e,0xb3,
+0x6, 0xc9,0x12,0x26,0x8b,0x44,0x8, 0x12,0x26,0x98,0x80,0x38,0xbe,0xf0,0x2, 0x7e,
+0xb3,0x6, 0xc9,0x78,0x8, 0x12,0x26,0x8b,0x12,0x26,0x98,0x80,0x27,0x44,0x6, 0x12,
+0x26,0x8d,0x44,0x18,0x7a,0xb3,0x6, 0xcb,0x7e,0x63,0x3, 0x35,0x5e,0x60,0x7, 0x7c,
+0xb6,0xc4,0x3, 0x54,0xf8,0x7c,0x6b,0x7e,0x73,0x6, 0xca,0x5e,0x70,0xc7,0x4c,0x76,
+0x7a,0x73,0x6, 0xca,0xe4,0x7a,0xb3,0x6, 0xd6,0x7e,0xb3,0x6, 0xca,0x54,0xfe,0x7a,
+0xb3,0x6, 0xca,0x44,0x6, 0x7a,0xb3,0x6, 0xca,0x7e,0x73,0x3, 0x38,0x7a,0x73,0x6,
+0xcc,0x7e,0x73,0x3, 0x39,0x7a,0x73,0x6, 0xcd,0x7e,0x73,0x3, 0x36,0x7a,0x73,0x6,
+0xce,0x7e,0x73,0x3, 0x3a,0x7a,0x73,0x6, 0xcf,0x7e,0x73,0x3, 0x3b,0x7a,0x73,0x6,
+0xd0,0x7e,0x73,0x3, 0x37,0x7a,0x73,0x6, 0xd1,0x7e,0x73,0x3, 0x3c,0x7a,0x73,0x6,
+0xd2,0x7e,0x73,0x3, 0x3d,0x7a,0x73,0x6, 0xd3,0x12,0x1f,0xb1,0x54,0xfd,0x7a,0xb3,
+0x6, 0xd7,0xda,0xf8,0x22,0x7c,0x23,0x7c,0x3b,0x7d,0x43,0x7c,0xb2,0x24,0x6a,0xbe,
+0xb0,0x9, 0x40,0x2, 0xc1,0x51,0x7e,0xa0,0x3, 0xa4,0x90,0x23,0xfe,0x73,0x2, 0x24,
+0x19,0x2, 0x24,0xce,0x2, 0x25,0x4, 0x2, 0x25,0x3a,0x2, 0x26,0x1b,0x2, 0x26,0x51,
+0x2, 0x25,0x70,0x2, 0x25,0xa0,0x2, 0x25,0xd0,0x6c,0x77,0x81,0xc7,0x12,0x26,0x7a,
+0xbe,0xb0,0x12,0x40,0x2, 0x81,0xc2,0x7e,0xa0,0x3, 0xa4,0x90,0x24,0x2f,0x73,0x2,
+0x24,0x65,0x2, 0x24,0x6a,0x2, 0x24,0x6f,0x2, 0x24,0x74,0x2, 0x24,0x79,0x2, 0x24,
+0x7e,0x2, 0x24,0x83,0x2, 0x24,0x88,0x2, 0x24,0x8d,0x2, 0x24,0x92,0x2, 0x24,0x97,
+0x2, 0x24,0x9c,0x2, 0x24,0xa1,0x2, 0x24,0xa6,0x2, 0x24,0xab,0x2, 0x24,0xb0,0x2,
+0x24,0xb5,0x2, 0x24,0xba,0x7e,0x20,0x4, 0x80,0x53,0x7e,0x20,0x6, 0x80,0x4e,0x7e,
+0x20,0x7, 0x80,0x49,0x7e,0x20,0x5, 0x80,0x44,0x7e,0x20,0xe, 0x80,0x3f,0x7e,0x20,
+0x8, 0x80,0x3a,0x7e,0x20,0xf, 0x80,0x35,0x7e,0x20,0x10,0x80,0x30,0x7e,0x20,0x11,
+0x80,0x2b,0x7e,0x20,0x12,0x80,0x26,0x7e,0x20,0x17,0x80,0x21,0x7e,0x20,0x1a,0x80,
+0x1c,0x7e,0x20,0x18,0x80,0x17,0x7e,0x20,0x1b,0x80,0x12,0x7e,0x20,0x21,0x80,0xd,
+0x7e,0x20,0x20,0x80,0x8, 0x7e,0x20,0x1f,0x80,0x3, 0x7e,0x20,0x19,0x12,0x26,0x6a,
+0x80,0x3, 0x12,0x26,0x72,0xb, 0x70,0xbc,0x37,0x28,0x2, 0x81,0x1d,0x22,0x6c,0x77,
+0x80,0x2d,0x12,0x26,0x7a,0xbe,0x60,0x7, 0x40,0x10,0xbe,0x60,0xe, 0x38,0xb, 0xa,
+0x56,0x2e,0x54,0x0, 0x13,0x12,0x26,0x68,0x80,0x13,0xbe,0x60,0xf, 0x40,0xb, 0xa,
+0x56,0x2e,0x54,0x0, 0x29,0x12,0x26,0x68,0x80,0x3, 0x12,0x26,0x72,0xb, 0x70,0xbc,
+0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x2d,0x12,0x26,0x7a,0xbe,0x60,0x9, 0x40,0x10,
+0xbe,0x60,0x12,0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x10,0x12,0x26,0x68,0x80,0x13,
+0xbe,0x60,0x13,0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x23,0x12,0x26,0x68,0x80,0x3,
+0x12,0x26,0x72,0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x2d,0x12,0x26,
+0x7a,0xbe,0x60,0xd, 0x40,0x10,0xbe,0x60,0x18,0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0xb, 0x12,0x26,0x68,0x80,0x13,0xbe,0x60,0x19,0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0x1b,0x12,0x26,0x68,0x80,0x3, 0x12,0x26,0x72,0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,
+0x6c,0x77,0x80,0x27,0x12,0x26,0x7a,0xbe,0x60,0xe, 0x40,0xa, 0xbe,0x60,0x19,0x38,
+0x5, 0x12,0x26,0x62,0x80,0x13,0xbe,0x60,0x1a,0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0x19,0x12,0x26,0x68,0x80,0x3, 0x12,0x26,0x72,0xb, 0x70,0xbc,0x37,0x38,0xd5,0x22,
+0x6c,0x77,0x80,0x27,0x12,0x26,0x7a,0xbe,0x60,0xe, 0x40,0xa, 0xbe,0x60,0x19,0x38,
+0x5, 0x12,0x26,0x62,0x80,0x13,0xbe,0x60,0x1a,0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0x18,0x12,0x26,0x68,0x80,0x3, 0x12,0x26,0x72,0xb, 0x70,0xbc,0x37,0x38,0xd5,0x22,
+0x6c,0x77,0x80,0x42,0x12,0x26,0x7a,0xbe,0x60,0x0, 0x40,0x10,0xbe,0x60,0xd, 0x38,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x3, 0x12,0x26,0x68,0x80,0x28,0xbe,0x60,0xe, 0x40,
+0x10,0xbe,0x60,0x1b,0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x9, 0x12,0x26,0x68,0x80,
+0x13,0xbe,0x60,0x1c,0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x15,0x12,0x26,0x68,0x80,
+0x3, 0x12,0x26,0x72,0xb, 0x70,0xbc,0x37,0x38,0xba,0x22,0x6c,0x77,0x80,0x2d,0x12,
+0x26,0x7a,0xbe,0x60,0x11,0x40,0x10,0xbe,0x60,0x1e,0x38,0xb, 0xa, 0x56,0x2e,0x54,
+0x0, 0x6, 0x12,0x26,0x68,0x80,0x13,0xbe,0x60,0x1f,0x40,0xb, 0xa, 0x56,0x2e,0x54,
+0x0, 0x11,0x12,0x26,0x68,0x80,0x3, 0x12,0x26,0x72,0xb, 0x70,0xbc,0x37,0x38,0xcf,
+0x22,0x6c,0x77,0x80,0x8, 0x12,0x26,0x7a,0x12,0x26,0x72,0xb, 0x70,0xbc,0x37,0x38,
+0xf4,0x22,0xa, 0x56,0x2e,0x54,0x0, 0xa, 0x7c,0x2b,0x7d,0x50,0x2d,0x52,0x7a,0x59,
+0x20,0x22,0x7d,0x50,0x2d,0x52,0x7a,0x59,0x60,0x22,0xa, 0x7, 0x7d,0x50,0x2d,0x54,
+0x7a,0xb1,0x82,0x7a,0xa1,0x83,0xe4,0x93,0x7c,0x6b,0x22,0x54,0xf9,0x7a,0xb3,0x6,
+0xc9,0x7e,0xb3,0x6, 0xcb,0x54,0xc7,0x22,0x7a,0xb3,0x6, 0xcb,0x7e,0xb3,0x6, 0xca,
+0x54,0xc7,0x7a,0xb3,0x6, 0xca,0x22,0xe4,0x7a,0xb3,0xc, 0xd6,0x12,0x4c,0x8e,0x2,
+0x26,0xb2,0xca,0xf8,0xe4,0x12,0x3f,0xb2,0x78,0x5, 0x12,0x27,0x57,0x80,0x12,0xbe,
+0xf0,0x4, 0x78,0x5, 0x12,0x27,0x2e,0x80,0x8, 0xbe,0xf0,0x1, 0x78,0x3, 0x12,0x3f,
+0xf5,0x75,0x91,0x0, 0xe4,0x7a,0xb3,0xc, 0xd2,0x7a,0xb3,0xc, 0xd1,0x74,0xaa,0x7a,
+0xb3,0xc, 0xac,0x7a,0xb3,0xc, 0xad,0x7a,0xb3,0xc, 0xbe,0x7a,0xb3,0xc, 0xbf,0xda,
+0xf8,0x22,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0x34,0x6c,0xaa,0x80,0x28,0xa, 0x3a,0x9,
+0x73,0x6, 0x96,0x7e,0xb3,0x6, 0xd7,0x30,0xe0,0x19,0x7e,0x50,0x4, 0xac,0x57,0x49,
+0xf2,0x3, 0x5e,0x49,0xe2,0x3, 0x5c,0x7e,0x17,0x5, 0xee,0x12,0x7, 0x7d,0x58,0x3,
+0x12,0x32,0x17,0xb, 0xa0,0x7e,0x63,0x6, 0xc8,0xbc,0x6a,0x38,0xd0,0x22,0x7e,0xb3,
+0xc, 0xd8,0x12,0x27,0x38,0xf5,0x91,0x22,0x7c,0xab,0x24,0x0, 0x78,0x5, 0x7e,0xb3,
+0xc, 0xd6,0x22,0xbe,0xa0,0xaf,0x38,0xc, 0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x5, 0x7c,
+0xba,0x2, 0x39,0x5, 0x7c,0xba,0x22,0x7e,0xb3,0xc, 0xd8,0x12,0x3f,0x2f,0xf5,0x91,
+0x22,0x12,0x21,0xf2,0x7e,0x34,0x3, 0xe8,0x7a,0x37,0x0, 0x74,0x2, 0x27,0x6f,0x7e,
+0x34,0xb, 0x63,0x7e,0xb3,0xb, 0xc2,0x20,0xe0,0x3, 0x2, 0x28,0x2f,0x54,0xfe,0x7a,
+0xb3,0xb, 0xc2,0x7e,0x39,0x50,0x7a,0x53,0x3, 0x4b,0x12,0x5a,0xe0,0x3e,0x24,0x3e,
+0x24,0x7a,0x27,0x3, 0x49,0xbe,0x24,0x2, 0x26,0x50,0x8, 0x7e,0x24,0x2, 0x26,0x7a,
+0x27,0x3, 0x49,0x9, 0x53,0x0, 0x5, 0x7a,0x53,0x0, 0xa0,0x12,0x5a,0xe0,0x7a,0x27,
+0x0, 0x9e,0x9, 0x53,0x0, 0x25,0xa, 0x25,0x7a,0x27,0x0, 0x92,0x9, 0x53,0x0, 0x6,
+0x7a,0x53,0x0, 0x94,0x9, 0x53,0x0, 0x8, 0x7a,0x53,0x0, 0x96,0xbe,0x50,0xf, 0x40,
+0x6, 0x74,0xe, 0x19,0xb3,0x0, 0x8, 0x9, 0x53,0x0, 0x8, 0xa, 0x25,0x2e,0x24,0x4,
+0xfb,0x7a,0x51,0x82,0x7a,0x41,0x83,0xe4,0x93,0x7a,0xb3,0x0, 0x95,0x9, 0x53,0x0,
+0x9, 0x7a,0x53,0x0, 0x98,0x7a,0x53,0x0, 0x97,0x9, 0x53,0x0, 0x24,0x7a,0x53,0x0,
+0x9a,0x9, 0x53,0x0, 0x2d,0x7a,0x53,0xd, 0x3f,0x9, 0xb3,0x0, 0x2e,0x7a,0xb3,0x3,
+0x34,0xb4,0x1, 0x5, 0xe4,0x7a,0xb3,0x3, 0x34,0x7e,0xa3,0xb, 0xb3,0xbe,0xa3,0x0,
+0xa1,0x68,0xc, 0x4c,0xaa,0x74,0x5, 0x7a,0xb3,0x0, 0x99,0x7a,0xa3,0x0, 0xa1,0x22,
+0x9f,0x11,0x7a,0x1f,0x5, 0x28,0x7a,0x1f,0x5, 0x2c,0x6c,0xaa,0x12,0x28,0x5b,0x7e,
+0x7f,0x5, 0x28,0xbf,0x71,0x58,0x4, 0x7a,0x1f,0x5, 0x28,0xb, 0xa0,0xbe,0xa0,0x16,
+0x40,0xea,0x7e,0x1f,0x5, 0x28,0x7a,0x1f,0x5, 0x2c,0x22,0x7e,0x30,0x4, 0xac,0x3a,
+0x49,0x31,0x3, 0x5e,0x49,0x21,0x3, 0x5c,0x22,0x6c,0xaa,0xa, 0x3a,0x12,0x2f,0x3d,
+0x7c,0x3b,0xbe,0x30,0x16,0x50,0x9, 0x74,0x4, 0xac,0x3b,0x12,0x28,0x60,0x80,0x2,
+0x9f,0x11,0x7e,0x30,0x4, 0xac,0x3a,0x59,0x31,0x9, 0x6f,0x59,0x21,0x9, 0x6d,0xb,
+0xa0,0xbe,0xa0,0x24,0x40,0xd5,0x7e,0x1f,0x9, 0x85,0x7a,0x1d,0x2a,0x75,0x2f,0x0,
+0x7e,0x34,0x9, 0x85,0x7a,0x35,0x30,0x7e,0x34,0x9, 0x9d,0x7a,0x35,0x32,0x7e,0x1f,
+0x9, 0x89,0x7e,0xf, 0x9, 0xa1,0xe4,0x12,0x29,0x64,0x7e,0x1f,0x9, 0x99,0x7a,0x1d,
+0x2a,0x75,0x2f,0x1, 0x7e,0x34,0x9, 0x99,0x7a,0x35,0x30,0x7e,0x34,0x9, 0xb1,0x7a,
+0x35,0x32,0x7e,0x1f,0x9, 0x95,0x7e,0xf, 0x9, 0xad,0xe4,0x12,0x29,0x64,0x7e,0x1f,
+0x9, 0xb5,0x7a,0x1d,0x2a,0x75,0x2f,0x0, 0x7e,0x34,0x9, 0xb5,0x7a,0x35,0x30,0x7e,
+0x34,0x9, 0xcd,0x7a,0x35,0x32,0x7e,0x1f,0x9, 0xb9,0x7e,0xf, 0x9, 0xd1,0x74,0x1,
+0x12,0x29,0x64,0x7e,0x1f,0x9, 0xc9,0x7a,0x1d,0x2a,0x75,0x2f,0x1, 0x7e,0x34,0x9,
+0xc9,0x7a,0x35,0x30,0x7e,0x34,0x9, 0xe1,0x7a,0x35,0x32,0x7e,0x1f,0x9, 0xc5,0x7e,
+0xf, 0x9, 0xdd,0x74,0x1, 0x12,0x29,0x64,0xe4,0x12,0x29,0xe0,0x74,0x1, 0x12,0x29,
+0xe0,0x7e,0x34,0x9, 0x89,0x12,0x2f,0x19,0x7e,0x34,0x9, 0xd1,0x12,0x2f,0x19,0x7e,
+0x34,0x9, 0x95,0x12,0x29,0x4d,0x7e,0x34,0x9, 0xdd,0x2, 0x29,0x4d,0x12,0x2f,0x9c,
+0xe5,0x14,0xa, 0x1b,0x6d,0x0, 0x12,0x2f,0x2e,0x2, 0x29,0x5c,0x59,0x3f,0x0, 0x2,
+0x1b,0xf8,0x20,0x22,0xca,0x3b,0xf5,0x2e,0x7a,0xd, 0x26,0x7a,0x1d,0x22,0x7e,0x7d,
+0x2a,0xbe,0x78,0x0, 0x32,0x8, 0x56,0xe5,0x2f,0x70,0x4, 0xe5,0x15,0x80,0x2, 0xe5,
+0x10,0x12,0x2f,0x28,0x7a,0x1d,0x2a,0x7e,0x1d,0x26,0x12,0x2b,0x2f,0x7f,0x31,0x7e,
+0x1d,0x22,0x12,0x2b,0x2f,0x2f,0x31,0x78,0x1a,0xe5,0x2e,0x60,0xb, 0x12,0x2f,0x7d,
+0x12,0x29,0xd0,0x12,0x2f,0x52,0x80,0x1a,0x12,0x2f,0x52,0x12,0x29,0xd0,0x12,0x2f,
+0x7d,0x80,0xf, 0x7e,0x1d,0x22,0x12,0x2c,0xaf,0x12,0x29,0xd0,0x7e,0x1d,0x26,0x12,
+0x2c,0xaf,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x32,0x12,0x29,0xd8,0xda,0x3b,0x22,
+0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x30,0x59,0x13,0x0, 0x2, 0x1b,0x38,0x0, 0x22,
+0xca,0x3b,0x70,0x48,0x7e,0x1f,0x9, 0x89,0x7a,0x1f,0x9, 0xfd,0x7e,0x1f,0x9, 0x8d,
+0x7a,0x1f,0xa, 0x1, 0x7e,0x1f,0x9, 0x91,0x7a,0x1f,0xa, 0x5, 0x7e,0x1f,0x9, 0x95,
+0x7a,0x1f,0xa, 0x9, 0x7e,0x34,0x9, 0x71,0x7a,0x35,0x22,0x7e,0x34,0x9, 0x75,0x7a,
+0x35,0x24,0x7e,0x34,0x9, 0x79,0x7a,0x35,0x26,0x7e,0x34,0x9, 0x7d,0x7a,0x35,0x28,
+0xe5,0x8, 0xa, 0x1b,0x6d,0x0, 0x7e,0x1f,0x9, 0x71,0x80,0x46,0x7e,0x1f,0x9, 0xd1,
+0x7a,0x1f,0x9, 0xfd,0x7e,0x1f,0x9, 0xd5,0x7a,0x1f,0xa, 0x1, 0x7e,0x1f,0x9, 0xd9,
+0x7a,0x1f,0xa, 0x5, 0x7e,0x1f,0x9, 0xdd,0x7a,0x1f,0xa, 0x9, 0x7e,0x34,0x9, 0xe9,
+0x7a,0x35,0x22,0x7e,0x34,0x9, 0xed,0x7a,0x35,0x24,0x7e,0x34,0x9, 0xf1,0x7a,0x35,
+0x26,0x7e,0x34,0x9, 0xf5,0x7a,0x35,0x28,0xe5,0xf, 0xa, 0x1b,0x6d,0x0, 0x7e,0x1f,
+0x9, 0xe9,0x12,0x2f,0x2e,0x7f,0x31,0xbe,0x38,0x0, 0x32,0x18,0x2, 0x61,0x2c,0x7e,
+0x1f,0x9, 0xfd,0x12,0x2b,0x2f,0x7a,0x1f,0x9, 0xfd,0x7e,0x1f,0xa, 0x1, 0x12,0x2b,
+0x2f,0x7a,0x1f,0xa, 0x1, 0x7e,0x1f,0xa, 0x5, 0x12,0x2b,0x2f,0x12,0x2f,0xf1,0x12,
+0x2b,0x2f,0x7a,0x1f,0xa, 0x9, 0x7e,0x1f,0xa, 0x1, 0x7e,0x6f,0x9, 0xfd,0x2f,0x16,
+0x7e,0x7f,0xa, 0x5, 0x2f,0x71,0x78,0x16,0x7e,0x8, 0x0, 0x8, 0x7f,0x13,0x12,0x4,
+0x59,0x7f,0x1, 0x7e,0x35,0x22,0x12,0x29,0xd8,0x12,0x2f,0xa6,0x80,0x10,0x12,0x2f,
+0xb4,0x7e,0x35,0x22,0x12,0x29,0xd8,0x7e,0xf, 0xa, 0x1, 0x12,0x2f,0x8c,0x12,0x4,
+0x59,0x7f,0x1, 0x7e,0x35,0x24,0x12,0x29,0xd8,0x7e,0x6f,0xa, 0x5, 0x7e,0x1f,0xa,
+0x1, 0x2f,0x16,0x7e,0x7f,0xa, 0x9, 0x2f,0x71,0x78,0x16,0x12,0x2f,0xa6,0x12,0x4,
+0x59,0x7f,0x1, 0x7e,0x35,0x26,0x12,0x29,0xd8,0x7e,0x8, 0x0, 0x8, 0x7f,0x13,0x80,
+0x10,0x12,0x2f,0xb4,0x7e,0x35,0x26,0x12,0x29,0xd8,0x7e,0xf, 0xa, 0x9, 0x12,0x2f,
+0x8c,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x28,0x12,0x29,0xd8,0xda,0x3b,0x22,0xbe,
+0x18,0x0, 0x32,0x8, 0x1, 0x22,0x9f,0x11,0x22,0xca,0x79,0x7c,0xe7,0x7c,0xfb,0x74,
+0x4, 0xac,0xbf,0x12,0x2c,0xbf,0x12,0x2f,0x5a,0x68,0xf, 0x74,0x4, 0xac,0xbf,0x49,
+0x35,0x9, 0x57,0x49,0x25,0x9, 0x55,0x12,0x2c,0x9f,0xbe,0xe0,0x5, 0x68,0xf, 0x74,
+0x4, 0xac,0xbf,0x49,0x35,0x9, 0x87,0x49,0x25,0x9, 0x85,0x12,0x2c,0x9f,0x7e,0x1f,
+0xa, 0x15,0xda,0x79,0x22,0xca,0x79,0x7c,0xe7,0x7c,0xfb,0x74,0x4, 0xac,0xbf,0x12,
+0x2c,0xbf,0x12,0x2f,0x5a,0x68,0xf, 0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x6b,0x49,
+0x25,0x9, 0x69,0x12,0x2c,0x9f,0xbe,0xe0,0x5, 0x68,0xf, 0x74,0x4, 0xac,0xbf,0x49,
+0x35,0x9, 0x73,0x49,0x25,0x9, 0x71,0x12,0x2c,0x9f,0x7e,0x1f,0xa, 0x15,0xda,0x79,
+0x22,0xca,0x3b,0x9f,0x11,0x7a,0x1f,0x0, 0xa2,0x6c,0xff,0x81,0x95,0x7c,0x1f,0x2e,
+0x10,0x16,0xa5,0xe7,0x7c,0xeb,0xa, 0x1e,0x7e,0x24,0x0, 0x6, 0x8d,0x12,0x7c,0xd3,
+0xa, 0x3e,0x8d,0x32,0x7c,0xc5,0x12,0x2f,0x64,0x7c,0x7d,0x12,0x2b,0x39,0x7a,0x1f,
+0xa, 0xd, 0x4c,0xcc,0x68,0xc, 0x7c,0xbe,0x14,0x7c,0x7d,0x12,0x2b,0x39,0x7a,0x1f,
+0xa, 0x5, 0xbe,0xc0,0x5, 0x68,0xc, 0x7c,0xbe,0x4, 0x7c,0x7d,0x12,0x2b,0x39,0x7a,
+0x1f,0xa, 0x9, 0xa, 0x1c,0x12,0x2f,0xc3,0xa, 0x1c,0x12,0x2f,0x6f,0xa, 0x1c,0x12,
+0x2f,0xd3,0x7e,0x1f,0x0, 0xa2,0xbf,0x10,0x50,0x8, 0x7e,0x1f,0xa, 0x1, 0x7a,0x1f,
+0x0, 0xa2,0x7e,0x1f,0x9, 0xfd,0x74,0x6, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0xf, 0xa,
+0x1, 0x12,0x2f,0x4a,0x7a,0x37,0xa, 0x11,0x12,0x2f,0x64,0x7c,0xbe,0x7c,0x7c,0x12,
+0x2b,0x75,0x7a,0x1f,0xa, 0xd, 0x4c,0xdd,0x68,0xd, 0x7c,0xbe,0x24,0xfa,0x7c,0x7c,
+0x12,0x2b,0x75,0x7a,0x1f,0xa, 0x5, 0xbe,0xd0,0x5, 0x68,0xd, 0x7c,0xbe,0x24,0x6,
+0x7c,0x7c,0x12,0x2b,0x75,0x7a,0x1f,0xa, 0x9, 0xa, 0x1d,0x12,0x2f,0xc3,0xa, 0x1d,
+0x12,0x2f,0x6f,0xa, 0x1d,0x12,0x2f,0xd3,0x74,0x6, 0x2f,0x11,0x14,0x78,0xfb,0x12,
+0x2f,0x4a,0x7a,0x37,0xa, 0x13,0x7e,0x27,0xa, 0x11,0x74,0x5, 0xac,0xbf,0x59,0x25,
+0x0, 0x7a,0x12,0x44,0x58,0x12,0x40,0x97,0x50,0x2, 0x61,0xbd,0xda,0x3b,0x22,0x12,
+0x2b,0x2f,0x7f,0x1, 0x7e,0x1f,0xa, 0x15,0x2f,0x10,0x7a,0x1f,0xa, 0x15,0x22,0x12,
+0x2b,0x2f,0x7e,0xd, 0x2a,0x12,0x3, 0xec,0x7f,0x3, 0x22,0x74,0x4, 0xac,0xbd,0x49,
+0x35,0x9, 0x6f,0x49,0x25,0x9, 0x6d,0x22,0xca,0x3b,0x6c,0xee,0x9f,0x44,0x7f,0x74,
+0x7a,0x4f,0x9, 0xfe,0x7a,0x4f,0xa, 0x2, 0x7a,0x4f,0xa, 0x6, 0x7a,0x4f,0xa, 0xa,
+0x7a,0x4f,0xa, 0xe, 0x7f,0x64,0x7f,0x54,0x6c,0xdd,0x12,0x2c,0xbb,0xbf,0x71,0x58,
+0x4, 0x7f,0x71,0x7c,0xfd,0xb, 0xd0,0xbe,0xd0,0x24,0x78,0xee,0x7e,0x37,0x3, 0x49,
+0x6d,0x22,0xbf,0x71,0x58,0xb, 0x12,0x33,0x41,0x7e,0xb3,0x0, 0x91,0x54,0xf0,0x80,
+0x17,0xe5,0xe, 0xb4,0x1, 0x18,0x12,0x2f,0x38,0x7a,0xb3,0x0, 0x76,0x12,0x35,0xef,
+0x7e,0xb3,0x0, 0x91,0x54,0xf0,0x44,0x1, 0x7a,0xb3,0x0, 0x91,0xe1,0xd, 0x6c,0xdd,
+0xa, 0x5d,0x7e,0x24,0x0, 0x6, 0x8d,0x52,0x7a,0xb3,0x9, 0xfd,0xa, 0x3d,0x8d,0x32,
+0x7c,0xc5,0x70,0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x57,
+0x49,0x25,0x9, 0x55,0x7a,0x1f,0x9, 0xfe,0x7e,0xb3,0x9, 0xfd,0xb4,0x5, 0x4, 0x9f,
+0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x87,0x49,0x25,0x9, 0x85,0x7a,
+0x1f,0xa, 0x2, 0x4c,0xcc,0x78,0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,
+0x35,0x9, 0x6b,0x49,0x25,0x9, 0x69,0x7a,0x1f,0xa, 0x6, 0xbe,0xc0,0x5, 0x78,0x4,
+0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x73,0x49,0x25,0x9, 0x71,
+0x7a,0x1f,0xa, 0xa, 0x7e,0xb3,0x9, 0xfd,0x60,0x4, 0x4c,0xcc,0x78,0x4, 0x9f,0x11,
+0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x53,0x49,0x25,0x9, 0x51,0x7a,0x1f,
+0xa, 0xe, 0x12,0x2f,0x94,0x68,0x4, 0x4c,0xcc,0x78,0x4, 0x9f,0x66,0x80,0xc, 0x74,
+0x4, 0xac,0xbd,0x49,0xd5,0x9, 0x83,0x49,0xc5,0x9, 0x81,0x7e,0xb3,0x9, 0xfd,0x60,
+0x5, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x55,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0xb5,
+0x9, 0x5b,0x49,0xa5,0x9, 0x59,0x12,0x2f,0x94,0x68,0x5, 0xbe,0xc0,0x5, 0x78,0x4,
+0x9f,0x44,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x95,0x9, 0x8b,0x49,0x85,0x9, 0x89,
+0x12,0x2f,0x10,0x49,0x5, 0x9, 0x6d,0x7e,0x37,0x3, 0x49,0x6d,0x22,0xbf,0x1, 0x58,
+0x2, 0xc1,0xeb,0xe5,0xc, 0x12,0x2f,0x28,0x7f,0x1, 0x12,0x2c,0xbb,0xbf,0x10,0x18,
+0x2, 0xc1,0xeb,0x12,0x2f,0x10,0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0x9, 0xfe,0xbf,0x1,
+0x58,0x2, 0xc1,0xeb,0x12,0x2f,0x10,0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0x2, 0xbf,
+0x1, 0x58,0x2, 0xc1,0xeb,0x12,0x2f,0x10,0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0x6,
+0xbf,0x1, 0x58,0x2, 0xc1,0xeb,0x12,0x2f,0x10,0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa,
+0xa, 0xbf,0x1, 0x48,0x76,0x12,0x2f,0x10,0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0xe,
+0xbf,0x1, 0x48,0x67,0x12,0x2c,0xbb,0xbf,0x16,0x48,0x60,0x12,0x2c,0xbb,0xbf,0x15,
+0x48,0x59,0x12,0x2c,0xbb,0xbf,0x14,0x48,0x52,0x7c,0x1e,0x2e,0x10,0x16,0x7c,0xbd,
+0xa5,0xf7,0xa, 0x3d,0x12,0x2f,0x3d,0xa, 0x3e,0x19,0xb3,0x0, 0x76,0xb, 0xe0,0x7e,
+0x30,0x4, 0xac,0x3d,0x2e,0x14,0x9, 0x6d,0x12,0x4a,0x84,0xb, 0x1c,0x12,0x17,0xd4,
+0xbe,0xe1,0xe, 0x40,0x26,0x7e,0xe1,0xe, 0xbe,0xe0,0x2, 0x78,0x27,0x7e,0x73,0x0,
+0x76,0xbe,0x70,0xf, 0x38,0x9, 0x7e,0x73,0x0, 0x77,0xbe,0x70,0xf, 0x28,0x15,0x7e,
+0xe0,0x1, 0x12,0x2f,0x38,0x7a,0xb3,0x0, 0x76,0x80,0x9, 0xb, 0xd0,0xbe,0xd0,0x24,
+0x50,0x2, 0xa1,0x30,0x7c,0x6e,0x5e,0x60,0xf, 0x7e,0x73,0x0, 0x90,0x12,0x35,0xe5,
+0x7e,0x73,0x0, 0x91,0x5e,0x70,0xf0,0x4c,0x76,0x7a,0x73,0x0, 0x91,0xda,0x3b,0x22,
+0x74,0x4, 0xac,0xbd,0x49,0x15,0x9, 0x6f,0x22,0x12,0x2f,0x9c,0xe5,0x1b,0xa, 0x1b,
+0x6d,0x0, 0x12,0x2f,0x2e,0x2, 0x29,0x5c,0xa, 0x1b,0x6d,0x0, 0x7f,0x17,0x12,0x3,
+0xec,0x7e,0x8, 0x0, 0x64,0x2, 0x4, 0x59,0x7a,0xf1,0x16,0xa, 0x3f,0x2e,0x34,0x0,
+0x46,0x7a,0x71,0x82,0x7a,0x61,0x83,0xe4,0x93,0x22,0x12,0x4, 0x8, 0x2e,0x18,0x0,
+0x20,0x22,0x7e,0x8, 0x0, 0x4, 0x7e,0x1d,0x2a,0x22,0x12,0x2b,0x2f,0x7a,0x1f,0xa,
+0x15,0x4c,0xee,0x22,0x9f,0x11,0x7a,0x1f,0xa, 0x5, 0x7a,0x1f,0xa, 0x9, 0x22,0x6d,
+0x0, 0x7e,0x6f,0xa, 0xd, 0x7f,0x16,0x12,0x3, 0xec,0x2f,0x41,0x22,0x7e,0x14,0x0,
+0x3, 0x7e,0x1d,0x2a,0x12,0x3, 0xfd,0x7e,0x8, 0x0, 0x4, 0x22,0x7f,0x13,0x12,0x3,
+0xec,0x7f,0x7, 0x22,0x7e,0xb3,0x9, 0xfd,0xbe,0xb0,0x5, 0x22,0x7d,0xf3,0x49,0x3f,
+0x0, 0x2, 0xb, 0xf8,0x20,0x22,0x7e,0x14,0x0, 0x3, 0x7f,0x13,0x12,0x3, 0xfd,0x7e,
+0x8, 0x0, 0x8, 0x22,0x7f,0x13,0x7f,0x6, 0x12,0x3, 0xec,0x7f,0x7, 0x12,0x4, 0x59,
+0x7f,0x1, 0x22,0x6d,0x0, 0x1b,0xc, 0x7e,0x5f,0xa, 0x5, 0x7f,0x15,0x12,0x3, 0xec,
+0x7f,0x41,0x22,0x6d,0x0, 0xb, 0xc, 0x7e,0x7f,0xa, 0x9, 0x7f,0x17,0x12,0x3, 0xec,
+0x2f,0x14,0x7a,0x1f,0x9, 0xfd,0x7f,0x6, 0x2f,0x5, 0x2f,0x7, 0x7a,0xf, 0xa, 0x1,
+0x22,0x7a,0x1f,0xa, 0x5, 0x7e,0x1f,0xa, 0x9, 0x22,0xca,0x3b,0x7e,0x38,0x75,0x30,
+0x75,0x28,0x0, 0x7e,0x34,0xc, 0xf8,0x7e,0x24,0x0, 0x18,0xe4,0x12,0x4, 0xeb,0x7e,
+0x34,0x0, 0x41,0x7e,0x24,0x0, 0x6, 0xe4,0x12,0x4, 0xeb,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe1,0x7, 0x7e,0xb3,0x6, 0x67,0x30,0xe2,0x5, 0x75,0x27,0x1, 0x80,0x3, 0x75,0x27,
+0x2, 0x75,0x22,0x1, 0x21,0x1e,0x9f,0x11,0x7a,0x1f,0x9, 0xfd,0x75,0x23,0x0, 0x1,
+0xd5,0x12,0x32,0x2, 0x7e,0xb3,0x6, 0xd7,0x30,0xe1,0x42,0x30,0xe0,0x3f,0x7e,0x11,
+0x24,0x74,0x4, 0xac,0x1b,0x12,0x32,0x32,0x7e,0xa1,0x24,0x12,0x32,0x26,0x7a,0x1f,
+0xa, 0x5, 0xbe,0x1c,0xfc,0xe0,0x58,0x5, 0x12,0x32,0xd, 0x80,0x6f,0x7e,0x73,0x6,
+0xc6,0xbe,0x71,0x24,0x28,0x17,0x7e,0xf, 0xa, 0x5, 0x7e,0x1f,0x9, 0xfd,0xbf,0x10,
+0x58,0xb, 0x7e,0x1f,0xa, 0x5, 0x7a,0x1f,0x9, 0xfd,0x85,0x24,0x25,0x7e,0x91,0x24,
+0x74,0x4, 0xac,0x9b,0x7e,0xa1,0x22,0x74,0x58,0xa4,0x2d,0x54,0x49,0x15,0x0, 0x50,
+0x49,0x5, 0x0, 0x4e,0x49,0x35,0x0, 0xa8,0x49,0x25,0x0, 0xa6,0x9f,0x10,0x12,0x4,
+0xdb,0x7a,0x1f,0xa, 0x1, 0x7e,0xa1,0x22,0x74,0x4, 0xa4,0x49,0x15,0xc, 0xfa,0x49,
+0x5, 0xc, 0xf8,0xbf,0x10,0x8, 0xc, 0x7e,0x1f,0xa, 0x1, 0x59,0x35,0xc, 0xfa,0x59,
+0x25,0xc, 0xf8,0x5, 0x23,0x12,0x32,0x1e,0x28,0x2, 0x1, 0x41,0x7e,0x7f,0x9, 0xfd,
+0xbe,0x78,0x2, 0x58,0x8, 0x36,0x7e,0x73,0x6, 0xc6,0xbe,0x71,0x25,0x28,0x2d,0xe5,
+0x25,0xa, 0x3b,0x2e,0x34,0x0, 0xb, 0x7e,0x24,0x0, 0x16,0x12,0x3, 0xba,0x7c,0xa5,
+0x7a,0xa1,0x26,0x7e,0x10,0x4, 0xac,0x1a,0x12,0x32,0x32,0x12,0x32,0x26,0x7e,0x14,
+0x0, 0x5, 0x12,0x3, 0xfd,0xbf,0x71,0x8, 0x3, 0x12,0x32,0xd, 0x5, 0x22,0x7e,0x31,
+0x27,0x74,0x3, 0xac,0x3b,0xe5,0x22,0xa, 0xb, 0xbd,0x1, 0x58,0x2, 0x1, 0x36,0x75,
+0x22,0x1, 0x80,0x23,0x7e,0x11,0x22,0x2e,0x10,0x41,0xa5,0xe7,0x70,0x17,0x7e,0xa1,
+0x22,0x74,0x4, 0xa4,0x49,0x35,0xc, 0xfa,0x49,0x25,0xc, 0xf8,0xbf,0x13,0x58,0x5,
+0x7f,0x31,0x85,0x22,0x28,0x5, 0x22,0xe5,0x22,0xa, 0xb, 0xbd,0x1, 0x48,0xd5,0x7e,
+0x51,0x28,0x74,0x58,0xac,0x5b,0x2e,0x24,0x0, 0xa6,0x7e,0x34,0x3, 0x5c,0x7e,0x14,
+0x0, 0x58,0x12,0x4, 0xae,0x7e,0xb3,0x6, 0xd7,0x30,0xe1,0x4c,0x75,0x23,0x0, 0x80,
+0x42,0x12,0x32,0x2, 0x7e,0xb3,0x6, 0xd7,0x30,0xe0,0x36,0x7e,0x11,0x24,0x74,0x2,
+0xac,0x1b,0x49,0xf0,0x5, 0x90,0x7d,0x3f,0x1a,0x36,0x1a,0xe6,0x7e,0x31,0x24,0x74,
+0x4, 0xac,0x3b,0x12,0x28,0x60,0x7f,0x21,0x9f,0x27,0x59,0x51,0x4, 0x16,0x59,0x41,
+0x4, 0x14,0x49,0x50,0x5, 0x34,0x6d,0x44,0x2e,0x14,0x3, 0x5c,0x9f,0x12,0x12,0x17,
+0xd4,0x5, 0x23,0x12,0x32,0x1e,0x38,0xb9,0x12,0x17,0xcd,0x30,0xe1,0x31,0x75,0x23,
+0x0, 0x80,0x23,0x12,0x32,0x2, 0x7c,0xba,0x30,0xe0,0x19,0x7e,0x71,0x24,0x74,0x4,
+0xac,0x7b,0x12,0x1e,0xee,0x7e,0x37,0x5, 0xee,0x1a,0x26,0x1a,0x24,0xbf,0x10,0x8,
+0x3, 0x12,0x32,0x17,0x5, 0x23,0x7e,0xb3,0x6, 0xc8,0xbe,0xb1,0x23,0x38,0xd4,0xda,
+0x3b,0x22,0xe5,0x23,0xa, 0x3b,0x9, 0xb3,0x6, 0x96,0xf5,0x24,0x22,0x7e,0x11,0x22,
+0x2e,0x10,0x41,0x74,0x1, 0xa5,0xf7,0x74,0x3c,0x7a,0xb3,0xd, 0x3c,0x22,0x7e,0x73,
+0x6, 0xc8,0xbe,0x71,0x23,0x22,0x74,0x2, 0xa4,0x49,0x15,0x5, 0x34,0x6d,0x0, 0x9f,
+0x10,0x22,0x7e,0x31,0x22,0x74,0x58,0xac,0x3b,0x2d,0x10,0x49,0x31,0x0, 0xa8,0x49,
+0x21,0x0, 0xa6,0x22,0x7c,0xab,0x6c,0x22,0x6c,0x11,0x7c,0x1, 0x2e,0x0, 0x47,0xa5,
+0xe6,0xbc,0xb3,0x78,0x5, 0x7e,0x20,0x1, 0x80,0x7, 0xb, 0x10,0xbe,0x10,0x1, 0x40,
+0xe9,0x12,0x32,0xd4,0x38,0x11,0xa, 0x4b,0x7e,0x4, 0x0, 0x3, 0x9d,0x4, 0x7c,0xb1,
+0x60,0x5, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0xb3,0x6, 0xd7,0x30,0xe0,0x24,0x7e,0x10,
+0x2, 0xac,0x13,0x49,0xf0,0x5, 0x34,0x7d,0xf, 0x1a,0x0, 0x1a,0xe0,0x7f,0x61,0x9f,
+0x67,0x7e,0xf7,0x5, 0xee,0x7d,0xf, 0x1a,0x0, 0x1a,0xe0,0xbf,0x76,0x8, 0x3, 0x12,
+0x32,0x17,0x4c,0xaa,0x78,0x6, 0x74,0x4, 0xac,0xb3,0x80,0x10,0x4c,0x22,0x68,0x7,
+0x12,0x32,0xc5,0x8, 0xf, 0x80,0x5, 0x12,0x32,0xc5,0x58,0x8, 0x59,0x35,0x3, 0x5e,
+0x59,0x25,0x3, 0x5c,0x22,0x74,0x4, 0xac,0xb3,0x49,0xf5,0x3, 0x5e,0x49,0xe5,0x3,
+0x5c,0xbf,0x17,0x22,0x7e,0xb3,0x6, 0xd6,0xbe,0xb0,0x2, 0x22,0x12,0x37,0x6e,0xa5,
+0xbe,0x1, 0x14,0x7e,0xa3,0xd, 0x12,0xbe,0xa0,0xfa,0x50,0x2c,0x7e,0xb3,0xd, 0x10,
+0x70,0x26,0x7c,0xba,0x4, 0x80,0x1d,0xbe,0x60,0x2, 0x40,0x3, 0xe4,0x80,0x15,0x7e,
+0x53,0xd, 0x12,0xbe,0x50,0x4, 0x50,0xb, 0xbe,0x50,0x0, 0x28,0x6, 0x74,0x3, 0x7a,
+0xb3,0xd, 0x10,0xe4,0x7a,0xb3,0xd, 0x12,0x7e,0xa3,0xd, 0x10,0x4c,0xaa,0x68,0x20,
+0x4c,0x66,0x68,0x8, 0x7c,0xb7,0x12,0x33,0x45,0xe4,0x80,0x10,0x7c,0xb7,0xc4,0x54,
+0xf, 0xb4,0x1, 0x5, 0x7c,0xb7,0x12,0x35,0xf3,0x7c,0xba,0x14,0x7a,0xb3,0xd, 0x10,
+0x22,0x7e,0xb3,0x0, 0x90,0x54,0xf0,0x7a,0xb3,0x0, 0x90,0x22,0xca,0x3b,0x12,0x37,
+0x35,0x78,0x4, 0x6c,0xff,0x80,0x3, 0x7e,0xf0,0x2, 0x12,0x35,0x5e,0x78,0x1d,0x7c,
+0xba,0x54,0xf, 0xbe,0xb0,0x2, 0x40,0x14,0x5, 0x4d,0xe5,0x4d,0xbc,0xbf,0x38,0x5,
+0x7c,0xba,0x12,0x33,0x45,0xe4,0x7a,0xb3,0xb, 0x37,0x80,0x3, 0x75,0x4d,0x0, 0x12,
+0x35,0x5e,0x78,0x8, 0x5e,0xa0,0xf, 0xbe,0xa0,0x1, 0x28,0x11,0xe4,0x7a,0xb3,0xb,
+0x37,0x6d,0x33,0x7a,0x37,0xb, 0x4f,0x7a,0x37,0xb, 0x51,0xa1,0x4d,0x7e,0xb3,0xb,
+0xb3,0xbe,0xb0,0x1, 0x78,0x2, 0xa1,0x4d,0x4c,0xaa,0x78,0x2, 0xa1,0x1b,0x7e,0xe3,
+0xb, 0x37,0xbe,0xe0,0x2, 0x28,0x2, 0x81,0xf3,0x7c,0xbe,0x4, 0x7a,0xb3,0xb, 0x37,
+0x7e,0xa3,0xb, 0x37,0xbe,0xa0,0x1, 0x78,0x33,0x7e,0x37,0x0, 0x7a,0x7a,0x37,0xb,
+0x41,0x7e,0x37,0x0, 0x7c,0x7a,0x37,0xb, 0x43,0x7e,0x1f,0xb, 0x41,0x7a,0x1f,0xb,
+0x45,0x7e,0x1f,0xb, 0x41,0x7a,0x1f,0xb, 0x49,0x6d,0x33,0x7a,0x37,0xb, 0x4d,0x7a,
+0x37,0xb, 0x4f,0x7a,0x37,0xb, 0x51,0x12,0x33,0x41,0xa1,0x46,0xbe,0xa0,0x2, 0x40,
+0x18,0x7e,0x37,0x0, 0x7a,0x2e,0x37,0xb, 0x4f,0x7a,0x37,0xb, 0x4f,0x7e,0x37,0x0,
+0x7c,0x2e,0x37,0xb, 0x51,0x7a,0x37,0xb, 0x51,0x7e,0x37,0xb, 0x41,0x12,0x35,0x57,
+0x7d,0x63,0x7e,0x37,0xb, 0x43,0x12,0x35,0x50,0x7a,0x35,0x22,0x7e,0x37,0xb, 0x45,
+0x12,0x35,0x57,0x7a,0x35,0x24,0x7e,0x37,0xb, 0x47,0x12,0x35,0x50,0x7d,0x23,0x7e,
+0x35,0x22,0x2d,0x36,0xbe,0x34,0x0, 0xf, 0x50,0x18,0xbe,0x64,0x0, 0x7, 0x50,0x12,
+0x2e,0x25,0x24,0xbe,0x24,0x0, 0x1e,0x50,0x9, 0x7e,0x25,0x24,0xbe,0x24,0x0, 0xf,
+0x40,0x53,0x7e,0x53,0xb, 0x37,0xbc,0x5f,0x28,0x4b,0xe4,0x7a,0xb3,0xb, 0x37,0xbe,
+0x34,0x0, 0x8, 0x38,0x2, 0xa1,0x46,0x7e,0x37,0xb, 0x45,0xbe,0x34,0x0, 0x28,0x40,
+0x6, 0xbe,0x34,0x1, 0x66,0x28,0x24,0x7e,0x27,0xb, 0x47,0xbe,0x24,0x0, 0x28,0x28,
+0x1a,0xbe,0x24,0x1, 0x66,0x50,0x14,0x7a,0x37,0x0, 0x7a,0x7e,0x27,0x0, 0x7c,0x2e,
+0x27,0xb, 0x47,0x1e,0x24,0x7a,0x27,0x0, 0x7c,0xa1,0x46,0x7a,0x37,0x0, 0x7a,0x7e,
+0x37,0xb, 0x47,0x80,0x60,0x7e,0x27,0x0, 0x7a,0x7a,0x27,0xb, 0x41,0x7e,0x37,0x0,
+0x7c,0x7a,0x37,0xb, 0x43,0x7e,0xa3,0x0, 0x76,0x74,0x4, 0xa4,0x12,0x37,0x7e,0x7e,
+0xf7,0xb, 0x4d,0x6d,0xee,0xbf,0x70,0x58,0xc, 0x7a,0x17,0xb, 0x4d,0x7a,0x27,0xb,
+0x49,0x7a,0x37,0xb, 0x4b,0x7e,0x73,0x0, 0x90,0x7c,0xb7,0xc4,0x7c,0x6b,0x12,0x35,
+0xe2,0x80,0x53,0xa, 0x2e,0xb, 0x24,0x1b,0x25,0x7e,0x17,0xb, 0x4f,0x8d,0x12,0x7a,
+0x17,0xb, 0x41,0x7e,0x37,0xb, 0x51,0x8d,0x32,0x7a,0x37,0xb, 0x43,0x7e,0x27,0xb,
+0x41,0x7a,0x27,0x0, 0x7a,0x7a,0x37,0x0, 0x7c,0x80,0x2b,0x7e,0x73,0xb, 0x37,0xbc,
+0x7f,0x28,0x1b,0x7e,0x37,0xb, 0x49,0x7a,0x37,0x0, 0x7a,0x7e,0x37,0xb, 0x4b,0x7a,
+0x37,0x0, 0x7c,0x12,0x35,0xef,0x74,0x1, 0x7a,0xb3,0xb, 0x38,0x80,0x3, 0x12,0x33,
+0x41,0xe4,0x7a,0xb3,0xb, 0x37,0x12,0xe, 0xaf,0x78,0x2, 0xf5,0x9, 0xda,0x3b,0x22,
+0x9e,0x37,0x0, 0x7c,0x2, 0x0, 0x2e,0x9e,0x37,0x0, 0x7a,0x2, 0x0, 0x2e,0x7e,0xa3,
+0x0, 0x90,0x7c,0xba,0xc4,0x54,0xf, 0x22,0xca,0x79,0x9f,0x11,0x7a,0x1f,0x9, 0xfd,
+0x7e,0xa3,0x0, 0x90,0x7c,0xba,0x54,0xf, 0xb4,0x1, 0x64,0x7e,0x1f,0x0, 0xa2,0x7a,
+0x1f,0x9, 0xfd,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x6, 0x7e,0x1f,0x9, 0xfd,0x80,0x34,
+0x7e,0x37,0xb, 0x3b,0x12,0x35,0x50,0x7d,0x73,0x7e,0x37,0xb, 0x39,0x12,0x35,0x57,
+0x2d,0x37,0xbe,0x34,0x0, 0xf, 0x58,0x20,0x7e,0x1f,0xb, 0x3d,0x7f,0x1, 0x1e,0x14,
+0x1e,0x4, 0x50,0x3, 0x4e,0x20,0x80,0x7e,0x1f,0x9, 0xfd,0xbf,0x10,0x50,0x5, 0x12,
+0x33,0x41,0x80,0x4, 0x7a,0x1f,0xb, 0x3d,0x7e,0x37,0x0, 0x7a,0x7a,0x37,0xb, 0x39,
+0x7e,0x37,0x0, 0x7c,0x7a,0x37,0xb, 0x3b,0x12,0xe, 0xaf,0x78,0x2, 0xf5,0x9, 0xda,
+0x79,0x22,0x5e,0x60,0xf, 0x5e,0x70,0xf0,0x4c,0x76,0x7a,0x73,0x0, 0x90,0x22,0x7e,
+0xb3,0x0, 0x90,0x54,0xf0,0x44,0x1, 0x7a,0xb3,0x0, 0x90,0x22,0x6c,0xaa,0x7e,0x90,
+0x5, 0xac,0x9a,0x9, 0xb4,0x2, 0xba,0xbe,0xb0,0xff,0x68,0xa, 0x49,0x34,0x2, 0xb8,
+0xbe,0x34,0x1, 0x8d,0x50,0x33,0xb, 0xa0,0xbe,0xa0,0x2, 0x40,0xe1,0x12,0x37,0x2c,
+0x78,0x21,0x7c,0xb7,0xc4,0x7c,0x6b,0x5e,0x60,0xf, 0xbe,0x60,0x0, 0x28,0x14,0xe5,
+0x4c,0xbe,0xb0,0x1, 0x50,0x9, 0x12,0x35,0xe5,0x75,0x12,0x1, 0x5, 0x4c,0x22,0x75,
+0x4c,0x0, 0x22,0x75,0x4c,0x0, 0x75,0x12,0x0, 0x22,0x75,0x27,0xa, 0x75,0x28,0x5,
+0x7e,0x18,0x3, 0xe8,0x7e,0x8, 0x27,0x10,0x74,0xc, 0x12,0x36,0xac,0x70,0x13,0x75,
+0x27,0xa, 0x75,0x28,0x4, 0x7e,0x18,0x3, 0xe8,0x7e,0x8, 0x27,0x10,0x74,0xa, 0x12,
+0x36,0xac,0x60,0x13,0x7e,0xb3,0x6, 0x67,0x44,0x2, 0x7a,0xb3,0x6, 0x67,0x12,0x33,
+0x41,0xe4,0x7a,0xb3,0xd, 0x11,0x22,0x7e,0xa3,0x6, 0x67,0x7c,0xba,0x30,0xe1,0x1b,
+0x7e,0xb3,0xd, 0x11,0x4, 0x7a,0xb3,0xd, 0x11,0xbe,0xb0,0x14,0x40,0xd, 0xe4,0x7a,
+0xb3,0xd, 0x11,0x7c,0xba,0x54,0xfd,0x7a,0xb3,0x6, 0x67,0x22,0xca,0x3b,0xf5,0x26,
+0x7a,0xd, 0x22,0x7f,0x31,0x75,0x29,0x0, 0x75,0x2a,0x0, 0x7e,0x34,0x9, 0xfd,0x7e,
+0x24,0x0, 0x90,0xe4,0x12,0x4, 0xeb,0x6c,0xaa,0x12,0x28,0x5b,0xbf,0x13,0x8, 0x11,
+0x7e,0x31,0x29,0x74,0x4, 0xac,0x3b,0x59,0x31,0x9, 0xff,0x59,0x21,0x9, 0xfd,0x5,
+0x29,0xb, 0xa0,0xbe,0xa0,0x16,0x78,0xe1,0xe5,0x26,0xbe,0xb1,0x29,0x38,0x38,0x7e,
+0xd, 0x22,0x7e,0x1f,0x5, 0x28,0xbf,0x10,0x58,0x2d,0x7e,0x34,0x9, 0xfd,0xe5,0x26,
+0xa, 0x2b,0x12,0x38,0x8, 0x7e,0xa1,0x27,0x74,0x4, 0xa4,0x49,0x35,0x9, 0xff,0x49,
+0x25,0x9, 0xfd,0xe5,0x28,0xa, 0x1b,0x6d,0x0, 0x12,0x3, 0xec,0x7e,0xf, 0x9, 0xfd,
+0xbf,0x10,0x8, 0x3, 0x75,0x2a,0x1, 0xe5,0x2a,0xda,0x3b,0x22,0x7e,0x73,0x0, 0x90,
+0x7c,0xb7,0x54,0xf, 0x22,0x7e,0x37,0x0, 0x92,0xbe,0x34,0x0, 0x1, 0x22,0x12,0x37,
+0x35,0x78,0x1b,0x7e,0xb3,0x6, 0x67,0x20,0xe5,0x14,0x7e,0xb3,0x6, 0xcb,0x20,0xe0,
+0xd, 0x12,0x37,0x5f,0x7e,0xb3,0x6, 0xcb,0x44,0x1, 0x7a,0xb3,0x6, 0xcb,0x22,0xa9,
+0xc0,0xca,0x6d,0x22,0x12,0x37,0x87,0x5e,0x60,0x7f,0x1b,0x28,0x30,0x22,0x7e,0x73,
+0x0, 0x90,0x7c,0x67,0x5e,0x60,0xf, 0x22,0x6d,0xee,0x74,0x4, 0xac,0xbf,0x49,0x15,
+0x3, 0x5e,0x49,0x5, 0x3, 0x5c,0x22,0x7e,0x34,0x13,0x14,0x1b,0x38,0x20,0x7e,0x24,
+0x12,0x4, 0xb, 0x28,0x30,0x22,0x7e,0xb3,0x6, 0xcb,0x30,0xe0,0x16,0xa9,0xd0,0xca,
+0x7e,0x24,0x0, 0x3f,0x12,0x37,0x87,0x4e,0x60,0x80,0x1b,0x28,0x30,0x54,0xfe,0x7a,
+0xb3,0x6, 0xcb,0x22,0xc2,0xab,0x12,0x37,0x3e,0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xd5,
+0xc9,0xd2,0xaf,0xa9,0xd0,0xcd,0xd2,0xc8,0xd2,0xa8,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,
+0xd7,0x9e,0xd2,0xaf,0x74,0x1, 0x12,0x4e,0x28,0x74,0x2, 0x12,0xf, 0xcd,0x12,0x4e,
+0x8b,0xc2,0xa8,0xa9,0xc0,0xcd,0xc2,0xc8,0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xc5,0xc9,
+0xd2,0xaf,0xd2,0xab,0x12,0x4e,0x10,0x2, 0x37,0x96,0xbd,0x32,0x58,0x3, 0x7d,0x32,
+0x22,0xbd,0x31,0x8, 0x2, 0x7d,0x31,0x22,0x6d,0x11,0x80,0x48,0x6d,0x0, 0x80,0x38,
+0x7d,0xf0,0x3e,0xf4,0x3e,0xf4,0x7d,0xef,0x2d,0xe3,0x49,0xde,0x0, 0x6, 0x49,0xce,
+0x0, 0x4, 0x49,0x5e,0x0, 0x2, 0xb, 0xe8,0x40,0xbf,0x26,0x58,0x19,0x49,0xde,0x0,
+0x6, 0x49,0xce,0x0, 0x4, 0x59,0xde,0x0, 0x2, 0x1b,0xe8,0xc0,0x2d,0xf3,0x59,0x5f,
+0x0, 0x6, 0x59,0x4f,0x0, 0x4, 0xb, 0x4, 0x7d,0xf2,0x1b,0xf4,0x9d,0xf1,0xbd,0xf0,
+0x38,0xbe,0xb, 0x14,0xbd,0x21,0x38,0xb4,0x22,0x75,0x39,0x3, 0x75,0x3f,0x0, 0x22,
+0xca,0xf8,0x12,0x38,0xe2,0x12,0x38,0xf1,0x12,0x38,0x59,0x75,0x39,0x3, 0x75,0x37,
+0x40,0x12,0x38,0xe2,0xe5,0x39,0xb4,0x3, 0x60,0xe5,0x3f,0x60,0xf4,0x12,0x38,0xfa,
+0x12,0x1f,0xb5,0x12,0x1f,0x3a,0x12,0x15,0xa, 0x6c,0xff,0x80,0x2d,0x7e,0xb3,0xb,
+0x9e,0x60,0x1a,0x7e,0x50,0x2, 0xac,0x5f,0x49,0xf2,0x5, 0x34,0x12,0x37,0x78,0x9f,
+0x7, 0x7d,0x31,0x2e,0x34,0x27,0x10,0x59,0x32,0xc, 0x20,0x80,0xb, 0x12,0x1f,0xbc,
+0x74,0x2, 0xac,0xbf,0x59,0x35,0xc, 0x20,0xb, 0xf0,0x12,0x1a,0x60,0x38,0xce,0x75,
+0x3f,0x0, 0x7e,0xb3,0xc, 0xd6,0x54,0x7f,0x7a,0xb3,0xc, 0xd6,0xe5,0xa, 0x20,0xe0,
+0xa0,0x74,0x1, 0x7a,0xb3,0x3, 0x42,0x80,0x98,0xe5,0x39,0x7a,0xb3,0xb, 0x9f,0xda,
+0xf8,0x22,0x6d,0x33,0x7a,0x37,0x2, 0xd0,0x7e,0x34,0x7, 0xd0,0x7a,0x37,0x0, 0x74,
+0x22,0x7e,0x34,0x2, 0xd4,0x7a,0x37,0x6, 0xd8,0x22,0x7e,0xb3,0x6, 0xd7,0x44,0x2,
+0x7a,0xb3,0x6, 0xd7,0x22,0xbe,0xb0,0xa, 0x50,0x8, 0x7c,0x1b,0x2e,0x10,0x37,0xa5,
+0xe7,0x22,0x2, 0x39,0x15,0xb4,0xae,0x5, 0x7e,0xb3,0x3, 0x34,0x22,0x24,0xf6,0xbe,
+0xb0,0x30,0x40,0x2, 0x41,0xcb,0x7e,0xa0,0x3, 0xa4,0x90,0x39,0x2e,0x73,0x2, 0x39,
+0xbe,0x2, 0x39,0xc1,0x2, 0x39,0xc3,0x2, 0x39,0xc8,0x2, 0x39,0xcd,0x2, 0x39,0xd2,
+0x2, 0x39,0xd7,0x2, 0x39,0xdc,0x2, 0x39,0xe1,0x2, 0x39,0xe6,0x2, 0x39,0xeb,0x2,
+0x39,0xf0,0x2, 0x39,0xf5,0x2, 0x3a,0x9, 0x2, 0x3a,0xe, 0x2, 0x3a,0xcb,0x2, 0x3a,
+0x13,0x2, 0x3a,0x18,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,
+0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2,
+0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,
+0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,
+0x2, 0x3a,0x1d,0x2, 0x3a,0x22,0x2, 0x3a,0x27,0x2, 0x3a,0x2c,0x2, 0x3a,0x31,0x2,
+0x3a,0x36,0x2, 0x3a,0xcb,0x2, 0x3a,0x69,0x2, 0x3a,0xcb,0x2, 0x3a,0x98,0x74,0x16,
+0x22,0xe4,0x22,0x7e,0xb3,0x3, 0x35,0x22,0x7e,0xb3,0x3, 0x38,0x22,0x7e,0xb3,0x3,
+0x39,0x22,0x7e,0xb3,0x3, 0x3a,0x22,0x7e,0xb3,0x3, 0x3b,0x22,0x7e,0xb3,0x3, 0x3c,
+0x22,0x7e,0xb3,0x3, 0x3d,0x22,0x7e,0xb3,0x3, 0x36,0x22,0x7e,0xb3,0x3, 0x37,0x22,
+0x7e,0xb3,0x3, 0x40,0x22,0x7e,0xb3,0xc, 0xd0,0x70,0x8, 0x7e,0x27,0x3, 0x30,0xa,
+0x54,0x80,0xa, 0x7e,0x57,0x3, 0x30,0x80,0x4, 0x7e,0x57,0x3, 0x30,0x22,0x7e,0xb3,
+0x3, 0x3f,0x22,0x7e,0xb3,0x3, 0x41,0x22,0x7e,0xb3,0x6, 0xd4,0x22,0x7e,0xb3,0x3,
+0x43,0x22,0x7e,0xb3,0x3, 0x44,0x22,0x7e,0xb3,0x3, 0x45,0x22,0x7e,0xb3,0x3, 0x46,
+0x22,0x7e,0xb3,0x3, 0x47,0x22,0x7e,0x73,0x3, 0x47,0x7c,0xb7,0x4, 0x7a,0xb3,0x3,
+0x47,0xbe,0x70,0x5c,0x50,0x20,0xa, 0x27,0x7d,0x12,0x5e,0x14,0x0, 0x1, 0x68,0xb,
+0x7d,0x12,0x1e,0x14,0x3e,0x14,0x49,0x51,0xc, 0x20,0x22,0x1e,0x24,0x3e,0x24,0x49,
+0x22,0xc, 0x20,0xa, 0x54,0x22,0x74,0xee,0x22,0x7e,0x73,0x3, 0x44,0x7c,0xb7,0x4,
+0x7a,0xb3,0x3, 0x44,0xbe,0x70,0x2e,0x50,0x1c,0xbe,0x70,0x16,0x50,0x2, 0x80,0x5,
+0xbe,0x70,0x16,0x50,0xb, 0xa, 0x37,0x2e,0x34,0x4, 0xc5,0x12,0x2f,0x41,0x7c,0x7b,
+0xb, 0x70,0x7c,0xb7,0x22,0x74,0xee,0x22,0x7e,0x73,0x3, 0x46,0x7c,0xb7,0x4, 0x7a,
+0xb3,0x3, 0x46,0xbe,0x70,0x5c,0x50,0x20,0xa, 0x27,0x7d,0x12,0x5e,0x14,0x0, 0x1,
+0x68,0xb, 0x7d,0x12,0x1e,0x14,0x3e,0x14,0x49,0x51,0x2, 0xd4,0x22,0x1e,0x24,0x3e,
+0x24,0x49,0x22,0x2, 0xd4,0xa, 0x54,0x22,0x74,0xee,0x22,0x74,0xee,0x22,0xbe,0xb0,
+0xa, 0x50,0xa, 0x7c,0x1b,0x2e,0x10,0x37,0x7c,0xb7,0xa5,0xf7,0x22,0x2, 0x3a,0xe0,
+0xca,0x79,0x7c,0x6b,0xa5,0xbe,0xae,0x17,0x7a,0x73,0x3, 0x34,0x7e,0xb3,0x3, 0x34,
+0xb4,0x1, 0x5, 0xe4,0x7a,0xb3,0x3, 0x34,0xe4,0x7a,0xb3,0x3, 0x42,0x61,0xfe,0xa5,
+0xbe,0xaf,0x5, 0x12,0x4c,0xd, 0x81,0x81,0x7c,0xb6,0x24,0xf4,0xbe,0xb0,0x29,0x40,
+0x2, 0x81,0x39,0x7e,0xa0,0x3, 0xa4,0x90,0x3b,0x1b,0x73,0x2, 0x3b,0x96,0x2, 0x3b,
+0x9c,0x2, 0x3b,0xa2,0x2, 0x3b,0xa8,0x2, 0x3b,0xae,0x2, 0x3b,0xb4,0x2, 0x3b,0xba,
+0x2, 0x3b,0xc0,0x2, 0x3b,0xc6,0x2, 0x3b,0xcc,0x2, 0x3b,0xd2,0x2, 0x3b,0xea,0x2,
+0x3c,0x3, 0x2, 0x3c,0x7a,0x2, 0x3c,0x9, 0x2, 0x3c,0x12,0x2, 0x3c,0x39,0x2, 0x3c,
+0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,
+0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2,
+0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,
+0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x1b,0x2, 0x3c,0x21,0x2, 0x3c,0x27,
+0x2, 0x3c,0x2d,0x2, 0x3c,0x33,0x7e,0x74,0x3, 0x35,0x80,0x7a,0x7e,0x74,0x3, 0x38,
+0x80,0x74,0x7e,0x74,0x3, 0x39,0x80,0x6e,0x7e,0x74,0x3, 0x3a,0x80,0x68,0x7e,0x74,
+0x3, 0x3b,0x80,0x62,0x7e,0x74,0x3, 0x3c,0x80,0x5c,0x7e,0x74,0x3, 0x3d,0x80,0x56,
+0x7e,0x74,0x3, 0x36,0x80,0x50,0x7e,0x74,0x3, 0x37,0x80,0x4a,0x7e,0x74,0x3, 0x40,
+0x80,0x44,0x7e,0x27,0x3, 0x30,0x6c,0x44,0x7a,0x27,0x3, 0x30,0x7c,0x67,0x6c,0x77,
+0x4e,0x37,0x3, 0x30,0x7a,0x37,0x3, 0x30,0x80,0x14,0x7e,0x27,0x3, 0x30,0x6c,0x55,
+0x7a,0x27,0x3, 0x30,0xa, 0x37,0x4e,0x37,0x3, 0x30,0x7a,0x37,0x3, 0x30,0x43,0xa,
+0x1, 0x80,0x7e,0x7e,0x74,0x3, 0x3f,0x80,0xd, 0x7e,0x74,0x3, 0x41,0x43,0xa, 0x4,
+0x80,0x68,0x7e,0x74,0x6, 0xd4,0x43,0xa, 0x1, 0x80,0x5f,0x7a,0x73,0x3, 0x43,0x80,
+0x60,0x7a,0x73,0x3, 0x44,0x80,0x5a,0x7a,0x73,0x3, 0x45,0x80,0x54,0x7a,0x73,0x3,
+0x46,0x80,0x4e,0x7a,0x73,0x3, 0x47,0x80,0x48,0xbe,0x60,0x39,0x68,0x4, 0xa5,0xbe,
+0x3a,0x3f,0x7e,0x63,0x3, 0x45,0x7c,0xb6,0x4, 0x7a,0xb3,0x3, 0x45,0xa, 0x26,0x5e,
+0x24,0x0, 0x1, 0xa, 0x16,0x68,0x12,0x12,0x3c,0x84,0x6c,0x55,0x1b,0x18,0x20,0xa,
+0x17,0x12,0x3c,0x90,0x43,0xa, 0x2, 0x80,0x18,0x12,0x3c,0x84,0x6c,0x44,0x1b,0x18,
+0x20,0x7c,0x27,0x6c,0x33,0x12,0x3c,0x90,0x80,0x7, 0x4d,0x77,0x68,0x3, 0x7a,0x79,
+0x70,0xda,0x79,0x22,0x1e,0x14,0x3e,0x14,0x2e,0x14,0x2, 0xd4,0xb, 0x18,0x20,0x22,
+0xa, 0x26,0x1e,0x24,0x3e,0x24,0x2e,0x24,0x2, 0xd4,0xb, 0x28,0x30,0x4d,0x31,0x1b,
+0x28,0x30,0x22,0xca,0x69,0xca,0xf8,0x7c,0xf7,0xbe,0xb0,0x80,0x40,0xb, 0xbe,0xb0,
+0xde,0x38,0x6, 0x24,0x80,0x7c,0x7f,0xa1,0x3f,0x24,0x0, 0x68,0x2, 0xa1,0x42,0x7e,
+0x64,0xc, 0xd6,0x7a,0x69,0xf0,0x5e,0xf0,0x70,0x7c,0xbf,0xc4,0x54,0xf, 0x7c,0xfb,
+0xbe,0xf0,0x4, 0x78,0x15,0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x7, 0x74,0x2, 0x7e,0x70,
+0x3, 0x80,0x36,0x74,0x3c,0x7e,0x70,0x3, 0x80,0x55,0x7e,0xb3,0xb, 0x9f,0xb4,0x3,
+0x2d,0x74,0x2, 0x7e,0x70,0x1, 0x12,0x3a,0xce,0xbe,0xf0,0x1, 0x78,0x6, 0x74,0x2,
+0x6c,0x77,0x80,0x15,0x4c,0xff,0x78,0x7, 0x74,0x2, 0x7e,0x70,0x1, 0x80,0xa, 0xbe,
+0xf0,0x3, 0x78,0x2e,0x74,0x2, 0x7e,0x70,0x4, 0x12,0x3a,0xce,0x80,0x24,0xbe,0xf0,
+0x1, 0x78,0x6, 0x74,0x3c,0x6c,0x77,0x80,0x16,0xbe,0xf0,0x4, 0x78,0x7, 0x74,0x3c,
+0x7e,0x70,0x3, 0x80,0xa, 0xbe,0xf0,0x3, 0x78,0x8, 0x74,0x3c,0x7e,0x70,0x4, 0x12,
+0x3f,0xc1,0xda,0xf8,0xda,0x69,0x22,0xca,0x79,0x7c,0x6b,0x24,0x0, 0x78,0x75,0x7e,
+0x74,0xc, 0xd6,0x7a,0x79,0x70,0x5e,0x70,0x70,0x7c,0xb7,0xc4,0x54,0xf, 0x7c,0x7b,
+0xbe,0x70,0x4, 0x68,0x47,0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x20,0xa5,0xbf,0x1, 0x6,
+0x74,0x2, 0x6c,0x77,0x80,0x5c,0xa5,0xbf,0x0, 0x7, 0x74,0x2, 0x7e,0x70,0x1, 0x80,
+0x51,0xa5,0xbf,0x3, 0x68,0x74,0x2, 0x7e,0x70,0x4, 0x80,0x46,0xa5,0xbf,0x1, 0x6,
+0x74,0x3c,0x6c,0x77,0x80,0x29,0xa5,0xbf,0x4, 0x7, 0x74,0x3c,0x7e,0x70,0x3, 0x80,
+0x1e,0xa5,0xbf,0x3, 0x48,0x74,0x3c,0x7e,0x70,0x4, 0x80,0x13,0x7e,0xb3,0xb, 0x9f,
+0xb4,0x3, 0x7, 0x74,0x2, 0x7e,0x70,0x3, 0x80,0x18,0x74,0x3c,0x7e,0x70,0x3, 0x12,
+0x3f,0xc1,0x80,0x29,0xbe,0x60,0xa, 0x50,0xe, 0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x1d,
+0x7c,0xb6,0x12,0x3a,0xce,0x80,0x16,0xbe,0x60,0xa, 0x40,0x11,0xbe,0x60,0xaf,0x38,
+0xc, 0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x5, 0x7c,0xb6,0x12,0x3a,0xe0,0xda,0x79,0x22,
+0xca,0x79,0x20,0x90,0x2, 0xc1,0x96,0xd2,0x8, 0x7e,0xb3,0xc, 0xd2,0x4, 0x7a,0xb3,
+0xc, 0xd2,0x7e,0xf3,0xc, 0xd2,0xbe,0xf0,0x1, 0x78,0x22,0xe5,0x91,0x7a,0xb3,0xc,
+0xd8,0x7e,0xb3,0xc, 0xd8,0xb4,0xd3,0xe, 0x74,0x1, 0x7a,0xb3,0xc, 0xd7,0x6d,0x33,
+0x7a,0x37,0xc, 0xd3,0x80,0x3c,0xe4,0x7a,0xb3,0xc, 0xd7,0x80,0x35,0x7e,0xb3,0xc,
+0xd6,0xc4,0x7c,0xeb,0x5e,0xe0,0x7, 0x78,0x8, 0x12,0x3f,0x23,0x12,0x3c,0xa3,0x80,
+0x21,0xbe,0xe0,0x4, 0x78,0x8, 0x12,0x3f,0x23,0x12,0x3d,0x47,0x80,0x14,0x7e,0xb3,
+0xc, 0xd6,0xc4,0x54,0x7, 0xb4,0x1, 0xa, 0x7e,0xb3,0xc, 0xd2,0x12,0x3f,0x25,0x12,
+0x4b,0xd8,0x12,0x3f,0xb6,0x78,0xe, 0xe4,0x12,0x3f,0x2f,0xb4,0x10,0x2, 0x80,0x14,
+0x12,0x27,0x57,0x80,0x12,0xbe,0xf0,0x4, 0x78,0x5, 0x12,0x27,0x2e,0x80,0x8, 0xbe,
+0xf0,0x1, 0x78,0x3, 0x12,0x3f,0xf5,0x7e,0xb3,0xc, 0xd8,0xb4,0xd3,0x6, 0x7e,0xb3,
+0xb, 0xb6,0xf5,0x91,0xc2,0x90,0x20,0x91,0x2, 0xe1,0x20,0xc2,0x8, 0x7e,0xb3,0xc,
+0xd0,0x4, 0x12,0x3f,0xb2,0x78,0x50,0x7e,0xb3,0xc, 0xd7,0xb4,0x1, 0x36,0x7e,0xa3,
+0x9, 0x6a,0x7e,0x70,0x4, 0xac,0x7a,0xbe,0x37,0xc, 0xd3,0x40,0x22,0x7e,0x37,0xc,
+0xd3,0x4d,0x33,0x78,0x5, 0x7a,0xa1,0x91,0x80,0xd, 0x7d,0x23,0x1b,0x24,0x2e,0x27,
+0x6, 0xdb,0x7e,0x29,0xb0,0xf5,0x91,0xb, 0x34,0x7a,0x37,0xc, 0xd3,0x80,0x3f,0x75,
+0x91,0xff,0x80,0x3a,0xe4,0x12,0x3f,0x2f,0xb4,0x10,0x6, 0x7e,0xb3,0xc, 0xd0,0x80,
+0x19,0x7e,0xb3,0xc, 0xd0,0x80,0x1e,0xbe,0xf0,0x4, 0x78,0x5, 0x12,0x27,0x2e,0x80,
+0x1d,0xbe,0xf0,0x1, 0x7e,0xb3,0xc, 0xd0,0x78,0xb, 0x2e,0xb3,0xc, 0xd8,0x12,0x0,
+0x7, 0xf5,0x91,0x80,0x9, 0x2e,0xb3,0xc, 0xd8,0x12,0x3f,0x2f,0xf5,0x91,0xc2,0x91,
+0xda,0x79,0x22,0x7c,0xbf,0x2e,0xb3,0xc, 0xd8,0x24,0xfe,0x7e,0x71,0x91,0x22,0x7c,
+0x7b,0xbe,0x70,0x80,0x40,0xc, 0xbe,0x70,0xde,0x38,0x7, 0xa, 0x37,0x9, 0xb3,0xa,
+0xe3,0x22,0xa5,0xbf,0x0, 0x5, 0x7e,0xb3,0xc, 0xd6,0x22,0x30,0x7, 0x6, 0x7e,0x24,
+0xc, 0xac,0x80,0x4, 0x7e,0x24,0xc, 0xbe,0x7a,0x25,0x4a,0x7c,0xb7,0x14,0xbe,0xb0,
+0xe, 0x50,0x4c,0x7e,0xa0,0x3, 0xa4,0x90,0x3f,0x6b,0x73,0x2, 0x3f,0x95,0x2, 0x3f,
+0x9d,0x2, 0x3f,0xa5,0x2, 0x3f,0xa5,0x2, 0x3f,0xa5,0x2, 0x3f,0xa5,0x2, 0x3f,0xa5,
+0x2, 0x3f,0xa5,0x2, 0x3f,0xa5,0x2, 0x3f,0xa5,0x2, 0x3f,0xa5,0x2, 0x3f,0xa5,0x2,
+0x3f,0xa5,0x2, 0x3f,0xa5,0x7e,0x35,0x4a,0x9, 0xb3,0x0, 0x4, 0x22,0x7e,0x35,0x4a,
+0x9, 0xb3,0x0, 0x3, 0x22,0xa, 0x37,0x2e,0x35,0x4a,0x9, 0xb3,0x0, 0x2, 0x22,0x74,
+0xff,0x22,0x7a,0xb3,0xc, 0xd0,0x7e,0xb3,0xc, 0xd6,0xc4,0x7c,0xfb,0x5e,0xf0,0x7,
+0x22,0xbe,0xb0,0x5e,0x38,0x2e,0xbe,0xb0,0x26,0x68,0x29,0xbe,0xb0,0x2f,0x68,0x24,
+0xbe,0xb0,0x23,0x68,0x1f,0xbe,0xb0,0x28,0x68,0x1a,0xbe,0xb0,0x21,0x68,0x15,0xbe,
+0xb0,0x22,0x68,0x10,0xa, 0x2b,0x19,0x72,0xb, 0x63,0x7e,0xb3,0xb, 0xc2,0x44,0x1,
+0x7a,0xb3,0xb, 0xc2,0x22,0x7e,0xb3,0xc, 0xd8,0x12,0x0, 0x7, 0xf5,0x91,0x22,0x75,
+0xd, 0x0, 0xc2,0x5, 0x7e,0xb3,0xb, 0x88,0x70,0x7, 0x7e,0xb3,0x0, 0x95,0xf5,0x1a,
+0x22,0x7e,0xb3,0x0, 0x97,0xf5,0x1a,0x22,0x7d,0xd2,0x6d,0x22,0x9e,0x18,0x0, 0xc7,
+0x6d,0xcc,0x7e,0x78,0x0, 0xc7,0x7f,0x27,0x9f,0x26,0x12,0x44,0x5f,0x2e,0x28,0x0,
+0xc7,0x9f,0x71,0x7f,0x17,0xbe,0x28,0x0, 0x0, 0x58,0x4, 0x9f,0x22,0x80,0xa, 0xbe,
+0x28,0x1, 0x8e,0x48,0x4, 0x7e,0x28,0x1, 0x8d,0xbe,0x18,0x0, 0x0, 0x58,0x4, 0x9f,
+0x11,0x80,0xa, 0xbe,0x18,0x1, 0x8e,0x48,0x4, 0x7e,0x18,0x1, 0x8d,0x1b,0x18,0x50,
+0x7d,0x13,0x1b,0x8, 0x10,0x22,0xca,0xf8,0x6c,0xff,0x80,0x23,0x74,0x5, 0xac,0xbf,
+0x12,0x44,0xd, 0x7e,0x14,0x0, 0x22,0x7e,0x4, 0x0, 0x24,0x12,0x40,0x18,0x7e,0x35,
+0x22,0x74,0x5, 0xac,0xbf,0x59,0x35,0x0, 0x7a,0x7e,0x35,0x24,0x12,0x44,0x54,0x12,
+0x40,0x97,0x48,0xd8,0xda,0xf8,0x22,0x7e,0xb3,0x0, 0x90,0x54,0xf, 0xa, 0x2b,0xa,
+0x3f,0xbd,0x32,0x22,0xca,0x3b,0xc2,0xf, 0x75,0x2c,0x0, 0x7e,0xb3,0x3, 0x5a,0xbe,
+0xb0,0x2, 0x68,0x7, 0x7e,0xb3,0x3, 0x5b,0xb4,0x2, 0x16,0x12,0x35,0x5e,0xbe,0xb0,
+0x1, 0x38,0xe, 0x7c,0xba,0x54,0xf, 0xbe,0xb0,0x1, 0x38,0x5, 0x7c,0xba,0x12,0x33,
+0x45,0x6c,0xff,0x7e,0xa0,0xff,0x7e,0x70,0x5, 0xac,0x7f,0x19,0xa3,0x0, 0x7e,0x7c,
+0x1f,0x2e,0x10,0x22,0x74,0xff,0xa5,0xf7,0x7e,0x24,0xff,0xff,0x12,0x43,0xf0,0x1b,
+0x38,0x20,0x7c,0x1f,0x2e,0x10,0x24,0xe4,0xa5,0xf7,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,
+0xd2,0x7e,0xa3,0x0, 0x90,0x7c,0xba,0x54,0xf, 0x78,0x1f,0x7c,0xba,0xc4,0x54,0xf,
+0x78,0x18,0x6c,0xff,0x12,0x44,0x4c,0xac,0x7f,0x59,0x43,0x3, 0x52,0x59,0x43,0x3,
+0x56,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xec,0x61,0x8b,0x7c,0xba,0xc4,0x54,0xf, 0x78,
+0x33,0x6c,0xff,0x7e,0xa0,0x1, 0x80,0x25,0x7c,0x1f,0x2e,0x10,0x24,0x7c,0xba,0x12,
+0x43,0xf9,0x19,0xf3,0x0, 0x7e,0x49,0x43,0x0, 0x7a,0x7e,0x50,0x2, 0xac,0x5f,0x59,
+0x42,0x3, 0x52,0x49,0x33,0x0, 0x7c,0x59,0x32,0x3, 0x56,0xb, 0xf0,0x12,0x40,0x97,
+0x48,0xd6,0x61,0x8b,0x6c,0xff,0x80,0x47,0x6c,0xee,0x74,0x2, 0xac,0xbe,0x49,0x25,
+0x3, 0x56,0x12,0x46,0xb, 0x7d,0x63,0x74,0x2, 0xac,0xbe,0x49,0x25,0x3, 0x52,0x12,
+0x44,0x76,0x2d,0x36,0x7a,0x35,0x26,0x7c,0xbf,0x3e,0xb0,0x24,0x28,0xa, 0x2b,0xb,
+0x28,0x30,0xbe,0x35,0x26,0x28,0xf, 0x7c,0x1f,0x2e,0x10,0x22,0x7c,0xbe,0xa5,0xf7,
+0x7e,0x35,0x26,0x1b,0x28,0x30,0xb, 0xe0,0xbe,0xe0,0x2, 0x78,0xbd,0xb, 0xf0,0x12,
+0x40,0x97,0x48,0xb4,0x6c,0xff,0x41,0x54,0xd2,0xf, 0x6c,0xee,0x80,0x2c,0xbc,0xef,
+0x68,0x26,0x7c,0x1e,0x12,0x44,0x1, 0x7c,0x1f,0x2e,0x10,0x22,0xa5,0xe7,0xbc,0xba,
+0x78,0x16,0x7c,0xbe,0x12,0x43,0xf2,0xb, 0x38,0x20,0x12,0x43,0xf0,0xb, 0x38,0x30,
+0xbd,0x32,0x40,0x4, 0xc2,0xf, 0x80,0xd, 0xb, 0xe0,0x12,0xe, 0xaf,0xa, 0x2b,0xa,
+0x3e,0xbd,0x32,0x48,0xc9,0x7c,0x1f,0x12,0x44,0x1, 0xa, 0x4a,0x9, 0xb4,0x3, 0x5a,
+0xb4,0x2, 0x4, 0xc2,0xf, 0x80,0x1e,0xb4,0x1, 0x1b,0x12,0x37,0x2c,0xbe,0xb0,0x2,
+0x40,0x11,0x7c,0xb7,0xc4,0x54,0xf, 0xbe,0xb0,0x2, 0x40,0x7, 0xe4,0x19,0xb4,0x3,
+0x5a,0x80,0x2, 0xc2,0xf, 0x30,0xf, 0x2a,0xbe,0xa0,0x2, 0x50,0x25,0x7c,0x1a,0x2e,
+0x10,0x24,0x74,0x1, 0xa5,0xf7,0x7e,0x90,0x5, 0xac,0x9f,0x19,0xa4,0x0, 0x7e,0x49,
+0x34,0x0, 0x7a,0x74,0x2, 0xa4,0x59,0x35,0x3, 0x52,0x49,0x34,0x0, 0x7c,0x59,0x35,
+0x3, 0x56,0xb, 0xf0,0x12,0x40,0x97,0x58,0x2, 0x21,0xb8,0x6c,0xff,0x80,0x48,0x74,
+0x5, 0xac,0xbf,0x9, 0xb5,0x0, 0x7e,0xb4,0xff,0x3b,0x6c,0xee,0x7c,0x1e,0x2e,0x10,
+0x24,0xa5,0xe7,0x70,0x29,0xa, 0x3e,0x9, 0xb3,0x3, 0x5a,0x70,0x1f,0x74,0x1, 0x12,
+0x43,0xf9,0x49,0x23,0x0, 0x7a,0x74,0x2, 0xac,0xbe,0x59,0x25,0x3, 0x52,0x49,0x23,
+0x0, 0x7c,0x59,0x25,0x3, 0x56,0x19,0xe3,0x0, 0x7e,0x80,0x9, 0x5, 0x2c,0xb, 0xe0,
+0xbe,0xe0,0x2, 0x40,0xc7,0xb, 0xf0,0x7e,0xa3,0x0, 0x90,0x5e,0xa0,0xf, 0xa, 0x2a,
+0xa, 0x3f,0xbd,0x32,0x48,0xa9,0xe5,0x2c,0x60,0x2a,0x4c,0xaa,0x68,0x26,0xe5,0x2c,
+0xa, 0x3b,0xbd,0x23,0x48,0x1e,0x7e,0x73,0x0, 0x7e,0xbe,0x70,0x2, 0x40,0xc, 0x7e,
+0x73,0x0, 0x83,0xbe,0x70,0x2, 0x50,0x3, 0x12,0x46,0x3d,0x12,0x37,0x6e,0x9e,0x61,
+0x2c,0x12,0x35,0xe2,0x12,0x35,0x5e,0xa, 0x2b,0x7c,0xba,0x54,0xf, 0xa, 0x3b,0xbd,
+0x32,0x58,0x71,0x6c,0xff,0x12,0x43,0xe8,0x70,0x5a,0x7e,0xd0,0x2, 0xac,0xdf,0x49,
+0x46,0x3, 0x52,0xbe,0x44,0x7f,0xff,0x68,0x4b,0xa, 0x2f,0x9, 0x62,0x3, 0x5a,0xbe,
+0x60,0x2, 0x50,0x40,0x49,0x16,0x3, 0x56,0xbe,0x14,0x1, 0x8e,0x50,0x36,0x9, 0xb2,
+0xb, 0x31,0x60,0x30,0x74,0x1, 0xa5,0xf7,0x7e,0x73,0x0, 0x90,0x7c,0xe7,0x5e,0xe0,
+0xf, 0x74,0x5, 0xac,0xbe,0x59,0x45,0x0, 0x7a,0x59,0x15,0x0, 0x7c,0x19,0xf5,0x0,
+0x7e,0x2e,0x24,0x3, 0x5a,0x7c,0xb6,0x4, 0x7a,0x29,0xb0,0x7c,0x67,0xb, 0x60,0x12,
+0x35,0xe2,0x80,0x7, 0xe4,0xa, 0x3f,0x19,0xb3,0x3, 0x5a,0xb, 0xf0,0xbe,0xf0,0x2,
+0x78,0x93,0x80,0x9, 0xe4,0x7a,0xb3,0x3, 0x5a,0x7a,0xb3,0x3, 0x5b,0x6c,0xff,0x12,
+0x43,0xe8,0x70,0x10,0x7e,0x34,0x7f,0xff,0x74,0x2, 0xac,0xbf,0x59,0x35,0x3, 0x52,
+0x59,0x35,0x3, 0x56,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xe4,0x12,0x44,0x44,0x6c,0xff,
+0x12,0x43,0xe8,0xb4,0x1, 0x1d,0xa, 0x3f,0x9, 0xb3,0x3, 0x50,0xbe,0xb0,0x3, 0x68,
+0x3, 0xb4,0x1, 0x7, 0xe4,0x19,0xb3,0x3, 0x4e,0x80,0x33,0x74,0x2, 0x19,0xb3,0x3,
+0x4e,0x80,0x2b,0xa, 0x3f,0x9, 0xb3,0x3, 0x50,0xbe,0xb0,0x2, 0x68,0x2, 0x70,0x18,
+0x74,0x1, 0x19,0xb3,0x3, 0x4e,0xbe,0xe0,0x2, 0x50,0x13,0x7c,0xae,0xb, 0xe0,0x74,
+0x5, 0xa4,0x19,0xf5,0x0, 0x7e,0x80,0x6, 0x74,0x3, 0x19,0xb3,0x3, 0x4e,0xb, 0xf0,
+0xbe,0xf0,0x2, 0x40,0xab,0xda,0x3b,0x22,0x7c,0x1f,0x2e,0x10,0x24,0xa5,0xe7,0x22,
+0x7c,0xbf,0x3e,0xb0,0x24,0x28,0xa, 0x3b,0x22,0xa5,0xf7,0x7e,0x70,0x5, 0xac,0x7f,
+0x22,0x2e,0x10,0x22,0xa5,0xe7,0x7c,0xab,0x22,0x74,0x5, 0xac,0xbe,0x49,0x35,0x0,
+0x7a,0x49,0x25,0x0, 0x7c,0x22,0xca,0x79,0x12,0x44,0x3a,0x6c,0xff,0x80,0x13,0xa,
+0x3f,0x9, 0xe3,0x0, 0x76,0x7e,0x34,0x6, 0x15,0x7c,0xbe,0x6c,0x55,0x12,0x46,0x4e,
+0xb, 0xf0,0x12,0x40,0x97,0x48,0xe8,0xda,0x79,0x22,0x74,0x1, 0x6c,0xaa,0x12,0x44,
+0x6a,0x40,0xfb,0x22,0x7e,0xe3,0x0, 0x90,0x5e,0xe0,0xf, 0x22,0x7e,0x44,0x7f,0xff,
+0x7e,0x70,0x2, 0x22,0x74,0x5, 0xac,0xbf,0x59,0x35,0x0, 0x7c,0xb, 0xf0,0x22,0x6e,
+0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,0x22,0xa, 0x4a,0x19,0xb4,0x6, 0x15,
+0xb, 0xa0,0xbe,0xa0,0x2e,0x22,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7a,0x9d,0x32,
+0x2, 0x0, 0x2e,0xca,0x3b,0x12,0xe, 0xaf,0x7c,0xeb,0x78,0x30,0x6c,0xff,0x6d,0x11,
+0x74,0x2, 0xac,0xbf,0x59,0x15,0xd, 0x1d,0x7e,0xa0,0xff,0x7e,0x30,0x5, 0xac,0x3f,
+0x19,0xa1,0xd, 0x17,0x7e,0xb3,0xd, 0x28,0x70,0x3, 0xe4,0x80,0x2, 0x74,0x2, 0xa,
+0x1f,0x19,0xb1,0xd, 0x26,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xd2,0x7e,0x17,0x0, 0x92,
+0xbe,0x14,0x0, 0x1, 0x78,0x2, 0xa1,0xff,0x6c,0xff,0xa1,0xdb,0x74,0x5, 0xac,0xbf,
+0x9, 0x75,0x0, 0x7e,0x7a,0x71,0x23,0xbe,0x70,0x2, 0x40,0x2, 0xa1,0xd9,0xe5,0x23,
+0xa, 0x1b,0x12,0x46,0x20,0x78,0x2, 0xa1,0xd9,0x75,0x22,0x0, 0x7e,0x31,0x22,0x74,
+0x5, 0xac,0x3b,0x9, 0x71,0xd, 0x17,0x7a,0x71,0x24,0xbe,0x71,0x23,0x68,0x2, 0xa1,
+0xce,0x49,0x21,0xd, 0x15,0x12,0x46,0xb, 0x7d,0x63,0x12,0x14,0xd0,0x49,0x25,0xd,
+0x13,0x12,0x44,0x76,0x7d,0x3, 0x2d,0x6, 0xe5,0x24,0xa, 0x1b,0x9, 0xa1,0xd, 0x26,
+0xbe,0xa0,0x0, 0x28,0x17,0x7e,0x71,0x24,0x74,0x2, 0xac,0x7b,0x59,0x3, 0xd, 0x1d,
+0x2e,0x14,0xd, 0x26,0x7c,0xba,0x14,0x7a,0x19,0xb0,0xa1,0xd9,0x7e,0x31,0x24,0x74,
+0x2, 0xac,0x3b,0x49,0x31,0xd, 0x1d,0xbe,0x34,0x0, 0x1e,0x28,0x8, 0xbe,0x4, 0x0,
+0x1e,0x28,0x2, 0x80,0x10,0x7d,0x23,0x2e,0x24,0x0, 0x1e,0xbd,0x20,0x50,0x12,0xbe,
+0x34,0x0, 0x1e,0x28,0xc, 0x59,0x1, 0xd, 0x1d,0x74,0x1, 0x7a,0xb3,0xd, 0x28,0x80,
+0x68,0xbe,0x4, 0x0, 0x64,0x28,0x4b,0xe4,0x7a,0xb3,0xd, 0x28,0xe5,0x23,0xa, 0x1b,
+0x9, 0xb1,0x3, 0x4e,0x70,0x4, 0x74,0x3, 0x80,0x2, 0x74,0x1, 0x19,0xb1,0x3, 0x4e,
+0x12,0x46,0x28,0x7e,0x14,0xd, 0x21,0x74,0x5, 0x12,0x4, 0x8d,0xbe,0xe0,0x0, 0x28,
+0x21,0x1b,0xe0,0x7e,0x70,0x5, 0xac,0x7e,0x2e,0x34,0x0, 0x7a,0x7e,0x30,0x5, 0xac,
+0x3f,0x12,0x46,0x2, 0x7e,0x34,0xd, 0x21,0x7e,0x30,0x5, 0xac,0x3e,0x12,0x46,0x2,
+0x1b,0xf0,0x7e,0xa1,0x24,0x74,0x2, 0xa4,0x59,0x5, 0xd, 0x1d,0x80,0xb, 0x5, 0x22,
+0xe5,0x22,0xbe,0xb0,0x2, 0x50,0x2, 0x81,0xec,0xb, 0xf0,0x12,0x37,0x2c,0xa, 0x2b,
+0xa, 0x1f,0xbd,0x12,0x58,0x2, 0x81,0xcc,0x7c,0x6e,0x12,0x35,0xe2,0x6c,0xff,0x12,
+0x46,0x18,0x2e,0x34,0x0, 0x7a,0x2e,0x14,0xd, 0x13,0x12,0x46,0x32,0x78,0xf0,0xda,
+0x3b,0x22,0x2e,0x14,0x0, 0x7a,0x74,0x5, 0x2, 0x4, 0x8d,0x74,0x5, 0xac,0xbf,0x49,
+0x35,0x0, 0x7c,0x9d,0x32,0x2, 0x0, 0x2e,0x7e,0x30,0x5, 0xac,0x3f,0x7d,0x31,0x22,
+0x9, 0xb1,0x3, 0x4e,0xbe,0xb0,0x1, 0x22,0x7e,0x70,0x5, 0xac,0x7f,0x2e,0x34,0x0,
+0x7a,0x22,0x74,0x5, 0x12,0x4, 0x8d,0xb, 0xf0,0xbe,0xf0,0x2, 0x22,0x7e,0x1f,0x0,
+0x80,0x7e,0x33,0x0, 0x7f,0x7a,0x1f,0x0, 0x7b,0x7a,0x33,0x0, 0x7a,0x22,0x7d,0x13,
+0x4d,0x11,0x68,0xc, 0xbe,0xb0,0x2e,0x50,0x7, 0xa, 0x3b,0x2d,0x31,0x7a,0x39,0x50,
+0x22,0x6c,0xaa,0x74,0x3, 0xa, 0x4a,0x19,0xb4,0x3, 0x50,0x19,0xb4,0x3, 0x4e,0x12,
+0x44,0x4c,0xac,0x7a,0x59,0x43,0x3, 0x52,0x59,0x43,0x3, 0x56,0xb, 0xa0,0xbe,0xa0,
+0x2, 0x40,0xe0,0x22,0xca,0x3b,0x7c,0xcb,0x6c,0xaa,0xe5,0x9, 0x70,0xa, 0xe5,0x1c,
+0x70,0x6, 0xe5,0x11,0x70,0x2, 0xe1,0xee,0x20,0x7, 0x6, 0x7e,0x74,0xc, 0xac,0x80,
+0x4, 0x7e,0x74,0xc, 0xbe,0x6c,0xdd,0x7e,0x70,0xff,0xa, 0x2d,0x2d,0x27,0x7a,0x29,
+0x70,0xb, 0xd0,0xbe,0xd0,0x12,0x78,0xf2,0x74,0xaa,0x7a,0x79,0xb0,0x19,0xb7,0x0,
+0x1, 0x74,0x12,0x19,0xb7,0x0, 0x2, 0x7e,0xb3,0x2, 0xca,0x19,0xb7,0x0, 0x4, 0x6c,
+0x77,0x6c,0xdd,0x7e,0x10,0x5, 0xac,0x1d,0x9, 0x60,0x2, 0xba,0xbe,0x60,0xff,0x78,
+0x2, 0xe1,0x77,0xa, 0x16,0x9, 0xb1,0x3, 0x4e,0xbe,0xb0,0x3, 0x78,0x2, 0xe1,0x77,
+0x49,0x40,0x2, 0xb6,0x2e,0x44,0x0, 0x3, 0x49,0x20,0x2, 0xb8,0x2e,0x24,0x0, 0x3,
+0xa, 0x8, 0x12,0x5b,0xa0,0x19,0x60,0x0, 0x5, 0x7c,0x69,0xa, 0x7, 0x2d,0x7, 0x19,
+0x60,0x0, 0x6, 0xa, 0x4, 0x12,0x5b,0xa0,0x19,0x60,0x0, 0x7, 0x7c,0x65,0xa, 0x7,
+0x2d,0x7, 0x19,0x60,0x0, 0x8, 0xe4,0xa, 0x7, 0x2d,0x7, 0x19,0xb0,0x0, 0x9, 0xa,
+0x7, 0x2d,0x7, 0x19,0xb0,0x0, 0xa, 0x12,0x5b,0xab,0xc4,0x54,0xf0,0xa, 0x7, 0x2d,
+0x7, 0x2e,0x4, 0x0, 0x7, 0x7e,0x9, 0x60,0x2c,0x6b,0x7a,0x9, 0x60,0x12,0x5b,0xab,
+0xbe,0xb0,0xff,0x68,0x1f,0x12,0x46,0x20,0x68,0x2, 0xb, 0xa0,0x9, 0xb1,0x3, 0x4e,
+0x3, 0x3, 0x54,0xc0,0xa, 0x17,0x2d,0x17,0x2e,0x14,0x0, 0x5, 0x7e,0x19,0x60,0x2c,
+0x6b,0x7a,0x19,0x60,0x2e,0x70,0x6, 0xb, 0xd0,0xbe,0xd0,0x2, 0x68,0x2, 0xc1,0xd3,
+0x19,0xa7,0x0, 0x3, 0xe4,0x19,0xb7,0x0, 0x11,0x6c,0xdd,0xa, 0x3d,0x2d,0x37,0x7e,
+0x39,0x60,0x7d,0x27,0x2e,0x24,0x0, 0x11,0x7e,0x29,0x70,0x6c,0x76,0x7a,0x29,0x70,
+0xb, 0xd0,0xbe,0xd0,0x11,0x78,0xe4,0x30,0x7, 0x4, 0xc2,0x7, 0x80,0x2, 0xd2,0x7,
+0xe5,0x1c,0x60,0x3, 0x12,0x46,0x61,0x75,0x9, 0x0, 0x75,0x1c,0x0, 0x75,0x11,0x0,
+0x7e,0xb3,0xb, 0xb3,0xb4,0x1, 0x14,0x12,0x37,0x35,0x68,0x26,0xe5,0x4f,0xb4,0x1,
+0xf, 0x74,0x1, 0x12,0x47,0xf5,0x75,0x4f,0x0, 0x80,0x5, 0x74,0x1, 0x12,0x47,0xf5,
+0x7e,0x34,0x0, 0x9, 0x12,0x4e,0x92,0xbe,0xc0,0x1, 0x78,0x6, 0x80,0x0, 0xe4,0x12,
+0x47,0xf5,0xda,0x3b,0x22,0x70,0x3, 0xd2,0x86,0x22,0xc2,0x86,0x22,0x6c,0x77,0xa,
+0x27,0x9, 0x62,0x3, 0x4e,0x19,0x62,0x3, 0x50,0xb, 0x70,0xbe,0x70,0x2, 0x40,0xef,
+0x12,0x48,0x41,0x12,0x48,0x39,0x7a,0x73,0x0, 0x90,0x7e,0x73,0x0, 0x91,0x5e,0x70,
+0xf, 0x12,0x48,0x39,0x7a,0x73,0x0, 0x91,0x7e,0x1f,0x5, 0x2c,0x7a,0x1f,0x5, 0x30,
+0x7e,0x73,0x6, 0xe, 0x7a,0x73,0x6, 0xf, 0x22,0x7c,0xb7,0xc4,0x54,0xf0,0x4c,0x7b,
+0x22,0x7e,0x73,0x0, 0x90,0x5e,0x70,0xf, 0x22,0x12,0x48,0x41,0x6c,0x66,0x80,0x2,
+0xb, 0x60,0xbc,0x76,0x38,0xfa,0x22,0xca,0x3b,0x6c,0xaa,0x12,0x48,0x41,0x7e,0x44,
+0x3, 0x5c,0x7e,0x24,0x0, 0x76,0x6c,0x66,0x80,0x64,0x75,0x1f,0xff,0xa, 0xf6,0x2d,
+0xf2,0x7e,0xf9,0x20,0x7e,0x30,0x4, 0xac,0x23,0x7d,0xe1,0x2d,0xe4,0x49,0x1e,0x0,
+0x2, 0xb, 0xe8,0x0, 0xa, 0x76,0xb, 0x74,0x80,0x24,0xa, 0xef,0x2d,0xe2,0x7e,0xe9,
+0xe0,0x7e,0xd0,0x4, 0xac,0xde,0x7d,0xe6,0x2d,0xe4,0x49,0xde,0x0, 0x2, 0xb, 0xe8,
+0xc0,0xbf,0x6, 0x58,0x7, 0x7c,0xae,0x7a,0xf1,0x1f,0x7f,0x6, 0xb, 0xf0,0xbc,0x7f,
+0x38,0xd8,0xe5,0x1f,0xbe,0xb0,0xff,0x68,0x13,0x7e,0xf9,0xe0,0xe5,0x1f,0xa, 0xfb,
+0x2d,0xf2,0x7a,0xf9,0xe0,0xa, 0xf6,0x2d,0xf2,0x7a,0xf9,0xa0,0xb, 0x60,0xbc,0x76,
+0x38,0x98,0xda,0x3b,0x22,0xca,0x3b,0x7e,0x48,0x75,0x30,0x7f,0x74,0x9f,0x55,0x7f,
+0x5, 0x6c,0x77,0x7e,0xa0,0x1, 0x6c,0x66,0x7e,0x50,0x2, 0xac,0x56,0x49,0x72,0x5,
+0x34,0x6d,0x66,0x7e,0x50,0x4, 0xac,0x56,0x49,0xd2,0x3, 0x5e,0x49,0xc2,0x3, 0x5c,
+0x2f,0x63,0xbf,0x76,0x8, 0x2, 0x7f,0x76,0xbf,0x6, 0x58,0x2, 0x7f,0x6, 0xb, 0x60,
+0xa5,0xbe,0x16,0xd4,0x7f,0x30,0x9f,0x37,0xbe,0x38,0x4, 0xb0,0x58,0x3, 0x7e,0x70,
+0x1, 0x7f,0x74,0x7f,0x5, 0x6c,0x66,0x7e,0x50,0x2, 0xac,0x56,0x49,0xd2,0x5, 0x34,
+0x6d,0xcc,0xbf,0x76,0x8, 0x2, 0x7f,0x76,0xbf,0x6, 0x58,0x2, 0x7f,0x6, 0xb, 0x60,
+0xa5,0xbe,0x16,0xe3,0x9f,0x7, 0xbe,0x8, 0x4, 0xb0,0x8, 0x2, 0x6c,0xaa,0x4c,0x77,
+0x68,0x8, 0x4c,0xaa,0x78,0x4, 0x74,0x1, 0x80,0x1, 0xe4,0xda,0x3b,0x22,0xca,0x3b,
+0x7c,0xab,0x7d,0x73,0x4d,0x77,0x78,0x2, 0x41,0x75,0x4d,0x22,0x78,0x2, 0x41,0x75,
+0xe4,0x7a,0xb3,0x6, 0x4d,0x6c,0x99,0x21,0xf9,0x7e,0x70,0x4, 0xac,0x79,0x2d,0x37,
+0x49,0xf3,0x0, 0x2, 0xb, 0x38,0xe0,0xbe,0x7c,0xfc,0x18,0x58,0x5, 0xbe,0x90,0x16,
+0x40,0x15,0xbe,0x7c,0xf8,0x30,0x58,0x58,0xbe,0x90,0x16,0x40,0x53,0x7e,0xf, 0x5,
+0x28,0xbe,0x8, 0x7, 0xd0,0x58,0x49,0xa, 0x39,0x7d,0x13,0x2e,0x14,0xa, 0xd1,0x7e,
+0x19,0xb0,0x4, 0x7a,0x19,0xb0,0x9, 0xb3,0xa, 0xd1,0xbe,0xb0,0xc, 0x28,0x38,0x7e,
+0x70,0x2, 0xac,0x79,0x2d,0x32,0xb, 0x38,0x10,0x1a,0x2, 0x1a,0x0, 0x2f,0x7, 0xbe,
+0x8, 0x38,0x40,0x58,0x22,0x74,0x1, 0x7a,0xb3,0x6, 0x4d,0x6c,0x88,0x80,0xa, 0x74,
+0x1, 0xa, 0x38,0x19,0xb3,0xa, 0xe7,0xb, 0x80,0xbe,0x80,0x0, 0x40,0xf1,0x80,0x7,
+0xe4,0xa, 0x39,0x19,0xb3,0xa, 0xd1,0xb, 0x90,0xbc,0xa9,0x28,0x2, 0x21,0x79,0x6c,
+0x99,0x80,0x6a,0x7e,0xd0,0x4, 0xac,0xd9,0x12,0x4a,0x80,0xbe,0x1c,0xfc,0xe0,0x58,
+0x21,0xa, 0x39,0x7d,0x23,0x2e,0x24,0xa, 0x8d,0x12,0x4a,0x78,0x9, 0x83,0xa, 0x8d,
+0xbe,0x80,0xf, 0x28,0x14,0x12,0x48,0xd5,0x60,0xf, 0x74,0x3, 0x7a,0xb3,0x6, 0x4d,
+0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0x8d,0x12,0x4a,0x80,0xbe,0x1c,0xfc,0xe0,
+0x58,0x22,0x7e,0xb3,0x6, 0x4d,0x70,0x1c,0xa, 0x39,0x7d,0x23,0x2e,0x24,0xa, 0xbb,
+0x12,0x4a,0x78,0x9, 0x83,0xa, 0xbb,0xbe,0x80,0x12,0x28,0xf, 0x74,0x2, 0x7a,0xb3,
+0x6, 0x4d,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0xbb,0xb, 0x90,0x7e,0x83,0x6,
+0xc6,0xbc,0x89,0x38,0x8e,0xda,0x3b,0x22,0x7e,0x29,0xb0,0x4, 0x7a,0x29,0xb0,0x22,
+0x7d,0x16,0x2d,0x17,0x49,0x31,0x0, 0x2, 0xb, 0x18,0x20,0x22,0xe4,0x7a,0xb3,0x3,
+0x34,0x74,0x1, 0x7a,0xb3,0x3, 0x42,0x74,0x7, 0x7a,0xb3,0x3, 0x41,0x74,0xf, 0x7a,
+0xb3,0x3, 0x38,0x7a,0xb3,0x3, 0x39,0x74,0x3f,0x7a,0xb3,0x3, 0x36,0x74,0x12,0x7a,
+0xb3,0x3, 0x3a,0x7a,0xb3,0x3, 0x3b,0x74,0x3f,0x7a,0xb3,0x3, 0x37,0x74,0x10,0x7a,
+0xb3,0x3, 0x3c,0x7a,0xb3,0x3, 0x3d,0x74,0x5, 0x7a,0xb3,0x3, 0x35,0x74,0x3, 0x7a,
+0xb3,0x3, 0x40,0x7a,0xb3,0x3, 0x3f,0x22,0x74,0x12,0x7a,0xb3,0xb, 0x63,0x74,0xa0,
+0x7a,0xb3,0xb, 0x68,0xe4,0x7a,0xb3,0xb, 0x69,0x74,0x5, 0x7a,0xb3,0xb, 0x6a,0x74,
+0xe, 0x7a,0xb3,0xb, 0x6b,0x74,0x5a,0x7a,0xb3,0xb, 0x6c,0x74,0xe, 0x7a,0xb3,0xb,
+0x86,0x74,0x1, 0x7a,0xb3,0xb, 0x87,0xe4,0x7a,0xb3,0xb, 0x88,0x74,0x1, 0x7a,0xb3,
+0xb, 0x89,0x7a,0xb3,0xb, 0x9f,0x74,0x84,0x7a,0xb3,0xb, 0x8b,0xe4,0x7a,0xb3,0xb,
+0x8c,0x74,0x2, 0x7a,0xb3,0xb, 0x92,0xe4,0x7a,0xb3,0xb, 0x91,0x7a,0xb3,0xb, 0x90,
+0x7a,0xb3,0xd, 0x3f,0x7a,0xb3,0xb, 0xb3,0x74,0x3f,0x7a,0xb3,0xb, 0xb4,0xe4,0x7a,
+0xb3,0xb, 0x93,0x7a,0xb3,0xb, 0x9e,0x7a,0xb3,0xb, 0x79,0x7e,0x34,0x4, 0xb0,0x7a,
+0x37,0x3, 0x49,0x74,0x12,0x7a,0xb3,0x3, 0x4b,0x12,0x4b,0x97,0x12,0x4b,0x8f,0x7a,
+0xb3,0x0, 0x94,0x74,0x7, 0x7a,0xb3,0x0, 0x95,0x74,0xe, 0x7a,0xb3,0x0, 0x96,0x74,
+0x5a,0x7a,0xb3,0x0, 0x97,0x7a,0xb3,0x0, 0x98,0x74,0x5, 0x7a,0xb3,0x0, 0x99,0x74,
+0x1, 0x7a,0xb3,0x0, 0x9a,0xe4,0x7a,0xb3,0x0, 0x9b,0x7a,0xb3,0x0, 0xa1,0x22,0x6d,
+0x33,0x7a,0x37,0x0, 0x92,0xe4,0x22,0x7e,0x34,0xa, 0x0, 0x7a,0x37,0x0, 0x9e,0x74,
+0xa0,0x7a,0xb3,0x0, 0xa0,0x22,0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,
+0xca,0x1b,0xca,0xb, 0xc0,0xd0,0xc0,0x83,0xc0,0x82,0x12,0x3d,0xf0,0x74,0x1, 0x7a,
+0xb3,0xc, 0xd1,0xd0,0x82,0xd0,0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,
+0x4b,0xda,0x5b,0xda,0x6b,0xda,0x7b,0x32,0x7c,0xa7,0x24,0x0, 0x78,0x7, 0x7e,0x34,
+0xc, 0xd6,0x7a,0x39,0xa0,0x22,0xca,0xb8,0xa9,0xc0,0x93,0xe4,0x7a,0xb3,0xc, 0xd0,
+0x7a,0xb3,0xc, 0xd2,0xda,0xb8,0x32,0x6c,0xaa,0x74,0xff,0xa, 0x4a,0x19,0xb4,0xc,
+0xac,0x19,0xb4,0xc, 0xbe,0xb, 0xa0,0xbe,0xa0,0x12,0x40,0xed,0x22,0x30,0x9, 0x8,
+0x74,0x1, 0x12,0x47,0xf5,0xc2,0x9, 0x22,0xe4,0x12,0x47,0xf5,0xd2,0x9, 0x22,0xa9,
+0xd5,0xea,0xa9,0xc4,0xcb,0x75,0xa6,0x0, 0xa9,0xc1,0xcd,0x22,0xca,0x7b,0xca,0x6b,
+0xca,0x5b,0xca,0x4b,0xca,0x2b,0xca,0x1b,0xca,0xb, 0xc0,0xd0,0xc0,0x83,0xc0,0x82,
+0x12,0x4c,0x77,0x7e,0xb3,0xc, 0xd6,0x54,0xfd,0x7a,0xb3,0xc, 0xd6,0xc2,0xaf,0xa9,
+0xd0,0x9e,0xa9,0xd4,0x9e,0xd2,0xaf,0xc2,0x95,0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,
+0x4c,0x1f,0xd0,0x82,0xd0,0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x4b,
+0xda,0x5b,0xda,0x6b,0xda,0x7b,0x32,0xe5,0x9a,0x60,0x5, 0xd2,0x9c,0xa9,0xd6,0xdf,
+0x22,0xa9,0xd4,0xcb,0x75,0xa6,0x10,0xa9,0xd1,0xcd,0xa9,0xc5,0xea,0x22,0xd2,0xce,
+0x75,0x92,0x70,0xd2,0xad,0xd2,0xe8,0xc2,0xc0,0xa9,0xd0,0xf7,0xd2,0xf8,0xa9,0xd5,
+0xb7,0xd2,0xbd,0x22,0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,0xca,0x1b,
+0xca,0xb, 0xc0,0xd0,0xc0,0x83,0xc0,0x82,0x7e,0x35,0x1d,0xb, 0x34,0x7a,0x35,0x1d,
+0x7e,0x4, 0x0, 0xa, 0x7d,0x13,0x8d,0x10,0x4d,0x0, 0x78,0x38,0x7e,0xb3,0x9, 0x6b,
+0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0x9, 0x6b,0x7e,0xb3,0xd, 0x2c,0xbe,0xb0,
+0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x2c,0x7e,0xb3,0xd, 0x35,0xbe,0xb0,0x0, 0x28,
+0x5, 0x14,0x7a,0xb3,0xd, 0x35,0x7e,0xb3,0xd, 0x2b,0xbe,0xb0,0x0, 0x28,0x5, 0x14,
+0x7a,0xb3,0xd, 0x2b,0x7e,0xb3,0x6, 0xda,0x60,0x5, 0x14,0x7a,0xb3,0x6, 0xda,0xbe,
+0x34,0x3, 0xe8,0x40,0xe, 0x6d,0x33,0x7a,0x35,0x1d,0xe5,0xb, 0xbe,0xb0,0x64,0x50,
+0x2, 0x5, 0xb, 0x7e,0x37,0x2, 0xd0,0xb, 0x34,0x7a,0x37,0x2, 0xd0,0x7e,0x37,0x0,
+0x74,0xbe,0x37,0x2, 0xd0,0x28,0x3, 0x12,0x0, 0x17,0x7e,0xb3,0xb, 0x9f,0xb4,0xaa,
+0x18,0x7e,0x37,0x0, 0x9c,0x7d,0x23,0xb, 0x24,0x7a,0x27,0x0, 0x9c,0xbe,0x34,0x1,
+0x2c,0x28,0x6, 0x74,0x1, 0x7a,0xb3,0xb, 0x9f,0xe5,0x1a,0xbe,0xb1,0xd, 0x28,0x4,
+0x5, 0xd, 0x80,0x2, 0xd2,0x5, 0x7e,0xb3,0xc, 0xd1,0x60,0xf, 0xbe,0xb0,0x28,0x50,
+0x7, 0x4, 0x7a,0xb3,0xc, 0xd1,0x80,0x3, 0x12,0x26,0xb2,0xd0,0x82,0xd0,0x83,0xd0,
+0xd0,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,0x7b,0x32,
+0x12,0x4d,0xb8,0x12,0x0, 0x27,0x12,0x4d,0xcf,0xc2,0x0, 0xc2,0x2, 0x22,0xc2,0x8e,
+0xe5,0x89,0x54,0xf, 0x44,0x20,0xf5,0x89,0x75,0x8d,0x1, 0x75,0x8b,0x0, 0xd2,0x8e,
+0xd2,0xab,0xa9,0xc3,0xb7,0xd2,0xbb,0x22,0xe4,0x12,0x4e,0x49,0x12,0x4e,0x10,0x12,
+0x4e,0x1c,0x74,0x1, 0x2, 0x4d,0xc7,0x70,0x3, 0xc2,0xaf,0x22,0xd2,0xaf,0x22,0x7e,
+0x18,0x0, 0x54,0x74,0xf, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0x8, 0x3, 0xe8,0x12,0x4,
+0x59,0xbe,0x18,0xf, 0xff,0x28,0x4, 0x7e,0x18,0xf, 0xff,0xd2,0xc8,0xa9,0xc0,0xcd,
+0xc2,0xaf,0xa9,0xd0,0x9e,0x7c,0xb6,0xf5,0x9d,0xa9,0xd0,0x9e,0x7c,0xb7,0xf5,0x9c,
+0x12,0x4e,0x8, 0xc2,0xa8,0xd2,0xaf,0x22,0xc2,0x88,0xd2,0xb8,0xa9,0xd0,0xb7,0x22,
+0x75,0xeb,0x3, 0xa9,0xd6,0xac,0xa9,0xd6,0xec,0xd2,0x86,0x22,0xa9,0xd1,0x99,0x75,
+0x9a,0xfe,0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0xa9,0xd6,0xeb,0x70,0xf, 0xa9,0xc6,0xac,
+0xa9,0xc6,0xec,0xa9,0xd7,0xcd,0xc2,0x96,0xc2,0x95,0x80,0x7, 0xa9,0xd4,0xcd,0xd2,
+0x96,0xd2,0x95,0x12,0x4e,0x8, 0xd2,0xa8,0x22,0xd2,0xcf,0xbe,0xb0,0x7, 0x38,0x4,
+0x7c,0xab,0x80,0x2, 0x6c,0xaa,0x43,0xcb,0x8e,0x4e,0xa0,0x30,0x7a,0xa1,0xcc,0x0,
+0x0, 0x0, 0x0, 0xa9,0xd0,0xca,0xa9,0xc5,0xcb,0x53,0xca,0xf1,0x43,0xca,0xe, 0x75,
+0xcf,0x4, 0xc2,0xcc,0xd2,0xcb,0xc2,0xca,0xc2,0xc9,0xc2,0xc8,0xa9,0xc6,0xcb,0x0,
+0x0, 0x0, 0x0, 0x22,0x53,0xc8,0xc1,0x53,0xcb,0x10,0x22,0x43,0xc8,0xc9,0x43,0xcb,
+0x8e,0x22,0x7e,0x24,0x0, 0x14,0xad,0x32,0x80,0x3, 0x0, 0x0, 0x0, 0x7d,0x23,0x1b,
+0x34,0x4d,0x22,0x78,0xf5,0x22,0x30,0x0, 0x44,0xc2,0x6, 0xe4,0x7a,0xb3,0x3, 0x48,
+0x30,0x1, 0x1c,0x80,0x3, 0x30,0x0, 0x9, 0xa9,0x21,0x94,0xf9,0x80,0x3, 0x30,0x0,
+0x4, 0xa9,0x31,0x94,0xf9,0x30,0x0, 0x1e,0x80,0x15,0x80,0x3, 0x30,0x0, 0x9, 0xa9,
+0x31,0x94,0xf9,0x80,0x3, 0x30,0x0, 0x4, 0xa9,0x21,0x94,0xf9,0x30,0x0, 0x7, 0xd2,
+0x6, 0xe4,0x7a,0xb3,0x2, 0xcf,0x7e,0x37,0x2, 0xcd,0x2, 0x4e,0x92,0x22,0x7e,0x73,
+0x6, 0xc6,0xa, 0x37,0x1e,0x34,0x7a,0x73,0xd, 0x3d,0xa, 0x37,0x1e,0x34,0x7a,0x73,
+0xd, 0x3e,0x22,0xd2,0xc9,0xa, 0x56,0xf5,0xf1,0x7c,0xb7,0xf5,0xf2,0x75,0xf3,0x80,
+0x75,0xf4,0x0, 0x75,0xf5,0x83,0xa9,0x37,0xf5,0xfc,0xa9,0x36,0xf5,0xfc,0xe5,0xf6,
+0x43,0xfa,0x80,0xc2,0xc9,0x22,0x7e,0x24,0x12,0xa, 0xb, 0x28,0x30,0x5e,0x70,0xf,
+0x1b,0x28,0x30,0xb, 0x28,0x30,0x4e,0x70,0x80,0x1b,0x28,0x30,0x7e,0xb3,0x6, 0xcb,
+0xc4,0x23,0x7c,0x7b,0x5e,0x70,0x7, 0xa5,0xbf,0x0, 0x5, 0x7e,0xa0,0x2, 0x80,0x32,
+0xa5,0xbf,0x1, 0x13,0x7e,0xb3,0x6, 0xc9,0x1e,0xb0,0x54,0x3, 0x68,0x4, 0x6c,0xaa,
+0x80,0x20,0x7e,0xa0,0x3, 0x80,0x1b,0xa5,0xbf,0x3, 0x5, 0x7e,0xa0,0x6, 0x80,0x12,
+0x7e,0xb3,0x6, 0xc9,0x1e,0xb0,0x54,0x3, 0x68,0x5, 0x7e,0xa0,0x1, 0x80,0x3, 0x7e,
+0xa0,0x5, 0xa, 0x1a,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x2, 0x3c,0x9a,0x7e,
+0x24,0x12,0x2, 0xb, 0x28,0x30,0x5e,0x60,0xc0,0x1b,0x28,0x30,0x7e,0x73,0x6, 0xc8,
+0x7c,0x27,0x6c,0x33,0x12,0x3c,0x9a,0x6c,0x11,0x80,0xb, 0xa, 0x31,0x9, 0x3, 0x6,
+0x68,0xa, 0x20,0x12,0x5b,0x89,0x7e,0x3, 0x6, 0xc8,0xbc,0x1, 0x38,0xed,0x7c,0x10,
+0x80,0x9, 0x7e,0x24,0x0, 0x3f,0xa, 0x31,0x12,0x5b,0x89,0xbe,0x10,0x2e,0x40,0xf2,
+0x6d,0x22,0x7e,0x34,0x13,0x16,0x1b,0x38,0x20,0x7e,0x34,0x13,0x18,0x1b,0x38,0x20,
+0x7e,0x34,0x13,0x1a,0x1b,0x38,0x20,0x7e,0x34,0x13,0x1c,0x1b,0x38,0x20,0x6c,0x11,
+0x80,0xd, 0xa, 0x31,0x9, 0x3, 0x6, 0x68,0x7c,0xb0,0x12,0x50,0x16,0xb, 0x10,0x7e,
+0x73,0x6, 0xc8,0xbc,0x71,0x38,0xeb,0x7e,0xb3,0x6, 0xd7,0x30,0xe2,0x7, 0x7e,0xb3,
+0x6, 0xd5,0x2, 0x50,0x16,0x22,0x7c,0x7b,0xc4,0x54,0xf, 0x7c,0xab,0xa, 0x37,0x7e,
+0x24,0x0, 0x10,0x12,0x3, 0xba,0x7c,0x75,0x7e,0x14,0x0, 0x1, 0x7c,0xb7,0x60,0x5,
+0x3e,0x14,0x14,0x78,0xfb,0xa, 0x2a,0x3e,0x24,0x2e,0x24,0x13,0x16,0x2, 0x3c,0x9a,
+0xca,0x1b,0xca,0x19,0xc2,0xee,0xc2,0xc6,0x30,0xb, 0x6, 0x7e,0x34,0x0, 0x1, 0x80,
+0x4, 0x7e,0x34,0x0, 0x2, 0x7e,0x14,0x12,0x6, 0xb, 0x18,0x20,0x5d,0x23,0x68,0x7,
+0x6d,0x22,0x1b,0x18,0x20,0xd2,0xa, 0xd2,0xee,0xda,0x19,0xda,0x1b,0x32,0x7e,0xb3,
+0x6, 0xd7,0x20,0xe1,0x62,0x12,0x1f,0xe8,0x80,0x55,0xa, 0x2a,0x9, 0x52,0x6, 0x96,
+0x7e,0x90,0x4, 0xac,0x95,0x49,0x14,0x3, 0x5e,0x49,0x4, 0x3, 0x5c,0xbe,0x8, 0x3a,
+0xc0,0x8, 0x20,0x7e,0xb3,0xc, 0x1f,0x7e,0x44,0x0, 0x1, 0x60,0x5, 0x3e,0x44,0x14,
+0x78,0xfb,0x7e,0x10,0x2, 0xac,0x15,0x2e,0x4, 0xb, 0xc3,0xb, 0x8, 0x10,0x4d,0x14,
+0x1b,0x8, 0x10,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x1f,0xef,0x60,0xf, 0x7e,0x30,
+0x2, 0xac,0x35,0x49,0x1, 0xb, 0xc3,0x12,0x50,0xd8,0x1b,0x18,0x0, 0xb, 0xa0,0x7e,
+0x43,0x6, 0xc8,0xbc,0x4a,0x38,0xa3,0x22,0x7e,0x30,0x2, 0xac,0x35,0x2d,0x13,0x22,
+0x7e,0xb3,0x6, 0xd7,0x20,0xe1,0x42,0x12,0x1f,0xe8,0x80,0x35,0xa, 0x2a,0x9, 0x52,
+0x6, 0x96,0x12,0x50,0xd8,0xb, 0x18,0x40,0x7e,0xb3,0xc, 0x1f,0x7e,0x14,0x0, 0x1,
+0x60,0x5, 0x3e,0x14,0x14,0x78,0xfb,0x4d,0x41,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,
+0x1f,0xef,0x60,0xb, 0xa, 0x1a,0x3e,0x14,0x2e,0x14,0x12,0x14,0x1b,0x18,0x40,0xb,
+0xa0,0x7e,0x43,0x6, 0xc8,0xbc,0x4a,0x38,0xc3,0x22,0x7c,0x6b,0x7e,0x53,0x0, 0x90,
+0x7c,0xb5,0x54,0xf, 0x68,0x10,0x7c,0x45,0x1b,0x40,0x5e,0x40,0xf, 0x5e,0x50,0xf0,
+0x4c,0x54,0x7a,0x53,0x0, 0x90,0xa5,0xbe,0x0, 0x12,0xa5,0xbf,0x2, 0xe, 0x7e,0x73,
+0x0, 0x77,0x7a,0x73,0x0, 0x76,0x85,0x17,0x16,0x12,0x46,0x3d,0x22,0xca,0x3b,0x12,
+0xe, 0xaf,0x7c,0xeb,0x4c,0xee,0x78,0x2, 0x61,0x7b,0x7e,0x7f,0x0, 0xa2,0x7e,0x34,
+0x38,0x80,0x7e,0x24,0x0, 0x1, 0xbf,0x71,0x28,0x5, 0x7e,0x80,0xa, 0x80,0x2a,0x7e,
+0x34,0x11,0x70,0x7e,0x24,0x0, 0x1, 0xbf,0x71,0x28,0x5, 0x7e,0x80,0x6, 0x80,0x19,
+0xbe,0x78,0xea,0x60,0x28,0x5, 0x7e,0x80,0x4, 0x80,0xe, 0xbe,0x78,0xc3,0x50,0x28,
+0x5, 0x7e,0x80,0x2, 0x80,0x3, 0x7e,0x80,0x1, 0xa, 0xf8,0x6d,0xee,0x7e,0xd4,0x0,
+0xf, 0x7f,0x17,0x7d,0x1d,0x12,0x3, 0xfd,0x7f,0x7, 0x12,0x3, 0xec,0x7d,0x1d,0x12,
+0x3, 0xfd,0x7f,0x61,0x6c,0x99,0x7e,0xa0,0x5, 0x7c,0xd9,0xac,0xda,0x9, 0xb6,0x2,
+0xba,0x7c,0xfb,0xbe,0xf0,0x2, 0x50,0x25,0xa, 0x3f,0x9, 0xb3,0x3, 0x4e,0x70,0x1d,
+0x49,0x6, 0x2, 0xb6,0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x5, 0xb, 0x53,0x49,0x26,0x2,
+0xb8,0x59,0x25,0xb, 0x55,0x59,0x5, 0xb, 0x5b,0x59,0x25,0xb, 0x5d,0xb, 0x90,0xbe,
+0x90,0x2, 0x78,0xc2,0x6c,0x99,0x61,0x75,0x7e,0xa0,0x5, 0x7c,0x39,0xac,0x3a,0x9,
+0xb1,0x2, 0xba,0x7c,0xfb,0xbe,0xf0,0x2, 0x40,0x2, 0x61,0x73,0x7e,0xa0,0x4, 0x7c,
+0xdf,0xac,0xda,0x49,0x26,0xb, 0x53,0x49,0x31,0x2, 0xb6,0x9d,0x32,0x7d,0xa3,0x49,
+0x26,0xb, 0x55,0x49,0x31,0x2, 0xb8,0x9d,0x32,0x7d,0xb3,0x7d,0x1b,0x12,0x53,0x7e,
+0x7f,0x71,0x7d,0x1a,0x1a,0x2, 0x1a,0x0, 0x7d,0x3a,0x12,0x53,0x82,0x2f,0x17,0x7a,
+0x1f,0xa, 0x3, 0x49,0x26,0xb, 0x5b,0x12,0x53,0x9b,0x9d,0x32,0x7a,0x37,0x9, 0xfd,
+0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x25,0xb, 0x5d,0x12,0x53,0x91,0x9d,0x32,0x7d,0x63,
+0x7d,0x16,0x12,0x53,0x7e,0x7f,0x71,0x7e,0x27,0x9, 0xfd,0x7d,0x12,0x1a,0x2, 0x1a,
+0x0, 0x7f,0x10,0x12,0x3, 0xec,0x2f,0x17,0x7a,0x1f,0x9, 0xff,0x7e,0xa0,0x5, 0xac,
+0xa9,0x49,0x25,0x2, 0xb6,0xbe,0x24,0x0, 0x1e,0x40,0x1b,0xbe,0x24,0x1, 0x70,0x38,
+0x15,0x7e,0xa0,0x5, 0xac,0xa9,0x49,0x25,0x2, 0xb8,0xbe,0x24,0x0, 0x1e,0x40,0x6,
+0xbe,0x24,0x1, 0x70,0x28,0x20,0xa, 0x98,0x6d,0x88,0x7e,0xf4,0x0, 0x6, 0x12,0x53,
+0xc0,0x7e,0x84,0x0, 0xb, 0x7d,0x18,0x12,0x3, 0xfd,0x12,0x53,0xa5,0x7d,0x18,0x12,
+0x3, 0xfd,0x7f,0x41,0x80,0x1c,0xa, 0x98,0x6d,0x88,0x7e,0xf4,0x0, 0x5, 0x12,0x53,
+0xc0,0x2f,0x11,0x2f,0x11,0x2f,0x11,0x12,0x53,0xa5,0x2f,0x11,0x2f,0x11,0x2f,0x11,
+0x7f,0x41,0x7e,0x1f,0x9, 0xff,0xbf,0x16,0x38,0x4b,0x7e,0xf, 0xa, 0x7, 0x7e,0x7f,
+0xa, 0x3, 0xbf,0x70,0x38,0x12,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x35,0xb, 0x53,0x12,
+0x53,0xb1,0x49,0x35,0xb, 0x55,0x80,0x22,0xbf,0x74,0x38,0x3f,0x7e,0xa0,0x4, 0xac,
+0xaf,0x49,0x15,0xb, 0x53,0x7e,0x4, 0x0, 0x2, 0x7d,0x3a,0x12,0x53,0x89,0x12,0x53,
+0xb1,0x49,0x15,0xb, 0x55,0x7d,0x3b,0x12,0x53,0x89,0x7e,0xa0,0x5, 0xac,0xa9,0x59,
+0x35,0x2, 0xb8,0x80,0x16,0x7e,0x24,0x7f,0xff,0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x25,
+0xb, 0x5b,0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x25,0xb, 0x5d,0x12,0x53,0x9b,0x7e,0xa0,
+0x4, 0xac,0xaf,0x59,0x35,0xb, 0x53,0x12,0x53,0x91,0x7e,0xa0,0x4, 0xac,0xaf,0x59,
+0x35,0xb, 0x55,0xb, 0x90,0xbc,0xe9,0x28,0x2, 0x41,0x8, 0xda,0x3b,0x22,0x1a,0x2,
+0x1a,0x0, 0x1a,0x26,0x1a,0x24,0x2, 0x3, 0xec,0x7d,0x20,0x12,0x3, 0xba,0x2d,0x31,
+0x22,0x7e,0xa0,0x5, 0xac,0xa9,0x49,0x35,0x2, 0xb8,0x22,0x7e,0xa0,0x5, 0xac,0xa9,
+0x49,0x35,0x2, 0xb6,0x22,0xa, 0x18,0x6d,0x0, 0x12,0x3, 0xec,0x7f,0x1, 0x2f,0x10,
+0x22,0x7e,0xa0,0x5, 0xac,0xa9,0x59,0x35,0x2, 0xb6,0x7e,0xa0,0x4, 0xac,0xaf,0x22,
+0x7f,0x14,0x7d,0x1f,0x12,0x3, 0xfd,0x7f,0x4, 0x12,0x3, 0xec,0x7f,0x1, 0x2f,0x10,
+0x7d,0x1f,0x12,0x3, 0xfd,0x7a,0x1f,0xa, 0x7, 0xa, 0x38,0x6d,0x22,0x22,0xca,0x3b,
+0x12,0x44,0x44,0x78,0x24,0x6c,0xff,0xe4,0xa, 0x3f,0x19,0xb3,0xb, 0x27,0x19,0xb3,
+0xb, 0x31,0x19,0xb3,0x3, 0x5a,0x6d,0x33,0x74,0x2, 0xac,0xbf,0x59,0x35,0xb, 0x33,
+0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xe0,0xe1,0xc0,0x6c,0xff,0x7e,0x50,0x2, 0xac,0x5f,
+0x49,0x32,0x3, 0x52,0xbe,0x34,0x7f,0xff,0x78,0x17,0xe4,0xa, 0x1f,0x19,0xb1,0xb,
+0x27,0x19,0xb1,0xb, 0x31,0x19,0xb1,0x3, 0x5a,0x6d,0x11,0x59,0x12,0xb, 0x33,0x81,
+0xd9,0xa, 0x1f,0x9, 0xb1,0x3, 0x5a,0x60,0x2, 0x81,0xd9,0x59,0x32,0xb, 0x29,0x49,
+0x32,0x3, 0x56,0x59,0x32,0xb, 0x2d,0x49,0x32,0xb, 0x29,0x49,0x22,0xb, 0x2d,0x74,
+0x14,0xac,0xbf,0x49,0x15,0xb, 0xb, 0x49,0x5, 0xb, 0xd, 0x12,0xe, 0x7e,0x7a,0x37,
+0xa, 0x1, 0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0xb, 0x49,0x25,0xb, 0xd, 0x49,0x15,
+0xa, 0xff,0x49,0x5, 0xb, 0x1, 0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x3, 0xa, 0x3f,0x9,
+0x53,0xb, 0x27,0xbe,0x50,0x2, 0x40,0x4c,0x74,0x2, 0xac,0xbf,0x49,0x25,0xb, 0x29,
+0xbe,0x24,0x0, 0x18,0x40,0x16,0xbe,0x24,0x1, 0x76,0x38,0x10,0x49,0x25,0xb, 0x2d,
+0xbe,0x24,0x0, 0x18,0x40,0x6, 0xbe,0x24,0x1, 0x76,0x28,0xe, 0x7e,0x27,0xa, 0x1,
+0xbe,0x24,0x0, 0x27,0x28,0x4, 0x74,0x1, 0x80,0x1b,0x7e,0x27,0xa, 0x1, 0xbe,0x24,
+0x0, 0x27,0x28,0xd, 0x7e,0x27,0xa, 0x3, 0xbe,0x24,0x0, 0x42,0x28,0x3, 0xe4,0x80,
+0x4, 0xe4,0x80,0x1, 0xe4,0x19,0xb3,0xb, 0x31,0xb, 0xf0,0xbe,0xf0,0x2, 0x68,0x2,
+0x81,0xb, 0x6c,0xff,0xe1,0xba,0x74,0x5, 0xac,0xbf,0x9, 0xd5,0x2, 0xba,0xa, 0x3d,
+0x9, 0xb3,0xb, 0x27,0x70,0x34,0x6c,0xcc,0x7e,0x70,0x5, 0xac,0x7f,0x49,0x13,0x2,
+0xb6,0x7e,0x10,0x14,0xac,0x1d,0x7e,0x50,0x4, 0xac,0x5c,0x2d,0x20,0x59,0x12,0xa,
+0xff,0x49,0x33,0x2, 0xb8,0x59,0x32,0xb, 0x1, 0xb, 0xc0,0xbe,0xc0,0x5, 0x78,0xd8,
+0x6d,0x33,0x74,0x2, 0xac,0xbd,0x59,0x35,0xb, 0x33,0xa, 0x3d,0x9, 0xb3,0xb, 0x27,
+0xbe,0xb0,0x5, 0x50,0xa, 0xa, 0x3d,0x2e,0x34,0xb, 0x27,0x4, 0x7a,0x39,0xb0,0xa,
+0x3d,0x9, 0x73,0xb, 0x27,0xbe,0x70,0x1, 0x38,0x2, 0xc1,0x16,0x12,0x57,0xc3,0x60,
+0x2, 0xc1,0x16,0x7e,0x90,0x14,0xac,0x9d,0x49,0x34,0xb, 0xf, 0x49,0x54,0xb, 0xb,
+0x2d,0x53,0x7a,0x57,0x9, 0xfd,0x49,0x34,0xb, 0x11,0x49,0x54,0xb, 0xd, 0x2d,0x53,
+0x7a,0x57,0x9, 0xff,0x74,0x5, 0xac,0xbf,0x49,0x15,0x2, 0xb6,0x2e,0x17,0x9, 0xfd,
+0x7e,0x24,0x0, 0x3, 0x8d,0x12,0x59,0x15,0x2, 0xb6,0x49,0x35,0x2, 0xb8,0x2e,0x37,
+0x9, 0xff,0x8d,0x32,0x59,0x35,0x2, 0xb8,0x49,0x24,0xb, 0x7, 0x49,0x35,0x2, 0xb6,
+0x9d,0x32,0x12,0x0, 0x2e,0x7a,0x37,0x9, 0xfd,0x74,0x14,0xac,0xbd,0x49,0x25,0xb,
+0x9, 0x74,0x5, 0xac,0xbf,0x49,0x35,0x2, 0xb8,0x9d,0x32,0x12,0x0, 0x2e,0x12,0x5b,
+0x7c,0x38,0xa, 0x7e,0x37,0x9, 0xff,0xbe,0x34,0x0, 0x27,0x28,0x1a,0x12,0x57,0xe8,
+0x2e,0x34,0xb, 0x7, 0x2e,0x14,0xb, 0x3, 0x12,0x5b,0xf, 0x59,0x35,0xb, 0x7, 0x49,
+0x34,0x2, 0xb8,0x59,0x35,0xb, 0x9, 0x12,0x57,0xe8,0x2e,0x34,0xb, 0xb, 0x2e,0x14,
+0xb, 0xf, 0x12,0x5b,0xf, 0x59,0x35,0xb, 0xb, 0x49,0x44,0x2, 0xb8,0x59,0x45,0xb,
+0xd, 0x49,0x35,0xb, 0x7, 0x49,0x25,0xb, 0x9, 0x12,0xe, 0x76,0x74,0x2, 0xac,0xbd,
+0x59,0x35,0xb, 0x33,0xe1,0xb8,0x12,0x57,0xc3,0x70,0x2, 0xe1,0xb8,0xa, 0x3d,0x9,
+0x73,0xb, 0x27,0xbe,0x70,0x3, 0x50,0x2, 0xe1,0xb8,0x12,0x57,0xca,0x70,0x2, 0xe1,
+0xb8,0x74,0x14,0xac,0xbd,0x49,0x25,0xa, 0xff,0x49,0x35,0xb, 0xb, 0x12,0x57,0xe0,
+0x7a,0x37,0x9, 0xfd,0x74,0x14,0xac,0xbd,0x49,0x25,0xb, 0x1, 0x49,0x35,0xb, 0xd,
+0x12,0x57,0xe0,0x12,0x5b,0x7c,0x50,0xc, 0x7e,0x37,0x9, 0xff,0xbe,0x34,0x0, 0x27,
+0x50,0x2, 0xe1,0xb8,0x74,0x14,0xac,0xbd,0x12,0xe, 0x6e,0xb, 0x34,0x6d,0x22,0x7a,
+0x1f,0xa, 0x11,0x74,0x14,0xac,0xbd,0x49,0x35,0xb, 0x3, 0x49,0x25,0xb, 0x5, 0x74,
+0x2, 0xac,0xbd,0x49,0x15,0xb, 0x29,0x49,0x5, 0xb, 0x2d,0x12,0xe, 0x7e,0x6d,0x22,
+0x7a,0x1f,0xa, 0xd, 0x74,0x14,0xac,0xbd,0x49,0x5, 0xb, 0x5, 0x49,0x15,0xb, 0xd,
+0x9d,0x10,0x6d,0x0, 0x7a,0xf, 0xa, 0x9, 0x7d,0x21,0x7e,0xf, 0xa, 0x11,0x12,0x5a,
+0xf3,0x7a,0x1f,0xa, 0x9, 0x74,0x14,0xac,0xbd,0x49,0x15,0xb, 0x5, 0x6d,0x0, 0x7e,
+0x1f,0xa, 0x9, 0x2f,0x10,0x12,0x57,0xd1,0x9f,0x10,0x7a,0x1f,0xa, 0x9, 0x49,0x5,
+0xb, 0x3, 0x49,0x15,0xb, 0xb, 0x9d,0x10,0x6d,0x0, 0x7a,0xf, 0xa, 0x5, 0x7e,0x1f,
+0xa, 0xd, 0x7d,0x21,0x7e,0xf, 0xa, 0x11,0x12,0x5a,0xf3,0x7a,0x1f,0xa, 0x5, 0x74,
+0x14,0xac,0xbd,0x49,0xc5,0xb, 0x3, 0x7d,0x1c,0x6d,0x0, 0x7e,0x1f,0xa, 0x5, 0x2f,
+0x10,0x49,0xd5,0xb, 0xb, 0x7d,0xfd,0x6d,0xee,0x9f,0x17,0x7a,0x1f,0xa, 0x5, 0x12,
+0x57,0xca,0xb4,0x2, 0x17,0x7e,0x58,0x0, 0x2, 0x7e,0x1f,0xa, 0x5, 0x7f,0x5, 0x12,
+0x4, 0x59,0x12,0x2f,0xf1,0x7f,0x5, 0x12,0x57,0xd8,0x80,0x27,0x12,0x57,0xca,0xb4,
+0x1, 0x21,0xbd,0xdc,0x50,0xc, 0x7e,0x1f,0xa, 0x5, 0xbe,0x18,0x0, 0x0, 0x8, 0x13,
+0x80,0xa, 0x7e,0x1f,0xa, 0x5, 0xbe,0x18,0x0, 0x0, 0x58,0x7, 0x12,0x44,0x5f,0x7a,
+0x1f,0xa, 0x5, 0x12,0x57,0xc3,0x7e,0x1f,0xa, 0x5, 0xb4,0x1, 0x1d,0x2f,0x11,0x7e,
+0x68,0x0, 0x5, 0x7f,0x6, 0x12,0x4, 0x59,0x7a,0x1f,0xa, 0x5, 0x2f,0x17,0x12,0x2f,
+0xf1,0x2f,0x11,0x7f,0x6, 0x12,0x57,0xd8,0x80,0x6, 0x2f,0x17,0x7a,0x1f,0xa, 0x5,
+0x74,0x14,0xac,0xbd,0x12,0x57,0xd1,0x7e,0x1f,0xa, 0x9, 0x2f,0x10,0x7a,0x1f,0xa,
+0x9, 0x7e,0x1f,0xa, 0x5, 0x12,0x57,0xf0,0x12,0x2f,0xf1,0x12,0x57,0xf0,0x7a,0x1f,
+0xa, 0x9, 0x7e,0x1f,0xa, 0x5, 0x7d,0x43,0x74,0x5, 0xac,0xbf,0x59,0x45,0x2, 0xb6,
+0x7e,0x1f,0xa, 0x9, 0x59,0x35,0x2, 0xb8,0xb, 0xf0,0xbc,0xef,0x28,0x2, 0x81,0xe6,
+0xda,0x3b,0x22,0xa, 0x3d,0x9, 0xb3,0x3, 0x5a,0x22,0xa, 0x3d,0x9, 0xb3,0xb, 0x31,
+0x22,0x49,0x15,0xb, 0xd, 0x6d,0x0, 0x22,0x12,0x4, 0x59,0x7a,0x1f,0xa, 0x9, 0x22,
+0x9d,0x32,0x12,0x0, 0x2e,0xb, 0x34,0x22,0x7e,0x30,0x14,0xac,0x3d,0x7d,0x31,0x22,
+0x6d,0x22,0x7e,0x14,0x1, 0x8d,0x12,0x37,0xfa,0x6d,0x22,0x22,0x6d,0x22,0x7a,0x27,
+0xc, 0x7c,0x7e,0x34,0x1, 0x8e,0x7a,0x37,0xc, 0x7e,0x7a,0x27,0xc, 0x80,0x7a,0x37,
+0xc, 0x82,0x7e,0x14,0x0, 0x84,0x7a,0x17,0xc, 0x85,0x7e,0x14,0x0, 0xc7,0x7a,0x17,
+0xc, 0x87,0x74,0x64,0x7a,0xb3,0xc, 0x84,0x7e,0x14,0x0, 0x96,0x7a,0x17,0xc, 0x89,
+0x7a,0x27,0xc, 0xa0,0x7a,0x37,0xc, 0xa2,0x7a,0x27,0xc, 0xa4,0x7a,0x37,0xc, 0xa6,
+0x74,0x50,0x7a,0xb3,0xc, 0x9e,0x74,0x1e,0x7a,0xb3,0xc, 0x9f,0x74,0x3, 0x7a,0xb3,
+0xc, 0xa8,0x74,0x32,0x7a,0xb3,0xc, 0xa9,0x74,0xf, 0x7a,0xb3,0xc, 0xaa,0x74,0x50,
+0x7a,0xb3,0xc, 0xab,0x22,0xca,0xf8,0x7e,0xa3,0xb, 0xb3,0x7c,0xba,0x65,0x4e,0x68,
+0x5, 0xe4,0x7a,0xb3,0xb, 0xb6,0x7a,0xa1,0x4e,0x4c,0xaa,0x78,0x13,0x7e,0xb3,0x6,
+0x67,0x30,0xe1,0x5, 0x12,0x58,0xd3,0x80,0x11,0xe4,0x7a,0xb3,0x2, 0xca,0x80,0xa,
+0x7e,0xb3,0x6, 0x67,0x30,0xe1,0xb, 0x12,0x58,0xd3,0x12,0x5a,0x6e,0x12,0x5a,0x74,
+0x80,0x2e,0x12,0x58,0xe1,0x7c,0xfb,0x4c,0xff,0x68,0x25,0x7c,0xbf,0x12,0x5a,0x7b,
+0x60,0x1e,0x7e,0x34,0x0, 0x14,0x1b,0x34,0x78,0xfc,0x7e,0xb3,0x6, 0x67,0x30,0xe1,
+0x8, 0x74,0x26,0x7a,0xb3,0xb, 0xb6,0x80,0x7, 0x7a,0xf3,0xb, 0xb6,0x75,0x4f,0x1,
+0xda,0xf8,0x22,0x74,0x26,0x7a,0xb3,0x2, 0xca,0x7a,0xb3,0xb, 0xb6,0x75,0x4f,0x1,
+0x22,0xca,0x79,0x6c,0xaa,0x6d,0x44,0x7d,0xf4,0x7e,0x63,0x0, 0x90,0x7c,0xf6,0x5e,
+0xf0,0xf, 0x7c,0xb6,0xc4,0x7c,0xeb,0x5e,0xe0,0xf, 0x7e,0xe7,0xd, 0x29,0x1b,0xe4,
+0x68,0x3c,0x1b,0xe4,0x68,0x6e,0x1b,0xe4,0x78,0x2, 0x21,0xdf,0x2e,0xe4,0x0, 0x3,
+0x68,0x2, 0x41,0x7, 0xbe,0xf0,0x0, 0x38,0x2, 0x41,0xd, 0x4c,0xee,0x68,0x2, 0x41,
+0xd, 0x7e,0xe4,0x0, 0x1, 0x7a,0xe7,0xd, 0x29,0x7a,0xf7,0xd, 0x36,0x7a,0x47,0xd,
+0x38,0x12,0x5a,0x2e,0x7e,0xb3,0xc, 0xab,0x7a,0xb3,0xd, 0x35,0x21,0xc7,0x4c,0xff,
+0x78,0x2, 0x80,0x1e,0x12,0x5a,0x2e,0x7e,0x37,0xd, 0x36,0x7e,0x27,0xd, 0x38,0x12,
+0x5a,0x64,0xa5,0xbf,0x0, 0x4, 0xd2,0xe, 0x41,0x7, 0x7e,0xb3,0xd, 0x2c,0x60,0x2,
+0x41,0xd, 0x7e,0x34,0x0, 0x2, 0x7a,0x37,0xd, 0x29,0x7e,0xb3,0xc, 0xa9,0x7a,0xb3,
+0xd, 0x2b,0x41,0xd, 0xbe,0xf0,0x0, 0x28,0x58,0x4c,0xee,0x78,0x54,0x7a,0xf7,0xd,
+0x31,0x7a,0x47,0xd, 0x33,0x12,0x5a,0x2e,0x7e,0xb3,0xc, 0xa8,0xa, 0x2b,0x7e,0xb3,
+0xc, 0xa9,0xa, 0x3b,0x9d,0x32,0x7e,0xb3,0xd, 0x2b,0xa, 0x4b,0xbd,0x43,0x18,0x2,
+0x70,0x4, 0xd2,0xe, 0x80,0x61,0x7e,0x37,0xd, 0x36,0x7e,0x27,0xd, 0x38,0x7e,0xb3,
+0xc, 0x9e,0x12,0x5a,0x37,0x7c,0x7b,0xa5,0xbf,0x0, 0x4, 0xd2,0xe, 0x80,0x48,0x7e,
+0x34,0x0, 0x3, 0x7a,0x37,0xd, 0x29,0x7e,0xb3,0xc, 0xaa,0x7a,0xb3,0xd, 0x2c,0x80,
+0x3c,0x4c,0xff,0x78,0x38,0x7e,0xb3,0xd, 0x2b,0x70,0x32,0xd2,0xe, 0x80,0x2e,0x4c,
+0xff,0x78,0x10,0x7e,0xb3,0xd, 0x2c,0x70,0x4, 0xd2,0xe, 0x80,0x1a,0x7e,0x34,0x0,
+0x4, 0x80,0x16,0x12,0x5a,0x2e,0x7e,0x37,0xd, 0x31,0x7e,0x27,0xd, 0x33,0x12,0x5a,
+0x64,0xa5,0xbf,0x0, 0x8, 0xd2,0xe, 0x6d,0x33,0x7a,0x37,0xd, 0x29,0x7e,0x37,0xd,
+0x29,0xbe,0x34,0x0, 0x2, 0x78,0x12,0x7e,0xa0,0x25,0x6d,0x33,0x7a,0x37,0xd, 0x29,
+0xe4,0x7a,0xb3,0xd, 0x35,0x7a,0xb3,0xd, 0x2c,0x7c,0xba,0xda,0x79,0x22,0x7a,0xf7,
+0xd, 0x2d,0x7a,0x47,0xd, 0x2f,0x22,0x7d,0x13,0xa, 0x3b,0x7d,0x3, 0x2e,0x7, 0xd,
+0x2d,0xbd,0x1, 0x40,0x1d,0x2d,0x13,0xbe,0x17,0xd, 0x2d,0x40,0x15,0x7d,0x13,0x2e,
+0x17,0xd, 0x2f,0xbd,0x12,0x40,0xb, 0x2d,0x32,0xbe,0x37,0xd, 0x2f,0x40,0x3, 0x74,
+0x1, 0x22,0xe4,0x22,0x7e,0xb3,0xc, 0x9f,0x12,0x5a,0x37,0x7c,0x7b,0x22,0xe4,0x7a,
+0xb3,0x9, 0x62,0x22,0x6d,0x33,0x7a,0x37,0xd, 0x29,0x22,0x7c,0xab,0x54,0xf0,0xb4,
+0x20,0x18,0x7c,0xba,0x54,0xf, 0x7e,0x44,0x0, 0x1, 0x60,0x5, 0x3e,0x44,0x14,0x78,
+0xfb,0x7e,0x73,0xb, 0xb4,0xa, 0x57,0x5d,0x54,0x22,0xe4,0x22,0x7d,0x13,0x7e,0x37,
+0xc, 0xa0,0xbd,0x31,0x50,0x1a,0x7e,0x37,0xc, 0xa2,0xbd,0x31,0x28,0x12,0x7e,0x37,
+0xc, 0xa4,0xbd,0x32,0x50,0xa, 0x7e,0x37,0xc, 0xa6,0xbd,0x32,0x28,0x2, 0xe4,0x22,
+0x74,0x1, 0x22,0xa, 0xb, 0x7e,0x14,0x0, 0x3, 0x9d,0x10,0x7e,0x91,0x27,0x74,0x4,
+0xac,0x9b,0x2e,0x44,0x3, 0x5c,0x49,0x34,0x0, 0x2, 0xb, 0x48,0x20,0x7c,0xb3,0x22,
+0xa, 0x25,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x22,0x7e,0x37,0xa, 0x17,0x7d,
+0x21,0x7d,0x1f,0x12,0x6, 0x3e,0x1a,0x26,0x1a,0x24,0x22,0xe5,0x24,0xa, 0x3b,0x3e,
+0x34,0x2e,0x34,0x10,0x0, 0xb, 0x38,0x70,0x6d,0x66,0xe5,0x24,0xa, 0x3b,0x22,0x74,
+0x4, 0x12,0x4, 0x8d,0x7e,0x90,0x5, 0xac,0x9f,0x49,0x34,0x2, 0xb6,0x74,0x14,0xac,
+0xbd,0x22,0x7e,0x25,0x33,0x7a,0x27,0x0, 0x50,0x7e,0x25,0x35,0x7a,0x27,0x0, 0x52,
+0x7a,0x37,0x0, 0x54,0x22,0x7e,0xb3,0x6, 0x67,0x54,0xdf,0x7a,0xb3,0x6, 0x67,0x22,
+0x7e,0x25,0x22,0x7e,0x37,0xa, 0x9, 0xad,0x32,0x7c,0x76,0x7c,0x65,0xa, 0x24,0x22,
+0x6d,0x0, 0x2f,0x10,0x7e,0x14,0x0, 0x10,0x12,0x3, 0xfd,0x74,0x5, 0xac,0xbe,0x22,
+0x2e,0x18,0x0, 0xf, 0x7e,0x15,0x22,0x12,0x3, 0xfd,0x2f,0x11,0x2f,0x11,0x22,0x7e,
+0xf, 0xa, 0xb, 0x7e,0x37,0xa, 0x9, 0x6d,0x22,0x2, 0x3, 0xec,0x7a,0x37,0x9, 0xff,
+0x7e,0x37,0x9, 0xfd,0xbe,0x34,0x0, 0x27,0x22,0x3e,0x34,0x2e,0x34,0x12,0x92,0x1b,
+0x38,0x20,0xb, 0x10,0x22,0xb, 0x48,0x20,0x4d,0x25,0x1b,0x48,0x20,0x7c,0xb7,0x22,
+0x5e,0x4, 0x0, 0xf, 0x7c,0x61,0xa, 0x7, 0x2d,0x7, 0x22,0x7e,0x10,0x5, 0xac,0x1d,
+0x9, 0xb0,0x2, 0xba,0x22,0x7f,0x16,0x7d,0x1b,0x12,0x3, 0xfd,0x7f,0x7, 0x22,0x70,
+0x8f,0xff,0x0, 0x84,0x7b,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43,
+0x45,0x49,0x5f,0x44,0x42,0x57,0x32,0x0, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x30,
+0x30,0x30,0x30,0x0, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1,
+0x84,
diff --git a/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DBW2_3207_0x85_app.i b/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DBW2_3207_0x85_app.i
new file mode 100644
index 0000000..4b14f1a9
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DBW2_3207_0x85_app.i
@@ -0,0 +1,1474 @@
+0x2, 0x0, 0x76,0x2, 0x4c,0x2c,0x22,0x22,0x22,0x22,0x32,0x2, 0x0, 0xa, 0x7f,0x71,
+0x7e,0x8, 0x0, 0x2, 0x2, 0x4, 0x59,0x2, 0x4c,0x77,0x22,0x2, 0x4c,0xa4,0x1e,0x44,
+0x1e,0x44,0x1e,0x44,0x1e,0x44,0x22,0x2, 0x4d,0x9e,0xff,0x2, 0x4b,0xa6,0x7d,0x23,
+0xbe,0x24,0x0, 0x0, 0x48,0x3, 0x7d,0x32,0x22,0x6d,0x33,0x9d,0x32,0x22,0x70,0x2,
+0xc2,0xd, 0x22,0x2, 0x4b,0xe6,0x40,0x10,0x10,0x10,0x10,0x40,0x12,0x0, 0x1, 0x2,
+0x3, 0x14,0x12,0x4, 0x5, 0x6, 0x7, 0x14,0x13,0x8, 0x9, 0xa, 0xb, 0x15,0x13,0xc,
+0xd, 0xe, 0xf, 0x15,0x40,0x11,0x11,0x11,0x11,0x40,0x3e,0x34,0x3e,0x34,0x3e,0x34,
+0x3e,0x34,0x22,0x2, 0x50,0x40,0x75,0x84,0x1, 0x7e,0x44,0xf, 0xff,0xe4,0x7a,0x49,
+0xb0,0x1b,0x44,0x78,0xf9,0x7e,0xf8,0xd, 0x3f,0xc2,0xc, 0x75,0x47,0x18,0xc2,0x8,
+0xd2,0x9, 0x75,0x1d,0x0, 0x75,0x1e,0x0, 0xc2,0x0, 0xd2,0x1, 0xc2,0x2, 0xc2,0x3,
+0xc2,0x4, 0xc2,0x6, 0x75,0x8, 0x76,0x75,0xa, 0x0, 0x75,0xc, 0x37,0x75,0xe, 0x2,
+0x75,0xf, 0x74,0x75,0x10,0x71,0x75,0x14,0x71,0x75,0x15,0x71,0x75,0x1b,0x7b,0xd2,
+0xa, 0xc2,0xb, 0x75,0x4c,0x0, 0x75,0x4d,0x0, 0xc2,0xd, 0x75,0x4e,0x0, 0x75,0x4f,
+0x0, 0xc2,0xe, 0x7e,0x4, 0x0, 0xff,0x7e,0x14,0x5, 0xa, 0xb, 0xa, 0x40,0x5d,0x44,
+0x68,0x1a,0x69,0x20,0x0, 0x2, 0xb, 0xe, 0xb, 0x44,0x80,0xa, 0x7e,0xb, 0xb0,0x7a,
+0x29,0xb0,0xb, 0x24,0xb, 0xc, 0x1b,0x44,0x78,0xf2,0x80,0xdf,0x2, 0x21,0x65,0xff,
+0x5b,0xbf,0xa4,0x40,0xda,0x25,0x62,0x9d,0x85,0x7a,0x1, 0xfe,0xff,0xff,0xff,0x0,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0x7e,0xa0,0x20,0x80,0xc, 0x7e,0xa0,0x10,0x80,0x5, 0x7e,0xa0,0x8, 0x6c,0x55,0x6d,
+0x33,0x33,0x92,0xd5,0x50,0xa, 0x6e,0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,
+0xa5,0xec,0x33,0x40,0x6, 0x2f,0x11,0xd5,0xf0,0xf6,0x22,0x7c,0xba,0x24,0x7e,0xa2,
+0xd5,0x13,0x7c,0x76,0x7c,0x65,0xa5,0xcc,0x92,0xe7,0x7c,0x5b,0x22,0x7c,0xb5,0x33,
+0x7c,0xb4,0x33,0x92,0xd5,0x4e,0x50,0x80,0x24,0x81,0x40,0x3, 0x9f,0x11,0x22,0x7c,
+0x45,0x7c,0x56,0x7c,0x67,0x6c,0x77,0x24,0xe0,0x50,0xe, 0x7e,0x1c,0xff,0xff,0x22,
+0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x4, 0x78,0xf4,0x30,0xd5,0xa, 0x6e,
+0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,0x22,0x7c,0xb5,0xa2,0xe7,0xd2,0xe7,
+0x7c,0x1b,0x7c,0xb4,0x33,0x40,0x9, 0x68,0xd, 0xb4,0xff,0xb, 0xa5,0xbd,0xff,0x3,
+0x2, 0x2, 0x67,0x2, 0x2, 0x6f,0x22,0x7c,0xb, 0x24,0x81,0xc2,0xe0,0xf5,0x82,0xf4,
+0x4, 0x2c,0xb0,0x7c,0x2b,0xc3,0x13,0x7c,0x4b,0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x7f,
+0x41,0x7c,0xb6,0xa2,0xe7,0x7c,0xb1,0xa5,0xba,0x7f,0x2, 0xc3,0x13,0x34,0x0, 0x94,
+0x0, 0x7c,0x2b,0x7e,0xa0,0x91,0xa4,0x7c,0xba,0x13,0xf4,0x94,0xfe,0xac,0xb2,0x33,
+0x7c,0xba,0x33,0x24,0x8c,0xd3,0x13,0x7c,0x5b,0xe4,0x92,0xe7,0x7c,0x6b,0x6c,0x77,
+0x7e,0x40,0x3f,0x75,0x83,0x2, 0x7f,0x51,0x7f,0x1, 0x7f,0x14,0x12,0x3, 0x39,0x7f,
+0x5, 0x12,0x2, 0x81,0x9e,0x24,0x0, 0x80,0xd5,0x83,0xeb,0x7e,0x1, 0x82,0x6c,0x11,
+0xe, 0x4, 0x1e,0x4, 0x2d,0x20,0x5e,0x40,0x7f,0x22,0x2d,0x0, 0x92,0xd5,0xe, 0x10,
+0x4e,0x10,0x80,0x7d,0x42,0x2d,0x44,0x50,0x2, 0xb2,0xd5,0x4e,0x50,0x80,0x6c,0x44,
+0x7c,0xb8,0x22,0x2c,0x44,0x50,0x12,0xb, 0x1c,0x7e,0x40,0x0, 0x5e,0x50,0x7f,0xbe,
+0x18,0x0, 0x0, 0x78,0x4, 0xb, 0x80,0x68,0x16,0xa2,0xd5,0x7c,0xb8,0x13,0x7c,0x4b,
+0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x22,0x7e,0x1c,0xff,0xff,0x22,0x9f,0x11,0x22,0x7e,
+0x24,0xff,0x80,0x20,0xd5,0x2, 0x6c,0x45,0x6d,0x33,0x22,0x2, 0x2, 0x67,0x6e,0x0,
+0x80,0x7c,0xb1,0x33,0x7c,0xb0,0x33,0x68,0xd, 0x4, 0x68,0xef,0x7c,0xb5,0x33,0x7c,
+0xb4,0x33,0x78,0x3, 0x7f,0x10,0x22,0x4, 0x68,0xe1,0x7d,0x50,0x92,0xf7,0x7d,0x45,
+0x7d,0x51,0xbf,0x21,0x40,0x6, 0x7c,0x80,0x7f,0x1, 0x7f,0x12,0x12,0x2, 0x2a,0x7e,
+0xa1,0xd0,0x5c,0xb0,0x4, 0x78,0x3, 0x20,0xd5,0xc1,0x7c,0xb0,0x4, 0x78,0x7, 0x50,
+0x2, 0xb2,0xd5,0x2, 0x2, 0x6f,0x92,0xd5,0xbe,0x80,0xff,0x68,0xf6,0x7c,0xb8,0x9c,
+0xb0,0x6c,0x0, 0x60,0x2a,0xb4,0x18,0x5, 0x7c,0x41,0x2, 0x2, 0x43,0x50,0xfb,0x80,
+0x3, 0x2f,0x0, 0x4, 0x7c,0x9b,0x5e,0x90,0x7, 0x78,0xf6,0x30,0xe4,0x6, 0x7c,0x43,
+0x7d,0x10,0x6d,0x0, 0x30,0xe3,0x8, 0x7c,0x43,0x7c,0x32,0x7c,0x21,0xa, 0x0, 0x30,
+0xf5,0x19,0x9f,0x10,0x78,0xe, 0x22,0x2, 0x2, 0x6c,0x1b,0x80,0x68,0xf9,0x2f,0x11,
+0x50,0x2, 0xb, 0x70,0x7c,0xb5,0x30,0xe7,0xf1,0x80,0x1b,0x2d,0x31,0x7c,0xb5,0xa5,
+0x39,0x7c,0x5b,0x50,0x11,0xb, 0x80,0x78,0x3, 0x2, 0x2, 0x6f,0x1e,0x34,0x13,0x50,
+0x3, 0x4e,0x60,0x80,0x1a,0x2b,0x2, 0x2, 0x43,0xbe,0x24,0xff,0xff,0x68,0x6, 0xbe,
+0x4, 0xff,0xff,0x78,0x3, 0x2, 0x2, 0x67,0x12,0x2, 0x2a,0x5c,0xb0,0x4, 0x68,0xf5,
+0x7c,0xb8,0xa5,0x48,0x68,0xef,0x7c,0xb8,0x70,0x3, 0x9f,0x11,0x22,0xa5,0xb8,0x0,
+0x3, 0x2, 0x2, 0x6f,0x2e,0x0, 0x81,0x50,0x7, 0x9c,0x80,0x38,0x7, 0x2, 0x2, 0x6c,
+0x9c,0x80,0x50,0xed,0xa, 0x51,0xc2,0xe7,0x4d,0x51,0x78,0x3, 0x2, 0x2, 0x59,0x7e,
+0x54,0x0, 0x80,0x7e,0x90,0x1a,0x6c,0x0, 0x80,0x6, 0x1b,0x90,0x68,0x14,0x2f,0x11,
+0xbf,0x10,0x40,0x4, 0x9f,0x10,0x4c,0xab,0x3, 0x30,0xe7,0xee,0xca,0xa8,0x6c,0xaa,
+0x80,0xe8,0xda,0x39,0xda,0x58,0x7c,0x4a,0xbe,0x50,0x80,0x50,0xa, 0x1b,0x80,0x68,
+0xbc,0x2f,0x11,0x50,0x2, 0xb, 0x70,0x2, 0x2, 0x43,0xc2,0xd5,0x7c,0xb4,0x30,0xe7,
+0x8, 0xb2,0xd5,0x6e,0x24,0xff,0xff,0xb, 0x24,0x7c,0xb6,0x30,0xe7,0x12,0xb2,0xd5,
+0x6e,0x34,0xff,0xff,0xb, 0x34,0x8d,0x32,0x6e,0x24,0xff,0xff,0xb, 0x24,0x80,0x2,
+0x8d,0x32,0x30,0xd5,0x6, 0x6e,0x34,0xff,0xff,0xb, 0x34,0x22,0x7d,0x51,0xad,0x3,
+0x7d,0x2, 0x7d,0x21,0xad,0x5, 0x2d,0x12,0xad,0x35,0x2d,0x21,0x22,0x7d,0x2, 0xad,
+0x31,0xad,0x10,0x2d,0x21,0x22,0x6d,0x0, 0x74,0x10,0x4d,0x0, 0x78,0xb, 0x4d,0x22,
+0x78,0x27,0x8d,0x31,0x7d,0x12,0x6d,0x22,0x22,0x7d,0x43,0x7d,0x32,0x6d,0x22,0x2f,
+0x11,0x2d,0x44,0x50,0x2, 0xa5,0xf, 0xbf,0x10,0x40,0x4, 0x9f,0x10,0xb, 0x90,0x14,
+0x78,0xed,0x7f,0x1, 0x6d,0x22,0x7d,0x34,0x22,0x7d,0x41,0x7d,0x13,0x8d,0x24,0x7d,
+0x2, 0x2f,0x0, 0x40,0x4, 0xbd,0x4, 0x40,0x4, 0x9d,0x4, 0xb, 0x14,0x14,0x78,0xf1,
+0x7d,0x23,0x7d,0x31,0x7d,0x10,0x6d,0x0, 0x22,0xc2,0xd5,0x7c,0xb0,0x30,0xe7,0x8,
+0xb2,0xd5,0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x7c,0xb4,0x30,0xe7,0x13,0xb2,0xd5,0x9f,
+0x22,0x9f,0x21,0x7f,0x12,0x12,0x4, 0x8, 0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x80,0x3,
+0x12,0x4, 0x8, 0x30,0xd5,0x6, 0x9f,0x22,0x9f,0x21,0x7f,0x12,0x22,0x6c,0xaa,0x4d,
+0x11,0x68,0x1a,0x1e,0x54,0x68,0xe, 0xb, 0x38,0x20,0x1b,0x18,0x20,0xb, 0x35,0xb,
+0x15,0x1b,0x54,0x78,0xf2,0x50,0x6, 0x7e,0x39,0x40,0x7a,0x19,0x40,0x22,0x7d,0x3,
+0x80,0xa, 0x7e,0x29,0xb0,0x7a,0x9, 0xb0,0xb, 0x24,0xb, 0x4, 0x7d,0x51,0x1b,0x14,
+0x4d,0x55,0x78,0xee,0x22,0x13,0x12,0x10,0xf, 0x14,0xe, 0xb, 0xc, 0x1, 0x7, 0xa,
+0x9, 0x2, 0x3, 0x5, 0x6, 0x11,0x4, 0x15,0x0, 0xd, 0x8, 0x7f,0x1, 0xbe,0x8, 0x0,
+0x0, 0x48,0x3, 0x7f,0x10,0x22,0x9f,0x11,0x9f,0x10,0x22,0x7d,0x13,0x80,0x7, 0x1b,
+0x24,0x7a,0x19,0xb0,0xb, 0x14,0x4d,0x22,0x78,0xf5,0x22,0x10,0x10,0x10,0x1c,0x19,
+0x14,0x10,0xe, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x0, 0xc, 0xc, 0xe9,0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xc, 0xf5,0x0, 0x0,
+0x0, 0x1, 0xc, 0xf7,0x0, 0x0, 0x1, 0xd, 0x10,0x0, 0x0, 0x1, 0xd, 0x11,0x0, 0x0,
+0x1, 0xd, 0x12,0x0, 0x0, 0x2e,0xa, 0x8d,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x16,0xa, 0xbb,0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x2e,0xa, 0xd1,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x1, 0xc, 0xd0,0x0, 0x0, 0x1, 0xc, 0xd2,0x0, 0x0, 0x2, 0xc, 0xd3,
+0x0, 0x0, 0x0, 0x1, 0xc, 0xd5,0x0, 0x0, 0x1, 0xc, 0xd7,0x0, 0x0, 0x1, 0xc, 0xd8,
+0x0, 0x0, 0x2, 0x0, 0x72,0x3, 0x1c,0x0, 0x4, 0x0, 0xa2,0x0, 0x0, 0x0, 0x0, 0x0,
+0x2, 0x2, 0xcd,0x0, 0x0, 0x0, 0x1, 0x2, 0xcf,0x0, 0x0, 0x1, 0x2, 0xd3,0x0, 0x0,
+0x1, 0x3, 0x48,0x0, 0x0, 0x1, 0x3, 0x4c,0x0, 0x0, 0x1, 0x3, 0x4d,0x0, 0x0, 0x1,
+0xd, 0x3a,0x0, 0x0, 0x1, 0xd, 0x3b,0xff,0x0, 0x1, 0xd, 0x3c,0x0, 0x0, 0x1, 0xd,
+0x3d,0x10,0x0, 0x1, 0xd, 0x3e,0x8, 0x0, 0x1, 0xd, 0x3f,0x0, 0x0, 0x1, 0x9, 0x6c,
+0x0, 0x0, 0x1, 0xd, 0x28,0x0, 0x0, 0x1, 0xb, 0x38,0x0, 0x0, 0x2, 0xd, 0x29,0x0,
+0x0, 0x0, 0x2, 0x6, 0xdb,0x6, 0xe1,0x0, 0x1, 0x9, 0x69,0x0, 0x0, 0x0, 0x7d,0x41,
+0x7d,0x12,0x1a,0x26,0x1a,0x24,0x12,0x6, 0x5e,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x2,
+0x4, 0x59,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x7f,0x17,0x9f,0x10,0x7d,0x1d,0x1a,0x2,
+0x1a,0x0, 0x2, 0x3, 0xec,0xca,0x3b,0x7f,0x71,0x7c,0xab,0x6c,0x33,0x6c,0xee,0x6d,
+0x22,0x7a,0x25,0x22,0x7a,0x25,0x24,0x7d,0x62,0x7d,0x82,0x7d,0x92,0x7d,0x42,0x7d,
+0xa2,0x7d,0xb2,0x7e,0x37,0x5, 0xf8,0x7d,0xd3,0x7e,0x24,0x0, 0x2, 0x12,0x3, 0xba,
+0x7d,0xc3,0xa, 0x3a,0x7e,0x24,0x0, 0xb, 0x12,0x3, 0xba,0x7c,0xb5,0x7c,0xfb,0xbe,
+0xf0,0x5, 0x50,0x4c,0x1a,0x13,0x12,0x7, 0x73,0x48,0x2c,0xbe,0x78,0x1, 0xa, 0x48,
+0x2, 0x80,0x3, 0x7e,0x45,0x24,0x12,0x6, 0x52,0x7d,0x54,0x12,0x7, 0x84,0xbe,0x78,
+0x0, 0xc7,0x8, 0x7c,0x7f,0x17,0x9e,0x18,0x0, 0xc7,0x12,0x0, 0xe, 0x7f,0x71,0x2e,
+0x18,0x0, 0xc7,0x7f,0x71,0x80,0x69,0xbe,0x78,0x0, 0x89,0x18,0x9, 0x7d,0x19,0x12,
+0x6, 0x54,0x7d,0x59,0x80,0x27,0x7e,0x45,0x22,0x12,0x6, 0x52,0x7d,0x54,0x80,0x1d,
+0x1a,0x1e,0x12,0x7, 0x73,0x48,0x1b,0xbe,0x78,0x1, 0x4, 0x48,0x9, 0x7d,0x1b,0x12,
+0x6, 0x54,0x7d,0x5b,0x80,0x7, 0x7d,0x18,0x12,0x6, 0x54,0x7d,0x58,0x12,0x7, 0x84,
+0x80,0x2e,0xbe,0x78,0x0, 0x87,0x18,0x9, 0x7d,0x1a,0x12,0x6, 0x54,0x7d,0x5a,0x80,
+0x7, 0x7d,0x16,0x12,0x6, 0x54,0x7d,0x56,0x12,0x7, 0x84,0xbe,0x78,0x0, 0x0, 0x58,
+0xf, 0x9f,0x11,0x9f,0x17,0x12,0x0, 0xe, 0x7f,0x71,0x9f,0x11,0x9f,0x17,0x7f,0x71,
+0xbe,0x78,0x0, 0x0, 0x58,0x6, 0x9f,0x11,0x7f,0x71,0x80,0x11,0x7d,0x1d,0x12,0x7,
+0x7d,0x48,0xa, 0x7d,0x3d,0x1a,0x26,0x1a,0x24,0x1b,0x1c,0x7f,0x71,0xbe,0xf0,0x5,
+0x40,0xc, 0x7d,0x1d,0x1a,0x2, 0x1a,0x0, 0x7f,0x17,0x2f,0x10,0x7f,0x71,0x7f,0x17,
+0xda,0x3b,0x22,0x1a,0x2, 0x7f,0x17,0x2f,0x10,0x7f,0x71,0x7d,0x1c,0x1a,0x2, 0x1a,
+0x0, 0xbf,0x70,0x22,0x3e,0x54,0x1a,0x4a,0x1a,0x48,0x7d,0x1d,0x1a,0x2, 0x1a,0x0,
+0x9f,0x2, 0x12,0x4, 0x59,0x7f,0x71,0x22,0xca,0x3b,0x7e,0xa3,0x0, 0x90,0x7c,0xca,
+0x5e,0xc0,0xf, 0x7c,0xba,0xc4,0x7c,0x3b,0x5e,0x30,0xf, 0x4c,0xcc,0x78,0x2d,0x12,
+0x9, 0xa5,0xbe,0x30,0x0, 0x38,0x3, 0x2, 0x9, 0xa2,0x6c,0xff,0x7e,0x20,0xff,0x74,
+0x5, 0xac,0xbf,0x19,0x25,0x2, 0xc4,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xf1,0x75,0x1c,
+0x1, 0x75,0x12,0x0, 0xe4,0x7a,0xb3,0xc, 0xf7,0x2, 0x9, 0xa2,0x7e,0x23,0xc, 0xf7,
+0xbe,0x20,0x3c,0x50,0x14,0x7e,0x4, 0xa, 0x0, 0x7a,0x7, 0x0, 0x9e,0x12,0x4b,0x9f,
+0x7c,0xb2,0x4, 0x7a,0xb3,0xc, 0xf7,0x80,0xd, 0x7e,0x37,0x0, 0x9e,0xbe,0x34,0xa,
+0x0, 0x68,0x3, 0x12,0x4b,0x97,0x6c,0xff,0x7e,0x20,0xff,0x74,0x5, 0xac,0xbf,0x19,
+0x25,0xa, 0x1, 0x7e,0x34,0x7f,0xff,0x59,0x35,0x9, 0xfd,0x59,0x35,0x9, 0xff,0xb,
+0xf0,0xbe,0xf0,0x2, 0x78,0xe2,0x6c,0xff,0x80,0x23,0x7e,0x50,0x5, 0xac,0x5f,0x7d,
+0x2, 0x2e,0x4, 0x0, 0x7a,0xb, 0x8, 0x30,0x12,0x0, 0x6a,0x1b,0x8, 0x30,0x2e,0x24,
+0x0, 0x7c,0xb, 0x28,0x30,0x12,0x0, 0x6a,0x1b,0x28,0x30,0xb, 0xf0,0xbc,0xcf,0x38,
+0xd9,0xa5,0xbb,0x0, 0x28,0x6c,0xff,0x80,0x1e,0x74,0x5, 0xac,0xbf,0x49,0x45,0x0,
+0x7a,0x59,0x45,0x2, 0xc0,0x49,0x45,0x0, 0x7c,0x59,0x45,0x2, 0xc2,0x9, 0x75,0x0,
+0x7e,0x19,0x75,0x2, 0xc4,0xb, 0xf0,0xbc,0xcf,0x38,0xde,0x21,0x4a,0x6c,0xdd,0x6c,
+0xff,0x6c,0xee,0x7e,0x70,0x5, 0xac,0x7e,0x9, 0xa3,0x2, 0xc4,0x7e,0x50,0x5, 0xac,
+0x5f,0x9, 0xb2,0x0, 0x7e,0xbc,0xba,0x78,0x13,0xbe,0xb0,0xff,0x68,0xe, 0xbe,0xd0,
+0x2, 0x50,0x10,0x2e,0x34,0x2, 0xc0,0x12,0xe, 0x60,0x80,0x7, 0xb, 0xe0,0xbe,0xe0,
+0x2, 0x40,0xd0,0xbe,0xe0,0x2, 0x78,0xb, 0xbe,0xd0,0x2, 0x50,0x6, 0x12,0x46,0x28,
+0x12,0xe, 0x60,0xb, 0xd0,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xb5,0x6c,0xff,0x12,0x46,
+0x18,0x2e,0x34,0x9, 0xfd,0x2e,0x14,0x2, 0xc0,0x12,0x46,0x32,0x78,0xf0,0xe5,0x12,
+0x70,0x68,0x6c,0xff,0x80,0x60,0x7c,0xef,0x6c,0xdd,0x80,0x21,0x7e,0x90,0x5, 0xac,
+0x9f,0x9, 0xa4,0x2, 0xc4,0x7e,0x70,0x5, 0xac,0x7d,0x9, 0xb3,0x0, 0x7e,0xbc,0xba,
+0x78,0x9, 0xbe,0xa0,0xff,0x68,0x4, 0x7c,0xed,0x80,0x6, 0xb, 0xd0,0xbc,0xcd,0x38,
+0xdb,0xbe,0xe0,0x2, 0x40,0x2, 0x7c,0xef,0x12,0xf, 0xfd,0xbe,0x34,0x18,0xe0,0x50,
+0xa, 0x49,0x24,0x2, 0xc2,0xbe,0x24,0x18,0xe0,0x40,0x12,0x49,0x24,0x0, 0x7a,0x74,
+0x5, 0xac,0xbf,0x59,0x25,0x2, 0xc0,0x59,0x35,0x2, 0xc2,0x80,0x7, 0x7c,0xbf,0x7c,
+0x7e,0x12,0x9, 0xdd,0xb, 0xf0,0xbc,0xcf,0x38,0x9c,0x6c,0xff,0x74,0x5, 0xac,0xbf,
+0x49,0x45,0x2, 0xc0,0x12,0x0, 0x1e,0x59,0x45,0x0, 0x7a,0x49,0x45,0x2, 0xc2,0x12,
+0x0, 0x1e,0x59,0x45,0x0, 0x7c,0x9, 0x75,0x2, 0xc4,0x19,0x75,0x0, 0x7e,0xb, 0xf0,
+0xbe,0xf0,0x2, 0x78,0xd7,0xbe,0xc0,0x0, 0x28,0x25,0x6c,0xff,0x74,0x5, 0xac,0xbf,
+0x49,0x45,0x0, 0x7a,0x59,0x45,0x2, 0xb6,0x49,0x45,0x0, 0x7c,0x59,0x45,0x2, 0xb8,
+0x9, 0x75,0x0, 0x7e,0x19,0x75,0x2, 0xba,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xdd,0x75,
+0x9, 0x1, 0xda,0x3b,0x22,0x12,0xe, 0xaf,0x78,0x32,0x20,0xc, 0x2f,0x6c,0xaa,0x7e,
+0x44,0x7f,0xff,0x7e,0x70,0x4, 0xac,0x7a,0x59,0x43,0xc, 0xe1,0x59,0x43,0xc, 0xe3,
+0x6d,0x33,0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0xc, 0xdd,0x7e,0x34,0x1, 0x0, 0x59,
+0x32,0xc, 0xd9,0xb, 0xa0,0xbe,0xa0,0x2, 0x78,0xd5,0xd2,0xc, 0x22,0xca,0x3b,0x7c,
+0xe7,0x7c,0xdb,0x75,0x24,0x0, 0x9f,0x11,0x7a,0x1f,0xa, 0xb, 0x7a,0x1f,0xa, 0xf,
+0x7a,0x1f,0xa, 0x13,0x12,0x44,0x9, 0x74,0x5, 0xac,0xbd,0x49,0x15,0x2, 0xc0,0x49,
+0x5, 0x2, 0xc2,0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x7, 0x74,0x5, 0xac,0xbd,0x9, 0xf5,
+0x2, 0xc4,0xbe,0xf0,0x2, 0x40,0x2, 0x6c,0xff,0x12,0x44,0x9, 0x74,0x4, 0xac,0xbf,
+0x49,0x15,0xc, 0xe1,0x49,0x5, 0xc, 0xe3,0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x9, 0x7e,
+0x27,0xa, 0x7, 0x7e,0x34,0x0, 0xdc,0xad,0x23,0x7e,0x17,0x0, 0x9e,0x12,0x4, 0x6,
+0x7a,0x35,0x22,0xbe,0x34,0x0, 0xa, 0x50,0x7, 0x7e,0x34,0x0, 0xa, 0x7a,0x35,0x22,
+0x75,0x24,0x0, 0x6c,0xcc,0x7e,0x90,0x14,0xac,0x9f,0x49,0x24,0xb, 0x3, 0x49,0x34,
+0xb, 0x7, 0xbd,0x32,0x78,0xe, 0x49,0x54,0xb, 0x5, 0x49,0x34,0xb, 0x9, 0xbd,0x35,
+0x78,0x2, 0xa1,0x41,0x74,0x5, 0xac,0xbe,0x49,0x15,0x0, 0x7c,0x1e,0x14,0x1e,0x14,
+0x1e,0x14,0x1e,0x14,0x6d,0x0, 0x7a,0xf, 0xa, 0x13,0xbe,0x8, 0x0, 0x18,0x48,0xa,
+0x7e,0xf, 0xa, 0x13,0xbe,0x8, 0x1, 0x76,0x8, 0x5, 0x75,0x25,0x34,0x80,0x1c,0x7e,
+0xf, 0xa, 0x13,0xbe,0x8, 0x0, 0x31,0x48,0xa, 0x7e,0xf, 0xa, 0x13,0xbe,0x8, 0x1,
+0x5d,0x8, 0x5, 0x75,0x25,0x20,0x80,0x3, 0x75,0x25,0x19,0x49,0x35,0x0, 0x7a,0x12,
+0xe, 0xa3,0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0xf, 0x74,0x5, 0xac,0xbe,0x49,0x35,0x0,
+0x7c,0x12,0xe, 0xa3,0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x5, 0x12,0xe, 0x2f,0x7a,
+0x1f,0xa, 0x13,0x7d,0x3, 0x7e,0x1f,0xa, 0xf, 0x7d,0x13,0x2d,0x10,0x7a,0x17,0xa,
+0x17,0xbe,0x14,0x0, 0x7, 0x8, 0x3d,0xbe,0x18,0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,
+0x1f,0xa, 0xf, 0x7e,0x1f,0xa, 0x13,0xbe,0x18,0x0, 0x0, 0x78,0xa, 0x7e,0x1f,0xa,
+0x13,0xb, 0x1c,0x7a,0x1f,0xa, 0x13,0x12,0xe, 0x39,0x8, 0x4, 0xb, 0xc0,0x80,0x14,
+0x7e,0x1f,0xa, 0xb, 0xbe,0x18,0x0, 0x64,0x8, 0xa, 0x12,0x5b,0xb5,0x12,0xe, 0x4e,
+0x8, 0x2, 0x5, 0x24,0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x3, 0x49,0x35,0xb, 0x7,
+0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0xf, 0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x5, 0x49,
+0x35,0xb, 0x9, 0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0x13,0x7e,0x1f,0xa, 0xf, 0xbe,0x18,
+0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,0x1f,0xa, 0xf, 0x7e,0x1f,0xa, 0x13,0xbe,0x18,
+0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,0x1f,0xa, 0x13,0x12,0xe, 0x39,0x8, 0x4, 0xb,
+0xc0,0x80,0x14,0x7e,0x1f,0xa, 0xb, 0xbe,0x18,0x0, 0x64,0x8, 0xa, 0x12,0x5b,0xb5,
+0x12,0xe, 0x4e,0x8, 0x2, 0x5, 0x24,0x74,0x14,0xac,0xbf,0x12,0xe, 0x6e,0x7d,0xf3,
+0xbe,0xf7,0xa, 0x17,0x8, 0x2, 0xa1,0x2e,0xe5,0x25,0xbe,0xb0,0x34,0x7e,0x1f,0xa,
+0xb, 0x40,0x9, 0x12,0x5b,0x60,0x7e,0x8, 0x0, 0x5a,0x80,0x7, 0x12,0x5b,0x60,0x7e,
+0x8, 0x0, 0x4b,0x12,0x4, 0x59,0x7a,0x1f,0xa, 0xb, 0xe5,0x24,0x60,0x2, 0x81,0xe2,
+0x4c,0xcc,0x68,0x2, 0x81,0xe2,0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0x3, 0x6d,0x22,
+0x49,0x15,0xb, 0xb, 0x6d,0x0, 0x9f,0x1, 0x7a,0xf, 0xa, 0xf, 0x12,0x5a,0xeb,0x74,
+0x14,0xac,0xbf,0x49,0x15,0xb, 0x3, 0x12,0x5b,0x50,0x49,0x15,0x0, 0x7a,0x6d,0x0,
+0x2f,0x10,0xbe,0x18,0x0, 0x0, 0x48,0x19,0x74,0x6, 0xac,0xbf,0x49,0xe5,0xc, 0xed,
+0x4d,0xee,0x78,0xd, 0x12,0x0, 0x10,0x7d,0xe3,0x74,0x5, 0xac,0xbe,0x59,0xe5,0x0,
+0x7a,0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0x5, 0x6d,0x22,0x74,0x14,0xac,0xbf,0x12,
+0x57,0xd1,0x9f,0x1, 0x7a,0xf, 0xa, 0x13,0x12,0x5a,0xeb,0x74,0x14,0xac,0xbf,0x49,
+0x15,0xb, 0x5, 0x12,0x5b,0x50,0x49,0x15,0x0, 0x7c,0x6d,0x0, 0x2f,0x10,0xbe,0x18,
+0x0, 0x0, 0x48,0x17,0x74,0x6, 0xac,0xbf,0x49,0x15,0xc, 0xed,0x4d,0x11,0x78,0xb,
+0x12,0x0, 0x10,0x74,0x5, 0xac,0xbe,0x59,0x35,0x0, 0x7c,0x7e,0x90,0x6, 0xac,0x9f,
+0x49,0x54,0xc, 0xe9,0x4d,0x55,0x78,0x14,0x7e,0x1f,0xa, 0xf, 0x7d,0x53,0x59,0x54,
+0xc, 0xe9,0x7e,0x1f,0xa, 0x13,0x7d,0x53,0x59,0x54,0xc, 0xeb,0x49,0x34,0xc, 0xe9,
+0x1a,0x26,0x1a,0x24,0x7e,0x7f,0xa, 0xf, 0x7f,0x7, 0x12,0xe, 0x9b,0x48,0x11,0x49,
+0x34,0xc, 0xeb,0x1a,0x26,0x1a,0x24,0x7e,0xf, 0xa, 0x13,0x12,0xe, 0x9b,0x58,0x32,
+0x74,0x6, 0xac,0xbf,0x49,0x35,0xc, 0xed,0xbe,0x34,0x0, 0x3, 0x58,0xe, 0x7e,0x50,
+0x6, 0xac,0x5f,0x2e,0x24,0xc, 0xed,0xb, 0x34,0x1b,0x28,0x30,0x7d,0x3f,0x74,0x6,
+0xac,0xbf,0x59,0x35,0xc, 0xe9,0x7e,0x1f,0xa, 0x13,0x74,0x6, 0xac,0xbf,0x59,0x35,
+0xc, 0xeb,0xe5,0x24,0xbe,0xb0,0x2, 0x40,0xe, 0x74,0x6, 0xac,0xbf,0x49,0x45,0xc,
+0xed,0xbe,0x44,0x0, 0x2, 0x48,0x5, 0x75,0x24,0x0, 0x80,0xc, 0x4d,0x44,0x78,0x8,
+0x7e,0x34,0x0, 0x1, 0x59,0x35,0xc, 0xed,0xbe,0xc0,0x2, 0x40,0xf, 0x7e,0x50,0x6,
+0xac,0x5f,0x49,0x32,0xc, 0xed,0xbe,0x34,0x0, 0x2, 0x48,0x4, 0x6c,0xcc,0x80,0x33,
+0x4d,0x33,0x78,0x2f,0x7e,0x34,0x0, 0x1, 0x59,0x32,0xc, 0xed,0x80,0x25,0x7e,0x34,
+0x0, 0x2, 0x74,0x6, 0xac,0xbf,0x59,0x35,0xc, 0xed,0x75,0x24,0x0, 0x6c,0xcc,0x80,
+0x12,0x6d,0x33,0x74,0x6, 0xac,0xbf,0x59,0x35,0xc, 0xe9,0x59,0x35,0xc, 0xeb,0x59,
+0x35,0xc, 0xed,0x7e,0x35,0x22,0xbe,0x34,0x1, 0x0, 0x28,0x7, 0x7e,0x34,0x1, 0x0,
+0x7a,0x35,0x22,0x74,0x5, 0xac,0xbd,0x49,0x25,0x2, 0xc0,0x74,0x5, 0xac,0xbe,0x12,
+0x44,0x7a,0x7a,0x37,0xa, 0x9, 0xe5,0x24,0x60,0x13,0x12,0x5b,0x6f,0x74,0x14,0x1e,
+0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x80,0x3, 0x12,0x5b,0x40,
+0x7a,0x37,0xa, 0x9, 0x7e,0x90,0x5, 0xac,0x9d,0x49,0x34,0x2, 0xc0,0x74,0x5, 0xac,
+0xbe,0x49,0x25,0x0, 0x7a,0xbd,0x23,0x28,0x11,0x7d,0x14,0x2e,0x14,0x2, 0xc0,0x7d,
+0x23,0x2e,0x27,0xa, 0x9, 0x1b,0x18,0x20,0x80,0xd, 0x7d,0x24,0x2e,0x24,0x2, 0xc0,
+0x9e,0x37,0xa, 0x9, 0x1b,0x28,0x30,0x49,0x24,0x2, 0xc2,0x12,0x46,0xf, 0x7a,0x37,
+0xa, 0x9, 0x4c,0xcc,0x68,0x13,0x12,0x5b,0x6f,0x74,0xa, 0x1e,0x34,0x1e,0x24,0x50,
+0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x80,0x3, 0x12,0x5b,0x40,0x7a,0x37,0xa, 0x9,
+0x7e,0x30,0x5, 0xac,0x3d,0x49,0x21,0x2, 0xc2,0x12,0xf, 0xfd,0xbd,0x32,0x7d,0x51,
+0x28,0xf, 0x2e,0x54,0x2, 0xc2,0x7d,0x2, 0x2e,0x7, 0xa, 0x9, 0x1b,0x58,0x0, 0x80,
+0xb, 0x2e,0x54,0x2, 0xc2,0x9e,0x27,0xa, 0x9, 0x1b,0x58,0x20,0x49,0x24,0x0, 0x7a,
+0x74,0x4, 0xac,0xbf,0x59,0x25,0xc, 0xe1,0x59,0x35,0xc, 0xe3,0xda,0x3b,0x22,0x9d,
+0x32,0x12,0x0, 0x2e,0x1a,0x26,0x1a,0x24,0x22,0x7e,0xb4,0x0, 0x64,0x7e,0x7f,0xa,
+0x13,0x7f,0x17,0x7d,0x1b,0x12,0x3, 0xfd,0x7e,0x6f,0xa, 0xf, 0x7f,0x6, 0x12,0x4,
+0x59,0x7f,0x1, 0x7a,0xf, 0xa, 0xb, 0xe5,0x25,0xa, 0x3b,0x6d,0x22,0xbf,0x10,0x22,
+0x7e,0x30,0x5, 0xac,0x3d,0x2e,0x14,0x9, 0xfd,0x74,0x5, 0x2, 0x4, 0x8d,0x49,0x35,
+0xb, 0xb, 0x49,0x25,0xb, 0xd, 0x49,0x15,0xb, 0x3, 0x49,0x5, 0xb, 0x5, 0xca,0x3b,
+0x7d,0x61,0x7a,0x35,0x26,0x7d,0x32,0x9d,0x30,0x12,0x0, 0x2e,0x7d,0x73,0x7e,0x35,
+0x26,0x9d,0x36,0x12,0x0, 0x2e,0x2d,0x37,0xda,0x3b,0x22,0x12,0x3, 0xec,0xbe,0x18,
+0x0, 0x0, 0x22,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x22,0x12,0xe, 0xba,0x7e,
+0xb3,0x0, 0x90,0x54,0xf, 0x22,0x7a,0xb3,0xb, 0x88,0x60,0x2a,0x7e,0xb3,0x6, 0xca,
+0x20,0xe7,0x3d,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x47,0x50,0xf7,0x12,0x5b,
+0x35,0x7e,0xb3,0x6, 0xca,0x54,0xc7,0x44,0x10,0x12,0x17,0x5f,0x12,0x5b,0x95,0x44,
+0x80,0x7a,0xb3,0x6, 0xca,0x22,0x7e,0xb3,0x6, 0xca,0x30,0xe7,0x13,0x54,0xc7,0x44,
+0x28,0x12,0x17,0x5f,0x12,0x5b,0x95,0x54,0x7f,0x7a,0xb3,0x6, 0xca,0x2, 0x37,0x96,
+0x22,0xca,0x79,0x7e,0x77,0x0, 0x92,0x4d,0x77,0x78,0x32,0xe4,0x12,0xe, 0xac,0xbe,
+0xb0,0x0, 0x28,0x5, 0x75,0xb, 0x0, 0xe1,0xa6,0x7e,0xb3,0x0, 0x94,0x20,0xe0,0x2,
+0xe1,0xa6,0x7e,0x73,0x0, 0x99,0xbe,0x71,0xb, 0x38,0x7b,0x75,0xb, 0x0, 0x7e,0x34,
+0x0, 0x1, 0x7a,0x37,0x0, 0x92,0x74,0x1, 0x12,0xe, 0xb6,0x80,0x69,0xbe,0x74,0x0,
+0x1, 0x78,0x14,0x74,0x1, 0x12,0xe, 0xac,0x68,0x5c,0x12,0x4b,0x8f,0x12,0xe, 0xb6,
+0x75,0xd, 0x27,0xd2,0x5, 0x80,0x4f,0xbe,0x74,0x0, 0x3, 0x78,0x49,0x7e,0xb3,0x0,
+0x9b,0x12,0x4e,0x28,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x47,0x50,0xf7,0x12,
+0xf, 0xf3,0x12,0x37,0x5f,0x74,0x2, 0x12,0xf, 0xcd,0x12,0x38,0xe2,0x12,0x0, 0x17,
+0xc2,0xa8,0xc2,0x95,0xa9,0xd0,0xca,0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,0x4e,0x10,
+0x12,0x1c,0xba,0x12,0x4b,0x8f,0x7a,0xb3,0xb, 0x88,0x74,0xa, 0x7a,0xb3,0x6, 0xda,
+0x7e,0xb3,0x6, 0xda,0x70,0xfa,0x7e,0x77,0x0, 0x92,0x4d,0x77,0x78,0xb, 0x80,0x4,
+0xe4,0x12,0xf, 0xcd,0x30,0x5, 0xf9,0x80,0xc, 0xbe,0x74,0x0, 0x1, 0x78,0x6, 0x12,
+0xf, 0xf3,0x12,0x37,0xb4,0x75,0xd, 0x0, 0xc2,0x5, 0xda,0x79,0x22,0x70,0x5, 0x43,
+0x87,0x1, 0x80,0x1a,0xb4,0x1, 0xb, 0xa9,0xd0,0xce,0xa9,0xd7,0xc9,0x43,0x87,0x2,
+0x80,0xc, 0xb4,0x2, 0xd, 0xa9,0xd0,0xce,0xa9,0xc7,0xc9,0x43,0x87,0x2, 0x0, 0x0,
+0x0, 0x0, 0x22,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x20,0x93,0xf9,0x22,0x7e,0x90,0x5,
+0xac,0x9e,0x49,0x34,0x0, 0x7c,0x22,0x7d,0xf3,0xbe,0xf4,0x0, 0x50,0x38,0x28,0x7e,
+0x54,0x0, 0x50,0x9d,0x5f,0x12,0x11,0x3b,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x28,
+0x4, 0x9f,0x22,0x80,0x8, 0x7e,0x18,0x0, 0x2d,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0,
+0x0, 0x50,0x64,0x9f,0x22,0x80,0x60,0xbe,0xf4,0x1, 0x2f,0x40,0x20,0x12,0x11,0x35,
+0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x40,0x4, 0x7e,0x28,0x0, 0x2c,0xbe,0x28,0x0,
+0x2d,0x28,0x4, 0x7e,0x28,0x0, 0x2d,0x2e,0x28,0x1, 0x61,0x80,0x3a,0xbe,0xf4,0x0,
+0xbf,0x50,0x23,0x7e,0x54,0x0, 0xbf,0x9d,0x5f,0x12,0x10,0xa0,0xbe,0x28,0x0, 0xc7,
+0x38,0x8, 0x7e,0x18,0x0, 0xc7,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0, 0x2d,0x50,0x17,
+0x7e,0x28,0x0, 0x2d,0x80,0x11,0x12,0x10,0x9a,0x2e,0x28,0x0, 0xc7,0xbe,0x28,0x1,
+0x61,0x28,0x4, 0x7e,0x28,0x1, 0x61,0x7d,0x35,0x22,0x7d,0x5f,0x9e,0x54,0x0, 0xbf,
+0x6d,0x44,0x7e,0x14,0x1, 0x81,0x7f,0x12,0x12,0x3, 0xfd,0x7f,0x21,0x7c,0xba,0x7c,
+0xa9,0xa, 0x48,0x22,0x7d,0xf3,0xbe,0xf4,0x0, 0x50,0x38,0x20,0x7e,0x54,0x0, 0x50,
+0x9d,0x5f,0x12,0x11,0x3b,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x28,0x4, 0x9f,0x22,
+0x80,0x60,0x7e,0x18,0x0, 0x2d,0x9f,0x12,0x7f,0x21,0x80,0x56,0xbe,0xf4,0x1, 0x2f,
+0x40,0x16,0x12,0x11,0x35,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x40,0x4, 0x7e,0x28,
+0x0, 0x2c,0x2e,0x28,0x1, 0x61,0x80,0x3a,0xbe,0xf4,0x0, 0xbf,0x50,0x23,0x7e,0x54,
+0x0, 0xbf,0x9d,0x5f,0x12,0x10,0xa0,0xbe,0x28,0x0, 0xc7,0x38,0x8, 0x7e,0x18,0x0,
+0xc7,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0, 0x2d,0x50,0x17,0x7e,0x28,0x0, 0x2d,0x80,
+0x11,0x12,0x10,0x9a,0x2e,0x28,0x0, 0xc7,0xbe,0x28,0x1, 0x61,0x28,0x4, 0x7e,0x28,
+0x1, 0x61,0x7d,0x35,0x22,0x7d,0x5f,0x9e,0x54,0x1, 0x2f,0x6d,0x44,0x7e,0x14,0x2,
+0x7, 0x22,0xca,0xf8,0x6c,0xff,0x80,0x1d,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7a,
+0x12,0x10,0x7, 0x74,0x5, 0xac,0xbf,0x59,0x35,0x0, 0x7a,0x49,0x35,0x0, 0x7c,0x12,
+0x10,0xb4,0x12,0x44,0x54,0x12,0x40,0x97,0x48,0xde,0xda,0xf8,0x22,0xca,0xf8,0x12,
+0x38,0xe2,0x12,0x38,0xf1,0x12,0x4b,0xf7,0x12,0x46,0x61,0x12,0x21,0xf9,0x12,0x4e,
+0xee,0x7e,0xb3,0xb, 0x9f,0xb4,0x1, 0x2, 0x80,0x2, 0x41,0x71,0x7e,0xf3,0x6, 0x4d,
+0x4c,0xff,0x68,0x36,0xbe,0xf0,0x1, 0x78,0xa, 0xe4,0x7a,0xb3,0x6, 0x4d,0x12,0x1f,
+0xe, 0x80,0x12,0xbe,0xf0,0x3, 0x78,0x5, 0x12,0x1b,0xd2,0x80,0x8, 0xbe,0xf0,0x2,
+0x78,0x3, 0x12,0x17,0xf5,0x7e,0x34,0xa, 0xd1,0x12,0x14,0xd7,0x7e,0x34,0xa, 0xbb,
+0x12,0x14,0xd7,0x7e,0x34,0xa, 0x8d,0x12,0x14,0xd7,0x12,0x27,0x61,0x12,0x3f,0xff,
+0x12,0x38,0xfa,0x44,0x1, 0x7a,0xb3,0x6, 0xd7,0x12,0x15,0xa, 0x12,0x37,0x3e,0x12,
+0x28,0x30,0x12,0x36,0x4a,0x12,0x28,0x69,0x12,0x2c,0xc8,0x12,0x44,0x16,0x7e,0xb3,
+0x6, 0x67,0x30,0xe1,0x3, 0x12,0x14,0xe7,0x12,0xe, 0xaf,0x12,0x0, 0x3e,0x7e,0x34,
+0x3, 0x5c,0x7e,0x24,0x5, 0x34,0x7e,0xb3,0x6, 0xc8,0x12,0x49,0x5e,0x12,0x0, 0x6,
+0x12,0x2b,0xb1,0x12,0x11,0x42,0x12,0x40,0x66,0x12,0x35,0x68,0x12,0x12,0x74,0x7e,
+0xb3,0xb, 0x38,0x60,0x8, 0xe4,0x7a,0xb3,0xb, 0x38,0x12,0x33,0x41,0x12,0x48,0x49,
+0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x3, 0x12,0x14,0xe7,0x12,0x18,0x68,0x12,0x35,0xfc,
+0x12,0x33,0x4c,0x12,0x32,0xdc,0x12,0x40,0xa4,0x12,0x44,0x83,0x12,0x7, 0x98,0x12,
+0x58,0x65,0x12,0x51,0x5d,0x12,0x53,0xde,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x3, 0x12,
+0x14,0xe7,0x7e,0xb3,0x0, 0x9a,0x12,0x46,0x84,0x12,0xf, 0x1, 0x12,0x47,0xfd,0x21,
+0x81,0xda,0xf8,0x22,0xca,0x3b,0x7e,0xb3,0x0, 0x90,0x7c,0xab,0x5e,0xa0,0xf, 0x7a,
+0xa1,0x25,0xc4,0x54,0xf, 0x54,0xf, 0xf5,0x26,0x7e,0x77,0x0, 0x6a,0x7e,0x67,0x0,
+0x6c,0x7e,0xb3,0x0, 0x68,0xf5,0x23,0x7e,0xb3,0x0, 0x69,0xf5,0x24,0x4c,0xaa,0x78,
+0x4, 0xc2,0x4, 0x81,0x5f,0xe5,0x25,0xbe,0xb0,0x1, 0x28,0x58,0x75,0x22,0x0, 0x80,
+0x48,0x12,0x14,0xd0,0x49,0x45,0x0, 0x7a,0x7a,0x45,0x2f,0x49,0x35,0x0, 0x7c,0x12,
+0x14,0xff,0x28,0xa, 0x12,0x14,0xdf,0x28,0x2e,0xbe,0x35,0x31,0x28,0x29,0x12,0x14,
+0x88,0xbd,0x36,0x28,0x22,0x7a,0x65,0x29,0x12,0x17,0xe4,0x50,0x3, 0x12,0x17,0xdc,
+0x7e,0x35,0x33,0x12,0x14,0xad,0x12,0x14,0xd0,0x59,0x35,0x0, 0x7a,0x12,0x14,0xaa,
+0x12,0x14,0xd0,0x59,0x35,0x0, 0x7c,0x5, 0x22,0xe5,0x25,0xbe,0xb1,0x22,0x38,0xb1,
+0xc2,0x4, 0x81,0x5f,0xe5,0x25,0xb4,0x1, 0x22,0xe5,0x26,0x70,0x1e,0x12,0x14,0xf4,
+0x28,0xe, 0x12,0x14,0xdf,0x28,0x5, 0xbe,0x35,0x31,0x38,0x4, 0xc2,0x4, 0x81,0x5f,
+0x12,0x14,0x88,0x7a,0x35,0x29,0x12,0x5b,0x22,0x61,0xf6,0xe5,0x25,0xb4,0x1, 0x2,
+0x80,0x2, 0x61,0xf6,0x12,0x14,0xf4,0x28,0xe, 0x12,0x14,0xdf,0x28,0x5, 0xbe,0x35,
+0x31,0x38,0x4, 0xc2,0x4, 0x81,0x5f,0x12,0x14,0x88,0x9e,0x37,0x0, 0x60,0x12,0x0,
+0x2e,0x7a,0x35,0x2b,0x7e,0x35,0x33,0x9e,0x37,0x0, 0x50,0x7e,0x25,0x35,0x9e,0x27,
+0x0, 0x52,0x12,0x14,0x6b,0x7a,0x35,0x2d,0x7e,0x37,0x0, 0x70,0xbe,0x35,0x2d,0x50,
+0x28,0x7e,0x35,0x27,0x9e,0x37,0x0, 0x54,0x12,0x0, 0x2e,0x7e,0xa1,0x23,0x74,0x5,
+0xa4,0xbd,0x35,0x58,0xc, 0x7e,0xa0,0x2, 0xe5,0x23,0xa4,0xf5,0x23,0xd2,0x4, 0x80,
+0x8, 0x7e,0xb3,0x0, 0x68,0xf5,0x23,0xc2,0x4, 0x30,0x4, 0x30,0xe5,0x23,0xa, 0x3b,
+0xbe,0x35,0x2b,0x28,0x4, 0x6d,0x33,0x80,0x27,0xe5,0x24,0xa, 0x3b,0xbe,0x35,0x2b,
+0x28,0x14,0x7e,0x25,0x2b,0x7e,0x34,0x0, 0x64,0xad,0x23,0xe5,0x24,0xa, 0x1b,0x6d,
+0x0, 0x12,0x4, 0x8, 0x80,0xa, 0x7e,0x34,0x0, 0x64,0x80,0x4, 0x7e,0x34,0x0, 0x64,
+0x7a,0x35,0x2b,0x7e,0xf7,0x0, 0x60,0x7d,0x1f,0x6d,0x0, 0x7e,0x35,0x27,0x6d,0x22,
+0x9f,0x10,0x7e,0x15,0x2b,0x12,0x3, 0xfd,0x12,0x2f,0x31,0x7f,0x1, 0x7d,0x3f,0x6d,
+0x22,0x2f,0x10,0x7a,0x35,0x29,0x7e,0x35,0x29,0xbd,0x36,0x38,0x7, 0x7e,0x25,0x27,
+0xbd,0x26,0x28,0x5, 0x7a,0x65,0x29,0x80,0xb, 0xbe,0x34,0x0, 0x1, 0x50,0x5, 0x6d,
+0x33,0x7a,0x35,0x29,0x12,0x17,0xe4,0x50,0x3, 0x12,0x17,0xdc,0x7e,0x35,0x33,0x12,
+0x14,0xad,0x7a,0x37,0x0, 0x7a,0x12,0x14,0xaa,0x7d,0x23,0x7a,0x27,0x0, 0x7c,0x7e,
+0x37,0x0, 0x7a,0x7a,0x35,0x2f,0x7a,0x25,0x31,0x7d,0x27,0x12,0x14,0x62,0x7a,0x35,
+0x33,0x7e,0x35,0x31,0x7d,0x27,0x12,0x14,0x62,0x7a,0x35,0x35,0x7e,0x35,0x29,0x7a,
+0x37,0x0, 0x60,0x7e,0x27,0x0, 0x70,0xbe,0x25,0x2d,0x50,0x3, 0x12,0x5b,0x22,0xda,
+0x3b,0x22,0x7d,0x12,0x6d,0x0, 0x6d,0x22,0x9f,0x10,0x22,0x7d,0x52,0x7d,0x43,0x7d,
+0x35,0x12,0x17,0x56,0x7f,0x71,0x7d,0x34,0x12,0x17,0x56,0x2f,0x17,0x7c,0xb4,0x12,
+0x1, 0x20,0x12,0x1, 0x9a,0x2, 0x1, 0x5d,0x7e,0x35,0x2f,0x7d,0x27,0x12,0x14,0x62,
+0x7a,0x35,0x33,0x7e,0x35,0x31,0x7d,0x27,0x12,0x14,0x62,0x7d,0x23,0x7a,0x25,0x35,
+0x7e,0x35,0x33,0x12,0x14,0x6b,0x7a,0x35,0x27,0x22,0x7e,0x35,0x35,0x7e,0x25,0x29,
+0x7e,0x15,0x27,0x7d,0x7, 0x7d,0xf0,0x7d,0xe1,0x7d,0x12,0x1a,0x26,0x1a,0x24,0x12,
+0x3, 0xfd,0x7d,0x1e,0x6d,0x0, 0x12,0x4, 0x59,0x7d,0x1f,0x6d,0x0, 0x2f,0x10,0x22,
+0x7e,0xa1,0x22,0x74,0x5, 0xa4,0x22,0x7e,0x24,0x0, 0x16,0xe4,0x2, 0x4, 0xeb,0x7e,
+0x37,0x0, 0x72,0xbe,0x35,0x2f,0x22,0x7e,0xb3,0x0, 0x90,0x54,0xf0,0x44,0x2, 0x7a,
+0xb3,0x0, 0x90,0x22,0x7e,0x37,0x0, 0x7a,0x7a,0x35,0x2f,0x7e,0x37,0x0, 0x7c,0x7a,
+0x35,0x31,0x7e,0x73,0x6, 0xc7,0xbe,0x70,0x0, 0x22,0xca,0x3b,0x12,0x17,0xcd,0x30,
+0xe1,0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0xc, 0x7e,0xb3,0xd, 0x3f,0x70,0x14,0x7e,
+0xb3,0xd, 0x3c,0x70,0xe, 0x7e,0xb3,0x6, 0x67,0x20,0xe0,0x2, 0xc1,0x4e,0x20,0xe2,
+0x2, 0xc1,0x4e,0x7c,0xba,0x30,0xe1,0x8, 0x7e,0xb3,0x6, 0x12,0xf5,0x28,0x80,0x6,
+0x7e,0xb3,0x6, 0x13,0xf5,0x28,0x7c,0xba,0x30,0xe1,0x7, 0x7e,0xb3,0x6, 0x67,0x30,
+0xe2,0x5, 0x75,0x29,0x1, 0x80,0x3, 0x75,0x29,0x2, 0x7e,0xb3,0xd, 0x3c,0xbe,0xb0,
+0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x3c,0x7e,0xb3,0x6, 0x67,0x30,0xe5,0xb, 0x80,
+0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x47,0x50,0xf7,0x12,0x17,0xbf,0x4e,0x70,0x2,
+0x1b,0x28,0x30,0x12,0x1f,0xc9,0x7e,0x73,0x6, 0xd6,0xa, 0x57,0x12,0x17,0x7c,0x12,
+0x17,0xec,0x75,0x25,0x0, 0xc1,0x1a,0x12,0x4e,0xa6,0x75,0x26,0x0, 0x80,0x72,0x7e,
+0xb3,0x6, 0xc9,0x54,0x1, 0x6c,0x77,0x12,0x17,0x8d,0x80,0x4, 0xe4,0x12,0xf, 0xcd,
+0x12,0x17,0x47,0x50,0xf7,0x75,0x24,0x0, 0x80,0x50,0x12,0x5a,0xfb,0x9, 0x23,0x6,
+0x96,0x7a,0x21,0x27,0x7e,0x71,0x25,0x74,0x3, 0xac,0x7b,0xe5,0x26,0xa, 0x2b,0x2d,
+0x23,0x7e,0x34,0x0, 0x58,0xad,0x32,0x7e,0x30,0x4, 0xac,0x23,0x2d,0x13,0x59,0x71,
+0x0, 0xa8,0x59,0x61,0x0, 0xa6,0x7e,0x73,0x6, 0xd6,0xbe,0x70,0x2, 0x38,0x19,0xa,
+0x7, 0x7e,0x54,0x0, 0x3, 0x9d,0x50,0x2e,0x14,0x0, 0xa6,0x12,0x4a,0x84,0x60,0x5,
+0x2f,0x11,0x14,0x78,0xfb,0x12,0x17,0xd4,0x5, 0x24,0x12,0x17,0x4e,0x38,0xab,0x5,
+0x26,0xe5,0x28,0xbe,0xb1,0x26,0x38,0x87,0x5, 0x25,0xe5,0x29,0xbe,0xb1,0x25,0x28,
+0x2, 0xa1,0x97,0x7e,0x37,0x6, 0xa, 0x99,0x34,0x12,0x17,0xbf,0x5e,0x70,0xfd,0x1b,
+0x28,0x30,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0xa, 0x1b,0x3e,0x14,0x12,0x3c,0x9a,0x12,
+0x1f,0xc9,0x7e,0xb3,0x6, 0xca,0x12,0x17,0x76,0x12,0x17,0xec,0xe1,0x44,0x7e,0xb3,
+0x6, 0xc9,0x30,0xe0,0x51,0x7e,0xb3,0x6, 0x67,0x30,0xe5,0x5, 0x12,0x17,0x47,0x50,
+0x11,0x74,0x2, 0x12,0x17,0xc7,0x12,0x4e,0xa6,0x12,0x17,0x84,0x80,0x4, 0xe4,0x12,
+0xf, 0xcd,0x12,0x17,0x47,0x50,0xf7,0xe4,0x12,0x17,0xc7,0x75,0x24,0x0, 0x80,0x17,
+0x12,0x5a,0xfb,0x9, 0xa3,0x6, 0x96,0x7a,0xa1,0x27,0x74,0x4, 0xa4,0x59,0x75,0x3,
+0x5e,0x59,0x65,0x3, 0x5c,0x5, 0x24,0x12,0x17,0x4e,0x38,0xe4,0x7e,0xb3,0x6, 0x67,
+0x30,0xe5,0x3, 0x12,0x17,0x84,0x75,0x24,0x0, 0xe1,0x37,0xe5,0x24,0xa, 0x3b,0x9,
+0xb3,0x6, 0x96,0xf5,0x27,0x12,0x17,0xcd,0x30,0xe1,0x19,0x7e,0xb3,0x6, 0xca,0xc4,
+0x23,0x54,0x7, 0xbe,0xb0,0x2, 0x38,0x22,0x12,0x5a,0xc3,0x60,0x16,0x2f,0x11,0x14,
+0x78,0xfb,0x80,0xf, 0x12,0x32,0xd4,0x38,0x11,0x12,0x5a,0xc3,0x60,0x5, 0x2f,0x11,
+0x14,0x78,0xfb,0x59,0x34,0x0, 0x2, 0x1b,0x48,0x20,0x7c,0xba,0x30,0xe0,0x46,0x7e,
+0x31,0x27,0x74,0x2, 0xac,0x3b,0x49,0xf1,0x5, 0x90,0x7d,0x3f,0x1a,0x36,0x1a,0xe6,
+0x7e,0x11,0x27,0x74,0x4, 0xac,0x1b,0x49,0x30,0x3, 0x5e,0x49,0x20,0x3, 0x5c,0x7f,
+0x21,0x9f,0x27,0x59,0x50,0x4, 0x16,0x59,0x40,0x4, 0x14,0x49,0xf1,0x5, 0x34,0x7d,
+0x1f,0x1a,0x12,0x1a,0xe2,0x7e,0x31,0x27,0x74,0x4, 0xac,0x3b,0x2e,0x14,0x3, 0x5c,
+0x9f,0x17,0x12,0x17,0xd4,0x5, 0x24,0x12,0x17,0x4e,0x28,0x2, 0xc1,0xab,0x7e,0x37,
+0x6, 0xc, 0x99,0x34,0xda,0x3b,0x22,0x30,0xa, 0x2, 0xd3,0x22,0xc3,0x22,0x7e,0x73,
+0x6, 0xc8,0xbe,0x71,0x24,0x22,0x1a,0x26,0x1a,0x24,0x7f,0x1, 0x2, 0x3, 0xec,0x7a,
+0xb3,0x6, 0xca,0x7e,0x44,0x12,0x0, 0xb, 0x48,0x50,0x5e,0xa0,0x1f,0x1b,0x48,0x50,
+0x7e,0x73,0x6, 0xca,0x7c,0xb7,0xc4,0x23,0x54,0x7, 0xa, 0x5b,0xc4,0x23,0x54,0xe0,
+0x7c,0xab,0xe4,0x22,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0x7e,0x70,0x1, 0x24,0xff,0x92,
+0xb, 0xc2,0xc6,0xd2,0xee,0xa9,0xd6,0xf7,0xd2,0xfe,0x4c,0x77,0x68,0x15,0xc2,0xaf,
+0x12,0x17,0xbf,0x4e,0x70,0x1, 0x1b,0x28,0x30,0x7e,0x37,0x6, 0x0, 0x99,0x34,0xd2,
+0xaf,0x80,0x9, 0x12,0x17,0xbf,0x4e,0x70,0x1, 0x1b,0x28,0x30,0xc2,0xa, 0x22,0x7e,
+0x24,0x12,0x0, 0xb, 0x28,0x30,0x22,0x7e,0x37,0x6, 0x2, 0x89,0x34,0x7e,0xa3,0x6,
+0xd7,0x7c,0xba,0x22,0x59,0x31,0x0, 0x2, 0x1b,0x18,0x20,0x22,0x7e,0x34,0x0, 0x1,
+0x7a,0x35,0x27,0x22,0x7e,0x35,0x27,0xbe,0x34,0x0, 0x1, 0x22,0xb, 0x28,0x30,0x4d,
+0x35,0x1b,0x28,0x30,0x22,0xca,0xf8,0x7e,0xa3,0x6, 0xd7,0x7c,0xfa,0x5e,0xf0,0x1,
+0x7c,0xba,0x12,0x1f,0xb5,0x12,0x15,0xa, 0x6c,0xaa,0x80,0x3b,0x7e,0xb3,0x6, 0x4d,
+0x60,0xb, 0xb4,0x2, 0x30,0xa, 0x3a,0x9, 0xb3,0xa, 0xbb,0x60,0x28,0x7e,0x90,0x4,
+0xac,0x9a,0x49,0x34,0x3, 0x5e,0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0x5, 0x34,0x59,
+0x32,0x5, 0x90,0x9f,0x11,0x59,0x34,0x3, 0x5e,0x59,0x24,0x3, 0x5c,0x59,0x34,0x4,
+0x16,0x59,0x24,0x4, 0x14,0xb, 0xa0,0x12,0x18,0x61,0x38,0xc0,0x7c,0x6f,0x5e,0x60,
+0x1, 0x7e,0x73,0x6, 0xd7,0x5e,0x70,0xfe,0x4c,0x76,0x7a,0x73,0x6, 0xd7,0xda,0xf8,
+0x22,0x7e,0xb3,0x6, 0xc8,0xbc,0xba,0x22,0x6c,0xaa,0x80,0x9, 0x12,0x19,0x5, 0x70,
+0x2, 0x21,0x4, 0xb, 0xa0,0x12,0x18,0x61,0x38,0xf2,0x7e,0xb3,0x6, 0x67,0x30,0xe1,
+0x2, 0x21,0x4, 0x6c,0xaa,0x80,0x78,0x12,0x19,0x5, 0xb4,0x1, 0x70,0x7e,0xb3,0x6,
+0xc6,0xbc,0xba,0x28,0x21,0x12,0x1e,0xe9,0x7e,0xb3,0x6, 0x45,0x12,0x1e,0xdc,0x8,
+0x6, 0x7e,0xb3,0x6, 0x43,0x80,0x1f,0x6d,0x33,0x9d,0x34,0x12,0x19,0x14,0x58,0x4d,
+0x7e,0xb3,0x6, 0x44,0x80,0x34,0x12,0x1e,0xe9,0x7e,0xb3,0x6, 0x48,0x12,0x1e,0xdc,
+0x8, 0x1b,0x7e,0xb3,0x6, 0x46,0xa, 0xeb,0x7e,0x50,0x2, 0xac,0x5a,0x7d,0xf2,0x2e,
+0xf4,0x5, 0x34,0xb, 0xf8,0x20,0x2d,0x2e,0x1b,0xf8,0x20,0x80,0x20,0x6d,0x33,0x9d,
+0x34,0x12,0x19,0x14,0x58,0x17,0x7e,0xb3,0x6, 0x47,0xa, 0x4b,0x7e,0x50,0x2, 0xac,
+0x5a,0x2e,0x24,0x5, 0x34,0xb, 0x28,0x30,0x9d,0x34,0x1b,0x28,0x30,0xb, 0xa0,0x12,
+0x18,0x61,0x38,0x83,0x22,0x7e,0x34,0x6, 0x15,0x7c,0xba,0x2, 0x1a,0x4a,0x6e,0x34,
+0xff,0xff,0xb, 0x34,0x1a,0x26,0x1a,0x24,0xbf,0x1, 0x22,0xca,0x3b,0x6c,0xee,0x6d,
+0x66,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x2, 0x41,0x29,0x6c,0xff,0x21,0xdf,0x12,0x1a,
+0x44,0xb4,0x1, 0x2, 0x80,0x2, 0x21,0xdd,0x7e,0x73,0x6, 0xc6,0xbc,0x7f,0x28,0x59,
+0xb, 0xe0,0x7e,0x50,0x4, 0xac,0x5f,0x49,0xd2,0x3, 0x5e,0x49,0xc2,0x3, 0x5c,0x7e,
+0x73,0x6, 0x45,0xa, 0x37,0x7d,0x53,0x1a,0x4a,0x1a,0x48,0xbf,0x62,0x8, 0xb, 0x12,
+0x1a,0x2c,0xbf,0x2, 0x8, 0x4, 0xb, 0x64,0x80,0x17,0x6d,0xff,0x9d,0xf3,0x7d,0x1f,
+0x1a,0x12,0x1a,0xe2,0xbf,0x67,0x58,0x9, 0x12,0x1a,0x2c,0xbf,0x7, 0x58,0x2, 0x1b,
+0x64,0x12,0x1a,0x2c,0xbf,0x2, 0x8, 0x6, 0x7e,0xb3,0x6, 0x43,0x80,0x29,0x12,0x19,
+0xe, 0x58,0x4a,0x7e,0x73,0x6, 0x44,0x80,0x3c,0x7e,0x50,0x4, 0xac,0x5f,0x12,0x1a,
+0x2c,0x7e,0x73,0x6, 0x48,0xa, 0x37,0x7d,0x53,0x7d,0xf3,0x1a,0x5a,0x1a,0xea,0xbf,
+0x7, 0x8, 0x19,0x7e,0xb3,0x6, 0x46,0xa, 0xfb,0x7e,0x90,0x2, 0xac,0x9f,0x2e,0x44,
+0x5, 0x90,0xb, 0x48,0x50,0x2d,0x5f,0x1b,0x48,0x50,0x80,0x11,0x12,0x19,0xe, 0x58,
+0xc, 0x7e,0x73,0x6, 0x47,0x12,0x1a,0x35,0x9d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,
+0x1a,0x60,0x28,0x2, 0x21,0x2e,0xbe,0xe0,0x0, 0x28,0x3e,0x7d,0x36,0x12,0x0, 0x2e,
+0xa, 0x2e,0xbd,0x32,0x78,0x33,0x6c,0xff,0x80,0x2a,0x12,0x1a,0x44,0x70,0x23,0xbe,
+0x64,0x0, 0x0, 0x8, 0xb, 0x7e,0x73,0x6, 0x43,0x12,0x1a,0x35,0x2d,0x31,0x80,0xf,
+0xbe,0x64,0x0, 0x0, 0x58,0xc, 0x7e,0x73,0x6, 0x44,0x12,0x1a,0x35,0x9d,0x31,0x1b,
+0x28,0x30,0xb, 0xf0,0x12,0x1a,0x60,0x38,0xd1,0xda,0x3b,0x22,0x49,0x12,0x4, 0x16,
+0x49,0x2, 0x4, 0x14,0x22,0xa, 0x17,0x7e,0x50,0x2, 0xac,0x5f,0x2e,0x24,0x5, 0x90,
+0xb, 0x28,0x30,0x22,0x7e,0x34,0x6, 0x15,0x7c,0xbf,0x7d,0x23,0x4d,0x22,0x68,0x5,
+0xbe,0xb0,0x2e,0x40,0x3, 0x74,0x1, 0x22,0xa, 0x3b,0x2d,0x32,0x7e,0x39,0xb0,0x22,
+0x7e,0x73,0x6, 0xc8,0xbc,0x7f,0x22,0xca,0x3b,0x75,0x23,0x0, 0x7e,0xb3,0x6, 0xd7,
+0x54,0xfd,0x7a,0xb3,0x6, 0xd7,0x7e,0x67,0x6, 0xd8,0x7e,0xb3,0x6, 0x67,0x30,0xe5,
+0x11,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x47,0x50,0xf7,0x75,0x23,0x1, 0x12,
+0x5b,0x35,0x12,0x1f,0xc5,0x7e,0x73,0x6, 0xd6,0xa, 0x57,0x12,0x17,0x7c,0x12,0x17,
+0xec,0x6c,0xff,0x6d,0x33,0x80,0xa, 0x74,0x2, 0xac,0xbf,0x59,0x35,0x9, 0xfd,0xb,
+0xf0,0x7e,0x53,0x6, 0xc8,0xbc,0x5f,0x38,0xee,0x6c,0xee,0x61,0x5e,0x6c,0xff,0x80,
+0x15,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x1b,0xc8,0x60,0x8, 0x6d,0x22,0x12,0x1b,
+0xc0,0x1b,0x38,0x20,0xb, 0xf0,0x12,0x1a,0x60,0x38,0xe6,0x75,0x22,0x0, 0x6d,0x33,
+0x7e,0xa1,0x22,0x74,0x2, 0xa4,0x59,0x35,0xb, 0xc3,0x5, 0x22,0xe5,0x22,0xb4,0x2e,
+0xed,0x6c,0xff,0x80,0x17,0xa, 0x2f,0x7e,0x34,0x0, 0x9, 0x9d,0x32,0x7a,0x73,0xc,
+0x1f,0x12,0x50,0xe0,0x12,0x1f,0xf9,0x12,0x50,0x6e,0xb, 0xf0,0x7e,0x73,0x6, 0x14,
+0xbc,0x7f,0x38,0xe1,0x6c,0xff,0x80,0x3f,0x7e,0x50,0x2, 0xac,0x5f,0x49,0x12,0x9,
+0xfd,0x12,0x1b,0xc0,0xb, 0x38,0x30,0xbd,0x13,0x50,0x2a,0x59,0x32,0x9, 0xfd,0x7e,
+0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x1b,0xc8,0x60,0x1b,0x12,0x1f,0xbc,0x74,0x2, 0xac,
+0xbf,0x59,0x35,0x5, 0x34,0x74,0x2, 0xac,0xbf,0x49,0x35,0x5, 0x34,0x74,0x2, 0xac,
+0xbf,0x59,0x35,0x5, 0x90,0xb, 0xf0,0x12,0x1a,0x60,0x38,0xbc,0xb, 0xe0,0x7e,0x73,
+0x6, 0x11,0xbc,0x7e,0x28,0x2, 0x41,0xbd,0x6c,0xff,0x80,0x1b,0x7e,0xb3,0x6, 0x4d,
+0x60,0x5, 0x12,0x1b,0xc8,0x60,0xe, 0x74,0x2, 0xac,0xbf,0x49,0x25,0x9, 0xfd,0x12,
+0x1b,0xc0,0x1b,0x38,0x20,0xb, 0xf0,0x12,0x1a,0x60,0x38,0xe0,0x74,0x3, 0x12,0x17,
+0xc7,0x12,0x1f,0x7c,0x12,0x38,0xfa,0xe5,0x23,0x60,0x15,0x80,0x4, 0xe4,0x12,0xf,
+0xcd,0x12,0x17,0x47,0x50,0xf7,0x7e,0xb3,0x6, 0x67,0x44,0x20,0x7a,0xb3,0x6, 0x67,
+0x12,0x1f,0xc5,0x7e,0xb3,0x6, 0xca,0x12,0x17,0x76,0x12,0x17,0xec,0xda,0x3b,0x22,
+0x7e,0x70,0x2, 0xac,0x7f,0x2d,0x36,0x22,0xa, 0x3f,0x2e,0x37,0x6, 0x4e,0x7e,0x39,
+0xb0,0x22,0xca,0x79,0x12,0x1f,0xb1,0x6d,0x33,0x6c,0xee,0x80,0xa, 0x74,0x2, 0xac,
+0xbe,0x59,0x35,0x9, 0xfd,0xb, 0xe0,0x7e,0x53,0x6, 0xc8,0xbc,0x5e,0x38,0xee,0x7e,
+0xb3,0x6, 0x67,0x30,0xe0,0x34,0x6c,0xee,0x80,0x26,0x12,0x1f,0xf9,0x6c,0xff,0x80,
+0x18,0x7e,0x50,0x2, 0xac,0x5f,0x49,0xf2,0x9, 0xfd,0x12,0x37,0x78,0xbf,0x7, 0x8,
+0x6, 0x7d,0x31,0x59,0x32,0x9, 0xfd,0xb, 0xf0,0x12,0x1a,0x60,0x38,0xe3,0xb, 0xe0,
+0x7e,0x73,0x6, 0x10,0xbc,0x7e,0x38,0xd2,0x80,0x39,0x7e,0xe0,0x1, 0x12,0x15,0xa,
+0x6c,0xff,0x80,0x23,0x12,0x1f,0xbc,0x49,0x25,0x3, 0x5c,0x7e,0x8, 0x0, 0x4, 0x12,
+0x4, 0x59,0x7d,0x13,0x7e,0x50,0x2, 0xac,0x5f,0x2e,0x24,0x9, 0xfd,0xb, 0x28,0x30,
+0x2d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,0x60,0x38,0xd8,0xb, 0xe0,0xbe,0xe0,
+0x4, 0x28,0xca,0x6c,0xee,0x80,0x3b,0x7e,0xa3,0x6, 0x4d,0x4c,0xaa,0x68,0x19,0xbe,
+0xa0,0x1, 0x78,0x7, 0xa, 0x3e,0x12,0x1b,0xca,0x70,0xd, 0xbe,0xa0,0x3, 0x78,0x20,
+0xa, 0x3e,0x9, 0xb3,0xa, 0x8d,0x60,0x18,0x74,0x2, 0xac,0xbe,0x49,0x35,0x9, 0xfd,
+0x59,0x35,0x5, 0x34,0x74,0x2, 0xac,0xbe,0x49,0x35,0x9, 0xfd,0x59,0x35,0x5, 0x90,
+0xb, 0xe0,0x7e,0x73,0x6, 0xc8,0xbc,0x7e,0x38,0xbd,0xda,0x79,0x22,0x12,0x1e,0xf7,
+0x7a,0xb3,0x3, 0x34,0x12,0x1f,0xd3,0x2, 0x1b,0xd2,0x7e,0x34,0x0, 0x24,0x12,0x4f,
+0x3, 0xbe,0xb0,0x1, 0x68,0x8, 0x80,0xfe,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,
+0x47,0x50,0xf7,0xa9,0xc3,0xea,0x6d,0x11,0x7e,0x44,0x12,0x0, 0x1b,0x48,0x10,0x7e,
+0x53,0x6, 0xc9,0x7c,0xb5,0x54,0x1, 0xa, 0x5b,0x12,0x1e,0xc9,0x7c,0x75,0x1e,0x70,
+0x5e,0x70,0x3, 0xa, 0x57,0x3e,0x54,0x3e,0x54,0x3e,0x54,0x12,0x1e,0xc5,0x7e,0x63,
+0x6, 0xca,0x7c,0xb6,0x54,0x1, 0x12,0x1e,0xd4,0x12,0x1e,0xc9,0x7c,0xb6,0x1e,0xb0,
+0x54,0x3, 0x12,0x1e,0xd4,0x12,0x1e,0xc5,0x7c,0xb6,0x12,0x17,0x76,0x12,0x1e,0xcb,
+0x7e,0x54,0x13,0x14,0xb, 0x58,0x0, 0x6c,0x0, 0x12,0x1e,0xbe,0x5e,0x10,0xbf,0x12,
+0x1e,0xbe,0x4e,0x10,0x40,0x12,0x1e,0xbe,0x5e,0x10,0xcf,0x12,0x1e,0xbe,0x4e,0x10,
+0x10,0x12,0x1e,0xbe,0x5e,0x10,0xfc,0x12,0x1e,0xbe,0xa5,0xbf,0x0, 0x5, 0x4e,0x10,
+0x1, 0x80,0x3, 0x4e,0x10,0x3, 0x1b,0x58,0x0, 0x7e,0x44,0x12,0x2, 0x1b,0x48,0x10,
+0x7e,0x43,0x6, 0xc8,0xa, 0x54,0x7c,0xab,0xe4,0x12,0x1e,0xcb,0x7e,0xa3,0x6, 0xcb,
+0x7c,0xba,0x23,0x54,0x1, 0xa, 0xfb,0xb, 0x48,0x0, 0x4d,0xf, 0x1b,0x48,0x0, 0x7c,
+0xba,0x30,0xe6,0xe, 0x7c,0xb5,0x30,0xe0,0x9, 0xb, 0x48,0x20,0x4e,0x50,0x8, 0x1b,
+0x48,0x20,0x7c,0xb6,0x30,0xe6,0x12,0xb, 0x48,0x0, 0x4e,0x10,0x20,0x1b,0x48,0x0,
+0xb, 0x48,0x0, 0x4e,0x10,0x10,0x1b,0x48,0x0, 0x7e,0x24,0x12,0x4, 0xb, 0x28,0x0,
+0x5e,0x0, 0x7f,0x1b,0x28,0x0, 0xb, 0x28,0x0, 0x4e,0x0, 0x80,0x1b,0x28,0x0, 0x7e,
+0x24,0x13,0x1e,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xce,0x12,0x1e,0xb1,0x7e,0x63,0x6,
+0xd1,0xa, 0x46,0x12,0x1e,0xb5,0x7e,0x24,0x12,0x8, 0x1b,0x28,0x10,0x7e,0x63,0x6,
+0xcc,0xa, 0x46,0x12,0x1e,0xb5,0x7e,0x63,0x6, 0xcd,0x12,0x1e,0xb1,0x7e,0x24,0x13,
+0x20,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xcf,0xa, 0x46,0x12,0x1e,0xb5,0x7e,0x63,0x6,
+0xd0,0x12,0x1e,0xb1,0x7e,0x24,0x13,0x22,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xd2,0xa,
+0x46,0x12,0x1e,0xb5,0x7e,0x63,0x6, 0xd3,0x12,0x1e,0xb1,0x7e,0x4, 0x12,0xa, 0x1b,
+0x8, 0x10,0xa5,0xbf,0x0, 0x8, 0xb, 0x8, 0x10,0x4e,0x20,0x1, 0x80,0x1b,0xa5,0xbf,
+0x1, 0x8, 0xb, 0x8, 0x10,0x4e,0x20,0x11,0x80,0xf, 0xb, 0x8, 0x10,0xa5,0xbf,0x2,
+0x5, 0x4e,0x20,0x33,0x80,0x3, 0x4e,0x20,0xff,0x1b,0x8, 0x10,0x7c,0xba,0x1e,0xb0,
+0x54,0x3, 0xa, 0x3b,0xb, 0x8, 0x10,0x4d,0x13,0x1b,0x8, 0x10,0x12,0x4f,0x26,0xb,
+0x8, 0x10,0x5e,0x30,0xfb,0x1b,0x8, 0x10,0xb, 0x8, 0x30,0x4e,0x70,0x4, 0x1b,0x8,
+0x30,0x7e,0x73,0x6, 0xd4,0xa, 0x27,0x7e,0x34,0x13,0x10,0x1b,0x38,0x20,0x12,0x4f,
+0x8f,0x7e,0xb3,0x6, 0xca,0x1e,0xb0,0x54,0x3, 0xbe,0xb0,0x1, 0x68,0x3, 0xb4,0x2,
+0xb, 0x7e,0x27,0x6, 0xc4,0x7e,0x34,0x13,0x12,0x1b,0x38,0x20,0x74,0x2, 0x7a,0xb3,
+0x6, 0xda,0xd2,0x8e,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x7e,0xb3,0x6, 0xda,0x70,0xf6,
+0x22,0x7c,0x86,0x6c,0x99,0xb, 0x28,0x0, 0x4d,0x4, 0x1b,0x28,0x0, 0x22,0x1b,0x58,
+0x0, 0xb, 0x58,0x0, 0x22,0x3e,0x54,0x3e,0x54,0x3e,0x54,0xb, 0x48,0x0, 0x4d,0x5,
+0x1b,0x48,0x0, 0x22,0xa, 0xb, 0x7d,0x50,0x7c,0xab,0xe4,0x22,0xa, 0x4b,0x7d,0x24,
+0x7d,0xf4,0x1a,0x24,0x1a,0xe4,0xbf,0x7, 0x22,0x7e,0x70,0x4, 0xac,0x7a,0x49,0x13,
+0x3, 0x5e,0x49,0x3, 0x3, 0x5c,0x22,0x12,0x1c,0xba,0x7e,0xb3,0x3, 0x34,0x54,0x7f,
+0x7a,0xb3,0x3, 0x34,0x12,0x1a,0x67,0x7e,0xb3,0x3, 0x34,0x44,0x80,0x22,0xca,0x79,
+0x6d,0x77,0x7a,0x77,0x2, 0xd0,0x7e,0x34,0x3, 0xe8,0x7a,0x37,0x0, 0x74,0x12,0x1f,
+0xb1,0x12,0x1e,0xfa,0x7a,0xb3,0x3, 0x34,0x12,0x1b,0xd2,0x7a,0x77,0x2, 0xd0,0x7e,
+0x34,0x0, 0x64,0x7a,0x37,0x0, 0x74,0xda,0x79,0x22,0xe5,0xa, 0x30,0xe0,0x1a,0x7e,
+0xb3,0x3, 0x34,0x12,0x22,0xa9,0x7e,0xb3,0x3, 0x34,0x12,0x20,0x11,0x12,0x1e,0xf7,
+0x7a,0xb3,0x3, 0x34,0x53,0xa, 0xfc,0x80,0xb, 0xe5,0xa, 0x30,0xe1,0x6, 0x12,0x1f,
+0x7c,0x53,0xa, 0xfd,0xe5,0xa, 0x30,0xe2,0x12,0x53,0xca,0xf1,0x7e,0x73,0x3, 0x41,
+0xa, 0x37,0x3e,0x34,0x7c,0xb7,0x42,0xca,0x53,0xa, 0xfb,0x22,0x12,0x1f,0xe8,0x80,
+0x2a,0xa, 0x2a,0x9, 0x32,0x6, 0x96,0x7e,0x50,0x2, 0xac,0x53,0x2d,0x23,0xb, 0x28,
+0x20,0x7e,0xb3,0x6, 0x4d,0x60,0x7, 0xa, 0x13,0x12,0x1f,0xf1,0x60,0xb, 0xa, 0x1a,
+0x3e,0x14,0x2e,0x14,0x12,0x14,0x1b,0x18,0x20,0xb, 0xa0,0x12,0x18,0x61,0x38,0xd1,
+0x22,0x7e,0xb3,0x6, 0xd7,0x54,0xfe,0x7a,0xb3,0x6, 0xd7,0x22,0x74,0x4, 0xac,0xbf,
+0x49,0x35,0x3, 0x5e,0x22,0x7e,0x24,0x12,0x0, 0xb, 0x28,0x30,0x5e,0x60,0x1f,0x1b,
+0x28,0x30,0x22,0x74,0x10,0x7a,0xb3,0xb, 0x84,0x74,0x83,0x7a,0xb3,0xb, 0x85,0xe4,
+0x6c,0xaa,0x12,0x44,0x6a,0x40,0xfb,0x22,0x7e,0x37,0x6, 0xd8,0x6c,0xaa,0x22,0xa,
+0x15,0x2e,0x17,0x6, 0x4e,0x7e,0x19,0xb0,0x22,0x7e,0xb3,0x6, 0x67,0x44,0x4, 0x7a,
+0xb3,0x6, 0x67,0x12,0x15,0xa, 0x7e,0xb3,0x6, 0x67,0x54,0xfb,0x7a,0xb3,0x6, 0x67,
+0x22,0x7c,0xab,0x9f,0x11,0x7a,0x1f,0x5, 0x30,0x74,0xb, 0x7a,0xb3,0x6, 0xf, 0x74,
+0x2, 0x7a,0xb3,0x6, 0x44,0x7a,0xb3,0x6, 0x43,0x74,0xf, 0x7a,0xb3,0x6, 0x45,0x74,
+0x2, 0x7a,0xb3,0x6, 0x47,0x7a,0xb3,0x6, 0x46,0x74,0xf, 0x7a,0xb3,0x6, 0x48,0x7e,
+0x34,0x0, 0x32,0x7a,0x37,0x5, 0xec,0x12,0x21,0x5a,0x74,0xa, 0x7a,0xb3,0x6, 0x10,
+0x7e,0xb3,0x6, 0x67,0x44,0x40,0x7a,0xb3,0x6, 0x67,0x54,0x7f,0x7a,0xb3,0x6, 0x67,
+0x5e,0xa0,0x7f,0xbe,0xa0,0x1, 0x68,0x7, 0xbe,0xa0,0x2, 0x78,0x2, 0x80,0x0, 0x12,
+0x21,0x5a,0x7e,0xa3,0x6, 0x67,0x7c,0xba,0x30,0xe0,0x12,0x74,0x1, 0x7a,0xb3,0x6,
+0x11,0x74,0x3, 0x7a,0xb3,0x6, 0x12,0x7a,0xb3,0x6, 0x13,0x80,0xe, 0x74,0x1, 0x7a,
+0xb3,0x6, 0x12,0x7a,0xb3,0x6, 0x13,0x7a,0xb3,0x6, 0x11,0x74,0xa, 0x7a,0xb3,0x6,
+0x66,0x7a,0xb3,0x6, 0x14,0x7e,0x24,0x2a,0xf8,0x7a,0x27,0x5, 0xf0,0x7c,0xba,0x54,
+0xfd,0x7a,0xb3,0x6, 0x67,0x7e,0x24,0xfc,0xe0,0x7a,0x27,0x5, 0xee,0x12,0x20,0x6,
+0x7a,0x37,0x5, 0xf2,0x7e,0x34,0x5, 0xdc,0x7a,0x37,0x5, 0xf4,0x7e,0x34,0xf, 0xa0,
+0x7a,0x37,0x5, 0xf6,0x7e,0xb3,0x6, 0x67,0x54,0xf7,0x7a,0xb3,0x6, 0x67,0x54,0xef,
+0x7a,0xb3,0x6, 0x67,0x7e,0x34,0x0, 0xc7,0x7a,0x37,0x5, 0xf8,0x7e,0x34,0x0, 0xa0,
+0x7a,0x37,0x5, 0xfa,0xe4,0x7a,0xb3,0x6, 0x49,0x7a,0xb3,0x6, 0x4a,0x7a,0x37,0x6,
+0x4b,0x7e,0x34,0x0, 0x31,0x7a,0x37,0x5, 0xfc,0x7e,0x34,0x1, 0x5c,0x7a,0x37,0x5,
+0xfe,0x12,0x5b,0x35,0x7e,0x34,0x0, 0x9, 0x7a,0x37,0x6, 0x2, 0x7e,0x34,0x0, 0x8,
+0x7a,0x37,0x6, 0x0, 0x7e,0x34,0x0, 0x1a,0x7a,0x37,0x6, 0x4, 0x7e,0x34,0x6, 0x65,
+0x7a,0x37,0x6, 0x6, 0x7e,0x34,0x32,0x44,0x7a,0x37,0x6, 0x8, 0x7e,0x34,0x26,0xf2,
+0x7a,0x37,0x6, 0xc, 0x7e,0x34,0x2f,0xfa,0x7a,0x37,0x6, 0xa, 0xe4,0x7a,0xb3,0x6,
+0x4d,0x7e,0x34,0xa, 0xd1,0x7a,0x37,0x6, 0x4e,0x22,0x7e,0xb3,0x6, 0x67,0x54,0xfe,
+0x7a,0xb3,0x6, 0x67,0x22,0x12,0x38,0xe2,0x12,0x4d,0x90,0x12,0x26,0xa7,0x12,0x4a,
+0x8c,0x12,0x57,0xfc,0x12,0x38,0xf1,0x12,0x4a,0xd8,0xe4,0x12,0x22,0xa9,0xe4,0x12,
+0x20,0x11,0x12,0x1c,0xad,0x74,0x1, 0x7a,0xb3,0xb, 0x9f,0x7e,0xb3,0xb, 0x9f,0x24,
+0xfd,0x68,0x11,0x24,0xae,0x68,0x32,0x24,0xab,0x68,0xe, 0x24,0xa9,0x78,0xec,0x12,
+0x11,0x6d,0x80,0xe7,0x12,0x38,0x60,0x80,0xe2,0x12,0x21,0xf2,0x7e,0x24,0x1, 0xf4,
+0x7a,0x27,0x0, 0x74,0x7e,0xb3,0x2, 0xd2,0xbe,0xb0,0xaa,0x68,0xce,0x7a,0x37,0x0,
+0x9c,0x74,0xaa,0x7a,0xb3,0x2, 0xd2,0x80,0xc2,0x12,0x21,0xf2,0x7e,0x34,0x1, 0xf4,
+0x7a,0x37,0x0, 0x74,0x7e,0xb3,0x2, 0xd2,0xb4,0xaa,0xb0,0x74,0x55,0x7a,0xb3,0x2,
+0xd2,0x7e,0x74,0x3, 0xe8,0x7d,0x37,0x1b,0x74,0x4d,0x33,0x78,0xf8,0x75,0xe9,0xff,
+0x80,0x99,0x6d,0x33,0x7a,0x37,0x2, 0xd0,0x22,0x7e,0x4, 0x0, 0x76,0x6d,0x11,0xe4,
+0x7a,0x9, 0xb0,0xb, 0x4, 0xb, 0x14,0xbe,0x14,0x0, 0x1c,0x78,0xf2,0x7e,0x4, 0x2,
+0xb6,0x6d,0x11,0xe4,0x7a,0x9, 0xb0,0xb, 0x4, 0xb, 0x14,0xbe,0x14,0x0, 0x17,0x78,
+0xf2,0x6d,0x11,0x12,0x22,0x90,0x2e,0x34,0x0, 0x7a,0x12,0x22,0x8d,0x2e,0x34,0x2,
+0xb6,0x12,0x22,0x8d,0x2e,0x34,0x2, 0xc0,0x12,0x22,0x97,0xb, 0x14,0xbe,0x14,0x0,
+0x2, 0x40,0xe0,0x74,0x2, 0x7a,0xb3,0x0, 0x68,0x74,0xa, 0x7a,0xb3,0x0, 0x69,0x7e,
+0x34,0x0, 0xc7,0x7a,0x37,0x0, 0x6a,0x7e,0x34,0x0, 0xc6,0x7a,0x37,0x0, 0x6c,0x7e,
+0x34,0x0, 0x31,0x7a,0x37,0x0, 0x70,0xc2,0x4, 0x75,0xd, 0x0, 0x75,0x1a,0x0, 0xc2,
+0x5, 0x75,0xb, 0x0, 0x12,0x21,0xf2,0x7e,0x24,0x7, 0xd0,0x7a,0x27,0x0, 0x74,0x7a,
+0x37,0x0, 0x9c,0xe4,0x7a,0xb3,0x2, 0xd2,0x7a,0xb3,0xb, 0x37,0x22,0x12,0x22,0x97,
+0x7e,0x34,0x0, 0x5, 0xad,0x31,0x22,0x7e,0x24,0x7f,0xff,0x1b,0x38,0x20,0x59,0x23,
+0x0, 0x2, 0x74,0xff,0x19,0xb3,0x0, 0x4, 0x22,0xca,0xf8,0x7c,0xfb,0x74,0x16,0x7a,
+0xb3,0x6, 0xc6,0xe4,0x7a,0xb3,0x6, 0xc7,0x74,0x16,0x7a,0xb3,0x6, 0xc8,0x74,0x30,
+0x7a,0xb3,0x6, 0xd4,0x7e,0xb3,0x6, 0xcb,0x54,0xbf,0x7a,0xb3,0x6, 0xcb,0x54,0x7f,
+0x7a,0xb3,0x6, 0xcb,0x54,0xf9,0x7a,0xb3,0x6, 0xcb,0x7e,0xb3,0x6, 0xca,0x54,0xbf,
+0x7a,0xb3,0x6, 0xca,0x7e,0xb3,0x6, 0xd7,0x44,0x4, 0x7a,0xb3,0x6, 0xd7,0x74,0x15,
+0x7a,0xb3,0x6, 0xd5,0x7e,0xb3,0x6, 0xca,0x54,0x7f,0x7a,0xb3,0x6, 0xca,0x7e,0xb3,
+0x6, 0xcb,0x54,0xfe,0x7a,0xb3,0x6, 0xcb,0x7e,0x34,0x4, 0xc5,0x7e,0x24,0x6, 0x68,
+0x74,0x16,0x7e,0x30,0x97,0x12,0x23,0xe5,0x6c,0x77,0x80,0x8, 0xa, 0x27,0x19,0x72,
+0x6, 0x96,0xb, 0x70,0x7e,0x63,0x6, 0xc8,0xbc,0x67,0x38,0xf0,0x7e,0xb3,0x6, 0xc9,
+0x44,0x1, 0x7a,0xb3,0x6, 0xc9,0x5e,0xf0,0x7f,0xbe,0xf0,0x1, 0x78,0xe, 0x7e,0xb3,
+0x6, 0xc9,0x12,0x26,0x8b,0x44,0x8, 0x12,0x26,0x98,0x80,0x38,0xbe,0xf0,0x2, 0x7e,
+0xb3,0x6, 0xc9,0x78,0x8, 0x12,0x26,0x8b,0x12,0x26,0x98,0x80,0x27,0x44,0x6, 0x12,
+0x26,0x8d,0x44,0x18,0x7a,0xb3,0x6, 0xcb,0x7e,0x63,0x3, 0x35,0x5e,0x60,0x7, 0x7c,
+0xb6,0xc4,0x3, 0x54,0xf8,0x7c,0x6b,0x7e,0x73,0x6, 0xca,0x5e,0x70,0xc7,0x4c,0x76,
+0x7a,0x73,0x6, 0xca,0xe4,0x7a,0xb3,0x6, 0xd6,0x7e,0xb3,0x6, 0xca,0x54,0xfe,0x7a,
+0xb3,0x6, 0xca,0x44,0x6, 0x7a,0xb3,0x6, 0xca,0x7e,0x73,0x3, 0x38,0x7a,0x73,0x6,
+0xcc,0x7e,0x73,0x3, 0x39,0x7a,0x73,0x6, 0xcd,0x7e,0x73,0x3, 0x36,0x7a,0x73,0x6,
+0xce,0x7e,0x73,0x3, 0x3a,0x7a,0x73,0x6, 0xcf,0x7e,0x73,0x3, 0x3b,0x7a,0x73,0x6,
+0xd0,0x7e,0x73,0x3, 0x37,0x7a,0x73,0x6, 0xd1,0x7e,0x73,0x3, 0x3c,0x7a,0x73,0x6,
+0xd2,0x7e,0x73,0x3, 0x3d,0x7a,0x73,0x6, 0xd3,0x12,0x1f,0xb1,0x54,0xfd,0x7a,0xb3,
+0x6, 0xd7,0xda,0xf8,0x22,0x7c,0x23,0x7c,0x3b,0x7d,0x43,0x7c,0xb2,0x24,0x6a,0xbe,
+0xb0,0x9, 0x40,0x2, 0xc1,0x51,0x7e,0xa0,0x3, 0xa4,0x90,0x23,0xfe,0x73,0x2, 0x24,
+0x19,0x2, 0x24,0xce,0x2, 0x25,0x4, 0x2, 0x25,0x3a,0x2, 0x26,0x1b,0x2, 0x26,0x51,
+0x2, 0x25,0x70,0x2, 0x25,0xa0,0x2, 0x25,0xd0,0x6c,0x77,0x81,0xc7,0x12,0x26,0x7a,
+0xbe,0xb0,0x12,0x40,0x2, 0x81,0xc2,0x7e,0xa0,0x3, 0xa4,0x90,0x24,0x2f,0x73,0x2,
+0x24,0x65,0x2, 0x24,0x6a,0x2, 0x24,0x6f,0x2, 0x24,0x74,0x2, 0x24,0x79,0x2, 0x24,
+0x7e,0x2, 0x24,0x83,0x2, 0x24,0x88,0x2, 0x24,0x8d,0x2, 0x24,0x92,0x2, 0x24,0x97,
+0x2, 0x24,0x9c,0x2, 0x24,0xa1,0x2, 0x24,0xa6,0x2, 0x24,0xab,0x2, 0x24,0xb0,0x2,
+0x24,0xb5,0x2, 0x24,0xba,0x7e,0x20,0x4, 0x80,0x53,0x7e,0x20,0x6, 0x80,0x4e,0x7e,
+0x20,0x7, 0x80,0x49,0x7e,0x20,0x5, 0x80,0x44,0x7e,0x20,0xe, 0x80,0x3f,0x7e,0x20,
+0x8, 0x80,0x3a,0x7e,0x20,0xf, 0x80,0x35,0x7e,0x20,0x10,0x80,0x30,0x7e,0x20,0x11,
+0x80,0x2b,0x7e,0x20,0x12,0x80,0x26,0x7e,0x20,0x17,0x80,0x21,0x7e,0x20,0x1a,0x80,
+0x1c,0x7e,0x20,0x18,0x80,0x17,0x7e,0x20,0x1b,0x80,0x12,0x7e,0x20,0x21,0x80,0xd,
+0x7e,0x20,0x20,0x80,0x8, 0x7e,0x20,0x1f,0x80,0x3, 0x7e,0x20,0x19,0x12,0x26,0x6a,
+0x80,0x3, 0x12,0x26,0x72,0xb, 0x70,0xbc,0x37,0x28,0x2, 0x81,0x1d,0x22,0x6c,0x77,
+0x80,0x2d,0x12,0x26,0x7a,0xbe,0x60,0x7, 0x40,0x10,0xbe,0x60,0xe, 0x38,0xb, 0xa,
+0x56,0x2e,0x54,0x0, 0x13,0x12,0x26,0x68,0x80,0x13,0xbe,0x60,0xf, 0x40,0xb, 0xa,
+0x56,0x2e,0x54,0x0, 0x29,0x12,0x26,0x68,0x80,0x3, 0x12,0x26,0x72,0xb, 0x70,0xbc,
+0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x2d,0x12,0x26,0x7a,0xbe,0x60,0x9, 0x40,0x10,
+0xbe,0x60,0x12,0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x10,0x12,0x26,0x68,0x80,0x13,
+0xbe,0x60,0x13,0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x23,0x12,0x26,0x68,0x80,0x3,
+0x12,0x26,0x72,0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x2d,0x12,0x26,
+0x7a,0xbe,0x60,0xd, 0x40,0x10,0xbe,0x60,0x18,0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0xb, 0x12,0x26,0x68,0x80,0x13,0xbe,0x60,0x19,0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0x1b,0x12,0x26,0x68,0x80,0x3, 0x12,0x26,0x72,0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,
+0x6c,0x77,0x80,0x27,0x12,0x26,0x7a,0xbe,0x60,0xe, 0x40,0xa, 0xbe,0x60,0x19,0x38,
+0x5, 0x12,0x26,0x62,0x80,0x13,0xbe,0x60,0x1a,0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0x19,0x12,0x26,0x68,0x80,0x3, 0x12,0x26,0x72,0xb, 0x70,0xbc,0x37,0x38,0xd5,0x22,
+0x6c,0x77,0x80,0x27,0x12,0x26,0x7a,0xbe,0x60,0xe, 0x40,0xa, 0xbe,0x60,0x19,0x38,
+0x5, 0x12,0x26,0x62,0x80,0x13,0xbe,0x60,0x1a,0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0x18,0x12,0x26,0x68,0x80,0x3, 0x12,0x26,0x72,0xb, 0x70,0xbc,0x37,0x38,0xd5,0x22,
+0x6c,0x77,0x80,0x42,0x12,0x26,0x7a,0xbe,0x60,0x0, 0x40,0x10,0xbe,0x60,0xd, 0x38,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x3, 0x12,0x26,0x68,0x80,0x28,0xbe,0x60,0xe, 0x40,
+0x10,0xbe,0x60,0x1b,0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x9, 0x12,0x26,0x68,0x80,
+0x13,0xbe,0x60,0x1c,0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x15,0x12,0x26,0x68,0x80,
+0x3, 0x12,0x26,0x72,0xb, 0x70,0xbc,0x37,0x38,0xba,0x22,0x6c,0x77,0x80,0x2d,0x12,
+0x26,0x7a,0xbe,0x60,0x11,0x40,0x10,0xbe,0x60,0x1e,0x38,0xb, 0xa, 0x56,0x2e,0x54,
+0x0, 0x6, 0x12,0x26,0x68,0x80,0x13,0xbe,0x60,0x1f,0x40,0xb, 0xa, 0x56,0x2e,0x54,
+0x0, 0x11,0x12,0x26,0x68,0x80,0x3, 0x12,0x26,0x72,0xb, 0x70,0xbc,0x37,0x38,0xcf,
+0x22,0x6c,0x77,0x80,0x8, 0x12,0x26,0x7a,0x12,0x26,0x72,0xb, 0x70,0xbc,0x37,0x38,
+0xf4,0x22,0xa, 0x56,0x2e,0x54,0x0, 0xa, 0x7c,0x2b,0x7d,0x50,0x2d,0x52,0x7a,0x59,
+0x20,0x22,0x7d,0x50,0x2d,0x52,0x7a,0x59,0x60,0x22,0xa, 0x7, 0x7d,0x50,0x2d,0x54,
+0x7a,0xb1,0x82,0x7a,0xa1,0x83,0xe4,0x93,0x7c,0x6b,0x22,0x54,0xf9,0x7a,0xb3,0x6,
+0xc9,0x7e,0xb3,0x6, 0xcb,0x54,0xc7,0x22,0x7a,0xb3,0x6, 0xcb,0x7e,0xb3,0x6, 0xca,
+0x54,0xc7,0x7a,0xb3,0x6, 0xca,0x22,0xe4,0x7a,0xb3,0xc, 0xd6,0x12,0x4c,0x8e,0x2,
+0x26,0xb2,0xca,0xf8,0xe4,0x12,0x3f,0xb2,0x78,0x5, 0x12,0x27,0x57,0x80,0x12,0xbe,
+0xf0,0x4, 0x78,0x5, 0x12,0x27,0x2e,0x80,0x8, 0xbe,0xf0,0x1, 0x78,0x3, 0x12,0x3f,
+0xf5,0x75,0x91,0x0, 0xe4,0x7a,0xb3,0xc, 0xd2,0x7a,0xb3,0xc, 0xd1,0x74,0xaa,0x7a,
+0xb3,0xc, 0xac,0x7a,0xb3,0xc, 0xad,0x7a,0xb3,0xc, 0xbe,0x7a,0xb3,0xc, 0xbf,0xda,
+0xf8,0x22,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0x34,0x6c,0xaa,0x80,0x28,0xa, 0x3a,0x9,
+0x73,0x6, 0x96,0x7e,0xb3,0x6, 0xd7,0x30,0xe0,0x19,0x7e,0x50,0x4, 0xac,0x57,0x49,
+0xf2,0x3, 0x5e,0x49,0xe2,0x3, 0x5c,0x7e,0x17,0x5, 0xee,0x12,0x7, 0x7d,0x58,0x3,
+0x12,0x32,0x17,0xb, 0xa0,0x7e,0x63,0x6, 0xc8,0xbc,0x6a,0x38,0xd0,0x22,0x7e,0xb3,
+0xc, 0xd8,0x12,0x27,0x38,0xf5,0x91,0x22,0x7c,0xab,0x24,0x0, 0x78,0x5, 0x7e,0xb3,
+0xc, 0xd6,0x22,0xbe,0xa0,0xaf,0x38,0xc, 0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x5, 0x7c,
+0xba,0x2, 0x39,0x5, 0x7c,0xba,0x22,0x7e,0xb3,0xc, 0xd8,0x12,0x3f,0x2f,0xf5,0x91,
+0x22,0x12,0x21,0xf2,0x7e,0x34,0x3, 0xe8,0x7a,0x37,0x0, 0x74,0x2, 0x27,0x6f,0x7e,
+0x34,0xb, 0x63,0x7e,0xb3,0xb, 0xc2,0x20,0xe0,0x3, 0x2, 0x28,0x2f,0x54,0xfe,0x7a,
+0xb3,0xb, 0xc2,0x7e,0x39,0x50,0x7a,0x53,0x3, 0x4b,0x12,0x5a,0xe0,0x3e,0x24,0x3e,
+0x24,0x7a,0x27,0x3, 0x49,0xbe,0x24,0x2, 0x26,0x50,0x8, 0x7e,0x24,0x2, 0x26,0x7a,
+0x27,0x3, 0x49,0x9, 0x53,0x0, 0x5, 0x7a,0x53,0x0, 0xa0,0x12,0x5a,0xe0,0x7a,0x27,
+0x0, 0x9e,0x9, 0x53,0x0, 0x25,0xa, 0x25,0x7a,0x27,0x0, 0x92,0x9, 0x53,0x0, 0x6,
+0x7a,0x53,0x0, 0x94,0x9, 0x53,0x0, 0x8, 0x7a,0x53,0x0, 0x96,0xbe,0x50,0xf, 0x40,
+0x6, 0x74,0xe, 0x19,0xb3,0x0, 0x8, 0x9, 0x53,0x0, 0x8, 0xa, 0x25,0x2e,0x24,0x4,
+0xfb,0x7a,0x51,0x82,0x7a,0x41,0x83,0xe4,0x93,0x7a,0xb3,0x0, 0x95,0x9, 0x53,0x0,
+0x9, 0x7a,0x53,0x0, 0x98,0x7a,0x53,0x0, 0x97,0x9, 0x53,0x0, 0x24,0x7a,0x53,0x0,
+0x9a,0x9, 0x53,0x0, 0x2d,0x7a,0x53,0xd, 0x3f,0x9, 0xb3,0x0, 0x2e,0x7a,0xb3,0x3,
+0x34,0xb4,0x1, 0x5, 0xe4,0x7a,0xb3,0x3, 0x34,0x7e,0xa3,0xb, 0xb3,0xbe,0xa3,0x0,
+0xa1,0x68,0xc, 0x4c,0xaa,0x74,0x5, 0x7a,0xb3,0x0, 0x99,0x7a,0xa3,0x0, 0xa1,0x22,
+0x9f,0x11,0x7a,0x1f,0x5, 0x28,0x7a,0x1f,0x5, 0x2c,0x6c,0xaa,0x12,0x28,0x5b,0x7e,
+0x7f,0x5, 0x28,0xbf,0x71,0x58,0x4, 0x7a,0x1f,0x5, 0x28,0xb, 0xa0,0xbe,0xa0,0x16,
+0x40,0xea,0x7e,0x1f,0x5, 0x28,0x7a,0x1f,0x5, 0x2c,0x22,0x7e,0x30,0x4, 0xac,0x3a,
+0x49,0x31,0x3, 0x5e,0x49,0x21,0x3, 0x5c,0x22,0x6c,0xaa,0xa, 0x3a,0x12,0x2f,0x3d,
+0x7c,0x3b,0xbe,0x30,0x16,0x50,0x9, 0x74,0x4, 0xac,0x3b,0x12,0x28,0x60,0x80,0x2,
+0x9f,0x11,0x7e,0x30,0x4, 0xac,0x3a,0x59,0x31,0x9, 0x6f,0x59,0x21,0x9, 0x6d,0xb,
+0xa0,0xbe,0xa0,0x24,0x40,0xd5,0x7e,0x1f,0x9, 0x85,0x7a,0x1d,0x2a,0x75,0x2f,0x0,
+0x7e,0x34,0x9, 0x85,0x7a,0x35,0x30,0x7e,0x34,0x9, 0x9d,0x7a,0x35,0x32,0x7e,0x1f,
+0x9, 0x89,0x7e,0xf, 0x9, 0xa1,0xe4,0x12,0x29,0x64,0x7e,0x1f,0x9, 0x99,0x7a,0x1d,
+0x2a,0x75,0x2f,0x1, 0x7e,0x34,0x9, 0x99,0x7a,0x35,0x30,0x7e,0x34,0x9, 0xb1,0x7a,
+0x35,0x32,0x7e,0x1f,0x9, 0x95,0x7e,0xf, 0x9, 0xad,0xe4,0x12,0x29,0x64,0x7e,0x1f,
+0x9, 0xb5,0x7a,0x1d,0x2a,0x75,0x2f,0x0, 0x7e,0x34,0x9, 0xb5,0x7a,0x35,0x30,0x7e,
+0x34,0x9, 0xcd,0x7a,0x35,0x32,0x7e,0x1f,0x9, 0xb9,0x7e,0xf, 0x9, 0xd1,0x74,0x1,
+0x12,0x29,0x64,0x7e,0x1f,0x9, 0xc9,0x7a,0x1d,0x2a,0x75,0x2f,0x1, 0x7e,0x34,0x9,
+0xc9,0x7a,0x35,0x30,0x7e,0x34,0x9, 0xe1,0x7a,0x35,0x32,0x7e,0x1f,0x9, 0xc5,0x7e,
+0xf, 0x9, 0xdd,0x74,0x1, 0x12,0x29,0x64,0xe4,0x12,0x29,0xe0,0x74,0x1, 0x12,0x29,
+0xe0,0x7e,0x34,0x9, 0x89,0x12,0x2f,0x19,0x7e,0x34,0x9, 0xd1,0x12,0x2f,0x19,0x7e,
+0x34,0x9, 0x95,0x12,0x29,0x4d,0x7e,0x34,0x9, 0xdd,0x2, 0x29,0x4d,0x12,0x2f,0x9c,
+0xe5,0x14,0xa, 0x1b,0x6d,0x0, 0x12,0x2f,0x2e,0x2, 0x29,0x5c,0x59,0x3f,0x0, 0x2,
+0x1b,0xf8,0x20,0x22,0xca,0x3b,0xf5,0x2e,0x7a,0xd, 0x26,0x7a,0x1d,0x22,0x7e,0x7d,
+0x2a,0xbe,0x78,0x0, 0x32,0x8, 0x56,0xe5,0x2f,0x70,0x4, 0xe5,0x15,0x80,0x2, 0xe5,
+0x10,0x12,0x2f,0x28,0x7a,0x1d,0x2a,0x7e,0x1d,0x26,0x12,0x2b,0x2f,0x7f,0x31,0x7e,
+0x1d,0x22,0x12,0x2b,0x2f,0x2f,0x31,0x78,0x1a,0xe5,0x2e,0x60,0xb, 0x12,0x2f,0x7d,
+0x12,0x29,0xd0,0x12,0x2f,0x52,0x80,0x1a,0x12,0x2f,0x52,0x12,0x29,0xd0,0x12,0x2f,
+0x7d,0x80,0xf, 0x7e,0x1d,0x22,0x12,0x2c,0xaf,0x12,0x29,0xd0,0x7e,0x1d,0x26,0x12,
+0x2c,0xaf,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x32,0x12,0x29,0xd8,0xda,0x3b,0x22,
+0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x30,0x59,0x13,0x0, 0x2, 0x1b,0x38,0x0, 0x22,
+0xca,0x3b,0x70,0x48,0x7e,0x1f,0x9, 0x89,0x7a,0x1f,0x9, 0xfd,0x7e,0x1f,0x9, 0x8d,
+0x7a,0x1f,0xa, 0x1, 0x7e,0x1f,0x9, 0x91,0x7a,0x1f,0xa, 0x5, 0x7e,0x1f,0x9, 0x95,
+0x7a,0x1f,0xa, 0x9, 0x7e,0x34,0x9, 0x71,0x7a,0x35,0x22,0x7e,0x34,0x9, 0x75,0x7a,
+0x35,0x24,0x7e,0x34,0x9, 0x79,0x7a,0x35,0x26,0x7e,0x34,0x9, 0x7d,0x7a,0x35,0x28,
+0xe5,0x8, 0xa, 0x1b,0x6d,0x0, 0x7e,0x1f,0x9, 0x71,0x80,0x46,0x7e,0x1f,0x9, 0xd1,
+0x7a,0x1f,0x9, 0xfd,0x7e,0x1f,0x9, 0xd5,0x7a,0x1f,0xa, 0x1, 0x7e,0x1f,0x9, 0xd9,
+0x7a,0x1f,0xa, 0x5, 0x7e,0x1f,0x9, 0xdd,0x7a,0x1f,0xa, 0x9, 0x7e,0x34,0x9, 0xe9,
+0x7a,0x35,0x22,0x7e,0x34,0x9, 0xed,0x7a,0x35,0x24,0x7e,0x34,0x9, 0xf1,0x7a,0x35,
+0x26,0x7e,0x34,0x9, 0xf5,0x7a,0x35,0x28,0xe5,0xf, 0xa, 0x1b,0x6d,0x0, 0x7e,0x1f,
+0x9, 0xe9,0x12,0x2f,0x2e,0x7f,0x31,0xbe,0x38,0x0, 0x32,0x18,0x2, 0x61,0x2c,0x7e,
+0x1f,0x9, 0xfd,0x12,0x2b,0x2f,0x7a,0x1f,0x9, 0xfd,0x7e,0x1f,0xa, 0x1, 0x12,0x2b,
+0x2f,0x7a,0x1f,0xa, 0x1, 0x7e,0x1f,0xa, 0x5, 0x12,0x2b,0x2f,0x12,0x2f,0xf1,0x12,
+0x2b,0x2f,0x7a,0x1f,0xa, 0x9, 0x7e,0x1f,0xa, 0x1, 0x7e,0x6f,0x9, 0xfd,0x2f,0x16,
+0x7e,0x7f,0xa, 0x5, 0x2f,0x71,0x78,0x16,0x7e,0x8, 0x0, 0x8, 0x7f,0x13,0x12,0x4,
+0x59,0x7f,0x1, 0x7e,0x35,0x22,0x12,0x29,0xd8,0x12,0x2f,0xa6,0x80,0x10,0x12,0x2f,
+0xb4,0x7e,0x35,0x22,0x12,0x29,0xd8,0x7e,0xf, 0xa, 0x1, 0x12,0x2f,0x8c,0x12,0x4,
+0x59,0x7f,0x1, 0x7e,0x35,0x24,0x12,0x29,0xd8,0x7e,0x6f,0xa, 0x5, 0x7e,0x1f,0xa,
+0x1, 0x2f,0x16,0x7e,0x7f,0xa, 0x9, 0x2f,0x71,0x78,0x16,0x12,0x2f,0xa6,0x12,0x4,
+0x59,0x7f,0x1, 0x7e,0x35,0x26,0x12,0x29,0xd8,0x7e,0x8, 0x0, 0x8, 0x7f,0x13,0x80,
+0x10,0x12,0x2f,0xb4,0x7e,0x35,0x26,0x12,0x29,0xd8,0x7e,0xf, 0xa, 0x9, 0x12,0x2f,
+0x8c,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x28,0x12,0x29,0xd8,0xda,0x3b,0x22,0xbe,
+0x18,0x0, 0x32,0x8, 0x1, 0x22,0x9f,0x11,0x22,0xca,0x79,0x7c,0xe7,0x7c,0xfb,0x74,
+0x4, 0xac,0xbf,0x12,0x2c,0xbf,0x12,0x2f,0x5a,0x68,0xf, 0x74,0x4, 0xac,0xbf,0x49,
+0x35,0x9, 0x57,0x49,0x25,0x9, 0x55,0x12,0x2c,0x9f,0xbe,0xe0,0x5, 0x68,0xf, 0x74,
+0x4, 0xac,0xbf,0x49,0x35,0x9, 0x87,0x49,0x25,0x9, 0x85,0x12,0x2c,0x9f,0x7e,0x1f,
+0xa, 0x15,0xda,0x79,0x22,0xca,0x79,0x7c,0xe7,0x7c,0xfb,0x74,0x4, 0xac,0xbf,0x12,
+0x2c,0xbf,0x12,0x2f,0x5a,0x68,0xf, 0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x6b,0x49,
+0x25,0x9, 0x69,0x12,0x2c,0x9f,0xbe,0xe0,0x5, 0x68,0xf, 0x74,0x4, 0xac,0xbf,0x49,
+0x35,0x9, 0x73,0x49,0x25,0x9, 0x71,0x12,0x2c,0x9f,0x7e,0x1f,0xa, 0x15,0xda,0x79,
+0x22,0xca,0x3b,0x9f,0x11,0x7a,0x1f,0x0, 0xa2,0x6c,0xff,0x81,0x95,0x7c,0x1f,0x2e,
+0x10,0x16,0xa5,0xe7,0x7c,0xeb,0xa, 0x1e,0x7e,0x24,0x0, 0x6, 0x8d,0x12,0x7c,0xd3,
+0xa, 0x3e,0x8d,0x32,0x7c,0xc5,0x12,0x2f,0x64,0x7c,0x7d,0x12,0x2b,0x39,0x7a,0x1f,
+0xa, 0xd, 0x4c,0xcc,0x68,0xc, 0x7c,0xbe,0x14,0x7c,0x7d,0x12,0x2b,0x39,0x7a,0x1f,
+0xa, 0x5, 0xbe,0xc0,0x5, 0x68,0xc, 0x7c,0xbe,0x4, 0x7c,0x7d,0x12,0x2b,0x39,0x7a,
+0x1f,0xa, 0x9, 0xa, 0x1c,0x12,0x2f,0xc3,0xa, 0x1c,0x12,0x2f,0x6f,0xa, 0x1c,0x12,
+0x2f,0xd3,0x7e,0x1f,0x0, 0xa2,0xbf,0x10,0x50,0x8, 0x7e,0x1f,0xa, 0x1, 0x7a,0x1f,
+0x0, 0xa2,0x7e,0x1f,0x9, 0xfd,0x74,0x6, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0xf, 0xa,
+0x1, 0x12,0x2f,0x4a,0x7a,0x37,0xa, 0x11,0x12,0x2f,0x64,0x7c,0xbe,0x7c,0x7c,0x12,
+0x2b,0x75,0x7a,0x1f,0xa, 0xd, 0x4c,0xdd,0x68,0xd, 0x7c,0xbe,0x24,0xfa,0x7c,0x7c,
+0x12,0x2b,0x75,0x7a,0x1f,0xa, 0x5, 0xbe,0xd0,0x5, 0x68,0xd, 0x7c,0xbe,0x24,0x6,
+0x7c,0x7c,0x12,0x2b,0x75,0x7a,0x1f,0xa, 0x9, 0xa, 0x1d,0x12,0x2f,0xc3,0xa, 0x1d,
+0x12,0x2f,0x6f,0xa, 0x1d,0x12,0x2f,0xd3,0x74,0x6, 0x2f,0x11,0x14,0x78,0xfb,0x12,
+0x2f,0x4a,0x7a,0x37,0xa, 0x13,0x7e,0x27,0xa, 0x11,0x74,0x5, 0xac,0xbf,0x59,0x25,
+0x0, 0x7a,0x12,0x44,0x58,0x12,0x40,0x97,0x50,0x2, 0x61,0xbd,0xda,0x3b,0x22,0x12,
+0x2b,0x2f,0x7f,0x1, 0x7e,0x1f,0xa, 0x15,0x2f,0x10,0x7a,0x1f,0xa, 0x15,0x22,0x12,
+0x2b,0x2f,0x7e,0xd, 0x2a,0x12,0x3, 0xec,0x7f,0x3, 0x22,0x74,0x4, 0xac,0xbd,0x49,
+0x35,0x9, 0x6f,0x49,0x25,0x9, 0x6d,0x22,0xca,0x3b,0x6c,0xee,0x9f,0x44,0x7f,0x74,
+0x7a,0x4f,0x9, 0xfe,0x7a,0x4f,0xa, 0x2, 0x7a,0x4f,0xa, 0x6, 0x7a,0x4f,0xa, 0xa,
+0x7a,0x4f,0xa, 0xe, 0x7f,0x64,0x7f,0x54,0x6c,0xdd,0x12,0x2c,0xbb,0xbf,0x71,0x58,
+0x4, 0x7f,0x71,0x7c,0xfd,0xb, 0xd0,0xbe,0xd0,0x24,0x78,0xee,0x7e,0x37,0x3, 0x49,
+0x6d,0x22,0xbf,0x71,0x58,0xb, 0x12,0x33,0x41,0x7e,0xb3,0x0, 0x91,0x54,0xf0,0x80,
+0x17,0xe5,0xe, 0xb4,0x1, 0x18,0x12,0x2f,0x38,0x7a,0xb3,0x0, 0x76,0x12,0x35,0xef,
+0x7e,0xb3,0x0, 0x91,0x54,0xf0,0x44,0x1, 0x7a,0xb3,0x0, 0x91,0xe1,0xd, 0x6c,0xdd,
+0xa, 0x5d,0x7e,0x24,0x0, 0x6, 0x8d,0x52,0x7a,0xb3,0x9, 0xfd,0xa, 0x3d,0x8d,0x32,
+0x7c,0xc5,0x70,0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x57,
+0x49,0x25,0x9, 0x55,0x7a,0x1f,0x9, 0xfe,0x7e,0xb3,0x9, 0xfd,0xb4,0x5, 0x4, 0x9f,
+0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x87,0x49,0x25,0x9, 0x85,0x7a,
+0x1f,0xa, 0x2, 0x4c,0xcc,0x78,0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,
+0x35,0x9, 0x6b,0x49,0x25,0x9, 0x69,0x7a,0x1f,0xa, 0x6, 0xbe,0xc0,0x5, 0x78,0x4,
+0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x73,0x49,0x25,0x9, 0x71,
+0x7a,0x1f,0xa, 0xa, 0x7e,0xb3,0x9, 0xfd,0x60,0x4, 0x4c,0xcc,0x78,0x4, 0x9f,0x11,
+0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x53,0x49,0x25,0x9, 0x51,0x7a,0x1f,
+0xa, 0xe, 0x12,0x2f,0x94,0x68,0x4, 0x4c,0xcc,0x78,0x4, 0x9f,0x66,0x80,0xc, 0x74,
+0x4, 0xac,0xbd,0x49,0xd5,0x9, 0x83,0x49,0xc5,0x9, 0x81,0x7e,0xb3,0x9, 0xfd,0x60,
+0x5, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x55,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0xb5,
+0x9, 0x5b,0x49,0xa5,0x9, 0x59,0x12,0x2f,0x94,0x68,0x5, 0xbe,0xc0,0x5, 0x78,0x4,
+0x9f,0x44,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x95,0x9, 0x8b,0x49,0x85,0x9, 0x89,
+0x12,0x2f,0x10,0x49,0x5, 0x9, 0x6d,0x7e,0x37,0x3, 0x49,0x6d,0x22,0xbf,0x1, 0x58,
+0x2, 0xc1,0xeb,0xe5,0xc, 0x12,0x2f,0x28,0x7f,0x1, 0x12,0x2c,0xbb,0xbf,0x10,0x18,
+0x2, 0xc1,0xeb,0x12,0x2f,0x10,0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0x9, 0xfe,0xbf,0x1,
+0x58,0x2, 0xc1,0xeb,0x12,0x2f,0x10,0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0x2, 0xbf,
+0x1, 0x58,0x2, 0xc1,0xeb,0x12,0x2f,0x10,0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0x6,
+0xbf,0x1, 0x58,0x2, 0xc1,0xeb,0x12,0x2f,0x10,0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa,
+0xa, 0xbf,0x1, 0x48,0x76,0x12,0x2f,0x10,0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0xe,
+0xbf,0x1, 0x48,0x67,0x12,0x2c,0xbb,0xbf,0x16,0x48,0x60,0x12,0x2c,0xbb,0xbf,0x15,
+0x48,0x59,0x12,0x2c,0xbb,0xbf,0x14,0x48,0x52,0x7c,0x1e,0x2e,0x10,0x16,0x7c,0xbd,
+0xa5,0xf7,0xa, 0x3d,0x12,0x2f,0x3d,0xa, 0x3e,0x19,0xb3,0x0, 0x76,0xb, 0xe0,0x7e,
+0x30,0x4, 0xac,0x3d,0x2e,0x14,0x9, 0x6d,0x12,0x4a,0x84,0xb, 0x1c,0x12,0x17,0xd4,
+0xbe,0xe1,0xe, 0x40,0x26,0x7e,0xe1,0xe, 0xbe,0xe0,0x2, 0x78,0x27,0x7e,0x73,0x0,
+0x76,0xbe,0x70,0xf, 0x38,0x9, 0x7e,0x73,0x0, 0x77,0xbe,0x70,0xf, 0x28,0x15,0x7e,
+0xe0,0x1, 0x12,0x2f,0x38,0x7a,0xb3,0x0, 0x76,0x80,0x9, 0xb, 0xd0,0xbe,0xd0,0x24,
+0x50,0x2, 0xa1,0x30,0x7c,0x6e,0x5e,0x60,0xf, 0x7e,0x73,0x0, 0x90,0x12,0x35,0xe5,
+0x7e,0x73,0x0, 0x91,0x5e,0x70,0xf0,0x4c,0x76,0x7a,0x73,0x0, 0x91,0xda,0x3b,0x22,
+0x74,0x4, 0xac,0xbd,0x49,0x15,0x9, 0x6f,0x22,0x12,0x2f,0x9c,0xe5,0x1b,0xa, 0x1b,
+0x6d,0x0, 0x12,0x2f,0x2e,0x2, 0x29,0x5c,0xa, 0x1b,0x6d,0x0, 0x7f,0x17,0x12,0x3,
+0xec,0x7e,0x8, 0x0, 0x64,0x2, 0x4, 0x59,0x7a,0xf1,0x16,0xa, 0x3f,0x2e,0x34,0x0,
+0x46,0x7a,0x71,0x82,0x7a,0x61,0x83,0xe4,0x93,0x22,0x12,0x4, 0x8, 0x2e,0x18,0x0,
+0x20,0x22,0x7e,0x8, 0x0, 0x4, 0x7e,0x1d,0x2a,0x22,0x12,0x2b,0x2f,0x7a,0x1f,0xa,
+0x15,0x4c,0xee,0x22,0x9f,0x11,0x7a,0x1f,0xa, 0x5, 0x7a,0x1f,0xa, 0x9, 0x22,0x6d,
+0x0, 0x7e,0x6f,0xa, 0xd, 0x7f,0x16,0x12,0x3, 0xec,0x2f,0x41,0x22,0x7e,0x14,0x0,
+0x3, 0x7e,0x1d,0x2a,0x12,0x3, 0xfd,0x7e,0x8, 0x0, 0x4, 0x22,0x7f,0x13,0x12,0x3,
+0xec,0x7f,0x7, 0x22,0x7e,0xb3,0x9, 0xfd,0xbe,0xb0,0x5, 0x22,0x7d,0xf3,0x49,0x3f,
+0x0, 0x2, 0xb, 0xf8,0x20,0x22,0x7e,0x14,0x0, 0x3, 0x7f,0x13,0x12,0x3, 0xfd,0x7e,
+0x8, 0x0, 0x8, 0x22,0x7f,0x13,0x7f,0x6, 0x12,0x3, 0xec,0x7f,0x7, 0x12,0x4, 0x59,
+0x7f,0x1, 0x22,0x6d,0x0, 0x1b,0xc, 0x7e,0x5f,0xa, 0x5, 0x7f,0x15,0x12,0x3, 0xec,
+0x7f,0x41,0x22,0x6d,0x0, 0xb, 0xc, 0x7e,0x7f,0xa, 0x9, 0x7f,0x17,0x12,0x3, 0xec,
+0x2f,0x14,0x7a,0x1f,0x9, 0xfd,0x7f,0x6, 0x2f,0x5, 0x2f,0x7, 0x7a,0xf, 0xa, 0x1,
+0x22,0x7a,0x1f,0xa, 0x5, 0x7e,0x1f,0xa, 0x9, 0x22,0xca,0x3b,0x7e,0x38,0x75,0x30,
+0x75,0x28,0x0, 0x7e,0x34,0xc, 0xf8,0x7e,0x24,0x0, 0x18,0xe4,0x12,0x4, 0xeb,0x7e,
+0x34,0x0, 0x41,0x7e,0x24,0x0, 0x6, 0xe4,0x12,0x4, 0xeb,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe1,0x7, 0x7e,0xb3,0x6, 0x67,0x30,0xe2,0x5, 0x75,0x27,0x1, 0x80,0x3, 0x75,0x27,
+0x2, 0x75,0x22,0x1, 0x21,0x1e,0x9f,0x11,0x7a,0x1f,0x9, 0xfd,0x75,0x23,0x0, 0x1,
+0xd5,0x12,0x32,0x2, 0x7e,0xb3,0x6, 0xd7,0x30,0xe1,0x42,0x30,0xe0,0x3f,0x7e,0x11,
+0x24,0x74,0x4, 0xac,0x1b,0x12,0x32,0x32,0x7e,0xa1,0x24,0x12,0x32,0x26,0x7a,0x1f,
+0xa, 0x5, 0xbe,0x1c,0xfc,0xe0,0x58,0x5, 0x12,0x32,0xd, 0x80,0x6f,0x7e,0x73,0x6,
+0xc6,0xbe,0x71,0x24,0x28,0x17,0x7e,0xf, 0xa, 0x5, 0x7e,0x1f,0x9, 0xfd,0xbf,0x10,
+0x58,0xb, 0x7e,0x1f,0xa, 0x5, 0x7a,0x1f,0x9, 0xfd,0x85,0x24,0x25,0x7e,0x91,0x24,
+0x74,0x4, 0xac,0x9b,0x7e,0xa1,0x22,0x74,0x58,0xa4,0x2d,0x54,0x49,0x15,0x0, 0x50,
+0x49,0x5, 0x0, 0x4e,0x49,0x35,0x0, 0xa8,0x49,0x25,0x0, 0xa6,0x9f,0x10,0x12,0x4,
+0xdb,0x7a,0x1f,0xa, 0x1, 0x7e,0xa1,0x22,0x74,0x4, 0xa4,0x49,0x15,0xc, 0xfa,0x49,
+0x5, 0xc, 0xf8,0xbf,0x10,0x8, 0xc, 0x7e,0x1f,0xa, 0x1, 0x59,0x35,0xc, 0xfa,0x59,
+0x25,0xc, 0xf8,0x5, 0x23,0x12,0x32,0x1e,0x28,0x2, 0x1, 0x41,0x7e,0x7f,0x9, 0xfd,
+0xbe,0x78,0x2, 0x58,0x8, 0x36,0x7e,0x73,0x6, 0xc6,0xbe,0x71,0x25,0x28,0x2d,0xe5,
+0x25,0xa, 0x3b,0x2e,0x34,0x0, 0xb, 0x7e,0x24,0x0, 0x16,0x12,0x3, 0xba,0x7c,0xa5,
+0x7a,0xa1,0x26,0x7e,0x10,0x4, 0xac,0x1a,0x12,0x32,0x32,0x12,0x32,0x26,0x7e,0x14,
+0x0, 0x5, 0x12,0x3, 0xfd,0xbf,0x71,0x8, 0x3, 0x12,0x32,0xd, 0x5, 0x22,0x7e,0x31,
+0x27,0x74,0x3, 0xac,0x3b,0xe5,0x22,0xa, 0xb, 0xbd,0x1, 0x58,0x2, 0x1, 0x36,0x75,
+0x22,0x1, 0x80,0x23,0x7e,0x11,0x22,0x2e,0x10,0x41,0xa5,0xe7,0x70,0x17,0x7e,0xa1,
+0x22,0x74,0x4, 0xa4,0x49,0x35,0xc, 0xfa,0x49,0x25,0xc, 0xf8,0xbf,0x13,0x58,0x5,
+0x7f,0x31,0x85,0x22,0x28,0x5, 0x22,0xe5,0x22,0xa, 0xb, 0xbd,0x1, 0x48,0xd5,0x7e,
+0x51,0x28,0x74,0x58,0xac,0x5b,0x2e,0x24,0x0, 0xa6,0x7e,0x34,0x3, 0x5c,0x7e,0x14,
+0x0, 0x58,0x12,0x4, 0xae,0x7e,0xb3,0x6, 0xd7,0x30,0xe1,0x4c,0x75,0x23,0x0, 0x80,
+0x42,0x12,0x32,0x2, 0x7e,0xb3,0x6, 0xd7,0x30,0xe0,0x36,0x7e,0x11,0x24,0x74,0x2,
+0xac,0x1b,0x49,0xf0,0x5, 0x90,0x7d,0x3f,0x1a,0x36,0x1a,0xe6,0x7e,0x31,0x24,0x74,
+0x4, 0xac,0x3b,0x12,0x28,0x60,0x7f,0x21,0x9f,0x27,0x59,0x51,0x4, 0x16,0x59,0x41,
+0x4, 0x14,0x49,0x50,0x5, 0x34,0x6d,0x44,0x2e,0x14,0x3, 0x5c,0x9f,0x12,0x12,0x17,
+0xd4,0x5, 0x23,0x12,0x32,0x1e,0x38,0xb9,0x12,0x17,0xcd,0x30,0xe1,0x31,0x75,0x23,
+0x0, 0x80,0x23,0x12,0x32,0x2, 0x7c,0xba,0x30,0xe0,0x19,0x7e,0x71,0x24,0x74,0x4,
+0xac,0x7b,0x12,0x1e,0xee,0x7e,0x37,0x5, 0xee,0x1a,0x26,0x1a,0x24,0xbf,0x10,0x8,
+0x3, 0x12,0x32,0x17,0x5, 0x23,0x7e,0xb3,0x6, 0xc8,0xbe,0xb1,0x23,0x38,0xd4,0xda,
+0x3b,0x22,0xe5,0x23,0xa, 0x3b,0x9, 0xb3,0x6, 0x96,0xf5,0x24,0x22,0x7e,0x11,0x22,
+0x2e,0x10,0x41,0x74,0x1, 0xa5,0xf7,0x74,0x3c,0x7a,0xb3,0xd, 0x3c,0x22,0x7e,0x73,
+0x6, 0xc8,0xbe,0x71,0x23,0x22,0x74,0x2, 0xa4,0x49,0x15,0x5, 0x34,0x6d,0x0, 0x9f,
+0x10,0x22,0x7e,0x31,0x22,0x74,0x58,0xac,0x3b,0x2d,0x10,0x49,0x31,0x0, 0xa8,0x49,
+0x21,0x0, 0xa6,0x22,0x7c,0xab,0x6c,0x22,0x6c,0x11,0x7c,0x1, 0x2e,0x0, 0x47,0xa5,
+0xe6,0xbc,0xb3,0x78,0x5, 0x7e,0x20,0x1, 0x80,0x7, 0xb, 0x10,0xbe,0x10,0x1, 0x40,
+0xe9,0x12,0x32,0xd4,0x38,0x11,0xa, 0x4b,0x7e,0x4, 0x0, 0x3, 0x9d,0x4, 0x7c,0xb1,
+0x60,0x5, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0xb3,0x6, 0xd7,0x30,0xe0,0x24,0x7e,0x10,
+0x2, 0xac,0x13,0x49,0xf0,0x5, 0x34,0x7d,0xf, 0x1a,0x0, 0x1a,0xe0,0x7f,0x61,0x9f,
+0x67,0x7e,0xf7,0x5, 0xee,0x7d,0xf, 0x1a,0x0, 0x1a,0xe0,0xbf,0x76,0x8, 0x3, 0x12,
+0x32,0x17,0x4c,0xaa,0x78,0x6, 0x74,0x4, 0xac,0xb3,0x80,0x10,0x4c,0x22,0x68,0x7,
+0x12,0x32,0xc5,0x8, 0xf, 0x80,0x5, 0x12,0x32,0xc5,0x58,0x8, 0x59,0x35,0x3, 0x5e,
+0x59,0x25,0x3, 0x5c,0x22,0x74,0x4, 0xac,0xb3,0x49,0xf5,0x3, 0x5e,0x49,0xe5,0x3,
+0x5c,0xbf,0x17,0x22,0x7e,0xb3,0x6, 0xd6,0xbe,0xb0,0x2, 0x22,0x12,0x37,0x6e,0xa5,
+0xbe,0x1, 0x14,0x7e,0xa3,0xd, 0x12,0xbe,0xa0,0xfa,0x50,0x2c,0x7e,0xb3,0xd, 0x10,
+0x70,0x26,0x7c,0xba,0x4, 0x80,0x1d,0xbe,0x60,0x2, 0x40,0x3, 0xe4,0x80,0x15,0x7e,
+0x53,0xd, 0x12,0xbe,0x50,0x4, 0x50,0xb, 0xbe,0x50,0x0, 0x28,0x6, 0x74,0x3, 0x7a,
+0xb3,0xd, 0x10,0xe4,0x7a,0xb3,0xd, 0x12,0x7e,0xa3,0xd, 0x10,0x4c,0xaa,0x68,0x20,
+0x4c,0x66,0x68,0x8, 0x7c,0xb7,0x12,0x33,0x45,0xe4,0x80,0x10,0x7c,0xb7,0xc4,0x54,
+0xf, 0xb4,0x1, 0x5, 0x7c,0xb7,0x12,0x35,0xf3,0x7c,0xba,0x14,0x7a,0xb3,0xd, 0x10,
+0x22,0x7e,0xb3,0x0, 0x90,0x54,0xf0,0x7a,0xb3,0x0, 0x90,0x22,0xca,0x3b,0x12,0x37,
+0x35,0x78,0x4, 0x6c,0xff,0x80,0x3, 0x7e,0xf0,0x2, 0x12,0x35,0x5e,0x78,0x1d,0x7c,
+0xba,0x54,0xf, 0xbe,0xb0,0x2, 0x40,0x14,0x5, 0x4d,0xe5,0x4d,0xbc,0xbf,0x38,0x5,
+0x7c,0xba,0x12,0x33,0x45,0xe4,0x7a,0xb3,0xb, 0x37,0x80,0x3, 0x75,0x4d,0x0, 0x12,
+0x35,0x5e,0x78,0x8, 0x5e,0xa0,0xf, 0xbe,0xa0,0x1, 0x28,0x11,0xe4,0x7a,0xb3,0xb,
+0x37,0x6d,0x33,0x7a,0x37,0xb, 0x4f,0x7a,0x37,0xb, 0x51,0xa1,0x4d,0x7e,0xb3,0xb,
+0xb3,0xbe,0xb0,0x1, 0x78,0x2, 0xa1,0x4d,0x4c,0xaa,0x78,0x2, 0xa1,0x1b,0x7e,0xe3,
+0xb, 0x37,0xbe,0xe0,0x2, 0x28,0x2, 0x81,0xf3,0x7c,0xbe,0x4, 0x7a,0xb3,0xb, 0x37,
+0x7e,0xa3,0xb, 0x37,0xbe,0xa0,0x1, 0x78,0x33,0x7e,0x37,0x0, 0x7a,0x7a,0x37,0xb,
+0x41,0x7e,0x37,0x0, 0x7c,0x7a,0x37,0xb, 0x43,0x7e,0x1f,0xb, 0x41,0x7a,0x1f,0xb,
+0x45,0x7e,0x1f,0xb, 0x41,0x7a,0x1f,0xb, 0x49,0x6d,0x33,0x7a,0x37,0xb, 0x4d,0x7a,
+0x37,0xb, 0x4f,0x7a,0x37,0xb, 0x51,0x12,0x33,0x41,0xa1,0x46,0xbe,0xa0,0x2, 0x40,
+0x18,0x7e,0x37,0x0, 0x7a,0x2e,0x37,0xb, 0x4f,0x7a,0x37,0xb, 0x4f,0x7e,0x37,0x0,
+0x7c,0x2e,0x37,0xb, 0x51,0x7a,0x37,0xb, 0x51,0x7e,0x37,0xb, 0x41,0x12,0x35,0x57,
+0x7d,0x63,0x7e,0x37,0xb, 0x43,0x12,0x35,0x50,0x7a,0x35,0x22,0x7e,0x37,0xb, 0x45,
+0x12,0x35,0x57,0x7a,0x35,0x24,0x7e,0x37,0xb, 0x47,0x12,0x35,0x50,0x7d,0x23,0x7e,
+0x35,0x22,0x2d,0x36,0xbe,0x34,0x0, 0xf, 0x50,0x18,0xbe,0x64,0x0, 0x7, 0x50,0x12,
+0x2e,0x25,0x24,0xbe,0x24,0x0, 0x1e,0x50,0x9, 0x7e,0x25,0x24,0xbe,0x24,0x0, 0xf,
+0x40,0x53,0x7e,0x53,0xb, 0x37,0xbc,0x5f,0x28,0x4b,0xe4,0x7a,0xb3,0xb, 0x37,0xbe,
+0x34,0x0, 0x8, 0x38,0x2, 0xa1,0x46,0x7e,0x37,0xb, 0x45,0xbe,0x34,0x0, 0x28,0x40,
+0x6, 0xbe,0x34,0x1, 0x66,0x28,0x24,0x7e,0x27,0xb, 0x47,0xbe,0x24,0x0, 0x28,0x28,
+0x1a,0xbe,0x24,0x1, 0x66,0x50,0x14,0x7a,0x37,0x0, 0x7a,0x7e,0x27,0x0, 0x7c,0x2e,
+0x27,0xb, 0x47,0x1e,0x24,0x7a,0x27,0x0, 0x7c,0xa1,0x46,0x7a,0x37,0x0, 0x7a,0x7e,
+0x37,0xb, 0x47,0x80,0x60,0x7e,0x27,0x0, 0x7a,0x7a,0x27,0xb, 0x41,0x7e,0x37,0x0,
+0x7c,0x7a,0x37,0xb, 0x43,0x7e,0xa3,0x0, 0x76,0x74,0x4, 0xa4,0x12,0x37,0x7e,0x7e,
+0xf7,0xb, 0x4d,0x6d,0xee,0xbf,0x70,0x58,0xc, 0x7a,0x17,0xb, 0x4d,0x7a,0x27,0xb,
+0x49,0x7a,0x37,0xb, 0x4b,0x7e,0x73,0x0, 0x90,0x7c,0xb7,0xc4,0x7c,0x6b,0x12,0x35,
+0xe2,0x80,0x53,0xa, 0x2e,0xb, 0x24,0x1b,0x25,0x7e,0x17,0xb, 0x4f,0x8d,0x12,0x7a,
+0x17,0xb, 0x41,0x7e,0x37,0xb, 0x51,0x8d,0x32,0x7a,0x37,0xb, 0x43,0x7e,0x27,0xb,
+0x41,0x7a,0x27,0x0, 0x7a,0x7a,0x37,0x0, 0x7c,0x80,0x2b,0x7e,0x73,0xb, 0x37,0xbc,
+0x7f,0x28,0x1b,0x7e,0x37,0xb, 0x49,0x7a,0x37,0x0, 0x7a,0x7e,0x37,0xb, 0x4b,0x7a,
+0x37,0x0, 0x7c,0x12,0x35,0xef,0x74,0x1, 0x7a,0xb3,0xb, 0x38,0x80,0x3, 0x12,0x33,
+0x41,0xe4,0x7a,0xb3,0xb, 0x37,0x12,0xe, 0xaf,0x78,0x2, 0xf5,0x9, 0xda,0x3b,0x22,
+0x9e,0x37,0x0, 0x7c,0x2, 0x0, 0x2e,0x9e,0x37,0x0, 0x7a,0x2, 0x0, 0x2e,0x7e,0xa3,
+0x0, 0x90,0x7c,0xba,0xc4,0x54,0xf, 0x22,0xca,0x79,0x9f,0x11,0x7a,0x1f,0x9, 0xfd,
+0x7e,0xa3,0x0, 0x90,0x7c,0xba,0x54,0xf, 0xb4,0x1, 0x64,0x7e,0x1f,0x0, 0xa2,0x7a,
+0x1f,0x9, 0xfd,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x6, 0x7e,0x1f,0x9, 0xfd,0x80,0x34,
+0x7e,0x37,0xb, 0x3b,0x12,0x35,0x50,0x7d,0x73,0x7e,0x37,0xb, 0x39,0x12,0x35,0x57,
+0x2d,0x37,0xbe,0x34,0x0, 0xf, 0x58,0x20,0x7e,0x1f,0xb, 0x3d,0x7f,0x1, 0x1e,0x14,
+0x1e,0x4, 0x50,0x3, 0x4e,0x20,0x80,0x7e,0x1f,0x9, 0xfd,0xbf,0x10,0x50,0x5, 0x12,
+0x33,0x41,0x80,0x4, 0x7a,0x1f,0xb, 0x3d,0x7e,0x37,0x0, 0x7a,0x7a,0x37,0xb, 0x39,
+0x7e,0x37,0x0, 0x7c,0x7a,0x37,0xb, 0x3b,0x12,0xe, 0xaf,0x78,0x2, 0xf5,0x9, 0xda,
+0x79,0x22,0x5e,0x60,0xf, 0x5e,0x70,0xf0,0x4c,0x76,0x7a,0x73,0x0, 0x90,0x22,0x7e,
+0xb3,0x0, 0x90,0x54,0xf0,0x44,0x1, 0x7a,0xb3,0x0, 0x90,0x22,0x6c,0xaa,0x7e,0x90,
+0x5, 0xac,0x9a,0x9, 0xb4,0x2, 0xba,0xbe,0xb0,0xff,0x68,0xa, 0x49,0x34,0x2, 0xb8,
+0xbe,0x34,0x1, 0x8d,0x50,0x33,0xb, 0xa0,0xbe,0xa0,0x2, 0x40,0xe1,0x12,0x37,0x2c,
+0x78,0x21,0x7c,0xb7,0xc4,0x7c,0x6b,0x5e,0x60,0xf, 0xbe,0x60,0x0, 0x28,0x14,0xe5,
+0x4c,0xbe,0xb0,0x1, 0x50,0x9, 0x12,0x35,0xe5,0x75,0x12,0x1, 0x5, 0x4c,0x22,0x75,
+0x4c,0x0, 0x22,0x75,0x4c,0x0, 0x75,0x12,0x0, 0x22,0x75,0x27,0xa, 0x75,0x28,0x5,
+0x7e,0x18,0x3, 0xe8,0x7e,0x8, 0x27,0x10,0x74,0xc, 0x12,0x36,0xac,0x70,0x13,0x75,
+0x27,0xa, 0x75,0x28,0x4, 0x7e,0x18,0x3, 0xe8,0x7e,0x8, 0x27,0x10,0x74,0xa, 0x12,
+0x36,0xac,0x60,0x13,0x7e,0xb3,0x6, 0x67,0x44,0x2, 0x7a,0xb3,0x6, 0x67,0x12,0x33,
+0x41,0xe4,0x7a,0xb3,0xd, 0x11,0x22,0x7e,0xa3,0x6, 0x67,0x7c,0xba,0x30,0xe1,0x1b,
+0x7e,0xb3,0xd, 0x11,0x4, 0x7a,0xb3,0xd, 0x11,0xbe,0xb0,0x14,0x40,0xd, 0xe4,0x7a,
+0xb3,0xd, 0x11,0x7c,0xba,0x54,0xfd,0x7a,0xb3,0x6, 0x67,0x22,0xca,0x3b,0xf5,0x26,
+0x7a,0xd, 0x22,0x7f,0x31,0x75,0x29,0x0, 0x75,0x2a,0x0, 0x7e,0x34,0x9, 0xfd,0x7e,
+0x24,0x0, 0x90,0xe4,0x12,0x4, 0xeb,0x6c,0xaa,0x12,0x28,0x5b,0xbf,0x13,0x8, 0x11,
+0x7e,0x31,0x29,0x74,0x4, 0xac,0x3b,0x59,0x31,0x9, 0xff,0x59,0x21,0x9, 0xfd,0x5,
+0x29,0xb, 0xa0,0xbe,0xa0,0x16,0x78,0xe1,0xe5,0x26,0xbe,0xb1,0x29,0x38,0x38,0x7e,
+0xd, 0x22,0x7e,0x1f,0x5, 0x28,0xbf,0x10,0x58,0x2d,0x7e,0x34,0x9, 0xfd,0xe5,0x26,
+0xa, 0x2b,0x12,0x38,0x8, 0x7e,0xa1,0x27,0x74,0x4, 0xa4,0x49,0x35,0x9, 0xff,0x49,
+0x25,0x9, 0xfd,0xe5,0x28,0xa, 0x1b,0x6d,0x0, 0x12,0x3, 0xec,0x7e,0xf, 0x9, 0xfd,
+0xbf,0x10,0x8, 0x3, 0x75,0x2a,0x1, 0xe5,0x2a,0xda,0x3b,0x22,0x7e,0x73,0x0, 0x90,
+0x7c,0xb7,0x54,0xf, 0x22,0x7e,0x37,0x0, 0x92,0xbe,0x34,0x0, 0x1, 0x22,0x12,0x37,
+0x35,0x78,0x1b,0x7e,0xb3,0x6, 0x67,0x20,0xe5,0x14,0x7e,0xb3,0x6, 0xcb,0x20,0xe0,
+0xd, 0x12,0x37,0x5f,0x7e,0xb3,0x6, 0xcb,0x44,0x1, 0x7a,0xb3,0x6, 0xcb,0x22,0xa9,
+0xc0,0xca,0x6d,0x22,0x12,0x37,0x87,0x5e,0x60,0x7f,0x1b,0x28,0x30,0x22,0x7e,0x73,
+0x0, 0x90,0x7c,0x67,0x5e,0x60,0xf, 0x22,0x6d,0xee,0x74,0x4, 0xac,0xbf,0x49,0x15,
+0x3, 0x5e,0x49,0x5, 0x3, 0x5c,0x22,0x7e,0x34,0x13,0x14,0x1b,0x38,0x20,0x7e,0x24,
+0x12,0x4, 0xb, 0x28,0x30,0x22,0x7e,0xb3,0x6, 0xcb,0x30,0xe0,0x16,0xa9,0xd0,0xca,
+0x7e,0x24,0x0, 0x3f,0x12,0x37,0x87,0x4e,0x60,0x80,0x1b,0x28,0x30,0x54,0xfe,0x7a,
+0xb3,0x6, 0xcb,0x22,0xc2,0xab,0x12,0x37,0x3e,0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xd5,
+0xc9,0xd2,0xaf,0xa9,0xd0,0xcd,0xd2,0xc8,0xd2,0xa8,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,
+0xd7,0x9e,0xd2,0xaf,0x74,0x1, 0x12,0x4e,0x28,0x74,0x2, 0x12,0xf, 0xcd,0x12,0x4e,
+0x8b,0xc2,0xa8,0xa9,0xc0,0xcd,0xc2,0xc8,0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xc5,0xc9,
+0xd2,0xaf,0xd2,0xab,0x12,0x4e,0x10,0x2, 0x37,0x96,0xbd,0x32,0x58,0x3, 0x7d,0x32,
+0x22,0xbd,0x31,0x8, 0x2, 0x7d,0x31,0x22,0x6d,0x11,0x80,0x48,0x6d,0x0, 0x80,0x38,
+0x7d,0xf0,0x3e,0xf4,0x3e,0xf4,0x7d,0xef,0x2d,0xe3,0x49,0xde,0x0, 0x6, 0x49,0xce,
+0x0, 0x4, 0x49,0x5e,0x0, 0x2, 0xb, 0xe8,0x40,0xbf,0x26,0x58,0x19,0x49,0xde,0x0,
+0x6, 0x49,0xce,0x0, 0x4, 0x59,0xde,0x0, 0x2, 0x1b,0xe8,0xc0,0x2d,0xf3,0x59,0x5f,
+0x0, 0x6, 0x59,0x4f,0x0, 0x4, 0xb, 0x4, 0x7d,0xf2,0x1b,0xf4,0x9d,0xf1,0xbd,0xf0,
+0x38,0xbe,0xb, 0x14,0xbd,0x21,0x38,0xb4,0x22,0x75,0x39,0x3, 0x75,0x3f,0x0, 0x22,
+0xca,0xf8,0x12,0x38,0xe2,0x12,0x38,0xf1,0x12,0x38,0x59,0x75,0x39,0x3, 0x75,0x37,
+0x40,0x12,0x38,0xe2,0xe5,0x39,0xb4,0x3, 0x60,0xe5,0x3f,0x60,0xf4,0x12,0x38,0xfa,
+0x12,0x1f,0xb5,0x12,0x1f,0x3a,0x12,0x15,0xa, 0x6c,0xff,0x80,0x2d,0x7e,0xb3,0xb,
+0x9e,0x60,0x1a,0x7e,0x50,0x2, 0xac,0x5f,0x49,0xf2,0x5, 0x34,0x12,0x37,0x78,0x9f,
+0x7, 0x7d,0x31,0x2e,0x34,0x27,0x10,0x59,0x32,0xc, 0x20,0x80,0xb, 0x12,0x1f,0xbc,
+0x74,0x2, 0xac,0xbf,0x59,0x35,0xc, 0x20,0xb, 0xf0,0x12,0x1a,0x60,0x38,0xce,0x75,
+0x3f,0x0, 0x7e,0xb3,0xc, 0xd6,0x54,0x7f,0x7a,0xb3,0xc, 0xd6,0xe5,0xa, 0x20,0xe0,
+0xa0,0x74,0x1, 0x7a,0xb3,0x3, 0x42,0x80,0x98,0xe5,0x39,0x7a,0xb3,0xb, 0x9f,0xda,
+0xf8,0x22,0x6d,0x33,0x7a,0x37,0x2, 0xd0,0x7e,0x34,0x7, 0xd0,0x7a,0x37,0x0, 0x74,
+0x22,0x7e,0x34,0x2, 0xd4,0x7a,0x37,0x6, 0xd8,0x22,0x7e,0xb3,0x6, 0xd7,0x44,0x2,
+0x7a,0xb3,0x6, 0xd7,0x22,0xbe,0xb0,0xa, 0x50,0x8, 0x7c,0x1b,0x2e,0x10,0x37,0xa5,
+0xe7,0x22,0x2, 0x39,0x15,0xb4,0xae,0x5, 0x7e,0xb3,0x3, 0x34,0x22,0x24,0xf6,0xbe,
+0xb0,0x30,0x40,0x2, 0x41,0xcb,0x7e,0xa0,0x3, 0xa4,0x90,0x39,0x2e,0x73,0x2, 0x39,
+0xbe,0x2, 0x39,0xc1,0x2, 0x39,0xc3,0x2, 0x39,0xc8,0x2, 0x39,0xcd,0x2, 0x39,0xd2,
+0x2, 0x39,0xd7,0x2, 0x39,0xdc,0x2, 0x39,0xe1,0x2, 0x39,0xe6,0x2, 0x39,0xeb,0x2,
+0x39,0xf0,0x2, 0x39,0xf5,0x2, 0x3a,0x9, 0x2, 0x3a,0xe, 0x2, 0x3a,0xcb,0x2, 0x3a,
+0x13,0x2, 0x3a,0x18,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,
+0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2,
+0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,
+0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,0x2, 0x3a,0xcb,
+0x2, 0x3a,0x1d,0x2, 0x3a,0x22,0x2, 0x3a,0x27,0x2, 0x3a,0x2c,0x2, 0x3a,0x31,0x2,
+0x3a,0x36,0x2, 0x3a,0xcb,0x2, 0x3a,0x69,0x2, 0x3a,0xcb,0x2, 0x3a,0x98,0x74,0x16,
+0x22,0xe4,0x22,0x7e,0xb3,0x3, 0x35,0x22,0x7e,0xb3,0x3, 0x38,0x22,0x7e,0xb3,0x3,
+0x39,0x22,0x7e,0xb3,0x3, 0x3a,0x22,0x7e,0xb3,0x3, 0x3b,0x22,0x7e,0xb3,0x3, 0x3c,
+0x22,0x7e,0xb3,0x3, 0x3d,0x22,0x7e,0xb3,0x3, 0x36,0x22,0x7e,0xb3,0x3, 0x37,0x22,
+0x7e,0xb3,0x3, 0x40,0x22,0x7e,0xb3,0xc, 0xd0,0x70,0x8, 0x7e,0x27,0x3, 0x30,0xa,
+0x54,0x80,0xa, 0x7e,0x57,0x3, 0x30,0x80,0x4, 0x7e,0x57,0x3, 0x30,0x22,0x7e,0xb3,
+0x3, 0x3f,0x22,0x7e,0xb3,0x3, 0x41,0x22,0x7e,0xb3,0x6, 0xd4,0x22,0x7e,0xb3,0x3,
+0x43,0x22,0x7e,0xb3,0x3, 0x44,0x22,0x7e,0xb3,0x3, 0x45,0x22,0x7e,0xb3,0x3, 0x46,
+0x22,0x7e,0xb3,0x3, 0x47,0x22,0x7e,0x73,0x3, 0x47,0x7c,0xb7,0x4, 0x7a,0xb3,0x3,
+0x47,0xbe,0x70,0x5c,0x50,0x20,0xa, 0x27,0x7d,0x12,0x5e,0x14,0x0, 0x1, 0x68,0xb,
+0x7d,0x12,0x1e,0x14,0x3e,0x14,0x49,0x51,0xc, 0x20,0x22,0x1e,0x24,0x3e,0x24,0x49,
+0x22,0xc, 0x20,0xa, 0x54,0x22,0x74,0xee,0x22,0x7e,0x73,0x3, 0x44,0x7c,0xb7,0x4,
+0x7a,0xb3,0x3, 0x44,0xbe,0x70,0x2e,0x50,0x1c,0xbe,0x70,0x16,0x50,0x2, 0x80,0x5,
+0xbe,0x70,0x16,0x50,0xb, 0xa, 0x37,0x2e,0x34,0x4, 0xc5,0x12,0x2f,0x41,0x7c,0x7b,
+0xb, 0x70,0x7c,0xb7,0x22,0x74,0xee,0x22,0x7e,0x73,0x3, 0x46,0x7c,0xb7,0x4, 0x7a,
+0xb3,0x3, 0x46,0xbe,0x70,0x5c,0x50,0x20,0xa, 0x27,0x7d,0x12,0x5e,0x14,0x0, 0x1,
+0x68,0xb, 0x7d,0x12,0x1e,0x14,0x3e,0x14,0x49,0x51,0x2, 0xd4,0x22,0x1e,0x24,0x3e,
+0x24,0x49,0x22,0x2, 0xd4,0xa, 0x54,0x22,0x74,0xee,0x22,0x74,0xee,0x22,0xbe,0xb0,
+0xa, 0x50,0xa, 0x7c,0x1b,0x2e,0x10,0x37,0x7c,0xb7,0xa5,0xf7,0x22,0x2, 0x3a,0xe0,
+0xca,0x79,0x7c,0x6b,0xa5,0xbe,0xae,0x17,0x7a,0x73,0x3, 0x34,0x7e,0xb3,0x3, 0x34,
+0xb4,0x1, 0x5, 0xe4,0x7a,0xb3,0x3, 0x34,0xe4,0x7a,0xb3,0x3, 0x42,0x61,0xfe,0xa5,
+0xbe,0xaf,0x5, 0x12,0x4c,0xd, 0x81,0x81,0x7c,0xb6,0x24,0xf4,0xbe,0xb0,0x29,0x40,
+0x2, 0x81,0x39,0x7e,0xa0,0x3, 0xa4,0x90,0x3b,0x1b,0x73,0x2, 0x3b,0x96,0x2, 0x3b,
+0x9c,0x2, 0x3b,0xa2,0x2, 0x3b,0xa8,0x2, 0x3b,0xae,0x2, 0x3b,0xb4,0x2, 0x3b,0xba,
+0x2, 0x3b,0xc0,0x2, 0x3b,0xc6,0x2, 0x3b,0xcc,0x2, 0x3b,0xd2,0x2, 0x3b,0xea,0x2,
+0x3c,0x3, 0x2, 0x3c,0x7a,0x2, 0x3c,0x9, 0x2, 0x3c,0x12,0x2, 0x3c,0x39,0x2, 0x3c,
+0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,
+0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2,
+0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,
+0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x39,0x2, 0x3c,0x1b,0x2, 0x3c,0x21,0x2, 0x3c,0x27,
+0x2, 0x3c,0x2d,0x2, 0x3c,0x33,0x7e,0x74,0x3, 0x35,0x80,0x7a,0x7e,0x74,0x3, 0x38,
+0x80,0x74,0x7e,0x74,0x3, 0x39,0x80,0x6e,0x7e,0x74,0x3, 0x3a,0x80,0x68,0x7e,0x74,
+0x3, 0x3b,0x80,0x62,0x7e,0x74,0x3, 0x3c,0x80,0x5c,0x7e,0x74,0x3, 0x3d,0x80,0x56,
+0x7e,0x74,0x3, 0x36,0x80,0x50,0x7e,0x74,0x3, 0x37,0x80,0x4a,0x7e,0x74,0x3, 0x40,
+0x80,0x44,0x7e,0x27,0x3, 0x30,0x6c,0x44,0x7a,0x27,0x3, 0x30,0x7c,0x67,0x6c,0x77,
+0x4e,0x37,0x3, 0x30,0x7a,0x37,0x3, 0x30,0x80,0x14,0x7e,0x27,0x3, 0x30,0x6c,0x55,
+0x7a,0x27,0x3, 0x30,0xa, 0x37,0x4e,0x37,0x3, 0x30,0x7a,0x37,0x3, 0x30,0x43,0xa,
+0x1, 0x80,0x7e,0x7e,0x74,0x3, 0x3f,0x80,0xd, 0x7e,0x74,0x3, 0x41,0x43,0xa, 0x4,
+0x80,0x68,0x7e,0x74,0x6, 0xd4,0x43,0xa, 0x1, 0x80,0x5f,0x7a,0x73,0x3, 0x43,0x80,
+0x60,0x7a,0x73,0x3, 0x44,0x80,0x5a,0x7a,0x73,0x3, 0x45,0x80,0x54,0x7a,0x73,0x3,
+0x46,0x80,0x4e,0x7a,0x73,0x3, 0x47,0x80,0x48,0xbe,0x60,0x39,0x68,0x4, 0xa5,0xbe,
+0x3a,0x3f,0x7e,0x63,0x3, 0x45,0x7c,0xb6,0x4, 0x7a,0xb3,0x3, 0x45,0xa, 0x26,0x5e,
+0x24,0x0, 0x1, 0xa, 0x16,0x68,0x12,0x12,0x3c,0x84,0x6c,0x55,0x1b,0x18,0x20,0xa,
+0x17,0x12,0x3c,0x90,0x43,0xa, 0x2, 0x80,0x18,0x12,0x3c,0x84,0x6c,0x44,0x1b,0x18,
+0x20,0x7c,0x27,0x6c,0x33,0x12,0x3c,0x90,0x80,0x7, 0x4d,0x77,0x68,0x3, 0x7a,0x79,
+0x70,0xda,0x79,0x22,0x1e,0x14,0x3e,0x14,0x2e,0x14,0x2, 0xd4,0xb, 0x18,0x20,0x22,
+0xa, 0x26,0x1e,0x24,0x3e,0x24,0x2e,0x24,0x2, 0xd4,0xb, 0x28,0x30,0x4d,0x31,0x1b,
+0x28,0x30,0x22,0xca,0x69,0xca,0xf8,0x7c,0xf7,0xbe,0xb0,0x80,0x40,0xb, 0xbe,0xb0,
+0xde,0x38,0x6, 0x24,0x80,0x7c,0x7f,0xa1,0x3f,0x24,0x0, 0x68,0x2, 0xa1,0x42,0x7e,
+0x64,0xc, 0xd6,0x7a,0x69,0xf0,0x5e,0xf0,0x70,0x7c,0xbf,0xc4,0x54,0xf, 0x7c,0xfb,
+0xbe,0xf0,0x4, 0x78,0x15,0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x7, 0x74,0x2, 0x7e,0x70,
+0x3, 0x80,0x36,0x74,0x3c,0x7e,0x70,0x3, 0x80,0x55,0x7e,0xb3,0xb, 0x9f,0xb4,0x3,
+0x2d,0x74,0x2, 0x7e,0x70,0x1, 0x12,0x3a,0xce,0xbe,0xf0,0x1, 0x78,0x6, 0x74,0x2,
+0x6c,0x77,0x80,0x15,0x4c,0xff,0x78,0x7, 0x74,0x2, 0x7e,0x70,0x1, 0x80,0xa, 0xbe,
+0xf0,0x3, 0x78,0x2e,0x74,0x2, 0x7e,0x70,0x4, 0x12,0x3a,0xce,0x80,0x24,0xbe,0xf0,
+0x1, 0x78,0x6, 0x74,0x3c,0x6c,0x77,0x80,0x16,0xbe,0xf0,0x4, 0x78,0x7, 0x74,0x3c,
+0x7e,0x70,0x3, 0x80,0xa, 0xbe,0xf0,0x3, 0x78,0x8, 0x74,0x3c,0x7e,0x70,0x4, 0x12,
+0x3f,0xc1,0xda,0xf8,0xda,0x69,0x22,0xca,0x79,0x7c,0x6b,0x24,0x0, 0x78,0x75,0x7e,
+0x74,0xc, 0xd6,0x7a,0x79,0x70,0x5e,0x70,0x70,0x7c,0xb7,0xc4,0x54,0xf, 0x7c,0x7b,
+0xbe,0x70,0x4, 0x68,0x47,0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x20,0xa5,0xbf,0x1, 0x6,
+0x74,0x2, 0x6c,0x77,0x80,0x5c,0xa5,0xbf,0x0, 0x7, 0x74,0x2, 0x7e,0x70,0x1, 0x80,
+0x51,0xa5,0xbf,0x3, 0x68,0x74,0x2, 0x7e,0x70,0x4, 0x80,0x46,0xa5,0xbf,0x1, 0x6,
+0x74,0x3c,0x6c,0x77,0x80,0x29,0xa5,0xbf,0x4, 0x7, 0x74,0x3c,0x7e,0x70,0x3, 0x80,
+0x1e,0xa5,0xbf,0x3, 0x48,0x74,0x3c,0x7e,0x70,0x4, 0x80,0x13,0x7e,0xb3,0xb, 0x9f,
+0xb4,0x3, 0x7, 0x74,0x2, 0x7e,0x70,0x3, 0x80,0x18,0x74,0x3c,0x7e,0x70,0x3, 0x12,
+0x3f,0xc1,0x80,0x29,0xbe,0x60,0xa, 0x50,0xe, 0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x1d,
+0x7c,0xb6,0x12,0x3a,0xce,0x80,0x16,0xbe,0x60,0xa, 0x40,0x11,0xbe,0x60,0xaf,0x38,
+0xc, 0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x5, 0x7c,0xb6,0x12,0x3a,0xe0,0xda,0x79,0x22,
+0xca,0x79,0x20,0x90,0x2, 0xc1,0x96,0xd2,0x8, 0x7e,0xb3,0xc, 0xd2,0x4, 0x7a,0xb3,
+0xc, 0xd2,0x7e,0xf3,0xc, 0xd2,0xbe,0xf0,0x1, 0x78,0x22,0xe5,0x91,0x7a,0xb3,0xc,
+0xd8,0x7e,0xb3,0xc, 0xd8,0xb4,0xd3,0xe, 0x74,0x1, 0x7a,0xb3,0xc, 0xd7,0x6d,0x33,
+0x7a,0x37,0xc, 0xd3,0x80,0x3c,0xe4,0x7a,0xb3,0xc, 0xd7,0x80,0x35,0x7e,0xb3,0xc,
+0xd6,0xc4,0x7c,0xeb,0x5e,0xe0,0x7, 0x78,0x8, 0x12,0x3f,0x23,0x12,0x3c,0xa3,0x80,
+0x21,0xbe,0xe0,0x4, 0x78,0x8, 0x12,0x3f,0x23,0x12,0x3d,0x47,0x80,0x14,0x7e,0xb3,
+0xc, 0xd6,0xc4,0x54,0x7, 0xb4,0x1, 0xa, 0x7e,0xb3,0xc, 0xd2,0x12,0x3f,0x25,0x12,
+0x4b,0xd8,0x12,0x3f,0xb6,0x78,0xe, 0xe4,0x12,0x3f,0x2f,0xb4,0x10,0x2, 0x80,0x14,
+0x12,0x27,0x57,0x80,0x12,0xbe,0xf0,0x4, 0x78,0x5, 0x12,0x27,0x2e,0x80,0x8, 0xbe,
+0xf0,0x1, 0x78,0x3, 0x12,0x3f,0xf5,0x7e,0xb3,0xc, 0xd8,0xb4,0xd3,0x6, 0x7e,0xb3,
+0xb, 0xb6,0xf5,0x91,0xc2,0x90,0x20,0x91,0x2, 0xe1,0x20,0xc2,0x8, 0x7e,0xb3,0xc,
+0xd0,0x4, 0x12,0x3f,0xb2,0x78,0x50,0x7e,0xb3,0xc, 0xd7,0xb4,0x1, 0x36,0x7e,0xa3,
+0x9, 0x6a,0x7e,0x70,0x4, 0xac,0x7a,0xbe,0x37,0xc, 0xd3,0x40,0x22,0x7e,0x37,0xc,
+0xd3,0x4d,0x33,0x78,0x5, 0x7a,0xa1,0x91,0x80,0xd, 0x7d,0x23,0x1b,0x24,0x2e,0x27,
+0x6, 0xdb,0x7e,0x29,0xb0,0xf5,0x91,0xb, 0x34,0x7a,0x37,0xc, 0xd3,0x80,0x3f,0x75,
+0x91,0xff,0x80,0x3a,0xe4,0x12,0x3f,0x2f,0xb4,0x10,0x6, 0x7e,0xb3,0xc, 0xd0,0x80,
+0x19,0x7e,0xb3,0xc, 0xd0,0x80,0x1e,0xbe,0xf0,0x4, 0x78,0x5, 0x12,0x27,0x2e,0x80,
+0x1d,0xbe,0xf0,0x1, 0x7e,0xb3,0xc, 0xd0,0x78,0xb, 0x2e,0xb3,0xc, 0xd8,0x12,0x0,
+0x7, 0xf5,0x91,0x80,0x9, 0x2e,0xb3,0xc, 0xd8,0x12,0x3f,0x2f,0xf5,0x91,0xc2,0x91,
+0xda,0x79,0x22,0x7c,0xbf,0x2e,0xb3,0xc, 0xd8,0x24,0xfe,0x7e,0x71,0x91,0x22,0x7c,
+0x7b,0xbe,0x70,0x80,0x40,0xc, 0xbe,0x70,0xde,0x38,0x7, 0xa, 0x37,0x9, 0xb3,0xa,
+0xe3,0x22,0xa5,0xbf,0x0, 0x5, 0x7e,0xb3,0xc, 0xd6,0x22,0x30,0x7, 0x6, 0x7e,0x24,
+0xc, 0xac,0x80,0x4, 0x7e,0x24,0xc, 0xbe,0x7a,0x25,0x4a,0x7c,0xb7,0x14,0xbe,0xb0,
+0xe, 0x50,0x4c,0x7e,0xa0,0x3, 0xa4,0x90,0x3f,0x6b,0x73,0x2, 0x3f,0x95,0x2, 0x3f,
+0x9d,0x2, 0x3f,0xa5,0x2, 0x3f,0xa5,0x2, 0x3f,0xa5,0x2, 0x3f,0xa5,0x2, 0x3f,0xa5,
+0x2, 0x3f,0xa5,0x2, 0x3f,0xa5,0x2, 0x3f,0xa5,0x2, 0x3f,0xa5,0x2, 0x3f,0xa5,0x2,
+0x3f,0xa5,0x2, 0x3f,0xa5,0x7e,0x35,0x4a,0x9, 0xb3,0x0, 0x4, 0x22,0x7e,0x35,0x4a,
+0x9, 0xb3,0x0, 0x3, 0x22,0xa, 0x37,0x2e,0x35,0x4a,0x9, 0xb3,0x0, 0x2, 0x22,0x74,
+0xff,0x22,0x7a,0xb3,0xc, 0xd0,0x7e,0xb3,0xc, 0xd6,0xc4,0x7c,0xfb,0x5e,0xf0,0x7,
+0x22,0xbe,0xb0,0x5e,0x38,0x2e,0xbe,0xb0,0x26,0x68,0x29,0xbe,0xb0,0x2f,0x68,0x24,
+0xbe,0xb0,0x23,0x68,0x1f,0xbe,0xb0,0x28,0x68,0x1a,0xbe,0xb0,0x21,0x68,0x15,0xbe,
+0xb0,0x22,0x68,0x10,0xa, 0x2b,0x19,0x72,0xb, 0x63,0x7e,0xb3,0xb, 0xc2,0x44,0x1,
+0x7a,0xb3,0xb, 0xc2,0x22,0x7e,0xb3,0xc, 0xd8,0x12,0x0, 0x7, 0xf5,0x91,0x22,0x75,
+0xd, 0x0, 0xc2,0x5, 0x7e,0xb3,0xb, 0x88,0x70,0x7, 0x7e,0xb3,0x0, 0x95,0xf5,0x1a,
+0x22,0x7e,0xb3,0x0, 0x97,0xf5,0x1a,0x22,0x7d,0xd2,0x6d,0x22,0x9e,0x18,0x0, 0xc7,
+0x6d,0xcc,0x7e,0x78,0x0, 0xc7,0x7f,0x27,0x9f,0x26,0x12,0x44,0x5f,0x2e,0x28,0x0,
+0xc7,0x9f,0x71,0x7f,0x17,0xbe,0x28,0x0, 0x0, 0x58,0x4, 0x9f,0x22,0x80,0xa, 0xbe,
+0x28,0x1, 0x8e,0x48,0x4, 0x7e,0x28,0x1, 0x8d,0xbe,0x18,0x0, 0x0, 0x58,0x4, 0x9f,
+0x11,0x80,0xa, 0xbe,0x18,0x1, 0x8e,0x48,0x4, 0x7e,0x18,0x1, 0x8d,0x1b,0x18,0x50,
+0x7d,0x13,0x1b,0x8, 0x10,0x22,0xca,0xf8,0x6c,0xff,0x80,0x23,0x74,0x5, 0xac,0xbf,
+0x12,0x44,0xd, 0x7e,0x14,0x0, 0x22,0x7e,0x4, 0x0, 0x24,0x12,0x40,0x18,0x7e,0x35,
+0x22,0x74,0x5, 0xac,0xbf,0x59,0x35,0x0, 0x7a,0x7e,0x35,0x24,0x12,0x44,0x54,0x12,
+0x40,0x97,0x48,0xd8,0xda,0xf8,0x22,0x7e,0xb3,0x0, 0x90,0x54,0xf, 0xa, 0x2b,0xa,
+0x3f,0xbd,0x32,0x22,0xca,0x3b,0xc2,0xf, 0x75,0x2c,0x0, 0x7e,0xb3,0x3, 0x5a,0xbe,
+0xb0,0x2, 0x68,0x7, 0x7e,0xb3,0x3, 0x5b,0xb4,0x2, 0x16,0x12,0x35,0x5e,0xbe,0xb0,
+0x1, 0x38,0xe, 0x7c,0xba,0x54,0xf, 0xbe,0xb0,0x1, 0x38,0x5, 0x7c,0xba,0x12,0x33,
+0x45,0x6c,0xff,0x7e,0xa0,0xff,0x7e,0x70,0x5, 0xac,0x7f,0x19,0xa3,0x0, 0x7e,0x7c,
+0x1f,0x2e,0x10,0x22,0x74,0xff,0xa5,0xf7,0x7e,0x24,0xff,0xff,0x12,0x43,0xf0,0x1b,
+0x38,0x20,0x7c,0x1f,0x2e,0x10,0x24,0xe4,0xa5,0xf7,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,
+0xd2,0x7e,0xa3,0x0, 0x90,0x7c,0xba,0x54,0xf, 0x78,0x1f,0x7c,0xba,0xc4,0x54,0xf,
+0x78,0x18,0x6c,0xff,0x12,0x44,0x4c,0xac,0x7f,0x59,0x43,0x3, 0x52,0x59,0x43,0x3,
+0x56,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xec,0x61,0x8b,0x7c,0xba,0xc4,0x54,0xf, 0x78,
+0x33,0x6c,0xff,0x7e,0xa0,0x1, 0x80,0x25,0x7c,0x1f,0x2e,0x10,0x24,0x7c,0xba,0x12,
+0x43,0xf9,0x19,0xf3,0x0, 0x7e,0x49,0x43,0x0, 0x7a,0x7e,0x50,0x2, 0xac,0x5f,0x59,
+0x42,0x3, 0x52,0x49,0x33,0x0, 0x7c,0x59,0x32,0x3, 0x56,0xb, 0xf0,0x12,0x40,0x97,
+0x48,0xd6,0x61,0x8b,0x6c,0xff,0x80,0x47,0x6c,0xee,0x74,0x2, 0xac,0xbe,0x49,0x25,
+0x3, 0x56,0x12,0x46,0xb, 0x7d,0x63,0x74,0x2, 0xac,0xbe,0x49,0x25,0x3, 0x52,0x12,
+0x44,0x76,0x2d,0x36,0x7a,0x35,0x26,0x7c,0xbf,0x3e,0xb0,0x24,0x28,0xa, 0x2b,0xb,
+0x28,0x30,0xbe,0x35,0x26,0x28,0xf, 0x7c,0x1f,0x2e,0x10,0x22,0x7c,0xbe,0xa5,0xf7,
+0x7e,0x35,0x26,0x1b,0x28,0x30,0xb, 0xe0,0xbe,0xe0,0x2, 0x78,0xbd,0xb, 0xf0,0x12,
+0x40,0x97,0x48,0xb4,0x6c,0xff,0x41,0x54,0xd2,0xf, 0x6c,0xee,0x80,0x2c,0xbc,0xef,
+0x68,0x26,0x7c,0x1e,0x12,0x44,0x1, 0x7c,0x1f,0x2e,0x10,0x22,0xa5,0xe7,0xbc,0xba,
+0x78,0x16,0x7c,0xbe,0x12,0x43,0xf2,0xb, 0x38,0x20,0x12,0x43,0xf0,0xb, 0x38,0x30,
+0xbd,0x32,0x40,0x4, 0xc2,0xf, 0x80,0xd, 0xb, 0xe0,0x12,0xe, 0xaf,0xa, 0x2b,0xa,
+0x3e,0xbd,0x32,0x48,0xc9,0x7c,0x1f,0x12,0x44,0x1, 0xa, 0x4a,0x9, 0xb4,0x3, 0x5a,
+0xb4,0x2, 0x4, 0xc2,0xf, 0x80,0x1e,0xb4,0x1, 0x1b,0x12,0x37,0x2c,0xbe,0xb0,0x2,
+0x40,0x11,0x7c,0xb7,0xc4,0x54,0xf, 0xbe,0xb0,0x2, 0x40,0x7, 0xe4,0x19,0xb4,0x3,
+0x5a,0x80,0x2, 0xc2,0xf, 0x30,0xf, 0x2a,0xbe,0xa0,0x2, 0x50,0x25,0x7c,0x1a,0x2e,
+0x10,0x24,0x74,0x1, 0xa5,0xf7,0x7e,0x90,0x5, 0xac,0x9f,0x19,0xa4,0x0, 0x7e,0x49,
+0x34,0x0, 0x7a,0x74,0x2, 0xa4,0x59,0x35,0x3, 0x52,0x49,0x34,0x0, 0x7c,0x59,0x35,
+0x3, 0x56,0xb, 0xf0,0x12,0x40,0x97,0x58,0x2, 0x21,0xb8,0x6c,0xff,0x80,0x48,0x74,
+0x5, 0xac,0xbf,0x9, 0xb5,0x0, 0x7e,0xb4,0xff,0x3b,0x6c,0xee,0x7c,0x1e,0x2e,0x10,
+0x24,0xa5,0xe7,0x70,0x29,0xa, 0x3e,0x9, 0xb3,0x3, 0x5a,0x70,0x1f,0x74,0x1, 0x12,
+0x43,0xf9,0x49,0x23,0x0, 0x7a,0x74,0x2, 0xac,0xbe,0x59,0x25,0x3, 0x52,0x49,0x23,
+0x0, 0x7c,0x59,0x25,0x3, 0x56,0x19,0xe3,0x0, 0x7e,0x80,0x9, 0x5, 0x2c,0xb, 0xe0,
+0xbe,0xe0,0x2, 0x40,0xc7,0xb, 0xf0,0x7e,0xa3,0x0, 0x90,0x5e,0xa0,0xf, 0xa, 0x2a,
+0xa, 0x3f,0xbd,0x32,0x48,0xa9,0xe5,0x2c,0x60,0x2a,0x4c,0xaa,0x68,0x26,0xe5,0x2c,
+0xa, 0x3b,0xbd,0x23,0x48,0x1e,0x7e,0x73,0x0, 0x7e,0xbe,0x70,0x2, 0x40,0xc, 0x7e,
+0x73,0x0, 0x83,0xbe,0x70,0x2, 0x50,0x3, 0x12,0x46,0x3d,0x12,0x37,0x6e,0x9e,0x61,
+0x2c,0x12,0x35,0xe2,0x12,0x35,0x5e,0xa, 0x2b,0x7c,0xba,0x54,0xf, 0xa, 0x3b,0xbd,
+0x32,0x58,0x71,0x6c,0xff,0x12,0x43,0xe8,0x70,0x5a,0x7e,0xd0,0x2, 0xac,0xdf,0x49,
+0x46,0x3, 0x52,0xbe,0x44,0x7f,0xff,0x68,0x4b,0xa, 0x2f,0x9, 0x62,0x3, 0x5a,0xbe,
+0x60,0x2, 0x50,0x40,0x49,0x16,0x3, 0x56,0xbe,0x14,0x1, 0x8e,0x50,0x36,0x9, 0xb2,
+0xb, 0x31,0x60,0x30,0x74,0x1, 0xa5,0xf7,0x7e,0x73,0x0, 0x90,0x7c,0xe7,0x5e,0xe0,
+0xf, 0x74,0x5, 0xac,0xbe,0x59,0x45,0x0, 0x7a,0x59,0x15,0x0, 0x7c,0x19,0xf5,0x0,
+0x7e,0x2e,0x24,0x3, 0x5a,0x7c,0xb6,0x4, 0x7a,0x29,0xb0,0x7c,0x67,0xb, 0x60,0x12,
+0x35,0xe2,0x80,0x7, 0xe4,0xa, 0x3f,0x19,0xb3,0x3, 0x5a,0xb, 0xf0,0xbe,0xf0,0x2,
+0x78,0x93,0x80,0x9, 0xe4,0x7a,0xb3,0x3, 0x5a,0x7a,0xb3,0x3, 0x5b,0x6c,0xff,0x12,
+0x43,0xe8,0x70,0x10,0x7e,0x34,0x7f,0xff,0x74,0x2, 0xac,0xbf,0x59,0x35,0x3, 0x52,
+0x59,0x35,0x3, 0x56,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xe4,0x12,0x44,0x44,0x6c,0xff,
+0x12,0x43,0xe8,0xb4,0x1, 0x1d,0xa, 0x3f,0x9, 0xb3,0x3, 0x50,0xbe,0xb0,0x3, 0x68,
+0x3, 0xb4,0x1, 0x7, 0xe4,0x19,0xb3,0x3, 0x4e,0x80,0x33,0x74,0x2, 0x19,0xb3,0x3,
+0x4e,0x80,0x2b,0xa, 0x3f,0x9, 0xb3,0x3, 0x50,0xbe,0xb0,0x2, 0x68,0x2, 0x70,0x18,
+0x74,0x1, 0x19,0xb3,0x3, 0x4e,0xbe,0xe0,0x2, 0x50,0x13,0x7c,0xae,0xb, 0xe0,0x74,
+0x5, 0xa4,0x19,0xf5,0x0, 0x7e,0x80,0x6, 0x74,0x3, 0x19,0xb3,0x3, 0x4e,0xb, 0xf0,
+0xbe,0xf0,0x2, 0x40,0xab,0xda,0x3b,0x22,0x7c,0x1f,0x2e,0x10,0x24,0xa5,0xe7,0x22,
+0x7c,0xbf,0x3e,0xb0,0x24,0x28,0xa, 0x3b,0x22,0xa5,0xf7,0x7e,0x70,0x5, 0xac,0x7f,
+0x22,0x2e,0x10,0x22,0xa5,0xe7,0x7c,0xab,0x22,0x74,0x5, 0xac,0xbe,0x49,0x35,0x0,
+0x7a,0x49,0x25,0x0, 0x7c,0x22,0xca,0x79,0x12,0x44,0x3a,0x6c,0xff,0x80,0x13,0xa,
+0x3f,0x9, 0xe3,0x0, 0x76,0x7e,0x34,0x6, 0x15,0x7c,0xbe,0x6c,0x55,0x12,0x46,0x4e,
+0xb, 0xf0,0x12,0x40,0x97,0x48,0xe8,0xda,0x79,0x22,0x74,0x1, 0x6c,0xaa,0x12,0x44,
+0x6a,0x40,0xfb,0x22,0x7e,0xe3,0x0, 0x90,0x5e,0xe0,0xf, 0x22,0x7e,0x44,0x7f,0xff,
+0x7e,0x70,0x2, 0x22,0x74,0x5, 0xac,0xbf,0x59,0x35,0x0, 0x7c,0xb, 0xf0,0x22,0x6e,
+0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,0x22,0xa, 0x4a,0x19,0xb4,0x6, 0x15,
+0xb, 0xa0,0xbe,0xa0,0x2e,0x22,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7a,0x9d,0x32,
+0x2, 0x0, 0x2e,0xca,0x3b,0x12,0xe, 0xaf,0x7c,0xeb,0x78,0x30,0x6c,0xff,0x6d,0x11,
+0x74,0x2, 0xac,0xbf,0x59,0x15,0xd, 0x1d,0x7e,0xa0,0xff,0x7e,0x30,0x5, 0xac,0x3f,
+0x19,0xa1,0xd, 0x17,0x7e,0xb3,0xd, 0x28,0x70,0x3, 0xe4,0x80,0x2, 0x74,0x2, 0xa,
+0x1f,0x19,0xb1,0xd, 0x26,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xd2,0x7e,0x17,0x0, 0x92,
+0xbe,0x14,0x0, 0x1, 0x78,0x2, 0xa1,0xff,0x6c,0xff,0xa1,0xdb,0x74,0x5, 0xac,0xbf,
+0x9, 0x75,0x0, 0x7e,0x7a,0x71,0x23,0xbe,0x70,0x2, 0x40,0x2, 0xa1,0xd9,0xe5,0x23,
+0xa, 0x1b,0x12,0x46,0x20,0x78,0x2, 0xa1,0xd9,0x75,0x22,0x0, 0x7e,0x31,0x22,0x74,
+0x5, 0xac,0x3b,0x9, 0x71,0xd, 0x17,0x7a,0x71,0x24,0xbe,0x71,0x23,0x68,0x2, 0xa1,
+0xce,0x49,0x21,0xd, 0x15,0x12,0x46,0xb, 0x7d,0x63,0x12,0x14,0xd0,0x49,0x25,0xd,
+0x13,0x12,0x44,0x76,0x7d,0x3, 0x2d,0x6, 0xe5,0x24,0xa, 0x1b,0x9, 0xa1,0xd, 0x26,
+0xbe,0xa0,0x0, 0x28,0x17,0x7e,0x71,0x24,0x74,0x2, 0xac,0x7b,0x59,0x3, 0xd, 0x1d,
+0x2e,0x14,0xd, 0x26,0x7c,0xba,0x14,0x7a,0x19,0xb0,0xa1,0xd9,0x7e,0x31,0x24,0x74,
+0x2, 0xac,0x3b,0x49,0x31,0xd, 0x1d,0xbe,0x34,0x0, 0x1e,0x28,0x8, 0xbe,0x4, 0x0,
+0x1e,0x28,0x2, 0x80,0x10,0x7d,0x23,0x2e,0x24,0x0, 0x1e,0xbd,0x20,0x50,0x12,0xbe,
+0x34,0x0, 0x1e,0x28,0xc, 0x59,0x1, 0xd, 0x1d,0x74,0x1, 0x7a,0xb3,0xd, 0x28,0x80,
+0x68,0xbe,0x4, 0x0, 0x64,0x28,0x4b,0xe4,0x7a,0xb3,0xd, 0x28,0xe5,0x23,0xa, 0x1b,
+0x9, 0xb1,0x3, 0x4e,0x70,0x4, 0x74,0x3, 0x80,0x2, 0x74,0x1, 0x19,0xb1,0x3, 0x4e,
+0x12,0x46,0x28,0x7e,0x14,0xd, 0x21,0x74,0x5, 0x12,0x4, 0x8d,0xbe,0xe0,0x0, 0x28,
+0x21,0x1b,0xe0,0x7e,0x70,0x5, 0xac,0x7e,0x2e,0x34,0x0, 0x7a,0x7e,0x30,0x5, 0xac,
+0x3f,0x12,0x46,0x2, 0x7e,0x34,0xd, 0x21,0x7e,0x30,0x5, 0xac,0x3e,0x12,0x46,0x2,
+0x1b,0xf0,0x7e,0xa1,0x24,0x74,0x2, 0xa4,0x59,0x5, 0xd, 0x1d,0x80,0xb, 0x5, 0x22,
+0xe5,0x22,0xbe,0xb0,0x2, 0x50,0x2, 0x81,0xec,0xb, 0xf0,0x12,0x37,0x2c,0xa, 0x2b,
+0xa, 0x1f,0xbd,0x12,0x58,0x2, 0x81,0xcc,0x7c,0x6e,0x12,0x35,0xe2,0x6c,0xff,0x12,
+0x46,0x18,0x2e,0x34,0x0, 0x7a,0x2e,0x14,0xd, 0x13,0x12,0x46,0x32,0x78,0xf0,0xda,
+0x3b,0x22,0x2e,0x14,0x0, 0x7a,0x74,0x5, 0x2, 0x4, 0x8d,0x74,0x5, 0xac,0xbf,0x49,
+0x35,0x0, 0x7c,0x9d,0x32,0x2, 0x0, 0x2e,0x7e,0x30,0x5, 0xac,0x3f,0x7d,0x31,0x22,
+0x9, 0xb1,0x3, 0x4e,0xbe,0xb0,0x1, 0x22,0x7e,0x70,0x5, 0xac,0x7f,0x2e,0x34,0x0,
+0x7a,0x22,0x74,0x5, 0x12,0x4, 0x8d,0xb, 0xf0,0xbe,0xf0,0x2, 0x22,0x7e,0x1f,0x0,
+0x80,0x7e,0x33,0x0, 0x7f,0x7a,0x1f,0x0, 0x7b,0x7a,0x33,0x0, 0x7a,0x22,0x7d,0x13,
+0x4d,0x11,0x68,0xc, 0xbe,0xb0,0x2e,0x50,0x7, 0xa, 0x3b,0x2d,0x31,0x7a,0x39,0x50,
+0x22,0x6c,0xaa,0x74,0x3, 0xa, 0x4a,0x19,0xb4,0x3, 0x50,0x19,0xb4,0x3, 0x4e,0x12,
+0x44,0x4c,0xac,0x7a,0x59,0x43,0x3, 0x52,0x59,0x43,0x3, 0x56,0xb, 0xa0,0xbe,0xa0,
+0x2, 0x40,0xe0,0x22,0xca,0x3b,0x7c,0xcb,0x6c,0xaa,0xe5,0x9, 0x70,0xa, 0xe5,0x1c,
+0x70,0x6, 0xe5,0x11,0x70,0x2, 0xe1,0xee,0x20,0x7, 0x6, 0x7e,0x74,0xc, 0xac,0x80,
+0x4, 0x7e,0x74,0xc, 0xbe,0x6c,0xdd,0x7e,0x70,0xff,0xa, 0x2d,0x2d,0x27,0x7a,0x29,
+0x70,0xb, 0xd0,0xbe,0xd0,0x12,0x78,0xf2,0x74,0xaa,0x7a,0x79,0xb0,0x19,0xb7,0x0,
+0x1, 0x74,0x12,0x19,0xb7,0x0, 0x2, 0x7e,0xb3,0x2, 0xca,0x19,0xb7,0x0, 0x4, 0x6c,
+0x77,0x6c,0xdd,0x7e,0x10,0x5, 0xac,0x1d,0x9, 0x60,0x2, 0xba,0xbe,0x60,0xff,0x78,
+0x2, 0xe1,0x77,0xa, 0x16,0x9, 0xb1,0x3, 0x4e,0xbe,0xb0,0x3, 0x78,0x2, 0xe1,0x77,
+0x49,0x40,0x2, 0xb6,0x2e,0x44,0x0, 0x3, 0x49,0x20,0x2, 0xb8,0x2e,0x24,0x0, 0x3,
+0xa, 0x8, 0x12,0x5b,0xa0,0x19,0x60,0x0, 0x5, 0x7c,0x69,0xa, 0x7, 0x2d,0x7, 0x19,
+0x60,0x0, 0x6, 0xa, 0x4, 0x12,0x5b,0xa0,0x19,0x60,0x0, 0x7, 0x7c,0x65,0xa, 0x7,
+0x2d,0x7, 0x19,0x60,0x0, 0x8, 0xe4,0xa, 0x7, 0x2d,0x7, 0x19,0xb0,0x0, 0x9, 0xa,
+0x7, 0x2d,0x7, 0x19,0xb0,0x0, 0xa, 0x12,0x5b,0xab,0xc4,0x54,0xf0,0xa, 0x7, 0x2d,
+0x7, 0x2e,0x4, 0x0, 0x7, 0x7e,0x9, 0x60,0x2c,0x6b,0x7a,0x9, 0x60,0x12,0x5b,0xab,
+0xbe,0xb0,0xff,0x68,0x1f,0x12,0x46,0x20,0x68,0x2, 0xb, 0xa0,0x9, 0xb1,0x3, 0x4e,
+0x3, 0x3, 0x54,0xc0,0xa, 0x17,0x2d,0x17,0x2e,0x14,0x0, 0x5, 0x7e,0x19,0x60,0x2c,
+0x6b,0x7a,0x19,0x60,0x2e,0x70,0x6, 0xb, 0xd0,0xbe,0xd0,0x2, 0x68,0x2, 0xc1,0xd3,
+0x19,0xa7,0x0, 0x3, 0xe4,0x19,0xb7,0x0, 0x11,0x6c,0xdd,0xa, 0x3d,0x2d,0x37,0x7e,
+0x39,0x60,0x7d,0x27,0x2e,0x24,0x0, 0x11,0x7e,0x29,0x70,0x6c,0x76,0x7a,0x29,0x70,
+0xb, 0xd0,0xbe,0xd0,0x11,0x78,0xe4,0x30,0x7, 0x4, 0xc2,0x7, 0x80,0x2, 0xd2,0x7,
+0xe5,0x1c,0x60,0x3, 0x12,0x46,0x61,0x75,0x9, 0x0, 0x75,0x1c,0x0, 0x75,0x11,0x0,
+0x7e,0xb3,0xb, 0xb3,0xb4,0x1, 0x14,0x12,0x37,0x35,0x68,0x26,0xe5,0x4f,0xb4,0x1,
+0xf, 0x74,0x1, 0x12,0x47,0xf5,0x75,0x4f,0x0, 0x80,0x5, 0x74,0x1, 0x12,0x47,0xf5,
+0x7e,0x34,0x0, 0x9, 0x12,0x4e,0x92,0xbe,0xc0,0x1, 0x78,0x6, 0x80,0x0, 0xe4,0x12,
+0x47,0xf5,0xda,0x3b,0x22,0x70,0x3, 0xd2,0x86,0x22,0xc2,0x86,0x22,0x6c,0x77,0xa,
+0x27,0x9, 0x62,0x3, 0x4e,0x19,0x62,0x3, 0x50,0xb, 0x70,0xbe,0x70,0x2, 0x40,0xef,
+0x12,0x48,0x41,0x12,0x48,0x39,0x7a,0x73,0x0, 0x90,0x7e,0x73,0x0, 0x91,0x5e,0x70,
+0xf, 0x12,0x48,0x39,0x7a,0x73,0x0, 0x91,0x7e,0x1f,0x5, 0x2c,0x7a,0x1f,0x5, 0x30,
+0x7e,0x73,0x6, 0xe, 0x7a,0x73,0x6, 0xf, 0x22,0x7c,0xb7,0xc4,0x54,0xf0,0x4c,0x7b,
+0x22,0x7e,0x73,0x0, 0x90,0x5e,0x70,0xf, 0x22,0x12,0x48,0x41,0x6c,0x66,0x80,0x2,
+0xb, 0x60,0xbc,0x76,0x38,0xfa,0x22,0xca,0x3b,0x6c,0xaa,0x12,0x48,0x41,0x7e,0x44,
+0x3, 0x5c,0x7e,0x24,0x0, 0x76,0x6c,0x66,0x80,0x64,0x75,0x1f,0xff,0xa, 0xf6,0x2d,
+0xf2,0x7e,0xf9,0x20,0x7e,0x30,0x4, 0xac,0x23,0x7d,0xe1,0x2d,0xe4,0x49,0x1e,0x0,
+0x2, 0xb, 0xe8,0x0, 0xa, 0x76,0xb, 0x74,0x80,0x24,0xa, 0xef,0x2d,0xe2,0x7e,0xe9,
+0xe0,0x7e,0xd0,0x4, 0xac,0xde,0x7d,0xe6,0x2d,0xe4,0x49,0xde,0x0, 0x2, 0xb, 0xe8,
+0xc0,0xbf,0x6, 0x58,0x7, 0x7c,0xae,0x7a,0xf1,0x1f,0x7f,0x6, 0xb, 0xf0,0xbc,0x7f,
+0x38,0xd8,0xe5,0x1f,0xbe,0xb0,0xff,0x68,0x13,0x7e,0xf9,0xe0,0xe5,0x1f,0xa, 0xfb,
+0x2d,0xf2,0x7a,0xf9,0xe0,0xa, 0xf6,0x2d,0xf2,0x7a,0xf9,0xa0,0xb, 0x60,0xbc,0x76,
+0x38,0x98,0xda,0x3b,0x22,0xca,0x3b,0x7e,0x48,0x75,0x30,0x7f,0x74,0x9f,0x55,0x7f,
+0x5, 0x6c,0x77,0x7e,0xa0,0x1, 0x6c,0x66,0x7e,0x50,0x2, 0xac,0x56,0x49,0x72,0x5,
+0x34,0x6d,0x66,0x7e,0x50,0x4, 0xac,0x56,0x49,0xd2,0x3, 0x5e,0x49,0xc2,0x3, 0x5c,
+0x2f,0x63,0xbf,0x76,0x8, 0x2, 0x7f,0x76,0xbf,0x6, 0x58,0x2, 0x7f,0x6, 0xb, 0x60,
+0xa5,0xbe,0x16,0xd4,0x7f,0x30,0x9f,0x37,0xbe,0x38,0x4, 0xb0,0x58,0x3, 0x7e,0x70,
+0x1, 0x7f,0x74,0x7f,0x5, 0x6c,0x66,0x7e,0x50,0x2, 0xac,0x56,0x49,0xd2,0x5, 0x34,
+0x6d,0xcc,0xbf,0x76,0x8, 0x2, 0x7f,0x76,0xbf,0x6, 0x58,0x2, 0x7f,0x6, 0xb, 0x60,
+0xa5,0xbe,0x16,0xe3,0x9f,0x7, 0xbe,0x8, 0x4, 0xb0,0x8, 0x2, 0x6c,0xaa,0x4c,0x77,
+0x68,0x8, 0x4c,0xaa,0x78,0x4, 0x74,0x1, 0x80,0x1, 0xe4,0xda,0x3b,0x22,0xca,0x3b,
+0x7c,0xab,0x7d,0x73,0x4d,0x77,0x78,0x2, 0x41,0x75,0x4d,0x22,0x78,0x2, 0x41,0x75,
+0xe4,0x7a,0xb3,0x6, 0x4d,0x6c,0x99,0x21,0xf9,0x7e,0x70,0x4, 0xac,0x79,0x2d,0x37,
+0x49,0xf3,0x0, 0x2, 0xb, 0x38,0xe0,0xbe,0x7c,0xfc,0x18,0x58,0x5, 0xbe,0x90,0x16,
+0x40,0x15,0xbe,0x7c,0xf8,0x30,0x58,0x58,0xbe,0x90,0x16,0x40,0x53,0x7e,0xf, 0x5,
+0x28,0xbe,0x8, 0x7, 0xd0,0x58,0x49,0xa, 0x39,0x7d,0x13,0x2e,0x14,0xa, 0xd1,0x7e,
+0x19,0xb0,0x4, 0x7a,0x19,0xb0,0x9, 0xb3,0xa, 0xd1,0xbe,0xb0,0xc, 0x28,0x38,0x7e,
+0x70,0x2, 0xac,0x79,0x2d,0x32,0xb, 0x38,0x10,0x1a,0x2, 0x1a,0x0, 0x2f,0x7, 0xbe,
+0x8, 0x38,0x40,0x58,0x22,0x74,0x1, 0x7a,0xb3,0x6, 0x4d,0x6c,0x88,0x80,0xa, 0x74,
+0x1, 0xa, 0x38,0x19,0xb3,0xa, 0xe7,0xb, 0x80,0xbe,0x80,0x0, 0x40,0xf1,0x80,0x7,
+0xe4,0xa, 0x39,0x19,0xb3,0xa, 0xd1,0xb, 0x90,0xbc,0xa9,0x28,0x2, 0x21,0x79,0x6c,
+0x99,0x80,0x6a,0x7e,0xd0,0x4, 0xac,0xd9,0x12,0x4a,0x80,0xbe,0x1c,0xfc,0xe0,0x58,
+0x21,0xa, 0x39,0x7d,0x23,0x2e,0x24,0xa, 0x8d,0x12,0x4a,0x78,0x9, 0x83,0xa, 0x8d,
+0xbe,0x80,0xf, 0x28,0x14,0x12,0x48,0xd5,0x60,0xf, 0x74,0x3, 0x7a,0xb3,0x6, 0x4d,
+0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0x8d,0x12,0x4a,0x80,0xbe,0x1c,0xfc,0xe0,
+0x58,0x22,0x7e,0xb3,0x6, 0x4d,0x70,0x1c,0xa, 0x39,0x7d,0x23,0x2e,0x24,0xa, 0xbb,
+0x12,0x4a,0x78,0x9, 0x83,0xa, 0xbb,0xbe,0x80,0x12,0x28,0xf, 0x74,0x2, 0x7a,0xb3,
+0x6, 0x4d,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0xbb,0xb, 0x90,0x7e,0x83,0x6,
+0xc6,0xbc,0x89,0x38,0x8e,0xda,0x3b,0x22,0x7e,0x29,0xb0,0x4, 0x7a,0x29,0xb0,0x22,
+0x7d,0x16,0x2d,0x17,0x49,0x31,0x0, 0x2, 0xb, 0x18,0x20,0x22,0xe4,0x7a,0xb3,0x3,
+0x34,0x74,0x1, 0x7a,0xb3,0x3, 0x42,0x74,0x7, 0x7a,0xb3,0x3, 0x41,0x74,0xf, 0x7a,
+0xb3,0x3, 0x38,0x7a,0xb3,0x3, 0x39,0x74,0x3f,0x7a,0xb3,0x3, 0x36,0x74,0x12,0x7a,
+0xb3,0x3, 0x3a,0x7a,0xb3,0x3, 0x3b,0x74,0x3f,0x7a,0xb3,0x3, 0x37,0x74,0x10,0x7a,
+0xb3,0x3, 0x3c,0x7a,0xb3,0x3, 0x3d,0x74,0x5, 0x7a,0xb3,0x3, 0x35,0x74,0x3, 0x7a,
+0xb3,0x3, 0x40,0x7a,0xb3,0x3, 0x3f,0x22,0x74,0x12,0x7a,0xb3,0xb, 0x63,0x74,0xa0,
+0x7a,0xb3,0xb, 0x68,0xe4,0x7a,0xb3,0xb, 0x69,0x74,0x5, 0x7a,0xb3,0xb, 0x6a,0x74,
+0xe, 0x7a,0xb3,0xb, 0x6b,0x74,0x5a,0x7a,0xb3,0xb, 0x6c,0x74,0xe, 0x7a,0xb3,0xb,
+0x86,0x74,0x1, 0x7a,0xb3,0xb, 0x87,0xe4,0x7a,0xb3,0xb, 0x88,0x74,0x1, 0x7a,0xb3,
+0xb, 0x89,0x7a,0xb3,0xb, 0x9f,0x74,0x85,0x7a,0xb3,0xb, 0x8b,0xe4,0x7a,0xb3,0xb,
+0x8c,0x74,0x2, 0x7a,0xb3,0xb, 0x92,0xe4,0x7a,0xb3,0xb, 0x91,0x7a,0xb3,0xb, 0x90,
+0x7a,0xb3,0xd, 0x3f,0x7a,0xb3,0xb, 0xb3,0x74,0x3f,0x7a,0xb3,0xb, 0xb4,0xe4,0x7a,
+0xb3,0xb, 0x93,0x7a,0xb3,0xb, 0x9e,0x7a,0xb3,0xb, 0x79,0x7e,0x34,0x4, 0xb0,0x7a,
+0x37,0x3, 0x49,0x74,0x12,0x7a,0xb3,0x3, 0x4b,0x12,0x4b,0x97,0x12,0x4b,0x8f,0x7a,
+0xb3,0x0, 0x94,0x74,0x7, 0x7a,0xb3,0x0, 0x95,0x74,0xe, 0x7a,0xb3,0x0, 0x96,0x74,
+0x5a,0x7a,0xb3,0x0, 0x97,0x7a,0xb3,0x0, 0x98,0x74,0x5, 0x7a,0xb3,0x0, 0x99,0x74,
+0x1, 0x7a,0xb3,0x0, 0x9a,0xe4,0x7a,0xb3,0x0, 0x9b,0x7a,0xb3,0x0, 0xa1,0x22,0x6d,
+0x33,0x7a,0x37,0x0, 0x92,0xe4,0x22,0x7e,0x34,0xa, 0x0, 0x7a,0x37,0x0, 0x9e,0x74,
+0xa0,0x7a,0xb3,0x0, 0xa0,0x22,0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,
+0xca,0x1b,0xca,0xb, 0xc0,0xd0,0xc0,0x83,0xc0,0x82,0x12,0x3d,0xf0,0x74,0x1, 0x7a,
+0xb3,0xc, 0xd1,0xd0,0x82,0xd0,0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,
+0x4b,0xda,0x5b,0xda,0x6b,0xda,0x7b,0x32,0x7c,0xa7,0x24,0x0, 0x78,0x7, 0x7e,0x34,
+0xc, 0xd6,0x7a,0x39,0xa0,0x22,0xca,0xb8,0xa9,0xc0,0x93,0xe4,0x7a,0xb3,0xc, 0xd0,
+0x7a,0xb3,0xc, 0xd2,0xda,0xb8,0x32,0x6c,0xaa,0x74,0xff,0xa, 0x4a,0x19,0xb4,0xc,
+0xac,0x19,0xb4,0xc, 0xbe,0xb, 0xa0,0xbe,0xa0,0x12,0x40,0xed,0x22,0x30,0x9, 0x8,
+0x74,0x1, 0x12,0x47,0xf5,0xc2,0x9, 0x22,0xe4,0x12,0x47,0xf5,0xd2,0x9, 0x22,0xa9,
+0xd5,0xea,0xa9,0xc4,0xcb,0x75,0xa6,0x0, 0xa9,0xc1,0xcd,0x22,0xca,0x7b,0xca,0x6b,
+0xca,0x5b,0xca,0x4b,0xca,0x2b,0xca,0x1b,0xca,0xb, 0xc0,0xd0,0xc0,0x83,0xc0,0x82,
+0x12,0x4c,0x77,0x7e,0xb3,0xc, 0xd6,0x54,0xfd,0x7a,0xb3,0xc, 0xd6,0xc2,0xaf,0xa9,
+0xd0,0x9e,0xa9,0xd4,0x9e,0xd2,0xaf,0xc2,0x95,0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,
+0x4c,0x1f,0xd0,0x82,0xd0,0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x4b,
+0xda,0x5b,0xda,0x6b,0xda,0x7b,0x32,0xe5,0x9a,0x60,0x5, 0xd2,0x9c,0xa9,0xd6,0xdf,
+0x22,0xa9,0xd4,0xcb,0x75,0xa6,0x10,0xa9,0xd1,0xcd,0xa9,0xc5,0xea,0x22,0xd2,0xce,
+0x75,0x92,0x70,0xd2,0xad,0xd2,0xe8,0xc2,0xc0,0xa9,0xd0,0xf7,0xd2,0xf8,0xa9,0xd5,
+0xb7,0xd2,0xbd,0x22,0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,0xca,0x1b,
+0xca,0xb, 0xc0,0xd0,0xc0,0x83,0xc0,0x82,0x7e,0x35,0x1d,0xb, 0x34,0x7a,0x35,0x1d,
+0x7e,0x4, 0x0, 0xa, 0x7d,0x13,0x8d,0x10,0x4d,0x0, 0x78,0x38,0x7e,0xb3,0x9, 0x6b,
+0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0x9, 0x6b,0x7e,0xb3,0xd, 0x2c,0xbe,0xb0,
+0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x2c,0x7e,0xb3,0xd, 0x35,0xbe,0xb0,0x0, 0x28,
+0x5, 0x14,0x7a,0xb3,0xd, 0x35,0x7e,0xb3,0xd, 0x2b,0xbe,0xb0,0x0, 0x28,0x5, 0x14,
+0x7a,0xb3,0xd, 0x2b,0x7e,0xb3,0x6, 0xda,0x60,0x5, 0x14,0x7a,0xb3,0x6, 0xda,0xbe,
+0x34,0x3, 0xe8,0x40,0xe, 0x6d,0x33,0x7a,0x35,0x1d,0xe5,0xb, 0xbe,0xb0,0x64,0x50,
+0x2, 0x5, 0xb, 0x7e,0x37,0x2, 0xd0,0xb, 0x34,0x7a,0x37,0x2, 0xd0,0x7e,0x37,0x0,
+0x74,0xbe,0x37,0x2, 0xd0,0x28,0x3, 0x12,0x0, 0x17,0x7e,0xb3,0xb, 0x9f,0xb4,0xaa,
+0x18,0x7e,0x37,0x0, 0x9c,0x7d,0x23,0xb, 0x24,0x7a,0x27,0x0, 0x9c,0xbe,0x34,0x1,
+0x2c,0x28,0x6, 0x74,0x1, 0x7a,0xb3,0xb, 0x9f,0xe5,0x1a,0xbe,0xb1,0xd, 0x28,0x4,
+0x5, 0xd, 0x80,0x2, 0xd2,0x5, 0x7e,0xb3,0xc, 0xd1,0x60,0xf, 0xbe,0xb0,0x28,0x50,
+0x7, 0x4, 0x7a,0xb3,0xc, 0xd1,0x80,0x3, 0x12,0x26,0xb2,0xd0,0x82,0xd0,0x83,0xd0,
+0xd0,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,0x7b,0x32,
+0x12,0x4d,0xb8,0x12,0x0, 0x27,0x12,0x4d,0xcf,0xc2,0x0, 0xc2,0x2, 0x22,0xc2,0x8e,
+0xe5,0x89,0x54,0xf, 0x44,0x20,0xf5,0x89,0x75,0x8d,0x1, 0x75,0x8b,0x0, 0xd2,0x8e,
+0xd2,0xab,0xa9,0xc3,0xb7,0xd2,0xbb,0x22,0xe4,0x12,0x4e,0x49,0x12,0x4e,0x10,0x12,
+0x4e,0x1c,0x74,0x1, 0x2, 0x4d,0xc7,0x70,0x3, 0xc2,0xaf,0x22,0xd2,0xaf,0x22,0x7e,
+0x18,0x0, 0x54,0x74,0xf, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0x8, 0x3, 0xe8,0x12,0x4,
+0x59,0xbe,0x18,0xf, 0xff,0x28,0x4, 0x7e,0x18,0xf, 0xff,0xd2,0xc8,0xa9,0xc0,0xcd,
+0xc2,0xaf,0xa9,0xd0,0x9e,0x7c,0xb6,0xf5,0x9d,0xa9,0xd0,0x9e,0x7c,0xb7,0xf5,0x9c,
+0x12,0x4e,0x8, 0xc2,0xa8,0xd2,0xaf,0x22,0xc2,0x88,0xd2,0xb8,0xa9,0xd0,0xb7,0x22,
+0x75,0xeb,0x3, 0xa9,0xd6,0xac,0xa9,0xd6,0xec,0xd2,0x86,0x22,0xa9,0xd1,0x99,0x75,
+0x9a,0xfe,0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0xa9,0xd6,0xeb,0x70,0xf, 0xa9,0xc6,0xac,
+0xa9,0xc6,0xec,0xa9,0xd7,0xcd,0xc2,0x96,0xc2,0x95,0x80,0x7, 0xa9,0xd4,0xcd,0xd2,
+0x96,0xd2,0x95,0x12,0x4e,0x8, 0xd2,0xa8,0x22,0xd2,0xcf,0xbe,0xb0,0x7, 0x38,0x4,
+0x7c,0xab,0x80,0x2, 0x6c,0xaa,0x43,0xcb,0x8e,0x4e,0xa0,0x30,0x7a,0xa1,0xcc,0x0,
+0x0, 0x0, 0x0, 0xa9,0xd0,0xca,0xa9,0xc5,0xcb,0x53,0xca,0xf1,0x43,0xca,0xe, 0x75,
+0xcf,0x4, 0xc2,0xcc,0xd2,0xcb,0xc2,0xca,0xc2,0xc9,0xc2,0xc8,0xa9,0xc6,0xcb,0x0,
+0x0, 0x0, 0x0, 0x22,0x53,0xc8,0xc1,0x53,0xcb,0x10,0x22,0x43,0xc8,0xc9,0x43,0xcb,
+0x8e,0x22,0x7e,0x24,0x0, 0x14,0xad,0x32,0x80,0x3, 0x0, 0x0, 0x0, 0x7d,0x23,0x1b,
+0x34,0x4d,0x22,0x78,0xf5,0x22,0x30,0x0, 0x44,0xc2,0x6, 0xe4,0x7a,0xb3,0x3, 0x48,
+0x30,0x1, 0x1c,0x80,0x3, 0x30,0x0, 0x9, 0xa9,0x21,0x94,0xf9,0x80,0x3, 0x30,0x0,
+0x4, 0xa9,0x31,0x94,0xf9,0x30,0x0, 0x1e,0x80,0x15,0x80,0x3, 0x30,0x0, 0x9, 0xa9,
+0x31,0x94,0xf9,0x80,0x3, 0x30,0x0, 0x4, 0xa9,0x21,0x94,0xf9,0x30,0x0, 0x7, 0xd2,
+0x6, 0xe4,0x7a,0xb3,0x2, 0xcf,0x7e,0x37,0x2, 0xcd,0x2, 0x4e,0x92,0x22,0x7e,0x73,
+0x6, 0xc6,0xa, 0x37,0x1e,0x34,0x7a,0x73,0xd, 0x3d,0xa, 0x37,0x1e,0x34,0x7a,0x73,
+0xd, 0x3e,0x22,0xd2,0xc9,0xa, 0x56,0xf5,0xf1,0x7c,0xb7,0xf5,0xf2,0x75,0xf3,0x80,
+0x75,0xf4,0x0, 0x75,0xf5,0x83,0xa9,0x37,0xf5,0xfc,0xa9,0x36,0xf5,0xfc,0xe5,0xf6,
+0x43,0xfa,0x80,0xc2,0xc9,0x22,0x7e,0x24,0x12,0xa, 0xb, 0x28,0x30,0x5e,0x70,0xf,
+0x1b,0x28,0x30,0xb, 0x28,0x30,0x4e,0x70,0x80,0x1b,0x28,0x30,0x7e,0xb3,0x6, 0xcb,
+0xc4,0x23,0x7c,0x7b,0x5e,0x70,0x7, 0xa5,0xbf,0x0, 0x5, 0x7e,0xa0,0x2, 0x80,0x32,
+0xa5,0xbf,0x1, 0x13,0x7e,0xb3,0x6, 0xc9,0x1e,0xb0,0x54,0x3, 0x68,0x4, 0x6c,0xaa,
+0x80,0x20,0x7e,0xa0,0x3, 0x80,0x1b,0xa5,0xbf,0x3, 0x5, 0x7e,0xa0,0x6, 0x80,0x12,
+0x7e,0xb3,0x6, 0xc9,0x1e,0xb0,0x54,0x3, 0x68,0x5, 0x7e,0xa0,0x1, 0x80,0x3, 0x7e,
+0xa0,0x5, 0xa, 0x1a,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x2, 0x3c,0x9a,0x7e,
+0x24,0x12,0x2, 0xb, 0x28,0x30,0x5e,0x60,0xc0,0x1b,0x28,0x30,0x7e,0x73,0x6, 0xc8,
+0x7c,0x27,0x6c,0x33,0x12,0x3c,0x9a,0x6c,0x11,0x80,0xb, 0xa, 0x31,0x9, 0x3, 0x6,
+0x68,0xa, 0x20,0x12,0x5b,0x89,0x7e,0x3, 0x6, 0xc8,0xbc,0x1, 0x38,0xed,0x7c,0x10,
+0x80,0x9, 0x7e,0x24,0x0, 0x3f,0xa, 0x31,0x12,0x5b,0x89,0xbe,0x10,0x2e,0x40,0xf2,
+0x6d,0x22,0x7e,0x34,0x13,0x16,0x1b,0x38,0x20,0x7e,0x34,0x13,0x18,0x1b,0x38,0x20,
+0x7e,0x34,0x13,0x1a,0x1b,0x38,0x20,0x7e,0x34,0x13,0x1c,0x1b,0x38,0x20,0x6c,0x11,
+0x80,0xd, 0xa, 0x31,0x9, 0x3, 0x6, 0x68,0x7c,0xb0,0x12,0x50,0x16,0xb, 0x10,0x7e,
+0x73,0x6, 0xc8,0xbc,0x71,0x38,0xeb,0x7e,0xb3,0x6, 0xd7,0x30,0xe2,0x7, 0x7e,0xb3,
+0x6, 0xd5,0x2, 0x50,0x16,0x22,0x7c,0x7b,0xc4,0x54,0xf, 0x7c,0xab,0xa, 0x37,0x7e,
+0x24,0x0, 0x10,0x12,0x3, 0xba,0x7c,0x75,0x7e,0x14,0x0, 0x1, 0x7c,0xb7,0x60,0x5,
+0x3e,0x14,0x14,0x78,0xfb,0xa, 0x2a,0x3e,0x24,0x2e,0x24,0x13,0x16,0x2, 0x3c,0x9a,
+0xca,0x1b,0xca,0x19,0xc2,0xee,0xc2,0xc6,0x30,0xb, 0x6, 0x7e,0x34,0x0, 0x1, 0x80,
+0x4, 0x7e,0x34,0x0, 0x2, 0x7e,0x14,0x12,0x6, 0xb, 0x18,0x20,0x5d,0x23,0x68,0x7,
+0x6d,0x22,0x1b,0x18,0x20,0xd2,0xa, 0xd2,0xee,0xda,0x19,0xda,0x1b,0x32,0x7e,0xb3,
+0x6, 0xd7,0x20,0xe1,0x62,0x12,0x1f,0xe8,0x80,0x55,0xa, 0x2a,0x9, 0x52,0x6, 0x96,
+0x7e,0x90,0x4, 0xac,0x95,0x49,0x14,0x3, 0x5e,0x49,0x4, 0x3, 0x5c,0xbe,0x8, 0x3a,
+0xc0,0x8, 0x20,0x7e,0xb3,0xc, 0x1f,0x7e,0x44,0x0, 0x1, 0x60,0x5, 0x3e,0x44,0x14,
+0x78,0xfb,0x7e,0x10,0x2, 0xac,0x15,0x2e,0x4, 0xb, 0xc3,0xb, 0x8, 0x10,0x4d,0x14,
+0x1b,0x8, 0x10,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x1f,0xef,0x60,0xf, 0x7e,0x30,
+0x2, 0xac,0x35,0x49,0x1, 0xb, 0xc3,0x12,0x50,0xd8,0x1b,0x18,0x0, 0xb, 0xa0,0x7e,
+0x43,0x6, 0xc8,0xbc,0x4a,0x38,0xa3,0x22,0x7e,0x30,0x2, 0xac,0x35,0x2d,0x13,0x22,
+0x7e,0xb3,0x6, 0xd7,0x20,0xe1,0x42,0x12,0x1f,0xe8,0x80,0x35,0xa, 0x2a,0x9, 0x52,
+0x6, 0x96,0x12,0x50,0xd8,0xb, 0x18,0x40,0x7e,0xb3,0xc, 0x1f,0x7e,0x14,0x0, 0x1,
+0x60,0x5, 0x3e,0x14,0x14,0x78,0xfb,0x4d,0x41,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,
+0x1f,0xef,0x60,0xb, 0xa, 0x1a,0x3e,0x14,0x2e,0x14,0x12,0x14,0x1b,0x18,0x40,0xb,
+0xa0,0x7e,0x43,0x6, 0xc8,0xbc,0x4a,0x38,0xc3,0x22,0x7c,0x6b,0x7e,0x53,0x0, 0x90,
+0x7c,0xb5,0x54,0xf, 0x68,0x10,0x7c,0x45,0x1b,0x40,0x5e,0x40,0xf, 0x5e,0x50,0xf0,
+0x4c,0x54,0x7a,0x53,0x0, 0x90,0xa5,0xbe,0x0, 0x12,0xa5,0xbf,0x2, 0xe, 0x7e,0x73,
+0x0, 0x77,0x7a,0x73,0x0, 0x76,0x85,0x17,0x16,0x12,0x46,0x3d,0x22,0xca,0x3b,0x12,
+0xe, 0xaf,0x7c,0xeb,0x4c,0xee,0x78,0x2, 0x61,0x7b,0x7e,0x7f,0x0, 0xa2,0x7e,0x34,
+0x38,0x80,0x7e,0x24,0x0, 0x1, 0xbf,0x71,0x28,0x5, 0x7e,0x80,0xa, 0x80,0x2a,0x7e,
+0x34,0x11,0x70,0x7e,0x24,0x0, 0x1, 0xbf,0x71,0x28,0x5, 0x7e,0x80,0x6, 0x80,0x19,
+0xbe,0x78,0xea,0x60,0x28,0x5, 0x7e,0x80,0x4, 0x80,0xe, 0xbe,0x78,0xc3,0x50,0x28,
+0x5, 0x7e,0x80,0x2, 0x80,0x3, 0x7e,0x80,0x1, 0xa, 0xf8,0x6d,0xee,0x7e,0xd4,0x0,
+0xf, 0x7f,0x17,0x7d,0x1d,0x12,0x3, 0xfd,0x7f,0x7, 0x12,0x3, 0xec,0x7d,0x1d,0x12,
+0x3, 0xfd,0x7f,0x61,0x6c,0x99,0x7e,0xa0,0x5, 0x7c,0xd9,0xac,0xda,0x9, 0xb6,0x2,
+0xba,0x7c,0xfb,0xbe,0xf0,0x2, 0x50,0x25,0xa, 0x3f,0x9, 0xb3,0x3, 0x4e,0x70,0x1d,
+0x49,0x6, 0x2, 0xb6,0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x5, 0xb, 0x53,0x49,0x26,0x2,
+0xb8,0x59,0x25,0xb, 0x55,0x59,0x5, 0xb, 0x5b,0x59,0x25,0xb, 0x5d,0xb, 0x90,0xbe,
+0x90,0x2, 0x78,0xc2,0x6c,0x99,0x61,0x75,0x7e,0xa0,0x5, 0x7c,0x39,0xac,0x3a,0x9,
+0xb1,0x2, 0xba,0x7c,0xfb,0xbe,0xf0,0x2, 0x40,0x2, 0x61,0x73,0x7e,0xa0,0x4, 0x7c,
+0xdf,0xac,0xda,0x49,0x26,0xb, 0x53,0x49,0x31,0x2, 0xb6,0x9d,0x32,0x7d,0xa3,0x49,
+0x26,0xb, 0x55,0x49,0x31,0x2, 0xb8,0x9d,0x32,0x7d,0xb3,0x7d,0x1b,0x12,0x53,0x7e,
+0x7f,0x71,0x7d,0x1a,0x1a,0x2, 0x1a,0x0, 0x7d,0x3a,0x12,0x53,0x82,0x2f,0x17,0x7a,
+0x1f,0xa, 0x3, 0x49,0x26,0xb, 0x5b,0x12,0x53,0x9b,0x9d,0x32,0x7a,0x37,0x9, 0xfd,
+0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x25,0xb, 0x5d,0x12,0x53,0x91,0x9d,0x32,0x7d,0x63,
+0x7d,0x16,0x12,0x53,0x7e,0x7f,0x71,0x7e,0x27,0x9, 0xfd,0x7d,0x12,0x1a,0x2, 0x1a,
+0x0, 0x7f,0x10,0x12,0x3, 0xec,0x2f,0x17,0x7a,0x1f,0x9, 0xff,0x7e,0xa0,0x5, 0xac,
+0xa9,0x49,0x25,0x2, 0xb6,0xbe,0x24,0x0, 0x1e,0x40,0x1b,0xbe,0x24,0x1, 0x70,0x38,
+0x15,0x7e,0xa0,0x5, 0xac,0xa9,0x49,0x25,0x2, 0xb8,0xbe,0x24,0x0, 0x1e,0x40,0x6,
+0xbe,0x24,0x1, 0x70,0x28,0x20,0xa, 0x98,0x6d,0x88,0x7e,0xf4,0x0, 0x6, 0x12,0x53,
+0xc0,0x7e,0x84,0x0, 0xb, 0x7d,0x18,0x12,0x3, 0xfd,0x12,0x53,0xa5,0x7d,0x18,0x12,
+0x3, 0xfd,0x7f,0x41,0x80,0x1c,0xa, 0x98,0x6d,0x88,0x7e,0xf4,0x0, 0x5, 0x12,0x53,
+0xc0,0x2f,0x11,0x2f,0x11,0x2f,0x11,0x12,0x53,0xa5,0x2f,0x11,0x2f,0x11,0x2f,0x11,
+0x7f,0x41,0x7e,0x1f,0x9, 0xff,0xbf,0x16,0x38,0x4b,0x7e,0xf, 0xa, 0x7, 0x7e,0x7f,
+0xa, 0x3, 0xbf,0x70,0x38,0x12,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x35,0xb, 0x53,0x12,
+0x53,0xb1,0x49,0x35,0xb, 0x55,0x80,0x22,0xbf,0x74,0x38,0x3f,0x7e,0xa0,0x4, 0xac,
+0xaf,0x49,0x15,0xb, 0x53,0x7e,0x4, 0x0, 0x2, 0x7d,0x3a,0x12,0x53,0x89,0x12,0x53,
+0xb1,0x49,0x15,0xb, 0x55,0x7d,0x3b,0x12,0x53,0x89,0x7e,0xa0,0x5, 0xac,0xa9,0x59,
+0x35,0x2, 0xb8,0x80,0x16,0x7e,0x24,0x7f,0xff,0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x25,
+0xb, 0x5b,0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x25,0xb, 0x5d,0x12,0x53,0x9b,0x7e,0xa0,
+0x4, 0xac,0xaf,0x59,0x35,0xb, 0x53,0x12,0x53,0x91,0x7e,0xa0,0x4, 0xac,0xaf,0x59,
+0x35,0xb, 0x55,0xb, 0x90,0xbc,0xe9,0x28,0x2, 0x41,0x8, 0xda,0x3b,0x22,0x1a,0x2,
+0x1a,0x0, 0x1a,0x26,0x1a,0x24,0x2, 0x3, 0xec,0x7d,0x20,0x12,0x3, 0xba,0x2d,0x31,
+0x22,0x7e,0xa0,0x5, 0xac,0xa9,0x49,0x35,0x2, 0xb8,0x22,0x7e,0xa0,0x5, 0xac,0xa9,
+0x49,0x35,0x2, 0xb6,0x22,0xa, 0x18,0x6d,0x0, 0x12,0x3, 0xec,0x7f,0x1, 0x2f,0x10,
+0x22,0x7e,0xa0,0x5, 0xac,0xa9,0x59,0x35,0x2, 0xb6,0x7e,0xa0,0x4, 0xac,0xaf,0x22,
+0x7f,0x14,0x7d,0x1f,0x12,0x3, 0xfd,0x7f,0x4, 0x12,0x3, 0xec,0x7f,0x1, 0x2f,0x10,
+0x7d,0x1f,0x12,0x3, 0xfd,0x7a,0x1f,0xa, 0x7, 0xa, 0x38,0x6d,0x22,0x22,0xca,0x3b,
+0x12,0x44,0x44,0x78,0x24,0x6c,0xff,0xe4,0xa, 0x3f,0x19,0xb3,0xb, 0x27,0x19,0xb3,
+0xb, 0x31,0x19,0xb3,0x3, 0x5a,0x6d,0x33,0x74,0x2, 0xac,0xbf,0x59,0x35,0xb, 0x33,
+0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xe0,0xe1,0xc0,0x6c,0xff,0x7e,0x50,0x2, 0xac,0x5f,
+0x49,0x32,0x3, 0x52,0xbe,0x34,0x7f,0xff,0x78,0x17,0xe4,0xa, 0x1f,0x19,0xb1,0xb,
+0x27,0x19,0xb1,0xb, 0x31,0x19,0xb1,0x3, 0x5a,0x6d,0x11,0x59,0x12,0xb, 0x33,0x81,
+0xd9,0xa, 0x1f,0x9, 0xb1,0x3, 0x5a,0x60,0x2, 0x81,0xd9,0x59,0x32,0xb, 0x29,0x49,
+0x32,0x3, 0x56,0x59,0x32,0xb, 0x2d,0x49,0x32,0xb, 0x29,0x49,0x22,0xb, 0x2d,0x74,
+0x14,0xac,0xbf,0x49,0x15,0xb, 0xb, 0x49,0x5, 0xb, 0xd, 0x12,0xe, 0x7e,0x7a,0x37,
+0xa, 0x1, 0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0xb, 0x49,0x25,0xb, 0xd, 0x49,0x15,
+0xa, 0xff,0x49,0x5, 0xb, 0x1, 0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x3, 0xa, 0x3f,0x9,
+0x53,0xb, 0x27,0xbe,0x50,0x2, 0x40,0x4c,0x74,0x2, 0xac,0xbf,0x49,0x25,0xb, 0x29,
+0xbe,0x24,0x0, 0x18,0x40,0x16,0xbe,0x24,0x1, 0x76,0x38,0x10,0x49,0x25,0xb, 0x2d,
+0xbe,0x24,0x0, 0x18,0x40,0x6, 0xbe,0x24,0x1, 0x76,0x28,0xe, 0x7e,0x27,0xa, 0x1,
+0xbe,0x24,0x0, 0x27,0x28,0x4, 0x74,0x1, 0x80,0x1b,0x7e,0x27,0xa, 0x1, 0xbe,0x24,
+0x0, 0x27,0x28,0xd, 0x7e,0x27,0xa, 0x3, 0xbe,0x24,0x0, 0x42,0x28,0x3, 0xe4,0x80,
+0x4, 0xe4,0x80,0x1, 0xe4,0x19,0xb3,0xb, 0x31,0xb, 0xf0,0xbe,0xf0,0x2, 0x68,0x2,
+0x81,0xb, 0x6c,0xff,0xe1,0xba,0x74,0x5, 0xac,0xbf,0x9, 0xd5,0x2, 0xba,0xa, 0x3d,
+0x9, 0xb3,0xb, 0x27,0x70,0x34,0x6c,0xcc,0x7e,0x70,0x5, 0xac,0x7f,0x49,0x13,0x2,
+0xb6,0x7e,0x10,0x14,0xac,0x1d,0x7e,0x50,0x4, 0xac,0x5c,0x2d,0x20,0x59,0x12,0xa,
+0xff,0x49,0x33,0x2, 0xb8,0x59,0x32,0xb, 0x1, 0xb, 0xc0,0xbe,0xc0,0x5, 0x78,0xd8,
+0x6d,0x33,0x74,0x2, 0xac,0xbd,0x59,0x35,0xb, 0x33,0xa, 0x3d,0x9, 0xb3,0xb, 0x27,
+0xbe,0xb0,0x5, 0x50,0xa, 0xa, 0x3d,0x2e,0x34,0xb, 0x27,0x4, 0x7a,0x39,0xb0,0xa,
+0x3d,0x9, 0x73,0xb, 0x27,0xbe,0x70,0x1, 0x38,0x2, 0xc1,0x16,0x12,0x57,0xc3,0x60,
+0x2, 0xc1,0x16,0x7e,0x90,0x14,0xac,0x9d,0x49,0x34,0xb, 0xf, 0x49,0x54,0xb, 0xb,
+0x2d,0x53,0x7a,0x57,0x9, 0xfd,0x49,0x34,0xb, 0x11,0x49,0x54,0xb, 0xd, 0x2d,0x53,
+0x7a,0x57,0x9, 0xff,0x74,0x5, 0xac,0xbf,0x49,0x15,0x2, 0xb6,0x2e,0x17,0x9, 0xfd,
+0x7e,0x24,0x0, 0x3, 0x8d,0x12,0x59,0x15,0x2, 0xb6,0x49,0x35,0x2, 0xb8,0x2e,0x37,
+0x9, 0xff,0x8d,0x32,0x59,0x35,0x2, 0xb8,0x49,0x24,0xb, 0x7, 0x49,0x35,0x2, 0xb6,
+0x9d,0x32,0x12,0x0, 0x2e,0x7a,0x37,0x9, 0xfd,0x74,0x14,0xac,0xbd,0x49,0x25,0xb,
+0x9, 0x74,0x5, 0xac,0xbf,0x49,0x35,0x2, 0xb8,0x9d,0x32,0x12,0x0, 0x2e,0x12,0x5b,
+0x7c,0x38,0xa, 0x7e,0x37,0x9, 0xff,0xbe,0x34,0x0, 0x27,0x28,0x1a,0x12,0x57,0xe8,
+0x2e,0x34,0xb, 0x7, 0x2e,0x14,0xb, 0x3, 0x12,0x5b,0xf, 0x59,0x35,0xb, 0x7, 0x49,
+0x34,0x2, 0xb8,0x59,0x35,0xb, 0x9, 0x12,0x57,0xe8,0x2e,0x34,0xb, 0xb, 0x2e,0x14,
+0xb, 0xf, 0x12,0x5b,0xf, 0x59,0x35,0xb, 0xb, 0x49,0x44,0x2, 0xb8,0x59,0x45,0xb,
+0xd, 0x49,0x35,0xb, 0x7, 0x49,0x25,0xb, 0x9, 0x12,0xe, 0x76,0x74,0x2, 0xac,0xbd,
+0x59,0x35,0xb, 0x33,0xe1,0xb8,0x12,0x57,0xc3,0x70,0x2, 0xe1,0xb8,0xa, 0x3d,0x9,
+0x73,0xb, 0x27,0xbe,0x70,0x3, 0x50,0x2, 0xe1,0xb8,0x12,0x57,0xca,0x70,0x2, 0xe1,
+0xb8,0x74,0x14,0xac,0xbd,0x49,0x25,0xa, 0xff,0x49,0x35,0xb, 0xb, 0x12,0x57,0xe0,
+0x7a,0x37,0x9, 0xfd,0x74,0x14,0xac,0xbd,0x49,0x25,0xb, 0x1, 0x49,0x35,0xb, 0xd,
+0x12,0x57,0xe0,0x12,0x5b,0x7c,0x50,0xc, 0x7e,0x37,0x9, 0xff,0xbe,0x34,0x0, 0x27,
+0x50,0x2, 0xe1,0xb8,0x74,0x14,0xac,0xbd,0x12,0xe, 0x6e,0xb, 0x34,0x6d,0x22,0x7a,
+0x1f,0xa, 0x11,0x74,0x14,0xac,0xbd,0x49,0x35,0xb, 0x3, 0x49,0x25,0xb, 0x5, 0x74,
+0x2, 0xac,0xbd,0x49,0x15,0xb, 0x29,0x49,0x5, 0xb, 0x2d,0x12,0xe, 0x7e,0x6d,0x22,
+0x7a,0x1f,0xa, 0xd, 0x74,0x14,0xac,0xbd,0x49,0x5, 0xb, 0x5, 0x49,0x15,0xb, 0xd,
+0x9d,0x10,0x6d,0x0, 0x7a,0xf, 0xa, 0x9, 0x7d,0x21,0x7e,0xf, 0xa, 0x11,0x12,0x5a,
+0xf3,0x7a,0x1f,0xa, 0x9, 0x74,0x14,0xac,0xbd,0x49,0x15,0xb, 0x5, 0x6d,0x0, 0x7e,
+0x1f,0xa, 0x9, 0x2f,0x10,0x12,0x57,0xd1,0x9f,0x10,0x7a,0x1f,0xa, 0x9, 0x49,0x5,
+0xb, 0x3, 0x49,0x15,0xb, 0xb, 0x9d,0x10,0x6d,0x0, 0x7a,0xf, 0xa, 0x5, 0x7e,0x1f,
+0xa, 0xd, 0x7d,0x21,0x7e,0xf, 0xa, 0x11,0x12,0x5a,0xf3,0x7a,0x1f,0xa, 0x5, 0x74,
+0x14,0xac,0xbd,0x49,0xc5,0xb, 0x3, 0x7d,0x1c,0x6d,0x0, 0x7e,0x1f,0xa, 0x5, 0x2f,
+0x10,0x49,0xd5,0xb, 0xb, 0x7d,0xfd,0x6d,0xee,0x9f,0x17,0x7a,0x1f,0xa, 0x5, 0x12,
+0x57,0xca,0xb4,0x2, 0x17,0x7e,0x58,0x0, 0x2, 0x7e,0x1f,0xa, 0x5, 0x7f,0x5, 0x12,
+0x4, 0x59,0x12,0x2f,0xf1,0x7f,0x5, 0x12,0x57,0xd8,0x80,0x27,0x12,0x57,0xca,0xb4,
+0x1, 0x21,0xbd,0xdc,0x50,0xc, 0x7e,0x1f,0xa, 0x5, 0xbe,0x18,0x0, 0x0, 0x8, 0x13,
+0x80,0xa, 0x7e,0x1f,0xa, 0x5, 0xbe,0x18,0x0, 0x0, 0x58,0x7, 0x12,0x44,0x5f,0x7a,
+0x1f,0xa, 0x5, 0x12,0x57,0xc3,0x7e,0x1f,0xa, 0x5, 0xb4,0x1, 0x1d,0x2f,0x11,0x7e,
+0x68,0x0, 0x5, 0x7f,0x6, 0x12,0x4, 0x59,0x7a,0x1f,0xa, 0x5, 0x2f,0x17,0x12,0x2f,
+0xf1,0x2f,0x11,0x7f,0x6, 0x12,0x57,0xd8,0x80,0x6, 0x2f,0x17,0x7a,0x1f,0xa, 0x5,
+0x74,0x14,0xac,0xbd,0x12,0x57,0xd1,0x7e,0x1f,0xa, 0x9, 0x2f,0x10,0x7a,0x1f,0xa,
+0x9, 0x7e,0x1f,0xa, 0x5, 0x12,0x57,0xf0,0x12,0x2f,0xf1,0x12,0x57,0xf0,0x7a,0x1f,
+0xa, 0x9, 0x7e,0x1f,0xa, 0x5, 0x7d,0x43,0x74,0x5, 0xac,0xbf,0x59,0x45,0x2, 0xb6,
+0x7e,0x1f,0xa, 0x9, 0x59,0x35,0x2, 0xb8,0xb, 0xf0,0xbc,0xef,0x28,0x2, 0x81,0xe6,
+0xda,0x3b,0x22,0xa, 0x3d,0x9, 0xb3,0x3, 0x5a,0x22,0xa, 0x3d,0x9, 0xb3,0xb, 0x31,
+0x22,0x49,0x15,0xb, 0xd, 0x6d,0x0, 0x22,0x12,0x4, 0x59,0x7a,0x1f,0xa, 0x9, 0x22,
+0x9d,0x32,0x12,0x0, 0x2e,0xb, 0x34,0x22,0x7e,0x30,0x14,0xac,0x3d,0x7d,0x31,0x22,
+0x6d,0x22,0x7e,0x14,0x1, 0x8d,0x12,0x37,0xfa,0x6d,0x22,0x22,0x6d,0x22,0x7a,0x27,
+0xc, 0x7c,0x7e,0x34,0x1, 0x8e,0x7a,0x37,0xc, 0x7e,0x7a,0x27,0xc, 0x80,0x7a,0x37,
+0xc, 0x82,0x7e,0x14,0x0, 0x84,0x7a,0x17,0xc, 0x85,0x7e,0x14,0x0, 0xc7,0x7a,0x17,
+0xc, 0x87,0x74,0x64,0x7a,0xb3,0xc, 0x84,0x7e,0x14,0x0, 0x96,0x7a,0x17,0xc, 0x89,
+0x7a,0x27,0xc, 0xa0,0x7a,0x37,0xc, 0xa2,0x7a,0x27,0xc, 0xa4,0x7a,0x37,0xc, 0xa6,
+0x74,0x50,0x7a,0xb3,0xc, 0x9e,0x74,0x1e,0x7a,0xb3,0xc, 0x9f,0x74,0x3, 0x7a,0xb3,
+0xc, 0xa8,0x74,0x32,0x7a,0xb3,0xc, 0xa9,0x74,0xf, 0x7a,0xb3,0xc, 0xaa,0x74,0x50,
+0x7a,0xb3,0xc, 0xab,0x22,0xca,0xf8,0x7e,0xa3,0xb, 0xb3,0x7c,0xba,0x65,0x4e,0x68,
+0x5, 0xe4,0x7a,0xb3,0xb, 0xb6,0x7a,0xa1,0x4e,0x4c,0xaa,0x78,0x13,0x7e,0xb3,0x6,
+0x67,0x30,0xe1,0x5, 0x12,0x58,0xd3,0x80,0x11,0xe4,0x7a,0xb3,0x2, 0xca,0x80,0xa,
+0x7e,0xb3,0x6, 0x67,0x30,0xe1,0xb, 0x12,0x58,0xd3,0x12,0x5a,0x6e,0x12,0x5a,0x74,
+0x80,0x2e,0x12,0x58,0xe1,0x7c,0xfb,0x4c,0xff,0x68,0x25,0x7c,0xbf,0x12,0x5a,0x7b,
+0x60,0x1e,0x7e,0x34,0x0, 0x14,0x1b,0x34,0x78,0xfc,0x7e,0xb3,0x6, 0x67,0x30,0xe1,
+0x8, 0x74,0x26,0x7a,0xb3,0xb, 0xb6,0x80,0x7, 0x7a,0xf3,0xb, 0xb6,0x75,0x4f,0x1,
+0xda,0xf8,0x22,0x74,0x26,0x7a,0xb3,0x2, 0xca,0x7a,0xb3,0xb, 0xb6,0x75,0x4f,0x1,
+0x22,0xca,0x79,0x6c,0xaa,0x6d,0x44,0x7d,0xf4,0x7e,0x63,0x0, 0x90,0x7c,0xf6,0x5e,
+0xf0,0xf, 0x7c,0xb6,0xc4,0x7c,0xeb,0x5e,0xe0,0xf, 0x7e,0xe7,0xd, 0x29,0x1b,0xe4,
+0x68,0x3c,0x1b,0xe4,0x68,0x6e,0x1b,0xe4,0x78,0x2, 0x21,0xdf,0x2e,0xe4,0x0, 0x3,
+0x68,0x2, 0x41,0x7, 0xbe,0xf0,0x0, 0x38,0x2, 0x41,0xd, 0x4c,0xee,0x68,0x2, 0x41,
+0xd, 0x7e,0xe4,0x0, 0x1, 0x7a,0xe7,0xd, 0x29,0x7a,0xf7,0xd, 0x36,0x7a,0x47,0xd,
+0x38,0x12,0x5a,0x2e,0x7e,0xb3,0xc, 0xab,0x7a,0xb3,0xd, 0x35,0x21,0xc7,0x4c,0xff,
+0x78,0x2, 0x80,0x1e,0x12,0x5a,0x2e,0x7e,0x37,0xd, 0x36,0x7e,0x27,0xd, 0x38,0x12,
+0x5a,0x64,0xa5,0xbf,0x0, 0x4, 0xd2,0xe, 0x41,0x7, 0x7e,0xb3,0xd, 0x2c,0x60,0x2,
+0x41,0xd, 0x7e,0x34,0x0, 0x2, 0x7a,0x37,0xd, 0x29,0x7e,0xb3,0xc, 0xa9,0x7a,0xb3,
+0xd, 0x2b,0x41,0xd, 0xbe,0xf0,0x0, 0x28,0x58,0x4c,0xee,0x78,0x54,0x7a,0xf7,0xd,
+0x31,0x7a,0x47,0xd, 0x33,0x12,0x5a,0x2e,0x7e,0xb3,0xc, 0xa8,0xa, 0x2b,0x7e,0xb3,
+0xc, 0xa9,0xa, 0x3b,0x9d,0x32,0x7e,0xb3,0xd, 0x2b,0xa, 0x4b,0xbd,0x43,0x18,0x2,
+0x70,0x4, 0xd2,0xe, 0x80,0x61,0x7e,0x37,0xd, 0x36,0x7e,0x27,0xd, 0x38,0x7e,0xb3,
+0xc, 0x9e,0x12,0x5a,0x37,0x7c,0x7b,0xa5,0xbf,0x0, 0x4, 0xd2,0xe, 0x80,0x48,0x7e,
+0x34,0x0, 0x3, 0x7a,0x37,0xd, 0x29,0x7e,0xb3,0xc, 0xaa,0x7a,0xb3,0xd, 0x2c,0x80,
+0x3c,0x4c,0xff,0x78,0x38,0x7e,0xb3,0xd, 0x2b,0x70,0x32,0xd2,0xe, 0x80,0x2e,0x4c,
+0xff,0x78,0x10,0x7e,0xb3,0xd, 0x2c,0x70,0x4, 0xd2,0xe, 0x80,0x1a,0x7e,0x34,0x0,
+0x4, 0x80,0x16,0x12,0x5a,0x2e,0x7e,0x37,0xd, 0x31,0x7e,0x27,0xd, 0x33,0x12,0x5a,
+0x64,0xa5,0xbf,0x0, 0x8, 0xd2,0xe, 0x6d,0x33,0x7a,0x37,0xd, 0x29,0x7e,0x37,0xd,
+0x29,0xbe,0x34,0x0, 0x2, 0x78,0x12,0x7e,0xa0,0x25,0x6d,0x33,0x7a,0x37,0xd, 0x29,
+0xe4,0x7a,0xb3,0xd, 0x35,0x7a,0xb3,0xd, 0x2c,0x7c,0xba,0xda,0x79,0x22,0x7a,0xf7,
+0xd, 0x2d,0x7a,0x47,0xd, 0x2f,0x22,0x7d,0x13,0xa, 0x3b,0x7d,0x3, 0x2e,0x7, 0xd,
+0x2d,0xbd,0x1, 0x40,0x1d,0x2d,0x13,0xbe,0x17,0xd, 0x2d,0x40,0x15,0x7d,0x13,0x2e,
+0x17,0xd, 0x2f,0xbd,0x12,0x40,0xb, 0x2d,0x32,0xbe,0x37,0xd, 0x2f,0x40,0x3, 0x74,
+0x1, 0x22,0xe4,0x22,0x7e,0xb3,0xc, 0x9f,0x12,0x5a,0x37,0x7c,0x7b,0x22,0xe4,0x7a,
+0xb3,0x9, 0x62,0x22,0x6d,0x33,0x7a,0x37,0xd, 0x29,0x22,0x7c,0xab,0x54,0xf0,0xb4,
+0x20,0x18,0x7c,0xba,0x54,0xf, 0x7e,0x44,0x0, 0x1, 0x60,0x5, 0x3e,0x44,0x14,0x78,
+0xfb,0x7e,0x73,0xb, 0xb4,0xa, 0x57,0x5d,0x54,0x22,0xe4,0x22,0x7d,0x13,0x7e,0x37,
+0xc, 0xa0,0xbd,0x31,0x50,0x1a,0x7e,0x37,0xc, 0xa2,0xbd,0x31,0x28,0x12,0x7e,0x37,
+0xc, 0xa4,0xbd,0x32,0x50,0xa, 0x7e,0x37,0xc, 0xa6,0xbd,0x32,0x28,0x2, 0xe4,0x22,
+0x74,0x1, 0x22,0xa, 0xb, 0x7e,0x14,0x0, 0x3, 0x9d,0x10,0x7e,0x91,0x27,0x74,0x4,
+0xac,0x9b,0x2e,0x44,0x3, 0x5c,0x49,0x34,0x0, 0x2, 0xb, 0x48,0x20,0x7c,0xb3,0x22,
+0xa, 0x25,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x22,0x7e,0x37,0xa, 0x17,0x7d,
+0x21,0x7d,0x1f,0x12,0x6, 0x3e,0x1a,0x26,0x1a,0x24,0x22,0xe5,0x24,0xa, 0x3b,0x3e,
+0x34,0x2e,0x34,0x10,0x0, 0xb, 0x38,0x70,0x6d,0x66,0xe5,0x24,0xa, 0x3b,0x22,0x74,
+0x4, 0x12,0x4, 0x8d,0x7e,0x90,0x5, 0xac,0x9f,0x49,0x34,0x2, 0xb6,0x74,0x14,0xac,
+0xbd,0x22,0x7e,0x25,0x33,0x7a,0x27,0x0, 0x50,0x7e,0x25,0x35,0x7a,0x27,0x0, 0x52,
+0x7a,0x37,0x0, 0x54,0x22,0x7e,0xb3,0x6, 0x67,0x54,0xdf,0x7a,0xb3,0x6, 0x67,0x22,
+0x7e,0x25,0x22,0x7e,0x37,0xa, 0x9, 0xad,0x32,0x7c,0x76,0x7c,0x65,0xa, 0x24,0x22,
+0x6d,0x0, 0x2f,0x10,0x7e,0x14,0x0, 0x10,0x12,0x3, 0xfd,0x74,0x5, 0xac,0xbe,0x22,
+0x2e,0x18,0x0, 0xf, 0x7e,0x15,0x22,0x12,0x3, 0xfd,0x2f,0x11,0x2f,0x11,0x22,0x7e,
+0xf, 0xa, 0xb, 0x7e,0x37,0xa, 0x9, 0x6d,0x22,0x2, 0x3, 0xec,0x7a,0x37,0x9, 0xff,
+0x7e,0x37,0x9, 0xfd,0xbe,0x34,0x0, 0x27,0x22,0x3e,0x34,0x2e,0x34,0x12,0x92,0x1b,
+0x38,0x20,0xb, 0x10,0x22,0xb, 0x48,0x20,0x4d,0x25,0x1b,0x48,0x20,0x7c,0xb7,0x22,
+0x5e,0x4, 0x0, 0xf, 0x7c,0x61,0xa, 0x7, 0x2d,0x7, 0x22,0x7e,0x10,0x5, 0xac,0x1d,
+0x9, 0xb0,0x2, 0xba,0x22,0x7f,0x16,0x7d,0x1b,0x12,0x3, 0xfd,0x7f,0x7, 0x22,0x70,
+0x8f,0xff,0x0, 0x85,0x7a,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43,
+0x45,0x49,0x5f,0x44,0x42,0x57,0x32,0x0, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x30,
+0x30,0x30,0x30,0x0, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1,
+0x85,
diff --git a/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DHW1_3207_0xA0_app.i b/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DHW1_3207_0xA0_app.i
new file mode 100644
index 0000000..b15f4d1
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DHW1_3207_0xA0_app.i
@@ -0,0 +1,1471 @@
+0x2, 0x0, 0x76,0x2, 0x4d,0x86,0x22,0x22,0x22,0x22,0x32,0x2, 0x0, 0xa, 0x7f,0x71,
+0x7e,0x8, 0x0, 0x2, 0x2, 0x4, 0x59,0x2, 0x49,0xaf,0x22,0x2, 0x4d,0xfe,0x1e,0x44,
+0x1e,0x44,0x1e,0x44,0x1e,0x44,0x22,0x2, 0x4d,0xd1,0xff,0x2, 0x4d,0x20,0x7d,0x23,
+0xbe,0x24,0x0, 0x0, 0x48,0x3, 0x7d,0x32,0x22,0x6d,0x33,0x9d,0x32,0x22,0x70,0x2,
+0xc2,0xd, 0x22,0x2, 0x4d,0x52,0x40,0x10,0x10,0x10,0x10,0x40,0x12,0x0, 0x1, 0x2,
+0x3, 0x14,0x12,0x4, 0x5, 0x6, 0x7, 0x14,0x13,0x8, 0x9, 0xa, 0xb, 0x15,0x13,0xc,
+0xd, 0xe, 0xf, 0x15,0x40,0x11,0x11,0x11,0x11,0x40,0x3e,0x34,0x3e,0x34,0x3e,0x34,
+0x3e,0x34,0x22,0x2, 0x50,0x43,0x75,0x84,0x1, 0x7e,0x44,0xf, 0xff,0xe4,0x7a,0x49,
+0xb0,0x1b,0x44,0x78,0xf9,0x7e,0xf8,0xd, 0x3f,0xc2,0xc, 0x75,0x47,0x18,0xc2,0x8,
+0xd2,0x9, 0x75,0x1d,0x0, 0x75,0x1e,0x0, 0xc2,0x0, 0xd2,0x1, 0xc2,0x2, 0xc2,0x3,
+0xc2,0x4, 0xc2,0x6, 0x75,0x8, 0x76,0x75,0xa, 0x0, 0x75,0xc, 0x37,0x75,0xe, 0x2,
+0x75,0xf, 0x74,0x75,0x10,0x71,0x75,0x14,0x71,0x75,0x15,0x71,0x75,0x1b,0x7b,0xd2,
+0xa, 0xc2,0xb, 0x75,0x4c,0x0, 0x75,0x4d,0x0, 0xc2,0xd, 0x75,0x4e,0x0, 0x75,0x4f,
+0x0, 0xc2,0xe, 0x7e,0x4, 0x0, 0xff,0x7e,0x14,0x5, 0xa, 0xb, 0xa, 0x40,0x5d,0x44,
+0x68,0x1a,0x69,0x20,0x0, 0x2, 0xb, 0xe, 0xb, 0x44,0x80,0xa, 0x7e,0xb, 0xb0,0x7a,
+0x29,0xb0,0xb, 0x24,0xb, 0xc, 0x1b,0x44,0x78,0xf2,0x80,0xdf,0x2, 0x49,0x25,0xff,
+0x5b,0x98,0xa4,0x67,0xa1,0x5e,0x98,0x67,0xa0,0x5f,0x1, 0xfe,0xff,0xff,0xff,0x0,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0x7e,0xa0,0x20,0x80,0xc, 0x7e,0xa0,0x10,0x80,0x5, 0x7e,0xa0,0x8, 0x6c,0x55,0x6d,
+0x33,0x33,0x92,0xd5,0x50,0xa, 0x6e,0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,
+0xa5,0xec,0x33,0x40,0x6, 0x2f,0x11,0xd5,0xf0,0xf6,0x22,0x7c,0xba,0x24,0x7e,0xa2,
+0xd5,0x13,0x7c,0x76,0x7c,0x65,0xa5,0xcc,0x92,0xe7,0x7c,0x5b,0x22,0x7c,0xb5,0x33,
+0x7c,0xb4,0x33,0x92,0xd5,0x4e,0x50,0x80,0x24,0x81,0x40,0x3, 0x9f,0x11,0x22,0x7c,
+0x45,0x7c,0x56,0x7c,0x67,0x6c,0x77,0x24,0xe0,0x50,0xe, 0x7e,0x1c,0xff,0xff,0x22,
+0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x4, 0x78,0xf4,0x30,0xd5,0xa, 0x6e,
+0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,0x22,0x7c,0xb5,0xa2,0xe7,0xd2,0xe7,
+0x7c,0x1b,0x7c,0xb4,0x33,0x40,0x9, 0x68,0xd, 0xb4,0xff,0xb, 0xa5,0xbd,0xff,0x3,
+0x2, 0x2, 0x67,0x2, 0x2, 0x6f,0x22,0x7c,0xb, 0x24,0x81,0xc2,0xe0,0xf5,0x82,0xf4,
+0x4, 0x2c,0xb0,0x7c,0x2b,0xc3,0x13,0x7c,0x4b,0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x7f,
+0x41,0x7c,0xb6,0xa2,0xe7,0x7c,0xb1,0xa5,0xba,0x7f,0x2, 0xc3,0x13,0x34,0x0, 0x94,
+0x0, 0x7c,0x2b,0x7e,0xa0,0x91,0xa4,0x7c,0xba,0x13,0xf4,0x94,0xfe,0xac,0xb2,0x33,
+0x7c,0xba,0x33,0x24,0x8c,0xd3,0x13,0x7c,0x5b,0xe4,0x92,0xe7,0x7c,0x6b,0x6c,0x77,
+0x7e,0x40,0x3f,0x75,0x83,0x2, 0x7f,0x51,0x7f,0x1, 0x7f,0x14,0x12,0x3, 0x39,0x7f,
+0x5, 0x12,0x2, 0x81,0x9e,0x24,0x0, 0x80,0xd5,0x83,0xeb,0x7e,0x1, 0x82,0x6c,0x11,
+0xe, 0x4, 0x1e,0x4, 0x2d,0x20,0x5e,0x40,0x7f,0x22,0x2d,0x0, 0x92,0xd5,0xe, 0x10,
+0x4e,0x10,0x80,0x7d,0x42,0x2d,0x44,0x50,0x2, 0xb2,0xd5,0x4e,0x50,0x80,0x6c,0x44,
+0x7c,0xb8,0x22,0x2c,0x44,0x50,0x12,0xb, 0x1c,0x7e,0x40,0x0, 0x5e,0x50,0x7f,0xbe,
+0x18,0x0, 0x0, 0x78,0x4, 0xb, 0x80,0x68,0x16,0xa2,0xd5,0x7c,0xb8,0x13,0x7c,0x4b,
+0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x22,0x7e,0x1c,0xff,0xff,0x22,0x9f,0x11,0x22,0x7e,
+0x24,0xff,0x80,0x20,0xd5,0x2, 0x6c,0x45,0x6d,0x33,0x22,0x2, 0x2, 0x67,0x6e,0x0,
+0x80,0x7c,0xb1,0x33,0x7c,0xb0,0x33,0x68,0xd, 0x4, 0x68,0xef,0x7c,0xb5,0x33,0x7c,
+0xb4,0x33,0x78,0x3, 0x7f,0x10,0x22,0x4, 0x68,0xe1,0x7d,0x50,0x92,0xf7,0x7d,0x45,
+0x7d,0x51,0xbf,0x21,0x40,0x6, 0x7c,0x80,0x7f,0x1, 0x7f,0x12,0x12,0x2, 0x2a,0x7e,
+0xa1,0xd0,0x5c,0xb0,0x4, 0x78,0x3, 0x20,0xd5,0xc1,0x7c,0xb0,0x4, 0x78,0x7, 0x50,
+0x2, 0xb2,0xd5,0x2, 0x2, 0x6f,0x92,0xd5,0xbe,0x80,0xff,0x68,0xf6,0x7c,0xb8,0x9c,
+0xb0,0x6c,0x0, 0x60,0x2a,0xb4,0x18,0x5, 0x7c,0x41,0x2, 0x2, 0x43,0x50,0xfb,0x80,
+0x3, 0x2f,0x0, 0x4, 0x7c,0x9b,0x5e,0x90,0x7, 0x78,0xf6,0x30,0xe4,0x6, 0x7c,0x43,
+0x7d,0x10,0x6d,0x0, 0x30,0xe3,0x8, 0x7c,0x43,0x7c,0x32,0x7c,0x21,0xa, 0x0, 0x30,
+0xf5,0x19,0x9f,0x10,0x78,0xe, 0x22,0x2, 0x2, 0x6c,0x1b,0x80,0x68,0xf9,0x2f,0x11,
+0x50,0x2, 0xb, 0x70,0x7c,0xb5,0x30,0xe7,0xf1,0x80,0x1b,0x2d,0x31,0x7c,0xb5,0xa5,
+0x39,0x7c,0x5b,0x50,0x11,0xb, 0x80,0x78,0x3, 0x2, 0x2, 0x6f,0x1e,0x34,0x13,0x50,
+0x3, 0x4e,0x60,0x80,0x1a,0x2b,0x2, 0x2, 0x43,0xbe,0x24,0xff,0xff,0x68,0x6, 0xbe,
+0x4, 0xff,0xff,0x78,0x3, 0x2, 0x2, 0x67,0x12,0x2, 0x2a,0x5c,0xb0,0x4, 0x68,0xf5,
+0x7c,0xb8,0xa5,0x48,0x68,0xef,0x7c,0xb8,0x70,0x3, 0x9f,0x11,0x22,0xa5,0xb8,0x0,
+0x3, 0x2, 0x2, 0x6f,0x2e,0x0, 0x81,0x50,0x7, 0x9c,0x80,0x38,0x7, 0x2, 0x2, 0x6c,
+0x9c,0x80,0x50,0xed,0xa, 0x51,0xc2,0xe7,0x4d,0x51,0x78,0x3, 0x2, 0x2, 0x59,0x7e,
+0x54,0x0, 0x80,0x7e,0x90,0x1a,0x6c,0x0, 0x80,0x6, 0x1b,0x90,0x68,0x14,0x2f,0x11,
+0xbf,0x10,0x40,0x4, 0x9f,0x10,0x4c,0xab,0x3, 0x30,0xe7,0xee,0xca,0xa8,0x6c,0xaa,
+0x80,0xe8,0xda,0x39,0xda,0x58,0x7c,0x4a,0xbe,0x50,0x80,0x50,0xa, 0x1b,0x80,0x68,
+0xbc,0x2f,0x11,0x50,0x2, 0xb, 0x70,0x2, 0x2, 0x43,0xc2,0xd5,0x7c,0xb4,0x30,0xe7,
+0x8, 0xb2,0xd5,0x6e,0x24,0xff,0xff,0xb, 0x24,0x7c,0xb6,0x30,0xe7,0x12,0xb2,0xd5,
+0x6e,0x34,0xff,0xff,0xb, 0x34,0x8d,0x32,0x6e,0x24,0xff,0xff,0xb, 0x24,0x80,0x2,
+0x8d,0x32,0x30,0xd5,0x6, 0x6e,0x34,0xff,0xff,0xb, 0x34,0x22,0x7d,0x51,0xad,0x3,
+0x7d,0x2, 0x7d,0x21,0xad,0x5, 0x2d,0x12,0xad,0x35,0x2d,0x21,0x22,0x7d,0x2, 0xad,
+0x31,0xad,0x10,0x2d,0x21,0x22,0x6d,0x0, 0x74,0x10,0x4d,0x0, 0x78,0xb, 0x4d,0x22,
+0x78,0x27,0x8d,0x31,0x7d,0x12,0x6d,0x22,0x22,0x7d,0x43,0x7d,0x32,0x6d,0x22,0x2f,
+0x11,0x2d,0x44,0x50,0x2, 0xa5,0xf, 0xbf,0x10,0x40,0x4, 0x9f,0x10,0xb, 0x90,0x14,
+0x78,0xed,0x7f,0x1, 0x6d,0x22,0x7d,0x34,0x22,0x7d,0x41,0x7d,0x13,0x8d,0x24,0x7d,
+0x2, 0x2f,0x0, 0x40,0x4, 0xbd,0x4, 0x40,0x4, 0x9d,0x4, 0xb, 0x14,0x14,0x78,0xf1,
+0x7d,0x23,0x7d,0x31,0x7d,0x10,0x6d,0x0, 0x22,0xc2,0xd5,0x7c,0xb0,0x30,0xe7,0x8,
+0xb2,0xd5,0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x7c,0xb4,0x30,0xe7,0x13,0xb2,0xd5,0x9f,
+0x22,0x9f,0x21,0x7f,0x12,0x12,0x4, 0x8, 0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x80,0x3,
+0x12,0x4, 0x8, 0x30,0xd5,0x6, 0x9f,0x22,0x9f,0x21,0x7f,0x12,0x22,0x6c,0xaa,0x4d,
+0x11,0x68,0x1a,0x1e,0x54,0x68,0xe, 0xb, 0x38,0x20,0x1b,0x18,0x20,0xb, 0x35,0xb,
+0x15,0x1b,0x54,0x78,0xf2,0x50,0x6, 0x7e,0x39,0x40,0x7a,0x19,0x40,0x22,0x7d,0x3,
+0x80,0xa, 0x7e,0x29,0xb0,0x7a,0x9, 0xb0,0xb, 0x24,0xb, 0x4, 0x7d,0x51,0x1b,0x14,
+0x4d,0x55,0x78,0xee,0x22,0x13,0x12,0x10,0xf, 0x14,0xe, 0xb, 0xc, 0x1, 0x7, 0xa,
+0x9, 0x2, 0x3, 0x5, 0x6, 0x11,0x4, 0x15,0x0, 0xd, 0x8, 0x7f,0x1, 0xbe,0x8, 0x0,
+0x0, 0x48,0x3, 0x7f,0x10,0x22,0x9f,0x11,0x9f,0x10,0x22,0x7d,0x13,0x80,0x7, 0x1b,
+0x24,0x7a,0x19,0xb0,0xb, 0x14,0x4d,0x22,0x78,0xf5,0x22,0x10,0x10,0x10,0x1c,0x19,
+0x14,0x10,0xe, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x0, 0xc, 0xc, 0xe9,0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xc, 0xf5,0x0, 0x0,
+0x0, 0x1, 0xc, 0xf7,0x0, 0x0, 0x1, 0xd, 0x10,0x0, 0x0, 0x1, 0xd, 0x11,0x0, 0x0,
+0x1, 0xd, 0x12,0x0, 0x0, 0x2e,0xa, 0x8d,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x16,0xa, 0xbb,0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x2e,0xa, 0xd1,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x1, 0xc, 0xd0,0x0, 0x0, 0x1, 0xc, 0xd2,0x0, 0x0, 0x2, 0xc, 0xd3,
+0x0, 0x0, 0x0, 0x1, 0xc, 0xd5,0x0, 0x0, 0x1, 0xc, 0xd7,0x0, 0x0, 0x1, 0xc, 0xd8,
+0x0, 0x0, 0x2, 0x0, 0x72,0x3, 0x1c,0x0, 0x4, 0x0, 0xa2,0x0, 0x0, 0x0, 0x0, 0x0,
+0x2, 0x2, 0xcd,0x0, 0x0, 0x0, 0x1, 0x2, 0xcf,0x0, 0x0, 0x1, 0x2, 0xd3,0x0, 0x0,
+0x1, 0x3, 0x48,0x0, 0x0, 0x1, 0x3, 0x4c,0x0, 0x0, 0x1, 0x3, 0x4d,0x0, 0x0, 0x1,
+0xd, 0x3a,0x0, 0x0, 0x1, 0xd, 0x3b,0xff,0x0, 0x1, 0xd, 0x3c,0x0, 0x0, 0x1, 0xd,
+0x3d,0x10,0x0, 0x1, 0xd, 0x3e,0x8, 0x0, 0x1, 0xd, 0x3f,0x0, 0x0, 0x1, 0x9, 0x6c,
+0x0, 0x0, 0x1, 0xd, 0x28,0x0, 0x0, 0x1, 0xb, 0x38,0x0, 0x0, 0x2, 0xd, 0x29,0x0,
+0x0, 0x0, 0x2, 0x6, 0xdb,0x6, 0xe1,0x0, 0x1, 0x9, 0x69,0x0, 0x0, 0x0, 0x7d,0x41,
+0x7d,0x12,0x1a,0x26,0x1a,0x24,0x12,0x6, 0x5e,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x2,
+0x4, 0x59,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x7f,0x17,0x9f,0x10,0x7d,0x1d,0x1a,0x2,
+0x1a,0x0, 0x2, 0x3, 0xec,0xca,0x3b,0x7f,0x71,0x7c,0xab,0x6c,0x33,0x6c,0xee,0x6d,
+0x22,0x7a,0x25,0x22,0x7a,0x25,0x24,0x7d,0x62,0x7d,0x82,0x7d,0x92,0x7d,0x42,0x7d,
+0xa2,0x7d,0xb2,0x7e,0x37,0x5, 0xf8,0x7d,0xd3,0x7e,0x24,0x0, 0x2, 0x12,0x3, 0xba,
+0x7d,0xc3,0xa, 0x3a,0x7e,0x24,0x0, 0xb, 0x12,0x3, 0xba,0x7c,0xb5,0x7c,0xfb,0xbe,
+0xf0,0x5, 0x50,0x4c,0x1a,0x13,0x12,0x7, 0x73,0x48,0x2c,0xbe,0x78,0x1, 0xa, 0x48,
+0x2, 0x80,0x3, 0x7e,0x45,0x24,0x12,0x6, 0x52,0x7d,0x54,0x12,0x7, 0x84,0xbe,0x78,
+0x0, 0xc7,0x8, 0x7c,0x7f,0x17,0x9e,0x18,0x0, 0xc7,0x12,0x0, 0xe, 0x7f,0x71,0x2e,
+0x18,0x0, 0xc7,0x7f,0x71,0x80,0x69,0xbe,0x78,0x0, 0x89,0x18,0x9, 0x7d,0x19,0x12,
+0x6, 0x54,0x7d,0x59,0x80,0x27,0x7e,0x45,0x22,0x12,0x6, 0x52,0x7d,0x54,0x80,0x1d,
+0x1a,0x1e,0x12,0x7, 0x73,0x48,0x1b,0xbe,0x78,0x1, 0x4, 0x48,0x9, 0x7d,0x1b,0x12,
+0x6, 0x54,0x7d,0x5b,0x80,0x7, 0x7d,0x18,0x12,0x6, 0x54,0x7d,0x58,0x12,0x7, 0x84,
+0x80,0x2e,0xbe,0x78,0x0, 0x87,0x18,0x9, 0x7d,0x1a,0x12,0x6, 0x54,0x7d,0x5a,0x80,
+0x7, 0x7d,0x16,0x12,0x6, 0x54,0x7d,0x56,0x12,0x7, 0x84,0xbe,0x78,0x0, 0x0, 0x58,
+0xf, 0x9f,0x11,0x9f,0x17,0x12,0x0, 0xe, 0x7f,0x71,0x9f,0x11,0x9f,0x17,0x7f,0x71,
+0xbe,0x78,0x0, 0x0, 0x58,0x6, 0x9f,0x11,0x7f,0x71,0x80,0x11,0x7d,0x1d,0x12,0x7,
+0x7d,0x48,0xa, 0x7d,0x3d,0x1a,0x26,0x1a,0x24,0x1b,0x1c,0x7f,0x71,0xbe,0xf0,0x5,
+0x40,0xc, 0x7d,0x1d,0x1a,0x2, 0x1a,0x0, 0x7f,0x17,0x2f,0x10,0x7f,0x71,0x7f,0x17,
+0xda,0x3b,0x22,0x1a,0x2, 0x7f,0x17,0x2f,0x10,0x7f,0x71,0x7d,0x1c,0x1a,0x2, 0x1a,
+0x0, 0xbf,0x70,0x22,0x3e,0x54,0x1a,0x4a,0x1a,0x48,0x7d,0x1d,0x1a,0x2, 0x1a,0x0,
+0x9f,0x2, 0x12,0x4, 0x59,0x7f,0x71,0x22,0xca,0x3b,0x7e,0xa3,0x0, 0x90,0x7c,0xca,
+0x5e,0xc0,0xf, 0x7c,0xba,0xc4,0x7c,0x3b,0x5e,0x30,0xf, 0x4c,0xcc,0x78,0x2d,0x12,
+0x9, 0xa5,0xbe,0x30,0x0, 0x38,0x3, 0x2, 0x9, 0xa2,0x6c,0xff,0x7e,0x20,0xff,0x74,
+0x5, 0xac,0xbf,0x19,0x25,0x2, 0xc4,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xf1,0x75,0x1c,
+0x1, 0x75,0x12,0x0, 0xe4,0x7a,0xb3,0xc, 0xf7,0x2, 0x9, 0xa2,0x7e,0x23,0xc, 0xf7,
+0xbe,0x20,0x3c,0x50,0x14,0x7e,0x4, 0xa, 0x0, 0x7a,0x7, 0x0, 0x9e,0x12,0x4d,0x19,
+0x7c,0xb2,0x4, 0x7a,0xb3,0xc, 0xf7,0x80,0xd, 0x7e,0x37,0x0, 0x9e,0xbe,0x34,0xa,
+0x0, 0x68,0x3, 0x12,0x4d,0x11,0x6c,0xff,0x7e,0x20,0xff,0x74,0x5, 0xac,0xbf,0x19,
+0x25,0xa, 0x1, 0x7e,0x34,0x7f,0xff,0x59,0x35,0x9, 0xfd,0x59,0x35,0x9, 0xff,0xb,
+0xf0,0xbe,0xf0,0x2, 0x78,0xe2,0x6c,0xff,0x80,0x23,0x7e,0x50,0x5, 0xac,0x5f,0x7d,
+0x2, 0x2e,0x4, 0x0, 0x7a,0xb, 0x8, 0x30,0x12,0x0, 0x6a,0x1b,0x8, 0x30,0x2e,0x24,
+0x0, 0x7c,0xb, 0x28,0x30,0x12,0x0, 0x6a,0x1b,0x28,0x30,0xb, 0xf0,0xbc,0xcf,0x38,
+0xd9,0xa5,0xbb,0x0, 0x28,0x6c,0xff,0x80,0x1e,0x74,0x5, 0xac,0xbf,0x49,0x45,0x0,
+0x7a,0x59,0x45,0x2, 0xc0,0x49,0x45,0x0, 0x7c,0x59,0x45,0x2, 0xc2,0x9, 0x75,0x0,
+0x7e,0x19,0x75,0x2, 0xc4,0xb, 0xf0,0xbc,0xcf,0x38,0xde,0x21,0x4a,0x6c,0xdd,0x6c,
+0xff,0x6c,0xee,0x7e,0x70,0x5, 0xac,0x7e,0x9, 0xa3,0x2, 0xc4,0x7e,0x50,0x5, 0xac,
+0x5f,0x9, 0xb2,0x0, 0x7e,0xbc,0xba,0x78,0x13,0xbe,0xb0,0xff,0x68,0xe, 0xbe,0xd0,
+0x2, 0x50,0x10,0x2e,0x34,0x2, 0xc0,0x12,0xe, 0x60,0x80,0x7, 0xb, 0xe0,0xbe,0xe0,
+0x2, 0x40,0xd0,0xbe,0xe0,0x2, 0x78,0xb, 0xbe,0xd0,0x2, 0x50,0x6, 0x12,0x3e,0x25,
+0x12,0xe, 0x60,0xb, 0xd0,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xb5,0x6c,0xff,0x12,0x3e,
+0x15,0x2e,0x34,0x9, 0xfd,0x2e,0x14,0x2, 0xc0,0x12,0x3e,0x2f,0x78,0xf0,0xe5,0x12,
+0x70,0x68,0x6c,0xff,0x80,0x60,0x7c,0xef,0x6c,0xdd,0x80,0x21,0x7e,0x90,0x5, 0xac,
+0x9f,0x9, 0xa4,0x2, 0xc4,0x7e,0x70,0x5, 0xac,0x7d,0x9, 0xb3,0x0, 0x7e,0xbc,0xba,
+0x78,0x9, 0xbe,0xa0,0xff,0x68,0x4, 0x7c,0xed,0x80,0x6, 0xb, 0xd0,0xbc,0xcd,0x38,
+0xdb,0xbe,0xe0,0x2, 0x40,0x2, 0x7c,0xef,0x12,0xf, 0xfd,0xbe,0x34,0x18,0xe0,0x50,
+0xa, 0x49,0x24,0x2, 0xc2,0xbe,0x24,0x18,0xe0,0x40,0x12,0x49,0x24,0x0, 0x7a,0x74,
+0x5, 0xac,0xbf,0x59,0x25,0x2, 0xc0,0x59,0x35,0x2, 0xc2,0x80,0x7, 0x7c,0xbf,0x7c,
+0x7e,0x12,0x9, 0xdd,0xb, 0xf0,0xbc,0xcf,0x38,0x9c,0x6c,0xff,0x74,0x5, 0xac,0xbf,
+0x49,0x45,0x2, 0xc0,0x12,0x0, 0x1e,0x59,0x45,0x0, 0x7a,0x49,0x45,0x2, 0xc2,0x12,
+0x0, 0x1e,0x59,0x45,0x0, 0x7c,0x9, 0x75,0x2, 0xc4,0x19,0x75,0x0, 0x7e,0xb, 0xf0,
+0xbe,0xf0,0x2, 0x78,0xd7,0xbe,0xc0,0x0, 0x28,0x25,0x6c,0xff,0x74,0x5, 0xac,0xbf,
+0x49,0x45,0x0, 0x7a,0x59,0x45,0x2, 0xb6,0x49,0x45,0x0, 0x7c,0x59,0x45,0x2, 0xb8,
+0x9, 0x75,0x0, 0x7e,0x19,0x75,0x2, 0xba,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xdd,0x75,
+0x9, 0x1, 0xda,0x3b,0x22,0x12,0xe, 0xaf,0x78,0x32,0x20,0xc, 0x2f,0x6c,0xaa,0x7e,
+0x44,0x7f,0xff,0x7e,0x70,0x4, 0xac,0x7a,0x59,0x43,0xc, 0xe1,0x59,0x43,0xc, 0xe3,
+0x6d,0x33,0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0xc, 0xdd,0x7e,0x34,0x1, 0x0, 0x59,
+0x32,0xc, 0xd9,0xb, 0xa0,0xbe,0xa0,0x2, 0x78,0xd5,0xd2,0xc, 0x22,0xca,0x3b,0x7c,
+0xe7,0x7c,0xdb,0x75,0x24,0x0, 0x9f,0x11,0x7a,0x1f,0xa, 0xb, 0x7a,0x1f,0xa, 0xf,
+0x7a,0x1f,0xa, 0x13,0x12,0x3c,0x6, 0x74,0x5, 0xac,0xbd,0x49,0x15,0x2, 0xc0,0x49,
+0x5, 0x2, 0xc2,0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x7, 0x74,0x5, 0xac,0xbd,0x9, 0xf5,
+0x2, 0xc4,0xbe,0xf0,0x2, 0x40,0x2, 0x6c,0xff,0x12,0x3c,0x6, 0x74,0x4, 0xac,0xbf,
+0x49,0x15,0xc, 0xe1,0x49,0x5, 0xc, 0xe3,0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x9, 0x7e,
+0x27,0xa, 0x7, 0x7e,0x34,0x0, 0xdc,0xad,0x23,0x7e,0x17,0x0, 0x9e,0x12,0x4, 0x6,
+0x7a,0x35,0x22,0xbe,0x34,0x0, 0xa, 0x50,0x7, 0x7e,0x34,0x0, 0xa, 0x7a,0x35,0x22,
+0x75,0x24,0x0, 0x6c,0xcc,0x7e,0x90,0x14,0xac,0x9f,0x49,0x24,0xb, 0x3, 0x49,0x34,
+0xb, 0x7, 0xbd,0x32,0x78,0xe, 0x49,0x54,0xb, 0x5, 0x49,0x34,0xb, 0x9, 0xbd,0x35,
+0x78,0x2, 0xa1,0x41,0x74,0x5, 0xac,0xbe,0x49,0x15,0x0, 0x7c,0x1e,0x14,0x1e,0x14,
+0x1e,0x14,0x1e,0x14,0x6d,0x0, 0x7a,0xf, 0xa, 0x13,0xbe,0x8, 0x0, 0x18,0x48,0xa,
+0x7e,0xf, 0xa, 0x13,0xbe,0x8, 0x1, 0x76,0x8, 0x5, 0x75,0x25,0x34,0x80,0x1c,0x7e,
+0xf, 0xa, 0x13,0xbe,0x8, 0x0, 0x31,0x48,0xa, 0x7e,0xf, 0xa, 0x13,0xbe,0x8, 0x1,
+0x5d,0x8, 0x5, 0x75,0x25,0x20,0x80,0x3, 0x75,0x25,0x19,0x49,0x35,0x0, 0x7a,0x12,
+0xe, 0xa3,0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0xf, 0x74,0x5, 0xac,0xbe,0x49,0x35,0x0,
+0x7c,0x12,0xe, 0xa3,0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x5, 0x12,0xe, 0x2f,0x7a,
+0x1f,0xa, 0x13,0x7d,0x3, 0x7e,0x1f,0xa, 0xf, 0x7d,0x13,0x2d,0x10,0x7a,0x17,0xa,
+0x17,0xbe,0x14,0x0, 0x7, 0x8, 0x3d,0xbe,0x18,0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,
+0x1f,0xa, 0xf, 0x7e,0x1f,0xa, 0x13,0xbe,0x18,0x0, 0x0, 0x78,0xa, 0x7e,0x1f,0xa,
+0x13,0xb, 0x1c,0x7a,0x1f,0xa, 0x13,0x12,0xe, 0x39,0x8, 0x4, 0xb, 0xc0,0x80,0x14,
+0x7e,0x1f,0xa, 0xb, 0xbe,0x18,0x0, 0x64,0x8, 0xa, 0x12,0x5b,0x8e,0x12,0xe, 0x4e,
+0x8, 0x2, 0x5, 0x24,0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x3, 0x49,0x35,0xb, 0x7,
+0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0xf, 0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x5, 0x49,
+0x35,0xb, 0x9, 0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0x13,0x7e,0x1f,0xa, 0xf, 0xbe,0x18,
+0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,0x1f,0xa, 0xf, 0x7e,0x1f,0xa, 0x13,0xbe,0x18,
+0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,0x1f,0xa, 0x13,0x12,0xe, 0x39,0x8, 0x4, 0xb,
+0xc0,0x80,0x14,0x7e,0x1f,0xa, 0xb, 0xbe,0x18,0x0, 0x64,0x8, 0xa, 0x12,0x5b,0x8e,
+0x12,0xe, 0x4e,0x8, 0x2, 0x5, 0x24,0x74,0x14,0xac,0xbf,0x12,0xe, 0x6e,0x7d,0xf3,
+0xbe,0xf7,0xa, 0x17,0x8, 0x2, 0xa1,0x2e,0xe5,0x25,0xbe,0xb0,0x34,0x7e,0x1f,0xa,
+0xb, 0x40,0x9, 0x12,0x5b,0x32,0x7e,0x8, 0x0, 0x5a,0x80,0x7, 0x12,0x5b,0x32,0x7e,
+0x8, 0x0, 0x4b,0x12,0x4, 0x59,0x7a,0x1f,0xa, 0xb, 0xe5,0x24,0x60,0x2, 0x81,0xe2,
+0x4c,0xcc,0x68,0x2, 0x81,0xe2,0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0x3, 0x6d,0x22,
+0x49,0x15,0xb, 0xb, 0x6d,0x0, 0x9f,0x1, 0x7a,0xf, 0xa, 0xf, 0x12,0x57,0xea,0x74,
+0x14,0xac,0xbf,0x49,0x15,0xb, 0x3, 0x12,0x5b,0x4, 0x49,0x15,0x0, 0x7a,0x6d,0x0,
+0x2f,0x10,0xbe,0x18,0x0, 0x0, 0x48,0x19,0x74,0x6, 0xac,0xbf,0x49,0xe5,0xc, 0xed,
+0x4d,0xee,0x78,0xd, 0x12,0x0, 0x10,0x7d,0xe3,0x74,0x5, 0xac,0xbe,0x59,0xe5,0x0,
+0x7a,0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0x5, 0x6d,0x22,0x74,0x14,0xac,0xbf,0x12,
+0x57,0xb2,0x9f,0x1, 0x7a,0xf, 0xa, 0x13,0x12,0x57,0xea,0x74,0x14,0xac,0xbf,0x49,
+0x15,0xb, 0x5, 0x12,0x5b,0x4, 0x49,0x15,0x0, 0x7c,0x6d,0x0, 0x2f,0x10,0xbe,0x18,
+0x0, 0x0, 0x48,0x17,0x74,0x6, 0xac,0xbf,0x49,0x15,0xc, 0xed,0x4d,0x11,0x78,0xb,
+0x12,0x0, 0x10,0x74,0x5, 0xac,0xbe,0x59,0x35,0x0, 0x7c,0x7e,0x90,0x6, 0xac,0x9f,
+0x49,0x54,0xc, 0xe9,0x4d,0x55,0x78,0x14,0x7e,0x1f,0xa, 0xf, 0x7d,0x53,0x59,0x54,
+0xc, 0xe9,0x7e,0x1f,0xa, 0x13,0x7d,0x53,0x59,0x54,0xc, 0xeb,0x49,0x34,0xc, 0xe9,
+0x1a,0x26,0x1a,0x24,0x7e,0x7f,0xa, 0xf, 0x7f,0x7, 0x12,0xe, 0x9b,0x48,0x11,0x49,
+0x34,0xc, 0xeb,0x1a,0x26,0x1a,0x24,0x7e,0xf, 0xa, 0x13,0x12,0xe, 0x9b,0x58,0x32,
+0x74,0x6, 0xac,0xbf,0x49,0x35,0xc, 0xed,0xbe,0x34,0x0, 0x3, 0x58,0xe, 0x7e,0x50,
+0x6, 0xac,0x5f,0x2e,0x24,0xc, 0xed,0xb, 0x34,0x1b,0x28,0x30,0x7d,0x3f,0x74,0x6,
+0xac,0xbf,0x59,0x35,0xc, 0xe9,0x7e,0x1f,0xa, 0x13,0x74,0x6, 0xac,0xbf,0x59,0x35,
+0xc, 0xeb,0xe5,0x24,0xbe,0xb0,0x2, 0x40,0xe, 0x74,0x6, 0xac,0xbf,0x49,0x45,0xc,
+0xed,0xbe,0x44,0x0, 0x2, 0x48,0x5, 0x75,0x24,0x0, 0x80,0xc, 0x4d,0x44,0x78,0x8,
+0x7e,0x34,0x0, 0x1, 0x59,0x35,0xc, 0xed,0xbe,0xc0,0x2, 0x40,0xf, 0x7e,0x50,0x6,
+0xac,0x5f,0x49,0x32,0xc, 0xed,0xbe,0x34,0x0, 0x2, 0x48,0x4, 0x6c,0xcc,0x80,0x33,
+0x4d,0x33,0x78,0x2f,0x7e,0x34,0x0, 0x1, 0x59,0x32,0xc, 0xed,0x80,0x25,0x7e,0x34,
+0x0, 0x2, 0x74,0x6, 0xac,0xbf,0x59,0x35,0xc, 0xed,0x75,0x24,0x0, 0x6c,0xcc,0x80,
+0x12,0x6d,0x33,0x74,0x6, 0xac,0xbf,0x59,0x35,0xc, 0xe9,0x59,0x35,0xc, 0xeb,0x59,
+0x35,0xc, 0xed,0x7e,0x35,0x22,0xbe,0x34,0x1, 0x0, 0x28,0x7, 0x7e,0x34,0x1, 0x0,
+0x7a,0x35,0x22,0x74,0x5, 0xac,0xbd,0x49,0x25,0x2, 0xc0,0x74,0x5, 0xac,0xbe,0x12,
+0x3c,0x77,0x7a,0x37,0xa, 0x9, 0xe5,0x24,0x60,0x13,0x12,0x5b,0x5d,0x74,0x14,0x1e,
+0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x80,0x3, 0x12,0x5a,0xf4,
+0x7a,0x37,0xa, 0x9, 0x7e,0x90,0x5, 0xac,0x9d,0x49,0x34,0x2, 0xc0,0x74,0x5, 0xac,
+0xbe,0x49,0x25,0x0, 0x7a,0xbd,0x23,0x28,0x11,0x7d,0x14,0x2e,0x14,0x2, 0xc0,0x7d,
+0x23,0x2e,0x27,0xa, 0x9, 0x1b,0x18,0x20,0x80,0xd, 0x7d,0x24,0x2e,0x24,0x2, 0xc0,
+0x9e,0x37,0xa, 0x9, 0x1b,0x28,0x30,0x49,0x24,0x2, 0xc2,0x12,0x3e,0xc, 0x7a,0x37,
+0xa, 0x9, 0x4c,0xcc,0x68,0x13,0x12,0x5b,0x5d,0x74,0xa, 0x1e,0x34,0x1e,0x24,0x50,
+0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x80,0x3, 0x12,0x5a,0xf4,0x7a,0x37,0xa, 0x9,
+0x7e,0x30,0x5, 0xac,0x3d,0x49,0x21,0x2, 0xc2,0x12,0xf, 0xfd,0xbd,0x32,0x7d,0x51,
+0x28,0xf, 0x2e,0x54,0x2, 0xc2,0x7d,0x2, 0x2e,0x7, 0xa, 0x9, 0x1b,0x58,0x0, 0x80,
+0xb, 0x2e,0x54,0x2, 0xc2,0x9e,0x27,0xa, 0x9, 0x1b,0x58,0x20,0x49,0x24,0x0, 0x7a,
+0x74,0x4, 0xac,0xbf,0x59,0x25,0xc, 0xe1,0x59,0x35,0xc, 0xe3,0xda,0x3b,0x22,0x9d,
+0x32,0x12,0x0, 0x2e,0x1a,0x26,0x1a,0x24,0x22,0x7e,0xb4,0x0, 0x64,0x7e,0x7f,0xa,
+0x13,0x7f,0x17,0x7d,0x1b,0x12,0x3, 0xfd,0x7e,0x6f,0xa, 0xf, 0x7f,0x6, 0x12,0x4,
+0x59,0x7f,0x1, 0x7a,0xf, 0xa, 0xb, 0xe5,0x25,0xa, 0x3b,0x6d,0x22,0xbf,0x10,0x22,
+0x7e,0x30,0x5, 0xac,0x3d,0x2e,0x14,0x9, 0xfd,0x74,0x5, 0x2, 0x4, 0x8d,0x49,0x35,
+0xb, 0xb, 0x49,0x25,0xb, 0xd, 0x49,0x15,0xb, 0x3, 0x49,0x5, 0xb, 0x5, 0xca,0x3b,
+0x7d,0x61,0x7a,0x35,0x26,0x7d,0x32,0x9d,0x30,0x12,0x0, 0x2e,0x7d,0x73,0x7e,0x35,
+0x26,0x9d,0x36,0x12,0x0, 0x2e,0x2d,0x37,0xda,0x3b,0x22,0x12,0x3, 0xec,0xbe,0x18,
+0x0, 0x0, 0x22,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x22,0x12,0xe, 0xba,0x7e,
+0xb3,0x0, 0x90,0x54,0xf, 0x22,0x7a,0xb3,0xb, 0x88,0x60,0x2a,0x7e,0xb3,0x6, 0xca,
+0x20,0xe7,0x3d,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x12,0x41,
+0x1d,0x7e,0xb3,0x6, 0xca,0x54,0xc7,0x44,0x10,0x12,0x17,0x72,0x12,0x5b,0x83,0x44,
+0x80,0x7a,0xb3,0x6, 0xca,0x22,0x7e,0xb3,0x6, 0xca,0x30,0xe7,0x13,0x54,0xc7,0x44,
+0x28,0x12,0x17,0x72,0x12,0x5b,0x83,0x54,0x7f,0x7a,0xb3,0x6, 0xca,0x2, 0x2f,0x8e,
+0x22,0xca,0x79,0x7e,0x77,0x0, 0x92,0x4d,0x77,0x78,0x32,0xe4,0x12,0xe, 0xac,0xbe,
+0xb0,0x0, 0x28,0x5, 0x75,0xb, 0x0, 0xe1,0xa6,0x7e,0xb3,0x0, 0x94,0x20,0xe0,0x2,
+0xe1,0xa6,0x7e,0x73,0x0, 0x99,0xbe,0x71,0xb, 0x38,0x7b,0x75,0xb, 0x0, 0x7e,0x34,
+0x0, 0x1, 0x7a,0x37,0x0, 0x92,0x74,0x1, 0x12,0xe, 0xb6,0x80,0x69,0xbe,0x74,0x0,
+0x1, 0x78,0x14,0x74,0x1, 0x12,0xe, 0xac,0x68,0x5c,0x12,0x4d,0x9, 0x12,0xe, 0xb6,
+0x75,0xd, 0x27,0xd2,0x5, 0x80,0x4f,0xbe,0x74,0x0, 0x3, 0x78,0x49,0x7e,0xb3,0x0,
+0x9b,0x12,0x4a,0x48,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x12,
+0xf, 0xf3,0x12,0x2f,0x66,0x74,0x2, 0x12,0xf, 0xcd,0x12,0x49,0xe0,0x12,0x0, 0x27,
+0xc2,0xa8,0xc2,0x95,0xa9,0xd0,0xca,0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,0x4a,0x30,
+0x12,0x1c,0xcb,0x12,0x4d,0x9, 0x7a,0xb3,0xb, 0x88,0x74,0xa, 0x7a,0xb3,0x6, 0xda,
+0x7e,0xb3,0x6, 0xda,0x70,0xfa,0x7e,0x77,0x0, 0x92,0x4d,0x77,0x78,0xb, 0x80,0x4,
+0xe4,0x12,0xf, 0xcd,0x30,0x5, 0xf9,0x80,0xc, 0xbe,0x74,0x0, 0x1, 0x78,0x6, 0x12,
+0xf, 0xf3,0x12,0x2f,0xac,0x75,0xd, 0x0, 0xc2,0x5, 0xda,0x79,0x22,0x70,0x5, 0x43,
+0x87,0x1, 0x80,0x1a,0xb4,0x1, 0xb, 0xa9,0xd0,0xce,0xa9,0xd7,0xc9,0x43,0x87,0x2,
+0x80,0xc, 0xb4,0x2, 0xd, 0xa9,0xd0,0xce,0xa9,0xc7,0xc9,0x43,0x87,0x2, 0x0, 0x0,
+0x0, 0x0, 0x22,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x20,0x93,0xf9,0x22,0x7e,0x90,0x5,
+0xac,0x9e,0x49,0x34,0x0, 0x7c,0x22,0x7d,0xf3,0xbe,0xf4,0x0, 0x50,0x38,0x28,0x7e,
+0x54,0x0, 0x50,0x9d,0x5f,0x12,0x11,0x3b,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x28,
+0x4, 0x9f,0x22,0x80,0x8, 0x7e,0x18,0x0, 0x2d,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0,
+0x0, 0x50,0x64,0x9f,0x22,0x80,0x60,0xbe,0xf4,0x1, 0x2f,0x40,0x20,0x12,0x11,0x35,
+0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x40,0x4, 0x7e,0x28,0x0, 0x2c,0xbe,0x28,0x0,
+0x2d,0x28,0x4, 0x7e,0x28,0x0, 0x2d,0x2e,0x28,0x1, 0x61,0x80,0x3a,0xbe,0xf4,0x0,
+0xbf,0x50,0x23,0x7e,0x54,0x0, 0xbf,0x9d,0x5f,0x12,0x10,0xa0,0xbe,0x28,0x0, 0xc7,
+0x38,0x8, 0x7e,0x18,0x0, 0xc7,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0, 0x2d,0x50,0x17,
+0x7e,0x28,0x0, 0x2d,0x80,0x11,0x12,0x10,0x9a,0x2e,0x28,0x0, 0xc7,0xbe,0x28,0x1,
+0x61,0x28,0x4, 0x7e,0x28,0x1, 0x61,0x7d,0x35,0x22,0x7d,0x5f,0x9e,0x54,0x0, 0xbf,
+0x6d,0x44,0x7e,0x14,0x1, 0x81,0x7f,0x12,0x12,0x3, 0xfd,0x7f,0x21,0x7c,0xba,0x7c,
+0xa9,0xa, 0x48,0x22,0x7d,0xf3,0xbe,0xf4,0x0, 0x50,0x38,0x20,0x7e,0x54,0x0, 0x50,
+0x9d,0x5f,0x12,0x11,0x3b,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x28,0x4, 0x9f,0x22,
+0x80,0x60,0x7e,0x18,0x0, 0x2d,0x9f,0x12,0x7f,0x21,0x80,0x56,0xbe,0xf4,0x1, 0x2f,
+0x40,0x16,0x12,0x11,0x35,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x40,0x4, 0x7e,0x28,
+0x0, 0x2c,0x2e,0x28,0x1, 0x61,0x80,0x3a,0xbe,0xf4,0x0, 0xbf,0x50,0x23,0x7e,0x54,
+0x0, 0xbf,0x9d,0x5f,0x12,0x10,0xa0,0xbe,0x28,0x0, 0xc7,0x38,0x8, 0x7e,0x18,0x0,
+0xc7,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0, 0x2d,0x50,0x17,0x7e,0x28,0x0, 0x2d,0x80,
+0x11,0x12,0x10,0x9a,0x2e,0x28,0x0, 0xc7,0xbe,0x28,0x1, 0x61,0x28,0x4, 0x7e,0x28,
+0x1, 0x61,0x7d,0x35,0x22,0x7d,0x5f,0x9e,0x54,0x1, 0x2f,0x6d,0x44,0x7e,0x14,0x2,
+0x7, 0x22,0xca,0xf8,0x6c,0xff,0x80,0x1d,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7a,
+0x12,0x10,0x7, 0x74,0x5, 0xac,0xbf,0x59,0x35,0x0, 0x7a,0x49,0x35,0x0, 0x7c,0x12,
+0x10,0xb4,0x12,0x3c,0x51,0x12,0x38,0x94,0x48,0xde,0xda,0xf8,0x22,0xca,0xf8,0x12,
+0x49,0xe0,0x7e,0x34,0x2, 0xd4,0x7a,0x37,0x6, 0xd8,0x12,0x4c,0x52,0xe4,0x12,0x43,
+0xb3,0x12,0x4d,0x63,0x12,0x3e,0x73,0x12,0x47,0xb1,0xe4,0x12,0x3f,0xc9,0x12,0x1c,
+0xc2,0x12,0x4e,0xf1,0x7e,0xb3,0xb, 0x9f,0xb4,0x1, 0x2, 0x80,0x2, 0x41,0x84,0x7e,
+0xf3,0x6, 0x4d,0x4c,0xff,0x68,0x36,0xbe,0xf0,0x1, 0x78,0xa, 0xe4,0x7a,0xb3,0x6,
+0x4d,0x12,0x3e,0xc9,0x80,0x12,0xbe,0xf0,0x3, 0x78,0x5, 0x12,0x1b,0xdc,0x80,0x8,
+0xbe,0xf0,0x2, 0x78,0x3, 0x12,0x17,0xff,0x7e,0x34,0xa, 0xd1,0x12,0x14,0xea,0x7e,
+0x34,0xa, 0xbb,0x12,0x14,0xea,0x7e,0x34,0xa, 0x8d,0x12,0x14,0xea,0x12,0x48,0x4c,
+0x12,0x37,0xfc,0x12,0x1f,0xf9,0x44,0x1, 0x7a,0xb3,0x6, 0xd7,0x12,0x15,0x1d,0x12,
+0x2f,0x45,0x12,0x27,0xfc,0x12,0x30,0xd8,0x12,0x23,0x3e,0x12,0x2a,0xa0,0x12,0x3c,
+0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x3, 0x12,0x14,0xfa,0x12,0xe, 0xaf,0x12,0x0,
+0x3e,0x7e,0x34,0x3, 0x5c,0x7e,0x24,0x5, 0x34,0x7e,0xb3,0x6, 0xc8,0x12,0x2d,0xc3,
+0x12,0x0, 0x6, 0x12,0x26,0x96,0x12,0x11,0x42,0x12,0x38,0x63,0x12,0x2d,0x3d,0x12,
+0x12,0x87,0x7e,0xb3,0xb, 0x38,0x60,0x8, 0xe4,0x7a,0xb3,0xb, 0x38,0x12,0x28,0x8c,
+0x12,0x3f,0x3d,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x3, 0x12,0x14,0xfa,0x12,0x18,0x72,
+0x12,0x2e,0xe5,0x12,0x28,0x97,0x12,0x28,0x27,0x12,0x38,0xa1,0x12,0x3c,0x80,0x12,
+0x7, 0x98,0x12,0x57,0xfa,0x12,0x51,0x3e,0x12,0x53,0xbf,0x7e,0xb3,0x6, 0x67,0x30,
+0xe1,0x3, 0x12,0x14,0xfa,0x7e,0xb3,0x0, 0x9a,0x12,0x41,0xc9,0x12,0xf, 0x1, 0x12,
+0x3e,0xf1,0x21,0x94,0xda,0xf8,0x22,0xca,0x3b,0x7e,0xb3,0x0, 0x90,0x7c,0xab,0x5e,
+0xa0,0xf, 0x7a,0xa1,0x25,0xc4,0x54,0xf, 0x54,0xf, 0xf5,0x26,0x7e,0x77,0x0, 0x6a,
+0x7e,0x67,0x0, 0x6c,0x7e,0xb3,0x0, 0x68,0xf5,0x23,0x7e,0xb3,0x0, 0x69,0xf5,0x24,
+0x4c,0xaa,0x78,0x4, 0xc2,0x4, 0x81,0x72,0xe5,0x25,0xbe,0xb0,0x1, 0x28,0x58,0x75,
+0x22,0x0, 0x80,0x48,0x12,0x14,0xe3,0x49,0x45,0x0, 0x7a,0x7a,0x45,0x2f,0x49,0x35,
+0x0, 0x7c,0x12,0x15,0x12,0x28,0xa, 0x12,0x14,0xf2,0x28,0x2e,0xbe,0x35,0x31,0x28,
+0x29,0x12,0x14,0x9b,0xbd,0x36,0x28,0x22,0x7a,0x65,0x29,0x12,0x17,0xf7,0x50,0x3,
+0x12,0x17,0xef,0x7e,0x35,0x33,0x12,0x14,0xc0,0x12,0x14,0xe3,0x59,0x35,0x0, 0x7a,
+0x12,0x14,0xbd,0x12,0x14,0xe3,0x59,0x35,0x0, 0x7c,0x5, 0x22,0xe5,0x25,0xbe,0xb1,
+0x22,0x38,0xb1,0xc2,0x4, 0x81,0x72,0xe5,0x25,0xb4,0x1, 0x22,0xe5,0x26,0x70,0x1e,
+0x12,0x15,0x7, 0x28,0xe, 0x12,0x14,0xf2,0x28,0x5, 0xbe,0x35,0x31,0x38,0x4, 0xc2,
+0x4, 0x81,0x72,0x12,0x14,0x9b,0x7a,0x35,0x29,0x12,0x5a,0xd1,0x81,0x9, 0xe5,0x25,
+0xb4,0x1, 0x2, 0x80,0x2, 0x81,0x9, 0x12,0x15,0x7, 0x28,0xe, 0x12,0x14,0xf2,0x28,
+0x5, 0xbe,0x35,0x31,0x38,0x4, 0xc2,0x4, 0x81,0x72,0x12,0x14,0x9b,0x9e,0x37,0x0,
+0x60,0x12,0x0, 0x2e,0x7a,0x35,0x2b,0x7e,0x35,0x33,0x9e,0x37,0x0, 0x50,0x7e,0x25,
+0x35,0x9e,0x27,0x0, 0x52,0x12,0x14,0x7e,0x7a,0x35,0x2d,0x7e,0x37,0x0, 0x70,0xbe,
+0x35,0x2d,0x50,0x28,0x7e,0x35,0x27,0x9e,0x37,0x0, 0x54,0x12,0x0, 0x2e,0x7e,0xa1,
+0x23,0x74,0x5, 0xa4,0xbd,0x35,0x58,0xc, 0x7e,0xa0,0x2, 0xe5,0x23,0xa4,0xf5,0x23,
+0xd2,0x4, 0x80,0x8, 0x7e,0xb3,0x0, 0x68,0xf5,0x23,0xc2,0x4, 0x30,0x4, 0x30,0xe5,
+0x23,0xa, 0x3b,0xbe,0x35,0x2b,0x28,0x4, 0x6d,0x33,0x80,0x27,0xe5,0x24,0xa, 0x3b,
+0xbe,0x35,0x2b,0x28,0x14,0x7e,0x25,0x2b,0x7e,0x34,0x0, 0x64,0xad,0x23,0xe5,0x24,
+0xa, 0x1b,0x6d,0x0, 0x12,0x4, 0x8, 0x80,0xa, 0x7e,0x34,0x0, 0x64,0x80,0x4, 0x7e,
+0x34,0x0, 0x64,0x7a,0x35,0x2b,0x7e,0xf7,0x0, 0x60,0x7d,0x1f,0x6d,0x0, 0x7e,0x35,
+0x27,0x6d,0x22,0x9f,0x10,0x7e,0x15,0x2b,0x12,0x3, 0xfd,0x12,0x27,0xba,0x7f,0x1,
+0x7d,0x3f,0x6d,0x22,0x2f,0x10,0x7a,0x35,0x29,0x7e,0x35,0x29,0xbd,0x36,0x38,0x7,
+0x7e,0x25,0x27,0xbd,0x26,0x28,0x5, 0x7a,0x65,0x29,0x80,0xb, 0xbe,0x34,0x0, 0x1,
+0x50,0x5, 0x6d,0x33,0x7a,0x35,0x29,0x12,0x17,0xf7,0x50,0x3, 0x12,0x17,0xef,0x7e,
+0x35,0x33,0x12,0x14,0xc0,0x7a,0x37,0x0, 0x7a,0x12,0x14,0xbd,0x7d,0x23,0x7a,0x27,
+0x0, 0x7c,0x7e,0x37,0x0, 0x7a,0x7a,0x35,0x2f,0x7a,0x25,0x31,0x7d,0x27,0x12,0x14,
+0x75,0x7a,0x35,0x33,0x7e,0x35,0x31,0x7d,0x27,0x12,0x14,0x75,0x7a,0x35,0x35,0x7e,
+0x35,0x29,0x7a,0x37,0x0, 0x60,0x7e,0x27,0x0, 0x70,0xbe,0x25,0x2d,0x50,0x3, 0x12,
+0x5a,0xd1,0xda,0x3b,0x22,0x7d,0x12,0x6d,0x0, 0x6d,0x22,0x9f,0x10,0x22,0x7d,0x52,
+0x7d,0x43,0x7d,0x35,0x12,0x17,0x69,0x7f,0x71,0x7d,0x34,0x12,0x17,0x69,0x2f,0x17,
+0x7c,0xb4,0x12,0x1, 0x20,0x12,0x1, 0x9a,0x2, 0x1, 0x5d,0x7e,0x35,0x2f,0x7d,0x27,
+0x12,0x14,0x75,0x7a,0x35,0x33,0x7e,0x35,0x31,0x7d,0x27,0x12,0x14,0x75,0x7d,0x23,
+0x7a,0x25,0x35,0x7e,0x35,0x33,0x12,0x14,0x7e,0x7a,0x35,0x27,0x22,0x7e,0x35,0x35,
+0x7e,0x25,0x29,0x7e,0x15,0x27,0x7d,0x7, 0x7d,0xf0,0x7d,0xe1,0x7d,0x12,0x1a,0x26,
+0x1a,0x24,0x12,0x3, 0xfd,0x7d,0x1e,0x6d,0x0, 0x12,0x4, 0x59,0x7d,0x1f,0x6d,0x0,
+0x2f,0x10,0x22,0x7e,0xa1,0x22,0x74,0x5, 0xa4,0x22,0x7e,0x24,0x0, 0x16,0xe4,0x2,
+0x4, 0xeb,0x7e,0x37,0x0, 0x72,0xbe,0x35,0x2f,0x22,0x7e,0xb3,0x0, 0x90,0x54,0xf0,
+0x44,0x2, 0x7a,0xb3,0x0, 0x90,0x22,0x7e,0x37,0x0, 0x7a,0x7a,0x35,0x2f,0x7e,0x37,
+0x0, 0x7c,0x7a,0x35,0x31,0x7e,0x73,0x6, 0xc7,0xbe,0x70,0x0, 0x22,0xca,0x3b,0x12,
+0x17,0xe0,0x30,0xe1,0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0xc, 0x7e,0xb3,0xd, 0x3f,
+0x70,0x14,0x7e,0xb3,0xd, 0x3c,0x70,0xe, 0x7e,0xb3,0x6, 0x67,0x20,0xe0,0x2, 0xc1,
+0x61,0x20,0xe2,0x2, 0xc1,0x61,0x7c,0xba,0x30,0xe1,0x8, 0x7e,0xb3,0x6, 0x12,0xf5,
+0x28,0x80,0x6, 0x7e,0xb3,0x6, 0x13,0xf5,0x28,0x7c,0xba,0x30,0xe1,0x7, 0x7e,0xb3,
+0x6, 0x67,0x30,0xe2,0x5, 0x75,0x29,0x1, 0x80,0x3, 0x75,0x29,0x2, 0x7e,0xb3,0xd,
+0x3c,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x3c,0x7e,0xb3,0x6, 0x67,0x30,
+0xe5,0xb, 0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x12,0x17,0xd2,
+0x4e,0x70,0x2, 0x1b,0x28,0x30,0x12,0x5a,0x97,0x7e,0x73,0x6, 0xd6,0xa, 0x57,0x12,
+0x17,0x8f,0x12,0x5a,0xb5,0x75,0x25,0x0, 0xc1,0x2d,0x12,0x43,0x6b,0x75,0x26,0x0,
+0x80,0x72,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0x6c,0x77,0x12,0x17,0xa0,0x80,0x4, 0xe4,
+0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x75,0x24,0x0, 0x80,0x50,0x12,0x5a,0xa1,
+0x9, 0x23,0x6, 0x96,0x7a,0x21,0x27,0x7e,0x71,0x25,0x74,0x3, 0xac,0x7b,0xe5,0x26,
+0xa, 0x2b,0x2d,0x23,0x7e,0x34,0x0, 0x58,0xad,0x32,0x7e,0x30,0x4, 0xac,0x23,0x2d,
+0x13,0x59,0x71,0x0, 0xa8,0x59,0x61,0x0, 0xa6,0x7e,0x73,0x6, 0xd6,0xbe,0x70,0x2,
+0x38,0x19,0xa, 0x7, 0x7e,0x54,0x0, 0x3, 0x9d,0x50,0x2e,0x14,0x0, 0xa6,0x12,0x2d,
+0xbb,0x60,0x5, 0x2f,0x11,0x14,0x78,0xfb,0x12,0x17,0xe7,0x5, 0x24,0x12,0x17,0x61,
+0x38,0xab,0x5, 0x26,0xe5,0x28,0xbe,0xb1,0x26,0x38,0x87,0x5, 0x25,0xe5,0x29,0xbe,
+0xb1,0x25,0x28,0x2, 0xa1,0xaa,0x7e,0x37,0x6, 0xa, 0x99,0x34,0x12,0x17,0xd2,0x5e,
+0x70,0xfd,0x1b,0x28,0x30,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0xa, 0x1b,0x3e,0x14,0x12,
+0x37,0x1a,0x12,0x5a,0x97,0x7e,0xb3,0x6, 0xca,0x12,0x17,0x89,0x12,0x5a,0xb5,0xe1,
+0x57,0x7e,0xb3,0x6, 0xc9,0x30,0xe0,0x51,0x7e,0xb3,0x6, 0x67,0x30,0xe5,0x5, 0x12,
+0x17,0x5a,0x50,0x11,0x74,0x2, 0x12,0x17,0xda,0x12,0x43,0x6b,0x12,0x17,0x97,0x80,
+0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0xe4,0x12,0x17,0xda,0x75,0x24,
+0x0, 0x80,0x17,0x12,0x5a,0xa1,0x9, 0xa3,0x6, 0x96,0x7a,0xa1,0x27,0x74,0x4, 0xa4,
+0x59,0x75,0x3, 0x5e,0x59,0x65,0x3, 0x5c,0x5, 0x24,0x12,0x17,0x61,0x38,0xe4,0x7e,
+0xb3,0x6, 0x67,0x30,0xe5,0x3, 0x12,0x17,0x97,0x75,0x24,0x0, 0xe1,0x4a,0xe5,0x24,
+0xa, 0x3b,0x9, 0xb3,0x6, 0x96,0xf5,0x27,0x12,0x17,0xe0,0x30,0xe1,0x19,0x7e,0xb3,
+0x6, 0xca,0xc4,0x23,0x54,0x7, 0xbe,0xb0,0x2, 0x38,0x22,0x12,0x5a,0x76,0x60,0x16,
+0x2f,0x11,0x14,0x78,0xfb,0x80,0xf, 0x12,0x23,0x28,0x38,0x11,0x12,0x5a,0x76,0x60,
+0x5, 0x2f,0x11,0x14,0x78,0xfb,0x59,0x34,0x0, 0x2, 0x1b,0x48,0x20,0x7c,0xba,0x30,
+0xe0,0x46,0x7e,0x31,0x27,0x74,0x2, 0xac,0x3b,0x49,0xf1,0x5, 0x90,0x7d,0x3f,0x1a,
+0x36,0x1a,0xe6,0x7e,0x11,0x27,0x74,0x4, 0xac,0x1b,0x49,0x30,0x3, 0x5e,0x49,0x20,
+0x3, 0x5c,0x7f,0x21,0x9f,0x27,0x59,0x50,0x4, 0x16,0x59,0x40,0x4, 0x14,0x49,0xf1,
+0x5, 0x34,0x7d,0x1f,0x1a,0x12,0x1a,0xe2,0x7e,0x31,0x27,0x74,0x4, 0xac,0x3b,0x2e,
+0x14,0x3, 0x5c,0x9f,0x17,0x12,0x17,0xe7,0x5, 0x24,0x12,0x17,0x61,0x28,0x2, 0xc1,
+0xbe,0x7e,0x37,0x6, 0xc, 0x99,0x34,0xda,0x3b,0x22,0x30,0xa, 0x2, 0xd3,0x22,0xc3,
+0x22,0x7e,0x73,0x6, 0xc8,0xbe,0x71,0x24,0x22,0x1a,0x26,0x1a,0x24,0x7f,0x1, 0x2,
+0x3, 0xec,0x7a,0xb3,0x6, 0xca,0x7e,0x44,0x12,0x0, 0xb, 0x48,0x50,0x5e,0xa0,0x1f,
+0x1b,0x48,0x50,0x7e,0x73,0x6, 0xca,0x7c,0xb7,0xc4,0x23,0x54,0x7, 0xa, 0x5b,0xc4,
+0x23,0x54,0xe0,0x7c,0xab,0xe4,0x22,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0x7e,0x70,0x1,
+0x24,0xff,0x92,0xb, 0xc2,0xc6,0xd2,0xee,0xa9,0xd6,0xf7,0xd2,0xfe,0x4c,0x77,0x68,
+0x15,0xc2,0xaf,0x12,0x17,0xd2,0x4e,0x70,0x1, 0x1b,0x28,0x30,0x7e,0x37,0x6, 0x0,
+0x99,0x34,0xd2,0xaf,0x80,0x9, 0x12,0x17,0xd2,0x4e,0x70,0x1, 0x1b,0x28,0x30,0xc2,
+0xa, 0x22,0x7e,0x24,0x12,0x0, 0xb, 0x28,0x30,0x22,0x7e,0x37,0x6, 0x2, 0x89,0x34,
+0x7e,0xa3,0x6, 0xd7,0x7c,0xba,0x22,0x59,0x31,0x0, 0x2, 0x1b,0x18,0x20,0x22,0x7e,
+0x34,0x0, 0x1, 0x7a,0x35,0x27,0x22,0x7e,0x35,0x27,0xbe,0x34,0x0, 0x1, 0x22,0xca,
+0xf8,0x7e,0xa3,0x6, 0xd7,0x7c,0xfa,0x5e,0xf0,0x1, 0x7c,0xba,0x12,0x1f,0xea,0x12,
+0x15,0x1d,0x6c,0xaa,0x80,0x3b,0x7e,0xb3,0x6, 0x4d,0x60,0xb, 0xb4,0x2, 0x30,0xa,
+0x3a,0x9, 0xb3,0xa, 0xbb,0x60,0x28,0x7e,0x90,0x4, 0xac,0x9a,0x49,0x34,0x3, 0x5e,
+0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0x5, 0x34,0x59,0x32,0x5, 0x90,0x9f,0x11,0x59,
+0x34,0x3, 0x5e,0x59,0x24,0x3, 0x5c,0x59,0x34,0x4, 0x16,0x59,0x24,0x4, 0x14,0xb,
+0xa0,0x12,0x18,0x6b,0x38,0xc0,0x7c,0x6f,0x5e,0x60,0x1, 0x7e,0x73,0x6, 0xd7,0x5e,
+0x70,0xfe,0x4c,0x76,0x7a,0x73,0x6, 0xd7,0xda,0xf8,0x22,0x7e,0xb3,0x6, 0xc8,0xbc,
+0xba,0x22,0x6c,0xaa,0x80,0x9, 0x12,0x19,0xf, 0x70,0x2, 0x21,0xe, 0xb, 0xa0,0x12,
+0x18,0x6b,0x38,0xf2,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x2, 0x21,0xe, 0x6c,0xaa,0x80,
+0x78,0x12,0x19,0xf, 0xb4,0x1, 0x70,0x7e,0xb3,0x6, 0xc6,0xbc,0xba,0x28,0x21,0x12,
+0x22,0x8a,0x7e,0xb3,0x6, 0x45,0x12,0x5b,0x6a,0x8, 0x6, 0x7e,0xb3,0x6, 0x43,0x80,
+0x1f,0x6d,0x33,0x9d,0x34,0x12,0x19,0x1e,0x58,0x4d,0x7e,0xb3,0x6, 0x44,0x80,0x34,
+0x12,0x22,0x8a,0x7e,0xb3,0x6, 0x48,0x12,0x5b,0x6a,0x8, 0x1b,0x7e,0xb3,0x6, 0x46,
+0xa, 0xeb,0x7e,0x50,0x2, 0xac,0x5a,0x7d,0xf2,0x2e,0xf4,0x5, 0x34,0xb, 0xf8,0x20,
+0x2d,0x2e,0x1b,0xf8,0x20,0x80,0x20,0x6d,0x33,0x9d,0x34,0x12,0x19,0x1e,0x58,0x17,
+0x7e,0xb3,0x6, 0x47,0xa, 0x4b,0x7e,0x50,0x2, 0xac,0x5a,0x2e,0x24,0x5, 0x34,0xb,
+0x28,0x30,0x9d,0x34,0x1b,0x28,0x30,0xb, 0xa0,0x12,0x18,0x6b,0x38,0x83,0x22,0x7e,
+0x34,0x6, 0x15,0x7c,0xba,0x2, 0x1a,0x54,0x6e,0x34,0xff,0xff,0xb, 0x34,0x1a,0x26,
+0x1a,0x24,0xbf,0x1, 0x22,0xca,0x3b,0x6c,0xee,0x6d,0x66,0x7e,0xb3,0x6, 0x67,0x30,
+0xe1,0x2, 0x41,0x33,0x6c,0xff,0x21,0xe9,0x12,0x1a,0x4e,0xb4,0x1, 0x2, 0x80,0x2,
+0x21,0xe7,0x7e,0x73,0x6, 0xc6,0xbc,0x7f,0x28,0x59,0xb, 0xe0,0x7e,0x50,0x4, 0xac,
+0x5f,0x49,0xd2,0x3, 0x5e,0x49,0xc2,0x3, 0x5c,0x7e,0x73,0x6, 0x45,0xa, 0x37,0x7d,
+0x53,0x1a,0x4a,0x1a,0x48,0xbf,0x62,0x8, 0xb, 0x12,0x1a,0x36,0xbf,0x2, 0x8, 0x4,
+0xb, 0x64,0x80,0x17,0x6d,0xff,0x9d,0xf3,0x7d,0x1f,0x1a,0x12,0x1a,0xe2,0xbf,0x67,
+0x58,0x9, 0x12,0x1a,0x36,0xbf,0x7, 0x58,0x2, 0x1b,0x64,0x12,0x1a,0x36,0xbf,0x2,
+0x8, 0x6, 0x7e,0xb3,0x6, 0x43,0x80,0x29,0x12,0x19,0x18,0x58,0x4a,0x7e,0x73,0x6,
+0x44,0x80,0x3c,0x7e,0x50,0x4, 0xac,0x5f,0x12,0x1a,0x36,0x7e,0x73,0x6, 0x48,0xa,
+0x37,0x7d,0x53,0x7d,0xf3,0x1a,0x5a,0x1a,0xea,0xbf,0x7, 0x8, 0x19,0x7e,0xb3,0x6,
+0x46,0xa, 0xfb,0x7e,0x90,0x2, 0xac,0x9f,0x2e,0x44,0x5, 0x90,0xb, 0x48,0x50,0x2d,
+0x5f,0x1b,0x48,0x50,0x80,0x11,0x12,0x19,0x18,0x58,0xc, 0x7e,0x73,0x6, 0x47,0x12,
+0x1a,0x3f,0x9d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,0x6a,0x28,0x2, 0x21,0x38,
+0xbe,0xe0,0x0, 0x28,0x3e,0x7d,0x36,0x12,0x0, 0x2e,0xa, 0x2e,0xbd,0x32,0x78,0x33,
+0x6c,0xff,0x80,0x2a,0x12,0x1a,0x4e,0x70,0x23,0xbe,0x64,0x0, 0x0, 0x8, 0xb, 0x7e,
+0x73,0x6, 0x43,0x12,0x1a,0x3f,0x2d,0x31,0x80,0xf, 0xbe,0x64,0x0, 0x0, 0x58,0xc,
+0x7e,0x73,0x6, 0x44,0x12,0x1a,0x3f,0x9d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,
+0x6a,0x38,0xd1,0xda,0x3b,0x22,0x49,0x12,0x4, 0x16,0x49,0x2, 0x4, 0x14,0x22,0xa,
+0x17,0x7e,0x50,0x2, 0xac,0x5f,0x2e,0x24,0x5, 0x90,0xb, 0x28,0x30,0x22,0x7e,0x34,
+0x6, 0x15,0x7c,0xbf,0x7d,0x23,0x4d,0x22,0x68,0x5, 0xbe,0xb0,0x2e,0x40,0x3, 0x74,
+0x1, 0x22,0xa, 0x3b,0x2d,0x32,0x7e,0x39,0xb0,0x22,0x7e,0x73,0x6, 0xc8,0xbc,0x7f,
+0x22,0xca,0x3b,0x75,0x23,0x0, 0x7e,0xb3,0x6, 0xd7,0x54,0xfd,0x7a,0xb3,0x6, 0xd7,
+0x7e,0x67,0x6, 0xd8,0x7e,0xb3,0x6, 0x67,0x30,0xe5,0x11,0x80,0x4, 0xe4,0x12,0xf,
+0xcd,0x12,0x17,0x5a,0x50,0xf7,0x75,0x23,0x1, 0x12,0x41,0x1d,0x12,0x5a,0x93,0x7e,
+0x73,0x6, 0xd6,0xa, 0x57,0x12,0x17,0x8f,0x12,0x5a,0xb5,0x6c,0xff,0x6d,0x33,0x80,
+0xa, 0x74,0x2, 0xac,0xbf,0x59,0x35,0x9, 0xfd,0xb, 0xf0,0x7e,0x53,0x6, 0xc8,0xbc,
+0x5f,0x38,0xee,0x6c,0xee,0x61,0x68,0x6c,0xff,0x80,0x15,0x7e,0xb3,0x6, 0x4d,0x60,
+0x5, 0x12,0x1b,0xd2,0x60,0x8, 0x6d,0x22,0x12,0x1b,0xca,0x1b,0x38,0x20,0xb, 0xf0,
+0x12,0x1a,0x6a,0x38,0xe6,0x75,0x22,0x0, 0x6d,0x33,0x7e,0xa1,0x22,0x74,0x2, 0xa4,
+0x59,0x35,0xb, 0xc3,0x5, 0x22,0xe5,0x22,0xb4,0x2e,0xed,0x6c,0xff,0x80,0x17,0xa,
+0x2f,0x7e,0x34,0x0, 0x9, 0x9d,0x32,0x7a,0x73,0xc, 0x1f,0x12,0x50,0xe2,0x12,0x41,
+0x28,0x12,0x50,0x71,0xb, 0xf0,0x7e,0x73,0x6, 0x14,0xbc,0x7f,0x38,0xe1,0x6c,0xff,
+0x80,0x3f,0x7e,0x50,0x2, 0xac,0x5f,0x49,0x12,0x9, 0xfd,0x12,0x1b,0xca,0xb, 0x38,
+0x30,0xbd,0x13,0x50,0x2a,0x59,0x32,0x9, 0xfd,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,
+0x1b,0xd2,0x60,0x1b,0x12,0x1f,0xdd,0x74,0x2, 0xac,0xbf,0x59,0x35,0x5, 0x34,0x74,
+0x2, 0xac,0xbf,0x49,0x35,0x5, 0x34,0x74,0x2, 0xac,0xbf,0x59,0x35,0x5, 0x90,0xb,
+0xf0,0x12,0x1a,0x6a,0x38,0xbc,0xb, 0xe0,0x7e,0x73,0x6, 0x11,0xbc,0x7e,0x28,0x2,
+0x41,0xc7,0x6c,0xff,0x80,0x1b,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x1b,0xd2,0x60,
+0xe, 0x74,0x2, 0xac,0xbf,0x49,0x25,0x9, 0xfd,0x12,0x1b,0xca,0x1b,0x38,0x20,0xb,
+0xf0,0x12,0x1a,0x6a,0x38,0xe0,0x74,0x3, 0x12,0x17,0xda,0x12,0x1f,0xa8,0x12,0x1f,
+0xf9,0xe5,0x23,0x60,0x15,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,
+0x7e,0xb3,0x6, 0x67,0x44,0x20,0x7a,0xb3,0x6, 0x67,0x12,0x5a,0x93,0x7e,0xb3,0x6,
+0xca,0x12,0x17,0x89,0x12,0x5a,0xb5,0xda,0x3b,0x22,0x7e,0x70,0x2, 0xac,0x7f,0x2d,
+0x36,0x22,0xa, 0x3f,0x2e,0x37,0x6, 0x4e,0x7e,0x39,0xb0,0x22,0xca,0x79,0x12,0x1f,
+0xe6,0x6d,0x33,0x6c,0xee,0x80,0xa, 0x74,0x2, 0xac,0xbe,0x59,0x35,0x9, 0xfd,0xb,
+0xe0,0x7e,0x53,0x6, 0xc8,0xbc,0x5e,0x38,0xee,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0x3f,
+0x6c,0xee,0x80,0x31,0x12,0x41,0x28,0x6c,0xff,0x80,0x23,0x7e,0x50,0x2, 0xac,0x5f,
+0x49,0xf2,0x9, 0xfd,0x6d,0xee,0x74,0x4, 0xac,0xbf,0x49,0x15,0x3, 0x5e,0x49,0x5,
+0x3, 0x5c,0xbf,0x7, 0x8, 0x6, 0x7d,0x31,0x59,0x32,0x9, 0xfd,0xb, 0xf0,0x12,0x1a,
+0x6a,0x38,0xd8,0xb, 0xe0,0x7e,0x73,0x6, 0x10,0xbc,0x7e,0x38,0xc7,0x80,0x39,0x7e,
+0xe0,0x1, 0x12,0x15,0x1d,0x6c,0xff,0x80,0x23,0x12,0x1f,0xdd,0x49,0x25,0x3, 0x5c,
+0x7e,0x8, 0x0, 0x4, 0x12,0x4, 0x59,0x7d,0x13,0x7e,0x50,0x2, 0xac,0x5f,0x2e,0x24,
+0x9, 0xfd,0xb, 0x28,0x30,0x2d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,0x6a,0x38,
+0xd8,0xb, 0xe0,0xbe,0xe0,0x4, 0x28,0xca,0x6c,0xee,0x80,0x3b,0x7e,0xa3,0x6, 0x4d,
+0x4c,0xaa,0x68,0x19,0xbe,0xa0,0x1, 0x78,0x7, 0xa, 0x3e,0x12,0x1b,0xd4,0x70,0xd,
+0xbe,0xa0,0x3, 0x78,0x20,0xa, 0x3e,0x9, 0xb3,0xa, 0x8d,0x60,0x18,0x74,0x2, 0xac,
+0xbe,0x49,0x35,0x9, 0xfd,0x59,0x35,0x5, 0x34,0x74,0x2, 0xac,0xbe,0x49,0x35,0x9,
+0xfd,0x59,0x35,0x5, 0x90,0xb, 0xe0,0x7e,0x73,0x6, 0xc8,0xbc,0x7e,0x38,0xbd,0xda,
+0x79,0x22,0x12,0x1e,0xf3,0x12,0x3e,0x5e,0x2, 0x1b,0xdc,0x7e,0x34,0x0, 0x24,0x12,
+0x4f,0x6, 0xbe,0xb0,0x1, 0x68,0x8, 0x80,0xfe,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,
+0x17,0x5a,0x50,0xf7,0xa9,0xc3,0xea,0x6d,0x11,0x7e,0x44,0x12,0x0, 0x1b,0x48,0x10,
+0x7e,0x53,0x6, 0xc9,0x7c,0xb5,0x54,0x1, 0xa, 0x5b,0x12,0x1e,0xda,0x7c,0x75,0x1e,
+0x70,0x5e,0x70,0x3, 0xa, 0x57,0x3e,0x54,0x3e,0x54,0x3e,0x54,0x12,0x1e,0xd6,0x7e,
+0x63,0x6, 0xca,0x7c,0xb6,0x54,0x1, 0x12,0x1f,0xf1,0x12,0x1e,0xda,0x7c,0xb6,0x1e,
+0xb0,0x54,0x3, 0x12,0x1f,0xf1,0x12,0x1e,0xd6,0x7c,0xb6,0x12,0x17,0x89,0x12,0x1e,
+0xdc,0x7e,0x54,0x13,0x14,0xb, 0x58,0x0, 0x6c,0x0, 0x12,0x1e,0xcf,0x5e,0x10,0xbf,
+0x12,0x1e,0xcf,0x4e,0x10,0x40,0x12,0x1e,0xcf,0x5e,0x10,0xcf,0x12,0x1e,0xcf,0x4e,
+0x10,0x10,0x12,0x1e,0xcf,0x5e,0x10,0xfc,0x12,0x1e,0xcf,0xa5,0xbf,0x0, 0x5, 0x4e,
+0x10,0x1, 0x80,0x3, 0x4e,0x10,0x3, 0x1b,0x58,0x0, 0x7e,0x44,0x12,0x2, 0x1b,0x48,
+0x10,0x7e,0x43,0x6, 0xc8,0xa, 0x54,0x7c,0xab,0xe4,0x12,0x1e,0xdc,0x7e,0xa3,0x6,
+0xcb,0x7c,0xba,0x23,0x54,0x1, 0xa, 0xfb,0xb, 0x48,0x0, 0x4d,0xf, 0x1b,0x48,0x0,
+0x7c,0xba,0x30,0xe6,0xe, 0x7c,0xb5,0x30,0xe0,0x9, 0xb, 0x48,0x20,0x4e,0x50,0x8,
+0x1b,0x48,0x20,0x7c,0xb6,0x30,0xe6,0x12,0xb, 0x48,0x0, 0x4e,0x10,0x20,0x1b,0x48,
+0x0, 0xb, 0x48,0x0, 0x4e,0x10,0x10,0x1b,0x48,0x0, 0x7e,0x24,0x12,0x4, 0xb, 0x28,
+0x0, 0x5e,0x0, 0x7f,0x1b,0x28,0x0, 0xb, 0x28,0x0, 0x4e,0x0, 0x80,0x1b,0x28,0x0,
+0x7e,0x24,0x13,0x1e,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xce,0x12,0x1e,0xc2,0x7e,0x63,
+0x6, 0xd1,0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x24,0x12,0x8, 0x1b,0x28,0x10,0x7e,0x63,
+0x6, 0xcc,0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x63,0x6, 0xcd,0x12,0x1e,0xc2,0x7e,0x24,
+0x13,0x20,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xcf,0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x63,
+0x6, 0xd0,0x12,0x1e,0xc2,0x7e,0x24,0x13,0x22,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xd2,
+0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x63,0x6, 0xd3,0x12,0x1e,0xc2,0x7e,0x4, 0x12,0xa,
+0x1b,0x8, 0x10,0xa5,0xbf,0x0, 0x8, 0xb, 0x8, 0x10,0x4e,0x20,0x1, 0x80,0x1b,0xa5,
+0xbf,0x1, 0x8, 0xb, 0x8, 0x10,0x4e,0x20,0x11,0x80,0xf, 0xb, 0x8, 0x10,0xa5,0xbf,
+0x2, 0x5, 0x4e,0x20,0x33,0x80,0x3, 0x4e,0x20,0xff,0x1b,0x8, 0x10,0x7c,0xba,0x1e,
+0xb0,0x54,0x3, 0xa, 0x3b,0xb, 0x8, 0x10,0x4d,0x13,0x1b,0x8, 0x10,0x12,0x4f,0x29,
+0xb, 0x8, 0x10,0x5e,0x30,0xfb,0x1b,0x8, 0x10,0xb, 0x8, 0x30,0x4e,0x70,0x4, 0x1b,
+0x8, 0x30,0x7e,0x73,0x6, 0xd4,0xa, 0x27,0x7e,0x34,0x13,0x10,0x1b,0x38,0x20,0x12,
+0x4f,0x92,0x7e,0xb3,0x6, 0xca,0x1e,0xb0,0x54,0x3, 0xbe,0xb0,0x1, 0x68,0x3, 0xb4,
+0x2, 0xb, 0x7e,0x27,0x6, 0xc4,0x7e,0x34,0x13,0x12,0x1b,0x38,0x20,0x74,0x2, 0x7a,
+0xb3,0x6, 0xda,0xd2,0x8e,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x7e,0xb3,0x6, 0xda,0x70,
+0xf6,0x22,0x7c,0x86,0x6c,0x99,0xb, 0x28,0x0, 0x4d,0x4, 0x1b,0x28,0x0, 0x22,0x1b,
+0x58,0x0, 0xb, 0x58,0x0, 0x22,0x3e,0x54,0x3e,0x54,0x3e,0x54,0xb, 0x48,0x0, 0x4d,
+0x5, 0x1b,0x48,0x0, 0x22,0x7e,0xb3,0x3, 0x34,0x12,0x43,0xb3,0x7e,0xb3,0x3, 0x34,
+0x12,0x3f,0xc9,0x12,0x1c,0xcb,0x7e,0xb3,0x3, 0x34,0x54,0x7f,0x7a,0xb3,0x3, 0x34,
+0x12,0x1a,0x71,0x7e,0xb3,0x3, 0x34,0x44,0x80,0x7a,0xb3,0x3, 0x34,0x22,0xca,0xf8,
+0x12,0x49,0xe0,0x7e,0x34,0x2, 0xd4,0x7a,0x37,0x6, 0xd8,0x12,0x31,0x3a,0x12,0x1e,
+0xe5,0x75,0x39,0x3, 0x75,0x37,0x40,0x12,0x49,0xe0,0xe5,0x39,0xb4,0x3, 0x40,0xe5,
+0x3f,0x60,0xf4,0x12,0x1f,0xf9,0x12,0x1f,0xea,0x12,0x1f,0x78,0x12,0x15,0x1d,0x6c,
+0xff,0x80,0xd, 0x12,0x1f,0xdd,0x74,0x2, 0xac,0xbf,0x59,0x35,0xc, 0x20,0xb, 0xf0,
+0x12,0x1a,0x6a,0x38,0xee,0x75,0x3f,0x0, 0x7e,0xb3,0xc, 0xd6,0x54,0x7f,0x7a,0xb3,
+0xc, 0xd6,0xe5,0xa, 0x20,0xe0,0xc0,0x74,0x1, 0x7a,0xb3,0x3, 0x42,0x80,0xb8,0xe5,
+0x39,0x7a,0xb3,0xb, 0x9f,0xda,0xf8,0x22,0xe5,0xa, 0x30,0xe0,0x8, 0x12,0x1e,0xe5,
+0x53,0xa, 0xfc,0x80,0xb, 0xe5,0xa, 0x30,0xe1,0x6, 0x12,0x1f,0xa8,0x53,0xa, 0xfd,
+0xe5,0xa, 0x30,0xe2,0x12,0x53,0xca,0xf1,0x7e,0x73,0x3, 0x41,0xa, 0x37,0x3e,0x34,
+0x7c,0xb7,0x42,0xca,0x53,0xa, 0xfb,0x22,0x12,0x50,0xdb,0x80,0x2a,0xa, 0x2a,0x9,
+0x32,0x6, 0x96,0x7e,0x50,0x2, 0xac,0x53,0x2d,0x23,0xb, 0x28,0x20,0x7e,0xb3,0x6,
+0x4d,0x60,0x7, 0xa, 0x13,0x12,0x51,0x36,0x60,0xb, 0xa, 0x1a,0x3e,0x14,0x2e,0x14,
+0x12,0x14,0x1b,0x18,0x20,0xb, 0xa0,0x12,0x18,0x6b,0x38,0xd1,0x22,0x74,0x4, 0xac,
+0xbf,0x49,0x35,0x3, 0x5e,0x22,0x7e,0xb3,0x6, 0xd7,0x54,0xfe,0x7a,0xb3,0x6, 0xd7,
+0x22,0xa, 0xb, 0x7d,0x50,0x7c,0xab,0xe4,0x22,0x7e,0xb3,0x6, 0xd7,0x44,0x2, 0x7a,
+0xb3,0x6, 0xd7,0x22,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0x34,0x6c,0xaa,0x80,0x28,0xa,
+0x3a,0x9, 0x73,0x6, 0x96,0x7e,0xb3,0x6, 0xd7,0x30,0xe0,0x19,0x7e,0x50,0x4, 0xac,
+0x57,0x49,0xf2,0x3, 0x5e,0x49,0xe2,0x3, 0x5c,0x7e,0x17,0x5, 0xee,0x12,0x7, 0x7d,
+0x58,0x3, 0x12,0x20,0x4a,0xb, 0xa0,0x7e,0x63,0x6, 0xc8,0xbc,0x6a,0x38,0xd0,0x22,
+0x7e,0x11,0x22,0x2e,0x10,0x41,0x74,0x1, 0xa5,0xf7,0x74,0x3c,0x7a,0xb3,0xd, 0x3c,
+0x22,0xca,0x3b,0x7e,0x38,0x75,0x30,0x75,0x28,0x0, 0x7e,0x34,0xc, 0xf8,0x7e,0x24,
+0x0, 0x18,0xe4,0x12,0x4, 0xeb,0x7e,0x34,0x0, 0x41,0x7e,0x24,0x0, 0x6, 0xe4,0x12,
+0x4, 0xeb,0x7e,0xb3,0x6, 0xd7,0x30,0xe1,0x7, 0x7e,0xb3,0x6, 0x67,0x30,0xe2,0x5,
+0x75,0x27,0x1, 0x80,0x3, 0x75,0x27,0x2, 0x75,0x22,0x1, 0x21,0x75,0x9f,0x11,0x7a,
+0x1f,0x9, 0xfd,0x75,0x23,0x0, 0x21,0x2c,0x12,0x22,0x59,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe1,0x42,0x30,0xe0,0x3f,0x7e,0x11,0x24,0x74,0x4, 0xac,0x1b,0x12,0x22,0x78,0x7e,
+0xa1,0x24,0x12,0x22,0x6c,0x7a,0x1f,0xa, 0x5, 0xbe,0x1c,0xfc,0xe0,0x58,0x5, 0x12,
+0x20,0x40,0x80,0x6f,0x7e,0x73,0x6, 0xc6,0xbe,0x71,0x24,0x28,0x17,0x7e,0xf, 0xa,
+0x5, 0x7e,0x1f,0x9, 0xfd,0xbf,0x10,0x58,0xb, 0x7e,0x1f,0xa, 0x5, 0x7a,0x1f,0x9,
+0xfd,0x85,0x24,0x25,0x7e,0x91,0x24,0x74,0x4, 0xac,0x9b,0x7e,0xa1,0x22,0x74,0x58,
+0xa4,0x2d,0x54,0x49,0x15,0x0, 0x50,0x49,0x5, 0x0, 0x4e,0x49,0x35,0x0, 0xa8,0x49,
+0x25,0x0, 0xa6,0x9f,0x10,0x12,0x4, 0xdb,0x7a,0x1f,0xa, 0x1, 0x7e,0xa1,0x22,0x74,
+0x4, 0xa4,0x49,0x15,0xc, 0xfa,0x49,0x5, 0xc, 0xf8,0xbf,0x10,0x8, 0xc, 0x7e,0x1f,
+0xa, 0x1, 0x59,0x35,0xc, 0xfa,0x59,0x25,0xc, 0xf8,0x5, 0x23,0x12,0x22,0x64,0x28,
+0x2, 0x1, 0x98,0x7e,0x7f,0x9, 0xfd,0xbe,0x78,0x2, 0x58,0x8, 0x36,0x7e,0x73,0x6,
+0xc6,0xbe,0x71,0x25,0x28,0x2d,0xe5,0x25,0xa, 0x3b,0x2e,0x34,0x0, 0xb, 0x7e,0x24,
+0x0, 0x16,0x12,0x3, 0xba,0x7c,0xa5,0x7a,0xa1,0x26,0x7e,0x10,0x4, 0xac,0x1a,0x12,
+0x22,0x78,0x12,0x22,0x6c,0x7e,0x14,0x0, 0x5, 0x12,0x3, 0xfd,0xbf,0x71,0x8, 0x3,
+0x12,0x20,0x40,0x5, 0x22,0x7e,0x31,0x27,0x74,0x3, 0xac,0x3b,0xe5,0x22,0xa, 0xb,
+0xbd,0x1, 0x58,0x2, 0x1, 0x8d,0x75,0x22,0x1, 0x80,0x23,0x7e,0x11,0x22,0x2e,0x10,
+0x41,0xa5,0xe7,0x70,0x17,0x7e,0xa1,0x22,0x74,0x4, 0xa4,0x49,0x35,0xc, 0xfa,0x49,
+0x25,0xc, 0xf8,0xbf,0x13,0x58,0x5, 0x7f,0x31,0x85,0x22,0x28,0x5, 0x22,0xe5,0x22,
+0xa, 0xb, 0xbd,0x1, 0x48,0xd5,0x7e,0x51,0x28,0x74,0x58,0xac,0x5b,0x2e,0x24,0x0,
+0xa6,0x7e,0x34,0x3, 0x5c,0x7e,0x14,0x0, 0x58,0x12,0x4, 0xae,0x7e,0xb3,0x6, 0xd7,
+0x30,0xe1,0x4c,0x75,0x23,0x0, 0x80,0x42,0x12,0x22,0x59,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe0,0x36,0x7e,0x11,0x24,0x74,0x2, 0xac,0x1b,0x49,0xf0,0x5, 0x90,0x7d,0x3f,0x1a,
+0x36,0x1a,0xe6,0x7e,0x31,0x24,0x74,0x4, 0xac,0x3b,0x12,0x23,0x35,0x7f,0x21,0x9f,
+0x27,0x59,0x51,0x4, 0x16,0x59,0x41,0x4, 0x14,0x49,0x50,0x5, 0x34,0x6d,0x44,0x2e,
+0x14,0x3, 0x5c,0x9f,0x12,0x12,0x17,0xe7,0x5, 0x23,0x12,0x22,0x64,0x38,0xb9,0x12,
+0x17,0xe0,0x30,0xe1,0x31,0x75,0x23,0x0, 0x80,0x23,0x12,0x22,0x59,0x7c,0xba,0x30,
+0xe0,0x19,0x7e,0x71,0x24,0x74,0x4, 0xac,0x7b,0x12,0x22,0x8f,0x7e,0x37,0x5, 0xee,
+0x1a,0x26,0x1a,0x24,0xbf,0x10,0x8, 0x3, 0x12,0x20,0x4a,0x5, 0x23,0x7e,0xb3,0x6,
+0xc8,0xbe,0xb1,0x23,0x38,0xd4,0xda,0x3b,0x22,0xe5,0x23,0xa, 0x3b,0x9, 0xb3,0x6,
+0x96,0xf5,0x24,0x22,0x7e,0x73,0x6, 0xc8,0xbe,0x71,0x23,0x22,0x74,0x2, 0xa4,0x49,
+0x15,0x5, 0x34,0x6d,0x0, 0x9f,0x10,0x22,0x7e,0x31,0x22,0x74,0x58,0xac,0x3b,0x2d,
+0x10,0x49,0x31,0x0, 0xa8,0x49,0x21,0x0, 0xa6,0x22,0x7e,0x70,0x4, 0xac,0x7a,0x49,
+0x13,0x3, 0x5e,0x49,0x3, 0x3, 0x5c,0x22,0x7c,0xab,0x6c,0x22,0x6c,0x11,0x7c,0x1,
+0x2e,0x0, 0x47,0xa5,0xe6,0xbc,0xb3,0x78,0x5, 0x7e,0x20,0x1, 0x80,0x7, 0xb, 0x10,
+0xbe,0x10,0x1, 0x40,0xe9,0x12,0x23,0x28,0x38,0x11,0xa, 0x4b,0x7e,0x4, 0x0, 0x3,
+0x9d,0x4, 0x7c,0xb1,0x60,0x5, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe0,0x24,0x7e,0x10,0x2, 0xac,0x13,0x49,0xf0,0x5, 0x34,0x7d,0xf, 0x1a,0x0, 0x1a,
+0xe0,0x7f,0x61,0x9f,0x67,0x7e,0xf7,0x5, 0xee,0x7d,0xf, 0x1a,0x0, 0x1a,0xe0,0xbf,
+0x76,0x8, 0x3, 0x12,0x20,0x4a,0x4c,0xaa,0x78,0x6, 0x74,0x4, 0xac,0xb3,0x80,0x10,
+0x4c,0x22,0x68,0x7, 0x12,0x23,0x19,0x8, 0xf, 0x80,0x5, 0x12,0x23,0x19,0x58,0x8,
+0x59,0x35,0x3, 0x5e,0x59,0x25,0x3, 0x5c,0x22,0x74,0x4, 0xac,0xb3,0x49,0xf5,0x3,
+0x5e,0x49,0xe5,0x3, 0x5c,0xbf,0x17,0x22,0x7e,0xb3,0x6, 0xd6,0xbe,0xb0,0x2, 0x22,
+0x7e,0x30,0x4, 0xac,0x3a,0x49,0x31,0x3, 0x5e,0x49,0x21,0x3, 0x5c,0x22,0x6c,0xaa,
+0xa, 0x3a,0x12,0x2c,0xf6,0x7c,0x3b,0xbe,0x30,0x16,0x50,0x9, 0x74,0x4, 0xac,0x3b,
+0x12,0x23,0x35,0x80,0x2, 0x9f,0x11,0x7e,0x30,0x4, 0xac,0x3a,0x59,0x31,0x9, 0x6f,
+0x59,0x21,0x9, 0x6d,0xb, 0xa0,0xbe,0xa0,0x24,0x40,0xd5,0x7e,0x1f,0x9, 0x85,0x7a,
+0x1d,0x2a,0x75,0x2f,0x0, 0x7e,0x34,0x9, 0x85,0x7a,0x35,0x30,0x7e,0x34,0x9, 0x9d,
+0x7a,0x35,0x32,0x7e,0x1f,0x9, 0x89,0x7e,0xf, 0x9, 0xa1,0xe4,0x12,0x24,0x39,0x7e,
+0x1f,0x9, 0x99,0x7a,0x1d,0x2a,0x75,0x2f,0x1, 0x7e,0x34,0x9, 0x99,0x7a,0x35,0x30,
+0x7e,0x34,0x9, 0xb1,0x7a,0x35,0x32,0x7e,0x1f,0x9, 0x95,0x7e,0xf, 0x9, 0xad,0xe4,
+0x12,0x24,0x39,0x7e,0x1f,0x9, 0xb5,0x7a,0x1d,0x2a,0x75,0x2f,0x0, 0x7e,0x34,0x9,
+0xb5,0x7a,0x35,0x30,0x7e,0x34,0x9, 0xcd,0x7a,0x35,0x32,0x7e,0x1f,0x9, 0xb9,0x7e,
+0xf, 0x9, 0xd1,0x74,0x1, 0x12,0x24,0x39,0x7e,0x1f,0x9, 0xc9,0x7a,0x1d,0x2a,0x75,
+0x2f,0x1, 0x7e,0x34,0x9, 0xc9,0x7a,0x35,0x30,0x7e,0x34,0x9, 0xe1,0x7a,0x35,0x32,
+0x7e,0x1f,0x9, 0xc5,0x7e,0xf, 0x9, 0xdd,0x74,0x1, 0x12,0x24,0x39,0xe4,0x12,0x24,
+0xb5,0x74,0x1, 0x12,0x24,0xb5,0x7e,0x34,0x9, 0x89,0x12,0x27,0xa2,0x7e,0x34,0x9,
+0xd1,0x12,0x27,0xa2,0x7e,0x34,0x9, 0x95,0x12,0x24,0x22,0x7e,0x34,0x9, 0xdd,0x2,
+0x24,0x22,0x12,0x27,0xd1,0xe5,0x14,0xa, 0x1b,0x6d,0x0, 0x12,0x27,0xb7,0x2, 0x24,
+0x31,0x59,0x3f,0x0, 0x2, 0x1b,0xf8,0x20,0x22,0xca,0x3b,0xf5,0x2e,0x7a,0xd, 0x26,
+0x7a,0x1d,0x22,0x7e,0x7d,0x2a,0xbe,0x78,0x0, 0x32,0x8, 0x56,0xe5,0x2f,0x70,0x4,
+0xe5,0x15,0x80,0x2, 0xe5,0x10,0x12,0x27,0xb1,0x7a,0x1d,0x2a,0x7e,0x1d,0x26,0x12,
+0x26,0x4, 0x7f,0x31,0x7e,0x1d,0x22,0x12,0x26,0x4, 0x2f,0x31,0x78,0x1a,0xe5,0x2e,
+0x60,0xb, 0x12,0x5b,0x23,0x12,0x24,0xa5,0x12,0x27,0x90,0x80,0x1a,0x12,0x27,0x90,
+0x12,0x24,0xa5,0x12,0x5b,0x23,0x80,0xf, 0x7e,0x1d,0x22,0x12,0x27,0x84,0x12,0x24,
+0xa5,0x7e,0x1d,0x26,0x12,0x27,0x84,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x32,0x12,
+0x24,0xad,0xda,0x3b,0x22,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x30,0x59,0x13,0x0,
+0x2, 0x1b,0x38,0x0, 0x22,0xca,0x3b,0x70,0x48,0x7e,0x1f,0x9, 0x89,0x7a,0x1f,0x9,
+0xfd,0x7e,0x1f,0x9, 0x8d,0x7a,0x1f,0xa, 0x1, 0x7e,0x1f,0x9, 0x91,0x7a,0x1f,0xa,
+0x5, 0x7e,0x1f,0x9, 0x95,0x7a,0x1f,0xa, 0x9, 0x7e,0x34,0x9, 0x71,0x7a,0x35,0x22,
+0x7e,0x34,0x9, 0x75,0x7a,0x35,0x24,0x7e,0x34,0x9, 0x79,0x7a,0x35,0x26,0x7e,0x34,
+0x9, 0x7d,0x7a,0x35,0x28,0xe5,0x8, 0xa, 0x1b,0x6d,0x0, 0x7e,0x1f,0x9, 0x71,0x80,
+0x46,0x7e,0x1f,0x9, 0xd1,0x7a,0x1f,0x9, 0xfd,0x7e,0x1f,0x9, 0xd5,0x7a,0x1f,0xa,
+0x1, 0x7e,0x1f,0x9, 0xd9,0x7a,0x1f,0xa, 0x5, 0x7e,0x1f,0x9, 0xdd,0x7a,0x1f,0xa,
+0x9, 0x7e,0x34,0x9, 0xe9,0x7a,0x35,0x22,0x7e,0x34,0x9, 0xed,0x7a,0x35,0x24,0x7e,
+0x34,0x9, 0xf1,0x7a,0x35,0x26,0x7e,0x34,0x9, 0xf5,0x7a,0x35,0x28,0xe5,0xf, 0xa,
+0x1b,0x6d,0x0, 0x7e,0x1f,0x9, 0xe9,0x12,0x27,0xb7,0x7f,0x31,0xbe,0x38,0x0, 0x32,
+0x18,0x2, 0xc1,0x1, 0x7e,0x1f,0x9, 0xfd,0x12,0x26,0x4, 0x7a,0x1f,0x9, 0xfd,0x7e,
+0x1f,0xa, 0x1, 0x12,0x26,0x4, 0x7a,0x1f,0xa, 0x1, 0x7e,0x1f,0xa, 0x5, 0x12,0x26,
+0x4, 0x12,0x27,0xf3,0x12,0x26,0x4, 0x7a,0x1f,0xa, 0x9, 0x7e,0x1f,0xa, 0x1, 0x7e,
+0x6f,0x9, 0xfd,0x2f,0x16,0x7e,0x7f,0xa, 0x5, 0x2f,0x71,0x78,0x16,0x7e,0x8, 0x0,
+0x8, 0x7f,0x13,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x22,0x12,0x24,0xad,0x12,0x5b,
+0x4f,0x80,0x10,0x12,0x5b,0x14,0x7e,0x35,0x22,0x12,0x24,0xad,0x7e,0xf, 0xa, 0x1,
+0x12,0x27,0xc9,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x24,0x12,0x24,0xad,0x7e,0x6f,
+0xa, 0x5, 0x7e,0x1f,0xa, 0x1, 0x2f,0x16,0x7e,0x7f,0xa, 0x9, 0x2f,0x71,0x78,0x16,
+0x12,0x5b,0x4f,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x26,0x12,0x24,0xad,0x7e,0x8,
+0x0, 0x8, 0x7f,0x13,0x80,0x10,0x12,0x5b,0x14,0x7e,0x35,0x26,0x12,0x24,0xad,0x7e,
+0xf, 0xa, 0x9, 0x12,0x27,0xc9,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x28,0x12,0x24,
+0xad,0xda,0x3b,0x22,0xbe,0x18,0x0, 0x32,0x8, 0x1, 0x22,0x9f,0x11,0x22,0xca,0x79,
+0x7c,0xe7,0x7c,0xfb,0x74,0x4, 0xac,0xbf,0x12,0x27,0xea,0x12,0x27,0x98,0x68,0xf,
+0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x57,0x49,0x25,0x9, 0x55,0x12,0x26,0x86,0xbe,
+0xe0,0x5, 0x68,0xf, 0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x87,0x49,0x25,0x9, 0x85,
+0x12,0x26,0x86,0x7e,0x1f,0xa, 0x15,0xda,0x79,0x22,0xca,0x79,0x7c,0xe7,0x7c,0xfb,
+0x74,0x4, 0xac,0xbf,0x12,0x27,0xea,0x12,0x27,0x98,0x68,0xf, 0x74,0x4, 0xac,0xbf,
+0x49,0x35,0x9, 0x6b,0x49,0x25,0x9, 0x69,0x12,0x26,0x86,0xbe,0xe0,0x5, 0x68,0xf,
+0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x73,0x49,0x25,0x9, 0x71,0x12,0x26,0x86,0x7e,
+0x1f,0xa, 0x15,0xda,0x79,0x22,0x12,0x26,0x4, 0x7f,0x1, 0x7e,0x1f,0xa, 0x15,0x2f,
+0x10,0x7a,0x1f,0xa, 0x15,0x22,0xca,0x3b,0x9f,0x11,0x7a,0x1f,0x0, 0xa2,0x6c,0xff,
+0xe1,0x7a,0x7c,0x1f,0x2e,0x10,0x16,0xa5,0xe7,0x7c,0xeb,0xa, 0x1e,0x7e,0x24,0x0,
+0x6, 0x8d,0x12,0x7c,0xd3,0xa, 0x3e,0x8d,0x32,0x7c,0xc5,0x12,0x27,0xdb,0x7c,0x7d,
+0x12,0x26,0xe, 0x7a,0x1f,0xa, 0xd, 0x4c,0xcc,0x68,0xc, 0x7c,0xbe,0x14,0x7c,0x7d,
+0x12,0x26,0xe, 0x7a,0x1f,0xa, 0x5, 0xbe,0xc0,0x5, 0x68,0xc, 0x7c,0xbe,0x4, 0x7c,
+0x7d,0x12,0x26,0xe, 0x7a,0x1f,0xa, 0x9, 0xa, 0x1c,0x12,0x5a,0xe4,0xa, 0x1c,0x12,
+0x5b,0x41,0xa, 0x1c,0x12,0x5a,0x58,0x7e,0x1f,0x0, 0xa2,0xbf,0x10,0x50,0x8, 0x7e,
+0x1f,0xa, 0x1, 0x7a,0x1f,0x0, 0xa2,0x7e,0x1f,0x9, 0xfd,0x74,0x6, 0x2f,0x11,0x14,
+0x78,0xfb,0x7e,0xf, 0xa, 0x1, 0x12,0x27,0xc1,0x7a,0x37,0xa, 0x11,0x12,0x27,0xdb,
+0x7c,0xbe,0x7c,0x7c,0x12,0x26,0x4a,0x7a,0x1f,0xa, 0xd, 0x4c,0xdd,0x68,0xd, 0x7c,
+0xbe,0x24,0xfa,0x7c,0x7c,0x12,0x26,0x4a,0x7a,0x1f,0xa, 0x5, 0xbe,0xd0,0x5, 0x68,
+0xd, 0x7c,0xbe,0x24,0x6, 0x7c,0x7c,0x12,0x26,0x4a,0x7a,0x1f,0xa, 0x9, 0xa, 0x1d,
+0x12,0x5a,0xe4,0xa, 0x1d,0x12,0x5b,0x41,0xa, 0x1d,0x12,0x5a,0x58,0x74,0x6, 0x2f,
+0x11,0x14,0x78,0xfb,0x12,0x27,0xc1,0x7a,0x37,0xa, 0x13,0x7e,0x27,0xa, 0x11,0x74,
+0x5, 0xac,0xbf,0x59,0x25,0x0, 0x7a,0x12,0x3c,0x55,0x12,0x38,0x94,0x50,0x2, 0xc1,
+0xa2,0xda,0x3b,0x22,0x12,0x26,0x4, 0x7e,0xd, 0x2a,0x12,0x3, 0xec,0x7f,0x3, 0x22,
+0x7e,0x8, 0x0, 0x4, 0x7e,0x1d,0x2a,0x22,0x12,0x26,0x4, 0x7a,0x1f,0xa, 0x15,0x4c,
+0xee,0x22,0x12,0x27,0xd1,0xe5,0x1b,0xa, 0x1b,0x6d,0x0, 0x12,0x27,0xb7,0x2, 0x24,
+0x31,0xa, 0x1b,0x6d,0x0, 0x7f,0x17,0x12,0x3, 0xec,0x7e,0x8, 0x0, 0x64,0x2, 0x4,
+0x59,0x12,0x4, 0x8, 0x2e,0x18,0x0, 0x20,0x22,0x7f,0x13,0x12,0x3, 0xec,0x7f,0x7,
+0x22,0x7d,0xf3,0x49,0x3f,0x0, 0x2, 0xb, 0xf8,0x20,0x22,0x9f,0x11,0x7a,0x1f,0xa,
+0x5, 0x7a,0x1f,0xa, 0x9, 0x22,0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x6f,0x49,0x25,
+0x9, 0x6d,0x22,0x7a,0x1f,0xa, 0x5, 0x7e,0x1f,0xa, 0x9, 0x22,0x9f,0x11,0x7a,0x1f,
+0x5, 0x28,0x7a,0x1f,0x5, 0x2c,0x6c,0xaa,0x12,0x23,0x30,0x7e,0x7f,0x5, 0x28,0xbf,
+0x71,0x58,0x4, 0x7a,0x1f,0x5, 0x28,0xb, 0xa0,0xbe,0xa0,0x16,0x40,0xea,0x7e,0x1f,
+0x5, 0x28,0x7a,0x1f,0x5, 0x2c,0x22,0x12,0x2f,0x75,0xa5,0xbe,0x1, 0x14,0x7e,0xa3,
+0xd, 0x12,0xbe,0xa0,0xfa,0x50,0x2c,0x7e,0xb3,0xd, 0x10,0x70,0x26,0x7c,0xba,0x4,
+0x80,0x1d,0xbe,0x60,0x2, 0x40,0x3, 0xe4,0x80,0x15,0x7e,0x53,0xd, 0x12,0xbe,0x50,
+0x4, 0x50,0xb, 0xbe,0x50,0x0, 0x28,0x6, 0x74,0x3, 0x7a,0xb3,0xd, 0x10,0xe4,0x7a,
+0xb3,0xd, 0x12,0x7e,0xa3,0xd, 0x10,0x4c,0xaa,0x68,0x20,0x4c,0x66,0x68,0x8, 0x7c,
+0xb7,0x12,0x28,0x90,0xe4,0x80,0x10,0x7c,0xb7,0xc4,0x54,0xf, 0xb4,0x1, 0x5, 0x7c,
+0xb7,0x12,0x2d,0x34,0x7c,0xba,0x14,0x7a,0xb3,0xd, 0x10,0x22,0x7e,0xb3,0x0, 0x90,
+0x54,0xf0,0x7a,0xb3,0x0, 0x90,0x22,0xca,0x3b,0x12,0x2f,0x3c,0x78,0x4, 0x6c,0xff,
+0x80,0x3, 0x7e,0xf0,0x2, 0x12,0x2d,0x19,0x78,0x1d,0x7c,0xba,0x54,0xf, 0xbe,0xb0,
+0x2, 0x40,0x14,0x5, 0x4d,0xe5,0x4d,0xbc,0xbf,0x38,0x5, 0x7c,0xba,0x12,0x28,0x90,
+0xe4,0x7a,0xb3,0xb, 0x37,0x80,0x3, 0x75,0x4d,0x0, 0x12,0x2d,0x19,0x78,0x8, 0x5e,
+0xa0,0xf, 0xbe,0xa0,0x1, 0x28,0x11,0xe4,0x7a,0xb3,0xb, 0x37,0x6d,0x33,0x7a,0x37,
+0xb, 0x4f,0x7a,0x37,0xb, 0x51,0x41,0x9d,0x7e,0xb3,0xb, 0xb3,0xbe,0xb0,0x1, 0x78,
+0x2, 0x41,0x9d,0x4c,0xaa,0x78,0x2, 0x41,0x6b,0x7e,0xe3,0xb, 0x37,0xbe,0xe0,0x2,
+0x28,0x2, 0x41,0x43,0x7c,0xbe,0x4, 0x7a,0xb3,0xb, 0x37,0x7e,0xa3,0xb, 0x37,0xbe,
+0xa0,0x1, 0x78,0x33,0x7e,0x37,0x0, 0x7a,0x7a,0x37,0xb, 0x41,0x7e,0x37,0x0, 0x7c,
+0x7a,0x37,0xb, 0x43,0x7e,0x1f,0xb, 0x41,0x7a,0x1f,0xb, 0x45,0x7e,0x1f,0xb, 0x41,
+0x7a,0x1f,0xb, 0x49,0x6d,0x33,0x7a,0x37,0xb, 0x4d,0x7a,0x37,0xb, 0x4f,0x7a,0x37,
+0xb, 0x51,0x12,0x28,0x8c,0x41,0x96,0xbe,0xa0,0x2, 0x40,0x18,0x7e,0x37,0x0, 0x7a,
+0x2e,0x37,0xb, 0x4f,0x7a,0x37,0xb, 0x4f,0x7e,0x37,0x0, 0x7c,0x2e,0x37,0xb, 0x51,
+0x7a,0x37,0xb, 0x51,0x7e,0x37,0xb, 0x41,0x12,0x2d,0xa, 0x7d,0x63,0x7e,0x37,0xb,
+0x43,0x12,0x2d,0x3, 0x7a,0x35,0x22,0x7e,0x37,0xb, 0x45,0x12,0x2d,0xa, 0x7a,0x35,
+0x24,0x7e,0x37,0xb, 0x47,0x12,0x2d,0x3, 0x7d,0x23,0x7e,0x35,0x22,0x2d,0x36,0xbe,
+0x34,0x0, 0xf, 0x50,0x18,0xbe,0x64,0x0, 0x7, 0x50,0x12,0x2e,0x25,0x24,0xbe,0x24,
+0x0, 0x1e,0x50,0x9, 0x7e,0x25,0x24,0xbe,0x24,0x0, 0xf, 0x40,0x53,0x7e,0x53,0xb,
+0x37,0xbc,0x5f,0x28,0x4b,0xe4,0x7a,0xb3,0xb, 0x37,0xbe,0x34,0x0, 0x8, 0x38,0x2,
+0x41,0x96,0x7e,0x37,0xb, 0x45,0xbe,0x34,0x0, 0x28,0x40,0x6, 0xbe,0x34,0x1, 0x66,
+0x28,0x24,0x7e,0x27,0xb, 0x47,0xbe,0x24,0x0, 0x28,0x28,0x1a,0xbe,0x24,0x1, 0x66,
+0x50,0x14,0x7a,0x37,0x0, 0x7a,0x7e,0x27,0x0, 0x7c,0x2e,0x27,0xb, 0x47,0x1e,0x24,
+0x7a,0x27,0x0, 0x7c,0x41,0x96,0x7a,0x37,0x0, 0x7a,0x7e,0x37,0xb, 0x47,0x80,0x65,
+0x7e,0x27,0x0, 0x7a,0x7a,0x27,0xb, 0x41,0x7e,0x37,0x0, 0x7c,0x7a,0x37,0xb, 0x43,
+0x7e,0xa3,0x0, 0x76,0x74,0x4, 0xa4,0x49,0x15,0x3, 0x5e,0x49,0x5, 0x3, 0x5c,0x7e,
+0xf7,0xb, 0x4d,0x6d,0xee,0xbf,0x70,0x58,0xc, 0x7a,0x17,0xb, 0x4d,0x7a,0x27,0xb,
+0x49,0x7a,0x37,0xb, 0x4b,0x7e,0x73,0x0, 0x90,0x7c,0xb7,0xc4,0x7c,0x6b,0x12,0x2d,
+0x23,0x80,0x53,0xa, 0x2e,0xb, 0x24,0x1b,0x25,0x7e,0x17,0xb, 0x4f,0x8d,0x12,0x7a,
+0x17,0xb, 0x41,0x7e,0x37,0xb, 0x51,0x8d,0x32,0x7a,0x37,0xb, 0x43,0x7e,0x27,0xb,
+0x41,0x7a,0x27,0x0, 0x7a,0x7a,0x37,0x0, 0x7c,0x80,0x2b,0x7e,0x73,0xb, 0x37,0xbc,
+0x7f,0x28,0x1b,0x7e,0x37,0xb, 0x49,0x7a,0x37,0x0, 0x7a,0x7e,0x37,0xb, 0x4b,0x7a,
+0x37,0x0, 0x7c,0x12,0x2d,0x30,0x74,0x1, 0x7a,0xb3,0xb, 0x38,0x80,0x3, 0x12,0x28,
+0x8c,0xe4,0x7a,0xb3,0xb, 0x37,0x12,0xe, 0xaf,0x78,0x2, 0xf5,0x9, 0xda,0x3b,0x22,
+0xca,0x3b,0x6c,0xee,0x9f,0x44,0x7f,0x74,0x7a,0x4f,0x9, 0xfe,0x7a,0x4f,0xa, 0x2,
+0x7a,0x4f,0xa, 0x6, 0x7a,0x4f,0xa, 0xa, 0x7a,0x4f,0xa, 0xe, 0x7f,0x64,0x7f,0x54,
+0x6c,0xdd,0x12,0x27,0xe6,0xbf,0x71,0x58,0x4, 0x7f,0x71,0x7c,0xfd,0xb, 0xd0,0xbe,
+0xd0,0x24,0x78,0xee,0x7e,0x37,0x3, 0x49,0x6d,0x22,0xbf,0x71,0x58,0xb, 0x12,0x28,
+0x8c,0x7e,0xb3,0x0, 0x91,0x54,0xf0,0x80,0x17,0xe5,0xe, 0xb4,0x1, 0x18,0x12,0x2c,
+0xf1,0x7a,0xb3,0x0, 0x76,0x12,0x2d,0x30,0x7e,0xb3,0x0, 0x91,0x54,0xf0,0x44,0x1,
+0x7a,0xb3,0x0, 0x91,0x81,0xe5,0x6c,0xdd,0xa, 0x5d,0x7e,0x24,0x0, 0x6, 0x8d,0x52,
+0x7a,0xb3,0x9, 0xfd,0xa, 0x3d,0x8d,0x32,0x7c,0xc5,0x70,0x4, 0x9f,0x11,0x80,0xc,
+0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x57,0x49,0x25,0x9, 0x55,0x7a,0x1f,0x9, 0xfe,
+0x7e,0xb3,0x9, 0xfd,0xb4,0x5, 0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,
+0x35,0x9, 0x87,0x49,0x25,0x9, 0x85,0x7a,0x1f,0xa, 0x2, 0x4c,0xcc,0x78,0x4, 0x9f,
+0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x6b,0x49,0x25,0x9, 0x69,0x7a,
+0x1f,0xa, 0x6, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,
+0x49,0x35,0x9, 0x73,0x49,0x25,0x9, 0x71,0x7a,0x1f,0xa, 0xa, 0x7e,0xb3,0x9, 0xfd,
+0x60,0x4, 0x4c,0xcc,0x78,0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,
+0x9, 0x53,0x49,0x25,0x9, 0x51,0x7a,0x1f,0xa, 0xe, 0x12,0x2d,0x11,0x68,0x4, 0x4c,
+0xcc,0x78,0x4, 0x9f,0x66,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0xd5,0x9, 0x83,0x49,
+0xc5,0x9, 0x81,0x7e,0xb3,0x9, 0xfd,0x60,0x5, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x55,
+0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0xb5,0x9, 0x5b,0x49,0xa5,0x9, 0x59,0x12,0x2d,
+0x11,0x68,0x5, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x44,0x80,0xc, 0x74,0x4, 0xac,0xbd,
+0x49,0x95,0x9, 0x8b,0x49,0x85,0x9, 0x89,0x12,0x2c,0xe8,0x49,0x5, 0x9, 0x6d,0x7e,
+0x37,0x3, 0x49,0x6d,0x22,0xbf,0x1, 0x58,0x2, 0x81,0xc3,0xe5,0xc, 0x12,0x27,0xb1,
+0x7f,0x1, 0x12,0x27,0xe6,0xbf,0x10,0x18,0x2, 0x81,0xc3,0x12,0x2c,0xe8,0x49,0x5,
+0x9, 0x6d,0x7e,0x1f,0x9, 0xfe,0xbf,0x1, 0x58,0x2, 0x81,0xc3,0x12,0x2c,0xe8,0x49,
+0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0x2, 0xbf,0x1, 0x58,0x2, 0x81,0xc3,0x12,0x2c,0xe8,
+0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0x6, 0xbf,0x1, 0x58,0x2, 0x81,0xc3,0x12,0x2c,
+0xe8,0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0xa, 0xbf,0x1, 0x48,0x76,0x12,0x2c,0xe8,
+0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0xe, 0xbf,0x1, 0x48,0x67,0x12,0x27,0xe6,0xbf,
+0x16,0x48,0x60,0x12,0x27,0xe6,0xbf,0x15,0x48,0x59,0x12,0x27,0xe6,0xbf,0x14,0x48,
+0x52,0x7c,0x1e,0x2e,0x10,0x16,0x7c,0xbd,0xa5,0xf7,0xa, 0x3d,0x12,0x2c,0xf6,0xa,
+0x3e,0x19,0xb3,0x0, 0x76,0xb, 0xe0,0x7e,0x30,0x4, 0xac,0x3d,0x2e,0x14,0x9, 0x6d,
+0x12,0x2d,0xbb,0xb, 0x1c,0x12,0x17,0xe7,0xbe,0xe1,0xe, 0x40,0x26,0x7e,0xe1,0xe,
+0xbe,0xe0,0x2, 0x78,0x27,0x7e,0x73,0x0, 0x76,0xbe,0x70,0xf, 0x38,0x9, 0x7e,0x73,
+0x0, 0x77,0xbe,0x70,0xf, 0x28,0x15,0x7e,0xe0,0x1, 0x12,0x2c,0xf1,0x7a,0xb3,0x0,
+0x76,0x80,0x9, 0xb, 0xd0,0xbe,0xd0,0x24,0x50,0x2, 0x61,0x8, 0x7c,0x6e,0x5e,0x60,
+0xf, 0x7e,0x73,0x0, 0x90,0x12,0x2d,0x26,0x7e,0x73,0x0, 0x91,0x5e,0x70,0xf0,0x4c,
+0x76,0x7a,0x73,0x0, 0x91,0xda,0x3b,0x22,0x74,0x4, 0xac,0xbd,0x49,0x15,0x9, 0x6f,
+0x22,0x7a,0xf1,0x16,0xa, 0x3f,0x2e,0x34,0x0, 0x46,0x7a,0x71,0x82,0x7a,0x61,0x83,
+0xe4,0x93,0x22,0x9e,0x37,0x0, 0x7c,0x2, 0x0, 0x2e,0x9e,0x37,0x0, 0x7a,0x2, 0x0,
+0x2e,0x7e,0xb3,0x9, 0xfd,0xbe,0xb0,0x5, 0x22,0x7e,0xa3,0x0, 0x90,0x7c,0xba,0xc4,
+0x54,0xf, 0x22,0x5e,0x60,0xf, 0x5e,0x70,0xf0,0x4c,0x76,0x7a,0x73,0x0, 0x90,0x22,
+0x7e,0xb3,0x0, 0x90,0x54,0xf0,0x44,0x1, 0x7a,0xb3,0x0, 0x90,0x22,0xca,0x79,0x9f,
+0x11,0x7a,0x1f,0x9, 0xfd,0x7e,0xa3,0x0, 0x90,0x7c,0xba,0x54,0xf, 0xb4,0x1, 0x64,
+0x7e,0x1f,0x0, 0xa2,0x7a,0x1f,0x9, 0xfd,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x6, 0x7e,
+0x1f,0x9, 0xfd,0x80,0x34,0x7e,0x37,0xb, 0x3b,0x12,0x2d,0x3, 0x7d,0x73,0x7e,0x37,
+0xb, 0x39,0x12,0x2d,0xa, 0x2d,0x37,0xbe,0x34,0x0, 0xf, 0x58,0x20,0x7e,0x1f,0xb,
+0x3d,0x7f,0x1, 0x1e,0x14,0x1e,0x4, 0x50,0x3, 0x4e,0x20,0x80,0x7e,0x1f,0x9, 0xfd,
+0xbf,0x10,0x50,0x5, 0x12,0x28,0x8c,0x80,0x4, 0x7a,0x1f,0xb, 0x3d,0x7e,0x37,0x0,
+0x7a,0x7a,0x37,0xb, 0x39,0x7e,0x37,0x0, 0x7c,0x7a,0x37,0xb, 0x3b,0x12,0xe, 0xaf,
+0x78,0x2, 0xf5,0x9, 0xda,0x79,0x22,0x7d,0x16,0x2d,0x17,0x49,0x31,0x0, 0x2, 0xb,
+0x18,0x20,0x22,0xca,0x3b,0x7c,0xab,0x7d,0x73,0x4d,0x77,0x78,0x2, 0xc1,0xda,0x4d,
+0x22,0x78,0x2, 0xc1,0xda,0xe4,0x7a,0xb3,0x6, 0x4d,0x6c,0x99,0xc1,0x5e,0x7e,0x70,
+0x4, 0xac,0x79,0x2d,0x37,0x49,0xf3,0x0, 0x2, 0xb, 0x38,0xe0,0xbe,0x7c,0xfc,0x18,
+0x58,0x5, 0xbe,0x90,0x16,0x40,0x15,0xbe,0x7c,0xf8,0x30,0x58,0x58,0xbe,0x90,0x16,
+0x40,0x53,0x7e,0xf, 0x5, 0x28,0xbe,0x8, 0x7, 0xd0,0x58,0x49,0xa, 0x39,0x7d,0x13,
+0x2e,0x14,0xa, 0xd1,0x7e,0x19,0xb0,0x4, 0x7a,0x19,0xb0,0x9, 0xb3,0xa, 0xd1,0xbe,
+0xb0,0xc, 0x28,0x38,0x7e,0x70,0x2, 0xac,0x79,0x2d,0x32,0xb, 0x38,0x10,0x1a,0x2,
+0x1a,0x0, 0x2f,0x7, 0xbe,0x8, 0x38,0x40,0x58,0x22,0x74,0x1, 0x7a,0xb3,0x6, 0x4d,
+0x6c,0x88,0x80,0xa, 0x74,0x1, 0xa, 0x38,0x19,0xb3,0xa, 0xe7,0xb, 0x80,0xbe,0x80,
+0x0, 0x40,0xf1,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0xd1,0xb, 0x90,0xbc,0xa9,
+0x28,0x2, 0xa1,0xde,0x6c,0x99,0x80,0x6a,0x7e,0xd0,0x4, 0xac,0xd9,0x12,0x2d,0xb7,
+0xbe,0x1c,0xfc,0xe0,0x58,0x21,0xa, 0x39,0x7d,0x23,0x2e,0x24,0xa, 0x8d,0x12,0x2e,
+0xdd,0x9, 0x83,0xa, 0x8d,0xbe,0x80,0xf, 0x28,0x14,0x12,0x41,0x40,0x60,0xf, 0x74,
+0x3, 0x7a,0xb3,0x6, 0x4d,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0x8d,0x12,0x2d,
+0xb7,0xbe,0x1c,0xfc,0xe0,0x58,0x22,0x7e,0xb3,0x6, 0x4d,0x70,0x1c,0xa, 0x39,0x7d,
+0x23,0x2e,0x24,0xa, 0xbb,0x12,0x2e,0xdd,0x9, 0x83,0xa, 0xbb,0xbe,0x80,0x12,0x28,
+0xf, 0x74,0x2, 0x7a,0xb3,0x6, 0x4d,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0xbb,
+0xb, 0x90,0x7e,0x83,0x6, 0xc6,0xbc,0x89,0x38,0x8e,0xda,0x3b,0x22,0x7e,0x29,0xb0,
+0x4, 0x7a,0x29,0xb0,0x22,0x6c,0xaa,0x7e,0x90,0x5, 0xac,0x9a,0x9, 0xb4,0x2, 0xba,
+0xbe,0xb0,0xff,0x68,0xa, 0x49,0x34,0x2, 0xb8,0xbe,0x34,0x1, 0x8d,0x50,0x33,0xb,
+0xa0,0xbe,0xa0,0x2, 0x40,0xe1,0x12,0x2f,0x33,0x78,0x21,0x7c,0xb7,0xc4,0x7c,0x6b,
+0x5e,0x60,0xf, 0xbe,0x60,0x0, 0x28,0x14,0xe5,0x4c,0xbe,0xb0,0x1, 0x50,0x9, 0x12,
+0x2d,0x26,0x75,0x12,0x1, 0x5, 0x4c,0x22,0x75,0x4c,0x0, 0x22,0x75,0x4c,0x0, 0x75,
+0x12,0x0, 0x22,0x7e,0x73,0x0, 0x90,0x7c,0xb7,0x54,0xf, 0x22,0x7e,0x37,0x0, 0x92,
+0xbe,0x34,0x0, 0x1, 0x22,0x12,0x2f,0x3c,0x78,0x1b,0x7e,0xb3,0x6, 0x67,0x20,0xe5,
+0x14,0x7e,0xb3,0x6, 0xcb,0x20,0xe0,0xd, 0x12,0x2f,0x66,0x7e,0xb3,0x6, 0xcb,0x44,
+0x1, 0x7a,0xb3,0x6, 0xcb,0x22,0xa9,0xc0,0xca,0x6d,0x22,0x12,0x2f,0x7f,0x5e,0x60,
+0x7f,0x1b,0x28,0x30,0x22,0x7e,0x73,0x0, 0x90,0x7c,0x67,0x5e,0x60,0xf, 0x22,0x7e,
+0x34,0x13,0x14,0x1b,0x38,0x20,0x7e,0x24,0x12,0x4, 0xb, 0x28,0x30,0x22,0x7e,0xb3,
+0x6, 0xcb,0x30,0xe0,0x16,0xa9,0xd0,0xca,0x7e,0x24,0x0, 0x3f,0x12,0x2f,0x7f,0x4e,
+0x60,0x80,0x1b,0x28,0x30,0x54,0xfe,0x7a,0xb3,0x6, 0xcb,0x22,0xc2,0xab,0x12,0x2f,
+0x45,0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xd5,0xc9,0xd2,0xaf,0xa9,0xd0,0xcd,0xd2,0xc8,
+0xd2,0xa8,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd7,0x9e,0xd2,0xaf,0x74,0x1, 0x12,0x4a,
+0x48,0x74,0x2, 0x12,0xf, 0xcd,0x12,0x2f,0xf2,0xc2,0xa8,0xa9,0xc0,0xcd,0xc2,0xc8,
+0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xc5,0xc9,0xd2,0xaf,0xd2,0xab,0x12,0x4a,0x30,0x2,
+0x2f,0x8e,0x43,0xc8,0xc9,0x43,0xcb,0x8e,0x22,0xbd,0x32,0x58,0x3, 0x7d,0x32,0x22,
+0xbd,0x31,0x8, 0x2, 0x7d,0x31,0x22,0x6d,0x11,0x80,0x48,0x6d,0x0, 0x80,0x38,0x7d,
+0xf0,0x3e,0xf4,0x3e,0xf4,0x7d,0xef,0x2d,0xe3,0x49,0xde,0x0, 0x6, 0x49,0xce,0x0,
+0x4, 0x49,0x5e,0x0, 0x2, 0xb, 0xe8,0x40,0xbf,0x26,0x58,0x19,0x49,0xde,0x0, 0x6,
+0x49,0xce,0x0, 0x4, 0x59,0xde,0x0, 0x2, 0x1b,0xe8,0xc0,0x2d,0xf3,0x59,0x5f,0x0,
+0x6, 0x59,0x4f,0x0, 0x4, 0xb, 0x4, 0x7d,0xf2,0x1b,0xf4,0x9d,0xf1,0xbd,0xf0,0x38,
+0xbe,0xb, 0x14,0xbd,0x21,0x38,0xb4,0x22,0xca,0x3b,0xf5,0x26,0x7a,0xd, 0x22,0x7f,
+0x31,0x75,0x29,0x0, 0x75,0x2a,0x0, 0x7e,0x34,0x9, 0xfd,0x7e,0x24,0x0, 0x90,0xe4,
+0x12,0x4, 0xeb,0x6c,0xaa,0x12,0x23,0x30,0xbf,0x13,0x8, 0x11,0x7e,0x31,0x29,0x74,
+0x4, 0xac,0x3b,0x59,0x31,0x9, 0xff,0x59,0x21,0x9, 0xfd,0x5, 0x29,0xb, 0xa0,0xbe,
+0xa0,0x16,0x78,0xe1,0xe5,0x26,0xbe,0xb1,0x29,0x38,0x38,0x7e,0xd, 0x22,0x7e,0x1f,
+0x5, 0x28,0xbf,0x10,0x58,0x2d,0x7e,0x34,0x9, 0xfd,0xe5,0x26,0xa, 0x2b,0x12,0x30,
+0x7, 0x7e,0xa1,0x27,0x74,0x4, 0xa4,0x49,0x35,0x9, 0xff,0x49,0x25,0x9, 0xfd,0xe5,
+0x28,0xa, 0x1b,0x6d,0x0, 0x12,0x3, 0xec,0x7e,0xf, 0x9, 0xfd,0xbf,0x10,0x8, 0x3,
+0x75,0x2a,0x1, 0xe5,0x2a,0xda,0x3b,0x22,0x75,0x27,0xa, 0x75,0x28,0x5, 0x7e,0x18,
+0x3, 0xe8,0x7e,0x8, 0x27,0x10,0x74,0xc, 0x12,0x30,0x58,0x70,0x13,0x75,0x27,0xa,
+0x75,0x28,0x4, 0x7e,0x18,0x3, 0xe8,0x7e,0x8, 0x27,0x10,0x74,0xa, 0x12,0x30,0x58,
+0x60,0x13,0x7e,0xb3,0x6, 0x67,0x44,0x2, 0x7a,0xb3,0x6, 0x67,0x12,0x28,0x8c,0xe4,
+0x7a,0xb3,0xd, 0x11,0x22,0x7e,0xa3,0x6, 0x67,0x7c,0xba,0x30,0xe1,0x1b,0x7e,0xb3,
+0xd, 0x11,0x4, 0x7a,0xb3,0xd, 0x11,0xbe,0xb0,0x14,0x40,0xd, 0xe4,0x7a,0xb3,0xd,
+0x11,0x7c,0xba,0x54,0xfd,0x7a,0xb3,0x6, 0x67,0x22,0x75,0x39,0x3, 0x75,0x3f,0x0,
+0x22,0xbe,0xb0,0xa, 0x50,0x8, 0x7c,0x1b,0x2e,0x10,0x37,0xa5,0xe7,0x22,0x2, 0x31,
+0x51,0xb4,0xae,0x5, 0x7e,0xb3,0x3, 0x34,0x22,0x24,0xf6,0xbe,0xb0,0x30,0x40,0x2,
+0x61,0x7, 0x7e,0xa0,0x3, 0xa4,0x90,0x31,0x6a,0x73,0x2, 0x31,0xfa,0x2, 0x31,0xfd,
+0x2, 0x31,0xff,0x2, 0x32,0x4, 0x2, 0x32,0x9, 0x2, 0x32,0xe, 0x2, 0x32,0x13,0x2,
+0x32,0x18,0x2, 0x32,0x1d,0x2, 0x32,0x22,0x2, 0x32,0x27,0x2, 0x32,0x2c,0x2, 0x32,
+0x31,0x2, 0x32,0x45,0x2, 0x32,0x4a,0x2, 0x33,0x7, 0x2, 0x32,0x4f,0x2, 0x32,0x54,
+0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2,
+0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,
+0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7,
+0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x32,0x59,0x2,
+0x32,0x5e,0x2, 0x32,0x63,0x2, 0x32,0x68,0x2, 0x32,0x6d,0x2, 0x32,0x72,0x2, 0x33,
+0x7, 0x2, 0x32,0xa5,0x2, 0x33,0x7, 0x2, 0x32,0xd4,0x74,0x16,0x22,0xe4,0x22,0x7e,
+0xb3,0x3, 0x35,0x22,0x7e,0xb3,0x3, 0x38,0x22,0x7e,0xb3,0x3, 0x39,0x22,0x7e,0xb3,
+0x3, 0x3a,0x22,0x7e,0xb3,0x3, 0x3b,0x22,0x7e,0xb3,0x3, 0x3c,0x22,0x7e,0xb3,0x3,
+0x3d,0x22,0x7e,0xb3,0x3, 0x36,0x22,0x7e,0xb3,0x3, 0x37,0x22,0x7e,0xb3,0x3, 0x40,
+0x22,0x7e,0xb3,0xc, 0xd0,0x70,0x8, 0x7e,0x27,0x3, 0x30,0xa, 0x54,0x80,0xa, 0x7e,
+0x57,0x3, 0x30,0x80,0x4, 0x7e,0x57,0x3, 0x30,0x22,0x7e,0xb3,0x3, 0x3f,0x22,0x7e,
+0xb3,0x3, 0x41,0x22,0x7e,0xb3,0x6, 0xd4,0x22,0x7e,0xb3,0x3, 0x43,0x22,0x7e,0xb3,
+0x3, 0x44,0x22,0x7e,0xb3,0x3, 0x45,0x22,0x7e,0xb3,0x3, 0x46,0x22,0x7e,0xb3,0x3,
+0x47,0x22,0x7e,0x73,0x3, 0x47,0x7c,0xb7,0x4, 0x7a,0xb3,0x3, 0x47,0xbe,0x70,0x5c,
+0x50,0x20,0xa, 0x27,0x7d,0x12,0x5e,0x14,0x0, 0x1, 0x68,0xb, 0x7d,0x12,0x1e,0x14,
+0x3e,0x14,0x49,0x51,0xc, 0x20,0x22,0x1e,0x24,0x3e,0x24,0x49,0x22,0xc, 0x20,0xa,
+0x54,0x22,0x74,0xee,0x22,0x7e,0x73,0x3, 0x44,0x7c,0xb7,0x4, 0x7a,0xb3,0x3, 0x44,
+0xbe,0x70,0x2e,0x50,0x1c,0xbe,0x70,0x16,0x50,0x2, 0x80,0x5, 0xbe,0x70,0x16,0x50,
+0xb, 0xa, 0x37,0x2e,0x34,0x4, 0xc5,0x12,0x2c,0xfa,0x7c,0x7b,0xb, 0x70,0x7c,0xb7,
+0x22,0x74,0xee,0x22,0x7e,0x73,0x3, 0x46,0x7c,0xb7,0x4, 0x7a,0xb3,0x3, 0x46,0xbe,
+0x70,0x5c,0x50,0x20,0xa, 0x27,0x7d,0x12,0x5e,0x14,0x0, 0x1, 0x68,0xb, 0x7d,0x12,
+0x1e,0x14,0x3e,0x14,0x49,0x51,0x2, 0xd4,0x22,0x1e,0x24,0x3e,0x24,0x49,0x22,0x2,
+0xd4,0xa, 0x54,0x22,0x74,0xee,0x22,0x74,0xee,0x22,0x7c,0xab,0x24,0x0, 0x78,0x5,
+0x7e,0xb3,0xc, 0xd6,0x22,0xbe,0xa0,0xaf,0x38,0xc, 0x7e,0xb3,0xb, 0x9f,0xb4,0x3,
+0x5, 0x7c,0xba,0x2, 0x31,0x41,0x7c,0xba,0x22,0xca,0x79,0x20,0x90,0x2, 0x61,0xcf,
+0xd2,0x8, 0x7e,0xb3,0xc, 0xd2,0x4, 0x7a,0xb3,0xc, 0xd2,0x7e,0xf3,0xc, 0xd2,0xbe,
+0xf0,0x1, 0x78,0x22,0xe5,0x91,0x7a,0xb3,0xc, 0xd8,0x7e,0xb3,0xc, 0xd8,0xb4,0xd3,
+0xe, 0x74,0x1, 0x7a,0xb3,0xc, 0xd7,0x6d,0x33,0x7a,0x37,0xc, 0xd3,0x80,0x3c,0xe4,
+0x7a,0xb3,0xc, 0xd7,0x80,0x35,0x7e,0xb3,0xc, 0xd6,0xc4,0x7c,0xeb,0x5e,0xe0,0x7,
+0x78,0x8, 0x12,0x34,0xe9,0x12,0x37,0x23,0x80,0x21,0xbe,0xe0,0x4, 0x78,0x8, 0x12,
+0x34,0xe9,0x12,0x4b,0xa9,0x80,0x14,0x7e,0xb3,0xc, 0xd6,0xc4,0x54,0x7, 0xb4,0x1,
+0xa, 0x7e,0xb3,0xc, 0xd2,0x12,0x34,0xeb,0x12,0x37,0xdc,0x12,0x36,0xef,0x78,0xe,
+0xe4,0x12,0x34,0x5c,0xb4,0x10,0x2, 0x80,0x14,0x12,0x36,0xfa,0x80,0x12,0xbe,0xf0,
+0x4, 0x78,0x5, 0x12,0x34,0xdf,0x80,0x8, 0xbe,0xf0,0x1, 0x78,0x3, 0x12,0x37,0xc7,
+0x7e,0xb3,0xc, 0xd8,0xb4,0xd3,0x6, 0x7e,0xb3,0xb, 0xb6,0xf5,0x91,0xc2,0x90,0x20,
+0x91,0x2, 0x81,0x59,0xc2,0x8, 0x7e,0xb3,0xc, 0xd0,0x4, 0x12,0x36,0xeb,0x78,0x50,
+0x7e,0xb3,0xc, 0xd7,0xb4,0x1, 0x36,0x7e,0xa3,0x9, 0x6a,0x7e,0x70,0x4, 0xac,0x7a,
+0xbe,0x37,0xc, 0xd3,0x40,0x22,0x7e,0x37,0xc, 0xd3,0x4d,0x33,0x78,0x5, 0x7a,0xa1,
+0x91,0x80,0xd, 0x7d,0x23,0x1b,0x24,0x2e,0x27,0x6, 0xdb,0x7e,0x29,0xb0,0xf5,0x91,
+0xb, 0x34,0x7a,0x37,0xc, 0xd3,0x80,0x3f,0x75,0x91,0xff,0x80,0x3a,0xe4,0x12,0x34,
+0x5c,0xb4,0x10,0x6, 0x7e,0xb3,0xc, 0xd0,0x80,0x19,0x7e,0xb3,0xc, 0xd0,0x80,0x1e,
+0xbe,0xf0,0x4, 0x78,0x5, 0x12,0x34,0xdf,0x80,0x1d,0xbe,0xf0,0x1, 0x7e,0xb3,0xc,
+0xd0,0x78,0xb, 0x2e,0xb3,0xc, 0xd8,0x12,0x0, 0x9, 0xf5,0x91,0x80,0x9, 0x2e,0xb3,
+0xc, 0xd8,0x12,0x34,0x5c,0xf5,0x91,0xc2,0x91,0xda,0x79,0x22,0x7c,0x7b,0xbe,0x70,
+0x80,0x40,0xc, 0xbe,0x70,0xde,0x38,0x7, 0xa, 0x37,0x9, 0xb3,0xa, 0xe3,0x22,0xa5,
+0xbf,0x0, 0x5, 0x7e,0xb3,0xc, 0xd6,0x22,0x30,0x7, 0x6, 0x7e,0x24,0xc, 0xac,0x80,
+0x4, 0x7e,0x24,0xc, 0xbe,0x7a,0x25,0x4a,0x7c,0xb7,0x14,0xbe,0xb0,0xe, 0x50,0x4c,
+0x7e,0xa0,0x3, 0xa4,0x90,0x34,0x98,0x73,0x2, 0x34,0xc2,0x2, 0x34,0xca,0x2, 0x34,
+0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,
+0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2,
+0x34,0xd2,0x7e,0x35,0x4a,0x9, 0xb3,0x0, 0x4, 0x22,0x7e,0x35,0x4a,0x9, 0xb3,0x0,
+0x3, 0x22,0xa, 0x37,0x2e,0x35,0x4a,0x9, 0xb3,0x0, 0x2, 0x22,0x74,0xff,0x22,0x7e,
+0xb3,0xc, 0xd8,0x12,0x33,0xa, 0xf5,0x91,0x22,0x7c,0xbf,0x2e,0xb3,0xc, 0xd8,0x24,
+0xfe,0x7e,0x71,0x91,0x22,0xca,0xf8,0xe4,0x12,0x36,0xeb,0x78,0x5, 0x12,0x36,0xfa,
+0x80,0x12,0xbe,0xf0,0x4, 0x78,0x5, 0x12,0x34,0xdf,0x80,0x8, 0xbe,0xf0,0x1, 0x78,
+0x3, 0x12,0x37,0xc7,0x75,0x91,0x0, 0xe4,0x7a,0xb3,0xc, 0xd2,0x7a,0xb3,0xc, 0xd1,
+0x74,0xaa,0x7a,0xb3,0xc, 0xac,0x7a,0xb3,0xc, 0xad,0x7a,0xb3,0xc, 0xbe,0x7a,0xb3,
+0xc, 0xbf,0xda,0xf8,0x22,0xbe,0xb0,0xa, 0x50,0xa, 0x7c,0x1b,0x2e,0x10,0x37,0x7c,
+0xb7,0xa5,0xf7,0x22,0x2, 0x35,0x47,0xca,0x79,0x7c,0x6b,0xa5,0xbe,0xae,0x17,0x7a,
+0x73,0x3, 0x34,0x7e,0xb3,0x3, 0x34,0xb4,0x1, 0x5, 0xe4,0x7a,0xb3,0x3, 0x34,0xe4,
+0x7a,0xb3,0x3, 0x42,0xc1,0x65,0xa5,0xbe,0xaf,0x5, 0x12,0x37,0xea,0xc1,0xe8,0x7c,
+0xb6,0x24,0xf4,0xbe,0xb0,0x29,0x40,0x2, 0xc1,0xa0,0x7e,0xa0,0x3, 0xa4,0x90,0x35,
+0x82,0x73,0x2, 0x35,0xfd,0x2, 0x36,0x3, 0x2, 0x36,0x9, 0x2, 0x36,0xf, 0x2, 0x36,
+0x15,0x2, 0x36,0x1b,0x2, 0x36,0x21,0x2, 0x36,0x27,0x2, 0x36,0x2d,0x2, 0x36,0x33,
+0x2, 0x36,0x39,0x2, 0x36,0x51,0x2, 0x36,0x6a,0x2, 0x36,0xe1,0x2, 0x36,0x70,0x2,
+0x36,0x79,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,
+0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,
+0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2,
+0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,
+0x82,0x2, 0x36,0x88,0x2, 0x36,0x8e,0x2, 0x36,0x94,0x2, 0x36,0x9a,0x7e,0x74,0x3,
+0x35,0x80,0x7a,0x7e,0x74,0x3, 0x38,0x80,0x74,0x7e,0x74,0x3, 0x39,0x80,0x6e,0x7e,
+0x74,0x3, 0x3a,0x80,0x68,0x7e,0x74,0x3, 0x3b,0x80,0x62,0x7e,0x74,0x3, 0x3c,0x80,
+0x5c,0x7e,0x74,0x3, 0x3d,0x80,0x56,0x7e,0x74,0x3, 0x36,0x80,0x50,0x7e,0x74,0x3,
+0x37,0x80,0x4a,0x7e,0x74,0x3, 0x40,0x80,0x44,0x7e,0x27,0x3, 0x30,0x6c,0x44,0x7a,
+0x27,0x3, 0x30,0x7c,0x67,0x6c,0x77,0x4e,0x37,0x3, 0x30,0x7a,0x37,0x3, 0x30,0x80,
+0x14,0x7e,0x27,0x3, 0x30,0x6c,0x55,0x7a,0x27,0x3, 0x30,0xa, 0x37,0x4e,0x37,0x3,
+0x30,0x7a,0x37,0x3, 0x30,0x43,0xa, 0x1, 0x80,0x7e,0x7e,0x74,0x3, 0x3f,0x80,0xd,
+0x7e,0x74,0x3, 0x41,0x43,0xa, 0x4, 0x80,0x68,0x7e,0x74,0x6, 0xd4,0x43,0xa, 0x1,
+0x80,0x5f,0x7a,0x73,0x3, 0x43,0x80,0x60,0x7a,0x73,0x3, 0x44,0x80,0x5a,0x7a,0x73,
+0x3, 0x45,0x80,0x54,0x7a,0x73,0x3, 0x46,0x80,0x4e,0x7a,0x73,0x3, 0x47,0x80,0x48,
+0xbe,0x60,0x39,0x68,0x4, 0xa5,0xbe,0x3a,0x3f,0x7e,0x63,0x3, 0x45,0x7c,0xb6,0x4,
+0x7a,0xb3,0x3, 0x45,0xa, 0x26,0x5e,0x24,0x0, 0x1, 0xa, 0x16,0x68,0x12,0x12,0x37,
+0x4, 0x6c,0x55,0x1b,0x18,0x20,0xa, 0x17,0x12,0x37,0x10,0x43,0xa, 0x2, 0x80,0x18,
+0x12,0x37,0x4, 0x6c,0x44,0x1b,0x18,0x20,0x7c,0x27,0x6c,0x33,0x12,0x37,0x10,0x80,
+0x7, 0x4d,0x77,0x68,0x3, 0x7a,0x79,0x70,0xda,0x79,0x22,0x7a,0xb3,0xc, 0xd0,0x7e,
+0xb3,0xc, 0xd6,0xc4,0x7c,0xfb,0x5e,0xf0,0x7, 0x22,0x7e,0xb3,0xc, 0xd8,0x12,0x34,
+0x5c,0xf5,0x91,0x22,0x1e,0x14,0x3e,0x14,0x2e,0x14,0x2, 0xd4,0xb, 0x18,0x20,0x22,
+0xa, 0x26,0x1e,0x24,0x3e,0x24,0x2e,0x24,0x2, 0xd4,0xb, 0x28,0x30,0x4d,0x31,0x1b,
+0x28,0x30,0x22,0xca,0x69,0xca,0xf8,0x7c,0xf7,0xbe,0xb0,0x80,0x40,0xb, 0xbe,0xb0,
+0xde,0x38,0x6, 0x24,0x80,0x7c,0x7f,0xe1,0xbf,0x24,0x0, 0x68,0x2, 0xe1,0xc2,0x7e,
+0x64,0xc, 0xd6,0x7a,0x69,0xf0,0x5e,0xf0,0x70,0x7c,0xbf,0xc4,0x54,0xf, 0x7c,0xfb,
+0xbe,0xf0,0x4, 0x78,0x15,0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x7, 0x74,0x2, 0x7e,0x70,
+0x3, 0x80,0x36,0x74,0x3c,0x7e,0x70,0x3, 0x80,0x55,0x7e,0xb3,0xb, 0x9f,0xb4,0x3,
+0x2d,0x74,0x2, 0x7e,0x70,0x1, 0x12,0x35,0x35,0xbe,0xf0,0x1, 0x78,0x6, 0x74,0x2,
+0x6c,0x77,0x80,0x15,0x4c,0xff,0x78,0x7, 0x74,0x2, 0x7e,0x70,0x1, 0x80,0xa, 0xbe,
+0xf0,0x3, 0x78,0x2e,0x74,0x2, 0x7e,0x70,0x4, 0x12,0x35,0x35,0x80,0x24,0xbe,0xf0,
+0x1, 0x78,0x6, 0x74,0x3c,0x6c,0x77,0x80,0x16,0xbe,0xf0,0x4, 0x78,0x7, 0x74,0x3c,
+0x7e,0x70,0x3, 0x80,0xa, 0xbe,0xf0,0x3, 0x78,0x8, 0x74,0x3c,0x7e,0x70,0x4, 0x12,
+0x4b,0x75,0xda,0xf8,0xda,0x69,0x22,0x7e,0xb3,0xc, 0xd8,0x12,0x0, 0x9, 0xf5,0x91,
+0x22,0xe4,0x7a,0xb3,0xc, 0xd6,0x12,0x4d,0xe8,0x2, 0x34,0xf5,0x7c,0xa7,0x24,0x0,
+0x78,0x7, 0x7e,0x34,0xc, 0xd6,0x7a,0x39,0xa0,0x22,0x30,0x9, 0x8, 0x74,0x1, 0x12,
+0x43,0x3a,0xc2,0x9, 0x22,0xe4,0x12,0x43,0x3a,0xd2,0x9, 0x22,0x75,0xd, 0x0, 0xc2,
+0x5, 0x7e,0xb3,0xb, 0x88,0x70,0x7, 0x7e,0xb3,0x0, 0x95,0xf5,0x1a,0x22,0x7e,0xb3,
+0x0, 0x97,0xf5,0x1a,0x22,0x7d,0xd2,0x6d,0x22,0x9e,0x18,0x0, 0xc7,0x6d,0xcc,0x7e,
+0x78,0x0, 0xc7,0x7f,0x27,0x9f,0x26,0x12,0x3c,0x5c,0x2e,0x28,0x0, 0xc7,0x9f,0x71,
+0x7f,0x17,0xbe,0x28,0x0, 0x0, 0x58,0x4, 0x9f,0x22,0x80,0xa, 0xbe,0x28,0x1, 0x8e,
+0x48,0x4, 0x7e,0x28,0x1, 0x8d,0xbe,0x18,0x0, 0x0, 0x58,0x4, 0x9f,0x11,0x80,0xa,
+0xbe,0x18,0x1, 0x8e,0x48,0x4, 0x7e,0x18,0x1, 0x8d,0x1b,0x18,0x50,0x7d,0x13,0x1b,
+0x8, 0x10,0x22,0xca,0xf8,0x6c,0xff,0x80,0x23,0x74,0x5, 0xac,0xbf,0x12,0x3c,0xa,
+0x7e,0x14,0x0, 0x22,0x7e,0x4, 0x0, 0x24,0x12,0x38,0x15,0x7e,0x35,0x22,0x74,0x5,
+0xac,0xbf,0x59,0x35,0x0, 0x7a,0x7e,0x35,0x24,0x12,0x3c,0x51,0x12,0x38,0x94,0x48,
+0xd8,0xda,0xf8,0x22,0x7e,0xb3,0x0, 0x90,0x54,0xf, 0xa, 0x2b,0xa, 0x3f,0xbd,0x32,
+0x22,0xca,0x3b,0xc2,0xf, 0x75,0x2c,0x0, 0x7e,0xb3,0x3, 0x5a,0xbe,0xb0,0x2, 0x68,
+0x7, 0x7e,0xb3,0x3, 0x5b,0xb4,0x2, 0x16,0x12,0x2d,0x19,0xbe,0xb0,0x1, 0x38,0xe,
+0x7c,0xba,0x54,0xf, 0xbe,0xb0,0x1, 0x38,0x5, 0x7c,0xba,0x12,0x28,0x90,0x6c,0xff,
+0x7e,0xa0,0xff,0x7e,0x70,0x5, 0xac,0x7f,0x19,0xa3,0x0, 0x7e,0x7c,0x1f,0x2e,0x10,
+0x22,0x74,0xff,0xa5,0xf7,0x7e,0x24,0xff,0xff,0x12,0x3b,0xed,0x1b,0x38,0x20,0x7c,
+0x1f,0x2e,0x10,0x24,0xe4,0xa5,0xf7,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xd2,0x7e,0xa3,
+0x0, 0x90,0x7c,0xba,0x54,0xf, 0x78,0x1f,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x18,0x6c,
+0xff,0x12,0x3c,0x49,0xac,0x7f,0x59,0x43,0x3, 0x52,0x59,0x43,0x3, 0x56,0xb, 0xf0,
+0xbe,0xf0,0x2, 0x78,0xec,0x61,0x88,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x33,0x6c,0xff,
+0x7e,0xa0,0x1, 0x80,0x25,0x7c,0x1f,0x2e,0x10,0x24,0x7c,0xba,0x12,0x3b,0xf6,0x19,
+0xf3,0x0, 0x7e,0x49,0x43,0x0, 0x7a,0x7e,0x50,0x2, 0xac,0x5f,0x59,0x42,0x3, 0x52,
+0x49,0x33,0x0, 0x7c,0x59,0x32,0x3, 0x56,0xb, 0xf0,0x12,0x38,0x94,0x48,0xd6,0x61,
+0x88,0x6c,0xff,0x80,0x47,0x6c,0xee,0x74,0x2, 0xac,0xbe,0x49,0x25,0x3, 0x56,0x12,
+0x3e,0x8, 0x7d,0x63,0x74,0x2, 0xac,0xbe,0x49,0x25,0x3, 0x52,0x12,0x3c,0x73,0x2d,
+0x36,0x7a,0x35,0x26,0x7c,0xbf,0x3e,0xb0,0x24,0x28,0xa, 0x2b,0xb, 0x28,0x30,0xbe,
+0x35,0x26,0x28,0xf, 0x7c,0x1f,0x2e,0x10,0x22,0x7c,0xbe,0xa5,0xf7,0x7e,0x35,0x26,
+0x1b,0x28,0x30,0xb, 0xe0,0xbe,0xe0,0x2, 0x78,0xbd,0xb, 0xf0,0x12,0x38,0x94,0x48,
+0xb4,0x6c,0xff,0x41,0x51,0xd2,0xf, 0x6c,0xee,0x80,0x2c,0xbc,0xef,0x68,0x26,0x7c,
+0x1e,0x12,0x3b,0xfe,0x7c,0x1f,0x2e,0x10,0x22,0xa5,0xe7,0xbc,0xba,0x78,0x16,0x7c,
+0xbe,0x12,0x3b,0xef,0xb, 0x38,0x20,0x12,0x3b,0xed,0xb, 0x38,0x30,0xbd,0x32,0x40,
+0x4, 0xc2,0xf, 0x80,0xd, 0xb, 0xe0,0x12,0xe, 0xaf,0xa, 0x2b,0xa, 0x3e,0xbd,0x32,
+0x48,0xc9,0x7c,0x1f,0x12,0x3b,0xfe,0xa, 0x4a,0x9, 0xb4,0x3, 0x5a,0xb4,0x2, 0x4,
+0xc2,0xf, 0x80,0x1e,0xb4,0x1, 0x1b,0x12,0x2f,0x33,0xbe,0xb0,0x2, 0x40,0x11,0x7c,
+0xb7,0xc4,0x54,0xf, 0xbe,0xb0,0x2, 0x40,0x7, 0xe4,0x19,0xb4,0x3, 0x5a,0x80,0x2,
+0xc2,0xf, 0x30,0xf, 0x2a,0xbe,0xa0,0x2, 0x50,0x25,0x7c,0x1a,0x2e,0x10,0x24,0x74,
+0x1, 0xa5,0xf7,0x7e,0x90,0x5, 0xac,0x9f,0x19,0xa4,0x0, 0x7e,0x49,0x34,0x0, 0x7a,
+0x74,0x2, 0xa4,0x59,0x35,0x3, 0x52,0x49,0x34,0x0, 0x7c,0x59,0x35,0x3, 0x56,0xb,
+0xf0,0x12,0x38,0x94,0x58,0x2, 0x21,0xb5,0x6c,0xff,0x80,0x48,0x74,0x5, 0xac,0xbf,
+0x9, 0xb5,0x0, 0x7e,0xb4,0xff,0x3b,0x6c,0xee,0x7c,0x1e,0x2e,0x10,0x24,0xa5,0xe7,
+0x70,0x29,0xa, 0x3e,0x9, 0xb3,0x3, 0x5a,0x70,0x1f,0x74,0x1, 0x12,0x3b,0xf6,0x49,
+0x23,0x0, 0x7a,0x74,0x2, 0xac,0xbe,0x59,0x25,0x3, 0x52,0x49,0x23,0x0, 0x7c,0x59,
+0x25,0x3, 0x56,0x19,0xe3,0x0, 0x7e,0x80,0x9, 0x5, 0x2c,0xb, 0xe0,0xbe,0xe0,0x2,
+0x40,0xc7,0xb, 0xf0,0x7e,0xa3,0x0, 0x90,0x5e,0xa0,0xf, 0xa, 0x2a,0xa, 0x3f,0xbd,
+0x32,0x48,0xa9,0xe5,0x2c,0x60,0x2a,0x4c,0xaa,0x68,0x26,0xe5,0x2c,0xa, 0x3b,0xbd,
+0x23,0x48,0x1e,0x7e,0x73,0x0, 0x7e,0xbe,0x70,0x2, 0x40,0xc, 0x7e,0x73,0x0, 0x83,
+0xbe,0x70,0x2, 0x50,0x3, 0x12,0x3e,0x3a,0x12,0x2f,0x75,0x9e,0x61,0x2c,0x12,0x2d,
+0x23,0x12,0x2d,0x19,0xa, 0x2b,0x7c,0xba,0x54,0xf, 0xa, 0x3b,0xbd,0x32,0x58,0x71,
+0x6c,0xff,0x12,0x3b,0xe5,0x70,0x5a,0x7e,0xd0,0x2, 0xac,0xdf,0x49,0x46,0x3, 0x52,
+0xbe,0x44,0x7f,0xff,0x68,0x4b,0xa, 0x2f,0x9, 0x62,0x3, 0x5a,0xbe,0x60,0x2, 0x50,
+0x40,0x49,0x16,0x3, 0x56,0xbe,0x14,0x1, 0x8e,0x50,0x36,0x9, 0xb2,0xb, 0x31,0x60,
+0x30,0x74,0x1, 0xa5,0xf7,0x7e,0x73,0x0, 0x90,0x7c,0xe7,0x5e,0xe0,0xf, 0x74,0x5,
+0xac,0xbe,0x59,0x45,0x0, 0x7a,0x59,0x15,0x0, 0x7c,0x19,0xf5,0x0, 0x7e,0x2e,0x24,
+0x3, 0x5a,0x7c,0xb6,0x4, 0x7a,0x29,0xb0,0x7c,0x67,0xb, 0x60,0x12,0x2d,0x23,0x80,
+0x7, 0xe4,0xa, 0x3f,0x19,0xb3,0x3, 0x5a,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0x93,0x80,
+0x9, 0xe4,0x7a,0xb3,0x3, 0x5a,0x7a,0xb3,0x3, 0x5b,0x6c,0xff,0x12,0x3b,0xe5,0x70,
+0x10,0x7e,0x34,0x7f,0xff,0x74,0x2, 0xac,0xbf,0x59,0x35,0x3, 0x52,0x59,0x35,0x3,
+0x56,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xe4,0x12,0x3c,0x41,0x6c,0xff,0x12,0x3b,0xe5,
+0xb4,0x1, 0x1d,0xa, 0x3f,0x9, 0xb3,0x3, 0x50,0xbe,0xb0,0x3, 0x68,0x3, 0xb4,0x1,
+0x7, 0xe4,0x19,0xb3,0x3, 0x4e,0x80,0x33,0x74,0x2, 0x19,0xb3,0x3, 0x4e,0x80,0x2b,
+0xa, 0x3f,0x9, 0xb3,0x3, 0x50,0xbe,0xb0,0x2, 0x68,0x2, 0x70,0x18,0x74,0x1, 0x19,
+0xb3,0x3, 0x4e,0xbe,0xe0,0x2, 0x50,0x13,0x7c,0xae,0xb, 0xe0,0x74,0x5, 0xa4,0x19,
+0xf5,0x0, 0x7e,0x80,0x6, 0x74,0x3, 0x19,0xb3,0x3, 0x4e,0xb, 0xf0,0xbe,0xf0,0x2,
+0x40,0xab,0xda,0x3b,0x22,0x7c,0x1f,0x2e,0x10,0x24,0xa5,0xe7,0x22,0x7c,0xbf,0x3e,
+0xb0,0x24,0x28,0xa, 0x3b,0x22,0xa5,0xf7,0x7e,0x70,0x5, 0xac,0x7f,0x22,0x2e,0x10,
+0x22,0xa5,0xe7,0x7c,0xab,0x22,0x74,0x5, 0xac,0xbe,0x49,0x35,0x0, 0x7a,0x49,0x25,
+0x0, 0x7c,0x22,0xca,0x79,0x12,0x3c,0x37,0x6c,0xff,0x80,0x13,0xa, 0x3f,0x9, 0xe3,
+0x0, 0x76,0x7e,0x34,0x6, 0x15,0x7c,0xbe,0x6c,0x55,0x12,0x3e,0x4b,0xb, 0xf0,0x12,
+0x38,0x94,0x48,0xe8,0xda,0x79,0x22,0x74,0x1, 0x6c,0xaa,0x12,0x3c,0x67,0x40,0xfb,
+0x22,0x7e,0xe3,0x0, 0x90,0x5e,0xe0,0xf, 0x22,0x7e,0x44,0x7f,0xff,0x7e,0x70,0x2,
+0x22,0x74,0x5, 0xac,0xbf,0x59,0x35,0x0, 0x7c,0xb, 0xf0,0x22,0x6e,0x34,0xff,0xff,
+0x6e,0x24,0xff,0xff,0xb, 0x1c,0x22,0xa, 0x4a,0x19,0xb4,0x6, 0x15,0xb, 0xa0,0xbe,
+0xa0,0x2e,0x22,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7a,0x9d,0x32,0x2, 0x0, 0x2e,
+0xca,0x3b,0x12,0xe, 0xaf,0x7c,0xeb,0x78,0x30,0x6c,0xff,0x6d,0x11,0x74,0x2, 0xac,
+0xbf,0x59,0x15,0xd, 0x1d,0x7e,0xa0,0xff,0x7e,0x30,0x5, 0xac,0x3f,0x19,0xa1,0xd,
+0x17,0x7e,0xb3,0xd, 0x28,0x70,0x3, 0xe4,0x80,0x2, 0x74,0x2, 0xa, 0x1f,0x19,0xb1,
+0xd, 0x26,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xd2,0x7e,0x17,0x0, 0x92,0xbe,0x14,0x0,
+0x1, 0x78,0x2, 0xa1,0xfc,0x6c,0xff,0xa1,0xd8,0x74,0x5, 0xac,0xbf,0x9, 0x75,0x0,
+0x7e,0x7a,0x71,0x23,0xbe,0x70,0x2, 0x40,0x2, 0xa1,0xd6,0xe5,0x23,0xa, 0x1b,0x12,
+0x3e,0x1d,0x78,0x2, 0xa1,0xd6,0x75,0x22,0x0, 0x7e,0x31,0x22,0x74,0x5, 0xac,0x3b,
+0x9, 0x71,0xd, 0x17,0x7a,0x71,0x24,0xbe,0x71,0x23,0x68,0x2, 0xa1,0xcb,0x49,0x21,
+0xd, 0x15,0x12,0x3e,0x8, 0x7d,0x63,0x12,0x14,0xe3,0x49,0x25,0xd, 0x13,0x12,0x3c,
+0x73,0x7d,0x3, 0x2d,0x6, 0xe5,0x24,0xa, 0x1b,0x9, 0xa1,0xd, 0x26,0xbe,0xa0,0x0,
+0x28,0x17,0x7e,0x71,0x24,0x74,0x2, 0xac,0x7b,0x59,0x3, 0xd, 0x1d,0x2e,0x14,0xd,
+0x26,0x7c,0xba,0x14,0x7a,0x19,0xb0,0xa1,0xd6,0x7e,0x31,0x24,0x74,0x2, 0xac,0x3b,
+0x49,0x31,0xd, 0x1d,0xbe,0x34,0x0, 0x1e,0x28,0x8, 0xbe,0x4, 0x0, 0x1e,0x28,0x2,
+0x80,0x10,0x7d,0x23,0x2e,0x24,0x0, 0x1e,0xbd,0x20,0x50,0x12,0xbe,0x34,0x0, 0x1e,
+0x28,0xc, 0x59,0x1, 0xd, 0x1d,0x74,0x1, 0x7a,0xb3,0xd, 0x28,0x80,0x68,0xbe,0x4,
+0x0, 0x64,0x28,0x4b,0xe4,0x7a,0xb3,0xd, 0x28,0xe5,0x23,0xa, 0x1b,0x9, 0xb1,0x3,
+0x4e,0x70,0x4, 0x74,0x3, 0x80,0x2, 0x74,0x1, 0x19,0xb1,0x3, 0x4e,0x12,0x3e,0x25,
+0x7e,0x14,0xd, 0x21,0x74,0x5, 0x12,0x4, 0x8d,0xbe,0xe0,0x0, 0x28,0x21,0x1b,0xe0,
+0x7e,0x70,0x5, 0xac,0x7e,0x2e,0x34,0x0, 0x7a,0x7e,0x30,0x5, 0xac,0x3f,0x12,0x3d,
+0xff,0x7e,0x34,0xd, 0x21,0x7e,0x30,0x5, 0xac,0x3e,0x12,0x3d,0xff,0x1b,0xf0,0x7e,
+0xa1,0x24,0x74,0x2, 0xa4,0x59,0x5, 0xd, 0x1d,0x80,0xb, 0x5, 0x22,0xe5,0x22,0xbe,
+0xb0,0x2, 0x50,0x2, 0x81,0xe9,0xb, 0xf0,0x12,0x2f,0x33,0xa, 0x2b,0xa, 0x1f,0xbd,
+0x12,0x58,0x2, 0x81,0xc9,0x7c,0x6e,0x12,0x2d,0x23,0x6c,0xff,0x12,0x3e,0x15,0x2e,
+0x34,0x0, 0x7a,0x2e,0x14,0xd, 0x13,0x12,0x3e,0x2f,0x78,0xf0,0xda,0x3b,0x22,0x2e,
+0x14,0x0, 0x7a,0x74,0x5, 0x2, 0x4, 0x8d,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7c,
+0x9d,0x32,0x2, 0x0, 0x2e,0x7e,0x30,0x5, 0xac,0x3f,0x7d,0x31,0x22,0x9, 0xb1,0x3,
+0x4e,0xbe,0xb0,0x1, 0x22,0x7e,0x70,0x5, 0xac,0x7f,0x2e,0x34,0x0, 0x7a,0x22,0x74,
+0x5, 0x12,0x4, 0x8d,0xb, 0xf0,0xbe,0xf0,0x2, 0x22,0x7e,0x1f,0x0, 0x80,0x7e,0x33,
+0x0, 0x7f,0x7a,0x1f,0x0, 0x7b,0x7a,0x33,0x0, 0x7a,0x22,0x7d,0x13,0x4d,0x11,0x68,
+0xc, 0xbe,0xb0,0x2e,0x50,0x7, 0xa, 0x3b,0x2d,0x31,0x7a,0x39,0x50,0x22,0x74,0x10,
+0x7a,0xb3,0xb, 0x84,0x74,0x83,0x7a,0xb3,0xb, 0x85,0xe4,0x6c,0xaa,0x12,0x3c,0x67,
+0x40,0xfb,0x22,0x6c,0xaa,0x74,0x3, 0xa, 0x4a,0x19,0xb4,0x3, 0x50,0x19,0xb4,0x3,
+0x4e,0x12,0x3c,0x49,0xac,0x7a,0x59,0x43,0x3, 0x52,0x59,0x43,0x3, 0x56,0xb, 0xa0,
+0xbe,0xa0,0x2, 0x40,0xe0,0x22,0x7c,0x6b,0x7e,0x53,0x0, 0x90,0x7c,0xb5,0x54,0xf,
+0x68,0x10,0x7c,0x45,0x1b,0x40,0x5e,0x40,0xf, 0x5e,0x50,0xf0,0x4c,0x54,0x7a,0x53,
+0x0, 0x90,0xa5,0xbe,0x0, 0x12,0xa5,0xbf,0x2, 0xe, 0x7e,0x73,0x0, 0x77,0x7a,0x73,
+0x0, 0x76,0x85,0x17,0x16,0x12,0x3e,0x3a,0x22,0xca,0x79,0x6d,0x77,0x7a,0x77,0x2,
+0xd0,0x7e,0x34,0x3, 0xe8,0x7a,0x37,0x0, 0x74,0x12,0x1f,0xe6,0x12,0x1e,0xf6,0x12,
+0x1b,0xdc,0x7a,0x77,0x2, 0xd0,0x7e,0x34,0x0, 0x64,0x7a,0x37,0x0, 0x74,0xda,0x79,
+0x22,0x6c,0x77,0xa, 0x27,0x9, 0x62,0x3, 0x4e,0x19,0x62,0x3, 0x50,0xb, 0x70,0xbe,
+0x70,0x2, 0x40,0xef,0x12,0x3f,0x35,0x12,0x3f,0x2d,0x7a,0x73,0x0, 0x90,0x7e,0x73,
+0x0, 0x91,0x5e,0x70,0xf, 0x12,0x3f,0x2d,0x7a,0x73,0x0, 0x91,0x7e,0x1f,0x5, 0x2c,
+0x7a,0x1f,0x5, 0x30,0x7e,0x73,0x6, 0xe, 0x7a,0x73,0x6, 0xf, 0x22,0x7c,0xb7,0xc4,
+0x54,0xf0,0x4c,0x7b,0x22,0x7e,0x73,0x0, 0x90,0x5e,0x70,0xf, 0x22,0x12,0x3f,0x35,
+0x6c,0x66,0x80,0x2, 0xb, 0x60,0xbc,0x76,0x38,0xfa,0x22,0xca,0x3b,0x6c,0xaa,0x12,
+0x3f,0x35,0x7e,0x44,0x3, 0x5c,0x7e,0x24,0x0, 0x76,0x6c,0x66,0x80,0x64,0x75,0x1f,
+0xff,0xa, 0xf6,0x2d,0xf2,0x7e,0xf9,0x20,0x7e,0x30,0x4, 0xac,0x23,0x7d,0xe1,0x2d,
+0xe4,0x49,0x1e,0x0, 0x2, 0xb, 0xe8,0x0, 0xa, 0x76,0xb, 0x74,0x80,0x24,0xa, 0xef,
+0x2d,0xe2,0x7e,0xe9,0xe0,0x7e,0xd0,0x4, 0xac,0xde,0x7d,0xe6,0x2d,0xe4,0x49,0xde,
+0x0, 0x2, 0xb, 0xe8,0xc0,0xbf,0x6, 0x58,0x7, 0x7c,0xae,0x7a,0xf1,0x1f,0x7f,0x6,
+0xb, 0xf0,0xbc,0x7f,0x38,0xd8,0xe5,0x1f,0xbe,0xb0,0xff,0x68,0x13,0x7e,0xf9,0xe0,
+0xe5,0x1f,0xa, 0xfb,0x2d,0xf2,0x7a,0xf9,0xe0,0xa, 0xf6,0x2d,0xf2,0x7a,0xf9,0xa0,
+0xb, 0x60,0xbc,0x76,0x38,0x98,0xda,0x3b,0x22,0x7c,0xab,0x9f,0x11,0x7a,0x1f,0x5,
+0x30,0x74,0xb, 0x7a,0xb3,0x6, 0xf, 0x74,0x2, 0x7a,0xb3,0x6, 0x44,0x7a,0xb3,0x6,
+0x43,0x74,0xf, 0x7a,0xb3,0x6, 0x45,0x74,0x2, 0x7a,0xb3,0x6, 0x47,0x7a,0xb3,0x6,
+0x46,0x74,0xf, 0x7a,0xb3,0x6, 0x48,0x7e,0x34,0x0, 0x32,0x7a,0x37,0x5, 0xec,0x12,
+0x41,0x12,0x74,0xa, 0x7a,0xb3,0x6, 0x10,0x7e,0xb3,0x6, 0x67,0x44,0x40,0x7a,0xb3,
+0x6, 0x67,0x54,0x7f,0x7a,0xb3,0x6, 0x67,0x5e,0xa0,0x7f,0xbe,0xa0,0x1, 0x68,0x7,
+0xbe,0xa0,0x2, 0x78,0x2, 0x80,0x0, 0x12,0x41,0x12,0x7e,0xa3,0x6, 0x67,0x7c,0xba,
+0x30,0xe0,0x12,0x74,0x1, 0x7a,0xb3,0x6, 0x11,0x74,0x3, 0x7a,0xb3,0x6, 0x12,0x7a,
+0xb3,0x6, 0x13,0x80,0xe, 0x74,0x1, 0x7a,0xb3,0x6, 0x12,0x7a,0xb3,0x6, 0x13,0x7a,
+0xb3,0x6, 0x11,0x74,0xa, 0x7a,0xb3,0x6, 0x66,0x7a,0xb3,0x6, 0x14,0x7e,0x24,0x2a,
+0xf8,0x7a,0x27,0x5, 0xf0,0x7c,0xba,0x54,0xfd,0x7a,0xb3,0x6, 0x67,0x7e,0x24,0xfc,
+0xe0,0x7a,0x27,0x5, 0xee,0x12,0x41,0x35,0x7a,0x37,0x5, 0xf2,0x7e,0x34,0x5, 0xdc,
+0x7a,0x37,0x5, 0xf4,0x7e,0x34,0xf, 0xa0,0x7a,0x37,0x5, 0xf6,0x7e,0xb3,0x6, 0x67,
+0x54,0xf7,0x7a,0xb3,0x6, 0x67,0x54,0xef,0x7a,0xb3,0x6, 0x67,0x7e,0x34,0x0, 0xc7,
+0x7a,0x37,0x5, 0xf8,0x7e,0x34,0x0, 0xa0,0x7a,0x37,0x5, 0xfa,0xe4,0x7a,0xb3,0x6,
+0x49,0x7a,0xb3,0x6, 0x4a,0x7a,0x37,0x6, 0x4b,0x7e,0x34,0x0, 0x31,0x7a,0x37,0x5,
+0xfc,0x7e,0x34,0x1, 0x5c,0x7a,0x37,0x5, 0xfe,0x12,0x41,0x1d,0x7e,0x34,0x0, 0x8,
+0x7a,0x37,0x6, 0x2, 0x7e,0x34,0x0, 0x7, 0x7a,0x37,0x6, 0x0, 0x7e,0x34,0x0, 0x1a,
+0x7a,0x37,0x6, 0x4, 0x7e,0x34,0x6, 0x65,0x7a,0x37,0x6, 0x6, 0x7e,0x34,0x22,0x98,
+0x7a,0x37,0x6, 0x8, 0x7e,0x34,0x20,0x4, 0x7a,0x37,0x6, 0xc, 0x7e,0x34,0x20,0x51,
+0x7a,0x37,0x6, 0xa, 0xe4,0x7a,0xb3,0x6, 0x4d,0x7e,0x34,0xa, 0xd1,0x7a,0x37,0x6,
+0x4e,0x22,0x7e,0xb3,0x6, 0x67,0x54,0xfe,0x7a,0xb3,0x6, 0x67,0x22,0x7e,0xb3,0x6,
+0x67,0x54,0xdf,0x7a,0xb3,0x6, 0x67,0x22,0x7e,0xb3,0x6, 0x67,0x44,0x4, 0x7a,0xb3,
+0x6, 0x67,0x12,0x15,0x1d,0x7e,0xb3,0x6, 0x67,0x54,0xfb,0x7a,0xb3,0x6, 0x67,0x22,
+0xca,0x3b,0x7e,0x48,0x75,0x30,0x7f,0x74,0x9f,0x55,0x7f,0x5, 0x6c,0x77,0x7e,0xa0,
+0x1, 0x6c,0x66,0x7e,0x50,0x2, 0xac,0x56,0x49,0x72,0x5, 0x34,0x6d,0x66,0x7e,0x50,
+0x4, 0xac,0x56,0x49,0xd2,0x3, 0x5e,0x49,0xc2,0x3, 0x5c,0x2f,0x63,0xbf,0x76,0x8,
+0x2, 0x7f,0x76,0xbf,0x6, 0x58,0x2, 0x7f,0x6, 0xb, 0x60,0xa5,0xbe,0x16,0xd4,0x7f,
+0x30,0x9f,0x37,0xbe,0x38,0x4, 0xb0,0x58,0x3, 0x7e,0x70,0x1, 0x7f,0x74,0x7f,0x5,
+0x6c,0x66,0x7e,0x50,0x2, 0xac,0x56,0x49,0xd2,0x5, 0x34,0x6d,0xcc,0xbf,0x76,0x8,
+0x2, 0x7f,0x76,0xbf,0x6, 0x58,0x2, 0x7f,0x6, 0xb, 0x60,0xa5,0xbe,0x16,0xe3,0x9f,
+0x7, 0xbe,0x8, 0x4, 0xb0,0x8, 0x2, 0x6c,0xaa,0x4c,0x77,0x68,0x8, 0x4c,0xaa,0x78,
+0x4, 0x74,0x1, 0x80,0x1, 0xe4,0xda,0x3b,0x22,0xca,0x3b,0x7c,0xcb,0x6c,0xaa,0xe5,
+0x9, 0x70,0xa, 0xe5,0x1c,0x70,0x6, 0xe5,0x11,0x70,0x2, 0x61,0x33,0x20,0x7, 0x6,
+0x7e,0x74,0xc, 0xac,0x80,0x4, 0x7e,0x74,0xc, 0xbe,0x6c,0xdd,0x7e,0x70,0xff,0xa,
+0x2d,0x2d,0x27,0x7a,0x29,0x70,0xb, 0xd0,0xbe,0xd0,0x12,0x78,0xf2,0x74,0xaa,0x7a,
+0x79,0xb0,0x19,0xb7,0x0, 0x1, 0x74,0x12,0x19,0xb7,0x0, 0x2, 0x7e,0xb3,0x2, 0xca,
+0x19,0xb7,0x0, 0x4, 0x6c,0x77,0x6c,0xdd,0x7e,0x10,0x5, 0xac,0x1d,0x9, 0x60,0x2,
+0xba,0xbe,0x60,0xff,0x78,0x2, 0x41,0xbc,0xa, 0x16,0x9, 0xb1,0x3, 0x4e,0xbe,0xb0,
+0x3, 0x78,0x2, 0x41,0xbc,0x49,0x40,0x2, 0xb6,0x2e,0x44,0x0, 0x3, 0x49,0x20,0x2,
+0xb8,0x2e,0x24,0x0, 0x3, 0xa, 0x8, 0x12,0x43,0x4c,0x19,0x60,0x0, 0x5, 0x7c,0x69,
+0xa, 0x7, 0x2d,0x7, 0x19,0x60,0x0, 0x6, 0xa, 0x4, 0x12,0x43,0x4c,0x19,0x60,0x0,
+0x7, 0x7c,0x65,0xa, 0x7, 0x2d,0x7, 0x19,0x60,0x0, 0x8, 0xe4,0xa, 0x7, 0x2d,0x7,
+0x19,0xb0,0x0, 0x9, 0xa, 0x7, 0x2d,0x7, 0x19,0xb0,0x0, 0xa, 0x12,0x43,0x42,0xc4,
+0x54,0xf0,0xa, 0x7, 0x2d,0x7, 0x2e,0x4, 0x0, 0x7, 0x7e,0x9, 0x60,0x2c,0x6b,0x7a,
+0x9, 0x60,0x12,0x43,0x42,0xbe,0xb0,0xff,0x68,0x1f,0x12,0x3e,0x1d,0x68,0x2, 0xb,
+0xa0,0x9, 0xb1,0x3, 0x4e,0x3, 0x3, 0x54,0xc0,0xa, 0x17,0x2d,0x17,0x2e,0x14,0x0,
+0x5, 0x7e,0x19,0x60,0x2c,0x6b,0x7a,0x19,0x60,0x2e,0x70,0x6, 0xb, 0xd0,0xbe,0xd0,
+0x2, 0x68,0x2, 0x41,0x18,0x19,0xa7,0x0, 0x3, 0xe4,0x19,0xb7,0x0, 0x11,0x6c,0xdd,
+0xa, 0x3d,0x2d,0x37,0x7e,0x39,0x60,0x7d,0x27,0x2e,0x24,0x0, 0x11,0x7e,0x29,0x70,
+0x6c,0x76,0x7a,0x29,0x70,0xb, 0xd0,0xbe,0xd0,0x11,0x78,0xe4,0x30,0x7, 0x4, 0xc2,
+0x7, 0x80,0x2, 0xd2,0x7, 0xe5,0x1c,0x60,0x3, 0x12,0x3e,0x73,0x75,0x9, 0x0, 0x75,
+0x1c,0x0, 0x75,0x11,0x0, 0x7e,0xb3,0xb, 0xb3,0xb4,0x1, 0x14,0x12,0x2f,0x3c,0x68,
+0x26,0xe5,0x4f,0xb4,0x1, 0xf, 0x74,0x1, 0x12,0x43,0x3a,0x75,0x4f,0x0, 0x80,0x5,
+0x74,0x1, 0x12,0x43,0x3a,0x7e,0x34,0x0, 0x9, 0x12,0x43,0x57,0xbe,0xc0,0x1, 0x78,
+0x6, 0x80,0x0, 0xe4,0x12,0x43,0x3a,0xda,0x3b,0x22,0x70,0x3, 0xd2,0x86,0x22,0xc2,
+0x86,0x22,0x7e,0x10,0x5, 0xac,0x1d,0x9, 0xb0,0x2, 0xba,0x22,0x5e,0x4, 0x0, 0xf,
+0x7c,0x61,0xa, 0x7, 0x2d,0x7, 0x22,0x7e,0x24,0x0, 0x14,0xad,0x32,0x80,0x3, 0x0,
+0x0, 0x0, 0x7d,0x23,0x1b,0x34,0x4d,0x22,0x78,0xf5,0x22,0x30,0x0, 0x44,0xc2,0x6,
+0xe4,0x7a,0xb3,0x3, 0x48,0x30,0x1, 0x1c,0x80,0x3, 0x30,0x0, 0x9, 0xa9,0x21,0x94,
+0xf9,0x80,0x3, 0x30,0x0, 0x4, 0xa9,0x31,0x94,0xf9,0x30,0x0, 0x1e,0x80,0x15,0x80,
+0x3, 0x30,0x0, 0x9, 0xa9,0x31,0x94,0xf9,0x80,0x3, 0x30,0x0, 0x4, 0xa9,0x21,0x94,
+0xf9,0x30,0x0, 0x7, 0xd2,0x6, 0xe4,0x7a,0xb3,0x2, 0xcf,0x7e,0x37,0x2, 0xcd,0x2,
+0x43,0x57,0x22,0xca,0xf8,0x7c,0xfb,0x74,0x16,0x7a,0xb3,0x6, 0xc6,0xe4,0x7a,0xb3,
+0x6, 0xc7,0x74,0x16,0x7a,0xb3,0x6, 0xc8,0x74,0x30,0x7a,0xb3,0x6, 0xd4,0x7e,0xb3,
+0x6, 0xcb,0x54,0xbf,0x7a,0xb3,0x6, 0xcb,0x54,0x7f,0x7a,0xb3,0x6, 0xcb,0x54,0xf9,
+0x7a,0xb3,0x6, 0xcb,0x7e,0xb3,0x6, 0xca,0x54,0xbf,0x7a,0xb3,0x6, 0xca,0x7e,0xb3,
+0x6, 0xd7,0x44,0x4, 0x7a,0xb3,0x6, 0xd7,0x74,0x15,0x7a,0xb3,0x6, 0xd5,0x7e,0xb3,
+0x6, 0xca,0x54,0x7f,0x7a,0xb3,0x6, 0xca,0x7e,0xb3,0x6, 0xcb,0x54,0xfe,0x7a,0xb3,
+0x6, 0xcb,0x7e,0x34,0x4, 0xc5,0x7e,0x24,0x6, 0x68,0x74,0x16,0x7e,0x30,0x97,0x12,
+0x45,0xb, 0x6c,0x77,0x80,0x8, 0xa, 0x27,0x19,0x72,0x6, 0x96,0xb, 0x70,0x7e,0x63,
+0x6, 0xc8,0xbc,0x67,0x38,0xf0,0x7e,0xb3,0x6, 0xc9,0x44,0x1, 0x7a,0xb3,0x6, 0xc9,
+0x5e,0xf0,0x7f,0xbe,0xf0,0x1, 0x78,0xe, 0x7e,0xb3,0x6, 0xc9,0x12,0x44,0xef,0x44,
+0x8, 0x12,0x44,0xfc,0x80,0x38,0xbe,0xf0,0x2, 0x7e,0xb3,0x6, 0xc9,0x78,0x8, 0x12,
+0x44,0xef,0x12,0x44,0xfc,0x80,0x27,0x44,0x6, 0x12,0x44,0xf1,0x44,0x18,0x7a,0xb3,
+0x6, 0xcb,0x7e,0x63,0x3, 0x35,0x5e,0x60,0x7, 0x7c,0xb6,0xc4,0x3, 0x54,0xf8,0x7c,
+0x6b,0x7e,0x73,0x6, 0xca,0x5e,0x70,0xc7,0x4c,0x76,0x7a,0x73,0x6, 0xca,0xe4,0x7a,
+0xb3,0x6, 0xd6,0x7e,0xb3,0x6, 0xca,0x54,0xfe,0x7a,0xb3,0x6, 0xca,0x44,0x6, 0x7a,
+0xb3,0x6, 0xca,0x7e,0x73,0x3, 0x38,0x7a,0x73,0x6, 0xcc,0x7e,0x73,0x3, 0x39,0x7a,
+0x73,0x6, 0xcd,0x7e,0x73,0x3, 0x36,0x7a,0x73,0x6, 0xce,0x7e,0x73,0x3, 0x3a,0x7a,
+0x73,0x6, 0xcf,0x7e,0x73,0x3, 0x3b,0x7a,0x73,0x6, 0xd0,0x7e,0x73,0x3, 0x37,0x7a,
+0x73,0x6, 0xd1,0x7e,0x73,0x3, 0x3c,0x7a,0x73,0x6, 0xd2,0x7e,0x73,0x3, 0x3d,0x7a,
+0x73,0x6, 0xd3,0x12,0x1f,0xe6,0x54,0xfd,0x7a,0xb3,0x6, 0xd7,0xda,0xf8,0x22,0x54,
+0xf9,0x7a,0xb3,0x6, 0xc9,0x7e,0xb3,0x6, 0xcb,0x54,0xc7,0x22,0x7a,0xb3,0x6, 0xcb,
+0x7e,0xb3,0x6, 0xca,0x54,0xc7,0x7a,0xb3,0x6, 0xca,0x22,0x7c,0x23,0x7c,0x3b,0x7d,
+0x43,0x7c,0xb2,0x24,0x6a,0xbe,0xb0,0x9, 0x40,0x2, 0xe1,0x77,0x7e,0xa0,0x3, 0xa4,
+0x90,0x45,0x24,0x73,0x2, 0x45,0x3f,0x2, 0x45,0xf4,0x2, 0x46,0x2a,0x2, 0x46,0x60,
+0x2, 0x47,0x41,0x2, 0x47,0x77,0x2, 0x46,0x96,0x2, 0x46,0xc6,0x2, 0x46,0xf6,0x6c,
+0x77,0xa1,0xed,0x12,0x47,0xa0,0xbe,0xb0,0x12,0x40,0x2, 0xa1,0xe8,0x7e,0xa0,0x3,
+0xa4,0x90,0x45,0x55,0x73,0x2, 0x45,0x8b,0x2, 0x45,0x90,0x2, 0x45,0x95,0x2, 0x45,
+0x9a,0x2, 0x45,0x9f,0x2, 0x45,0xa4,0x2, 0x45,0xa9,0x2, 0x45,0xae,0x2, 0x45,0xb3,
+0x2, 0x45,0xb8,0x2, 0x45,0xbd,0x2, 0x45,0xc2,0x2, 0x45,0xc7,0x2, 0x45,0xcc,0x2,
+0x45,0xd1,0x2, 0x45,0xd6,0x2, 0x45,0xdb,0x2, 0x45,0xe0,0x7e,0x20,0x4, 0x80,0x53,
+0x7e,0x20,0x6, 0x80,0x4e,0x7e,0x20,0x7, 0x80,0x49,0x7e,0x20,0x5, 0x80,0x44,0x7e,
+0x20,0xe, 0x80,0x3f,0x7e,0x20,0x8, 0x80,0x3a,0x7e,0x20,0xf, 0x80,0x35,0x7e,0x20,
+0x10,0x80,0x30,0x7e,0x20,0x11,0x80,0x2b,0x7e,0x20,0x12,0x80,0x26,0x7e,0x20,0x17,
+0x80,0x21,0x7e,0x20,0x1a,0x80,0x1c,0x7e,0x20,0x18,0x80,0x17,0x7e,0x20,0x1b,0x80,
+0x12,0x7e,0x20,0x21,0x80,0xd, 0x7e,0x20,0x20,0x80,0x8, 0x7e,0x20,0x1f,0x80,0x3,
+0x7e,0x20,0x19,0x12,0x47,0x90,0x80,0x3, 0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x28,
+0x2, 0xa1,0x43,0x22,0x6c,0x77,0x80,0x2d,0x12,0x47,0xa0,0xbe,0x60,0x7, 0x40,0x10,
+0xbe,0x60,0xe, 0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x13,0x12,0x47,0x8e,0x80,0x13,
+0xbe,0x60,0xf, 0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x29,0x12,0x47,0x8e,0x80,0x3,
+0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x2d,0x12,0x47,
+0xa0,0xbe,0x60,0x9, 0x40,0x10,0xbe,0x60,0x12,0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0x10,0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x13,0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0x23,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,
+0x6c,0x77,0x80,0x2d,0x12,0x47,0xa0,0xbe,0x60,0xd, 0x40,0x10,0xbe,0x60,0x18,0x38,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0xb, 0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x19,0x40,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x1b,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb,
+0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x27,0x12,0x47,0xa0,0xbe,0x60,0xe,
+0x40,0xa, 0xbe,0x60,0x19,0x38,0x5, 0x12,0x47,0x88,0x80,0x13,0xbe,0x60,0x1a,0x40,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x19,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb,
+0x70,0xbc,0x37,0x38,0xd5,0x22,0x6c,0x77,0x80,0x27,0x12,0x47,0xa0,0xbe,0x60,0xe,
+0x40,0xa, 0xbe,0x60,0x19,0x38,0x5, 0x12,0x47,0x88,0x80,0x13,0xbe,0x60,0x1a,0x40,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x18,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb,
+0x70,0xbc,0x37,0x38,0xd5,0x22,0x6c,0x77,0x80,0x42,0x12,0x47,0xa0,0xbe,0x60,0x0,
+0x40,0x10,0xbe,0x60,0xd, 0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x3, 0x12,0x47,0x8e,
+0x80,0x28,0xbe,0x60,0xe, 0x40,0x10,0xbe,0x60,0x1b,0x38,0xb, 0xa, 0x56,0x2e,0x54,
+0x0, 0x9, 0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x1c,0x40,0xb, 0xa, 0x56,0x2e,0x54,
+0x0, 0x15,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x38,0xba,
+0x22,0x6c,0x77,0x80,0x2d,0x12,0x47,0xa0,0xbe,0x60,0x11,0x40,0x10,0xbe,0x60,0x1e,
+0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x6, 0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x1f,
+0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x11,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,
+0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x8, 0x12,0x47,0xa0,0x12,0x47,
+0x98,0xb, 0x70,0xbc,0x37,0x38,0xf4,0x22,0xa, 0x56,0x2e,0x54,0x0, 0xa, 0x7c,0x2b,
+0x7d,0x50,0x2d,0x52,0x7a,0x59,0x20,0x22,0x7d,0x50,0x2d,0x52,0x7a,0x59,0x60,0x22,
+0xa, 0x7, 0x7d,0x50,0x2d,0x54,0x7a,0xb1,0x82,0x7a,0xa1,0x83,0xe4,0x93,0x7c,0x6b,
+0x22,0x7e,0x4, 0x0, 0x76,0x6d,0x11,0xe4,0x7a,0x9, 0xb0,0xb, 0x4, 0xb, 0x14,0xbe,
+0x14,0x0, 0x1c,0x78,0xf2,0x7e,0x4, 0x2, 0xb6,0x6d,0x11,0xe4,0x7a,0x9, 0xb0,0xb,
+0x4, 0xb, 0x14,0xbe,0x14,0x0, 0x17,0x78,0xf2,0x6d,0x11,0x12,0x4b,0x6e,0x2e,0x34,
+0x0, 0x7a,0x12,0x4b,0x6b,0x2e,0x34,0x2, 0xb6,0x12,0x4b,0x6b,0x2e,0x34,0x2, 0xc0,
+0x12,0x4b,0x59,0xb, 0x14,0xbe,0x14,0x0, 0x2, 0x40,0xe0,0x74,0x2, 0x7a,0xb3,0x0,
+0x68,0x74,0xa, 0x7a,0xb3,0x0, 0x69,0x7e,0x34,0x0, 0xc7,0x7a,0x37,0x0, 0x6a,0x7e,
+0x34,0x0, 0xc6,0x7a,0x37,0x0, 0x6c,0x7e,0x34,0x0, 0x31,0x7a,0x37,0x0, 0x70,0xc2,
+0x4, 0x75,0xd, 0x0, 0x75,0x1a,0x0, 0xc2,0x5, 0x75,0xb, 0x0, 0x12,0x48,0x45,0x7e,
+0x24,0x7, 0xd0,0x7a,0x27,0x0, 0x74,0x7a,0x37,0x0, 0x9c,0xe4,0x7a,0xb3,0x2, 0xd2,
+0x7a,0xb3,0xb, 0x37,0x22,0x6d,0x33,0x7a,0x37,0x2, 0xd0,0x22,0x12,0x48,0x45,0x7e,
+0x34,0x3, 0xe8,0x7a,0x37,0x0, 0x74,0x2, 0x48,0x5a,0x7e,0x34,0xb, 0x63,0x7e,0xb3,
+0xb, 0xc2,0x20,0xe0,0x2, 0x21,0x19,0x54,0xfe,0x7a,0xb3,0xb, 0xc2,0x7e,0x39,0x50,
+0x7a,0x53,0x3, 0x4b,0x12,0x49,0x1a,0x3e,0x24,0x3e,0x24,0x7a,0x27,0x3, 0x49,0xbe,
+0x24,0x2, 0x26,0x50,0x8, 0x7e,0x24,0x2, 0x26,0x7a,0x27,0x3, 0x49,0x9, 0x53,0x0,
+0x5, 0x7a,0x53,0x0, 0xa0,0x12,0x49,0x1a,0x7a,0x27,0x0, 0x9e,0x9, 0x53,0x0, 0x25,
+0xa, 0x25,0x7a,0x27,0x0, 0x92,0x9, 0x53,0x0, 0x6, 0x7a,0x53,0x0, 0x94,0x9, 0x53,
+0x0, 0x8, 0x7a,0x53,0x0, 0x96,0xbe,0x50,0xf, 0x40,0x6, 0x74,0xe, 0x19,0xb3,0x0,
+0x8, 0x9, 0x53,0x0, 0x8, 0xa, 0x25,0x2e,0x24,0x4, 0xfb,0x7a,0x51,0x82,0x7a,0x41,
+0x83,0xe4,0x93,0x7a,0xb3,0x0, 0x95,0x9, 0x53,0x0, 0x9, 0x7a,0x53,0x0, 0x98,0x7a,
+0x53,0x0, 0x97,0x9, 0x53,0x0, 0x24,0x7a,0x53,0x0, 0x9a,0x9, 0x53,0x0, 0x2d,0x7a,
+0x53,0xd, 0x3f,0x9, 0xb3,0x0, 0x2e,0x7a,0xb3,0x3, 0x34,0xb4,0x1, 0x5, 0xe4,0x7a,
+0xb3,0x3, 0x34,0x7e,0xa3,0xb, 0xb3,0xbe,0xa3,0x0, 0xa1,0x68,0xc, 0x4c,0xaa,0x74,
+0x5, 0x7a,0xb3,0x0, 0x99,0x7a,0xa3,0x0, 0xa1,0x22,0xa, 0x25,0x3e,0x24,0x3e,0x24,
+0x3e,0x24,0x3e,0x24,0x22,0x12,0x49,0xe0,0x12,0x49,0xa1,0x12,0x37,0xd1,0x12,0x4a,
+0xa4,0x12,0x4a,0xf0,0x74,0x1, 0x7a,0xb3,0xb, 0x9f,0x7e,0xb3,0xb, 0x9f,0x24,0xfd,
+0x68,0x11,0x24,0xae,0x68,0x32,0x24,0xab,0x68,0xe, 0x24,0xa9,0x78,0xec,0x12,0x11,
+0x6d,0x80,0xe7,0x12,0x1f,0xe, 0x80,0xe2,0x12,0x48,0x45,0x7e,0x24,0x1, 0xf4,0x7a,
+0x27,0x0, 0x74,0x7e,0xb3,0x2, 0xd2,0xbe,0xb0,0xaa,0x68,0xce,0x7a,0x37,0x0, 0x9c,
+0x74,0xaa,0x7a,0xb3,0x2, 0xd2,0x80,0xc2,0x12,0x48,0x45,0x7e,0x34,0x1, 0xf4,0x7a,
+0x37,0x0, 0x74,0x7e,0xb3,0x2, 0xd2,0xb4,0xaa,0xb0,0x74,0x55,0x7a,0xb3,0x2, 0xd2,
+0x7e,0x74,0x3, 0xe8,0x7d,0x37,0x1b,0x74,0x4d,0x33,0x78,0xf8,0x75,0xe9,0xff,0x80,
+0x99,0x12,0x49,0xc9,0x12,0x0, 0x17,0x12,0x49,0xef,0xc2,0x0, 0xc2,0x2, 0x22,0xc2,
+0x8e,0xe5,0x89,0x54,0xf, 0x44,0x20,0xf5,0x89,0x75,0x8d,0x1, 0x75,0x8b,0x0, 0xd2,
+0x8e,0xd2,0xab,0xa9,0xc3,0xb7,0xd2,0xbb,0x22,0xe4,0x12,0x4a,0x69,0x12,0x4a,0x30,
+0x12,0x4a,0x3c,0x74,0x1, 0x2, 0x49,0xd8,0x70,0x3, 0xc2,0xaf,0x22,0xd2,0xaf,0x22,
+0x6d,0x33,0x7a,0x37,0x2, 0xd0,0x7e,0x34,0x7, 0xd0,0x7a,0x37,0x0, 0x74,0x22,0x7e,
+0x18,0x0, 0x54,0x74,0xf, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0x8, 0x3, 0xe8,0x12,0x4,
+0x59,0xbe,0x18,0xf, 0xff,0x28,0x4, 0x7e,0x18,0xf, 0xff,0xd2,0xc8,0xa9,0xc0,0xcd,
+0xc2,0xaf,0xa9,0xd0,0x9e,0x7c,0xb6,0xf5,0x9d,0xa9,0xd0,0x9e,0x7c,0xb7,0xf5,0x9c,
+0x12,0x4a,0x28,0xc2,0xa8,0xd2,0xaf,0x22,0xc2,0x88,0xd2,0xb8,0xa9,0xd0,0xb7,0x22,
+0x75,0xeb,0x3, 0xa9,0xd6,0xac,0xa9,0xd6,0xec,0xd2,0x86,0x22,0xa9,0xd1,0x99,0x75,
+0x9a,0xfe,0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0xa9,0xd6,0xeb,0x70,0xf, 0xa9,0xc6,0xac,
+0xa9,0xc6,0xec,0xa9,0xd7,0xcd,0xc2,0x96,0xc2,0x95,0x80,0x7, 0xa9,0xd4,0xcd,0xd2,
+0x96,0xd2,0x95,0x12,0x4a,0x28,0xd2,0xa8,0x22,0xd2,0xcf,0xbe,0xb0,0x7, 0x38,0x4,
+0x7c,0xab,0x80,0x2, 0x6c,0xaa,0x43,0xcb,0x8e,0x4e,0xa0,0x30,0x7a,0xa1,0xcc,0x0,
+0x0, 0x0, 0x0, 0xa9,0xd0,0xca,0xa9,0xc5,0xcb,0x53,0xca,0xf1,0x43,0xca,0xe, 0x75,
+0xcf,0x4, 0xc2,0xcc,0xd2,0xcb,0xc2,0xca,0xc2,0xc9,0xc2,0xc8,0xa9,0xc6,0xcb,0x0,
+0x0, 0x0, 0x0, 0x22,0xe4,0x7a,0xb3,0x3, 0x34,0x74,0x1, 0x7a,0xb3,0x3, 0x42,0x74,
+0x7, 0x7a,0xb3,0x3, 0x41,0x74,0xf, 0x7a,0xb3,0x3, 0x38,0x7a,0xb3,0x3, 0x39,0x74,
+0x3f,0x7a,0xb3,0x3, 0x36,0x74,0x12,0x7a,0xb3,0x3, 0x3a,0x7a,0xb3,0x3, 0x3b,0x74,
+0x3f,0x7a,0xb3,0x3, 0x37,0x74,0x10,0x7a,0xb3,0x3, 0x3c,0x7a,0xb3,0x3, 0x3d,0x74,
+0x5, 0x7a,0xb3,0x3, 0x35,0x74,0x3, 0x7a,0xb3,0x3, 0x40,0x7a,0xb3,0x3, 0x3f,0x22,
+0x6d,0x22,0x7a,0x27,0xc, 0x7c,0x7e,0x34,0x1, 0x8e,0x7a,0x37,0xc, 0x7e,0x7a,0x27,
+0xc, 0x80,0x7a,0x37,0xc, 0x82,0x7e,0x14,0x0, 0x84,0x7a,0x17,0xc, 0x85,0x7e,0x14,
+0x0, 0xc7,0x7a,0x17,0xc, 0x87,0x74,0x64,0x7a,0xb3,0xc, 0x84,0x7e,0x14,0x0, 0x96,
+0x7a,0x17,0xc, 0x89,0x7a,0x27,0xc, 0xa0,0x7a,0x37,0xc, 0xa2,0x7a,0x27,0xc, 0xa4,
+0x7a,0x37,0xc, 0xa6,0x74,0x50,0x7a,0xb3,0xc, 0x9e,0x74,0x1e,0x7a,0xb3,0xc, 0x9f,
+0x74,0x3, 0x7a,0xb3,0xc, 0xa8,0x74,0x32,0x7a,0xb3,0xc, 0xa9,0x74,0xf, 0x7a,0xb3,
+0xc, 0xaa,0x74,0x50,0x7a,0xb3,0xc, 0xab,0x22,0x7e,0x24,0x7f,0xff,0x1b,0x38,0x20,
+0x59,0x23,0x0, 0x2, 0x74,0xff,0x19,0xb3,0x0, 0x4, 0x22,0x12,0x4b,0x59,0x7e,0x34,
+0x0, 0x5, 0xad,0x31,0x22,0xbe,0xb0,0x5e,0x38,0x2e,0xbe,0xb0,0x26,0x68,0x29,0xbe,
+0xb0,0x2f,0x68,0x24,0xbe,0xb0,0x23,0x68,0x1f,0xbe,0xb0,0x28,0x68,0x1a,0xbe,0xb0,
+0x21,0x68,0x15,0xbe,0xb0,0x22,0x68,0x10,0xa, 0x2b,0x19,0x72,0xb, 0x63,0x7e,0xb3,
+0xb, 0xc2,0x44,0x1, 0x7a,0xb3,0xb, 0xc2,0x22,0xca,0x79,0x7c,0x6b,0x24,0x0, 0x78,
+0x75,0x7e,0x74,0xc, 0xd6,0x7a,0x79,0x70,0x5e,0x70,0x70,0x7c,0xb7,0xc4,0x54,0xf,
+0x7c,0x7b,0xbe,0x70,0x4, 0x68,0x47,0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x20,0xa5,0xbf,
+0x1, 0x6, 0x74,0x2, 0x6c,0x77,0x80,0x5c,0xa5,0xbf,0x0, 0x7, 0x74,0x2, 0x7e,0x70,
+0x1, 0x80,0x51,0xa5,0xbf,0x3, 0x68,0x74,0x2, 0x7e,0x70,0x4, 0x80,0x46,0xa5,0xbf,
+0x1, 0x6, 0x74,0x3c,0x6c,0x77,0x80,0x29,0xa5,0xbf,0x4, 0x7, 0x74,0x3c,0x7e,0x70,
+0x3, 0x80,0x1e,0xa5,0xbf,0x3, 0x48,0x74,0x3c,0x7e,0x70,0x4, 0x80,0x13,0x7e,0xb3,
+0xb, 0x9f,0xb4,0x3, 0x7, 0x74,0x2, 0x7e,0x70,0x3, 0x80,0x18,0x74,0x3c,0x7e,0x70,
+0x3, 0x12,0x4b,0x75,0x80,0x29,0xbe,0x60,0xa, 0x50,0xe, 0x7e,0xb3,0xb, 0x9f,0xb4,
+0x3, 0x1d,0x7c,0xb6,0x12,0x35,0x35,0x80,0x16,0xbe,0x60,0xa, 0x40,0x11,0xbe,0x60,
+0xaf,0x38,0xc, 0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x5, 0x7c,0xb6,0x12,0x35,0x47,0xda,
+0x79,0x22,0x74,0x17,0x7a,0xb3,0xb, 0x63,0x74,0xa0,0x7a,0xb3,0xb, 0x68,0xe4,0x7a,
+0xb3,0xb, 0x69,0x74,0x5, 0x7a,0xb3,0xb, 0x6a,0x74,0xe, 0x7a,0xb3,0xb, 0x6b,0x74,
+0x5a,0x7a,0xb3,0xb, 0x6c,0x74,0xe, 0x7a,0xb3,0xb, 0x86,0x74,0x1, 0x7a,0xb3,0xb,
+0x87,0xe4,0x7a,0xb3,0xb, 0x88,0x74,0x1, 0x7a,0xb3,0xb, 0x89,0x7a,0xb3,0xb, 0x9f,
+0x74,0xa0,0x7a,0xb3,0xb, 0x8b,0xe4,0x7a,0xb3,0xb, 0x8c,0x74,0x2, 0x7a,0xb3,0xb,
+0x92,0xe4,0x7a,0xb3,0xb, 0x91,0x7a,0xb3,0xb, 0x90,0x7a,0xb3,0xd, 0x3f,0x7a,0xb3,
+0xb, 0xb3,0x74,0x3f,0x7a,0xb3,0xb, 0xb4,0xe4,0x7a,0xb3,0xb, 0x93,0x7a,0xb3,0xb,
+0x9e,0x7a,0xb3,0xb, 0x79,0x7e,0x34,0x5, 0xdc,0x7a,0x37,0x3, 0x49,0x74,0x17,0x7a,
+0xb3,0x3, 0x4b,0x12,0x4d,0x11,0x12,0x4d,0x9, 0x7a,0xb3,0x0, 0x94,0x74,0x7, 0x7a,
+0xb3,0x0, 0x95,0x74,0xe, 0x7a,0xb3,0x0, 0x96,0x74,0x5a,0x7a,0xb3,0x0, 0x97,0x7a,
+0xb3,0x0, 0x98,0x74,0x5, 0x7a,0xb3,0x0, 0x99,0x74,0x1, 0x7a,0xb3,0x0, 0x9a,0xe4,
+0x7a,0xb3,0x0, 0x9b,0x7a,0xb3,0x0, 0xa1,0x22,0x6d,0x33,0x7a,0x37,0x0, 0x92,0xe4,
+0x22,0x7e,0x34,0xa, 0x0, 0x7a,0x37,0x0, 0x9e,0x74,0xa0,0x7a,0xb3,0x0, 0xa0,0x22,
+0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,0xca,0x1b,0xca,0xb, 0xc0,0xd0,
+0xc0,0x83,0xc0,0x82,0x12,0x33,0x29,0x74,0x1, 0x7a,0xb3,0xc, 0xd1,0xd0,0x82,0xd0,
+0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,
+0x7b,0x32,0xca,0xb8,0xa9,0xc0,0x93,0xe4,0x7a,0xb3,0xc, 0xd0,0x7a,0xb3,0xc, 0xd2,
+0xda,0xb8,0x32,0x6c,0xaa,0x74,0xff,0xa, 0x4a,0x19,0xb4,0xc, 0xac,0x19,0xb4,0xc,
+0xbe,0xb, 0xa0,0xbe,0xa0,0x12,0x40,0xed,0x22,0xa9,0xd5,0xea,0xa9,0xc4,0xcb,0x75,
+0xa6,0x0, 0xa9,0xc1,0xcd,0x22,0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,
+0xca,0x1b,0xca,0xb, 0xc0,0xd0,0xc0,0x83,0xc0,0x82,0x12,0x4d,0xd1,0x7e,0xb3,0xc,
+0xd6,0x54,0xfd,0x7a,0xb3,0xc, 0xd6,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xd2,
+0xaf,0xc2,0x95,0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,0x4d,0x79,0xd0,0x82,0xd0,0x83,
+0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,0x7b,
+0x32,0xe5,0x9a,0x60,0x5, 0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0xa9,0xd4,0xcb,0x75,0xa6,
+0x10,0xa9,0xd1,0xcd,0xa9,0xc5,0xea,0x22,0xd2,0xce,0x75,0x92,0x70,0xd2,0xad,0xd2,
+0xe8,0xc2,0xc0,0xa9,0xd0,0xf7,0xd2,0xf8,0xa9,0xd5,0xb7,0xd2,0xbd,0x22,0xca,0x7b,
+0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,0xca,0x1b,0xca,0xb, 0xc0,0xd0,0xc0,0x83,
+0xc0,0x82,0x7e,0x35,0x1d,0xb, 0x34,0x7a,0x35,0x1d,0x7e,0x4, 0x0, 0xa, 0x7d,0x13,
+0x8d,0x10,0x4d,0x0, 0x78,0x38,0x7e,0xb3,0x9, 0x6b,0xbe,0xb0,0x0, 0x28,0x5, 0x14,
+0x7a,0xb3,0x9, 0x6b,0x7e,0xb3,0xd, 0x2c,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,
+0xd, 0x2c,0x7e,0xb3,0xd, 0x35,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x35,
+0x7e,0xb3,0xd, 0x2b,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x2b,0x7e,0xb3,
+0x6, 0xda,0x60,0x5, 0x14,0x7a,0xb3,0x6, 0xda,0xbe,0x34,0x3, 0xe8,0x40,0xe, 0x6d,
+0x33,0x7a,0x35,0x1d,0xe5,0xb, 0xbe,0xb0,0x64,0x50,0x2, 0x5, 0xb, 0x7e,0x37,0x2,
+0xd0,0xb, 0x34,0x7a,0x37,0x2, 0xd0,0x7e,0x37,0x0, 0x74,0xbe,0x37,0x2, 0xd0,0x28,
+0x3, 0x12,0x0, 0x27,0x7e,0xb3,0xb, 0x9f,0xb4,0xaa,0x18,0x7e,0x37,0x0, 0x9c,0x7d,
+0x23,0xb, 0x24,0x7a,0x27,0x0, 0x9c,0xbe,0x34,0x1, 0x2c,0x28,0x6, 0x74,0x1, 0x7a,
+0xb3,0xb, 0x9f,0xe5,0x1a,0xbe,0xb1,0xd, 0x28,0x4, 0x5, 0xd, 0x80,0x2, 0xd2,0x5,
+0x7e,0xb3,0xc, 0xd1,0x60,0xf, 0xbe,0xb0,0x28,0x50,0x7, 0x4, 0x7a,0xb3,0xc, 0xd1,
+0x80,0x3, 0x12,0x34,0xf5,0xd0,0x82,0xd0,0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,
+0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,0x7b,0x32,0x53,0xc8,0xc1,0x53,0xcb,0x10,
+0x22,0x7e,0x73,0x6, 0xc6,0xa, 0x37,0x1e,0x34,0x7a,0x73,0xd, 0x3d,0xa, 0x37,0x1e,
+0x34,0x7a,0x73,0xd, 0x3e,0x22,0xd2,0xc9,0xa, 0x56,0xf5,0xf1,0x7c,0xb7,0xf5,0xf2,
+0x75,0xf3,0x80,0x75,0xf4,0x0, 0x75,0xf5,0x83,0xa9,0x37,0xf5,0xfc,0xa9,0x36,0xf5,
+0xfc,0xe5,0xf6,0x43,0xfa,0x80,0xc2,0xc9,0x22,0x7e,0x24,0x12,0xa, 0xb, 0x28,0x30,
+0x5e,0x70,0xf, 0x1b,0x28,0x30,0xb, 0x28,0x30,0x4e,0x70,0x80,0x1b,0x28,0x30,0x7e,
+0xb3,0x6, 0xcb,0xc4,0x23,0x7c,0x7b,0x5e,0x70,0x7, 0xa5,0xbf,0x0, 0x5, 0x7e,0xa0,
+0x2, 0x80,0x32,0xa5,0xbf,0x1, 0x13,0x7e,0xb3,0x6, 0xc9,0x1e,0xb0,0x54,0x3, 0x68,
+0x4, 0x6c,0xaa,0x80,0x20,0x7e,0xa0,0x3, 0x80,0x1b,0xa5,0xbf,0x3, 0x5, 0x7e,0xa0,
+0x6, 0x80,0x12,0x7e,0xb3,0x6, 0xc9,0x1e,0xb0,0x54,0x3, 0x68,0x5, 0x7e,0xa0,0x1,
+0x80,0x3, 0x7e,0xa0,0x5, 0xa, 0x1a,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x2,
+0x37,0x1a,0x7e,0x24,0x12,0x2, 0xb, 0x28,0x30,0x5e,0x60,0xc0,0x1b,0x28,0x30,0x7e,
+0x73,0x6, 0xc8,0x7c,0x27,0x6c,0x33,0x12,0x37,0x1a,0x6c,0x11,0x80,0xb, 0xa, 0x31,
+0x9, 0x3, 0x6, 0x68,0xa, 0x20,0x12,0x5b,0x77,0x7e,0x3, 0x6, 0xc8,0xbc,0x1, 0x38,
+0xed,0x7c,0x10,0x80,0x9, 0x7e,0x24,0x0, 0x3f,0xa, 0x31,0x12,0x5b,0x77,0xbe,0x10,
+0x2e,0x40,0xf2,0x6d,0x22,0x7e,0x34,0x13,0x16,0x1b,0x38,0x20,0x7e,0x34,0x13,0x18,
+0x1b,0x38,0x20,0x7e,0x34,0x13,0x1a,0x1b,0x38,0x20,0x7e,0x34,0x13,0x1c,0x1b,0x38,
+0x20,0x6c,0x11,0x80,0xd, 0xa, 0x31,0x9, 0x3, 0x6, 0x68,0x7c,0xb0,0x12,0x50,0x19,
+0xb, 0x10,0x7e,0x73,0x6, 0xc8,0xbc,0x71,0x38,0xeb,0x7e,0xb3,0x6, 0xd7,0x30,0xe2,
+0x7, 0x7e,0xb3,0x6, 0xd5,0x2, 0x50,0x19,0x22,0x7c,0x7b,0xc4,0x54,0xf, 0x7c,0xab,
+0xa, 0x37,0x7e,0x24,0x0, 0x10,0x12,0x3, 0xba,0x7c,0x75,0x7e,0x14,0x0, 0x1, 0x7c,
+0xb7,0x60,0x5, 0x3e,0x14,0x14,0x78,0xfb,0xa, 0x2a,0x3e,0x24,0x2e,0x24,0x13,0x16,
+0x2, 0x37,0x1a,0xca,0x1b,0xca,0x19,0xc2,0xee,0xc2,0xc6,0x30,0xb, 0x6, 0x7e,0x34,
+0x0, 0x1, 0x80,0x4, 0x7e,0x34,0x0, 0x2, 0x7e,0x14,0x12,0x6, 0xb, 0x18,0x20,0x5d,
+0x23,0x68,0x7, 0x6d,0x22,0x1b,0x18,0x20,0xd2,0xa, 0xd2,0xee,0xda,0x19,0xda,0x1b,
+0x32,0x7e,0xb3,0x6, 0xd7,0x20,0xe1,0x62,0x12,0x50,0xdb,0x80,0x55,0xa, 0x2a,0x9,
+0x52,0x6, 0x96,0x7e,0x90,0x4, 0xac,0x95,0x49,0x14,0x3, 0x5e,0x49,0x4, 0x3, 0x5c,
+0xbe,0x8, 0x3a,0xc0,0x8, 0x20,0x7e,0xb3,0xc, 0x1f,0x7e,0x44,0x0, 0x1, 0x60,0x5,
+0x3e,0x44,0x14,0x78,0xfb,0x7e,0x10,0x2, 0xac,0x15,0x2e,0x4, 0xb, 0xc3,0xb, 0x8,
+0x10,0x4d,0x14,0x1b,0x8, 0x10,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x51,0x34,0x60,
+0xf, 0x7e,0x30,0x2, 0xac,0x35,0x49,0x1, 0xb, 0xc3,0x12,0x51,0x2c,0x1b,0x18,0x0,
+0xb, 0xa0,0x7e,0x43,0x6, 0xc8,0xbc,0x4a,0x38,0xa3,0x22,0x7e,0x37,0x6, 0xd8,0x6c,
+0xaa,0x22,0x7e,0xb3,0x6, 0xd7,0x20,0xe1,0x42,0x12,0x50,0xdb,0x80,0x35,0xa, 0x2a,
+0x9, 0x52,0x6, 0x96,0x12,0x51,0x2c,0xb, 0x18,0x40,0x7e,0xb3,0xc, 0x1f,0x7e,0x14,
+0x0, 0x1, 0x60,0x5, 0x3e,0x14,0x14,0x78,0xfb,0x4d,0x41,0x7e,0xb3,0x6, 0x4d,0x60,
+0x5, 0x12,0x51,0x34,0x60,0xb, 0xa, 0x1a,0x3e,0x14,0x2e,0x14,0x12,0x14,0x1b,0x18,
+0x40,0xb, 0xa0,0x7e,0x43,0x6, 0xc8,0xbc,0x4a,0x38,0xc3,0x22,0x7e,0x30,0x2, 0xac,
+0x35,0x2d,0x13,0x22,0xa, 0x15,0x2e,0x17,0x6, 0x4e,0x7e,0x19,0xb0,0x22,0xca,0x3b,
+0x12,0xe, 0xaf,0x7c,0xeb,0x4c,0xee,0x78,0x2, 0x61,0x5c,0x7e,0x7f,0x0, 0xa2,0x7e,
+0x34,0x38,0x80,0x7e,0x24,0x0, 0x1, 0xbf,0x71,0x28,0x5, 0x7e,0x80,0xa, 0x80,0x2a,
+0x7e,0x34,0x11,0x70,0x7e,0x24,0x0, 0x1, 0xbf,0x71,0x28,0x5, 0x7e,0x80,0x6, 0x80,
+0x19,0xbe,0x78,0xea,0x60,0x28,0x5, 0x7e,0x80,0x4, 0x80,0xe, 0xbe,0x78,0xc3,0x50,
+0x28,0x5, 0x7e,0x80,0x2, 0x80,0x3, 0x7e,0x80,0x1, 0xa, 0xf8,0x6d,0xee,0x7e,0xd4,
+0x0, 0xf, 0x7f,0x17,0x7d,0x1d,0x12,0x3, 0xfd,0x7f,0x7, 0x12,0x3, 0xec,0x7d,0x1d,
+0x12,0x3, 0xfd,0x7f,0x61,0x6c,0x99,0x7e,0xa0,0x5, 0x7c,0xd9,0xac,0xda,0x9, 0xb6,
+0x2, 0xba,0x7c,0xfb,0xbe,0xf0,0x2, 0x50,0x25,0xa, 0x3f,0x9, 0xb3,0x3, 0x4e,0x70,
+0x1d,0x49,0x6, 0x2, 0xb6,0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x5, 0xb, 0x53,0x49,0x26,
+0x2, 0xb8,0x59,0x25,0xb, 0x55,0x59,0x5, 0xb, 0x5b,0x59,0x25,0xb, 0x5d,0xb, 0x90,
+0xbe,0x90,0x2, 0x78,0xc2,0x6c,0x99,0x61,0x56,0x7e,0xa0,0x5, 0x7c,0x39,0xac,0x3a,
+0x9, 0xb1,0x2, 0xba,0x7c,0xfb,0xbe,0xf0,0x2, 0x40,0x2, 0x61,0x54,0x7e,0xa0,0x4,
+0x7c,0xdf,0xac,0xda,0x49,0x26,0xb, 0x53,0x49,0x31,0x2, 0xb6,0x9d,0x32,0x7d,0xa3,
+0x49,0x26,0xb, 0x55,0x49,0x31,0x2, 0xb8,0x9d,0x32,0x7d,0xb3,0x7d,0x1b,0x12,0x53,
+0x5f,0x7f,0x71,0x7d,0x1a,0x1a,0x2, 0x1a,0x0, 0x7d,0x3a,0x12,0x53,0x63,0x2f,0x17,
+0x7a,0x1f,0xa, 0x3, 0x49,0x26,0xb, 0x5b,0x12,0x53,0x7c,0x9d,0x32,0x7a,0x37,0x9,
+0xfd,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x25,0xb, 0x5d,0x12,0x53,0x72,0x9d,0x32,0x7d,
+0x63,0x7d,0x16,0x12,0x53,0x5f,0x7f,0x71,0x7e,0x27,0x9, 0xfd,0x7d,0x12,0x1a,0x2,
+0x1a,0x0, 0x7f,0x10,0x12,0x3, 0xec,0x2f,0x17,0x7a,0x1f,0x9, 0xff,0x7e,0xa0,0x5,
+0xac,0xa9,0x49,0x25,0x2, 0xb6,0xbe,0x24,0x0, 0x1e,0x40,0x1b,0xbe,0x24,0x1, 0x70,
+0x38,0x15,0x7e,0xa0,0x5, 0xac,0xa9,0x49,0x25,0x2, 0xb8,0xbe,0x24,0x0, 0x1e,0x40,
+0x6, 0xbe,0x24,0x1, 0x70,0x28,0x20,0xa, 0x98,0x6d,0x88,0x7e,0xf4,0x0, 0x6, 0x12,
+0x53,0xa1,0x7e,0x84,0x0, 0xb, 0x7d,0x18,0x12,0x3, 0xfd,0x12,0x53,0x86,0x7d,0x18,
+0x12,0x3, 0xfd,0x7f,0x41,0x80,0x1c,0xa, 0x98,0x6d,0x88,0x7e,0xf4,0x0, 0x5, 0x12,
+0x53,0xa1,0x2f,0x11,0x2f,0x11,0x2f,0x11,0x12,0x53,0x86,0x2f,0x11,0x2f,0x11,0x2f,
+0x11,0x7f,0x41,0x7e,0x1f,0x9, 0xff,0xbf,0x16,0x38,0x4b,0x7e,0xf, 0xa, 0x7, 0x7e,
+0x7f,0xa, 0x3, 0xbf,0x70,0x38,0x12,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x35,0xb, 0x53,
+0x12,0x53,0x92,0x49,0x35,0xb, 0x55,0x80,0x22,0xbf,0x74,0x38,0x3f,0x7e,0xa0,0x4,
+0xac,0xaf,0x49,0x15,0xb, 0x53,0x7e,0x4, 0x0, 0x2, 0x7d,0x3a,0x12,0x53,0x6a,0x12,
+0x53,0x92,0x49,0x15,0xb, 0x55,0x7d,0x3b,0x12,0x53,0x6a,0x7e,0xa0,0x5, 0xac,0xa9,
+0x59,0x35,0x2, 0xb8,0x80,0x16,0x7e,0x24,0x7f,0xff,0x7e,0xa0,0x4, 0xac,0xaf,0x59,
+0x25,0xb, 0x5b,0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x25,0xb, 0x5d,0x12,0x53,0x7c,0x7e,
+0xa0,0x4, 0xac,0xaf,0x59,0x35,0xb, 0x53,0x12,0x53,0x72,0x7e,0xa0,0x4, 0xac,0xaf,
+0x59,0x35,0xb, 0x55,0xb, 0x90,0xbc,0xe9,0x28,0x2, 0x21,0xe9,0xda,0x3b,0x22,0x1a,
+0x2, 0x1a,0x0, 0x1a,0x26,0x1a,0x24,0x2, 0x3, 0xec,0x7d,0x20,0x12,0x3, 0xba,0x2d,
+0x31,0x22,0x7e,0xa0,0x5, 0xac,0xa9,0x49,0x35,0x2, 0xb8,0x22,0x7e,0xa0,0x5, 0xac,
+0xa9,0x49,0x35,0x2, 0xb6,0x22,0xa, 0x18,0x6d,0x0, 0x12,0x3, 0xec,0x7f,0x1, 0x2f,
+0x10,0x22,0x7e,0xa0,0x5, 0xac,0xa9,0x59,0x35,0x2, 0xb6,0x7e,0xa0,0x4, 0xac,0xaf,
+0x22,0x7f,0x14,0x7d,0x1f,0x12,0x3, 0xfd,0x7f,0x4, 0x12,0x3, 0xec,0x7f,0x1, 0x2f,
+0x10,0x7d,0x1f,0x12,0x3, 0xfd,0x7a,0x1f,0xa, 0x7, 0xa, 0x38,0x6d,0x22,0x22,0xca,
+0x3b,0x12,0x3c,0x41,0x78,0x24,0x6c,0xff,0xe4,0xa, 0x3f,0x19,0xb3,0xb, 0x27,0x19,
+0xb3,0xb, 0x31,0x19,0xb3,0x3, 0x5a,0x6d,0x33,0x74,0x2, 0xac,0xbf,0x59,0x35,0xb,
+0x33,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xe0,0xe1,0xa1,0x6c,0xff,0x7e,0x50,0x2, 0xac,
+0x5f,0x49,0x32,0x3, 0x52,0xbe,0x34,0x7f,0xff,0x78,0x17,0xe4,0xa, 0x1f,0x19,0xb1,
+0xb, 0x27,0x19,0xb1,0xb, 0x31,0x19,0xb1,0x3, 0x5a,0x6d,0x11,0x59,0x12,0xb, 0x33,
+0x81,0xba,0xa, 0x1f,0x9, 0xb1,0x3, 0x5a,0x60,0x2, 0x81,0xba,0x59,0x32,0xb, 0x29,
+0x49,0x32,0x3, 0x56,0x59,0x32,0xb, 0x2d,0x49,0x32,0xb, 0x29,0x49,0x22,0xb, 0x2d,
+0x74,0x14,0xac,0xbf,0x49,0x15,0xb, 0xb, 0x49,0x5, 0xb, 0xd, 0x12,0xe, 0x7e,0x7a,
+0x37,0xa, 0x1, 0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0xb, 0x49,0x25,0xb, 0xd, 0x49,
+0x15,0xa, 0xff,0x49,0x5, 0xb, 0x1, 0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x3, 0xa, 0x3f,
+0x9, 0x53,0xb, 0x27,0xbe,0x50,0x2, 0x40,0x4c,0x74,0x2, 0xac,0xbf,0x49,0x25,0xb,
+0x29,0xbe,0x24,0x0, 0x18,0x40,0x16,0xbe,0x24,0x1, 0x76,0x38,0x10,0x49,0x25,0xb,
+0x2d,0xbe,0x24,0x0, 0x18,0x40,0x6, 0xbe,0x24,0x1, 0x76,0x28,0xe, 0x7e,0x27,0xa,
+0x1, 0xbe,0x24,0x0, 0x27,0x28,0x4, 0x74,0x1, 0x80,0x1b,0x7e,0x27,0xa, 0x1, 0xbe,
+0x24,0x0, 0x27,0x28,0xd, 0x7e,0x27,0xa, 0x3, 0xbe,0x24,0x0, 0x42,0x28,0x3, 0xe4,
+0x80,0x4, 0xe4,0x80,0x1, 0xe4,0x19,0xb3,0xb, 0x31,0xb, 0xf0,0xbe,0xf0,0x2, 0x68,
+0x2, 0x61,0xec,0x6c,0xff,0xe1,0x9b,0x74,0x5, 0xac,0xbf,0x9, 0xd5,0x2, 0xba,0xa,
+0x3d,0x9, 0xb3,0xb, 0x27,0x70,0x34,0x6c,0xcc,0x7e,0x70,0x5, 0xac,0x7f,0x49,0x13,
+0x2, 0xb6,0x7e,0x10,0x14,0xac,0x1d,0x7e,0x50,0x4, 0xac,0x5c,0x2d,0x20,0x59,0x12,
+0xa, 0xff,0x49,0x33,0x2, 0xb8,0x59,0x32,0xb, 0x1, 0xb, 0xc0,0xbe,0xc0,0x5, 0x78,
+0xd8,0x6d,0x33,0x74,0x2, 0xac,0xbd,0x59,0x35,0xb, 0x33,0xa, 0x3d,0x9, 0xb3,0xb,
+0x27,0xbe,0xb0,0x5, 0x50,0xa, 0xa, 0x3d,0x2e,0x34,0xb, 0x27,0x4, 0x7a,0x39,0xb0,
+0xa, 0x3d,0x9, 0x73,0xb, 0x27,0xbe,0x70,0x1, 0x38,0x2, 0xa1,0xf7,0x12,0x57,0xa4,
+0x60,0x2, 0xa1,0xf7,0x7e,0x90,0x14,0xac,0x9d,0x49,0x34,0xb, 0xf, 0x49,0x54,0xb,
+0xb, 0x2d,0x53,0x7a,0x57,0x9, 0xfd,0x49,0x34,0xb, 0x11,0x49,0x54,0xb, 0xd, 0x2d,
+0x53,0x7a,0x57,0x9, 0xff,0x74,0x5, 0xac,0xbf,0x49,0x15,0x2, 0xb6,0x2e,0x17,0x9,
+0xfd,0x7e,0x24,0x0, 0x3, 0x8d,0x12,0x59,0x15,0x2, 0xb6,0x49,0x35,0x2, 0xb8,0x2e,
+0x37,0x9, 0xff,0x8d,0x32,0x59,0x35,0x2, 0xb8,0x49,0x24,0xb, 0x7, 0x49,0x35,0x2,
+0xb6,0x9d,0x32,0x12,0x0, 0x2e,0x7a,0x37,0x9, 0xfd,0x74,0x14,0xac,0xbd,0x49,0x25,
+0xb, 0x9, 0x74,0x5, 0xac,0xbf,0x49,0x35,0x2, 0xb8,0x9d,0x32,0x12,0x0, 0x2e,0x12,
+0x57,0xdd,0x38,0xa, 0x7e,0x37,0x9, 0xff,0xbe,0x34,0x0, 0x27,0x28,0x1a,0x12,0x57,
+0xc9,0x2e,0x34,0xb, 0x7, 0x2e,0x14,0xb, 0x3, 0x12,0x5a,0xbe,0x59,0x35,0xb, 0x7,
+0x49,0x34,0x2, 0xb8,0x59,0x35,0xb, 0x9, 0x12,0x57,0xc9,0x2e,0x34,0xb, 0xb, 0x2e,
+0x14,0xb, 0xf, 0x12,0x5a,0xbe,0x59,0x35,0xb, 0xb, 0x49,0x44,0x2, 0xb8,0x59,0x45,
+0xb, 0xd, 0x49,0x35,0xb, 0x7, 0x49,0x25,0xb, 0x9, 0x12,0xe, 0x76,0x74,0x2, 0xac,
+0xbd,0x59,0x35,0xb, 0x33,0xe1,0x99,0x12,0x57,0xa4,0x70,0x2, 0xe1,0x99,0xa, 0x3d,
+0x9, 0x73,0xb, 0x27,0xbe,0x70,0x3, 0x50,0x2, 0xe1,0x99,0x12,0x57,0xab,0x70,0x2,
+0xe1,0x99,0x74,0x14,0xac,0xbd,0x49,0x25,0xa, 0xff,0x49,0x35,0xb, 0xb, 0x12,0x57,
+0xc1,0x7a,0x37,0x9, 0xfd,0x74,0x14,0xac,0xbd,0x49,0x25,0xb, 0x1, 0x49,0x35,0xb,
+0xd, 0x12,0x57,0xc1,0x12,0x57,0xdd,0x50,0xc, 0x7e,0x37,0x9, 0xff,0xbe,0x34,0x0,
+0x27,0x50,0x2, 0xe1,0x99,0x74,0x14,0xac,0xbd,0x12,0xe, 0x6e,0xb, 0x34,0x6d,0x22,
+0x7a,0x1f,0xa, 0x11,0x74,0x14,0xac,0xbd,0x49,0x35,0xb, 0x3, 0x49,0x25,0xb, 0x5,
+0x74,0x2, 0xac,0xbd,0x49,0x15,0xb, 0x29,0x49,0x5, 0xb, 0x2d,0x12,0xe, 0x7e,0x6d,
+0x22,0x7a,0x1f,0xa, 0xd, 0x74,0x14,0xac,0xbd,0x49,0x5, 0xb, 0x5, 0x49,0x15,0xb,
+0xd, 0x9d,0x10,0x6d,0x0, 0x7a,0xf, 0xa, 0x9, 0x7d,0x21,0x7e,0xf, 0xa, 0x11,0x12,
+0x57,0xf2,0x7a,0x1f,0xa, 0x9, 0x74,0x14,0xac,0xbd,0x49,0x15,0xb, 0x5, 0x6d,0x0,
+0x7e,0x1f,0xa, 0x9, 0x2f,0x10,0x12,0x57,0xb2,0x9f,0x10,0x7a,0x1f,0xa, 0x9, 0x49,
+0x5, 0xb, 0x3, 0x49,0x15,0xb, 0xb, 0x9d,0x10,0x6d,0x0, 0x7a,0xf, 0xa, 0x5, 0x7e,
+0x1f,0xa, 0xd, 0x7d,0x21,0x7e,0xf, 0xa, 0x11,0x12,0x57,0xf2,0x7a,0x1f,0xa, 0x5,
+0x74,0x14,0xac,0xbd,0x49,0xc5,0xb, 0x3, 0x7d,0x1c,0x6d,0x0, 0x7e,0x1f,0xa, 0x5,
+0x2f,0x10,0x49,0xd5,0xb, 0xb, 0x7d,0xfd,0x6d,0xee,0x9f,0x17,0x7a,0x1f,0xa, 0x5,
+0x12,0x57,0xab,0xb4,0x2, 0x17,0x7e,0x58,0x0, 0x2, 0x7e,0x1f,0xa, 0x5, 0x7f,0x5,
+0x12,0x4, 0x59,0x12,0x27,0xf3,0x7f,0x5, 0x12,0x57,0xb9,0x80,0x27,0x12,0x57,0xab,
+0xb4,0x1, 0x21,0xbd,0xdc,0x50,0xc, 0x7e,0x1f,0xa, 0x5, 0xbe,0x18,0x0, 0x0, 0x8,
+0x13,0x80,0xa, 0x7e,0x1f,0xa, 0x5, 0xbe,0x18,0x0, 0x0, 0x58,0x7, 0x12,0x3c,0x5c,
+0x7a,0x1f,0xa, 0x5, 0x12,0x57,0xa4,0x7e,0x1f,0xa, 0x5, 0xb4,0x1, 0x1d,0x2f,0x11,
+0x7e,0x68,0x0, 0x5, 0x7f,0x6, 0x12,0x4, 0x59,0x7a,0x1f,0xa, 0x5, 0x2f,0x17,0x12,
+0x27,0xf3,0x2f,0x11,0x7f,0x6, 0x12,0x57,0xb9,0x80,0x6, 0x2f,0x17,0x7a,0x1f,0xa,
+0x5, 0x74,0x14,0xac,0xbd,0x12,0x57,0xb2,0x7e,0x1f,0xa, 0x9, 0x2f,0x10,0x7a,0x1f,
+0xa, 0x9, 0x7e,0x1f,0xa, 0x5, 0x12,0x57,0xd1,0x12,0x27,0xf3,0x12,0x57,0xd1,0x7a,
+0x1f,0xa, 0x9, 0x7e,0x1f,0xa, 0x5, 0x7d,0x43,0x74,0x5, 0xac,0xbf,0x59,0x45,0x2,
+0xb6,0x7e,0x1f,0xa, 0x9, 0x59,0x35,0x2, 0xb8,0xb, 0xf0,0xbc,0xef,0x28,0x2, 0x81,
+0xc7,0xda,0x3b,0x22,0xa, 0x3d,0x9, 0xb3,0x3, 0x5a,0x22,0xa, 0x3d,0x9, 0xb3,0xb,
+0x31,0x22,0x49,0x15,0xb, 0xd, 0x6d,0x0, 0x22,0x12,0x4, 0x59,0x7a,0x1f,0xa, 0x9,
+0x22,0x9d,0x32,0x12,0x0, 0x2e,0xb, 0x34,0x22,0x7e,0x30,0x14,0xac,0x3d,0x7d,0x31,
+0x22,0x6d,0x22,0x7e,0x14,0x1, 0x8d,0x12,0x2f,0xf9,0x6d,0x22,0x22,0x7a,0x37,0x9,
+0xff,0x7e,0x37,0x9, 0xfd,0xbe,0x34,0x0, 0x27,0x22,0x7e,0x37,0xa, 0x17,0x7d,0x21,
+0x7d,0x1f,0x12,0x6, 0x3e,0x1a,0x26,0x1a,0x24,0x22,0xca,0xf8,0x7e,0xa3,0xb, 0xb3,
+0x7c,0xba,0x65,0x4e,0x68,0x5, 0xe4,0x7a,0xb3,0xb, 0xb6,0x7a,0xa1,0x4e,0x4c,0xaa,
+0x78,0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x5, 0x12,0x58,0x68,0x80,0x11,0xe4,0x7a,
+0xb3,0x2, 0xca,0x80,0xa, 0x7e,0xb3,0x6, 0x67,0x30,0xe1,0xb, 0x12,0x58,0x68,0x12,
+0x5a,0x3, 0x12,0x5a,0x9, 0x80,0x2e,0x12,0x58,0x76,0x7c,0xfb,0x4c,0xff,0x68,0x25,
+0x7c,0xbf,0x12,0x5a,0x10,0x60,0x1e,0x7e,0x34,0x0, 0x14,0x1b,0x34,0x78,0xfc,0x7e,
+0xb3,0x6, 0x67,0x30,0xe1,0x8, 0x74,0x26,0x7a,0xb3,0xb, 0xb6,0x80,0x7, 0x7a,0xf3,
+0xb, 0xb6,0x75,0x4f,0x1, 0xda,0xf8,0x22,0x74,0x26,0x7a,0xb3,0x2, 0xca,0x7a,0xb3,
+0xb, 0xb6,0x75,0x4f,0x1, 0x22,0xca,0x79,0x6c,0xaa,0x6d,0x44,0x7d,0xf4,0x7e,0x63,
+0x0, 0x90,0x7c,0xf6,0x5e,0xf0,0xf, 0x7c,0xb6,0xc4,0x7c,0xeb,0x5e,0xe0,0xf, 0x7e,
+0xe7,0xd, 0x29,0x1b,0xe4,0x68,0x3c,0x1b,0xe4,0x68,0x6e,0x1b,0xe4,0x78,0x2, 0x21,
+0x74,0x2e,0xe4,0x0, 0x3, 0x68,0x2, 0x21,0x9c,0xbe,0xf0,0x0, 0x38,0x2, 0x21,0xa2,
+0x4c,0xee,0x68,0x2, 0x21,0xa2,0x7e,0xe4,0x0, 0x1, 0x7a,0xe7,0xd, 0x29,0x7a,0xf7,
+0xd, 0x36,0x7a,0x47,0xd, 0x38,0x12,0x59,0xc3,0x7e,0xb3,0xc, 0xab,0x7a,0xb3,0xd,
+0x35,0x21,0x5c,0x4c,0xff,0x78,0x2, 0x80,0x1e,0x12,0x59,0xc3,0x7e,0x37,0xd, 0x36,
+0x7e,0x27,0xd, 0x38,0x12,0x59,0xf9,0xa5,0xbf,0x0, 0x4, 0xd2,0xe, 0x21,0x9c,0x7e,
+0xb3,0xd, 0x2c,0x60,0x2, 0x21,0xa2,0x7e,0x34,0x0, 0x2, 0x7a,0x37,0xd, 0x29,0x7e,
+0xb3,0xc, 0xa9,0x7a,0xb3,0xd, 0x2b,0x21,0xa2,0xbe,0xf0,0x0, 0x28,0x58,0x4c,0xee,
+0x78,0x54,0x7a,0xf7,0xd, 0x31,0x7a,0x47,0xd, 0x33,0x12,0x59,0xc3,0x7e,0xb3,0xc,
+0xa8,0xa, 0x2b,0x7e,0xb3,0xc, 0xa9,0xa, 0x3b,0x9d,0x32,0x7e,0xb3,0xd, 0x2b,0xa,
+0x4b,0xbd,0x43,0x18,0x2, 0x70,0x4, 0xd2,0xe, 0x80,0x61,0x7e,0x37,0xd, 0x36,0x7e,
+0x27,0xd, 0x38,0x7e,0xb3,0xc, 0x9e,0x12,0x59,0xcc,0x7c,0x7b,0xa5,0xbf,0x0, 0x4,
+0xd2,0xe, 0x80,0x48,0x7e,0x34,0x0, 0x3, 0x7a,0x37,0xd, 0x29,0x7e,0xb3,0xc, 0xaa,
+0x7a,0xb3,0xd, 0x2c,0x80,0x3c,0x4c,0xff,0x78,0x38,0x7e,0xb3,0xd, 0x2b,0x70,0x32,
+0xd2,0xe, 0x80,0x2e,0x4c,0xff,0x78,0x10,0x7e,0xb3,0xd, 0x2c,0x70,0x4, 0xd2,0xe,
+0x80,0x1a,0x7e,0x34,0x0, 0x4, 0x80,0x16,0x12,0x59,0xc3,0x7e,0x37,0xd, 0x31,0x7e,
+0x27,0xd, 0x33,0x12,0x59,0xf9,0xa5,0xbf,0x0, 0x8, 0xd2,0xe, 0x6d,0x33,0x7a,0x37,
+0xd, 0x29,0x7e,0x37,0xd, 0x29,0xbe,0x34,0x0, 0x2, 0x78,0x12,0x7e,0xa0,0x25,0x6d,
+0x33,0x7a,0x37,0xd, 0x29,0xe4,0x7a,0xb3,0xd, 0x35,0x7a,0xb3,0xd, 0x2c,0x7c,0xba,
+0xda,0x79,0x22,0x7a,0xf7,0xd, 0x2d,0x7a,0x47,0xd, 0x2f,0x22,0x7d,0x13,0xa, 0x3b,
+0x7d,0x3, 0x2e,0x7, 0xd, 0x2d,0xbd,0x1, 0x40,0x1d,0x2d,0x13,0xbe,0x17,0xd, 0x2d,
+0x40,0x15,0x7d,0x13,0x2e,0x17,0xd, 0x2f,0xbd,0x12,0x40,0xb, 0x2d,0x32,0xbe,0x37,
+0xd, 0x2f,0x40,0x3, 0x74,0x1, 0x22,0xe4,0x22,0x7e,0xb3,0xc, 0x9f,0x12,0x59,0xcc,
+0x7c,0x7b,0x22,0xe4,0x7a,0xb3,0x9, 0x62,0x22,0x6d,0x33,0x7a,0x37,0xd, 0x29,0x22,
+0x7c,0xab,0x54,0xf0,0xb4,0x20,0x18,0x7c,0xba,0x54,0xf, 0x7e,0x44,0x0, 0x1, 0x60,
+0x5, 0x3e,0x44,0x14,0x78,0xfb,0x7e,0x73,0xb, 0xb4,0xa, 0x57,0x5d,0x54,0x22,0xe4,
+0x22,0x7d,0x13,0x7e,0x37,0xc, 0xa0,0xbd,0x31,0x50,0x1a,0x7e,0x37,0xc, 0xa2,0xbd,
+0x31,0x28,0x12,0x7e,0x37,0xc, 0xa4,0xbd,0x32,0x50,0xa, 0x7e,0x37,0xc, 0xa6,0xbd,
+0x32,0x28,0x2, 0xe4,0x22,0x74,0x1, 0x22,0x6d,0x0, 0xb, 0xc, 0x7e,0x7f,0xa, 0x9,
+0x7f,0x17,0x12,0x3, 0xec,0x2f,0x14,0x7a,0x1f,0x9, 0xfd,0x7f,0x6, 0x2f,0x5, 0x2f,
+0x7, 0x7a,0xf, 0xa, 0x1, 0x22,0xa, 0xb, 0x7e,0x14,0x0, 0x3, 0x9d,0x10,0x7e,0x91,
+0x27,0x74,0x4, 0xac,0x9b,0x2e,0x44,0x3, 0x5c,0x49,0x34,0x0, 0x2, 0xb, 0x48,0x20,
+0x7c,0xb3,0x22,0x7e,0x24,0x12,0x0, 0xb, 0x28,0x30,0x5e,0x60,0x1f,0x1b,0x28,0x30,
+0x22,0xe5,0x24,0xa, 0x3b,0x3e,0x34,0x2e,0x34,0x10,0x0, 0xb, 0x38,0x70,0x6d,0x66,
+0xe5,0x24,0xa, 0x3b,0x22,0xb, 0x28,0x30,0x4d,0x35,0x1b,0x28,0x30,0x22,0x74,0x4,
+0x12,0x4, 0x8d,0x7e,0x90,0x5, 0xac,0x9f,0x49,0x34,0x2, 0xb6,0x74,0x14,0xac,0xbd,
+0x22,0x7e,0x25,0x33,0x7a,0x27,0x0, 0x50,0x7e,0x25,0x35,0x7a,0x27,0x0, 0x52,0x7a,
+0x37,0x0, 0x54,0x22,0x6d,0x0, 0x1b,0xc, 0x7e,0x5f,0xa, 0x5, 0x7f,0x15,0x12,0x3,
+0xec,0x7f,0x41,0x22,0x7e,0x25,0x22,0x7e,0x37,0xa, 0x9, 0xad,0x32,0x7c,0x76,0x7c,
+0x65,0xa, 0x24,0x22,0x6d,0x0, 0x2f,0x10,0x7e,0x14,0x0, 0x10,0x12,0x3, 0xfd,0x74,
+0x5, 0xac,0xbe,0x22,0x7f,0x13,0x7f,0x6, 0x12,0x3, 0xec,0x7f,0x7, 0x12,0x4, 0x59,
+0x7f,0x1, 0x22,0x7e,0x14,0x0, 0x3, 0x7e,0x1d,0x2a,0x12,0x3, 0xfd,0x7e,0x8, 0x0,
+0x4, 0x22,0x2e,0x18,0x0, 0xf, 0x7e,0x15,0x22,0x12,0x3, 0xfd,0x2f,0x11,0x2f,0x11,
+0x22,0x6d,0x0, 0x7e,0x6f,0xa, 0xd, 0x7f,0x16,0x12,0x3, 0xec,0x2f,0x41,0x22,0x7e,
+0x14,0x0, 0x3, 0x7f,0x13,0x12,0x3, 0xfd,0x7e,0x8, 0x0, 0x8, 0x22,0x7e,0xf, 0xa,
+0xb, 0x7e,0x37,0xa, 0x9, 0x6d,0x22,0x2, 0x3, 0xec,0xa, 0x4b,0x7d,0x24,0x7d,0xf4,
+0x1a,0x24,0x1a,0xe4,0xbf,0x7, 0x22,0x3e,0x34,0x2e,0x34,0x12,0x92,0x1b,0x38,0x20,
+0xb, 0x10,0x22,0xb, 0x48,0x20,0x4d,0x25,0x1b,0x48,0x20,0x7c,0xb7,0x22,0x7f,0x16,
+0x7d,0x1b,0x12,0x3, 0xfd,0x7f,0x7, 0x22,0x70,0x8f,0xff,0x0, 0xa0,0x5f,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43,0x45,0x49,0x5f,0x44,0x48,0x57,0x31,
+0x0, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x30,0x30,0x30,0x30,0x0, 0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1, 0xa0,
\ No newline at end of file
diff --git a/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DHW1_3207_0xA1_app.i b/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DHW1_3207_0xA1_app.i
new file mode 100644
index 0000000..eaf0791
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DHW1_3207_0xA1_app.i
@@ -0,0 +1,1471 @@
+0x2, 0x0, 0x76,0x2, 0x4d,0x86,0x22,0x22,0x22,0x22,0x32,0x2, 0x0, 0xa, 0x7f,0x71,
+0x7e,0x8, 0x0, 0x2, 0x2, 0x4, 0x59,0x2, 0x49,0xaf,0x22,0x2, 0x4d,0xfe,0x1e,0x44,
+0x1e,0x44,0x1e,0x44,0x1e,0x44,0x22,0x2, 0x4d,0xd1,0xff,0x2, 0x4d,0x20,0x7d,0x23,
+0xbe,0x24,0x0, 0x0, 0x48,0x3, 0x7d,0x32,0x22,0x6d,0x33,0x9d,0x32,0x22,0x70,0x2,
+0xc2,0xd, 0x22,0x2, 0x4d,0x52,0x40,0x10,0x10,0x10,0x10,0x40,0x12,0x0, 0x1, 0x2,
+0x3, 0x14,0x12,0x4, 0x5, 0x6, 0x7, 0x14,0x13,0x8, 0x9, 0xa, 0xb, 0x15,0x13,0xc,
+0xd, 0xe, 0xf, 0x15,0x40,0x11,0x11,0x11,0x11,0x40,0x3e,0x34,0x3e,0x34,0x3e,0x34,
+0x3e,0x34,0x22,0x2, 0x50,0x43,0x75,0x84,0x1, 0x7e,0x44,0xf, 0xff,0xe4,0x7a,0x49,
+0xb0,0x1b,0x44,0x78,0xf9,0x7e,0xf8,0xd, 0x3f,0xc2,0xc, 0x75,0x47,0x18,0xc2,0x8,
+0xd2,0x9, 0x75,0x1d,0x0, 0x75,0x1e,0x0, 0xc2,0x0, 0xd2,0x1, 0xc2,0x2, 0xc2,0x3,
+0xc2,0x4, 0xc2,0x6, 0x75,0x8, 0x76,0x75,0xa, 0x0, 0x75,0xc, 0x37,0x75,0xe, 0x2,
+0x75,0xf, 0x74,0x75,0x10,0x71,0x75,0x14,0x71,0x75,0x15,0x71,0x75,0x1b,0x7b,0xd2,
+0xa, 0xc2,0xb, 0x75,0x4c,0x0, 0x75,0x4d,0x0, 0xc2,0xd, 0x75,0x4e,0x0, 0x75,0x4f,
+0x0, 0xc2,0xe, 0x7e,0x4, 0x0, 0xff,0x7e,0x14,0x5, 0xa, 0xb, 0xa, 0x40,0x5d,0x44,
+0x68,0x1a,0x69,0x20,0x0, 0x2, 0xb, 0xe, 0xb, 0x44,0x80,0xa, 0x7e,0xb, 0xb0,0x7a,
+0x29,0xb0,0xb, 0x24,0xb, 0xc, 0x1b,0x44,0x78,0xf2,0x80,0xdf,0x2, 0x49,0x25,0xff,
+0x5b,0x98,0xa4,0x67,0xa1,0x5e,0x99,0x66,0xa1,0x5e,0x1, 0xfe,0xff,0xff,0xff,0x0,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0x7e,0xa0,0x20,0x80,0xc, 0x7e,0xa0,0x10,0x80,0x5, 0x7e,0xa0,0x8, 0x6c,0x55,0x6d,
+0x33,0x33,0x92,0xd5,0x50,0xa, 0x6e,0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,
+0xa5,0xec,0x33,0x40,0x6, 0x2f,0x11,0xd5,0xf0,0xf6,0x22,0x7c,0xba,0x24,0x7e,0xa2,
+0xd5,0x13,0x7c,0x76,0x7c,0x65,0xa5,0xcc,0x92,0xe7,0x7c,0x5b,0x22,0x7c,0xb5,0x33,
+0x7c,0xb4,0x33,0x92,0xd5,0x4e,0x50,0x80,0x24,0x81,0x40,0x3, 0x9f,0x11,0x22,0x7c,
+0x45,0x7c,0x56,0x7c,0x67,0x6c,0x77,0x24,0xe0,0x50,0xe, 0x7e,0x1c,0xff,0xff,0x22,
+0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x4, 0x78,0xf4,0x30,0xd5,0xa, 0x6e,
+0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,0x22,0x7c,0xb5,0xa2,0xe7,0xd2,0xe7,
+0x7c,0x1b,0x7c,0xb4,0x33,0x40,0x9, 0x68,0xd, 0xb4,0xff,0xb, 0xa5,0xbd,0xff,0x3,
+0x2, 0x2, 0x67,0x2, 0x2, 0x6f,0x22,0x7c,0xb, 0x24,0x81,0xc2,0xe0,0xf5,0x82,0xf4,
+0x4, 0x2c,0xb0,0x7c,0x2b,0xc3,0x13,0x7c,0x4b,0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x7f,
+0x41,0x7c,0xb6,0xa2,0xe7,0x7c,0xb1,0xa5,0xba,0x7f,0x2, 0xc3,0x13,0x34,0x0, 0x94,
+0x0, 0x7c,0x2b,0x7e,0xa0,0x91,0xa4,0x7c,0xba,0x13,0xf4,0x94,0xfe,0xac,0xb2,0x33,
+0x7c,0xba,0x33,0x24,0x8c,0xd3,0x13,0x7c,0x5b,0xe4,0x92,0xe7,0x7c,0x6b,0x6c,0x77,
+0x7e,0x40,0x3f,0x75,0x83,0x2, 0x7f,0x51,0x7f,0x1, 0x7f,0x14,0x12,0x3, 0x39,0x7f,
+0x5, 0x12,0x2, 0x81,0x9e,0x24,0x0, 0x80,0xd5,0x83,0xeb,0x7e,0x1, 0x82,0x6c,0x11,
+0xe, 0x4, 0x1e,0x4, 0x2d,0x20,0x5e,0x40,0x7f,0x22,0x2d,0x0, 0x92,0xd5,0xe, 0x10,
+0x4e,0x10,0x80,0x7d,0x42,0x2d,0x44,0x50,0x2, 0xb2,0xd5,0x4e,0x50,0x80,0x6c,0x44,
+0x7c,0xb8,0x22,0x2c,0x44,0x50,0x12,0xb, 0x1c,0x7e,0x40,0x0, 0x5e,0x50,0x7f,0xbe,
+0x18,0x0, 0x0, 0x78,0x4, 0xb, 0x80,0x68,0x16,0xa2,0xd5,0x7c,0xb8,0x13,0x7c,0x4b,
+0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x22,0x7e,0x1c,0xff,0xff,0x22,0x9f,0x11,0x22,0x7e,
+0x24,0xff,0x80,0x20,0xd5,0x2, 0x6c,0x45,0x6d,0x33,0x22,0x2, 0x2, 0x67,0x6e,0x0,
+0x80,0x7c,0xb1,0x33,0x7c,0xb0,0x33,0x68,0xd, 0x4, 0x68,0xef,0x7c,0xb5,0x33,0x7c,
+0xb4,0x33,0x78,0x3, 0x7f,0x10,0x22,0x4, 0x68,0xe1,0x7d,0x50,0x92,0xf7,0x7d,0x45,
+0x7d,0x51,0xbf,0x21,0x40,0x6, 0x7c,0x80,0x7f,0x1, 0x7f,0x12,0x12,0x2, 0x2a,0x7e,
+0xa1,0xd0,0x5c,0xb0,0x4, 0x78,0x3, 0x20,0xd5,0xc1,0x7c,0xb0,0x4, 0x78,0x7, 0x50,
+0x2, 0xb2,0xd5,0x2, 0x2, 0x6f,0x92,0xd5,0xbe,0x80,0xff,0x68,0xf6,0x7c,0xb8,0x9c,
+0xb0,0x6c,0x0, 0x60,0x2a,0xb4,0x18,0x5, 0x7c,0x41,0x2, 0x2, 0x43,0x50,0xfb,0x80,
+0x3, 0x2f,0x0, 0x4, 0x7c,0x9b,0x5e,0x90,0x7, 0x78,0xf6,0x30,0xe4,0x6, 0x7c,0x43,
+0x7d,0x10,0x6d,0x0, 0x30,0xe3,0x8, 0x7c,0x43,0x7c,0x32,0x7c,0x21,0xa, 0x0, 0x30,
+0xf5,0x19,0x9f,0x10,0x78,0xe, 0x22,0x2, 0x2, 0x6c,0x1b,0x80,0x68,0xf9,0x2f,0x11,
+0x50,0x2, 0xb, 0x70,0x7c,0xb5,0x30,0xe7,0xf1,0x80,0x1b,0x2d,0x31,0x7c,0xb5,0xa5,
+0x39,0x7c,0x5b,0x50,0x11,0xb, 0x80,0x78,0x3, 0x2, 0x2, 0x6f,0x1e,0x34,0x13,0x50,
+0x3, 0x4e,0x60,0x80,0x1a,0x2b,0x2, 0x2, 0x43,0xbe,0x24,0xff,0xff,0x68,0x6, 0xbe,
+0x4, 0xff,0xff,0x78,0x3, 0x2, 0x2, 0x67,0x12,0x2, 0x2a,0x5c,0xb0,0x4, 0x68,0xf5,
+0x7c,0xb8,0xa5,0x48,0x68,0xef,0x7c,0xb8,0x70,0x3, 0x9f,0x11,0x22,0xa5,0xb8,0x0,
+0x3, 0x2, 0x2, 0x6f,0x2e,0x0, 0x81,0x50,0x7, 0x9c,0x80,0x38,0x7, 0x2, 0x2, 0x6c,
+0x9c,0x80,0x50,0xed,0xa, 0x51,0xc2,0xe7,0x4d,0x51,0x78,0x3, 0x2, 0x2, 0x59,0x7e,
+0x54,0x0, 0x80,0x7e,0x90,0x1a,0x6c,0x0, 0x80,0x6, 0x1b,0x90,0x68,0x14,0x2f,0x11,
+0xbf,0x10,0x40,0x4, 0x9f,0x10,0x4c,0xab,0x3, 0x30,0xe7,0xee,0xca,0xa8,0x6c,0xaa,
+0x80,0xe8,0xda,0x39,0xda,0x58,0x7c,0x4a,0xbe,0x50,0x80,0x50,0xa, 0x1b,0x80,0x68,
+0xbc,0x2f,0x11,0x50,0x2, 0xb, 0x70,0x2, 0x2, 0x43,0xc2,0xd5,0x7c,0xb4,0x30,0xe7,
+0x8, 0xb2,0xd5,0x6e,0x24,0xff,0xff,0xb, 0x24,0x7c,0xb6,0x30,0xe7,0x12,0xb2,0xd5,
+0x6e,0x34,0xff,0xff,0xb, 0x34,0x8d,0x32,0x6e,0x24,0xff,0xff,0xb, 0x24,0x80,0x2,
+0x8d,0x32,0x30,0xd5,0x6, 0x6e,0x34,0xff,0xff,0xb, 0x34,0x22,0x7d,0x51,0xad,0x3,
+0x7d,0x2, 0x7d,0x21,0xad,0x5, 0x2d,0x12,0xad,0x35,0x2d,0x21,0x22,0x7d,0x2, 0xad,
+0x31,0xad,0x10,0x2d,0x21,0x22,0x6d,0x0, 0x74,0x10,0x4d,0x0, 0x78,0xb, 0x4d,0x22,
+0x78,0x27,0x8d,0x31,0x7d,0x12,0x6d,0x22,0x22,0x7d,0x43,0x7d,0x32,0x6d,0x22,0x2f,
+0x11,0x2d,0x44,0x50,0x2, 0xa5,0xf, 0xbf,0x10,0x40,0x4, 0x9f,0x10,0xb, 0x90,0x14,
+0x78,0xed,0x7f,0x1, 0x6d,0x22,0x7d,0x34,0x22,0x7d,0x41,0x7d,0x13,0x8d,0x24,0x7d,
+0x2, 0x2f,0x0, 0x40,0x4, 0xbd,0x4, 0x40,0x4, 0x9d,0x4, 0xb, 0x14,0x14,0x78,0xf1,
+0x7d,0x23,0x7d,0x31,0x7d,0x10,0x6d,0x0, 0x22,0xc2,0xd5,0x7c,0xb0,0x30,0xe7,0x8,
+0xb2,0xd5,0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x7c,0xb4,0x30,0xe7,0x13,0xb2,0xd5,0x9f,
+0x22,0x9f,0x21,0x7f,0x12,0x12,0x4, 0x8, 0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x80,0x3,
+0x12,0x4, 0x8, 0x30,0xd5,0x6, 0x9f,0x22,0x9f,0x21,0x7f,0x12,0x22,0x6c,0xaa,0x4d,
+0x11,0x68,0x1a,0x1e,0x54,0x68,0xe, 0xb, 0x38,0x20,0x1b,0x18,0x20,0xb, 0x35,0xb,
+0x15,0x1b,0x54,0x78,0xf2,0x50,0x6, 0x7e,0x39,0x40,0x7a,0x19,0x40,0x22,0x7d,0x3,
+0x80,0xa, 0x7e,0x29,0xb0,0x7a,0x9, 0xb0,0xb, 0x24,0xb, 0x4, 0x7d,0x51,0x1b,0x14,
+0x4d,0x55,0x78,0xee,0x22,0x13,0x12,0x10,0xf, 0x14,0xe, 0xb, 0xc, 0x1, 0x7, 0xa,
+0x9, 0x2, 0x3, 0x5, 0x6, 0x11,0x4, 0x15,0x0, 0xd, 0x8, 0x7f,0x1, 0xbe,0x8, 0x0,
+0x0, 0x48,0x3, 0x7f,0x10,0x22,0x9f,0x11,0x9f,0x10,0x22,0x7d,0x13,0x80,0x7, 0x1b,
+0x24,0x7a,0x19,0xb0,0xb, 0x14,0x4d,0x22,0x78,0xf5,0x22,0x10,0x10,0x10,0x1c,0x19,
+0x14,0x10,0xe, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x0, 0xc, 0xc, 0xe9,0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xc, 0xf5,0x0, 0x0,
+0x0, 0x1, 0xc, 0xf7,0x0, 0x0, 0x1, 0xd, 0x10,0x0, 0x0, 0x1, 0xd, 0x11,0x0, 0x0,
+0x1, 0xd, 0x12,0x0, 0x0, 0x2e,0xa, 0x8d,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x16,0xa, 0xbb,0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x2e,0xa, 0xd1,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x1, 0xc, 0xd0,0x0, 0x0, 0x1, 0xc, 0xd2,0x0, 0x0, 0x2, 0xc, 0xd3,
+0x0, 0x0, 0x0, 0x1, 0xc, 0xd5,0x0, 0x0, 0x1, 0xc, 0xd7,0x0, 0x0, 0x1, 0xc, 0xd8,
+0x0, 0x0, 0x2, 0x0, 0x72,0x3, 0x1c,0x0, 0x4, 0x0, 0xa2,0x0, 0x0, 0x0, 0x0, 0x0,
+0x2, 0x2, 0xcd,0x0, 0x0, 0x0, 0x1, 0x2, 0xcf,0x0, 0x0, 0x1, 0x2, 0xd3,0x0, 0x0,
+0x1, 0x3, 0x48,0x0, 0x0, 0x1, 0x3, 0x4c,0x0, 0x0, 0x1, 0x3, 0x4d,0x0, 0x0, 0x1,
+0xd, 0x3a,0x0, 0x0, 0x1, 0xd, 0x3b,0xff,0x0, 0x1, 0xd, 0x3c,0x0, 0x0, 0x1, 0xd,
+0x3d,0x10,0x0, 0x1, 0xd, 0x3e,0x8, 0x0, 0x1, 0xd, 0x3f,0x0, 0x0, 0x1, 0x9, 0x6c,
+0x0, 0x0, 0x1, 0xd, 0x28,0x0, 0x0, 0x1, 0xb, 0x38,0x0, 0x0, 0x2, 0xd, 0x29,0x0,
+0x0, 0x0, 0x2, 0x6, 0xdb,0x6, 0xe1,0x0, 0x1, 0x9, 0x69,0x0, 0x0, 0x0, 0x7d,0x41,
+0x7d,0x12,0x1a,0x26,0x1a,0x24,0x12,0x6, 0x5e,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x2,
+0x4, 0x59,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x7f,0x17,0x9f,0x10,0x7d,0x1d,0x1a,0x2,
+0x1a,0x0, 0x2, 0x3, 0xec,0xca,0x3b,0x7f,0x71,0x7c,0xab,0x6c,0x33,0x6c,0xee,0x6d,
+0x22,0x7a,0x25,0x22,0x7a,0x25,0x24,0x7d,0x62,0x7d,0x82,0x7d,0x92,0x7d,0x42,0x7d,
+0xa2,0x7d,0xb2,0x7e,0x37,0x5, 0xf8,0x7d,0xd3,0x7e,0x24,0x0, 0x2, 0x12,0x3, 0xba,
+0x7d,0xc3,0xa, 0x3a,0x7e,0x24,0x0, 0xb, 0x12,0x3, 0xba,0x7c,0xb5,0x7c,0xfb,0xbe,
+0xf0,0x5, 0x50,0x4c,0x1a,0x13,0x12,0x7, 0x73,0x48,0x2c,0xbe,0x78,0x1, 0xa, 0x48,
+0x2, 0x80,0x3, 0x7e,0x45,0x24,0x12,0x6, 0x52,0x7d,0x54,0x12,0x7, 0x84,0xbe,0x78,
+0x0, 0xc7,0x8, 0x7c,0x7f,0x17,0x9e,0x18,0x0, 0xc7,0x12,0x0, 0xe, 0x7f,0x71,0x2e,
+0x18,0x0, 0xc7,0x7f,0x71,0x80,0x69,0xbe,0x78,0x0, 0x89,0x18,0x9, 0x7d,0x19,0x12,
+0x6, 0x54,0x7d,0x59,0x80,0x27,0x7e,0x45,0x22,0x12,0x6, 0x52,0x7d,0x54,0x80,0x1d,
+0x1a,0x1e,0x12,0x7, 0x73,0x48,0x1b,0xbe,0x78,0x1, 0x4, 0x48,0x9, 0x7d,0x1b,0x12,
+0x6, 0x54,0x7d,0x5b,0x80,0x7, 0x7d,0x18,0x12,0x6, 0x54,0x7d,0x58,0x12,0x7, 0x84,
+0x80,0x2e,0xbe,0x78,0x0, 0x87,0x18,0x9, 0x7d,0x1a,0x12,0x6, 0x54,0x7d,0x5a,0x80,
+0x7, 0x7d,0x16,0x12,0x6, 0x54,0x7d,0x56,0x12,0x7, 0x84,0xbe,0x78,0x0, 0x0, 0x58,
+0xf, 0x9f,0x11,0x9f,0x17,0x12,0x0, 0xe, 0x7f,0x71,0x9f,0x11,0x9f,0x17,0x7f,0x71,
+0xbe,0x78,0x0, 0x0, 0x58,0x6, 0x9f,0x11,0x7f,0x71,0x80,0x11,0x7d,0x1d,0x12,0x7,
+0x7d,0x48,0xa, 0x7d,0x3d,0x1a,0x26,0x1a,0x24,0x1b,0x1c,0x7f,0x71,0xbe,0xf0,0x5,
+0x40,0xc, 0x7d,0x1d,0x1a,0x2, 0x1a,0x0, 0x7f,0x17,0x2f,0x10,0x7f,0x71,0x7f,0x17,
+0xda,0x3b,0x22,0x1a,0x2, 0x7f,0x17,0x2f,0x10,0x7f,0x71,0x7d,0x1c,0x1a,0x2, 0x1a,
+0x0, 0xbf,0x70,0x22,0x3e,0x54,0x1a,0x4a,0x1a,0x48,0x7d,0x1d,0x1a,0x2, 0x1a,0x0,
+0x9f,0x2, 0x12,0x4, 0x59,0x7f,0x71,0x22,0xca,0x3b,0x7e,0xa3,0x0, 0x90,0x7c,0xca,
+0x5e,0xc0,0xf, 0x7c,0xba,0xc4,0x7c,0x3b,0x5e,0x30,0xf, 0x4c,0xcc,0x78,0x2d,0x12,
+0x9, 0xa5,0xbe,0x30,0x0, 0x38,0x3, 0x2, 0x9, 0xa2,0x6c,0xff,0x7e,0x20,0xff,0x74,
+0x5, 0xac,0xbf,0x19,0x25,0x2, 0xc4,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xf1,0x75,0x1c,
+0x1, 0x75,0x12,0x0, 0xe4,0x7a,0xb3,0xc, 0xf7,0x2, 0x9, 0xa2,0x7e,0x23,0xc, 0xf7,
+0xbe,0x20,0x3c,0x50,0x14,0x7e,0x4, 0xa, 0x0, 0x7a,0x7, 0x0, 0x9e,0x12,0x4d,0x19,
+0x7c,0xb2,0x4, 0x7a,0xb3,0xc, 0xf7,0x80,0xd, 0x7e,0x37,0x0, 0x9e,0xbe,0x34,0xa,
+0x0, 0x68,0x3, 0x12,0x4d,0x11,0x6c,0xff,0x7e,0x20,0xff,0x74,0x5, 0xac,0xbf,0x19,
+0x25,0xa, 0x1, 0x7e,0x34,0x7f,0xff,0x59,0x35,0x9, 0xfd,0x59,0x35,0x9, 0xff,0xb,
+0xf0,0xbe,0xf0,0x2, 0x78,0xe2,0x6c,0xff,0x80,0x23,0x7e,0x50,0x5, 0xac,0x5f,0x7d,
+0x2, 0x2e,0x4, 0x0, 0x7a,0xb, 0x8, 0x30,0x12,0x0, 0x6a,0x1b,0x8, 0x30,0x2e,0x24,
+0x0, 0x7c,0xb, 0x28,0x30,0x12,0x0, 0x6a,0x1b,0x28,0x30,0xb, 0xf0,0xbc,0xcf,0x38,
+0xd9,0xa5,0xbb,0x0, 0x28,0x6c,0xff,0x80,0x1e,0x74,0x5, 0xac,0xbf,0x49,0x45,0x0,
+0x7a,0x59,0x45,0x2, 0xc0,0x49,0x45,0x0, 0x7c,0x59,0x45,0x2, 0xc2,0x9, 0x75,0x0,
+0x7e,0x19,0x75,0x2, 0xc4,0xb, 0xf0,0xbc,0xcf,0x38,0xde,0x21,0x4a,0x6c,0xdd,0x6c,
+0xff,0x6c,0xee,0x7e,0x70,0x5, 0xac,0x7e,0x9, 0xa3,0x2, 0xc4,0x7e,0x50,0x5, 0xac,
+0x5f,0x9, 0xb2,0x0, 0x7e,0xbc,0xba,0x78,0x13,0xbe,0xb0,0xff,0x68,0xe, 0xbe,0xd0,
+0x2, 0x50,0x10,0x2e,0x34,0x2, 0xc0,0x12,0xe, 0x60,0x80,0x7, 0xb, 0xe0,0xbe,0xe0,
+0x2, 0x40,0xd0,0xbe,0xe0,0x2, 0x78,0xb, 0xbe,0xd0,0x2, 0x50,0x6, 0x12,0x3e,0x25,
+0x12,0xe, 0x60,0xb, 0xd0,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xb5,0x6c,0xff,0x12,0x3e,
+0x15,0x2e,0x34,0x9, 0xfd,0x2e,0x14,0x2, 0xc0,0x12,0x3e,0x2f,0x78,0xf0,0xe5,0x12,
+0x70,0x68,0x6c,0xff,0x80,0x60,0x7c,0xef,0x6c,0xdd,0x80,0x21,0x7e,0x90,0x5, 0xac,
+0x9f,0x9, 0xa4,0x2, 0xc4,0x7e,0x70,0x5, 0xac,0x7d,0x9, 0xb3,0x0, 0x7e,0xbc,0xba,
+0x78,0x9, 0xbe,0xa0,0xff,0x68,0x4, 0x7c,0xed,0x80,0x6, 0xb, 0xd0,0xbc,0xcd,0x38,
+0xdb,0xbe,0xe0,0x2, 0x40,0x2, 0x7c,0xef,0x12,0xf, 0xfd,0xbe,0x34,0x18,0xe0,0x50,
+0xa, 0x49,0x24,0x2, 0xc2,0xbe,0x24,0x18,0xe0,0x40,0x12,0x49,0x24,0x0, 0x7a,0x74,
+0x5, 0xac,0xbf,0x59,0x25,0x2, 0xc0,0x59,0x35,0x2, 0xc2,0x80,0x7, 0x7c,0xbf,0x7c,
+0x7e,0x12,0x9, 0xdd,0xb, 0xf0,0xbc,0xcf,0x38,0x9c,0x6c,0xff,0x74,0x5, 0xac,0xbf,
+0x49,0x45,0x2, 0xc0,0x12,0x0, 0x1e,0x59,0x45,0x0, 0x7a,0x49,0x45,0x2, 0xc2,0x12,
+0x0, 0x1e,0x59,0x45,0x0, 0x7c,0x9, 0x75,0x2, 0xc4,0x19,0x75,0x0, 0x7e,0xb, 0xf0,
+0xbe,0xf0,0x2, 0x78,0xd7,0xbe,0xc0,0x0, 0x28,0x25,0x6c,0xff,0x74,0x5, 0xac,0xbf,
+0x49,0x45,0x0, 0x7a,0x59,0x45,0x2, 0xb6,0x49,0x45,0x0, 0x7c,0x59,0x45,0x2, 0xb8,
+0x9, 0x75,0x0, 0x7e,0x19,0x75,0x2, 0xba,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xdd,0x75,
+0x9, 0x1, 0xda,0x3b,0x22,0x12,0xe, 0xaf,0x78,0x32,0x20,0xc, 0x2f,0x6c,0xaa,0x7e,
+0x44,0x7f,0xff,0x7e,0x70,0x4, 0xac,0x7a,0x59,0x43,0xc, 0xe1,0x59,0x43,0xc, 0xe3,
+0x6d,0x33,0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0xc, 0xdd,0x7e,0x34,0x1, 0x0, 0x59,
+0x32,0xc, 0xd9,0xb, 0xa0,0xbe,0xa0,0x2, 0x78,0xd5,0xd2,0xc, 0x22,0xca,0x3b,0x7c,
+0xe7,0x7c,0xdb,0x75,0x24,0x0, 0x9f,0x11,0x7a,0x1f,0xa, 0xb, 0x7a,0x1f,0xa, 0xf,
+0x7a,0x1f,0xa, 0x13,0x12,0x3c,0x6, 0x74,0x5, 0xac,0xbd,0x49,0x15,0x2, 0xc0,0x49,
+0x5, 0x2, 0xc2,0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x7, 0x74,0x5, 0xac,0xbd,0x9, 0xf5,
+0x2, 0xc4,0xbe,0xf0,0x2, 0x40,0x2, 0x6c,0xff,0x12,0x3c,0x6, 0x74,0x4, 0xac,0xbf,
+0x49,0x15,0xc, 0xe1,0x49,0x5, 0xc, 0xe3,0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x9, 0x7e,
+0x27,0xa, 0x7, 0x7e,0x34,0x0, 0xdc,0xad,0x23,0x7e,0x17,0x0, 0x9e,0x12,0x4, 0x6,
+0x7a,0x35,0x22,0xbe,0x34,0x0, 0xa, 0x50,0x7, 0x7e,0x34,0x0, 0xa, 0x7a,0x35,0x22,
+0x75,0x24,0x0, 0x6c,0xcc,0x7e,0x90,0x14,0xac,0x9f,0x49,0x24,0xb, 0x3, 0x49,0x34,
+0xb, 0x7, 0xbd,0x32,0x78,0xe, 0x49,0x54,0xb, 0x5, 0x49,0x34,0xb, 0x9, 0xbd,0x35,
+0x78,0x2, 0xa1,0x41,0x74,0x5, 0xac,0xbe,0x49,0x15,0x0, 0x7c,0x1e,0x14,0x1e,0x14,
+0x1e,0x14,0x1e,0x14,0x6d,0x0, 0x7a,0xf, 0xa, 0x13,0xbe,0x8, 0x0, 0x18,0x48,0xa,
+0x7e,0xf, 0xa, 0x13,0xbe,0x8, 0x1, 0x76,0x8, 0x5, 0x75,0x25,0x34,0x80,0x1c,0x7e,
+0xf, 0xa, 0x13,0xbe,0x8, 0x0, 0x31,0x48,0xa, 0x7e,0xf, 0xa, 0x13,0xbe,0x8, 0x1,
+0x5d,0x8, 0x5, 0x75,0x25,0x20,0x80,0x3, 0x75,0x25,0x19,0x49,0x35,0x0, 0x7a,0x12,
+0xe, 0xa3,0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0xf, 0x74,0x5, 0xac,0xbe,0x49,0x35,0x0,
+0x7c,0x12,0xe, 0xa3,0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x5, 0x12,0xe, 0x2f,0x7a,
+0x1f,0xa, 0x13,0x7d,0x3, 0x7e,0x1f,0xa, 0xf, 0x7d,0x13,0x2d,0x10,0x7a,0x17,0xa,
+0x17,0xbe,0x14,0x0, 0x7, 0x8, 0x3d,0xbe,0x18,0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,
+0x1f,0xa, 0xf, 0x7e,0x1f,0xa, 0x13,0xbe,0x18,0x0, 0x0, 0x78,0xa, 0x7e,0x1f,0xa,
+0x13,0xb, 0x1c,0x7a,0x1f,0xa, 0x13,0x12,0xe, 0x39,0x8, 0x4, 0xb, 0xc0,0x80,0x14,
+0x7e,0x1f,0xa, 0xb, 0xbe,0x18,0x0, 0x64,0x8, 0xa, 0x12,0x5b,0x8e,0x12,0xe, 0x4e,
+0x8, 0x2, 0x5, 0x24,0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x3, 0x49,0x35,0xb, 0x7,
+0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0xf, 0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x5, 0x49,
+0x35,0xb, 0x9, 0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0x13,0x7e,0x1f,0xa, 0xf, 0xbe,0x18,
+0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,0x1f,0xa, 0xf, 0x7e,0x1f,0xa, 0x13,0xbe,0x18,
+0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,0x1f,0xa, 0x13,0x12,0xe, 0x39,0x8, 0x4, 0xb,
+0xc0,0x80,0x14,0x7e,0x1f,0xa, 0xb, 0xbe,0x18,0x0, 0x64,0x8, 0xa, 0x12,0x5b,0x8e,
+0x12,0xe, 0x4e,0x8, 0x2, 0x5, 0x24,0x74,0x14,0xac,0xbf,0x12,0xe, 0x6e,0x7d,0xf3,
+0xbe,0xf7,0xa, 0x17,0x8, 0x2, 0xa1,0x2e,0xe5,0x25,0xbe,0xb0,0x34,0x7e,0x1f,0xa,
+0xb, 0x40,0x9, 0x12,0x5b,0x32,0x7e,0x8, 0x0, 0x5a,0x80,0x7, 0x12,0x5b,0x32,0x7e,
+0x8, 0x0, 0x4b,0x12,0x4, 0x59,0x7a,0x1f,0xa, 0xb, 0xe5,0x24,0x60,0x2, 0x81,0xe2,
+0x4c,0xcc,0x68,0x2, 0x81,0xe2,0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0x3, 0x6d,0x22,
+0x49,0x15,0xb, 0xb, 0x6d,0x0, 0x9f,0x1, 0x7a,0xf, 0xa, 0xf, 0x12,0x57,0xea,0x74,
+0x14,0xac,0xbf,0x49,0x15,0xb, 0x3, 0x12,0x5b,0x4, 0x49,0x15,0x0, 0x7a,0x6d,0x0,
+0x2f,0x10,0xbe,0x18,0x0, 0x0, 0x48,0x19,0x74,0x6, 0xac,0xbf,0x49,0xe5,0xc, 0xed,
+0x4d,0xee,0x78,0xd, 0x12,0x0, 0x10,0x7d,0xe3,0x74,0x5, 0xac,0xbe,0x59,0xe5,0x0,
+0x7a,0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0x5, 0x6d,0x22,0x74,0x14,0xac,0xbf,0x12,
+0x57,0xb2,0x9f,0x1, 0x7a,0xf, 0xa, 0x13,0x12,0x57,0xea,0x74,0x14,0xac,0xbf,0x49,
+0x15,0xb, 0x5, 0x12,0x5b,0x4, 0x49,0x15,0x0, 0x7c,0x6d,0x0, 0x2f,0x10,0xbe,0x18,
+0x0, 0x0, 0x48,0x17,0x74,0x6, 0xac,0xbf,0x49,0x15,0xc, 0xed,0x4d,0x11,0x78,0xb,
+0x12,0x0, 0x10,0x74,0x5, 0xac,0xbe,0x59,0x35,0x0, 0x7c,0x7e,0x90,0x6, 0xac,0x9f,
+0x49,0x54,0xc, 0xe9,0x4d,0x55,0x78,0x14,0x7e,0x1f,0xa, 0xf, 0x7d,0x53,0x59,0x54,
+0xc, 0xe9,0x7e,0x1f,0xa, 0x13,0x7d,0x53,0x59,0x54,0xc, 0xeb,0x49,0x34,0xc, 0xe9,
+0x1a,0x26,0x1a,0x24,0x7e,0x7f,0xa, 0xf, 0x7f,0x7, 0x12,0xe, 0x9b,0x48,0x11,0x49,
+0x34,0xc, 0xeb,0x1a,0x26,0x1a,0x24,0x7e,0xf, 0xa, 0x13,0x12,0xe, 0x9b,0x58,0x32,
+0x74,0x6, 0xac,0xbf,0x49,0x35,0xc, 0xed,0xbe,0x34,0x0, 0x3, 0x58,0xe, 0x7e,0x50,
+0x6, 0xac,0x5f,0x2e,0x24,0xc, 0xed,0xb, 0x34,0x1b,0x28,0x30,0x7d,0x3f,0x74,0x6,
+0xac,0xbf,0x59,0x35,0xc, 0xe9,0x7e,0x1f,0xa, 0x13,0x74,0x6, 0xac,0xbf,0x59,0x35,
+0xc, 0xeb,0xe5,0x24,0xbe,0xb0,0x2, 0x40,0xe, 0x74,0x6, 0xac,0xbf,0x49,0x45,0xc,
+0xed,0xbe,0x44,0x0, 0x2, 0x48,0x5, 0x75,0x24,0x0, 0x80,0xc, 0x4d,0x44,0x78,0x8,
+0x7e,0x34,0x0, 0x1, 0x59,0x35,0xc, 0xed,0xbe,0xc0,0x2, 0x40,0xf, 0x7e,0x50,0x6,
+0xac,0x5f,0x49,0x32,0xc, 0xed,0xbe,0x34,0x0, 0x2, 0x48,0x4, 0x6c,0xcc,0x80,0x33,
+0x4d,0x33,0x78,0x2f,0x7e,0x34,0x0, 0x1, 0x59,0x32,0xc, 0xed,0x80,0x25,0x7e,0x34,
+0x0, 0x2, 0x74,0x6, 0xac,0xbf,0x59,0x35,0xc, 0xed,0x75,0x24,0x0, 0x6c,0xcc,0x80,
+0x12,0x6d,0x33,0x74,0x6, 0xac,0xbf,0x59,0x35,0xc, 0xe9,0x59,0x35,0xc, 0xeb,0x59,
+0x35,0xc, 0xed,0x7e,0x35,0x22,0xbe,0x34,0x1, 0x0, 0x28,0x7, 0x7e,0x34,0x1, 0x0,
+0x7a,0x35,0x22,0x74,0x5, 0xac,0xbd,0x49,0x25,0x2, 0xc0,0x74,0x5, 0xac,0xbe,0x12,
+0x3c,0x77,0x7a,0x37,0xa, 0x9, 0xe5,0x24,0x60,0x13,0x12,0x5b,0x5d,0x74,0x14,0x1e,
+0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x80,0x3, 0x12,0x5a,0xf4,
+0x7a,0x37,0xa, 0x9, 0x7e,0x90,0x5, 0xac,0x9d,0x49,0x34,0x2, 0xc0,0x74,0x5, 0xac,
+0xbe,0x49,0x25,0x0, 0x7a,0xbd,0x23,0x28,0x11,0x7d,0x14,0x2e,0x14,0x2, 0xc0,0x7d,
+0x23,0x2e,0x27,0xa, 0x9, 0x1b,0x18,0x20,0x80,0xd, 0x7d,0x24,0x2e,0x24,0x2, 0xc0,
+0x9e,0x37,0xa, 0x9, 0x1b,0x28,0x30,0x49,0x24,0x2, 0xc2,0x12,0x3e,0xc, 0x7a,0x37,
+0xa, 0x9, 0x4c,0xcc,0x68,0x13,0x12,0x5b,0x5d,0x74,0xa, 0x1e,0x34,0x1e,0x24,0x50,
+0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x80,0x3, 0x12,0x5a,0xf4,0x7a,0x37,0xa, 0x9,
+0x7e,0x30,0x5, 0xac,0x3d,0x49,0x21,0x2, 0xc2,0x12,0xf, 0xfd,0xbd,0x32,0x7d,0x51,
+0x28,0xf, 0x2e,0x54,0x2, 0xc2,0x7d,0x2, 0x2e,0x7, 0xa, 0x9, 0x1b,0x58,0x0, 0x80,
+0xb, 0x2e,0x54,0x2, 0xc2,0x9e,0x27,0xa, 0x9, 0x1b,0x58,0x20,0x49,0x24,0x0, 0x7a,
+0x74,0x4, 0xac,0xbf,0x59,0x25,0xc, 0xe1,0x59,0x35,0xc, 0xe3,0xda,0x3b,0x22,0x9d,
+0x32,0x12,0x0, 0x2e,0x1a,0x26,0x1a,0x24,0x22,0x7e,0xb4,0x0, 0x64,0x7e,0x7f,0xa,
+0x13,0x7f,0x17,0x7d,0x1b,0x12,0x3, 0xfd,0x7e,0x6f,0xa, 0xf, 0x7f,0x6, 0x12,0x4,
+0x59,0x7f,0x1, 0x7a,0xf, 0xa, 0xb, 0xe5,0x25,0xa, 0x3b,0x6d,0x22,0xbf,0x10,0x22,
+0x7e,0x30,0x5, 0xac,0x3d,0x2e,0x14,0x9, 0xfd,0x74,0x5, 0x2, 0x4, 0x8d,0x49,0x35,
+0xb, 0xb, 0x49,0x25,0xb, 0xd, 0x49,0x15,0xb, 0x3, 0x49,0x5, 0xb, 0x5, 0xca,0x3b,
+0x7d,0x61,0x7a,0x35,0x26,0x7d,0x32,0x9d,0x30,0x12,0x0, 0x2e,0x7d,0x73,0x7e,0x35,
+0x26,0x9d,0x36,0x12,0x0, 0x2e,0x2d,0x37,0xda,0x3b,0x22,0x12,0x3, 0xec,0xbe,0x18,
+0x0, 0x0, 0x22,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x22,0x12,0xe, 0xba,0x7e,
+0xb3,0x0, 0x90,0x54,0xf, 0x22,0x7a,0xb3,0xb, 0x88,0x60,0x2a,0x7e,0xb3,0x6, 0xca,
+0x20,0xe7,0x3d,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x12,0x41,
+0x1d,0x7e,0xb3,0x6, 0xca,0x54,0xc7,0x44,0x10,0x12,0x17,0x72,0x12,0x5b,0x83,0x44,
+0x80,0x7a,0xb3,0x6, 0xca,0x22,0x7e,0xb3,0x6, 0xca,0x30,0xe7,0x13,0x54,0xc7,0x44,
+0x28,0x12,0x17,0x72,0x12,0x5b,0x83,0x54,0x7f,0x7a,0xb3,0x6, 0xca,0x2, 0x2f,0x8e,
+0x22,0xca,0x79,0x7e,0x77,0x0, 0x92,0x4d,0x77,0x78,0x32,0xe4,0x12,0xe, 0xac,0xbe,
+0xb0,0x0, 0x28,0x5, 0x75,0xb, 0x0, 0xe1,0xa6,0x7e,0xb3,0x0, 0x94,0x20,0xe0,0x2,
+0xe1,0xa6,0x7e,0x73,0x0, 0x99,0xbe,0x71,0xb, 0x38,0x7b,0x75,0xb, 0x0, 0x7e,0x34,
+0x0, 0x1, 0x7a,0x37,0x0, 0x92,0x74,0x1, 0x12,0xe, 0xb6,0x80,0x69,0xbe,0x74,0x0,
+0x1, 0x78,0x14,0x74,0x1, 0x12,0xe, 0xac,0x68,0x5c,0x12,0x4d,0x9, 0x12,0xe, 0xb6,
+0x75,0xd, 0x27,0xd2,0x5, 0x80,0x4f,0xbe,0x74,0x0, 0x3, 0x78,0x49,0x7e,0xb3,0x0,
+0x9b,0x12,0x4a,0x48,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x12,
+0xf, 0xf3,0x12,0x2f,0x66,0x74,0x2, 0x12,0xf, 0xcd,0x12,0x49,0xe0,0x12,0x0, 0x27,
+0xc2,0xa8,0xc2,0x95,0xa9,0xd0,0xca,0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,0x4a,0x30,
+0x12,0x1c,0xcb,0x12,0x4d,0x9, 0x7a,0xb3,0xb, 0x88,0x74,0xa, 0x7a,0xb3,0x6, 0xda,
+0x7e,0xb3,0x6, 0xda,0x70,0xfa,0x7e,0x77,0x0, 0x92,0x4d,0x77,0x78,0xb, 0x80,0x4,
+0xe4,0x12,0xf, 0xcd,0x30,0x5, 0xf9,0x80,0xc, 0xbe,0x74,0x0, 0x1, 0x78,0x6, 0x12,
+0xf, 0xf3,0x12,0x2f,0xac,0x75,0xd, 0x0, 0xc2,0x5, 0xda,0x79,0x22,0x70,0x5, 0x43,
+0x87,0x1, 0x80,0x1a,0xb4,0x1, 0xb, 0xa9,0xd0,0xce,0xa9,0xd7,0xc9,0x43,0x87,0x2,
+0x80,0xc, 0xb4,0x2, 0xd, 0xa9,0xd0,0xce,0xa9,0xc7,0xc9,0x43,0x87,0x2, 0x0, 0x0,
+0x0, 0x0, 0x22,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x20,0x93,0xf9,0x22,0x7e,0x90,0x5,
+0xac,0x9e,0x49,0x34,0x0, 0x7c,0x22,0x7d,0xf3,0xbe,0xf4,0x0, 0x50,0x38,0x28,0x7e,
+0x54,0x0, 0x50,0x9d,0x5f,0x12,0x11,0x3b,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x28,
+0x4, 0x9f,0x22,0x80,0x8, 0x7e,0x18,0x0, 0x2d,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0,
+0x0, 0x50,0x64,0x9f,0x22,0x80,0x60,0xbe,0xf4,0x1, 0x2f,0x40,0x20,0x12,0x11,0x35,
+0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x40,0x4, 0x7e,0x28,0x0, 0x2c,0xbe,0x28,0x0,
+0x2d,0x28,0x4, 0x7e,0x28,0x0, 0x2d,0x2e,0x28,0x1, 0x61,0x80,0x3a,0xbe,0xf4,0x0,
+0xbf,0x50,0x23,0x7e,0x54,0x0, 0xbf,0x9d,0x5f,0x12,0x10,0xa0,0xbe,0x28,0x0, 0xc7,
+0x38,0x8, 0x7e,0x18,0x0, 0xc7,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0, 0x2d,0x50,0x17,
+0x7e,0x28,0x0, 0x2d,0x80,0x11,0x12,0x10,0x9a,0x2e,0x28,0x0, 0xc7,0xbe,0x28,0x1,
+0x61,0x28,0x4, 0x7e,0x28,0x1, 0x61,0x7d,0x35,0x22,0x7d,0x5f,0x9e,0x54,0x0, 0xbf,
+0x6d,0x44,0x7e,0x14,0x1, 0x81,0x7f,0x12,0x12,0x3, 0xfd,0x7f,0x21,0x7c,0xba,0x7c,
+0xa9,0xa, 0x48,0x22,0x7d,0xf3,0xbe,0xf4,0x0, 0x50,0x38,0x20,0x7e,0x54,0x0, 0x50,
+0x9d,0x5f,0x12,0x11,0x3b,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x28,0x4, 0x9f,0x22,
+0x80,0x60,0x7e,0x18,0x0, 0x2d,0x9f,0x12,0x7f,0x21,0x80,0x56,0xbe,0xf4,0x1, 0x2f,
+0x40,0x16,0x12,0x11,0x35,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x40,0x4, 0x7e,0x28,
+0x0, 0x2c,0x2e,0x28,0x1, 0x61,0x80,0x3a,0xbe,0xf4,0x0, 0xbf,0x50,0x23,0x7e,0x54,
+0x0, 0xbf,0x9d,0x5f,0x12,0x10,0xa0,0xbe,0x28,0x0, 0xc7,0x38,0x8, 0x7e,0x18,0x0,
+0xc7,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0, 0x2d,0x50,0x17,0x7e,0x28,0x0, 0x2d,0x80,
+0x11,0x12,0x10,0x9a,0x2e,0x28,0x0, 0xc7,0xbe,0x28,0x1, 0x61,0x28,0x4, 0x7e,0x28,
+0x1, 0x61,0x7d,0x35,0x22,0x7d,0x5f,0x9e,0x54,0x1, 0x2f,0x6d,0x44,0x7e,0x14,0x2,
+0x7, 0x22,0xca,0xf8,0x6c,0xff,0x80,0x1d,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7a,
+0x12,0x10,0x7, 0x74,0x5, 0xac,0xbf,0x59,0x35,0x0, 0x7a,0x49,0x35,0x0, 0x7c,0x12,
+0x10,0xb4,0x12,0x3c,0x51,0x12,0x38,0x94,0x48,0xde,0xda,0xf8,0x22,0xca,0xf8,0x12,
+0x49,0xe0,0x7e,0x34,0x2, 0xd4,0x7a,0x37,0x6, 0xd8,0x12,0x4c,0x52,0xe4,0x12,0x43,
+0xb3,0x12,0x4d,0x63,0x12,0x3e,0x73,0x12,0x47,0xb1,0xe4,0x12,0x3f,0xc9,0x12,0x1c,
+0xc2,0x12,0x4e,0xf1,0x7e,0xb3,0xb, 0x9f,0xb4,0x1, 0x2, 0x80,0x2, 0x41,0x84,0x7e,
+0xf3,0x6, 0x4d,0x4c,0xff,0x68,0x36,0xbe,0xf0,0x1, 0x78,0xa, 0xe4,0x7a,0xb3,0x6,
+0x4d,0x12,0x3e,0xc9,0x80,0x12,0xbe,0xf0,0x3, 0x78,0x5, 0x12,0x1b,0xdc,0x80,0x8,
+0xbe,0xf0,0x2, 0x78,0x3, 0x12,0x17,0xff,0x7e,0x34,0xa, 0xd1,0x12,0x14,0xea,0x7e,
+0x34,0xa, 0xbb,0x12,0x14,0xea,0x7e,0x34,0xa, 0x8d,0x12,0x14,0xea,0x12,0x48,0x4c,
+0x12,0x37,0xfc,0x12,0x1f,0xf9,0x44,0x1, 0x7a,0xb3,0x6, 0xd7,0x12,0x15,0x1d,0x12,
+0x2f,0x45,0x12,0x27,0xfc,0x12,0x30,0xd8,0x12,0x23,0x3e,0x12,0x2a,0xa0,0x12,0x3c,
+0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x3, 0x12,0x14,0xfa,0x12,0xe, 0xaf,0x12,0x0,
+0x3e,0x7e,0x34,0x3, 0x5c,0x7e,0x24,0x5, 0x34,0x7e,0xb3,0x6, 0xc8,0x12,0x2d,0xc3,
+0x12,0x0, 0x6, 0x12,0x26,0x96,0x12,0x11,0x42,0x12,0x38,0x63,0x12,0x2d,0x3d,0x12,
+0x12,0x87,0x7e,0xb3,0xb, 0x38,0x60,0x8, 0xe4,0x7a,0xb3,0xb, 0x38,0x12,0x28,0x8c,
+0x12,0x3f,0x3d,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x3, 0x12,0x14,0xfa,0x12,0x18,0x72,
+0x12,0x2e,0xe5,0x12,0x28,0x97,0x12,0x28,0x27,0x12,0x38,0xa1,0x12,0x3c,0x80,0x12,
+0x7, 0x98,0x12,0x57,0xfa,0x12,0x51,0x3e,0x12,0x53,0xbf,0x7e,0xb3,0x6, 0x67,0x30,
+0xe1,0x3, 0x12,0x14,0xfa,0x7e,0xb3,0x0, 0x9a,0x12,0x41,0xc9,0x12,0xf, 0x1, 0x12,
+0x3e,0xf1,0x21,0x94,0xda,0xf8,0x22,0xca,0x3b,0x7e,0xb3,0x0, 0x90,0x7c,0xab,0x5e,
+0xa0,0xf, 0x7a,0xa1,0x25,0xc4,0x54,0xf, 0x54,0xf, 0xf5,0x26,0x7e,0x77,0x0, 0x6a,
+0x7e,0x67,0x0, 0x6c,0x7e,0xb3,0x0, 0x68,0xf5,0x23,0x7e,0xb3,0x0, 0x69,0xf5,0x24,
+0x4c,0xaa,0x78,0x4, 0xc2,0x4, 0x81,0x72,0xe5,0x25,0xbe,0xb0,0x1, 0x28,0x58,0x75,
+0x22,0x0, 0x80,0x48,0x12,0x14,0xe3,0x49,0x45,0x0, 0x7a,0x7a,0x45,0x2f,0x49,0x35,
+0x0, 0x7c,0x12,0x15,0x12,0x28,0xa, 0x12,0x14,0xf2,0x28,0x2e,0xbe,0x35,0x31,0x28,
+0x29,0x12,0x14,0x9b,0xbd,0x36,0x28,0x22,0x7a,0x65,0x29,0x12,0x17,0xf7,0x50,0x3,
+0x12,0x17,0xef,0x7e,0x35,0x33,0x12,0x14,0xc0,0x12,0x14,0xe3,0x59,0x35,0x0, 0x7a,
+0x12,0x14,0xbd,0x12,0x14,0xe3,0x59,0x35,0x0, 0x7c,0x5, 0x22,0xe5,0x25,0xbe,0xb1,
+0x22,0x38,0xb1,0xc2,0x4, 0x81,0x72,0xe5,0x25,0xb4,0x1, 0x22,0xe5,0x26,0x70,0x1e,
+0x12,0x15,0x7, 0x28,0xe, 0x12,0x14,0xf2,0x28,0x5, 0xbe,0x35,0x31,0x38,0x4, 0xc2,
+0x4, 0x81,0x72,0x12,0x14,0x9b,0x7a,0x35,0x29,0x12,0x5a,0xd1,0x81,0x9, 0xe5,0x25,
+0xb4,0x1, 0x2, 0x80,0x2, 0x81,0x9, 0x12,0x15,0x7, 0x28,0xe, 0x12,0x14,0xf2,0x28,
+0x5, 0xbe,0x35,0x31,0x38,0x4, 0xc2,0x4, 0x81,0x72,0x12,0x14,0x9b,0x9e,0x37,0x0,
+0x60,0x12,0x0, 0x2e,0x7a,0x35,0x2b,0x7e,0x35,0x33,0x9e,0x37,0x0, 0x50,0x7e,0x25,
+0x35,0x9e,0x27,0x0, 0x52,0x12,0x14,0x7e,0x7a,0x35,0x2d,0x7e,0x37,0x0, 0x70,0xbe,
+0x35,0x2d,0x50,0x28,0x7e,0x35,0x27,0x9e,0x37,0x0, 0x54,0x12,0x0, 0x2e,0x7e,0xa1,
+0x23,0x74,0x5, 0xa4,0xbd,0x35,0x58,0xc, 0x7e,0xa0,0x2, 0xe5,0x23,0xa4,0xf5,0x23,
+0xd2,0x4, 0x80,0x8, 0x7e,0xb3,0x0, 0x68,0xf5,0x23,0xc2,0x4, 0x30,0x4, 0x30,0xe5,
+0x23,0xa, 0x3b,0xbe,0x35,0x2b,0x28,0x4, 0x6d,0x33,0x80,0x27,0xe5,0x24,0xa, 0x3b,
+0xbe,0x35,0x2b,0x28,0x14,0x7e,0x25,0x2b,0x7e,0x34,0x0, 0x64,0xad,0x23,0xe5,0x24,
+0xa, 0x1b,0x6d,0x0, 0x12,0x4, 0x8, 0x80,0xa, 0x7e,0x34,0x0, 0x64,0x80,0x4, 0x7e,
+0x34,0x0, 0x64,0x7a,0x35,0x2b,0x7e,0xf7,0x0, 0x60,0x7d,0x1f,0x6d,0x0, 0x7e,0x35,
+0x27,0x6d,0x22,0x9f,0x10,0x7e,0x15,0x2b,0x12,0x3, 0xfd,0x12,0x27,0xba,0x7f,0x1,
+0x7d,0x3f,0x6d,0x22,0x2f,0x10,0x7a,0x35,0x29,0x7e,0x35,0x29,0xbd,0x36,0x38,0x7,
+0x7e,0x25,0x27,0xbd,0x26,0x28,0x5, 0x7a,0x65,0x29,0x80,0xb, 0xbe,0x34,0x0, 0x1,
+0x50,0x5, 0x6d,0x33,0x7a,0x35,0x29,0x12,0x17,0xf7,0x50,0x3, 0x12,0x17,0xef,0x7e,
+0x35,0x33,0x12,0x14,0xc0,0x7a,0x37,0x0, 0x7a,0x12,0x14,0xbd,0x7d,0x23,0x7a,0x27,
+0x0, 0x7c,0x7e,0x37,0x0, 0x7a,0x7a,0x35,0x2f,0x7a,0x25,0x31,0x7d,0x27,0x12,0x14,
+0x75,0x7a,0x35,0x33,0x7e,0x35,0x31,0x7d,0x27,0x12,0x14,0x75,0x7a,0x35,0x35,0x7e,
+0x35,0x29,0x7a,0x37,0x0, 0x60,0x7e,0x27,0x0, 0x70,0xbe,0x25,0x2d,0x50,0x3, 0x12,
+0x5a,0xd1,0xda,0x3b,0x22,0x7d,0x12,0x6d,0x0, 0x6d,0x22,0x9f,0x10,0x22,0x7d,0x52,
+0x7d,0x43,0x7d,0x35,0x12,0x17,0x69,0x7f,0x71,0x7d,0x34,0x12,0x17,0x69,0x2f,0x17,
+0x7c,0xb4,0x12,0x1, 0x20,0x12,0x1, 0x9a,0x2, 0x1, 0x5d,0x7e,0x35,0x2f,0x7d,0x27,
+0x12,0x14,0x75,0x7a,0x35,0x33,0x7e,0x35,0x31,0x7d,0x27,0x12,0x14,0x75,0x7d,0x23,
+0x7a,0x25,0x35,0x7e,0x35,0x33,0x12,0x14,0x7e,0x7a,0x35,0x27,0x22,0x7e,0x35,0x35,
+0x7e,0x25,0x29,0x7e,0x15,0x27,0x7d,0x7, 0x7d,0xf0,0x7d,0xe1,0x7d,0x12,0x1a,0x26,
+0x1a,0x24,0x12,0x3, 0xfd,0x7d,0x1e,0x6d,0x0, 0x12,0x4, 0x59,0x7d,0x1f,0x6d,0x0,
+0x2f,0x10,0x22,0x7e,0xa1,0x22,0x74,0x5, 0xa4,0x22,0x7e,0x24,0x0, 0x16,0xe4,0x2,
+0x4, 0xeb,0x7e,0x37,0x0, 0x72,0xbe,0x35,0x2f,0x22,0x7e,0xb3,0x0, 0x90,0x54,0xf0,
+0x44,0x2, 0x7a,0xb3,0x0, 0x90,0x22,0x7e,0x37,0x0, 0x7a,0x7a,0x35,0x2f,0x7e,0x37,
+0x0, 0x7c,0x7a,0x35,0x31,0x7e,0x73,0x6, 0xc7,0xbe,0x70,0x0, 0x22,0xca,0x3b,0x12,
+0x17,0xe0,0x30,0xe1,0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0xc, 0x7e,0xb3,0xd, 0x3f,
+0x70,0x14,0x7e,0xb3,0xd, 0x3c,0x70,0xe, 0x7e,0xb3,0x6, 0x67,0x20,0xe0,0x2, 0xc1,
+0x61,0x20,0xe2,0x2, 0xc1,0x61,0x7c,0xba,0x30,0xe1,0x8, 0x7e,0xb3,0x6, 0x12,0xf5,
+0x28,0x80,0x6, 0x7e,0xb3,0x6, 0x13,0xf5,0x28,0x7c,0xba,0x30,0xe1,0x7, 0x7e,0xb3,
+0x6, 0x67,0x30,0xe2,0x5, 0x75,0x29,0x1, 0x80,0x3, 0x75,0x29,0x2, 0x7e,0xb3,0xd,
+0x3c,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x3c,0x7e,0xb3,0x6, 0x67,0x30,
+0xe5,0xb, 0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x12,0x17,0xd2,
+0x4e,0x70,0x2, 0x1b,0x28,0x30,0x12,0x5a,0x97,0x7e,0x73,0x6, 0xd6,0xa, 0x57,0x12,
+0x17,0x8f,0x12,0x5a,0xb5,0x75,0x25,0x0, 0xc1,0x2d,0x12,0x43,0x6b,0x75,0x26,0x0,
+0x80,0x72,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0x6c,0x77,0x12,0x17,0xa0,0x80,0x4, 0xe4,
+0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x75,0x24,0x0, 0x80,0x50,0x12,0x5a,0xa1,
+0x9, 0x23,0x6, 0x96,0x7a,0x21,0x27,0x7e,0x71,0x25,0x74,0x3, 0xac,0x7b,0xe5,0x26,
+0xa, 0x2b,0x2d,0x23,0x7e,0x34,0x0, 0x58,0xad,0x32,0x7e,0x30,0x4, 0xac,0x23,0x2d,
+0x13,0x59,0x71,0x0, 0xa8,0x59,0x61,0x0, 0xa6,0x7e,0x73,0x6, 0xd6,0xbe,0x70,0x2,
+0x38,0x19,0xa, 0x7, 0x7e,0x54,0x0, 0x3, 0x9d,0x50,0x2e,0x14,0x0, 0xa6,0x12,0x2d,
+0xbb,0x60,0x5, 0x2f,0x11,0x14,0x78,0xfb,0x12,0x17,0xe7,0x5, 0x24,0x12,0x17,0x61,
+0x38,0xab,0x5, 0x26,0xe5,0x28,0xbe,0xb1,0x26,0x38,0x87,0x5, 0x25,0xe5,0x29,0xbe,
+0xb1,0x25,0x28,0x2, 0xa1,0xaa,0x7e,0x37,0x6, 0xa, 0x99,0x34,0x12,0x17,0xd2,0x5e,
+0x70,0xfd,0x1b,0x28,0x30,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0xa, 0x1b,0x3e,0x14,0x12,
+0x37,0x1a,0x12,0x5a,0x97,0x7e,0xb3,0x6, 0xca,0x12,0x17,0x89,0x12,0x5a,0xb5,0xe1,
+0x57,0x7e,0xb3,0x6, 0xc9,0x30,0xe0,0x51,0x7e,0xb3,0x6, 0x67,0x30,0xe5,0x5, 0x12,
+0x17,0x5a,0x50,0x11,0x74,0x2, 0x12,0x17,0xda,0x12,0x43,0x6b,0x12,0x17,0x97,0x80,
+0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0xe4,0x12,0x17,0xda,0x75,0x24,
+0x0, 0x80,0x17,0x12,0x5a,0xa1,0x9, 0xa3,0x6, 0x96,0x7a,0xa1,0x27,0x74,0x4, 0xa4,
+0x59,0x75,0x3, 0x5e,0x59,0x65,0x3, 0x5c,0x5, 0x24,0x12,0x17,0x61,0x38,0xe4,0x7e,
+0xb3,0x6, 0x67,0x30,0xe5,0x3, 0x12,0x17,0x97,0x75,0x24,0x0, 0xe1,0x4a,0xe5,0x24,
+0xa, 0x3b,0x9, 0xb3,0x6, 0x96,0xf5,0x27,0x12,0x17,0xe0,0x30,0xe1,0x19,0x7e,0xb3,
+0x6, 0xca,0xc4,0x23,0x54,0x7, 0xbe,0xb0,0x2, 0x38,0x22,0x12,0x5a,0x76,0x60,0x16,
+0x2f,0x11,0x14,0x78,0xfb,0x80,0xf, 0x12,0x23,0x28,0x38,0x11,0x12,0x5a,0x76,0x60,
+0x5, 0x2f,0x11,0x14,0x78,0xfb,0x59,0x34,0x0, 0x2, 0x1b,0x48,0x20,0x7c,0xba,0x30,
+0xe0,0x46,0x7e,0x31,0x27,0x74,0x2, 0xac,0x3b,0x49,0xf1,0x5, 0x90,0x7d,0x3f,0x1a,
+0x36,0x1a,0xe6,0x7e,0x11,0x27,0x74,0x4, 0xac,0x1b,0x49,0x30,0x3, 0x5e,0x49,0x20,
+0x3, 0x5c,0x7f,0x21,0x9f,0x27,0x59,0x50,0x4, 0x16,0x59,0x40,0x4, 0x14,0x49,0xf1,
+0x5, 0x34,0x7d,0x1f,0x1a,0x12,0x1a,0xe2,0x7e,0x31,0x27,0x74,0x4, 0xac,0x3b,0x2e,
+0x14,0x3, 0x5c,0x9f,0x17,0x12,0x17,0xe7,0x5, 0x24,0x12,0x17,0x61,0x28,0x2, 0xc1,
+0xbe,0x7e,0x37,0x6, 0xc, 0x99,0x34,0xda,0x3b,0x22,0x30,0xa, 0x2, 0xd3,0x22,0xc3,
+0x22,0x7e,0x73,0x6, 0xc8,0xbe,0x71,0x24,0x22,0x1a,0x26,0x1a,0x24,0x7f,0x1, 0x2,
+0x3, 0xec,0x7a,0xb3,0x6, 0xca,0x7e,0x44,0x12,0x0, 0xb, 0x48,0x50,0x5e,0xa0,0x1f,
+0x1b,0x48,0x50,0x7e,0x73,0x6, 0xca,0x7c,0xb7,0xc4,0x23,0x54,0x7, 0xa, 0x5b,0xc4,
+0x23,0x54,0xe0,0x7c,0xab,0xe4,0x22,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0x7e,0x70,0x1,
+0x24,0xff,0x92,0xb, 0xc2,0xc6,0xd2,0xee,0xa9,0xd6,0xf7,0xd2,0xfe,0x4c,0x77,0x68,
+0x15,0xc2,0xaf,0x12,0x17,0xd2,0x4e,0x70,0x1, 0x1b,0x28,0x30,0x7e,0x37,0x6, 0x0,
+0x99,0x34,0xd2,0xaf,0x80,0x9, 0x12,0x17,0xd2,0x4e,0x70,0x1, 0x1b,0x28,0x30,0xc2,
+0xa, 0x22,0x7e,0x24,0x12,0x0, 0xb, 0x28,0x30,0x22,0x7e,0x37,0x6, 0x2, 0x89,0x34,
+0x7e,0xa3,0x6, 0xd7,0x7c,0xba,0x22,0x59,0x31,0x0, 0x2, 0x1b,0x18,0x20,0x22,0x7e,
+0x34,0x0, 0x1, 0x7a,0x35,0x27,0x22,0x7e,0x35,0x27,0xbe,0x34,0x0, 0x1, 0x22,0xca,
+0xf8,0x7e,0xa3,0x6, 0xd7,0x7c,0xfa,0x5e,0xf0,0x1, 0x7c,0xba,0x12,0x1f,0xea,0x12,
+0x15,0x1d,0x6c,0xaa,0x80,0x3b,0x7e,0xb3,0x6, 0x4d,0x60,0xb, 0xb4,0x2, 0x30,0xa,
+0x3a,0x9, 0xb3,0xa, 0xbb,0x60,0x28,0x7e,0x90,0x4, 0xac,0x9a,0x49,0x34,0x3, 0x5e,
+0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0x5, 0x34,0x59,0x32,0x5, 0x90,0x9f,0x11,0x59,
+0x34,0x3, 0x5e,0x59,0x24,0x3, 0x5c,0x59,0x34,0x4, 0x16,0x59,0x24,0x4, 0x14,0xb,
+0xa0,0x12,0x18,0x6b,0x38,0xc0,0x7c,0x6f,0x5e,0x60,0x1, 0x7e,0x73,0x6, 0xd7,0x5e,
+0x70,0xfe,0x4c,0x76,0x7a,0x73,0x6, 0xd7,0xda,0xf8,0x22,0x7e,0xb3,0x6, 0xc8,0xbc,
+0xba,0x22,0x6c,0xaa,0x80,0x9, 0x12,0x19,0xf, 0x70,0x2, 0x21,0xe, 0xb, 0xa0,0x12,
+0x18,0x6b,0x38,0xf2,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x2, 0x21,0xe, 0x6c,0xaa,0x80,
+0x78,0x12,0x19,0xf, 0xb4,0x1, 0x70,0x7e,0xb3,0x6, 0xc6,0xbc,0xba,0x28,0x21,0x12,
+0x22,0x8a,0x7e,0xb3,0x6, 0x45,0x12,0x5b,0x6a,0x8, 0x6, 0x7e,0xb3,0x6, 0x43,0x80,
+0x1f,0x6d,0x33,0x9d,0x34,0x12,0x19,0x1e,0x58,0x4d,0x7e,0xb3,0x6, 0x44,0x80,0x34,
+0x12,0x22,0x8a,0x7e,0xb3,0x6, 0x48,0x12,0x5b,0x6a,0x8, 0x1b,0x7e,0xb3,0x6, 0x46,
+0xa, 0xeb,0x7e,0x50,0x2, 0xac,0x5a,0x7d,0xf2,0x2e,0xf4,0x5, 0x34,0xb, 0xf8,0x20,
+0x2d,0x2e,0x1b,0xf8,0x20,0x80,0x20,0x6d,0x33,0x9d,0x34,0x12,0x19,0x1e,0x58,0x17,
+0x7e,0xb3,0x6, 0x47,0xa, 0x4b,0x7e,0x50,0x2, 0xac,0x5a,0x2e,0x24,0x5, 0x34,0xb,
+0x28,0x30,0x9d,0x34,0x1b,0x28,0x30,0xb, 0xa0,0x12,0x18,0x6b,0x38,0x83,0x22,0x7e,
+0x34,0x6, 0x15,0x7c,0xba,0x2, 0x1a,0x54,0x6e,0x34,0xff,0xff,0xb, 0x34,0x1a,0x26,
+0x1a,0x24,0xbf,0x1, 0x22,0xca,0x3b,0x6c,0xee,0x6d,0x66,0x7e,0xb3,0x6, 0x67,0x30,
+0xe1,0x2, 0x41,0x33,0x6c,0xff,0x21,0xe9,0x12,0x1a,0x4e,0xb4,0x1, 0x2, 0x80,0x2,
+0x21,0xe7,0x7e,0x73,0x6, 0xc6,0xbc,0x7f,0x28,0x59,0xb, 0xe0,0x7e,0x50,0x4, 0xac,
+0x5f,0x49,0xd2,0x3, 0x5e,0x49,0xc2,0x3, 0x5c,0x7e,0x73,0x6, 0x45,0xa, 0x37,0x7d,
+0x53,0x1a,0x4a,0x1a,0x48,0xbf,0x62,0x8, 0xb, 0x12,0x1a,0x36,0xbf,0x2, 0x8, 0x4,
+0xb, 0x64,0x80,0x17,0x6d,0xff,0x9d,0xf3,0x7d,0x1f,0x1a,0x12,0x1a,0xe2,0xbf,0x67,
+0x58,0x9, 0x12,0x1a,0x36,0xbf,0x7, 0x58,0x2, 0x1b,0x64,0x12,0x1a,0x36,0xbf,0x2,
+0x8, 0x6, 0x7e,0xb3,0x6, 0x43,0x80,0x29,0x12,0x19,0x18,0x58,0x4a,0x7e,0x73,0x6,
+0x44,0x80,0x3c,0x7e,0x50,0x4, 0xac,0x5f,0x12,0x1a,0x36,0x7e,0x73,0x6, 0x48,0xa,
+0x37,0x7d,0x53,0x7d,0xf3,0x1a,0x5a,0x1a,0xea,0xbf,0x7, 0x8, 0x19,0x7e,0xb3,0x6,
+0x46,0xa, 0xfb,0x7e,0x90,0x2, 0xac,0x9f,0x2e,0x44,0x5, 0x90,0xb, 0x48,0x50,0x2d,
+0x5f,0x1b,0x48,0x50,0x80,0x11,0x12,0x19,0x18,0x58,0xc, 0x7e,0x73,0x6, 0x47,0x12,
+0x1a,0x3f,0x9d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,0x6a,0x28,0x2, 0x21,0x38,
+0xbe,0xe0,0x0, 0x28,0x3e,0x7d,0x36,0x12,0x0, 0x2e,0xa, 0x2e,0xbd,0x32,0x78,0x33,
+0x6c,0xff,0x80,0x2a,0x12,0x1a,0x4e,0x70,0x23,0xbe,0x64,0x0, 0x0, 0x8, 0xb, 0x7e,
+0x73,0x6, 0x43,0x12,0x1a,0x3f,0x2d,0x31,0x80,0xf, 0xbe,0x64,0x0, 0x0, 0x58,0xc,
+0x7e,0x73,0x6, 0x44,0x12,0x1a,0x3f,0x9d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,
+0x6a,0x38,0xd1,0xda,0x3b,0x22,0x49,0x12,0x4, 0x16,0x49,0x2, 0x4, 0x14,0x22,0xa,
+0x17,0x7e,0x50,0x2, 0xac,0x5f,0x2e,0x24,0x5, 0x90,0xb, 0x28,0x30,0x22,0x7e,0x34,
+0x6, 0x15,0x7c,0xbf,0x7d,0x23,0x4d,0x22,0x68,0x5, 0xbe,0xb0,0x2e,0x40,0x3, 0x74,
+0x1, 0x22,0xa, 0x3b,0x2d,0x32,0x7e,0x39,0xb0,0x22,0x7e,0x73,0x6, 0xc8,0xbc,0x7f,
+0x22,0xca,0x3b,0x75,0x23,0x0, 0x7e,0xb3,0x6, 0xd7,0x54,0xfd,0x7a,0xb3,0x6, 0xd7,
+0x7e,0x67,0x6, 0xd8,0x7e,0xb3,0x6, 0x67,0x30,0xe5,0x11,0x80,0x4, 0xe4,0x12,0xf,
+0xcd,0x12,0x17,0x5a,0x50,0xf7,0x75,0x23,0x1, 0x12,0x41,0x1d,0x12,0x5a,0x93,0x7e,
+0x73,0x6, 0xd6,0xa, 0x57,0x12,0x17,0x8f,0x12,0x5a,0xb5,0x6c,0xff,0x6d,0x33,0x80,
+0xa, 0x74,0x2, 0xac,0xbf,0x59,0x35,0x9, 0xfd,0xb, 0xf0,0x7e,0x53,0x6, 0xc8,0xbc,
+0x5f,0x38,0xee,0x6c,0xee,0x61,0x68,0x6c,0xff,0x80,0x15,0x7e,0xb3,0x6, 0x4d,0x60,
+0x5, 0x12,0x1b,0xd2,0x60,0x8, 0x6d,0x22,0x12,0x1b,0xca,0x1b,0x38,0x20,0xb, 0xf0,
+0x12,0x1a,0x6a,0x38,0xe6,0x75,0x22,0x0, 0x6d,0x33,0x7e,0xa1,0x22,0x74,0x2, 0xa4,
+0x59,0x35,0xb, 0xc3,0x5, 0x22,0xe5,0x22,0xb4,0x2e,0xed,0x6c,0xff,0x80,0x17,0xa,
+0x2f,0x7e,0x34,0x0, 0x9, 0x9d,0x32,0x7a,0x73,0xc, 0x1f,0x12,0x50,0xe2,0x12,0x41,
+0x28,0x12,0x50,0x71,0xb, 0xf0,0x7e,0x73,0x6, 0x14,0xbc,0x7f,0x38,0xe1,0x6c,0xff,
+0x80,0x3f,0x7e,0x50,0x2, 0xac,0x5f,0x49,0x12,0x9, 0xfd,0x12,0x1b,0xca,0xb, 0x38,
+0x30,0xbd,0x13,0x50,0x2a,0x59,0x32,0x9, 0xfd,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,
+0x1b,0xd2,0x60,0x1b,0x12,0x1f,0xdd,0x74,0x2, 0xac,0xbf,0x59,0x35,0x5, 0x34,0x74,
+0x2, 0xac,0xbf,0x49,0x35,0x5, 0x34,0x74,0x2, 0xac,0xbf,0x59,0x35,0x5, 0x90,0xb,
+0xf0,0x12,0x1a,0x6a,0x38,0xbc,0xb, 0xe0,0x7e,0x73,0x6, 0x11,0xbc,0x7e,0x28,0x2,
+0x41,0xc7,0x6c,0xff,0x80,0x1b,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x1b,0xd2,0x60,
+0xe, 0x74,0x2, 0xac,0xbf,0x49,0x25,0x9, 0xfd,0x12,0x1b,0xca,0x1b,0x38,0x20,0xb,
+0xf0,0x12,0x1a,0x6a,0x38,0xe0,0x74,0x3, 0x12,0x17,0xda,0x12,0x1f,0xa8,0x12,0x1f,
+0xf9,0xe5,0x23,0x60,0x15,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,
+0x7e,0xb3,0x6, 0x67,0x44,0x20,0x7a,0xb3,0x6, 0x67,0x12,0x5a,0x93,0x7e,0xb3,0x6,
+0xca,0x12,0x17,0x89,0x12,0x5a,0xb5,0xda,0x3b,0x22,0x7e,0x70,0x2, 0xac,0x7f,0x2d,
+0x36,0x22,0xa, 0x3f,0x2e,0x37,0x6, 0x4e,0x7e,0x39,0xb0,0x22,0xca,0x79,0x12,0x1f,
+0xe6,0x6d,0x33,0x6c,0xee,0x80,0xa, 0x74,0x2, 0xac,0xbe,0x59,0x35,0x9, 0xfd,0xb,
+0xe0,0x7e,0x53,0x6, 0xc8,0xbc,0x5e,0x38,0xee,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0x3f,
+0x6c,0xee,0x80,0x31,0x12,0x41,0x28,0x6c,0xff,0x80,0x23,0x7e,0x50,0x2, 0xac,0x5f,
+0x49,0xf2,0x9, 0xfd,0x6d,0xee,0x74,0x4, 0xac,0xbf,0x49,0x15,0x3, 0x5e,0x49,0x5,
+0x3, 0x5c,0xbf,0x7, 0x8, 0x6, 0x7d,0x31,0x59,0x32,0x9, 0xfd,0xb, 0xf0,0x12,0x1a,
+0x6a,0x38,0xd8,0xb, 0xe0,0x7e,0x73,0x6, 0x10,0xbc,0x7e,0x38,0xc7,0x80,0x39,0x7e,
+0xe0,0x1, 0x12,0x15,0x1d,0x6c,0xff,0x80,0x23,0x12,0x1f,0xdd,0x49,0x25,0x3, 0x5c,
+0x7e,0x8, 0x0, 0x4, 0x12,0x4, 0x59,0x7d,0x13,0x7e,0x50,0x2, 0xac,0x5f,0x2e,0x24,
+0x9, 0xfd,0xb, 0x28,0x30,0x2d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,0x6a,0x38,
+0xd8,0xb, 0xe0,0xbe,0xe0,0x4, 0x28,0xca,0x6c,0xee,0x80,0x3b,0x7e,0xa3,0x6, 0x4d,
+0x4c,0xaa,0x68,0x19,0xbe,0xa0,0x1, 0x78,0x7, 0xa, 0x3e,0x12,0x1b,0xd4,0x70,0xd,
+0xbe,0xa0,0x3, 0x78,0x20,0xa, 0x3e,0x9, 0xb3,0xa, 0x8d,0x60,0x18,0x74,0x2, 0xac,
+0xbe,0x49,0x35,0x9, 0xfd,0x59,0x35,0x5, 0x34,0x74,0x2, 0xac,0xbe,0x49,0x35,0x9,
+0xfd,0x59,0x35,0x5, 0x90,0xb, 0xe0,0x7e,0x73,0x6, 0xc8,0xbc,0x7e,0x38,0xbd,0xda,
+0x79,0x22,0x12,0x1e,0xf3,0x12,0x3e,0x5e,0x2, 0x1b,0xdc,0x7e,0x34,0x0, 0x24,0x12,
+0x4f,0x6, 0xbe,0xb0,0x1, 0x68,0x8, 0x80,0xfe,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,
+0x17,0x5a,0x50,0xf7,0xa9,0xc3,0xea,0x6d,0x11,0x7e,0x44,0x12,0x0, 0x1b,0x48,0x10,
+0x7e,0x53,0x6, 0xc9,0x7c,0xb5,0x54,0x1, 0xa, 0x5b,0x12,0x1e,0xda,0x7c,0x75,0x1e,
+0x70,0x5e,0x70,0x3, 0xa, 0x57,0x3e,0x54,0x3e,0x54,0x3e,0x54,0x12,0x1e,0xd6,0x7e,
+0x63,0x6, 0xca,0x7c,0xb6,0x54,0x1, 0x12,0x1f,0xf1,0x12,0x1e,0xda,0x7c,0xb6,0x1e,
+0xb0,0x54,0x3, 0x12,0x1f,0xf1,0x12,0x1e,0xd6,0x7c,0xb6,0x12,0x17,0x89,0x12,0x1e,
+0xdc,0x7e,0x54,0x13,0x14,0xb, 0x58,0x0, 0x6c,0x0, 0x12,0x1e,0xcf,0x5e,0x10,0xbf,
+0x12,0x1e,0xcf,0x4e,0x10,0x40,0x12,0x1e,0xcf,0x5e,0x10,0xcf,0x12,0x1e,0xcf,0x4e,
+0x10,0x10,0x12,0x1e,0xcf,0x5e,0x10,0xfc,0x12,0x1e,0xcf,0xa5,0xbf,0x0, 0x5, 0x4e,
+0x10,0x1, 0x80,0x3, 0x4e,0x10,0x3, 0x1b,0x58,0x0, 0x7e,0x44,0x12,0x2, 0x1b,0x48,
+0x10,0x7e,0x43,0x6, 0xc8,0xa, 0x54,0x7c,0xab,0xe4,0x12,0x1e,0xdc,0x7e,0xa3,0x6,
+0xcb,0x7c,0xba,0x23,0x54,0x1, 0xa, 0xfb,0xb, 0x48,0x0, 0x4d,0xf, 0x1b,0x48,0x0,
+0x7c,0xba,0x30,0xe6,0xe, 0x7c,0xb5,0x30,0xe0,0x9, 0xb, 0x48,0x20,0x4e,0x50,0x8,
+0x1b,0x48,0x20,0x7c,0xb6,0x30,0xe6,0x12,0xb, 0x48,0x0, 0x4e,0x10,0x20,0x1b,0x48,
+0x0, 0xb, 0x48,0x0, 0x4e,0x10,0x10,0x1b,0x48,0x0, 0x7e,0x24,0x12,0x4, 0xb, 0x28,
+0x0, 0x5e,0x0, 0x7f,0x1b,0x28,0x0, 0xb, 0x28,0x0, 0x4e,0x0, 0x80,0x1b,0x28,0x0,
+0x7e,0x24,0x13,0x1e,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xce,0x12,0x1e,0xc2,0x7e,0x63,
+0x6, 0xd1,0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x24,0x12,0x8, 0x1b,0x28,0x10,0x7e,0x63,
+0x6, 0xcc,0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x63,0x6, 0xcd,0x12,0x1e,0xc2,0x7e,0x24,
+0x13,0x20,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xcf,0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x63,
+0x6, 0xd0,0x12,0x1e,0xc2,0x7e,0x24,0x13,0x22,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xd2,
+0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x63,0x6, 0xd3,0x12,0x1e,0xc2,0x7e,0x4, 0x12,0xa,
+0x1b,0x8, 0x10,0xa5,0xbf,0x0, 0x8, 0xb, 0x8, 0x10,0x4e,0x20,0x1, 0x80,0x1b,0xa5,
+0xbf,0x1, 0x8, 0xb, 0x8, 0x10,0x4e,0x20,0x11,0x80,0xf, 0xb, 0x8, 0x10,0xa5,0xbf,
+0x2, 0x5, 0x4e,0x20,0x33,0x80,0x3, 0x4e,0x20,0xff,0x1b,0x8, 0x10,0x7c,0xba,0x1e,
+0xb0,0x54,0x3, 0xa, 0x3b,0xb, 0x8, 0x10,0x4d,0x13,0x1b,0x8, 0x10,0x12,0x4f,0x29,
+0xb, 0x8, 0x10,0x5e,0x30,0xfb,0x1b,0x8, 0x10,0xb, 0x8, 0x30,0x4e,0x70,0x4, 0x1b,
+0x8, 0x30,0x7e,0x73,0x6, 0xd4,0xa, 0x27,0x7e,0x34,0x13,0x10,0x1b,0x38,0x20,0x12,
+0x4f,0x92,0x7e,0xb3,0x6, 0xca,0x1e,0xb0,0x54,0x3, 0xbe,0xb0,0x1, 0x68,0x3, 0xb4,
+0x2, 0xb, 0x7e,0x27,0x6, 0xc4,0x7e,0x34,0x13,0x12,0x1b,0x38,0x20,0x74,0x2, 0x7a,
+0xb3,0x6, 0xda,0xd2,0x8e,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x7e,0xb3,0x6, 0xda,0x70,
+0xf6,0x22,0x7c,0x86,0x6c,0x99,0xb, 0x28,0x0, 0x4d,0x4, 0x1b,0x28,0x0, 0x22,0x1b,
+0x58,0x0, 0xb, 0x58,0x0, 0x22,0x3e,0x54,0x3e,0x54,0x3e,0x54,0xb, 0x48,0x0, 0x4d,
+0x5, 0x1b,0x48,0x0, 0x22,0x7e,0xb3,0x3, 0x34,0x12,0x43,0xb3,0x7e,0xb3,0x3, 0x34,
+0x12,0x3f,0xc9,0x12,0x1c,0xcb,0x7e,0xb3,0x3, 0x34,0x54,0x7f,0x7a,0xb3,0x3, 0x34,
+0x12,0x1a,0x71,0x7e,0xb3,0x3, 0x34,0x44,0x80,0x7a,0xb3,0x3, 0x34,0x22,0xca,0xf8,
+0x12,0x49,0xe0,0x7e,0x34,0x2, 0xd4,0x7a,0x37,0x6, 0xd8,0x12,0x31,0x3a,0x12,0x1e,
+0xe5,0x75,0x39,0x3, 0x75,0x37,0x40,0x12,0x49,0xe0,0xe5,0x39,0xb4,0x3, 0x40,0xe5,
+0x3f,0x60,0xf4,0x12,0x1f,0xf9,0x12,0x1f,0xea,0x12,0x1f,0x78,0x12,0x15,0x1d,0x6c,
+0xff,0x80,0xd, 0x12,0x1f,0xdd,0x74,0x2, 0xac,0xbf,0x59,0x35,0xc, 0x20,0xb, 0xf0,
+0x12,0x1a,0x6a,0x38,0xee,0x75,0x3f,0x0, 0x7e,0xb3,0xc, 0xd6,0x54,0x7f,0x7a,0xb3,
+0xc, 0xd6,0xe5,0xa, 0x20,0xe0,0xc0,0x74,0x1, 0x7a,0xb3,0x3, 0x42,0x80,0xb8,0xe5,
+0x39,0x7a,0xb3,0xb, 0x9f,0xda,0xf8,0x22,0xe5,0xa, 0x30,0xe0,0x8, 0x12,0x1e,0xe5,
+0x53,0xa, 0xfc,0x80,0xb, 0xe5,0xa, 0x30,0xe1,0x6, 0x12,0x1f,0xa8,0x53,0xa, 0xfd,
+0xe5,0xa, 0x30,0xe2,0x12,0x53,0xca,0xf1,0x7e,0x73,0x3, 0x41,0xa, 0x37,0x3e,0x34,
+0x7c,0xb7,0x42,0xca,0x53,0xa, 0xfb,0x22,0x12,0x50,0xdb,0x80,0x2a,0xa, 0x2a,0x9,
+0x32,0x6, 0x96,0x7e,0x50,0x2, 0xac,0x53,0x2d,0x23,0xb, 0x28,0x20,0x7e,0xb3,0x6,
+0x4d,0x60,0x7, 0xa, 0x13,0x12,0x51,0x36,0x60,0xb, 0xa, 0x1a,0x3e,0x14,0x2e,0x14,
+0x12,0x14,0x1b,0x18,0x20,0xb, 0xa0,0x12,0x18,0x6b,0x38,0xd1,0x22,0x74,0x4, 0xac,
+0xbf,0x49,0x35,0x3, 0x5e,0x22,0x7e,0xb3,0x6, 0xd7,0x54,0xfe,0x7a,0xb3,0x6, 0xd7,
+0x22,0xa, 0xb, 0x7d,0x50,0x7c,0xab,0xe4,0x22,0x7e,0xb3,0x6, 0xd7,0x44,0x2, 0x7a,
+0xb3,0x6, 0xd7,0x22,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0x34,0x6c,0xaa,0x80,0x28,0xa,
+0x3a,0x9, 0x73,0x6, 0x96,0x7e,0xb3,0x6, 0xd7,0x30,0xe0,0x19,0x7e,0x50,0x4, 0xac,
+0x57,0x49,0xf2,0x3, 0x5e,0x49,0xe2,0x3, 0x5c,0x7e,0x17,0x5, 0xee,0x12,0x7, 0x7d,
+0x58,0x3, 0x12,0x20,0x4a,0xb, 0xa0,0x7e,0x63,0x6, 0xc8,0xbc,0x6a,0x38,0xd0,0x22,
+0x7e,0x11,0x22,0x2e,0x10,0x41,0x74,0x1, 0xa5,0xf7,0x74,0x3c,0x7a,0xb3,0xd, 0x3c,
+0x22,0xca,0x3b,0x7e,0x38,0x75,0x30,0x75,0x28,0x0, 0x7e,0x34,0xc, 0xf8,0x7e,0x24,
+0x0, 0x18,0xe4,0x12,0x4, 0xeb,0x7e,0x34,0x0, 0x41,0x7e,0x24,0x0, 0x6, 0xe4,0x12,
+0x4, 0xeb,0x7e,0xb3,0x6, 0xd7,0x30,0xe1,0x7, 0x7e,0xb3,0x6, 0x67,0x30,0xe2,0x5,
+0x75,0x27,0x1, 0x80,0x3, 0x75,0x27,0x2, 0x75,0x22,0x1, 0x21,0x75,0x9f,0x11,0x7a,
+0x1f,0x9, 0xfd,0x75,0x23,0x0, 0x21,0x2c,0x12,0x22,0x59,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe1,0x42,0x30,0xe0,0x3f,0x7e,0x11,0x24,0x74,0x4, 0xac,0x1b,0x12,0x22,0x78,0x7e,
+0xa1,0x24,0x12,0x22,0x6c,0x7a,0x1f,0xa, 0x5, 0xbe,0x1c,0xfc,0xe0,0x58,0x5, 0x12,
+0x20,0x40,0x80,0x6f,0x7e,0x73,0x6, 0xc6,0xbe,0x71,0x24,0x28,0x17,0x7e,0xf, 0xa,
+0x5, 0x7e,0x1f,0x9, 0xfd,0xbf,0x10,0x58,0xb, 0x7e,0x1f,0xa, 0x5, 0x7a,0x1f,0x9,
+0xfd,0x85,0x24,0x25,0x7e,0x91,0x24,0x74,0x4, 0xac,0x9b,0x7e,0xa1,0x22,0x74,0x58,
+0xa4,0x2d,0x54,0x49,0x15,0x0, 0x50,0x49,0x5, 0x0, 0x4e,0x49,0x35,0x0, 0xa8,0x49,
+0x25,0x0, 0xa6,0x9f,0x10,0x12,0x4, 0xdb,0x7a,0x1f,0xa, 0x1, 0x7e,0xa1,0x22,0x74,
+0x4, 0xa4,0x49,0x15,0xc, 0xfa,0x49,0x5, 0xc, 0xf8,0xbf,0x10,0x8, 0xc, 0x7e,0x1f,
+0xa, 0x1, 0x59,0x35,0xc, 0xfa,0x59,0x25,0xc, 0xf8,0x5, 0x23,0x12,0x22,0x64,0x28,
+0x2, 0x1, 0x98,0x7e,0x7f,0x9, 0xfd,0xbe,0x78,0x2, 0x58,0x8, 0x36,0x7e,0x73,0x6,
+0xc6,0xbe,0x71,0x25,0x28,0x2d,0xe5,0x25,0xa, 0x3b,0x2e,0x34,0x0, 0xb, 0x7e,0x24,
+0x0, 0x16,0x12,0x3, 0xba,0x7c,0xa5,0x7a,0xa1,0x26,0x7e,0x10,0x4, 0xac,0x1a,0x12,
+0x22,0x78,0x12,0x22,0x6c,0x7e,0x14,0x0, 0x5, 0x12,0x3, 0xfd,0xbf,0x71,0x8, 0x3,
+0x12,0x20,0x40,0x5, 0x22,0x7e,0x31,0x27,0x74,0x3, 0xac,0x3b,0xe5,0x22,0xa, 0xb,
+0xbd,0x1, 0x58,0x2, 0x1, 0x8d,0x75,0x22,0x1, 0x80,0x23,0x7e,0x11,0x22,0x2e,0x10,
+0x41,0xa5,0xe7,0x70,0x17,0x7e,0xa1,0x22,0x74,0x4, 0xa4,0x49,0x35,0xc, 0xfa,0x49,
+0x25,0xc, 0xf8,0xbf,0x13,0x58,0x5, 0x7f,0x31,0x85,0x22,0x28,0x5, 0x22,0xe5,0x22,
+0xa, 0xb, 0xbd,0x1, 0x48,0xd5,0x7e,0x51,0x28,0x74,0x58,0xac,0x5b,0x2e,0x24,0x0,
+0xa6,0x7e,0x34,0x3, 0x5c,0x7e,0x14,0x0, 0x58,0x12,0x4, 0xae,0x7e,0xb3,0x6, 0xd7,
+0x30,0xe1,0x4c,0x75,0x23,0x0, 0x80,0x42,0x12,0x22,0x59,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe0,0x36,0x7e,0x11,0x24,0x74,0x2, 0xac,0x1b,0x49,0xf0,0x5, 0x90,0x7d,0x3f,0x1a,
+0x36,0x1a,0xe6,0x7e,0x31,0x24,0x74,0x4, 0xac,0x3b,0x12,0x23,0x35,0x7f,0x21,0x9f,
+0x27,0x59,0x51,0x4, 0x16,0x59,0x41,0x4, 0x14,0x49,0x50,0x5, 0x34,0x6d,0x44,0x2e,
+0x14,0x3, 0x5c,0x9f,0x12,0x12,0x17,0xe7,0x5, 0x23,0x12,0x22,0x64,0x38,0xb9,0x12,
+0x17,0xe0,0x30,0xe1,0x31,0x75,0x23,0x0, 0x80,0x23,0x12,0x22,0x59,0x7c,0xba,0x30,
+0xe0,0x19,0x7e,0x71,0x24,0x74,0x4, 0xac,0x7b,0x12,0x22,0x8f,0x7e,0x37,0x5, 0xee,
+0x1a,0x26,0x1a,0x24,0xbf,0x10,0x8, 0x3, 0x12,0x20,0x4a,0x5, 0x23,0x7e,0xb3,0x6,
+0xc8,0xbe,0xb1,0x23,0x38,0xd4,0xda,0x3b,0x22,0xe5,0x23,0xa, 0x3b,0x9, 0xb3,0x6,
+0x96,0xf5,0x24,0x22,0x7e,0x73,0x6, 0xc8,0xbe,0x71,0x23,0x22,0x74,0x2, 0xa4,0x49,
+0x15,0x5, 0x34,0x6d,0x0, 0x9f,0x10,0x22,0x7e,0x31,0x22,0x74,0x58,0xac,0x3b,0x2d,
+0x10,0x49,0x31,0x0, 0xa8,0x49,0x21,0x0, 0xa6,0x22,0x7e,0x70,0x4, 0xac,0x7a,0x49,
+0x13,0x3, 0x5e,0x49,0x3, 0x3, 0x5c,0x22,0x7c,0xab,0x6c,0x22,0x6c,0x11,0x7c,0x1,
+0x2e,0x0, 0x47,0xa5,0xe6,0xbc,0xb3,0x78,0x5, 0x7e,0x20,0x1, 0x80,0x7, 0xb, 0x10,
+0xbe,0x10,0x1, 0x40,0xe9,0x12,0x23,0x28,0x38,0x11,0xa, 0x4b,0x7e,0x4, 0x0, 0x3,
+0x9d,0x4, 0x7c,0xb1,0x60,0x5, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe0,0x24,0x7e,0x10,0x2, 0xac,0x13,0x49,0xf0,0x5, 0x34,0x7d,0xf, 0x1a,0x0, 0x1a,
+0xe0,0x7f,0x61,0x9f,0x67,0x7e,0xf7,0x5, 0xee,0x7d,0xf, 0x1a,0x0, 0x1a,0xe0,0xbf,
+0x76,0x8, 0x3, 0x12,0x20,0x4a,0x4c,0xaa,0x78,0x6, 0x74,0x4, 0xac,0xb3,0x80,0x10,
+0x4c,0x22,0x68,0x7, 0x12,0x23,0x19,0x8, 0xf, 0x80,0x5, 0x12,0x23,0x19,0x58,0x8,
+0x59,0x35,0x3, 0x5e,0x59,0x25,0x3, 0x5c,0x22,0x74,0x4, 0xac,0xb3,0x49,0xf5,0x3,
+0x5e,0x49,0xe5,0x3, 0x5c,0xbf,0x17,0x22,0x7e,0xb3,0x6, 0xd6,0xbe,0xb0,0x2, 0x22,
+0x7e,0x30,0x4, 0xac,0x3a,0x49,0x31,0x3, 0x5e,0x49,0x21,0x3, 0x5c,0x22,0x6c,0xaa,
+0xa, 0x3a,0x12,0x2c,0xf6,0x7c,0x3b,0xbe,0x30,0x16,0x50,0x9, 0x74,0x4, 0xac,0x3b,
+0x12,0x23,0x35,0x80,0x2, 0x9f,0x11,0x7e,0x30,0x4, 0xac,0x3a,0x59,0x31,0x9, 0x6f,
+0x59,0x21,0x9, 0x6d,0xb, 0xa0,0xbe,0xa0,0x24,0x40,0xd5,0x7e,0x1f,0x9, 0x85,0x7a,
+0x1d,0x2a,0x75,0x2f,0x0, 0x7e,0x34,0x9, 0x85,0x7a,0x35,0x30,0x7e,0x34,0x9, 0x9d,
+0x7a,0x35,0x32,0x7e,0x1f,0x9, 0x89,0x7e,0xf, 0x9, 0xa1,0xe4,0x12,0x24,0x39,0x7e,
+0x1f,0x9, 0x99,0x7a,0x1d,0x2a,0x75,0x2f,0x1, 0x7e,0x34,0x9, 0x99,0x7a,0x35,0x30,
+0x7e,0x34,0x9, 0xb1,0x7a,0x35,0x32,0x7e,0x1f,0x9, 0x95,0x7e,0xf, 0x9, 0xad,0xe4,
+0x12,0x24,0x39,0x7e,0x1f,0x9, 0xb5,0x7a,0x1d,0x2a,0x75,0x2f,0x0, 0x7e,0x34,0x9,
+0xb5,0x7a,0x35,0x30,0x7e,0x34,0x9, 0xcd,0x7a,0x35,0x32,0x7e,0x1f,0x9, 0xb9,0x7e,
+0xf, 0x9, 0xd1,0x74,0x1, 0x12,0x24,0x39,0x7e,0x1f,0x9, 0xc9,0x7a,0x1d,0x2a,0x75,
+0x2f,0x1, 0x7e,0x34,0x9, 0xc9,0x7a,0x35,0x30,0x7e,0x34,0x9, 0xe1,0x7a,0x35,0x32,
+0x7e,0x1f,0x9, 0xc5,0x7e,0xf, 0x9, 0xdd,0x74,0x1, 0x12,0x24,0x39,0xe4,0x12,0x24,
+0xb5,0x74,0x1, 0x12,0x24,0xb5,0x7e,0x34,0x9, 0x89,0x12,0x27,0xa2,0x7e,0x34,0x9,
+0xd1,0x12,0x27,0xa2,0x7e,0x34,0x9, 0x95,0x12,0x24,0x22,0x7e,0x34,0x9, 0xdd,0x2,
+0x24,0x22,0x12,0x27,0xd1,0xe5,0x14,0xa, 0x1b,0x6d,0x0, 0x12,0x27,0xb7,0x2, 0x24,
+0x31,0x59,0x3f,0x0, 0x2, 0x1b,0xf8,0x20,0x22,0xca,0x3b,0xf5,0x2e,0x7a,0xd, 0x26,
+0x7a,0x1d,0x22,0x7e,0x7d,0x2a,0xbe,0x78,0x0, 0x32,0x8, 0x56,0xe5,0x2f,0x70,0x4,
+0xe5,0x15,0x80,0x2, 0xe5,0x10,0x12,0x27,0xb1,0x7a,0x1d,0x2a,0x7e,0x1d,0x26,0x12,
+0x26,0x4, 0x7f,0x31,0x7e,0x1d,0x22,0x12,0x26,0x4, 0x2f,0x31,0x78,0x1a,0xe5,0x2e,
+0x60,0xb, 0x12,0x5b,0x23,0x12,0x24,0xa5,0x12,0x27,0x90,0x80,0x1a,0x12,0x27,0x90,
+0x12,0x24,0xa5,0x12,0x5b,0x23,0x80,0xf, 0x7e,0x1d,0x22,0x12,0x27,0x84,0x12,0x24,
+0xa5,0x7e,0x1d,0x26,0x12,0x27,0x84,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x32,0x12,
+0x24,0xad,0xda,0x3b,0x22,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x30,0x59,0x13,0x0,
+0x2, 0x1b,0x38,0x0, 0x22,0xca,0x3b,0x70,0x48,0x7e,0x1f,0x9, 0x89,0x7a,0x1f,0x9,
+0xfd,0x7e,0x1f,0x9, 0x8d,0x7a,0x1f,0xa, 0x1, 0x7e,0x1f,0x9, 0x91,0x7a,0x1f,0xa,
+0x5, 0x7e,0x1f,0x9, 0x95,0x7a,0x1f,0xa, 0x9, 0x7e,0x34,0x9, 0x71,0x7a,0x35,0x22,
+0x7e,0x34,0x9, 0x75,0x7a,0x35,0x24,0x7e,0x34,0x9, 0x79,0x7a,0x35,0x26,0x7e,0x34,
+0x9, 0x7d,0x7a,0x35,0x28,0xe5,0x8, 0xa, 0x1b,0x6d,0x0, 0x7e,0x1f,0x9, 0x71,0x80,
+0x46,0x7e,0x1f,0x9, 0xd1,0x7a,0x1f,0x9, 0xfd,0x7e,0x1f,0x9, 0xd5,0x7a,0x1f,0xa,
+0x1, 0x7e,0x1f,0x9, 0xd9,0x7a,0x1f,0xa, 0x5, 0x7e,0x1f,0x9, 0xdd,0x7a,0x1f,0xa,
+0x9, 0x7e,0x34,0x9, 0xe9,0x7a,0x35,0x22,0x7e,0x34,0x9, 0xed,0x7a,0x35,0x24,0x7e,
+0x34,0x9, 0xf1,0x7a,0x35,0x26,0x7e,0x34,0x9, 0xf5,0x7a,0x35,0x28,0xe5,0xf, 0xa,
+0x1b,0x6d,0x0, 0x7e,0x1f,0x9, 0xe9,0x12,0x27,0xb7,0x7f,0x31,0xbe,0x38,0x0, 0x32,
+0x18,0x2, 0xc1,0x1, 0x7e,0x1f,0x9, 0xfd,0x12,0x26,0x4, 0x7a,0x1f,0x9, 0xfd,0x7e,
+0x1f,0xa, 0x1, 0x12,0x26,0x4, 0x7a,0x1f,0xa, 0x1, 0x7e,0x1f,0xa, 0x5, 0x12,0x26,
+0x4, 0x12,0x27,0xf3,0x12,0x26,0x4, 0x7a,0x1f,0xa, 0x9, 0x7e,0x1f,0xa, 0x1, 0x7e,
+0x6f,0x9, 0xfd,0x2f,0x16,0x7e,0x7f,0xa, 0x5, 0x2f,0x71,0x78,0x16,0x7e,0x8, 0x0,
+0x8, 0x7f,0x13,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x22,0x12,0x24,0xad,0x12,0x5b,
+0x4f,0x80,0x10,0x12,0x5b,0x14,0x7e,0x35,0x22,0x12,0x24,0xad,0x7e,0xf, 0xa, 0x1,
+0x12,0x27,0xc9,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x24,0x12,0x24,0xad,0x7e,0x6f,
+0xa, 0x5, 0x7e,0x1f,0xa, 0x1, 0x2f,0x16,0x7e,0x7f,0xa, 0x9, 0x2f,0x71,0x78,0x16,
+0x12,0x5b,0x4f,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x26,0x12,0x24,0xad,0x7e,0x8,
+0x0, 0x8, 0x7f,0x13,0x80,0x10,0x12,0x5b,0x14,0x7e,0x35,0x26,0x12,0x24,0xad,0x7e,
+0xf, 0xa, 0x9, 0x12,0x27,0xc9,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x28,0x12,0x24,
+0xad,0xda,0x3b,0x22,0xbe,0x18,0x0, 0x32,0x8, 0x1, 0x22,0x9f,0x11,0x22,0xca,0x79,
+0x7c,0xe7,0x7c,0xfb,0x74,0x4, 0xac,0xbf,0x12,0x27,0xea,0x12,0x27,0x98,0x68,0xf,
+0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x57,0x49,0x25,0x9, 0x55,0x12,0x26,0x86,0xbe,
+0xe0,0x5, 0x68,0xf, 0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x87,0x49,0x25,0x9, 0x85,
+0x12,0x26,0x86,0x7e,0x1f,0xa, 0x15,0xda,0x79,0x22,0xca,0x79,0x7c,0xe7,0x7c,0xfb,
+0x74,0x4, 0xac,0xbf,0x12,0x27,0xea,0x12,0x27,0x98,0x68,0xf, 0x74,0x4, 0xac,0xbf,
+0x49,0x35,0x9, 0x6b,0x49,0x25,0x9, 0x69,0x12,0x26,0x86,0xbe,0xe0,0x5, 0x68,0xf,
+0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x73,0x49,0x25,0x9, 0x71,0x12,0x26,0x86,0x7e,
+0x1f,0xa, 0x15,0xda,0x79,0x22,0x12,0x26,0x4, 0x7f,0x1, 0x7e,0x1f,0xa, 0x15,0x2f,
+0x10,0x7a,0x1f,0xa, 0x15,0x22,0xca,0x3b,0x9f,0x11,0x7a,0x1f,0x0, 0xa2,0x6c,0xff,
+0xe1,0x7a,0x7c,0x1f,0x2e,0x10,0x16,0xa5,0xe7,0x7c,0xeb,0xa, 0x1e,0x7e,0x24,0x0,
+0x6, 0x8d,0x12,0x7c,0xd3,0xa, 0x3e,0x8d,0x32,0x7c,0xc5,0x12,0x27,0xdb,0x7c,0x7d,
+0x12,0x26,0xe, 0x7a,0x1f,0xa, 0xd, 0x4c,0xcc,0x68,0xc, 0x7c,0xbe,0x14,0x7c,0x7d,
+0x12,0x26,0xe, 0x7a,0x1f,0xa, 0x5, 0xbe,0xc0,0x5, 0x68,0xc, 0x7c,0xbe,0x4, 0x7c,
+0x7d,0x12,0x26,0xe, 0x7a,0x1f,0xa, 0x9, 0xa, 0x1c,0x12,0x5a,0xe4,0xa, 0x1c,0x12,
+0x5b,0x41,0xa, 0x1c,0x12,0x5a,0x58,0x7e,0x1f,0x0, 0xa2,0xbf,0x10,0x50,0x8, 0x7e,
+0x1f,0xa, 0x1, 0x7a,0x1f,0x0, 0xa2,0x7e,0x1f,0x9, 0xfd,0x74,0x6, 0x2f,0x11,0x14,
+0x78,0xfb,0x7e,0xf, 0xa, 0x1, 0x12,0x27,0xc1,0x7a,0x37,0xa, 0x11,0x12,0x27,0xdb,
+0x7c,0xbe,0x7c,0x7c,0x12,0x26,0x4a,0x7a,0x1f,0xa, 0xd, 0x4c,0xdd,0x68,0xd, 0x7c,
+0xbe,0x24,0xfa,0x7c,0x7c,0x12,0x26,0x4a,0x7a,0x1f,0xa, 0x5, 0xbe,0xd0,0x5, 0x68,
+0xd, 0x7c,0xbe,0x24,0x6, 0x7c,0x7c,0x12,0x26,0x4a,0x7a,0x1f,0xa, 0x9, 0xa, 0x1d,
+0x12,0x5a,0xe4,0xa, 0x1d,0x12,0x5b,0x41,0xa, 0x1d,0x12,0x5a,0x58,0x74,0x6, 0x2f,
+0x11,0x14,0x78,0xfb,0x12,0x27,0xc1,0x7a,0x37,0xa, 0x13,0x7e,0x27,0xa, 0x11,0x74,
+0x5, 0xac,0xbf,0x59,0x25,0x0, 0x7a,0x12,0x3c,0x55,0x12,0x38,0x94,0x50,0x2, 0xc1,
+0xa2,0xda,0x3b,0x22,0x12,0x26,0x4, 0x7e,0xd, 0x2a,0x12,0x3, 0xec,0x7f,0x3, 0x22,
+0x7e,0x8, 0x0, 0x4, 0x7e,0x1d,0x2a,0x22,0x12,0x26,0x4, 0x7a,0x1f,0xa, 0x15,0x4c,
+0xee,0x22,0x12,0x27,0xd1,0xe5,0x1b,0xa, 0x1b,0x6d,0x0, 0x12,0x27,0xb7,0x2, 0x24,
+0x31,0xa, 0x1b,0x6d,0x0, 0x7f,0x17,0x12,0x3, 0xec,0x7e,0x8, 0x0, 0x64,0x2, 0x4,
+0x59,0x12,0x4, 0x8, 0x2e,0x18,0x0, 0x20,0x22,0x7f,0x13,0x12,0x3, 0xec,0x7f,0x7,
+0x22,0x7d,0xf3,0x49,0x3f,0x0, 0x2, 0xb, 0xf8,0x20,0x22,0x9f,0x11,0x7a,0x1f,0xa,
+0x5, 0x7a,0x1f,0xa, 0x9, 0x22,0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x6f,0x49,0x25,
+0x9, 0x6d,0x22,0x7a,0x1f,0xa, 0x5, 0x7e,0x1f,0xa, 0x9, 0x22,0x9f,0x11,0x7a,0x1f,
+0x5, 0x28,0x7a,0x1f,0x5, 0x2c,0x6c,0xaa,0x12,0x23,0x30,0x7e,0x7f,0x5, 0x28,0xbf,
+0x71,0x58,0x4, 0x7a,0x1f,0x5, 0x28,0xb, 0xa0,0xbe,0xa0,0x16,0x40,0xea,0x7e,0x1f,
+0x5, 0x28,0x7a,0x1f,0x5, 0x2c,0x22,0x12,0x2f,0x75,0xa5,0xbe,0x1, 0x14,0x7e,0xa3,
+0xd, 0x12,0xbe,0xa0,0xfa,0x50,0x2c,0x7e,0xb3,0xd, 0x10,0x70,0x26,0x7c,0xba,0x4,
+0x80,0x1d,0xbe,0x60,0x2, 0x40,0x3, 0xe4,0x80,0x15,0x7e,0x53,0xd, 0x12,0xbe,0x50,
+0x4, 0x50,0xb, 0xbe,0x50,0x0, 0x28,0x6, 0x74,0x3, 0x7a,0xb3,0xd, 0x10,0xe4,0x7a,
+0xb3,0xd, 0x12,0x7e,0xa3,0xd, 0x10,0x4c,0xaa,0x68,0x20,0x4c,0x66,0x68,0x8, 0x7c,
+0xb7,0x12,0x28,0x90,0xe4,0x80,0x10,0x7c,0xb7,0xc4,0x54,0xf, 0xb4,0x1, 0x5, 0x7c,
+0xb7,0x12,0x2d,0x34,0x7c,0xba,0x14,0x7a,0xb3,0xd, 0x10,0x22,0x7e,0xb3,0x0, 0x90,
+0x54,0xf0,0x7a,0xb3,0x0, 0x90,0x22,0xca,0x3b,0x12,0x2f,0x3c,0x78,0x4, 0x6c,0xff,
+0x80,0x3, 0x7e,0xf0,0x2, 0x12,0x2d,0x19,0x78,0x1d,0x7c,0xba,0x54,0xf, 0xbe,0xb0,
+0x2, 0x40,0x14,0x5, 0x4d,0xe5,0x4d,0xbc,0xbf,0x38,0x5, 0x7c,0xba,0x12,0x28,0x90,
+0xe4,0x7a,0xb3,0xb, 0x37,0x80,0x3, 0x75,0x4d,0x0, 0x12,0x2d,0x19,0x78,0x8, 0x5e,
+0xa0,0xf, 0xbe,0xa0,0x1, 0x28,0x11,0xe4,0x7a,0xb3,0xb, 0x37,0x6d,0x33,0x7a,0x37,
+0xb, 0x4f,0x7a,0x37,0xb, 0x51,0x41,0x9d,0x7e,0xb3,0xb, 0xb3,0xbe,0xb0,0x1, 0x78,
+0x2, 0x41,0x9d,0x4c,0xaa,0x78,0x2, 0x41,0x6b,0x7e,0xe3,0xb, 0x37,0xbe,0xe0,0x2,
+0x28,0x2, 0x41,0x43,0x7c,0xbe,0x4, 0x7a,0xb3,0xb, 0x37,0x7e,0xa3,0xb, 0x37,0xbe,
+0xa0,0x1, 0x78,0x33,0x7e,0x37,0x0, 0x7a,0x7a,0x37,0xb, 0x41,0x7e,0x37,0x0, 0x7c,
+0x7a,0x37,0xb, 0x43,0x7e,0x1f,0xb, 0x41,0x7a,0x1f,0xb, 0x45,0x7e,0x1f,0xb, 0x41,
+0x7a,0x1f,0xb, 0x49,0x6d,0x33,0x7a,0x37,0xb, 0x4d,0x7a,0x37,0xb, 0x4f,0x7a,0x37,
+0xb, 0x51,0x12,0x28,0x8c,0x41,0x96,0xbe,0xa0,0x2, 0x40,0x18,0x7e,0x37,0x0, 0x7a,
+0x2e,0x37,0xb, 0x4f,0x7a,0x37,0xb, 0x4f,0x7e,0x37,0x0, 0x7c,0x2e,0x37,0xb, 0x51,
+0x7a,0x37,0xb, 0x51,0x7e,0x37,0xb, 0x41,0x12,0x2d,0xa, 0x7d,0x63,0x7e,0x37,0xb,
+0x43,0x12,0x2d,0x3, 0x7a,0x35,0x22,0x7e,0x37,0xb, 0x45,0x12,0x2d,0xa, 0x7a,0x35,
+0x24,0x7e,0x37,0xb, 0x47,0x12,0x2d,0x3, 0x7d,0x23,0x7e,0x35,0x22,0x2d,0x36,0xbe,
+0x34,0x0, 0xf, 0x50,0x18,0xbe,0x64,0x0, 0x7, 0x50,0x12,0x2e,0x25,0x24,0xbe,0x24,
+0x0, 0x1e,0x50,0x9, 0x7e,0x25,0x24,0xbe,0x24,0x0, 0xf, 0x40,0x53,0x7e,0x53,0xb,
+0x37,0xbc,0x5f,0x28,0x4b,0xe4,0x7a,0xb3,0xb, 0x37,0xbe,0x34,0x0, 0x8, 0x38,0x2,
+0x41,0x96,0x7e,0x37,0xb, 0x45,0xbe,0x34,0x0, 0x28,0x40,0x6, 0xbe,0x34,0x1, 0x66,
+0x28,0x24,0x7e,0x27,0xb, 0x47,0xbe,0x24,0x0, 0x28,0x28,0x1a,0xbe,0x24,0x1, 0x66,
+0x50,0x14,0x7a,0x37,0x0, 0x7a,0x7e,0x27,0x0, 0x7c,0x2e,0x27,0xb, 0x47,0x1e,0x24,
+0x7a,0x27,0x0, 0x7c,0x41,0x96,0x7a,0x37,0x0, 0x7a,0x7e,0x37,0xb, 0x47,0x80,0x65,
+0x7e,0x27,0x0, 0x7a,0x7a,0x27,0xb, 0x41,0x7e,0x37,0x0, 0x7c,0x7a,0x37,0xb, 0x43,
+0x7e,0xa3,0x0, 0x76,0x74,0x4, 0xa4,0x49,0x15,0x3, 0x5e,0x49,0x5, 0x3, 0x5c,0x7e,
+0xf7,0xb, 0x4d,0x6d,0xee,0xbf,0x70,0x58,0xc, 0x7a,0x17,0xb, 0x4d,0x7a,0x27,0xb,
+0x49,0x7a,0x37,0xb, 0x4b,0x7e,0x73,0x0, 0x90,0x7c,0xb7,0xc4,0x7c,0x6b,0x12,0x2d,
+0x23,0x80,0x53,0xa, 0x2e,0xb, 0x24,0x1b,0x25,0x7e,0x17,0xb, 0x4f,0x8d,0x12,0x7a,
+0x17,0xb, 0x41,0x7e,0x37,0xb, 0x51,0x8d,0x32,0x7a,0x37,0xb, 0x43,0x7e,0x27,0xb,
+0x41,0x7a,0x27,0x0, 0x7a,0x7a,0x37,0x0, 0x7c,0x80,0x2b,0x7e,0x73,0xb, 0x37,0xbc,
+0x7f,0x28,0x1b,0x7e,0x37,0xb, 0x49,0x7a,0x37,0x0, 0x7a,0x7e,0x37,0xb, 0x4b,0x7a,
+0x37,0x0, 0x7c,0x12,0x2d,0x30,0x74,0x1, 0x7a,0xb3,0xb, 0x38,0x80,0x3, 0x12,0x28,
+0x8c,0xe4,0x7a,0xb3,0xb, 0x37,0x12,0xe, 0xaf,0x78,0x2, 0xf5,0x9, 0xda,0x3b,0x22,
+0xca,0x3b,0x6c,0xee,0x9f,0x44,0x7f,0x74,0x7a,0x4f,0x9, 0xfe,0x7a,0x4f,0xa, 0x2,
+0x7a,0x4f,0xa, 0x6, 0x7a,0x4f,0xa, 0xa, 0x7a,0x4f,0xa, 0xe, 0x7f,0x64,0x7f,0x54,
+0x6c,0xdd,0x12,0x27,0xe6,0xbf,0x71,0x58,0x4, 0x7f,0x71,0x7c,0xfd,0xb, 0xd0,0xbe,
+0xd0,0x24,0x78,0xee,0x7e,0x37,0x3, 0x49,0x6d,0x22,0xbf,0x71,0x58,0xb, 0x12,0x28,
+0x8c,0x7e,0xb3,0x0, 0x91,0x54,0xf0,0x80,0x17,0xe5,0xe, 0xb4,0x1, 0x18,0x12,0x2c,
+0xf1,0x7a,0xb3,0x0, 0x76,0x12,0x2d,0x30,0x7e,0xb3,0x0, 0x91,0x54,0xf0,0x44,0x1,
+0x7a,0xb3,0x0, 0x91,0x81,0xe5,0x6c,0xdd,0xa, 0x5d,0x7e,0x24,0x0, 0x6, 0x8d,0x52,
+0x7a,0xb3,0x9, 0xfd,0xa, 0x3d,0x8d,0x32,0x7c,0xc5,0x70,0x4, 0x9f,0x11,0x80,0xc,
+0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x57,0x49,0x25,0x9, 0x55,0x7a,0x1f,0x9, 0xfe,
+0x7e,0xb3,0x9, 0xfd,0xb4,0x5, 0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,
+0x35,0x9, 0x87,0x49,0x25,0x9, 0x85,0x7a,0x1f,0xa, 0x2, 0x4c,0xcc,0x78,0x4, 0x9f,
+0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x6b,0x49,0x25,0x9, 0x69,0x7a,
+0x1f,0xa, 0x6, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,
+0x49,0x35,0x9, 0x73,0x49,0x25,0x9, 0x71,0x7a,0x1f,0xa, 0xa, 0x7e,0xb3,0x9, 0xfd,
+0x60,0x4, 0x4c,0xcc,0x78,0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,
+0x9, 0x53,0x49,0x25,0x9, 0x51,0x7a,0x1f,0xa, 0xe, 0x12,0x2d,0x11,0x68,0x4, 0x4c,
+0xcc,0x78,0x4, 0x9f,0x66,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0xd5,0x9, 0x83,0x49,
+0xc5,0x9, 0x81,0x7e,0xb3,0x9, 0xfd,0x60,0x5, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x55,
+0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0xb5,0x9, 0x5b,0x49,0xa5,0x9, 0x59,0x12,0x2d,
+0x11,0x68,0x5, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x44,0x80,0xc, 0x74,0x4, 0xac,0xbd,
+0x49,0x95,0x9, 0x8b,0x49,0x85,0x9, 0x89,0x12,0x2c,0xe8,0x49,0x5, 0x9, 0x6d,0x7e,
+0x37,0x3, 0x49,0x6d,0x22,0xbf,0x1, 0x58,0x2, 0x81,0xc3,0xe5,0xc, 0x12,0x27,0xb1,
+0x7f,0x1, 0x12,0x27,0xe6,0xbf,0x10,0x18,0x2, 0x81,0xc3,0x12,0x2c,0xe8,0x49,0x5,
+0x9, 0x6d,0x7e,0x1f,0x9, 0xfe,0xbf,0x1, 0x58,0x2, 0x81,0xc3,0x12,0x2c,0xe8,0x49,
+0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0x2, 0xbf,0x1, 0x58,0x2, 0x81,0xc3,0x12,0x2c,0xe8,
+0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0x6, 0xbf,0x1, 0x58,0x2, 0x81,0xc3,0x12,0x2c,
+0xe8,0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0xa, 0xbf,0x1, 0x48,0x76,0x12,0x2c,0xe8,
+0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0xe, 0xbf,0x1, 0x48,0x67,0x12,0x27,0xe6,0xbf,
+0x16,0x48,0x60,0x12,0x27,0xe6,0xbf,0x15,0x48,0x59,0x12,0x27,0xe6,0xbf,0x14,0x48,
+0x52,0x7c,0x1e,0x2e,0x10,0x16,0x7c,0xbd,0xa5,0xf7,0xa, 0x3d,0x12,0x2c,0xf6,0xa,
+0x3e,0x19,0xb3,0x0, 0x76,0xb, 0xe0,0x7e,0x30,0x4, 0xac,0x3d,0x2e,0x14,0x9, 0x6d,
+0x12,0x2d,0xbb,0xb, 0x1c,0x12,0x17,0xe7,0xbe,0xe1,0xe, 0x40,0x26,0x7e,0xe1,0xe,
+0xbe,0xe0,0x2, 0x78,0x27,0x7e,0x73,0x0, 0x76,0xbe,0x70,0xf, 0x38,0x9, 0x7e,0x73,
+0x0, 0x77,0xbe,0x70,0xf, 0x28,0x15,0x7e,0xe0,0x1, 0x12,0x2c,0xf1,0x7a,0xb3,0x0,
+0x76,0x80,0x9, 0xb, 0xd0,0xbe,0xd0,0x24,0x50,0x2, 0x61,0x8, 0x7c,0x6e,0x5e,0x60,
+0xf, 0x7e,0x73,0x0, 0x90,0x12,0x2d,0x26,0x7e,0x73,0x0, 0x91,0x5e,0x70,0xf0,0x4c,
+0x76,0x7a,0x73,0x0, 0x91,0xda,0x3b,0x22,0x74,0x4, 0xac,0xbd,0x49,0x15,0x9, 0x6f,
+0x22,0x7a,0xf1,0x16,0xa, 0x3f,0x2e,0x34,0x0, 0x46,0x7a,0x71,0x82,0x7a,0x61,0x83,
+0xe4,0x93,0x22,0x9e,0x37,0x0, 0x7c,0x2, 0x0, 0x2e,0x9e,0x37,0x0, 0x7a,0x2, 0x0,
+0x2e,0x7e,0xb3,0x9, 0xfd,0xbe,0xb0,0x5, 0x22,0x7e,0xa3,0x0, 0x90,0x7c,0xba,0xc4,
+0x54,0xf, 0x22,0x5e,0x60,0xf, 0x5e,0x70,0xf0,0x4c,0x76,0x7a,0x73,0x0, 0x90,0x22,
+0x7e,0xb3,0x0, 0x90,0x54,0xf0,0x44,0x1, 0x7a,0xb3,0x0, 0x90,0x22,0xca,0x79,0x9f,
+0x11,0x7a,0x1f,0x9, 0xfd,0x7e,0xa3,0x0, 0x90,0x7c,0xba,0x54,0xf, 0xb4,0x1, 0x64,
+0x7e,0x1f,0x0, 0xa2,0x7a,0x1f,0x9, 0xfd,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x6, 0x7e,
+0x1f,0x9, 0xfd,0x80,0x34,0x7e,0x37,0xb, 0x3b,0x12,0x2d,0x3, 0x7d,0x73,0x7e,0x37,
+0xb, 0x39,0x12,0x2d,0xa, 0x2d,0x37,0xbe,0x34,0x0, 0xf, 0x58,0x20,0x7e,0x1f,0xb,
+0x3d,0x7f,0x1, 0x1e,0x14,0x1e,0x4, 0x50,0x3, 0x4e,0x20,0x80,0x7e,0x1f,0x9, 0xfd,
+0xbf,0x10,0x50,0x5, 0x12,0x28,0x8c,0x80,0x4, 0x7a,0x1f,0xb, 0x3d,0x7e,0x37,0x0,
+0x7a,0x7a,0x37,0xb, 0x39,0x7e,0x37,0x0, 0x7c,0x7a,0x37,0xb, 0x3b,0x12,0xe, 0xaf,
+0x78,0x2, 0xf5,0x9, 0xda,0x79,0x22,0x7d,0x16,0x2d,0x17,0x49,0x31,0x0, 0x2, 0xb,
+0x18,0x20,0x22,0xca,0x3b,0x7c,0xab,0x7d,0x73,0x4d,0x77,0x78,0x2, 0xc1,0xda,0x4d,
+0x22,0x78,0x2, 0xc1,0xda,0xe4,0x7a,0xb3,0x6, 0x4d,0x6c,0x99,0xc1,0x5e,0x7e,0x70,
+0x4, 0xac,0x79,0x2d,0x37,0x49,0xf3,0x0, 0x2, 0xb, 0x38,0xe0,0xbe,0x7c,0xfc,0x18,
+0x58,0x5, 0xbe,0x90,0x16,0x40,0x15,0xbe,0x7c,0xf8,0x30,0x58,0x58,0xbe,0x90,0x16,
+0x40,0x53,0x7e,0xf, 0x5, 0x28,0xbe,0x8, 0x7, 0xd0,0x58,0x49,0xa, 0x39,0x7d,0x13,
+0x2e,0x14,0xa, 0xd1,0x7e,0x19,0xb0,0x4, 0x7a,0x19,0xb0,0x9, 0xb3,0xa, 0xd1,0xbe,
+0xb0,0xc, 0x28,0x38,0x7e,0x70,0x2, 0xac,0x79,0x2d,0x32,0xb, 0x38,0x10,0x1a,0x2,
+0x1a,0x0, 0x2f,0x7, 0xbe,0x8, 0x38,0x40,0x58,0x22,0x74,0x1, 0x7a,0xb3,0x6, 0x4d,
+0x6c,0x88,0x80,0xa, 0x74,0x1, 0xa, 0x38,0x19,0xb3,0xa, 0xe7,0xb, 0x80,0xbe,0x80,
+0x0, 0x40,0xf1,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0xd1,0xb, 0x90,0xbc,0xa9,
+0x28,0x2, 0xa1,0xde,0x6c,0x99,0x80,0x6a,0x7e,0xd0,0x4, 0xac,0xd9,0x12,0x2d,0xb7,
+0xbe,0x1c,0xfc,0xe0,0x58,0x21,0xa, 0x39,0x7d,0x23,0x2e,0x24,0xa, 0x8d,0x12,0x2e,
+0xdd,0x9, 0x83,0xa, 0x8d,0xbe,0x80,0xf, 0x28,0x14,0x12,0x41,0x40,0x60,0xf, 0x74,
+0x3, 0x7a,0xb3,0x6, 0x4d,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0x8d,0x12,0x2d,
+0xb7,0xbe,0x1c,0xfc,0xe0,0x58,0x22,0x7e,0xb3,0x6, 0x4d,0x70,0x1c,0xa, 0x39,0x7d,
+0x23,0x2e,0x24,0xa, 0xbb,0x12,0x2e,0xdd,0x9, 0x83,0xa, 0xbb,0xbe,0x80,0x12,0x28,
+0xf, 0x74,0x2, 0x7a,0xb3,0x6, 0x4d,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0xbb,
+0xb, 0x90,0x7e,0x83,0x6, 0xc6,0xbc,0x89,0x38,0x8e,0xda,0x3b,0x22,0x7e,0x29,0xb0,
+0x4, 0x7a,0x29,0xb0,0x22,0x6c,0xaa,0x7e,0x90,0x5, 0xac,0x9a,0x9, 0xb4,0x2, 0xba,
+0xbe,0xb0,0xff,0x68,0xa, 0x49,0x34,0x2, 0xb8,0xbe,0x34,0x1, 0x8d,0x50,0x33,0xb,
+0xa0,0xbe,0xa0,0x2, 0x40,0xe1,0x12,0x2f,0x33,0x78,0x21,0x7c,0xb7,0xc4,0x7c,0x6b,
+0x5e,0x60,0xf, 0xbe,0x60,0x0, 0x28,0x14,0xe5,0x4c,0xbe,0xb0,0x1, 0x50,0x9, 0x12,
+0x2d,0x26,0x75,0x12,0x1, 0x5, 0x4c,0x22,0x75,0x4c,0x0, 0x22,0x75,0x4c,0x0, 0x75,
+0x12,0x0, 0x22,0x7e,0x73,0x0, 0x90,0x7c,0xb7,0x54,0xf, 0x22,0x7e,0x37,0x0, 0x92,
+0xbe,0x34,0x0, 0x1, 0x22,0x12,0x2f,0x3c,0x78,0x1b,0x7e,0xb3,0x6, 0x67,0x20,0xe5,
+0x14,0x7e,0xb3,0x6, 0xcb,0x20,0xe0,0xd, 0x12,0x2f,0x66,0x7e,0xb3,0x6, 0xcb,0x44,
+0x1, 0x7a,0xb3,0x6, 0xcb,0x22,0xa9,0xc0,0xca,0x6d,0x22,0x12,0x2f,0x7f,0x5e,0x60,
+0x7f,0x1b,0x28,0x30,0x22,0x7e,0x73,0x0, 0x90,0x7c,0x67,0x5e,0x60,0xf, 0x22,0x7e,
+0x34,0x13,0x14,0x1b,0x38,0x20,0x7e,0x24,0x12,0x4, 0xb, 0x28,0x30,0x22,0x7e,0xb3,
+0x6, 0xcb,0x30,0xe0,0x16,0xa9,0xd0,0xca,0x7e,0x24,0x0, 0x3f,0x12,0x2f,0x7f,0x4e,
+0x60,0x80,0x1b,0x28,0x30,0x54,0xfe,0x7a,0xb3,0x6, 0xcb,0x22,0xc2,0xab,0x12,0x2f,
+0x45,0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xd5,0xc9,0xd2,0xaf,0xa9,0xd0,0xcd,0xd2,0xc8,
+0xd2,0xa8,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd7,0x9e,0xd2,0xaf,0x74,0x1, 0x12,0x4a,
+0x48,0x74,0x2, 0x12,0xf, 0xcd,0x12,0x2f,0xf2,0xc2,0xa8,0xa9,0xc0,0xcd,0xc2,0xc8,
+0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xc5,0xc9,0xd2,0xaf,0xd2,0xab,0x12,0x4a,0x30,0x2,
+0x2f,0x8e,0x43,0xc8,0xc9,0x43,0xcb,0x8e,0x22,0xbd,0x32,0x58,0x3, 0x7d,0x32,0x22,
+0xbd,0x31,0x8, 0x2, 0x7d,0x31,0x22,0x6d,0x11,0x80,0x48,0x6d,0x0, 0x80,0x38,0x7d,
+0xf0,0x3e,0xf4,0x3e,0xf4,0x7d,0xef,0x2d,0xe3,0x49,0xde,0x0, 0x6, 0x49,0xce,0x0,
+0x4, 0x49,0x5e,0x0, 0x2, 0xb, 0xe8,0x40,0xbf,0x26,0x58,0x19,0x49,0xde,0x0, 0x6,
+0x49,0xce,0x0, 0x4, 0x59,0xde,0x0, 0x2, 0x1b,0xe8,0xc0,0x2d,0xf3,0x59,0x5f,0x0,
+0x6, 0x59,0x4f,0x0, 0x4, 0xb, 0x4, 0x7d,0xf2,0x1b,0xf4,0x9d,0xf1,0xbd,0xf0,0x38,
+0xbe,0xb, 0x14,0xbd,0x21,0x38,0xb4,0x22,0xca,0x3b,0xf5,0x26,0x7a,0xd, 0x22,0x7f,
+0x31,0x75,0x29,0x0, 0x75,0x2a,0x0, 0x7e,0x34,0x9, 0xfd,0x7e,0x24,0x0, 0x90,0xe4,
+0x12,0x4, 0xeb,0x6c,0xaa,0x12,0x23,0x30,0xbf,0x13,0x8, 0x11,0x7e,0x31,0x29,0x74,
+0x4, 0xac,0x3b,0x59,0x31,0x9, 0xff,0x59,0x21,0x9, 0xfd,0x5, 0x29,0xb, 0xa0,0xbe,
+0xa0,0x16,0x78,0xe1,0xe5,0x26,0xbe,0xb1,0x29,0x38,0x38,0x7e,0xd, 0x22,0x7e,0x1f,
+0x5, 0x28,0xbf,0x10,0x58,0x2d,0x7e,0x34,0x9, 0xfd,0xe5,0x26,0xa, 0x2b,0x12,0x30,
+0x7, 0x7e,0xa1,0x27,0x74,0x4, 0xa4,0x49,0x35,0x9, 0xff,0x49,0x25,0x9, 0xfd,0xe5,
+0x28,0xa, 0x1b,0x6d,0x0, 0x12,0x3, 0xec,0x7e,0xf, 0x9, 0xfd,0xbf,0x10,0x8, 0x3,
+0x75,0x2a,0x1, 0xe5,0x2a,0xda,0x3b,0x22,0x75,0x27,0xa, 0x75,0x28,0x5, 0x7e,0x18,
+0x3, 0xe8,0x7e,0x8, 0x27,0x10,0x74,0xc, 0x12,0x30,0x58,0x70,0x13,0x75,0x27,0xa,
+0x75,0x28,0x4, 0x7e,0x18,0x3, 0xe8,0x7e,0x8, 0x27,0x10,0x74,0xa, 0x12,0x30,0x58,
+0x60,0x13,0x7e,0xb3,0x6, 0x67,0x44,0x2, 0x7a,0xb3,0x6, 0x67,0x12,0x28,0x8c,0xe4,
+0x7a,0xb3,0xd, 0x11,0x22,0x7e,0xa3,0x6, 0x67,0x7c,0xba,0x30,0xe1,0x1b,0x7e,0xb3,
+0xd, 0x11,0x4, 0x7a,0xb3,0xd, 0x11,0xbe,0xb0,0x14,0x40,0xd, 0xe4,0x7a,0xb3,0xd,
+0x11,0x7c,0xba,0x54,0xfd,0x7a,0xb3,0x6, 0x67,0x22,0x75,0x39,0x3, 0x75,0x3f,0x0,
+0x22,0xbe,0xb0,0xa, 0x50,0x8, 0x7c,0x1b,0x2e,0x10,0x37,0xa5,0xe7,0x22,0x2, 0x31,
+0x51,0xb4,0xae,0x5, 0x7e,0xb3,0x3, 0x34,0x22,0x24,0xf6,0xbe,0xb0,0x30,0x40,0x2,
+0x61,0x7, 0x7e,0xa0,0x3, 0xa4,0x90,0x31,0x6a,0x73,0x2, 0x31,0xfa,0x2, 0x31,0xfd,
+0x2, 0x31,0xff,0x2, 0x32,0x4, 0x2, 0x32,0x9, 0x2, 0x32,0xe, 0x2, 0x32,0x13,0x2,
+0x32,0x18,0x2, 0x32,0x1d,0x2, 0x32,0x22,0x2, 0x32,0x27,0x2, 0x32,0x2c,0x2, 0x32,
+0x31,0x2, 0x32,0x45,0x2, 0x32,0x4a,0x2, 0x33,0x7, 0x2, 0x32,0x4f,0x2, 0x32,0x54,
+0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2,
+0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,
+0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7,
+0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x32,0x59,0x2,
+0x32,0x5e,0x2, 0x32,0x63,0x2, 0x32,0x68,0x2, 0x32,0x6d,0x2, 0x32,0x72,0x2, 0x33,
+0x7, 0x2, 0x32,0xa5,0x2, 0x33,0x7, 0x2, 0x32,0xd4,0x74,0x16,0x22,0xe4,0x22,0x7e,
+0xb3,0x3, 0x35,0x22,0x7e,0xb3,0x3, 0x38,0x22,0x7e,0xb3,0x3, 0x39,0x22,0x7e,0xb3,
+0x3, 0x3a,0x22,0x7e,0xb3,0x3, 0x3b,0x22,0x7e,0xb3,0x3, 0x3c,0x22,0x7e,0xb3,0x3,
+0x3d,0x22,0x7e,0xb3,0x3, 0x36,0x22,0x7e,0xb3,0x3, 0x37,0x22,0x7e,0xb3,0x3, 0x40,
+0x22,0x7e,0xb3,0xc, 0xd0,0x70,0x8, 0x7e,0x27,0x3, 0x30,0xa, 0x54,0x80,0xa, 0x7e,
+0x57,0x3, 0x30,0x80,0x4, 0x7e,0x57,0x3, 0x30,0x22,0x7e,0xb3,0x3, 0x3f,0x22,0x7e,
+0xb3,0x3, 0x41,0x22,0x7e,0xb3,0x6, 0xd4,0x22,0x7e,0xb3,0x3, 0x43,0x22,0x7e,0xb3,
+0x3, 0x44,0x22,0x7e,0xb3,0x3, 0x45,0x22,0x7e,0xb3,0x3, 0x46,0x22,0x7e,0xb3,0x3,
+0x47,0x22,0x7e,0x73,0x3, 0x47,0x7c,0xb7,0x4, 0x7a,0xb3,0x3, 0x47,0xbe,0x70,0x5c,
+0x50,0x20,0xa, 0x27,0x7d,0x12,0x5e,0x14,0x0, 0x1, 0x68,0xb, 0x7d,0x12,0x1e,0x14,
+0x3e,0x14,0x49,0x51,0xc, 0x20,0x22,0x1e,0x24,0x3e,0x24,0x49,0x22,0xc, 0x20,0xa,
+0x54,0x22,0x74,0xee,0x22,0x7e,0x73,0x3, 0x44,0x7c,0xb7,0x4, 0x7a,0xb3,0x3, 0x44,
+0xbe,0x70,0x2e,0x50,0x1c,0xbe,0x70,0x16,0x50,0x2, 0x80,0x5, 0xbe,0x70,0x16,0x50,
+0xb, 0xa, 0x37,0x2e,0x34,0x4, 0xc5,0x12,0x2c,0xfa,0x7c,0x7b,0xb, 0x70,0x7c,0xb7,
+0x22,0x74,0xee,0x22,0x7e,0x73,0x3, 0x46,0x7c,0xb7,0x4, 0x7a,0xb3,0x3, 0x46,0xbe,
+0x70,0x5c,0x50,0x20,0xa, 0x27,0x7d,0x12,0x5e,0x14,0x0, 0x1, 0x68,0xb, 0x7d,0x12,
+0x1e,0x14,0x3e,0x14,0x49,0x51,0x2, 0xd4,0x22,0x1e,0x24,0x3e,0x24,0x49,0x22,0x2,
+0xd4,0xa, 0x54,0x22,0x74,0xee,0x22,0x74,0xee,0x22,0x7c,0xab,0x24,0x0, 0x78,0x5,
+0x7e,0xb3,0xc, 0xd6,0x22,0xbe,0xa0,0xaf,0x38,0xc, 0x7e,0xb3,0xb, 0x9f,0xb4,0x3,
+0x5, 0x7c,0xba,0x2, 0x31,0x41,0x7c,0xba,0x22,0xca,0x79,0x20,0x90,0x2, 0x61,0xcf,
+0xd2,0x8, 0x7e,0xb3,0xc, 0xd2,0x4, 0x7a,0xb3,0xc, 0xd2,0x7e,0xf3,0xc, 0xd2,0xbe,
+0xf0,0x1, 0x78,0x22,0xe5,0x91,0x7a,0xb3,0xc, 0xd8,0x7e,0xb3,0xc, 0xd8,0xb4,0xd3,
+0xe, 0x74,0x1, 0x7a,0xb3,0xc, 0xd7,0x6d,0x33,0x7a,0x37,0xc, 0xd3,0x80,0x3c,0xe4,
+0x7a,0xb3,0xc, 0xd7,0x80,0x35,0x7e,0xb3,0xc, 0xd6,0xc4,0x7c,0xeb,0x5e,0xe0,0x7,
+0x78,0x8, 0x12,0x34,0xe9,0x12,0x37,0x23,0x80,0x21,0xbe,0xe0,0x4, 0x78,0x8, 0x12,
+0x34,0xe9,0x12,0x4b,0xa9,0x80,0x14,0x7e,0xb3,0xc, 0xd6,0xc4,0x54,0x7, 0xb4,0x1,
+0xa, 0x7e,0xb3,0xc, 0xd2,0x12,0x34,0xeb,0x12,0x37,0xdc,0x12,0x36,0xef,0x78,0xe,
+0xe4,0x12,0x34,0x5c,0xb4,0x10,0x2, 0x80,0x14,0x12,0x36,0xfa,0x80,0x12,0xbe,0xf0,
+0x4, 0x78,0x5, 0x12,0x34,0xdf,0x80,0x8, 0xbe,0xf0,0x1, 0x78,0x3, 0x12,0x37,0xc7,
+0x7e,0xb3,0xc, 0xd8,0xb4,0xd3,0x6, 0x7e,0xb3,0xb, 0xb6,0xf5,0x91,0xc2,0x90,0x20,
+0x91,0x2, 0x81,0x59,0xc2,0x8, 0x7e,0xb3,0xc, 0xd0,0x4, 0x12,0x36,0xeb,0x78,0x50,
+0x7e,0xb3,0xc, 0xd7,0xb4,0x1, 0x36,0x7e,0xa3,0x9, 0x6a,0x7e,0x70,0x4, 0xac,0x7a,
+0xbe,0x37,0xc, 0xd3,0x40,0x22,0x7e,0x37,0xc, 0xd3,0x4d,0x33,0x78,0x5, 0x7a,0xa1,
+0x91,0x80,0xd, 0x7d,0x23,0x1b,0x24,0x2e,0x27,0x6, 0xdb,0x7e,0x29,0xb0,0xf5,0x91,
+0xb, 0x34,0x7a,0x37,0xc, 0xd3,0x80,0x3f,0x75,0x91,0xff,0x80,0x3a,0xe4,0x12,0x34,
+0x5c,0xb4,0x10,0x6, 0x7e,0xb3,0xc, 0xd0,0x80,0x19,0x7e,0xb3,0xc, 0xd0,0x80,0x1e,
+0xbe,0xf0,0x4, 0x78,0x5, 0x12,0x34,0xdf,0x80,0x1d,0xbe,0xf0,0x1, 0x7e,0xb3,0xc,
+0xd0,0x78,0xb, 0x2e,0xb3,0xc, 0xd8,0x12,0x0, 0x9, 0xf5,0x91,0x80,0x9, 0x2e,0xb3,
+0xc, 0xd8,0x12,0x34,0x5c,0xf5,0x91,0xc2,0x91,0xda,0x79,0x22,0x7c,0x7b,0xbe,0x70,
+0x80,0x40,0xc, 0xbe,0x70,0xde,0x38,0x7, 0xa, 0x37,0x9, 0xb3,0xa, 0xe3,0x22,0xa5,
+0xbf,0x0, 0x5, 0x7e,0xb3,0xc, 0xd6,0x22,0x30,0x7, 0x6, 0x7e,0x24,0xc, 0xac,0x80,
+0x4, 0x7e,0x24,0xc, 0xbe,0x7a,0x25,0x4a,0x7c,0xb7,0x14,0xbe,0xb0,0xe, 0x50,0x4c,
+0x7e,0xa0,0x3, 0xa4,0x90,0x34,0x98,0x73,0x2, 0x34,0xc2,0x2, 0x34,0xca,0x2, 0x34,
+0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,
+0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2,
+0x34,0xd2,0x7e,0x35,0x4a,0x9, 0xb3,0x0, 0x4, 0x22,0x7e,0x35,0x4a,0x9, 0xb3,0x0,
+0x3, 0x22,0xa, 0x37,0x2e,0x35,0x4a,0x9, 0xb3,0x0, 0x2, 0x22,0x74,0xff,0x22,0x7e,
+0xb3,0xc, 0xd8,0x12,0x33,0xa, 0xf5,0x91,0x22,0x7c,0xbf,0x2e,0xb3,0xc, 0xd8,0x24,
+0xfe,0x7e,0x71,0x91,0x22,0xca,0xf8,0xe4,0x12,0x36,0xeb,0x78,0x5, 0x12,0x36,0xfa,
+0x80,0x12,0xbe,0xf0,0x4, 0x78,0x5, 0x12,0x34,0xdf,0x80,0x8, 0xbe,0xf0,0x1, 0x78,
+0x3, 0x12,0x37,0xc7,0x75,0x91,0x0, 0xe4,0x7a,0xb3,0xc, 0xd2,0x7a,0xb3,0xc, 0xd1,
+0x74,0xaa,0x7a,0xb3,0xc, 0xac,0x7a,0xb3,0xc, 0xad,0x7a,0xb3,0xc, 0xbe,0x7a,0xb3,
+0xc, 0xbf,0xda,0xf8,0x22,0xbe,0xb0,0xa, 0x50,0xa, 0x7c,0x1b,0x2e,0x10,0x37,0x7c,
+0xb7,0xa5,0xf7,0x22,0x2, 0x35,0x47,0xca,0x79,0x7c,0x6b,0xa5,0xbe,0xae,0x17,0x7a,
+0x73,0x3, 0x34,0x7e,0xb3,0x3, 0x34,0xb4,0x1, 0x5, 0xe4,0x7a,0xb3,0x3, 0x34,0xe4,
+0x7a,0xb3,0x3, 0x42,0xc1,0x65,0xa5,0xbe,0xaf,0x5, 0x12,0x37,0xea,0xc1,0xe8,0x7c,
+0xb6,0x24,0xf4,0xbe,0xb0,0x29,0x40,0x2, 0xc1,0xa0,0x7e,0xa0,0x3, 0xa4,0x90,0x35,
+0x82,0x73,0x2, 0x35,0xfd,0x2, 0x36,0x3, 0x2, 0x36,0x9, 0x2, 0x36,0xf, 0x2, 0x36,
+0x15,0x2, 0x36,0x1b,0x2, 0x36,0x21,0x2, 0x36,0x27,0x2, 0x36,0x2d,0x2, 0x36,0x33,
+0x2, 0x36,0x39,0x2, 0x36,0x51,0x2, 0x36,0x6a,0x2, 0x36,0xe1,0x2, 0x36,0x70,0x2,
+0x36,0x79,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,
+0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,
+0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2,
+0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,
+0x82,0x2, 0x36,0x88,0x2, 0x36,0x8e,0x2, 0x36,0x94,0x2, 0x36,0x9a,0x7e,0x74,0x3,
+0x35,0x80,0x7a,0x7e,0x74,0x3, 0x38,0x80,0x74,0x7e,0x74,0x3, 0x39,0x80,0x6e,0x7e,
+0x74,0x3, 0x3a,0x80,0x68,0x7e,0x74,0x3, 0x3b,0x80,0x62,0x7e,0x74,0x3, 0x3c,0x80,
+0x5c,0x7e,0x74,0x3, 0x3d,0x80,0x56,0x7e,0x74,0x3, 0x36,0x80,0x50,0x7e,0x74,0x3,
+0x37,0x80,0x4a,0x7e,0x74,0x3, 0x40,0x80,0x44,0x7e,0x27,0x3, 0x30,0x6c,0x44,0x7a,
+0x27,0x3, 0x30,0x7c,0x67,0x6c,0x77,0x4e,0x37,0x3, 0x30,0x7a,0x37,0x3, 0x30,0x80,
+0x14,0x7e,0x27,0x3, 0x30,0x6c,0x55,0x7a,0x27,0x3, 0x30,0xa, 0x37,0x4e,0x37,0x3,
+0x30,0x7a,0x37,0x3, 0x30,0x43,0xa, 0x1, 0x80,0x7e,0x7e,0x74,0x3, 0x3f,0x80,0xd,
+0x7e,0x74,0x3, 0x41,0x43,0xa, 0x4, 0x80,0x68,0x7e,0x74,0x6, 0xd4,0x43,0xa, 0x1,
+0x80,0x5f,0x7a,0x73,0x3, 0x43,0x80,0x60,0x7a,0x73,0x3, 0x44,0x80,0x5a,0x7a,0x73,
+0x3, 0x45,0x80,0x54,0x7a,0x73,0x3, 0x46,0x80,0x4e,0x7a,0x73,0x3, 0x47,0x80,0x48,
+0xbe,0x60,0x39,0x68,0x4, 0xa5,0xbe,0x3a,0x3f,0x7e,0x63,0x3, 0x45,0x7c,0xb6,0x4,
+0x7a,0xb3,0x3, 0x45,0xa, 0x26,0x5e,0x24,0x0, 0x1, 0xa, 0x16,0x68,0x12,0x12,0x37,
+0x4, 0x6c,0x55,0x1b,0x18,0x20,0xa, 0x17,0x12,0x37,0x10,0x43,0xa, 0x2, 0x80,0x18,
+0x12,0x37,0x4, 0x6c,0x44,0x1b,0x18,0x20,0x7c,0x27,0x6c,0x33,0x12,0x37,0x10,0x80,
+0x7, 0x4d,0x77,0x68,0x3, 0x7a,0x79,0x70,0xda,0x79,0x22,0x7a,0xb3,0xc, 0xd0,0x7e,
+0xb3,0xc, 0xd6,0xc4,0x7c,0xfb,0x5e,0xf0,0x7, 0x22,0x7e,0xb3,0xc, 0xd8,0x12,0x34,
+0x5c,0xf5,0x91,0x22,0x1e,0x14,0x3e,0x14,0x2e,0x14,0x2, 0xd4,0xb, 0x18,0x20,0x22,
+0xa, 0x26,0x1e,0x24,0x3e,0x24,0x2e,0x24,0x2, 0xd4,0xb, 0x28,0x30,0x4d,0x31,0x1b,
+0x28,0x30,0x22,0xca,0x69,0xca,0xf8,0x7c,0xf7,0xbe,0xb0,0x80,0x40,0xb, 0xbe,0xb0,
+0xde,0x38,0x6, 0x24,0x80,0x7c,0x7f,0xe1,0xbf,0x24,0x0, 0x68,0x2, 0xe1,0xc2,0x7e,
+0x64,0xc, 0xd6,0x7a,0x69,0xf0,0x5e,0xf0,0x70,0x7c,0xbf,0xc4,0x54,0xf, 0x7c,0xfb,
+0xbe,0xf0,0x4, 0x78,0x15,0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x7, 0x74,0x2, 0x7e,0x70,
+0x3, 0x80,0x36,0x74,0x3c,0x7e,0x70,0x3, 0x80,0x55,0x7e,0xb3,0xb, 0x9f,0xb4,0x3,
+0x2d,0x74,0x2, 0x7e,0x70,0x1, 0x12,0x35,0x35,0xbe,0xf0,0x1, 0x78,0x6, 0x74,0x2,
+0x6c,0x77,0x80,0x15,0x4c,0xff,0x78,0x7, 0x74,0x2, 0x7e,0x70,0x1, 0x80,0xa, 0xbe,
+0xf0,0x3, 0x78,0x2e,0x74,0x2, 0x7e,0x70,0x4, 0x12,0x35,0x35,0x80,0x24,0xbe,0xf0,
+0x1, 0x78,0x6, 0x74,0x3c,0x6c,0x77,0x80,0x16,0xbe,0xf0,0x4, 0x78,0x7, 0x74,0x3c,
+0x7e,0x70,0x3, 0x80,0xa, 0xbe,0xf0,0x3, 0x78,0x8, 0x74,0x3c,0x7e,0x70,0x4, 0x12,
+0x4b,0x75,0xda,0xf8,0xda,0x69,0x22,0x7e,0xb3,0xc, 0xd8,0x12,0x0, 0x9, 0xf5,0x91,
+0x22,0xe4,0x7a,0xb3,0xc, 0xd6,0x12,0x4d,0xe8,0x2, 0x34,0xf5,0x7c,0xa7,0x24,0x0,
+0x78,0x7, 0x7e,0x34,0xc, 0xd6,0x7a,0x39,0xa0,0x22,0x30,0x9, 0x8, 0x74,0x1, 0x12,
+0x43,0x3a,0xc2,0x9, 0x22,0xe4,0x12,0x43,0x3a,0xd2,0x9, 0x22,0x75,0xd, 0x0, 0xc2,
+0x5, 0x7e,0xb3,0xb, 0x88,0x70,0x7, 0x7e,0xb3,0x0, 0x95,0xf5,0x1a,0x22,0x7e,0xb3,
+0x0, 0x97,0xf5,0x1a,0x22,0x7d,0xd2,0x6d,0x22,0x9e,0x18,0x0, 0xc7,0x6d,0xcc,0x7e,
+0x78,0x0, 0xc7,0x7f,0x27,0x9f,0x26,0x12,0x3c,0x5c,0x2e,0x28,0x0, 0xc7,0x9f,0x71,
+0x7f,0x17,0xbe,0x28,0x0, 0x0, 0x58,0x4, 0x9f,0x22,0x80,0xa, 0xbe,0x28,0x1, 0x8e,
+0x48,0x4, 0x7e,0x28,0x1, 0x8d,0xbe,0x18,0x0, 0x0, 0x58,0x4, 0x9f,0x11,0x80,0xa,
+0xbe,0x18,0x1, 0x8e,0x48,0x4, 0x7e,0x18,0x1, 0x8d,0x1b,0x18,0x50,0x7d,0x13,0x1b,
+0x8, 0x10,0x22,0xca,0xf8,0x6c,0xff,0x80,0x23,0x74,0x5, 0xac,0xbf,0x12,0x3c,0xa,
+0x7e,0x14,0x0, 0x22,0x7e,0x4, 0x0, 0x24,0x12,0x38,0x15,0x7e,0x35,0x22,0x74,0x5,
+0xac,0xbf,0x59,0x35,0x0, 0x7a,0x7e,0x35,0x24,0x12,0x3c,0x51,0x12,0x38,0x94,0x48,
+0xd8,0xda,0xf8,0x22,0x7e,0xb3,0x0, 0x90,0x54,0xf, 0xa, 0x2b,0xa, 0x3f,0xbd,0x32,
+0x22,0xca,0x3b,0xc2,0xf, 0x75,0x2c,0x0, 0x7e,0xb3,0x3, 0x5a,0xbe,0xb0,0x2, 0x68,
+0x7, 0x7e,0xb3,0x3, 0x5b,0xb4,0x2, 0x16,0x12,0x2d,0x19,0xbe,0xb0,0x1, 0x38,0xe,
+0x7c,0xba,0x54,0xf, 0xbe,0xb0,0x1, 0x38,0x5, 0x7c,0xba,0x12,0x28,0x90,0x6c,0xff,
+0x7e,0xa0,0xff,0x7e,0x70,0x5, 0xac,0x7f,0x19,0xa3,0x0, 0x7e,0x7c,0x1f,0x2e,0x10,
+0x22,0x74,0xff,0xa5,0xf7,0x7e,0x24,0xff,0xff,0x12,0x3b,0xed,0x1b,0x38,0x20,0x7c,
+0x1f,0x2e,0x10,0x24,0xe4,0xa5,0xf7,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xd2,0x7e,0xa3,
+0x0, 0x90,0x7c,0xba,0x54,0xf, 0x78,0x1f,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x18,0x6c,
+0xff,0x12,0x3c,0x49,0xac,0x7f,0x59,0x43,0x3, 0x52,0x59,0x43,0x3, 0x56,0xb, 0xf0,
+0xbe,0xf0,0x2, 0x78,0xec,0x61,0x88,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x33,0x6c,0xff,
+0x7e,0xa0,0x1, 0x80,0x25,0x7c,0x1f,0x2e,0x10,0x24,0x7c,0xba,0x12,0x3b,0xf6,0x19,
+0xf3,0x0, 0x7e,0x49,0x43,0x0, 0x7a,0x7e,0x50,0x2, 0xac,0x5f,0x59,0x42,0x3, 0x52,
+0x49,0x33,0x0, 0x7c,0x59,0x32,0x3, 0x56,0xb, 0xf0,0x12,0x38,0x94,0x48,0xd6,0x61,
+0x88,0x6c,0xff,0x80,0x47,0x6c,0xee,0x74,0x2, 0xac,0xbe,0x49,0x25,0x3, 0x56,0x12,
+0x3e,0x8, 0x7d,0x63,0x74,0x2, 0xac,0xbe,0x49,0x25,0x3, 0x52,0x12,0x3c,0x73,0x2d,
+0x36,0x7a,0x35,0x26,0x7c,0xbf,0x3e,0xb0,0x24,0x28,0xa, 0x2b,0xb, 0x28,0x30,0xbe,
+0x35,0x26,0x28,0xf, 0x7c,0x1f,0x2e,0x10,0x22,0x7c,0xbe,0xa5,0xf7,0x7e,0x35,0x26,
+0x1b,0x28,0x30,0xb, 0xe0,0xbe,0xe0,0x2, 0x78,0xbd,0xb, 0xf0,0x12,0x38,0x94,0x48,
+0xb4,0x6c,0xff,0x41,0x51,0xd2,0xf, 0x6c,0xee,0x80,0x2c,0xbc,0xef,0x68,0x26,0x7c,
+0x1e,0x12,0x3b,0xfe,0x7c,0x1f,0x2e,0x10,0x22,0xa5,0xe7,0xbc,0xba,0x78,0x16,0x7c,
+0xbe,0x12,0x3b,0xef,0xb, 0x38,0x20,0x12,0x3b,0xed,0xb, 0x38,0x30,0xbd,0x32,0x40,
+0x4, 0xc2,0xf, 0x80,0xd, 0xb, 0xe0,0x12,0xe, 0xaf,0xa, 0x2b,0xa, 0x3e,0xbd,0x32,
+0x48,0xc9,0x7c,0x1f,0x12,0x3b,0xfe,0xa, 0x4a,0x9, 0xb4,0x3, 0x5a,0xb4,0x2, 0x4,
+0xc2,0xf, 0x80,0x1e,0xb4,0x1, 0x1b,0x12,0x2f,0x33,0xbe,0xb0,0x2, 0x40,0x11,0x7c,
+0xb7,0xc4,0x54,0xf, 0xbe,0xb0,0x2, 0x40,0x7, 0xe4,0x19,0xb4,0x3, 0x5a,0x80,0x2,
+0xc2,0xf, 0x30,0xf, 0x2a,0xbe,0xa0,0x2, 0x50,0x25,0x7c,0x1a,0x2e,0x10,0x24,0x74,
+0x1, 0xa5,0xf7,0x7e,0x90,0x5, 0xac,0x9f,0x19,0xa4,0x0, 0x7e,0x49,0x34,0x0, 0x7a,
+0x74,0x2, 0xa4,0x59,0x35,0x3, 0x52,0x49,0x34,0x0, 0x7c,0x59,0x35,0x3, 0x56,0xb,
+0xf0,0x12,0x38,0x94,0x58,0x2, 0x21,0xb5,0x6c,0xff,0x80,0x48,0x74,0x5, 0xac,0xbf,
+0x9, 0xb5,0x0, 0x7e,0xb4,0xff,0x3b,0x6c,0xee,0x7c,0x1e,0x2e,0x10,0x24,0xa5,0xe7,
+0x70,0x29,0xa, 0x3e,0x9, 0xb3,0x3, 0x5a,0x70,0x1f,0x74,0x1, 0x12,0x3b,0xf6,0x49,
+0x23,0x0, 0x7a,0x74,0x2, 0xac,0xbe,0x59,0x25,0x3, 0x52,0x49,0x23,0x0, 0x7c,0x59,
+0x25,0x3, 0x56,0x19,0xe3,0x0, 0x7e,0x80,0x9, 0x5, 0x2c,0xb, 0xe0,0xbe,0xe0,0x2,
+0x40,0xc7,0xb, 0xf0,0x7e,0xa3,0x0, 0x90,0x5e,0xa0,0xf, 0xa, 0x2a,0xa, 0x3f,0xbd,
+0x32,0x48,0xa9,0xe5,0x2c,0x60,0x2a,0x4c,0xaa,0x68,0x26,0xe5,0x2c,0xa, 0x3b,0xbd,
+0x23,0x48,0x1e,0x7e,0x73,0x0, 0x7e,0xbe,0x70,0x2, 0x40,0xc, 0x7e,0x73,0x0, 0x83,
+0xbe,0x70,0x2, 0x50,0x3, 0x12,0x3e,0x3a,0x12,0x2f,0x75,0x9e,0x61,0x2c,0x12,0x2d,
+0x23,0x12,0x2d,0x19,0xa, 0x2b,0x7c,0xba,0x54,0xf, 0xa, 0x3b,0xbd,0x32,0x58,0x71,
+0x6c,0xff,0x12,0x3b,0xe5,0x70,0x5a,0x7e,0xd0,0x2, 0xac,0xdf,0x49,0x46,0x3, 0x52,
+0xbe,0x44,0x7f,0xff,0x68,0x4b,0xa, 0x2f,0x9, 0x62,0x3, 0x5a,0xbe,0x60,0x2, 0x50,
+0x40,0x49,0x16,0x3, 0x56,0xbe,0x14,0x1, 0x8e,0x50,0x36,0x9, 0xb2,0xb, 0x31,0x60,
+0x30,0x74,0x1, 0xa5,0xf7,0x7e,0x73,0x0, 0x90,0x7c,0xe7,0x5e,0xe0,0xf, 0x74,0x5,
+0xac,0xbe,0x59,0x45,0x0, 0x7a,0x59,0x15,0x0, 0x7c,0x19,0xf5,0x0, 0x7e,0x2e,0x24,
+0x3, 0x5a,0x7c,0xb6,0x4, 0x7a,0x29,0xb0,0x7c,0x67,0xb, 0x60,0x12,0x2d,0x23,0x80,
+0x7, 0xe4,0xa, 0x3f,0x19,0xb3,0x3, 0x5a,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0x93,0x80,
+0x9, 0xe4,0x7a,0xb3,0x3, 0x5a,0x7a,0xb3,0x3, 0x5b,0x6c,0xff,0x12,0x3b,0xe5,0x70,
+0x10,0x7e,0x34,0x7f,0xff,0x74,0x2, 0xac,0xbf,0x59,0x35,0x3, 0x52,0x59,0x35,0x3,
+0x56,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xe4,0x12,0x3c,0x41,0x6c,0xff,0x12,0x3b,0xe5,
+0xb4,0x1, 0x1d,0xa, 0x3f,0x9, 0xb3,0x3, 0x50,0xbe,0xb0,0x3, 0x68,0x3, 0xb4,0x1,
+0x7, 0xe4,0x19,0xb3,0x3, 0x4e,0x80,0x33,0x74,0x2, 0x19,0xb3,0x3, 0x4e,0x80,0x2b,
+0xa, 0x3f,0x9, 0xb3,0x3, 0x50,0xbe,0xb0,0x2, 0x68,0x2, 0x70,0x18,0x74,0x1, 0x19,
+0xb3,0x3, 0x4e,0xbe,0xe0,0x2, 0x50,0x13,0x7c,0xae,0xb, 0xe0,0x74,0x5, 0xa4,0x19,
+0xf5,0x0, 0x7e,0x80,0x6, 0x74,0x3, 0x19,0xb3,0x3, 0x4e,0xb, 0xf0,0xbe,0xf0,0x2,
+0x40,0xab,0xda,0x3b,0x22,0x7c,0x1f,0x2e,0x10,0x24,0xa5,0xe7,0x22,0x7c,0xbf,0x3e,
+0xb0,0x24,0x28,0xa, 0x3b,0x22,0xa5,0xf7,0x7e,0x70,0x5, 0xac,0x7f,0x22,0x2e,0x10,
+0x22,0xa5,0xe7,0x7c,0xab,0x22,0x74,0x5, 0xac,0xbe,0x49,0x35,0x0, 0x7a,0x49,0x25,
+0x0, 0x7c,0x22,0xca,0x79,0x12,0x3c,0x37,0x6c,0xff,0x80,0x13,0xa, 0x3f,0x9, 0xe3,
+0x0, 0x76,0x7e,0x34,0x6, 0x15,0x7c,0xbe,0x6c,0x55,0x12,0x3e,0x4b,0xb, 0xf0,0x12,
+0x38,0x94,0x48,0xe8,0xda,0x79,0x22,0x74,0x1, 0x6c,0xaa,0x12,0x3c,0x67,0x40,0xfb,
+0x22,0x7e,0xe3,0x0, 0x90,0x5e,0xe0,0xf, 0x22,0x7e,0x44,0x7f,0xff,0x7e,0x70,0x2,
+0x22,0x74,0x5, 0xac,0xbf,0x59,0x35,0x0, 0x7c,0xb, 0xf0,0x22,0x6e,0x34,0xff,0xff,
+0x6e,0x24,0xff,0xff,0xb, 0x1c,0x22,0xa, 0x4a,0x19,0xb4,0x6, 0x15,0xb, 0xa0,0xbe,
+0xa0,0x2e,0x22,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7a,0x9d,0x32,0x2, 0x0, 0x2e,
+0xca,0x3b,0x12,0xe, 0xaf,0x7c,0xeb,0x78,0x30,0x6c,0xff,0x6d,0x11,0x74,0x2, 0xac,
+0xbf,0x59,0x15,0xd, 0x1d,0x7e,0xa0,0xff,0x7e,0x30,0x5, 0xac,0x3f,0x19,0xa1,0xd,
+0x17,0x7e,0xb3,0xd, 0x28,0x70,0x3, 0xe4,0x80,0x2, 0x74,0x2, 0xa, 0x1f,0x19,0xb1,
+0xd, 0x26,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xd2,0x7e,0x17,0x0, 0x92,0xbe,0x14,0x0,
+0x1, 0x78,0x2, 0xa1,0xfc,0x6c,0xff,0xa1,0xd8,0x74,0x5, 0xac,0xbf,0x9, 0x75,0x0,
+0x7e,0x7a,0x71,0x23,0xbe,0x70,0x2, 0x40,0x2, 0xa1,0xd6,0xe5,0x23,0xa, 0x1b,0x12,
+0x3e,0x1d,0x78,0x2, 0xa1,0xd6,0x75,0x22,0x0, 0x7e,0x31,0x22,0x74,0x5, 0xac,0x3b,
+0x9, 0x71,0xd, 0x17,0x7a,0x71,0x24,0xbe,0x71,0x23,0x68,0x2, 0xa1,0xcb,0x49,0x21,
+0xd, 0x15,0x12,0x3e,0x8, 0x7d,0x63,0x12,0x14,0xe3,0x49,0x25,0xd, 0x13,0x12,0x3c,
+0x73,0x7d,0x3, 0x2d,0x6, 0xe5,0x24,0xa, 0x1b,0x9, 0xa1,0xd, 0x26,0xbe,0xa0,0x0,
+0x28,0x17,0x7e,0x71,0x24,0x74,0x2, 0xac,0x7b,0x59,0x3, 0xd, 0x1d,0x2e,0x14,0xd,
+0x26,0x7c,0xba,0x14,0x7a,0x19,0xb0,0xa1,0xd6,0x7e,0x31,0x24,0x74,0x2, 0xac,0x3b,
+0x49,0x31,0xd, 0x1d,0xbe,0x34,0x0, 0x1e,0x28,0x8, 0xbe,0x4, 0x0, 0x1e,0x28,0x2,
+0x80,0x10,0x7d,0x23,0x2e,0x24,0x0, 0x1e,0xbd,0x20,0x50,0x12,0xbe,0x34,0x0, 0x1e,
+0x28,0xc, 0x59,0x1, 0xd, 0x1d,0x74,0x1, 0x7a,0xb3,0xd, 0x28,0x80,0x68,0xbe,0x4,
+0x0, 0x64,0x28,0x4b,0xe4,0x7a,0xb3,0xd, 0x28,0xe5,0x23,0xa, 0x1b,0x9, 0xb1,0x3,
+0x4e,0x70,0x4, 0x74,0x3, 0x80,0x2, 0x74,0x1, 0x19,0xb1,0x3, 0x4e,0x12,0x3e,0x25,
+0x7e,0x14,0xd, 0x21,0x74,0x5, 0x12,0x4, 0x8d,0xbe,0xe0,0x0, 0x28,0x21,0x1b,0xe0,
+0x7e,0x70,0x5, 0xac,0x7e,0x2e,0x34,0x0, 0x7a,0x7e,0x30,0x5, 0xac,0x3f,0x12,0x3d,
+0xff,0x7e,0x34,0xd, 0x21,0x7e,0x30,0x5, 0xac,0x3e,0x12,0x3d,0xff,0x1b,0xf0,0x7e,
+0xa1,0x24,0x74,0x2, 0xa4,0x59,0x5, 0xd, 0x1d,0x80,0xb, 0x5, 0x22,0xe5,0x22,0xbe,
+0xb0,0x2, 0x50,0x2, 0x81,0xe9,0xb, 0xf0,0x12,0x2f,0x33,0xa, 0x2b,0xa, 0x1f,0xbd,
+0x12,0x58,0x2, 0x81,0xc9,0x7c,0x6e,0x12,0x2d,0x23,0x6c,0xff,0x12,0x3e,0x15,0x2e,
+0x34,0x0, 0x7a,0x2e,0x14,0xd, 0x13,0x12,0x3e,0x2f,0x78,0xf0,0xda,0x3b,0x22,0x2e,
+0x14,0x0, 0x7a,0x74,0x5, 0x2, 0x4, 0x8d,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7c,
+0x9d,0x32,0x2, 0x0, 0x2e,0x7e,0x30,0x5, 0xac,0x3f,0x7d,0x31,0x22,0x9, 0xb1,0x3,
+0x4e,0xbe,0xb0,0x1, 0x22,0x7e,0x70,0x5, 0xac,0x7f,0x2e,0x34,0x0, 0x7a,0x22,0x74,
+0x5, 0x12,0x4, 0x8d,0xb, 0xf0,0xbe,0xf0,0x2, 0x22,0x7e,0x1f,0x0, 0x80,0x7e,0x33,
+0x0, 0x7f,0x7a,0x1f,0x0, 0x7b,0x7a,0x33,0x0, 0x7a,0x22,0x7d,0x13,0x4d,0x11,0x68,
+0xc, 0xbe,0xb0,0x2e,0x50,0x7, 0xa, 0x3b,0x2d,0x31,0x7a,0x39,0x50,0x22,0x74,0x10,
+0x7a,0xb3,0xb, 0x84,0x74,0x83,0x7a,0xb3,0xb, 0x85,0xe4,0x6c,0xaa,0x12,0x3c,0x67,
+0x40,0xfb,0x22,0x6c,0xaa,0x74,0x3, 0xa, 0x4a,0x19,0xb4,0x3, 0x50,0x19,0xb4,0x3,
+0x4e,0x12,0x3c,0x49,0xac,0x7a,0x59,0x43,0x3, 0x52,0x59,0x43,0x3, 0x56,0xb, 0xa0,
+0xbe,0xa0,0x2, 0x40,0xe0,0x22,0x7c,0x6b,0x7e,0x53,0x0, 0x90,0x7c,0xb5,0x54,0xf,
+0x68,0x10,0x7c,0x45,0x1b,0x40,0x5e,0x40,0xf, 0x5e,0x50,0xf0,0x4c,0x54,0x7a,0x53,
+0x0, 0x90,0xa5,0xbe,0x0, 0x12,0xa5,0xbf,0x2, 0xe, 0x7e,0x73,0x0, 0x77,0x7a,0x73,
+0x0, 0x76,0x85,0x17,0x16,0x12,0x3e,0x3a,0x22,0xca,0x79,0x6d,0x77,0x7a,0x77,0x2,
+0xd0,0x7e,0x34,0x3, 0xe8,0x7a,0x37,0x0, 0x74,0x12,0x1f,0xe6,0x12,0x1e,0xf6,0x12,
+0x1b,0xdc,0x7a,0x77,0x2, 0xd0,0x7e,0x34,0x0, 0x64,0x7a,0x37,0x0, 0x74,0xda,0x79,
+0x22,0x6c,0x77,0xa, 0x27,0x9, 0x62,0x3, 0x4e,0x19,0x62,0x3, 0x50,0xb, 0x70,0xbe,
+0x70,0x2, 0x40,0xef,0x12,0x3f,0x35,0x12,0x3f,0x2d,0x7a,0x73,0x0, 0x90,0x7e,0x73,
+0x0, 0x91,0x5e,0x70,0xf, 0x12,0x3f,0x2d,0x7a,0x73,0x0, 0x91,0x7e,0x1f,0x5, 0x2c,
+0x7a,0x1f,0x5, 0x30,0x7e,0x73,0x6, 0xe, 0x7a,0x73,0x6, 0xf, 0x22,0x7c,0xb7,0xc4,
+0x54,0xf0,0x4c,0x7b,0x22,0x7e,0x73,0x0, 0x90,0x5e,0x70,0xf, 0x22,0x12,0x3f,0x35,
+0x6c,0x66,0x80,0x2, 0xb, 0x60,0xbc,0x76,0x38,0xfa,0x22,0xca,0x3b,0x6c,0xaa,0x12,
+0x3f,0x35,0x7e,0x44,0x3, 0x5c,0x7e,0x24,0x0, 0x76,0x6c,0x66,0x80,0x64,0x75,0x1f,
+0xff,0xa, 0xf6,0x2d,0xf2,0x7e,0xf9,0x20,0x7e,0x30,0x4, 0xac,0x23,0x7d,0xe1,0x2d,
+0xe4,0x49,0x1e,0x0, 0x2, 0xb, 0xe8,0x0, 0xa, 0x76,0xb, 0x74,0x80,0x24,0xa, 0xef,
+0x2d,0xe2,0x7e,0xe9,0xe0,0x7e,0xd0,0x4, 0xac,0xde,0x7d,0xe6,0x2d,0xe4,0x49,0xde,
+0x0, 0x2, 0xb, 0xe8,0xc0,0xbf,0x6, 0x58,0x7, 0x7c,0xae,0x7a,0xf1,0x1f,0x7f,0x6,
+0xb, 0xf0,0xbc,0x7f,0x38,0xd8,0xe5,0x1f,0xbe,0xb0,0xff,0x68,0x13,0x7e,0xf9,0xe0,
+0xe5,0x1f,0xa, 0xfb,0x2d,0xf2,0x7a,0xf9,0xe0,0xa, 0xf6,0x2d,0xf2,0x7a,0xf9,0xa0,
+0xb, 0x60,0xbc,0x76,0x38,0x98,0xda,0x3b,0x22,0x7c,0xab,0x9f,0x11,0x7a,0x1f,0x5,
+0x30,0x74,0xb, 0x7a,0xb3,0x6, 0xf, 0x74,0x2, 0x7a,0xb3,0x6, 0x44,0x7a,0xb3,0x6,
+0x43,0x74,0xf, 0x7a,0xb3,0x6, 0x45,0x74,0x2, 0x7a,0xb3,0x6, 0x47,0x7a,0xb3,0x6,
+0x46,0x74,0xf, 0x7a,0xb3,0x6, 0x48,0x7e,0x34,0x0, 0x32,0x7a,0x37,0x5, 0xec,0x12,
+0x41,0x12,0x74,0xa, 0x7a,0xb3,0x6, 0x10,0x7e,0xb3,0x6, 0x67,0x44,0x40,0x7a,0xb3,
+0x6, 0x67,0x54,0x7f,0x7a,0xb3,0x6, 0x67,0x5e,0xa0,0x7f,0xbe,0xa0,0x1, 0x68,0x7,
+0xbe,0xa0,0x2, 0x78,0x2, 0x80,0x0, 0x12,0x41,0x12,0x7e,0xa3,0x6, 0x67,0x7c,0xba,
+0x30,0xe0,0x12,0x74,0x1, 0x7a,0xb3,0x6, 0x11,0x74,0x3, 0x7a,0xb3,0x6, 0x12,0x7a,
+0xb3,0x6, 0x13,0x80,0xe, 0x74,0x1, 0x7a,0xb3,0x6, 0x12,0x7a,0xb3,0x6, 0x13,0x7a,
+0xb3,0x6, 0x11,0x74,0xa, 0x7a,0xb3,0x6, 0x66,0x7a,0xb3,0x6, 0x14,0x7e,0x24,0x2a,
+0xf8,0x7a,0x27,0x5, 0xf0,0x7c,0xba,0x54,0xfd,0x7a,0xb3,0x6, 0x67,0x7e,0x24,0xfc,
+0xe0,0x7a,0x27,0x5, 0xee,0x12,0x41,0x35,0x7a,0x37,0x5, 0xf2,0x7e,0x34,0x5, 0xdc,
+0x7a,0x37,0x5, 0xf4,0x7e,0x34,0xf, 0xa0,0x7a,0x37,0x5, 0xf6,0x7e,0xb3,0x6, 0x67,
+0x54,0xf7,0x7a,0xb3,0x6, 0x67,0x54,0xef,0x7a,0xb3,0x6, 0x67,0x7e,0x34,0x0, 0xc7,
+0x7a,0x37,0x5, 0xf8,0x7e,0x34,0x0, 0xa0,0x7a,0x37,0x5, 0xfa,0xe4,0x7a,0xb3,0x6,
+0x49,0x7a,0xb3,0x6, 0x4a,0x7a,0x37,0x6, 0x4b,0x7e,0x34,0x0, 0x31,0x7a,0x37,0x5,
+0xfc,0x7e,0x34,0x1, 0x5c,0x7a,0x37,0x5, 0xfe,0x12,0x41,0x1d,0x7e,0x34,0x0, 0x8,
+0x7a,0x37,0x6, 0x2, 0x7e,0x34,0x0, 0x7, 0x7a,0x37,0x6, 0x0, 0x7e,0x34,0x0, 0x1a,
+0x7a,0x37,0x6, 0x4, 0x7e,0x34,0x6, 0x65,0x7a,0x37,0x6, 0x6, 0x7e,0x34,0x22,0x98,
+0x7a,0x37,0x6, 0x8, 0x7e,0x34,0x20,0x4, 0x7a,0x37,0x6, 0xc, 0x7e,0x34,0x20,0x51,
+0x7a,0x37,0x6, 0xa, 0xe4,0x7a,0xb3,0x6, 0x4d,0x7e,0x34,0xa, 0xd1,0x7a,0x37,0x6,
+0x4e,0x22,0x7e,0xb3,0x6, 0x67,0x54,0xfe,0x7a,0xb3,0x6, 0x67,0x22,0x7e,0xb3,0x6,
+0x67,0x54,0xdf,0x7a,0xb3,0x6, 0x67,0x22,0x7e,0xb3,0x6, 0x67,0x44,0x4, 0x7a,0xb3,
+0x6, 0x67,0x12,0x15,0x1d,0x7e,0xb3,0x6, 0x67,0x54,0xfb,0x7a,0xb3,0x6, 0x67,0x22,
+0xca,0x3b,0x7e,0x48,0x75,0x30,0x7f,0x74,0x9f,0x55,0x7f,0x5, 0x6c,0x77,0x7e,0xa0,
+0x1, 0x6c,0x66,0x7e,0x50,0x2, 0xac,0x56,0x49,0x72,0x5, 0x34,0x6d,0x66,0x7e,0x50,
+0x4, 0xac,0x56,0x49,0xd2,0x3, 0x5e,0x49,0xc2,0x3, 0x5c,0x2f,0x63,0xbf,0x76,0x8,
+0x2, 0x7f,0x76,0xbf,0x6, 0x58,0x2, 0x7f,0x6, 0xb, 0x60,0xa5,0xbe,0x16,0xd4,0x7f,
+0x30,0x9f,0x37,0xbe,0x38,0x4, 0xb0,0x58,0x3, 0x7e,0x70,0x1, 0x7f,0x74,0x7f,0x5,
+0x6c,0x66,0x7e,0x50,0x2, 0xac,0x56,0x49,0xd2,0x5, 0x34,0x6d,0xcc,0xbf,0x76,0x8,
+0x2, 0x7f,0x76,0xbf,0x6, 0x58,0x2, 0x7f,0x6, 0xb, 0x60,0xa5,0xbe,0x16,0xe3,0x9f,
+0x7, 0xbe,0x8, 0x4, 0xb0,0x8, 0x2, 0x6c,0xaa,0x4c,0x77,0x68,0x8, 0x4c,0xaa,0x78,
+0x4, 0x74,0x1, 0x80,0x1, 0xe4,0xda,0x3b,0x22,0xca,0x3b,0x7c,0xcb,0x6c,0xaa,0xe5,
+0x9, 0x70,0xa, 0xe5,0x1c,0x70,0x6, 0xe5,0x11,0x70,0x2, 0x61,0x33,0x20,0x7, 0x6,
+0x7e,0x74,0xc, 0xac,0x80,0x4, 0x7e,0x74,0xc, 0xbe,0x6c,0xdd,0x7e,0x70,0xff,0xa,
+0x2d,0x2d,0x27,0x7a,0x29,0x70,0xb, 0xd0,0xbe,0xd0,0x12,0x78,0xf2,0x74,0xaa,0x7a,
+0x79,0xb0,0x19,0xb7,0x0, 0x1, 0x74,0x12,0x19,0xb7,0x0, 0x2, 0x7e,0xb3,0x2, 0xca,
+0x19,0xb7,0x0, 0x4, 0x6c,0x77,0x6c,0xdd,0x7e,0x10,0x5, 0xac,0x1d,0x9, 0x60,0x2,
+0xba,0xbe,0x60,0xff,0x78,0x2, 0x41,0xbc,0xa, 0x16,0x9, 0xb1,0x3, 0x4e,0xbe,0xb0,
+0x3, 0x78,0x2, 0x41,0xbc,0x49,0x40,0x2, 0xb6,0x2e,0x44,0x0, 0x3, 0x49,0x20,0x2,
+0xb8,0x2e,0x24,0x0, 0x3, 0xa, 0x8, 0x12,0x43,0x4c,0x19,0x60,0x0, 0x5, 0x7c,0x69,
+0xa, 0x7, 0x2d,0x7, 0x19,0x60,0x0, 0x6, 0xa, 0x4, 0x12,0x43,0x4c,0x19,0x60,0x0,
+0x7, 0x7c,0x65,0xa, 0x7, 0x2d,0x7, 0x19,0x60,0x0, 0x8, 0xe4,0xa, 0x7, 0x2d,0x7,
+0x19,0xb0,0x0, 0x9, 0xa, 0x7, 0x2d,0x7, 0x19,0xb0,0x0, 0xa, 0x12,0x43,0x42,0xc4,
+0x54,0xf0,0xa, 0x7, 0x2d,0x7, 0x2e,0x4, 0x0, 0x7, 0x7e,0x9, 0x60,0x2c,0x6b,0x7a,
+0x9, 0x60,0x12,0x43,0x42,0xbe,0xb0,0xff,0x68,0x1f,0x12,0x3e,0x1d,0x68,0x2, 0xb,
+0xa0,0x9, 0xb1,0x3, 0x4e,0x3, 0x3, 0x54,0xc0,0xa, 0x17,0x2d,0x17,0x2e,0x14,0x0,
+0x5, 0x7e,0x19,0x60,0x2c,0x6b,0x7a,0x19,0x60,0x2e,0x70,0x6, 0xb, 0xd0,0xbe,0xd0,
+0x2, 0x68,0x2, 0x41,0x18,0x19,0xa7,0x0, 0x3, 0xe4,0x19,0xb7,0x0, 0x11,0x6c,0xdd,
+0xa, 0x3d,0x2d,0x37,0x7e,0x39,0x60,0x7d,0x27,0x2e,0x24,0x0, 0x11,0x7e,0x29,0x70,
+0x6c,0x76,0x7a,0x29,0x70,0xb, 0xd0,0xbe,0xd0,0x11,0x78,0xe4,0x30,0x7, 0x4, 0xc2,
+0x7, 0x80,0x2, 0xd2,0x7, 0xe5,0x1c,0x60,0x3, 0x12,0x3e,0x73,0x75,0x9, 0x0, 0x75,
+0x1c,0x0, 0x75,0x11,0x0, 0x7e,0xb3,0xb, 0xb3,0xb4,0x1, 0x14,0x12,0x2f,0x3c,0x68,
+0x26,0xe5,0x4f,0xb4,0x1, 0xf, 0x74,0x1, 0x12,0x43,0x3a,0x75,0x4f,0x0, 0x80,0x5,
+0x74,0x1, 0x12,0x43,0x3a,0x7e,0x34,0x0, 0x9, 0x12,0x43,0x57,0xbe,0xc0,0x1, 0x78,
+0x6, 0x80,0x0, 0xe4,0x12,0x43,0x3a,0xda,0x3b,0x22,0x70,0x3, 0xd2,0x86,0x22,0xc2,
+0x86,0x22,0x7e,0x10,0x5, 0xac,0x1d,0x9, 0xb0,0x2, 0xba,0x22,0x5e,0x4, 0x0, 0xf,
+0x7c,0x61,0xa, 0x7, 0x2d,0x7, 0x22,0x7e,0x24,0x0, 0x14,0xad,0x32,0x80,0x3, 0x0,
+0x0, 0x0, 0x7d,0x23,0x1b,0x34,0x4d,0x22,0x78,0xf5,0x22,0x30,0x0, 0x44,0xc2,0x6,
+0xe4,0x7a,0xb3,0x3, 0x48,0x30,0x1, 0x1c,0x80,0x3, 0x30,0x0, 0x9, 0xa9,0x21,0x94,
+0xf9,0x80,0x3, 0x30,0x0, 0x4, 0xa9,0x31,0x94,0xf9,0x30,0x0, 0x1e,0x80,0x15,0x80,
+0x3, 0x30,0x0, 0x9, 0xa9,0x31,0x94,0xf9,0x80,0x3, 0x30,0x0, 0x4, 0xa9,0x21,0x94,
+0xf9,0x30,0x0, 0x7, 0xd2,0x6, 0xe4,0x7a,0xb3,0x2, 0xcf,0x7e,0x37,0x2, 0xcd,0x2,
+0x43,0x57,0x22,0xca,0xf8,0x7c,0xfb,0x74,0x16,0x7a,0xb3,0x6, 0xc6,0xe4,0x7a,0xb3,
+0x6, 0xc7,0x74,0x16,0x7a,0xb3,0x6, 0xc8,0x74,0x30,0x7a,0xb3,0x6, 0xd4,0x7e,0xb3,
+0x6, 0xcb,0x54,0xbf,0x7a,0xb3,0x6, 0xcb,0x54,0x7f,0x7a,0xb3,0x6, 0xcb,0x54,0xf9,
+0x7a,0xb3,0x6, 0xcb,0x7e,0xb3,0x6, 0xca,0x54,0xbf,0x7a,0xb3,0x6, 0xca,0x7e,0xb3,
+0x6, 0xd7,0x44,0x4, 0x7a,0xb3,0x6, 0xd7,0x74,0x15,0x7a,0xb3,0x6, 0xd5,0x7e,0xb3,
+0x6, 0xca,0x54,0x7f,0x7a,0xb3,0x6, 0xca,0x7e,0xb3,0x6, 0xcb,0x54,0xfe,0x7a,0xb3,
+0x6, 0xcb,0x7e,0x34,0x4, 0xc5,0x7e,0x24,0x6, 0x68,0x74,0x16,0x7e,0x30,0x97,0x12,
+0x45,0xb, 0x6c,0x77,0x80,0x8, 0xa, 0x27,0x19,0x72,0x6, 0x96,0xb, 0x70,0x7e,0x63,
+0x6, 0xc8,0xbc,0x67,0x38,0xf0,0x7e,0xb3,0x6, 0xc9,0x44,0x1, 0x7a,0xb3,0x6, 0xc9,
+0x5e,0xf0,0x7f,0xbe,0xf0,0x1, 0x78,0xe, 0x7e,0xb3,0x6, 0xc9,0x12,0x44,0xef,0x44,
+0x8, 0x12,0x44,0xfc,0x80,0x38,0xbe,0xf0,0x2, 0x7e,0xb3,0x6, 0xc9,0x78,0x8, 0x12,
+0x44,0xef,0x12,0x44,0xfc,0x80,0x27,0x44,0x6, 0x12,0x44,0xf1,0x44,0x18,0x7a,0xb3,
+0x6, 0xcb,0x7e,0x63,0x3, 0x35,0x5e,0x60,0x7, 0x7c,0xb6,0xc4,0x3, 0x54,0xf8,0x7c,
+0x6b,0x7e,0x73,0x6, 0xca,0x5e,0x70,0xc7,0x4c,0x76,0x7a,0x73,0x6, 0xca,0xe4,0x7a,
+0xb3,0x6, 0xd6,0x7e,0xb3,0x6, 0xca,0x54,0xfe,0x7a,0xb3,0x6, 0xca,0x44,0x6, 0x7a,
+0xb3,0x6, 0xca,0x7e,0x73,0x3, 0x38,0x7a,0x73,0x6, 0xcc,0x7e,0x73,0x3, 0x39,0x7a,
+0x73,0x6, 0xcd,0x7e,0x73,0x3, 0x36,0x7a,0x73,0x6, 0xce,0x7e,0x73,0x3, 0x3a,0x7a,
+0x73,0x6, 0xcf,0x7e,0x73,0x3, 0x3b,0x7a,0x73,0x6, 0xd0,0x7e,0x73,0x3, 0x37,0x7a,
+0x73,0x6, 0xd1,0x7e,0x73,0x3, 0x3c,0x7a,0x73,0x6, 0xd2,0x7e,0x73,0x3, 0x3d,0x7a,
+0x73,0x6, 0xd3,0x12,0x1f,0xe6,0x54,0xfd,0x7a,0xb3,0x6, 0xd7,0xda,0xf8,0x22,0x54,
+0xf9,0x7a,0xb3,0x6, 0xc9,0x7e,0xb3,0x6, 0xcb,0x54,0xc7,0x22,0x7a,0xb3,0x6, 0xcb,
+0x7e,0xb3,0x6, 0xca,0x54,0xc7,0x7a,0xb3,0x6, 0xca,0x22,0x7c,0x23,0x7c,0x3b,0x7d,
+0x43,0x7c,0xb2,0x24,0x6a,0xbe,0xb0,0x9, 0x40,0x2, 0xe1,0x77,0x7e,0xa0,0x3, 0xa4,
+0x90,0x45,0x24,0x73,0x2, 0x45,0x3f,0x2, 0x45,0xf4,0x2, 0x46,0x2a,0x2, 0x46,0x60,
+0x2, 0x47,0x41,0x2, 0x47,0x77,0x2, 0x46,0x96,0x2, 0x46,0xc6,0x2, 0x46,0xf6,0x6c,
+0x77,0xa1,0xed,0x12,0x47,0xa0,0xbe,0xb0,0x12,0x40,0x2, 0xa1,0xe8,0x7e,0xa0,0x3,
+0xa4,0x90,0x45,0x55,0x73,0x2, 0x45,0x8b,0x2, 0x45,0x90,0x2, 0x45,0x95,0x2, 0x45,
+0x9a,0x2, 0x45,0x9f,0x2, 0x45,0xa4,0x2, 0x45,0xa9,0x2, 0x45,0xae,0x2, 0x45,0xb3,
+0x2, 0x45,0xb8,0x2, 0x45,0xbd,0x2, 0x45,0xc2,0x2, 0x45,0xc7,0x2, 0x45,0xcc,0x2,
+0x45,0xd1,0x2, 0x45,0xd6,0x2, 0x45,0xdb,0x2, 0x45,0xe0,0x7e,0x20,0x4, 0x80,0x53,
+0x7e,0x20,0x6, 0x80,0x4e,0x7e,0x20,0x7, 0x80,0x49,0x7e,0x20,0x5, 0x80,0x44,0x7e,
+0x20,0xe, 0x80,0x3f,0x7e,0x20,0x8, 0x80,0x3a,0x7e,0x20,0xf, 0x80,0x35,0x7e,0x20,
+0x10,0x80,0x30,0x7e,0x20,0x11,0x80,0x2b,0x7e,0x20,0x12,0x80,0x26,0x7e,0x20,0x17,
+0x80,0x21,0x7e,0x20,0x1a,0x80,0x1c,0x7e,0x20,0x18,0x80,0x17,0x7e,0x20,0x1b,0x80,
+0x12,0x7e,0x20,0x21,0x80,0xd, 0x7e,0x20,0x20,0x80,0x8, 0x7e,0x20,0x1f,0x80,0x3,
+0x7e,0x20,0x19,0x12,0x47,0x90,0x80,0x3, 0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x28,
+0x2, 0xa1,0x43,0x22,0x6c,0x77,0x80,0x2d,0x12,0x47,0xa0,0xbe,0x60,0x7, 0x40,0x10,
+0xbe,0x60,0xe, 0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x13,0x12,0x47,0x8e,0x80,0x13,
+0xbe,0x60,0xf, 0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x29,0x12,0x47,0x8e,0x80,0x3,
+0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x2d,0x12,0x47,
+0xa0,0xbe,0x60,0x9, 0x40,0x10,0xbe,0x60,0x12,0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0x10,0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x13,0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0x23,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,
+0x6c,0x77,0x80,0x2d,0x12,0x47,0xa0,0xbe,0x60,0xd, 0x40,0x10,0xbe,0x60,0x18,0x38,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0xb, 0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x19,0x40,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x1b,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb,
+0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x27,0x12,0x47,0xa0,0xbe,0x60,0xe,
+0x40,0xa, 0xbe,0x60,0x19,0x38,0x5, 0x12,0x47,0x88,0x80,0x13,0xbe,0x60,0x1a,0x40,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x19,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb,
+0x70,0xbc,0x37,0x38,0xd5,0x22,0x6c,0x77,0x80,0x27,0x12,0x47,0xa0,0xbe,0x60,0xe,
+0x40,0xa, 0xbe,0x60,0x19,0x38,0x5, 0x12,0x47,0x88,0x80,0x13,0xbe,0x60,0x1a,0x40,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x18,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb,
+0x70,0xbc,0x37,0x38,0xd5,0x22,0x6c,0x77,0x80,0x42,0x12,0x47,0xa0,0xbe,0x60,0x0,
+0x40,0x10,0xbe,0x60,0xd, 0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x3, 0x12,0x47,0x8e,
+0x80,0x28,0xbe,0x60,0xe, 0x40,0x10,0xbe,0x60,0x1b,0x38,0xb, 0xa, 0x56,0x2e,0x54,
+0x0, 0x9, 0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x1c,0x40,0xb, 0xa, 0x56,0x2e,0x54,
+0x0, 0x15,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x38,0xba,
+0x22,0x6c,0x77,0x80,0x2d,0x12,0x47,0xa0,0xbe,0x60,0x11,0x40,0x10,0xbe,0x60,0x1e,
+0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x6, 0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x1f,
+0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x11,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,
+0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x8, 0x12,0x47,0xa0,0x12,0x47,
+0x98,0xb, 0x70,0xbc,0x37,0x38,0xf4,0x22,0xa, 0x56,0x2e,0x54,0x0, 0xa, 0x7c,0x2b,
+0x7d,0x50,0x2d,0x52,0x7a,0x59,0x20,0x22,0x7d,0x50,0x2d,0x52,0x7a,0x59,0x60,0x22,
+0xa, 0x7, 0x7d,0x50,0x2d,0x54,0x7a,0xb1,0x82,0x7a,0xa1,0x83,0xe4,0x93,0x7c,0x6b,
+0x22,0x7e,0x4, 0x0, 0x76,0x6d,0x11,0xe4,0x7a,0x9, 0xb0,0xb, 0x4, 0xb, 0x14,0xbe,
+0x14,0x0, 0x1c,0x78,0xf2,0x7e,0x4, 0x2, 0xb6,0x6d,0x11,0xe4,0x7a,0x9, 0xb0,0xb,
+0x4, 0xb, 0x14,0xbe,0x14,0x0, 0x17,0x78,0xf2,0x6d,0x11,0x12,0x4b,0x6e,0x2e,0x34,
+0x0, 0x7a,0x12,0x4b,0x6b,0x2e,0x34,0x2, 0xb6,0x12,0x4b,0x6b,0x2e,0x34,0x2, 0xc0,
+0x12,0x4b,0x59,0xb, 0x14,0xbe,0x14,0x0, 0x2, 0x40,0xe0,0x74,0x2, 0x7a,0xb3,0x0,
+0x68,0x74,0xa, 0x7a,0xb3,0x0, 0x69,0x7e,0x34,0x0, 0xc7,0x7a,0x37,0x0, 0x6a,0x7e,
+0x34,0x0, 0xc6,0x7a,0x37,0x0, 0x6c,0x7e,0x34,0x0, 0x31,0x7a,0x37,0x0, 0x70,0xc2,
+0x4, 0x75,0xd, 0x0, 0x75,0x1a,0x0, 0xc2,0x5, 0x75,0xb, 0x0, 0x12,0x48,0x45,0x7e,
+0x24,0x7, 0xd0,0x7a,0x27,0x0, 0x74,0x7a,0x37,0x0, 0x9c,0xe4,0x7a,0xb3,0x2, 0xd2,
+0x7a,0xb3,0xb, 0x37,0x22,0x6d,0x33,0x7a,0x37,0x2, 0xd0,0x22,0x12,0x48,0x45,0x7e,
+0x34,0x3, 0xe8,0x7a,0x37,0x0, 0x74,0x2, 0x48,0x5a,0x7e,0x34,0xb, 0x63,0x7e,0xb3,
+0xb, 0xc2,0x20,0xe0,0x2, 0x21,0x19,0x54,0xfe,0x7a,0xb3,0xb, 0xc2,0x7e,0x39,0x50,
+0x7a,0x53,0x3, 0x4b,0x12,0x49,0x1a,0x3e,0x24,0x3e,0x24,0x7a,0x27,0x3, 0x49,0xbe,
+0x24,0x2, 0x26,0x50,0x8, 0x7e,0x24,0x2, 0x26,0x7a,0x27,0x3, 0x49,0x9, 0x53,0x0,
+0x5, 0x7a,0x53,0x0, 0xa0,0x12,0x49,0x1a,0x7a,0x27,0x0, 0x9e,0x9, 0x53,0x0, 0x25,
+0xa, 0x25,0x7a,0x27,0x0, 0x92,0x9, 0x53,0x0, 0x6, 0x7a,0x53,0x0, 0x94,0x9, 0x53,
+0x0, 0x8, 0x7a,0x53,0x0, 0x96,0xbe,0x50,0xf, 0x40,0x6, 0x74,0xe, 0x19,0xb3,0x0,
+0x8, 0x9, 0x53,0x0, 0x8, 0xa, 0x25,0x2e,0x24,0x4, 0xfb,0x7a,0x51,0x82,0x7a,0x41,
+0x83,0xe4,0x93,0x7a,0xb3,0x0, 0x95,0x9, 0x53,0x0, 0x9, 0x7a,0x53,0x0, 0x98,0x7a,
+0x53,0x0, 0x97,0x9, 0x53,0x0, 0x24,0x7a,0x53,0x0, 0x9a,0x9, 0x53,0x0, 0x2d,0x7a,
+0x53,0xd, 0x3f,0x9, 0xb3,0x0, 0x2e,0x7a,0xb3,0x3, 0x34,0xb4,0x1, 0x5, 0xe4,0x7a,
+0xb3,0x3, 0x34,0x7e,0xa3,0xb, 0xb3,0xbe,0xa3,0x0, 0xa1,0x68,0xc, 0x4c,0xaa,0x74,
+0x5, 0x7a,0xb3,0x0, 0x99,0x7a,0xa3,0x0, 0xa1,0x22,0xa, 0x25,0x3e,0x24,0x3e,0x24,
+0x3e,0x24,0x3e,0x24,0x22,0x12,0x49,0xe0,0x12,0x49,0xa1,0x12,0x37,0xd1,0x12,0x4a,
+0xa4,0x12,0x4a,0xf0,0x74,0x1, 0x7a,0xb3,0xb, 0x9f,0x7e,0xb3,0xb, 0x9f,0x24,0xfd,
+0x68,0x11,0x24,0xae,0x68,0x32,0x24,0xab,0x68,0xe, 0x24,0xa9,0x78,0xec,0x12,0x11,
+0x6d,0x80,0xe7,0x12,0x1f,0xe, 0x80,0xe2,0x12,0x48,0x45,0x7e,0x24,0x1, 0xf4,0x7a,
+0x27,0x0, 0x74,0x7e,0xb3,0x2, 0xd2,0xbe,0xb0,0xaa,0x68,0xce,0x7a,0x37,0x0, 0x9c,
+0x74,0xaa,0x7a,0xb3,0x2, 0xd2,0x80,0xc2,0x12,0x48,0x45,0x7e,0x34,0x1, 0xf4,0x7a,
+0x37,0x0, 0x74,0x7e,0xb3,0x2, 0xd2,0xb4,0xaa,0xb0,0x74,0x55,0x7a,0xb3,0x2, 0xd2,
+0x7e,0x74,0x3, 0xe8,0x7d,0x37,0x1b,0x74,0x4d,0x33,0x78,0xf8,0x75,0xe9,0xff,0x80,
+0x99,0x12,0x49,0xc9,0x12,0x0, 0x17,0x12,0x49,0xef,0xc2,0x0, 0xc2,0x2, 0x22,0xc2,
+0x8e,0xe5,0x89,0x54,0xf, 0x44,0x20,0xf5,0x89,0x75,0x8d,0x1, 0x75,0x8b,0x0, 0xd2,
+0x8e,0xd2,0xab,0xa9,0xc3,0xb7,0xd2,0xbb,0x22,0xe4,0x12,0x4a,0x69,0x12,0x4a,0x30,
+0x12,0x4a,0x3c,0x74,0x1, 0x2, 0x49,0xd8,0x70,0x3, 0xc2,0xaf,0x22,0xd2,0xaf,0x22,
+0x6d,0x33,0x7a,0x37,0x2, 0xd0,0x7e,0x34,0x7, 0xd0,0x7a,0x37,0x0, 0x74,0x22,0x7e,
+0x18,0x0, 0x54,0x74,0xf, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0x8, 0x3, 0xe8,0x12,0x4,
+0x59,0xbe,0x18,0xf, 0xff,0x28,0x4, 0x7e,0x18,0xf, 0xff,0xd2,0xc8,0xa9,0xc0,0xcd,
+0xc2,0xaf,0xa9,0xd0,0x9e,0x7c,0xb6,0xf5,0x9d,0xa9,0xd0,0x9e,0x7c,0xb7,0xf5,0x9c,
+0x12,0x4a,0x28,0xc2,0xa8,0xd2,0xaf,0x22,0xc2,0x88,0xd2,0xb8,0xa9,0xd0,0xb7,0x22,
+0x75,0xeb,0x3, 0xa9,0xd6,0xac,0xa9,0xd6,0xec,0xd2,0x86,0x22,0xa9,0xd1,0x99,0x75,
+0x9a,0xfe,0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0xa9,0xd6,0xeb,0x70,0xf, 0xa9,0xc6,0xac,
+0xa9,0xc6,0xec,0xa9,0xd7,0xcd,0xc2,0x96,0xc2,0x95,0x80,0x7, 0xa9,0xd4,0xcd,0xd2,
+0x96,0xd2,0x95,0x12,0x4a,0x28,0xd2,0xa8,0x22,0xd2,0xcf,0xbe,0xb0,0x7, 0x38,0x4,
+0x7c,0xab,0x80,0x2, 0x6c,0xaa,0x43,0xcb,0x8e,0x4e,0xa0,0x30,0x7a,0xa1,0xcc,0x0,
+0x0, 0x0, 0x0, 0xa9,0xd0,0xca,0xa9,0xc5,0xcb,0x53,0xca,0xf1,0x43,0xca,0xe, 0x75,
+0xcf,0x4, 0xc2,0xcc,0xd2,0xcb,0xc2,0xca,0xc2,0xc9,0xc2,0xc8,0xa9,0xc6,0xcb,0x0,
+0x0, 0x0, 0x0, 0x22,0xe4,0x7a,0xb3,0x3, 0x34,0x74,0x1, 0x7a,0xb3,0x3, 0x42,0x74,
+0x7, 0x7a,0xb3,0x3, 0x41,0x74,0xf, 0x7a,0xb3,0x3, 0x38,0x7a,0xb3,0x3, 0x39,0x74,
+0x3f,0x7a,0xb3,0x3, 0x36,0x74,0x12,0x7a,0xb3,0x3, 0x3a,0x7a,0xb3,0x3, 0x3b,0x74,
+0x3f,0x7a,0xb3,0x3, 0x37,0x74,0x10,0x7a,0xb3,0x3, 0x3c,0x7a,0xb3,0x3, 0x3d,0x74,
+0x5, 0x7a,0xb3,0x3, 0x35,0x74,0x3, 0x7a,0xb3,0x3, 0x40,0x7a,0xb3,0x3, 0x3f,0x22,
+0x6d,0x22,0x7a,0x27,0xc, 0x7c,0x7e,0x34,0x1, 0x8e,0x7a,0x37,0xc, 0x7e,0x7a,0x27,
+0xc, 0x80,0x7a,0x37,0xc, 0x82,0x7e,0x14,0x0, 0x84,0x7a,0x17,0xc, 0x85,0x7e,0x14,
+0x0, 0xc7,0x7a,0x17,0xc, 0x87,0x74,0x64,0x7a,0xb3,0xc, 0x84,0x7e,0x14,0x0, 0x96,
+0x7a,0x17,0xc, 0x89,0x7a,0x27,0xc, 0xa0,0x7a,0x37,0xc, 0xa2,0x7a,0x27,0xc, 0xa4,
+0x7a,0x37,0xc, 0xa6,0x74,0x50,0x7a,0xb3,0xc, 0x9e,0x74,0x1e,0x7a,0xb3,0xc, 0x9f,
+0x74,0x3, 0x7a,0xb3,0xc, 0xa8,0x74,0x32,0x7a,0xb3,0xc, 0xa9,0x74,0xf, 0x7a,0xb3,
+0xc, 0xaa,0x74,0x50,0x7a,0xb3,0xc, 0xab,0x22,0x7e,0x24,0x7f,0xff,0x1b,0x38,0x20,
+0x59,0x23,0x0, 0x2, 0x74,0xff,0x19,0xb3,0x0, 0x4, 0x22,0x12,0x4b,0x59,0x7e,0x34,
+0x0, 0x5, 0xad,0x31,0x22,0xbe,0xb0,0x5e,0x38,0x2e,0xbe,0xb0,0x26,0x68,0x29,0xbe,
+0xb0,0x2f,0x68,0x24,0xbe,0xb0,0x23,0x68,0x1f,0xbe,0xb0,0x28,0x68,0x1a,0xbe,0xb0,
+0x21,0x68,0x15,0xbe,0xb0,0x22,0x68,0x10,0xa, 0x2b,0x19,0x72,0xb, 0x63,0x7e,0xb3,
+0xb, 0xc2,0x44,0x1, 0x7a,0xb3,0xb, 0xc2,0x22,0xca,0x79,0x7c,0x6b,0x24,0x0, 0x78,
+0x75,0x7e,0x74,0xc, 0xd6,0x7a,0x79,0x70,0x5e,0x70,0x70,0x7c,0xb7,0xc4,0x54,0xf,
+0x7c,0x7b,0xbe,0x70,0x4, 0x68,0x47,0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x20,0xa5,0xbf,
+0x1, 0x6, 0x74,0x2, 0x6c,0x77,0x80,0x5c,0xa5,0xbf,0x0, 0x7, 0x74,0x2, 0x7e,0x70,
+0x1, 0x80,0x51,0xa5,0xbf,0x3, 0x68,0x74,0x2, 0x7e,0x70,0x4, 0x80,0x46,0xa5,0xbf,
+0x1, 0x6, 0x74,0x3c,0x6c,0x77,0x80,0x29,0xa5,0xbf,0x4, 0x7, 0x74,0x3c,0x7e,0x70,
+0x3, 0x80,0x1e,0xa5,0xbf,0x3, 0x48,0x74,0x3c,0x7e,0x70,0x4, 0x80,0x13,0x7e,0xb3,
+0xb, 0x9f,0xb4,0x3, 0x7, 0x74,0x2, 0x7e,0x70,0x3, 0x80,0x18,0x74,0x3c,0x7e,0x70,
+0x3, 0x12,0x4b,0x75,0x80,0x29,0xbe,0x60,0xa, 0x50,0xe, 0x7e,0xb3,0xb, 0x9f,0xb4,
+0x3, 0x1d,0x7c,0xb6,0x12,0x35,0x35,0x80,0x16,0xbe,0x60,0xa, 0x40,0x11,0xbe,0x60,
+0xaf,0x38,0xc, 0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x5, 0x7c,0xb6,0x12,0x35,0x47,0xda,
+0x79,0x22,0x74,0x17,0x7a,0xb3,0xb, 0x63,0x74,0xa0,0x7a,0xb3,0xb, 0x68,0xe4,0x7a,
+0xb3,0xb, 0x69,0x74,0x5, 0x7a,0xb3,0xb, 0x6a,0x74,0xe, 0x7a,0xb3,0xb, 0x6b,0x74,
+0x5a,0x7a,0xb3,0xb, 0x6c,0x74,0xe, 0x7a,0xb3,0xb, 0x86,0x74,0x1, 0x7a,0xb3,0xb,
+0x87,0xe4,0x7a,0xb3,0xb, 0x88,0x74,0x1, 0x7a,0xb3,0xb, 0x89,0x7a,0xb3,0xb, 0x9f,
+0x74,0xa1,0x7a,0xb3,0xb, 0x8b,0xe4,0x7a,0xb3,0xb, 0x8c,0x74,0x2, 0x7a,0xb3,0xb,
+0x92,0xe4,0x7a,0xb3,0xb, 0x91,0x7a,0xb3,0xb, 0x90,0x7a,0xb3,0xd, 0x3f,0x7a,0xb3,
+0xb, 0xb3,0x74,0x3f,0x7a,0xb3,0xb, 0xb4,0xe4,0x7a,0xb3,0xb, 0x93,0x7a,0xb3,0xb,
+0x9e,0x7a,0xb3,0xb, 0x79,0x7e,0x34,0x5, 0xdc,0x7a,0x37,0x3, 0x49,0x74,0x17,0x7a,
+0xb3,0x3, 0x4b,0x12,0x4d,0x11,0x12,0x4d,0x9, 0x7a,0xb3,0x0, 0x94,0x74,0x7, 0x7a,
+0xb3,0x0, 0x95,0x74,0xe, 0x7a,0xb3,0x0, 0x96,0x74,0x5a,0x7a,0xb3,0x0, 0x97,0x7a,
+0xb3,0x0, 0x98,0x74,0x5, 0x7a,0xb3,0x0, 0x99,0x74,0x1, 0x7a,0xb3,0x0, 0x9a,0xe4,
+0x7a,0xb3,0x0, 0x9b,0x7a,0xb3,0x0, 0xa1,0x22,0x6d,0x33,0x7a,0x37,0x0, 0x92,0xe4,
+0x22,0x7e,0x34,0xa, 0x0, 0x7a,0x37,0x0, 0x9e,0x74,0xa0,0x7a,0xb3,0x0, 0xa0,0x22,
+0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,0xca,0x1b,0xca,0xb, 0xc0,0xd0,
+0xc0,0x83,0xc0,0x82,0x12,0x33,0x29,0x74,0x1, 0x7a,0xb3,0xc, 0xd1,0xd0,0x82,0xd0,
+0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,
+0x7b,0x32,0xca,0xb8,0xa9,0xc0,0x93,0xe4,0x7a,0xb3,0xc, 0xd0,0x7a,0xb3,0xc, 0xd2,
+0xda,0xb8,0x32,0x6c,0xaa,0x74,0xff,0xa, 0x4a,0x19,0xb4,0xc, 0xac,0x19,0xb4,0xc,
+0xbe,0xb, 0xa0,0xbe,0xa0,0x12,0x40,0xed,0x22,0xa9,0xd5,0xea,0xa9,0xc4,0xcb,0x75,
+0xa6,0x0, 0xa9,0xc1,0xcd,0x22,0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,
+0xca,0x1b,0xca,0xb, 0xc0,0xd0,0xc0,0x83,0xc0,0x82,0x12,0x4d,0xd1,0x7e,0xb3,0xc,
+0xd6,0x54,0xfd,0x7a,0xb3,0xc, 0xd6,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xd2,
+0xaf,0xc2,0x95,0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,0x4d,0x79,0xd0,0x82,0xd0,0x83,
+0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,0x7b,
+0x32,0xe5,0x9a,0x60,0x5, 0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0xa9,0xd4,0xcb,0x75,0xa6,
+0x10,0xa9,0xd1,0xcd,0xa9,0xc5,0xea,0x22,0xd2,0xce,0x75,0x92,0x70,0xd2,0xad,0xd2,
+0xe8,0xc2,0xc0,0xa9,0xd0,0xf7,0xd2,0xf8,0xa9,0xd5,0xb7,0xd2,0xbd,0x22,0xca,0x7b,
+0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,0xca,0x1b,0xca,0xb, 0xc0,0xd0,0xc0,0x83,
+0xc0,0x82,0x7e,0x35,0x1d,0xb, 0x34,0x7a,0x35,0x1d,0x7e,0x4, 0x0, 0xa, 0x7d,0x13,
+0x8d,0x10,0x4d,0x0, 0x78,0x38,0x7e,0xb3,0x9, 0x6b,0xbe,0xb0,0x0, 0x28,0x5, 0x14,
+0x7a,0xb3,0x9, 0x6b,0x7e,0xb3,0xd, 0x2c,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,
+0xd, 0x2c,0x7e,0xb3,0xd, 0x35,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x35,
+0x7e,0xb3,0xd, 0x2b,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x2b,0x7e,0xb3,
+0x6, 0xda,0x60,0x5, 0x14,0x7a,0xb3,0x6, 0xda,0xbe,0x34,0x3, 0xe8,0x40,0xe, 0x6d,
+0x33,0x7a,0x35,0x1d,0xe5,0xb, 0xbe,0xb0,0x64,0x50,0x2, 0x5, 0xb, 0x7e,0x37,0x2,
+0xd0,0xb, 0x34,0x7a,0x37,0x2, 0xd0,0x7e,0x37,0x0, 0x74,0xbe,0x37,0x2, 0xd0,0x28,
+0x3, 0x12,0x0, 0x27,0x7e,0xb3,0xb, 0x9f,0xb4,0xaa,0x18,0x7e,0x37,0x0, 0x9c,0x7d,
+0x23,0xb, 0x24,0x7a,0x27,0x0, 0x9c,0xbe,0x34,0x1, 0x2c,0x28,0x6, 0x74,0x1, 0x7a,
+0xb3,0xb, 0x9f,0xe5,0x1a,0xbe,0xb1,0xd, 0x28,0x4, 0x5, 0xd, 0x80,0x2, 0xd2,0x5,
+0x7e,0xb3,0xc, 0xd1,0x60,0xf, 0xbe,0xb0,0x28,0x50,0x7, 0x4, 0x7a,0xb3,0xc, 0xd1,
+0x80,0x3, 0x12,0x34,0xf5,0xd0,0x82,0xd0,0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,
+0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,0x7b,0x32,0x53,0xc8,0xc1,0x53,0xcb,0x10,
+0x22,0x7e,0x73,0x6, 0xc6,0xa, 0x37,0x1e,0x34,0x7a,0x73,0xd, 0x3d,0xa, 0x37,0x1e,
+0x34,0x7a,0x73,0xd, 0x3e,0x22,0xd2,0xc9,0xa, 0x56,0xf5,0xf1,0x7c,0xb7,0xf5,0xf2,
+0x75,0xf3,0x80,0x75,0xf4,0x0, 0x75,0xf5,0x83,0xa9,0x37,0xf5,0xfc,0xa9,0x36,0xf5,
+0xfc,0xe5,0xf6,0x43,0xfa,0x80,0xc2,0xc9,0x22,0x7e,0x24,0x12,0xa, 0xb, 0x28,0x30,
+0x5e,0x70,0xf, 0x1b,0x28,0x30,0xb, 0x28,0x30,0x4e,0x70,0x80,0x1b,0x28,0x30,0x7e,
+0xb3,0x6, 0xcb,0xc4,0x23,0x7c,0x7b,0x5e,0x70,0x7, 0xa5,0xbf,0x0, 0x5, 0x7e,0xa0,
+0x2, 0x80,0x32,0xa5,0xbf,0x1, 0x13,0x7e,0xb3,0x6, 0xc9,0x1e,0xb0,0x54,0x3, 0x68,
+0x4, 0x6c,0xaa,0x80,0x20,0x7e,0xa0,0x3, 0x80,0x1b,0xa5,0xbf,0x3, 0x5, 0x7e,0xa0,
+0x6, 0x80,0x12,0x7e,0xb3,0x6, 0xc9,0x1e,0xb0,0x54,0x3, 0x68,0x5, 0x7e,0xa0,0x1,
+0x80,0x3, 0x7e,0xa0,0x5, 0xa, 0x1a,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x2,
+0x37,0x1a,0x7e,0x24,0x12,0x2, 0xb, 0x28,0x30,0x5e,0x60,0xc0,0x1b,0x28,0x30,0x7e,
+0x73,0x6, 0xc8,0x7c,0x27,0x6c,0x33,0x12,0x37,0x1a,0x6c,0x11,0x80,0xb, 0xa, 0x31,
+0x9, 0x3, 0x6, 0x68,0xa, 0x20,0x12,0x5b,0x77,0x7e,0x3, 0x6, 0xc8,0xbc,0x1, 0x38,
+0xed,0x7c,0x10,0x80,0x9, 0x7e,0x24,0x0, 0x3f,0xa, 0x31,0x12,0x5b,0x77,0xbe,0x10,
+0x2e,0x40,0xf2,0x6d,0x22,0x7e,0x34,0x13,0x16,0x1b,0x38,0x20,0x7e,0x34,0x13,0x18,
+0x1b,0x38,0x20,0x7e,0x34,0x13,0x1a,0x1b,0x38,0x20,0x7e,0x34,0x13,0x1c,0x1b,0x38,
+0x20,0x6c,0x11,0x80,0xd, 0xa, 0x31,0x9, 0x3, 0x6, 0x68,0x7c,0xb0,0x12,0x50,0x19,
+0xb, 0x10,0x7e,0x73,0x6, 0xc8,0xbc,0x71,0x38,0xeb,0x7e,0xb3,0x6, 0xd7,0x30,0xe2,
+0x7, 0x7e,0xb3,0x6, 0xd5,0x2, 0x50,0x19,0x22,0x7c,0x7b,0xc4,0x54,0xf, 0x7c,0xab,
+0xa, 0x37,0x7e,0x24,0x0, 0x10,0x12,0x3, 0xba,0x7c,0x75,0x7e,0x14,0x0, 0x1, 0x7c,
+0xb7,0x60,0x5, 0x3e,0x14,0x14,0x78,0xfb,0xa, 0x2a,0x3e,0x24,0x2e,0x24,0x13,0x16,
+0x2, 0x37,0x1a,0xca,0x1b,0xca,0x19,0xc2,0xee,0xc2,0xc6,0x30,0xb, 0x6, 0x7e,0x34,
+0x0, 0x1, 0x80,0x4, 0x7e,0x34,0x0, 0x2, 0x7e,0x14,0x12,0x6, 0xb, 0x18,0x20,0x5d,
+0x23,0x68,0x7, 0x6d,0x22,0x1b,0x18,0x20,0xd2,0xa, 0xd2,0xee,0xda,0x19,0xda,0x1b,
+0x32,0x7e,0xb3,0x6, 0xd7,0x20,0xe1,0x62,0x12,0x50,0xdb,0x80,0x55,0xa, 0x2a,0x9,
+0x52,0x6, 0x96,0x7e,0x90,0x4, 0xac,0x95,0x49,0x14,0x3, 0x5e,0x49,0x4, 0x3, 0x5c,
+0xbe,0x8, 0x3a,0xc0,0x8, 0x20,0x7e,0xb3,0xc, 0x1f,0x7e,0x44,0x0, 0x1, 0x60,0x5,
+0x3e,0x44,0x14,0x78,0xfb,0x7e,0x10,0x2, 0xac,0x15,0x2e,0x4, 0xb, 0xc3,0xb, 0x8,
+0x10,0x4d,0x14,0x1b,0x8, 0x10,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x51,0x34,0x60,
+0xf, 0x7e,0x30,0x2, 0xac,0x35,0x49,0x1, 0xb, 0xc3,0x12,0x51,0x2c,0x1b,0x18,0x0,
+0xb, 0xa0,0x7e,0x43,0x6, 0xc8,0xbc,0x4a,0x38,0xa3,0x22,0x7e,0x37,0x6, 0xd8,0x6c,
+0xaa,0x22,0x7e,0xb3,0x6, 0xd7,0x20,0xe1,0x42,0x12,0x50,0xdb,0x80,0x35,0xa, 0x2a,
+0x9, 0x52,0x6, 0x96,0x12,0x51,0x2c,0xb, 0x18,0x40,0x7e,0xb3,0xc, 0x1f,0x7e,0x14,
+0x0, 0x1, 0x60,0x5, 0x3e,0x14,0x14,0x78,0xfb,0x4d,0x41,0x7e,0xb3,0x6, 0x4d,0x60,
+0x5, 0x12,0x51,0x34,0x60,0xb, 0xa, 0x1a,0x3e,0x14,0x2e,0x14,0x12,0x14,0x1b,0x18,
+0x40,0xb, 0xa0,0x7e,0x43,0x6, 0xc8,0xbc,0x4a,0x38,0xc3,0x22,0x7e,0x30,0x2, 0xac,
+0x35,0x2d,0x13,0x22,0xa, 0x15,0x2e,0x17,0x6, 0x4e,0x7e,0x19,0xb0,0x22,0xca,0x3b,
+0x12,0xe, 0xaf,0x7c,0xeb,0x4c,0xee,0x78,0x2, 0x61,0x5c,0x7e,0x7f,0x0, 0xa2,0x7e,
+0x34,0x38,0x80,0x7e,0x24,0x0, 0x1, 0xbf,0x71,0x28,0x5, 0x7e,0x80,0xa, 0x80,0x2a,
+0x7e,0x34,0x11,0x70,0x7e,0x24,0x0, 0x1, 0xbf,0x71,0x28,0x5, 0x7e,0x80,0x6, 0x80,
+0x19,0xbe,0x78,0xea,0x60,0x28,0x5, 0x7e,0x80,0x4, 0x80,0xe, 0xbe,0x78,0xc3,0x50,
+0x28,0x5, 0x7e,0x80,0x2, 0x80,0x3, 0x7e,0x80,0x1, 0xa, 0xf8,0x6d,0xee,0x7e,0xd4,
+0x0, 0xf, 0x7f,0x17,0x7d,0x1d,0x12,0x3, 0xfd,0x7f,0x7, 0x12,0x3, 0xec,0x7d,0x1d,
+0x12,0x3, 0xfd,0x7f,0x61,0x6c,0x99,0x7e,0xa0,0x5, 0x7c,0xd9,0xac,0xda,0x9, 0xb6,
+0x2, 0xba,0x7c,0xfb,0xbe,0xf0,0x2, 0x50,0x25,0xa, 0x3f,0x9, 0xb3,0x3, 0x4e,0x70,
+0x1d,0x49,0x6, 0x2, 0xb6,0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x5, 0xb, 0x53,0x49,0x26,
+0x2, 0xb8,0x59,0x25,0xb, 0x55,0x59,0x5, 0xb, 0x5b,0x59,0x25,0xb, 0x5d,0xb, 0x90,
+0xbe,0x90,0x2, 0x78,0xc2,0x6c,0x99,0x61,0x56,0x7e,0xa0,0x5, 0x7c,0x39,0xac,0x3a,
+0x9, 0xb1,0x2, 0xba,0x7c,0xfb,0xbe,0xf0,0x2, 0x40,0x2, 0x61,0x54,0x7e,0xa0,0x4,
+0x7c,0xdf,0xac,0xda,0x49,0x26,0xb, 0x53,0x49,0x31,0x2, 0xb6,0x9d,0x32,0x7d,0xa3,
+0x49,0x26,0xb, 0x55,0x49,0x31,0x2, 0xb8,0x9d,0x32,0x7d,0xb3,0x7d,0x1b,0x12,0x53,
+0x5f,0x7f,0x71,0x7d,0x1a,0x1a,0x2, 0x1a,0x0, 0x7d,0x3a,0x12,0x53,0x63,0x2f,0x17,
+0x7a,0x1f,0xa, 0x3, 0x49,0x26,0xb, 0x5b,0x12,0x53,0x7c,0x9d,0x32,0x7a,0x37,0x9,
+0xfd,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x25,0xb, 0x5d,0x12,0x53,0x72,0x9d,0x32,0x7d,
+0x63,0x7d,0x16,0x12,0x53,0x5f,0x7f,0x71,0x7e,0x27,0x9, 0xfd,0x7d,0x12,0x1a,0x2,
+0x1a,0x0, 0x7f,0x10,0x12,0x3, 0xec,0x2f,0x17,0x7a,0x1f,0x9, 0xff,0x7e,0xa0,0x5,
+0xac,0xa9,0x49,0x25,0x2, 0xb6,0xbe,0x24,0x0, 0x1e,0x40,0x1b,0xbe,0x24,0x1, 0x70,
+0x38,0x15,0x7e,0xa0,0x5, 0xac,0xa9,0x49,0x25,0x2, 0xb8,0xbe,0x24,0x0, 0x1e,0x40,
+0x6, 0xbe,0x24,0x1, 0x70,0x28,0x20,0xa, 0x98,0x6d,0x88,0x7e,0xf4,0x0, 0x6, 0x12,
+0x53,0xa1,0x7e,0x84,0x0, 0xb, 0x7d,0x18,0x12,0x3, 0xfd,0x12,0x53,0x86,0x7d,0x18,
+0x12,0x3, 0xfd,0x7f,0x41,0x80,0x1c,0xa, 0x98,0x6d,0x88,0x7e,0xf4,0x0, 0x5, 0x12,
+0x53,0xa1,0x2f,0x11,0x2f,0x11,0x2f,0x11,0x12,0x53,0x86,0x2f,0x11,0x2f,0x11,0x2f,
+0x11,0x7f,0x41,0x7e,0x1f,0x9, 0xff,0xbf,0x16,0x38,0x4b,0x7e,0xf, 0xa, 0x7, 0x7e,
+0x7f,0xa, 0x3, 0xbf,0x70,0x38,0x12,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x35,0xb, 0x53,
+0x12,0x53,0x92,0x49,0x35,0xb, 0x55,0x80,0x22,0xbf,0x74,0x38,0x3f,0x7e,0xa0,0x4,
+0xac,0xaf,0x49,0x15,0xb, 0x53,0x7e,0x4, 0x0, 0x2, 0x7d,0x3a,0x12,0x53,0x6a,0x12,
+0x53,0x92,0x49,0x15,0xb, 0x55,0x7d,0x3b,0x12,0x53,0x6a,0x7e,0xa0,0x5, 0xac,0xa9,
+0x59,0x35,0x2, 0xb8,0x80,0x16,0x7e,0x24,0x7f,0xff,0x7e,0xa0,0x4, 0xac,0xaf,0x59,
+0x25,0xb, 0x5b,0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x25,0xb, 0x5d,0x12,0x53,0x7c,0x7e,
+0xa0,0x4, 0xac,0xaf,0x59,0x35,0xb, 0x53,0x12,0x53,0x72,0x7e,0xa0,0x4, 0xac,0xaf,
+0x59,0x35,0xb, 0x55,0xb, 0x90,0xbc,0xe9,0x28,0x2, 0x21,0xe9,0xda,0x3b,0x22,0x1a,
+0x2, 0x1a,0x0, 0x1a,0x26,0x1a,0x24,0x2, 0x3, 0xec,0x7d,0x20,0x12,0x3, 0xba,0x2d,
+0x31,0x22,0x7e,0xa0,0x5, 0xac,0xa9,0x49,0x35,0x2, 0xb8,0x22,0x7e,0xa0,0x5, 0xac,
+0xa9,0x49,0x35,0x2, 0xb6,0x22,0xa, 0x18,0x6d,0x0, 0x12,0x3, 0xec,0x7f,0x1, 0x2f,
+0x10,0x22,0x7e,0xa0,0x5, 0xac,0xa9,0x59,0x35,0x2, 0xb6,0x7e,0xa0,0x4, 0xac,0xaf,
+0x22,0x7f,0x14,0x7d,0x1f,0x12,0x3, 0xfd,0x7f,0x4, 0x12,0x3, 0xec,0x7f,0x1, 0x2f,
+0x10,0x7d,0x1f,0x12,0x3, 0xfd,0x7a,0x1f,0xa, 0x7, 0xa, 0x38,0x6d,0x22,0x22,0xca,
+0x3b,0x12,0x3c,0x41,0x78,0x24,0x6c,0xff,0xe4,0xa, 0x3f,0x19,0xb3,0xb, 0x27,0x19,
+0xb3,0xb, 0x31,0x19,0xb3,0x3, 0x5a,0x6d,0x33,0x74,0x2, 0xac,0xbf,0x59,0x35,0xb,
+0x33,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xe0,0xe1,0xa1,0x6c,0xff,0x7e,0x50,0x2, 0xac,
+0x5f,0x49,0x32,0x3, 0x52,0xbe,0x34,0x7f,0xff,0x78,0x17,0xe4,0xa, 0x1f,0x19,0xb1,
+0xb, 0x27,0x19,0xb1,0xb, 0x31,0x19,0xb1,0x3, 0x5a,0x6d,0x11,0x59,0x12,0xb, 0x33,
+0x81,0xba,0xa, 0x1f,0x9, 0xb1,0x3, 0x5a,0x60,0x2, 0x81,0xba,0x59,0x32,0xb, 0x29,
+0x49,0x32,0x3, 0x56,0x59,0x32,0xb, 0x2d,0x49,0x32,0xb, 0x29,0x49,0x22,0xb, 0x2d,
+0x74,0x14,0xac,0xbf,0x49,0x15,0xb, 0xb, 0x49,0x5, 0xb, 0xd, 0x12,0xe, 0x7e,0x7a,
+0x37,0xa, 0x1, 0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0xb, 0x49,0x25,0xb, 0xd, 0x49,
+0x15,0xa, 0xff,0x49,0x5, 0xb, 0x1, 0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x3, 0xa, 0x3f,
+0x9, 0x53,0xb, 0x27,0xbe,0x50,0x2, 0x40,0x4c,0x74,0x2, 0xac,0xbf,0x49,0x25,0xb,
+0x29,0xbe,0x24,0x0, 0x18,0x40,0x16,0xbe,0x24,0x1, 0x76,0x38,0x10,0x49,0x25,0xb,
+0x2d,0xbe,0x24,0x0, 0x18,0x40,0x6, 0xbe,0x24,0x1, 0x76,0x28,0xe, 0x7e,0x27,0xa,
+0x1, 0xbe,0x24,0x0, 0x27,0x28,0x4, 0x74,0x1, 0x80,0x1b,0x7e,0x27,0xa, 0x1, 0xbe,
+0x24,0x0, 0x27,0x28,0xd, 0x7e,0x27,0xa, 0x3, 0xbe,0x24,0x0, 0x42,0x28,0x3, 0xe4,
+0x80,0x4, 0xe4,0x80,0x1, 0xe4,0x19,0xb3,0xb, 0x31,0xb, 0xf0,0xbe,0xf0,0x2, 0x68,
+0x2, 0x61,0xec,0x6c,0xff,0xe1,0x9b,0x74,0x5, 0xac,0xbf,0x9, 0xd5,0x2, 0xba,0xa,
+0x3d,0x9, 0xb3,0xb, 0x27,0x70,0x34,0x6c,0xcc,0x7e,0x70,0x5, 0xac,0x7f,0x49,0x13,
+0x2, 0xb6,0x7e,0x10,0x14,0xac,0x1d,0x7e,0x50,0x4, 0xac,0x5c,0x2d,0x20,0x59,0x12,
+0xa, 0xff,0x49,0x33,0x2, 0xb8,0x59,0x32,0xb, 0x1, 0xb, 0xc0,0xbe,0xc0,0x5, 0x78,
+0xd8,0x6d,0x33,0x74,0x2, 0xac,0xbd,0x59,0x35,0xb, 0x33,0xa, 0x3d,0x9, 0xb3,0xb,
+0x27,0xbe,0xb0,0x5, 0x50,0xa, 0xa, 0x3d,0x2e,0x34,0xb, 0x27,0x4, 0x7a,0x39,0xb0,
+0xa, 0x3d,0x9, 0x73,0xb, 0x27,0xbe,0x70,0x1, 0x38,0x2, 0xa1,0xf7,0x12,0x57,0xa4,
+0x60,0x2, 0xa1,0xf7,0x7e,0x90,0x14,0xac,0x9d,0x49,0x34,0xb, 0xf, 0x49,0x54,0xb,
+0xb, 0x2d,0x53,0x7a,0x57,0x9, 0xfd,0x49,0x34,0xb, 0x11,0x49,0x54,0xb, 0xd, 0x2d,
+0x53,0x7a,0x57,0x9, 0xff,0x74,0x5, 0xac,0xbf,0x49,0x15,0x2, 0xb6,0x2e,0x17,0x9,
+0xfd,0x7e,0x24,0x0, 0x3, 0x8d,0x12,0x59,0x15,0x2, 0xb6,0x49,0x35,0x2, 0xb8,0x2e,
+0x37,0x9, 0xff,0x8d,0x32,0x59,0x35,0x2, 0xb8,0x49,0x24,0xb, 0x7, 0x49,0x35,0x2,
+0xb6,0x9d,0x32,0x12,0x0, 0x2e,0x7a,0x37,0x9, 0xfd,0x74,0x14,0xac,0xbd,0x49,0x25,
+0xb, 0x9, 0x74,0x5, 0xac,0xbf,0x49,0x35,0x2, 0xb8,0x9d,0x32,0x12,0x0, 0x2e,0x12,
+0x57,0xdd,0x38,0xa, 0x7e,0x37,0x9, 0xff,0xbe,0x34,0x0, 0x27,0x28,0x1a,0x12,0x57,
+0xc9,0x2e,0x34,0xb, 0x7, 0x2e,0x14,0xb, 0x3, 0x12,0x5a,0xbe,0x59,0x35,0xb, 0x7,
+0x49,0x34,0x2, 0xb8,0x59,0x35,0xb, 0x9, 0x12,0x57,0xc9,0x2e,0x34,0xb, 0xb, 0x2e,
+0x14,0xb, 0xf, 0x12,0x5a,0xbe,0x59,0x35,0xb, 0xb, 0x49,0x44,0x2, 0xb8,0x59,0x45,
+0xb, 0xd, 0x49,0x35,0xb, 0x7, 0x49,0x25,0xb, 0x9, 0x12,0xe, 0x76,0x74,0x2, 0xac,
+0xbd,0x59,0x35,0xb, 0x33,0xe1,0x99,0x12,0x57,0xa4,0x70,0x2, 0xe1,0x99,0xa, 0x3d,
+0x9, 0x73,0xb, 0x27,0xbe,0x70,0x3, 0x50,0x2, 0xe1,0x99,0x12,0x57,0xab,0x70,0x2,
+0xe1,0x99,0x74,0x14,0xac,0xbd,0x49,0x25,0xa, 0xff,0x49,0x35,0xb, 0xb, 0x12,0x57,
+0xc1,0x7a,0x37,0x9, 0xfd,0x74,0x14,0xac,0xbd,0x49,0x25,0xb, 0x1, 0x49,0x35,0xb,
+0xd, 0x12,0x57,0xc1,0x12,0x57,0xdd,0x50,0xc, 0x7e,0x37,0x9, 0xff,0xbe,0x34,0x0,
+0x27,0x50,0x2, 0xe1,0x99,0x74,0x14,0xac,0xbd,0x12,0xe, 0x6e,0xb, 0x34,0x6d,0x22,
+0x7a,0x1f,0xa, 0x11,0x74,0x14,0xac,0xbd,0x49,0x35,0xb, 0x3, 0x49,0x25,0xb, 0x5,
+0x74,0x2, 0xac,0xbd,0x49,0x15,0xb, 0x29,0x49,0x5, 0xb, 0x2d,0x12,0xe, 0x7e,0x6d,
+0x22,0x7a,0x1f,0xa, 0xd, 0x74,0x14,0xac,0xbd,0x49,0x5, 0xb, 0x5, 0x49,0x15,0xb,
+0xd, 0x9d,0x10,0x6d,0x0, 0x7a,0xf, 0xa, 0x9, 0x7d,0x21,0x7e,0xf, 0xa, 0x11,0x12,
+0x57,0xf2,0x7a,0x1f,0xa, 0x9, 0x74,0x14,0xac,0xbd,0x49,0x15,0xb, 0x5, 0x6d,0x0,
+0x7e,0x1f,0xa, 0x9, 0x2f,0x10,0x12,0x57,0xb2,0x9f,0x10,0x7a,0x1f,0xa, 0x9, 0x49,
+0x5, 0xb, 0x3, 0x49,0x15,0xb, 0xb, 0x9d,0x10,0x6d,0x0, 0x7a,0xf, 0xa, 0x5, 0x7e,
+0x1f,0xa, 0xd, 0x7d,0x21,0x7e,0xf, 0xa, 0x11,0x12,0x57,0xf2,0x7a,0x1f,0xa, 0x5,
+0x74,0x14,0xac,0xbd,0x49,0xc5,0xb, 0x3, 0x7d,0x1c,0x6d,0x0, 0x7e,0x1f,0xa, 0x5,
+0x2f,0x10,0x49,0xd5,0xb, 0xb, 0x7d,0xfd,0x6d,0xee,0x9f,0x17,0x7a,0x1f,0xa, 0x5,
+0x12,0x57,0xab,0xb4,0x2, 0x17,0x7e,0x58,0x0, 0x2, 0x7e,0x1f,0xa, 0x5, 0x7f,0x5,
+0x12,0x4, 0x59,0x12,0x27,0xf3,0x7f,0x5, 0x12,0x57,0xb9,0x80,0x27,0x12,0x57,0xab,
+0xb4,0x1, 0x21,0xbd,0xdc,0x50,0xc, 0x7e,0x1f,0xa, 0x5, 0xbe,0x18,0x0, 0x0, 0x8,
+0x13,0x80,0xa, 0x7e,0x1f,0xa, 0x5, 0xbe,0x18,0x0, 0x0, 0x58,0x7, 0x12,0x3c,0x5c,
+0x7a,0x1f,0xa, 0x5, 0x12,0x57,0xa4,0x7e,0x1f,0xa, 0x5, 0xb4,0x1, 0x1d,0x2f,0x11,
+0x7e,0x68,0x0, 0x5, 0x7f,0x6, 0x12,0x4, 0x59,0x7a,0x1f,0xa, 0x5, 0x2f,0x17,0x12,
+0x27,0xf3,0x2f,0x11,0x7f,0x6, 0x12,0x57,0xb9,0x80,0x6, 0x2f,0x17,0x7a,0x1f,0xa,
+0x5, 0x74,0x14,0xac,0xbd,0x12,0x57,0xb2,0x7e,0x1f,0xa, 0x9, 0x2f,0x10,0x7a,0x1f,
+0xa, 0x9, 0x7e,0x1f,0xa, 0x5, 0x12,0x57,0xd1,0x12,0x27,0xf3,0x12,0x57,0xd1,0x7a,
+0x1f,0xa, 0x9, 0x7e,0x1f,0xa, 0x5, 0x7d,0x43,0x74,0x5, 0xac,0xbf,0x59,0x45,0x2,
+0xb6,0x7e,0x1f,0xa, 0x9, 0x59,0x35,0x2, 0xb8,0xb, 0xf0,0xbc,0xef,0x28,0x2, 0x81,
+0xc7,0xda,0x3b,0x22,0xa, 0x3d,0x9, 0xb3,0x3, 0x5a,0x22,0xa, 0x3d,0x9, 0xb3,0xb,
+0x31,0x22,0x49,0x15,0xb, 0xd, 0x6d,0x0, 0x22,0x12,0x4, 0x59,0x7a,0x1f,0xa, 0x9,
+0x22,0x9d,0x32,0x12,0x0, 0x2e,0xb, 0x34,0x22,0x7e,0x30,0x14,0xac,0x3d,0x7d,0x31,
+0x22,0x6d,0x22,0x7e,0x14,0x1, 0x8d,0x12,0x2f,0xf9,0x6d,0x22,0x22,0x7a,0x37,0x9,
+0xff,0x7e,0x37,0x9, 0xfd,0xbe,0x34,0x0, 0x27,0x22,0x7e,0x37,0xa, 0x17,0x7d,0x21,
+0x7d,0x1f,0x12,0x6, 0x3e,0x1a,0x26,0x1a,0x24,0x22,0xca,0xf8,0x7e,0xa3,0xb, 0xb3,
+0x7c,0xba,0x65,0x4e,0x68,0x5, 0xe4,0x7a,0xb3,0xb, 0xb6,0x7a,0xa1,0x4e,0x4c,0xaa,
+0x78,0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x5, 0x12,0x58,0x68,0x80,0x11,0xe4,0x7a,
+0xb3,0x2, 0xca,0x80,0xa, 0x7e,0xb3,0x6, 0x67,0x30,0xe1,0xb, 0x12,0x58,0x68,0x12,
+0x5a,0x3, 0x12,0x5a,0x9, 0x80,0x2e,0x12,0x58,0x76,0x7c,0xfb,0x4c,0xff,0x68,0x25,
+0x7c,0xbf,0x12,0x5a,0x10,0x60,0x1e,0x7e,0x34,0x0, 0x14,0x1b,0x34,0x78,0xfc,0x7e,
+0xb3,0x6, 0x67,0x30,0xe1,0x8, 0x74,0x26,0x7a,0xb3,0xb, 0xb6,0x80,0x7, 0x7a,0xf3,
+0xb, 0xb6,0x75,0x4f,0x1, 0xda,0xf8,0x22,0x74,0x26,0x7a,0xb3,0x2, 0xca,0x7a,0xb3,
+0xb, 0xb6,0x75,0x4f,0x1, 0x22,0xca,0x79,0x6c,0xaa,0x6d,0x44,0x7d,0xf4,0x7e,0x63,
+0x0, 0x90,0x7c,0xf6,0x5e,0xf0,0xf, 0x7c,0xb6,0xc4,0x7c,0xeb,0x5e,0xe0,0xf, 0x7e,
+0xe7,0xd, 0x29,0x1b,0xe4,0x68,0x3c,0x1b,0xe4,0x68,0x6e,0x1b,0xe4,0x78,0x2, 0x21,
+0x74,0x2e,0xe4,0x0, 0x3, 0x68,0x2, 0x21,0x9c,0xbe,0xf0,0x0, 0x38,0x2, 0x21,0xa2,
+0x4c,0xee,0x68,0x2, 0x21,0xa2,0x7e,0xe4,0x0, 0x1, 0x7a,0xe7,0xd, 0x29,0x7a,0xf7,
+0xd, 0x36,0x7a,0x47,0xd, 0x38,0x12,0x59,0xc3,0x7e,0xb3,0xc, 0xab,0x7a,0xb3,0xd,
+0x35,0x21,0x5c,0x4c,0xff,0x78,0x2, 0x80,0x1e,0x12,0x59,0xc3,0x7e,0x37,0xd, 0x36,
+0x7e,0x27,0xd, 0x38,0x12,0x59,0xf9,0xa5,0xbf,0x0, 0x4, 0xd2,0xe, 0x21,0x9c,0x7e,
+0xb3,0xd, 0x2c,0x60,0x2, 0x21,0xa2,0x7e,0x34,0x0, 0x2, 0x7a,0x37,0xd, 0x29,0x7e,
+0xb3,0xc, 0xa9,0x7a,0xb3,0xd, 0x2b,0x21,0xa2,0xbe,0xf0,0x0, 0x28,0x58,0x4c,0xee,
+0x78,0x54,0x7a,0xf7,0xd, 0x31,0x7a,0x47,0xd, 0x33,0x12,0x59,0xc3,0x7e,0xb3,0xc,
+0xa8,0xa, 0x2b,0x7e,0xb3,0xc, 0xa9,0xa, 0x3b,0x9d,0x32,0x7e,0xb3,0xd, 0x2b,0xa,
+0x4b,0xbd,0x43,0x18,0x2, 0x70,0x4, 0xd2,0xe, 0x80,0x61,0x7e,0x37,0xd, 0x36,0x7e,
+0x27,0xd, 0x38,0x7e,0xb3,0xc, 0x9e,0x12,0x59,0xcc,0x7c,0x7b,0xa5,0xbf,0x0, 0x4,
+0xd2,0xe, 0x80,0x48,0x7e,0x34,0x0, 0x3, 0x7a,0x37,0xd, 0x29,0x7e,0xb3,0xc, 0xaa,
+0x7a,0xb3,0xd, 0x2c,0x80,0x3c,0x4c,0xff,0x78,0x38,0x7e,0xb3,0xd, 0x2b,0x70,0x32,
+0xd2,0xe, 0x80,0x2e,0x4c,0xff,0x78,0x10,0x7e,0xb3,0xd, 0x2c,0x70,0x4, 0xd2,0xe,
+0x80,0x1a,0x7e,0x34,0x0, 0x4, 0x80,0x16,0x12,0x59,0xc3,0x7e,0x37,0xd, 0x31,0x7e,
+0x27,0xd, 0x33,0x12,0x59,0xf9,0xa5,0xbf,0x0, 0x8, 0xd2,0xe, 0x6d,0x33,0x7a,0x37,
+0xd, 0x29,0x7e,0x37,0xd, 0x29,0xbe,0x34,0x0, 0x2, 0x78,0x12,0x7e,0xa0,0x25,0x6d,
+0x33,0x7a,0x37,0xd, 0x29,0xe4,0x7a,0xb3,0xd, 0x35,0x7a,0xb3,0xd, 0x2c,0x7c,0xba,
+0xda,0x79,0x22,0x7a,0xf7,0xd, 0x2d,0x7a,0x47,0xd, 0x2f,0x22,0x7d,0x13,0xa, 0x3b,
+0x7d,0x3, 0x2e,0x7, 0xd, 0x2d,0xbd,0x1, 0x40,0x1d,0x2d,0x13,0xbe,0x17,0xd, 0x2d,
+0x40,0x15,0x7d,0x13,0x2e,0x17,0xd, 0x2f,0xbd,0x12,0x40,0xb, 0x2d,0x32,0xbe,0x37,
+0xd, 0x2f,0x40,0x3, 0x74,0x1, 0x22,0xe4,0x22,0x7e,0xb3,0xc, 0x9f,0x12,0x59,0xcc,
+0x7c,0x7b,0x22,0xe4,0x7a,0xb3,0x9, 0x62,0x22,0x6d,0x33,0x7a,0x37,0xd, 0x29,0x22,
+0x7c,0xab,0x54,0xf0,0xb4,0x20,0x18,0x7c,0xba,0x54,0xf, 0x7e,0x44,0x0, 0x1, 0x60,
+0x5, 0x3e,0x44,0x14,0x78,0xfb,0x7e,0x73,0xb, 0xb4,0xa, 0x57,0x5d,0x54,0x22,0xe4,
+0x22,0x7d,0x13,0x7e,0x37,0xc, 0xa0,0xbd,0x31,0x50,0x1a,0x7e,0x37,0xc, 0xa2,0xbd,
+0x31,0x28,0x12,0x7e,0x37,0xc, 0xa4,0xbd,0x32,0x50,0xa, 0x7e,0x37,0xc, 0xa6,0xbd,
+0x32,0x28,0x2, 0xe4,0x22,0x74,0x1, 0x22,0x6d,0x0, 0xb, 0xc, 0x7e,0x7f,0xa, 0x9,
+0x7f,0x17,0x12,0x3, 0xec,0x2f,0x14,0x7a,0x1f,0x9, 0xfd,0x7f,0x6, 0x2f,0x5, 0x2f,
+0x7, 0x7a,0xf, 0xa, 0x1, 0x22,0xa, 0xb, 0x7e,0x14,0x0, 0x3, 0x9d,0x10,0x7e,0x91,
+0x27,0x74,0x4, 0xac,0x9b,0x2e,0x44,0x3, 0x5c,0x49,0x34,0x0, 0x2, 0xb, 0x48,0x20,
+0x7c,0xb3,0x22,0x7e,0x24,0x12,0x0, 0xb, 0x28,0x30,0x5e,0x60,0x1f,0x1b,0x28,0x30,
+0x22,0xe5,0x24,0xa, 0x3b,0x3e,0x34,0x2e,0x34,0x10,0x0, 0xb, 0x38,0x70,0x6d,0x66,
+0xe5,0x24,0xa, 0x3b,0x22,0xb, 0x28,0x30,0x4d,0x35,0x1b,0x28,0x30,0x22,0x74,0x4,
+0x12,0x4, 0x8d,0x7e,0x90,0x5, 0xac,0x9f,0x49,0x34,0x2, 0xb6,0x74,0x14,0xac,0xbd,
+0x22,0x7e,0x25,0x33,0x7a,0x27,0x0, 0x50,0x7e,0x25,0x35,0x7a,0x27,0x0, 0x52,0x7a,
+0x37,0x0, 0x54,0x22,0x6d,0x0, 0x1b,0xc, 0x7e,0x5f,0xa, 0x5, 0x7f,0x15,0x12,0x3,
+0xec,0x7f,0x41,0x22,0x7e,0x25,0x22,0x7e,0x37,0xa, 0x9, 0xad,0x32,0x7c,0x76,0x7c,
+0x65,0xa, 0x24,0x22,0x6d,0x0, 0x2f,0x10,0x7e,0x14,0x0, 0x10,0x12,0x3, 0xfd,0x74,
+0x5, 0xac,0xbe,0x22,0x7f,0x13,0x7f,0x6, 0x12,0x3, 0xec,0x7f,0x7, 0x12,0x4, 0x59,
+0x7f,0x1, 0x22,0x7e,0x14,0x0, 0x3, 0x7e,0x1d,0x2a,0x12,0x3, 0xfd,0x7e,0x8, 0x0,
+0x4, 0x22,0x2e,0x18,0x0, 0xf, 0x7e,0x15,0x22,0x12,0x3, 0xfd,0x2f,0x11,0x2f,0x11,
+0x22,0x6d,0x0, 0x7e,0x6f,0xa, 0xd, 0x7f,0x16,0x12,0x3, 0xec,0x2f,0x41,0x22,0x7e,
+0x14,0x0, 0x3, 0x7f,0x13,0x12,0x3, 0xfd,0x7e,0x8, 0x0, 0x8, 0x22,0x7e,0xf, 0xa,
+0xb, 0x7e,0x37,0xa, 0x9, 0x6d,0x22,0x2, 0x3, 0xec,0xa, 0x4b,0x7d,0x24,0x7d,0xf4,
+0x1a,0x24,0x1a,0xe4,0xbf,0x7, 0x22,0x3e,0x34,0x2e,0x34,0x12,0x92,0x1b,0x38,0x20,
+0xb, 0x10,0x22,0xb, 0x48,0x20,0x4d,0x25,0x1b,0x48,0x20,0x7c,0xb7,0x22,0x7f,0x16,
+0x7d,0x1b,0x12,0x3, 0xfd,0x7f,0x7, 0x22,0x70,0x8f,0xff,0x0, 0xa1,0x5e,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43,0x45,0x49,0x5f,0x44,0x48,0x57,0x31,
+0x0, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x30,0x30,0x30,0x30,0x0, 0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1, 0xa1,
\ No newline at end of file
diff --git a/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DHW1_3207_0xA2_app.i b/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DHW1_3207_0xA2_app.i
new file mode 100644
index 0000000..a9c748d
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DHW1_3207_0xA2_app.i
@@ -0,0 +1,1471 @@
+0x2, 0x0, 0x76,0x2, 0x4d,0x86,0x22,0x22,0x22,0x22,0x32,0x2, 0x0, 0xa, 0x7f,0x71,
+0x7e,0x8, 0x0, 0x2, 0x2, 0x4, 0x59,0x2, 0x49,0xaf,0x22,0x2, 0x4d,0xfe,0x1e,0x44,
+0x1e,0x44,0x1e,0x44,0x1e,0x44,0x22,0x2, 0x4d,0xd1,0xff,0x2, 0x4d,0x20,0x7d,0x23,
+0xbe,0x24,0x0, 0x0, 0x48,0x3, 0x7d,0x32,0x22,0x6d,0x33,0x9d,0x32,0x22,0x70,0x2,
+0xc2,0xd, 0x22,0x2, 0x4d,0x52,0x40,0x10,0x10,0x10,0x10,0x40,0x12,0x0, 0x1, 0x2,
+0x3, 0x14,0x12,0x4, 0x5, 0x6, 0x7, 0x14,0x13,0x8, 0x9, 0xa, 0xb, 0x15,0x13,0xc,
+0xd, 0xe, 0xf, 0x15,0x40,0x11,0x11,0x11,0x11,0x40,0x3e,0x34,0x3e,0x34,0x3e,0x34,
+0x3e,0x34,0x22,0x2, 0x50,0x43,0x75,0x84,0x1, 0x7e,0x44,0xf, 0xff,0xe4,0x7a,0x49,
+0xb0,0x1b,0x44,0x78,0xf9,0x7e,0xf8,0xd, 0x3f,0xc2,0xc, 0x75,0x47,0x18,0xc2,0x8,
+0xd2,0x9, 0x75,0x1d,0x0, 0x75,0x1e,0x0, 0xc2,0x0, 0xd2,0x1, 0xc2,0x2, 0xc2,0x3,
+0xc2,0x4, 0xc2,0x6, 0x75,0x8, 0x76,0x75,0xa, 0x0, 0x75,0xc, 0x37,0x75,0xe, 0x2,
+0x75,0xf, 0x74,0x75,0x10,0x71,0x75,0x14,0x71,0x75,0x15,0x71,0x75,0x1b,0x7b,0xd2,
+0xa, 0xc2,0xb, 0x75,0x4c,0x0, 0x75,0x4d,0x0, 0xc2,0xd, 0x75,0x4e,0x0, 0x75,0x4f,
+0x0, 0xc2,0xe, 0x7e,0x4, 0x0, 0xff,0x7e,0x14,0x5, 0xa, 0xb, 0xa, 0x40,0x5d,0x44,
+0x68,0x1a,0x69,0x20,0x0, 0x2, 0xb, 0xe, 0xb, 0x44,0x80,0xa, 0x7e,0xb, 0xb0,0x7a,
+0x29,0xb0,0xb, 0x24,0xb, 0xc, 0x1b,0x44,0x78,0xf2,0x80,0xdf,0x2, 0x49,0x25,0xff,
+0x5b,0x98,0xa4,0x67,0xa1,0x5e,0x9a,0x65,0xa2,0x5d,0x1, 0xfe,0xff,0xff,0xff,0x0,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0x7e,0xa0,0x20,0x80,0xc, 0x7e,0xa0,0x10,0x80,0x5, 0x7e,0xa0,0x8, 0x6c,0x55,0x6d,
+0x33,0x33,0x92,0xd5,0x50,0xa, 0x6e,0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,
+0xa5,0xec,0x33,0x40,0x6, 0x2f,0x11,0xd5,0xf0,0xf6,0x22,0x7c,0xba,0x24,0x7e,0xa2,
+0xd5,0x13,0x7c,0x76,0x7c,0x65,0xa5,0xcc,0x92,0xe7,0x7c,0x5b,0x22,0x7c,0xb5,0x33,
+0x7c,0xb4,0x33,0x92,0xd5,0x4e,0x50,0x80,0x24,0x81,0x40,0x3, 0x9f,0x11,0x22,0x7c,
+0x45,0x7c,0x56,0x7c,0x67,0x6c,0x77,0x24,0xe0,0x50,0xe, 0x7e,0x1c,0xff,0xff,0x22,
+0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x4, 0x78,0xf4,0x30,0xd5,0xa, 0x6e,
+0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,0x22,0x7c,0xb5,0xa2,0xe7,0xd2,0xe7,
+0x7c,0x1b,0x7c,0xb4,0x33,0x40,0x9, 0x68,0xd, 0xb4,0xff,0xb, 0xa5,0xbd,0xff,0x3,
+0x2, 0x2, 0x67,0x2, 0x2, 0x6f,0x22,0x7c,0xb, 0x24,0x81,0xc2,0xe0,0xf5,0x82,0xf4,
+0x4, 0x2c,0xb0,0x7c,0x2b,0xc3,0x13,0x7c,0x4b,0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x7f,
+0x41,0x7c,0xb6,0xa2,0xe7,0x7c,0xb1,0xa5,0xba,0x7f,0x2, 0xc3,0x13,0x34,0x0, 0x94,
+0x0, 0x7c,0x2b,0x7e,0xa0,0x91,0xa4,0x7c,0xba,0x13,0xf4,0x94,0xfe,0xac,0xb2,0x33,
+0x7c,0xba,0x33,0x24,0x8c,0xd3,0x13,0x7c,0x5b,0xe4,0x92,0xe7,0x7c,0x6b,0x6c,0x77,
+0x7e,0x40,0x3f,0x75,0x83,0x2, 0x7f,0x51,0x7f,0x1, 0x7f,0x14,0x12,0x3, 0x39,0x7f,
+0x5, 0x12,0x2, 0x81,0x9e,0x24,0x0, 0x80,0xd5,0x83,0xeb,0x7e,0x1, 0x82,0x6c,0x11,
+0xe, 0x4, 0x1e,0x4, 0x2d,0x20,0x5e,0x40,0x7f,0x22,0x2d,0x0, 0x92,0xd5,0xe, 0x10,
+0x4e,0x10,0x80,0x7d,0x42,0x2d,0x44,0x50,0x2, 0xb2,0xd5,0x4e,0x50,0x80,0x6c,0x44,
+0x7c,0xb8,0x22,0x2c,0x44,0x50,0x12,0xb, 0x1c,0x7e,0x40,0x0, 0x5e,0x50,0x7f,0xbe,
+0x18,0x0, 0x0, 0x78,0x4, 0xb, 0x80,0x68,0x16,0xa2,0xd5,0x7c,0xb8,0x13,0x7c,0x4b,
+0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x22,0x7e,0x1c,0xff,0xff,0x22,0x9f,0x11,0x22,0x7e,
+0x24,0xff,0x80,0x20,0xd5,0x2, 0x6c,0x45,0x6d,0x33,0x22,0x2, 0x2, 0x67,0x6e,0x0,
+0x80,0x7c,0xb1,0x33,0x7c,0xb0,0x33,0x68,0xd, 0x4, 0x68,0xef,0x7c,0xb5,0x33,0x7c,
+0xb4,0x33,0x78,0x3, 0x7f,0x10,0x22,0x4, 0x68,0xe1,0x7d,0x50,0x92,0xf7,0x7d,0x45,
+0x7d,0x51,0xbf,0x21,0x40,0x6, 0x7c,0x80,0x7f,0x1, 0x7f,0x12,0x12,0x2, 0x2a,0x7e,
+0xa1,0xd0,0x5c,0xb0,0x4, 0x78,0x3, 0x20,0xd5,0xc1,0x7c,0xb0,0x4, 0x78,0x7, 0x50,
+0x2, 0xb2,0xd5,0x2, 0x2, 0x6f,0x92,0xd5,0xbe,0x80,0xff,0x68,0xf6,0x7c,0xb8,0x9c,
+0xb0,0x6c,0x0, 0x60,0x2a,0xb4,0x18,0x5, 0x7c,0x41,0x2, 0x2, 0x43,0x50,0xfb,0x80,
+0x3, 0x2f,0x0, 0x4, 0x7c,0x9b,0x5e,0x90,0x7, 0x78,0xf6,0x30,0xe4,0x6, 0x7c,0x43,
+0x7d,0x10,0x6d,0x0, 0x30,0xe3,0x8, 0x7c,0x43,0x7c,0x32,0x7c,0x21,0xa, 0x0, 0x30,
+0xf5,0x19,0x9f,0x10,0x78,0xe, 0x22,0x2, 0x2, 0x6c,0x1b,0x80,0x68,0xf9,0x2f,0x11,
+0x50,0x2, 0xb, 0x70,0x7c,0xb5,0x30,0xe7,0xf1,0x80,0x1b,0x2d,0x31,0x7c,0xb5,0xa5,
+0x39,0x7c,0x5b,0x50,0x11,0xb, 0x80,0x78,0x3, 0x2, 0x2, 0x6f,0x1e,0x34,0x13,0x50,
+0x3, 0x4e,0x60,0x80,0x1a,0x2b,0x2, 0x2, 0x43,0xbe,0x24,0xff,0xff,0x68,0x6, 0xbe,
+0x4, 0xff,0xff,0x78,0x3, 0x2, 0x2, 0x67,0x12,0x2, 0x2a,0x5c,0xb0,0x4, 0x68,0xf5,
+0x7c,0xb8,0xa5,0x48,0x68,0xef,0x7c,0xb8,0x70,0x3, 0x9f,0x11,0x22,0xa5,0xb8,0x0,
+0x3, 0x2, 0x2, 0x6f,0x2e,0x0, 0x81,0x50,0x7, 0x9c,0x80,0x38,0x7, 0x2, 0x2, 0x6c,
+0x9c,0x80,0x50,0xed,0xa, 0x51,0xc2,0xe7,0x4d,0x51,0x78,0x3, 0x2, 0x2, 0x59,0x7e,
+0x54,0x0, 0x80,0x7e,0x90,0x1a,0x6c,0x0, 0x80,0x6, 0x1b,0x90,0x68,0x14,0x2f,0x11,
+0xbf,0x10,0x40,0x4, 0x9f,0x10,0x4c,0xab,0x3, 0x30,0xe7,0xee,0xca,0xa8,0x6c,0xaa,
+0x80,0xe8,0xda,0x39,0xda,0x58,0x7c,0x4a,0xbe,0x50,0x80,0x50,0xa, 0x1b,0x80,0x68,
+0xbc,0x2f,0x11,0x50,0x2, 0xb, 0x70,0x2, 0x2, 0x43,0xc2,0xd5,0x7c,0xb4,0x30,0xe7,
+0x8, 0xb2,0xd5,0x6e,0x24,0xff,0xff,0xb, 0x24,0x7c,0xb6,0x30,0xe7,0x12,0xb2,0xd5,
+0x6e,0x34,0xff,0xff,0xb, 0x34,0x8d,0x32,0x6e,0x24,0xff,0xff,0xb, 0x24,0x80,0x2,
+0x8d,0x32,0x30,0xd5,0x6, 0x6e,0x34,0xff,0xff,0xb, 0x34,0x22,0x7d,0x51,0xad,0x3,
+0x7d,0x2, 0x7d,0x21,0xad,0x5, 0x2d,0x12,0xad,0x35,0x2d,0x21,0x22,0x7d,0x2, 0xad,
+0x31,0xad,0x10,0x2d,0x21,0x22,0x6d,0x0, 0x74,0x10,0x4d,0x0, 0x78,0xb, 0x4d,0x22,
+0x78,0x27,0x8d,0x31,0x7d,0x12,0x6d,0x22,0x22,0x7d,0x43,0x7d,0x32,0x6d,0x22,0x2f,
+0x11,0x2d,0x44,0x50,0x2, 0xa5,0xf, 0xbf,0x10,0x40,0x4, 0x9f,0x10,0xb, 0x90,0x14,
+0x78,0xed,0x7f,0x1, 0x6d,0x22,0x7d,0x34,0x22,0x7d,0x41,0x7d,0x13,0x8d,0x24,0x7d,
+0x2, 0x2f,0x0, 0x40,0x4, 0xbd,0x4, 0x40,0x4, 0x9d,0x4, 0xb, 0x14,0x14,0x78,0xf1,
+0x7d,0x23,0x7d,0x31,0x7d,0x10,0x6d,0x0, 0x22,0xc2,0xd5,0x7c,0xb0,0x30,0xe7,0x8,
+0xb2,0xd5,0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x7c,0xb4,0x30,0xe7,0x13,0xb2,0xd5,0x9f,
+0x22,0x9f,0x21,0x7f,0x12,0x12,0x4, 0x8, 0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x80,0x3,
+0x12,0x4, 0x8, 0x30,0xd5,0x6, 0x9f,0x22,0x9f,0x21,0x7f,0x12,0x22,0x6c,0xaa,0x4d,
+0x11,0x68,0x1a,0x1e,0x54,0x68,0xe, 0xb, 0x38,0x20,0x1b,0x18,0x20,0xb, 0x35,0xb,
+0x15,0x1b,0x54,0x78,0xf2,0x50,0x6, 0x7e,0x39,0x40,0x7a,0x19,0x40,0x22,0x7d,0x3,
+0x80,0xa, 0x7e,0x29,0xb0,0x7a,0x9, 0xb0,0xb, 0x24,0xb, 0x4, 0x7d,0x51,0x1b,0x14,
+0x4d,0x55,0x78,0xee,0x22,0x13,0x12,0x10,0xf, 0x14,0xe, 0xb, 0xc, 0x1, 0x7, 0xa,
+0x9, 0x2, 0x3, 0x5, 0x6, 0x11,0x4, 0x15,0x0, 0xd, 0x8, 0x7f,0x1, 0xbe,0x8, 0x0,
+0x0, 0x48,0x3, 0x7f,0x10,0x22,0x9f,0x11,0x9f,0x10,0x22,0x7d,0x13,0x80,0x7, 0x1b,
+0x24,0x7a,0x19,0xb0,0xb, 0x14,0x4d,0x22,0x78,0xf5,0x22,0x10,0x10,0x10,0x1c,0x19,
+0x14,0x10,0xe, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x0, 0xc, 0xc, 0xe9,0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xc, 0xf5,0x0, 0x0,
+0x0, 0x1, 0xc, 0xf7,0x0, 0x0, 0x1, 0xd, 0x10,0x0, 0x0, 0x1, 0xd, 0x11,0x0, 0x0,
+0x1, 0xd, 0x12,0x0, 0x0, 0x2e,0xa, 0x8d,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x16,0xa, 0xbb,0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x2e,0xa, 0xd1,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x1, 0xc, 0xd0,0x0, 0x0, 0x1, 0xc, 0xd2,0x0, 0x0, 0x2, 0xc, 0xd3,
+0x0, 0x0, 0x0, 0x1, 0xc, 0xd5,0x0, 0x0, 0x1, 0xc, 0xd7,0x0, 0x0, 0x1, 0xc, 0xd8,
+0x0, 0x0, 0x2, 0x0, 0x72,0x3, 0x1c,0x0, 0x4, 0x0, 0xa2,0x0, 0x0, 0x0, 0x0, 0x0,
+0x2, 0x2, 0xcd,0x0, 0x0, 0x0, 0x1, 0x2, 0xcf,0x0, 0x0, 0x1, 0x2, 0xd3,0x0, 0x0,
+0x1, 0x3, 0x48,0x0, 0x0, 0x1, 0x3, 0x4c,0x0, 0x0, 0x1, 0x3, 0x4d,0x0, 0x0, 0x1,
+0xd, 0x3a,0x0, 0x0, 0x1, 0xd, 0x3b,0xff,0x0, 0x1, 0xd, 0x3c,0x0, 0x0, 0x1, 0xd,
+0x3d,0x10,0x0, 0x1, 0xd, 0x3e,0x8, 0x0, 0x1, 0xd, 0x3f,0x0, 0x0, 0x1, 0x9, 0x6c,
+0x0, 0x0, 0x1, 0xd, 0x28,0x0, 0x0, 0x1, 0xb, 0x38,0x0, 0x0, 0x2, 0xd, 0x29,0x0,
+0x0, 0x0, 0x2, 0x6, 0xdb,0x6, 0xe1,0x0, 0x1, 0x9, 0x69,0x0, 0x0, 0x0, 0x7d,0x41,
+0x7d,0x12,0x1a,0x26,0x1a,0x24,0x12,0x6, 0x5e,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x2,
+0x4, 0x59,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x7f,0x17,0x9f,0x10,0x7d,0x1d,0x1a,0x2,
+0x1a,0x0, 0x2, 0x3, 0xec,0xca,0x3b,0x7f,0x71,0x7c,0xab,0x6c,0x33,0x6c,0xee,0x6d,
+0x22,0x7a,0x25,0x22,0x7a,0x25,0x24,0x7d,0x62,0x7d,0x82,0x7d,0x92,0x7d,0x42,0x7d,
+0xa2,0x7d,0xb2,0x7e,0x37,0x5, 0xf8,0x7d,0xd3,0x7e,0x24,0x0, 0x2, 0x12,0x3, 0xba,
+0x7d,0xc3,0xa, 0x3a,0x7e,0x24,0x0, 0xb, 0x12,0x3, 0xba,0x7c,0xb5,0x7c,0xfb,0xbe,
+0xf0,0x5, 0x50,0x4c,0x1a,0x13,0x12,0x7, 0x73,0x48,0x2c,0xbe,0x78,0x1, 0xa, 0x48,
+0x2, 0x80,0x3, 0x7e,0x45,0x24,0x12,0x6, 0x52,0x7d,0x54,0x12,0x7, 0x84,0xbe,0x78,
+0x0, 0xc7,0x8, 0x7c,0x7f,0x17,0x9e,0x18,0x0, 0xc7,0x12,0x0, 0xe, 0x7f,0x71,0x2e,
+0x18,0x0, 0xc7,0x7f,0x71,0x80,0x69,0xbe,0x78,0x0, 0x89,0x18,0x9, 0x7d,0x19,0x12,
+0x6, 0x54,0x7d,0x59,0x80,0x27,0x7e,0x45,0x22,0x12,0x6, 0x52,0x7d,0x54,0x80,0x1d,
+0x1a,0x1e,0x12,0x7, 0x73,0x48,0x1b,0xbe,0x78,0x1, 0x4, 0x48,0x9, 0x7d,0x1b,0x12,
+0x6, 0x54,0x7d,0x5b,0x80,0x7, 0x7d,0x18,0x12,0x6, 0x54,0x7d,0x58,0x12,0x7, 0x84,
+0x80,0x2e,0xbe,0x78,0x0, 0x87,0x18,0x9, 0x7d,0x1a,0x12,0x6, 0x54,0x7d,0x5a,0x80,
+0x7, 0x7d,0x16,0x12,0x6, 0x54,0x7d,0x56,0x12,0x7, 0x84,0xbe,0x78,0x0, 0x0, 0x58,
+0xf, 0x9f,0x11,0x9f,0x17,0x12,0x0, 0xe, 0x7f,0x71,0x9f,0x11,0x9f,0x17,0x7f,0x71,
+0xbe,0x78,0x0, 0x0, 0x58,0x6, 0x9f,0x11,0x7f,0x71,0x80,0x11,0x7d,0x1d,0x12,0x7,
+0x7d,0x48,0xa, 0x7d,0x3d,0x1a,0x26,0x1a,0x24,0x1b,0x1c,0x7f,0x71,0xbe,0xf0,0x5,
+0x40,0xc, 0x7d,0x1d,0x1a,0x2, 0x1a,0x0, 0x7f,0x17,0x2f,0x10,0x7f,0x71,0x7f,0x17,
+0xda,0x3b,0x22,0x1a,0x2, 0x7f,0x17,0x2f,0x10,0x7f,0x71,0x7d,0x1c,0x1a,0x2, 0x1a,
+0x0, 0xbf,0x70,0x22,0x3e,0x54,0x1a,0x4a,0x1a,0x48,0x7d,0x1d,0x1a,0x2, 0x1a,0x0,
+0x9f,0x2, 0x12,0x4, 0x59,0x7f,0x71,0x22,0xca,0x3b,0x7e,0xa3,0x0, 0x90,0x7c,0xca,
+0x5e,0xc0,0xf, 0x7c,0xba,0xc4,0x7c,0x3b,0x5e,0x30,0xf, 0x4c,0xcc,0x78,0x2d,0x12,
+0x9, 0xa5,0xbe,0x30,0x0, 0x38,0x3, 0x2, 0x9, 0xa2,0x6c,0xff,0x7e,0x20,0xff,0x74,
+0x5, 0xac,0xbf,0x19,0x25,0x2, 0xc4,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xf1,0x75,0x1c,
+0x1, 0x75,0x12,0x0, 0xe4,0x7a,0xb3,0xc, 0xf7,0x2, 0x9, 0xa2,0x7e,0x23,0xc, 0xf7,
+0xbe,0x20,0x3c,0x50,0x14,0x7e,0x4, 0xa, 0x0, 0x7a,0x7, 0x0, 0x9e,0x12,0x4d,0x19,
+0x7c,0xb2,0x4, 0x7a,0xb3,0xc, 0xf7,0x80,0xd, 0x7e,0x37,0x0, 0x9e,0xbe,0x34,0xa,
+0x0, 0x68,0x3, 0x12,0x4d,0x11,0x6c,0xff,0x7e,0x20,0xff,0x74,0x5, 0xac,0xbf,0x19,
+0x25,0xa, 0x1, 0x7e,0x34,0x7f,0xff,0x59,0x35,0x9, 0xfd,0x59,0x35,0x9, 0xff,0xb,
+0xf0,0xbe,0xf0,0x2, 0x78,0xe2,0x6c,0xff,0x80,0x23,0x7e,0x50,0x5, 0xac,0x5f,0x7d,
+0x2, 0x2e,0x4, 0x0, 0x7a,0xb, 0x8, 0x30,0x12,0x0, 0x6a,0x1b,0x8, 0x30,0x2e,0x24,
+0x0, 0x7c,0xb, 0x28,0x30,0x12,0x0, 0x6a,0x1b,0x28,0x30,0xb, 0xf0,0xbc,0xcf,0x38,
+0xd9,0xa5,0xbb,0x0, 0x28,0x6c,0xff,0x80,0x1e,0x74,0x5, 0xac,0xbf,0x49,0x45,0x0,
+0x7a,0x59,0x45,0x2, 0xc0,0x49,0x45,0x0, 0x7c,0x59,0x45,0x2, 0xc2,0x9, 0x75,0x0,
+0x7e,0x19,0x75,0x2, 0xc4,0xb, 0xf0,0xbc,0xcf,0x38,0xde,0x21,0x4a,0x6c,0xdd,0x6c,
+0xff,0x6c,0xee,0x7e,0x70,0x5, 0xac,0x7e,0x9, 0xa3,0x2, 0xc4,0x7e,0x50,0x5, 0xac,
+0x5f,0x9, 0xb2,0x0, 0x7e,0xbc,0xba,0x78,0x13,0xbe,0xb0,0xff,0x68,0xe, 0xbe,0xd0,
+0x2, 0x50,0x10,0x2e,0x34,0x2, 0xc0,0x12,0xe, 0x60,0x80,0x7, 0xb, 0xe0,0xbe,0xe0,
+0x2, 0x40,0xd0,0xbe,0xe0,0x2, 0x78,0xb, 0xbe,0xd0,0x2, 0x50,0x6, 0x12,0x3e,0x25,
+0x12,0xe, 0x60,0xb, 0xd0,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xb5,0x6c,0xff,0x12,0x3e,
+0x15,0x2e,0x34,0x9, 0xfd,0x2e,0x14,0x2, 0xc0,0x12,0x3e,0x2f,0x78,0xf0,0xe5,0x12,
+0x70,0x68,0x6c,0xff,0x80,0x60,0x7c,0xef,0x6c,0xdd,0x80,0x21,0x7e,0x90,0x5, 0xac,
+0x9f,0x9, 0xa4,0x2, 0xc4,0x7e,0x70,0x5, 0xac,0x7d,0x9, 0xb3,0x0, 0x7e,0xbc,0xba,
+0x78,0x9, 0xbe,0xa0,0xff,0x68,0x4, 0x7c,0xed,0x80,0x6, 0xb, 0xd0,0xbc,0xcd,0x38,
+0xdb,0xbe,0xe0,0x2, 0x40,0x2, 0x7c,0xef,0x12,0xf, 0xfd,0xbe,0x34,0x18,0xe0,0x50,
+0xa, 0x49,0x24,0x2, 0xc2,0xbe,0x24,0x18,0xe0,0x40,0x12,0x49,0x24,0x0, 0x7a,0x74,
+0x5, 0xac,0xbf,0x59,0x25,0x2, 0xc0,0x59,0x35,0x2, 0xc2,0x80,0x7, 0x7c,0xbf,0x7c,
+0x7e,0x12,0x9, 0xdd,0xb, 0xf0,0xbc,0xcf,0x38,0x9c,0x6c,0xff,0x74,0x5, 0xac,0xbf,
+0x49,0x45,0x2, 0xc0,0x12,0x0, 0x1e,0x59,0x45,0x0, 0x7a,0x49,0x45,0x2, 0xc2,0x12,
+0x0, 0x1e,0x59,0x45,0x0, 0x7c,0x9, 0x75,0x2, 0xc4,0x19,0x75,0x0, 0x7e,0xb, 0xf0,
+0xbe,0xf0,0x2, 0x78,0xd7,0xbe,0xc0,0x0, 0x28,0x25,0x6c,0xff,0x74,0x5, 0xac,0xbf,
+0x49,0x45,0x0, 0x7a,0x59,0x45,0x2, 0xb6,0x49,0x45,0x0, 0x7c,0x59,0x45,0x2, 0xb8,
+0x9, 0x75,0x0, 0x7e,0x19,0x75,0x2, 0xba,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xdd,0x75,
+0x9, 0x1, 0xda,0x3b,0x22,0x12,0xe, 0xaf,0x78,0x32,0x20,0xc, 0x2f,0x6c,0xaa,0x7e,
+0x44,0x7f,0xff,0x7e,0x70,0x4, 0xac,0x7a,0x59,0x43,0xc, 0xe1,0x59,0x43,0xc, 0xe3,
+0x6d,0x33,0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0xc, 0xdd,0x7e,0x34,0x1, 0x0, 0x59,
+0x32,0xc, 0xd9,0xb, 0xa0,0xbe,0xa0,0x2, 0x78,0xd5,0xd2,0xc, 0x22,0xca,0x3b,0x7c,
+0xe7,0x7c,0xdb,0x75,0x24,0x0, 0x9f,0x11,0x7a,0x1f,0xa, 0xb, 0x7a,0x1f,0xa, 0xf,
+0x7a,0x1f,0xa, 0x13,0x12,0x3c,0x6, 0x74,0x5, 0xac,0xbd,0x49,0x15,0x2, 0xc0,0x49,
+0x5, 0x2, 0xc2,0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x7, 0x74,0x5, 0xac,0xbd,0x9, 0xf5,
+0x2, 0xc4,0xbe,0xf0,0x2, 0x40,0x2, 0x6c,0xff,0x12,0x3c,0x6, 0x74,0x4, 0xac,0xbf,
+0x49,0x15,0xc, 0xe1,0x49,0x5, 0xc, 0xe3,0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x9, 0x7e,
+0x27,0xa, 0x7, 0x7e,0x34,0x0, 0xdc,0xad,0x23,0x7e,0x17,0x0, 0x9e,0x12,0x4, 0x6,
+0x7a,0x35,0x22,0xbe,0x34,0x0, 0xa, 0x50,0x7, 0x7e,0x34,0x0, 0xa, 0x7a,0x35,0x22,
+0x75,0x24,0x0, 0x6c,0xcc,0x7e,0x90,0x14,0xac,0x9f,0x49,0x24,0xb, 0x3, 0x49,0x34,
+0xb, 0x7, 0xbd,0x32,0x78,0xe, 0x49,0x54,0xb, 0x5, 0x49,0x34,0xb, 0x9, 0xbd,0x35,
+0x78,0x2, 0xa1,0x41,0x74,0x5, 0xac,0xbe,0x49,0x15,0x0, 0x7c,0x1e,0x14,0x1e,0x14,
+0x1e,0x14,0x1e,0x14,0x6d,0x0, 0x7a,0xf, 0xa, 0x13,0xbe,0x8, 0x0, 0x18,0x48,0xa,
+0x7e,0xf, 0xa, 0x13,0xbe,0x8, 0x1, 0x76,0x8, 0x5, 0x75,0x25,0x34,0x80,0x1c,0x7e,
+0xf, 0xa, 0x13,0xbe,0x8, 0x0, 0x31,0x48,0xa, 0x7e,0xf, 0xa, 0x13,0xbe,0x8, 0x1,
+0x5d,0x8, 0x5, 0x75,0x25,0x20,0x80,0x3, 0x75,0x25,0x19,0x49,0x35,0x0, 0x7a,0x12,
+0xe, 0xa3,0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0xf, 0x74,0x5, 0xac,0xbe,0x49,0x35,0x0,
+0x7c,0x12,0xe, 0xa3,0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x5, 0x12,0xe, 0x2f,0x7a,
+0x1f,0xa, 0x13,0x7d,0x3, 0x7e,0x1f,0xa, 0xf, 0x7d,0x13,0x2d,0x10,0x7a,0x17,0xa,
+0x17,0xbe,0x14,0x0, 0x7, 0x8, 0x3d,0xbe,0x18,0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,
+0x1f,0xa, 0xf, 0x7e,0x1f,0xa, 0x13,0xbe,0x18,0x0, 0x0, 0x78,0xa, 0x7e,0x1f,0xa,
+0x13,0xb, 0x1c,0x7a,0x1f,0xa, 0x13,0x12,0xe, 0x39,0x8, 0x4, 0xb, 0xc0,0x80,0x14,
+0x7e,0x1f,0xa, 0xb, 0xbe,0x18,0x0, 0x64,0x8, 0xa, 0x12,0x5b,0x8e,0x12,0xe, 0x4e,
+0x8, 0x2, 0x5, 0x24,0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x3, 0x49,0x35,0xb, 0x7,
+0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0xf, 0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x5, 0x49,
+0x35,0xb, 0x9, 0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0x13,0x7e,0x1f,0xa, 0xf, 0xbe,0x18,
+0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,0x1f,0xa, 0xf, 0x7e,0x1f,0xa, 0x13,0xbe,0x18,
+0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,0x1f,0xa, 0x13,0x12,0xe, 0x39,0x8, 0x4, 0xb,
+0xc0,0x80,0x14,0x7e,0x1f,0xa, 0xb, 0xbe,0x18,0x0, 0x64,0x8, 0xa, 0x12,0x5b,0x8e,
+0x12,0xe, 0x4e,0x8, 0x2, 0x5, 0x24,0x74,0x14,0xac,0xbf,0x12,0xe, 0x6e,0x7d,0xf3,
+0xbe,0xf7,0xa, 0x17,0x8, 0x2, 0xa1,0x2e,0xe5,0x25,0xbe,0xb0,0x34,0x7e,0x1f,0xa,
+0xb, 0x40,0x9, 0x12,0x5b,0x32,0x7e,0x8, 0x0, 0x5a,0x80,0x7, 0x12,0x5b,0x32,0x7e,
+0x8, 0x0, 0x4b,0x12,0x4, 0x59,0x7a,0x1f,0xa, 0xb, 0xe5,0x24,0x60,0x2, 0x81,0xe2,
+0x4c,0xcc,0x68,0x2, 0x81,0xe2,0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0x3, 0x6d,0x22,
+0x49,0x15,0xb, 0xb, 0x6d,0x0, 0x9f,0x1, 0x7a,0xf, 0xa, 0xf, 0x12,0x57,0xea,0x74,
+0x14,0xac,0xbf,0x49,0x15,0xb, 0x3, 0x12,0x5b,0x4, 0x49,0x15,0x0, 0x7a,0x6d,0x0,
+0x2f,0x10,0xbe,0x18,0x0, 0x0, 0x48,0x19,0x74,0x6, 0xac,0xbf,0x49,0xe5,0xc, 0xed,
+0x4d,0xee,0x78,0xd, 0x12,0x0, 0x10,0x7d,0xe3,0x74,0x5, 0xac,0xbe,0x59,0xe5,0x0,
+0x7a,0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0x5, 0x6d,0x22,0x74,0x14,0xac,0xbf,0x12,
+0x57,0xb2,0x9f,0x1, 0x7a,0xf, 0xa, 0x13,0x12,0x57,0xea,0x74,0x14,0xac,0xbf,0x49,
+0x15,0xb, 0x5, 0x12,0x5b,0x4, 0x49,0x15,0x0, 0x7c,0x6d,0x0, 0x2f,0x10,0xbe,0x18,
+0x0, 0x0, 0x48,0x17,0x74,0x6, 0xac,0xbf,0x49,0x15,0xc, 0xed,0x4d,0x11,0x78,0xb,
+0x12,0x0, 0x10,0x74,0x5, 0xac,0xbe,0x59,0x35,0x0, 0x7c,0x7e,0x90,0x6, 0xac,0x9f,
+0x49,0x54,0xc, 0xe9,0x4d,0x55,0x78,0x14,0x7e,0x1f,0xa, 0xf, 0x7d,0x53,0x59,0x54,
+0xc, 0xe9,0x7e,0x1f,0xa, 0x13,0x7d,0x53,0x59,0x54,0xc, 0xeb,0x49,0x34,0xc, 0xe9,
+0x1a,0x26,0x1a,0x24,0x7e,0x7f,0xa, 0xf, 0x7f,0x7, 0x12,0xe, 0x9b,0x48,0x11,0x49,
+0x34,0xc, 0xeb,0x1a,0x26,0x1a,0x24,0x7e,0xf, 0xa, 0x13,0x12,0xe, 0x9b,0x58,0x32,
+0x74,0x6, 0xac,0xbf,0x49,0x35,0xc, 0xed,0xbe,0x34,0x0, 0x3, 0x58,0xe, 0x7e,0x50,
+0x6, 0xac,0x5f,0x2e,0x24,0xc, 0xed,0xb, 0x34,0x1b,0x28,0x30,0x7d,0x3f,0x74,0x6,
+0xac,0xbf,0x59,0x35,0xc, 0xe9,0x7e,0x1f,0xa, 0x13,0x74,0x6, 0xac,0xbf,0x59,0x35,
+0xc, 0xeb,0xe5,0x24,0xbe,0xb0,0x2, 0x40,0xe, 0x74,0x6, 0xac,0xbf,0x49,0x45,0xc,
+0xed,0xbe,0x44,0x0, 0x2, 0x48,0x5, 0x75,0x24,0x0, 0x80,0xc, 0x4d,0x44,0x78,0x8,
+0x7e,0x34,0x0, 0x1, 0x59,0x35,0xc, 0xed,0xbe,0xc0,0x2, 0x40,0xf, 0x7e,0x50,0x6,
+0xac,0x5f,0x49,0x32,0xc, 0xed,0xbe,0x34,0x0, 0x2, 0x48,0x4, 0x6c,0xcc,0x80,0x33,
+0x4d,0x33,0x78,0x2f,0x7e,0x34,0x0, 0x1, 0x59,0x32,0xc, 0xed,0x80,0x25,0x7e,0x34,
+0x0, 0x2, 0x74,0x6, 0xac,0xbf,0x59,0x35,0xc, 0xed,0x75,0x24,0x0, 0x6c,0xcc,0x80,
+0x12,0x6d,0x33,0x74,0x6, 0xac,0xbf,0x59,0x35,0xc, 0xe9,0x59,0x35,0xc, 0xeb,0x59,
+0x35,0xc, 0xed,0x7e,0x35,0x22,0xbe,0x34,0x1, 0x0, 0x28,0x7, 0x7e,0x34,0x1, 0x0,
+0x7a,0x35,0x22,0x74,0x5, 0xac,0xbd,0x49,0x25,0x2, 0xc0,0x74,0x5, 0xac,0xbe,0x12,
+0x3c,0x77,0x7a,0x37,0xa, 0x9, 0xe5,0x24,0x60,0x13,0x12,0x5b,0x5d,0x74,0x14,0x1e,
+0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x80,0x3, 0x12,0x5a,0xf4,
+0x7a,0x37,0xa, 0x9, 0x7e,0x90,0x5, 0xac,0x9d,0x49,0x34,0x2, 0xc0,0x74,0x5, 0xac,
+0xbe,0x49,0x25,0x0, 0x7a,0xbd,0x23,0x28,0x11,0x7d,0x14,0x2e,0x14,0x2, 0xc0,0x7d,
+0x23,0x2e,0x27,0xa, 0x9, 0x1b,0x18,0x20,0x80,0xd, 0x7d,0x24,0x2e,0x24,0x2, 0xc0,
+0x9e,0x37,0xa, 0x9, 0x1b,0x28,0x30,0x49,0x24,0x2, 0xc2,0x12,0x3e,0xc, 0x7a,0x37,
+0xa, 0x9, 0x4c,0xcc,0x68,0x13,0x12,0x5b,0x5d,0x74,0xa, 0x1e,0x34,0x1e,0x24,0x50,
+0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x80,0x3, 0x12,0x5a,0xf4,0x7a,0x37,0xa, 0x9,
+0x7e,0x30,0x5, 0xac,0x3d,0x49,0x21,0x2, 0xc2,0x12,0xf, 0xfd,0xbd,0x32,0x7d,0x51,
+0x28,0xf, 0x2e,0x54,0x2, 0xc2,0x7d,0x2, 0x2e,0x7, 0xa, 0x9, 0x1b,0x58,0x0, 0x80,
+0xb, 0x2e,0x54,0x2, 0xc2,0x9e,0x27,0xa, 0x9, 0x1b,0x58,0x20,0x49,0x24,0x0, 0x7a,
+0x74,0x4, 0xac,0xbf,0x59,0x25,0xc, 0xe1,0x59,0x35,0xc, 0xe3,0xda,0x3b,0x22,0x9d,
+0x32,0x12,0x0, 0x2e,0x1a,0x26,0x1a,0x24,0x22,0x7e,0xb4,0x0, 0x64,0x7e,0x7f,0xa,
+0x13,0x7f,0x17,0x7d,0x1b,0x12,0x3, 0xfd,0x7e,0x6f,0xa, 0xf, 0x7f,0x6, 0x12,0x4,
+0x59,0x7f,0x1, 0x7a,0xf, 0xa, 0xb, 0xe5,0x25,0xa, 0x3b,0x6d,0x22,0xbf,0x10,0x22,
+0x7e,0x30,0x5, 0xac,0x3d,0x2e,0x14,0x9, 0xfd,0x74,0x5, 0x2, 0x4, 0x8d,0x49,0x35,
+0xb, 0xb, 0x49,0x25,0xb, 0xd, 0x49,0x15,0xb, 0x3, 0x49,0x5, 0xb, 0x5, 0xca,0x3b,
+0x7d,0x61,0x7a,0x35,0x26,0x7d,0x32,0x9d,0x30,0x12,0x0, 0x2e,0x7d,0x73,0x7e,0x35,
+0x26,0x9d,0x36,0x12,0x0, 0x2e,0x2d,0x37,0xda,0x3b,0x22,0x12,0x3, 0xec,0xbe,0x18,
+0x0, 0x0, 0x22,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x22,0x12,0xe, 0xba,0x7e,
+0xb3,0x0, 0x90,0x54,0xf, 0x22,0x7a,0xb3,0xb, 0x88,0x60,0x2a,0x7e,0xb3,0x6, 0xca,
+0x20,0xe7,0x3d,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x12,0x41,
+0x1d,0x7e,0xb3,0x6, 0xca,0x54,0xc7,0x44,0x10,0x12,0x17,0x72,0x12,0x5b,0x83,0x44,
+0x80,0x7a,0xb3,0x6, 0xca,0x22,0x7e,0xb3,0x6, 0xca,0x30,0xe7,0x13,0x54,0xc7,0x44,
+0x28,0x12,0x17,0x72,0x12,0x5b,0x83,0x54,0x7f,0x7a,0xb3,0x6, 0xca,0x2, 0x2f,0x8e,
+0x22,0xca,0x79,0x7e,0x77,0x0, 0x92,0x4d,0x77,0x78,0x32,0xe4,0x12,0xe, 0xac,0xbe,
+0xb0,0x0, 0x28,0x5, 0x75,0xb, 0x0, 0xe1,0xa6,0x7e,0xb3,0x0, 0x94,0x20,0xe0,0x2,
+0xe1,0xa6,0x7e,0x73,0x0, 0x99,0xbe,0x71,0xb, 0x38,0x7b,0x75,0xb, 0x0, 0x7e,0x34,
+0x0, 0x1, 0x7a,0x37,0x0, 0x92,0x74,0x1, 0x12,0xe, 0xb6,0x80,0x69,0xbe,0x74,0x0,
+0x1, 0x78,0x14,0x74,0x1, 0x12,0xe, 0xac,0x68,0x5c,0x12,0x4d,0x9, 0x12,0xe, 0xb6,
+0x75,0xd, 0x27,0xd2,0x5, 0x80,0x4f,0xbe,0x74,0x0, 0x3, 0x78,0x49,0x7e,0xb3,0x0,
+0x9b,0x12,0x4a,0x48,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x12,
+0xf, 0xf3,0x12,0x2f,0x66,0x74,0x2, 0x12,0xf, 0xcd,0x12,0x49,0xe0,0x12,0x0, 0x27,
+0xc2,0xa8,0xc2,0x95,0xa9,0xd0,0xca,0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,0x4a,0x30,
+0x12,0x1c,0xcb,0x12,0x4d,0x9, 0x7a,0xb3,0xb, 0x88,0x74,0xa, 0x7a,0xb3,0x6, 0xda,
+0x7e,0xb3,0x6, 0xda,0x70,0xfa,0x7e,0x77,0x0, 0x92,0x4d,0x77,0x78,0xb, 0x80,0x4,
+0xe4,0x12,0xf, 0xcd,0x30,0x5, 0xf9,0x80,0xc, 0xbe,0x74,0x0, 0x1, 0x78,0x6, 0x12,
+0xf, 0xf3,0x12,0x2f,0xac,0x75,0xd, 0x0, 0xc2,0x5, 0xda,0x79,0x22,0x70,0x5, 0x43,
+0x87,0x1, 0x80,0x1a,0xb4,0x1, 0xb, 0xa9,0xd0,0xce,0xa9,0xd7,0xc9,0x43,0x87,0x2,
+0x80,0xc, 0xb4,0x2, 0xd, 0xa9,0xd0,0xce,0xa9,0xc7,0xc9,0x43,0x87,0x2, 0x0, 0x0,
+0x0, 0x0, 0x22,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x20,0x93,0xf9,0x22,0x7e,0x90,0x5,
+0xac,0x9e,0x49,0x34,0x0, 0x7c,0x22,0x7d,0xf3,0xbe,0xf4,0x0, 0x50,0x38,0x28,0x7e,
+0x54,0x0, 0x50,0x9d,0x5f,0x12,0x11,0x3b,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x28,
+0x4, 0x9f,0x22,0x80,0x8, 0x7e,0x18,0x0, 0x2d,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0,
+0x0, 0x50,0x64,0x9f,0x22,0x80,0x60,0xbe,0xf4,0x1, 0x2f,0x40,0x20,0x12,0x11,0x35,
+0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x40,0x4, 0x7e,0x28,0x0, 0x2c,0xbe,0x28,0x0,
+0x2d,0x28,0x4, 0x7e,0x28,0x0, 0x2d,0x2e,0x28,0x1, 0x61,0x80,0x3a,0xbe,0xf4,0x0,
+0xbf,0x50,0x23,0x7e,0x54,0x0, 0xbf,0x9d,0x5f,0x12,0x10,0xa0,0xbe,0x28,0x0, 0xc7,
+0x38,0x8, 0x7e,0x18,0x0, 0xc7,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0, 0x2d,0x50,0x17,
+0x7e,0x28,0x0, 0x2d,0x80,0x11,0x12,0x10,0x9a,0x2e,0x28,0x0, 0xc7,0xbe,0x28,0x1,
+0x61,0x28,0x4, 0x7e,0x28,0x1, 0x61,0x7d,0x35,0x22,0x7d,0x5f,0x9e,0x54,0x0, 0xbf,
+0x6d,0x44,0x7e,0x14,0x1, 0x81,0x7f,0x12,0x12,0x3, 0xfd,0x7f,0x21,0x7c,0xba,0x7c,
+0xa9,0xa, 0x48,0x22,0x7d,0xf3,0xbe,0xf4,0x0, 0x50,0x38,0x20,0x7e,0x54,0x0, 0x50,
+0x9d,0x5f,0x12,0x11,0x3b,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x28,0x4, 0x9f,0x22,
+0x80,0x60,0x7e,0x18,0x0, 0x2d,0x9f,0x12,0x7f,0x21,0x80,0x56,0xbe,0xf4,0x1, 0x2f,
+0x40,0x16,0x12,0x11,0x35,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x40,0x4, 0x7e,0x28,
+0x0, 0x2c,0x2e,0x28,0x1, 0x61,0x80,0x3a,0xbe,0xf4,0x0, 0xbf,0x50,0x23,0x7e,0x54,
+0x0, 0xbf,0x9d,0x5f,0x12,0x10,0xa0,0xbe,0x28,0x0, 0xc7,0x38,0x8, 0x7e,0x18,0x0,
+0xc7,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0, 0x2d,0x50,0x17,0x7e,0x28,0x0, 0x2d,0x80,
+0x11,0x12,0x10,0x9a,0x2e,0x28,0x0, 0xc7,0xbe,0x28,0x1, 0x61,0x28,0x4, 0x7e,0x28,
+0x1, 0x61,0x7d,0x35,0x22,0x7d,0x5f,0x9e,0x54,0x1, 0x2f,0x6d,0x44,0x7e,0x14,0x2,
+0x7, 0x22,0xca,0xf8,0x6c,0xff,0x80,0x1d,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7a,
+0x12,0x10,0x7, 0x74,0x5, 0xac,0xbf,0x59,0x35,0x0, 0x7a,0x49,0x35,0x0, 0x7c,0x12,
+0x10,0xb4,0x12,0x3c,0x51,0x12,0x38,0x94,0x48,0xde,0xda,0xf8,0x22,0xca,0xf8,0x12,
+0x49,0xe0,0x7e,0x34,0x2, 0xd4,0x7a,0x37,0x6, 0xd8,0x12,0x4c,0x52,0xe4,0x12,0x43,
+0xb3,0x12,0x4d,0x63,0x12,0x3e,0x73,0x12,0x47,0xb1,0xe4,0x12,0x3f,0xc9,0x12,0x1c,
+0xc2,0x12,0x4e,0xf1,0x7e,0xb3,0xb, 0x9f,0xb4,0x1, 0x2, 0x80,0x2, 0x41,0x84,0x7e,
+0xf3,0x6, 0x4d,0x4c,0xff,0x68,0x36,0xbe,0xf0,0x1, 0x78,0xa, 0xe4,0x7a,0xb3,0x6,
+0x4d,0x12,0x3e,0xc9,0x80,0x12,0xbe,0xf0,0x3, 0x78,0x5, 0x12,0x1b,0xdc,0x80,0x8,
+0xbe,0xf0,0x2, 0x78,0x3, 0x12,0x17,0xff,0x7e,0x34,0xa, 0xd1,0x12,0x14,0xea,0x7e,
+0x34,0xa, 0xbb,0x12,0x14,0xea,0x7e,0x34,0xa, 0x8d,0x12,0x14,0xea,0x12,0x48,0x4c,
+0x12,0x37,0xfc,0x12,0x1f,0xf9,0x44,0x1, 0x7a,0xb3,0x6, 0xd7,0x12,0x15,0x1d,0x12,
+0x2f,0x45,0x12,0x27,0xfc,0x12,0x30,0xd8,0x12,0x23,0x3e,0x12,0x2a,0xa0,0x12,0x3c,
+0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x3, 0x12,0x14,0xfa,0x12,0xe, 0xaf,0x12,0x0,
+0x3e,0x7e,0x34,0x3, 0x5c,0x7e,0x24,0x5, 0x34,0x7e,0xb3,0x6, 0xc8,0x12,0x2d,0xc3,
+0x12,0x0, 0x6, 0x12,0x26,0x96,0x12,0x11,0x42,0x12,0x38,0x63,0x12,0x2d,0x3d,0x12,
+0x12,0x87,0x7e,0xb3,0xb, 0x38,0x60,0x8, 0xe4,0x7a,0xb3,0xb, 0x38,0x12,0x28,0x8c,
+0x12,0x3f,0x3d,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x3, 0x12,0x14,0xfa,0x12,0x18,0x72,
+0x12,0x2e,0xe5,0x12,0x28,0x97,0x12,0x28,0x27,0x12,0x38,0xa1,0x12,0x3c,0x80,0x12,
+0x7, 0x98,0x12,0x57,0xfa,0x12,0x51,0x3e,0x12,0x53,0xbf,0x7e,0xb3,0x6, 0x67,0x30,
+0xe1,0x3, 0x12,0x14,0xfa,0x7e,0xb3,0x0, 0x9a,0x12,0x41,0xc9,0x12,0xf, 0x1, 0x12,
+0x3e,0xf1,0x21,0x94,0xda,0xf8,0x22,0xca,0x3b,0x7e,0xb3,0x0, 0x90,0x7c,0xab,0x5e,
+0xa0,0xf, 0x7a,0xa1,0x25,0xc4,0x54,0xf, 0x54,0xf, 0xf5,0x26,0x7e,0x77,0x0, 0x6a,
+0x7e,0x67,0x0, 0x6c,0x7e,0xb3,0x0, 0x68,0xf5,0x23,0x7e,0xb3,0x0, 0x69,0xf5,0x24,
+0x4c,0xaa,0x78,0x4, 0xc2,0x4, 0x81,0x72,0xe5,0x25,0xbe,0xb0,0x1, 0x28,0x58,0x75,
+0x22,0x0, 0x80,0x48,0x12,0x14,0xe3,0x49,0x45,0x0, 0x7a,0x7a,0x45,0x2f,0x49,0x35,
+0x0, 0x7c,0x12,0x15,0x12,0x28,0xa, 0x12,0x14,0xf2,0x28,0x2e,0xbe,0x35,0x31,0x28,
+0x29,0x12,0x14,0x9b,0xbd,0x36,0x28,0x22,0x7a,0x65,0x29,0x12,0x17,0xf7,0x50,0x3,
+0x12,0x17,0xef,0x7e,0x35,0x33,0x12,0x14,0xc0,0x12,0x14,0xe3,0x59,0x35,0x0, 0x7a,
+0x12,0x14,0xbd,0x12,0x14,0xe3,0x59,0x35,0x0, 0x7c,0x5, 0x22,0xe5,0x25,0xbe,0xb1,
+0x22,0x38,0xb1,0xc2,0x4, 0x81,0x72,0xe5,0x25,0xb4,0x1, 0x22,0xe5,0x26,0x70,0x1e,
+0x12,0x15,0x7, 0x28,0xe, 0x12,0x14,0xf2,0x28,0x5, 0xbe,0x35,0x31,0x38,0x4, 0xc2,
+0x4, 0x81,0x72,0x12,0x14,0x9b,0x7a,0x35,0x29,0x12,0x5a,0xd1,0x81,0x9, 0xe5,0x25,
+0xb4,0x1, 0x2, 0x80,0x2, 0x81,0x9, 0x12,0x15,0x7, 0x28,0xe, 0x12,0x14,0xf2,0x28,
+0x5, 0xbe,0x35,0x31,0x38,0x4, 0xc2,0x4, 0x81,0x72,0x12,0x14,0x9b,0x9e,0x37,0x0,
+0x60,0x12,0x0, 0x2e,0x7a,0x35,0x2b,0x7e,0x35,0x33,0x9e,0x37,0x0, 0x50,0x7e,0x25,
+0x35,0x9e,0x27,0x0, 0x52,0x12,0x14,0x7e,0x7a,0x35,0x2d,0x7e,0x37,0x0, 0x70,0xbe,
+0x35,0x2d,0x50,0x28,0x7e,0x35,0x27,0x9e,0x37,0x0, 0x54,0x12,0x0, 0x2e,0x7e,0xa1,
+0x23,0x74,0x5, 0xa4,0xbd,0x35,0x58,0xc, 0x7e,0xa0,0x2, 0xe5,0x23,0xa4,0xf5,0x23,
+0xd2,0x4, 0x80,0x8, 0x7e,0xb3,0x0, 0x68,0xf5,0x23,0xc2,0x4, 0x30,0x4, 0x30,0xe5,
+0x23,0xa, 0x3b,0xbe,0x35,0x2b,0x28,0x4, 0x6d,0x33,0x80,0x27,0xe5,0x24,0xa, 0x3b,
+0xbe,0x35,0x2b,0x28,0x14,0x7e,0x25,0x2b,0x7e,0x34,0x0, 0x64,0xad,0x23,0xe5,0x24,
+0xa, 0x1b,0x6d,0x0, 0x12,0x4, 0x8, 0x80,0xa, 0x7e,0x34,0x0, 0x64,0x80,0x4, 0x7e,
+0x34,0x0, 0x64,0x7a,0x35,0x2b,0x7e,0xf7,0x0, 0x60,0x7d,0x1f,0x6d,0x0, 0x7e,0x35,
+0x27,0x6d,0x22,0x9f,0x10,0x7e,0x15,0x2b,0x12,0x3, 0xfd,0x12,0x27,0xba,0x7f,0x1,
+0x7d,0x3f,0x6d,0x22,0x2f,0x10,0x7a,0x35,0x29,0x7e,0x35,0x29,0xbd,0x36,0x38,0x7,
+0x7e,0x25,0x27,0xbd,0x26,0x28,0x5, 0x7a,0x65,0x29,0x80,0xb, 0xbe,0x34,0x0, 0x1,
+0x50,0x5, 0x6d,0x33,0x7a,0x35,0x29,0x12,0x17,0xf7,0x50,0x3, 0x12,0x17,0xef,0x7e,
+0x35,0x33,0x12,0x14,0xc0,0x7a,0x37,0x0, 0x7a,0x12,0x14,0xbd,0x7d,0x23,0x7a,0x27,
+0x0, 0x7c,0x7e,0x37,0x0, 0x7a,0x7a,0x35,0x2f,0x7a,0x25,0x31,0x7d,0x27,0x12,0x14,
+0x75,0x7a,0x35,0x33,0x7e,0x35,0x31,0x7d,0x27,0x12,0x14,0x75,0x7a,0x35,0x35,0x7e,
+0x35,0x29,0x7a,0x37,0x0, 0x60,0x7e,0x27,0x0, 0x70,0xbe,0x25,0x2d,0x50,0x3, 0x12,
+0x5a,0xd1,0xda,0x3b,0x22,0x7d,0x12,0x6d,0x0, 0x6d,0x22,0x9f,0x10,0x22,0x7d,0x52,
+0x7d,0x43,0x7d,0x35,0x12,0x17,0x69,0x7f,0x71,0x7d,0x34,0x12,0x17,0x69,0x2f,0x17,
+0x7c,0xb4,0x12,0x1, 0x20,0x12,0x1, 0x9a,0x2, 0x1, 0x5d,0x7e,0x35,0x2f,0x7d,0x27,
+0x12,0x14,0x75,0x7a,0x35,0x33,0x7e,0x35,0x31,0x7d,0x27,0x12,0x14,0x75,0x7d,0x23,
+0x7a,0x25,0x35,0x7e,0x35,0x33,0x12,0x14,0x7e,0x7a,0x35,0x27,0x22,0x7e,0x35,0x35,
+0x7e,0x25,0x29,0x7e,0x15,0x27,0x7d,0x7, 0x7d,0xf0,0x7d,0xe1,0x7d,0x12,0x1a,0x26,
+0x1a,0x24,0x12,0x3, 0xfd,0x7d,0x1e,0x6d,0x0, 0x12,0x4, 0x59,0x7d,0x1f,0x6d,0x0,
+0x2f,0x10,0x22,0x7e,0xa1,0x22,0x74,0x5, 0xa4,0x22,0x7e,0x24,0x0, 0x16,0xe4,0x2,
+0x4, 0xeb,0x7e,0x37,0x0, 0x72,0xbe,0x35,0x2f,0x22,0x7e,0xb3,0x0, 0x90,0x54,0xf0,
+0x44,0x2, 0x7a,0xb3,0x0, 0x90,0x22,0x7e,0x37,0x0, 0x7a,0x7a,0x35,0x2f,0x7e,0x37,
+0x0, 0x7c,0x7a,0x35,0x31,0x7e,0x73,0x6, 0xc7,0xbe,0x70,0x0, 0x22,0xca,0x3b,0x12,
+0x17,0xe0,0x30,0xe1,0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0xc, 0x7e,0xb3,0xd, 0x3f,
+0x70,0x14,0x7e,0xb3,0xd, 0x3c,0x70,0xe, 0x7e,0xb3,0x6, 0x67,0x20,0xe0,0x2, 0xc1,
+0x61,0x20,0xe2,0x2, 0xc1,0x61,0x7c,0xba,0x30,0xe1,0x8, 0x7e,0xb3,0x6, 0x12,0xf5,
+0x28,0x80,0x6, 0x7e,0xb3,0x6, 0x13,0xf5,0x28,0x7c,0xba,0x30,0xe1,0x7, 0x7e,0xb3,
+0x6, 0x67,0x30,0xe2,0x5, 0x75,0x29,0x1, 0x80,0x3, 0x75,0x29,0x2, 0x7e,0xb3,0xd,
+0x3c,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x3c,0x7e,0xb3,0x6, 0x67,0x30,
+0xe5,0xb, 0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x12,0x17,0xd2,
+0x4e,0x70,0x2, 0x1b,0x28,0x30,0x12,0x5a,0x97,0x7e,0x73,0x6, 0xd6,0xa, 0x57,0x12,
+0x17,0x8f,0x12,0x5a,0xb5,0x75,0x25,0x0, 0xc1,0x2d,0x12,0x43,0x6b,0x75,0x26,0x0,
+0x80,0x72,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0x6c,0x77,0x12,0x17,0xa0,0x80,0x4, 0xe4,
+0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x75,0x24,0x0, 0x80,0x50,0x12,0x5a,0xa1,
+0x9, 0x23,0x6, 0x96,0x7a,0x21,0x27,0x7e,0x71,0x25,0x74,0x3, 0xac,0x7b,0xe5,0x26,
+0xa, 0x2b,0x2d,0x23,0x7e,0x34,0x0, 0x58,0xad,0x32,0x7e,0x30,0x4, 0xac,0x23,0x2d,
+0x13,0x59,0x71,0x0, 0xa8,0x59,0x61,0x0, 0xa6,0x7e,0x73,0x6, 0xd6,0xbe,0x70,0x2,
+0x38,0x19,0xa, 0x7, 0x7e,0x54,0x0, 0x3, 0x9d,0x50,0x2e,0x14,0x0, 0xa6,0x12,0x2d,
+0xbb,0x60,0x5, 0x2f,0x11,0x14,0x78,0xfb,0x12,0x17,0xe7,0x5, 0x24,0x12,0x17,0x61,
+0x38,0xab,0x5, 0x26,0xe5,0x28,0xbe,0xb1,0x26,0x38,0x87,0x5, 0x25,0xe5,0x29,0xbe,
+0xb1,0x25,0x28,0x2, 0xa1,0xaa,0x7e,0x37,0x6, 0xa, 0x99,0x34,0x12,0x17,0xd2,0x5e,
+0x70,0xfd,0x1b,0x28,0x30,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0xa, 0x1b,0x3e,0x14,0x12,
+0x37,0x1a,0x12,0x5a,0x97,0x7e,0xb3,0x6, 0xca,0x12,0x17,0x89,0x12,0x5a,0xb5,0xe1,
+0x57,0x7e,0xb3,0x6, 0xc9,0x30,0xe0,0x51,0x7e,0xb3,0x6, 0x67,0x30,0xe5,0x5, 0x12,
+0x17,0x5a,0x50,0x11,0x74,0x2, 0x12,0x17,0xda,0x12,0x43,0x6b,0x12,0x17,0x97,0x80,
+0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0xe4,0x12,0x17,0xda,0x75,0x24,
+0x0, 0x80,0x17,0x12,0x5a,0xa1,0x9, 0xa3,0x6, 0x96,0x7a,0xa1,0x27,0x74,0x4, 0xa4,
+0x59,0x75,0x3, 0x5e,0x59,0x65,0x3, 0x5c,0x5, 0x24,0x12,0x17,0x61,0x38,0xe4,0x7e,
+0xb3,0x6, 0x67,0x30,0xe5,0x3, 0x12,0x17,0x97,0x75,0x24,0x0, 0xe1,0x4a,0xe5,0x24,
+0xa, 0x3b,0x9, 0xb3,0x6, 0x96,0xf5,0x27,0x12,0x17,0xe0,0x30,0xe1,0x19,0x7e,0xb3,
+0x6, 0xca,0xc4,0x23,0x54,0x7, 0xbe,0xb0,0x2, 0x38,0x22,0x12,0x5a,0x76,0x60,0x16,
+0x2f,0x11,0x14,0x78,0xfb,0x80,0xf, 0x12,0x23,0x28,0x38,0x11,0x12,0x5a,0x76,0x60,
+0x5, 0x2f,0x11,0x14,0x78,0xfb,0x59,0x34,0x0, 0x2, 0x1b,0x48,0x20,0x7c,0xba,0x30,
+0xe0,0x46,0x7e,0x31,0x27,0x74,0x2, 0xac,0x3b,0x49,0xf1,0x5, 0x90,0x7d,0x3f,0x1a,
+0x36,0x1a,0xe6,0x7e,0x11,0x27,0x74,0x4, 0xac,0x1b,0x49,0x30,0x3, 0x5e,0x49,0x20,
+0x3, 0x5c,0x7f,0x21,0x9f,0x27,0x59,0x50,0x4, 0x16,0x59,0x40,0x4, 0x14,0x49,0xf1,
+0x5, 0x34,0x7d,0x1f,0x1a,0x12,0x1a,0xe2,0x7e,0x31,0x27,0x74,0x4, 0xac,0x3b,0x2e,
+0x14,0x3, 0x5c,0x9f,0x17,0x12,0x17,0xe7,0x5, 0x24,0x12,0x17,0x61,0x28,0x2, 0xc1,
+0xbe,0x7e,0x37,0x6, 0xc, 0x99,0x34,0xda,0x3b,0x22,0x30,0xa, 0x2, 0xd3,0x22,0xc3,
+0x22,0x7e,0x73,0x6, 0xc8,0xbe,0x71,0x24,0x22,0x1a,0x26,0x1a,0x24,0x7f,0x1, 0x2,
+0x3, 0xec,0x7a,0xb3,0x6, 0xca,0x7e,0x44,0x12,0x0, 0xb, 0x48,0x50,0x5e,0xa0,0x1f,
+0x1b,0x48,0x50,0x7e,0x73,0x6, 0xca,0x7c,0xb7,0xc4,0x23,0x54,0x7, 0xa, 0x5b,0xc4,
+0x23,0x54,0xe0,0x7c,0xab,0xe4,0x22,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0x7e,0x70,0x1,
+0x24,0xff,0x92,0xb, 0xc2,0xc6,0xd2,0xee,0xa9,0xd6,0xf7,0xd2,0xfe,0x4c,0x77,0x68,
+0x15,0xc2,0xaf,0x12,0x17,0xd2,0x4e,0x70,0x1, 0x1b,0x28,0x30,0x7e,0x37,0x6, 0x0,
+0x99,0x34,0xd2,0xaf,0x80,0x9, 0x12,0x17,0xd2,0x4e,0x70,0x1, 0x1b,0x28,0x30,0xc2,
+0xa, 0x22,0x7e,0x24,0x12,0x0, 0xb, 0x28,0x30,0x22,0x7e,0x37,0x6, 0x2, 0x89,0x34,
+0x7e,0xa3,0x6, 0xd7,0x7c,0xba,0x22,0x59,0x31,0x0, 0x2, 0x1b,0x18,0x20,0x22,0x7e,
+0x34,0x0, 0x1, 0x7a,0x35,0x27,0x22,0x7e,0x35,0x27,0xbe,0x34,0x0, 0x1, 0x22,0xca,
+0xf8,0x7e,0xa3,0x6, 0xd7,0x7c,0xfa,0x5e,0xf0,0x1, 0x7c,0xba,0x12,0x1f,0xea,0x12,
+0x15,0x1d,0x6c,0xaa,0x80,0x3b,0x7e,0xb3,0x6, 0x4d,0x60,0xb, 0xb4,0x2, 0x30,0xa,
+0x3a,0x9, 0xb3,0xa, 0xbb,0x60,0x28,0x7e,0x90,0x4, 0xac,0x9a,0x49,0x34,0x3, 0x5e,
+0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0x5, 0x34,0x59,0x32,0x5, 0x90,0x9f,0x11,0x59,
+0x34,0x3, 0x5e,0x59,0x24,0x3, 0x5c,0x59,0x34,0x4, 0x16,0x59,0x24,0x4, 0x14,0xb,
+0xa0,0x12,0x18,0x6b,0x38,0xc0,0x7c,0x6f,0x5e,0x60,0x1, 0x7e,0x73,0x6, 0xd7,0x5e,
+0x70,0xfe,0x4c,0x76,0x7a,0x73,0x6, 0xd7,0xda,0xf8,0x22,0x7e,0xb3,0x6, 0xc8,0xbc,
+0xba,0x22,0x6c,0xaa,0x80,0x9, 0x12,0x19,0xf, 0x70,0x2, 0x21,0xe, 0xb, 0xa0,0x12,
+0x18,0x6b,0x38,0xf2,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x2, 0x21,0xe, 0x6c,0xaa,0x80,
+0x78,0x12,0x19,0xf, 0xb4,0x1, 0x70,0x7e,0xb3,0x6, 0xc6,0xbc,0xba,0x28,0x21,0x12,
+0x22,0x8a,0x7e,0xb3,0x6, 0x45,0x12,0x5b,0x6a,0x8, 0x6, 0x7e,0xb3,0x6, 0x43,0x80,
+0x1f,0x6d,0x33,0x9d,0x34,0x12,0x19,0x1e,0x58,0x4d,0x7e,0xb3,0x6, 0x44,0x80,0x34,
+0x12,0x22,0x8a,0x7e,0xb3,0x6, 0x48,0x12,0x5b,0x6a,0x8, 0x1b,0x7e,0xb3,0x6, 0x46,
+0xa, 0xeb,0x7e,0x50,0x2, 0xac,0x5a,0x7d,0xf2,0x2e,0xf4,0x5, 0x34,0xb, 0xf8,0x20,
+0x2d,0x2e,0x1b,0xf8,0x20,0x80,0x20,0x6d,0x33,0x9d,0x34,0x12,0x19,0x1e,0x58,0x17,
+0x7e,0xb3,0x6, 0x47,0xa, 0x4b,0x7e,0x50,0x2, 0xac,0x5a,0x2e,0x24,0x5, 0x34,0xb,
+0x28,0x30,0x9d,0x34,0x1b,0x28,0x30,0xb, 0xa0,0x12,0x18,0x6b,0x38,0x83,0x22,0x7e,
+0x34,0x6, 0x15,0x7c,0xba,0x2, 0x1a,0x54,0x6e,0x34,0xff,0xff,0xb, 0x34,0x1a,0x26,
+0x1a,0x24,0xbf,0x1, 0x22,0xca,0x3b,0x6c,0xee,0x6d,0x66,0x7e,0xb3,0x6, 0x67,0x30,
+0xe1,0x2, 0x41,0x33,0x6c,0xff,0x21,0xe9,0x12,0x1a,0x4e,0xb4,0x1, 0x2, 0x80,0x2,
+0x21,0xe7,0x7e,0x73,0x6, 0xc6,0xbc,0x7f,0x28,0x59,0xb, 0xe0,0x7e,0x50,0x4, 0xac,
+0x5f,0x49,0xd2,0x3, 0x5e,0x49,0xc2,0x3, 0x5c,0x7e,0x73,0x6, 0x45,0xa, 0x37,0x7d,
+0x53,0x1a,0x4a,0x1a,0x48,0xbf,0x62,0x8, 0xb, 0x12,0x1a,0x36,0xbf,0x2, 0x8, 0x4,
+0xb, 0x64,0x80,0x17,0x6d,0xff,0x9d,0xf3,0x7d,0x1f,0x1a,0x12,0x1a,0xe2,0xbf,0x67,
+0x58,0x9, 0x12,0x1a,0x36,0xbf,0x7, 0x58,0x2, 0x1b,0x64,0x12,0x1a,0x36,0xbf,0x2,
+0x8, 0x6, 0x7e,0xb3,0x6, 0x43,0x80,0x29,0x12,0x19,0x18,0x58,0x4a,0x7e,0x73,0x6,
+0x44,0x80,0x3c,0x7e,0x50,0x4, 0xac,0x5f,0x12,0x1a,0x36,0x7e,0x73,0x6, 0x48,0xa,
+0x37,0x7d,0x53,0x7d,0xf3,0x1a,0x5a,0x1a,0xea,0xbf,0x7, 0x8, 0x19,0x7e,0xb3,0x6,
+0x46,0xa, 0xfb,0x7e,0x90,0x2, 0xac,0x9f,0x2e,0x44,0x5, 0x90,0xb, 0x48,0x50,0x2d,
+0x5f,0x1b,0x48,0x50,0x80,0x11,0x12,0x19,0x18,0x58,0xc, 0x7e,0x73,0x6, 0x47,0x12,
+0x1a,0x3f,0x9d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,0x6a,0x28,0x2, 0x21,0x38,
+0xbe,0xe0,0x0, 0x28,0x3e,0x7d,0x36,0x12,0x0, 0x2e,0xa, 0x2e,0xbd,0x32,0x78,0x33,
+0x6c,0xff,0x80,0x2a,0x12,0x1a,0x4e,0x70,0x23,0xbe,0x64,0x0, 0x0, 0x8, 0xb, 0x7e,
+0x73,0x6, 0x43,0x12,0x1a,0x3f,0x2d,0x31,0x80,0xf, 0xbe,0x64,0x0, 0x0, 0x58,0xc,
+0x7e,0x73,0x6, 0x44,0x12,0x1a,0x3f,0x9d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,
+0x6a,0x38,0xd1,0xda,0x3b,0x22,0x49,0x12,0x4, 0x16,0x49,0x2, 0x4, 0x14,0x22,0xa,
+0x17,0x7e,0x50,0x2, 0xac,0x5f,0x2e,0x24,0x5, 0x90,0xb, 0x28,0x30,0x22,0x7e,0x34,
+0x6, 0x15,0x7c,0xbf,0x7d,0x23,0x4d,0x22,0x68,0x5, 0xbe,0xb0,0x2e,0x40,0x3, 0x74,
+0x1, 0x22,0xa, 0x3b,0x2d,0x32,0x7e,0x39,0xb0,0x22,0x7e,0x73,0x6, 0xc8,0xbc,0x7f,
+0x22,0xca,0x3b,0x75,0x23,0x0, 0x7e,0xb3,0x6, 0xd7,0x54,0xfd,0x7a,0xb3,0x6, 0xd7,
+0x7e,0x67,0x6, 0xd8,0x7e,0xb3,0x6, 0x67,0x30,0xe5,0x11,0x80,0x4, 0xe4,0x12,0xf,
+0xcd,0x12,0x17,0x5a,0x50,0xf7,0x75,0x23,0x1, 0x12,0x41,0x1d,0x12,0x5a,0x93,0x7e,
+0x73,0x6, 0xd6,0xa, 0x57,0x12,0x17,0x8f,0x12,0x5a,0xb5,0x6c,0xff,0x6d,0x33,0x80,
+0xa, 0x74,0x2, 0xac,0xbf,0x59,0x35,0x9, 0xfd,0xb, 0xf0,0x7e,0x53,0x6, 0xc8,0xbc,
+0x5f,0x38,0xee,0x6c,0xee,0x61,0x68,0x6c,0xff,0x80,0x15,0x7e,0xb3,0x6, 0x4d,0x60,
+0x5, 0x12,0x1b,0xd2,0x60,0x8, 0x6d,0x22,0x12,0x1b,0xca,0x1b,0x38,0x20,0xb, 0xf0,
+0x12,0x1a,0x6a,0x38,0xe6,0x75,0x22,0x0, 0x6d,0x33,0x7e,0xa1,0x22,0x74,0x2, 0xa4,
+0x59,0x35,0xb, 0xc3,0x5, 0x22,0xe5,0x22,0xb4,0x2e,0xed,0x6c,0xff,0x80,0x17,0xa,
+0x2f,0x7e,0x34,0x0, 0x9, 0x9d,0x32,0x7a,0x73,0xc, 0x1f,0x12,0x50,0xe2,0x12,0x41,
+0x28,0x12,0x50,0x71,0xb, 0xf0,0x7e,0x73,0x6, 0x14,0xbc,0x7f,0x38,0xe1,0x6c,0xff,
+0x80,0x3f,0x7e,0x50,0x2, 0xac,0x5f,0x49,0x12,0x9, 0xfd,0x12,0x1b,0xca,0xb, 0x38,
+0x30,0xbd,0x13,0x50,0x2a,0x59,0x32,0x9, 0xfd,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,
+0x1b,0xd2,0x60,0x1b,0x12,0x1f,0xdd,0x74,0x2, 0xac,0xbf,0x59,0x35,0x5, 0x34,0x74,
+0x2, 0xac,0xbf,0x49,0x35,0x5, 0x34,0x74,0x2, 0xac,0xbf,0x59,0x35,0x5, 0x90,0xb,
+0xf0,0x12,0x1a,0x6a,0x38,0xbc,0xb, 0xe0,0x7e,0x73,0x6, 0x11,0xbc,0x7e,0x28,0x2,
+0x41,0xc7,0x6c,0xff,0x80,0x1b,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x1b,0xd2,0x60,
+0xe, 0x74,0x2, 0xac,0xbf,0x49,0x25,0x9, 0xfd,0x12,0x1b,0xca,0x1b,0x38,0x20,0xb,
+0xf0,0x12,0x1a,0x6a,0x38,0xe0,0x74,0x3, 0x12,0x17,0xda,0x12,0x1f,0xa8,0x12,0x1f,
+0xf9,0xe5,0x23,0x60,0x15,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,
+0x7e,0xb3,0x6, 0x67,0x44,0x20,0x7a,0xb3,0x6, 0x67,0x12,0x5a,0x93,0x7e,0xb3,0x6,
+0xca,0x12,0x17,0x89,0x12,0x5a,0xb5,0xda,0x3b,0x22,0x7e,0x70,0x2, 0xac,0x7f,0x2d,
+0x36,0x22,0xa, 0x3f,0x2e,0x37,0x6, 0x4e,0x7e,0x39,0xb0,0x22,0xca,0x79,0x12,0x1f,
+0xe6,0x6d,0x33,0x6c,0xee,0x80,0xa, 0x74,0x2, 0xac,0xbe,0x59,0x35,0x9, 0xfd,0xb,
+0xe0,0x7e,0x53,0x6, 0xc8,0xbc,0x5e,0x38,0xee,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0x3f,
+0x6c,0xee,0x80,0x31,0x12,0x41,0x28,0x6c,0xff,0x80,0x23,0x7e,0x50,0x2, 0xac,0x5f,
+0x49,0xf2,0x9, 0xfd,0x6d,0xee,0x74,0x4, 0xac,0xbf,0x49,0x15,0x3, 0x5e,0x49,0x5,
+0x3, 0x5c,0xbf,0x7, 0x8, 0x6, 0x7d,0x31,0x59,0x32,0x9, 0xfd,0xb, 0xf0,0x12,0x1a,
+0x6a,0x38,0xd8,0xb, 0xe0,0x7e,0x73,0x6, 0x10,0xbc,0x7e,0x38,0xc7,0x80,0x39,0x7e,
+0xe0,0x1, 0x12,0x15,0x1d,0x6c,0xff,0x80,0x23,0x12,0x1f,0xdd,0x49,0x25,0x3, 0x5c,
+0x7e,0x8, 0x0, 0x4, 0x12,0x4, 0x59,0x7d,0x13,0x7e,0x50,0x2, 0xac,0x5f,0x2e,0x24,
+0x9, 0xfd,0xb, 0x28,0x30,0x2d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,0x6a,0x38,
+0xd8,0xb, 0xe0,0xbe,0xe0,0x4, 0x28,0xca,0x6c,0xee,0x80,0x3b,0x7e,0xa3,0x6, 0x4d,
+0x4c,0xaa,0x68,0x19,0xbe,0xa0,0x1, 0x78,0x7, 0xa, 0x3e,0x12,0x1b,0xd4,0x70,0xd,
+0xbe,0xa0,0x3, 0x78,0x20,0xa, 0x3e,0x9, 0xb3,0xa, 0x8d,0x60,0x18,0x74,0x2, 0xac,
+0xbe,0x49,0x35,0x9, 0xfd,0x59,0x35,0x5, 0x34,0x74,0x2, 0xac,0xbe,0x49,0x35,0x9,
+0xfd,0x59,0x35,0x5, 0x90,0xb, 0xe0,0x7e,0x73,0x6, 0xc8,0xbc,0x7e,0x38,0xbd,0xda,
+0x79,0x22,0x12,0x1e,0xf3,0x12,0x3e,0x5e,0x2, 0x1b,0xdc,0x7e,0x34,0x0, 0x24,0x12,
+0x4f,0x6, 0xbe,0xb0,0x1, 0x68,0x8, 0x80,0xfe,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,
+0x17,0x5a,0x50,0xf7,0xa9,0xc3,0xea,0x6d,0x11,0x7e,0x44,0x12,0x0, 0x1b,0x48,0x10,
+0x7e,0x53,0x6, 0xc9,0x7c,0xb5,0x54,0x1, 0xa, 0x5b,0x12,0x1e,0xda,0x7c,0x75,0x1e,
+0x70,0x5e,0x70,0x3, 0xa, 0x57,0x3e,0x54,0x3e,0x54,0x3e,0x54,0x12,0x1e,0xd6,0x7e,
+0x63,0x6, 0xca,0x7c,0xb6,0x54,0x1, 0x12,0x1f,0xf1,0x12,0x1e,0xda,0x7c,0xb6,0x1e,
+0xb0,0x54,0x3, 0x12,0x1f,0xf1,0x12,0x1e,0xd6,0x7c,0xb6,0x12,0x17,0x89,0x12,0x1e,
+0xdc,0x7e,0x54,0x13,0x14,0xb, 0x58,0x0, 0x6c,0x0, 0x12,0x1e,0xcf,0x5e,0x10,0xbf,
+0x12,0x1e,0xcf,0x4e,0x10,0x40,0x12,0x1e,0xcf,0x5e,0x10,0xcf,0x12,0x1e,0xcf,0x4e,
+0x10,0x10,0x12,0x1e,0xcf,0x5e,0x10,0xfc,0x12,0x1e,0xcf,0xa5,0xbf,0x0, 0x5, 0x4e,
+0x10,0x1, 0x80,0x3, 0x4e,0x10,0x3, 0x1b,0x58,0x0, 0x7e,0x44,0x12,0x2, 0x1b,0x48,
+0x10,0x7e,0x43,0x6, 0xc8,0xa, 0x54,0x7c,0xab,0xe4,0x12,0x1e,0xdc,0x7e,0xa3,0x6,
+0xcb,0x7c,0xba,0x23,0x54,0x1, 0xa, 0xfb,0xb, 0x48,0x0, 0x4d,0xf, 0x1b,0x48,0x0,
+0x7c,0xba,0x30,0xe6,0xe, 0x7c,0xb5,0x30,0xe0,0x9, 0xb, 0x48,0x20,0x4e,0x50,0x8,
+0x1b,0x48,0x20,0x7c,0xb6,0x30,0xe6,0x12,0xb, 0x48,0x0, 0x4e,0x10,0x20,0x1b,0x48,
+0x0, 0xb, 0x48,0x0, 0x4e,0x10,0x10,0x1b,0x48,0x0, 0x7e,0x24,0x12,0x4, 0xb, 0x28,
+0x0, 0x5e,0x0, 0x7f,0x1b,0x28,0x0, 0xb, 0x28,0x0, 0x4e,0x0, 0x80,0x1b,0x28,0x0,
+0x7e,0x24,0x13,0x1e,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xce,0x12,0x1e,0xc2,0x7e,0x63,
+0x6, 0xd1,0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x24,0x12,0x8, 0x1b,0x28,0x10,0x7e,0x63,
+0x6, 0xcc,0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x63,0x6, 0xcd,0x12,0x1e,0xc2,0x7e,0x24,
+0x13,0x20,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xcf,0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x63,
+0x6, 0xd0,0x12,0x1e,0xc2,0x7e,0x24,0x13,0x22,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xd2,
+0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x63,0x6, 0xd3,0x12,0x1e,0xc2,0x7e,0x4, 0x12,0xa,
+0x1b,0x8, 0x10,0xa5,0xbf,0x0, 0x8, 0xb, 0x8, 0x10,0x4e,0x20,0x1, 0x80,0x1b,0xa5,
+0xbf,0x1, 0x8, 0xb, 0x8, 0x10,0x4e,0x20,0x11,0x80,0xf, 0xb, 0x8, 0x10,0xa5,0xbf,
+0x2, 0x5, 0x4e,0x20,0x33,0x80,0x3, 0x4e,0x20,0xff,0x1b,0x8, 0x10,0x7c,0xba,0x1e,
+0xb0,0x54,0x3, 0xa, 0x3b,0xb, 0x8, 0x10,0x4d,0x13,0x1b,0x8, 0x10,0x12,0x4f,0x29,
+0xb, 0x8, 0x10,0x5e,0x30,0xfb,0x1b,0x8, 0x10,0xb, 0x8, 0x30,0x4e,0x70,0x4, 0x1b,
+0x8, 0x30,0x7e,0x73,0x6, 0xd4,0xa, 0x27,0x7e,0x34,0x13,0x10,0x1b,0x38,0x20,0x12,
+0x4f,0x92,0x7e,0xb3,0x6, 0xca,0x1e,0xb0,0x54,0x3, 0xbe,0xb0,0x1, 0x68,0x3, 0xb4,
+0x2, 0xb, 0x7e,0x27,0x6, 0xc4,0x7e,0x34,0x13,0x12,0x1b,0x38,0x20,0x74,0x2, 0x7a,
+0xb3,0x6, 0xda,0xd2,0x8e,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x7e,0xb3,0x6, 0xda,0x70,
+0xf6,0x22,0x7c,0x86,0x6c,0x99,0xb, 0x28,0x0, 0x4d,0x4, 0x1b,0x28,0x0, 0x22,0x1b,
+0x58,0x0, 0xb, 0x58,0x0, 0x22,0x3e,0x54,0x3e,0x54,0x3e,0x54,0xb, 0x48,0x0, 0x4d,
+0x5, 0x1b,0x48,0x0, 0x22,0x7e,0xb3,0x3, 0x34,0x12,0x43,0xb3,0x7e,0xb3,0x3, 0x34,
+0x12,0x3f,0xc9,0x12,0x1c,0xcb,0x7e,0xb3,0x3, 0x34,0x54,0x7f,0x7a,0xb3,0x3, 0x34,
+0x12,0x1a,0x71,0x7e,0xb3,0x3, 0x34,0x44,0x80,0x7a,0xb3,0x3, 0x34,0x22,0xca,0xf8,
+0x12,0x49,0xe0,0x7e,0x34,0x2, 0xd4,0x7a,0x37,0x6, 0xd8,0x12,0x31,0x3a,0x12,0x1e,
+0xe5,0x75,0x39,0x3, 0x75,0x37,0x40,0x12,0x49,0xe0,0xe5,0x39,0xb4,0x3, 0x40,0xe5,
+0x3f,0x60,0xf4,0x12,0x1f,0xf9,0x12,0x1f,0xea,0x12,0x1f,0x78,0x12,0x15,0x1d,0x6c,
+0xff,0x80,0xd, 0x12,0x1f,0xdd,0x74,0x2, 0xac,0xbf,0x59,0x35,0xc, 0x20,0xb, 0xf0,
+0x12,0x1a,0x6a,0x38,0xee,0x75,0x3f,0x0, 0x7e,0xb3,0xc, 0xd6,0x54,0x7f,0x7a,0xb3,
+0xc, 0xd6,0xe5,0xa, 0x20,0xe0,0xc0,0x74,0x1, 0x7a,0xb3,0x3, 0x42,0x80,0xb8,0xe5,
+0x39,0x7a,0xb3,0xb, 0x9f,0xda,0xf8,0x22,0xe5,0xa, 0x30,0xe0,0x8, 0x12,0x1e,0xe5,
+0x53,0xa, 0xfc,0x80,0xb, 0xe5,0xa, 0x30,0xe1,0x6, 0x12,0x1f,0xa8,0x53,0xa, 0xfd,
+0xe5,0xa, 0x30,0xe2,0x12,0x53,0xca,0xf1,0x7e,0x73,0x3, 0x41,0xa, 0x37,0x3e,0x34,
+0x7c,0xb7,0x42,0xca,0x53,0xa, 0xfb,0x22,0x12,0x50,0xdb,0x80,0x2a,0xa, 0x2a,0x9,
+0x32,0x6, 0x96,0x7e,0x50,0x2, 0xac,0x53,0x2d,0x23,0xb, 0x28,0x20,0x7e,0xb3,0x6,
+0x4d,0x60,0x7, 0xa, 0x13,0x12,0x51,0x36,0x60,0xb, 0xa, 0x1a,0x3e,0x14,0x2e,0x14,
+0x12,0x14,0x1b,0x18,0x20,0xb, 0xa0,0x12,0x18,0x6b,0x38,0xd1,0x22,0x74,0x4, 0xac,
+0xbf,0x49,0x35,0x3, 0x5e,0x22,0x7e,0xb3,0x6, 0xd7,0x54,0xfe,0x7a,0xb3,0x6, 0xd7,
+0x22,0xa, 0xb, 0x7d,0x50,0x7c,0xab,0xe4,0x22,0x7e,0xb3,0x6, 0xd7,0x44,0x2, 0x7a,
+0xb3,0x6, 0xd7,0x22,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0x34,0x6c,0xaa,0x80,0x28,0xa,
+0x3a,0x9, 0x73,0x6, 0x96,0x7e,0xb3,0x6, 0xd7,0x30,0xe0,0x19,0x7e,0x50,0x4, 0xac,
+0x57,0x49,0xf2,0x3, 0x5e,0x49,0xe2,0x3, 0x5c,0x7e,0x17,0x5, 0xee,0x12,0x7, 0x7d,
+0x58,0x3, 0x12,0x20,0x4a,0xb, 0xa0,0x7e,0x63,0x6, 0xc8,0xbc,0x6a,0x38,0xd0,0x22,
+0x7e,0x11,0x22,0x2e,0x10,0x41,0x74,0x1, 0xa5,0xf7,0x74,0x3c,0x7a,0xb3,0xd, 0x3c,
+0x22,0xca,0x3b,0x7e,0x38,0x75,0x30,0x75,0x28,0x0, 0x7e,0x34,0xc, 0xf8,0x7e,0x24,
+0x0, 0x18,0xe4,0x12,0x4, 0xeb,0x7e,0x34,0x0, 0x41,0x7e,0x24,0x0, 0x6, 0xe4,0x12,
+0x4, 0xeb,0x7e,0xb3,0x6, 0xd7,0x30,0xe1,0x7, 0x7e,0xb3,0x6, 0x67,0x30,0xe2,0x5,
+0x75,0x27,0x1, 0x80,0x3, 0x75,0x27,0x2, 0x75,0x22,0x1, 0x21,0x75,0x9f,0x11,0x7a,
+0x1f,0x9, 0xfd,0x75,0x23,0x0, 0x21,0x2c,0x12,0x22,0x59,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe1,0x42,0x30,0xe0,0x3f,0x7e,0x11,0x24,0x74,0x4, 0xac,0x1b,0x12,0x22,0x78,0x7e,
+0xa1,0x24,0x12,0x22,0x6c,0x7a,0x1f,0xa, 0x5, 0xbe,0x1c,0xfc,0xe0,0x58,0x5, 0x12,
+0x20,0x40,0x80,0x6f,0x7e,0x73,0x6, 0xc6,0xbe,0x71,0x24,0x28,0x17,0x7e,0xf, 0xa,
+0x5, 0x7e,0x1f,0x9, 0xfd,0xbf,0x10,0x58,0xb, 0x7e,0x1f,0xa, 0x5, 0x7a,0x1f,0x9,
+0xfd,0x85,0x24,0x25,0x7e,0x91,0x24,0x74,0x4, 0xac,0x9b,0x7e,0xa1,0x22,0x74,0x58,
+0xa4,0x2d,0x54,0x49,0x15,0x0, 0x50,0x49,0x5, 0x0, 0x4e,0x49,0x35,0x0, 0xa8,0x49,
+0x25,0x0, 0xa6,0x9f,0x10,0x12,0x4, 0xdb,0x7a,0x1f,0xa, 0x1, 0x7e,0xa1,0x22,0x74,
+0x4, 0xa4,0x49,0x15,0xc, 0xfa,0x49,0x5, 0xc, 0xf8,0xbf,0x10,0x8, 0xc, 0x7e,0x1f,
+0xa, 0x1, 0x59,0x35,0xc, 0xfa,0x59,0x25,0xc, 0xf8,0x5, 0x23,0x12,0x22,0x64,0x28,
+0x2, 0x1, 0x98,0x7e,0x7f,0x9, 0xfd,0xbe,0x78,0x2, 0x58,0x8, 0x36,0x7e,0x73,0x6,
+0xc6,0xbe,0x71,0x25,0x28,0x2d,0xe5,0x25,0xa, 0x3b,0x2e,0x34,0x0, 0xb, 0x7e,0x24,
+0x0, 0x16,0x12,0x3, 0xba,0x7c,0xa5,0x7a,0xa1,0x26,0x7e,0x10,0x4, 0xac,0x1a,0x12,
+0x22,0x78,0x12,0x22,0x6c,0x7e,0x14,0x0, 0x5, 0x12,0x3, 0xfd,0xbf,0x71,0x8, 0x3,
+0x12,0x20,0x40,0x5, 0x22,0x7e,0x31,0x27,0x74,0x3, 0xac,0x3b,0xe5,0x22,0xa, 0xb,
+0xbd,0x1, 0x58,0x2, 0x1, 0x8d,0x75,0x22,0x1, 0x80,0x23,0x7e,0x11,0x22,0x2e,0x10,
+0x41,0xa5,0xe7,0x70,0x17,0x7e,0xa1,0x22,0x74,0x4, 0xa4,0x49,0x35,0xc, 0xfa,0x49,
+0x25,0xc, 0xf8,0xbf,0x13,0x58,0x5, 0x7f,0x31,0x85,0x22,0x28,0x5, 0x22,0xe5,0x22,
+0xa, 0xb, 0xbd,0x1, 0x48,0xd5,0x7e,0x51,0x28,0x74,0x58,0xac,0x5b,0x2e,0x24,0x0,
+0xa6,0x7e,0x34,0x3, 0x5c,0x7e,0x14,0x0, 0x58,0x12,0x4, 0xae,0x7e,0xb3,0x6, 0xd7,
+0x30,0xe1,0x4c,0x75,0x23,0x0, 0x80,0x42,0x12,0x22,0x59,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe0,0x36,0x7e,0x11,0x24,0x74,0x2, 0xac,0x1b,0x49,0xf0,0x5, 0x90,0x7d,0x3f,0x1a,
+0x36,0x1a,0xe6,0x7e,0x31,0x24,0x74,0x4, 0xac,0x3b,0x12,0x23,0x35,0x7f,0x21,0x9f,
+0x27,0x59,0x51,0x4, 0x16,0x59,0x41,0x4, 0x14,0x49,0x50,0x5, 0x34,0x6d,0x44,0x2e,
+0x14,0x3, 0x5c,0x9f,0x12,0x12,0x17,0xe7,0x5, 0x23,0x12,0x22,0x64,0x38,0xb9,0x12,
+0x17,0xe0,0x30,0xe1,0x31,0x75,0x23,0x0, 0x80,0x23,0x12,0x22,0x59,0x7c,0xba,0x30,
+0xe0,0x19,0x7e,0x71,0x24,0x74,0x4, 0xac,0x7b,0x12,0x22,0x8f,0x7e,0x37,0x5, 0xee,
+0x1a,0x26,0x1a,0x24,0xbf,0x10,0x8, 0x3, 0x12,0x20,0x4a,0x5, 0x23,0x7e,0xb3,0x6,
+0xc8,0xbe,0xb1,0x23,0x38,0xd4,0xda,0x3b,0x22,0xe5,0x23,0xa, 0x3b,0x9, 0xb3,0x6,
+0x96,0xf5,0x24,0x22,0x7e,0x73,0x6, 0xc8,0xbe,0x71,0x23,0x22,0x74,0x2, 0xa4,0x49,
+0x15,0x5, 0x34,0x6d,0x0, 0x9f,0x10,0x22,0x7e,0x31,0x22,0x74,0x58,0xac,0x3b,0x2d,
+0x10,0x49,0x31,0x0, 0xa8,0x49,0x21,0x0, 0xa6,0x22,0x7e,0x70,0x4, 0xac,0x7a,0x49,
+0x13,0x3, 0x5e,0x49,0x3, 0x3, 0x5c,0x22,0x7c,0xab,0x6c,0x22,0x6c,0x11,0x7c,0x1,
+0x2e,0x0, 0x47,0xa5,0xe6,0xbc,0xb3,0x78,0x5, 0x7e,0x20,0x1, 0x80,0x7, 0xb, 0x10,
+0xbe,0x10,0x1, 0x40,0xe9,0x12,0x23,0x28,0x38,0x11,0xa, 0x4b,0x7e,0x4, 0x0, 0x3,
+0x9d,0x4, 0x7c,0xb1,0x60,0x5, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe0,0x24,0x7e,0x10,0x2, 0xac,0x13,0x49,0xf0,0x5, 0x34,0x7d,0xf, 0x1a,0x0, 0x1a,
+0xe0,0x7f,0x61,0x9f,0x67,0x7e,0xf7,0x5, 0xee,0x7d,0xf, 0x1a,0x0, 0x1a,0xe0,0xbf,
+0x76,0x8, 0x3, 0x12,0x20,0x4a,0x4c,0xaa,0x78,0x6, 0x74,0x4, 0xac,0xb3,0x80,0x10,
+0x4c,0x22,0x68,0x7, 0x12,0x23,0x19,0x8, 0xf, 0x80,0x5, 0x12,0x23,0x19,0x58,0x8,
+0x59,0x35,0x3, 0x5e,0x59,0x25,0x3, 0x5c,0x22,0x74,0x4, 0xac,0xb3,0x49,0xf5,0x3,
+0x5e,0x49,0xe5,0x3, 0x5c,0xbf,0x17,0x22,0x7e,0xb3,0x6, 0xd6,0xbe,0xb0,0x2, 0x22,
+0x7e,0x30,0x4, 0xac,0x3a,0x49,0x31,0x3, 0x5e,0x49,0x21,0x3, 0x5c,0x22,0x6c,0xaa,
+0xa, 0x3a,0x12,0x2c,0xf6,0x7c,0x3b,0xbe,0x30,0x16,0x50,0x9, 0x74,0x4, 0xac,0x3b,
+0x12,0x23,0x35,0x80,0x2, 0x9f,0x11,0x7e,0x30,0x4, 0xac,0x3a,0x59,0x31,0x9, 0x6f,
+0x59,0x21,0x9, 0x6d,0xb, 0xa0,0xbe,0xa0,0x24,0x40,0xd5,0x7e,0x1f,0x9, 0x85,0x7a,
+0x1d,0x2a,0x75,0x2f,0x0, 0x7e,0x34,0x9, 0x85,0x7a,0x35,0x30,0x7e,0x34,0x9, 0x9d,
+0x7a,0x35,0x32,0x7e,0x1f,0x9, 0x89,0x7e,0xf, 0x9, 0xa1,0xe4,0x12,0x24,0x39,0x7e,
+0x1f,0x9, 0x99,0x7a,0x1d,0x2a,0x75,0x2f,0x1, 0x7e,0x34,0x9, 0x99,0x7a,0x35,0x30,
+0x7e,0x34,0x9, 0xb1,0x7a,0x35,0x32,0x7e,0x1f,0x9, 0x95,0x7e,0xf, 0x9, 0xad,0xe4,
+0x12,0x24,0x39,0x7e,0x1f,0x9, 0xb5,0x7a,0x1d,0x2a,0x75,0x2f,0x0, 0x7e,0x34,0x9,
+0xb5,0x7a,0x35,0x30,0x7e,0x34,0x9, 0xcd,0x7a,0x35,0x32,0x7e,0x1f,0x9, 0xb9,0x7e,
+0xf, 0x9, 0xd1,0x74,0x1, 0x12,0x24,0x39,0x7e,0x1f,0x9, 0xc9,0x7a,0x1d,0x2a,0x75,
+0x2f,0x1, 0x7e,0x34,0x9, 0xc9,0x7a,0x35,0x30,0x7e,0x34,0x9, 0xe1,0x7a,0x35,0x32,
+0x7e,0x1f,0x9, 0xc5,0x7e,0xf, 0x9, 0xdd,0x74,0x1, 0x12,0x24,0x39,0xe4,0x12,0x24,
+0xb5,0x74,0x1, 0x12,0x24,0xb5,0x7e,0x34,0x9, 0x89,0x12,0x27,0xa2,0x7e,0x34,0x9,
+0xd1,0x12,0x27,0xa2,0x7e,0x34,0x9, 0x95,0x12,0x24,0x22,0x7e,0x34,0x9, 0xdd,0x2,
+0x24,0x22,0x12,0x27,0xd1,0xe5,0x14,0xa, 0x1b,0x6d,0x0, 0x12,0x27,0xb7,0x2, 0x24,
+0x31,0x59,0x3f,0x0, 0x2, 0x1b,0xf8,0x20,0x22,0xca,0x3b,0xf5,0x2e,0x7a,0xd, 0x26,
+0x7a,0x1d,0x22,0x7e,0x7d,0x2a,0xbe,0x78,0x0, 0x32,0x8, 0x56,0xe5,0x2f,0x70,0x4,
+0xe5,0x15,0x80,0x2, 0xe5,0x10,0x12,0x27,0xb1,0x7a,0x1d,0x2a,0x7e,0x1d,0x26,0x12,
+0x26,0x4, 0x7f,0x31,0x7e,0x1d,0x22,0x12,0x26,0x4, 0x2f,0x31,0x78,0x1a,0xe5,0x2e,
+0x60,0xb, 0x12,0x5b,0x23,0x12,0x24,0xa5,0x12,0x27,0x90,0x80,0x1a,0x12,0x27,0x90,
+0x12,0x24,0xa5,0x12,0x5b,0x23,0x80,0xf, 0x7e,0x1d,0x22,0x12,0x27,0x84,0x12,0x24,
+0xa5,0x7e,0x1d,0x26,0x12,0x27,0x84,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x32,0x12,
+0x24,0xad,0xda,0x3b,0x22,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x30,0x59,0x13,0x0,
+0x2, 0x1b,0x38,0x0, 0x22,0xca,0x3b,0x70,0x48,0x7e,0x1f,0x9, 0x89,0x7a,0x1f,0x9,
+0xfd,0x7e,0x1f,0x9, 0x8d,0x7a,0x1f,0xa, 0x1, 0x7e,0x1f,0x9, 0x91,0x7a,0x1f,0xa,
+0x5, 0x7e,0x1f,0x9, 0x95,0x7a,0x1f,0xa, 0x9, 0x7e,0x34,0x9, 0x71,0x7a,0x35,0x22,
+0x7e,0x34,0x9, 0x75,0x7a,0x35,0x24,0x7e,0x34,0x9, 0x79,0x7a,0x35,0x26,0x7e,0x34,
+0x9, 0x7d,0x7a,0x35,0x28,0xe5,0x8, 0xa, 0x1b,0x6d,0x0, 0x7e,0x1f,0x9, 0x71,0x80,
+0x46,0x7e,0x1f,0x9, 0xd1,0x7a,0x1f,0x9, 0xfd,0x7e,0x1f,0x9, 0xd5,0x7a,0x1f,0xa,
+0x1, 0x7e,0x1f,0x9, 0xd9,0x7a,0x1f,0xa, 0x5, 0x7e,0x1f,0x9, 0xdd,0x7a,0x1f,0xa,
+0x9, 0x7e,0x34,0x9, 0xe9,0x7a,0x35,0x22,0x7e,0x34,0x9, 0xed,0x7a,0x35,0x24,0x7e,
+0x34,0x9, 0xf1,0x7a,0x35,0x26,0x7e,0x34,0x9, 0xf5,0x7a,0x35,0x28,0xe5,0xf, 0xa,
+0x1b,0x6d,0x0, 0x7e,0x1f,0x9, 0xe9,0x12,0x27,0xb7,0x7f,0x31,0xbe,0x38,0x0, 0x32,
+0x18,0x2, 0xc1,0x1, 0x7e,0x1f,0x9, 0xfd,0x12,0x26,0x4, 0x7a,0x1f,0x9, 0xfd,0x7e,
+0x1f,0xa, 0x1, 0x12,0x26,0x4, 0x7a,0x1f,0xa, 0x1, 0x7e,0x1f,0xa, 0x5, 0x12,0x26,
+0x4, 0x12,0x27,0xf3,0x12,0x26,0x4, 0x7a,0x1f,0xa, 0x9, 0x7e,0x1f,0xa, 0x1, 0x7e,
+0x6f,0x9, 0xfd,0x2f,0x16,0x7e,0x7f,0xa, 0x5, 0x2f,0x71,0x78,0x16,0x7e,0x8, 0x0,
+0x8, 0x7f,0x13,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x22,0x12,0x24,0xad,0x12,0x5b,
+0x4f,0x80,0x10,0x12,0x5b,0x14,0x7e,0x35,0x22,0x12,0x24,0xad,0x7e,0xf, 0xa, 0x1,
+0x12,0x27,0xc9,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x24,0x12,0x24,0xad,0x7e,0x6f,
+0xa, 0x5, 0x7e,0x1f,0xa, 0x1, 0x2f,0x16,0x7e,0x7f,0xa, 0x9, 0x2f,0x71,0x78,0x16,
+0x12,0x5b,0x4f,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x26,0x12,0x24,0xad,0x7e,0x8,
+0x0, 0x8, 0x7f,0x13,0x80,0x10,0x12,0x5b,0x14,0x7e,0x35,0x26,0x12,0x24,0xad,0x7e,
+0xf, 0xa, 0x9, 0x12,0x27,0xc9,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x28,0x12,0x24,
+0xad,0xda,0x3b,0x22,0xbe,0x18,0x0, 0x32,0x8, 0x1, 0x22,0x9f,0x11,0x22,0xca,0x79,
+0x7c,0xe7,0x7c,0xfb,0x74,0x4, 0xac,0xbf,0x12,0x27,0xea,0x12,0x27,0x98,0x68,0xf,
+0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x57,0x49,0x25,0x9, 0x55,0x12,0x26,0x86,0xbe,
+0xe0,0x5, 0x68,0xf, 0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x87,0x49,0x25,0x9, 0x85,
+0x12,0x26,0x86,0x7e,0x1f,0xa, 0x15,0xda,0x79,0x22,0xca,0x79,0x7c,0xe7,0x7c,0xfb,
+0x74,0x4, 0xac,0xbf,0x12,0x27,0xea,0x12,0x27,0x98,0x68,0xf, 0x74,0x4, 0xac,0xbf,
+0x49,0x35,0x9, 0x6b,0x49,0x25,0x9, 0x69,0x12,0x26,0x86,0xbe,0xe0,0x5, 0x68,0xf,
+0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x73,0x49,0x25,0x9, 0x71,0x12,0x26,0x86,0x7e,
+0x1f,0xa, 0x15,0xda,0x79,0x22,0x12,0x26,0x4, 0x7f,0x1, 0x7e,0x1f,0xa, 0x15,0x2f,
+0x10,0x7a,0x1f,0xa, 0x15,0x22,0xca,0x3b,0x9f,0x11,0x7a,0x1f,0x0, 0xa2,0x6c,0xff,
+0xe1,0x7a,0x7c,0x1f,0x2e,0x10,0x16,0xa5,0xe7,0x7c,0xeb,0xa, 0x1e,0x7e,0x24,0x0,
+0x6, 0x8d,0x12,0x7c,0xd3,0xa, 0x3e,0x8d,0x32,0x7c,0xc5,0x12,0x27,0xdb,0x7c,0x7d,
+0x12,0x26,0xe, 0x7a,0x1f,0xa, 0xd, 0x4c,0xcc,0x68,0xc, 0x7c,0xbe,0x14,0x7c,0x7d,
+0x12,0x26,0xe, 0x7a,0x1f,0xa, 0x5, 0xbe,0xc0,0x5, 0x68,0xc, 0x7c,0xbe,0x4, 0x7c,
+0x7d,0x12,0x26,0xe, 0x7a,0x1f,0xa, 0x9, 0xa, 0x1c,0x12,0x5a,0xe4,0xa, 0x1c,0x12,
+0x5b,0x41,0xa, 0x1c,0x12,0x5a,0x58,0x7e,0x1f,0x0, 0xa2,0xbf,0x10,0x50,0x8, 0x7e,
+0x1f,0xa, 0x1, 0x7a,0x1f,0x0, 0xa2,0x7e,0x1f,0x9, 0xfd,0x74,0x6, 0x2f,0x11,0x14,
+0x78,0xfb,0x7e,0xf, 0xa, 0x1, 0x12,0x27,0xc1,0x7a,0x37,0xa, 0x11,0x12,0x27,0xdb,
+0x7c,0xbe,0x7c,0x7c,0x12,0x26,0x4a,0x7a,0x1f,0xa, 0xd, 0x4c,0xdd,0x68,0xd, 0x7c,
+0xbe,0x24,0xfa,0x7c,0x7c,0x12,0x26,0x4a,0x7a,0x1f,0xa, 0x5, 0xbe,0xd0,0x5, 0x68,
+0xd, 0x7c,0xbe,0x24,0x6, 0x7c,0x7c,0x12,0x26,0x4a,0x7a,0x1f,0xa, 0x9, 0xa, 0x1d,
+0x12,0x5a,0xe4,0xa, 0x1d,0x12,0x5b,0x41,0xa, 0x1d,0x12,0x5a,0x58,0x74,0x6, 0x2f,
+0x11,0x14,0x78,0xfb,0x12,0x27,0xc1,0x7a,0x37,0xa, 0x13,0x7e,0x27,0xa, 0x11,0x74,
+0x5, 0xac,0xbf,0x59,0x25,0x0, 0x7a,0x12,0x3c,0x55,0x12,0x38,0x94,0x50,0x2, 0xc1,
+0xa2,0xda,0x3b,0x22,0x12,0x26,0x4, 0x7e,0xd, 0x2a,0x12,0x3, 0xec,0x7f,0x3, 0x22,
+0x7e,0x8, 0x0, 0x4, 0x7e,0x1d,0x2a,0x22,0x12,0x26,0x4, 0x7a,0x1f,0xa, 0x15,0x4c,
+0xee,0x22,0x12,0x27,0xd1,0xe5,0x1b,0xa, 0x1b,0x6d,0x0, 0x12,0x27,0xb7,0x2, 0x24,
+0x31,0xa, 0x1b,0x6d,0x0, 0x7f,0x17,0x12,0x3, 0xec,0x7e,0x8, 0x0, 0x64,0x2, 0x4,
+0x59,0x12,0x4, 0x8, 0x2e,0x18,0x0, 0x20,0x22,0x7f,0x13,0x12,0x3, 0xec,0x7f,0x7,
+0x22,0x7d,0xf3,0x49,0x3f,0x0, 0x2, 0xb, 0xf8,0x20,0x22,0x9f,0x11,0x7a,0x1f,0xa,
+0x5, 0x7a,0x1f,0xa, 0x9, 0x22,0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x6f,0x49,0x25,
+0x9, 0x6d,0x22,0x7a,0x1f,0xa, 0x5, 0x7e,0x1f,0xa, 0x9, 0x22,0x9f,0x11,0x7a,0x1f,
+0x5, 0x28,0x7a,0x1f,0x5, 0x2c,0x6c,0xaa,0x12,0x23,0x30,0x7e,0x7f,0x5, 0x28,0xbf,
+0x71,0x58,0x4, 0x7a,0x1f,0x5, 0x28,0xb, 0xa0,0xbe,0xa0,0x16,0x40,0xea,0x7e,0x1f,
+0x5, 0x28,0x7a,0x1f,0x5, 0x2c,0x22,0x12,0x2f,0x75,0xa5,0xbe,0x1, 0x14,0x7e,0xa3,
+0xd, 0x12,0xbe,0xa0,0xfa,0x50,0x2c,0x7e,0xb3,0xd, 0x10,0x70,0x26,0x7c,0xba,0x4,
+0x80,0x1d,0xbe,0x60,0x2, 0x40,0x3, 0xe4,0x80,0x15,0x7e,0x53,0xd, 0x12,0xbe,0x50,
+0x4, 0x50,0xb, 0xbe,0x50,0x0, 0x28,0x6, 0x74,0x3, 0x7a,0xb3,0xd, 0x10,0xe4,0x7a,
+0xb3,0xd, 0x12,0x7e,0xa3,0xd, 0x10,0x4c,0xaa,0x68,0x20,0x4c,0x66,0x68,0x8, 0x7c,
+0xb7,0x12,0x28,0x90,0xe4,0x80,0x10,0x7c,0xb7,0xc4,0x54,0xf, 0xb4,0x1, 0x5, 0x7c,
+0xb7,0x12,0x2d,0x34,0x7c,0xba,0x14,0x7a,0xb3,0xd, 0x10,0x22,0x7e,0xb3,0x0, 0x90,
+0x54,0xf0,0x7a,0xb3,0x0, 0x90,0x22,0xca,0x3b,0x12,0x2f,0x3c,0x78,0x4, 0x6c,0xff,
+0x80,0x3, 0x7e,0xf0,0x2, 0x12,0x2d,0x19,0x78,0x1d,0x7c,0xba,0x54,0xf, 0xbe,0xb0,
+0x2, 0x40,0x14,0x5, 0x4d,0xe5,0x4d,0xbc,0xbf,0x38,0x5, 0x7c,0xba,0x12,0x28,0x90,
+0xe4,0x7a,0xb3,0xb, 0x37,0x80,0x3, 0x75,0x4d,0x0, 0x12,0x2d,0x19,0x78,0x8, 0x5e,
+0xa0,0xf, 0xbe,0xa0,0x1, 0x28,0x11,0xe4,0x7a,0xb3,0xb, 0x37,0x6d,0x33,0x7a,0x37,
+0xb, 0x4f,0x7a,0x37,0xb, 0x51,0x41,0x9d,0x7e,0xb3,0xb, 0xb3,0xbe,0xb0,0x1, 0x78,
+0x2, 0x41,0x9d,0x4c,0xaa,0x78,0x2, 0x41,0x6b,0x7e,0xe3,0xb, 0x37,0xbe,0xe0,0x2,
+0x28,0x2, 0x41,0x43,0x7c,0xbe,0x4, 0x7a,0xb3,0xb, 0x37,0x7e,0xa3,0xb, 0x37,0xbe,
+0xa0,0x1, 0x78,0x33,0x7e,0x37,0x0, 0x7a,0x7a,0x37,0xb, 0x41,0x7e,0x37,0x0, 0x7c,
+0x7a,0x37,0xb, 0x43,0x7e,0x1f,0xb, 0x41,0x7a,0x1f,0xb, 0x45,0x7e,0x1f,0xb, 0x41,
+0x7a,0x1f,0xb, 0x49,0x6d,0x33,0x7a,0x37,0xb, 0x4d,0x7a,0x37,0xb, 0x4f,0x7a,0x37,
+0xb, 0x51,0x12,0x28,0x8c,0x41,0x96,0xbe,0xa0,0x2, 0x40,0x18,0x7e,0x37,0x0, 0x7a,
+0x2e,0x37,0xb, 0x4f,0x7a,0x37,0xb, 0x4f,0x7e,0x37,0x0, 0x7c,0x2e,0x37,0xb, 0x51,
+0x7a,0x37,0xb, 0x51,0x7e,0x37,0xb, 0x41,0x12,0x2d,0xa, 0x7d,0x63,0x7e,0x37,0xb,
+0x43,0x12,0x2d,0x3, 0x7a,0x35,0x22,0x7e,0x37,0xb, 0x45,0x12,0x2d,0xa, 0x7a,0x35,
+0x24,0x7e,0x37,0xb, 0x47,0x12,0x2d,0x3, 0x7d,0x23,0x7e,0x35,0x22,0x2d,0x36,0xbe,
+0x34,0x0, 0xf, 0x50,0x18,0xbe,0x64,0x0, 0x7, 0x50,0x12,0x2e,0x25,0x24,0xbe,0x24,
+0x0, 0x1e,0x50,0x9, 0x7e,0x25,0x24,0xbe,0x24,0x0, 0xf, 0x40,0x53,0x7e,0x53,0xb,
+0x37,0xbc,0x5f,0x28,0x4b,0xe4,0x7a,0xb3,0xb, 0x37,0xbe,0x34,0x0, 0x8, 0x38,0x2,
+0x41,0x96,0x7e,0x37,0xb, 0x45,0xbe,0x34,0x0, 0x28,0x40,0x6, 0xbe,0x34,0x1, 0x66,
+0x28,0x24,0x7e,0x27,0xb, 0x47,0xbe,0x24,0x0, 0x28,0x28,0x1a,0xbe,0x24,0x1, 0x66,
+0x50,0x14,0x7a,0x37,0x0, 0x7a,0x7e,0x27,0x0, 0x7c,0x2e,0x27,0xb, 0x47,0x1e,0x24,
+0x7a,0x27,0x0, 0x7c,0x41,0x96,0x7a,0x37,0x0, 0x7a,0x7e,0x37,0xb, 0x47,0x80,0x65,
+0x7e,0x27,0x0, 0x7a,0x7a,0x27,0xb, 0x41,0x7e,0x37,0x0, 0x7c,0x7a,0x37,0xb, 0x43,
+0x7e,0xa3,0x0, 0x76,0x74,0x4, 0xa4,0x49,0x15,0x3, 0x5e,0x49,0x5, 0x3, 0x5c,0x7e,
+0xf7,0xb, 0x4d,0x6d,0xee,0xbf,0x70,0x58,0xc, 0x7a,0x17,0xb, 0x4d,0x7a,0x27,0xb,
+0x49,0x7a,0x37,0xb, 0x4b,0x7e,0x73,0x0, 0x90,0x7c,0xb7,0xc4,0x7c,0x6b,0x12,0x2d,
+0x23,0x80,0x53,0xa, 0x2e,0xb, 0x24,0x1b,0x25,0x7e,0x17,0xb, 0x4f,0x8d,0x12,0x7a,
+0x17,0xb, 0x41,0x7e,0x37,0xb, 0x51,0x8d,0x32,0x7a,0x37,0xb, 0x43,0x7e,0x27,0xb,
+0x41,0x7a,0x27,0x0, 0x7a,0x7a,0x37,0x0, 0x7c,0x80,0x2b,0x7e,0x73,0xb, 0x37,0xbc,
+0x7f,0x28,0x1b,0x7e,0x37,0xb, 0x49,0x7a,0x37,0x0, 0x7a,0x7e,0x37,0xb, 0x4b,0x7a,
+0x37,0x0, 0x7c,0x12,0x2d,0x30,0x74,0x1, 0x7a,0xb3,0xb, 0x38,0x80,0x3, 0x12,0x28,
+0x8c,0xe4,0x7a,0xb3,0xb, 0x37,0x12,0xe, 0xaf,0x78,0x2, 0xf5,0x9, 0xda,0x3b,0x22,
+0xca,0x3b,0x6c,0xee,0x9f,0x44,0x7f,0x74,0x7a,0x4f,0x9, 0xfe,0x7a,0x4f,0xa, 0x2,
+0x7a,0x4f,0xa, 0x6, 0x7a,0x4f,0xa, 0xa, 0x7a,0x4f,0xa, 0xe, 0x7f,0x64,0x7f,0x54,
+0x6c,0xdd,0x12,0x27,0xe6,0xbf,0x71,0x58,0x4, 0x7f,0x71,0x7c,0xfd,0xb, 0xd0,0xbe,
+0xd0,0x24,0x78,0xee,0x7e,0x37,0x3, 0x49,0x6d,0x22,0xbf,0x71,0x58,0xb, 0x12,0x28,
+0x8c,0x7e,0xb3,0x0, 0x91,0x54,0xf0,0x80,0x17,0xe5,0xe, 0xb4,0x1, 0x18,0x12,0x2c,
+0xf1,0x7a,0xb3,0x0, 0x76,0x12,0x2d,0x30,0x7e,0xb3,0x0, 0x91,0x54,0xf0,0x44,0x1,
+0x7a,0xb3,0x0, 0x91,0x81,0xe5,0x6c,0xdd,0xa, 0x5d,0x7e,0x24,0x0, 0x6, 0x8d,0x52,
+0x7a,0xb3,0x9, 0xfd,0xa, 0x3d,0x8d,0x32,0x7c,0xc5,0x70,0x4, 0x9f,0x11,0x80,0xc,
+0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x57,0x49,0x25,0x9, 0x55,0x7a,0x1f,0x9, 0xfe,
+0x7e,0xb3,0x9, 0xfd,0xb4,0x5, 0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,
+0x35,0x9, 0x87,0x49,0x25,0x9, 0x85,0x7a,0x1f,0xa, 0x2, 0x4c,0xcc,0x78,0x4, 0x9f,
+0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x6b,0x49,0x25,0x9, 0x69,0x7a,
+0x1f,0xa, 0x6, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,
+0x49,0x35,0x9, 0x73,0x49,0x25,0x9, 0x71,0x7a,0x1f,0xa, 0xa, 0x7e,0xb3,0x9, 0xfd,
+0x60,0x4, 0x4c,0xcc,0x78,0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,
+0x9, 0x53,0x49,0x25,0x9, 0x51,0x7a,0x1f,0xa, 0xe, 0x12,0x2d,0x11,0x68,0x4, 0x4c,
+0xcc,0x78,0x4, 0x9f,0x66,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0xd5,0x9, 0x83,0x49,
+0xc5,0x9, 0x81,0x7e,0xb3,0x9, 0xfd,0x60,0x5, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x55,
+0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0xb5,0x9, 0x5b,0x49,0xa5,0x9, 0x59,0x12,0x2d,
+0x11,0x68,0x5, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x44,0x80,0xc, 0x74,0x4, 0xac,0xbd,
+0x49,0x95,0x9, 0x8b,0x49,0x85,0x9, 0x89,0x12,0x2c,0xe8,0x49,0x5, 0x9, 0x6d,0x7e,
+0x37,0x3, 0x49,0x6d,0x22,0xbf,0x1, 0x58,0x2, 0x81,0xc3,0xe5,0xc, 0x12,0x27,0xb1,
+0x7f,0x1, 0x12,0x27,0xe6,0xbf,0x10,0x18,0x2, 0x81,0xc3,0x12,0x2c,0xe8,0x49,0x5,
+0x9, 0x6d,0x7e,0x1f,0x9, 0xfe,0xbf,0x1, 0x58,0x2, 0x81,0xc3,0x12,0x2c,0xe8,0x49,
+0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0x2, 0xbf,0x1, 0x58,0x2, 0x81,0xc3,0x12,0x2c,0xe8,
+0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0x6, 0xbf,0x1, 0x58,0x2, 0x81,0xc3,0x12,0x2c,
+0xe8,0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0xa, 0xbf,0x1, 0x48,0x76,0x12,0x2c,0xe8,
+0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0xe, 0xbf,0x1, 0x48,0x67,0x12,0x27,0xe6,0xbf,
+0x16,0x48,0x60,0x12,0x27,0xe6,0xbf,0x15,0x48,0x59,0x12,0x27,0xe6,0xbf,0x14,0x48,
+0x52,0x7c,0x1e,0x2e,0x10,0x16,0x7c,0xbd,0xa5,0xf7,0xa, 0x3d,0x12,0x2c,0xf6,0xa,
+0x3e,0x19,0xb3,0x0, 0x76,0xb, 0xe0,0x7e,0x30,0x4, 0xac,0x3d,0x2e,0x14,0x9, 0x6d,
+0x12,0x2d,0xbb,0xb, 0x1c,0x12,0x17,0xe7,0xbe,0xe1,0xe, 0x40,0x26,0x7e,0xe1,0xe,
+0xbe,0xe0,0x2, 0x78,0x27,0x7e,0x73,0x0, 0x76,0xbe,0x70,0xf, 0x38,0x9, 0x7e,0x73,
+0x0, 0x77,0xbe,0x70,0xf, 0x28,0x15,0x7e,0xe0,0x1, 0x12,0x2c,0xf1,0x7a,0xb3,0x0,
+0x76,0x80,0x9, 0xb, 0xd0,0xbe,0xd0,0x24,0x50,0x2, 0x61,0x8, 0x7c,0x6e,0x5e,0x60,
+0xf, 0x7e,0x73,0x0, 0x90,0x12,0x2d,0x26,0x7e,0x73,0x0, 0x91,0x5e,0x70,0xf0,0x4c,
+0x76,0x7a,0x73,0x0, 0x91,0xda,0x3b,0x22,0x74,0x4, 0xac,0xbd,0x49,0x15,0x9, 0x6f,
+0x22,0x7a,0xf1,0x16,0xa, 0x3f,0x2e,0x34,0x0, 0x46,0x7a,0x71,0x82,0x7a,0x61,0x83,
+0xe4,0x93,0x22,0x9e,0x37,0x0, 0x7c,0x2, 0x0, 0x2e,0x9e,0x37,0x0, 0x7a,0x2, 0x0,
+0x2e,0x7e,0xb3,0x9, 0xfd,0xbe,0xb0,0x5, 0x22,0x7e,0xa3,0x0, 0x90,0x7c,0xba,0xc4,
+0x54,0xf, 0x22,0x5e,0x60,0xf, 0x5e,0x70,0xf0,0x4c,0x76,0x7a,0x73,0x0, 0x90,0x22,
+0x7e,0xb3,0x0, 0x90,0x54,0xf0,0x44,0x1, 0x7a,0xb3,0x0, 0x90,0x22,0xca,0x79,0x9f,
+0x11,0x7a,0x1f,0x9, 0xfd,0x7e,0xa3,0x0, 0x90,0x7c,0xba,0x54,0xf, 0xb4,0x1, 0x64,
+0x7e,0x1f,0x0, 0xa2,0x7a,0x1f,0x9, 0xfd,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x6, 0x7e,
+0x1f,0x9, 0xfd,0x80,0x34,0x7e,0x37,0xb, 0x3b,0x12,0x2d,0x3, 0x7d,0x73,0x7e,0x37,
+0xb, 0x39,0x12,0x2d,0xa, 0x2d,0x37,0xbe,0x34,0x0, 0xf, 0x58,0x20,0x7e,0x1f,0xb,
+0x3d,0x7f,0x1, 0x1e,0x14,0x1e,0x4, 0x50,0x3, 0x4e,0x20,0x80,0x7e,0x1f,0x9, 0xfd,
+0xbf,0x10,0x50,0x5, 0x12,0x28,0x8c,0x80,0x4, 0x7a,0x1f,0xb, 0x3d,0x7e,0x37,0x0,
+0x7a,0x7a,0x37,0xb, 0x39,0x7e,0x37,0x0, 0x7c,0x7a,0x37,0xb, 0x3b,0x12,0xe, 0xaf,
+0x78,0x2, 0xf5,0x9, 0xda,0x79,0x22,0x7d,0x16,0x2d,0x17,0x49,0x31,0x0, 0x2, 0xb,
+0x18,0x20,0x22,0xca,0x3b,0x7c,0xab,0x7d,0x73,0x4d,0x77,0x78,0x2, 0xc1,0xda,0x4d,
+0x22,0x78,0x2, 0xc1,0xda,0xe4,0x7a,0xb3,0x6, 0x4d,0x6c,0x99,0xc1,0x5e,0x7e,0x70,
+0x4, 0xac,0x79,0x2d,0x37,0x49,0xf3,0x0, 0x2, 0xb, 0x38,0xe0,0xbe,0x7c,0xfc,0x18,
+0x58,0x5, 0xbe,0x90,0x16,0x40,0x15,0xbe,0x7c,0xf8,0x30,0x58,0x58,0xbe,0x90,0x16,
+0x40,0x53,0x7e,0xf, 0x5, 0x28,0xbe,0x8, 0x7, 0xd0,0x58,0x49,0xa, 0x39,0x7d,0x13,
+0x2e,0x14,0xa, 0xd1,0x7e,0x19,0xb0,0x4, 0x7a,0x19,0xb0,0x9, 0xb3,0xa, 0xd1,0xbe,
+0xb0,0xc, 0x28,0x38,0x7e,0x70,0x2, 0xac,0x79,0x2d,0x32,0xb, 0x38,0x10,0x1a,0x2,
+0x1a,0x0, 0x2f,0x7, 0xbe,0x8, 0x38,0x40,0x58,0x22,0x74,0x1, 0x7a,0xb3,0x6, 0x4d,
+0x6c,0x88,0x80,0xa, 0x74,0x1, 0xa, 0x38,0x19,0xb3,0xa, 0xe7,0xb, 0x80,0xbe,0x80,
+0x0, 0x40,0xf1,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0xd1,0xb, 0x90,0xbc,0xa9,
+0x28,0x2, 0xa1,0xde,0x6c,0x99,0x80,0x6a,0x7e,0xd0,0x4, 0xac,0xd9,0x12,0x2d,0xb7,
+0xbe,0x1c,0xfc,0xe0,0x58,0x21,0xa, 0x39,0x7d,0x23,0x2e,0x24,0xa, 0x8d,0x12,0x2e,
+0xdd,0x9, 0x83,0xa, 0x8d,0xbe,0x80,0xf, 0x28,0x14,0x12,0x41,0x40,0x60,0xf, 0x74,
+0x3, 0x7a,0xb3,0x6, 0x4d,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0x8d,0x12,0x2d,
+0xb7,0xbe,0x1c,0xfc,0xe0,0x58,0x22,0x7e,0xb3,0x6, 0x4d,0x70,0x1c,0xa, 0x39,0x7d,
+0x23,0x2e,0x24,0xa, 0xbb,0x12,0x2e,0xdd,0x9, 0x83,0xa, 0xbb,0xbe,0x80,0x12,0x28,
+0xf, 0x74,0x2, 0x7a,0xb3,0x6, 0x4d,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0xbb,
+0xb, 0x90,0x7e,0x83,0x6, 0xc6,0xbc,0x89,0x38,0x8e,0xda,0x3b,0x22,0x7e,0x29,0xb0,
+0x4, 0x7a,0x29,0xb0,0x22,0x6c,0xaa,0x7e,0x90,0x5, 0xac,0x9a,0x9, 0xb4,0x2, 0xba,
+0xbe,0xb0,0xff,0x68,0xa, 0x49,0x34,0x2, 0xb8,0xbe,0x34,0x1, 0x8d,0x50,0x33,0xb,
+0xa0,0xbe,0xa0,0x2, 0x40,0xe1,0x12,0x2f,0x33,0x78,0x21,0x7c,0xb7,0xc4,0x7c,0x6b,
+0x5e,0x60,0xf, 0xbe,0x60,0x0, 0x28,0x14,0xe5,0x4c,0xbe,0xb0,0x1, 0x50,0x9, 0x12,
+0x2d,0x26,0x75,0x12,0x1, 0x5, 0x4c,0x22,0x75,0x4c,0x0, 0x22,0x75,0x4c,0x0, 0x75,
+0x12,0x0, 0x22,0x7e,0x73,0x0, 0x90,0x7c,0xb7,0x54,0xf, 0x22,0x7e,0x37,0x0, 0x92,
+0xbe,0x34,0x0, 0x1, 0x22,0x12,0x2f,0x3c,0x78,0x1b,0x7e,0xb3,0x6, 0x67,0x20,0xe5,
+0x14,0x7e,0xb3,0x6, 0xcb,0x20,0xe0,0xd, 0x12,0x2f,0x66,0x7e,0xb3,0x6, 0xcb,0x44,
+0x1, 0x7a,0xb3,0x6, 0xcb,0x22,0xa9,0xc0,0xca,0x6d,0x22,0x12,0x2f,0x7f,0x5e,0x60,
+0x7f,0x1b,0x28,0x30,0x22,0x7e,0x73,0x0, 0x90,0x7c,0x67,0x5e,0x60,0xf, 0x22,0x7e,
+0x34,0x13,0x14,0x1b,0x38,0x20,0x7e,0x24,0x12,0x4, 0xb, 0x28,0x30,0x22,0x7e,0xb3,
+0x6, 0xcb,0x30,0xe0,0x16,0xa9,0xd0,0xca,0x7e,0x24,0x0, 0x3f,0x12,0x2f,0x7f,0x4e,
+0x60,0x80,0x1b,0x28,0x30,0x54,0xfe,0x7a,0xb3,0x6, 0xcb,0x22,0xc2,0xab,0x12,0x2f,
+0x45,0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xd5,0xc9,0xd2,0xaf,0xa9,0xd0,0xcd,0xd2,0xc8,
+0xd2,0xa8,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd7,0x9e,0xd2,0xaf,0x74,0x1, 0x12,0x4a,
+0x48,0x74,0x2, 0x12,0xf, 0xcd,0x12,0x2f,0xf2,0xc2,0xa8,0xa9,0xc0,0xcd,0xc2,0xc8,
+0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xc5,0xc9,0xd2,0xaf,0xd2,0xab,0x12,0x4a,0x30,0x2,
+0x2f,0x8e,0x43,0xc8,0xc9,0x43,0xcb,0x8e,0x22,0xbd,0x32,0x58,0x3, 0x7d,0x32,0x22,
+0xbd,0x31,0x8, 0x2, 0x7d,0x31,0x22,0x6d,0x11,0x80,0x48,0x6d,0x0, 0x80,0x38,0x7d,
+0xf0,0x3e,0xf4,0x3e,0xf4,0x7d,0xef,0x2d,0xe3,0x49,0xde,0x0, 0x6, 0x49,0xce,0x0,
+0x4, 0x49,0x5e,0x0, 0x2, 0xb, 0xe8,0x40,0xbf,0x26,0x58,0x19,0x49,0xde,0x0, 0x6,
+0x49,0xce,0x0, 0x4, 0x59,0xde,0x0, 0x2, 0x1b,0xe8,0xc0,0x2d,0xf3,0x59,0x5f,0x0,
+0x6, 0x59,0x4f,0x0, 0x4, 0xb, 0x4, 0x7d,0xf2,0x1b,0xf4,0x9d,0xf1,0xbd,0xf0,0x38,
+0xbe,0xb, 0x14,0xbd,0x21,0x38,0xb4,0x22,0xca,0x3b,0xf5,0x26,0x7a,0xd, 0x22,0x7f,
+0x31,0x75,0x29,0x0, 0x75,0x2a,0x0, 0x7e,0x34,0x9, 0xfd,0x7e,0x24,0x0, 0x90,0xe4,
+0x12,0x4, 0xeb,0x6c,0xaa,0x12,0x23,0x30,0xbf,0x13,0x8, 0x11,0x7e,0x31,0x29,0x74,
+0x4, 0xac,0x3b,0x59,0x31,0x9, 0xff,0x59,0x21,0x9, 0xfd,0x5, 0x29,0xb, 0xa0,0xbe,
+0xa0,0x16,0x78,0xe1,0xe5,0x26,0xbe,0xb1,0x29,0x38,0x38,0x7e,0xd, 0x22,0x7e,0x1f,
+0x5, 0x28,0xbf,0x10,0x58,0x2d,0x7e,0x34,0x9, 0xfd,0xe5,0x26,0xa, 0x2b,0x12,0x30,
+0x7, 0x7e,0xa1,0x27,0x74,0x4, 0xa4,0x49,0x35,0x9, 0xff,0x49,0x25,0x9, 0xfd,0xe5,
+0x28,0xa, 0x1b,0x6d,0x0, 0x12,0x3, 0xec,0x7e,0xf, 0x9, 0xfd,0xbf,0x10,0x8, 0x3,
+0x75,0x2a,0x1, 0xe5,0x2a,0xda,0x3b,0x22,0x75,0x27,0xa, 0x75,0x28,0x5, 0x7e,0x18,
+0x3, 0xe8,0x7e,0x8, 0x27,0x10,0x74,0xc, 0x12,0x30,0x58,0x70,0x13,0x75,0x27,0xa,
+0x75,0x28,0x4, 0x7e,0x18,0x3, 0xe8,0x7e,0x8, 0x27,0x10,0x74,0xa, 0x12,0x30,0x58,
+0x60,0x13,0x7e,0xb3,0x6, 0x67,0x44,0x2, 0x7a,0xb3,0x6, 0x67,0x12,0x28,0x8c,0xe4,
+0x7a,0xb3,0xd, 0x11,0x22,0x7e,0xa3,0x6, 0x67,0x7c,0xba,0x30,0xe1,0x1b,0x7e,0xb3,
+0xd, 0x11,0x4, 0x7a,0xb3,0xd, 0x11,0xbe,0xb0,0x14,0x40,0xd, 0xe4,0x7a,0xb3,0xd,
+0x11,0x7c,0xba,0x54,0xfd,0x7a,0xb3,0x6, 0x67,0x22,0x75,0x39,0x3, 0x75,0x3f,0x0,
+0x22,0xbe,0xb0,0xa, 0x50,0x8, 0x7c,0x1b,0x2e,0x10,0x37,0xa5,0xe7,0x22,0x2, 0x31,
+0x51,0xb4,0xae,0x5, 0x7e,0xb3,0x3, 0x34,0x22,0x24,0xf6,0xbe,0xb0,0x30,0x40,0x2,
+0x61,0x7, 0x7e,0xa0,0x3, 0xa4,0x90,0x31,0x6a,0x73,0x2, 0x31,0xfa,0x2, 0x31,0xfd,
+0x2, 0x31,0xff,0x2, 0x32,0x4, 0x2, 0x32,0x9, 0x2, 0x32,0xe, 0x2, 0x32,0x13,0x2,
+0x32,0x18,0x2, 0x32,0x1d,0x2, 0x32,0x22,0x2, 0x32,0x27,0x2, 0x32,0x2c,0x2, 0x32,
+0x31,0x2, 0x32,0x45,0x2, 0x32,0x4a,0x2, 0x33,0x7, 0x2, 0x32,0x4f,0x2, 0x32,0x54,
+0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2,
+0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,
+0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7,
+0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x32,0x59,0x2,
+0x32,0x5e,0x2, 0x32,0x63,0x2, 0x32,0x68,0x2, 0x32,0x6d,0x2, 0x32,0x72,0x2, 0x33,
+0x7, 0x2, 0x32,0xa5,0x2, 0x33,0x7, 0x2, 0x32,0xd4,0x74,0x16,0x22,0xe4,0x22,0x7e,
+0xb3,0x3, 0x35,0x22,0x7e,0xb3,0x3, 0x38,0x22,0x7e,0xb3,0x3, 0x39,0x22,0x7e,0xb3,
+0x3, 0x3a,0x22,0x7e,0xb3,0x3, 0x3b,0x22,0x7e,0xb3,0x3, 0x3c,0x22,0x7e,0xb3,0x3,
+0x3d,0x22,0x7e,0xb3,0x3, 0x36,0x22,0x7e,0xb3,0x3, 0x37,0x22,0x7e,0xb3,0x3, 0x40,
+0x22,0x7e,0xb3,0xc, 0xd0,0x70,0x8, 0x7e,0x27,0x3, 0x30,0xa, 0x54,0x80,0xa, 0x7e,
+0x57,0x3, 0x30,0x80,0x4, 0x7e,0x57,0x3, 0x30,0x22,0x7e,0xb3,0x3, 0x3f,0x22,0x7e,
+0xb3,0x3, 0x41,0x22,0x7e,0xb3,0x6, 0xd4,0x22,0x7e,0xb3,0x3, 0x43,0x22,0x7e,0xb3,
+0x3, 0x44,0x22,0x7e,0xb3,0x3, 0x45,0x22,0x7e,0xb3,0x3, 0x46,0x22,0x7e,0xb3,0x3,
+0x47,0x22,0x7e,0x73,0x3, 0x47,0x7c,0xb7,0x4, 0x7a,0xb3,0x3, 0x47,0xbe,0x70,0x5c,
+0x50,0x20,0xa, 0x27,0x7d,0x12,0x5e,0x14,0x0, 0x1, 0x68,0xb, 0x7d,0x12,0x1e,0x14,
+0x3e,0x14,0x49,0x51,0xc, 0x20,0x22,0x1e,0x24,0x3e,0x24,0x49,0x22,0xc, 0x20,0xa,
+0x54,0x22,0x74,0xee,0x22,0x7e,0x73,0x3, 0x44,0x7c,0xb7,0x4, 0x7a,0xb3,0x3, 0x44,
+0xbe,0x70,0x2e,0x50,0x1c,0xbe,0x70,0x16,0x50,0x2, 0x80,0x5, 0xbe,0x70,0x16,0x50,
+0xb, 0xa, 0x37,0x2e,0x34,0x4, 0xc5,0x12,0x2c,0xfa,0x7c,0x7b,0xb, 0x70,0x7c,0xb7,
+0x22,0x74,0xee,0x22,0x7e,0x73,0x3, 0x46,0x7c,0xb7,0x4, 0x7a,0xb3,0x3, 0x46,0xbe,
+0x70,0x5c,0x50,0x20,0xa, 0x27,0x7d,0x12,0x5e,0x14,0x0, 0x1, 0x68,0xb, 0x7d,0x12,
+0x1e,0x14,0x3e,0x14,0x49,0x51,0x2, 0xd4,0x22,0x1e,0x24,0x3e,0x24,0x49,0x22,0x2,
+0xd4,0xa, 0x54,0x22,0x74,0xee,0x22,0x74,0xee,0x22,0x7c,0xab,0x24,0x0, 0x78,0x5,
+0x7e,0xb3,0xc, 0xd6,0x22,0xbe,0xa0,0xaf,0x38,0xc, 0x7e,0xb3,0xb, 0x9f,0xb4,0x3,
+0x5, 0x7c,0xba,0x2, 0x31,0x41,0x7c,0xba,0x22,0xca,0x79,0x20,0x90,0x2, 0x61,0xcf,
+0xd2,0x8, 0x7e,0xb3,0xc, 0xd2,0x4, 0x7a,0xb3,0xc, 0xd2,0x7e,0xf3,0xc, 0xd2,0xbe,
+0xf0,0x1, 0x78,0x22,0xe5,0x91,0x7a,0xb3,0xc, 0xd8,0x7e,0xb3,0xc, 0xd8,0xb4,0xd3,
+0xe, 0x74,0x1, 0x7a,0xb3,0xc, 0xd7,0x6d,0x33,0x7a,0x37,0xc, 0xd3,0x80,0x3c,0xe4,
+0x7a,0xb3,0xc, 0xd7,0x80,0x35,0x7e,0xb3,0xc, 0xd6,0xc4,0x7c,0xeb,0x5e,0xe0,0x7,
+0x78,0x8, 0x12,0x34,0xe9,0x12,0x37,0x23,0x80,0x21,0xbe,0xe0,0x4, 0x78,0x8, 0x12,
+0x34,0xe9,0x12,0x4b,0xa9,0x80,0x14,0x7e,0xb3,0xc, 0xd6,0xc4,0x54,0x7, 0xb4,0x1,
+0xa, 0x7e,0xb3,0xc, 0xd2,0x12,0x34,0xeb,0x12,0x37,0xdc,0x12,0x36,0xef,0x78,0xe,
+0xe4,0x12,0x34,0x5c,0xb4,0x10,0x2, 0x80,0x14,0x12,0x36,0xfa,0x80,0x12,0xbe,0xf0,
+0x4, 0x78,0x5, 0x12,0x34,0xdf,0x80,0x8, 0xbe,0xf0,0x1, 0x78,0x3, 0x12,0x37,0xc7,
+0x7e,0xb3,0xc, 0xd8,0xb4,0xd3,0x6, 0x7e,0xb3,0xb, 0xb6,0xf5,0x91,0xc2,0x90,0x20,
+0x91,0x2, 0x81,0x59,0xc2,0x8, 0x7e,0xb3,0xc, 0xd0,0x4, 0x12,0x36,0xeb,0x78,0x50,
+0x7e,0xb3,0xc, 0xd7,0xb4,0x1, 0x36,0x7e,0xa3,0x9, 0x6a,0x7e,0x70,0x4, 0xac,0x7a,
+0xbe,0x37,0xc, 0xd3,0x40,0x22,0x7e,0x37,0xc, 0xd3,0x4d,0x33,0x78,0x5, 0x7a,0xa1,
+0x91,0x80,0xd, 0x7d,0x23,0x1b,0x24,0x2e,0x27,0x6, 0xdb,0x7e,0x29,0xb0,0xf5,0x91,
+0xb, 0x34,0x7a,0x37,0xc, 0xd3,0x80,0x3f,0x75,0x91,0xff,0x80,0x3a,0xe4,0x12,0x34,
+0x5c,0xb4,0x10,0x6, 0x7e,0xb3,0xc, 0xd0,0x80,0x19,0x7e,0xb3,0xc, 0xd0,0x80,0x1e,
+0xbe,0xf0,0x4, 0x78,0x5, 0x12,0x34,0xdf,0x80,0x1d,0xbe,0xf0,0x1, 0x7e,0xb3,0xc,
+0xd0,0x78,0xb, 0x2e,0xb3,0xc, 0xd8,0x12,0x0, 0x9, 0xf5,0x91,0x80,0x9, 0x2e,0xb3,
+0xc, 0xd8,0x12,0x34,0x5c,0xf5,0x91,0xc2,0x91,0xda,0x79,0x22,0x7c,0x7b,0xbe,0x70,
+0x80,0x40,0xc, 0xbe,0x70,0xde,0x38,0x7, 0xa, 0x37,0x9, 0xb3,0xa, 0xe3,0x22,0xa5,
+0xbf,0x0, 0x5, 0x7e,0xb3,0xc, 0xd6,0x22,0x30,0x7, 0x6, 0x7e,0x24,0xc, 0xac,0x80,
+0x4, 0x7e,0x24,0xc, 0xbe,0x7a,0x25,0x4a,0x7c,0xb7,0x14,0xbe,0xb0,0xe, 0x50,0x4c,
+0x7e,0xa0,0x3, 0xa4,0x90,0x34,0x98,0x73,0x2, 0x34,0xc2,0x2, 0x34,0xca,0x2, 0x34,
+0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,
+0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2,
+0x34,0xd2,0x7e,0x35,0x4a,0x9, 0xb3,0x0, 0x4, 0x22,0x7e,0x35,0x4a,0x9, 0xb3,0x0,
+0x3, 0x22,0xa, 0x37,0x2e,0x35,0x4a,0x9, 0xb3,0x0, 0x2, 0x22,0x74,0xff,0x22,0x7e,
+0xb3,0xc, 0xd8,0x12,0x33,0xa, 0xf5,0x91,0x22,0x7c,0xbf,0x2e,0xb3,0xc, 0xd8,0x24,
+0xfe,0x7e,0x71,0x91,0x22,0xca,0xf8,0xe4,0x12,0x36,0xeb,0x78,0x5, 0x12,0x36,0xfa,
+0x80,0x12,0xbe,0xf0,0x4, 0x78,0x5, 0x12,0x34,0xdf,0x80,0x8, 0xbe,0xf0,0x1, 0x78,
+0x3, 0x12,0x37,0xc7,0x75,0x91,0x0, 0xe4,0x7a,0xb3,0xc, 0xd2,0x7a,0xb3,0xc, 0xd1,
+0x74,0xaa,0x7a,0xb3,0xc, 0xac,0x7a,0xb3,0xc, 0xad,0x7a,0xb3,0xc, 0xbe,0x7a,0xb3,
+0xc, 0xbf,0xda,0xf8,0x22,0xbe,0xb0,0xa, 0x50,0xa, 0x7c,0x1b,0x2e,0x10,0x37,0x7c,
+0xb7,0xa5,0xf7,0x22,0x2, 0x35,0x47,0xca,0x79,0x7c,0x6b,0xa5,0xbe,0xae,0x17,0x7a,
+0x73,0x3, 0x34,0x7e,0xb3,0x3, 0x34,0xb4,0x1, 0x5, 0xe4,0x7a,0xb3,0x3, 0x34,0xe4,
+0x7a,0xb3,0x3, 0x42,0xc1,0x65,0xa5,0xbe,0xaf,0x5, 0x12,0x37,0xea,0xc1,0xe8,0x7c,
+0xb6,0x24,0xf4,0xbe,0xb0,0x29,0x40,0x2, 0xc1,0xa0,0x7e,0xa0,0x3, 0xa4,0x90,0x35,
+0x82,0x73,0x2, 0x35,0xfd,0x2, 0x36,0x3, 0x2, 0x36,0x9, 0x2, 0x36,0xf, 0x2, 0x36,
+0x15,0x2, 0x36,0x1b,0x2, 0x36,0x21,0x2, 0x36,0x27,0x2, 0x36,0x2d,0x2, 0x36,0x33,
+0x2, 0x36,0x39,0x2, 0x36,0x51,0x2, 0x36,0x6a,0x2, 0x36,0xe1,0x2, 0x36,0x70,0x2,
+0x36,0x79,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,
+0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,
+0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2,
+0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,
+0x82,0x2, 0x36,0x88,0x2, 0x36,0x8e,0x2, 0x36,0x94,0x2, 0x36,0x9a,0x7e,0x74,0x3,
+0x35,0x80,0x7a,0x7e,0x74,0x3, 0x38,0x80,0x74,0x7e,0x74,0x3, 0x39,0x80,0x6e,0x7e,
+0x74,0x3, 0x3a,0x80,0x68,0x7e,0x74,0x3, 0x3b,0x80,0x62,0x7e,0x74,0x3, 0x3c,0x80,
+0x5c,0x7e,0x74,0x3, 0x3d,0x80,0x56,0x7e,0x74,0x3, 0x36,0x80,0x50,0x7e,0x74,0x3,
+0x37,0x80,0x4a,0x7e,0x74,0x3, 0x40,0x80,0x44,0x7e,0x27,0x3, 0x30,0x6c,0x44,0x7a,
+0x27,0x3, 0x30,0x7c,0x67,0x6c,0x77,0x4e,0x37,0x3, 0x30,0x7a,0x37,0x3, 0x30,0x80,
+0x14,0x7e,0x27,0x3, 0x30,0x6c,0x55,0x7a,0x27,0x3, 0x30,0xa, 0x37,0x4e,0x37,0x3,
+0x30,0x7a,0x37,0x3, 0x30,0x43,0xa, 0x1, 0x80,0x7e,0x7e,0x74,0x3, 0x3f,0x80,0xd,
+0x7e,0x74,0x3, 0x41,0x43,0xa, 0x4, 0x80,0x68,0x7e,0x74,0x6, 0xd4,0x43,0xa, 0x1,
+0x80,0x5f,0x7a,0x73,0x3, 0x43,0x80,0x60,0x7a,0x73,0x3, 0x44,0x80,0x5a,0x7a,0x73,
+0x3, 0x45,0x80,0x54,0x7a,0x73,0x3, 0x46,0x80,0x4e,0x7a,0x73,0x3, 0x47,0x80,0x48,
+0xbe,0x60,0x39,0x68,0x4, 0xa5,0xbe,0x3a,0x3f,0x7e,0x63,0x3, 0x45,0x7c,0xb6,0x4,
+0x7a,0xb3,0x3, 0x45,0xa, 0x26,0x5e,0x24,0x0, 0x1, 0xa, 0x16,0x68,0x12,0x12,0x37,
+0x4, 0x6c,0x55,0x1b,0x18,0x20,0xa, 0x17,0x12,0x37,0x10,0x43,0xa, 0x2, 0x80,0x18,
+0x12,0x37,0x4, 0x6c,0x44,0x1b,0x18,0x20,0x7c,0x27,0x6c,0x33,0x12,0x37,0x10,0x80,
+0x7, 0x4d,0x77,0x68,0x3, 0x7a,0x79,0x70,0xda,0x79,0x22,0x7a,0xb3,0xc, 0xd0,0x7e,
+0xb3,0xc, 0xd6,0xc4,0x7c,0xfb,0x5e,0xf0,0x7, 0x22,0x7e,0xb3,0xc, 0xd8,0x12,0x34,
+0x5c,0xf5,0x91,0x22,0x1e,0x14,0x3e,0x14,0x2e,0x14,0x2, 0xd4,0xb, 0x18,0x20,0x22,
+0xa, 0x26,0x1e,0x24,0x3e,0x24,0x2e,0x24,0x2, 0xd4,0xb, 0x28,0x30,0x4d,0x31,0x1b,
+0x28,0x30,0x22,0xca,0x69,0xca,0xf8,0x7c,0xf7,0xbe,0xb0,0x80,0x40,0xb, 0xbe,0xb0,
+0xde,0x38,0x6, 0x24,0x80,0x7c,0x7f,0xe1,0xbf,0x24,0x0, 0x68,0x2, 0xe1,0xc2,0x7e,
+0x64,0xc, 0xd6,0x7a,0x69,0xf0,0x5e,0xf0,0x70,0x7c,0xbf,0xc4,0x54,0xf, 0x7c,0xfb,
+0xbe,0xf0,0x4, 0x78,0x15,0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x7, 0x74,0x2, 0x7e,0x70,
+0x3, 0x80,0x36,0x74,0x3c,0x7e,0x70,0x3, 0x80,0x55,0x7e,0xb3,0xb, 0x9f,0xb4,0x3,
+0x2d,0x74,0x2, 0x7e,0x70,0x1, 0x12,0x35,0x35,0xbe,0xf0,0x1, 0x78,0x6, 0x74,0x2,
+0x6c,0x77,0x80,0x15,0x4c,0xff,0x78,0x7, 0x74,0x2, 0x7e,0x70,0x1, 0x80,0xa, 0xbe,
+0xf0,0x3, 0x78,0x2e,0x74,0x2, 0x7e,0x70,0x4, 0x12,0x35,0x35,0x80,0x24,0xbe,0xf0,
+0x1, 0x78,0x6, 0x74,0x3c,0x6c,0x77,0x80,0x16,0xbe,0xf0,0x4, 0x78,0x7, 0x74,0x3c,
+0x7e,0x70,0x3, 0x80,0xa, 0xbe,0xf0,0x3, 0x78,0x8, 0x74,0x3c,0x7e,0x70,0x4, 0x12,
+0x4b,0x75,0xda,0xf8,0xda,0x69,0x22,0x7e,0xb3,0xc, 0xd8,0x12,0x0, 0x9, 0xf5,0x91,
+0x22,0xe4,0x7a,0xb3,0xc, 0xd6,0x12,0x4d,0xe8,0x2, 0x34,0xf5,0x7c,0xa7,0x24,0x0,
+0x78,0x7, 0x7e,0x34,0xc, 0xd6,0x7a,0x39,0xa0,0x22,0x30,0x9, 0x8, 0x74,0x1, 0x12,
+0x43,0x3a,0xc2,0x9, 0x22,0xe4,0x12,0x43,0x3a,0xd2,0x9, 0x22,0x75,0xd, 0x0, 0xc2,
+0x5, 0x7e,0xb3,0xb, 0x88,0x70,0x7, 0x7e,0xb3,0x0, 0x95,0xf5,0x1a,0x22,0x7e,0xb3,
+0x0, 0x97,0xf5,0x1a,0x22,0x7d,0xd2,0x6d,0x22,0x9e,0x18,0x0, 0xc7,0x6d,0xcc,0x7e,
+0x78,0x0, 0xc7,0x7f,0x27,0x9f,0x26,0x12,0x3c,0x5c,0x2e,0x28,0x0, 0xc7,0x9f,0x71,
+0x7f,0x17,0xbe,0x28,0x0, 0x0, 0x58,0x4, 0x9f,0x22,0x80,0xa, 0xbe,0x28,0x1, 0x8e,
+0x48,0x4, 0x7e,0x28,0x1, 0x8d,0xbe,0x18,0x0, 0x0, 0x58,0x4, 0x9f,0x11,0x80,0xa,
+0xbe,0x18,0x1, 0x8e,0x48,0x4, 0x7e,0x18,0x1, 0x8d,0x1b,0x18,0x50,0x7d,0x13,0x1b,
+0x8, 0x10,0x22,0xca,0xf8,0x6c,0xff,0x80,0x23,0x74,0x5, 0xac,0xbf,0x12,0x3c,0xa,
+0x7e,0x14,0x0, 0x22,0x7e,0x4, 0x0, 0x24,0x12,0x38,0x15,0x7e,0x35,0x22,0x74,0x5,
+0xac,0xbf,0x59,0x35,0x0, 0x7a,0x7e,0x35,0x24,0x12,0x3c,0x51,0x12,0x38,0x94,0x48,
+0xd8,0xda,0xf8,0x22,0x7e,0xb3,0x0, 0x90,0x54,0xf, 0xa, 0x2b,0xa, 0x3f,0xbd,0x32,
+0x22,0xca,0x3b,0xc2,0xf, 0x75,0x2c,0x0, 0x7e,0xb3,0x3, 0x5a,0xbe,0xb0,0x2, 0x68,
+0x7, 0x7e,0xb3,0x3, 0x5b,0xb4,0x2, 0x16,0x12,0x2d,0x19,0xbe,0xb0,0x1, 0x38,0xe,
+0x7c,0xba,0x54,0xf, 0xbe,0xb0,0x1, 0x38,0x5, 0x7c,0xba,0x12,0x28,0x90,0x6c,0xff,
+0x7e,0xa0,0xff,0x7e,0x70,0x5, 0xac,0x7f,0x19,0xa3,0x0, 0x7e,0x7c,0x1f,0x2e,0x10,
+0x22,0x74,0xff,0xa5,0xf7,0x7e,0x24,0xff,0xff,0x12,0x3b,0xed,0x1b,0x38,0x20,0x7c,
+0x1f,0x2e,0x10,0x24,0xe4,0xa5,0xf7,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xd2,0x7e,0xa3,
+0x0, 0x90,0x7c,0xba,0x54,0xf, 0x78,0x1f,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x18,0x6c,
+0xff,0x12,0x3c,0x49,0xac,0x7f,0x59,0x43,0x3, 0x52,0x59,0x43,0x3, 0x56,0xb, 0xf0,
+0xbe,0xf0,0x2, 0x78,0xec,0x61,0x88,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x33,0x6c,0xff,
+0x7e,0xa0,0x1, 0x80,0x25,0x7c,0x1f,0x2e,0x10,0x24,0x7c,0xba,0x12,0x3b,0xf6,0x19,
+0xf3,0x0, 0x7e,0x49,0x43,0x0, 0x7a,0x7e,0x50,0x2, 0xac,0x5f,0x59,0x42,0x3, 0x52,
+0x49,0x33,0x0, 0x7c,0x59,0x32,0x3, 0x56,0xb, 0xf0,0x12,0x38,0x94,0x48,0xd6,0x61,
+0x88,0x6c,0xff,0x80,0x47,0x6c,0xee,0x74,0x2, 0xac,0xbe,0x49,0x25,0x3, 0x56,0x12,
+0x3e,0x8, 0x7d,0x63,0x74,0x2, 0xac,0xbe,0x49,0x25,0x3, 0x52,0x12,0x3c,0x73,0x2d,
+0x36,0x7a,0x35,0x26,0x7c,0xbf,0x3e,0xb0,0x24,0x28,0xa, 0x2b,0xb, 0x28,0x30,0xbe,
+0x35,0x26,0x28,0xf, 0x7c,0x1f,0x2e,0x10,0x22,0x7c,0xbe,0xa5,0xf7,0x7e,0x35,0x26,
+0x1b,0x28,0x30,0xb, 0xe0,0xbe,0xe0,0x2, 0x78,0xbd,0xb, 0xf0,0x12,0x38,0x94,0x48,
+0xb4,0x6c,0xff,0x41,0x51,0xd2,0xf, 0x6c,0xee,0x80,0x2c,0xbc,0xef,0x68,0x26,0x7c,
+0x1e,0x12,0x3b,0xfe,0x7c,0x1f,0x2e,0x10,0x22,0xa5,0xe7,0xbc,0xba,0x78,0x16,0x7c,
+0xbe,0x12,0x3b,0xef,0xb, 0x38,0x20,0x12,0x3b,0xed,0xb, 0x38,0x30,0xbd,0x32,0x40,
+0x4, 0xc2,0xf, 0x80,0xd, 0xb, 0xe0,0x12,0xe, 0xaf,0xa, 0x2b,0xa, 0x3e,0xbd,0x32,
+0x48,0xc9,0x7c,0x1f,0x12,0x3b,0xfe,0xa, 0x4a,0x9, 0xb4,0x3, 0x5a,0xb4,0x2, 0x4,
+0xc2,0xf, 0x80,0x1e,0xb4,0x1, 0x1b,0x12,0x2f,0x33,0xbe,0xb0,0x2, 0x40,0x11,0x7c,
+0xb7,0xc4,0x54,0xf, 0xbe,0xb0,0x2, 0x40,0x7, 0xe4,0x19,0xb4,0x3, 0x5a,0x80,0x2,
+0xc2,0xf, 0x30,0xf, 0x2a,0xbe,0xa0,0x2, 0x50,0x25,0x7c,0x1a,0x2e,0x10,0x24,0x74,
+0x1, 0xa5,0xf7,0x7e,0x90,0x5, 0xac,0x9f,0x19,0xa4,0x0, 0x7e,0x49,0x34,0x0, 0x7a,
+0x74,0x2, 0xa4,0x59,0x35,0x3, 0x52,0x49,0x34,0x0, 0x7c,0x59,0x35,0x3, 0x56,0xb,
+0xf0,0x12,0x38,0x94,0x58,0x2, 0x21,0xb5,0x6c,0xff,0x80,0x48,0x74,0x5, 0xac,0xbf,
+0x9, 0xb5,0x0, 0x7e,0xb4,0xff,0x3b,0x6c,0xee,0x7c,0x1e,0x2e,0x10,0x24,0xa5,0xe7,
+0x70,0x29,0xa, 0x3e,0x9, 0xb3,0x3, 0x5a,0x70,0x1f,0x74,0x1, 0x12,0x3b,0xf6,0x49,
+0x23,0x0, 0x7a,0x74,0x2, 0xac,0xbe,0x59,0x25,0x3, 0x52,0x49,0x23,0x0, 0x7c,0x59,
+0x25,0x3, 0x56,0x19,0xe3,0x0, 0x7e,0x80,0x9, 0x5, 0x2c,0xb, 0xe0,0xbe,0xe0,0x2,
+0x40,0xc7,0xb, 0xf0,0x7e,0xa3,0x0, 0x90,0x5e,0xa0,0xf, 0xa, 0x2a,0xa, 0x3f,0xbd,
+0x32,0x48,0xa9,0xe5,0x2c,0x60,0x2a,0x4c,0xaa,0x68,0x26,0xe5,0x2c,0xa, 0x3b,0xbd,
+0x23,0x48,0x1e,0x7e,0x73,0x0, 0x7e,0xbe,0x70,0x2, 0x40,0xc, 0x7e,0x73,0x0, 0x83,
+0xbe,0x70,0x2, 0x50,0x3, 0x12,0x3e,0x3a,0x12,0x2f,0x75,0x9e,0x61,0x2c,0x12,0x2d,
+0x23,0x12,0x2d,0x19,0xa, 0x2b,0x7c,0xba,0x54,0xf, 0xa, 0x3b,0xbd,0x32,0x58,0x71,
+0x6c,0xff,0x12,0x3b,0xe5,0x70,0x5a,0x7e,0xd0,0x2, 0xac,0xdf,0x49,0x46,0x3, 0x52,
+0xbe,0x44,0x7f,0xff,0x68,0x4b,0xa, 0x2f,0x9, 0x62,0x3, 0x5a,0xbe,0x60,0x2, 0x50,
+0x40,0x49,0x16,0x3, 0x56,0xbe,0x14,0x1, 0x8e,0x50,0x36,0x9, 0xb2,0xb, 0x31,0x60,
+0x30,0x74,0x1, 0xa5,0xf7,0x7e,0x73,0x0, 0x90,0x7c,0xe7,0x5e,0xe0,0xf, 0x74,0x5,
+0xac,0xbe,0x59,0x45,0x0, 0x7a,0x59,0x15,0x0, 0x7c,0x19,0xf5,0x0, 0x7e,0x2e,0x24,
+0x3, 0x5a,0x7c,0xb6,0x4, 0x7a,0x29,0xb0,0x7c,0x67,0xb, 0x60,0x12,0x2d,0x23,0x80,
+0x7, 0xe4,0xa, 0x3f,0x19,0xb3,0x3, 0x5a,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0x93,0x80,
+0x9, 0xe4,0x7a,0xb3,0x3, 0x5a,0x7a,0xb3,0x3, 0x5b,0x6c,0xff,0x12,0x3b,0xe5,0x70,
+0x10,0x7e,0x34,0x7f,0xff,0x74,0x2, 0xac,0xbf,0x59,0x35,0x3, 0x52,0x59,0x35,0x3,
+0x56,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xe4,0x12,0x3c,0x41,0x6c,0xff,0x12,0x3b,0xe5,
+0xb4,0x1, 0x1d,0xa, 0x3f,0x9, 0xb3,0x3, 0x50,0xbe,0xb0,0x3, 0x68,0x3, 0xb4,0x1,
+0x7, 0xe4,0x19,0xb3,0x3, 0x4e,0x80,0x33,0x74,0x2, 0x19,0xb3,0x3, 0x4e,0x80,0x2b,
+0xa, 0x3f,0x9, 0xb3,0x3, 0x50,0xbe,0xb0,0x2, 0x68,0x2, 0x70,0x18,0x74,0x1, 0x19,
+0xb3,0x3, 0x4e,0xbe,0xe0,0x2, 0x50,0x13,0x7c,0xae,0xb, 0xe0,0x74,0x5, 0xa4,0x19,
+0xf5,0x0, 0x7e,0x80,0x6, 0x74,0x3, 0x19,0xb3,0x3, 0x4e,0xb, 0xf0,0xbe,0xf0,0x2,
+0x40,0xab,0xda,0x3b,0x22,0x7c,0x1f,0x2e,0x10,0x24,0xa5,0xe7,0x22,0x7c,0xbf,0x3e,
+0xb0,0x24,0x28,0xa, 0x3b,0x22,0xa5,0xf7,0x7e,0x70,0x5, 0xac,0x7f,0x22,0x2e,0x10,
+0x22,0xa5,0xe7,0x7c,0xab,0x22,0x74,0x5, 0xac,0xbe,0x49,0x35,0x0, 0x7a,0x49,0x25,
+0x0, 0x7c,0x22,0xca,0x79,0x12,0x3c,0x37,0x6c,0xff,0x80,0x13,0xa, 0x3f,0x9, 0xe3,
+0x0, 0x76,0x7e,0x34,0x6, 0x15,0x7c,0xbe,0x6c,0x55,0x12,0x3e,0x4b,0xb, 0xf0,0x12,
+0x38,0x94,0x48,0xe8,0xda,0x79,0x22,0x74,0x1, 0x6c,0xaa,0x12,0x3c,0x67,0x40,0xfb,
+0x22,0x7e,0xe3,0x0, 0x90,0x5e,0xe0,0xf, 0x22,0x7e,0x44,0x7f,0xff,0x7e,0x70,0x2,
+0x22,0x74,0x5, 0xac,0xbf,0x59,0x35,0x0, 0x7c,0xb, 0xf0,0x22,0x6e,0x34,0xff,0xff,
+0x6e,0x24,0xff,0xff,0xb, 0x1c,0x22,0xa, 0x4a,0x19,0xb4,0x6, 0x15,0xb, 0xa0,0xbe,
+0xa0,0x2e,0x22,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7a,0x9d,0x32,0x2, 0x0, 0x2e,
+0xca,0x3b,0x12,0xe, 0xaf,0x7c,0xeb,0x78,0x30,0x6c,0xff,0x6d,0x11,0x74,0x2, 0xac,
+0xbf,0x59,0x15,0xd, 0x1d,0x7e,0xa0,0xff,0x7e,0x30,0x5, 0xac,0x3f,0x19,0xa1,0xd,
+0x17,0x7e,0xb3,0xd, 0x28,0x70,0x3, 0xe4,0x80,0x2, 0x74,0x2, 0xa, 0x1f,0x19,0xb1,
+0xd, 0x26,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xd2,0x7e,0x17,0x0, 0x92,0xbe,0x14,0x0,
+0x1, 0x78,0x2, 0xa1,0xfc,0x6c,0xff,0xa1,0xd8,0x74,0x5, 0xac,0xbf,0x9, 0x75,0x0,
+0x7e,0x7a,0x71,0x23,0xbe,0x70,0x2, 0x40,0x2, 0xa1,0xd6,0xe5,0x23,0xa, 0x1b,0x12,
+0x3e,0x1d,0x78,0x2, 0xa1,0xd6,0x75,0x22,0x0, 0x7e,0x31,0x22,0x74,0x5, 0xac,0x3b,
+0x9, 0x71,0xd, 0x17,0x7a,0x71,0x24,0xbe,0x71,0x23,0x68,0x2, 0xa1,0xcb,0x49,0x21,
+0xd, 0x15,0x12,0x3e,0x8, 0x7d,0x63,0x12,0x14,0xe3,0x49,0x25,0xd, 0x13,0x12,0x3c,
+0x73,0x7d,0x3, 0x2d,0x6, 0xe5,0x24,0xa, 0x1b,0x9, 0xa1,0xd, 0x26,0xbe,0xa0,0x0,
+0x28,0x17,0x7e,0x71,0x24,0x74,0x2, 0xac,0x7b,0x59,0x3, 0xd, 0x1d,0x2e,0x14,0xd,
+0x26,0x7c,0xba,0x14,0x7a,0x19,0xb0,0xa1,0xd6,0x7e,0x31,0x24,0x74,0x2, 0xac,0x3b,
+0x49,0x31,0xd, 0x1d,0xbe,0x34,0x0, 0x1e,0x28,0x8, 0xbe,0x4, 0x0, 0x1e,0x28,0x2,
+0x80,0x10,0x7d,0x23,0x2e,0x24,0x0, 0x1e,0xbd,0x20,0x50,0x12,0xbe,0x34,0x0, 0x1e,
+0x28,0xc, 0x59,0x1, 0xd, 0x1d,0x74,0x1, 0x7a,0xb3,0xd, 0x28,0x80,0x68,0xbe,0x4,
+0x0, 0x64,0x28,0x4b,0xe4,0x7a,0xb3,0xd, 0x28,0xe5,0x23,0xa, 0x1b,0x9, 0xb1,0x3,
+0x4e,0x70,0x4, 0x74,0x3, 0x80,0x2, 0x74,0x1, 0x19,0xb1,0x3, 0x4e,0x12,0x3e,0x25,
+0x7e,0x14,0xd, 0x21,0x74,0x5, 0x12,0x4, 0x8d,0xbe,0xe0,0x0, 0x28,0x21,0x1b,0xe0,
+0x7e,0x70,0x5, 0xac,0x7e,0x2e,0x34,0x0, 0x7a,0x7e,0x30,0x5, 0xac,0x3f,0x12,0x3d,
+0xff,0x7e,0x34,0xd, 0x21,0x7e,0x30,0x5, 0xac,0x3e,0x12,0x3d,0xff,0x1b,0xf0,0x7e,
+0xa1,0x24,0x74,0x2, 0xa4,0x59,0x5, 0xd, 0x1d,0x80,0xb, 0x5, 0x22,0xe5,0x22,0xbe,
+0xb0,0x2, 0x50,0x2, 0x81,0xe9,0xb, 0xf0,0x12,0x2f,0x33,0xa, 0x2b,0xa, 0x1f,0xbd,
+0x12,0x58,0x2, 0x81,0xc9,0x7c,0x6e,0x12,0x2d,0x23,0x6c,0xff,0x12,0x3e,0x15,0x2e,
+0x34,0x0, 0x7a,0x2e,0x14,0xd, 0x13,0x12,0x3e,0x2f,0x78,0xf0,0xda,0x3b,0x22,0x2e,
+0x14,0x0, 0x7a,0x74,0x5, 0x2, 0x4, 0x8d,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7c,
+0x9d,0x32,0x2, 0x0, 0x2e,0x7e,0x30,0x5, 0xac,0x3f,0x7d,0x31,0x22,0x9, 0xb1,0x3,
+0x4e,0xbe,0xb0,0x1, 0x22,0x7e,0x70,0x5, 0xac,0x7f,0x2e,0x34,0x0, 0x7a,0x22,0x74,
+0x5, 0x12,0x4, 0x8d,0xb, 0xf0,0xbe,0xf0,0x2, 0x22,0x7e,0x1f,0x0, 0x80,0x7e,0x33,
+0x0, 0x7f,0x7a,0x1f,0x0, 0x7b,0x7a,0x33,0x0, 0x7a,0x22,0x7d,0x13,0x4d,0x11,0x68,
+0xc, 0xbe,0xb0,0x2e,0x50,0x7, 0xa, 0x3b,0x2d,0x31,0x7a,0x39,0x50,0x22,0x74,0x10,
+0x7a,0xb3,0xb, 0x84,0x74,0x83,0x7a,0xb3,0xb, 0x85,0xe4,0x6c,0xaa,0x12,0x3c,0x67,
+0x40,0xfb,0x22,0x6c,0xaa,0x74,0x3, 0xa, 0x4a,0x19,0xb4,0x3, 0x50,0x19,0xb4,0x3,
+0x4e,0x12,0x3c,0x49,0xac,0x7a,0x59,0x43,0x3, 0x52,0x59,0x43,0x3, 0x56,0xb, 0xa0,
+0xbe,0xa0,0x2, 0x40,0xe0,0x22,0x7c,0x6b,0x7e,0x53,0x0, 0x90,0x7c,0xb5,0x54,0xf,
+0x68,0x10,0x7c,0x45,0x1b,0x40,0x5e,0x40,0xf, 0x5e,0x50,0xf0,0x4c,0x54,0x7a,0x53,
+0x0, 0x90,0xa5,0xbe,0x0, 0x12,0xa5,0xbf,0x2, 0xe, 0x7e,0x73,0x0, 0x77,0x7a,0x73,
+0x0, 0x76,0x85,0x17,0x16,0x12,0x3e,0x3a,0x22,0xca,0x79,0x6d,0x77,0x7a,0x77,0x2,
+0xd0,0x7e,0x34,0x3, 0xe8,0x7a,0x37,0x0, 0x74,0x12,0x1f,0xe6,0x12,0x1e,0xf6,0x12,
+0x1b,0xdc,0x7a,0x77,0x2, 0xd0,0x7e,0x34,0x0, 0x64,0x7a,0x37,0x0, 0x74,0xda,0x79,
+0x22,0x6c,0x77,0xa, 0x27,0x9, 0x62,0x3, 0x4e,0x19,0x62,0x3, 0x50,0xb, 0x70,0xbe,
+0x70,0x2, 0x40,0xef,0x12,0x3f,0x35,0x12,0x3f,0x2d,0x7a,0x73,0x0, 0x90,0x7e,0x73,
+0x0, 0x91,0x5e,0x70,0xf, 0x12,0x3f,0x2d,0x7a,0x73,0x0, 0x91,0x7e,0x1f,0x5, 0x2c,
+0x7a,0x1f,0x5, 0x30,0x7e,0x73,0x6, 0xe, 0x7a,0x73,0x6, 0xf, 0x22,0x7c,0xb7,0xc4,
+0x54,0xf0,0x4c,0x7b,0x22,0x7e,0x73,0x0, 0x90,0x5e,0x70,0xf, 0x22,0x12,0x3f,0x35,
+0x6c,0x66,0x80,0x2, 0xb, 0x60,0xbc,0x76,0x38,0xfa,0x22,0xca,0x3b,0x6c,0xaa,0x12,
+0x3f,0x35,0x7e,0x44,0x3, 0x5c,0x7e,0x24,0x0, 0x76,0x6c,0x66,0x80,0x64,0x75,0x1f,
+0xff,0xa, 0xf6,0x2d,0xf2,0x7e,0xf9,0x20,0x7e,0x30,0x4, 0xac,0x23,0x7d,0xe1,0x2d,
+0xe4,0x49,0x1e,0x0, 0x2, 0xb, 0xe8,0x0, 0xa, 0x76,0xb, 0x74,0x80,0x24,0xa, 0xef,
+0x2d,0xe2,0x7e,0xe9,0xe0,0x7e,0xd0,0x4, 0xac,0xde,0x7d,0xe6,0x2d,0xe4,0x49,0xde,
+0x0, 0x2, 0xb, 0xe8,0xc0,0xbf,0x6, 0x58,0x7, 0x7c,0xae,0x7a,0xf1,0x1f,0x7f,0x6,
+0xb, 0xf0,0xbc,0x7f,0x38,0xd8,0xe5,0x1f,0xbe,0xb0,0xff,0x68,0x13,0x7e,0xf9,0xe0,
+0xe5,0x1f,0xa, 0xfb,0x2d,0xf2,0x7a,0xf9,0xe0,0xa, 0xf6,0x2d,0xf2,0x7a,0xf9,0xa0,
+0xb, 0x60,0xbc,0x76,0x38,0x98,0xda,0x3b,0x22,0x7c,0xab,0x9f,0x11,0x7a,0x1f,0x5,
+0x30,0x74,0xb, 0x7a,0xb3,0x6, 0xf, 0x74,0x2, 0x7a,0xb3,0x6, 0x44,0x7a,0xb3,0x6,
+0x43,0x74,0xf, 0x7a,0xb3,0x6, 0x45,0x74,0x2, 0x7a,0xb3,0x6, 0x47,0x7a,0xb3,0x6,
+0x46,0x74,0xf, 0x7a,0xb3,0x6, 0x48,0x7e,0x34,0x0, 0x32,0x7a,0x37,0x5, 0xec,0x12,
+0x41,0x12,0x74,0xa, 0x7a,0xb3,0x6, 0x10,0x7e,0xb3,0x6, 0x67,0x44,0x40,0x7a,0xb3,
+0x6, 0x67,0x54,0x7f,0x7a,0xb3,0x6, 0x67,0x5e,0xa0,0x7f,0xbe,0xa0,0x1, 0x68,0x7,
+0xbe,0xa0,0x2, 0x78,0x2, 0x80,0x0, 0x12,0x41,0x12,0x7e,0xa3,0x6, 0x67,0x7c,0xba,
+0x30,0xe0,0x12,0x74,0x1, 0x7a,0xb3,0x6, 0x11,0x74,0x3, 0x7a,0xb3,0x6, 0x12,0x7a,
+0xb3,0x6, 0x13,0x80,0xe, 0x74,0x1, 0x7a,0xb3,0x6, 0x12,0x7a,0xb3,0x6, 0x13,0x7a,
+0xb3,0x6, 0x11,0x74,0xa, 0x7a,0xb3,0x6, 0x66,0x7a,0xb3,0x6, 0x14,0x7e,0x24,0x2a,
+0xf8,0x7a,0x27,0x5, 0xf0,0x7c,0xba,0x54,0xfd,0x7a,0xb3,0x6, 0x67,0x7e,0x24,0xfc,
+0xe0,0x7a,0x27,0x5, 0xee,0x12,0x41,0x35,0x7a,0x37,0x5, 0xf2,0x7e,0x34,0x5, 0xdc,
+0x7a,0x37,0x5, 0xf4,0x7e,0x34,0xf, 0xa0,0x7a,0x37,0x5, 0xf6,0x7e,0xb3,0x6, 0x67,
+0x54,0xf7,0x7a,0xb3,0x6, 0x67,0x54,0xef,0x7a,0xb3,0x6, 0x67,0x7e,0x34,0x0, 0xc7,
+0x7a,0x37,0x5, 0xf8,0x7e,0x34,0x0, 0xa0,0x7a,0x37,0x5, 0xfa,0xe4,0x7a,0xb3,0x6,
+0x49,0x7a,0xb3,0x6, 0x4a,0x7a,0x37,0x6, 0x4b,0x7e,0x34,0x0, 0x31,0x7a,0x37,0x5,
+0xfc,0x7e,0x34,0x1, 0x5c,0x7a,0x37,0x5, 0xfe,0x12,0x41,0x1d,0x7e,0x34,0x0, 0x8,
+0x7a,0x37,0x6, 0x2, 0x7e,0x34,0x0, 0x7, 0x7a,0x37,0x6, 0x0, 0x7e,0x34,0x0, 0x1a,
+0x7a,0x37,0x6, 0x4, 0x7e,0x34,0x6, 0x65,0x7a,0x37,0x6, 0x6, 0x7e,0x34,0x22,0x98,
+0x7a,0x37,0x6, 0x8, 0x7e,0x34,0x20,0x4, 0x7a,0x37,0x6, 0xc, 0x7e,0x34,0x20,0x51,
+0x7a,0x37,0x6, 0xa, 0xe4,0x7a,0xb3,0x6, 0x4d,0x7e,0x34,0xa, 0xd1,0x7a,0x37,0x6,
+0x4e,0x22,0x7e,0xb3,0x6, 0x67,0x54,0xfe,0x7a,0xb3,0x6, 0x67,0x22,0x7e,0xb3,0x6,
+0x67,0x54,0xdf,0x7a,0xb3,0x6, 0x67,0x22,0x7e,0xb3,0x6, 0x67,0x44,0x4, 0x7a,0xb3,
+0x6, 0x67,0x12,0x15,0x1d,0x7e,0xb3,0x6, 0x67,0x54,0xfb,0x7a,0xb3,0x6, 0x67,0x22,
+0xca,0x3b,0x7e,0x48,0x75,0x30,0x7f,0x74,0x9f,0x55,0x7f,0x5, 0x6c,0x77,0x7e,0xa0,
+0x1, 0x6c,0x66,0x7e,0x50,0x2, 0xac,0x56,0x49,0x72,0x5, 0x34,0x6d,0x66,0x7e,0x50,
+0x4, 0xac,0x56,0x49,0xd2,0x3, 0x5e,0x49,0xc2,0x3, 0x5c,0x2f,0x63,0xbf,0x76,0x8,
+0x2, 0x7f,0x76,0xbf,0x6, 0x58,0x2, 0x7f,0x6, 0xb, 0x60,0xa5,0xbe,0x16,0xd4,0x7f,
+0x30,0x9f,0x37,0xbe,0x38,0x4, 0xb0,0x58,0x3, 0x7e,0x70,0x1, 0x7f,0x74,0x7f,0x5,
+0x6c,0x66,0x7e,0x50,0x2, 0xac,0x56,0x49,0xd2,0x5, 0x34,0x6d,0xcc,0xbf,0x76,0x8,
+0x2, 0x7f,0x76,0xbf,0x6, 0x58,0x2, 0x7f,0x6, 0xb, 0x60,0xa5,0xbe,0x16,0xe3,0x9f,
+0x7, 0xbe,0x8, 0x4, 0xb0,0x8, 0x2, 0x6c,0xaa,0x4c,0x77,0x68,0x8, 0x4c,0xaa,0x78,
+0x4, 0x74,0x1, 0x80,0x1, 0xe4,0xda,0x3b,0x22,0xca,0x3b,0x7c,0xcb,0x6c,0xaa,0xe5,
+0x9, 0x70,0xa, 0xe5,0x1c,0x70,0x6, 0xe5,0x11,0x70,0x2, 0x61,0x33,0x20,0x7, 0x6,
+0x7e,0x74,0xc, 0xac,0x80,0x4, 0x7e,0x74,0xc, 0xbe,0x6c,0xdd,0x7e,0x70,0xff,0xa,
+0x2d,0x2d,0x27,0x7a,0x29,0x70,0xb, 0xd0,0xbe,0xd0,0x12,0x78,0xf2,0x74,0xaa,0x7a,
+0x79,0xb0,0x19,0xb7,0x0, 0x1, 0x74,0x12,0x19,0xb7,0x0, 0x2, 0x7e,0xb3,0x2, 0xca,
+0x19,0xb7,0x0, 0x4, 0x6c,0x77,0x6c,0xdd,0x7e,0x10,0x5, 0xac,0x1d,0x9, 0x60,0x2,
+0xba,0xbe,0x60,0xff,0x78,0x2, 0x41,0xbc,0xa, 0x16,0x9, 0xb1,0x3, 0x4e,0xbe,0xb0,
+0x3, 0x78,0x2, 0x41,0xbc,0x49,0x40,0x2, 0xb6,0x2e,0x44,0x0, 0x3, 0x49,0x20,0x2,
+0xb8,0x2e,0x24,0x0, 0x3, 0xa, 0x8, 0x12,0x43,0x4c,0x19,0x60,0x0, 0x5, 0x7c,0x69,
+0xa, 0x7, 0x2d,0x7, 0x19,0x60,0x0, 0x6, 0xa, 0x4, 0x12,0x43,0x4c,0x19,0x60,0x0,
+0x7, 0x7c,0x65,0xa, 0x7, 0x2d,0x7, 0x19,0x60,0x0, 0x8, 0xe4,0xa, 0x7, 0x2d,0x7,
+0x19,0xb0,0x0, 0x9, 0xa, 0x7, 0x2d,0x7, 0x19,0xb0,0x0, 0xa, 0x12,0x43,0x42,0xc4,
+0x54,0xf0,0xa, 0x7, 0x2d,0x7, 0x2e,0x4, 0x0, 0x7, 0x7e,0x9, 0x60,0x2c,0x6b,0x7a,
+0x9, 0x60,0x12,0x43,0x42,0xbe,0xb0,0xff,0x68,0x1f,0x12,0x3e,0x1d,0x68,0x2, 0xb,
+0xa0,0x9, 0xb1,0x3, 0x4e,0x3, 0x3, 0x54,0xc0,0xa, 0x17,0x2d,0x17,0x2e,0x14,0x0,
+0x5, 0x7e,0x19,0x60,0x2c,0x6b,0x7a,0x19,0x60,0x2e,0x70,0x6, 0xb, 0xd0,0xbe,0xd0,
+0x2, 0x68,0x2, 0x41,0x18,0x19,0xa7,0x0, 0x3, 0xe4,0x19,0xb7,0x0, 0x11,0x6c,0xdd,
+0xa, 0x3d,0x2d,0x37,0x7e,0x39,0x60,0x7d,0x27,0x2e,0x24,0x0, 0x11,0x7e,0x29,0x70,
+0x6c,0x76,0x7a,0x29,0x70,0xb, 0xd0,0xbe,0xd0,0x11,0x78,0xe4,0x30,0x7, 0x4, 0xc2,
+0x7, 0x80,0x2, 0xd2,0x7, 0xe5,0x1c,0x60,0x3, 0x12,0x3e,0x73,0x75,0x9, 0x0, 0x75,
+0x1c,0x0, 0x75,0x11,0x0, 0x7e,0xb3,0xb, 0xb3,0xb4,0x1, 0x14,0x12,0x2f,0x3c,0x68,
+0x26,0xe5,0x4f,0xb4,0x1, 0xf, 0x74,0x1, 0x12,0x43,0x3a,0x75,0x4f,0x0, 0x80,0x5,
+0x74,0x1, 0x12,0x43,0x3a,0x7e,0x34,0x0, 0x9, 0x12,0x43,0x57,0xbe,0xc0,0x1, 0x78,
+0x6, 0x80,0x0, 0xe4,0x12,0x43,0x3a,0xda,0x3b,0x22,0x70,0x3, 0xd2,0x86,0x22,0xc2,
+0x86,0x22,0x7e,0x10,0x5, 0xac,0x1d,0x9, 0xb0,0x2, 0xba,0x22,0x5e,0x4, 0x0, 0xf,
+0x7c,0x61,0xa, 0x7, 0x2d,0x7, 0x22,0x7e,0x24,0x0, 0x14,0xad,0x32,0x80,0x3, 0x0,
+0x0, 0x0, 0x7d,0x23,0x1b,0x34,0x4d,0x22,0x78,0xf5,0x22,0x30,0x0, 0x44,0xc2,0x6,
+0xe4,0x7a,0xb3,0x3, 0x48,0x30,0x1, 0x1c,0x80,0x3, 0x30,0x0, 0x9, 0xa9,0x21,0x94,
+0xf9,0x80,0x3, 0x30,0x0, 0x4, 0xa9,0x31,0x94,0xf9,0x30,0x0, 0x1e,0x80,0x15,0x80,
+0x3, 0x30,0x0, 0x9, 0xa9,0x31,0x94,0xf9,0x80,0x3, 0x30,0x0, 0x4, 0xa9,0x21,0x94,
+0xf9,0x30,0x0, 0x7, 0xd2,0x6, 0xe4,0x7a,0xb3,0x2, 0xcf,0x7e,0x37,0x2, 0xcd,0x2,
+0x43,0x57,0x22,0xca,0xf8,0x7c,0xfb,0x74,0x16,0x7a,0xb3,0x6, 0xc6,0xe4,0x7a,0xb3,
+0x6, 0xc7,0x74,0x16,0x7a,0xb3,0x6, 0xc8,0x74,0x30,0x7a,0xb3,0x6, 0xd4,0x7e,0xb3,
+0x6, 0xcb,0x54,0xbf,0x7a,0xb3,0x6, 0xcb,0x54,0x7f,0x7a,0xb3,0x6, 0xcb,0x54,0xf9,
+0x7a,0xb3,0x6, 0xcb,0x7e,0xb3,0x6, 0xca,0x54,0xbf,0x7a,0xb3,0x6, 0xca,0x7e,0xb3,
+0x6, 0xd7,0x44,0x4, 0x7a,0xb3,0x6, 0xd7,0x74,0x15,0x7a,0xb3,0x6, 0xd5,0x7e,0xb3,
+0x6, 0xca,0x54,0x7f,0x7a,0xb3,0x6, 0xca,0x7e,0xb3,0x6, 0xcb,0x54,0xfe,0x7a,0xb3,
+0x6, 0xcb,0x7e,0x34,0x4, 0xc5,0x7e,0x24,0x6, 0x68,0x74,0x16,0x7e,0x30,0x97,0x12,
+0x45,0xb, 0x6c,0x77,0x80,0x8, 0xa, 0x27,0x19,0x72,0x6, 0x96,0xb, 0x70,0x7e,0x63,
+0x6, 0xc8,0xbc,0x67,0x38,0xf0,0x7e,0xb3,0x6, 0xc9,0x44,0x1, 0x7a,0xb3,0x6, 0xc9,
+0x5e,0xf0,0x7f,0xbe,0xf0,0x1, 0x78,0xe, 0x7e,0xb3,0x6, 0xc9,0x12,0x44,0xef,0x44,
+0x8, 0x12,0x44,0xfc,0x80,0x38,0xbe,0xf0,0x2, 0x7e,0xb3,0x6, 0xc9,0x78,0x8, 0x12,
+0x44,0xef,0x12,0x44,0xfc,0x80,0x27,0x44,0x6, 0x12,0x44,0xf1,0x44,0x18,0x7a,0xb3,
+0x6, 0xcb,0x7e,0x63,0x3, 0x35,0x5e,0x60,0x7, 0x7c,0xb6,0xc4,0x3, 0x54,0xf8,0x7c,
+0x6b,0x7e,0x73,0x6, 0xca,0x5e,0x70,0xc7,0x4c,0x76,0x7a,0x73,0x6, 0xca,0xe4,0x7a,
+0xb3,0x6, 0xd6,0x7e,0xb3,0x6, 0xca,0x54,0xfe,0x7a,0xb3,0x6, 0xca,0x44,0x6, 0x7a,
+0xb3,0x6, 0xca,0x7e,0x73,0x3, 0x38,0x7a,0x73,0x6, 0xcc,0x7e,0x73,0x3, 0x39,0x7a,
+0x73,0x6, 0xcd,0x7e,0x73,0x3, 0x36,0x7a,0x73,0x6, 0xce,0x7e,0x73,0x3, 0x3a,0x7a,
+0x73,0x6, 0xcf,0x7e,0x73,0x3, 0x3b,0x7a,0x73,0x6, 0xd0,0x7e,0x73,0x3, 0x37,0x7a,
+0x73,0x6, 0xd1,0x7e,0x73,0x3, 0x3c,0x7a,0x73,0x6, 0xd2,0x7e,0x73,0x3, 0x3d,0x7a,
+0x73,0x6, 0xd3,0x12,0x1f,0xe6,0x54,0xfd,0x7a,0xb3,0x6, 0xd7,0xda,0xf8,0x22,0x54,
+0xf9,0x7a,0xb3,0x6, 0xc9,0x7e,0xb3,0x6, 0xcb,0x54,0xc7,0x22,0x7a,0xb3,0x6, 0xcb,
+0x7e,0xb3,0x6, 0xca,0x54,0xc7,0x7a,0xb3,0x6, 0xca,0x22,0x7c,0x23,0x7c,0x3b,0x7d,
+0x43,0x7c,0xb2,0x24,0x6a,0xbe,0xb0,0x9, 0x40,0x2, 0xe1,0x77,0x7e,0xa0,0x3, 0xa4,
+0x90,0x45,0x24,0x73,0x2, 0x45,0x3f,0x2, 0x45,0xf4,0x2, 0x46,0x2a,0x2, 0x46,0x60,
+0x2, 0x47,0x41,0x2, 0x47,0x77,0x2, 0x46,0x96,0x2, 0x46,0xc6,0x2, 0x46,0xf6,0x6c,
+0x77,0xa1,0xed,0x12,0x47,0xa0,0xbe,0xb0,0x12,0x40,0x2, 0xa1,0xe8,0x7e,0xa0,0x3,
+0xa4,0x90,0x45,0x55,0x73,0x2, 0x45,0x8b,0x2, 0x45,0x90,0x2, 0x45,0x95,0x2, 0x45,
+0x9a,0x2, 0x45,0x9f,0x2, 0x45,0xa4,0x2, 0x45,0xa9,0x2, 0x45,0xae,0x2, 0x45,0xb3,
+0x2, 0x45,0xb8,0x2, 0x45,0xbd,0x2, 0x45,0xc2,0x2, 0x45,0xc7,0x2, 0x45,0xcc,0x2,
+0x45,0xd1,0x2, 0x45,0xd6,0x2, 0x45,0xdb,0x2, 0x45,0xe0,0x7e,0x20,0x4, 0x80,0x53,
+0x7e,0x20,0x6, 0x80,0x4e,0x7e,0x20,0x7, 0x80,0x49,0x7e,0x20,0x5, 0x80,0x44,0x7e,
+0x20,0xe, 0x80,0x3f,0x7e,0x20,0x8, 0x80,0x3a,0x7e,0x20,0xf, 0x80,0x35,0x7e,0x20,
+0x10,0x80,0x30,0x7e,0x20,0x11,0x80,0x2b,0x7e,0x20,0x12,0x80,0x26,0x7e,0x20,0x17,
+0x80,0x21,0x7e,0x20,0x1a,0x80,0x1c,0x7e,0x20,0x18,0x80,0x17,0x7e,0x20,0x1b,0x80,
+0x12,0x7e,0x20,0x21,0x80,0xd, 0x7e,0x20,0x20,0x80,0x8, 0x7e,0x20,0x1f,0x80,0x3,
+0x7e,0x20,0x19,0x12,0x47,0x90,0x80,0x3, 0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x28,
+0x2, 0xa1,0x43,0x22,0x6c,0x77,0x80,0x2d,0x12,0x47,0xa0,0xbe,0x60,0x7, 0x40,0x10,
+0xbe,0x60,0xe, 0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x13,0x12,0x47,0x8e,0x80,0x13,
+0xbe,0x60,0xf, 0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x29,0x12,0x47,0x8e,0x80,0x3,
+0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x2d,0x12,0x47,
+0xa0,0xbe,0x60,0x9, 0x40,0x10,0xbe,0x60,0x12,0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0x10,0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x13,0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0x23,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,
+0x6c,0x77,0x80,0x2d,0x12,0x47,0xa0,0xbe,0x60,0xd, 0x40,0x10,0xbe,0x60,0x18,0x38,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0xb, 0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x19,0x40,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x1b,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb,
+0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x27,0x12,0x47,0xa0,0xbe,0x60,0xe,
+0x40,0xa, 0xbe,0x60,0x19,0x38,0x5, 0x12,0x47,0x88,0x80,0x13,0xbe,0x60,0x1a,0x40,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x19,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb,
+0x70,0xbc,0x37,0x38,0xd5,0x22,0x6c,0x77,0x80,0x27,0x12,0x47,0xa0,0xbe,0x60,0xe,
+0x40,0xa, 0xbe,0x60,0x19,0x38,0x5, 0x12,0x47,0x88,0x80,0x13,0xbe,0x60,0x1a,0x40,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x18,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb,
+0x70,0xbc,0x37,0x38,0xd5,0x22,0x6c,0x77,0x80,0x42,0x12,0x47,0xa0,0xbe,0x60,0x0,
+0x40,0x10,0xbe,0x60,0xd, 0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x3, 0x12,0x47,0x8e,
+0x80,0x28,0xbe,0x60,0xe, 0x40,0x10,0xbe,0x60,0x1b,0x38,0xb, 0xa, 0x56,0x2e,0x54,
+0x0, 0x9, 0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x1c,0x40,0xb, 0xa, 0x56,0x2e,0x54,
+0x0, 0x15,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x38,0xba,
+0x22,0x6c,0x77,0x80,0x2d,0x12,0x47,0xa0,0xbe,0x60,0x11,0x40,0x10,0xbe,0x60,0x1e,
+0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x6, 0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x1f,
+0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x11,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,
+0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x8, 0x12,0x47,0xa0,0x12,0x47,
+0x98,0xb, 0x70,0xbc,0x37,0x38,0xf4,0x22,0xa, 0x56,0x2e,0x54,0x0, 0xa, 0x7c,0x2b,
+0x7d,0x50,0x2d,0x52,0x7a,0x59,0x20,0x22,0x7d,0x50,0x2d,0x52,0x7a,0x59,0x60,0x22,
+0xa, 0x7, 0x7d,0x50,0x2d,0x54,0x7a,0xb1,0x82,0x7a,0xa1,0x83,0xe4,0x93,0x7c,0x6b,
+0x22,0x7e,0x4, 0x0, 0x76,0x6d,0x11,0xe4,0x7a,0x9, 0xb0,0xb, 0x4, 0xb, 0x14,0xbe,
+0x14,0x0, 0x1c,0x78,0xf2,0x7e,0x4, 0x2, 0xb6,0x6d,0x11,0xe4,0x7a,0x9, 0xb0,0xb,
+0x4, 0xb, 0x14,0xbe,0x14,0x0, 0x17,0x78,0xf2,0x6d,0x11,0x12,0x4b,0x6e,0x2e,0x34,
+0x0, 0x7a,0x12,0x4b,0x6b,0x2e,0x34,0x2, 0xb6,0x12,0x4b,0x6b,0x2e,0x34,0x2, 0xc0,
+0x12,0x4b,0x59,0xb, 0x14,0xbe,0x14,0x0, 0x2, 0x40,0xe0,0x74,0x2, 0x7a,0xb3,0x0,
+0x68,0x74,0xa, 0x7a,0xb3,0x0, 0x69,0x7e,0x34,0x0, 0xc7,0x7a,0x37,0x0, 0x6a,0x7e,
+0x34,0x0, 0xc6,0x7a,0x37,0x0, 0x6c,0x7e,0x34,0x0, 0x31,0x7a,0x37,0x0, 0x70,0xc2,
+0x4, 0x75,0xd, 0x0, 0x75,0x1a,0x0, 0xc2,0x5, 0x75,0xb, 0x0, 0x12,0x48,0x45,0x7e,
+0x24,0x7, 0xd0,0x7a,0x27,0x0, 0x74,0x7a,0x37,0x0, 0x9c,0xe4,0x7a,0xb3,0x2, 0xd2,
+0x7a,0xb3,0xb, 0x37,0x22,0x6d,0x33,0x7a,0x37,0x2, 0xd0,0x22,0x12,0x48,0x45,0x7e,
+0x34,0x3, 0xe8,0x7a,0x37,0x0, 0x74,0x2, 0x48,0x5a,0x7e,0x34,0xb, 0x63,0x7e,0xb3,
+0xb, 0xc2,0x20,0xe0,0x2, 0x21,0x19,0x54,0xfe,0x7a,0xb3,0xb, 0xc2,0x7e,0x39,0x50,
+0x7a,0x53,0x3, 0x4b,0x12,0x49,0x1a,0x3e,0x24,0x3e,0x24,0x7a,0x27,0x3, 0x49,0xbe,
+0x24,0x2, 0x26,0x50,0x8, 0x7e,0x24,0x2, 0x26,0x7a,0x27,0x3, 0x49,0x9, 0x53,0x0,
+0x5, 0x7a,0x53,0x0, 0xa0,0x12,0x49,0x1a,0x7a,0x27,0x0, 0x9e,0x9, 0x53,0x0, 0x25,
+0xa, 0x25,0x7a,0x27,0x0, 0x92,0x9, 0x53,0x0, 0x6, 0x7a,0x53,0x0, 0x94,0x9, 0x53,
+0x0, 0x8, 0x7a,0x53,0x0, 0x96,0xbe,0x50,0xf, 0x40,0x6, 0x74,0xe, 0x19,0xb3,0x0,
+0x8, 0x9, 0x53,0x0, 0x8, 0xa, 0x25,0x2e,0x24,0x4, 0xfb,0x7a,0x51,0x82,0x7a,0x41,
+0x83,0xe4,0x93,0x7a,0xb3,0x0, 0x95,0x9, 0x53,0x0, 0x9, 0x7a,0x53,0x0, 0x98,0x7a,
+0x53,0x0, 0x97,0x9, 0x53,0x0, 0x24,0x7a,0x53,0x0, 0x9a,0x9, 0x53,0x0, 0x2d,0x7a,
+0x53,0xd, 0x3f,0x9, 0xb3,0x0, 0x2e,0x7a,0xb3,0x3, 0x34,0xb4,0x1, 0x5, 0xe4,0x7a,
+0xb3,0x3, 0x34,0x7e,0xa3,0xb, 0xb3,0xbe,0xa3,0x0, 0xa1,0x68,0xc, 0x4c,0xaa,0x74,
+0x5, 0x7a,0xb3,0x0, 0x99,0x7a,0xa3,0x0, 0xa1,0x22,0xa, 0x25,0x3e,0x24,0x3e,0x24,
+0x3e,0x24,0x3e,0x24,0x22,0x12,0x49,0xe0,0x12,0x49,0xa1,0x12,0x37,0xd1,0x12,0x4a,
+0xa4,0x12,0x4a,0xf0,0x74,0x1, 0x7a,0xb3,0xb, 0x9f,0x7e,0xb3,0xb, 0x9f,0x24,0xfd,
+0x68,0x11,0x24,0xae,0x68,0x32,0x24,0xab,0x68,0xe, 0x24,0xa9,0x78,0xec,0x12,0x11,
+0x6d,0x80,0xe7,0x12,0x1f,0xe, 0x80,0xe2,0x12,0x48,0x45,0x7e,0x24,0x1, 0xf4,0x7a,
+0x27,0x0, 0x74,0x7e,0xb3,0x2, 0xd2,0xbe,0xb0,0xaa,0x68,0xce,0x7a,0x37,0x0, 0x9c,
+0x74,0xaa,0x7a,0xb3,0x2, 0xd2,0x80,0xc2,0x12,0x48,0x45,0x7e,0x34,0x1, 0xf4,0x7a,
+0x37,0x0, 0x74,0x7e,0xb3,0x2, 0xd2,0xb4,0xaa,0xb0,0x74,0x55,0x7a,0xb3,0x2, 0xd2,
+0x7e,0x74,0x3, 0xe8,0x7d,0x37,0x1b,0x74,0x4d,0x33,0x78,0xf8,0x75,0xe9,0xff,0x80,
+0x99,0x12,0x49,0xc9,0x12,0x0, 0x17,0x12,0x49,0xef,0xc2,0x0, 0xc2,0x2, 0x22,0xc2,
+0x8e,0xe5,0x89,0x54,0xf, 0x44,0x20,0xf5,0x89,0x75,0x8d,0x1, 0x75,0x8b,0x0, 0xd2,
+0x8e,0xd2,0xab,0xa9,0xc3,0xb7,0xd2,0xbb,0x22,0xe4,0x12,0x4a,0x69,0x12,0x4a,0x30,
+0x12,0x4a,0x3c,0x74,0x1, 0x2, 0x49,0xd8,0x70,0x3, 0xc2,0xaf,0x22,0xd2,0xaf,0x22,
+0x6d,0x33,0x7a,0x37,0x2, 0xd0,0x7e,0x34,0x7, 0xd0,0x7a,0x37,0x0, 0x74,0x22,0x7e,
+0x18,0x0, 0x54,0x74,0xf, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0x8, 0x3, 0xe8,0x12,0x4,
+0x59,0xbe,0x18,0xf, 0xff,0x28,0x4, 0x7e,0x18,0xf, 0xff,0xd2,0xc8,0xa9,0xc0,0xcd,
+0xc2,0xaf,0xa9,0xd0,0x9e,0x7c,0xb6,0xf5,0x9d,0xa9,0xd0,0x9e,0x7c,0xb7,0xf5,0x9c,
+0x12,0x4a,0x28,0xc2,0xa8,0xd2,0xaf,0x22,0xc2,0x88,0xd2,0xb8,0xa9,0xd0,0xb7,0x22,
+0x75,0xeb,0x3, 0xa9,0xd6,0xac,0xa9,0xd6,0xec,0xd2,0x86,0x22,0xa9,0xd1,0x99,0x75,
+0x9a,0xfe,0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0xa9,0xd6,0xeb,0x70,0xf, 0xa9,0xc6,0xac,
+0xa9,0xc6,0xec,0xa9,0xd7,0xcd,0xc2,0x96,0xc2,0x95,0x80,0x7, 0xa9,0xd4,0xcd,0xd2,
+0x96,0xd2,0x95,0x12,0x4a,0x28,0xd2,0xa8,0x22,0xd2,0xcf,0xbe,0xb0,0x7, 0x38,0x4,
+0x7c,0xab,0x80,0x2, 0x6c,0xaa,0x43,0xcb,0x8e,0x4e,0xa0,0x30,0x7a,0xa1,0xcc,0x0,
+0x0, 0x0, 0x0, 0xa9,0xd0,0xca,0xa9,0xc5,0xcb,0x53,0xca,0xf1,0x43,0xca,0xe, 0x75,
+0xcf,0x4, 0xc2,0xcc,0xd2,0xcb,0xc2,0xca,0xc2,0xc9,0xc2,0xc8,0xa9,0xc6,0xcb,0x0,
+0x0, 0x0, 0x0, 0x22,0xe4,0x7a,0xb3,0x3, 0x34,0x74,0x1, 0x7a,0xb3,0x3, 0x42,0x74,
+0x7, 0x7a,0xb3,0x3, 0x41,0x74,0xf, 0x7a,0xb3,0x3, 0x38,0x7a,0xb3,0x3, 0x39,0x74,
+0x3f,0x7a,0xb3,0x3, 0x36,0x74,0x12,0x7a,0xb3,0x3, 0x3a,0x7a,0xb3,0x3, 0x3b,0x74,
+0x3f,0x7a,0xb3,0x3, 0x37,0x74,0x10,0x7a,0xb3,0x3, 0x3c,0x7a,0xb3,0x3, 0x3d,0x74,
+0x5, 0x7a,0xb3,0x3, 0x35,0x74,0x3, 0x7a,0xb3,0x3, 0x40,0x7a,0xb3,0x3, 0x3f,0x22,
+0x6d,0x22,0x7a,0x27,0xc, 0x7c,0x7e,0x34,0x1, 0x8e,0x7a,0x37,0xc, 0x7e,0x7a,0x27,
+0xc, 0x80,0x7a,0x37,0xc, 0x82,0x7e,0x14,0x0, 0x84,0x7a,0x17,0xc, 0x85,0x7e,0x14,
+0x0, 0xc7,0x7a,0x17,0xc, 0x87,0x74,0x64,0x7a,0xb3,0xc, 0x84,0x7e,0x14,0x0, 0x96,
+0x7a,0x17,0xc, 0x89,0x7a,0x27,0xc, 0xa0,0x7a,0x37,0xc, 0xa2,0x7a,0x27,0xc, 0xa4,
+0x7a,0x37,0xc, 0xa6,0x74,0x50,0x7a,0xb3,0xc, 0x9e,0x74,0x1e,0x7a,0xb3,0xc, 0x9f,
+0x74,0x3, 0x7a,0xb3,0xc, 0xa8,0x74,0x32,0x7a,0xb3,0xc, 0xa9,0x74,0xf, 0x7a,0xb3,
+0xc, 0xaa,0x74,0x50,0x7a,0xb3,0xc, 0xab,0x22,0x7e,0x24,0x7f,0xff,0x1b,0x38,0x20,
+0x59,0x23,0x0, 0x2, 0x74,0xff,0x19,0xb3,0x0, 0x4, 0x22,0x12,0x4b,0x59,0x7e,0x34,
+0x0, 0x5, 0xad,0x31,0x22,0xbe,0xb0,0x5e,0x38,0x2e,0xbe,0xb0,0x26,0x68,0x29,0xbe,
+0xb0,0x2f,0x68,0x24,0xbe,0xb0,0x23,0x68,0x1f,0xbe,0xb0,0x28,0x68,0x1a,0xbe,0xb0,
+0x21,0x68,0x15,0xbe,0xb0,0x22,0x68,0x10,0xa, 0x2b,0x19,0x72,0xb, 0x63,0x7e,0xb3,
+0xb, 0xc2,0x44,0x1, 0x7a,0xb3,0xb, 0xc2,0x22,0xca,0x79,0x7c,0x6b,0x24,0x0, 0x78,
+0x75,0x7e,0x74,0xc, 0xd6,0x7a,0x79,0x70,0x5e,0x70,0x70,0x7c,0xb7,0xc4,0x54,0xf,
+0x7c,0x7b,0xbe,0x70,0x4, 0x68,0x47,0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x20,0xa5,0xbf,
+0x1, 0x6, 0x74,0x2, 0x6c,0x77,0x80,0x5c,0xa5,0xbf,0x0, 0x7, 0x74,0x2, 0x7e,0x70,
+0x1, 0x80,0x51,0xa5,0xbf,0x3, 0x68,0x74,0x2, 0x7e,0x70,0x4, 0x80,0x46,0xa5,0xbf,
+0x1, 0x6, 0x74,0x3c,0x6c,0x77,0x80,0x29,0xa5,0xbf,0x4, 0x7, 0x74,0x3c,0x7e,0x70,
+0x3, 0x80,0x1e,0xa5,0xbf,0x3, 0x48,0x74,0x3c,0x7e,0x70,0x4, 0x80,0x13,0x7e,0xb3,
+0xb, 0x9f,0xb4,0x3, 0x7, 0x74,0x2, 0x7e,0x70,0x3, 0x80,0x18,0x74,0x3c,0x7e,0x70,
+0x3, 0x12,0x4b,0x75,0x80,0x29,0xbe,0x60,0xa, 0x50,0xe, 0x7e,0xb3,0xb, 0x9f,0xb4,
+0x3, 0x1d,0x7c,0xb6,0x12,0x35,0x35,0x80,0x16,0xbe,0x60,0xa, 0x40,0x11,0xbe,0x60,
+0xaf,0x38,0xc, 0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x5, 0x7c,0xb6,0x12,0x35,0x47,0xda,
+0x79,0x22,0x74,0x17,0x7a,0xb3,0xb, 0x63,0x74,0xa0,0x7a,0xb3,0xb, 0x68,0xe4,0x7a,
+0xb3,0xb, 0x69,0x74,0x5, 0x7a,0xb3,0xb, 0x6a,0x74,0xe, 0x7a,0xb3,0xb, 0x6b,0x74,
+0x5a,0x7a,0xb3,0xb, 0x6c,0x74,0xe, 0x7a,0xb3,0xb, 0x86,0x74,0x1, 0x7a,0xb3,0xb,
+0x87,0xe4,0x7a,0xb3,0xb, 0x88,0x74,0x1, 0x7a,0xb3,0xb, 0x89,0x7a,0xb3,0xb, 0x9f,
+0x74,0xa2,0x7a,0xb3,0xb, 0x8b,0xe4,0x7a,0xb3,0xb, 0x8c,0x74,0x2, 0x7a,0xb3,0xb,
+0x92,0xe4,0x7a,0xb3,0xb, 0x91,0x7a,0xb3,0xb, 0x90,0x7a,0xb3,0xd, 0x3f,0x7a,0xb3,
+0xb, 0xb3,0x74,0x3f,0x7a,0xb3,0xb, 0xb4,0xe4,0x7a,0xb3,0xb, 0x93,0x7a,0xb3,0xb,
+0x9e,0x7a,0xb3,0xb, 0x79,0x7e,0x34,0x5, 0xdc,0x7a,0x37,0x3, 0x49,0x74,0x17,0x7a,
+0xb3,0x3, 0x4b,0x12,0x4d,0x11,0x12,0x4d,0x9, 0x7a,0xb3,0x0, 0x94,0x74,0x7, 0x7a,
+0xb3,0x0, 0x95,0x74,0xe, 0x7a,0xb3,0x0, 0x96,0x74,0x5a,0x7a,0xb3,0x0, 0x97,0x7a,
+0xb3,0x0, 0x98,0x74,0x5, 0x7a,0xb3,0x0, 0x99,0x74,0x1, 0x7a,0xb3,0x0, 0x9a,0xe4,
+0x7a,0xb3,0x0, 0x9b,0x7a,0xb3,0x0, 0xa1,0x22,0x6d,0x33,0x7a,0x37,0x0, 0x92,0xe4,
+0x22,0x7e,0x34,0xa, 0x0, 0x7a,0x37,0x0, 0x9e,0x74,0xa0,0x7a,0xb3,0x0, 0xa0,0x22,
+0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,0xca,0x1b,0xca,0xb, 0xc0,0xd0,
+0xc0,0x83,0xc0,0x82,0x12,0x33,0x29,0x74,0x1, 0x7a,0xb3,0xc, 0xd1,0xd0,0x82,0xd0,
+0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,
+0x7b,0x32,0xca,0xb8,0xa9,0xc0,0x93,0xe4,0x7a,0xb3,0xc, 0xd0,0x7a,0xb3,0xc, 0xd2,
+0xda,0xb8,0x32,0x6c,0xaa,0x74,0xff,0xa, 0x4a,0x19,0xb4,0xc, 0xac,0x19,0xb4,0xc,
+0xbe,0xb, 0xa0,0xbe,0xa0,0x12,0x40,0xed,0x22,0xa9,0xd5,0xea,0xa9,0xc4,0xcb,0x75,
+0xa6,0x0, 0xa9,0xc1,0xcd,0x22,0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,
+0xca,0x1b,0xca,0xb, 0xc0,0xd0,0xc0,0x83,0xc0,0x82,0x12,0x4d,0xd1,0x7e,0xb3,0xc,
+0xd6,0x54,0xfd,0x7a,0xb3,0xc, 0xd6,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xd2,
+0xaf,0xc2,0x95,0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,0x4d,0x79,0xd0,0x82,0xd0,0x83,
+0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,0x7b,
+0x32,0xe5,0x9a,0x60,0x5, 0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0xa9,0xd4,0xcb,0x75,0xa6,
+0x10,0xa9,0xd1,0xcd,0xa9,0xc5,0xea,0x22,0xd2,0xce,0x75,0x92,0x70,0xd2,0xad,0xd2,
+0xe8,0xc2,0xc0,0xa9,0xd0,0xf7,0xd2,0xf8,0xa9,0xd5,0xb7,0xd2,0xbd,0x22,0xca,0x7b,
+0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,0xca,0x1b,0xca,0xb, 0xc0,0xd0,0xc0,0x83,
+0xc0,0x82,0x7e,0x35,0x1d,0xb, 0x34,0x7a,0x35,0x1d,0x7e,0x4, 0x0, 0xa, 0x7d,0x13,
+0x8d,0x10,0x4d,0x0, 0x78,0x38,0x7e,0xb3,0x9, 0x6b,0xbe,0xb0,0x0, 0x28,0x5, 0x14,
+0x7a,0xb3,0x9, 0x6b,0x7e,0xb3,0xd, 0x2c,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,
+0xd, 0x2c,0x7e,0xb3,0xd, 0x35,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x35,
+0x7e,0xb3,0xd, 0x2b,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x2b,0x7e,0xb3,
+0x6, 0xda,0x60,0x5, 0x14,0x7a,0xb3,0x6, 0xda,0xbe,0x34,0x3, 0xe8,0x40,0xe, 0x6d,
+0x33,0x7a,0x35,0x1d,0xe5,0xb, 0xbe,0xb0,0x64,0x50,0x2, 0x5, 0xb, 0x7e,0x37,0x2,
+0xd0,0xb, 0x34,0x7a,0x37,0x2, 0xd0,0x7e,0x37,0x0, 0x74,0xbe,0x37,0x2, 0xd0,0x28,
+0x3, 0x12,0x0, 0x27,0x7e,0xb3,0xb, 0x9f,0xb4,0xaa,0x18,0x7e,0x37,0x0, 0x9c,0x7d,
+0x23,0xb, 0x24,0x7a,0x27,0x0, 0x9c,0xbe,0x34,0x1, 0x2c,0x28,0x6, 0x74,0x1, 0x7a,
+0xb3,0xb, 0x9f,0xe5,0x1a,0xbe,0xb1,0xd, 0x28,0x4, 0x5, 0xd, 0x80,0x2, 0xd2,0x5,
+0x7e,0xb3,0xc, 0xd1,0x60,0xf, 0xbe,0xb0,0x28,0x50,0x7, 0x4, 0x7a,0xb3,0xc, 0xd1,
+0x80,0x3, 0x12,0x34,0xf5,0xd0,0x82,0xd0,0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,
+0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,0x7b,0x32,0x53,0xc8,0xc1,0x53,0xcb,0x10,
+0x22,0x7e,0x73,0x6, 0xc6,0xa, 0x37,0x1e,0x34,0x7a,0x73,0xd, 0x3d,0xa, 0x37,0x1e,
+0x34,0x7a,0x73,0xd, 0x3e,0x22,0xd2,0xc9,0xa, 0x56,0xf5,0xf1,0x7c,0xb7,0xf5,0xf2,
+0x75,0xf3,0x80,0x75,0xf4,0x0, 0x75,0xf5,0x83,0xa9,0x37,0xf5,0xfc,0xa9,0x36,0xf5,
+0xfc,0xe5,0xf6,0x43,0xfa,0x80,0xc2,0xc9,0x22,0x7e,0x24,0x12,0xa, 0xb, 0x28,0x30,
+0x5e,0x70,0xf, 0x1b,0x28,0x30,0xb, 0x28,0x30,0x4e,0x70,0x80,0x1b,0x28,0x30,0x7e,
+0xb3,0x6, 0xcb,0xc4,0x23,0x7c,0x7b,0x5e,0x70,0x7, 0xa5,0xbf,0x0, 0x5, 0x7e,0xa0,
+0x2, 0x80,0x32,0xa5,0xbf,0x1, 0x13,0x7e,0xb3,0x6, 0xc9,0x1e,0xb0,0x54,0x3, 0x68,
+0x4, 0x6c,0xaa,0x80,0x20,0x7e,0xa0,0x3, 0x80,0x1b,0xa5,0xbf,0x3, 0x5, 0x7e,0xa0,
+0x6, 0x80,0x12,0x7e,0xb3,0x6, 0xc9,0x1e,0xb0,0x54,0x3, 0x68,0x5, 0x7e,0xa0,0x1,
+0x80,0x3, 0x7e,0xa0,0x5, 0xa, 0x1a,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x2,
+0x37,0x1a,0x7e,0x24,0x12,0x2, 0xb, 0x28,0x30,0x5e,0x60,0xc0,0x1b,0x28,0x30,0x7e,
+0x73,0x6, 0xc8,0x7c,0x27,0x6c,0x33,0x12,0x37,0x1a,0x6c,0x11,0x80,0xb, 0xa, 0x31,
+0x9, 0x3, 0x6, 0x68,0xa, 0x20,0x12,0x5b,0x77,0x7e,0x3, 0x6, 0xc8,0xbc,0x1, 0x38,
+0xed,0x7c,0x10,0x80,0x9, 0x7e,0x24,0x0, 0x3f,0xa, 0x31,0x12,0x5b,0x77,0xbe,0x10,
+0x2e,0x40,0xf2,0x6d,0x22,0x7e,0x34,0x13,0x16,0x1b,0x38,0x20,0x7e,0x34,0x13,0x18,
+0x1b,0x38,0x20,0x7e,0x34,0x13,0x1a,0x1b,0x38,0x20,0x7e,0x34,0x13,0x1c,0x1b,0x38,
+0x20,0x6c,0x11,0x80,0xd, 0xa, 0x31,0x9, 0x3, 0x6, 0x68,0x7c,0xb0,0x12,0x50,0x19,
+0xb, 0x10,0x7e,0x73,0x6, 0xc8,0xbc,0x71,0x38,0xeb,0x7e,0xb3,0x6, 0xd7,0x30,0xe2,
+0x7, 0x7e,0xb3,0x6, 0xd5,0x2, 0x50,0x19,0x22,0x7c,0x7b,0xc4,0x54,0xf, 0x7c,0xab,
+0xa, 0x37,0x7e,0x24,0x0, 0x10,0x12,0x3, 0xba,0x7c,0x75,0x7e,0x14,0x0, 0x1, 0x7c,
+0xb7,0x60,0x5, 0x3e,0x14,0x14,0x78,0xfb,0xa, 0x2a,0x3e,0x24,0x2e,0x24,0x13,0x16,
+0x2, 0x37,0x1a,0xca,0x1b,0xca,0x19,0xc2,0xee,0xc2,0xc6,0x30,0xb, 0x6, 0x7e,0x34,
+0x0, 0x1, 0x80,0x4, 0x7e,0x34,0x0, 0x2, 0x7e,0x14,0x12,0x6, 0xb, 0x18,0x20,0x5d,
+0x23,0x68,0x7, 0x6d,0x22,0x1b,0x18,0x20,0xd2,0xa, 0xd2,0xee,0xda,0x19,0xda,0x1b,
+0x32,0x7e,0xb3,0x6, 0xd7,0x20,0xe1,0x62,0x12,0x50,0xdb,0x80,0x55,0xa, 0x2a,0x9,
+0x52,0x6, 0x96,0x7e,0x90,0x4, 0xac,0x95,0x49,0x14,0x3, 0x5e,0x49,0x4, 0x3, 0x5c,
+0xbe,0x8, 0x3a,0xc0,0x8, 0x20,0x7e,0xb3,0xc, 0x1f,0x7e,0x44,0x0, 0x1, 0x60,0x5,
+0x3e,0x44,0x14,0x78,0xfb,0x7e,0x10,0x2, 0xac,0x15,0x2e,0x4, 0xb, 0xc3,0xb, 0x8,
+0x10,0x4d,0x14,0x1b,0x8, 0x10,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x51,0x34,0x60,
+0xf, 0x7e,0x30,0x2, 0xac,0x35,0x49,0x1, 0xb, 0xc3,0x12,0x51,0x2c,0x1b,0x18,0x0,
+0xb, 0xa0,0x7e,0x43,0x6, 0xc8,0xbc,0x4a,0x38,0xa3,0x22,0x7e,0x37,0x6, 0xd8,0x6c,
+0xaa,0x22,0x7e,0xb3,0x6, 0xd7,0x20,0xe1,0x42,0x12,0x50,0xdb,0x80,0x35,0xa, 0x2a,
+0x9, 0x52,0x6, 0x96,0x12,0x51,0x2c,0xb, 0x18,0x40,0x7e,0xb3,0xc, 0x1f,0x7e,0x14,
+0x0, 0x1, 0x60,0x5, 0x3e,0x14,0x14,0x78,0xfb,0x4d,0x41,0x7e,0xb3,0x6, 0x4d,0x60,
+0x5, 0x12,0x51,0x34,0x60,0xb, 0xa, 0x1a,0x3e,0x14,0x2e,0x14,0x12,0x14,0x1b,0x18,
+0x40,0xb, 0xa0,0x7e,0x43,0x6, 0xc8,0xbc,0x4a,0x38,0xc3,0x22,0x7e,0x30,0x2, 0xac,
+0x35,0x2d,0x13,0x22,0xa, 0x15,0x2e,0x17,0x6, 0x4e,0x7e,0x19,0xb0,0x22,0xca,0x3b,
+0x12,0xe, 0xaf,0x7c,0xeb,0x4c,0xee,0x78,0x2, 0x61,0x5c,0x7e,0x7f,0x0, 0xa2,0x7e,
+0x34,0x38,0x80,0x7e,0x24,0x0, 0x1, 0xbf,0x71,0x28,0x5, 0x7e,0x80,0xa, 0x80,0x2a,
+0x7e,0x34,0x11,0x70,0x7e,0x24,0x0, 0x1, 0xbf,0x71,0x28,0x5, 0x7e,0x80,0x6, 0x80,
+0x19,0xbe,0x78,0xea,0x60,0x28,0x5, 0x7e,0x80,0x4, 0x80,0xe, 0xbe,0x78,0xc3,0x50,
+0x28,0x5, 0x7e,0x80,0x2, 0x80,0x3, 0x7e,0x80,0x1, 0xa, 0xf8,0x6d,0xee,0x7e,0xd4,
+0x0, 0xf, 0x7f,0x17,0x7d,0x1d,0x12,0x3, 0xfd,0x7f,0x7, 0x12,0x3, 0xec,0x7d,0x1d,
+0x12,0x3, 0xfd,0x7f,0x61,0x6c,0x99,0x7e,0xa0,0x5, 0x7c,0xd9,0xac,0xda,0x9, 0xb6,
+0x2, 0xba,0x7c,0xfb,0xbe,0xf0,0x2, 0x50,0x25,0xa, 0x3f,0x9, 0xb3,0x3, 0x4e,0x70,
+0x1d,0x49,0x6, 0x2, 0xb6,0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x5, 0xb, 0x53,0x49,0x26,
+0x2, 0xb8,0x59,0x25,0xb, 0x55,0x59,0x5, 0xb, 0x5b,0x59,0x25,0xb, 0x5d,0xb, 0x90,
+0xbe,0x90,0x2, 0x78,0xc2,0x6c,0x99,0x61,0x56,0x7e,0xa0,0x5, 0x7c,0x39,0xac,0x3a,
+0x9, 0xb1,0x2, 0xba,0x7c,0xfb,0xbe,0xf0,0x2, 0x40,0x2, 0x61,0x54,0x7e,0xa0,0x4,
+0x7c,0xdf,0xac,0xda,0x49,0x26,0xb, 0x53,0x49,0x31,0x2, 0xb6,0x9d,0x32,0x7d,0xa3,
+0x49,0x26,0xb, 0x55,0x49,0x31,0x2, 0xb8,0x9d,0x32,0x7d,0xb3,0x7d,0x1b,0x12,0x53,
+0x5f,0x7f,0x71,0x7d,0x1a,0x1a,0x2, 0x1a,0x0, 0x7d,0x3a,0x12,0x53,0x63,0x2f,0x17,
+0x7a,0x1f,0xa, 0x3, 0x49,0x26,0xb, 0x5b,0x12,0x53,0x7c,0x9d,0x32,0x7a,0x37,0x9,
+0xfd,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x25,0xb, 0x5d,0x12,0x53,0x72,0x9d,0x32,0x7d,
+0x63,0x7d,0x16,0x12,0x53,0x5f,0x7f,0x71,0x7e,0x27,0x9, 0xfd,0x7d,0x12,0x1a,0x2,
+0x1a,0x0, 0x7f,0x10,0x12,0x3, 0xec,0x2f,0x17,0x7a,0x1f,0x9, 0xff,0x7e,0xa0,0x5,
+0xac,0xa9,0x49,0x25,0x2, 0xb6,0xbe,0x24,0x0, 0x1e,0x40,0x1b,0xbe,0x24,0x1, 0x70,
+0x38,0x15,0x7e,0xa0,0x5, 0xac,0xa9,0x49,0x25,0x2, 0xb8,0xbe,0x24,0x0, 0x1e,0x40,
+0x6, 0xbe,0x24,0x1, 0x70,0x28,0x20,0xa, 0x98,0x6d,0x88,0x7e,0xf4,0x0, 0x6, 0x12,
+0x53,0xa1,0x7e,0x84,0x0, 0xb, 0x7d,0x18,0x12,0x3, 0xfd,0x12,0x53,0x86,0x7d,0x18,
+0x12,0x3, 0xfd,0x7f,0x41,0x80,0x1c,0xa, 0x98,0x6d,0x88,0x7e,0xf4,0x0, 0x5, 0x12,
+0x53,0xa1,0x2f,0x11,0x2f,0x11,0x2f,0x11,0x12,0x53,0x86,0x2f,0x11,0x2f,0x11,0x2f,
+0x11,0x7f,0x41,0x7e,0x1f,0x9, 0xff,0xbf,0x16,0x38,0x4b,0x7e,0xf, 0xa, 0x7, 0x7e,
+0x7f,0xa, 0x3, 0xbf,0x70,0x38,0x12,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x35,0xb, 0x53,
+0x12,0x53,0x92,0x49,0x35,0xb, 0x55,0x80,0x22,0xbf,0x74,0x38,0x3f,0x7e,0xa0,0x4,
+0xac,0xaf,0x49,0x15,0xb, 0x53,0x7e,0x4, 0x0, 0x2, 0x7d,0x3a,0x12,0x53,0x6a,0x12,
+0x53,0x92,0x49,0x15,0xb, 0x55,0x7d,0x3b,0x12,0x53,0x6a,0x7e,0xa0,0x5, 0xac,0xa9,
+0x59,0x35,0x2, 0xb8,0x80,0x16,0x7e,0x24,0x7f,0xff,0x7e,0xa0,0x4, 0xac,0xaf,0x59,
+0x25,0xb, 0x5b,0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x25,0xb, 0x5d,0x12,0x53,0x7c,0x7e,
+0xa0,0x4, 0xac,0xaf,0x59,0x35,0xb, 0x53,0x12,0x53,0x72,0x7e,0xa0,0x4, 0xac,0xaf,
+0x59,0x35,0xb, 0x55,0xb, 0x90,0xbc,0xe9,0x28,0x2, 0x21,0xe9,0xda,0x3b,0x22,0x1a,
+0x2, 0x1a,0x0, 0x1a,0x26,0x1a,0x24,0x2, 0x3, 0xec,0x7d,0x20,0x12,0x3, 0xba,0x2d,
+0x31,0x22,0x7e,0xa0,0x5, 0xac,0xa9,0x49,0x35,0x2, 0xb8,0x22,0x7e,0xa0,0x5, 0xac,
+0xa9,0x49,0x35,0x2, 0xb6,0x22,0xa, 0x18,0x6d,0x0, 0x12,0x3, 0xec,0x7f,0x1, 0x2f,
+0x10,0x22,0x7e,0xa0,0x5, 0xac,0xa9,0x59,0x35,0x2, 0xb6,0x7e,0xa0,0x4, 0xac,0xaf,
+0x22,0x7f,0x14,0x7d,0x1f,0x12,0x3, 0xfd,0x7f,0x4, 0x12,0x3, 0xec,0x7f,0x1, 0x2f,
+0x10,0x7d,0x1f,0x12,0x3, 0xfd,0x7a,0x1f,0xa, 0x7, 0xa, 0x38,0x6d,0x22,0x22,0xca,
+0x3b,0x12,0x3c,0x41,0x78,0x24,0x6c,0xff,0xe4,0xa, 0x3f,0x19,0xb3,0xb, 0x27,0x19,
+0xb3,0xb, 0x31,0x19,0xb3,0x3, 0x5a,0x6d,0x33,0x74,0x2, 0xac,0xbf,0x59,0x35,0xb,
+0x33,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xe0,0xe1,0xa1,0x6c,0xff,0x7e,0x50,0x2, 0xac,
+0x5f,0x49,0x32,0x3, 0x52,0xbe,0x34,0x7f,0xff,0x78,0x17,0xe4,0xa, 0x1f,0x19,0xb1,
+0xb, 0x27,0x19,0xb1,0xb, 0x31,0x19,0xb1,0x3, 0x5a,0x6d,0x11,0x59,0x12,0xb, 0x33,
+0x81,0xba,0xa, 0x1f,0x9, 0xb1,0x3, 0x5a,0x60,0x2, 0x81,0xba,0x59,0x32,0xb, 0x29,
+0x49,0x32,0x3, 0x56,0x59,0x32,0xb, 0x2d,0x49,0x32,0xb, 0x29,0x49,0x22,0xb, 0x2d,
+0x74,0x14,0xac,0xbf,0x49,0x15,0xb, 0xb, 0x49,0x5, 0xb, 0xd, 0x12,0xe, 0x7e,0x7a,
+0x37,0xa, 0x1, 0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0xb, 0x49,0x25,0xb, 0xd, 0x49,
+0x15,0xa, 0xff,0x49,0x5, 0xb, 0x1, 0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x3, 0xa, 0x3f,
+0x9, 0x53,0xb, 0x27,0xbe,0x50,0x2, 0x40,0x4c,0x74,0x2, 0xac,0xbf,0x49,0x25,0xb,
+0x29,0xbe,0x24,0x0, 0x18,0x40,0x16,0xbe,0x24,0x1, 0x76,0x38,0x10,0x49,0x25,0xb,
+0x2d,0xbe,0x24,0x0, 0x18,0x40,0x6, 0xbe,0x24,0x1, 0x76,0x28,0xe, 0x7e,0x27,0xa,
+0x1, 0xbe,0x24,0x0, 0x27,0x28,0x4, 0x74,0x1, 0x80,0x1b,0x7e,0x27,0xa, 0x1, 0xbe,
+0x24,0x0, 0x27,0x28,0xd, 0x7e,0x27,0xa, 0x3, 0xbe,0x24,0x0, 0x42,0x28,0x3, 0xe4,
+0x80,0x4, 0xe4,0x80,0x1, 0xe4,0x19,0xb3,0xb, 0x31,0xb, 0xf0,0xbe,0xf0,0x2, 0x68,
+0x2, 0x61,0xec,0x6c,0xff,0xe1,0x9b,0x74,0x5, 0xac,0xbf,0x9, 0xd5,0x2, 0xba,0xa,
+0x3d,0x9, 0xb3,0xb, 0x27,0x70,0x34,0x6c,0xcc,0x7e,0x70,0x5, 0xac,0x7f,0x49,0x13,
+0x2, 0xb6,0x7e,0x10,0x14,0xac,0x1d,0x7e,0x50,0x4, 0xac,0x5c,0x2d,0x20,0x59,0x12,
+0xa, 0xff,0x49,0x33,0x2, 0xb8,0x59,0x32,0xb, 0x1, 0xb, 0xc0,0xbe,0xc0,0x5, 0x78,
+0xd8,0x6d,0x33,0x74,0x2, 0xac,0xbd,0x59,0x35,0xb, 0x33,0xa, 0x3d,0x9, 0xb3,0xb,
+0x27,0xbe,0xb0,0x5, 0x50,0xa, 0xa, 0x3d,0x2e,0x34,0xb, 0x27,0x4, 0x7a,0x39,0xb0,
+0xa, 0x3d,0x9, 0x73,0xb, 0x27,0xbe,0x70,0x1, 0x38,0x2, 0xa1,0xf7,0x12,0x57,0xa4,
+0x60,0x2, 0xa1,0xf7,0x7e,0x90,0x14,0xac,0x9d,0x49,0x34,0xb, 0xf, 0x49,0x54,0xb,
+0xb, 0x2d,0x53,0x7a,0x57,0x9, 0xfd,0x49,0x34,0xb, 0x11,0x49,0x54,0xb, 0xd, 0x2d,
+0x53,0x7a,0x57,0x9, 0xff,0x74,0x5, 0xac,0xbf,0x49,0x15,0x2, 0xb6,0x2e,0x17,0x9,
+0xfd,0x7e,0x24,0x0, 0x3, 0x8d,0x12,0x59,0x15,0x2, 0xb6,0x49,0x35,0x2, 0xb8,0x2e,
+0x37,0x9, 0xff,0x8d,0x32,0x59,0x35,0x2, 0xb8,0x49,0x24,0xb, 0x7, 0x49,0x35,0x2,
+0xb6,0x9d,0x32,0x12,0x0, 0x2e,0x7a,0x37,0x9, 0xfd,0x74,0x14,0xac,0xbd,0x49,0x25,
+0xb, 0x9, 0x74,0x5, 0xac,0xbf,0x49,0x35,0x2, 0xb8,0x9d,0x32,0x12,0x0, 0x2e,0x12,
+0x57,0xdd,0x38,0xa, 0x7e,0x37,0x9, 0xff,0xbe,0x34,0x0, 0x27,0x28,0x1a,0x12,0x57,
+0xc9,0x2e,0x34,0xb, 0x7, 0x2e,0x14,0xb, 0x3, 0x12,0x5a,0xbe,0x59,0x35,0xb, 0x7,
+0x49,0x34,0x2, 0xb8,0x59,0x35,0xb, 0x9, 0x12,0x57,0xc9,0x2e,0x34,0xb, 0xb, 0x2e,
+0x14,0xb, 0xf, 0x12,0x5a,0xbe,0x59,0x35,0xb, 0xb, 0x49,0x44,0x2, 0xb8,0x59,0x45,
+0xb, 0xd, 0x49,0x35,0xb, 0x7, 0x49,0x25,0xb, 0x9, 0x12,0xe, 0x76,0x74,0x2, 0xac,
+0xbd,0x59,0x35,0xb, 0x33,0xe1,0x99,0x12,0x57,0xa4,0x70,0x2, 0xe1,0x99,0xa, 0x3d,
+0x9, 0x73,0xb, 0x27,0xbe,0x70,0x3, 0x50,0x2, 0xe1,0x99,0x12,0x57,0xab,0x70,0x2,
+0xe1,0x99,0x74,0x14,0xac,0xbd,0x49,0x25,0xa, 0xff,0x49,0x35,0xb, 0xb, 0x12,0x57,
+0xc1,0x7a,0x37,0x9, 0xfd,0x74,0x14,0xac,0xbd,0x49,0x25,0xb, 0x1, 0x49,0x35,0xb,
+0xd, 0x12,0x57,0xc1,0x12,0x57,0xdd,0x50,0xc, 0x7e,0x37,0x9, 0xff,0xbe,0x34,0x0,
+0x27,0x50,0x2, 0xe1,0x99,0x74,0x14,0xac,0xbd,0x12,0xe, 0x6e,0xb, 0x34,0x6d,0x22,
+0x7a,0x1f,0xa, 0x11,0x74,0x14,0xac,0xbd,0x49,0x35,0xb, 0x3, 0x49,0x25,0xb, 0x5,
+0x74,0x2, 0xac,0xbd,0x49,0x15,0xb, 0x29,0x49,0x5, 0xb, 0x2d,0x12,0xe, 0x7e,0x6d,
+0x22,0x7a,0x1f,0xa, 0xd, 0x74,0x14,0xac,0xbd,0x49,0x5, 0xb, 0x5, 0x49,0x15,0xb,
+0xd, 0x9d,0x10,0x6d,0x0, 0x7a,0xf, 0xa, 0x9, 0x7d,0x21,0x7e,0xf, 0xa, 0x11,0x12,
+0x57,0xf2,0x7a,0x1f,0xa, 0x9, 0x74,0x14,0xac,0xbd,0x49,0x15,0xb, 0x5, 0x6d,0x0,
+0x7e,0x1f,0xa, 0x9, 0x2f,0x10,0x12,0x57,0xb2,0x9f,0x10,0x7a,0x1f,0xa, 0x9, 0x49,
+0x5, 0xb, 0x3, 0x49,0x15,0xb, 0xb, 0x9d,0x10,0x6d,0x0, 0x7a,0xf, 0xa, 0x5, 0x7e,
+0x1f,0xa, 0xd, 0x7d,0x21,0x7e,0xf, 0xa, 0x11,0x12,0x57,0xf2,0x7a,0x1f,0xa, 0x5,
+0x74,0x14,0xac,0xbd,0x49,0xc5,0xb, 0x3, 0x7d,0x1c,0x6d,0x0, 0x7e,0x1f,0xa, 0x5,
+0x2f,0x10,0x49,0xd5,0xb, 0xb, 0x7d,0xfd,0x6d,0xee,0x9f,0x17,0x7a,0x1f,0xa, 0x5,
+0x12,0x57,0xab,0xb4,0x2, 0x17,0x7e,0x58,0x0, 0x2, 0x7e,0x1f,0xa, 0x5, 0x7f,0x5,
+0x12,0x4, 0x59,0x12,0x27,0xf3,0x7f,0x5, 0x12,0x57,0xb9,0x80,0x27,0x12,0x57,0xab,
+0xb4,0x1, 0x21,0xbd,0xdc,0x50,0xc, 0x7e,0x1f,0xa, 0x5, 0xbe,0x18,0x0, 0x0, 0x8,
+0x13,0x80,0xa, 0x7e,0x1f,0xa, 0x5, 0xbe,0x18,0x0, 0x0, 0x58,0x7, 0x12,0x3c,0x5c,
+0x7a,0x1f,0xa, 0x5, 0x12,0x57,0xa4,0x7e,0x1f,0xa, 0x5, 0xb4,0x1, 0x1d,0x2f,0x11,
+0x7e,0x68,0x0, 0x5, 0x7f,0x6, 0x12,0x4, 0x59,0x7a,0x1f,0xa, 0x5, 0x2f,0x17,0x12,
+0x27,0xf3,0x2f,0x11,0x7f,0x6, 0x12,0x57,0xb9,0x80,0x6, 0x2f,0x17,0x7a,0x1f,0xa,
+0x5, 0x74,0x14,0xac,0xbd,0x12,0x57,0xb2,0x7e,0x1f,0xa, 0x9, 0x2f,0x10,0x7a,0x1f,
+0xa, 0x9, 0x7e,0x1f,0xa, 0x5, 0x12,0x57,0xd1,0x12,0x27,0xf3,0x12,0x57,0xd1,0x7a,
+0x1f,0xa, 0x9, 0x7e,0x1f,0xa, 0x5, 0x7d,0x43,0x74,0x5, 0xac,0xbf,0x59,0x45,0x2,
+0xb6,0x7e,0x1f,0xa, 0x9, 0x59,0x35,0x2, 0xb8,0xb, 0xf0,0xbc,0xef,0x28,0x2, 0x81,
+0xc7,0xda,0x3b,0x22,0xa, 0x3d,0x9, 0xb3,0x3, 0x5a,0x22,0xa, 0x3d,0x9, 0xb3,0xb,
+0x31,0x22,0x49,0x15,0xb, 0xd, 0x6d,0x0, 0x22,0x12,0x4, 0x59,0x7a,0x1f,0xa, 0x9,
+0x22,0x9d,0x32,0x12,0x0, 0x2e,0xb, 0x34,0x22,0x7e,0x30,0x14,0xac,0x3d,0x7d,0x31,
+0x22,0x6d,0x22,0x7e,0x14,0x1, 0x8d,0x12,0x2f,0xf9,0x6d,0x22,0x22,0x7a,0x37,0x9,
+0xff,0x7e,0x37,0x9, 0xfd,0xbe,0x34,0x0, 0x27,0x22,0x7e,0x37,0xa, 0x17,0x7d,0x21,
+0x7d,0x1f,0x12,0x6, 0x3e,0x1a,0x26,0x1a,0x24,0x22,0xca,0xf8,0x7e,0xa3,0xb, 0xb3,
+0x7c,0xba,0x65,0x4e,0x68,0x5, 0xe4,0x7a,0xb3,0xb, 0xb6,0x7a,0xa1,0x4e,0x4c,0xaa,
+0x78,0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x5, 0x12,0x58,0x68,0x80,0x11,0xe4,0x7a,
+0xb3,0x2, 0xca,0x80,0xa, 0x7e,0xb3,0x6, 0x67,0x30,0xe1,0xb, 0x12,0x58,0x68,0x12,
+0x5a,0x3, 0x12,0x5a,0x9, 0x80,0x2e,0x12,0x58,0x76,0x7c,0xfb,0x4c,0xff,0x68,0x25,
+0x7c,0xbf,0x12,0x5a,0x10,0x60,0x1e,0x7e,0x34,0x0, 0x14,0x1b,0x34,0x78,0xfc,0x7e,
+0xb3,0x6, 0x67,0x30,0xe1,0x8, 0x74,0x26,0x7a,0xb3,0xb, 0xb6,0x80,0x7, 0x7a,0xf3,
+0xb, 0xb6,0x75,0x4f,0x1, 0xda,0xf8,0x22,0x74,0x26,0x7a,0xb3,0x2, 0xca,0x7a,0xb3,
+0xb, 0xb6,0x75,0x4f,0x1, 0x22,0xca,0x79,0x6c,0xaa,0x6d,0x44,0x7d,0xf4,0x7e,0x63,
+0x0, 0x90,0x7c,0xf6,0x5e,0xf0,0xf, 0x7c,0xb6,0xc4,0x7c,0xeb,0x5e,0xe0,0xf, 0x7e,
+0xe7,0xd, 0x29,0x1b,0xe4,0x68,0x3c,0x1b,0xe4,0x68,0x6e,0x1b,0xe4,0x78,0x2, 0x21,
+0x74,0x2e,0xe4,0x0, 0x3, 0x68,0x2, 0x21,0x9c,0xbe,0xf0,0x0, 0x38,0x2, 0x21,0xa2,
+0x4c,0xee,0x68,0x2, 0x21,0xa2,0x7e,0xe4,0x0, 0x1, 0x7a,0xe7,0xd, 0x29,0x7a,0xf7,
+0xd, 0x36,0x7a,0x47,0xd, 0x38,0x12,0x59,0xc3,0x7e,0xb3,0xc, 0xab,0x7a,0xb3,0xd,
+0x35,0x21,0x5c,0x4c,0xff,0x78,0x2, 0x80,0x1e,0x12,0x59,0xc3,0x7e,0x37,0xd, 0x36,
+0x7e,0x27,0xd, 0x38,0x12,0x59,0xf9,0xa5,0xbf,0x0, 0x4, 0xd2,0xe, 0x21,0x9c,0x7e,
+0xb3,0xd, 0x2c,0x60,0x2, 0x21,0xa2,0x7e,0x34,0x0, 0x2, 0x7a,0x37,0xd, 0x29,0x7e,
+0xb3,0xc, 0xa9,0x7a,0xb3,0xd, 0x2b,0x21,0xa2,0xbe,0xf0,0x0, 0x28,0x58,0x4c,0xee,
+0x78,0x54,0x7a,0xf7,0xd, 0x31,0x7a,0x47,0xd, 0x33,0x12,0x59,0xc3,0x7e,0xb3,0xc,
+0xa8,0xa, 0x2b,0x7e,0xb3,0xc, 0xa9,0xa, 0x3b,0x9d,0x32,0x7e,0xb3,0xd, 0x2b,0xa,
+0x4b,0xbd,0x43,0x18,0x2, 0x70,0x4, 0xd2,0xe, 0x80,0x61,0x7e,0x37,0xd, 0x36,0x7e,
+0x27,0xd, 0x38,0x7e,0xb3,0xc, 0x9e,0x12,0x59,0xcc,0x7c,0x7b,0xa5,0xbf,0x0, 0x4,
+0xd2,0xe, 0x80,0x48,0x7e,0x34,0x0, 0x3, 0x7a,0x37,0xd, 0x29,0x7e,0xb3,0xc, 0xaa,
+0x7a,0xb3,0xd, 0x2c,0x80,0x3c,0x4c,0xff,0x78,0x38,0x7e,0xb3,0xd, 0x2b,0x70,0x32,
+0xd2,0xe, 0x80,0x2e,0x4c,0xff,0x78,0x10,0x7e,0xb3,0xd, 0x2c,0x70,0x4, 0xd2,0xe,
+0x80,0x1a,0x7e,0x34,0x0, 0x4, 0x80,0x16,0x12,0x59,0xc3,0x7e,0x37,0xd, 0x31,0x7e,
+0x27,0xd, 0x33,0x12,0x59,0xf9,0xa5,0xbf,0x0, 0x8, 0xd2,0xe, 0x6d,0x33,0x7a,0x37,
+0xd, 0x29,0x7e,0x37,0xd, 0x29,0xbe,0x34,0x0, 0x2, 0x78,0x12,0x7e,0xa0,0x25,0x6d,
+0x33,0x7a,0x37,0xd, 0x29,0xe4,0x7a,0xb3,0xd, 0x35,0x7a,0xb3,0xd, 0x2c,0x7c,0xba,
+0xda,0x79,0x22,0x7a,0xf7,0xd, 0x2d,0x7a,0x47,0xd, 0x2f,0x22,0x7d,0x13,0xa, 0x3b,
+0x7d,0x3, 0x2e,0x7, 0xd, 0x2d,0xbd,0x1, 0x40,0x1d,0x2d,0x13,0xbe,0x17,0xd, 0x2d,
+0x40,0x15,0x7d,0x13,0x2e,0x17,0xd, 0x2f,0xbd,0x12,0x40,0xb, 0x2d,0x32,0xbe,0x37,
+0xd, 0x2f,0x40,0x3, 0x74,0x1, 0x22,0xe4,0x22,0x7e,0xb3,0xc, 0x9f,0x12,0x59,0xcc,
+0x7c,0x7b,0x22,0xe4,0x7a,0xb3,0x9, 0x62,0x22,0x6d,0x33,0x7a,0x37,0xd, 0x29,0x22,
+0x7c,0xab,0x54,0xf0,0xb4,0x20,0x18,0x7c,0xba,0x54,0xf, 0x7e,0x44,0x0, 0x1, 0x60,
+0x5, 0x3e,0x44,0x14,0x78,0xfb,0x7e,0x73,0xb, 0xb4,0xa, 0x57,0x5d,0x54,0x22,0xe4,
+0x22,0x7d,0x13,0x7e,0x37,0xc, 0xa0,0xbd,0x31,0x50,0x1a,0x7e,0x37,0xc, 0xa2,0xbd,
+0x31,0x28,0x12,0x7e,0x37,0xc, 0xa4,0xbd,0x32,0x50,0xa, 0x7e,0x37,0xc, 0xa6,0xbd,
+0x32,0x28,0x2, 0xe4,0x22,0x74,0x1, 0x22,0x6d,0x0, 0xb, 0xc, 0x7e,0x7f,0xa, 0x9,
+0x7f,0x17,0x12,0x3, 0xec,0x2f,0x14,0x7a,0x1f,0x9, 0xfd,0x7f,0x6, 0x2f,0x5, 0x2f,
+0x7, 0x7a,0xf, 0xa, 0x1, 0x22,0xa, 0xb, 0x7e,0x14,0x0, 0x3, 0x9d,0x10,0x7e,0x91,
+0x27,0x74,0x4, 0xac,0x9b,0x2e,0x44,0x3, 0x5c,0x49,0x34,0x0, 0x2, 0xb, 0x48,0x20,
+0x7c,0xb3,0x22,0x7e,0x24,0x12,0x0, 0xb, 0x28,0x30,0x5e,0x60,0x1f,0x1b,0x28,0x30,
+0x22,0xe5,0x24,0xa, 0x3b,0x3e,0x34,0x2e,0x34,0x10,0x0, 0xb, 0x38,0x70,0x6d,0x66,
+0xe5,0x24,0xa, 0x3b,0x22,0xb, 0x28,0x30,0x4d,0x35,0x1b,0x28,0x30,0x22,0x74,0x4,
+0x12,0x4, 0x8d,0x7e,0x90,0x5, 0xac,0x9f,0x49,0x34,0x2, 0xb6,0x74,0x14,0xac,0xbd,
+0x22,0x7e,0x25,0x33,0x7a,0x27,0x0, 0x50,0x7e,0x25,0x35,0x7a,0x27,0x0, 0x52,0x7a,
+0x37,0x0, 0x54,0x22,0x6d,0x0, 0x1b,0xc, 0x7e,0x5f,0xa, 0x5, 0x7f,0x15,0x12,0x3,
+0xec,0x7f,0x41,0x22,0x7e,0x25,0x22,0x7e,0x37,0xa, 0x9, 0xad,0x32,0x7c,0x76,0x7c,
+0x65,0xa, 0x24,0x22,0x6d,0x0, 0x2f,0x10,0x7e,0x14,0x0, 0x10,0x12,0x3, 0xfd,0x74,
+0x5, 0xac,0xbe,0x22,0x7f,0x13,0x7f,0x6, 0x12,0x3, 0xec,0x7f,0x7, 0x12,0x4, 0x59,
+0x7f,0x1, 0x22,0x7e,0x14,0x0, 0x3, 0x7e,0x1d,0x2a,0x12,0x3, 0xfd,0x7e,0x8, 0x0,
+0x4, 0x22,0x2e,0x18,0x0, 0xf, 0x7e,0x15,0x22,0x12,0x3, 0xfd,0x2f,0x11,0x2f,0x11,
+0x22,0x6d,0x0, 0x7e,0x6f,0xa, 0xd, 0x7f,0x16,0x12,0x3, 0xec,0x2f,0x41,0x22,0x7e,
+0x14,0x0, 0x3, 0x7f,0x13,0x12,0x3, 0xfd,0x7e,0x8, 0x0, 0x8, 0x22,0x7e,0xf, 0xa,
+0xb, 0x7e,0x37,0xa, 0x9, 0x6d,0x22,0x2, 0x3, 0xec,0xa, 0x4b,0x7d,0x24,0x7d,0xf4,
+0x1a,0x24,0x1a,0xe4,0xbf,0x7, 0x22,0x3e,0x34,0x2e,0x34,0x12,0x92,0x1b,0x38,0x20,
+0xb, 0x10,0x22,0xb, 0x48,0x20,0x4d,0x25,0x1b,0x48,0x20,0x7c,0xb7,0x22,0x7f,0x16,
+0x7d,0x1b,0x12,0x3, 0xfd,0x7f,0x7, 0x22,0x70,0x8f,0xff,0x0, 0xa2,0x5d,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43,0x45,0x49,0x5f,0x44,0x48,0x57,0x31,
+0x0, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x30,0x30,0x30,0x30,0x0, 0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1, 0xa2,
\ No newline at end of file
diff --git a/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DHW1_3207_0xA3_app.i b/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DHW1_3207_0xA3_app.i
new file mode 100644
index 0000000..32f11fc
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DHW1_3207_0xA3_app.i
@@ -0,0 +1,1471 @@
+0x2, 0x0, 0x76,0x2, 0x4d,0x86,0x22,0x22,0x22,0x22,0x32,0x2, 0x0, 0xa, 0x7f,0x71,
+0x7e,0x8, 0x0, 0x2, 0x2, 0x4, 0x59,0x2, 0x49,0xaf,0x22,0x2, 0x4d,0xfe,0x1e,0x44,
+0x1e,0x44,0x1e,0x44,0x1e,0x44,0x22,0x2, 0x4d,0xd1,0xff,0x2, 0x4d,0x20,0x7d,0x23,
+0xbe,0x24,0x0, 0x0, 0x48,0x3, 0x7d,0x32,0x22,0x6d,0x33,0x9d,0x32,0x22,0x70,0x2,
+0xc2,0xd, 0x22,0x2, 0x4d,0x52,0x40,0x10,0x10,0x10,0x10,0x40,0x12,0x0, 0x1, 0x2,
+0x3, 0x14,0x12,0x4, 0x5, 0x6, 0x7, 0x14,0x13,0x8, 0x9, 0xa, 0xb, 0x15,0x13,0xc,
+0xd, 0xe, 0xf, 0x15,0x40,0x11,0x11,0x11,0x11,0x40,0x3e,0x34,0x3e,0x34,0x3e,0x34,
+0x3e,0x34,0x22,0x2, 0x50,0x43,0x75,0x84,0x1, 0x7e,0x44,0xf, 0xff,0xe4,0x7a,0x49,
+0xb0,0x1b,0x44,0x78,0xf9,0x7e,0xf8,0xd, 0x3f,0xc2,0xc, 0x75,0x47,0x18,0xc2,0x8,
+0xd2,0x9, 0x75,0x1d,0x0, 0x75,0x1e,0x0, 0xc2,0x0, 0xd2,0x1, 0xc2,0x2, 0xc2,0x3,
+0xc2,0x4, 0xc2,0x6, 0x75,0x8, 0x76,0x75,0xa, 0x0, 0x75,0xc, 0x37,0x75,0xe, 0x2,
+0x75,0xf, 0x74,0x75,0x10,0x71,0x75,0x14,0x71,0x75,0x15,0x71,0x75,0x1b,0x7b,0xd2,
+0xa, 0xc2,0xb, 0x75,0x4c,0x0, 0x75,0x4d,0x0, 0xc2,0xd, 0x75,0x4e,0x0, 0x75,0x4f,
+0x0, 0xc2,0xe, 0x7e,0x4, 0x0, 0xff,0x7e,0x14,0x5, 0xa, 0xb, 0xa, 0x40,0x5d,0x44,
+0x68,0x1a,0x69,0x20,0x0, 0x2, 0xb, 0xe, 0xb, 0x44,0x80,0xa, 0x7e,0xb, 0xb0,0x7a,
+0x29,0xb0,0xb, 0x24,0xb, 0xc, 0x1b,0x44,0x78,0xf2,0x80,0xdf,0x2, 0x49,0x25,0xff,
+0x5b,0x98,0xa4,0x67,0xa1,0x5e,0x9b,0x64,0xa3,0x5c,0x1, 0xfe,0xff,0xff,0xff,0x0,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0x7e,0xa0,0x20,0x80,0xc, 0x7e,0xa0,0x10,0x80,0x5, 0x7e,0xa0,0x8, 0x6c,0x55,0x6d,
+0x33,0x33,0x92,0xd5,0x50,0xa, 0x6e,0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,
+0xa5,0xec,0x33,0x40,0x6, 0x2f,0x11,0xd5,0xf0,0xf6,0x22,0x7c,0xba,0x24,0x7e,0xa2,
+0xd5,0x13,0x7c,0x76,0x7c,0x65,0xa5,0xcc,0x92,0xe7,0x7c,0x5b,0x22,0x7c,0xb5,0x33,
+0x7c,0xb4,0x33,0x92,0xd5,0x4e,0x50,0x80,0x24,0x81,0x40,0x3, 0x9f,0x11,0x22,0x7c,
+0x45,0x7c,0x56,0x7c,0x67,0x6c,0x77,0x24,0xe0,0x50,0xe, 0x7e,0x1c,0xff,0xff,0x22,
+0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x4, 0x78,0xf4,0x30,0xd5,0xa, 0x6e,
+0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,0x22,0x7c,0xb5,0xa2,0xe7,0xd2,0xe7,
+0x7c,0x1b,0x7c,0xb4,0x33,0x40,0x9, 0x68,0xd, 0xb4,0xff,0xb, 0xa5,0xbd,0xff,0x3,
+0x2, 0x2, 0x67,0x2, 0x2, 0x6f,0x22,0x7c,0xb, 0x24,0x81,0xc2,0xe0,0xf5,0x82,0xf4,
+0x4, 0x2c,0xb0,0x7c,0x2b,0xc3,0x13,0x7c,0x4b,0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x7f,
+0x41,0x7c,0xb6,0xa2,0xe7,0x7c,0xb1,0xa5,0xba,0x7f,0x2, 0xc3,0x13,0x34,0x0, 0x94,
+0x0, 0x7c,0x2b,0x7e,0xa0,0x91,0xa4,0x7c,0xba,0x13,0xf4,0x94,0xfe,0xac,0xb2,0x33,
+0x7c,0xba,0x33,0x24,0x8c,0xd3,0x13,0x7c,0x5b,0xe4,0x92,0xe7,0x7c,0x6b,0x6c,0x77,
+0x7e,0x40,0x3f,0x75,0x83,0x2, 0x7f,0x51,0x7f,0x1, 0x7f,0x14,0x12,0x3, 0x39,0x7f,
+0x5, 0x12,0x2, 0x81,0x9e,0x24,0x0, 0x80,0xd5,0x83,0xeb,0x7e,0x1, 0x82,0x6c,0x11,
+0xe, 0x4, 0x1e,0x4, 0x2d,0x20,0x5e,0x40,0x7f,0x22,0x2d,0x0, 0x92,0xd5,0xe, 0x10,
+0x4e,0x10,0x80,0x7d,0x42,0x2d,0x44,0x50,0x2, 0xb2,0xd5,0x4e,0x50,0x80,0x6c,0x44,
+0x7c,0xb8,0x22,0x2c,0x44,0x50,0x12,0xb, 0x1c,0x7e,0x40,0x0, 0x5e,0x50,0x7f,0xbe,
+0x18,0x0, 0x0, 0x78,0x4, 0xb, 0x80,0x68,0x16,0xa2,0xd5,0x7c,0xb8,0x13,0x7c,0x4b,
+0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x22,0x7e,0x1c,0xff,0xff,0x22,0x9f,0x11,0x22,0x7e,
+0x24,0xff,0x80,0x20,0xd5,0x2, 0x6c,0x45,0x6d,0x33,0x22,0x2, 0x2, 0x67,0x6e,0x0,
+0x80,0x7c,0xb1,0x33,0x7c,0xb0,0x33,0x68,0xd, 0x4, 0x68,0xef,0x7c,0xb5,0x33,0x7c,
+0xb4,0x33,0x78,0x3, 0x7f,0x10,0x22,0x4, 0x68,0xe1,0x7d,0x50,0x92,0xf7,0x7d,0x45,
+0x7d,0x51,0xbf,0x21,0x40,0x6, 0x7c,0x80,0x7f,0x1, 0x7f,0x12,0x12,0x2, 0x2a,0x7e,
+0xa1,0xd0,0x5c,0xb0,0x4, 0x78,0x3, 0x20,0xd5,0xc1,0x7c,0xb0,0x4, 0x78,0x7, 0x50,
+0x2, 0xb2,0xd5,0x2, 0x2, 0x6f,0x92,0xd5,0xbe,0x80,0xff,0x68,0xf6,0x7c,0xb8,0x9c,
+0xb0,0x6c,0x0, 0x60,0x2a,0xb4,0x18,0x5, 0x7c,0x41,0x2, 0x2, 0x43,0x50,0xfb,0x80,
+0x3, 0x2f,0x0, 0x4, 0x7c,0x9b,0x5e,0x90,0x7, 0x78,0xf6,0x30,0xe4,0x6, 0x7c,0x43,
+0x7d,0x10,0x6d,0x0, 0x30,0xe3,0x8, 0x7c,0x43,0x7c,0x32,0x7c,0x21,0xa, 0x0, 0x30,
+0xf5,0x19,0x9f,0x10,0x78,0xe, 0x22,0x2, 0x2, 0x6c,0x1b,0x80,0x68,0xf9,0x2f,0x11,
+0x50,0x2, 0xb, 0x70,0x7c,0xb5,0x30,0xe7,0xf1,0x80,0x1b,0x2d,0x31,0x7c,0xb5,0xa5,
+0x39,0x7c,0x5b,0x50,0x11,0xb, 0x80,0x78,0x3, 0x2, 0x2, 0x6f,0x1e,0x34,0x13,0x50,
+0x3, 0x4e,0x60,0x80,0x1a,0x2b,0x2, 0x2, 0x43,0xbe,0x24,0xff,0xff,0x68,0x6, 0xbe,
+0x4, 0xff,0xff,0x78,0x3, 0x2, 0x2, 0x67,0x12,0x2, 0x2a,0x5c,0xb0,0x4, 0x68,0xf5,
+0x7c,0xb8,0xa5,0x48,0x68,0xef,0x7c,0xb8,0x70,0x3, 0x9f,0x11,0x22,0xa5,0xb8,0x0,
+0x3, 0x2, 0x2, 0x6f,0x2e,0x0, 0x81,0x50,0x7, 0x9c,0x80,0x38,0x7, 0x2, 0x2, 0x6c,
+0x9c,0x80,0x50,0xed,0xa, 0x51,0xc2,0xe7,0x4d,0x51,0x78,0x3, 0x2, 0x2, 0x59,0x7e,
+0x54,0x0, 0x80,0x7e,0x90,0x1a,0x6c,0x0, 0x80,0x6, 0x1b,0x90,0x68,0x14,0x2f,0x11,
+0xbf,0x10,0x40,0x4, 0x9f,0x10,0x4c,0xab,0x3, 0x30,0xe7,0xee,0xca,0xa8,0x6c,0xaa,
+0x80,0xe8,0xda,0x39,0xda,0x58,0x7c,0x4a,0xbe,0x50,0x80,0x50,0xa, 0x1b,0x80,0x68,
+0xbc,0x2f,0x11,0x50,0x2, 0xb, 0x70,0x2, 0x2, 0x43,0xc2,0xd5,0x7c,0xb4,0x30,0xe7,
+0x8, 0xb2,0xd5,0x6e,0x24,0xff,0xff,0xb, 0x24,0x7c,0xb6,0x30,0xe7,0x12,0xb2,0xd5,
+0x6e,0x34,0xff,0xff,0xb, 0x34,0x8d,0x32,0x6e,0x24,0xff,0xff,0xb, 0x24,0x80,0x2,
+0x8d,0x32,0x30,0xd5,0x6, 0x6e,0x34,0xff,0xff,0xb, 0x34,0x22,0x7d,0x51,0xad,0x3,
+0x7d,0x2, 0x7d,0x21,0xad,0x5, 0x2d,0x12,0xad,0x35,0x2d,0x21,0x22,0x7d,0x2, 0xad,
+0x31,0xad,0x10,0x2d,0x21,0x22,0x6d,0x0, 0x74,0x10,0x4d,0x0, 0x78,0xb, 0x4d,0x22,
+0x78,0x27,0x8d,0x31,0x7d,0x12,0x6d,0x22,0x22,0x7d,0x43,0x7d,0x32,0x6d,0x22,0x2f,
+0x11,0x2d,0x44,0x50,0x2, 0xa5,0xf, 0xbf,0x10,0x40,0x4, 0x9f,0x10,0xb, 0x90,0x14,
+0x78,0xed,0x7f,0x1, 0x6d,0x22,0x7d,0x34,0x22,0x7d,0x41,0x7d,0x13,0x8d,0x24,0x7d,
+0x2, 0x2f,0x0, 0x40,0x4, 0xbd,0x4, 0x40,0x4, 0x9d,0x4, 0xb, 0x14,0x14,0x78,0xf1,
+0x7d,0x23,0x7d,0x31,0x7d,0x10,0x6d,0x0, 0x22,0xc2,0xd5,0x7c,0xb0,0x30,0xe7,0x8,
+0xb2,0xd5,0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x7c,0xb4,0x30,0xe7,0x13,0xb2,0xd5,0x9f,
+0x22,0x9f,0x21,0x7f,0x12,0x12,0x4, 0x8, 0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x80,0x3,
+0x12,0x4, 0x8, 0x30,0xd5,0x6, 0x9f,0x22,0x9f,0x21,0x7f,0x12,0x22,0x6c,0xaa,0x4d,
+0x11,0x68,0x1a,0x1e,0x54,0x68,0xe, 0xb, 0x38,0x20,0x1b,0x18,0x20,0xb, 0x35,0xb,
+0x15,0x1b,0x54,0x78,0xf2,0x50,0x6, 0x7e,0x39,0x40,0x7a,0x19,0x40,0x22,0x7d,0x3,
+0x80,0xa, 0x7e,0x29,0xb0,0x7a,0x9, 0xb0,0xb, 0x24,0xb, 0x4, 0x7d,0x51,0x1b,0x14,
+0x4d,0x55,0x78,0xee,0x22,0x13,0x12,0x10,0xf, 0x14,0xe, 0xb, 0xc, 0x1, 0x7, 0xa,
+0x9, 0x2, 0x3, 0x5, 0x6, 0x11,0x4, 0x15,0x0, 0xd, 0x8, 0x7f,0x1, 0xbe,0x8, 0x0,
+0x0, 0x48,0x3, 0x7f,0x10,0x22,0x9f,0x11,0x9f,0x10,0x22,0x7d,0x13,0x80,0x7, 0x1b,
+0x24,0x7a,0x19,0xb0,0xb, 0x14,0x4d,0x22,0x78,0xf5,0x22,0x10,0x10,0x10,0x1c,0x19,
+0x14,0x10,0xe, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x0, 0xc, 0xc, 0xe9,0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xc, 0xf5,0x0, 0x0,
+0x0, 0x1, 0xc, 0xf7,0x0, 0x0, 0x1, 0xd, 0x10,0x0, 0x0, 0x1, 0xd, 0x11,0x0, 0x0,
+0x1, 0xd, 0x12,0x0, 0x0, 0x2e,0xa, 0x8d,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x16,0xa, 0xbb,0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x2e,0xa, 0xd1,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x1, 0xc, 0xd0,0x0, 0x0, 0x1, 0xc, 0xd2,0x0, 0x0, 0x2, 0xc, 0xd3,
+0x0, 0x0, 0x0, 0x1, 0xc, 0xd5,0x0, 0x0, 0x1, 0xc, 0xd7,0x0, 0x0, 0x1, 0xc, 0xd8,
+0x0, 0x0, 0x2, 0x0, 0x72,0x3, 0x1c,0x0, 0x4, 0x0, 0xa2,0x0, 0x0, 0x0, 0x0, 0x0,
+0x2, 0x2, 0xcd,0x0, 0x0, 0x0, 0x1, 0x2, 0xcf,0x0, 0x0, 0x1, 0x2, 0xd3,0x0, 0x0,
+0x1, 0x3, 0x48,0x0, 0x0, 0x1, 0x3, 0x4c,0x0, 0x0, 0x1, 0x3, 0x4d,0x0, 0x0, 0x1,
+0xd, 0x3a,0x0, 0x0, 0x1, 0xd, 0x3b,0xff,0x0, 0x1, 0xd, 0x3c,0x0, 0x0, 0x1, 0xd,
+0x3d,0x10,0x0, 0x1, 0xd, 0x3e,0x8, 0x0, 0x1, 0xd, 0x3f,0x0, 0x0, 0x1, 0x9, 0x6c,
+0x0, 0x0, 0x1, 0xd, 0x28,0x0, 0x0, 0x1, 0xb, 0x38,0x0, 0x0, 0x2, 0xd, 0x29,0x0,
+0x0, 0x0, 0x2, 0x6, 0xdb,0x6, 0xe1,0x0, 0x1, 0x9, 0x69,0x0, 0x0, 0x0, 0x7d,0x41,
+0x7d,0x12,0x1a,0x26,0x1a,0x24,0x12,0x6, 0x5e,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x2,
+0x4, 0x59,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x7f,0x17,0x9f,0x10,0x7d,0x1d,0x1a,0x2,
+0x1a,0x0, 0x2, 0x3, 0xec,0xca,0x3b,0x7f,0x71,0x7c,0xab,0x6c,0x33,0x6c,0xee,0x6d,
+0x22,0x7a,0x25,0x22,0x7a,0x25,0x24,0x7d,0x62,0x7d,0x82,0x7d,0x92,0x7d,0x42,0x7d,
+0xa2,0x7d,0xb2,0x7e,0x37,0x5, 0xf8,0x7d,0xd3,0x7e,0x24,0x0, 0x2, 0x12,0x3, 0xba,
+0x7d,0xc3,0xa, 0x3a,0x7e,0x24,0x0, 0xb, 0x12,0x3, 0xba,0x7c,0xb5,0x7c,0xfb,0xbe,
+0xf0,0x5, 0x50,0x4c,0x1a,0x13,0x12,0x7, 0x73,0x48,0x2c,0xbe,0x78,0x1, 0xa, 0x48,
+0x2, 0x80,0x3, 0x7e,0x45,0x24,0x12,0x6, 0x52,0x7d,0x54,0x12,0x7, 0x84,0xbe,0x78,
+0x0, 0xc7,0x8, 0x7c,0x7f,0x17,0x9e,0x18,0x0, 0xc7,0x12,0x0, 0xe, 0x7f,0x71,0x2e,
+0x18,0x0, 0xc7,0x7f,0x71,0x80,0x69,0xbe,0x78,0x0, 0x89,0x18,0x9, 0x7d,0x19,0x12,
+0x6, 0x54,0x7d,0x59,0x80,0x27,0x7e,0x45,0x22,0x12,0x6, 0x52,0x7d,0x54,0x80,0x1d,
+0x1a,0x1e,0x12,0x7, 0x73,0x48,0x1b,0xbe,0x78,0x1, 0x4, 0x48,0x9, 0x7d,0x1b,0x12,
+0x6, 0x54,0x7d,0x5b,0x80,0x7, 0x7d,0x18,0x12,0x6, 0x54,0x7d,0x58,0x12,0x7, 0x84,
+0x80,0x2e,0xbe,0x78,0x0, 0x87,0x18,0x9, 0x7d,0x1a,0x12,0x6, 0x54,0x7d,0x5a,0x80,
+0x7, 0x7d,0x16,0x12,0x6, 0x54,0x7d,0x56,0x12,0x7, 0x84,0xbe,0x78,0x0, 0x0, 0x58,
+0xf, 0x9f,0x11,0x9f,0x17,0x12,0x0, 0xe, 0x7f,0x71,0x9f,0x11,0x9f,0x17,0x7f,0x71,
+0xbe,0x78,0x0, 0x0, 0x58,0x6, 0x9f,0x11,0x7f,0x71,0x80,0x11,0x7d,0x1d,0x12,0x7,
+0x7d,0x48,0xa, 0x7d,0x3d,0x1a,0x26,0x1a,0x24,0x1b,0x1c,0x7f,0x71,0xbe,0xf0,0x5,
+0x40,0xc, 0x7d,0x1d,0x1a,0x2, 0x1a,0x0, 0x7f,0x17,0x2f,0x10,0x7f,0x71,0x7f,0x17,
+0xda,0x3b,0x22,0x1a,0x2, 0x7f,0x17,0x2f,0x10,0x7f,0x71,0x7d,0x1c,0x1a,0x2, 0x1a,
+0x0, 0xbf,0x70,0x22,0x3e,0x54,0x1a,0x4a,0x1a,0x48,0x7d,0x1d,0x1a,0x2, 0x1a,0x0,
+0x9f,0x2, 0x12,0x4, 0x59,0x7f,0x71,0x22,0xca,0x3b,0x7e,0xa3,0x0, 0x90,0x7c,0xca,
+0x5e,0xc0,0xf, 0x7c,0xba,0xc4,0x7c,0x3b,0x5e,0x30,0xf, 0x4c,0xcc,0x78,0x2d,0x12,
+0x9, 0xa5,0xbe,0x30,0x0, 0x38,0x3, 0x2, 0x9, 0xa2,0x6c,0xff,0x7e,0x20,0xff,0x74,
+0x5, 0xac,0xbf,0x19,0x25,0x2, 0xc4,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xf1,0x75,0x1c,
+0x1, 0x75,0x12,0x0, 0xe4,0x7a,0xb3,0xc, 0xf7,0x2, 0x9, 0xa2,0x7e,0x23,0xc, 0xf7,
+0xbe,0x20,0x3c,0x50,0x14,0x7e,0x4, 0xa, 0x0, 0x7a,0x7, 0x0, 0x9e,0x12,0x4d,0x19,
+0x7c,0xb2,0x4, 0x7a,0xb3,0xc, 0xf7,0x80,0xd, 0x7e,0x37,0x0, 0x9e,0xbe,0x34,0xa,
+0x0, 0x68,0x3, 0x12,0x4d,0x11,0x6c,0xff,0x7e,0x20,0xff,0x74,0x5, 0xac,0xbf,0x19,
+0x25,0xa, 0x1, 0x7e,0x34,0x7f,0xff,0x59,0x35,0x9, 0xfd,0x59,0x35,0x9, 0xff,0xb,
+0xf0,0xbe,0xf0,0x2, 0x78,0xe2,0x6c,0xff,0x80,0x23,0x7e,0x50,0x5, 0xac,0x5f,0x7d,
+0x2, 0x2e,0x4, 0x0, 0x7a,0xb, 0x8, 0x30,0x12,0x0, 0x6a,0x1b,0x8, 0x30,0x2e,0x24,
+0x0, 0x7c,0xb, 0x28,0x30,0x12,0x0, 0x6a,0x1b,0x28,0x30,0xb, 0xf0,0xbc,0xcf,0x38,
+0xd9,0xa5,0xbb,0x0, 0x28,0x6c,0xff,0x80,0x1e,0x74,0x5, 0xac,0xbf,0x49,0x45,0x0,
+0x7a,0x59,0x45,0x2, 0xc0,0x49,0x45,0x0, 0x7c,0x59,0x45,0x2, 0xc2,0x9, 0x75,0x0,
+0x7e,0x19,0x75,0x2, 0xc4,0xb, 0xf0,0xbc,0xcf,0x38,0xde,0x21,0x4a,0x6c,0xdd,0x6c,
+0xff,0x6c,0xee,0x7e,0x70,0x5, 0xac,0x7e,0x9, 0xa3,0x2, 0xc4,0x7e,0x50,0x5, 0xac,
+0x5f,0x9, 0xb2,0x0, 0x7e,0xbc,0xba,0x78,0x13,0xbe,0xb0,0xff,0x68,0xe, 0xbe,0xd0,
+0x2, 0x50,0x10,0x2e,0x34,0x2, 0xc0,0x12,0xe, 0x60,0x80,0x7, 0xb, 0xe0,0xbe,0xe0,
+0x2, 0x40,0xd0,0xbe,0xe0,0x2, 0x78,0xb, 0xbe,0xd0,0x2, 0x50,0x6, 0x12,0x3e,0x25,
+0x12,0xe, 0x60,0xb, 0xd0,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xb5,0x6c,0xff,0x12,0x3e,
+0x15,0x2e,0x34,0x9, 0xfd,0x2e,0x14,0x2, 0xc0,0x12,0x3e,0x2f,0x78,0xf0,0xe5,0x12,
+0x70,0x68,0x6c,0xff,0x80,0x60,0x7c,0xef,0x6c,0xdd,0x80,0x21,0x7e,0x90,0x5, 0xac,
+0x9f,0x9, 0xa4,0x2, 0xc4,0x7e,0x70,0x5, 0xac,0x7d,0x9, 0xb3,0x0, 0x7e,0xbc,0xba,
+0x78,0x9, 0xbe,0xa0,0xff,0x68,0x4, 0x7c,0xed,0x80,0x6, 0xb, 0xd0,0xbc,0xcd,0x38,
+0xdb,0xbe,0xe0,0x2, 0x40,0x2, 0x7c,0xef,0x12,0xf, 0xfd,0xbe,0x34,0x18,0xe0,0x50,
+0xa, 0x49,0x24,0x2, 0xc2,0xbe,0x24,0x18,0xe0,0x40,0x12,0x49,0x24,0x0, 0x7a,0x74,
+0x5, 0xac,0xbf,0x59,0x25,0x2, 0xc0,0x59,0x35,0x2, 0xc2,0x80,0x7, 0x7c,0xbf,0x7c,
+0x7e,0x12,0x9, 0xdd,0xb, 0xf0,0xbc,0xcf,0x38,0x9c,0x6c,0xff,0x74,0x5, 0xac,0xbf,
+0x49,0x45,0x2, 0xc0,0x12,0x0, 0x1e,0x59,0x45,0x0, 0x7a,0x49,0x45,0x2, 0xc2,0x12,
+0x0, 0x1e,0x59,0x45,0x0, 0x7c,0x9, 0x75,0x2, 0xc4,0x19,0x75,0x0, 0x7e,0xb, 0xf0,
+0xbe,0xf0,0x2, 0x78,0xd7,0xbe,0xc0,0x0, 0x28,0x25,0x6c,0xff,0x74,0x5, 0xac,0xbf,
+0x49,0x45,0x0, 0x7a,0x59,0x45,0x2, 0xb6,0x49,0x45,0x0, 0x7c,0x59,0x45,0x2, 0xb8,
+0x9, 0x75,0x0, 0x7e,0x19,0x75,0x2, 0xba,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xdd,0x75,
+0x9, 0x1, 0xda,0x3b,0x22,0x12,0xe, 0xaf,0x78,0x32,0x20,0xc, 0x2f,0x6c,0xaa,0x7e,
+0x44,0x7f,0xff,0x7e,0x70,0x4, 0xac,0x7a,0x59,0x43,0xc, 0xe1,0x59,0x43,0xc, 0xe3,
+0x6d,0x33,0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0xc, 0xdd,0x7e,0x34,0x1, 0x0, 0x59,
+0x32,0xc, 0xd9,0xb, 0xa0,0xbe,0xa0,0x2, 0x78,0xd5,0xd2,0xc, 0x22,0xca,0x3b,0x7c,
+0xe7,0x7c,0xdb,0x75,0x24,0x0, 0x9f,0x11,0x7a,0x1f,0xa, 0xb, 0x7a,0x1f,0xa, 0xf,
+0x7a,0x1f,0xa, 0x13,0x12,0x3c,0x6, 0x74,0x5, 0xac,0xbd,0x49,0x15,0x2, 0xc0,0x49,
+0x5, 0x2, 0xc2,0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x7, 0x74,0x5, 0xac,0xbd,0x9, 0xf5,
+0x2, 0xc4,0xbe,0xf0,0x2, 0x40,0x2, 0x6c,0xff,0x12,0x3c,0x6, 0x74,0x4, 0xac,0xbf,
+0x49,0x15,0xc, 0xe1,0x49,0x5, 0xc, 0xe3,0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x9, 0x7e,
+0x27,0xa, 0x7, 0x7e,0x34,0x0, 0xdc,0xad,0x23,0x7e,0x17,0x0, 0x9e,0x12,0x4, 0x6,
+0x7a,0x35,0x22,0xbe,0x34,0x0, 0xa, 0x50,0x7, 0x7e,0x34,0x0, 0xa, 0x7a,0x35,0x22,
+0x75,0x24,0x0, 0x6c,0xcc,0x7e,0x90,0x14,0xac,0x9f,0x49,0x24,0xb, 0x3, 0x49,0x34,
+0xb, 0x7, 0xbd,0x32,0x78,0xe, 0x49,0x54,0xb, 0x5, 0x49,0x34,0xb, 0x9, 0xbd,0x35,
+0x78,0x2, 0xa1,0x41,0x74,0x5, 0xac,0xbe,0x49,0x15,0x0, 0x7c,0x1e,0x14,0x1e,0x14,
+0x1e,0x14,0x1e,0x14,0x6d,0x0, 0x7a,0xf, 0xa, 0x13,0xbe,0x8, 0x0, 0x18,0x48,0xa,
+0x7e,0xf, 0xa, 0x13,0xbe,0x8, 0x1, 0x76,0x8, 0x5, 0x75,0x25,0x34,0x80,0x1c,0x7e,
+0xf, 0xa, 0x13,0xbe,0x8, 0x0, 0x31,0x48,0xa, 0x7e,0xf, 0xa, 0x13,0xbe,0x8, 0x1,
+0x5d,0x8, 0x5, 0x75,0x25,0x20,0x80,0x3, 0x75,0x25,0x19,0x49,0x35,0x0, 0x7a,0x12,
+0xe, 0xa3,0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0xf, 0x74,0x5, 0xac,0xbe,0x49,0x35,0x0,
+0x7c,0x12,0xe, 0xa3,0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x5, 0x12,0xe, 0x2f,0x7a,
+0x1f,0xa, 0x13,0x7d,0x3, 0x7e,0x1f,0xa, 0xf, 0x7d,0x13,0x2d,0x10,0x7a,0x17,0xa,
+0x17,0xbe,0x14,0x0, 0x7, 0x8, 0x3d,0xbe,0x18,0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,
+0x1f,0xa, 0xf, 0x7e,0x1f,0xa, 0x13,0xbe,0x18,0x0, 0x0, 0x78,0xa, 0x7e,0x1f,0xa,
+0x13,0xb, 0x1c,0x7a,0x1f,0xa, 0x13,0x12,0xe, 0x39,0x8, 0x4, 0xb, 0xc0,0x80,0x14,
+0x7e,0x1f,0xa, 0xb, 0xbe,0x18,0x0, 0x64,0x8, 0xa, 0x12,0x5b,0x8e,0x12,0xe, 0x4e,
+0x8, 0x2, 0x5, 0x24,0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x3, 0x49,0x35,0xb, 0x7,
+0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0xf, 0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x5, 0x49,
+0x35,0xb, 0x9, 0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0x13,0x7e,0x1f,0xa, 0xf, 0xbe,0x18,
+0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,0x1f,0xa, 0xf, 0x7e,0x1f,0xa, 0x13,0xbe,0x18,
+0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,0x1f,0xa, 0x13,0x12,0xe, 0x39,0x8, 0x4, 0xb,
+0xc0,0x80,0x14,0x7e,0x1f,0xa, 0xb, 0xbe,0x18,0x0, 0x64,0x8, 0xa, 0x12,0x5b,0x8e,
+0x12,0xe, 0x4e,0x8, 0x2, 0x5, 0x24,0x74,0x14,0xac,0xbf,0x12,0xe, 0x6e,0x7d,0xf3,
+0xbe,0xf7,0xa, 0x17,0x8, 0x2, 0xa1,0x2e,0xe5,0x25,0xbe,0xb0,0x34,0x7e,0x1f,0xa,
+0xb, 0x40,0x9, 0x12,0x5b,0x32,0x7e,0x8, 0x0, 0x5a,0x80,0x7, 0x12,0x5b,0x32,0x7e,
+0x8, 0x0, 0x4b,0x12,0x4, 0x59,0x7a,0x1f,0xa, 0xb, 0xe5,0x24,0x60,0x2, 0x81,0xe2,
+0x4c,0xcc,0x68,0x2, 0x81,0xe2,0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0x3, 0x6d,0x22,
+0x49,0x15,0xb, 0xb, 0x6d,0x0, 0x9f,0x1, 0x7a,0xf, 0xa, 0xf, 0x12,0x57,0xea,0x74,
+0x14,0xac,0xbf,0x49,0x15,0xb, 0x3, 0x12,0x5b,0x4, 0x49,0x15,0x0, 0x7a,0x6d,0x0,
+0x2f,0x10,0xbe,0x18,0x0, 0x0, 0x48,0x19,0x74,0x6, 0xac,0xbf,0x49,0xe5,0xc, 0xed,
+0x4d,0xee,0x78,0xd, 0x12,0x0, 0x10,0x7d,0xe3,0x74,0x5, 0xac,0xbe,0x59,0xe5,0x0,
+0x7a,0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0x5, 0x6d,0x22,0x74,0x14,0xac,0xbf,0x12,
+0x57,0xb2,0x9f,0x1, 0x7a,0xf, 0xa, 0x13,0x12,0x57,0xea,0x74,0x14,0xac,0xbf,0x49,
+0x15,0xb, 0x5, 0x12,0x5b,0x4, 0x49,0x15,0x0, 0x7c,0x6d,0x0, 0x2f,0x10,0xbe,0x18,
+0x0, 0x0, 0x48,0x17,0x74,0x6, 0xac,0xbf,0x49,0x15,0xc, 0xed,0x4d,0x11,0x78,0xb,
+0x12,0x0, 0x10,0x74,0x5, 0xac,0xbe,0x59,0x35,0x0, 0x7c,0x7e,0x90,0x6, 0xac,0x9f,
+0x49,0x54,0xc, 0xe9,0x4d,0x55,0x78,0x14,0x7e,0x1f,0xa, 0xf, 0x7d,0x53,0x59,0x54,
+0xc, 0xe9,0x7e,0x1f,0xa, 0x13,0x7d,0x53,0x59,0x54,0xc, 0xeb,0x49,0x34,0xc, 0xe9,
+0x1a,0x26,0x1a,0x24,0x7e,0x7f,0xa, 0xf, 0x7f,0x7, 0x12,0xe, 0x9b,0x48,0x11,0x49,
+0x34,0xc, 0xeb,0x1a,0x26,0x1a,0x24,0x7e,0xf, 0xa, 0x13,0x12,0xe, 0x9b,0x58,0x32,
+0x74,0x6, 0xac,0xbf,0x49,0x35,0xc, 0xed,0xbe,0x34,0x0, 0x3, 0x58,0xe, 0x7e,0x50,
+0x6, 0xac,0x5f,0x2e,0x24,0xc, 0xed,0xb, 0x34,0x1b,0x28,0x30,0x7d,0x3f,0x74,0x6,
+0xac,0xbf,0x59,0x35,0xc, 0xe9,0x7e,0x1f,0xa, 0x13,0x74,0x6, 0xac,0xbf,0x59,0x35,
+0xc, 0xeb,0xe5,0x24,0xbe,0xb0,0x2, 0x40,0xe, 0x74,0x6, 0xac,0xbf,0x49,0x45,0xc,
+0xed,0xbe,0x44,0x0, 0x2, 0x48,0x5, 0x75,0x24,0x0, 0x80,0xc, 0x4d,0x44,0x78,0x8,
+0x7e,0x34,0x0, 0x1, 0x59,0x35,0xc, 0xed,0xbe,0xc0,0x2, 0x40,0xf, 0x7e,0x50,0x6,
+0xac,0x5f,0x49,0x32,0xc, 0xed,0xbe,0x34,0x0, 0x2, 0x48,0x4, 0x6c,0xcc,0x80,0x33,
+0x4d,0x33,0x78,0x2f,0x7e,0x34,0x0, 0x1, 0x59,0x32,0xc, 0xed,0x80,0x25,0x7e,0x34,
+0x0, 0x2, 0x74,0x6, 0xac,0xbf,0x59,0x35,0xc, 0xed,0x75,0x24,0x0, 0x6c,0xcc,0x80,
+0x12,0x6d,0x33,0x74,0x6, 0xac,0xbf,0x59,0x35,0xc, 0xe9,0x59,0x35,0xc, 0xeb,0x59,
+0x35,0xc, 0xed,0x7e,0x35,0x22,0xbe,0x34,0x1, 0x0, 0x28,0x7, 0x7e,0x34,0x1, 0x0,
+0x7a,0x35,0x22,0x74,0x5, 0xac,0xbd,0x49,0x25,0x2, 0xc0,0x74,0x5, 0xac,0xbe,0x12,
+0x3c,0x77,0x7a,0x37,0xa, 0x9, 0xe5,0x24,0x60,0x13,0x12,0x5b,0x5d,0x74,0x14,0x1e,
+0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x80,0x3, 0x12,0x5a,0xf4,
+0x7a,0x37,0xa, 0x9, 0x7e,0x90,0x5, 0xac,0x9d,0x49,0x34,0x2, 0xc0,0x74,0x5, 0xac,
+0xbe,0x49,0x25,0x0, 0x7a,0xbd,0x23,0x28,0x11,0x7d,0x14,0x2e,0x14,0x2, 0xc0,0x7d,
+0x23,0x2e,0x27,0xa, 0x9, 0x1b,0x18,0x20,0x80,0xd, 0x7d,0x24,0x2e,0x24,0x2, 0xc0,
+0x9e,0x37,0xa, 0x9, 0x1b,0x28,0x30,0x49,0x24,0x2, 0xc2,0x12,0x3e,0xc, 0x7a,0x37,
+0xa, 0x9, 0x4c,0xcc,0x68,0x13,0x12,0x5b,0x5d,0x74,0xa, 0x1e,0x34,0x1e,0x24,0x50,
+0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x80,0x3, 0x12,0x5a,0xf4,0x7a,0x37,0xa, 0x9,
+0x7e,0x30,0x5, 0xac,0x3d,0x49,0x21,0x2, 0xc2,0x12,0xf, 0xfd,0xbd,0x32,0x7d,0x51,
+0x28,0xf, 0x2e,0x54,0x2, 0xc2,0x7d,0x2, 0x2e,0x7, 0xa, 0x9, 0x1b,0x58,0x0, 0x80,
+0xb, 0x2e,0x54,0x2, 0xc2,0x9e,0x27,0xa, 0x9, 0x1b,0x58,0x20,0x49,0x24,0x0, 0x7a,
+0x74,0x4, 0xac,0xbf,0x59,0x25,0xc, 0xe1,0x59,0x35,0xc, 0xe3,0xda,0x3b,0x22,0x9d,
+0x32,0x12,0x0, 0x2e,0x1a,0x26,0x1a,0x24,0x22,0x7e,0xb4,0x0, 0x64,0x7e,0x7f,0xa,
+0x13,0x7f,0x17,0x7d,0x1b,0x12,0x3, 0xfd,0x7e,0x6f,0xa, 0xf, 0x7f,0x6, 0x12,0x4,
+0x59,0x7f,0x1, 0x7a,0xf, 0xa, 0xb, 0xe5,0x25,0xa, 0x3b,0x6d,0x22,0xbf,0x10,0x22,
+0x7e,0x30,0x5, 0xac,0x3d,0x2e,0x14,0x9, 0xfd,0x74,0x5, 0x2, 0x4, 0x8d,0x49,0x35,
+0xb, 0xb, 0x49,0x25,0xb, 0xd, 0x49,0x15,0xb, 0x3, 0x49,0x5, 0xb, 0x5, 0xca,0x3b,
+0x7d,0x61,0x7a,0x35,0x26,0x7d,0x32,0x9d,0x30,0x12,0x0, 0x2e,0x7d,0x73,0x7e,0x35,
+0x26,0x9d,0x36,0x12,0x0, 0x2e,0x2d,0x37,0xda,0x3b,0x22,0x12,0x3, 0xec,0xbe,0x18,
+0x0, 0x0, 0x22,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x22,0x12,0xe, 0xba,0x7e,
+0xb3,0x0, 0x90,0x54,0xf, 0x22,0x7a,0xb3,0xb, 0x88,0x60,0x2a,0x7e,0xb3,0x6, 0xca,
+0x20,0xe7,0x3d,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x12,0x41,
+0x1d,0x7e,0xb3,0x6, 0xca,0x54,0xc7,0x44,0x10,0x12,0x17,0x72,0x12,0x5b,0x83,0x44,
+0x80,0x7a,0xb3,0x6, 0xca,0x22,0x7e,0xb3,0x6, 0xca,0x30,0xe7,0x13,0x54,0xc7,0x44,
+0x28,0x12,0x17,0x72,0x12,0x5b,0x83,0x54,0x7f,0x7a,0xb3,0x6, 0xca,0x2, 0x2f,0x8e,
+0x22,0xca,0x79,0x7e,0x77,0x0, 0x92,0x4d,0x77,0x78,0x32,0xe4,0x12,0xe, 0xac,0xbe,
+0xb0,0x0, 0x28,0x5, 0x75,0xb, 0x0, 0xe1,0xa6,0x7e,0xb3,0x0, 0x94,0x20,0xe0,0x2,
+0xe1,0xa6,0x7e,0x73,0x0, 0x99,0xbe,0x71,0xb, 0x38,0x7b,0x75,0xb, 0x0, 0x7e,0x34,
+0x0, 0x1, 0x7a,0x37,0x0, 0x92,0x74,0x1, 0x12,0xe, 0xb6,0x80,0x69,0xbe,0x74,0x0,
+0x1, 0x78,0x14,0x74,0x1, 0x12,0xe, 0xac,0x68,0x5c,0x12,0x4d,0x9, 0x12,0xe, 0xb6,
+0x75,0xd, 0x27,0xd2,0x5, 0x80,0x4f,0xbe,0x74,0x0, 0x3, 0x78,0x49,0x7e,0xb3,0x0,
+0x9b,0x12,0x4a,0x48,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x12,
+0xf, 0xf3,0x12,0x2f,0x66,0x74,0x2, 0x12,0xf, 0xcd,0x12,0x49,0xe0,0x12,0x0, 0x27,
+0xc2,0xa8,0xc2,0x95,0xa9,0xd0,0xca,0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,0x4a,0x30,
+0x12,0x1c,0xcb,0x12,0x4d,0x9, 0x7a,0xb3,0xb, 0x88,0x74,0xa, 0x7a,0xb3,0x6, 0xda,
+0x7e,0xb3,0x6, 0xda,0x70,0xfa,0x7e,0x77,0x0, 0x92,0x4d,0x77,0x78,0xb, 0x80,0x4,
+0xe4,0x12,0xf, 0xcd,0x30,0x5, 0xf9,0x80,0xc, 0xbe,0x74,0x0, 0x1, 0x78,0x6, 0x12,
+0xf, 0xf3,0x12,0x2f,0xac,0x75,0xd, 0x0, 0xc2,0x5, 0xda,0x79,0x22,0x70,0x5, 0x43,
+0x87,0x1, 0x80,0x1a,0xb4,0x1, 0xb, 0xa9,0xd0,0xce,0xa9,0xd7,0xc9,0x43,0x87,0x2,
+0x80,0xc, 0xb4,0x2, 0xd, 0xa9,0xd0,0xce,0xa9,0xc7,0xc9,0x43,0x87,0x2, 0x0, 0x0,
+0x0, 0x0, 0x22,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x20,0x93,0xf9,0x22,0x7e,0x90,0x5,
+0xac,0x9e,0x49,0x34,0x0, 0x7c,0x22,0x7d,0xf3,0xbe,0xf4,0x0, 0x50,0x38,0x28,0x7e,
+0x54,0x0, 0x50,0x9d,0x5f,0x12,0x11,0x3b,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x28,
+0x4, 0x9f,0x22,0x80,0x8, 0x7e,0x18,0x0, 0x2d,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0,
+0x0, 0x50,0x64,0x9f,0x22,0x80,0x60,0xbe,0xf4,0x1, 0x2f,0x40,0x20,0x12,0x11,0x35,
+0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x40,0x4, 0x7e,0x28,0x0, 0x2c,0xbe,0x28,0x0,
+0x2d,0x28,0x4, 0x7e,0x28,0x0, 0x2d,0x2e,0x28,0x1, 0x61,0x80,0x3a,0xbe,0xf4,0x0,
+0xbf,0x50,0x23,0x7e,0x54,0x0, 0xbf,0x9d,0x5f,0x12,0x10,0xa0,0xbe,0x28,0x0, 0xc7,
+0x38,0x8, 0x7e,0x18,0x0, 0xc7,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0, 0x2d,0x50,0x17,
+0x7e,0x28,0x0, 0x2d,0x80,0x11,0x12,0x10,0x9a,0x2e,0x28,0x0, 0xc7,0xbe,0x28,0x1,
+0x61,0x28,0x4, 0x7e,0x28,0x1, 0x61,0x7d,0x35,0x22,0x7d,0x5f,0x9e,0x54,0x0, 0xbf,
+0x6d,0x44,0x7e,0x14,0x1, 0x81,0x7f,0x12,0x12,0x3, 0xfd,0x7f,0x21,0x7c,0xba,0x7c,
+0xa9,0xa, 0x48,0x22,0x7d,0xf3,0xbe,0xf4,0x0, 0x50,0x38,0x20,0x7e,0x54,0x0, 0x50,
+0x9d,0x5f,0x12,0x11,0x3b,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x28,0x4, 0x9f,0x22,
+0x80,0x60,0x7e,0x18,0x0, 0x2d,0x9f,0x12,0x7f,0x21,0x80,0x56,0xbe,0xf4,0x1, 0x2f,
+0x40,0x16,0x12,0x11,0x35,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x40,0x4, 0x7e,0x28,
+0x0, 0x2c,0x2e,0x28,0x1, 0x61,0x80,0x3a,0xbe,0xf4,0x0, 0xbf,0x50,0x23,0x7e,0x54,
+0x0, 0xbf,0x9d,0x5f,0x12,0x10,0xa0,0xbe,0x28,0x0, 0xc7,0x38,0x8, 0x7e,0x18,0x0,
+0xc7,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0, 0x2d,0x50,0x17,0x7e,0x28,0x0, 0x2d,0x80,
+0x11,0x12,0x10,0x9a,0x2e,0x28,0x0, 0xc7,0xbe,0x28,0x1, 0x61,0x28,0x4, 0x7e,0x28,
+0x1, 0x61,0x7d,0x35,0x22,0x7d,0x5f,0x9e,0x54,0x1, 0x2f,0x6d,0x44,0x7e,0x14,0x2,
+0x7, 0x22,0xca,0xf8,0x6c,0xff,0x80,0x1d,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7a,
+0x12,0x10,0x7, 0x74,0x5, 0xac,0xbf,0x59,0x35,0x0, 0x7a,0x49,0x35,0x0, 0x7c,0x12,
+0x10,0xb4,0x12,0x3c,0x51,0x12,0x38,0x94,0x48,0xde,0xda,0xf8,0x22,0xca,0xf8,0x12,
+0x49,0xe0,0x7e,0x34,0x2, 0xd4,0x7a,0x37,0x6, 0xd8,0x12,0x4c,0x52,0xe4,0x12,0x43,
+0xb3,0x12,0x4d,0x63,0x12,0x3e,0x73,0x12,0x47,0xb1,0xe4,0x12,0x3f,0xc9,0x12,0x1c,
+0xc2,0x12,0x4e,0xf1,0x7e,0xb3,0xb, 0x9f,0xb4,0x1, 0x2, 0x80,0x2, 0x41,0x84,0x7e,
+0xf3,0x6, 0x4d,0x4c,0xff,0x68,0x36,0xbe,0xf0,0x1, 0x78,0xa, 0xe4,0x7a,0xb3,0x6,
+0x4d,0x12,0x3e,0xc9,0x80,0x12,0xbe,0xf0,0x3, 0x78,0x5, 0x12,0x1b,0xdc,0x80,0x8,
+0xbe,0xf0,0x2, 0x78,0x3, 0x12,0x17,0xff,0x7e,0x34,0xa, 0xd1,0x12,0x14,0xea,0x7e,
+0x34,0xa, 0xbb,0x12,0x14,0xea,0x7e,0x34,0xa, 0x8d,0x12,0x14,0xea,0x12,0x48,0x4c,
+0x12,0x37,0xfc,0x12,0x1f,0xf9,0x44,0x1, 0x7a,0xb3,0x6, 0xd7,0x12,0x15,0x1d,0x12,
+0x2f,0x45,0x12,0x27,0xfc,0x12,0x30,0xd8,0x12,0x23,0x3e,0x12,0x2a,0xa0,0x12,0x3c,
+0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x3, 0x12,0x14,0xfa,0x12,0xe, 0xaf,0x12,0x0,
+0x3e,0x7e,0x34,0x3, 0x5c,0x7e,0x24,0x5, 0x34,0x7e,0xb3,0x6, 0xc8,0x12,0x2d,0xc3,
+0x12,0x0, 0x6, 0x12,0x26,0x96,0x12,0x11,0x42,0x12,0x38,0x63,0x12,0x2d,0x3d,0x12,
+0x12,0x87,0x7e,0xb3,0xb, 0x38,0x60,0x8, 0xe4,0x7a,0xb3,0xb, 0x38,0x12,0x28,0x8c,
+0x12,0x3f,0x3d,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x3, 0x12,0x14,0xfa,0x12,0x18,0x72,
+0x12,0x2e,0xe5,0x12,0x28,0x97,0x12,0x28,0x27,0x12,0x38,0xa1,0x12,0x3c,0x80,0x12,
+0x7, 0x98,0x12,0x57,0xfa,0x12,0x51,0x3e,0x12,0x53,0xbf,0x7e,0xb3,0x6, 0x67,0x30,
+0xe1,0x3, 0x12,0x14,0xfa,0x7e,0xb3,0x0, 0x9a,0x12,0x41,0xc9,0x12,0xf, 0x1, 0x12,
+0x3e,0xf1,0x21,0x94,0xda,0xf8,0x22,0xca,0x3b,0x7e,0xb3,0x0, 0x90,0x7c,0xab,0x5e,
+0xa0,0xf, 0x7a,0xa1,0x25,0xc4,0x54,0xf, 0x54,0xf, 0xf5,0x26,0x7e,0x77,0x0, 0x6a,
+0x7e,0x67,0x0, 0x6c,0x7e,0xb3,0x0, 0x68,0xf5,0x23,0x7e,0xb3,0x0, 0x69,0xf5,0x24,
+0x4c,0xaa,0x78,0x4, 0xc2,0x4, 0x81,0x72,0xe5,0x25,0xbe,0xb0,0x1, 0x28,0x58,0x75,
+0x22,0x0, 0x80,0x48,0x12,0x14,0xe3,0x49,0x45,0x0, 0x7a,0x7a,0x45,0x2f,0x49,0x35,
+0x0, 0x7c,0x12,0x15,0x12,0x28,0xa, 0x12,0x14,0xf2,0x28,0x2e,0xbe,0x35,0x31,0x28,
+0x29,0x12,0x14,0x9b,0xbd,0x36,0x28,0x22,0x7a,0x65,0x29,0x12,0x17,0xf7,0x50,0x3,
+0x12,0x17,0xef,0x7e,0x35,0x33,0x12,0x14,0xc0,0x12,0x14,0xe3,0x59,0x35,0x0, 0x7a,
+0x12,0x14,0xbd,0x12,0x14,0xe3,0x59,0x35,0x0, 0x7c,0x5, 0x22,0xe5,0x25,0xbe,0xb1,
+0x22,0x38,0xb1,0xc2,0x4, 0x81,0x72,0xe5,0x25,0xb4,0x1, 0x22,0xe5,0x26,0x70,0x1e,
+0x12,0x15,0x7, 0x28,0xe, 0x12,0x14,0xf2,0x28,0x5, 0xbe,0x35,0x31,0x38,0x4, 0xc2,
+0x4, 0x81,0x72,0x12,0x14,0x9b,0x7a,0x35,0x29,0x12,0x5a,0xd1,0x81,0x9, 0xe5,0x25,
+0xb4,0x1, 0x2, 0x80,0x2, 0x81,0x9, 0x12,0x15,0x7, 0x28,0xe, 0x12,0x14,0xf2,0x28,
+0x5, 0xbe,0x35,0x31,0x38,0x4, 0xc2,0x4, 0x81,0x72,0x12,0x14,0x9b,0x9e,0x37,0x0,
+0x60,0x12,0x0, 0x2e,0x7a,0x35,0x2b,0x7e,0x35,0x33,0x9e,0x37,0x0, 0x50,0x7e,0x25,
+0x35,0x9e,0x27,0x0, 0x52,0x12,0x14,0x7e,0x7a,0x35,0x2d,0x7e,0x37,0x0, 0x70,0xbe,
+0x35,0x2d,0x50,0x28,0x7e,0x35,0x27,0x9e,0x37,0x0, 0x54,0x12,0x0, 0x2e,0x7e,0xa1,
+0x23,0x74,0x5, 0xa4,0xbd,0x35,0x58,0xc, 0x7e,0xa0,0x2, 0xe5,0x23,0xa4,0xf5,0x23,
+0xd2,0x4, 0x80,0x8, 0x7e,0xb3,0x0, 0x68,0xf5,0x23,0xc2,0x4, 0x30,0x4, 0x30,0xe5,
+0x23,0xa, 0x3b,0xbe,0x35,0x2b,0x28,0x4, 0x6d,0x33,0x80,0x27,0xe5,0x24,0xa, 0x3b,
+0xbe,0x35,0x2b,0x28,0x14,0x7e,0x25,0x2b,0x7e,0x34,0x0, 0x64,0xad,0x23,0xe5,0x24,
+0xa, 0x1b,0x6d,0x0, 0x12,0x4, 0x8, 0x80,0xa, 0x7e,0x34,0x0, 0x64,0x80,0x4, 0x7e,
+0x34,0x0, 0x64,0x7a,0x35,0x2b,0x7e,0xf7,0x0, 0x60,0x7d,0x1f,0x6d,0x0, 0x7e,0x35,
+0x27,0x6d,0x22,0x9f,0x10,0x7e,0x15,0x2b,0x12,0x3, 0xfd,0x12,0x27,0xba,0x7f,0x1,
+0x7d,0x3f,0x6d,0x22,0x2f,0x10,0x7a,0x35,0x29,0x7e,0x35,0x29,0xbd,0x36,0x38,0x7,
+0x7e,0x25,0x27,0xbd,0x26,0x28,0x5, 0x7a,0x65,0x29,0x80,0xb, 0xbe,0x34,0x0, 0x1,
+0x50,0x5, 0x6d,0x33,0x7a,0x35,0x29,0x12,0x17,0xf7,0x50,0x3, 0x12,0x17,0xef,0x7e,
+0x35,0x33,0x12,0x14,0xc0,0x7a,0x37,0x0, 0x7a,0x12,0x14,0xbd,0x7d,0x23,0x7a,0x27,
+0x0, 0x7c,0x7e,0x37,0x0, 0x7a,0x7a,0x35,0x2f,0x7a,0x25,0x31,0x7d,0x27,0x12,0x14,
+0x75,0x7a,0x35,0x33,0x7e,0x35,0x31,0x7d,0x27,0x12,0x14,0x75,0x7a,0x35,0x35,0x7e,
+0x35,0x29,0x7a,0x37,0x0, 0x60,0x7e,0x27,0x0, 0x70,0xbe,0x25,0x2d,0x50,0x3, 0x12,
+0x5a,0xd1,0xda,0x3b,0x22,0x7d,0x12,0x6d,0x0, 0x6d,0x22,0x9f,0x10,0x22,0x7d,0x52,
+0x7d,0x43,0x7d,0x35,0x12,0x17,0x69,0x7f,0x71,0x7d,0x34,0x12,0x17,0x69,0x2f,0x17,
+0x7c,0xb4,0x12,0x1, 0x20,0x12,0x1, 0x9a,0x2, 0x1, 0x5d,0x7e,0x35,0x2f,0x7d,0x27,
+0x12,0x14,0x75,0x7a,0x35,0x33,0x7e,0x35,0x31,0x7d,0x27,0x12,0x14,0x75,0x7d,0x23,
+0x7a,0x25,0x35,0x7e,0x35,0x33,0x12,0x14,0x7e,0x7a,0x35,0x27,0x22,0x7e,0x35,0x35,
+0x7e,0x25,0x29,0x7e,0x15,0x27,0x7d,0x7, 0x7d,0xf0,0x7d,0xe1,0x7d,0x12,0x1a,0x26,
+0x1a,0x24,0x12,0x3, 0xfd,0x7d,0x1e,0x6d,0x0, 0x12,0x4, 0x59,0x7d,0x1f,0x6d,0x0,
+0x2f,0x10,0x22,0x7e,0xa1,0x22,0x74,0x5, 0xa4,0x22,0x7e,0x24,0x0, 0x16,0xe4,0x2,
+0x4, 0xeb,0x7e,0x37,0x0, 0x72,0xbe,0x35,0x2f,0x22,0x7e,0xb3,0x0, 0x90,0x54,0xf0,
+0x44,0x2, 0x7a,0xb3,0x0, 0x90,0x22,0x7e,0x37,0x0, 0x7a,0x7a,0x35,0x2f,0x7e,0x37,
+0x0, 0x7c,0x7a,0x35,0x31,0x7e,0x73,0x6, 0xc7,0xbe,0x70,0x0, 0x22,0xca,0x3b,0x12,
+0x17,0xe0,0x30,0xe1,0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0xc, 0x7e,0xb3,0xd, 0x3f,
+0x70,0x14,0x7e,0xb3,0xd, 0x3c,0x70,0xe, 0x7e,0xb3,0x6, 0x67,0x20,0xe0,0x2, 0xc1,
+0x61,0x20,0xe2,0x2, 0xc1,0x61,0x7c,0xba,0x30,0xe1,0x8, 0x7e,0xb3,0x6, 0x12,0xf5,
+0x28,0x80,0x6, 0x7e,0xb3,0x6, 0x13,0xf5,0x28,0x7c,0xba,0x30,0xe1,0x7, 0x7e,0xb3,
+0x6, 0x67,0x30,0xe2,0x5, 0x75,0x29,0x1, 0x80,0x3, 0x75,0x29,0x2, 0x7e,0xb3,0xd,
+0x3c,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x3c,0x7e,0xb3,0x6, 0x67,0x30,
+0xe5,0xb, 0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x12,0x17,0xd2,
+0x4e,0x70,0x2, 0x1b,0x28,0x30,0x12,0x5a,0x97,0x7e,0x73,0x6, 0xd6,0xa, 0x57,0x12,
+0x17,0x8f,0x12,0x5a,0xb5,0x75,0x25,0x0, 0xc1,0x2d,0x12,0x43,0x6b,0x75,0x26,0x0,
+0x80,0x72,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0x6c,0x77,0x12,0x17,0xa0,0x80,0x4, 0xe4,
+0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x75,0x24,0x0, 0x80,0x50,0x12,0x5a,0xa1,
+0x9, 0x23,0x6, 0x96,0x7a,0x21,0x27,0x7e,0x71,0x25,0x74,0x3, 0xac,0x7b,0xe5,0x26,
+0xa, 0x2b,0x2d,0x23,0x7e,0x34,0x0, 0x58,0xad,0x32,0x7e,0x30,0x4, 0xac,0x23,0x2d,
+0x13,0x59,0x71,0x0, 0xa8,0x59,0x61,0x0, 0xa6,0x7e,0x73,0x6, 0xd6,0xbe,0x70,0x2,
+0x38,0x19,0xa, 0x7, 0x7e,0x54,0x0, 0x3, 0x9d,0x50,0x2e,0x14,0x0, 0xa6,0x12,0x2d,
+0xbb,0x60,0x5, 0x2f,0x11,0x14,0x78,0xfb,0x12,0x17,0xe7,0x5, 0x24,0x12,0x17,0x61,
+0x38,0xab,0x5, 0x26,0xe5,0x28,0xbe,0xb1,0x26,0x38,0x87,0x5, 0x25,0xe5,0x29,0xbe,
+0xb1,0x25,0x28,0x2, 0xa1,0xaa,0x7e,0x37,0x6, 0xa, 0x99,0x34,0x12,0x17,0xd2,0x5e,
+0x70,0xfd,0x1b,0x28,0x30,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0xa, 0x1b,0x3e,0x14,0x12,
+0x37,0x1a,0x12,0x5a,0x97,0x7e,0xb3,0x6, 0xca,0x12,0x17,0x89,0x12,0x5a,0xb5,0xe1,
+0x57,0x7e,0xb3,0x6, 0xc9,0x30,0xe0,0x51,0x7e,0xb3,0x6, 0x67,0x30,0xe5,0x5, 0x12,
+0x17,0x5a,0x50,0x11,0x74,0x2, 0x12,0x17,0xda,0x12,0x43,0x6b,0x12,0x17,0x97,0x80,
+0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0xe4,0x12,0x17,0xda,0x75,0x24,
+0x0, 0x80,0x17,0x12,0x5a,0xa1,0x9, 0xa3,0x6, 0x96,0x7a,0xa1,0x27,0x74,0x4, 0xa4,
+0x59,0x75,0x3, 0x5e,0x59,0x65,0x3, 0x5c,0x5, 0x24,0x12,0x17,0x61,0x38,0xe4,0x7e,
+0xb3,0x6, 0x67,0x30,0xe5,0x3, 0x12,0x17,0x97,0x75,0x24,0x0, 0xe1,0x4a,0xe5,0x24,
+0xa, 0x3b,0x9, 0xb3,0x6, 0x96,0xf5,0x27,0x12,0x17,0xe0,0x30,0xe1,0x19,0x7e,0xb3,
+0x6, 0xca,0xc4,0x23,0x54,0x7, 0xbe,0xb0,0x2, 0x38,0x22,0x12,0x5a,0x76,0x60,0x16,
+0x2f,0x11,0x14,0x78,0xfb,0x80,0xf, 0x12,0x23,0x28,0x38,0x11,0x12,0x5a,0x76,0x60,
+0x5, 0x2f,0x11,0x14,0x78,0xfb,0x59,0x34,0x0, 0x2, 0x1b,0x48,0x20,0x7c,0xba,0x30,
+0xe0,0x46,0x7e,0x31,0x27,0x74,0x2, 0xac,0x3b,0x49,0xf1,0x5, 0x90,0x7d,0x3f,0x1a,
+0x36,0x1a,0xe6,0x7e,0x11,0x27,0x74,0x4, 0xac,0x1b,0x49,0x30,0x3, 0x5e,0x49,0x20,
+0x3, 0x5c,0x7f,0x21,0x9f,0x27,0x59,0x50,0x4, 0x16,0x59,0x40,0x4, 0x14,0x49,0xf1,
+0x5, 0x34,0x7d,0x1f,0x1a,0x12,0x1a,0xe2,0x7e,0x31,0x27,0x74,0x4, 0xac,0x3b,0x2e,
+0x14,0x3, 0x5c,0x9f,0x17,0x12,0x17,0xe7,0x5, 0x24,0x12,0x17,0x61,0x28,0x2, 0xc1,
+0xbe,0x7e,0x37,0x6, 0xc, 0x99,0x34,0xda,0x3b,0x22,0x30,0xa, 0x2, 0xd3,0x22,0xc3,
+0x22,0x7e,0x73,0x6, 0xc8,0xbe,0x71,0x24,0x22,0x1a,0x26,0x1a,0x24,0x7f,0x1, 0x2,
+0x3, 0xec,0x7a,0xb3,0x6, 0xca,0x7e,0x44,0x12,0x0, 0xb, 0x48,0x50,0x5e,0xa0,0x1f,
+0x1b,0x48,0x50,0x7e,0x73,0x6, 0xca,0x7c,0xb7,0xc4,0x23,0x54,0x7, 0xa, 0x5b,0xc4,
+0x23,0x54,0xe0,0x7c,0xab,0xe4,0x22,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0x7e,0x70,0x1,
+0x24,0xff,0x92,0xb, 0xc2,0xc6,0xd2,0xee,0xa9,0xd6,0xf7,0xd2,0xfe,0x4c,0x77,0x68,
+0x15,0xc2,0xaf,0x12,0x17,0xd2,0x4e,0x70,0x1, 0x1b,0x28,0x30,0x7e,0x37,0x6, 0x0,
+0x99,0x34,0xd2,0xaf,0x80,0x9, 0x12,0x17,0xd2,0x4e,0x70,0x1, 0x1b,0x28,0x30,0xc2,
+0xa, 0x22,0x7e,0x24,0x12,0x0, 0xb, 0x28,0x30,0x22,0x7e,0x37,0x6, 0x2, 0x89,0x34,
+0x7e,0xa3,0x6, 0xd7,0x7c,0xba,0x22,0x59,0x31,0x0, 0x2, 0x1b,0x18,0x20,0x22,0x7e,
+0x34,0x0, 0x1, 0x7a,0x35,0x27,0x22,0x7e,0x35,0x27,0xbe,0x34,0x0, 0x1, 0x22,0xca,
+0xf8,0x7e,0xa3,0x6, 0xd7,0x7c,0xfa,0x5e,0xf0,0x1, 0x7c,0xba,0x12,0x1f,0xea,0x12,
+0x15,0x1d,0x6c,0xaa,0x80,0x3b,0x7e,0xb3,0x6, 0x4d,0x60,0xb, 0xb4,0x2, 0x30,0xa,
+0x3a,0x9, 0xb3,0xa, 0xbb,0x60,0x28,0x7e,0x90,0x4, 0xac,0x9a,0x49,0x34,0x3, 0x5e,
+0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0x5, 0x34,0x59,0x32,0x5, 0x90,0x9f,0x11,0x59,
+0x34,0x3, 0x5e,0x59,0x24,0x3, 0x5c,0x59,0x34,0x4, 0x16,0x59,0x24,0x4, 0x14,0xb,
+0xa0,0x12,0x18,0x6b,0x38,0xc0,0x7c,0x6f,0x5e,0x60,0x1, 0x7e,0x73,0x6, 0xd7,0x5e,
+0x70,0xfe,0x4c,0x76,0x7a,0x73,0x6, 0xd7,0xda,0xf8,0x22,0x7e,0xb3,0x6, 0xc8,0xbc,
+0xba,0x22,0x6c,0xaa,0x80,0x9, 0x12,0x19,0xf, 0x70,0x2, 0x21,0xe, 0xb, 0xa0,0x12,
+0x18,0x6b,0x38,0xf2,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x2, 0x21,0xe, 0x6c,0xaa,0x80,
+0x78,0x12,0x19,0xf, 0xb4,0x1, 0x70,0x7e,0xb3,0x6, 0xc6,0xbc,0xba,0x28,0x21,0x12,
+0x22,0x8a,0x7e,0xb3,0x6, 0x45,0x12,0x5b,0x6a,0x8, 0x6, 0x7e,0xb3,0x6, 0x43,0x80,
+0x1f,0x6d,0x33,0x9d,0x34,0x12,0x19,0x1e,0x58,0x4d,0x7e,0xb3,0x6, 0x44,0x80,0x34,
+0x12,0x22,0x8a,0x7e,0xb3,0x6, 0x48,0x12,0x5b,0x6a,0x8, 0x1b,0x7e,0xb3,0x6, 0x46,
+0xa, 0xeb,0x7e,0x50,0x2, 0xac,0x5a,0x7d,0xf2,0x2e,0xf4,0x5, 0x34,0xb, 0xf8,0x20,
+0x2d,0x2e,0x1b,0xf8,0x20,0x80,0x20,0x6d,0x33,0x9d,0x34,0x12,0x19,0x1e,0x58,0x17,
+0x7e,0xb3,0x6, 0x47,0xa, 0x4b,0x7e,0x50,0x2, 0xac,0x5a,0x2e,0x24,0x5, 0x34,0xb,
+0x28,0x30,0x9d,0x34,0x1b,0x28,0x30,0xb, 0xa0,0x12,0x18,0x6b,0x38,0x83,0x22,0x7e,
+0x34,0x6, 0x15,0x7c,0xba,0x2, 0x1a,0x54,0x6e,0x34,0xff,0xff,0xb, 0x34,0x1a,0x26,
+0x1a,0x24,0xbf,0x1, 0x22,0xca,0x3b,0x6c,0xee,0x6d,0x66,0x7e,0xb3,0x6, 0x67,0x30,
+0xe1,0x2, 0x41,0x33,0x6c,0xff,0x21,0xe9,0x12,0x1a,0x4e,0xb4,0x1, 0x2, 0x80,0x2,
+0x21,0xe7,0x7e,0x73,0x6, 0xc6,0xbc,0x7f,0x28,0x59,0xb, 0xe0,0x7e,0x50,0x4, 0xac,
+0x5f,0x49,0xd2,0x3, 0x5e,0x49,0xc2,0x3, 0x5c,0x7e,0x73,0x6, 0x45,0xa, 0x37,0x7d,
+0x53,0x1a,0x4a,0x1a,0x48,0xbf,0x62,0x8, 0xb, 0x12,0x1a,0x36,0xbf,0x2, 0x8, 0x4,
+0xb, 0x64,0x80,0x17,0x6d,0xff,0x9d,0xf3,0x7d,0x1f,0x1a,0x12,0x1a,0xe2,0xbf,0x67,
+0x58,0x9, 0x12,0x1a,0x36,0xbf,0x7, 0x58,0x2, 0x1b,0x64,0x12,0x1a,0x36,0xbf,0x2,
+0x8, 0x6, 0x7e,0xb3,0x6, 0x43,0x80,0x29,0x12,0x19,0x18,0x58,0x4a,0x7e,0x73,0x6,
+0x44,0x80,0x3c,0x7e,0x50,0x4, 0xac,0x5f,0x12,0x1a,0x36,0x7e,0x73,0x6, 0x48,0xa,
+0x37,0x7d,0x53,0x7d,0xf3,0x1a,0x5a,0x1a,0xea,0xbf,0x7, 0x8, 0x19,0x7e,0xb3,0x6,
+0x46,0xa, 0xfb,0x7e,0x90,0x2, 0xac,0x9f,0x2e,0x44,0x5, 0x90,0xb, 0x48,0x50,0x2d,
+0x5f,0x1b,0x48,0x50,0x80,0x11,0x12,0x19,0x18,0x58,0xc, 0x7e,0x73,0x6, 0x47,0x12,
+0x1a,0x3f,0x9d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,0x6a,0x28,0x2, 0x21,0x38,
+0xbe,0xe0,0x0, 0x28,0x3e,0x7d,0x36,0x12,0x0, 0x2e,0xa, 0x2e,0xbd,0x32,0x78,0x33,
+0x6c,0xff,0x80,0x2a,0x12,0x1a,0x4e,0x70,0x23,0xbe,0x64,0x0, 0x0, 0x8, 0xb, 0x7e,
+0x73,0x6, 0x43,0x12,0x1a,0x3f,0x2d,0x31,0x80,0xf, 0xbe,0x64,0x0, 0x0, 0x58,0xc,
+0x7e,0x73,0x6, 0x44,0x12,0x1a,0x3f,0x9d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,
+0x6a,0x38,0xd1,0xda,0x3b,0x22,0x49,0x12,0x4, 0x16,0x49,0x2, 0x4, 0x14,0x22,0xa,
+0x17,0x7e,0x50,0x2, 0xac,0x5f,0x2e,0x24,0x5, 0x90,0xb, 0x28,0x30,0x22,0x7e,0x34,
+0x6, 0x15,0x7c,0xbf,0x7d,0x23,0x4d,0x22,0x68,0x5, 0xbe,0xb0,0x2e,0x40,0x3, 0x74,
+0x1, 0x22,0xa, 0x3b,0x2d,0x32,0x7e,0x39,0xb0,0x22,0x7e,0x73,0x6, 0xc8,0xbc,0x7f,
+0x22,0xca,0x3b,0x75,0x23,0x0, 0x7e,0xb3,0x6, 0xd7,0x54,0xfd,0x7a,0xb3,0x6, 0xd7,
+0x7e,0x67,0x6, 0xd8,0x7e,0xb3,0x6, 0x67,0x30,0xe5,0x11,0x80,0x4, 0xe4,0x12,0xf,
+0xcd,0x12,0x17,0x5a,0x50,0xf7,0x75,0x23,0x1, 0x12,0x41,0x1d,0x12,0x5a,0x93,0x7e,
+0x73,0x6, 0xd6,0xa, 0x57,0x12,0x17,0x8f,0x12,0x5a,0xb5,0x6c,0xff,0x6d,0x33,0x80,
+0xa, 0x74,0x2, 0xac,0xbf,0x59,0x35,0x9, 0xfd,0xb, 0xf0,0x7e,0x53,0x6, 0xc8,0xbc,
+0x5f,0x38,0xee,0x6c,0xee,0x61,0x68,0x6c,0xff,0x80,0x15,0x7e,0xb3,0x6, 0x4d,0x60,
+0x5, 0x12,0x1b,0xd2,0x60,0x8, 0x6d,0x22,0x12,0x1b,0xca,0x1b,0x38,0x20,0xb, 0xf0,
+0x12,0x1a,0x6a,0x38,0xe6,0x75,0x22,0x0, 0x6d,0x33,0x7e,0xa1,0x22,0x74,0x2, 0xa4,
+0x59,0x35,0xb, 0xc3,0x5, 0x22,0xe5,0x22,0xb4,0x2e,0xed,0x6c,0xff,0x80,0x17,0xa,
+0x2f,0x7e,0x34,0x0, 0x9, 0x9d,0x32,0x7a,0x73,0xc, 0x1f,0x12,0x50,0xe2,0x12,0x41,
+0x28,0x12,0x50,0x71,0xb, 0xf0,0x7e,0x73,0x6, 0x14,0xbc,0x7f,0x38,0xe1,0x6c,0xff,
+0x80,0x3f,0x7e,0x50,0x2, 0xac,0x5f,0x49,0x12,0x9, 0xfd,0x12,0x1b,0xca,0xb, 0x38,
+0x30,0xbd,0x13,0x50,0x2a,0x59,0x32,0x9, 0xfd,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,
+0x1b,0xd2,0x60,0x1b,0x12,0x1f,0xdd,0x74,0x2, 0xac,0xbf,0x59,0x35,0x5, 0x34,0x74,
+0x2, 0xac,0xbf,0x49,0x35,0x5, 0x34,0x74,0x2, 0xac,0xbf,0x59,0x35,0x5, 0x90,0xb,
+0xf0,0x12,0x1a,0x6a,0x38,0xbc,0xb, 0xe0,0x7e,0x73,0x6, 0x11,0xbc,0x7e,0x28,0x2,
+0x41,0xc7,0x6c,0xff,0x80,0x1b,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x1b,0xd2,0x60,
+0xe, 0x74,0x2, 0xac,0xbf,0x49,0x25,0x9, 0xfd,0x12,0x1b,0xca,0x1b,0x38,0x20,0xb,
+0xf0,0x12,0x1a,0x6a,0x38,0xe0,0x74,0x3, 0x12,0x17,0xda,0x12,0x1f,0xa8,0x12,0x1f,
+0xf9,0xe5,0x23,0x60,0x15,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,
+0x7e,0xb3,0x6, 0x67,0x44,0x20,0x7a,0xb3,0x6, 0x67,0x12,0x5a,0x93,0x7e,0xb3,0x6,
+0xca,0x12,0x17,0x89,0x12,0x5a,0xb5,0xda,0x3b,0x22,0x7e,0x70,0x2, 0xac,0x7f,0x2d,
+0x36,0x22,0xa, 0x3f,0x2e,0x37,0x6, 0x4e,0x7e,0x39,0xb0,0x22,0xca,0x79,0x12,0x1f,
+0xe6,0x6d,0x33,0x6c,0xee,0x80,0xa, 0x74,0x2, 0xac,0xbe,0x59,0x35,0x9, 0xfd,0xb,
+0xe0,0x7e,0x53,0x6, 0xc8,0xbc,0x5e,0x38,0xee,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0x3f,
+0x6c,0xee,0x80,0x31,0x12,0x41,0x28,0x6c,0xff,0x80,0x23,0x7e,0x50,0x2, 0xac,0x5f,
+0x49,0xf2,0x9, 0xfd,0x6d,0xee,0x74,0x4, 0xac,0xbf,0x49,0x15,0x3, 0x5e,0x49,0x5,
+0x3, 0x5c,0xbf,0x7, 0x8, 0x6, 0x7d,0x31,0x59,0x32,0x9, 0xfd,0xb, 0xf0,0x12,0x1a,
+0x6a,0x38,0xd8,0xb, 0xe0,0x7e,0x73,0x6, 0x10,0xbc,0x7e,0x38,0xc7,0x80,0x39,0x7e,
+0xe0,0x1, 0x12,0x15,0x1d,0x6c,0xff,0x80,0x23,0x12,0x1f,0xdd,0x49,0x25,0x3, 0x5c,
+0x7e,0x8, 0x0, 0x4, 0x12,0x4, 0x59,0x7d,0x13,0x7e,0x50,0x2, 0xac,0x5f,0x2e,0x24,
+0x9, 0xfd,0xb, 0x28,0x30,0x2d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,0x6a,0x38,
+0xd8,0xb, 0xe0,0xbe,0xe0,0x4, 0x28,0xca,0x6c,0xee,0x80,0x3b,0x7e,0xa3,0x6, 0x4d,
+0x4c,0xaa,0x68,0x19,0xbe,0xa0,0x1, 0x78,0x7, 0xa, 0x3e,0x12,0x1b,0xd4,0x70,0xd,
+0xbe,0xa0,0x3, 0x78,0x20,0xa, 0x3e,0x9, 0xb3,0xa, 0x8d,0x60,0x18,0x74,0x2, 0xac,
+0xbe,0x49,0x35,0x9, 0xfd,0x59,0x35,0x5, 0x34,0x74,0x2, 0xac,0xbe,0x49,0x35,0x9,
+0xfd,0x59,0x35,0x5, 0x90,0xb, 0xe0,0x7e,0x73,0x6, 0xc8,0xbc,0x7e,0x38,0xbd,0xda,
+0x79,0x22,0x12,0x1e,0xf3,0x12,0x3e,0x5e,0x2, 0x1b,0xdc,0x7e,0x34,0x0, 0x24,0x12,
+0x4f,0x6, 0xbe,0xb0,0x1, 0x68,0x8, 0x80,0xfe,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,
+0x17,0x5a,0x50,0xf7,0xa9,0xc3,0xea,0x6d,0x11,0x7e,0x44,0x12,0x0, 0x1b,0x48,0x10,
+0x7e,0x53,0x6, 0xc9,0x7c,0xb5,0x54,0x1, 0xa, 0x5b,0x12,0x1e,0xda,0x7c,0x75,0x1e,
+0x70,0x5e,0x70,0x3, 0xa, 0x57,0x3e,0x54,0x3e,0x54,0x3e,0x54,0x12,0x1e,0xd6,0x7e,
+0x63,0x6, 0xca,0x7c,0xb6,0x54,0x1, 0x12,0x1f,0xf1,0x12,0x1e,0xda,0x7c,0xb6,0x1e,
+0xb0,0x54,0x3, 0x12,0x1f,0xf1,0x12,0x1e,0xd6,0x7c,0xb6,0x12,0x17,0x89,0x12,0x1e,
+0xdc,0x7e,0x54,0x13,0x14,0xb, 0x58,0x0, 0x6c,0x0, 0x12,0x1e,0xcf,0x5e,0x10,0xbf,
+0x12,0x1e,0xcf,0x4e,0x10,0x40,0x12,0x1e,0xcf,0x5e,0x10,0xcf,0x12,0x1e,0xcf,0x4e,
+0x10,0x10,0x12,0x1e,0xcf,0x5e,0x10,0xfc,0x12,0x1e,0xcf,0xa5,0xbf,0x0, 0x5, 0x4e,
+0x10,0x1, 0x80,0x3, 0x4e,0x10,0x3, 0x1b,0x58,0x0, 0x7e,0x44,0x12,0x2, 0x1b,0x48,
+0x10,0x7e,0x43,0x6, 0xc8,0xa, 0x54,0x7c,0xab,0xe4,0x12,0x1e,0xdc,0x7e,0xa3,0x6,
+0xcb,0x7c,0xba,0x23,0x54,0x1, 0xa, 0xfb,0xb, 0x48,0x0, 0x4d,0xf, 0x1b,0x48,0x0,
+0x7c,0xba,0x30,0xe6,0xe, 0x7c,0xb5,0x30,0xe0,0x9, 0xb, 0x48,0x20,0x4e,0x50,0x8,
+0x1b,0x48,0x20,0x7c,0xb6,0x30,0xe6,0x12,0xb, 0x48,0x0, 0x4e,0x10,0x20,0x1b,0x48,
+0x0, 0xb, 0x48,0x0, 0x4e,0x10,0x10,0x1b,0x48,0x0, 0x7e,0x24,0x12,0x4, 0xb, 0x28,
+0x0, 0x5e,0x0, 0x7f,0x1b,0x28,0x0, 0xb, 0x28,0x0, 0x4e,0x0, 0x80,0x1b,0x28,0x0,
+0x7e,0x24,0x13,0x1e,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xce,0x12,0x1e,0xc2,0x7e,0x63,
+0x6, 0xd1,0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x24,0x12,0x8, 0x1b,0x28,0x10,0x7e,0x63,
+0x6, 0xcc,0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x63,0x6, 0xcd,0x12,0x1e,0xc2,0x7e,0x24,
+0x13,0x20,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xcf,0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x63,
+0x6, 0xd0,0x12,0x1e,0xc2,0x7e,0x24,0x13,0x22,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xd2,
+0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x63,0x6, 0xd3,0x12,0x1e,0xc2,0x7e,0x4, 0x12,0xa,
+0x1b,0x8, 0x10,0xa5,0xbf,0x0, 0x8, 0xb, 0x8, 0x10,0x4e,0x20,0x1, 0x80,0x1b,0xa5,
+0xbf,0x1, 0x8, 0xb, 0x8, 0x10,0x4e,0x20,0x11,0x80,0xf, 0xb, 0x8, 0x10,0xa5,0xbf,
+0x2, 0x5, 0x4e,0x20,0x33,0x80,0x3, 0x4e,0x20,0xff,0x1b,0x8, 0x10,0x7c,0xba,0x1e,
+0xb0,0x54,0x3, 0xa, 0x3b,0xb, 0x8, 0x10,0x4d,0x13,0x1b,0x8, 0x10,0x12,0x4f,0x29,
+0xb, 0x8, 0x10,0x5e,0x30,0xfb,0x1b,0x8, 0x10,0xb, 0x8, 0x30,0x4e,0x70,0x4, 0x1b,
+0x8, 0x30,0x7e,0x73,0x6, 0xd4,0xa, 0x27,0x7e,0x34,0x13,0x10,0x1b,0x38,0x20,0x12,
+0x4f,0x92,0x7e,0xb3,0x6, 0xca,0x1e,0xb0,0x54,0x3, 0xbe,0xb0,0x1, 0x68,0x3, 0xb4,
+0x2, 0xb, 0x7e,0x27,0x6, 0xc4,0x7e,0x34,0x13,0x12,0x1b,0x38,0x20,0x74,0x2, 0x7a,
+0xb3,0x6, 0xda,0xd2,0x8e,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x7e,0xb3,0x6, 0xda,0x70,
+0xf6,0x22,0x7c,0x86,0x6c,0x99,0xb, 0x28,0x0, 0x4d,0x4, 0x1b,0x28,0x0, 0x22,0x1b,
+0x58,0x0, 0xb, 0x58,0x0, 0x22,0x3e,0x54,0x3e,0x54,0x3e,0x54,0xb, 0x48,0x0, 0x4d,
+0x5, 0x1b,0x48,0x0, 0x22,0x7e,0xb3,0x3, 0x34,0x12,0x43,0xb3,0x7e,0xb3,0x3, 0x34,
+0x12,0x3f,0xc9,0x12,0x1c,0xcb,0x7e,0xb3,0x3, 0x34,0x54,0x7f,0x7a,0xb3,0x3, 0x34,
+0x12,0x1a,0x71,0x7e,0xb3,0x3, 0x34,0x44,0x80,0x7a,0xb3,0x3, 0x34,0x22,0xca,0xf8,
+0x12,0x49,0xe0,0x7e,0x34,0x2, 0xd4,0x7a,0x37,0x6, 0xd8,0x12,0x31,0x3a,0x12,0x1e,
+0xe5,0x75,0x39,0x3, 0x75,0x37,0x40,0x12,0x49,0xe0,0xe5,0x39,0xb4,0x3, 0x40,0xe5,
+0x3f,0x60,0xf4,0x12,0x1f,0xf9,0x12,0x1f,0xea,0x12,0x1f,0x78,0x12,0x15,0x1d,0x6c,
+0xff,0x80,0xd, 0x12,0x1f,0xdd,0x74,0x2, 0xac,0xbf,0x59,0x35,0xc, 0x20,0xb, 0xf0,
+0x12,0x1a,0x6a,0x38,0xee,0x75,0x3f,0x0, 0x7e,0xb3,0xc, 0xd6,0x54,0x7f,0x7a,0xb3,
+0xc, 0xd6,0xe5,0xa, 0x20,0xe0,0xc0,0x74,0x1, 0x7a,0xb3,0x3, 0x42,0x80,0xb8,0xe5,
+0x39,0x7a,0xb3,0xb, 0x9f,0xda,0xf8,0x22,0xe5,0xa, 0x30,0xe0,0x8, 0x12,0x1e,0xe5,
+0x53,0xa, 0xfc,0x80,0xb, 0xe5,0xa, 0x30,0xe1,0x6, 0x12,0x1f,0xa8,0x53,0xa, 0xfd,
+0xe5,0xa, 0x30,0xe2,0x12,0x53,0xca,0xf1,0x7e,0x73,0x3, 0x41,0xa, 0x37,0x3e,0x34,
+0x7c,0xb7,0x42,0xca,0x53,0xa, 0xfb,0x22,0x12,0x50,0xdb,0x80,0x2a,0xa, 0x2a,0x9,
+0x32,0x6, 0x96,0x7e,0x50,0x2, 0xac,0x53,0x2d,0x23,0xb, 0x28,0x20,0x7e,0xb3,0x6,
+0x4d,0x60,0x7, 0xa, 0x13,0x12,0x51,0x36,0x60,0xb, 0xa, 0x1a,0x3e,0x14,0x2e,0x14,
+0x12,0x14,0x1b,0x18,0x20,0xb, 0xa0,0x12,0x18,0x6b,0x38,0xd1,0x22,0x74,0x4, 0xac,
+0xbf,0x49,0x35,0x3, 0x5e,0x22,0x7e,0xb3,0x6, 0xd7,0x54,0xfe,0x7a,0xb3,0x6, 0xd7,
+0x22,0xa, 0xb, 0x7d,0x50,0x7c,0xab,0xe4,0x22,0x7e,0xb3,0x6, 0xd7,0x44,0x2, 0x7a,
+0xb3,0x6, 0xd7,0x22,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0x34,0x6c,0xaa,0x80,0x28,0xa,
+0x3a,0x9, 0x73,0x6, 0x96,0x7e,0xb3,0x6, 0xd7,0x30,0xe0,0x19,0x7e,0x50,0x4, 0xac,
+0x57,0x49,0xf2,0x3, 0x5e,0x49,0xe2,0x3, 0x5c,0x7e,0x17,0x5, 0xee,0x12,0x7, 0x7d,
+0x58,0x3, 0x12,0x20,0x4a,0xb, 0xa0,0x7e,0x63,0x6, 0xc8,0xbc,0x6a,0x38,0xd0,0x22,
+0x7e,0x11,0x22,0x2e,0x10,0x41,0x74,0x1, 0xa5,0xf7,0x74,0x3c,0x7a,0xb3,0xd, 0x3c,
+0x22,0xca,0x3b,0x7e,0x38,0x75,0x30,0x75,0x28,0x0, 0x7e,0x34,0xc, 0xf8,0x7e,0x24,
+0x0, 0x18,0xe4,0x12,0x4, 0xeb,0x7e,0x34,0x0, 0x41,0x7e,0x24,0x0, 0x6, 0xe4,0x12,
+0x4, 0xeb,0x7e,0xb3,0x6, 0xd7,0x30,0xe1,0x7, 0x7e,0xb3,0x6, 0x67,0x30,0xe2,0x5,
+0x75,0x27,0x1, 0x80,0x3, 0x75,0x27,0x2, 0x75,0x22,0x1, 0x21,0x75,0x9f,0x11,0x7a,
+0x1f,0x9, 0xfd,0x75,0x23,0x0, 0x21,0x2c,0x12,0x22,0x59,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe1,0x42,0x30,0xe0,0x3f,0x7e,0x11,0x24,0x74,0x4, 0xac,0x1b,0x12,0x22,0x78,0x7e,
+0xa1,0x24,0x12,0x22,0x6c,0x7a,0x1f,0xa, 0x5, 0xbe,0x1c,0xfc,0xe0,0x58,0x5, 0x12,
+0x20,0x40,0x80,0x6f,0x7e,0x73,0x6, 0xc6,0xbe,0x71,0x24,0x28,0x17,0x7e,0xf, 0xa,
+0x5, 0x7e,0x1f,0x9, 0xfd,0xbf,0x10,0x58,0xb, 0x7e,0x1f,0xa, 0x5, 0x7a,0x1f,0x9,
+0xfd,0x85,0x24,0x25,0x7e,0x91,0x24,0x74,0x4, 0xac,0x9b,0x7e,0xa1,0x22,0x74,0x58,
+0xa4,0x2d,0x54,0x49,0x15,0x0, 0x50,0x49,0x5, 0x0, 0x4e,0x49,0x35,0x0, 0xa8,0x49,
+0x25,0x0, 0xa6,0x9f,0x10,0x12,0x4, 0xdb,0x7a,0x1f,0xa, 0x1, 0x7e,0xa1,0x22,0x74,
+0x4, 0xa4,0x49,0x15,0xc, 0xfa,0x49,0x5, 0xc, 0xf8,0xbf,0x10,0x8, 0xc, 0x7e,0x1f,
+0xa, 0x1, 0x59,0x35,0xc, 0xfa,0x59,0x25,0xc, 0xf8,0x5, 0x23,0x12,0x22,0x64,0x28,
+0x2, 0x1, 0x98,0x7e,0x7f,0x9, 0xfd,0xbe,0x78,0x2, 0x58,0x8, 0x36,0x7e,0x73,0x6,
+0xc6,0xbe,0x71,0x25,0x28,0x2d,0xe5,0x25,0xa, 0x3b,0x2e,0x34,0x0, 0xb, 0x7e,0x24,
+0x0, 0x16,0x12,0x3, 0xba,0x7c,0xa5,0x7a,0xa1,0x26,0x7e,0x10,0x4, 0xac,0x1a,0x12,
+0x22,0x78,0x12,0x22,0x6c,0x7e,0x14,0x0, 0x5, 0x12,0x3, 0xfd,0xbf,0x71,0x8, 0x3,
+0x12,0x20,0x40,0x5, 0x22,0x7e,0x31,0x27,0x74,0x3, 0xac,0x3b,0xe5,0x22,0xa, 0xb,
+0xbd,0x1, 0x58,0x2, 0x1, 0x8d,0x75,0x22,0x1, 0x80,0x23,0x7e,0x11,0x22,0x2e,0x10,
+0x41,0xa5,0xe7,0x70,0x17,0x7e,0xa1,0x22,0x74,0x4, 0xa4,0x49,0x35,0xc, 0xfa,0x49,
+0x25,0xc, 0xf8,0xbf,0x13,0x58,0x5, 0x7f,0x31,0x85,0x22,0x28,0x5, 0x22,0xe5,0x22,
+0xa, 0xb, 0xbd,0x1, 0x48,0xd5,0x7e,0x51,0x28,0x74,0x58,0xac,0x5b,0x2e,0x24,0x0,
+0xa6,0x7e,0x34,0x3, 0x5c,0x7e,0x14,0x0, 0x58,0x12,0x4, 0xae,0x7e,0xb3,0x6, 0xd7,
+0x30,0xe1,0x4c,0x75,0x23,0x0, 0x80,0x42,0x12,0x22,0x59,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe0,0x36,0x7e,0x11,0x24,0x74,0x2, 0xac,0x1b,0x49,0xf0,0x5, 0x90,0x7d,0x3f,0x1a,
+0x36,0x1a,0xe6,0x7e,0x31,0x24,0x74,0x4, 0xac,0x3b,0x12,0x23,0x35,0x7f,0x21,0x9f,
+0x27,0x59,0x51,0x4, 0x16,0x59,0x41,0x4, 0x14,0x49,0x50,0x5, 0x34,0x6d,0x44,0x2e,
+0x14,0x3, 0x5c,0x9f,0x12,0x12,0x17,0xe7,0x5, 0x23,0x12,0x22,0x64,0x38,0xb9,0x12,
+0x17,0xe0,0x30,0xe1,0x31,0x75,0x23,0x0, 0x80,0x23,0x12,0x22,0x59,0x7c,0xba,0x30,
+0xe0,0x19,0x7e,0x71,0x24,0x74,0x4, 0xac,0x7b,0x12,0x22,0x8f,0x7e,0x37,0x5, 0xee,
+0x1a,0x26,0x1a,0x24,0xbf,0x10,0x8, 0x3, 0x12,0x20,0x4a,0x5, 0x23,0x7e,0xb3,0x6,
+0xc8,0xbe,0xb1,0x23,0x38,0xd4,0xda,0x3b,0x22,0xe5,0x23,0xa, 0x3b,0x9, 0xb3,0x6,
+0x96,0xf5,0x24,0x22,0x7e,0x73,0x6, 0xc8,0xbe,0x71,0x23,0x22,0x74,0x2, 0xa4,0x49,
+0x15,0x5, 0x34,0x6d,0x0, 0x9f,0x10,0x22,0x7e,0x31,0x22,0x74,0x58,0xac,0x3b,0x2d,
+0x10,0x49,0x31,0x0, 0xa8,0x49,0x21,0x0, 0xa6,0x22,0x7e,0x70,0x4, 0xac,0x7a,0x49,
+0x13,0x3, 0x5e,0x49,0x3, 0x3, 0x5c,0x22,0x7c,0xab,0x6c,0x22,0x6c,0x11,0x7c,0x1,
+0x2e,0x0, 0x47,0xa5,0xe6,0xbc,0xb3,0x78,0x5, 0x7e,0x20,0x1, 0x80,0x7, 0xb, 0x10,
+0xbe,0x10,0x1, 0x40,0xe9,0x12,0x23,0x28,0x38,0x11,0xa, 0x4b,0x7e,0x4, 0x0, 0x3,
+0x9d,0x4, 0x7c,0xb1,0x60,0x5, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe0,0x24,0x7e,0x10,0x2, 0xac,0x13,0x49,0xf0,0x5, 0x34,0x7d,0xf, 0x1a,0x0, 0x1a,
+0xe0,0x7f,0x61,0x9f,0x67,0x7e,0xf7,0x5, 0xee,0x7d,0xf, 0x1a,0x0, 0x1a,0xe0,0xbf,
+0x76,0x8, 0x3, 0x12,0x20,0x4a,0x4c,0xaa,0x78,0x6, 0x74,0x4, 0xac,0xb3,0x80,0x10,
+0x4c,0x22,0x68,0x7, 0x12,0x23,0x19,0x8, 0xf, 0x80,0x5, 0x12,0x23,0x19,0x58,0x8,
+0x59,0x35,0x3, 0x5e,0x59,0x25,0x3, 0x5c,0x22,0x74,0x4, 0xac,0xb3,0x49,0xf5,0x3,
+0x5e,0x49,0xe5,0x3, 0x5c,0xbf,0x17,0x22,0x7e,0xb3,0x6, 0xd6,0xbe,0xb0,0x2, 0x22,
+0x7e,0x30,0x4, 0xac,0x3a,0x49,0x31,0x3, 0x5e,0x49,0x21,0x3, 0x5c,0x22,0x6c,0xaa,
+0xa, 0x3a,0x12,0x2c,0xf6,0x7c,0x3b,0xbe,0x30,0x16,0x50,0x9, 0x74,0x4, 0xac,0x3b,
+0x12,0x23,0x35,0x80,0x2, 0x9f,0x11,0x7e,0x30,0x4, 0xac,0x3a,0x59,0x31,0x9, 0x6f,
+0x59,0x21,0x9, 0x6d,0xb, 0xa0,0xbe,0xa0,0x24,0x40,0xd5,0x7e,0x1f,0x9, 0x85,0x7a,
+0x1d,0x2a,0x75,0x2f,0x0, 0x7e,0x34,0x9, 0x85,0x7a,0x35,0x30,0x7e,0x34,0x9, 0x9d,
+0x7a,0x35,0x32,0x7e,0x1f,0x9, 0x89,0x7e,0xf, 0x9, 0xa1,0xe4,0x12,0x24,0x39,0x7e,
+0x1f,0x9, 0x99,0x7a,0x1d,0x2a,0x75,0x2f,0x1, 0x7e,0x34,0x9, 0x99,0x7a,0x35,0x30,
+0x7e,0x34,0x9, 0xb1,0x7a,0x35,0x32,0x7e,0x1f,0x9, 0x95,0x7e,0xf, 0x9, 0xad,0xe4,
+0x12,0x24,0x39,0x7e,0x1f,0x9, 0xb5,0x7a,0x1d,0x2a,0x75,0x2f,0x0, 0x7e,0x34,0x9,
+0xb5,0x7a,0x35,0x30,0x7e,0x34,0x9, 0xcd,0x7a,0x35,0x32,0x7e,0x1f,0x9, 0xb9,0x7e,
+0xf, 0x9, 0xd1,0x74,0x1, 0x12,0x24,0x39,0x7e,0x1f,0x9, 0xc9,0x7a,0x1d,0x2a,0x75,
+0x2f,0x1, 0x7e,0x34,0x9, 0xc9,0x7a,0x35,0x30,0x7e,0x34,0x9, 0xe1,0x7a,0x35,0x32,
+0x7e,0x1f,0x9, 0xc5,0x7e,0xf, 0x9, 0xdd,0x74,0x1, 0x12,0x24,0x39,0xe4,0x12,0x24,
+0xb5,0x74,0x1, 0x12,0x24,0xb5,0x7e,0x34,0x9, 0x89,0x12,0x27,0xa2,0x7e,0x34,0x9,
+0xd1,0x12,0x27,0xa2,0x7e,0x34,0x9, 0x95,0x12,0x24,0x22,0x7e,0x34,0x9, 0xdd,0x2,
+0x24,0x22,0x12,0x27,0xd1,0xe5,0x14,0xa, 0x1b,0x6d,0x0, 0x12,0x27,0xb7,0x2, 0x24,
+0x31,0x59,0x3f,0x0, 0x2, 0x1b,0xf8,0x20,0x22,0xca,0x3b,0xf5,0x2e,0x7a,0xd, 0x26,
+0x7a,0x1d,0x22,0x7e,0x7d,0x2a,0xbe,0x78,0x0, 0x32,0x8, 0x56,0xe5,0x2f,0x70,0x4,
+0xe5,0x15,0x80,0x2, 0xe5,0x10,0x12,0x27,0xb1,0x7a,0x1d,0x2a,0x7e,0x1d,0x26,0x12,
+0x26,0x4, 0x7f,0x31,0x7e,0x1d,0x22,0x12,0x26,0x4, 0x2f,0x31,0x78,0x1a,0xe5,0x2e,
+0x60,0xb, 0x12,0x5b,0x23,0x12,0x24,0xa5,0x12,0x27,0x90,0x80,0x1a,0x12,0x27,0x90,
+0x12,0x24,0xa5,0x12,0x5b,0x23,0x80,0xf, 0x7e,0x1d,0x22,0x12,0x27,0x84,0x12,0x24,
+0xa5,0x7e,0x1d,0x26,0x12,0x27,0x84,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x32,0x12,
+0x24,0xad,0xda,0x3b,0x22,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x30,0x59,0x13,0x0,
+0x2, 0x1b,0x38,0x0, 0x22,0xca,0x3b,0x70,0x48,0x7e,0x1f,0x9, 0x89,0x7a,0x1f,0x9,
+0xfd,0x7e,0x1f,0x9, 0x8d,0x7a,0x1f,0xa, 0x1, 0x7e,0x1f,0x9, 0x91,0x7a,0x1f,0xa,
+0x5, 0x7e,0x1f,0x9, 0x95,0x7a,0x1f,0xa, 0x9, 0x7e,0x34,0x9, 0x71,0x7a,0x35,0x22,
+0x7e,0x34,0x9, 0x75,0x7a,0x35,0x24,0x7e,0x34,0x9, 0x79,0x7a,0x35,0x26,0x7e,0x34,
+0x9, 0x7d,0x7a,0x35,0x28,0xe5,0x8, 0xa, 0x1b,0x6d,0x0, 0x7e,0x1f,0x9, 0x71,0x80,
+0x46,0x7e,0x1f,0x9, 0xd1,0x7a,0x1f,0x9, 0xfd,0x7e,0x1f,0x9, 0xd5,0x7a,0x1f,0xa,
+0x1, 0x7e,0x1f,0x9, 0xd9,0x7a,0x1f,0xa, 0x5, 0x7e,0x1f,0x9, 0xdd,0x7a,0x1f,0xa,
+0x9, 0x7e,0x34,0x9, 0xe9,0x7a,0x35,0x22,0x7e,0x34,0x9, 0xed,0x7a,0x35,0x24,0x7e,
+0x34,0x9, 0xf1,0x7a,0x35,0x26,0x7e,0x34,0x9, 0xf5,0x7a,0x35,0x28,0xe5,0xf, 0xa,
+0x1b,0x6d,0x0, 0x7e,0x1f,0x9, 0xe9,0x12,0x27,0xb7,0x7f,0x31,0xbe,0x38,0x0, 0x32,
+0x18,0x2, 0xc1,0x1, 0x7e,0x1f,0x9, 0xfd,0x12,0x26,0x4, 0x7a,0x1f,0x9, 0xfd,0x7e,
+0x1f,0xa, 0x1, 0x12,0x26,0x4, 0x7a,0x1f,0xa, 0x1, 0x7e,0x1f,0xa, 0x5, 0x12,0x26,
+0x4, 0x12,0x27,0xf3,0x12,0x26,0x4, 0x7a,0x1f,0xa, 0x9, 0x7e,0x1f,0xa, 0x1, 0x7e,
+0x6f,0x9, 0xfd,0x2f,0x16,0x7e,0x7f,0xa, 0x5, 0x2f,0x71,0x78,0x16,0x7e,0x8, 0x0,
+0x8, 0x7f,0x13,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x22,0x12,0x24,0xad,0x12,0x5b,
+0x4f,0x80,0x10,0x12,0x5b,0x14,0x7e,0x35,0x22,0x12,0x24,0xad,0x7e,0xf, 0xa, 0x1,
+0x12,0x27,0xc9,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x24,0x12,0x24,0xad,0x7e,0x6f,
+0xa, 0x5, 0x7e,0x1f,0xa, 0x1, 0x2f,0x16,0x7e,0x7f,0xa, 0x9, 0x2f,0x71,0x78,0x16,
+0x12,0x5b,0x4f,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x26,0x12,0x24,0xad,0x7e,0x8,
+0x0, 0x8, 0x7f,0x13,0x80,0x10,0x12,0x5b,0x14,0x7e,0x35,0x26,0x12,0x24,0xad,0x7e,
+0xf, 0xa, 0x9, 0x12,0x27,0xc9,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x28,0x12,0x24,
+0xad,0xda,0x3b,0x22,0xbe,0x18,0x0, 0x32,0x8, 0x1, 0x22,0x9f,0x11,0x22,0xca,0x79,
+0x7c,0xe7,0x7c,0xfb,0x74,0x4, 0xac,0xbf,0x12,0x27,0xea,0x12,0x27,0x98,0x68,0xf,
+0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x57,0x49,0x25,0x9, 0x55,0x12,0x26,0x86,0xbe,
+0xe0,0x5, 0x68,0xf, 0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x87,0x49,0x25,0x9, 0x85,
+0x12,0x26,0x86,0x7e,0x1f,0xa, 0x15,0xda,0x79,0x22,0xca,0x79,0x7c,0xe7,0x7c,0xfb,
+0x74,0x4, 0xac,0xbf,0x12,0x27,0xea,0x12,0x27,0x98,0x68,0xf, 0x74,0x4, 0xac,0xbf,
+0x49,0x35,0x9, 0x6b,0x49,0x25,0x9, 0x69,0x12,0x26,0x86,0xbe,0xe0,0x5, 0x68,0xf,
+0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x73,0x49,0x25,0x9, 0x71,0x12,0x26,0x86,0x7e,
+0x1f,0xa, 0x15,0xda,0x79,0x22,0x12,0x26,0x4, 0x7f,0x1, 0x7e,0x1f,0xa, 0x15,0x2f,
+0x10,0x7a,0x1f,0xa, 0x15,0x22,0xca,0x3b,0x9f,0x11,0x7a,0x1f,0x0, 0xa2,0x6c,0xff,
+0xe1,0x7a,0x7c,0x1f,0x2e,0x10,0x16,0xa5,0xe7,0x7c,0xeb,0xa, 0x1e,0x7e,0x24,0x0,
+0x6, 0x8d,0x12,0x7c,0xd3,0xa, 0x3e,0x8d,0x32,0x7c,0xc5,0x12,0x27,0xdb,0x7c,0x7d,
+0x12,0x26,0xe, 0x7a,0x1f,0xa, 0xd, 0x4c,0xcc,0x68,0xc, 0x7c,0xbe,0x14,0x7c,0x7d,
+0x12,0x26,0xe, 0x7a,0x1f,0xa, 0x5, 0xbe,0xc0,0x5, 0x68,0xc, 0x7c,0xbe,0x4, 0x7c,
+0x7d,0x12,0x26,0xe, 0x7a,0x1f,0xa, 0x9, 0xa, 0x1c,0x12,0x5a,0xe4,0xa, 0x1c,0x12,
+0x5b,0x41,0xa, 0x1c,0x12,0x5a,0x58,0x7e,0x1f,0x0, 0xa2,0xbf,0x10,0x50,0x8, 0x7e,
+0x1f,0xa, 0x1, 0x7a,0x1f,0x0, 0xa2,0x7e,0x1f,0x9, 0xfd,0x74,0x6, 0x2f,0x11,0x14,
+0x78,0xfb,0x7e,0xf, 0xa, 0x1, 0x12,0x27,0xc1,0x7a,0x37,0xa, 0x11,0x12,0x27,0xdb,
+0x7c,0xbe,0x7c,0x7c,0x12,0x26,0x4a,0x7a,0x1f,0xa, 0xd, 0x4c,0xdd,0x68,0xd, 0x7c,
+0xbe,0x24,0xfa,0x7c,0x7c,0x12,0x26,0x4a,0x7a,0x1f,0xa, 0x5, 0xbe,0xd0,0x5, 0x68,
+0xd, 0x7c,0xbe,0x24,0x6, 0x7c,0x7c,0x12,0x26,0x4a,0x7a,0x1f,0xa, 0x9, 0xa, 0x1d,
+0x12,0x5a,0xe4,0xa, 0x1d,0x12,0x5b,0x41,0xa, 0x1d,0x12,0x5a,0x58,0x74,0x6, 0x2f,
+0x11,0x14,0x78,0xfb,0x12,0x27,0xc1,0x7a,0x37,0xa, 0x13,0x7e,0x27,0xa, 0x11,0x74,
+0x5, 0xac,0xbf,0x59,0x25,0x0, 0x7a,0x12,0x3c,0x55,0x12,0x38,0x94,0x50,0x2, 0xc1,
+0xa2,0xda,0x3b,0x22,0x12,0x26,0x4, 0x7e,0xd, 0x2a,0x12,0x3, 0xec,0x7f,0x3, 0x22,
+0x7e,0x8, 0x0, 0x4, 0x7e,0x1d,0x2a,0x22,0x12,0x26,0x4, 0x7a,0x1f,0xa, 0x15,0x4c,
+0xee,0x22,0x12,0x27,0xd1,0xe5,0x1b,0xa, 0x1b,0x6d,0x0, 0x12,0x27,0xb7,0x2, 0x24,
+0x31,0xa, 0x1b,0x6d,0x0, 0x7f,0x17,0x12,0x3, 0xec,0x7e,0x8, 0x0, 0x64,0x2, 0x4,
+0x59,0x12,0x4, 0x8, 0x2e,0x18,0x0, 0x20,0x22,0x7f,0x13,0x12,0x3, 0xec,0x7f,0x7,
+0x22,0x7d,0xf3,0x49,0x3f,0x0, 0x2, 0xb, 0xf8,0x20,0x22,0x9f,0x11,0x7a,0x1f,0xa,
+0x5, 0x7a,0x1f,0xa, 0x9, 0x22,0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x6f,0x49,0x25,
+0x9, 0x6d,0x22,0x7a,0x1f,0xa, 0x5, 0x7e,0x1f,0xa, 0x9, 0x22,0x9f,0x11,0x7a,0x1f,
+0x5, 0x28,0x7a,0x1f,0x5, 0x2c,0x6c,0xaa,0x12,0x23,0x30,0x7e,0x7f,0x5, 0x28,0xbf,
+0x71,0x58,0x4, 0x7a,0x1f,0x5, 0x28,0xb, 0xa0,0xbe,0xa0,0x16,0x40,0xea,0x7e,0x1f,
+0x5, 0x28,0x7a,0x1f,0x5, 0x2c,0x22,0x12,0x2f,0x75,0xa5,0xbe,0x1, 0x14,0x7e,0xa3,
+0xd, 0x12,0xbe,0xa0,0xfa,0x50,0x2c,0x7e,0xb3,0xd, 0x10,0x70,0x26,0x7c,0xba,0x4,
+0x80,0x1d,0xbe,0x60,0x2, 0x40,0x3, 0xe4,0x80,0x15,0x7e,0x53,0xd, 0x12,0xbe,0x50,
+0x4, 0x50,0xb, 0xbe,0x50,0x0, 0x28,0x6, 0x74,0x3, 0x7a,0xb3,0xd, 0x10,0xe4,0x7a,
+0xb3,0xd, 0x12,0x7e,0xa3,0xd, 0x10,0x4c,0xaa,0x68,0x20,0x4c,0x66,0x68,0x8, 0x7c,
+0xb7,0x12,0x28,0x90,0xe4,0x80,0x10,0x7c,0xb7,0xc4,0x54,0xf, 0xb4,0x1, 0x5, 0x7c,
+0xb7,0x12,0x2d,0x34,0x7c,0xba,0x14,0x7a,0xb3,0xd, 0x10,0x22,0x7e,0xb3,0x0, 0x90,
+0x54,0xf0,0x7a,0xb3,0x0, 0x90,0x22,0xca,0x3b,0x12,0x2f,0x3c,0x78,0x4, 0x6c,0xff,
+0x80,0x3, 0x7e,0xf0,0x2, 0x12,0x2d,0x19,0x78,0x1d,0x7c,0xba,0x54,0xf, 0xbe,0xb0,
+0x2, 0x40,0x14,0x5, 0x4d,0xe5,0x4d,0xbc,0xbf,0x38,0x5, 0x7c,0xba,0x12,0x28,0x90,
+0xe4,0x7a,0xb3,0xb, 0x37,0x80,0x3, 0x75,0x4d,0x0, 0x12,0x2d,0x19,0x78,0x8, 0x5e,
+0xa0,0xf, 0xbe,0xa0,0x1, 0x28,0x11,0xe4,0x7a,0xb3,0xb, 0x37,0x6d,0x33,0x7a,0x37,
+0xb, 0x4f,0x7a,0x37,0xb, 0x51,0x41,0x9d,0x7e,0xb3,0xb, 0xb3,0xbe,0xb0,0x1, 0x78,
+0x2, 0x41,0x9d,0x4c,0xaa,0x78,0x2, 0x41,0x6b,0x7e,0xe3,0xb, 0x37,0xbe,0xe0,0x2,
+0x28,0x2, 0x41,0x43,0x7c,0xbe,0x4, 0x7a,0xb3,0xb, 0x37,0x7e,0xa3,0xb, 0x37,0xbe,
+0xa0,0x1, 0x78,0x33,0x7e,0x37,0x0, 0x7a,0x7a,0x37,0xb, 0x41,0x7e,0x37,0x0, 0x7c,
+0x7a,0x37,0xb, 0x43,0x7e,0x1f,0xb, 0x41,0x7a,0x1f,0xb, 0x45,0x7e,0x1f,0xb, 0x41,
+0x7a,0x1f,0xb, 0x49,0x6d,0x33,0x7a,0x37,0xb, 0x4d,0x7a,0x37,0xb, 0x4f,0x7a,0x37,
+0xb, 0x51,0x12,0x28,0x8c,0x41,0x96,0xbe,0xa0,0x2, 0x40,0x18,0x7e,0x37,0x0, 0x7a,
+0x2e,0x37,0xb, 0x4f,0x7a,0x37,0xb, 0x4f,0x7e,0x37,0x0, 0x7c,0x2e,0x37,0xb, 0x51,
+0x7a,0x37,0xb, 0x51,0x7e,0x37,0xb, 0x41,0x12,0x2d,0xa, 0x7d,0x63,0x7e,0x37,0xb,
+0x43,0x12,0x2d,0x3, 0x7a,0x35,0x22,0x7e,0x37,0xb, 0x45,0x12,0x2d,0xa, 0x7a,0x35,
+0x24,0x7e,0x37,0xb, 0x47,0x12,0x2d,0x3, 0x7d,0x23,0x7e,0x35,0x22,0x2d,0x36,0xbe,
+0x34,0x0, 0xf, 0x50,0x18,0xbe,0x64,0x0, 0x7, 0x50,0x12,0x2e,0x25,0x24,0xbe,0x24,
+0x0, 0x1e,0x50,0x9, 0x7e,0x25,0x24,0xbe,0x24,0x0, 0xf, 0x40,0x53,0x7e,0x53,0xb,
+0x37,0xbc,0x5f,0x28,0x4b,0xe4,0x7a,0xb3,0xb, 0x37,0xbe,0x34,0x0, 0x8, 0x38,0x2,
+0x41,0x96,0x7e,0x37,0xb, 0x45,0xbe,0x34,0x0, 0x28,0x40,0x6, 0xbe,0x34,0x1, 0x66,
+0x28,0x24,0x7e,0x27,0xb, 0x47,0xbe,0x24,0x0, 0x28,0x28,0x1a,0xbe,0x24,0x1, 0x66,
+0x50,0x14,0x7a,0x37,0x0, 0x7a,0x7e,0x27,0x0, 0x7c,0x2e,0x27,0xb, 0x47,0x1e,0x24,
+0x7a,0x27,0x0, 0x7c,0x41,0x96,0x7a,0x37,0x0, 0x7a,0x7e,0x37,0xb, 0x47,0x80,0x65,
+0x7e,0x27,0x0, 0x7a,0x7a,0x27,0xb, 0x41,0x7e,0x37,0x0, 0x7c,0x7a,0x37,0xb, 0x43,
+0x7e,0xa3,0x0, 0x76,0x74,0x4, 0xa4,0x49,0x15,0x3, 0x5e,0x49,0x5, 0x3, 0x5c,0x7e,
+0xf7,0xb, 0x4d,0x6d,0xee,0xbf,0x70,0x58,0xc, 0x7a,0x17,0xb, 0x4d,0x7a,0x27,0xb,
+0x49,0x7a,0x37,0xb, 0x4b,0x7e,0x73,0x0, 0x90,0x7c,0xb7,0xc4,0x7c,0x6b,0x12,0x2d,
+0x23,0x80,0x53,0xa, 0x2e,0xb, 0x24,0x1b,0x25,0x7e,0x17,0xb, 0x4f,0x8d,0x12,0x7a,
+0x17,0xb, 0x41,0x7e,0x37,0xb, 0x51,0x8d,0x32,0x7a,0x37,0xb, 0x43,0x7e,0x27,0xb,
+0x41,0x7a,0x27,0x0, 0x7a,0x7a,0x37,0x0, 0x7c,0x80,0x2b,0x7e,0x73,0xb, 0x37,0xbc,
+0x7f,0x28,0x1b,0x7e,0x37,0xb, 0x49,0x7a,0x37,0x0, 0x7a,0x7e,0x37,0xb, 0x4b,0x7a,
+0x37,0x0, 0x7c,0x12,0x2d,0x30,0x74,0x1, 0x7a,0xb3,0xb, 0x38,0x80,0x3, 0x12,0x28,
+0x8c,0xe4,0x7a,0xb3,0xb, 0x37,0x12,0xe, 0xaf,0x78,0x2, 0xf5,0x9, 0xda,0x3b,0x22,
+0xca,0x3b,0x6c,0xee,0x9f,0x44,0x7f,0x74,0x7a,0x4f,0x9, 0xfe,0x7a,0x4f,0xa, 0x2,
+0x7a,0x4f,0xa, 0x6, 0x7a,0x4f,0xa, 0xa, 0x7a,0x4f,0xa, 0xe, 0x7f,0x64,0x7f,0x54,
+0x6c,0xdd,0x12,0x27,0xe6,0xbf,0x71,0x58,0x4, 0x7f,0x71,0x7c,0xfd,0xb, 0xd0,0xbe,
+0xd0,0x24,0x78,0xee,0x7e,0x37,0x3, 0x49,0x6d,0x22,0xbf,0x71,0x58,0xb, 0x12,0x28,
+0x8c,0x7e,0xb3,0x0, 0x91,0x54,0xf0,0x80,0x17,0xe5,0xe, 0xb4,0x1, 0x18,0x12,0x2c,
+0xf1,0x7a,0xb3,0x0, 0x76,0x12,0x2d,0x30,0x7e,0xb3,0x0, 0x91,0x54,0xf0,0x44,0x1,
+0x7a,0xb3,0x0, 0x91,0x81,0xe5,0x6c,0xdd,0xa, 0x5d,0x7e,0x24,0x0, 0x6, 0x8d,0x52,
+0x7a,0xb3,0x9, 0xfd,0xa, 0x3d,0x8d,0x32,0x7c,0xc5,0x70,0x4, 0x9f,0x11,0x80,0xc,
+0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x57,0x49,0x25,0x9, 0x55,0x7a,0x1f,0x9, 0xfe,
+0x7e,0xb3,0x9, 0xfd,0xb4,0x5, 0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,
+0x35,0x9, 0x87,0x49,0x25,0x9, 0x85,0x7a,0x1f,0xa, 0x2, 0x4c,0xcc,0x78,0x4, 0x9f,
+0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x6b,0x49,0x25,0x9, 0x69,0x7a,
+0x1f,0xa, 0x6, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,
+0x49,0x35,0x9, 0x73,0x49,0x25,0x9, 0x71,0x7a,0x1f,0xa, 0xa, 0x7e,0xb3,0x9, 0xfd,
+0x60,0x4, 0x4c,0xcc,0x78,0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,
+0x9, 0x53,0x49,0x25,0x9, 0x51,0x7a,0x1f,0xa, 0xe, 0x12,0x2d,0x11,0x68,0x4, 0x4c,
+0xcc,0x78,0x4, 0x9f,0x66,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0xd5,0x9, 0x83,0x49,
+0xc5,0x9, 0x81,0x7e,0xb3,0x9, 0xfd,0x60,0x5, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x55,
+0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0xb5,0x9, 0x5b,0x49,0xa5,0x9, 0x59,0x12,0x2d,
+0x11,0x68,0x5, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x44,0x80,0xc, 0x74,0x4, 0xac,0xbd,
+0x49,0x95,0x9, 0x8b,0x49,0x85,0x9, 0x89,0x12,0x2c,0xe8,0x49,0x5, 0x9, 0x6d,0x7e,
+0x37,0x3, 0x49,0x6d,0x22,0xbf,0x1, 0x58,0x2, 0x81,0xc3,0xe5,0xc, 0x12,0x27,0xb1,
+0x7f,0x1, 0x12,0x27,0xe6,0xbf,0x10,0x18,0x2, 0x81,0xc3,0x12,0x2c,0xe8,0x49,0x5,
+0x9, 0x6d,0x7e,0x1f,0x9, 0xfe,0xbf,0x1, 0x58,0x2, 0x81,0xc3,0x12,0x2c,0xe8,0x49,
+0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0x2, 0xbf,0x1, 0x58,0x2, 0x81,0xc3,0x12,0x2c,0xe8,
+0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0x6, 0xbf,0x1, 0x58,0x2, 0x81,0xc3,0x12,0x2c,
+0xe8,0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0xa, 0xbf,0x1, 0x48,0x76,0x12,0x2c,0xe8,
+0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0xe, 0xbf,0x1, 0x48,0x67,0x12,0x27,0xe6,0xbf,
+0x16,0x48,0x60,0x12,0x27,0xe6,0xbf,0x15,0x48,0x59,0x12,0x27,0xe6,0xbf,0x14,0x48,
+0x52,0x7c,0x1e,0x2e,0x10,0x16,0x7c,0xbd,0xa5,0xf7,0xa, 0x3d,0x12,0x2c,0xf6,0xa,
+0x3e,0x19,0xb3,0x0, 0x76,0xb, 0xe0,0x7e,0x30,0x4, 0xac,0x3d,0x2e,0x14,0x9, 0x6d,
+0x12,0x2d,0xbb,0xb, 0x1c,0x12,0x17,0xe7,0xbe,0xe1,0xe, 0x40,0x26,0x7e,0xe1,0xe,
+0xbe,0xe0,0x2, 0x78,0x27,0x7e,0x73,0x0, 0x76,0xbe,0x70,0xf, 0x38,0x9, 0x7e,0x73,
+0x0, 0x77,0xbe,0x70,0xf, 0x28,0x15,0x7e,0xe0,0x1, 0x12,0x2c,0xf1,0x7a,0xb3,0x0,
+0x76,0x80,0x9, 0xb, 0xd0,0xbe,0xd0,0x24,0x50,0x2, 0x61,0x8, 0x7c,0x6e,0x5e,0x60,
+0xf, 0x7e,0x73,0x0, 0x90,0x12,0x2d,0x26,0x7e,0x73,0x0, 0x91,0x5e,0x70,0xf0,0x4c,
+0x76,0x7a,0x73,0x0, 0x91,0xda,0x3b,0x22,0x74,0x4, 0xac,0xbd,0x49,0x15,0x9, 0x6f,
+0x22,0x7a,0xf1,0x16,0xa, 0x3f,0x2e,0x34,0x0, 0x46,0x7a,0x71,0x82,0x7a,0x61,0x83,
+0xe4,0x93,0x22,0x9e,0x37,0x0, 0x7c,0x2, 0x0, 0x2e,0x9e,0x37,0x0, 0x7a,0x2, 0x0,
+0x2e,0x7e,0xb3,0x9, 0xfd,0xbe,0xb0,0x5, 0x22,0x7e,0xa3,0x0, 0x90,0x7c,0xba,0xc4,
+0x54,0xf, 0x22,0x5e,0x60,0xf, 0x5e,0x70,0xf0,0x4c,0x76,0x7a,0x73,0x0, 0x90,0x22,
+0x7e,0xb3,0x0, 0x90,0x54,0xf0,0x44,0x1, 0x7a,0xb3,0x0, 0x90,0x22,0xca,0x79,0x9f,
+0x11,0x7a,0x1f,0x9, 0xfd,0x7e,0xa3,0x0, 0x90,0x7c,0xba,0x54,0xf, 0xb4,0x1, 0x64,
+0x7e,0x1f,0x0, 0xa2,0x7a,0x1f,0x9, 0xfd,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x6, 0x7e,
+0x1f,0x9, 0xfd,0x80,0x34,0x7e,0x37,0xb, 0x3b,0x12,0x2d,0x3, 0x7d,0x73,0x7e,0x37,
+0xb, 0x39,0x12,0x2d,0xa, 0x2d,0x37,0xbe,0x34,0x0, 0xf, 0x58,0x20,0x7e,0x1f,0xb,
+0x3d,0x7f,0x1, 0x1e,0x14,0x1e,0x4, 0x50,0x3, 0x4e,0x20,0x80,0x7e,0x1f,0x9, 0xfd,
+0xbf,0x10,0x50,0x5, 0x12,0x28,0x8c,0x80,0x4, 0x7a,0x1f,0xb, 0x3d,0x7e,0x37,0x0,
+0x7a,0x7a,0x37,0xb, 0x39,0x7e,0x37,0x0, 0x7c,0x7a,0x37,0xb, 0x3b,0x12,0xe, 0xaf,
+0x78,0x2, 0xf5,0x9, 0xda,0x79,0x22,0x7d,0x16,0x2d,0x17,0x49,0x31,0x0, 0x2, 0xb,
+0x18,0x20,0x22,0xca,0x3b,0x7c,0xab,0x7d,0x73,0x4d,0x77,0x78,0x2, 0xc1,0xda,0x4d,
+0x22,0x78,0x2, 0xc1,0xda,0xe4,0x7a,0xb3,0x6, 0x4d,0x6c,0x99,0xc1,0x5e,0x7e,0x70,
+0x4, 0xac,0x79,0x2d,0x37,0x49,0xf3,0x0, 0x2, 0xb, 0x38,0xe0,0xbe,0x7c,0xfc,0x18,
+0x58,0x5, 0xbe,0x90,0x16,0x40,0x15,0xbe,0x7c,0xf8,0x30,0x58,0x58,0xbe,0x90,0x16,
+0x40,0x53,0x7e,0xf, 0x5, 0x28,0xbe,0x8, 0x7, 0xd0,0x58,0x49,0xa, 0x39,0x7d,0x13,
+0x2e,0x14,0xa, 0xd1,0x7e,0x19,0xb0,0x4, 0x7a,0x19,0xb0,0x9, 0xb3,0xa, 0xd1,0xbe,
+0xb0,0xc, 0x28,0x38,0x7e,0x70,0x2, 0xac,0x79,0x2d,0x32,0xb, 0x38,0x10,0x1a,0x2,
+0x1a,0x0, 0x2f,0x7, 0xbe,0x8, 0x38,0x40,0x58,0x22,0x74,0x1, 0x7a,0xb3,0x6, 0x4d,
+0x6c,0x88,0x80,0xa, 0x74,0x1, 0xa, 0x38,0x19,0xb3,0xa, 0xe7,0xb, 0x80,0xbe,0x80,
+0x0, 0x40,0xf1,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0xd1,0xb, 0x90,0xbc,0xa9,
+0x28,0x2, 0xa1,0xde,0x6c,0x99,0x80,0x6a,0x7e,0xd0,0x4, 0xac,0xd9,0x12,0x2d,0xb7,
+0xbe,0x1c,0xfc,0xe0,0x58,0x21,0xa, 0x39,0x7d,0x23,0x2e,0x24,0xa, 0x8d,0x12,0x2e,
+0xdd,0x9, 0x83,0xa, 0x8d,0xbe,0x80,0xf, 0x28,0x14,0x12,0x41,0x40,0x60,0xf, 0x74,
+0x3, 0x7a,0xb3,0x6, 0x4d,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0x8d,0x12,0x2d,
+0xb7,0xbe,0x1c,0xfc,0xe0,0x58,0x22,0x7e,0xb3,0x6, 0x4d,0x70,0x1c,0xa, 0x39,0x7d,
+0x23,0x2e,0x24,0xa, 0xbb,0x12,0x2e,0xdd,0x9, 0x83,0xa, 0xbb,0xbe,0x80,0x12,0x28,
+0xf, 0x74,0x2, 0x7a,0xb3,0x6, 0x4d,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0xbb,
+0xb, 0x90,0x7e,0x83,0x6, 0xc6,0xbc,0x89,0x38,0x8e,0xda,0x3b,0x22,0x7e,0x29,0xb0,
+0x4, 0x7a,0x29,0xb0,0x22,0x6c,0xaa,0x7e,0x90,0x5, 0xac,0x9a,0x9, 0xb4,0x2, 0xba,
+0xbe,0xb0,0xff,0x68,0xa, 0x49,0x34,0x2, 0xb8,0xbe,0x34,0x1, 0x8d,0x50,0x33,0xb,
+0xa0,0xbe,0xa0,0x2, 0x40,0xe1,0x12,0x2f,0x33,0x78,0x21,0x7c,0xb7,0xc4,0x7c,0x6b,
+0x5e,0x60,0xf, 0xbe,0x60,0x0, 0x28,0x14,0xe5,0x4c,0xbe,0xb0,0x1, 0x50,0x9, 0x12,
+0x2d,0x26,0x75,0x12,0x1, 0x5, 0x4c,0x22,0x75,0x4c,0x0, 0x22,0x75,0x4c,0x0, 0x75,
+0x12,0x0, 0x22,0x7e,0x73,0x0, 0x90,0x7c,0xb7,0x54,0xf, 0x22,0x7e,0x37,0x0, 0x92,
+0xbe,0x34,0x0, 0x1, 0x22,0x12,0x2f,0x3c,0x78,0x1b,0x7e,0xb3,0x6, 0x67,0x20,0xe5,
+0x14,0x7e,0xb3,0x6, 0xcb,0x20,0xe0,0xd, 0x12,0x2f,0x66,0x7e,0xb3,0x6, 0xcb,0x44,
+0x1, 0x7a,0xb3,0x6, 0xcb,0x22,0xa9,0xc0,0xca,0x6d,0x22,0x12,0x2f,0x7f,0x5e,0x60,
+0x7f,0x1b,0x28,0x30,0x22,0x7e,0x73,0x0, 0x90,0x7c,0x67,0x5e,0x60,0xf, 0x22,0x7e,
+0x34,0x13,0x14,0x1b,0x38,0x20,0x7e,0x24,0x12,0x4, 0xb, 0x28,0x30,0x22,0x7e,0xb3,
+0x6, 0xcb,0x30,0xe0,0x16,0xa9,0xd0,0xca,0x7e,0x24,0x0, 0x3f,0x12,0x2f,0x7f,0x4e,
+0x60,0x80,0x1b,0x28,0x30,0x54,0xfe,0x7a,0xb3,0x6, 0xcb,0x22,0xc2,0xab,0x12,0x2f,
+0x45,0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xd5,0xc9,0xd2,0xaf,0xa9,0xd0,0xcd,0xd2,0xc8,
+0xd2,0xa8,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd7,0x9e,0xd2,0xaf,0x74,0x1, 0x12,0x4a,
+0x48,0x74,0x2, 0x12,0xf, 0xcd,0x12,0x2f,0xf2,0xc2,0xa8,0xa9,0xc0,0xcd,0xc2,0xc8,
+0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xc5,0xc9,0xd2,0xaf,0xd2,0xab,0x12,0x4a,0x30,0x2,
+0x2f,0x8e,0x43,0xc8,0xc9,0x43,0xcb,0x8e,0x22,0xbd,0x32,0x58,0x3, 0x7d,0x32,0x22,
+0xbd,0x31,0x8, 0x2, 0x7d,0x31,0x22,0x6d,0x11,0x80,0x48,0x6d,0x0, 0x80,0x38,0x7d,
+0xf0,0x3e,0xf4,0x3e,0xf4,0x7d,0xef,0x2d,0xe3,0x49,0xde,0x0, 0x6, 0x49,0xce,0x0,
+0x4, 0x49,0x5e,0x0, 0x2, 0xb, 0xe8,0x40,0xbf,0x26,0x58,0x19,0x49,0xde,0x0, 0x6,
+0x49,0xce,0x0, 0x4, 0x59,0xde,0x0, 0x2, 0x1b,0xe8,0xc0,0x2d,0xf3,0x59,0x5f,0x0,
+0x6, 0x59,0x4f,0x0, 0x4, 0xb, 0x4, 0x7d,0xf2,0x1b,0xf4,0x9d,0xf1,0xbd,0xf0,0x38,
+0xbe,0xb, 0x14,0xbd,0x21,0x38,0xb4,0x22,0xca,0x3b,0xf5,0x26,0x7a,0xd, 0x22,0x7f,
+0x31,0x75,0x29,0x0, 0x75,0x2a,0x0, 0x7e,0x34,0x9, 0xfd,0x7e,0x24,0x0, 0x90,0xe4,
+0x12,0x4, 0xeb,0x6c,0xaa,0x12,0x23,0x30,0xbf,0x13,0x8, 0x11,0x7e,0x31,0x29,0x74,
+0x4, 0xac,0x3b,0x59,0x31,0x9, 0xff,0x59,0x21,0x9, 0xfd,0x5, 0x29,0xb, 0xa0,0xbe,
+0xa0,0x16,0x78,0xe1,0xe5,0x26,0xbe,0xb1,0x29,0x38,0x38,0x7e,0xd, 0x22,0x7e,0x1f,
+0x5, 0x28,0xbf,0x10,0x58,0x2d,0x7e,0x34,0x9, 0xfd,0xe5,0x26,0xa, 0x2b,0x12,0x30,
+0x7, 0x7e,0xa1,0x27,0x74,0x4, 0xa4,0x49,0x35,0x9, 0xff,0x49,0x25,0x9, 0xfd,0xe5,
+0x28,0xa, 0x1b,0x6d,0x0, 0x12,0x3, 0xec,0x7e,0xf, 0x9, 0xfd,0xbf,0x10,0x8, 0x3,
+0x75,0x2a,0x1, 0xe5,0x2a,0xda,0x3b,0x22,0x75,0x27,0xa, 0x75,0x28,0x5, 0x7e,0x18,
+0x3, 0xe8,0x7e,0x8, 0x27,0x10,0x74,0xc, 0x12,0x30,0x58,0x70,0x13,0x75,0x27,0xa,
+0x75,0x28,0x4, 0x7e,0x18,0x3, 0xe8,0x7e,0x8, 0x27,0x10,0x74,0xa, 0x12,0x30,0x58,
+0x60,0x13,0x7e,0xb3,0x6, 0x67,0x44,0x2, 0x7a,0xb3,0x6, 0x67,0x12,0x28,0x8c,0xe4,
+0x7a,0xb3,0xd, 0x11,0x22,0x7e,0xa3,0x6, 0x67,0x7c,0xba,0x30,0xe1,0x1b,0x7e,0xb3,
+0xd, 0x11,0x4, 0x7a,0xb3,0xd, 0x11,0xbe,0xb0,0x14,0x40,0xd, 0xe4,0x7a,0xb3,0xd,
+0x11,0x7c,0xba,0x54,0xfd,0x7a,0xb3,0x6, 0x67,0x22,0x75,0x39,0x3, 0x75,0x3f,0x0,
+0x22,0xbe,0xb0,0xa, 0x50,0x8, 0x7c,0x1b,0x2e,0x10,0x37,0xa5,0xe7,0x22,0x2, 0x31,
+0x51,0xb4,0xae,0x5, 0x7e,0xb3,0x3, 0x34,0x22,0x24,0xf6,0xbe,0xb0,0x30,0x40,0x2,
+0x61,0x7, 0x7e,0xa0,0x3, 0xa4,0x90,0x31,0x6a,0x73,0x2, 0x31,0xfa,0x2, 0x31,0xfd,
+0x2, 0x31,0xff,0x2, 0x32,0x4, 0x2, 0x32,0x9, 0x2, 0x32,0xe, 0x2, 0x32,0x13,0x2,
+0x32,0x18,0x2, 0x32,0x1d,0x2, 0x32,0x22,0x2, 0x32,0x27,0x2, 0x32,0x2c,0x2, 0x32,
+0x31,0x2, 0x32,0x45,0x2, 0x32,0x4a,0x2, 0x33,0x7, 0x2, 0x32,0x4f,0x2, 0x32,0x54,
+0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2,
+0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,
+0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7,
+0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x32,0x59,0x2,
+0x32,0x5e,0x2, 0x32,0x63,0x2, 0x32,0x68,0x2, 0x32,0x6d,0x2, 0x32,0x72,0x2, 0x33,
+0x7, 0x2, 0x32,0xa5,0x2, 0x33,0x7, 0x2, 0x32,0xd4,0x74,0x16,0x22,0xe4,0x22,0x7e,
+0xb3,0x3, 0x35,0x22,0x7e,0xb3,0x3, 0x38,0x22,0x7e,0xb3,0x3, 0x39,0x22,0x7e,0xb3,
+0x3, 0x3a,0x22,0x7e,0xb3,0x3, 0x3b,0x22,0x7e,0xb3,0x3, 0x3c,0x22,0x7e,0xb3,0x3,
+0x3d,0x22,0x7e,0xb3,0x3, 0x36,0x22,0x7e,0xb3,0x3, 0x37,0x22,0x7e,0xb3,0x3, 0x40,
+0x22,0x7e,0xb3,0xc, 0xd0,0x70,0x8, 0x7e,0x27,0x3, 0x30,0xa, 0x54,0x80,0xa, 0x7e,
+0x57,0x3, 0x30,0x80,0x4, 0x7e,0x57,0x3, 0x30,0x22,0x7e,0xb3,0x3, 0x3f,0x22,0x7e,
+0xb3,0x3, 0x41,0x22,0x7e,0xb3,0x6, 0xd4,0x22,0x7e,0xb3,0x3, 0x43,0x22,0x7e,0xb3,
+0x3, 0x44,0x22,0x7e,0xb3,0x3, 0x45,0x22,0x7e,0xb3,0x3, 0x46,0x22,0x7e,0xb3,0x3,
+0x47,0x22,0x7e,0x73,0x3, 0x47,0x7c,0xb7,0x4, 0x7a,0xb3,0x3, 0x47,0xbe,0x70,0x5c,
+0x50,0x20,0xa, 0x27,0x7d,0x12,0x5e,0x14,0x0, 0x1, 0x68,0xb, 0x7d,0x12,0x1e,0x14,
+0x3e,0x14,0x49,0x51,0xc, 0x20,0x22,0x1e,0x24,0x3e,0x24,0x49,0x22,0xc, 0x20,0xa,
+0x54,0x22,0x74,0xee,0x22,0x7e,0x73,0x3, 0x44,0x7c,0xb7,0x4, 0x7a,0xb3,0x3, 0x44,
+0xbe,0x70,0x2e,0x50,0x1c,0xbe,0x70,0x16,0x50,0x2, 0x80,0x5, 0xbe,0x70,0x16,0x50,
+0xb, 0xa, 0x37,0x2e,0x34,0x4, 0xc5,0x12,0x2c,0xfa,0x7c,0x7b,0xb, 0x70,0x7c,0xb7,
+0x22,0x74,0xee,0x22,0x7e,0x73,0x3, 0x46,0x7c,0xb7,0x4, 0x7a,0xb3,0x3, 0x46,0xbe,
+0x70,0x5c,0x50,0x20,0xa, 0x27,0x7d,0x12,0x5e,0x14,0x0, 0x1, 0x68,0xb, 0x7d,0x12,
+0x1e,0x14,0x3e,0x14,0x49,0x51,0x2, 0xd4,0x22,0x1e,0x24,0x3e,0x24,0x49,0x22,0x2,
+0xd4,0xa, 0x54,0x22,0x74,0xee,0x22,0x74,0xee,0x22,0x7c,0xab,0x24,0x0, 0x78,0x5,
+0x7e,0xb3,0xc, 0xd6,0x22,0xbe,0xa0,0xaf,0x38,0xc, 0x7e,0xb3,0xb, 0x9f,0xb4,0x3,
+0x5, 0x7c,0xba,0x2, 0x31,0x41,0x7c,0xba,0x22,0xca,0x79,0x20,0x90,0x2, 0x61,0xcf,
+0xd2,0x8, 0x7e,0xb3,0xc, 0xd2,0x4, 0x7a,0xb3,0xc, 0xd2,0x7e,0xf3,0xc, 0xd2,0xbe,
+0xf0,0x1, 0x78,0x22,0xe5,0x91,0x7a,0xb3,0xc, 0xd8,0x7e,0xb3,0xc, 0xd8,0xb4,0xd3,
+0xe, 0x74,0x1, 0x7a,0xb3,0xc, 0xd7,0x6d,0x33,0x7a,0x37,0xc, 0xd3,0x80,0x3c,0xe4,
+0x7a,0xb3,0xc, 0xd7,0x80,0x35,0x7e,0xb3,0xc, 0xd6,0xc4,0x7c,0xeb,0x5e,0xe0,0x7,
+0x78,0x8, 0x12,0x34,0xe9,0x12,0x37,0x23,0x80,0x21,0xbe,0xe0,0x4, 0x78,0x8, 0x12,
+0x34,0xe9,0x12,0x4b,0xa9,0x80,0x14,0x7e,0xb3,0xc, 0xd6,0xc4,0x54,0x7, 0xb4,0x1,
+0xa, 0x7e,0xb3,0xc, 0xd2,0x12,0x34,0xeb,0x12,0x37,0xdc,0x12,0x36,0xef,0x78,0xe,
+0xe4,0x12,0x34,0x5c,0xb4,0x10,0x2, 0x80,0x14,0x12,0x36,0xfa,0x80,0x12,0xbe,0xf0,
+0x4, 0x78,0x5, 0x12,0x34,0xdf,0x80,0x8, 0xbe,0xf0,0x1, 0x78,0x3, 0x12,0x37,0xc7,
+0x7e,0xb3,0xc, 0xd8,0xb4,0xd3,0x6, 0x7e,0xb3,0xb, 0xb6,0xf5,0x91,0xc2,0x90,0x20,
+0x91,0x2, 0x81,0x59,0xc2,0x8, 0x7e,0xb3,0xc, 0xd0,0x4, 0x12,0x36,0xeb,0x78,0x50,
+0x7e,0xb3,0xc, 0xd7,0xb4,0x1, 0x36,0x7e,0xa3,0x9, 0x6a,0x7e,0x70,0x4, 0xac,0x7a,
+0xbe,0x37,0xc, 0xd3,0x40,0x22,0x7e,0x37,0xc, 0xd3,0x4d,0x33,0x78,0x5, 0x7a,0xa1,
+0x91,0x80,0xd, 0x7d,0x23,0x1b,0x24,0x2e,0x27,0x6, 0xdb,0x7e,0x29,0xb0,0xf5,0x91,
+0xb, 0x34,0x7a,0x37,0xc, 0xd3,0x80,0x3f,0x75,0x91,0xff,0x80,0x3a,0xe4,0x12,0x34,
+0x5c,0xb4,0x10,0x6, 0x7e,0xb3,0xc, 0xd0,0x80,0x19,0x7e,0xb3,0xc, 0xd0,0x80,0x1e,
+0xbe,0xf0,0x4, 0x78,0x5, 0x12,0x34,0xdf,0x80,0x1d,0xbe,0xf0,0x1, 0x7e,0xb3,0xc,
+0xd0,0x78,0xb, 0x2e,0xb3,0xc, 0xd8,0x12,0x0, 0x9, 0xf5,0x91,0x80,0x9, 0x2e,0xb3,
+0xc, 0xd8,0x12,0x34,0x5c,0xf5,0x91,0xc2,0x91,0xda,0x79,0x22,0x7c,0x7b,0xbe,0x70,
+0x80,0x40,0xc, 0xbe,0x70,0xde,0x38,0x7, 0xa, 0x37,0x9, 0xb3,0xa, 0xe3,0x22,0xa5,
+0xbf,0x0, 0x5, 0x7e,0xb3,0xc, 0xd6,0x22,0x30,0x7, 0x6, 0x7e,0x24,0xc, 0xac,0x80,
+0x4, 0x7e,0x24,0xc, 0xbe,0x7a,0x25,0x4a,0x7c,0xb7,0x14,0xbe,0xb0,0xe, 0x50,0x4c,
+0x7e,0xa0,0x3, 0xa4,0x90,0x34,0x98,0x73,0x2, 0x34,0xc2,0x2, 0x34,0xca,0x2, 0x34,
+0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,
+0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2,
+0x34,0xd2,0x7e,0x35,0x4a,0x9, 0xb3,0x0, 0x4, 0x22,0x7e,0x35,0x4a,0x9, 0xb3,0x0,
+0x3, 0x22,0xa, 0x37,0x2e,0x35,0x4a,0x9, 0xb3,0x0, 0x2, 0x22,0x74,0xff,0x22,0x7e,
+0xb3,0xc, 0xd8,0x12,0x33,0xa, 0xf5,0x91,0x22,0x7c,0xbf,0x2e,0xb3,0xc, 0xd8,0x24,
+0xfe,0x7e,0x71,0x91,0x22,0xca,0xf8,0xe4,0x12,0x36,0xeb,0x78,0x5, 0x12,0x36,0xfa,
+0x80,0x12,0xbe,0xf0,0x4, 0x78,0x5, 0x12,0x34,0xdf,0x80,0x8, 0xbe,0xf0,0x1, 0x78,
+0x3, 0x12,0x37,0xc7,0x75,0x91,0x0, 0xe4,0x7a,0xb3,0xc, 0xd2,0x7a,0xb3,0xc, 0xd1,
+0x74,0xaa,0x7a,0xb3,0xc, 0xac,0x7a,0xb3,0xc, 0xad,0x7a,0xb3,0xc, 0xbe,0x7a,0xb3,
+0xc, 0xbf,0xda,0xf8,0x22,0xbe,0xb0,0xa, 0x50,0xa, 0x7c,0x1b,0x2e,0x10,0x37,0x7c,
+0xb7,0xa5,0xf7,0x22,0x2, 0x35,0x47,0xca,0x79,0x7c,0x6b,0xa5,0xbe,0xae,0x17,0x7a,
+0x73,0x3, 0x34,0x7e,0xb3,0x3, 0x34,0xb4,0x1, 0x5, 0xe4,0x7a,0xb3,0x3, 0x34,0xe4,
+0x7a,0xb3,0x3, 0x42,0xc1,0x65,0xa5,0xbe,0xaf,0x5, 0x12,0x37,0xea,0xc1,0xe8,0x7c,
+0xb6,0x24,0xf4,0xbe,0xb0,0x29,0x40,0x2, 0xc1,0xa0,0x7e,0xa0,0x3, 0xa4,0x90,0x35,
+0x82,0x73,0x2, 0x35,0xfd,0x2, 0x36,0x3, 0x2, 0x36,0x9, 0x2, 0x36,0xf, 0x2, 0x36,
+0x15,0x2, 0x36,0x1b,0x2, 0x36,0x21,0x2, 0x36,0x27,0x2, 0x36,0x2d,0x2, 0x36,0x33,
+0x2, 0x36,0x39,0x2, 0x36,0x51,0x2, 0x36,0x6a,0x2, 0x36,0xe1,0x2, 0x36,0x70,0x2,
+0x36,0x79,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,
+0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,
+0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2,
+0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,
+0x82,0x2, 0x36,0x88,0x2, 0x36,0x8e,0x2, 0x36,0x94,0x2, 0x36,0x9a,0x7e,0x74,0x3,
+0x35,0x80,0x7a,0x7e,0x74,0x3, 0x38,0x80,0x74,0x7e,0x74,0x3, 0x39,0x80,0x6e,0x7e,
+0x74,0x3, 0x3a,0x80,0x68,0x7e,0x74,0x3, 0x3b,0x80,0x62,0x7e,0x74,0x3, 0x3c,0x80,
+0x5c,0x7e,0x74,0x3, 0x3d,0x80,0x56,0x7e,0x74,0x3, 0x36,0x80,0x50,0x7e,0x74,0x3,
+0x37,0x80,0x4a,0x7e,0x74,0x3, 0x40,0x80,0x44,0x7e,0x27,0x3, 0x30,0x6c,0x44,0x7a,
+0x27,0x3, 0x30,0x7c,0x67,0x6c,0x77,0x4e,0x37,0x3, 0x30,0x7a,0x37,0x3, 0x30,0x80,
+0x14,0x7e,0x27,0x3, 0x30,0x6c,0x55,0x7a,0x27,0x3, 0x30,0xa, 0x37,0x4e,0x37,0x3,
+0x30,0x7a,0x37,0x3, 0x30,0x43,0xa, 0x1, 0x80,0x7e,0x7e,0x74,0x3, 0x3f,0x80,0xd,
+0x7e,0x74,0x3, 0x41,0x43,0xa, 0x4, 0x80,0x68,0x7e,0x74,0x6, 0xd4,0x43,0xa, 0x1,
+0x80,0x5f,0x7a,0x73,0x3, 0x43,0x80,0x60,0x7a,0x73,0x3, 0x44,0x80,0x5a,0x7a,0x73,
+0x3, 0x45,0x80,0x54,0x7a,0x73,0x3, 0x46,0x80,0x4e,0x7a,0x73,0x3, 0x47,0x80,0x48,
+0xbe,0x60,0x39,0x68,0x4, 0xa5,0xbe,0x3a,0x3f,0x7e,0x63,0x3, 0x45,0x7c,0xb6,0x4,
+0x7a,0xb3,0x3, 0x45,0xa, 0x26,0x5e,0x24,0x0, 0x1, 0xa, 0x16,0x68,0x12,0x12,0x37,
+0x4, 0x6c,0x55,0x1b,0x18,0x20,0xa, 0x17,0x12,0x37,0x10,0x43,0xa, 0x2, 0x80,0x18,
+0x12,0x37,0x4, 0x6c,0x44,0x1b,0x18,0x20,0x7c,0x27,0x6c,0x33,0x12,0x37,0x10,0x80,
+0x7, 0x4d,0x77,0x68,0x3, 0x7a,0x79,0x70,0xda,0x79,0x22,0x7a,0xb3,0xc, 0xd0,0x7e,
+0xb3,0xc, 0xd6,0xc4,0x7c,0xfb,0x5e,0xf0,0x7, 0x22,0x7e,0xb3,0xc, 0xd8,0x12,0x34,
+0x5c,0xf5,0x91,0x22,0x1e,0x14,0x3e,0x14,0x2e,0x14,0x2, 0xd4,0xb, 0x18,0x20,0x22,
+0xa, 0x26,0x1e,0x24,0x3e,0x24,0x2e,0x24,0x2, 0xd4,0xb, 0x28,0x30,0x4d,0x31,0x1b,
+0x28,0x30,0x22,0xca,0x69,0xca,0xf8,0x7c,0xf7,0xbe,0xb0,0x80,0x40,0xb, 0xbe,0xb0,
+0xde,0x38,0x6, 0x24,0x80,0x7c,0x7f,0xe1,0xbf,0x24,0x0, 0x68,0x2, 0xe1,0xc2,0x7e,
+0x64,0xc, 0xd6,0x7a,0x69,0xf0,0x5e,0xf0,0x70,0x7c,0xbf,0xc4,0x54,0xf, 0x7c,0xfb,
+0xbe,0xf0,0x4, 0x78,0x15,0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x7, 0x74,0x2, 0x7e,0x70,
+0x3, 0x80,0x36,0x74,0x3c,0x7e,0x70,0x3, 0x80,0x55,0x7e,0xb3,0xb, 0x9f,0xb4,0x3,
+0x2d,0x74,0x2, 0x7e,0x70,0x1, 0x12,0x35,0x35,0xbe,0xf0,0x1, 0x78,0x6, 0x74,0x2,
+0x6c,0x77,0x80,0x15,0x4c,0xff,0x78,0x7, 0x74,0x2, 0x7e,0x70,0x1, 0x80,0xa, 0xbe,
+0xf0,0x3, 0x78,0x2e,0x74,0x2, 0x7e,0x70,0x4, 0x12,0x35,0x35,0x80,0x24,0xbe,0xf0,
+0x1, 0x78,0x6, 0x74,0x3c,0x6c,0x77,0x80,0x16,0xbe,0xf0,0x4, 0x78,0x7, 0x74,0x3c,
+0x7e,0x70,0x3, 0x80,0xa, 0xbe,0xf0,0x3, 0x78,0x8, 0x74,0x3c,0x7e,0x70,0x4, 0x12,
+0x4b,0x75,0xda,0xf8,0xda,0x69,0x22,0x7e,0xb3,0xc, 0xd8,0x12,0x0, 0x9, 0xf5,0x91,
+0x22,0xe4,0x7a,0xb3,0xc, 0xd6,0x12,0x4d,0xe8,0x2, 0x34,0xf5,0x7c,0xa7,0x24,0x0,
+0x78,0x7, 0x7e,0x34,0xc, 0xd6,0x7a,0x39,0xa0,0x22,0x30,0x9, 0x8, 0x74,0x1, 0x12,
+0x43,0x3a,0xc2,0x9, 0x22,0xe4,0x12,0x43,0x3a,0xd2,0x9, 0x22,0x75,0xd, 0x0, 0xc2,
+0x5, 0x7e,0xb3,0xb, 0x88,0x70,0x7, 0x7e,0xb3,0x0, 0x95,0xf5,0x1a,0x22,0x7e,0xb3,
+0x0, 0x97,0xf5,0x1a,0x22,0x7d,0xd2,0x6d,0x22,0x9e,0x18,0x0, 0xc7,0x6d,0xcc,0x7e,
+0x78,0x0, 0xc7,0x7f,0x27,0x9f,0x26,0x12,0x3c,0x5c,0x2e,0x28,0x0, 0xc7,0x9f,0x71,
+0x7f,0x17,0xbe,0x28,0x0, 0x0, 0x58,0x4, 0x9f,0x22,0x80,0xa, 0xbe,0x28,0x1, 0x8e,
+0x48,0x4, 0x7e,0x28,0x1, 0x8d,0xbe,0x18,0x0, 0x0, 0x58,0x4, 0x9f,0x11,0x80,0xa,
+0xbe,0x18,0x1, 0x8e,0x48,0x4, 0x7e,0x18,0x1, 0x8d,0x1b,0x18,0x50,0x7d,0x13,0x1b,
+0x8, 0x10,0x22,0xca,0xf8,0x6c,0xff,0x80,0x23,0x74,0x5, 0xac,0xbf,0x12,0x3c,0xa,
+0x7e,0x14,0x0, 0x22,0x7e,0x4, 0x0, 0x24,0x12,0x38,0x15,0x7e,0x35,0x22,0x74,0x5,
+0xac,0xbf,0x59,0x35,0x0, 0x7a,0x7e,0x35,0x24,0x12,0x3c,0x51,0x12,0x38,0x94,0x48,
+0xd8,0xda,0xf8,0x22,0x7e,0xb3,0x0, 0x90,0x54,0xf, 0xa, 0x2b,0xa, 0x3f,0xbd,0x32,
+0x22,0xca,0x3b,0xc2,0xf, 0x75,0x2c,0x0, 0x7e,0xb3,0x3, 0x5a,0xbe,0xb0,0x2, 0x68,
+0x7, 0x7e,0xb3,0x3, 0x5b,0xb4,0x2, 0x16,0x12,0x2d,0x19,0xbe,0xb0,0x1, 0x38,0xe,
+0x7c,0xba,0x54,0xf, 0xbe,0xb0,0x1, 0x38,0x5, 0x7c,0xba,0x12,0x28,0x90,0x6c,0xff,
+0x7e,0xa0,0xff,0x7e,0x70,0x5, 0xac,0x7f,0x19,0xa3,0x0, 0x7e,0x7c,0x1f,0x2e,0x10,
+0x22,0x74,0xff,0xa5,0xf7,0x7e,0x24,0xff,0xff,0x12,0x3b,0xed,0x1b,0x38,0x20,0x7c,
+0x1f,0x2e,0x10,0x24,0xe4,0xa5,0xf7,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xd2,0x7e,0xa3,
+0x0, 0x90,0x7c,0xba,0x54,0xf, 0x78,0x1f,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x18,0x6c,
+0xff,0x12,0x3c,0x49,0xac,0x7f,0x59,0x43,0x3, 0x52,0x59,0x43,0x3, 0x56,0xb, 0xf0,
+0xbe,0xf0,0x2, 0x78,0xec,0x61,0x88,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x33,0x6c,0xff,
+0x7e,0xa0,0x1, 0x80,0x25,0x7c,0x1f,0x2e,0x10,0x24,0x7c,0xba,0x12,0x3b,0xf6,0x19,
+0xf3,0x0, 0x7e,0x49,0x43,0x0, 0x7a,0x7e,0x50,0x2, 0xac,0x5f,0x59,0x42,0x3, 0x52,
+0x49,0x33,0x0, 0x7c,0x59,0x32,0x3, 0x56,0xb, 0xf0,0x12,0x38,0x94,0x48,0xd6,0x61,
+0x88,0x6c,0xff,0x80,0x47,0x6c,0xee,0x74,0x2, 0xac,0xbe,0x49,0x25,0x3, 0x56,0x12,
+0x3e,0x8, 0x7d,0x63,0x74,0x2, 0xac,0xbe,0x49,0x25,0x3, 0x52,0x12,0x3c,0x73,0x2d,
+0x36,0x7a,0x35,0x26,0x7c,0xbf,0x3e,0xb0,0x24,0x28,0xa, 0x2b,0xb, 0x28,0x30,0xbe,
+0x35,0x26,0x28,0xf, 0x7c,0x1f,0x2e,0x10,0x22,0x7c,0xbe,0xa5,0xf7,0x7e,0x35,0x26,
+0x1b,0x28,0x30,0xb, 0xe0,0xbe,0xe0,0x2, 0x78,0xbd,0xb, 0xf0,0x12,0x38,0x94,0x48,
+0xb4,0x6c,0xff,0x41,0x51,0xd2,0xf, 0x6c,0xee,0x80,0x2c,0xbc,0xef,0x68,0x26,0x7c,
+0x1e,0x12,0x3b,0xfe,0x7c,0x1f,0x2e,0x10,0x22,0xa5,0xe7,0xbc,0xba,0x78,0x16,0x7c,
+0xbe,0x12,0x3b,0xef,0xb, 0x38,0x20,0x12,0x3b,0xed,0xb, 0x38,0x30,0xbd,0x32,0x40,
+0x4, 0xc2,0xf, 0x80,0xd, 0xb, 0xe0,0x12,0xe, 0xaf,0xa, 0x2b,0xa, 0x3e,0xbd,0x32,
+0x48,0xc9,0x7c,0x1f,0x12,0x3b,0xfe,0xa, 0x4a,0x9, 0xb4,0x3, 0x5a,0xb4,0x2, 0x4,
+0xc2,0xf, 0x80,0x1e,0xb4,0x1, 0x1b,0x12,0x2f,0x33,0xbe,0xb0,0x2, 0x40,0x11,0x7c,
+0xb7,0xc4,0x54,0xf, 0xbe,0xb0,0x2, 0x40,0x7, 0xe4,0x19,0xb4,0x3, 0x5a,0x80,0x2,
+0xc2,0xf, 0x30,0xf, 0x2a,0xbe,0xa0,0x2, 0x50,0x25,0x7c,0x1a,0x2e,0x10,0x24,0x74,
+0x1, 0xa5,0xf7,0x7e,0x90,0x5, 0xac,0x9f,0x19,0xa4,0x0, 0x7e,0x49,0x34,0x0, 0x7a,
+0x74,0x2, 0xa4,0x59,0x35,0x3, 0x52,0x49,0x34,0x0, 0x7c,0x59,0x35,0x3, 0x56,0xb,
+0xf0,0x12,0x38,0x94,0x58,0x2, 0x21,0xb5,0x6c,0xff,0x80,0x48,0x74,0x5, 0xac,0xbf,
+0x9, 0xb5,0x0, 0x7e,0xb4,0xff,0x3b,0x6c,0xee,0x7c,0x1e,0x2e,0x10,0x24,0xa5,0xe7,
+0x70,0x29,0xa, 0x3e,0x9, 0xb3,0x3, 0x5a,0x70,0x1f,0x74,0x1, 0x12,0x3b,0xf6,0x49,
+0x23,0x0, 0x7a,0x74,0x2, 0xac,0xbe,0x59,0x25,0x3, 0x52,0x49,0x23,0x0, 0x7c,0x59,
+0x25,0x3, 0x56,0x19,0xe3,0x0, 0x7e,0x80,0x9, 0x5, 0x2c,0xb, 0xe0,0xbe,0xe0,0x2,
+0x40,0xc7,0xb, 0xf0,0x7e,0xa3,0x0, 0x90,0x5e,0xa0,0xf, 0xa, 0x2a,0xa, 0x3f,0xbd,
+0x32,0x48,0xa9,0xe5,0x2c,0x60,0x2a,0x4c,0xaa,0x68,0x26,0xe5,0x2c,0xa, 0x3b,0xbd,
+0x23,0x48,0x1e,0x7e,0x73,0x0, 0x7e,0xbe,0x70,0x2, 0x40,0xc, 0x7e,0x73,0x0, 0x83,
+0xbe,0x70,0x2, 0x50,0x3, 0x12,0x3e,0x3a,0x12,0x2f,0x75,0x9e,0x61,0x2c,0x12,0x2d,
+0x23,0x12,0x2d,0x19,0xa, 0x2b,0x7c,0xba,0x54,0xf, 0xa, 0x3b,0xbd,0x32,0x58,0x71,
+0x6c,0xff,0x12,0x3b,0xe5,0x70,0x5a,0x7e,0xd0,0x2, 0xac,0xdf,0x49,0x46,0x3, 0x52,
+0xbe,0x44,0x7f,0xff,0x68,0x4b,0xa, 0x2f,0x9, 0x62,0x3, 0x5a,0xbe,0x60,0x2, 0x50,
+0x40,0x49,0x16,0x3, 0x56,0xbe,0x14,0x1, 0x8e,0x50,0x36,0x9, 0xb2,0xb, 0x31,0x60,
+0x30,0x74,0x1, 0xa5,0xf7,0x7e,0x73,0x0, 0x90,0x7c,0xe7,0x5e,0xe0,0xf, 0x74,0x5,
+0xac,0xbe,0x59,0x45,0x0, 0x7a,0x59,0x15,0x0, 0x7c,0x19,0xf5,0x0, 0x7e,0x2e,0x24,
+0x3, 0x5a,0x7c,0xb6,0x4, 0x7a,0x29,0xb0,0x7c,0x67,0xb, 0x60,0x12,0x2d,0x23,0x80,
+0x7, 0xe4,0xa, 0x3f,0x19,0xb3,0x3, 0x5a,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0x93,0x80,
+0x9, 0xe4,0x7a,0xb3,0x3, 0x5a,0x7a,0xb3,0x3, 0x5b,0x6c,0xff,0x12,0x3b,0xe5,0x70,
+0x10,0x7e,0x34,0x7f,0xff,0x74,0x2, 0xac,0xbf,0x59,0x35,0x3, 0x52,0x59,0x35,0x3,
+0x56,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xe4,0x12,0x3c,0x41,0x6c,0xff,0x12,0x3b,0xe5,
+0xb4,0x1, 0x1d,0xa, 0x3f,0x9, 0xb3,0x3, 0x50,0xbe,0xb0,0x3, 0x68,0x3, 0xb4,0x1,
+0x7, 0xe4,0x19,0xb3,0x3, 0x4e,0x80,0x33,0x74,0x2, 0x19,0xb3,0x3, 0x4e,0x80,0x2b,
+0xa, 0x3f,0x9, 0xb3,0x3, 0x50,0xbe,0xb0,0x2, 0x68,0x2, 0x70,0x18,0x74,0x1, 0x19,
+0xb3,0x3, 0x4e,0xbe,0xe0,0x2, 0x50,0x13,0x7c,0xae,0xb, 0xe0,0x74,0x5, 0xa4,0x19,
+0xf5,0x0, 0x7e,0x80,0x6, 0x74,0x3, 0x19,0xb3,0x3, 0x4e,0xb, 0xf0,0xbe,0xf0,0x2,
+0x40,0xab,0xda,0x3b,0x22,0x7c,0x1f,0x2e,0x10,0x24,0xa5,0xe7,0x22,0x7c,0xbf,0x3e,
+0xb0,0x24,0x28,0xa, 0x3b,0x22,0xa5,0xf7,0x7e,0x70,0x5, 0xac,0x7f,0x22,0x2e,0x10,
+0x22,0xa5,0xe7,0x7c,0xab,0x22,0x74,0x5, 0xac,0xbe,0x49,0x35,0x0, 0x7a,0x49,0x25,
+0x0, 0x7c,0x22,0xca,0x79,0x12,0x3c,0x37,0x6c,0xff,0x80,0x13,0xa, 0x3f,0x9, 0xe3,
+0x0, 0x76,0x7e,0x34,0x6, 0x15,0x7c,0xbe,0x6c,0x55,0x12,0x3e,0x4b,0xb, 0xf0,0x12,
+0x38,0x94,0x48,0xe8,0xda,0x79,0x22,0x74,0x1, 0x6c,0xaa,0x12,0x3c,0x67,0x40,0xfb,
+0x22,0x7e,0xe3,0x0, 0x90,0x5e,0xe0,0xf, 0x22,0x7e,0x44,0x7f,0xff,0x7e,0x70,0x2,
+0x22,0x74,0x5, 0xac,0xbf,0x59,0x35,0x0, 0x7c,0xb, 0xf0,0x22,0x6e,0x34,0xff,0xff,
+0x6e,0x24,0xff,0xff,0xb, 0x1c,0x22,0xa, 0x4a,0x19,0xb4,0x6, 0x15,0xb, 0xa0,0xbe,
+0xa0,0x2e,0x22,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7a,0x9d,0x32,0x2, 0x0, 0x2e,
+0xca,0x3b,0x12,0xe, 0xaf,0x7c,0xeb,0x78,0x30,0x6c,0xff,0x6d,0x11,0x74,0x2, 0xac,
+0xbf,0x59,0x15,0xd, 0x1d,0x7e,0xa0,0xff,0x7e,0x30,0x5, 0xac,0x3f,0x19,0xa1,0xd,
+0x17,0x7e,0xb3,0xd, 0x28,0x70,0x3, 0xe4,0x80,0x2, 0x74,0x2, 0xa, 0x1f,0x19,0xb1,
+0xd, 0x26,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xd2,0x7e,0x17,0x0, 0x92,0xbe,0x14,0x0,
+0x1, 0x78,0x2, 0xa1,0xfc,0x6c,0xff,0xa1,0xd8,0x74,0x5, 0xac,0xbf,0x9, 0x75,0x0,
+0x7e,0x7a,0x71,0x23,0xbe,0x70,0x2, 0x40,0x2, 0xa1,0xd6,0xe5,0x23,0xa, 0x1b,0x12,
+0x3e,0x1d,0x78,0x2, 0xa1,0xd6,0x75,0x22,0x0, 0x7e,0x31,0x22,0x74,0x5, 0xac,0x3b,
+0x9, 0x71,0xd, 0x17,0x7a,0x71,0x24,0xbe,0x71,0x23,0x68,0x2, 0xa1,0xcb,0x49,0x21,
+0xd, 0x15,0x12,0x3e,0x8, 0x7d,0x63,0x12,0x14,0xe3,0x49,0x25,0xd, 0x13,0x12,0x3c,
+0x73,0x7d,0x3, 0x2d,0x6, 0xe5,0x24,0xa, 0x1b,0x9, 0xa1,0xd, 0x26,0xbe,0xa0,0x0,
+0x28,0x17,0x7e,0x71,0x24,0x74,0x2, 0xac,0x7b,0x59,0x3, 0xd, 0x1d,0x2e,0x14,0xd,
+0x26,0x7c,0xba,0x14,0x7a,0x19,0xb0,0xa1,0xd6,0x7e,0x31,0x24,0x74,0x2, 0xac,0x3b,
+0x49,0x31,0xd, 0x1d,0xbe,0x34,0x0, 0x1e,0x28,0x8, 0xbe,0x4, 0x0, 0x1e,0x28,0x2,
+0x80,0x10,0x7d,0x23,0x2e,0x24,0x0, 0x1e,0xbd,0x20,0x50,0x12,0xbe,0x34,0x0, 0x1e,
+0x28,0xc, 0x59,0x1, 0xd, 0x1d,0x74,0x1, 0x7a,0xb3,0xd, 0x28,0x80,0x68,0xbe,0x4,
+0x0, 0x64,0x28,0x4b,0xe4,0x7a,0xb3,0xd, 0x28,0xe5,0x23,0xa, 0x1b,0x9, 0xb1,0x3,
+0x4e,0x70,0x4, 0x74,0x3, 0x80,0x2, 0x74,0x1, 0x19,0xb1,0x3, 0x4e,0x12,0x3e,0x25,
+0x7e,0x14,0xd, 0x21,0x74,0x5, 0x12,0x4, 0x8d,0xbe,0xe0,0x0, 0x28,0x21,0x1b,0xe0,
+0x7e,0x70,0x5, 0xac,0x7e,0x2e,0x34,0x0, 0x7a,0x7e,0x30,0x5, 0xac,0x3f,0x12,0x3d,
+0xff,0x7e,0x34,0xd, 0x21,0x7e,0x30,0x5, 0xac,0x3e,0x12,0x3d,0xff,0x1b,0xf0,0x7e,
+0xa1,0x24,0x74,0x2, 0xa4,0x59,0x5, 0xd, 0x1d,0x80,0xb, 0x5, 0x22,0xe5,0x22,0xbe,
+0xb0,0x2, 0x50,0x2, 0x81,0xe9,0xb, 0xf0,0x12,0x2f,0x33,0xa, 0x2b,0xa, 0x1f,0xbd,
+0x12,0x58,0x2, 0x81,0xc9,0x7c,0x6e,0x12,0x2d,0x23,0x6c,0xff,0x12,0x3e,0x15,0x2e,
+0x34,0x0, 0x7a,0x2e,0x14,0xd, 0x13,0x12,0x3e,0x2f,0x78,0xf0,0xda,0x3b,0x22,0x2e,
+0x14,0x0, 0x7a,0x74,0x5, 0x2, 0x4, 0x8d,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7c,
+0x9d,0x32,0x2, 0x0, 0x2e,0x7e,0x30,0x5, 0xac,0x3f,0x7d,0x31,0x22,0x9, 0xb1,0x3,
+0x4e,0xbe,0xb0,0x1, 0x22,0x7e,0x70,0x5, 0xac,0x7f,0x2e,0x34,0x0, 0x7a,0x22,0x74,
+0x5, 0x12,0x4, 0x8d,0xb, 0xf0,0xbe,0xf0,0x2, 0x22,0x7e,0x1f,0x0, 0x80,0x7e,0x33,
+0x0, 0x7f,0x7a,0x1f,0x0, 0x7b,0x7a,0x33,0x0, 0x7a,0x22,0x7d,0x13,0x4d,0x11,0x68,
+0xc, 0xbe,0xb0,0x2e,0x50,0x7, 0xa, 0x3b,0x2d,0x31,0x7a,0x39,0x50,0x22,0x74,0x10,
+0x7a,0xb3,0xb, 0x84,0x74,0x83,0x7a,0xb3,0xb, 0x85,0xe4,0x6c,0xaa,0x12,0x3c,0x67,
+0x40,0xfb,0x22,0x6c,0xaa,0x74,0x3, 0xa, 0x4a,0x19,0xb4,0x3, 0x50,0x19,0xb4,0x3,
+0x4e,0x12,0x3c,0x49,0xac,0x7a,0x59,0x43,0x3, 0x52,0x59,0x43,0x3, 0x56,0xb, 0xa0,
+0xbe,0xa0,0x2, 0x40,0xe0,0x22,0x7c,0x6b,0x7e,0x53,0x0, 0x90,0x7c,0xb5,0x54,0xf,
+0x68,0x10,0x7c,0x45,0x1b,0x40,0x5e,0x40,0xf, 0x5e,0x50,0xf0,0x4c,0x54,0x7a,0x53,
+0x0, 0x90,0xa5,0xbe,0x0, 0x12,0xa5,0xbf,0x2, 0xe, 0x7e,0x73,0x0, 0x77,0x7a,0x73,
+0x0, 0x76,0x85,0x17,0x16,0x12,0x3e,0x3a,0x22,0xca,0x79,0x6d,0x77,0x7a,0x77,0x2,
+0xd0,0x7e,0x34,0x3, 0xe8,0x7a,0x37,0x0, 0x74,0x12,0x1f,0xe6,0x12,0x1e,0xf6,0x12,
+0x1b,0xdc,0x7a,0x77,0x2, 0xd0,0x7e,0x34,0x0, 0x64,0x7a,0x37,0x0, 0x74,0xda,0x79,
+0x22,0x6c,0x77,0xa, 0x27,0x9, 0x62,0x3, 0x4e,0x19,0x62,0x3, 0x50,0xb, 0x70,0xbe,
+0x70,0x2, 0x40,0xef,0x12,0x3f,0x35,0x12,0x3f,0x2d,0x7a,0x73,0x0, 0x90,0x7e,0x73,
+0x0, 0x91,0x5e,0x70,0xf, 0x12,0x3f,0x2d,0x7a,0x73,0x0, 0x91,0x7e,0x1f,0x5, 0x2c,
+0x7a,0x1f,0x5, 0x30,0x7e,0x73,0x6, 0xe, 0x7a,0x73,0x6, 0xf, 0x22,0x7c,0xb7,0xc4,
+0x54,0xf0,0x4c,0x7b,0x22,0x7e,0x73,0x0, 0x90,0x5e,0x70,0xf, 0x22,0x12,0x3f,0x35,
+0x6c,0x66,0x80,0x2, 0xb, 0x60,0xbc,0x76,0x38,0xfa,0x22,0xca,0x3b,0x6c,0xaa,0x12,
+0x3f,0x35,0x7e,0x44,0x3, 0x5c,0x7e,0x24,0x0, 0x76,0x6c,0x66,0x80,0x64,0x75,0x1f,
+0xff,0xa, 0xf6,0x2d,0xf2,0x7e,0xf9,0x20,0x7e,0x30,0x4, 0xac,0x23,0x7d,0xe1,0x2d,
+0xe4,0x49,0x1e,0x0, 0x2, 0xb, 0xe8,0x0, 0xa, 0x76,0xb, 0x74,0x80,0x24,0xa, 0xef,
+0x2d,0xe2,0x7e,0xe9,0xe0,0x7e,0xd0,0x4, 0xac,0xde,0x7d,0xe6,0x2d,0xe4,0x49,0xde,
+0x0, 0x2, 0xb, 0xe8,0xc0,0xbf,0x6, 0x58,0x7, 0x7c,0xae,0x7a,0xf1,0x1f,0x7f,0x6,
+0xb, 0xf0,0xbc,0x7f,0x38,0xd8,0xe5,0x1f,0xbe,0xb0,0xff,0x68,0x13,0x7e,0xf9,0xe0,
+0xe5,0x1f,0xa, 0xfb,0x2d,0xf2,0x7a,0xf9,0xe0,0xa, 0xf6,0x2d,0xf2,0x7a,0xf9,0xa0,
+0xb, 0x60,0xbc,0x76,0x38,0x98,0xda,0x3b,0x22,0x7c,0xab,0x9f,0x11,0x7a,0x1f,0x5,
+0x30,0x74,0xb, 0x7a,0xb3,0x6, 0xf, 0x74,0x2, 0x7a,0xb3,0x6, 0x44,0x7a,0xb3,0x6,
+0x43,0x74,0xf, 0x7a,0xb3,0x6, 0x45,0x74,0x2, 0x7a,0xb3,0x6, 0x47,0x7a,0xb3,0x6,
+0x46,0x74,0xf, 0x7a,0xb3,0x6, 0x48,0x7e,0x34,0x0, 0x32,0x7a,0x37,0x5, 0xec,0x12,
+0x41,0x12,0x74,0xa, 0x7a,0xb3,0x6, 0x10,0x7e,0xb3,0x6, 0x67,0x44,0x40,0x7a,0xb3,
+0x6, 0x67,0x54,0x7f,0x7a,0xb3,0x6, 0x67,0x5e,0xa0,0x7f,0xbe,0xa0,0x1, 0x68,0x7,
+0xbe,0xa0,0x2, 0x78,0x2, 0x80,0x0, 0x12,0x41,0x12,0x7e,0xa3,0x6, 0x67,0x7c,0xba,
+0x30,0xe0,0x12,0x74,0x1, 0x7a,0xb3,0x6, 0x11,0x74,0x3, 0x7a,0xb3,0x6, 0x12,0x7a,
+0xb3,0x6, 0x13,0x80,0xe, 0x74,0x1, 0x7a,0xb3,0x6, 0x12,0x7a,0xb3,0x6, 0x13,0x7a,
+0xb3,0x6, 0x11,0x74,0xa, 0x7a,0xb3,0x6, 0x66,0x7a,0xb3,0x6, 0x14,0x7e,0x24,0x2a,
+0xf8,0x7a,0x27,0x5, 0xf0,0x7c,0xba,0x54,0xfd,0x7a,0xb3,0x6, 0x67,0x7e,0x24,0xfc,
+0xe0,0x7a,0x27,0x5, 0xee,0x12,0x41,0x35,0x7a,0x37,0x5, 0xf2,0x7e,0x34,0x5, 0xdc,
+0x7a,0x37,0x5, 0xf4,0x7e,0x34,0xf, 0xa0,0x7a,0x37,0x5, 0xf6,0x7e,0xb3,0x6, 0x67,
+0x54,0xf7,0x7a,0xb3,0x6, 0x67,0x54,0xef,0x7a,0xb3,0x6, 0x67,0x7e,0x34,0x0, 0xc7,
+0x7a,0x37,0x5, 0xf8,0x7e,0x34,0x0, 0xa0,0x7a,0x37,0x5, 0xfa,0xe4,0x7a,0xb3,0x6,
+0x49,0x7a,0xb3,0x6, 0x4a,0x7a,0x37,0x6, 0x4b,0x7e,0x34,0x0, 0x31,0x7a,0x37,0x5,
+0xfc,0x7e,0x34,0x1, 0x5c,0x7a,0x37,0x5, 0xfe,0x12,0x41,0x1d,0x7e,0x34,0x0, 0x8,
+0x7a,0x37,0x6, 0x2, 0x7e,0x34,0x0, 0x7, 0x7a,0x37,0x6, 0x0, 0x7e,0x34,0x0, 0x1a,
+0x7a,0x37,0x6, 0x4, 0x7e,0x34,0x6, 0x65,0x7a,0x37,0x6, 0x6, 0x7e,0x34,0x22,0x98,
+0x7a,0x37,0x6, 0x8, 0x7e,0x34,0x20,0x4, 0x7a,0x37,0x6, 0xc, 0x7e,0x34,0x20,0x51,
+0x7a,0x37,0x6, 0xa, 0xe4,0x7a,0xb3,0x6, 0x4d,0x7e,0x34,0xa, 0xd1,0x7a,0x37,0x6,
+0x4e,0x22,0x7e,0xb3,0x6, 0x67,0x54,0xfe,0x7a,0xb3,0x6, 0x67,0x22,0x7e,0xb3,0x6,
+0x67,0x54,0xdf,0x7a,0xb3,0x6, 0x67,0x22,0x7e,0xb3,0x6, 0x67,0x44,0x4, 0x7a,0xb3,
+0x6, 0x67,0x12,0x15,0x1d,0x7e,0xb3,0x6, 0x67,0x54,0xfb,0x7a,0xb3,0x6, 0x67,0x22,
+0xca,0x3b,0x7e,0x48,0x75,0x30,0x7f,0x74,0x9f,0x55,0x7f,0x5, 0x6c,0x77,0x7e,0xa0,
+0x1, 0x6c,0x66,0x7e,0x50,0x2, 0xac,0x56,0x49,0x72,0x5, 0x34,0x6d,0x66,0x7e,0x50,
+0x4, 0xac,0x56,0x49,0xd2,0x3, 0x5e,0x49,0xc2,0x3, 0x5c,0x2f,0x63,0xbf,0x76,0x8,
+0x2, 0x7f,0x76,0xbf,0x6, 0x58,0x2, 0x7f,0x6, 0xb, 0x60,0xa5,0xbe,0x16,0xd4,0x7f,
+0x30,0x9f,0x37,0xbe,0x38,0x4, 0xb0,0x58,0x3, 0x7e,0x70,0x1, 0x7f,0x74,0x7f,0x5,
+0x6c,0x66,0x7e,0x50,0x2, 0xac,0x56,0x49,0xd2,0x5, 0x34,0x6d,0xcc,0xbf,0x76,0x8,
+0x2, 0x7f,0x76,0xbf,0x6, 0x58,0x2, 0x7f,0x6, 0xb, 0x60,0xa5,0xbe,0x16,0xe3,0x9f,
+0x7, 0xbe,0x8, 0x4, 0xb0,0x8, 0x2, 0x6c,0xaa,0x4c,0x77,0x68,0x8, 0x4c,0xaa,0x78,
+0x4, 0x74,0x1, 0x80,0x1, 0xe4,0xda,0x3b,0x22,0xca,0x3b,0x7c,0xcb,0x6c,0xaa,0xe5,
+0x9, 0x70,0xa, 0xe5,0x1c,0x70,0x6, 0xe5,0x11,0x70,0x2, 0x61,0x33,0x20,0x7, 0x6,
+0x7e,0x74,0xc, 0xac,0x80,0x4, 0x7e,0x74,0xc, 0xbe,0x6c,0xdd,0x7e,0x70,0xff,0xa,
+0x2d,0x2d,0x27,0x7a,0x29,0x70,0xb, 0xd0,0xbe,0xd0,0x12,0x78,0xf2,0x74,0xaa,0x7a,
+0x79,0xb0,0x19,0xb7,0x0, 0x1, 0x74,0x12,0x19,0xb7,0x0, 0x2, 0x7e,0xb3,0x2, 0xca,
+0x19,0xb7,0x0, 0x4, 0x6c,0x77,0x6c,0xdd,0x7e,0x10,0x5, 0xac,0x1d,0x9, 0x60,0x2,
+0xba,0xbe,0x60,0xff,0x78,0x2, 0x41,0xbc,0xa, 0x16,0x9, 0xb1,0x3, 0x4e,0xbe,0xb0,
+0x3, 0x78,0x2, 0x41,0xbc,0x49,0x40,0x2, 0xb6,0x2e,0x44,0x0, 0x3, 0x49,0x20,0x2,
+0xb8,0x2e,0x24,0x0, 0x3, 0xa, 0x8, 0x12,0x43,0x4c,0x19,0x60,0x0, 0x5, 0x7c,0x69,
+0xa, 0x7, 0x2d,0x7, 0x19,0x60,0x0, 0x6, 0xa, 0x4, 0x12,0x43,0x4c,0x19,0x60,0x0,
+0x7, 0x7c,0x65,0xa, 0x7, 0x2d,0x7, 0x19,0x60,0x0, 0x8, 0xe4,0xa, 0x7, 0x2d,0x7,
+0x19,0xb0,0x0, 0x9, 0xa, 0x7, 0x2d,0x7, 0x19,0xb0,0x0, 0xa, 0x12,0x43,0x42,0xc4,
+0x54,0xf0,0xa, 0x7, 0x2d,0x7, 0x2e,0x4, 0x0, 0x7, 0x7e,0x9, 0x60,0x2c,0x6b,0x7a,
+0x9, 0x60,0x12,0x43,0x42,0xbe,0xb0,0xff,0x68,0x1f,0x12,0x3e,0x1d,0x68,0x2, 0xb,
+0xa0,0x9, 0xb1,0x3, 0x4e,0x3, 0x3, 0x54,0xc0,0xa, 0x17,0x2d,0x17,0x2e,0x14,0x0,
+0x5, 0x7e,0x19,0x60,0x2c,0x6b,0x7a,0x19,0x60,0x2e,0x70,0x6, 0xb, 0xd0,0xbe,0xd0,
+0x2, 0x68,0x2, 0x41,0x18,0x19,0xa7,0x0, 0x3, 0xe4,0x19,0xb7,0x0, 0x11,0x6c,0xdd,
+0xa, 0x3d,0x2d,0x37,0x7e,0x39,0x60,0x7d,0x27,0x2e,0x24,0x0, 0x11,0x7e,0x29,0x70,
+0x6c,0x76,0x7a,0x29,0x70,0xb, 0xd0,0xbe,0xd0,0x11,0x78,0xe4,0x30,0x7, 0x4, 0xc2,
+0x7, 0x80,0x2, 0xd2,0x7, 0xe5,0x1c,0x60,0x3, 0x12,0x3e,0x73,0x75,0x9, 0x0, 0x75,
+0x1c,0x0, 0x75,0x11,0x0, 0x7e,0xb3,0xb, 0xb3,0xb4,0x1, 0x14,0x12,0x2f,0x3c,0x68,
+0x26,0xe5,0x4f,0xb4,0x1, 0xf, 0x74,0x1, 0x12,0x43,0x3a,0x75,0x4f,0x0, 0x80,0x5,
+0x74,0x1, 0x12,0x43,0x3a,0x7e,0x34,0x0, 0x9, 0x12,0x43,0x57,0xbe,0xc0,0x1, 0x78,
+0x6, 0x80,0x0, 0xe4,0x12,0x43,0x3a,0xda,0x3b,0x22,0x70,0x3, 0xd2,0x86,0x22,0xc2,
+0x86,0x22,0x7e,0x10,0x5, 0xac,0x1d,0x9, 0xb0,0x2, 0xba,0x22,0x5e,0x4, 0x0, 0xf,
+0x7c,0x61,0xa, 0x7, 0x2d,0x7, 0x22,0x7e,0x24,0x0, 0x14,0xad,0x32,0x80,0x3, 0x0,
+0x0, 0x0, 0x7d,0x23,0x1b,0x34,0x4d,0x22,0x78,0xf5,0x22,0x30,0x0, 0x44,0xc2,0x6,
+0xe4,0x7a,0xb3,0x3, 0x48,0x30,0x1, 0x1c,0x80,0x3, 0x30,0x0, 0x9, 0xa9,0x21,0x94,
+0xf9,0x80,0x3, 0x30,0x0, 0x4, 0xa9,0x31,0x94,0xf9,0x30,0x0, 0x1e,0x80,0x15,0x80,
+0x3, 0x30,0x0, 0x9, 0xa9,0x31,0x94,0xf9,0x80,0x3, 0x30,0x0, 0x4, 0xa9,0x21,0x94,
+0xf9,0x30,0x0, 0x7, 0xd2,0x6, 0xe4,0x7a,0xb3,0x2, 0xcf,0x7e,0x37,0x2, 0xcd,0x2,
+0x43,0x57,0x22,0xca,0xf8,0x7c,0xfb,0x74,0x16,0x7a,0xb3,0x6, 0xc6,0xe4,0x7a,0xb3,
+0x6, 0xc7,0x74,0x16,0x7a,0xb3,0x6, 0xc8,0x74,0x30,0x7a,0xb3,0x6, 0xd4,0x7e,0xb3,
+0x6, 0xcb,0x54,0xbf,0x7a,0xb3,0x6, 0xcb,0x54,0x7f,0x7a,0xb3,0x6, 0xcb,0x54,0xf9,
+0x7a,0xb3,0x6, 0xcb,0x7e,0xb3,0x6, 0xca,0x54,0xbf,0x7a,0xb3,0x6, 0xca,0x7e,0xb3,
+0x6, 0xd7,0x44,0x4, 0x7a,0xb3,0x6, 0xd7,0x74,0x15,0x7a,0xb3,0x6, 0xd5,0x7e,0xb3,
+0x6, 0xca,0x54,0x7f,0x7a,0xb3,0x6, 0xca,0x7e,0xb3,0x6, 0xcb,0x54,0xfe,0x7a,0xb3,
+0x6, 0xcb,0x7e,0x34,0x4, 0xc5,0x7e,0x24,0x6, 0x68,0x74,0x16,0x7e,0x30,0x97,0x12,
+0x45,0xb, 0x6c,0x77,0x80,0x8, 0xa, 0x27,0x19,0x72,0x6, 0x96,0xb, 0x70,0x7e,0x63,
+0x6, 0xc8,0xbc,0x67,0x38,0xf0,0x7e,0xb3,0x6, 0xc9,0x44,0x1, 0x7a,0xb3,0x6, 0xc9,
+0x5e,0xf0,0x7f,0xbe,0xf0,0x1, 0x78,0xe, 0x7e,0xb3,0x6, 0xc9,0x12,0x44,0xef,0x44,
+0x8, 0x12,0x44,0xfc,0x80,0x38,0xbe,0xf0,0x2, 0x7e,0xb3,0x6, 0xc9,0x78,0x8, 0x12,
+0x44,0xef,0x12,0x44,0xfc,0x80,0x27,0x44,0x6, 0x12,0x44,0xf1,0x44,0x18,0x7a,0xb3,
+0x6, 0xcb,0x7e,0x63,0x3, 0x35,0x5e,0x60,0x7, 0x7c,0xb6,0xc4,0x3, 0x54,0xf8,0x7c,
+0x6b,0x7e,0x73,0x6, 0xca,0x5e,0x70,0xc7,0x4c,0x76,0x7a,0x73,0x6, 0xca,0xe4,0x7a,
+0xb3,0x6, 0xd6,0x7e,0xb3,0x6, 0xca,0x54,0xfe,0x7a,0xb3,0x6, 0xca,0x44,0x6, 0x7a,
+0xb3,0x6, 0xca,0x7e,0x73,0x3, 0x38,0x7a,0x73,0x6, 0xcc,0x7e,0x73,0x3, 0x39,0x7a,
+0x73,0x6, 0xcd,0x7e,0x73,0x3, 0x36,0x7a,0x73,0x6, 0xce,0x7e,0x73,0x3, 0x3a,0x7a,
+0x73,0x6, 0xcf,0x7e,0x73,0x3, 0x3b,0x7a,0x73,0x6, 0xd0,0x7e,0x73,0x3, 0x37,0x7a,
+0x73,0x6, 0xd1,0x7e,0x73,0x3, 0x3c,0x7a,0x73,0x6, 0xd2,0x7e,0x73,0x3, 0x3d,0x7a,
+0x73,0x6, 0xd3,0x12,0x1f,0xe6,0x54,0xfd,0x7a,0xb3,0x6, 0xd7,0xda,0xf8,0x22,0x54,
+0xf9,0x7a,0xb3,0x6, 0xc9,0x7e,0xb3,0x6, 0xcb,0x54,0xc7,0x22,0x7a,0xb3,0x6, 0xcb,
+0x7e,0xb3,0x6, 0xca,0x54,0xc7,0x7a,0xb3,0x6, 0xca,0x22,0x7c,0x23,0x7c,0x3b,0x7d,
+0x43,0x7c,0xb2,0x24,0x6a,0xbe,0xb0,0x9, 0x40,0x2, 0xe1,0x77,0x7e,0xa0,0x3, 0xa4,
+0x90,0x45,0x24,0x73,0x2, 0x45,0x3f,0x2, 0x45,0xf4,0x2, 0x46,0x2a,0x2, 0x46,0x60,
+0x2, 0x47,0x41,0x2, 0x47,0x77,0x2, 0x46,0x96,0x2, 0x46,0xc6,0x2, 0x46,0xf6,0x6c,
+0x77,0xa1,0xed,0x12,0x47,0xa0,0xbe,0xb0,0x12,0x40,0x2, 0xa1,0xe8,0x7e,0xa0,0x3,
+0xa4,0x90,0x45,0x55,0x73,0x2, 0x45,0x8b,0x2, 0x45,0x90,0x2, 0x45,0x95,0x2, 0x45,
+0x9a,0x2, 0x45,0x9f,0x2, 0x45,0xa4,0x2, 0x45,0xa9,0x2, 0x45,0xae,0x2, 0x45,0xb3,
+0x2, 0x45,0xb8,0x2, 0x45,0xbd,0x2, 0x45,0xc2,0x2, 0x45,0xc7,0x2, 0x45,0xcc,0x2,
+0x45,0xd1,0x2, 0x45,0xd6,0x2, 0x45,0xdb,0x2, 0x45,0xe0,0x7e,0x20,0x4, 0x80,0x53,
+0x7e,0x20,0x6, 0x80,0x4e,0x7e,0x20,0x7, 0x80,0x49,0x7e,0x20,0x5, 0x80,0x44,0x7e,
+0x20,0xe, 0x80,0x3f,0x7e,0x20,0x8, 0x80,0x3a,0x7e,0x20,0xf, 0x80,0x35,0x7e,0x20,
+0x10,0x80,0x30,0x7e,0x20,0x11,0x80,0x2b,0x7e,0x20,0x12,0x80,0x26,0x7e,0x20,0x17,
+0x80,0x21,0x7e,0x20,0x1a,0x80,0x1c,0x7e,0x20,0x18,0x80,0x17,0x7e,0x20,0x1b,0x80,
+0x12,0x7e,0x20,0x21,0x80,0xd, 0x7e,0x20,0x20,0x80,0x8, 0x7e,0x20,0x1f,0x80,0x3,
+0x7e,0x20,0x19,0x12,0x47,0x90,0x80,0x3, 0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x28,
+0x2, 0xa1,0x43,0x22,0x6c,0x77,0x80,0x2d,0x12,0x47,0xa0,0xbe,0x60,0x7, 0x40,0x10,
+0xbe,0x60,0xe, 0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x13,0x12,0x47,0x8e,0x80,0x13,
+0xbe,0x60,0xf, 0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x29,0x12,0x47,0x8e,0x80,0x3,
+0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x2d,0x12,0x47,
+0xa0,0xbe,0x60,0x9, 0x40,0x10,0xbe,0x60,0x12,0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0x10,0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x13,0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0x23,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,
+0x6c,0x77,0x80,0x2d,0x12,0x47,0xa0,0xbe,0x60,0xd, 0x40,0x10,0xbe,0x60,0x18,0x38,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0xb, 0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x19,0x40,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x1b,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb,
+0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x27,0x12,0x47,0xa0,0xbe,0x60,0xe,
+0x40,0xa, 0xbe,0x60,0x19,0x38,0x5, 0x12,0x47,0x88,0x80,0x13,0xbe,0x60,0x1a,0x40,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x19,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb,
+0x70,0xbc,0x37,0x38,0xd5,0x22,0x6c,0x77,0x80,0x27,0x12,0x47,0xa0,0xbe,0x60,0xe,
+0x40,0xa, 0xbe,0x60,0x19,0x38,0x5, 0x12,0x47,0x88,0x80,0x13,0xbe,0x60,0x1a,0x40,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x18,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb,
+0x70,0xbc,0x37,0x38,0xd5,0x22,0x6c,0x77,0x80,0x42,0x12,0x47,0xa0,0xbe,0x60,0x0,
+0x40,0x10,0xbe,0x60,0xd, 0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x3, 0x12,0x47,0x8e,
+0x80,0x28,0xbe,0x60,0xe, 0x40,0x10,0xbe,0x60,0x1b,0x38,0xb, 0xa, 0x56,0x2e,0x54,
+0x0, 0x9, 0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x1c,0x40,0xb, 0xa, 0x56,0x2e,0x54,
+0x0, 0x15,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x38,0xba,
+0x22,0x6c,0x77,0x80,0x2d,0x12,0x47,0xa0,0xbe,0x60,0x11,0x40,0x10,0xbe,0x60,0x1e,
+0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x6, 0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x1f,
+0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x11,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,
+0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x8, 0x12,0x47,0xa0,0x12,0x47,
+0x98,0xb, 0x70,0xbc,0x37,0x38,0xf4,0x22,0xa, 0x56,0x2e,0x54,0x0, 0xa, 0x7c,0x2b,
+0x7d,0x50,0x2d,0x52,0x7a,0x59,0x20,0x22,0x7d,0x50,0x2d,0x52,0x7a,0x59,0x60,0x22,
+0xa, 0x7, 0x7d,0x50,0x2d,0x54,0x7a,0xb1,0x82,0x7a,0xa1,0x83,0xe4,0x93,0x7c,0x6b,
+0x22,0x7e,0x4, 0x0, 0x76,0x6d,0x11,0xe4,0x7a,0x9, 0xb0,0xb, 0x4, 0xb, 0x14,0xbe,
+0x14,0x0, 0x1c,0x78,0xf2,0x7e,0x4, 0x2, 0xb6,0x6d,0x11,0xe4,0x7a,0x9, 0xb0,0xb,
+0x4, 0xb, 0x14,0xbe,0x14,0x0, 0x17,0x78,0xf2,0x6d,0x11,0x12,0x4b,0x6e,0x2e,0x34,
+0x0, 0x7a,0x12,0x4b,0x6b,0x2e,0x34,0x2, 0xb6,0x12,0x4b,0x6b,0x2e,0x34,0x2, 0xc0,
+0x12,0x4b,0x59,0xb, 0x14,0xbe,0x14,0x0, 0x2, 0x40,0xe0,0x74,0x2, 0x7a,0xb3,0x0,
+0x68,0x74,0xa, 0x7a,0xb3,0x0, 0x69,0x7e,0x34,0x0, 0xc7,0x7a,0x37,0x0, 0x6a,0x7e,
+0x34,0x0, 0xc6,0x7a,0x37,0x0, 0x6c,0x7e,0x34,0x0, 0x31,0x7a,0x37,0x0, 0x70,0xc2,
+0x4, 0x75,0xd, 0x0, 0x75,0x1a,0x0, 0xc2,0x5, 0x75,0xb, 0x0, 0x12,0x48,0x45,0x7e,
+0x24,0x7, 0xd0,0x7a,0x27,0x0, 0x74,0x7a,0x37,0x0, 0x9c,0xe4,0x7a,0xb3,0x2, 0xd2,
+0x7a,0xb3,0xb, 0x37,0x22,0x6d,0x33,0x7a,0x37,0x2, 0xd0,0x22,0x12,0x48,0x45,0x7e,
+0x34,0x3, 0xe8,0x7a,0x37,0x0, 0x74,0x2, 0x48,0x5a,0x7e,0x34,0xb, 0x63,0x7e,0xb3,
+0xb, 0xc2,0x20,0xe0,0x2, 0x21,0x19,0x54,0xfe,0x7a,0xb3,0xb, 0xc2,0x7e,0x39,0x50,
+0x7a,0x53,0x3, 0x4b,0x12,0x49,0x1a,0x3e,0x24,0x3e,0x24,0x7a,0x27,0x3, 0x49,0xbe,
+0x24,0x2, 0x26,0x50,0x8, 0x7e,0x24,0x2, 0x26,0x7a,0x27,0x3, 0x49,0x9, 0x53,0x0,
+0x5, 0x7a,0x53,0x0, 0xa0,0x12,0x49,0x1a,0x7a,0x27,0x0, 0x9e,0x9, 0x53,0x0, 0x25,
+0xa, 0x25,0x7a,0x27,0x0, 0x92,0x9, 0x53,0x0, 0x6, 0x7a,0x53,0x0, 0x94,0x9, 0x53,
+0x0, 0x8, 0x7a,0x53,0x0, 0x96,0xbe,0x50,0xf, 0x40,0x6, 0x74,0xe, 0x19,0xb3,0x0,
+0x8, 0x9, 0x53,0x0, 0x8, 0xa, 0x25,0x2e,0x24,0x4, 0xfb,0x7a,0x51,0x82,0x7a,0x41,
+0x83,0xe4,0x93,0x7a,0xb3,0x0, 0x95,0x9, 0x53,0x0, 0x9, 0x7a,0x53,0x0, 0x98,0x7a,
+0x53,0x0, 0x97,0x9, 0x53,0x0, 0x24,0x7a,0x53,0x0, 0x9a,0x9, 0x53,0x0, 0x2d,0x7a,
+0x53,0xd, 0x3f,0x9, 0xb3,0x0, 0x2e,0x7a,0xb3,0x3, 0x34,0xb4,0x1, 0x5, 0xe4,0x7a,
+0xb3,0x3, 0x34,0x7e,0xa3,0xb, 0xb3,0xbe,0xa3,0x0, 0xa1,0x68,0xc, 0x4c,0xaa,0x74,
+0x5, 0x7a,0xb3,0x0, 0x99,0x7a,0xa3,0x0, 0xa1,0x22,0xa, 0x25,0x3e,0x24,0x3e,0x24,
+0x3e,0x24,0x3e,0x24,0x22,0x12,0x49,0xe0,0x12,0x49,0xa1,0x12,0x37,0xd1,0x12,0x4a,
+0xa4,0x12,0x4a,0xf0,0x74,0x1, 0x7a,0xb3,0xb, 0x9f,0x7e,0xb3,0xb, 0x9f,0x24,0xfd,
+0x68,0x11,0x24,0xae,0x68,0x32,0x24,0xab,0x68,0xe, 0x24,0xa9,0x78,0xec,0x12,0x11,
+0x6d,0x80,0xe7,0x12,0x1f,0xe, 0x80,0xe2,0x12,0x48,0x45,0x7e,0x24,0x1, 0xf4,0x7a,
+0x27,0x0, 0x74,0x7e,0xb3,0x2, 0xd2,0xbe,0xb0,0xaa,0x68,0xce,0x7a,0x37,0x0, 0x9c,
+0x74,0xaa,0x7a,0xb3,0x2, 0xd2,0x80,0xc2,0x12,0x48,0x45,0x7e,0x34,0x1, 0xf4,0x7a,
+0x37,0x0, 0x74,0x7e,0xb3,0x2, 0xd2,0xb4,0xaa,0xb0,0x74,0x55,0x7a,0xb3,0x2, 0xd2,
+0x7e,0x74,0x3, 0xe8,0x7d,0x37,0x1b,0x74,0x4d,0x33,0x78,0xf8,0x75,0xe9,0xff,0x80,
+0x99,0x12,0x49,0xc9,0x12,0x0, 0x17,0x12,0x49,0xef,0xc2,0x0, 0xc2,0x2, 0x22,0xc2,
+0x8e,0xe5,0x89,0x54,0xf, 0x44,0x20,0xf5,0x89,0x75,0x8d,0x1, 0x75,0x8b,0x0, 0xd2,
+0x8e,0xd2,0xab,0xa9,0xc3,0xb7,0xd2,0xbb,0x22,0xe4,0x12,0x4a,0x69,0x12,0x4a,0x30,
+0x12,0x4a,0x3c,0x74,0x1, 0x2, 0x49,0xd8,0x70,0x3, 0xc2,0xaf,0x22,0xd2,0xaf,0x22,
+0x6d,0x33,0x7a,0x37,0x2, 0xd0,0x7e,0x34,0x7, 0xd0,0x7a,0x37,0x0, 0x74,0x22,0x7e,
+0x18,0x0, 0x54,0x74,0xf, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0x8, 0x3, 0xe8,0x12,0x4,
+0x59,0xbe,0x18,0xf, 0xff,0x28,0x4, 0x7e,0x18,0xf, 0xff,0xd2,0xc8,0xa9,0xc0,0xcd,
+0xc2,0xaf,0xa9,0xd0,0x9e,0x7c,0xb6,0xf5,0x9d,0xa9,0xd0,0x9e,0x7c,0xb7,0xf5,0x9c,
+0x12,0x4a,0x28,0xc2,0xa8,0xd2,0xaf,0x22,0xc2,0x88,0xd2,0xb8,0xa9,0xd0,0xb7,0x22,
+0x75,0xeb,0x3, 0xa9,0xd6,0xac,0xa9,0xd6,0xec,0xd2,0x86,0x22,0xa9,0xd1,0x99,0x75,
+0x9a,0xfe,0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0xa9,0xd6,0xeb,0x70,0xf, 0xa9,0xc6,0xac,
+0xa9,0xc6,0xec,0xa9,0xd7,0xcd,0xc2,0x96,0xc2,0x95,0x80,0x7, 0xa9,0xd4,0xcd,0xd2,
+0x96,0xd2,0x95,0x12,0x4a,0x28,0xd2,0xa8,0x22,0xd2,0xcf,0xbe,0xb0,0x7, 0x38,0x4,
+0x7c,0xab,0x80,0x2, 0x6c,0xaa,0x43,0xcb,0x8e,0x4e,0xa0,0x30,0x7a,0xa1,0xcc,0x0,
+0x0, 0x0, 0x0, 0xa9,0xd0,0xca,0xa9,0xc5,0xcb,0x53,0xca,0xf1,0x43,0xca,0xe, 0x75,
+0xcf,0x4, 0xc2,0xcc,0xd2,0xcb,0xc2,0xca,0xc2,0xc9,0xc2,0xc8,0xa9,0xc6,0xcb,0x0,
+0x0, 0x0, 0x0, 0x22,0xe4,0x7a,0xb3,0x3, 0x34,0x74,0x1, 0x7a,0xb3,0x3, 0x42,0x74,
+0x7, 0x7a,0xb3,0x3, 0x41,0x74,0xf, 0x7a,0xb3,0x3, 0x38,0x7a,0xb3,0x3, 0x39,0x74,
+0x3f,0x7a,0xb3,0x3, 0x36,0x74,0x12,0x7a,0xb3,0x3, 0x3a,0x7a,0xb3,0x3, 0x3b,0x74,
+0x3f,0x7a,0xb3,0x3, 0x37,0x74,0x10,0x7a,0xb3,0x3, 0x3c,0x7a,0xb3,0x3, 0x3d,0x74,
+0x5, 0x7a,0xb3,0x3, 0x35,0x74,0x3, 0x7a,0xb3,0x3, 0x40,0x7a,0xb3,0x3, 0x3f,0x22,
+0x6d,0x22,0x7a,0x27,0xc, 0x7c,0x7e,0x34,0x1, 0x8e,0x7a,0x37,0xc, 0x7e,0x7a,0x27,
+0xc, 0x80,0x7a,0x37,0xc, 0x82,0x7e,0x14,0x0, 0x84,0x7a,0x17,0xc, 0x85,0x7e,0x14,
+0x0, 0xc7,0x7a,0x17,0xc, 0x87,0x74,0x64,0x7a,0xb3,0xc, 0x84,0x7e,0x14,0x0, 0x96,
+0x7a,0x17,0xc, 0x89,0x7a,0x27,0xc, 0xa0,0x7a,0x37,0xc, 0xa2,0x7a,0x27,0xc, 0xa4,
+0x7a,0x37,0xc, 0xa6,0x74,0x50,0x7a,0xb3,0xc, 0x9e,0x74,0x1e,0x7a,0xb3,0xc, 0x9f,
+0x74,0x3, 0x7a,0xb3,0xc, 0xa8,0x74,0x32,0x7a,0xb3,0xc, 0xa9,0x74,0xf, 0x7a,0xb3,
+0xc, 0xaa,0x74,0x50,0x7a,0xb3,0xc, 0xab,0x22,0x7e,0x24,0x7f,0xff,0x1b,0x38,0x20,
+0x59,0x23,0x0, 0x2, 0x74,0xff,0x19,0xb3,0x0, 0x4, 0x22,0x12,0x4b,0x59,0x7e,0x34,
+0x0, 0x5, 0xad,0x31,0x22,0xbe,0xb0,0x5e,0x38,0x2e,0xbe,0xb0,0x26,0x68,0x29,0xbe,
+0xb0,0x2f,0x68,0x24,0xbe,0xb0,0x23,0x68,0x1f,0xbe,0xb0,0x28,0x68,0x1a,0xbe,0xb0,
+0x21,0x68,0x15,0xbe,0xb0,0x22,0x68,0x10,0xa, 0x2b,0x19,0x72,0xb, 0x63,0x7e,0xb3,
+0xb, 0xc2,0x44,0x1, 0x7a,0xb3,0xb, 0xc2,0x22,0xca,0x79,0x7c,0x6b,0x24,0x0, 0x78,
+0x75,0x7e,0x74,0xc, 0xd6,0x7a,0x79,0x70,0x5e,0x70,0x70,0x7c,0xb7,0xc4,0x54,0xf,
+0x7c,0x7b,0xbe,0x70,0x4, 0x68,0x47,0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x20,0xa5,0xbf,
+0x1, 0x6, 0x74,0x2, 0x6c,0x77,0x80,0x5c,0xa5,0xbf,0x0, 0x7, 0x74,0x2, 0x7e,0x70,
+0x1, 0x80,0x51,0xa5,0xbf,0x3, 0x68,0x74,0x2, 0x7e,0x70,0x4, 0x80,0x46,0xa5,0xbf,
+0x1, 0x6, 0x74,0x3c,0x6c,0x77,0x80,0x29,0xa5,0xbf,0x4, 0x7, 0x74,0x3c,0x7e,0x70,
+0x3, 0x80,0x1e,0xa5,0xbf,0x3, 0x48,0x74,0x3c,0x7e,0x70,0x4, 0x80,0x13,0x7e,0xb3,
+0xb, 0x9f,0xb4,0x3, 0x7, 0x74,0x2, 0x7e,0x70,0x3, 0x80,0x18,0x74,0x3c,0x7e,0x70,
+0x3, 0x12,0x4b,0x75,0x80,0x29,0xbe,0x60,0xa, 0x50,0xe, 0x7e,0xb3,0xb, 0x9f,0xb4,
+0x3, 0x1d,0x7c,0xb6,0x12,0x35,0x35,0x80,0x16,0xbe,0x60,0xa, 0x40,0x11,0xbe,0x60,
+0xaf,0x38,0xc, 0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x5, 0x7c,0xb6,0x12,0x35,0x47,0xda,
+0x79,0x22,0x74,0x17,0x7a,0xb3,0xb, 0x63,0x74,0xa0,0x7a,0xb3,0xb, 0x68,0xe4,0x7a,
+0xb3,0xb, 0x69,0x74,0x5, 0x7a,0xb3,0xb, 0x6a,0x74,0xe, 0x7a,0xb3,0xb, 0x6b,0x74,
+0x5a,0x7a,0xb3,0xb, 0x6c,0x74,0xe, 0x7a,0xb3,0xb, 0x86,0x74,0x1, 0x7a,0xb3,0xb,
+0x87,0xe4,0x7a,0xb3,0xb, 0x88,0x74,0x1, 0x7a,0xb3,0xb, 0x89,0x7a,0xb3,0xb, 0x9f,
+0x74,0xa3,0x7a,0xb3,0xb, 0x8b,0xe4,0x7a,0xb3,0xb, 0x8c,0x74,0x2, 0x7a,0xb3,0xb,
+0x92,0xe4,0x7a,0xb3,0xb, 0x91,0x7a,0xb3,0xb, 0x90,0x7a,0xb3,0xd, 0x3f,0x7a,0xb3,
+0xb, 0xb3,0x74,0x3f,0x7a,0xb3,0xb, 0xb4,0xe4,0x7a,0xb3,0xb, 0x93,0x7a,0xb3,0xb,
+0x9e,0x7a,0xb3,0xb, 0x79,0x7e,0x34,0x5, 0xdc,0x7a,0x37,0x3, 0x49,0x74,0x17,0x7a,
+0xb3,0x3, 0x4b,0x12,0x4d,0x11,0x12,0x4d,0x9, 0x7a,0xb3,0x0, 0x94,0x74,0x7, 0x7a,
+0xb3,0x0, 0x95,0x74,0xe, 0x7a,0xb3,0x0, 0x96,0x74,0x5a,0x7a,0xb3,0x0, 0x97,0x7a,
+0xb3,0x0, 0x98,0x74,0x5, 0x7a,0xb3,0x0, 0x99,0x74,0x1, 0x7a,0xb3,0x0, 0x9a,0xe4,
+0x7a,0xb3,0x0, 0x9b,0x7a,0xb3,0x0, 0xa1,0x22,0x6d,0x33,0x7a,0x37,0x0, 0x92,0xe4,
+0x22,0x7e,0x34,0xa, 0x0, 0x7a,0x37,0x0, 0x9e,0x74,0xa0,0x7a,0xb3,0x0, 0xa0,0x22,
+0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,0xca,0x1b,0xca,0xb, 0xc0,0xd0,
+0xc0,0x83,0xc0,0x82,0x12,0x33,0x29,0x74,0x1, 0x7a,0xb3,0xc, 0xd1,0xd0,0x82,0xd0,
+0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,
+0x7b,0x32,0xca,0xb8,0xa9,0xc0,0x93,0xe4,0x7a,0xb3,0xc, 0xd0,0x7a,0xb3,0xc, 0xd2,
+0xda,0xb8,0x32,0x6c,0xaa,0x74,0xff,0xa, 0x4a,0x19,0xb4,0xc, 0xac,0x19,0xb4,0xc,
+0xbe,0xb, 0xa0,0xbe,0xa0,0x12,0x40,0xed,0x22,0xa9,0xd5,0xea,0xa9,0xc4,0xcb,0x75,
+0xa6,0x0, 0xa9,0xc1,0xcd,0x22,0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,
+0xca,0x1b,0xca,0xb, 0xc0,0xd0,0xc0,0x83,0xc0,0x82,0x12,0x4d,0xd1,0x7e,0xb3,0xc,
+0xd6,0x54,0xfd,0x7a,0xb3,0xc, 0xd6,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xd2,
+0xaf,0xc2,0x95,0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,0x4d,0x79,0xd0,0x82,0xd0,0x83,
+0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,0x7b,
+0x32,0xe5,0x9a,0x60,0x5, 0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0xa9,0xd4,0xcb,0x75,0xa6,
+0x10,0xa9,0xd1,0xcd,0xa9,0xc5,0xea,0x22,0xd2,0xce,0x75,0x92,0x70,0xd2,0xad,0xd2,
+0xe8,0xc2,0xc0,0xa9,0xd0,0xf7,0xd2,0xf8,0xa9,0xd5,0xb7,0xd2,0xbd,0x22,0xca,0x7b,
+0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,0xca,0x1b,0xca,0xb, 0xc0,0xd0,0xc0,0x83,
+0xc0,0x82,0x7e,0x35,0x1d,0xb, 0x34,0x7a,0x35,0x1d,0x7e,0x4, 0x0, 0xa, 0x7d,0x13,
+0x8d,0x10,0x4d,0x0, 0x78,0x38,0x7e,0xb3,0x9, 0x6b,0xbe,0xb0,0x0, 0x28,0x5, 0x14,
+0x7a,0xb3,0x9, 0x6b,0x7e,0xb3,0xd, 0x2c,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,
+0xd, 0x2c,0x7e,0xb3,0xd, 0x35,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x35,
+0x7e,0xb3,0xd, 0x2b,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x2b,0x7e,0xb3,
+0x6, 0xda,0x60,0x5, 0x14,0x7a,0xb3,0x6, 0xda,0xbe,0x34,0x3, 0xe8,0x40,0xe, 0x6d,
+0x33,0x7a,0x35,0x1d,0xe5,0xb, 0xbe,0xb0,0x64,0x50,0x2, 0x5, 0xb, 0x7e,0x37,0x2,
+0xd0,0xb, 0x34,0x7a,0x37,0x2, 0xd0,0x7e,0x37,0x0, 0x74,0xbe,0x37,0x2, 0xd0,0x28,
+0x3, 0x12,0x0, 0x27,0x7e,0xb3,0xb, 0x9f,0xb4,0xaa,0x18,0x7e,0x37,0x0, 0x9c,0x7d,
+0x23,0xb, 0x24,0x7a,0x27,0x0, 0x9c,0xbe,0x34,0x1, 0x2c,0x28,0x6, 0x74,0x1, 0x7a,
+0xb3,0xb, 0x9f,0xe5,0x1a,0xbe,0xb1,0xd, 0x28,0x4, 0x5, 0xd, 0x80,0x2, 0xd2,0x5,
+0x7e,0xb3,0xc, 0xd1,0x60,0xf, 0xbe,0xb0,0x28,0x50,0x7, 0x4, 0x7a,0xb3,0xc, 0xd1,
+0x80,0x3, 0x12,0x34,0xf5,0xd0,0x82,0xd0,0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,
+0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,0x7b,0x32,0x53,0xc8,0xc1,0x53,0xcb,0x10,
+0x22,0x7e,0x73,0x6, 0xc6,0xa, 0x37,0x1e,0x34,0x7a,0x73,0xd, 0x3d,0xa, 0x37,0x1e,
+0x34,0x7a,0x73,0xd, 0x3e,0x22,0xd2,0xc9,0xa, 0x56,0xf5,0xf1,0x7c,0xb7,0xf5,0xf2,
+0x75,0xf3,0x80,0x75,0xf4,0x0, 0x75,0xf5,0x83,0xa9,0x37,0xf5,0xfc,0xa9,0x36,0xf5,
+0xfc,0xe5,0xf6,0x43,0xfa,0x80,0xc2,0xc9,0x22,0x7e,0x24,0x12,0xa, 0xb, 0x28,0x30,
+0x5e,0x70,0xf, 0x1b,0x28,0x30,0xb, 0x28,0x30,0x4e,0x70,0x80,0x1b,0x28,0x30,0x7e,
+0xb3,0x6, 0xcb,0xc4,0x23,0x7c,0x7b,0x5e,0x70,0x7, 0xa5,0xbf,0x0, 0x5, 0x7e,0xa0,
+0x2, 0x80,0x32,0xa5,0xbf,0x1, 0x13,0x7e,0xb3,0x6, 0xc9,0x1e,0xb0,0x54,0x3, 0x68,
+0x4, 0x6c,0xaa,0x80,0x20,0x7e,0xa0,0x3, 0x80,0x1b,0xa5,0xbf,0x3, 0x5, 0x7e,0xa0,
+0x6, 0x80,0x12,0x7e,0xb3,0x6, 0xc9,0x1e,0xb0,0x54,0x3, 0x68,0x5, 0x7e,0xa0,0x1,
+0x80,0x3, 0x7e,0xa0,0x5, 0xa, 0x1a,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x2,
+0x37,0x1a,0x7e,0x24,0x12,0x2, 0xb, 0x28,0x30,0x5e,0x60,0xc0,0x1b,0x28,0x30,0x7e,
+0x73,0x6, 0xc8,0x7c,0x27,0x6c,0x33,0x12,0x37,0x1a,0x6c,0x11,0x80,0xb, 0xa, 0x31,
+0x9, 0x3, 0x6, 0x68,0xa, 0x20,0x12,0x5b,0x77,0x7e,0x3, 0x6, 0xc8,0xbc,0x1, 0x38,
+0xed,0x7c,0x10,0x80,0x9, 0x7e,0x24,0x0, 0x3f,0xa, 0x31,0x12,0x5b,0x77,0xbe,0x10,
+0x2e,0x40,0xf2,0x6d,0x22,0x7e,0x34,0x13,0x16,0x1b,0x38,0x20,0x7e,0x34,0x13,0x18,
+0x1b,0x38,0x20,0x7e,0x34,0x13,0x1a,0x1b,0x38,0x20,0x7e,0x34,0x13,0x1c,0x1b,0x38,
+0x20,0x6c,0x11,0x80,0xd, 0xa, 0x31,0x9, 0x3, 0x6, 0x68,0x7c,0xb0,0x12,0x50,0x19,
+0xb, 0x10,0x7e,0x73,0x6, 0xc8,0xbc,0x71,0x38,0xeb,0x7e,0xb3,0x6, 0xd7,0x30,0xe2,
+0x7, 0x7e,0xb3,0x6, 0xd5,0x2, 0x50,0x19,0x22,0x7c,0x7b,0xc4,0x54,0xf, 0x7c,0xab,
+0xa, 0x37,0x7e,0x24,0x0, 0x10,0x12,0x3, 0xba,0x7c,0x75,0x7e,0x14,0x0, 0x1, 0x7c,
+0xb7,0x60,0x5, 0x3e,0x14,0x14,0x78,0xfb,0xa, 0x2a,0x3e,0x24,0x2e,0x24,0x13,0x16,
+0x2, 0x37,0x1a,0xca,0x1b,0xca,0x19,0xc2,0xee,0xc2,0xc6,0x30,0xb, 0x6, 0x7e,0x34,
+0x0, 0x1, 0x80,0x4, 0x7e,0x34,0x0, 0x2, 0x7e,0x14,0x12,0x6, 0xb, 0x18,0x20,0x5d,
+0x23,0x68,0x7, 0x6d,0x22,0x1b,0x18,0x20,0xd2,0xa, 0xd2,0xee,0xda,0x19,0xda,0x1b,
+0x32,0x7e,0xb3,0x6, 0xd7,0x20,0xe1,0x62,0x12,0x50,0xdb,0x80,0x55,0xa, 0x2a,0x9,
+0x52,0x6, 0x96,0x7e,0x90,0x4, 0xac,0x95,0x49,0x14,0x3, 0x5e,0x49,0x4, 0x3, 0x5c,
+0xbe,0x8, 0x3a,0xc0,0x8, 0x20,0x7e,0xb3,0xc, 0x1f,0x7e,0x44,0x0, 0x1, 0x60,0x5,
+0x3e,0x44,0x14,0x78,0xfb,0x7e,0x10,0x2, 0xac,0x15,0x2e,0x4, 0xb, 0xc3,0xb, 0x8,
+0x10,0x4d,0x14,0x1b,0x8, 0x10,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x51,0x34,0x60,
+0xf, 0x7e,0x30,0x2, 0xac,0x35,0x49,0x1, 0xb, 0xc3,0x12,0x51,0x2c,0x1b,0x18,0x0,
+0xb, 0xa0,0x7e,0x43,0x6, 0xc8,0xbc,0x4a,0x38,0xa3,0x22,0x7e,0x37,0x6, 0xd8,0x6c,
+0xaa,0x22,0x7e,0xb3,0x6, 0xd7,0x20,0xe1,0x42,0x12,0x50,0xdb,0x80,0x35,0xa, 0x2a,
+0x9, 0x52,0x6, 0x96,0x12,0x51,0x2c,0xb, 0x18,0x40,0x7e,0xb3,0xc, 0x1f,0x7e,0x14,
+0x0, 0x1, 0x60,0x5, 0x3e,0x14,0x14,0x78,0xfb,0x4d,0x41,0x7e,0xb3,0x6, 0x4d,0x60,
+0x5, 0x12,0x51,0x34,0x60,0xb, 0xa, 0x1a,0x3e,0x14,0x2e,0x14,0x12,0x14,0x1b,0x18,
+0x40,0xb, 0xa0,0x7e,0x43,0x6, 0xc8,0xbc,0x4a,0x38,0xc3,0x22,0x7e,0x30,0x2, 0xac,
+0x35,0x2d,0x13,0x22,0xa, 0x15,0x2e,0x17,0x6, 0x4e,0x7e,0x19,0xb0,0x22,0xca,0x3b,
+0x12,0xe, 0xaf,0x7c,0xeb,0x4c,0xee,0x78,0x2, 0x61,0x5c,0x7e,0x7f,0x0, 0xa2,0x7e,
+0x34,0x38,0x80,0x7e,0x24,0x0, 0x1, 0xbf,0x71,0x28,0x5, 0x7e,0x80,0xa, 0x80,0x2a,
+0x7e,0x34,0x11,0x70,0x7e,0x24,0x0, 0x1, 0xbf,0x71,0x28,0x5, 0x7e,0x80,0x6, 0x80,
+0x19,0xbe,0x78,0xea,0x60,0x28,0x5, 0x7e,0x80,0x4, 0x80,0xe, 0xbe,0x78,0xc3,0x50,
+0x28,0x5, 0x7e,0x80,0x2, 0x80,0x3, 0x7e,0x80,0x1, 0xa, 0xf8,0x6d,0xee,0x7e,0xd4,
+0x0, 0xf, 0x7f,0x17,0x7d,0x1d,0x12,0x3, 0xfd,0x7f,0x7, 0x12,0x3, 0xec,0x7d,0x1d,
+0x12,0x3, 0xfd,0x7f,0x61,0x6c,0x99,0x7e,0xa0,0x5, 0x7c,0xd9,0xac,0xda,0x9, 0xb6,
+0x2, 0xba,0x7c,0xfb,0xbe,0xf0,0x2, 0x50,0x25,0xa, 0x3f,0x9, 0xb3,0x3, 0x4e,0x70,
+0x1d,0x49,0x6, 0x2, 0xb6,0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x5, 0xb, 0x53,0x49,0x26,
+0x2, 0xb8,0x59,0x25,0xb, 0x55,0x59,0x5, 0xb, 0x5b,0x59,0x25,0xb, 0x5d,0xb, 0x90,
+0xbe,0x90,0x2, 0x78,0xc2,0x6c,0x99,0x61,0x56,0x7e,0xa0,0x5, 0x7c,0x39,0xac,0x3a,
+0x9, 0xb1,0x2, 0xba,0x7c,0xfb,0xbe,0xf0,0x2, 0x40,0x2, 0x61,0x54,0x7e,0xa0,0x4,
+0x7c,0xdf,0xac,0xda,0x49,0x26,0xb, 0x53,0x49,0x31,0x2, 0xb6,0x9d,0x32,0x7d,0xa3,
+0x49,0x26,0xb, 0x55,0x49,0x31,0x2, 0xb8,0x9d,0x32,0x7d,0xb3,0x7d,0x1b,0x12,0x53,
+0x5f,0x7f,0x71,0x7d,0x1a,0x1a,0x2, 0x1a,0x0, 0x7d,0x3a,0x12,0x53,0x63,0x2f,0x17,
+0x7a,0x1f,0xa, 0x3, 0x49,0x26,0xb, 0x5b,0x12,0x53,0x7c,0x9d,0x32,0x7a,0x37,0x9,
+0xfd,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x25,0xb, 0x5d,0x12,0x53,0x72,0x9d,0x32,0x7d,
+0x63,0x7d,0x16,0x12,0x53,0x5f,0x7f,0x71,0x7e,0x27,0x9, 0xfd,0x7d,0x12,0x1a,0x2,
+0x1a,0x0, 0x7f,0x10,0x12,0x3, 0xec,0x2f,0x17,0x7a,0x1f,0x9, 0xff,0x7e,0xa0,0x5,
+0xac,0xa9,0x49,0x25,0x2, 0xb6,0xbe,0x24,0x0, 0x1e,0x40,0x1b,0xbe,0x24,0x1, 0x70,
+0x38,0x15,0x7e,0xa0,0x5, 0xac,0xa9,0x49,0x25,0x2, 0xb8,0xbe,0x24,0x0, 0x1e,0x40,
+0x6, 0xbe,0x24,0x1, 0x70,0x28,0x20,0xa, 0x98,0x6d,0x88,0x7e,0xf4,0x0, 0x6, 0x12,
+0x53,0xa1,0x7e,0x84,0x0, 0xb, 0x7d,0x18,0x12,0x3, 0xfd,0x12,0x53,0x86,0x7d,0x18,
+0x12,0x3, 0xfd,0x7f,0x41,0x80,0x1c,0xa, 0x98,0x6d,0x88,0x7e,0xf4,0x0, 0x5, 0x12,
+0x53,0xa1,0x2f,0x11,0x2f,0x11,0x2f,0x11,0x12,0x53,0x86,0x2f,0x11,0x2f,0x11,0x2f,
+0x11,0x7f,0x41,0x7e,0x1f,0x9, 0xff,0xbf,0x16,0x38,0x4b,0x7e,0xf, 0xa, 0x7, 0x7e,
+0x7f,0xa, 0x3, 0xbf,0x70,0x38,0x12,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x35,0xb, 0x53,
+0x12,0x53,0x92,0x49,0x35,0xb, 0x55,0x80,0x22,0xbf,0x74,0x38,0x3f,0x7e,0xa0,0x4,
+0xac,0xaf,0x49,0x15,0xb, 0x53,0x7e,0x4, 0x0, 0x2, 0x7d,0x3a,0x12,0x53,0x6a,0x12,
+0x53,0x92,0x49,0x15,0xb, 0x55,0x7d,0x3b,0x12,0x53,0x6a,0x7e,0xa0,0x5, 0xac,0xa9,
+0x59,0x35,0x2, 0xb8,0x80,0x16,0x7e,0x24,0x7f,0xff,0x7e,0xa0,0x4, 0xac,0xaf,0x59,
+0x25,0xb, 0x5b,0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x25,0xb, 0x5d,0x12,0x53,0x7c,0x7e,
+0xa0,0x4, 0xac,0xaf,0x59,0x35,0xb, 0x53,0x12,0x53,0x72,0x7e,0xa0,0x4, 0xac,0xaf,
+0x59,0x35,0xb, 0x55,0xb, 0x90,0xbc,0xe9,0x28,0x2, 0x21,0xe9,0xda,0x3b,0x22,0x1a,
+0x2, 0x1a,0x0, 0x1a,0x26,0x1a,0x24,0x2, 0x3, 0xec,0x7d,0x20,0x12,0x3, 0xba,0x2d,
+0x31,0x22,0x7e,0xa0,0x5, 0xac,0xa9,0x49,0x35,0x2, 0xb8,0x22,0x7e,0xa0,0x5, 0xac,
+0xa9,0x49,0x35,0x2, 0xb6,0x22,0xa, 0x18,0x6d,0x0, 0x12,0x3, 0xec,0x7f,0x1, 0x2f,
+0x10,0x22,0x7e,0xa0,0x5, 0xac,0xa9,0x59,0x35,0x2, 0xb6,0x7e,0xa0,0x4, 0xac,0xaf,
+0x22,0x7f,0x14,0x7d,0x1f,0x12,0x3, 0xfd,0x7f,0x4, 0x12,0x3, 0xec,0x7f,0x1, 0x2f,
+0x10,0x7d,0x1f,0x12,0x3, 0xfd,0x7a,0x1f,0xa, 0x7, 0xa, 0x38,0x6d,0x22,0x22,0xca,
+0x3b,0x12,0x3c,0x41,0x78,0x24,0x6c,0xff,0xe4,0xa, 0x3f,0x19,0xb3,0xb, 0x27,0x19,
+0xb3,0xb, 0x31,0x19,0xb3,0x3, 0x5a,0x6d,0x33,0x74,0x2, 0xac,0xbf,0x59,0x35,0xb,
+0x33,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xe0,0xe1,0xa1,0x6c,0xff,0x7e,0x50,0x2, 0xac,
+0x5f,0x49,0x32,0x3, 0x52,0xbe,0x34,0x7f,0xff,0x78,0x17,0xe4,0xa, 0x1f,0x19,0xb1,
+0xb, 0x27,0x19,0xb1,0xb, 0x31,0x19,0xb1,0x3, 0x5a,0x6d,0x11,0x59,0x12,0xb, 0x33,
+0x81,0xba,0xa, 0x1f,0x9, 0xb1,0x3, 0x5a,0x60,0x2, 0x81,0xba,0x59,0x32,0xb, 0x29,
+0x49,0x32,0x3, 0x56,0x59,0x32,0xb, 0x2d,0x49,0x32,0xb, 0x29,0x49,0x22,0xb, 0x2d,
+0x74,0x14,0xac,0xbf,0x49,0x15,0xb, 0xb, 0x49,0x5, 0xb, 0xd, 0x12,0xe, 0x7e,0x7a,
+0x37,0xa, 0x1, 0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0xb, 0x49,0x25,0xb, 0xd, 0x49,
+0x15,0xa, 0xff,0x49,0x5, 0xb, 0x1, 0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x3, 0xa, 0x3f,
+0x9, 0x53,0xb, 0x27,0xbe,0x50,0x2, 0x40,0x4c,0x74,0x2, 0xac,0xbf,0x49,0x25,0xb,
+0x29,0xbe,0x24,0x0, 0x18,0x40,0x16,0xbe,0x24,0x1, 0x76,0x38,0x10,0x49,0x25,0xb,
+0x2d,0xbe,0x24,0x0, 0x18,0x40,0x6, 0xbe,0x24,0x1, 0x76,0x28,0xe, 0x7e,0x27,0xa,
+0x1, 0xbe,0x24,0x0, 0x27,0x28,0x4, 0x74,0x1, 0x80,0x1b,0x7e,0x27,0xa, 0x1, 0xbe,
+0x24,0x0, 0x27,0x28,0xd, 0x7e,0x27,0xa, 0x3, 0xbe,0x24,0x0, 0x42,0x28,0x3, 0xe4,
+0x80,0x4, 0xe4,0x80,0x1, 0xe4,0x19,0xb3,0xb, 0x31,0xb, 0xf0,0xbe,0xf0,0x2, 0x68,
+0x2, 0x61,0xec,0x6c,0xff,0xe1,0x9b,0x74,0x5, 0xac,0xbf,0x9, 0xd5,0x2, 0xba,0xa,
+0x3d,0x9, 0xb3,0xb, 0x27,0x70,0x34,0x6c,0xcc,0x7e,0x70,0x5, 0xac,0x7f,0x49,0x13,
+0x2, 0xb6,0x7e,0x10,0x14,0xac,0x1d,0x7e,0x50,0x4, 0xac,0x5c,0x2d,0x20,0x59,0x12,
+0xa, 0xff,0x49,0x33,0x2, 0xb8,0x59,0x32,0xb, 0x1, 0xb, 0xc0,0xbe,0xc0,0x5, 0x78,
+0xd8,0x6d,0x33,0x74,0x2, 0xac,0xbd,0x59,0x35,0xb, 0x33,0xa, 0x3d,0x9, 0xb3,0xb,
+0x27,0xbe,0xb0,0x5, 0x50,0xa, 0xa, 0x3d,0x2e,0x34,0xb, 0x27,0x4, 0x7a,0x39,0xb0,
+0xa, 0x3d,0x9, 0x73,0xb, 0x27,0xbe,0x70,0x1, 0x38,0x2, 0xa1,0xf7,0x12,0x57,0xa4,
+0x60,0x2, 0xa1,0xf7,0x7e,0x90,0x14,0xac,0x9d,0x49,0x34,0xb, 0xf, 0x49,0x54,0xb,
+0xb, 0x2d,0x53,0x7a,0x57,0x9, 0xfd,0x49,0x34,0xb, 0x11,0x49,0x54,0xb, 0xd, 0x2d,
+0x53,0x7a,0x57,0x9, 0xff,0x74,0x5, 0xac,0xbf,0x49,0x15,0x2, 0xb6,0x2e,0x17,0x9,
+0xfd,0x7e,0x24,0x0, 0x3, 0x8d,0x12,0x59,0x15,0x2, 0xb6,0x49,0x35,0x2, 0xb8,0x2e,
+0x37,0x9, 0xff,0x8d,0x32,0x59,0x35,0x2, 0xb8,0x49,0x24,0xb, 0x7, 0x49,0x35,0x2,
+0xb6,0x9d,0x32,0x12,0x0, 0x2e,0x7a,0x37,0x9, 0xfd,0x74,0x14,0xac,0xbd,0x49,0x25,
+0xb, 0x9, 0x74,0x5, 0xac,0xbf,0x49,0x35,0x2, 0xb8,0x9d,0x32,0x12,0x0, 0x2e,0x12,
+0x57,0xdd,0x38,0xa, 0x7e,0x37,0x9, 0xff,0xbe,0x34,0x0, 0x27,0x28,0x1a,0x12,0x57,
+0xc9,0x2e,0x34,0xb, 0x7, 0x2e,0x14,0xb, 0x3, 0x12,0x5a,0xbe,0x59,0x35,0xb, 0x7,
+0x49,0x34,0x2, 0xb8,0x59,0x35,0xb, 0x9, 0x12,0x57,0xc9,0x2e,0x34,0xb, 0xb, 0x2e,
+0x14,0xb, 0xf, 0x12,0x5a,0xbe,0x59,0x35,0xb, 0xb, 0x49,0x44,0x2, 0xb8,0x59,0x45,
+0xb, 0xd, 0x49,0x35,0xb, 0x7, 0x49,0x25,0xb, 0x9, 0x12,0xe, 0x76,0x74,0x2, 0xac,
+0xbd,0x59,0x35,0xb, 0x33,0xe1,0x99,0x12,0x57,0xa4,0x70,0x2, 0xe1,0x99,0xa, 0x3d,
+0x9, 0x73,0xb, 0x27,0xbe,0x70,0x3, 0x50,0x2, 0xe1,0x99,0x12,0x57,0xab,0x70,0x2,
+0xe1,0x99,0x74,0x14,0xac,0xbd,0x49,0x25,0xa, 0xff,0x49,0x35,0xb, 0xb, 0x12,0x57,
+0xc1,0x7a,0x37,0x9, 0xfd,0x74,0x14,0xac,0xbd,0x49,0x25,0xb, 0x1, 0x49,0x35,0xb,
+0xd, 0x12,0x57,0xc1,0x12,0x57,0xdd,0x50,0xc, 0x7e,0x37,0x9, 0xff,0xbe,0x34,0x0,
+0x27,0x50,0x2, 0xe1,0x99,0x74,0x14,0xac,0xbd,0x12,0xe, 0x6e,0xb, 0x34,0x6d,0x22,
+0x7a,0x1f,0xa, 0x11,0x74,0x14,0xac,0xbd,0x49,0x35,0xb, 0x3, 0x49,0x25,0xb, 0x5,
+0x74,0x2, 0xac,0xbd,0x49,0x15,0xb, 0x29,0x49,0x5, 0xb, 0x2d,0x12,0xe, 0x7e,0x6d,
+0x22,0x7a,0x1f,0xa, 0xd, 0x74,0x14,0xac,0xbd,0x49,0x5, 0xb, 0x5, 0x49,0x15,0xb,
+0xd, 0x9d,0x10,0x6d,0x0, 0x7a,0xf, 0xa, 0x9, 0x7d,0x21,0x7e,0xf, 0xa, 0x11,0x12,
+0x57,0xf2,0x7a,0x1f,0xa, 0x9, 0x74,0x14,0xac,0xbd,0x49,0x15,0xb, 0x5, 0x6d,0x0,
+0x7e,0x1f,0xa, 0x9, 0x2f,0x10,0x12,0x57,0xb2,0x9f,0x10,0x7a,0x1f,0xa, 0x9, 0x49,
+0x5, 0xb, 0x3, 0x49,0x15,0xb, 0xb, 0x9d,0x10,0x6d,0x0, 0x7a,0xf, 0xa, 0x5, 0x7e,
+0x1f,0xa, 0xd, 0x7d,0x21,0x7e,0xf, 0xa, 0x11,0x12,0x57,0xf2,0x7a,0x1f,0xa, 0x5,
+0x74,0x14,0xac,0xbd,0x49,0xc5,0xb, 0x3, 0x7d,0x1c,0x6d,0x0, 0x7e,0x1f,0xa, 0x5,
+0x2f,0x10,0x49,0xd5,0xb, 0xb, 0x7d,0xfd,0x6d,0xee,0x9f,0x17,0x7a,0x1f,0xa, 0x5,
+0x12,0x57,0xab,0xb4,0x2, 0x17,0x7e,0x58,0x0, 0x2, 0x7e,0x1f,0xa, 0x5, 0x7f,0x5,
+0x12,0x4, 0x59,0x12,0x27,0xf3,0x7f,0x5, 0x12,0x57,0xb9,0x80,0x27,0x12,0x57,0xab,
+0xb4,0x1, 0x21,0xbd,0xdc,0x50,0xc, 0x7e,0x1f,0xa, 0x5, 0xbe,0x18,0x0, 0x0, 0x8,
+0x13,0x80,0xa, 0x7e,0x1f,0xa, 0x5, 0xbe,0x18,0x0, 0x0, 0x58,0x7, 0x12,0x3c,0x5c,
+0x7a,0x1f,0xa, 0x5, 0x12,0x57,0xa4,0x7e,0x1f,0xa, 0x5, 0xb4,0x1, 0x1d,0x2f,0x11,
+0x7e,0x68,0x0, 0x5, 0x7f,0x6, 0x12,0x4, 0x59,0x7a,0x1f,0xa, 0x5, 0x2f,0x17,0x12,
+0x27,0xf3,0x2f,0x11,0x7f,0x6, 0x12,0x57,0xb9,0x80,0x6, 0x2f,0x17,0x7a,0x1f,0xa,
+0x5, 0x74,0x14,0xac,0xbd,0x12,0x57,0xb2,0x7e,0x1f,0xa, 0x9, 0x2f,0x10,0x7a,0x1f,
+0xa, 0x9, 0x7e,0x1f,0xa, 0x5, 0x12,0x57,0xd1,0x12,0x27,0xf3,0x12,0x57,0xd1,0x7a,
+0x1f,0xa, 0x9, 0x7e,0x1f,0xa, 0x5, 0x7d,0x43,0x74,0x5, 0xac,0xbf,0x59,0x45,0x2,
+0xb6,0x7e,0x1f,0xa, 0x9, 0x59,0x35,0x2, 0xb8,0xb, 0xf0,0xbc,0xef,0x28,0x2, 0x81,
+0xc7,0xda,0x3b,0x22,0xa, 0x3d,0x9, 0xb3,0x3, 0x5a,0x22,0xa, 0x3d,0x9, 0xb3,0xb,
+0x31,0x22,0x49,0x15,0xb, 0xd, 0x6d,0x0, 0x22,0x12,0x4, 0x59,0x7a,0x1f,0xa, 0x9,
+0x22,0x9d,0x32,0x12,0x0, 0x2e,0xb, 0x34,0x22,0x7e,0x30,0x14,0xac,0x3d,0x7d,0x31,
+0x22,0x6d,0x22,0x7e,0x14,0x1, 0x8d,0x12,0x2f,0xf9,0x6d,0x22,0x22,0x7a,0x37,0x9,
+0xff,0x7e,0x37,0x9, 0xfd,0xbe,0x34,0x0, 0x27,0x22,0x7e,0x37,0xa, 0x17,0x7d,0x21,
+0x7d,0x1f,0x12,0x6, 0x3e,0x1a,0x26,0x1a,0x24,0x22,0xca,0xf8,0x7e,0xa3,0xb, 0xb3,
+0x7c,0xba,0x65,0x4e,0x68,0x5, 0xe4,0x7a,0xb3,0xb, 0xb6,0x7a,0xa1,0x4e,0x4c,0xaa,
+0x78,0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x5, 0x12,0x58,0x68,0x80,0x11,0xe4,0x7a,
+0xb3,0x2, 0xca,0x80,0xa, 0x7e,0xb3,0x6, 0x67,0x30,0xe1,0xb, 0x12,0x58,0x68,0x12,
+0x5a,0x3, 0x12,0x5a,0x9, 0x80,0x2e,0x12,0x58,0x76,0x7c,0xfb,0x4c,0xff,0x68,0x25,
+0x7c,0xbf,0x12,0x5a,0x10,0x60,0x1e,0x7e,0x34,0x0, 0x14,0x1b,0x34,0x78,0xfc,0x7e,
+0xb3,0x6, 0x67,0x30,0xe1,0x8, 0x74,0x26,0x7a,0xb3,0xb, 0xb6,0x80,0x7, 0x7a,0xf3,
+0xb, 0xb6,0x75,0x4f,0x1, 0xda,0xf8,0x22,0x74,0x26,0x7a,0xb3,0x2, 0xca,0x7a,0xb3,
+0xb, 0xb6,0x75,0x4f,0x1, 0x22,0xca,0x79,0x6c,0xaa,0x6d,0x44,0x7d,0xf4,0x7e,0x63,
+0x0, 0x90,0x7c,0xf6,0x5e,0xf0,0xf, 0x7c,0xb6,0xc4,0x7c,0xeb,0x5e,0xe0,0xf, 0x7e,
+0xe7,0xd, 0x29,0x1b,0xe4,0x68,0x3c,0x1b,0xe4,0x68,0x6e,0x1b,0xe4,0x78,0x2, 0x21,
+0x74,0x2e,0xe4,0x0, 0x3, 0x68,0x2, 0x21,0x9c,0xbe,0xf0,0x0, 0x38,0x2, 0x21,0xa2,
+0x4c,0xee,0x68,0x2, 0x21,0xa2,0x7e,0xe4,0x0, 0x1, 0x7a,0xe7,0xd, 0x29,0x7a,0xf7,
+0xd, 0x36,0x7a,0x47,0xd, 0x38,0x12,0x59,0xc3,0x7e,0xb3,0xc, 0xab,0x7a,0xb3,0xd,
+0x35,0x21,0x5c,0x4c,0xff,0x78,0x2, 0x80,0x1e,0x12,0x59,0xc3,0x7e,0x37,0xd, 0x36,
+0x7e,0x27,0xd, 0x38,0x12,0x59,0xf9,0xa5,0xbf,0x0, 0x4, 0xd2,0xe, 0x21,0x9c,0x7e,
+0xb3,0xd, 0x2c,0x60,0x2, 0x21,0xa2,0x7e,0x34,0x0, 0x2, 0x7a,0x37,0xd, 0x29,0x7e,
+0xb3,0xc, 0xa9,0x7a,0xb3,0xd, 0x2b,0x21,0xa2,0xbe,0xf0,0x0, 0x28,0x58,0x4c,0xee,
+0x78,0x54,0x7a,0xf7,0xd, 0x31,0x7a,0x47,0xd, 0x33,0x12,0x59,0xc3,0x7e,0xb3,0xc,
+0xa8,0xa, 0x2b,0x7e,0xb3,0xc, 0xa9,0xa, 0x3b,0x9d,0x32,0x7e,0xb3,0xd, 0x2b,0xa,
+0x4b,0xbd,0x43,0x18,0x2, 0x70,0x4, 0xd2,0xe, 0x80,0x61,0x7e,0x37,0xd, 0x36,0x7e,
+0x27,0xd, 0x38,0x7e,0xb3,0xc, 0x9e,0x12,0x59,0xcc,0x7c,0x7b,0xa5,0xbf,0x0, 0x4,
+0xd2,0xe, 0x80,0x48,0x7e,0x34,0x0, 0x3, 0x7a,0x37,0xd, 0x29,0x7e,0xb3,0xc, 0xaa,
+0x7a,0xb3,0xd, 0x2c,0x80,0x3c,0x4c,0xff,0x78,0x38,0x7e,0xb3,0xd, 0x2b,0x70,0x32,
+0xd2,0xe, 0x80,0x2e,0x4c,0xff,0x78,0x10,0x7e,0xb3,0xd, 0x2c,0x70,0x4, 0xd2,0xe,
+0x80,0x1a,0x7e,0x34,0x0, 0x4, 0x80,0x16,0x12,0x59,0xc3,0x7e,0x37,0xd, 0x31,0x7e,
+0x27,0xd, 0x33,0x12,0x59,0xf9,0xa5,0xbf,0x0, 0x8, 0xd2,0xe, 0x6d,0x33,0x7a,0x37,
+0xd, 0x29,0x7e,0x37,0xd, 0x29,0xbe,0x34,0x0, 0x2, 0x78,0x12,0x7e,0xa0,0x25,0x6d,
+0x33,0x7a,0x37,0xd, 0x29,0xe4,0x7a,0xb3,0xd, 0x35,0x7a,0xb3,0xd, 0x2c,0x7c,0xba,
+0xda,0x79,0x22,0x7a,0xf7,0xd, 0x2d,0x7a,0x47,0xd, 0x2f,0x22,0x7d,0x13,0xa, 0x3b,
+0x7d,0x3, 0x2e,0x7, 0xd, 0x2d,0xbd,0x1, 0x40,0x1d,0x2d,0x13,0xbe,0x17,0xd, 0x2d,
+0x40,0x15,0x7d,0x13,0x2e,0x17,0xd, 0x2f,0xbd,0x12,0x40,0xb, 0x2d,0x32,0xbe,0x37,
+0xd, 0x2f,0x40,0x3, 0x74,0x1, 0x22,0xe4,0x22,0x7e,0xb3,0xc, 0x9f,0x12,0x59,0xcc,
+0x7c,0x7b,0x22,0xe4,0x7a,0xb3,0x9, 0x62,0x22,0x6d,0x33,0x7a,0x37,0xd, 0x29,0x22,
+0x7c,0xab,0x54,0xf0,0xb4,0x20,0x18,0x7c,0xba,0x54,0xf, 0x7e,0x44,0x0, 0x1, 0x60,
+0x5, 0x3e,0x44,0x14,0x78,0xfb,0x7e,0x73,0xb, 0xb4,0xa, 0x57,0x5d,0x54,0x22,0xe4,
+0x22,0x7d,0x13,0x7e,0x37,0xc, 0xa0,0xbd,0x31,0x50,0x1a,0x7e,0x37,0xc, 0xa2,0xbd,
+0x31,0x28,0x12,0x7e,0x37,0xc, 0xa4,0xbd,0x32,0x50,0xa, 0x7e,0x37,0xc, 0xa6,0xbd,
+0x32,0x28,0x2, 0xe4,0x22,0x74,0x1, 0x22,0x6d,0x0, 0xb, 0xc, 0x7e,0x7f,0xa, 0x9,
+0x7f,0x17,0x12,0x3, 0xec,0x2f,0x14,0x7a,0x1f,0x9, 0xfd,0x7f,0x6, 0x2f,0x5, 0x2f,
+0x7, 0x7a,0xf, 0xa, 0x1, 0x22,0xa, 0xb, 0x7e,0x14,0x0, 0x3, 0x9d,0x10,0x7e,0x91,
+0x27,0x74,0x4, 0xac,0x9b,0x2e,0x44,0x3, 0x5c,0x49,0x34,0x0, 0x2, 0xb, 0x48,0x20,
+0x7c,0xb3,0x22,0x7e,0x24,0x12,0x0, 0xb, 0x28,0x30,0x5e,0x60,0x1f,0x1b,0x28,0x30,
+0x22,0xe5,0x24,0xa, 0x3b,0x3e,0x34,0x2e,0x34,0x10,0x0, 0xb, 0x38,0x70,0x6d,0x66,
+0xe5,0x24,0xa, 0x3b,0x22,0xb, 0x28,0x30,0x4d,0x35,0x1b,0x28,0x30,0x22,0x74,0x4,
+0x12,0x4, 0x8d,0x7e,0x90,0x5, 0xac,0x9f,0x49,0x34,0x2, 0xb6,0x74,0x14,0xac,0xbd,
+0x22,0x7e,0x25,0x33,0x7a,0x27,0x0, 0x50,0x7e,0x25,0x35,0x7a,0x27,0x0, 0x52,0x7a,
+0x37,0x0, 0x54,0x22,0x6d,0x0, 0x1b,0xc, 0x7e,0x5f,0xa, 0x5, 0x7f,0x15,0x12,0x3,
+0xec,0x7f,0x41,0x22,0x7e,0x25,0x22,0x7e,0x37,0xa, 0x9, 0xad,0x32,0x7c,0x76,0x7c,
+0x65,0xa, 0x24,0x22,0x6d,0x0, 0x2f,0x10,0x7e,0x14,0x0, 0x10,0x12,0x3, 0xfd,0x74,
+0x5, 0xac,0xbe,0x22,0x7f,0x13,0x7f,0x6, 0x12,0x3, 0xec,0x7f,0x7, 0x12,0x4, 0x59,
+0x7f,0x1, 0x22,0x7e,0x14,0x0, 0x3, 0x7e,0x1d,0x2a,0x12,0x3, 0xfd,0x7e,0x8, 0x0,
+0x4, 0x22,0x2e,0x18,0x0, 0xf, 0x7e,0x15,0x22,0x12,0x3, 0xfd,0x2f,0x11,0x2f,0x11,
+0x22,0x6d,0x0, 0x7e,0x6f,0xa, 0xd, 0x7f,0x16,0x12,0x3, 0xec,0x2f,0x41,0x22,0x7e,
+0x14,0x0, 0x3, 0x7f,0x13,0x12,0x3, 0xfd,0x7e,0x8, 0x0, 0x8, 0x22,0x7e,0xf, 0xa,
+0xb, 0x7e,0x37,0xa, 0x9, 0x6d,0x22,0x2, 0x3, 0xec,0xa, 0x4b,0x7d,0x24,0x7d,0xf4,
+0x1a,0x24,0x1a,0xe4,0xbf,0x7, 0x22,0x3e,0x34,0x2e,0x34,0x12,0x92,0x1b,0x38,0x20,
+0xb, 0x10,0x22,0xb, 0x48,0x20,0x4d,0x25,0x1b,0x48,0x20,0x7c,0xb7,0x22,0x7f,0x16,
+0x7d,0x1b,0x12,0x3, 0xfd,0x7f,0x7, 0x22,0x70,0x8f,0xff,0x0, 0xa3,0x5c,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43,0x45,0x49,0x5f,0x44,0x48,0x57,0x31,
+0x0, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x30,0x30,0x30,0x30,0x0, 0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1, 0xa3,
\ No newline at end of file
diff --git a/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DLW2_3207_0x81_app.i b/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DLW2_3207_0x81_app.i
new file mode 100644
index 0000000..b9546b6
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DLW2_3207_0x81_app.i
@@ -0,0 +1,1471 @@
+0x2, 0x0, 0x76,0x2, 0x4d,0x86,0x22,0x22,0x22,0x22,0x32,0x2, 0x0, 0xa, 0x7f,0x71,
+0x7e,0x8, 0x0, 0x2, 0x2, 0x4, 0x59,0x2, 0x49,0xaf,0x22,0x2, 0x4d,0xfe,0x1e,0x44,
+0x1e,0x44,0x1e,0x44,0x1e,0x44,0x22,0x2, 0x4d,0xd1,0xff,0x2, 0x4d,0x20,0x7d,0x23,
+0xbe,0x24,0x0, 0x0, 0x48,0x3, 0x7d,0x32,0x22,0x6d,0x33,0x9d,0x32,0x22,0x70,0x2,
+0xc2,0xd, 0x22,0x2, 0x4d,0x52,0x40,0x10,0x10,0x10,0x10,0x40,0x12,0x0, 0x1, 0x2,
+0x3, 0x14,0x12,0x4, 0x5, 0x6, 0x7, 0x14,0x13,0x8, 0x9, 0xa, 0xb, 0x15,0x13,0xc,
+0xd, 0xe, 0xf, 0x15,0x40,0x11,0x11,0x11,0x11,0x40,0x3e,0x34,0x3e,0x34,0x3e,0x34,
+0x3e,0x34,0x22,0x2, 0x50,0x43,0x75,0x84,0x1, 0x7e,0x44,0xf, 0xff,0xe4,0x7a,0x49,
+0xb0,0x1b,0x44,0x78,0xf9,0x7e,0xf8,0xd, 0x3f,0xc2,0xc, 0x75,0x47,0x18,0xc2,0x8,
+0xd2,0x9, 0x75,0x1d,0x0, 0x75,0x1e,0x0, 0xc2,0x0, 0xd2,0x1, 0xc2,0x2, 0xc2,0x3,
+0xc2,0x4, 0xc2,0x6, 0x75,0x8, 0x76,0x75,0xa, 0x0, 0x75,0xc, 0x37,0x75,0xe, 0x2,
+0x75,0xf, 0x74,0x75,0x10,0x71,0x75,0x14,0x71,0x75,0x15,0x71,0x75,0x1b,0x7b,0xd2,
+0xa, 0xc2,0xb, 0x75,0x4c,0x0, 0x75,0x4d,0x0, 0xc2,0xd, 0x75,0x4e,0x0, 0x75,0x4f,
+0x0, 0xc2,0xe, 0x7e,0x4, 0x0, 0xff,0x7e,0x14,0x5, 0xa, 0xb, 0xa, 0x40,0x5d,0x44,
+0x68,0x1a,0x69,0x20,0x0, 0x2, 0xb, 0xe, 0xb, 0x44,0x80,0xa, 0x7e,0xb, 0xb0,0x7a,
+0x29,0xb0,0xb, 0x24,0xb, 0xc, 0x1b,0x44,0x78,0xf2,0x80,0xdf,0x2, 0x49,0x25,0xff,
+0x5b,0x98,0xa4,0x67,0xa1,0x5e,0xb9,0x46,0x81,0x7e,0x1, 0xfe,0xff,0xff,0xff,0x0,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0x7e,0xa0,0x20,0x80,0xc, 0x7e,0xa0,0x10,0x80,0x5, 0x7e,0xa0,0x8, 0x6c,0x55,0x6d,
+0x33,0x33,0x92,0xd5,0x50,0xa, 0x6e,0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,
+0xa5,0xec,0x33,0x40,0x6, 0x2f,0x11,0xd5,0xf0,0xf6,0x22,0x7c,0xba,0x24,0x7e,0xa2,
+0xd5,0x13,0x7c,0x76,0x7c,0x65,0xa5,0xcc,0x92,0xe7,0x7c,0x5b,0x22,0x7c,0xb5,0x33,
+0x7c,0xb4,0x33,0x92,0xd5,0x4e,0x50,0x80,0x24,0x81,0x40,0x3, 0x9f,0x11,0x22,0x7c,
+0x45,0x7c,0x56,0x7c,0x67,0x6c,0x77,0x24,0xe0,0x50,0xe, 0x7e,0x1c,0xff,0xff,0x22,
+0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x4, 0x78,0xf4,0x30,0xd5,0xa, 0x6e,
+0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,0x22,0x7c,0xb5,0xa2,0xe7,0xd2,0xe7,
+0x7c,0x1b,0x7c,0xb4,0x33,0x40,0x9, 0x68,0xd, 0xb4,0xff,0xb, 0xa5,0xbd,0xff,0x3,
+0x2, 0x2, 0x67,0x2, 0x2, 0x6f,0x22,0x7c,0xb, 0x24,0x81,0xc2,0xe0,0xf5,0x82,0xf4,
+0x4, 0x2c,0xb0,0x7c,0x2b,0xc3,0x13,0x7c,0x4b,0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x7f,
+0x41,0x7c,0xb6,0xa2,0xe7,0x7c,0xb1,0xa5,0xba,0x7f,0x2, 0xc3,0x13,0x34,0x0, 0x94,
+0x0, 0x7c,0x2b,0x7e,0xa0,0x91,0xa4,0x7c,0xba,0x13,0xf4,0x94,0xfe,0xac,0xb2,0x33,
+0x7c,0xba,0x33,0x24,0x8c,0xd3,0x13,0x7c,0x5b,0xe4,0x92,0xe7,0x7c,0x6b,0x6c,0x77,
+0x7e,0x40,0x3f,0x75,0x83,0x2, 0x7f,0x51,0x7f,0x1, 0x7f,0x14,0x12,0x3, 0x39,0x7f,
+0x5, 0x12,0x2, 0x81,0x9e,0x24,0x0, 0x80,0xd5,0x83,0xeb,0x7e,0x1, 0x82,0x6c,0x11,
+0xe, 0x4, 0x1e,0x4, 0x2d,0x20,0x5e,0x40,0x7f,0x22,0x2d,0x0, 0x92,0xd5,0xe, 0x10,
+0x4e,0x10,0x80,0x7d,0x42,0x2d,0x44,0x50,0x2, 0xb2,0xd5,0x4e,0x50,0x80,0x6c,0x44,
+0x7c,0xb8,0x22,0x2c,0x44,0x50,0x12,0xb, 0x1c,0x7e,0x40,0x0, 0x5e,0x50,0x7f,0xbe,
+0x18,0x0, 0x0, 0x78,0x4, 0xb, 0x80,0x68,0x16,0xa2,0xd5,0x7c,0xb8,0x13,0x7c,0x4b,
+0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x22,0x7e,0x1c,0xff,0xff,0x22,0x9f,0x11,0x22,0x7e,
+0x24,0xff,0x80,0x20,0xd5,0x2, 0x6c,0x45,0x6d,0x33,0x22,0x2, 0x2, 0x67,0x6e,0x0,
+0x80,0x7c,0xb1,0x33,0x7c,0xb0,0x33,0x68,0xd, 0x4, 0x68,0xef,0x7c,0xb5,0x33,0x7c,
+0xb4,0x33,0x78,0x3, 0x7f,0x10,0x22,0x4, 0x68,0xe1,0x7d,0x50,0x92,0xf7,0x7d,0x45,
+0x7d,0x51,0xbf,0x21,0x40,0x6, 0x7c,0x80,0x7f,0x1, 0x7f,0x12,0x12,0x2, 0x2a,0x7e,
+0xa1,0xd0,0x5c,0xb0,0x4, 0x78,0x3, 0x20,0xd5,0xc1,0x7c,0xb0,0x4, 0x78,0x7, 0x50,
+0x2, 0xb2,0xd5,0x2, 0x2, 0x6f,0x92,0xd5,0xbe,0x80,0xff,0x68,0xf6,0x7c,0xb8,0x9c,
+0xb0,0x6c,0x0, 0x60,0x2a,0xb4,0x18,0x5, 0x7c,0x41,0x2, 0x2, 0x43,0x50,0xfb,0x80,
+0x3, 0x2f,0x0, 0x4, 0x7c,0x9b,0x5e,0x90,0x7, 0x78,0xf6,0x30,0xe4,0x6, 0x7c,0x43,
+0x7d,0x10,0x6d,0x0, 0x30,0xe3,0x8, 0x7c,0x43,0x7c,0x32,0x7c,0x21,0xa, 0x0, 0x30,
+0xf5,0x19,0x9f,0x10,0x78,0xe, 0x22,0x2, 0x2, 0x6c,0x1b,0x80,0x68,0xf9,0x2f,0x11,
+0x50,0x2, 0xb, 0x70,0x7c,0xb5,0x30,0xe7,0xf1,0x80,0x1b,0x2d,0x31,0x7c,0xb5,0xa5,
+0x39,0x7c,0x5b,0x50,0x11,0xb, 0x80,0x78,0x3, 0x2, 0x2, 0x6f,0x1e,0x34,0x13,0x50,
+0x3, 0x4e,0x60,0x80,0x1a,0x2b,0x2, 0x2, 0x43,0xbe,0x24,0xff,0xff,0x68,0x6, 0xbe,
+0x4, 0xff,0xff,0x78,0x3, 0x2, 0x2, 0x67,0x12,0x2, 0x2a,0x5c,0xb0,0x4, 0x68,0xf5,
+0x7c,0xb8,0xa5,0x48,0x68,0xef,0x7c,0xb8,0x70,0x3, 0x9f,0x11,0x22,0xa5,0xb8,0x0,
+0x3, 0x2, 0x2, 0x6f,0x2e,0x0, 0x81,0x50,0x7, 0x9c,0x80,0x38,0x7, 0x2, 0x2, 0x6c,
+0x9c,0x80,0x50,0xed,0xa, 0x51,0xc2,0xe7,0x4d,0x51,0x78,0x3, 0x2, 0x2, 0x59,0x7e,
+0x54,0x0, 0x80,0x7e,0x90,0x1a,0x6c,0x0, 0x80,0x6, 0x1b,0x90,0x68,0x14,0x2f,0x11,
+0xbf,0x10,0x40,0x4, 0x9f,0x10,0x4c,0xab,0x3, 0x30,0xe7,0xee,0xca,0xa8,0x6c,0xaa,
+0x80,0xe8,0xda,0x39,0xda,0x58,0x7c,0x4a,0xbe,0x50,0x80,0x50,0xa, 0x1b,0x80,0x68,
+0xbc,0x2f,0x11,0x50,0x2, 0xb, 0x70,0x2, 0x2, 0x43,0xc2,0xd5,0x7c,0xb4,0x30,0xe7,
+0x8, 0xb2,0xd5,0x6e,0x24,0xff,0xff,0xb, 0x24,0x7c,0xb6,0x30,0xe7,0x12,0xb2,0xd5,
+0x6e,0x34,0xff,0xff,0xb, 0x34,0x8d,0x32,0x6e,0x24,0xff,0xff,0xb, 0x24,0x80,0x2,
+0x8d,0x32,0x30,0xd5,0x6, 0x6e,0x34,0xff,0xff,0xb, 0x34,0x22,0x7d,0x51,0xad,0x3,
+0x7d,0x2, 0x7d,0x21,0xad,0x5, 0x2d,0x12,0xad,0x35,0x2d,0x21,0x22,0x7d,0x2, 0xad,
+0x31,0xad,0x10,0x2d,0x21,0x22,0x6d,0x0, 0x74,0x10,0x4d,0x0, 0x78,0xb, 0x4d,0x22,
+0x78,0x27,0x8d,0x31,0x7d,0x12,0x6d,0x22,0x22,0x7d,0x43,0x7d,0x32,0x6d,0x22,0x2f,
+0x11,0x2d,0x44,0x50,0x2, 0xa5,0xf, 0xbf,0x10,0x40,0x4, 0x9f,0x10,0xb, 0x90,0x14,
+0x78,0xed,0x7f,0x1, 0x6d,0x22,0x7d,0x34,0x22,0x7d,0x41,0x7d,0x13,0x8d,0x24,0x7d,
+0x2, 0x2f,0x0, 0x40,0x4, 0xbd,0x4, 0x40,0x4, 0x9d,0x4, 0xb, 0x14,0x14,0x78,0xf1,
+0x7d,0x23,0x7d,0x31,0x7d,0x10,0x6d,0x0, 0x22,0xc2,0xd5,0x7c,0xb0,0x30,0xe7,0x8,
+0xb2,0xd5,0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x7c,0xb4,0x30,0xe7,0x13,0xb2,0xd5,0x9f,
+0x22,0x9f,0x21,0x7f,0x12,0x12,0x4, 0x8, 0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x80,0x3,
+0x12,0x4, 0x8, 0x30,0xd5,0x6, 0x9f,0x22,0x9f,0x21,0x7f,0x12,0x22,0x6c,0xaa,0x4d,
+0x11,0x68,0x1a,0x1e,0x54,0x68,0xe, 0xb, 0x38,0x20,0x1b,0x18,0x20,0xb, 0x35,0xb,
+0x15,0x1b,0x54,0x78,0xf2,0x50,0x6, 0x7e,0x39,0x40,0x7a,0x19,0x40,0x22,0x7d,0x3,
+0x80,0xa, 0x7e,0x29,0xb0,0x7a,0x9, 0xb0,0xb, 0x24,0xb, 0x4, 0x7d,0x51,0x1b,0x14,
+0x4d,0x55,0x78,0xee,0x22,0x13,0x12,0x10,0xf, 0x14,0xe, 0xb, 0xc, 0x1, 0x7, 0xa,
+0x9, 0x2, 0x3, 0x5, 0x6, 0x11,0x4, 0x15,0x0, 0xd, 0x8, 0x7f,0x1, 0xbe,0x8, 0x0,
+0x0, 0x48,0x3, 0x7f,0x10,0x22,0x9f,0x11,0x9f,0x10,0x22,0x7d,0x13,0x80,0x7, 0x1b,
+0x24,0x7a,0x19,0xb0,0xb, 0x14,0x4d,0x22,0x78,0xf5,0x22,0x10,0x10,0x10,0x1c,0x19,
+0x14,0x10,0xe, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x0, 0xc, 0xc, 0xe9,0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xc, 0xf5,0x0, 0x0,
+0x0, 0x1, 0xc, 0xf7,0x0, 0x0, 0x1, 0xd, 0x10,0x0, 0x0, 0x1, 0xd, 0x11,0x0, 0x0,
+0x1, 0xd, 0x12,0x0, 0x0, 0x2e,0xa, 0x8d,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x16,0xa, 0xbb,0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x2e,0xa, 0xd1,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x1, 0xc, 0xd0,0x0, 0x0, 0x1, 0xc, 0xd2,0x0, 0x0, 0x2, 0xc, 0xd3,
+0x0, 0x0, 0x0, 0x1, 0xc, 0xd5,0x0, 0x0, 0x1, 0xc, 0xd7,0x0, 0x0, 0x1, 0xc, 0xd8,
+0x0, 0x0, 0x2, 0x0, 0x72,0x3, 0x1c,0x0, 0x4, 0x0, 0xa2,0x0, 0x0, 0x0, 0x0, 0x0,
+0x2, 0x2, 0xcd,0x0, 0x0, 0x0, 0x1, 0x2, 0xcf,0x0, 0x0, 0x1, 0x2, 0xd3,0x0, 0x0,
+0x1, 0x3, 0x48,0x0, 0x0, 0x1, 0x3, 0x4c,0x0, 0x0, 0x1, 0x3, 0x4d,0x0, 0x0, 0x1,
+0xd, 0x3a,0x0, 0x0, 0x1, 0xd, 0x3b,0xff,0x0, 0x1, 0xd, 0x3c,0x0, 0x0, 0x1, 0xd,
+0x3d,0x10,0x0, 0x1, 0xd, 0x3e,0x8, 0x0, 0x1, 0xd, 0x3f,0x0, 0x0, 0x1, 0x9, 0x6c,
+0x0, 0x0, 0x1, 0xd, 0x28,0x0, 0x0, 0x1, 0xb, 0x38,0x0, 0x0, 0x2, 0xd, 0x29,0x0,
+0x0, 0x0, 0x2, 0x6, 0xdb,0x6, 0xe1,0x0, 0x1, 0x9, 0x69,0x0, 0x0, 0x0, 0x7d,0x41,
+0x7d,0x12,0x1a,0x26,0x1a,0x24,0x12,0x6, 0x5e,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x2,
+0x4, 0x59,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x7f,0x17,0x9f,0x10,0x7d,0x1d,0x1a,0x2,
+0x1a,0x0, 0x2, 0x3, 0xec,0xca,0x3b,0x7f,0x71,0x7c,0xab,0x6c,0x33,0x6c,0xee,0x6d,
+0x22,0x7a,0x25,0x22,0x7a,0x25,0x24,0x7d,0x62,0x7d,0x82,0x7d,0x92,0x7d,0x42,0x7d,
+0xa2,0x7d,0xb2,0x7e,0x37,0x5, 0xf8,0x7d,0xd3,0x7e,0x24,0x0, 0x2, 0x12,0x3, 0xba,
+0x7d,0xc3,0xa, 0x3a,0x7e,0x24,0x0, 0xb, 0x12,0x3, 0xba,0x7c,0xb5,0x7c,0xfb,0xbe,
+0xf0,0x5, 0x50,0x4c,0x1a,0x13,0x12,0x7, 0x73,0x48,0x2c,0xbe,0x78,0x1, 0xa, 0x48,
+0x2, 0x80,0x3, 0x7e,0x45,0x24,0x12,0x6, 0x52,0x7d,0x54,0x12,0x7, 0x84,0xbe,0x78,
+0x0, 0xc7,0x8, 0x7c,0x7f,0x17,0x9e,0x18,0x0, 0xc7,0x12,0x0, 0xe, 0x7f,0x71,0x2e,
+0x18,0x0, 0xc7,0x7f,0x71,0x80,0x69,0xbe,0x78,0x0, 0x89,0x18,0x9, 0x7d,0x19,0x12,
+0x6, 0x54,0x7d,0x59,0x80,0x27,0x7e,0x45,0x22,0x12,0x6, 0x52,0x7d,0x54,0x80,0x1d,
+0x1a,0x1e,0x12,0x7, 0x73,0x48,0x1b,0xbe,0x78,0x1, 0x4, 0x48,0x9, 0x7d,0x1b,0x12,
+0x6, 0x54,0x7d,0x5b,0x80,0x7, 0x7d,0x18,0x12,0x6, 0x54,0x7d,0x58,0x12,0x7, 0x84,
+0x80,0x2e,0xbe,0x78,0x0, 0x87,0x18,0x9, 0x7d,0x1a,0x12,0x6, 0x54,0x7d,0x5a,0x80,
+0x7, 0x7d,0x16,0x12,0x6, 0x54,0x7d,0x56,0x12,0x7, 0x84,0xbe,0x78,0x0, 0x0, 0x58,
+0xf, 0x9f,0x11,0x9f,0x17,0x12,0x0, 0xe, 0x7f,0x71,0x9f,0x11,0x9f,0x17,0x7f,0x71,
+0xbe,0x78,0x0, 0x0, 0x58,0x6, 0x9f,0x11,0x7f,0x71,0x80,0x11,0x7d,0x1d,0x12,0x7,
+0x7d,0x48,0xa, 0x7d,0x3d,0x1a,0x26,0x1a,0x24,0x1b,0x1c,0x7f,0x71,0xbe,0xf0,0x5,
+0x40,0xc, 0x7d,0x1d,0x1a,0x2, 0x1a,0x0, 0x7f,0x17,0x2f,0x10,0x7f,0x71,0x7f,0x17,
+0xda,0x3b,0x22,0x1a,0x2, 0x7f,0x17,0x2f,0x10,0x7f,0x71,0x7d,0x1c,0x1a,0x2, 0x1a,
+0x0, 0xbf,0x70,0x22,0x3e,0x54,0x1a,0x4a,0x1a,0x48,0x7d,0x1d,0x1a,0x2, 0x1a,0x0,
+0x9f,0x2, 0x12,0x4, 0x59,0x7f,0x71,0x22,0xca,0x3b,0x7e,0xa3,0x0, 0x90,0x7c,0xca,
+0x5e,0xc0,0xf, 0x7c,0xba,0xc4,0x7c,0x3b,0x5e,0x30,0xf, 0x4c,0xcc,0x78,0x2d,0x12,
+0x9, 0xa5,0xbe,0x30,0x0, 0x38,0x3, 0x2, 0x9, 0xa2,0x6c,0xff,0x7e,0x20,0xff,0x74,
+0x5, 0xac,0xbf,0x19,0x25,0x2, 0xc4,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xf1,0x75,0x1c,
+0x1, 0x75,0x12,0x0, 0xe4,0x7a,0xb3,0xc, 0xf7,0x2, 0x9, 0xa2,0x7e,0x23,0xc, 0xf7,
+0xbe,0x20,0x3c,0x50,0x14,0x7e,0x4, 0xa, 0x0, 0x7a,0x7, 0x0, 0x9e,0x12,0x4d,0x19,
+0x7c,0xb2,0x4, 0x7a,0xb3,0xc, 0xf7,0x80,0xd, 0x7e,0x37,0x0, 0x9e,0xbe,0x34,0xa,
+0x0, 0x68,0x3, 0x12,0x4d,0x11,0x6c,0xff,0x7e,0x20,0xff,0x74,0x5, 0xac,0xbf,0x19,
+0x25,0xa, 0x1, 0x7e,0x34,0x7f,0xff,0x59,0x35,0x9, 0xfd,0x59,0x35,0x9, 0xff,0xb,
+0xf0,0xbe,0xf0,0x2, 0x78,0xe2,0x6c,0xff,0x80,0x23,0x7e,0x50,0x5, 0xac,0x5f,0x7d,
+0x2, 0x2e,0x4, 0x0, 0x7a,0xb, 0x8, 0x30,0x12,0x0, 0x6a,0x1b,0x8, 0x30,0x2e,0x24,
+0x0, 0x7c,0xb, 0x28,0x30,0x12,0x0, 0x6a,0x1b,0x28,0x30,0xb, 0xf0,0xbc,0xcf,0x38,
+0xd9,0xa5,0xbb,0x0, 0x28,0x6c,0xff,0x80,0x1e,0x74,0x5, 0xac,0xbf,0x49,0x45,0x0,
+0x7a,0x59,0x45,0x2, 0xc0,0x49,0x45,0x0, 0x7c,0x59,0x45,0x2, 0xc2,0x9, 0x75,0x0,
+0x7e,0x19,0x75,0x2, 0xc4,0xb, 0xf0,0xbc,0xcf,0x38,0xde,0x21,0x4a,0x6c,0xdd,0x6c,
+0xff,0x6c,0xee,0x7e,0x70,0x5, 0xac,0x7e,0x9, 0xa3,0x2, 0xc4,0x7e,0x50,0x5, 0xac,
+0x5f,0x9, 0xb2,0x0, 0x7e,0xbc,0xba,0x78,0x13,0xbe,0xb0,0xff,0x68,0xe, 0xbe,0xd0,
+0x2, 0x50,0x10,0x2e,0x34,0x2, 0xc0,0x12,0xe, 0x60,0x80,0x7, 0xb, 0xe0,0xbe,0xe0,
+0x2, 0x40,0xd0,0xbe,0xe0,0x2, 0x78,0xb, 0xbe,0xd0,0x2, 0x50,0x6, 0x12,0x3e,0x25,
+0x12,0xe, 0x60,0xb, 0xd0,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xb5,0x6c,0xff,0x12,0x3e,
+0x15,0x2e,0x34,0x9, 0xfd,0x2e,0x14,0x2, 0xc0,0x12,0x3e,0x2f,0x78,0xf0,0xe5,0x12,
+0x70,0x68,0x6c,0xff,0x80,0x60,0x7c,0xef,0x6c,0xdd,0x80,0x21,0x7e,0x90,0x5, 0xac,
+0x9f,0x9, 0xa4,0x2, 0xc4,0x7e,0x70,0x5, 0xac,0x7d,0x9, 0xb3,0x0, 0x7e,0xbc,0xba,
+0x78,0x9, 0xbe,0xa0,0xff,0x68,0x4, 0x7c,0xed,0x80,0x6, 0xb, 0xd0,0xbc,0xcd,0x38,
+0xdb,0xbe,0xe0,0x2, 0x40,0x2, 0x7c,0xef,0x12,0xf, 0xfd,0xbe,0x34,0x18,0xe0,0x50,
+0xa, 0x49,0x24,0x2, 0xc2,0xbe,0x24,0x18,0xe0,0x40,0x12,0x49,0x24,0x0, 0x7a,0x74,
+0x5, 0xac,0xbf,0x59,0x25,0x2, 0xc0,0x59,0x35,0x2, 0xc2,0x80,0x7, 0x7c,0xbf,0x7c,
+0x7e,0x12,0x9, 0xdd,0xb, 0xf0,0xbc,0xcf,0x38,0x9c,0x6c,0xff,0x74,0x5, 0xac,0xbf,
+0x49,0x45,0x2, 0xc0,0x12,0x0, 0x1e,0x59,0x45,0x0, 0x7a,0x49,0x45,0x2, 0xc2,0x12,
+0x0, 0x1e,0x59,0x45,0x0, 0x7c,0x9, 0x75,0x2, 0xc4,0x19,0x75,0x0, 0x7e,0xb, 0xf0,
+0xbe,0xf0,0x2, 0x78,0xd7,0xbe,0xc0,0x0, 0x28,0x25,0x6c,0xff,0x74,0x5, 0xac,0xbf,
+0x49,0x45,0x0, 0x7a,0x59,0x45,0x2, 0xb6,0x49,0x45,0x0, 0x7c,0x59,0x45,0x2, 0xb8,
+0x9, 0x75,0x0, 0x7e,0x19,0x75,0x2, 0xba,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xdd,0x75,
+0x9, 0x1, 0xda,0x3b,0x22,0x12,0xe, 0xaf,0x78,0x32,0x20,0xc, 0x2f,0x6c,0xaa,0x7e,
+0x44,0x7f,0xff,0x7e,0x70,0x4, 0xac,0x7a,0x59,0x43,0xc, 0xe1,0x59,0x43,0xc, 0xe3,
+0x6d,0x33,0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0xc, 0xdd,0x7e,0x34,0x1, 0x0, 0x59,
+0x32,0xc, 0xd9,0xb, 0xa0,0xbe,0xa0,0x2, 0x78,0xd5,0xd2,0xc, 0x22,0xca,0x3b,0x7c,
+0xe7,0x7c,0xdb,0x75,0x24,0x0, 0x9f,0x11,0x7a,0x1f,0xa, 0xb, 0x7a,0x1f,0xa, 0xf,
+0x7a,0x1f,0xa, 0x13,0x12,0x3c,0x6, 0x74,0x5, 0xac,0xbd,0x49,0x15,0x2, 0xc0,0x49,
+0x5, 0x2, 0xc2,0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x7, 0x74,0x5, 0xac,0xbd,0x9, 0xf5,
+0x2, 0xc4,0xbe,0xf0,0x2, 0x40,0x2, 0x6c,0xff,0x12,0x3c,0x6, 0x74,0x4, 0xac,0xbf,
+0x49,0x15,0xc, 0xe1,0x49,0x5, 0xc, 0xe3,0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x9, 0x7e,
+0x27,0xa, 0x7, 0x7e,0x34,0x0, 0xdc,0xad,0x23,0x7e,0x17,0x0, 0x9e,0x12,0x4, 0x6,
+0x7a,0x35,0x22,0xbe,0x34,0x0, 0xa, 0x50,0x7, 0x7e,0x34,0x0, 0xa, 0x7a,0x35,0x22,
+0x75,0x24,0x0, 0x6c,0xcc,0x7e,0x90,0x14,0xac,0x9f,0x49,0x24,0xb, 0x3, 0x49,0x34,
+0xb, 0x7, 0xbd,0x32,0x78,0xe, 0x49,0x54,0xb, 0x5, 0x49,0x34,0xb, 0x9, 0xbd,0x35,
+0x78,0x2, 0xa1,0x41,0x74,0x5, 0xac,0xbe,0x49,0x15,0x0, 0x7c,0x1e,0x14,0x1e,0x14,
+0x1e,0x14,0x1e,0x14,0x6d,0x0, 0x7a,0xf, 0xa, 0x13,0xbe,0x8, 0x0, 0x18,0x48,0xa,
+0x7e,0xf, 0xa, 0x13,0xbe,0x8, 0x1, 0x76,0x8, 0x5, 0x75,0x25,0x34,0x80,0x1c,0x7e,
+0xf, 0xa, 0x13,0xbe,0x8, 0x0, 0x31,0x48,0xa, 0x7e,0xf, 0xa, 0x13,0xbe,0x8, 0x1,
+0x5d,0x8, 0x5, 0x75,0x25,0x20,0x80,0x3, 0x75,0x25,0x19,0x49,0x35,0x0, 0x7a,0x12,
+0xe, 0xa3,0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0xf, 0x74,0x5, 0xac,0xbe,0x49,0x35,0x0,
+0x7c,0x12,0xe, 0xa3,0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x5, 0x12,0xe, 0x2f,0x7a,
+0x1f,0xa, 0x13,0x7d,0x3, 0x7e,0x1f,0xa, 0xf, 0x7d,0x13,0x2d,0x10,0x7a,0x17,0xa,
+0x17,0xbe,0x14,0x0, 0x7, 0x8, 0x3d,0xbe,0x18,0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,
+0x1f,0xa, 0xf, 0x7e,0x1f,0xa, 0x13,0xbe,0x18,0x0, 0x0, 0x78,0xa, 0x7e,0x1f,0xa,
+0x13,0xb, 0x1c,0x7a,0x1f,0xa, 0x13,0x12,0xe, 0x39,0x8, 0x4, 0xb, 0xc0,0x80,0x14,
+0x7e,0x1f,0xa, 0xb, 0xbe,0x18,0x0, 0x64,0x8, 0xa, 0x12,0x5b,0x8e,0x12,0xe, 0x4e,
+0x8, 0x2, 0x5, 0x24,0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x3, 0x49,0x35,0xb, 0x7,
+0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0xf, 0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x5, 0x49,
+0x35,0xb, 0x9, 0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0x13,0x7e,0x1f,0xa, 0xf, 0xbe,0x18,
+0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,0x1f,0xa, 0xf, 0x7e,0x1f,0xa, 0x13,0xbe,0x18,
+0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,0x1f,0xa, 0x13,0x12,0xe, 0x39,0x8, 0x4, 0xb,
+0xc0,0x80,0x14,0x7e,0x1f,0xa, 0xb, 0xbe,0x18,0x0, 0x64,0x8, 0xa, 0x12,0x5b,0x8e,
+0x12,0xe, 0x4e,0x8, 0x2, 0x5, 0x24,0x74,0x14,0xac,0xbf,0x12,0xe, 0x6e,0x7d,0xf3,
+0xbe,0xf7,0xa, 0x17,0x8, 0x2, 0xa1,0x2e,0xe5,0x25,0xbe,0xb0,0x34,0x7e,0x1f,0xa,
+0xb, 0x40,0x9, 0x12,0x5b,0x32,0x7e,0x8, 0x0, 0x5a,0x80,0x7, 0x12,0x5b,0x32,0x7e,
+0x8, 0x0, 0x4b,0x12,0x4, 0x59,0x7a,0x1f,0xa, 0xb, 0xe5,0x24,0x60,0x2, 0x81,0xe2,
+0x4c,0xcc,0x68,0x2, 0x81,0xe2,0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0x3, 0x6d,0x22,
+0x49,0x15,0xb, 0xb, 0x6d,0x0, 0x9f,0x1, 0x7a,0xf, 0xa, 0xf, 0x12,0x57,0xea,0x74,
+0x14,0xac,0xbf,0x49,0x15,0xb, 0x3, 0x12,0x5b,0x4, 0x49,0x15,0x0, 0x7a,0x6d,0x0,
+0x2f,0x10,0xbe,0x18,0x0, 0x0, 0x48,0x19,0x74,0x6, 0xac,0xbf,0x49,0xe5,0xc, 0xed,
+0x4d,0xee,0x78,0xd, 0x12,0x0, 0x10,0x7d,0xe3,0x74,0x5, 0xac,0xbe,0x59,0xe5,0x0,
+0x7a,0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0x5, 0x6d,0x22,0x74,0x14,0xac,0xbf,0x12,
+0x57,0xb2,0x9f,0x1, 0x7a,0xf, 0xa, 0x13,0x12,0x57,0xea,0x74,0x14,0xac,0xbf,0x49,
+0x15,0xb, 0x5, 0x12,0x5b,0x4, 0x49,0x15,0x0, 0x7c,0x6d,0x0, 0x2f,0x10,0xbe,0x18,
+0x0, 0x0, 0x48,0x17,0x74,0x6, 0xac,0xbf,0x49,0x15,0xc, 0xed,0x4d,0x11,0x78,0xb,
+0x12,0x0, 0x10,0x74,0x5, 0xac,0xbe,0x59,0x35,0x0, 0x7c,0x7e,0x90,0x6, 0xac,0x9f,
+0x49,0x54,0xc, 0xe9,0x4d,0x55,0x78,0x14,0x7e,0x1f,0xa, 0xf, 0x7d,0x53,0x59,0x54,
+0xc, 0xe9,0x7e,0x1f,0xa, 0x13,0x7d,0x53,0x59,0x54,0xc, 0xeb,0x49,0x34,0xc, 0xe9,
+0x1a,0x26,0x1a,0x24,0x7e,0x7f,0xa, 0xf, 0x7f,0x7, 0x12,0xe, 0x9b,0x48,0x11,0x49,
+0x34,0xc, 0xeb,0x1a,0x26,0x1a,0x24,0x7e,0xf, 0xa, 0x13,0x12,0xe, 0x9b,0x58,0x32,
+0x74,0x6, 0xac,0xbf,0x49,0x35,0xc, 0xed,0xbe,0x34,0x0, 0x3, 0x58,0xe, 0x7e,0x50,
+0x6, 0xac,0x5f,0x2e,0x24,0xc, 0xed,0xb, 0x34,0x1b,0x28,0x30,0x7d,0x3f,0x74,0x6,
+0xac,0xbf,0x59,0x35,0xc, 0xe9,0x7e,0x1f,0xa, 0x13,0x74,0x6, 0xac,0xbf,0x59,0x35,
+0xc, 0xeb,0xe5,0x24,0xbe,0xb0,0x2, 0x40,0xe, 0x74,0x6, 0xac,0xbf,0x49,0x45,0xc,
+0xed,0xbe,0x44,0x0, 0x2, 0x48,0x5, 0x75,0x24,0x0, 0x80,0xc, 0x4d,0x44,0x78,0x8,
+0x7e,0x34,0x0, 0x1, 0x59,0x35,0xc, 0xed,0xbe,0xc0,0x2, 0x40,0xf, 0x7e,0x50,0x6,
+0xac,0x5f,0x49,0x32,0xc, 0xed,0xbe,0x34,0x0, 0x2, 0x48,0x4, 0x6c,0xcc,0x80,0x33,
+0x4d,0x33,0x78,0x2f,0x7e,0x34,0x0, 0x1, 0x59,0x32,0xc, 0xed,0x80,0x25,0x7e,0x34,
+0x0, 0x2, 0x74,0x6, 0xac,0xbf,0x59,0x35,0xc, 0xed,0x75,0x24,0x0, 0x6c,0xcc,0x80,
+0x12,0x6d,0x33,0x74,0x6, 0xac,0xbf,0x59,0x35,0xc, 0xe9,0x59,0x35,0xc, 0xeb,0x59,
+0x35,0xc, 0xed,0x7e,0x35,0x22,0xbe,0x34,0x1, 0x0, 0x28,0x7, 0x7e,0x34,0x1, 0x0,
+0x7a,0x35,0x22,0x74,0x5, 0xac,0xbd,0x49,0x25,0x2, 0xc0,0x74,0x5, 0xac,0xbe,0x12,
+0x3c,0x77,0x7a,0x37,0xa, 0x9, 0xe5,0x24,0x60,0x13,0x12,0x5b,0x5d,0x74,0x14,0x1e,
+0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x80,0x3, 0x12,0x5a,0xf4,
+0x7a,0x37,0xa, 0x9, 0x7e,0x90,0x5, 0xac,0x9d,0x49,0x34,0x2, 0xc0,0x74,0x5, 0xac,
+0xbe,0x49,0x25,0x0, 0x7a,0xbd,0x23,0x28,0x11,0x7d,0x14,0x2e,0x14,0x2, 0xc0,0x7d,
+0x23,0x2e,0x27,0xa, 0x9, 0x1b,0x18,0x20,0x80,0xd, 0x7d,0x24,0x2e,0x24,0x2, 0xc0,
+0x9e,0x37,0xa, 0x9, 0x1b,0x28,0x30,0x49,0x24,0x2, 0xc2,0x12,0x3e,0xc, 0x7a,0x37,
+0xa, 0x9, 0x4c,0xcc,0x68,0x13,0x12,0x5b,0x5d,0x74,0xa, 0x1e,0x34,0x1e,0x24,0x50,
+0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x80,0x3, 0x12,0x5a,0xf4,0x7a,0x37,0xa, 0x9,
+0x7e,0x30,0x5, 0xac,0x3d,0x49,0x21,0x2, 0xc2,0x12,0xf, 0xfd,0xbd,0x32,0x7d,0x51,
+0x28,0xf, 0x2e,0x54,0x2, 0xc2,0x7d,0x2, 0x2e,0x7, 0xa, 0x9, 0x1b,0x58,0x0, 0x80,
+0xb, 0x2e,0x54,0x2, 0xc2,0x9e,0x27,0xa, 0x9, 0x1b,0x58,0x20,0x49,0x24,0x0, 0x7a,
+0x74,0x4, 0xac,0xbf,0x59,0x25,0xc, 0xe1,0x59,0x35,0xc, 0xe3,0xda,0x3b,0x22,0x9d,
+0x32,0x12,0x0, 0x2e,0x1a,0x26,0x1a,0x24,0x22,0x7e,0xb4,0x0, 0x64,0x7e,0x7f,0xa,
+0x13,0x7f,0x17,0x7d,0x1b,0x12,0x3, 0xfd,0x7e,0x6f,0xa, 0xf, 0x7f,0x6, 0x12,0x4,
+0x59,0x7f,0x1, 0x7a,0xf, 0xa, 0xb, 0xe5,0x25,0xa, 0x3b,0x6d,0x22,0xbf,0x10,0x22,
+0x7e,0x30,0x5, 0xac,0x3d,0x2e,0x14,0x9, 0xfd,0x74,0x5, 0x2, 0x4, 0x8d,0x49,0x35,
+0xb, 0xb, 0x49,0x25,0xb, 0xd, 0x49,0x15,0xb, 0x3, 0x49,0x5, 0xb, 0x5, 0xca,0x3b,
+0x7d,0x61,0x7a,0x35,0x26,0x7d,0x32,0x9d,0x30,0x12,0x0, 0x2e,0x7d,0x73,0x7e,0x35,
+0x26,0x9d,0x36,0x12,0x0, 0x2e,0x2d,0x37,0xda,0x3b,0x22,0x12,0x3, 0xec,0xbe,0x18,
+0x0, 0x0, 0x22,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x22,0x12,0xe, 0xba,0x7e,
+0xb3,0x0, 0x90,0x54,0xf, 0x22,0x7a,0xb3,0xb, 0x88,0x60,0x2a,0x7e,0xb3,0x6, 0xca,
+0x20,0xe7,0x3d,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x12,0x41,
+0x1d,0x7e,0xb3,0x6, 0xca,0x54,0xc7,0x44,0x10,0x12,0x17,0x72,0x12,0x5b,0x83,0x44,
+0x80,0x7a,0xb3,0x6, 0xca,0x22,0x7e,0xb3,0x6, 0xca,0x30,0xe7,0x13,0x54,0xc7,0x44,
+0x28,0x12,0x17,0x72,0x12,0x5b,0x83,0x54,0x7f,0x7a,0xb3,0x6, 0xca,0x2, 0x2f,0x8e,
+0x22,0xca,0x79,0x7e,0x77,0x0, 0x92,0x4d,0x77,0x78,0x32,0xe4,0x12,0xe, 0xac,0xbe,
+0xb0,0x0, 0x28,0x5, 0x75,0xb, 0x0, 0xe1,0xa6,0x7e,0xb3,0x0, 0x94,0x20,0xe0,0x2,
+0xe1,0xa6,0x7e,0x73,0x0, 0x99,0xbe,0x71,0xb, 0x38,0x7b,0x75,0xb, 0x0, 0x7e,0x34,
+0x0, 0x1, 0x7a,0x37,0x0, 0x92,0x74,0x1, 0x12,0xe, 0xb6,0x80,0x69,0xbe,0x74,0x0,
+0x1, 0x78,0x14,0x74,0x1, 0x12,0xe, 0xac,0x68,0x5c,0x12,0x4d,0x9, 0x12,0xe, 0xb6,
+0x75,0xd, 0x27,0xd2,0x5, 0x80,0x4f,0xbe,0x74,0x0, 0x3, 0x78,0x49,0x7e,0xb3,0x0,
+0x9b,0x12,0x4a,0x48,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x12,
+0xf, 0xf3,0x12,0x2f,0x66,0x74,0x2, 0x12,0xf, 0xcd,0x12,0x49,0xe0,0x12,0x0, 0x27,
+0xc2,0xa8,0xc2,0x95,0xa9,0xd0,0xca,0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,0x4a,0x30,
+0x12,0x1c,0xcb,0x12,0x4d,0x9, 0x7a,0xb3,0xb, 0x88,0x74,0xa, 0x7a,0xb3,0x6, 0xda,
+0x7e,0xb3,0x6, 0xda,0x70,0xfa,0x7e,0x77,0x0, 0x92,0x4d,0x77,0x78,0xb, 0x80,0x4,
+0xe4,0x12,0xf, 0xcd,0x30,0x5, 0xf9,0x80,0xc, 0xbe,0x74,0x0, 0x1, 0x78,0x6, 0x12,
+0xf, 0xf3,0x12,0x2f,0xac,0x75,0xd, 0x0, 0xc2,0x5, 0xda,0x79,0x22,0x70,0x5, 0x43,
+0x87,0x1, 0x80,0x1a,0xb4,0x1, 0xb, 0xa9,0xd0,0xce,0xa9,0xd7,0xc9,0x43,0x87,0x2,
+0x80,0xc, 0xb4,0x2, 0xd, 0xa9,0xd0,0xce,0xa9,0xc7,0xc9,0x43,0x87,0x2, 0x0, 0x0,
+0x0, 0x0, 0x22,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x20,0x93,0xf9,0x22,0x7e,0x90,0x5,
+0xac,0x9e,0x49,0x34,0x0, 0x7c,0x22,0x7d,0xf3,0xbe,0xf4,0x0, 0x50,0x38,0x28,0x7e,
+0x54,0x0, 0x50,0x9d,0x5f,0x12,0x11,0x3b,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x28,
+0x4, 0x9f,0x22,0x80,0x8, 0x7e,0x18,0x0, 0x2d,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0,
+0x0, 0x50,0x64,0x9f,0x22,0x80,0x60,0xbe,0xf4,0x1, 0x2f,0x40,0x20,0x12,0x11,0x35,
+0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x40,0x4, 0x7e,0x28,0x0, 0x2c,0xbe,0x28,0x0,
+0x2d,0x28,0x4, 0x7e,0x28,0x0, 0x2d,0x2e,0x28,0x1, 0x61,0x80,0x3a,0xbe,0xf4,0x0,
+0xbf,0x50,0x23,0x7e,0x54,0x0, 0xbf,0x9d,0x5f,0x12,0x10,0xa0,0xbe,0x28,0x0, 0xc7,
+0x38,0x8, 0x7e,0x18,0x0, 0xc7,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0, 0x2d,0x50,0x17,
+0x7e,0x28,0x0, 0x2d,0x80,0x11,0x12,0x10,0x9a,0x2e,0x28,0x0, 0xc7,0xbe,0x28,0x1,
+0x61,0x28,0x4, 0x7e,0x28,0x1, 0x61,0x7d,0x35,0x22,0x7d,0x5f,0x9e,0x54,0x0, 0xbf,
+0x6d,0x44,0x7e,0x14,0x1, 0x81,0x7f,0x12,0x12,0x3, 0xfd,0x7f,0x21,0x7c,0xba,0x7c,
+0xa9,0xa, 0x48,0x22,0x7d,0xf3,0xbe,0xf4,0x0, 0x50,0x38,0x20,0x7e,0x54,0x0, 0x50,
+0x9d,0x5f,0x12,0x11,0x3b,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x28,0x4, 0x9f,0x22,
+0x80,0x60,0x7e,0x18,0x0, 0x2d,0x9f,0x12,0x7f,0x21,0x80,0x56,0xbe,0xf4,0x1, 0x2f,
+0x40,0x16,0x12,0x11,0x35,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x40,0x4, 0x7e,0x28,
+0x0, 0x2c,0x2e,0x28,0x1, 0x61,0x80,0x3a,0xbe,0xf4,0x0, 0xbf,0x50,0x23,0x7e,0x54,
+0x0, 0xbf,0x9d,0x5f,0x12,0x10,0xa0,0xbe,0x28,0x0, 0xc7,0x38,0x8, 0x7e,0x18,0x0,
+0xc7,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0, 0x2d,0x50,0x17,0x7e,0x28,0x0, 0x2d,0x80,
+0x11,0x12,0x10,0x9a,0x2e,0x28,0x0, 0xc7,0xbe,0x28,0x1, 0x61,0x28,0x4, 0x7e,0x28,
+0x1, 0x61,0x7d,0x35,0x22,0x7d,0x5f,0x9e,0x54,0x1, 0x2f,0x6d,0x44,0x7e,0x14,0x2,
+0x7, 0x22,0xca,0xf8,0x6c,0xff,0x80,0x1d,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7a,
+0x12,0x10,0x7, 0x74,0x5, 0xac,0xbf,0x59,0x35,0x0, 0x7a,0x49,0x35,0x0, 0x7c,0x12,
+0x10,0xb4,0x12,0x3c,0x51,0x12,0x38,0x94,0x48,0xde,0xda,0xf8,0x22,0xca,0xf8,0x12,
+0x49,0xe0,0x7e,0x34,0x2, 0xd4,0x7a,0x37,0x6, 0xd8,0x12,0x4c,0x52,0xe4,0x12,0x43,
+0xb3,0x12,0x4d,0x63,0x12,0x3e,0x73,0x12,0x47,0xb1,0xe4,0x12,0x3f,0xc9,0x12,0x1c,
+0xc2,0x12,0x4e,0xf1,0x7e,0xb3,0xb, 0x9f,0xb4,0x1, 0x2, 0x80,0x2, 0x41,0x84,0x7e,
+0xf3,0x6, 0x4d,0x4c,0xff,0x68,0x36,0xbe,0xf0,0x1, 0x78,0xa, 0xe4,0x7a,0xb3,0x6,
+0x4d,0x12,0x3e,0xc9,0x80,0x12,0xbe,0xf0,0x3, 0x78,0x5, 0x12,0x1b,0xdc,0x80,0x8,
+0xbe,0xf0,0x2, 0x78,0x3, 0x12,0x17,0xff,0x7e,0x34,0xa, 0xd1,0x12,0x14,0xea,0x7e,
+0x34,0xa, 0xbb,0x12,0x14,0xea,0x7e,0x34,0xa, 0x8d,0x12,0x14,0xea,0x12,0x48,0x4c,
+0x12,0x37,0xfc,0x12,0x1f,0xf9,0x44,0x1, 0x7a,0xb3,0x6, 0xd7,0x12,0x15,0x1d,0x12,
+0x2f,0x45,0x12,0x27,0xfc,0x12,0x30,0xd8,0x12,0x23,0x3e,0x12,0x2a,0xa0,0x12,0x3c,
+0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x3, 0x12,0x14,0xfa,0x12,0xe, 0xaf,0x12,0x0,
+0x3e,0x7e,0x34,0x3, 0x5c,0x7e,0x24,0x5, 0x34,0x7e,0xb3,0x6, 0xc8,0x12,0x2d,0xc3,
+0x12,0x0, 0x6, 0x12,0x26,0x96,0x12,0x11,0x42,0x12,0x38,0x63,0x12,0x2d,0x3d,0x12,
+0x12,0x87,0x7e,0xb3,0xb, 0x38,0x60,0x8, 0xe4,0x7a,0xb3,0xb, 0x38,0x12,0x28,0x8c,
+0x12,0x3f,0x3d,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x3, 0x12,0x14,0xfa,0x12,0x18,0x72,
+0x12,0x2e,0xe5,0x12,0x28,0x97,0x12,0x28,0x27,0x12,0x38,0xa1,0x12,0x3c,0x80,0x12,
+0x7, 0x98,0x12,0x57,0xfa,0x12,0x51,0x3e,0x12,0x53,0xbf,0x7e,0xb3,0x6, 0x67,0x30,
+0xe1,0x3, 0x12,0x14,0xfa,0x7e,0xb3,0x0, 0x9a,0x12,0x41,0xc9,0x12,0xf, 0x1, 0x12,
+0x3e,0xf1,0x21,0x94,0xda,0xf8,0x22,0xca,0x3b,0x7e,0xb3,0x0, 0x90,0x7c,0xab,0x5e,
+0xa0,0xf, 0x7a,0xa1,0x25,0xc4,0x54,0xf, 0x54,0xf, 0xf5,0x26,0x7e,0x77,0x0, 0x6a,
+0x7e,0x67,0x0, 0x6c,0x7e,0xb3,0x0, 0x68,0xf5,0x23,0x7e,0xb3,0x0, 0x69,0xf5,0x24,
+0x4c,0xaa,0x78,0x4, 0xc2,0x4, 0x81,0x72,0xe5,0x25,0xbe,0xb0,0x1, 0x28,0x58,0x75,
+0x22,0x0, 0x80,0x48,0x12,0x14,0xe3,0x49,0x45,0x0, 0x7a,0x7a,0x45,0x2f,0x49,0x35,
+0x0, 0x7c,0x12,0x15,0x12,0x28,0xa, 0x12,0x14,0xf2,0x28,0x2e,0xbe,0x35,0x31,0x28,
+0x29,0x12,0x14,0x9b,0xbd,0x36,0x28,0x22,0x7a,0x65,0x29,0x12,0x17,0xf7,0x50,0x3,
+0x12,0x17,0xef,0x7e,0x35,0x33,0x12,0x14,0xc0,0x12,0x14,0xe3,0x59,0x35,0x0, 0x7a,
+0x12,0x14,0xbd,0x12,0x14,0xe3,0x59,0x35,0x0, 0x7c,0x5, 0x22,0xe5,0x25,0xbe,0xb1,
+0x22,0x38,0xb1,0xc2,0x4, 0x81,0x72,0xe5,0x25,0xb4,0x1, 0x22,0xe5,0x26,0x70,0x1e,
+0x12,0x15,0x7, 0x28,0xe, 0x12,0x14,0xf2,0x28,0x5, 0xbe,0x35,0x31,0x38,0x4, 0xc2,
+0x4, 0x81,0x72,0x12,0x14,0x9b,0x7a,0x35,0x29,0x12,0x5a,0xd1,0x81,0x9, 0xe5,0x25,
+0xb4,0x1, 0x2, 0x80,0x2, 0x81,0x9, 0x12,0x15,0x7, 0x28,0xe, 0x12,0x14,0xf2,0x28,
+0x5, 0xbe,0x35,0x31,0x38,0x4, 0xc2,0x4, 0x81,0x72,0x12,0x14,0x9b,0x9e,0x37,0x0,
+0x60,0x12,0x0, 0x2e,0x7a,0x35,0x2b,0x7e,0x35,0x33,0x9e,0x37,0x0, 0x50,0x7e,0x25,
+0x35,0x9e,0x27,0x0, 0x52,0x12,0x14,0x7e,0x7a,0x35,0x2d,0x7e,0x37,0x0, 0x70,0xbe,
+0x35,0x2d,0x50,0x28,0x7e,0x35,0x27,0x9e,0x37,0x0, 0x54,0x12,0x0, 0x2e,0x7e,0xa1,
+0x23,0x74,0x5, 0xa4,0xbd,0x35,0x58,0xc, 0x7e,0xa0,0x2, 0xe5,0x23,0xa4,0xf5,0x23,
+0xd2,0x4, 0x80,0x8, 0x7e,0xb3,0x0, 0x68,0xf5,0x23,0xc2,0x4, 0x30,0x4, 0x30,0xe5,
+0x23,0xa, 0x3b,0xbe,0x35,0x2b,0x28,0x4, 0x6d,0x33,0x80,0x27,0xe5,0x24,0xa, 0x3b,
+0xbe,0x35,0x2b,0x28,0x14,0x7e,0x25,0x2b,0x7e,0x34,0x0, 0x64,0xad,0x23,0xe5,0x24,
+0xa, 0x1b,0x6d,0x0, 0x12,0x4, 0x8, 0x80,0xa, 0x7e,0x34,0x0, 0x64,0x80,0x4, 0x7e,
+0x34,0x0, 0x64,0x7a,0x35,0x2b,0x7e,0xf7,0x0, 0x60,0x7d,0x1f,0x6d,0x0, 0x7e,0x35,
+0x27,0x6d,0x22,0x9f,0x10,0x7e,0x15,0x2b,0x12,0x3, 0xfd,0x12,0x27,0xba,0x7f,0x1,
+0x7d,0x3f,0x6d,0x22,0x2f,0x10,0x7a,0x35,0x29,0x7e,0x35,0x29,0xbd,0x36,0x38,0x7,
+0x7e,0x25,0x27,0xbd,0x26,0x28,0x5, 0x7a,0x65,0x29,0x80,0xb, 0xbe,0x34,0x0, 0x1,
+0x50,0x5, 0x6d,0x33,0x7a,0x35,0x29,0x12,0x17,0xf7,0x50,0x3, 0x12,0x17,0xef,0x7e,
+0x35,0x33,0x12,0x14,0xc0,0x7a,0x37,0x0, 0x7a,0x12,0x14,0xbd,0x7d,0x23,0x7a,0x27,
+0x0, 0x7c,0x7e,0x37,0x0, 0x7a,0x7a,0x35,0x2f,0x7a,0x25,0x31,0x7d,0x27,0x12,0x14,
+0x75,0x7a,0x35,0x33,0x7e,0x35,0x31,0x7d,0x27,0x12,0x14,0x75,0x7a,0x35,0x35,0x7e,
+0x35,0x29,0x7a,0x37,0x0, 0x60,0x7e,0x27,0x0, 0x70,0xbe,0x25,0x2d,0x50,0x3, 0x12,
+0x5a,0xd1,0xda,0x3b,0x22,0x7d,0x12,0x6d,0x0, 0x6d,0x22,0x9f,0x10,0x22,0x7d,0x52,
+0x7d,0x43,0x7d,0x35,0x12,0x17,0x69,0x7f,0x71,0x7d,0x34,0x12,0x17,0x69,0x2f,0x17,
+0x7c,0xb4,0x12,0x1, 0x20,0x12,0x1, 0x9a,0x2, 0x1, 0x5d,0x7e,0x35,0x2f,0x7d,0x27,
+0x12,0x14,0x75,0x7a,0x35,0x33,0x7e,0x35,0x31,0x7d,0x27,0x12,0x14,0x75,0x7d,0x23,
+0x7a,0x25,0x35,0x7e,0x35,0x33,0x12,0x14,0x7e,0x7a,0x35,0x27,0x22,0x7e,0x35,0x35,
+0x7e,0x25,0x29,0x7e,0x15,0x27,0x7d,0x7, 0x7d,0xf0,0x7d,0xe1,0x7d,0x12,0x1a,0x26,
+0x1a,0x24,0x12,0x3, 0xfd,0x7d,0x1e,0x6d,0x0, 0x12,0x4, 0x59,0x7d,0x1f,0x6d,0x0,
+0x2f,0x10,0x22,0x7e,0xa1,0x22,0x74,0x5, 0xa4,0x22,0x7e,0x24,0x0, 0x16,0xe4,0x2,
+0x4, 0xeb,0x7e,0x37,0x0, 0x72,0xbe,0x35,0x2f,0x22,0x7e,0xb3,0x0, 0x90,0x54,0xf0,
+0x44,0x2, 0x7a,0xb3,0x0, 0x90,0x22,0x7e,0x37,0x0, 0x7a,0x7a,0x35,0x2f,0x7e,0x37,
+0x0, 0x7c,0x7a,0x35,0x31,0x7e,0x73,0x6, 0xc7,0xbe,0x70,0x0, 0x22,0xca,0x3b,0x12,
+0x17,0xe0,0x30,0xe1,0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0xc, 0x7e,0xb3,0xd, 0x3f,
+0x70,0x14,0x7e,0xb3,0xd, 0x3c,0x70,0xe, 0x7e,0xb3,0x6, 0x67,0x20,0xe0,0x2, 0xc1,
+0x61,0x20,0xe2,0x2, 0xc1,0x61,0x7c,0xba,0x30,0xe1,0x8, 0x7e,0xb3,0x6, 0x12,0xf5,
+0x28,0x80,0x6, 0x7e,0xb3,0x6, 0x13,0xf5,0x28,0x7c,0xba,0x30,0xe1,0x7, 0x7e,0xb3,
+0x6, 0x67,0x30,0xe2,0x5, 0x75,0x29,0x1, 0x80,0x3, 0x75,0x29,0x2, 0x7e,0xb3,0xd,
+0x3c,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x3c,0x7e,0xb3,0x6, 0x67,0x30,
+0xe5,0xb, 0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x12,0x17,0xd2,
+0x4e,0x70,0x2, 0x1b,0x28,0x30,0x12,0x5a,0x97,0x7e,0x73,0x6, 0xd6,0xa, 0x57,0x12,
+0x17,0x8f,0x12,0x5a,0xb5,0x75,0x25,0x0, 0xc1,0x2d,0x12,0x43,0x6b,0x75,0x26,0x0,
+0x80,0x72,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0x6c,0x77,0x12,0x17,0xa0,0x80,0x4, 0xe4,
+0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x75,0x24,0x0, 0x80,0x50,0x12,0x5a,0xa1,
+0x9, 0x23,0x6, 0x96,0x7a,0x21,0x27,0x7e,0x71,0x25,0x74,0x3, 0xac,0x7b,0xe5,0x26,
+0xa, 0x2b,0x2d,0x23,0x7e,0x34,0x0, 0x58,0xad,0x32,0x7e,0x30,0x4, 0xac,0x23,0x2d,
+0x13,0x59,0x71,0x0, 0xa8,0x59,0x61,0x0, 0xa6,0x7e,0x73,0x6, 0xd6,0xbe,0x70,0x2,
+0x38,0x19,0xa, 0x7, 0x7e,0x54,0x0, 0x3, 0x9d,0x50,0x2e,0x14,0x0, 0xa6,0x12,0x2d,
+0xbb,0x60,0x5, 0x2f,0x11,0x14,0x78,0xfb,0x12,0x17,0xe7,0x5, 0x24,0x12,0x17,0x61,
+0x38,0xab,0x5, 0x26,0xe5,0x28,0xbe,0xb1,0x26,0x38,0x87,0x5, 0x25,0xe5,0x29,0xbe,
+0xb1,0x25,0x28,0x2, 0xa1,0xaa,0x7e,0x37,0x6, 0xa, 0x99,0x34,0x12,0x17,0xd2,0x5e,
+0x70,0xfd,0x1b,0x28,0x30,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0xa, 0x1b,0x3e,0x14,0x12,
+0x37,0x1a,0x12,0x5a,0x97,0x7e,0xb3,0x6, 0xca,0x12,0x17,0x89,0x12,0x5a,0xb5,0xe1,
+0x57,0x7e,0xb3,0x6, 0xc9,0x30,0xe0,0x51,0x7e,0xb3,0x6, 0x67,0x30,0xe5,0x5, 0x12,
+0x17,0x5a,0x50,0x11,0x74,0x2, 0x12,0x17,0xda,0x12,0x43,0x6b,0x12,0x17,0x97,0x80,
+0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0xe4,0x12,0x17,0xda,0x75,0x24,
+0x0, 0x80,0x17,0x12,0x5a,0xa1,0x9, 0xa3,0x6, 0x96,0x7a,0xa1,0x27,0x74,0x4, 0xa4,
+0x59,0x75,0x3, 0x5e,0x59,0x65,0x3, 0x5c,0x5, 0x24,0x12,0x17,0x61,0x38,0xe4,0x7e,
+0xb3,0x6, 0x67,0x30,0xe5,0x3, 0x12,0x17,0x97,0x75,0x24,0x0, 0xe1,0x4a,0xe5,0x24,
+0xa, 0x3b,0x9, 0xb3,0x6, 0x96,0xf5,0x27,0x12,0x17,0xe0,0x30,0xe1,0x19,0x7e,0xb3,
+0x6, 0xca,0xc4,0x23,0x54,0x7, 0xbe,0xb0,0x2, 0x38,0x22,0x12,0x5a,0x76,0x60,0x16,
+0x2f,0x11,0x14,0x78,0xfb,0x80,0xf, 0x12,0x23,0x28,0x38,0x11,0x12,0x5a,0x76,0x60,
+0x5, 0x2f,0x11,0x14,0x78,0xfb,0x59,0x34,0x0, 0x2, 0x1b,0x48,0x20,0x7c,0xba,0x30,
+0xe0,0x46,0x7e,0x31,0x27,0x74,0x2, 0xac,0x3b,0x49,0xf1,0x5, 0x90,0x7d,0x3f,0x1a,
+0x36,0x1a,0xe6,0x7e,0x11,0x27,0x74,0x4, 0xac,0x1b,0x49,0x30,0x3, 0x5e,0x49,0x20,
+0x3, 0x5c,0x7f,0x21,0x9f,0x27,0x59,0x50,0x4, 0x16,0x59,0x40,0x4, 0x14,0x49,0xf1,
+0x5, 0x34,0x7d,0x1f,0x1a,0x12,0x1a,0xe2,0x7e,0x31,0x27,0x74,0x4, 0xac,0x3b,0x2e,
+0x14,0x3, 0x5c,0x9f,0x17,0x12,0x17,0xe7,0x5, 0x24,0x12,0x17,0x61,0x28,0x2, 0xc1,
+0xbe,0x7e,0x37,0x6, 0xc, 0x99,0x34,0xda,0x3b,0x22,0x30,0xa, 0x2, 0xd3,0x22,0xc3,
+0x22,0x7e,0x73,0x6, 0xc8,0xbe,0x71,0x24,0x22,0x1a,0x26,0x1a,0x24,0x7f,0x1, 0x2,
+0x3, 0xec,0x7a,0xb3,0x6, 0xca,0x7e,0x44,0x12,0x0, 0xb, 0x48,0x50,0x5e,0xa0,0x1f,
+0x1b,0x48,0x50,0x7e,0x73,0x6, 0xca,0x7c,0xb7,0xc4,0x23,0x54,0x7, 0xa, 0x5b,0xc4,
+0x23,0x54,0xe0,0x7c,0xab,0xe4,0x22,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0x7e,0x70,0x1,
+0x24,0xff,0x92,0xb, 0xc2,0xc6,0xd2,0xee,0xa9,0xd6,0xf7,0xd2,0xfe,0x4c,0x77,0x68,
+0x15,0xc2,0xaf,0x12,0x17,0xd2,0x4e,0x70,0x1, 0x1b,0x28,0x30,0x7e,0x37,0x6, 0x0,
+0x99,0x34,0xd2,0xaf,0x80,0x9, 0x12,0x17,0xd2,0x4e,0x70,0x1, 0x1b,0x28,0x30,0xc2,
+0xa, 0x22,0x7e,0x24,0x12,0x0, 0xb, 0x28,0x30,0x22,0x7e,0x37,0x6, 0x2, 0x89,0x34,
+0x7e,0xa3,0x6, 0xd7,0x7c,0xba,0x22,0x59,0x31,0x0, 0x2, 0x1b,0x18,0x20,0x22,0x7e,
+0x34,0x0, 0x1, 0x7a,0x35,0x27,0x22,0x7e,0x35,0x27,0xbe,0x34,0x0, 0x1, 0x22,0xca,
+0xf8,0x7e,0xa3,0x6, 0xd7,0x7c,0xfa,0x5e,0xf0,0x1, 0x7c,0xba,0x12,0x1f,0xea,0x12,
+0x15,0x1d,0x6c,0xaa,0x80,0x3b,0x7e,0xb3,0x6, 0x4d,0x60,0xb, 0xb4,0x2, 0x30,0xa,
+0x3a,0x9, 0xb3,0xa, 0xbb,0x60,0x28,0x7e,0x90,0x4, 0xac,0x9a,0x49,0x34,0x3, 0x5e,
+0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0x5, 0x34,0x59,0x32,0x5, 0x90,0x9f,0x11,0x59,
+0x34,0x3, 0x5e,0x59,0x24,0x3, 0x5c,0x59,0x34,0x4, 0x16,0x59,0x24,0x4, 0x14,0xb,
+0xa0,0x12,0x18,0x6b,0x38,0xc0,0x7c,0x6f,0x5e,0x60,0x1, 0x7e,0x73,0x6, 0xd7,0x5e,
+0x70,0xfe,0x4c,0x76,0x7a,0x73,0x6, 0xd7,0xda,0xf8,0x22,0x7e,0xb3,0x6, 0xc8,0xbc,
+0xba,0x22,0x6c,0xaa,0x80,0x9, 0x12,0x19,0xf, 0x70,0x2, 0x21,0xe, 0xb, 0xa0,0x12,
+0x18,0x6b,0x38,0xf2,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x2, 0x21,0xe, 0x6c,0xaa,0x80,
+0x78,0x12,0x19,0xf, 0xb4,0x1, 0x70,0x7e,0xb3,0x6, 0xc6,0xbc,0xba,0x28,0x21,0x12,
+0x22,0x8a,0x7e,0xb3,0x6, 0x45,0x12,0x5b,0x6a,0x8, 0x6, 0x7e,0xb3,0x6, 0x43,0x80,
+0x1f,0x6d,0x33,0x9d,0x34,0x12,0x19,0x1e,0x58,0x4d,0x7e,0xb3,0x6, 0x44,0x80,0x34,
+0x12,0x22,0x8a,0x7e,0xb3,0x6, 0x48,0x12,0x5b,0x6a,0x8, 0x1b,0x7e,0xb3,0x6, 0x46,
+0xa, 0xeb,0x7e,0x50,0x2, 0xac,0x5a,0x7d,0xf2,0x2e,0xf4,0x5, 0x34,0xb, 0xf8,0x20,
+0x2d,0x2e,0x1b,0xf8,0x20,0x80,0x20,0x6d,0x33,0x9d,0x34,0x12,0x19,0x1e,0x58,0x17,
+0x7e,0xb3,0x6, 0x47,0xa, 0x4b,0x7e,0x50,0x2, 0xac,0x5a,0x2e,0x24,0x5, 0x34,0xb,
+0x28,0x30,0x9d,0x34,0x1b,0x28,0x30,0xb, 0xa0,0x12,0x18,0x6b,0x38,0x83,0x22,0x7e,
+0x34,0x6, 0x15,0x7c,0xba,0x2, 0x1a,0x54,0x6e,0x34,0xff,0xff,0xb, 0x34,0x1a,0x26,
+0x1a,0x24,0xbf,0x1, 0x22,0xca,0x3b,0x6c,0xee,0x6d,0x66,0x7e,0xb3,0x6, 0x67,0x30,
+0xe1,0x2, 0x41,0x33,0x6c,0xff,0x21,0xe9,0x12,0x1a,0x4e,0xb4,0x1, 0x2, 0x80,0x2,
+0x21,0xe7,0x7e,0x73,0x6, 0xc6,0xbc,0x7f,0x28,0x59,0xb, 0xe0,0x7e,0x50,0x4, 0xac,
+0x5f,0x49,0xd2,0x3, 0x5e,0x49,0xc2,0x3, 0x5c,0x7e,0x73,0x6, 0x45,0xa, 0x37,0x7d,
+0x53,0x1a,0x4a,0x1a,0x48,0xbf,0x62,0x8, 0xb, 0x12,0x1a,0x36,0xbf,0x2, 0x8, 0x4,
+0xb, 0x64,0x80,0x17,0x6d,0xff,0x9d,0xf3,0x7d,0x1f,0x1a,0x12,0x1a,0xe2,0xbf,0x67,
+0x58,0x9, 0x12,0x1a,0x36,0xbf,0x7, 0x58,0x2, 0x1b,0x64,0x12,0x1a,0x36,0xbf,0x2,
+0x8, 0x6, 0x7e,0xb3,0x6, 0x43,0x80,0x29,0x12,0x19,0x18,0x58,0x4a,0x7e,0x73,0x6,
+0x44,0x80,0x3c,0x7e,0x50,0x4, 0xac,0x5f,0x12,0x1a,0x36,0x7e,0x73,0x6, 0x48,0xa,
+0x37,0x7d,0x53,0x7d,0xf3,0x1a,0x5a,0x1a,0xea,0xbf,0x7, 0x8, 0x19,0x7e,0xb3,0x6,
+0x46,0xa, 0xfb,0x7e,0x90,0x2, 0xac,0x9f,0x2e,0x44,0x5, 0x90,0xb, 0x48,0x50,0x2d,
+0x5f,0x1b,0x48,0x50,0x80,0x11,0x12,0x19,0x18,0x58,0xc, 0x7e,0x73,0x6, 0x47,0x12,
+0x1a,0x3f,0x9d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,0x6a,0x28,0x2, 0x21,0x38,
+0xbe,0xe0,0x0, 0x28,0x3e,0x7d,0x36,0x12,0x0, 0x2e,0xa, 0x2e,0xbd,0x32,0x78,0x33,
+0x6c,0xff,0x80,0x2a,0x12,0x1a,0x4e,0x70,0x23,0xbe,0x64,0x0, 0x0, 0x8, 0xb, 0x7e,
+0x73,0x6, 0x43,0x12,0x1a,0x3f,0x2d,0x31,0x80,0xf, 0xbe,0x64,0x0, 0x0, 0x58,0xc,
+0x7e,0x73,0x6, 0x44,0x12,0x1a,0x3f,0x9d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,
+0x6a,0x38,0xd1,0xda,0x3b,0x22,0x49,0x12,0x4, 0x16,0x49,0x2, 0x4, 0x14,0x22,0xa,
+0x17,0x7e,0x50,0x2, 0xac,0x5f,0x2e,0x24,0x5, 0x90,0xb, 0x28,0x30,0x22,0x7e,0x34,
+0x6, 0x15,0x7c,0xbf,0x7d,0x23,0x4d,0x22,0x68,0x5, 0xbe,0xb0,0x2e,0x40,0x3, 0x74,
+0x1, 0x22,0xa, 0x3b,0x2d,0x32,0x7e,0x39,0xb0,0x22,0x7e,0x73,0x6, 0xc8,0xbc,0x7f,
+0x22,0xca,0x3b,0x75,0x23,0x0, 0x7e,0xb3,0x6, 0xd7,0x54,0xfd,0x7a,0xb3,0x6, 0xd7,
+0x7e,0x67,0x6, 0xd8,0x7e,0xb3,0x6, 0x67,0x30,0xe5,0x11,0x80,0x4, 0xe4,0x12,0xf,
+0xcd,0x12,0x17,0x5a,0x50,0xf7,0x75,0x23,0x1, 0x12,0x41,0x1d,0x12,0x5a,0x93,0x7e,
+0x73,0x6, 0xd6,0xa, 0x57,0x12,0x17,0x8f,0x12,0x5a,0xb5,0x6c,0xff,0x6d,0x33,0x80,
+0xa, 0x74,0x2, 0xac,0xbf,0x59,0x35,0x9, 0xfd,0xb, 0xf0,0x7e,0x53,0x6, 0xc8,0xbc,
+0x5f,0x38,0xee,0x6c,0xee,0x61,0x68,0x6c,0xff,0x80,0x15,0x7e,0xb3,0x6, 0x4d,0x60,
+0x5, 0x12,0x1b,0xd2,0x60,0x8, 0x6d,0x22,0x12,0x1b,0xca,0x1b,0x38,0x20,0xb, 0xf0,
+0x12,0x1a,0x6a,0x38,0xe6,0x75,0x22,0x0, 0x6d,0x33,0x7e,0xa1,0x22,0x74,0x2, 0xa4,
+0x59,0x35,0xb, 0xc3,0x5, 0x22,0xe5,0x22,0xb4,0x2e,0xed,0x6c,0xff,0x80,0x17,0xa,
+0x2f,0x7e,0x34,0x0, 0x9, 0x9d,0x32,0x7a,0x73,0xc, 0x1f,0x12,0x50,0xe2,0x12,0x41,
+0x28,0x12,0x50,0x71,0xb, 0xf0,0x7e,0x73,0x6, 0x14,0xbc,0x7f,0x38,0xe1,0x6c,0xff,
+0x80,0x3f,0x7e,0x50,0x2, 0xac,0x5f,0x49,0x12,0x9, 0xfd,0x12,0x1b,0xca,0xb, 0x38,
+0x30,0xbd,0x13,0x50,0x2a,0x59,0x32,0x9, 0xfd,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,
+0x1b,0xd2,0x60,0x1b,0x12,0x1f,0xdd,0x74,0x2, 0xac,0xbf,0x59,0x35,0x5, 0x34,0x74,
+0x2, 0xac,0xbf,0x49,0x35,0x5, 0x34,0x74,0x2, 0xac,0xbf,0x59,0x35,0x5, 0x90,0xb,
+0xf0,0x12,0x1a,0x6a,0x38,0xbc,0xb, 0xe0,0x7e,0x73,0x6, 0x11,0xbc,0x7e,0x28,0x2,
+0x41,0xc7,0x6c,0xff,0x80,0x1b,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x1b,0xd2,0x60,
+0xe, 0x74,0x2, 0xac,0xbf,0x49,0x25,0x9, 0xfd,0x12,0x1b,0xca,0x1b,0x38,0x20,0xb,
+0xf0,0x12,0x1a,0x6a,0x38,0xe0,0x74,0x3, 0x12,0x17,0xda,0x12,0x1f,0xa8,0x12,0x1f,
+0xf9,0xe5,0x23,0x60,0x15,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,
+0x7e,0xb3,0x6, 0x67,0x44,0x20,0x7a,0xb3,0x6, 0x67,0x12,0x5a,0x93,0x7e,0xb3,0x6,
+0xca,0x12,0x17,0x89,0x12,0x5a,0xb5,0xda,0x3b,0x22,0x7e,0x70,0x2, 0xac,0x7f,0x2d,
+0x36,0x22,0xa, 0x3f,0x2e,0x37,0x6, 0x4e,0x7e,0x39,0xb0,0x22,0xca,0x79,0x12,0x1f,
+0xe6,0x6d,0x33,0x6c,0xee,0x80,0xa, 0x74,0x2, 0xac,0xbe,0x59,0x35,0x9, 0xfd,0xb,
+0xe0,0x7e,0x53,0x6, 0xc8,0xbc,0x5e,0x38,0xee,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0x3f,
+0x6c,0xee,0x80,0x31,0x12,0x41,0x28,0x6c,0xff,0x80,0x23,0x7e,0x50,0x2, 0xac,0x5f,
+0x49,0xf2,0x9, 0xfd,0x6d,0xee,0x74,0x4, 0xac,0xbf,0x49,0x15,0x3, 0x5e,0x49,0x5,
+0x3, 0x5c,0xbf,0x7, 0x8, 0x6, 0x7d,0x31,0x59,0x32,0x9, 0xfd,0xb, 0xf0,0x12,0x1a,
+0x6a,0x38,0xd8,0xb, 0xe0,0x7e,0x73,0x6, 0x10,0xbc,0x7e,0x38,0xc7,0x80,0x39,0x7e,
+0xe0,0x1, 0x12,0x15,0x1d,0x6c,0xff,0x80,0x23,0x12,0x1f,0xdd,0x49,0x25,0x3, 0x5c,
+0x7e,0x8, 0x0, 0x4, 0x12,0x4, 0x59,0x7d,0x13,0x7e,0x50,0x2, 0xac,0x5f,0x2e,0x24,
+0x9, 0xfd,0xb, 0x28,0x30,0x2d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,0x6a,0x38,
+0xd8,0xb, 0xe0,0xbe,0xe0,0x4, 0x28,0xca,0x6c,0xee,0x80,0x3b,0x7e,0xa3,0x6, 0x4d,
+0x4c,0xaa,0x68,0x19,0xbe,0xa0,0x1, 0x78,0x7, 0xa, 0x3e,0x12,0x1b,0xd4,0x70,0xd,
+0xbe,0xa0,0x3, 0x78,0x20,0xa, 0x3e,0x9, 0xb3,0xa, 0x8d,0x60,0x18,0x74,0x2, 0xac,
+0xbe,0x49,0x35,0x9, 0xfd,0x59,0x35,0x5, 0x34,0x74,0x2, 0xac,0xbe,0x49,0x35,0x9,
+0xfd,0x59,0x35,0x5, 0x90,0xb, 0xe0,0x7e,0x73,0x6, 0xc8,0xbc,0x7e,0x38,0xbd,0xda,
+0x79,0x22,0x12,0x1e,0xf3,0x12,0x3e,0x5e,0x2, 0x1b,0xdc,0x7e,0x34,0x0, 0x24,0x12,
+0x4f,0x6, 0xbe,0xb0,0x1, 0x68,0x8, 0x80,0xfe,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,
+0x17,0x5a,0x50,0xf7,0xa9,0xc3,0xea,0x6d,0x11,0x7e,0x44,0x12,0x0, 0x1b,0x48,0x10,
+0x7e,0x53,0x6, 0xc9,0x7c,0xb5,0x54,0x1, 0xa, 0x5b,0x12,0x1e,0xda,0x7c,0x75,0x1e,
+0x70,0x5e,0x70,0x3, 0xa, 0x57,0x3e,0x54,0x3e,0x54,0x3e,0x54,0x12,0x1e,0xd6,0x7e,
+0x63,0x6, 0xca,0x7c,0xb6,0x54,0x1, 0x12,0x1f,0xf1,0x12,0x1e,0xda,0x7c,0xb6,0x1e,
+0xb0,0x54,0x3, 0x12,0x1f,0xf1,0x12,0x1e,0xd6,0x7c,0xb6,0x12,0x17,0x89,0x12,0x1e,
+0xdc,0x7e,0x54,0x13,0x14,0xb, 0x58,0x0, 0x6c,0x0, 0x12,0x1e,0xcf,0x5e,0x10,0xbf,
+0x12,0x1e,0xcf,0x4e,0x10,0x40,0x12,0x1e,0xcf,0x5e,0x10,0xcf,0x12,0x1e,0xcf,0x4e,
+0x10,0x10,0x12,0x1e,0xcf,0x5e,0x10,0xfc,0x12,0x1e,0xcf,0xa5,0xbf,0x0, 0x5, 0x4e,
+0x10,0x1, 0x80,0x3, 0x4e,0x10,0x3, 0x1b,0x58,0x0, 0x7e,0x44,0x12,0x2, 0x1b,0x48,
+0x10,0x7e,0x43,0x6, 0xc8,0xa, 0x54,0x7c,0xab,0xe4,0x12,0x1e,0xdc,0x7e,0xa3,0x6,
+0xcb,0x7c,0xba,0x23,0x54,0x1, 0xa, 0xfb,0xb, 0x48,0x0, 0x4d,0xf, 0x1b,0x48,0x0,
+0x7c,0xba,0x30,0xe6,0xe, 0x7c,0xb5,0x30,0xe0,0x9, 0xb, 0x48,0x20,0x4e,0x50,0x8,
+0x1b,0x48,0x20,0x7c,0xb6,0x30,0xe6,0x12,0xb, 0x48,0x0, 0x4e,0x10,0x20,0x1b,0x48,
+0x0, 0xb, 0x48,0x0, 0x4e,0x10,0x10,0x1b,0x48,0x0, 0x7e,0x24,0x12,0x4, 0xb, 0x28,
+0x0, 0x5e,0x0, 0x7f,0x1b,0x28,0x0, 0xb, 0x28,0x0, 0x4e,0x0, 0x80,0x1b,0x28,0x0,
+0x7e,0x24,0x13,0x1e,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xce,0x12,0x1e,0xc2,0x7e,0x63,
+0x6, 0xd1,0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x24,0x12,0x8, 0x1b,0x28,0x10,0x7e,0x63,
+0x6, 0xcc,0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x63,0x6, 0xcd,0x12,0x1e,0xc2,0x7e,0x24,
+0x13,0x20,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xcf,0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x63,
+0x6, 0xd0,0x12,0x1e,0xc2,0x7e,0x24,0x13,0x22,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xd2,
+0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x63,0x6, 0xd3,0x12,0x1e,0xc2,0x7e,0x4, 0x12,0xa,
+0x1b,0x8, 0x10,0xa5,0xbf,0x0, 0x8, 0xb, 0x8, 0x10,0x4e,0x20,0x1, 0x80,0x1b,0xa5,
+0xbf,0x1, 0x8, 0xb, 0x8, 0x10,0x4e,0x20,0x11,0x80,0xf, 0xb, 0x8, 0x10,0xa5,0xbf,
+0x2, 0x5, 0x4e,0x20,0x33,0x80,0x3, 0x4e,0x20,0xff,0x1b,0x8, 0x10,0x7c,0xba,0x1e,
+0xb0,0x54,0x3, 0xa, 0x3b,0xb, 0x8, 0x10,0x4d,0x13,0x1b,0x8, 0x10,0x12,0x4f,0x29,
+0xb, 0x8, 0x10,0x5e,0x30,0xfb,0x1b,0x8, 0x10,0xb, 0x8, 0x30,0x4e,0x70,0x4, 0x1b,
+0x8, 0x30,0x7e,0x73,0x6, 0xd4,0xa, 0x27,0x7e,0x34,0x13,0x10,0x1b,0x38,0x20,0x12,
+0x4f,0x92,0x7e,0xb3,0x6, 0xca,0x1e,0xb0,0x54,0x3, 0xbe,0xb0,0x1, 0x68,0x3, 0xb4,
+0x2, 0xb, 0x7e,0x27,0x6, 0xc4,0x7e,0x34,0x13,0x12,0x1b,0x38,0x20,0x74,0x2, 0x7a,
+0xb3,0x6, 0xda,0xd2,0x8e,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x7e,0xb3,0x6, 0xda,0x70,
+0xf6,0x22,0x7c,0x86,0x6c,0x99,0xb, 0x28,0x0, 0x4d,0x4, 0x1b,0x28,0x0, 0x22,0x1b,
+0x58,0x0, 0xb, 0x58,0x0, 0x22,0x3e,0x54,0x3e,0x54,0x3e,0x54,0xb, 0x48,0x0, 0x4d,
+0x5, 0x1b,0x48,0x0, 0x22,0x7e,0xb3,0x3, 0x34,0x12,0x43,0xb3,0x7e,0xb3,0x3, 0x34,
+0x12,0x3f,0xc9,0x12,0x1c,0xcb,0x7e,0xb3,0x3, 0x34,0x54,0x7f,0x7a,0xb3,0x3, 0x34,
+0x12,0x1a,0x71,0x7e,0xb3,0x3, 0x34,0x44,0x80,0x7a,0xb3,0x3, 0x34,0x22,0xca,0xf8,
+0x12,0x49,0xe0,0x7e,0x34,0x2, 0xd4,0x7a,0x37,0x6, 0xd8,0x12,0x31,0x3a,0x12,0x1e,
+0xe5,0x75,0x39,0x3, 0x75,0x37,0x40,0x12,0x49,0xe0,0xe5,0x39,0xb4,0x3, 0x40,0xe5,
+0x3f,0x60,0xf4,0x12,0x1f,0xf9,0x12,0x1f,0xea,0x12,0x1f,0x78,0x12,0x15,0x1d,0x6c,
+0xff,0x80,0xd, 0x12,0x1f,0xdd,0x74,0x2, 0xac,0xbf,0x59,0x35,0xc, 0x20,0xb, 0xf0,
+0x12,0x1a,0x6a,0x38,0xee,0x75,0x3f,0x0, 0x7e,0xb3,0xc, 0xd6,0x54,0x7f,0x7a,0xb3,
+0xc, 0xd6,0xe5,0xa, 0x20,0xe0,0xc0,0x74,0x1, 0x7a,0xb3,0x3, 0x42,0x80,0xb8,0xe5,
+0x39,0x7a,0xb3,0xb, 0x9f,0xda,0xf8,0x22,0xe5,0xa, 0x30,0xe0,0x8, 0x12,0x1e,0xe5,
+0x53,0xa, 0xfc,0x80,0xb, 0xe5,0xa, 0x30,0xe1,0x6, 0x12,0x1f,0xa8,0x53,0xa, 0xfd,
+0xe5,0xa, 0x30,0xe2,0x12,0x53,0xca,0xf1,0x7e,0x73,0x3, 0x41,0xa, 0x37,0x3e,0x34,
+0x7c,0xb7,0x42,0xca,0x53,0xa, 0xfb,0x22,0x12,0x50,0xdb,0x80,0x2a,0xa, 0x2a,0x9,
+0x32,0x6, 0x96,0x7e,0x50,0x2, 0xac,0x53,0x2d,0x23,0xb, 0x28,0x20,0x7e,0xb3,0x6,
+0x4d,0x60,0x7, 0xa, 0x13,0x12,0x51,0x36,0x60,0xb, 0xa, 0x1a,0x3e,0x14,0x2e,0x14,
+0x12,0x14,0x1b,0x18,0x20,0xb, 0xa0,0x12,0x18,0x6b,0x38,0xd1,0x22,0x74,0x4, 0xac,
+0xbf,0x49,0x35,0x3, 0x5e,0x22,0x7e,0xb3,0x6, 0xd7,0x54,0xfe,0x7a,0xb3,0x6, 0xd7,
+0x22,0xa, 0xb, 0x7d,0x50,0x7c,0xab,0xe4,0x22,0x7e,0xb3,0x6, 0xd7,0x44,0x2, 0x7a,
+0xb3,0x6, 0xd7,0x22,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0x34,0x6c,0xaa,0x80,0x28,0xa,
+0x3a,0x9, 0x73,0x6, 0x96,0x7e,0xb3,0x6, 0xd7,0x30,0xe0,0x19,0x7e,0x50,0x4, 0xac,
+0x57,0x49,0xf2,0x3, 0x5e,0x49,0xe2,0x3, 0x5c,0x7e,0x17,0x5, 0xee,0x12,0x7, 0x7d,
+0x58,0x3, 0x12,0x20,0x4a,0xb, 0xa0,0x7e,0x63,0x6, 0xc8,0xbc,0x6a,0x38,0xd0,0x22,
+0x7e,0x11,0x22,0x2e,0x10,0x41,0x74,0x1, 0xa5,0xf7,0x74,0x3c,0x7a,0xb3,0xd, 0x3c,
+0x22,0xca,0x3b,0x7e,0x38,0x75,0x30,0x75,0x28,0x0, 0x7e,0x34,0xc, 0xf8,0x7e,0x24,
+0x0, 0x18,0xe4,0x12,0x4, 0xeb,0x7e,0x34,0x0, 0x41,0x7e,0x24,0x0, 0x6, 0xe4,0x12,
+0x4, 0xeb,0x7e,0xb3,0x6, 0xd7,0x30,0xe1,0x7, 0x7e,0xb3,0x6, 0x67,0x30,0xe2,0x5,
+0x75,0x27,0x1, 0x80,0x3, 0x75,0x27,0x2, 0x75,0x22,0x1, 0x21,0x75,0x9f,0x11,0x7a,
+0x1f,0x9, 0xfd,0x75,0x23,0x0, 0x21,0x2c,0x12,0x22,0x59,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe1,0x42,0x30,0xe0,0x3f,0x7e,0x11,0x24,0x74,0x4, 0xac,0x1b,0x12,0x22,0x78,0x7e,
+0xa1,0x24,0x12,0x22,0x6c,0x7a,0x1f,0xa, 0x5, 0xbe,0x1c,0xfc,0xe0,0x58,0x5, 0x12,
+0x20,0x40,0x80,0x6f,0x7e,0x73,0x6, 0xc6,0xbe,0x71,0x24,0x28,0x17,0x7e,0xf, 0xa,
+0x5, 0x7e,0x1f,0x9, 0xfd,0xbf,0x10,0x58,0xb, 0x7e,0x1f,0xa, 0x5, 0x7a,0x1f,0x9,
+0xfd,0x85,0x24,0x25,0x7e,0x91,0x24,0x74,0x4, 0xac,0x9b,0x7e,0xa1,0x22,0x74,0x58,
+0xa4,0x2d,0x54,0x49,0x15,0x0, 0x50,0x49,0x5, 0x0, 0x4e,0x49,0x35,0x0, 0xa8,0x49,
+0x25,0x0, 0xa6,0x9f,0x10,0x12,0x4, 0xdb,0x7a,0x1f,0xa, 0x1, 0x7e,0xa1,0x22,0x74,
+0x4, 0xa4,0x49,0x15,0xc, 0xfa,0x49,0x5, 0xc, 0xf8,0xbf,0x10,0x8, 0xc, 0x7e,0x1f,
+0xa, 0x1, 0x59,0x35,0xc, 0xfa,0x59,0x25,0xc, 0xf8,0x5, 0x23,0x12,0x22,0x64,0x28,
+0x2, 0x1, 0x98,0x7e,0x7f,0x9, 0xfd,0xbe,0x78,0x2, 0x58,0x8, 0x36,0x7e,0x73,0x6,
+0xc6,0xbe,0x71,0x25,0x28,0x2d,0xe5,0x25,0xa, 0x3b,0x2e,0x34,0x0, 0xb, 0x7e,0x24,
+0x0, 0x16,0x12,0x3, 0xba,0x7c,0xa5,0x7a,0xa1,0x26,0x7e,0x10,0x4, 0xac,0x1a,0x12,
+0x22,0x78,0x12,0x22,0x6c,0x7e,0x14,0x0, 0x5, 0x12,0x3, 0xfd,0xbf,0x71,0x8, 0x3,
+0x12,0x20,0x40,0x5, 0x22,0x7e,0x31,0x27,0x74,0x3, 0xac,0x3b,0xe5,0x22,0xa, 0xb,
+0xbd,0x1, 0x58,0x2, 0x1, 0x8d,0x75,0x22,0x1, 0x80,0x23,0x7e,0x11,0x22,0x2e,0x10,
+0x41,0xa5,0xe7,0x70,0x17,0x7e,0xa1,0x22,0x74,0x4, 0xa4,0x49,0x35,0xc, 0xfa,0x49,
+0x25,0xc, 0xf8,0xbf,0x13,0x58,0x5, 0x7f,0x31,0x85,0x22,0x28,0x5, 0x22,0xe5,0x22,
+0xa, 0xb, 0xbd,0x1, 0x48,0xd5,0x7e,0x51,0x28,0x74,0x58,0xac,0x5b,0x2e,0x24,0x0,
+0xa6,0x7e,0x34,0x3, 0x5c,0x7e,0x14,0x0, 0x58,0x12,0x4, 0xae,0x7e,0xb3,0x6, 0xd7,
+0x30,0xe1,0x4c,0x75,0x23,0x0, 0x80,0x42,0x12,0x22,0x59,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe0,0x36,0x7e,0x11,0x24,0x74,0x2, 0xac,0x1b,0x49,0xf0,0x5, 0x90,0x7d,0x3f,0x1a,
+0x36,0x1a,0xe6,0x7e,0x31,0x24,0x74,0x4, 0xac,0x3b,0x12,0x23,0x35,0x7f,0x21,0x9f,
+0x27,0x59,0x51,0x4, 0x16,0x59,0x41,0x4, 0x14,0x49,0x50,0x5, 0x34,0x6d,0x44,0x2e,
+0x14,0x3, 0x5c,0x9f,0x12,0x12,0x17,0xe7,0x5, 0x23,0x12,0x22,0x64,0x38,0xb9,0x12,
+0x17,0xe0,0x30,0xe1,0x31,0x75,0x23,0x0, 0x80,0x23,0x12,0x22,0x59,0x7c,0xba,0x30,
+0xe0,0x19,0x7e,0x71,0x24,0x74,0x4, 0xac,0x7b,0x12,0x22,0x8f,0x7e,0x37,0x5, 0xee,
+0x1a,0x26,0x1a,0x24,0xbf,0x10,0x8, 0x3, 0x12,0x20,0x4a,0x5, 0x23,0x7e,0xb3,0x6,
+0xc8,0xbe,0xb1,0x23,0x38,0xd4,0xda,0x3b,0x22,0xe5,0x23,0xa, 0x3b,0x9, 0xb3,0x6,
+0x96,0xf5,0x24,0x22,0x7e,0x73,0x6, 0xc8,0xbe,0x71,0x23,0x22,0x74,0x2, 0xa4,0x49,
+0x15,0x5, 0x34,0x6d,0x0, 0x9f,0x10,0x22,0x7e,0x31,0x22,0x74,0x58,0xac,0x3b,0x2d,
+0x10,0x49,0x31,0x0, 0xa8,0x49,0x21,0x0, 0xa6,0x22,0x7e,0x70,0x4, 0xac,0x7a,0x49,
+0x13,0x3, 0x5e,0x49,0x3, 0x3, 0x5c,0x22,0x7c,0xab,0x6c,0x22,0x6c,0x11,0x7c,0x1,
+0x2e,0x0, 0x47,0xa5,0xe6,0xbc,0xb3,0x78,0x5, 0x7e,0x20,0x1, 0x80,0x7, 0xb, 0x10,
+0xbe,0x10,0x1, 0x40,0xe9,0x12,0x23,0x28,0x38,0x11,0xa, 0x4b,0x7e,0x4, 0x0, 0x3,
+0x9d,0x4, 0x7c,0xb1,0x60,0x5, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe0,0x24,0x7e,0x10,0x2, 0xac,0x13,0x49,0xf0,0x5, 0x34,0x7d,0xf, 0x1a,0x0, 0x1a,
+0xe0,0x7f,0x61,0x9f,0x67,0x7e,0xf7,0x5, 0xee,0x7d,0xf, 0x1a,0x0, 0x1a,0xe0,0xbf,
+0x76,0x8, 0x3, 0x12,0x20,0x4a,0x4c,0xaa,0x78,0x6, 0x74,0x4, 0xac,0xb3,0x80,0x10,
+0x4c,0x22,0x68,0x7, 0x12,0x23,0x19,0x8, 0xf, 0x80,0x5, 0x12,0x23,0x19,0x58,0x8,
+0x59,0x35,0x3, 0x5e,0x59,0x25,0x3, 0x5c,0x22,0x74,0x4, 0xac,0xb3,0x49,0xf5,0x3,
+0x5e,0x49,0xe5,0x3, 0x5c,0xbf,0x17,0x22,0x7e,0xb3,0x6, 0xd6,0xbe,0xb0,0x2, 0x22,
+0x7e,0x30,0x4, 0xac,0x3a,0x49,0x31,0x3, 0x5e,0x49,0x21,0x3, 0x5c,0x22,0x6c,0xaa,
+0xa, 0x3a,0x12,0x2c,0xf6,0x7c,0x3b,0xbe,0x30,0x16,0x50,0x9, 0x74,0x4, 0xac,0x3b,
+0x12,0x23,0x35,0x80,0x2, 0x9f,0x11,0x7e,0x30,0x4, 0xac,0x3a,0x59,0x31,0x9, 0x6f,
+0x59,0x21,0x9, 0x6d,0xb, 0xa0,0xbe,0xa0,0x24,0x40,0xd5,0x7e,0x1f,0x9, 0x85,0x7a,
+0x1d,0x2a,0x75,0x2f,0x0, 0x7e,0x34,0x9, 0x85,0x7a,0x35,0x30,0x7e,0x34,0x9, 0x9d,
+0x7a,0x35,0x32,0x7e,0x1f,0x9, 0x89,0x7e,0xf, 0x9, 0xa1,0xe4,0x12,0x24,0x39,0x7e,
+0x1f,0x9, 0x99,0x7a,0x1d,0x2a,0x75,0x2f,0x1, 0x7e,0x34,0x9, 0x99,0x7a,0x35,0x30,
+0x7e,0x34,0x9, 0xb1,0x7a,0x35,0x32,0x7e,0x1f,0x9, 0x95,0x7e,0xf, 0x9, 0xad,0xe4,
+0x12,0x24,0x39,0x7e,0x1f,0x9, 0xb5,0x7a,0x1d,0x2a,0x75,0x2f,0x0, 0x7e,0x34,0x9,
+0xb5,0x7a,0x35,0x30,0x7e,0x34,0x9, 0xcd,0x7a,0x35,0x32,0x7e,0x1f,0x9, 0xb9,0x7e,
+0xf, 0x9, 0xd1,0x74,0x1, 0x12,0x24,0x39,0x7e,0x1f,0x9, 0xc9,0x7a,0x1d,0x2a,0x75,
+0x2f,0x1, 0x7e,0x34,0x9, 0xc9,0x7a,0x35,0x30,0x7e,0x34,0x9, 0xe1,0x7a,0x35,0x32,
+0x7e,0x1f,0x9, 0xc5,0x7e,0xf, 0x9, 0xdd,0x74,0x1, 0x12,0x24,0x39,0xe4,0x12,0x24,
+0xb5,0x74,0x1, 0x12,0x24,0xb5,0x7e,0x34,0x9, 0x89,0x12,0x27,0xa2,0x7e,0x34,0x9,
+0xd1,0x12,0x27,0xa2,0x7e,0x34,0x9, 0x95,0x12,0x24,0x22,0x7e,0x34,0x9, 0xdd,0x2,
+0x24,0x22,0x12,0x27,0xd1,0xe5,0x14,0xa, 0x1b,0x6d,0x0, 0x12,0x27,0xb7,0x2, 0x24,
+0x31,0x59,0x3f,0x0, 0x2, 0x1b,0xf8,0x20,0x22,0xca,0x3b,0xf5,0x2e,0x7a,0xd, 0x26,
+0x7a,0x1d,0x22,0x7e,0x7d,0x2a,0xbe,0x78,0x0, 0x32,0x8, 0x56,0xe5,0x2f,0x70,0x4,
+0xe5,0x15,0x80,0x2, 0xe5,0x10,0x12,0x27,0xb1,0x7a,0x1d,0x2a,0x7e,0x1d,0x26,0x12,
+0x26,0x4, 0x7f,0x31,0x7e,0x1d,0x22,0x12,0x26,0x4, 0x2f,0x31,0x78,0x1a,0xe5,0x2e,
+0x60,0xb, 0x12,0x5b,0x23,0x12,0x24,0xa5,0x12,0x27,0x90,0x80,0x1a,0x12,0x27,0x90,
+0x12,0x24,0xa5,0x12,0x5b,0x23,0x80,0xf, 0x7e,0x1d,0x22,0x12,0x27,0x84,0x12,0x24,
+0xa5,0x7e,0x1d,0x26,0x12,0x27,0x84,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x32,0x12,
+0x24,0xad,0xda,0x3b,0x22,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x30,0x59,0x13,0x0,
+0x2, 0x1b,0x38,0x0, 0x22,0xca,0x3b,0x70,0x48,0x7e,0x1f,0x9, 0x89,0x7a,0x1f,0x9,
+0xfd,0x7e,0x1f,0x9, 0x8d,0x7a,0x1f,0xa, 0x1, 0x7e,0x1f,0x9, 0x91,0x7a,0x1f,0xa,
+0x5, 0x7e,0x1f,0x9, 0x95,0x7a,0x1f,0xa, 0x9, 0x7e,0x34,0x9, 0x71,0x7a,0x35,0x22,
+0x7e,0x34,0x9, 0x75,0x7a,0x35,0x24,0x7e,0x34,0x9, 0x79,0x7a,0x35,0x26,0x7e,0x34,
+0x9, 0x7d,0x7a,0x35,0x28,0xe5,0x8, 0xa, 0x1b,0x6d,0x0, 0x7e,0x1f,0x9, 0x71,0x80,
+0x46,0x7e,0x1f,0x9, 0xd1,0x7a,0x1f,0x9, 0xfd,0x7e,0x1f,0x9, 0xd5,0x7a,0x1f,0xa,
+0x1, 0x7e,0x1f,0x9, 0xd9,0x7a,0x1f,0xa, 0x5, 0x7e,0x1f,0x9, 0xdd,0x7a,0x1f,0xa,
+0x9, 0x7e,0x34,0x9, 0xe9,0x7a,0x35,0x22,0x7e,0x34,0x9, 0xed,0x7a,0x35,0x24,0x7e,
+0x34,0x9, 0xf1,0x7a,0x35,0x26,0x7e,0x34,0x9, 0xf5,0x7a,0x35,0x28,0xe5,0xf, 0xa,
+0x1b,0x6d,0x0, 0x7e,0x1f,0x9, 0xe9,0x12,0x27,0xb7,0x7f,0x31,0xbe,0x38,0x0, 0x32,
+0x18,0x2, 0xc1,0x1, 0x7e,0x1f,0x9, 0xfd,0x12,0x26,0x4, 0x7a,0x1f,0x9, 0xfd,0x7e,
+0x1f,0xa, 0x1, 0x12,0x26,0x4, 0x7a,0x1f,0xa, 0x1, 0x7e,0x1f,0xa, 0x5, 0x12,0x26,
+0x4, 0x12,0x27,0xf3,0x12,0x26,0x4, 0x7a,0x1f,0xa, 0x9, 0x7e,0x1f,0xa, 0x1, 0x7e,
+0x6f,0x9, 0xfd,0x2f,0x16,0x7e,0x7f,0xa, 0x5, 0x2f,0x71,0x78,0x16,0x7e,0x8, 0x0,
+0x8, 0x7f,0x13,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x22,0x12,0x24,0xad,0x12,0x5b,
+0x4f,0x80,0x10,0x12,0x5b,0x14,0x7e,0x35,0x22,0x12,0x24,0xad,0x7e,0xf, 0xa, 0x1,
+0x12,0x27,0xc9,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x24,0x12,0x24,0xad,0x7e,0x6f,
+0xa, 0x5, 0x7e,0x1f,0xa, 0x1, 0x2f,0x16,0x7e,0x7f,0xa, 0x9, 0x2f,0x71,0x78,0x16,
+0x12,0x5b,0x4f,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x26,0x12,0x24,0xad,0x7e,0x8,
+0x0, 0x8, 0x7f,0x13,0x80,0x10,0x12,0x5b,0x14,0x7e,0x35,0x26,0x12,0x24,0xad,0x7e,
+0xf, 0xa, 0x9, 0x12,0x27,0xc9,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x28,0x12,0x24,
+0xad,0xda,0x3b,0x22,0xbe,0x18,0x0, 0x32,0x8, 0x1, 0x22,0x9f,0x11,0x22,0xca,0x79,
+0x7c,0xe7,0x7c,0xfb,0x74,0x4, 0xac,0xbf,0x12,0x27,0xea,0x12,0x27,0x98,0x68,0xf,
+0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x57,0x49,0x25,0x9, 0x55,0x12,0x26,0x86,0xbe,
+0xe0,0x5, 0x68,0xf, 0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x87,0x49,0x25,0x9, 0x85,
+0x12,0x26,0x86,0x7e,0x1f,0xa, 0x15,0xda,0x79,0x22,0xca,0x79,0x7c,0xe7,0x7c,0xfb,
+0x74,0x4, 0xac,0xbf,0x12,0x27,0xea,0x12,0x27,0x98,0x68,0xf, 0x74,0x4, 0xac,0xbf,
+0x49,0x35,0x9, 0x6b,0x49,0x25,0x9, 0x69,0x12,0x26,0x86,0xbe,0xe0,0x5, 0x68,0xf,
+0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x73,0x49,0x25,0x9, 0x71,0x12,0x26,0x86,0x7e,
+0x1f,0xa, 0x15,0xda,0x79,0x22,0x12,0x26,0x4, 0x7f,0x1, 0x7e,0x1f,0xa, 0x15,0x2f,
+0x10,0x7a,0x1f,0xa, 0x15,0x22,0xca,0x3b,0x9f,0x11,0x7a,0x1f,0x0, 0xa2,0x6c,0xff,
+0xe1,0x7a,0x7c,0x1f,0x2e,0x10,0x16,0xa5,0xe7,0x7c,0xeb,0xa, 0x1e,0x7e,0x24,0x0,
+0x6, 0x8d,0x12,0x7c,0xd3,0xa, 0x3e,0x8d,0x32,0x7c,0xc5,0x12,0x27,0xdb,0x7c,0x7d,
+0x12,0x26,0xe, 0x7a,0x1f,0xa, 0xd, 0x4c,0xcc,0x68,0xc, 0x7c,0xbe,0x14,0x7c,0x7d,
+0x12,0x26,0xe, 0x7a,0x1f,0xa, 0x5, 0xbe,0xc0,0x5, 0x68,0xc, 0x7c,0xbe,0x4, 0x7c,
+0x7d,0x12,0x26,0xe, 0x7a,0x1f,0xa, 0x9, 0xa, 0x1c,0x12,0x5a,0xe4,0xa, 0x1c,0x12,
+0x5b,0x41,0xa, 0x1c,0x12,0x5a,0x58,0x7e,0x1f,0x0, 0xa2,0xbf,0x10,0x50,0x8, 0x7e,
+0x1f,0xa, 0x1, 0x7a,0x1f,0x0, 0xa2,0x7e,0x1f,0x9, 0xfd,0x74,0x6, 0x2f,0x11,0x14,
+0x78,0xfb,0x7e,0xf, 0xa, 0x1, 0x12,0x27,0xc1,0x7a,0x37,0xa, 0x11,0x12,0x27,0xdb,
+0x7c,0xbe,0x7c,0x7c,0x12,0x26,0x4a,0x7a,0x1f,0xa, 0xd, 0x4c,0xdd,0x68,0xd, 0x7c,
+0xbe,0x24,0xfa,0x7c,0x7c,0x12,0x26,0x4a,0x7a,0x1f,0xa, 0x5, 0xbe,0xd0,0x5, 0x68,
+0xd, 0x7c,0xbe,0x24,0x6, 0x7c,0x7c,0x12,0x26,0x4a,0x7a,0x1f,0xa, 0x9, 0xa, 0x1d,
+0x12,0x5a,0xe4,0xa, 0x1d,0x12,0x5b,0x41,0xa, 0x1d,0x12,0x5a,0x58,0x74,0x6, 0x2f,
+0x11,0x14,0x78,0xfb,0x12,0x27,0xc1,0x7a,0x37,0xa, 0x13,0x7e,0x27,0xa, 0x11,0x74,
+0x5, 0xac,0xbf,0x59,0x25,0x0, 0x7a,0x12,0x3c,0x55,0x12,0x38,0x94,0x50,0x2, 0xc1,
+0xa2,0xda,0x3b,0x22,0x12,0x26,0x4, 0x7e,0xd, 0x2a,0x12,0x3, 0xec,0x7f,0x3, 0x22,
+0x7e,0x8, 0x0, 0x4, 0x7e,0x1d,0x2a,0x22,0x12,0x26,0x4, 0x7a,0x1f,0xa, 0x15,0x4c,
+0xee,0x22,0x12,0x27,0xd1,0xe5,0x1b,0xa, 0x1b,0x6d,0x0, 0x12,0x27,0xb7,0x2, 0x24,
+0x31,0xa, 0x1b,0x6d,0x0, 0x7f,0x17,0x12,0x3, 0xec,0x7e,0x8, 0x0, 0x64,0x2, 0x4,
+0x59,0x12,0x4, 0x8, 0x2e,0x18,0x0, 0x20,0x22,0x7f,0x13,0x12,0x3, 0xec,0x7f,0x7,
+0x22,0x7d,0xf3,0x49,0x3f,0x0, 0x2, 0xb, 0xf8,0x20,0x22,0x9f,0x11,0x7a,0x1f,0xa,
+0x5, 0x7a,0x1f,0xa, 0x9, 0x22,0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x6f,0x49,0x25,
+0x9, 0x6d,0x22,0x7a,0x1f,0xa, 0x5, 0x7e,0x1f,0xa, 0x9, 0x22,0x9f,0x11,0x7a,0x1f,
+0x5, 0x28,0x7a,0x1f,0x5, 0x2c,0x6c,0xaa,0x12,0x23,0x30,0x7e,0x7f,0x5, 0x28,0xbf,
+0x71,0x58,0x4, 0x7a,0x1f,0x5, 0x28,0xb, 0xa0,0xbe,0xa0,0x16,0x40,0xea,0x7e,0x1f,
+0x5, 0x28,0x7a,0x1f,0x5, 0x2c,0x22,0x12,0x2f,0x75,0xa5,0xbe,0x1, 0x14,0x7e,0xa3,
+0xd, 0x12,0xbe,0xa0,0xfa,0x50,0x2c,0x7e,0xb3,0xd, 0x10,0x70,0x26,0x7c,0xba,0x4,
+0x80,0x1d,0xbe,0x60,0x2, 0x40,0x3, 0xe4,0x80,0x15,0x7e,0x53,0xd, 0x12,0xbe,0x50,
+0x4, 0x50,0xb, 0xbe,0x50,0x0, 0x28,0x6, 0x74,0x3, 0x7a,0xb3,0xd, 0x10,0xe4,0x7a,
+0xb3,0xd, 0x12,0x7e,0xa3,0xd, 0x10,0x4c,0xaa,0x68,0x20,0x4c,0x66,0x68,0x8, 0x7c,
+0xb7,0x12,0x28,0x90,0xe4,0x80,0x10,0x7c,0xb7,0xc4,0x54,0xf, 0xb4,0x1, 0x5, 0x7c,
+0xb7,0x12,0x2d,0x34,0x7c,0xba,0x14,0x7a,0xb3,0xd, 0x10,0x22,0x7e,0xb3,0x0, 0x90,
+0x54,0xf0,0x7a,0xb3,0x0, 0x90,0x22,0xca,0x3b,0x12,0x2f,0x3c,0x78,0x4, 0x6c,0xff,
+0x80,0x3, 0x7e,0xf0,0x2, 0x12,0x2d,0x19,0x78,0x1d,0x7c,0xba,0x54,0xf, 0xbe,0xb0,
+0x2, 0x40,0x14,0x5, 0x4d,0xe5,0x4d,0xbc,0xbf,0x38,0x5, 0x7c,0xba,0x12,0x28,0x90,
+0xe4,0x7a,0xb3,0xb, 0x37,0x80,0x3, 0x75,0x4d,0x0, 0x12,0x2d,0x19,0x78,0x8, 0x5e,
+0xa0,0xf, 0xbe,0xa0,0x1, 0x28,0x11,0xe4,0x7a,0xb3,0xb, 0x37,0x6d,0x33,0x7a,0x37,
+0xb, 0x4f,0x7a,0x37,0xb, 0x51,0x41,0x9d,0x7e,0xb3,0xb, 0xb3,0xbe,0xb0,0x1, 0x78,
+0x2, 0x41,0x9d,0x4c,0xaa,0x78,0x2, 0x41,0x6b,0x7e,0xe3,0xb, 0x37,0xbe,0xe0,0x2,
+0x28,0x2, 0x41,0x43,0x7c,0xbe,0x4, 0x7a,0xb3,0xb, 0x37,0x7e,0xa3,0xb, 0x37,0xbe,
+0xa0,0x1, 0x78,0x33,0x7e,0x37,0x0, 0x7a,0x7a,0x37,0xb, 0x41,0x7e,0x37,0x0, 0x7c,
+0x7a,0x37,0xb, 0x43,0x7e,0x1f,0xb, 0x41,0x7a,0x1f,0xb, 0x45,0x7e,0x1f,0xb, 0x41,
+0x7a,0x1f,0xb, 0x49,0x6d,0x33,0x7a,0x37,0xb, 0x4d,0x7a,0x37,0xb, 0x4f,0x7a,0x37,
+0xb, 0x51,0x12,0x28,0x8c,0x41,0x96,0xbe,0xa0,0x2, 0x40,0x18,0x7e,0x37,0x0, 0x7a,
+0x2e,0x37,0xb, 0x4f,0x7a,0x37,0xb, 0x4f,0x7e,0x37,0x0, 0x7c,0x2e,0x37,0xb, 0x51,
+0x7a,0x37,0xb, 0x51,0x7e,0x37,0xb, 0x41,0x12,0x2d,0xa, 0x7d,0x63,0x7e,0x37,0xb,
+0x43,0x12,0x2d,0x3, 0x7a,0x35,0x22,0x7e,0x37,0xb, 0x45,0x12,0x2d,0xa, 0x7a,0x35,
+0x24,0x7e,0x37,0xb, 0x47,0x12,0x2d,0x3, 0x7d,0x23,0x7e,0x35,0x22,0x2d,0x36,0xbe,
+0x34,0x0, 0xf, 0x50,0x18,0xbe,0x64,0x0, 0x7, 0x50,0x12,0x2e,0x25,0x24,0xbe,0x24,
+0x0, 0x1e,0x50,0x9, 0x7e,0x25,0x24,0xbe,0x24,0x0, 0xf, 0x40,0x53,0x7e,0x53,0xb,
+0x37,0xbc,0x5f,0x28,0x4b,0xe4,0x7a,0xb3,0xb, 0x37,0xbe,0x34,0x0, 0x8, 0x38,0x2,
+0x41,0x96,0x7e,0x37,0xb, 0x45,0xbe,0x34,0x0, 0x28,0x40,0x6, 0xbe,0x34,0x1, 0x66,
+0x28,0x24,0x7e,0x27,0xb, 0x47,0xbe,0x24,0x0, 0x28,0x28,0x1a,0xbe,0x24,0x1, 0x66,
+0x50,0x14,0x7a,0x37,0x0, 0x7a,0x7e,0x27,0x0, 0x7c,0x2e,0x27,0xb, 0x47,0x1e,0x24,
+0x7a,0x27,0x0, 0x7c,0x41,0x96,0x7a,0x37,0x0, 0x7a,0x7e,0x37,0xb, 0x47,0x80,0x65,
+0x7e,0x27,0x0, 0x7a,0x7a,0x27,0xb, 0x41,0x7e,0x37,0x0, 0x7c,0x7a,0x37,0xb, 0x43,
+0x7e,0xa3,0x0, 0x76,0x74,0x4, 0xa4,0x49,0x15,0x3, 0x5e,0x49,0x5, 0x3, 0x5c,0x7e,
+0xf7,0xb, 0x4d,0x6d,0xee,0xbf,0x70,0x58,0xc, 0x7a,0x17,0xb, 0x4d,0x7a,0x27,0xb,
+0x49,0x7a,0x37,0xb, 0x4b,0x7e,0x73,0x0, 0x90,0x7c,0xb7,0xc4,0x7c,0x6b,0x12,0x2d,
+0x23,0x80,0x53,0xa, 0x2e,0xb, 0x24,0x1b,0x25,0x7e,0x17,0xb, 0x4f,0x8d,0x12,0x7a,
+0x17,0xb, 0x41,0x7e,0x37,0xb, 0x51,0x8d,0x32,0x7a,0x37,0xb, 0x43,0x7e,0x27,0xb,
+0x41,0x7a,0x27,0x0, 0x7a,0x7a,0x37,0x0, 0x7c,0x80,0x2b,0x7e,0x73,0xb, 0x37,0xbc,
+0x7f,0x28,0x1b,0x7e,0x37,0xb, 0x49,0x7a,0x37,0x0, 0x7a,0x7e,0x37,0xb, 0x4b,0x7a,
+0x37,0x0, 0x7c,0x12,0x2d,0x30,0x74,0x1, 0x7a,0xb3,0xb, 0x38,0x80,0x3, 0x12,0x28,
+0x8c,0xe4,0x7a,0xb3,0xb, 0x37,0x12,0xe, 0xaf,0x78,0x2, 0xf5,0x9, 0xda,0x3b,0x22,
+0xca,0x3b,0x6c,0xee,0x9f,0x44,0x7f,0x74,0x7a,0x4f,0x9, 0xfe,0x7a,0x4f,0xa, 0x2,
+0x7a,0x4f,0xa, 0x6, 0x7a,0x4f,0xa, 0xa, 0x7a,0x4f,0xa, 0xe, 0x7f,0x64,0x7f,0x54,
+0x6c,0xdd,0x12,0x27,0xe6,0xbf,0x71,0x58,0x4, 0x7f,0x71,0x7c,0xfd,0xb, 0xd0,0xbe,
+0xd0,0x24,0x78,0xee,0x7e,0x37,0x3, 0x49,0x6d,0x22,0xbf,0x71,0x58,0xb, 0x12,0x28,
+0x8c,0x7e,0xb3,0x0, 0x91,0x54,0xf0,0x80,0x17,0xe5,0xe, 0xb4,0x1, 0x18,0x12,0x2c,
+0xf1,0x7a,0xb3,0x0, 0x76,0x12,0x2d,0x30,0x7e,0xb3,0x0, 0x91,0x54,0xf0,0x44,0x1,
+0x7a,0xb3,0x0, 0x91,0x81,0xe5,0x6c,0xdd,0xa, 0x5d,0x7e,0x24,0x0, 0x6, 0x8d,0x52,
+0x7a,0xb3,0x9, 0xfd,0xa, 0x3d,0x8d,0x32,0x7c,0xc5,0x70,0x4, 0x9f,0x11,0x80,0xc,
+0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x57,0x49,0x25,0x9, 0x55,0x7a,0x1f,0x9, 0xfe,
+0x7e,0xb3,0x9, 0xfd,0xb4,0x5, 0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,
+0x35,0x9, 0x87,0x49,0x25,0x9, 0x85,0x7a,0x1f,0xa, 0x2, 0x4c,0xcc,0x78,0x4, 0x9f,
+0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x6b,0x49,0x25,0x9, 0x69,0x7a,
+0x1f,0xa, 0x6, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,
+0x49,0x35,0x9, 0x73,0x49,0x25,0x9, 0x71,0x7a,0x1f,0xa, 0xa, 0x7e,0xb3,0x9, 0xfd,
+0x60,0x4, 0x4c,0xcc,0x78,0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,
+0x9, 0x53,0x49,0x25,0x9, 0x51,0x7a,0x1f,0xa, 0xe, 0x12,0x2d,0x11,0x68,0x4, 0x4c,
+0xcc,0x78,0x4, 0x9f,0x66,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0xd5,0x9, 0x83,0x49,
+0xc5,0x9, 0x81,0x7e,0xb3,0x9, 0xfd,0x60,0x5, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x55,
+0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0xb5,0x9, 0x5b,0x49,0xa5,0x9, 0x59,0x12,0x2d,
+0x11,0x68,0x5, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x44,0x80,0xc, 0x74,0x4, 0xac,0xbd,
+0x49,0x95,0x9, 0x8b,0x49,0x85,0x9, 0x89,0x12,0x2c,0xe8,0x49,0x5, 0x9, 0x6d,0x7e,
+0x37,0x3, 0x49,0x6d,0x22,0xbf,0x1, 0x58,0x2, 0x81,0xc3,0xe5,0xc, 0x12,0x27,0xb1,
+0x7f,0x1, 0x12,0x27,0xe6,0xbf,0x10,0x18,0x2, 0x81,0xc3,0x12,0x2c,0xe8,0x49,0x5,
+0x9, 0x6d,0x7e,0x1f,0x9, 0xfe,0xbf,0x1, 0x58,0x2, 0x81,0xc3,0x12,0x2c,0xe8,0x49,
+0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0x2, 0xbf,0x1, 0x58,0x2, 0x81,0xc3,0x12,0x2c,0xe8,
+0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0x6, 0xbf,0x1, 0x58,0x2, 0x81,0xc3,0x12,0x2c,
+0xe8,0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0xa, 0xbf,0x1, 0x48,0x76,0x12,0x2c,0xe8,
+0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0xe, 0xbf,0x1, 0x48,0x67,0x12,0x27,0xe6,0xbf,
+0x16,0x48,0x60,0x12,0x27,0xe6,0xbf,0x15,0x48,0x59,0x12,0x27,0xe6,0xbf,0x14,0x48,
+0x52,0x7c,0x1e,0x2e,0x10,0x16,0x7c,0xbd,0xa5,0xf7,0xa, 0x3d,0x12,0x2c,0xf6,0xa,
+0x3e,0x19,0xb3,0x0, 0x76,0xb, 0xe0,0x7e,0x30,0x4, 0xac,0x3d,0x2e,0x14,0x9, 0x6d,
+0x12,0x2d,0xbb,0xb, 0x1c,0x12,0x17,0xe7,0xbe,0xe1,0xe, 0x40,0x26,0x7e,0xe1,0xe,
+0xbe,0xe0,0x2, 0x78,0x27,0x7e,0x73,0x0, 0x76,0xbe,0x70,0xf, 0x38,0x9, 0x7e,0x73,
+0x0, 0x77,0xbe,0x70,0xf, 0x28,0x15,0x7e,0xe0,0x1, 0x12,0x2c,0xf1,0x7a,0xb3,0x0,
+0x76,0x80,0x9, 0xb, 0xd0,0xbe,0xd0,0x24,0x50,0x2, 0x61,0x8, 0x7c,0x6e,0x5e,0x60,
+0xf, 0x7e,0x73,0x0, 0x90,0x12,0x2d,0x26,0x7e,0x73,0x0, 0x91,0x5e,0x70,0xf0,0x4c,
+0x76,0x7a,0x73,0x0, 0x91,0xda,0x3b,0x22,0x74,0x4, 0xac,0xbd,0x49,0x15,0x9, 0x6f,
+0x22,0x7a,0xf1,0x16,0xa, 0x3f,0x2e,0x34,0x0, 0x46,0x7a,0x71,0x82,0x7a,0x61,0x83,
+0xe4,0x93,0x22,0x9e,0x37,0x0, 0x7c,0x2, 0x0, 0x2e,0x9e,0x37,0x0, 0x7a,0x2, 0x0,
+0x2e,0x7e,0xb3,0x9, 0xfd,0xbe,0xb0,0x5, 0x22,0x7e,0xa3,0x0, 0x90,0x7c,0xba,0xc4,
+0x54,0xf, 0x22,0x5e,0x60,0xf, 0x5e,0x70,0xf0,0x4c,0x76,0x7a,0x73,0x0, 0x90,0x22,
+0x7e,0xb3,0x0, 0x90,0x54,0xf0,0x44,0x1, 0x7a,0xb3,0x0, 0x90,0x22,0xca,0x79,0x9f,
+0x11,0x7a,0x1f,0x9, 0xfd,0x7e,0xa3,0x0, 0x90,0x7c,0xba,0x54,0xf, 0xb4,0x1, 0x64,
+0x7e,0x1f,0x0, 0xa2,0x7a,0x1f,0x9, 0xfd,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x6, 0x7e,
+0x1f,0x9, 0xfd,0x80,0x34,0x7e,0x37,0xb, 0x3b,0x12,0x2d,0x3, 0x7d,0x73,0x7e,0x37,
+0xb, 0x39,0x12,0x2d,0xa, 0x2d,0x37,0xbe,0x34,0x0, 0xf, 0x58,0x20,0x7e,0x1f,0xb,
+0x3d,0x7f,0x1, 0x1e,0x14,0x1e,0x4, 0x50,0x3, 0x4e,0x20,0x80,0x7e,0x1f,0x9, 0xfd,
+0xbf,0x10,0x50,0x5, 0x12,0x28,0x8c,0x80,0x4, 0x7a,0x1f,0xb, 0x3d,0x7e,0x37,0x0,
+0x7a,0x7a,0x37,0xb, 0x39,0x7e,0x37,0x0, 0x7c,0x7a,0x37,0xb, 0x3b,0x12,0xe, 0xaf,
+0x78,0x2, 0xf5,0x9, 0xda,0x79,0x22,0x7d,0x16,0x2d,0x17,0x49,0x31,0x0, 0x2, 0xb,
+0x18,0x20,0x22,0xca,0x3b,0x7c,0xab,0x7d,0x73,0x4d,0x77,0x78,0x2, 0xc1,0xda,0x4d,
+0x22,0x78,0x2, 0xc1,0xda,0xe4,0x7a,0xb3,0x6, 0x4d,0x6c,0x99,0xc1,0x5e,0x7e,0x70,
+0x4, 0xac,0x79,0x2d,0x37,0x49,0xf3,0x0, 0x2, 0xb, 0x38,0xe0,0xbe,0x7c,0xfc,0x18,
+0x58,0x5, 0xbe,0x90,0x16,0x40,0x15,0xbe,0x7c,0xf8,0x30,0x58,0x58,0xbe,0x90,0x16,
+0x40,0x53,0x7e,0xf, 0x5, 0x28,0xbe,0x8, 0x7, 0xd0,0x58,0x49,0xa, 0x39,0x7d,0x13,
+0x2e,0x14,0xa, 0xd1,0x7e,0x19,0xb0,0x4, 0x7a,0x19,0xb0,0x9, 0xb3,0xa, 0xd1,0xbe,
+0xb0,0xc, 0x28,0x38,0x7e,0x70,0x2, 0xac,0x79,0x2d,0x32,0xb, 0x38,0x10,0x1a,0x2,
+0x1a,0x0, 0x2f,0x7, 0xbe,0x8, 0x38,0x40,0x58,0x22,0x74,0x1, 0x7a,0xb3,0x6, 0x4d,
+0x6c,0x88,0x80,0xa, 0x74,0x1, 0xa, 0x38,0x19,0xb3,0xa, 0xe7,0xb, 0x80,0xbe,0x80,
+0x0, 0x40,0xf1,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0xd1,0xb, 0x90,0xbc,0xa9,
+0x28,0x2, 0xa1,0xde,0x6c,0x99,0x80,0x6a,0x7e,0xd0,0x4, 0xac,0xd9,0x12,0x2d,0xb7,
+0xbe,0x1c,0xfc,0xe0,0x58,0x21,0xa, 0x39,0x7d,0x23,0x2e,0x24,0xa, 0x8d,0x12,0x2e,
+0xdd,0x9, 0x83,0xa, 0x8d,0xbe,0x80,0xf, 0x28,0x14,0x12,0x41,0x40,0x60,0xf, 0x74,
+0x3, 0x7a,0xb3,0x6, 0x4d,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0x8d,0x12,0x2d,
+0xb7,0xbe,0x1c,0xfc,0xe0,0x58,0x22,0x7e,0xb3,0x6, 0x4d,0x70,0x1c,0xa, 0x39,0x7d,
+0x23,0x2e,0x24,0xa, 0xbb,0x12,0x2e,0xdd,0x9, 0x83,0xa, 0xbb,0xbe,0x80,0x12,0x28,
+0xf, 0x74,0x2, 0x7a,0xb3,0x6, 0x4d,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0xbb,
+0xb, 0x90,0x7e,0x83,0x6, 0xc6,0xbc,0x89,0x38,0x8e,0xda,0x3b,0x22,0x7e,0x29,0xb0,
+0x4, 0x7a,0x29,0xb0,0x22,0x6c,0xaa,0x7e,0x90,0x5, 0xac,0x9a,0x9, 0xb4,0x2, 0xba,
+0xbe,0xb0,0xff,0x68,0xa, 0x49,0x34,0x2, 0xb8,0xbe,0x34,0x1, 0x8d,0x50,0x33,0xb,
+0xa0,0xbe,0xa0,0x2, 0x40,0xe1,0x12,0x2f,0x33,0x78,0x21,0x7c,0xb7,0xc4,0x7c,0x6b,
+0x5e,0x60,0xf, 0xbe,0x60,0x0, 0x28,0x14,0xe5,0x4c,0xbe,0xb0,0x1, 0x50,0x9, 0x12,
+0x2d,0x26,0x75,0x12,0x1, 0x5, 0x4c,0x22,0x75,0x4c,0x0, 0x22,0x75,0x4c,0x0, 0x75,
+0x12,0x0, 0x22,0x7e,0x73,0x0, 0x90,0x7c,0xb7,0x54,0xf, 0x22,0x7e,0x37,0x0, 0x92,
+0xbe,0x34,0x0, 0x1, 0x22,0x12,0x2f,0x3c,0x78,0x1b,0x7e,0xb3,0x6, 0x67,0x20,0xe5,
+0x14,0x7e,0xb3,0x6, 0xcb,0x20,0xe0,0xd, 0x12,0x2f,0x66,0x7e,0xb3,0x6, 0xcb,0x44,
+0x1, 0x7a,0xb3,0x6, 0xcb,0x22,0xa9,0xc0,0xca,0x6d,0x22,0x12,0x2f,0x7f,0x5e,0x60,
+0x7f,0x1b,0x28,0x30,0x22,0x7e,0x73,0x0, 0x90,0x7c,0x67,0x5e,0x60,0xf, 0x22,0x7e,
+0x34,0x13,0x14,0x1b,0x38,0x20,0x7e,0x24,0x12,0x4, 0xb, 0x28,0x30,0x22,0x7e,0xb3,
+0x6, 0xcb,0x30,0xe0,0x16,0xa9,0xd0,0xca,0x7e,0x24,0x0, 0x3f,0x12,0x2f,0x7f,0x4e,
+0x60,0x80,0x1b,0x28,0x30,0x54,0xfe,0x7a,0xb3,0x6, 0xcb,0x22,0xc2,0xab,0x12,0x2f,
+0x45,0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xd5,0xc9,0xd2,0xaf,0xa9,0xd0,0xcd,0xd2,0xc8,
+0xd2,0xa8,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd7,0x9e,0xd2,0xaf,0x74,0x1, 0x12,0x4a,
+0x48,0x74,0x2, 0x12,0xf, 0xcd,0x12,0x2f,0xf2,0xc2,0xa8,0xa9,0xc0,0xcd,0xc2,0xc8,
+0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xc5,0xc9,0xd2,0xaf,0xd2,0xab,0x12,0x4a,0x30,0x2,
+0x2f,0x8e,0x43,0xc8,0xc9,0x43,0xcb,0x8e,0x22,0xbd,0x32,0x58,0x3, 0x7d,0x32,0x22,
+0xbd,0x31,0x8, 0x2, 0x7d,0x31,0x22,0x6d,0x11,0x80,0x48,0x6d,0x0, 0x80,0x38,0x7d,
+0xf0,0x3e,0xf4,0x3e,0xf4,0x7d,0xef,0x2d,0xe3,0x49,0xde,0x0, 0x6, 0x49,0xce,0x0,
+0x4, 0x49,0x5e,0x0, 0x2, 0xb, 0xe8,0x40,0xbf,0x26,0x58,0x19,0x49,0xde,0x0, 0x6,
+0x49,0xce,0x0, 0x4, 0x59,0xde,0x0, 0x2, 0x1b,0xe8,0xc0,0x2d,0xf3,0x59,0x5f,0x0,
+0x6, 0x59,0x4f,0x0, 0x4, 0xb, 0x4, 0x7d,0xf2,0x1b,0xf4,0x9d,0xf1,0xbd,0xf0,0x38,
+0xbe,0xb, 0x14,0xbd,0x21,0x38,0xb4,0x22,0xca,0x3b,0xf5,0x26,0x7a,0xd, 0x22,0x7f,
+0x31,0x75,0x29,0x0, 0x75,0x2a,0x0, 0x7e,0x34,0x9, 0xfd,0x7e,0x24,0x0, 0x90,0xe4,
+0x12,0x4, 0xeb,0x6c,0xaa,0x12,0x23,0x30,0xbf,0x13,0x8, 0x11,0x7e,0x31,0x29,0x74,
+0x4, 0xac,0x3b,0x59,0x31,0x9, 0xff,0x59,0x21,0x9, 0xfd,0x5, 0x29,0xb, 0xa0,0xbe,
+0xa0,0x16,0x78,0xe1,0xe5,0x26,0xbe,0xb1,0x29,0x38,0x38,0x7e,0xd, 0x22,0x7e,0x1f,
+0x5, 0x28,0xbf,0x10,0x58,0x2d,0x7e,0x34,0x9, 0xfd,0xe5,0x26,0xa, 0x2b,0x12,0x30,
+0x7, 0x7e,0xa1,0x27,0x74,0x4, 0xa4,0x49,0x35,0x9, 0xff,0x49,0x25,0x9, 0xfd,0xe5,
+0x28,0xa, 0x1b,0x6d,0x0, 0x12,0x3, 0xec,0x7e,0xf, 0x9, 0xfd,0xbf,0x10,0x8, 0x3,
+0x75,0x2a,0x1, 0xe5,0x2a,0xda,0x3b,0x22,0x75,0x27,0xa, 0x75,0x28,0x5, 0x7e,0x18,
+0x3, 0xe8,0x7e,0x8, 0x27,0x10,0x74,0xc, 0x12,0x30,0x58,0x70,0x13,0x75,0x27,0xa,
+0x75,0x28,0x4, 0x7e,0x18,0x3, 0xe8,0x7e,0x8, 0x27,0x10,0x74,0xa, 0x12,0x30,0x58,
+0x60,0x13,0x7e,0xb3,0x6, 0x67,0x44,0x2, 0x7a,0xb3,0x6, 0x67,0x12,0x28,0x8c,0xe4,
+0x7a,0xb3,0xd, 0x11,0x22,0x7e,0xa3,0x6, 0x67,0x7c,0xba,0x30,0xe1,0x1b,0x7e,0xb3,
+0xd, 0x11,0x4, 0x7a,0xb3,0xd, 0x11,0xbe,0xb0,0x14,0x40,0xd, 0xe4,0x7a,0xb3,0xd,
+0x11,0x7c,0xba,0x54,0xfd,0x7a,0xb3,0x6, 0x67,0x22,0x75,0x39,0x3, 0x75,0x3f,0x0,
+0x22,0xbe,0xb0,0xa, 0x50,0x8, 0x7c,0x1b,0x2e,0x10,0x37,0xa5,0xe7,0x22,0x2, 0x31,
+0x51,0xb4,0xae,0x5, 0x7e,0xb3,0x3, 0x34,0x22,0x24,0xf6,0xbe,0xb0,0x30,0x40,0x2,
+0x61,0x7, 0x7e,0xa0,0x3, 0xa4,0x90,0x31,0x6a,0x73,0x2, 0x31,0xfa,0x2, 0x31,0xfd,
+0x2, 0x31,0xff,0x2, 0x32,0x4, 0x2, 0x32,0x9, 0x2, 0x32,0xe, 0x2, 0x32,0x13,0x2,
+0x32,0x18,0x2, 0x32,0x1d,0x2, 0x32,0x22,0x2, 0x32,0x27,0x2, 0x32,0x2c,0x2, 0x32,
+0x31,0x2, 0x32,0x45,0x2, 0x32,0x4a,0x2, 0x33,0x7, 0x2, 0x32,0x4f,0x2, 0x32,0x54,
+0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2,
+0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,
+0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7,
+0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x32,0x59,0x2,
+0x32,0x5e,0x2, 0x32,0x63,0x2, 0x32,0x68,0x2, 0x32,0x6d,0x2, 0x32,0x72,0x2, 0x33,
+0x7, 0x2, 0x32,0xa5,0x2, 0x33,0x7, 0x2, 0x32,0xd4,0x74,0x16,0x22,0xe4,0x22,0x7e,
+0xb3,0x3, 0x35,0x22,0x7e,0xb3,0x3, 0x38,0x22,0x7e,0xb3,0x3, 0x39,0x22,0x7e,0xb3,
+0x3, 0x3a,0x22,0x7e,0xb3,0x3, 0x3b,0x22,0x7e,0xb3,0x3, 0x3c,0x22,0x7e,0xb3,0x3,
+0x3d,0x22,0x7e,0xb3,0x3, 0x36,0x22,0x7e,0xb3,0x3, 0x37,0x22,0x7e,0xb3,0x3, 0x40,
+0x22,0x7e,0xb3,0xc, 0xd0,0x70,0x8, 0x7e,0x27,0x3, 0x30,0xa, 0x54,0x80,0xa, 0x7e,
+0x57,0x3, 0x30,0x80,0x4, 0x7e,0x57,0x3, 0x30,0x22,0x7e,0xb3,0x3, 0x3f,0x22,0x7e,
+0xb3,0x3, 0x41,0x22,0x7e,0xb3,0x6, 0xd4,0x22,0x7e,0xb3,0x3, 0x43,0x22,0x7e,0xb3,
+0x3, 0x44,0x22,0x7e,0xb3,0x3, 0x45,0x22,0x7e,0xb3,0x3, 0x46,0x22,0x7e,0xb3,0x3,
+0x47,0x22,0x7e,0x73,0x3, 0x47,0x7c,0xb7,0x4, 0x7a,0xb3,0x3, 0x47,0xbe,0x70,0x5c,
+0x50,0x20,0xa, 0x27,0x7d,0x12,0x5e,0x14,0x0, 0x1, 0x68,0xb, 0x7d,0x12,0x1e,0x14,
+0x3e,0x14,0x49,0x51,0xc, 0x20,0x22,0x1e,0x24,0x3e,0x24,0x49,0x22,0xc, 0x20,0xa,
+0x54,0x22,0x74,0xee,0x22,0x7e,0x73,0x3, 0x44,0x7c,0xb7,0x4, 0x7a,0xb3,0x3, 0x44,
+0xbe,0x70,0x2e,0x50,0x1c,0xbe,0x70,0x16,0x50,0x2, 0x80,0x5, 0xbe,0x70,0x16,0x50,
+0xb, 0xa, 0x37,0x2e,0x34,0x4, 0xc5,0x12,0x2c,0xfa,0x7c,0x7b,0xb, 0x70,0x7c,0xb7,
+0x22,0x74,0xee,0x22,0x7e,0x73,0x3, 0x46,0x7c,0xb7,0x4, 0x7a,0xb3,0x3, 0x46,0xbe,
+0x70,0x5c,0x50,0x20,0xa, 0x27,0x7d,0x12,0x5e,0x14,0x0, 0x1, 0x68,0xb, 0x7d,0x12,
+0x1e,0x14,0x3e,0x14,0x49,0x51,0x2, 0xd4,0x22,0x1e,0x24,0x3e,0x24,0x49,0x22,0x2,
+0xd4,0xa, 0x54,0x22,0x74,0xee,0x22,0x74,0xee,0x22,0x7c,0xab,0x24,0x0, 0x78,0x5,
+0x7e,0xb3,0xc, 0xd6,0x22,0xbe,0xa0,0xaf,0x38,0xc, 0x7e,0xb3,0xb, 0x9f,0xb4,0x3,
+0x5, 0x7c,0xba,0x2, 0x31,0x41,0x7c,0xba,0x22,0xca,0x79,0x20,0x90,0x2, 0x61,0xcf,
+0xd2,0x8, 0x7e,0xb3,0xc, 0xd2,0x4, 0x7a,0xb3,0xc, 0xd2,0x7e,0xf3,0xc, 0xd2,0xbe,
+0xf0,0x1, 0x78,0x22,0xe5,0x91,0x7a,0xb3,0xc, 0xd8,0x7e,0xb3,0xc, 0xd8,0xb4,0xd3,
+0xe, 0x74,0x1, 0x7a,0xb3,0xc, 0xd7,0x6d,0x33,0x7a,0x37,0xc, 0xd3,0x80,0x3c,0xe4,
+0x7a,0xb3,0xc, 0xd7,0x80,0x35,0x7e,0xb3,0xc, 0xd6,0xc4,0x7c,0xeb,0x5e,0xe0,0x7,
+0x78,0x8, 0x12,0x34,0xe9,0x12,0x37,0x23,0x80,0x21,0xbe,0xe0,0x4, 0x78,0x8, 0x12,
+0x34,0xe9,0x12,0x4b,0xa9,0x80,0x14,0x7e,0xb3,0xc, 0xd6,0xc4,0x54,0x7, 0xb4,0x1,
+0xa, 0x7e,0xb3,0xc, 0xd2,0x12,0x34,0xeb,0x12,0x37,0xdc,0x12,0x36,0xef,0x78,0xe,
+0xe4,0x12,0x34,0x5c,0xb4,0x10,0x2, 0x80,0x14,0x12,0x36,0xfa,0x80,0x12,0xbe,0xf0,
+0x4, 0x78,0x5, 0x12,0x34,0xdf,0x80,0x8, 0xbe,0xf0,0x1, 0x78,0x3, 0x12,0x37,0xc7,
+0x7e,0xb3,0xc, 0xd8,0xb4,0xd3,0x6, 0x7e,0xb3,0xb, 0xb6,0xf5,0x91,0xc2,0x90,0x20,
+0x91,0x2, 0x81,0x59,0xc2,0x8, 0x7e,0xb3,0xc, 0xd0,0x4, 0x12,0x36,0xeb,0x78,0x50,
+0x7e,0xb3,0xc, 0xd7,0xb4,0x1, 0x36,0x7e,0xa3,0x9, 0x6a,0x7e,0x70,0x4, 0xac,0x7a,
+0xbe,0x37,0xc, 0xd3,0x40,0x22,0x7e,0x37,0xc, 0xd3,0x4d,0x33,0x78,0x5, 0x7a,0xa1,
+0x91,0x80,0xd, 0x7d,0x23,0x1b,0x24,0x2e,0x27,0x6, 0xdb,0x7e,0x29,0xb0,0xf5,0x91,
+0xb, 0x34,0x7a,0x37,0xc, 0xd3,0x80,0x3f,0x75,0x91,0xff,0x80,0x3a,0xe4,0x12,0x34,
+0x5c,0xb4,0x10,0x6, 0x7e,0xb3,0xc, 0xd0,0x80,0x19,0x7e,0xb3,0xc, 0xd0,0x80,0x1e,
+0xbe,0xf0,0x4, 0x78,0x5, 0x12,0x34,0xdf,0x80,0x1d,0xbe,0xf0,0x1, 0x7e,0xb3,0xc,
+0xd0,0x78,0xb, 0x2e,0xb3,0xc, 0xd8,0x12,0x0, 0x9, 0xf5,0x91,0x80,0x9, 0x2e,0xb3,
+0xc, 0xd8,0x12,0x34,0x5c,0xf5,0x91,0xc2,0x91,0xda,0x79,0x22,0x7c,0x7b,0xbe,0x70,
+0x80,0x40,0xc, 0xbe,0x70,0xde,0x38,0x7, 0xa, 0x37,0x9, 0xb3,0xa, 0xe3,0x22,0xa5,
+0xbf,0x0, 0x5, 0x7e,0xb3,0xc, 0xd6,0x22,0x30,0x7, 0x6, 0x7e,0x24,0xc, 0xac,0x80,
+0x4, 0x7e,0x24,0xc, 0xbe,0x7a,0x25,0x4a,0x7c,0xb7,0x14,0xbe,0xb0,0xe, 0x50,0x4c,
+0x7e,0xa0,0x3, 0xa4,0x90,0x34,0x98,0x73,0x2, 0x34,0xc2,0x2, 0x34,0xca,0x2, 0x34,
+0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,
+0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2,
+0x34,0xd2,0x7e,0x35,0x4a,0x9, 0xb3,0x0, 0x4, 0x22,0x7e,0x35,0x4a,0x9, 0xb3,0x0,
+0x3, 0x22,0xa, 0x37,0x2e,0x35,0x4a,0x9, 0xb3,0x0, 0x2, 0x22,0x74,0xff,0x22,0x7e,
+0xb3,0xc, 0xd8,0x12,0x33,0xa, 0xf5,0x91,0x22,0x7c,0xbf,0x2e,0xb3,0xc, 0xd8,0x24,
+0xfe,0x7e,0x71,0x91,0x22,0xca,0xf8,0xe4,0x12,0x36,0xeb,0x78,0x5, 0x12,0x36,0xfa,
+0x80,0x12,0xbe,0xf0,0x4, 0x78,0x5, 0x12,0x34,0xdf,0x80,0x8, 0xbe,0xf0,0x1, 0x78,
+0x3, 0x12,0x37,0xc7,0x75,0x91,0x0, 0xe4,0x7a,0xb3,0xc, 0xd2,0x7a,0xb3,0xc, 0xd1,
+0x74,0xaa,0x7a,0xb3,0xc, 0xac,0x7a,0xb3,0xc, 0xad,0x7a,0xb3,0xc, 0xbe,0x7a,0xb3,
+0xc, 0xbf,0xda,0xf8,0x22,0xbe,0xb0,0xa, 0x50,0xa, 0x7c,0x1b,0x2e,0x10,0x37,0x7c,
+0xb7,0xa5,0xf7,0x22,0x2, 0x35,0x47,0xca,0x79,0x7c,0x6b,0xa5,0xbe,0xae,0x17,0x7a,
+0x73,0x3, 0x34,0x7e,0xb3,0x3, 0x34,0xb4,0x1, 0x5, 0xe4,0x7a,0xb3,0x3, 0x34,0xe4,
+0x7a,0xb3,0x3, 0x42,0xc1,0x65,0xa5,0xbe,0xaf,0x5, 0x12,0x37,0xea,0xc1,0xe8,0x7c,
+0xb6,0x24,0xf4,0xbe,0xb0,0x29,0x40,0x2, 0xc1,0xa0,0x7e,0xa0,0x3, 0xa4,0x90,0x35,
+0x82,0x73,0x2, 0x35,0xfd,0x2, 0x36,0x3, 0x2, 0x36,0x9, 0x2, 0x36,0xf, 0x2, 0x36,
+0x15,0x2, 0x36,0x1b,0x2, 0x36,0x21,0x2, 0x36,0x27,0x2, 0x36,0x2d,0x2, 0x36,0x33,
+0x2, 0x36,0x39,0x2, 0x36,0x51,0x2, 0x36,0x6a,0x2, 0x36,0xe1,0x2, 0x36,0x70,0x2,
+0x36,0x79,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,
+0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,
+0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2,
+0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,
+0x82,0x2, 0x36,0x88,0x2, 0x36,0x8e,0x2, 0x36,0x94,0x2, 0x36,0x9a,0x7e,0x74,0x3,
+0x35,0x80,0x7a,0x7e,0x74,0x3, 0x38,0x80,0x74,0x7e,0x74,0x3, 0x39,0x80,0x6e,0x7e,
+0x74,0x3, 0x3a,0x80,0x68,0x7e,0x74,0x3, 0x3b,0x80,0x62,0x7e,0x74,0x3, 0x3c,0x80,
+0x5c,0x7e,0x74,0x3, 0x3d,0x80,0x56,0x7e,0x74,0x3, 0x36,0x80,0x50,0x7e,0x74,0x3,
+0x37,0x80,0x4a,0x7e,0x74,0x3, 0x40,0x80,0x44,0x7e,0x27,0x3, 0x30,0x6c,0x44,0x7a,
+0x27,0x3, 0x30,0x7c,0x67,0x6c,0x77,0x4e,0x37,0x3, 0x30,0x7a,0x37,0x3, 0x30,0x80,
+0x14,0x7e,0x27,0x3, 0x30,0x6c,0x55,0x7a,0x27,0x3, 0x30,0xa, 0x37,0x4e,0x37,0x3,
+0x30,0x7a,0x37,0x3, 0x30,0x43,0xa, 0x1, 0x80,0x7e,0x7e,0x74,0x3, 0x3f,0x80,0xd,
+0x7e,0x74,0x3, 0x41,0x43,0xa, 0x4, 0x80,0x68,0x7e,0x74,0x6, 0xd4,0x43,0xa, 0x1,
+0x80,0x5f,0x7a,0x73,0x3, 0x43,0x80,0x60,0x7a,0x73,0x3, 0x44,0x80,0x5a,0x7a,0x73,
+0x3, 0x45,0x80,0x54,0x7a,0x73,0x3, 0x46,0x80,0x4e,0x7a,0x73,0x3, 0x47,0x80,0x48,
+0xbe,0x60,0x39,0x68,0x4, 0xa5,0xbe,0x3a,0x3f,0x7e,0x63,0x3, 0x45,0x7c,0xb6,0x4,
+0x7a,0xb3,0x3, 0x45,0xa, 0x26,0x5e,0x24,0x0, 0x1, 0xa, 0x16,0x68,0x12,0x12,0x37,
+0x4, 0x6c,0x55,0x1b,0x18,0x20,0xa, 0x17,0x12,0x37,0x10,0x43,0xa, 0x2, 0x80,0x18,
+0x12,0x37,0x4, 0x6c,0x44,0x1b,0x18,0x20,0x7c,0x27,0x6c,0x33,0x12,0x37,0x10,0x80,
+0x7, 0x4d,0x77,0x68,0x3, 0x7a,0x79,0x70,0xda,0x79,0x22,0x7a,0xb3,0xc, 0xd0,0x7e,
+0xb3,0xc, 0xd6,0xc4,0x7c,0xfb,0x5e,0xf0,0x7, 0x22,0x7e,0xb3,0xc, 0xd8,0x12,0x34,
+0x5c,0xf5,0x91,0x22,0x1e,0x14,0x3e,0x14,0x2e,0x14,0x2, 0xd4,0xb, 0x18,0x20,0x22,
+0xa, 0x26,0x1e,0x24,0x3e,0x24,0x2e,0x24,0x2, 0xd4,0xb, 0x28,0x30,0x4d,0x31,0x1b,
+0x28,0x30,0x22,0xca,0x69,0xca,0xf8,0x7c,0xf7,0xbe,0xb0,0x80,0x40,0xb, 0xbe,0xb0,
+0xde,0x38,0x6, 0x24,0x80,0x7c,0x7f,0xe1,0xbf,0x24,0x0, 0x68,0x2, 0xe1,0xc2,0x7e,
+0x64,0xc, 0xd6,0x7a,0x69,0xf0,0x5e,0xf0,0x70,0x7c,0xbf,0xc4,0x54,0xf, 0x7c,0xfb,
+0xbe,0xf0,0x4, 0x78,0x15,0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x7, 0x74,0x2, 0x7e,0x70,
+0x3, 0x80,0x36,0x74,0x3c,0x7e,0x70,0x3, 0x80,0x55,0x7e,0xb3,0xb, 0x9f,0xb4,0x3,
+0x2d,0x74,0x2, 0x7e,0x70,0x1, 0x12,0x35,0x35,0xbe,0xf0,0x1, 0x78,0x6, 0x74,0x2,
+0x6c,0x77,0x80,0x15,0x4c,0xff,0x78,0x7, 0x74,0x2, 0x7e,0x70,0x1, 0x80,0xa, 0xbe,
+0xf0,0x3, 0x78,0x2e,0x74,0x2, 0x7e,0x70,0x4, 0x12,0x35,0x35,0x80,0x24,0xbe,0xf0,
+0x1, 0x78,0x6, 0x74,0x3c,0x6c,0x77,0x80,0x16,0xbe,0xf0,0x4, 0x78,0x7, 0x74,0x3c,
+0x7e,0x70,0x3, 0x80,0xa, 0xbe,0xf0,0x3, 0x78,0x8, 0x74,0x3c,0x7e,0x70,0x4, 0x12,
+0x4b,0x75,0xda,0xf8,0xda,0x69,0x22,0x7e,0xb3,0xc, 0xd8,0x12,0x0, 0x9, 0xf5,0x91,
+0x22,0xe4,0x7a,0xb3,0xc, 0xd6,0x12,0x4d,0xe8,0x2, 0x34,0xf5,0x7c,0xa7,0x24,0x0,
+0x78,0x7, 0x7e,0x34,0xc, 0xd6,0x7a,0x39,0xa0,0x22,0x30,0x9, 0x8, 0x74,0x1, 0x12,
+0x43,0x3a,0xc2,0x9, 0x22,0xe4,0x12,0x43,0x3a,0xd2,0x9, 0x22,0x75,0xd, 0x0, 0xc2,
+0x5, 0x7e,0xb3,0xb, 0x88,0x70,0x7, 0x7e,0xb3,0x0, 0x95,0xf5,0x1a,0x22,0x7e,0xb3,
+0x0, 0x97,0xf5,0x1a,0x22,0x7d,0xd2,0x6d,0x22,0x9e,0x18,0x0, 0xc7,0x6d,0xcc,0x7e,
+0x78,0x0, 0xc7,0x7f,0x27,0x9f,0x26,0x12,0x3c,0x5c,0x2e,0x28,0x0, 0xc7,0x9f,0x71,
+0x7f,0x17,0xbe,0x28,0x0, 0x0, 0x58,0x4, 0x9f,0x22,0x80,0xa, 0xbe,0x28,0x1, 0x8e,
+0x48,0x4, 0x7e,0x28,0x1, 0x8d,0xbe,0x18,0x0, 0x0, 0x58,0x4, 0x9f,0x11,0x80,0xa,
+0xbe,0x18,0x1, 0x8e,0x48,0x4, 0x7e,0x18,0x1, 0x8d,0x1b,0x18,0x50,0x7d,0x13,0x1b,
+0x8, 0x10,0x22,0xca,0xf8,0x6c,0xff,0x80,0x23,0x74,0x5, 0xac,0xbf,0x12,0x3c,0xa,
+0x7e,0x14,0x0, 0x22,0x7e,0x4, 0x0, 0x24,0x12,0x38,0x15,0x7e,0x35,0x22,0x74,0x5,
+0xac,0xbf,0x59,0x35,0x0, 0x7a,0x7e,0x35,0x24,0x12,0x3c,0x51,0x12,0x38,0x94,0x48,
+0xd8,0xda,0xf8,0x22,0x7e,0xb3,0x0, 0x90,0x54,0xf, 0xa, 0x2b,0xa, 0x3f,0xbd,0x32,
+0x22,0xca,0x3b,0xc2,0xf, 0x75,0x2c,0x0, 0x7e,0xb3,0x3, 0x5a,0xbe,0xb0,0x2, 0x68,
+0x7, 0x7e,0xb3,0x3, 0x5b,0xb4,0x2, 0x16,0x12,0x2d,0x19,0xbe,0xb0,0x1, 0x38,0xe,
+0x7c,0xba,0x54,0xf, 0xbe,0xb0,0x1, 0x38,0x5, 0x7c,0xba,0x12,0x28,0x90,0x6c,0xff,
+0x7e,0xa0,0xff,0x7e,0x70,0x5, 0xac,0x7f,0x19,0xa3,0x0, 0x7e,0x7c,0x1f,0x2e,0x10,
+0x22,0x74,0xff,0xa5,0xf7,0x7e,0x24,0xff,0xff,0x12,0x3b,0xed,0x1b,0x38,0x20,0x7c,
+0x1f,0x2e,0x10,0x24,0xe4,0xa5,0xf7,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xd2,0x7e,0xa3,
+0x0, 0x90,0x7c,0xba,0x54,0xf, 0x78,0x1f,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x18,0x6c,
+0xff,0x12,0x3c,0x49,0xac,0x7f,0x59,0x43,0x3, 0x52,0x59,0x43,0x3, 0x56,0xb, 0xf0,
+0xbe,0xf0,0x2, 0x78,0xec,0x61,0x88,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x33,0x6c,0xff,
+0x7e,0xa0,0x1, 0x80,0x25,0x7c,0x1f,0x2e,0x10,0x24,0x7c,0xba,0x12,0x3b,0xf6,0x19,
+0xf3,0x0, 0x7e,0x49,0x43,0x0, 0x7a,0x7e,0x50,0x2, 0xac,0x5f,0x59,0x42,0x3, 0x52,
+0x49,0x33,0x0, 0x7c,0x59,0x32,0x3, 0x56,0xb, 0xf0,0x12,0x38,0x94,0x48,0xd6,0x61,
+0x88,0x6c,0xff,0x80,0x47,0x6c,0xee,0x74,0x2, 0xac,0xbe,0x49,0x25,0x3, 0x56,0x12,
+0x3e,0x8, 0x7d,0x63,0x74,0x2, 0xac,0xbe,0x49,0x25,0x3, 0x52,0x12,0x3c,0x73,0x2d,
+0x36,0x7a,0x35,0x26,0x7c,0xbf,0x3e,0xb0,0x24,0x28,0xa, 0x2b,0xb, 0x28,0x30,0xbe,
+0x35,0x26,0x28,0xf, 0x7c,0x1f,0x2e,0x10,0x22,0x7c,0xbe,0xa5,0xf7,0x7e,0x35,0x26,
+0x1b,0x28,0x30,0xb, 0xe0,0xbe,0xe0,0x2, 0x78,0xbd,0xb, 0xf0,0x12,0x38,0x94,0x48,
+0xb4,0x6c,0xff,0x41,0x51,0xd2,0xf, 0x6c,0xee,0x80,0x2c,0xbc,0xef,0x68,0x26,0x7c,
+0x1e,0x12,0x3b,0xfe,0x7c,0x1f,0x2e,0x10,0x22,0xa5,0xe7,0xbc,0xba,0x78,0x16,0x7c,
+0xbe,0x12,0x3b,0xef,0xb, 0x38,0x20,0x12,0x3b,0xed,0xb, 0x38,0x30,0xbd,0x32,0x40,
+0x4, 0xc2,0xf, 0x80,0xd, 0xb, 0xe0,0x12,0xe, 0xaf,0xa, 0x2b,0xa, 0x3e,0xbd,0x32,
+0x48,0xc9,0x7c,0x1f,0x12,0x3b,0xfe,0xa, 0x4a,0x9, 0xb4,0x3, 0x5a,0xb4,0x2, 0x4,
+0xc2,0xf, 0x80,0x1e,0xb4,0x1, 0x1b,0x12,0x2f,0x33,0xbe,0xb0,0x2, 0x40,0x11,0x7c,
+0xb7,0xc4,0x54,0xf, 0xbe,0xb0,0x2, 0x40,0x7, 0xe4,0x19,0xb4,0x3, 0x5a,0x80,0x2,
+0xc2,0xf, 0x30,0xf, 0x2a,0xbe,0xa0,0x2, 0x50,0x25,0x7c,0x1a,0x2e,0x10,0x24,0x74,
+0x1, 0xa5,0xf7,0x7e,0x90,0x5, 0xac,0x9f,0x19,0xa4,0x0, 0x7e,0x49,0x34,0x0, 0x7a,
+0x74,0x2, 0xa4,0x59,0x35,0x3, 0x52,0x49,0x34,0x0, 0x7c,0x59,0x35,0x3, 0x56,0xb,
+0xf0,0x12,0x38,0x94,0x58,0x2, 0x21,0xb5,0x6c,0xff,0x80,0x48,0x74,0x5, 0xac,0xbf,
+0x9, 0xb5,0x0, 0x7e,0xb4,0xff,0x3b,0x6c,0xee,0x7c,0x1e,0x2e,0x10,0x24,0xa5,0xe7,
+0x70,0x29,0xa, 0x3e,0x9, 0xb3,0x3, 0x5a,0x70,0x1f,0x74,0x1, 0x12,0x3b,0xf6,0x49,
+0x23,0x0, 0x7a,0x74,0x2, 0xac,0xbe,0x59,0x25,0x3, 0x52,0x49,0x23,0x0, 0x7c,0x59,
+0x25,0x3, 0x56,0x19,0xe3,0x0, 0x7e,0x80,0x9, 0x5, 0x2c,0xb, 0xe0,0xbe,0xe0,0x2,
+0x40,0xc7,0xb, 0xf0,0x7e,0xa3,0x0, 0x90,0x5e,0xa0,0xf, 0xa, 0x2a,0xa, 0x3f,0xbd,
+0x32,0x48,0xa9,0xe5,0x2c,0x60,0x2a,0x4c,0xaa,0x68,0x26,0xe5,0x2c,0xa, 0x3b,0xbd,
+0x23,0x48,0x1e,0x7e,0x73,0x0, 0x7e,0xbe,0x70,0x2, 0x40,0xc, 0x7e,0x73,0x0, 0x83,
+0xbe,0x70,0x2, 0x50,0x3, 0x12,0x3e,0x3a,0x12,0x2f,0x75,0x9e,0x61,0x2c,0x12,0x2d,
+0x23,0x12,0x2d,0x19,0xa, 0x2b,0x7c,0xba,0x54,0xf, 0xa, 0x3b,0xbd,0x32,0x58,0x71,
+0x6c,0xff,0x12,0x3b,0xe5,0x70,0x5a,0x7e,0xd0,0x2, 0xac,0xdf,0x49,0x46,0x3, 0x52,
+0xbe,0x44,0x7f,0xff,0x68,0x4b,0xa, 0x2f,0x9, 0x62,0x3, 0x5a,0xbe,0x60,0x2, 0x50,
+0x40,0x49,0x16,0x3, 0x56,0xbe,0x14,0x1, 0x8e,0x50,0x36,0x9, 0xb2,0xb, 0x31,0x60,
+0x30,0x74,0x1, 0xa5,0xf7,0x7e,0x73,0x0, 0x90,0x7c,0xe7,0x5e,0xe0,0xf, 0x74,0x5,
+0xac,0xbe,0x59,0x45,0x0, 0x7a,0x59,0x15,0x0, 0x7c,0x19,0xf5,0x0, 0x7e,0x2e,0x24,
+0x3, 0x5a,0x7c,0xb6,0x4, 0x7a,0x29,0xb0,0x7c,0x67,0xb, 0x60,0x12,0x2d,0x23,0x80,
+0x7, 0xe4,0xa, 0x3f,0x19,0xb3,0x3, 0x5a,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0x93,0x80,
+0x9, 0xe4,0x7a,0xb3,0x3, 0x5a,0x7a,0xb3,0x3, 0x5b,0x6c,0xff,0x12,0x3b,0xe5,0x70,
+0x10,0x7e,0x34,0x7f,0xff,0x74,0x2, 0xac,0xbf,0x59,0x35,0x3, 0x52,0x59,0x35,0x3,
+0x56,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xe4,0x12,0x3c,0x41,0x6c,0xff,0x12,0x3b,0xe5,
+0xb4,0x1, 0x1d,0xa, 0x3f,0x9, 0xb3,0x3, 0x50,0xbe,0xb0,0x3, 0x68,0x3, 0xb4,0x1,
+0x7, 0xe4,0x19,0xb3,0x3, 0x4e,0x80,0x33,0x74,0x2, 0x19,0xb3,0x3, 0x4e,0x80,0x2b,
+0xa, 0x3f,0x9, 0xb3,0x3, 0x50,0xbe,0xb0,0x2, 0x68,0x2, 0x70,0x18,0x74,0x1, 0x19,
+0xb3,0x3, 0x4e,0xbe,0xe0,0x2, 0x50,0x13,0x7c,0xae,0xb, 0xe0,0x74,0x5, 0xa4,0x19,
+0xf5,0x0, 0x7e,0x80,0x6, 0x74,0x3, 0x19,0xb3,0x3, 0x4e,0xb, 0xf0,0xbe,0xf0,0x2,
+0x40,0xab,0xda,0x3b,0x22,0x7c,0x1f,0x2e,0x10,0x24,0xa5,0xe7,0x22,0x7c,0xbf,0x3e,
+0xb0,0x24,0x28,0xa, 0x3b,0x22,0xa5,0xf7,0x7e,0x70,0x5, 0xac,0x7f,0x22,0x2e,0x10,
+0x22,0xa5,0xe7,0x7c,0xab,0x22,0x74,0x5, 0xac,0xbe,0x49,0x35,0x0, 0x7a,0x49,0x25,
+0x0, 0x7c,0x22,0xca,0x79,0x12,0x3c,0x37,0x6c,0xff,0x80,0x13,0xa, 0x3f,0x9, 0xe3,
+0x0, 0x76,0x7e,0x34,0x6, 0x15,0x7c,0xbe,0x6c,0x55,0x12,0x3e,0x4b,0xb, 0xf0,0x12,
+0x38,0x94,0x48,0xe8,0xda,0x79,0x22,0x74,0x1, 0x6c,0xaa,0x12,0x3c,0x67,0x40,0xfb,
+0x22,0x7e,0xe3,0x0, 0x90,0x5e,0xe0,0xf, 0x22,0x7e,0x44,0x7f,0xff,0x7e,0x70,0x2,
+0x22,0x74,0x5, 0xac,0xbf,0x59,0x35,0x0, 0x7c,0xb, 0xf0,0x22,0x6e,0x34,0xff,0xff,
+0x6e,0x24,0xff,0xff,0xb, 0x1c,0x22,0xa, 0x4a,0x19,0xb4,0x6, 0x15,0xb, 0xa0,0xbe,
+0xa0,0x2e,0x22,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7a,0x9d,0x32,0x2, 0x0, 0x2e,
+0xca,0x3b,0x12,0xe, 0xaf,0x7c,0xeb,0x78,0x30,0x6c,0xff,0x6d,0x11,0x74,0x2, 0xac,
+0xbf,0x59,0x15,0xd, 0x1d,0x7e,0xa0,0xff,0x7e,0x30,0x5, 0xac,0x3f,0x19,0xa1,0xd,
+0x17,0x7e,0xb3,0xd, 0x28,0x70,0x3, 0xe4,0x80,0x2, 0x74,0x2, 0xa, 0x1f,0x19,0xb1,
+0xd, 0x26,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xd2,0x7e,0x17,0x0, 0x92,0xbe,0x14,0x0,
+0x1, 0x78,0x2, 0xa1,0xfc,0x6c,0xff,0xa1,0xd8,0x74,0x5, 0xac,0xbf,0x9, 0x75,0x0,
+0x7e,0x7a,0x71,0x23,0xbe,0x70,0x2, 0x40,0x2, 0xa1,0xd6,0xe5,0x23,0xa, 0x1b,0x12,
+0x3e,0x1d,0x78,0x2, 0xa1,0xd6,0x75,0x22,0x0, 0x7e,0x31,0x22,0x74,0x5, 0xac,0x3b,
+0x9, 0x71,0xd, 0x17,0x7a,0x71,0x24,0xbe,0x71,0x23,0x68,0x2, 0xa1,0xcb,0x49,0x21,
+0xd, 0x15,0x12,0x3e,0x8, 0x7d,0x63,0x12,0x14,0xe3,0x49,0x25,0xd, 0x13,0x12,0x3c,
+0x73,0x7d,0x3, 0x2d,0x6, 0xe5,0x24,0xa, 0x1b,0x9, 0xa1,0xd, 0x26,0xbe,0xa0,0x0,
+0x28,0x17,0x7e,0x71,0x24,0x74,0x2, 0xac,0x7b,0x59,0x3, 0xd, 0x1d,0x2e,0x14,0xd,
+0x26,0x7c,0xba,0x14,0x7a,0x19,0xb0,0xa1,0xd6,0x7e,0x31,0x24,0x74,0x2, 0xac,0x3b,
+0x49,0x31,0xd, 0x1d,0xbe,0x34,0x0, 0x1e,0x28,0x8, 0xbe,0x4, 0x0, 0x1e,0x28,0x2,
+0x80,0x10,0x7d,0x23,0x2e,0x24,0x0, 0x1e,0xbd,0x20,0x50,0x12,0xbe,0x34,0x0, 0x1e,
+0x28,0xc, 0x59,0x1, 0xd, 0x1d,0x74,0x1, 0x7a,0xb3,0xd, 0x28,0x80,0x68,0xbe,0x4,
+0x0, 0x64,0x28,0x4b,0xe4,0x7a,0xb3,0xd, 0x28,0xe5,0x23,0xa, 0x1b,0x9, 0xb1,0x3,
+0x4e,0x70,0x4, 0x74,0x3, 0x80,0x2, 0x74,0x1, 0x19,0xb1,0x3, 0x4e,0x12,0x3e,0x25,
+0x7e,0x14,0xd, 0x21,0x74,0x5, 0x12,0x4, 0x8d,0xbe,0xe0,0x0, 0x28,0x21,0x1b,0xe0,
+0x7e,0x70,0x5, 0xac,0x7e,0x2e,0x34,0x0, 0x7a,0x7e,0x30,0x5, 0xac,0x3f,0x12,0x3d,
+0xff,0x7e,0x34,0xd, 0x21,0x7e,0x30,0x5, 0xac,0x3e,0x12,0x3d,0xff,0x1b,0xf0,0x7e,
+0xa1,0x24,0x74,0x2, 0xa4,0x59,0x5, 0xd, 0x1d,0x80,0xb, 0x5, 0x22,0xe5,0x22,0xbe,
+0xb0,0x2, 0x50,0x2, 0x81,0xe9,0xb, 0xf0,0x12,0x2f,0x33,0xa, 0x2b,0xa, 0x1f,0xbd,
+0x12,0x58,0x2, 0x81,0xc9,0x7c,0x6e,0x12,0x2d,0x23,0x6c,0xff,0x12,0x3e,0x15,0x2e,
+0x34,0x0, 0x7a,0x2e,0x14,0xd, 0x13,0x12,0x3e,0x2f,0x78,0xf0,0xda,0x3b,0x22,0x2e,
+0x14,0x0, 0x7a,0x74,0x5, 0x2, 0x4, 0x8d,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7c,
+0x9d,0x32,0x2, 0x0, 0x2e,0x7e,0x30,0x5, 0xac,0x3f,0x7d,0x31,0x22,0x9, 0xb1,0x3,
+0x4e,0xbe,0xb0,0x1, 0x22,0x7e,0x70,0x5, 0xac,0x7f,0x2e,0x34,0x0, 0x7a,0x22,0x74,
+0x5, 0x12,0x4, 0x8d,0xb, 0xf0,0xbe,0xf0,0x2, 0x22,0x7e,0x1f,0x0, 0x80,0x7e,0x33,
+0x0, 0x7f,0x7a,0x1f,0x0, 0x7b,0x7a,0x33,0x0, 0x7a,0x22,0x7d,0x13,0x4d,0x11,0x68,
+0xc, 0xbe,0xb0,0x2e,0x50,0x7, 0xa, 0x3b,0x2d,0x31,0x7a,0x39,0x50,0x22,0x74,0x10,
+0x7a,0xb3,0xb, 0x84,0x74,0x83,0x7a,0xb3,0xb, 0x85,0xe4,0x6c,0xaa,0x12,0x3c,0x67,
+0x40,0xfb,0x22,0x6c,0xaa,0x74,0x3, 0xa, 0x4a,0x19,0xb4,0x3, 0x50,0x19,0xb4,0x3,
+0x4e,0x12,0x3c,0x49,0xac,0x7a,0x59,0x43,0x3, 0x52,0x59,0x43,0x3, 0x56,0xb, 0xa0,
+0xbe,0xa0,0x2, 0x40,0xe0,0x22,0x7c,0x6b,0x7e,0x53,0x0, 0x90,0x7c,0xb5,0x54,0xf,
+0x68,0x10,0x7c,0x45,0x1b,0x40,0x5e,0x40,0xf, 0x5e,0x50,0xf0,0x4c,0x54,0x7a,0x53,
+0x0, 0x90,0xa5,0xbe,0x0, 0x12,0xa5,0xbf,0x2, 0xe, 0x7e,0x73,0x0, 0x77,0x7a,0x73,
+0x0, 0x76,0x85,0x17,0x16,0x12,0x3e,0x3a,0x22,0xca,0x79,0x6d,0x77,0x7a,0x77,0x2,
+0xd0,0x7e,0x34,0x3, 0xe8,0x7a,0x37,0x0, 0x74,0x12,0x1f,0xe6,0x12,0x1e,0xf6,0x12,
+0x1b,0xdc,0x7a,0x77,0x2, 0xd0,0x7e,0x34,0x0, 0x64,0x7a,0x37,0x0, 0x74,0xda,0x79,
+0x22,0x6c,0x77,0xa, 0x27,0x9, 0x62,0x3, 0x4e,0x19,0x62,0x3, 0x50,0xb, 0x70,0xbe,
+0x70,0x2, 0x40,0xef,0x12,0x3f,0x35,0x12,0x3f,0x2d,0x7a,0x73,0x0, 0x90,0x7e,0x73,
+0x0, 0x91,0x5e,0x70,0xf, 0x12,0x3f,0x2d,0x7a,0x73,0x0, 0x91,0x7e,0x1f,0x5, 0x2c,
+0x7a,0x1f,0x5, 0x30,0x7e,0x73,0x6, 0xe, 0x7a,0x73,0x6, 0xf, 0x22,0x7c,0xb7,0xc4,
+0x54,0xf0,0x4c,0x7b,0x22,0x7e,0x73,0x0, 0x90,0x5e,0x70,0xf, 0x22,0x12,0x3f,0x35,
+0x6c,0x66,0x80,0x2, 0xb, 0x60,0xbc,0x76,0x38,0xfa,0x22,0xca,0x3b,0x6c,0xaa,0x12,
+0x3f,0x35,0x7e,0x44,0x3, 0x5c,0x7e,0x24,0x0, 0x76,0x6c,0x66,0x80,0x64,0x75,0x1f,
+0xff,0xa, 0xf6,0x2d,0xf2,0x7e,0xf9,0x20,0x7e,0x30,0x4, 0xac,0x23,0x7d,0xe1,0x2d,
+0xe4,0x49,0x1e,0x0, 0x2, 0xb, 0xe8,0x0, 0xa, 0x76,0xb, 0x74,0x80,0x24,0xa, 0xef,
+0x2d,0xe2,0x7e,0xe9,0xe0,0x7e,0xd0,0x4, 0xac,0xde,0x7d,0xe6,0x2d,0xe4,0x49,0xde,
+0x0, 0x2, 0xb, 0xe8,0xc0,0xbf,0x6, 0x58,0x7, 0x7c,0xae,0x7a,0xf1,0x1f,0x7f,0x6,
+0xb, 0xf0,0xbc,0x7f,0x38,0xd8,0xe5,0x1f,0xbe,0xb0,0xff,0x68,0x13,0x7e,0xf9,0xe0,
+0xe5,0x1f,0xa, 0xfb,0x2d,0xf2,0x7a,0xf9,0xe0,0xa, 0xf6,0x2d,0xf2,0x7a,0xf9,0xa0,
+0xb, 0x60,0xbc,0x76,0x38,0x98,0xda,0x3b,0x22,0x7c,0xab,0x9f,0x11,0x7a,0x1f,0x5,
+0x30,0x74,0xb, 0x7a,0xb3,0x6, 0xf, 0x74,0x2, 0x7a,0xb3,0x6, 0x44,0x7a,0xb3,0x6,
+0x43,0x74,0xf, 0x7a,0xb3,0x6, 0x45,0x74,0x2, 0x7a,0xb3,0x6, 0x47,0x7a,0xb3,0x6,
+0x46,0x74,0xf, 0x7a,0xb3,0x6, 0x48,0x7e,0x34,0x0, 0x32,0x7a,0x37,0x5, 0xec,0x12,
+0x41,0x12,0x74,0xa, 0x7a,0xb3,0x6, 0x10,0x7e,0xb3,0x6, 0x67,0x44,0x40,0x7a,0xb3,
+0x6, 0x67,0x54,0x7f,0x7a,0xb3,0x6, 0x67,0x5e,0xa0,0x7f,0xbe,0xa0,0x1, 0x68,0x7,
+0xbe,0xa0,0x2, 0x78,0x2, 0x80,0x0, 0x12,0x41,0x12,0x7e,0xa3,0x6, 0x67,0x7c,0xba,
+0x30,0xe0,0x12,0x74,0x1, 0x7a,0xb3,0x6, 0x11,0x74,0x3, 0x7a,0xb3,0x6, 0x12,0x7a,
+0xb3,0x6, 0x13,0x80,0xe, 0x74,0x1, 0x7a,0xb3,0x6, 0x12,0x7a,0xb3,0x6, 0x13,0x7a,
+0xb3,0x6, 0x11,0x74,0xa, 0x7a,0xb3,0x6, 0x66,0x7a,0xb3,0x6, 0x14,0x7e,0x24,0x2a,
+0xf8,0x7a,0x27,0x5, 0xf0,0x7c,0xba,0x54,0xfd,0x7a,0xb3,0x6, 0x67,0x7e,0x24,0xfc,
+0xe0,0x7a,0x27,0x5, 0xee,0x12,0x41,0x35,0x7a,0x37,0x5, 0xf2,0x7e,0x34,0x5, 0xdc,
+0x7a,0x37,0x5, 0xf4,0x7e,0x34,0xf, 0xa0,0x7a,0x37,0x5, 0xf6,0x7e,0xb3,0x6, 0x67,
+0x54,0xf7,0x7a,0xb3,0x6, 0x67,0x54,0xef,0x7a,0xb3,0x6, 0x67,0x7e,0x34,0x0, 0xc7,
+0x7a,0x37,0x5, 0xf8,0x7e,0x34,0x0, 0xa0,0x7a,0x37,0x5, 0xfa,0xe4,0x7a,0xb3,0x6,
+0x49,0x7a,0xb3,0x6, 0x4a,0x7a,0x37,0x6, 0x4b,0x7e,0x34,0x0, 0x31,0x7a,0x37,0x5,
+0xfc,0x7e,0x34,0x1, 0x5c,0x7a,0x37,0x5, 0xfe,0x12,0x41,0x1d,0x7e,0x34,0x0, 0x8,
+0x7a,0x37,0x6, 0x2, 0x7e,0x34,0x0, 0x7, 0x7a,0x37,0x6, 0x0, 0x7e,0x34,0x0, 0x1a,
+0x7a,0x37,0x6, 0x4, 0x7e,0x34,0x6, 0x65,0x7a,0x37,0x6, 0x6, 0x7e,0x34,0x22,0x98,
+0x7a,0x37,0x6, 0x8, 0x7e,0x34,0x20,0x4, 0x7a,0x37,0x6, 0xc, 0x7e,0x34,0x20,0x51,
+0x7a,0x37,0x6, 0xa, 0xe4,0x7a,0xb3,0x6, 0x4d,0x7e,0x34,0xa, 0xd1,0x7a,0x37,0x6,
+0x4e,0x22,0x7e,0xb3,0x6, 0x67,0x54,0xfe,0x7a,0xb3,0x6, 0x67,0x22,0x7e,0xb3,0x6,
+0x67,0x54,0xdf,0x7a,0xb3,0x6, 0x67,0x22,0x7e,0xb3,0x6, 0x67,0x44,0x4, 0x7a,0xb3,
+0x6, 0x67,0x12,0x15,0x1d,0x7e,0xb3,0x6, 0x67,0x54,0xfb,0x7a,0xb3,0x6, 0x67,0x22,
+0xca,0x3b,0x7e,0x48,0x75,0x30,0x7f,0x74,0x9f,0x55,0x7f,0x5, 0x6c,0x77,0x7e,0xa0,
+0x1, 0x6c,0x66,0x7e,0x50,0x2, 0xac,0x56,0x49,0x72,0x5, 0x34,0x6d,0x66,0x7e,0x50,
+0x4, 0xac,0x56,0x49,0xd2,0x3, 0x5e,0x49,0xc2,0x3, 0x5c,0x2f,0x63,0xbf,0x76,0x8,
+0x2, 0x7f,0x76,0xbf,0x6, 0x58,0x2, 0x7f,0x6, 0xb, 0x60,0xa5,0xbe,0x16,0xd4,0x7f,
+0x30,0x9f,0x37,0xbe,0x38,0x4, 0xb0,0x58,0x3, 0x7e,0x70,0x1, 0x7f,0x74,0x7f,0x5,
+0x6c,0x66,0x7e,0x50,0x2, 0xac,0x56,0x49,0xd2,0x5, 0x34,0x6d,0xcc,0xbf,0x76,0x8,
+0x2, 0x7f,0x76,0xbf,0x6, 0x58,0x2, 0x7f,0x6, 0xb, 0x60,0xa5,0xbe,0x16,0xe3,0x9f,
+0x7, 0xbe,0x8, 0x4, 0xb0,0x8, 0x2, 0x6c,0xaa,0x4c,0x77,0x68,0x8, 0x4c,0xaa,0x78,
+0x4, 0x74,0x1, 0x80,0x1, 0xe4,0xda,0x3b,0x22,0xca,0x3b,0x7c,0xcb,0x6c,0xaa,0xe5,
+0x9, 0x70,0xa, 0xe5,0x1c,0x70,0x6, 0xe5,0x11,0x70,0x2, 0x61,0x33,0x20,0x7, 0x6,
+0x7e,0x74,0xc, 0xac,0x80,0x4, 0x7e,0x74,0xc, 0xbe,0x6c,0xdd,0x7e,0x70,0xff,0xa,
+0x2d,0x2d,0x27,0x7a,0x29,0x70,0xb, 0xd0,0xbe,0xd0,0x12,0x78,0xf2,0x74,0xaa,0x7a,
+0x79,0xb0,0x19,0xb7,0x0, 0x1, 0x74,0x12,0x19,0xb7,0x0, 0x2, 0x7e,0xb3,0x2, 0xca,
+0x19,0xb7,0x0, 0x4, 0x6c,0x77,0x6c,0xdd,0x7e,0x10,0x5, 0xac,0x1d,0x9, 0x60,0x2,
+0xba,0xbe,0x60,0xff,0x78,0x2, 0x41,0xbc,0xa, 0x16,0x9, 0xb1,0x3, 0x4e,0xbe,0xb0,
+0x3, 0x78,0x2, 0x41,0xbc,0x49,0x40,0x2, 0xb6,0x2e,0x44,0x0, 0x3, 0x49,0x20,0x2,
+0xb8,0x2e,0x24,0x0, 0x3, 0xa, 0x8, 0x12,0x43,0x4c,0x19,0x60,0x0, 0x5, 0x7c,0x69,
+0xa, 0x7, 0x2d,0x7, 0x19,0x60,0x0, 0x6, 0xa, 0x4, 0x12,0x43,0x4c,0x19,0x60,0x0,
+0x7, 0x7c,0x65,0xa, 0x7, 0x2d,0x7, 0x19,0x60,0x0, 0x8, 0xe4,0xa, 0x7, 0x2d,0x7,
+0x19,0xb0,0x0, 0x9, 0xa, 0x7, 0x2d,0x7, 0x19,0xb0,0x0, 0xa, 0x12,0x43,0x42,0xc4,
+0x54,0xf0,0xa, 0x7, 0x2d,0x7, 0x2e,0x4, 0x0, 0x7, 0x7e,0x9, 0x60,0x2c,0x6b,0x7a,
+0x9, 0x60,0x12,0x43,0x42,0xbe,0xb0,0xff,0x68,0x1f,0x12,0x3e,0x1d,0x68,0x2, 0xb,
+0xa0,0x9, 0xb1,0x3, 0x4e,0x3, 0x3, 0x54,0xc0,0xa, 0x17,0x2d,0x17,0x2e,0x14,0x0,
+0x5, 0x7e,0x19,0x60,0x2c,0x6b,0x7a,0x19,0x60,0x2e,0x70,0x6, 0xb, 0xd0,0xbe,0xd0,
+0x2, 0x68,0x2, 0x41,0x18,0x19,0xa7,0x0, 0x3, 0xe4,0x19,0xb7,0x0, 0x11,0x6c,0xdd,
+0xa, 0x3d,0x2d,0x37,0x7e,0x39,0x60,0x7d,0x27,0x2e,0x24,0x0, 0x11,0x7e,0x29,0x70,
+0x6c,0x76,0x7a,0x29,0x70,0xb, 0xd0,0xbe,0xd0,0x11,0x78,0xe4,0x30,0x7, 0x4, 0xc2,
+0x7, 0x80,0x2, 0xd2,0x7, 0xe5,0x1c,0x60,0x3, 0x12,0x3e,0x73,0x75,0x9, 0x0, 0x75,
+0x1c,0x0, 0x75,0x11,0x0, 0x7e,0xb3,0xb, 0xb3,0xb4,0x1, 0x14,0x12,0x2f,0x3c,0x68,
+0x26,0xe5,0x4f,0xb4,0x1, 0xf, 0x74,0x1, 0x12,0x43,0x3a,0x75,0x4f,0x0, 0x80,0x5,
+0x74,0x1, 0x12,0x43,0x3a,0x7e,0x34,0x0, 0x9, 0x12,0x43,0x57,0xbe,0xc0,0x1, 0x78,
+0x6, 0x80,0x0, 0xe4,0x12,0x43,0x3a,0xda,0x3b,0x22,0x70,0x3, 0xd2,0x86,0x22,0xc2,
+0x86,0x22,0x7e,0x10,0x5, 0xac,0x1d,0x9, 0xb0,0x2, 0xba,0x22,0x5e,0x4, 0x0, 0xf,
+0x7c,0x61,0xa, 0x7, 0x2d,0x7, 0x22,0x7e,0x24,0x0, 0x14,0xad,0x32,0x80,0x3, 0x0,
+0x0, 0x0, 0x7d,0x23,0x1b,0x34,0x4d,0x22,0x78,0xf5,0x22,0x30,0x0, 0x44,0xc2,0x6,
+0xe4,0x7a,0xb3,0x3, 0x48,0x30,0x1, 0x1c,0x80,0x3, 0x30,0x0, 0x9, 0xa9,0x21,0x94,
+0xf9,0x80,0x3, 0x30,0x0, 0x4, 0xa9,0x31,0x94,0xf9,0x30,0x0, 0x1e,0x80,0x15,0x80,
+0x3, 0x30,0x0, 0x9, 0xa9,0x31,0x94,0xf9,0x80,0x3, 0x30,0x0, 0x4, 0xa9,0x21,0x94,
+0xf9,0x30,0x0, 0x7, 0xd2,0x6, 0xe4,0x7a,0xb3,0x2, 0xcf,0x7e,0x37,0x2, 0xcd,0x2,
+0x43,0x57,0x22,0xca,0xf8,0x7c,0xfb,0x74,0x16,0x7a,0xb3,0x6, 0xc6,0xe4,0x7a,0xb3,
+0x6, 0xc7,0x74,0x16,0x7a,0xb3,0x6, 0xc8,0x74,0x30,0x7a,0xb3,0x6, 0xd4,0x7e,0xb3,
+0x6, 0xcb,0x54,0xbf,0x7a,0xb3,0x6, 0xcb,0x54,0x7f,0x7a,0xb3,0x6, 0xcb,0x54,0xf9,
+0x7a,0xb3,0x6, 0xcb,0x7e,0xb3,0x6, 0xca,0x54,0xbf,0x7a,0xb3,0x6, 0xca,0x7e,0xb3,
+0x6, 0xd7,0x44,0x4, 0x7a,0xb3,0x6, 0xd7,0x74,0x15,0x7a,0xb3,0x6, 0xd5,0x7e,0xb3,
+0x6, 0xca,0x54,0x7f,0x7a,0xb3,0x6, 0xca,0x7e,0xb3,0x6, 0xcb,0x54,0xfe,0x7a,0xb3,
+0x6, 0xcb,0x7e,0x34,0x4, 0xc5,0x7e,0x24,0x6, 0x68,0x74,0x16,0x7e,0x30,0x97,0x12,
+0x45,0xb, 0x6c,0x77,0x80,0x8, 0xa, 0x27,0x19,0x72,0x6, 0x96,0xb, 0x70,0x7e,0x63,
+0x6, 0xc8,0xbc,0x67,0x38,0xf0,0x7e,0xb3,0x6, 0xc9,0x44,0x1, 0x7a,0xb3,0x6, 0xc9,
+0x5e,0xf0,0x7f,0xbe,0xf0,0x1, 0x78,0xe, 0x7e,0xb3,0x6, 0xc9,0x12,0x44,0xef,0x44,
+0x8, 0x12,0x44,0xfc,0x80,0x38,0xbe,0xf0,0x2, 0x7e,0xb3,0x6, 0xc9,0x78,0x8, 0x12,
+0x44,0xef,0x12,0x44,0xfc,0x80,0x27,0x44,0x6, 0x12,0x44,0xf1,0x44,0x18,0x7a,0xb3,
+0x6, 0xcb,0x7e,0x63,0x3, 0x35,0x5e,0x60,0x7, 0x7c,0xb6,0xc4,0x3, 0x54,0xf8,0x7c,
+0x6b,0x7e,0x73,0x6, 0xca,0x5e,0x70,0xc7,0x4c,0x76,0x7a,0x73,0x6, 0xca,0xe4,0x7a,
+0xb3,0x6, 0xd6,0x7e,0xb3,0x6, 0xca,0x54,0xfe,0x7a,0xb3,0x6, 0xca,0x44,0x6, 0x7a,
+0xb3,0x6, 0xca,0x7e,0x73,0x3, 0x38,0x7a,0x73,0x6, 0xcc,0x7e,0x73,0x3, 0x39,0x7a,
+0x73,0x6, 0xcd,0x7e,0x73,0x3, 0x36,0x7a,0x73,0x6, 0xce,0x7e,0x73,0x3, 0x3a,0x7a,
+0x73,0x6, 0xcf,0x7e,0x73,0x3, 0x3b,0x7a,0x73,0x6, 0xd0,0x7e,0x73,0x3, 0x37,0x7a,
+0x73,0x6, 0xd1,0x7e,0x73,0x3, 0x3c,0x7a,0x73,0x6, 0xd2,0x7e,0x73,0x3, 0x3d,0x7a,
+0x73,0x6, 0xd3,0x12,0x1f,0xe6,0x54,0xfd,0x7a,0xb3,0x6, 0xd7,0xda,0xf8,0x22,0x54,
+0xf9,0x7a,0xb3,0x6, 0xc9,0x7e,0xb3,0x6, 0xcb,0x54,0xc7,0x22,0x7a,0xb3,0x6, 0xcb,
+0x7e,0xb3,0x6, 0xca,0x54,0xc7,0x7a,0xb3,0x6, 0xca,0x22,0x7c,0x23,0x7c,0x3b,0x7d,
+0x43,0x7c,0xb2,0x24,0x6a,0xbe,0xb0,0x9, 0x40,0x2, 0xe1,0x77,0x7e,0xa0,0x3, 0xa4,
+0x90,0x45,0x24,0x73,0x2, 0x45,0x3f,0x2, 0x45,0xf4,0x2, 0x46,0x2a,0x2, 0x46,0x60,
+0x2, 0x47,0x41,0x2, 0x47,0x77,0x2, 0x46,0x96,0x2, 0x46,0xc6,0x2, 0x46,0xf6,0x6c,
+0x77,0xa1,0xed,0x12,0x47,0xa0,0xbe,0xb0,0x12,0x40,0x2, 0xa1,0xe8,0x7e,0xa0,0x3,
+0xa4,0x90,0x45,0x55,0x73,0x2, 0x45,0x8b,0x2, 0x45,0x90,0x2, 0x45,0x95,0x2, 0x45,
+0x9a,0x2, 0x45,0x9f,0x2, 0x45,0xa4,0x2, 0x45,0xa9,0x2, 0x45,0xae,0x2, 0x45,0xb3,
+0x2, 0x45,0xb8,0x2, 0x45,0xbd,0x2, 0x45,0xc2,0x2, 0x45,0xc7,0x2, 0x45,0xcc,0x2,
+0x45,0xd1,0x2, 0x45,0xd6,0x2, 0x45,0xdb,0x2, 0x45,0xe0,0x7e,0x20,0x4, 0x80,0x53,
+0x7e,0x20,0x6, 0x80,0x4e,0x7e,0x20,0x7, 0x80,0x49,0x7e,0x20,0x5, 0x80,0x44,0x7e,
+0x20,0xe, 0x80,0x3f,0x7e,0x20,0x8, 0x80,0x3a,0x7e,0x20,0xf, 0x80,0x35,0x7e,0x20,
+0x10,0x80,0x30,0x7e,0x20,0x11,0x80,0x2b,0x7e,0x20,0x12,0x80,0x26,0x7e,0x20,0x17,
+0x80,0x21,0x7e,0x20,0x1a,0x80,0x1c,0x7e,0x20,0x18,0x80,0x17,0x7e,0x20,0x1b,0x80,
+0x12,0x7e,0x20,0x21,0x80,0xd, 0x7e,0x20,0x20,0x80,0x8, 0x7e,0x20,0x1f,0x80,0x3,
+0x7e,0x20,0x19,0x12,0x47,0x90,0x80,0x3, 0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x28,
+0x2, 0xa1,0x43,0x22,0x6c,0x77,0x80,0x2d,0x12,0x47,0xa0,0xbe,0x60,0x7, 0x40,0x10,
+0xbe,0x60,0xe, 0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x13,0x12,0x47,0x8e,0x80,0x13,
+0xbe,0x60,0xf, 0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x29,0x12,0x47,0x8e,0x80,0x3,
+0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x2d,0x12,0x47,
+0xa0,0xbe,0x60,0x9, 0x40,0x10,0xbe,0x60,0x12,0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0x10,0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x13,0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0x23,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,
+0x6c,0x77,0x80,0x2d,0x12,0x47,0xa0,0xbe,0x60,0xd, 0x40,0x10,0xbe,0x60,0x18,0x38,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0xb, 0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x19,0x40,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x1b,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb,
+0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x27,0x12,0x47,0xa0,0xbe,0x60,0xe,
+0x40,0xa, 0xbe,0x60,0x19,0x38,0x5, 0x12,0x47,0x88,0x80,0x13,0xbe,0x60,0x1a,0x40,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x19,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb,
+0x70,0xbc,0x37,0x38,0xd5,0x22,0x6c,0x77,0x80,0x27,0x12,0x47,0xa0,0xbe,0x60,0xe,
+0x40,0xa, 0xbe,0x60,0x19,0x38,0x5, 0x12,0x47,0x88,0x80,0x13,0xbe,0x60,0x1a,0x40,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x18,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb,
+0x70,0xbc,0x37,0x38,0xd5,0x22,0x6c,0x77,0x80,0x42,0x12,0x47,0xa0,0xbe,0x60,0x0,
+0x40,0x10,0xbe,0x60,0xd, 0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x3, 0x12,0x47,0x8e,
+0x80,0x28,0xbe,0x60,0xe, 0x40,0x10,0xbe,0x60,0x1b,0x38,0xb, 0xa, 0x56,0x2e,0x54,
+0x0, 0x9, 0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x1c,0x40,0xb, 0xa, 0x56,0x2e,0x54,
+0x0, 0x15,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x38,0xba,
+0x22,0x6c,0x77,0x80,0x2d,0x12,0x47,0xa0,0xbe,0x60,0x11,0x40,0x10,0xbe,0x60,0x1e,
+0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x6, 0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x1f,
+0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x11,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,
+0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x8, 0x12,0x47,0xa0,0x12,0x47,
+0x98,0xb, 0x70,0xbc,0x37,0x38,0xf4,0x22,0xa, 0x56,0x2e,0x54,0x0, 0xa, 0x7c,0x2b,
+0x7d,0x50,0x2d,0x52,0x7a,0x59,0x20,0x22,0x7d,0x50,0x2d,0x52,0x7a,0x59,0x60,0x22,
+0xa, 0x7, 0x7d,0x50,0x2d,0x54,0x7a,0xb1,0x82,0x7a,0xa1,0x83,0xe4,0x93,0x7c,0x6b,
+0x22,0x7e,0x4, 0x0, 0x76,0x6d,0x11,0xe4,0x7a,0x9, 0xb0,0xb, 0x4, 0xb, 0x14,0xbe,
+0x14,0x0, 0x1c,0x78,0xf2,0x7e,0x4, 0x2, 0xb6,0x6d,0x11,0xe4,0x7a,0x9, 0xb0,0xb,
+0x4, 0xb, 0x14,0xbe,0x14,0x0, 0x17,0x78,0xf2,0x6d,0x11,0x12,0x4b,0x6e,0x2e,0x34,
+0x0, 0x7a,0x12,0x4b,0x6b,0x2e,0x34,0x2, 0xb6,0x12,0x4b,0x6b,0x2e,0x34,0x2, 0xc0,
+0x12,0x4b,0x59,0xb, 0x14,0xbe,0x14,0x0, 0x2, 0x40,0xe0,0x74,0x2, 0x7a,0xb3,0x0,
+0x68,0x74,0xa, 0x7a,0xb3,0x0, 0x69,0x7e,0x34,0x0, 0xc7,0x7a,0x37,0x0, 0x6a,0x7e,
+0x34,0x0, 0xc6,0x7a,0x37,0x0, 0x6c,0x7e,0x34,0x0, 0x31,0x7a,0x37,0x0, 0x70,0xc2,
+0x4, 0x75,0xd, 0x0, 0x75,0x1a,0x0, 0xc2,0x5, 0x75,0xb, 0x0, 0x12,0x48,0x45,0x7e,
+0x24,0x7, 0xd0,0x7a,0x27,0x0, 0x74,0x7a,0x37,0x0, 0x9c,0xe4,0x7a,0xb3,0x2, 0xd2,
+0x7a,0xb3,0xb, 0x37,0x22,0x6d,0x33,0x7a,0x37,0x2, 0xd0,0x22,0x12,0x48,0x45,0x7e,
+0x34,0x3, 0xe8,0x7a,0x37,0x0, 0x74,0x2, 0x48,0x5a,0x7e,0x34,0xb, 0x63,0x7e,0xb3,
+0xb, 0xc2,0x20,0xe0,0x2, 0x21,0x19,0x54,0xfe,0x7a,0xb3,0xb, 0xc2,0x7e,0x39,0x50,
+0x7a,0x53,0x3, 0x4b,0x12,0x49,0x1a,0x3e,0x24,0x3e,0x24,0x7a,0x27,0x3, 0x49,0xbe,
+0x24,0x2, 0x26,0x50,0x8, 0x7e,0x24,0x2, 0x26,0x7a,0x27,0x3, 0x49,0x9, 0x53,0x0,
+0x5, 0x7a,0x53,0x0, 0xa0,0x12,0x49,0x1a,0x7a,0x27,0x0, 0x9e,0x9, 0x53,0x0, 0x25,
+0xa, 0x25,0x7a,0x27,0x0, 0x92,0x9, 0x53,0x0, 0x6, 0x7a,0x53,0x0, 0x94,0x9, 0x53,
+0x0, 0x8, 0x7a,0x53,0x0, 0x96,0xbe,0x50,0xf, 0x40,0x6, 0x74,0xe, 0x19,0xb3,0x0,
+0x8, 0x9, 0x53,0x0, 0x8, 0xa, 0x25,0x2e,0x24,0x4, 0xfb,0x7a,0x51,0x82,0x7a,0x41,
+0x83,0xe4,0x93,0x7a,0xb3,0x0, 0x95,0x9, 0x53,0x0, 0x9, 0x7a,0x53,0x0, 0x98,0x7a,
+0x53,0x0, 0x97,0x9, 0x53,0x0, 0x24,0x7a,0x53,0x0, 0x9a,0x9, 0x53,0x0, 0x2d,0x7a,
+0x53,0xd, 0x3f,0x9, 0xb3,0x0, 0x2e,0x7a,0xb3,0x3, 0x34,0xb4,0x1, 0x5, 0xe4,0x7a,
+0xb3,0x3, 0x34,0x7e,0xa3,0xb, 0xb3,0xbe,0xa3,0x0, 0xa1,0x68,0xc, 0x4c,0xaa,0x74,
+0x5, 0x7a,0xb3,0x0, 0x99,0x7a,0xa3,0x0, 0xa1,0x22,0xa, 0x25,0x3e,0x24,0x3e,0x24,
+0x3e,0x24,0x3e,0x24,0x22,0x12,0x49,0xe0,0x12,0x49,0xa1,0x12,0x37,0xd1,0x12,0x4a,
+0xa4,0x12,0x4a,0xf0,0x74,0x1, 0x7a,0xb3,0xb, 0x9f,0x7e,0xb3,0xb, 0x9f,0x24,0xfd,
+0x68,0x11,0x24,0xae,0x68,0x32,0x24,0xab,0x68,0xe, 0x24,0xa9,0x78,0xec,0x12,0x11,
+0x6d,0x80,0xe7,0x12,0x1f,0xe, 0x80,0xe2,0x12,0x48,0x45,0x7e,0x24,0x1, 0xf4,0x7a,
+0x27,0x0, 0x74,0x7e,0xb3,0x2, 0xd2,0xbe,0xb0,0xaa,0x68,0xce,0x7a,0x37,0x0, 0x9c,
+0x74,0xaa,0x7a,0xb3,0x2, 0xd2,0x80,0xc2,0x12,0x48,0x45,0x7e,0x34,0x1, 0xf4,0x7a,
+0x37,0x0, 0x74,0x7e,0xb3,0x2, 0xd2,0xb4,0xaa,0xb0,0x74,0x55,0x7a,0xb3,0x2, 0xd2,
+0x7e,0x74,0x3, 0xe8,0x7d,0x37,0x1b,0x74,0x4d,0x33,0x78,0xf8,0x75,0xe9,0xff,0x80,
+0x99,0x12,0x49,0xc9,0x12,0x0, 0x17,0x12,0x49,0xef,0xc2,0x0, 0xc2,0x2, 0x22,0xc2,
+0x8e,0xe5,0x89,0x54,0xf, 0x44,0x20,0xf5,0x89,0x75,0x8d,0x1, 0x75,0x8b,0x0, 0xd2,
+0x8e,0xd2,0xab,0xa9,0xc3,0xb7,0xd2,0xbb,0x22,0xe4,0x12,0x4a,0x69,0x12,0x4a,0x30,
+0x12,0x4a,0x3c,0x74,0x1, 0x2, 0x49,0xd8,0x70,0x3, 0xc2,0xaf,0x22,0xd2,0xaf,0x22,
+0x6d,0x33,0x7a,0x37,0x2, 0xd0,0x7e,0x34,0x7, 0xd0,0x7a,0x37,0x0, 0x74,0x22,0x7e,
+0x18,0x0, 0x54,0x74,0xf, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0x8, 0x3, 0xe8,0x12,0x4,
+0x59,0xbe,0x18,0xf, 0xff,0x28,0x4, 0x7e,0x18,0xf, 0xff,0xd2,0xc8,0xa9,0xc0,0xcd,
+0xc2,0xaf,0xa9,0xd0,0x9e,0x7c,0xb6,0xf5,0x9d,0xa9,0xd0,0x9e,0x7c,0xb7,0xf5,0x9c,
+0x12,0x4a,0x28,0xc2,0xa8,0xd2,0xaf,0x22,0xc2,0x88,0xd2,0xb8,0xa9,0xd0,0xb7,0x22,
+0x75,0xeb,0x3, 0xa9,0xd6,0xac,0xa9,0xd6,0xec,0xd2,0x86,0x22,0xa9,0xd1,0x99,0x75,
+0x9a,0xfe,0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0xa9,0xd6,0xeb,0x70,0xf, 0xa9,0xc6,0xac,
+0xa9,0xc6,0xec,0xa9,0xd7,0xcd,0xc2,0x96,0xc2,0x95,0x80,0x7, 0xa9,0xd4,0xcd,0xd2,
+0x96,0xd2,0x95,0x12,0x4a,0x28,0xd2,0xa8,0x22,0xd2,0xcf,0xbe,0xb0,0x7, 0x38,0x4,
+0x7c,0xab,0x80,0x2, 0x6c,0xaa,0x43,0xcb,0x8e,0x4e,0xa0,0x30,0x7a,0xa1,0xcc,0x0,
+0x0, 0x0, 0x0, 0xa9,0xd0,0xca,0xa9,0xc5,0xcb,0x53,0xca,0xf1,0x43,0xca,0xe, 0x75,
+0xcf,0x4, 0xc2,0xcc,0xd2,0xcb,0xc2,0xca,0xc2,0xc9,0xc2,0xc8,0xa9,0xc6,0xcb,0x0,
+0x0, 0x0, 0x0, 0x22,0xe4,0x7a,0xb3,0x3, 0x34,0x74,0x1, 0x7a,0xb3,0x3, 0x42,0x74,
+0x7, 0x7a,0xb3,0x3, 0x41,0x74,0xf, 0x7a,0xb3,0x3, 0x38,0x7a,0xb3,0x3, 0x39,0x74,
+0x3f,0x7a,0xb3,0x3, 0x36,0x74,0x12,0x7a,0xb3,0x3, 0x3a,0x7a,0xb3,0x3, 0x3b,0x74,
+0x3f,0x7a,0xb3,0x3, 0x37,0x74,0x10,0x7a,0xb3,0x3, 0x3c,0x7a,0xb3,0x3, 0x3d,0x74,
+0x5, 0x7a,0xb3,0x3, 0x35,0x74,0x3, 0x7a,0xb3,0x3, 0x40,0x7a,0xb3,0x3, 0x3f,0x22,
+0x6d,0x22,0x7a,0x27,0xc, 0x7c,0x7e,0x34,0x1, 0x8e,0x7a,0x37,0xc, 0x7e,0x7a,0x27,
+0xc, 0x80,0x7a,0x37,0xc, 0x82,0x7e,0x14,0x0, 0x84,0x7a,0x17,0xc, 0x85,0x7e,0x14,
+0x0, 0xc7,0x7a,0x17,0xc, 0x87,0x74,0x64,0x7a,0xb3,0xc, 0x84,0x7e,0x14,0x0, 0x96,
+0x7a,0x17,0xc, 0x89,0x7a,0x27,0xc, 0xa0,0x7a,0x37,0xc, 0xa2,0x7a,0x27,0xc, 0xa4,
+0x7a,0x37,0xc, 0xa6,0x74,0x50,0x7a,0xb3,0xc, 0x9e,0x74,0x1e,0x7a,0xb3,0xc, 0x9f,
+0x74,0x3, 0x7a,0xb3,0xc, 0xa8,0x74,0x32,0x7a,0xb3,0xc, 0xa9,0x74,0xf, 0x7a,0xb3,
+0xc, 0xaa,0x74,0x50,0x7a,0xb3,0xc, 0xab,0x22,0x7e,0x24,0x7f,0xff,0x1b,0x38,0x20,
+0x59,0x23,0x0, 0x2, 0x74,0xff,0x19,0xb3,0x0, 0x4, 0x22,0x12,0x4b,0x59,0x7e,0x34,
+0x0, 0x5, 0xad,0x31,0x22,0xbe,0xb0,0x5e,0x38,0x2e,0xbe,0xb0,0x26,0x68,0x29,0xbe,
+0xb0,0x2f,0x68,0x24,0xbe,0xb0,0x23,0x68,0x1f,0xbe,0xb0,0x28,0x68,0x1a,0xbe,0xb0,
+0x21,0x68,0x15,0xbe,0xb0,0x22,0x68,0x10,0xa, 0x2b,0x19,0x72,0xb, 0x63,0x7e,0xb3,
+0xb, 0xc2,0x44,0x1, 0x7a,0xb3,0xb, 0xc2,0x22,0xca,0x79,0x7c,0x6b,0x24,0x0, 0x78,
+0x75,0x7e,0x74,0xc, 0xd6,0x7a,0x79,0x70,0x5e,0x70,0x70,0x7c,0xb7,0xc4,0x54,0xf,
+0x7c,0x7b,0xbe,0x70,0x4, 0x68,0x47,0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x20,0xa5,0xbf,
+0x1, 0x6, 0x74,0x2, 0x6c,0x77,0x80,0x5c,0xa5,0xbf,0x0, 0x7, 0x74,0x2, 0x7e,0x70,
+0x1, 0x80,0x51,0xa5,0xbf,0x3, 0x68,0x74,0x2, 0x7e,0x70,0x4, 0x80,0x46,0xa5,0xbf,
+0x1, 0x6, 0x74,0x3c,0x6c,0x77,0x80,0x29,0xa5,0xbf,0x4, 0x7, 0x74,0x3c,0x7e,0x70,
+0x3, 0x80,0x1e,0xa5,0xbf,0x3, 0x48,0x74,0x3c,0x7e,0x70,0x4, 0x80,0x13,0x7e,0xb3,
+0xb, 0x9f,0xb4,0x3, 0x7, 0x74,0x2, 0x7e,0x70,0x3, 0x80,0x18,0x74,0x3c,0x7e,0x70,
+0x3, 0x12,0x4b,0x75,0x80,0x29,0xbe,0x60,0xa, 0x50,0xe, 0x7e,0xb3,0xb, 0x9f,0xb4,
+0x3, 0x1d,0x7c,0xb6,0x12,0x35,0x35,0x80,0x16,0xbe,0x60,0xa, 0x40,0x11,0xbe,0x60,
+0xaf,0x38,0xc, 0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x5, 0x7c,0xb6,0x12,0x35,0x47,0xda,
+0x79,0x22,0x74,0x17,0x7a,0xb3,0xb, 0x63,0x74,0xa0,0x7a,0xb3,0xb, 0x68,0xe4,0x7a,
+0xb3,0xb, 0x69,0x74,0x5, 0x7a,0xb3,0xb, 0x6a,0x74,0xe, 0x7a,0xb3,0xb, 0x6b,0x74,
+0x5a,0x7a,0xb3,0xb, 0x6c,0x74,0xe, 0x7a,0xb3,0xb, 0x86,0x74,0x1, 0x7a,0xb3,0xb,
+0x87,0xe4,0x7a,0xb3,0xb, 0x88,0x74,0x1, 0x7a,0xb3,0xb, 0x89,0x7a,0xb3,0xb, 0x9f,
+0x74,0x81,0x7a,0xb3,0xb, 0x8b,0xe4,0x7a,0xb3,0xb, 0x8c,0x74,0x2, 0x7a,0xb3,0xb,
+0x92,0xe4,0x7a,0xb3,0xb, 0x91,0x7a,0xb3,0xb, 0x90,0x7a,0xb3,0xd, 0x3f,0x7a,0xb3,
+0xb, 0xb3,0x74,0x3f,0x7a,0xb3,0xb, 0xb4,0xe4,0x7a,0xb3,0xb, 0x93,0x7a,0xb3,0xb,
+0x9e,0x7a,0xb3,0xb, 0x79,0x7e,0x34,0x5, 0xdc,0x7a,0x37,0x3, 0x49,0x74,0x17,0x7a,
+0xb3,0x3, 0x4b,0x12,0x4d,0x11,0x12,0x4d,0x9, 0x7a,0xb3,0x0, 0x94,0x74,0x7, 0x7a,
+0xb3,0x0, 0x95,0x74,0xe, 0x7a,0xb3,0x0, 0x96,0x74,0x5a,0x7a,0xb3,0x0, 0x97,0x7a,
+0xb3,0x0, 0x98,0x74,0x5, 0x7a,0xb3,0x0, 0x99,0x74,0x1, 0x7a,0xb3,0x0, 0x9a,0xe4,
+0x7a,0xb3,0x0, 0x9b,0x7a,0xb3,0x0, 0xa1,0x22,0x6d,0x33,0x7a,0x37,0x0, 0x92,0xe4,
+0x22,0x7e,0x34,0xa, 0x0, 0x7a,0x37,0x0, 0x9e,0x74,0xa0,0x7a,0xb3,0x0, 0xa0,0x22,
+0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,0xca,0x1b,0xca,0xb, 0xc0,0xd0,
+0xc0,0x83,0xc0,0x82,0x12,0x33,0x29,0x74,0x1, 0x7a,0xb3,0xc, 0xd1,0xd0,0x82,0xd0,
+0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,
+0x7b,0x32,0xca,0xb8,0xa9,0xc0,0x93,0xe4,0x7a,0xb3,0xc, 0xd0,0x7a,0xb3,0xc, 0xd2,
+0xda,0xb8,0x32,0x6c,0xaa,0x74,0xff,0xa, 0x4a,0x19,0xb4,0xc, 0xac,0x19,0xb4,0xc,
+0xbe,0xb, 0xa0,0xbe,0xa0,0x12,0x40,0xed,0x22,0xa9,0xd5,0xea,0xa9,0xc4,0xcb,0x75,
+0xa6,0x0, 0xa9,0xc1,0xcd,0x22,0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,
+0xca,0x1b,0xca,0xb, 0xc0,0xd0,0xc0,0x83,0xc0,0x82,0x12,0x4d,0xd1,0x7e,0xb3,0xc,
+0xd6,0x54,0xfd,0x7a,0xb3,0xc, 0xd6,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xd2,
+0xaf,0xc2,0x95,0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,0x4d,0x79,0xd0,0x82,0xd0,0x83,
+0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,0x7b,
+0x32,0xe5,0x9a,0x60,0x5, 0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0xa9,0xd4,0xcb,0x75,0xa6,
+0x10,0xa9,0xd1,0xcd,0xa9,0xc5,0xea,0x22,0xd2,0xce,0x75,0x92,0x70,0xd2,0xad,0xd2,
+0xe8,0xc2,0xc0,0xa9,0xd0,0xf7,0xd2,0xf8,0xa9,0xd5,0xb7,0xd2,0xbd,0x22,0xca,0x7b,
+0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,0xca,0x1b,0xca,0xb, 0xc0,0xd0,0xc0,0x83,
+0xc0,0x82,0x7e,0x35,0x1d,0xb, 0x34,0x7a,0x35,0x1d,0x7e,0x4, 0x0, 0xa, 0x7d,0x13,
+0x8d,0x10,0x4d,0x0, 0x78,0x38,0x7e,0xb3,0x9, 0x6b,0xbe,0xb0,0x0, 0x28,0x5, 0x14,
+0x7a,0xb3,0x9, 0x6b,0x7e,0xb3,0xd, 0x2c,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,
+0xd, 0x2c,0x7e,0xb3,0xd, 0x35,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x35,
+0x7e,0xb3,0xd, 0x2b,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x2b,0x7e,0xb3,
+0x6, 0xda,0x60,0x5, 0x14,0x7a,0xb3,0x6, 0xda,0xbe,0x34,0x3, 0xe8,0x40,0xe, 0x6d,
+0x33,0x7a,0x35,0x1d,0xe5,0xb, 0xbe,0xb0,0x64,0x50,0x2, 0x5, 0xb, 0x7e,0x37,0x2,
+0xd0,0xb, 0x34,0x7a,0x37,0x2, 0xd0,0x7e,0x37,0x0, 0x74,0xbe,0x37,0x2, 0xd0,0x28,
+0x3, 0x12,0x0, 0x27,0x7e,0xb3,0xb, 0x9f,0xb4,0xaa,0x18,0x7e,0x37,0x0, 0x9c,0x7d,
+0x23,0xb, 0x24,0x7a,0x27,0x0, 0x9c,0xbe,0x34,0x1, 0x2c,0x28,0x6, 0x74,0x1, 0x7a,
+0xb3,0xb, 0x9f,0xe5,0x1a,0xbe,0xb1,0xd, 0x28,0x4, 0x5, 0xd, 0x80,0x2, 0xd2,0x5,
+0x7e,0xb3,0xc, 0xd1,0x60,0xf, 0xbe,0xb0,0x28,0x50,0x7, 0x4, 0x7a,0xb3,0xc, 0xd1,
+0x80,0x3, 0x12,0x34,0xf5,0xd0,0x82,0xd0,0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,
+0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,0x7b,0x32,0x53,0xc8,0xc1,0x53,0xcb,0x10,
+0x22,0x7e,0x73,0x6, 0xc6,0xa, 0x37,0x1e,0x34,0x7a,0x73,0xd, 0x3d,0xa, 0x37,0x1e,
+0x34,0x7a,0x73,0xd, 0x3e,0x22,0xd2,0xc9,0xa, 0x56,0xf5,0xf1,0x7c,0xb7,0xf5,0xf2,
+0x75,0xf3,0x80,0x75,0xf4,0x0, 0x75,0xf5,0x83,0xa9,0x37,0xf5,0xfc,0xa9,0x36,0xf5,
+0xfc,0xe5,0xf6,0x43,0xfa,0x80,0xc2,0xc9,0x22,0x7e,0x24,0x12,0xa, 0xb, 0x28,0x30,
+0x5e,0x70,0xf, 0x1b,0x28,0x30,0xb, 0x28,0x30,0x4e,0x70,0x80,0x1b,0x28,0x30,0x7e,
+0xb3,0x6, 0xcb,0xc4,0x23,0x7c,0x7b,0x5e,0x70,0x7, 0xa5,0xbf,0x0, 0x5, 0x7e,0xa0,
+0x2, 0x80,0x32,0xa5,0xbf,0x1, 0x13,0x7e,0xb3,0x6, 0xc9,0x1e,0xb0,0x54,0x3, 0x68,
+0x4, 0x6c,0xaa,0x80,0x20,0x7e,0xa0,0x3, 0x80,0x1b,0xa5,0xbf,0x3, 0x5, 0x7e,0xa0,
+0x6, 0x80,0x12,0x7e,0xb3,0x6, 0xc9,0x1e,0xb0,0x54,0x3, 0x68,0x5, 0x7e,0xa0,0x1,
+0x80,0x3, 0x7e,0xa0,0x5, 0xa, 0x1a,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x2,
+0x37,0x1a,0x7e,0x24,0x12,0x2, 0xb, 0x28,0x30,0x5e,0x60,0xc0,0x1b,0x28,0x30,0x7e,
+0x73,0x6, 0xc8,0x7c,0x27,0x6c,0x33,0x12,0x37,0x1a,0x6c,0x11,0x80,0xb, 0xa, 0x31,
+0x9, 0x3, 0x6, 0x68,0xa, 0x20,0x12,0x5b,0x77,0x7e,0x3, 0x6, 0xc8,0xbc,0x1, 0x38,
+0xed,0x7c,0x10,0x80,0x9, 0x7e,0x24,0x0, 0x3f,0xa, 0x31,0x12,0x5b,0x77,0xbe,0x10,
+0x2e,0x40,0xf2,0x6d,0x22,0x7e,0x34,0x13,0x16,0x1b,0x38,0x20,0x7e,0x34,0x13,0x18,
+0x1b,0x38,0x20,0x7e,0x34,0x13,0x1a,0x1b,0x38,0x20,0x7e,0x34,0x13,0x1c,0x1b,0x38,
+0x20,0x6c,0x11,0x80,0xd, 0xa, 0x31,0x9, 0x3, 0x6, 0x68,0x7c,0xb0,0x12,0x50,0x19,
+0xb, 0x10,0x7e,0x73,0x6, 0xc8,0xbc,0x71,0x38,0xeb,0x7e,0xb3,0x6, 0xd7,0x30,0xe2,
+0x7, 0x7e,0xb3,0x6, 0xd5,0x2, 0x50,0x19,0x22,0x7c,0x7b,0xc4,0x54,0xf, 0x7c,0xab,
+0xa, 0x37,0x7e,0x24,0x0, 0x10,0x12,0x3, 0xba,0x7c,0x75,0x7e,0x14,0x0, 0x1, 0x7c,
+0xb7,0x60,0x5, 0x3e,0x14,0x14,0x78,0xfb,0xa, 0x2a,0x3e,0x24,0x2e,0x24,0x13,0x16,
+0x2, 0x37,0x1a,0xca,0x1b,0xca,0x19,0xc2,0xee,0xc2,0xc6,0x30,0xb, 0x6, 0x7e,0x34,
+0x0, 0x1, 0x80,0x4, 0x7e,0x34,0x0, 0x2, 0x7e,0x14,0x12,0x6, 0xb, 0x18,0x20,0x5d,
+0x23,0x68,0x7, 0x6d,0x22,0x1b,0x18,0x20,0xd2,0xa, 0xd2,0xee,0xda,0x19,0xda,0x1b,
+0x32,0x7e,0xb3,0x6, 0xd7,0x20,0xe1,0x62,0x12,0x50,0xdb,0x80,0x55,0xa, 0x2a,0x9,
+0x52,0x6, 0x96,0x7e,0x90,0x4, 0xac,0x95,0x49,0x14,0x3, 0x5e,0x49,0x4, 0x3, 0x5c,
+0xbe,0x8, 0x3a,0xc0,0x8, 0x20,0x7e,0xb3,0xc, 0x1f,0x7e,0x44,0x0, 0x1, 0x60,0x5,
+0x3e,0x44,0x14,0x78,0xfb,0x7e,0x10,0x2, 0xac,0x15,0x2e,0x4, 0xb, 0xc3,0xb, 0x8,
+0x10,0x4d,0x14,0x1b,0x8, 0x10,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x51,0x34,0x60,
+0xf, 0x7e,0x30,0x2, 0xac,0x35,0x49,0x1, 0xb, 0xc3,0x12,0x51,0x2c,0x1b,0x18,0x0,
+0xb, 0xa0,0x7e,0x43,0x6, 0xc8,0xbc,0x4a,0x38,0xa3,0x22,0x7e,0x37,0x6, 0xd8,0x6c,
+0xaa,0x22,0x7e,0xb3,0x6, 0xd7,0x20,0xe1,0x42,0x12,0x50,0xdb,0x80,0x35,0xa, 0x2a,
+0x9, 0x52,0x6, 0x96,0x12,0x51,0x2c,0xb, 0x18,0x40,0x7e,0xb3,0xc, 0x1f,0x7e,0x14,
+0x0, 0x1, 0x60,0x5, 0x3e,0x14,0x14,0x78,0xfb,0x4d,0x41,0x7e,0xb3,0x6, 0x4d,0x60,
+0x5, 0x12,0x51,0x34,0x60,0xb, 0xa, 0x1a,0x3e,0x14,0x2e,0x14,0x12,0x14,0x1b,0x18,
+0x40,0xb, 0xa0,0x7e,0x43,0x6, 0xc8,0xbc,0x4a,0x38,0xc3,0x22,0x7e,0x30,0x2, 0xac,
+0x35,0x2d,0x13,0x22,0xa, 0x15,0x2e,0x17,0x6, 0x4e,0x7e,0x19,0xb0,0x22,0xca,0x3b,
+0x12,0xe, 0xaf,0x7c,0xeb,0x4c,0xee,0x78,0x2, 0x61,0x5c,0x7e,0x7f,0x0, 0xa2,0x7e,
+0x34,0x38,0x80,0x7e,0x24,0x0, 0x1, 0xbf,0x71,0x28,0x5, 0x7e,0x80,0xa, 0x80,0x2a,
+0x7e,0x34,0x11,0x70,0x7e,0x24,0x0, 0x1, 0xbf,0x71,0x28,0x5, 0x7e,0x80,0x6, 0x80,
+0x19,0xbe,0x78,0xea,0x60,0x28,0x5, 0x7e,0x80,0x4, 0x80,0xe, 0xbe,0x78,0xc3,0x50,
+0x28,0x5, 0x7e,0x80,0x2, 0x80,0x3, 0x7e,0x80,0x1, 0xa, 0xf8,0x6d,0xee,0x7e,0xd4,
+0x0, 0xf, 0x7f,0x17,0x7d,0x1d,0x12,0x3, 0xfd,0x7f,0x7, 0x12,0x3, 0xec,0x7d,0x1d,
+0x12,0x3, 0xfd,0x7f,0x61,0x6c,0x99,0x7e,0xa0,0x5, 0x7c,0xd9,0xac,0xda,0x9, 0xb6,
+0x2, 0xba,0x7c,0xfb,0xbe,0xf0,0x2, 0x50,0x25,0xa, 0x3f,0x9, 0xb3,0x3, 0x4e,0x70,
+0x1d,0x49,0x6, 0x2, 0xb6,0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x5, 0xb, 0x53,0x49,0x26,
+0x2, 0xb8,0x59,0x25,0xb, 0x55,0x59,0x5, 0xb, 0x5b,0x59,0x25,0xb, 0x5d,0xb, 0x90,
+0xbe,0x90,0x2, 0x78,0xc2,0x6c,0x99,0x61,0x56,0x7e,0xa0,0x5, 0x7c,0x39,0xac,0x3a,
+0x9, 0xb1,0x2, 0xba,0x7c,0xfb,0xbe,0xf0,0x2, 0x40,0x2, 0x61,0x54,0x7e,0xa0,0x4,
+0x7c,0xdf,0xac,0xda,0x49,0x26,0xb, 0x53,0x49,0x31,0x2, 0xb6,0x9d,0x32,0x7d,0xa3,
+0x49,0x26,0xb, 0x55,0x49,0x31,0x2, 0xb8,0x9d,0x32,0x7d,0xb3,0x7d,0x1b,0x12,0x53,
+0x5f,0x7f,0x71,0x7d,0x1a,0x1a,0x2, 0x1a,0x0, 0x7d,0x3a,0x12,0x53,0x63,0x2f,0x17,
+0x7a,0x1f,0xa, 0x3, 0x49,0x26,0xb, 0x5b,0x12,0x53,0x7c,0x9d,0x32,0x7a,0x37,0x9,
+0xfd,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x25,0xb, 0x5d,0x12,0x53,0x72,0x9d,0x32,0x7d,
+0x63,0x7d,0x16,0x12,0x53,0x5f,0x7f,0x71,0x7e,0x27,0x9, 0xfd,0x7d,0x12,0x1a,0x2,
+0x1a,0x0, 0x7f,0x10,0x12,0x3, 0xec,0x2f,0x17,0x7a,0x1f,0x9, 0xff,0x7e,0xa0,0x5,
+0xac,0xa9,0x49,0x25,0x2, 0xb6,0xbe,0x24,0x0, 0x1e,0x40,0x1b,0xbe,0x24,0x1, 0x70,
+0x38,0x15,0x7e,0xa0,0x5, 0xac,0xa9,0x49,0x25,0x2, 0xb8,0xbe,0x24,0x0, 0x1e,0x40,
+0x6, 0xbe,0x24,0x1, 0x70,0x28,0x20,0xa, 0x98,0x6d,0x88,0x7e,0xf4,0x0, 0x6, 0x12,
+0x53,0xa1,0x7e,0x84,0x0, 0xb, 0x7d,0x18,0x12,0x3, 0xfd,0x12,0x53,0x86,0x7d,0x18,
+0x12,0x3, 0xfd,0x7f,0x41,0x80,0x1c,0xa, 0x98,0x6d,0x88,0x7e,0xf4,0x0, 0x5, 0x12,
+0x53,0xa1,0x2f,0x11,0x2f,0x11,0x2f,0x11,0x12,0x53,0x86,0x2f,0x11,0x2f,0x11,0x2f,
+0x11,0x7f,0x41,0x7e,0x1f,0x9, 0xff,0xbf,0x16,0x38,0x4b,0x7e,0xf, 0xa, 0x7, 0x7e,
+0x7f,0xa, 0x3, 0xbf,0x70,0x38,0x12,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x35,0xb, 0x53,
+0x12,0x53,0x92,0x49,0x35,0xb, 0x55,0x80,0x22,0xbf,0x74,0x38,0x3f,0x7e,0xa0,0x4,
+0xac,0xaf,0x49,0x15,0xb, 0x53,0x7e,0x4, 0x0, 0x2, 0x7d,0x3a,0x12,0x53,0x6a,0x12,
+0x53,0x92,0x49,0x15,0xb, 0x55,0x7d,0x3b,0x12,0x53,0x6a,0x7e,0xa0,0x5, 0xac,0xa9,
+0x59,0x35,0x2, 0xb8,0x80,0x16,0x7e,0x24,0x7f,0xff,0x7e,0xa0,0x4, 0xac,0xaf,0x59,
+0x25,0xb, 0x5b,0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x25,0xb, 0x5d,0x12,0x53,0x7c,0x7e,
+0xa0,0x4, 0xac,0xaf,0x59,0x35,0xb, 0x53,0x12,0x53,0x72,0x7e,0xa0,0x4, 0xac,0xaf,
+0x59,0x35,0xb, 0x55,0xb, 0x90,0xbc,0xe9,0x28,0x2, 0x21,0xe9,0xda,0x3b,0x22,0x1a,
+0x2, 0x1a,0x0, 0x1a,0x26,0x1a,0x24,0x2, 0x3, 0xec,0x7d,0x20,0x12,0x3, 0xba,0x2d,
+0x31,0x22,0x7e,0xa0,0x5, 0xac,0xa9,0x49,0x35,0x2, 0xb8,0x22,0x7e,0xa0,0x5, 0xac,
+0xa9,0x49,0x35,0x2, 0xb6,0x22,0xa, 0x18,0x6d,0x0, 0x12,0x3, 0xec,0x7f,0x1, 0x2f,
+0x10,0x22,0x7e,0xa0,0x5, 0xac,0xa9,0x59,0x35,0x2, 0xb6,0x7e,0xa0,0x4, 0xac,0xaf,
+0x22,0x7f,0x14,0x7d,0x1f,0x12,0x3, 0xfd,0x7f,0x4, 0x12,0x3, 0xec,0x7f,0x1, 0x2f,
+0x10,0x7d,0x1f,0x12,0x3, 0xfd,0x7a,0x1f,0xa, 0x7, 0xa, 0x38,0x6d,0x22,0x22,0xca,
+0x3b,0x12,0x3c,0x41,0x78,0x24,0x6c,0xff,0xe4,0xa, 0x3f,0x19,0xb3,0xb, 0x27,0x19,
+0xb3,0xb, 0x31,0x19,0xb3,0x3, 0x5a,0x6d,0x33,0x74,0x2, 0xac,0xbf,0x59,0x35,0xb,
+0x33,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xe0,0xe1,0xa1,0x6c,0xff,0x7e,0x50,0x2, 0xac,
+0x5f,0x49,0x32,0x3, 0x52,0xbe,0x34,0x7f,0xff,0x78,0x17,0xe4,0xa, 0x1f,0x19,0xb1,
+0xb, 0x27,0x19,0xb1,0xb, 0x31,0x19,0xb1,0x3, 0x5a,0x6d,0x11,0x59,0x12,0xb, 0x33,
+0x81,0xba,0xa, 0x1f,0x9, 0xb1,0x3, 0x5a,0x60,0x2, 0x81,0xba,0x59,0x32,0xb, 0x29,
+0x49,0x32,0x3, 0x56,0x59,0x32,0xb, 0x2d,0x49,0x32,0xb, 0x29,0x49,0x22,0xb, 0x2d,
+0x74,0x14,0xac,0xbf,0x49,0x15,0xb, 0xb, 0x49,0x5, 0xb, 0xd, 0x12,0xe, 0x7e,0x7a,
+0x37,0xa, 0x1, 0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0xb, 0x49,0x25,0xb, 0xd, 0x49,
+0x15,0xa, 0xff,0x49,0x5, 0xb, 0x1, 0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x3, 0xa, 0x3f,
+0x9, 0x53,0xb, 0x27,0xbe,0x50,0x2, 0x40,0x4c,0x74,0x2, 0xac,0xbf,0x49,0x25,0xb,
+0x29,0xbe,0x24,0x0, 0x18,0x40,0x16,0xbe,0x24,0x1, 0x76,0x38,0x10,0x49,0x25,0xb,
+0x2d,0xbe,0x24,0x0, 0x18,0x40,0x6, 0xbe,0x24,0x1, 0x76,0x28,0xe, 0x7e,0x27,0xa,
+0x1, 0xbe,0x24,0x0, 0x27,0x28,0x4, 0x74,0x1, 0x80,0x1b,0x7e,0x27,0xa, 0x1, 0xbe,
+0x24,0x0, 0x27,0x28,0xd, 0x7e,0x27,0xa, 0x3, 0xbe,0x24,0x0, 0x42,0x28,0x3, 0xe4,
+0x80,0x4, 0xe4,0x80,0x1, 0xe4,0x19,0xb3,0xb, 0x31,0xb, 0xf0,0xbe,0xf0,0x2, 0x68,
+0x2, 0x61,0xec,0x6c,0xff,0xe1,0x9b,0x74,0x5, 0xac,0xbf,0x9, 0xd5,0x2, 0xba,0xa,
+0x3d,0x9, 0xb3,0xb, 0x27,0x70,0x34,0x6c,0xcc,0x7e,0x70,0x5, 0xac,0x7f,0x49,0x13,
+0x2, 0xb6,0x7e,0x10,0x14,0xac,0x1d,0x7e,0x50,0x4, 0xac,0x5c,0x2d,0x20,0x59,0x12,
+0xa, 0xff,0x49,0x33,0x2, 0xb8,0x59,0x32,0xb, 0x1, 0xb, 0xc0,0xbe,0xc0,0x5, 0x78,
+0xd8,0x6d,0x33,0x74,0x2, 0xac,0xbd,0x59,0x35,0xb, 0x33,0xa, 0x3d,0x9, 0xb3,0xb,
+0x27,0xbe,0xb0,0x5, 0x50,0xa, 0xa, 0x3d,0x2e,0x34,0xb, 0x27,0x4, 0x7a,0x39,0xb0,
+0xa, 0x3d,0x9, 0x73,0xb, 0x27,0xbe,0x70,0x1, 0x38,0x2, 0xa1,0xf7,0x12,0x57,0xa4,
+0x60,0x2, 0xa1,0xf7,0x7e,0x90,0x14,0xac,0x9d,0x49,0x34,0xb, 0xf, 0x49,0x54,0xb,
+0xb, 0x2d,0x53,0x7a,0x57,0x9, 0xfd,0x49,0x34,0xb, 0x11,0x49,0x54,0xb, 0xd, 0x2d,
+0x53,0x7a,0x57,0x9, 0xff,0x74,0x5, 0xac,0xbf,0x49,0x15,0x2, 0xb6,0x2e,0x17,0x9,
+0xfd,0x7e,0x24,0x0, 0x3, 0x8d,0x12,0x59,0x15,0x2, 0xb6,0x49,0x35,0x2, 0xb8,0x2e,
+0x37,0x9, 0xff,0x8d,0x32,0x59,0x35,0x2, 0xb8,0x49,0x24,0xb, 0x7, 0x49,0x35,0x2,
+0xb6,0x9d,0x32,0x12,0x0, 0x2e,0x7a,0x37,0x9, 0xfd,0x74,0x14,0xac,0xbd,0x49,0x25,
+0xb, 0x9, 0x74,0x5, 0xac,0xbf,0x49,0x35,0x2, 0xb8,0x9d,0x32,0x12,0x0, 0x2e,0x12,
+0x57,0xdd,0x38,0xa, 0x7e,0x37,0x9, 0xff,0xbe,0x34,0x0, 0x27,0x28,0x1a,0x12,0x57,
+0xc9,0x2e,0x34,0xb, 0x7, 0x2e,0x14,0xb, 0x3, 0x12,0x5a,0xbe,0x59,0x35,0xb, 0x7,
+0x49,0x34,0x2, 0xb8,0x59,0x35,0xb, 0x9, 0x12,0x57,0xc9,0x2e,0x34,0xb, 0xb, 0x2e,
+0x14,0xb, 0xf, 0x12,0x5a,0xbe,0x59,0x35,0xb, 0xb, 0x49,0x44,0x2, 0xb8,0x59,0x45,
+0xb, 0xd, 0x49,0x35,0xb, 0x7, 0x49,0x25,0xb, 0x9, 0x12,0xe, 0x76,0x74,0x2, 0xac,
+0xbd,0x59,0x35,0xb, 0x33,0xe1,0x99,0x12,0x57,0xa4,0x70,0x2, 0xe1,0x99,0xa, 0x3d,
+0x9, 0x73,0xb, 0x27,0xbe,0x70,0x3, 0x50,0x2, 0xe1,0x99,0x12,0x57,0xab,0x70,0x2,
+0xe1,0x99,0x74,0x14,0xac,0xbd,0x49,0x25,0xa, 0xff,0x49,0x35,0xb, 0xb, 0x12,0x57,
+0xc1,0x7a,0x37,0x9, 0xfd,0x74,0x14,0xac,0xbd,0x49,0x25,0xb, 0x1, 0x49,0x35,0xb,
+0xd, 0x12,0x57,0xc1,0x12,0x57,0xdd,0x50,0xc, 0x7e,0x37,0x9, 0xff,0xbe,0x34,0x0,
+0x27,0x50,0x2, 0xe1,0x99,0x74,0x14,0xac,0xbd,0x12,0xe, 0x6e,0xb, 0x34,0x6d,0x22,
+0x7a,0x1f,0xa, 0x11,0x74,0x14,0xac,0xbd,0x49,0x35,0xb, 0x3, 0x49,0x25,0xb, 0x5,
+0x74,0x2, 0xac,0xbd,0x49,0x15,0xb, 0x29,0x49,0x5, 0xb, 0x2d,0x12,0xe, 0x7e,0x6d,
+0x22,0x7a,0x1f,0xa, 0xd, 0x74,0x14,0xac,0xbd,0x49,0x5, 0xb, 0x5, 0x49,0x15,0xb,
+0xd, 0x9d,0x10,0x6d,0x0, 0x7a,0xf, 0xa, 0x9, 0x7d,0x21,0x7e,0xf, 0xa, 0x11,0x12,
+0x57,0xf2,0x7a,0x1f,0xa, 0x9, 0x74,0x14,0xac,0xbd,0x49,0x15,0xb, 0x5, 0x6d,0x0,
+0x7e,0x1f,0xa, 0x9, 0x2f,0x10,0x12,0x57,0xb2,0x9f,0x10,0x7a,0x1f,0xa, 0x9, 0x49,
+0x5, 0xb, 0x3, 0x49,0x15,0xb, 0xb, 0x9d,0x10,0x6d,0x0, 0x7a,0xf, 0xa, 0x5, 0x7e,
+0x1f,0xa, 0xd, 0x7d,0x21,0x7e,0xf, 0xa, 0x11,0x12,0x57,0xf2,0x7a,0x1f,0xa, 0x5,
+0x74,0x14,0xac,0xbd,0x49,0xc5,0xb, 0x3, 0x7d,0x1c,0x6d,0x0, 0x7e,0x1f,0xa, 0x5,
+0x2f,0x10,0x49,0xd5,0xb, 0xb, 0x7d,0xfd,0x6d,0xee,0x9f,0x17,0x7a,0x1f,0xa, 0x5,
+0x12,0x57,0xab,0xb4,0x2, 0x17,0x7e,0x58,0x0, 0x2, 0x7e,0x1f,0xa, 0x5, 0x7f,0x5,
+0x12,0x4, 0x59,0x12,0x27,0xf3,0x7f,0x5, 0x12,0x57,0xb9,0x80,0x27,0x12,0x57,0xab,
+0xb4,0x1, 0x21,0xbd,0xdc,0x50,0xc, 0x7e,0x1f,0xa, 0x5, 0xbe,0x18,0x0, 0x0, 0x8,
+0x13,0x80,0xa, 0x7e,0x1f,0xa, 0x5, 0xbe,0x18,0x0, 0x0, 0x58,0x7, 0x12,0x3c,0x5c,
+0x7a,0x1f,0xa, 0x5, 0x12,0x57,0xa4,0x7e,0x1f,0xa, 0x5, 0xb4,0x1, 0x1d,0x2f,0x11,
+0x7e,0x68,0x0, 0x5, 0x7f,0x6, 0x12,0x4, 0x59,0x7a,0x1f,0xa, 0x5, 0x2f,0x17,0x12,
+0x27,0xf3,0x2f,0x11,0x7f,0x6, 0x12,0x57,0xb9,0x80,0x6, 0x2f,0x17,0x7a,0x1f,0xa,
+0x5, 0x74,0x14,0xac,0xbd,0x12,0x57,0xb2,0x7e,0x1f,0xa, 0x9, 0x2f,0x10,0x7a,0x1f,
+0xa, 0x9, 0x7e,0x1f,0xa, 0x5, 0x12,0x57,0xd1,0x12,0x27,0xf3,0x12,0x57,0xd1,0x7a,
+0x1f,0xa, 0x9, 0x7e,0x1f,0xa, 0x5, 0x7d,0x43,0x74,0x5, 0xac,0xbf,0x59,0x45,0x2,
+0xb6,0x7e,0x1f,0xa, 0x9, 0x59,0x35,0x2, 0xb8,0xb, 0xf0,0xbc,0xef,0x28,0x2, 0x81,
+0xc7,0xda,0x3b,0x22,0xa, 0x3d,0x9, 0xb3,0x3, 0x5a,0x22,0xa, 0x3d,0x9, 0xb3,0xb,
+0x31,0x22,0x49,0x15,0xb, 0xd, 0x6d,0x0, 0x22,0x12,0x4, 0x59,0x7a,0x1f,0xa, 0x9,
+0x22,0x9d,0x32,0x12,0x0, 0x2e,0xb, 0x34,0x22,0x7e,0x30,0x14,0xac,0x3d,0x7d,0x31,
+0x22,0x6d,0x22,0x7e,0x14,0x1, 0x8d,0x12,0x2f,0xf9,0x6d,0x22,0x22,0x7a,0x37,0x9,
+0xff,0x7e,0x37,0x9, 0xfd,0xbe,0x34,0x0, 0x27,0x22,0x7e,0x37,0xa, 0x17,0x7d,0x21,
+0x7d,0x1f,0x12,0x6, 0x3e,0x1a,0x26,0x1a,0x24,0x22,0xca,0xf8,0x7e,0xa3,0xb, 0xb3,
+0x7c,0xba,0x65,0x4e,0x68,0x5, 0xe4,0x7a,0xb3,0xb, 0xb6,0x7a,0xa1,0x4e,0x4c,0xaa,
+0x78,0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x5, 0x12,0x58,0x68,0x80,0x11,0xe4,0x7a,
+0xb3,0x2, 0xca,0x80,0xa, 0x7e,0xb3,0x6, 0x67,0x30,0xe1,0xb, 0x12,0x58,0x68,0x12,
+0x5a,0x3, 0x12,0x5a,0x9, 0x80,0x2e,0x12,0x58,0x76,0x7c,0xfb,0x4c,0xff,0x68,0x25,
+0x7c,0xbf,0x12,0x5a,0x10,0x60,0x1e,0x7e,0x34,0x0, 0x14,0x1b,0x34,0x78,0xfc,0x7e,
+0xb3,0x6, 0x67,0x30,0xe1,0x8, 0x74,0x26,0x7a,0xb3,0xb, 0xb6,0x80,0x7, 0x7a,0xf3,
+0xb, 0xb6,0x75,0x4f,0x1, 0xda,0xf8,0x22,0x74,0x26,0x7a,0xb3,0x2, 0xca,0x7a,0xb3,
+0xb, 0xb6,0x75,0x4f,0x1, 0x22,0xca,0x79,0x6c,0xaa,0x6d,0x44,0x7d,0xf4,0x7e,0x63,
+0x0, 0x90,0x7c,0xf6,0x5e,0xf0,0xf, 0x7c,0xb6,0xc4,0x7c,0xeb,0x5e,0xe0,0xf, 0x7e,
+0xe7,0xd, 0x29,0x1b,0xe4,0x68,0x3c,0x1b,0xe4,0x68,0x6e,0x1b,0xe4,0x78,0x2, 0x21,
+0x74,0x2e,0xe4,0x0, 0x3, 0x68,0x2, 0x21,0x9c,0xbe,0xf0,0x0, 0x38,0x2, 0x21,0xa2,
+0x4c,0xee,0x68,0x2, 0x21,0xa2,0x7e,0xe4,0x0, 0x1, 0x7a,0xe7,0xd, 0x29,0x7a,0xf7,
+0xd, 0x36,0x7a,0x47,0xd, 0x38,0x12,0x59,0xc3,0x7e,0xb3,0xc, 0xab,0x7a,0xb3,0xd,
+0x35,0x21,0x5c,0x4c,0xff,0x78,0x2, 0x80,0x1e,0x12,0x59,0xc3,0x7e,0x37,0xd, 0x36,
+0x7e,0x27,0xd, 0x38,0x12,0x59,0xf9,0xa5,0xbf,0x0, 0x4, 0xd2,0xe, 0x21,0x9c,0x7e,
+0xb3,0xd, 0x2c,0x60,0x2, 0x21,0xa2,0x7e,0x34,0x0, 0x2, 0x7a,0x37,0xd, 0x29,0x7e,
+0xb3,0xc, 0xa9,0x7a,0xb3,0xd, 0x2b,0x21,0xa2,0xbe,0xf0,0x0, 0x28,0x58,0x4c,0xee,
+0x78,0x54,0x7a,0xf7,0xd, 0x31,0x7a,0x47,0xd, 0x33,0x12,0x59,0xc3,0x7e,0xb3,0xc,
+0xa8,0xa, 0x2b,0x7e,0xb3,0xc, 0xa9,0xa, 0x3b,0x9d,0x32,0x7e,0xb3,0xd, 0x2b,0xa,
+0x4b,0xbd,0x43,0x18,0x2, 0x70,0x4, 0xd2,0xe, 0x80,0x61,0x7e,0x37,0xd, 0x36,0x7e,
+0x27,0xd, 0x38,0x7e,0xb3,0xc, 0x9e,0x12,0x59,0xcc,0x7c,0x7b,0xa5,0xbf,0x0, 0x4,
+0xd2,0xe, 0x80,0x48,0x7e,0x34,0x0, 0x3, 0x7a,0x37,0xd, 0x29,0x7e,0xb3,0xc, 0xaa,
+0x7a,0xb3,0xd, 0x2c,0x80,0x3c,0x4c,0xff,0x78,0x38,0x7e,0xb3,0xd, 0x2b,0x70,0x32,
+0xd2,0xe, 0x80,0x2e,0x4c,0xff,0x78,0x10,0x7e,0xb3,0xd, 0x2c,0x70,0x4, 0xd2,0xe,
+0x80,0x1a,0x7e,0x34,0x0, 0x4, 0x80,0x16,0x12,0x59,0xc3,0x7e,0x37,0xd, 0x31,0x7e,
+0x27,0xd, 0x33,0x12,0x59,0xf9,0xa5,0xbf,0x0, 0x8, 0xd2,0xe, 0x6d,0x33,0x7a,0x37,
+0xd, 0x29,0x7e,0x37,0xd, 0x29,0xbe,0x34,0x0, 0x2, 0x78,0x12,0x7e,0xa0,0x25,0x6d,
+0x33,0x7a,0x37,0xd, 0x29,0xe4,0x7a,0xb3,0xd, 0x35,0x7a,0xb3,0xd, 0x2c,0x7c,0xba,
+0xda,0x79,0x22,0x7a,0xf7,0xd, 0x2d,0x7a,0x47,0xd, 0x2f,0x22,0x7d,0x13,0xa, 0x3b,
+0x7d,0x3, 0x2e,0x7, 0xd, 0x2d,0xbd,0x1, 0x40,0x1d,0x2d,0x13,0xbe,0x17,0xd, 0x2d,
+0x40,0x15,0x7d,0x13,0x2e,0x17,0xd, 0x2f,0xbd,0x12,0x40,0xb, 0x2d,0x32,0xbe,0x37,
+0xd, 0x2f,0x40,0x3, 0x74,0x1, 0x22,0xe4,0x22,0x7e,0xb3,0xc, 0x9f,0x12,0x59,0xcc,
+0x7c,0x7b,0x22,0xe4,0x7a,0xb3,0x9, 0x62,0x22,0x6d,0x33,0x7a,0x37,0xd, 0x29,0x22,
+0x7c,0xab,0x54,0xf0,0xb4,0x20,0x18,0x7c,0xba,0x54,0xf, 0x7e,0x44,0x0, 0x1, 0x60,
+0x5, 0x3e,0x44,0x14,0x78,0xfb,0x7e,0x73,0xb, 0xb4,0xa, 0x57,0x5d,0x54,0x22,0xe4,
+0x22,0x7d,0x13,0x7e,0x37,0xc, 0xa0,0xbd,0x31,0x50,0x1a,0x7e,0x37,0xc, 0xa2,0xbd,
+0x31,0x28,0x12,0x7e,0x37,0xc, 0xa4,0xbd,0x32,0x50,0xa, 0x7e,0x37,0xc, 0xa6,0xbd,
+0x32,0x28,0x2, 0xe4,0x22,0x74,0x1, 0x22,0x6d,0x0, 0xb, 0xc, 0x7e,0x7f,0xa, 0x9,
+0x7f,0x17,0x12,0x3, 0xec,0x2f,0x14,0x7a,0x1f,0x9, 0xfd,0x7f,0x6, 0x2f,0x5, 0x2f,
+0x7, 0x7a,0xf, 0xa, 0x1, 0x22,0xa, 0xb, 0x7e,0x14,0x0, 0x3, 0x9d,0x10,0x7e,0x91,
+0x27,0x74,0x4, 0xac,0x9b,0x2e,0x44,0x3, 0x5c,0x49,0x34,0x0, 0x2, 0xb, 0x48,0x20,
+0x7c,0xb3,0x22,0x7e,0x24,0x12,0x0, 0xb, 0x28,0x30,0x5e,0x60,0x1f,0x1b,0x28,0x30,
+0x22,0xe5,0x24,0xa, 0x3b,0x3e,0x34,0x2e,0x34,0x10,0x0, 0xb, 0x38,0x70,0x6d,0x66,
+0xe5,0x24,0xa, 0x3b,0x22,0xb, 0x28,0x30,0x4d,0x35,0x1b,0x28,0x30,0x22,0x74,0x4,
+0x12,0x4, 0x8d,0x7e,0x90,0x5, 0xac,0x9f,0x49,0x34,0x2, 0xb6,0x74,0x14,0xac,0xbd,
+0x22,0x7e,0x25,0x33,0x7a,0x27,0x0, 0x50,0x7e,0x25,0x35,0x7a,0x27,0x0, 0x52,0x7a,
+0x37,0x0, 0x54,0x22,0x6d,0x0, 0x1b,0xc, 0x7e,0x5f,0xa, 0x5, 0x7f,0x15,0x12,0x3,
+0xec,0x7f,0x41,0x22,0x7e,0x25,0x22,0x7e,0x37,0xa, 0x9, 0xad,0x32,0x7c,0x76,0x7c,
+0x65,0xa, 0x24,0x22,0x6d,0x0, 0x2f,0x10,0x7e,0x14,0x0, 0x10,0x12,0x3, 0xfd,0x74,
+0x5, 0xac,0xbe,0x22,0x7f,0x13,0x7f,0x6, 0x12,0x3, 0xec,0x7f,0x7, 0x12,0x4, 0x59,
+0x7f,0x1, 0x22,0x7e,0x14,0x0, 0x3, 0x7e,0x1d,0x2a,0x12,0x3, 0xfd,0x7e,0x8, 0x0,
+0x4, 0x22,0x2e,0x18,0x0, 0xf, 0x7e,0x15,0x22,0x12,0x3, 0xfd,0x2f,0x11,0x2f,0x11,
+0x22,0x6d,0x0, 0x7e,0x6f,0xa, 0xd, 0x7f,0x16,0x12,0x3, 0xec,0x2f,0x41,0x22,0x7e,
+0x14,0x0, 0x3, 0x7f,0x13,0x12,0x3, 0xfd,0x7e,0x8, 0x0, 0x8, 0x22,0x7e,0xf, 0xa,
+0xb, 0x7e,0x37,0xa, 0x9, 0x6d,0x22,0x2, 0x3, 0xec,0xa, 0x4b,0x7d,0x24,0x7d,0xf4,
+0x1a,0x24,0x1a,0xe4,0xbf,0x7, 0x22,0x3e,0x34,0x2e,0x34,0x12,0x92,0x1b,0x38,0x20,
+0xb, 0x10,0x22,0xb, 0x48,0x20,0x4d,0x25,0x1b,0x48,0x20,0x7c,0xb7,0x22,0x7f,0x16,
+0x7d,0x1b,0x12,0x3, 0xfd,0x7f,0x7, 0x22,0x70,0x8f,0xff,0x0, 0x81,0x7e,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43,0x45,0x49,0x5f,0x44,0x4c,0x57,0x32,
+0x0, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x30,0x30,0x30,0x30,0x0, 0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1, 0x81,
\ No newline at end of file
diff --git a/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DLW2_3207_0x86_app.i b/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DLW2_3207_0x86_app.i
new file mode 100644
index 0000000..3f160ff
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DLW2_3207_0x86_app.i
@@ -0,0 +1,1471 @@
+0x2, 0x0, 0x76,0x2, 0x4d,0x86,0x22,0x22,0x22,0x22,0x32,0x2, 0x0, 0xa, 0x7f,0x71,
+0x7e,0x8, 0x0, 0x2, 0x2, 0x4, 0x59,0x2, 0x49,0xaf,0x22,0x2, 0x4d,0xfe,0x1e,0x44,
+0x1e,0x44,0x1e,0x44,0x1e,0x44,0x22,0x2, 0x4d,0xd1,0xff,0x2, 0x4d,0x20,0x7d,0x23,
+0xbe,0x24,0x0, 0x0, 0x48,0x3, 0x7d,0x32,0x22,0x6d,0x33,0x9d,0x32,0x22,0x70,0x2,
+0xc2,0xd, 0x22,0x2, 0x4d,0x52,0x40,0x10,0x10,0x10,0x10,0x40,0x12,0x0, 0x1, 0x2,
+0x3, 0x14,0x12,0x4, 0x5, 0x6, 0x7, 0x14,0x13,0x8, 0x9, 0xa, 0xb, 0x15,0x13,0xc,
+0xd, 0xe, 0xf, 0x15,0x40,0x11,0x11,0x11,0x11,0x40,0x3e,0x34,0x3e,0x34,0x3e,0x34,
+0x3e,0x34,0x22,0x2, 0x50,0x43,0x75,0x84,0x1, 0x7e,0x44,0xf, 0xff,0xe4,0x7a,0x49,
+0xb0,0x1b,0x44,0x78,0xf9,0x7e,0xf8,0xd, 0x3f,0xc2,0xc, 0x75,0x47,0x18,0xc2,0x8,
+0xd2,0x9, 0x75,0x1d,0x0, 0x75,0x1e,0x0, 0xc2,0x0, 0xd2,0x1, 0xc2,0x2, 0xc2,0x3,
+0xc2,0x4, 0xc2,0x6, 0x75,0x8, 0x76,0x75,0xa, 0x0, 0x75,0xc, 0x37,0x75,0xe, 0x2,
+0x75,0xf, 0x74,0x75,0x10,0x71,0x75,0x14,0x71,0x75,0x15,0x71,0x75,0x1b,0x7b,0xd2,
+0xa, 0xc2,0xb, 0x75,0x4c,0x0, 0x75,0x4d,0x0, 0xc2,0xd, 0x75,0x4e,0x0, 0x75,0x4f,
+0x0, 0xc2,0xe, 0x7e,0x4, 0x0, 0xff,0x7e,0x14,0x5, 0xa, 0xb, 0xa, 0x40,0x5d,0x44,
+0x68,0x1a,0x69,0x20,0x0, 0x2, 0xb, 0xe, 0xb, 0x44,0x80,0xa, 0x7e,0xb, 0xb0,0x7a,
+0x29,0xb0,0xb, 0x24,0xb, 0xc, 0x1b,0x44,0x78,0xf2,0x80,0xdf,0x2, 0x49,0x25,0xff,
+0x5b,0x98,0xa4,0x67,0xa1,0x5e,0xbe,0x41,0x86,0x79,0x1, 0xfe,0xff,0xff,0xff,0x0,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0x7e,0xa0,0x20,0x80,0xc, 0x7e,0xa0,0x10,0x80,0x5, 0x7e,0xa0,0x8, 0x6c,0x55,0x6d,
+0x33,0x33,0x92,0xd5,0x50,0xa, 0x6e,0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,
+0xa5,0xec,0x33,0x40,0x6, 0x2f,0x11,0xd5,0xf0,0xf6,0x22,0x7c,0xba,0x24,0x7e,0xa2,
+0xd5,0x13,0x7c,0x76,0x7c,0x65,0xa5,0xcc,0x92,0xe7,0x7c,0x5b,0x22,0x7c,0xb5,0x33,
+0x7c,0xb4,0x33,0x92,0xd5,0x4e,0x50,0x80,0x24,0x81,0x40,0x3, 0x9f,0x11,0x22,0x7c,
+0x45,0x7c,0x56,0x7c,0x67,0x6c,0x77,0x24,0xe0,0x50,0xe, 0x7e,0x1c,0xff,0xff,0x22,
+0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x4, 0x78,0xf4,0x30,0xd5,0xa, 0x6e,
+0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,0x22,0x7c,0xb5,0xa2,0xe7,0xd2,0xe7,
+0x7c,0x1b,0x7c,0xb4,0x33,0x40,0x9, 0x68,0xd, 0xb4,0xff,0xb, 0xa5,0xbd,0xff,0x3,
+0x2, 0x2, 0x67,0x2, 0x2, 0x6f,0x22,0x7c,0xb, 0x24,0x81,0xc2,0xe0,0xf5,0x82,0xf4,
+0x4, 0x2c,0xb0,0x7c,0x2b,0xc3,0x13,0x7c,0x4b,0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x7f,
+0x41,0x7c,0xb6,0xa2,0xe7,0x7c,0xb1,0xa5,0xba,0x7f,0x2, 0xc3,0x13,0x34,0x0, 0x94,
+0x0, 0x7c,0x2b,0x7e,0xa0,0x91,0xa4,0x7c,0xba,0x13,0xf4,0x94,0xfe,0xac,0xb2,0x33,
+0x7c,0xba,0x33,0x24,0x8c,0xd3,0x13,0x7c,0x5b,0xe4,0x92,0xe7,0x7c,0x6b,0x6c,0x77,
+0x7e,0x40,0x3f,0x75,0x83,0x2, 0x7f,0x51,0x7f,0x1, 0x7f,0x14,0x12,0x3, 0x39,0x7f,
+0x5, 0x12,0x2, 0x81,0x9e,0x24,0x0, 0x80,0xd5,0x83,0xeb,0x7e,0x1, 0x82,0x6c,0x11,
+0xe, 0x4, 0x1e,0x4, 0x2d,0x20,0x5e,0x40,0x7f,0x22,0x2d,0x0, 0x92,0xd5,0xe, 0x10,
+0x4e,0x10,0x80,0x7d,0x42,0x2d,0x44,0x50,0x2, 0xb2,0xd5,0x4e,0x50,0x80,0x6c,0x44,
+0x7c,0xb8,0x22,0x2c,0x44,0x50,0x12,0xb, 0x1c,0x7e,0x40,0x0, 0x5e,0x50,0x7f,0xbe,
+0x18,0x0, 0x0, 0x78,0x4, 0xb, 0x80,0x68,0x16,0xa2,0xd5,0x7c,0xb8,0x13,0x7c,0x4b,
+0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x22,0x7e,0x1c,0xff,0xff,0x22,0x9f,0x11,0x22,0x7e,
+0x24,0xff,0x80,0x20,0xd5,0x2, 0x6c,0x45,0x6d,0x33,0x22,0x2, 0x2, 0x67,0x6e,0x0,
+0x80,0x7c,0xb1,0x33,0x7c,0xb0,0x33,0x68,0xd, 0x4, 0x68,0xef,0x7c,0xb5,0x33,0x7c,
+0xb4,0x33,0x78,0x3, 0x7f,0x10,0x22,0x4, 0x68,0xe1,0x7d,0x50,0x92,0xf7,0x7d,0x45,
+0x7d,0x51,0xbf,0x21,0x40,0x6, 0x7c,0x80,0x7f,0x1, 0x7f,0x12,0x12,0x2, 0x2a,0x7e,
+0xa1,0xd0,0x5c,0xb0,0x4, 0x78,0x3, 0x20,0xd5,0xc1,0x7c,0xb0,0x4, 0x78,0x7, 0x50,
+0x2, 0xb2,0xd5,0x2, 0x2, 0x6f,0x92,0xd5,0xbe,0x80,0xff,0x68,0xf6,0x7c,0xb8,0x9c,
+0xb0,0x6c,0x0, 0x60,0x2a,0xb4,0x18,0x5, 0x7c,0x41,0x2, 0x2, 0x43,0x50,0xfb,0x80,
+0x3, 0x2f,0x0, 0x4, 0x7c,0x9b,0x5e,0x90,0x7, 0x78,0xf6,0x30,0xe4,0x6, 0x7c,0x43,
+0x7d,0x10,0x6d,0x0, 0x30,0xe3,0x8, 0x7c,0x43,0x7c,0x32,0x7c,0x21,0xa, 0x0, 0x30,
+0xf5,0x19,0x9f,0x10,0x78,0xe, 0x22,0x2, 0x2, 0x6c,0x1b,0x80,0x68,0xf9,0x2f,0x11,
+0x50,0x2, 0xb, 0x70,0x7c,0xb5,0x30,0xe7,0xf1,0x80,0x1b,0x2d,0x31,0x7c,0xb5,0xa5,
+0x39,0x7c,0x5b,0x50,0x11,0xb, 0x80,0x78,0x3, 0x2, 0x2, 0x6f,0x1e,0x34,0x13,0x50,
+0x3, 0x4e,0x60,0x80,0x1a,0x2b,0x2, 0x2, 0x43,0xbe,0x24,0xff,0xff,0x68,0x6, 0xbe,
+0x4, 0xff,0xff,0x78,0x3, 0x2, 0x2, 0x67,0x12,0x2, 0x2a,0x5c,0xb0,0x4, 0x68,0xf5,
+0x7c,0xb8,0xa5,0x48,0x68,0xef,0x7c,0xb8,0x70,0x3, 0x9f,0x11,0x22,0xa5,0xb8,0x0,
+0x3, 0x2, 0x2, 0x6f,0x2e,0x0, 0x81,0x50,0x7, 0x9c,0x80,0x38,0x7, 0x2, 0x2, 0x6c,
+0x9c,0x80,0x50,0xed,0xa, 0x51,0xc2,0xe7,0x4d,0x51,0x78,0x3, 0x2, 0x2, 0x59,0x7e,
+0x54,0x0, 0x80,0x7e,0x90,0x1a,0x6c,0x0, 0x80,0x6, 0x1b,0x90,0x68,0x14,0x2f,0x11,
+0xbf,0x10,0x40,0x4, 0x9f,0x10,0x4c,0xab,0x3, 0x30,0xe7,0xee,0xca,0xa8,0x6c,0xaa,
+0x80,0xe8,0xda,0x39,0xda,0x58,0x7c,0x4a,0xbe,0x50,0x80,0x50,0xa, 0x1b,0x80,0x68,
+0xbc,0x2f,0x11,0x50,0x2, 0xb, 0x70,0x2, 0x2, 0x43,0xc2,0xd5,0x7c,0xb4,0x30,0xe7,
+0x8, 0xb2,0xd5,0x6e,0x24,0xff,0xff,0xb, 0x24,0x7c,0xb6,0x30,0xe7,0x12,0xb2,0xd5,
+0x6e,0x34,0xff,0xff,0xb, 0x34,0x8d,0x32,0x6e,0x24,0xff,0xff,0xb, 0x24,0x80,0x2,
+0x8d,0x32,0x30,0xd5,0x6, 0x6e,0x34,0xff,0xff,0xb, 0x34,0x22,0x7d,0x51,0xad,0x3,
+0x7d,0x2, 0x7d,0x21,0xad,0x5, 0x2d,0x12,0xad,0x35,0x2d,0x21,0x22,0x7d,0x2, 0xad,
+0x31,0xad,0x10,0x2d,0x21,0x22,0x6d,0x0, 0x74,0x10,0x4d,0x0, 0x78,0xb, 0x4d,0x22,
+0x78,0x27,0x8d,0x31,0x7d,0x12,0x6d,0x22,0x22,0x7d,0x43,0x7d,0x32,0x6d,0x22,0x2f,
+0x11,0x2d,0x44,0x50,0x2, 0xa5,0xf, 0xbf,0x10,0x40,0x4, 0x9f,0x10,0xb, 0x90,0x14,
+0x78,0xed,0x7f,0x1, 0x6d,0x22,0x7d,0x34,0x22,0x7d,0x41,0x7d,0x13,0x8d,0x24,0x7d,
+0x2, 0x2f,0x0, 0x40,0x4, 0xbd,0x4, 0x40,0x4, 0x9d,0x4, 0xb, 0x14,0x14,0x78,0xf1,
+0x7d,0x23,0x7d,0x31,0x7d,0x10,0x6d,0x0, 0x22,0xc2,0xd5,0x7c,0xb0,0x30,0xe7,0x8,
+0xb2,0xd5,0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x7c,0xb4,0x30,0xe7,0x13,0xb2,0xd5,0x9f,
+0x22,0x9f,0x21,0x7f,0x12,0x12,0x4, 0x8, 0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x80,0x3,
+0x12,0x4, 0x8, 0x30,0xd5,0x6, 0x9f,0x22,0x9f,0x21,0x7f,0x12,0x22,0x6c,0xaa,0x4d,
+0x11,0x68,0x1a,0x1e,0x54,0x68,0xe, 0xb, 0x38,0x20,0x1b,0x18,0x20,0xb, 0x35,0xb,
+0x15,0x1b,0x54,0x78,0xf2,0x50,0x6, 0x7e,0x39,0x40,0x7a,0x19,0x40,0x22,0x7d,0x3,
+0x80,0xa, 0x7e,0x29,0xb0,0x7a,0x9, 0xb0,0xb, 0x24,0xb, 0x4, 0x7d,0x51,0x1b,0x14,
+0x4d,0x55,0x78,0xee,0x22,0x13,0x12,0x10,0xf, 0x14,0xe, 0xb, 0xc, 0x1, 0x7, 0xa,
+0x9, 0x2, 0x3, 0x5, 0x6, 0x11,0x4, 0x15,0x0, 0xd, 0x8, 0x7f,0x1, 0xbe,0x8, 0x0,
+0x0, 0x48,0x3, 0x7f,0x10,0x22,0x9f,0x11,0x9f,0x10,0x22,0x7d,0x13,0x80,0x7, 0x1b,
+0x24,0x7a,0x19,0xb0,0xb, 0x14,0x4d,0x22,0x78,0xf5,0x22,0x10,0x10,0x10,0x1c,0x19,
+0x14,0x10,0xe, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x0, 0xc, 0xc, 0xe9,0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xc, 0xf5,0x0, 0x0,
+0x0, 0x1, 0xc, 0xf7,0x0, 0x0, 0x1, 0xd, 0x10,0x0, 0x0, 0x1, 0xd, 0x11,0x0, 0x0,
+0x1, 0xd, 0x12,0x0, 0x0, 0x2e,0xa, 0x8d,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x16,0xa, 0xbb,0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x2e,0xa, 0xd1,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x1, 0xc, 0xd0,0x0, 0x0, 0x1, 0xc, 0xd2,0x0, 0x0, 0x2, 0xc, 0xd3,
+0x0, 0x0, 0x0, 0x1, 0xc, 0xd5,0x0, 0x0, 0x1, 0xc, 0xd7,0x0, 0x0, 0x1, 0xc, 0xd8,
+0x0, 0x0, 0x2, 0x0, 0x72,0x3, 0x1c,0x0, 0x4, 0x0, 0xa2,0x0, 0x0, 0x0, 0x0, 0x0,
+0x2, 0x2, 0xcd,0x0, 0x0, 0x0, 0x1, 0x2, 0xcf,0x0, 0x0, 0x1, 0x2, 0xd3,0x0, 0x0,
+0x1, 0x3, 0x48,0x0, 0x0, 0x1, 0x3, 0x4c,0x0, 0x0, 0x1, 0x3, 0x4d,0x0, 0x0, 0x1,
+0xd, 0x3a,0x0, 0x0, 0x1, 0xd, 0x3b,0xff,0x0, 0x1, 0xd, 0x3c,0x0, 0x0, 0x1, 0xd,
+0x3d,0x10,0x0, 0x1, 0xd, 0x3e,0x8, 0x0, 0x1, 0xd, 0x3f,0x0, 0x0, 0x1, 0x9, 0x6c,
+0x0, 0x0, 0x1, 0xd, 0x28,0x0, 0x0, 0x1, 0xb, 0x38,0x0, 0x0, 0x2, 0xd, 0x29,0x0,
+0x0, 0x0, 0x2, 0x6, 0xdb,0x6, 0xe1,0x0, 0x1, 0x9, 0x69,0x0, 0x0, 0x0, 0x7d,0x41,
+0x7d,0x12,0x1a,0x26,0x1a,0x24,0x12,0x6, 0x5e,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x2,
+0x4, 0x59,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x7f,0x17,0x9f,0x10,0x7d,0x1d,0x1a,0x2,
+0x1a,0x0, 0x2, 0x3, 0xec,0xca,0x3b,0x7f,0x71,0x7c,0xab,0x6c,0x33,0x6c,0xee,0x6d,
+0x22,0x7a,0x25,0x22,0x7a,0x25,0x24,0x7d,0x62,0x7d,0x82,0x7d,0x92,0x7d,0x42,0x7d,
+0xa2,0x7d,0xb2,0x7e,0x37,0x5, 0xf8,0x7d,0xd3,0x7e,0x24,0x0, 0x2, 0x12,0x3, 0xba,
+0x7d,0xc3,0xa, 0x3a,0x7e,0x24,0x0, 0xb, 0x12,0x3, 0xba,0x7c,0xb5,0x7c,0xfb,0xbe,
+0xf0,0x5, 0x50,0x4c,0x1a,0x13,0x12,0x7, 0x73,0x48,0x2c,0xbe,0x78,0x1, 0xa, 0x48,
+0x2, 0x80,0x3, 0x7e,0x45,0x24,0x12,0x6, 0x52,0x7d,0x54,0x12,0x7, 0x84,0xbe,0x78,
+0x0, 0xc7,0x8, 0x7c,0x7f,0x17,0x9e,0x18,0x0, 0xc7,0x12,0x0, 0xe, 0x7f,0x71,0x2e,
+0x18,0x0, 0xc7,0x7f,0x71,0x80,0x69,0xbe,0x78,0x0, 0x89,0x18,0x9, 0x7d,0x19,0x12,
+0x6, 0x54,0x7d,0x59,0x80,0x27,0x7e,0x45,0x22,0x12,0x6, 0x52,0x7d,0x54,0x80,0x1d,
+0x1a,0x1e,0x12,0x7, 0x73,0x48,0x1b,0xbe,0x78,0x1, 0x4, 0x48,0x9, 0x7d,0x1b,0x12,
+0x6, 0x54,0x7d,0x5b,0x80,0x7, 0x7d,0x18,0x12,0x6, 0x54,0x7d,0x58,0x12,0x7, 0x84,
+0x80,0x2e,0xbe,0x78,0x0, 0x87,0x18,0x9, 0x7d,0x1a,0x12,0x6, 0x54,0x7d,0x5a,0x80,
+0x7, 0x7d,0x16,0x12,0x6, 0x54,0x7d,0x56,0x12,0x7, 0x84,0xbe,0x78,0x0, 0x0, 0x58,
+0xf, 0x9f,0x11,0x9f,0x17,0x12,0x0, 0xe, 0x7f,0x71,0x9f,0x11,0x9f,0x17,0x7f,0x71,
+0xbe,0x78,0x0, 0x0, 0x58,0x6, 0x9f,0x11,0x7f,0x71,0x80,0x11,0x7d,0x1d,0x12,0x7,
+0x7d,0x48,0xa, 0x7d,0x3d,0x1a,0x26,0x1a,0x24,0x1b,0x1c,0x7f,0x71,0xbe,0xf0,0x5,
+0x40,0xc, 0x7d,0x1d,0x1a,0x2, 0x1a,0x0, 0x7f,0x17,0x2f,0x10,0x7f,0x71,0x7f,0x17,
+0xda,0x3b,0x22,0x1a,0x2, 0x7f,0x17,0x2f,0x10,0x7f,0x71,0x7d,0x1c,0x1a,0x2, 0x1a,
+0x0, 0xbf,0x70,0x22,0x3e,0x54,0x1a,0x4a,0x1a,0x48,0x7d,0x1d,0x1a,0x2, 0x1a,0x0,
+0x9f,0x2, 0x12,0x4, 0x59,0x7f,0x71,0x22,0xca,0x3b,0x7e,0xa3,0x0, 0x90,0x7c,0xca,
+0x5e,0xc0,0xf, 0x7c,0xba,0xc4,0x7c,0x3b,0x5e,0x30,0xf, 0x4c,0xcc,0x78,0x2d,0x12,
+0x9, 0xa5,0xbe,0x30,0x0, 0x38,0x3, 0x2, 0x9, 0xa2,0x6c,0xff,0x7e,0x20,0xff,0x74,
+0x5, 0xac,0xbf,0x19,0x25,0x2, 0xc4,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xf1,0x75,0x1c,
+0x1, 0x75,0x12,0x0, 0xe4,0x7a,0xb3,0xc, 0xf7,0x2, 0x9, 0xa2,0x7e,0x23,0xc, 0xf7,
+0xbe,0x20,0x3c,0x50,0x14,0x7e,0x4, 0xa, 0x0, 0x7a,0x7, 0x0, 0x9e,0x12,0x4d,0x19,
+0x7c,0xb2,0x4, 0x7a,0xb3,0xc, 0xf7,0x80,0xd, 0x7e,0x37,0x0, 0x9e,0xbe,0x34,0xa,
+0x0, 0x68,0x3, 0x12,0x4d,0x11,0x6c,0xff,0x7e,0x20,0xff,0x74,0x5, 0xac,0xbf,0x19,
+0x25,0xa, 0x1, 0x7e,0x34,0x7f,0xff,0x59,0x35,0x9, 0xfd,0x59,0x35,0x9, 0xff,0xb,
+0xf0,0xbe,0xf0,0x2, 0x78,0xe2,0x6c,0xff,0x80,0x23,0x7e,0x50,0x5, 0xac,0x5f,0x7d,
+0x2, 0x2e,0x4, 0x0, 0x7a,0xb, 0x8, 0x30,0x12,0x0, 0x6a,0x1b,0x8, 0x30,0x2e,0x24,
+0x0, 0x7c,0xb, 0x28,0x30,0x12,0x0, 0x6a,0x1b,0x28,0x30,0xb, 0xf0,0xbc,0xcf,0x38,
+0xd9,0xa5,0xbb,0x0, 0x28,0x6c,0xff,0x80,0x1e,0x74,0x5, 0xac,0xbf,0x49,0x45,0x0,
+0x7a,0x59,0x45,0x2, 0xc0,0x49,0x45,0x0, 0x7c,0x59,0x45,0x2, 0xc2,0x9, 0x75,0x0,
+0x7e,0x19,0x75,0x2, 0xc4,0xb, 0xf0,0xbc,0xcf,0x38,0xde,0x21,0x4a,0x6c,0xdd,0x6c,
+0xff,0x6c,0xee,0x7e,0x70,0x5, 0xac,0x7e,0x9, 0xa3,0x2, 0xc4,0x7e,0x50,0x5, 0xac,
+0x5f,0x9, 0xb2,0x0, 0x7e,0xbc,0xba,0x78,0x13,0xbe,0xb0,0xff,0x68,0xe, 0xbe,0xd0,
+0x2, 0x50,0x10,0x2e,0x34,0x2, 0xc0,0x12,0xe, 0x60,0x80,0x7, 0xb, 0xe0,0xbe,0xe0,
+0x2, 0x40,0xd0,0xbe,0xe0,0x2, 0x78,0xb, 0xbe,0xd0,0x2, 0x50,0x6, 0x12,0x3e,0x25,
+0x12,0xe, 0x60,0xb, 0xd0,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xb5,0x6c,0xff,0x12,0x3e,
+0x15,0x2e,0x34,0x9, 0xfd,0x2e,0x14,0x2, 0xc0,0x12,0x3e,0x2f,0x78,0xf0,0xe5,0x12,
+0x70,0x68,0x6c,0xff,0x80,0x60,0x7c,0xef,0x6c,0xdd,0x80,0x21,0x7e,0x90,0x5, 0xac,
+0x9f,0x9, 0xa4,0x2, 0xc4,0x7e,0x70,0x5, 0xac,0x7d,0x9, 0xb3,0x0, 0x7e,0xbc,0xba,
+0x78,0x9, 0xbe,0xa0,0xff,0x68,0x4, 0x7c,0xed,0x80,0x6, 0xb, 0xd0,0xbc,0xcd,0x38,
+0xdb,0xbe,0xe0,0x2, 0x40,0x2, 0x7c,0xef,0x12,0xf, 0xfd,0xbe,0x34,0x18,0xe0,0x50,
+0xa, 0x49,0x24,0x2, 0xc2,0xbe,0x24,0x18,0xe0,0x40,0x12,0x49,0x24,0x0, 0x7a,0x74,
+0x5, 0xac,0xbf,0x59,0x25,0x2, 0xc0,0x59,0x35,0x2, 0xc2,0x80,0x7, 0x7c,0xbf,0x7c,
+0x7e,0x12,0x9, 0xdd,0xb, 0xf0,0xbc,0xcf,0x38,0x9c,0x6c,0xff,0x74,0x5, 0xac,0xbf,
+0x49,0x45,0x2, 0xc0,0x12,0x0, 0x1e,0x59,0x45,0x0, 0x7a,0x49,0x45,0x2, 0xc2,0x12,
+0x0, 0x1e,0x59,0x45,0x0, 0x7c,0x9, 0x75,0x2, 0xc4,0x19,0x75,0x0, 0x7e,0xb, 0xf0,
+0xbe,0xf0,0x2, 0x78,0xd7,0xbe,0xc0,0x0, 0x28,0x25,0x6c,0xff,0x74,0x5, 0xac,0xbf,
+0x49,0x45,0x0, 0x7a,0x59,0x45,0x2, 0xb6,0x49,0x45,0x0, 0x7c,0x59,0x45,0x2, 0xb8,
+0x9, 0x75,0x0, 0x7e,0x19,0x75,0x2, 0xba,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xdd,0x75,
+0x9, 0x1, 0xda,0x3b,0x22,0x12,0xe, 0xaf,0x78,0x32,0x20,0xc, 0x2f,0x6c,0xaa,0x7e,
+0x44,0x7f,0xff,0x7e,0x70,0x4, 0xac,0x7a,0x59,0x43,0xc, 0xe1,0x59,0x43,0xc, 0xe3,
+0x6d,0x33,0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0xc, 0xdd,0x7e,0x34,0x1, 0x0, 0x59,
+0x32,0xc, 0xd9,0xb, 0xa0,0xbe,0xa0,0x2, 0x78,0xd5,0xd2,0xc, 0x22,0xca,0x3b,0x7c,
+0xe7,0x7c,0xdb,0x75,0x24,0x0, 0x9f,0x11,0x7a,0x1f,0xa, 0xb, 0x7a,0x1f,0xa, 0xf,
+0x7a,0x1f,0xa, 0x13,0x12,0x3c,0x6, 0x74,0x5, 0xac,0xbd,0x49,0x15,0x2, 0xc0,0x49,
+0x5, 0x2, 0xc2,0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x7, 0x74,0x5, 0xac,0xbd,0x9, 0xf5,
+0x2, 0xc4,0xbe,0xf0,0x2, 0x40,0x2, 0x6c,0xff,0x12,0x3c,0x6, 0x74,0x4, 0xac,0xbf,
+0x49,0x15,0xc, 0xe1,0x49,0x5, 0xc, 0xe3,0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x9, 0x7e,
+0x27,0xa, 0x7, 0x7e,0x34,0x0, 0xdc,0xad,0x23,0x7e,0x17,0x0, 0x9e,0x12,0x4, 0x6,
+0x7a,0x35,0x22,0xbe,0x34,0x0, 0xa, 0x50,0x7, 0x7e,0x34,0x0, 0xa, 0x7a,0x35,0x22,
+0x75,0x24,0x0, 0x6c,0xcc,0x7e,0x90,0x14,0xac,0x9f,0x49,0x24,0xb, 0x3, 0x49,0x34,
+0xb, 0x7, 0xbd,0x32,0x78,0xe, 0x49,0x54,0xb, 0x5, 0x49,0x34,0xb, 0x9, 0xbd,0x35,
+0x78,0x2, 0xa1,0x41,0x74,0x5, 0xac,0xbe,0x49,0x15,0x0, 0x7c,0x1e,0x14,0x1e,0x14,
+0x1e,0x14,0x1e,0x14,0x6d,0x0, 0x7a,0xf, 0xa, 0x13,0xbe,0x8, 0x0, 0x18,0x48,0xa,
+0x7e,0xf, 0xa, 0x13,0xbe,0x8, 0x1, 0x76,0x8, 0x5, 0x75,0x25,0x34,0x80,0x1c,0x7e,
+0xf, 0xa, 0x13,0xbe,0x8, 0x0, 0x31,0x48,0xa, 0x7e,0xf, 0xa, 0x13,0xbe,0x8, 0x1,
+0x5d,0x8, 0x5, 0x75,0x25,0x20,0x80,0x3, 0x75,0x25,0x19,0x49,0x35,0x0, 0x7a,0x12,
+0xe, 0xa3,0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0xf, 0x74,0x5, 0xac,0xbe,0x49,0x35,0x0,
+0x7c,0x12,0xe, 0xa3,0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x5, 0x12,0xe, 0x2f,0x7a,
+0x1f,0xa, 0x13,0x7d,0x3, 0x7e,0x1f,0xa, 0xf, 0x7d,0x13,0x2d,0x10,0x7a,0x17,0xa,
+0x17,0xbe,0x14,0x0, 0x7, 0x8, 0x3d,0xbe,0x18,0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,
+0x1f,0xa, 0xf, 0x7e,0x1f,0xa, 0x13,0xbe,0x18,0x0, 0x0, 0x78,0xa, 0x7e,0x1f,0xa,
+0x13,0xb, 0x1c,0x7a,0x1f,0xa, 0x13,0x12,0xe, 0x39,0x8, 0x4, 0xb, 0xc0,0x80,0x14,
+0x7e,0x1f,0xa, 0xb, 0xbe,0x18,0x0, 0x64,0x8, 0xa, 0x12,0x5b,0x8e,0x12,0xe, 0x4e,
+0x8, 0x2, 0x5, 0x24,0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x3, 0x49,0x35,0xb, 0x7,
+0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0xf, 0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x5, 0x49,
+0x35,0xb, 0x9, 0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0x13,0x7e,0x1f,0xa, 0xf, 0xbe,0x18,
+0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,0x1f,0xa, 0xf, 0x7e,0x1f,0xa, 0x13,0xbe,0x18,
+0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,0x1f,0xa, 0x13,0x12,0xe, 0x39,0x8, 0x4, 0xb,
+0xc0,0x80,0x14,0x7e,0x1f,0xa, 0xb, 0xbe,0x18,0x0, 0x64,0x8, 0xa, 0x12,0x5b,0x8e,
+0x12,0xe, 0x4e,0x8, 0x2, 0x5, 0x24,0x74,0x14,0xac,0xbf,0x12,0xe, 0x6e,0x7d,0xf3,
+0xbe,0xf7,0xa, 0x17,0x8, 0x2, 0xa1,0x2e,0xe5,0x25,0xbe,0xb0,0x34,0x7e,0x1f,0xa,
+0xb, 0x40,0x9, 0x12,0x5b,0x32,0x7e,0x8, 0x0, 0x5a,0x80,0x7, 0x12,0x5b,0x32,0x7e,
+0x8, 0x0, 0x4b,0x12,0x4, 0x59,0x7a,0x1f,0xa, 0xb, 0xe5,0x24,0x60,0x2, 0x81,0xe2,
+0x4c,0xcc,0x68,0x2, 0x81,0xe2,0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0x3, 0x6d,0x22,
+0x49,0x15,0xb, 0xb, 0x6d,0x0, 0x9f,0x1, 0x7a,0xf, 0xa, 0xf, 0x12,0x57,0xea,0x74,
+0x14,0xac,0xbf,0x49,0x15,0xb, 0x3, 0x12,0x5b,0x4, 0x49,0x15,0x0, 0x7a,0x6d,0x0,
+0x2f,0x10,0xbe,0x18,0x0, 0x0, 0x48,0x19,0x74,0x6, 0xac,0xbf,0x49,0xe5,0xc, 0xed,
+0x4d,0xee,0x78,0xd, 0x12,0x0, 0x10,0x7d,0xe3,0x74,0x5, 0xac,0xbe,0x59,0xe5,0x0,
+0x7a,0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0x5, 0x6d,0x22,0x74,0x14,0xac,0xbf,0x12,
+0x57,0xb2,0x9f,0x1, 0x7a,0xf, 0xa, 0x13,0x12,0x57,0xea,0x74,0x14,0xac,0xbf,0x49,
+0x15,0xb, 0x5, 0x12,0x5b,0x4, 0x49,0x15,0x0, 0x7c,0x6d,0x0, 0x2f,0x10,0xbe,0x18,
+0x0, 0x0, 0x48,0x17,0x74,0x6, 0xac,0xbf,0x49,0x15,0xc, 0xed,0x4d,0x11,0x78,0xb,
+0x12,0x0, 0x10,0x74,0x5, 0xac,0xbe,0x59,0x35,0x0, 0x7c,0x7e,0x90,0x6, 0xac,0x9f,
+0x49,0x54,0xc, 0xe9,0x4d,0x55,0x78,0x14,0x7e,0x1f,0xa, 0xf, 0x7d,0x53,0x59,0x54,
+0xc, 0xe9,0x7e,0x1f,0xa, 0x13,0x7d,0x53,0x59,0x54,0xc, 0xeb,0x49,0x34,0xc, 0xe9,
+0x1a,0x26,0x1a,0x24,0x7e,0x7f,0xa, 0xf, 0x7f,0x7, 0x12,0xe, 0x9b,0x48,0x11,0x49,
+0x34,0xc, 0xeb,0x1a,0x26,0x1a,0x24,0x7e,0xf, 0xa, 0x13,0x12,0xe, 0x9b,0x58,0x32,
+0x74,0x6, 0xac,0xbf,0x49,0x35,0xc, 0xed,0xbe,0x34,0x0, 0x3, 0x58,0xe, 0x7e,0x50,
+0x6, 0xac,0x5f,0x2e,0x24,0xc, 0xed,0xb, 0x34,0x1b,0x28,0x30,0x7d,0x3f,0x74,0x6,
+0xac,0xbf,0x59,0x35,0xc, 0xe9,0x7e,0x1f,0xa, 0x13,0x74,0x6, 0xac,0xbf,0x59,0x35,
+0xc, 0xeb,0xe5,0x24,0xbe,0xb0,0x2, 0x40,0xe, 0x74,0x6, 0xac,0xbf,0x49,0x45,0xc,
+0xed,0xbe,0x44,0x0, 0x2, 0x48,0x5, 0x75,0x24,0x0, 0x80,0xc, 0x4d,0x44,0x78,0x8,
+0x7e,0x34,0x0, 0x1, 0x59,0x35,0xc, 0xed,0xbe,0xc0,0x2, 0x40,0xf, 0x7e,0x50,0x6,
+0xac,0x5f,0x49,0x32,0xc, 0xed,0xbe,0x34,0x0, 0x2, 0x48,0x4, 0x6c,0xcc,0x80,0x33,
+0x4d,0x33,0x78,0x2f,0x7e,0x34,0x0, 0x1, 0x59,0x32,0xc, 0xed,0x80,0x25,0x7e,0x34,
+0x0, 0x2, 0x74,0x6, 0xac,0xbf,0x59,0x35,0xc, 0xed,0x75,0x24,0x0, 0x6c,0xcc,0x80,
+0x12,0x6d,0x33,0x74,0x6, 0xac,0xbf,0x59,0x35,0xc, 0xe9,0x59,0x35,0xc, 0xeb,0x59,
+0x35,0xc, 0xed,0x7e,0x35,0x22,0xbe,0x34,0x1, 0x0, 0x28,0x7, 0x7e,0x34,0x1, 0x0,
+0x7a,0x35,0x22,0x74,0x5, 0xac,0xbd,0x49,0x25,0x2, 0xc0,0x74,0x5, 0xac,0xbe,0x12,
+0x3c,0x77,0x7a,0x37,0xa, 0x9, 0xe5,0x24,0x60,0x13,0x12,0x5b,0x5d,0x74,0x14,0x1e,
+0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x80,0x3, 0x12,0x5a,0xf4,
+0x7a,0x37,0xa, 0x9, 0x7e,0x90,0x5, 0xac,0x9d,0x49,0x34,0x2, 0xc0,0x74,0x5, 0xac,
+0xbe,0x49,0x25,0x0, 0x7a,0xbd,0x23,0x28,0x11,0x7d,0x14,0x2e,0x14,0x2, 0xc0,0x7d,
+0x23,0x2e,0x27,0xa, 0x9, 0x1b,0x18,0x20,0x80,0xd, 0x7d,0x24,0x2e,0x24,0x2, 0xc0,
+0x9e,0x37,0xa, 0x9, 0x1b,0x28,0x30,0x49,0x24,0x2, 0xc2,0x12,0x3e,0xc, 0x7a,0x37,
+0xa, 0x9, 0x4c,0xcc,0x68,0x13,0x12,0x5b,0x5d,0x74,0xa, 0x1e,0x34,0x1e,0x24,0x50,
+0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x80,0x3, 0x12,0x5a,0xf4,0x7a,0x37,0xa, 0x9,
+0x7e,0x30,0x5, 0xac,0x3d,0x49,0x21,0x2, 0xc2,0x12,0xf, 0xfd,0xbd,0x32,0x7d,0x51,
+0x28,0xf, 0x2e,0x54,0x2, 0xc2,0x7d,0x2, 0x2e,0x7, 0xa, 0x9, 0x1b,0x58,0x0, 0x80,
+0xb, 0x2e,0x54,0x2, 0xc2,0x9e,0x27,0xa, 0x9, 0x1b,0x58,0x20,0x49,0x24,0x0, 0x7a,
+0x74,0x4, 0xac,0xbf,0x59,0x25,0xc, 0xe1,0x59,0x35,0xc, 0xe3,0xda,0x3b,0x22,0x9d,
+0x32,0x12,0x0, 0x2e,0x1a,0x26,0x1a,0x24,0x22,0x7e,0xb4,0x0, 0x64,0x7e,0x7f,0xa,
+0x13,0x7f,0x17,0x7d,0x1b,0x12,0x3, 0xfd,0x7e,0x6f,0xa, 0xf, 0x7f,0x6, 0x12,0x4,
+0x59,0x7f,0x1, 0x7a,0xf, 0xa, 0xb, 0xe5,0x25,0xa, 0x3b,0x6d,0x22,0xbf,0x10,0x22,
+0x7e,0x30,0x5, 0xac,0x3d,0x2e,0x14,0x9, 0xfd,0x74,0x5, 0x2, 0x4, 0x8d,0x49,0x35,
+0xb, 0xb, 0x49,0x25,0xb, 0xd, 0x49,0x15,0xb, 0x3, 0x49,0x5, 0xb, 0x5, 0xca,0x3b,
+0x7d,0x61,0x7a,0x35,0x26,0x7d,0x32,0x9d,0x30,0x12,0x0, 0x2e,0x7d,0x73,0x7e,0x35,
+0x26,0x9d,0x36,0x12,0x0, 0x2e,0x2d,0x37,0xda,0x3b,0x22,0x12,0x3, 0xec,0xbe,0x18,
+0x0, 0x0, 0x22,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x22,0x12,0xe, 0xba,0x7e,
+0xb3,0x0, 0x90,0x54,0xf, 0x22,0x7a,0xb3,0xb, 0x88,0x60,0x2a,0x7e,0xb3,0x6, 0xca,
+0x20,0xe7,0x3d,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x12,0x41,
+0x1d,0x7e,0xb3,0x6, 0xca,0x54,0xc7,0x44,0x10,0x12,0x17,0x72,0x12,0x5b,0x83,0x44,
+0x80,0x7a,0xb3,0x6, 0xca,0x22,0x7e,0xb3,0x6, 0xca,0x30,0xe7,0x13,0x54,0xc7,0x44,
+0x28,0x12,0x17,0x72,0x12,0x5b,0x83,0x54,0x7f,0x7a,0xb3,0x6, 0xca,0x2, 0x2f,0x8e,
+0x22,0xca,0x79,0x7e,0x77,0x0, 0x92,0x4d,0x77,0x78,0x32,0xe4,0x12,0xe, 0xac,0xbe,
+0xb0,0x0, 0x28,0x5, 0x75,0xb, 0x0, 0xe1,0xa6,0x7e,0xb3,0x0, 0x94,0x20,0xe0,0x2,
+0xe1,0xa6,0x7e,0x73,0x0, 0x99,0xbe,0x71,0xb, 0x38,0x7b,0x75,0xb, 0x0, 0x7e,0x34,
+0x0, 0x1, 0x7a,0x37,0x0, 0x92,0x74,0x1, 0x12,0xe, 0xb6,0x80,0x69,0xbe,0x74,0x0,
+0x1, 0x78,0x14,0x74,0x1, 0x12,0xe, 0xac,0x68,0x5c,0x12,0x4d,0x9, 0x12,0xe, 0xb6,
+0x75,0xd, 0x27,0xd2,0x5, 0x80,0x4f,0xbe,0x74,0x0, 0x3, 0x78,0x49,0x7e,0xb3,0x0,
+0x9b,0x12,0x4a,0x48,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x12,
+0xf, 0xf3,0x12,0x2f,0x66,0x74,0x2, 0x12,0xf, 0xcd,0x12,0x49,0xe0,0x12,0x0, 0x27,
+0xc2,0xa8,0xc2,0x95,0xa9,0xd0,0xca,0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,0x4a,0x30,
+0x12,0x1c,0xcb,0x12,0x4d,0x9, 0x7a,0xb3,0xb, 0x88,0x74,0xa, 0x7a,0xb3,0x6, 0xda,
+0x7e,0xb3,0x6, 0xda,0x70,0xfa,0x7e,0x77,0x0, 0x92,0x4d,0x77,0x78,0xb, 0x80,0x4,
+0xe4,0x12,0xf, 0xcd,0x30,0x5, 0xf9,0x80,0xc, 0xbe,0x74,0x0, 0x1, 0x78,0x6, 0x12,
+0xf, 0xf3,0x12,0x2f,0xac,0x75,0xd, 0x0, 0xc2,0x5, 0xda,0x79,0x22,0x70,0x5, 0x43,
+0x87,0x1, 0x80,0x1a,0xb4,0x1, 0xb, 0xa9,0xd0,0xce,0xa9,0xd7,0xc9,0x43,0x87,0x2,
+0x80,0xc, 0xb4,0x2, 0xd, 0xa9,0xd0,0xce,0xa9,0xc7,0xc9,0x43,0x87,0x2, 0x0, 0x0,
+0x0, 0x0, 0x22,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x20,0x93,0xf9,0x22,0x7e,0x90,0x5,
+0xac,0x9e,0x49,0x34,0x0, 0x7c,0x22,0x7d,0xf3,0xbe,0xf4,0x0, 0x50,0x38,0x28,0x7e,
+0x54,0x0, 0x50,0x9d,0x5f,0x12,0x11,0x3b,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x28,
+0x4, 0x9f,0x22,0x80,0x8, 0x7e,0x18,0x0, 0x2d,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0,
+0x0, 0x50,0x64,0x9f,0x22,0x80,0x60,0xbe,0xf4,0x1, 0x2f,0x40,0x20,0x12,0x11,0x35,
+0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x40,0x4, 0x7e,0x28,0x0, 0x2c,0xbe,0x28,0x0,
+0x2d,0x28,0x4, 0x7e,0x28,0x0, 0x2d,0x2e,0x28,0x1, 0x61,0x80,0x3a,0xbe,0xf4,0x0,
+0xbf,0x50,0x23,0x7e,0x54,0x0, 0xbf,0x9d,0x5f,0x12,0x10,0xa0,0xbe,0x28,0x0, 0xc7,
+0x38,0x8, 0x7e,0x18,0x0, 0xc7,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0, 0x2d,0x50,0x17,
+0x7e,0x28,0x0, 0x2d,0x80,0x11,0x12,0x10,0x9a,0x2e,0x28,0x0, 0xc7,0xbe,0x28,0x1,
+0x61,0x28,0x4, 0x7e,0x28,0x1, 0x61,0x7d,0x35,0x22,0x7d,0x5f,0x9e,0x54,0x0, 0xbf,
+0x6d,0x44,0x7e,0x14,0x1, 0x81,0x7f,0x12,0x12,0x3, 0xfd,0x7f,0x21,0x7c,0xba,0x7c,
+0xa9,0xa, 0x48,0x22,0x7d,0xf3,0xbe,0xf4,0x0, 0x50,0x38,0x20,0x7e,0x54,0x0, 0x50,
+0x9d,0x5f,0x12,0x11,0x3b,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x28,0x4, 0x9f,0x22,
+0x80,0x60,0x7e,0x18,0x0, 0x2d,0x9f,0x12,0x7f,0x21,0x80,0x56,0xbe,0xf4,0x1, 0x2f,
+0x40,0x16,0x12,0x11,0x35,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x40,0x4, 0x7e,0x28,
+0x0, 0x2c,0x2e,0x28,0x1, 0x61,0x80,0x3a,0xbe,0xf4,0x0, 0xbf,0x50,0x23,0x7e,0x54,
+0x0, 0xbf,0x9d,0x5f,0x12,0x10,0xa0,0xbe,0x28,0x0, 0xc7,0x38,0x8, 0x7e,0x18,0x0,
+0xc7,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0, 0x2d,0x50,0x17,0x7e,0x28,0x0, 0x2d,0x80,
+0x11,0x12,0x10,0x9a,0x2e,0x28,0x0, 0xc7,0xbe,0x28,0x1, 0x61,0x28,0x4, 0x7e,0x28,
+0x1, 0x61,0x7d,0x35,0x22,0x7d,0x5f,0x9e,0x54,0x1, 0x2f,0x6d,0x44,0x7e,0x14,0x2,
+0x7, 0x22,0xca,0xf8,0x6c,0xff,0x80,0x1d,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7a,
+0x12,0x10,0x7, 0x74,0x5, 0xac,0xbf,0x59,0x35,0x0, 0x7a,0x49,0x35,0x0, 0x7c,0x12,
+0x10,0xb4,0x12,0x3c,0x51,0x12,0x38,0x94,0x48,0xde,0xda,0xf8,0x22,0xca,0xf8,0x12,
+0x49,0xe0,0x7e,0x34,0x2, 0xd4,0x7a,0x37,0x6, 0xd8,0x12,0x4c,0x52,0xe4,0x12,0x43,
+0xb3,0x12,0x4d,0x63,0x12,0x3e,0x73,0x12,0x47,0xb1,0xe4,0x12,0x3f,0xc9,0x12,0x1c,
+0xc2,0x12,0x4e,0xf1,0x7e,0xb3,0xb, 0x9f,0xb4,0x1, 0x2, 0x80,0x2, 0x41,0x84,0x7e,
+0xf3,0x6, 0x4d,0x4c,0xff,0x68,0x36,0xbe,0xf0,0x1, 0x78,0xa, 0xe4,0x7a,0xb3,0x6,
+0x4d,0x12,0x3e,0xc9,0x80,0x12,0xbe,0xf0,0x3, 0x78,0x5, 0x12,0x1b,0xdc,0x80,0x8,
+0xbe,0xf0,0x2, 0x78,0x3, 0x12,0x17,0xff,0x7e,0x34,0xa, 0xd1,0x12,0x14,0xea,0x7e,
+0x34,0xa, 0xbb,0x12,0x14,0xea,0x7e,0x34,0xa, 0x8d,0x12,0x14,0xea,0x12,0x48,0x4c,
+0x12,0x37,0xfc,0x12,0x1f,0xf9,0x44,0x1, 0x7a,0xb3,0x6, 0xd7,0x12,0x15,0x1d,0x12,
+0x2f,0x45,0x12,0x27,0xfc,0x12,0x30,0xd8,0x12,0x23,0x3e,0x12,0x2a,0xa0,0x12,0x3c,
+0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x3, 0x12,0x14,0xfa,0x12,0xe, 0xaf,0x12,0x0,
+0x3e,0x7e,0x34,0x3, 0x5c,0x7e,0x24,0x5, 0x34,0x7e,0xb3,0x6, 0xc8,0x12,0x2d,0xc3,
+0x12,0x0, 0x6, 0x12,0x26,0x96,0x12,0x11,0x42,0x12,0x38,0x63,0x12,0x2d,0x3d,0x12,
+0x12,0x87,0x7e,0xb3,0xb, 0x38,0x60,0x8, 0xe4,0x7a,0xb3,0xb, 0x38,0x12,0x28,0x8c,
+0x12,0x3f,0x3d,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x3, 0x12,0x14,0xfa,0x12,0x18,0x72,
+0x12,0x2e,0xe5,0x12,0x28,0x97,0x12,0x28,0x27,0x12,0x38,0xa1,0x12,0x3c,0x80,0x12,
+0x7, 0x98,0x12,0x57,0xfa,0x12,0x51,0x3e,0x12,0x53,0xbf,0x7e,0xb3,0x6, 0x67,0x30,
+0xe1,0x3, 0x12,0x14,0xfa,0x7e,0xb3,0x0, 0x9a,0x12,0x41,0xc9,0x12,0xf, 0x1, 0x12,
+0x3e,0xf1,0x21,0x94,0xda,0xf8,0x22,0xca,0x3b,0x7e,0xb3,0x0, 0x90,0x7c,0xab,0x5e,
+0xa0,0xf, 0x7a,0xa1,0x25,0xc4,0x54,0xf, 0x54,0xf, 0xf5,0x26,0x7e,0x77,0x0, 0x6a,
+0x7e,0x67,0x0, 0x6c,0x7e,0xb3,0x0, 0x68,0xf5,0x23,0x7e,0xb3,0x0, 0x69,0xf5,0x24,
+0x4c,0xaa,0x78,0x4, 0xc2,0x4, 0x81,0x72,0xe5,0x25,0xbe,0xb0,0x1, 0x28,0x58,0x75,
+0x22,0x0, 0x80,0x48,0x12,0x14,0xe3,0x49,0x45,0x0, 0x7a,0x7a,0x45,0x2f,0x49,0x35,
+0x0, 0x7c,0x12,0x15,0x12,0x28,0xa, 0x12,0x14,0xf2,0x28,0x2e,0xbe,0x35,0x31,0x28,
+0x29,0x12,0x14,0x9b,0xbd,0x36,0x28,0x22,0x7a,0x65,0x29,0x12,0x17,0xf7,0x50,0x3,
+0x12,0x17,0xef,0x7e,0x35,0x33,0x12,0x14,0xc0,0x12,0x14,0xe3,0x59,0x35,0x0, 0x7a,
+0x12,0x14,0xbd,0x12,0x14,0xe3,0x59,0x35,0x0, 0x7c,0x5, 0x22,0xe5,0x25,0xbe,0xb1,
+0x22,0x38,0xb1,0xc2,0x4, 0x81,0x72,0xe5,0x25,0xb4,0x1, 0x22,0xe5,0x26,0x70,0x1e,
+0x12,0x15,0x7, 0x28,0xe, 0x12,0x14,0xf2,0x28,0x5, 0xbe,0x35,0x31,0x38,0x4, 0xc2,
+0x4, 0x81,0x72,0x12,0x14,0x9b,0x7a,0x35,0x29,0x12,0x5a,0xd1,0x81,0x9, 0xe5,0x25,
+0xb4,0x1, 0x2, 0x80,0x2, 0x81,0x9, 0x12,0x15,0x7, 0x28,0xe, 0x12,0x14,0xf2,0x28,
+0x5, 0xbe,0x35,0x31,0x38,0x4, 0xc2,0x4, 0x81,0x72,0x12,0x14,0x9b,0x9e,0x37,0x0,
+0x60,0x12,0x0, 0x2e,0x7a,0x35,0x2b,0x7e,0x35,0x33,0x9e,0x37,0x0, 0x50,0x7e,0x25,
+0x35,0x9e,0x27,0x0, 0x52,0x12,0x14,0x7e,0x7a,0x35,0x2d,0x7e,0x37,0x0, 0x70,0xbe,
+0x35,0x2d,0x50,0x28,0x7e,0x35,0x27,0x9e,0x37,0x0, 0x54,0x12,0x0, 0x2e,0x7e,0xa1,
+0x23,0x74,0x5, 0xa4,0xbd,0x35,0x58,0xc, 0x7e,0xa0,0x2, 0xe5,0x23,0xa4,0xf5,0x23,
+0xd2,0x4, 0x80,0x8, 0x7e,0xb3,0x0, 0x68,0xf5,0x23,0xc2,0x4, 0x30,0x4, 0x30,0xe5,
+0x23,0xa, 0x3b,0xbe,0x35,0x2b,0x28,0x4, 0x6d,0x33,0x80,0x27,0xe5,0x24,0xa, 0x3b,
+0xbe,0x35,0x2b,0x28,0x14,0x7e,0x25,0x2b,0x7e,0x34,0x0, 0x64,0xad,0x23,0xe5,0x24,
+0xa, 0x1b,0x6d,0x0, 0x12,0x4, 0x8, 0x80,0xa, 0x7e,0x34,0x0, 0x64,0x80,0x4, 0x7e,
+0x34,0x0, 0x64,0x7a,0x35,0x2b,0x7e,0xf7,0x0, 0x60,0x7d,0x1f,0x6d,0x0, 0x7e,0x35,
+0x27,0x6d,0x22,0x9f,0x10,0x7e,0x15,0x2b,0x12,0x3, 0xfd,0x12,0x27,0xba,0x7f,0x1,
+0x7d,0x3f,0x6d,0x22,0x2f,0x10,0x7a,0x35,0x29,0x7e,0x35,0x29,0xbd,0x36,0x38,0x7,
+0x7e,0x25,0x27,0xbd,0x26,0x28,0x5, 0x7a,0x65,0x29,0x80,0xb, 0xbe,0x34,0x0, 0x1,
+0x50,0x5, 0x6d,0x33,0x7a,0x35,0x29,0x12,0x17,0xf7,0x50,0x3, 0x12,0x17,0xef,0x7e,
+0x35,0x33,0x12,0x14,0xc0,0x7a,0x37,0x0, 0x7a,0x12,0x14,0xbd,0x7d,0x23,0x7a,0x27,
+0x0, 0x7c,0x7e,0x37,0x0, 0x7a,0x7a,0x35,0x2f,0x7a,0x25,0x31,0x7d,0x27,0x12,0x14,
+0x75,0x7a,0x35,0x33,0x7e,0x35,0x31,0x7d,0x27,0x12,0x14,0x75,0x7a,0x35,0x35,0x7e,
+0x35,0x29,0x7a,0x37,0x0, 0x60,0x7e,0x27,0x0, 0x70,0xbe,0x25,0x2d,0x50,0x3, 0x12,
+0x5a,0xd1,0xda,0x3b,0x22,0x7d,0x12,0x6d,0x0, 0x6d,0x22,0x9f,0x10,0x22,0x7d,0x52,
+0x7d,0x43,0x7d,0x35,0x12,0x17,0x69,0x7f,0x71,0x7d,0x34,0x12,0x17,0x69,0x2f,0x17,
+0x7c,0xb4,0x12,0x1, 0x20,0x12,0x1, 0x9a,0x2, 0x1, 0x5d,0x7e,0x35,0x2f,0x7d,0x27,
+0x12,0x14,0x75,0x7a,0x35,0x33,0x7e,0x35,0x31,0x7d,0x27,0x12,0x14,0x75,0x7d,0x23,
+0x7a,0x25,0x35,0x7e,0x35,0x33,0x12,0x14,0x7e,0x7a,0x35,0x27,0x22,0x7e,0x35,0x35,
+0x7e,0x25,0x29,0x7e,0x15,0x27,0x7d,0x7, 0x7d,0xf0,0x7d,0xe1,0x7d,0x12,0x1a,0x26,
+0x1a,0x24,0x12,0x3, 0xfd,0x7d,0x1e,0x6d,0x0, 0x12,0x4, 0x59,0x7d,0x1f,0x6d,0x0,
+0x2f,0x10,0x22,0x7e,0xa1,0x22,0x74,0x5, 0xa4,0x22,0x7e,0x24,0x0, 0x16,0xe4,0x2,
+0x4, 0xeb,0x7e,0x37,0x0, 0x72,0xbe,0x35,0x2f,0x22,0x7e,0xb3,0x0, 0x90,0x54,0xf0,
+0x44,0x2, 0x7a,0xb3,0x0, 0x90,0x22,0x7e,0x37,0x0, 0x7a,0x7a,0x35,0x2f,0x7e,0x37,
+0x0, 0x7c,0x7a,0x35,0x31,0x7e,0x73,0x6, 0xc7,0xbe,0x70,0x0, 0x22,0xca,0x3b,0x12,
+0x17,0xe0,0x30,0xe1,0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0xc, 0x7e,0xb3,0xd, 0x3f,
+0x70,0x14,0x7e,0xb3,0xd, 0x3c,0x70,0xe, 0x7e,0xb3,0x6, 0x67,0x20,0xe0,0x2, 0xc1,
+0x61,0x20,0xe2,0x2, 0xc1,0x61,0x7c,0xba,0x30,0xe1,0x8, 0x7e,0xb3,0x6, 0x12,0xf5,
+0x28,0x80,0x6, 0x7e,0xb3,0x6, 0x13,0xf5,0x28,0x7c,0xba,0x30,0xe1,0x7, 0x7e,0xb3,
+0x6, 0x67,0x30,0xe2,0x5, 0x75,0x29,0x1, 0x80,0x3, 0x75,0x29,0x2, 0x7e,0xb3,0xd,
+0x3c,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x3c,0x7e,0xb3,0x6, 0x67,0x30,
+0xe5,0xb, 0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x12,0x17,0xd2,
+0x4e,0x70,0x2, 0x1b,0x28,0x30,0x12,0x5a,0x97,0x7e,0x73,0x6, 0xd6,0xa, 0x57,0x12,
+0x17,0x8f,0x12,0x5a,0xb5,0x75,0x25,0x0, 0xc1,0x2d,0x12,0x43,0x6b,0x75,0x26,0x0,
+0x80,0x72,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0x6c,0x77,0x12,0x17,0xa0,0x80,0x4, 0xe4,
+0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x75,0x24,0x0, 0x80,0x50,0x12,0x5a,0xa1,
+0x9, 0x23,0x6, 0x96,0x7a,0x21,0x27,0x7e,0x71,0x25,0x74,0x3, 0xac,0x7b,0xe5,0x26,
+0xa, 0x2b,0x2d,0x23,0x7e,0x34,0x0, 0x58,0xad,0x32,0x7e,0x30,0x4, 0xac,0x23,0x2d,
+0x13,0x59,0x71,0x0, 0xa8,0x59,0x61,0x0, 0xa6,0x7e,0x73,0x6, 0xd6,0xbe,0x70,0x2,
+0x38,0x19,0xa, 0x7, 0x7e,0x54,0x0, 0x3, 0x9d,0x50,0x2e,0x14,0x0, 0xa6,0x12,0x2d,
+0xbb,0x60,0x5, 0x2f,0x11,0x14,0x78,0xfb,0x12,0x17,0xe7,0x5, 0x24,0x12,0x17,0x61,
+0x38,0xab,0x5, 0x26,0xe5,0x28,0xbe,0xb1,0x26,0x38,0x87,0x5, 0x25,0xe5,0x29,0xbe,
+0xb1,0x25,0x28,0x2, 0xa1,0xaa,0x7e,0x37,0x6, 0xa, 0x99,0x34,0x12,0x17,0xd2,0x5e,
+0x70,0xfd,0x1b,0x28,0x30,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0xa, 0x1b,0x3e,0x14,0x12,
+0x37,0x1a,0x12,0x5a,0x97,0x7e,0xb3,0x6, 0xca,0x12,0x17,0x89,0x12,0x5a,0xb5,0xe1,
+0x57,0x7e,0xb3,0x6, 0xc9,0x30,0xe0,0x51,0x7e,0xb3,0x6, 0x67,0x30,0xe5,0x5, 0x12,
+0x17,0x5a,0x50,0x11,0x74,0x2, 0x12,0x17,0xda,0x12,0x43,0x6b,0x12,0x17,0x97,0x80,
+0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0xe4,0x12,0x17,0xda,0x75,0x24,
+0x0, 0x80,0x17,0x12,0x5a,0xa1,0x9, 0xa3,0x6, 0x96,0x7a,0xa1,0x27,0x74,0x4, 0xa4,
+0x59,0x75,0x3, 0x5e,0x59,0x65,0x3, 0x5c,0x5, 0x24,0x12,0x17,0x61,0x38,0xe4,0x7e,
+0xb3,0x6, 0x67,0x30,0xe5,0x3, 0x12,0x17,0x97,0x75,0x24,0x0, 0xe1,0x4a,0xe5,0x24,
+0xa, 0x3b,0x9, 0xb3,0x6, 0x96,0xf5,0x27,0x12,0x17,0xe0,0x30,0xe1,0x19,0x7e,0xb3,
+0x6, 0xca,0xc4,0x23,0x54,0x7, 0xbe,0xb0,0x2, 0x38,0x22,0x12,0x5a,0x76,0x60,0x16,
+0x2f,0x11,0x14,0x78,0xfb,0x80,0xf, 0x12,0x23,0x28,0x38,0x11,0x12,0x5a,0x76,0x60,
+0x5, 0x2f,0x11,0x14,0x78,0xfb,0x59,0x34,0x0, 0x2, 0x1b,0x48,0x20,0x7c,0xba,0x30,
+0xe0,0x46,0x7e,0x31,0x27,0x74,0x2, 0xac,0x3b,0x49,0xf1,0x5, 0x90,0x7d,0x3f,0x1a,
+0x36,0x1a,0xe6,0x7e,0x11,0x27,0x74,0x4, 0xac,0x1b,0x49,0x30,0x3, 0x5e,0x49,0x20,
+0x3, 0x5c,0x7f,0x21,0x9f,0x27,0x59,0x50,0x4, 0x16,0x59,0x40,0x4, 0x14,0x49,0xf1,
+0x5, 0x34,0x7d,0x1f,0x1a,0x12,0x1a,0xe2,0x7e,0x31,0x27,0x74,0x4, 0xac,0x3b,0x2e,
+0x14,0x3, 0x5c,0x9f,0x17,0x12,0x17,0xe7,0x5, 0x24,0x12,0x17,0x61,0x28,0x2, 0xc1,
+0xbe,0x7e,0x37,0x6, 0xc, 0x99,0x34,0xda,0x3b,0x22,0x30,0xa, 0x2, 0xd3,0x22,0xc3,
+0x22,0x7e,0x73,0x6, 0xc8,0xbe,0x71,0x24,0x22,0x1a,0x26,0x1a,0x24,0x7f,0x1, 0x2,
+0x3, 0xec,0x7a,0xb3,0x6, 0xca,0x7e,0x44,0x12,0x0, 0xb, 0x48,0x50,0x5e,0xa0,0x1f,
+0x1b,0x48,0x50,0x7e,0x73,0x6, 0xca,0x7c,0xb7,0xc4,0x23,0x54,0x7, 0xa, 0x5b,0xc4,
+0x23,0x54,0xe0,0x7c,0xab,0xe4,0x22,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0x7e,0x70,0x1,
+0x24,0xff,0x92,0xb, 0xc2,0xc6,0xd2,0xee,0xa9,0xd6,0xf7,0xd2,0xfe,0x4c,0x77,0x68,
+0x15,0xc2,0xaf,0x12,0x17,0xd2,0x4e,0x70,0x1, 0x1b,0x28,0x30,0x7e,0x37,0x6, 0x0,
+0x99,0x34,0xd2,0xaf,0x80,0x9, 0x12,0x17,0xd2,0x4e,0x70,0x1, 0x1b,0x28,0x30,0xc2,
+0xa, 0x22,0x7e,0x24,0x12,0x0, 0xb, 0x28,0x30,0x22,0x7e,0x37,0x6, 0x2, 0x89,0x34,
+0x7e,0xa3,0x6, 0xd7,0x7c,0xba,0x22,0x59,0x31,0x0, 0x2, 0x1b,0x18,0x20,0x22,0x7e,
+0x34,0x0, 0x1, 0x7a,0x35,0x27,0x22,0x7e,0x35,0x27,0xbe,0x34,0x0, 0x1, 0x22,0xca,
+0xf8,0x7e,0xa3,0x6, 0xd7,0x7c,0xfa,0x5e,0xf0,0x1, 0x7c,0xba,0x12,0x1f,0xea,0x12,
+0x15,0x1d,0x6c,0xaa,0x80,0x3b,0x7e,0xb3,0x6, 0x4d,0x60,0xb, 0xb4,0x2, 0x30,0xa,
+0x3a,0x9, 0xb3,0xa, 0xbb,0x60,0x28,0x7e,0x90,0x4, 0xac,0x9a,0x49,0x34,0x3, 0x5e,
+0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0x5, 0x34,0x59,0x32,0x5, 0x90,0x9f,0x11,0x59,
+0x34,0x3, 0x5e,0x59,0x24,0x3, 0x5c,0x59,0x34,0x4, 0x16,0x59,0x24,0x4, 0x14,0xb,
+0xa0,0x12,0x18,0x6b,0x38,0xc0,0x7c,0x6f,0x5e,0x60,0x1, 0x7e,0x73,0x6, 0xd7,0x5e,
+0x70,0xfe,0x4c,0x76,0x7a,0x73,0x6, 0xd7,0xda,0xf8,0x22,0x7e,0xb3,0x6, 0xc8,0xbc,
+0xba,0x22,0x6c,0xaa,0x80,0x9, 0x12,0x19,0xf, 0x70,0x2, 0x21,0xe, 0xb, 0xa0,0x12,
+0x18,0x6b,0x38,0xf2,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x2, 0x21,0xe, 0x6c,0xaa,0x80,
+0x78,0x12,0x19,0xf, 0xb4,0x1, 0x70,0x7e,0xb3,0x6, 0xc6,0xbc,0xba,0x28,0x21,0x12,
+0x22,0x8a,0x7e,0xb3,0x6, 0x45,0x12,0x5b,0x6a,0x8, 0x6, 0x7e,0xb3,0x6, 0x43,0x80,
+0x1f,0x6d,0x33,0x9d,0x34,0x12,0x19,0x1e,0x58,0x4d,0x7e,0xb3,0x6, 0x44,0x80,0x34,
+0x12,0x22,0x8a,0x7e,0xb3,0x6, 0x48,0x12,0x5b,0x6a,0x8, 0x1b,0x7e,0xb3,0x6, 0x46,
+0xa, 0xeb,0x7e,0x50,0x2, 0xac,0x5a,0x7d,0xf2,0x2e,0xf4,0x5, 0x34,0xb, 0xf8,0x20,
+0x2d,0x2e,0x1b,0xf8,0x20,0x80,0x20,0x6d,0x33,0x9d,0x34,0x12,0x19,0x1e,0x58,0x17,
+0x7e,0xb3,0x6, 0x47,0xa, 0x4b,0x7e,0x50,0x2, 0xac,0x5a,0x2e,0x24,0x5, 0x34,0xb,
+0x28,0x30,0x9d,0x34,0x1b,0x28,0x30,0xb, 0xa0,0x12,0x18,0x6b,0x38,0x83,0x22,0x7e,
+0x34,0x6, 0x15,0x7c,0xba,0x2, 0x1a,0x54,0x6e,0x34,0xff,0xff,0xb, 0x34,0x1a,0x26,
+0x1a,0x24,0xbf,0x1, 0x22,0xca,0x3b,0x6c,0xee,0x6d,0x66,0x7e,0xb3,0x6, 0x67,0x30,
+0xe1,0x2, 0x41,0x33,0x6c,0xff,0x21,0xe9,0x12,0x1a,0x4e,0xb4,0x1, 0x2, 0x80,0x2,
+0x21,0xe7,0x7e,0x73,0x6, 0xc6,0xbc,0x7f,0x28,0x59,0xb, 0xe0,0x7e,0x50,0x4, 0xac,
+0x5f,0x49,0xd2,0x3, 0x5e,0x49,0xc2,0x3, 0x5c,0x7e,0x73,0x6, 0x45,0xa, 0x37,0x7d,
+0x53,0x1a,0x4a,0x1a,0x48,0xbf,0x62,0x8, 0xb, 0x12,0x1a,0x36,0xbf,0x2, 0x8, 0x4,
+0xb, 0x64,0x80,0x17,0x6d,0xff,0x9d,0xf3,0x7d,0x1f,0x1a,0x12,0x1a,0xe2,0xbf,0x67,
+0x58,0x9, 0x12,0x1a,0x36,0xbf,0x7, 0x58,0x2, 0x1b,0x64,0x12,0x1a,0x36,0xbf,0x2,
+0x8, 0x6, 0x7e,0xb3,0x6, 0x43,0x80,0x29,0x12,0x19,0x18,0x58,0x4a,0x7e,0x73,0x6,
+0x44,0x80,0x3c,0x7e,0x50,0x4, 0xac,0x5f,0x12,0x1a,0x36,0x7e,0x73,0x6, 0x48,0xa,
+0x37,0x7d,0x53,0x7d,0xf3,0x1a,0x5a,0x1a,0xea,0xbf,0x7, 0x8, 0x19,0x7e,0xb3,0x6,
+0x46,0xa, 0xfb,0x7e,0x90,0x2, 0xac,0x9f,0x2e,0x44,0x5, 0x90,0xb, 0x48,0x50,0x2d,
+0x5f,0x1b,0x48,0x50,0x80,0x11,0x12,0x19,0x18,0x58,0xc, 0x7e,0x73,0x6, 0x47,0x12,
+0x1a,0x3f,0x9d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,0x6a,0x28,0x2, 0x21,0x38,
+0xbe,0xe0,0x0, 0x28,0x3e,0x7d,0x36,0x12,0x0, 0x2e,0xa, 0x2e,0xbd,0x32,0x78,0x33,
+0x6c,0xff,0x80,0x2a,0x12,0x1a,0x4e,0x70,0x23,0xbe,0x64,0x0, 0x0, 0x8, 0xb, 0x7e,
+0x73,0x6, 0x43,0x12,0x1a,0x3f,0x2d,0x31,0x80,0xf, 0xbe,0x64,0x0, 0x0, 0x58,0xc,
+0x7e,0x73,0x6, 0x44,0x12,0x1a,0x3f,0x9d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,
+0x6a,0x38,0xd1,0xda,0x3b,0x22,0x49,0x12,0x4, 0x16,0x49,0x2, 0x4, 0x14,0x22,0xa,
+0x17,0x7e,0x50,0x2, 0xac,0x5f,0x2e,0x24,0x5, 0x90,0xb, 0x28,0x30,0x22,0x7e,0x34,
+0x6, 0x15,0x7c,0xbf,0x7d,0x23,0x4d,0x22,0x68,0x5, 0xbe,0xb0,0x2e,0x40,0x3, 0x74,
+0x1, 0x22,0xa, 0x3b,0x2d,0x32,0x7e,0x39,0xb0,0x22,0x7e,0x73,0x6, 0xc8,0xbc,0x7f,
+0x22,0xca,0x3b,0x75,0x23,0x0, 0x7e,0xb3,0x6, 0xd7,0x54,0xfd,0x7a,0xb3,0x6, 0xd7,
+0x7e,0x67,0x6, 0xd8,0x7e,0xb3,0x6, 0x67,0x30,0xe5,0x11,0x80,0x4, 0xe4,0x12,0xf,
+0xcd,0x12,0x17,0x5a,0x50,0xf7,0x75,0x23,0x1, 0x12,0x41,0x1d,0x12,0x5a,0x93,0x7e,
+0x73,0x6, 0xd6,0xa, 0x57,0x12,0x17,0x8f,0x12,0x5a,0xb5,0x6c,0xff,0x6d,0x33,0x80,
+0xa, 0x74,0x2, 0xac,0xbf,0x59,0x35,0x9, 0xfd,0xb, 0xf0,0x7e,0x53,0x6, 0xc8,0xbc,
+0x5f,0x38,0xee,0x6c,0xee,0x61,0x68,0x6c,0xff,0x80,0x15,0x7e,0xb3,0x6, 0x4d,0x60,
+0x5, 0x12,0x1b,0xd2,0x60,0x8, 0x6d,0x22,0x12,0x1b,0xca,0x1b,0x38,0x20,0xb, 0xf0,
+0x12,0x1a,0x6a,0x38,0xe6,0x75,0x22,0x0, 0x6d,0x33,0x7e,0xa1,0x22,0x74,0x2, 0xa4,
+0x59,0x35,0xb, 0xc3,0x5, 0x22,0xe5,0x22,0xb4,0x2e,0xed,0x6c,0xff,0x80,0x17,0xa,
+0x2f,0x7e,0x34,0x0, 0x9, 0x9d,0x32,0x7a,0x73,0xc, 0x1f,0x12,0x50,0xe2,0x12,0x41,
+0x28,0x12,0x50,0x71,0xb, 0xf0,0x7e,0x73,0x6, 0x14,0xbc,0x7f,0x38,0xe1,0x6c,0xff,
+0x80,0x3f,0x7e,0x50,0x2, 0xac,0x5f,0x49,0x12,0x9, 0xfd,0x12,0x1b,0xca,0xb, 0x38,
+0x30,0xbd,0x13,0x50,0x2a,0x59,0x32,0x9, 0xfd,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,
+0x1b,0xd2,0x60,0x1b,0x12,0x1f,0xdd,0x74,0x2, 0xac,0xbf,0x59,0x35,0x5, 0x34,0x74,
+0x2, 0xac,0xbf,0x49,0x35,0x5, 0x34,0x74,0x2, 0xac,0xbf,0x59,0x35,0x5, 0x90,0xb,
+0xf0,0x12,0x1a,0x6a,0x38,0xbc,0xb, 0xe0,0x7e,0x73,0x6, 0x11,0xbc,0x7e,0x28,0x2,
+0x41,0xc7,0x6c,0xff,0x80,0x1b,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x1b,0xd2,0x60,
+0xe, 0x74,0x2, 0xac,0xbf,0x49,0x25,0x9, 0xfd,0x12,0x1b,0xca,0x1b,0x38,0x20,0xb,
+0xf0,0x12,0x1a,0x6a,0x38,0xe0,0x74,0x3, 0x12,0x17,0xda,0x12,0x1f,0xa8,0x12,0x1f,
+0xf9,0xe5,0x23,0x60,0x15,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,
+0x7e,0xb3,0x6, 0x67,0x44,0x20,0x7a,0xb3,0x6, 0x67,0x12,0x5a,0x93,0x7e,0xb3,0x6,
+0xca,0x12,0x17,0x89,0x12,0x5a,0xb5,0xda,0x3b,0x22,0x7e,0x70,0x2, 0xac,0x7f,0x2d,
+0x36,0x22,0xa, 0x3f,0x2e,0x37,0x6, 0x4e,0x7e,0x39,0xb0,0x22,0xca,0x79,0x12,0x1f,
+0xe6,0x6d,0x33,0x6c,0xee,0x80,0xa, 0x74,0x2, 0xac,0xbe,0x59,0x35,0x9, 0xfd,0xb,
+0xe0,0x7e,0x53,0x6, 0xc8,0xbc,0x5e,0x38,0xee,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0x3f,
+0x6c,0xee,0x80,0x31,0x12,0x41,0x28,0x6c,0xff,0x80,0x23,0x7e,0x50,0x2, 0xac,0x5f,
+0x49,0xf2,0x9, 0xfd,0x6d,0xee,0x74,0x4, 0xac,0xbf,0x49,0x15,0x3, 0x5e,0x49,0x5,
+0x3, 0x5c,0xbf,0x7, 0x8, 0x6, 0x7d,0x31,0x59,0x32,0x9, 0xfd,0xb, 0xf0,0x12,0x1a,
+0x6a,0x38,0xd8,0xb, 0xe0,0x7e,0x73,0x6, 0x10,0xbc,0x7e,0x38,0xc7,0x80,0x39,0x7e,
+0xe0,0x1, 0x12,0x15,0x1d,0x6c,0xff,0x80,0x23,0x12,0x1f,0xdd,0x49,0x25,0x3, 0x5c,
+0x7e,0x8, 0x0, 0x4, 0x12,0x4, 0x59,0x7d,0x13,0x7e,0x50,0x2, 0xac,0x5f,0x2e,0x24,
+0x9, 0xfd,0xb, 0x28,0x30,0x2d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,0x6a,0x38,
+0xd8,0xb, 0xe0,0xbe,0xe0,0x4, 0x28,0xca,0x6c,0xee,0x80,0x3b,0x7e,0xa3,0x6, 0x4d,
+0x4c,0xaa,0x68,0x19,0xbe,0xa0,0x1, 0x78,0x7, 0xa, 0x3e,0x12,0x1b,0xd4,0x70,0xd,
+0xbe,0xa0,0x3, 0x78,0x20,0xa, 0x3e,0x9, 0xb3,0xa, 0x8d,0x60,0x18,0x74,0x2, 0xac,
+0xbe,0x49,0x35,0x9, 0xfd,0x59,0x35,0x5, 0x34,0x74,0x2, 0xac,0xbe,0x49,0x35,0x9,
+0xfd,0x59,0x35,0x5, 0x90,0xb, 0xe0,0x7e,0x73,0x6, 0xc8,0xbc,0x7e,0x38,0xbd,0xda,
+0x79,0x22,0x12,0x1e,0xf3,0x12,0x3e,0x5e,0x2, 0x1b,0xdc,0x7e,0x34,0x0, 0x24,0x12,
+0x4f,0x6, 0xbe,0xb0,0x1, 0x68,0x8, 0x80,0xfe,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,
+0x17,0x5a,0x50,0xf7,0xa9,0xc3,0xea,0x6d,0x11,0x7e,0x44,0x12,0x0, 0x1b,0x48,0x10,
+0x7e,0x53,0x6, 0xc9,0x7c,0xb5,0x54,0x1, 0xa, 0x5b,0x12,0x1e,0xda,0x7c,0x75,0x1e,
+0x70,0x5e,0x70,0x3, 0xa, 0x57,0x3e,0x54,0x3e,0x54,0x3e,0x54,0x12,0x1e,0xd6,0x7e,
+0x63,0x6, 0xca,0x7c,0xb6,0x54,0x1, 0x12,0x1f,0xf1,0x12,0x1e,0xda,0x7c,0xb6,0x1e,
+0xb0,0x54,0x3, 0x12,0x1f,0xf1,0x12,0x1e,0xd6,0x7c,0xb6,0x12,0x17,0x89,0x12,0x1e,
+0xdc,0x7e,0x54,0x13,0x14,0xb, 0x58,0x0, 0x6c,0x0, 0x12,0x1e,0xcf,0x5e,0x10,0xbf,
+0x12,0x1e,0xcf,0x4e,0x10,0x40,0x12,0x1e,0xcf,0x5e,0x10,0xcf,0x12,0x1e,0xcf,0x4e,
+0x10,0x10,0x12,0x1e,0xcf,0x5e,0x10,0xfc,0x12,0x1e,0xcf,0xa5,0xbf,0x0, 0x5, 0x4e,
+0x10,0x1, 0x80,0x3, 0x4e,0x10,0x3, 0x1b,0x58,0x0, 0x7e,0x44,0x12,0x2, 0x1b,0x48,
+0x10,0x7e,0x43,0x6, 0xc8,0xa, 0x54,0x7c,0xab,0xe4,0x12,0x1e,0xdc,0x7e,0xa3,0x6,
+0xcb,0x7c,0xba,0x23,0x54,0x1, 0xa, 0xfb,0xb, 0x48,0x0, 0x4d,0xf, 0x1b,0x48,0x0,
+0x7c,0xba,0x30,0xe6,0xe, 0x7c,0xb5,0x30,0xe0,0x9, 0xb, 0x48,0x20,0x4e,0x50,0x8,
+0x1b,0x48,0x20,0x7c,0xb6,0x30,0xe6,0x12,0xb, 0x48,0x0, 0x4e,0x10,0x20,0x1b,0x48,
+0x0, 0xb, 0x48,0x0, 0x4e,0x10,0x10,0x1b,0x48,0x0, 0x7e,0x24,0x12,0x4, 0xb, 0x28,
+0x0, 0x5e,0x0, 0x7f,0x1b,0x28,0x0, 0xb, 0x28,0x0, 0x4e,0x0, 0x80,0x1b,0x28,0x0,
+0x7e,0x24,0x13,0x1e,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xce,0x12,0x1e,0xc2,0x7e,0x63,
+0x6, 0xd1,0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x24,0x12,0x8, 0x1b,0x28,0x10,0x7e,0x63,
+0x6, 0xcc,0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x63,0x6, 0xcd,0x12,0x1e,0xc2,0x7e,0x24,
+0x13,0x20,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xcf,0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x63,
+0x6, 0xd0,0x12,0x1e,0xc2,0x7e,0x24,0x13,0x22,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xd2,
+0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x63,0x6, 0xd3,0x12,0x1e,0xc2,0x7e,0x4, 0x12,0xa,
+0x1b,0x8, 0x10,0xa5,0xbf,0x0, 0x8, 0xb, 0x8, 0x10,0x4e,0x20,0x1, 0x80,0x1b,0xa5,
+0xbf,0x1, 0x8, 0xb, 0x8, 0x10,0x4e,0x20,0x11,0x80,0xf, 0xb, 0x8, 0x10,0xa5,0xbf,
+0x2, 0x5, 0x4e,0x20,0x33,0x80,0x3, 0x4e,0x20,0xff,0x1b,0x8, 0x10,0x7c,0xba,0x1e,
+0xb0,0x54,0x3, 0xa, 0x3b,0xb, 0x8, 0x10,0x4d,0x13,0x1b,0x8, 0x10,0x12,0x4f,0x29,
+0xb, 0x8, 0x10,0x5e,0x30,0xfb,0x1b,0x8, 0x10,0xb, 0x8, 0x30,0x4e,0x70,0x4, 0x1b,
+0x8, 0x30,0x7e,0x73,0x6, 0xd4,0xa, 0x27,0x7e,0x34,0x13,0x10,0x1b,0x38,0x20,0x12,
+0x4f,0x92,0x7e,0xb3,0x6, 0xca,0x1e,0xb0,0x54,0x3, 0xbe,0xb0,0x1, 0x68,0x3, 0xb4,
+0x2, 0xb, 0x7e,0x27,0x6, 0xc4,0x7e,0x34,0x13,0x12,0x1b,0x38,0x20,0x74,0x2, 0x7a,
+0xb3,0x6, 0xda,0xd2,0x8e,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x7e,0xb3,0x6, 0xda,0x70,
+0xf6,0x22,0x7c,0x86,0x6c,0x99,0xb, 0x28,0x0, 0x4d,0x4, 0x1b,0x28,0x0, 0x22,0x1b,
+0x58,0x0, 0xb, 0x58,0x0, 0x22,0x3e,0x54,0x3e,0x54,0x3e,0x54,0xb, 0x48,0x0, 0x4d,
+0x5, 0x1b,0x48,0x0, 0x22,0x7e,0xb3,0x3, 0x34,0x12,0x43,0xb3,0x7e,0xb3,0x3, 0x34,
+0x12,0x3f,0xc9,0x12,0x1c,0xcb,0x7e,0xb3,0x3, 0x34,0x54,0x7f,0x7a,0xb3,0x3, 0x34,
+0x12,0x1a,0x71,0x7e,0xb3,0x3, 0x34,0x44,0x80,0x7a,0xb3,0x3, 0x34,0x22,0xca,0xf8,
+0x12,0x49,0xe0,0x7e,0x34,0x2, 0xd4,0x7a,0x37,0x6, 0xd8,0x12,0x31,0x3a,0x12,0x1e,
+0xe5,0x75,0x39,0x3, 0x75,0x37,0x40,0x12,0x49,0xe0,0xe5,0x39,0xb4,0x3, 0x40,0xe5,
+0x3f,0x60,0xf4,0x12,0x1f,0xf9,0x12,0x1f,0xea,0x12,0x1f,0x78,0x12,0x15,0x1d,0x6c,
+0xff,0x80,0xd, 0x12,0x1f,0xdd,0x74,0x2, 0xac,0xbf,0x59,0x35,0xc, 0x20,0xb, 0xf0,
+0x12,0x1a,0x6a,0x38,0xee,0x75,0x3f,0x0, 0x7e,0xb3,0xc, 0xd6,0x54,0x7f,0x7a,0xb3,
+0xc, 0xd6,0xe5,0xa, 0x20,0xe0,0xc0,0x74,0x1, 0x7a,0xb3,0x3, 0x42,0x80,0xb8,0xe5,
+0x39,0x7a,0xb3,0xb, 0x9f,0xda,0xf8,0x22,0xe5,0xa, 0x30,0xe0,0x8, 0x12,0x1e,0xe5,
+0x53,0xa, 0xfc,0x80,0xb, 0xe5,0xa, 0x30,0xe1,0x6, 0x12,0x1f,0xa8,0x53,0xa, 0xfd,
+0xe5,0xa, 0x30,0xe2,0x12,0x53,0xca,0xf1,0x7e,0x73,0x3, 0x41,0xa, 0x37,0x3e,0x34,
+0x7c,0xb7,0x42,0xca,0x53,0xa, 0xfb,0x22,0x12,0x50,0xdb,0x80,0x2a,0xa, 0x2a,0x9,
+0x32,0x6, 0x96,0x7e,0x50,0x2, 0xac,0x53,0x2d,0x23,0xb, 0x28,0x20,0x7e,0xb3,0x6,
+0x4d,0x60,0x7, 0xa, 0x13,0x12,0x51,0x36,0x60,0xb, 0xa, 0x1a,0x3e,0x14,0x2e,0x14,
+0x12,0x14,0x1b,0x18,0x20,0xb, 0xa0,0x12,0x18,0x6b,0x38,0xd1,0x22,0x74,0x4, 0xac,
+0xbf,0x49,0x35,0x3, 0x5e,0x22,0x7e,0xb3,0x6, 0xd7,0x54,0xfe,0x7a,0xb3,0x6, 0xd7,
+0x22,0xa, 0xb, 0x7d,0x50,0x7c,0xab,0xe4,0x22,0x7e,0xb3,0x6, 0xd7,0x44,0x2, 0x7a,
+0xb3,0x6, 0xd7,0x22,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0x34,0x6c,0xaa,0x80,0x28,0xa,
+0x3a,0x9, 0x73,0x6, 0x96,0x7e,0xb3,0x6, 0xd7,0x30,0xe0,0x19,0x7e,0x50,0x4, 0xac,
+0x57,0x49,0xf2,0x3, 0x5e,0x49,0xe2,0x3, 0x5c,0x7e,0x17,0x5, 0xee,0x12,0x7, 0x7d,
+0x58,0x3, 0x12,0x20,0x4a,0xb, 0xa0,0x7e,0x63,0x6, 0xc8,0xbc,0x6a,0x38,0xd0,0x22,
+0x7e,0x11,0x22,0x2e,0x10,0x41,0x74,0x1, 0xa5,0xf7,0x74,0x3c,0x7a,0xb3,0xd, 0x3c,
+0x22,0xca,0x3b,0x7e,0x38,0x75,0x30,0x75,0x28,0x0, 0x7e,0x34,0xc, 0xf8,0x7e,0x24,
+0x0, 0x18,0xe4,0x12,0x4, 0xeb,0x7e,0x34,0x0, 0x41,0x7e,0x24,0x0, 0x6, 0xe4,0x12,
+0x4, 0xeb,0x7e,0xb3,0x6, 0xd7,0x30,0xe1,0x7, 0x7e,0xb3,0x6, 0x67,0x30,0xe2,0x5,
+0x75,0x27,0x1, 0x80,0x3, 0x75,0x27,0x2, 0x75,0x22,0x1, 0x21,0x75,0x9f,0x11,0x7a,
+0x1f,0x9, 0xfd,0x75,0x23,0x0, 0x21,0x2c,0x12,0x22,0x59,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe1,0x42,0x30,0xe0,0x3f,0x7e,0x11,0x24,0x74,0x4, 0xac,0x1b,0x12,0x22,0x78,0x7e,
+0xa1,0x24,0x12,0x22,0x6c,0x7a,0x1f,0xa, 0x5, 0xbe,0x1c,0xfc,0xe0,0x58,0x5, 0x12,
+0x20,0x40,0x80,0x6f,0x7e,0x73,0x6, 0xc6,0xbe,0x71,0x24,0x28,0x17,0x7e,0xf, 0xa,
+0x5, 0x7e,0x1f,0x9, 0xfd,0xbf,0x10,0x58,0xb, 0x7e,0x1f,0xa, 0x5, 0x7a,0x1f,0x9,
+0xfd,0x85,0x24,0x25,0x7e,0x91,0x24,0x74,0x4, 0xac,0x9b,0x7e,0xa1,0x22,0x74,0x58,
+0xa4,0x2d,0x54,0x49,0x15,0x0, 0x50,0x49,0x5, 0x0, 0x4e,0x49,0x35,0x0, 0xa8,0x49,
+0x25,0x0, 0xa6,0x9f,0x10,0x12,0x4, 0xdb,0x7a,0x1f,0xa, 0x1, 0x7e,0xa1,0x22,0x74,
+0x4, 0xa4,0x49,0x15,0xc, 0xfa,0x49,0x5, 0xc, 0xf8,0xbf,0x10,0x8, 0xc, 0x7e,0x1f,
+0xa, 0x1, 0x59,0x35,0xc, 0xfa,0x59,0x25,0xc, 0xf8,0x5, 0x23,0x12,0x22,0x64,0x28,
+0x2, 0x1, 0x98,0x7e,0x7f,0x9, 0xfd,0xbe,0x78,0x2, 0x58,0x8, 0x36,0x7e,0x73,0x6,
+0xc6,0xbe,0x71,0x25,0x28,0x2d,0xe5,0x25,0xa, 0x3b,0x2e,0x34,0x0, 0xb, 0x7e,0x24,
+0x0, 0x16,0x12,0x3, 0xba,0x7c,0xa5,0x7a,0xa1,0x26,0x7e,0x10,0x4, 0xac,0x1a,0x12,
+0x22,0x78,0x12,0x22,0x6c,0x7e,0x14,0x0, 0x5, 0x12,0x3, 0xfd,0xbf,0x71,0x8, 0x3,
+0x12,0x20,0x40,0x5, 0x22,0x7e,0x31,0x27,0x74,0x3, 0xac,0x3b,0xe5,0x22,0xa, 0xb,
+0xbd,0x1, 0x58,0x2, 0x1, 0x8d,0x75,0x22,0x1, 0x80,0x23,0x7e,0x11,0x22,0x2e,0x10,
+0x41,0xa5,0xe7,0x70,0x17,0x7e,0xa1,0x22,0x74,0x4, 0xa4,0x49,0x35,0xc, 0xfa,0x49,
+0x25,0xc, 0xf8,0xbf,0x13,0x58,0x5, 0x7f,0x31,0x85,0x22,0x28,0x5, 0x22,0xe5,0x22,
+0xa, 0xb, 0xbd,0x1, 0x48,0xd5,0x7e,0x51,0x28,0x74,0x58,0xac,0x5b,0x2e,0x24,0x0,
+0xa6,0x7e,0x34,0x3, 0x5c,0x7e,0x14,0x0, 0x58,0x12,0x4, 0xae,0x7e,0xb3,0x6, 0xd7,
+0x30,0xe1,0x4c,0x75,0x23,0x0, 0x80,0x42,0x12,0x22,0x59,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe0,0x36,0x7e,0x11,0x24,0x74,0x2, 0xac,0x1b,0x49,0xf0,0x5, 0x90,0x7d,0x3f,0x1a,
+0x36,0x1a,0xe6,0x7e,0x31,0x24,0x74,0x4, 0xac,0x3b,0x12,0x23,0x35,0x7f,0x21,0x9f,
+0x27,0x59,0x51,0x4, 0x16,0x59,0x41,0x4, 0x14,0x49,0x50,0x5, 0x34,0x6d,0x44,0x2e,
+0x14,0x3, 0x5c,0x9f,0x12,0x12,0x17,0xe7,0x5, 0x23,0x12,0x22,0x64,0x38,0xb9,0x12,
+0x17,0xe0,0x30,0xe1,0x31,0x75,0x23,0x0, 0x80,0x23,0x12,0x22,0x59,0x7c,0xba,0x30,
+0xe0,0x19,0x7e,0x71,0x24,0x74,0x4, 0xac,0x7b,0x12,0x22,0x8f,0x7e,0x37,0x5, 0xee,
+0x1a,0x26,0x1a,0x24,0xbf,0x10,0x8, 0x3, 0x12,0x20,0x4a,0x5, 0x23,0x7e,0xb3,0x6,
+0xc8,0xbe,0xb1,0x23,0x38,0xd4,0xda,0x3b,0x22,0xe5,0x23,0xa, 0x3b,0x9, 0xb3,0x6,
+0x96,0xf5,0x24,0x22,0x7e,0x73,0x6, 0xc8,0xbe,0x71,0x23,0x22,0x74,0x2, 0xa4,0x49,
+0x15,0x5, 0x34,0x6d,0x0, 0x9f,0x10,0x22,0x7e,0x31,0x22,0x74,0x58,0xac,0x3b,0x2d,
+0x10,0x49,0x31,0x0, 0xa8,0x49,0x21,0x0, 0xa6,0x22,0x7e,0x70,0x4, 0xac,0x7a,0x49,
+0x13,0x3, 0x5e,0x49,0x3, 0x3, 0x5c,0x22,0x7c,0xab,0x6c,0x22,0x6c,0x11,0x7c,0x1,
+0x2e,0x0, 0x47,0xa5,0xe6,0xbc,0xb3,0x78,0x5, 0x7e,0x20,0x1, 0x80,0x7, 0xb, 0x10,
+0xbe,0x10,0x1, 0x40,0xe9,0x12,0x23,0x28,0x38,0x11,0xa, 0x4b,0x7e,0x4, 0x0, 0x3,
+0x9d,0x4, 0x7c,0xb1,0x60,0x5, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe0,0x24,0x7e,0x10,0x2, 0xac,0x13,0x49,0xf0,0x5, 0x34,0x7d,0xf, 0x1a,0x0, 0x1a,
+0xe0,0x7f,0x61,0x9f,0x67,0x7e,0xf7,0x5, 0xee,0x7d,0xf, 0x1a,0x0, 0x1a,0xe0,0xbf,
+0x76,0x8, 0x3, 0x12,0x20,0x4a,0x4c,0xaa,0x78,0x6, 0x74,0x4, 0xac,0xb3,0x80,0x10,
+0x4c,0x22,0x68,0x7, 0x12,0x23,0x19,0x8, 0xf, 0x80,0x5, 0x12,0x23,0x19,0x58,0x8,
+0x59,0x35,0x3, 0x5e,0x59,0x25,0x3, 0x5c,0x22,0x74,0x4, 0xac,0xb3,0x49,0xf5,0x3,
+0x5e,0x49,0xe5,0x3, 0x5c,0xbf,0x17,0x22,0x7e,0xb3,0x6, 0xd6,0xbe,0xb0,0x2, 0x22,
+0x7e,0x30,0x4, 0xac,0x3a,0x49,0x31,0x3, 0x5e,0x49,0x21,0x3, 0x5c,0x22,0x6c,0xaa,
+0xa, 0x3a,0x12,0x2c,0xf6,0x7c,0x3b,0xbe,0x30,0x16,0x50,0x9, 0x74,0x4, 0xac,0x3b,
+0x12,0x23,0x35,0x80,0x2, 0x9f,0x11,0x7e,0x30,0x4, 0xac,0x3a,0x59,0x31,0x9, 0x6f,
+0x59,0x21,0x9, 0x6d,0xb, 0xa0,0xbe,0xa0,0x24,0x40,0xd5,0x7e,0x1f,0x9, 0x85,0x7a,
+0x1d,0x2a,0x75,0x2f,0x0, 0x7e,0x34,0x9, 0x85,0x7a,0x35,0x30,0x7e,0x34,0x9, 0x9d,
+0x7a,0x35,0x32,0x7e,0x1f,0x9, 0x89,0x7e,0xf, 0x9, 0xa1,0xe4,0x12,0x24,0x39,0x7e,
+0x1f,0x9, 0x99,0x7a,0x1d,0x2a,0x75,0x2f,0x1, 0x7e,0x34,0x9, 0x99,0x7a,0x35,0x30,
+0x7e,0x34,0x9, 0xb1,0x7a,0x35,0x32,0x7e,0x1f,0x9, 0x95,0x7e,0xf, 0x9, 0xad,0xe4,
+0x12,0x24,0x39,0x7e,0x1f,0x9, 0xb5,0x7a,0x1d,0x2a,0x75,0x2f,0x0, 0x7e,0x34,0x9,
+0xb5,0x7a,0x35,0x30,0x7e,0x34,0x9, 0xcd,0x7a,0x35,0x32,0x7e,0x1f,0x9, 0xb9,0x7e,
+0xf, 0x9, 0xd1,0x74,0x1, 0x12,0x24,0x39,0x7e,0x1f,0x9, 0xc9,0x7a,0x1d,0x2a,0x75,
+0x2f,0x1, 0x7e,0x34,0x9, 0xc9,0x7a,0x35,0x30,0x7e,0x34,0x9, 0xe1,0x7a,0x35,0x32,
+0x7e,0x1f,0x9, 0xc5,0x7e,0xf, 0x9, 0xdd,0x74,0x1, 0x12,0x24,0x39,0xe4,0x12,0x24,
+0xb5,0x74,0x1, 0x12,0x24,0xb5,0x7e,0x34,0x9, 0x89,0x12,0x27,0xa2,0x7e,0x34,0x9,
+0xd1,0x12,0x27,0xa2,0x7e,0x34,0x9, 0x95,0x12,0x24,0x22,0x7e,0x34,0x9, 0xdd,0x2,
+0x24,0x22,0x12,0x27,0xd1,0xe5,0x14,0xa, 0x1b,0x6d,0x0, 0x12,0x27,0xb7,0x2, 0x24,
+0x31,0x59,0x3f,0x0, 0x2, 0x1b,0xf8,0x20,0x22,0xca,0x3b,0xf5,0x2e,0x7a,0xd, 0x26,
+0x7a,0x1d,0x22,0x7e,0x7d,0x2a,0xbe,0x78,0x0, 0x32,0x8, 0x56,0xe5,0x2f,0x70,0x4,
+0xe5,0x15,0x80,0x2, 0xe5,0x10,0x12,0x27,0xb1,0x7a,0x1d,0x2a,0x7e,0x1d,0x26,0x12,
+0x26,0x4, 0x7f,0x31,0x7e,0x1d,0x22,0x12,0x26,0x4, 0x2f,0x31,0x78,0x1a,0xe5,0x2e,
+0x60,0xb, 0x12,0x5b,0x23,0x12,0x24,0xa5,0x12,0x27,0x90,0x80,0x1a,0x12,0x27,0x90,
+0x12,0x24,0xa5,0x12,0x5b,0x23,0x80,0xf, 0x7e,0x1d,0x22,0x12,0x27,0x84,0x12,0x24,
+0xa5,0x7e,0x1d,0x26,0x12,0x27,0x84,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x32,0x12,
+0x24,0xad,0xda,0x3b,0x22,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x30,0x59,0x13,0x0,
+0x2, 0x1b,0x38,0x0, 0x22,0xca,0x3b,0x70,0x48,0x7e,0x1f,0x9, 0x89,0x7a,0x1f,0x9,
+0xfd,0x7e,0x1f,0x9, 0x8d,0x7a,0x1f,0xa, 0x1, 0x7e,0x1f,0x9, 0x91,0x7a,0x1f,0xa,
+0x5, 0x7e,0x1f,0x9, 0x95,0x7a,0x1f,0xa, 0x9, 0x7e,0x34,0x9, 0x71,0x7a,0x35,0x22,
+0x7e,0x34,0x9, 0x75,0x7a,0x35,0x24,0x7e,0x34,0x9, 0x79,0x7a,0x35,0x26,0x7e,0x34,
+0x9, 0x7d,0x7a,0x35,0x28,0xe5,0x8, 0xa, 0x1b,0x6d,0x0, 0x7e,0x1f,0x9, 0x71,0x80,
+0x46,0x7e,0x1f,0x9, 0xd1,0x7a,0x1f,0x9, 0xfd,0x7e,0x1f,0x9, 0xd5,0x7a,0x1f,0xa,
+0x1, 0x7e,0x1f,0x9, 0xd9,0x7a,0x1f,0xa, 0x5, 0x7e,0x1f,0x9, 0xdd,0x7a,0x1f,0xa,
+0x9, 0x7e,0x34,0x9, 0xe9,0x7a,0x35,0x22,0x7e,0x34,0x9, 0xed,0x7a,0x35,0x24,0x7e,
+0x34,0x9, 0xf1,0x7a,0x35,0x26,0x7e,0x34,0x9, 0xf5,0x7a,0x35,0x28,0xe5,0xf, 0xa,
+0x1b,0x6d,0x0, 0x7e,0x1f,0x9, 0xe9,0x12,0x27,0xb7,0x7f,0x31,0xbe,0x38,0x0, 0x32,
+0x18,0x2, 0xc1,0x1, 0x7e,0x1f,0x9, 0xfd,0x12,0x26,0x4, 0x7a,0x1f,0x9, 0xfd,0x7e,
+0x1f,0xa, 0x1, 0x12,0x26,0x4, 0x7a,0x1f,0xa, 0x1, 0x7e,0x1f,0xa, 0x5, 0x12,0x26,
+0x4, 0x12,0x27,0xf3,0x12,0x26,0x4, 0x7a,0x1f,0xa, 0x9, 0x7e,0x1f,0xa, 0x1, 0x7e,
+0x6f,0x9, 0xfd,0x2f,0x16,0x7e,0x7f,0xa, 0x5, 0x2f,0x71,0x78,0x16,0x7e,0x8, 0x0,
+0x8, 0x7f,0x13,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x22,0x12,0x24,0xad,0x12,0x5b,
+0x4f,0x80,0x10,0x12,0x5b,0x14,0x7e,0x35,0x22,0x12,0x24,0xad,0x7e,0xf, 0xa, 0x1,
+0x12,0x27,0xc9,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x24,0x12,0x24,0xad,0x7e,0x6f,
+0xa, 0x5, 0x7e,0x1f,0xa, 0x1, 0x2f,0x16,0x7e,0x7f,0xa, 0x9, 0x2f,0x71,0x78,0x16,
+0x12,0x5b,0x4f,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x26,0x12,0x24,0xad,0x7e,0x8,
+0x0, 0x8, 0x7f,0x13,0x80,0x10,0x12,0x5b,0x14,0x7e,0x35,0x26,0x12,0x24,0xad,0x7e,
+0xf, 0xa, 0x9, 0x12,0x27,0xc9,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x28,0x12,0x24,
+0xad,0xda,0x3b,0x22,0xbe,0x18,0x0, 0x32,0x8, 0x1, 0x22,0x9f,0x11,0x22,0xca,0x79,
+0x7c,0xe7,0x7c,0xfb,0x74,0x4, 0xac,0xbf,0x12,0x27,0xea,0x12,0x27,0x98,0x68,0xf,
+0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x57,0x49,0x25,0x9, 0x55,0x12,0x26,0x86,0xbe,
+0xe0,0x5, 0x68,0xf, 0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x87,0x49,0x25,0x9, 0x85,
+0x12,0x26,0x86,0x7e,0x1f,0xa, 0x15,0xda,0x79,0x22,0xca,0x79,0x7c,0xe7,0x7c,0xfb,
+0x74,0x4, 0xac,0xbf,0x12,0x27,0xea,0x12,0x27,0x98,0x68,0xf, 0x74,0x4, 0xac,0xbf,
+0x49,0x35,0x9, 0x6b,0x49,0x25,0x9, 0x69,0x12,0x26,0x86,0xbe,0xe0,0x5, 0x68,0xf,
+0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x73,0x49,0x25,0x9, 0x71,0x12,0x26,0x86,0x7e,
+0x1f,0xa, 0x15,0xda,0x79,0x22,0x12,0x26,0x4, 0x7f,0x1, 0x7e,0x1f,0xa, 0x15,0x2f,
+0x10,0x7a,0x1f,0xa, 0x15,0x22,0xca,0x3b,0x9f,0x11,0x7a,0x1f,0x0, 0xa2,0x6c,0xff,
+0xe1,0x7a,0x7c,0x1f,0x2e,0x10,0x16,0xa5,0xe7,0x7c,0xeb,0xa, 0x1e,0x7e,0x24,0x0,
+0x6, 0x8d,0x12,0x7c,0xd3,0xa, 0x3e,0x8d,0x32,0x7c,0xc5,0x12,0x27,0xdb,0x7c,0x7d,
+0x12,0x26,0xe, 0x7a,0x1f,0xa, 0xd, 0x4c,0xcc,0x68,0xc, 0x7c,0xbe,0x14,0x7c,0x7d,
+0x12,0x26,0xe, 0x7a,0x1f,0xa, 0x5, 0xbe,0xc0,0x5, 0x68,0xc, 0x7c,0xbe,0x4, 0x7c,
+0x7d,0x12,0x26,0xe, 0x7a,0x1f,0xa, 0x9, 0xa, 0x1c,0x12,0x5a,0xe4,0xa, 0x1c,0x12,
+0x5b,0x41,0xa, 0x1c,0x12,0x5a,0x58,0x7e,0x1f,0x0, 0xa2,0xbf,0x10,0x50,0x8, 0x7e,
+0x1f,0xa, 0x1, 0x7a,0x1f,0x0, 0xa2,0x7e,0x1f,0x9, 0xfd,0x74,0x6, 0x2f,0x11,0x14,
+0x78,0xfb,0x7e,0xf, 0xa, 0x1, 0x12,0x27,0xc1,0x7a,0x37,0xa, 0x11,0x12,0x27,0xdb,
+0x7c,0xbe,0x7c,0x7c,0x12,0x26,0x4a,0x7a,0x1f,0xa, 0xd, 0x4c,0xdd,0x68,0xd, 0x7c,
+0xbe,0x24,0xfa,0x7c,0x7c,0x12,0x26,0x4a,0x7a,0x1f,0xa, 0x5, 0xbe,0xd0,0x5, 0x68,
+0xd, 0x7c,0xbe,0x24,0x6, 0x7c,0x7c,0x12,0x26,0x4a,0x7a,0x1f,0xa, 0x9, 0xa, 0x1d,
+0x12,0x5a,0xe4,0xa, 0x1d,0x12,0x5b,0x41,0xa, 0x1d,0x12,0x5a,0x58,0x74,0x6, 0x2f,
+0x11,0x14,0x78,0xfb,0x12,0x27,0xc1,0x7a,0x37,0xa, 0x13,0x7e,0x27,0xa, 0x11,0x74,
+0x5, 0xac,0xbf,0x59,0x25,0x0, 0x7a,0x12,0x3c,0x55,0x12,0x38,0x94,0x50,0x2, 0xc1,
+0xa2,0xda,0x3b,0x22,0x12,0x26,0x4, 0x7e,0xd, 0x2a,0x12,0x3, 0xec,0x7f,0x3, 0x22,
+0x7e,0x8, 0x0, 0x4, 0x7e,0x1d,0x2a,0x22,0x12,0x26,0x4, 0x7a,0x1f,0xa, 0x15,0x4c,
+0xee,0x22,0x12,0x27,0xd1,0xe5,0x1b,0xa, 0x1b,0x6d,0x0, 0x12,0x27,0xb7,0x2, 0x24,
+0x31,0xa, 0x1b,0x6d,0x0, 0x7f,0x17,0x12,0x3, 0xec,0x7e,0x8, 0x0, 0x64,0x2, 0x4,
+0x59,0x12,0x4, 0x8, 0x2e,0x18,0x0, 0x20,0x22,0x7f,0x13,0x12,0x3, 0xec,0x7f,0x7,
+0x22,0x7d,0xf3,0x49,0x3f,0x0, 0x2, 0xb, 0xf8,0x20,0x22,0x9f,0x11,0x7a,0x1f,0xa,
+0x5, 0x7a,0x1f,0xa, 0x9, 0x22,0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x6f,0x49,0x25,
+0x9, 0x6d,0x22,0x7a,0x1f,0xa, 0x5, 0x7e,0x1f,0xa, 0x9, 0x22,0x9f,0x11,0x7a,0x1f,
+0x5, 0x28,0x7a,0x1f,0x5, 0x2c,0x6c,0xaa,0x12,0x23,0x30,0x7e,0x7f,0x5, 0x28,0xbf,
+0x71,0x58,0x4, 0x7a,0x1f,0x5, 0x28,0xb, 0xa0,0xbe,0xa0,0x16,0x40,0xea,0x7e,0x1f,
+0x5, 0x28,0x7a,0x1f,0x5, 0x2c,0x22,0x12,0x2f,0x75,0xa5,0xbe,0x1, 0x14,0x7e,0xa3,
+0xd, 0x12,0xbe,0xa0,0xfa,0x50,0x2c,0x7e,0xb3,0xd, 0x10,0x70,0x26,0x7c,0xba,0x4,
+0x80,0x1d,0xbe,0x60,0x2, 0x40,0x3, 0xe4,0x80,0x15,0x7e,0x53,0xd, 0x12,0xbe,0x50,
+0x4, 0x50,0xb, 0xbe,0x50,0x0, 0x28,0x6, 0x74,0x3, 0x7a,0xb3,0xd, 0x10,0xe4,0x7a,
+0xb3,0xd, 0x12,0x7e,0xa3,0xd, 0x10,0x4c,0xaa,0x68,0x20,0x4c,0x66,0x68,0x8, 0x7c,
+0xb7,0x12,0x28,0x90,0xe4,0x80,0x10,0x7c,0xb7,0xc4,0x54,0xf, 0xb4,0x1, 0x5, 0x7c,
+0xb7,0x12,0x2d,0x34,0x7c,0xba,0x14,0x7a,0xb3,0xd, 0x10,0x22,0x7e,0xb3,0x0, 0x90,
+0x54,0xf0,0x7a,0xb3,0x0, 0x90,0x22,0xca,0x3b,0x12,0x2f,0x3c,0x78,0x4, 0x6c,0xff,
+0x80,0x3, 0x7e,0xf0,0x2, 0x12,0x2d,0x19,0x78,0x1d,0x7c,0xba,0x54,0xf, 0xbe,0xb0,
+0x2, 0x40,0x14,0x5, 0x4d,0xe5,0x4d,0xbc,0xbf,0x38,0x5, 0x7c,0xba,0x12,0x28,0x90,
+0xe4,0x7a,0xb3,0xb, 0x37,0x80,0x3, 0x75,0x4d,0x0, 0x12,0x2d,0x19,0x78,0x8, 0x5e,
+0xa0,0xf, 0xbe,0xa0,0x1, 0x28,0x11,0xe4,0x7a,0xb3,0xb, 0x37,0x6d,0x33,0x7a,0x37,
+0xb, 0x4f,0x7a,0x37,0xb, 0x51,0x41,0x9d,0x7e,0xb3,0xb, 0xb3,0xbe,0xb0,0x1, 0x78,
+0x2, 0x41,0x9d,0x4c,0xaa,0x78,0x2, 0x41,0x6b,0x7e,0xe3,0xb, 0x37,0xbe,0xe0,0x2,
+0x28,0x2, 0x41,0x43,0x7c,0xbe,0x4, 0x7a,0xb3,0xb, 0x37,0x7e,0xa3,0xb, 0x37,0xbe,
+0xa0,0x1, 0x78,0x33,0x7e,0x37,0x0, 0x7a,0x7a,0x37,0xb, 0x41,0x7e,0x37,0x0, 0x7c,
+0x7a,0x37,0xb, 0x43,0x7e,0x1f,0xb, 0x41,0x7a,0x1f,0xb, 0x45,0x7e,0x1f,0xb, 0x41,
+0x7a,0x1f,0xb, 0x49,0x6d,0x33,0x7a,0x37,0xb, 0x4d,0x7a,0x37,0xb, 0x4f,0x7a,0x37,
+0xb, 0x51,0x12,0x28,0x8c,0x41,0x96,0xbe,0xa0,0x2, 0x40,0x18,0x7e,0x37,0x0, 0x7a,
+0x2e,0x37,0xb, 0x4f,0x7a,0x37,0xb, 0x4f,0x7e,0x37,0x0, 0x7c,0x2e,0x37,0xb, 0x51,
+0x7a,0x37,0xb, 0x51,0x7e,0x37,0xb, 0x41,0x12,0x2d,0xa, 0x7d,0x63,0x7e,0x37,0xb,
+0x43,0x12,0x2d,0x3, 0x7a,0x35,0x22,0x7e,0x37,0xb, 0x45,0x12,0x2d,0xa, 0x7a,0x35,
+0x24,0x7e,0x37,0xb, 0x47,0x12,0x2d,0x3, 0x7d,0x23,0x7e,0x35,0x22,0x2d,0x36,0xbe,
+0x34,0x0, 0xf, 0x50,0x18,0xbe,0x64,0x0, 0x7, 0x50,0x12,0x2e,0x25,0x24,0xbe,0x24,
+0x0, 0x1e,0x50,0x9, 0x7e,0x25,0x24,0xbe,0x24,0x0, 0xf, 0x40,0x53,0x7e,0x53,0xb,
+0x37,0xbc,0x5f,0x28,0x4b,0xe4,0x7a,0xb3,0xb, 0x37,0xbe,0x34,0x0, 0x8, 0x38,0x2,
+0x41,0x96,0x7e,0x37,0xb, 0x45,0xbe,0x34,0x0, 0x28,0x40,0x6, 0xbe,0x34,0x1, 0x66,
+0x28,0x24,0x7e,0x27,0xb, 0x47,0xbe,0x24,0x0, 0x28,0x28,0x1a,0xbe,0x24,0x1, 0x66,
+0x50,0x14,0x7a,0x37,0x0, 0x7a,0x7e,0x27,0x0, 0x7c,0x2e,0x27,0xb, 0x47,0x1e,0x24,
+0x7a,0x27,0x0, 0x7c,0x41,0x96,0x7a,0x37,0x0, 0x7a,0x7e,0x37,0xb, 0x47,0x80,0x65,
+0x7e,0x27,0x0, 0x7a,0x7a,0x27,0xb, 0x41,0x7e,0x37,0x0, 0x7c,0x7a,0x37,0xb, 0x43,
+0x7e,0xa3,0x0, 0x76,0x74,0x4, 0xa4,0x49,0x15,0x3, 0x5e,0x49,0x5, 0x3, 0x5c,0x7e,
+0xf7,0xb, 0x4d,0x6d,0xee,0xbf,0x70,0x58,0xc, 0x7a,0x17,0xb, 0x4d,0x7a,0x27,0xb,
+0x49,0x7a,0x37,0xb, 0x4b,0x7e,0x73,0x0, 0x90,0x7c,0xb7,0xc4,0x7c,0x6b,0x12,0x2d,
+0x23,0x80,0x53,0xa, 0x2e,0xb, 0x24,0x1b,0x25,0x7e,0x17,0xb, 0x4f,0x8d,0x12,0x7a,
+0x17,0xb, 0x41,0x7e,0x37,0xb, 0x51,0x8d,0x32,0x7a,0x37,0xb, 0x43,0x7e,0x27,0xb,
+0x41,0x7a,0x27,0x0, 0x7a,0x7a,0x37,0x0, 0x7c,0x80,0x2b,0x7e,0x73,0xb, 0x37,0xbc,
+0x7f,0x28,0x1b,0x7e,0x37,0xb, 0x49,0x7a,0x37,0x0, 0x7a,0x7e,0x37,0xb, 0x4b,0x7a,
+0x37,0x0, 0x7c,0x12,0x2d,0x30,0x74,0x1, 0x7a,0xb3,0xb, 0x38,0x80,0x3, 0x12,0x28,
+0x8c,0xe4,0x7a,0xb3,0xb, 0x37,0x12,0xe, 0xaf,0x78,0x2, 0xf5,0x9, 0xda,0x3b,0x22,
+0xca,0x3b,0x6c,0xee,0x9f,0x44,0x7f,0x74,0x7a,0x4f,0x9, 0xfe,0x7a,0x4f,0xa, 0x2,
+0x7a,0x4f,0xa, 0x6, 0x7a,0x4f,0xa, 0xa, 0x7a,0x4f,0xa, 0xe, 0x7f,0x64,0x7f,0x54,
+0x6c,0xdd,0x12,0x27,0xe6,0xbf,0x71,0x58,0x4, 0x7f,0x71,0x7c,0xfd,0xb, 0xd0,0xbe,
+0xd0,0x24,0x78,0xee,0x7e,0x37,0x3, 0x49,0x6d,0x22,0xbf,0x71,0x58,0xb, 0x12,0x28,
+0x8c,0x7e,0xb3,0x0, 0x91,0x54,0xf0,0x80,0x17,0xe5,0xe, 0xb4,0x1, 0x18,0x12,0x2c,
+0xf1,0x7a,0xb3,0x0, 0x76,0x12,0x2d,0x30,0x7e,0xb3,0x0, 0x91,0x54,0xf0,0x44,0x1,
+0x7a,0xb3,0x0, 0x91,0x81,0xe5,0x6c,0xdd,0xa, 0x5d,0x7e,0x24,0x0, 0x6, 0x8d,0x52,
+0x7a,0xb3,0x9, 0xfd,0xa, 0x3d,0x8d,0x32,0x7c,0xc5,0x70,0x4, 0x9f,0x11,0x80,0xc,
+0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x57,0x49,0x25,0x9, 0x55,0x7a,0x1f,0x9, 0xfe,
+0x7e,0xb3,0x9, 0xfd,0xb4,0x5, 0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,
+0x35,0x9, 0x87,0x49,0x25,0x9, 0x85,0x7a,0x1f,0xa, 0x2, 0x4c,0xcc,0x78,0x4, 0x9f,
+0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x6b,0x49,0x25,0x9, 0x69,0x7a,
+0x1f,0xa, 0x6, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,
+0x49,0x35,0x9, 0x73,0x49,0x25,0x9, 0x71,0x7a,0x1f,0xa, 0xa, 0x7e,0xb3,0x9, 0xfd,
+0x60,0x4, 0x4c,0xcc,0x78,0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,
+0x9, 0x53,0x49,0x25,0x9, 0x51,0x7a,0x1f,0xa, 0xe, 0x12,0x2d,0x11,0x68,0x4, 0x4c,
+0xcc,0x78,0x4, 0x9f,0x66,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0xd5,0x9, 0x83,0x49,
+0xc5,0x9, 0x81,0x7e,0xb3,0x9, 0xfd,0x60,0x5, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x55,
+0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0xb5,0x9, 0x5b,0x49,0xa5,0x9, 0x59,0x12,0x2d,
+0x11,0x68,0x5, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x44,0x80,0xc, 0x74,0x4, 0xac,0xbd,
+0x49,0x95,0x9, 0x8b,0x49,0x85,0x9, 0x89,0x12,0x2c,0xe8,0x49,0x5, 0x9, 0x6d,0x7e,
+0x37,0x3, 0x49,0x6d,0x22,0xbf,0x1, 0x58,0x2, 0x81,0xc3,0xe5,0xc, 0x12,0x27,0xb1,
+0x7f,0x1, 0x12,0x27,0xe6,0xbf,0x10,0x18,0x2, 0x81,0xc3,0x12,0x2c,0xe8,0x49,0x5,
+0x9, 0x6d,0x7e,0x1f,0x9, 0xfe,0xbf,0x1, 0x58,0x2, 0x81,0xc3,0x12,0x2c,0xe8,0x49,
+0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0x2, 0xbf,0x1, 0x58,0x2, 0x81,0xc3,0x12,0x2c,0xe8,
+0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0x6, 0xbf,0x1, 0x58,0x2, 0x81,0xc3,0x12,0x2c,
+0xe8,0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0xa, 0xbf,0x1, 0x48,0x76,0x12,0x2c,0xe8,
+0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0xe, 0xbf,0x1, 0x48,0x67,0x12,0x27,0xe6,0xbf,
+0x16,0x48,0x60,0x12,0x27,0xe6,0xbf,0x15,0x48,0x59,0x12,0x27,0xe6,0xbf,0x14,0x48,
+0x52,0x7c,0x1e,0x2e,0x10,0x16,0x7c,0xbd,0xa5,0xf7,0xa, 0x3d,0x12,0x2c,0xf6,0xa,
+0x3e,0x19,0xb3,0x0, 0x76,0xb, 0xe0,0x7e,0x30,0x4, 0xac,0x3d,0x2e,0x14,0x9, 0x6d,
+0x12,0x2d,0xbb,0xb, 0x1c,0x12,0x17,0xe7,0xbe,0xe1,0xe, 0x40,0x26,0x7e,0xe1,0xe,
+0xbe,0xe0,0x2, 0x78,0x27,0x7e,0x73,0x0, 0x76,0xbe,0x70,0xf, 0x38,0x9, 0x7e,0x73,
+0x0, 0x77,0xbe,0x70,0xf, 0x28,0x15,0x7e,0xe0,0x1, 0x12,0x2c,0xf1,0x7a,0xb3,0x0,
+0x76,0x80,0x9, 0xb, 0xd0,0xbe,0xd0,0x24,0x50,0x2, 0x61,0x8, 0x7c,0x6e,0x5e,0x60,
+0xf, 0x7e,0x73,0x0, 0x90,0x12,0x2d,0x26,0x7e,0x73,0x0, 0x91,0x5e,0x70,0xf0,0x4c,
+0x76,0x7a,0x73,0x0, 0x91,0xda,0x3b,0x22,0x74,0x4, 0xac,0xbd,0x49,0x15,0x9, 0x6f,
+0x22,0x7a,0xf1,0x16,0xa, 0x3f,0x2e,0x34,0x0, 0x46,0x7a,0x71,0x82,0x7a,0x61,0x83,
+0xe4,0x93,0x22,0x9e,0x37,0x0, 0x7c,0x2, 0x0, 0x2e,0x9e,0x37,0x0, 0x7a,0x2, 0x0,
+0x2e,0x7e,0xb3,0x9, 0xfd,0xbe,0xb0,0x5, 0x22,0x7e,0xa3,0x0, 0x90,0x7c,0xba,0xc4,
+0x54,0xf, 0x22,0x5e,0x60,0xf, 0x5e,0x70,0xf0,0x4c,0x76,0x7a,0x73,0x0, 0x90,0x22,
+0x7e,0xb3,0x0, 0x90,0x54,0xf0,0x44,0x1, 0x7a,0xb3,0x0, 0x90,0x22,0xca,0x79,0x9f,
+0x11,0x7a,0x1f,0x9, 0xfd,0x7e,0xa3,0x0, 0x90,0x7c,0xba,0x54,0xf, 0xb4,0x1, 0x64,
+0x7e,0x1f,0x0, 0xa2,0x7a,0x1f,0x9, 0xfd,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x6, 0x7e,
+0x1f,0x9, 0xfd,0x80,0x34,0x7e,0x37,0xb, 0x3b,0x12,0x2d,0x3, 0x7d,0x73,0x7e,0x37,
+0xb, 0x39,0x12,0x2d,0xa, 0x2d,0x37,0xbe,0x34,0x0, 0xf, 0x58,0x20,0x7e,0x1f,0xb,
+0x3d,0x7f,0x1, 0x1e,0x14,0x1e,0x4, 0x50,0x3, 0x4e,0x20,0x80,0x7e,0x1f,0x9, 0xfd,
+0xbf,0x10,0x50,0x5, 0x12,0x28,0x8c,0x80,0x4, 0x7a,0x1f,0xb, 0x3d,0x7e,0x37,0x0,
+0x7a,0x7a,0x37,0xb, 0x39,0x7e,0x37,0x0, 0x7c,0x7a,0x37,0xb, 0x3b,0x12,0xe, 0xaf,
+0x78,0x2, 0xf5,0x9, 0xda,0x79,0x22,0x7d,0x16,0x2d,0x17,0x49,0x31,0x0, 0x2, 0xb,
+0x18,0x20,0x22,0xca,0x3b,0x7c,0xab,0x7d,0x73,0x4d,0x77,0x78,0x2, 0xc1,0xda,0x4d,
+0x22,0x78,0x2, 0xc1,0xda,0xe4,0x7a,0xb3,0x6, 0x4d,0x6c,0x99,0xc1,0x5e,0x7e,0x70,
+0x4, 0xac,0x79,0x2d,0x37,0x49,0xf3,0x0, 0x2, 0xb, 0x38,0xe0,0xbe,0x7c,0xfc,0x18,
+0x58,0x5, 0xbe,0x90,0x16,0x40,0x15,0xbe,0x7c,0xf8,0x30,0x58,0x58,0xbe,0x90,0x16,
+0x40,0x53,0x7e,0xf, 0x5, 0x28,0xbe,0x8, 0x7, 0xd0,0x58,0x49,0xa, 0x39,0x7d,0x13,
+0x2e,0x14,0xa, 0xd1,0x7e,0x19,0xb0,0x4, 0x7a,0x19,0xb0,0x9, 0xb3,0xa, 0xd1,0xbe,
+0xb0,0xc, 0x28,0x38,0x7e,0x70,0x2, 0xac,0x79,0x2d,0x32,0xb, 0x38,0x10,0x1a,0x2,
+0x1a,0x0, 0x2f,0x7, 0xbe,0x8, 0x38,0x40,0x58,0x22,0x74,0x1, 0x7a,0xb3,0x6, 0x4d,
+0x6c,0x88,0x80,0xa, 0x74,0x1, 0xa, 0x38,0x19,0xb3,0xa, 0xe7,0xb, 0x80,0xbe,0x80,
+0x0, 0x40,0xf1,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0xd1,0xb, 0x90,0xbc,0xa9,
+0x28,0x2, 0xa1,0xde,0x6c,0x99,0x80,0x6a,0x7e,0xd0,0x4, 0xac,0xd9,0x12,0x2d,0xb7,
+0xbe,0x1c,0xfc,0xe0,0x58,0x21,0xa, 0x39,0x7d,0x23,0x2e,0x24,0xa, 0x8d,0x12,0x2e,
+0xdd,0x9, 0x83,0xa, 0x8d,0xbe,0x80,0xf, 0x28,0x14,0x12,0x41,0x40,0x60,0xf, 0x74,
+0x3, 0x7a,0xb3,0x6, 0x4d,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0x8d,0x12,0x2d,
+0xb7,0xbe,0x1c,0xfc,0xe0,0x58,0x22,0x7e,0xb3,0x6, 0x4d,0x70,0x1c,0xa, 0x39,0x7d,
+0x23,0x2e,0x24,0xa, 0xbb,0x12,0x2e,0xdd,0x9, 0x83,0xa, 0xbb,0xbe,0x80,0x12,0x28,
+0xf, 0x74,0x2, 0x7a,0xb3,0x6, 0x4d,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0xbb,
+0xb, 0x90,0x7e,0x83,0x6, 0xc6,0xbc,0x89,0x38,0x8e,0xda,0x3b,0x22,0x7e,0x29,0xb0,
+0x4, 0x7a,0x29,0xb0,0x22,0x6c,0xaa,0x7e,0x90,0x5, 0xac,0x9a,0x9, 0xb4,0x2, 0xba,
+0xbe,0xb0,0xff,0x68,0xa, 0x49,0x34,0x2, 0xb8,0xbe,0x34,0x1, 0x8d,0x50,0x33,0xb,
+0xa0,0xbe,0xa0,0x2, 0x40,0xe1,0x12,0x2f,0x33,0x78,0x21,0x7c,0xb7,0xc4,0x7c,0x6b,
+0x5e,0x60,0xf, 0xbe,0x60,0x0, 0x28,0x14,0xe5,0x4c,0xbe,0xb0,0x1, 0x50,0x9, 0x12,
+0x2d,0x26,0x75,0x12,0x1, 0x5, 0x4c,0x22,0x75,0x4c,0x0, 0x22,0x75,0x4c,0x0, 0x75,
+0x12,0x0, 0x22,0x7e,0x73,0x0, 0x90,0x7c,0xb7,0x54,0xf, 0x22,0x7e,0x37,0x0, 0x92,
+0xbe,0x34,0x0, 0x1, 0x22,0x12,0x2f,0x3c,0x78,0x1b,0x7e,0xb3,0x6, 0x67,0x20,0xe5,
+0x14,0x7e,0xb3,0x6, 0xcb,0x20,0xe0,0xd, 0x12,0x2f,0x66,0x7e,0xb3,0x6, 0xcb,0x44,
+0x1, 0x7a,0xb3,0x6, 0xcb,0x22,0xa9,0xc0,0xca,0x6d,0x22,0x12,0x2f,0x7f,0x5e,0x60,
+0x7f,0x1b,0x28,0x30,0x22,0x7e,0x73,0x0, 0x90,0x7c,0x67,0x5e,0x60,0xf, 0x22,0x7e,
+0x34,0x13,0x14,0x1b,0x38,0x20,0x7e,0x24,0x12,0x4, 0xb, 0x28,0x30,0x22,0x7e,0xb3,
+0x6, 0xcb,0x30,0xe0,0x16,0xa9,0xd0,0xca,0x7e,0x24,0x0, 0x3f,0x12,0x2f,0x7f,0x4e,
+0x60,0x80,0x1b,0x28,0x30,0x54,0xfe,0x7a,0xb3,0x6, 0xcb,0x22,0xc2,0xab,0x12,0x2f,
+0x45,0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xd5,0xc9,0xd2,0xaf,0xa9,0xd0,0xcd,0xd2,0xc8,
+0xd2,0xa8,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd7,0x9e,0xd2,0xaf,0x74,0x1, 0x12,0x4a,
+0x48,0x74,0x2, 0x12,0xf, 0xcd,0x12,0x2f,0xf2,0xc2,0xa8,0xa9,0xc0,0xcd,0xc2,0xc8,
+0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xc5,0xc9,0xd2,0xaf,0xd2,0xab,0x12,0x4a,0x30,0x2,
+0x2f,0x8e,0x43,0xc8,0xc9,0x43,0xcb,0x8e,0x22,0xbd,0x32,0x58,0x3, 0x7d,0x32,0x22,
+0xbd,0x31,0x8, 0x2, 0x7d,0x31,0x22,0x6d,0x11,0x80,0x48,0x6d,0x0, 0x80,0x38,0x7d,
+0xf0,0x3e,0xf4,0x3e,0xf4,0x7d,0xef,0x2d,0xe3,0x49,0xde,0x0, 0x6, 0x49,0xce,0x0,
+0x4, 0x49,0x5e,0x0, 0x2, 0xb, 0xe8,0x40,0xbf,0x26,0x58,0x19,0x49,0xde,0x0, 0x6,
+0x49,0xce,0x0, 0x4, 0x59,0xde,0x0, 0x2, 0x1b,0xe8,0xc0,0x2d,0xf3,0x59,0x5f,0x0,
+0x6, 0x59,0x4f,0x0, 0x4, 0xb, 0x4, 0x7d,0xf2,0x1b,0xf4,0x9d,0xf1,0xbd,0xf0,0x38,
+0xbe,0xb, 0x14,0xbd,0x21,0x38,0xb4,0x22,0xca,0x3b,0xf5,0x26,0x7a,0xd, 0x22,0x7f,
+0x31,0x75,0x29,0x0, 0x75,0x2a,0x0, 0x7e,0x34,0x9, 0xfd,0x7e,0x24,0x0, 0x90,0xe4,
+0x12,0x4, 0xeb,0x6c,0xaa,0x12,0x23,0x30,0xbf,0x13,0x8, 0x11,0x7e,0x31,0x29,0x74,
+0x4, 0xac,0x3b,0x59,0x31,0x9, 0xff,0x59,0x21,0x9, 0xfd,0x5, 0x29,0xb, 0xa0,0xbe,
+0xa0,0x16,0x78,0xe1,0xe5,0x26,0xbe,0xb1,0x29,0x38,0x38,0x7e,0xd, 0x22,0x7e,0x1f,
+0x5, 0x28,0xbf,0x10,0x58,0x2d,0x7e,0x34,0x9, 0xfd,0xe5,0x26,0xa, 0x2b,0x12,0x30,
+0x7, 0x7e,0xa1,0x27,0x74,0x4, 0xa4,0x49,0x35,0x9, 0xff,0x49,0x25,0x9, 0xfd,0xe5,
+0x28,0xa, 0x1b,0x6d,0x0, 0x12,0x3, 0xec,0x7e,0xf, 0x9, 0xfd,0xbf,0x10,0x8, 0x3,
+0x75,0x2a,0x1, 0xe5,0x2a,0xda,0x3b,0x22,0x75,0x27,0xa, 0x75,0x28,0x5, 0x7e,0x18,
+0x3, 0xe8,0x7e,0x8, 0x27,0x10,0x74,0xc, 0x12,0x30,0x58,0x70,0x13,0x75,0x27,0xa,
+0x75,0x28,0x4, 0x7e,0x18,0x3, 0xe8,0x7e,0x8, 0x27,0x10,0x74,0xa, 0x12,0x30,0x58,
+0x60,0x13,0x7e,0xb3,0x6, 0x67,0x44,0x2, 0x7a,0xb3,0x6, 0x67,0x12,0x28,0x8c,0xe4,
+0x7a,0xb3,0xd, 0x11,0x22,0x7e,0xa3,0x6, 0x67,0x7c,0xba,0x30,0xe1,0x1b,0x7e,0xb3,
+0xd, 0x11,0x4, 0x7a,0xb3,0xd, 0x11,0xbe,0xb0,0x14,0x40,0xd, 0xe4,0x7a,0xb3,0xd,
+0x11,0x7c,0xba,0x54,0xfd,0x7a,0xb3,0x6, 0x67,0x22,0x75,0x39,0x3, 0x75,0x3f,0x0,
+0x22,0xbe,0xb0,0xa, 0x50,0x8, 0x7c,0x1b,0x2e,0x10,0x37,0xa5,0xe7,0x22,0x2, 0x31,
+0x51,0xb4,0xae,0x5, 0x7e,0xb3,0x3, 0x34,0x22,0x24,0xf6,0xbe,0xb0,0x30,0x40,0x2,
+0x61,0x7, 0x7e,0xa0,0x3, 0xa4,0x90,0x31,0x6a,0x73,0x2, 0x31,0xfa,0x2, 0x31,0xfd,
+0x2, 0x31,0xff,0x2, 0x32,0x4, 0x2, 0x32,0x9, 0x2, 0x32,0xe, 0x2, 0x32,0x13,0x2,
+0x32,0x18,0x2, 0x32,0x1d,0x2, 0x32,0x22,0x2, 0x32,0x27,0x2, 0x32,0x2c,0x2, 0x32,
+0x31,0x2, 0x32,0x45,0x2, 0x32,0x4a,0x2, 0x33,0x7, 0x2, 0x32,0x4f,0x2, 0x32,0x54,
+0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2,
+0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,
+0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7,
+0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x32,0x59,0x2,
+0x32,0x5e,0x2, 0x32,0x63,0x2, 0x32,0x68,0x2, 0x32,0x6d,0x2, 0x32,0x72,0x2, 0x33,
+0x7, 0x2, 0x32,0xa5,0x2, 0x33,0x7, 0x2, 0x32,0xd4,0x74,0x16,0x22,0xe4,0x22,0x7e,
+0xb3,0x3, 0x35,0x22,0x7e,0xb3,0x3, 0x38,0x22,0x7e,0xb3,0x3, 0x39,0x22,0x7e,0xb3,
+0x3, 0x3a,0x22,0x7e,0xb3,0x3, 0x3b,0x22,0x7e,0xb3,0x3, 0x3c,0x22,0x7e,0xb3,0x3,
+0x3d,0x22,0x7e,0xb3,0x3, 0x36,0x22,0x7e,0xb3,0x3, 0x37,0x22,0x7e,0xb3,0x3, 0x40,
+0x22,0x7e,0xb3,0xc, 0xd0,0x70,0x8, 0x7e,0x27,0x3, 0x30,0xa, 0x54,0x80,0xa, 0x7e,
+0x57,0x3, 0x30,0x80,0x4, 0x7e,0x57,0x3, 0x30,0x22,0x7e,0xb3,0x3, 0x3f,0x22,0x7e,
+0xb3,0x3, 0x41,0x22,0x7e,0xb3,0x6, 0xd4,0x22,0x7e,0xb3,0x3, 0x43,0x22,0x7e,0xb3,
+0x3, 0x44,0x22,0x7e,0xb3,0x3, 0x45,0x22,0x7e,0xb3,0x3, 0x46,0x22,0x7e,0xb3,0x3,
+0x47,0x22,0x7e,0x73,0x3, 0x47,0x7c,0xb7,0x4, 0x7a,0xb3,0x3, 0x47,0xbe,0x70,0x5c,
+0x50,0x20,0xa, 0x27,0x7d,0x12,0x5e,0x14,0x0, 0x1, 0x68,0xb, 0x7d,0x12,0x1e,0x14,
+0x3e,0x14,0x49,0x51,0xc, 0x20,0x22,0x1e,0x24,0x3e,0x24,0x49,0x22,0xc, 0x20,0xa,
+0x54,0x22,0x74,0xee,0x22,0x7e,0x73,0x3, 0x44,0x7c,0xb7,0x4, 0x7a,0xb3,0x3, 0x44,
+0xbe,0x70,0x2e,0x50,0x1c,0xbe,0x70,0x16,0x50,0x2, 0x80,0x5, 0xbe,0x70,0x16,0x50,
+0xb, 0xa, 0x37,0x2e,0x34,0x4, 0xc5,0x12,0x2c,0xfa,0x7c,0x7b,0xb, 0x70,0x7c,0xb7,
+0x22,0x74,0xee,0x22,0x7e,0x73,0x3, 0x46,0x7c,0xb7,0x4, 0x7a,0xb3,0x3, 0x46,0xbe,
+0x70,0x5c,0x50,0x20,0xa, 0x27,0x7d,0x12,0x5e,0x14,0x0, 0x1, 0x68,0xb, 0x7d,0x12,
+0x1e,0x14,0x3e,0x14,0x49,0x51,0x2, 0xd4,0x22,0x1e,0x24,0x3e,0x24,0x49,0x22,0x2,
+0xd4,0xa, 0x54,0x22,0x74,0xee,0x22,0x74,0xee,0x22,0x7c,0xab,0x24,0x0, 0x78,0x5,
+0x7e,0xb3,0xc, 0xd6,0x22,0xbe,0xa0,0xaf,0x38,0xc, 0x7e,0xb3,0xb, 0x9f,0xb4,0x3,
+0x5, 0x7c,0xba,0x2, 0x31,0x41,0x7c,0xba,0x22,0xca,0x79,0x20,0x90,0x2, 0x61,0xcf,
+0xd2,0x8, 0x7e,0xb3,0xc, 0xd2,0x4, 0x7a,0xb3,0xc, 0xd2,0x7e,0xf3,0xc, 0xd2,0xbe,
+0xf0,0x1, 0x78,0x22,0xe5,0x91,0x7a,0xb3,0xc, 0xd8,0x7e,0xb3,0xc, 0xd8,0xb4,0xd3,
+0xe, 0x74,0x1, 0x7a,0xb3,0xc, 0xd7,0x6d,0x33,0x7a,0x37,0xc, 0xd3,0x80,0x3c,0xe4,
+0x7a,0xb3,0xc, 0xd7,0x80,0x35,0x7e,0xb3,0xc, 0xd6,0xc4,0x7c,0xeb,0x5e,0xe0,0x7,
+0x78,0x8, 0x12,0x34,0xe9,0x12,0x37,0x23,0x80,0x21,0xbe,0xe0,0x4, 0x78,0x8, 0x12,
+0x34,0xe9,0x12,0x4b,0xa9,0x80,0x14,0x7e,0xb3,0xc, 0xd6,0xc4,0x54,0x7, 0xb4,0x1,
+0xa, 0x7e,0xb3,0xc, 0xd2,0x12,0x34,0xeb,0x12,0x37,0xdc,0x12,0x36,0xef,0x78,0xe,
+0xe4,0x12,0x34,0x5c,0xb4,0x10,0x2, 0x80,0x14,0x12,0x36,0xfa,0x80,0x12,0xbe,0xf0,
+0x4, 0x78,0x5, 0x12,0x34,0xdf,0x80,0x8, 0xbe,0xf0,0x1, 0x78,0x3, 0x12,0x37,0xc7,
+0x7e,0xb3,0xc, 0xd8,0xb4,0xd3,0x6, 0x7e,0xb3,0xb, 0xb6,0xf5,0x91,0xc2,0x90,0x20,
+0x91,0x2, 0x81,0x59,0xc2,0x8, 0x7e,0xb3,0xc, 0xd0,0x4, 0x12,0x36,0xeb,0x78,0x50,
+0x7e,0xb3,0xc, 0xd7,0xb4,0x1, 0x36,0x7e,0xa3,0x9, 0x6a,0x7e,0x70,0x4, 0xac,0x7a,
+0xbe,0x37,0xc, 0xd3,0x40,0x22,0x7e,0x37,0xc, 0xd3,0x4d,0x33,0x78,0x5, 0x7a,0xa1,
+0x91,0x80,0xd, 0x7d,0x23,0x1b,0x24,0x2e,0x27,0x6, 0xdb,0x7e,0x29,0xb0,0xf5,0x91,
+0xb, 0x34,0x7a,0x37,0xc, 0xd3,0x80,0x3f,0x75,0x91,0xff,0x80,0x3a,0xe4,0x12,0x34,
+0x5c,0xb4,0x10,0x6, 0x7e,0xb3,0xc, 0xd0,0x80,0x19,0x7e,0xb3,0xc, 0xd0,0x80,0x1e,
+0xbe,0xf0,0x4, 0x78,0x5, 0x12,0x34,0xdf,0x80,0x1d,0xbe,0xf0,0x1, 0x7e,0xb3,0xc,
+0xd0,0x78,0xb, 0x2e,0xb3,0xc, 0xd8,0x12,0x0, 0x9, 0xf5,0x91,0x80,0x9, 0x2e,0xb3,
+0xc, 0xd8,0x12,0x34,0x5c,0xf5,0x91,0xc2,0x91,0xda,0x79,0x22,0x7c,0x7b,0xbe,0x70,
+0x80,0x40,0xc, 0xbe,0x70,0xde,0x38,0x7, 0xa, 0x37,0x9, 0xb3,0xa, 0xe3,0x22,0xa5,
+0xbf,0x0, 0x5, 0x7e,0xb3,0xc, 0xd6,0x22,0x30,0x7, 0x6, 0x7e,0x24,0xc, 0xac,0x80,
+0x4, 0x7e,0x24,0xc, 0xbe,0x7a,0x25,0x4a,0x7c,0xb7,0x14,0xbe,0xb0,0xe, 0x50,0x4c,
+0x7e,0xa0,0x3, 0xa4,0x90,0x34,0x98,0x73,0x2, 0x34,0xc2,0x2, 0x34,0xca,0x2, 0x34,
+0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,
+0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2,
+0x34,0xd2,0x7e,0x35,0x4a,0x9, 0xb3,0x0, 0x4, 0x22,0x7e,0x35,0x4a,0x9, 0xb3,0x0,
+0x3, 0x22,0xa, 0x37,0x2e,0x35,0x4a,0x9, 0xb3,0x0, 0x2, 0x22,0x74,0xff,0x22,0x7e,
+0xb3,0xc, 0xd8,0x12,0x33,0xa, 0xf5,0x91,0x22,0x7c,0xbf,0x2e,0xb3,0xc, 0xd8,0x24,
+0xfe,0x7e,0x71,0x91,0x22,0xca,0xf8,0xe4,0x12,0x36,0xeb,0x78,0x5, 0x12,0x36,0xfa,
+0x80,0x12,0xbe,0xf0,0x4, 0x78,0x5, 0x12,0x34,0xdf,0x80,0x8, 0xbe,0xf0,0x1, 0x78,
+0x3, 0x12,0x37,0xc7,0x75,0x91,0x0, 0xe4,0x7a,0xb3,0xc, 0xd2,0x7a,0xb3,0xc, 0xd1,
+0x74,0xaa,0x7a,0xb3,0xc, 0xac,0x7a,0xb3,0xc, 0xad,0x7a,0xb3,0xc, 0xbe,0x7a,0xb3,
+0xc, 0xbf,0xda,0xf8,0x22,0xbe,0xb0,0xa, 0x50,0xa, 0x7c,0x1b,0x2e,0x10,0x37,0x7c,
+0xb7,0xa5,0xf7,0x22,0x2, 0x35,0x47,0xca,0x79,0x7c,0x6b,0xa5,0xbe,0xae,0x17,0x7a,
+0x73,0x3, 0x34,0x7e,0xb3,0x3, 0x34,0xb4,0x1, 0x5, 0xe4,0x7a,0xb3,0x3, 0x34,0xe4,
+0x7a,0xb3,0x3, 0x42,0xc1,0x65,0xa5,0xbe,0xaf,0x5, 0x12,0x37,0xea,0xc1,0xe8,0x7c,
+0xb6,0x24,0xf4,0xbe,0xb0,0x29,0x40,0x2, 0xc1,0xa0,0x7e,0xa0,0x3, 0xa4,0x90,0x35,
+0x82,0x73,0x2, 0x35,0xfd,0x2, 0x36,0x3, 0x2, 0x36,0x9, 0x2, 0x36,0xf, 0x2, 0x36,
+0x15,0x2, 0x36,0x1b,0x2, 0x36,0x21,0x2, 0x36,0x27,0x2, 0x36,0x2d,0x2, 0x36,0x33,
+0x2, 0x36,0x39,0x2, 0x36,0x51,0x2, 0x36,0x6a,0x2, 0x36,0xe1,0x2, 0x36,0x70,0x2,
+0x36,0x79,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,
+0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,
+0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2,
+0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,
+0x82,0x2, 0x36,0x88,0x2, 0x36,0x8e,0x2, 0x36,0x94,0x2, 0x36,0x9a,0x7e,0x74,0x3,
+0x35,0x80,0x7a,0x7e,0x74,0x3, 0x38,0x80,0x74,0x7e,0x74,0x3, 0x39,0x80,0x6e,0x7e,
+0x74,0x3, 0x3a,0x80,0x68,0x7e,0x74,0x3, 0x3b,0x80,0x62,0x7e,0x74,0x3, 0x3c,0x80,
+0x5c,0x7e,0x74,0x3, 0x3d,0x80,0x56,0x7e,0x74,0x3, 0x36,0x80,0x50,0x7e,0x74,0x3,
+0x37,0x80,0x4a,0x7e,0x74,0x3, 0x40,0x80,0x44,0x7e,0x27,0x3, 0x30,0x6c,0x44,0x7a,
+0x27,0x3, 0x30,0x7c,0x67,0x6c,0x77,0x4e,0x37,0x3, 0x30,0x7a,0x37,0x3, 0x30,0x80,
+0x14,0x7e,0x27,0x3, 0x30,0x6c,0x55,0x7a,0x27,0x3, 0x30,0xa, 0x37,0x4e,0x37,0x3,
+0x30,0x7a,0x37,0x3, 0x30,0x43,0xa, 0x1, 0x80,0x7e,0x7e,0x74,0x3, 0x3f,0x80,0xd,
+0x7e,0x74,0x3, 0x41,0x43,0xa, 0x4, 0x80,0x68,0x7e,0x74,0x6, 0xd4,0x43,0xa, 0x1,
+0x80,0x5f,0x7a,0x73,0x3, 0x43,0x80,0x60,0x7a,0x73,0x3, 0x44,0x80,0x5a,0x7a,0x73,
+0x3, 0x45,0x80,0x54,0x7a,0x73,0x3, 0x46,0x80,0x4e,0x7a,0x73,0x3, 0x47,0x80,0x48,
+0xbe,0x60,0x39,0x68,0x4, 0xa5,0xbe,0x3a,0x3f,0x7e,0x63,0x3, 0x45,0x7c,0xb6,0x4,
+0x7a,0xb3,0x3, 0x45,0xa, 0x26,0x5e,0x24,0x0, 0x1, 0xa, 0x16,0x68,0x12,0x12,0x37,
+0x4, 0x6c,0x55,0x1b,0x18,0x20,0xa, 0x17,0x12,0x37,0x10,0x43,0xa, 0x2, 0x80,0x18,
+0x12,0x37,0x4, 0x6c,0x44,0x1b,0x18,0x20,0x7c,0x27,0x6c,0x33,0x12,0x37,0x10,0x80,
+0x7, 0x4d,0x77,0x68,0x3, 0x7a,0x79,0x70,0xda,0x79,0x22,0x7a,0xb3,0xc, 0xd0,0x7e,
+0xb3,0xc, 0xd6,0xc4,0x7c,0xfb,0x5e,0xf0,0x7, 0x22,0x7e,0xb3,0xc, 0xd8,0x12,0x34,
+0x5c,0xf5,0x91,0x22,0x1e,0x14,0x3e,0x14,0x2e,0x14,0x2, 0xd4,0xb, 0x18,0x20,0x22,
+0xa, 0x26,0x1e,0x24,0x3e,0x24,0x2e,0x24,0x2, 0xd4,0xb, 0x28,0x30,0x4d,0x31,0x1b,
+0x28,0x30,0x22,0xca,0x69,0xca,0xf8,0x7c,0xf7,0xbe,0xb0,0x80,0x40,0xb, 0xbe,0xb0,
+0xde,0x38,0x6, 0x24,0x80,0x7c,0x7f,0xe1,0xbf,0x24,0x0, 0x68,0x2, 0xe1,0xc2,0x7e,
+0x64,0xc, 0xd6,0x7a,0x69,0xf0,0x5e,0xf0,0x70,0x7c,0xbf,0xc4,0x54,0xf, 0x7c,0xfb,
+0xbe,0xf0,0x4, 0x78,0x15,0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x7, 0x74,0x2, 0x7e,0x70,
+0x3, 0x80,0x36,0x74,0x3c,0x7e,0x70,0x3, 0x80,0x55,0x7e,0xb3,0xb, 0x9f,0xb4,0x3,
+0x2d,0x74,0x2, 0x7e,0x70,0x1, 0x12,0x35,0x35,0xbe,0xf0,0x1, 0x78,0x6, 0x74,0x2,
+0x6c,0x77,0x80,0x15,0x4c,0xff,0x78,0x7, 0x74,0x2, 0x7e,0x70,0x1, 0x80,0xa, 0xbe,
+0xf0,0x3, 0x78,0x2e,0x74,0x2, 0x7e,0x70,0x4, 0x12,0x35,0x35,0x80,0x24,0xbe,0xf0,
+0x1, 0x78,0x6, 0x74,0x3c,0x6c,0x77,0x80,0x16,0xbe,0xf0,0x4, 0x78,0x7, 0x74,0x3c,
+0x7e,0x70,0x3, 0x80,0xa, 0xbe,0xf0,0x3, 0x78,0x8, 0x74,0x3c,0x7e,0x70,0x4, 0x12,
+0x4b,0x75,0xda,0xf8,0xda,0x69,0x22,0x7e,0xb3,0xc, 0xd8,0x12,0x0, 0x9, 0xf5,0x91,
+0x22,0xe4,0x7a,0xb3,0xc, 0xd6,0x12,0x4d,0xe8,0x2, 0x34,0xf5,0x7c,0xa7,0x24,0x0,
+0x78,0x7, 0x7e,0x34,0xc, 0xd6,0x7a,0x39,0xa0,0x22,0x30,0x9, 0x8, 0x74,0x1, 0x12,
+0x43,0x3a,0xc2,0x9, 0x22,0xe4,0x12,0x43,0x3a,0xd2,0x9, 0x22,0x75,0xd, 0x0, 0xc2,
+0x5, 0x7e,0xb3,0xb, 0x88,0x70,0x7, 0x7e,0xb3,0x0, 0x95,0xf5,0x1a,0x22,0x7e,0xb3,
+0x0, 0x97,0xf5,0x1a,0x22,0x7d,0xd2,0x6d,0x22,0x9e,0x18,0x0, 0xc7,0x6d,0xcc,0x7e,
+0x78,0x0, 0xc7,0x7f,0x27,0x9f,0x26,0x12,0x3c,0x5c,0x2e,0x28,0x0, 0xc7,0x9f,0x71,
+0x7f,0x17,0xbe,0x28,0x0, 0x0, 0x58,0x4, 0x9f,0x22,0x80,0xa, 0xbe,0x28,0x1, 0x8e,
+0x48,0x4, 0x7e,0x28,0x1, 0x8d,0xbe,0x18,0x0, 0x0, 0x58,0x4, 0x9f,0x11,0x80,0xa,
+0xbe,0x18,0x1, 0x8e,0x48,0x4, 0x7e,0x18,0x1, 0x8d,0x1b,0x18,0x50,0x7d,0x13,0x1b,
+0x8, 0x10,0x22,0xca,0xf8,0x6c,0xff,0x80,0x23,0x74,0x5, 0xac,0xbf,0x12,0x3c,0xa,
+0x7e,0x14,0x0, 0x22,0x7e,0x4, 0x0, 0x24,0x12,0x38,0x15,0x7e,0x35,0x22,0x74,0x5,
+0xac,0xbf,0x59,0x35,0x0, 0x7a,0x7e,0x35,0x24,0x12,0x3c,0x51,0x12,0x38,0x94,0x48,
+0xd8,0xda,0xf8,0x22,0x7e,0xb3,0x0, 0x90,0x54,0xf, 0xa, 0x2b,0xa, 0x3f,0xbd,0x32,
+0x22,0xca,0x3b,0xc2,0xf, 0x75,0x2c,0x0, 0x7e,0xb3,0x3, 0x5a,0xbe,0xb0,0x2, 0x68,
+0x7, 0x7e,0xb3,0x3, 0x5b,0xb4,0x2, 0x16,0x12,0x2d,0x19,0xbe,0xb0,0x1, 0x38,0xe,
+0x7c,0xba,0x54,0xf, 0xbe,0xb0,0x1, 0x38,0x5, 0x7c,0xba,0x12,0x28,0x90,0x6c,0xff,
+0x7e,0xa0,0xff,0x7e,0x70,0x5, 0xac,0x7f,0x19,0xa3,0x0, 0x7e,0x7c,0x1f,0x2e,0x10,
+0x22,0x74,0xff,0xa5,0xf7,0x7e,0x24,0xff,0xff,0x12,0x3b,0xed,0x1b,0x38,0x20,0x7c,
+0x1f,0x2e,0x10,0x24,0xe4,0xa5,0xf7,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xd2,0x7e,0xa3,
+0x0, 0x90,0x7c,0xba,0x54,0xf, 0x78,0x1f,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x18,0x6c,
+0xff,0x12,0x3c,0x49,0xac,0x7f,0x59,0x43,0x3, 0x52,0x59,0x43,0x3, 0x56,0xb, 0xf0,
+0xbe,0xf0,0x2, 0x78,0xec,0x61,0x88,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x33,0x6c,0xff,
+0x7e,0xa0,0x1, 0x80,0x25,0x7c,0x1f,0x2e,0x10,0x24,0x7c,0xba,0x12,0x3b,0xf6,0x19,
+0xf3,0x0, 0x7e,0x49,0x43,0x0, 0x7a,0x7e,0x50,0x2, 0xac,0x5f,0x59,0x42,0x3, 0x52,
+0x49,0x33,0x0, 0x7c,0x59,0x32,0x3, 0x56,0xb, 0xf0,0x12,0x38,0x94,0x48,0xd6,0x61,
+0x88,0x6c,0xff,0x80,0x47,0x6c,0xee,0x74,0x2, 0xac,0xbe,0x49,0x25,0x3, 0x56,0x12,
+0x3e,0x8, 0x7d,0x63,0x74,0x2, 0xac,0xbe,0x49,0x25,0x3, 0x52,0x12,0x3c,0x73,0x2d,
+0x36,0x7a,0x35,0x26,0x7c,0xbf,0x3e,0xb0,0x24,0x28,0xa, 0x2b,0xb, 0x28,0x30,0xbe,
+0x35,0x26,0x28,0xf, 0x7c,0x1f,0x2e,0x10,0x22,0x7c,0xbe,0xa5,0xf7,0x7e,0x35,0x26,
+0x1b,0x28,0x30,0xb, 0xe0,0xbe,0xe0,0x2, 0x78,0xbd,0xb, 0xf0,0x12,0x38,0x94,0x48,
+0xb4,0x6c,0xff,0x41,0x51,0xd2,0xf, 0x6c,0xee,0x80,0x2c,0xbc,0xef,0x68,0x26,0x7c,
+0x1e,0x12,0x3b,0xfe,0x7c,0x1f,0x2e,0x10,0x22,0xa5,0xe7,0xbc,0xba,0x78,0x16,0x7c,
+0xbe,0x12,0x3b,0xef,0xb, 0x38,0x20,0x12,0x3b,0xed,0xb, 0x38,0x30,0xbd,0x32,0x40,
+0x4, 0xc2,0xf, 0x80,0xd, 0xb, 0xe0,0x12,0xe, 0xaf,0xa, 0x2b,0xa, 0x3e,0xbd,0x32,
+0x48,0xc9,0x7c,0x1f,0x12,0x3b,0xfe,0xa, 0x4a,0x9, 0xb4,0x3, 0x5a,0xb4,0x2, 0x4,
+0xc2,0xf, 0x80,0x1e,0xb4,0x1, 0x1b,0x12,0x2f,0x33,0xbe,0xb0,0x2, 0x40,0x11,0x7c,
+0xb7,0xc4,0x54,0xf, 0xbe,0xb0,0x2, 0x40,0x7, 0xe4,0x19,0xb4,0x3, 0x5a,0x80,0x2,
+0xc2,0xf, 0x30,0xf, 0x2a,0xbe,0xa0,0x2, 0x50,0x25,0x7c,0x1a,0x2e,0x10,0x24,0x74,
+0x1, 0xa5,0xf7,0x7e,0x90,0x5, 0xac,0x9f,0x19,0xa4,0x0, 0x7e,0x49,0x34,0x0, 0x7a,
+0x74,0x2, 0xa4,0x59,0x35,0x3, 0x52,0x49,0x34,0x0, 0x7c,0x59,0x35,0x3, 0x56,0xb,
+0xf0,0x12,0x38,0x94,0x58,0x2, 0x21,0xb5,0x6c,0xff,0x80,0x48,0x74,0x5, 0xac,0xbf,
+0x9, 0xb5,0x0, 0x7e,0xb4,0xff,0x3b,0x6c,0xee,0x7c,0x1e,0x2e,0x10,0x24,0xa5,0xe7,
+0x70,0x29,0xa, 0x3e,0x9, 0xb3,0x3, 0x5a,0x70,0x1f,0x74,0x1, 0x12,0x3b,0xf6,0x49,
+0x23,0x0, 0x7a,0x74,0x2, 0xac,0xbe,0x59,0x25,0x3, 0x52,0x49,0x23,0x0, 0x7c,0x59,
+0x25,0x3, 0x56,0x19,0xe3,0x0, 0x7e,0x80,0x9, 0x5, 0x2c,0xb, 0xe0,0xbe,0xe0,0x2,
+0x40,0xc7,0xb, 0xf0,0x7e,0xa3,0x0, 0x90,0x5e,0xa0,0xf, 0xa, 0x2a,0xa, 0x3f,0xbd,
+0x32,0x48,0xa9,0xe5,0x2c,0x60,0x2a,0x4c,0xaa,0x68,0x26,0xe5,0x2c,0xa, 0x3b,0xbd,
+0x23,0x48,0x1e,0x7e,0x73,0x0, 0x7e,0xbe,0x70,0x2, 0x40,0xc, 0x7e,0x73,0x0, 0x83,
+0xbe,0x70,0x2, 0x50,0x3, 0x12,0x3e,0x3a,0x12,0x2f,0x75,0x9e,0x61,0x2c,0x12,0x2d,
+0x23,0x12,0x2d,0x19,0xa, 0x2b,0x7c,0xba,0x54,0xf, 0xa, 0x3b,0xbd,0x32,0x58,0x71,
+0x6c,0xff,0x12,0x3b,0xe5,0x70,0x5a,0x7e,0xd0,0x2, 0xac,0xdf,0x49,0x46,0x3, 0x52,
+0xbe,0x44,0x7f,0xff,0x68,0x4b,0xa, 0x2f,0x9, 0x62,0x3, 0x5a,0xbe,0x60,0x2, 0x50,
+0x40,0x49,0x16,0x3, 0x56,0xbe,0x14,0x1, 0x8e,0x50,0x36,0x9, 0xb2,0xb, 0x31,0x60,
+0x30,0x74,0x1, 0xa5,0xf7,0x7e,0x73,0x0, 0x90,0x7c,0xe7,0x5e,0xe0,0xf, 0x74,0x5,
+0xac,0xbe,0x59,0x45,0x0, 0x7a,0x59,0x15,0x0, 0x7c,0x19,0xf5,0x0, 0x7e,0x2e,0x24,
+0x3, 0x5a,0x7c,0xb6,0x4, 0x7a,0x29,0xb0,0x7c,0x67,0xb, 0x60,0x12,0x2d,0x23,0x80,
+0x7, 0xe4,0xa, 0x3f,0x19,0xb3,0x3, 0x5a,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0x93,0x80,
+0x9, 0xe4,0x7a,0xb3,0x3, 0x5a,0x7a,0xb3,0x3, 0x5b,0x6c,0xff,0x12,0x3b,0xe5,0x70,
+0x10,0x7e,0x34,0x7f,0xff,0x74,0x2, 0xac,0xbf,0x59,0x35,0x3, 0x52,0x59,0x35,0x3,
+0x56,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xe4,0x12,0x3c,0x41,0x6c,0xff,0x12,0x3b,0xe5,
+0xb4,0x1, 0x1d,0xa, 0x3f,0x9, 0xb3,0x3, 0x50,0xbe,0xb0,0x3, 0x68,0x3, 0xb4,0x1,
+0x7, 0xe4,0x19,0xb3,0x3, 0x4e,0x80,0x33,0x74,0x2, 0x19,0xb3,0x3, 0x4e,0x80,0x2b,
+0xa, 0x3f,0x9, 0xb3,0x3, 0x50,0xbe,0xb0,0x2, 0x68,0x2, 0x70,0x18,0x74,0x1, 0x19,
+0xb3,0x3, 0x4e,0xbe,0xe0,0x2, 0x50,0x13,0x7c,0xae,0xb, 0xe0,0x74,0x5, 0xa4,0x19,
+0xf5,0x0, 0x7e,0x80,0x6, 0x74,0x3, 0x19,0xb3,0x3, 0x4e,0xb, 0xf0,0xbe,0xf0,0x2,
+0x40,0xab,0xda,0x3b,0x22,0x7c,0x1f,0x2e,0x10,0x24,0xa5,0xe7,0x22,0x7c,0xbf,0x3e,
+0xb0,0x24,0x28,0xa, 0x3b,0x22,0xa5,0xf7,0x7e,0x70,0x5, 0xac,0x7f,0x22,0x2e,0x10,
+0x22,0xa5,0xe7,0x7c,0xab,0x22,0x74,0x5, 0xac,0xbe,0x49,0x35,0x0, 0x7a,0x49,0x25,
+0x0, 0x7c,0x22,0xca,0x79,0x12,0x3c,0x37,0x6c,0xff,0x80,0x13,0xa, 0x3f,0x9, 0xe3,
+0x0, 0x76,0x7e,0x34,0x6, 0x15,0x7c,0xbe,0x6c,0x55,0x12,0x3e,0x4b,0xb, 0xf0,0x12,
+0x38,0x94,0x48,0xe8,0xda,0x79,0x22,0x74,0x1, 0x6c,0xaa,0x12,0x3c,0x67,0x40,0xfb,
+0x22,0x7e,0xe3,0x0, 0x90,0x5e,0xe0,0xf, 0x22,0x7e,0x44,0x7f,0xff,0x7e,0x70,0x2,
+0x22,0x74,0x5, 0xac,0xbf,0x59,0x35,0x0, 0x7c,0xb, 0xf0,0x22,0x6e,0x34,0xff,0xff,
+0x6e,0x24,0xff,0xff,0xb, 0x1c,0x22,0xa, 0x4a,0x19,0xb4,0x6, 0x15,0xb, 0xa0,0xbe,
+0xa0,0x2e,0x22,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7a,0x9d,0x32,0x2, 0x0, 0x2e,
+0xca,0x3b,0x12,0xe, 0xaf,0x7c,0xeb,0x78,0x30,0x6c,0xff,0x6d,0x11,0x74,0x2, 0xac,
+0xbf,0x59,0x15,0xd, 0x1d,0x7e,0xa0,0xff,0x7e,0x30,0x5, 0xac,0x3f,0x19,0xa1,0xd,
+0x17,0x7e,0xb3,0xd, 0x28,0x70,0x3, 0xe4,0x80,0x2, 0x74,0x2, 0xa, 0x1f,0x19,0xb1,
+0xd, 0x26,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xd2,0x7e,0x17,0x0, 0x92,0xbe,0x14,0x0,
+0x1, 0x78,0x2, 0xa1,0xfc,0x6c,0xff,0xa1,0xd8,0x74,0x5, 0xac,0xbf,0x9, 0x75,0x0,
+0x7e,0x7a,0x71,0x23,0xbe,0x70,0x2, 0x40,0x2, 0xa1,0xd6,0xe5,0x23,0xa, 0x1b,0x12,
+0x3e,0x1d,0x78,0x2, 0xa1,0xd6,0x75,0x22,0x0, 0x7e,0x31,0x22,0x74,0x5, 0xac,0x3b,
+0x9, 0x71,0xd, 0x17,0x7a,0x71,0x24,0xbe,0x71,0x23,0x68,0x2, 0xa1,0xcb,0x49,0x21,
+0xd, 0x15,0x12,0x3e,0x8, 0x7d,0x63,0x12,0x14,0xe3,0x49,0x25,0xd, 0x13,0x12,0x3c,
+0x73,0x7d,0x3, 0x2d,0x6, 0xe5,0x24,0xa, 0x1b,0x9, 0xa1,0xd, 0x26,0xbe,0xa0,0x0,
+0x28,0x17,0x7e,0x71,0x24,0x74,0x2, 0xac,0x7b,0x59,0x3, 0xd, 0x1d,0x2e,0x14,0xd,
+0x26,0x7c,0xba,0x14,0x7a,0x19,0xb0,0xa1,0xd6,0x7e,0x31,0x24,0x74,0x2, 0xac,0x3b,
+0x49,0x31,0xd, 0x1d,0xbe,0x34,0x0, 0x1e,0x28,0x8, 0xbe,0x4, 0x0, 0x1e,0x28,0x2,
+0x80,0x10,0x7d,0x23,0x2e,0x24,0x0, 0x1e,0xbd,0x20,0x50,0x12,0xbe,0x34,0x0, 0x1e,
+0x28,0xc, 0x59,0x1, 0xd, 0x1d,0x74,0x1, 0x7a,0xb3,0xd, 0x28,0x80,0x68,0xbe,0x4,
+0x0, 0x64,0x28,0x4b,0xe4,0x7a,0xb3,0xd, 0x28,0xe5,0x23,0xa, 0x1b,0x9, 0xb1,0x3,
+0x4e,0x70,0x4, 0x74,0x3, 0x80,0x2, 0x74,0x1, 0x19,0xb1,0x3, 0x4e,0x12,0x3e,0x25,
+0x7e,0x14,0xd, 0x21,0x74,0x5, 0x12,0x4, 0x8d,0xbe,0xe0,0x0, 0x28,0x21,0x1b,0xe0,
+0x7e,0x70,0x5, 0xac,0x7e,0x2e,0x34,0x0, 0x7a,0x7e,0x30,0x5, 0xac,0x3f,0x12,0x3d,
+0xff,0x7e,0x34,0xd, 0x21,0x7e,0x30,0x5, 0xac,0x3e,0x12,0x3d,0xff,0x1b,0xf0,0x7e,
+0xa1,0x24,0x74,0x2, 0xa4,0x59,0x5, 0xd, 0x1d,0x80,0xb, 0x5, 0x22,0xe5,0x22,0xbe,
+0xb0,0x2, 0x50,0x2, 0x81,0xe9,0xb, 0xf0,0x12,0x2f,0x33,0xa, 0x2b,0xa, 0x1f,0xbd,
+0x12,0x58,0x2, 0x81,0xc9,0x7c,0x6e,0x12,0x2d,0x23,0x6c,0xff,0x12,0x3e,0x15,0x2e,
+0x34,0x0, 0x7a,0x2e,0x14,0xd, 0x13,0x12,0x3e,0x2f,0x78,0xf0,0xda,0x3b,0x22,0x2e,
+0x14,0x0, 0x7a,0x74,0x5, 0x2, 0x4, 0x8d,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7c,
+0x9d,0x32,0x2, 0x0, 0x2e,0x7e,0x30,0x5, 0xac,0x3f,0x7d,0x31,0x22,0x9, 0xb1,0x3,
+0x4e,0xbe,0xb0,0x1, 0x22,0x7e,0x70,0x5, 0xac,0x7f,0x2e,0x34,0x0, 0x7a,0x22,0x74,
+0x5, 0x12,0x4, 0x8d,0xb, 0xf0,0xbe,0xf0,0x2, 0x22,0x7e,0x1f,0x0, 0x80,0x7e,0x33,
+0x0, 0x7f,0x7a,0x1f,0x0, 0x7b,0x7a,0x33,0x0, 0x7a,0x22,0x7d,0x13,0x4d,0x11,0x68,
+0xc, 0xbe,0xb0,0x2e,0x50,0x7, 0xa, 0x3b,0x2d,0x31,0x7a,0x39,0x50,0x22,0x74,0x10,
+0x7a,0xb3,0xb, 0x84,0x74,0x83,0x7a,0xb3,0xb, 0x85,0xe4,0x6c,0xaa,0x12,0x3c,0x67,
+0x40,0xfb,0x22,0x6c,0xaa,0x74,0x3, 0xa, 0x4a,0x19,0xb4,0x3, 0x50,0x19,0xb4,0x3,
+0x4e,0x12,0x3c,0x49,0xac,0x7a,0x59,0x43,0x3, 0x52,0x59,0x43,0x3, 0x56,0xb, 0xa0,
+0xbe,0xa0,0x2, 0x40,0xe0,0x22,0x7c,0x6b,0x7e,0x53,0x0, 0x90,0x7c,0xb5,0x54,0xf,
+0x68,0x10,0x7c,0x45,0x1b,0x40,0x5e,0x40,0xf, 0x5e,0x50,0xf0,0x4c,0x54,0x7a,0x53,
+0x0, 0x90,0xa5,0xbe,0x0, 0x12,0xa5,0xbf,0x2, 0xe, 0x7e,0x73,0x0, 0x77,0x7a,0x73,
+0x0, 0x76,0x85,0x17,0x16,0x12,0x3e,0x3a,0x22,0xca,0x79,0x6d,0x77,0x7a,0x77,0x2,
+0xd0,0x7e,0x34,0x3, 0xe8,0x7a,0x37,0x0, 0x74,0x12,0x1f,0xe6,0x12,0x1e,0xf6,0x12,
+0x1b,0xdc,0x7a,0x77,0x2, 0xd0,0x7e,0x34,0x0, 0x64,0x7a,0x37,0x0, 0x74,0xda,0x79,
+0x22,0x6c,0x77,0xa, 0x27,0x9, 0x62,0x3, 0x4e,0x19,0x62,0x3, 0x50,0xb, 0x70,0xbe,
+0x70,0x2, 0x40,0xef,0x12,0x3f,0x35,0x12,0x3f,0x2d,0x7a,0x73,0x0, 0x90,0x7e,0x73,
+0x0, 0x91,0x5e,0x70,0xf, 0x12,0x3f,0x2d,0x7a,0x73,0x0, 0x91,0x7e,0x1f,0x5, 0x2c,
+0x7a,0x1f,0x5, 0x30,0x7e,0x73,0x6, 0xe, 0x7a,0x73,0x6, 0xf, 0x22,0x7c,0xb7,0xc4,
+0x54,0xf0,0x4c,0x7b,0x22,0x7e,0x73,0x0, 0x90,0x5e,0x70,0xf, 0x22,0x12,0x3f,0x35,
+0x6c,0x66,0x80,0x2, 0xb, 0x60,0xbc,0x76,0x38,0xfa,0x22,0xca,0x3b,0x6c,0xaa,0x12,
+0x3f,0x35,0x7e,0x44,0x3, 0x5c,0x7e,0x24,0x0, 0x76,0x6c,0x66,0x80,0x64,0x75,0x1f,
+0xff,0xa, 0xf6,0x2d,0xf2,0x7e,0xf9,0x20,0x7e,0x30,0x4, 0xac,0x23,0x7d,0xe1,0x2d,
+0xe4,0x49,0x1e,0x0, 0x2, 0xb, 0xe8,0x0, 0xa, 0x76,0xb, 0x74,0x80,0x24,0xa, 0xef,
+0x2d,0xe2,0x7e,0xe9,0xe0,0x7e,0xd0,0x4, 0xac,0xde,0x7d,0xe6,0x2d,0xe4,0x49,0xde,
+0x0, 0x2, 0xb, 0xe8,0xc0,0xbf,0x6, 0x58,0x7, 0x7c,0xae,0x7a,0xf1,0x1f,0x7f,0x6,
+0xb, 0xf0,0xbc,0x7f,0x38,0xd8,0xe5,0x1f,0xbe,0xb0,0xff,0x68,0x13,0x7e,0xf9,0xe0,
+0xe5,0x1f,0xa, 0xfb,0x2d,0xf2,0x7a,0xf9,0xe0,0xa, 0xf6,0x2d,0xf2,0x7a,0xf9,0xa0,
+0xb, 0x60,0xbc,0x76,0x38,0x98,0xda,0x3b,0x22,0x7c,0xab,0x9f,0x11,0x7a,0x1f,0x5,
+0x30,0x74,0xb, 0x7a,0xb3,0x6, 0xf, 0x74,0x2, 0x7a,0xb3,0x6, 0x44,0x7a,0xb3,0x6,
+0x43,0x74,0xf, 0x7a,0xb3,0x6, 0x45,0x74,0x2, 0x7a,0xb3,0x6, 0x47,0x7a,0xb3,0x6,
+0x46,0x74,0xf, 0x7a,0xb3,0x6, 0x48,0x7e,0x34,0x0, 0x32,0x7a,0x37,0x5, 0xec,0x12,
+0x41,0x12,0x74,0xa, 0x7a,0xb3,0x6, 0x10,0x7e,0xb3,0x6, 0x67,0x44,0x40,0x7a,0xb3,
+0x6, 0x67,0x54,0x7f,0x7a,0xb3,0x6, 0x67,0x5e,0xa0,0x7f,0xbe,0xa0,0x1, 0x68,0x7,
+0xbe,0xa0,0x2, 0x78,0x2, 0x80,0x0, 0x12,0x41,0x12,0x7e,0xa3,0x6, 0x67,0x7c,0xba,
+0x30,0xe0,0x12,0x74,0x1, 0x7a,0xb3,0x6, 0x11,0x74,0x3, 0x7a,0xb3,0x6, 0x12,0x7a,
+0xb3,0x6, 0x13,0x80,0xe, 0x74,0x1, 0x7a,0xb3,0x6, 0x12,0x7a,0xb3,0x6, 0x13,0x7a,
+0xb3,0x6, 0x11,0x74,0xa, 0x7a,0xb3,0x6, 0x66,0x7a,0xb3,0x6, 0x14,0x7e,0x24,0x2a,
+0xf8,0x7a,0x27,0x5, 0xf0,0x7c,0xba,0x54,0xfd,0x7a,0xb3,0x6, 0x67,0x7e,0x24,0xfc,
+0xe0,0x7a,0x27,0x5, 0xee,0x12,0x41,0x35,0x7a,0x37,0x5, 0xf2,0x7e,0x34,0x5, 0xdc,
+0x7a,0x37,0x5, 0xf4,0x7e,0x34,0xf, 0xa0,0x7a,0x37,0x5, 0xf6,0x7e,0xb3,0x6, 0x67,
+0x54,0xf7,0x7a,0xb3,0x6, 0x67,0x54,0xef,0x7a,0xb3,0x6, 0x67,0x7e,0x34,0x0, 0xc7,
+0x7a,0x37,0x5, 0xf8,0x7e,0x34,0x0, 0xa0,0x7a,0x37,0x5, 0xfa,0xe4,0x7a,0xb3,0x6,
+0x49,0x7a,0xb3,0x6, 0x4a,0x7a,0x37,0x6, 0x4b,0x7e,0x34,0x0, 0x31,0x7a,0x37,0x5,
+0xfc,0x7e,0x34,0x1, 0x5c,0x7a,0x37,0x5, 0xfe,0x12,0x41,0x1d,0x7e,0x34,0x0, 0x8,
+0x7a,0x37,0x6, 0x2, 0x7e,0x34,0x0, 0x7, 0x7a,0x37,0x6, 0x0, 0x7e,0x34,0x0, 0x1a,
+0x7a,0x37,0x6, 0x4, 0x7e,0x34,0x6, 0x65,0x7a,0x37,0x6, 0x6, 0x7e,0x34,0x22,0x98,
+0x7a,0x37,0x6, 0x8, 0x7e,0x34,0x20,0x4, 0x7a,0x37,0x6, 0xc, 0x7e,0x34,0x20,0x51,
+0x7a,0x37,0x6, 0xa, 0xe4,0x7a,0xb3,0x6, 0x4d,0x7e,0x34,0xa, 0xd1,0x7a,0x37,0x6,
+0x4e,0x22,0x7e,0xb3,0x6, 0x67,0x54,0xfe,0x7a,0xb3,0x6, 0x67,0x22,0x7e,0xb3,0x6,
+0x67,0x54,0xdf,0x7a,0xb3,0x6, 0x67,0x22,0x7e,0xb3,0x6, 0x67,0x44,0x4, 0x7a,0xb3,
+0x6, 0x67,0x12,0x15,0x1d,0x7e,0xb3,0x6, 0x67,0x54,0xfb,0x7a,0xb3,0x6, 0x67,0x22,
+0xca,0x3b,0x7e,0x48,0x75,0x30,0x7f,0x74,0x9f,0x55,0x7f,0x5, 0x6c,0x77,0x7e,0xa0,
+0x1, 0x6c,0x66,0x7e,0x50,0x2, 0xac,0x56,0x49,0x72,0x5, 0x34,0x6d,0x66,0x7e,0x50,
+0x4, 0xac,0x56,0x49,0xd2,0x3, 0x5e,0x49,0xc2,0x3, 0x5c,0x2f,0x63,0xbf,0x76,0x8,
+0x2, 0x7f,0x76,0xbf,0x6, 0x58,0x2, 0x7f,0x6, 0xb, 0x60,0xa5,0xbe,0x16,0xd4,0x7f,
+0x30,0x9f,0x37,0xbe,0x38,0x4, 0xb0,0x58,0x3, 0x7e,0x70,0x1, 0x7f,0x74,0x7f,0x5,
+0x6c,0x66,0x7e,0x50,0x2, 0xac,0x56,0x49,0xd2,0x5, 0x34,0x6d,0xcc,0xbf,0x76,0x8,
+0x2, 0x7f,0x76,0xbf,0x6, 0x58,0x2, 0x7f,0x6, 0xb, 0x60,0xa5,0xbe,0x16,0xe3,0x9f,
+0x7, 0xbe,0x8, 0x4, 0xb0,0x8, 0x2, 0x6c,0xaa,0x4c,0x77,0x68,0x8, 0x4c,0xaa,0x78,
+0x4, 0x74,0x1, 0x80,0x1, 0xe4,0xda,0x3b,0x22,0xca,0x3b,0x7c,0xcb,0x6c,0xaa,0xe5,
+0x9, 0x70,0xa, 0xe5,0x1c,0x70,0x6, 0xe5,0x11,0x70,0x2, 0x61,0x33,0x20,0x7, 0x6,
+0x7e,0x74,0xc, 0xac,0x80,0x4, 0x7e,0x74,0xc, 0xbe,0x6c,0xdd,0x7e,0x70,0xff,0xa,
+0x2d,0x2d,0x27,0x7a,0x29,0x70,0xb, 0xd0,0xbe,0xd0,0x12,0x78,0xf2,0x74,0xaa,0x7a,
+0x79,0xb0,0x19,0xb7,0x0, 0x1, 0x74,0x12,0x19,0xb7,0x0, 0x2, 0x7e,0xb3,0x2, 0xca,
+0x19,0xb7,0x0, 0x4, 0x6c,0x77,0x6c,0xdd,0x7e,0x10,0x5, 0xac,0x1d,0x9, 0x60,0x2,
+0xba,0xbe,0x60,0xff,0x78,0x2, 0x41,0xbc,0xa, 0x16,0x9, 0xb1,0x3, 0x4e,0xbe,0xb0,
+0x3, 0x78,0x2, 0x41,0xbc,0x49,0x40,0x2, 0xb6,0x2e,0x44,0x0, 0x3, 0x49,0x20,0x2,
+0xb8,0x2e,0x24,0x0, 0x3, 0xa, 0x8, 0x12,0x43,0x4c,0x19,0x60,0x0, 0x5, 0x7c,0x69,
+0xa, 0x7, 0x2d,0x7, 0x19,0x60,0x0, 0x6, 0xa, 0x4, 0x12,0x43,0x4c,0x19,0x60,0x0,
+0x7, 0x7c,0x65,0xa, 0x7, 0x2d,0x7, 0x19,0x60,0x0, 0x8, 0xe4,0xa, 0x7, 0x2d,0x7,
+0x19,0xb0,0x0, 0x9, 0xa, 0x7, 0x2d,0x7, 0x19,0xb0,0x0, 0xa, 0x12,0x43,0x42,0xc4,
+0x54,0xf0,0xa, 0x7, 0x2d,0x7, 0x2e,0x4, 0x0, 0x7, 0x7e,0x9, 0x60,0x2c,0x6b,0x7a,
+0x9, 0x60,0x12,0x43,0x42,0xbe,0xb0,0xff,0x68,0x1f,0x12,0x3e,0x1d,0x68,0x2, 0xb,
+0xa0,0x9, 0xb1,0x3, 0x4e,0x3, 0x3, 0x54,0xc0,0xa, 0x17,0x2d,0x17,0x2e,0x14,0x0,
+0x5, 0x7e,0x19,0x60,0x2c,0x6b,0x7a,0x19,0x60,0x2e,0x70,0x6, 0xb, 0xd0,0xbe,0xd0,
+0x2, 0x68,0x2, 0x41,0x18,0x19,0xa7,0x0, 0x3, 0xe4,0x19,0xb7,0x0, 0x11,0x6c,0xdd,
+0xa, 0x3d,0x2d,0x37,0x7e,0x39,0x60,0x7d,0x27,0x2e,0x24,0x0, 0x11,0x7e,0x29,0x70,
+0x6c,0x76,0x7a,0x29,0x70,0xb, 0xd0,0xbe,0xd0,0x11,0x78,0xe4,0x30,0x7, 0x4, 0xc2,
+0x7, 0x80,0x2, 0xd2,0x7, 0xe5,0x1c,0x60,0x3, 0x12,0x3e,0x73,0x75,0x9, 0x0, 0x75,
+0x1c,0x0, 0x75,0x11,0x0, 0x7e,0xb3,0xb, 0xb3,0xb4,0x1, 0x14,0x12,0x2f,0x3c,0x68,
+0x26,0xe5,0x4f,0xb4,0x1, 0xf, 0x74,0x1, 0x12,0x43,0x3a,0x75,0x4f,0x0, 0x80,0x5,
+0x74,0x1, 0x12,0x43,0x3a,0x7e,0x34,0x0, 0x9, 0x12,0x43,0x57,0xbe,0xc0,0x1, 0x78,
+0x6, 0x80,0x0, 0xe4,0x12,0x43,0x3a,0xda,0x3b,0x22,0x70,0x3, 0xd2,0x86,0x22,0xc2,
+0x86,0x22,0x7e,0x10,0x5, 0xac,0x1d,0x9, 0xb0,0x2, 0xba,0x22,0x5e,0x4, 0x0, 0xf,
+0x7c,0x61,0xa, 0x7, 0x2d,0x7, 0x22,0x7e,0x24,0x0, 0x14,0xad,0x32,0x80,0x3, 0x0,
+0x0, 0x0, 0x7d,0x23,0x1b,0x34,0x4d,0x22,0x78,0xf5,0x22,0x30,0x0, 0x44,0xc2,0x6,
+0xe4,0x7a,0xb3,0x3, 0x48,0x30,0x1, 0x1c,0x80,0x3, 0x30,0x0, 0x9, 0xa9,0x21,0x94,
+0xf9,0x80,0x3, 0x30,0x0, 0x4, 0xa9,0x31,0x94,0xf9,0x30,0x0, 0x1e,0x80,0x15,0x80,
+0x3, 0x30,0x0, 0x9, 0xa9,0x31,0x94,0xf9,0x80,0x3, 0x30,0x0, 0x4, 0xa9,0x21,0x94,
+0xf9,0x30,0x0, 0x7, 0xd2,0x6, 0xe4,0x7a,0xb3,0x2, 0xcf,0x7e,0x37,0x2, 0xcd,0x2,
+0x43,0x57,0x22,0xca,0xf8,0x7c,0xfb,0x74,0x16,0x7a,0xb3,0x6, 0xc6,0xe4,0x7a,0xb3,
+0x6, 0xc7,0x74,0x16,0x7a,0xb3,0x6, 0xc8,0x74,0x30,0x7a,0xb3,0x6, 0xd4,0x7e,0xb3,
+0x6, 0xcb,0x54,0xbf,0x7a,0xb3,0x6, 0xcb,0x54,0x7f,0x7a,0xb3,0x6, 0xcb,0x54,0xf9,
+0x7a,0xb3,0x6, 0xcb,0x7e,0xb3,0x6, 0xca,0x54,0xbf,0x7a,0xb3,0x6, 0xca,0x7e,0xb3,
+0x6, 0xd7,0x44,0x4, 0x7a,0xb3,0x6, 0xd7,0x74,0x15,0x7a,0xb3,0x6, 0xd5,0x7e,0xb3,
+0x6, 0xca,0x54,0x7f,0x7a,0xb3,0x6, 0xca,0x7e,0xb3,0x6, 0xcb,0x54,0xfe,0x7a,0xb3,
+0x6, 0xcb,0x7e,0x34,0x4, 0xc5,0x7e,0x24,0x6, 0x68,0x74,0x16,0x7e,0x30,0x97,0x12,
+0x45,0xb, 0x6c,0x77,0x80,0x8, 0xa, 0x27,0x19,0x72,0x6, 0x96,0xb, 0x70,0x7e,0x63,
+0x6, 0xc8,0xbc,0x67,0x38,0xf0,0x7e,0xb3,0x6, 0xc9,0x44,0x1, 0x7a,0xb3,0x6, 0xc9,
+0x5e,0xf0,0x7f,0xbe,0xf0,0x1, 0x78,0xe, 0x7e,0xb3,0x6, 0xc9,0x12,0x44,0xef,0x44,
+0x8, 0x12,0x44,0xfc,0x80,0x38,0xbe,0xf0,0x2, 0x7e,0xb3,0x6, 0xc9,0x78,0x8, 0x12,
+0x44,0xef,0x12,0x44,0xfc,0x80,0x27,0x44,0x6, 0x12,0x44,0xf1,0x44,0x18,0x7a,0xb3,
+0x6, 0xcb,0x7e,0x63,0x3, 0x35,0x5e,0x60,0x7, 0x7c,0xb6,0xc4,0x3, 0x54,0xf8,0x7c,
+0x6b,0x7e,0x73,0x6, 0xca,0x5e,0x70,0xc7,0x4c,0x76,0x7a,0x73,0x6, 0xca,0xe4,0x7a,
+0xb3,0x6, 0xd6,0x7e,0xb3,0x6, 0xca,0x54,0xfe,0x7a,0xb3,0x6, 0xca,0x44,0x6, 0x7a,
+0xb3,0x6, 0xca,0x7e,0x73,0x3, 0x38,0x7a,0x73,0x6, 0xcc,0x7e,0x73,0x3, 0x39,0x7a,
+0x73,0x6, 0xcd,0x7e,0x73,0x3, 0x36,0x7a,0x73,0x6, 0xce,0x7e,0x73,0x3, 0x3a,0x7a,
+0x73,0x6, 0xcf,0x7e,0x73,0x3, 0x3b,0x7a,0x73,0x6, 0xd0,0x7e,0x73,0x3, 0x37,0x7a,
+0x73,0x6, 0xd1,0x7e,0x73,0x3, 0x3c,0x7a,0x73,0x6, 0xd2,0x7e,0x73,0x3, 0x3d,0x7a,
+0x73,0x6, 0xd3,0x12,0x1f,0xe6,0x54,0xfd,0x7a,0xb3,0x6, 0xd7,0xda,0xf8,0x22,0x54,
+0xf9,0x7a,0xb3,0x6, 0xc9,0x7e,0xb3,0x6, 0xcb,0x54,0xc7,0x22,0x7a,0xb3,0x6, 0xcb,
+0x7e,0xb3,0x6, 0xca,0x54,0xc7,0x7a,0xb3,0x6, 0xca,0x22,0x7c,0x23,0x7c,0x3b,0x7d,
+0x43,0x7c,0xb2,0x24,0x6a,0xbe,0xb0,0x9, 0x40,0x2, 0xe1,0x77,0x7e,0xa0,0x3, 0xa4,
+0x90,0x45,0x24,0x73,0x2, 0x45,0x3f,0x2, 0x45,0xf4,0x2, 0x46,0x2a,0x2, 0x46,0x60,
+0x2, 0x47,0x41,0x2, 0x47,0x77,0x2, 0x46,0x96,0x2, 0x46,0xc6,0x2, 0x46,0xf6,0x6c,
+0x77,0xa1,0xed,0x12,0x47,0xa0,0xbe,0xb0,0x12,0x40,0x2, 0xa1,0xe8,0x7e,0xa0,0x3,
+0xa4,0x90,0x45,0x55,0x73,0x2, 0x45,0x8b,0x2, 0x45,0x90,0x2, 0x45,0x95,0x2, 0x45,
+0x9a,0x2, 0x45,0x9f,0x2, 0x45,0xa4,0x2, 0x45,0xa9,0x2, 0x45,0xae,0x2, 0x45,0xb3,
+0x2, 0x45,0xb8,0x2, 0x45,0xbd,0x2, 0x45,0xc2,0x2, 0x45,0xc7,0x2, 0x45,0xcc,0x2,
+0x45,0xd1,0x2, 0x45,0xd6,0x2, 0x45,0xdb,0x2, 0x45,0xe0,0x7e,0x20,0x4, 0x80,0x53,
+0x7e,0x20,0x6, 0x80,0x4e,0x7e,0x20,0x7, 0x80,0x49,0x7e,0x20,0x5, 0x80,0x44,0x7e,
+0x20,0xe, 0x80,0x3f,0x7e,0x20,0x8, 0x80,0x3a,0x7e,0x20,0xf, 0x80,0x35,0x7e,0x20,
+0x10,0x80,0x30,0x7e,0x20,0x11,0x80,0x2b,0x7e,0x20,0x12,0x80,0x26,0x7e,0x20,0x17,
+0x80,0x21,0x7e,0x20,0x1a,0x80,0x1c,0x7e,0x20,0x18,0x80,0x17,0x7e,0x20,0x1b,0x80,
+0x12,0x7e,0x20,0x21,0x80,0xd, 0x7e,0x20,0x20,0x80,0x8, 0x7e,0x20,0x1f,0x80,0x3,
+0x7e,0x20,0x19,0x12,0x47,0x90,0x80,0x3, 0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x28,
+0x2, 0xa1,0x43,0x22,0x6c,0x77,0x80,0x2d,0x12,0x47,0xa0,0xbe,0x60,0x7, 0x40,0x10,
+0xbe,0x60,0xe, 0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x13,0x12,0x47,0x8e,0x80,0x13,
+0xbe,0x60,0xf, 0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x29,0x12,0x47,0x8e,0x80,0x3,
+0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x2d,0x12,0x47,
+0xa0,0xbe,0x60,0x9, 0x40,0x10,0xbe,0x60,0x12,0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0x10,0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x13,0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0x23,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,
+0x6c,0x77,0x80,0x2d,0x12,0x47,0xa0,0xbe,0x60,0xd, 0x40,0x10,0xbe,0x60,0x18,0x38,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0xb, 0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x19,0x40,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x1b,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb,
+0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x27,0x12,0x47,0xa0,0xbe,0x60,0xe,
+0x40,0xa, 0xbe,0x60,0x19,0x38,0x5, 0x12,0x47,0x88,0x80,0x13,0xbe,0x60,0x1a,0x40,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x19,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb,
+0x70,0xbc,0x37,0x38,0xd5,0x22,0x6c,0x77,0x80,0x27,0x12,0x47,0xa0,0xbe,0x60,0xe,
+0x40,0xa, 0xbe,0x60,0x19,0x38,0x5, 0x12,0x47,0x88,0x80,0x13,0xbe,0x60,0x1a,0x40,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x18,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb,
+0x70,0xbc,0x37,0x38,0xd5,0x22,0x6c,0x77,0x80,0x42,0x12,0x47,0xa0,0xbe,0x60,0x0,
+0x40,0x10,0xbe,0x60,0xd, 0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x3, 0x12,0x47,0x8e,
+0x80,0x28,0xbe,0x60,0xe, 0x40,0x10,0xbe,0x60,0x1b,0x38,0xb, 0xa, 0x56,0x2e,0x54,
+0x0, 0x9, 0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x1c,0x40,0xb, 0xa, 0x56,0x2e,0x54,
+0x0, 0x15,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x38,0xba,
+0x22,0x6c,0x77,0x80,0x2d,0x12,0x47,0xa0,0xbe,0x60,0x11,0x40,0x10,0xbe,0x60,0x1e,
+0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x6, 0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x1f,
+0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x11,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,
+0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x8, 0x12,0x47,0xa0,0x12,0x47,
+0x98,0xb, 0x70,0xbc,0x37,0x38,0xf4,0x22,0xa, 0x56,0x2e,0x54,0x0, 0xa, 0x7c,0x2b,
+0x7d,0x50,0x2d,0x52,0x7a,0x59,0x20,0x22,0x7d,0x50,0x2d,0x52,0x7a,0x59,0x60,0x22,
+0xa, 0x7, 0x7d,0x50,0x2d,0x54,0x7a,0xb1,0x82,0x7a,0xa1,0x83,0xe4,0x93,0x7c,0x6b,
+0x22,0x7e,0x4, 0x0, 0x76,0x6d,0x11,0xe4,0x7a,0x9, 0xb0,0xb, 0x4, 0xb, 0x14,0xbe,
+0x14,0x0, 0x1c,0x78,0xf2,0x7e,0x4, 0x2, 0xb6,0x6d,0x11,0xe4,0x7a,0x9, 0xb0,0xb,
+0x4, 0xb, 0x14,0xbe,0x14,0x0, 0x17,0x78,0xf2,0x6d,0x11,0x12,0x4b,0x6e,0x2e,0x34,
+0x0, 0x7a,0x12,0x4b,0x6b,0x2e,0x34,0x2, 0xb6,0x12,0x4b,0x6b,0x2e,0x34,0x2, 0xc0,
+0x12,0x4b,0x59,0xb, 0x14,0xbe,0x14,0x0, 0x2, 0x40,0xe0,0x74,0x2, 0x7a,0xb3,0x0,
+0x68,0x74,0xa, 0x7a,0xb3,0x0, 0x69,0x7e,0x34,0x0, 0xc7,0x7a,0x37,0x0, 0x6a,0x7e,
+0x34,0x0, 0xc6,0x7a,0x37,0x0, 0x6c,0x7e,0x34,0x0, 0x31,0x7a,0x37,0x0, 0x70,0xc2,
+0x4, 0x75,0xd, 0x0, 0x75,0x1a,0x0, 0xc2,0x5, 0x75,0xb, 0x0, 0x12,0x48,0x45,0x7e,
+0x24,0x7, 0xd0,0x7a,0x27,0x0, 0x74,0x7a,0x37,0x0, 0x9c,0xe4,0x7a,0xb3,0x2, 0xd2,
+0x7a,0xb3,0xb, 0x37,0x22,0x6d,0x33,0x7a,0x37,0x2, 0xd0,0x22,0x12,0x48,0x45,0x7e,
+0x34,0x3, 0xe8,0x7a,0x37,0x0, 0x74,0x2, 0x48,0x5a,0x7e,0x34,0xb, 0x63,0x7e,0xb3,
+0xb, 0xc2,0x20,0xe0,0x2, 0x21,0x19,0x54,0xfe,0x7a,0xb3,0xb, 0xc2,0x7e,0x39,0x50,
+0x7a,0x53,0x3, 0x4b,0x12,0x49,0x1a,0x3e,0x24,0x3e,0x24,0x7a,0x27,0x3, 0x49,0xbe,
+0x24,0x2, 0x26,0x50,0x8, 0x7e,0x24,0x2, 0x26,0x7a,0x27,0x3, 0x49,0x9, 0x53,0x0,
+0x5, 0x7a,0x53,0x0, 0xa0,0x12,0x49,0x1a,0x7a,0x27,0x0, 0x9e,0x9, 0x53,0x0, 0x25,
+0xa, 0x25,0x7a,0x27,0x0, 0x92,0x9, 0x53,0x0, 0x6, 0x7a,0x53,0x0, 0x94,0x9, 0x53,
+0x0, 0x8, 0x7a,0x53,0x0, 0x96,0xbe,0x50,0xf, 0x40,0x6, 0x74,0xe, 0x19,0xb3,0x0,
+0x8, 0x9, 0x53,0x0, 0x8, 0xa, 0x25,0x2e,0x24,0x4, 0xfb,0x7a,0x51,0x82,0x7a,0x41,
+0x83,0xe4,0x93,0x7a,0xb3,0x0, 0x95,0x9, 0x53,0x0, 0x9, 0x7a,0x53,0x0, 0x98,0x7a,
+0x53,0x0, 0x97,0x9, 0x53,0x0, 0x24,0x7a,0x53,0x0, 0x9a,0x9, 0x53,0x0, 0x2d,0x7a,
+0x53,0xd, 0x3f,0x9, 0xb3,0x0, 0x2e,0x7a,0xb3,0x3, 0x34,0xb4,0x1, 0x5, 0xe4,0x7a,
+0xb3,0x3, 0x34,0x7e,0xa3,0xb, 0xb3,0xbe,0xa3,0x0, 0xa1,0x68,0xc, 0x4c,0xaa,0x74,
+0x5, 0x7a,0xb3,0x0, 0x99,0x7a,0xa3,0x0, 0xa1,0x22,0xa, 0x25,0x3e,0x24,0x3e,0x24,
+0x3e,0x24,0x3e,0x24,0x22,0x12,0x49,0xe0,0x12,0x49,0xa1,0x12,0x37,0xd1,0x12,0x4a,
+0xa4,0x12,0x4a,0xf0,0x74,0x1, 0x7a,0xb3,0xb, 0x9f,0x7e,0xb3,0xb, 0x9f,0x24,0xfd,
+0x68,0x11,0x24,0xae,0x68,0x32,0x24,0xab,0x68,0xe, 0x24,0xa9,0x78,0xec,0x12,0x11,
+0x6d,0x80,0xe7,0x12,0x1f,0xe, 0x80,0xe2,0x12,0x48,0x45,0x7e,0x24,0x1, 0xf4,0x7a,
+0x27,0x0, 0x74,0x7e,0xb3,0x2, 0xd2,0xbe,0xb0,0xaa,0x68,0xce,0x7a,0x37,0x0, 0x9c,
+0x74,0xaa,0x7a,0xb3,0x2, 0xd2,0x80,0xc2,0x12,0x48,0x45,0x7e,0x34,0x1, 0xf4,0x7a,
+0x37,0x0, 0x74,0x7e,0xb3,0x2, 0xd2,0xb4,0xaa,0xb0,0x74,0x55,0x7a,0xb3,0x2, 0xd2,
+0x7e,0x74,0x3, 0xe8,0x7d,0x37,0x1b,0x74,0x4d,0x33,0x78,0xf8,0x75,0xe9,0xff,0x80,
+0x99,0x12,0x49,0xc9,0x12,0x0, 0x17,0x12,0x49,0xef,0xc2,0x0, 0xc2,0x2, 0x22,0xc2,
+0x8e,0xe5,0x89,0x54,0xf, 0x44,0x20,0xf5,0x89,0x75,0x8d,0x1, 0x75,0x8b,0x0, 0xd2,
+0x8e,0xd2,0xab,0xa9,0xc3,0xb7,0xd2,0xbb,0x22,0xe4,0x12,0x4a,0x69,0x12,0x4a,0x30,
+0x12,0x4a,0x3c,0x74,0x1, 0x2, 0x49,0xd8,0x70,0x3, 0xc2,0xaf,0x22,0xd2,0xaf,0x22,
+0x6d,0x33,0x7a,0x37,0x2, 0xd0,0x7e,0x34,0x7, 0xd0,0x7a,0x37,0x0, 0x74,0x22,0x7e,
+0x18,0x0, 0x54,0x74,0xf, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0x8, 0x3, 0xe8,0x12,0x4,
+0x59,0xbe,0x18,0xf, 0xff,0x28,0x4, 0x7e,0x18,0xf, 0xff,0xd2,0xc8,0xa9,0xc0,0xcd,
+0xc2,0xaf,0xa9,0xd0,0x9e,0x7c,0xb6,0xf5,0x9d,0xa9,0xd0,0x9e,0x7c,0xb7,0xf5,0x9c,
+0x12,0x4a,0x28,0xc2,0xa8,0xd2,0xaf,0x22,0xc2,0x88,0xd2,0xb8,0xa9,0xd0,0xb7,0x22,
+0x75,0xeb,0x3, 0xa9,0xd6,0xac,0xa9,0xd6,0xec,0xd2,0x86,0x22,0xa9,0xd1,0x99,0x75,
+0x9a,0xfe,0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0xa9,0xd6,0xeb,0x70,0xf, 0xa9,0xc6,0xac,
+0xa9,0xc6,0xec,0xa9,0xd7,0xcd,0xc2,0x96,0xc2,0x95,0x80,0x7, 0xa9,0xd4,0xcd,0xd2,
+0x96,0xd2,0x95,0x12,0x4a,0x28,0xd2,0xa8,0x22,0xd2,0xcf,0xbe,0xb0,0x7, 0x38,0x4,
+0x7c,0xab,0x80,0x2, 0x6c,0xaa,0x43,0xcb,0x8e,0x4e,0xa0,0x30,0x7a,0xa1,0xcc,0x0,
+0x0, 0x0, 0x0, 0xa9,0xd0,0xca,0xa9,0xc5,0xcb,0x53,0xca,0xf1,0x43,0xca,0xe, 0x75,
+0xcf,0x4, 0xc2,0xcc,0xd2,0xcb,0xc2,0xca,0xc2,0xc9,0xc2,0xc8,0xa9,0xc6,0xcb,0x0,
+0x0, 0x0, 0x0, 0x22,0xe4,0x7a,0xb3,0x3, 0x34,0x74,0x1, 0x7a,0xb3,0x3, 0x42,0x74,
+0x7, 0x7a,0xb3,0x3, 0x41,0x74,0xf, 0x7a,0xb3,0x3, 0x38,0x7a,0xb3,0x3, 0x39,0x74,
+0x3f,0x7a,0xb3,0x3, 0x36,0x74,0x12,0x7a,0xb3,0x3, 0x3a,0x7a,0xb3,0x3, 0x3b,0x74,
+0x3f,0x7a,0xb3,0x3, 0x37,0x74,0x10,0x7a,0xb3,0x3, 0x3c,0x7a,0xb3,0x3, 0x3d,0x74,
+0x5, 0x7a,0xb3,0x3, 0x35,0x74,0x3, 0x7a,0xb3,0x3, 0x40,0x7a,0xb3,0x3, 0x3f,0x22,
+0x6d,0x22,0x7a,0x27,0xc, 0x7c,0x7e,0x34,0x1, 0x8e,0x7a,0x37,0xc, 0x7e,0x7a,0x27,
+0xc, 0x80,0x7a,0x37,0xc, 0x82,0x7e,0x14,0x0, 0x84,0x7a,0x17,0xc, 0x85,0x7e,0x14,
+0x0, 0xc7,0x7a,0x17,0xc, 0x87,0x74,0x64,0x7a,0xb3,0xc, 0x84,0x7e,0x14,0x0, 0x96,
+0x7a,0x17,0xc, 0x89,0x7a,0x27,0xc, 0xa0,0x7a,0x37,0xc, 0xa2,0x7a,0x27,0xc, 0xa4,
+0x7a,0x37,0xc, 0xa6,0x74,0x50,0x7a,0xb3,0xc, 0x9e,0x74,0x1e,0x7a,0xb3,0xc, 0x9f,
+0x74,0x3, 0x7a,0xb3,0xc, 0xa8,0x74,0x32,0x7a,0xb3,0xc, 0xa9,0x74,0xf, 0x7a,0xb3,
+0xc, 0xaa,0x74,0x50,0x7a,0xb3,0xc, 0xab,0x22,0x7e,0x24,0x7f,0xff,0x1b,0x38,0x20,
+0x59,0x23,0x0, 0x2, 0x74,0xff,0x19,0xb3,0x0, 0x4, 0x22,0x12,0x4b,0x59,0x7e,0x34,
+0x0, 0x5, 0xad,0x31,0x22,0xbe,0xb0,0x5e,0x38,0x2e,0xbe,0xb0,0x26,0x68,0x29,0xbe,
+0xb0,0x2f,0x68,0x24,0xbe,0xb0,0x23,0x68,0x1f,0xbe,0xb0,0x28,0x68,0x1a,0xbe,0xb0,
+0x21,0x68,0x15,0xbe,0xb0,0x22,0x68,0x10,0xa, 0x2b,0x19,0x72,0xb, 0x63,0x7e,0xb3,
+0xb, 0xc2,0x44,0x1, 0x7a,0xb3,0xb, 0xc2,0x22,0xca,0x79,0x7c,0x6b,0x24,0x0, 0x78,
+0x75,0x7e,0x74,0xc, 0xd6,0x7a,0x79,0x70,0x5e,0x70,0x70,0x7c,0xb7,0xc4,0x54,0xf,
+0x7c,0x7b,0xbe,0x70,0x4, 0x68,0x47,0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x20,0xa5,0xbf,
+0x1, 0x6, 0x74,0x2, 0x6c,0x77,0x80,0x5c,0xa5,0xbf,0x0, 0x7, 0x74,0x2, 0x7e,0x70,
+0x1, 0x80,0x51,0xa5,0xbf,0x3, 0x68,0x74,0x2, 0x7e,0x70,0x4, 0x80,0x46,0xa5,0xbf,
+0x1, 0x6, 0x74,0x3c,0x6c,0x77,0x80,0x29,0xa5,0xbf,0x4, 0x7, 0x74,0x3c,0x7e,0x70,
+0x3, 0x80,0x1e,0xa5,0xbf,0x3, 0x48,0x74,0x3c,0x7e,0x70,0x4, 0x80,0x13,0x7e,0xb3,
+0xb, 0x9f,0xb4,0x3, 0x7, 0x74,0x2, 0x7e,0x70,0x3, 0x80,0x18,0x74,0x3c,0x7e,0x70,
+0x3, 0x12,0x4b,0x75,0x80,0x29,0xbe,0x60,0xa, 0x50,0xe, 0x7e,0xb3,0xb, 0x9f,0xb4,
+0x3, 0x1d,0x7c,0xb6,0x12,0x35,0x35,0x80,0x16,0xbe,0x60,0xa, 0x40,0x11,0xbe,0x60,
+0xaf,0x38,0xc, 0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x5, 0x7c,0xb6,0x12,0x35,0x47,0xda,
+0x79,0x22,0x74,0x17,0x7a,0xb3,0xb, 0x63,0x74,0xa0,0x7a,0xb3,0xb, 0x68,0xe4,0x7a,
+0xb3,0xb, 0x69,0x74,0x5, 0x7a,0xb3,0xb, 0x6a,0x74,0xe, 0x7a,0xb3,0xb, 0x6b,0x74,
+0x5a,0x7a,0xb3,0xb, 0x6c,0x74,0xe, 0x7a,0xb3,0xb, 0x86,0x74,0x1, 0x7a,0xb3,0xb,
+0x87,0xe4,0x7a,0xb3,0xb, 0x88,0x74,0x1, 0x7a,0xb3,0xb, 0x89,0x7a,0xb3,0xb, 0x9f,
+0x74,0x86,0x7a,0xb3,0xb, 0x8b,0xe4,0x7a,0xb3,0xb, 0x8c,0x74,0x2, 0x7a,0xb3,0xb,
+0x92,0xe4,0x7a,0xb3,0xb, 0x91,0x7a,0xb3,0xb, 0x90,0x7a,0xb3,0xd, 0x3f,0x7a,0xb3,
+0xb, 0xb3,0x74,0x3f,0x7a,0xb3,0xb, 0xb4,0xe4,0x7a,0xb3,0xb, 0x93,0x7a,0xb3,0xb,
+0x9e,0x7a,0xb3,0xb, 0x79,0x7e,0x34,0x5, 0xdc,0x7a,0x37,0x3, 0x49,0x74,0x17,0x7a,
+0xb3,0x3, 0x4b,0x12,0x4d,0x11,0x12,0x4d,0x9, 0x7a,0xb3,0x0, 0x94,0x74,0x7, 0x7a,
+0xb3,0x0, 0x95,0x74,0xe, 0x7a,0xb3,0x0, 0x96,0x74,0x5a,0x7a,0xb3,0x0, 0x97,0x7a,
+0xb3,0x0, 0x98,0x74,0x5, 0x7a,0xb3,0x0, 0x99,0x74,0x1, 0x7a,0xb3,0x0, 0x9a,0xe4,
+0x7a,0xb3,0x0, 0x9b,0x7a,0xb3,0x0, 0xa1,0x22,0x6d,0x33,0x7a,0x37,0x0, 0x92,0xe4,
+0x22,0x7e,0x34,0xa, 0x0, 0x7a,0x37,0x0, 0x9e,0x74,0xa0,0x7a,0xb3,0x0, 0xa0,0x22,
+0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,0xca,0x1b,0xca,0xb, 0xc0,0xd0,
+0xc0,0x83,0xc0,0x82,0x12,0x33,0x29,0x74,0x1, 0x7a,0xb3,0xc, 0xd1,0xd0,0x82,0xd0,
+0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,
+0x7b,0x32,0xca,0xb8,0xa9,0xc0,0x93,0xe4,0x7a,0xb3,0xc, 0xd0,0x7a,0xb3,0xc, 0xd2,
+0xda,0xb8,0x32,0x6c,0xaa,0x74,0xff,0xa, 0x4a,0x19,0xb4,0xc, 0xac,0x19,0xb4,0xc,
+0xbe,0xb, 0xa0,0xbe,0xa0,0x12,0x40,0xed,0x22,0xa9,0xd5,0xea,0xa9,0xc4,0xcb,0x75,
+0xa6,0x0, 0xa9,0xc1,0xcd,0x22,0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,
+0xca,0x1b,0xca,0xb, 0xc0,0xd0,0xc0,0x83,0xc0,0x82,0x12,0x4d,0xd1,0x7e,0xb3,0xc,
+0xd6,0x54,0xfd,0x7a,0xb3,0xc, 0xd6,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xd2,
+0xaf,0xc2,0x95,0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,0x4d,0x79,0xd0,0x82,0xd0,0x83,
+0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,0x7b,
+0x32,0xe5,0x9a,0x60,0x5, 0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0xa9,0xd4,0xcb,0x75,0xa6,
+0x10,0xa9,0xd1,0xcd,0xa9,0xc5,0xea,0x22,0xd2,0xce,0x75,0x92,0x70,0xd2,0xad,0xd2,
+0xe8,0xc2,0xc0,0xa9,0xd0,0xf7,0xd2,0xf8,0xa9,0xd5,0xb7,0xd2,0xbd,0x22,0xca,0x7b,
+0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,0xca,0x1b,0xca,0xb, 0xc0,0xd0,0xc0,0x83,
+0xc0,0x82,0x7e,0x35,0x1d,0xb, 0x34,0x7a,0x35,0x1d,0x7e,0x4, 0x0, 0xa, 0x7d,0x13,
+0x8d,0x10,0x4d,0x0, 0x78,0x38,0x7e,0xb3,0x9, 0x6b,0xbe,0xb0,0x0, 0x28,0x5, 0x14,
+0x7a,0xb3,0x9, 0x6b,0x7e,0xb3,0xd, 0x2c,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,
+0xd, 0x2c,0x7e,0xb3,0xd, 0x35,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x35,
+0x7e,0xb3,0xd, 0x2b,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x2b,0x7e,0xb3,
+0x6, 0xda,0x60,0x5, 0x14,0x7a,0xb3,0x6, 0xda,0xbe,0x34,0x3, 0xe8,0x40,0xe, 0x6d,
+0x33,0x7a,0x35,0x1d,0xe5,0xb, 0xbe,0xb0,0x64,0x50,0x2, 0x5, 0xb, 0x7e,0x37,0x2,
+0xd0,0xb, 0x34,0x7a,0x37,0x2, 0xd0,0x7e,0x37,0x0, 0x74,0xbe,0x37,0x2, 0xd0,0x28,
+0x3, 0x12,0x0, 0x27,0x7e,0xb3,0xb, 0x9f,0xb4,0xaa,0x18,0x7e,0x37,0x0, 0x9c,0x7d,
+0x23,0xb, 0x24,0x7a,0x27,0x0, 0x9c,0xbe,0x34,0x1, 0x2c,0x28,0x6, 0x74,0x1, 0x7a,
+0xb3,0xb, 0x9f,0xe5,0x1a,0xbe,0xb1,0xd, 0x28,0x4, 0x5, 0xd, 0x80,0x2, 0xd2,0x5,
+0x7e,0xb3,0xc, 0xd1,0x60,0xf, 0xbe,0xb0,0x28,0x50,0x7, 0x4, 0x7a,0xb3,0xc, 0xd1,
+0x80,0x3, 0x12,0x34,0xf5,0xd0,0x82,0xd0,0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,
+0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,0x7b,0x32,0x53,0xc8,0xc1,0x53,0xcb,0x10,
+0x22,0x7e,0x73,0x6, 0xc6,0xa, 0x37,0x1e,0x34,0x7a,0x73,0xd, 0x3d,0xa, 0x37,0x1e,
+0x34,0x7a,0x73,0xd, 0x3e,0x22,0xd2,0xc9,0xa, 0x56,0xf5,0xf1,0x7c,0xb7,0xf5,0xf2,
+0x75,0xf3,0x80,0x75,0xf4,0x0, 0x75,0xf5,0x83,0xa9,0x37,0xf5,0xfc,0xa9,0x36,0xf5,
+0xfc,0xe5,0xf6,0x43,0xfa,0x80,0xc2,0xc9,0x22,0x7e,0x24,0x12,0xa, 0xb, 0x28,0x30,
+0x5e,0x70,0xf, 0x1b,0x28,0x30,0xb, 0x28,0x30,0x4e,0x70,0x80,0x1b,0x28,0x30,0x7e,
+0xb3,0x6, 0xcb,0xc4,0x23,0x7c,0x7b,0x5e,0x70,0x7, 0xa5,0xbf,0x0, 0x5, 0x7e,0xa0,
+0x2, 0x80,0x32,0xa5,0xbf,0x1, 0x13,0x7e,0xb3,0x6, 0xc9,0x1e,0xb0,0x54,0x3, 0x68,
+0x4, 0x6c,0xaa,0x80,0x20,0x7e,0xa0,0x3, 0x80,0x1b,0xa5,0xbf,0x3, 0x5, 0x7e,0xa0,
+0x6, 0x80,0x12,0x7e,0xb3,0x6, 0xc9,0x1e,0xb0,0x54,0x3, 0x68,0x5, 0x7e,0xa0,0x1,
+0x80,0x3, 0x7e,0xa0,0x5, 0xa, 0x1a,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x2,
+0x37,0x1a,0x7e,0x24,0x12,0x2, 0xb, 0x28,0x30,0x5e,0x60,0xc0,0x1b,0x28,0x30,0x7e,
+0x73,0x6, 0xc8,0x7c,0x27,0x6c,0x33,0x12,0x37,0x1a,0x6c,0x11,0x80,0xb, 0xa, 0x31,
+0x9, 0x3, 0x6, 0x68,0xa, 0x20,0x12,0x5b,0x77,0x7e,0x3, 0x6, 0xc8,0xbc,0x1, 0x38,
+0xed,0x7c,0x10,0x80,0x9, 0x7e,0x24,0x0, 0x3f,0xa, 0x31,0x12,0x5b,0x77,0xbe,0x10,
+0x2e,0x40,0xf2,0x6d,0x22,0x7e,0x34,0x13,0x16,0x1b,0x38,0x20,0x7e,0x34,0x13,0x18,
+0x1b,0x38,0x20,0x7e,0x34,0x13,0x1a,0x1b,0x38,0x20,0x7e,0x34,0x13,0x1c,0x1b,0x38,
+0x20,0x6c,0x11,0x80,0xd, 0xa, 0x31,0x9, 0x3, 0x6, 0x68,0x7c,0xb0,0x12,0x50,0x19,
+0xb, 0x10,0x7e,0x73,0x6, 0xc8,0xbc,0x71,0x38,0xeb,0x7e,0xb3,0x6, 0xd7,0x30,0xe2,
+0x7, 0x7e,0xb3,0x6, 0xd5,0x2, 0x50,0x19,0x22,0x7c,0x7b,0xc4,0x54,0xf, 0x7c,0xab,
+0xa, 0x37,0x7e,0x24,0x0, 0x10,0x12,0x3, 0xba,0x7c,0x75,0x7e,0x14,0x0, 0x1, 0x7c,
+0xb7,0x60,0x5, 0x3e,0x14,0x14,0x78,0xfb,0xa, 0x2a,0x3e,0x24,0x2e,0x24,0x13,0x16,
+0x2, 0x37,0x1a,0xca,0x1b,0xca,0x19,0xc2,0xee,0xc2,0xc6,0x30,0xb, 0x6, 0x7e,0x34,
+0x0, 0x1, 0x80,0x4, 0x7e,0x34,0x0, 0x2, 0x7e,0x14,0x12,0x6, 0xb, 0x18,0x20,0x5d,
+0x23,0x68,0x7, 0x6d,0x22,0x1b,0x18,0x20,0xd2,0xa, 0xd2,0xee,0xda,0x19,0xda,0x1b,
+0x32,0x7e,0xb3,0x6, 0xd7,0x20,0xe1,0x62,0x12,0x50,0xdb,0x80,0x55,0xa, 0x2a,0x9,
+0x52,0x6, 0x96,0x7e,0x90,0x4, 0xac,0x95,0x49,0x14,0x3, 0x5e,0x49,0x4, 0x3, 0x5c,
+0xbe,0x8, 0x3a,0xc0,0x8, 0x20,0x7e,0xb3,0xc, 0x1f,0x7e,0x44,0x0, 0x1, 0x60,0x5,
+0x3e,0x44,0x14,0x78,0xfb,0x7e,0x10,0x2, 0xac,0x15,0x2e,0x4, 0xb, 0xc3,0xb, 0x8,
+0x10,0x4d,0x14,0x1b,0x8, 0x10,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x51,0x34,0x60,
+0xf, 0x7e,0x30,0x2, 0xac,0x35,0x49,0x1, 0xb, 0xc3,0x12,0x51,0x2c,0x1b,0x18,0x0,
+0xb, 0xa0,0x7e,0x43,0x6, 0xc8,0xbc,0x4a,0x38,0xa3,0x22,0x7e,0x37,0x6, 0xd8,0x6c,
+0xaa,0x22,0x7e,0xb3,0x6, 0xd7,0x20,0xe1,0x42,0x12,0x50,0xdb,0x80,0x35,0xa, 0x2a,
+0x9, 0x52,0x6, 0x96,0x12,0x51,0x2c,0xb, 0x18,0x40,0x7e,0xb3,0xc, 0x1f,0x7e,0x14,
+0x0, 0x1, 0x60,0x5, 0x3e,0x14,0x14,0x78,0xfb,0x4d,0x41,0x7e,0xb3,0x6, 0x4d,0x60,
+0x5, 0x12,0x51,0x34,0x60,0xb, 0xa, 0x1a,0x3e,0x14,0x2e,0x14,0x12,0x14,0x1b,0x18,
+0x40,0xb, 0xa0,0x7e,0x43,0x6, 0xc8,0xbc,0x4a,0x38,0xc3,0x22,0x7e,0x30,0x2, 0xac,
+0x35,0x2d,0x13,0x22,0xa, 0x15,0x2e,0x17,0x6, 0x4e,0x7e,0x19,0xb0,0x22,0xca,0x3b,
+0x12,0xe, 0xaf,0x7c,0xeb,0x4c,0xee,0x78,0x2, 0x61,0x5c,0x7e,0x7f,0x0, 0xa2,0x7e,
+0x34,0x38,0x80,0x7e,0x24,0x0, 0x1, 0xbf,0x71,0x28,0x5, 0x7e,0x80,0xa, 0x80,0x2a,
+0x7e,0x34,0x11,0x70,0x7e,0x24,0x0, 0x1, 0xbf,0x71,0x28,0x5, 0x7e,0x80,0x6, 0x80,
+0x19,0xbe,0x78,0xea,0x60,0x28,0x5, 0x7e,0x80,0x4, 0x80,0xe, 0xbe,0x78,0xc3,0x50,
+0x28,0x5, 0x7e,0x80,0x2, 0x80,0x3, 0x7e,0x80,0x1, 0xa, 0xf8,0x6d,0xee,0x7e,0xd4,
+0x0, 0xf, 0x7f,0x17,0x7d,0x1d,0x12,0x3, 0xfd,0x7f,0x7, 0x12,0x3, 0xec,0x7d,0x1d,
+0x12,0x3, 0xfd,0x7f,0x61,0x6c,0x99,0x7e,0xa0,0x5, 0x7c,0xd9,0xac,0xda,0x9, 0xb6,
+0x2, 0xba,0x7c,0xfb,0xbe,0xf0,0x2, 0x50,0x25,0xa, 0x3f,0x9, 0xb3,0x3, 0x4e,0x70,
+0x1d,0x49,0x6, 0x2, 0xb6,0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x5, 0xb, 0x53,0x49,0x26,
+0x2, 0xb8,0x59,0x25,0xb, 0x55,0x59,0x5, 0xb, 0x5b,0x59,0x25,0xb, 0x5d,0xb, 0x90,
+0xbe,0x90,0x2, 0x78,0xc2,0x6c,0x99,0x61,0x56,0x7e,0xa0,0x5, 0x7c,0x39,0xac,0x3a,
+0x9, 0xb1,0x2, 0xba,0x7c,0xfb,0xbe,0xf0,0x2, 0x40,0x2, 0x61,0x54,0x7e,0xa0,0x4,
+0x7c,0xdf,0xac,0xda,0x49,0x26,0xb, 0x53,0x49,0x31,0x2, 0xb6,0x9d,0x32,0x7d,0xa3,
+0x49,0x26,0xb, 0x55,0x49,0x31,0x2, 0xb8,0x9d,0x32,0x7d,0xb3,0x7d,0x1b,0x12,0x53,
+0x5f,0x7f,0x71,0x7d,0x1a,0x1a,0x2, 0x1a,0x0, 0x7d,0x3a,0x12,0x53,0x63,0x2f,0x17,
+0x7a,0x1f,0xa, 0x3, 0x49,0x26,0xb, 0x5b,0x12,0x53,0x7c,0x9d,0x32,0x7a,0x37,0x9,
+0xfd,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x25,0xb, 0x5d,0x12,0x53,0x72,0x9d,0x32,0x7d,
+0x63,0x7d,0x16,0x12,0x53,0x5f,0x7f,0x71,0x7e,0x27,0x9, 0xfd,0x7d,0x12,0x1a,0x2,
+0x1a,0x0, 0x7f,0x10,0x12,0x3, 0xec,0x2f,0x17,0x7a,0x1f,0x9, 0xff,0x7e,0xa0,0x5,
+0xac,0xa9,0x49,0x25,0x2, 0xb6,0xbe,0x24,0x0, 0x1e,0x40,0x1b,0xbe,0x24,0x1, 0x70,
+0x38,0x15,0x7e,0xa0,0x5, 0xac,0xa9,0x49,0x25,0x2, 0xb8,0xbe,0x24,0x0, 0x1e,0x40,
+0x6, 0xbe,0x24,0x1, 0x70,0x28,0x20,0xa, 0x98,0x6d,0x88,0x7e,0xf4,0x0, 0x6, 0x12,
+0x53,0xa1,0x7e,0x84,0x0, 0xb, 0x7d,0x18,0x12,0x3, 0xfd,0x12,0x53,0x86,0x7d,0x18,
+0x12,0x3, 0xfd,0x7f,0x41,0x80,0x1c,0xa, 0x98,0x6d,0x88,0x7e,0xf4,0x0, 0x5, 0x12,
+0x53,0xa1,0x2f,0x11,0x2f,0x11,0x2f,0x11,0x12,0x53,0x86,0x2f,0x11,0x2f,0x11,0x2f,
+0x11,0x7f,0x41,0x7e,0x1f,0x9, 0xff,0xbf,0x16,0x38,0x4b,0x7e,0xf, 0xa, 0x7, 0x7e,
+0x7f,0xa, 0x3, 0xbf,0x70,0x38,0x12,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x35,0xb, 0x53,
+0x12,0x53,0x92,0x49,0x35,0xb, 0x55,0x80,0x22,0xbf,0x74,0x38,0x3f,0x7e,0xa0,0x4,
+0xac,0xaf,0x49,0x15,0xb, 0x53,0x7e,0x4, 0x0, 0x2, 0x7d,0x3a,0x12,0x53,0x6a,0x12,
+0x53,0x92,0x49,0x15,0xb, 0x55,0x7d,0x3b,0x12,0x53,0x6a,0x7e,0xa0,0x5, 0xac,0xa9,
+0x59,0x35,0x2, 0xb8,0x80,0x16,0x7e,0x24,0x7f,0xff,0x7e,0xa0,0x4, 0xac,0xaf,0x59,
+0x25,0xb, 0x5b,0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x25,0xb, 0x5d,0x12,0x53,0x7c,0x7e,
+0xa0,0x4, 0xac,0xaf,0x59,0x35,0xb, 0x53,0x12,0x53,0x72,0x7e,0xa0,0x4, 0xac,0xaf,
+0x59,0x35,0xb, 0x55,0xb, 0x90,0xbc,0xe9,0x28,0x2, 0x21,0xe9,0xda,0x3b,0x22,0x1a,
+0x2, 0x1a,0x0, 0x1a,0x26,0x1a,0x24,0x2, 0x3, 0xec,0x7d,0x20,0x12,0x3, 0xba,0x2d,
+0x31,0x22,0x7e,0xa0,0x5, 0xac,0xa9,0x49,0x35,0x2, 0xb8,0x22,0x7e,0xa0,0x5, 0xac,
+0xa9,0x49,0x35,0x2, 0xb6,0x22,0xa, 0x18,0x6d,0x0, 0x12,0x3, 0xec,0x7f,0x1, 0x2f,
+0x10,0x22,0x7e,0xa0,0x5, 0xac,0xa9,0x59,0x35,0x2, 0xb6,0x7e,0xa0,0x4, 0xac,0xaf,
+0x22,0x7f,0x14,0x7d,0x1f,0x12,0x3, 0xfd,0x7f,0x4, 0x12,0x3, 0xec,0x7f,0x1, 0x2f,
+0x10,0x7d,0x1f,0x12,0x3, 0xfd,0x7a,0x1f,0xa, 0x7, 0xa, 0x38,0x6d,0x22,0x22,0xca,
+0x3b,0x12,0x3c,0x41,0x78,0x24,0x6c,0xff,0xe4,0xa, 0x3f,0x19,0xb3,0xb, 0x27,0x19,
+0xb3,0xb, 0x31,0x19,0xb3,0x3, 0x5a,0x6d,0x33,0x74,0x2, 0xac,0xbf,0x59,0x35,0xb,
+0x33,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xe0,0xe1,0xa1,0x6c,0xff,0x7e,0x50,0x2, 0xac,
+0x5f,0x49,0x32,0x3, 0x52,0xbe,0x34,0x7f,0xff,0x78,0x17,0xe4,0xa, 0x1f,0x19,0xb1,
+0xb, 0x27,0x19,0xb1,0xb, 0x31,0x19,0xb1,0x3, 0x5a,0x6d,0x11,0x59,0x12,0xb, 0x33,
+0x81,0xba,0xa, 0x1f,0x9, 0xb1,0x3, 0x5a,0x60,0x2, 0x81,0xba,0x59,0x32,0xb, 0x29,
+0x49,0x32,0x3, 0x56,0x59,0x32,0xb, 0x2d,0x49,0x32,0xb, 0x29,0x49,0x22,0xb, 0x2d,
+0x74,0x14,0xac,0xbf,0x49,0x15,0xb, 0xb, 0x49,0x5, 0xb, 0xd, 0x12,0xe, 0x7e,0x7a,
+0x37,0xa, 0x1, 0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0xb, 0x49,0x25,0xb, 0xd, 0x49,
+0x15,0xa, 0xff,0x49,0x5, 0xb, 0x1, 0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x3, 0xa, 0x3f,
+0x9, 0x53,0xb, 0x27,0xbe,0x50,0x2, 0x40,0x4c,0x74,0x2, 0xac,0xbf,0x49,0x25,0xb,
+0x29,0xbe,0x24,0x0, 0x18,0x40,0x16,0xbe,0x24,0x1, 0x76,0x38,0x10,0x49,0x25,0xb,
+0x2d,0xbe,0x24,0x0, 0x18,0x40,0x6, 0xbe,0x24,0x1, 0x76,0x28,0xe, 0x7e,0x27,0xa,
+0x1, 0xbe,0x24,0x0, 0x27,0x28,0x4, 0x74,0x1, 0x80,0x1b,0x7e,0x27,0xa, 0x1, 0xbe,
+0x24,0x0, 0x27,0x28,0xd, 0x7e,0x27,0xa, 0x3, 0xbe,0x24,0x0, 0x42,0x28,0x3, 0xe4,
+0x80,0x4, 0xe4,0x80,0x1, 0xe4,0x19,0xb3,0xb, 0x31,0xb, 0xf0,0xbe,0xf0,0x2, 0x68,
+0x2, 0x61,0xec,0x6c,0xff,0xe1,0x9b,0x74,0x5, 0xac,0xbf,0x9, 0xd5,0x2, 0xba,0xa,
+0x3d,0x9, 0xb3,0xb, 0x27,0x70,0x34,0x6c,0xcc,0x7e,0x70,0x5, 0xac,0x7f,0x49,0x13,
+0x2, 0xb6,0x7e,0x10,0x14,0xac,0x1d,0x7e,0x50,0x4, 0xac,0x5c,0x2d,0x20,0x59,0x12,
+0xa, 0xff,0x49,0x33,0x2, 0xb8,0x59,0x32,0xb, 0x1, 0xb, 0xc0,0xbe,0xc0,0x5, 0x78,
+0xd8,0x6d,0x33,0x74,0x2, 0xac,0xbd,0x59,0x35,0xb, 0x33,0xa, 0x3d,0x9, 0xb3,0xb,
+0x27,0xbe,0xb0,0x5, 0x50,0xa, 0xa, 0x3d,0x2e,0x34,0xb, 0x27,0x4, 0x7a,0x39,0xb0,
+0xa, 0x3d,0x9, 0x73,0xb, 0x27,0xbe,0x70,0x1, 0x38,0x2, 0xa1,0xf7,0x12,0x57,0xa4,
+0x60,0x2, 0xa1,0xf7,0x7e,0x90,0x14,0xac,0x9d,0x49,0x34,0xb, 0xf, 0x49,0x54,0xb,
+0xb, 0x2d,0x53,0x7a,0x57,0x9, 0xfd,0x49,0x34,0xb, 0x11,0x49,0x54,0xb, 0xd, 0x2d,
+0x53,0x7a,0x57,0x9, 0xff,0x74,0x5, 0xac,0xbf,0x49,0x15,0x2, 0xb6,0x2e,0x17,0x9,
+0xfd,0x7e,0x24,0x0, 0x3, 0x8d,0x12,0x59,0x15,0x2, 0xb6,0x49,0x35,0x2, 0xb8,0x2e,
+0x37,0x9, 0xff,0x8d,0x32,0x59,0x35,0x2, 0xb8,0x49,0x24,0xb, 0x7, 0x49,0x35,0x2,
+0xb6,0x9d,0x32,0x12,0x0, 0x2e,0x7a,0x37,0x9, 0xfd,0x74,0x14,0xac,0xbd,0x49,0x25,
+0xb, 0x9, 0x74,0x5, 0xac,0xbf,0x49,0x35,0x2, 0xb8,0x9d,0x32,0x12,0x0, 0x2e,0x12,
+0x57,0xdd,0x38,0xa, 0x7e,0x37,0x9, 0xff,0xbe,0x34,0x0, 0x27,0x28,0x1a,0x12,0x57,
+0xc9,0x2e,0x34,0xb, 0x7, 0x2e,0x14,0xb, 0x3, 0x12,0x5a,0xbe,0x59,0x35,0xb, 0x7,
+0x49,0x34,0x2, 0xb8,0x59,0x35,0xb, 0x9, 0x12,0x57,0xc9,0x2e,0x34,0xb, 0xb, 0x2e,
+0x14,0xb, 0xf, 0x12,0x5a,0xbe,0x59,0x35,0xb, 0xb, 0x49,0x44,0x2, 0xb8,0x59,0x45,
+0xb, 0xd, 0x49,0x35,0xb, 0x7, 0x49,0x25,0xb, 0x9, 0x12,0xe, 0x76,0x74,0x2, 0xac,
+0xbd,0x59,0x35,0xb, 0x33,0xe1,0x99,0x12,0x57,0xa4,0x70,0x2, 0xe1,0x99,0xa, 0x3d,
+0x9, 0x73,0xb, 0x27,0xbe,0x70,0x3, 0x50,0x2, 0xe1,0x99,0x12,0x57,0xab,0x70,0x2,
+0xe1,0x99,0x74,0x14,0xac,0xbd,0x49,0x25,0xa, 0xff,0x49,0x35,0xb, 0xb, 0x12,0x57,
+0xc1,0x7a,0x37,0x9, 0xfd,0x74,0x14,0xac,0xbd,0x49,0x25,0xb, 0x1, 0x49,0x35,0xb,
+0xd, 0x12,0x57,0xc1,0x12,0x57,0xdd,0x50,0xc, 0x7e,0x37,0x9, 0xff,0xbe,0x34,0x0,
+0x27,0x50,0x2, 0xe1,0x99,0x74,0x14,0xac,0xbd,0x12,0xe, 0x6e,0xb, 0x34,0x6d,0x22,
+0x7a,0x1f,0xa, 0x11,0x74,0x14,0xac,0xbd,0x49,0x35,0xb, 0x3, 0x49,0x25,0xb, 0x5,
+0x74,0x2, 0xac,0xbd,0x49,0x15,0xb, 0x29,0x49,0x5, 0xb, 0x2d,0x12,0xe, 0x7e,0x6d,
+0x22,0x7a,0x1f,0xa, 0xd, 0x74,0x14,0xac,0xbd,0x49,0x5, 0xb, 0x5, 0x49,0x15,0xb,
+0xd, 0x9d,0x10,0x6d,0x0, 0x7a,0xf, 0xa, 0x9, 0x7d,0x21,0x7e,0xf, 0xa, 0x11,0x12,
+0x57,0xf2,0x7a,0x1f,0xa, 0x9, 0x74,0x14,0xac,0xbd,0x49,0x15,0xb, 0x5, 0x6d,0x0,
+0x7e,0x1f,0xa, 0x9, 0x2f,0x10,0x12,0x57,0xb2,0x9f,0x10,0x7a,0x1f,0xa, 0x9, 0x49,
+0x5, 0xb, 0x3, 0x49,0x15,0xb, 0xb, 0x9d,0x10,0x6d,0x0, 0x7a,0xf, 0xa, 0x5, 0x7e,
+0x1f,0xa, 0xd, 0x7d,0x21,0x7e,0xf, 0xa, 0x11,0x12,0x57,0xf2,0x7a,0x1f,0xa, 0x5,
+0x74,0x14,0xac,0xbd,0x49,0xc5,0xb, 0x3, 0x7d,0x1c,0x6d,0x0, 0x7e,0x1f,0xa, 0x5,
+0x2f,0x10,0x49,0xd5,0xb, 0xb, 0x7d,0xfd,0x6d,0xee,0x9f,0x17,0x7a,0x1f,0xa, 0x5,
+0x12,0x57,0xab,0xb4,0x2, 0x17,0x7e,0x58,0x0, 0x2, 0x7e,0x1f,0xa, 0x5, 0x7f,0x5,
+0x12,0x4, 0x59,0x12,0x27,0xf3,0x7f,0x5, 0x12,0x57,0xb9,0x80,0x27,0x12,0x57,0xab,
+0xb4,0x1, 0x21,0xbd,0xdc,0x50,0xc, 0x7e,0x1f,0xa, 0x5, 0xbe,0x18,0x0, 0x0, 0x8,
+0x13,0x80,0xa, 0x7e,0x1f,0xa, 0x5, 0xbe,0x18,0x0, 0x0, 0x58,0x7, 0x12,0x3c,0x5c,
+0x7a,0x1f,0xa, 0x5, 0x12,0x57,0xa4,0x7e,0x1f,0xa, 0x5, 0xb4,0x1, 0x1d,0x2f,0x11,
+0x7e,0x68,0x0, 0x5, 0x7f,0x6, 0x12,0x4, 0x59,0x7a,0x1f,0xa, 0x5, 0x2f,0x17,0x12,
+0x27,0xf3,0x2f,0x11,0x7f,0x6, 0x12,0x57,0xb9,0x80,0x6, 0x2f,0x17,0x7a,0x1f,0xa,
+0x5, 0x74,0x14,0xac,0xbd,0x12,0x57,0xb2,0x7e,0x1f,0xa, 0x9, 0x2f,0x10,0x7a,0x1f,
+0xa, 0x9, 0x7e,0x1f,0xa, 0x5, 0x12,0x57,0xd1,0x12,0x27,0xf3,0x12,0x57,0xd1,0x7a,
+0x1f,0xa, 0x9, 0x7e,0x1f,0xa, 0x5, 0x7d,0x43,0x74,0x5, 0xac,0xbf,0x59,0x45,0x2,
+0xb6,0x7e,0x1f,0xa, 0x9, 0x59,0x35,0x2, 0xb8,0xb, 0xf0,0xbc,0xef,0x28,0x2, 0x81,
+0xc7,0xda,0x3b,0x22,0xa, 0x3d,0x9, 0xb3,0x3, 0x5a,0x22,0xa, 0x3d,0x9, 0xb3,0xb,
+0x31,0x22,0x49,0x15,0xb, 0xd, 0x6d,0x0, 0x22,0x12,0x4, 0x59,0x7a,0x1f,0xa, 0x9,
+0x22,0x9d,0x32,0x12,0x0, 0x2e,0xb, 0x34,0x22,0x7e,0x30,0x14,0xac,0x3d,0x7d,0x31,
+0x22,0x6d,0x22,0x7e,0x14,0x1, 0x8d,0x12,0x2f,0xf9,0x6d,0x22,0x22,0x7a,0x37,0x9,
+0xff,0x7e,0x37,0x9, 0xfd,0xbe,0x34,0x0, 0x27,0x22,0x7e,0x37,0xa, 0x17,0x7d,0x21,
+0x7d,0x1f,0x12,0x6, 0x3e,0x1a,0x26,0x1a,0x24,0x22,0xca,0xf8,0x7e,0xa3,0xb, 0xb3,
+0x7c,0xba,0x65,0x4e,0x68,0x5, 0xe4,0x7a,0xb3,0xb, 0xb6,0x7a,0xa1,0x4e,0x4c,0xaa,
+0x78,0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x5, 0x12,0x58,0x68,0x80,0x11,0xe4,0x7a,
+0xb3,0x2, 0xca,0x80,0xa, 0x7e,0xb3,0x6, 0x67,0x30,0xe1,0xb, 0x12,0x58,0x68,0x12,
+0x5a,0x3, 0x12,0x5a,0x9, 0x80,0x2e,0x12,0x58,0x76,0x7c,0xfb,0x4c,0xff,0x68,0x25,
+0x7c,0xbf,0x12,0x5a,0x10,0x60,0x1e,0x7e,0x34,0x0, 0x14,0x1b,0x34,0x78,0xfc,0x7e,
+0xb3,0x6, 0x67,0x30,0xe1,0x8, 0x74,0x26,0x7a,0xb3,0xb, 0xb6,0x80,0x7, 0x7a,0xf3,
+0xb, 0xb6,0x75,0x4f,0x1, 0xda,0xf8,0x22,0x74,0x26,0x7a,0xb3,0x2, 0xca,0x7a,0xb3,
+0xb, 0xb6,0x75,0x4f,0x1, 0x22,0xca,0x79,0x6c,0xaa,0x6d,0x44,0x7d,0xf4,0x7e,0x63,
+0x0, 0x90,0x7c,0xf6,0x5e,0xf0,0xf, 0x7c,0xb6,0xc4,0x7c,0xeb,0x5e,0xe0,0xf, 0x7e,
+0xe7,0xd, 0x29,0x1b,0xe4,0x68,0x3c,0x1b,0xe4,0x68,0x6e,0x1b,0xe4,0x78,0x2, 0x21,
+0x74,0x2e,0xe4,0x0, 0x3, 0x68,0x2, 0x21,0x9c,0xbe,0xf0,0x0, 0x38,0x2, 0x21,0xa2,
+0x4c,0xee,0x68,0x2, 0x21,0xa2,0x7e,0xe4,0x0, 0x1, 0x7a,0xe7,0xd, 0x29,0x7a,0xf7,
+0xd, 0x36,0x7a,0x47,0xd, 0x38,0x12,0x59,0xc3,0x7e,0xb3,0xc, 0xab,0x7a,0xb3,0xd,
+0x35,0x21,0x5c,0x4c,0xff,0x78,0x2, 0x80,0x1e,0x12,0x59,0xc3,0x7e,0x37,0xd, 0x36,
+0x7e,0x27,0xd, 0x38,0x12,0x59,0xf9,0xa5,0xbf,0x0, 0x4, 0xd2,0xe, 0x21,0x9c,0x7e,
+0xb3,0xd, 0x2c,0x60,0x2, 0x21,0xa2,0x7e,0x34,0x0, 0x2, 0x7a,0x37,0xd, 0x29,0x7e,
+0xb3,0xc, 0xa9,0x7a,0xb3,0xd, 0x2b,0x21,0xa2,0xbe,0xf0,0x0, 0x28,0x58,0x4c,0xee,
+0x78,0x54,0x7a,0xf7,0xd, 0x31,0x7a,0x47,0xd, 0x33,0x12,0x59,0xc3,0x7e,0xb3,0xc,
+0xa8,0xa, 0x2b,0x7e,0xb3,0xc, 0xa9,0xa, 0x3b,0x9d,0x32,0x7e,0xb3,0xd, 0x2b,0xa,
+0x4b,0xbd,0x43,0x18,0x2, 0x70,0x4, 0xd2,0xe, 0x80,0x61,0x7e,0x37,0xd, 0x36,0x7e,
+0x27,0xd, 0x38,0x7e,0xb3,0xc, 0x9e,0x12,0x59,0xcc,0x7c,0x7b,0xa5,0xbf,0x0, 0x4,
+0xd2,0xe, 0x80,0x48,0x7e,0x34,0x0, 0x3, 0x7a,0x37,0xd, 0x29,0x7e,0xb3,0xc, 0xaa,
+0x7a,0xb3,0xd, 0x2c,0x80,0x3c,0x4c,0xff,0x78,0x38,0x7e,0xb3,0xd, 0x2b,0x70,0x32,
+0xd2,0xe, 0x80,0x2e,0x4c,0xff,0x78,0x10,0x7e,0xb3,0xd, 0x2c,0x70,0x4, 0xd2,0xe,
+0x80,0x1a,0x7e,0x34,0x0, 0x4, 0x80,0x16,0x12,0x59,0xc3,0x7e,0x37,0xd, 0x31,0x7e,
+0x27,0xd, 0x33,0x12,0x59,0xf9,0xa5,0xbf,0x0, 0x8, 0xd2,0xe, 0x6d,0x33,0x7a,0x37,
+0xd, 0x29,0x7e,0x37,0xd, 0x29,0xbe,0x34,0x0, 0x2, 0x78,0x12,0x7e,0xa0,0x25,0x6d,
+0x33,0x7a,0x37,0xd, 0x29,0xe4,0x7a,0xb3,0xd, 0x35,0x7a,0xb3,0xd, 0x2c,0x7c,0xba,
+0xda,0x79,0x22,0x7a,0xf7,0xd, 0x2d,0x7a,0x47,0xd, 0x2f,0x22,0x7d,0x13,0xa, 0x3b,
+0x7d,0x3, 0x2e,0x7, 0xd, 0x2d,0xbd,0x1, 0x40,0x1d,0x2d,0x13,0xbe,0x17,0xd, 0x2d,
+0x40,0x15,0x7d,0x13,0x2e,0x17,0xd, 0x2f,0xbd,0x12,0x40,0xb, 0x2d,0x32,0xbe,0x37,
+0xd, 0x2f,0x40,0x3, 0x74,0x1, 0x22,0xe4,0x22,0x7e,0xb3,0xc, 0x9f,0x12,0x59,0xcc,
+0x7c,0x7b,0x22,0xe4,0x7a,0xb3,0x9, 0x62,0x22,0x6d,0x33,0x7a,0x37,0xd, 0x29,0x22,
+0x7c,0xab,0x54,0xf0,0xb4,0x20,0x18,0x7c,0xba,0x54,0xf, 0x7e,0x44,0x0, 0x1, 0x60,
+0x5, 0x3e,0x44,0x14,0x78,0xfb,0x7e,0x73,0xb, 0xb4,0xa, 0x57,0x5d,0x54,0x22,0xe4,
+0x22,0x7d,0x13,0x7e,0x37,0xc, 0xa0,0xbd,0x31,0x50,0x1a,0x7e,0x37,0xc, 0xa2,0xbd,
+0x31,0x28,0x12,0x7e,0x37,0xc, 0xa4,0xbd,0x32,0x50,0xa, 0x7e,0x37,0xc, 0xa6,0xbd,
+0x32,0x28,0x2, 0xe4,0x22,0x74,0x1, 0x22,0x6d,0x0, 0xb, 0xc, 0x7e,0x7f,0xa, 0x9,
+0x7f,0x17,0x12,0x3, 0xec,0x2f,0x14,0x7a,0x1f,0x9, 0xfd,0x7f,0x6, 0x2f,0x5, 0x2f,
+0x7, 0x7a,0xf, 0xa, 0x1, 0x22,0xa, 0xb, 0x7e,0x14,0x0, 0x3, 0x9d,0x10,0x7e,0x91,
+0x27,0x74,0x4, 0xac,0x9b,0x2e,0x44,0x3, 0x5c,0x49,0x34,0x0, 0x2, 0xb, 0x48,0x20,
+0x7c,0xb3,0x22,0x7e,0x24,0x12,0x0, 0xb, 0x28,0x30,0x5e,0x60,0x1f,0x1b,0x28,0x30,
+0x22,0xe5,0x24,0xa, 0x3b,0x3e,0x34,0x2e,0x34,0x10,0x0, 0xb, 0x38,0x70,0x6d,0x66,
+0xe5,0x24,0xa, 0x3b,0x22,0xb, 0x28,0x30,0x4d,0x35,0x1b,0x28,0x30,0x22,0x74,0x4,
+0x12,0x4, 0x8d,0x7e,0x90,0x5, 0xac,0x9f,0x49,0x34,0x2, 0xb6,0x74,0x14,0xac,0xbd,
+0x22,0x7e,0x25,0x33,0x7a,0x27,0x0, 0x50,0x7e,0x25,0x35,0x7a,0x27,0x0, 0x52,0x7a,
+0x37,0x0, 0x54,0x22,0x6d,0x0, 0x1b,0xc, 0x7e,0x5f,0xa, 0x5, 0x7f,0x15,0x12,0x3,
+0xec,0x7f,0x41,0x22,0x7e,0x25,0x22,0x7e,0x37,0xa, 0x9, 0xad,0x32,0x7c,0x76,0x7c,
+0x65,0xa, 0x24,0x22,0x6d,0x0, 0x2f,0x10,0x7e,0x14,0x0, 0x10,0x12,0x3, 0xfd,0x74,
+0x5, 0xac,0xbe,0x22,0x7f,0x13,0x7f,0x6, 0x12,0x3, 0xec,0x7f,0x7, 0x12,0x4, 0x59,
+0x7f,0x1, 0x22,0x7e,0x14,0x0, 0x3, 0x7e,0x1d,0x2a,0x12,0x3, 0xfd,0x7e,0x8, 0x0,
+0x4, 0x22,0x2e,0x18,0x0, 0xf, 0x7e,0x15,0x22,0x12,0x3, 0xfd,0x2f,0x11,0x2f,0x11,
+0x22,0x6d,0x0, 0x7e,0x6f,0xa, 0xd, 0x7f,0x16,0x12,0x3, 0xec,0x2f,0x41,0x22,0x7e,
+0x14,0x0, 0x3, 0x7f,0x13,0x12,0x3, 0xfd,0x7e,0x8, 0x0, 0x8, 0x22,0x7e,0xf, 0xa,
+0xb, 0x7e,0x37,0xa, 0x9, 0x6d,0x22,0x2, 0x3, 0xec,0xa, 0x4b,0x7d,0x24,0x7d,0xf4,
+0x1a,0x24,0x1a,0xe4,0xbf,0x7, 0x22,0x3e,0x34,0x2e,0x34,0x12,0x92,0x1b,0x38,0x20,
+0xb, 0x10,0x22,0xb, 0x48,0x20,0x4d,0x25,0x1b,0x48,0x20,0x7c,0xb7,0x22,0x7f,0x16,
+0x7d,0x1b,0x12,0x3, 0xfd,0x7f,0x7, 0x22,0x70,0x8f,0xff,0x0, 0x86,0x79,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43,0x45,0x49,0x5f,0x44,0x4c,0x57,0x32,
+0x0, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x30,0x30,0x30,0x30,0x0, 0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1, 0x86,
\ No newline at end of file
diff --git a/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DLW2_3207_0x88_app.i b/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DLW2_3207_0x88_app.i
new file mode 100644
index 0000000..7428db2
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DLW2_3207_0x88_app.i
@@ -0,0 +1,1471 @@
+0x2, 0x0, 0x76,0x2, 0x4d,0x86,0x22,0x22,0x22,0x22,0x32,0x2, 0x0, 0xa, 0x7f,0x71,
+0x7e,0x8, 0x0, 0x2, 0x2, 0x4, 0x59,0x2, 0x49,0xaf,0x22,0x2, 0x4d,0xfe,0x1e,0x44,
+0x1e,0x44,0x1e,0x44,0x1e,0x44,0x22,0x2, 0x4d,0xd1,0xff,0x2, 0x4d,0x20,0x7d,0x23,
+0xbe,0x24,0x0, 0x0, 0x48,0x3, 0x7d,0x32,0x22,0x6d,0x33,0x9d,0x32,0x22,0x70,0x2,
+0xc2,0xd, 0x22,0x2, 0x4d,0x52,0x40,0x10,0x10,0x10,0x10,0x40,0x12,0x0, 0x1, 0x2,
+0x3, 0x14,0x12,0x4, 0x5, 0x6, 0x7, 0x14,0x13,0x8, 0x9, 0xa, 0xb, 0x15,0x13,0xc,
+0xd, 0xe, 0xf, 0x15,0x40,0x11,0x11,0x11,0x11,0x40,0x3e,0x34,0x3e,0x34,0x3e,0x34,
+0x3e,0x34,0x22,0x2, 0x50,0x43,0x75,0x84,0x1, 0x7e,0x44,0xf, 0xff,0xe4,0x7a,0x49,
+0xb0,0x1b,0x44,0x78,0xf9,0x7e,0xf8,0xd, 0x3f,0xc2,0xc, 0x75,0x47,0x18,0xc2,0x8,
+0xd2,0x9, 0x75,0x1d,0x0, 0x75,0x1e,0x0, 0xc2,0x0, 0xd2,0x1, 0xc2,0x2, 0xc2,0x3,
+0xc2,0x4, 0xc2,0x6, 0x75,0x8, 0x76,0x75,0xa, 0x0, 0x75,0xc, 0x37,0x75,0xe, 0x2,
+0x75,0xf, 0x74,0x75,0x10,0x71,0x75,0x14,0x71,0x75,0x15,0x71,0x75,0x1b,0x7b,0xd2,
+0xa, 0xc2,0xb, 0x75,0x4c,0x0, 0x75,0x4d,0x0, 0xc2,0xd, 0x75,0x4e,0x0, 0x75,0x4f,
+0x0, 0xc2,0xe, 0x7e,0x4, 0x0, 0xff,0x7e,0x14,0x5, 0xa, 0xb, 0xa, 0x40,0x5d,0x44,
+0x68,0x1a,0x69,0x20,0x0, 0x2, 0xb, 0xe, 0xb, 0x44,0x80,0xa, 0x7e,0xb, 0xb0,0x7a,
+0x29,0xb0,0xb, 0x24,0xb, 0xc, 0x1b,0x44,0x78,0xf2,0x80,0xdf,0x2, 0x49,0x25,0xff,
+0x5b,0x98,0xa4,0x67,0xa1,0x5e,0xb0,0x4f,0x88,0x77,0x1, 0xfe,0xff,0xff,0xff,0x0,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0x7e,0xa0,0x20,0x80,0xc, 0x7e,0xa0,0x10,0x80,0x5, 0x7e,0xa0,0x8, 0x6c,0x55,0x6d,
+0x33,0x33,0x92,0xd5,0x50,0xa, 0x6e,0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,
+0xa5,0xec,0x33,0x40,0x6, 0x2f,0x11,0xd5,0xf0,0xf6,0x22,0x7c,0xba,0x24,0x7e,0xa2,
+0xd5,0x13,0x7c,0x76,0x7c,0x65,0xa5,0xcc,0x92,0xe7,0x7c,0x5b,0x22,0x7c,0xb5,0x33,
+0x7c,0xb4,0x33,0x92,0xd5,0x4e,0x50,0x80,0x24,0x81,0x40,0x3, 0x9f,0x11,0x22,0x7c,
+0x45,0x7c,0x56,0x7c,0x67,0x6c,0x77,0x24,0xe0,0x50,0xe, 0x7e,0x1c,0xff,0xff,0x22,
+0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x4, 0x78,0xf4,0x30,0xd5,0xa, 0x6e,
+0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,0x22,0x7c,0xb5,0xa2,0xe7,0xd2,0xe7,
+0x7c,0x1b,0x7c,0xb4,0x33,0x40,0x9, 0x68,0xd, 0xb4,0xff,0xb, 0xa5,0xbd,0xff,0x3,
+0x2, 0x2, 0x67,0x2, 0x2, 0x6f,0x22,0x7c,0xb, 0x24,0x81,0xc2,0xe0,0xf5,0x82,0xf4,
+0x4, 0x2c,0xb0,0x7c,0x2b,0xc3,0x13,0x7c,0x4b,0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x7f,
+0x41,0x7c,0xb6,0xa2,0xe7,0x7c,0xb1,0xa5,0xba,0x7f,0x2, 0xc3,0x13,0x34,0x0, 0x94,
+0x0, 0x7c,0x2b,0x7e,0xa0,0x91,0xa4,0x7c,0xba,0x13,0xf4,0x94,0xfe,0xac,0xb2,0x33,
+0x7c,0xba,0x33,0x24,0x8c,0xd3,0x13,0x7c,0x5b,0xe4,0x92,0xe7,0x7c,0x6b,0x6c,0x77,
+0x7e,0x40,0x3f,0x75,0x83,0x2, 0x7f,0x51,0x7f,0x1, 0x7f,0x14,0x12,0x3, 0x39,0x7f,
+0x5, 0x12,0x2, 0x81,0x9e,0x24,0x0, 0x80,0xd5,0x83,0xeb,0x7e,0x1, 0x82,0x6c,0x11,
+0xe, 0x4, 0x1e,0x4, 0x2d,0x20,0x5e,0x40,0x7f,0x22,0x2d,0x0, 0x92,0xd5,0xe, 0x10,
+0x4e,0x10,0x80,0x7d,0x42,0x2d,0x44,0x50,0x2, 0xb2,0xd5,0x4e,0x50,0x80,0x6c,0x44,
+0x7c,0xb8,0x22,0x2c,0x44,0x50,0x12,0xb, 0x1c,0x7e,0x40,0x0, 0x5e,0x50,0x7f,0xbe,
+0x18,0x0, 0x0, 0x78,0x4, 0xb, 0x80,0x68,0x16,0xa2,0xd5,0x7c,0xb8,0x13,0x7c,0x4b,
+0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x22,0x7e,0x1c,0xff,0xff,0x22,0x9f,0x11,0x22,0x7e,
+0x24,0xff,0x80,0x20,0xd5,0x2, 0x6c,0x45,0x6d,0x33,0x22,0x2, 0x2, 0x67,0x6e,0x0,
+0x80,0x7c,0xb1,0x33,0x7c,0xb0,0x33,0x68,0xd, 0x4, 0x68,0xef,0x7c,0xb5,0x33,0x7c,
+0xb4,0x33,0x78,0x3, 0x7f,0x10,0x22,0x4, 0x68,0xe1,0x7d,0x50,0x92,0xf7,0x7d,0x45,
+0x7d,0x51,0xbf,0x21,0x40,0x6, 0x7c,0x80,0x7f,0x1, 0x7f,0x12,0x12,0x2, 0x2a,0x7e,
+0xa1,0xd0,0x5c,0xb0,0x4, 0x78,0x3, 0x20,0xd5,0xc1,0x7c,0xb0,0x4, 0x78,0x7, 0x50,
+0x2, 0xb2,0xd5,0x2, 0x2, 0x6f,0x92,0xd5,0xbe,0x80,0xff,0x68,0xf6,0x7c,0xb8,0x9c,
+0xb0,0x6c,0x0, 0x60,0x2a,0xb4,0x18,0x5, 0x7c,0x41,0x2, 0x2, 0x43,0x50,0xfb,0x80,
+0x3, 0x2f,0x0, 0x4, 0x7c,0x9b,0x5e,0x90,0x7, 0x78,0xf6,0x30,0xe4,0x6, 0x7c,0x43,
+0x7d,0x10,0x6d,0x0, 0x30,0xe3,0x8, 0x7c,0x43,0x7c,0x32,0x7c,0x21,0xa, 0x0, 0x30,
+0xf5,0x19,0x9f,0x10,0x78,0xe, 0x22,0x2, 0x2, 0x6c,0x1b,0x80,0x68,0xf9,0x2f,0x11,
+0x50,0x2, 0xb, 0x70,0x7c,0xb5,0x30,0xe7,0xf1,0x80,0x1b,0x2d,0x31,0x7c,0xb5,0xa5,
+0x39,0x7c,0x5b,0x50,0x11,0xb, 0x80,0x78,0x3, 0x2, 0x2, 0x6f,0x1e,0x34,0x13,0x50,
+0x3, 0x4e,0x60,0x80,0x1a,0x2b,0x2, 0x2, 0x43,0xbe,0x24,0xff,0xff,0x68,0x6, 0xbe,
+0x4, 0xff,0xff,0x78,0x3, 0x2, 0x2, 0x67,0x12,0x2, 0x2a,0x5c,0xb0,0x4, 0x68,0xf5,
+0x7c,0xb8,0xa5,0x48,0x68,0xef,0x7c,0xb8,0x70,0x3, 0x9f,0x11,0x22,0xa5,0xb8,0x0,
+0x3, 0x2, 0x2, 0x6f,0x2e,0x0, 0x81,0x50,0x7, 0x9c,0x80,0x38,0x7, 0x2, 0x2, 0x6c,
+0x9c,0x80,0x50,0xed,0xa, 0x51,0xc2,0xe7,0x4d,0x51,0x78,0x3, 0x2, 0x2, 0x59,0x7e,
+0x54,0x0, 0x80,0x7e,0x90,0x1a,0x6c,0x0, 0x80,0x6, 0x1b,0x90,0x68,0x14,0x2f,0x11,
+0xbf,0x10,0x40,0x4, 0x9f,0x10,0x4c,0xab,0x3, 0x30,0xe7,0xee,0xca,0xa8,0x6c,0xaa,
+0x80,0xe8,0xda,0x39,0xda,0x58,0x7c,0x4a,0xbe,0x50,0x80,0x50,0xa, 0x1b,0x80,0x68,
+0xbc,0x2f,0x11,0x50,0x2, 0xb, 0x70,0x2, 0x2, 0x43,0xc2,0xd5,0x7c,0xb4,0x30,0xe7,
+0x8, 0xb2,0xd5,0x6e,0x24,0xff,0xff,0xb, 0x24,0x7c,0xb6,0x30,0xe7,0x12,0xb2,0xd5,
+0x6e,0x34,0xff,0xff,0xb, 0x34,0x8d,0x32,0x6e,0x24,0xff,0xff,0xb, 0x24,0x80,0x2,
+0x8d,0x32,0x30,0xd5,0x6, 0x6e,0x34,0xff,0xff,0xb, 0x34,0x22,0x7d,0x51,0xad,0x3,
+0x7d,0x2, 0x7d,0x21,0xad,0x5, 0x2d,0x12,0xad,0x35,0x2d,0x21,0x22,0x7d,0x2, 0xad,
+0x31,0xad,0x10,0x2d,0x21,0x22,0x6d,0x0, 0x74,0x10,0x4d,0x0, 0x78,0xb, 0x4d,0x22,
+0x78,0x27,0x8d,0x31,0x7d,0x12,0x6d,0x22,0x22,0x7d,0x43,0x7d,0x32,0x6d,0x22,0x2f,
+0x11,0x2d,0x44,0x50,0x2, 0xa5,0xf, 0xbf,0x10,0x40,0x4, 0x9f,0x10,0xb, 0x90,0x14,
+0x78,0xed,0x7f,0x1, 0x6d,0x22,0x7d,0x34,0x22,0x7d,0x41,0x7d,0x13,0x8d,0x24,0x7d,
+0x2, 0x2f,0x0, 0x40,0x4, 0xbd,0x4, 0x40,0x4, 0x9d,0x4, 0xb, 0x14,0x14,0x78,0xf1,
+0x7d,0x23,0x7d,0x31,0x7d,0x10,0x6d,0x0, 0x22,0xc2,0xd5,0x7c,0xb0,0x30,0xe7,0x8,
+0xb2,0xd5,0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x7c,0xb4,0x30,0xe7,0x13,0xb2,0xd5,0x9f,
+0x22,0x9f,0x21,0x7f,0x12,0x12,0x4, 0x8, 0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x80,0x3,
+0x12,0x4, 0x8, 0x30,0xd5,0x6, 0x9f,0x22,0x9f,0x21,0x7f,0x12,0x22,0x6c,0xaa,0x4d,
+0x11,0x68,0x1a,0x1e,0x54,0x68,0xe, 0xb, 0x38,0x20,0x1b,0x18,0x20,0xb, 0x35,0xb,
+0x15,0x1b,0x54,0x78,0xf2,0x50,0x6, 0x7e,0x39,0x40,0x7a,0x19,0x40,0x22,0x7d,0x3,
+0x80,0xa, 0x7e,0x29,0xb0,0x7a,0x9, 0xb0,0xb, 0x24,0xb, 0x4, 0x7d,0x51,0x1b,0x14,
+0x4d,0x55,0x78,0xee,0x22,0x13,0x12,0x10,0xf, 0x14,0xe, 0xb, 0xc, 0x1, 0x7, 0xa,
+0x9, 0x2, 0x3, 0x5, 0x6, 0x11,0x4, 0x15,0x0, 0xd, 0x8, 0x7f,0x1, 0xbe,0x8, 0x0,
+0x0, 0x48,0x3, 0x7f,0x10,0x22,0x9f,0x11,0x9f,0x10,0x22,0x7d,0x13,0x80,0x7, 0x1b,
+0x24,0x7a,0x19,0xb0,0xb, 0x14,0x4d,0x22,0x78,0xf5,0x22,0x10,0x10,0x10,0x1c,0x19,
+0x14,0x10,0xe, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x0, 0xc, 0xc, 0xe9,0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xc, 0xf5,0x0, 0x0,
+0x0, 0x1, 0xc, 0xf7,0x0, 0x0, 0x1, 0xd, 0x10,0x0, 0x0, 0x1, 0xd, 0x11,0x0, 0x0,
+0x1, 0xd, 0x12,0x0, 0x0, 0x2e,0xa, 0x8d,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x16,0xa, 0xbb,0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x2e,0xa, 0xd1,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x1, 0xc, 0xd0,0x0, 0x0, 0x1, 0xc, 0xd2,0x0, 0x0, 0x2, 0xc, 0xd3,
+0x0, 0x0, 0x0, 0x1, 0xc, 0xd5,0x0, 0x0, 0x1, 0xc, 0xd7,0x0, 0x0, 0x1, 0xc, 0xd8,
+0x0, 0x0, 0x2, 0x0, 0x72,0x3, 0x1c,0x0, 0x4, 0x0, 0xa2,0x0, 0x0, 0x0, 0x0, 0x0,
+0x2, 0x2, 0xcd,0x0, 0x0, 0x0, 0x1, 0x2, 0xcf,0x0, 0x0, 0x1, 0x2, 0xd3,0x0, 0x0,
+0x1, 0x3, 0x48,0x0, 0x0, 0x1, 0x3, 0x4c,0x0, 0x0, 0x1, 0x3, 0x4d,0x0, 0x0, 0x1,
+0xd, 0x3a,0x0, 0x0, 0x1, 0xd, 0x3b,0xff,0x0, 0x1, 0xd, 0x3c,0x0, 0x0, 0x1, 0xd,
+0x3d,0x10,0x0, 0x1, 0xd, 0x3e,0x8, 0x0, 0x1, 0xd, 0x3f,0x0, 0x0, 0x1, 0x9, 0x6c,
+0x0, 0x0, 0x1, 0xd, 0x28,0x0, 0x0, 0x1, 0xb, 0x38,0x0, 0x0, 0x2, 0xd, 0x29,0x0,
+0x0, 0x0, 0x2, 0x6, 0xdb,0x6, 0xe1,0x0, 0x1, 0x9, 0x69,0x0, 0x0, 0x0, 0x7d,0x41,
+0x7d,0x12,0x1a,0x26,0x1a,0x24,0x12,0x6, 0x5e,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x2,
+0x4, 0x59,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x7f,0x17,0x9f,0x10,0x7d,0x1d,0x1a,0x2,
+0x1a,0x0, 0x2, 0x3, 0xec,0xca,0x3b,0x7f,0x71,0x7c,0xab,0x6c,0x33,0x6c,0xee,0x6d,
+0x22,0x7a,0x25,0x22,0x7a,0x25,0x24,0x7d,0x62,0x7d,0x82,0x7d,0x92,0x7d,0x42,0x7d,
+0xa2,0x7d,0xb2,0x7e,0x37,0x5, 0xf8,0x7d,0xd3,0x7e,0x24,0x0, 0x2, 0x12,0x3, 0xba,
+0x7d,0xc3,0xa, 0x3a,0x7e,0x24,0x0, 0xb, 0x12,0x3, 0xba,0x7c,0xb5,0x7c,0xfb,0xbe,
+0xf0,0x5, 0x50,0x4c,0x1a,0x13,0x12,0x7, 0x73,0x48,0x2c,0xbe,0x78,0x1, 0xa, 0x48,
+0x2, 0x80,0x3, 0x7e,0x45,0x24,0x12,0x6, 0x52,0x7d,0x54,0x12,0x7, 0x84,0xbe,0x78,
+0x0, 0xc7,0x8, 0x7c,0x7f,0x17,0x9e,0x18,0x0, 0xc7,0x12,0x0, 0xe, 0x7f,0x71,0x2e,
+0x18,0x0, 0xc7,0x7f,0x71,0x80,0x69,0xbe,0x78,0x0, 0x89,0x18,0x9, 0x7d,0x19,0x12,
+0x6, 0x54,0x7d,0x59,0x80,0x27,0x7e,0x45,0x22,0x12,0x6, 0x52,0x7d,0x54,0x80,0x1d,
+0x1a,0x1e,0x12,0x7, 0x73,0x48,0x1b,0xbe,0x78,0x1, 0x4, 0x48,0x9, 0x7d,0x1b,0x12,
+0x6, 0x54,0x7d,0x5b,0x80,0x7, 0x7d,0x18,0x12,0x6, 0x54,0x7d,0x58,0x12,0x7, 0x84,
+0x80,0x2e,0xbe,0x78,0x0, 0x87,0x18,0x9, 0x7d,0x1a,0x12,0x6, 0x54,0x7d,0x5a,0x80,
+0x7, 0x7d,0x16,0x12,0x6, 0x54,0x7d,0x56,0x12,0x7, 0x84,0xbe,0x78,0x0, 0x0, 0x58,
+0xf, 0x9f,0x11,0x9f,0x17,0x12,0x0, 0xe, 0x7f,0x71,0x9f,0x11,0x9f,0x17,0x7f,0x71,
+0xbe,0x78,0x0, 0x0, 0x58,0x6, 0x9f,0x11,0x7f,0x71,0x80,0x11,0x7d,0x1d,0x12,0x7,
+0x7d,0x48,0xa, 0x7d,0x3d,0x1a,0x26,0x1a,0x24,0x1b,0x1c,0x7f,0x71,0xbe,0xf0,0x5,
+0x40,0xc, 0x7d,0x1d,0x1a,0x2, 0x1a,0x0, 0x7f,0x17,0x2f,0x10,0x7f,0x71,0x7f,0x17,
+0xda,0x3b,0x22,0x1a,0x2, 0x7f,0x17,0x2f,0x10,0x7f,0x71,0x7d,0x1c,0x1a,0x2, 0x1a,
+0x0, 0xbf,0x70,0x22,0x3e,0x54,0x1a,0x4a,0x1a,0x48,0x7d,0x1d,0x1a,0x2, 0x1a,0x0,
+0x9f,0x2, 0x12,0x4, 0x59,0x7f,0x71,0x22,0xca,0x3b,0x7e,0xa3,0x0, 0x90,0x7c,0xca,
+0x5e,0xc0,0xf, 0x7c,0xba,0xc4,0x7c,0x3b,0x5e,0x30,0xf, 0x4c,0xcc,0x78,0x2d,0x12,
+0x9, 0xa5,0xbe,0x30,0x0, 0x38,0x3, 0x2, 0x9, 0xa2,0x6c,0xff,0x7e,0x20,0xff,0x74,
+0x5, 0xac,0xbf,0x19,0x25,0x2, 0xc4,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xf1,0x75,0x1c,
+0x1, 0x75,0x12,0x0, 0xe4,0x7a,0xb3,0xc, 0xf7,0x2, 0x9, 0xa2,0x7e,0x23,0xc, 0xf7,
+0xbe,0x20,0x3c,0x50,0x14,0x7e,0x4, 0xa, 0x0, 0x7a,0x7, 0x0, 0x9e,0x12,0x4d,0x19,
+0x7c,0xb2,0x4, 0x7a,0xb3,0xc, 0xf7,0x80,0xd, 0x7e,0x37,0x0, 0x9e,0xbe,0x34,0xa,
+0x0, 0x68,0x3, 0x12,0x4d,0x11,0x6c,0xff,0x7e,0x20,0xff,0x74,0x5, 0xac,0xbf,0x19,
+0x25,0xa, 0x1, 0x7e,0x34,0x7f,0xff,0x59,0x35,0x9, 0xfd,0x59,0x35,0x9, 0xff,0xb,
+0xf0,0xbe,0xf0,0x2, 0x78,0xe2,0x6c,0xff,0x80,0x23,0x7e,0x50,0x5, 0xac,0x5f,0x7d,
+0x2, 0x2e,0x4, 0x0, 0x7a,0xb, 0x8, 0x30,0x12,0x0, 0x6a,0x1b,0x8, 0x30,0x2e,0x24,
+0x0, 0x7c,0xb, 0x28,0x30,0x12,0x0, 0x6a,0x1b,0x28,0x30,0xb, 0xf0,0xbc,0xcf,0x38,
+0xd9,0xa5,0xbb,0x0, 0x28,0x6c,0xff,0x80,0x1e,0x74,0x5, 0xac,0xbf,0x49,0x45,0x0,
+0x7a,0x59,0x45,0x2, 0xc0,0x49,0x45,0x0, 0x7c,0x59,0x45,0x2, 0xc2,0x9, 0x75,0x0,
+0x7e,0x19,0x75,0x2, 0xc4,0xb, 0xf0,0xbc,0xcf,0x38,0xde,0x21,0x4a,0x6c,0xdd,0x6c,
+0xff,0x6c,0xee,0x7e,0x70,0x5, 0xac,0x7e,0x9, 0xa3,0x2, 0xc4,0x7e,0x50,0x5, 0xac,
+0x5f,0x9, 0xb2,0x0, 0x7e,0xbc,0xba,0x78,0x13,0xbe,0xb0,0xff,0x68,0xe, 0xbe,0xd0,
+0x2, 0x50,0x10,0x2e,0x34,0x2, 0xc0,0x12,0xe, 0x60,0x80,0x7, 0xb, 0xe0,0xbe,0xe0,
+0x2, 0x40,0xd0,0xbe,0xe0,0x2, 0x78,0xb, 0xbe,0xd0,0x2, 0x50,0x6, 0x12,0x3e,0x25,
+0x12,0xe, 0x60,0xb, 0xd0,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xb5,0x6c,0xff,0x12,0x3e,
+0x15,0x2e,0x34,0x9, 0xfd,0x2e,0x14,0x2, 0xc0,0x12,0x3e,0x2f,0x78,0xf0,0xe5,0x12,
+0x70,0x68,0x6c,0xff,0x80,0x60,0x7c,0xef,0x6c,0xdd,0x80,0x21,0x7e,0x90,0x5, 0xac,
+0x9f,0x9, 0xa4,0x2, 0xc4,0x7e,0x70,0x5, 0xac,0x7d,0x9, 0xb3,0x0, 0x7e,0xbc,0xba,
+0x78,0x9, 0xbe,0xa0,0xff,0x68,0x4, 0x7c,0xed,0x80,0x6, 0xb, 0xd0,0xbc,0xcd,0x38,
+0xdb,0xbe,0xe0,0x2, 0x40,0x2, 0x7c,0xef,0x12,0xf, 0xfd,0xbe,0x34,0x18,0xe0,0x50,
+0xa, 0x49,0x24,0x2, 0xc2,0xbe,0x24,0x18,0xe0,0x40,0x12,0x49,0x24,0x0, 0x7a,0x74,
+0x5, 0xac,0xbf,0x59,0x25,0x2, 0xc0,0x59,0x35,0x2, 0xc2,0x80,0x7, 0x7c,0xbf,0x7c,
+0x7e,0x12,0x9, 0xdd,0xb, 0xf0,0xbc,0xcf,0x38,0x9c,0x6c,0xff,0x74,0x5, 0xac,0xbf,
+0x49,0x45,0x2, 0xc0,0x12,0x0, 0x1e,0x59,0x45,0x0, 0x7a,0x49,0x45,0x2, 0xc2,0x12,
+0x0, 0x1e,0x59,0x45,0x0, 0x7c,0x9, 0x75,0x2, 0xc4,0x19,0x75,0x0, 0x7e,0xb, 0xf0,
+0xbe,0xf0,0x2, 0x78,0xd7,0xbe,0xc0,0x0, 0x28,0x25,0x6c,0xff,0x74,0x5, 0xac,0xbf,
+0x49,0x45,0x0, 0x7a,0x59,0x45,0x2, 0xb6,0x49,0x45,0x0, 0x7c,0x59,0x45,0x2, 0xb8,
+0x9, 0x75,0x0, 0x7e,0x19,0x75,0x2, 0xba,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xdd,0x75,
+0x9, 0x1, 0xda,0x3b,0x22,0x12,0xe, 0xaf,0x78,0x32,0x20,0xc, 0x2f,0x6c,0xaa,0x7e,
+0x44,0x7f,0xff,0x7e,0x70,0x4, 0xac,0x7a,0x59,0x43,0xc, 0xe1,0x59,0x43,0xc, 0xe3,
+0x6d,0x33,0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0xc, 0xdd,0x7e,0x34,0x1, 0x0, 0x59,
+0x32,0xc, 0xd9,0xb, 0xa0,0xbe,0xa0,0x2, 0x78,0xd5,0xd2,0xc, 0x22,0xca,0x3b,0x7c,
+0xe7,0x7c,0xdb,0x75,0x24,0x0, 0x9f,0x11,0x7a,0x1f,0xa, 0xb, 0x7a,0x1f,0xa, 0xf,
+0x7a,0x1f,0xa, 0x13,0x12,0x3c,0x6, 0x74,0x5, 0xac,0xbd,0x49,0x15,0x2, 0xc0,0x49,
+0x5, 0x2, 0xc2,0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x7, 0x74,0x5, 0xac,0xbd,0x9, 0xf5,
+0x2, 0xc4,0xbe,0xf0,0x2, 0x40,0x2, 0x6c,0xff,0x12,0x3c,0x6, 0x74,0x4, 0xac,0xbf,
+0x49,0x15,0xc, 0xe1,0x49,0x5, 0xc, 0xe3,0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x9, 0x7e,
+0x27,0xa, 0x7, 0x7e,0x34,0x0, 0xdc,0xad,0x23,0x7e,0x17,0x0, 0x9e,0x12,0x4, 0x6,
+0x7a,0x35,0x22,0xbe,0x34,0x0, 0xa, 0x50,0x7, 0x7e,0x34,0x0, 0xa, 0x7a,0x35,0x22,
+0x75,0x24,0x0, 0x6c,0xcc,0x7e,0x90,0x14,0xac,0x9f,0x49,0x24,0xb, 0x3, 0x49,0x34,
+0xb, 0x7, 0xbd,0x32,0x78,0xe, 0x49,0x54,0xb, 0x5, 0x49,0x34,0xb, 0x9, 0xbd,0x35,
+0x78,0x2, 0xa1,0x41,0x74,0x5, 0xac,0xbe,0x49,0x15,0x0, 0x7c,0x1e,0x14,0x1e,0x14,
+0x1e,0x14,0x1e,0x14,0x6d,0x0, 0x7a,0xf, 0xa, 0x13,0xbe,0x8, 0x0, 0x18,0x48,0xa,
+0x7e,0xf, 0xa, 0x13,0xbe,0x8, 0x1, 0x76,0x8, 0x5, 0x75,0x25,0x34,0x80,0x1c,0x7e,
+0xf, 0xa, 0x13,0xbe,0x8, 0x0, 0x31,0x48,0xa, 0x7e,0xf, 0xa, 0x13,0xbe,0x8, 0x1,
+0x5d,0x8, 0x5, 0x75,0x25,0x20,0x80,0x3, 0x75,0x25,0x19,0x49,0x35,0x0, 0x7a,0x12,
+0xe, 0xa3,0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0xf, 0x74,0x5, 0xac,0xbe,0x49,0x35,0x0,
+0x7c,0x12,0xe, 0xa3,0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x5, 0x12,0xe, 0x2f,0x7a,
+0x1f,0xa, 0x13,0x7d,0x3, 0x7e,0x1f,0xa, 0xf, 0x7d,0x13,0x2d,0x10,0x7a,0x17,0xa,
+0x17,0xbe,0x14,0x0, 0x7, 0x8, 0x3d,0xbe,0x18,0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,
+0x1f,0xa, 0xf, 0x7e,0x1f,0xa, 0x13,0xbe,0x18,0x0, 0x0, 0x78,0xa, 0x7e,0x1f,0xa,
+0x13,0xb, 0x1c,0x7a,0x1f,0xa, 0x13,0x12,0xe, 0x39,0x8, 0x4, 0xb, 0xc0,0x80,0x14,
+0x7e,0x1f,0xa, 0xb, 0xbe,0x18,0x0, 0x64,0x8, 0xa, 0x12,0x5b,0x8e,0x12,0xe, 0x4e,
+0x8, 0x2, 0x5, 0x24,0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x3, 0x49,0x35,0xb, 0x7,
+0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0xf, 0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x5, 0x49,
+0x35,0xb, 0x9, 0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0x13,0x7e,0x1f,0xa, 0xf, 0xbe,0x18,
+0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,0x1f,0xa, 0xf, 0x7e,0x1f,0xa, 0x13,0xbe,0x18,
+0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,0x1f,0xa, 0x13,0x12,0xe, 0x39,0x8, 0x4, 0xb,
+0xc0,0x80,0x14,0x7e,0x1f,0xa, 0xb, 0xbe,0x18,0x0, 0x64,0x8, 0xa, 0x12,0x5b,0x8e,
+0x12,0xe, 0x4e,0x8, 0x2, 0x5, 0x24,0x74,0x14,0xac,0xbf,0x12,0xe, 0x6e,0x7d,0xf3,
+0xbe,0xf7,0xa, 0x17,0x8, 0x2, 0xa1,0x2e,0xe5,0x25,0xbe,0xb0,0x34,0x7e,0x1f,0xa,
+0xb, 0x40,0x9, 0x12,0x5b,0x32,0x7e,0x8, 0x0, 0x5a,0x80,0x7, 0x12,0x5b,0x32,0x7e,
+0x8, 0x0, 0x4b,0x12,0x4, 0x59,0x7a,0x1f,0xa, 0xb, 0xe5,0x24,0x60,0x2, 0x81,0xe2,
+0x4c,0xcc,0x68,0x2, 0x81,0xe2,0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0x3, 0x6d,0x22,
+0x49,0x15,0xb, 0xb, 0x6d,0x0, 0x9f,0x1, 0x7a,0xf, 0xa, 0xf, 0x12,0x57,0xea,0x74,
+0x14,0xac,0xbf,0x49,0x15,0xb, 0x3, 0x12,0x5b,0x4, 0x49,0x15,0x0, 0x7a,0x6d,0x0,
+0x2f,0x10,0xbe,0x18,0x0, 0x0, 0x48,0x19,0x74,0x6, 0xac,0xbf,0x49,0xe5,0xc, 0xed,
+0x4d,0xee,0x78,0xd, 0x12,0x0, 0x10,0x7d,0xe3,0x74,0x5, 0xac,0xbe,0x59,0xe5,0x0,
+0x7a,0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0x5, 0x6d,0x22,0x74,0x14,0xac,0xbf,0x12,
+0x57,0xb2,0x9f,0x1, 0x7a,0xf, 0xa, 0x13,0x12,0x57,0xea,0x74,0x14,0xac,0xbf,0x49,
+0x15,0xb, 0x5, 0x12,0x5b,0x4, 0x49,0x15,0x0, 0x7c,0x6d,0x0, 0x2f,0x10,0xbe,0x18,
+0x0, 0x0, 0x48,0x17,0x74,0x6, 0xac,0xbf,0x49,0x15,0xc, 0xed,0x4d,0x11,0x78,0xb,
+0x12,0x0, 0x10,0x74,0x5, 0xac,0xbe,0x59,0x35,0x0, 0x7c,0x7e,0x90,0x6, 0xac,0x9f,
+0x49,0x54,0xc, 0xe9,0x4d,0x55,0x78,0x14,0x7e,0x1f,0xa, 0xf, 0x7d,0x53,0x59,0x54,
+0xc, 0xe9,0x7e,0x1f,0xa, 0x13,0x7d,0x53,0x59,0x54,0xc, 0xeb,0x49,0x34,0xc, 0xe9,
+0x1a,0x26,0x1a,0x24,0x7e,0x7f,0xa, 0xf, 0x7f,0x7, 0x12,0xe, 0x9b,0x48,0x11,0x49,
+0x34,0xc, 0xeb,0x1a,0x26,0x1a,0x24,0x7e,0xf, 0xa, 0x13,0x12,0xe, 0x9b,0x58,0x32,
+0x74,0x6, 0xac,0xbf,0x49,0x35,0xc, 0xed,0xbe,0x34,0x0, 0x3, 0x58,0xe, 0x7e,0x50,
+0x6, 0xac,0x5f,0x2e,0x24,0xc, 0xed,0xb, 0x34,0x1b,0x28,0x30,0x7d,0x3f,0x74,0x6,
+0xac,0xbf,0x59,0x35,0xc, 0xe9,0x7e,0x1f,0xa, 0x13,0x74,0x6, 0xac,0xbf,0x59,0x35,
+0xc, 0xeb,0xe5,0x24,0xbe,0xb0,0x2, 0x40,0xe, 0x74,0x6, 0xac,0xbf,0x49,0x45,0xc,
+0xed,0xbe,0x44,0x0, 0x2, 0x48,0x5, 0x75,0x24,0x0, 0x80,0xc, 0x4d,0x44,0x78,0x8,
+0x7e,0x34,0x0, 0x1, 0x59,0x35,0xc, 0xed,0xbe,0xc0,0x2, 0x40,0xf, 0x7e,0x50,0x6,
+0xac,0x5f,0x49,0x32,0xc, 0xed,0xbe,0x34,0x0, 0x2, 0x48,0x4, 0x6c,0xcc,0x80,0x33,
+0x4d,0x33,0x78,0x2f,0x7e,0x34,0x0, 0x1, 0x59,0x32,0xc, 0xed,0x80,0x25,0x7e,0x34,
+0x0, 0x2, 0x74,0x6, 0xac,0xbf,0x59,0x35,0xc, 0xed,0x75,0x24,0x0, 0x6c,0xcc,0x80,
+0x12,0x6d,0x33,0x74,0x6, 0xac,0xbf,0x59,0x35,0xc, 0xe9,0x59,0x35,0xc, 0xeb,0x59,
+0x35,0xc, 0xed,0x7e,0x35,0x22,0xbe,0x34,0x1, 0x0, 0x28,0x7, 0x7e,0x34,0x1, 0x0,
+0x7a,0x35,0x22,0x74,0x5, 0xac,0xbd,0x49,0x25,0x2, 0xc0,0x74,0x5, 0xac,0xbe,0x12,
+0x3c,0x77,0x7a,0x37,0xa, 0x9, 0xe5,0x24,0x60,0x13,0x12,0x5b,0x5d,0x74,0x14,0x1e,
+0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x80,0x3, 0x12,0x5a,0xf4,
+0x7a,0x37,0xa, 0x9, 0x7e,0x90,0x5, 0xac,0x9d,0x49,0x34,0x2, 0xc0,0x74,0x5, 0xac,
+0xbe,0x49,0x25,0x0, 0x7a,0xbd,0x23,0x28,0x11,0x7d,0x14,0x2e,0x14,0x2, 0xc0,0x7d,
+0x23,0x2e,0x27,0xa, 0x9, 0x1b,0x18,0x20,0x80,0xd, 0x7d,0x24,0x2e,0x24,0x2, 0xc0,
+0x9e,0x37,0xa, 0x9, 0x1b,0x28,0x30,0x49,0x24,0x2, 0xc2,0x12,0x3e,0xc, 0x7a,0x37,
+0xa, 0x9, 0x4c,0xcc,0x68,0x13,0x12,0x5b,0x5d,0x74,0xa, 0x1e,0x34,0x1e,0x24,0x50,
+0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x80,0x3, 0x12,0x5a,0xf4,0x7a,0x37,0xa, 0x9,
+0x7e,0x30,0x5, 0xac,0x3d,0x49,0x21,0x2, 0xc2,0x12,0xf, 0xfd,0xbd,0x32,0x7d,0x51,
+0x28,0xf, 0x2e,0x54,0x2, 0xc2,0x7d,0x2, 0x2e,0x7, 0xa, 0x9, 0x1b,0x58,0x0, 0x80,
+0xb, 0x2e,0x54,0x2, 0xc2,0x9e,0x27,0xa, 0x9, 0x1b,0x58,0x20,0x49,0x24,0x0, 0x7a,
+0x74,0x4, 0xac,0xbf,0x59,0x25,0xc, 0xe1,0x59,0x35,0xc, 0xe3,0xda,0x3b,0x22,0x9d,
+0x32,0x12,0x0, 0x2e,0x1a,0x26,0x1a,0x24,0x22,0x7e,0xb4,0x0, 0x64,0x7e,0x7f,0xa,
+0x13,0x7f,0x17,0x7d,0x1b,0x12,0x3, 0xfd,0x7e,0x6f,0xa, 0xf, 0x7f,0x6, 0x12,0x4,
+0x59,0x7f,0x1, 0x7a,0xf, 0xa, 0xb, 0xe5,0x25,0xa, 0x3b,0x6d,0x22,0xbf,0x10,0x22,
+0x7e,0x30,0x5, 0xac,0x3d,0x2e,0x14,0x9, 0xfd,0x74,0x5, 0x2, 0x4, 0x8d,0x49,0x35,
+0xb, 0xb, 0x49,0x25,0xb, 0xd, 0x49,0x15,0xb, 0x3, 0x49,0x5, 0xb, 0x5, 0xca,0x3b,
+0x7d,0x61,0x7a,0x35,0x26,0x7d,0x32,0x9d,0x30,0x12,0x0, 0x2e,0x7d,0x73,0x7e,0x35,
+0x26,0x9d,0x36,0x12,0x0, 0x2e,0x2d,0x37,0xda,0x3b,0x22,0x12,0x3, 0xec,0xbe,0x18,
+0x0, 0x0, 0x22,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x22,0x12,0xe, 0xba,0x7e,
+0xb3,0x0, 0x90,0x54,0xf, 0x22,0x7a,0xb3,0xb, 0x88,0x60,0x2a,0x7e,0xb3,0x6, 0xca,
+0x20,0xe7,0x3d,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x12,0x41,
+0x1d,0x7e,0xb3,0x6, 0xca,0x54,0xc7,0x44,0x10,0x12,0x17,0x72,0x12,0x5b,0x83,0x44,
+0x80,0x7a,0xb3,0x6, 0xca,0x22,0x7e,0xb3,0x6, 0xca,0x30,0xe7,0x13,0x54,0xc7,0x44,
+0x28,0x12,0x17,0x72,0x12,0x5b,0x83,0x54,0x7f,0x7a,0xb3,0x6, 0xca,0x2, 0x2f,0x8e,
+0x22,0xca,0x79,0x7e,0x77,0x0, 0x92,0x4d,0x77,0x78,0x32,0xe4,0x12,0xe, 0xac,0xbe,
+0xb0,0x0, 0x28,0x5, 0x75,0xb, 0x0, 0xe1,0xa6,0x7e,0xb3,0x0, 0x94,0x20,0xe0,0x2,
+0xe1,0xa6,0x7e,0x73,0x0, 0x99,0xbe,0x71,0xb, 0x38,0x7b,0x75,0xb, 0x0, 0x7e,0x34,
+0x0, 0x1, 0x7a,0x37,0x0, 0x92,0x74,0x1, 0x12,0xe, 0xb6,0x80,0x69,0xbe,0x74,0x0,
+0x1, 0x78,0x14,0x74,0x1, 0x12,0xe, 0xac,0x68,0x5c,0x12,0x4d,0x9, 0x12,0xe, 0xb6,
+0x75,0xd, 0x27,0xd2,0x5, 0x80,0x4f,0xbe,0x74,0x0, 0x3, 0x78,0x49,0x7e,0xb3,0x0,
+0x9b,0x12,0x4a,0x48,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x12,
+0xf, 0xf3,0x12,0x2f,0x66,0x74,0x2, 0x12,0xf, 0xcd,0x12,0x49,0xe0,0x12,0x0, 0x27,
+0xc2,0xa8,0xc2,0x95,0xa9,0xd0,0xca,0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,0x4a,0x30,
+0x12,0x1c,0xcb,0x12,0x4d,0x9, 0x7a,0xb3,0xb, 0x88,0x74,0xa, 0x7a,0xb3,0x6, 0xda,
+0x7e,0xb3,0x6, 0xda,0x70,0xfa,0x7e,0x77,0x0, 0x92,0x4d,0x77,0x78,0xb, 0x80,0x4,
+0xe4,0x12,0xf, 0xcd,0x30,0x5, 0xf9,0x80,0xc, 0xbe,0x74,0x0, 0x1, 0x78,0x6, 0x12,
+0xf, 0xf3,0x12,0x2f,0xac,0x75,0xd, 0x0, 0xc2,0x5, 0xda,0x79,0x22,0x70,0x5, 0x43,
+0x87,0x1, 0x80,0x1a,0xb4,0x1, 0xb, 0xa9,0xd0,0xce,0xa9,0xd7,0xc9,0x43,0x87,0x2,
+0x80,0xc, 0xb4,0x2, 0xd, 0xa9,0xd0,0xce,0xa9,0xc7,0xc9,0x43,0x87,0x2, 0x0, 0x0,
+0x0, 0x0, 0x22,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x20,0x93,0xf9,0x22,0x7e,0x90,0x5,
+0xac,0x9e,0x49,0x34,0x0, 0x7c,0x22,0x7d,0xf3,0xbe,0xf4,0x0, 0x50,0x38,0x28,0x7e,
+0x54,0x0, 0x50,0x9d,0x5f,0x12,0x11,0x3b,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x28,
+0x4, 0x9f,0x22,0x80,0x8, 0x7e,0x18,0x0, 0x2d,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0,
+0x0, 0x50,0x64,0x9f,0x22,0x80,0x60,0xbe,0xf4,0x1, 0x2f,0x40,0x20,0x12,0x11,0x35,
+0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x40,0x4, 0x7e,0x28,0x0, 0x2c,0xbe,0x28,0x0,
+0x2d,0x28,0x4, 0x7e,0x28,0x0, 0x2d,0x2e,0x28,0x1, 0x61,0x80,0x3a,0xbe,0xf4,0x0,
+0xbf,0x50,0x23,0x7e,0x54,0x0, 0xbf,0x9d,0x5f,0x12,0x10,0xa0,0xbe,0x28,0x0, 0xc7,
+0x38,0x8, 0x7e,0x18,0x0, 0xc7,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0, 0x2d,0x50,0x17,
+0x7e,0x28,0x0, 0x2d,0x80,0x11,0x12,0x10,0x9a,0x2e,0x28,0x0, 0xc7,0xbe,0x28,0x1,
+0x61,0x28,0x4, 0x7e,0x28,0x1, 0x61,0x7d,0x35,0x22,0x7d,0x5f,0x9e,0x54,0x0, 0xbf,
+0x6d,0x44,0x7e,0x14,0x1, 0x81,0x7f,0x12,0x12,0x3, 0xfd,0x7f,0x21,0x7c,0xba,0x7c,
+0xa9,0xa, 0x48,0x22,0x7d,0xf3,0xbe,0xf4,0x0, 0x50,0x38,0x20,0x7e,0x54,0x0, 0x50,
+0x9d,0x5f,0x12,0x11,0x3b,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x28,0x4, 0x9f,0x22,
+0x80,0x60,0x7e,0x18,0x0, 0x2d,0x9f,0x12,0x7f,0x21,0x80,0x56,0xbe,0xf4,0x1, 0x2f,
+0x40,0x16,0x12,0x11,0x35,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x40,0x4, 0x7e,0x28,
+0x0, 0x2c,0x2e,0x28,0x1, 0x61,0x80,0x3a,0xbe,0xf4,0x0, 0xbf,0x50,0x23,0x7e,0x54,
+0x0, 0xbf,0x9d,0x5f,0x12,0x10,0xa0,0xbe,0x28,0x0, 0xc7,0x38,0x8, 0x7e,0x18,0x0,
+0xc7,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0, 0x2d,0x50,0x17,0x7e,0x28,0x0, 0x2d,0x80,
+0x11,0x12,0x10,0x9a,0x2e,0x28,0x0, 0xc7,0xbe,0x28,0x1, 0x61,0x28,0x4, 0x7e,0x28,
+0x1, 0x61,0x7d,0x35,0x22,0x7d,0x5f,0x9e,0x54,0x1, 0x2f,0x6d,0x44,0x7e,0x14,0x2,
+0x7, 0x22,0xca,0xf8,0x6c,0xff,0x80,0x1d,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7a,
+0x12,0x10,0x7, 0x74,0x5, 0xac,0xbf,0x59,0x35,0x0, 0x7a,0x49,0x35,0x0, 0x7c,0x12,
+0x10,0xb4,0x12,0x3c,0x51,0x12,0x38,0x94,0x48,0xde,0xda,0xf8,0x22,0xca,0xf8,0x12,
+0x49,0xe0,0x7e,0x34,0x2, 0xd4,0x7a,0x37,0x6, 0xd8,0x12,0x4c,0x52,0xe4,0x12,0x43,
+0xb3,0x12,0x4d,0x63,0x12,0x3e,0x73,0x12,0x47,0xb1,0xe4,0x12,0x3f,0xc9,0x12,0x1c,
+0xc2,0x12,0x4e,0xf1,0x7e,0xb3,0xb, 0x9f,0xb4,0x1, 0x2, 0x80,0x2, 0x41,0x84,0x7e,
+0xf3,0x6, 0x4d,0x4c,0xff,0x68,0x36,0xbe,0xf0,0x1, 0x78,0xa, 0xe4,0x7a,0xb3,0x6,
+0x4d,0x12,0x3e,0xc9,0x80,0x12,0xbe,0xf0,0x3, 0x78,0x5, 0x12,0x1b,0xdc,0x80,0x8,
+0xbe,0xf0,0x2, 0x78,0x3, 0x12,0x17,0xff,0x7e,0x34,0xa, 0xd1,0x12,0x14,0xea,0x7e,
+0x34,0xa, 0xbb,0x12,0x14,0xea,0x7e,0x34,0xa, 0x8d,0x12,0x14,0xea,0x12,0x48,0x4c,
+0x12,0x37,0xfc,0x12,0x1f,0xf9,0x44,0x1, 0x7a,0xb3,0x6, 0xd7,0x12,0x15,0x1d,0x12,
+0x2f,0x45,0x12,0x27,0xfc,0x12,0x30,0xd8,0x12,0x23,0x3e,0x12,0x2a,0xa0,0x12,0x3c,
+0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x3, 0x12,0x14,0xfa,0x12,0xe, 0xaf,0x12,0x0,
+0x3e,0x7e,0x34,0x3, 0x5c,0x7e,0x24,0x5, 0x34,0x7e,0xb3,0x6, 0xc8,0x12,0x2d,0xc3,
+0x12,0x0, 0x6, 0x12,0x26,0x96,0x12,0x11,0x42,0x12,0x38,0x63,0x12,0x2d,0x3d,0x12,
+0x12,0x87,0x7e,0xb3,0xb, 0x38,0x60,0x8, 0xe4,0x7a,0xb3,0xb, 0x38,0x12,0x28,0x8c,
+0x12,0x3f,0x3d,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x3, 0x12,0x14,0xfa,0x12,0x18,0x72,
+0x12,0x2e,0xe5,0x12,0x28,0x97,0x12,0x28,0x27,0x12,0x38,0xa1,0x12,0x3c,0x80,0x12,
+0x7, 0x98,0x12,0x57,0xfa,0x12,0x51,0x3e,0x12,0x53,0xbf,0x7e,0xb3,0x6, 0x67,0x30,
+0xe1,0x3, 0x12,0x14,0xfa,0x7e,0xb3,0x0, 0x9a,0x12,0x41,0xc9,0x12,0xf, 0x1, 0x12,
+0x3e,0xf1,0x21,0x94,0xda,0xf8,0x22,0xca,0x3b,0x7e,0xb3,0x0, 0x90,0x7c,0xab,0x5e,
+0xa0,0xf, 0x7a,0xa1,0x25,0xc4,0x54,0xf, 0x54,0xf, 0xf5,0x26,0x7e,0x77,0x0, 0x6a,
+0x7e,0x67,0x0, 0x6c,0x7e,0xb3,0x0, 0x68,0xf5,0x23,0x7e,0xb3,0x0, 0x69,0xf5,0x24,
+0x4c,0xaa,0x78,0x4, 0xc2,0x4, 0x81,0x72,0xe5,0x25,0xbe,0xb0,0x1, 0x28,0x58,0x75,
+0x22,0x0, 0x80,0x48,0x12,0x14,0xe3,0x49,0x45,0x0, 0x7a,0x7a,0x45,0x2f,0x49,0x35,
+0x0, 0x7c,0x12,0x15,0x12,0x28,0xa, 0x12,0x14,0xf2,0x28,0x2e,0xbe,0x35,0x31,0x28,
+0x29,0x12,0x14,0x9b,0xbd,0x36,0x28,0x22,0x7a,0x65,0x29,0x12,0x17,0xf7,0x50,0x3,
+0x12,0x17,0xef,0x7e,0x35,0x33,0x12,0x14,0xc0,0x12,0x14,0xe3,0x59,0x35,0x0, 0x7a,
+0x12,0x14,0xbd,0x12,0x14,0xe3,0x59,0x35,0x0, 0x7c,0x5, 0x22,0xe5,0x25,0xbe,0xb1,
+0x22,0x38,0xb1,0xc2,0x4, 0x81,0x72,0xe5,0x25,0xb4,0x1, 0x22,0xe5,0x26,0x70,0x1e,
+0x12,0x15,0x7, 0x28,0xe, 0x12,0x14,0xf2,0x28,0x5, 0xbe,0x35,0x31,0x38,0x4, 0xc2,
+0x4, 0x81,0x72,0x12,0x14,0x9b,0x7a,0x35,0x29,0x12,0x5a,0xd1,0x81,0x9, 0xe5,0x25,
+0xb4,0x1, 0x2, 0x80,0x2, 0x81,0x9, 0x12,0x15,0x7, 0x28,0xe, 0x12,0x14,0xf2,0x28,
+0x5, 0xbe,0x35,0x31,0x38,0x4, 0xc2,0x4, 0x81,0x72,0x12,0x14,0x9b,0x9e,0x37,0x0,
+0x60,0x12,0x0, 0x2e,0x7a,0x35,0x2b,0x7e,0x35,0x33,0x9e,0x37,0x0, 0x50,0x7e,0x25,
+0x35,0x9e,0x27,0x0, 0x52,0x12,0x14,0x7e,0x7a,0x35,0x2d,0x7e,0x37,0x0, 0x70,0xbe,
+0x35,0x2d,0x50,0x28,0x7e,0x35,0x27,0x9e,0x37,0x0, 0x54,0x12,0x0, 0x2e,0x7e,0xa1,
+0x23,0x74,0x5, 0xa4,0xbd,0x35,0x58,0xc, 0x7e,0xa0,0x2, 0xe5,0x23,0xa4,0xf5,0x23,
+0xd2,0x4, 0x80,0x8, 0x7e,0xb3,0x0, 0x68,0xf5,0x23,0xc2,0x4, 0x30,0x4, 0x30,0xe5,
+0x23,0xa, 0x3b,0xbe,0x35,0x2b,0x28,0x4, 0x6d,0x33,0x80,0x27,0xe5,0x24,0xa, 0x3b,
+0xbe,0x35,0x2b,0x28,0x14,0x7e,0x25,0x2b,0x7e,0x34,0x0, 0x64,0xad,0x23,0xe5,0x24,
+0xa, 0x1b,0x6d,0x0, 0x12,0x4, 0x8, 0x80,0xa, 0x7e,0x34,0x0, 0x64,0x80,0x4, 0x7e,
+0x34,0x0, 0x64,0x7a,0x35,0x2b,0x7e,0xf7,0x0, 0x60,0x7d,0x1f,0x6d,0x0, 0x7e,0x35,
+0x27,0x6d,0x22,0x9f,0x10,0x7e,0x15,0x2b,0x12,0x3, 0xfd,0x12,0x27,0xba,0x7f,0x1,
+0x7d,0x3f,0x6d,0x22,0x2f,0x10,0x7a,0x35,0x29,0x7e,0x35,0x29,0xbd,0x36,0x38,0x7,
+0x7e,0x25,0x27,0xbd,0x26,0x28,0x5, 0x7a,0x65,0x29,0x80,0xb, 0xbe,0x34,0x0, 0x1,
+0x50,0x5, 0x6d,0x33,0x7a,0x35,0x29,0x12,0x17,0xf7,0x50,0x3, 0x12,0x17,0xef,0x7e,
+0x35,0x33,0x12,0x14,0xc0,0x7a,0x37,0x0, 0x7a,0x12,0x14,0xbd,0x7d,0x23,0x7a,0x27,
+0x0, 0x7c,0x7e,0x37,0x0, 0x7a,0x7a,0x35,0x2f,0x7a,0x25,0x31,0x7d,0x27,0x12,0x14,
+0x75,0x7a,0x35,0x33,0x7e,0x35,0x31,0x7d,0x27,0x12,0x14,0x75,0x7a,0x35,0x35,0x7e,
+0x35,0x29,0x7a,0x37,0x0, 0x60,0x7e,0x27,0x0, 0x70,0xbe,0x25,0x2d,0x50,0x3, 0x12,
+0x5a,0xd1,0xda,0x3b,0x22,0x7d,0x12,0x6d,0x0, 0x6d,0x22,0x9f,0x10,0x22,0x7d,0x52,
+0x7d,0x43,0x7d,0x35,0x12,0x17,0x69,0x7f,0x71,0x7d,0x34,0x12,0x17,0x69,0x2f,0x17,
+0x7c,0xb4,0x12,0x1, 0x20,0x12,0x1, 0x9a,0x2, 0x1, 0x5d,0x7e,0x35,0x2f,0x7d,0x27,
+0x12,0x14,0x75,0x7a,0x35,0x33,0x7e,0x35,0x31,0x7d,0x27,0x12,0x14,0x75,0x7d,0x23,
+0x7a,0x25,0x35,0x7e,0x35,0x33,0x12,0x14,0x7e,0x7a,0x35,0x27,0x22,0x7e,0x35,0x35,
+0x7e,0x25,0x29,0x7e,0x15,0x27,0x7d,0x7, 0x7d,0xf0,0x7d,0xe1,0x7d,0x12,0x1a,0x26,
+0x1a,0x24,0x12,0x3, 0xfd,0x7d,0x1e,0x6d,0x0, 0x12,0x4, 0x59,0x7d,0x1f,0x6d,0x0,
+0x2f,0x10,0x22,0x7e,0xa1,0x22,0x74,0x5, 0xa4,0x22,0x7e,0x24,0x0, 0x16,0xe4,0x2,
+0x4, 0xeb,0x7e,0x37,0x0, 0x72,0xbe,0x35,0x2f,0x22,0x7e,0xb3,0x0, 0x90,0x54,0xf0,
+0x44,0x2, 0x7a,0xb3,0x0, 0x90,0x22,0x7e,0x37,0x0, 0x7a,0x7a,0x35,0x2f,0x7e,0x37,
+0x0, 0x7c,0x7a,0x35,0x31,0x7e,0x73,0x6, 0xc7,0xbe,0x70,0x0, 0x22,0xca,0x3b,0x12,
+0x17,0xe0,0x30,0xe1,0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0xc, 0x7e,0xb3,0xd, 0x3f,
+0x70,0x14,0x7e,0xb3,0xd, 0x3c,0x70,0xe, 0x7e,0xb3,0x6, 0x67,0x20,0xe0,0x2, 0xc1,
+0x61,0x20,0xe2,0x2, 0xc1,0x61,0x7c,0xba,0x30,0xe1,0x8, 0x7e,0xb3,0x6, 0x12,0xf5,
+0x28,0x80,0x6, 0x7e,0xb3,0x6, 0x13,0xf5,0x28,0x7c,0xba,0x30,0xe1,0x7, 0x7e,0xb3,
+0x6, 0x67,0x30,0xe2,0x5, 0x75,0x29,0x1, 0x80,0x3, 0x75,0x29,0x2, 0x7e,0xb3,0xd,
+0x3c,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x3c,0x7e,0xb3,0x6, 0x67,0x30,
+0xe5,0xb, 0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x12,0x17,0xd2,
+0x4e,0x70,0x2, 0x1b,0x28,0x30,0x12,0x5a,0x97,0x7e,0x73,0x6, 0xd6,0xa, 0x57,0x12,
+0x17,0x8f,0x12,0x5a,0xb5,0x75,0x25,0x0, 0xc1,0x2d,0x12,0x43,0x6b,0x75,0x26,0x0,
+0x80,0x72,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0x6c,0x77,0x12,0x17,0xa0,0x80,0x4, 0xe4,
+0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x75,0x24,0x0, 0x80,0x50,0x12,0x5a,0xa1,
+0x9, 0x23,0x6, 0x96,0x7a,0x21,0x27,0x7e,0x71,0x25,0x74,0x3, 0xac,0x7b,0xe5,0x26,
+0xa, 0x2b,0x2d,0x23,0x7e,0x34,0x0, 0x58,0xad,0x32,0x7e,0x30,0x4, 0xac,0x23,0x2d,
+0x13,0x59,0x71,0x0, 0xa8,0x59,0x61,0x0, 0xa6,0x7e,0x73,0x6, 0xd6,0xbe,0x70,0x2,
+0x38,0x19,0xa, 0x7, 0x7e,0x54,0x0, 0x3, 0x9d,0x50,0x2e,0x14,0x0, 0xa6,0x12,0x2d,
+0xbb,0x60,0x5, 0x2f,0x11,0x14,0x78,0xfb,0x12,0x17,0xe7,0x5, 0x24,0x12,0x17,0x61,
+0x38,0xab,0x5, 0x26,0xe5,0x28,0xbe,0xb1,0x26,0x38,0x87,0x5, 0x25,0xe5,0x29,0xbe,
+0xb1,0x25,0x28,0x2, 0xa1,0xaa,0x7e,0x37,0x6, 0xa, 0x99,0x34,0x12,0x17,0xd2,0x5e,
+0x70,0xfd,0x1b,0x28,0x30,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0xa, 0x1b,0x3e,0x14,0x12,
+0x37,0x1a,0x12,0x5a,0x97,0x7e,0xb3,0x6, 0xca,0x12,0x17,0x89,0x12,0x5a,0xb5,0xe1,
+0x57,0x7e,0xb3,0x6, 0xc9,0x30,0xe0,0x51,0x7e,0xb3,0x6, 0x67,0x30,0xe5,0x5, 0x12,
+0x17,0x5a,0x50,0x11,0x74,0x2, 0x12,0x17,0xda,0x12,0x43,0x6b,0x12,0x17,0x97,0x80,
+0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0xe4,0x12,0x17,0xda,0x75,0x24,
+0x0, 0x80,0x17,0x12,0x5a,0xa1,0x9, 0xa3,0x6, 0x96,0x7a,0xa1,0x27,0x74,0x4, 0xa4,
+0x59,0x75,0x3, 0x5e,0x59,0x65,0x3, 0x5c,0x5, 0x24,0x12,0x17,0x61,0x38,0xe4,0x7e,
+0xb3,0x6, 0x67,0x30,0xe5,0x3, 0x12,0x17,0x97,0x75,0x24,0x0, 0xe1,0x4a,0xe5,0x24,
+0xa, 0x3b,0x9, 0xb3,0x6, 0x96,0xf5,0x27,0x12,0x17,0xe0,0x30,0xe1,0x19,0x7e,0xb3,
+0x6, 0xca,0xc4,0x23,0x54,0x7, 0xbe,0xb0,0x2, 0x38,0x22,0x12,0x5a,0x76,0x60,0x16,
+0x2f,0x11,0x14,0x78,0xfb,0x80,0xf, 0x12,0x23,0x28,0x38,0x11,0x12,0x5a,0x76,0x60,
+0x5, 0x2f,0x11,0x14,0x78,0xfb,0x59,0x34,0x0, 0x2, 0x1b,0x48,0x20,0x7c,0xba,0x30,
+0xe0,0x46,0x7e,0x31,0x27,0x74,0x2, 0xac,0x3b,0x49,0xf1,0x5, 0x90,0x7d,0x3f,0x1a,
+0x36,0x1a,0xe6,0x7e,0x11,0x27,0x74,0x4, 0xac,0x1b,0x49,0x30,0x3, 0x5e,0x49,0x20,
+0x3, 0x5c,0x7f,0x21,0x9f,0x27,0x59,0x50,0x4, 0x16,0x59,0x40,0x4, 0x14,0x49,0xf1,
+0x5, 0x34,0x7d,0x1f,0x1a,0x12,0x1a,0xe2,0x7e,0x31,0x27,0x74,0x4, 0xac,0x3b,0x2e,
+0x14,0x3, 0x5c,0x9f,0x17,0x12,0x17,0xe7,0x5, 0x24,0x12,0x17,0x61,0x28,0x2, 0xc1,
+0xbe,0x7e,0x37,0x6, 0xc, 0x99,0x34,0xda,0x3b,0x22,0x30,0xa, 0x2, 0xd3,0x22,0xc3,
+0x22,0x7e,0x73,0x6, 0xc8,0xbe,0x71,0x24,0x22,0x1a,0x26,0x1a,0x24,0x7f,0x1, 0x2,
+0x3, 0xec,0x7a,0xb3,0x6, 0xca,0x7e,0x44,0x12,0x0, 0xb, 0x48,0x50,0x5e,0xa0,0x1f,
+0x1b,0x48,0x50,0x7e,0x73,0x6, 0xca,0x7c,0xb7,0xc4,0x23,0x54,0x7, 0xa, 0x5b,0xc4,
+0x23,0x54,0xe0,0x7c,0xab,0xe4,0x22,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0x7e,0x70,0x1,
+0x24,0xff,0x92,0xb, 0xc2,0xc6,0xd2,0xee,0xa9,0xd6,0xf7,0xd2,0xfe,0x4c,0x77,0x68,
+0x15,0xc2,0xaf,0x12,0x17,0xd2,0x4e,0x70,0x1, 0x1b,0x28,0x30,0x7e,0x37,0x6, 0x0,
+0x99,0x34,0xd2,0xaf,0x80,0x9, 0x12,0x17,0xd2,0x4e,0x70,0x1, 0x1b,0x28,0x30,0xc2,
+0xa, 0x22,0x7e,0x24,0x12,0x0, 0xb, 0x28,0x30,0x22,0x7e,0x37,0x6, 0x2, 0x89,0x34,
+0x7e,0xa3,0x6, 0xd7,0x7c,0xba,0x22,0x59,0x31,0x0, 0x2, 0x1b,0x18,0x20,0x22,0x7e,
+0x34,0x0, 0x1, 0x7a,0x35,0x27,0x22,0x7e,0x35,0x27,0xbe,0x34,0x0, 0x1, 0x22,0xca,
+0xf8,0x7e,0xa3,0x6, 0xd7,0x7c,0xfa,0x5e,0xf0,0x1, 0x7c,0xba,0x12,0x1f,0xea,0x12,
+0x15,0x1d,0x6c,0xaa,0x80,0x3b,0x7e,0xb3,0x6, 0x4d,0x60,0xb, 0xb4,0x2, 0x30,0xa,
+0x3a,0x9, 0xb3,0xa, 0xbb,0x60,0x28,0x7e,0x90,0x4, 0xac,0x9a,0x49,0x34,0x3, 0x5e,
+0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0x5, 0x34,0x59,0x32,0x5, 0x90,0x9f,0x11,0x59,
+0x34,0x3, 0x5e,0x59,0x24,0x3, 0x5c,0x59,0x34,0x4, 0x16,0x59,0x24,0x4, 0x14,0xb,
+0xa0,0x12,0x18,0x6b,0x38,0xc0,0x7c,0x6f,0x5e,0x60,0x1, 0x7e,0x73,0x6, 0xd7,0x5e,
+0x70,0xfe,0x4c,0x76,0x7a,0x73,0x6, 0xd7,0xda,0xf8,0x22,0x7e,0xb3,0x6, 0xc8,0xbc,
+0xba,0x22,0x6c,0xaa,0x80,0x9, 0x12,0x19,0xf, 0x70,0x2, 0x21,0xe, 0xb, 0xa0,0x12,
+0x18,0x6b,0x38,0xf2,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x2, 0x21,0xe, 0x6c,0xaa,0x80,
+0x78,0x12,0x19,0xf, 0xb4,0x1, 0x70,0x7e,0xb3,0x6, 0xc6,0xbc,0xba,0x28,0x21,0x12,
+0x22,0x8a,0x7e,0xb3,0x6, 0x45,0x12,0x5b,0x6a,0x8, 0x6, 0x7e,0xb3,0x6, 0x43,0x80,
+0x1f,0x6d,0x33,0x9d,0x34,0x12,0x19,0x1e,0x58,0x4d,0x7e,0xb3,0x6, 0x44,0x80,0x34,
+0x12,0x22,0x8a,0x7e,0xb3,0x6, 0x48,0x12,0x5b,0x6a,0x8, 0x1b,0x7e,0xb3,0x6, 0x46,
+0xa, 0xeb,0x7e,0x50,0x2, 0xac,0x5a,0x7d,0xf2,0x2e,0xf4,0x5, 0x34,0xb, 0xf8,0x20,
+0x2d,0x2e,0x1b,0xf8,0x20,0x80,0x20,0x6d,0x33,0x9d,0x34,0x12,0x19,0x1e,0x58,0x17,
+0x7e,0xb3,0x6, 0x47,0xa, 0x4b,0x7e,0x50,0x2, 0xac,0x5a,0x2e,0x24,0x5, 0x34,0xb,
+0x28,0x30,0x9d,0x34,0x1b,0x28,0x30,0xb, 0xa0,0x12,0x18,0x6b,0x38,0x83,0x22,0x7e,
+0x34,0x6, 0x15,0x7c,0xba,0x2, 0x1a,0x54,0x6e,0x34,0xff,0xff,0xb, 0x34,0x1a,0x26,
+0x1a,0x24,0xbf,0x1, 0x22,0xca,0x3b,0x6c,0xee,0x6d,0x66,0x7e,0xb3,0x6, 0x67,0x30,
+0xe1,0x2, 0x41,0x33,0x6c,0xff,0x21,0xe9,0x12,0x1a,0x4e,0xb4,0x1, 0x2, 0x80,0x2,
+0x21,0xe7,0x7e,0x73,0x6, 0xc6,0xbc,0x7f,0x28,0x59,0xb, 0xe0,0x7e,0x50,0x4, 0xac,
+0x5f,0x49,0xd2,0x3, 0x5e,0x49,0xc2,0x3, 0x5c,0x7e,0x73,0x6, 0x45,0xa, 0x37,0x7d,
+0x53,0x1a,0x4a,0x1a,0x48,0xbf,0x62,0x8, 0xb, 0x12,0x1a,0x36,0xbf,0x2, 0x8, 0x4,
+0xb, 0x64,0x80,0x17,0x6d,0xff,0x9d,0xf3,0x7d,0x1f,0x1a,0x12,0x1a,0xe2,0xbf,0x67,
+0x58,0x9, 0x12,0x1a,0x36,0xbf,0x7, 0x58,0x2, 0x1b,0x64,0x12,0x1a,0x36,0xbf,0x2,
+0x8, 0x6, 0x7e,0xb3,0x6, 0x43,0x80,0x29,0x12,0x19,0x18,0x58,0x4a,0x7e,0x73,0x6,
+0x44,0x80,0x3c,0x7e,0x50,0x4, 0xac,0x5f,0x12,0x1a,0x36,0x7e,0x73,0x6, 0x48,0xa,
+0x37,0x7d,0x53,0x7d,0xf3,0x1a,0x5a,0x1a,0xea,0xbf,0x7, 0x8, 0x19,0x7e,0xb3,0x6,
+0x46,0xa, 0xfb,0x7e,0x90,0x2, 0xac,0x9f,0x2e,0x44,0x5, 0x90,0xb, 0x48,0x50,0x2d,
+0x5f,0x1b,0x48,0x50,0x80,0x11,0x12,0x19,0x18,0x58,0xc, 0x7e,0x73,0x6, 0x47,0x12,
+0x1a,0x3f,0x9d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,0x6a,0x28,0x2, 0x21,0x38,
+0xbe,0xe0,0x0, 0x28,0x3e,0x7d,0x36,0x12,0x0, 0x2e,0xa, 0x2e,0xbd,0x32,0x78,0x33,
+0x6c,0xff,0x80,0x2a,0x12,0x1a,0x4e,0x70,0x23,0xbe,0x64,0x0, 0x0, 0x8, 0xb, 0x7e,
+0x73,0x6, 0x43,0x12,0x1a,0x3f,0x2d,0x31,0x80,0xf, 0xbe,0x64,0x0, 0x0, 0x58,0xc,
+0x7e,0x73,0x6, 0x44,0x12,0x1a,0x3f,0x9d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,
+0x6a,0x38,0xd1,0xda,0x3b,0x22,0x49,0x12,0x4, 0x16,0x49,0x2, 0x4, 0x14,0x22,0xa,
+0x17,0x7e,0x50,0x2, 0xac,0x5f,0x2e,0x24,0x5, 0x90,0xb, 0x28,0x30,0x22,0x7e,0x34,
+0x6, 0x15,0x7c,0xbf,0x7d,0x23,0x4d,0x22,0x68,0x5, 0xbe,0xb0,0x2e,0x40,0x3, 0x74,
+0x1, 0x22,0xa, 0x3b,0x2d,0x32,0x7e,0x39,0xb0,0x22,0x7e,0x73,0x6, 0xc8,0xbc,0x7f,
+0x22,0xca,0x3b,0x75,0x23,0x0, 0x7e,0xb3,0x6, 0xd7,0x54,0xfd,0x7a,0xb3,0x6, 0xd7,
+0x7e,0x67,0x6, 0xd8,0x7e,0xb3,0x6, 0x67,0x30,0xe5,0x11,0x80,0x4, 0xe4,0x12,0xf,
+0xcd,0x12,0x17,0x5a,0x50,0xf7,0x75,0x23,0x1, 0x12,0x41,0x1d,0x12,0x5a,0x93,0x7e,
+0x73,0x6, 0xd6,0xa, 0x57,0x12,0x17,0x8f,0x12,0x5a,0xb5,0x6c,0xff,0x6d,0x33,0x80,
+0xa, 0x74,0x2, 0xac,0xbf,0x59,0x35,0x9, 0xfd,0xb, 0xf0,0x7e,0x53,0x6, 0xc8,0xbc,
+0x5f,0x38,0xee,0x6c,0xee,0x61,0x68,0x6c,0xff,0x80,0x15,0x7e,0xb3,0x6, 0x4d,0x60,
+0x5, 0x12,0x1b,0xd2,0x60,0x8, 0x6d,0x22,0x12,0x1b,0xca,0x1b,0x38,0x20,0xb, 0xf0,
+0x12,0x1a,0x6a,0x38,0xe6,0x75,0x22,0x0, 0x6d,0x33,0x7e,0xa1,0x22,0x74,0x2, 0xa4,
+0x59,0x35,0xb, 0xc3,0x5, 0x22,0xe5,0x22,0xb4,0x2e,0xed,0x6c,0xff,0x80,0x17,0xa,
+0x2f,0x7e,0x34,0x0, 0x9, 0x9d,0x32,0x7a,0x73,0xc, 0x1f,0x12,0x50,0xe2,0x12,0x41,
+0x28,0x12,0x50,0x71,0xb, 0xf0,0x7e,0x73,0x6, 0x14,0xbc,0x7f,0x38,0xe1,0x6c,0xff,
+0x80,0x3f,0x7e,0x50,0x2, 0xac,0x5f,0x49,0x12,0x9, 0xfd,0x12,0x1b,0xca,0xb, 0x38,
+0x30,0xbd,0x13,0x50,0x2a,0x59,0x32,0x9, 0xfd,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,
+0x1b,0xd2,0x60,0x1b,0x12,0x1f,0xdd,0x74,0x2, 0xac,0xbf,0x59,0x35,0x5, 0x34,0x74,
+0x2, 0xac,0xbf,0x49,0x35,0x5, 0x34,0x74,0x2, 0xac,0xbf,0x59,0x35,0x5, 0x90,0xb,
+0xf0,0x12,0x1a,0x6a,0x38,0xbc,0xb, 0xe0,0x7e,0x73,0x6, 0x11,0xbc,0x7e,0x28,0x2,
+0x41,0xc7,0x6c,0xff,0x80,0x1b,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x1b,0xd2,0x60,
+0xe, 0x74,0x2, 0xac,0xbf,0x49,0x25,0x9, 0xfd,0x12,0x1b,0xca,0x1b,0x38,0x20,0xb,
+0xf0,0x12,0x1a,0x6a,0x38,0xe0,0x74,0x3, 0x12,0x17,0xda,0x12,0x1f,0xa8,0x12,0x1f,
+0xf9,0xe5,0x23,0x60,0x15,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,
+0x7e,0xb3,0x6, 0x67,0x44,0x20,0x7a,0xb3,0x6, 0x67,0x12,0x5a,0x93,0x7e,0xb3,0x6,
+0xca,0x12,0x17,0x89,0x12,0x5a,0xb5,0xda,0x3b,0x22,0x7e,0x70,0x2, 0xac,0x7f,0x2d,
+0x36,0x22,0xa, 0x3f,0x2e,0x37,0x6, 0x4e,0x7e,0x39,0xb0,0x22,0xca,0x79,0x12,0x1f,
+0xe6,0x6d,0x33,0x6c,0xee,0x80,0xa, 0x74,0x2, 0xac,0xbe,0x59,0x35,0x9, 0xfd,0xb,
+0xe0,0x7e,0x53,0x6, 0xc8,0xbc,0x5e,0x38,0xee,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0x3f,
+0x6c,0xee,0x80,0x31,0x12,0x41,0x28,0x6c,0xff,0x80,0x23,0x7e,0x50,0x2, 0xac,0x5f,
+0x49,0xf2,0x9, 0xfd,0x6d,0xee,0x74,0x4, 0xac,0xbf,0x49,0x15,0x3, 0x5e,0x49,0x5,
+0x3, 0x5c,0xbf,0x7, 0x8, 0x6, 0x7d,0x31,0x59,0x32,0x9, 0xfd,0xb, 0xf0,0x12,0x1a,
+0x6a,0x38,0xd8,0xb, 0xe0,0x7e,0x73,0x6, 0x10,0xbc,0x7e,0x38,0xc7,0x80,0x39,0x7e,
+0xe0,0x1, 0x12,0x15,0x1d,0x6c,0xff,0x80,0x23,0x12,0x1f,0xdd,0x49,0x25,0x3, 0x5c,
+0x7e,0x8, 0x0, 0x4, 0x12,0x4, 0x59,0x7d,0x13,0x7e,0x50,0x2, 0xac,0x5f,0x2e,0x24,
+0x9, 0xfd,0xb, 0x28,0x30,0x2d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,0x6a,0x38,
+0xd8,0xb, 0xe0,0xbe,0xe0,0x4, 0x28,0xca,0x6c,0xee,0x80,0x3b,0x7e,0xa3,0x6, 0x4d,
+0x4c,0xaa,0x68,0x19,0xbe,0xa0,0x1, 0x78,0x7, 0xa, 0x3e,0x12,0x1b,0xd4,0x70,0xd,
+0xbe,0xa0,0x3, 0x78,0x20,0xa, 0x3e,0x9, 0xb3,0xa, 0x8d,0x60,0x18,0x74,0x2, 0xac,
+0xbe,0x49,0x35,0x9, 0xfd,0x59,0x35,0x5, 0x34,0x74,0x2, 0xac,0xbe,0x49,0x35,0x9,
+0xfd,0x59,0x35,0x5, 0x90,0xb, 0xe0,0x7e,0x73,0x6, 0xc8,0xbc,0x7e,0x38,0xbd,0xda,
+0x79,0x22,0x12,0x1e,0xf3,0x12,0x3e,0x5e,0x2, 0x1b,0xdc,0x7e,0x34,0x0, 0x24,0x12,
+0x4f,0x6, 0xbe,0xb0,0x1, 0x68,0x8, 0x80,0xfe,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,
+0x17,0x5a,0x50,0xf7,0xa9,0xc3,0xea,0x6d,0x11,0x7e,0x44,0x12,0x0, 0x1b,0x48,0x10,
+0x7e,0x53,0x6, 0xc9,0x7c,0xb5,0x54,0x1, 0xa, 0x5b,0x12,0x1e,0xda,0x7c,0x75,0x1e,
+0x70,0x5e,0x70,0x3, 0xa, 0x57,0x3e,0x54,0x3e,0x54,0x3e,0x54,0x12,0x1e,0xd6,0x7e,
+0x63,0x6, 0xca,0x7c,0xb6,0x54,0x1, 0x12,0x1f,0xf1,0x12,0x1e,0xda,0x7c,0xb6,0x1e,
+0xb0,0x54,0x3, 0x12,0x1f,0xf1,0x12,0x1e,0xd6,0x7c,0xb6,0x12,0x17,0x89,0x12,0x1e,
+0xdc,0x7e,0x54,0x13,0x14,0xb, 0x58,0x0, 0x6c,0x0, 0x12,0x1e,0xcf,0x5e,0x10,0xbf,
+0x12,0x1e,0xcf,0x4e,0x10,0x40,0x12,0x1e,0xcf,0x5e,0x10,0xcf,0x12,0x1e,0xcf,0x4e,
+0x10,0x10,0x12,0x1e,0xcf,0x5e,0x10,0xfc,0x12,0x1e,0xcf,0xa5,0xbf,0x0, 0x5, 0x4e,
+0x10,0x1, 0x80,0x3, 0x4e,0x10,0x3, 0x1b,0x58,0x0, 0x7e,0x44,0x12,0x2, 0x1b,0x48,
+0x10,0x7e,0x43,0x6, 0xc8,0xa, 0x54,0x7c,0xab,0xe4,0x12,0x1e,0xdc,0x7e,0xa3,0x6,
+0xcb,0x7c,0xba,0x23,0x54,0x1, 0xa, 0xfb,0xb, 0x48,0x0, 0x4d,0xf, 0x1b,0x48,0x0,
+0x7c,0xba,0x30,0xe6,0xe, 0x7c,0xb5,0x30,0xe0,0x9, 0xb, 0x48,0x20,0x4e,0x50,0x8,
+0x1b,0x48,0x20,0x7c,0xb6,0x30,0xe6,0x12,0xb, 0x48,0x0, 0x4e,0x10,0x20,0x1b,0x48,
+0x0, 0xb, 0x48,0x0, 0x4e,0x10,0x10,0x1b,0x48,0x0, 0x7e,0x24,0x12,0x4, 0xb, 0x28,
+0x0, 0x5e,0x0, 0x7f,0x1b,0x28,0x0, 0xb, 0x28,0x0, 0x4e,0x0, 0x80,0x1b,0x28,0x0,
+0x7e,0x24,0x13,0x1e,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xce,0x12,0x1e,0xc2,0x7e,0x63,
+0x6, 0xd1,0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x24,0x12,0x8, 0x1b,0x28,0x10,0x7e,0x63,
+0x6, 0xcc,0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x63,0x6, 0xcd,0x12,0x1e,0xc2,0x7e,0x24,
+0x13,0x20,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xcf,0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x63,
+0x6, 0xd0,0x12,0x1e,0xc2,0x7e,0x24,0x13,0x22,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xd2,
+0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x63,0x6, 0xd3,0x12,0x1e,0xc2,0x7e,0x4, 0x12,0xa,
+0x1b,0x8, 0x10,0xa5,0xbf,0x0, 0x8, 0xb, 0x8, 0x10,0x4e,0x20,0x1, 0x80,0x1b,0xa5,
+0xbf,0x1, 0x8, 0xb, 0x8, 0x10,0x4e,0x20,0x11,0x80,0xf, 0xb, 0x8, 0x10,0xa5,0xbf,
+0x2, 0x5, 0x4e,0x20,0x33,0x80,0x3, 0x4e,0x20,0xff,0x1b,0x8, 0x10,0x7c,0xba,0x1e,
+0xb0,0x54,0x3, 0xa, 0x3b,0xb, 0x8, 0x10,0x4d,0x13,0x1b,0x8, 0x10,0x12,0x4f,0x29,
+0xb, 0x8, 0x10,0x5e,0x30,0xfb,0x1b,0x8, 0x10,0xb, 0x8, 0x30,0x4e,0x70,0x4, 0x1b,
+0x8, 0x30,0x7e,0x73,0x6, 0xd4,0xa, 0x27,0x7e,0x34,0x13,0x10,0x1b,0x38,0x20,0x12,
+0x4f,0x92,0x7e,0xb3,0x6, 0xca,0x1e,0xb0,0x54,0x3, 0xbe,0xb0,0x1, 0x68,0x3, 0xb4,
+0x2, 0xb, 0x7e,0x27,0x6, 0xc4,0x7e,0x34,0x13,0x12,0x1b,0x38,0x20,0x74,0x2, 0x7a,
+0xb3,0x6, 0xda,0xd2,0x8e,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x7e,0xb3,0x6, 0xda,0x70,
+0xf6,0x22,0x7c,0x86,0x6c,0x99,0xb, 0x28,0x0, 0x4d,0x4, 0x1b,0x28,0x0, 0x22,0x1b,
+0x58,0x0, 0xb, 0x58,0x0, 0x22,0x3e,0x54,0x3e,0x54,0x3e,0x54,0xb, 0x48,0x0, 0x4d,
+0x5, 0x1b,0x48,0x0, 0x22,0x7e,0xb3,0x3, 0x34,0x12,0x43,0xb3,0x7e,0xb3,0x3, 0x34,
+0x12,0x3f,0xc9,0x12,0x1c,0xcb,0x7e,0xb3,0x3, 0x34,0x54,0x7f,0x7a,0xb3,0x3, 0x34,
+0x12,0x1a,0x71,0x7e,0xb3,0x3, 0x34,0x44,0x80,0x7a,0xb3,0x3, 0x34,0x22,0xca,0xf8,
+0x12,0x49,0xe0,0x7e,0x34,0x2, 0xd4,0x7a,0x37,0x6, 0xd8,0x12,0x31,0x3a,0x12,0x1e,
+0xe5,0x75,0x39,0x3, 0x75,0x37,0x40,0x12,0x49,0xe0,0xe5,0x39,0xb4,0x3, 0x40,0xe5,
+0x3f,0x60,0xf4,0x12,0x1f,0xf9,0x12,0x1f,0xea,0x12,0x1f,0x78,0x12,0x15,0x1d,0x6c,
+0xff,0x80,0xd, 0x12,0x1f,0xdd,0x74,0x2, 0xac,0xbf,0x59,0x35,0xc, 0x20,0xb, 0xf0,
+0x12,0x1a,0x6a,0x38,0xee,0x75,0x3f,0x0, 0x7e,0xb3,0xc, 0xd6,0x54,0x7f,0x7a,0xb3,
+0xc, 0xd6,0xe5,0xa, 0x20,0xe0,0xc0,0x74,0x1, 0x7a,0xb3,0x3, 0x42,0x80,0xb8,0xe5,
+0x39,0x7a,0xb3,0xb, 0x9f,0xda,0xf8,0x22,0xe5,0xa, 0x30,0xe0,0x8, 0x12,0x1e,0xe5,
+0x53,0xa, 0xfc,0x80,0xb, 0xe5,0xa, 0x30,0xe1,0x6, 0x12,0x1f,0xa8,0x53,0xa, 0xfd,
+0xe5,0xa, 0x30,0xe2,0x12,0x53,0xca,0xf1,0x7e,0x73,0x3, 0x41,0xa, 0x37,0x3e,0x34,
+0x7c,0xb7,0x42,0xca,0x53,0xa, 0xfb,0x22,0x12,0x50,0xdb,0x80,0x2a,0xa, 0x2a,0x9,
+0x32,0x6, 0x96,0x7e,0x50,0x2, 0xac,0x53,0x2d,0x23,0xb, 0x28,0x20,0x7e,0xb3,0x6,
+0x4d,0x60,0x7, 0xa, 0x13,0x12,0x51,0x36,0x60,0xb, 0xa, 0x1a,0x3e,0x14,0x2e,0x14,
+0x12,0x14,0x1b,0x18,0x20,0xb, 0xa0,0x12,0x18,0x6b,0x38,0xd1,0x22,0x74,0x4, 0xac,
+0xbf,0x49,0x35,0x3, 0x5e,0x22,0x7e,0xb3,0x6, 0xd7,0x54,0xfe,0x7a,0xb3,0x6, 0xd7,
+0x22,0xa, 0xb, 0x7d,0x50,0x7c,0xab,0xe4,0x22,0x7e,0xb3,0x6, 0xd7,0x44,0x2, 0x7a,
+0xb3,0x6, 0xd7,0x22,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0x34,0x6c,0xaa,0x80,0x28,0xa,
+0x3a,0x9, 0x73,0x6, 0x96,0x7e,0xb3,0x6, 0xd7,0x30,0xe0,0x19,0x7e,0x50,0x4, 0xac,
+0x57,0x49,0xf2,0x3, 0x5e,0x49,0xe2,0x3, 0x5c,0x7e,0x17,0x5, 0xee,0x12,0x7, 0x7d,
+0x58,0x3, 0x12,0x20,0x4a,0xb, 0xa0,0x7e,0x63,0x6, 0xc8,0xbc,0x6a,0x38,0xd0,0x22,
+0x7e,0x11,0x22,0x2e,0x10,0x41,0x74,0x1, 0xa5,0xf7,0x74,0x3c,0x7a,0xb3,0xd, 0x3c,
+0x22,0xca,0x3b,0x7e,0x38,0x75,0x30,0x75,0x28,0x0, 0x7e,0x34,0xc, 0xf8,0x7e,0x24,
+0x0, 0x18,0xe4,0x12,0x4, 0xeb,0x7e,0x34,0x0, 0x41,0x7e,0x24,0x0, 0x6, 0xe4,0x12,
+0x4, 0xeb,0x7e,0xb3,0x6, 0xd7,0x30,0xe1,0x7, 0x7e,0xb3,0x6, 0x67,0x30,0xe2,0x5,
+0x75,0x27,0x1, 0x80,0x3, 0x75,0x27,0x2, 0x75,0x22,0x1, 0x21,0x75,0x9f,0x11,0x7a,
+0x1f,0x9, 0xfd,0x75,0x23,0x0, 0x21,0x2c,0x12,0x22,0x59,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe1,0x42,0x30,0xe0,0x3f,0x7e,0x11,0x24,0x74,0x4, 0xac,0x1b,0x12,0x22,0x78,0x7e,
+0xa1,0x24,0x12,0x22,0x6c,0x7a,0x1f,0xa, 0x5, 0xbe,0x1c,0xfc,0xe0,0x58,0x5, 0x12,
+0x20,0x40,0x80,0x6f,0x7e,0x73,0x6, 0xc6,0xbe,0x71,0x24,0x28,0x17,0x7e,0xf, 0xa,
+0x5, 0x7e,0x1f,0x9, 0xfd,0xbf,0x10,0x58,0xb, 0x7e,0x1f,0xa, 0x5, 0x7a,0x1f,0x9,
+0xfd,0x85,0x24,0x25,0x7e,0x91,0x24,0x74,0x4, 0xac,0x9b,0x7e,0xa1,0x22,0x74,0x58,
+0xa4,0x2d,0x54,0x49,0x15,0x0, 0x50,0x49,0x5, 0x0, 0x4e,0x49,0x35,0x0, 0xa8,0x49,
+0x25,0x0, 0xa6,0x9f,0x10,0x12,0x4, 0xdb,0x7a,0x1f,0xa, 0x1, 0x7e,0xa1,0x22,0x74,
+0x4, 0xa4,0x49,0x15,0xc, 0xfa,0x49,0x5, 0xc, 0xf8,0xbf,0x10,0x8, 0xc, 0x7e,0x1f,
+0xa, 0x1, 0x59,0x35,0xc, 0xfa,0x59,0x25,0xc, 0xf8,0x5, 0x23,0x12,0x22,0x64,0x28,
+0x2, 0x1, 0x98,0x7e,0x7f,0x9, 0xfd,0xbe,0x78,0x2, 0x58,0x8, 0x36,0x7e,0x73,0x6,
+0xc6,0xbe,0x71,0x25,0x28,0x2d,0xe5,0x25,0xa, 0x3b,0x2e,0x34,0x0, 0xb, 0x7e,0x24,
+0x0, 0x16,0x12,0x3, 0xba,0x7c,0xa5,0x7a,0xa1,0x26,0x7e,0x10,0x4, 0xac,0x1a,0x12,
+0x22,0x78,0x12,0x22,0x6c,0x7e,0x14,0x0, 0x5, 0x12,0x3, 0xfd,0xbf,0x71,0x8, 0x3,
+0x12,0x20,0x40,0x5, 0x22,0x7e,0x31,0x27,0x74,0x3, 0xac,0x3b,0xe5,0x22,0xa, 0xb,
+0xbd,0x1, 0x58,0x2, 0x1, 0x8d,0x75,0x22,0x1, 0x80,0x23,0x7e,0x11,0x22,0x2e,0x10,
+0x41,0xa5,0xe7,0x70,0x17,0x7e,0xa1,0x22,0x74,0x4, 0xa4,0x49,0x35,0xc, 0xfa,0x49,
+0x25,0xc, 0xf8,0xbf,0x13,0x58,0x5, 0x7f,0x31,0x85,0x22,0x28,0x5, 0x22,0xe5,0x22,
+0xa, 0xb, 0xbd,0x1, 0x48,0xd5,0x7e,0x51,0x28,0x74,0x58,0xac,0x5b,0x2e,0x24,0x0,
+0xa6,0x7e,0x34,0x3, 0x5c,0x7e,0x14,0x0, 0x58,0x12,0x4, 0xae,0x7e,0xb3,0x6, 0xd7,
+0x30,0xe1,0x4c,0x75,0x23,0x0, 0x80,0x42,0x12,0x22,0x59,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe0,0x36,0x7e,0x11,0x24,0x74,0x2, 0xac,0x1b,0x49,0xf0,0x5, 0x90,0x7d,0x3f,0x1a,
+0x36,0x1a,0xe6,0x7e,0x31,0x24,0x74,0x4, 0xac,0x3b,0x12,0x23,0x35,0x7f,0x21,0x9f,
+0x27,0x59,0x51,0x4, 0x16,0x59,0x41,0x4, 0x14,0x49,0x50,0x5, 0x34,0x6d,0x44,0x2e,
+0x14,0x3, 0x5c,0x9f,0x12,0x12,0x17,0xe7,0x5, 0x23,0x12,0x22,0x64,0x38,0xb9,0x12,
+0x17,0xe0,0x30,0xe1,0x31,0x75,0x23,0x0, 0x80,0x23,0x12,0x22,0x59,0x7c,0xba,0x30,
+0xe0,0x19,0x7e,0x71,0x24,0x74,0x4, 0xac,0x7b,0x12,0x22,0x8f,0x7e,0x37,0x5, 0xee,
+0x1a,0x26,0x1a,0x24,0xbf,0x10,0x8, 0x3, 0x12,0x20,0x4a,0x5, 0x23,0x7e,0xb3,0x6,
+0xc8,0xbe,0xb1,0x23,0x38,0xd4,0xda,0x3b,0x22,0xe5,0x23,0xa, 0x3b,0x9, 0xb3,0x6,
+0x96,0xf5,0x24,0x22,0x7e,0x73,0x6, 0xc8,0xbe,0x71,0x23,0x22,0x74,0x2, 0xa4,0x49,
+0x15,0x5, 0x34,0x6d,0x0, 0x9f,0x10,0x22,0x7e,0x31,0x22,0x74,0x58,0xac,0x3b,0x2d,
+0x10,0x49,0x31,0x0, 0xa8,0x49,0x21,0x0, 0xa6,0x22,0x7e,0x70,0x4, 0xac,0x7a,0x49,
+0x13,0x3, 0x5e,0x49,0x3, 0x3, 0x5c,0x22,0x7c,0xab,0x6c,0x22,0x6c,0x11,0x7c,0x1,
+0x2e,0x0, 0x47,0xa5,0xe6,0xbc,0xb3,0x78,0x5, 0x7e,0x20,0x1, 0x80,0x7, 0xb, 0x10,
+0xbe,0x10,0x1, 0x40,0xe9,0x12,0x23,0x28,0x38,0x11,0xa, 0x4b,0x7e,0x4, 0x0, 0x3,
+0x9d,0x4, 0x7c,0xb1,0x60,0x5, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe0,0x24,0x7e,0x10,0x2, 0xac,0x13,0x49,0xf0,0x5, 0x34,0x7d,0xf, 0x1a,0x0, 0x1a,
+0xe0,0x7f,0x61,0x9f,0x67,0x7e,0xf7,0x5, 0xee,0x7d,0xf, 0x1a,0x0, 0x1a,0xe0,0xbf,
+0x76,0x8, 0x3, 0x12,0x20,0x4a,0x4c,0xaa,0x78,0x6, 0x74,0x4, 0xac,0xb3,0x80,0x10,
+0x4c,0x22,0x68,0x7, 0x12,0x23,0x19,0x8, 0xf, 0x80,0x5, 0x12,0x23,0x19,0x58,0x8,
+0x59,0x35,0x3, 0x5e,0x59,0x25,0x3, 0x5c,0x22,0x74,0x4, 0xac,0xb3,0x49,0xf5,0x3,
+0x5e,0x49,0xe5,0x3, 0x5c,0xbf,0x17,0x22,0x7e,0xb3,0x6, 0xd6,0xbe,0xb0,0x2, 0x22,
+0x7e,0x30,0x4, 0xac,0x3a,0x49,0x31,0x3, 0x5e,0x49,0x21,0x3, 0x5c,0x22,0x6c,0xaa,
+0xa, 0x3a,0x12,0x2c,0xf6,0x7c,0x3b,0xbe,0x30,0x16,0x50,0x9, 0x74,0x4, 0xac,0x3b,
+0x12,0x23,0x35,0x80,0x2, 0x9f,0x11,0x7e,0x30,0x4, 0xac,0x3a,0x59,0x31,0x9, 0x6f,
+0x59,0x21,0x9, 0x6d,0xb, 0xa0,0xbe,0xa0,0x24,0x40,0xd5,0x7e,0x1f,0x9, 0x85,0x7a,
+0x1d,0x2a,0x75,0x2f,0x0, 0x7e,0x34,0x9, 0x85,0x7a,0x35,0x30,0x7e,0x34,0x9, 0x9d,
+0x7a,0x35,0x32,0x7e,0x1f,0x9, 0x89,0x7e,0xf, 0x9, 0xa1,0xe4,0x12,0x24,0x39,0x7e,
+0x1f,0x9, 0x99,0x7a,0x1d,0x2a,0x75,0x2f,0x1, 0x7e,0x34,0x9, 0x99,0x7a,0x35,0x30,
+0x7e,0x34,0x9, 0xb1,0x7a,0x35,0x32,0x7e,0x1f,0x9, 0x95,0x7e,0xf, 0x9, 0xad,0xe4,
+0x12,0x24,0x39,0x7e,0x1f,0x9, 0xb5,0x7a,0x1d,0x2a,0x75,0x2f,0x0, 0x7e,0x34,0x9,
+0xb5,0x7a,0x35,0x30,0x7e,0x34,0x9, 0xcd,0x7a,0x35,0x32,0x7e,0x1f,0x9, 0xb9,0x7e,
+0xf, 0x9, 0xd1,0x74,0x1, 0x12,0x24,0x39,0x7e,0x1f,0x9, 0xc9,0x7a,0x1d,0x2a,0x75,
+0x2f,0x1, 0x7e,0x34,0x9, 0xc9,0x7a,0x35,0x30,0x7e,0x34,0x9, 0xe1,0x7a,0x35,0x32,
+0x7e,0x1f,0x9, 0xc5,0x7e,0xf, 0x9, 0xdd,0x74,0x1, 0x12,0x24,0x39,0xe4,0x12,0x24,
+0xb5,0x74,0x1, 0x12,0x24,0xb5,0x7e,0x34,0x9, 0x89,0x12,0x27,0xa2,0x7e,0x34,0x9,
+0xd1,0x12,0x27,0xa2,0x7e,0x34,0x9, 0x95,0x12,0x24,0x22,0x7e,0x34,0x9, 0xdd,0x2,
+0x24,0x22,0x12,0x27,0xd1,0xe5,0x14,0xa, 0x1b,0x6d,0x0, 0x12,0x27,0xb7,0x2, 0x24,
+0x31,0x59,0x3f,0x0, 0x2, 0x1b,0xf8,0x20,0x22,0xca,0x3b,0xf5,0x2e,0x7a,0xd, 0x26,
+0x7a,0x1d,0x22,0x7e,0x7d,0x2a,0xbe,0x78,0x0, 0x32,0x8, 0x56,0xe5,0x2f,0x70,0x4,
+0xe5,0x15,0x80,0x2, 0xe5,0x10,0x12,0x27,0xb1,0x7a,0x1d,0x2a,0x7e,0x1d,0x26,0x12,
+0x26,0x4, 0x7f,0x31,0x7e,0x1d,0x22,0x12,0x26,0x4, 0x2f,0x31,0x78,0x1a,0xe5,0x2e,
+0x60,0xb, 0x12,0x5b,0x23,0x12,0x24,0xa5,0x12,0x27,0x90,0x80,0x1a,0x12,0x27,0x90,
+0x12,0x24,0xa5,0x12,0x5b,0x23,0x80,0xf, 0x7e,0x1d,0x22,0x12,0x27,0x84,0x12,0x24,
+0xa5,0x7e,0x1d,0x26,0x12,0x27,0x84,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x32,0x12,
+0x24,0xad,0xda,0x3b,0x22,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x30,0x59,0x13,0x0,
+0x2, 0x1b,0x38,0x0, 0x22,0xca,0x3b,0x70,0x48,0x7e,0x1f,0x9, 0x89,0x7a,0x1f,0x9,
+0xfd,0x7e,0x1f,0x9, 0x8d,0x7a,0x1f,0xa, 0x1, 0x7e,0x1f,0x9, 0x91,0x7a,0x1f,0xa,
+0x5, 0x7e,0x1f,0x9, 0x95,0x7a,0x1f,0xa, 0x9, 0x7e,0x34,0x9, 0x71,0x7a,0x35,0x22,
+0x7e,0x34,0x9, 0x75,0x7a,0x35,0x24,0x7e,0x34,0x9, 0x79,0x7a,0x35,0x26,0x7e,0x34,
+0x9, 0x7d,0x7a,0x35,0x28,0xe5,0x8, 0xa, 0x1b,0x6d,0x0, 0x7e,0x1f,0x9, 0x71,0x80,
+0x46,0x7e,0x1f,0x9, 0xd1,0x7a,0x1f,0x9, 0xfd,0x7e,0x1f,0x9, 0xd5,0x7a,0x1f,0xa,
+0x1, 0x7e,0x1f,0x9, 0xd9,0x7a,0x1f,0xa, 0x5, 0x7e,0x1f,0x9, 0xdd,0x7a,0x1f,0xa,
+0x9, 0x7e,0x34,0x9, 0xe9,0x7a,0x35,0x22,0x7e,0x34,0x9, 0xed,0x7a,0x35,0x24,0x7e,
+0x34,0x9, 0xf1,0x7a,0x35,0x26,0x7e,0x34,0x9, 0xf5,0x7a,0x35,0x28,0xe5,0xf, 0xa,
+0x1b,0x6d,0x0, 0x7e,0x1f,0x9, 0xe9,0x12,0x27,0xb7,0x7f,0x31,0xbe,0x38,0x0, 0x32,
+0x18,0x2, 0xc1,0x1, 0x7e,0x1f,0x9, 0xfd,0x12,0x26,0x4, 0x7a,0x1f,0x9, 0xfd,0x7e,
+0x1f,0xa, 0x1, 0x12,0x26,0x4, 0x7a,0x1f,0xa, 0x1, 0x7e,0x1f,0xa, 0x5, 0x12,0x26,
+0x4, 0x12,0x27,0xf3,0x12,0x26,0x4, 0x7a,0x1f,0xa, 0x9, 0x7e,0x1f,0xa, 0x1, 0x7e,
+0x6f,0x9, 0xfd,0x2f,0x16,0x7e,0x7f,0xa, 0x5, 0x2f,0x71,0x78,0x16,0x7e,0x8, 0x0,
+0x8, 0x7f,0x13,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x22,0x12,0x24,0xad,0x12,0x5b,
+0x4f,0x80,0x10,0x12,0x5b,0x14,0x7e,0x35,0x22,0x12,0x24,0xad,0x7e,0xf, 0xa, 0x1,
+0x12,0x27,0xc9,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x24,0x12,0x24,0xad,0x7e,0x6f,
+0xa, 0x5, 0x7e,0x1f,0xa, 0x1, 0x2f,0x16,0x7e,0x7f,0xa, 0x9, 0x2f,0x71,0x78,0x16,
+0x12,0x5b,0x4f,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x26,0x12,0x24,0xad,0x7e,0x8,
+0x0, 0x8, 0x7f,0x13,0x80,0x10,0x12,0x5b,0x14,0x7e,0x35,0x26,0x12,0x24,0xad,0x7e,
+0xf, 0xa, 0x9, 0x12,0x27,0xc9,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x28,0x12,0x24,
+0xad,0xda,0x3b,0x22,0xbe,0x18,0x0, 0x32,0x8, 0x1, 0x22,0x9f,0x11,0x22,0xca,0x79,
+0x7c,0xe7,0x7c,0xfb,0x74,0x4, 0xac,0xbf,0x12,0x27,0xea,0x12,0x27,0x98,0x68,0xf,
+0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x57,0x49,0x25,0x9, 0x55,0x12,0x26,0x86,0xbe,
+0xe0,0x5, 0x68,0xf, 0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x87,0x49,0x25,0x9, 0x85,
+0x12,0x26,0x86,0x7e,0x1f,0xa, 0x15,0xda,0x79,0x22,0xca,0x79,0x7c,0xe7,0x7c,0xfb,
+0x74,0x4, 0xac,0xbf,0x12,0x27,0xea,0x12,0x27,0x98,0x68,0xf, 0x74,0x4, 0xac,0xbf,
+0x49,0x35,0x9, 0x6b,0x49,0x25,0x9, 0x69,0x12,0x26,0x86,0xbe,0xe0,0x5, 0x68,0xf,
+0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x73,0x49,0x25,0x9, 0x71,0x12,0x26,0x86,0x7e,
+0x1f,0xa, 0x15,0xda,0x79,0x22,0x12,0x26,0x4, 0x7f,0x1, 0x7e,0x1f,0xa, 0x15,0x2f,
+0x10,0x7a,0x1f,0xa, 0x15,0x22,0xca,0x3b,0x9f,0x11,0x7a,0x1f,0x0, 0xa2,0x6c,0xff,
+0xe1,0x7a,0x7c,0x1f,0x2e,0x10,0x16,0xa5,0xe7,0x7c,0xeb,0xa, 0x1e,0x7e,0x24,0x0,
+0x6, 0x8d,0x12,0x7c,0xd3,0xa, 0x3e,0x8d,0x32,0x7c,0xc5,0x12,0x27,0xdb,0x7c,0x7d,
+0x12,0x26,0xe, 0x7a,0x1f,0xa, 0xd, 0x4c,0xcc,0x68,0xc, 0x7c,0xbe,0x14,0x7c,0x7d,
+0x12,0x26,0xe, 0x7a,0x1f,0xa, 0x5, 0xbe,0xc0,0x5, 0x68,0xc, 0x7c,0xbe,0x4, 0x7c,
+0x7d,0x12,0x26,0xe, 0x7a,0x1f,0xa, 0x9, 0xa, 0x1c,0x12,0x5a,0xe4,0xa, 0x1c,0x12,
+0x5b,0x41,0xa, 0x1c,0x12,0x5a,0x58,0x7e,0x1f,0x0, 0xa2,0xbf,0x10,0x50,0x8, 0x7e,
+0x1f,0xa, 0x1, 0x7a,0x1f,0x0, 0xa2,0x7e,0x1f,0x9, 0xfd,0x74,0x6, 0x2f,0x11,0x14,
+0x78,0xfb,0x7e,0xf, 0xa, 0x1, 0x12,0x27,0xc1,0x7a,0x37,0xa, 0x11,0x12,0x27,0xdb,
+0x7c,0xbe,0x7c,0x7c,0x12,0x26,0x4a,0x7a,0x1f,0xa, 0xd, 0x4c,0xdd,0x68,0xd, 0x7c,
+0xbe,0x24,0xfa,0x7c,0x7c,0x12,0x26,0x4a,0x7a,0x1f,0xa, 0x5, 0xbe,0xd0,0x5, 0x68,
+0xd, 0x7c,0xbe,0x24,0x6, 0x7c,0x7c,0x12,0x26,0x4a,0x7a,0x1f,0xa, 0x9, 0xa, 0x1d,
+0x12,0x5a,0xe4,0xa, 0x1d,0x12,0x5b,0x41,0xa, 0x1d,0x12,0x5a,0x58,0x74,0x6, 0x2f,
+0x11,0x14,0x78,0xfb,0x12,0x27,0xc1,0x7a,0x37,0xa, 0x13,0x7e,0x27,0xa, 0x11,0x74,
+0x5, 0xac,0xbf,0x59,0x25,0x0, 0x7a,0x12,0x3c,0x55,0x12,0x38,0x94,0x50,0x2, 0xc1,
+0xa2,0xda,0x3b,0x22,0x12,0x26,0x4, 0x7e,0xd, 0x2a,0x12,0x3, 0xec,0x7f,0x3, 0x22,
+0x7e,0x8, 0x0, 0x4, 0x7e,0x1d,0x2a,0x22,0x12,0x26,0x4, 0x7a,0x1f,0xa, 0x15,0x4c,
+0xee,0x22,0x12,0x27,0xd1,0xe5,0x1b,0xa, 0x1b,0x6d,0x0, 0x12,0x27,0xb7,0x2, 0x24,
+0x31,0xa, 0x1b,0x6d,0x0, 0x7f,0x17,0x12,0x3, 0xec,0x7e,0x8, 0x0, 0x64,0x2, 0x4,
+0x59,0x12,0x4, 0x8, 0x2e,0x18,0x0, 0x20,0x22,0x7f,0x13,0x12,0x3, 0xec,0x7f,0x7,
+0x22,0x7d,0xf3,0x49,0x3f,0x0, 0x2, 0xb, 0xf8,0x20,0x22,0x9f,0x11,0x7a,0x1f,0xa,
+0x5, 0x7a,0x1f,0xa, 0x9, 0x22,0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x6f,0x49,0x25,
+0x9, 0x6d,0x22,0x7a,0x1f,0xa, 0x5, 0x7e,0x1f,0xa, 0x9, 0x22,0x9f,0x11,0x7a,0x1f,
+0x5, 0x28,0x7a,0x1f,0x5, 0x2c,0x6c,0xaa,0x12,0x23,0x30,0x7e,0x7f,0x5, 0x28,0xbf,
+0x71,0x58,0x4, 0x7a,0x1f,0x5, 0x28,0xb, 0xa0,0xbe,0xa0,0x16,0x40,0xea,0x7e,0x1f,
+0x5, 0x28,0x7a,0x1f,0x5, 0x2c,0x22,0x12,0x2f,0x75,0xa5,0xbe,0x1, 0x14,0x7e,0xa3,
+0xd, 0x12,0xbe,0xa0,0xfa,0x50,0x2c,0x7e,0xb3,0xd, 0x10,0x70,0x26,0x7c,0xba,0x4,
+0x80,0x1d,0xbe,0x60,0x2, 0x40,0x3, 0xe4,0x80,0x15,0x7e,0x53,0xd, 0x12,0xbe,0x50,
+0x4, 0x50,0xb, 0xbe,0x50,0x0, 0x28,0x6, 0x74,0x3, 0x7a,0xb3,0xd, 0x10,0xe4,0x7a,
+0xb3,0xd, 0x12,0x7e,0xa3,0xd, 0x10,0x4c,0xaa,0x68,0x20,0x4c,0x66,0x68,0x8, 0x7c,
+0xb7,0x12,0x28,0x90,0xe4,0x80,0x10,0x7c,0xb7,0xc4,0x54,0xf, 0xb4,0x1, 0x5, 0x7c,
+0xb7,0x12,0x2d,0x34,0x7c,0xba,0x14,0x7a,0xb3,0xd, 0x10,0x22,0x7e,0xb3,0x0, 0x90,
+0x54,0xf0,0x7a,0xb3,0x0, 0x90,0x22,0xca,0x3b,0x12,0x2f,0x3c,0x78,0x4, 0x6c,0xff,
+0x80,0x3, 0x7e,0xf0,0x2, 0x12,0x2d,0x19,0x78,0x1d,0x7c,0xba,0x54,0xf, 0xbe,0xb0,
+0x2, 0x40,0x14,0x5, 0x4d,0xe5,0x4d,0xbc,0xbf,0x38,0x5, 0x7c,0xba,0x12,0x28,0x90,
+0xe4,0x7a,0xb3,0xb, 0x37,0x80,0x3, 0x75,0x4d,0x0, 0x12,0x2d,0x19,0x78,0x8, 0x5e,
+0xa0,0xf, 0xbe,0xa0,0x1, 0x28,0x11,0xe4,0x7a,0xb3,0xb, 0x37,0x6d,0x33,0x7a,0x37,
+0xb, 0x4f,0x7a,0x37,0xb, 0x51,0x41,0x9d,0x7e,0xb3,0xb, 0xb3,0xbe,0xb0,0x1, 0x78,
+0x2, 0x41,0x9d,0x4c,0xaa,0x78,0x2, 0x41,0x6b,0x7e,0xe3,0xb, 0x37,0xbe,0xe0,0x2,
+0x28,0x2, 0x41,0x43,0x7c,0xbe,0x4, 0x7a,0xb3,0xb, 0x37,0x7e,0xa3,0xb, 0x37,0xbe,
+0xa0,0x1, 0x78,0x33,0x7e,0x37,0x0, 0x7a,0x7a,0x37,0xb, 0x41,0x7e,0x37,0x0, 0x7c,
+0x7a,0x37,0xb, 0x43,0x7e,0x1f,0xb, 0x41,0x7a,0x1f,0xb, 0x45,0x7e,0x1f,0xb, 0x41,
+0x7a,0x1f,0xb, 0x49,0x6d,0x33,0x7a,0x37,0xb, 0x4d,0x7a,0x37,0xb, 0x4f,0x7a,0x37,
+0xb, 0x51,0x12,0x28,0x8c,0x41,0x96,0xbe,0xa0,0x2, 0x40,0x18,0x7e,0x37,0x0, 0x7a,
+0x2e,0x37,0xb, 0x4f,0x7a,0x37,0xb, 0x4f,0x7e,0x37,0x0, 0x7c,0x2e,0x37,0xb, 0x51,
+0x7a,0x37,0xb, 0x51,0x7e,0x37,0xb, 0x41,0x12,0x2d,0xa, 0x7d,0x63,0x7e,0x37,0xb,
+0x43,0x12,0x2d,0x3, 0x7a,0x35,0x22,0x7e,0x37,0xb, 0x45,0x12,0x2d,0xa, 0x7a,0x35,
+0x24,0x7e,0x37,0xb, 0x47,0x12,0x2d,0x3, 0x7d,0x23,0x7e,0x35,0x22,0x2d,0x36,0xbe,
+0x34,0x0, 0xf, 0x50,0x18,0xbe,0x64,0x0, 0x7, 0x50,0x12,0x2e,0x25,0x24,0xbe,0x24,
+0x0, 0x1e,0x50,0x9, 0x7e,0x25,0x24,0xbe,0x24,0x0, 0xf, 0x40,0x53,0x7e,0x53,0xb,
+0x37,0xbc,0x5f,0x28,0x4b,0xe4,0x7a,0xb3,0xb, 0x37,0xbe,0x34,0x0, 0x8, 0x38,0x2,
+0x41,0x96,0x7e,0x37,0xb, 0x45,0xbe,0x34,0x0, 0x28,0x40,0x6, 0xbe,0x34,0x1, 0x66,
+0x28,0x24,0x7e,0x27,0xb, 0x47,0xbe,0x24,0x0, 0x28,0x28,0x1a,0xbe,0x24,0x1, 0x66,
+0x50,0x14,0x7a,0x37,0x0, 0x7a,0x7e,0x27,0x0, 0x7c,0x2e,0x27,0xb, 0x47,0x1e,0x24,
+0x7a,0x27,0x0, 0x7c,0x41,0x96,0x7a,0x37,0x0, 0x7a,0x7e,0x37,0xb, 0x47,0x80,0x65,
+0x7e,0x27,0x0, 0x7a,0x7a,0x27,0xb, 0x41,0x7e,0x37,0x0, 0x7c,0x7a,0x37,0xb, 0x43,
+0x7e,0xa3,0x0, 0x76,0x74,0x4, 0xa4,0x49,0x15,0x3, 0x5e,0x49,0x5, 0x3, 0x5c,0x7e,
+0xf7,0xb, 0x4d,0x6d,0xee,0xbf,0x70,0x58,0xc, 0x7a,0x17,0xb, 0x4d,0x7a,0x27,0xb,
+0x49,0x7a,0x37,0xb, 0x4b,0x7e,0x73,0x0, 0x90,0x7c,0xb7,0xc4,0x7c,0x6b,0x12,0x2d,
+0x23,0x80,0x53,0xa, 0x2e,0xb, 0x24,0x1b,0x25,0x7e,0x17,0xb, 0x4f,0x8d,0x12,0x7a,
+0x17,0xb, 0x41,0x7e,0x37,0xb, 0x51,0x8d,0x32,0x7a,0x37,0xb, 0x43,0x7e,0x27,0xb,
+0x41,0x7a,0x27,0x0, 0x7a,0x7a,0x37,0x0, 0x7c,0x80,0x2b,0x7e,0x73,0xb, 0x37,0xbc,
+0x7f,0x28,0x1b,0x7e,0x37,0xb, 0x49,0x7a,0x37,0x0, 0x7a,0x7e,0x37,0xb, 0x4b,0x7a,
+0x37,0x0, 0x7c,0x12,0x2d,0x30,0x74,0x1, 0x7a,0xb3,0xb, 0x38,0x80,0x3, 0x12,0x28,
+0x8c,0xe4,0x7a,0xb3,0xb, 0x37,0x12,0xe, 0xaf,0x78,0x2, 0xf5,0x9, 0xda,0x3b,0x22,
+0xca,0x3b,0x6c,0xee,0x9f,0x44,0x7f,0x74,0x7a,0x4f,0x9, 0xfe,0x7a,0x4f,0xa, 0x2,
+0x7a,0x4f,0xa, 0x6, 0x7a,0x4f,0xa, 0xa, 0x7a,0x4f,0xa, 0xe, 0x7f,0x64,0x7f,0x54,
+0x6c,0xdd,0x12,0x27,0xe6,0xbf,0x71,0x58,0x4, 0x7f,0x71,0x7c,0xfd,0xb, 0xd0,0xbe,
+0xd0,0x24,0x78,0xee,0x7e,0x37,0x3, 0x49,0x6d,0x22,0xbf,0x71,0x58,0xb, 0x12,0x28,
+0x8c,0x7e,0xb3,0x0, 0x91,0x54,0xf0,0x80,0x17,0xe5,0xe, 0xb4,0x1, 0x18,0x12,0x2c,
+0xf1,0x7a,0xb3,0x0, 0x76,0x12,0x2d,0x30,0x7e,0xb3,0x0, 0x91,0x54,0xf0,0x44,0x1,
+0x7a,0xb3,0x0, 0x91,0x81,0xe5,0x6c,0xdd,0xa, 0x5d,0x7e,0x24,0x0, 0x6, 0x8d,0x52,
+0x7a,0xb3,0x9, 0xfd,0xa, 0x3d,0x8d,0x32,0x7c,0xc5,0x70,0x4, 0x9f,0x11,0x80,0xc,
+0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x57,0x49,0x25,0x9, 0x55,0x7a,0x1f,0x9, 0xfe,
+0x7e,0xb3,0x9, 0xfd,0xb4,0x5, 0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,
+0x35,0x9, 0x87,0x49,0x25,0x9, 0x85,0x7a,0x1f,0xa, 0x2, 0x4c,0xcc,0x78,0x4, 0x9f,
+0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x6b,0x49,0x25,0x9, 0x69,0x7a,
+0x1f,0xa, 0x6, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,
+0x49,0x35,0x9, 0x73,0x49,0x25,0x9, 0x71,0x7a,0x1f,0xa, 0xa, 0x7e,0xb3,0x9, 0xfd,
+0x60,0x4, 0x4c,0xcc,0x78,0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,
+0x9, 0x53,0x49,0x25,0x9, 0x51,0x7a,0x1f,0xa, 0xe, 0x12,0x2d,0x11,0x68,0x4, 0x4c,
+0xcc,0x78,0x4, 0x9f,0x66,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0xd5,0x9, 0x83,0x49,
+0xc5,0x9, 0x81,0x7e,0xb3,0x9, 0xfd,0x60,0x5, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x55,
+0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0xb5,0x9, 0x5b,0x49,0xa5,0x9, 0x59,0x12,0x2d,
+0x11,0x68,0x5, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x44,0x80,0xc, 0x74,0x4, 0xac,0xbd,
+0x49,0x95,0x9, 0x8b,0x49,0x85,0x9, 0x89,0x12,0x2c,0xe8,0x49,0x5, 0x9, 0x6d,0x7e,
+0x37,0x3, 0x49,0x6d,0x22,0xbf,0x1, 0x58,0x2, 0x81,0xc3,0xe5,0xc, 0x12,0x27,0xb1,
+0x7f,0x1, 0x12,0x27,0xe6,0xbf,0x10,0x18,0x2, 0x81,0xc3,0x12,0x2c,0xe8,0x49,0x5,
+0x9, 0x6d,0x7e,0x1f,0x9, 0xfe,0xbf,0x1, 0x58,0x2, 0x81,0xc3,0x12,0x2c,0xe8,0x49,
+0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0x2, 0xbf,0x1, 0x58,0x2, 0x81,0xc3,0x12,0x2c,0xe8,
+0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0x6, 0xbf,0x1, 0x58,0x2, 0x81,0xc3,0x12,0x2c,
+0xe8,0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0xa, 0xbf,0x1, 0x48,0x76,0x12,0x2c,0xe8,
+0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0xe, 0xbf,0x1, 0x48,0x67,0x12,0x27,0xe6,0xbf,
+0x16,0x48,0x60,0x12,0x27,0xe6,0xbf,0x15,0x48,0x59,0x12,0x27,0xe6,0xbf,0x14,0x48,
+0x52,0x7c,0x1e,0x2e,0x10,0x16,0x7c,0xbd,0xa5,0xf7,0xa, 0x3d,0x12,0x2c,0xf6,0xa,
+0x3e,0x19,0xb3,0x0, 0x76,0xb, 0xe0,0x7e,0x30,0x4, 0xac,0x3d,0x2e,0x14,0x9, 0x6d,
+0x12,0x2d,0xbb,0xb, 0x1c,0x12,0x17,0xe7,0xbe,0xe1,0xe, 0x40,0x26,0x7e,0xe1,0xe,
+0xbe,0xe0,0x2, 0x78,0x27,0x7e,0x73,0x0, 0x76,0xbe,0x70,0xf, 0x38,0x9, 0x7e,0x73,
+0x0, 0x77,0xbe,0x70,0xf, 0x28,0x15,0x7e,0xe0,0x1, 0x12,0x2c,0xf1,0x7a,0xb3,0x0,
+0x76,0x80,0x9, 0xb, 0xd0,0xbe,0xd0,0x24,0x50,0x2, 0x61,0x8, 0x7c,0x6e,0x5e,0x60,
+0xf, 0x7e,0x73,0x0, 0x90,0x12,0x2d,0x26,0x7e,0x73,0x0, 0x91,0x5e,0x70,0xf0,0x4c,
+0x76,0x7a,0x73,0x0, 0x91,0xda,0x3b,0x22,0x74,0x4, 0xac,0xbd,0x49,0x15,0x9, 0x6f,
+0x22,0x7a,0xf1,0x16,0xa, 0x3f,0x2e,0x34,0x0, 0x46,0x7a,0x71,0x82,0x7a,0x61,0x83,
+0xe4,0x93,0x22,0x9e,0x37,0x0, 0x7c,0x2, 0x0, 0x2e,0x9e,0x37,0x0, 0x7a,0x2, 0x0,
+0x2e,0x7e,0xb3,0x9, 0xfd,0xbe,0xb0,0x5, 0x22,0x7e,0xa3,0x0, 0x90,0x7c,0xba,0xc4,
+0x54,0xf, 0x22,0x5e,0x60,0xf, 0x5e,0x70,0xf0,0x4c,0x76,0x7a,0x73,0x0, 0x90,0x22,
+0x7e,0xb3,0x0, 0x90,0x54,0xf0,0x44,0x1, 0x7a,0xb3,0x0, 0x90,0x22,0xca,0x79,0x9f,
+0x11,0x7a,0x1f,0x9, 0xfd,0x7e,0xa3,0x0, 0x90,0x7c,0xba,0x54,0xf, 0xb4,0x1, 0x64,
+0x7e,0x1f,0x0, 0xa2,0x7a,0x1f,0x9, 0xfd,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x6, 0x7e,
+0x1f,0x9, 0xfd,0x80,0x34,0x7e,0x37,0xb, 0x3b,0x12,0x2d,0x3, 0x7d,0x73,0x7e,0x37,
+0xb, 0x39,0x12,0x2d,0xa, 0x2d,0x37,0xbe,0x34,0x0, 0xf, 0x58,0x20,0x7e,0x1f,0xb,
+0x3d,0x7f,0x1, 0x1e,0x14,0x1e,0x4, 0x50,0x3, 0x4e,0x20,0x80,0x7e,0x1f,0x9, 0xfd,
+0xbf,0x10,0x50,0x5, 0x12,0x28,0x8c,0x80,0x4, 0x7a,0x1f,0xb, 0x3d,0x7e,0x37,0x0,
+0x7a,0x7a,0x37,0xb, 0x39,0x7e,0x37,0x0, 0x7c,0x7a,0x37,0xb, 0x3b,0x12,0xe, 0xaf,
+0x78,0x2, 0xf5,0x9, 0xda,0x79,0x22,0x7d,0x16,0x2d,0x17,0x49,0x31,0x0, 0x2, 0xb,
+0x18,0x20,0x22,0xca,0x3b,0x7c,0xab,0x7d,0x73,0x4d,0x77,0x78,0x2, 0xc1,0xda,0x4d,
+0x22,0x78,0x2, 0xc1,0xda,0xe4,0x7a,0xb3,0x6, 0x4d,0x6c,0x99,0xc1,0x5e,0x7e,0x70,
+0x4, 0xac,0x79,0x2d,0x37,0x49,0xf3,0x0, 0x2, 0xb, 0x38,0xe0,0xbe,0x7c,0xfc,0x18,
+0x58,0x5, 0xbe,0x90,0x16,0x40,0x15,0xbe,0x7c,0xf8,0x30,0x58,0x58,0xbe,0x90,0x16,
+0x40,0x53,0x7e,0xf, 0x5, 0x28,0xbe,0x8, 0x7, 0xd0,0x58,0x49,0xa, 0x39,0x7d,0x13,
+0x2e,0x14,0xa, 0xd1,0x7e,0x19,0xb0,0x4, 0x7a,0x19,0xb0,0x9, 0xb3,0xa, 0xd1,0xbe,
+0xb0,0xc, 0x28,0x38,0x7e,0x70,0x2, 0xac,0x79,0x2d,0x32,0xb, 0x38,0x10,0x1a,0x2,
+0x1a,0x0, 0x2f,0x7, 0xbe,0x8, 0x38,0x40,0x58,0x22,0x74,0x1, 0x7a,0xb3,0x6, 0x4d,
+0x6c,0x88,0x80,0xa, 0x74,0x1, 0xa, 0x38,0x19,0xb3,0xa, 0xe7,0xb, 0x80,0xbe,0x80,
+0x0, 0x40,0xf1,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0xd1,0xb, 0x90,0xbc,0xa9,
+0x28,0x2, 0xa1,0xde,0x6c,0x99,0x80,0x6a,0x7e,0xd0,0x4, 0xac,0xd9,0x12,0x2d,0xb7,
+0xbe,0x1c,0xfc,0xe0,0x58,0x21,0xa, 0x39,0x7d,0x23,0x2e,0x24,0xa, 0x8d,0x12,0x2e,
+0xdd,0x9, 0x83,0xa, 0x8d,0xbe,0x80,0xf, 0x28,0x14,0x12,0x41,0x40,0x60,0xf, 0x74,
+0x3, 0x7a,0xb3,0x6, 0x4d,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0x8d,0x12,0x2d,
+0xb7,0xbe,0x1c,0xfc,0xe0,0x58,0x22,0x7e,0xb3,0x6, 0x4d,0x70,0x1c,0xa, 0x39,0x7d,
+0x23,0x2e,0x24,0xa, 0xbb,0x12,0x2e,0xdd,0x9, 0x83,0xa, 0xbb,0xbe,0x80,0x12,0x28,
+0xf, 0x74,0x2, 0x7a,0xb3,0x6, 0x4d,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0xbb,
+0xb, 0x90,0x7e,0x83,0x6, 0xc6,0xbc,0x89,0x38,0x8e,0xda,0x3b,0x22,0x7e,0x29,0xb0,
+0x4, 0x7a,0x29,0xb0,0x22,0x6c,0xaa,0x7e,0x90,0x5, 0xac,0x9a,0x9, 0xb4,0x2, 0xba,
+0xbe,0xb0,0xff,0x68,0xa, 0x49,0x34,0x2, 0xb8,0xbe,0x34,0x1, 0x8d,0x50,0x33,0xb,
+0xa0,0xbe,0xa0,0x2, 0x40,0xe1,0x12,0x2f,0x33,0x78,0x21,0x7c,0xb7,0xc4,0x7c,0x6b,
+0x5e,0x60,0xf, 0xbe,0x60,0x0, 0x28,0x14,0xe5,0x4c,0xbe,0xb0,0x1, 0x50,0x9, 0x12,
+0x2d,0x26,0x75,0x12,0x1, 0x5, 0x4c,0x22,0x75,0x4c,0x0, 0x22,0x75,0x4c,0x0, 0x75,
+0x12,0x0, 0x22,0x7e,0x73,0x0, 0x90,0x7c,0xb7,0x54,0xf, 0x22,0x7e,0x37,0x0, 0x92,
+0xbe,0x34,0x0, 0x1, 0x22,0x12,0x2f,0x3c,0x78,0x1b,0x7e,0xb3,0x6, 0x67,0x20,0xe5,
+0x14,0x7e,0xb3,0x6, 0xcb,0x20,0xe0,0xd, 0x12,0x2f,0x66,0x7e,0xb3,0x6, 0xcb,0x44,
+0x1, 0x7a,0xb3,0x6, 0xcb,0x22,0xa9,0xc0,0xca,0x6d,0x22,0x12,0x2f,0x7f,0x5e,0x60,
+0x7f,0x1b,0x28,0x30,0x22,0x7e,0x73,0x0, 0x90,0x7c,0x67,0x5e,0x60,0xf, 0x22,0x7e,
+0x34,0x13,0x14,0x1b,0x38,0x20,0x7e,0x24,0x12,0x4, 0xb, 0x28,0x30,0x22,0x7e,0xb3,
+0x6, 0xcb,0x30,0xe0,0x16,0xa9,0xd0,0xca,0x7e,0x24,0x0, 0x3f,0x12,0x2f,0x7f,0x4e,
+0x60,0x80,0x1b,0x28,0x30,0x54,0xfe,0x7a,0xb3,0x6, 0xcb,0x22,0xc2,0xab,0x12,0x2f,
+0x45,0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xd5,0xc9,0xd2,0xaf,0xa9,0xd0,0xcd,0xd2,0xc8,
+0xd2,0xa8,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd7,0x9e,0xd2,0xaf,0x74,0x1, 0x12,0x4a,
+0x48,0x74,0x2, 0x12,0xf, 0xcd,0x12,0x2f,0xf2,0xc2,0xa8,0xa9,0xc0,0xcd,0xc2,0xc8,
+0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xc5,0xc9,0xd2,0xaf,0xd2,0xab,0x12,0x4a,0x30,0x2,
+0x2f,0x8e,0x43,0xc8,0xc9,0x43,0xcb,0x8e,0x22,0xbd,0x32,0x58,0x3, 0x7d,0x32,0x22,
+0xbd,0x31,0x8, 0x2, 0x7d,0x31,0x22,0x6d,0x11,0x80,0x48,0x6d,0x0, 0x80,0x38,0x7d,
+0xf0,0x3e,0xf4,0x3e,0xf4,0x7d,0xef,0x2d,0xe3,0x49,0xde,0x0, 0x6, 0x49,0xce,0x0,
+0x4, 0x49,0x5e,0x0, 0x2, 0xb, 0xe8,0x40,0xbf,0x26,0x58,0x19,0x49,0xde,0x0, 0x6,
+0x49,0xce,0x0, 0x4, 0x59,0xde,0x0, 0x2, 0x1b,0xe8,0xc0,0x2d,0xf3,0x59,0x5f,0x0,
+0x6, 0x59,0x4f,0x0, 0x4, 0xb, 0x4, 0x7d,0xf2,0x1b,0xf4,0x9d,0xf1,0xbd,0xf0,0x38,
+0xbe,0xb, 0x14,0xbd,0x21,0x38,0xb4,0x22,0xca,0x3b,0xf5,0x26,0x7a,0xd, 0x22,0x7f,
+0x31,0x75,0x29,0x0, 0x75,0x2a,0x0, 0x7e,0x34,0x9, 0xfd,0x7e,0x24,0x0, 0x90,0xe4,
+0x12,0x4, 0xeb,0x6c,0xaa,0x12,0x23,0x30,0xbf,0x13,0x8, 0x11,0x7e,0x31,0x29,0x74,
+0x4, 0xac,0x3b,0x59,0x31,0x9, 0xff,0x59,0x21,0x9, 0xfd,0x5, 0x29,0xb, 0xa0,0xbe,
+0xa0,0x16,0x78,0xe1,0xe5,0x26,0xbe,0xb1,0x29,0x38,0x38,0x7e,0xd, 0x22,0x7e,0x1f,
+0x5, 0x28,0xbf,0x10,0x58,0x2d,0x7e,0x34,0x9, 0xfd,0xe5,0x26,0xa, 0x2b,0x12,0x30,
+0x7, 0x7e,0xa1,0x27,0x74,0x4, 0xa4,0x49,0x35,0x9, 0xff,0x49,0x25,0x9, 0xfd,0xe5,
+0x28,0xa, 0x1b,0x6d,0x0, 0x12,0x3, 0xec,0x7e,0xf, 0x9, 0xfd,0xbf,0x10,0x8, 0x3,
+0x75,0x2a,0x1, 0xe5,0x2a,0xda,0x3b,0x22,0x75,0x27,0xa, 0x75,0x28,0x5, 0x7e,0x18,
+0x3, 0xe8,0x7e,0x8, 0x27,0x10,0x74,0xc, 0x12,0x30,0x58,0x70,0x13,0x75,0x27,0xa,
+0x75,0x28,0x4, 0x7e,0x18,0x3, 0xe8,0x7e,0x8, 0x27,0x10,0x74,0xa, 0x12,0x30,0x58,
+0x60,0x13,0x7e,0xb3,0x6, 0x67,0x44,0x2, 0x7a,0xb3,0x6, 0x67,0x12,0x28,0x8c,0xe4,
+0x7a,0xb3,0xd, 0x11,0x22,0x7e,0xa3,0x6, 0x67,0x7c,0xba,0x30,0xe1,0x1b,0x7e,0xb3,
+0xd, 0x11,0x4, 0x7a,0xb3,0xd, 0x11,0xbe,0xb0,0x14,0x40,0xd, 0xe4,0x7a,0xb3,0xd,
+0x11,0x7c,0xba,0x54,0xfd,0x7a,0xb3,0x6, 0x67,0x22,0x75,0x39,0x3, 0x75,0x3f,0x0,
+0x22,0xbe,0xb0,0xa, 0x50,0x8, 0x7c,0x1b,0x2e,0x10,0x37,0xa5,0xe7,0x22,0x2, 0x31,
+0x51,0xb4,0xae,0x5, 0x7e,0xb3,0x3, 0x34,0x22,0x24,0xf6,0xbe,0xb0,0x30,0x40,0x2,
+0x61,0x7, 0x7e,0xa0,0x3, 0xa4,0x90,0x31,0x6a,0x73,0x2, 0x31,0xfa,0x2, 0x31,0xfd,
+0x2, 0x31,0xff,0x2, 0x32,0x4, 0x2, 0x32,0x9, 0x2, 0x32,0xe, 0x2, 0x32,0x13,0x2,
+0x32,0x18,0x2, 0x32,0x1d,0x2, 0x32,0x22,0x2, 0x32,0x27,0x2, 0x32,0x2c,0x2, 0x32,
+0x31,0x2, 0x32,0x45,0x2, 0x32,0x4a,0x2, 0x33,0x7, 0x2, 0x32,0x4f,0x2, 0x32,0x54,
+0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2,
+0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,
+0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7,
+0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x32,0x59,0x2,
+0x32,0x5e,0x2, 0x32,0x63,0x2, 0x32,0x68,0x2, 0x32,0x6d,0x2, 0x32,0x72,0x2, 0x33,
+0x7, 0x2, 0x32,0xa5,0x2, 0x33,0x7, 0x2, 0x32,0xd4,0x74,0x16,0x22,0xe4,0x22,0x7e,
+0xb3,0x3, 0x35,0x22,0x7e,0xb3,0x3, 0x38,0x22,0x7e,0xb3,0x3, 0x39,0x22,0x7e,0xb3,
+0x3, 0x3a,0x22,0x7e,0xb3,0x3, 0x3b,0x22,0x7e,0xb3,0x3, 0x3c,0x22,0x7e,0xb3,0x3,
+0x3d,0x22,0x7e,0xb3,0x3, 0x36,0x22,0x7e,0xb3,0x3, 0x37,0x22,0x7e,0xb3,0x3, 0x40,
+0x22,0x7e,0xb3,0xc, 0xd0,0x70,0x8, 0x7e,0x27,0x3, 0x30,0xa, 0x54,0x80,0xa, 0x7e,
+0x57,0x3, 0x30,0x80,0x4, 0x7e,0x57,0x3, 0x30,0x22,0x7e,0xb3,0x3, 0x3f,0x22,0x7e,
+0xb3,0x3, 0x41,0x22,0x7e,0xb3,0x6, 0xd4,0x22,0x7e,0xb3,0x3, 0x43,0x22,0x7e,0xb3,
+0x3, 0x44,0x22,0x7e,0xb3,0x3, 0x45,0x22,0x7e,0xb3,0x3, 0x46,0x22,0x7e,0xb3,0x3,
+0x47,0x22,0x7e,0x73,0x3, 0x47,0x7c,0xb7,0x4, 0x7a,0xb3,0x3, 0x47,0xbe,0x70,0x5c,
+0x50,0x20,0xa, 0x27,0x7d,0x12,0x5e,0x14,0x0, 0x1, 0x68,0xb, 0x7d,0x12,0x1e,0x14,
+0x3e,0x14,0x49,0x51,0xc, 0x20,0x22,0x1e,0x24,0x3e,0x24,0x49,0x22,0xc, 0x20,0xa,
+0x54,0x22,0x74,0xee,0x22,0x7e,0x73,0x3, 0x44,0x7c,0xb7,0x4, 0x7a,0xb3,0x3, 0x44,
+0xbe,0x70,0x2e,0x50,0x1c,0xbe,0x70,0x16,0x50,0x2, 0x80,0x5, 0xbe,0x70,0x16,0x50,
+0xb, 0xa, 0x37,0x2e,0x34,0x4, 0xc5,0x12,0x2c,0xfa,0x7c,0x7b,0xb, 0x70,0x7c,0xb7,
+0x22,0x74,0xee,0x22,0x7e,0x73,0x3, 0x46,0x7c,0xb7,0x4, 0x7a,0xb3,0x3, 0x46,0xbe,
+0x70,0x5c,0x50,0x20,0xa, 0x27,0x7d,0x12,0x5e,0x14,0x0, 0x1, 0x68,0xb, 0x7d,0x12,
+0x1e,0x14,0x3e,0x14,0x49,0x51,0x2, 0xd4,0x22,0x1e,0x24,0x3e,0x24,0x49,0x22,0x2,
+0xd4,0xa, 0x54,0x22,0x74,0xee,0x22,0x74,0xee,0x22,0x7c,0xab,0x24,0x0, 0x78,0x5,
+0x7e,0xb3,0xc, 0xd6,0x22,0xbe,0xa0,0xaf,0x38,0xc, 0x7e,0xb3,0xb, 0x9f,0xb4,0x3,
+0x5, 0x7c,0xba,0x2, 0x31,0x41,0x7c,0xba,0x22,0xca,0x79,0x20,0x90,0x2, 0x61,0xcf,
+0xd2,0x8, 0x7e,0xb3,0xc, 0xd2,0x4, 0x7a,0xb3,0xc, 0xd2,0x7e,0xf3,0xc, 0xd2,0xbe,
+0xf0,0x1, 0x78,0x22,0xe5,0x91,0x7a,0xb3,0xc, 0xd8,0x7e,0xb3,0xc, 0xd8,0xb4,0xd3,
+0xe, 0x74,0x1, 0x7a,0xb3,0xc, 0xd7,0x6d,0x33,0x7a,0x37,0xc, 0xd3,0x80,0x3c,0xe4,
+0x7a,0xb3,0xc, 0xd7,0x80,0x35,0x7e,0xb3,0xc, 0xd6,0xc4,0x7c,0xeb,0x5e,0xe0,0x7,
+0x78,0x8, 0x12,0x34,0xe9,0x12,0x37,0x23,0x80,0x21,0xbe,0xe0,0x4, 0x78,0x8, 0x12,
+0x34,0xe9,0x12,0x4b,0xa9,0x80,0x14,0x7e,0xb3,0xc, 0xd6,0xc4,0x54,0x7, 0xb4,0x1,
+0xa, 0x7e,0xb3,0xc, 0xd2,0x12,0x34,0xeb,0x12,0x37,0xdc,0x12,0x36,0xef,0x78,0xe,
+0xe4,0x12,0x34,0x5c,0xb4,0x10,0x2, 0x80,0x14,0x12,0x36,0xfa,0x80,0x12,0xbe,0xf0,
+0x4, 0x78,0x5, 0x12,0x34,0xdf,0x80,0x8, 0xbe,0xf0,0x1, 0x78,0x3, 0x12,0x37,0xc7,
+0x7e,0xb3,0xc, 0xd8,0xb4,0xd3,0x6, 0x7e,0xb3,0xb, 0xb6,0xf5,0x91,0xc2,0x90,0x20,
+0x91,0x2, 0x81,0x59,0xc2,0x8, 0x7e,0xb3,0xc, 0xd0,0x4, 0x12,0x36,0xeb,0x78,0x50,
+0x7e,0xb3,0xc, 0xd7,0xb4,0x1, 0x36,0x7e,0xa3,0x9, 0x6a,0x7e,0x70,0x4, 0xac,0x7a,
+0xbe,0x37,0xc, 0xd3,0x40,0x22,0x7e,0x37,0xc, 0xd3,0x4d,0x33,0x78,0x5, 0x7a,0xa1,
+0x91,0x80,0xd, 0x7d,0x23,0x1b,0x24,0x2e,0x27,0x6, 0xdb,0x7e,0x29,0xb0,0xf5,0x91,
+0xb, 0x34,0x7a,0x37,0xc, 0xd3,0x80,0x3f,0x75,0x91,0xff,0x80,0x3a,0xe4,0x12,0x34,
+0x5c,0xb4,0x10,0x6, 0x7e,0xb3,0xc, 0xd0,0x80,0x19,0x7e,0xb3,0xc, 0xd0,0x80,0x1e,
+0xbe,0xf0,0x4, 0x78,0x5, 0x12,0x34,0xdf,0x80,0x1d,0xbe,0xf0,0x1, 0x7e,0xb3,0xc,
+0xd0,0x78,0xb, 0x2e,0xb3,0xc, 0xd8,0x12,0x0, 0x9, 0xf5,0x91,0x80,0x9, 0x2e,0xb3,
+0xc, 0xd8,0x12,0x34,0x5c,0xf5,0x91,0xc2,0x91,0xda,0x79,0x22,0x7c,0x7b,0xbe,0x70,
+0x80,0x40,0xc, 0xbe,0x70,0xde,0x38,0x7, 0xa, 0x37,0x9, 0xb3,0xa, 0xe3,0x22,0xa5,
+0xbf,0x0, 0x5, 0x7e,0xb3,0xc, 0xd6,0x22,0x30,0x7, 0x6, 0x7e,0x24,0xc, 0xac,0x80,
+0x4, 0x7e,0x24,0xc, 0xbe,0x7a,0x25,0x4a,0x7c,0xb7,0x14,0xbe,0xb0,0xe, 0x50,0x4c,
+0x7e,0xa0,0x3, 0xa4,0x90,0x34,0x98,0x73,0x2, 0x34,0xc2,0x2, 0x34,0xca,0x2, 0x34,
+0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,
+0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2,
+0x34,0xd2,0x7e,0x35,0x4a,0x9, 0xb3,0x0, 0x4, 0x22,0x7e,0x35,0x4a,0x9, 0xb3,0x0,
+0x3, 0x22,0xa, 0x37,0x2e,0x35,0x4a,0x9, 0xb3,0x0, 0x2, 0x22,0x74,0xff,0x22,0x7e,
+0xb3,0xc, 0xd8,0x12,0x33,0xa, 0xf5,0x91,0x22,0x7c,0xbf,0x2e,0xb3,0xc, 0xd8,0x24,
+0xfe,0x7e,0x71,0x91,0x22,0xca,0xf8,0xe4,0x12,0x36,0xeb,0x78,0x5, 0x12,0x36,0xfa,
+0x80,0x12,0xbe,0xf0,0x4, 0x78,0x5, 0x12,0x34,0xdf,0x80,0x8, 0xbe,0xf0,0x1, 0x78,
+0x3, 0x12,0x37,0xc7,0x75,0x91,0x0, 0xe4,0x7a,0xb3,0xc, 0xd2,0x7a,0xb3,0xc, 0xd1,
+0x74,0xaa,0x7a,0xb3,0xc, 0xac,0x7a,0xb3,0xc, 0xad,0x7a,0xb3,0xc, 0xbe,0x7a,0xb3,
+0xc, 0xbf,0xda,0xf8,0x22,0xbe,0xb0,0xa, 0x50,0xa, 0x7c,0x1b,0x2e,0x10,0x37,0x7c,
+0xb7,0xa5,0xf7,0x22,0x2, 0x35,0x47,0xca,0x79,0x7c,0x6b,0xa5,0xbe,0xae,0x17,0x7a,
+0x73,0x3, 0x34,0x7e,0xb3,0x3, 0x34,0xb4,0x1, 0x5, 0xe4,0x7a,0xb3,0x3, 0x34,0xe4,
+0x7a,0xb3,0x3, 0x42,0xc1,0x65,0xa5,0xbe,0xaf,0x5, 0x12,0x37,0xea,0xc1,0xe8,0x7c,
+0xb6,0x24,0xf4,0xbe,0xb0,0x29,0x40,0x2, 0xc1,0xa0,0x7e,0xa0,0x3, 0xa4,0x90,0x35,
+0x82,0x73,0x2, 0x35,0xfd,0x2, 0x36,0x3, 0x2, 0x36,0x9, 0x2, 0x36,0xf, 0x2, 0x36,
+0x15,0x2, 0x36,0x1b,0x2, 0x36,0x21,0x2, 0x36,0x27,0x2, 0x36,0x2d,0x2, 0x36,0x33,
+0x2, 0x36,0x39,0x2, 0x36,0x51,0x2, 0x36,0x6a,0x2, 0x36,0xe1,0x2, 0x36,0x70,0x2,
+0x36,0x79,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,
+0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,
+0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2,
+0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,
+0x82,0x2, 0x36,0x88,0x2, 0x36,0x8e,0x2, 0x36,0x94,0x2, 0x36,0x9a,0x7e,0x74,0x3,
+0x35,0x80,0x7a,0x7e,0x74,0x3, 0x38,0x80,0x74,0x7e,0x74,0x3, 0x39,0x80,0x6e,0x7e,
+0x74,0x3, 0x3a,0x80,0x68,0x7e,0x74,0x3, 0x3b,0x80,0x62,0x7e,0x74,0x3, 0x3c,0x80,
+0x5c,0x7e,0x74,0x3, 0x3d,0x80,0x56,0x7e,0x74,0x3, 0x36,0x80,0x50,0x7e,0x74,0x3,
+0x37,0x80,0x4a,0x7e,0x74,0x3, 0x40,0x80,0x44,0x7e,0x27,0x3, 0x30,0x6c,0x44,0x7a,
+0x27,0x3, 0x30,0x7c,0x67,0x6c,0x77,0x4e,0x37,0x3, 0x30,0x7a,0x37,0x3, 0x30,0x80,
+0x14,0x7e,0x27,0x3, 0x30,0x6c,0x55,0x7a,0x27,0x3, 0x30,0xa, 0x37,0x4e,0x37,0x3,
+0x30,0x7a,0x37,0x3, 0x30,0x43,0xa, 0x1, 0x80,0x7e,0x7e,0x74,0x3, 0x3f,0x80,0xd,
+0x7e,0x74,0x3, 0x41,0x43,0xa, 0x4, 0x80,0x68,0x7e,0x74,0x6, 0xd4,0x43,0xa, 0x1,
+0x80,0x5f,0x7a,0x73,0x3, 0x43,0x80,0x60,0x7a,0x73,0x3, 0x44,0x80,0x5a,0x7a,0x73,
+0x3, 0x45,0x80,0x54,0x7a,0x73,0x3, 0x46,0x80,0x4e,0x7a,0x73,0x3, 0x47,0x80,0x48,
+0xbe,0x60,0x39,0x68,0x4, 0xa5,0xbe,0x3a,0x3f,0x7e,0x63,0x3, 0x45,0x7c,0xb6,0x4,
+0x7a,0xb3,0x3, 0x45,0xa, 0x26,0x5e,0x24,0x0, 0x1, 0xa, 0x16,0x68,0x12,0x12,0x37,
+0x4, 0x6c,0x55,0x1b,0x18,0x20,0xa, 0x17,0x12,0x37,0x10,0x43,0xa, 0x2, 0x80,0x18,
+0x12,0x37,0x4, 0x6c,0x44,0x1b,0x18,0x20,0x7c,0x27,0x6c,0x33,0x12,0x37,0x10,0x80,
+0x7, 0x4d,0x77,0x68,0x3, 0x7a,0x79,0x70,0xda,0x79,0x22,0x7a,0xb3,0xc, 0xd0,0x7e,
+0xb3,0xc, 0xd6,0xc4,0x7c,0xfb,0x5e,0xf0,0x7, 0x22,0x7e,0xb3,0xc, 0xd8,0x12,0x34,
+0x5c,0xf5,0x91,0x22,0x1e,0x14,0x3e,0x14,0x2e,0x14,0x2, 0xd4,0xb, 0x18,0x20,0x22,
+0xa, 0x26,0x1e,0x24,0x3e,0x24,0x2e,0x24,0x2, 0xd4,0xb, 0x28,0x30,0x4d,0x31,0x1b,
+0x28,0x30,0x22,0xca,0x69,0xca,0xf8,0x7c,0xf7,0xbe,0xb0,0x80,0x40,0xb, 0xbe,0xb0,
+0xde,0x38,0x6, 0x24,0x80,0x7c,0x7f,0xe1,0xbf,0x24,0x0, 0x68,0x2, 0xe1,0xc2,0x7e,
+0x64,0xc, 0xd6,0x7a,0x69,0xf0,0x5e,0xf0,0x70,0x7c,0xbf,0xc4,0x54,0xf, 0x7c,0xfb,
+0xbe,0xf0,0x4, 0x78,0x15,0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x7, 0x74,0x2, 0x7e,0x70,
+0x3, 0x80,0x36,0x74,0x3c,0x7e,0x70,0x3, 0x80,0x55,0x7e,0xb3,0xb, 0x9f,0xb4,0x3,
+0x2d,0x74,0x2, 0x7e,0x70,0x1, 0x12,0x35,0x35,0xbe,0xf0,0x1, 0x78,0x6, 0x74,0x2,
+0x6c,0x77,0x80,0x15,0x4c,0xff,0x78,0x7, 0x74,0x2, 0x7e,0x70,0x1, 0x80,0xa, 0xbe,
+0xf0,0x3, 0x78,0x2e,0x74,0x2, 0x7e,0x70,0x4, 0x12,0x35,0x35,0x80,0x24,0xbe,0xf0,
+0x1, 0x78,0x6, 0x74,0x3c,0x6c,0x77,0x80,0x16,0xbe,0xf0,0x4, 0x78,0x7, 0x74,0x3c,
+0x7e,0x70,0x3, 0x80,0xa, 0xbe,0xf0,0x3, 0x78,0x8, 0x74,0x3c,0x7e,0x70,0x4, 0x12,
+0x4b,0x75,0xda,0xf8,0xda,0x69,0x22,0x7e,0xb3,0xc, 0xd8,0x12,0x0, 0x9, 0xf5,0x91,
+0x22,0xe4,0x7a,0xb3,0xc, 0xd6,0x12,0x4d,0xe8,0x2, 0x34,0xf5,0x7c,0xa7,0x24,0x0,
+0x78,0x7, 0x7e,0x34,0xc, 0xd6,0x7a,0x39,0xa0,0x22,0x30,0x9, 0x8, 0x74,0x1, 0x12,
+0x43,0x3a,0xc2,0x9, 0x22,0xe4,0x12,0x43,0x3a,0xd2,0x9, 0x22,0x75,0xd, 0x0, 0xc2,
+0x5, 0x7e,0xb3,0xb, 0x88,0x70,0x7, 0x7e,0xb3,0x0, 0x95,0xf5,0x1a,0x22,0x7e,0xb3,
+0x0, 0x97,0xf5,0x1a,0x22,0x7d,0xd2,0x6d,0x22,0x9e,0x18,0x0, 0xc7,0x6d,0xcc,0x7e,
+0x78,0x0, 0xc7,0x7f,0x27,0x9f,0x26,0x12,0x3c,0x5c,0x2e,0x28,0x0, 0xc7,0x9f,0x71,
+0x7f,0x17,0xbe,0x28,0x0, 0x0, 0x58,0x4, 0x9f,0x22,0x80,0xa, 0xbe,0x28,0x1, 0x8e,
+0x48,0x4, 0x7e,0x28,0x1, 0x8d,0xbe,0x18,0x0, 0x0, 0x58,0x4, 0x9f,0x11,0x80,0xa,
+0xbe,0x18,0x1, 0x8e,0x48,0x4, 0x7e,0x18,0x1, 0x8d,0x1b,0x18,0x50,0x7d,0x13,0x1b,
+0x8, 0x10,0x22,0xca,0xf8,0x6c,0xff,0x80,0x23,0x74,0x5, 0xac,0xbf,0x12,0x3c,0xa,
+0x7e,0x14,0x0, 0x22,0x7e,0x4, 0x0, 0x24,0x12,0x38,0x15,0x7e,0x35,0x22,0x74,0x5,
+0xac,0xbf,0x59,0x35,0x0, 0x7a,0x7e,0x35,0x24,0x12,0x3c,0x51,0x12,0x38,0x94,0x48,
+0xd8,0xda,0xf8,0x22,0x7e,0xb3,0x0, 0x90,0x54,0xf, 0xa, 0x2b,0xa, 0x3f,0xbd,0x32,
+0x22,0xca,0x3b,0xc2,0xf, 0x75,0x2c,0x0, 0x7e,0xb3,0x3, 0x5a,0xbe,0xb0,0x2, 0x68,
+0x7, 0x7e,0xb3,0x3, 0x5b,0xb4,0x2, 0x16,0x12,0x2d,0x19,0xbe,0xb0,0x1, 0x38,0xe,
+0x7c,0xba,0x54,0xf, 0xbe,0xb0,0x1, 0x38,0x5, 0x7c,0xba,0x12,0x28,0x90,0x6c,0xff,
+0x7e,0xa0,0xff,0x7e,0x70,0x5, 0xac,0x7f,0x19,0xa3,0x0, 0x7e,0x7c,0x1f,0x2e,0x10,
+0x22,0x74,0xff,0xa5,0xf7,0x7e,0x24,0xff,0xff,0x12,0x3b,0xed,0x1b,0x38,0x20,0x7c,
+0x1f,0x2e,0x10,0x24,0xe4,0xa5,0xf7,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xd2,0x7e,0xa3,
+0x0, 0x90,0x7c,0xba,0x54,0xf, 0x78,0x1f,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x18,0x6c,
+0xff,0x12,0x3c,0x49,0xac,0x7f,0x59,0x43,0x3, 0x52,0x59,0x43,0x3, 0x56,0xb, 0xf0,
+0xbe,0xf0,0x2, 0x78,0xec,0x61,0x88,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x33,0x6c,0xff,
+0x7e,0xa0,0x1, 0x80,0x25,0x7c,0x1f,0x2e,0x10,0x24,0x7c,0xba,0x12,0x3b,0xf6,0x19,
+0xf3,0x0, 0x7e,0x49,0x43,0x0, 0x7a,0x7e,0x50,0x2, 0xac,0x5f,0x59,0x42,0x3, 0x52,
+0x49,0x33,0x0, 0x7c,0x59,0x32,0x3, 0x56,0xb, 0xf0,0x12,0x38,0x94,0x48,0xd6,0x61,
+0x88,0x6c,0xff,0x80,0x47,0x6c,0xee,0x74,0x2, 0xac,0xbe,0x49,0x25,0x3, 0x56,0x12,
+0x3e,0x8, 0x7d,0x63,0x74,0x2, 0xac,0xbe,0x49,0x25,0x3, 0x52,0x12,0x3c,0x73,0x2d,
+0x36,0x7a,0x35,0x26,0x7c,0xbf,0x3e,0xb0,0x24,0x28,0xa, 0x2b,0xb, 0x28,0x30,0xbe,
+0x35,0x26,0x28,0xf, 0x7c,0x1f,0x2e,0x10,0x22,0x7c,0xbe,0xa5,0xf7,0x7e,0x35,0x26,
+0x1b,0x28,0x30,0xb, 0xe0,0xbe,0xe0,0x2, 0x78,0xbd,0xb, 0xf0,0x12,0x38,0x94,0x48,
+0xb4,0x6c,0xff,0x41,0x51,0xd2,0xf, 0x6c,0xee,0x80,0x2c,0xbc,0xef,0x68,0x26,0x7c,
+0x1e,0x12,0x3b,0xfe,0x7c,0x1f,0x2e,0x10,0x22,0xa5,0xe7,0xbc,0xba,0x78,0x16,0x7c,
+0xbe,0x12,0x3b,0xef,0xb, 0x38,0x20,0x12,0x3b,0xed,0xb, 0x38,0x30,0xbd,0x32,0x40,
+0x4, 0xc2,0xf, 0x80,0xd, 0xb, 0xe0,0x12,0xe, 0xaf,0xa, 0x2b,0xa, 0x3e,0xbd,0x32,
+0x48,0xc9,0x7c,0x1f,0x12,0x3b,0xfe,0xa, 0x4a,0x9, 0xb4,0x3, 0x5a,0xb4,0x2, 0x4,
+0xc2,0xf, 0x80,0x1e,0xb4,0x1, 0x1b,0x12,0x2f,0x33,0xbe,0xb0,0x2, 0x40,0x11,0x7c,
+0xb7,0xc4,0x54,0xf, 0xbe,0xb0,0x2, 0x40,0x7, 0xe4,0x19,0xb4,0x3, 0x5a,0x80,0x2,
+0xc2,0xf, 0x30,0xf, 0x2a,0xbe,0xa0,0x2, 0x50,0x25,0x7c,0x1a,0x2e,0x10,0x24,0x74,
+0x1, 0xa5,0xf7,0x7e,0x90,0x5, 0xac,0x9f,0x19,0xa4,0x0, 0x7e,0x49,0x34,0x0, 0x7a,
+0x74,0x2, 0xa4,0x59,0x35,0x3, 0x52,0x49,0x34,0x0, 0x7c,0x59,0x35,0x3, 0x56,0xb,
+0xf0,0x12,0x38,0x94,0x58,0x2, 0x21,0xb5,0x6c,0xff,0x80,0x48,0x74,0x5, 0xac,0xbf,
+0x9, 0xb5,0x0, 0x7e,0xb4,0xff,0x3b,0x6c,0xee,0x7c,0x1e,0x2e,0x10,0x24,0xa5,0xe7,
+0x70,0x29,0xa, 0x3e,0x9, 0xb3,0x3, 0x5a,0x70,0x1f,0x74,0x1, 0x12,0x3b,0xf6,0x49,
+0x23,0x0, 0x7a,0x74,0x2, 0xac,0xbe,0x59,0x25,0x3, 0x52,0x49,0x23,0x0, 0x7c,0x59,
+0x25,0x3, 0x56,0x19,0xe3,0x0, 0x7e,0x80,0x9, 0x5, 0x2c,0xb, 0xe0,0xbe,0xe0,0x2,
+0x40,0xc7,0xb, 0xf0,0x7e,0xa3,0x0, 0x90,0x5e,0xa0,0xf, 0xa, 0x2a,0xa, 0x3f,0xbd,
+0x32,0x48,0xa9,0xe5,0x2c,0x60,0x2a,0x4c,0xaa,0x68,0x26,0xe5,0x2c,0xa, 0x3b,0xbd,
+0x23,0x48,0x1e,0x7e,0x73,0x0, 0x7e,0xbe,0x70,0x2, 0x40,0xc, 0x7e,0x73,0x0, 0x83,
+0xbe,0x70,0x2, 0x50,0x3, 0x12,0x3e,0x3a,0x12,0x2f,0x75,0x9e,0x61,0x2c,0x12,0x2d,
+0x23,0x12,0x2d,0x19,0xa, 0x2b,0x7c,0xba,0x54,0xf, 0xa, 0x3b,0xbd,0x32,0x58,0x71,
+0x6c,0xff,0x12,0x3b,0xe5,0x70,0x5a,0x7e,0xd0,0x2, 0xac,0xdf,0x49,0x46,0x3, 0x52,
+0xbe,0x44,0x7f,0xff,0x68,0x4b,0xa, 0x2f,0x9, 0x62,0x3, 0x5a,0xbe,0x60,0x2, 0x50,
+0x40,0x49,0x16,0x3, 0x56,0xbe,0x14,0x1, 0x8e,0x50,0x36,0x9, 0xb2,0xb, 0x31,0x60,
+0x30,0x74,0x1, 0xa5,0xf7,0x7e,0x73,0x0, 0x90,0x7c,0xe7,0x5e,0xe0,0xf, 0x74,0x5,
+0xac,0xbe,0x59,0x45,0x0, 0x7a,0x59,0x15,0x0, 0x7c,0x19,0xf5,0x0, 0x7e,0x2e,0x24,
+0x3, 0x5a,0x7c,0xb6,0x4, 0x7a,0x29,0xb0,0x7c,0x67,0xb, 0x60,0x12,0x2d,0x23,0x80,
+0x7, 0xe4,0xa, 0x3f,0x19,0xb3,0x3, 0x5a,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0x93,0x80,
+0x9, 0xe4,0x7a,0xb3,0x3, 0x5a,0x7a,0xb3,0x3, 0x5b,0x6c,0xff,0x12,0x3b,0xe5,0x70,
+0x10,0x7e,0x34,0x7f,0xff,0x74,0x2, 0xac,0xbf,0x59,0x35,0x3, 0x52,0x59,0x35,0x3,
+0x56,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xe4,0x12,0x3c,0x41,0x6c,0xff,0x12,0x3b,0xe5,
+0xb4,0x1, 0x1d,0xa, 0x3f,0x9, 0xb3,0x3, 0x50,0xbe,0xb0,0x3, 0x68,0x3, 0xb4,0x1,
+0x7, 0xe4,0x19,0xb3,0x3, 0x4e,0x80,0x33,0x74,0x2, 0x19,0xb3,0x3, 0x4e,0x80,0x2b,
+0xa, 0x3f,0x9, 0xb3,0x3, 0x50,0xbe,0xb0,0x2, 0x68,0x2, 0x70,0x18,0x74,0x1, 0x19,
+0xb3,0x3, 0x4e,0xbe,0xe0,0x2, 0x50,0x13,0x7c,0xae,0xb, 0xe0,0x74,0x5, 0xa4,0x19,
+0xf5,0x0, 0x7e,0x80,0x6, 0x74,0x3, 0x19,0xb3,0x3, 0x4e,0xb, 0xf0,0xbe,0xf0,0x2,
+0x40,0xab,0xda,0x3b,0x22,0x7c,0x1f,0x2e,0x10,0x24,0xa5,0xe7,0x22,0x7c,0xbf,0x3e,
+0xb0,0x24,0x28,0xa, 0x3b,0x22,0xa5,0xf7,0x7e,0x70,0x5, 0xac,0x7f,0x22,0x2e,0x10,
+0x22,0xa5,0xe7,0x7c,0xab,0x22,0x74,0x5, 0xac,0xbe,0x49,0x35,0x0, 0x7a,0x49,0x25,
+0x0, 0x7c,0x22,0xca,0x79,0x12,0x3c,0x37,0x6c,0xff,0x80,0x13,0xa, 0x3f,0x9, 0xe3,
+0x0, 0x76,0x7e,0x34,0x6, 0x15,0x7c,0xbe,0x6c,0x55,0x12,0x3e,0x4b,0xb, 0xf0,0x12,
+0x38,0x94,0x48,0xe8,0xda,0x79,0x22,0x74,0x1, 0x6c,0xaa,0x12,0x3c,0x67,0x40,0xfb,
+0x22,0x7e,0xe3,0x0, 0x90,0x5e,0xe0,0xf, 0x22,0x7e,0x44,0x7f,0xff,0x7e,0x70,0x2,
+0x22,0x74,0x5, 0xac,0xbf,0x59,0x35,0x0, 0x7c,0xb, 0xf0,0x22,0x6e,0x34,0xff,0xff,
+0x6e,0x24,0xff,0xff,0xb, 0x1c,0x22,0xa, 0x4a,0x19,0xb4,0x6, 0x15,0xb, 0xa0,0xbe,
+0xa0,0x2e,0x22,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7a,0x9d,0x32,0x2, 0x0, 0x2e,
+0xca,0x3b,0x12,0xe, 0xaf,0x7c,0xeb,0x78,0x30,0x6c,0xff,0x6d,0x11,0x74,0x2, 0xac,
+0xbf,0x59,0x15,0xd, 0x1d,0x7e,0xa0,0xff,0x7e,0x30,0x5, 0xac,0x3f,0x19,0xa1,0xd,
+0x17,0x7e,0xb3,0xd, 0x28,0x70,0x3, 0xe4,0x80,0x2, 0x74,0x2, 0xa, 0x1f,0x19,0xb1,
+0xd, 0x26,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xd2,0x7e,0x17,0x0, 0x92,0xbe,0x14,0x0,
+0x1, 0x78,0x2, 0xa1,0xfc,0x6c,0xff,0xa1,0xd8,0x74,0x5, 0xac,0xbf,0x9, 0x75,0x0,
+0x7e,0x7a,0x71,0x23,0xbe,0x70,0x2, 0x40,0x2, 0xa1,0xd6,0xe5,0x23,0xa, 0x1b,0x12,
+0x3e,0x1d,0x78,0x2, 0xa1,0xd6,0x75,0x22,0x0, 0x7e,0x31,0x22,0x74,0x5, 0xac,0x3b,
+0x9, 0x71,0xd, 0x17,0x7a,0x71,0x24,0xbe,0x71,0x23,0x68,0x2, 0xa1,0xcb,0x49,0x21,
+0xd, 0x15,0x12,0x3e,0x8, 0x7d,0x63,0x12,0x14,0xe3,0x49,0x25,0xd, 0x13,0x12,0x3c,
+0x73,0x7d,0x3, 0x2d,0x6, 0xe5,0x24,0xa, 0x1b,0x9, 0xa1,0xd, 0x26,0xbe,0xa0,0x0,
+0x28,0x17,0x7e,0x71,0x24,0x74,0x2, 0xac,0x7b,0x59,0x3, 0xd, 0x1d,0x2e,0x14,0xd,
+0x26,0x7c,0xba,0x14,0x7a,0x19,0xb0,0xa1,0xd6,0x7e,0x31,0x24,0x74,0x2, 0xac,0x3b,
+0x49,0x31,0xd, 0x1d,0xbe,0x34,0x0, 0x1e,0x28,0x8, 0xbe,0x4, 0x0, 0x1e,0x28,0x2,
+0x80,0x10,0x7d,0x23,0x2e,0x24,0x0, 0x1e,0xbd,0x20,0x50,0x12,0xbe,0x34,0x0, 0x1e,
+0x28,0xc, 0x59,0x1, 0xd, 0x1d,0x74,0x1, 0x7a,0xb3,0xd, 0x28,0x80,0x68,0xbe,0x4,
+0x0, 0x64,0x28,0x4b,0xe4,0x7a,0xb3,0xd, 0x28,0xe5,0x23,0xa, 0x1b,0x9, 0xb1,0x3,
+0x4e,0x70,0x4, 0x74,0x3, 0x80,0x2, 0x74,0x1, 0x19,0xb1,0x3, 0x4e,0x12,0x3e,0x25,
+0x7e,0x14,0xd, 0x21,0x74,0x5, 0x12,0x4, 0x8d,0xbe,0xe0,0x0, 0x28,0x21,0x1b,0xe0,
+0x7e,0x70,0x5, 0xac,0x7e,0x2e,0x34,0x0, 0x7a,0x7e,0x30,0x5, 0xac,0x3f,0x12,0x3d,
+0xff,0x7e,0x34,0xd, 0x21,0x7e,0x30,0x5, 0xac,0x3e,0x12,0x3d,0xff,0x1b,0xf0,0x7e,
+0xa1,0x24,0x74,0x2, 0xa4,0x59,0x5, 0xd, 0x1d,0x80,0xb, 0x5, 0x22,0xe5,0x22,0xbe,
+0xb0,0x2, 0x50,0x2, 0x81,0xe9,0xb, 0xf0,0x12,0x2f,0x33,0xa, 0x2b,0xa, 0x1f,0xbd,
+0x12,0x58,0x2, 0x81,0xc9,0x7c,0x6e,0x12,0x2d,0x23,0x6c,0xff,0x12,0x3e,0x15,0x2e,
+0x34,0x0, 0x7a,0x2e,0x14,0xd, 0x13,0x12,0x3e,0x2f,0x78,0xf0,0xda,0x3b,0x22,0x2e,
+0x14,0x0, 0x7a,0x74,0x5, 0x2, 0x4, 0x8d,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7c,
+0x9d,0x32,0x2, 0x0, 0x2e,0x7e,0x30,0x5, 0xac,0x3f,0x7d,0x31,0x22,0x9, 0xb1,0x3,
+0x4e,0xbe,0xb0,0x1, 0x22,0x7e,0x70,0x5, 0xac,0x7f,0x2e,0x34,0x0, 0x7a,0x22,0x74,
+0x5, 0x12,0x4, 0x8d,0xb, 0xf0,0xbe,0xf0,0x2, 0x22,0x7e,0x1f,0x0, 0x80,0x7e,0x33,
+0x0, 0x7f,0x7a,0x1f,0x0, 0x7b,0x7a,0x33,0x0, 0x7a,0x22,0x7d,0x13,0x4d,0x11,0x68,
+0xc, 0xbe,0xb0,0x2e,0x50,0x7, 0xa, 0x3b,0x2d,0x31,0x7a,0x39,0x50,0x22,0x74,0x10,
+0x7a,0xb3,0xb, 0x84,0x74,0x83,0x7a,0xb3,0xb, 0x85,0xe4,0x6c,0xaa,0x12,0x3c,0x67,
+0x40,0xfb,0x22,0x6c,0xaa,0x74,0x3, 0xa, 0x4a,0x19,0xb4,0x3, 0x50,0x19,0xb4,0x3,
+0x4e,0x12,0x3c,0x49,0xac,0x7a,0x59,0x43,0x3, 0x52,0x59,0x43,0x3, 0x56,0xb, 0xa0,
+0xbe,0xa0,0x2, 0x40,0xe0,0x22,0x7c,0x6b,0x7e,0x53,0x0, 0x90,0x7c,0xb5,0x54,0xf,
+0x68,0x10,0x7c,0x45,0x1b,0x40,0x5e,0x40,0xf, 0x5e,0x50,0xf0,0x4c,0x54,0x7a,0x53,
+0x0, 0x90,0xa5,0xbe,0x0, 0x12,0xa5,0xbf,0x2, 0xe, 0x7e,0x73,0x0, 0x77,0x7a,0x73,
+0x0, 0x76,0x85,0x17,0x16,0x12,0x3e,0x3a,0x22,0xca,0x79,0x6d,0x77,0x7a,0x77,0x2,
+0xd0,0x7e,0x34,0x3, 0xe8,0x7a,0x37,0x0, 0x74,0x12,0x1f,0xe6,0x12,0x1e,0xf6,0x12,
+0x1b,0xdc,0x7a,0x77,0x2, 0xd0,0x7e,0x34,0x0, 0x64,0x7a,0x37,0x0, 0x74,0xda,0x79,
+0x22,0x6c,0x77,0xa, 0x27,0x9, 0x62,0x3, 0x4e,0x19,0x62,0x3, 0x50,0xb, 0x70,0xbe,
+0x70,0x2, 0x40,0xef,0x12,0x3f,0x35,0x12,0x3f,0x2d,0x7a,0x73,0x0, 0x90,0x7e,0x73,
+0x0, 0x91,0x5e,0x70,0xf, 0x12,0x3f,0x2d,0x7a,0x73,0x0, 0x91,0x7e,0x1f,0x5, 0x2c,
+0x7a,0x1f,0x5, 0x30,0x7e,0x73,0x6, 0xe, 0x7a,0x73,0x6, 0xf, 0x22,0x7c,0xb7,0xc4,
+0x54,0xf0,0x4c,0x7b,0x22,0x7e,0x73,0x0, 0x90,0x5e,0x70,0xf, 0x22,0x12,0x3f,0x35,
+0x6c,0x66,0x80,0x2, 0xb, 0x60,0xbc,0x76,0x38,0xfa,0x22,0xca,0x3b,0x6c,0xaa,0x12,
+0x3f,0x35,0x7e,0x44,0x3, 0x5c,0x7e,0x24,0x0, 0x76,0x6c,0x66,0x80,0x64,0x75,0x1f,
+0xff,0xa, 0xf6,0x2d,0xf2,0x7e,0xf9,0x20,0x7e,0x30,0x4, 0xac,0x23,0x7d,0xe1,0x2d,
+0xe4,0x49,0x1e,0x0, 0x2, 0xb, 0xe8,0x0, 0xa, 0x76,0xb, 0x74,0x80,0x24,0xa, 0xef,
+0x2d,0xe2,0x7e,0xe9,0xe0,0x7e,0xd0,0x4, 0xac,0xde,0x7d,0xe6,0x2d,0xe4,0x49,0xde,
+0x0, 0x2, 0xb, 0xe8,0xc0,0xbf,0x6, 0x58,0x7, 0x7c,0xae,0x7a,0xf1,0x1f,0x7f,0x6,
+0xb, 0xf0,0xbc,0x7f,0x38,0xd8,0xe5,0x1f,0xbe,0xb0,0xff,0x68,0x13,0x7e,0xf9,0xe0,
+0xe5,0x1f,0xa, 0xfb,0x2d,0xf2,0x7a,0xf9,0xe0,0xa, 0xf6,0x2d,0xf2,0x7a,0xf9,0xa0,
+0xb, 0x60,0xbc,0x76,0x38,0x98,0xda,0x3b,0x22,0x7c,0xab,0x9f,0x11,0x7a,0x1f,0x5,
+0x30,0x74,0xb, 0x7a,0xb3,0x6, 0xf, 0x74,0x2, 0x7a,0xb3,0x6, 0x44,0x7a,0xb3,0x6,
+0x43,0x74,0xf, 0x7a,0xb3,0x6, 0x45,0x74,0x2, 0x7a,0xb3,0x6, 0x47,0x7a,0xb3,0x6,
+0x46,0x74,0xf, 0x7a,0xb3,0x6, 0x48,0x7e,0x34,0x0, 0x32,0x7a,0x37,0x5, 0xec,0x12,
+0x41,0x12,0x74,0xa, 0x7a,0xb3,0x6, 0x10,0x7e,0xb3,0x6, 0x67,0x44,0x40,0x7a,0xb3,
+0x6, 0x67,0x54,0x7f,0x7a,0xb3,0x6, 0x67,0x5e,0xa0,0x7f,0xbe,0xa0,0x1, 0x68,0x7,
+0xbe,0xa0,0x2, 0x78,0x2, 0x80,0x0, 0x12,0x41,0x12,0x7e,0xa3,0x6, 0x67,0x7c,0xba,
+0x30,0xe0,0x12,0x74,0x1, 0x7a,0xb3,0x6, 0x11,0x74,0x3, 0x7a,0xb3,0x6, 0x12,0x7a,
+0xb3,0x6, 0x13,0x80,0xe, 0x74,0x1, 0x7a,0xb3,0x6, 0x12,0x7a,0xb3,0x6, 0x13,0x7a,
+0xb3,0x6, 0x11,0x74,0xa, 0x7a,0xb3,0x6, 0x66,0x7a,0xb3,0x6, 0x14,0x7e,0x24,0x2a,
+0xf8,0x7a,0x27,0x5, 0xf0,0x7c,0xba,0x54,0xfd,0x7a,0xb3,0x6, 0x67,0x7e,0x24,0xfc,
+0xe0,0x7a,0x27,0x5, 0xee,0x12,0x41,0x35,0x7a,0x37,0x5, 0xf2,0x7e,0x34,0x5, 0xdc,
+0x7a,0x37,0x5, 0xf4,0x7e,0x34,0xf, 0xa0,0x7a,0x37,0x5, 0xf6,0x7e,0xb3,0x6, 0x67,
+0x54,0xf7,0x7a,0xb3,0x6, 0x67,0x54,0xef,0x7a,0xb3,0x6, 0x67,0x7e,0x34,0x0, 0xc7,
+0x7a,0x37,0x5, 0xf8,0x7e,0x34,0x0, 0xa0,0x7a,0x37,0x5, 0xfa,0xe4,0x7a,0xb3,0x6,
+0x49,0x7a,0xb3,0x6, 0x4a,0x7a,0x37,0x6, 0x4b,0x7e,0x34,0x0, 0x31,0x7a,0x37,0x5,
+0xfc,0x7e,0x34,0x1, 0x5c,0x7a,0x37,0x5, 0xfe,0x12,0x41,0x1d,0x7e,0x34,0x0, 0x8,
+0x7a,0x37,0x6, 0x2, 0x7e,0x34,0x0, 0x7, 0x7a,0x37,0x6, 0x0, 0x7e,0x34,0x0, 0x1a,
+0x7a,0x37,0x6, 0x4, 0x7e,0x34,0x6, 0x65,0x7a,0x37,0x6, 0x6, 0x7e,0x34,0x22,0x98,
+0x7a,0x37,0x6, 0x8, 0x7e,0x34,0x20,0x4, 0x7a,0x37,0x6, 0xc, 0x7e,0x34,0x20,0x51,
+0x7a,0x37,0x6, 0xa, 0xe4,0x7a,0xb3,0x6, 0x4d,0x7e,0x34,0xa, 0xd1,0x7a,0x37,0x6,
+0x4e,0x22,0x7e,0xb3,0x6, 0x67,0x54,0xfe,0x7a,0xb3,0x6, 0x67,0x22,0x7e,0xb3,0x6,
+0x67,0x54,0xdf,0x7a,0xb3,0x6, 0x67,0x22,0x7e,0xb3,0x6, 0x67,0x44,0x4, 0x7a,0xb3,
+0x6, 0x67,0x12,0x15,0x1d,0x7e,0xb3,0x6, 0x67,0x54,0xfb,0x7a,0xb3,0x6, 0x67,0x22,
+0xca,0x3b,0x7e,0x48,0x75,0x30,0x7f,0x74,0x9f,0x55,0x7f,0x5, 0x6c,0x77,0x7e,0xa0,
+0x1, 0x6c,0x66,0x7e,0x50,0x2, 0xac,0x56,0x49,0x72,0x5, 0x34,0x6d,0x66,0x7e,0x50,
+0x4, 0xac,0x56,0x49,0xd2,0x3, 0x5e,0x49,0xc2,0x3, 0x5c,0x2f,0x63,0xbf,0x76,0x8,
+0x2, 0x7f,0x76,0xbf,0x6, 0x58,0x2, 0x7f,0x6, 0xb, 0x60,0xa5,0xbe,0x16,0xd4,0x7f,
+0x30,0x9f,0x37,0xbe,0x38,0x4, 0xb0,0x58,0x3, 0x7e,0x70,0x1, 0x7f,0x74,0x7f,0x5,
+0x6c,0x66,0x7e,0x50,0x2, 0xac,0x56,0x49,0xd2,0x5, 0x34,0x6d,0xcc,0xbf,0x76,0x8,
+0x2, 0x7f,0x76,0xbf,0x6, 0x58,0x2, 0x7f,0x6, 0xb, 0x60,0xa5,0xbe,0x16,0xe3,0x9f,
+0x7, 0xbe,0x8, 0x4, 0xb0,0x8, 0x2, 0x6c,0xaa,0x4c,0x77,0x68,0x8, 0x4c,0xaa,0x78,
+0x4, 0x74,0x1, 0x80,0x1, 0xe4,0xda,0x3b,0x22,0xca,0x3b,0x7c,0xcb,0x6c,0xaa,0xe5,
+0x9, 0x70,0xa, 0xe5,0x1c,0x70,0x6, 0xe5,0x11,0x70,0x2, 0x61,0x33,0x20,0x7, 0x6,
+0x7e,0x74,0xc, 0xac,0x80,0x4, 0x7e,0x74,0xc, 0xbe,0x6c,0xdd,0x7e,0x70,0xff,0xa,
+0x2d,0x2d,0x27,0x7a,0x29,0x70,0xb, 0xd0,0xbe,0xd0,0x12,0x78,0xf2,0x74,0xaa,0x7a,
+0x79,0xb0,0x19,0xb7,0x0, 0x1, 0x74,0x12,0x19,0xb7,0x0, 0x2, 0x7e,0xb3,0x2, 0xca,
+0x19,0xb7,0x0, 0x4, 0x6c,0x77,0x6c,0xdd,0x7e,0x10,0x5, 0xac,0x1d,0x9, 0x60,0x2,
+0xba,0xbe,0x60,0xff,0x78,0x2, 0x41,0xbc,0xa, 0x16,0x9, 0xb1,0x3, 0x4e,0xbe,0xb0,
+0x3, 0x78,0x2, 0x41,0xbc,0x49,0x40,0x2, 0xb6,0x2e,0x44,0x0, 0x3, 0x49,0x20,0x2,
+0xb8,0x2e,0x24,0x0, 0x3, 0xa, 0x8, 0x12,0x43,0x4c,0x19,0x60,0x0, 0x5, 0x7c,0x69,
+0xa, 0x7, 0x2d,0x7, 0x19,0x60,0x0, 0x6, 0xa, 0x4, 0x12,0x43,0x4c,0x19,0x60,0x0,
+0x7, 0x7c,0x65,0xa, 0x7, 0x2d,0x7, 0x19,0x60,0x0, 0x8, 0xe4,0xa, 0x7, 0x2d,0x7,
+0x19,0xb0,0x0, 0x9, 0xa, 0x7, 0x2d,0x7, 0x19,0xb0,0x0, 0xa, 0x12,0x43,0x42,0xc4,
+0x54,0xf0,0xa, 0x7, 0x2d,0x7, 0x2e,0x4, 0x0, 0x7, 0x7e,0x9, 0x60,0x2c,0x6b,0x7a,
+0x9, 0x60,0x12,0x43,0x42,0xbe,0xb0,0xff,0x68,0x1f,0x12,0x3e,0x1d,0x68,0x2, 0xb,
+0xa0,0x9, 0xb1,0x3, 0x4e,0x3, 0x3, 0x54,0xc0,0xa, 0x17,0x2d,0x17,0x2e,0x14,0x0,
+0x5, 0x7e,0x19,0x60,0x2c,0x6b,0x7a,0x19,0x60,0x2e,0x70,0x6, 0xb, 0xd0,0xbe,0xd0,
+0x2, 0x68,0x2, 0x41,0x18,0x19,0xa7,0x0, 0x3, 0xe4,0x19,0xb7,0x0, 0x11,0x6c,0xdd,
+0xa, 0x3d,0x2d,0x37,0x7e,0x39,0x60,0x7d,0x27,0x2e,0x24,0x0, 0x11,0x7e,0x29,0x70,
+0x6c,0x76,0x7a,0x29,0x70,0xb, 0xd0,0xbe,0xd0,0x11,0x78,0xe4,0x30,0x7, 0x4, 0xc2,
+0x7, 0x80,0x2, 0xd2,0x7, 0xe5,0x1c,0x60,0x3, 0x12,0x3e,0x73,0x75,0x9, 0x0, 0x75,
+0x1c,0x0, 0x75,0x11,0x0, 0x7e,0xb3,0xb, 0xb3,0xb4,0x1, 0x14,0x12,0x2f,0x3c,0x68,
+0x26,0xe5,0x4f,0xb4,0x1, 0xf, 0x74,0x1, 0x12,0x43,0x3a,0x75,0x4f,0x0, 0x80,0x5,
+0x74,0x1, 0x12,0x43,0x3a,0x7e,0x34,0x0, 0x9, 0x12,0x43,0x57,0xbe,0xc0,0x1, 0x78,
+0x6, 0x80,0x0, 0xe4,0x12,0x43,0x3a,0xda,0x3b,0x22,0x70,0x3, 0xd2,0x86,0x22,0xc2,
+0x86,0x22,0x7e,0x10,0x5, 0xac,0x1d,0x9, 0xb0,0x2, 0xba,0x22,0x5e,0x4, 0x0, 0xf,
+0x7c,0x61,0xa, 0x7, 0x2d,0x7, 0x22,0x7e,0x24,0x0, 0x14,0xad,0x32,0x80,0x3, 0x0,
+0x0, 0x0, 0x7d,0x23,0x1b,0x34,0x4d,0x22,0x78,0xf5,0x22,0x30,0x0, 0x44,0xc2,0x6,
+0xe4,0x7a,0xb3,0x3, 0x48,0x30,0x1, 0x1c,0x80,0x3, 0x30,0x0, 0x9, 0xa9,0x21,0x94,
+0xf9,0x80,0x3, 0x30,0x0, 0x4, 0xa9,0x31,0x94,0xf9,0x30,0x0, 0x1e,0x80,0x15,0x80,
+0x3, 0x30,0x0, 0x9, 0xa9,0x31,0x94,0xf9,0x80,0x3, 0x30,0x0, 0x4, 0xa9,0x21,0x94,
+0xf9,0x30,0x0, 0x7, 0xd2,0x6, 0xe4,0x7a,0xb3,0x2, 0xcf,0x7e,0x37,0x2, 0xcd,0x2,
+0x43,0x57,0x22,0xca,0xf8,0x7c,0xfb,0x74,0x16,0x7a,0xb3,0x6, 0xc6,0xe4,0x7a,0xb3,
+0x6, 0xc7,0x74,0x16,0x7a,0xb3,0x6, 0xc8,0x74,0x30,0x7a,0xb3,0x6, 0xd4,0x7e,0xb3,
+0x6, 0xcb,0x54,0xbf,0x7a,0xb3,0x6, 0xcb,0x54,0x7f,0x7a,0xb3,0x6, 0xcb,0x54,0xf9,
+0x7a,0xb3,0x6, 0xcb,0x7e,0xb3,0x6, 0xca,0x54,0xbf,0x7a,0xb3,0x6, 0xca,0x7e,0xb3,
+0x6, 0xd7,0x44,0x4, 0x7a,0xb3,0x6, 0xd7,0x74,0x15,0x7a,0xb3,0x6, 0xd5,0x7e,0xb3,
+0x6, 0xca,0x54,0x7f,0x7a,0xb3,0x6, 0xca,0x7e,0xb3,0x6, 0xcb,0x54,0xfe,0x7a,0xb3,
+0x6, 0xcb,0x7e,0x34,0x4, 0xc5,0x7e,0x24,0x6, 0x68,0x74,0x16,0x7e,0x30,0x97,0x12,
+0x45,0xb, 0x6c,0x77,0x80,0x8, 0xa, 0x27,0x19,0x72,0x6, 0x96,0xb, 0x70,0x7e,0x63,
+0x6, 0xc8,0xbc,0x67,0x38,0xf0,0x7e,0xb3,0x6, 0xc9,0x44,0x1, 0x7a,0xb3,0x6, 0xc9,
+0x5e,0xf0,0x7f,0xbe,0xf0,0x1, 0x78,0xe, 0x7e,0xb3,0x6, 0xc9,0x12,0x44,0xef,0x44,
+0x8, 0x12,0x44,0xfc,0x80,0x38,0xbe,0xf0,0x2, 0x7e,0xb3,0x6, 0xc9,0x78,0x8, 0x12,
+0x44,0xef,0x12,0x44,0xfc,0x80,0x27,0x44,0x6, 0x12,0x44,0xf1,0x44,0x18,0x7a,0xb3,
+0x6, 0xcb,0x7e,0x63,0x3, 0x35,0x5e,0x60,0x7, 0x7c,0xb6,0xc4,0x3, 0x54,0xf8,0x7c,
+0x6b,0x7e,0x73,0x6, 0xca,0x5e,0x70,0xc7,0x4c,0x76,0x7a,0x73,0x6, 0xca,0xe4,0x7a,
+0xb3,0x6, 0xd6,0x7e,0xb3,0x6, 0xca,0x54,0xfe,0x7a,0xb3,0x6, 0xca,0x44,0x6, 0x7a,
+0xb3,0x6, 0xca,0x7e,0x73,0x3, 0x38,0x7a,0x73,0x6, 0xcc,0x7e,0x73,0x3, 0x39,0x7a,
+0x73,0x6, 0xcd,0x7e,0x73,0x3, 0x36,0x7a,0x73,0x6, 0xce,0x7e,0x73,0x3, 0x3a,0x7a,
+0x73,0x6, 0xcf,0x7e,0x73,0x3, 0x3b,0x7a,0x73,0x6, 0xd0,0x7e,0x73,0x3, 0x37,0x7a,
+0x73,0x6, 0xd1,0x7e,0x73,0x3, 0x3c,0x7a,0x73,0x6, 0xd2,0x7e,0x73,0x3, 0x3d,0x7a,
+0x73,0x6, 0xd3,0x12,0x1f,0xe6,0x54,0xfd,0x7a,0xb3,0x6, 0xd7,0xda,0xf8,0x22,0x54,
+0xf9,0x7a,0xb3,0x6, 0xc9,0x7e,0xb3,0x6, 0xcb,0x54,0xc7,0x22,0x7a,0xb3,0x6, 0xcb,
+0x7e,0xb3,0x6, 0xca,0x54,0xc7,0x7a,0xb3,0x6, 0xca,0x22,0x7c,0x23,0x7c,0x3b,0x7d,
+0x43,0x7c,0xb2,0x24,0x6a,0xbe,0xb0,0x9, 0x40,0x2, 0xe1,0x77,0x7e,0xa0,0x3, 0xa4,
+0x90,0x45,0x24,0x73,0x2, 0x45,0x3f,0x2, 0x45,0xf4,0x2, 0x46,0x2a,0x2, 0x46,0x60,
+0x2, 0x47,0x41,0x2, 0x47,0x77,0x2, 0x46,0x96,0x2, 0x46,0xc6,0x2, 0x46,0xf6,0x6c,
+0x77,0xa1,0xed,0x12,0x47,0xa0,0xbe,0xb0,0x12,0x40,0x2, 0xa1,0xe8,0x7e,0xa0,0x3,
+0xa4,0x90,0x45,0x55,0x73,0x2, 0x45,0x8b,0x2, 0x45,0x90,0x2, 0x45,0x95,0x2, 0x45,
+0x9a,0x2, 0x45,0x9f,0x2, 0x45,0xa4,0x2, 0x45,0xa9,0x2, 0x45,0xae,0x2, 0x45,0xb3,
+0x2, 0x45,0xb8,0x2, 0x45,0xbd,0x2, 0x45,0xc2,0x2, 0x45,0xc7,0x2, 0x45,0xcc,0x2,
+0x45,0xd1,0x2, 0x45,0xd6,0x2, 0x45,0xdb,0x2, 0x45,0xe0,0x7e,0x20,0x4, 0x80,0x53,
+0x7e,0x20,0x6, 0x80,0x4e,0x7e,0x20,0x7, 0x80,0x49,0x7e,0x20,0x5, 0x80,0x44,0x7e,
+0x20,0xe, 0x80,0x3f,0x7e,0x20,0x8, 0x80,0x3a,0x7e,0x20,0xf, 0x80,0x35,0x7e,0x20,
+0x10,0x80,0x30,0x7e,0x20,0x11,0x80,0x2b,0x7e,0x20,0x12,0x80,0x26,0x7e,0x20,0x17,
+0x80,0x21,0x7e,0x20,0x1a,0x80,0x1c,0x7e,0x20,0x18,0x80,0x17,0x7e,0x20,0x1b,0x80,
+0x12,0x7e,0x20,0x21,0x80,0xd, 0x7e,0x20,0x20,0x80,0x8, 0x7e,0x20,0x1f,0x80,0x3,
+0x7e,0x20,0x19,0x12,0x47,0x90,0x80,0x3, 0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x28,
+0x2, 0xa1,0x43,0x22,0x6c,0x77,0x80,0x2d,0x12,0x47,0xa0,0xbe,0x60,0x7, 0x40,0x10,
+0xbe,0x60,0xe, 0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x13,0x12,0x47,0x8e,0x80,0x13,
+0xbe,0x60,0xf, 0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x29,0x12,0x47,0x8e,0x80,0x3,
+0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x2d,0x12,0x47,
+0xa0,0xbe,0x60,0x9, 0x40,0x10,0xbe,0x60,0x12,0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0x10,0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x13,0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0x23,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,
+0x6c,0x77,0x80,0x2d,0x12,0x47,0xa0,0xbe,0x60,0xd, 0x40,0x10,0xbe,0x60,0x18,0x38,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0xb, 0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x19,0x40,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x1b,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb,
+0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x27,0x12,0x47,0xa0,0xbe,0x60,0xe,
+0x40,0xa, 0xbe,0x60,0x19,0x38,0x5, 0x12,0x47,0x88,0x80,0x13,0xbe,0x60,0x1a,0x40,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x19,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb,
+0x70,0xbc,0x37,0x38,0xd5,0x22,0x6c,0x77,0x80,0x27,0x12,0x47,0xa0,0xbe,0x60,0xe,
+0x40,0xa, 0xbe,0x60,0x19,0x38,0x5, 0x12,0x47,0x88,0x80,0x13,0xbe,0x60,0x1a,0x40,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x18,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb,
+0x70,0xbc,0x37,0x38,0xd5,0x22,0x6c,0x77,0x80,0x42,0x12,0x47,0xa0,0xbe,0x60,0x0,
+0x40,0x10,0xbe,0x60,0xd, 0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x3, 0x12,0x47,0x8e,
+0x80,0x28,0xbe,0x60,0xe, 0x40,0x10,0xbe,0x60,0x1b,0x38,0xb, 0xa, 0x56,0x2e,0x54,
+0x0, 0x9, 0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x1c,0x40,0xb, 0xa, 0x56,0x2e,0x54,
+0x0, 0x15,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x38,0xba,
+0x22,0x6c,0x77,0x80,0x2d,0x12,0x47,0xa0,0xbe,0x60,0x11,0x40,0x10,0xbe,0x60,0x1e,
+0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x6, 0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x1f,
+0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x11,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,
+0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x8, 0x12,0x47,0xa0,0x12,0x47,
+0x98,0xb, 0x70,0xbc,0x37,0x38,0xf4,0x22,0xa, 0x56,0x2e,0x54,0x0, 0xa, 0x7c,0x2b,
+0x7d,0x50,0x2d,0x52,0x7a,0x59,0x20,0x22,0x7d,0x50,0x2d,0x52,0x7a,0x59,0x60,0x22,
+0xa, 0x7, 0x7d,0x50,0x2d,0x54,0x7a,0xb1,0x82,0x7a,0xa1,0x83,0xe4,0x93,0x7c,0x6b,
+0x22,0x7e,0x4, 0x0, 0x76,0x6d,0x11,0xe4,0x7a,0x9, 0xb0,0xb, 0x4, 0xb, 0x14,0xbe,
+0x14,0x0, 0x1c,0x78,0xf2,0x7e,0x4, 0x2, 0xb6,0x6d,0x11,0xe4,0x7a,0x9, 0xb0,0xb,
+0x4, 0xb, 0x14,0xbe,0x14,0x0, 0x17,0x78,0xf2,0x6d,0x11,0x12,0x4b,0x6e,0x2e,0x34,
+0x0, 0x7a,0x12,0x4b,0x6b,0x2e,0x34,0x2, 0xb6,0x12,0x4b,0x6b,0x2e,0x34,0x2, 0xc0,
+0x12,0x4b,0x59,0xb, 0x14,0xbe,0x14,0x0, 0x2, 0x40,0xe0,0x74,0x2, 0x7a,0xb3,0x0,
+0x68,0x74,0xa, 0x7a,0xb3,0x0, 0x69,0x7e,0x34,0x0, 0xc7,0x7a,0x37,0x0, 0x6a,0x7e,
+0x34,0x0, 0xc6,0x7a,0x37,0x0, 0x6c,0x7e,0x34,0x0, 0x31,0x7a,0x37,0x0, 0x70,0xc2,
+0x4, 0x75,0xd, 0x0, 0x75,0x1a,0x0, 0xc2,0x5, 0x75,0xb, 0x0, 0x12,0x48,0x45,0x7e,
+0x24,0x7, 0xd0,0x7a,0x27,0x0, 0x74,0x7a,0x37,0x0, 0x9c,0xe4,0x7a,0xb3,0x2, 0xd2,
+0x7a,0xb3,0xb, 0x37,0x22,0x6d,0x33,0x7a,0x37,0x2, 0xd0,0x22,0x12,0x48,0x45,0x7e,
+0x34,0x3, 0xe8,0x7a,0x37,0x0, 0x74,0x2, 0x48,0x5a,0x7e,0x34,0xb, 0x63,0x7e,0xb3,
+0xb, 0xc2,0x20,0xe0,0x2, 0x21,0x19,0x54,0xfe,0x7a,0xb3,0xb, 0xc2,0x7e,0x39,0x50,
+0x7a,0x53,0x3, 0x4b,0x12,0x49,0x1a,0x3e,0x24,0x3e,0x24,0x7a,0x27,0x3, 0x49,0xbe,
+0x24,0x2, 0x26,0x50,0x8, 0x7e,0x24,0x2, 0x26,0x7a,0x27,0x3, 0x49,0x9, 0x53,0x0,
+0x5, 0x7a,0x53,0x0, 0xa0,0x12,0x49,0x1a,0x7a,0x27,0x0, 0x9e,0x9, 0x53,0x0, 0x25,
+0xa, 0x25,0x7a,0x27,0x0, 0x92,0x9, 0x53,0x0, 0x6, 0x7a,0x53,0x0, 0x94,0x9, 0x53,
+0x0, 0x8, 0x7a,0x53,0x0, 0x96,0xbe,0x50,0xf, 0x40,0x6, 0x74,0xe, 0x19,0xb3,0x0,
+0x8, 0x9, 0x53,0x0, 0x8, 0xa, 0x25,0x2e,0x24,0x4, 0xfb,0x7a,0x51,0x82,0x7a,0x41,
+0x83,0xe4,0x93,0x7a,0xb3,0x0, 0x95,0x9, 0x53,0x0, 0x9, 0x7a,0x53,0x0, 0x98,0x7a,
+0x53,0x0, 0x97,0x9, 0x53,0x0, 0x24,0x7a,0x53,0x0, 0x9a,0x9, 0x53,0x0, 0x2d,0x7a,
+0x53,0xd, 0x3f,0x9, 0xb3,0x0, 0x2e,0x7a,0xb3,0x3, 0x34,0xb4,0x1, 0x5, 0xe4,0x7a,
+0xb3,0x3, 0x34,0x7e,0xa3,0xb, 0xb3,0xbe,0xa3,0x0, 0xa1,0x68,0xc, 0x4c,0xaa,0x74,
+0x5, 0x7a,0xb3,0x0, 0x99,0x7a,0xa3,0x0, 0xa1,0x22,0xa, 0x25,0x3e,0x24,0x3e,0x24,
+0x3e,0x24,0x3e,0x24,0x22,0x12,0x49,0xe0,0x12,0x49,0xa1,0x12,0x37,0xd1,0x12,0x4a,
+0xa4,0x12,0x4a,0xf0,0x74,0x1, 0x7a,0xb3,0xb, 0x9f,0x7e,0xb3,0xb, 0x9f,0x24,0xfd,
+0x68,0x11,0x24,0xae,0x68,0x32,0x24,0xab,0x68,0xe, 0x24,0xa9,0x78,0xec,0x12,0x11,
+0x6d,0x80,0xe7,0x12,0x1f,0xe, 0x80,0xe2,0x12,0x48,0x45,0x7e,0x24,0x1, 0xf4,0x7a,
+0x27,0x0, 0x74,0x7e,0xb3,0x2, 0xd2,0xbe,0xb0,0xaa,0x68,0xce,0x7a,0x37,0x0, 0x9c,
+0x74,0xaa,0x7a,0xb3,0x2, 0xd2,0x80,0xc2,0x12,0x48,0x45,0x7e,0x34,0x1, 0xf4,0x7a,
+0x37,0x0, 0x74,0x7e,0xb3,0x2, 0xd2,0xb4,0xaa,0xb0,0x74,0x55,0x7a,0xb3,0x2, 0xd2,
+0x7e,0x74,0x3, 0xe8,0x7d,0x37,0x1b,0x74,0x4d,0x33,0x78,0xf8,0x75,0xe9,0xff,0x80,
+0x99,0x12,0x49,0xc9,0x12,0x0, 0x17,0x12,0x49,0xef,0xc2,0x0, 0xc2,0x2, 0x22,0xc2,
+0x8e,0xe5,0x89,0x54,0xf, 0x44,0x20,0xf5,0x89,0x75,0x8d,0x1, 0x75,0x8b,0x0, 0xd2,
+0x8e,0xd2,0xab,0xa9,0xc3,0xb7,0xd2,0xbb,0x22,0xe4,0x12,0x4a,0x69,0x12,0x4a,0x30,
+0x12,0x4a,0x3c,0x74,0x1, 0x2, 0x49,0xd8,0x70,0x3, 0xc2,0xaf,0x22,0xd2,0xaf,0x22,
+0x6d,0x33,0x7a,0x37,0x2, 0xd0,0x7e,0x34,0x7, 0xd0,0x7a,0x37,0x0, 0x74,0x22,0x7e,
+0x18,0x0, 0x54,0x74,0xf, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0x8, 0x3, 0xe8,0x12,0x4,
+0x59,0xbe,0x18,0xf, 0xff,0x28,0x4, 0x7e,0x18,0xf, 0xff,0xd2,0xc8,0xa9,0xc0,0xcd,
+0xc2,0xaf,0xa9,0xd0,0x9e,0x7c,0xb6,0xf5,0x9d,0xa9,0xd0,0x9e,0x7c,0xb7,0xf5,0x9c,
+0x12,0x4a,0x28,0xc2,0xa8,0xd2,0xaf,0x22,0xc2,0x88,0xd2,0xb8,0xa9,0xd0,0xb7,0x22,
+0x75,0xeb,0x3, 0xa9,0xd6,0xac,0xa9,0xd6,0xec,0xd2,0x86,0x22,0xa9,0xd1,0x99,0x75,
+0x9a,0xfe,0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0xa9,0xd6,0xeb,0x70,0xf, 0xa9,0xc6,0xac,
+0xa9,0xc6,0xec,0xa9,0xd7,0xcd,0xc2,0x96,0xc2,0x95,0x80,0x7, 0xa9,0xd4,0xcd,0xd2,
+0x96,0xd2,0x95,0x12,0x4a,0x28,0xd2,0xa8,0x22,0xd2,0xcf,0xbe,0xb0,0x7, 0x38,0x4,
+0x7c,0xab,0x80,0x2, 0x6c,0xaa,0x43,0xcb,0x8e,0x4e,0xa0,0x30,0x7a,0xa1,0xcc,0x0,
+0x0, 0x0, 0x0, 0xa9,0xd0,0xca,0xa9,0xc5,0xcb,0x53,0xca,0xf1,0x43,0xca,0xe, 0x75,
+0xcf,0x4, 0xc2,0xcc,0xd2,0xcb,0xc2,0xca,0xc2,0xc9,0xc2,0xc8,0xa9,0xc6,0xcb,0x0,
+0x0, 0x0, 0x0, 0x22,0xe4,0x7a,0xb3,0x3, 0x34,0x74,0x1, 0x7a,0xb3,0x3, 0x42,0x74,
+0x7, 0x7a,0xb3,0x3, 0x41,0x74,0xf, 0x7a,0xb3,0x3, 0x38,0x7a,0xb3,0x3, 0x39,0x74,
+0x3f,0x7a,0xb3,0x3, 0x36,0x74,0x12,0x7a,0xb3,0x3, 0x3a,0x7a,0xb3,0x3, 0x3b,0x74,
+0x3f,0x7a,0xb3,0x3, 0x37,0x74,0x10,0x7a,0xb3,0x3, 0x3c,0x7a,0xb3,0x3, 0x3d,0x74,
+0x5, 0x7a,0xb3,0x3, 0x35,0x74,0x3, 0x7a,0xb3,0x3, 0x40,0x7a,0xb3,0x3, 0x3f,0x22,
+0x6d,0x22,0x7a,0x27,0xc, 0x7c,0x7e,0x34,0x1, 0x8e,0x7a,0x37,0xc, 0x7e,0x7a,0x27,
+0xc, 0x80,0x7a,0x37,0xc, 0x82,0x7e,0x14,0x0, 0x84,0x7a,0x17,0xc, 0x85,0x7e,0x14,
+0x0, 0xc7,0x7a,0x17,0xc, 0x87,0x74,0x64,0x7a,0xb3,0xc, 0x84,0x7e,0x14,0x0, 0x96,
+0x7a,0x17,0xc, 0x89,0x7a,0x27,0xc, 0xa0,0x7a,0x37,0xc, 0xa2,0x7a,0x27,0xc, 0xa4,
+0x7a,0x37,0xc, 0xa6,0x74,0x50,0x7a,0xb3,0xc, 0x9e,0x74,0x1e,0x7a,0xb3,0xc, 0x9f,
+0x74,0x3, 0x7a,0xb3,0xc, 0xa8,0x74,0x32,0x7a,0xb3,0xc, 0xa9,0x74,0xf, 0x7a,0xb3,
+0xc, 0xaa,0x74,0x50,0x7a,0xb3,0xc, 0xab,0x22,0x7e,0x24,0x7f,0xff,0x1b,0x38,0x20,
+0x59,0x23,0x0, 0x2, 0x74,0xff,0x19,0xb3,0x0, 0x4, 0x22,0x12,0x4b,0x59,0x7e,0x34,
+0x0, 0x5, 0xad,0x31,0x22,0xbe,0xb0,0x5e,0x38,0x2e,0xbe,0xb0,0x26,0x68,0x29,0xbe,
+0xb0,0x2f,0x68,0x24,0xbe,0xb0,0x23,0x68,0x1f,0xbe,0xb0,0x28,0x68,0x1a,0xbe,0xb0,
+0x21,0x68,0x15,0xbe,0xb0,0x22,0x68,0x10,0xa, 0x2b,0x19,0x72,0xb, 0x63,0x7e,0xb3,
+0xb, 0xc2,0x44,0x1, 0x7a,0xb3,0xb, 0xc2,0x22,0xca,0x79,0x7c,0x6b,0x24,0x0, 0x78,
+0x75,0x7e,0x74,0xc, 0xd6,0x7a,0x79,0x70,0x5e,0x70,0x70,0x7c,0xb7,0xc4,0x54,0xf,
+0x7c,0x7b,0xbe,0x70,0x4, 0x68,0x47,0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x20,0xa5,0xbf,
+0x1, 0x6, 0x74,0x2, 0x6c,0x77,0x80,0x5c,0xa5,0xbf,0x0, 0x7, 0x74,0x2, 0x7e,0x70,
+0x1, 0x80,0x51,0xa5,0xbf,0x3, 0x68,0x74,0x2, 0x7e,0x70,0x4, 0x80,0x46,0xa5,0xbf,
+0x1, 0x6, 0x74,0x3c,0x6c,0x77,0x80,0x29,0xa5,0xbf,0x4, 0x7, 0x74,0x3c,0x7e,0x70,
+0x3, 0x80,0x1e,0xa5,0xbf,0x3, 0x48,0x74,0x3c,0x7e,0x70,0x4, 0x80,0x13,0x7e,0xb3,
+0xb, 0x9f,0xb4,0x3, 0x7, 0x74,0x2, 0x7e,0x70,0x3, 0x80,0x18,0x74,0x3c,0x7e,0x70,
+0x3, 0x12,0x4b,0x75,0x80,0x29,0xbe,0x60,0xa, 0x50,0xe, 0x7e,0xb3,0xb, 0x9f,0xb4,
+0x3, 0x1d,0x7c,0xb6,0x12,0x35,0x35,0x80,0x16,0xbe,0x60,0xa, 0x40,0x11,0xbe,0x60,
+0xaf,0x38,0xc, 0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x5, 0x7c,0xb6,0x12,0x35,0x47,0xda,
+0x79,0x22,0x74,0x17,0x7a,0xb3,0xb, 0x63,0x74,0xa0,0x7a,0xb3,0xb, 0x68,0xe4,0x7a,
+0xb3,0xb, 0x69,0x74,0x5, 0x7a,0xb3,0xb, 0x6a,0x74,0xe, 0x7a,0xb3,0xb, 0x6b,0x74,
+0x5a,0x7a,0xb3,0xb, 0x6c,0x74,0xe, 0x7a,0xb3,0xb, 0x86,0x74,0x1, 0x7a,0xb3,0xb,
+0x87,0xe4,0x7a,0xb3,0xb, 0x88,0x74,0x1, 0x7a,0xb3,0xb, 0x89,0x7a,0xb3,0xb, 0x9f,
+0x74,0x88,0x7a,0xb3,0xb, 0x8b,0xe4,0x7a,0xb3,0xb, 0x8c,0x74,0x2, 0x7a,0xb3,0xb,
+0x92,0xe4,0x7a,0xb3,0xb, 0x91,0x7a,0xb3,0xb, 0x90,0x7a,0xb3,0xd, 0x3f,0x7a,0xb3,
+0xb, 0xb3,0x74,0x3f,0x7a,0xb3,0xb, 0xb4,0xe4,0x7a,0xb3,0xb, 0x93,0x7a,0xb3,0xb,
+0x9e,0x7a,0xb3,0xb, 0x79,0x7e,0x34,0x5, 0xdc,0x7a,0x37,0x3, 0x49,0x74,0x17,0x7a,
+0xb3,0x3, 0x4b,0x12,0x4d,0x11,0x12,0x4d,0x9, 0x7a,0xb3,0x0, 0x94,0x74,0x7, 0x7a,
+0xb3,0x0, 0x95,0x74,0xe, 0x7a,0xb3,0x0, 0x96,0x74,0x5a,0x7a,0xb3,0x0, 0x97,0x7a,
+0xb3,0x0, 0x98,0x74,0x5, 0x7a,0xb3,0x0, 0x99,0x74,0x1, 0x7a,0xb3,0x0, 0x9a,0xe4,
+0x7a,0xb3,0x0, 0x9b,0x7a,0xb3,0x0, 0xa1,0x22,0x6d,0x33,0x7a,0x37,0x0, 0x92,0xe4,
+0x22,0x7e,0x34,0xa, 0x0, 0x7a,0x37,0x0, 0x9e,0x74,0xa0,0x7a,0xb3,0x0, 0xa0,0x22,
+0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,0xca,0x1b,0xca,0xb, 0xc0,0xd0,
+0xc0,0x83,0xc0,0x82,0x12,0x33,0x29,0x74,0x1, 0x7a,0xb3,0xc, 0xd1,0xd0,0x82,0xd0,
+0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,
+0x7b,0x32,0xca,0xb8,0xa9,0xc0,0x93,0xe4,0x7a,0xb3,0xc, 0xd0,0x7a,0xb3,0xc, 0xd2,
+0xda,0xb8,0x32,0x6c,0xaa,0x74,0xff,0xa, 0x4a,0x19,0xb4,0xc, 0xac,0x19,0xb4,0xc,
+0xbe,0xb, 0xa0,0xbe,0xa0,0x12,0x40,0xed,0x22,0xa9,0xd5,0xea,0xa9,0xc4,0xcb,0x75,
+0xa6,0x0, 0xa9,0xc1,0xcd,0x22,0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,
+0xca,0x1b,0xca,0xb, 0xc0,0xd0,0xc0,0x83,0xc0,0x82,0x12,0x4d,0xd1,0x7e,0xb3,0xc,
+0xd6,0x54,0xfd,0x7a,0xb3,0xc, 0xd6,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xd2,
+0xaf,0xc2,0x95,0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,0x4d,0x79,0xd0,0x82,0xd0,0x83,
+0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,0x7b,
+0x32,0xe5,0x9a,0x60,0x5, 0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0xa9,0xd4,0xcb,0x75,0xa6,
+0x10,0xa9,0xd1,0xcd,0xa9,0xc5,0xea,0x22,0xd2,0xce,0x75,0x92,0x70,0xd2,0xad,0xd2,
+0xe8,0xc2,0xc0,0xa9,0xd0,0xf7,0xd2,0xf8,0xa9,0xd5,0xb7,0xd2,0xbd,0x22,0xca,0x7b,
+0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,0xca,0x1b,0xca,0xb, 0xc0,0xd0,0xc0,0x83,
+0xc0,0x82,0x7e,0x35,0x1d,0xb, 0x34,0x7a,0x35,0x1d,0x7e,0x4, 0x0, 0xa, 0x7d,0x13,
+0x8d,0x10,0x4d,0x0, 0x78,0x38,0x7e,0xb3,0x9, 0x6b,0xbe,0xb0,0x0, 0x28,0x5, 0x14,
+0x7a,0xb3,0x9, 0x6b,0x7e,0xb3,0xd, 0x2c,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,
+0xd, 0x2c,0x7e,0xb3,0xd, 0x35,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x35,
+0x7e,0xb3,0xd, 0x2b,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x2b,0x7e,0xb3,
+0x6, 0xda,0x60,0x5, 0x14,0x7a,0xb3,0x6, 0xda,0xbe,0x34,0x3, 0xe8,0x40,0xe, 0x6d,
+0x33,0x7a,0x35,0x1d,0xe5,0xb, 0xbe,0xb0,0x64,0x50,0x2, 0x5, 0xb, 0x7e,0x37,0x2,
+0xd0,0xb, 0x34,0x7a,0x37,0x2, 0xd0,0x7e,0x37,0x0, 0x74,0xbe,0x37,0x2, 0xd0,0x28,
+0x3, 0x12,0x0, 0x27,0x7e,0xb3,0xb, 0x9f,0xb4,0xaa,0x18,0x7e,0x37,0x0, 0x9c,0x7d,
+0x23,0xb, 0x24,0x7a,0x27,0x0, 0x9c,0xbe,0x34,0x1, 0x2c,0x28,0x6, 0x74,0x1, 0x7a,
+0xb3,0xb, 0x9f,0xe5,0x1a,0xbe,0xb1,0xd, 0x28,0x4, 0x5, 0xd, 0x80,0x2, 0xd2,0x5,
+0x7e,0xb3,0xc, 0xd1,0x60,0xf, 0xbe,0xb0,0x28,0x50,0x7, 0x4, 0x7a,0xb3,0xc, 0xd1,
+0x80,0x3, 0x12,0x34,0xf5,0xd0,0x82,0xd0,0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,
+0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,0x7b,0x32,0x53,0xc8,0xc1,0x53,0xcb,0x10,
+0x22,0x7e,0x73,0x6, 0xc6,0xa, 0x37,0x1e,0x34,0x7a,0x73,0xd, 0x3d,0xa, 0x37,0x1e,
+0x34,0x7a,0x73,0xd, 0x3e,0x22,0xd2,0xc9,0xa, 0x56,0xf5,0xf1,0x7c,0xb7,0xf5,0xf2,
+0x75,0xf3,0x80,0x75,0xf4,0x0, 0x75,0xf5,0x83,0xa9,0x37,0xf5,0xfc,0xa9,0x36,0xf5,
+0xfc,0xe5,0xf6,0x43,0xfa,0x80,0xc2,0xc9,0x22,0x7e,0x24,0x12,0xa, 0xb, 0x28,0x30,
+0x5e,0x70,0xf, 0x1b,0x28,0x30,0xb, 0x28,0x30,0x4e,0x70,0x80,0x1b,0x28,0x30,0x7e,
+0xb3,0x6, 0xcb,0xc4,0x23,0x7c,0x7b,0x5e,0x70,0x7, 0xa5,0xbf,0x0, 0x5, 0x7e,0xa0,
+0x2, 0x80,0x32,0xa5,0xbf,0x1, 0x13,0x7e,0xb3,0x6, 0xc9,0x1e,0xb0,0x54,0x3, 0x68,
+0x4, 0x6c,0xaa,0x80,0x20,0x7e,0xa0,0x3, 0x80,0x1b,0xa5,0xbf,0x3, 0x5, 0x7e,0xa0,
+0x6, 0x80,0x12,0x7e,0xb3,0x6, 0xc9,0x1e,0xb0,0x54,0x3, 0x68,0x5, 0x7e,0xa0,0x1,
+0x80,0x3, 0x7e,0xa0,0x5, 0xa, 0x1a,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x2,
+0x37,0x1a,0x7e,0x24,0x12,0x2, 0xb, 0x28,0x30,0x5e,0x60,0xc0,0x1b,0x28,0x30,0x7e,
+0x73,0x6, 0xc8,0x7c,0x27,0x6c,0x33,0x12,0x37,0x1a,0x6c,0x11,0x80,0xb, 0xa, 0x31,
+0x9, 0x3, 0x6, 0x68,0xa, 0x20,0x12,0x5b,0x77,0x7e,0x3, 0x6, 0xc8,0xbc,0x1, 0x38,
+0xed,0x7c,0x10,0x80,0x9, 0x7e,0x24,0x0, 0x3f,0xa, 0x31,0x12,0x5b,0x77,0xbe,0x10,
+0x2e,0x40,0xf2,0x6d,0x22,0x7e,0x34,0x13,0x16,0x1b,0x38,0x20,0x7e,0x34,0x13,0x18,
+0x1b,0x38,0x20,0x7e,0x34,0x13,0x1a,0x1b,0x38,0x20,0x7e,0x34,0x13,0x1c,0x1b,0x38,
+0x20,0x6c,0x11,0x80,0xd, 0xa, 0x31,0x9, 0x3, 0x6, 0x68,0x7c,0xb0,0x12,0x50,0x19,
+0xb, 0x10,0x7e,0x73,0x6, 0xc8,0xbc,0x71,0x38,0xeb,0x7e,0xb3,0x6, 0xd7,0x30,0xe2,
+0x7, 0x7e,0xb3,0x6, 0xd5,0x2, 0x50,0x19,0x22,0x7c,0x7b,0xc4,0x54,0xf, 0x7c,0xab,
+0xa, 0x37,0x7e,0x24,0x0, 0x10,0x12,0x3, 0xba,0x7c,0x75,0x7e,0x14,0x0, 0x1, 0x7c,
+0xb7,0x60,0x5, 0x3e,0x14,0x14,0x78,0xfb,0xa, 0x2a,0x3e,0x24,0x2e,0x24,0x13,0x16,
+0x2, 0x37,0x1a,0xca,0x1b,0xca,0x19,0xc2,0xee,0xc2,0xc6,0x30,0xb, 0x6, 0x7e,0x34,
+0x0, 0x1, 0x80,0x4, 0x7e,0x34,0x0, 0x2, 0x7e,0x14,0x12,0x6, 0xb, 0x18,0x20,0x5d,
+0x23,0x68,0x7, 0x6d,0x22,0x1b,0x18,0x20,0xd2,0xa, 0xd2,0xee,0xda,0x19,0xda,0x1b,
+0x32,0x7e,0xb3,0x6, 0xd7,0x20,0xe1,0x62,0x12,0x50,0xdb,0x80,0x55,0xa, 0x2a,0x9,
+0x52,0x6, 0x96,0x7e,0x90,0x4, 0xac,0x95,0x49,0x14,0x3, 0x5e,0x49,0x4, 0x3, 0x5c,
+0xbe,0x8, 0x3a,0xc0,0x8, 0x20,0x7e,0xb3,0xc, 0x1f,0x7e,0x44,0x0, 0x1, 0x60,0x5,
+0x3e,0x44,0x14,0x78,0xfb,0x7e,0x10,0x2, 0xac,0x15,0x2e,0x4, 0xb, 0xc3,0xb, 0x8,
+0x10,0x4d,0x14,0x1b,0x8, 0x10,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x51,0x34,0x60,
+0xf, 0x7e,0x30,0x2, 0xac,0x35,0x49,0x1, 0xb, 0xc3,0x12,0x51,0x2c,0x1b,0x18,0x0,
+0xb, 0xa0,0x7e,0x43,0x6, 0xc8,0xbc,0x4a,0x38,0xa3,0x22,0x7e,0x37,0x6, 0xd8,0x6c,
+0xaa,0x22,0x7e,0xb3,0x6, 0xd7,0x20,0xe1,0x42,0x12,0x50,0xdb,0x80,0x35,0xa, 0x2a,
+0x9, 0x52,0x6, 0x96,0x12,0x51,0x2c,0xb, 0x18,0x40,0x7e,0xb3,0xc, 0x1f,0x7e,0x14,
+0x0, 0x1, 0x60,0x5, 0x3e,0x14,0x14,0x78,0xfb,0x4d,0x41,0x7e,0xb3,0x6, 0x4d,0x60,
+0x5, 0x12,0x51,0x34,0x60,0xb, 0xa, 0x1a,0x3e,0x14,0x2e,0x14,0x12,0x14,0x1b,0x18,
+0x40,0xb, 0xa0,0x7e,0x43,0x6, 0xc8,0xbc,0x4a,0x38,0xc3,0x22,0x7e,0x30,0x2, 0xac,
+0x35,0x2d,0x13,0x22,0xa, 0x15,0x2e,0x17,0x6, 0x4e,0x7e,0x19,0xb0,0x22,0xca,0x3b,
+0x12,0xe, 0xaf,0x7c,0xeb,0x4c,0xee,0x78,0x2, 0x61,0x5c,0x7e,0x7f,0x0, 0xa2,0x7e,
+0x34,0x38,0x80,0x7e,0x24,0x0, 0x1, 0xbf,0x71,0x28,0x5, 0x7e,0x80,0xa, 0x80,0x2a,
+0x7e,0x34,0x11,0x70,0x7e,0x24,0x0, 0x1, 0xbf,0x71,0x28,0x5, 0x7e,0x80,0x6, 0x80,
+0x19,0xbe,0x78,0xea,0x60,0x28,0x5, 0x7e,0x80,0x4, 0x80,0xe, 0xbe,0x78,0xc3,0x50,
+0x28,0x5, 0x7e,0x80,0x2, 0x80,0x3, 0x7e,0x80,0x1, 0xa, 0xf8,0x6d,0xee,0x7e,0xd4,
+0x0, 0xf, 0x7f,0x17,0x7d,0x1d,0x12,0x3, 0xfd,0x7f,0x7, 0x12,0x3, 0xec,0x7d,0x1d,
+0x12,0x3, 0xfd,0x7f,0x61,0x6c,0x99,0x7e,0xa0,0x5, 0x7c,0xd9,0xac,0xda,0x9, 0xb6,
+0x2, 0xba,0x7c,0xfb,0xbe,0xf0,0x2, 0x50,0x25,0xa, 0x3f,0x9, 0xb3,0x3, 0x4e,0x70,
+0x1d,0x49,0x6, 0x2, 0xb6,0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x5, 0xb, 0x53,0x49,0x26,
+0x2, 0xb8,0x59,0x25,0xb, 0x55,0x59,0x5, 0xb, 0x5b,0x59,0x25,0xb, 0x5d,0xb, 0x90,
+0xbe,0x90,0x2, 0x78,0xc2,0x6c,0x99,0x61,0x56,0x7e,0xa0,0x5, 0x7c,0x39,0xac,0x3a,
+0x9, 0xb1,0x2, 0xba,0x7c,0xfb,0xbe,0xf0,0x2, 0x40,0x2, 0x61,0x54,0x7e,0xa0,0x4,
+0x7c,0xdf,0xac,0xda,0x49,0x26,0xb, 0x53,0x49,0x31,0x2, 0xb6,0x9d,0x32,0x7d,0xa3,
+0x49,0x26,0xb, 0x55,0x49,0x31,0x2, 0xb8,0x9d,0x32,0x7d,0xb3,0x7d,0x1b,0x12,0x53,
+0x5f,0x7f,0x71,0x7d,0x1a,0x1a,0x2, 0x1a,0x0, 0x7d,0x3a,0x12,0x53,0x63,0x2f,0x17,
+0x7a,0x1f,0xa, 0x3, 0x49,0x26,0xb, 0x5b,0x12,0x53,0x7c,0x9d,0x32,0x7a,0x37,0x9,
+0xfd,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x25,0xb, 0x5d,0x12,0x53,0x72,0x9d,0x32,0x7d,
+0x63,0x7d,0x16,0x12,0x53,0x5f,0x7f,0x71,0x7e,0x27,0x9, 0xfd,0x7d,0x12,0x1a,0x2,
+0x1a,0x0, 0x7f,0x10,0x12,0x3, 0xec,0x2f,0x17,0x7a,0x1f,0x9, 0xff,0x7e,0xa0,0x5,
+0xac,0xa9,0x49,0x25,0x2, 0xb6,0xbe,0x24,0x0, 0x1e,0x40,0x1b,0xbe,0x24,0x1, 0x70,
+0x38,0x15,0x7e,0xa0,0x5, 0xac,0xa9,0x49,0x25,0x2, 0xb8,0xbe,0x24,0x0, 0x1e,0x40,
+0x6, 0xbe,0x24,0x1, 0x70,0x28,0x20,0xa, 0x98,0x6d,0x88,0x7e,0xf4,0x0, 0x6, 0x12,
+0x53,0xa1,0x7e,0x84,0x0, 0xb, 0x7d,0x18,0x12,0x3, 0xfd,0x12,0x53,0x86,0x7d,0x18,
+0x12,0x3, 0xfd,0x7f,0x41,0x80,0x1c,0xa, 0x98,0x6d,0x88,0x7e,0xf4,0x0, 0x5, 0x12,
+0x53,0xa1,0x2f,0x11,0x2f,0x11,0x2f,0x11,0x12,0x53,0x86,0x2f,0x11,0x2f,0x11,0x2f,
+0x11,0x7f,0x41,0x7e,0x1f,0x9, 0xff,0xbf,0x16,0x38,0x4b,0x7e,0xf, 0xa, 0x7, 0x7e,
+0x7f,0xa, 0x3, 0xbf,0x70,0x38,0x12,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x35,0xb, 0x53,
+0x12,0x53,0x92,0x49,0x35,0xb, 0x55,0x80,0x22,0xbf,0x74,0x38,0x3f,0x7e,0xa0,0x4,
+0xac,0xaf,0x49,0x15,0xb, 0x53,0x7e,0x4, 0x0, 0x2, 0x7d,0x3a,0x12,0x53,0x6a,0x12,
+0x53,0x92,0x49,0x15,0xb, 0x55,0x7d,0x3b,0x12,0x53,0x6a,0x7e,0xa0,0x5, 0xac,0xa9,
+0x59,0x35,0x2, 0xb8,0x80,0x16,0x7e,0x24,0x7f,0xff,0x7e,0xa0,0x4, 0xac,0xaf,0x59,
+0x25,0xb, 0x5b,0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x25,0xb, 0x5d,0x12,0x53,0x7c,0x7e,
+0xa0,0x4, 0xac,0xaf,0x59,0x35,0xb, 0x53,0x12,0x53,0x72,0x7e,0xa0,0x4, 0xac,0xaf,
+0x59,0x35,0xb, 0x55,0xb, 0x90,0xbc,0xe9,0x28,0x2, 0x21,0xe9,0xda,0x3b,0x22,0x1a,
+0x2, 0x1a,0x0, 0x1a,0x26,0x1a,0x24,0x2, 0x3, 0xec,0x7d,0x20,0x12,0x3, 0xba,0x2d,
+0x31,0x22,0x7e,0xa0,0x5, 0xac,0xa9,0x49,0x35,0x2, 0xb8,0x22,0x7e,0xa0,0x5, 0xac,
+0xa9,0x49,0x35,0x2, 0xb6,0x22,0xa, 0x18,0x6d,0x0, 0x12,0x3, 0xec,0x7f,0x1, 0x2f,
+0x10,0x22,0x7e,0xa0,0x5, 0xac,0xa9,0x59,0x35,0x2, 0xb6,0x7e,0xa0,0x4, 0xac,0xaf,
+0x22,0x7f,0x14,0x7d,0x1f,0x12,0x3, 0xfd,0x7f,0x4, 0x12,0x3, 0xec,0x7f,0x1, 0x2f,
+0x10,0x7d,0x1f,0x12,0x3, 0xfd,0x7a,0x1f,0xa, 0x7, 0xa, 0x38,0x6d,0x22,0x22,0xca,
+0x3b,0x12,0x3c,0x41,0x78,0x24,0x6c,0xff,0xe4,0xa, 0x3f,0x19,0xb3,0xb, 0x27,0x19,
+0xb3,0xb, 0x31,0x19,0xb3,0x3, 0x5a,0x6d,0x33,0x74,0x2, 0xac,0xbf,0x59,0x35,0xb,
+0x33,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xe0,0xe1,0xa1,0x6c,0xff,0x7e,0x50,0x2, 0xac,
+0x5f,0x49,0x32,0x3, 0x52,0xbe,0x34,0x7f,0xff,0x78,0x17,0xe4,0xa, 0x1f,0x19,0xb1,
+0xb, 0x27,0x19,0xb1,0xb, 0x31,0x19,0xb1,0x3, 0x5a,0x6d,0x11,0x59,0x12,0xb, 0x33,
+0x81,0xba,0xa, 0x1f,0x9, 0xb1,0x3, 0x5a,0x60,0x2, 0x81,0xba,0x59,0x32,0xb, 0x29,
+0x49,0x32,0x3, 0x56,0x59,0x32,0xb, 0x2d,0x49,0x32,0xb, 0x29,0x49,0x22,0xb, 0x2d,
+0x74,0x14,0xac,0xbf,0x49,0x15,0xb, 0xb, 0x49,0x5, 0xb, 0xd, 0x12,0xe, 0x7e,0x7a,
+0x37,0xa, 0x1, 0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0xb, 0x49,0x25,0xb, 0xd, 0x49,
+0x15,0xa, 0xff,0x49,0x5, 0xb, 0x1, 0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x3, 0xa, 0x3f,
+0x9, 0x53,0xb, 0x27,0xbe,0x50,0x2, 0x40,0x4c,0x74,0x2, 0xac,0xbf,0x49,0x25,0xb,
+0x29,0xbe,0x24,0x0, 0x18,0x40,0x16,0xbe,0x24,0x1, 0x76,0x38,0x10,0x49,0x25,0xb,
+0x2d,0xbe,0x24,0x0, 0x18,0x40,0x6, 0xbe,0x24,0x1, 0x76,0x28,0xe, 0x7e,0x27,0xa,
+0x1, 0xbe,0x24,0x0, 0x27,0x28,0x4, 0x74,0x1, 0x80,0x1b,0x7e,0x27,0xa, 0x1, 0xbe,
+0x24,0x0, 0x27,0x28,0xd, 0x7e,0x27,0xa, 0x3, 0xbe,0x24,0x0, 0x42,0x28,0x3, 0xe4,
+0x80,0x4, 0xe4,0x80,0x1, 0xe4,0x19,0xb3,0xb, 0x31,0xb, 0xf0,0xbe,0xf0,0x2, 0x68,
+0x2, 0x61,0xec,0x6c,0xff,0xe1,0x9b,0x74,0x5, 0xac,0xbf,0x9, 0xd5,0x2, 0xba,0xa,
+0x3d,0x9, 0xb3,0xb, 0x27,0x70,0x34,0x6c,0xcc,0x7e,0x70,0x5, 0xac,0x7f,0x49,0x13,
+0x2, 0xb6,0x7e,0x10,0x14,0xac,0x1d,0x7e,0x50,0x4, 0xac,0x5c,0x2d,0x20,0x59,0x12,
+0xa, 0xff,0x49,0x33,0x2, 0xb8,0x59,0x32,0xb, 0x1, 0xb, 0xc0,0xbe,0xc0,0x5, 0x78,
+0xd8,0x6d,0x33,0x74,0x2, 0xac,0xbd,0x59,0x35,0xb, 0x33,0xa, 0x3d,0x9, 0xb3,0xb,
+0x27,0xbe,0xb0,0x5, 0x50,0xa, 0xa, 0x3d,0x2e,0x34,0xb, 0x27,0x4, 0x7a,0x39,0xb0,
+0xa, 0x3d,0x9, 0x73,0xb, 0x27,0xbe,0x70,0x1, 0x38,0x2, 0xa1,0xf7,0x12,0x57,0xa4,
+0x60,0x2, 0xa1,0xf7,0x7e,0x90,0x14,0xac,0x9d,0x49,0x34,0xb, 0xf, 0x49,0x54,0xb,
+0xb, 0x2d,0x53,0x7a,0x57,0x9, 0xfd,0x49,0x34,0xb, 0x11,0x49,0x54,0xb, 0xd, 0x2d,
+0x53,0x7a,0x57,0x9, 0xff,0x74,0x5, 0xac,0xbf,0x49,0x15,0x2, 0xb6,0x2e,0x17,0x9,
+0xfd,0x7e,0x24,0x0, 0x3, 0x8d,0x12,0x59,0x15,0x2, 0xb6,0x49,0x35,0x2, 0xb8,0x2e,
+0x37,0x9, 0xff,0x8d,0x32,0x59,0x35,0x2, 0xb8,0x49,0x24,0xb, 0x7, 0x49,0x35,0x2,
+0xb6,0x9d,0x32,0x12,0x0, 0x2e,0x7a,0x37,0x9, 0xfd,0x74,0x14,0xac,0xbd,0x49,0x25,
+0xb, 0x9, 0x74,0x5, 0xac,0xbf,0x49,0x35,0x2, 0xb8,0x9d,0x32,0x12,0x0, 0x2e,0x12,
+0x57,0xdd,0x38,0xa, 0x7e,0x37,0x9, 0xff,0xbe,0x34,0x0, 0x27,0x28,0x1a,0x12,0x57,
+0xc9,0x2e,0x34,0xb, 0x7, 0x2e,0x14,0xb, 0x3, 0x12,0x5a,0xbe,0x59,0x35,0xb, 0x7,
+0x49,0x34,0x2, 0xb8,0x59,0x35,0xb, 0x9, 0x12,0x57,0xc9,0x2e,0x34,0xb, 0xb, 0x2e,
+0x14,0xb, 0xf, 0x12,0x5a,0xbe,0x59,0x35,0xb, 0xb, 0x49,0x44,0x2, 0xb8,0x59,0x45,
+0xb, 0xd, 0x49,0x35,0xb, 0x7, 0x49,0x25,0xb, 0x9, 0x12,0xe, 0x76,0x74,0x2, 0xac,
+0xbd,0x59,0x35,0xb, 0x33,0xe1,0x99,0x12,0x57,0xa4,0x70,0x2, 0xe1,0x99,0xa, 0x3d,
+0x9, 0x73,0xb, 0x27,0xbe,0x70,0x3, 0x50,0x2, 0xe1,0x99,0x12,0x57,0xab,0x70,0x2,
+0xe1,0x99,0x74,0x14,0xac,0xbd,0x49,0x25,0xa, 0xff,0x49,0x35,0xb, 0xb, 0x12,0x57,
+0xc1,0x7a,0x37,0x9, 0xfd,0x74,0x14,0xac,0xbd,0x49,0x25,0xb, 0x1, 0x49,0x35,0xb,
+0xd, 0x12,0x57,0xc1,0x12,0x57,0xdd,0x50,0xc, 0x7e,0x37,0x9, 0xff,0xbe,0x34,0x0,
+0x27,0x50,0x2, 0xe1,0x99,0x74,0x14,0xac,0xbd,0x12,0xe, 0x6e,0xb, 0x34,0x6d,0x22,
+0x7a,0x1f,0xa, 0x11,0x74,0x14,0xac,0xbd,0x49,0x35,0xb, 0x3, 0x49,0x25,0xb, 0x5,
+0x74,0x2, 0xac,0xbd,0x49,0x15,0xb, 0x29,0x49,0x5, 0xb, 0x2d,0x12,0xe, 0x7e,0x6d,
+0x22,0x7a,0x1f,0xa, 0xd, 0x74,0x14,0xac,0xbd,0x49,0x5, 0xb, 0x5, 0x49,0x15,0xb,
+0xd, 0x9d,0x10,0x6d,0x0, 0x7a,0xf, 0xa, 0x9, 0x7d,0x21,0x7e,0xf, 0xa, 0x11,0x12,
+0x57,0xf2,0x7a,0x1f,0xa, 0x9, 0x74,0x14,0xac,0xbd,0x49,0x15,0xb, 0x5, 0x6d,0x0,
+0x7e,0x1f,0xa, 0x9, 0x2f,0x10,0x12,0x57,0xb2,0x9f,0x10,0x7a,0x1f,0xa, 0x9, 0x49,
+0x5, 0xb, 0x3, 0x49,0x15,0xb, 0xb, 0x9d,0x10,0x6d,0x0, 0x7a,0xf, 0xa, 0x5, 0x7e,
+0x1f,0xa, 0xd, 0x7d,0x21,0x7e,0xf, 0xa, 0x11,0x12,0x57,0xf2,0x7a,0x1f,0xa, 0x5,
+0x74,0x14,0xac,0xbd,0x49,0xc5,0xb, 0x3, 0x7d,0x1c,0x6d,0x0, 0x7e,0x1f,0xa, 0x5,
+0x2f,0x10,0x49,0xd5,0xb, 0xb, 0x7d,0xfd,0x6d,0xee,0x9f,0x17,0x7a,0x1f,0xa, 0x5,
+0x12,0x57,0xab,0xb4,0x2, 0x17,0x7e,0x58,0x0, 0x2, 0x7e,0x1f,0xa, 0x5, 0x7f,0x5,
+0x12,0x4, 0x59,0x12,0x27,0xf3,0x7f,0x5, 0x12,0x57,0xb9,0x80,0x27,0x12,0x57,0xab,
+0xb4,0x1, 0x21,0xbd,0xdc,0x50,0xc, 0x7e,0x1f,0xa, 0x5, 0xbe,0x18,0x0, 0x0, 0x8,
+0x13,0x80,0xa, 0x7e,0x1f,0xa, 0x5, 0xbe,0x18,0x0, 0x0, 0x58,0x7, 0x12,0x3c,0x5c,
+0x7a,0x1f,0xa, 0x5, 0x12,0x57,0xa4,0x7e,0x1f,0xa, 0x5, 0xb4,0x1, 0x1d,0x2f,0x11,
+0x7e,0x68,0x0, 0x5, 0x7f,0x6, 0x12,0x4, 0x59,0x7a,0x1f,0xa, 0x5, 0x2f,0x17,0x12,
+0x27,0xf3,0x2f,0x11,0x7f,0x6, 0x12,0x57,0xb9,0x80,0x6, 0x2f,0x17,0x7a,0x1f,0xa,
+0x5, 0x74,0x14,0xac,0xbd,0x12,0x57,0xb2,0x7e,0x1f,0xa, 0x9, 0x2f,0x10,0x7a,0x1f,
+0xa, 0x9, 0x7e,0x1f,0xa, 0x5, 0x12,0x57,0xd1,0x12,0x27,0xf3,0x12,0x57,0xd1,0x7a,
+0x1f,0xa, 0x9, 0x7e,0x1f,0xa, 0x5, 0x7d,0x43,0x74,0x5, 0xac,0xbf,0x59,0x45,0x2,
+0xb6,0x7e,0x1f,0xa, 0x9, 0x59,0x35,0x2, 0xb8,0xb, 0xf0,0xbc,0xef,0x28,0x2, 0x81,
+0xc7,0xda,0x3b,0x22,0xa, 0x3d,0x9, 0xb3,0x3, 0x5a,0x22,0xa, 0x3d,0x9, 0xb3,0xb,
+0x31,0x22,0x49,0x15,0xb, 0xd, 0x6d,0x0, 0x22,0x12,0x4, 0x59,0x7a,0x1f,0xa, 0x9,
+0x22,0x9d,0x32,0x12,0x0, 0x2e,0xb, 0x34,0x22,0x7e,0x30,0x14,0xac,0x3d,0x7d,0x31,
+0x22,0x6d,0x22,0x7e,0x14,0x1, 0x8d,0x12,0x2f,0xf9,0x6d,0x22,0x22,0x7a,0x37,0x9,
+0xff,0x7e,0x37,0x9, 0xfd,0xbe,0x34,0x0, 0x27,0x22,0x7e,0x37,0xa, 0x17,0x7d,0x21,
+0x7d,0x1f,0x12,0x6, 0x3e,0x1a,0x26,0x1a,0x24,0x22,0xca,0xf8,0x7e,0xa3,0xb, 0xb3,
+0x7c,0xba,0x65,0x4e,0x68,0x5, 0xe4,0x7a,0xb3,0xb, 0xb6,0x7a,0xa1,0x4e,0x4c,0xaa,
+0x78,0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x5, 0x12,0x58,0x68,0x80,0x11,0xe4,0x7a,
+0xb3,0x2, 0xca,0x80,0xa, 0x7e,0xb3,0x6, 0x67,0x30,0xe1,0xb, 0x12,0x58,0x68,0x12,
+0x5a,0x3, 0x12,0x5a,0x9, 0x80,0x2e,0x12,0x58,0x76,0x7c,0xfb,0x4c,0xff,0x68,0x25,
+0x7c,0xbf,0x12,0x5a,0x10,0x60,0x1e,0x7e,0x34,0x0, 0x14,0x1b,0x34,0x78,0xfc,0x7e,
+0xb3,0x6, 0x67,0x30,0xe1,0x8, 0x74,0x26,0x7a,0xb3,0xb, 0xb6,0x80,0x7, 0x7a,0xf3,
+0xb, 0xb6,0x75,0x4f,0x1, 0xda,0xf8,0x22,0x74,0x26,0x7a,0xb3,0x2, 0xca,0x7a,0xb3,
+0xb, 0xb6,0x75,0x4f,0x1, 0x22,0xca,0x79,0x6c,0xaa,0x6d,0x44,0x7d,0xf4,0x7e,0x63,
+0x0, 0x90,0x7c,0xf6,0x5e,0xf0,0xf, 0x7c,0xb6,0xc4,0x7c,0xeb,0x5e,0xe0,0xf, 0x7e,
+0xe7,0xd, 0x29,0x1b,0xe4,0x68,0x3c,0x1b,0xe4,0x68,0x6e,0x1b,0xe4,0x78,0x2, 0x21,
+0x74,0x2e,0xe4,0x0, 0x3, 0x68,0x2, 0x21,0x9c,0xbe,0xf0,0x0, 0x38,0x2, 0x21,0xa2,
+0x4c,0xee,0x68,0x2, 0x21,0xa2,0x7e,0xe4,0x0, 0x1, 0x7a,0xe7,0xd, 0x29,0x7a,0xf7,
+0xd, 0x36,0x7a,0x47,0xd, 0x38,0x12,0x59,0xc3,0x7e,0xb3,0xc, 0xab,0x7a,0xb3,0xd,
+0x35,0x21,0x5c,0x4c,0xff,0x78,0x2, 0x80,0x1e,0x12,0x59,0xc3,0x7e,0x37,0xd, 0x36,
+0x7e,0x27,0xd, 0x38,0x12,0x59,0xf9,0xa5,0xbf,0x0, 0x4, 0xd2,0xe, 0x21,0x9c,0x7e,
+0xb3,0xd, 0x2c,0x60,0x2, 0x21,0xa2,0x7e,0x34,0x0, 0x2, 0x7a,0x37,0xd, 0x29,0x7e,
+0xb3,0xc, 0xa9,0x7a,0xb3,0xd, 0x2b,0x21,0xa2,0xbe,0xf0,0x0, 0x28,0x58,0x4c,0xee,
+0x78,0x54,0x7a,0xf7,0xd, 0x31,0x7a,0x47,0xd, 0x33,0x12,0x59,0xc3,0x7e,0xb3,0xc,
+0xa8,0xa, 0x2b,0x7e,0xb3,0xc, 0xa9,0xa, 0x3b,0x9d,0x32,0x7e,0xb3,0xd, 0x2b,0xa,
+0x4b,0xbd,0x43,0x18,0x2, 0x70,0x4, 0xd2,0xe, 0x80,0x61,0x7e,0x37,0xd, 0x36,0x7e,
+0x27,0xd, 0x38,0x7e,0xb3,0xc, 0x9e,0x12,0x59,0xcc,0x7c,0x7b,0xa5,0xbf,0x0, 0x4,
+0xd2,0xe, 0x80,0x48,0x7e,0x34,0x0, 0x3, 0x7a,0x37,0xd, 0x29,0x7e,0xb3,0xc, 0xaa,
+0x7a,0xb3,0xd, 0x2c,0x80,0x3c,0x4c,0xff,0x78,0x38,0x7e,0xb3,0xd, 0x2b,0x70,0x32,
+0xd2,0xe, 0x80,0x2e,0x4c,0xff,0x78,0x10,0x7e,0xb3,0xd, 0x2c,0x70,0x4, 0xd2,0xe,
+0x80,0x1a,0x7e,0x34,0x0, 0x4, 0x80,0x16,0x12,0x59,0xc3,0x7e,0x37,0xd, 0x31,0x7e,
+0x27,0xd, 0x33,0x12,0x59,0xf9,0xa5,0xbf,0x0, 0x8, 0xd2,0xe, 0x6d,0x33,0x7a,0x37,
+0xd, 0x29,0x7e,0x37,0xd, 0x29,0xbe,0x34,0x0, 0x2, 0x78,0x12,0x7e,0xa0,0x25,0x6d,
+0x33,0x7a,0x37,0xd, 0x29,0xe4,0x7a,0xb3,0xd, 0x35,0x7a,0xb3,0xd, 0x2c,0x7c,0xba,
+0xda,0x79,0x22,0x7a,0xf7,0xd, 0x2d,0x7a,0x47,0xd, 0x2f,0x22,0x7d,0x13,0xa, 0x3b,
+0x7d,0x3, 0x2e,0x7, 0xd, 0x2d,0xbd,0x1, 0x40,0x1d,0x2d,0x13,0xbe,0x17,0xd, 0x2d,
+0x40,0x15,0x7d,0x13,0x2e,0x17,0xd, 0x2f,0xbd,0x12,0x40,0xb, 0x2d,0x32,0xbe,0x37,
+0xd, 0x2f,0x40,0x3, 0x74,0x1, 0x22,0xe4,0x22,0x7e,0xb3,0xc, 0x9f,0x12,0x59,0xcc,
+0x7c,0x7b,0x22,0xe4,0x7a,0xb3,0x9, 0x62,0x22,0x6d,0x33,0x7a,0x37,0xd, 0x29,0x22,
+0x7c,0xab,0x54,0xf0,0xb4,0x20,0x18,0x7c,0xba,0x54,0xf, 0x7e,0x44,0x0, 0x1, 0x60,
+0x5, 0x3e,0x44,0x14,0x78,0xfb,0x7e,0x73,0xb, 0xb4,0xa, 0x57,0x5d,0x54,0x22,0xe4,
+0x22,0x7d,0x13,0x7e,0x37,0xc, 0xa0,0xbd,0x31,0x50,0x1a,0x7e,0x37,0xc, 0xa2,0xbd,
+0x31,0x28,0x12,0x7e,0x37,0xc, 0xa4,0xbd,0x32,0x50,0xa, 0x7e,0x37,0xc, 0xa6,0xbd,
+0x32,0x28,0x2, 0xe4,0x22,0x74,0x1, 0x22,0x6d,0x0, 0xb, 0xc, 0x7e,0x7f,0xa, 0x9,
+0x7f,0x17,0x12,0x3, 0xec,0x2f,0x14,0x7a,0x1f,0x9, 0xfd,0x7f,0x6, 0x2f,0x5, 0x2f,
+0x7, 0x7a,0xf, 0xa, 0x1, 0x22,0xa, 0xb, 0x7e,0x14,0x0, 0x3, 0x9d,0x10,0x7e,0x91,
+0x27,0x74,0x4, 0xac,0x9b,0x2e,0x44,0x3, 0x5c,0x49,0x34,0x0, 0x2, 0xb, 0x48,0x20,
+0x7c,0xb3,0x22,0x7e,0x24,0x12,0x0, 0xb, 0x28,0x30,0x5e,0x60,0x1f,0x1b,0x28,0x30,
+0x22,0xe5,0x24,0xa, 0x3b,0x3e,0x34,0x2e,0x34,0x10,0x0, 0xb, 0x38,0x70,0x6d,0x66,
+0xe5,0x24,0xa, 0x3b,0x22,0xb, 0x28,0x30,0x4d,0x35,0x1b,0x28,0x30,0x22,0x74,0x4,
+0x12,0x4, 0x8d,0x7e,0x90,0x5, 0xac,0x9f,0x49,0x34,0x2, 0xb6,0x74,0x14,0xac,0xbd,
+0x22,0x7e,0x25,0x33,0x7a,0x27,0x0, 0x50,0x7e,0x25,0x35,0x7a,0x27,0x0, 0x52,0x7a,
+0x37,0x0, 0x54,0x22,0x6d,0x0, 0x1b,0xc, 0x7e,0x5f,0xa, 0x5, 0x7f,0x15,0x12,0x3,
+0xec,0x7f,0x41,0x22,0x7e,0x25,0x22,0x7e,0x37,0xa, 0x9, 0xad,0x32,0x7c,0x76,0x7c,
+0x65,0xa, 0x24,0x22,0x6d,0x0, 0x2f,0x10,0x7e,0x14,0x0, 0x10,0x12,0x3, 0xfd,0x74,
+0x5, 0xac,0xbe,0x22,0x7f,0x13,0x7f,0x6, 0x12,0x3, 0xec,0x7f,0x7, 0x12,0x4, 0x59,
+0x7f,0x1, 0x22,0x7e,0x14,0x0, 0x3, 0x7e,0x1d,0x2a,0x12,0x3, 0xfd,0x7e,0x8, 0x0,
+0x4, 0x22,0x2e,0x18,0x0, 0xf, 0x7e,0x15,0x22,0x12,0x3, 0xfd,0x2f,0x11,0x2f,0x11,
+0x22,0x6d,0x0, 0x7e,0x6f,0xa, 0xd, 0x7f,0x16,0x12,0x3, 0xec,0x2f,0x41,0x22,0x7e,
+0x14,0x0, 0x3, 0x7f,0x13,0x12,0x3, 0xfd,0x7e,0x8, 0x0, 0x8, 0x22,0x7e,0xf, 0xa,
+0xb, 0x7e,0x37,0xa, 0x9, 0x6d,0x22,0x2, 0x3, 0xec,0xa, 0x4b,0x7d,0x24,0x7d,0xf4,
+0x1a,0x24,0x1a,0xe4,0xbf,0x7, 0x22,0x3e,0x34,0x2e,0x34,0x12,0x92,0x1b,0x38,0x20,
+0xb, 0x10,0x22,0xb, 0x48,0x20,0x4d,0x25,0x1b,0x48,0x20,0x7c,0xb7,0x22,0x7f,0x16,
+0x7d,0x1b,0x12,0x3, 0xfd,0x7f,0x7, 0x22,0x70,0x8f,0xff,0x0, 0x88,0x77,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43,0x45,0x49,0x5f,0x44,0x4c,0x57,0x32,
+0x0, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x30,0x30,0x30,0x30,0x0, 0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1, 0x88,
\ No newline at end of file
diff --git a/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DLW2_3207_0x89_app.i b/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DLW2_3207_0x89_app.i
new file mode 100644
index 0000000..8d78234
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DLW2_3207_0x89_app.i
@@ -0,0 +1,1471 @@
+0x2, 0x0, 0x76,0x2, 0x4d,0x86,0x22,0x22,0x22,0x22,0x32,0x2, 0x0, 0xa, 0x7f,0x71,
+0x7e,0x8, 0x0, 0x2, 0x2, 0x4, 0x59,0x2, 0x49,0xaf,0x22,0x2, 0x4d,0xfe,0x1e,0x44,
+0x1e,0x44,0x1e,0x44,0x1e,0x44,0x22,0x2, 0x4d,0xd1,0xff,0x2, 0x4d,0x20,0x7d,0x23,
+0xbe,0x24,0x0, 0x0, 0x48,0x3, 0x7d,0x32,0x22,0x6d,0x33,0x9d,0x32,0x22,0x70,0x2,
+0xc2,0xd, 0x22,0x2, 0x4d,0x52,0x40,0x10,0x10,0x10,0x10,0x40,0x12,0x0, 0x1, 0x2,
+0x3, 0x14,0x12,0x4, 0x5, 0x6, 0x7, 0x14,0x13,0x8, 0x9, 0xa, 0xb, 0x15,0x13,0xc,
+0xd, 0xe, 0xf, 0x15,0x40,0x11,0x11,0x11,0x11,0x40,0x3e,0x34,0x3e,0x34,0x3e,0x34,
+0x3e,0x34,0x22,0x2, 0x50,0x43,0x75,0x84,0x1, 0x7e,0x44,0xf, 0xff,0xe4,0x7a,0x49,
+0xb0,0x1b,0x44,0x78,0xf9,0x7e,0xf8,0xd, 0x3f,0xc2,0xc, 0x75,0x47,0x18,0xc2,0x8,
+0xd2,0x9, 0x75,0x1d,0x0, 0x75,0x1e,0x0, 0xc2,0x0, 0xd2,0x1, 0xc2,0x2, 0xc2,0x3,
+0xc2,0x4, 0xc2,0x6, 0x75,0x8, 0x76,0x75,0xa, 0x0, 0x75,0xc, 0x37,0x75,0xe, 0x2,
+0x75,0xf, 0x74,0x75,0x10,0x71,0x75,0x14,0x71,0x75,0x15,0x71,0x75,0x1b,0x7b,0xd2,
+0xa, 0xc2,0xb, 0x75,0x4c,0x0, 0x75,0x4d,0x0, 0xc2,0xd, 0x75,0x4e,0x0, 0x75,0x4f,
+0x0, 0xc2,0xe, 0x7e,0x4, 0x0, 0xff,0x7e,0x14,0x5, 0xa, 0xb, 0xa, 0x40,0x5d,0x44,
+0x68,0x1a,0x69,0x20,0x0, 0x2, 0xb, 0xe, 0xb, 0x44,0x80,0xa, 0x7e,0xb, 0xb0,0x7a,
+0x29,0xb0,0xb, 0x24,0xb, 0xc, 0x1b,0x44,0x78,0xf2,0x80,0xdf,0x2, 0x49,0x25,0xff,
+0x5b,0x98,0xa4,0x67,0xa1,0x5e,0xb1,0x4e,0x89,0x76,0x1, 0xfe,0xff,0xff,0xff,0x0,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0x7e,0xa0,0x20,0x80,0xc, 0x7e,0xa0,0x10,0x80,0x5, 0x7e,0xa0,0x8, 0x6c,0x55,0x6d,
+0x33,0x33,0x92,0xd5,0x50,0xa, 0x6e,0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,
+0xa5,0xec,0x33,0x40,0x6, 0x2f,0x11,0xd5,0xf0,0xf6,0x22,0x7c,0xba,0x24,0x7e,0xa2,
+0xd5,0x13,0x7c,0x76,0x7c,0x65,0xa5,0xcc,0x92,0xe7,0x7c,0x5b,0x22,0x7c,0xb5,0x33,
+0x7c,0xb4,0x33,0x92,0xd5,0x4e,0x50,0x80,0x24,0x81,0x40,0x3, 0x9f,0x11,0x22,0x7c,
+0x45,0x7c,0x56,0x7c,0x67,0x6c,0x77,0x24,0xe0,0x50,0xe, 0x7e,0x1c,0xff,0xff,0x22,
+0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x4, 0x78,0xf4,0x30,0xd5,0xa, 0x6e,
+0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,0x22,0x7c,0xb5,0xa2,0xe7,0xd2,0xe7,
+0x7c,0x1b,0x7c,0xb4,0x33,0x40,0x9, 0x68,0xd, 0xb4,0xff,0xb, 0xa5,0xbd,0xff,0x3,
+0x2, 0x2, 0x67,0x2, 0x2, 0x6f,0x22,0x7c,0xb, 0x24,0x81,0xc2,0xe0,0xf5,0x82,0xf4,
+0x4, 0x2c,0xb0,0x7c,0x2b,0xc3,0x13,0x7c,0x4b,0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x7f,
+0x41,0x7c,0xb6,0xa2,0xe7,0x7c,0xb1,0xa5,0xba,0x7f,0x2, 0xc3,0x13,0x34,0x0, 0x94,
+0x0, 0x7c,0x2b,0x7e,0xa0,0x91,0xa4,0x7c,0xba,0x13,0xf4,0x94,0xfe,0xac,0xb2,0x33,
+0x7c,0xba,0x33,0x24,0x8c,0xd3,0x13,0x7c,0x5b,0xe4,0x92,0xe7,0x7c,0x6b,0x6c,0x77,
+0x7e,0x40,0x3f,0x75,0x83,0x2, 0x7f,0x51,0x7f,0x1, 0x7f,0x14,0x12,0x3, 0x39,0x7f,
+0x5, 0x12,0x2, 0x81,0x9e,0x24,0x0, 0x80,0xd5,0x83,0xeb,0x7e,0x1, 0x82,0x6c,0x11,
+0xe, 0x4, 0x1e,0x4, 0x2d,0x20,0x5e,0x40,0x7f,0x22,0x2d,0x0, 0x92,0xd5,0xe, 0x10,
+0x4e,0x10,0x80,0x7d,0x42,0x2d,0x44,0x50,0x2, 0xb2,0xd5,0x4e,0x50,0x80,0x6c,0x44,
+0x7c,0xb8,0x22,0x2c,0x44,0x50,0x12,0xb, 0x1c,0x7e,0x40,0x0, 0x5e,0x50,0x7f,0xbe,
+0x18,0x0, 0x0, 0x78,0x4, 0xb, 0x80,0x68,0x16,0xa2,0xd5,0x7c,0xb8,0x13,0x7c,0x4b,
+0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x22,0x7e,0x1c,0xff,0xff,0x22,0x9f,0x11,0x22,0x7e,
+0x24,0xff,0x80,0x20,0xd5,0x2, 0x6c,0x45,0x6d,0x33,0x22,0x2, 0x2, 0x67,0x6e,0x0,
+0x80,0x7c,0xb1,0x33,0x7c,0xb0,0x33,0x68,0xd, 0x4, 0x68,0xef,0x7c,0xb5,0x33,0x7c,
+0xb4,0x33,0x78,0x3, 0x7f,0x10,0x22,0x4, 0x68,0xe1,0x7d,0x50,0x92,0xf7,0x7d,0x45,
+0x7d,0x51,0xbf,0x21,0x40,0x6, 0x7c,0x80,0x7f,0x1, 0x7f,0x12,0x12,0x2, 0x2a,0x7e,
+0xa1,0xd0,0x5c,0xb0,0x4, 0x78,0x3, 0x20,0xd5,0xc1,0x7c,0xb0,0x4, 0x78,0x7, 0x50,
+0x2, 0xb2,0xd5,0x2, 0x2, 0x6f,0x92,0xd5,0xbe,0x80,0xff,0x68,0xf6,0x7c,0xb8,0x9c,
+0xb0,0x6c,0x0, 0x60,0x2a,0xb4,0x18,0x5, 0x7c,0x41,0x2, 0x2, 0x43,0x50,0xfb,0x80,
+0x3, 0x2f,0x0, 0x4, 0x7c,0x9b,0x5e,0x90,0x7, 0x78,0xf6,0x30,0xe4,0x6, 0x7c,0x43,
+0x7d,0x10,0x6d,0x0, 0x30,0xe3,0x8, 0x7c,0x43,0x7c,0x32,0x7c,0x21,0xa, 0x0, 0x30,
+0xf5,0x19,0x9f,0x10,0x78,0xe, 0x22,0x2, 0x2, 0x6c,0x1b,0x80,0x68,0xf9,0x2f,0x11,
+0x50,0x2, 0xb, 0x70,0x7c,0xb5,0x30,0xe7,0xf1,0x80,0x1b,0x2d,0x31,0x7c,0xb5,0xa5,
+0x39,0x7c,0x5b,0x50,0x11,0xb, 0x80,0x78,0x3, 0x2, 0x2, 0x6f,0x1e,0x34,0x13,0x50,
+0x3, 0x4e,0x60,0x80,0x1a,0x2b,0x2, 0x2, 0x43,0xbe,0x24,0xff,0xff,0x68,0x6, 0xbe,
+0x4, 0xff,0xff,0x78,0x3, 0x2, 0x2, 0x67,0x12,0x2, 0x2a,0x5c,0xb0,0x4, 0x68,0xf5,
+0x7c,0xb8,0xa5,0x48,0x68,0xef,0x7c,0xb8,0x70,0x3, 0x9f,0x11,0x22,0xa5,0xb8,0x0,
+0x3, 0x2, 0x2, 0x6f,0x2e,0x0, 0x81,0x50,0x7, 0x9c,0x80,0x38,0x7, 0x2, 0x2, 0x6c,
+0x9c,0x80,0x50,0xed,0xa, 0x51,0xc2,0xe7,0x4d,0x51,0x78,0x3, 0x2, 0x2, 0x59,0x7e,
+0x54,0x0, 0x80,0x7e,0x90,0x1a,0x6c,0x0, 0x80,0x6, 0x1b,0x90,0x68,0x14,0x2f,0x11,
+0xbf,0x10,0x40,0x4, 0x9f,0x10,0x4c,0xab,0x3, 0x30,0xe7,0xee,0xca,0xa8,0x6c,0xaa,
+0x80,0xe8,0xda,0x39,0xda,0x58,0x7c,0x4a,0xbe,0x50,0x80,0x50,0xa, 0x1b,0x80,0x68,
+0xbc,0x2f,0x11,0x50,0x2, 0xb, 0x70,0x2, 0x2, 0x43,0xc2,0xd5,0x7c,0xb4,0x30,0xe7,
+0x8, 0xb2,0xd5,0x6e,0x24,0xff,0xff,0xb, 0x24,0x7c,0xb6,0x30,0xe7,0x12,0xb2,0xd5,
+0x6e,0x34,0xff,0xff,0xb, 0x34,0x8d,0x32,0x6e,0x24,0xff,0xff,0xb, 0x24,0x80,0x2,
+0x8d,0x32,0x30,0xd5,0x6, 0x6e,0x34,0xff,0xff,0xb, 0x34,0x22,0x7d,0x51,0xad,0x3,
+0x7d,0x2, 0x7d,0x21,0xad,0x5, 0x2d,0x12,0xad,0x35,0x2d,0x21,0x22,0x7d,0x2, 0xad,
+0x31,0xad,0x10,0x2d,0x21,0x22,0x6d,0x0, 0x74,0x10,0x4d,0x0, 0x78,0xb, 0x4d,0x22,
+0x78,0x27,0x8d,0x31,0x7d,0x12,0x6d,0x22,0x22,0x7d,0x43,0x7d,0x32,0x6d,0x22,0x2f,
+0x11,0x2d,0x44,0x50,0x2, 0xa5,0xf, 0xbf,0x10,0x40,0x4, 0x9f,0x10,0xb, 0x90,0x14,
+0x78,0xed,0x7f,0x1, 0x6d,0x22,0x7d,0x34,0x22,0x7d,0x41,0x7d,0x13,0x8d,0x24,0x7d,
+0x2, 0x2f,0x0, 0x40,0x4, 0xbd,0x4, 0x40,0x4, 0x9d,0x4, 0xb, 0x14,0x14,0x78,0xf1,
+0x7d,0x23,0x7d,0x31,0x7d,0x10,0x6d,0x0, 0x22,0xc2,0xd5,0x7c,0xb0,0x30,0xe7,0x8,
+0xb2,0xd5,0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x7c,0xb4,0x30,0xe7,0x13,0xb2,0xd5,0x9f,
+0x22,0x9f,0x21,0x7f,0x12,0x12,0x4, 0x8, 0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x80,0x3,
+0x12,0x4, 0x8, 0x30,0xd5,0x6, 0x9f,0x22,0x9f,0x21,0x7f,0x12,0x22,0x6c,0xaa,0x4d,
+0x11,0x68,0x1a,0x1e,0x54,0x68,0xe, 0xb, 0x38,0x20,0x1b,0x18,0x20,0xb, 0x35,0xb,
+0x15,0x1b,0x54,0x78,0xf2,0x50,0x6, 0x7e,0x39,0x40,0x7a,0x19,0x40,0x22,0x7d,0x3,
+0x80,0xa, 0x7e,0x29,0xb0,0x7a,0x9, 0xb0,0xb, 0x24,0xb, 0x4, 0x7d,0x51,0x1b,0x14,
+0x4d,0x55,0x78,0xee,0x22,0x13,0x12,0x10,0xf, 0x14,0xe, 0xb, 0xc, 0x1, 0x7, 0xa,
+0x9, 0x2, 0x3, 0x5, 0x6, 0x11,0x4, 0x15,0x0, 0xd, 0x8, 0x7f,0x1, 0xbe,0x8, 0x0,
+0x0, 0x48,0x3, 0x7f,0x10,0x22,0x9f,0x11,0x9f,0x10,0x22,0x7d,0x13,0x80,0x7, 0x1b,
+0x24,0x7a,0x19,0xb0,0xb, 0x14,0x4d,0x22,0x78,0xf5,0x22,0x10,0x10,0x10,0x1c,0x19,
+0x14,0x10,0xe, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x0, 0xc, 0xc, 0xe9,0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xc, 0xf5,0x0, 0x0,
+0x0, 0x1, 0xc, 0xf7,0x0, 0x0, 0x1, 0xd, 0x10,0x0, 0x0, 0x1, 0xd, 0x11,0x0, 0x0,
+0x1, 0xd, 0x12,0x0, 0x0, 0x2e,0xa, 0x8d,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x16,0xa, 0xbb,0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x2e,0xa, 0xd1,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x1, 0xc, 0xd0,0x0, 0x0, 0x1, 0xc, 0xd2,0x0, 0x0, 0x2, 0xc, 0xd3,
+0x0, 0x0, 0x0, 0x1, 0xc, 0xd5,0x0, 0x0, 0x1, 0xc, 0xd7,0x0, 0x0, 0x1, 0xc, 0xd8,
+0x0, 0x0, 0x2, 0x0, 0x72,0x3, 0x1c,0x0, 0x4, 0x0, 0xa2,0x0, 0x0, 0x0, 0x0, 0x0,
+0x2, 0x2, 0xcd,0x0, 0x0, 0x0, 0x1, 0x2, 0xcf,0x0, 0x0, 0x1, 0x2, 0xd3,0x0, 0x0,
+0x1, 0x3, 0x48,0x0, 0x0, 0x1, 0x3, 0x4c,0x0, 0x0, 0x1, 0x3, 0x4d,0x0, 0x0, 0x1,
+0xd, 0x3a,0x0, 0x0, 0x1, 0xd, 0x3b,0xff,0x0, 0x1, 0xd, 0x3c,0x0, 0x0, 0x1, 0xd,
+0x3d,0x10,0x0, 0x1, 0xd, 0x3e,0x8, 0x0, 0x1, 0xd, 0x3f,0x0, 0x0, 0x1, 0x9, 0x6c,
+0x0, 0x0, 0x1, 0xd, 0x28,0x0, 0x0, 0x1, 0xb, 0x38,0x0, 0x0, 0x2, 0xd, 0x29,0x0,
+0x0, 0x0, 0x2, 0x6, 0xdb,0x6, 0xe1,0x0, 0x1, 0x9, 0x69,0x0, 0x0, 0x0, 0x7d,0x41,
+0x7d,0x12,0x1a,0x26,0x1a,0x24,0x12,0x6, 0x5e,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x2,
+0x4, 0x59,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x7f,0x17,0x9f,0x10,0x7d,0x1d,0x1a,0x2,
+0x1a,0x0, 0x2, 0x3, 0xec,0xca,0x3b,0x7f,0x71,0x7c,0xab,0x6c,0x33,0x6c,0xee,0x6d,
+0x22,0x7a,0x25,0x22,0x7a,0x25,0x24,0x7d,0x62,0x7d,0x82,0x7d,0x92,0x7d,0x42,0x7d,
+0xa2,0x7d,0xb2,0x7e,0x37,0x5, 0xf8,0x7d,0xd3,0x7e,0x24,0x0, 0x2, 0x12,0x3, 0xba,
+0x7d,0xc3,0xa, 0x3a,0x7e,0x24,0x0, 0xb, 0x12,0x3, 0xba,0x7c,0xb5,0x7c,0xfb,0xbe,
+0xf0,0x5, 0x50,0x4c,0x1a,0x13,0x12,0x7, 0x73,0x48,0x2c,0xbe,0x78,0x1, 0xa, 0x48,
+0x2, 0x80,0x3, 0x7e,0x45,0x24,0x12,0x6, 0x52,0x7d,0x54,0x12,0x7, 0x84,0xbe,0x78,
+0x0, 0xc7,0x8, 0x7c,0x7f,0x17,0x9e,0x18,0x0, 0xc7,0x12,0x0, 0xe, 0x7f,0x71,0x2e,
+0x18,0x0, 0xc7,0x7f,0x71,0x80,0x69,0xbe,0x78,0x0, 0x89,0x18,0x9, 0x7d,0x19,0x12,
+0x6, 0x54,0x7d,0x59,0x80,0x27,0x7e,0x45,0x22,0x12,0x6, 0x52,0x7d,0x54,0x80,0x1d,
+0x1a,0x1e,0x12,0x7, 0x73,0x48,0x1b,0xbe,0x78,0x1, 0x4, 0x48,0x9, 0x7d,0x1b,0x12,
+0x6, 0x54,0x7d,0x5b,0x80,0x7, 0x7d,0x18,0x12,0x6, 0x54,0x7d,0x58,0x12,0x7, 0x84,
+0x80,0x2e,0xbe,0x78,0x0, 0x87,0x18,0x9, 0x7d,0x1a,0x12,0x6, 0x54,0x7d,0x5a,0x80,
+0x7, 0x7d,0x16,0x12,0x6, 0x54,0x7d,0x56,0x12,0x7, 0x84,0xbe,0x78,0x0, 0x0, 0x58,
+0xf, 0x9f,0x11,0x9f,0x17,0x12,0x0, 0xe, 0x7f,0x71,0x9f,0x11,0x9f,0x17,0x7f,0x71,
+0xbe,0x78,0x0, 0x0, 0x58,0x6, 0x9f,0x11,0x7f,0x71,0x80,0x11,0x7d,0x1d,0x12,0x7,
+0x7d,0x48,0xa, 0x7d,0x3d,0x1a,0x26,0x1a,0x24,0x1b,0x1c,0x7f,0x71,0xbe,0xf0,0x5,
+0x40,0xc, 0x7d,0x1d,0x1a,0x2, 0x1a,0x0, 0x7f,0x17,0x2f,0x10,0x7f,0x71,0x7f,0x17,
+0xda,0x3b,0x22,0x1a,0x2, 0x7f,0x17,0x2f,0x10,0x7f,0x71,0x7d,0x1c,0x1a,0x2, 0x1a,
+0x0, 0xbf,0x70,0x22,0x3e,0x54,0x1a,0x4a,0x1a,0x48,0x7d,0x1d,0x1a,0x2, 0x1a,0x0,
+0x9f,0x2, 0x12,0x4, 0x59,0x7f,0x71,0x22,0xca,0x3b,0x7e,0xa3,0x0, 0x90,0x7c,0xca,
+0x5e,0xc0,0xf, 0x7c,0xba,0xc4,0x7c,0x3b,0x5e,0x30,0xf, 0x4c,0xcc,0x78,0x2d,0x12,
+0x9, 0xa5,0xbe,0x30,0x0, 0x38,0x3, 0x2, 0x9, 0xa2,0x6c,0xff,0x7e,0x20,0xff,0x74,
+0x5, 0xac,0xbf,0x19,0x25,0x2, 0xc4,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xf1,0x75,0x1c,
+0x1, 0x75,0x12,0x0, 0xe4,0x7a,0xb3,0xc, 0xf7,0x2, 0x9, 0xa2,0x7e,0x23,0xc, 0xf7,
+0xbe,0x20,0x3c,0x50,0x14,0x7e,0x4, 0xa, 0x0, 0x7a,0x7, 0x0, 0x9e,0x12,0x4d,0x19,
+0x7c,0xb2,0x4, 0x7a,0xb3,0xc, 0xf7,0x80,0xd, 0x7e,0x37,0x0, 0x9e,0xbe,0x34,0xa,
+0x0, 0x68,0x3, 0x12,0x4d,0x11,0x6c,0xff,0x7e,0x20,0xff,0x74,0x5, 0xac,0xbf,0x19,
+0x25,0xa, 0x1, 0x7e,0x34,0x7f,0xff,0x59,0x35,0x9, 0xfd,0x59,0x35,0x9, 0xff,0xb,
+0xf0,0xbe,0xf0,0x2, 0x78,0xe2,0x6c,0xff,0x80,0x23,0x7e,0x50,0x5, 0xac,0x5f,0x7d,
+0x2, 0x2e,0x4, 0x0, 0x7a,0xb, 0x8, 0x30,0x12,0x0, 0x6a,0x1b,0x8, 0x30,0x2e,0x24,
+0x0, 0x7c,0xb, 0x28,0x30,0x12,0x0, 0x6a,0x1b,0x28,0x30,0xb, 0xf0,0xbc,0xcf,0x38,
+0xd9,0xa5,0xbb,0x0, 0x28,0x6c,0xff,0x80,0x1e,0x74,0x5, 0xac,0xbf,0x49,0x45,0x0,
+0x7a,0x59,0x45,0x2, 0xc0,0x49,0x45,0x0, 0x7c,0x59,0x45,0x2, 0xc2,0x9, 0x75,0x0,
+0x7e,0x19,0x75,0x2, 0xc4,0xb, 0xf0,0xbc,0xcf,0x38,0xde,0x21,0x4a,0x6c,0xdd,0x6c,
+0xff,0x6c,0xee,0x7e,0x70,0x5, 0xac,0x7e,0x9, 0xa3,0x2, 0xc4,0x7e,0x50,0x5, 0xac,
+0x5f,0x9, 0xb2,0x0, 0x7e,0xbc,0xba,0x78,0x13,0xbe,0xb0,0xff,0x68,0xe, 0xbe,0xd0,
+0x2, 0x50,0x10,0x2e,0x34,0x2, 0xc0,0x12,0xe, 0x60,0x80,0x7, 0xb, 0xe0,0xbe,0xe0,
+0x2, 0x40,0xd0,0xbe,0xe0,0x2, 0x78,0xb, 0xbe,0xd0,0x2, 0x50,0x6, 0x12,0x3e,0x25,
+0x12,0xe, 0x60,0xb, 0xd0,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xb5,0x6c,0xff,0x12,0x3e,
+0x15,0x2e,0x34,0x9, 0xfd,0x2e,0x14,0x2, 0xc0,0x12,0x3e,0x2f,0x78,0xf0,0xe5,0x12,
+0x70,0x68,0x6c,0xff,0x80,0x60,0x7c,0xef,0x6c,0xdd,0x80,0x21,0x7e,0x90,0x5, 0xac,
+0x9f,0x9, 0xa4,0x2, 0xc4,0x7e,0x70,0x5, 0xac,0x7d,0x9, 0xb3,0x0, 0x7e,0xbc,0xba,
+0x78,0x9, 0xbe,0xa0,0xff,0x68,0x4, 0x7c,0xed,0x80,0x6, 0xb, 0xd0,0xbc,0xcd,0x38,
+0xdb,0xbe,0xe0,0x2, 0x40,0x2, 0x7c,0xef,0x12,0xf, 0xfd,0xbe,0x34,0x18,0xe0,0x50,
+0xa, 0x49,0x24,0x2, 0xc2,0xbe,0x24,0x18,0xe0,0x40,0x12,0x49,0x24,0x0, 0x7a,0x74,
+0x5, 0xac,0xbf,0x59,0x25,0x2, 0xc0,0x59,0x35,0x2, 0xc2,0x80,0x7, 0x7c,0xbf,0x7c,
+0x7e,0x12,0x9, 0xdd,0xb, 0xf0,0xbc,0xcf,0x38,0x9c,0x6c,0xff,0x74,0x5, 0xac,0xbf,
+0x49,0x45,0x2, 0xc0,0x12,0x0, 0x1e,0x59,0x45,0x0, 0x7a,0x49,0x45,0x2, 0xc2,0x12,
+0x0, 0x1e,0x59,0x45,0x0, 0x7c,0x9, 0x75,0x2, 0xc4,0x19,0x75,0x0, 0x7e,0xb, 0xf0,
+0xbe,0xf0,0x2, 0x78,0xd7,0xbe,0xc0,0x0, 0x28,0x25,0x6c,0xff,0x74,0x5, 0xac,0xbf,
+0x49,0x45,0x0, 0x7a,0x59,0x45,0x2, 0xb6,0x49,0x45,0x0, 0x7c,0x59,0x45,0x2, 0xb8,
+0x9, 0x75,0x0, 0x7e,0x19,0x75,0x2, 0xba,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xdd,0x75,
+0x9, 0x1, 0xda,0x3b,0x22,0x12,0xe, 0xaf,0x78,0x32,0x20,0xc, 0x2f,0x6c,0xaa,0x7e,
+0x44,0x7f,0xff,0x7e,0x70,0x4, 0xac,0x7a,0x59,0x43,0xc, 0xe1,0x59,0x43,0xc, 0xe3,
+0x6d,0x33,0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0xc, 0xdd,0x7e,0x34,0x1, 0x0, 0x59,
+0x32,0xc, 0xd9,0xb, 0xa0,0xbe,0xa0,0x2, 0x78,0xd5,0xd2,0xc, 0x22,0xca,0x3b,0x7c,
+0xe7,0x7c,0xdb,0x75,0x24,0x0, 0x9f,0x11,0x7a,0x1f,0xa, 0xb, 0x7a,0x1f,0xa, 0xf,
+0x7a,0x1f,0xa, 0x13,0x12,0x3c,0x6, 0x74,0x5, 0xac,0xbd,0x49,0x15,0x2, 0xc0,0x49,
+0x5, 0x2, 0xc2,0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x7, 0x74,0x5, 0xac,0xbd,0x9, 0xf5,
+0x2, 0xc4,0xbe,0xf0,0x2, 0x40,0x2, 0x6c,0xff,0x12,0x3c,0x6, 0x74,0x4, 0xac,0xbf,
+0x49,0x15,0xc, 0xe1,0x49,0x5, 0xc, 0xe3,0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x9, 0x7e,
+0x27,0xa, 0x7, 0x7e,0x34,0x0, 0xdc,0xad,0x23,0x7e,0x17,0x0, 0x9e,0x12,0x4, 0x6,
+0x7a,0x35,0x22,0xbe,0x34,0x0, 0xa, 0x50,0x7, 0x7e,0x34,0x0, 0xa, 0x7a,0x35,0x22,
+0x75,0x24,0x0, 0x6c,0xcc,0x7e,0x90,0x14,0xac,0x9f,0x49,0x24,0xb, 0x3, 0x49,0x34,
+0xb, 0x7, 0xbd,0x32,0x78,0xe, 0x49,0x54,0xb, 0x5, 0x49,0x34,0xb, 0x9, 0xbd,0x35,
+0x78,0x2, 0xa1,0x41,0x74,0x5, 0xac,0xbe,0x49,0x15,0x0, 0x7c,0x1e,0x14,0x1e,0x14,
+0x1e,0x14,0x1e,0x14,0x6d,0x0, 0x7a,0xf, 0xa, 0x13,0xbe,0x8, 0x0, 0x18,0x48,0xa,
+0x7e,0xf, 0xa, 0x13,0xbe,0x8, 0x1, 0x76,0x8, 0x5, 0x75,0x25,0x34,0x80,0x1c,0x7e,
+0xf, 0xa, 0x13,0xbe,0x8, 0x0, 0x31,0x48,0xa, 0x7e,0xf, 0xa, 0x13,0xbe,0x8, 0x1,
+0x5d,0x8, 0x5, 0x75,0x25,0x20,0x80,0x3, 0x75,0x25,0x19,0x49,0x35,0x0, 0x7a,0x12,
+0xe, 0xa3,0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0xf, 0x74,0x5, 0xac,0xbe,0x49,0x35,0x0,
+0x7c,0x12,0xe, 0xa3,0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x5, 0x12,0xe, 0x2f,0x7a,
+0x1f,0xa, 0x13,0x7d,0x3, 0x7e,0x1f,0xa, 0xf, 0x7d,0x13,0x2d,0x10,0x7a,0x17,0xa,
+0x17,0xbe,0x14,0x0, 0x7, 0x8, 0x3d,0xbe,0x18,0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,
+0x1f,0xa, 0xf, 0x7e,0x1f,0xa, 0x13,0xbe,0x18,0x0, 0x0, 0x78,0xa, 0x7e,0x1f,0xa,
+0x13,0xb, 0x1c,0x7a,0x1f,0xa, 0x13,0x12,0xe, 0x39,0x8, 0x4, 0xb, 0xc0,0x80,0x14,
+0x7e,0x1f,0xa, 0xb, 0xbe,0x18,0x0, 0x64,0x8, 0xa, 0x12,0x5b,0x8e,0x12,0xe, 0x4e,
+0x8, 0x2, 0x5, 0x24,0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x3, 0x49,0x35,0xb, 0x7,
+0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0xf, 0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x5, 0x49,
+0x35,0xb, 0x9, 0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0x13,0x7e,0x1f,0xa, 0xf, 0xbe,0x18,
+0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,0x1f,0xa, 0xf, 0x7e,0x1f,0xa, 0x13,0xbe,0x18,
+0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,0x1f,0xa, 0x13,0x12,0xe, 0x39,0x8, 0x4, 0xb,
+0xc0,0x80,0x14,0x7e,0x1f,0xa, 0xb, 0xbe,0x18,0x0, 0x64,0x8, 0xa, 0x12,0x5b,0x8e,
+0x12,0xe, 0x4e,0x8, 0x2, 0x5, 0x24,0x74,0x14,0xac,0xbf,0x12,0xe, 0x6e,0x7d,0xf3,
+0xbe,0xf7,0xa, 0x17,0x8, 0x2, 0xa1,0x2e,0xe5,0x25,0xbe,0xb0,0x34,0x7e,0x1f,0xa,
+0xb, 0x40,0x9, 0x12,0x5b,0x32,0x7e,0x8, 0x0, 0x5a,0x80,0x7, 0x12,0x5b,0x32,0x7e,
+0x8, 0x0, 0x4b,0x12,0x4, 0x59,0x7a,0x1f,0xa, 0xb, 0xe5,0x24,0x60,0x2, 0x81,0xe2,
+0x4c,0xcc,0x68,0x2, 0x81,0xe2,0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0x3, 0x6d,0x22,
+0x49,0x15,0xb, 0xb, 0x6d,0x0, 0x9f,0x1, 0x7a,0xf, 0xa, 0xf, 0x12,0x57,0xea,0x74,
+0x14,0xac,0xbf,0x49,0x15,0xb, 0x3, 0x12,0x5b,0x4, 0x49,0x15,0x0, 0x7a,0x6d,0x0,
+0x2f,0x10,0xbe,0x18,0x0, 0x0, 0x48,0x19,0x74,0x6, 0xac,0xbf,0x49,0xe5,0xc, 0xed,
+0x4d,0xee,0x78,0xd, 0x12,0x0, 0x10,0x7d,0xe3,0x74,0x5, 0xac,0xbe,0x59,0xe5,0x0,
+0x7a,0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0x5, 0x6d,0x22,0x74,0x14,0xac,0xbf,0x12,
+0x57,0xb2,0x9f,0x1, 0x7a,0xf, 0xa, 0x13,0x12,0x57,0xea,0x74,0x14,0xac,0xbf,0x49,
+0x15,0xb, 0x5, 0x12,0x5b,0x4, 0x49,0x15,0x0, 0x7c,0x6d,0x0, 0x2f,0x10,0xbe,0x18,
+0x0, 0x0, 0x48,0x17,0x74,0x6, 0xac,0xbf,0x49,0x15,0xc, 0xed,0x4d,0x11,0x78,0xb,
+0x12,0x0, 0x10,0x74,0x5, 0xac,0xbe,0x59,0x35,0x0, 0x7c,0x7e,0x90,0x6, 0xac,0x9f,
+0x49,0x54,0xc, 0xe9,0x4d,0x55,0x78,0x14,0x7e,0x1f,0xa, 0xf, 0x7d,0x53,0x59,0x54,
+0xc, 0xe9,0x7e,0x1f,0xa, 0x13,0x7d,0x53,0x59,0x54,0xc, 0xeb,0x49,0x34,0xc, 0xe9,
+0x1a,0x26,0x1a,0x24,0x7e,0x7f,0xa, 0xf, 0x7f,0x7, 0x12,0xe, 0x9b,0x48,0x11,0x49,
+0x34,0xc, 0xeb,0x1a,0x26,0x1a,0x24,0x7e,0xf, 0xa, 0x13,0x12,0xe, 0x9b,0x58,0x32,
+0x74,0x6, 0xac,0xbf,0x49,0x35,0xc, 0xed,0xbe,0x34,0x0, 0x3, 0x58,0xe, 0x7e,0x50,
+0x6, 0xac,0x5f,0x2e,0x24,0xc, 0xed,0xb, 0x34,0x1b,0x28,0x30,0x7d,0x3f,0x74,0x6,
+0xac,0xbf,0x59,0x35,0xc, 0xe9,0x7e,0x1f,0xa, 0x13,0x74,0x6, 0xac,0xbf,0x59,0x35,
+0xc, 0xeb,0xe5,0x24,0xbe,0xb0,0x2, 0x40,0xe, 0x74,0x6, 0xac,0xbf,0x49,0x45,0xc,
+0xed,0xbe,0x44,0x0, 0x2, 0x48,0x5, 0x75,0x24,0x0, 0x80,0xc, 0x4d,0x44,0x78,0x8,
+0x7e,0x34,0x0, 0x1, 0x59,0x35,0xc, 0xed,0xbe,0xc0,0x2, 0x40,0xf, 0x7e,0x50,0x6,
+0xac,0x5f,0x49,0x32,0xc, 0xed,0xbe,0x34,0x0, 0x2, 0x48,0x4, 0x6c,0xcc,0x80,0x33,
+0x4d,0x33,0x78,0x2f,0x7e,0x34,0x0, 0x1, 0x59,0x32,0xc, 0xed,0x80,0x25,0x7e,0x34,
+0x0, 0x2, 0x74,0x6, 0xac,0xbf,0x59,0x35,0xc, 0xed,0x75,0x24,0x0, 0x6c,0xcc,0x80,
+0x12,0x6d,0x33,0x74,0x6, 0xac,0xbf,0x59,0x35,0xc, 0xe9,0x59,0x35,0xc, 0xeb,0x59,
+0x35,0xc, 0xed,0x7e,0x35,0x22,0xbe,0x34,0x1, 0x0, 0x28,0x7, 0x7e,0x34,0x1, 0x0,
+0x7a,0x35,0x22,0x74,0x5, 0xac,0xbd,0x49,0x25,0x2, 0xc0,0x74,0x5, 0xac,0xbe,0x12,
+0x3c,0x77,0x7a,0x37,0xa, 0x9, 0xe5,0x24,0x60,0x13,0x12,0x5b,0x5d,0x74,0x14,0x1e,
+0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x80,0x3, 0x12,0x5a,0xf4,
+0x7a,0x37,0xa, 0x9, 0x7e,0x90,0x5, 0xac,0x9d,0x49,0x34,0x2, 0xc0,0x74,0x5, 0xac,
+0xbe,0x49,0x25,0x0, 0x7a,0xbd,0x23,0x28,0x11,0x7d,0x14,0x2e,0x14,0x2, 0xc0,0x7d,
+0x23,0x2e,0x27,0xa, 0x9, 0x1b,0x18,0x20,0x80,0xd, 0x7d,0x24,0x2e,0x24,0x2, 0xc0,
+0x9e,0x37,0xa, 0x9, 0x1b,0x28,0x30,0x49,0x24,0x2, 0xc2,0x12,0x3e,0xc, 0x7a,0x37,
+0xa, 0x9, 0x4c,0xcc,0x68,0x13,0x12,0x5b,0x5d,0x74,0xa, 0x1e,0x34,0x1e,0x24,0x50,
+0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x80,0x3, 0x12,0x5a,0xf4,0x7a,0x37,0xa, 0x9,
+0x7e,0x30,0x5, 0xac,0x3d,0x49,0x21,0x2, 0xc2,0x12,0xf, 0xfd,0xbd,0x32,0x7d,0x51,
+0x28,0xf, 0x2e,0x54,0x2, 0xc2,0x7d,0x2, 0x2e,0x7, 0xa, 0x9, 0x1b,0x58,0x0, 0x80,
+0xb, 0x2e,0x54,0x2, 0xc2,0x9e,0x27,0xa, 0x9, 0x1b,0x58,0x20,0x49,0x24,0x0, 0x7a,
+0x74,0x4, 0xac,0xbf,0x59,0x25,0xc, 0xe1,0x59,0x35,0xc, 0xe3,0xda,0x3b,0x22,0x9d,
+0x32,0x12,0x0, 0x2e,0x1a,0x26,0x1a,0x24,0x22,0x7e,0xb4,0x0, 0x64,0x7e,0x7f,0xa,
+0x13,0x7f,0x17,0x7d,0x1b,0x12,0x3, 0xfd,0x7e,0x6f,0xa, 0xf, 0x7f,0x6, 0x12,0x4,
+0x59,0x7f,0x1, 0x7a,0xf, 0xa, 0xb, 0xe5,0x25,0xa, 0x3b,0x6d,0x22,0xbf,0x10,0x22,
+0x7e,0x30,0x5, 0xac,0x3d,0x2e,0x14,0x9, 0xfd,0x74,0x5, 0x2, 0x4, 0x8d,0x49,0x35,
+0xb, 0xb, 0x49,0x25,0xb, 0xd, 0x49,0x15,0xb, 0x3, 0x49,0x5, 0xb, 0x5, 0xca,0x3b,
+0x7d,0x61,0x7a,0x35,0x26,0x7d,0x32,0x9d,0x30,0x12,0x0, 0x2e,0x7d,0x73,0x7e,0x35,
+0x26,0x9d,0x36,0x12,0x0, 0x2e,0x2d,0x37,0xda,0x3b,0x22,0x12,0x3, 0xec,0xbe,0x18,
+0x0, 0x0, 0x22,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x22,0x12,0xe, 0xba,0x7e,
+0xb3,0x0, 0x90,0x54,0xf, 0x22,0x7a,0xb3,0xb, 0x88,0x60,0x2a,0x7e,0xb3,0x6, 0xca,
+0x20,0xe7,0x3d,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x12,0x41,
+0x1d,0x7e,0xb3,0x6, 0xca,0x54,0xc7,0x44,0x10,0x12,0x17,0x72,0x12,0x5b,0x83,0x44,
+0x80,0x7a,0xb3,0x6, 0xca,0x22,0x7e,0xb3,0x6, 0xca,0x30,0xe7,0x13,0x54,0xc7,0x44,
+0x28,0x12,0x17,0x72,0x12,0x5b,0x83,0x54,0x7f,0x7a,0xb3,0x6, 0xca,0x2, 0x2f,0x8e,
+0x22,0xca,0x79,0x7e,0x77,0x0, 0x92,0x4d,0x77,0x78,0x32,0xe4,0x12,0xe, 0xac,0xbe,
+0xb0,0x0, 0x28,0x5, 0x75,0xb, 0x0, 0xe1,0xa6,0x7e,0xb3,0x0, 0x94,0x20,0xe0,0x2,
+0xe1,0xa6,0x7e,0x73,0x0, 0x99,0xbe,0x71,0xb, 0x38,0x7b,0x75,0xb, 0x0, 0x7e,0x34,
+0x0, 0x1, 0x7a,0x37,0x0, 0x92,0x74,0x1, 0x12,0xe, 0xb6,0x80,0x69,0xbe,0x74,0x0,
+0x1, 0x78,0x14,0x74,0x1, 0x12,0xe, 0xac,0x68,0x5c,0x12,0x4d,0x9, 0x12,0xe, 0xb6,
+0x75,0xd, 0x27,0xd2,0x5, 0x80,0x4f,0xbe,0x74,0x0, 0x3, 0x78,0x49,0x7e,0xb3,0x0,
+0x9b,0x12,0x4a,0x48,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x12,
+0xf, 0xf3,0x12,0x2f,0x66,0x74,0x2, 0x12,0xf, 0xcd,0x12,0x49,0xe0,0x12,0x0, 0x27,
+0xc2,0xa8,0xc2,0x95,0xa9,0xd0,0xca,0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,0x4a,0x30,
+0x12,0x1c,0xcb,0x12,0x4d,0x9, 0x7a,0xb3,0xb, 0x88,0x74,0xa, 0x7a,0xb3,0x6, 0xda,
+0x7e,0xb3,0x6, 0xda,0x70,0xfa,0x7e,0x77,0x0, 0x92,0x4d,0x77,0x78,0xb, 0x80,0x4,
+0xe4,0x12,0xf, 0xcd,0x30,0x5, 0xf9,0x80,0xc, 0xbe,0x74,0x0, 0x1, 0x78,0x6, 0x12,
+0xf, 0xf3,0x12,0x2f,0xac,0x75,0xd, 0x0, 0xc2,0x5, 0xda,0x79,0x22,0x70,0x5, 0x43,
+0x87,0x1, 0x80,0x1a,0xb4,0x1, 0xb, 0xa9,0xd0,0xce,0xa9,0xd7,0xc9,0x43,0x87,0x2,
+0x80,0xc, 0xb4,0x2, 0xd, 0xa9,0xd0,0xce,0xa9,0xc7,0xc9,0x43,0x87,0x2, 0x0, 0x0,
+0x0, 0x0, 0x22,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x20,0x93,0xf9,0x22,0x7e,0x90,0x5,
+0xac,0x9e,0x49,0x34,0x0, 0x7c,0x22,0x7d,0xf3,0xbe,0xf4,0x0, 0x50,0x38,0x28,0x7e,
+0x54,0x0, 0x50,0x9d,0x5f,0x12,0x11,0x3b,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x28,
+0x4, 0x9f,0x22,0x80,0x8, 0x7e,0x18,0x0, 0x2d,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0,
+0x0, 0x50,0x64,0x9f,0x22,0x80,0x60,0xbe,0xf4,0x1, 0x2f,0x40,0x20,0x12,0x11,0x35,
+0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x40,0x4, 0x7e,0x28,0x0, 0x2c,0xbe,0x28,0x0,
+0x2d,0x28,0x4, 0x7e,0x28,0x0, 0x2d,0x2e,0x28,0x1, 0x61,0x80,0x3a,0xbe,0xf4,0x0,
+0xbf,0x50,0x23,0x7e,0x54,0x0, 0xbf,0x9d,0x5f,0x12,0x10,0xa0,0xbe,0x28,0x0, 0xc7,
+0x38,0x8, 0x7e,0x18,0x0, 0xc7,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0, 0x2d,0x50,0x17,
+0x7e,0x28,0x0, 0x2d,0x80,0x11,0x12,0x10,0x9a,0x2e,0x28,0x0, 0xc7,0xbe,0x28,0x1,
+0x61,0x28,0x4, 0x7e,0x28,0x1, 0x61,0x7d,0x35,0x22,0x7d,0x5f,0x9e,0x54,0x0, 0xbf,
+0x6d,0x44,0x7e,0x14,0x1, 0x81,0x7f,0x12,0x12,0x3, 0xfd,0x7f,0x21,0x7c,0xba,0x7c,
+0xa9,0xa, 0x48,0x22,0x7d,0xf3,0xbe,0xf4,0x0, 0x50,0x38,0x20,0x7e,0x54,0x0, 0x50,
+0x9d,0x5f,0x12,0x11,0x3b,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x28,0x4, 0x9f,0x22,
+0x80,0x60,0x7e,0x18,0x0, 0x2d,0x9f,0x12,0x7f,0x21,0x80,0x56,0xbe,0xf4,0x1, 0x2f,
+0x40,0x16,0x12,0x11,0x35,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x40,0x4, 0x7e,0x28,
+0x0, 0x2c,0x2e,0x28,0x1, 0x61,0x80,0x3a,0xbe,0xf4,0x0, 0xbf,0x50,0x23,0x7e,0x54,
+0x0, 0xbf,0x9d,0x5f,0x12,0x10,0xa0,0xbe,0x28,0x0, 0xc7,0x38,0x8, 0x7e,0x18,0x0,
+0xc7,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0, 0x2d,0x50,0x17,0x7e,0x28,0x0, 0x2d,0x80,
+0x11,0x12,0x10,0x9a,0x2e,0x28,0x0, 0xc7,0xbe,0x28,0x1, 0x61,0x28,0x4, 0x7e,0x28,
+0x1, 0x61,0x7d,0x35,0x22,0x7d,0x5f,0x9e,0x54,0x1, 0x2f,0x6d,0x44,0x7e,0x14,0x2,
+0x7, 0x22,0xca,0xf8,0x6c,0xff,0x80,0x1d,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7a,
+0x12,0x10,0x7, 0x74,0x5, 0xac,0xbf,0x59,0x35,0x0, 0x7a,0x49,0x35,0x0, 0x7c,0x12,
+0x10,0xb4,0x12,0x3c,0x51,0x12,0x38,0x94,0x48,0xde,0xda,0xf8,0x22,0xca,0xf8,0x12,
+0x49,0xe0,0x7e,0x34,0x2, 0xd4,0x7a,0x37,0x6, 0xd8,0x12,0x4c,0x52,0xe4,0x12,0x43,
+0xb3,0x12,0x4d,0x63,0x12,0x3e,0x73,0x12,0x47,0xb1,0xe4,0x12,0x3f,0xc9,0x12,0x1c,
+0xc2,0x12,0x4e,0xf1,0x7e,0xb3,0xb, 0x9f,0xb4,0x1, 0x2, 0x80,0x2, 0x41,0x84,0x7e,
+0xf3,0x6, 0x4d,0x4c,0xff,0x68,0x36,0xbe,0xf0,0x1, 0x78,0xa, 0xe4,0x7a,0xb3,0x6,
+0x4d,0x12,0x3e,0xc9,0x80,0x12,0xbe,0xf0,0x3, 0x78,0x5, 0x12,0x1b,0xdc,0x80,0x8,
+0xbe,0xf0,0x2, 0x78,0x3, 0x12,0x17,0xff,0x7e,0x34,0xa, 0xd1,0x12,0x14,0xea,0x7e,
+0x34,0xa, 0xbb,0x12,0x14,0xea,0x7e,0x34,0xa, 0x8d,0x12,0x14,0xea,0x12,0x48,0x4c,
+0x12,0x37,0xfc,0x12,0x1f,0xf9,0x44,0x1, 0x7a,0xb3,0x6, 0xd7,0x12,0x15,0x1d,0x12,
+0x2f,0x45,0x12,0x27,0xfc,0x12,0x30,0xd8,0x12,0x23,0x3e,0x12,0x2a,0xa0,0x12,0x3c,
+0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x3, 0x12,0x14,0xfa,0x12,0xe, 0xaf,0x12,0x0,
+0x3e,0x7e,0x34,0x3, 0x5c,0x7e,0x24,0x5, 0x34,0x7e,0xb3,0x6, 0xc8,0x12,0x2d,0xc3,
+0x12,0x0, 0x6, 0x12,0x26,0x96,0x12,0x11,0x42,0x12,0x38,0x63,0x12,0x2d,0x3d,0x12,
+0x12,0x87,0x7e,0xb3,0xb, 0x38,0x60,0x8, 0xe4,0x7a,0xb3,0xb, 0x38,0x12,0x28,0x8c,
+0x12,0x3f,0x3d,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x3, 0x12,0x14,0xfa,0x12,0x18,0x72,
+0x12,0x2e,0xe5,0x12,0x28,0x97,0x12,0x28,0x27,0x12,0x38,0xa1,0x12,0x3c,0x80,0x12,
+0x7, 0x98,0x12,0x57,0xfa,0x12,0x51,0x3e,0x12,0x53,0xbf,0x7e,0xb3,0x6, 0x67,0x30,
+0xe1,0x3, 0x12,0x14,0xfa,0x7e,0xb3,0x0, 0x9a,0x12,0x41,0xc9,0x12,0xf, 0x1, 0x12,
+0x3e,0xf1,0x21,0x94,0xda,0xf8,0x22,0xca,0x3b,0x7e,0xb3,0x0, 0x90,0x7c,0xab,0x5e,
+0xa0,0xf, 0x7a,0xa1,0x25,0xc4,0x54,0xf, 0x54,0xf, 0xf5,0x26,0x7e,0x77,0x0, 0x6a,
+0x7e,0x67,0x0, 0x6c,0x7e,0xb3,0x0, 0x68,0xf5,0x23,0x7e,0xb3,0x0, 0x69,0xf5,0x24,
+0x4c,0xaa,0x78,0x4, 0xc2,0x4, 0x81,0x72,0xe5,0x25,0xbe,0xb0,0x1, 0x28,0x58,0x75,
+0x22,0x0, 0x80,0x48,0x12,0x14,0xe3,0x49,0x45,0x0, 0x7a,0x7a,0x45,0x2f,0x49,0x35,
+0x0, 0x7c,0x12,0x15,0x12,0x28,0xa, 0x12,0x14,0xf2,0x28,0x2e,0xbe,0x35,0x31,0x28,
+0x29,0x12,0x14,0x9b,0xbd,0x36,0x28,0x22,0x7a,0x65,0x29,0x12,0x17,0xf7,0x50,0x3,
+0x12,0x17,0xef,0x7e,0x35,0x33,0x12,0x14,0xc0,0x12,0x14,0xe3,0x59,0x35,0x0, 0x7a,
+0x12,0x14,0xbd,0x12,0x14,0xe3,0x59,0x35,0x0, 0x7c,0x5, 0x22,0xe5,0x25,0xbe,0xb1,
+0x22,0x38,0xb1,0xc2,0x4, 0x81,0x72,0xe5,0x25,0xb4,0x1, 0x22,0xe5,0x26,0x70,0x1e,
+0x12,0x15,0x7, 0x28,0xe, 0x12,0x14,0xf2,0x28,0x5, 0xbe,0x35,0x31,0x38,0x4, 0xc2,
+0x4, 0x81,0x72,0x12,0x14,0x9b,0x7a,0x35,0x29,0x12,0x5a,0xd1,0x81,0x9, 0xe5,0x25,
+0xb4,0x1, 0x2, 0x80,0x2, 0x81,0x9, 0x12,0x15,0x7, 0x28,0xe, 0x12,0x14,0xf2,0x28,
+0x5, 0xbe,0x35,0x31,0x38,0x4, 0xc2,0x4, 0x81,0x72,0x12,0x14,0x9b,0x9e,0x37,0x0,
+0x60,0x12,0x0, 0x2e,0x7a,0x35,0x2b,0x7e,0x35,0x33,0x9e,0x37,0x0, 0x50,0x7e,0x25,
+0x35,0x9e,0x27,0x0, 0x52,0x12,0x14,0x7e,0x7a,0x35,0x2d,0x7e,0x37,0x0, 0x70,0xbe,
+0x35,0x2d,0x50,0x28,0x7e,0x35,0x27,0x9e,0x37,0x0, 0x54,0x12,0x0, 0x2e,0x7e,0xa1,
+0x23,0x74,0x5, 0xa4,0xbd,0x35,0x58,0xc, 0x7e,0xa0,0x2, 0xe5,0x23,0xa4,0xf5,0x23,
+0xd2,0x4, 0x80,0x8, 0x7e,0xb3,0x0, 0x68,0xf5,0x23,0xc2,0x4, 0x30,0x4, 0x30,0xe5,
+0x23,0xa, 0x3b,0xbe,0x35,0x2b,0x28,0x4, 0x6d,0x33,0x80,0x27,0xe5,0x24,0xa, 0x3b,
+0xbe,0x35,0x2b,0x28,0x14,0x7e,0x25,0x2b,0x7e,0x34,0x0, 0x64,0xad,0x23,0xe5,0x24,
+0xa, 0x1b,0x6d,0x0, 0x12,0x4, 0x8, 0x80,0xa, 0x7e,0x34,0x0, 0x64,0x80,0x4, 0x7e,
+0x34,0x0, 0x64,0x7a,0x35,0x2b,0x7e,0xf7,0x0, 0x60,0x7d,0x1f,0x6d,0x0, 0x7e,0x35,
+0x27,0x6d,0x22,0x9f,0x10,0x7e,0x15,0x2b,0x12,0x3, 0xfd,0x12,0x27,0xba,0x7f,0x1,
+0x7d,0x3f,0x6d,0x22,0x2f,0x10,0x7a,0x35,0x29,0x7e,0x35,0x29,0xbd,0x36,0x38,0x7,
+0x7e,0x25,0x27,0xbd,0x26,0x28,0x5, 0x7a,0x65,0x29,0x80,0xb, 0xbe,0x34,0x0, 0x1,
+0x50,0x5, 0x6d,0x33,0x7a,0x35,0x29,0x12,0x17,0xf7,0x50,0x3, 0x12,0x17,0xef,0x7e,
+0x35,0x33,0x12,0x14,0xc0,0x7a,0x37,0x0, 0x7a,0x12,0x14,0xbd,0x7d,0x23,0x7a,0x27,
+0x0, 0x7c,0x7e,0x37,0x0, 0x7a,0x7a,0x35,0x2f,0x7a,0x25,0x31,0x7d,0x27,0x12,0x14,
+0x75,0x7a,0x35,0x33,0x7e,0x35,0x31,0x7d,0x27,0x12,0x14,0x75,0x7a,0x35,0x35,0x7e,
+0x35,0x29,0x7a,0x37,0x0, 0x60,0x7e,0x27,0x0, 0x70,0xbe,0x25,0x2d,0x50,0x3, 0x12,
+0x5a,0xd1,0xda,0x3b,0x22,0x7d,0x12,0x6d,0x0, 0x6d,0x22,0x9f,0x10,0x22,0x7d,0x52,
+0x7d,0x43,0x7d,0x35,0x12,0x17,0x69,0x7f,0x71,0x7d,0x34,0x12,0x17,0x69,0x2f,0x17,
+0x7c,0xb4,0x12,0x1, 0x20,0x12,0x1, 0x9a,0x2, 0x1, 0x5d,0x7e,0x35,0x2f,0x7d,0x27,
+0x12,0x14,0x75,0x7a,0x35,0x33,0x7e,0x35,0x31,0x7d,0x27,0x12,0x14,0x75,0x7d,0x23,
+0x7a,0x25,0x35,0x7e,0x35,0x33,0x12,0x14,0x7e,0x7a,0x35,0x27,0x22,0x7e,0x35,0x35,
+0x7e,0x25,0x29,0x7e,0x15,0x27,0x7d,0x7, 0x7d,0xf0,0x7d,0xe1,0x7d,0x12,0x1a,0x26,
+0x1a,0x24,0x12,0x3, 0xfd,0x7d,0x1e,0x6d,0x0, 0x12,0x4, 0x59,0x7d,0x1f,0x6d,0x0,
+0x2f,0x10,0x22,0x7e,0xa1,0x22,0x74,0x5, 0xa4,0x22,0x7e,0x24,0x0, 0x16,0xe4,0x2,
+0x4, 0xeb,0x7e,0x37,0x0, 0x72,0xbe,0x35,0x2f,0x22,0x7e,0xb3,0x0, 0x90,0x54,0xf0,
+0x44,0x2, 0x7a,0xb3,0x0, 0x90,0x22,0x7e,0x37,0x0, 0x7a,0x7a,0x35,0x2f,0x7e,0x37,
+0x0, 0x7c,0x7a,0x35,0x31,0x7e,0x73,0x6, 0xc7,0xbe,0x70,0x0, 0x22,0xca,0x3b,0x12,
+0x17,0xe0,0x30,0xe1,0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0xc, 0x7e,0xb3,0xd, 0x3f,
+0x70,0x14,0x7e,0xb3,0xd, 0x3c,0x70,0xe, 0x7e,0xb3,0x6, 0x67,0x20,0xe0,0x2, 0xc1,
+0x61,0x20,0xe2,0x2, 0xc1,0x61,0x7c,0xba,0x30,0xe1,0x8, 0x7e,0xb3,0x6, 0x12,0xf5,
+0x28,0x80,0x6, 0x7e,0xb3,0x6, 0x13,0xf5,0x28,0x7c,0xba,0x30,0xe1,0x7, 0x7e,0xb3,
+0x6, 0x67,0x30,0xe2,0x5, 0x75,0x29,0x1, 0x80,0x3, 0x75,0x29,0x2, 0x7e,0xb3,0xd,
+0x3c,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x3c,0x7e,0xb3,0x6, 0x67,0x30,
+0xe5,0xb, 0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x12,0x17,0xd2,
+0x4e,0x70,0x2, 0x1b,0x28,0x30,0x12,0x5a,0x97,0x7e,0x73,0x6, 0xd6,0xa, 0x57,0x12,
+0x17,0x8f,0x12,0x5a,0xb5,0x75,0x25,0x0, 0xc1,0x2d,0x12,0x43,0x6b,0x75,0x26,0x0,
+0x80,0x72,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0x6c,0x77,0x12,0x17,0xa0,0x80,0x4, 0xe4,
+0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x75,0x24,0x0, 0x80,0x50,0x12,0x5a,0xa1,
+0x9, 0x23,0x6, 0x96,0x7a,0x21,0x27,0x7e,0x71,0x25,0x74,0x3, 0xac,0x7b,0xe5,0x26,
+0xa, 0x2b,0x2d,0x23,0x7e,0x34,0x0, 0x58,0xad,0x32,0x7e,0x30,0x4, 0xac,0x23,0x2d,
+0x13,0x59,0x71,0x0, 0xa8,0x59,0x61,0x0, 0xa6,0x7e,0x73,0x6, 0xd6,0xbe,0x70,0x2,
+0x38,0x19,0xa, 0x7, 0x7e,0x54,0x0, 0x3, 0x9d,0x50,0x2e,0x14,0x0, 0xa6,0x12,0x2d,
+0xbb,0x60,0x5, 0x2f,0x11,0x14,0x78,0xfb,0x12,0x17,0xe7,0x5, 0x24,0x12,0x17,0x61,
+0x38,0xab,0x5, 0x26,0xe5,0x28,0xbe,0xb1,0x26,0x38,0x87,0x5, 0x25,0xe5,0x29,0xbe,
+0xb1,0x25,0x28,0x2, 0xa1,0xaa,0x7e,0x37,0x6, 0xa, 0x99,0x34,0x12,0x17,0xd2,0x5e,
+0x70,0xfd,0x1b,0x28,0x30,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0xa, 0x1b,0x3e,0x14,0x12,
+0x37,0x1a,0x12,0x5a,0x97,0x7e,0xb3,0x6, 0xca,0x12,0x17,0x89,0x12,0x5a,0xb5,0xe1,
+0x57,0x7e,0xb3,0x6, 0xc9,0x30,0xe0,0x51,0x7e,0xb3,0x6, 0x67,0x30,0xe5,0x5, 0x12,
+0x17,0x5a,0x50,0x11,0x74,0x2, 0x12,0x17,0xda,0x12,0x43,0x6b,0x12,0x17,0x97,0x80,
+0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0xe4,0x12,0x17,0xda,0x75,0x24,
+0x0, 0x80,0x17,0x12,0x5a,0xa1,0x9, 0xa3,0x6, 0x96,0x7a,0xa1,0x27,0x74,0x4, 0xa4,
+0x59,0x75,0x3, 0x5e,0x59,0x65,0x3, 0x5c,0x5, 0x24,0x12,0x17,0x61,0x38,0xe4,0x7e,
+0xb3,0x6, 0x67,0x30,0xe5,0x3, 0x12,0x17,0x97,0x75,0x24,0x0, 0xe1,0x4a,0xe5,0x24,
+0xa, 0x3b,0x9, 0xb3,0x6, 0x96,0xf5,0x27,0x12,0x17,0xe0,0x30,0xe1,0x19,0x7e,0xb3,
+0x6, 0xca,0xc4,0x23,0x54,0x7, 0xbe,0xb0,0x2, 0x38,0x22,0x12,0x5a,0x76,0x60,0x16,
+0x2f,0x11,0x14,0x78,0xfb,0x80,0xf, 0x12,0x23,0x28,0x38,0x11,0x12,0x5a,0x76,0x60,
+0x5, 0x2f,0x11,0x14,0x78,0xfb,0x59,0x34,0x0, 0x2, 0x1b,0x48,0x20,0x7c,0xba,0x30,
+0xe0,0x46,0x7e,0x31,0x27,0x74,0x2, 0xac,0x3b,0x49,0xf1,0x5, 0x90,0x7d,0x3f,0x1a,
+0x36,0x1a,0xe6,0x7e,0x11,0x27,0x74,0x4, 0xac,0x1b,0x49,0x30,0x3, 0x5e,0x49,0x20,
+0x3, 0x5c,0x7f,0x21,0x9f,0x27,0x59,0x50,0x4, 0x16,0x59,0x40,0x4, 0x14,0x49,0xf1,
+0x5, 0x34,0x7d,0x1f,0x1a,0x12,0x1a,0xe2,0x7e,0x31,0x27,0x74,0x4, 0xac,0x3b,0x2e,
+0x14,0x3, 0x5c,0x9f,0x17,0x12,0x17,0xe7,0x5, 0x24,0x12,0x17,0x61,0x28,0x2, 0xc1,
+0xbe,0x7e,0x37,0x6, 0xc, 0x99,0x34,0xda,0x3b,0x22,0x30,0xa, 0x2, 0xd3,0x22,0xc3,
+0x22,0x7e,0x73,0x6, 0xc8,0xbe,0x71,0x24,0x22,0x1a,0x26,0x1a,0x24,0x7f,0x1, 0x2,
+0x3, 0xec,0x7a,0xb3,0x6, 0xca,0x7e,0x44,0x12,0x0, 0xb, 0x48,0x50,0x5e,0xa0,0x1f,
+0x1b,0x48,0x50,0x7e,0x73,0x6, 0xca,0x7c,0xb7,0xc4,0x23,0x54,0x7, 0xa, 0x5b,0xc4,
+0x23,0x54,0xe0,0x7c,0xab,0xe4,0x22,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0x7e,0x70,0x1,
+0x24,0xff,0x92,0xb, 0xc2,0xc6,0xd2,0xee,0xa9,0xd6,0xf7,0xd2,0xfe,0x4c,0x77,0x68,
+0x15,0xc2,0xaf,0x12,0x17,0xd2,0x4e,0x70,0x1, 0x1b,0x28,0x30,0x7e,0x37,0x6, 0x0,
+0x99,0x34,0xd2,0xaf,0x80,0x9, 0x12,0x17,0xd2,0x4e,0x70,0x1, 0x1b,0x28,0x30,0xc2,
+0xa, 0x22,0x7e,0x24,0x12,0x0, 0xb, 0x28,0x30,0x22,0x7e,0x37,0x6, 0x2, 0x89,0x34,
+0x7e,0xa3,0x6, 0xd7,0x7c,0xba,0x22,0x59,0x31,0x0, 0x2, 0x1b,0x18,0x20,0x22,0x7e,
+0x34,0x0, 0x1, 0x7a,0x35,0x27,0x22,0x7e,0x35,0x27,0xbe,0x34,0x0, 0x1, 0x22,0xca,
+0xf8,0x7e,0xa3,0x6, 0xd7,0x7c,0xfa,0x5e,0xf0,0x1, 0x7c,0xba,0x12,0x1f,0xea,0x12,
+0x15,0x1d,0x6c,0xaa,0x80,0x3b,0x7e,0xb3,0x6, 0x4d,0x60,0xb, 0xb4,0x2, 0x30,0xa,
+0x3a,0x9, 0xb3,0xa, 0xbb,0x60,0x28,0x7e,0x90,0x4, 0xac,0x9a,0x49,0x34,0x3, 0x5e,
+0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0x5, 0x34,0x59,0x32,0x5, 0x90,0x9f,0x11,0x59,
+0x34,0x3, 0x5e,0x59,0x24,0x3, 0x5c,0x59,0x34,0x4, 0x16,0x59,0x24,0x4, 0x14,0xb,
+0xa0,0x12,0x18,0x6b,0x38,0xc0,0x7c,0x6f,0x5e,0x60,0x1, 0x7e,0x73,0x6, 0xd7,0x5e,
+0x70,0xfe,0x4c,0x76,0x7a,0x73,0x6, 0xd7,0xda,0xf8,0x22,0x7e,0xb3,0x6, 0xc8,0xbc,
+0xba,0x22,0x6c,0xaa,0x80,0x9, 0x12,0x19,0xf, 0x70,0x2, 0x21,0xe, 0xb, 0xa0,0x12,
+0x18,0x6b,0x38,0xf2,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x2, 0x21,0xe, 0x6c,0xaa,0x80,
+0x78,0x12,0x19,0xf, 0xb4,0x1, 0x70,0x7e,0xb3,0x6, 0xc6,0xbc,0xba,0x28,0x21,0x12,
+0x22,0x8a,0x7e,0xb3,0x6, 0x45,0x12,0x5b,0x6a,0x8, 0x6, 0x7e,0xb3,0x6, 0x43,0x80,
+0x1f,0x6d,0x33,0x9d,0x34,0x12,0x19,0x1e,0x58,0x4d,0x7e,0xb3,0x6, 0x44,0x80,0x34,
+0x12,0x22,0x8a,0x7e,0xb3,0x6, 0x48,0x12,0x5b,0x6a,0x8, 0x1b,0x7e,0xb3,0x6, 0x46,
+0xa, 0xeb,0x7e,0x50,0x2, 0xac,0x5a,0x7d,0xf2,0x2e,0xf4,0x5, 0x34,0xb, 0xf8,0x20,
+0x2d,0x2e,0x1b,0xf8,0x20,0x80,0x20,0x6d,0x33,0x9d,0x34,0x12,0x19,0x1e,0x58,0x17,
+0x7e,0xb3,0x6, 0x47,0xa, 0x4b,0x7e,0x50,0x2, 0xac,0x5a,0x2e,0x24,0x5, 0x34,0xb,
+0x28,0x30,0x9d,0x34,0x1b,0x28,0x30,0xb, 0xa0,0x12,0x18,0x6b,0x38,0x83,0x22,0x7e,
+0x34,0x6, 0x15,0x7c,0xba,0x2, 0x1a,0x54,0x6e,0x34,0xff,0xff,0xb, 0x34,0x1a,0x26,
+0x1a,0x24,0xbf,0x1, 0x22,0xca,0x3b,0x6c,0xee,0x6d,0x66,0x7e,0xb3,0x6, 0x67,0x30,
+0xe1,0x2, 0x41,0x33,0x6c,0xff,0x21,0xe9,0x12,0x1a,0x4e,0xb4,0x1, 0x2, 0x80,0x2,
+0x21,0xe7,0x7e,0x73,0x6, 0xc6,0xbc,0x7f,0x28,0x59,0xb, 0xe0,0x7e,0x50,0x4, 0xac,
+0x5f,0x49,0xd2,0x3, 0x5e,0x49,0xc2,0x3, 0x5c,0x7e,0x73,0x6, 0x45,0xa, 0x37,0x7d,
+0x53,0x1a,0x4a,0x1a,0x48,0xbf,0x62,0x8, 0xb, 0x12,0x1a,0x36,0xbf,0x2, 0x8, 0x4,
+0xb, 0x64,0x80,0x17,0x6d,0xff,0x9d,0xf3,0x7d,0x1f,0x1a,0x12,0x1a,0xe2,0xbf,0x67,
+0x58,0x9, 0x12,0x1a,0x36,0xbf,0x7, 0x58,0x2, 0x1b,0x64,0x12,0x1a,0x36,0xbf,0x2,
+0x8, 0x6, 0x7e,0xb3,0x6, 0x43,0x80,0x29,0x12,0x19,0x18,0x58,0x4a,0x7e,0x73,0x6,
+0x44,0x80,0x3c,0x7e,0x50,0x4, 0xac,0x5f,0x12,0x1a,0x36,0x7e,0x73,0x6, 0x48,0xa,
+0x37,0x7d,0x53,0x7d,0xf3,0x1a,0x5a,0x1a,0xea,0xbf,0x7, 0x8, 0x19,0x7e,0xb3,0x6,
+0x46,0xa, 0xfb,0x7e,0x90,0x2, 0xac,0x9f,0x2e,0x44,0x5, 0x90,0xb, 0x48,0x50,0x2d,
+0x5f,0x1b,0x48,0x50,0x80,0x11,0x12,0x19,0x18,0x58,0xc, 0x7e,0x73,0x6, 0x47,0x12,
+0x1a,0x3f,0x9d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,0x6a,0x28,0x2, 0x21,0x38,
+0xbe,0xe0,0x0, 0x28,0x3e,0x7d,0x36,0x12,0x0, 0x2e,0xa, 0x2e,0xbd,0x32,0x78,0x33,
+0x6c,0xff,0x80,0x2a,0x12,0x1a,0x4e,0x70,0x23,0xbe,0x64,0x0, 0x0, 0x8, 0xb, 0x7e,
+0x73,0x6, 0x43,0x12,0x1a,0x3f,0x2d,0x31,0x80,0xf, 0xbe,0x64,0x0, 0x0, 0x58,0xc,
+0x7e,0x73,0x6, 0x44,0x12,0x1a,0x3f,0x9d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,
+0x6a,0x38,0xd1,0xda,0x3b,0x22,0x49,0x12,0x4, 0x16,0x49,0x2, 0x4, 0x14,0x22,0xa,
+0x17,0x7e,0x50,0x2, 0xac,0x5f,0x2e,0x24,0x5, 0x90,0xb, 0x28,0x30,0x22,0x7e,0x34,
+0x6, 0x15,0x7c,0xbf,0x7d,0x23,0x4d,0x22,0x68,0x5, 0xbe,0xb0,0x2e,0x40,0x3, 0x74,
+0x1, 0x22,0xa, 0x3b,0x2d,0x32,0x7e,0x39,0xb0,0x22,0x7e,0x73,0x6, 0xc8,0xbc,0x7f,
+0x22,0xca,0x3b,0x75,0x23,0x0, 0x7e,0xb3,0x6, 0xd7,0x54,0xfd,0x7a,0xb3,0x6, 0xd7,
+0x7e,0x67,0x6, 0xd8,0x7e,0xb3,0x6, 0x67,0x30,0xe5,0x11,0x80,0x4, 0xe4,0x12,0xf,
+0xcd,0x12,0x17,0x5a,0x50,0xf7,0x75,0x23,0x1, 0x12,0x41,0x1d,0x12,0x5a,0x93,0x7e,
+0x73,0x6, 0xd6,0xa, 0x57,0x12,0x17,0x8f,0x12,0x5a,0xb5,0x6c,0xff,0x6d,0x33,0x80,
+0xa, 0x74,0x2, 0xac,0xbf,0x59,0x35,0x9, 0xfd,0xb, 0xf0,0x7e,0x53,0x6, 0xc8,0xbc,
+0x5f,0x38,0xee,0x6c,0xee,0x61,0x68,0x6c,0xff,0x80,0x15,0x7e,0xb3,0x6, 0x4d,0x60,
+0x5, 0x12,0x1b,0xd2,0x60,0x8, 0x6d,0x22,0x12,0x1b,0xca,0x1b,0x38,0x20,0xb, 0xf0,
+0x12,0x1a,0x6a,0x38,0xe6,0x75,0x22,0x0, 0x6d,0x33,0x7e,0xa1,0x22,0x74,0x2, 0xa4,
+0x59,0x35,0xb, 0xc3,0x5, 0x22,0xe5,0x22,0xb4,0x2e,0xed,0x6c,0xff,0x80,0x17,0xa,
+0x2f,0x7e,0x34,0x0, 0x9, 0x9d,0x32,0x7a,0x73,0xc, 0x1f,0x12,0x50,0xe2,0x12,0x41,
+0x28,0x12,0x50,0x71,0xb, 0xf0,0x7e,0x73,0x6, 0x14,0xbc,0x7f,0x38,0xe1,0x6c,0xff,
+0x80,0x3f,0x7e,0x50,0x2, 0xac,0x5f,0x49,0x12,0x9, 0xfd,0x12,0x1b,0xca,0xb, 0x38,
+0x30,0xbd,0x13,0x50,0x2a,0x59,0x32,0x9, 0xfd,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,
+0x1b,0xd2,0x60,0x1b,0x12,0x1f,0xdd,0x74,0x2, 0xac,0xbf,0x59,0x35,0x5, 0x34,0x74,
+0x2, 0xac,0xbf,0x49,0x35,0x5, 0x34,0x74,0x2, 0xac,0xbf,0x59,0x35,0x5, 0x90,0xb,
+0xf0,0x12,0x1a,0x6a,0x38,0xbc,0xb, 0xe0,0x7e,0x73,0x6, 0x11,0xbc,0x7e,0x28,0x2,
+0x41,0xc7,0x6c,0xff,0x80,0x1b,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x1b,0xd2,0x60,
+0xe, 0x74,0x2, 0xac,0xbf,0x49,0x25,0x9, 0xfd,0x12,0x1b,0xca,0x1b,0x38,0x20,0xb,
+0xf0,0x12,0x1a,0x6a,0x38,0xe0,0x74,0x3, 0x12,0x17,0xda,0x12,0x1f,0xa8,0x12,0x1f,
+0xf9,0xe5,0x23,0x60,0x15,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,
+0x7e,0xb3,0x6, 0x67,0x44,0x20,0x7a,0xb3,0x6, 0x67,0x12,0x5a,0x93,0x7e,0xb3,0x6,
+0xca,0x12,0x17,0x89,0x12,0x5a,0xb5,0xda,0x3b,0x22,0x7e,0x70,0x2, 0xac,0x7f,0x2d,
+0x36,0x22,0xa, 0x3f,0x2e,0x37,0x6, 0x4e,0x7e,0x39,0xb0,0x22,0xca,0x79,0x12,0x1f,
+0xe6,0x6d,0x33,0x6c,0xee,0x80,0xa, 0x74,0x2, 0xac,0xbe,0x59,0x35,0x9, 0xfd,0xb,
+0xe0,0x7e,0x53,0x6, 0xc8,0xbc,0x5e,0x38,0xee,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0x3f,
+0x6c,0xee,0x80,0x31,0x12,0x41,0x28,0x6c,0xff,0x80,0x23,0x7e,0x50,0x2, 0xac,0x5f,
+0x49,0xf2,0x9, 0xfd,0x6d,0xee,0x74,0x4, 0xac,0xbf,0x49,0x15,0x3, 0x5e,0x49,0x5,
+0x3, 0x5c,0xbf,0x7, 0x8, 0x6, 0x7d,0x31,0x59,0x32,0x9, 0xfd,0xb, 0xf0,0x12,0x1a,
+0x6a,0x38,0xd8,0xb, 0xe0,0x7e,0x73,0x6, 0x10,0xbc,0x7e,0x38,0xc7,0x80,0x39,0x7e,
+0xe0,0x1, 0x12,0x15,0x1d,0x6c,0xff,0x80,0x23,0x12,0x1f,0xdd,0x49,0x25,0x3, 0x5c,
+0x7e,0x8, 0x0, 0x4, 0x12,0x4, 0x59,0x7d,0x13,0x7e,0x50,0x2, 0xac,0x5f,0x2e,0x24,
+0x9, 0xfd,0xb, 0x28,0x30,0x2d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,0x6a,0x38,
+0xd8,0xb, 0xe0,0xbe,0xe0,0x4, 0x28,0xca,0x6c,0xee,0x80,0x3b,0x7e,0xa3,0x6, 0x4d,
+0x4c,0xaa,0x68,0x19,0xbe,0xa0,0x1, 0x78,0x7, 0xa, 0x3e,0x12,0x1b,0xd4,0x70,0xd,
+0xbe,0xa0,0x3, 0x78,0x20,0xa, 0x3e,0x9, 0xb3,0xa, 0x8d,0x60,0x18,0x74,0x2, 0xac,
+0xbe,0x49,0x35,0x9, 0xfd,0x59,0x35,0x5, 0x34,0x74,0x2, 0xac,0xbe,0x49,0x35,0x9,
+0xfd,0x59,0x35,0x5, 0x90,0xb, 0xe0,0x7e,0x73,0x6, 0xc8,0xbc,0x7e,0x38,0xbd,0xda,
+0x79,0x22,0x12,0x1e,0xf3,0x12,0x3e,0x5e,0x2, 0x1b,0xdc,0x7e,0x34,0x0, 0x24,0x12,
+0x4f,0x6, 0xbe,0xb0,0x1, 0x68,0x8, 0x80,0xfe,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,
+0x17,0x5a,0x50,0xf7,0xa9,0xc3,0xea,0x6d,0x11,0x7e,0x44,0x12,0x0, 0x1b,0x48,0x10,
+0x7e,0x53,0x6, 0xc9,0x7c,0xb5,0x54,0x1, 0xa, 0x5b,0x12,0x1e,0xda,0x7c,0x75,0x1e,
+0x70,0x5e,0x70,0x3, 0xa, 0x57,0x3e,0x54,0x3e,0x54,0x3e,0x54,0x12,0x1e,0xd6,0x7e,
+0x63,0x6, 0xca,0x7c,0xb6,0x54,0x1, 0x12,0x1f,0xf1,0x12,0x1e,0xda,0x7c,0xb6,0x1e,
+0xb0,0x54,0x3, 0x12,0x1f,0xf1,0x12,0x1e,0xd6,0x7c,0xb6,0x12,0x17,0x89,0x12,0x1e,
+0xdc,0x7e,0x54,0x13,0x14,0xb, 0x58,0x0, 0x6c,0x0, 0x12,0x1e,0xcf,0x5e,0x10,0xbf,
+0x12,0x1e,0xcf,0x4e,0x10,0x40,0x12,0x1e,0xcf,0x5e,0x10,0xcf,0x12,0x1e,0xcf,0x4e,
+0x10,0x10,0x12,0x1e,0xcf,0x5e,0x10,0xfc,0x12,0x1e,0xcf,0xa5,0xbf,0x0, 0x5, 0x4e,
+0x10,0x1, 0x80,0x3, 0x4e,0x10,0x3, 0x1b,0x58,0x0, 0x7e,0x44,0x12,0x2, 0x1b,0x48,
+0x10,0x7e,0x43,0x6, 0xc8,0xa, 0x54,0x7c,0xab,0xe4,0x12,0x1e,0xdc,0x7e,0xa3,0x6,
+0xcb,0x7c,0xba,0x23,0x54,0x1, 0xa, 0xfb,0xb, 0x48,0x0, 0x4d,0xf, 0x1b,0x48,0x0,
+0x7c,0xba,0x30,0xe6,0xe, 0x7c,0xb5,0x30,0xe0,0x9, 0xb, 0x48,0x20,0x4e,0x50,0x8,
+0x1b,0x48,0x20,0x7c,0xb6,0x30,0xe6,0x12,0xb, 0x48,0x0, 0x4e,0x10,0x20,0x1b,0x48,
+0x0, 0xb, 0x48,0x0, 0x4e,0x10,0x10,0x1b,0x48,0x0, 0x7e,0x24,0x12,0x4, 0xb, 0x28,
+0x0, 0x5e,0x0, 0x7f,0x1b,0x28,0x0, 0xb, 0x28,0x0, 0x4e,0x0, 0x80,0x1b,0x28,0x0,
+0x7e,0x24,0x13,0x1e,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xce,0x12,0x1e,0xc2,0x7e,0x63,
+0x6, 0xd1,0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x24,0x12,0x8, 0x1b,0x28,0x10,0x7e,0x63,
+0x6, 0xcc,0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x63,0x6, 0xcd,0x12,0x1e,0xc2,0x7e,0x24,
+0x13,0x20,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xcf,0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x63,
+0x6, 0xd0,0x12,0x1e,0xc2,0x7e,0x24,0x13,0x22,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xd2,
+0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x63,0x6, 0xd3,0x12,0x1e,0xc2,0x7e,0x4, 0x12,0xa,
+0x1b,0x8, 0x10,0xa5,0xbf,0x0, 0x8, 0xb, 0x8, 0x10,0x4e,0x20,0x1, 0x80,0x1b,0xa5,
+0xbf,0x1, 0x8, 0xb, 0x8, 0x10,0x4e,0x20,0x11,0x80,0xf, 0xb, 0x8, 0x10,0xa5,0xbf,
+0x2, 0x5, 0x4e,0x20,0x33,0x80,0x3, 0x4e,0x20,0xff,0x1b,0x8, 0x10,0x7c,0xba,0x1e,
+0xb0,0x54,0x3, 0xa, 0x3b,0xb, 0x8, 0x10,0x4d,0x13,0x1b,0x8, 0x10,0x12,0x4f,0x29,
+0xb, 0x8, 0x10,0x5e,0x30,0xfb,0x1b,0x8, 0x10,0xb, 0x8, 0x30,0x4e,0x70,0x4, 0x1b,
+0x8, 0x30,0x7e,0x73,0x6, 0xd4,0xa, 0x27,0x7e,0x34,0x13,0x10,0x1b,0x38,0x20,0x12,
+0x4f,0x92,0x7e,0xb3,0x6, 0xca,0x1e,0xb0,0x54,0x3, 0xbe,0xb0,0x1, 0x68,0x3, 0xb4,
+0x2, 0xb, 0x7e,0x27,0x6, 0xc4,0x7e,0x34,0x13,0x12,0x1b,0x38,0x20,0x74,0x2, 0x7a,
+0xb3,0x6, 0xda,0xd2,0x8e,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x7e,0xb3,0x6, 0xda,0x70,
+0xf6,0x22,0x7c,0x86,0x6c,0x99,0xb, 0x28,0x0, 0x4d,0x4, 0x1b,0x28,0x0, 0x22,0x1b,
+0x58,0x0, 0xb, 0x58,0x0, 0x22,0x3e,0x54,0x3e,0x54,0x3e,0x54,0xb, 0x48,0x0, 0x4d,
+0x5, 0x1b,0x48,0x0, 0x22,0x7e,0xb3,0x3, 0x34,0x12,0x43,0xb3,0x7e,0xb3,0x3, 0x34,
+0x12,0x3f,0xc9,0x12,0x1c,0xcb,0x7e,0xb3,0x3, 0x34,0x54,0x7f,0x7a,0xb3,0x3, 0x34,
+0x12,0x1a,0x71,0x7e,0xb3,0x3, 0x34,0x44,0x80,0x7a,0xb3,0x3, 0x34,0x22,0xca,0xf8,
+0x12,0x49,0xe0,0x7e,0x34,0x2, 0xd4,0x7a,0x37,0x6, 0xd8,0x12,0x31,0x3a,0x12,0x1e,
+0xe5,0x75,0x39,0x3, 0x75,0x37,0x40,0x12,0x49,0xe0,0xe5,0x39,0xb4,0x3, 0x40,0xe5,
+0x3f,0x60,0xf4,0x12,0x1f,0xf9,0x12,0x1f,0xea,0x12,0x1f,0x78,0x12,0x15,0x1d,0x6c,
+0xff,0x80,0xd, 0x12,0x1f,0xdd,0x74,0x2, 0xac,0xbf,0x59,0x35,0xc, 0x20,0xb, 0xf0,
+0x12,0x1a,0x6a,0x38,0xee,0x75,0x3f,0x0, 0x7e,0xb3,0xc, 0xd6,0x54,0x7f,0x7a,0xb3,
+0xc, 0xd6,0xe5,0xa, 0x20,0xe0,0xc0,0x74,0x1, 0x7a,0xb3,0x3, 0x42,0x80,0xb8,0xe5,
+0x39,0x7a,0xb3,0xb, 0x9f,0xda,0xf8,0x22,0xe5,0xa, 0x30,0xe0,0x8, 0x12,0x1e,0xe5,
+0x53,0xa, 0xfc,0x80,0xb, 0xe5,0xa, 0x30,0xe1,0x6, 0x12,0x1f,0xa8,0x53,0xa, 0xfd,
+0xe5,0xa, 0x30,0xe2,0x12,0x53,0xca,0xf1,0x7e,0x73,0x3, 0x41,0xa, 0x37,0x3e,0x34,
+0x7c,0xb7,0x42,0xca,0x53,0xa, 0xfb,0x22,0x12,0x50,0xdb,0x80,0x2a,0xa, 0x2a,0x9,
+0x32,0x6, 0x96,0x7e,0x50,0x2, 0xac,0x53,0x2d,0x23,0xb, 0x28,0x20,0x7e,0xb3,0x6,
+0x4d,0x60,0x7, 0xa, 0x13,0x12,0x51,0x36,0x60,0xb, 0xa, 0x1a,0x3e,0x14,0x2e,0x14,
+0x12,0x14,0x1b,0x18,0x20,0xb, 0xa0,0x12,0x18,0x6b,0x38,0xd1,0x22,0x74,0x4, 0xac,
+0xbf,0x49,0x35,0x3, 0x5e,0x22,0x7e,0xb3,0x6, 0xd7,0x54,0xfe,0x7a,0xb3,0x6, 0xd7,
+0x22,0xa, 0xb, 0x7d,0x50,0x7c,0xab,0xe4,0x22,0x7e,0xb3,0x6, 0xd7,0x44,0x2, 0x7a,
+0xb3,0x6, 0xd7,0x22,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0x34,0x6c,0xaa,0x80,0x28,0xa,
+0x3a,0x9, 0x73,0x6, 0x96,0x7e,0xb3,0x6, 0xd7,0x30,0xe0,0x19,0x7e,0x50,0x4, 0xac,
+0x57,0x49,0xf2,0x3, 0x5e,0x49,0xe2,0x3, 0x5c,0x7e,0x17,0x5, 0xee,0x12,0x7, 0x7d,
+0x58,0x3, 0x12,0x20,0x4a,0xb, 0xa0,0x7e,0x63,0x6, 0xc8,0xbc,0x6a,0x38,0xd0,0x22,
+0x7e,0x11,0x22,0x2e,0x10,0x41,0x74,0x1, 0xa5,0xf7,0x74,0x3c,0x7a,0xb3,0xd, 0x3c,
+0x22,0xca,0x3b,0x7e,0x38,0x75,0x30,0x75,0x28,0x0, 0x7e,0x34,0xc, 0xf8,0x7e,0x24,
+0x0, 0x18,0xe4,0x12,0x4, 0xeb,0x7e,0x34,0x0, 0x41,0x7e,0x24,0x0, 0x6, 0xe4,0x12,
+0x4, 0xeb,0x7e,0xb3,0x6, 0xd7,0x30,0xe1,0x7, 0x7e,0xb3,0x6, 0x67,0x30,0xe2,0x5,
+0x75,0x27,0x1, 0x80,0x3, 0x75,0x27,0x2, 0x75,0x22,0x1, 0x21,0x75,0x9f,0x11,0x7a,
+0x1f,0x9, 0xfd,0x75,0x23,0x0, 0x21,0x2c,0x12,0x22,0x59,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe1,0x42,0x30,0xe0,0x3f,0x7e,0x11,0x24,0x74,0x4, 0xac,0x1b,0x12,0x22,0x78,0x7e,
+0xa1,0x24,0x12,0x22,0x6c,0x7a,0x1f,0xa, 0x5, 0xbe,0x1c,0xfc,0xe0,0x58,0x5, 0x12,
+0x20,0x40,0x80,0x6f,0x7e,0x73,0x6, 0xc6,0xbe,0x71,0x24,0x28,0x17,0x7e,0xf, 0xa,
+0x5, 0x7e,0x1f,0x9, 0xfd,0xbf,0x10,0x58,0xb, 0x7e,0x1f,0xa, 0x5, 0x7a,0x1f,0x9,
+0xfd,0x85,0x24,0x25,0x7e,0x91,0x24,0x74,0x4, 0xac,0x9b,0x7e,0xa1,0x22,0x74,0x58,
+0xa4,0x2d,0x54,0x49,0x15,0x0, 0x50,0x49,0x5, 0x0, 0x4e,0x49,0x35,0x0, 0xa8,0x49,
+0x25,0x0, 0xa6,0x9f,0x10,0x12,0x4, 0xdb,0x7a,0x1f,0xa, 0x1, 0x7e,0xa1,0x22,0x74,
+0x4, 0xa4,0x49,0x15,0xc, 0xfa,0x49,0x5, 0xc, 0xf8,0xbf,0x10,0x8, 0xc, 0x7e,0x1f,
+0xa, 0x1, 0x59,0x35,0xc, 0xfa,0x59,0x25,0xc, 0xf8,0x5, 0x23,0x12,0x22,0x64,0x28,
+0x2, 0x1, 0x98,0x7e,0x7f,0x9, 0xfd,0xbe,0x78,0x2, 0x58,0x8, 0x36,0x7e,0x73,0x6,
+0xc6,0xbe,0x71,0x25,0x28,0x2d,0xe5,0x25,0xa, 0x3b,0x2e,0x34,0x0, 0xb, 0x7e,0x24,
+0x0, 0x16,0x12,0x3, 0xba,0x7c,0xa5,0x7a,0xa1,0x26,0x7e,0x10,0x4, 0xac,0x1a,0x12,
+0x22,0x78,0x12,0x22,0x6c,0x7e,0x14,0x0, 0x5, 0x12,0x3, 0xfd,0xbf,0x71,0x8, 0x3,
+0x12,0x20,0x40,0x5, 0x22,0x7e,0x31,0x27,0x74,0x3, 0xac,0x3b,0xe5,0x22,0xa, 0xb,
+0xbd,0x1, 0x58,0x2, 0x1, 0x8d,0x75,0x22,0x1, 0x80,0x23,0x7e,0x11,0x22,0x2e,0x10,
+0x41,0xa5,0xe7,0x70,0x17,0x7e,0xa1,0x22,0x74,0x4, 0xa4,0x49,0x35,0xc, 0xfa,0x49,
+0x25,0xc, 0xf8,0xbf,0x13,0x58,0x5, 0x7f,0x31,0x85,0x22,0x28,0x5, 0x22,0xe5,0x22,
+0xa, 0xb, 0xbd,0x1, 0x48,0xd5,0x7e,0x51,0x28,0x74,0x58,0xac,0x5b,0x2e,0x24,0x0,
+0xa6,0x7e,0x34,0x3, 0x5c,0x7e,0x14,0x0, 0x58,0x12,0x4, 0xae,0x7e,0xb3,0x6, 0xd7,
+0x30,0xe1,0x4c,0x75,0x23,0x0, 0x80,0x42,0x12,0x22,0x59,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe0,0x36,0x7e,0x11,0x24,0x74,0x2, 0xac,0x1b,0x49,0xf0,0x5, 0x90,0x7d,0x3f,0x1a,
+0x36,0x1a,0xe6,0x7e,0x31,0x24,0x74,0x4, 0xac,0x3b,0x12,0x23,0x35,0x7f,0x21,0x9f,
+0x27,0x59,0x51,0x4, 0x16,0x59,0x41,0x4, 0x14,0x49,0x50,0x5, 0x34,0x6d,0x44,0x2e,
+0x14,0x3, 0x5c,0x9f,0x12,0x12,0x17,0xe7,0x5, 0x23,0x12,0x22,0x64,0x38,0xb9,0x12,
+0x17,0xe0,0x30,0xe1,0x31,0x75,0x23,0x0, 0x80,0x23,0x12,0x22,0x59,0x7c,0xba,0x30,
+0xe0,0x19,0x7e,0x71,0x24,0x74,0x4, 0xac,0x7b,0x12,0x22,0x8f,0x7e,0x37,0x5, 0xee,
+0x1a,0x26,0x1a,0x24,0xbf,0x10,0x8, 0x3, 0x12,0x20,0x4a,0x5, 0x23,0x7e,0xb3,0x6,
+0xc8,0xbe,0xb1,0x23,0x38,0xd4,0xda,0x3b,0x22,0xe5,0x23,0xa, 0x3b,0x9, 0xb3,0x6,
+0x96,0xf5,0x24,0x22,0x7e,0x73,0x6, 0xc8,0xbe,0x71,0x23,0x22,0x74,0x2, 0xa4,0x49,
+0x15,0x5, 0x34,0x6d,0x0, 0x9f,0x10,0x22,0x7e,0x31,0x22,0x74,0x58,0xac,0x3b,0x2d,
+0x10,0x49,0x31,0x0, 0xa8,0x49,0x21,0x0, 0xa6,0x22,0x7e,0x70,0x4, 0xac,0x7a,0x49,
+0x13,0x3, 0x5e,0x49,0x3, 0x3, 0x5c,0x22,0x7c,0xab,0x6c,0x22,0x6c,0x11,0x7c,0x1,
+0x2e,0x0, 0x47,0xa5,0xe6,0xbc,0xb3,0x78,0x5, 0x7e,0x20,0x1, 0x80,0x7, 0xb, 0x10,
+0xbe,0x10,0x1, 0x40,0xe9,0x12,0x23,0x28,0x38,0x11,0xa, 0x4b,0x7e,0x4, 0x0, 0x3,
+0x9d,0x4, 0x7c,0xb1,0x60,0x5, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe0,0x24,0x7e,0x10,0x2, 0xac,0x13,0x49,0xf0,0x5, 0x34,0x7d,0xf, 0x1a,0x0, 0x1a,
+0xe0,0x7f,0x61,0x9f,0x67,0x7e,0xf7,0x5, 0xee,0x7d,0xf, 0x1a,0x0, 0x1a,0xe0,0xbf,
+0x76,0x8, 0x3, 0x12,0x20,0x4a,0x4c,0xaa,0x78,0x6, 0x74,0x4, 0xac,0xb3,0x80,0x10,
+0x4c,0x22,0x68,0x7, 0x12,0x23,0x19,0x8, 0xf, 0x80,0x5, 0x12,0x23,0x19,0x58,0x8,
+0x59,0x35,0x3, 0x5e,0x59,0x25,0x3, 0x5c,0x22,0x74,0x4, 0xac,0xb3,0x49,0xf5,0x3,
+0x5e,0x49,0xe5,0x3, 0x5c,0xbf,0x17,0x22,0x7e,0xb3,0x6, 0xd6,0xbe,0xb0,0x2, 0x22,
+0x7e,0x30,0x4, 0xac,0x3a,0x49,0x31,0x3, 0x5e,0x49,0x21,0x3, 0x5c,0x22,0x6c,0xaa,
+0xa, 0x3a,0x12,0x2c,0xf6,0x7c,0x3b,0xbe,0x30,0x16,0x50,0x9, 0x74,0x4, 0xac,0x3b,
+0x12,0x23,0x35,0x80,0x2, 0x9f,0x11,0x7e,0x30,0x4, 0xac,0x3a,0x59,0x31,0x9, 0x6f,
+0x59,0x21,0x9, 0x6d,0xb, 0xa0,0xbe,0xa0,0x24,0x40,0xd5,0x7e,0x1f,0x9, 0x85,0x7a,
+0x1d,0x2a,0x75,0x2f,0x0, 0x7e,0x34,0x9, 0x85,0x7a,0x35,0x30,0x7e,0x34,0x9, 0x9d,
+0x7a,0x35,0x32,0x7e,0x1f,0x9, 0x89,0x7e,0xf, 0x9, 0xa1,0xe4,0x12,0x24,0x39,0x7e,
+0x1f,0x9, 0x99,0x7a,0x1d,0x2a,0x75,0x2f,0x1, 0x7e,0x34,0x9, 0x99,0x7a,0x35,0x30,
+0x7e,0x34,0x9, 0xb1,0x7a,0x35,0x32,0x7e,0x1f,0x9, 0x95,0x7e,0xf, 0x9, 0xad,0xe4,
+0x12,0x24,0x39,0x7e,0x1f,0x9, 0xb5,0x7a,0x1d,0x2a,0x75,0x2f,0x0, 0x7e,0x34,0x9,
+0xb5,0x7a,0x35,0x30,0x7e,0x34,0x9, 0xcd,0x7a,0x35,0x32,0x7e,0x1f,0x9, 0xb9,0x7e,
+0xf, 0x9, 0xd1,0x74,0x1, 0x12,0x24,0x39,0x7e,0x1f,0x9, 0xc9,0x7a,0x1d,0x2a,0x75,
+0x2f,0x1, 0x7e,0x34,0x9, 0xc9,0x7a,0x35,0x30,0x7e,0x34,0x9, 0xe1,0x7a,0x35,0x32,
+0x7e,0x1f,0x9, 0xc5,0x7e,0xf, 0x9, 0xdd,0x74,0x1, 0x12,0x24,0x39,0xe4,0x12,0x24,
+0xb5,0x74,0x1, 0x12,0x24,0xb5,0x7e,0x34,0x9, 0x89,0x12,0x27,0xa2,0x7e,0x34,0x9,
+0xd1,0x12,0x27,0xa2,0x7e,0x34,0x9, 0x95,0x12,0x24,0x22,0x7e,0x34,0x9, 0xdd,0x2,
+0x24,0x22,0x12,0x27,0xd1,0xe5,0x14,0xa, 0x1b,0x6d,0x0, 0x12,0x27,0xb7,0x2, 0x24,
+0x31,0x59,0x3f,0x0, 0x2, 0x1b,0xf8,0x20,0x22,0xca,0x3b,0xf5,0x2e,0x7a,0xd, 0x26,
+0x7a,0x1d,0x22,0x7e,0x7d,0x2a,0xbe,0x78,0x0, 0x32,0x8, 0x56,0xe5,0x2f,0x70,0x4,
+0xe5,0x15,0x80,0x2, 0xe5,0x10,0x12,0x27,0xb1,0x7a,0x1d,0x2a,0x7e,0x1d,0x26,0x12,
+0x26,0x4, 0x7f,0x31,0x7e,0x1d,0x22,0x12,0x26,0x4, 0x2f,0x31,0x78,0x1a,0xe5,0x2e,
+0x60,0xb, 0x12,0x5b,0x23,0x12,0x24,0xa5,0x12,0x27,0x90,0x80,0x1a,0x12,0x27,0x90,
+0x12,0x24,0xa5,0x12,0x5b,0x23,0x80,0xf, 0x7e,0x1d,0x22,0x12,0x27,0x84,0x12,0x24,
+0xa5,0x7e,0x1d,0x26,0x12,0x27,0x84,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x32,0x12,
+0x24,0xad,0xda,0x3b,0x22,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x30,0x59,0x13,0x0,
+0x2, 0x1b,0x38,0x0, 0x22,0xca,0x3b,0x70,0x48,0x7e,0x1f,0x9, 0x89,0x7a,0x1f,0x9,
+0xfd,0x7e,0x1f,0x9, 0x8d,0x7a,0x1f,0xa, 0x1, 0x7e,0x1f,0x9, 0x91,0x7a,0x1f,0xa,
+0x5, 0x7e,0x1f,0x9, 0x95,0x7a,0x1f,0xa, 0x9, 0x7e,0x34,0x9, 0x71,0x7a,0x35,0x22,
+0x7e,0x34,0x9, 0x75,0x7a,0x35,0x24,0x7e,0x34,0x9, 0x79,0x7a,0x35,0x26,0x7e,0x34,
+0x9, 0x7d,0x7a,0x35,0x28,0xe5,0x8, 0xa, 0x1b,0x6d,0x0, 0x7e,0x1f,0x9, 0x71,0x80,
+0x46,0x7e,0x1f,0x9, 0xd1,0x7a,0x1f,0x9, 0xfd,0x7e,0x1f,0x9, 0xd5,0x7a,0x1f,0xa,
+0x1, 0x7e,0x1f,0x9, 0xd9,0x7a,0x1f,0xa, 0x5, 0x7e,0x1f,0x9, 0xdd,0x7a,0x1f,0xa,
+0x9, 0x7e,0x34,0x9, 0xe9,0x7a,0x35,0x22,0x7e,0x34,0x9, 0xed,0x7a,0x35,0x24,0x7e,
+0x34,0x9, 0xf1,0x7a,0x35,0x26,0x7e,0x34,0x9, 0xf5,0x7a,0x35,0x28,0xe5,0xf, 0xa,
+0x1b,0x6d,0x0, 0x7e,0x1f,0x9, 0xe9,0x12,0x27,0xb7,0x7f,0x31,0xbe,0x38,0x0, 0x32,
+0x18,0x2, 0xc1,0x1, 0x7e,0x1f,0x9, 0xfd,0x12,0x26,0x4, 0x7a,0x1f,0x9, 0xfd,0x7e,
+0x1f,0xa, 0x1, 0x12,0x26,0x4, 0x7a,0x1f,0xa, 0x1, 0x7e,0x1f,0xa, 0x5, 0x12,0x26,
+0x4, 0x12,0x27,0xf3,0x12,0x26,0x4, 0x7a,0x1f,0xa, 0x9, 0x7e,0x1f,0xa, 0x1, 0x7e,
+0x6f,0x9, 0xfd,0x2f,0x16,0x7e,0x7f,0xa, 0x5, 0x2f,0x71,0x78,0x16,0x7e,0x8, 0x0,
+0x8, 0x7f,0x13,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x22,0x12,0x24,0xad,0x12,0x5b,
+0x4f,0x80,0x10,0x12,0x5b,0x14,0x7e,0x35,0x22,0x12,0x24,0xad,0x7e,0xf, 0xa, 0x1,
+0x12,0x27,0xc9,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x24,0x12,0x24,0xad,0x7e,0x6f,
+0xa, 0x5, 0x7e,0x1f,0xa, 0x1, 0x2f,0x16,0x7e,0x7f,0xa, 0x9, 0x2f,0x71,0x78,0x16,
+0x12,0x5b,0x4f,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x26,0x12,0x24,0xad,0x7e,0x8,
+0x0, 0x8, 0x7f,0x13,0x80,0x10,0x12,0x5b,0x14,0x7e,0x35,0x26,0x12,0x24,0xad,0x7e,
+0xf, 0xa, 0x9, 0x12,0x27,0xc9,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x28,0x12,0x24,
+0xad,0xda,0x3b,0x22,0xbe,0x18,0x0, 0x32,0x8, 0x1, 0x22,0x9f,0x11,0x22,0xca,0x79,
+0x7c,0xe7,0x7c,0xfb,0x74,0x4, 0xac,0xbf,0x12,0x27,0xea,0x12,0x27,0x98,0x68,0xf,
+0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x57,0x49,0x25,0x9, 0x55,0x12,0x26,0x86,0xbe,
+0xe0,0x5, 0x68,0xf, 0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x87,0x49,0x25,0x9, 0x85,
+0x12,0x26,0x86,0x7e,0x1f,0xa, 0x15,0xda,0x79,0x22,0xca,0x79,0x7c,0xe7,0x7c,0xfb,
+0x74,0x4, 0xac,0xbf,0x12,0x27,0xea,0x12,0x27,0x98,0x68,0xf, 0x74,0x4, 0xac,0xbf,
+0x49,0x35,0x9, 0x6b,0x49,0x25,0x9, 0x69,0x12,0x26,0x86,0xbe,0xe0,0x5, 0x68,0xf,
+0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x73,0x49,0x25,0x9, 0x71,0x12,0x26,0x86,0x7e,
+0x1f,0xa, 0x15,0xda,0x79,0x22,0x12,0x26,0x4, 0x7f,0x1, 0x7e,0x1f,0xa, 0x15,0x2f,
+0x10,0x7a,0x1f,0xa, 0x15,0x22,0xca,0x3b,0x9f,0x11,0x7a,0x1f,0x0, 0xa2,0x6c,0xff,
+0xe1,0x7a,0x7c,0x1f,0x2e,0x10,0x16,0xa5,0xe7,0x7c,0xeb,0xa, 0x1e,0x7e,0x24,0x0,
+0x6, 0x8d,0x12,0x7c,0xd3,0xa, 0x3e,0x8d,0x32,0x7c,0xc5,0x12,0x27,0xdb,0x7c,0x7d,
+0x12,0x26,0xe, 0x7a,0x1f,0xa, 0xd, 0x4c,0xcc,0x68,0xc, 0x7c,0xbe,0x14,0x7c,0x7d,
+0x12,0x26,0xe, 0x7a,0x1f,0xa, 0x5, 0xbe,0xc0,0x5, 0x68,0xc, 0x7c,0xbe,0x4, 0x7c,
+0x7d,0x12,0x26,0xe, 0x7a,0x1f,0xa, 0x9, 0xa, 0x1c,0x12,0x5a,0xe4,0xa, 0x1c,0x12,
+0x5b,0x41,0xa, 0x1c,0x12,0x5a,0x58,0x7e,0x1f,0x0, 0xa2,0xbf,0x10,0x50,0x8, 0x7e,
+0x1f,0xa, 0x1, 0x7a,0x1f,0x0, 0xa2,0x7e,0x1f,0x9, 0xfd,0x74,0x6, 0x2f,0x11,0x14,
+0x78,0xfb,0x7e,0xf, 0xa, 0x1, 0x12,0x27,0xc1,0x7a,0x37,0xa, 0x11,0x12,0x27,0xdb,
+0x7c,0xbe,0x7c,0x7c,0x12,0x26,0x4a,0x7a,0x1f,0xa, 0xd, 0x4c,0xdd,0x68,0xd, 0x7c,
+0xbe,0x24,0xfa,0x7c,0x7c,0x12,0x26,0x4a,0x7a,0x1f,0xa, 0x5, 0xbe,0xd0,0x5, 0x68,
+0xd, 0x7c,0xbe,0x24,0x6, 0x7c,0x7c,0x12,0x26,0x4a,0x7a,0x1f,0xa, 0x9, 0xa, 0x1d,
+0x12,0x5a,0xe4,0xa, 0x1d,0x12,0x5b,0x41,0xa, 0x1d,0x12,0x5a,0x58,0x74,0x6, 0x2f,
+0x11,0x14,0x78,0xfb,0x12,0x27,0xc1,0x7a,0x37,0xa, 0x13,0x7e,0x27,0xa, 0x11,0x74,
+0x5, 0xac,0xbf,0x59,0x25,0x0, 0x7a,0x12,0x3c,0x55,0x12,0x38,0x94,0x50,0x2, 0xc1,
+0xa2,0xda,0x3b,0x22,0x12,0x26,0x4, 0x7e,0xd, 0x2a,0x12,0x3, 0xec,0x7f,0x3, 0x22,
+0x7e,0x8, 0x0, 0x4, 0x7e,0x1d,0x2a,0x22,0x12,0x26,0x4, 0x7a,0x1f,0xa, 0x15,0x4c,
+0xee,0x22,0x12,0x27,0xd1,0xe5,0x1b,0xa, 0x1b,0x6d,0x0, 0x12,0x27,0xb7,0x2, 0x24,
+0x31,0xa, 0x1b,0x6d,0x0, 0x7f,0x17,0x12,0x3, 0xec,0x7e,0x8, 0x0, 0x64,0x2, 0x4,
+0x59,0x12,0x4, 0x8, 0x2e,0x18,0x0, 0x20,0x22,0x7f,0x13,0x12,0x3, 0xec,0x7f,0x7,
+0x22,0x7d,0xf3,0x49,0x3f,0x0, 0x2, 0xb, 0xf8,0x20,0x22,0x9f,0x11,0x7a,0x1f,0xa,
+0x5, 0x7a,0x1f,0xa, 0x9, 0x22,0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x6f,0x49,0x25,
+0x9, 0x6d,0x22,0x7a,0x1f,0xa, 0x5, 0x7e,0x1f,0xa, 0x9, 0x22,0x9f,0x11,0x7a,0x1f,
+0x5, 0x28,0x7a,0x1f,0x5, 0x2c,0x6c,0xaa,0x12,0x23,0x30,0x7e,0x7f,0x5, 0x28,0xbf,
+0x71,0x58,0x4, 0x7a,0x1f,0x5, 0x28,0xb, 0xa0,0xbe,0xa0,0x16,0x40,0xea,0x7e,0x1f,
+0x5, 0x28,0x7a,0x1f,0x5, 0x2c,0x22,0x12,0x2f,0x75,0xa5,0xbe,0x1, 0x14,0x7e,0xa3,
+0xd, 0x12,0xbe,0xa0,0xfa,0x50,0x2c,0x7e,0xb3,0xd, 0x10,0x70,0x26,0x7c,0xba,0x4,
+0x80,0x1d,0xbe,0x60,0x2, 0x40,0x3, 0xe4,0x80,0x15,0x7e,0x53,0xd, 0x12,0xbe,0x50,
+0x4, 0x50,0xb, 0xbe,0x50,0x0, 0x28,0x6, 0x74,0x3, 0x7a,0xb3,0xd, 0x10,0xe4,0x7a,
+0xb3,0xd, 0x12,0x7e,0xa3,0xd, 0x10,0x4c,0xaa,0x68,0x20,0x4c,0x66,0x68,0x8, 0x7c,
+0xb7,0x12,0x28,0x90,0xe4,0x80,0x10,0x7c,0xb7,0xc4,0x54,0xf, 0xb4,0x1, 0x5, 0x7c,
+0xb7,0x12,0x2d,0x34,0x7c,0xba,0x14,0x7a,0xb3,0xd, 0x10,0x22,0x7e,0xb3,0x0, 0x90,
+0x54,0xf0,0x7a,0xb3,0x0, 0x90,0x22,0xca,0x3b,0x12,0x2f,0x3c,0x78,0x4, 0x6c,0xff,
+0x80,0x3, 0x7e,0xf0,0x2, 0x12,0x2d,0x19,0x78,0x1d,0x7c,0xba,0x54,0xf, 0xbe,0xb0,
+0x2, 0x40,0x14,0x5, 0x4d,0xe5,0x4d,0xbc,0xbf,0x38,0x5, 0x7c,0xba,0x12,0x28,0x90,
+0xe4,0x7a,0xb3,0xb, 0x37,0x80,0x3, 0x75,0x4d,0x0, 0x12,0x2d,0x19,0x78,0x8, 0x5e,
+0xa0,0xf, 0xbe,0xa0,0x1, 0x28,0x11,0xe4,0x7a,0xb3,0xb, 0x37,0x6d,0x33,0x7a,0x37,
+0xb, 0x4f,0x7a,0x37,0xb, 0x51,0x41,0x9d,0x7e,0xb3,0xb, 0xb3,0xbe,0xb0,0x1, 0x78,
+0x2, 0x41,0x9d,0x4c,0xaa,0x78,0x2, 0x41,0x6b,0x7e,0xe3,0xb, 0x37,0xbe,0xe0,0x2,
+0x28,0x2, 0x41,0x43,0x7c,0xbe,0x4, 0x7a,0xb3,0xb, 0x37,0x7e,0xa3,0xb, 0x37,0xbe,
+0xa0,0x1, 0x78,0x33,0x7e,0x37,0x0, 0x7a,0x7a,0x37,0xb, 0x41,0x7e,0x37,0x0, 0x7c,
+0x7a,0x37,0xb, 0x43,0x7e,0x1f,0xb, 0x41,0x7a,0x1f,0xb, 0x45,0x7e,0x1f,0xb, 0x41,
+0x7a,0x1f,0xb, 0x49,0x6d,0x33,0x7a,0x37,0xb, 0x4d,0x7a,0x37,0xb, 0x4f,0x7a,0x37,
+0xb, 0x51,0x12,0x28,0x8c,0x41,0x96,0xbe,0xa0,0x2, 0x40,0x18,0x7e,0x37,0x0, 0x7a,
+0x2e,0x37,0xb, 0x4f,0x7a,0x37,0xb, 0x4f,0x7e,0x37,0x0, 0x7c,0x2e,0x37,0xb, 0x51,
+0x7a,0x37,0xb, 0x51,0x7e,0x37,0xb, 0x41,0x12,0x2d,0xa, 0x7d,0x63,0x7e,0x37,0xb,
+0x43,0x12,0x2d,0x3, 0x7a,0x35,0x22,0x7e,0x37,0xb, 0x45,0x12,0x2d,0xa, 0x7a,0x35,
+0x24,0x7e,0x37,0xb, 0x47,0x12,0x2d,0x3, 0x7d,0x23,0x7e,0x35,0x22,0x2d,0x36,0xbe,
+0x34,0x0, 0xf, 0x50,0x18,0xbe,0x64,0x0, 0x7, 0x50,0x12,0x2e,0x25,0x24,0xbe,0x24,
+0x0, 0x1e,0x50,0x9, 0x7e,0x25,0x24,0xbe,0x24,0x0, 0xf, 0x40,0x53,0x7e,0x53,0xb,
+0x37,0xbc,0x5f,0x28,0x4b,0xe4,0x7a,0xb3,0xb, 0x37,0xbe,0x34,0x0, 0x8, 0x38,0x2,
+0x41,0x96,0x7e,0x37,0xb, 0x45,0xbe,0x34,0x0, 0x28,0x40,0x6, 0xbe,0x34,0x1, 0x66,
+0x28,0x24,0x7e,0x27,0xb, 0x47,0xbe,0x24,0x0, 0x28,0x28,0x1a,0xbe,0x24,0x1, 0x66,
+0x50,0x14,0x7a,0x37,0x0, 0x7a,0x7e,0x27,0x0, 0x7c,0x2e,0x27,0xb, 0x47,0x1e,0x24,
+0x7a,0x27,0x0, 0x7c,0x41,0x96,0x7a,0x37,0x0, 0x7a,0x7e,0x37,0xb, 0x47,0x80,0x65,
+0x7e,0x27,0x0, 0x7a,0x7a,0x27,0xb, 0x41,0x7e,0x37,0x0, 0x7c,0x7a,0x37,0xb, 0x43,
+0x7e,0xa3,0x0, 0x76,0x74,0x4, 0xa4,0x49,0x15,0x3, 0x5e,0x49,0x5, 0x3, 0x5c,0x7e,
+0xf7,0xb, 0x4d,0x6d,0xee,0xbf,0x70,0x58,0xc, 0x7a,0x17,0xb, 0x4d,0x7a,0x27,0xb,
+0x49,0x7a,0x37,0xb, 0x4b,0x7e,0x73,0x0, 0x90,0x7c,0xb7,0xc4,0x7c,0x6b,0x12,0x2d,
+0x23,0x80,0x53,0xa, 0x2e,0xb, 0x24,0x1b,0x25,0x7e,0x17,0xb, 0x4f,0x8d,0x12,0x7a,
+0x17,0xb, 0x41,0x7e,0x37,0xb, 0x51,0x8d,0x32,0x7a,0x37,0xb, 0x43,0x7e,0x27,0xb,
+0x41,0x7a,0x27,0x0, 0x7a,0x7a,0x37,0x0, 0x7c,0x80,0x2b,0x7e,0x73,0xb, 0x37,0xbc,
+0x7f,0x28,0x1b,0x7e,0x37,0xb, 0x49,0x7a,0x37,0x0, 0x7a,0x7e,0x37,0xb, 0x4b,0x7a,
+0x37,0x0, 0x7c,0x12,0x2d,0x30,0x74,0x1, 0x7a,0xb3,0xb, 0x38,0x80,0x3, 0x12,0x28,
+0x8c,0xe4,0x7a,0xb3,0xb, 0x37,0x12,0xe, 0xaf,0x78,0x2, 0xf5,0x9, 0xda,0x3b,0x22,
+0xca,0x3b,0x6c,0xee,0x9f,0x44,0x7f,0x74,0x7a,0x4f,0x9, 0xfe,0x7a,0x4f,0xa, 0x2,
+0x7a,0x4f,0xa, 0x6, 0x7a,0x4f,0xa, 0xa, 0x7a,0x4f,0xa, 0xe, 0x7f,0x64,0x7f,0x54,
+0x6c,0xdd,0x12,0x27,0xe6,0xbf,0x71,0x58,0x4, 0x7f,0x71,0x7c,0xfd,0xb, 0xd0,0xbe,
+0xd0,0x24,0x78,0xee,0x7e,0x37,0x3, 0x49,0x6d,0x22,0xbf,0x71,0x58,0xb, 0x12,0x28,
+0x8c,0x7e,0xb3,0x0, 0x91,0x54,0xf0,0x80,0x17,0xe5,0xe, 0xb4,0x1, 0x18,0x12,0x2c,
+0xf1,0x7a,0xb3,0x0, 0x76,0x12,0x2d,0x30,0x7e,0xb3,0x0, 0x91,0x54,0xf0,0x44,0x1,
+0x7a,0xb3,0x0, 0x91,0x81,0xe5,0x6c,0xdd,0xa, 0x5d,0x7e,0x24,0x0, 0x6, 0x8d,0x52,
+0x7a,0xb3,0x9, 0xfd,0xa, 0x3d,0x8d,0x32,0x7c,0xc5,0x70,0x4, 0x9f,0x11,0x80,0xc,
+0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x57,0x49,0x25,0x9, 0x55,0x7a,0x1f,0x9, 0xfe,
+0x7e,0xb3,0x9, 0xfd,0xb4,0x5, 0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,
+0x35,0x9, 0x87,0x49,0x25,0x9, 0x85,0x7a,0x1f,0xa, 0x2, 0x4c,0xcc,0x78,0x4, 0x9f,
+0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x6b,0x49,0x25,0x9, 0x69,0x7a,
+0x1f,0xa, 0x6, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,
+0x49,0x35,0x9, 0x73,0x49,0x25,0x9, 0x71,0x7a,0x1f,0xa, 0xa, 0x7e,0xb3,0x9, 0xfd,
+0x60,0x4, 0x4c,0xcc,0x78,0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,
+0x9, 0x53,0x49,0x25,0x9, 0x51,0x7a,0x1f,0xa, 0xe, 0x12,0x2d,0x11,0x68,0x4, 0x4c,
+0xcc,0x78,0x4, 0x9f,0x66,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0xd5,0x9, 0x83,0x49,
+0xc5,0x9, 0x81,0x7e,0xb3,0x9, 0xfd,0x60,0x5, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x55,
+0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0xb5,0x9, 0x5b,0x49,0xa5,0x9, 0x59,0x12,0x2d,
+0x11,0x68,0x5, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x44,0x80,0xc, 0x74,0x4, 0xac,0xbd,
+0x49,0x95,0x9, 0x8b,0x49,0x85,0x9, 0x89,0x12,0x2c,0xe8,0x49,0x5, 0x9, 0x6d,0x7e,
+0x37,0x3, 0x49,0x6d,0x22,0xbf,0x1, 0x58,0x2, 0x81,0xc3,0xe5,0xc, 0x12,0x27,0xb1,
+0x7f,0x1, 0x12,0x27,0xe6,0xbf,0x10,0x18,0x2, 0x81,0xc3,0x12,0x2c,0xe8,0x49,0x5,
+0x9, 0x6d,0x7e,0x1f,0x9, 0xfe,0xbf,0x1, 0x58,0x2, 0x81,0xc3,0x12,0x2c,0xe8,0x49,
+0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0x2, 0xbf,0x1, 0x58,0x2, 0x81,0xc3,0x12,0x2c,0xe8,
+0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0x6, 0xbf,0x1, 0x58,0x2, 0x81,0xc3,0x12,0x2c,
+0xe8,0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0xa, 0xbf,0x1, 0x48,0x76,0x12,0x2c,0xe8,
+0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0xe, 0xbf,0x1, 0x48,0x67,0x12,0x27,0xe6,0xbf,
+0x16,0x48,0x60,0x12,0x27,0xe6,0xbf,0x15,0x48,0x59,0x12,0x27,0xe6,0xbf,0x14,0x48,
+0x52,0x7c,0x1e,0x2e,0x10,0x16,0x7c,0xbd,0xa5,0xf7,0xa, 0x3d,0x12,0x2c,0xf6,0xa,
+0x3e,0x19,0xb3,0x0, 0x76,0xb, 0xe0,0x7e,0x30,0x4, 0xac,0x3d,0x2e,0x14,0x9, 0x6d,
+0x12,0x2d,0xbb,0xb, 0x1c,0x12,0x17,0xe7,0xbe,0xe1,0xe, 0x40,0x26,0x7e,0xe1,0xe,
+0xbe,0xe0,0x2, 0x78,0x27,0x7e,0x73,0x0, 0x76,0xbe,0x70,0xf, 0x38,0x9, 0x7e,0x73,
+0x0, 0x77,0xbe,0x70,0xf, 0x28,0x15,0x7e,0xe0,0x1, 0x12,0x2c,0xf1,0x7a,0xb3,0x0,
+0x76,0x80,0x9, 0xb, 0xd0,0xbe,0xd0,0x24,0x50,0x2, 0x61,0x8, 0x7c,0x6e,0x5e,0x60,
+0xf, 0x7e,0x73,0x0, 0x90,0x12,0x2d,0x26,0x7e,0x73,0x0, 0x91,0x5e,0x70,0xf0,0x4c,
+0x76,0x7a,0x73,0x0, 0x91,0xda,0x3b,0x22,0x74,0x4, 0xac,0xbd,0x49,0x15,0x9, 0x6f,
+0x22,0x7a,0xf1,0x16,0xa, 0x3f,0x2e,0x34,0x0, 0x46,0x7a,0x71,0x82,0x7a,0x61,0x83,
+0xe4,0x93,0x22,0x9e,0x37,0x0, 0x7c,0x2, 0x0, 0x2e,0x9e,0x37,0x0, 0x7a,0x2, 0x0,
+0x2e,0x7e,0xb3,0x9, 0xfd,0xbe,0xb0,0x5, 0x22,0x7e,0xa3,0x0, 0x90,0x7c,0xba,0xc4,
+0x54,0xf, 0x22,0x5e,0x60,0xf, 0x5e,0x70,0xf0,0x4c,0x76,0x7a,0x73,0x0, 0x90,0x22,
+0x7e,0xb3,0x0, 0x90,0x54,0xf0,0x44,0x1, 0x7a,0xb3,0x0, 0x90,0x22,0xca,0x79,0x9f,
+0x11,0x7a,0x1f,0x9, 0xfd,0x7e,0xa3,0x0, 0x90,0x7c,0xba,0x54,0xf, 0xb4,0x1, 0x64,
+0x7e,0x1f,0x0, 0xa2,0x7a,0x1f,0x9, 0xfd,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x6, 0x7e,
+0x1f,0x9, 0xfd,0x80,0x34,0x7e,0x37,0xb, 0x3b,0x12,0x2d,0x3, 0x7d,0x73,0x7e,0x37,
+0xb, 0x39,0x12,0x2d,0xa, 0x2d,0x37,0xbe,0x34,0x0, 0xf, 0x58,0x20,0x7e,0x1f,0xb,
+0x3d,0x7f,0x1, 0x1e,0x14,0x1e,0x4, 0x50,0x3, 0x4e,0x20,0x80,0x7e,0x1f,0x9, 0xfd,
+0xbf,0x10,0x50,0x5, 0x12,0x28,0x8c,0x80,0x4, 0x7a,0x1f,0xb, 0x3d,0x7e,0x37,0x0,
+0x7a,0x7a,0x37,0xb, 0x39,0x7e,0x37,0x0, 0x7c,0x7a,0x37,0xb, 0x3b,0x12,0xe, 0xaf,
+0x78,0x2, 0xf5,0x9, 0xda,0x79,0x22,0x7d,0x16,0x2d,0x17,0x49,0x31,0x0, 0x2, 0xb,
+0x18,0x20,0x22,0xca,0x3b,0x7c,0xab,0x7d,0x73,0x4d,0x77,0x78,0x2, 0xc1,0xda,0x4d,
+0x22,0x78,0x2, 0xc1,0xda,0xe4,0x7a,0xb3,0x6, 0x4d,0x6c,0x99,0xc1,0x5e,0x7e,0x70,
+0x4, 0xac,0x79,0x2d,0x37,0x49,0xf3,0x0, 0x2, 0xb, 0x38,0xe0,0xbe,0x7c,0xfc,0x18,
+0x58,0x5, 0xbe,0x90,0x16,0x40,0x15,0xbe,0x7c,0xf8,0x30,0x58,0x58,0xbe,0x90,0x16,
+0x40,0x53,0x7e,0xf, 0x5, 0x28,0xbe,0x8, 0x7, 0xd0,0x58,0x49,0xa, 0x39,0x7d,0x13,
+0x2e,0x14,0xa, 0xd1,0x7e,0x19,0xb0,0x4, 0x7a,0x19,0xb0,0x9, 0xb3,0xa, 0xd1,0xbe,
+0xb0,0xc, 0x28,0x38,0x7e,0x70,0x2, 0xac,0x79,0x2d,0x32,0xb, 0x38,0x10,0x1a,0x2,
+0x1a,0x0, 0x2f,0x7, 0xbe,0x8, 0x38,0x40,0x58,0x22,0x74,0x1, 0x7a,0xb3,0x6, 0x4d,
+0x6c,0x88,0x80,0xa, 0x74,0x1, 0xa, 0x38,0x19,0xb3,0xa, 0xe7,0xb, 0x80,0xbe,0x80,
+0x0, 0x40,0xf1,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0xd1,0xb, 0x90,0xbc,0xa9,
+0x28,0x2, 0xa1,0xde,0x6c,0x99,0x80,0x6a,0x7e,0xd0,0x4, 0xac,0xd9,0x12,0x2d,0xb7,
+0xbe,0x1c,0xfc,0xe0,0x58,0x21,0xa, 0x39,0x7d,0x23,0x2e,0x24,0xa, 0x8d,0x12,0x2e,
+0xdd,0x9, 0x83,0xa, 0x8d,0xbe,0x80,0xf, 0x28,0x14,0x12,0x41,0x40,0x60,0xf, 0x74,
+0x3, 0x7a,0xb3,0x6, 0x4d,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0x8d,0x12,0x2d,
+0xb7,0xbe,0x1c,0xfc,0xe0,0x58,0x22,0x7e,0xb3,0x6, 0x4d,0x70,0x1c,0xa, 0x39,0x7d,
+0x23,0x2e,0x24,0xa, 0xbb,0x12,0x2e,0xdd,0x9, 0x83,0xa, 0xbb,0xbe,0x80,0x12,0x28,
+0xf, 0x74,0x2, 0x7a,0xb3,0x6, 0x4d,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0xbb,
+0xb, 0x90,0x7e,0x83,0x6, 0xc6,0xbc,0x89,0x38,0x8e,0xda,0x3b,0x22,0x7e,0x29,0xb0,
+0x4, 0x7a,0x29,0xb0,0x22,0x6c,0xaa,0x7e,0x90,0x5, 0xac,0x9a,0x9, 0xb4,0x2, 0xba,
+0xbe,0xb0,0xff,0x68,0xa, 0x49,0x34,0x2, 0xb8,0xbe,0x34,0x1, 0x8d,0x50,0x33,0xb,
+0xa0,0xbe,0xa0,0x2, 0x40,0xe1,0x12,0x2f,0x33,0x78,0x21,0x7c,0xb7,0xc4,0x7c,0x6b,
+0x5e,0x60,0xf, 0xbe,0x60,0x0, 0x28,0x14,0xe5,0x4c,0xbe,0xb0,0x1, 0x50,0x9, 0x12,
+0x2d,0x26,0x75,0x12,0x1, 0x5, 0x4c,0x22,0x75,0x4c,0x0, 0x22,0x75,0x4c,0x0, 0x75,
+0x12,0x0, 0x22,0x7e,0x73,0x0, 0x90,0x7c,0xb7,0x54,0xf, 0x22,0x7e,0x37,0x0, 0x92,
+0xbe,0x34,0x0, 0x1, 0x22,0x12,0x2f,0x3c,0x78,0x1b,0x7e,0xb3,0x6, 0x67,0x20,0xe5,
+0x14,0x7e,0xb3,0x6, 0xcb,0x20,0xe0,0xd, 0x12,0x2f,0x66,0x7e,0xb3,0x6, 0xcb,0x44,
+0x1, 0x7a,0xb3,0x6, 0xcb,0x22,0xa9,0xc0,0xca,0x6d,0x22,0x12,0x2f,0x7f,0x5e,0x60,
+0x7f,0x1b,0x28,0x30,0x22,0x7e,0x73,0x0, 0x90,0x7c,0x67,0x5e,0x60,0xf, 0x22,0x7e,
+0x34,0x13,0x14,0x1b,0x38,0x20,0x7e,0x24,0x12,0x4, 0xb, 0x28,0x30,0x22,0x7e,0xb3,
+0x6, 0xcb,0x30,0xe0,0x16,0xa9,0xd0,0xca,0x7e,0x24,0x0, 0x3f,0x12,0x2f,0x7f,0x4e,
+0x60,0x80,0x1b,0x28,0x30,0x54,0xfe,0x7a,0xb3,0x6, 0xcb,0x22,0xc2,0xab,0x12,0x2f,
+0x45,0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xd5,0xc9,0xd2,0xaf,0xa9,0xd0,0xcd,0xd2,0xc8,
+0xd2,0xa8,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd7,0x9e,0xd2,0xaf,0x74,0x1, 0x12,0x4a,
+0x48,0x74,0x2, 0x12,0xf, 0xcd,0x12,0x2f,0xf2,0xc2,0xa8,0xa9,0xc0,0xcd,0xc2,0xc8,
+0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xc5,0xc9,0xd2,0xaf,0xd2,0xab,0x12,0x4a,0x30,0x2,
+0x2f,0x8e,0x43,0xc8,0xc9,0x43,0xcb,0x8e,0x22,0xbd,0x32,0x58,0x3, 0x7d,0x32,0x22,
+0xbd,0x31,0x8, 0x2, 0x7d,0x31,0x22,0x6d,0x11,0x80,0x48,0x6d,0x0, 0x80,0x38,0x7d,
+0xf0,0x3e,0xf4,0x3e,0xf4,0x7d,0xef,0x2d,0xe3,0x49,0xde,0x0, 0x6, 0x49,0xce,0x0,
+0x4, 0x49,0x5e,0x0, 0x2, 0xb, 0xe8,0x40,0xbf,0x26,0x58,0x19,0x49,0xde,0x0, 0x6,
+0x49,0xce,0x0, 0x4, 0x59,0xde,0x0, 0x2, 0x1b,0xe8,0xc0,0x2d,0xf3,0x59,0x5f,0x0,
+0x6, 0x59,0x4f,0x0, 0x4, 0xb, 0x4, 0x7d,0xf2,0x1b,0xf4,0x9d,0xf1,0xbd,0xf0,0x38,
+0xbe,0xb, 0x14,0xbd,0x21,0x38,0xb4,0x22,0xca,0x3b,0xf5,0x26,0x7a,0xd, 0x22,0x7f,
+0x31,0x75,0x29,0x0, 0x75,0x2a,0x0, 0x7e,0x34,0x9, 0xfd,0x7e,0x24,0x0, 0x90,0xe4,
+0x12,0x4, 0xeb,0x6c,0xaa,0x12,0x23,0x30,0xbf,0x13,0x8, 0x11,0x7e,0x31,0x29,0x74,
+0x4, 0xac,0x3b,0x59,0x31,0x9, 0xff,0x59,0x21,0x9, 0xfd,0x5, 0x29,0xb, 0xa0,0xbe,
+0xa0,0x16,0x78,0xe1,0xe5,0x26,0xbe,0xb1,0x29,0x38,0x38,0x7e,0xd, 0x22,0x7e,0x1f,
+0x5, 0x28,0xbf,0x10,0x58,0x2d,0x7e,0x34,0x9, 0xfd,0xe5,0x26,0xa, 0x2b,0x12,0x30,
+0x7, 0x7e,0xa1,0x27,0x74,0x4, 0xa4,0x49,0x35,0x9, 0xff,0x49,0x25,0x9, 0xfd,0xe5,
+0x28,0xa, 0x1b,0x6d,0x0, 0x12,0x3, 0xec,0x7e,0xf, 0x9, 0xfd,0xbf,0x10,0x8, 0x3,
+0x75,0x2a,0x1, 0xe5,0x2a,0xda,0x3b,0x22,0x75,0x27,0xa, 0x75,0x28,0x5, 0x7e,0x18,
+0x3, 0xe8,0x7e,0x8, 0x27,0x10,0x74,0xc, 0x12,0x30,0x58,0x70,0x13,0x75,0x27,0xa,
+0x75,0x28,0x4, 0x7e,0x18,0x3, 0xe8,0x7e,0x8, 0x27,0x10,0x74,0xa, 0x12,0x30,0x58,
+0x60,0x13,0x7e,0xb3,0x6, 0x67,0x44,0x2, 0x7a,0xb3,0x6, 0x67,0x12,0x28,0x8c,0xe4,
+0x7a,0xb3,0xd, 0x11,0x22,0x7e,0xa3,0x6, 0x67,0x7c,0xba,0x30,0xe1,0x1b,0x7e,0xb3,
+0xd, 0x11,0x4, 0x7a,0xb3,0xd, 0x11,0xbe,0xb0,0x14,0x40,0xd, 0xe4,0x7a,0xb3,0xd,
+0x11,0x7c,0xba,0x54,0xfd,0x7a,0xb3,0x6, 0x67,0x22,0x75,0x39,0x3, 0x75,0x3f,0x0,
+0x22,0xbe,0xb0,0xa, 0x50,0x8, 0x7c,0x1b,0x2e,0x10,0x37,0xa5,0xe7,0x22,0x2, 0x31,
+0x51,0xb4,0xae,0x5, 0x7e,0xb3,0x3, 0x34,0x22,0x24,0xf6,0xbe,0xb0,0x30,0x40,0x2,
+0x61,0x7, 0x7e,0xa0,0x3, 0xa4,0x90,0x31,0x6a,0x73,0x2, 0x31,0xfa,0x2, 0x31,0xfd,
+0x2, 0x31,0xff,0x2, 0x32,0x4, 0x2, 0x32,0x9, 0x2, 0x32,0xe, 0x2, 0x32,0x13,0x2,
+0x32,0x18,0x2, 0x32,0x1d,0x2, 0x32,0x22,0x2, 0x32,0x27,0x2, 0x32,0x2c,0x2, 0x32,
+0x31,0x2, 0x32,0x45,0x2, 0x32,0x4a,0x2, 0x33,0x7, 0x2, 0x32,0x4f,0x2, 0x32,0x54,
+0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2,
+0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,
+0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7,
+0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x32,0x59,0x2,
+0x32,0x5e,0x2, 0x32,0x63,0x2, 0x32,0x68,0x2, 0x32,0x6d,0x2, 0x32,0x72,0x2, 0x33,
+0x7, 0x2, 0x32,0xa5,0x2, 0x33,0x7, 0x2, 0x32,0xd4,0x74,0x16,0x22,0xe4,0x22,0x7e,
+0xb3,0x3, 0x35,0x22,0x7e,0xb3,0x3, 0x38,0x22,0x7e,0xb3,0x3, 0x39,0x22,0x7e,0xb3,
+0x3, 0x3a,0x22,0x7e,0xb3,0x3, 0x3b,0x22,0x7e,0xb3,0x3, 0x3c,0x22,0x7e,0xb3,0x3,
+0x3d,0x22,0x7e,0xb3,0x3, 0x36,0x22,0x7e,0xb3,0x3, 0x37,0x22,0x7e,0xb3,0x3, 0x40,
+0x22,0x7e,0xb3,0xc, 0xd0,0x70,0x8, 0x7e,0x27,0x3, 0x30,0xa, 0x54,0x80,0xa, 0x7e,
+0x57,0x3, 0x30,0x80,0x4, 0x7e,0x57,0x3, 0x30,0x22,0x7e,0xb3,0x3, 0x3f,0x22,0x7e,
+0xb3,0x3, 0x41,0x22,0x7e,0xb3,0x6, 0xd4,0x22,0x7e,0xb3,0x3, 0x43,0x22,0x7e,0xb3,
+0x3, 0x44,0x22,0x7e,0xb3,0x3, 0x45,0x22,0x7e,0xb3,0x3, 0x46,0x22,0x7e,0xb3,0x3,
+0x47,0x22,0x7e,0x73,0x3, 0x47,0x7c,0xb7,0x4, 0x7a,0xb3,0x3, 0x47,0xbe,0x70,0x5c,
+0x50,0x20,0xa, 0x27,0x7d,0x12,0x5e,0x14,0x0, 0x1, 0x68,0xb, 0x7d,0x12,0x1e,0x14,
+0x3e,0x14,0x49,0x51,0xc, 0x20,0x22,0x1e,0x24,0x3e,0x24,0x49,0x22,0xc, 0x20,0xa,
+0x54,0x22,0x74,0xee,0x22,0x7e,0x73,0x3, 0x44,0x7c,0xb7,0x4, 0x7a,0xb3,0x3, 0x44,
+0xbe,0x70,0x2e,0x50,0x1c,0xbe,0x70,0x16,0x50,0x2, 0x80,0x5, 0xbe,0x70,0x16,0x50,
+0xb, 0xa, 0x37,0x2e,0x34,0x4, 0xc5,0x12,0x2c,0xfa,0x7c,0x7b,0xb, 0x70,0x7c,0xb7,
+0x22,0x74,0xee,0x22,0x7e,0x73,0x3, 0x46,0x7c,0xb7,0x4, 0x7a,0xb3,0x3, 0x46,0xbe,
+0x70,0x5c,0x50,0x20,0xa, 0x27,0x7d,0x12,0x5e,0x14,0x0, 0x1, 0x68,0xb, 0x7d,0x12,
+0x1e,0x14,0x3e,0x14,0x49,0x51,0x2, 0xd4,0x22,0x1e,0x24,0x3e,0x24,0x49,0x22,0x2,
+0xd4,0xa, 0x54,0x22,0x74,0xee,0x22,0x74,0xee,0x22,0x7c,0xab,0x24,0x0, 0x78,0x5,
+0x7e,0xb3,0xc, 0xd6,0x22,0xbe,0xa0,0xaf,0x38,0xc, 0x7e,0xb3,0xb, 0x9f,0xb4,0x3,
+0x5, 0x7c,0xba,0x2, 0x31,0x41,0x7c,0xba,0x22,0xca,0x79,0x20,0x90,0x2, 0x61,0xcf,
+0xd2,0x8, 0x7e,0xb3,0xc, 0xd2,0x4, 0x7a,0xb3,0xc, 0xd2,0x7e,0xf3,0xc, 0xd2,0xbe,
+0xf0,0x1, 0x78,0x22,0xe5,0x91,0x7a,0xb3,0xc, 0xd8,0x7e,0xb3,0xc, 0xd8,0xb4,0xd3,
+0xe, 0x74,0x1, 0x7a,0xb3,0xc, 0xd7,0x6d,0x33,0x7a,0x37,0xc, 0xd3,0x80,0x3c,0xe4,
+0x7a,0xb3,0xc, 0xd7,0x80,0x35,0x7e,0xb3,0xc, 0xd6,0xc4,0x7c,0xeb,0x5e,0xe0,0x7,
+0x78,0x8, 0x12,0x34,0xe9,0x12,0x37,0x23,0x80,0x21,0xbe,0xe0,0x4, 0x78,0x8, 0x12,
+0x34,0xe9,0x12,0x4b,0xa9,0x80,0x14,0x7e,0xb3,0xc, 0xd6,0xc4,0x54,0x7, 0xb4,0x1,
+0xa, 0x7e,0xb3,0xc, 0xd2,0x12,0x34,0xeb,0x12,0x37,0xdc,0x12,0x36,0xef,0x78,0xe,
+0xe4,0x12,0x34,0x5c,0xb4,0x10,0x2, 0x80,0x14,0x12,0x36,0xfa,0x80,0x12,0xbe,0xf0,
+0x4, 0x78,0x5, 0x12,0x34,0xdf,0x80,0x8, 0xbe,0xf0,0x1, 0x78,0x3, 0x12,0x37,0xc7,
+0x7e,0xb3,0xc, 0xd8,0xb4,0xd3,0x6, 0x7e,0xb3,0xb, 0xb6,0xf5,0x91,0xc2,0x90,0x20,
+0x91,0x2, 0x81,0x59,0xc2,0x8, 0x7e,0xb3,0xc, 0xd0,0x4, 0x12,0x36,0xeb,0x78,0x50,
+0x7e,0xb3,0xc, 0xd7,0xb4,0x1, 0x36,0x7e,0xa3,0x9, 0x6a,0x7e,0x70,0x4, 0xac,0x7a,
+0xbe,0x37,0xc, 0xd3,0x40,0x22,0x7e,0x37,0xc, 0xd3,0x4d,0x33,0x78,0x5, 0x7a,0xa1,
+0x91,0x80,0xd, 0x7d,0x23,0x1b,0x24,0x2e,0x27,0x6, 0xdb,0x7e,0x29,0xb0,0xf5,0x91,
+0xb, 0x34,0x7a,0x37,0xc, 0xd3,0x80,0x3f,0x75,0x91,0xff,0x80,0x3a,0xe4,0x12,0x34,
+0x5c,0xb4,0x10,0x6, 0x7e,0xb3,0xc, 0xd0,0x80,0x19,0x7e,0xb3,0xc, 0xd0,0x80,0x1e,
+0xbe,0xf0,0x4, 0x78,0x5, 0x12,0x34,0xdf,0x80,0x1d,0xbe,0xf0,0x1, 0x7e,0xb3,0xc,
+0xd0,0x78,0xb, 0x2e,0xb3,0xc, 0xd8,0x12,0x0, 0x9, 0xf5,0x91,0x80,0x9, 0x2e,0xb3,
+0xc, 0xd8,0x12,0x34,0x5c,0xf5,0x91,0xc2,0x91,0xda,0x79,0x22,0x7c,0x7b,0xbe,0x70,
+0x80,0x40,0xc, 0xbe,0x70,0xde,0x38,0x7, 0xa, 0x37,0x9, 0xb3,0xa, 0xe3,0x22,0xa5,
+0xbf,0x0, 0x5, 0x7e,0xb3,0xc, 0xd6,0x22,0x30,0x7, 0x6, 0x7e,0x24,0xc, 0xac,0x80,
+0x4, 0x7e,0x24,0xc, 0xbe,0x7a,0x25,0x4a,0x7c,0xb7,0x14,0xbe,0xb0,0xe, 0x50,0x4c,
+0x7e,0xa0,0x3, 0xa4,0x90,0x34,0x98,0x73,0x2, 0x34,0xc2,0x2, 0x34,0xca,0x2, 0x34,
+0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,
+0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2,
+0x34,0xd2,0x7e,0x35,0x4a,0x9, 0xb3,0x0, 0x4, 0x22,0x7e,0x35,0x4a,0x9, 0xb3,0x0,
+0x3, 0x22,0xa, 0x37,0x2e,0x35,0x4a,0x9, 0xb3,0x0, 0x2, 0x22,0x74,0xff,0x22,0x7e,
+0xb3,0xc, 0xd8,0x12,0x33,0xa, 0xf5,0x91,0x22,0x7c,0xbf,0x2e,0xb3,0xc, 0xd8,0x24,
+0xfe,0x7e,0x71,0x91,0x22,0xca,0xf8,0xe4,0x12,0x36,0xeb,0x78,0x5, 0x12,0x36,0xfa,
+0x80,0x12,0xbe,0xf0,0x4, 0x78,0x5, 0x12,0x34,0xdf,0x80,0x8, 0xbe,0xf0,0x1, 0x78,
+0x3, 0x12,0x37,0xc7,0x75,0x91,0x0, 0xe4,0x7a,0xb3,0xc, 0xd2,0x7a,0xb3,0xc, 0xd1,
+0x74,0xaa,0x7a,0xb3,0xc, 0xac,0x7a,0xb3,0xc, 0xad,0x7a,0xb3,0xc, 0xbe,0x7a,0xb3,
+0xc, 0xbf,0xda,0xf8,0x22,0xbe,0xb0,0xa, 0x50,0xa, 0x7c,0x1b,0x2e,0x10,0x37,0x7c,
+0xb7,0xa5,0xf7,0x22,0x2, 0x35,0x47,0xca,0x79,0x7c,0x6b,0xa5,0xbe,0xae,0x17,0x7a,
+0x73,0x3, 0x34,0x7e,0xb3,0x3, 0x34,0xb4,0x1, 0x5, 0xe4,0x7a,0xb3,0x3, 0x34,0xe4,
+0x7a,0xb3,0x3, 0x42,0xc1,0x65,0xa5,0xbe,0xaf,0x5, 0x12,0x37,0xea,0xc1,0xe8,0x7c,
+0xb6,0x24,0xf4,0xbe,0xb0,0x29,0x40,0x2, 0xc1,0xa0,0x7e,0xa0,0x3, 0xa4,0x90,0x35,
+0x82,0x73,0x2, 0x35,0xfd,0x2, 0x36,0x3, 0x2, 0x36,0x9, 0x2, 0x36,0xf, 0x2, 0x36,
+0x15,0x2, 0x36,0x1b,0x2, 0x36,0x21,0x2, 0x36,0x27,0x2, 0x36,0x2d,0x2, 0x36,0x33,
+0x2, 0x36,0x39,0x2, 0x36,0x51,0x2, 0x36,0x6a,0x2, 0x36,0xe1,0x2, 0x36,0x70,0x2,
+0x36,0x79,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,
+0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,
+0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2,
+0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,
+0x82,0x2, 0x36,0x88,0x2, 0x36,0x8e,0x2, 0x36,0x94,0x2, 0x36,0x9a,0x7e,0x74,0x3,
+0x35,0x80,0x7a,0x7e,0x74,0x3, 0x38,0x80,0x74,0x7e,0x74,0x3, 0x39,0x80,0x6e,0x7e,
+0x74,0x3, 0x3a,0x80,0x68,0x7e,0x74,0x3, 0x3b,0x80,0x62,0x7e,0x74,0x3, 0x3c,0x80,
+0x5c,0x7e,0x74,0x3, 0x3d,0x80,0x56,0x7e,0x74,0x3, 0x36,0x80,0x50,0x7e,0x74,0x3,
+0x37,0x80,0x4a,0x7e,0x74,0x3, 0x40,0x80,0x44,0x7e,0x27,0x3, 0x30,0x6c,0x44,0x7a,
+0x27,0x3, 0x30,0x7c,0x67,0x6c,0x77,0x4e,0x37,0x3, 0x30,0x7a,0x37,0x3, 0x30,0x80,
+0x14,0x7e,0x27,0x3, 0x30,0x6c,0x55,0x7a,0x27,0x3, 0x30,0xa, 0x37,0x4e,0x37,0x3,
+0x30,0x7a,0x37,0x3, 0x30,0x43,0xa, 0x1, 0x80,0x7e,0x7e,0x74,0x3, 0x3f,0x80,0xd,
+0x7e,0x74,0x3, 0x41,0x43,0xa, 0x4, 0x80,0x68,0x7e,0x74,0x6, 0xd4,0x43,0xa, 0x1,
+0x80,0x5f,0x7a,0x73,0x3, 0x43,0x80,0x60,0x7a,0x73,0x3, 0x44,0x80,0x5a,0x7a,0x73,
+0x3, 0x45,0x80,0x54,0x7a,0x73,0x3, 0x46,0x80,0x4e,0x7a,0x73,0x3, 0x47,0x80,0x48,
+0xbe,0x60,0x39,0x68,0x4, 0xa5,0xbe,0x3a,0x3f,0x7e,0x63,0x3, 0x45,0x7c,0xb6,0x4,
+0x7a,0xb3,0x3, 0x45,0xa, 0x26,0x5e,0x24,0x0, 0x1, 0xa, 0x16,0x68,0x12,0x12,0x37,
+0x4, 0x6c,0x55,0x1b,0x18,0x20,0xa, 0x17,0x12,0x37,0x10,0x43,0xa, 0x2, 0x80,0x18,
+0x12,0x37,0x4, 0x6c,0x44,0x1b,0x18,0x20,0x7c,0x27,0x6c,0x33,0x12,0x37,0x10,0x80,
+0x7, 0x4d,0x77,0x68,0x3, 0x7a,0x79,0x70,0xda,0x79,0x22,0x7a,0xb3,0xc, 0xd0,0x7e,
+0xb3,0xc, 0xd6,0xc4,0x7c,0xfb,0x5e,0xf0,0x7, 0x22,0x7e,0xb3,0xc, 0xd8,0x12,0x34,
+0x5c,0xf5,0x91,0x22,0x1e,0x14,0x3e,0x14,0x2e,0x14,0x2, 0xd4,0xb, 0x18,0x20,0x22,
+0xa, 0x26,0x1e,0x24,0x3e,0x24,0x2e,0x24,0x2, 0xd4,0xb, 0x28,0x30,0x4d,0x31,0x1b,
+0x28,0x30,0x22,0xca,0x69,0xca,0xf8,0x7c,0xf7,0xbe,0xb0,0x80,0x40,0xb, 0xbe,0xb0,
+0xde,0x38,0x6, 0x24,0x80,0x7c,0x7f,0xe1,0xbf,0x24,0x0, 0x68,0x2, 0xe1,0xc2,0x7e,
+0x64,0xc, 0xd6,0x7a,0x69,0xf0,0x5e,0xf0,0x70,0x7c,0xbf,0xc4,0x54,0xf, 0x7c,0xfb,
+0xbe,0xf0,0x4, 0x78,0x15,0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x7, 0x74,0x2, 0x7e,0x70,
+0x3, 0x80,0x36,0x74,0x3c,0x7e,0x70,0x3, 0x80,0x55,0x7e,0xb3,0xb, 0x9f,0xb4,0x3,
+0x2d,0x74,0x2, 0x7e,0x70,0x1, 0x12,0x35,0x35,0xbe,0xf0,0x1, 0x78,0x6, 0x74,0x2,
+0x6c,0x77,0x80,0x15,0x4c,0xff,0x78,0x7, 0x74,0x2, 0x7e,0x70,0x1, 0x80,0xa, 0xbe,
+0xf0,0x3, 0x78,0x2e,0x74,0x2, 0x7e,0x70,0x4, 0x12,0x35,0x35,0x80,0x24,0xbe,0xf0,
+0x1, 0x78,0x6, 0x74,0x3c,0x6c,0x77,0x80,0x16,0xbe,0xf0,0x4, 0x78,0x7, 0x74,0x3c,
+0x7e,0x70,0x3, 0x80,0xa, 0xbe,0xf0,0x3, 0x78,0x8, 0x74,0x3c,0x7e,0x70,0x4, 0x12,
+0x4b,0x75,0xda,0xf8,0xda,0x69,0x22,0x7e,0xb3,0xc, 0xd8,0x12,0x0, 0x9, 0xf5,0x91,
+0x22,0xe4,0x7a,0xb3,0xc, 0xd6,0x12,0x4d,0xe8,0x2, 0x34,0xf5,0x7c,0xa7,0x24,0x0,
+0x78,0x7, 0x7e,0x34,0xc, 0xd6,0x7a,0x39,0xa0,0x22,0x30,0x9, 0x8, 0x74,0x1, 0x12,
+0x43,0x3a,0xc2,0x9, 0x22,0xe4,0x12,0x43,0x3a,0xd2,0x9, 0x22,0x75,0xd, 0x0, 0xc2,
+0x5, 0x7e,0xb3,0xb, 0x88,0x70,0x7, 0x7e,0xb3,0x0, 0x95,0xf5,0x1a,0x22,0x7e,0xb3,
+0x0, 0x97,0xf5,0x1a,0x22,0x7d,0xd2,0x6d,0x22,0x9e,0x18,0x0, 0xc7,0x6d,0xcc,0x7e,
+0x78,0x0, 0xc7,0x7f,0x27,0x9f,0x26,0x12,0x3c,0x5c,0x2e,0x28,0x0, 0xc7,0x9f,0x71,
+0x7f,0x17,0xbe,0x28,0x0, 0x0, 0x58,0x4, 0x9f,0x22,0x80,0xa, 0xbe,0x28,0x1, 0x8e,
+0x48,0x4, 0x7e,0x28,0x1, 0x8d,0xbe,0x18,0x0, 0x0, 0x58,0x4, 0x9f,0x11,0x80,0xa,
+0xbe,0x18,0x1, 0x8e,0x48,0x4, 0x7e,0x18,0x1, 0x8d,0x1b,0x18,0x50,0x7d,0x13,0x1b,
+0x8, 0x10,0x22,0xca,0xf8,0x6c,0xff,0x80,0x23,0x74,0x5, 0xac,0xbf,0x12,0x3c,0xa,
+0x7e,0x14,0x0, 0x22,0x7e,0x4, 0x0, 0x24,0x12,0x38,0x15,0x7e,0x35,0x22,0x74,0x5,
+0xac,0xbf,0x59,0x35,0x0, 0x7a,0x7e,0x35,0x24,0x12,0x3c,0x51,0x12,0x38,0x94,0x48,
+0xd8,0xda,0xf8,0x22,0x7e,0xb3,0x0, 0x90,0x54,0xf, 0xa, 0x2b,0xa, 0x3f,0xbd,0x32,
+0x22,0xca,0x3b,0xc2,0xf, 0x75,0x2c,0x0, 0x7e,0xb3,0x3, 0x5a,0xbe,0xb0,0x2, 0x68,
+0x7, 0x7e,0xb3,0x3, 0x5b,0xb4,0x2, 0x16,0x12,0x2d,0x19,0xbe,0xb0,0x1, 0x38,0xe,
+0x7c,0xba,0x54,0xf, 0xbe,0xb0,0x1, 0x38,0x5, 0x7c,0xba,0x12,0x28,0x90,0x6c,0xff,
+0x7e,0xa0,0xff,0x7e,0x70,0x5, 0xac,0x7f,0x19,0xa3,0x0, 0x7e,0x7c,0x1f,0x2e,0x10,
+0x22,0x74,0xff,0xa5,0xf7,0x7e,0x24,0xff,0xff,0x12,0x3b,0xed,0x1b,0x38,0x20,0x7c,
+0x1f,0x2e,0x10,0x24,0xe4,0xa5,0xf7,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xd2,0x7e,0xa3,
+0x0, 0x90,0x7c,0xba,0x54,0xf, 0x78,0x1f,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x18,0x6c,
+0xff,0x12,0x3c,0x49,0xac,0x7f,0x59,0x43,0x3, 0x52,0x59,0x43,0x3, 0x56,0xb, 0xf0,
+0xbe,0xf0,0x2, 0x78,0xec,0x61,0x88,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x33,0x6c,0xff,
+0x7e,0xa0,0x1, 0x80,0x25,0x7c,0x1f,0x2e,0x10,0x24,0x7c,0xba,0x12,0x3b,0xf6,0x19,
+0xf3,0x0, 0x7e,0x49,0x43,0x0, 0x7a,0x7e,0x50,0x2, 0xac,0x5f,0x59,0x42,0x3, 0x52,
+0x49,0x33,0x0, 0x7c,0x59,0x32,0x3, 0x56,0xb, 0xf0,0x12,0x38,0x94,0x48,0xd6,0x61,
+0x88,0x6c,0xff,0x80,0x47,0x6c,0xee,0x74,0x2, 0xac,0xbe,0x49,0x25,0x3, 0x56,0x12,
+0x3e,0x8, 0x7d,0x63,0x74,0x2, 0xac,0xbe,0x49,0x25,0x3, 0x52,0x12,0x3c,0x73,0x2d,
+0x36,0x7a,0x35,0x26,0x7c,0xbf,0x3e,0xb0,0x24,0x28,0xa, 0x2b,0xb, 0x28,0x30,0xbe,
+0x35,0x26,0x28,0xf, 0x7c,0x1f,0x2e,0x10,0x22,0x7c,0xbe,0xa5,0xf7,0x7e,0x35,0x26,
+0x1b,0x28,0x30,0xb, 0xe0,0xbe,0xe0,0x2, 0x78,0xbd,0xb, 0xf0,0x12,0x38,0x94,0x48,
+0xb4,0x6c,0xff,0x41,0x51,0xd2,0xf, 0x6c,0xee,0x80,0x2c,0xbc,0xef,0x68,0x26,0x7c,
+0x1e,0x12,0x3b,0xfe,0x7c,0x1f,0x2e,0x10,0x22,0xa5,0xe7,0xbc,0xba,0x78,0x16,0x7c,
+0xbe,0x12,0x3b,0xef,0xb, 0x38,0x20,0x12,0x3b,0xed,0xb, 0x38,0x30,0xbd,0x32,0x40,
+0x4, 0xc2,0xf, 0x80,0xd, 0xb, 0xe0,0x12,0xe, 0xaf,0xa, 0x2b,0xa, 0x3e,0xbd,0x32,
+0x48,0xc9,0x7c,0x1f,0x12,0x3b,0xfe,0xa, 0x4a,0x9, 0xb4,0x3, 0x5a,0xb4,0x2, 0x4,
+0xc2,0xf, 0x80,0x1e,0xb4,0x1, 0x1b,0x12,0x2f,0x33,0xbe,0xb0,0x2, 0x40,0x11,0x7c,
+0xb7,0xc4,0x54,0xf, 0xbe,0xb0,0x2, 0x40,0x7, 0xe4,0x19,0xb4,0x3, 0x5a,0x80,0x2,
+0xc2,0xf, 0x30,0xf, 0x2a,0xbe,0xa0,0x2, 0x50,0x25,0x7c,0x1a,0x2e,0x10,0x24,0x74,
+0x1, 0xa5,0xf7,0x7e,0x90,0x5, 0xac,0x9f,0x19,0xa4,0x0, 0x7e,0x49,0x34,0x0, 0x7a,
+0x74,0x2, 0xa4,0x59,0x35,0x3, 0x52,0x49,0x34,0x0, 0x7c,0x59,0x35,0x3, 0x56,0xb,
+0xf0,0x12,0x38,0x94,0x58,0x2, 0x21,0xb5,0x6c,0xff,0x80,0x48,0x74,0x5, 0xac,0xbf,
+0x9, 0xb5,0x0, 0x7e,0xb4,0xff,0x3b,0x6c,0xee,0x7c,0x1e,0x2e,0x10,0x24,0xa5,0xe7,
+0x70,0x29,0xa, 0x3e,0x9, 0xb3,0x3, 0x5a,0x70,0x1f,0x74,0x1, 0x12,0x3b,0xf6,0x49,
+0x23,0x0, 0x7a,0x74,0x2, 0xac,0xbe,0x59,0x25,0x3, 0x52,0x49,0x23,0x0, 0x7c,0x59,
+0x25,0x3, 0x56,0x19,0xe3,0x0, 0x7e,0x80,0x9, 0x5, 0x2c,0xb, 0xe0,0xbe,0xe0,0x2,
+0x40,0xc7,0xb, 0xf0,0x7e,0xa3,0x0, 0x90,0x5e,0xa0,0xf, 0xa, 0x2a,0xa, 0x3f,0xbd,
+0x32,0x48,0xa9,0xe5,0x2c,0x60,0x2a,0x4c,0xaa,0x68,0x26,0xe5,0x2c,0xa, 0x3b,0xbd,
+0x23,0x48,0x1e,0x7e,0x73,0x0, 0x7e,0xbe,0x70,0x2, 0x40,0xc, 0x7e,0x73,0x0, 0x83,
+0xbe,0x70,0x2, 0x50,0x3, 0x12,0x3e,0x3a,0x12,0x2f,0x75,0x9e,0x61,0x2c,0x12,0x2d,
+0x23,0x12,0x2d,0x19,0xa, 0x2b,0x7c,0xba,0x54,0xf, 0xa, 0x3b,0xbd,0x32,0x58,0x71,
+0x6c,0xff,0x12,0x3b,0xe5,0x70,0x5a,0x7e,0xd0,0x2, 0xac,0xdf,0x49,0x46,0x3, 0x52,
+0xbe,0x44,0x7f,0xff,0x68,0x4b,0xa, 0x2f,0x9, 0x62,0x3, 0x5a,0xbe,0x60,0x2, 0x50,
+0x40,0x49,0x16,0x3, 0x56,0xbe,0x14,0x1, 0x8e,0x50,0x36,0x9, 0xb2,0xb, 0x31,0x60,
+0x30,0x74,0x1, 0xa5,0xf7,0x7e,0x73,0x0, 0x90,0x7c,0xe7,0x5e,0xe0,0xf, 0x74,0x5,
+0xac,0xbe,0x59,0x45,0x0, 0x7a,0x59,0x15,0x0, 0x7c,0x19,0xf5,0x0, 0x7e,0x2e,0x24,
+0x3, 0x5a,0x7c,0xb6,0x4, 0x7a,0x29,0xb0,0x7c,0x67,0xb, 0x60,0x12,0x2d,0x23,0x80,
+0x7, 0xe4,0xa, 0x3f,0x19,0xb3,0x3, 0x5a,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0x93,0x80,
+0x9, 0xe4,0x7a,0xb3,0x3, 0x5a,0x7a,0xb3,0x3, 0x5b,0x6c,0xff,0x12,0x3b,0xe5,0x70,
+0x10,0x7e,0x34,0x7f,0xff,0x74,0x2, 0xac,0xbf,0x59,0x35,0x3, 0x52,0x59,0x35,0x3,
+0x56,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xe4,0x12,0x3c,0x41,0x6c,0xff,0x12,0x3b,0xe5,
+0xb4,0x1, 0x1d,0xa, 0x3f,0x9, 0xb3,0x3, 0x50,0xbe,0xb0,0x3, 0x68,0x3, 0xb4,0x1,
+0x7, 0xe4,0x19,0xb3,0x3, 0x4e,0x80,0x33,0x74,0x2, 0x19,0xb3,0x3, 0x4e,0x80,0x2b,
+0xa, 0x3f,0x9, 0xb3,0x3, 0x50,0xbe,0xb0,0x2, 0x68,0x2, 0x70,0x18,0x74,0x1, 0x19,
+0xb3,0x3, 0x4e,0xbe,0xe0,0x2, 0x50,0x13,0x7c,0xae,0xb, 0xe0,0x74,0x5, 0xa4,0x19,
+0xf5,0x0, 0x7e,0x80,0x6, 0x74,0x3, 0x19,0xb3,0x3, 0x4e,0xb, 0xf0,0xbe,0xf0,0x2,
+0x40,0xab,0xda,0x3b,0x22,0x7c,0x1f,0x2e,0x10,0x24,0xa5,0xe7,0x22,0x7c,0xbf,0x3e,
+0xb0,0x24,0x28,0xa, 0x3b,0x22,0xa5,0xf7,0x7e,0x70,0x5, 0xac,0x7f,0x22,0x2e,0x10,
+0x22,0xa5,0xe7,0x7c,0xab,0x22,0x74,0x5, 0xac,0xbe,0x49,0x35,0x0, 0x7a,0x49,0x25,
+0x0, 0x7c,0x22,0xca,0x79,0x12,0x3c,0x37,0x6c,0xff,0x80,0x13,0xa, 0x3f,0x9, 0xe3,
+0x0, 0x76,0x7e,0x34,0x6, 0x15,0x7c,0xbe,0x6c,0x55,0x12,0x3e,0x4b,0xb, 0xf0,0x12,
+0x38,0x94,0x48,0xe8,0xda,0x79,0x22,0x74,0x1, 0x6c,0xaa,0x12,0x3c,0x67,0x40,0xfb,
+0x22,0x7e,0xe3,0x0, 0x90,0x5e,0xe0,0xf, 0x22,0x7e,0x44,0x7f,0xff,0x7e,0x70,0x2,
+0x22,0x74,0x5, 0xac,0xbf,0x59,0x35,0x0, 0x7c,0xb, 0xf0,0x22,0x6e,0x34,0xff,0xff,
+0x6e,0x24,0xff,0xff,0xb, 0x1c,0x22,0xa, 0x4a,0x19,0xb4,0x6, 0x15,0xb, 0xa0,0xbe,
+0xa0,0x2e,0x22,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7a,0x9d,0x32,0x2, 0x0, 0x2e,
+0xca,0x3b,0x12,0xe, 0xaf,0x7c,0xeb,0x78,0x30,0x6c,0xff,0x6d,0x11,0x74,0x2, 0xac,
+0xbf,0x59,0x15,0xd, 0x1d,0x7e,0xa0,0xff,0x7e,0x30,0x5, 0xac,0x3f,0x19,0xa1,0xd,
+0x17,0x7e,0xb3,0xd, 0x28,0x70,0x3, 0xe4,0x80,0x2, 0x74,0x2, 0xa, 0x1f,0x19,0xb1,
+0xd, 0x26,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xd2,0x7e,0x17,0x0, 0x92,0xbe,0x14,0x0,
+0x1, 0x78,0x2, 0xa1,0xfc,0x6c,0xff,0xa1,0xd8,0x74,0x5, 0xac,0xbf,0x9, 0x75,0x0,
+0x7e,0x7a,0x71,0x23,0xbe,0x70,0x2, 0x40,0x2, 0xa1,0xd6,0xe5,0x23,0xa, 0x1b,0x12,
+0x3e,0x1d,0x78,0x2, 0xa1,0xd6,0x75,0x22,0x0, 0x7e,0x31,0x22,0x74,0x5, 0xac,0x3b,
+0x9, 0x71,0xd, 0x17,0x7a,0x71,0x24,0xbe,0x71,0x23,0x68,0x2, 0xa1,0xcb,0x49,0x21,
+0xd, 0x15,0x12,0x3e,0x8, 0x7d,0x63,0x12,0x14,0xe3,0x49,0x25,0xd, 0x13,0x12,0x3c,
+0x73,0x7d,0x3, 0x2d,0x6, 0xe5,0x24,0xa, 0x1b,0x9, 0xa1,0xd, 0x26,0xbe,0xa0,0x0,
+0x28,0x17,0x7e,0x71,0x24,0x74,0x2, 0xac,0x7b,0x59,0x3, 0xd, 0x1d,0x2e,0x14,0xd,
+0x26,0x7c,0xba,0x14,0x7a,0x19,0xb0,0xa1,0xd6,0x7e,0x31,0x24,0x74,0x2, 0xac,0x3b,
+0x49,0x31,0xd, 0x1d,0xbe,0x34,0x0, 0x1e,0x28,0x8, 0xbe,0x4, 0x0, 0x1e,0x28,0x2,
+0x80,0x10,0x7d,0x23,0x2e,0x24,0x0, 0x1e,0xbd,0x20,0x50,0x12,0xbe,0x34,0x0, 0x1e,
+0x28,0xc, 0x59,0x1, 0xd, 0x1d,0x74,0x1, 0x7a,0xb3,0xd, 0x28,0x80,0x68,0xbe,0x4,
+0x0, 0x64,0x28,0x4b,0xe4,0x7a,0xb3,0xd, 0x28,0xe5,0x23,0xa, 0x1b,0x9, 0xb1,0x3,
+0x4e,0x70,0x4, 0x74,0x3, 0x80,0x2, 0x74,0x1, 0x19,0xb1,0x3, 0x4e,0x12,0x3e,0x25,
+0x7e,0x14,0xd, 0x21,0x74,0x5, 0x12,0x4, 0x8d,0xbe,0xe0,0x0, 0x28,0x21,0x1b,0xe0,
+0x7e,0x70,0x5, 0xac,0x7e,0x2e,0x34,0x0, 0x7a,0x7e,0x30,0x5, 0xac,0x3f,0x12,0x3d,
+0xff,0x7e,0x34,0xd, 0x21,0x7e,0x30,0x5, 0xac,0x3e,0x12,0x3d,0xff,0x1b,0xf0,0x7e,
+0xa1,0x24,0x74,0x2, 0xa4,0x59,0x5, 0xd, 0x1d,0x80,0xb, 0x5, 0x22,0xe5,0x22,0xbe,
+0xb0,0x2, 0x50,0x2, 0x81,0xe9,0xb, 0xf0,0x12,0x2f,0x33,0xa, 0x2b,0xa, 0x1f,0xbd,
+0x12,0x58,0x2, 0x81,0xc9,0x7c,0x6e,0x12,0x2d,0x23,0x6c,0xff,0x12,0x3e,0x15,0x2e,
+0x34,0x0, 0x7a,0x2e,0x14,0xd, 0x13,0x12,0x3e,0x2f,0x78,0xf0,0xda,0x3b,0x22,0x2e,
+0x14,0x0, 0x7a,0x74,0x5, 0x2, 0x4, 0x8d,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7c,
+0x9d,0x32,0x2, 0x0, 0x2e,0x7e,0x30,0x5, 0xac,0x3f,0x7d,0x31,0x22,0x9, 0xb1,0x3,
+0x4e,0xbe,0xb0,0x1, 0x22,0x7e,0x70,0x5, 0xac,0x7f,0x2e,0x34,0x0, 0x7a,0x22,0x74,
+0x5, 0x12,0x4, 0x8d,0xb, 0xf0,0xbe,0xf0,0x2, 0x22,0x7e,0x1f,0x0, 0x80,0x7e,0x33,
+0x0, 0x7f,0x7a,0x1f,0x0, 0x7b,0x7a,0x33,0x0, 0x7a,0x22,0x7d,0x13,0x4d,0x11,0x68,
+0xc, 0xbe,0xb0,0x2e,0x50,0x7, 0xa, 0x3b,0x2d,0x31,0x7a,0x39,0x50,0x22,0x74,0x10,
+0x7a,0xb3,0xb, 0x84,0x74,0x83,0x7a,0xb3,0xb, 0x85,0xe4,0x6c,0xaa,0x12,0x3c,0x67,
+0x40,0xfb,0x22,0x6c,0xaa,0x74,0x3, 0xa, 0x4a,0x19,0xb4,0x3, 0x50,0x19,0xb4,0x3,
+0x4e,0x12,0x3c,0x49,0xac,0x7a,0x59,0x43,0x3, 0x52,0x59,0x43,0x3, 0x56,0xb, 0xa0,
+0xbe,0xa0,0x2, 0x40,0xe0,0x22,0x7c,0x6b,0x7e,0x53,0x0, 0x90,0x7c,0xb5,0x54,0xf,
+0x68,0x10,0x7c,0x45,0x1b,0x40,0x5e,0x40,0xf, 0x5e,0x50,0xf0,0x4c,0x54,0x7a,0x53,
+0x0, 0x90,0xa5,0xbe,0x0, 0x12,0xa5,0xbf,0x2, 0xe, 0x7e,0x73,0x0, 0x77,0x7a,0x73,
+0x0, 0x76,0x85,0x17,0x16,0x12,0x3e,0x3a,0x22,0xca,0x79,0x6d,0x77,0x7a,0x77,0x2,
+0xd0,0x7e,0x34,0x3, 0xe8,0x7a,0x37,0x0, 0x74,0x12,0x1f,0xe6,0x12,0x1e,0xf6,0x12,
+0x1b,0xdc,0x7a,0x77,0x2, 0xd0,0x7e,0x34,0x0, 0x64,0x7a,0x37,0x0, 0x74,0xda,0x79,
+0x22,0x6c,0x77,0xa, 0x27,0x9, 0x62,0x3, 0x4e,0x19,0x62,0x3, 0x50,0xb, 0x70,0xbe,
+0x70,0x2, 0x40,0xef,0x12,0x3f,0x35,0x12,0x3f,0x2d,0x7a,0x73,0x0, 0x90,0x7e,0x73,
+0x0, 0x91,0x5e,0x70,0xf, 0x12,0x3f,0x2d,0x7a,0x73,0x0, 0x91,0x7e,0x1f,0x5, 0x2c,
+0x7a,0x1f,0x5, 0x30,0x7e,0x73,0x6, 0xe, 0x7a,0x73,0x6, 0xf, 0x22,0x7c,0xb7,0xc4,
+0x54,0xf0,0x4c,0x7b,0x22,0x7e,0x73,0x0, 0x90,0x5e,0x70,0xf, 0x22,0x12,0x3f,0x35,
+0x6c,0x66,0x80,0x2, 0xb, 0x60,0xbc,0x76,0x38,0xfa,0x22,0xca,0x3b,0x6c,0xaa,0x12,
+0x3f,0x35,0x7e,0x44,0x3, 0x5c,0x7e,0x24,0x0, 0x76,0x6c,0x66,0x80,0x64,0x75,0x1f,
+0xff,0xa, 0xf6,0x2d,0xf2,0x7e,0xf9,0x20,0x7e,0x30,0x4, 0xac,0x23,0x7d,0xe1,0x2d,
+0xe4,0x49,0x1e,0x0, 0x2, 0xb, 0xe8,0x0, 0xa, 0x76,0xb, 0x74,0x80,0x24,0xa, 0xef,
+0x2d,0xe2,0x7e,0xe9,0xe0,0x7e,0xd0,0x4, 0xac,0xde,0x7d,0xe6,0x2d,0xe4,0x49,0xde,
+0x0, 0x2, 0xb, 0xe8,0xc0,0xbf,0x6, 0x58,0x7, 0x7c,0xae,0x7a,0xf1,0x1f,0x7f,0x6,
+0xb, 0xf0,0xbc,0x7f,0x38,0xd8,0xe5,0x1f,0xbe,0xb0,0xff,0x68,0x13,0x7e,0xf9,0xe0,
+0xe5,0x1f,0xa, 0xfb,0x2d,0xf2,0x7a,0xf9,0xe0,0xa, 0xf6,0x2d,0xf2,0x7a,0xf9,0xa0,
+0xb, 0x60,0xbc,0x76,0x38,0x98,0xda,0x3b,0x22,0x7c,0xab,0x9f,0x11,0x7a,0x1f,0x5,
+0x30,0x74,0xb, 0x7a,0xb3,0x6, 0xf, 0x74,0x2, 0x7a,0xb3,0x6, 0x44,0x7a,0xb3,0x6,
+0x43,0x74,0xf, 0x7a,0xb3,0x6, 0x45,0x74,0x2, 0x7a,0xb3,0x6, 0x47,0x7a,0xb3,0x6,
+0x46,0x74,0xf, 0x7a,0xb3,0x6, 0x48,0x7e,0x34,0x0, 0x32,0x7a,0x37,0x5, 0xec,0x12,
+0x41,0x12,0x74,0xa, 0x7a,0xb3,0x6, 0x10,0x7e,0xb3,0x6, 0x67,0x44,0x40,0x7a,0xb3,
+0x6, 0x67,0x54,0x7f,0x7a,0xb3,0x6, 0x67,0x5e,0xa0,0x7f,0xbe,0xa0,0x1, 0x68,0x7,
+0xbe,0xa0,0x2, 0x78,0x2, 0x80,0x0, 0x12,0x41,0x12,0x7e,0xa3,0x6, 0x67,0x7c,0xba,
+0x30,0xe0,0x12,0x74,0x1, 0x7a,0xb3,0x6, 0x11,0x74,0x3, 0x7a,0xb3,0x6, 0x12,0x7a,
+0xb3,0x6, 0x13,0x80,0xe, 0x74,0x1, 0x7a,0xb3,0x6, 0x12,0x7a,0xb3,0x6, 0x13,0x7a,
+0xb3,0x6, 0x11,0x74,0xa, 0x7a,0xb3,0x6, 0x66,0x7a,0xb3,0x6, 0x14,0x7e,0x24,0x2a,
+0xf8,0x7a,0x27,0x5, 0xf0,0x7c,0xba,0x54,0xfd,0x7a,0xb3,0x6, 0x67,0x7e,0x24,0xfc,
+0xe0,0x7a,0x27,0x5, 0xee,0x12,0x41,0x35,0x7a,0x37,0x5, 0xf2,0x7e,0x34,0x5, 0xdc,
+0x7a,0x37,0x5, 0xf4,0x7e,0x34,0xf, 0xa0,0x7a,0x37,0x5, 0xf6,0x7e,0xb3,0x6, 0x67,
+0x54,0xf7,0x7a,0xb3,0x6, 0x67,0x54,0xef,0x7a,0xb3,0x6, 0x67,0x7e,0x34,0x0, 0xc7,
+0x7a,0x37,0x5, 0xf8,0x7e,0x34,0x0, 0xa0,0x7a,0x37,0x5, 0xfa,0xe4,0x7a,0xb3,0x6,
+0x49,0x7a,0xb3,0x6, 0x4a,0x7a,0x37,0x6, 0x4b,0x7e,0x34,0x0, 0x31,0x7a,0x37,0x5,
+0xfc,0x7e,0x34,0x1, 0x5c,0x7a,0x37,0x5, 0xfe,0x12,0x41,0x1d,0x7e,0x34,0x0, 0x8,
+0x7a,0x37,0x6, 0x2, 0x7e,0x34,0x0, 0x7, 0x7a,0x37,0x6, 0x0, 0x7e,0x34,0x0, 0x1a,
+0x7a,0x37,0x6, 0x4, 0x7e,0x34,0x6, 0x65,0x7a,0x37,0x6, 0x6, 0x7e,0x34,0x22,0x98,
+0x7a,0x37,0x6, 0x8, 0x7e,0x34,0x20,0x4, 0x7a,0x37,0x6, 0xc, 0x7e,0x34,0x20,0x51,
+0x7a,0x37,0x6, 0xa, 0xe4,0x7a,0xb3,0x6, 0x4d,0x7e,0x34,0xa, 0xd1,0x7a,0x37,0x6,
+0x4e,0x22,0x7e,0xb3,0x6, 0x67,0x54,0xfe,0x7a,0xb3,0x6, 0x67,0x22,0x7e,0xb3,0x6,
+0x67,0x54,0xdf,0x7a,0xb3,0x6, 0x67,0x22,0x7e,0xb3,0x6, 0x67,0x44,0x4, 0x7a,0xb3,
+0x6, 0x67,0x12,0x15,0x1d,0x7e,0xb3,0x6, 0x67,0x54,0xfb,0x7a,0xb3,0x6, 0x67,0x22,
+0xca,0x3b,0x7e,0x48,0x75,0x30,0x7f,0x74,0x9f,0x55,0x7f,0x5, 0x6c,0x77,0x7e,0xa0,
+0x1, 0x6c,0x66,0x7e,0x50,0x2, 0xac,0x56,0x49,0x72,0x5, 0x34,0x6d,0x66,0x7e,0x50,
+0x4, 0xac,0x56,0x49,0xd2,0x3, 0x5e,0x49,0xc2,0x3, 0x5c,0x2f,0x63,0xbf,0x76,0x8,
+0x2, 0x7f,0x76,0xbf,0x6, 0x58,0x2, 0x7f,0x6, 0xb, 0x60,0xa5,0xbe,0x16,0xd4,0x7f,
+0x30,0x9f,0x37,0xbe,0x38,0x4, 0xb0,0x58,0x3, 0x7e,0x70,0x1, 0x7f,0x74,0x7f,0x5,
+0x6c,0x66,0x7e,0x50,0x2, 0xac,0x56,0x49,0xd2,0x5, 0x34,0x6d,0xcc,0xbf,0x76,0x8,
+0x2, 0x7f,0x76,0xbf,0x6, 0x58,0x2, 0x7f,0x6, 0xb, 0x60,0xa5,0xbe,0x16,0xe3,0x9f,
+0x7, 0xbe,0x8, 0x4, 0xb0,0x8, 0x2, 0x6c,0xaa,0x4c,0x77,0x68,0x8, 0x4c,0xaa,0x78,
+0x4, 0x74,0x1, 0x80,0x1, 0xe4,0xda,0x3b,0x22,0xca,0x3b,0x7c,0xcb,0x6c,0xaa,0xe5,
+0x9, 0x70,0xa, 0xe5,0x1c,0x70,0x6, 0xe5,0x11,0x70,0x2, 0x61,0x33,0x20,0x7, 0x6,
+0x7e,0x74,0xc, 0xac,0x80,0x4, 0x7e,0x74,0xc, 0xbe,0x6c,0xdd,0x7e,0x70,0xff,0xa,
+0x2d,0x2d,0x27,0x7a,0x29,0x70,0xb, 0xd0,0xbe,0xd0,0x12,0x78,0xf2,0x74,0xaa,0x7a,
+0x79,0xb0,0x19,0xb7,0x0, 0x1, 0x74,0x12,0x19,0xb7,0x0, 0x2, 0x7e,0xb3,0x2, 0xca,
+0x19,0xb7,0x0, 0x4, 0x6c,0x77,0x6c,0xdd,0x7e,0x10,0x5, 0xac,0x1d,0x9, 0x60,0x2,
+0xba,0xbe,0x60,0xff,0x78,0x2, 0x41,0xbc,0xa, 0x16,0x9, 0xb1,0x3, 0x4e,0xbe,0xb0,
+0x3, 0x78,0x2, 0x41,0xbc,0x49,0x40,0x2, 0xb6,0x2e,0x44,0x0, 0x3, 0x49,0x20,0x2,
+0xb8,0x2e,0x24,0x0, 0x3, 0xa, 0x8, 0x12,0x43,0x4c,0x19,0x60,0x0, 0x5, 0x7c,0x69,
+0xa, 0x7, 0x2d,0x7, 0x19,0x60,0x0, 0x6, 0xa, 0x4, 0x12,0x43,0x4c,0x19,0x60,0x0,
+0x7, 0x7c,0x65,0xa, 0x7, 0x2d,0x7, 0x19,0x60,0x0, 0x8, 0xe4,0xa, 0x7, 0x2d,0x7,
+0x19,0xb0,0x0, 0x9, 0xa, 0x7, 0x2d,0x7, 0x19,0xb0,0x0, 0xa, 0x12,0x43,0x42,0xc4,
+0x54,0xf0,0xa, 0x7, 0x2d,0x7, 0x2e,0x4, 0x0, 0x7, 0x7e,0x9, 0x60,0x2c,0x6b,0x7a,
+0x9, 0x60,0x12,0x43,0x42,0xbe,0xb0,0xff,0x68,0x1f,0x12,0x3e,0x1d,0x68,0x2, 0xb,
+0xa0,0x9, 0xb1,0x3, 0x4e,0x3, 0x3, 0x54,0xc0,0xa, 0x17,0x2d,0x17,0x2e,0x14,0x0,
+0x5, 0x7e,0x19,0x60,0x2c,0x6b,0x7a,0x19,0x60,0x2e,0x70,0x6, 0xb, 0xd0,0xbe,0xd0,
+0x2, 0x68,0x2, 0x41,0x18,0x19,0xa7,0x0, 0x3, 0xe4,0x19,0xb7,0x0, 0x11,0x6c,0xdd,
+0xa, 0x3d,0x2d,0x37,0x7e,0x39,0x60,0x7d,0x27,0x2e,0x24,0x0, 0x11,0x7e,0x29,0x70,
+0x6c,0x76,0x7a,0x29,0x70,0xb, 0xd0,0xbe,0xd0,0x11,0x78,0xe4,0x30,0x7, 0x4, 0xc2,
+0x7, 0x80,0x2, 0xd2,0x7, 0xe5,0x1c,0x60,0x3, 0x12,0x3e,0x73,0x75,0x9, 0x0, 0x75,
+0x1c,0x0, 0x75,0x11,0x0, 0x7e,0xb3,0xb, 0xb3,0xb4,0x1, 0x14,0x12,0x2f,0x3c,0x68,
+0x26,0xe5,0x4f,0xb4,0x1, 0xf, 0x74,0x1, 0x12,0x43,0x3a,0x75,0x4f,0x0, 0x80,0x5,
+0x74,0x1, 0x12,0x43,0x3a,0x7e,0x34,0x0, 0x9, 0x12,0x43,0x57,0xbe,0xc0,0x1, 0x78,
+0x6, 0x80,0x0, 0xe4,0x12,0x43,0x3a,0xda,0x3b,0x22,0x70,0x3, 0xd2,0x86,0x22,0xc2,
+0x86,0x22,0x7e,0x10,0x5, 0xac,0x1d,0x9, 0xb0,0x2, 0xba,0x22,0x5e,0x4, 0x0, 0xf,
+0x7c,0x61,0xa, 0x7, 0x2d,0x7, 0x22,0x7e,0x24,0x0, 0x14,0xad,0x32,0x80,0x3, 0x0,
+0x0, 0x0, 0x7d,0x23,0x1b,0x34,0x4d,0x22,0x78,0xf5,0x22,0x30,0x0, 0x44,0xc2,0x6,
+0xe4,0x7a,0xb3,0x3, 0x48,0x30,0x1, 0x1c,0x80,0x3, 0x30,0x0, 0x9, 0xa9,0x21,0x94,
+0xf9,0x80,0x3, 0x30,0x0, 0x4, 0xa9,0x31,0x94,0xf9,0x30,0x0, 0x1e,0x80,0x15,0x80,
+0x3, 0x30,0x0, 0x9, 0xa9,0x31,0x94,0xf9,0x80,0x3, 0x30,0x0, 0x4, 0xa9,0x21,0x94,
+0xf9,0x30,0x0, 0x7, 0xd2,0x6, 0xe4,0x7a,0xb3,0x2, 0xcf,0x7e,0x37,0x2, 0xcd,0x2,
+0x43,0x57,0x22,0xca,0xf8,0x7c,0xfb,0x74,0x16,0x7a,0xb3,0x6, 0xc6,0xe4,0x7a,0xb3,
+0x6, 0xc7,0x74,0x16,0x7a,0xb3,0x6, 0xc8,0x74,0x30,0x7a,0xb3,0x6, 0xd4,0x7e,0xb3,
+0x6, 0xcb,0x54,0xbf,0x7a,0xb3,0x6, 0xcb,0x54,0x7f,0x7a,0xb3,0x6, 0xcb,0x54,0xf9,
+0x7a,0xb3,0x6, 0xcb,0x7e,0xb3,0x6, 0xca,0x54,0xbf,0x7a,0xb3,0x6, 0xca,0x7e,0xb3,
+0x6, 0xd7,0x44,0x4, 0x7a,0xb3,0x6, 0xd7,0x74,0x15,0x7a,0xb3,0x6, 0xd5,0x7e,0xb3,
+0x6, 0xca,0x54,0x7f,0x7a,0xb3,0x6, 0xca,0x7e,0xb3,0x6, 0xcb,0x54,0xfe,0x7a,0xb3,
+0x6, 0xcb,0x7e,0x34,0x4, 0xc5,0x7e,0x24,0x6, 0x68,0x74,0x16,0x7e,0x30,0x97,0x12,
+0x45,0xb, 0x6c,0x77,0x80,0x8, 0xa, 0x27,0x19,0x72,0x6, 0x96,0xb, 0x70,0x7e,0x63,
+0x6, 0xc8,0xbc,0x67,0x38,0xf0,0x7e,0xb3,0x6, 0xc9,0x44,0x1, 0x7a,0xb3,0x6, 0xc9,
+0x5e,0xf0,0x7f,0xbe,0xf0,0x1, 0x78,0xe, 0x7e,0xb3,0x6, 0xc9,0x12,0x44,0xef,0x44,
+0x8, 0x12,0x44,0xfc,0x80,0x38,0xbe,0xf0,0x2, 0x7e,0xb3,0x6, 0xc9,0x78,0x8, 0x12,
+0x44,0xef,0x12,0x44,0xfc,0x80,0x27,0x44,0x6, 0x12,0x44,0xf1,0x44,0x18,0x7a,0xb3,
+0x6, 0xcb,0x7e,0x63,0x3, 0x35,0x5e,0x60,0x7, 0x7c,0xb6,0xc4,0x3, 0x54,0xf8,0x7c,
+0x6b,0x7e,0x73,0x6, 0xca,0x5e,0x70,0xc7,0x4c,0x76,0x7a,0x73,0x6, 0xca,0xe4,0x7a,
+0xb3,0x6, 0xd6,0x7e,0xb3,0x6, 0xca,0x54,0xfe,0x7a,0xb3,0x6, 0xca,0x44,0x6, 0x7a,
+0xb3,0x6, 0xca,0x7e,0x73,0x3, 0x38,0x7a,0x73,0x6, 0xcc,0x7e,0x73,0x3, 0x39,0x7a,
+0x73,0x6, 0xcd,0x7e,0x73,0x3, 0x36,0x7a,0x73,0x6, 0xce,0x7e,0x73,0x3, 0x3a,0x7a,
+0x73,0x6, 0xcf,0x7e,0x73,0x3, 0x3b,0x7a,0x73,0x6, 0xd0,0x7e,0x73,0x3, 0x37,0x7a,
+0x73,0x6, 0xd1,0x7e,0x73,0x3, 0x3c,0x7a,0x73,0x6, 0xd2,0x7e,0x73,0x3, 0x3d,0x7a,
+0x73,0x6, 0xd3,0x12,0x1f,0xe6,0x54,0xfd,0x7a,0xb3,0x6, 0xd7,0xda,0xf8,0x22,0x54,
+0xf9,0x7a,0xb3,0x6, 0xc9,0x7e,0xb3,0x6, 0xcb,0x54,0xc7,0x22,0x7a,0xb3,0x6, 0xcb,
+0x7e,0xb3,0x6, 0xca,0x54,0xc7,0x7a,0xb3,0x6, 0xca,0x22,0x7c,0x23,0x7c,0x3b,0x7d,
+0x43,0x7c,0xb2,0x24,0x6a,0xbe,0xb0,0x9, 0x40,0x2, 0xe1,0x77,0x7e,0xa0,0x3, 0xa4,
+0x90,0x45,0x24,0x73,0x2, 0x45,0x3f,0x2, 0x45,0xf4,0x2, 0x46,0x2a,0x2, 0x46,0x60,
+0x2, 0x47,0x41,0x2, 0x47,0x77,0x2, 0x46,0x96,0x2, 0x46,0xc6,0x2, 0x46,0xf6,0x6c,
+0x77,0xa1,0xed,0x12,0x47,0xa0,0xbe,0xb0,0x12,0x40,0x2, 0xa1,0xe8,0x7e,0xa0,0x3,
+0xa4,0x90,0x45,0x55,0x73,0x2, 0x45,0x8b,0x2, 0x45,0x90,0x2, 0x45,0x95,0x2, 0x45,
+0x9a,0x2, 0x45,0x9f,0x2, 0x45,0xa4,0x2, 0x45,0xa9,0x2, 0x45,0xae,0x2, 0x45,0xb3,
+0x2, 0x45,0xb8,0x2, 0x45,0xbd,0x2, 0x45,0xc2,0x2, 0x45,0xc7,0x2, 0x45,0xcc,0x2,
+0x45,0xd1,0x2, 0x45,0xd6,0x2, 0x45,0xdb,0x2, 0x45,0xe0,0x7e,0x20,0x4, 0x80,0x53,
+0x7e,0x20,0x6, 0x80,0x4e,0x7e,0x20,0x7, 0x80,0x49,0x7e,0x20,0x5, 0x80,0x44,0x7e,
+0x20,0xe, 0x80,0x3f,0x7e,0x20,0x8, 0x80,0x3a,0x7e,0x20,0xf, 0x80,0x35,0x7e,0x20,
+0x10,0x80,0x30,0x7e,0x20,0x11,0x80,0x2b,0x7e,0x20,0x12,0x80,0x26,0x7e,0x20,0x17,
+0x80,0x21,0x7e,0x20,0x1a,0x80,0x1c,0x7e,0x20,0x18,0x80,0x17,0x7e,0x20,0x1b,0x80,
+0x12,0x7e,0x20,0x21,0x80,0xd, 0x7e,0x20,0x20,0x80,0x8, 0x7e,0x20,0x1f,0x80,0x3,
+0x7e,0x20,0x19,0x12,0x47,0x90,0x80,0x3, 0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x28,
+0x2, 0xa1,0x43,0x22,0x6c,0x77,0x80,0x2d,0x12,0x47,0xa0,0xbe,0x60,0x7, 0x40,0x10,
+0xbe,0x60,0xe, 0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x13,0x12,0x47,0x8e,0x80,0x13,
+0xbe,0x60,0xf, 0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x29,0x12,0x47,0x8e,0x80,0x3,
+0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x2d,0x12,0x47,
+0xa0,0xbe,0x60,0x9, 0x40,0x10,0xbe,0x60,0x12,0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0x10,0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x13,0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0x23,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,
+0x6c,0x77,0x80,0x2d,0x12,0x47,0xa0,0xbe,0x60,0xd, 0x40,0x10,0xbe,0x60,0x18,0x38,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0xb, 0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x19,0x40,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x1b,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb,
+0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x27,0x12,0x47,0xa0,0xbe,0x60,0xe,
+0x40,0xa, 0xbe,0x60,0x19,0x38,0x5, 0x12,0x47,0x88,0x80,0x13,0xbe,0x60,0x1a,0x40,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x19,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb,
+0x70,0xbc,0x37,0x38,0xd5,0x22,0x6c,0x77,0x80,0x27,0x12,0x47,0xa0,0xbe,0x60,0xe,
+0x40,0xa, 0xbe,0x60,0x19,0x38,0x5, 0x12,0x47,0x88,0x80,0x13,0xbe,0x60,0x1a,0x40,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x18,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb,
+0x70,0xbc,0x37,0x38,0xd5,0x22,0x6c,0x77,0x80,0x42,0x12,0x47,0xa0,0xbe,0x60,0x0,
+0x40,0x10,0xbe,0x60,0xd, 0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x3, 0x12,0x47,0x8e,
+0x80,0x28,0xbe,0x60,0xe, 0x40,0x10,0xbe,0x60,0x1b,0x38,0xb, 0xa, 0x56,0x2e,0x54,
+0x0, 0x9, 0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x1c,0x40,0xb, 0xa, 0x56,0x2e,0x54,
+0x0, 0x15,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x38,0xba,
+0x22,0x6c,0x77,0x80,0x2d,0x12,0x47,0xa0,0xbe,0x60,0x11,0x40,0x10,0xbe,0x60,0x1e,
+0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x6, 0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x1f,
+0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x11,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,
+0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x8, 0x12,0x47,0xa0,0x12,0x47,
+0x98,0xb, 0x70,0xbc,0x37,0x38,0xf4,0x22,0xa, 0x56,0x2e,0x54,0x0, 0xa, 0x7c,0x2b,
+0x7d,0x50,0x2d,0x52,0x7a,0x59,0x20,0x22,0x7d,0x50,0x2d,0x52,0x7a,0x59,0x60,0x22,
+0xa, 0x7, 0x7d,0x50,0x2d,0x54,0x7a,0xb1,0x82,0x7a,0xa1,0x83,0xe4,0x93,0x7c,0x6b,
+0x22,0x7e,0x4, 0x0, 0x76,0x6d,0x11,0xe4,0x7a,0x9, 0xb0,0xb, 0x4, 0xb, 0x14,0xbe,
+0x14,0x0, 0x1c,0x78,0xf2,0x7e,0x4, 0x2, 0xb6,0x6d,0x11,0xe4,0x7a,0x9, 0xb0,0xb,
+0x4, 0xb, 0x14,0xbe,0x14,0x0, 0x17,0x78,0xf2,0x6d,0x11,0x12,0x4b,0x6e,0x2e,0x34,
+0x0, 0x7a,0x12,0x4b,0x6b,0x2e,0x34,0x2, 0xb6,0x12,0x4b,0x6b,0x2e,0x34,0x2, 0xc0,
+0x12,0x4b,0x59,0xb, 0x14,0xbe,0x14,0x0, 0x2, 0x40,0xe0,0x74,0x2, 0x7a,0xb3,0x0,
+0x68,0x74,0xa, 0x7a,0xb3,0x0, 0x69,0x7e,0x34,0x0, 0xc7,0x7a,0x37,0x0, 0x6a,0x7e,
+0x34,0x0, 0xc6,0x7a,0x37,0x0, 0x6c,0x7e,0x34,0x0, 0x31,0x7a,0x37,0x0, 0x70,0xc2,
+0x4, 0x75,0xd, 0x0, 0x75,0x1a,0x0, 0xc2,0x5, 0x75,0xb, 0x0, 0x12,0x48,0x45,0x7e,
+0x24,0x7, 0xd0,0x7a,0x27,0x0, 0x74,0x7a,0x37,0x0, 0x9c,0xe4,0x7a,0xb3,0x2, 0xd2,
+0x7a,0xb3,0xb, 0x37,0x22,0x6d,0x33,0x7a,0x37,0x2, 0xd0,0x22,0x12,0x48,0x45,0x7e,
+0x34,0x3, 0xe8,0x7a,0x37,0x0, 0x74,0x2, 0x48,0x5a,0x7e,0x34,0xb, 0x63,0x7e,0xb3,
+0xb, 0xc2,0x20,0xe0,0x2, 0x21,0x19,0x54,0xfe,0x7a,0xb3,0xb, 0xc2,0x7e,0x39,0x50,
+0x7a,0x53,0x3, 0x4b,0x12,0x49,0x1a,0x3e,0x24,0x3e,0x24,0x7a,0x27,0x3, 0x49,0xbe,
+0x24,0x2, 0x26,0x50,0x8, 0x7e,0x24,0x2, 0x26,0x7a,0x27,0x3, 0x49,0x9, 0x53,0x0,
+0x5, 0x7a,0x53,0x0, 0xa0,0x12,0x49,0x1a,0x7a,0x27,0x0, 0x9e,0x9, 0x53,0x0, 0x25,
+0xa, 0x25,0x7a,0x27,0x0, 0x92,0x9, 0x53,0x0, 0x6, 0x7a,0x53,0x0, 0x94,0x9, 0x53,
+0x0, 0x8, 0x7a,0x53,0x0, 0x96,0xbe,0x50,0xf, 0x40,0x6, 0x74,0xe, 0x19,0xb3,0x0,
+0x8, 0x9, 0x53,0x0, 0x8, 0xa, 0x25,0x2e,0x24,0x4, 0xfb,0x7a,0x51,0x82,0x7a,0x41,
+0x83,0xe4,0x93,0x7a,0xb3,0x0, 0x95,0x9, 0x53,0x0, 0x9, 0x7a,0x53,0x0, 0x98,0x7a,
+0x53,0x0, 0x97,0x9, 0x53,0x0, 0x24,0x7a,0x53,0x0, 0x9a,0x9, 0x53,0x0, 0x2d,0x7a,
+0x53,0xd, 0x3f,0x9, 0xb3,0x0, 0x2e,0x7a,0xb3,0x3, 0x34,0xb4,0x1, 0x5, 0xe4,0x7a,
+0xb3,0x3, 0x34,0x7e,0xa3,0xb, 0xb3,0xbe,0xa3,0x0, 0xa1,0x68,0xc, 0x4c,0xaa,0x74,
+0x5, 0x7a,0xb3,0x0, 0x99,0x7a,0xa3,0x0, 0xa1,0x22,0xa, 0x25,0x3e,0x24,0x3e,0x24,
+0x3e,0x24,0x3e,0x24,0x22,0x12,0x49,0xe0,0x12,0x49,0xa1,0x12,0x37,0xd1,0x12,0x4a,
+0xa4,0x12,0x4a,0xf0,0x74,0x1, 0x7a,0xb3,0xb, 0x9f,0x7e,0xb3,0xb, 0x9f,0x24,0xfd,
+0x68,0x11,0x24,0xae,0x68,0x32,0x24,0xab,0x68,0xe, 0x24,0xa9,0x78,0xec,0x12,0x11,
+0x6d,0x80,0xe7,0x12,0x1f,0xe, 0x80,0xe2,0x12,0x48,0x45,0x7e,0x24,0x1, 0xf4,0x7a,
+0x27,0x0, 0x74,0x7e,0xb3,0x2, 0xd2,0xbe,0xb0,0xaa,0x68,0xce,0x7a,0x37,0x0, 0x9c,
+0x74,0xaa,0x7a,0xb3,0x2, 0xd2,0x80,0xc2,0x12,0x48,0x45,0x7e,0x34,0x1, 0xf4,0x7a,
+0x37,0x0, 0x74,0x7e,0xb3,0x2, 0xd2,0xb4,0xaa,0xb0,0x74,0x55,0x7a,0xb3,0x2, 0xd2,
+0x7e,0x74,0x3, 0xe8,0x7d,0x37,0x1b,0x74,0x4d,0x33,0x78,0xf8,0x75,0xe9,0xff,0x80,
+0x99,0x12,0x49,0xc9,0x12,0x0, 0x17,0x12,0x49,0xef,0xc2,0x0, 0xc2,0x2, 0x22,0xc2,
+0x8e,0xe5,0x89,0x54,0xf, 0x44,0x20,0xf5,0x89,0x75,0x8d,0x1, 0x75,0x8b,0x0, 0xd2,
+0x8e,0xd2,0xab,0xa9,0xc3,0xb7,0xd2,0xbb,0x22,0xe4,0x12,0x4a,0x69,0x12,0x4a,0x30,
+0x12,0x4a,0x3c,0x74,0x1, 0x2, 0x49,0xd8,0x70,0x3, 0xc2,0xaf,0x22,0xd2,0xaf,0x22,
+0x6d,0x33,0x7a,0x37,0x2, 0xd0,0x7e,0x34,0x7, 0xd0,0x7a,0x37,0x0, 0x74,0x22,0x7e,
+0x18,0x0, 0x54,0x74,0xf, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0x8, 0x3, 0xe8,0x12,0x4,
+0x59,0xbe,0x18,0xf, 0xff,0x28,0x4, 0x7e,0x18,0xf, 0xff,0xd2,0xc8,0xa9,0xc0,0xcd,
+0xc2,0xaf,0xa9,0xd0,0x9e,0x7c,0xb6,0xf5,0x9d,0xa9,0xd0,0x9e,0x7c,0xb7,0xf5,0x9c,
+0x12,0x4a,0x28,0xc2,0xa8,0xd2,0xaf,0x22,0xc2,0x88,0xd2,0xb8,0xa9,0xd0,0xb7,0x22,
+0x75,0xeb,0x3, 0xa9,0xd6,0xac,0xa9,0xd6,0xec,0xd2,0x86,0x22,0xa9,0xd1,0x99,0x75,
+0x9a,0xfe,0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0xa9,0xd6,0xeb,0x70,0xf, 0xa9,0xc6,0xac,
+0xa9,0xc6,0xec,0xa9,0xd7,0xcd,0xc2,0x96,0xc2,0x95,0x80,0x7, 0xa9,0xd4,0xcd,0xd2,
+0x96,0xd2,0x95,0x12,0x4a,0x28,0xd2,0xa8,0x22,0xd2,0xcf,0xbe,0xb0,0x7, 0x38,0x4,
+0x7c,0xab,0x80,0x2, 0x6c,0xaa,0x43,0xcb,0x8e,0x4e,0xa0,0x30,0x7a,0xa1,0xcc,0x0,
+0x0, 0x0, 0x0, 0xa9,0xd0,0xca,0xa9,0xc5,0xcb,0x53,0xca,0xf1,0x43,0xca,0xe, 0x75,
+0xcf,0x4, 0xc2,0xcc,0xd2,0xcb,0xc2,0xca,0xc2,0xc9,0xc2,0xc8,0xa9,0xc6,0xcb,0x0,
+0x0, 0x0, 0x0, 0x22,0xe4,0x7a,0xb3,0x3, 0x34,0x74,0x1, 0x7a,0xb3,0x3, 0x42,0x74,
+0x7, 0x7a,0xb3,0x3, 0x41,0x74,0xf, 0x7a,0xb3,0x3, 0x38,0x7a,0xb3,0x3, 0x39,0x74,
+0x3f,0x7a,0xb3,0x3, 0x36,0x74,0x12,0x7a,0xb3,0x3, 0x3a,0x7a,0xb3,0x3, 0x3b,0x74,
+0x3f,0x7a,0xb3,0x3, 0x37,0x74,0x10,0x7a,0xb3,0x3, 0x3c,0x7a,0xb3,0x3, 0x3d,0x74,
+0x5, 0x7a,0xb3,0x3, 0x35,0x74,0x3, 0x7a,0xb3,0x3, 0x40,0x7a,0xb3,0x3, 0x3f,0x22,
+0x6d,0x22,0x7a,0x27,0xc, 0x7c,0x7e,0x34,0x1, 0x8e,0x7a,0x37,0xc, 0x7e,0x7a,0x27,
+0xc, 0x80,0x7a,0x37,0xc, 0x82,0x7e,0x14,0x0, 0x84,0x7a,0x17,0xc, 0x85,0x7e,0x14,
+0x0, 0xc7,0x7a,0x17,0xc, 0x87,0x74,0x64,0x7a,0xb3,0xc, 0x84,0x7e,0x14,0x0, 0x96,
+0x7a,0x17,0xc, 0x89,0x7a,0x27,0xc, 0xa0,0x7a,0x37,0xc, 0xa2,0x7a,0x27,0xc, 0xa4,
+0x7a,0x37,0xc, 0xa6,0x74,0x50,0x7a,0xb3,0xc, 0x9e,0x74,0x1e,0x7a,0xb3,0xc, 0x9f,
+0x74,0x3, 0x7a,0xb3,0xc, 0xa8,0x74,0x32,0x7a,0xb3,0xc, 0xa9,0x74,0xf, 0x7a,0xb3,
+0xc, 0xaa,0x74,0x50,0x7a,0xb3,0xc, 0xab,0x22,0x7e,0x24,0x7f,0xff,0x1b,0x38,0x20,
+0x59,0x23,0x0, 0x2, 0x74,0xff,0x19,0xb3,0x0, 0x4, 0x22,0x12,0x4b,0x59,0x7e,0x34,
+0x0, 0x5, 0xad,0x31,0x22,0xbe,0xb0,0x5e,0x38,0x2e,0xbe,0xb0,0x26,0x68,0x29,0xbe,
+0xb0,0x2f,0x68,0x24,0xbe,0xb0,0x23,0x68,0x1f,0xbe,0xb0,0x28,0x68,0x1a,0xbe,0xb0,
+0x21,0x68,0x15,0xbe,0xb0,0x22,0x68,0x10,0xa, 0x2b,0x19,0x72,0xb, 0x63,0x7e,0xb3,
+0xb, 0xc2,0x44,0x1, 0x7a,0xb3,0xb, 0xc2,0x22,0xca,0x79,0x7c,0x6b,0x24,0x0, 0x78,
+0x75,0x7e,0x74,0xc, 0xd6,0x7a,0x79,0x70,0x5e,0x70,0x70,0x7c,0xb7,0xc4,0x54,0xf,
+0x7c,0x7b,0xbe,0x70,0x4, 0x68,0x47,0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x20,0xa5,0xbf,
+0x1, 0x6, 0x74,0x2, 0x6c,0x77,0x80,0x5c,0xa5,0xbf,0x0, 0x7, 0x74,0x2, 0x7e,0x70,
+0x1, 0x80,0x51,0xa5,0xbf,0x3, 0x68,0x74,0x2, 0x7e,0x70,0x4, 0x80,0x46,0xa5,0xbf,
+0x1, 0x6, 0x74,0x3c,0x6c,0x77,0x80,0x29,0xa5,0xbf,0x4, 0x7, 0x74,0x3c,0x7e,0x70,
+0x3, 0x80,0x1e,0xa5,0xbf,0x3, 0x48,0x74,0x3c,0x7e,0x70,0x4, 0x80,0x13,0x7e,0xb3,
+0xb, 0x9f,0xb4,0x3, 0x7, 0x74,0x2, 0x7e,0x70,0x3, 0x80,0x18,0x74,0x3c,0x7e,0x70,
+0x3, 0x12,0x4b,0x75,0x80,0x29,0xbe,0x60,0xa, 0x50,0xe, 0x7e,0xb3,0xb, 0x9f,0xb4,
+0x3, 0x1d,0x7c,0xb6,0x12,0x35,0x35,0x80,0x16,0xbe,0x60,0xa, 0x40,0x11,0xbe,0x60,
+0xaf,0x38,0xc, 0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x5, 0x7c,0xb6,0x12,0x35,0x47,0xda,
+0x79,0x22,0x74,0x17,0x7a,0xb3,0xb, 0x63,0x74,0xa0,0x7a,0xb3,0xb, 0x68,0xe4,0x7a,
+0xb3,0xb, 0x69,0x74,0x5, 0x7a,0xb3,0xb, 0x6a,0x74,0xe, 0x7a,0xb3,0xb, 0x6b,0x74,
+0x5a,0x7a,0xb3,0xb, 0x6c,0x74,0xe, 0x7a,0xb3,0xb, 0x86,0x74,0x1, 0x7a,0xb3,0xb,
+0x87,0xe4,0x7a,0xb3,0xb, 0x88,0x74,0x1, 0x7a,0xb3,0xb, 0x89,0x7a,0xb3,0xb, 0x9f,
+0x74,0x89,0x7a,0xb3,0xb, 0x8b,0xe4,0x7a,0xb3,0xb, 0x8c,0x74,0x2, 0x7a,0xb3,0xb,
+0x92,0xe4,0x7a,0xb3,0xb, 0x91,0x7a,0xb3,0xb, 0x90,0x7a,0xb3,0xd, 0x3f,0x7a,0xb3,
+0xb, 0xb3,0x74,0x3f,0x7a,0xb3,0xb, 0xb4,0xe4,0x7a,0xb3,0xb, 0x93,0x7a,0xb3,0xb,
+0x9e,0x7a,0xb3,0xb, 0x79,0x7e,0x34,0x5, 0xdc,0x7a,0x37,0x3, 0x49,0x74,0x17,0x7a,
+0xb3,0x3, 0x4b,0x12,0x4d,0x11,0x12,0x4d,0x9, 0x7a,0xb3,0x0, 0x94,0x74,0x7, 0x7a,
+0xb3,0x0, 0x95,0x74,0xe, 0x7a,0xb3,0x0, 0x96,0x74,0x5a,0x7a,0xb3,0x0, 0x97,0x7a,
+0xb3,0x0, 0x98,0x74,0x5, 0x7a,0xb3,0x0, 0x99,0x74,0x1, 0x7a,0xb3,0x0, 0x9a,0xe4,
+0x7a,0xb3,0x0, 0x9b,0x7a,0xb3,0x0, 0xa1,0x22,0x6d,0x33,0x7a,0x37,0x0, 0x92,0xe4,
+0x22,0x7e,0x34,0xa, 0x0, 0x7a,0x37,0x0, 0x9e,0x74,0xa0,0x7a,0xb3,0x0, 0xa0,0x22,
+0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,0xca,0x1b,0xca,0xb, 0xc0,0xd0,
+0xc0,0x83,0xc0,0x82,0x12,0x33,0x29,0x74,0x1, 0x7a,0xb3,0xc, 0xd1,0xd0,0x82,0xd0,
+0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,
+0x7b,0x32,0xca,0xb8,0xa9,0xc0,0x93,0xe4,0x7a,0xb3,0xc, 0xd0,0x7a,0xb3,0xc, 0xd2,
+0xda,0xb8,0x32,0x6c,0xaa,0x74,0xff,0xa, 0x4a,0x19,0xb4,0xc, 0xac,0x19,0xb4,0xc,
+0xbe,0xb, 0xa0,0xbe,0xa0,0x12,0x40,0xed,0x22,0xa9,0xd5,0xea,0xa9,0xc4,0xcb,0x75,
+0xa6,0x0, 0xa9,0xc1,0xcd,0x22,0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,
+0xca,0x1b,0xca,0xb, 0xc0,0xd0,0xc0,0x83,0xc0,0x82,0x12,0x4d,0xd1,0x7e,0xb3,0xc,
+0xd6,0x54,0xfd,0x7a,0xb3,0xc, 0xd6,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xd2,
+0xaf,0xc2,0x95,0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,0x4d,0x79,0xd0,0x82,0xd0,0x83,
+0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,0x7b,
+0x32,0xe5,0x9a,0x60,0x5, 0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0xa9,0xd4,0xcb,0x75,0xa6,
+0x10,0xa9,0xd1,0xcd,0xa9,0xc5,0xea,0x22,0xd2,0xce,0x75,0x92,0x70,0xd2,0xad,0xd2,
+0xe8,0xc2,0xc0,0xa9,0xd0,0xf7,0xd2,0xf8,0xa9,0xd5,0xb7,0xd2,0xbd,0x22,0xca,0x7b,
+0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,0xca,0x1b,0xca,0xb, 0xc0,0xd0,0xc0,0x83,
+0xc0,0x82,0x7e,0x35,0x1d,0xb, 0x34,0x7a,0x35,0x1d,0x7e,0x4, 0x0, 0xa, 0x7d,0x13,
+0x8d,0x10,0x4d,0x0, 0x78,0x38,0x7e,0xb3,0x9, 0x6b,0xbe,0xb0,0x0, 0x28,0x5, 0x14,
+0x7a,0xb3,0x9, 0x6b,0x7e,0xb3,0xd, 0x2c,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,
+0xd, 0x2c,0x7e,0xb3,0xd, 0x35,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x35,
+0x7e,0xb3,0xd, 0x2b,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x2b,0x7e,0xb3,
+0x6, 0xda,0x60,0x5, 0x14,0x7a,0xb3,0x6, 0xda,0xbe,0x34,0x3, 0xe8,0x40,0xe, 0x6d,
+0x33,0x7a,0x35,0x1d,0xe5,0xb, 0xbe,0xb0,0x64,0x50,0x2, 0x5, 0xb, 0x7e,0x37,0x2,
+0xd0,0xb, 0x34,0x7a,0x37,0x2, 0xd0,0x7e,0x37,0x0, 0x74,0xbe,0x37,0x2, 0xd0,0x28,
+0x3, 0x12,0x0, 0x27,0x7e,0xb3,0xb, 0x9f,0xb4,0xaa,0x18,0x7e,0x37,0x0, 0x9c,0x7d,
+0x23,0xb, 0x24,0x7a,0x27,0x0, 0x9c,0xbe,0x34,0x1, 0x2c,0x28,0x6, 0x74,0x1, 0x7a,
+0xb3,0xb, 0x9f,0xe5,0x1a,0xbe,0xb1,0xd, 0x28,0x4, 0x5, 0xd, 0x80,0x2, 0xd2,0x5,
+0x7e,0xb3,0xc, 0xd1,0x60,0xf, 0xbe,0xb0,0x28,0x50,0x7, 0x4, 0x7a,0xb3,0xc, 0xd1,
+0x80,0x3, 0x12,0x34,0xf5,0xd0,0x82,0xd0,0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,
+0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,0x7b,0x32,0x53,0xc8,0xc1,0x53,0xcb,0x10,
+0x22,0x7e,0x73,0x6, 0xc6,0xa, 0x37,0x1e,0x34,0x7a,0x73,0xd, 0x3d,0xa, 0x37,0x1e,
+0x34,0x7a,0x73,0xd, 0x3e,0x22,0xd2,0xc9,0xa, 0x56,0xf5,0xf1,0x7c,0xb7,0xf5,0xf2,
+0x75,0xf3,0x80,0x75,0xf4,0x0, 0x75,0xf5,0x83,0xa9,0x37,0xf5,0xfc,0xa9,0x36,0xf5,
+0xfc,0xe5,0xf6,0x43,0xfa,0x80,0xc2,0xc9,0x22,0x7e,0x24,0x12,0xa, 0xb, 0x28,0x30,
+0x5e,0x70,0xf, 0x1b,0x28,0x30,0xb, 0x28,0x30,0x4e,0x70,0x80,0x1b,0x28,0x30,0x7e,
+0xb3,0x6, 0xcb,0xc4,0x23,0x7c,0x7b,0x5e,0x70,0x7, 0xa5,0xbf,0x0, 0x5, 0x7e,0xa0,
+0x2, 0x80,0x32,0xa5,0xbf,0x1, 0x13,0x7e,0xb3,0x6, 0xc9,0x1e,0xb0,0x54,0x3, 0x68,
+0x4, 0x6c,0xaa,0x80,0x20,0x7e,0xa0,0x3, 0x80,0x1b,0xa5,0xbf,0x3, 0x5, 0x7e,0xa0,
+0x6, 0x80,0x12,0x7e,0xb3,0x6, 0xc9,0x1e,0xb0,0x54,0x3, 0x68,0x5, 0x7e,0xa0,0x1,
+0x80,0x3, 0x7e,0xa0,0x5, 0xa, 0x1a,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x2,
+0x37,0x1a,0x7e,0x24,0x12,0x2, 0xb, 0x28,0x30,0x5e,0x60,0xc0,0x1b,0x28,0x30,0x7e,
+0x73,0x6, 0xc8,0x7c,0x27,0x6c,0x33,0x12,0x37,0x1a,0x6c,0x11,0x80,0xb, 0xa, 0x31,
+0x9, 0x3, 0x6, 0x68,0xa, 0x20,0x12,0x5b,0x77,0x7e,0x3, 0x6, 0xc8,0xbc,0x1, 0x38,
+0xed,0x7c,0x10,0x80,0x9, 0x7e,0x24,0x0, 0x3f,0xa, 0x31,0x12,0x5b,0x77,0xbe,0x10,
+0x2e,0x40,0xf2,0x6d,0x22,0x7e,0x34,0x13,0x16,0x1b,0x38,0x20,0x7e,0x34,0x13,0x18,
+0x1b,0x38,0x20,0x7e,0x34,0x13,0x1a,0x1b,0x38,0x20,0x7e,0x34,0x13,0x1c,0x1b,0x38,
+0x20,0x6c,0x11,0x80,0xd, 0xa, 0x31,0x9, 0x3, 0x6, 0x68,0x7c,0xb0,0x12,0x50,0x19,
+0xb, 0x10,0x7e,0x73,0x6, 0xc8,0xbc,0x71,0x38,0xeb,0x7e,0xb3,0x6, 0xd7,0x30,0xe2,
+0x7, 0x7e,0xb3,0x6, 0xd5,0x2, 0x50,0x19,0x22,0x7c,0x7b,0xc4,0x54,0xf, 0x7c,0xab,
+0xa, 0x37,0x7e,0x24,0x0, 0x10,0x12,0x3, 0xba,0x7c,0x75,0x7e,0x14,0x0, 0x1, 0x7c,
+0xb7,0x60,0x5, 0x3e,0x14,0x14,0x78,0xfb,0xa, 0x2a,0x3e,0x24,0x2e,0x24,0x13,0x16,
+0x2, 0x37,0x1a,0xca,0x1b,0xca,0x19,0xc2,0xee,0xc2,0xc6,0x30,0xb, 0x6, 0x7e,0x34,
+0x0, 0x1, 0x80,0x4, 0x7e,0x34,0x0, 0x2, 0x7e,0x14,0x12,0x6, 0xb, 0x18,0x20,0x5d,
+0x23,0x68,0x7, 0x6d,0x22,0x1b,0x18,0x20,0xd2,0xa, 0xd2,0xee,0xda,0x19,0xda,0x1b,
+0x32,0x7e,0xb3,0x6, 0xd7,0x20,0xe1,0x62,0x12,0x50,0xdb,0x80,0x55,0xa, 0x2a,0x9,
+0x52,0x6, 0x96,0x7e,0x90,0x4, 0xac,0x95,0x49,0x14,0x3, 0x5e,0x49,0x4, 0x3, 0x5c,
+0xbe,0x8, 0x3a,0xc0,0x8, 0x20,0x7e,0xb3,0xc, 0x1f,0x7e,0x44,0x0, 0x1, 0x60,0x5,
+0x3e,0x44,0x14,0x78,0xfb,0x7e,0x10,0x2, 0xac,0x15,0x2e,0x4, 0xb, 0xc3,0xb, 0x8,
+0x10,0x4d,0x14,0x1b,0x8, 0x10,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x51,0x34,0x60,
+0xf, 0x7e,0x30,0x2, 0xac,0x35,0x49,0x1, 0xb, 0xc3,0x12,0x51,0x2c,0x1b,0x18,0x0,
+0xb, 0xa0,0x7e,0x43,0x6, 0xc8,0xbc,0x4a,0x38,0xa3,0x22,0x7e,0x37,0x6, 0xd8,0x6c,
+0xaa,0x22,0x7e,0xb3,0x6, 0xd7,0x20,0xe1,0x42,0x12,0x50,0xdb,0x80,0x35,0xa, 0x2a,
+0x9, 0x52,0x6, 0x96,0x12,0x51,0x2c,0xb, 0x18,0x40,0x7e,0xb3,0xc, 0x1f,0x7e,0x14,
+0x0, 0x1, 0x60,0x5, 0x3e,0x14,0x14,0x78,0xfb,0x4d,0x41,0x7e,0xb3,0x6, 0x4d,0x60,
+0x5, 0x12,0x51,0x34,0x60,0xb, 0xa, 0x1a,0x3e,0x14,0x2e,0x14,0x12,0x14,0x1b,0x18,
+0x40,0xb, 0xa0,0x7e,0x43,0x6, 0xc8,0xbc,0x4a,0x38,0xc3,0x22,0x7e,0x30,0x2, 0xac,
+0x35,0x2d,0x13,0x22,0xa, 0x15,0x2e,0x17,0x6, 0x4e,0x7e,0x19,0xb0,0x22,0xca,0x3b,
+0x12,0xe, 0xaf,0x7c,0xeb,0x4c,0xee,0x78,0x2, 0x61,0x5c,0x7e,0x7f,0x0, 0xa2,0x7e,
+0x34,0x38,0x80,0x7e,0x24,0x0, 0x1, 0xbf,0x71,0x28,0x5, 0x7e,0x80,0xa, 0x80,0x2a,
+0x7e,0x34,0x11,0x70,0x7e,0x24,0x0, 0x1, 0xbf,0x71,0x28,0x5, 0x7e,0x80,0x6, 0x80,
+0x19,0xbe,0x78,0xea,0x60,0x28,0x5, 0x7e,0x80,0x4, 0x80,0xe, 0xbe,0x78,0xc3,0x50,
+0x28,0x5, 0x7e,0x80,0x2, 0x80,0x3, 0x7e,0x80,0x1, 0xa, 0xf8,0x6d,0xee,0x7e,0xd4,
+0x0, 0xf, 0x7f,0x17,0x7d,0x1d,0x12,0x3, 0xfd,0x7f,0x7, 0x12,0x3, 0xec,0x7d,0x1d,
+0x12,0x3, 0xfd,0x7f,0x61,0x6c,0x99,0x7e,0xa0,0x5, 0x7c,0xd9,0xac,0xda,0x9, 0xb6,
+0x2, 0xba,0x7c,0xfb,0xbe,0xf0,0x2, 0x50,0x25,0xa, 0x3f,0x9, 0xb3,0x3, 0x4e,0x70,
+0x1d,0x49,0x6, 0x2, 0xb6,0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x5, 0xb, 0x53,0x49,0x26,
+0x2, 0xb8,0x59,0x25,0xb, 0x55,0x59,0x5, 0xb, 0x5b,0x59,0x25,0xb, 0x5d,0xb, 0x90,
+0xbe,0x90,0x2, 0x78,0xc2,0x6c,0x99,0x61,0x56,0x7e,0xa0,0x5, 0x7c,0x39,0xac,0x3a,
+0x9, 0xb1,0x2, 0xba,0x7c,0xfb,0xbe,0xf0,0x2, 0x40,0x2, 0x61,0x54,0x7e,0xa0,0x4,
+0x7c,0xdf,0xac,0xda,0x49,0x26,0xb, 0x53,0x49,0x31,0x2, 0xb6,0x9d,0x32,0x7d,0xa3,
+0x49,0x26,0xb, 0x55,0x49,0x31,0x2, 0xb8,0x9d,0x32,0x7d,0xb3,0x7d,0x1b,0x12,0x53,
+0x5f,0x7f,0x71,0x7d,0x1a,0x1a,0x2, 0x1a,0x0, 0x7d,0x3a,0x12,0x53,0x63,0x2f,0x17,
+0x7a,0x1f,0xa, 0x3, 0x49,0x26,0xb, 0x5b,0x12,0x53,0x7c,0x9d,0x32,0x7a,0x37,0x9,
+0xfd,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x25,0xb, 0x5d,0x12,0x53,0x72,0x9d,0x32,0x7d,
+0x63,0x7d,0x16,0x12,0x53,0x5f,0x7f,0x71,0x7e,0x27,0x9, 0xfd,0x7d,0x12,0x1a,0x2,
+0x1a,0x0, 0x7f,0x10,0x12,0x3, 0xec,0x2f,0x17,0x7a,0x1f,0x9, 0xff,0x7e,0xa0,0x5,
+0xac,0xa9,0x49,0x25,0x2, 0xb6,0xbe,0x24,0x0, 0x1e,0x40,0x1b,0xbe,0x24,0x1, 0x70,
+0x38,0x15,0x7e,0xa0,0x5, 0xac,0xa9,0x49,0x25,0x2, 0xb8,0xbe,0x24,0x0, 0x1e,0x40,
+0x6, 0xbe,0x24,0x1, 0x70,0x28,0x20,0xa, 0x98,0x6d,0x88,0x7e,0xf4,0x0, 0x6, 0x12,
+0x53,0xa1,0x7e,0x84,0x0, 0xb, 0x7d,0x18,0x12,0x3, 0xfd,0x12,0x53,0x86,0x7d,0x18,
+0x12,0x3, 0xfd,0x7f,0x41,0x80,0x1c,0xa, 0x98,0x6d,0x88,0x7e,0xf4,0x0, 0x5, 0x12,
+0x53,0xa1,0x2f,0x11,0x2f,0x11,0x2f,0x11,0x12,0x53,0x86,0x2f,0x11,0x2f,0x11,0x2f,
+0x11,0x7f,0x41,0x7e,0x1f,0x9, 0xff,0xbf,0x16,0x38,0x4b,0x7e,0xf, 0xa, 0x7, 0x7e,
+0x7f,0xa, 0x3, 0xbf,0x70,0x38,0x12,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x35,0xb, 0x53,
+0x12,0x53,0x92,0x49,0x35,0xb, 0x55,0x80,0x22,0xbf,0x74,0x38,0x3f,0x7e,0xa0,0x4,
+0xac,0xaf,0x49,0x15,0xb, 0x53,0x7e,0x4, 0x0, 0x2, 0x7d,0x3a,0x12,0x53,0x6a,0x12,
+0x53,0x92,0x49,0x15,0xb, 0x55,0x7d,0x3b,0x12,0x53,0x6a,0x7e,0xa0,0x5, 0xac,0xa9,
+0x59,0x35,0x2, 0xb8,0x80,0x16,0x7e,0x24,0x7f,0xff,0x7e,0xa0,0x4, 0xac,0xaf,0x59,
+0x25,0xb, 0x5b,0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x25,0xb, 0x5d,0x12,0x53,0x7c,0x7e,
+0xa0,0x4, 0xac,0xaf,0x59,0x35,0xb, 0x53,0x12,0x53,0x72,0x7e,0xa0,0x4, 0xac,0xaf,
+0x59,0x35,0xb, 0x55,0xb, 0x90,0xbc,0xe9,0x28,0x2, 0x21,0xe9,0xda,0x3b,0x22,0x1a,
+0x2, 0x1a,0x0, 0x1a,0x26,0x1a,0x24,0x2, 0x3, 0xec,0x7d,0x20,0x12,0x3, 0xba,0x2d,
+0x31,0x22,0x7e,0xa0,0x5, 0xac,0xa9,0x49,0x35,0x2, 0xb8,0x22,0x7e,0xa0,0x5, 0xac,
+0xa9,0x49,0x35,0x2, 0xb6,0x22,0xa, 0x18,0x6d,0x0, 0x12,0x3, 0xec,0x7f,0x1, 0x2f,
+0x10,0x22,0x7e,0xa0,0x5, 0xac,0xa9,0x59,0x35,0x2, 0xb6,0x7e,0xa0,0x4, 0xac,0xaf,
+0x22,0x7f,0x14,0x7d,0x1f,0x12,0x3, 0xfd,0x7f,0x4, 0x12,0x3, 0xec,0x7f,0x1, 0x2f,
+0x10,0x7d,0x1f,0x12,0x3, 0xfd,0x7a,0x1f,0xa, 0x7, 0xa, 0x38,0x6d,0x22,0x22,0xca,
+0x3b,0x12,0x3c,0x41,0x78,0x24,0x6c,0xff,0xe4,0xa, 0x3f,0x19,0xb3,0xb, 0x27,0x19,
+0xb3,0xb, 0x31,0x19,0xb3,0x3, 0x5a,0x6d,0x33,0x74,0x2, 0xac,0xbf,0x59,0x35,0xb,
+0x33,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xe0,0xe1,0xa1,0x6c,0xff,0x7e,0x50,0x2, 0xac,
+0x5f,0x49,0x32,0x3, 0x52,0xbe,0x34,0x7f,0xff,0x78,0x17,0xe4,0xa, 0x1f,0x19,0xb1,
+0xb, 0x27,0x19,0xb1,0xb, 0x31,0x19,0xb1,0x3, 0x5a,0x6d,0x11,0x59,0x12,0xb, 0x33,
+0x81,0xba,0xa, 0x1f,0x9, 0xb1,0x3, 0x5a,0x60,0x2, 0x81,0xba,0x59,0x32,0xb, 0x29,
+0x49,0x32,0x3, 0x56,0x59,0x32,0xb, 0x2d,0x49,0x32,0xb, 0x29,0x49,0x22,0xb, 0x2d,
+0x74,0x14,0xac,0xbf,0x49,0x15,0xb, 0xb, 0x49,0x5, 0xb, 0xd, 0x12,0xe, 0x7e,0x7a,
+0x37,0xa, 0x1, 0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0xb, 0x49,0x25,0xb, 0xd, 0x49,
+0x15,0xa, 0xff,0x49,0x5, 0xb, 0x1, 0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x3, 0xa, 0x3f,
+0x9, 0x53,0xb, 0x27,0xbe,0x50,0x2, 0x40,0x4c,0x74,0x2, 0xac,0xbf,0x49,0x25,0xb,
+0x29,0xbe,0x24,0x0, 0x18,0x40,0x16,0xbe,0x24,0x1, 0x76,0x38,0x10,0x49,0x25,0xb,
+0x2d,0xbe,0x24,0x0, 0x18,0x40,0x6, 0xbe,0x24,0x1, 0x76,0x28,0xe, 0x7e,0x27,0xa,
+0x1, 0xbe,0x24,0x0, 0x27,0x28,0x4, 0x74,0x1, 0x80,0x1b,0x7e,0x27,0xa, 0x1, 0xbe,
+0x24,0x0, 0x27,0x28,0xd, 0x7e,0x27,0xa, 0x3, 0xbe,0x24,0x0, 0x42,0x28,0x3, 0xe4,
+0x80,0x4, 0xe4,0x80,0x1, 0xe4,0x19,0xb3,0xb, 0x31,0xb, 0xf0,0xbe,0xf0,0x2, 0x68,
+0x2, 0x61,0xec,0x6c,0xff,0xe1,0x9b,0x74,0x5, 0xac,0xbf,0x9, 0xd5,0x2, 0xba,0xa,
+0x3d,0x9, 0xb3,0xb, 0x27,0x70,0x34,0x6c,0xcc,0x7e,0x70,0x5, 0xac,0x7f,0x49,0x13,
+0x2, 0xb6,0x7e,0x10,0x14,0xac,0x1d,0x7e,0x50,0x4, 0xac,0x5c,0x2d,0x20,0x59,0x12,
+0xa, 0xff,0x49,0x33,0x2, 0xb8,0x59,0x32,0xb, 0x1, 0xb, 0xc0,0xbe,0xc0,0x5, 0x78,
+0xd8,0x6d,0x33,0x74,0x2, 0xac,0xbd,0x59,0x35,0xb, 0x33,0xa, 0x3d,0x9, 0xb3,0xb,
+0x27,0xbe,0xb0,0x5, 0x50,0xa, 0xa, 0x3d,0x2e,0x34,0xb, 0x27,0x4, 0x7a,0x39,0xb0,
+0xa, 0x3d,0x9, 0x73,0xb, 0x27,0xbe,0x70,0x1, 0x38,0x2, 0xa1,0xf7,0x12,0x57,0xa4,
+0x60,0x2, 0xa1,0xf7,0x7e,0x90,0x14,0xac,0x9d,0x49,0x34,0xb, 0xf, 0x49,0x54,0xb,
+0xb, 0x2d,0x53,0x7a,0x57,0x9, 0xfd,0x49,0x34,0xb, 0x11,0x49,0x54,0xb, 0xd, 0x2d,
+0x53,0x7a,0x57,0x9, 0xff,0x74,0x5, 0xac,0xbf,0x49,0x15,0x2, 0xb6,0x2e,0x17,0x9,
+0xfd,0x7e,0x24,0x0, 0x3, 0x8d,0x12,0x59,0x15,0x2, 0xb6,0x49,0x35,0x2, 0xb8,0x2e,
+0x37,0x9, 0xff,0x8d,0x32,0x59,0x35,0x2, 0xb8,0x49,0x24,0xb, 0x7, 0x49,0x35,0x2,
+0xb6,0x9d,0x32,0x12,0x0, 0x2e,0x7a,0x37,0x9, 0xfd,0x74,0x14,0xac,0xbd,0x49,0x25,
+0xb, 0x9, 0x74,0x5, 0xac,0xbf,0x49,0x35,0x2, 0xb8,0x9d,0x32,0x12,0x0, 0x2e,0x12,
+0x57,0xdd,0x38,0xa, 0x7e,0x37,0x9, 0xff,0xbe,0x34,0x0, 0x27,0x28,0x1a,0x12,0x57,
+0xc9,0x2e,0x34,0xb, 0x7, 0x2e,0x14,0xb, 0x3, 0x12,0x5a,0xbe,0x59,0x35,0xb, 0x7,
+0x49,0x34,0x2, 0xb8,0x59,0x35,0xb, 0x9, 0x12,0x57,0xc9,0x2e,0x34,0xb, 0xb, 0x2e,
+0x14,0xb, 0xf, 0x12,0x5a,0xbe,0x59,0x35,0xb, 0xb, 0x49,0x44,0x2, 0xb8,0x59,0x45,
+0xb, 0xd, 0x49,0x35,0xb, 0x7, 0x49,0x25,0xb, 0x9, 0x12,0xe, 0x76,0x74,0x2, 0xac,
+0xbd,0x59,0x35,0xb, 0x33,0xe1,0x99,0x12,0x57,0xa4,0x70,0x2, 0xe1,0x99,0xa, 0x3d,
+0x9, 0x73,0xb, 0x27,0xbe,0x70,0x3, 0x50,0x2, 0xe1,0x99,0x12,0x57,0xab,0x70,0x2,
+0xe1,0x99,0x74,0x14,0xac,0xbd,0x49,0x25,0xa, 0xff,0x49,0x35,0xb, 0xb, 0x12,0x57,
+0xc1,0x7a,0x37,0x9, 0xfd,0x74,0x14,0xac,0xbd,0x49,0x25,0xb, 0x1, 0x49,0x35,0xb,
+0xd, 0x12,0x57,0xc1,0x12,0x57,0xdd,0x50,0xc, 0x7e,0x37,0x9, 0xff,0xbe,0x34,0x0,
+0x27,0x50,0x2, 0xe1,0x99,0x74,0x14,0xac,0xbd,0x12,0xe, 0x6e,0xb, 0x34,0x6d,0x22,
+0x7a,0x1f,0xa, 0x11,0x74,0x14,0xac,0xbd,0x49,0x35,0xb, 0x3, 0x49,0x25,0xb, 0x5,
+0x74,0x2, 0xac,0xbd,0x49,0x15,0xb, 0x29,0x49,0x5, 0xb, 0x2d,0x12,0xe, 0x7e,0x6d,
+0x22,0x7a,0x1f,0xa, 0xd, 0x74,0x14,0xac,0xbd,0x49,0x5, 0xb, 0x5, 0x49,0x15,0xb,
+0xd, 0x9d,0x10,0x6d,0x0, 0x7a,0xf, 0xa, 0x9, 0x7d,0x21,0x7e,0xf, 0xa, 0x11,0x12,
+0x57,0xf2,0x7a,0x1f,0xa, 0x9, 0x74,0x14,0xac,0xbd,0x49,0x15,0xb, 0x5, 0x6d,0x0,
+0x7e,0x1f,0xa, 0x9, 0x2f,0x10,0x12,0x57,0xb2,0x9f,0x10,0x7a,0x1f,0xa, 0x9, 0x49,
+0x5, 0xb, 0x3, 0x49,0x15,0xb, 0xb, 0x9d,0x10,0x6d,0x0, 0x7a,0xf, 0xa, 0x5, 0x7e,
+0x1f,0xa, 0xd, 0x7d,0x21,0x7e,0xf, 0xa, 0x11,0x12,0x57,0xf2,0x7a,0x1f,0xa, 0x5,
+0x74,0x14,0xac,0xbd,0x49,0xc5,0xb, 0x3, 0x7d,0x1c,0x6d,0x0, 0x7e,0x1f,0xa, 0x5,
+0x2f,0x10,0x49,0xd5,0xb, 0xb, 0x7d,0xfd,0x6d,0xee,0x9f,0x17,0x7a,0x1f,0xa, 0x5,
+0x12,0x57,0xab,0xb4,0x2, 0x17,0x7e,0x58,0x0, 0x2, 0x7e,0x1f,0xa, 0x5, 0x7f,0x5,
+0x12,0x4, 0x59,0x12,0x27,0xf3,0x7f,0x5, 0x12,0x57,0xb9,0x80,0x27,0x12,0x57,0xab,
+0xb4,0x1, 0x21,0xbd,0xdc,0x50,0xc, 0x7e,0x1f,0xa, 0x5, 0xbe,0x18,0x0, 0x0, 0x8,
+0x13,0x80,0xa, 0x7e,0x1f,0xa, 0x5, 0xbe,0x18,0x0, 0x0, 0x58,0x7, 0x12,0x3c,0x5c,
+0x7a,0x1f,0xa, 0x5, 0x12,0x57,0xa4,0x7e,0x1f,0xa, 0x5, 0xb4,0x1, 0x1d,0x2f,0x11,
+0x7e,0x68,0x0, 0x5, 0x7f,0x6, 0x12,0x4, 0x59,0x7a,0x1f,0xa, 0x5, 0x2f,0x17,0x12,
+0x27,0xf3,0x2f,0x11,0x7f,0x6, 0x12,0x57,0xb9,0x80,0x6, 0x2f,0x17,0x7a,0x1f,0xa,
+0x5, 0x74,0x14,0xac,0xbd,0x12,0x57,0xb2,0x7e,0x1f,0xa, 0x9, 0x2f,0x10,0x7a,0x1f,
+0xa, 0x9, 0x7e,0x1f,0xa, 0x5, 0x12,0x57,0xd1,0x12,0x27,0xf3,0x12,0x57,0xd1,0x7a,
+0x1f,0xa, 0x9, 0x7e,0x1f,0xa, 0x5, 0x7d,0x43,0x74,0x5, 0xac,0xbf,0x59,0x45,0x2,
+0xb6,0x7e,0x1f,0xa, 0x9, 0x59,0x35,0x2, 0xb8,0xb, 0xf0,0xbc,0xef,0x28,0x2, 0x81,
+0xc7,0xda,0x3b,0x22,0xa, 0x3d,0x9, 0xb3,0x3, 0x5a,0x22,0xa, 0x3d,0x9, 0xb3,0xb,
+0x31,0x22,0x49,0x15,0xb, 0xd, 0x6d,0x0, 0x22,0x12,0x4, 0x59,0x7a,0x1f,0xa, 0x9,
+0x22,0x9d,0x32,0x12,0x0, 0x2e,0xb, 0x34,0x22,0x7e,0x30,0x14,0xac,0x3d,0x7d,0x31,
+0x22,0x6d,0x22,0x7e,0x14,0x1, 0x8d,0x12,0x2f,0xf9,0x6d,0x22,0x22,0x7a,0x37,0x9,
+0xff,0x7e,0x37,0x9, 0xfd,0xbe,0x34,0x0, 0x27,0x22,0x7e,0x37,0xa, 0x17,0x7d,0x21,
+0x7d,0x1f,0x12,0x6, 0x3e,0x1a,0x26,0x1a,0x24,0x22,0xca,0xf8,0x7e,0xa3,0xb, 0xb3,
+0x7c,0xba,0x65,0x4e,0x68,0x5, 0xe4,0x7a,0xb3,0xb, 0xb6,0x7a,0xa1,0x4e,0x4c,0xaa,
+0x78,0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x5, 0x12,0x58,0x68,0x80,0x11,0xe4,0x7a,
+0xb3,0x2, 0xca,0x80,0xa, 0x7e,0xb3,0x6, 0x67,0x30,0xe1,0xb, 0x12,0x58,0x68,0x12,
+0x5a,0x3, 0x12,0x5a,0x9, 0x80,0x2e,0x12,0x58,0x76,0x7c,0xfb,0x4c,0xff,0x68,0x25,
+0x7c,0xbf,0x12,0x5a,0x10,0x60,0x1e,0x7e,0x34,0x0, 0x14,0x1b,0x34,0x78,0xfc,0x7e,
+0xb3,0x6, 0x67,0x30,0xe1,0x8, 0x74,0x26,0x7a,0xb3,0xb, 0xb6,0x80,0x7, 0x7a,0xf3,
+0xb, 0xb6,0x75,0x4f,0x1, 0xda,0xf8,0x22,0x74,0x26,0x7a,0xb3,0x2, 0xca,0x7a,0xb3,
+0xb, 0xb6,0x75,0x4f,0x1, 0x22,0xca,0x79,0x6c,0xaa,0x6d,0x44,0x7d,0xf4,0x7e,0x63,
+0x0, 0x90,0x7c,0xf6,0x5e,0xf0,0xf, 0x7c,0xb6,0xc4,0x7c,0xeb,0x5e,0xe0,0xf, 0x7e,
+0xe7,0xd, 0x29,0x1b,0xe4,0x68,0x3c,0x1b,0xe4,0x68,0x6e,0x1b,0xe4,0x78,0x2, 0x21,
+0x74,0x2e,0xe4,0x0, 0x3, 0x68,0x2, 0x21,0x9c,0xbe,0xf0,0x0, 0x38,0x2, 0x21,0xa2,
+0x4c,0xee,0x68,0x2, 0x21,0xa2,0x7e,0xe4,0x0, 0x1, 0x7a,0xe7,0xd, 0x29,0x7a,0xf7,
+0xd, 0x36,0x7a,0x47,0xd, 0x38,0x12,0x59,0xc3,0x7e,0xb3,0xc, 0xab,0x7a,0xb3,0xd,
+0x35,0x21,0x5c,0x4c,0xff,0x78,0x2, 0x80,0x1e,0x12,0x59,0xc3,0x7e,0x37,0xd, 0x36,
+0x7e,0x27,0xd, 0x38,0x12,0x59,0xf9,0xa5,0xbf,0x0, 0x4, 0xd2,0xe, 0x21,0x9c,0x7e,
+0xb3,0xd, 0x2c,0x60,0x2, 0x21,0xa2,0x7e,0x34,0x0, 0x2, 0x7a,0x37,0xd, 0x29,0x7e,
+0xb3,0xc, 0xa9,0x7a,0xb3,0xd, 0x2b,0x21,0xa2,0xbe,0xf0,0x0, 0x28,0x58,0x4c,0xee,
+0x78,0x54,0x7a,0xf7,0xd, 0x31,0x7a,0x47,0xd, 0x33,0x12,0x59,0xc3,0x7e,0xb3,0xc,
+0xa8,0xa, 0x2b,0x7e,0xb3,0xc, 0xa9,0xa, 0x3b,0x9d,0x32,0x7e,0xb3,0xd, 0x2b,0xa,
+0x4b,0xbd,0x43,0x18,0x2, 0x70,0x4, 0xd2,0xe, 0x80,0x61,0x7e,0x37,0xd, 0x36,0x7e,
+0x27,0xd, 0x38,0x7e,0xb3,0xc, 0x9e,0x12,0x59,0xcc,0x7c,0x7b,0xa5,0xbf,0x0, 0x4,
+0xd2,0xe, 0x80,0x48,0x7e,0x34,0x0, 0x3, 0x7a,0x37,0xd, 0x29,0x7e,0xb3,0xc, 0xaa,
+0x7a,0xb3,0xd, 0x2c,0x80,0x3c,0x4c,0xff,0x78,0x38,0x7e,0xb3,0xd, 0x2b,0x70,0x32,
+0xd2,0xe, 0x80,0x2e,0x4c,0xff,0x78,0x10,0x7e,0xb3,0xd, 0x2c,0x70,0x4, 0xd2,0xe,
+0x80,0x1a,0x7e,0x34,0x0, 0x4, 0x80,0x16,0x12,0x59,0xc3,0x7e,0x37,0xd, 0x31,0x7e,
+0x27,0xd, 0x33,0x12,0x59,0xf9,0xa5,0xbf,0x0, 0x8, 0xd2,0xe, 0x6d,0x33,0x7a,0x37,
+0xd, 0x29,0x7e,0x37,0xd, 0x29,0xbe,0x34,0x0, 0x2, 0x78,0x12,0x7e,0xa0,0x25,0x6d,
+0x33,0x7a,0x37,0xd, 0x29,0xe4,0x7a,0xb3,0xd, 0x35,0x7a,0xb3,0xd, 0x2c,0x7c,0xba,
+0xda,0x79,0x22,0x7a,0xf7,0xd, 0x2d,0x7a,0x47,0xd, 0x2f,0x22,0x7d,0x13,0xa, 0x3b,
+0x7d,0x3, 0x2e,0x7, 0xd, 0x2d,0xbd,0x1, 0x40,0x1d,0x2d,0x13,0xbe,0x17,0xd, 0x2d,
+0x40,0x15,0x7d,0x13,0x2e,0x17,0xd, 0x2f,0xbd,0x12,0x40,0xb, 0x2d,0x32,0xbe,0x37,
+0xd, 0x2f,0x40,0x3, 0x74,0x1, 0x22,0xe4,0x22,0x7e,0xb3,0xc, 0x9f,0x12,0x59,0xcc,
+0x7c,0x7b,0x22,0xe4,0x7a,0xb3,0x9, 0x62,0x22,0x6d,0x33,0x7a,0x37,0xd, 0x29,0x22,
+0x7c,0xab,0x54,0xf0,0xb4,0x20,0x18,0x7c,0xba,0x54,0xf, 0x7e,0x44,0x0, 0x1, 0x60,
+0x5, 0x3e,0x44,0x14,0x78,0xfb,0x7e,0x73,0xb, 0xb4,0xa, 0x57,0x5d,0x54,0x22,0xe4,
+0x22,0x7d,0x13,0x7e,0x37,0xc, 0xa0,0xbd,0x31,0x50,0x1a,0x7e,0x37,0xc, 0xa2,0xbd,
+0x31,0x28,0x12,0x7e,0x37,0xc, 0xa4,0xbd,0x32,0x50,0xa, 0x7e,0x37,0xc, 0xa6,0xbd,
+0x32,0x28,0x2, 0xe4,0x22,0x74,0x1, 0x22,0x6d,0x0, 0xb, 0xc, 0x7e,0x7f,0xa, 0x9,
+0x7f,0x17,0x12,0x3, 0xec,0x2f,0x14,0x7a,0x1f,0x9, 0xfd,0x7f,0x6, 0x2f,0x5, 0x2f,
+0x7, 0x7a,0xf, 0xa, 0x1, 0x22,0xa, 0xb, 0x7e,0x14,0x0, 0x3, 0x9d,0x10,0x7e,0x91,
+0x27,0x74,0x4, 0xac,0x9b,0x2e,0x44,0x3, 0x5c,0x49,0x34,0x0, 0x2, 0xb, 0x48,0x20,
+0x7c,0xb3,0x22,0x7e,0x24,0x12,0x0, 0xb, 0x28,0x30,0x5e,0x60,0x1f,0x1b,0x28,0x30,
+0x22,0xe5,0x24,0xa, 0x3b,0x3e,0x34,0x2e,0x34,0x10,0x0, 0xb, 0x38,0x70,0x6d,0x66,
+0xe5,0x24,0xa, 0x3b,0x22,0xb, 0x28,0x30,0x4d,0x35,0x1b,0x28,0x30,0x22,0x74,0x4,
+0x12,0x4, 0x8d,0x7e,0x90,0x5, 0xac,0x9f,0x49,0x34,0x2, 0xb6,0x74,0x14,0xac,0xbd,
+0x22,0x7e,0x25,0x33,0x7a,0x27,0x0, 0x50,0x7e,0x25,0x35,0x7a,0x27,0x0, 0x52,0x7a,
+0x37,0x0, 0x54,0x22,0x6d,0x0, 0x1b,0xc, 0x7e,0x5f,0xa, 0x5, 0x7f,0x15,0x12,0x3,
+0xec,0x7f,0x41,0x22,0x7e,0x25,0x22,0x7e,0x37,0xa, 0x9, 0xad,0x32,0x7c,0x76,0x7c,
+0x65,0xa, 0x24,0x22,0x6d,0x0, 0x2f,0x10,0x7e,0x14,0x0, 0x10,0x12,0x3, 0xfd,0x74,
+0x5, 0xac,0xbe,0x22,0x7f,0x13,0x7f,0x6, 0x12,0x3, 0xec,0x7f,0x7, 0x12,0x4, 0x59,
+0x7f,0x1, 0x22,0x7e,0x14,0x0, 0x3, 0x7e,0x1d,0x2a,0x12,0x3, 0xfd,0x7e,0x8, 0x0,
+0x4, 0x22,0x2e,0x18,0x0, 0xf, 0x7e,0x15,0x22,0x12,0x3, 0xfd,0x2f,0x11,0x2f,0x11,
+0x22,0x6d,0x0, 0x7e,0x6f,0xa, 0xd, 0x7f,0x16,0x12,0x3, 0xec,0x2f,0x41,0x22,0x7e,
+0x14,0x0, 0x3, 0x7f,0x13,0x12,0x3, 0xfd,0x7e,0x8, 0x0, 0x8, 0x22,0x7e,0xf, 0xa,
+0xb, 0x7e,0x37,0xa, 0x9, 0x6d,0x22,0x2, 0x3, 0xec,0xa, 0x4b,0x7d,0x24,0x7d,0xf4,
+0x1a,0x24,0x1a,0xe4,0xbf,0x7, 0x22,0x3e,0x34,0x2e,0x34,0x12,0x92,0x1b,0x38,0x20,
+0xb, 0x10,0x22,0xb, 0x48,0x20,0x4d,0x25,0x1b,0x48,0x20,0x7c,0xb7,0x22,0x7f,0x16,
+0x7d,0x1b,0x12,0x3, 0xfd,0x7f,0x7, 0x22,0x70,0x8f,0xff,0x0, 0x89,0x76,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43,0x45,0x49,0x5f,0x44,0x4c,0x57,0x32,
+0x0, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x30,0x30,0x30,0x30,0x0, 0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1, 0x89,
\ No newline at end of file
diff --git a/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DLW2_3207_0x8A_app.i b/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DLW2_3207_0x8A_app.i
new file mode 100644
index 0000000..ce083c4
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/FTS_FW/CEI_DLW2_3207_0x8A_app.i
@@ -0,0 +1,1471 @@
+0x2, 0x0, 0x76,0x2, 0x4d,0x86,0x22,0x22,0x22,0x22,0x32,0x2, 0x0, 0xa, 0x7f,0x71,
+0x7e,0x8, 0x0, 0x2, 0x2, 0x4, 0x59,0x2, 0x49,0xaf,0x22,0x2, 0x4d,0xfe,0x1e,0x44,
+0x1e,0x44,0x1e,0x44,0x1e,0x44,0x22,0x2, 0x4d,0xd1,0xff,0x2, 0x4d,0x20,0x7d,0x23,
+0xbe,0x24,0x0, 0x0, 0x48,0x3, 0x7d,0x32,0x22,0x6d,0x33,0x9d,0x32,0x22,0x70,0x2,
+0xc2,0xd, 0x22,0x2, 0x4d,0x52,0x40,0x10,0x10,0x10,0x10,0x40,0x12,0x0, 0x1, 0x2,
+0x3, 0x14,0x12,0x4, 0x5, 0x6, 0x7, 0x14,0x13,0x8, 0x9, 0xa, 0xb, 0x15,0x13,0xc,
+0xd, 0xe, 0xf, 0x15,0x40,0x11,0x11,0x11,0x11,0x40,0x3e,0x34,0x3e,0x34,0x3e,0x34,
+0x3e,0x34,0x22,0x2, 0x50,0x43,0x75,0x84,0x1, 0x7e,0x44,0xf, 0xff,0xe4,0x7a,0x49,
+0xb0,0x1b,0x44,0x78,0xf9,0x7e,0xf8,0xd, 0x3f,0xc2,0xc, 0x75,0x47,0x18,0xc2,0x8,
+0xd2,0x9, 0x75,0x1d,0x0, 0x75,0x1e,0x0, 0xc2,0x0, 0xd2,0x1, 0xc2,0x2, 0xc2,0x3,
+0xc2,0x4, 0xc2,0x6, 0x75,0x8, 0x76,0x75,0xa, 0x0, 0x75,0xc, 0x37,0x75,0xe, 0x2,
+0x75,0xf, 0x74,0x75,0x10,0x71,0x75,0x14,0x71,0x75,0x15,0x71,0x75,0x1b,0x7b,0xd2,
+0xa, 0xc2,0xb, 0x75,0x4c,0x0, 0x75,0x4d,0x0, 0xc2,0xd, 0x75,0x4e,0x0, 0x75,0x4f,
+0x0, 0xc2,0xe, 0x7e,0x4, 0x0, 0xff,0x7e,0x14,0x5, 0xa, 0xb, 0xa, 0x40,0x5d,0x44,
+0x68,0x1a,0x69,0x20,0x0, 0x2, 0xb, 0xe, 0xb, 0x44,0x80,0xa, 0x7e,0xb, 0xb0,0x7a,
+0x29,0xb0,0xb, 0x24,0xb, 0xc, 0x1b,0x44,0x78,0xf2,0x80,0xdf,0x2, 0x49,0x25,0xff,
+0x5b,0x98,0xa4,0x67,0xa1,0x5e,0xb2,0x4d,0x8a,0x75,0x1, 0xfe,0xff,0xff,0xff,0x0,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0x7e,0xa0,0x20,0x80,0xc, 0x7e,0xa0,0x10,0x80,0x5, 0x7e,0xa0,0x8, 0x6c,0x55,0x6d,
+0x33,0x33,0x92,0xd5,0x50,0xa, 0x6e,0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,
+0xa5,0xec,0x33,0x40,0x6, 0x2f,0x11,0xd5,0xf0,0xf6,0x22,0x7c,0xba,0x24,0x7e,0xa2,
+0xd5,0x13,0x7c,0x76,0x7c,0x65,0xa5,0xcc,0x92,0xe7,0x7c,0x5b,0x22,0x7c,0xb5,0x33,
+0x7c,0xb4,0x33,0x92,0xd5,0x4e,0x50,0x80,0x24,0x81,0x40,0x3, 0x9f,0x11,0x22,0x7c,
+0x45,0x7c,0x56,0x7c,0x67,0x6c,0x77,0x24,0xe0,0x50,0xe, 0x7e,0x1c,0xff,0xff,0x22,
+0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x4, 0x78,0xf4,0x30,0xd5,0xa, 0x6e,
+0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,0x22,0x7c,0xb5,0xa2,0xe7,0xd2,0xe7,
+0x7c,0x1b,0x7c,0xb4,0x33,0x40,0x9, 0x68,0xd, 0xb4,0xff,0xb, 0xa5,0xbd,0xff,0x3,
+0x2, 0x2, 0x67,0x2, 0x2, 0x6f,0x22,0x7c,0xb, 0x24,0x81,0xc2,0xe0,0xf5,0x82,0xf4,
+0x4, 0x2c,0xb0,0x7c,0x2b,0xc3,0x13,0x7c,0x4b,0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x7f,
+0x41,0x7c,0xb6,0xa2,0xe7,0x7c,0xb1,0xa5,0xba,0x7f,0x2, 0xc3,0x13,0x34,0x0, 0x94,
+0x0, 0x7c,0x2b,0x7e,0xa0,0x91,0xa4,0x7c,0xba,0x13,0xf4,0x94,0xfe,0xac,0xb2,0x33,
+0x7c,0xba,0x33,0x24,0x8c,0xd3,0x13,0x7c,0x5b,0xe4,0x92,0xe7,0x7c,0x6b,0x6c,0x77,
+0x7e,0x40,0x3f,0x75,0x83,0x2, 0x7f,0x51,0x7f,0x1, 0x7f,0x14,0x12,0x3, 0x39,0x7f,
+0x5, 0x12,0x2, 0x81,0x9e,0x24,0x0, 0x80,0xd5,0x83,0xeb,0x7e,0x1, 0x82,0x6c,0x11,
+0xe, 0x4, 0x1e,0x4, 0x2d,0x20,0x5e,0x40,0x7f,0x22,0x2d,0x0, 0x92,0xd5,0xe, 0x10,
+0x4e,0x10,0x80,0x7d,0x42,0x2d,0x44,0x50,0x2, 0xb2,0xd5,0x4e,0x50,0x80,0x6c,0x44,
+0x7c,0xb8,0x22,0x2c,0x44,0x50,0x12,0xb, 0x1c,0x7e,0x40,0x0, 0x5e,0x50,0x7f,0xbe,
+0x18,0x0, 0x0, 0x78,0x4, 0xb, 0x80,0x68,0x16,0xa2,0xd5,0x7c,0xb8,0x13,0x7c,0x4b,
+0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x22,0x7e,0x1c,0xff,0xff,0x22,0x9f,0x11,0x22,0x7e,
+0x24,0xff,0x80,0x20,0xd5,0x2, 0x6c,0x45,0x6d,0x33,0x22,0x2, 0x2, 0x67,0x6e,0x0,
+0x80,0x7c,0xb1,0x33,0x7c,0xb0,0x33,0x68,0xd, 0x4, 0x68,0xef,0x7c,0xb5,0x33,0x7c,
+0xb4,0x33,0x78,0x3, 0x7f,0x10,0x22,0x4, 0x68,0xe1,0x7d,0x50,0x92,0xf7,0x7d,0x45,
+0x7d,0x51,0xbf,0x21,0x40,0x6, 0x7c,0x80,0x7f,0x1, 0x7f,0x12,0x12,0x2, 0x2a,0x7e,
+0xa1,0xd0,0x5c,0xb0,0x4, 0x78,0x3, 0x20,0xd5,0xc1,0x7c,0xb0,0x4, 0x78,0x7, 0x50,
+0x2, 0xb2,0xd5,0x2, 0x2, 0x6f,0x92,0xd5,0xbe,0x80,0xff,0x68,0xf6,0x7c,0xb8,0x9c,
+0xb0,0x6c,0x0, 0x60,0x2a,0xb4,0x18,0x5, 0x7c,0x41,0x2, 0x2, 0x43,0x50,0xfb,0x80,
+0x3, 0x2f,0x0, 0x4, 0x7c,0x9b,0x5e,0x90,0x7, 0x78,0xf6,0x30,0xe4,0x6, 0x7c,0x43,
+0x7d,0x10,0x6d,0x0, 0x30,0xe3,0x8, 0x7c,0x43,0x7c,0x32,0x7c,0x21,0xa, 0x0, 0x30,
+0xf5,0x19,0x9f,0x10,0x78,0xe, 0x22,0x2, 0x2, 0x6c,0x1b,0x80,0x68,0xf9,0x2f,0x11,
+0x50,0x2, 0xb, 0x70,0x7c,0xb5,0x30,0xe7,0xf1,0x80,0x1b,0x2d,0x31,0x7c,0xb5,0xa5,
+0x39,0x7c,0x5b,0x50,0x11,0xb, 0x80,0x78,0x3, 0x2, 0x2, 0x6f,0x1e,0x34,0x13,0x50,
+0x3, 0x4e,0x60,0x80,0x1a,0x2b,0x2, 0x2, 0x43,0xbe,0x24,0xff,0xff,0x68,0x6, 0xbe,
+0x4, 0xff,0xff,0x78,0x3, 0x2, 0x2, 0x67,0x12,0x2, 0x2a,0x5c,0xb0,0x4, 0x68,0xf5,
+0x7c,0xb8,0xa5,0x48,0x68,0xef,0x7c,0xb8,0x70,0x3, 0x9f,0x11,0x22,0xa5,0xb8,0x0,
+0x3, 0x2, 0x2, 0x6f,0x2e,0x0, 0x81,0x50,0x7, 0x9c,0x80,0x38,0x7, 0x2, 0x2, 0x6c,
+0x9c,0x80,0x50,0xed,0xa, 0x51,0xc2,0xe7,0x4d,0x51,0x78,0x3, 0x2, 0x2, 0x59,0x7e,
+0x54,0x0, 0x80,0x7e,0x90,0x1a,0x6c,0x0, 0x80,0x6, 0x1b,0x90,0x68,0x14,0x2f,0x11,
+0xbf,0x10,0x40,0x4, 0x9f,0x10,0x4c,0xab,0x3, 0x30,0xe7,0xee,0xca,0xa8,0x6c,0xaa,
+0x80,0xe8,0xda,0x39,0xda,0x58,0x7c,0x4a,0xbe,0x50,0x80,0x50,0xa, 0x1b,0x80,0x68,
+0xbc,0x2f,0x11,0x50,0x2, 0xb, 0x70,0x2, 0x2, 0x43,0xc2,0xd5,0x7c,0xb4,0x30,0xe7,
+0x8, 0xb2,0xd5,0x6e,0x24,0xff,0xff,0xb, 0x24,0x7c,0xb6,0x30,0xe7,0x12,0xb2,0xd5,
+0x6e,0x34,0xff,0xff,0xb, 0x34,0x8d,0x32,0x6e,0x24,0xff,0xff,0xb, 0x24,0x80,0x2,
+0x8d,0x32,0x30,0xd5,0x6, 0x6e,0x34,0xff,0xff,0xb, 0x34,0x22,0x7d,0x51,0xad,0x3,
+0x7d,0x2, 0x7d,0x21,0xad,0x5, 0x2d,0x12,0xad,0x35,0x2d,0x21,0x22,0x7d,0x2, 0xad,
+0x31,0xad,0x10,0x2d,0x21,0x22,0x6d,0x0, 0x74,0x10,0x4d,0x0, 0x78,0xb, 0x4d,0x22,
+0x78,0x27,0x8d,0x31,0x7d,0x12,0x6d,0x22,0x22,0x7d,0x43,0x7d,0x32,0x6d,0x22,0x2f,
+0x11,0x2d,0x44,0x50,0x2, 0xa5,0xf, 0xbf,0x10,0x40,0x4, 0x9f,0x10,0xb, 0x90,0x14,
+0x78,0xed,0x7f,0x1, 0x6d,0x22,0x7d,0x34,0x22,0x7d,0x41,0x7d,0x13,0x8d,0x24,0x7d,
+0x2, 0x2f,0x0, 0x40,0x4, 0xbd,0x4, 0x40,0x4, 0x9d,0x4, 0xb, 0x14,0x14,0x78,0xf1,
+0x7d,0x23,0x7d,0x31,0x7d,0x10,0x6d,0x0, 0x22,0xc2,0xd5,0x7c,0xb0,0x30,0xe7,0x8,
+0xb2,0xd5,0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x7c,0xb4,0x30,0xe7,0x13,0xb2,0xd5,0x9f,
+0x22,0x9f,0x21,0x7f,0x12,0x12,0x4, 0x8, 0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x80,0x3,
+0x12,0x4, 0x8, 0x30,0xd5,0x6, 0x9f,0x22,0x9f,0x21,0x7f,0x12,0x22,0x6c,0xaa,0x4d,
+0x11,0x68,0x1a,0x1e,0x54,0x68,0xe, 0xb, 0x38,0x20,0x1b,0x18,0x20,0xb, 0x35,0xb,
+0x15,0x1b,0x54,0x78,0xf2,0x50,0x6, 0x7e,0x39,0x40,0x7a,0x19,0x40,0x22,0x7d,0x3,
+0x80,0xa, 0x7e,0x29,0xb0,0x7a,0x9, 0xb0,0xb, 0x24,0xb, 0x4, 0x7d,0x51,0x1b,0x14,
+0x4d,0x55,0x78,0xee,0x22,0x13,0x12,0x10,0xf, 0x14,0xe, 0xb, 0xc, 0x1, 0x7, 0xa,
+0x9, 0x2, 0x3, 0x5, 0x6, 0x11,0x4, 0x15,0x0, 0xd, 0x8, 0x7f,0x1, 0xbe,0x8, 0x0,
+0x0, 0x48,0x3, 0x7f,0x10,0x22,0x9f,0x11,0x9f,0x10,0x22,0x7d,0x13,0x80,0x7, 0x1b,
+0x24,0x7a,0x19,0xb0,0xb, 0x14,0x4d,0x22,0x78,0xf5,0x22,0x10,0x10,0x10,0x1c,0x19,
+0x14,0x10,0xe, 0xc, 0xb, 0xa, 0x9, 0x8, 0x7, 0x6, 0x0, 0xc, 0xc, 0xe9,0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xc, 0xf5,0x0, 0x0,
+0x0, 0x1, 0xc, 0xf7,0x0, 0x0, 0x1, 0xd, 0x10,0x0, 0x0, 0x1, 0xd, 0x11,0x0, 0x0,
+0x1, 0xd, 0x12,0x0, 0x0, 0x2e,0xa, 0x8d,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x16,0xa, 0xbb,0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x2e,0xa, 0xd1,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x1, 0xc, 0xd0,0x0, 0x0, 0x1, 0xc, 0xd2,0x0, 0x0, 0x2, 0xc, 0xd3,
+0x0, 0x0, 0x0, 0x1, 0xc, 0xd5,0x0, 0x0, 0x1, 0xc, 0xd7,0x0, 0x0, 0x1, 0xc, 0xd8,
+0x0, 0x0, 0x2, 0x0, 0x72,0x3, 0x1c,0x0, 0x4, 0x0, 0xa2,0x0, 0x0, 0x0, 0x0, 0x0,
+0x2, 0x2, 0xcd,0x0, 0x0, 0x0, 0x1, 0x2, 0xcf,0x0, 0x0, 0x1, 0x2, 0xd3,0x0, 0x0,
+0x1, 0x3, 0x48,0x0, 0x0, 0x1, 0x3, 0x4c,0x0, 0x0, 0x1, 0x3, 0x4d,0x0, 0x0, 0x1,
+0xd, 0x3a,0x0, 0x0, 0x1, 0xd, 0x3b,0xff,0x0, 0x1, 0xd, 0x3c,0x0, 0x0, 0x1, 0xd,
+0x3d,0x10,0x0, 0x1, 0xd, 0x3e,0x8, 0x0, 0x1, 0xd, 0x3f,0x0, 0x0, 0x1, 0x9, 0x6c,
+0x0, 0x0, 0x1, 0xd, 0x28,0x0, 0x0, 0x1, 0xb, 0x38,0x0, 0x0, 0x2, 0xd, 0x29,0x0,
+0x0, 0x0, 0x2, 0x6, 0xdb,0x6, 0xe1,0x0, 0x1, 0x9, 0x69,0x0, 0x0, 0x0, 0x7d,0x41,
+0x7d,0x12,0x1a,0x26,0x1a,0x24,0x12,0x6, 0x5e,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x2,
+0x4, 0x59,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x7f,0x17,0x9f,0x10,0x7d,0x1d,0x1a,0x2,
+0x1a,0x0, 0x2, 0x3, 0xec,0xca,0x3b,0x7f,0x71,0x7c,0xab,0x6c,0x33,0x6c,0xee,0x6d,
+0x22,0x7a,0x25,0x22,0x7a,0x25,0x24,0x7d,0x62,0x7d,0x82,0x7d,0x92,0x7d,0x42,0x7d,
+0xa2,0x7d,0xb2,0x7e,0x37,0x5, 0xf8,0x7d,0xd3,0x7e,0x24,0x0, 0x2, 0x12,0x3, 0xba,
+0x7d,0xc3,0xa, 0x3a,0x7e,0x24,0x0, 0xb, 0x12,0x3, 0xba,0x7c,0xb5,0x7c,0xfb,0xbe,
+0xf0,0x5, 0x50,0x4c,0x1a,0x13,0x12,0x7, 0x73,0x48,0x2c,0xbe,0x78,0x1, 0xa, 0x48,
+0x2, 0x80,0x3, 0x7e,0x45,0x24,0x12,0x6, 0x52,0x7d,0x54,0x12,0x7, 0x84,0xbe,0x78,
+0x0, 0xc7,0x8, 0x7c,0x7f,0x17,0x9e,0x18,0x0, 0xc7,0x12,0x0, 0xe, 0x7f,0x71,0x2e,
+0x18,0x0, 0xc7,0x7f,0x71,0x80,0x69,0xbe,0x78,0x0, 0x89,0x18,0x9, 0x7d,0x19,0x12,
+0x6, 0x54,0x7d,0x59,0x80,0x27,0x7e,0x45,0x22,0x12,0x6, 0x52,0x7d,0x54,0x80,0x1d,
+0x1a,0x1e,0x12,0x7, 0x73,0x48,0x1b,0xbe,0x78,0x1, 0x4, 0x48,0x9, 0x7d,0x1b,0x12,
+0x6, 0x54,0x7d,0x5b,0x80,0x7, 0x7d,0x18,0x12,0x6, 0x54,0x7d,0x58,0x12,0x7, 0x84,
+0x80,0x2e,0xbe,0x78,0x0, 0x87,0x18,0x9, 0x7d,0x1a,0x12,0x6, 0x54,0x7d,0x5a,0x80,
+0x7, 0x7d,0x16,0x12,0x6, 0x54,0x7d,0x56,0x12,0x7, 0x84,0xbe,0x78,0x0, 0x0, 0x58,
+0xf, 0x9f,0x11,0x9f,0x17,0x12,0x0, 0xe, 0x7f,0x71,0x9f,0x11,0x9f,0x17,0x7f,0x71,
+0xbe,0x78,0x0, 0x0, 0x58,0x6, 0x9f,0x11,0x7f,0x71,0x80,0x11,0x7d,0x1d,0x12,0x7,
+0x7d,0x48,0xa, 0x7d,0x3d,0x1a,0x26,0x1a,0x24,0x1b,0x1c,0x7f,0x71,0xbe,0xf0,0x5,
+0x40,0xc, 0x7d,0x1d,0x1a,0x2, 0x1a,0x0, 0x7f,0x17,0x2f,0x10,0x7f,0x71,0x7f,0x17,
+0xda,0x3b,0x22,0x1a,0x2, 0x7f,0x17,0x2f,0x10,0x7f,0x71,0x7d,0x1c,0x1a,0x2, 0x1a,
+0x0, 0xbf,0x70,0x22,0x3e,0x54,0x1a,0x4a,0x1a,0x48,0x7d,0x1d,0x1a,0x2, 0x1a,0x0,
+0x9f,0x2, 0x12,0x4, 0x59,0x7f,0x71,0x22,0xca,0x3b,0x7e,0xa3,0x0, 0x90,0x7c,0xca,
+0x5e,0xc0,0xf, 0x7c,0xba,0xc4,0x7c,0x3b,0x5e,0x30,0xf, 0x4c,0xcc,0x78,0x2d,0x12,
+0x9, 0xa5,0xbe,0x30,0x0, 0x38,0x3, 0x2, 0x9, 0xa2,0x6c,0xff,0x7e,0x20,0xff,0x74,
+0x5, 0xac,0xbf,0x19,0x25,0x2, 0xc4,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xf1,0x75,0x1c,
+0x1, 0x75,0x12,0x0, 0xe4,0x7a,0xb3,0xc, 0xf7,0x2, 0x9, 0xa2,0x7e,0x23,0xc, 0xf7,
+0xbe,0x20,0x3c,0x50,0x14,0x7e,0x4, 0xa, 0x0, 0x7a,0x7, 0x0, 0x9e,0x12,0x4d,0x19,
+0x7c,0xb2,0x4, 0x7a,0xb3,0xc, 0xf7,0x80,0xd, 0x7e,0x37,0x0, 0x9e,0xbe,0x34,0xa,
+0x0, 0x68,0x3, 0x12,0x4d,0x11,0x6c,0xff,0x7e,0x20,0xff,0x74,0x5, 0xac,0xbf,0x19,
+0x25,0xa, 0x1, 0x7e,0x34,0x7f,0xff,0x59,0x35,0x9, 0xfd,0x59,0x35,0x9, 0xff,0xb,
+0xf0,0xbe,0xf0,0x2, 0x78,0xe2,0x6c,0xff,0x80,0x23,0x7e,0x50,0x5, 0xac,0x5f,0x7d,
+0x2, 0x2e,0x4, 0x0, 0x7a,0xb, 0x8, 0x30,0x12,0x0, 0x6a,0x1b,0x8, 0x30,0x2e,0x24,
+0x0, 0x7c,0xb, 0x28,0x30,0x12,0x0, 0x6a,0x1b,0x28,0x30,0xb, 0xf0,0xbc,0xcf,0x38,
+0xd9,0xa5,0xbb,0x0, 0x28,0x6c,0xff,0x80,0x1e,0x74,0x5, 0xac,0xbf,0x49,0x45,0x0,
+0x7a,0x59,0x45,0x2, 0xc0,0x49,0x45,0x0, 0x7c,0x59,0x45,0x2, 0xc2,0x9, 0x75,0x0,
+0x7e,0x19,0x75,0x2, 0xc4,0xb, 0xf0,0xbc,0xcf,0x38,0xde,0x21,0x4a,0x6c,0xdd,0x6c,
+0xff,0x6c,0xee,0x7e,0x70,0x5, 0xac,0x7e,0x9, 0xa3,0x2, 0xc4,0x7e,0x50,0x5, 0xac,
+0x5f,0x9, 0xb2,0x0, 0x7e,0xbc,0xba,0x78,0x13,0xbe,0xb0,0xff,0x68,0xe, 0xbe,0xd0,
+0x2, 0x50,0x10,0x2e,0x34,0x2, 0xc0,0x12,0xe, 0x60,0x80,0x7, 0xb, 0xe0,0xbe,0xe0,
+0x2, 0x40,0xd0,0xbe,0xe0,0x2, 0x78,0xb, 0xbe,0xd0,0x2, 0x50,0x6, 0x12,0x3e,0x25,
+0x12,0xe, 0x60,0xb, 0xd0,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xb5,0x6c,0xff,0x12,0x3e,
+0x15,0x2e,0x34,0x9, 0xfd,0x2e,0x14,0x2, 0xc0,0x12,0x3e,0x2f,0x78,0xf0,0xe5,0x12,
+0x70,0x68,0x6c,0xff,0x80,0x60,0x7c,0xef,0x6c,0xdd,0x80,0x21,0x7e,0x90,0x5, 0xac,
+0x9f,0x9, 0xa4,0x2, 0xc4,0x7e,0x70,0x5, 0xac,0x7d,0x9, 0xb3,0x0, 0x7e,0xbc,0xba,
+0x78,0x9, 0xbe,0xa0,0xff,0x68,0x4, 0x7c,0xed,0x80,0x6, 0xb, 0xd0,0xbc,0xcd,0x38,
+0xdb,0xbe,0xe0,0x2, 0x40,0x2, 0x7c,0xef,0x12,0xf, 0xfd,0xbe,0x34,0x18,0xe0,0x50,
+0xa, 0x49,0x24,0x2, 0xc2,0xbe,0x24,0x18,0xe0,0x40,0x12,0x49,0x24,0x0, 0x7a,0x74,
+0x5, 0xac,0xbf,0x59,0x25,0x2, 0xc0,0x59,0x35,0x2, 0xc2,0x80,0x7, 0x7c,0xbf,0x7c,
+0x7e,0x12,0x9, 0xdd,0xb, 0xf0,0xbc,0xcf,0x38,0x9c,0x6c,0xff,0x74,0x5, 0xac,0xbf,
+0x49,0x45,0x2, 0xc0,0x12,0x0, 0x1e,0x59,0x45,0x0, 0x7a,0x49,0x45,0x2, 0xc2,0x12,
+0x0, 0x1e,0x59,0x45,0x0, 0x7c,0x9, 0x75,0x2, 0xc4,0x19,0x75,0x0, 0x7e,0xb, 0xf0,
+0xbe,0xf0,0x2, 0x78,0xd7,0xbe,0xc0,0x0, 0x28,0x25,0x6c,0xff,0x74,0x5, 0xac,0xbf,
+0x49,0x45,0x0, 0x7a,0x59,0x45,0x2, 0xb6,0x49,0x45,0x0, 0x7c,0x59,0x45,0x2, 0xb8,
+0x9, 0x75,0x0, 0x7e,0x19,0x75,0x2, 0xba,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xdd,0x75,
+0x9, 0x1, 0xda,0x3b,0x22,0x12,0xe, 0xaf,0x78,0x32,0x20,0xc, 0x2f,0x6c,0xaa,0x7e,
+0x44,0x7f,0xff,0x7e,0x70,0x4, 0xac,0x7a,0x59,0x43,0xc, 0xe1,0x59,0x43,0xc, 0xe3,
+0x6d,0x33,0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0xc, 0xdd,0x7e,0x34,0x1, 0x0, 0x59,
+0x32,0xc, 0xd9,0xb, 0xa0,0xbe,0xa0,0x2, 0x78,0xd5,0xd2,0xc, 0x22,0xca,0x3b,0x7c,
+0xe7,0x7c,0xdb,0x75,0x24,0x0, 0x9f,0x11,0x7a,0x1f,0xa, 0xb, 0x7a,0x1f,0xa, 0xf,
+0x7a,0x1f,0xa, 0x13,0x12,0x3c,0x6, 0x74,0x5, 0xac,0xbd,0x49,0x15,0x2, 0xc0,0x49,
+0x5, 0x2, 0xc2,0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x7, 0x74,0x5, 0xac,0xbd,0x9, 0xf5,
+0x2, 0xc4,0xbe,0xf0,0x2, 0x40,0x2, 0x6c,0xff,0x12,0x3c,0x6, 0x74,0x4, 0xac,0xbf,
+0x49,0x15,0xc, 0xe1,0x49,0x5, 0xc, 0xe3,0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x9, 0x7e,
+0x27,0xa, 0x7, 0x7e,0x34,0x0, 0xdc,0xad,0x23,0x7e,0x17,0x0, 0x9e,0x12,0x4, 0x6,
+0x7a,0x35,0x22,0xbe,0x34,0x0, 0xa, 0x50,0x7, 0x7e,0x34,0x0, 0xa, 0x7a,0x35,0x22,
+0x75,0x24,0x0, 0x6c,0xcc,0x7e,0x90,0x14,0xac,0x9f,0x49,0x24,0xb, 0x3, 0x49,0x34,
+0xb, 0x7, 0xbd,0x32,0x78,0xe, 0x49,0x54,0xb, 0x5, 0x49,0x34,0xb, 0x9, 0xbd,0x35,
+0x78,0x2, 0xa1,0x41,0x74,0x5, 0xac,0xbe,0x49,0x15,0x0, 0x7c,0x1e,0x14,0x1e,0x14,
+0x1e,0x14,0x1e,0x14,0x6d,0x0, 0x7a,0xf, 0xa, 0x13,0xbe,0x8, 0x0, 0x18,0x48,0xa,
+0x7e,0xf, 0xa, 0x13,0xbe,0x8, 0x1, 0x76,0x8, 0x5, 0x75,0x25,0x34,0x80,0x1c,0x7e,
+0xf, 0xa, 0x13,0xbe,0x8, 0x0, 0x31,0x48,0xa, 0x7e,0xf, 0xa, 0x13,0xbe,0x8, 0x1,
+0x5d,0x8, 0x5, 0x75,0x25,0x20,0x80,0x3, 0x75,0x25,0x19,0x49,0x35,0x0, 0x7a,0x12,
+0xe, 0xa3,0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0xf, 0x74,0x5, 0xac,0xbe,0x49,0x35,0x0,
+0x7c,0x12,0xe, 0xa3,0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x5, 0x12,0xe, 0x2f,0x7a,
+0x1f,0xa, 0x13,0x7d,0x3, 0x7e,0x1f,0xa, 0xf, 0x7d,0x13,0x2d,0x10,0x7a,0x17,0xa,
+0x17,0xbe,0x14,0x0, 0x7, 0x8, 0x3d,0xbe,0x18,0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,
+0x1f,0xa, 0xf, 0x7e,0x1f,0xa, 0x13,0xbe,0x18,0x0, 0x0, 0x78,0xa, 0x7e,0x1f,0xa,
+0x13,0xb, 0x1c,0x7a,0x1f,0xa, 0x13,0x12,0xe, 0x39,0x8, 0x4, 0xb, 0xc0,0x80,0x14,
+0x7e,0x1f,0xa, 0xb, 0xbe,0x18,0x0, 0x64,0x8, 0xa, 0x12,0x5b,0x8e,0x12,0xe, 0x4e,
+0x8, 0x2, 0x5, 0x24,0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x3, 0x49,0x35,0xb, 0x7,
+0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0xf, 0x74,0x14,0xac,0xbf,0x49,0x25,0xb, 0x5, 0x49,
+0x35,0xb, 0x9, 0x12,0xe, 0x2f,0x7a,0x1f,0xa, 0x13,0x7e,0x1f,0xa, 0xf, 0xbe,0x18,
+0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,0x1f,0xa, 0xf, 0x7e,0x1f,0xa, 0x13,0xbe,0x18,
+0x0, 0x0, 0x78,0x6, 0xb, 0x1c,0x7a,0x1f,0xa, 0x13,0x12,0xe, 0x39,0x8, 0x4, 0xb,
+0xc0,0x80,0x14,0x7e,0x1f,0xa, 0xb, 0xbe,0x18,0x0, 0x64,0x8, 0xa, 0x12,0x5b,0x8e,
+0x12,0xe, 0x4e,0x8, 0x2, 0x5, 0x24,0x74,0x14,0xac,0xbf,0x12,0xe, 0x6e,0x7d,0xf3,
+0xbe,0xf7,0xa, 0x17,0x8, 0x2, 0xa1,0x2e,0xe5,0x25,0xbe,0xb0,0x34,0x7e,0x1f,0xa,
+0xb, 0x40,0x9, 0x12,0x5b,0x32,0x7e,0x8, 0x0, 0x5a,0x80,0x7, 0x12,0x5b,0x32,0x7e,
+0x8, 0x0, 0x4b,0x12,0x4, 0x59,0x7a,0x1f,0xa, 0xb, 0xe5,0x24,0x60,0x2, 0x81,0xe2,
+0x4c,0xcc,0x68,0x2, 0x81,0xe2,0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0x3, 0x6d,0x22,
+0x49,0x15,0xb, 0xb, 0x6d,0x0, 0x9f,0x1, 0x7a,0xf, 0xa, 0xf, 0x12,0x57,0xea,0x74,
+0x14,0xac,0xbf,0x49,0x15,0xb, 0x3, 0x12,0x5b,0x4, 0x49,0x15,0x0, 0x7a,0x6d,0x0,
+0x2f,0x10,0xbe,0x18,0x0, 0x0, 0x48,0x19,0x74,0x6, 0xac,0xbf,0x49,0xe5,0xc, 0xed,
+0x4d,0xee,0x78,0xd, 0x12,0x0, 0x10,0x7d,0xe3,0x74,0x5, 0xac,0xbe,0x59,0xe5,0x0,
+0x7a,0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0x5, 0x6d,0x22,0x74,0x14,0xac,0xbf,0x12,
+0x57,0xb2,0x9f,0x1, 0x7a,0xf, 0xa, 0x13,0x12,0x57,0xea,0x74,0x14,0xac,0xbf,0x49,
+0x15,0xb, 0x5, 0x12,0x5b,0x4, 0x49,0x15,0x0, 0x7c,0x6d,0x0, 0x2f,0x10,0xbe,0x18,
+0x0, 0x0, 0x48,0x17,0x74,0x6, 0xac,0xbf,0x49,0x15,0xc, 0xed,0x4d,0x11,0x78,0xb,
+0x12,0x0, 0x10,0x74,0x5, 0xac,0xbe,0x59,0x35,0x0, 0x7c,0x7e,0x90,0x6, 0xac,0x9f,
+0x49,0x54,0xc, 0xe9,0x4d,0x55,0x78,0x14,0x7e,0x1f,0xa, 0xf, 0x7d,0x53,0x59,0x54,
+0xc, 0xe9,0x7e,0x1f,0xa, 0x13,0x7d,0x53,0x59,0x54,0xc, 0xeb,0x49,0x34,0xc, 0xe9,
+0x1a,0x26,0x1a,0x24,0x7e,0x7f,0xa, 0xf, 0x7f,0x7, 0x12,0xe, 0x9b,0x48,0x11,0x49,
+0x34,0xc, 0xeb,0x1a,0x26,0x1a,0x24,0x7e,0xf, 0xa, 0x13,0x12,0xe, 0x9b,0x58,0x32,
+0x74,0x6, 0xac,0xbf,0x49,0x35,0xc, 0xed,0xbe,0x34,0x0, 0x3, 0x58,0xe, 0x7e,0x50,
+0x6, 0xac,0x5f,0x2e,0x24,0xc, 0xed,0xb, 0x34,0x1b,0x28,0x30,0x7d,0x3f,0x74,0x6,
+0xac,0xbf,0x59,0x35,0xc, 0xe9,0x7e,0x1f,0xa, 0x13,0x74,0x6, 0xac,0xbf,0x59,0x35,
+0xc, 0xeb,0xe5,0x24,0xbe,0xb0,0x2, 0x40,0xe, 0x74,0x6, 0xac,0xbf,0x49,0x45,0xc,
+0xed,0xbe,0x44,0x0, 0x2, 0x48,0x5, 0x75,0x24,0x0, 0x80,0xc, 0x4d,0x44,0x78,0x8,
+0x7e,0x34,0x0, 0x1, 0x59,0x35,0xc, 0xed,0xbe,0xc0,0x2, 0x40,0xf, 0x7e,0x50,0x6,
+0xac,0x5f,0x49,0x32,0xc, 0xed,0xbe,0x34,0x0, 0x2, 0x48,0x4, 0x6c,0xcc,0x80,0x33,
+0x4d,0x33,0x78,0x2f,0x7e,0x34,0x0, 0x1, 0x59,0x32,0xc, 0xed,0x80,0x25,0x7e,0x34,
+0x0, 0x2, 0x74,0x6, 0xac,0xbf,0x59,0x35,0xc, 0xed,0x75,0x24,0x0, 0x6c,0xcc,0x80,
+0x12,0x6d,0x33,0x74,0x6, 0xac,0xbf,0x59,0x35,0xc, 0xe9,0x59,0x35,0xc, 0xeb,0x59,
+0x35,0xc, 0xed,0x7e,0x35,0x22,0xbe,0x34,0x1, 0x0, 0x28,0x7, 0x7e,0x34,0x1, 0x0,
+0x7a,0x35,0x22,0x74,0x5, 0xac,0xbd,0x49,0x25,0x2, 0xc0,0x74,0x5, 0xac,0xbe,0x12,
+0x3c,0x77,0x7a,0x37,0xa, 0x9, 0xe5,0x24,0x60,0x13,0x12,0x5b,0x5d,0x74,0x14,0x1e,
+0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x80,0x3, 0x12,0x5a,0xf4,
+0x7a,0x37,0xa, 0x9, 0x7e,0x90,0x5, 0xac,0x9d,0x49,0x34,0x2, 0xc0,0x74,0x5, 0xac,
+0xbe,0x49,0x25,0x0, 0x7a,0xbd,0x23,0x28,0x11,0x7d,0x14,0x2e,0x14,0x2, 0xc0,0x7d,
+0x23,0x2e,0x27,0xa, 0x9, 0x1b,0x18,0x20,0x80,0xd, 0x7d,0x24,0x2e,0x24,0x2, 0xc0,
+0x9e,0x37,0xa, 0x9, 0x1b,0x28,0x30,0x49,0x24,0x2, 0xc2,0x12,0x3e,0xc, 0x7a,0x37,
+0xa, 0x9, 0x4c,0xcc,0x68,0x13,0x12,0x5b,0x5d,0x74,0xa, 0x1e,0x34,0x1e,0x24,0x50,
+0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x80,0x3, 0x12,0x5a,0xf4,0x7a,0x37,0xa, 0x9,
+0x7e,0x30,0x5, 0xac,0x3d,0x49,0x21,0x2, 0xc2,0x12,0xf, 0xfd,0xbd,0x32,0x7d,0x51,
+0x28,0xf, 0x2e,0x54,0x2, 0xc2,0x7d,0x2, 0x2e,0x7, 0xa, 0x9, 0x1b,0x58,0x0, 0x80,
+0xb, 0x2e,0x54,0x2, 0xc2,0x9e,0x27,0xa, 0x9, 0x1b,0x58,0x20,0x49,0x24,0x0, 0x7a,
+0x74,0x4, 0xac,0xbf,0x59,0x25,0xc, 0xe1,0x59,0x35,0xc, 0xe3,0xda,0x3b,0x22,0x9d,
+0x32,0x12,0x0, 0x2e,0x1a,0x26,0x1a,0x24,0x22,0x7e,0xb4,0x0, 0x64,0x7e,0x7f,0xa,
+0x13,0x7f,0x17,0x7d,0x1b,0x12,0x3, 0xfd,0x7e,0x6f,0xa, 0xf, 0x7f,0x6, 0x12,0x4,
+0x59,0x7f,0x1, 0x7a,0xf, 0xa, 0xb, 0xe5,0x25,0xa, 0x3b,0x6d,0x22,0xbf,0x10,0x22,
+0x7e,0x30,0x5, 0xac,0x3d,0x2e,0x14,0x9, 0xfd,0x74,0x5, 0x2, 0x4, 0x8d,0x49,0x35,
+0xb, 0xb, 0x49,0x25,0xb, 0xd, 0x49,0x15,0xb, 0x3, 0x49,0x5, 0xb, 0x5, 0xca,0x3b,
+0x7d,0x61,0x7a,0x35,0x26,0x7d,0x32,0x9d,0x30,0x12,0x0, 0x2e,0x7d,0x73,0x7e,0x35,
+0x26,0x9d,0x36,0x12,0x0, 0x2e,0x2d,0x37,0xda,0x3b,0x22,0x12,0x3, 0xec,0xbe,0x18,
+0x0, 0x0, 0x22,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x22,0x12,0xe, 0xba,0x7e,
+0xb3,0x0, 0x90,0x54,0xf, 0x22,0x7a,0xb3,0xb, 0x88,0x60,0x2a,0x7e,0xb3,0x6, 0xca,
+0x20,0xe7,0x3d,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x12,0x41,
+0x1d,0x7e,0xb3,0x6, 0xca,0x54,0xc7,0x44,0x10,0x12,0x17,0x72,0x12,0x5b,0x83,0x44,
+0x80,0x7a,0xb3,0x6, 0xca,0x22,0x7e,0xb3,0x6, 0xca,0x30,0xe7,0x13,0x54,0xc7,0x44,
+0x28,0x12,0x17,0x72,0x12,0x5b,0x83,0x54,0x7f,0x7a,0xb3,0x6, 0xca,0x2, 0x2f,0x8e,
+0x22,0xca,0x79,0x7e,0x77,0x0, 0x92,0x4d,0x77,0x78,0x32,0xe4,0x12,0xe, 0xac,0xbe,
+0xb0,0x0, 0x28,0x5, 0x75,0xb, 0x0, 0xe1,0xa6,0x7e,0xb3,0x0, 0x94,0x20,0xe0,0x2,
+0xe1,0xa6,0x7e,0x73,0x0, 0x99,0xbe,0x71,0xb, 0x38,0x7b,0x75,0xb, 0x0, 0x7e,0x34,
+0x0, 0x1, 0x7a,0x37,0x0, 0x92,0x74,0x1, 0x12,0xe, 0xb6,0x80,0x69,0xbe,0x74,0x0,
+0x1, 0x78,0x14,0x74,0x1, 0x12,0xe, 0xac,0x68,0x5c,0x12,0x4d,0x9, 0x12,0xe, 0xb6,
+0x75,0xd, 0x27,0xd2,0x5, 0x80,0x4f,0xbe,0x74,0x0, 0x3, 0x78,0x49,0x7e,0xb3,0x0,
+0x9b,0x12,0x4a,0x48,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x12,
+0xf, 0xf3,0x12,0x2f,0x66,0x74,0x2, 0x12,0xf, 0xcd,0x12,0x49,0xe0,0x12,0x0, 0x27,
+0xc2,0xa8,0xc2,0x95,0xa9,0xd0,0xca,0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,0x4a,0x30,
+0x12,0x1c,0xcb,0x12,0x4d,0x9, 0x7a,0xb3,0xb, 0x88,0x74,0xa, 0x7a,0xb3,0x6, 0xda,
+0x7e,0xb3,0x6, 0xda,0x70,0xfa,0x7e,0x77,0x0, 0x92,0x4d,0x77,0x78,0xb, 0x80,0x4,
+0xe4,0x12,0xf, 0xcd,0x30,0x5, 0xf9,0x80,0xc, 0xbe,0x74,0x0, 0x1, 0x78,0x6, 0x12,
+0xf, 0xf3,0x12,0x2f,0xac,0x75,0xd, 0x0, 0xc2,0x5, 0xda,0x79,0x22,0x70,0x5, 0x43,
+0x87,0x1, 0x80,0x1a,0xb4,0x1, 0xb, 0xa9,0xd0,0xce,0xa9,0xd7,0xc9,0x43,0x87,0x2,
+0x80,0xc, 0xb4,0x2, 0xd, 0xa9,0xd0,0xce,0xa9,0xc7,0xc9,0x43,0x87,0x2, 0x0, 0x0,
+0x0, 0x0, 0x22,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x20,0x93,0xf9,0x22,0x7e,0x90,0x5,
+0xac,0x9e,0x49,0x34,0x0, 0x7c,0x22,0x7d,0xf3,0xbe,0xf4,0x0, 0x50,0x38,0x28,0x7e,
+0x54,0x0, 0x50,0x9d,0x5f,0x12,0x11,0x3b,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x28,
+0x4, 0x9f,0x22,0x80,0x8, 0x7e,0x18,0x0, 0x2d,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0,
+0x0, 0x50,0x64,0x9f,0x22,0x80,0x60,0xbe,0xf4,0x1, 0x2f,0x40,0x20,0x12,0x11,0x35,
+0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x40,0x4, 0x7e,0x28,0x0, 0x2c,0xbe,0x28,0x0,
+0x2d,0x28,0x4, 0x7e,0x28,0x0, 0x2d,0x2e,0x28,0x1, 0x61,0x80,0x3a,0xbe,0xf4,0x0,
+0xbf,0x50,0x23,0x7e,0x54,0x0, 0xbf,0x9d,0x5f,0x12,0x10,0xa0,0xbe,0x28,0x0, 0xc7,
+0x38,0x8, 0x7e,0x18,0x0, 0xc7,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0, 0x2d,0x50,0x17,
+0x7e,0x28,0x0, 0x2d,0x80,0x11,0x12,0x10,0x9a,0x2e,0x28,0x0, 0xc7,0xbe,0x28,0x1,
+0x61,0x28,0x4, 0x7e,0x28,0x1, 0x61,0x7d,0x35,0x22,0x7d,0x5f,0x9e,0x54,0x0, 0xbf,
+0x6d,0x44,0x7e,0x14,0x1, 0x81,0x7f,0x12,0x12,0x3, 0xfd,0x7f,0x21,0x7c,0xba,0x7c,
+0xa9,0xa, 0x48,0x22,0x7d,0xf3,0xbe,0xf4,0x0, 0x50,0x38,0x20,0x7e,0x54,0x0, 0x50,
+0x9d,0x5f,0x12,0x11,0x3b,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x28,0x4, 0x9f,0x22,
+0x80,0x60,0x7e,0x18,0x0, 0x2d,0x9f,0x12,0x7f,0x21,0x80,0x56,0xbe,0xf4,0x1, 0x2f,
+0x40,0x16,0x12,0x11,0x35,0x12,0x10,0xa6,0xbe,0x28,0x0, 0x2d,0x40,0x4, 0x7e,0x28,
+0x0, 0x2c,0x2e,0x28,0x1, 0x61,0x80,0x3a,0xbe,0xf4,0x0, 0xbf,0x50,0x23,0x7e,0x54,
+0x0, 0xbf,0x9d,0x5f,0x12,0x10,0xa0,0xbe,0x28,0x0, 0xc7,0x38,0x8, 0x7e,0x18,0x0,
+0xc7,0x9f,0x12,0x7f,0x21,0xbe,0x28,0x0, 0x2d,0x50,0x17,0x7e,0x28,0x0, 0x2d,0x80,
+0x11,0x12,0x10,0x9a,0x2e,0x28,0x0, 0xc7,0xbe,0x28,0x1, 0x61,0x28,0x4, 0x7e,0x28,
+0x1, 0x61,0x7d,0x35,0x22,0x7d,0x5f,0x9e,0x54,0x1, 0x2f,0x6d,0x44,0x7e,0x14,0x2,
+0x7, 0x22,0xca,0xf8,0x6c,0xff,0x80,0x1d,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7a,
+0x12,0x10,0x7, 0x74,0x5, 0xac,0xbf,0x59,0x35,0x0, 0x7a,0x49,0x35,0x0, 0x7c,0x12,
+0x10,0xb4,0x12,0x3c,0x51,0x12,0x38,0x94,0x48,0xde,0xda,0xf8,0x22,0xca,0xf8,0x12,
+0x49,0xe0,0x7e,0x34,0x2, 0xd4,0x7a,0x37,0x6, 0xd8,0x12,0x4c,0x52,0xe4,0x12,0x43,
+0xb3,0x12,0x4d,0x63,0x12,0x3e,0x73,0x12,0x47,0xb1,0xe4,0x12,0x3f,0xc9,0x12,0x1c,
+0xc2,0x12,0x4e,0xf1,0x7e,0xb3,0xb, 0x9f,0xb4,0x1, 0x2, 0x80,0x2, 0x41,0x84,0x7e,
+0xf3,0x6, 0x4d,0x4c,0xff,0x68,0x36,0xbe,0xf0,0x1, 0x78,0xa, 0xe4,0x7a,0xb3,0x6,
+0x4d,0x12,0x3e,0xc9,0x80,0x12,0xbe,0xf0,0x3, 0x78,0x5, 0x12,0x1b,0xdc,0x80,0x8,
+0xbe,0xf0,0x2, 0x78,0x3, 0x12,0x17,0xff,0x7e,0x34,0xa, 0xd1,0x12,0x14,0xea,0x7e,
+0x34,0xa, 0xbb,0x12,0x14,0xea,0x7e,0x34,0xa, 0x8d,0x12,0x14,0xea,0x12,0x48,0x4c,
+0x12,0x37,0xfc,0x12,0x1f,0xf9,0x44,0x1, 0x7a,0xb3,0x6, 0xd7,0x12,0x15,0x1d,0x12,
+0x2f,0x45,0x12,0x27,0xfc,0x12,0x30,0xd8,0x12,0x23,0x3e,0x12,0x2a,0xa0,0x12,0x3c,
+0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x3, 0x12,0x14,0xfa,0x12,0xe, 0xaf,0x12,0x0,
+0x3e,0x7e,0x34,0x3, 0x5c,0x7e,0x24,0x5, 0x34,0x7e,0xb3,0x6, 0xc8,0x12,0x2d,0xc3,
+0x12,0x0, 0x6, 0x12,0x26,0x96,0x12,0x11,0x42,0x12,0x38,0x63,0x12,0x2d,0x3d,0x12,
+0x12,0x87,0x7e,0xb3,0xb, 0x38,0x60,0x8, 0xe4,0x7a,0xb3,0xb, 0x38,0x12,0x28,0x8c,
+0x12,0x3f,0x3d,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x3, 0x12,0x14,0xfa,0x12,0x18,0x72,
+0x12,0x2e,0xe5,0x12,0x28,0x97,0x12,0x28,0x27,0x12,0x38,0xa1,0x12,0x3c,0x80,0x12,
+0x7, 0x98,0x12,0x57,0xfa,0x12,0x51,0x3e,0x12,0x53,0xbf,0x7e,0xb3,0x6, 0x67,0x30,
+0xe1,0x3, 0x12,0x14,0xfa,0x7e,0xb3,0x0, 0x9a,0x12,0x41,0xc9,0x12,0xf, 0x1, 0x12,
+0x3e,0xf1,0x21,0x94,0xda,0xf8,0x22,0xca,0x3b,0x7e,0xb3,0x0, 0x90,0x7c,0xab,0x5e,
+0xa0,0xf, 0x7a,0xa1,0x25,0xc4,0x54,0xf, 0x54,0xf, 0xf5,0x26,0x7e,0x77,0x0, 0x6a,
+0x7e,0x67,0x0, 0x6c,0x7e,0xb3,0x0, 0x68,0xf5,0x23,0x7e,0xb3,0x0, 0x69,0xf5,0x24,
+0x4c,0xaa,0x78,0x4, 0xc2,0x4, 0x81,0x72,0xe5,0x25,0xbe,0xb0,0x1, 0x28,0x58,0x75,
+0x22,0x0, 0x80,0x48,0x12,0x14,0xe3,0x49,0x45,0x0, 0x7a,0x7a,0x45,0x2f,0x49,0x35,
+0x0, 0x7c,0x12,0x15,0x12,0x28,0xa, 0x12,0x14,0xf2,0x28,0x2e,0xbe,0x35,0x31,0x28,
+0x29,0x12,0x14,0x9b,0xbd,0x36,0x28,0x22,0x7a,0x65,0x29,0x12,0x17,0xf7,0x50,0x3,
+0x12,0x17,0xef,0x7e,0x35,0x33,0x12,0x14,0xc0,0x12,0x14,0xe3,0x59,0x35,0x0, 0x7a,
+0x12,0x14,0xbd,0x12,0x14,0xe3,0x59,0x35,0x0, 0x7c,0x5, 0x22,0xe5,0x25,0xbe,0xb1,
+0x22,0x38,0xb1,0xc2,0x4, 0x81,0x72,0xe5,0x25,0xb4,0x1, 0x22,0xe5,0x26,0x70,0x1e,
+0x12,0x15,0x7, 0x28,0xe, 0x12,0x14,0xf2,0x28,0x5, 0xbe,0x35,0x31,0x38,0x4, 0xc2,
+0x4, 0x81,0x72,0x12,0x14,0x9b,0x7a,0x35,0x29,0x12,0x5a,0xd1,0x81,0x9, 0xe5,0x25,
+0xb4,0x1, 0x2, 0x80,0x2, 0x81,0x9, 0x12,0x15,0x7, 0x28,0xe, 0x12,0x14,0xf2,0x28,
+0x5, 0xbe,0x35,0x31,0x38,0x4, 0xc2,0x4, 0x81,0x72,0x12,0x14,0x9b,0x9e,0x37,0x0,
+0x60,0x12,0x0, 0x2e,0x7a,0x35,0x2b,0x7e,0x35,0x33,0x9e,0x37,0x0, 0x50,0x7e,0x25,
+0x35,0x9e,0x27,0x0, 0x52,0x12,0x14,0x7e,0x7a,0x35,0x2d,0x7e,0x37,0x0, 0x70,0xbe,
+0x35,0x2d,0x50,0x28,0x7e,0x35,0x27,0x9e,0x37,0x0, 0x54,0x12,0x0, 0x2e,0x7e,0xa1,
+0x23,0x74,0x5, 0xa4,0xbd,0x35,0x58,0xc, 0x7e,0xa0,0x2, 0xe5,0x23,0xa4,0xf5,0x23,
+0xd2,0x4, 0x80,0x8, 0x7e,0xb3,0x0, 0x68,0xf5,0x23,0xc2,0x4, 0x30,0x4, 0x30,0xe5,
+0x23,0xa, 0x3b,0xbe,0x35,0x2b,0x28,0x4, 0x6d,0x33,0x80,0x27,0xe5,0x24,0xa, 0x3b,
+0xbe,0x35,0x2b,0x28,0x14,0x7e,0x25,0x2b,0x7e,0x34,0x0, 0x64,0xad,0x23,0xe5,0x24,
+0xa, 0x1b,0x6d,0x0, 0x12,0x4, 0x8, 0x80,0xa, 0x7e,0x34,0x0, 0x64,0x80,0x4, 0x7e,
+0x34,0x0, 0x64,0x7a,0x35,0x2b,0x7e,0xf7,0x0, 0x60,0x7d,0x1f,0x6d,0x0, 0x7e,0x35,
+0x27,0x6d,0x22,0x9f,0x10,0x7e,0x15,0x2b,0x12,0x3, 0xfd,0x12,0x27,0xba,0x7f,0x1,
+0x7d,0x3f,0x6d,0x22,0x2f,0x10,0x7a,0x35,0x29,0x7e,0x35,0x29,0xbd,0x36,0x38,0x7,
+0x7e,0x25,0x27,0xbd,0x26,0x28,0x5, 0x7a,0x65,0x29,0x80,0xb, 0xbe,0x34,0x0, 0x1,
+0x50,0x5, 0x6d,0x33,0x7a,0x35,0x29,0x12,0x17,0xf7,0x50,0x3, 0x12,0x17,0xef,0x7e,
+0x35,0x33,0x12,0x14,0xc0,0x7a,0x37,0x0, 0x7a,0x12,0x14,0xbd,0x7d,0x23,0x7a,0x27,
+0x0, 0x7c,0x7e,0x37,0x0, 0x7a,0x7a,0x35,0x2f,0x7a,0x25,0x31,0x7d,0x27,0x12,0x14,
+0x75,0x7a,0x35,0x33,0x7e,0x35,0x31,0x7d,0x27,0x12,0x14,0x75,0x7a,0x35,0x35,0x7e,
+0x35,0x29,0x7a,0x37,0x0, 0x60,0x7e,0x27,0x0, 0x70,0xbe,0x25,0x2d,0x50,0x3, 0x12,
+0x5a,0xd1,0xda,0x3b,0x22,0x7d,0x12,0x6d,0x0, 0x6d,0x22,0x9f,0x10,0x22,0x7d,0x52,
+0x7d,0x43,0x7d,0x35,0x12,0x17,0x69,0x7f,0x71,0x7d,0x34,0x12,0x17,0x69,0x2f,0x17,
+0x7c,0xb4,0x12,0x1, 0x20,0x12,0x1, 0x9a,0x2, 0x1, 0x5d,0x7e,0x35,0x2f,0x7d,0x27,
+0x12,0x14,0x75,0x7a,0x35,0x33,0x7e,0x35,0x31,0x7d,0x27,0x12,0x14,0x75,0x7d,0x23,
+0x7a,0x25,0x35,0x7e,0x35,0x33,0x12,0x14,0x7e,0x7a,0x35,0x27,0x22,0x7e,0x35,0x35,
+0x7e,0x25,0x29,0x7e,0x15,0x27,0x7d,0x7, 0x7d,0xf0,0x7d,0xe1,0x7d,0x12,0x1a,0x26,
+0x1a,0x24,0x12,0x3, 0xfd,0x7d,0x1e,0x6d,0x0, 0x12,0x4, 0x59,0x7d,0x1f,0x6d,0x0,
+0x2f,0x10,0x22,0x7e,0xa1,0x22,0x74,0x5, 0xa4,0x22,0x7e,0x24,0x0, 0x16,0xe4,0x2,
+0x4, 0xeb,0x7e,0x37,0x0, 0x72,0xbe,0x35,0x2f,0x22,0x7e,0xb3,0x0, 0x90,0x54,0xf0,
+0x44,0x2, 0x7a,0xb3,0x0, 0x90,0x22,0x7e,0x37,0x0, 0x7a,0x7a,0x35,0x2f,0x7e,0x37,
+0x0, 0x7c,0x7a,0x35,0x31,0x7e,0x73,0x6, 0xc7,0xbe,0x70,0x0, 0x22,0xca,0x3b,0x12,
+0x17,0xe0,0x30,0xe1,0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0xc, 0x7e,0xb3,0xd, 0x3f,
+0x70,0x14,0x7e,0xb3,0xd, 0x3c,0x70,0xe, 0x7e,0xb3,0x6, 0x67,0x20,0xe0,0x2, 0xc1,
+0x61,0x20,0xe2,0x2, 0xc1,0x61,0x7c,0xba,0x30,0xe1,0x8, 0x7e,0xb3,0x6, 0x12,0xf5,
+0x28,0x80,0x6, 0x7e,0xb3,0x6, 0x13,0xf5,0x28,0x7c,0xba,0x30,0xe1,0x7, 0x7e,0xb3,
+0x6, 0x67,0x30,0xe2,0x5, 0x75,0x29,0x1, 0x80,0x3, 0x75,0x29,0x2, 0x7e,0xb3,0xd,
+0x3c,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x3c,0x7e,0xb3,0x6, 0x67,0x30,
+0xe5,0xb, 0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x12,0x17,0xd2,
+0x4e,0x70,0x2, 0x1b,0x28,0x30,0x12,0x5a,0x97,0x7e,0x73,0x6, 0xd6,0xa, 0x57,0x12,
+0x17,0x8f,0x12,0x5a,0xb5,0x75,0x25,0x0, 0xc1,0x2d,0x12,0x43,0x6b,0x75,0x26,0x0,
+0x80,0x72,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0x6c,0x77,0x12,0x17,0xa0,0x80,0x4, 0xe4,
+0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0x75,0x24,0x0, 0x80,0x50,0x12,0x5a,0xa1,
+0x9, 0x23,0x6, 0x96,0x7a,0x21,0x27,0x7e,0x71,0x25,0x74,0x3, 0xac,0x7b,0xe5,0x26,
+0xa, 0x2b,0x2d,0x23,0x7e,0x34,0x0, 0x58,0xad,0x32,0x7e,0x30,0x4, 0xac,0x23,0x2d,
+0x13,0x59,0x71,0x0, 0xa8,0x59,0x61,0x0, 0xa6,0x7e,0x73,0x6, 0xd6,0xbe,0x70,0x2,
+0x38,0x19,0xa, 0x7, 0x7e,0x54,0x0, 0x3, 0x9d,0x50,0x2e,0x14,0x0, 0xa6,0x12,0x2d,
+0xbb,0x60,0x5, 0x2f,0x11,0x14,0x78,0xfb,0x12,0x17,0xe7,0x5, 0x24,0x12,0x17,0x61,
+0x38,0xab,0x5, 0x26,0xe5,0x28,0xbe,0xb1,0x26,0x38,0x87,0x5, 0x25,0xe5,0x29,0xbe,
+0xb1,0x25,0x28,0x2, 0xa1,0xaa,0x7e,0x37,0x6, 0xa, 0x99,0x34,0x12,0x17,0xd2,0x5e,
+0x70,0xfd,0x1b,0x28,0x30,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0xa, 0x1b,0x3e,0x14,0x12,
+0x37,0x1a,0x12,0x5a,0x97,0x7e,0xb3,0x6, 0xca,0x12,0x17,0x89,0x12,0x5a,0xb5,0xe1,
+0x57,0x7e,0xb3,0x6, 0xc9,0x30,0xe0,0x51,0x7e,0xb3,0x6, 0x67,0x30,0xe5,0x5, 0x12,
+0x17,0x5a,0x50,0x11,0x74,0x2, 0x12,0x17,0xda,0x12,0x43,0x6b,0x12,0x17,0x97,0x80,
+0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,0xe4,0x12,0x17,0xda,0x75,0x24,
+0x0, 0x80,0x17,0x12,0x5a,0xa1,0x9, 0xa3,0x6, 0x96,0x7a,0xa1,0x27,0x74,0x4, 0xa4,
+0x59,0x75,0x3, 0x5e,0x59,0x65,0x3, 0x5c,0x5, 0x24,0x12,0x17,0x61,0x38,0xe4,0x7e,
+0xb3,0x6, 0x67,0x30,0xe5,0x3, 0x12,0x17,0x97,0x75,0x24,0x0, 0xe1,0x4a,0xe5,0x24,
+0xa, 0x3b,0x9, 0xb3,0x6, 0x96,0xf5,0x27,0x12,0x17,0xe0,0x30,0xe1,0x19,0x7e,0xb3,
+0x6, 0xca,0xc4,0x23,0x54,0x7, 0xbe,0xb0,0x2, 0x38,0x22,0x12,0x5a,0x76,0x60,0x16,
+0x2f,0x11,0x14,0x78,0xfb,0x80,0xf, 0x12,0x23,0x28,0x38,0x11,0x12,0x5a,0x76,0x60,
+0x5, 0x2f,0x11,0x14,0x78,0xfb,0x59,0x34,0x0, 0x2, 0x1b,0x48,0x20,0x7c,0xba,0x30,
+0xe0,0x46,0x7e,0x31,0x27,0x74,0x2, 0xac,0x3b,0x49,0xf1,0x5, 0x90,0x7d,0x3f,0x1a,
+0x36,0x1a,0xe6,0x7e,0x11,0x27,0x74,0x4, 0xac,0x1b,0x49,0x30,0x3, 0x5e,0x49,0x20,
+0x3, 0x5c,0x7f,0x21,0x9f,0x27,0x59,0x50,0x4, 0x16,0x59,0x40,0x4, 0x14,0x49,0xf1,
+0x5, 0x34,0x7d,0x1f,0x1a,0x12,0x1a,0xe2,0x7e,0x31,0x27,0x74,0x4, 0xac,0x3b,0x2e,
+0x14,0x3, 0x5c,0x9f,0x17,0x12,0x17,0xe7,0x5, 0x24,0x12,0x17,0x61,0x28,0x2, 0xc1,
+0xbe,0x7e,0x37,0x6, 0xc, 0x99,0x34,0xda,0x3b,0x22,0x30,0xa, 0x2, 0xd3,0x22,0xc3,
+0x22,0x7e,0x73,0x6, 0xc8,0xbe,0x71,0x24,0x22,0x1a,0x26,0x1a,0x24,0x7f,0x1, 0x2,
+0x3, 0xec,0x7a,0xb3,0x6, 0xca,0x7e,0x44,0x12,0x0, 0xb, 0x48,0x50,0x5e,0xa0,0x1f,
+0x1b,0x48,0x50,0x7e,0x73,0x6, 0xca,0x7c,0xb7,0xc4,0x23,0x54,0x7, 0xa, 0x5b,0xc4,
+0x23,0x54,0xe0,0x7c,0xab,0xe4,0x22,0x7e,0xb3,0x6, 0xc9,0x54,0x1, 0x7e,0x70,0x1,
+0x24,0xff,0x92,0xb, 0xc2,0xc6,0xd2,0xee,0xa9,0xd6,0xf7,0xd2,0xfe,0x4c,0x77,0x68,
+0x15,0xc2,0xaf,0x12,0x17,0xd2,0x4e,0x70,0x1, 0x1b,0x28,0x30,0x7e,0x37,0x6, 0x0,
+0x99,0x34,0xd2,0xaf,0x80,0x9, 0x12,0x17,0xd2,0x4e,0x70,0x1, 0x1b,0x28,0x30,0xc2,
+0xa, 0x22,0x7e,0x24,0x12,0x0, 0xb, 0x28,0x30,0x22,0x7e,0x37,0x6, 0x2, 0x89,0x34,
+0x7e,0xa3,0x6, 0xd7,0x7c,0xba,0x22,0x59,0x31,0x0, 0x2, 0x1b,0x18,0x20,0x22,0x7e,
+0x34,0x0, 0x1, 0x7a,0x35,0x27,0x22,0x7e,0x35,0x27,0xbe,0x34,0x0, 0x1, 0x22,0xca,
+0xf8,0x7e,0xa3,0x6, 0xd7,0x7c,0xfa,0x5e,0xf0,0x1, 0x7c,0xba,0x12,0x1f,0xea,0x12,
+0x15,0x1d,0x6c,0xaa,0x80,0x3b,0x7e,0xb3,0x6, 0x4d,0x60,0xb, 0xb4,0x2, 0x30,0xa,
+0x3a,0x9, 0xb3,0xa, 0xbb,0x60,0x28,0x7e,0x90,0x4, 0xac,0x9a,0x49,0x34,0x3, 0x5e,
+0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0x5, 0x34,0x59,0x32,0x5, 0x90,0x9f,0x11,0x59,
+0x34,0x3, 0x5e,0x59,0x24,0x3, 0x5c,0x59,0x34,0x4, 0x16,0x59,0x24,0x4, 0x14,0xb,
+0xa0,0x12,0x18,0x6b,0x38,0xc0,0x7c,0x6f,0x5e,0x60,0x1, 0x7e,0x73,0x6, 0xd7,0x5e,
+0x70,0xfe,0x4c,0x76,0x7a,0x73,0x6, 0xd7,0xda,0xf8,0x22,0x7e,0xb3,0x6, 0xc8,0xbc,
+0xba,0x22,0x6c,0xaa,0x80,0x9, 0x12,0x19,0xf, 0x70,0x2, 0x21,0xe, 0xb, 0xa0,0x12,
+0x18,0x6b,0x38,0xf2,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x2, 0x21,0xe, 0x6c,0xaa,0x80,
+0x78,0x12,0x19,0xf, 0xb4,0x1, 0x70,0x7e,0xb3,0x6, 0xc6,0xbc,0xba,0x28,0x21,0x12,
+0x22,0x8a,0x7e,0xb3,0x6, 0x45,0x12,0x5b,0x6a,0x8, 0x6, 0x7e,0xb3,0x6, 0x43,0x80,
+0x1f,0x6d,0x33,0x9d,0x34,0x12,0x19,0x1e,0x58,0x4d,0x7e,0xb3,0x6, 0x44,0x80,0x34,
+0x12,0x22,0x8a,0x7e,0xb3,0x6, 0x48,0x12,0x5b,0x6a,0x8, 0x1b,0x7e,0xb3,0x6, 0x46,
+0xa, 0xeb,0x7e,0x50,0x2, 0xac,0x5a,0x7d,0xf2,0x2e,0xf4,0x5, 0x34,0xb, 0xf8,0x20,
+0x2d,0x2e,0x1b,0xf8,0x20,0x80,0x20,0x6d,0x33,0x9d,0x34,0x12,0x19,0x1e,0x58,0x17,
+0x7e,0xb3,0x6, 0x47,0xa, 0x4b,0x7e,0x50,0x2, 0xac,0x5a,0x2e,0x24,0x5, 0x34,0xb,
+0x28,0x30,0x9d,0x34,0x1b,0x28,0x30,0xb, 0xa0,0x12,0x18,0x6b,0x38,0x83,0x22,0x7e,
+0x34,0x6, 0x15,0x7c,0xba,0x2, 0x1a,0x54,0x6e,0x34,0xff,0xff,0xb, 0x34,0x1a,0x26,
+0x1a,0x24,0xbf,0x1, 0x22,0xca,0x3b,0x6c,0xee,0x6d,0x66,0x7e,0xb3,0x6, 0x67,0x30,
+0xe1,0x2, 0x41,0x33,0x6c,0xff,0x21,0xe9,0x12,0x1a,0x4e,0xb4,0x1, 0x2, 0x80,0x2,
+0x21,0xe7,0x7e,0x73,0x6, 0xc6,0xbc,0x7f,0x28,0x59,0xb, 0xe0,0x7e,0x50,0x4, 0xac,
+0x5f,0x49,0xd2,0x3, 0x5e,0x49,0xc2,0x3, 0x5c,0x7e,0x73,0x6, 0x45,0xa, 0x37,0x7d,
+0x53,0x1a,0x4a,0x1a,0x48,0xbf,0x62,0x8, 0xb, 0x12,0x1a,0x36,0xbf,0x2, 0x8, 0x4,
+0xb, 0x64,0x80,0x17,0x6d,0xff,0x9d,0xf3,0x7d,0x1f,0x1a,0x12,0x1a,0xe2,0xbf,0x67,
+0x58,0x9, 0x12,0x1a,0x36,0xbf,0x7, 0x58,0x2, 0x1b,0x64,0x12,0x1a,0x36,0xbf,0x2,
+0x8, 0x6, 0x7e,0xb3,0x6, 0x43,0x80,0x29,0x12,0x19,0x18,0x58,0x4a,0x7e,0x73,0x6,
+0x44,0x80,0x3c,0x7e,0x50,0x4, 0xac,0x5f,0x12,0x1a,0x36,0x7e,0x73,0x6, 0x48,0xa,
+0x37,0x7d,0x53,0x7d,0xf3,0x1a,0x5a,0x1a,0xea,0xbf,0x7, 0x8, 0x19,0x7e,0xb3,0x6,
+0x46,0xa, 0xfb,0x7e,0x90,0x2, 0xac,0x9f,0x2e,0x44,0x5, 0x90,0xb, 0x48,0x50,0x2d,
+0x5f,0x1b,0x48,0x50,0x80,0x11,0x12,0x19,0x18,0x58,0xc, 0x7e,0x73,0x6, 0x47,0x12,
+0x1a,0x3f,0x9d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,0x6a,0x28,0x2, 0x21,0x38,
+0xbe,0xe0,0x0, 0x28,0x3e,0x7d,0x36,0x12,0x0, 0x2e,0xa, 0x2e,0xbd,0x32,0x78,0x33,
+0x6c,0xff,0x80,0x2a,0x12,0x1a,0x4e,0x70,0x23,0xbe,0x64,0x0, 0x0, 0x8, 0xb, 0x7e,
+0x73,0x6, 0x43,0x12,0x1a,0x3f,0x2d,0x31,0x80,0xf, 0xbe,0x64,0x0, 0x0, 0x58,0xc,
+0x7e,0x73,0x6, 0x44,0x12,0x1a,0x3f,0x9d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,
+0x6a,0x38,0xd1,0xda,0x3b,0x22,0x49,0x12,0x4, 0x16,0x49,0x2, 0x4, 0x14,0x22,0xa,
+0x17,0x7e,0x50,0x2, 0xac,0x5f,0x2e,0x24,0x5, 0x90,0xb, 0x28,0x30,0x22,0x7e,0x34,
+0x6, 0x15,0x7c,0xbf,0x7d,0x23,0x4d,0x22,0x68,0x5, 0xbe,0xb0,0x2e,0x40,0x3, 0x74,
+0x1, 0x22,0xa, 0x3b,0x2d,0x32,0x7e,0x39,0xb0,0x22,0x7e,0x73,0x6, 0xc8,0xbc,0x7f,
+0x22,0xca,0x3b,0x75,0x23,0x0, 0x7e,0xb3,0x6, 0xd7,0x54,0xfd,0x7a,0xb3,0x6, 0xd7,
+0x7e,0x67,0x6, 0xd8,0x7e,0xb3,0x6, 0x67,0x30,0xe5,0x11,0x80,0x4, 0xe4,0x12,0xf,
+0xcd,0x12,0x17,0x5a,0x50,0xf7,0x75,0x23,0x1, 0x12,0x41,0x1d,0x12,0x5a,0x93,0x7e,
+0x73,0x6, 0xd6,0xa, 0x57,0x12,0x17,0x8f,0x12,0x5a,0xb5,0x6c,0xff,0x6d,0x33,0x80,
+0xa, 0x74,0x2, 0xac,0xbf,0x59,0x35,0x9, 0xfd,0xb, 0xf0,0x7e,0x53,0x6, 0xc8,0xbc,
+0x5f,0x38,0xee,0x6c,0xee,0x61,0x68,0x6c,0xff,0x80,0x15,0x7e,0xb3,0x6, 0x4d,0x60,
+0x5, 0x12,0x1b,0xd2,0x60,0x8, 0x6d,0x22,0x12,0x1b,0xca,0x1b,0x38,0x20,0xb, 0xf0,
+0x12,0x1a,0x6a,0x38,0xe6,0x75,0x22,0x0, 0x6d,0x33,0x7e,0xa1,0x22,0x74,0x2, 0xa4,
+0x59,0x35,0xb, 0xc3,0x5, 0x22,0xe5,0x22,0xb4,0x2e,0xed,0x6c,0xff,0x80,0x17,0xa,
+0x2f,0x7e,0x34,0x0, 0x9, 0x9d,0x32,0x7a,0x73,0xc, 0x1f,0x12,0x50,0xe2,0x12,0x41,
+0x28,0x12,0x50,0x71,0xb, 0xf0,0x7e,0x73,0x6, 0x14,0xbc,0x7f,0x38,0xe1,0x6c,0xff,
+0x80,0x3f,0x7e,0x50,0x2, 0xac,0x5f,0x49,0x12,0x9, 0xfd,0x12,0x1b,0xca,0xb, 0x38,
+0x30,0xbd,0x13,0x50,0x2a,0x59,0x32,0x9, 0xfd,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,
+0x1b,0xd2,0x60,0x1b,0x12,0x1f,0xdd,0x74,0x2, 0xac,0xbf,0x59,0x35,0x5, 0x34,0x74,
+0x2, 0xac,0xbf,0x49,0x35,0x5, 0x34,0x74,0x2, 0xac,0xbf,0x59,0x35,0x5, 0x90,0xb,
+0xf0,0x12,0x1a,0x6a,0x38,0xbc,0xb, 0xe0,0x7e,0x73,0x6, 0x11,0xbc,0x7e,0x28,0x2,
+0x41,0xc7,0x6c,0xff,0x80,0x1b,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x1b,0xd2,0x60,
+0xe, 0x74,0x2, 0xac,0xbf,0x49,0x25,0x9, 0xfd,0x12,0x1b,0xca,0x1b,0x38,0x20,0xb,
+0xf0,0x12,0x1a,0x6a,0x38,0xe0,0x74,0x3, 0x12,0x17,0xda,0x12,0x1f,0xa8,0x12,0x1f,
+0xf9,0xe5,0x23,0x60,0x15,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,0x17,0x5a,0x50,0xf7,
+0x7e,0xb3,0x6, 0x67,0x44,0x20,0x7a,0xb3,0x6, 0x67,0x12,0x5a,0x93,0x7e,0xb3,0x6,
+0xca,0x12,0x17,0x89,0x12,0x5a,0xb5,0xda,0x3b,0x22,0x7e,0x70,0x2, 0xac,0x7f,0x2d,
+0x36,0x22,0xa, 0x3f,0x2e,0x37,0x6, 0x4e,0x7e,0x39,0xb0,0x22,0xca,0x79,0x12,0x1f,
+0xe6,0x6d,0x33,0x6c,0xee,0x80,0xa, 0x74,0x2, 0xac,0xbe,0x59,0x35,0x9, 0xfd,0xb,
+0xe0,0x7e,0x53,0x6, 0xc8,0xbc,0x5e,0x38,0xee,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0x3f,
+0x6c,0xee,0x80,0x31,0x12,0x41,0x28,0x6c,0xff,0x80,0x23,0x7e,0x50,0x2, 0xac,0x5f,
+0x49,0xf2,0x9, 0xfd,0x6d,0xee,0x74,0x4, 0xac,0xbf,0x49,0x15,0x3, 0x5e,0x49,0x5,
+0x3, 0x5c,0xbf,0x7, 0x8, 0x6, 0x7d,0x31,0x59,0x32,0x9, 0xfd,0xb, 0xf0,0x12,0x1a,
+0x6a,0x38,0xd8,0xb, 0xe0,0x7e,0x73,0x6, 0x10,0xbc,0x7e,0x38,0xc7,0x80,0x39,0x7e,
+0xe0,0x1, 0x12,0x15,0x1d,0x6c,0xff,0x80,0x23,0x12,0x1f,0xdd,0x49,0x25,0x3, 0x5c,
+0x7e,0x8, 0x0, 0x4, 0x12,0x4, 0x59,0x7d,0x13,0x7e,0x50,0x2, 0xac,0x5f,0x2e,0x24,
+0x9, 0xfd,0xb, 0x28,0x30,0x2d,0x31,0x1b,0x28,0x30,0xb, 0xf0,0x12,0x1a,0x6a,0x38,
+0xd8,0xb, 0xe0,0xbe,0xe0,0x4, 0x28,0xca,0x6c,0xee,0x80,0x3b,0x7e,0xa3,0x6, 0x4d,
+0x4c,0xaa,0x68,0x19,0xbe,0xa0,0x1, 0x78,0x7, 0xa, 0x3e,0x12,0x1b,0xd4,0x70,0xd,
+0xbe,0xa0,0x3, 0x78,0x20,0xa, 0x3e,0x9, 0xb3,0xa, 0x8d,0x60,0x18,0x74,0x2, 0xac,
+0xbe,0x49,0x35,0x9, 0xfd,0x59,0x35,0x5, 0x34,0x74,0x2, 0xac,0xbe,0x49,0x35,0x9,
+0xfd,0x59,0x35,0x5, 0x90,0xb, 0xe0,0x7e,0x73,0x6, 0xc8,0xbc,0x7e,0x38,0xbd,0xda,
+0x79,0x22,0x12,0x1e,0xf3,0x12,0x3e,0x5e,0x2, 0x1b,0xdc,0x7e,0x34,0x0, 0x24,0x12,
+0x4f,0x6, 0xbe,0xb0,0x1, 0x68,0x8, 0x80,0xfe,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x12,
+0x17,0x5a,0x50,0xf7,0xa9,0xc3,0xea,0x6d,0x11,0x7e,0x44,0x12,0x0, 0x1b,0x48,0x10,
+0x7e,0x53,0x6, 0xc9,0x7c,0xb5,0x54,0x1, 0xa, 0x5b,0x12,0x1e,0xda,0x7c,0x75,0x1e,
+0x70,0x5e,0x70,0x3, 0xa, 0x57,0x3e,0x54,0x3e,0x54,0x3e,0x54,0x12,0x1e,0xd6,0x7e,
+0x63,0x6, 0xca,0x7c,0xb6,0x54,0x1, 0x12,0x1f,0xf1,0x12,0x1e,0xda,0x7c,0xb6,0x1e,
+0xb0,0x54,0x3, 0x12,0x1f,0xf1,0x12,0x1e,0xd6,0x7c,0xb6,0x12,0x17,0x89,0x12,0x1e,
+0xdc,0x7e,0x54,0x13,0x14,0xb, 0x58,0x0, 0x6c,0x0, 0x12,0x1e,0xcf,0x5e,0x10,0xbf,
+0x12,0x1e,0xcf,0x4e,0x10,0x40,0x12,0x1e,0xcf,0x5e,0x10,0xcf,0x12,0x1e,0xcf,0x4e,
+0x10,0x10,0x12,0x1e,0xcf,0x5e,0x10,0xfc,0x12,0x1e,0xcf,0xa5,0xbf,0x0, 0x5, 0x4e,
+0x10,0x1, 0x80,0x3, 0x4e,0x10,0x3, 0x1b,0x58,0x0, 0x7e,0x44,0x12,0x2, 0x1b,0x48,
+0x10,0x7e,0x43,0x6, 0xc8,0xa, 0x54,0x7c,0xab,0xe4,0x12,0x1e,0xdc,0x7e,0xa3,0x6,
+0xcb,0x7c,0xba,0x23,0x54,0x1, 0xa, 0xfb,0xb, 0x48,0x0, 0x4d,0xf, 0x1b,0x48,0x0,
+0x7c,0xba,0x30,0xe6,0xe, 0x7c,0xb5,0x30,0xe0,0x9, 0xb, 0x48,0x20,0x4e,0x50,0x8,
+0x1b,0x48,0x20,0x7c,0xb6,0x30,0xe6,0x12,0xb, 0x48,0x0, 0x4e,0x10,0x20,0x1b,0x48,
+0x0, 0xb, 0x48,0x0, 0x4e,0x10,0x10,0x1b,0x48,0x0, 0x7e,0x24,0x12,0x4, 0xb, 0x28,
+0x0, 0x5e,0x0, 0x7f,0x1b,0x28,0x0, 0xb, 0x28,0x0, 0x4e,0x0, 0x80,0x1b,0x28,0x0,
+0x7e,0x24,0x13,0x1e,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xce,0x12,0x1e,0xc2,0x7e,0x63,
+0x6, 0xd1,0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x24,0x12,0x8, 0x1b,0x28,0x10,0x7e,0x63,
+0x6, 0xcc,0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x63,0x6, 0xcd,0x12,0x1e,0xc2,0x7e,0x24,
+0x13,0x20,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xcf,0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x63,
+0x6, 0xd0,0x12,0x1e,0xc2,0x7e,0x24,0x13,0x22,0x1b,0x28,0x10,0x7e,0x63,0x6, 0xd2,
+0xa, 0x46,0x12,0x1e,0xc6,0x7e,0x63,0x6, 0xd3,0x12,0x1e,0xc2,0x7e,0x4, 0x12,0xa,
+0x1b,0x8, 0x10,0xa5,0xbf,0x0, 0x8, 0xb, 0x8, 0x10,0x4e,0x20,0x1, 0x80,0x1b,0xa5,
+0xbf,0x1, 0x8, 0xb, 0x8, 0x10,0x4e,0x20,0x11,0x80,0xf, 0xb, 0x8, 0x10,0xa5,0xbf,
+0x2, 0x5, 0x4e,0x20,0x33,0x80,0x3, 0x4e,0x20,0xff,0x1b,0x8, 0x10,0x7c,0xba,0x1e,
+0xb0,0x54,0x3, 0xa, 0x3b,0xb, 0x8, 0x10,0x4d,0x13,0x1b,0x8, 0x10,0x12,0x4f,0x29,
+0xb, 0x8, 0x10,0x5e,0x30,0xfb,0x1b,0x8, 0x10,0xb, 0x8, 0x30,0x4e,0x70,0x4, 0x1b,
+0x8, 0x30,0x7e,0x73,0x6, 0xd4,0xa, 0x27,0x7e,0x34,0x13,0x10,0x1b,0x38,0x20,0x12,
+0x4f,0x92,0x7e,0xb3,0x6, 0xca,0x1e,0xb0,0x54,0x3, 0xbe,0xb0,0x1, 0x68,0x3, 0xb4,
+0x2, 0xb, 0x7e,0x27,0x6, 0xc4,0x7e,0x34,0x13,0x12,0x1b,0x38,0x20,0x74,0x2, 0x7a,
+0xb3,0x6, 0xda,0xd2,0x8e,0x80,0x4, 0xe4,0x12,0xf, 0xcd,0x7e,0xb3,0x6, 0xda,0x70,
+0xf6,0x22,0x7c,0x86,0x6c,0x99,0xb, 0x28,0x0, 0x4d,0x4, 0x1b,0x28,0x0, 0x22,0x1b,
+0x58,0x0, 0xb, 0x58,0x0, 0x22,0x3e,0x54,0x3e,0x54,0x3e,0x54,0xb, 0x48,0x0, 0x4d,
+0x5, 0x1b,0x48,0x0, 0x22,0x7e,0xb3,0x3, 0x34,0x12,0x43,0xb3,0x7e,0xb3,0x3, 0x34,
+0x12,0x3f,0xc9,0x12,0x1c,0xcb,0x7e,0xb3,0x3, 0x34,0x54,0x7f,0x7a,0xb3,0x3, 0x34,
+0x12,0x1a,0x71,0x7e,0xb3,0x3, 0x34,0x44,0x80,0x7a,0xb3,0x3, 0x34,0x22,0xca,0xf8,
+0x12,0x49,0xe0,0x7e,0x34,0x2, 0xd4,0x7a,0x37,0x6, 0xd8,0x12,0x31,0x3a,0x12,0x1e,
+0xe5,0x75,0x39,0x3, 0x75,0x37,0x40,0x12,0x49,0xe0,0xe5,0x39,0xb4,0x3, 0x40,0xe5,
+0x3f,0x60,0xf4,0x12,0x1f,0xf9,0x12,0x1f,0xea,0x12,0x1f,0x78,0x12,0x15,0x1d,0x6c,
+0xff,0x80,0xd, 0x12,0x1f,0xdd,0x74,0x2, 0xac,0xbf,0x59,0x35,0xc, 0x20,0xb, 0xf0,
+0x12,0x1a,0x6a,0x38,0xee,0x75,0x3f,0x0, 0x7e,0xb3,0xc, 0xd6,0x54,0x7f,0x7a,0xb3,
+0xc, 0xd6,0xe5,0xa, 0x20,0xe0,0xc0,0x74,0x1, 0x7a,0xb3,0x3, 0x42,0x80,0xb8,0xe5,
+0x39,0x7a,0xb3,0xb, 0x9f,0xda,0xf8,0x22,0xe5,0xa, 0x30,0xe0,0x8, 0x12,0x1e,0xe5,
+0x53,0xa, 0xfc,0x80,0xb, 0xe5,0xa, 0x30,0xe1,0x6, 0x12,0x1f,0xa8,0x53,0xa, 0xfd,
+0xe5,0xa, 0x30,0xe2,0x12,0x53,0xca,0xf1,0x7e,0x73,0x3, 0x41,0xa, 0x37,0x3e,0x34,
+0x7c,0xb7,0x42,0xca,0x53,0xa, 0xfb,0x22,0x12,0x50,0xdb,0x80,0x2a,0xa, 0x2a,0x9,
+0x32,0x6, 0x96,0x7e,0x50,0x2, 0xac,0x53,0x2d,0x23,0xb, 0x28,0x20,0x7e,0xb3,0x6,
+0x4d,0x60,0x7, 0xa, 0x13,0x12,0x51,0x36,0x60,0xb, 0xa, 0x1a,0x3e,0x14,0x2e,0x14,
+0x12,0x14,0x1b,0x18,0x20,0xb, 0xa0,0x12,0x18,0x6b,0x38,0xd1,0x22,0x74,0x4, 0xac,
+0xbf,0x49,0x35,0x3, 0x5e,0x22,0x7e,0xb3,0x6, 0xd7,0x54,0xfe,0x7a,0xb3,0x6, 0xd7,
+0x22,0xa, 0xb, 0x7d,0x50,0x7c,0xab,0xe4,0x22,0x7e,0xb3,0x6, 0xd7,0x44,0x2, 0x7a,
+0xb3,0x6, 0xd7,0x22,0x7e,0xb3,0x6, 0x67,0x30,0xe0,0x34,0x6c,0xaa,0x80,0x28,0xa,
+0x3a,0x9, 0x73,0x6, 0x96,0x7e,0xb3,0x6, 0xd7,0x30,0xe0,0x19,0x7e,0x50,0x4, 0xac,
+0x57,0x49,0xf2,0x3, 0x5e,0x49,0xe2,0x3, 0x5c,0x7e,0x17,0x5, 0xee,0x12,0x7, 0x7d,
+0x58,0x3, 0x12,0x20,0x4a,0xb, 0xa0,0x7e,0x63,0x6, 0xc8,0xbc,0x6a,0x38,0xd0,0x22,
+0x7e,0x11,0x22,0x2e,0x10,0x41,0x74,0x1, 0xa5,0xf7,0x74,0x3c,0x7a,0xb3,0xd, 0x3c,
+0x22,0xca,0x3b,0x7e,0x38,0x75,0x30,0x75,0x28,0x0, 0x7e,0x34,0xc, 0xf8,0x7e,0x24,
+0x0, 0x18,0xe4,0x12,0x4, 0xeb,0x7e,0x34,0x0, 0x41,0x7e,0x24,0x0, 0x6, 0xe4,0x12,
+0x4, 0xeb,0x7e,0xb3,0x6, 0xd7,0x30,0xe1,0x7, 0x7e,0xb3,0x6, 0x67,0x30,0xe2,0x5,
+0x75,0x27,0x1, 0x80,0x3, 0x75,0x27,0x2, 0x75,0x22,0x1, 0x21,0x75,0x9f,0x11,0x7a,
+0x1f,0x9, 0xfd,0x75,0x23,0x0, 0x21,0x2c,0x12,0x22,0x59,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe1,0x42,0x30,0xe0,0x3f,0x7e,0x11,0x24,0x74,0x4, 0xac,0x1b,0x12,0x22,0x78,0x7e,
+0xa1,0x24,0x12,0x22,0x6c,0x7a,0x1f,0xa, 0x5, 0xbe,0x1c,0xfc,0xe0,0x58,0x5, 0x12,
+0x20,0x40,0x80,0x6f,0x7e,0x73,0x6, 0xc6,0xbe,0x71,0x24,0x28,0x17,0x7e,0xf, 0xa,
+0x5, 0x7e,0x1f,0x9, 0xfd,0xbf,0x10,0x58,0xb, 0x7e,0x1f,0xa, 0x5, 0x7a,0x1f,0x9,
+0xfd,0x85,0x24,0x25,0x7e,0x91,0x24,0x74,0x4, 0xac,0x9b,0x7e,0xa1,0x22,0x74,0x58,
+0xa4,0x2d,0x54,0x49,0x15,0x0, 0x50,0x49,0x5, 0x0, 0x4e,0x49,0x35,0x0, 0xa8,0x49,
+0x25,0x0, 0xa6,0x9f,0x10,0x12,0x4, 0xdb,0x7a,0x1f,0xa, 0x1, 0x7e,0xa1,0x22,0x74,
+0x4, 0xa4,0x49,0x15,0xc, 0xfa,0x49,0x5, 0xc, 0xf8,0xbf,0x10,0x8, 0xc, 0x7e,0x1f,
+0xa, 0x1, 0x59,0x35,0xc, 0xfa,0x59,0x25,0xc, 0xf8,0x5, 0x23,0x12,0x22,0x64,0x28,
+0x2, 0x1, 0x98,0x7e,0x7f,0x9, 0xfd,0xbe,0x78,0x2, 0x58,0x8, 0x36,0x7e,0x73,0x6,
+0xc6,0xbe,0x71,0x25,0x28,0x2d,0xe5,0x25,0xa, 0x3b,0x2e,0x34,0x0, 0xb, 0x7e,0x24,
+0x0, 0x16,0x12,0x3, 0xba,0x7c,0xa5,0x7a,0xa1,0x26,0x7e,0x10,0x4, 0xac,0x1a,0x12,
+0x22,0x78,0x12,0x22,0x6c,0x7e,0x14,0x0, 0x5, 0x12,0x3, 0xfd,0xbf,0x71,0x8, 0x3,
+0x12,0x20,0x40,0x5, 0x22,0x7e,0x31,0x27,0x74,0x3, 0xac,0x3b,0xe5,0x22,0xa, 0xb,
+0xbd,0x1, 0x58,0x2, 0x1, 0x8d,0x75,0x22,0x1, 0x80,0x23,0x7e,0x11,0x22,0x2e,0x10,
+0x41,0xa5,0xe7,0x70,0x17,0x7e,0xa1,0x22,0x74,0x4, 0xa4,0x49,0x35,0xc, 0xfa,0x49,
+0x25,0xc, 0xf8,0xbf,0x13,0x58,0x5, 0x7f,0x31,0x85,0x22,0x28,0x5, 0x22,0xe5,0x22,
+0xa, 0xb, 0xbd,0x1, 0x48,0xd5,0x7e,0x51,0x28,0x74,0x58,0xac,0x5b,0x2e,0x24,0x0,
+0xa6,0x7e,0x34,0x3, 0x5c,0x7e,0x14,0x0, 0x58,0x12,0x4, 0xae,0x7e,0xb3,0x6, 0xd7,
+0x30,0xe1,0x4c,0x75,0x23,0x0, 0x80,0x42,0x12,0x22,0x59,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe0,0x36,0x7e,0x11,0x24,0x74,0x2, 0xac,0x1b,0x49,0xf0,0x5, 0x90,0x7d,0x3f,0x1a,
+0x36,0x1a,0xe6,0x7e,0x31,0x24,0x74,0x4, 0xac,0x3b,0x12,0x23,0x35,0x7f,0x21,0x9f,
+0x27,0x59,0x51,0x4, 0x16,0x59,0x41,0x4, 0x14,0x49,0x50,0x5, 0x34,0x6d,0x44,0x2e,
+0x14,0x3, 0x5c,0x9f,0x12,0x12,0x17,0xe7,0x5, 0x23,0x12,0x22,0x64,0x38,0xb9,0x12,
+0x17,0xe0,0x30,0xe1,0x31,0x75,0x23,0x0, 0x80,0x23,0x12,0x22,0x59,0x7c,0xba,0x30,
+0xe0,0x19,0x7e,0x71,0x24,0x74,0x4, 0xac,0x7b,0x12,0x22,0x8f,0x7e,0x37,0x5, 0xee,
+0x1a,0x26,0x1a,0x24,0xbf,0x10,0x8, 0x3, 0x12,0x20,0x4a,0x5, 0x23,0x7e,0xb3,0x6,
+0xc8,0xbe,0xb1,0x23,0x38,0xd4,0xda,0x3b,0x22,0xe5,0x23,0xa, 0x3b,0x9, 0xb3,0x6,
+0x96,0xf5,0x24,0x22,0x7e,0x73,0x6, 0xc8,0xbe,0x71,0x23,0x22,0x74,0x2, 0xa4,0x49,
+0x15,0x5, 0x34,0x6d,0x0, 0x9f,0x10,0x22,0x7e,0x31,0x22,0x74,0x58,0xac,0x3b,0x2d,
+0x10,0x49,0x31,0x0, 0xa8,0x49,0x21,0x0, 0xa6,0x22,0x7e,0x70,0x4, 0xac,0x7a,0x49,
+0x13,0x3, 0x5e,0x49,0x3, 0x3, 0x5c,0x22,0x7c,0xab,0x6c,0x22,0x6c,0x11,0x7c,0x1,
+0x2e,0x0, 0x47,0xa5,0xe6,0xbc,0xb3,0x78,0x5, 0x7e,0x20,0x1, 0x80,0x7, 0xb, 0x10,
+0xbe,0x10,0x1, 0x40,0xe9,0x12,0x23,0x28,0x38,0x11,0xa, 0x4b,0x7e,0x4, 0x0, 0x3,
+0x9d,0x4, 0x7c,0xb1,0x60,0x5, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0xb3,0x6, 0xd7,0x30,
+0xe0,0x24,0x7e,0x10,0x2, 0xac,0x13,0x49,0xf0,0x5, 0x34,0x7d,0xf, 0x1a,0x0, 0x1a,
+0xe0,0x7f,0x61,0x9f,0x67,0x7e,0xf7,0x5, 0xee,0x7d,0xf, 0x1a,0x0, 0x1a,0xe0,0xbf,
+0x76,0x8, 0x3, 0x12,0x20,0x4a,0x4c,0xaa,0x78,0x6, 0x74,0x4, 0xac,0xb3,0x80,0x10,
+0x4c,0x22,0x68,0x7, 0x12,0x23,0x19,0x8, 0xf, 0x80,0x5, 0x12,0x23,0x19,0x58,0x8,
+0x59,0x35,0x3, 0x5e,0x59,0x25,0x3, 0x5c,0x22,0x74,0x4, 0xac,0xb3,0x49,0xf5,0x3,
+0x5e,0x49,0xe5,0x3, 0x5c,0xbf,0x17,0x22,0x7e,0xb3,0x6, 0xd6,0xbe,0xb0,0x2, 0x22,
+0x7e,0x30,0x4, 0xac,0x3a,0x49,0x31,0x3, 0x5e,0x49,0x21,0x3, 0x5c,0x22,0x6c,0xaa,
+0xa, 0x3a,0x12,0x2c,0xf6,0x7c,0x3b,0xbe,0x30,0x16,0x50,0x9, 0x74,0x4, 0xac,0x3b,
+0x12,0x23,0x35,0x80,0x2, 0x9f,0x11,0x7e,0x30,0x4, 0xac,0x3a,0x59,0x31,0x9, 0x6f,
+0x59,0x21,0x9, 0x6d,0xb, 0xa0,0xbe,0xa0,0x24,0x40,0xd5,0x7e,0x1f,0x9, 0x85,0x7a,
+0x1d,0x2a,0x75,0x2f,0x0, 0x7e,0x34,0x9, 0x85,0x7a,0x35,0x30,0x7e,0x34,0x9, 0x9d,
+0x7a,0x35,0x32,0x7e,0x1f,0x9, 0x89,0x7e,0xf, 0x9, 0xa1,0xe4,0x12,0x24,0x39,0x7e,
+0x1f,0x9, 0x99,0x7a,0x1d,0x2a,0x75,0x2f,0x1, 0x7e,0x34,0x9, 0x99,0x7a,0x35,0x30,
+0x7e,0x34,0x9, 0xb1,0x7a,0x35,0x32,0x7e,0x1f,0x9, 0x95,0x7e,0xf, 0x9, 0xad,0xe4,
+0x12,0x24,0x39,0x7e,0x1f,0x9, 0xb5,0x7a,0x1d,0x2a,0x75,0x2f,0x0, 0x7e,0x34,0x9,
+0xb5,0x7a,0x35,0x30,0x7e,0x34,0x9, 0xcd,0x7a,0x35,0x32,0x7e,0x1f,0x9, 0xb9,0x7e,
+0xf, 0x9, 0xd1,0x74,0x1, 0x12,0x24,0x39,0x7e,0x1f,0x9, 0xc9,0x7a,0x1d,0x2a,0x75,
+0x2f,0x1, 0x7e,0x34,0x9, 0xc9,0x7a,0x35,0x30,0x7e,0x34,0x9, 0xe1,0x7a,0x35,0x32,
+0x7e,0x1f,0x9, 0xc5,0x7e,0xf, 0x9, 0xdd,0x74,0x1, 0x12,0x24,0x39,0xe4,0x12,0x24,
+0xb5,0x74,0x1, 0x12,0x24,0xb5,0x7e,0x34,0x9, 0x89,0x12,0x27,0xa2,0x7e,0x34,0x9,
+0xd1,0x12,0x27,0xa2,0x7e,0x34,0x9, 0x95,0x12,0x24,0x22,0x7e,0x34,0x9, 0xdd,0x2,
+0x24,0x22,0x12,0x27,0xd1,0xe5,0x14,0xa, 0x1b,0x6d,0x0, 0x12,0x27,0xb7,0x2, 0x24,
+0x31,0x59,0x3f,0x0, 0x2, 0x1b,0xf8,0x20,0x22,0xca,0x3b,0xf5,0x2e,0x7a,0xd, 0x26,
+0x7a,0x1d,0x22,0x7e,0x7d,0x2a,0xbe,0x78,0x0, 0x32,0x8, 0x56,0xe5,0x2f,0x70,0x4,
+0xe5,0x15,0x80,0x2, 0xe5,0x10,0x12,0x27,0xb1,0x7a,0x1d,0x2a,0x7e,0x1d,0x26,0x12,
+0x26,0x4, 0x7f,0x31,0x7e,0x1d,0x22,0x12,0x26,0x4, 0x2f,0x31,0x78,0x1a,0xe5,0x2e,
+0x60,0xb, 0x12,0x5b,0x23,0x12,0x24,0xa5,0x12,0x27,0x90,0x80,0x1a,0x12,0x27,0x90,
+0x12,0x24,0xa5,0x12,0x5b,0x23,0x80,0xf, 0x7e,0x1d,0x22,0x12,0x27,0x84,0x12,0x24,
+0xa5,0x7e,0x1d,0x26,0x12,0x27,0x84,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x32,0x12,
+0x24,0xad,0xda,0x3b,0x22,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x30,0x59,0x13,0x0,
+0x2, 0x1b,0x38,0x0, 0x22,0xca,0x3b,0x70,0x48,0x7e,0x1f,0x9, 0x89,0x7a,0x1f,0x9,
+0xfd,0x7e,0x1f,0x9, 0x8d,0x7a,0x1f,0xa, 0x1, 0x7e,0x1f,0x9, 0x91,0x7a,0x1f,0xa,
+0x5, 0x7e,0x1f,0x9, 0x95,0x7a,0x1f,0xa, 0x9, 0x7e,0x34,0x9, 0x71,0x7a,0x35,0x22,
+0x7e,0x34,0x9, 0x75,0x7a,0x35,0x24,0x7e,0x34,0x9, 0x79,0x7a,0x35,0x26,0x7e,0x34,
+0x9, 0x7d,0x7a,0x35,0x28,0xe5,0x8, 0xa, 0x1b,0x6d,0x0, 0x7e,0x1f,0x9, 0x71,0x80,
+0x46,0x7e,0x1f,0x9, 0xd1,0x7a,0x1f,0x9, 0xfd,0x7e,0x1f,0x9, 0xd5,0x7a,0x1f,0xa,
+0x1, 0x7e,0x1f,0x9, 0xd9,0x7a,0x1f,0xa, 0x5, 0x7e,0x1f,0x9, 0xdd,0x7a,0x1f,0xa,
+0x9, 0x7e,0x34,0x9, 0xe9,0x7a,0x35,0x22,0x7e,0x34,0x9, 0xed,0x7a,0x35,0x24,0x7e,
+0x34,0x9, 0xf1,0x7a,0x35,0x26,0x7e,0x34,0x9, 0xf5,0x7a,0x35,0x28,0xe5,0xf, 0xa,
+0x1b,0x6d,0x0, 0x7e,0x1f,0x9, 0xe9,0x12,0x27,0xb7,0x7f,0x31,0xbe,0x38,0x0, 0x32,
+0x18,0x2, 0xc1,0x1, 0x7e,0x1f,0x9, 0xfd,0x12,0x26,0x4, 0x7a,0x1f,0x9, 0xfd,0x7e,
+0x1f,0xa, 0x1, 0x12,0x26,0x4, 0x7a,0x1f,0xa, 0x1, 0x7e,0x1f,0xa, 0x5, 0x12,0x26,
+0x4, 0x12,0x27,0xf3,0x12,0x26,0x4, 0x7a,0x1f,0xa, 0x9, 0x7e,0x1f,0xa, 0x1, 0x7e,
+0x6f,0x9, 0xfd,0x2f,0x16,0x7e,0x7f,0xa, 0x5, 0x2f,0x71,0x78,0x16,0x7e,0x8, 0x0,
+0x8, 0x7f,0x13,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x22,0x12,0x24,0xad,0x12,0x5b,
+0x4f,0x80,0x10,0x12,0x5b,0x14,0x7e,0x35,0x22,0x12,0x24,0xad,0x7e,0xf, 0xa, 0x1,
+0x12,0x27,0xc9,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x24,0x12,0x24,0xad,0x7e,0x6f,
+0xa, 0x5, 0x7e,0x1f,0xa, 0x1, 0x2f,0x16,0x7e,0x7f,0xa, 0x9, 0x2f,0x71,0x78,0x16,
+0x12,0x5b,0x4f,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x26,0x12,0x24,0xad,0x7e,0x8,
+0x0, 0x8, 0x7f,0x13,0x80,0x10,0x12,0x5b,0x14,0x7e,0x35,0x26,0x12,0x24,0xad,0x7e,
+0xf, 0xa, 0x9, 0x12,0x27,0xc9,0x12,0x4, 0x59,0x7f,0x1, 0x7e,0x35,0x28,0x12,0x24,
+0xad,0xda,0x3b,0x22,0xbe,0x18,0x0, 0x32,0x8, 0x1, 0x22,0x9f,0x11,0x22,0xca,0x79,
+0x7c,0xe7,0x7c,0xfb,0x74,0x4, 0xac,0xbf,0x12,0x27,0xea,0x12,0x27,0x98,0x68,0xf,
+0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x57,0x49,0x25,0x9, 0x55,0x12,0x26,0x86,0xbe,
+0xe0,0x5, 0x68,0xf, 0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x87,0x49,0x25,0x9, 0x85,
+0x12,0x26,0x86,0x7e,0x1f,0xa, 0x15,0xda,0x79,0x22,0xca,0x79,0x7c,0xe7,0x7c,0xfb,
+0x74,0x4, 0xac,0xbf,0x12,0x27,0xea,0x12,0x27,0x98,0x68,0xf, 0x74,0x4, 0xac,0xbf,
+0x49,0x35,0x9, 0x6b,0x49,0x25,0x9, 0x69,0x12,0x26,0x86,0xbe,0xe0,0x5, 0x68,0xf,
+0x74,0x4, 0xac,0xbf,0x49,0x35,0x9, 0x73,0x49,0x25,0x9, 0x71,0x12,0x26,0x86,0x7e,
+0x1f,0xa, 0x15,0xda,0x79,0x22,0x12,0x26,0x4, 0x7f,0x1, 0x7e,0x1f,0xa, 0x15,0x2f,
+0x10,0x7a,0x1f,0xa, 0x15,0x22,0xca,0x3b,0x9f,0x11,0x7a,0x1f,0x0, 0xa2,0x6c,0xff,
+0xe1,0x7a,0x7c,0x1f,0x2e,0x10,0x16,0xa5,0xe7,0x7c,0xeb,0xa, 0x1e,0x7e,0x24,0x0,
+0x6, 0x8d,0x12,0x7c,0xd3,0xa, 0x3e,0x8d,0x32,0x7c,0xc5,0x12,0x27,0xdb,0x7c,0x7d,
+0x12,0x26,0xe, 0x7a,0x1f,0xa, 0xd, 0x4c,0xcc,0x68,0xc, 0x7c,0xbe,0x14,0x7c,0x7d,
+0x12,0x26,0xe, 0x7a,0x1f,0xa, 0x5, 0xbe,0xc0,0x5, 0x68,0xc, 0x7c,0xbe,0x4, 0x7c,
+0x7d,0x12,0x26,0xe, 0x7a,0x1f,0xa, 0x9, 0xa, 0x1c,0x12,0x5a,0xe4,0xa, 0x1c,0x12,
+0x5b,0x41,0xa, 0x1c,0x12,0x5a,0x58,0x7e,0x1f,0x0, 0xa2,0xbf,0x10,0x50,0x8, 0x7e,
+0x1f,0xa, 0x1, 0x7a,0x1f,0x0, 0xa2,0x7e,0x1f,0x9, 0xfd,0x74,0x6, 0x2f,0x11,0x14,
+0x78,0xfb,0x7e,0xf, 0xa, 0x1, 0x12,0x27,0xc1,0x7a,0x37,0xa, 0x11,0x12,0x27,0xdb,
+0x7c,0xbe,0x7c,0x7c,0x12,0x26,0x4a,0x7a,0x1f,0xa, 0xd, 0x4c,0xdd,0x68,0xd, 0x7c,
+0xbe,0x24,0xfa,0x7c,0x7c,0x12,0x26,0x4a,0x7a,0x1f,0xa, 0x5, 0xbe,0xd0,0x5, 0x68,
+0xd, 0x7c,0xbe,0x24,0x6, 0x7c,0x7c,0x12,0x26,0x4a,0x7a,0x1f,0xa, 0x9, 0xa, 0x1d,
+0x12,0x5a,0xe4,0xa, 0x1d,0x12,0x5b,0x41,0xa, 0x1d,0x12,0x5a,0x58,0x74,0x6, 0x2f,
+0x11,0x14,0x78,0xfb,0x12,0x27,0xc1,0x7a,0x37,0xa, 0x13,0x7e,0x27,0xa, 0x11,0x74,
+0x5, 0xac,0xbf,0x59,0x25,0x0, 0x7a,0x12,0x3c,0x55,0x12,0x38,0x94,0x50,0x2, 0xc1,
+0xa2,0xda,0x3b,0x22,0x12,0x26,0x4, 0x7e,0xd, 0x2a,0x12,0x3, 0xec,0x7f,0x3, 0x22,
+0x7e,0x8, 0x0, 0x4, 0x7e,0x1d,0x2a,0x22,0x12,0x26,0x4, 0x7a,0x1f,0xa, 0x15,0x4c,
+0xee,0x22,0x12,0x27,0xd1,0xe5,0x1b,0xa, 0x1b,0x6d,0x0, 0x12,0x27,0xb7,0x2, 0x24,
+0x31,0xa, 0x1b,0x6d,0x0, 0x7f,0x17,0x12,0x3, 0xec,0x7e,0x8, 0x0, 0x64,0x2, 0x4,
+0x59,0x12,0x4, 0x8, 0x2e,0x18,0x0, 0x20,0x22,0x7f,0x13,0x12,0x3, 0xec,0x7f,0x7,
+0x22,0x7d,0xf3,0x49,0x3f,0x0, 0x2, 0xb, 0xf8,0x20,0x22,0x9f,0x11,0x7a,0x1f,0xa,
+0x5, 0x7a,0x1f,0xa, 0x9, 0x22,0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x6f,0x49,0x25,
+0x9, 0x6d,0x22,0x7a,0x1f,0xa, 0x5, 0x7e,0x1f,0xa, 0x9, 0x22,0x9f,0x11,0x7a,0x1f,
+0x5, 0x28,0x7a,0x1f,0x5, 0x2c,0x6c,0xaa,0x12,0x23,0x30,0x7e,0x7f,0x5, 0x28,0xbf,
+0x71,0x58,0x4, 0x7a,0x1f,0x5, 0x28,0xb, 0xa0,0xbe,0xa0,0x16,0x40,0xea,0x7e,0x1f,
+0x5, 0x28,0x7a,0x1f,0x5, 0x2c,0x22,0x12,0x2f,0x75,0xa5,0xbe,0x1, 0x14,0x7e,0xa3,
+0xd, 0x12,0xbe,0xa0,0xfa,0x50,0x2c,0x7e,0xb3,0xd, 0x10,0x70,0x26,0x7c,0xba,0x4,
+0x80,0x1d,0xbe,0x60,0x2, 0x40,0x3, 0xe4,0x80,0x15,0x7e,0x53,0xd, 0x12,0xbe,0x50,
+0x4, 0x50,0xb, 0xbe,0x50,0x0, 0x28,0x6, 0x74,0x3, 0x7a,0xb3,0xd, 0x10,0xe4,0x7a,
+0xb3,0xd, 0x12,0x7e,0xa3,0xd, 0x10,0x4c,0xaa,0x68,0x20,0x4c,0x66,0x68,0x8, 0x7c,
+0xb7,0x12,0x28,0x90,0xe4,0x80,0x10,0x7c,0xb7,0xc4,0x54,0xf, 0xb4,0x1, 0x5, 0x7c,
+0xb7,0x12,0x2d,0x34,0x7c,0xba,0x14,0x7a,0xb3,0xd, 0x10,0x22,0x7e,0xb3,0x0, 0x90,
+0x54,0xf0,0x7a,0xb3,0x0, 0x90,0x22,0xca,0x3b,0x12,0x2f,0x3c,0x78,0x4, 0x6c,0xff,
+0x80,0x3, 0x7e,0xf0,0x2, 0x12,0x2d,0x19,0x78,0x1d,0x7c,0xba,0x54,0xf, 0xbe,0xb0,
+0x2, 0x40,0x14,0x5, 0x4d,0xe5,0x4d,0xbc,0xbf,0x38,0x5, 0x7c,0xba,0x12,0x28,0x90,
+0xe4,0x7a,0xb3,0xb, 0x37,0x80,0x3, 0x75,0x4d,0x0, 0x12,0x2d,0x19,0x78,0x8, 0x5e,
+0xa0,0xf, 0xbe,0xa0,0x1, 0x28,0x11,0xe4,0x7a,0xb3,0xb, 0x37,0x6d,0x33,0x7a,0x37,
+0xb, 0x4f,0x7a,0x37,0xb, 0x51,0x41,0x9d,0x7e,0xb3,0xb, 0xb3,0xbe,0xb0,0x1, 0x78,
+0x2, 0x41,0x9d,0x4c,0xaa,0x78,0x2, 0x41,0x6b,0x7e,0xe3,0xb, 0x37,0xbe,0xe0,0x2,
+0x28,0x2, 0x41,0x43,0x7c,0xbe,0x4, 0x7a,0xb3,0xb, 0x37,0x7e,0xa3,0xb, 0x37,0xbe,
+0xa0,0x1, 0x78,0x33,0x7e,0x37,0x0, 0x7a,0x7a,0x37,0xb, 0x41,0x7e,0x37,0x0, 0x7c,
+0x7a,0x37,0xb, 0x43,0x7e,0x1f,0xb, 0x41,0x7a,0x1f,0xb, 0x45,0x7e,0x1f,0xb, 0x41,
+0x7a,0x1f,0xb, 0x49,0x6d,0x33,0x7a,0x37,0xb, 0x4d,0x7a,0x37,0xb, 0x4f,0x7a,0x37,
+0xb, 0x51,0x12,0x28,0x8c,0x41,0x96,0xbe,0xa0,0x2, 0x40,0x18,0x7e,0x37,0x0, 0x7a,
+0x2e,0x37,0xb, 0x4f,0x7a,0x37,0xb, 0x4f,0x7e,0x37,0x0, 0x7c,0x2e,0x37,0xb, 0x51,
+0x7a,0x37,0xb, 0x51,0x7e,0x37,0xb, 0x41,0x12,0x2d,0xa, 0x7d,0x63,0x7e,0x37,0xb,
+0x43,0x12,0x2d,0x3, 0x7a,0x35,0x22,0x7e,0x37,0xb, 0x45,0x12,0x2d,0xa, 0x7a,0x35,
+0x24,0x7e,0x37,0xb, 0x47,0x12,0x2d,0x3, 0x7d,0x23,0x7e,0x35,0x22,0x2d,0x36,0xbe,
+0x34,0x0, 0xf, 0x50,0x18,0xbe,0x64,0x0, 0x7, 0x50,0x12,0x2e,0x25,0x24,0xbe,0x24,
+0x0, 0x1e,0x50,0x9, 0x7e,0x25,0x24,0xbe,0x24,0x0, 0xf, 0x40,0x53,0x7e,0x53,0xb,
+0x37,0xbc,0x5f,0x28,0x4b,0xe4,0x7a,0xb3,0xb, 0x37,0xbe,0x34,0x0, 0x8, 0x38,0x2,
+0x41,0x96,0x7e,0x37,0xb, 0x45,0xbe,0x34,0x0, 0x28,0x40,0x6, 0xbe,0x34,0x1, 0x66,
+0x28,0x24,0x7e,0x27,0xb, 0x47,0xbe,0x24,0x0, 0x28,0x28,0x1a,0xbe,0x24,0x1, 0x66,
+0x50,0x14,0x7a,0x37,0x0, 0x7a,0x7e,0x27,0x0, 0x7c,0x2e,0x27,0xb, 0x47,0x1e,0x24,
+0x7a,0x27,0x0, 0x7c,0x41,0x96,0x7a,0x37,0x0, 0x7a,0x7e,0x37,0xb, 0x47,0x80,0x65,
+0x7e,0x27,0x0, 0x7a,0x7a,0x27,0xb, 0x41,0x7e,0x37,0x0, 0x7c,0x7a,0x37,0xb, 0x43,
+0x7e,0xa3,0x0, 0x76,0x74,0x4, 0xa4,0x49,0x15,0x3, 0x5e,0x49,0x5, 0x3, 0x5c,0x7e,
+0xf7,0xb, 0x4d,0x6d,0xee,0xbf,0x70,0x58,0xc, 0x7a,0x17,0xb, 0x4d,0x7a,0x27,0xb,
+0x49,0x7a,0x37,0xb, 0x4b,0x7e,0x73,0x0, 0x90,0x7c,0xb7,0xc4,0x7c,0x6b,0x12,0x2d,
+0x23,0x80,0x53,0xa, 0x2e,0xb, 0x24,0x1b,0x25,0x7e,0x17,0xb, 0x4f,0x8d,0x12,0x7a,
+0x17,0xb, 0x41,0x7e,0x37,0xb, 0x51,0x8d,0x32,0x7a,0x37,0xb, 0x43,0x7e,0x27,0xb,
+0x41,0x7a,0x27,0x0, 0x7a,0x7a,0x37,0x0, 0x7c,0x80,0x2b,0x7e,0x73,0xb, 0x37,0xbc,
+0x7f,0x28,0x1b,0x7e,0x37,0xb, 0x49,0x7a,0x37,0x0, 0x7a,0x7e,0x37,0xb, 0x4b,0x7a,
+0x37,0x0, 0x7c,0x12,0x2d,0x30,0x74,0x1, 0x7a,0xb3,0xb, 0x38,0x80,0x3, 0x12,0x28,
+0x8c,0xe4,0x7a,0xb3,0xb, 0x37,0x12,0xe, 0xaf,0x78,0x2, 0xf5,0x9, 0xda,0x3b,0x22,
+0xca,0x3b,0x6c,0xee,0x9f,0x44,0x7f,0x74,0x7a,0x4f,0x9, 0xfe,0x7a,0x4f,0xa, 0x2,
+0x7a,0x4f,0xa, 0x6, 0x7a,0x4f,0xa, 0xa, 0x7a,0x4f,0xa, 0xe, 0x7f,0x64,0x7f,0x54,
+0x6c,0xdd,0x12,0x27,0xe6,0xbf,0x71,0x58,0x4, 0x7f,0x71,0x7c,0xfd,0xb, 0xd0,0xbe,
+0xd0,0x24,0x78,0xee,0x7e,0x37,0x3, 0x49,0x6d,0x22,0xbf,0x71,0x58,0xb, 0x12,0x28,
+0x8c,0x7e,0xb3,0x0, 0x91,0x54,0xf0,0x80,0x17,0xe5,0xe, 0xb4,0x1, 0x18,0x12,0x2c,
+0xf1,0x7a,0xb3,0x0, 0x76,0x12,0x2d,0x30,0x7e,0xb3,0x0, 0x91,0x54,0xf0,0x44,0x1,
+0x7a,0xb3,0x0, 0x91,0x81,0xe5,0x6c,0xdd,0xa, 0x5d,0x7e,0x24,0x0, 0x6, 0x8d,0x52,
+0x7a,0xb3,0x9, 0xfd,0xa, 0x3d,0x8d,0x32,0x7c,0xc5,0x70,0x4, 0x9f,0x11,0x80,0xc,
+0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x57,0x49,0x25,0x9, 0x55,0x7a,0x1f,0x9, 0xfe,
+0x7e,0xb3,0x9, 0xfd,0xb4,0x5, 0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,
+0x35,0x9, 0x87,0x49,0x25,0x9, 0x85,0x7a,0x1f,0xa, 0x2, 0x4c,0xcc,0x78,0x4, 0x9f,
+0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,0x9, 0x6b,0x49,0x25,0x9, 0x69,0x7a,
+0x1f,0xa, 0x6, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,
+0x49,0x35,0x9, 0x73,0x49,0x25,0x9, 0x71,0x7a,0x1f,0xa, 0xa, 0x7e,0xb3,0x9, 0xfd,
+0x60,0x4, 0x4c,0xcc,0x78,0x4, 0x9f,0x11,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0x35,
+0x9, 0x53,0x49,0x25,0x9, 0x51,0x7a,0x1f,0xa, 0xe, 0x12,0x2d,0x11,0x68,0x4, 0x4c,
+0xcc,0x78,0x4, 0x9f,0x66,0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0xd5,0x9, 0x83,0x49,
+0xc5,0x9, 0x81,0x7e,0xb3,0x9, 0xfd,0x60,0x5, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x55,
+0x80,0xc, 0x74,0x4, 0xac,0xbd,0x49,0xb5,0x9, 0x5b,0x49,0xa5,0x9, 0x59,0x12,0x2d,
+0x11,0x68,0x5, 0xbe,0xc0,0x5, 0x78,0x4, 0x9f,0x44,0x80,0xc, 0x74,0x4, 0xac,0xbd,
+0x49,0x95,0x9, 0x8b,0x49,0x85,0x9, 0x89,0x12,0x2c,0xe8,0x49,0x5, 0x9, 0x6d,0x7e,
+0x37,0x3, 0x49,0x6d,0x22,0xbf,0x1, 0x58,0x2, 0x81,0xc3,0xe5,0xc, 0x12,0x27,0xb1,
+0x7f,0x1, 0x12,0x27,0xe6,0xbf,0x10,0x18,0x2, 0x81,0xc3,0x12,0x2c,0xe8,0x49,0x5,
+0x9, 0x6d,0x7e,0x1f,0x9, 0xfe,0xbf,0x1, 0x58,0x2, 0x81,0xc3,0x12,0x2c,0xe8,0x49,
+0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0x2, 0xbf,0x1, 0x58,0x2, 0x81,0xc3,0x12,0x2c,0xe8,
+0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0x6, 0xbf,0x1, 0x58,0x2, 0x81,0xc3,0x12,0x2c,
+0xe8,0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0xa, 0xbf,0x1, 0x48,0x76,0x12,0x2c,0xe8,
+0x49,0x5, 0x9, 0x6d,0x7e,0x1f,0xa, 0xe, 0xbf,0x1, 0x48,0x67,0x12,0x27,0xe6,0xbf,
+0x16,0x48,0x60,0x12,0x27,0xe6,0xbf,0x15,0x48,0x59,0x12,0x27,0xe6,0xbf,0x14,0x48,
+0x52,0x7c,0x1e,0x2e,0x10,0x16,0x7c,0xbd,0xa5,0xf7,0xa, 0x3d,0x12,0x2c,0xf6,0xa,
+0x3e,0x19,0xb3,0x0, 0x76,0xb, 0xe0,0x7e,0x30,0x4, 0xac,0x3d,0x2e,0x14,0x9, 0x6d,
+0x12,0x2d,0xbb,0xb, 0x1c,0x12,0x17,0xe7,0xbe,0xe1,0xe, 0x40,0x26,0x7e,0xe1,0xe,
+0xbe,0xe0,0x2, 0x78,0x27,0x7e,0x73,0x0, 0x76,0xbe,0x70,0xf, 0x38,0x9, 0x7e,0x73,
+0x0, 0x77,0xbe,0x70,0xf, 0x28,0x15,0x7e,0xe0,0x1, 0x12,0x2c,0xf1,0x7a,0xb3,0x0,
+0x76,0x80,0x9, 0xb, 0xd0,0xbe,0xd0,0x24,0x50,0x2, 0x61,0x8, 0x7c,0x6e,0x5e,0x60,
+0xf, 0x7e,0x73,0x0, 0x90,0x12,0x2d,0x26,0x7e,0x73,0x0, 0x91,0x5e,0x70,0xf0,0x4c,
+0x76,0x7a,0x73,0x0, 0x91,0xda,0x3b,0x22,0x74,0x4, 0xac,0xbd,0x49,0x15,0x9, 0x6f,
+0x22,0x7a,0xf1,0x16,0xa, 0x3f,0x2e,0x34,0x0, 0x46,0x7a,0x71,0x82,0x7a,0x61,0x83,
+0xe4,0x93,0x22,0x9e,0x37,0x0, 0x7c,0x2, 0x0, 0x2e,0x9e,0x37,0x0, 0x7a,0x2, 0x0,
+0x2e,0x7e,0xb3,0x9, 0xfd,0xbe,0xb0,0x5, 0x22,0x7e,0xa3,0x0, 0x90,0x7c,0xba,0xc4,
+0x54,0xf, 0x22,0x5e,0x60,0xf, 0x5e,0x70,0xf0,0x4c,0x76,0x7a,0x73,0x0, 0x90,0x22,
+0x7e,0xb3,0x0, 0x90,0x54,0xf0,0x44,0x1, 0x7a,0xb3,0x0, 0x90,0x22,0xca,0x79,0x9f,
+0x11,0x7a,0x1f,0x9, 0xfd,0x7e,0xa3,0x0, 0x90,0x7c,0xba,0x54,0xf, 0xb4,0x1, 0x64,
+0x7e,0x1f,0x0, 0xa2,0x7a,0x1f,0x9, 0xfd,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x6, 0x7e,
+0x1f,0x9, 0xfd,0x80,0x34,0x7e,0x37,0xb, 0x3b,0x12,0x2d,0x3, 0x7d,0x73,0x7e,0x37,
+0xb, 0x39,0x12,0x2d,0xa, 0x2d,0x37,0xbe,0x34,0x0, 0xf, 0x58,0x20,0x7e,0x1f,0xb,
+0x3d,0x7f,0x1, 0x1e,0x14,0x1e,0x4, 0x50,0x3, 0x4e,0x20,0x80,0x7e,0x1f,0x9, 0xfd,
+0xbf,0x10,0x50,0x5, 0x12,0x28,0x8c,0x80,0x4, 0x7a,0x1f,0xb, 0x3d,0x7e,0x37,0x0,
+0x7a,0x7a,0x37,0xb, 0x39,0x7e,0x37,0x0, 0x7c,0x7a,0x37,0xb, 0x3b,0x12,0xe, 0xaf,
+0x78,0x2, 0xf5,0x9, 0xda,0x79,0x22,0x7d,0x16,0x2d,0x17,0x49,0x31,0x0, 0x2, 0xb,
+0x18,0x20,0x22,0xca,0x3b,0x7c,0xab,0x7d,0x73,0x4d,0x77,0x78,0x2, 0xc1,0xda,0x4d,
+0x22,0x78,0x2, 0xc1,0xda,0xe4,0x7a,0xb3,0x6, 0x4d,0x6c,0x99,0xc1,0x5e,0x7e,0x70,
+0x4, 0xac,0x79,0x2d,0x37,0x49,0xf3,0x0, 0x2, 0xb, 0x38,0xe0,0xbe,0x7c,0xfc,0x18,
+0x58,0x5, 0xbe,0x90,0x16,0x40,0x15,0xbe,0x7c,0xf8,0x30,0x58,0x58,0xbe,0x90,0x16,
+0x40,0x53,0x7e,0xf, 0x5, 0x28,0xbe,0x8, 0x7, 0xd0,0x58,0x49,0xa, 0x39,0x7d,0x13,
+0x2e,0x14,0xa, 0xd1,0x7e,0x19,0xb0,0x4, 0x7a,0x19,0xb0,0x9, 0xb3,0xa, 0xd1,0xbe,
+0xb0,0xc, 0x28,0x38,0x7e,0x70,0x2, 0xac,0x79,0x2d,0x32,0xb, 0x38,0x10,0x1a,0x2,
+0x1a,0x0, 0x2f,0x7, 0xbe,0x8, 0x38,0x40,0x58,0x22,0x74,0x1, 0x7a,0xb3,0x6, 0x4d,
+0x6c,0x88,0x80,0xa, 0x74,0x1, 0xa, 0x38,0x19,0xb3,0xa, 0xe7,0xb, 0x80,0xbe,0x80,
+0x0, 0x40,0xf1,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0xd1,0xb, 0x90,0xbc,0xa9,
+0x28,0x2, 0xa1,0xde,0x6c,0x99,0x80,0x6a,0x7e,0xd0,0x4, 0xac,0xd9,0x12,0x2d,0xb7,
+0xbe,0x1c,0xfc,0xe0,0x58,0x21,0xa, 0x39,0x7d,0x23,0x2e,0x24,0xa, 0x8d,0x12,0x2e,
+0xdd,0x9, 0x83,0xa, 0x8d,0xbe,0x80,0xf, 0x28,0x14,0x12,0x41,0x40,0x60,0xf, 0x74,
+0x3, 0x7a,0xb3,0x6, 0x4d,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0x8d,0x12,0x2d,
+0xb7,0xbe,0x1c,0xfc,0xe0,0x58,0x22,0x7e,0xb3,0x6, 0x4d,0x70,0x1c,0xa, 0x39,0x7d,
+0x23,0x2e,0x24,0xa, 0xbb,0x12,0x2e,0xdd,0x9, 0x83,0xa, 0xbb,0xbe,0x80,0x12,0x28,
+0xf, 0x74,0x2, 0x7a,0xb3,0x6, 0x4d,0x80,0x7, 0xe4,0xa, 0x39,0x19,0xb3,0xa, 0xbb,
+0xb, 0x90,0x7e,0x83,0x6, 0xc6,0xbc,0x89,0x38,0x8e,0xda,0x3b,0x22,0x7e,0x29,0xb0,
+0x4, 0x7a,0x29,0xb0,0x22,0x6c,0xaa,0x7e,0x90,0x5, 0xac,0x9a,0x9, 0xb4,0x2, 0xba,
+0xbe,0xb0,0xff,0x68,0xa, 0x49,0x34,0x2, 0xb8,0xbe,0x34,0x1, 0x8d,0x50,0x33,0xb,
+0xa0,0xbe,0xa0,0x2, 0x40,0xe1,0x12,0x2f,0x33,0x78,0x21,0x7c,0xb7,0xc4,0x7c,0x6b,
+0x5e,0x60,0xf, 0xbe,0x60,0x0, 0x28,0x14,0xe5,0x4c,0xbe,0xb0,0x1, 0x50,0x9, 0x12,
+0x2d,0x26,0x75,0x12,0x1, 0x5, 0x4c,0x22,0x75,0x4c,0x0, 0x22,0x75,0x4c,0x0, 0x75,
+0x12,0x0, 0x22,0x7e,0x73,0x0, 0x90,0x7c,0xb7,0x54,0xf, 0x22,0x7e,0x37,0x0, 0x92,
+0xbe,0x34,0x0, 0x1, 0x22,0x12,0x2f,0x3c,0x78,0x1b,0x7e,0xb3,0x6, 0x67,0x20,0xe5,
+0x14,0x7e,0xb3,0x6, 0xcb,0x20,0xe0,0xd, 0x12,0x2f,0x66,0x7e,0xb3,0x6, 0xcb,0x44,
+0x1, 0x7a,0xb3,0x6, 0xcb,0x22,0xa9,0xc0,0xca,0x6d,0x22,0x12,0x2f,0x7f,0x5e,0x60,
+0x7f,0x1b,0x28,0x30,0x22,0x7e,0x73,0x0, 0x90,0x7c,0x67,0x5e,0x60,0xf, 0x22,0x7e,
+0x34,0x13,0x14,0x1b,0x38,0x20,0x7e,0x24,0x12,0x4, 0xb, 0x28,0x30,0x22,0x7e,0xb3,
+0x6, 0xcb,0x30,0xe0,0x16,0xa9,0xd0,0xca,0x7e,0x24,0x0, 0x3f,0x12,0x2f,0x7f,0x4e,
+0x60,0x80,0x1b,0x28,0x30,0x54,0xfe,0x7a,0xb3,0x6, 0xcb,0x22,0xc2,0xab,0x12,0x2f,
+0x45,0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xd5,0xc9,0xd2,0xaf,0xa9,0xd0,0xcd,0xd2,0xc8,
+0xd2,0xa8,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd7,0x9e,0xd2,0xaf,0x74,0x1, 0x12,0x4a,
+0x48,0x74,0x2, 0x12,0xf, 0xcd,0x12,0x2f,0xf2,0xc2,0xa8,0xa9,0xc0,0xcd,0xc2,0xc8,
+0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xc5,0xc9,0xd2,0xaf,0xd2,0xab,0x12,0x4a,0x30,0x2,
+0x2f,0x8e,0x43,0xc8,0xc9,0x43,0xcb,0x8e,0x22,0xbd,0x32,0x58,0x3, 0x7d,0x32,0x22,
+0xbd,0x31,0x8, 0x2, 0x7d,0x31,0x22,0x6d,0x11,0x80,0x48,0x6d,0x0, 0x80,0x38,0x7d,
+0xf0,0x3e,0xf4,0x3e,0xf4,0x7d,0xef,0x2d,0xe3,0x49,0xde,0x0, 0x6, 0x49,0xce,0x0,
+0x4, 0x49,0x5e,0x0, 0x2, 0xb, 0xe8,0x40,0xbf,0x26,0x58,0x19,0x49,0xde,0x0, 0x6,
+0x49,0xce,0x0, 0x4, 0x59,0xde,0x0, 0x2, 0x1b,0xe8,0xc0,0x2d,0xf3,0x59,0x5f,0x0,
+0x6, 0x59,0x4f,0x0, 0x4, 0xb, 0x4, 0x7d,0xf2,0x1b,0xf4,0x9d,0xf1,0xbd,0xf0,0x38,
+0xbe,0xb, 0x14,0xbd,0x21,0x38,0xb4,0x22,0xca,0x3b,0xf5,0x26,0x7a,0xd, 0x22,0x7f,
+0x31,0x75,0x29,0x0, 0x75,0x2a,0x0, 0x7e,0x34,0x9, 0xfd,0x7e,0x24,0x0, 0x90,0xe4,
+0x12,0x4, 0xeb,0x6c,0xaa,0x12,0x23,0x30,0xbf,0x13,0x8, 0x11,0x7e,0x31,0x29,0x74,
+0x4, 0xac,0x3b,0x59,0x31,0x9, 0xff,0x59,0x21,0x9, 0xfd,0x5, 0x29,0xb, 0xa0,0xbe,
+0xa0,0x16,0x78,0xe1,0xe5,0x26,0xbe,0xb1,0x29,0x38,0x38,0x7e,0xd, 0x22,0x7e,0x1f,
+0x5, 0x28,0xbf,0x10,0x58,0x2d,0x7e,0x34,0x9, 0xfd,0xe5,0x26,0xa, 0x2b,0x12,0x30,
+0x7, 0x7e,0xa1,0x27,0x74,0x4, 0xa4,0x49,0x35,0x9, 0xff,0x49,0x25,0x9, 0xfd,0xe5,
+0x28,0xa, 0x1b,0x6d,0x0, 0x12,0x3, 0xec,0x7e,0xf, 0x9, 0xfd,0xbf,0x10,0x8, 0x3,
+0x75,0x2a,0x1, 0xe5,0x2a,0xda,0x3b,0x22,0x75,0x27,0xa, 0x75,0x28,0x5, 0x7e,0x18,
+0x3, 0xe8,0x7e,0x8, 0x27,0x10,0x74,0xc, 0x12,0x30,0x58,0x70,0x13,0x75,0x27,0xa,
+0x75,0x28,0x4, 0x7e,0x18,0x3, 0xe8,0x7e,0x8, 0x27,0x10,0x74,0xa, 0x12,0x30,0x58,
+0x60,0x13,0x7e,0xb3,0x6, 0x67,0x44,0x2, 0x7a,0xb3,0x6, 0x67,0x12,0x28,0x8c,0xe4,
+0x7a,0xb3,0xd, 0x11,0x22,0x7e,0xa3,0x6, 0x67,0x7c,0xba,0x30,0xe1,0x1b,0x7e,0xb3,
+0xd, 0x11,0x4, 0x7a,0xb3,0xd, 0x11,0xbe,0xb0,0x14,0x40,0xd, 0xe4,0x7a,0xb3,0xd,
+0x11,0x7c,0xba,0x54,0xfd,0x7a,0xb3,0x6, 0x67,0x22,0x75,0x39,0x3, 0x75,0x3f,0x0,
+0x22,0xbe,0xb0,0xa, 0x50,0x8, 0x7c,0x1b,0x2e,0x10,0x37,0xa5,0xe7,0x22,0x2, 0x31,
+0x51,0xb4,0xae,0x5, 0x7e,0xb3,0x3, 0x34,0x22,0x24,0xf6,0xbe,0xb0,0x30,0x40,0x2,
+0x61,0x7, 0x7e,0xa0,0x3, 0xa4,0x90,0x31,0x6a,0x73,0x2, 0x31,0xfa,0x2, 0x31,0xfd,
+0x2, 0x31,0xff,0x2, 0x32,0x4, 0x2, 0x32,0x9, 0x2, 0x32,0xe, 0x2, 0x32,0x13,0x2,
+0x32,0x18,0x2, 0x32,0x1d,0x2, 0x32,0x22,0x2, 0x32,0x27,0x2, 0x32,0x2c,0x2, 0x32,
+0x31,0x2, 0x32,0x45,0x2, 0x32,0x4a,0x2, 0x33,0x7, 0x2, 0x32,0x4f,0x2, 0x32,0x54,
+0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2,
+0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,
+0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7,
+0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x33,0x7, 0x2, 0x32,0x59,0x2,
+0x32,0x5e,0x2, 0x32,0x63,0x2, 0x32,0x68,0x2, 0x32,0x6d,0x2, 0x32,0x72,0x2, 0x33,
+0x7, 0x2, 0x32,0xa5,0x2, 0x33,0x7, 0x2, 0x32,0xd4,0x74,0x16,0x22,0xe4,0x22,0x7e,
+0xb3,0x3, 0x35,0x22,0x7e,0xb3,0x3, 0x38,0x22,0x7e,0xb3,0x3, 0x39,0x22,0x7e,0xb3,
+0x3, 0x3a,0x22,0x7e,0xb3,0x3, 0x3b,0x22,0x7e,0xb3,0x3, 0x3c,0x22,0x7e,0xb3,0x3,
+0x3d,0x22,0x7e,0xb3,0x3, 0x36,0x22,0x7e,0xb3,0x3, 0x37,0x22,0x7e,0xb3,0x3, 0x40,
+0x22,0x7e,0xb3,0xc, 0xd0,0x70,0x8, 0x7e,0x27,0x3, 0x30,0xa, 0x54,0x80,0xa, 0x7e,
+0x57,0x3, 0x30,0x80,0x4, 0x7e,0x57,0x3, 0x30,0x22,0x7e,0xb3,0x3, 0x3f,0x22,0x7e,
+0xb3,0x3, 0x41,0x22,0x7e,0xb3,0x6, 0xd4,0x22,0x7e,0xb3,0x3, 0x43,0x22,0x7e,0xb3,
+0x3, 0x44,0x22,0x7e,0xb3,0x3, 0x45,0x22,0x7e,0xb3,0x3, 0x46,0x22,0x7e,0xb3,0x3,
+0x47,0x22,0x7e,0x73,0x3, 0x47,0x7c,0xb7,0x4, 0x7a,0xb3,0x3, 0x47,0xbe,0x70,0x5c,
+0x50,0x20,0xa, 0x27,0x7d,0x12,0x5e,0x14,0x0, 0x1, 0x68,0xb, 0x7d,0x12,0x1e,0x14,
+0x3e,0x14,0x49,0x51,0xc, 0x20,0x22,0x1e,0x24,0x3e,0x24,0x49,0x22,0xc, 0x20,0xa,
+0x54,0x22,0x74,0xee,0x22,0x7e,0x73,0x3, 0x44,0x7c,0xb7,0x4, 0x7a,0xb3,0x3, 0x44,
+0xbe,0x70,0x2e,0x50,0x1c,0xbe,0x70,0x16,0x50,0x2, 0x80,0x5, 0xbe,0x70,0x16,0x50,
+0xb, 0xa, 0x37,0x2e,0x34,0x4, 0xc5,0x12,0x2c,0xfa,0x7c,0x7b,0xb, 0x70,0x7c,0xb7,
+0x22,0x74,0xee,0x22,0x7e,0x73,0x3, 0x46,0x7c,0xb7,0x4, 0x7a,0xb3,0x3, 0x46,0xbe,
+0x70,0x5c,0x50,0x20,0xa, 0x27,0x7d,0x12,0x5e,0x14,0x0, 0x1, 0x68,0xb, 0x7d,0x12,
+0x1e,0x14,0x3e,0x14,0x49,0x51,0x2, 0xd4,0x22,0x1e,0x24,0x3e,0x24,0x49,0x22,0x2,
+0xd4,0xa, 0x54,0x22,0x74,0xee,0x22,0x74,0xee,0x22,0x7c,0xab,0x24,0x0, 0x78,0x5,
+0x7e,0xb3,0xc, 0xd6,0x22,0xbe,0xa0,0xaf,0x38,0xc, 0x7e,0xb3,0xb, 0x9f,0xb4,0x3,
+0x5, 0x7c,0xba,0x2, 0x31,0x41,0x7c,0xba,0x22,0xca,0x79,0x20,0x90,0x2, 0x61,0xcf,
+0xd2,0x8, 0x7e,0xb3,0xc, 0xd2,0x4, 0x7a,0xb3,0xc, 0xd2,0x7e,0xf3,0xc, 0xd2,0xbe,
+0xf0,0x1, 0x78,0x22,0xe5,0x91,0x7a,0xb3,0xc, 0xd8,0x7e,0xb3,0xc, 0xd8,0xb4,0xd3,
+0xe, 0x74,0x1, 0x7a,0xb3,0xc, 0xd7,0x6d,0x33,0x7a,0x37,0xc, 0xd3,0x80,0x3c,0xe4,
+0x7a,0xb3,0xc, 0xd7,0x80,0x35,0x7e,0xb3,0xc, 0xd6,0xc4,0x7c,0xeb,0x5e,0xe0,0x7,
+0x78,0x8, 0x12,0x34,0xe9,0x12,0x37,0x23,0x80,0x21,0xbe,0xe0,0x4, 0x78,0x8, 0x12,
+0x34,0xe9,0x12,0x4b,0xa9,0x80,0x14,0x7e,0xb3,0xc, 0xd6,0xc4,0x54,0x7, 0xb4,0x1,
+0xa, 0x7e,0xb3,0xc, 0xd2,0x12,0x34,0xeb,0x12,0x37,0xdc,0x12,0x36,0xef,0x78,0xe,
+0xe4,0x12,0x34,0x5c,0xb4,0x10,0x2, 0x80,0x14,0x12,0x36,0xfa,0x80,0x12,0xbe,0xf0,
+0x4, 0x78,0x5, 0x12,0x34,0xdf,0x80,0x8, 0xbe,0xf0,0x1, 0x78,0x3, 0x12,0x37,0xc7,
+0x7e,0xb3,0xc, 0xd8,0xb4,0xd3,0x6, 0x7e,0xb3,0xb, 0xb6,0xf5,0x91,0xc2,0x90,0x20,
+0x91,0x2, 0x81,0x59,0xc2,0x8, 0x7e,0xb3,0xc, 0xd0,0x4, 0x12,0x36,0xeb,0x78,0x50,
+0x7e,0xb3,0xc, 0xd7,0xb4,0x1, 0x36,0x7e,0xa3,0x9, 0x6a,0x7e,0x70,0x4, 0xac,0x7a,
+0xbe,0x37,0xc, 0xd3,0x40,0x22,0x7e,0x37,0xc, 0xd3,0x4d,0x33,0x78,0x5, 0x7a,0xa1,
+0x91,0x80,0xd, 0x7d,0x23,0x1b,0x24,0x2e,0x27,0x6, 0xdb,0x7e,0x29,0xb0,0xf5,0x91,
+0xb, 0x34,0x7a,0x37,0xc, 0xd3,0x80,0x3f,0x75,0x91,0xff,0x80,0x3a,0xe4,0x12,0x34,
+0x5c,0xb4,0x10,0x6, 0x7e,0xb3,0xc, 0xd0,0x80,0x19,0x7e,0xb3,0xc, 0xd0,0x80,0x1e,
+0xbe,0xf0,0x4, 0x78,0x5, 0x12,0x34,0xdf,0x80,0x1d,0xbe,0xf0,0x1, 0x7e,0xb3,0xc,
+0xd0,0x78,0xb, 0x2e,0xb3,0xc, 0xd8,0x12,0x0, 0x9, 0xf5,0x91,0x80,0x9, 0x2e,0xb3,
+0xc, 0xd8,0x12,0x34,0x5c,0xf5,0x91,0xc2,0x91,0xda,0x79,0x22,0x7c,0x7b,0xbe,0x70,
+0x80,0x40,0xc, 0xbe,0x70,0xde,0x38,0x7, 0xa, 0x37,0x9, 0xb3,0xa, 0xe3,0x22,0xa5,
+0xbf,0x0, 0x5, 0x7e,0xb3,0xc, 0xd6,0x22,0x30,0x7, 0x6, 0x7e,0x24,0xc, 0xac,0x80,
+0x4, 0x7e,0x24,0xc, 0xbe,0x7a,0x25,0x4a,0x7c,0xb7,0x14,0xbe,0xb0,0xe, 0x50,0x4c,
+0x7e,0xa0,0x3, 0xa4,0x90,0x34,0x98,0x73,0x2, 0x34,0xc2,0x2, 0x34,0xca,0x2, 0x34,
+0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,
+0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2, 0x34,0xd2,0x2,
+0x34,0xd2,0x7e,0x35,0x4a,0x9, 0xb3,0x0, 0x4, 0x22,0x7e,0x35,0x4a,0x9, 0xb3,0x0,
+0x3, 0x22,0xa, 0x37,0x2e,0x35,0x4a,0x9, 0xb3,0x0, 0x2, 0x22,0x74,0xff,0x22,0x7e,
+0xb3,0xc, 0xd8,0x12,0x33,0xa, 0xf5,0x91,0x22,0x7c,0xbf,0x2e,0xb3,0xc, 0xd8,0x24,
+0xfe,0x7e,0x71,0x91,0x22,0xca,0xf8,0xe4,0x12,0x36,0xeb,0x78,0x5, 0x12,0x36,0xfa,
+0x80,0x12,0xbe,0xf0,0x4, 0x78,0x5, 0x12,0x34,0xdf,0x80,0x8, 0xbe,0xf0,0x1, 0x78,
+0x3, 0x12,0x37,0xc7,0x75,0x91,0x0, 0xe4,0x7a,0xb3,0xc, 0xd2,0x7a,0xb3,0xc, 0xd1,
+0x74,0xaa,0x7a,0xb3,0xc, 0xac,0x7a,0xb3,0xc, 0xad,0x7a,0xb3,0xc, 0xbe,0x7a,0xb3,
+0xc, 0xbf,0xda,0xf8,0x22,0xbe,0xb0,0xa, 0x50,0xa, 0x7c,0x1b,0x2e,0x10,0x37,0x7c,
+0xb7,0xa5,0xf7,0x22,0x2, 0x35,0x47,0xca,0x79,0x7c,0x6b,0xa5,0xbe,0xae,0x17,0x7a,
+0x73,0x3, 0x34,0x7e,0xb3,0x3, 0x34,0xb4,0x1, 0x5, 0xe4,0x7a,0xb3,0x3, 0x34,0xe4,
+0x7a,0xb3,0x3, 0x42,0xc1,0x65,0xa5,0xbe,0xaf,0x5, 0x12,0x37,0xea,0xc1,0xe8,0x7c,
+0xb6,0x24,0xf4,0xbe,0xb0,0x29,0x40,0x2, 0xc1,0xa0,0x7e,0xa0,0x3, 0xa4,0x90,0x35,
+0x82,0x73,0x2, 0x35,0xfd,0x2, 0x36,0x3, 0x2, 0x36,0x9, 0x2, 0x36,0xf, 0x2, 0x36,
+0x15,0x2, 0x36,0x1b,0x2, 0x36,0x21,0x2, 0x36,0x27,0x2, 0x36,0x2d,0x2, 0x36,0x33,
+0x2, 0x36,0x39,0x2, 0x36,0x51,0x2, 0x36,0x6a,0x2, 0x36,0xe1,0x2, 0x36,0x70,0x2,
+0x36,0x79,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,
+0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,
+0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2,
+0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,0xa0,0x2, 0x36,
+0x82,0x2, 0x36,0x88,0x2, 0x36,0x8e,0x2, 0x36,0x94,0x2, 0x36,0x9a,0x7e,0x74,0x3,
+0x35,0x80,0x7a,0x7e,0x74,0x3, 0x38,0x80,0x74,0x7e,0x74,0x3, 0x39,0x80,0x6e,0x7e,
+0x74,0x3, 0x3a,0x80,0x68,0x7e,0x74,0x3, 0x3b,0x80,0x62,0x7e,0x74,0x3, 0x3c,0x80,
+0x5c,0x7e,0x74,0x3, 0x3d,0x80,0x56,0x7e,0x74,0x3, 0x36,0x80,0x50,0x7e,0x74,0x3,
+0x37,0x80,0x4a,0x7e,0x74,0x3, 0x40,0x80,0x44,0x7e,0x27,0x3, 0x30,0x6c,0x44,0x7a,
+0x27,0x3, 0x30,0x7c,0x67,0x6c,0x77,0x4e,0x37,0x3, 0x30,0x7a,0x37,0x3, 0x30,0x80,
+0x14,0x7e,0x27,0x3, 0x30,0x6c,0x55,0x7a,0x27,0x3, 0x30,0xa, 0x37,0x4e,0x37,0x3,
+0x30,0x7a,0x37,0x3, 0x30,0x43,0xa, 0x1, 0x80,0x7e,0x7e,0x74,0x3, 0x3f,0x80,0xd,
+0x7e,0x74,0x3, 0x41,0x43,0xa, 0x4, 0x80,0x68,0x7e,0x74,0x6, 0xd4,0x43,0xa, 0x1,
+0x80,0x5f,0x7a,0x73,0x3, 0x43,0x80,0x60,0x7a,0x73,0x3, 0x44,0x80,0x5a,0x7a,0x73,
+0x3, 0x45,0x80,0x54,0x7a,0x73,0x3, 0x46,0x80,0x4e,0x7a,0x73,0x3, 0x47,0x80,0x48,
+0xbe,0x60,0x39,0x68,0x4, 0xa5,0xbe,0x3a,0x3f,0x7e,0x63,0x3, 0x45,0x7c,0xb6,0x4,
+0x7a,0xb3,0x3, 0x45,0xa, 0x26,0x5e,0x24,0x0, 0x1, 0xa, 0x16,0x68,0x12,0x12,0x37,
+0x4, 0x6c,0x55,0x1b,0x18,0x20,0xa, 0x17,0x12,0x37,0x10,0x43,0xa, 0x2, 0x80,0x18,
+0x12,0x37,0x4, 0x6c,0x44,0x1b,0x18,0x20,0x7c,0x27,0x6c,0x33,0x12,0x37,0x10,0x80,
+0x7, 0x4d,0x77,0x68,0x3, 0x7a,0x79,0x70,0xda,0x79,0x22,0x7a,0xb3,0xc, 0xd0,0x7e,
+0xb3,0xc, 0xd6,0xc4,0x7c,0xfb,0x5e,0xf0,0x7, 0x22,0x7e,0xb3,0xc, 0xd8,0x12,0x34,
+0x5c,0xf5,0x91,0x22,0x1e,0x14,0x3e,0x14,0x2e,0x14,0x2, 0xd4,0xb, 0x18,0x20,0x22,
+0xa, 0x26,0x1e,0x24,0x3e,0x24,0x2e,0x24,0x2, 0xd4,0xb, 0x28,0x30,0x4d,0x31,0x1b,
+0x28,0x30,0x22,0xca,0x69,0xca,0xf8,0x7c,0xf7,0xbe,0xb0,0x80,0x40,0xb, 0xbe,0xb0,
+0xde,0x38,0x6, 0x24,0x80,0x7c,0x7f,0xe1,0xbf,0x24,0x0, 0x68,0x2, 0xe1,0xc2,0x7e,
+0x64,0xc, 0xd6,0x7a,0x69,0xf0,0x5e,0xf0,0x70,0x7c,0xbf,0xc4,0x54,0xf, 0x7c,0xfb,
+0xbe,0xf0,0x4, 0x78,0x15,0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x7, 0x74,0x2, 0x7e,0x70,
+0x3, 0x80,0x36,0x74,0x3c,0x7e,0x70,0x3, 0x80,0x55,0x7e,0xb3,0xb, 0x9f,0xb4,0x3,
+0x2d,0x74,0x2, 0x7e,0x70,0x1, 0x12,0x35,0x35,0xbe,0xf0,0x1, 0x78,0x6, 0x74,0x2,
+0x6c,0x77,0x80,0x15,0x4c,0xff,0x78,0x7, 0x74,0x2, 0x7e,0x70,0x1, 0x80,0xa, 0xbe,
+0xf0,0x3, 0x78,0x2e,0x74,0x2, 0x7e,0x70,0x4, 0x12,0x35,0x35,0x80,0x24,0xbe,0xf0,
+0x1, 0x78,0x6, 0x74,0x3c,0x6c,0x77,0x80,0x16,0xbe,0xf0,0x4, 0x78,0x7, 0x74,0x3c,
+0x7e,0x70,0x3, 0x80,0xa, 0xbe,0xf0,0x3, 0x78,0x8, 0x74,0x3c,0x7e,0x70,0x4, 0x12,
+0x4b,0x75,0xda,0xf8,0xda,0x69,0x22,0x7e,0xb3,0xc, 0xd8,0x12,0x0, 0x9, 0xf5,0x91,
+0x22,0xe4,0x7a,0xb3,0xc, 0xd6,0x12,0x4d,0xe8,0x2, 0x34,0xf5,0x7c,0xa7,0x24,0x0,
+0x78,0x7, 0x7e,0x34,0xc, 0xd6,0x7a,0x39,0xa0,0x22,0x30,0x9, 0x8, 0x74,0x1, 0x12,
+0x43,0x3a,0xc2,0x9, 0x22,0xe4,0x12,0x43,0x3a,0xd2,0x9, 0x22,0x75,0xd, 0x0, 0xc2,
+0x5, 0x7e,0xb3,0xb, 0x88,0x70,0x7, 0x7e,0xb3,0x0, 0x95,0xf5,0x1a,0x22,0x7e,0xb3,
+0x0, 0x97,0xf5,0x1a,0x22,0x7d,0xd2,0x6d,0x22,0x9e,0x18,0x0, 0xc7,0x6d,0xcc,0x7e,
+0x78,0x0, 0xc7,0x7f,0x27,0x9f,0x26,0x12,0x3c,0x5c,0x2e,0x28,0x0, 0xc7,0x9f,0x71,
+0x7f,0x17,0xbe,0x28,0x0, 0x0, 0x58,0x4, 0x9f,0x22,0x80,0xa, 0xbe,0x28,0x1, 0x8e,
+0x48,0x4, 0x7e,0x28,0x1, 0x8d,0xbe,0x18,0x0, 0x0, 0x58,0x4, 0x9f,0x11,0x80,0xa,
+0xbe,0x18,0x1, 0x8e,0x48,0x4, 0x7e,0x18,0x1, 0x8d,0x1b,0x18,0x50,0x7d,0x13,0x1b,
+0x8, 0x10,0x22,0xca,0xf8,0x6c,0xff,0x80,0x23,0x74,0x5, 0xac,0xbf,0x12,0x3c,0xa,
+0x7e,0x14,0x0, 0x22,0x7e,0x4, 0x0, 0x24,0x12,0x38,0x15,0x7e,0x35,0x22,0x74,0x5,
+0xac,0xbf,0x59,0x35,0x0, 0x7a,0x7e,0x35,0x24,0x12,0x3c,0x51,0x12,0x38,0x94,0x48,
+0xd8,0xda,0xf8,0x22,0x7e,0xb3,0x0, 0x90,0x54,0xf, 0xa, 0x2b,0xa, 0x3f,0xbd,0x32,
+0x22,0xca,0x3b,0xc2,0xf, 0x75,0x2c,0x0, 0x7e,0xb3,0x3, 0x5a,0xbe,0xb0,0x2, 0x68,
+0x7, 0x7e,0xb3,0x3, 0x5b,0xb4,0x2, 0x16,0x12,0x2d,0x19,0xbe,0xb0,0x1, 0x38,0xe,
+0x7c,0xba,0x54,0xf, 0xbe,0xb0,0x1, 0x38,0x5, 0x7c,0xba,0x12,0x28,0x90,0x6c,0xff,
+0x7e,0xa0,0xff,0x7e,0x70,0x5, 0xac,0x7f,0x19,0xa3,0x0, 0x7e,0x7c,0x1f,0x2e,0x10,
+0x22,0x74,0xff,0xa5,0xf7,0x7e,0x24,0xff,0xff,0x12,0x3b,0xed,0x1b,0x38,0x20,0x7c,
+0x1f,0x2e,0x10,0x24,0xe4,0xa5,0xf7,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xd2,0x7e,0xa3,
+0x0, 0x90,0x7c,0xba,0x54,0xf, 0x78,0x1f,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x18,0x6c,
+0xff,0x12,0x3c,0x49,0xac,0x7f,0x59,0x43,0x3, 0x52,0x59,0x43,0x3, 0x56,0xb, 0xf0,
+0xbe,0xf0,0x2, 0x78,0xec,0x61,0x88,0x7c,0xba,0xc4,0x54,0xf, 0x78,0x33,0x6c,0xff,
+0x7e,0xa0,0x1, 0x80,0x25,0x7c,0x1f,0x2e,0x10,0x24,0x7c,0xba,0x12,0x3b,0xf6,0x19,
+0xf3,0x0, 0x7e,0x49,0x43,0x0, 0x7a,0x7e,0x50,0x2, 0xac,0x5f,0x59,0x42,0x3, 0x52,
+0x49,0x33,0x0, 0x7c,0x59,0x32,0x3, 0x56,0xb, 0xf0,0x12,0x38,0x94,0x48,0xd6,0x61,
+0x88,0x6c,0xff,0x80,0x47,0x6c,0xee,0x74,0x2, 0xac,0xbe,0x49,0x25,0x3, 0x56,0x12,
+0x3e,0x8, 0x7d,0x63,0x74,0x2, 0xac,0xbe,0x49,0x25,0x3, 0x52,0x12,0x3c,0x73,0x2d,
+0x36,0x7a,0x35,0x26,0x7c,0xbf,0x3e,0xb0,0x24,0x28,0xa, 0x2b,0xb, 0x28,0x30,0xbe,
+0x35,0x26,0x28,0xf, 0x7c,0x1f,0x2e,0x10,0x22,0x7c,0xbe,0xa5,0xf7,0x7e,0x35,0x26,
+0x1b,0x28,0x30,0xb, 0xe0,0xbe,0xe0,0x2, 0x78,0xbd,0xb, 0xf0,0x12,0x38,0x94,0x48,
+0xb4,0x6c,0xff,0x41,0x51,0xd2,0xf, 0x6c,0xee,0x80,0x2c,0xbc,0xef,0x68,0x26,0x7c,
+0x1e,0x12,0x3b,0xfe,0x7c,0x1f,0x2e,0x10,0x22,0xa5,0xe7,0xbc,0xba,0x78,0x16,0x7c,
+0xbe,0x12,0x3b,0xef,0xb, 0x38,0x20,0x12,0x3b,0xed,0xb, 0x38,0x30,0xbd,0x32,0x40,
+0x4, 0xc2,0xf, 0x80,0xd, 0xb, 0xe0,0x12,0xe, 0xaf,0xa, 0x2b,0xa, 0x3e,0xbd,0x32,
+0x48,0xc9,0x7c,0x1f,0x12,0x3b,0xfe,0xa, 0x4a,0x9, 0xb4,0x3, 0x5a,0xb4,0x2, 0x4,
+0xc2,0xf, 0x80,0x1e,0xb4,0x1, 0x1b,0x12,0x2f,0x33,0xbe,0xb0,0x2, 0x40,0x11,0x7c,
+0xb7,0xc4,0x54,0xf, 0xbe,0xb0,0x2, 0x40,0x7, 0xe4,0x19,0xb4,0x3, 0x5a,0x80,0x2,
+0xc2,0xf, 0x30,0xf, 0x2a,0xbe,0xa0,0x2, 0x50,0x25,0x7c,0x1a,0x2e,0x10,0x24,0x74,
+0x1, 0xa5,0xf7,0x7e,0x90,0x5, 0xac,0x9f,0x19,0xa4,0x0, 0x7e,0x49,0x34,0x0, 0x7a,
+0x74,0x2, 0xa4,0x59,0x35,0x3, 0x52,0x49,0x34,0x0, 0x7c,0x59,0x35,0x3, 0x56,0xb,
+0xf0,0x12,0x38,0x94,0x58,0x2, 0x21,0xb5,0x6c,0xff,0x80,0x48,0x74,0x5, 0xac,0xbf,
+0x9, 0xb5,0x0, 0x7e,0xb4,0xff,0x3b,0x6c,0xee,0x7c,0x1e,0x2e,0x10,0x24,0xa5,0xe7,
+0x70,0x29,0xa, 0x3e,0x9, 0xb3,0x3, 0x5a,0x70,0x1f,0x74,0x1, 0x12,0x3b,0xf6,0x49,
+0x23,0x0, 0x7a,0x74,0x2, 0xac,0xbe,0x59,0x25,0x3, 0x52,0x49,0x23,0x0, 0x7c,0x59,
+0x25,0x3, 0x56,0x19,0xe3,0x0, 0x7e,0x80,0x9, 0x5, 0x2c,0xb, 0xe0,0xbe,0xe0,0x2,
+0x40,0xc7,0xb, 0xf0,0x7e,0xa3,0x0, 0x90,0x5e,0xa0,0xf, 0xa, 0x2a,0xa, 0x3f,0xbd,
+0x32,0x48,0xa9,0xe5,0x2c,0x60,0x2a,0x4c,0xaa,0x68,0x26,0xe5,0x2c,0xa, 0x3b,0xbd,
+0x23,0x48,0x1e,0x7e,0x73,0x0, 0x7e,0xbe,0x70,0x2, 0x40,0xc, 0x7e,0x73,0x0, 0x83,
+0xbe,0x70,0x2, 0x50,0x3, 0x12,0x3e,0x3a,0x12,0x2f,0x75,0x9e,0x61,0x2c,0x12,0x2d,
+0x23,0x12,0x2d,0x19,0xa, 0x2b,0x7c,0xba,0x54,0xf, 0xa, 0x3b,0xbd,0x32,0x58,0x71,
+0x6c,0xff,0x12,0x3b,0xe5,0x70,0x5a,0x7e,0xd0,0x2, 0xac,0xdf,0x49,0x46,0x3, 0x52,
+0xbe,0x44,0x7f,0xff,0x68,0x4b,0xa, 0x2f,0x9, 0x62,0x3, 0x5a,0xbe,0x60,0x2, 0x50,
+0x40,0x49,0x16,0x3, 0x56,0xbe,0x14,0x1, 0x8e,0x50,0x36,0x9, 0xb2,0xb, 0x31,0x60,
+0x30,0x74,0x1, 0xa5,0xf7,0x7e,0x73,0x0, 0x90,0x7c,0xe7,0x5e,0xe0,0xf, 0x74,0x5,
+0xac,0xbe,0x59,0x45,0x0, 0x7a,0x59,0x15,0x0, 0x7c,0x19,0xf5,0x0, 0x7e,0x2e,0x24,
+0x3, 0x5a,0x7c,0xb6,0x4, 0x7a,0x29,0xb0,0x7c,0x67,0xb, 0x60,0x12,0x2d,0x23,0x80,
+0x7, 0xe4,0xa, 0x3f,0x19,0xb3,0x3, 0x5a,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0x93,0x80,
+0x9, 0xe4,0x7a,0xb3,0x3, 0x5a,0x7a,0xb3,0x3, 0x5b,0x6c,0xff,0x12,0x3b,0xe5,0x70,
+0x10,0x7e,0x34,0x7f,0xff,0x74,0x2, 0xac,0xbf,0x59,0x35,0x3, 0x52,0x59,0x35,0x3,
+0x56,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xe4,0x12,0x3c,0x41,0x6c,0xff,0x12,0x3b,0xe5,
+0xb4,0x1, 0x1d,0xa, 0x3f,0x9, 0xb3,0x3, 0x50,0xbe,0xb0,0x3, 0x68,0x3, 0xb4,0x1,
+0x7, 0xe4,0x19,0xb3,0x3, 0x4e,0x80,0x33,0x74,0x2, 0x19,0xb3,0x3, 0x4e,0x80,0x2b,
+0xa, 0x3f,0x9, 0xb3,0x3, 0x50,0xbe,0xb0,0x2, 0x68,0x2, 0x70,0x18,0x74,0x1, 0x19,
+0xb3,0x3, 0x4e,0xbe,0xe0,0x2, 0x50,0x13,0x7c,0xae,0xb, 0xe0,0x74,0x5, 0xa4,0x19,
+0xf5,0x0, 0x7e,0x80,0x6, 0x74,0x3, 0x19,0xb3,0x3, 0x4e,0xb, 0xf0,0xbe,0xf0,0x2,
+0x40,0xab,0xda,0x3b,0x22,0x7c,0x1f,0x2e,0x10,0x24,0xa5,0xe7,0x22,0x7c,0xbf,0x3e,
+0xb0,0x24,0x28,0xa, 0x3b,0x22,0xa5,0xf7,0x7e,0x70,0x5, 0xac,0x7f,0x22,0x2e,0x10,
+0x22,0xa5,0xe7,0x7c,0xab,0x22,0x74,0x5, 0xac,0xbe,0x49,0x35,0x0, 0x7a,0x49,0x25,
+0x0, 0x7c,0x22,0xca,0x79,0x12,0x3c,0x37,0x6c,0xff,0x80,0x13,0xa, 0x3f,0x9, 0xe3,
+0x0, 0x76,0x7e,0x34,0x6, 0x15,0x7c,0xbe,0x6c,0x55,0x12,0x3e,0x4b,0xb, 0xf0,0x12,
+0x38,0x94,0x48,0xe8,0xda,0x79,0x22,0x74,0x1, 0x6c,0xaa,0x12,0x3c,0x67,0x40,0xfb,
+0x22,0x7e,0xe3,0x0, 0x90,0x5e,0xe0,0xf, 0x22,0x7e,0x44,0x7f,0xff,0x7e,0x70,0x2,
+0x22,0x74,0x5, 0xac,0xbf,0x59,0x35,0x0, 0x7c,0xb, 0xf0,0x22,0x6e,0x34,0xff,0xff,
+0x6e,0x24,0xff,0xff,0xb, 0x1c,0x22,0xa, 0x4a,0x19,0xb4,0x6, 0x15,0xb, 0xa0,0xbe,
+0xa0,0x2e,0x22,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7a,0x9d,0x32,0x2, 0x0, 0x2e,
+0xca,0x3b,0x12,0xe, 0xaf,0x7c,0xeb,0x78,0x30,0x6c,0xff,0x6d,0x11,0x74,0x2, 0xac,
+0xbf,0x59,0x15,0xd, 0x1d,0x7e,0xa0,0xff,0x7e,0x30,0x5, 0xac,0x3f,0x19,0xa1,0xd,
+0x17,0x7e,0xb3,0xd, 0x28,0x70,0x3, 0xe4,0x80,0x2, 0x74,0x2, 0xa, 0x1f,0x19,0xb1,
+0xd, 0x26,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xd2,0x7e,0x17,0x0, 0x92,0xbe,0x14,0x0,
+0x1, 0x78,0x2, 0xa1,0xfc,0x6c,0xff,0xa1,0xd8,0x74,0x5, 0xac,0xbf,0x9, 0x75,0x0,
+0x7e,0x7a,0x71,0x23,0xbe,0x70,0x2, 0x40,0x2, 0xa1,0xd6,0xe5,0x23,0xa, 0x1b,0x12,
+0x3e,0x1d,0x78,0x2, 0xa1,0xd6,0x75,0x22,0x0, 0x7e,0x31,0x22,0x74,0x5, 0xac,0x3b,
+0x9, 0x71,0xd, 0x17,0x7a,0x71,0x24,0xbe,0x71,0x23,0x68,0x2, 0xa1,0xcb,0x49,0x21,
+0xd, 0x15,0x12,0x3e,0x8, 0x7d,0x63,0x12,0x14,0xe3,0x49,0x25,0xd, 0x13,0x12,0x3c,
+0x73,0x7d,0x3, 0x2d,0x6, 0xe5,0x24,0xa, 0x1b,0x9, 0xa1,0xd, 0x26,0xbe,0xa0,0x0,
+0x28,0x17,0x7e,0x71,0x24,0x74,0x2, 0xac,0x7b,0x59,0x3, 0xd, 0x1d,0x2e,0x14,0xd,
+0x26,0x7c,0xba,0x14,0x7a,0x19,0xb0,0xa1,0xd6,0x7e,0x31,0x24,0x74,0x2, 0xac,0x3b,
+0x49,0x31,0xd, 0x1d,0xbe,0x34,0x0, 0x1e,0x28,0x8, 0xbe,0x4, 0x0, 0x1e,0x28,0x2,
+0x80,0x10,0x7d,0x23,0x2e,0x24,0x0, 0x1e,0xbd,0x20,0x50,0x12,0xbe,0x34,0x0, 0x1e,
+0x28,0xc, 0x59,0x1, 0xd, 0x1d,0x74,0x1, 0x7a,0xb3,0xd, 0x28,0x80,0x68,0xbe,0x4,
+0x0, 0x64,0x28,0x4b,0xe4,0x7a,0xb3,0xd, 0x28,0xe5,0x23,0xa, 0x1b,0x9, 0xb1,0x3,
+0x4e,0x70,0x4, 0x74,0x3, 0x80,0x2, 0x74,0x1, 0x19,0xb1,0x3, 0x4e,0x12,0x3e,0x25,
+0x7e,0x14,0xd, 0x21,0x74,0x5, 0x12,0x4, 0x8d,0xbe,0xe0,0x0, 0x28,0x21,0x1b,0xe0,
+0x7e,0x70,0x5, 0xac,0x7e,0x2e,0x34,0x0, 0x7a,0x7e,0x30,0x5, 0xac,0x3f,0x12,0x3d,
+0xff,0x7e,0x34,0xd, 0x21,0x7e,0x30,0x5, 0xac,0x3e,0x12,0x3d,0xff,0x1b,0xf0,0x7e,
+0xa1,0x24,0x74,0x2, 0xa4,0x59,0x5, 0xd, 0x1d,0x80,0xb, 0x5, 0x22,0xe5,0x22,0xbe,
+0xb0,0x2, 0x50,0x2, 0x81,0xe9,0xb, 0xf0,0x12,0x2f,0x33,0xa, 0x2b,0xa, 0x1f,0xbd,
+0x12,0x58,0x2, 0x81,0xc9,0x7c,0x6e,0x12,0x2d,0x23,0x6c,0xff,0x12,0x3e,0x15,0x2e,
+0x34,0x0, 0x7a,0x2e,0x14,0xd, 0x13,0x12,0x3e,0x2f,0x78,0xf0,0xda,0x3b,0x22,0x2e,
+0x14,0x0, 0x7a,0x74,0x5, 0x2, 0x4, 0x8d,0x74,0x5, 0xac,0xbf,0x49,0x35,0x0, 0x7c,
+0x9d,0x32,0x2, 0x0, 0x2e,0x7e,0x30,0x5, 0xac,0x3f,0x7d,0x31,0x22,0x9, 0xb1,0x3,
+0x4e,0xbe,0xb0,0x1, 0x22,0x7e,0x70,0x5, 0xac,0x7f,0x2e,0x34,0x0, 0x7a,0x22,0x74,
+0x5, 0x12,0x4, 0x8d,0xb, 0xf0,0xbe,0xf0,0x2, 0x22,0x7e,0x1f,0x0, 0x80,0x7e,0x33,
+0x0, 0x7f,0x7a,0x1f,0x0, 0x7b,0x7a,0x33,0x0, 0x7a,0x22,0x7d,0x13,0x4d,0x11,0x68,
+0xc, 0xbe,0xb0,0x2e,0x50,0x7, 0xa, 0x3b,0x2d,0x31,0x7a,0x39,0x50,0x22,0x74,0x10,
+0x7a,0xb3,0xb, 0x84,0x74,0x83,0x7a,0xb3,0xb, 0x85,0xe4,0x6c,0xaa,0x12,0x3c,0x67,
+0x40,0xfb,0x22,0x6c,0xaa,0x74,0x3, 0xa, 0x4a,0x19,0xb4,0x3, 0x50,0x19,0xb4,0x3,
+0x4e,0x12,0x3c,0x49,0xac,0x7a,0x59,0x43,0x3, 0x52,0x59,0x43,0x3, 0x56,0xb, 0xa0,
+0xbe,0xa0,0x2, 0x40,0xe0,0x22,0x7c,0x6b,0x7e,0x53,0x0, 0x90,0x7c,0xb5,0x54,0xf,
+0x68,0x10,0x7c,0x45,0x1b,0x40,0x5e,0x40,0xf, 0x5e,0x50,0xf0,0x4c,0x54,0x7a,0x53,
+0x0, 0x90,0xa5,0xbe,0x0, 0x12,0xa5,0xbf,0x2, 0xe, 0x7e,0x73,0x0, 0x77,0x7a,0x73,
+0x0, 0x76,0x85,0x17,0x16,0x12,0x3e,0x3a,0x22,0xca,0x79,0x6d,0x77,0x7a,0x77,0x2,
+0xd0,0x7e,0x34,0x3, 0xe8,0x7a,0x37,0x0, 0x74,0x12,0x1f,0xe6,0x12,0x1e,0xf6,0x12,
+0x1b,0xdc,0x7a,0x77,0x2, 0xd0,0x7e,0x34,0x0, 0x64,0x7a,0x37,0x0, 0x74,0xda,0x79,
+0x22,0x6c,0x77,0xa, 0x27,0x9, 0x62,0x3, 0x4e,0x19,0x62,0x3, 0x50,0xb, 0x70,0xbe,
+0x70,0x2, 0x40,0xef,0x12,0x3f,0x35,0x12,0x3f,0x2d,0x7a,0x73,0x0, 0x90,0x7e,0x73,
+0x0, 0x91,0x5e,0x70,0xf, 0x12,0x3f,0x2d,0x7a,0x73,0x0, 0x91,0x7e,0x1f,0x5, 0x2c,
+0x7a,0x1f,0x5, 0x30,0x7e,0x73,0x6, 0xe, 0x7a,0x73,0x6, 0xf, 0x22,0x7c,0xb7,0xc4,
+0x54,0xf0,0x4c,0x7b,0x22,0x7e,0x73,0x0, 0x90,0x5e,0x70,0xf, 0x22,0x12,0x3f,0x35,
+0x6c,0x66,0x80,0x2, 0xb, 0x60,0xbc,0x76,0x38,0xfa,0x22,0xca,0x3b,0x6c,0xaa,0x12,
+0x3f,0x35,0x7e,0x44,0x3, 0x5c,0x7e,0x24,0x0, 0x76,0x6c,0x66,0x80,0x64,0x75,0x1f,
+0xff,0xa, 0xf6,0x2d,0xf2,0x7e,0xf9,0x20,0x7e,0x30,0x4, 0xac,0x23,0x7d,0xe1,0x2d,
+0xe4,0x49,0x1e,0x0, 0x2, 0xb, 0xe8,0x0, 0xa, 0x76,0xb, 0x74,0x80,0x24,0xa, 0xef,
+0x2d,0xe2,0x7e,0xe9,0xe0,0x7e,0xd0,0x4, 0xac,0xde,0x7d,0xe6,0x2d,0xe4,0x49,0xde,
+0x0, 0x2, 0xb, 0xe8,0xc0,0xbf,0x6, 0x58,0x7, 0x7c,0xae,0x7a,0xf1,0x1f,0x7f,0x6,
+0xb, 0xf0,0xbc,0x7f,0x38,0xd8,0xe5,0x1f,0xbe,0xb0,0xff,0x68,0x13,0x7e,0xf9,0xe0,
+0xe5,0x1f,0xa, 0xfb,0x2d,0xf2,0x7a,0xf9,0xe0,0xa, 0xf6,0x2d,0xf2,0x7a,0xf9,0xa0,
+0xb, 0x60,0xbc,0x76,0x38,0x98,0xda,0x3b,0x22,0x7c,0xab,0x9f,0x11,0x7a,0x1f,0x5,
+0x30,0x74,0xb, 0x7a,0xb3,0x6, 0xf, 0x74,0x2, 0x7a,0xb3,0x6, 0x44,0x7a,0xb3,0x6,
+0x43,0x74,0xf, 0x7a,0xb3,0x6, 0x45,0x74,0x2, 0x7a,0xb3,0x6, 0x47,0x7a,0xb3,0x6,
+0x46,0x74,0xf, 0x7a,0xb3,0x6, 0x48,0x7e,0x34,0x0, 0x32,0x7a,0x37,0x5, 0xec,0x12,
+0x41,0x12,0x74,0xa, 0x7a,0xb3,0x6, 0x10,0x7e,0xb3,0x6, 0x67,0x44,0x40,0x7a,0xb3,
+0x6, 0x67,0x54,0x7f,0x7a,0xb3,0x6, 0x67,0x5e,0xa0,0x7f,0xbe,0xa0,0x1, 0x68,0x7,
+0xbe,0xa0,0x2, 0x78,0x2, 0x80,0x0, 0x12,0x41,0x12,0x7e,0xa3,0x6, 0x67,0x7c,0xba,
+0x30,0xe0,0x12,0x74,0x1, 0x7a,0xb3,0x6, 0x11,0x74,0x3, 0x7a,0xb3,0x6, 0x12,0x7a,
+0xb3,0x6, 0x13,0x80,0xe, 0x74,0x1, 0x7a,0xb3,0x6, 0x12,0x7a,0xb3,0x6, 0x13,0x7a,
+0xb3,0x6, 0x11,0x74,0xa, 0x7a,0xb3,0x6, 0x66,0x7a,0xb3,0x6, 0x14,0x7e,0x24,0x2a,
+0xf8,0x7a,0x27,0x5, 0xf0,0x7c,0xba,0x54,0xfd,0x7a,0xb3,0x6, 0x67,0x7e,0x24,0xfc,
+0xe0,0x7a,0x27,0x5, 0xee,0x12,0x41,0x35,0x7a,0x37,0x5, 0xf2,0x7e,0x34,0x5, 0xdc,
+0x7a,0x37,0x5, 0xf4,0x7e,0x34,0xf, 0xa0,0x7a,0x37,0x5, 0xf6,0x7e,0xb3,0x6, 0x67,
+0x54,0xf7,0x7a,0xb3,0x6, 0x67,0x54,0xef,0x7a,0xb3,0x6, 0x67,0x7e,0x34,0x0, 0xc7,
+0x7a,0x37,0x5, 0xf8,0x7e,0x34,0x0, 0xa0,0x7a,0x37,0x5, 0xfa,0xe4,0x7a,0xb3,0x6,
+0x49,0x7a,0xb3,0x6, 0x4a,0x7a,0x37,0x6, 0x4b,0x7e,0x34,0x0, 0x31,0x7a,0x37,0x5,
+0xfc,0x7e,0x34,0x1, 0x5c,0x7a,0x37,0x5, 0xfe,0x12,0x41,0x1d,0x7e,0x34,0x0, 0x8,
+0x7a,0x37,0x6, 0x2, 0x7e,0x34,0x0, 0x7, 0x7a,0x37,0x6, 0x0, 0x7e,0x34,0x0, 0x1a,
+0x7a,0x37,0x6, 0x4, 0x7e,0x34,0x6, 0x65,0x7a,0x37,0x6, 0x6, 0x7e,0x34,0x22,0x98,
+0x7a,0x37,0x6, 0x8, 0x7e,0x34,0x20,0x4, 0x7a,0x37,0x6, 0xc, 0x7e,0x34,0x20,0x51,
+0x7a,0x37,0x6, 0xa, 0xe4,0x7a,0xb3,0x6, 0x4d,0x7e,0x34,0xa, 0xd1,0x7a,0x37,0x6,
+0x4e,0x22,0x7e,0xb3,0x6, 0x67,0x54,0xfe,0x7a,0xb3,0x6, 0x67,0x22,0x7e,0xb3,0x6,
+0x67,0x54,0xdf,0x7a,0xb3,0x6, 0x67,0x22,0x7e,0xb3,0x6, 0x67,0x44,0x4, 0x7a,0xb3,
+0x6, 0x67,0x12,0x15,0x1d,0x7e,0xb3,0x6, 0x67,0x54,0xfb,0x7a,0xb3,0x6, 0x67,0x22,
+0xca,0x3b,0x7e,0x48,0x75,0x30,0x7f,0x74,0x9f,0x55,0x7f,0x5, 0x6c,0x77,0x7e,0xa0,
+0x1, 0x6c,0x66,0x7e,0x50,0x2, 0xac,0x56,0x49,0x72,0x5, 0x34,0x6d,0x66,0x7e,0x50,
+0x4, 0xac,0x56,0x49,0xd2,0x3, 0x5e,0x49,0xc2,0x3, 0x5c,0x2f,0x63,0xbf,0x76,0x8,
+0x2, 0x7f,0x76,0xbf,0x6, 0x58,0x2, 0x7f,0x6, 0xb, 0x60,0xa5,0xbe,0x16,0xd4,0x7f,
+0x30,0x9f,0x37,0xbe,0x38,0x4, 0xb0,0x58,0x3, 0x7e,0x70,0x1, 0x7f,0x74,0x7f,0x5,
+0x6c,0x66,0x7e,0x50,0x2, 0xac,0x56,0x49,0xd2,0x5, 0x34,0x6d,0xcc,0xbf,0x76,0x8,
+0x2, 0x7f,0x76,0xbf,0x6, 0x58,0x2, 0x7f,0x6, 0xb, 0x60,0xa5,0xbe,0x16,0xe3,0x9f,
+0x7, 0xbe,0x8, 0x4, 0xb0,0x8, 0x2, 0x6c,0xaa,0x4c,0x77,0x68,0x8, 0x4c,0xaa,0x78,
+0x4, 0x74,0x1, 0x80,0x1, 0xe4,0xda,0x3b,0x22,0xca,0x3b,0x7c,0xcb,0x6c,0xaa,0xe5,
+0x9, 0x70,0xa, 0xe5,0x1c,0x70,0x6, 0xe5,0x11,0x70,0x2, 0x61,0x33,0x20,0x7, 0x6,
+0x7e,0x74,0xc, 0xac,0x80,0x4, 0x7e,0x74,0xc, 0xbe,0x6c,0xdd,0x7e,0x70,0xff,0xa,
+0x2d,0x2d,0x27,0x7a,0x29,0x70,0xb, 0xd0,0xbe,0xd0,0x12,0x78,0xf2,0x74,0xaa,0x7a,
+0x79,0xb0,0x19,0xb7,0x0, 0x1, 0x74,0x12,0x19,0xb7,0x0, 0x2, 0x7e,0xb3,0x2, 0xca,
+0x19,0xb7,0x0, 0x4, 0x6c,0x77,0x6c,0xdd,0x7e,0x10,0x5, 0xac,0x1d,0x9, 0x60,0x2,
+0xba,0xbe,0x60,0xff,0x78,0x2, 0x41,0xbc,0xa, 0x16,0x9, 0xb1,0x3, 0x4e,0xbe,0xb0,
+0x3, 0x78,0x2, 0x41,0xbc,0x49,0x40,0x2, 0xb6,0x2e,0x44,0x0, 0x3, 0x49,0x20,0x2,
+0xb8,0x2e,0x24,0x0, 0x3, 0xa, 0x8, 0x12,0x43,0x4c,0x19,0x60,0x0, 0x5, 0x7c,0x69,
+0xa, 0x7, 0x2d,0x7, 0x19,0x60,0x0, 0x6, 0xa, 0x4, 0x12,0x43,0x4c,0x19,0x60,0x0,
+0x7, 0x7c,0x65,0xa, 0x7, 0x2d,0x7, 0x19,0x60,0x0, 0x8, 0xe4,0xa, 0x7, 0x2d,0x7,
+0x19,0xb0,0x0, 0x9, 0xa, 0x7, 0x2d,0x7, 0x19,0xb0,0x0, 0xa, 0x12,0x43,0x42,0xc4,
+0x54,0xf0,0xa, 0x7, 0x2d,0x7, 0x2e,0x4, 0x0, 0x7, 0x7e,0x9, 0x60,0x2c,0x6b,0x7a,
+0x9, 0x60,0x12,0x43,0x42,0xbe,0xb0,0xff,0x68,0x1f,0x12,0x3e,0x1d,0x68,0x2, 0xb,
+0xa0,0x9, 0xb1,0x3, 0x4e,0x3, 0x3, 0x54,0xc0,0xa, 0x17,0x2d,0x17,0x2e,0x14,0x0,
+0x5, 0x7e,0x19,0x60,0x2c,0x6b,0x7a,0x19,0x60,0x2e,0x70,0x6, 0xb, 0xd0,0xbe,0xd0,
+0x2, 0x68,0x2, 0x41,0x18,0x19,0xa7,0x0, 0x3, 0xe4,0x19,0xb7,0x0, 0x11,0x6c,0xdd,
+0xa, 0x3d,0x2d,0x37,0x7e,0x39,0x60,0x7d,0x27,0x2e,0x24,0x0, 0x11,0x7e,0x29,0x70,
+0x6c,0x76,0x7a,0x29,0x70,0xb, 0xd0,0xbe,0xd0,0x11,0x78,0xe4,0x30,0x7, 0x4, 0xc2,
+0x7, 0x80,0x2, 0xd2,0x7, 0xe5,0x1c,0x60,0x3, 0x12,0x3e,0x73,0x75,0x9, 0x0, 0x75,
+0x1c,0x0, 0x75,0x11,0x0, 0x7e,0xb3,0xb, 0xb3,0xb4,0x1, 0x14,0x12,0x2f,0x3c,0x68,
+0x26,0xe5,0x4f,0xb4,0x1, 0xf, 0x74,0x1, 0x12,0x43,0x3a,0x75,0x4f,0x0, 0x80,0x5,
+0x74,0x1, 0x12,0x43,0x3a,0x7e,0x34,0x0, 0x9, 0x12,0x43,0x57,0xbe,0xc0,0x1, 0x78,
+0x6, 0x80,0x0, 0xe4,0x12,0x43,0x3a,0xda,0x3b,0x22,0x70,0x3, 0xd2,0x86,0x22,0xc2,
+0x86,0x22,0x7e,0x10,0x5, 0xac,0x1d,0x9, 0xb0,0x2, 0xba,0x22,0x5e,0x4, 0x0, 0xf,
+0x7c,0x61,0xa, 0x7, 0x2d,0x7, 0x22,0x7e,0x24,0x0, 0x14,0xad,0x32,0x80,0x3, 0x0,
+0x0, 0x0, 0x7d,0x23,0x1b,0x34,0x4d,0x22,0x78,0xf5,0x22,0x30,0x0, 0x44,0xc2,0x6,
+0xe4,0x7a,0xb3,0x3, 0x48,0x30,0x1, 0x1c,0x80,0x3, 0x30,0x0, 0x9, 0xa9,0x21,0x94,
+0xf9,0x80,0x3, 0x30,0x0, 0x4, 0xa9,0x31,0x94,0xf9,0x30,0x0, 0x1e,0x80,0x15,0x80,
+0x3, 0x30,0x0, 0x9, 0xa9,0x31,0x94,0xf9,0x80,0x3, 0x30,0x0, 0x4, 0xa9,0x21,0x94,
+0xf9,0x30,0x0, 0x7, 0xd2,0x6, 0xe4,0x7a,0xb3,0x2, 0xcf,0x7e,0x37,0x2, 0xcd,0x2,
+0x43,0x57,0x22,0xca,0xf8,0x7c,0xfb,0x74,0x16,0x7a,0xb3,0x6, 0xc6,0xe4,0x7a,0xb3,
+0x6, 0xc7,0x74,0x16,0x7a,0xb3,0x6, 0xc8,0x74,0x30,0x7a,0xb3,0x6, 0xd4,0x7e,0xb3,
+0x6, 0xcb,0x54,0xbf,0x7a,0xb3,0x6, 0xcb,0x54,0x7f,0x7a,0xb3,0x6, 0xcb,0x54,0xf9,
+0x7a,0xb3,0x6, 0xcb,0x7e,0xb3,0x6, 0xca,0x54,0xbf,0x7a,0xb3,0x6, 0xca,0x7e,0xb3,
+0x6, 0xd7,0x44,0x4, 0x7a,0xb3,0x6, 0xd7,0x74,0x15,0x7a,0xb3,0x6, 0xd5,0x7e,0xb3,
+0x6, 0xca,0x54,0x7f,0x7a,0xb3,0x6, 0xca,0x7e,0xb3,0x6, 0xcb,0x54,0xfe,0x7a,0xb3,
+0x6, 0xcb,0x7e,0x34,0x4, 0xc5,0x7e,0x24,0x6, 0x68,0x74,0x16,0x7e,0x30,0x97,0x12,
+0x45,0xb, 0x6c,0x77,0x80,0x8, 0xa, 0x27,0x19,0x72,0x6, 0x96,0xb, 0x70,0x7e,0x63,
+0x6, 0xc8,0xbc,0x67,0x38,0xf0,0x7e,0xb3,0x6, 0xc9,0x44,0x1, 0x7a,0xb3,0x6, 0xc9,
+0x5e,0xf0,0x7f,0xbe,0xf0,0x1, 0x78,0xe, 0x7e,0xb3,0x6, 0xc9,0x12,0x44,0xef,0x44,
+0x8, 0x12,0x44,0xfc,0x80,0x38,0xbe,0xf0,0x2, 0x7e,0xb3,0x6, 0xc9,0x78,0x8, 0x12,
+0x44,0xef,0x12,0x44,0xfc,0x80,0x27,0x44,0x6, 0x12,0x44,0xf1,0x44,0x18,0x7a,0xb3,
+0x6, 0xcb,0x7e,0x63,0x3, 0x35,0x5e,0x60,0x7, 0x7c,0xb6,0xc4,0x3, 0x54,0xf8,0x7c,
+0x6b,0x7e,0x73,0x6, 0xca,0x5e,0x70,0xc7,0x4c,0x76,0x7a,0x73,0x6, 0xca,0xe4,0x7a,
+0xb3,0x6, 0xd6,0x7e,0xb3,0x6, 0xca,0x54,0xfe,0x7a,0xb3,0x6, 0xca,0x44,0x6, 0x7a,
+0xb3,0x6, 0xca,0x7e,0x73,0x3, 0x38,0x7a,0x73,0x6, 0xcc,0x7e,0x73,0x3, 0x39,0x7a,
+0x73,0x6, 0xcd,0x7e,0x73,0x3, 0x36,0x7a,0x73,0x6, 0xce,0x7e,0x73,0x3, 0x3a,0x7a,
+0x73,0x6, 0xcf,0x7e,0x73,0x3, 0x3b,0x7a,0x73,0x6, 0xd0,0x7e,0x73,0x3, 0x37,0x7a,
+0x73,0x6, 0xd1,0x7e,0x73,0x3, 0x3c,0x7a,0x73,0x6, 0xd2,0x7e,0x73,0x3, 0x3d,0x7a,
+0x73,0x6, 0xd3,0x12,0x1f,0xe6,0x54,0xfd,0x7a,0xb3,0x6, 0xd7,0xda,0xf8,0x22,0x54,
+0xf9,0x7a,0xb3,0x6, 0xc9,0x7e,0xb3,0x6, 0xcb,0x54,0xc7,0x22,0x7a,0xb3,0x6, 0xcb,
+0x7e,0xb3,0x6, 0xca,0x54,0xc7,0x7a,0xb3,0x6, 0xca,0x22,0x7c,0x23,0x7c,0x3b,0x7d,
+0x43,0x7c,0xb2,0x24,0x6a,0xbe,0xb0,0x9, 0x40,0x2, 0xe1,0x77,0x7e,0xa0,0x3, 0xa4,
+0x90,0x45,0x24,0x73,0x2, 0x45,0x3f,0x2, 0x45,0xf4,0x2, 0x46,0x2a,0x2, 0x46,0x60,
+0x2, 0x47,0x41,0x2, 0x47,0x77,0x2, 0x46,0x96,0x2, 0x46,0xc6,0x2, 0x46,0xf6,0x6c,
+0x77,0xa1,0xed,0x12,0x47,0xa0,0xbe,0xb0,0x12,0x40,0x2, 0xa1,0xe8,0x7e,0xa0,0x3,
+0xa4,0x90,0x45,0x55,0x73,0x2, 0x45,0x8b,0x2, 0x45,0x90,0x2, 0x45,0x95,0x2, 0x45,
+0x9a,0x2, 0x45,0x9f,0x2, 0x45,0xa4,0x2, 0x45,0xa9,0x2, 0x45,0xae,0x2, 0x45,0xb3,
+0x2, 0x45,0xb8,0x2, 0x45,0xbd,0x2, 0x45,0xc2,0x2, 0x45,0xc7,0x2, 0x45,0xcc,0x2,
+0x45,0xd1,0x2, 0x45,0xd6,0x2, 0x45,0xdb,0x2, 0x45,0xe0,0x7e,0x20,0x4, 0x80,0x53,
+0x7e,0x20,0x6, 0x80,0x4e,0x7e,0x20,0x7, 0x80,0x49,0x7e,0x20,0x5, 0x80,0x44,0x7e,
+0x20,0xe, 0x80,0x3f,0x7e,0x20,0x8, 0x80,0x3a,0x7e,0x20,0xf, 0x80,0x35,0x7e,0x20,
+0x10,0x80,0x30,0x7e,0x20,0x11,0x80,0x2b,0x7e,0x20,0x12,0x80,0x26,0x7e,0x20,0x17,
+0x80,0x21,0x7e,0x20,0x1a,0x80,0x1c,0x7e,0x20,0x18,0x80,0x17,0x7e,0x20,0x1b,0x80,
+0x12,0x7e,0x20,0x21,0x80,0xd, 0x7e,0x20,0x20,0x80,0x8, 0x7e,0x20,0x1f,0x80,0x3,
+0x7e,0x20,0x19,0x12,0x47,0x90,0x80,0x3, 0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x28,
+0x2, 0xa1,0x43,0x22,0x6c,0x77,0x80,0x2d,0x12,0x47,0xa0,0xbe,0x60,0x7, 0x40,0x10,
+0xbe,0x60,0xe, 0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x13,0x12,0x47,0x8e,0x80,0x13,
+0xbe,0x60,0xf, 0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x29,0x12,0x47,0x8e,0x80,0x3,
+0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x2d,0x12,0x47,
+0xa0,0xbe,0x60,0x9, 0x40,0x10,0xbe,0x60,0x12,0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0x10,0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x13,0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0,
+0x23,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,
+0x6c,0x77,0x80,0x2d,0x12,0x47,0xa0,0xbe,0x60,0xd, 0x40,0x10,0xbe,0x60,0x18,0x38,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0xb, 0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x19,0x40,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x1b,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb,
+0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x27,0x12,0x47,0xa0,0xbe,0x60,0xe,
+0x40,0xa, 0xbe,0x60,0x19,0x38,0x5, 0x12,0x47,0x88,0x80,0x13,0xbe,0x60,0x1a,0x40,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x19,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb,
+0x70,0xbc,0x37,0x38,0xd5,0x22,0x6c,0x77,0x80,0x27,0x12,0x47,0xa0,0xbe,0x60,0xe,
+0x40,0xa, 0xbe,0x60,0x19,0x38,0x5, 0x12,0x47,0x88,0x80,0x13,0xbe,0x60,0x1a,0x40,
+0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x18,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb,
+0x70,0xbc,0x37,0x38,0xd5,0x22,0x6c,0x77,0x80,0x42,0x12,0x47,0xa0,0xbe,0x60,0x0,
+0x40,0x10,0xbe,0x60,0xd, 0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x3, 0x12,0x47,0x8e,
+0x80,0x28,0xbe,0x60,0xe, 0x40,0x10,0xbe,0x60,0x1b,0x38,0xb, 0xa, 0x56,0x2e,0x54,
+0x0, 0x9, 0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x1c,0x40,0xb, 0xa, 0x56,0x2e,0x54,
+0x0, 0x15,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,0xb, 0x70,0xbc,0x37,0x38,0xba,
+0x22,0x6c,0x77,0x80,0x2d,0x12,0x47,0xa0,0xbe,0x60,0x11,0x40,0x10,0xbe,0x60,0x1e,
+0x38,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x6, 0x12,0x47,0x8e,0x80,0x13,0xbe,0x60,0x1f,
+0x40,0xb, 0xa, 0x56,0x2e,0x54,0x0, 0x11,0x12,0x47,0x8e,0x80,0x3, 0x12,0x47,0x98,
+0xb, 0x70,0xbc,0x37,0x38,0xcf,0x22,0x6c,0x77,0x80,0x8, 0x12,0x47,0xa0,0x12,0x47,
+0x98,0xb, 0x70,0xbc,0x37,0x38,0xf4,0x22,0xa, 0x56,0x2e,0x54,0x0, 0xa, 0x7c,0x2b,
+0x7d,0x50,0x2d,0x52,0x7a,0x59,0x20,0x22,0x7d,0x50,0x2d,0x52,0x7a,0x59,0x60,0x22,
+0xa, 0x7, 0x7d,0x50,0x2d,0x54,0x7a,0xb1,0x82,0x7a,0xa1,0x83,0xe4,0x93,0x7c,0x6b,
+0x22,0x7e,0x4, 0x0, 0x76,0x6d,0x11,0xe4,0x7a,0x9, 0xb0,0xb, 0x4, 0xb, 0x14,0xbe,
+0x14,0x0, 0x1c,0x78,0xf2,0x7e,0x4, 0x2, 0xb6,0x6d,0x11,0xe4,0x7a,0x9, 0xb0,0xb,
+0x4, 0xb, 0x14,0xbe,0x14,0x0, 0x17,0x78,0xf2,0x6d,0x11,0x12,0x4b,0x6e,0x2e,0x34,
+0x0, 0x7a,0x12,0x4b,0x6b,0x2e,0x34,0x2, 0xb6,0x12,0x4b,0x6b,0x2e,0x34,0x2, 0xc0,
+0x12,0x4b,0x59,0xb, 0x14,0xbe,0x14,0x0, 0x2, 0x40,0xe0,0x74,0x2, 0x7a,0xb3,0x0,
+0x68,0x74,0xa, 0x7a,0xb3,0x0, 0x69,0x7e,0x34,0x0, 0xc7,0x7a,0x37,0x0, 0x6a,0x7e,
+0x34,0x0, 0xc6,0x7a,0x37,0x0, 0x6c,0x7e,0x34,0x0, 0x31,0x7a,0x37,0x0, 0x70,0xc2,
+0x4, 0x75,0xd, 0x0, 0x75,0x1a,0x0, 0xc2,0x5, 0x75,0xb, 0x0, 0x12,0x48,0x45,0x7e,
+0x24,0x7, 0xd0,0x7a,0x27,0x0, 0x74,0x7a,0x37,0x0, 0x9c,0xe4,0x7a,0xb3,0x2, 0xd2,
+0x7a,0xb3,0xb, 0x37,0x22,0x6d,0x33,0x7a,0x37,0x2, 0xd0,0x22,0x12,0x48,0x45,0x7e,
+0x34,0x3, 0xe8,0x7a,0x37,0x0, 0x74,0x2, 0x48,0x5a,0x7e,0x34,0xb, 0x63,0x7e,0xb3,
+0xb, 0xc2,0x20,0xe0,0x2, 0x21,0x19,0x54,0xfe,0x7a,0xb3,0xb, 0xc2,0x7e,0x39,0x50,
+0x7a,0x53,0x3, 0x4b,0x12,0x49,0x1a,0x3e,0x24,0x3e,0x24,0x7a,0x27,0x3, 0x49,0xbe,
+0x24,0x2, 0x26,0x50,0x8, 0x7e,0x24,0x2, 0x26,0x7a,0x27,0x3, 0x49,0x9, 0x53,0x0,
+0x5, 0x7a,0x53,0x0, 0xa0,0x12,0x49,0x1a,0x7a,0x27,0x0, 0x9e,0x9, 0x53,0x0, 0x25,
+0xa, 0x25,0x7a,0x27,0x0, 0x92,0x9, 0x53,0x0, 0x6, 0x7a,0x53,0x0, 0x94,0x9, 0x53,
+0x0, 0x8, 0x7a,0x53,0x0, 0x96,0xbe,0x50,0xf, 0x40,0x6, 0x74,0xe, 0x19,0xb3,0x0,
+0x8, 0x9, 0x53,0x0, 0x8, 0xa, 0x25,0x2e,0x24,0x4, 0xfb,0x7a,0x51,0x82,0x7a,0x41,
+0x83,0xe4,0x93,0x7a,0xb3,0x0, 0x95,0x9, 0x53,0x0, 0x9, 0x7a,0x53,0x0, 0x98,0x7a,
+0x53,0x0, 0x97,0x9, 0x53,0x0, 0x24,0x7a,0x53,0x0, 0x9a,0x9, 0x53,0x0, 0x2d,0x7a,
+0x53,0xd, 0x3f,0x9, 0xb3,0x0, 0x2e,0x7a,0xb3,0x3, 0x34,0xb4,0x1, 0x5, 0xe4,0x7a,
+0xb3,0x3, 0x34,0x7e,0xa3,0xb, 0xb3,0xbe,0xa3,0x0, 0xa1,0x68,0xc, 0x4c,0xaa,0x74,
+0x5, 0x7a,0xb3,0x0, 0x99,0x7a,0xa3,0x0, 0xa1,0x22,0xa, 0x25,0x3e,0x24,0x3e,0x24,
+0x3e,0x24,0x3e,0x24,0x22,0x12,0x49,0xe0,0x12,0x49,0xa1,0x12,0x37,0xd1,0x12,0x4a,
+0xa4,0x12,0x4a,0xf0,0x74,0x1, 0x7a,0xb3,0xb, 0x9f,0x7e,0xb3,0xb, 0x9f,0x24,0xfd,
+0x68,0x11,0x24,0xae,0x68,0x32,0x24,0xab,0x68,0xe, 0x24,0xa9,0x78,0xec,0x12,0x11,
+0x6d,0x80,0xe7,0x12,0x1f,0xe, 0x80,0xe2,0x12,0x48,0x45,0x7e,0x24,0x1, 0xf4,0x7a,
+0x27,0x0, 0x74,0x7e,0xb3,0x2, 0xd2,0xbe,0xb0,0xaa,0x68,0xce,0x7a,0x37,0x0, 0x9c,
+0x74,0xaa,0x7a,0xb3,0x2, 0xd2,0x80,0xc2,0x12,0x48,0x45,0x7e,0x34,0x1, 0xf4,0x7a,
+0x37,0x0, 0x74,0x7e,0xb3,0x2, 0xd2,0xb4,0xaa,0xb0,0x74,0x55,0x7a,0xb3,0x2, 0xd2,
+0x7e,0x74,0x3, 0xe8,0x7d,0x37,0x1b,0x74,0x4d,0x33,0x78,0xf8,0x75,0xe9,0xff,0x80,
+0x99,0x12,0x49,0xc9,0x12,0x0, 0x17,0x12,0x49,0xef,0xc2,0x0, 0xc2,0x2, 0x22,0xc2,
+0x8e,0xe5,0x89,0x54,0xf, 0x44,0x20,0xf5,0x89,0x75,0x8d,0x1, 0x75,0x8b,0x0, 0xd2,
+0x8e,0xd2,0xab,0xa9,0xc3,0xb7,0xd2,0xbb,0x22,0xe4,0x12,0x4a,0x69,0x12,0x4a,0x30,
+0x12,0x4a,0x3c,0x74,0x1, 0x2, 0x49,0xd8,0x70,0x3, 0xc2,0xaf,0x22,0xd2,0xaf,0x22,
+0x6d,0x33,0x7a,0x37,0x2, 0xd0,0x7e,0x34,0x7, 0xd0,0x7a,0x37,0x0, 0x74,0x22,0x7e,
+0x18,0x0, 0x54,0x74,0xf, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0x8, 0x3, 0xe8,0x12,0x4,
+0x59,0xbe,0x18,0xf, 0xff,0x28,0x4, 0x7e,0x18,0xf, 0xff,0xd2,0xc8,0xa9,0xc0,0xcd,
+0xc2,0xaf,0xa9,0xd0,0x9e,0x7c,0xb6,0xf5,0x9d,0xa9,0xd0,0x9e,0x7c,0xb7,0xf5,0x9c,
+0x12,0x4a,0x28,0xc2,0xa8,0xd2,0xaf,0x22,0xc2,0x88,0xd2,0xb8,0xa9,0xd0,0xb7,0x22,
+0x75,0xeb,0x3, 0xa9,0xd6,0xac,0xa9,0xd6,0xec,0xd2,0x86,0x22,0xa9,0xd1,0x99,0x75,
+0x9a,0xfe,0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0xa9,0xd6,0xeb,0x70,0xf, 0xa9,0xc6,0xac,
+0xa9,0xc6,0xec,0xa9,0xd7,0xcd,0xc2,0x96,0xc2,0x95,0x80,0x7, 0xa9,0xd4,0xcd,0xd2,
+0x96,0xd2,0x95,0x12,0x4a,0x28,0xd2,0xa8,0x22,0xd2,0xcf,0xbe,0xb0,0x7, 0x38,0x4,
+0x7c,0xab,0x80,0x2, 0x6c,0xaa,0x43,0xcb,0x8e,0x4e,0xa0,0x30,0x7a,0xa1,0xcc,0x0,
+0x0, 0x0, 0x0, 0xa9,0xd0,0xca,0xa9,0xc5,0xcb,0x53,0xca,0xf1,0x43,0xca,0xe, 0x75,
+0xcf,0x4, 0xc2,0xcc,0xd2,0xcb,0xc2,0xca,0xc2,0xc9,0xc2,0xc8,0xa9,0xc6,0xcb,0x0,
+0x0, 0x0, 0x0, 0x22,0xe4,0x7a,0xb3,0x3, 0x34,0x74,0x1, 0x7a,0xb3,0x3, 0x42,0x74,
+0x7, 0x7a,0xb3,0x3, 0x41,0x74,0xf, 0x7a,0xb3,0x3, 0x38,0x7a,0xb3,0x3, 0x39,0x74,
+0x3f,0x7a,0xb3,0x3, 0x36,0x74,0x12,0x7a,0xb3,0x3, 0x3a,0x7a,0xb3,0x3, 0x3b,0x74,
+0x3f,0x7a,0xb3,0x3, 0x37,0x74,0x10,0x7a,0xb3,0x3, 0x3c,0x7a,0xb3,0x3, 0x3d,0x74,
+0x5, 0x7a,0xb3,0x3, 0x35,0x74,0x3, 0x7a,0xb3,0x3, 0x40,0x7a,0xb3,0x3, 0x3f,0x22,
+0x6d,0x22,0x7a,0x27,0xc, 0x7c,0x7e,0x34,0x1, 0x8e,0x7a,0x37,0xc, 0x7e,0x7a,0x27,
+0xc, 0x80,0x7a,0x37,0xc, 0x82,0x7e,0x14,0x0, 0x84,0x7a,0x17,0xc, 0x85,0x7e,0x14,
+0x0, 0xc7,0x7a,0x17,0xc, 0x87,0x74,0x64,0x7a,0xb3,0xc, 0x84,0x7e,0x14,0x0, 0x96,
+0x7a,0x17,0xc, 0x89,0x7a,0x27,0xc, 0xa0,0x7a,0x37,0xc, 0xa2,0x7a,0x27,0xc, 0xa4,
+0x7a,0x37,0xc, 0xa6,0x74,0x50,0x7a,0xb3,0xc, 0x9e,0x74,0x1e,0x7a,0xb3,0xc, 0x9f,
+0x74,0x3, 0x7a,0xb3,0xc, 0xa8,0x74,0x32,0x7a,0xb3,0xc, 0xa9,0x74,0xf, 0x7a,0xb3,
+0xc, 0xaa,0x74,0x50,0x7a,0xb3,0xc, 0xab,0x22,0x7e,0x24,0x7f,0xff,0x1b,0x38,0x20,
+0x59,0x23,0x0, 0x2, 0x74,0xff,0x19,0xb3,0x0, 0x4, 0x22,0x12,0x4b,0x59,0x7e,0x34,
+0x0, 0x5, 0xad,0x31,0x22,0xbe,0xb0,0x5e,0x38,0x2e,0xbe,0xb0,0x26,0x68,0x29,0xbe,
+0xb0,0x2f,0x68,0x24,0xbe,0xb0,0x23,0x68,0x1f,0xbe,0xb0,0x28,0x68,0x1a,0xbe,0xb0,
+0x21,0x68,0x15,0xbe,0xb0,0x22,0x68,0x10,0xa, 0x2b,0x19,0x72,0xb, 0x63,0x7e,0xb3,
+0xb, 0xc2,0x44,0x1, 0x7a,0xb3,0xb, 0xc2,0x22,0xca,0x79,0x7c,0x6b,0x24,0x0, 0x78,
+0x75,0x7e,0x74,0xc, 0xd6,0x7a,0x79,0x70,0x5e,0x70,0x70,0x7c,0xb7,0xc4,0x54,0xf,
+0x7c,0x7b,0xbe,0x70,0x4, 0x68,0x47,0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x20,0xa5,0xbf,
+0x1, 0x6, 0x74,0x2, 0x6c,0x77,0x80,0x5c,0xa5,0xbf,0x0, 0x7, 0x74,0x2, 0x7e,0x70,
+0x1, 0x80,0x51,0xa5,0xbf,0x3, 0x68,0x74,0x2, 0x7e,0x70,0x4, 0x80,0x46,0xa5,0xbf,
+0x1, 0x6, 0x74,0x3c,0x6c,0x77,0x80,0x29,0xa5,0xbf,0x4, 0x7, 0x74,0x3c,0x7e,0x70,
+0x3, 0x80,0x1e,0xa5,0xbf,0x3, 0x48,0x74,0x3c,0x7e,0x70,0x4, 0x80,0x13,0x7e,0xb3,
+0xb, 0x9f,0xb4,0x3, 0x7, 0x74,0x2, 0x7e,0x70,0x3, 0x80,0x18,0x74,0x3c,0x7e,0x70,
+0x3, 0x12,0x4b,0x75,0x80,0x29,0xbe,0x60,0xa, 0x50,0xe, 0x7e,0xb3,0xb, 0x9f,0xb4,
+0x3, 0x1d,0x7c,0xb6,0x12,0x35,0x35,0x80,0x16,0xbe,0x60,0xa, 0x40,0x11,0xbe,0x60,
+0xaf,0x38,0xc, 0x7e,0xb3,0xb, 0x9f,0xb4,0x3, 0x5, 0x7c,0xb6,0x12,0x35,0x47,0xda,
+0x79,0x22,0x74,0x17,0x7a,0xb3,0xb, 0x63,0x74,0xa0,0x7a,0xb3,0xb, 0x68,0xe4,0x7a,
+0xb3,0xb, 0x69,0x74,0x5, 0x7a,0xb3,0xb, 0x6a,0x74,0xe, 0x7a,0xb3,0xb, 0x6b,0x74,
+0x5a,0x7a,0xb3,0xb, 0x6c,0x74,0xe, 0x7a,0xb3,0xb, 0x86,0x74,0x1, 0x7a,0xb3,0xb,
+0x87,0xe4,0x7a,0xb3,0xb, 0x88,0x74,0x1, 0x7a,0xb3,0xb, 0x89,0x7a,0xb3,0xb, 0x9f,
+0x74,0x8a,0x7a,0xb3,0xb, 0x8b,0xe4,0x7a,0xb3,0xb, 0x8c,0x74,0x2, 0x7a,0xb3,0xb,
+0x92,0xe4,0x7a,0xb3,0xb, 0x91,0x7a,0xb3,0xb, 0x90,0x7a,0xb3,0xd, 0x3f,0x7a,0xb3,
+0xb, 0xb3,0x74,0x3f,0x7a,0xb3,0xb, 0xb4,0xe4,0x7a,0xb3,0xb, 0x93,0x7a,0xb3,0xb,
+0x9e,0x7a,0xb3,0xb, 0x79,0x7e,0x34,0x5, 0xdc,0x7a,0x37,0x3, 0x49,0x74,0x17,0x7a,
+0xb3,0x3, 0x4b,0x12,0x4d,0x11,0x12,0x4d,0x9, 0x7a,0xb3,0x0, 0x94,0x74,0x7, 0x7a,
+0xb3,0x0, 0x95,0x74,0xe, 0x7a,0xb3,0x0, 0x96,0x74,0x5a,0x7a,0xb3,0x0, 0x97,0x7a,
+0xb3,0x0, 0x98,0x74,0x5, 0x7a,0xb3,0x0, 0x99,0x74,0x1, 0x7a,0xb3,0x0, 0x9a,0xe4,
+0x7a,0xb3,0x0, 0x9b,0x7a,0xb3,0x0, 0xa1,0x22,0x6d,0x33,0x7a,0x37,0x0, 0x92,0xe4,
+0x22,0x7e,0x34,0xa, 0x0, 0x7a,0x37,0x0, 0x9e,0x74,0xa0,0x7a,0xb3,0x0, 0xa0,0x22,
+0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,0xca,0x1b,0xca,0xb, 0xc0,0xd0,
+0xc0,0x83,0xc0,0x82,0x12,0x33,0x29,0x74,0x1, 0x7a,0xb3,0xc, 0xd1,0xd0,0x82,0xd0,
+0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,
+0x7b,0x32,0xca,0xb8,0xa9,0xc0,0x93,0xe4,0x7a,0xb3,0xc, 0xd0,0x7a,0xb3,0xc, 0xd2,
+0xda,0xb8,0x32,0x6c,0xaa,0x74,0xff,0xa, 0x4a,0x19,0xb4,0xc, 0xac,0x19,0xb4,0xc,
+0xbe,0xb, 0xa0,0xbe,0xa0,0x12,0x40,0xed,0x22,0xa9,0xd5,0xea,0xa9,0xc4,0xcb,0x75,
+0xa6,0x0, 0xa9,0xc1,0xcd,0x22,0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,
+0xca,0x1b,0xca,0xb, 0xc0,0xd0,0xc0,0x83,0xc0,0x82,0x12,0x4d,0xd1,0x7e,0xb3,0xc,
+0xd6,0x54,0xfd,0x7a,0xb3,0xc, 0xd6,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xd2,
+0xaf,0xc2,0x95,0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,0x4d,0x79,0xd0,0x82,0xd0,0x83,
+0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,0x7b,
+0x32,0xe5,0x9a,0x60,0x5, 0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0xa9,0xd4,0xcb,0x75,0xa6,
+0x10,0xa9,0xd1,0xcd,0xa9,0xc5,0xea,0x22,0xd2,0xce,0x75,0x92,0x70,0xd2,0xad,0xd2,
+0xe8,0xc2,0xc0,0xa9,0xd0,0xf7,0xd2,0xf8,0xa9,0xd5,0xb7,0xd2,0xbd,0x22,0xca,0x7b,
+0xca,0x6b,0xca,0x5b,0xca,0x4b,0xca,0x2b,0xca,0x1b,0xca,0xb, 0xc0,0xd0,0xc0,0x83,
+0xc0,0x82,0x7e,0x35,0x1d,0xb, 0x34,0x7a,0x35,0x1d,0x7e,0x4, 0x0, 0xa, 0x7d,0x13,
+0x8d,0x10,0x4d,0x0, 0x78,0x38,0x7e,0xb3,0x9, 0x6b,0xbe,0xb0,0x0, 0x28,0x5, 0x14,
+0x7a,0xb3,0x9, 0x6b,0x7e,0xb3,0xd, 0x2c,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,
+0xd, 0x2c,0x7e,0xb3,0xd, 0x35,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x35,
+0x7e,0xb3,0xd, 0x2b,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0xd, 0x2b,0x7e,0xb3,
+0x6, 0xda,0x60,0x5, 0x14,0x7a,0xb3,0x6, 0xda,0xbe,0x34,0x3, 0xe8,0x40,0xe, 0x6d,
+0x33,0x7a,0x35,0x1d,0xe5,0xb, 0xbe,0xb0,0x64,0x50,0x2, 0x5, 0xb, 0x7e,0x37,0x2,
+0xd0,0xb, 0x34,0x7a,0x37,0x2, 0xd0,0x7e,0x37,0x0, 0x74,0xbe,0x37,0x2, 0xd0,0x28,
+0x3, 0x12,0x0, 0x27,0x7e,0xb3,0xb, 0x9f,0xb4,0xaa,0x18,0x7e,0x37,0x0, 0x9c,0x7d,
+0x23,0xb, 0x24,0x7a,0x27,0x0, 0x9c,0xbe,0x34,0x1, 0x2c,0x28,0x6, 0x74,0x1, 0x7a,
+0xb3,0xb, 0x9f,0xe5,0x1a,0xbe,0xb1,0xd, 0x28,0x4, 0x5, 0xd, 0x80,0x2, 0xd2,0x5,
+0x7e,0xb3,0xc, 0xd1,0x60,0xf, 0xbe,0xb0,0x28,0x50,0x7, 0x4, 0x7a,0xb3,0xc, 0xd1,
+0x80,0x3, 0x12,0x34,0xf5,0xd0,0x82,0xd0,0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,0xda,
+0x2b,0xda,0x4b,0xda,0x5b,0xda,0x6b,0xda,0x7b,0x32,0x53,0xc8,0xc1,0x53,0xcb,0x10,
+0x22,0x7e,0x73,0x6, 0xc6,0xa, 0x37,0x1e,0x34,0x7a,0x73,0xd, 0x3d,0xa, 0x37,0x1e,
+0x34,0x7a,0x73,0xd, 0x3e,0x22,0xd2,0xc9,0xa, 0x56,0xf5,0xf1,0x7c,0xb7,0xf5,0xf2,
+0x75,0xf3,0x80,0x75,0xf4,0x0, 0x75,0xf5,0x83,0xa9,0x37,0xf5,0xfc,0xa9,0x36,0xf5,
+0xfc,0xe5,0xf6,0x43,0xfa,0x80,0xc2,0xc9,0x22,0x7e,0x24,0x12,0xa, 0xb, 0x28,0x30,
+0x5e,0x70,0xf, 0x1b,0x28,0x30,0xb, 0x28,0x30,0x4e,0x70,0x80,0x1b,0x28,0x30,0x7e,
+0xb3,0x6, 0xcb,0xc4,0x23,0x7c,0x7b,0x5e,0x70,0x7, 0xa5,0xbf,0x0, 0x5, 0x7e,0xa0,
+0x2, 0x80,0x32,0xa5,0xbf,0x1, 0x13,0x7e,0xb3,0x6, 0xc9,0x1e,0xb0,0x54,0x3, 0x68,
+0x4, 0x6c,0xaa,0x80,0x20,0x7e,0xa0,0x3, 0x80,0x1b,0xa5,0xbf,0x3, 0x5, 0x7e,0xa0,
+0x6, 0x80,0x12,0x7e,0xb3,0x6, 0xc9,0x1e,0xb0,0x54,0x3, 0x68,0x5, 0x7e,0xa0,0x1,
+0x80,0x3, 0x7e,0xa0,0x5, 0xa, 0x1a,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x2,
+0x37,0x1a,0x7e,0x24,0x12,0x2, 0xb, 0x28,0x30,0x5e,0x60,0xc0,0x1b,0x28,0x30,0x7e,
+0x73,0x6, 0xc8,0x7c,0x27,0x6c,0x33,0x12,0x37,0x1a,0x6c,0x11,0x80,0xb, 0xa, 0x31,
+0x9, 0x3, 0x6, 0x68,0xa, 0x20,0x12,0x5b,0x77,0x7e,0x3, 0x6, 0xc8,0xbc,0x1, 0x38,
+0xed,0x7c,0x10,0x80,0x9, 0x7e,0x24,0x0, 0x3f,0xa, 0x31,0x12,0x5b,0x77,0xbe,0x10,
+0x2e,0x40,0xf2,0x6d,0x22,0x7e,0x34,0x13,0x16,0x1b,0x38,0x20,0x7e,0x34,0x13,0x18,
+0x1b,0x38,0x20,0x7e,0x34,0x13,0x1a,0x1b,0x38,0x20,0x7e,0x34,0x13,0x1c,0x1b,0x38,
+0x20,0x6c,0x11,0x80,0xd, 0xa, 0x31,0x9, 0x3, 0x6, 0x68,0x7c,0xb0,0x12,0x50,0x19,
+0xb, 0x10,0x7e,0x73,0x6, 0xc8,0xbc,0x71,0x38,0xeb,0x7e,0xb3,0x6, 0xd7,0x30,0xe2,
+0x7, 0x7e,0xb3,0x6, 0xd5,0x2, 0x50,0x19,0x22,0x7c,0x7b,0xc4,0x54,0xf, 0x7c,0xab,
+0xa, 0x37,0x7e,0x24,0x0, 0x10,0x12,0x3, 0xba,0x7c,0x75,0x7e,0x14,0x0, 0x1, 0x7c,
+0xb7,0x60,0x5, 0x3e,0x14,0x14,0x78,0xfb,0xa, 0x2a,0x3e,0x24,0x2e,0x24,0x13,0x16,
+0x2, 0x37,0x1a,0xca,0x1b,0xca,0x19,0xc2,0xee,0xc2,0xc6,0x30,0xb, 0x6, 0x7e,0x34,
+0x0, 0x1, 0x80,0x4, 0x7e,0x34,0x0, 0x2, 0x7e,0x14,0x12,0x6, 0xb, 0x18,0x20,0x5d,
+0x23,0x68,0x7, 0x6d,0x22,0x1b,0x18,0x20,0xd2,0xa, 0xd2,0xee,0xda,0x19,0xda,0x1b,
+0x32,0x7e,0xb3,0x6, 0xd7,0x20,0xe1,0x62,0x12,0x50,0xdb,0x80,0x55,0xa, 0x2a,0x9,
+0x52,0x6, 0x96,0x7e,0x90,0x4, 0xac,0x95,0x49,0x14,0x3, 0x5e,0x49,0x4, 0x3, 0x5c,
+0xbe,0x8, 0x3a,0xc0,0x8, 0x20,0x7e,0xb3,0xc, 0x1f,0x7e,0x44,0x0, 0x1, 0x60,0x5,
+0x3e,0x44,0x14,0x78,0xfb,0x7e,0x10,0x2, 0xac,0x15,0x2e,0x4, 0xb, 0xc3,0xb, 0x8,
+0x10,0x4d,0x14,0x1b,0x8, 0x10,0x7e,0xb3,0x6, 0x4d,0x60,0x5, 0x12,0x51,0x34,0x60,
+0xf, 0x7e,0x30,0x2, 0xac,0x35,0x49,0x1, 0xb, 0xc3,0x12,0x51,0x2c,0x1b,0x18,0x0,
+0xb, 0xa0,0x7e,0x43,0x6, 0xc8,0xbc,0x4a,0x38,0xa3,0x22,0x7e,0x37,0x6, 0xd8,0x6c,
+0xaa,0x22,0x7e,0xb3,0x6, 0xd7,0x20,0xe1,0x42,0x12,0x50,0xdb,0x80,0x35,0xa, 0x2a,
+0x9, 0x52,0x6, 0x96,0x12,0x51,0x2c,0xb, 0x18,0x40,0x7e,0xb3,0xc, 0x1f,0x7e,0x14,
+0x0, 0x1, 0x60,0x5, 0x3e,0x14,0x14,0x78,0xfb,0x4d,0x41,0x7e,0xb3,0x6, 0x4d,0x60,
+0x5, 0x12,0x51,0x34,0x60,0xb, 0xa, 0x1a,0x3e,0x14,0x2e,0x14,0x12,0x14,0x1b,0x18,
+0x40,0xb, 0xa0,0x7e,0x43,0x6, 0xc8,0xbc,0x4a,0x38,0xc3,0x22,0x7e,0x30,0x2, 0xac,
+0x35,0x2d,0x13,0x22,0xa, 0x15,0x2e,0x17,0x6, 0x4e,0x7e,0x19,0xb0,0x22,0xca,0x3b,
+0x12,0xe, 0xaf,0x7c,0xeb,0x4c,0xee,0x78,0x2, 0x61,0x5c,0x7e,0x7f,0x0, 0xa2,0x7e,
+0x34,0x38,0x80,0x7e,0x24,0x0, 0x1, 0xbf,0x71,0x28,0x5, 0x7e,0x80,0xa, 0x80,0x2a,
+0x7e,0x34,0x11,0x70,0x7e,0x24,0x0, 0x1, 0xbf,0x71,0x28,0x5, 0x7e,0x80,0x6, 0x80,
+0x19,0xbe,0x78,0xea,0x60,0x28,0x5, 0x7e,0x80,0x4, 0x80,0xe, 0xbe,0x78,0xc3,0x50,
+0x28,0x5, 0x7e,0x80,0x2, 0x80,0x3, 0x7e,0x80,0x1, 0xa, 0xf8,0x6d,0xee,0x7e,0xd4,
+0x0, 0xf, 0x7f,0x17,0x7d,0x1d,0x12,0x3, 0xfd,0x7f,0x7, 0x12,0x3, 0xec,0x7d,0x1d,
+0x12,0x3, 0xfd,0x7f,0x61,0x6c,0x99,0x7e,0xa0,0x5, 0x7c,0xd9,0xac,0xda,0x9, 0xb6,
+0x2, 0xba,0x7c,0xfb,0xbe,0xf0,0x2, 0x50,0x25,0xa, 0x3f,0x9, 0xb3,0x3, 0x4e,0x70,
+0x1d,0x49,0x6, 0x2, 0xb6,0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x5, 0xb, 0x53,0x49,0x26,
+0x2, 0xb8,0x59,0x25,0xb, 0x55,0x59,0x5, 0xb, 0x5b,0x59,0x25,0xb, 0x5d,0xb, 0x90,
+0xbe,0x90,0x2, 0x78,0xc2,0x6c,0x99,0x61,0x56,0x7e,0xa0,0x5, 0x7c,0x39,0xac,0x3a,
+0x9, 0xb1,0x2, 0xba,0x7c,0xfb,0xbe,0xf0,0x2, 0x40,0x2, 0x61,0x54,0x7e,0xa0,0x4,
+0x7c,0xdf,0xac,0xda,0x49,0x26,0xb, 0x53,0x49,0x31,0x2, 0xb6,0x9d,0x32,0x7d,0xa3,
+0x49,0x26,0xb, 0x55,0x49,0x31,0x2, 0xb8,0x9d,0x32,0x7d,0xb3,0x7d,0x1b,0x12,0x53,
+0x5f,0x7f,0x71,0x7d,0x1a,0x1a,0x2, 0x1a,0x0, 0x7d,0x3a,0x12,0x53,0x63,0x2f,0x17,
+0x7a,0x1f,0xa, 0x3, 0x49,0x26,0xb, 0x5b,0x12,0x53,0x7c,0x9d,0x32,0x7a,0x37,0x9,
+0xfd,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x25,0xb, 0x5d,0x12,0x53,0x72,0x9d,0x32,0x7d,
+0x63,0x7d,0x16,0x12,0x53,0x5f,0x7f,0x71,0x7e,0x27,0x9, 0xfd,0x7d,0x12,0x1a,0x2,
+0x1a,0x0, 0x7f,0x10,0x12,0x3, 0xec,0x2f,0x17,0x7a,0x1f,0x9, 0xff,0x7e,0xa0,0x5,
+0xac,0xa9,0x49,0x25,0x2, 0xb6,0xbe,0x24,0x0, 0x1e,0x40,0x1b,0xbe,0x24,0x1, 0x70,
+0x38,0x15,0x7e,0xa0,0x5, 0xac,0xa9,0x49,0x25,0x2, 0xb8,0xbe,0x24,0x0, 0x1e,0x40,
+0x6, 0xbe,0x24,0x1, 0x70,0x28,0x20,0xa, 0x98,0x6d,0x88,0x7e,0xf4,0x0, 0x6, 0x12,
+0x53,0xa1,0x7e,0x84,0x0, 0xb, 0x7d,0x18,0x12,0x3, 0xfd,0x12,0x53,0x86,0x7d,0x18,
+0x12,0x3, 0xfd,0x7f,0x41,0x80,0x1c,0xa, 0x98,0x6d,0x88,0x7e,0xf4,0x0, 0x5, 0x12,
+0x53,0xa1,0x2f,0x11,0x2f,0x11,0x2f,0x11,0x12,0x53,0x86,0x2f,0x11,0x2f,0x11,0x2f,
+0x11,0x7f,0x41,0x7e,0x1f,0x9, 0xff,0xbf,0x16,0x38,0x4b,0x7e,0xf, 0xa, 0x7, 0x7e,
+0x7f,0xa, 0x3, 0xbf,0x70,0x38,0x12,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x35,0xb, 0x53,
+0x12,0x53,0x92,0x49,0x35,0xb, 0x55,0x80,0x22,0xbf,0x74,0x38,0x3f,0x7e,0xa0,0x4,
+0xac,0xaf,0x49,0x15,0xb, 0x53,0x7e,0x4, 0x0, 0x2, 0x7d,0x3a,0x12,0x53,0x6a,0x12,
+0x53,0x92,0x49,0x15,0xb, 0x55,0x7d,0x3b,0x12,0x53,0x6a,0x7e,0xa0,0x5, 0xac,0xa9,
+0x59,0x35,0x2, 0xb8,0x80,0x16,0x7e,0x24,0x7f,0xff,0x7e,0xa0,0x4, 0xac,0xaf,0x59,
+0x25,0xb, 0x5b,0x7e,0xa0,0x4, 0xac,0xaf,0x59,0x25,0xb, 0x5d,0x12,0x53,0x7c,0x7e,
+0xa0,0x4, 0xac,0xaf,0x59,0x35,0xb, 0x53,0x12,0x53,0x72,0x7e,0xa0,0x4, 0xac,0xaf,
+0x59,0x35,0xb, 0x55,0xb, 0x90,0xbc,0xe9,0x28,0x2, 0x21,0xe9,0xda,0x3b,0x22,0x1a,
+0x2, 0x1a,0x0, 0x1a,0x26,0x1a,0x24,0x2, 0x3, 0xec,0x7d,0x20,0x12,0x3, 0xba,0x2d,
+0x31,0x22,0x7e,0xa0,0x5, 0xac,0xa9,0x49,0x35,0x2, 0xb8,0x22,0x7e,0xa0,0x5, 0xac,
+0xa9,0x49,0x35,0x2, 0xb6,0x22,0xa, 0x18,0x6d,0x0, 0x12,0x3, 0xec,0x7f,0x1, 0x2f,
+0x10,0x22,0x7e,0xa0,0x5, 0xac,0xa9,0x59,0x35,0x2, 0xb6,0x7e,0xa0,0x4, 0xac,0xaf,
+0x22,0x7f,0x14,0x7d,0x1f,0x12,0x3, 0xfd,0x7f,0x4, 0x12,0x3, 0xec,0x7f,0x1, 0x2f,
+0x10,0x7d,0x1f,0x12,0x3, 0xfd,0x7a,0x1f,0xa, 0x7, 0xa, 0x38,0x6d,0x22,0x22,0xca,
+0x3b,0x12,0x3c,0x41,0x78,0x24,0x6c,0xff,0xe4,0xa, 0x3f,0x19,0xb3,0xb, 0x27,0x19,
+0xb3,0xb, 0x31,0x19,0xb3,0x3, 0x5a,0x6d,0x33,0x74,0x2, 0xac,0xbf,0x59,0x35,0xb,
+0x33,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xe0,0xe1,0xa1,0x6c,0xff,0x7e,0x50,0x2, 0xac,
+0x5f,0x49,0x32,0x3, 0x52,0xbe,0x34,0x7f,0xff,0x78,0x17,0xe4,0xa, 0x1f,0x19,0xb1,
+0xb, 0x27,0x19,0xb1,0xb, 0x31,0x19,0xb1,0x3, 0x5a,0x6d,0x11,0x59,0x12,0xb, 0x33,
+0x81,0xba,0xa, 0x1f,0x9, 0xb1,0x3, 0x5a,0x60,0x2, 0x81,0xba,0x59,0x32,0xb, 0x29,
+0x49,0x32,0x3, 0x56,0x59,0x32,0xb, 0x2d,0x49,0x32,0xb, 0x29,0x49,0x22,0xb, 0x2d,
+0x74,0x14,0xac,0xbf,0x49,0x15,0xb, 0xb, 0x49,0x5, 0xb, 0xd, 0x12,0xe, 0x7e,0x7a,
+0x37,0xa, 0x1, 0x74,0x14,0xac,0xbf,0x49,0x35,0xb, 0xb, 0x49,0x25,0xb, 0xd, 0x49,
+0x15,0xa, 0xff,0x49,0x5, 0xb, 0x1, 0x12,0xe, 0x7e,0x7a,0x37,0xa, 0x3, 0xa, 0x3f,
+0x9, 0x53,0xb, 0x27,0xbe,0x50,0x2, 0x40,0x4c,0x74,0x2, 0xac,0xbf,0x49,0x25,0xb,
+0x29,0xbe,0x24,0x0, 0x18,0x40,0x16,0xbe,0x24,0x1, 0x76,0x38,0x10,0x49,0x25,0xb,
+0x2d,0xbe,0x24,0x0, 0x18,0x40,0x6, 0xbe,0x24,0x1, 0x76,0x28,0xe, 0x7e,0x27,0xa,
+0x1, 0xbe,0x24,0x0, 0x27,0x28,0x4, 0x74,0x1, 0x80,0x1b,0x7e,0x27,0xa, 0x1, 0xbe,
+0x24,0x0, 0x27,0x28,0xd, 0x7e,0x27,0xa, 0x3, 0xbe,0x24,0x0, 0x42,0x28,0x3, 0xe4,
+0x80,0x4, 0xe4,0x80,0x1, 0xe4,0x19,0xb3,0xb, 0x31,0xb, 0xf0,0xbe,0xf0,0x2, 0x68,
+0x2, 0x61,0xec,0x6c,0xff,0xe1,0x9b,0x74,0x5, 0xac,0xbf,0x9, 0xd5,0x2, 0xba,0xa,
+0x3d,0x9, 0xb3,0xb, 0x27,0x70,0x34,0x6c,0xcc,0x7e,0x70,0x5, 0xac,0x7f,0x49,0x13,
+0x2, 0xb6,0x7e,0x10,0x14,0xac,0x1d,0x7e,0x50,0x4, 0xac,0x5c,0x2d,0x20,0x59,0x12,
+0xa, 0xff,0x49,0x33,0x2, 0xb8,0x59,0x32,0xb, 0x1, 0xb, 0xc0,0xbe,0xc0,0x5, 0x78,
+0xd8,0x6d,0x33,0x74,0x2, 0xac,0xbd,0x59,0x35,0xb, 0x33,0xa, 0x3d,0x9, 0xb3,0xb,
+0x27,0xbe,0xb0,0x5, 0x50,0xa, 0xa, 0x3d,0x2e,0x34,0xb, 0x27,0x4, 0x7a,0x39,0xb0,
+0xa, 0x3d,0x9, 0x73,0xb, 0x27,0xbe,0x70,0x1, 0x38,0x2, 0xa1,0xf7,0x12,0x57,0xa4,
+0x60,0x2, 0xa1,0xf7,0x7e,0x90,0x14,0xac,0x9d,0x49,0x34,0xb, 0xf, 0x49,0x54,0xb,
+0xb, 0x2d,0x53,0x7a,0x57,0x9, 0xfd,0x49,0x34,0xb, 0x11,0x49,0x54,0xb, 0xd, 0x2d,
+0x53,0x7a,0x57,0x9, 0xff,0x74,0x5, 0xac,0xbf,0x49,0x15,0x2, 0xb6,0x2e,0x17,0x9,
+0xfd,0x7e,0x24,0x0, 0x3, 0x8d,0x12,0x59,0x15,0x2, 0xb6,0x49,0x35,0x2, 0xb8,0x2e,
+0x37,0x9, 0xff,0x8d,0x32,0x59,0x35,0x2, 0xb8,0x49,0x24,0xb, 0x7, 0x49,0x35,0x2,
+0xb6,0x9d,0x32,0x12,0x0, 0x2e,0x7a,0x37,0x9, 0xfd,0x74,0x14,0xac,0xbd,0x49,0x25,
+0xb, 0x9, 0x74,0x5, 0xac,0xbf,0x49,0x35,0x2, 0xb8,0x9d,0x32,0x12,0x0, 0x2e,0x12,
+0x57,0xdd,0x38,0xa, 0x7e,0x37,0x9, 0xff,0xbe,0x34,0x0, 0x27,0x28,0x1a,0x12,0x57,
+0xc9,0x2e,0x34,0xb, 0x7, 0x2e,0x14,0xb, 0x3, 0x12,0x5a,0xbe,0x59,0x35,0xb, 0x7,
+0x49,0x34,0x2, 0xb8,0x59,0x35,0xb, 0x9, 0x12,0x57,0xc9,0x2e,0x34,0xb, 0xb, 0x2e,
+0x14,0xb, 0xf, 0x12,0x5a,0xbe,0x59,0x35,0xb, 0xb, 0x49,0x44,0x2, 0xb8,0x59,0x45,
+0xb, 0xd, 0x49,0x35,0xb, 0x7, 0x49,0x25,0xb, 0x9, 0x12,0xe, 0x76,0x74,0x2, 0xac,
+0xbd,0x59,0x35,0xb, 0x33,0xe1,0x99,0x12,0x57,0xa4,0x70,0x2, 0xe1,0x99,0xa, 0x3d,
+0x9, 0x73,0xb, 0x27,0xbe,0x70,0x3, 0x50,0x2, 0xe1,0x99,0x12,0x57,0xab,0x70,0x2,
+0xe1,0x99,0x74,0x14,0xac,0xbd,0x49,0x25,0xa, 0xff,0x49,0x35,0xb, 0xb, 0x12,0x57,
+0xc1,0x7a,0x37,0x9, 0xfd,0x74,0x14,0xac,0xbd,0x49,0x25,0xb, 0x1, 0x49,0x35,0xb,
+0xd, 0x12,0x57,0xc1,0x12,0x57,0xdd,0x50,0xc, 0x7e,0x37,0x9, 0xff,0xbe,0x34,0x0,
+0x27,0x50,0x2, 0xe1,0x99,0x74,0x14,0xac,0xbd,0x12,0xe, 0x6e,0xb, 0x34,0x6d,0x22,
+0x7a,0x1f,0xa, 0x11,0x74,0x14,0xac,0xbd,0x49,0x35,0xb, 0x3, 0x49,0x25,0xb, 0x5,
+0x74,0x2, 0xac,0xbd,0x49,0x15,0xb, 0x29,0x49,0x5, 0xb, 0x2d,0x12,0xe, 0x7e,0x6d,
+0x22,0x7a,0x1f,0xa, 0xd, 0x74,0x14,0xac,0xbd,0x49,0x5, 0xb, 0x5, 0x49,0x15,0xb,
+0xd, 0x9d,0x10,0x6d,0x0, 0x7a,0xf, 0xa, 0x9, 0x7d,0x21,0x7e,0xf, 0xa, 0x11,0x12,
+0x57,0xf2,0x7a,0x1f,0xa, 0x9, 0x74,0x14,0xac,0xbd,0x49,0x15,0xb, 0x5, 0x6d,0x0,
+0x7e,0x1f,0xa, 0x9, 0x2f,0x10,0x12,0x57,0xb2,0x9f,0x10,0x7a,0x1f,0xa, 0x9, 0x49,
+0x5, 0xb, 0x3, 0x49,0x15,0xb, 0xb, 0x9d,0x10,0x6d,0x0, 0x7a,0xf, 0xa, 0x5, 0x7e,
+0x1f,0xa, 0xd, 0x7d,0x21,0x7e,0xf, 0xa, 0x11,0x12,0x57,0xf2,0x7a,0x1f,0xa, 0x5,
+0x74,0x14,0xac,0xbd,0x49,0xc5,0xb, 0x3, 0x7d,0x1c,0x6d,0x0, 0x7e,0x1f,0xa, 0x5,
+0x2f,0x10,0x49,0xd5,0xb, 0xb, 0x7d,0xfd,0x6d,0xee,0x9f,0x17,0x7a,0x1f,0xa, 0x5,
+0x12,0x57,0xab,0xb4,0x2, 0x17,0x7e,0x58,0x0, 0x2, 0x7e,0x1f,0xa, 0x5, 0x7f,0x5,
+0x12,0x4, 0x59,0x12,0x27,0xf3,0x7f,0x5, 0x12,0x57,0xb9,0x80,0x27,0x12,0x57,0xab,
+0xb4,0x1, 0x21,0xbd,0xdc,0x50,0xc, 0x7e,0x1f,0xa, 0x5, 0xbe,0x18,0x0, 0x0, 0x8,
+0x13,0x80,0xa, 0x7e,0x1f,0xa, 0x5, 0xbe,0x18,0x0, 0x0, 0x58,0x7, 0x12,0x3c,0x5c,
+0x7a,0x1f,0xa, 0x5, 0x12,0x57,0xa4,0x7e,0x1f,0xa, 0x5, 0xb4,0x1, 0x1d,0x2f,0x11,
+0x7e,0x68,0x0, 0x5, 0x7f,0x6, 0x12,0x4, 0x59,0x7a,0x1f,0xa, 0x5, 0x2f,0x17,0x12,
+0x27,0xf3,0x2f,0x11,0x7f,0x6, 0x12,0x57,0xb9,0x80,0x6, 0x2f,0x17,0x7a,0x1f,0xa,
+0x5, 0x74,0x14,0xac,0xbd,0x12,0x57,0xb2,0x7e,0x1f,0xa, 0x9, 0x2f,0x10,0x7a,0x1f,
+0xa, 0x9, 0x7e,0x1f,0xa, 0x5, 0x12,0x57,0xd1,0x12,0x27,0xf3,0x12,0x57,0xd1,0x7a,
+0x1f,0xa, 0x9, 0x7e,0x1f,0xa, 0x5, 0x7d,0x43,0x74,0x5, 0xac,0xbf,0x59,0x45,0x2,
+0xb6,0x7e,0x1f,0xa, 0x9, 0x59,0x35,0x2, 0xb8,0xb, 0xf0,0xbc,0xef,0x28,0x2, 0x81,
+0xc7,0xda,0x3b,0x22,0xa, 0x3d,0x9, 0xb3,0x3, 0x5a,0x22,0xa, 0x3d,0x9, 0xb3,0xb,
+0x31,0x22,0x49,0x15,0xb, 0xd, 0x6d,0x0, 0x22,0x12,0x4, 0x59,0x7a,0x1f,0xa, 0x9,
+0x22,0x9d,0x32,0x12,0x0, 0x2e,0xb, 0x34,0x22,0x7e,0x30,0x14,0xac,0x3d,0x7d,0x31,
+0x22,0x6d,0x22,0x7e,0x14,0x1, 0x8d,0x12,0x2f,0xf9,0x6d,0x22,0x22,0x7a,0x37,0x9,
+0xff,0x7e,0x37,0x9, 0xfd,0xbe,0x34,0x0, 0x27,0x22,0x7e,0x37,0xa, 0x17,0x7d,0x21,
+0x7d,0x1f,0x12,0x6, 0x3e,0x1a,0x26,0x1a,0x24,0x22,0xca,0xf8,0x7e,0xa3,0xb, 0xb3,
+0x7c,0xba,0x65,0x4e,0x68,0x5, 0xe4,0x7a,0xb3,0xb, 0xb6,0x7a,0xa1,0x4e,0x4c,0xaa,
+0x78,0x13,0x7e,0xb3,0x6, 0x67,0x30,0xe1,0x5, 0x12,0x58,0x68,0x80,0x11,0xe4,0x7a,
+0xb3,0x2, 0xca,0x80,0xa, 0x7e,0xb3,0x6, 0x67,0x30,0xe1,0xb, 0x12,0x58,0x68,0x12,
+0x5a,0x3, 0x12,0x5a,0x9, 0x80,0x2e,0x12,0x58,0x76,0x7c,0xfb,0x4c,0xff,0x68,0x25,
+0x7c,0xbf,0x12,0x5a,0x10,0x60,0x1e,0x7e,0x34,0x0, 0x14,0x1b,0x34,0x78,0xfc,0x7e,
+0xb3,0x6, 0x67,0x30,0xe1,0x8, 0x74,0x26,0x7a,0xb3,0xb, 0xb6,0x80,0x7, 0x7a,0xf3,
+0xb, 0xb6,0x75,0x4f,0x1, 0xda,0xf8,0x22,0x74,0x26,0x7a,0xb3,0x2, 0xca,0x7a,0xb3,
+0xb, 0xb6,0x75,0x4f,0x1, 0x22,0xca,0x79,0x6c,0xaa,0x6d,0x44,0x7d,0xf4,0x7e,0x63,
+0x0, 0x90,0x7c,0xf6,0x5e,0xf0,0xf, 0x7c,0xb6,0xc4,0x7c,0xeb,0x5e,0xe0,0xf, 0x7e,
+0xe7,0xd, 0x29,0x1b,0xe4,0x68,0x3c,0x1b,0xe4,0x68,0x6e,0x1b,0xe4,0x78,0x2, 0x21,
+0x74,0x2e,0xe4,0x0, 0x3, 0x68,0x2, 0x21,0x9c,0xbe,0xf0,0x0, 0x38,0x2, 0x21,0xa2,
+0x4c,0xee,0x68,0x2, 0x21,0xa2,0x7e,0xe4,0x0, 0x1, 0x7a,0xe7,0xd, 0x29,0x7a,0xf7,
+0xd, 0x36,0x7a,0x47,0xd, 0x38,0x12,0x59,0xc3,0x7e,0xb3,0xc, 0xab,0x7a,0xb3,0xd,
+0x35,0x21,0x5c,0x4c,0xff,0x78,0x2, 0x80,0x1e,0x12,0x59,0xc3,0x7e,0x37,0xd, 0x36,
+0x7e,0x27,0xd, 0x38,0x12,0x59,0xf9,0xa5,0xbf,0x0, 0x4, 0xd2,0xe, 0x21,0x9c,0x7e,
+0xb3,0xd, 0x2c,0x60,0x2, 0x21,0xa2,0x7e,0x34,0x0, 0x2, 0x7a,0x37,0xd, 0x29,0x7e,
+0xb3,0xc, 0xa9,0x7a,0xb3,0xd, 0x2b,0x21,0xa2,0xbe,0xf0,0x0, 0x28,0x58,0x4c,0xee,
+0x78,0x54,0x7a,0xf7,0xd, 0x31,0x7a,0x47,0xd, 0x33,0x12,0x59,0xc3,0x7e,0xb3,0xc,
+0xa8,0xa, 0x2b,0x7e,0xb3,0xc, 0xa9,0xa, 0x3b,0x9d,0x32,0x7e,0xb3,0xd, 0x2b,0xa,
+0x4b,0xbd,0x43,0x18,0x2, 0x70,0x4, 0xd2,0xe, 0x80,0x61,0x7e,0x37,0xd, 0x36,0x7e,
+0x27,0xd, 0x38,0x7e,0xb3,0xc, 0x9e,0x12,0x59,0xcc,0x7c,0x7b,0xa5,0xbf,0x0, 0x4,
+0xd2,0xe, 0x80,0x48,0x7e,0x34,0x0, 0x3, 0x7a,0x37,0xd, 0x29,0x7e,0xb3,0xc, 0xaa,
+0x7a,0xb3,0xd, 0x2c,0x80,0x3c,0x4c,0xff,0x78,0x38,0x7e,0xb3,0xd, 0x2b,0x70,0x32,
+0xd2,0xe, 0x80,0x2e,0x4c,0xff,0x78,0x10,0x7e,0xb3,0xd, 0x2c,0x70,0x4, 0xd2,0xe,
+0x80,0x1a,0x7e,0x34,0x0, 0x4, 0x80,0x16,0x12,0x59,0xc3,0x7e,0x37,0xd, 0x31,0x7e,
+0x27,0xd, 0x33,0x12,0x59,0xf9,0xa5,0xbf,0x0, 0x8, 0xd2,0xe, 0x6d,0x33,0x7a,0x37,
+0xd, 0x29,0x7e,0x37,0xd, 0x29,0xbe,0x34,0x0, 0x2, 0x78,0x12,0x7e,0xa0,0x25,0x6d,
+0x33,0x7a,0x37,0xd, 0x29,0xe4,0x7a,0xb3,0xd, 0x35,0x7a,0xb3,0xd, 0x2c,0x7c,0xba,
+0xda,0x79,0x22,0x7a,0xf7,0xd, 0x2d,0x7a,0x47,0xd, 0x2f,0x22,0x7d,0x13,0xa, 0x3b,
+0x7d,0x3, 0x2e,0x7, 0xd, 0x2d,0xbd,0x1, 0x40,0x1d,0x2d,0x13,0xbe,0x17,0xd, 0x2d,
+0x40,0x15,0x7d,0x13,0x2e,0x17,0xd, 0x2f,0xbd,0x12,0x40,0xb, 0x2d,0x32,0xbe,0x37,
+0xd, 0x2f,0x40,0x3, 0x74,0x1, 0x22,0xe4,0x22,0x7e,0xb3,0xc, 0x9f,0x12,0x59,0xcc,
+0x7c,0x7b,0x22,0xe4,0x7a,0xb3,0x9, 0x62,0x22,0x6d,0x33,0x7a,0x37,0xd, 0x29,0x22,
+0x7c,0xab,0x54,0xf0,0xb4,0x20,0x18,0x7c,0xba,0x54,0xf, 0x7e,0x44,0x0, 0x1, 0x60,
+0x5, 0x3e,0x44,0x14,0x78,0xfb,0x7e,0x73,0xb, 0xb4,0xa, 0x57,0x5d,0x54,0x22,0xe4,
+0x22,0x7d,0x13,0x7e,0x37,0xc, 0xa0,0xbd,0x31,0x50,0x1a,0x7e,0x37,0xc, 0xa2,0xbd,
+0x31,0x28,0x12,0x7e,0x37,0xc, 0xa4,0xbd,0x32,0x50,0xa, 0x7e,0x37,0xc, 0xa6,0xbd,
+0x32,0x28,0x2, 0xe4,0x22,0x74,0x1, 0x22,0x6d,0x0, 0xb, 0xc, 0x7e,0x7f,0xa, 0x9,
+0x7f,0x17,0x12,0x3, 0xec,0x2f,0x14,0x7a,0x1f,0x9, 0xfd,0x7f,0x6, 0x2f,0x5, 0x2f,
+0x7, 0x7a,0xf, 0xa, 0x1, 0x22,0xa, 0xb, 0x7e,0x14,0x0, 0x3, 0x9d,0x10,0x7e,0x91,
+0x27,0x74,0x4, 0xac,0x9b,0x2e,0x44,0x3, 0x5c,0x49,0x34,0x0, 0x2, 0xb, 0x48,0x20,
+0x7c,0xb3,0x22,0x7e,0x24,0x12,0x0, 0xb, 0x28,0x30,0x5e,0x60,0x1f,0x1b,0x28,0x30,
+0x22,0xe5,0x24,0xa, 0x3b,0x3e,0x34,0x2e,0x34,0x10,0x0, 0xb, 0x38,0x70,0x6d,0x66,
+0xe5,0x24,0xa, 0x3b,0x22,0xb, 0x28,0x30,0x4d,0x35,0x1b,0x28,0x30,0x22,0x74,0x4,
+0x12,0x4, 0x8d,0x7e,0x90,0x5, 0xac,0x9f,0x49,0x34,0x2, 0xb6,0x74,0x14,0xac,0xbd,
+0x22,0x7e,0x25,0x33,0x7a,0x27,0x0, 0x50,0x7e,0x25,0x35,0x7a,0x27,0x0, 0x52,0x7a,
+0x37,0x0, 0x54,0x22,0x6d,0x0, 0x1b,0xc, 0x7e,0x5f,0xa, 0x5, 0x7f,0x15,0x12,0x3,
+0xec,0x7f,0x41,0x22,0x7e,0x25,0x22,0x7e,0x37,0xa, 0x9, 0xad,0x32,0x7c,0x76,0x7c,
+0x65,0xa, 0x24,0x22,0x6d,0x0, 0x2f,0x10,0x7e,0x14,0x0, 0x10,0x12,0x3, 0xfd,0x74,
+0x5, 0xac,0xbe,0x22,0x7f,0x13,0x7f,0x6, 0x12,0x3, 0xec,0x7f,0x7, 0x12,0x4, 0x59,
+0x7f,0x1, 0x22,0x7e,0x14,0x0, 0x3, 0x7e,0x1d,0x2a,0x12,0x3, 0xfd,0x7e,0x8, 0x0,
+0x4, 0x22,0x2e,0x18,0x0, 0xf, 0x7e,0x15,0x22,0x12,0x3, 0xfd,0x2f,0x11,0x2f,0x11,
+0x22,0x6d,0x0, 0x7e,0x6f,0xa, 0xd, 0x7f,0x16,0x12,0x3, 0xec,0x2f,0x41,0x22,0x7e,
+0x14,0x0, 0x3, 0x7f,0x13,0x12,0x3, 0xfd,0x7e,0x8, 0x0, 0x8, 0x22,0x7e,0xf, 0xa,
+0xb, 0x7e,0x37,0xa, 0x9, 0x6d,0x22,0x2, 0x3, 0xec,0xa, 0x4b,0x7d,0x24,0x7d,0xf4,
+0x1a,0x24,0x1a,0xe4,0xbf,0x7, 0x22,0x3e,0x34,0x2e,0x34,0x12,0x92,0x1b,0x38,0x20,
+0xb, 0x10,0x22,0xb, 0x48,0x20,0x4d,0x25,0x1b,0x48,0x20,0x7c,0xb7,0x22,0x7f,0x16,
+0x7d,0x1b,0x12,0x3, 0xfd,0x7f,0x7, 0x22,0x70,0x8f,0xff,0x0, 0x8a,0x75,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43,0x45,0x49,0x5f,0x44,0x4c,0x57,0x32,
+0x0, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x30,0x30,0x30,0x30,0x0, 0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1, 0x8a,
\ No newline at end of file
diff --git a/drivers/input/touchscreen/focaltech_3207/Global.c b/drivers/input/touchscreen/focaltech_3207/Global.c
new file mode 100644
index 0000000..cc2fd06
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/Global.c
@@ -0,0 +1,342 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+#include <linux/kernel.h>
+#include <linux/string.h>
+#include <linux/printk.h>
+
+#include <linux/delay.h>//msleep
+
+#include "ini.h"
+#include "Global.h"
+
+#include "test_lib.h"
+
+#define DEVIDE_MODE_ADDR 0x00
+
+struct StruScreenSeting g_ScreenSetParam; //«Ì¹õ³]¸m°Ñ¼Æ
+struct stTestItem g_stTestItem[1][MAX_TEST_ITEM];
+//struct structSCapConf g_stSCapConf;
+int g_TestItemNum = 0;
+char g_strIcName[20] ={0};
+
+int GetPrivateProfileString(char *section, char *ItemName, char *defaultvalue, char *returnValue, char *IniFile){
+ char value[512] = {0};
+ int len = 0;
+
+ if(NULL == returnValue)
+ {
+ printk("[FTS] returnValue==NULL in function %s.", __func__);
+ return 0;
+ }
+
+ if(ini_get_key(IniFile, section, ItemName, value) < 0)
+ {
+ if(NULL != defaultvalue) memcpy(value, defaultvalue, strlen(defaultvalue));
+ sprintf(returnValue, "%s", value);
+ return 0;
+ } else {
+ len = sprintf(returnValue, "%s", value);
+ }
+
+ return len;
+}
+
+void focal_msleep(int ms)
+{
+ msleep(ms);
+}
+void SysDelay(int ms)
+{
+ msleep(ms);
+}
+int focal_abs(int value)
+{
+ if(value < 0)
+ value = 0 - value;
+
+ return value;
+}
+/////////////////////////////////////////////////////////////////////////////
+////Àò¨úIC¹ïÀ³½X
+/////////////////////////////////////////////////////////////////////////////
+unsigned char get_ic_code(char * strIcName)
+{
+
+ if(strncmp(strIcName,"FT5X36",6) == 0) return IC_FT5X36;
+ if(strncmp(strIcName, "FT5X36i",7) == 0) return IC_FT5X36i;
+ if(strncmp(strIcName, "FT3X16",6) == 0) return IC_FT3X16;
+ if(strncmp(strIcName, "FT3X26",6) == 0) return IC_FT3X26;
+
+ if(strncmp(strIcName, "FT5X46",6) == 0) return IC_FT5X46;
+ if(strncmp(strIcName, "FT5X46i",7) == 0) return IC_FT5X46i;
+ if(strncmp(strIcName, "FT5526",6) == 0) return IC_FT5526;
+ if(strncmp(strIcName, "FT3X17",6) == 0) return IC_FT3X17;
+ if(strncmp(strIcName, "FT5436",6) == 0) return IC_FT5436;
+ if(strncmp(strIcName, "FT3X27",6) == 0) return IC_FT3X27;
+ if(strncmp(strIcName, "FT5526i",7) == 0) return IC_FT5526I;
+ if(strncmp(strIcName, "FT5416",6) == 0) return IC_FT5416;
+ if(strncmp(strIcName, "FT5426",6) == 0) return IC_FT5426;
+ if(strncmp(strIcName, "FT5435",6) == 0) return IC_FT5435;
+
+ if(strncmp(strIcName, "FT6X06",6) == 0) return IC_FT6X06;
+ if(strncmp(strIcName, "FT3X06",6) == 0) return IC_FT3X06;
+
+ if(strncmp(strIcName, "FT6X36",6) == 0) return IC_FT6X36;
+ if(strncmp(strIcName, "FT3X07",6) == 0) return IC_FT3X07;
+ if(strncmp(strIcName, "FT6416",6) == 0) return IC_FT6416;
+ if(strncmp(strIcName, "FT6336G/U",9) == 0) return IC_FT6426;
+
+ if(strncmp(strIcName, "FT5X16",6) == 0) return IC_FT5X16;
+ if(strncmp(strIcName, "FT5X12",6) == 0) return IC_FT5X12;
+
+ if(strncmp(strIcName, "FT5506",6) == 0) return IC_FT5506;
+ if(strncmp(strIcName, "FT5606",6) == 0) return IC_FT5606;
+ if(strncmp(strIcName, "FT5816",6) == 0) return IC_FT5816;
+
+ if(strncmp(strIcName, "FT5822",6) == 0) return IC_FT5822;
+ if(strncmp(strIcName, "FT5626",6) == 0) return IC_FT5626;
+ if(strncmp(strIcName, "FT5726",6) == 0) return IC_FT5726;
+ if(strncmp(strIcName, "FT5826B",7) == 0) return IC_FT5826B;
+ if(strncmp(strIcName, "FT5826S",7) == 0) return IC_FT5826S;
+
+ if(strncmp(strIcName, "FT5306",6) == 0) return IC_FT5306;
+ if(strncmp(strIcName, "FT5406",6) == 0) return IC_FT5406;
+
+ if(strncmp(strIcName, "FT8606",6) == 0) return IC_FT8606;
+
+ //if(strIcName == "FT8606")return IC_FT8606;
+ if(strncmp(strIcName,"FT8606",6) == 0) return IC_FT8606;
+
+ return 0xff;
+}
+/////////////////////////////////////////////////////////////////////////////
+////Àò¨úIC¦W
+/////////////////////////////////////////////////////////////////////////////
+void get_ic_name(unsigned char ucIcCode, char * strIcName)
+{
+ if(NULL == strIcName)return;
+
+ sprintf(strIcName, "%s", "NA");/*if can't find IC , set 'NA'*/
+
+ if(ucIcCode == IC_FT5X36)sprintf(strIcName, "%s", "FT5X36");
+ if(ucIcCode == IC_FT5X36i)sprintf(strIcName, "%s", "FT5X36i");
+ if(ucIcCode == IC_FT3X16)sprintf(strIcName, "%s", "FT3X16");
+ if(ucIcCode == IC_FT3X26)sprintf(strIcName, "%s", "FT3X26");
+
+ if(ucIcCode == IC_FT5X46)sprintf(strIcName, "%s", "FT5X22");
+ if(ucIcCode == IC_FT5X46) sprintf(strIcName, "%s", "FT5X46");
+ if(ucIcCode == IC_FT5X46i) sprintf(strIcName, "%s", "FT5X46i");
+ if(ucIcCode == IC_FT5526) sprintf(strIcName, "%s", "FT5526");
+ if(ucIcCode == IC_FT3X17) sprintf(strIcName, "%s", "FT3X17");
+ if(ucIcCode == IC_FT5436) sprintf(strIcName, "%s", "FT5436");
+ if(ucIcCode == IC_FT3X27) sprintf(strIcName, "%s", "FT3X27");
+ if(ucIcCode == IC_FT5526I) sprintf(strIcName, "%s", "FT5526i");
+ if(ucIcCode == IC_FT5416) sprintf(strIcName, "%s", "FT5416");
+ if(ucIcCode == IC_FT5426) sprintf(strIcName, "%s", "FT5426");
+ if(ucIcCode == IC_FT5435) sprintf(strIcName, "%s", "FT5435");
+
+ if(ucIcCode == IC_FT6X06)sprintf(strIcName, "%s", "FT6X06");
+ if(ucIcCode == IC_FT3X06)sprintf(strIcName, "%s", "FT3X06");
+
+ if(ucIcCode == IC_FT6X36)sprintf(strIcName, "%s", "FT6X36");
+ if(ucIcCode == IC_FT3X07)sprintf(strIcName, "%s", "FT3X07");
+ if(ucIcCode == IC_FT6416)sprintf(strIcName, "%s", "FT6416");
+ if(ucIcCode == IC_FT6426)sprintf(strIcName, "%s", "FT6336G/U");
+
+ if(ucIcCode == IC_FT5X16)sprintf(strIcName, "%s", "FT5X16");
+ if(ucIcCode == IC_FT5X12)sprintf(strIcName, "%s", "FT5X12");
+
+ if(ucIcCode == IC_FT5506)sprintf(strIcName, "%s", "FT5506");
+ if(ucIcCode == IC_FT5606)sprintf(strIcName, "%s", "FT5606");
+ if(ucIcCode == IC_FT5816)sprintf(strIcName, "%s", "FT5816");
+
+ if(ucIcCode == IC_FT5822)sprintf(strIcName, "%s", "FT5822");
+ if(ucIcCode == IC_FT5626)sprintf(strIcName, "%s", "FT5626");
+ if(ucIcCode == IC_FT5726)sprintf(strIcName, "%s", "FT5726");
+ if(ucIcCode == IC_FT5826B)sprintf(strIcName, "%s", "FT5826B");
+ if(ucIcCode == IC_FT5826S)sprintf(strIcName, "%s", "FT5826S");
+
+ if(ucIcCode == IC_FT5306)sprintf(strIcName, "%s", "FT5306");
+ if(ucIcCode == IC_FT5406)sprintf(strIcName, "%s", "FT5406");
+
+ if(ucIcCode == IC_FT8606)sprintf(strIcName, "%s", "FT8606");
+ //if(ucIcCode == IC_FT8716)sprintf(strIcName, "%s", "FT8716");
+
+ return ;
+}
+void OnInit_InterfaceCfg(char * strIniFile)
+{
+ char str[128];
+
+ ///////////////////////////IC_Type
+ GetPrivateProfileString("Interface","IC_Type","FT5X36",str,strIniFile);
+ g_ScreenSetParam.iSelectedIC = get_ic_code(str);
+
+ /////////////////////////Normalize Type
+ GetPrivateProfileString("Interface","Normalize_Type",0,str,strIniFile);
+ g_ScreenSetParam.isNormalize = atoi(str);
+
+}
+/************************************************************************
+* Name: ReadReg(Same function name as FT_MultipleTest)
+* Brief: Read Register
+* Input: RegAddr
+* Output: RegData
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+int ReadReg(unsigned char RegAddr, unsigned char *RegData)
+{
+ int iRet;
+
+ if(NULL == fts_i2c_read_test)
+ {
+ printk("[focal] %s fts_i2c_read == NULL \n", __func__);
+ return (ERROR_CODE_INVALID_COMMAND);
+ }
+
+ iRet = fts_i2c_read_test(&RegAddr, 1, RegData, 1);
+
+ if(iRet >= 0)
+ return (ERROR_CODE_OK);
+ else
+ return (ERROR_CODE_COMM_ERROR);
+}
+/************************************************************************
+* Name: WriteReg(Same function name as FT_MultipleTest)
+* Brief: Write Register
+* Input: RegAddr, RegData
+* Output: null
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+int WriteReg(unsigned char RegAddr, unsigned char RegData)
+{
+ int iRet;
+ unsigned char cmd[2] = {0};
+
+ if(NULL == fts_i2c_write_test)
+ {
+ printk("[focal] %s fts_i2c_write == NULL \n", __func__);
+ return (ERROR_CODE_INVALID_COMMAND);
+ }
+
+ cmd[0] = RegAddr;
+ cmd[1] = RegData;
+ iRet = fts_i2c_write_test(cmd, 2);
+
+ if(iRet >= 0)
+ return (ERROR_CODE_OK);
+ else
+ return (ERROR_CODE_COMM_ERROR);
+}
+/************************************************************************
+* Name: Comm_Base_IIC_IO(Same function name as FT_MultipleTest)
+* Brief: Write/Read Data by IIC
+* Input: pWriteBuffer, iBytesToWrite, iBytesToRead
+* Output: pReadBuffer
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+unsigned char Comm_Base_IIC_IO(unsigned char *pWriteBuffer, int iBytesToWrite, unsigned char *pReadBuffer, int iBytesToRead)
+{
+ int iRet;
+
+ if(NULL == fts_i2c_read_test)
+ {
+ printk("[FTS] %s fts_i2c_read == NULL \n", __func__);
+ return (ERROR_CODE_INVALID_COMMAND);
+ }
+
+ iRet = fts_i2c_read_test(pWriteBuffer, iBytesToWrite, pReadBuffer, iBytesToRead);
+
+ if(iRet >= 0)
+ return (ERROR_CODE_OK);
+ else
+ return (ERROR_CODE_COMM_ERROR);
+}
+/************************************************************************
+* Name: EnterWork(Same function name as FT_MultipleTest)
+* Brief: Enter Work Mode
+* Input: null
+* Output: null
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+unsigned char EnterWork(void)
+{
+ unsigned char RunState = 0;
+ unsigned char ReCode = ERROR_CODE_COMM_ERROR;
+
+ ReCode = ReadReg(DEVIDE_MODE_ADDR, &RunState);
+ if(ReCode == ERROR_CODE_OK)
+ {
+ if(((RunState>>4)&0x07) == 0x00) //work
+ {
+ ReCode = ERROR_CODE_OK;
+ }
+ else
+ {
+ ReCode = WriteReg(DEVIDE_MODE_ADDR, 0);
+ if(ReCode == ERROR_CODE_OK)
+ {
+ ReCode = ReadReg(DEVIDE_MODE_ADDR, &RunState);
+ if(ReCode == ERROR_CODE_OK)
+ {
+ if(((RunState>>4)&0x07) == 0x00) ReCode = ERROR_CODE_OK;
+ else ReCode = ERROR_CODE_COMM_ERROR;
+ }
+ }
+ }
+ }
+
+ return ReCode;
+
+}
+/************************************************************************
+* Name: EnterFactory
+* Brief: enter Fcatory Mode
+* Input: null
+* Output: null
+* Return: Comm Code. Code = 0 is OK, else fail.
+***********************************************************************/
+unsigned char EnterFactory(void)
+{
+ unsigned char RunState = 0;
+ unsigned char ReCode = ERROR_CODE_COMM_ERROR;
+
+ ReCode = ReadReg(DEVIDE_MODE_ADDR, &RunState);
+ if(ReCode == ERROR_CODE_OK)
+ {
+ if(((RunState>>4)&0x07) == 0x04) //factory
+ {
+ ReCode = ERROR_CODE_OK;
+ }
+ else
+ {
+ ReCode = WriteReg(DEVIDE_MODE_ADDR, 0x40);
+ if(ReCode == ERROR_CODE_OK)
+ {
+ ReCode = ReadReg(DEVIDE_MODE_ADDR, &RunState);
+ if(ReCode == ERROR_CODE_OK)
+ {
+ if(((RunState>>4)&0x07) == 0x04) ReCode = ERROR_CODE_OK;
+ else ReCode = ERROR_CODE_COMM_ERROR;
+ }
+ }
+ }
+ }
+
+ return ReCode;
+}
+
diff --git a/drivers/input/touchscreen/focaltech_3207/Global.h b/drivers/input/touchscreen/focaltech_3207/Global.h
new file mode 100644
index 0000000..6c7d075
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/Global.h
@@ -0,0 +1,152 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+#ifndef _GLOBAL_H
+#define _GLOBAL_H
+
+#include <linux/kernel.h>
+#include "DetailThreshold.h"
+
+/*-----------------------------------------------------------
+Error Code for Comm
+-----------------------------------------------------------*/
+#define ERROR_CODE_OK 0x00
+#define ERROR_CODE_CHECKSUM_ERROR 0x01
+#define ERROR_CODE_INVALID_COMMAND 0x02
+#define ERROR_CODE_INVALID_PARAM 0x03
+#define ERROR_CODE_IIC_WRITE_ERROR 0x04
+#define ERROR_CODE_IIC_READ_ERROR 0x05
+#define ERROR_CODE_WRITE_USB_ERROR 0x06
+#define ERROR_CODE_WAIT_RESPONSE_TIMEOUT 0x07
+#define ERROR_CODE_PACKET_RE_ERROR 0x08
+#define ERROR_CODE_NO_DEVICE 0x09
+#define ERROR_CODE_WAIT_WRITE_TIMEOUT 0x0a
+#define ERROR_CODE_READ_USB_ERROR 0x0b
+#define ERROR_CODE_COMM_ERROR 0x0c
+#define ERROR_CODE_ALLOCATE_BUFFER_ERROR 0x0d
+#define ERROR_CODE_DEVICE_OPENED 0x0e
+#define ERROR_CODE_DEVICE_CLOSED 0x0f
+
+/*-----------------------------------------------------------
+Test Status
+-----------------------------------------------------------*/
+#define RESULT_NULL 0
+#define RESULT_PASS 1
+#define RESULT_NG 2
+#define RESULT_TESTING 3
+#define RESULT_TBD 4
+#define RESULT_REPLACE 5
+#define RESULT_CONNECTING 6
+
+enum IC_Type
+{
+ IC_FT5X36 = 0x10,
+ IC_FT5X36i = 0x11,
+ IC_FT3X16 = 0x12,
+ IC_FT3X26 = 0x13,
+ IC_FT5X46 = 0x21,
+ IC_FT5X46i= 0x22,
+ IC_FT5526 = 0x23,
+ IC_FT3X17 = 0x24,
+ IC_FT5436 = 0x25,
+ IC_FT3X27 = 0x26,
+ IC_FT5526I = 0x27,
+ IC_FT5416 = 0x28,
+ IC_FT5426 = 0x29,
+ IC_FT5435 = 0x2A,
+ IC_FT6X06 = 0x30,
+ IC_FT3X06 = 0x31,
+ IC_FT6X36 = 0x40,
+ IC_FT3X07 = 0x41,
+ IC_FT6416 = 0x42,
+ IC_FT6426 = 0x43,
+ IC_FT5X16 = 0x50,
+ IC_FT5X12 = 0x51,
+ IC_FT5506 = 0x60,
+ IC_FT5606 = 0x61,
+ IC_FT5816 = 0x62,
+ IC_FT5822 = 0x70,
+ IC_FT5626 = 0x71,
+ IC_FT5726 = 0x72,
+ IC_FT5826B = 0x73,
+ IC_FT5826S = 0x74,
+ IC_FT5306 = 0x80,
+ IC_FT5406 = 0x81,
+ IC_FT8606 = 0x90,
+};
+#define MAX_IC_TYPE 32
+
+struct StruScreenSeting
+{
+ int iSelectedIC;
+ int iTxNum;
+ int iRxNum;
+ int isNormalize;
+ int iUsedMaxTxNum;//iTxNum <= iUsedMaxTxNum
+ int iUsedMaxRxNum;//iRxNum <= iUsedMaxRxNum
+
+ unsigned char iChannelsNum;//add for ft6x36
+ unsigned char iKeyNum;
+
+};
+
+struct stTestItem
+{
+ unsigned char ItemType;
+ unsigned char TestNum;
+ unsigned char TestResult;
+ unsigned char ItemCode;
+};
+
+enum NORMALIZE_Type
+{
+ Overall_Normalize = 0,
+ Auto_Normalize = 1,
+};
+
+enum PROOF_TYPE
+{
+ Proof_Normal,
+ Proof_Level0,
+ Proof_NoWaterProof,
+};
+
+extern struct stCfg_MCap_DetailThreshold g_stCfg_MCap_DetailThreshold;
+extern struct stCfg_SCap_DetailThreshold g_stCfg_SCap_DetailThreshold;
+
+extern struct StruScreenSeting g_ScreenSetParam;
+extern struct stTestItem g_stTestItem[1][MAX_TEST_ITEM];
+
+extern int g_TestItemNum;/*test item num*/
+extern char g_strIcName[20];/*IC Name*/
+
+int GetPrivateProfileString(char *section, char *ItemName, char *defaultvalue, char *returnValue, char *IniFile);
+void focal_msleep(int ms);
+void SysDelay(int ms);
+int focal_abs(int value);
+unsigned char get_ic_code(char * strIcName);
+void get_ic_name(unsigned char ucIcCode, char * strIcName);
+
+void OnInit_InterfaceCfg(char * strIniFile);
+
+int ReadReg(unsigned char RegAddr, unsigned char *RegData);
+int WriteReg(unsigned char RegAddr, unsigned char RegData);
+unsigned char Comm_Base_IIC_IO(unsigned char *pWriteBuffer, int iBytesToWrite, unsigned char *pReadBuffer, int iBytesToRead);
+
+unsigned char EnterWork(void);
+unsigned char EnterFactory(void);
+
+#endif
diff --git a/drivers/input/touchscreen/focaltech_3207/Makefile b/drivers/input/touchscreen/focaltech_3207/Makefile
new file mode 100644
index 0000000..01ae537
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/Makefile
@@ -0,0 +1,17 @@
+#
+# Makefile for the focaltech FT3207 touchscreen drivers.
+#
+
+
+obj-$(CONFIG_TOUCHSCREEN_FT3207) += ft_3207.o
+ft_3207-$(CONFIG_TOUCHSCREEN_FT3207) += focaltech_core.o
+ft_3207-$(CONFIG_TOUCHSCREEN_FT3207) += focaltech_ctl.o
+ft_3207-$(CONFIG_TOUCHSCREEN_FT3207) += focaltech_ex_fun.o
+ft_3207-$(CONFIG_TOUCHSCREEN_FT3207) += focaltech_flash.o
+ft_3207-$(CONFIG_TOUCHSCREEN_FT3207) += test_lib.o
+ft_3207-$(CONFIG_TOUCHSCREEN_FT3207) += ini.o
+ft_3207-$(CONFIG_TOUCHSCREEN_FT3207) += Global.o
+ft_3207-$(CONFIG_TOUCHSCREEN_FT3207) += Config_FT6X36.o
+ft_3207-$(CONFIG_TOUCHSCREEN_FT3207) += Test_FT6X36.o
+ft_3207-$(CONFIG_TOUCHSCREEN_FT3207) += DetailThreshold.o
+ft_3207-$(CONFIG_TOUCHSCREEN_FT3207) += focaltech_gesture.o
diff --git a/drivers/input/touchscreen/focaltech_3207/Test_FT6X36.c b/drivers/input/touchscreen/focaltech_3207/Test_FT6X36.c
new file mode 100644
index 0000000..b6f9e7d
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/Test_FT6X36.c
@@ -0,0 +1,2298 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+
+/*******************************************************************************
+* Included header files
+*******************************************************************************/
+#include <linux/kernel.h>
+#include <linux/string.h>
+#include <linux/slab.h>
+
+#include "Global.h"
+#include "DetailThreshold.h"
+#include "Test_FT6X36.h"
+#include "Config_FT6X36.h"
+
+
+/*******************************************************************************
+* Private constant and macro definitions using #define
+*******************************************************************************/
+#define IC_TEST_VERSION "Test version: V1.0.0--2015-10-08, (sync version of FT_MultipleTest: V2.7.0.3--2015-07-13)"
+
+/////////////////////////////////////////////////Reg
+#define DEVIDE_MODE_ADDR 0x00
+#define REG_LINE_NUM 0x01
+#define REG_TX_NUM 0x02
+#define REG_RX_NUM 0x03
+#define REG_PATTERN_5422 0x53
+#define REG_MAPPING_SWITCH 0x54
+#define REG_TX_NOMAPPING_NUM 0x55
+#define REG_RX_NOMAPPING_NUM 0x56
+#define REG_NORMALIZE_TYPE 0x16
+#define REG_ScCbBuf0 0x4E
+#define REG_ScWorkMode 0x44
+#define REG_ScCbAddrR 0x45
+#define REG_RawBuf0 0x36
+#define REG_WATER_CHANNEL_SELECT 0x09
+
+#define C6208_SCAN_ADDR 0x08
+
+#define C6X36_CHANNEL_NUM 0x0A//1 Byte (RW) TP_Channel_Num VA Channel Max num
+#define C6X36_KEY_NUM 0x0B//1 Byte (RW) TP_Key_Num VA Key Channel Max num, 63
+
+#define C6X36_CB_ADDR_W 0x32/*0x32*/ //1 Byte (RW) CB_addr normal mode address
+#define C6X36_CB_ADDR_R 0x33/*0x32*/ //1 Byte (RW) CB_addr normal mode address
+#define C6X36_CB_BUF 0x39/*0x33*/ //1 Byte (RO) CB_buf
+#define C6X36_RAWDATA_ADDR 0x34/*0x34*/ //1 Byte (RW) RawData_addr
+#define C6X36_RAWDATA_BUF 0x35
+
+#define C6206_FACTORY_TEST_MODE 0xAE
+#define C6206_FACTORY_TEST_STATUS 0xAD
+
+#define MAX_SCAP_CHANNEL_NUM 144//Single Chip 72; Double Chips 144
+#define MAX_SCAP_KEY_NUM 8
+
+/*******************************************************************************
+* Private enumerations, structures and unions using typedef
+*******************************************************************************/
+enum WaterproofType
+{
+ WT_NeedProofOnTest,
+ WT_NeedProofOffTest,
+ WT_NeedTxOnVal,
+ WT_NeedRxOnVal,
+ WT_NeedTxOffVal,
+ WT_NeedRxOffVal,
+};
+
+//dean add self test item
+enum{
+ENTER_FACTORY_MODE_TEST = 0,
+RAWDATA_TEST,
+CB_TEST,
+DIFF_CB_TEST
+};
+
+/*******************************************************************************
+* Static variables
+*******************************************************************************/
+
+static int m_RawData[MAX_SCAP_CHANNEL_NUM] = {0};
+//static int m_iTempRawData[MAX_SCAP_CHANNEL_NUM] = {0};
+static unsigned char m_ucTempData[MAX_SCAP_CHANNEL_NUM*2] = {0};
+
+static int m_CbData[MAX_SCAP_CHANNEL_NUM] = {0};
+static int m_TempCbData[MAX_SCAP_CHANNEL_NUM] = {0};
+static int m_DeltaCbData[MAX_SCAP_CHANNEL_NUM] = {0};
+static int m_DeltaCb_DifferData[MAX_SCAP_CHANNEL_NUM] = {0};
+//static bool m_bV3TP = false;
+
+//---------------------About Store Test Dat
+//static char g_pStoreAllData[1024*80] = {0};
+static char *g_pStoreAllData = NULL;
+static char *g_pTmpBuff = NULL;
+static char *g_pStoreMsgArea = NULL;
+static int g_lenStoreMsgArea = 0;
+static char *g_pMsgAreaLine2 = NULL;
+static int g_lenMsgAreaLine2 = 0;
+static char *g_pStoreDataArea = NULL;
+static int g_lenStoreDataArea = 0;
+static unsigned char m_ucTestItemCode = 0;
+static int m_iStartLine = 0;
+static int m_iTestDataCount = 0;
+
+//dean add, for selftest log
+static char *g_pMsgforSelfTest = NULL;
+static int g_lenMsgforSelfTest = 0;
+
+/*******************************************************************************
+* Global variable or extern global variabls/functions
+*******************************************************************************/
+
+
+/*******************************************************************************
+* Static function prototypes
+*******************************************************************************/
+//////////////////////////////////////////////Communication function
+static int StartScan(void);
+static unsigned char ReadRawData(unsigned char Freq, unsigned char LineNum, int ByteNum, int *pRevBuffer);
+static unsigned char GetPanelChannels(unsigned char *pPanelRows);
+static unsigned char GetPanelKeys(unsigned char *pPanelCols);
+//////////////////////////////////////////////Common function
+static unsigned char GetRawData(void);
+static unsigned char GetChannelNum(void);
+//////////////////////////////////////////////about Test
+static void InitTest(void);
+static void FinishTest(void);
+static void Save_Test_Data(int iData[MAX_SCAP_CHANNEL_NUM], int iArrayIndex, unsigned char Row, unsigned char Col, unsigned char ItemCount);
+static void InitStoreParamOfTestData(void);
+static void MergeAllTestData(void);
+//////////////////////////////////////////////Others
+static void AllocateMemory(void);
+static void FreeMemory(void);
+static void ShowRawData(void);
+
+/************************************************************************
+* Name: FT6X36_StartTest
+* Brief: Test entry. Determine which test item to test
+* Input: none
+* Output: none
+* Return: Test Result, PASS or FAIL
+***********************************************************************/
+boolean FT6X36_StartTest()
+{
+ bool bTestResult = true;
+ bool bTempResult = 1;
+ unsigned char ReCode=0;
+ unsigned char ucDevice = 0;
+ int iItemCount=0;
+
+ //--------------1. Init part
+ InitTest();
+
+ //--------------2. test item
+ if (0 == g_TestItemNum)
+ bTestResult = false;
+
+ for (iItemCount = 0; iItemCount < g_TestItemNum; iItemCount++) {
+ m_ucTestItemCode = g_stTestItem[ucDevice][iItemCount].ItemCode;
+
+ ///////////////////////////////////////////////////////FT6X36_ENTER_FACTORY_MODE
+ if (Code_FT6X36_ENTER_FACTORY_MODE == g_stTestItem[ucDevice][iItemCount].ItemCode) {
+ ReCode = FT6X36_TestItem_EnterFactoryMode();
+ if (ERROR_CODE_OK != ReCode || (!bTempResult)) {
+ bTestResult = false;
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_NG;
+ break;//if this item FAIL, no longer test.
+ }
+ else
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_PASS;
+ }
+ ///////////////////////////////////////////////////////FT6X36_RAWDATA_TEST
+ if (Code_FT6X36_RAWDATA_TEST == g_stTestItem[ucDevice][iItemCount].ItemCode) {
+ ReCode = FT6X36_TestItem_RawDataTest(&bTempResult);
+ if (ERROR_CODE_OK != ReCode || (!bTempResult)) {
+ bTestResult = false;
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_NG;
+ }
+ else
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_PASS;
+ }
+
+
+ ///////////////////////////////////////////////////////FT6X36_CB_TEST
+ if (Code_FT6X36_CB_TEST == g_stTestItem[ucDevice][iItemCount].ItemCode) {
+ ReCode = FT6X36_TestItem_CbTest(&bTempResult);
+ if (ERROR_CODE_OK != ReCode || (!bTempResult)) {
+ bTestResult = false;
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_NG;
+ }
+ else
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_PASS;
+ }
+
+ ///////////////////////////////////////////////////////Code_FT6X36_DELTA_CB_TEST
+ if (Code_FT6X36_DELTA_CB_TEST == g_stTestItem[ucDevice][iItemCount].ItemCode) {
+ ReCode = FT6X36_TestItem_DeltaCbTest(&bTempResult);
+ if (ERROR_CODE_OK != ReCode || (!bTempResult)) {
+ bTestResult = false;
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_NG;
+ }
+ else
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_PASS;
+ }
+
+ ///////////////////////////////////////////////////////Code_FT6X36_CHANNELS_DEVIATION_TEST
+ if (Code_FT6X36_CHANNELS_DEVIATION_TEST == g_stTestItem[ucDevice][iItemCount].ItemCode) {
+ ReCode = FT6X36_TestItem_ChannelsDeviationTest(&bTempResult);
+ if (ERROR_CODE_OK != ReCode || (!bTempResult)) {
+ bTestResult = false;
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_NG;
+ }
+ else
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_PASS;
+ }
+
+ ///////////////////////////////////////////////////////Code_FT6X36_TWO_SIDES_DEVIATION_TEST
+ if (Code_FT6X36_TWO_SIDES_DEVIATION_TEST == g_stTestItem[ucDevice][iItemCount].ItemCode) {
+ ReCode = FT6X36_TestItem_TwoSidesDeviationTest(&bTempResult);
+ if (ERROR_CODE_OK != ReCode || (!bTempResult)) {
+ bTestResult = false;
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_NG;
+ }
+ else
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_PASS;
+ }
+ }
+
+ //--------------3. End Part
+ FinishTest();
+
+ //--------------4. return result
+ return bTestResult;
+}
+
+//dean add
+boolean FT3207_StartTest(bool* item_result)
+{
+ bool bTestResult = true;
+ bool bTempResult = 1;
+ unsigned char ReCode=0;
+ unsigned char ucDevice = 0;
+ int iItemCount=0;
+
+ //--------------1. Init part
+ InitTest();
+
+ //--------------2. test item
+ if (0 == g_TestItemNum)
+ bTestResult = false;
+
+ for (iItemCount = 0; iItemCount < g_TestItemNum; iItemCount++) {
+ m_ucTestItemCode = g_stTestItem[ucDevice][iItemCount].ItemCode;
+
+ ///////////////////////////////////////////////////////FT6X36_ENTER_FACTORY_MODE
+ if (Code_FT6X36_ENTER_FACTORY_MODE == g_stTestItem[ucDevice][iItemCount].ItemCode) {
+ ReCode = FT6X36_TestItem_EnterFactoryMode();
+ if (ERROR_CODE_OK != ReCode || (!bTempResult)) {
+ bTestResult = false;
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_NG;
+ item_result[ENTER_FACTORY_MODE_TEST] = false;
+ break;//if this item FAIL, no longer test.
+ }
+ else {
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_PASS;
+ item_result[ENTER_FACTORY_MODE_TEST] = true;
+ }
+ }
+
+ ///////////////////////////////////////////////////////FT6X36_RAWDATA_TEST
+ if (Code_FT6X36_RAWDATA_TEST == g_stTestItem[ucDevice][iItemCount].ItemCode) {
+ ReCode = FT6X36_TestItem_RawDataTest(&bTempResult);
+ if (ERROR_CODE_OK != ReCode || (!bTempResult)) {
+ bTestResult = false;
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_NG;
+ item_result[RAWDATA_TEST] = false;
+ }
+ else {
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_PASS;
+ item_result[RAWDATA_TEST] = true;
+ }
+ }
+
+ ///////////////////////////////////////////////////////FT6X36_CB_TEST
+ if (Code_FT6X36_CB_TEST == g_stTestItem[ucDevice][iItemCount].ItemCode) {
+ ReCode = FT6X36_TestItem_CbTest(&bTempResult);
+ if (ERROR_CODE_OK != ReCode || (!bTempResult)) {
+ bTestResult = false;
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_NG;
+ item_result[CB_TEST] = false;
+ }
+ else {
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_PASS;
+ item_result[CB_TEST] = true;
+ }
+ }
+
+ ///////////////////////////////////////////////////////Code_FT6X36_DELTA_CB_TEST
+ if (Code_FT6X36_DELTA_CB_TEST == g_stTestItem[ucDevice][iItemCount].ItemCode) {
+ ReCode = FT6X36_TestItem_DeltaCbTest(&bTempResult);
+ if (ERROR_CODE_OK != ReCode || (!bTempResult)) {
+ bTestResult = false;
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_NG;
+ item_result[DIFF_CB_TEST] = false;
+ }
+ else {
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_PASS;
+ item_result[DIFF_CB_TEST] = true;
+ }
+ }
+}
+
+ //--------------3. End Part
+ FinishTest();
+ //--------------4. return result
+ return bTestResult;
+}
+
+void FTSPrintMsg(const char *fmt, ...)
+{
+ char printf_buf[512];
+ va_list args;
+ u8 buf_len = 0;
+
+ va_start(args, fmt);
+ buf_len = vsprintf(printf_buf, fmt, args);
+ va_end(args);
+
+ printk("[fts]%s", printf_buf);
+
+ if ((g_lenMsgforSelfTest + buf_len) >=PROCESS_LOG_SIZE) {
+ printk("[fts]memory over\n");
+ } else {
+ sprintf(g_pMsgforSelfTest + g_lenMsgforSelfTest, "%s", printf_buf);
+ g_lenMsgforSelfTest += buf_len;
+ }
+}
+
+/************************************************************************
+* Name: InitTest
+* Brief: Init all param before test
+* Input: none
+* Output: none
+* Return: none
+***********************************************************************/
+static void InitTest(void)
+{
+ AllocateMemory();//Allocate pointer Memory
+ InitStoreParamOfTestData();
+ printk("[fts] %s \n", IC_TEST_VERSION); //show lib version
+}
+/************************************************************************
+* Name: FinishTest
+* Brief: Init all param before test
+* Input: none
+* Output: none
+* Return: none
+***********************************************************************/
+static void FinishTest(void)
+{
+ MergeAllTestData();//Merge Test Result
+ FreeMemory();//Release pointer memory
+}
+/************************************************************************
+* Name: FT6X36_get_test_data
+* Brief: get data of test result
+* Input: none
+* Output: pTestData, the returned buff
+* Return: the length of test data. if length > 0, got data;else ERR.
+***********************************************************************/
+int FT6X36_get_test_data(char *pTestData)
+{
+ if (NULL == pTestData) {
+ printk("[fts] %s pTestData == NULL \n", __func__);
+ return -1;
+ }
+ printk("[fts] %s , g_lenStoreMsgArea+g_lenStoreDataArea = %d \n", __func__, g_lenStoreMsgArea+g_lenStoreDataArea + g_lenMsgforSelfTest);
+
+ memcpy(pTestData, g_pStoreAllData, (g_lenStoreMsgArea+g_lenStoreDataArea+g_lenMsgforSelfTest));
+ return (g_lenStoreMsgArea+g_lenStoreDataArea+g_lenMsgforSelfTest);
+}
+
+int FT3207_get_test_data(char **pTestData)
+{
+ *pTestData = g_pStoreAllData;
+ return (g_lenStoreMsgArea+g_lenStoreDataArea+g_lenMsgforSelfTest);
+}
+
+
+/************************************************************************
+* Name: FT6X36_TestItem_EnterFactoryMode
+* Brief: Check whether TP can enter Factory Mode, and do some thing
+* Input: none
+* Output: none
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+unsigned char FT6X36_TestItem_EnterFactoryMode(void)
+{
+ unsigned char ReCode = ERROR_CODE_INVALID_PARAM;
+ int iRedo = 5; //retry 5
+ int i ;
+
+ SysDelay(150);
+ for (i = 1; i <= iRedo; i++) {
+ ReCode = EnterFactory();
+ if (ERROR_CODE_OK != ReCode) {
+ printk("[fts]Failed to Enter factory mode...\n");
+ if (i < iRedo) {
+ SysDelay(50);
+ continue;
+ }
+ }
+ else {
+ break;
+ }
+
+ }
+ SysDelay(300);
+
+ if (ReCode != ERROR_CODE_OK) {
+ return ReCode;
+ }
+
+ ReCode = GetChannelNum();
+
+ return ReCode;
+}
+
+/************************************************************************
+* Name: GetPanelChannels(Same function name as FT_MultipleTest GetChannelNum)
+* Brief: Get row of TP
+* Input: none
+* Output: pPanelChannels
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+static unsigned char GetPanelChannels(unsigned char *pPanelChannels)
+{
+ return ReadReg(C6X36_CHANNEL_NUM, pPanelChannels);
+}
+
+/************************************************************************
+* Name: GetPanelKeys(Same function name as FT_MultipleTest GetKeyNum)
+* Brief: get column of TP
+* Input: none
+* Output: pPanelKeys
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+static unsigned char GetPanelKeys(unsigned char *pPanelKeys)
+{
+ return ReadReg(C6X36_KEY_NUM, pPanelKeys);
+}
+/************************************************************************
+* Name: StartScan(Same function name as FT_MultipleTest)
+* Brief: Scan TP, do it before read Raw Data
+* Input: none
+* Output: none
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+static int StartScan(void)
+{
+ unsigned char RegVal = 0x01;
+ unsigned int times = 0;
+ const unsigned int MaxTimes = 500/*20*/; //wait 160ms
+ unsigned char ReCode = ERROR_CODE_COMM_ERROR;
+
+ ReCode = ReadReg(C6208_SCAN_ADDR, &RegVal);
+
+ if (ReCode == ERROR_CODE_OK) {
+ RegVal = 0x01;
+ ReCode = WriteReg(C6208_SCAN_ADDR, RegVal);
+ if (ReCode == ERROR_CODE_OK) {
+ while(times++ < MaxTimes) {
+ SysDelay(8); //8ms
+ ReCode = ReadReg(C6208_SCAN_ADDR, &RegVal);
+ if (ReCode == ERROR_CODE_OK) {
+ if (RegVal == 0) {
+ //ReCode == WriteReg(0x01, 0x00);
+ break;
+ }
+ }
+ else {
+ break;
+ }
+ }
+ if (times < MaxTimes) ReCode = ERROR_CODE_OK;
+ else ReCode = ERROR_CODE_COMM_ERROR;
+ }
+ }
+
+ return ReCode;
+
+}
+/************************************************************************
+* Name: ReadRawData(Same function name as FT_MultipleTest)
+* Brief: read Raw Data
+* Input: Freq(No longer used, reserved), LineNum, ByteNum
+* Output: pRevBuffer
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+unsigned char ReadRawData(unsigned char Freq, unsigned char LineNum, int ByteNum, int *pRevBuffer)
+{
+ unsigned char ReCode=ERROR_CODE_COMM_ERROR;
+ unsigned char I2C_wBuffer[3];
+ unsigned short BytesNumInTestMode1=0;
+
+ int i=0;
+
+ BytesNumInTestMode1 = ByteNum;
+
+ ReCode = WriteReg( C6X36_RAWDATA_ADDR, 0 );
+ if ((ReCode == ERROR_CODE_OK)) {
+ if (ReCode == ERROR_CODE_OK) {
+ I2C_wBuffer[0] = C6X36_RAWDATA_BUF; //rawdata buffer addr register;
+
+ ReCode = Comm_Base_IIC_IO(I2C_wBuffer, 1, m_ucTempData, BytesNumInTestMode1);
+
+ }
+ }
+
+
+ if (ReCode == ERROR_CODE_OK) {
+ for (i=0; i<(ByteNum>>1); i++) {
+ pRevBuffer[i] = (m_ucTempData[i<<1]<<8)+m_ucTempData[(i<<1)+1];
+ }
+ }
+
+ return ReCode;
+
+}
+
+//////////////////////////////////////////////
+/************************************************************************
+* Name: AllocateMemory
+* Brief: Allocate pointer Memory
+* Input: none
+* Output: none
+* Return: none
+***********************************************************************/
+static void AllocateMemory(void)
+{
+ //New buff
+ g_pStoreMsgArea =NULL;
+ if (NULL == g_pStoreMsgArea)
+ g_pStoreMsgArea = kmalloc(1024*1, GFP_ATOMIC); //default 80KB
+ printk("[fts]g_pStoreMsgArea : %d\n", sizeof(g_pStoreMsgArea));
+
+ g_pMsgAreaLine2 =NULL;
+ if (NULL == g_pMsgAreaLine2)
+ g_pMsgAreaLine2 = kmalloc(1024*1, GFP_ATOMIC);
+ printk("[fts]g_pMsgAreaLine2 : %d\n", sizeof(g_pMsgAreaLine2));
+
+ g_pStoreDataArea =NULL;
+ if (NULL == g_pStoreDataArea)
+ g_pStoreDataArea = kmalloc(DATA_SIZE, GFP_ATOMIC);
+ printk("[fts]g_pStoreDataArea : %d\n", sizeof(g_pStoreDataArea));
+
+ g_pStoreAllData =NULL;
+ if (NULL == g_pStoreAllData)
+ g_pStoreAllData = kmalloc(ALLMSG_SIZE, GFP_ATOMIC);
+ g_pTmpBuff =NULL;
+ if (NULL == g_pTmpBuff)
+ g_pTmpBuff = kmalloc(1024*1, GFP_ATOMIC);
+ printk("[fts]g_pTmpBuff : %d\n", sizeof(g_pTmpBuff));
+
+ //dean add, for selftest log
+ g_pMsgforSelfTest =NULL;
+ g_pMsgforSelfTest = kmalloc(PROCESS_LOG_SIZE, GFP_ATOMIC);
+
+}
+/************************************************************************
+* Name: FreeMemory
+* Brief: Release pointer memory
+* Input: none
+* Output: none
+* Return: none
+***********************************************************************/
+static void FreeMemory(void)
+{
+ //Release buff
+ if (NULL == g_pStoreMsgArea)
+ kfree(g_pStoreMsgArea);
+
+ if (NULL == g_pMsgAreaLine2)
+ kfree(g_pMsgAreaLine2);
+
+ if (NULL == g_pStoreDataArea)
+ kfree(g_pStoreDataArea);
+
+ if (NULL == g_pStoreAllData)
+ kfree(g_pStoreAllData);
+
+ if (NULL == g_pTmpBuff)
+ kfree(g_pTmpBuff);
+
+//dean add, for selftest log
+ if (NULL == g_pMsgforSelfTest)
+ kfree(g_pMsgforSelfTest);
+}
+
+/************************************************************************
+* Name: InitStoreParamOfTestData
+* Brief: Init store param of test data
+* Input: none
+* Output: none
+* Return: none
+***********************************************************************/
+static void InitStoreParamOfTestData(void)
+{
+ g_lenStoreMsgArea = 0;
+ //Msg Area, Add Line1
+ g_lenStoreMsgArea += sprintf(g_pStoreMsgArea,"ECC, 85, 170, IC Name, %s, IC Code, %x\n", g_strIcName, g_ScreenSetParam.iSelectedIC);
+ //Line2
+ //g_pMsgAreaLine2 = NULL;
+ g_lenMsgAreaLine2 = 0;
+
+ //Data Area
+ //g_pStoreDataArea = NULL;
+ g_lenStoreDataArea = 0;
+ m_iStartLine = 11;//The Start Line of Data Area is 11
+
+ m_iTestDataCount = 0;
+
+//dean add, for selftest log
+ g_lenMsgforSelfTest = 0;
+}
+/************************************************************************
+* Name: MergeAllTestData
+* Brief: Merge All Data of test result
+* Input: none
+* Output: none
+* Return: none
+***********************************************************************/
+static void MergeAllTestData(void)
+{
+ int iLen = 0;
+
+ //Add the head part of Line2
+ iLen= sprintf(g_pTmpBuff,"TestItem, %d, ", m_iTestDataCount);
+ memcpy(g_pStoreMsgArea+g_lenStoreMsgArea, g_pTmpBuff, iLen);
+ g_lenStoreMsgArea+=iLen;
+
+ //Add other part of Line2, except for "\n"
+ memcpy(g_pStoreMsgArea+g_lenStoreMsgArea, g_pMsgAreaLine2, g_lenMsgAreaLine2);
+ g_lenStoreMsgArea+=g_lenMsgAreaLine2;
+
+ //Add Line3 ~ Line10
+ iLen= sprintf(g_pTmpBuff,"\n\n\n\n\n\n\n\n\n");
+ memcpy(g_pStoreMsgArea+g_lenStoreMsgArea, g_pTmpBuff, iLen);
+ g_lenStoreMsgArea+=iLen;
+
+ ///1.Add Msg Area
+ memcpy(g_pStoreAllData, g_pStoreMsgArea, g_lenStoreMsgArea);
+
+ ///2.Add Data Area
+ if (0!= g_lenStoreDataArea) {
+ memcpy(g_pStoreAllData+g_lenStoreMsgArea, g_pStoreDataArea, g_lenStoreDataArea);
+ }
+
+//dean add, for selftest log
+ memcpy(g_pStoreAllData+g_lenStoreMsgArea+g_lenStoreDataArea, g_pMsgforSelfTest, g_lenMsgforSelfTest);
+}
+
+
+/************************************************************************
+* Name: Save_Test_Data
+* Brief: Storage format of test data
+* Input: int iData[TX_NUM_MAX][RX_NUM_MAX], int iArrayIndex, unsigned char Row, unsigned char Col, unsigned char ItemCount
+* Output: none
+* Return: none
+***********************************************************************/
+static void Save_Test_Data(int iData[MAX_SCAP_CHANNEL_NUM], int iArrayIndex, unsigned char Row, unsigned char Col, unsigned char ItemCount)
+{
+ int iLen = 0;
+ int i = 0, j = 0;
+
+ //Save Msg (ItemCode is enough, ItemName is not necessary, so set it to "NA".)
+ iLen= sprintf(g_pTmpBuff,"NA, %d, %d, %d, %d, %d, ", \
+ m_ucTestItemCode, Row, Col, m_iStartLine, ItemCount);
+ memcpy(g_pMsgAreaLine2+g_lenMsgAreaLine2, g_pTmpBuff, iLen);
+ g_lenMsgAreaLine2 += iLen;
+
+ m_iStartLine += Row;
+ m_iTestDataCount++;
+
+ //Save Data
+ for (i = 0+iArrayIndex; i < Row+iArrayIndex; i++) {
+ for (j = 0; j < Col; j++) {
+ if (j == (Col -1))//The Last Data of the Row, add "\n"
+ iLen= sprintf(g_pTmpBuff,"%d, \n", iData[j]);
+ else
+ iLen= sprintf(g_pTmpBuff,"%d, ", iData[j]);
+
+ memcpy(g_pStoreDataArea+g_lenStoreDataArea, g_pTmpBuff, iLen);
+ g_lenStoreDataArea += iLen;
+ }
+ }
+
+}
+
+/************************************************************************
+* Name: GetChannelNum
+* Brief: Get Channel Num(Tx and Rx)
+* Input: none
+* Output: none
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+static unsigned char GetChannelNum(void)
+{
+ unsigned char ReCode;
+ unsigned char rBuffer[1]; //= new unsigned char;
+
+ //m_strCurrentTestMsg = "Get Tx Num...";
+ ReCode = GetPanelChannels(rBuffer);
+ if (ReCode == ERROR_CODE_OK) {
+ g_ScreenSetParam.iChannelsNum = rBuffer[0];
+ }
+ else {
+ printk("[fts]Failed to get channel number\n");
+ }
+
+ ///////////////m_strCurrentTestMsg = "Get Rx Num...";
+
+ ReCode = GetPanelKeys(rBuffer);
+ if (ReCode == ERROR_CODE_OK) {
+ g_ScreenSetParam.iKeyNum= rBuffer[0];
+ }
+ else {
+ printk("[fts]Failed to get Rx number\n");
+ }
+
+ return ReCode;
+
+}
+
+/************************************************************************
+* Name: GetRawData
+* Brief: get panel rawdata by read rawdata function
+* Input: none
+* Output: none
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+unsigned char GetRawData(void)
+{
+ //int LineNum=0;
+ //int i=0;
+ int readlen = 0;
+ unsigned char ReCode = ERROR_CODE_OK;
+
+ //--------------------------------------------Enter Factory Mode
+ ReCode = EnterFactory();
+ if ( ERROR_CODE_OK != ReCode ) {
+ printk("[fts]Failed to Enter Factory Mode...\n");
+ return ReCode;
+ }
+
+ //--------------------------------------------Check Num of Channel
+ if (0 == (g_ScreenSetParam.iChannelsNum + g_ScreenSetParam.iKeyNum)) {
+ ReCode = GetChannelNum();
+ if ( ERROR_CODE_OK != ReCode ) {
+ printk("[fts]Error Channel Num...\n");
+ return ERROR_CODE_INVALID_PARAM;
+ }
+ }
+
+ //--------------------------------------------Start Scanning
+ printk("[fts]Start Scan ...\n");
+ ReCode = StartScan();
+ if (ERROR_CODE_OK != ReCode) {
+ printk("[fts]Failed to Scan ...\n");
+ return ReCode;
+ }
+
+ memset(m_RawData, 0, sizeof(m_RawData));
+
+ //--------------------------------------------Read RawData
+ readlen = g_ScreenSetParam.iChannelsNum + g_ScreenSetParam.iKeyNum;
+ if (readlen <= 0 || readlen >= MAX_SCAP_CHANNEL_NUM) return ERROR_CODE_INVALID_PARAM;
+
+
+ ReCode =ReadRawData(3, 0, readlen * 2, m_RawData);
+ if (ReCode != ERROR_CODE_OK) {
+ printk("[fts]Failed to Read RawData...\n");
+ return ReCode;
+ }
+
+ return ReCode;
+
+}
+
+/************************************************************************
+* Name: ShowRawData
+* Brief: Show RawData
+* Input: none
+* Output: none
+* Return: none.
+***********************************************************************/
+static void ShowRawData(void)
+{
+ int iChannelsNum=0, iKeyNum=0;
+
+ //----------------------------------------------------------Show RawData
+ printk("[fts]Channels: ");
+ for (iChannelsNum = 0; iChannelsNum < g_ScreenSetParam.iChannelsNum; iChannelsNum++) {
+ printk("%5d ", m_RawData[iChannelsNum]);
+ }
+ printk("\n");
+ printk("[fts]Keys: ");
+ for (iKeyNum=0; iKeyNum < g_ScreenSetParam.iKeyNum; iKeyNum++) {
+ printk("%5d ", m_RawData[g_ScreenSetParam.iChannelsNum+iKeyNum]);
+ }
+
+ printk("\n");
+}
+
+/************************************************************************
+* Name: FT6X36_TestItem_RawDataTest
+* Brief: TestItem: RawDataTest. Check if SCAP RawData is within the range.
+* Input: none
+* Output: bTestResult, PASS or FAIL
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+unsigned char FT6X36_TestItem_RawDataTest(bool * bTestResult)
+{
+ int i = 0;
+ //bool bFlag = true;
+ unsigned char ReCode = ERROR_CODE_OK;
+ bool btmpresult = true;
+ int RawDataMin = 0, RawDataMax = 0;
+
+ int iNgNum = 0;
+ int iMax = 0, iMin = 0, iAvg = 0;
+
+ RawDataMin = g_stCfg_FT6X36_BasicThreshold.RawDataTest_Min;
+ RawDataMax = g_stCfg_FT6X36_BasicThreshold.RawDataTest_Max;
+
+ FTSPrintMsg("====================== Test Item : RawData Test\n");
+ FTSPrintMsg("TP Raw Data, Criteria Range=(%d ~ %d):\n", RawDataMin, RawDataMax);
+
+ for (i = 0; i < 3; i++) {
+ ReCode = WriteReg(C6206_FACTORY_TEST_MODE, Proof_Normal);
+ if (ERROR_CODE_OK == ReCode)
+ ReCode = StartScan();
+ if (ERROR_CODE_OK == ReCode)break;
+ }
+
+ ReCode = GetRawData();
+
+ if (ReCode == ERROR_CODE_OK) {
+ FTSPrintMsg("Get RawData OK\n");
+ ShowRawData();
+ }
+ else {
+ FTSPrintMsg("Get RawData Failed\n");
+ btmpresult = false;
+ goto TEST_END;
+ }
+
+ iNgNum = 0;
+ iMax = m_RawData[0];
+ iMin = m_RawData[0];
+ iAvg = 0;
+
+ for (i = 0; i < g_ScreenSetParam.iChannelsNum + g_ScreenSetParam.iKeyNum; i++) {
+ RawDataMin = g_stCfg_SCap_DetailThreshold.RawDataTest_Min[i];
+ RawDataMax = g_stCfg_SCap_DetailThreshold.RawDataTest_Max[i];
+ if (m_RawData[i] < RawDataMin || m_RawData[i] > RawDataMax) {
+ btmpresult = false;
+
+ if (i < g_ScreenSetParam.iChannelsNum) {
+ FTSPrintMsg("Ch_%02d: %d\n", i+1, m_RawData[i]);
+ } else {
+ FTSPrintMsg("Key_%d: %d\n", i+1 - g_ScreenSetParam.iChannelsNum, m_RawData[i]);
+ }
+
+ iNgNum++;
+ }
+
+ iAvg += m_RawData[i];
+ if (iMax < m_RawData[i])iMax = m_RawData[i];
+ if (iMin > m_RawData[i])iMin = m_RawData[i];
+ }
+
+ iAvg /= g_ScreenSetParam.iChannelsNum + g_ScreenSetParam.iKeyNum;
+ FTSPrintMsg("Max Raw Value: %d, Min Raw Value: %d, Deviation Value: %d, Average Value: %d\n", iMax, iMin, iMax - iMin, iAvg);
+
+ Save_Test_Data(m_RawData, 0, 1, g_ScreenSetParam.iChannelsNum + g_ScreenSetParam.iKeyNum, 1);
+
+TEST_END:
+ if (btmpresult) {
+ * bTestResult = true;
+ FTSPrintMsg("RawData Test is OK!\n");
+ }
+ else {
+ * bTestResult = false;
+ FTSPrintMsg("RawData Test is NG!\n");
+ }
+ return ReCode;
+}
+
+/************************************************************************
+* Name: FT6X36_TestItem_CbTest
+* Brief: TestItem: CB Test. Check if SCAP CB is within the range.
+* Input: none
+* Output: bTestResult, PASS or FAIL
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+unsigned char FT6X36_TestItem_CbTest(bool * bTestResult)
+{
+ int readlen = 0;
+
+ bool btmpresult = true;
+ int iCbMin = 0, iCbMax = 0;
+ unsigned char chOldMode = 0;
+
+ //unsigned char WaterProofResult=0;
+ unsigned char ReCode = ERROR_CODE_OK;
+ BYTE pReadData[300] = {0};
+ unsigned char I2C_wBuffer[1];
+
+ int iNgNum = 0;
+ int iMax = 0, iMin = 0, iAvg = 0;
+
+ int i = 0;
+
+ memset(m_CbData, 0, sizeof(m_CbData));
+ readlen = g_ScreenSetParam.iChannelsNum + g_ScreenSetParam.iKeyNum;
+ iCbMin = g_stCfg_SCap_DetailThreshold.CbTest_Min[0];
+ iCbMax = g_stCfg_SCap_DetailThreshold.CbTest_Max[0];
+
+ FTSPrintMsg("====================== Test Item : CB Test\n");
+ FTSPrintMsg("TP CB Data, Criteria Range=(%d ~ %d):\n", iCbMin, iCbMax);
+ ReCode = ReadReg( C6206_FACTORY_TEST_MODE, &chOldMode );
+
+ for (i = 0; i < 3; i++) {
+ ReCode = WriteReg(C6206_FACTORY_TEST_MODE, Proof_NoWaterProof);
+ if (ERROR_CODE_OK == ReCode)
+ ReCode = StartScan();
+ if (ERROR_CODE_OK == ReCode)break;
+ }
+
+ if ((ERROR_CODE_OK != ReCode)/* || (1 != WaterProofResult)*/) {
+ btmpresult = false;
+ FTSPrintMsg("Get CB Data Fail\n");
+ }
+ else {
+ FTSPrintMsg("Get Proof_NoWaterProof CB Data OK\n");
+
+ I2C_wBuffer[0] = 0x39;
+ ReCode = WriteReg( 0x33, 0 );
+ ReCode = Comm_Base_IIC_IO(I2C_wBuffer, 1, pReadData, readlen * 2 );
+
+ for (i=0; i < readlen; i++) {
+ m_TempCbData[i] = (unsigned short)(pReadData[i*2] << 8 | pReadData[i*2+1]);
+ if (i== 0) { //Half
+ printk("[fts]======= CB Data: \n");
+ printk("[fts]Left Channel: ");
+ }
+ else if ( i * 2 == g_ScreenSetParam.iChannelsNum) {
+ printk("\n[fts]Right Channel: ");
+ }
+ else if ( i == g_ScreenSetParam.iChannelsNum) {
+ printk("[fts]Key: ");
+ }
+ printk("%3d ", m_TempCbData[i]);
+
+ }
+ }
+ printk("\r\n");
+
+ ////////////////////////////³æºÝ¨¾¤ô
+ //Get Proof_Level0 CB printk("[fts]Proof_Level0 CB Test...\r\n");
+ for (i = 0; i < 3; i++) {
+ ReCode = WriteReg(C6206_FACTORY_TEST_MODE, Proof_Level0);
+ if (ERROR_CODE_OK == ReCode)
+ ReCode = StartScan();
+ if (ERROR_CODE_OK == ReCode)break;
+ }
+ if ((ERROR_CODE_OK != ReCode)/* || (1 != WaterProofResult)*/) {
+ btmpresult = false;
+ FTSPrintMsg("Get Proof_Level0 CB Test Failed!\n");
+ }
+ else {
+ FTSPrintMsg("Get Proof_Level0 CB Test OK!\n");
+
+ //BYTE pReadData[300] = {0};
+ //unsigned char I2C_wBuffer[1];
+
+ I2C_wBuffer[0] = 0x39;
+ ReCode = WriteReg( 0x33, 0 );
+ ReCode = Comm_Base_IIC_IO(I2C_wBuffer, 1, pReadData, readlen * 2 );
+
+ for (i=0; i < readlen; i++) {
+ m_CbData[i] = (unsigned short)(pReadData[i*2] << 8 | pReadData[i*2+1]);
+ }
+
+ ReCode = WriteReg( C6206_FACTORY_TEST_MODE, chOldMode );
+
+ //----------------------------------------------------------
+ iNgNum = 0;
+ iMax = m_TempCbData[0];
+ iMin = m_TempCbData[0];
+ iAvg = 0;
+
+ for (i = 0; i < g_ScreenSetParam.iChannelsNum + g_ScreenSetParam.iKeyNum; i++) {
+
+ iCbMin = g_stCfg_SCap_DetailThreshold.CbTest_Min[i];
+ iCbMax = g_stCfg_SCap_DetailThreshold.CbTest_Max[i];
+
+ if (m_TempCbData[i] < iCbMin || m_TempCbData[i] > iCbMax) {
+ btmpresult = false;
+ if (i < g_ScreenSetParam.iChannelsNum) {
+ FTSPrintMsg("Ch_%02d: %d\n", i+1, m_TempCbData[i]);
+ } else {
+ FTSPrintMsg("Key_%d: %d\n", i+1 - g_ScreenSetParam.iChannelsNum, m_TempCbData[i]);
+ }
+
+ iNgNum++;
+ }
+
+ iAvg += m_TempCbData[i];
+ if (iMax < m_TempCbData[i])iMax = m_TempCbData[i];
+ if (iMin > m_TempCbData[i])iMin = m_TempCbData[i];
+ }
+
+ iAvg /= g_ScreenSetParam.iChannelsNum + g_ScreenSetParam.iKeyNum;
+ FTSPrintMsg("Max CB Value: %d, Min CB Value: %d, Deviation Value: %d, Average Value: %d\n", iMax, iMin, iMax - iMin, iAvg);
+ if (btmpresult) {
+ FTSPrintMsg("CB Test is OK!\n");
+ * bTestResult = 1;
+ }
+ else {
+ FTSPrintMsg("CB Test is NG!\n");
+ * bTestResult = 0;
+ }
+ }
+
+ Save_Test_Data(m_TempCbData, 0, 1, g_ScreenSetParam.iChannelsNum + g_ScreenSetParam.iKeyNum, 1);
+
+ //GetCiDataMsg();
+ //Save_Test_Data(m_CbData, 0, 1, g_ScreenSetParam.iChannelsNum + g_ScreenSetParam.iKeyNum, 2);
+
+ return ReCode;
+
+}
+
+/************************************************************************
+* Name: FT6X36_TestItem_DeltaCbTest
+* Brief: TestItem: Delta CB Test. Check if SCAP Delta CB is within the range.
+* Input: none
+* Output: bTestResult, PASS or FAIL
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+unsigned char FT6X36_TestItem_DeltaCbTest(unsigned char * bTestResult)
+{
+ bool btmpresult = true;
+ int readlen = g_ScreenSetParam.iChannelsNum + g_ScreenSetParam.iKeyNum;
+ int i=0;
+
+ ////////////³Ì¤jDelta_Ci©M³Ì¤pDelta_Ci®tȤp©ó¹w³]È
+ int Delta_Ci_Differ = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S1;
+ int Delta_Ci_Differ_S2 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S2;
+ int Delta_Ci_Differ_S3 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S3;
+ int Delta_Ci_Differ_S4 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S4;
+ int Delta_Ci_Differ_S5 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S5;
+ int Delta_Ci_Differ_S6 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S6;
+
+ int Delta_Min = 0, Delta_Max = 0;
+
+ int Critical_Delta_S1 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S1;
+ int Critical_Delta_S2 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S2;
+ int Critical_Delta_S3 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S3;
+ int Critical_Delta_S4 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S4;
+ int Critical_Delta_S5 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S5;
+ int Critical_Delta_S6 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S6;
+
+ bool bUseCriticalValue = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Set_Critical;
+
+ bool bCriticalResult = false;
+
+
+ /////////////////////////////new test
+ int Sort1Min, Sort2Min, Sort3Min, Sort4Min, Sort5Min, Sort6Min;
+ int Sort1Max, Sort2Max, Sort3Max, Sort4Max, Sort5Max, Sort6Max;
+ int Sort1Min_ChNum, Sort2Min_ChNum, Sort3Min_ChNum,Sort4Min_ChNum,Sort5Min_ChNum,Sort6Min_ChNum;
+ int Sort1Max_ChNum, Sort2Max_ChNum, Sort3Max_ChNum,Sort4Max_ChNum,Sort5Max_ChNum,Sort6Max_ChNum;
+ bool bUseSort1 = false;
+ bool bUseSort2 = false;
+ bool bUseSort3 = false;
+ bool bUseSort4 = false;
+ bool bUseSort5 = false;
+ bool bUseSort6 = false;
+
+ int Num = 0;
+
+ int Key_Delta_Max = 0;
+ int SetKeyMax = 0;
+ int set_Delta_Cb_Max = 0;
+
+ FTSPrintMsg("====================== Test Item : Delta CB Test\n");
+
+ for (i=0; i < readlen; i++) {
+ m_DeltaCbData[i] = m_TempCbData[i] - m_CbData[i];
+ if (i== 0) { //Half
+ printk("[fts]======= Delta CB Data: \n");
+ printk("[fts]Left Channel: ");
+ }
+ else if ( i * 2 == g_ScreenSetParam.iChannelsNum) {
+ printk("\n[fts]Right Channel: ");
+ }
+ else if ( i == g_ScreenSetParam.iChannelsNum) {
+ printk("[fts]Key: ");
+ }
+ printk("%3d ", m_DeltaCbData[i]);
+
+ }
+ printk("\n");
+
+ /////////////////////////Delta CB Differ
+ for (i=0; i < readlen; i++) {
+ m_DeltaCb_DifferData[i] = m_DeltaCbData[i] - g_stCfg_SCap_DetailThreshold.DeltaCbTest_Base[i];
+
+ if (i== 0) { //Half
+ printk("[fts]======= Differ Data of Delta CB: \n");
+ printk("[fts]Left Channel: ");
+ }
+ else if ( i * 2 == g_ScreenSetParam.iChannelsNum) {
+ printk("\n[fts]Right Channel: ");
+ }
+ else if ( i == g_ScreenSetParam.iChannelsNum) {
+ printk("[fts]Key: ");
+ }
+ printk("%3d ", m_DeltaCb_DifferData[i]);
+ }
+ printk("\n");
+
+ ////////////³Ì¤jDelta_Ci©M³Ì¤pDelta_Ci®tȤp©ó¹w³]È
+ Delta_Ci_Differ = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S1;
+ Delta_Ci_Differ_S2 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S2;
+ Delta_Ci_Differ_S3 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S3;
+ Delta_Ci_Differ_S4 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S4;
+ Delta_Ci_Differ_S5 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S5;
+ Delta_Ci_Differ_S6 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S6;
+
+ Delta_Min = 0;
+ Delta_Max = 0;
+
+ Critical_Delta_S1 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S1;
+ Critical_Delta_S2 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S2;
+ Critical_Delta_S3 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S3;
+ Critical_Delta_S4 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S4;
+ Critical_Delta_S5 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S5;
+ Critical_Delta_S6 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S6;
+
+ bUseCriticalValue = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Set_Critical;
+
+ bCriticalResult = false;
+
+
+ /////////////////////////////new test
+ bUseSort1 = false;
+ bUseSort2 = false;
+ bUseSort3 = false;
+ bUseSort4 = false;
+ bUseSort5 = false;
+ bUseSort6 = false;
+
+ Num = 0;
+
+ Sort1Min_ChNum = Sort2Min_ChNum = Sort3Min_ChNum = Sort4Min_ChNum = Sort5Min_ChNum = Sort6Min_ChNum = 0;
+ Sort1Max_ChNum = Sort2Max_ChNum = Sort3Max_ChNum = Sort4Max_ChNum = Sort5Max_ChNum = Sort6Max_ChNum = 0;
+
+ Sort1Min = Sort2Min = Sort3Min = Sort4Min = Sort5Min = Sort6Min = 1000;
+ Sort1Max = Sort2Max = Sort3Max = Sort4Max = Sort5Max = Sort6Max = -1000;
+
+ for (i=0; i < g_ScreenSetParam.iChannelsNum/*readlen*/; i++) {
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 1) {
+ bUseSort1 = true;
+ if (m_DeltaCb_DifferData[i] < Sort1Min) {
+ Sort1Min = m_DeltaCb_DifferData[i];
+ Sort1Min_ChNum = i;
+ }
+ if (m_DeltaCb_DifferData[i] > Sort1Max) {
+ Sort1Max = m_DeltaCb_DifferData[i];
+ Sort1Max_ChNum = i;
+ }
+ }
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 2) {
+ bUseSort2 = true;
+ if (m_DeltaCb_DifferData[i] < Sort2Min) {
+ Sort2Min = m_DeltaCb_DifferData[i];
+ Sort2Min_ChNum = i;
+ }
+ if (m_DeltaCb_DifferData[i] > Sort2Max) {
+ Sort2Max = m_DeltaCb_DifferData[i];
+ Sort2Max_ChNum = i;
+ }
+ }
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 3) {
+ bUseSort3 = true;
+ if (m_DeltaCb_DifferData[i] < Sort3Min) {
+ Sort3Min = m_DeltaCb_DifferData[i];
+ Sort3Min_ChNum = i;
+ }
+ if (m_DeltaCb_DifferData[i] > Sort3Max) {
+ Sort3Max = m_DeltaCb_DifferData[i];
+ Sort3Max_ChNum = i;
+ }
+ }
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 4) {
+ bUseSort4 = true;
+ if (m_DeltaCb_DifferData[i] < Sort4Min) {
+ Sort4Min = m_DeltaCb_DifferData[i];
+ Sort4Min_ChNum = i;
+ }
+ if (m_DeltaCb_DifferData[i] > Sort4Max) {
+ Sort4Max = m_DeltaCb_DifferData[i];
+ Sort4Max_ChNum = i;
+ }
+ }
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 5) {
+ bUseSort5 = true;
+ if (m_DeltaCb_DifferData[i] < Sort5Min) {
+ Sort5Min = m_DeltaCb_DifferData[i];
+ Sort5Min_ChNum = i;
+ }
+ if (m_DeltaCb_DifferData[i] > Sort5Max) {
+ Sort5Max = m_DeltaCb_DifferData[i];
+ Sort5Max_ChNum = i;
+ }
+ }
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 6) {
+ bUseSort6 = true;
+ if (m_DeltaCb_DifferData[i] < Sort6Min) {
+ Sort6Min = m_DeltaCb_DifferData[i];
+ Sort6Min_ChNum = i;
+ }
+ if (m_DeltaCb_DifferData[i] > Sort6Max) {
+ Sort6Max = m_DeltaCb_DifferData[i];
+ Sort6Max_ChNum = i;
+ }
+ }
+
+
+ }
+ if (bUseSort1) {
+ if (Delta_Ci_Differ <= Sort1Max - Sort1Min) {
+ if (bUseCriticalValue) {
+ if (Sort1Max - Sort1Min >= Critical_Delta_S1) {
+ btmpresult = false;
+ }
+ else {
+ if (focal_abs(Sort1Max) > focal_abs(Sort1Min))
+ Num = Sort1Max_ChNum;
+ else
+ Num = Sort1Min_ChNum;
+ //SetCriticalMsg(Num);
+
+ bCriticalResult = true;
+ }
+ FTSPrintMsg("Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Deviation: %d, Critical Deviation of Sort1(Cirteria): %d\n",
+ Sort1Max, Sort1Min, Sort1Max - Sort1Min, Critical_Delta_S1);
+ }
+ else {
+ btmpresult = false;
+ FTSPrintMsg("Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Deviation: %d, Deviation of Sort1(Cirteria): %d\n",
+ Sort1Max, Sort1Min, Sort1Max - Sort1Min, Delta_Ci_Differ);
+ }
+ }
+ else {
+ FTSPrintMsg("Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Deviation: %d, Deviation of Sort1(Criteria): %d\n",
+ Sort1Max, Sort1Min, Sort1Max - Sort1Min, Delta_Ci_Differ);
+ }
+ }
+ if (bUseSort2) {
+
+ if (Delta_Ci_Differ_S2 <= Sort2Max - Sort2Min) {
+ if (bUseCriticalValue) {
+ if (Sort2Max - Sort2Min >= Critical_Delta_S2) {
+ btmpresult = false;
+ }
+ else {
+ if (focal_abs(Sort2Max) > focal_abs(Sort2Min))
+ Num = Sort2Max_ChNum;
+ else
+ Num = Sort2Min_ChNum;
+ //SetCriticalMsg(Num);
+ bCriticalResult = true;
+ }
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Critical Deviation of Sort2: %d",
+ Sort2Max, Sort2Min, Sort2Max - Sort2Min, Critical_Delta_S2);
+ }
+ else {
+ btmpresult = false;
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Deviation of Sort2: %d",
+ Sort2Max, Sort2Min, Sort2Max - Sort2Min, Delta_Ci_Differ_S2);
+ }
+ }
+ else {
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Deviation of Sort2: %d",
+ Sort2Max, Sort2Min, Sort2Max - Sort2Min, Delta_Ci_Differ_S2);
+ }
+
+ printk("\n[fts]Sort2: %d, ", Sort2Max - Sort2Min);
+ }
+ if (bUseSort3) {
+
+ if (Delta_Ci_Differ_S3 <= Sort3Max - Sort3Min) {
+ if (bUseCriticalValue) {
+ if (Sort3Max - Sort3Min >= Critical_Delta_S3) {
+ btmpresult = false;
+ }
+ else {
+ if (focal_abs(Sort3Max) > focal_abs(Sort3Min))
+ Num = Sort3Max_ChNum;
+ else
+ Num = Sort3Min_ChNum;
+ //SetCriticalMsg(Num);
+ bCriticalResult = true;
+ }
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Critical Deviation of Sort3: %d",
+ Sort3Max, Sort3Min, Sort3Max - Sort3Min, Critical_Delta_S3);
+ }
+ else {
+ btmpresult = false;
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Deviation of Sort3: %d",
+ Sort3Max, Sort3Min, Sort3Max - Sort3Min, Delta_Ci_Differ_S3);
+
+ }
+ }
+ else {
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Deviation of Sort3: %d",
+ Sort3Max, Sort3Min, Sort3Max - Sort3Min, Delta_Ci_Differ_S3);
+
+ }
+ printk("\n[fts]Sort3: %d, ", Sort3Max - Sort3Min);
+ }
+ if (bUseSort4) {
+ if (Delta_Ci_Differ_S4 <= Sort4Max - Sort4Min) {
+ if (bUseCriticalValue) {
+ if (Sort4Max - Sort4Min >= Critical_Delta_S4) {
+ btmpresult = false;
+ }
+ else {
+ if (focal_abs(Sort4Max) > focal_abs(Sort4Min))
+ Num = Sort4Max_ChNum;
+ else
+ Num = Sort4Min_ChNum;
+ //SetCriticalMsg(Num);
+ bCriticalResult = true;
+ }
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Critical Deviation of Sort4: %d",
+ Sort4Max, Sort4Min, Sort4Max - Sort4Min, Critical_Delta_S4);
+
+ }
+ else {
+ btmpresult = false;
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Deviation of Sort4: %d",
+ Sort4Max, Sort4Min, Sort4Max - Sort4Min, Delta_Ci_Differ_S4);
+
+ }
+ }
+ else {
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Deviation of Sort4: %d",
+ Sort4Max, Sort4Min, Sort4Max - Sort4Min, Delta_Ci_Differ_S4);
+
+ }
+ printk("\n[fts]Sort4: %d, ", Sort4Max - Sort4Min);
+ }
+ if (bUseSort5) {
+ if (Delta_Ci_Differ_S5 <= Sort5Max - Sort5Min) {
+ if (bUseCriticalValue) {
+ if (Sort5Max - Sort5Min >= Critical_Delta_S5) {
+ btmpresult = false;
+ }
+ else {
+ if (focal_abs(Sort5Max) > focal_abs(Sort5Min))
+ Num = Sort5Max_ChNum;
+ else
+ Num = Sort5Min_ChNum;
+ //SetCriticalMsg(Num);
+ bCriticalResult = true;
+ }
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Critical Deviation of Sort5: %d",
+ Sort5Max, Sort5Min, Sort5Max - Sort5Min, Critical_Delta_S5);
+
+ }
+ else {
+ btmpresult = false;
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Deviation of Sort5: %d",
+ Sort5Max, Sort5Min, Sort5Max - Sort5Min, Delta_Ci_Differ_S5);
+
+ }
+ }
+ else {
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Deviation of Sort5: %d",
+ Sort5Max, Sort5Min, Sort5Max - Sort5Min, Delta_Ci_Differ_S5);
+
+ }
+ printk("\n[fts]Sort5: %d, ", Sort5Max - Sort5Min);
+ }
+ if (bUseSort6) {
+ if (Delta_Ci_Differ_S6 <= Sort6Max - Sort6Min) {
+ if (bUseCriticalValue) {
+ if (Sort6Max - Sort6Min >= Critical_Delta_S6) {
+ btmpresult = false;
+ }
+ else {
+ if (focal_abs(Sort6Max) > focal_abs(Sort6Min))
+ Num = Sort6Max_ChNum;
+ else
+ Num = Sort6Min_ChNum;
+ //SetCriticalMsg(Num);
+ bCriticalResult = true;
+ }
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Critical Deviation of Sort6: %d",
+ Sort6Max, Sort6Min, Sort6Max - Sort6Min, Critical_Delta_S6);
+ }
+ else {
+ btmpresult = false;
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Deviation of Sort6: %d",
+ Sort6Max, Sort6Min, Sort6Max - Sort6Min, Delta_Ci_Differ_S6);
+
+ }
+ }
+ else {
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Deviation of Sort6: %d",
+ Sort6Max, Sort6Min, Sort6Max - Sort6Min, Delta_Ci_Differ_S6);
+
+ }
+ printk("\n[fts]Sort6: %d, ", Sort6Max - Sort6Min);
+ }
+
+ /////////////////////³Ì¤jDelta_Ci¤£¯à¶W¹L¹w³]È
+
+ Delta_Min = Delta_Max = focal_abs(m_DeltaCb_DifferData[0]);
+ for (i=1; i < g_ScreenSetParam.iChannelsNum/*readlen*/; i++) {
+ if (focal_abs(m_DeltaCb_DifferData[i]) < Delta_Min) {
+ Delta_Min = focal_abs(m_DeltaCb_DifferData[i]);
+ }
+ if (focal_abs(m_DeltaCb_DifferData[i]) > Delta_Max) {
+ Delta_Max = focal_abs(m_DeltaCb_DifferData[i]);
+ }
+ }
+
+ set_Delta_Cb_Max = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Differ_Max;
+ if (set_Delta_Cb_Max < focal_abs(Delta_Max)) {
+ btmpresult = false;
+ }
+ FTSPrintMsg("Condition2: Get Max Differ Data of Delta_CB(abs): %d, Max Differ Data of Delta_CB(abs)(Criteria): %d\n",
+ Delta_Max, set_Delta_Cb_Max);
+
+ if (g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Include_Key_Test) {
+
+ SetKeyMax = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Key_Differ_Max;
+
+ Key_Delta_Max = focal_abs(m_DeltaCb_DifferData[g_ScreenSetParam.iChannelsNum]);
+ for (i = g_ScreenSetParam.iChannelsNum; i < g_ScreenSetParam.iChannelsNum + g_ScreenSetParam.iKeyNum; i++) {
+ if (focal_abs(m_DeltaCb_DifferData[i]) > Key_Delta_Max) {
+ Key_Delta_Max = focal_abs(m_DeltaCb_DifferData[i]);
+ }
+ }
+ if (SetKeyMax <= Key_Delta_Max ) {
+ btmpresult = false;
+ }
+ printk("[fts] Condition3: Include Key Test, Get Max Key Data: %d, Set Max Key Data: %d", Key_Delta_Max, SetKeyMax);
+ }
+
+ if (bCriticalResult && btmpresult) {
+ printk("\n[fts]Delta CB Test has Critical Result(TBD)!");
+ }
+ ///////////////////////////////////////////////////////Delta Ci End
+ if (btmpresult) {
+ FTSPrintMsg("Delta CB Test is OK!\n");
+ if (bCriticalResult)
+ * bTestResult = 2;
+ else
+ * bTestResult = 1;
+ }
+ else {
+ FTSPrintMsg("Delta CB Test is NG!\n");
+ * bTestResult = 0;
+ }
+
+ Save_Test_Data(m_DeltaCbData, 0, 1, g_ScreenSetParam.iChannelsNum+g_ScreenSetParam.iKeyNum, 1);
+ Save_Test_Data(m_DeltaCb_DifferData, 0, 1, g_ScreenSetParam.iChannelsNum+g_ScreenSetParam.iKeyNum, 2);
+ return 0;
+}
+
+/************************************************************************
+* Name: FT6X36_TestItem_ChannelsDeviationTest
+* Brief: TestItem: Channels Deviation Test. Check if Channels Deviation is within the range.
+* Input: none
+* Output: bTestResult, PASS or FAIL
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+unsigned char FT6X36_TestItem_ChannelsDeviationTest(unsigned char * bTestResult)
+{
+ //////////////////////////////////////////////////////Channels Deviation Start
+
+ bool btmpresult = true;//Init
+ int i=0;
+
+ int DeviationMax_S1 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S1;
+ int DeviationMax_S2 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S2;
+ int DeviationMax_S3 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S3;
+ int DeviationMax_S4 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S4;
+ int DeviationMax_S5 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S5;
+ int DeviationMax_S6 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S6;
+
+ int Delta_Min = 0, Delta_Max = 0;
+
+ int Critical_Channel_S1 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S1;
+ int Critical_Channel_S2 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S2;
+ int Critical_Channel_S3 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S3;
+ int Critical_Channel_S4 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S4;
+ int Critical_Channel_S5 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S5;
+ int Critical_Channel_S6 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S6;
+
+ bool bUseCriticalValue = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Set_Critical;
+
+ bool bCriticalResult = false;
+
+ /////////////////////////////new test
+ int Sort1LastNum = 0xFFFF, Sort2LastNum = 0xFFFF, Sort3LastNum = 0xFFFF, Sort4LastNum = 0xFFFF, Sort5LastNum = 0xFFFF, Sort6LastNum = 0xFFFF;
+ int GetDeviation;
+ bool bFirstUseSort1 = true;
+ bool bFirstUseSort2 = true;
+ bool bFirstUseSort3 = true;
+ bool bFirstUseSort4 = true;
+ bool bFirstUseSort5 = true;
+ bool bFirstUseSort6 = true;
+
+ int MaxDev_AllS1= 0, MaxDev_AllS2= 0, MaxDev_AllS3= 0, MaxDev_AllS4= 0, MaxDev_AllS5= 0, MaxDev_AllS6= 0;
+
+ printk("\r\n\r\n==============================Test Item: -------- Channels Deviation Test ");
+
+ for (i=0; i < g_ScreenSetParam.iChannelsNum; i++) {
+ m_DeltaCb_DifferData[i] = m_DeltaCbData[i] - g_stCfg_SCap_DetailThreshold.DeltaCbTest_Base[i];
+ if (i== 0) { //Half
+ printk("\r\n\r\n//======= Differ Data of Delta CB: ");
+ printk("\r\nLeft Channel: ");
+ }
+ else if ( i * 2 == g_ScreenSetParam.iChannelsNum) {
+ printk("\r\nRight Channel: ");
+ }
+ else if ( i == g_ScreenSetParam.iChannelsNum) {
+ printk("\r\nKey: ");
+ }
+ printk("%3d ", m_DeltaCb_DifferData[i]);
+ }
+
+ printk("\r\n");
+
+ DeviationMax_S1 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S1;
+ DeviationMax_S2 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S2;
+ DeviationMax_S3 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S3;
+ DeviationMax_S4 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S4;
+ DeviationMax_S5 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S5;
+ DeviationMax_S6 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S6;
+
+ Delta_Min = 0;
+ Delta_Max = 0;
+
+ Critical_Channel_S1 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S1;
+ Critical_Channel_S2 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S2;
+ Critical_Channel_S3 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S3;
+ Critical_Channel_S4 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S4;
+ Critical_Channel_S5 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S5;
+ Critical_Channel_S6 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S6;
+
+ bUseCriticalValue = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Set_Critical;
+
+ bCriticalResult = false;
+
+ /////////////////////////////new test
+ Sort1LastNum = 0xFFFF;
+ Sort2LastNum = 0xFFFF;
+ Sort3LastNum = 0xFFFF;
+ Sort4LastNum = 0xFFFF;
+ Sort5LastNum = 0xFFFF;
+ Sort6LastNum = 0xFFFF;
+ GetDeviation = 0;
+ bFirstUseSort1 = true;
+ bFirstUseSort2 = true;
+ bFirstUseSort3 = true;
+ bFirstUseSort4 = true;
+ bFirstUseSort5 = true;
+ bFirstUseSort6 = true;
+
+ MaxDev_AllS1= 0;
+ MaxDev_AllS2= 0;
+ MaxDev_AllS3= 0;
+ MaxDev_AllS4= 0;
+ MaxDev_AllS5= 0;
+ MaxDev_AllS6= 0;
+
+ for (i=0; i < g_ScreenSetParam.iChannelsNum/*readlen*/; i++) {
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 1) {
+ if (bFirstUseSort1) {
+ bFirstUseSort1 = false;
+ }
+ else {
+ if (Sort1LastNum + 1 == i) {
+ if ( Sort1LastNum <= g_ScreenSetParam.iChannelsNum/2 - 1 && i >= g_ScreenSetParam.iChannelsNum/2 ) {
+ Sort1LastNum = i;
+ continue;
+ }
+ else if ( Sort1LastNum <= g_ScreenSetParam.iChannelsNum/4 - 1 && i >= g_ScreenSetParam.iChannelsNum/4 ) {
+ Sort1LastNum = i;
+ continue;
+ }
+ else if ( Sort1LastNum <= g_ScreenSetParam.iChannelsNum * 3/4 - 1 && i >= g_ScreenSetParam.iChannelsNum * 3/4 ) {
+ Sort1LastNum = i;
+ continue;
+ }
+ else {
+ GetDeviation = focal_abs(m_DeltaCb_DifferData[i] - m_DeltaCb_DifferData[Sort1LastNum]);
+ if (GetDeviation >= DeviationMax_S1) {
+ if (bUseCriticalValue) {
+ if (GetDeviation >= Critical_Channel_S1) {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Critical Deviation 0f Sort1: %d",
+ i-1 + 1, m_DeltaCb_DifferData[i-1], i + 1, m_DeltaCb_DifferData[i], GetDeviation, Critical_Channel_S1);
+
+ }
+ else {
+ //SetCriticalMsg(i);
+ bCriticalResult = true;
+ }
+ }
+ else {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Deviation 0f Sort1: %d",
+ i-1 + 1, m_DeltaCb_DifferData[i-1], i + 1, m_DeltaCb_DifferData[i], GetDeviation, DeviationMax_S1);
+
+ }
+ }
+ if (MaxDev_AllS1 < GetDeviation)
+ MaxDev_AllS1 = GetDeviation;
+ }
+ }
+
+ }
+ Sort1LastNum = i;
+ }
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 2) {
+ if (bFirstUseSort2) {
+ bFirstUseSort2 = false;
+ }
+ else {
+ if (Sort2LastNum + 1 == i) { //¬Û¾F³q¹D
+ if ( Sort2LastNum <= g_ScreenSetParam.iChannelsNum/2 - 1 && i >= g_ScreenSetParam.iChannelsNum/2 ) {
+ Sort2LastNum = i;
+ continue;
+ }
+ else if ( Sort2LastNum <= g_ScreenSetParam.iChannelsNum/4 - 1 && i >= g_ScreenSetParam.iChannelsNum/4 ) {
+ Sort2LastNum = i;
+ continue;
+ }
+ else if ( Sort2LastNum <= g_ScreenSetParam.iChannelsNum * 3/4 - 1 && i >= g_ScreenSetParam.iChannelsNum * 3/4 ) {
+ Sort2LastNum = i;
+ continue;
+ }
+ GetDeviation = focal_abs(m_DeltaCb_DifferData[i] - m_DeltaCb_DifferData[Sort2LastNum]);
+ if (GetDeviation >= DeviationMax_S2) {
+ if (bUseCriticalValue) {
+ if (GetDeviation >= Critical_Channel_S2) {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Critical Deviation 0f Sort2: %d",
+ i-1 + 1, m_DeltaCb_DifferData[i-1], i + 1, m_DeltaCb_DifferData[i], GetDeviation, Critical_Channel_S2);
+
+ }
+ else {
+ //SetCriticalMsg(i);
+ bCriticalResult = true;
+ }
+ }
+ else {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Deviation of Sort2: %d",
+ i-1 + 1, m_DeltaCb_DifferData[i-1], i + 1, m_DeltaCb_DifferData[i], GetDeviation, DeviationMax_S2);
+
+ }
+ }
+ if (MaxDev_AllS2 < GetDeviation)
+ MaxDev_AllS2 = GetDeviation;
+ }
+
+ }
+ Sort2LastNum = i;
+ }
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 3) {
+ if (bFirstUseSort3) {
+ bFirstUseSort3 = false;
+ }
+ else {
+ if (Sort3LastNum + 1 == i) { //¬Û¾F³q¹D
+ if ( Sort3LastNum <= g_ScreenSetParam.iChannelsNum/2 - 1 && i >= g_ScreenSetParam.iChannelsNum/2 ) {
+ Sort3LastNum = i;
+ continue;
+ }
+ else if ( Sort3LastNum <= g_ScreenSetParam.iChannelsNum/4 - 1 && i >= g_ScreenSetParam.iChannelsNum/4 ) {
+ Sort3LastNum = i;
+ continue;
+ }
+ else if ( Sort3LastNum <= g_ScreenSetParam.iChannelsNum * 3/4 - 1 && i >= g_ScreenSetParam.iChannelsNum * 3/4 ) {
+ Sort3LastNum = i;
+ continue;
+ }
+ GetDeviation = focal_abs(m_DeltaCb_DifferData[i] - m_DeltaCb_DifferData[Sort3LastNum]);
+ if (GetDeviation >= DeviationMax_S3) {
+ if (bUseCriticalValue) {
+ if (GetDeviation >= Critical_Channel_S3) {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Critical Deviation 0f Sort3: %d",
+ i-1 + 1, m_DeltaCb_DifferData[i-1], i + 1, m_DeltaCb_DifferData[i], GetDeviation, Critical_Channel_S3);
+
+ }
+ else {
+ //SetCriticalMsg(i);
+ bCriticalResult = true;
+ }
+ }
+ else {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Deviation of Sort3: %d",
+ i-1 + 1, m_DeltaCb_DifferData[i-1], i + 1, m_DeltaCb_DifferData[i], GetDeviation, DeviationMax_S3);
+
+ }
+ }
+ if (MaxDev_AllS3 < GetDeviation)
+ MaxDev_AllS3 = GetDeviation;
+ }
+ }
+ Sort3LastNum = i;
+ }
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 4) {
+ if (bFirstUseSort4) {
+ bFirstUseSort4 = false;
+ }
+ else {
+ if (Sort4LastNum + 1 == i) {
+ if ( Sort4LastNum <= g_ScreenSetParam.iChannelsNum/2 - 1 && i >= g_ScreenSetParam.iChannelsNum/2 ) {
+ Sort4LastNum = i;
+ continue;
+ }
+ else if ( Sort4LastNum <= g_ScreenSetParam.iChannelsNum/4 - 1 && i >= g_ScreenSetParam.iChannelsNum/4 ) {
+ Sort4LastNum = i;
+ continue;
+ }
+ else if ( Sort4LastNum <= g_ScreenSetParam.iChannelsNum * 3/4 - 1 && i >= g_ScreenSetParam.iChannelsNum * 3/4 ) {
+ Sort4LastNum = i;
+ continue;
+ }
+ GetDeviation = focal_abs(m_DeltaCb_DifferData[i] - m_DeltaCb_DifferData[Sort4LastNum]);
+ if (GetDeviation >= DeviationMax_S4) {
+ if (bUseCriticalValue) {
+ if (GetDeviation >= Critical_Channel_S4) {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Critical Deviation 0f Sort4: %d",
+ i-1 + 1, m_DeltaCb_DifferData[i-1], i + 1, m_DeltaCb_DifferData[i], GetDeviation, Critical_Channel_S4);
+
+ }
+ else {
+ //SetCriticalMsg(i);
+ bCriticalResult = true;
+ }
+ }
+ else {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Deviation of Sort4: %d",
+ i-1 + 1, m_DeltaCb_DifferData[i-1], i + 1, m_DeltaCb_DifferData[i], GetDeviation, DeviationMax_S4);
+
+ }
+ }
+ if (MaxDev_AllS4 < GetDeviation)
+ MaxDev_AllS4 = GetDeviation;
+ }
+ }
+ Sort4LastNum = i;
+ }
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 5) {
+ if (bFirstUseSort5) {
+ bFirstUseSort5 = false;
+ }
+ else {
+ if (Sort5LastNum + 1 == i) {
+ if ( Sort5LastNum <= g_ScreenSetParam.iChannelsNum/2 - 1 && i >= g_ScreenSetParam.iChannelsNum/2 ) {
+ Sort5LastNum = i;
+ continue;
+ }
+ else if ( Sort5LastNum <= g_ScreenSetParam.iChannelsNum/4 - 1 && i >= g_ScreenSetParam.iChannelsNum/4 ) {
+ Sort5LastNum = i;
+ continue;
+ }
+ else if ( Sort5LastNum <= g_ScreenSetParam.iChannelsNum * 3/4 - 1 && i >= g_ScreenSetParam.iChannelsNum * 3/4 ) {
+ Sort5LastNum = i;
+ continue;
+ }
+ GetDeviation = focal_abs(m_DeltaCb_DifferData[i] - m_DeltaCb_DifferData[Sort5LastNum]);
+ if (GetDeviation >= DeviationMax_S5) {
+ if (bUseCriticalValue) {
+ if (GetDeviation >= Critical_Channel_S5) {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Critical Deviation 0f Sort5: %d",
+ i-1 + 1, m_DeltaCb_DifferData[i-1], i + 1, m_DeltaCb_DifferData[i], GetDeviation, Critical_Channel_S5);
+
+ }
+ else {
+ //SetCriticalMsg(i);
+ bCriticalResult = true;
+ }
+ }
+ else {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Deviation of Sort5: %d",
+ i-1 + 1, m_DeltaCb_DifferData[i-1], i + 1, m_DeltaCb_DifferData[i], GetDeviation, DeviationMax_S5);
+
+ }
+ }
+ if (MaxDev_AllS5 < GetDeviation)
+ MaxDev_AllS5 = GetDeviation;
+ }
+ }
+ Sort5LastNum = i;
+ }
+
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 6) {
+ if (bFirstUseSort6) {
+ bFirstUseSort6 = false;
+ }
+ else {
+ if (Sort6LastNum + 1 == i) {
+ if ( Sort6LastNum <= g_ScreenSetParam.iChannelsNum/2 - 1 && i >= g_ScreenSetParam.iChannelsNum/2 ) {
+ Sort6LastNum = i;
+ continue;
+ }
+ else if ( Sort6LastNum <= g_ScreenSetParam.iChannelsNum/4 - 1 && i >= g_ScreenSetParam.iChannelsNum/4 ) {
+ Sort6LastNum = i;
+ continue;
+ }
+ else if ( Sort6LastNum <= g_ScreenSetParam.iChannelsNum * 3/4 - 1 && i >= g_ScreenSetParam.iChannelsNum * 3/4 ) {
+ Sort6LastNum = i;
+ continue;
+ }
+ GetDeviation = focal_abs(m_DeltaCb_DifferData[i] - m_DeltaCb_DifferData[Sort6LastNum]);
+ if (GetDeviation >= DeviationMax_S6) {
+ if (bUseCriticalValue) {
+ if (GetDeviation >= Critical_Channel_S6) {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Critical Deviation 0f Sort6: %d",
+ i-1 + 1, m_DeltaCb_DifferData[i-1], i + 1, m_DeltaCb_DifferData[i], GetDeviation, Critical_Channel_S6);
+
+ }
+ else {
+ //SetCriticalMsg(i);
+ bCriticalResult = true;
+ }
+ }
+ else {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Deviation of Sort6: %d",
+ i-1 + 1, m_DeltaCb_DifferData[i-1], i + 1, m_DeltaCb_DifferData[i], GetDeviation, DeviationMax_S6);
+
+ }
+ }
+ if (MaxDev_AllS6 < GetDeviation)
+ MaxDev_AllS6 = GetDeviation;
+ }
+ }
+ Sort6LastNum = i;
+ }
+ }
+ if (!bFirstUseSort1) {
+ printk("\r\n\r\nGet max deviation of Sort1: %d, Set max deviation of Sort1: %d", MaxDev_AllS1,DeviationMax_S1);
+
+ }
+ if (!bFirstUseSort2) {
+ printk("\r\n\r\nGet max deviation of Sort2: %d, Set max deviation of Sort2: %d", MaxDev_AllS2,DeviationMax_S2);
+
+ }
+ if (!bFirstUseSort3) {
+ printk("\r\n\r\nGet max deviation of Sort3: %d, Set max deviation of Sort3: %d", MaxDev_AllS3,DeviationMax_S3);
+
+ }
+ if (!bFirstUseSort4) {
+ printk("\r\n\r\nGet max deviation of Sort4: %d, Set max deviation of Sort4: %d", MaxDev_AllS4,DeviationMax_S4);
+
+ }
+ if (!bFirstUseSort5) {
+ printk("\r\n\r\nGet max deviation of Sort5: %d, Set max deviation of Sort5: %d", MaxDev_AllS5,DeviationMax_S5);
+
+ }
+ if (!bFirstUseSort6) {
+ printk("\r\n\r\nGet max deviation of Sort6: %d, Set max deviation of Sort6: %d", MaxDev_AllS6,DeviationMax_S6);
+
+ }
+
+ printk("\r\n\r\nMax Deviation, ");
+ if (!bFirstUseSort1) {
+ printk("Sort1: %d, ", MaxDev_AllS1);
+ }
+ if (!bFirstUseSort2) {
+ printk("Sort2: %d, ", MaxDev_AllS2);
+ }
+ if (!bFirstUseSort3) {
+ printk("Sort3: %d, ", MaxDev_AllS3);
+ }
+ if (!bFirstUseSort4) {
+ printk("Sort4: %d, ", MaxDev_AllS4);
+ }
+ if (!bFirstUseSort5) {
+ printk("Sort5: %d, ", MaxDev_AllS5);
+ }
+ if (!bFirstUseSort6) {
+ printk("Sort6: %d, ", MaxDev_AllS6);
+ }
+
+ if (bCriticalResult && btmpresult) {
+ printk("\r\n\r\nChannels Deviation Test has Critical Result(TBD)!");
+ }
+ ///////////////////////////////////////////////////////Delta Ci End
+ if (btmpresult) {
+ printk("\r\n\r\n//Channels Deviation Test is OK!\r\n");
+ * bTestResult = true;
+ if (bCriticalResult)
+ * bTestResult = 2;
+ else
+ * bTestResult = true;
+ }
+ else {
+ * bTestResult = false;//NG
+ printk("\r\n\r\n//Channels Deviation Test is NG!\r\n");
+ }
+
+ return 0;
+}
+
+/************************************************************************
+* Name: FT6X36_TestItem_TwoSidesDeviationTest
+* Brief: TestItem: Two Sides Deviation Test. Check if Two Sides Deviation is within the range.
+* Input: none
+* Output: bTestResult, PASS or FAIL
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+unsigned char FT6X36_TestItem_TwoSidesDeviationTest(unsigned char * bTestResult)
+{
+ ///////////////////////////////////////////////////////Channels Deviation Start
+
+ bool btmpresult = true;//Init
+ int i=0;
+
+ int DeviationMax = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S1;
+ int DeviationMax_S2 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S2;
+ int DeviationMax_S3 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S3;
+ int DeviationMax_S4 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S4;
+ int DeviationMax_S5 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S5;
+ int DeviationMax_S6 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S6;
+
+ int Critical_TwoSides_S1 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S1;
+ int Critical_TwoSides_S2 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S2;
+ int Critical_TwoSides_S3 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S3;
+ int Critical_TwoSides_S4 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S4;
+ int Critical_TwoSides_S5 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S5;
+ int Critical_TwoSides_S6 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S6;
+
+ bool bUseCriticalValue = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Set_Critical;
+
+ bool bCriticalResult = false;
+
+
+ bool bUseSort1 = false;
+ bool bUseSort2 = false;
+ bool bUseSort3 = false;
+ bool bUseSort4 = false;
+ bool bUseSort5 = false;
+ bool bUseSort6 = false;
+
+ int DevMax_AllS1 = 0, DevMax_AllS2 = 0, DevMax_AllS3 = 0, DevMax_AllS4 = 0, DevMax_AllS5 = 0, DevMax_AllS6 = 0;
+
+ int GetDeviation =0;
+
+ printk("\r\n\r\n==============================Test Item: -------- Two Sides Deviation Test ");
+
+ for (i=0; i < g_ScreenSetParam.iChannelsNum; i++) {
+ m_DeltaCb_DifferData[i] = m_DeltaCbData[i] - g_stCfg_SCap_DetailThreshold.DeltaCbTest_Base[i];
+ if (i== 0) { //Half
+ printk("\r\n\r\n//======= Differ Data of Delta CB: ");
+ printk("\r\nLeft Channel: ");
+ }
+ else if ( i * 2 == g_ScreenSetParam.iChannelsNum) {
+ printk("\r\nRight Channel: ");
+ }
+ else if ( i == g_ScreenSetParam.iChannelsNum) {
+ printk("\r\nKey: ");
+ }
+ printk("%3d ", m_DeltaCb_DifferData[i]);
+ }
+
+ printk("\r\n");
+
+ DeviationMax = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S1;
+ DeviationMax_S2 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S2;
+ DeviationMax_S3 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S3;
+ DeviationMax_S4 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S4;
+ DeviationMax_S5 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S5;
+ DeviationMax_S6 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S6;
+
+ Critical_TwoSides_S1 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S1;
+ Critical_TwoSides_S2 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S2;
+ Critical_TwoSides_S3 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S3;
+ Critical_TwoSides_S4 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S4;
+ Critical_TwoSides_S5 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S5;
+ Critical_TwoSides_S6 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S6;
+
+ bUseCriticalValue = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Set_Critical;
+
+ bCriticalResult = false;
+
+ bUseSort1 = false;
+ bUseSort2 = false;
+ bUseSort3 = false;
+ bUseSort4 = false;
+ bUseSort5 = false;
+ bUseSort6 = false;
+
+ DevMax_AllS1 = 0;
+ DevMax_AllS2 = 0;
+ DevMax_AllS3 = 0;
+ DevMax_AllS4 = 0;
+ DevMax_AllS5 = 0;
+ DevMax_AllS6 = 0;
+
+ GetDeviation = 0;
+
+ for (i=0; i < g_ScreenSetParam.iChannelsNum/2; i++) {
+ GetDeviation = abs(m_DeltaCb_DifferData[i] - m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2]);
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 1) {
+ bUseSort1 = true;
+ if (GetDeviation >= DeviationMax) {
+ if (bUseCriticalValue) {
+ if (GetDeviation >= Critical_TwoSides_S1) {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Critical Deviation of Sort1: %d",
+ i + 1, m_DeltaCb_DifferData[i], i + g_ScreenSetParam.iChannelsNum/2, m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2],GetDeviation, Critical_TwoSides_S1);
+
+ }
+ else {
+ //
+ //if (abs(m_DeltaCb_DifferData[i]) > abs(m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2]))
+ // SetCriticalMsg(i);
+ //else
+ // SetCriticalMsg(i + g_ScreenSetParam.iChannelsNum/2);
+
+ bCriticalResult = true;
+ }
+ }
+ else {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Deviation of Sort1: %d",
+ i + 1, m_DeltaCb_DifferData[i], i + g_ScreenSetParam.iChannelsNum/2, m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2],GetDeviation, DeviationMax);
+
+ }
+ }
+ if (DevMax_AllS1 < GetDeviation)
+ DevMax_AllS1 = GetDeviation;
+ }
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 2) {
+ bUseSort2 = true;
+ if (GetDeviation >= DeviationMax_S2) {
+ if (bUseCriticalValue) {
+ if (GetDeviation >= Critical_TwoSides_S2) {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Critical Deviation of Sort2: %d",
+ i + 1, m_DeltaCb_DifferData[i], i + g_ScreenSetParam.iChannelsNum/2, m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2],GetDeviation, Critical_TwoSides_S2);
+
+ }
+ else {
+ //
+ //if (abs(m_DeltaCb_DifferData[i]) > abs(m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2]))
+ // SetCriticalMsg(i);
+ //else
+ // SetCriticalMsg(i + g_ScreenSetParam.iChannelsNum/2);
+ bCriticalResult = true;
+ }
+ }
+ else {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Deviation of Sort2: %d",
+ i + 1, m_DeltaCb_DifferData[i], i + g_ScreenSetParam.iChannelsNum/2, m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2],GetDeviation, DeviationMax_S2);
+
+ }
+ }
+ if (DevMax_AllS2 < GetDeviation)
+ DevMax_AllS2 = GetDeviation;
+ }
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 3) {
+ bUseSort3 = true;
+ if (GetDeviation >= DeviationMax_S3) {
+ if (bUseCriticalValue) {
+ if (GetDeviation >= Critical_TwoSides_S3) {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Critical Deviation of Sort3: %d",
+ i + 1, m_DeltaCb_DifferData[i], i + g_ScreenSetParam.iChannelsNum/2, m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2],GetDeviation, Critical_TwoSides_S3);
+
+ }
+ else {
+ //
+ //if (abs(m_DeltaCb_DifferData[i]) > abs(m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2]))
+ // SetCriticalMsg(i);
+ //else
+ // SetCriticalMsg(i + g_ScreenSetParam.iChannelsNum/2);
+ bCriticalResult = true;
+ }
+ }
+ else {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Deviation of Sort3: %d",
+ i + 1, m_DeltaCb_DifferData[i], i + g_ScreenSetParam.iChannelsNum/2, m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2],GetDeviation, DeviationMax_S3);
+
+ }
+ }
+ if (DevMax_AllS3 < GetDeviation)
+ DevMax_AllS3 = GetDeviation;
+ }
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 4) {
+ bUseSort4 = true;
+ if (GetDeviation >= DeviationMax_S4) {
+ if (bUseCriticalValue) {
+ if (GetDeviation >= Critical_TwoSides_S4) {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Critical Deviation of Sort4: %d",
+ i + 1, m_DeltaCb_DifferData[i], i + g_ScreenSetParam.iChannelsNum/2, m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2],GetDeviation, Critical_TwoSides_S4);
+
+ }
+ else {
+ //
+ //if (abs(m_DeltaCb_DifferData[i]) > abs(m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2]))
+ // SetCriticalMsg(i);
+ //else
+ // SetCriticalMsg(i + g_ScreenSetParam.iChannelsNum/2);
+ bCriticalResult = true;
+ }
+ }
+ else {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Deviation of Sort4: %d",
+ i + 1, m_DeltaCb_DifferData[i], i + g_ScreenSetParam.iChannelsNum/2, m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2],GetDeviation, DeviationMax_S4);
+
+ }
+ }
+ if (DevMax_AllS4 < GetDeviation)
+ DevMax_AllS4 = GetDeviation;
+ }
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 5) {
+ bUseSort5 = true;
+ if (GetDeviation >= DeviationMax_S5) {
+ if (bUseCriticalValue) {
+ if (GetDeviation >= Critical_TwoSides_S5) {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Critical Deviation of Sort5: %d",
+ i + 1, m_DeltaCb_DifferData[i], i + g_ScreenSetParam.iChannelsNum/2, m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2],GetDeviation, Critical_TwoSides_S5);
+
+ }
+ else {
+ //
+ //if (abs(m_DeltaCb_DifferData[i]) > abs(m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2]))
+ // SetCriticalMsg(i);
+ //else
+ // SetCriticalMsg(i + g_ScreenSetParam.iChannelsNum/2);
+ bCriticalResult = true;
+ }
+ }
+ else {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Deviation of Sort5: %d",
+ i + 1, m_DeltaCb_DifferData[i], i + g_ScreenSetParam.iChannelsNum/2, m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2],GetDeviation, DeviationMax_S5);
+
+ }
+ }
+ if (DevMax_AllS5 < GetDeviation)
+ DevMax_AllS5 = GetDeviation;
+ }
+
+
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 6) {
+ bUseSort6 = true;
+ if (GetDeviation >= DeviationMax_S6) {
+ if (bUseCriticalValue) {
+ if (GetDeviation >= Critical_TwoSides_S6) {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Critical Deviation of Sort6: %d",
+ i + 1, m_DeltaCb_DifferData[i], i + g_ScreenSetParam.iChannelsNum/2, m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2],GetDeviation, Critical_TwoSides_S6);
+
+ }
+ else {
+ //
+ //if (abs(m_DeltaCb_DifferData[i]) > abs(m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2]))
+ // SetCriticalMsg(i);
+ //else
+ // SetCriticalMsg(i + g_ScreenSetParam.iChannelsNum/2);
+ bCriticalResult = true;
+ }
+ }
+ else {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Deviation of Sort6: %d",
+ i + 1, m_DeltaCb_DifferData[i], i + g_ScreenSetParam.iChannelsNum/2, m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2],GetDeviation, DeviationMax_S6);
+
+ }
+ }
+ if (DevMax_AllS6 < GetDeviation)
+ DevMax_AllS6 = GetDeviation;
+ }
+
+ }
+ if (bUseSort1) {
+ printk("\r\n\r\nGet Max Deviation of Sort1: %d, Set Max Deviation of Sort1: %d", DevMax_AllS1, DeviationMax);
+
+ }
+ if (bUseSort2) {
+ printk("\r\n\r\nGet Max Deviation of Sort2: %d, Set Max Deviation of Sort2: %d", DevMax_AllS2, DeviationMax_S2);
+
+ }
+ if (bUseSort3) {
+ printk("\r\n\r\nGet Max Deviation of Sort3: %d, Set Max Deviation of Sort3: %d", DevMax_AllS3, DeviationMax_S3);
+
+ }
+ if (bUseSort4) {
+ printk("\r\n\r\nGet Max Deviation of Sort4: %d, Set Max Deviation of Sort4: %d", DevMax_AllS4, DeviationMax_S4);
+
+ }
+ if (bUseSort5) {
+ printk("\r\n\r\nGet Max Deviation of Sort5: %d, Set Max Deviation of Sort5: %d", DevMax_AllS5, DeviationMax_S5);
+
+ }
+ if (bUseSort6) {
+ printk("\r\n\r\nGet Max Deviation of Sort6: %d, Set Max Deviation of Sort6: %d", DevMax_AllS6, DeviationMax_S6);
+
+ }
+
+ printk("\r\nMax Deviation, ");
+ if (bUseSort1) {
+ printk("Sort1: %d, ", DevMax_AllS1);
+
+ }
+ if (bUseSort2) {
+ printk("Sort2: %d, ", DevMax_AllS2);
+
+ }
+ if (bUseSort3) {
+ printk("Sort3: %d, ", DevMax_AllS3);
+
+ }
+ if (bUseSort4) {
+ printk("Sort4: %d, ", DevMax_AllS4);
+
+ }
+ if (bUseSort5) {
+ printk("Sort5: %d, ", DevMax_AllS5);
+
+ }
+ if (bUseSort6) {
+ printk("Sort6: %d, ", DevMax_AllS6);
+
+ }
+
+ if (bCriticalResult && btmpresult) {
+ printk("\r\n\r\nTwo Sides Deviation Test has Critical Result(TBD)!");
+ }
+ ///////////////////////////////////////////////////////Delta Ci End
+ if (btmpresult) {
+ printk("\r\n\r\n//Two Sides Deviation Test is OK!\r\n");
+ if (bCriticalResult)
+ * bTestResult = 2;
+ else
+ * bTestResult = true;
+ }
+ else {
+ * bTestResult = false;//NG
+ printk("\r\n\r\n//Two Sides Deviation Test is NG!\r\n");
+ }
+
+ return 0;
+}
diff --git a/drivers/input/touchscreen/focaltech_3207/Test_FT6X36.h b/drivers/input/touchscreen/focaltech_3207/Test_FT6X36.h
new file mode 100644
index 0000000..f7e1cc6
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/Test_FT6X36.h
@@ -0,0 +1,41 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+#ifndef _TEST_FT6X36_H
+#define _TEST_FT6X36_H
+
+#include "test_lib.h"
+
+boolean FT6X36_StartTest(void);
+boolean FT3207_StartTest(bool* selftest_result);
+int FT6X36_get_test_data(char *pTestData);//pTestData, External application for memory, buff size >= 1024*80
+int FT3207_get_test_data(char **pTestData);
+
+unsigned char FT6X36_TestItem_EnterFactoryMode(void);
+unsigned char FT6X36_TestItem_RawDataTest(bool * bTestResult);
+//unsigned char FT6X36_TestItem_ChannelsTest(bool * bTestResult);
+unsigned char FT6X36_TestItem_CbTest(bool * bTestResult);
+unsigned char FT6X36_TestItem_DeltaCbTest(unsigned char * bTestResult);
+unsigned char FT6X36_TestItem_ChannelsDeviationTest(unsigned char * bTestResult);
+unsigned char FT6X36_TestItem_TwoSidesDeviationTest(unsigned char * bTestResult);
+
+boolean GetWaterproofMode(int iTestType, unsigned char ucChannelValue);
+
+#define DATA_SIZE 1024*1
+#define PROCESS_LOG_SIZE 1024*2
+#define ALLMSG_SIZE 1024*4
+
+#endif
diff --git a/drivers/input/touchscreen/focaltech_3207/focaltech_core.c b/drivers/input/touchscreen/focaltech_3207/focaltech_core.c
new file mode 100644
index 0000000..83c51058
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/focaltech_core.c
@@ -0,0 +1,2598 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+/*******************************************************************************
+* Included header files
+*******************************************************************************/
+//user defined include header files
+#include "focaltech_core.h"
+
+#if defined(CONFIG_FB)
+#include <linux/notifier.h>
+#include <linux/fb.h>
+
+#elif defined(CONFIG_HAS_EARLYSUSPEND)
+#include <linux/earlysuspend.h>
+/* Early-suspend level */
+#define FTS_SUSPEND_LEVEL 1
+#endif
+
+
+/*******************************************************************************
+* Private constant and macro definitions using #define
+*******************************************************************************/
+#define FTS_META_REGS 3
+#define FTS_ONE_TCH_LEN 6
+#define FTS_TCH_LEN(x) (FTS_META_REGS + FTS_ONE_TCH_LEN * x)
+
+#define FTS_PRESS 0x7F
+#define FTS_MAX_ID 0x0F
+#define FTS_TOUCH_X_H_POS 3
+#define FTS_TOUCH_X_L_POS 4
+#define FTS_TOUCH_Y_H_POS 5
+#define FTS_TOUCH_Y_L_POS 6
+#define FTS_TOUCH_PRE_POS 7
+#define FTS_TOUCH_AREA_POS 8
+#define FTS_TOUCH_POINT_NUM 2
+#define FTS_TOUCH_EVENT_POS 3
+#define FTS_TOUCH_ID_POS 5
+
+#ifdef FTS_GESTRUE_EN
+#define FTS_TOUCH_GESTURE_ID 1
+#endif
+#define FTS_TOUCH_DOWN 0
+#define FTS_TOUCH_UP 1
+#define FTS_TOUCH_CONTACT 2
+
+#define POINT_READ_BUF (3 + FTS_ONE_TCH_LEN * FTS_MAX_POINTS)
+
+/*register address*/
+#define FTS_REG_DEV_MODE 0x00
+#define FTS_DEV_MODE_REG_CAL 0x02
+
+#define FTS_REG_PMODE 0xA5
+#define FTS_REG_AUTO_ENTER_MONITOR 0x86
+
+#define FTS_REG_POINT_RATE 0x88
+#define FTS_REG_THGROUP 0x80
+
+/* power register bits*/
+#define FTS_PMODE_ACTIVE 0x00
+#define FTS_PMODE_MONITOR 0x01
+#define FTS_PMODE_STANDBY 0x02
+#define FTS_PMODE_HIBERNATE 0x03
+
+#define FTS_STATUS_NUM_TP_MASK 0x0F
+
+#define FTS_VTG_MIN_UV 2600000
+#define FTS_VTG_MAX_UV 3300000
+#define FTS_I2C_VTG_MIN_UV 1800000
+#define FTS_I2C_VTG_MAX_UV 1800000
+
+#define FTS_COORDS_ARR_SIZE 4
+#define MAX_BUTTONS 4
+
+#define FTS_8BIT_SHIFT 8
+#define FTS_4BIT_SHIFT 4
+
+/* psensor register address*/
+#define FTS_REG_PSENSOR_ENABLE 0xB0
+#define FTS_REG_PSENSOR_STATUS 0x01
+
+/* psensor register bits*/
+#define FTS_PSENSOR_ENABLE_MASK 0x01
+#define FTS_PSENSOR_STATUS_NEAR 0xC0
+#define FTS_PSENSOR_STATUS_FAR 0xE0
+#define FTS_PSENSOR_FAR_TO_NEAR 0
+#define FTS_PSENSOR_NEAR_TO_FAR 1
+#define FTS_PSENSOR_ORIGINAL_STATE_FAR 1
+#define FTS_PSENSOR_WAKEUP_TIMEOUT 500
+
+#define PINCTRL_STATE_ACTIVE "pmx_ts_active"
+#define PINCTRL_STATE_SUSPEND "pmx_ts_suspend"
+#define PINCTRL_STATE_RELEASE "pmx_ts_release"
+
+/*******************************************************************************
+* Private enumerations, structures and unions using typedef
+*******************************************************************************/
+
+/*******************************************************************************
+* Static variables
+*******************************************************************************/
+
+
+/*******************************************************************************
+* Global variable or extern global variabls/functions
+*******************************************************************************/
+struct i2c_client *fts_i2c_client;
+struct fts_ts_data *fts_wq_data;
+struct input_dev *fts_input_dev;
+
+bool print_point = false;
+static unsigned int buf_count_add=0;
+static unsigned int buf_count_neg=0;
+#ifdef FTS_GESTRUE_EN
+bool print_gesture = false;
+
+bool big_area_enabled_flag = false;
+bool en_big_area_func = true;
+#endif
+
+bool fts_wq_queue_result = false;
+bool fts_wq_running = false;
+unsigned int irq_handler_recovery_count = 0;
+unsigned int suspend_resume_recovery_count = 0;
+unsigned int plam_recovery_count = 0;
+
+bool ts_pwr_disabled = false;
+
+struct irq_desc *fts_irq_desc = NULL;
+
+u8 buf_touch_data[30*POINT_READ_BUF] = { 0 };
+
+#ifdef CONFIG_TOUCHSCREEN_FTS_PSENSOR
+static struct sensors_classdev __maybe_unused sensors_proximity_cdev = {
+ .name = "fts-proximity",
+ .vendor = "FocalTech",
+ .version = 1,
+ .handle = SENSORS_PROXIMITY_HANDLE,
+ .type = SENSOR_TYPE_PROXIMITY,
+ .max_range = "5.0",
+ .resolution = "5.0",
+ .sensor_power = "0.1",
+ .min_delay = 0,
+ .fifo_reserved_event_count = 0,
+ .fifo_max_event_count = 0,
+ .enabled = 0,
+ .delay_msec = 200,
+ .sensors_enable = NULL,
+ .sensors_poll_delay = NULL,
+};
+#endif
+
+/*******************************************************************************
+* Static function prototypes
+*******************************************************************************/
+int fts_ts_start(struct device *dev);
+
+#ifdef CONFIG_TOUCHSCREEN_FTS_PSENSOR
+/*******************************************************************************
+* Name: fts_psensor_support_enabled
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static inline bool fts_psensor_support_enabled(void)
+{
+ return config_enabled(CONFIG_TOUCHSCREEN_FTS_PSENSOR);
+}
+#endif
+
+void fts_reset_chip(void) {
+ gpio_set_value_cansleep(fts_wq_data->pdata->reset_gpio, 0);
+ msleep(fts_wq_data->pdata->hard_rst_dly);
+ gpio_set_value_cansleep(fts_wq_data->pdata->reset_gpio, 1);
+}
+
+/*******************************************************************************
+* Name: fts_i2c_read
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+int fts_i2c_read(struct i2c_client *client, char *writebuf, int writelen, char *readbuf, int readlen)
+{
+ int ret = 0;
+
+ mutex_lock(&i2c_rw_access);
+
+ if (writelen > 0) {
+ struct i2c_msg msgs[] = {
+ {
+ .addr = client->addr,
+ .flags = 0,
+ .len = writelen,
+ .buf = writebuf,
+ },
+ {
+ .addr = client->addr,
+ .flags = I2C_M_RD,
+ .len = readlen,
+ .buf = readbuf,
+ },
+ };
+ ret = i2c_transfer(client->adapter, msgs, 2);
+ if (ret < 0)
+ dev_err(&client->dev, "%s: i2c read error.\n", __func__);
+ } else {
+ struct i2c_msg msgs[] = {
+ {
+ .addr = client->addr,
+ .flags = I2C_M_RD,
+ .len = readlen,
+ .buf = readbuf,
+ },
+ };
+ ret = i2c_transfer(client->adapter, msgs, 1);
+ if (ret < 0)
+ dev_err(&client->dev, "%s:i2c read error.\n", __func__);
+ }
+
+ mutex_unlock(&i2c_rw_access);
+
+ return ret;
+}
+
+/*******************************************************************************
+* Name: fts_i2c_write
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+int fts_i2c_write(struct i2c_client *client, char *writebuf, int writelen)
+{
+ int ret;
+
+ struct i2c_msg msgs[] = {
+ {
+ .addr = client->addr,
+ .flags = 0,
+ .len = writelen,
+ .buf = writebuf,
+ },
+ };
+ mutex_lock(&i2c_rw_access);
+ ret = i2c_transfer(client->adapter, msgs, 1);
+ if (ret < 0)
+ dev_err(&client->dev, "%s: i2c write error.\n", __func__);
+
+ mutex_unlock(&i2c_rw_access);
+
+ return ret;
+}
+
+/*******************************************************************************
+* Name: fts_write_reg
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+int fts_write_reg(struct i2c_client *client, u8 addr, const u8 val)
+{
+ u8 buf[2] = {0};
+
+ buf[0] = addr;
+ buf[1] = val;
+
+ return fts_i2c_write(client, buf, sizeof(buf));
+}
+
+/*******************************************************************************
+* Name: fts_read_reg
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+int fts_read_reg(struct i2c_client *client, u8 addr, u8 *val)
+{
+ return fts_i2c_read(client, &addr, 1, val, 1);
+}
+
+/*******************************************************************************
+* Name: checkTPSource
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+#define FTS_ALL_PACKET_LENGTH 256
+static int checkTPSource(struct fts_ts_data *data)
+{
+ struct i2c_client *client = data->client;
+ unsigned char cmd[6] = {0};
+ u8 tmpBuf[FTS_ALL_PACKET_LENGTH] = {0};
+ int err = 0;
+
+ //first, let touch ic enter read mode
+ cmd[0] = 0x55;
+ cmd[1] = 0xAA;
+ err = fts_i2c_write(client, cmd, 2);
+ if (err < 0)
+ dev_err(&client->dev, "TP vendor id read failed 1 \n");
+ msleep(2);
+ fts_reset_chip();
+ err = fts_i2c_write(client, cmd, 2);
+ if (err < 0)
+ dev_err(&client->dev, "TP vendor id read failed 2 \n");
+ msleep(2);
+
+ //start to read touch F/W's TP vendor ID
+ cmd[0] = 0x02;
+ cmd[1] = 0xFD;
+ cmd[2] = (u8)((7 * FTS_ALL_PACKET_LENGTH)>>8);
+ cmd[3] = (u8)(7 * FTS_ALL_PACKET_LENGTH);
+ cmd[4] = (u8)((FTS_ALL_PACKET_LENGTH-1)>>8);
+ cmd[5] = (u8)(FTS_ALL_PACKET_LENGTH-1);
+ err = fts_i2c_read(client, cmd, 6, tmpBuf, FTS_ALL_PACKET_LENGTH);
+ if (err < 0)
+ dev_err(&client->dev, "TP vendor id read failed 3 \n");
+
+ msleep(2);
+
+ //lock flash cptm
+ cmd[0] = 0x0A;
+ cmd[1] = 0xF5;
+ err = fts_i2c_write(client, cmd, 2);
+ if (err < 0)
+ dev_err(&client->dev, "TP vendor id read failed 4 \n");
+
+ msleep(100);
+
+ fts_reset_chip();
+ msleep(300);
+
+ data->tp_vendor_id = tmpBuf[0xB4];
+
+ //read TP vendor ID form Project UC81
+ //fts_read_reg(client, 0xA8, tmpBuf);
+ //dev_err(&client->dev, "TP vid 0x%x \n", tmpBuf[0]);
+
+ return err;
+}
+
+#ifdef CONFIG_TOUCHSCREEN_FTS_PSENSOR
+/*******************************************************************************
+* Name: fts_psensor_enable
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static void fts_psensor_enable(struct fts_ts_data *data, int enable)
+{
+ u8 state;
+ int ret = -1;
+
+ if (data->client == NULL)
+ return;
+
+ fts_read_reg(data->client, FTS_REG_PSENSOR_ENABLE, &state);
+ if (enable)
+ state |= FTS_PSENSOR_ENABLE_MASK;
+ else
+ state &= ~FTS_PSENSOR_ENABLE_MASK;
+
+ ret = fts_write_reg(data->client, FTS_REG_PSENSOR_ENABLE, state);
+ if (ret < 0)
+ dev_err(&data->client->dev,
+ "write psensor switch command failed\n");
+ return;
+}
+
+/*******************************************************************************
+* Name: fts_psensor_enable_set
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_psensor_enable_set(struct sensors_classdev *sensors_cdev,
+ unsigned int enable)
+{
+ struct fts_psensor_platform_data *psensor_pdata =
+ container_of(sensors_cdev, struct fts_psensor_platform_data, ps_cdev);
+ struct fts_ts_data *data = psensor_pdata->data;
+ struct input_dev *input_dev = data->psensor_pdata->input_psensor_dev;
+
+ mutex_lock(&input_dev->mutex);
+ fts_psensor_enable(data, enable);
+ psensor_pdata->tp_psensor_data = FTS_PSENSOR_ORIGINAL_STATE_FAR;
+ if (enable)
+ psensor_pdata->tp_psensor_opened = 1;
+ else
+ psensor_pdata->tp_psensor_opened = 0;
+ mutex_unlock(&input_dev->mutex);
+ return enable;
+}
+
+/*******************************************************************************
+* Name: fts_read_tp_psensor_data
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_read_tp_psensor_data(struct fts_ts_data *data)
+{
+ u8 psensor_status;
+ char tmp;
+ int ret = 1;
+
+ fts_read_reg(data->client, FTS_REG_PSENSOR_STATUS, &psensor_status);
+
+ tmp = data->psensor_pdata->tp_psensor_data;
+ if (psensor_status == FTS_PSENSOR_STATUS_NEAR)
+ data->psensor_pdata->tp_psensor_data = FTS_PSENSOR_FAR_TO_NEAR;
+ else if (psensor_status == FTS_PSENSOR_STATUS_FAR)
+ data->psensor_pdata->tp_psensor_data = FTS_PSENSOR_NEAR_TO_FAR;
+
+ if (tmp != data->psensor_pdata->tp_psensor_data) {
+ dev_dbg(&data->client->dev, "%s sensor data changed\n", __func__);
+ ret = 0;
+ }
+ return ret;
+}
+#else
+/*******************************************************************************
+* Name: fts_psensor_enable_set
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+/*
+static int fts_psensor_enable_set(struct sensors_classdev *sensors_cdev, unsigned int enable)
+{
+ return enable;
+}
+*/
+
+/*******************************************************************************
+* Name: fts_read_tp_psensor_data
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+/*
+static int fts_read_tp_psensor_data(struct fts_ts_data *data)
+{
+ return 0;
+}
+*/
+#endif
+
+/*******************************************************************************
+* Name: fts_ts_interrupt
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static irqreturn_t fts_ts_interrupt(int irq, void *dev_id)
+{
+ struct fts_ts_data *fts_ts = dev_id;
+
+ if (!fts_ts) {
+ pr_err("%s: Invalid fts_ts\n", __func__);
+ return IRQ_HANDLED;
+ }
+
+ if (fts_wq_data->suspending)
+ return IRQ_HANDLED;
+
+ disable_irq_nosync(fts_ts->client->irq);
+
+ fts_wq_queue_result = queue_work(fts_ts->ts_workqueue, &fts_ts->touch_event_work);
+
+ if (fts_wq_queue_result == false) {
+ enable_irq(fts_ts->client->irq);
+ irq_handler_recovery_count++;
+ }
+
+ return IRQ_HANDLED;
+}
+
+/*******************************************************************************
+* Name: fts_read_Touchdata
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_read_Touchdata(struct fts_ts_data *data)
+{
+#ifdef CONFIG_TOUCHSCREEN_FTS_PSENSOR
+ int rc = 0;
+#endif
+
+ u8 buf[POINT_READ_BUF] = { 0 };
+ int ret = -1;
+
+ #ifdef CONFIG_TOUCHSCREEN_FTS_PSENSOR
+ if (fts_psensor_support_enabled() && data->pdata->psensor_support &&
+ data->psensor_pdata->tp_psensor_opened) {
+ rc = fts_read_tp_psensor_data(data);
+ if (!rc) {
+ if (data->suspended)
+ pm_wakeup_event(&data->client->dev,
+ FTS_PSENSOR_WAKEUP_TIMEOUT);
+ input_report_abs(data->psensor_pdata->input_psensor_dev,
+ ABS_DISTANCE,
+ data->psensor_pdata->tp_psensor_data);
+ input_sync(data->psensor_pdata->input_psensor_dev);
+ if (data->suspended)
+ return 1;
+ }
+ if (data->suspended)
+ return 1;
+ }
+ #endif
+
+ ret = fts_i2c_read(data->client, buf, 1, buf, POINT_READ_BUF);
+ if (ret < 0) {
+ dev_err(&data->client->dev, "%s read touchdata failed.\n", __func__);
+ return ret;
+ }
+
+ buf_count_add++;
+ memcpy( buf_touch_data+(((buf_count_add-1)%30)*POINT_READ_BUF), buf, sizeof(u8)*POINT_READ_BUF );
+
+ return 0;
+}
+
+/*******************************************************************************
+* Name: fts_report_value
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static void fts_report_value(struct fts_ts_data *data)
+{
+ struct ts_event *event = &data->event;
+ int i;
+ int uppoint = 0;
+ int touchs = 0;
+ u8 pointid = FTS_MAX_ID;
+
+ u8 buf[POINT_READ_BUF] = { 0 };
+
+ buf_count_neg++;
+ memcpy( buf,buf_touch_data+(((buf_count_neg-1)%30)*POINT_READ_BUF), sizeof(u8)*POINT_READ_BUF );
+
+
+ memset(event, 0, sizeof(struct ts_event));
+#ifdef FTS_GESTRUE_EN
+ event->gesture_id=buf[FTS_TOUCH_GESTURE_ID];
+
+ if (print_gesture) {
+ printk(KERN_INFO "[fts]%s, gesture_id : 0x%x, buf[FTS_TOUCH_GESTURE_ID]:0x%x, big_area_enabled_flag:0x%x\n",
+ __func__, event->gesture_id,buf[FTS_TOUCH_GESTURE_ID], big_area_enabled_flag);
+ }
+
+ if ((!big_area_enabled_flag) && (event->gesture_id == GESTURE_LARGE_AREA)) {
+ /* release all touches */
+ for (i = 0; i < FTS_MAX_POINTS; i++) {
+ input_mt_slot(data->input_dev, i);
+ input_mt_report_slot_state(data->input_dev, MT_TOOL_FINGER, false);
+ }
+ input_mt_report_pointer_emulation(data->input_dev, false);
+
+ /*press sleep key*/
+ if (print_gesture) {
+ printk(KERN_INFO "[fts]%s, enter press sleep key for suspend mode gesture_id : 0x%x\n", __func__, event->gesture_id );
+ }
+
+ if (en_big_area_func) {
+ input_report_key(data->input_dev, KEY_SLEEP, true); //press sleep key
+ input_sync(data->input_dev);
+ } else {
+ input_sync(data->input_dev);
+ }
+
+ big_area_enabled_flag = true;
+
+ return;
+ }
+
+ if ((big_area_enabled_flag) && (event->gesture_id == GESTURE_UNKNOWN)) {
+ /*release sleep key*/
+ printk(KERN_INFO "[fts]%s, enter release sleep key for suspend mode gesture_id : 0x%x\n", __func__, event->gesture_id );
+
+ if (en_big_area_func) {
+ input_report_key(data->input_dev, KEY_SLEEP, false); //release sleep key
+ input_sync(data->input_dev);
+ queue_delayed_work(data->ts_workqueue, &data->touch_event_recovery_work, msecs_to_jiffies(TP_RECOVERY_TIME));
+ } else {
+ big_area_enabled_flag= false;
+ }
+ return;
+ }
+
+ if (big_area_enabled_flag) {
+ if (print_gesture) {
+ printk(KERN_INFO "[fts]%s, waiting for release sleep key, suspend mode gesture_id : 0x%x\n", __func__, event->gesture_id );
+ }
+ return;
+ }
+
+#endif
+
+ event->point_num=buf[FTS_TOUCH_POINT_NUM] & 0x0F;
+ event->touch_point = 0;
+ for (i = 0; i < FTS_MAX_POINTS; i++) {
+ pointid = (buf[FTS_TOUCH_ID_POS + FTS_ONE_TCH_LEN * i]) >> 4;
+ if (pointid >= FTS_MAX_ID)
+ break;
+ else
+ event->touch_point++;
+
+ event->au16_x[i] =
+ (s16) (buf[FTS_TOUCH_X_H_POS + FTS_ONE_TCH_LEN * i] & 0x0F) <<
+ 8 | (s16) buf[FTS_TOUCH_X_L_POS + FTS_ONE_TCH_LEN * i];
+ event->au16_y[i] =
+ (s16) (buf[FTS_TOUCH_Y_H_POS + FTS_ONE_TCH_LEN * i] & 0x0F) <<
+ 8 | (s16) buf[FTS_TOUCH_Y_L_POS + FTS_ONE_TCH_LEN * i];
+ event->au8_touch_event[i] =
+ buf[FTS_TOUCH_EVENT_POS + FTS_ONE_TCH_LEN * i] >> 6;
+ event->au8_finger_id[i] =
+ (buf[FTS_TOUCH_ID_POS + FTS_ONE_TCH_LEN * i]) >> 4;
+ event->area[i] =
+ (buf[FTS_TOUCH_AREA_POS + FTS_ONE_TCH_LEN * i]) >> 4;
+ event->pressure[i] =
+ (s16) buf[FTS_TOUCH_PRE_POS + FTS_ONE_TCH_LEN * i];
+
+ if(0 == event->area[i])
+ event->area[i] = 0x09;
+
+ if(0 == event->pressure[i])
+ event->pressure[i] = 0x3f;
+
+ if((event->au8_touch_event[i]==0 || event->au8_touch_event[i]==2)&&(event->point_num==0))
+ return;
+ }
+
+ for (i = 0; i < event->touch_point; i++)
+ {
+ input_mt_slot(data->input_dev, event->au8_finger_id[i]);
+
+ if (event->au8_touch_event[i] == FTS_TOUCH_DOWN || event->au8_touch_event[i] == FTS_TOUCH_CONTACT)
+ {
+ input_mt_report_slot_state(data->input_dev, MT_TOOL_FINGER, true);
+ input_report_abs(data->input_dev, ABS_MT_TOUCH_MAJOR, event->area[i]);
+ //input_report_abs(data->input_dev, ABS_MT_PRESSURE, event->pressure[i]);
+ input_report_abs(data->input_dev, ABS_MT_POSITION_X, event->au16_x[i]);
+ input_report_abs(data->input_dev, ABS_MT_POSITION_Y, event->au16_y[i]);
+ touchs |= BIT(event->au8_finger_id[i]);
+ data->touchs |= BIT(event->au8_finger_id[i]);
+ }
+ else
+ {
+ uppoint++;
+ input_mt_report_slot_state(data->input_dev, MT_TOOL_FINGER, false);
+ data->touchs &= ~BIT(event->au8_finger_id[i]);
+ printk(KERN_INFO "[fts] finger id=%d x=%d y=%d release\n", i, event->au16_x[i], event->au16_y[i]);
+ }
+ }
+
+ if(unlikely(data->touchs ^ touchs))
+ {
+ for(i = 0; i < FTS_MAX_POINTS; i++)
+ {
+ if(BIT(i) & (data->touchs ^ touchs))
+ {
+ input_mt_slot(data->input_dev, i);
+ input_mt_report_slot_state(data->input_dev, MT_TOOL_FINGER, false);
+ }
+ }
+ }
+ data->touchs = touchs;
+ if(event->touch_point == uppoint)
+ {
+ input_report_key(data->input_dev, BTN_TOUCH, 0);
+ }
+ else
+ {
+ input_report_key(data->input_dev, BTN_TOUCH, event->touch_point > 0);
+ }
+
+ input_sync(data->input_dev);
+}
+
+#ifdef FTS_GESTRUE_EN
+static void fts_gesture_check(struct fts_ts_data *data)
+{
+ u8 reg_value;
+ u8 ret;
+ u8 reg_addr = FTS_GESTURE_OUTPUT_ADRESS;
+
+ ret = fts_i2c_read(data->client, ®_addr, 1, ®_value, 1);
+
+ if (ret<0) {
+ printk(KERN_ERR "[fts]TP get tp_gesture_id fail \n");
+ data->tp_gesture_id = GESTURE_UNKNOWN; //i2c R/W fail
+ } else {
+ data->tp_gesture_id = reg_value;
+ if (print_gesture) {
+ printk(KERN_INFO "[fts]tp_gesture_id: 0x%x\n", reg_value);
+ }
+ }
+
+ if ( (data->tp_gesture_id == GESTURE_SMALL_AREA)) {
+ if (print_gesture) {
+ printk(KERN_INFO "[fts]%s, enter resume mode gesture_id : 0x%x\n", __func__, data->tp_gesture_id );
+ }
+
+ input_mt_slot(data->input_dev, 0);
+ input_mt_report_slot_state(data->input_dev, MT_TOOL_FINGER, 1);
+ input_report_abs(data->input_dev, ABS_MT_POSITION_X, 100);
+ input_report_abs(data->input_dev, ABS_MT_POSITION_Y, 100);
+ input_sync(data->input_dev);
+ mdelay(10);
+ input_mt_slot(data->input_dev, 0);
+ input_mt_report_slot_state(data->input_dev, MT_TOOL_FINGER, 0);
+ input_mt_report_pointer_emulation(data->input_dev, false);
+ input_sync(data->input_dev);
+ }
+}
+#endif
+/*******************************************************************************
+* Name: fts_touch_irq_work
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static void fts_touch_irq_work(struct work_struct *work)
+{
+ int ret = -1;
+
+ fts_wq_running = true;
+
+#ifdef FTS_GESTRUE_EN
+ if (fts_wq_data->suspended) {
+ fts_gesture_check(fts_wq_data);
+ } else
+#endif
+ {
+ ret = fts_read_Touchdata(fts_wq_data);
+ if (ret == 0)
+ fts_report_value(fts_wq_data);
+ }
+ enable_irq(fts_wq_data->client->irq);
+ fts_wq_running = false;
+}
+
+#ifdef FTS_GESTRUE_EN
+/*******************************************************************************
+* Name: fts_recovery_work
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static void fts_touch_recovery_work(struct work_struct *work)
+{
+ pr_err("%s: Recovery TP plam detect\n", __func__);
+ big_area_enabled_flag = false;
+ plam_recovery_count++;
+}
+#endif
+/*******************************************************************************
+* Name: fts_gpio_configure
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_gpio_configure(struct fts_ts_data *data, bool on)
+{
+ int err = 0;
+
+ if (on) {
+ if (gpio_is_valid(data->pdata->irq_gpio)) {
+ err = gpio_request(data->pdata->irq_gpio, "fts_irq_gpio");
+ if (err) {
+ dev_err(&data->client->dev, "irq gpio request failed");
+ goto err_irq_gpio_req;
+ }
+
+ err = gpio_direction_input(data->pdata->irq_gpio);
+ if (err) {
+ dev_err(&data->client->dev, "set_direction for irq gpio failed\n");
+ goto err_irq_gpio_dir;
+ }
+ }
+
+ if (gpio_is_valid(data->pdata->reset_gpio)) {
+ err = gpio_request(data->pdata->reset_gpio, "fts_reset_gpio");
+ if (err) {
+ dev_err(&data->client->dev, "reset gpio request failed");
+ goto err_irq_gpio_dir;
+ }
+
+ err = gpio_direction_output(data->pdata->reset_gpio, 0);
+ if (err) {
+ dev_err(&data->client->dev,
+ "set_direction for reset gpio failed\n");
+ goto err_reset_gpio_dir;
+ }
+ msleep(data->pdata->hard_rst_dly);
+ gpio_set_value_cansleep(data->pdata->reset_gpio, 1);
+ }
+
+ return 0;
+ } else {
+ if (gpio_is_valid(data->pdata->irq_gpio))
+ gpio_free(data->pdata->irq_gpio);
+ if (gpio_is_valid(data->pdata->reset_gpio)) {
+ /*
+ * This is intended to save leakage current
+ * only. Even if the call(gpio_direction_input)
+ * fails, only leakage current will be more but
+ * functionality will not be affected.
+ */
+ err = gpio_direction_input(data->pdata->reset_gpio);
+ if (err) {
+ dev_err(&data->client->dev,
+ "unable to set direction for gpio "
+ "[%d]\n", data->pdata->irq_gpio);
+ }
+ gpio_free(data->pdata->reset_gpio);
+ }
+
+ return 0;
+ }
+
+err_reset_gpio_dir:
+ if (gpio_is_valid(data->pdata->reset_gpio))
+ gpio_free(data->pdata->reset_gpio);
+err_irq_gpio_dir:
+ if (gpio_is_valid(data->pdata->irq_gpio))
+ gpio_free(data->pdata->irq_gpio);
+err_irq_gpio_req:
+ return err;
+}
+
+/*******************************************************************************
+* Name: fts_power_on
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_power_on(struct fts_ts_data *data, bool on)
+{
+ int rc = 0;
+
+ if (!on)
+ {
+ FTS_DBG("Enter fts_power_on false ! \n");
+ goto power_off;
+ }
+ regulator_set_load(data->vdd,100000);
+ rc = regulator_enable(data->vdd);
+ if (rc) {
+ dev_err(&data->client->dev, "Regulator vdd enable failed rc=%d\n", rc);
+ return rc;
+ }
+ regulator_set_load(data->vcc_i2c,100000);
+ rc = regulator_enable(data->vcc_i2c);
+ if (rc) {
+ dev_err(&data->client->dev, "Regulator vcc_i2c enable failed rc=%d\n", rc);
+ regulator_set_load(data->vdd,100);
+ regulator_disable(data->vdd);
+ }
+
+ return rc;
+
+
+power_off:
+ regulator_set_load(data->vdd,100);
+ rc = regulator_disable(data->vdd);
+ if (rc) {
+ dev_err(&data->client->dev, "Regulator vdd disable failed rc=%d\n", rc);
+ return rc;
+ }
+ regulator_set_load(data->vcc_i2c,100);
+ rc = regulator_disable(data->vcc_i2c);
+ if (rc) {
+ dev_err(&data->client->dev, "Regulator vcc_i2c disable failed rc=%d\n", rc);
+ regulator_set_load(data->vdd,100000);
+ rc = regulator_enable(data->vdd);
+ if (rc) {
+ dev_err(&data->client->dev,
+ "Regulator vdd enable failed rc=%d\n", rc);
+ }
+ }
+
+ return rc;
+}
+
+/*******************************************************************************
+* Name: fts_power_init
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_power_init(struct fts_ts_data *data, bool on)
+{
+ int rc;
+
+ if (!on)
+ {
+ dev_err(&data->client->dev, "fts_power_init false \n");
+ goto pwr_deinit;
+ }
+
+ data->vdd = regulator_get(&data->client->dev, "vdd");
+ if (IS_ERR(data->vdd)) {
+ rc = PTR_ERR(data->vdd);
+ dev_err(&data->client->dev, "Regulator get failed vdd rc=%d\n", rc);
+ return rc;
+ }
+
+ if (regulator_count_voltages(data->vdd) > 0) {
+ rc = regulator_set_voltage(data->vdd, FTS_VTG_MIN_UV, FTS_VTG_MAX_UV);
+ if (rc) {
+ dev_err(&data->client->dev, "Regulator set_vtg failed vdd rc=%d\n", rc);
+ goto reg_vdd_put;
+ }
+ }
+
+ data->vcc_i2c = regulator_get(&data->client->dev, "vcc_i2c");
+ if (IS_ERR(data->vcc_i2c)) {
+ rc = PTR_ERR(data->vcc_i2c);
+ dev_err(&data->client->dev, "Regulator get failed vcc_i2c rc=%d\n", rc);
+ goto reg_vdd_set_vtg;
+ }
+
+ if (regulator_count_voltages(data->vcc_i2c) > 0) {
+ rc = regulator_set_voltage(data->vcc_i2c, FTS_I2C_VTG_MIN_UV, FTS_I2C_VTG_MAX_UV);
+ if (rc) {
+ dev_err(&data->client->dev, "Regulator set_vtg failed vcc_i2c rc=%d\n", rc);
+ goto reg_vcc_i2c_put;
+ }
+ }
+ return 0;
+
+reg_vcc_i2c_put:
+ regulator_put(data->vcc_i2c);
+reg_vdd_set_vtg:
+ if (regulator_count_voltages(data->vdd) > 0)
+ regulator_set_voltage(data->vdd, 0, FTS_VTG_MAX_UV);
+reg_vdd_put:
+ regulator_put(data->vdd);
+ return rc;
+
+pwr_deinit:
+ if (regulator_count_voltages(data->vdd) > 0)
+ regulator_set_voltage(data->vdd, 0, FTS_VTG_MAX_UV);
+
+ regulator_put(data->vdd);
+
+ if (regulator_count_voltages(data->vcc_i2c) > 0)
+ regulator_set_voltage(data->vcc_i2c, 0, FTS_I2C_VTG_MAX_UV);
+
+ regulator_put(data->vcc_i2c);
+ return 0;
+}
+
+/*******************************************************************************
+* Name: fts_ts_pinctrl_init
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+#ifdef MSM_NEW_VER
+static int fts_ts_pinctrl_init(struct fts_ts_data *fts_data)
+{
+ int retval;
+
+ /* Get pinctrl if target uses pinctrl */
+ fts_data->ts_pinctrl = devm_pinctrl_get(&(fts_data->client->dev));
+ if (IS_ERR_OR_NULL(fts_data->ts_pinctrl)) {
+ retval = PTR_ERR(fts_data->ts_pinctrl);
+ dev_dbg(&fts_data->client->dev, "Target does not use pinctrl %d\n", retval);
+ goto err_pinctrl_get;
+ }
+
+ fts_data->pinctrl_state_active
+ = pinctrl_lookup_state(fts_data->ts_pinctrl, PINCTRL_STATE_ACTIVE);
+ if (IS_ERR_OR_NULL(fts_data->pinctrl_state_active)) {
+ retval = PTR_ERR(fts_data->pinctrl_state_active);
+ dev_err(&fts_data->client->dev,
+ "Can not lookup %s pinstate %d\n",
+ PINCTRL_STATE_ACTIVE, retval);
+ goto err_pinctrl_lookup;
+ }
+
+ fts_data->pinctrl_state_suspend
+ = pinctrl_lookup_state(fts_data->ts_pinctrl,
+ PINCTRL_STATE_SUSPEND);
+ if (IS_ERR_OR_NULL(fts_data->pinctrl_state_suspend)) {
+ retval = PTR_ERR(fts_data->pinctrl_state_suspend);
+ dev_err(&fts_data->client->dev,
+ "Can not lookup %s pinstate %d\n",
+ PINCTRL_STATE_SUSPEND, retval);
+ goto err_pinctrl_lookup;
+ }
+
+ fts_data->pinctrl_state_release
+ = pinctrl_lookup_state(fts_data->ts_pinctrl,
+ PINCTRL_STATE_RELEASE);
+ if (IS_ERR_OR_NULL(fts_data->pinctrl_state_release)) {
+ retval = PTR_ERR(fts_data->pinctrl_state_release);
+ dev_dbg(&fts_data->client->dev,
+ "Can not lookup %s pinstate %d\n",
+ PINCTRL_STATE_RELEASE, retval);
+ }
+
+ return 0;
+
+err_pinctrl_lookup:
+ devm_pinctrl_put(fts_data->ts_pinctrl);
+err_pinctrl_get:
+ fts_data->ts_pinctrl = NULL;
+ return retval;
+}
+#endif
+
+#ifdef CONFIG_PM
+/*******************************************************************************
+* Name: fts_ts_start
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+int fts_ts_start(struct device *dev)
+{
+ struct fts_ts_data *data = dev_get_drvdata(dev);
+ int err = 0;
+
+ if (ts_pwr_disabled) {
+ err = fts_power_on(data, true);
+ if (err) {
+ dev_err(dev, "power on failed");
+ return err;
+ }
+ enable_irq(data->client->irq);
+ ts_pwr_disabled = false;
+ }
+
+#ifdef FTS_POWER_CONTROL
+ if (data->pdata->power_on) {
+ err = data->pdata->power_on(true);
+ if (err) {
+ dev_err(dev, "power on failed");
+ return err;
+ }
+ } else {
+ err = fts_power_on(data, true);
+ if (err) {
+ dev_err(dev, "power on failed");
+ return err;
+ }
+ }
+
+ #ifdef MSM_NEW_VER
+ if (data->ts_pinctrl) {
+ err = pinctrl_select_state(data->ts_pinctrl, data->pinctrl_state_active);
+ if (err < 0)
+ dev_err(dev, "Cannot get active pinctrl state\n");
+ }
+ #endif
+
+#endif
+
+
+#ifdef FTS_GPIO_CONTROL
+ err = fts_gpio_configure(data, true);
+ if (err < 0) {
+ dev_err(&data->client->dev, "failed to put gpios in resue state\n");
+ goto err_gpio_configuration;
+ }
+#endif
+
+ if (gpio_is_valid(data->pdata->reset_gpio)) {
+ gpio_set_value_cansleep(data->pdata->reset_gpio, 0);
+ msleep(data->pdata->hard_rst_dly);
+ gpio_set_value_cansleep(data->pdata->reset_gpio, 1);
+ }
+
+#ifndef FTS_GESTRUE_EN
+ enable_irq(data->client->irq);
+#endif
+
+#ifdef FTS_GESTRUE_EN
+ big_area_enabled_flag = false;
+#endif
+
+ if (fts_irq_desc->depth > 0 && fts_wq_running == false) {
+ pr_info("[fts]%s, enable irq, disable depth : %u\n", __func__, fts_irq_desc->depth);
+ enable_irq(fts_wq_data->client->irq);
+ suspend_resume_recovery_count++;
+ }
+
+ data->suspended = false;
+
+ return err;
+
+#ifdef FTS_GPIO_CONTROL
+err_gpio_configuration:
+#endif
+
+
+#ifdef FTS_POWER_CONTROL
+
+#ifdef MSM_NEW_VER
+ if (data->ts_pinctrl) {
+ err = pinctrl_select_state(data->ts_pinctrl, data->pinctrl_state_suspend);
+ if (err < 0)
+ dev_err(dev, "Cannot get suspend pinctrl state\n");
+ }
+ #endif
+
+ if (data->pdata->power_on) {
+ err = data->pdata->power_on(false);
+ if (err)
+ dev_err(dev, "power off failed");
+ } else {
+ err = fts_power_on(data, false);
+ if (err)
+ dev_err(dev, "power off failed");
+ }
+ return err;
+#endif
+}
+
+/*******************************************************************************
+* Name: fts_ts_stop
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+int fts_ts_stop(struct device *dev)
+{
+ struct fts_ts_data *data = dev_get_drvdata(dev);
+ u8 txbuf[2];
+ int i, err;
+#ifdef FTS_GESTRUE_EN
+ u8 reg_addr = FTS_GESTURE_SETTING_ADRESS;
+ u8 reg_value = 0;
+#endif
+
+#ifndef FTS_GESTRUE_EN
+ disable_irq(data->client->irq);
+#endif
+ /* release all touches */
+ for (i = 0; i < data->pdata->num_max_touches; i++) {
+ input_mt_slot(data->input_dev, i);
+ input_mt_report_slot_state(data->input_dev, MT_TOOL_FINGER, 0);
+ }
+ input_mt_report_pointer_emulation(data->input_dev, false);
+ input_sync(data->input_dev);
+
+#ifdef FTS_GESTRUE_EN
+ err = fts_write_reg(fts_i2c_client, FTS_GESTURE_SETTING_ADRESS, 0x01); //Entry Gesture mode
+ err = fts_write_reg(fts_i2c_client, 0xd1, 0x20); //only listen small area
+
+ if (err < 0) {
+ printk(KERN_ERR "[fts]%s, TP set into gesture mode Fail !!!\n", __func__);
+ } else {
+ err = fts_i2c_read(fts_i2c_client, ®_addr, 1, ®_value, 1);
+ printk(KERN_INFO "[fts]%s, FTS_GESTURE_SETTING_ADRESS, ret val : %d \n", __func__, reg_value);
+ }
+
+ txbuf[0] = FTS_REG_AUTO_ENTER_MONITOR;
+ txbuf[1] = 1;
+ err = fts_write_reg(fts_i2c_client, txbuf[0], txbuf[1]);
+ printk(KERN_INFO "[fts]%s, FTS_REG_AUTO_ENTER_MONITOR, ret : %d\n", __func__, err);
+
+ txbuf[0] = FTS_REG_PMODE;
+ txbuf[1] = FTS_PMODE_MONITOR;
+ err = fts_write_reg(fts_i2c_client, txbuf[0], txbuf[1]); //Entry Monitor mode
+ printk(KERN_INFO "[fts]%s, FTS_PMODE_MONITOR, ret : %d\n", __func__, err);
+
+#else
+ txbuf[0] = FTS_REG_PMODE;
+ txbuf[1] = FTS_PMODE_HIBERNATE;
+ err = fts_write_reg(fts_i2c_client, txbuf[0], txbuf[1]); //Entry Hibernate mode
+ printk(KERN_INFO "[fts]%s, FTS_PMODE_HIBERNATE, ret : %d\n", __func__, err);
+
+#endif
+
+#ifdef FTS_POWER_CONTROL
+ if (data->pdata->power_on) {
+ err = data->pdata->power_on(false);
+ if (err) {
+ dev_err(dev, "power off failed");
+ goto pwr_off_fail;
+ }
+ } else {
+ err = fts_power_on(data, false);
+ if (err) {
+ dev_err(dev, "power off failed");
+ goto pwr_off_fail;
+ }
+ }
+
+#ifdef MSM_NEW_VER
+ if (data->ts_pinctrl) {
+ err = pinctrl_select_state(data->ts_pinctrl,
+ data->pinctrl_state_suspend);
+ if (err < 0)
+ dev_err(dev, "Cannot get suspend pinctrl state\n");
+ }
+#endif
+
+#endif
+
+#ifdef FTS_GPIO_CONTROL
+ err = fts_gpio_configure(data, false);
+ if (err < 0) {
+ dev_err(&data->client->dev,
+ "failed to put gpios in suspend state\n");
+ goto gpio_configure_fail;
+ }
+#endif
+
+ if (fts_irq_desc->depth > 0 && fts_wq_running == false) {
+ pr_info("[fts]%s, enable irq, disable depth : %u\n", __func__, fts_irq_desc->depth);
+ enable_irq(fts_wq_data->client->irq);
+ suspend_resume_recovery_count++;
+ }
+
+ data->suspended = true;
+
+ return 0;
+
+#ifdef FTS_GPIO_CONTROL
+gpio_configure_fail:
+#endif
+
+#ifdef FTS_POWER_CONTROL
+
+#ifdef MSM_NEW_VER
+ if (data->ts_pinctrl) {
+ err = pinctrl_select_state(data->ts_pinctrl,
+ data->pinctrl_state_active);
+ if (err < 0)
+ dev_err(dev, "Cannot get active pinctrl state\n");
+ }
+#endif
+
+ if (data->pdata->power_on) {
+ err = data->pdata->power_on(true);
+ if (err)
+ dev_err(dev, "power on failed");
+ } else {
+ err = fts_power_on(data, true);
+ if (err)
+ dev_err(dev, "power on failed");
+ }
+pwr_off_fail:
+ if (gpio_is_valid(data->pdata->reset_gpio)) {
+ gpio_set_value_cansleep(data->pdata->reset_gpio, 0);
+ msleep(data->pdata->hard_rst_dly);
+ gpio_set_value_cansleep(data->pdata->reset_gpio, 1);
+ }
+#endif
+
+#ifndef FTS_GESTRUE_EN
+ enable_irq(data->client->irq);
+#endif
+ return err;
+}
+
+/*******************************************************************************
+* Name: fts_ts_disable
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+int fts_ts_disable(struct device *dev)
+{
+ struct fts_ts_data *data = dev_get_drvdata(dev);
+ u8 txbuf[2];
+ int i, err;
+
+ if (ts_pwr_disabled) {
+ dev_dbg(dev, "[fts]Touch vdd/vcc has been disabled\n");
+ return 0;
+ }
+
+ disable_irq(data->client->irq);
+
+ /* release all touches */
+ for (i = 0; i < data->pdata->num_max_touches; i++) {
+ input_mt_slot(data->input_dev, i);
+ input_mt_report_slot_state(data->input_dev, MT_TOOL_FINGER, 0);
+ }
+ input_mt_report_pointer_emulation(data->input_dev, false);
+ input_sync(data->input_dev);
+
+ //Entry Hibernate mode
+ txbuf[0] = FTS_REG_PMODE;
+ txbuf[1] = FTS_PMODE_HIBERNATE;
+ err = fts_write_reg(fts_i2c_client, txbuf[0], txbuf[1]);
+ printk(KERN_INFO "[fts]%s, FTS_PMODE_HIBERNATE, ret : %d\n", __func__, err);
+
+ err = fts_power_on(data, false);
+ if (err) {
+ dev_err(dev, "[fts]power off failed\n");
+ goto pwr_off_fail;
+ }
+
+ ts_pwr_disabled = true;
+ data->suspended = true;
+ return 0;
+
+pwr_off_fail:
+ if (gpio_is_valid(data->pdata->reset_gpio)) {
+ gpio_set_value_cansleep(data->pdata->reset_gpio, 0);
+ msleep(data->pdata->hard_rst_dly);
+ gpio_set_value_cansleep(data->pdata->reset_gpio, 1);
+ }
+
+ enable_irq(data->client->irq);
+ return err;
+}
+
+/*******************************************************************************
+* Name: fts_ts_suspend
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+int fts_ts_suspend(struct device *dev)
+{
+ struct fts_ts_data *data = dev_get_drvdata(dev);
+
+ int err = 0;
+
+ if (ts_pwr_disabled) {
+ dev_dbg(dev, "Touch vdd/vcc has been disabled\n");
+ return 0;
+ }
+
+ printk(KERN_ERR "[fts]%s, start\n", __func__);
+
+ if (data->suspended) {
+ dev_info(dev, "Already in suspend state\n");
+ return 0;
+ }
+ data->suspending = true;
+
+#ifdef FTS_GESTRUE_EN
+ if (big_area_enabled_flag == true)
+ cancel_delayed_work(&data->touch_event_recovery_work);
+#endif
+
+ #ifdef CONFIG_TOUCHSCREEN_FTS_PSENSOR
+ if (fts_psensor_support_enabled() && data->pdata->psensor_support &&
+ device_may_wakeup(dev) &&
+ data->psensor_pdata->tp_psensor_opened) {
+
+ err = enable_irq_wake(data->client->irq);
+ if (err)
+ dev_err(&data->client->dev,
+ "%s: set_irq_wake failed\n", __func__);
+ data->suspended = true;
+ return err;
+ }
+ #endif
+
+ err = fts_ts_stop(dev);
+
+ printk(KERN_ERR "[fts]%s, finish, err : %d\n", __func__, err);
+ data->suspending = false;
+ if (err < 0)
+ return err;
+
+ return 0;
+}
+
+/*******************************************************************************
+* Name: fts_ts_resume
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+int fts_ts_resume(struct device *dev)
+{
+ int err;
+ struct fts_ts_data *data = dev_get_drvdata(dev);
+
+ printk(KERN_INFO "[fts]%s, start\n", __func__);
+ if (!data->suspended) {
+ dev_dbg(dev, "Already in awake state\n");
+ return 0;
+ }
+
+#ifdef CONFIG_TOUCHSCREEN_FTS_PSENSOR
+ if (fts_psensor_support_enabled() && data->pdata->psensor_support &&
+ device_may_wakeup(dev) &&
+ data->psensor_pdata->tp_psensor_opened) {
+ err = disable_irq_wake(data->client->irq);
+ if (err)
+ dev_err(&data->client->dev, "%s: disable_irq_wake failed\n", __func__);
+ data->suspended = false;
+ return err;
+ }
+#endif
+
+ err = fts_ts_start(dev);
+ printk(KERN_INFO "[fts]%s, finish, err : %d\n", __func__, err);
+ if (err < 0)
+ return err;
+ return 0;
+}
+
+/*******************************************************************************
+* Name: fts_ts_open
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_ts_open(struct input_dev *input_dev)
+{
+ struct fts_ts_data *data;
+ int err = 0;
+
+ printk(KERN_INFO "[fts]%s, start\n", __func__);
+ data = input_get_drvdata(input_dev);
+ err = fts_ts_resume(&(data->client->dev));
+ printk(KERN_INFO "[fts]%s, finish, err : %d\n", __func__, err);
+ if (err < 0) {
+ printk(KERN_ERR "[fts]%s, TP power on fail, err : %d\n", __func__, err);
+ return err;
+ }
+ ts_pwr_disabled = false;
+ return 0;
+}
+
+/*******************************************************************************
+* Name: fts_ts_close
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static void fts_ts_close(struct input_dev *input_dev)
+{
+ struct fts_ts_data *data;
+ int err = 0;
+
+ printk(KERN_INFO "[fts]%s, start\n", __func__);
+ data = input_get_drvdata(input_dev);
+ err = fts_ts_disable(&data->client->dev);
+ printk(KERN_INFO "[fts]%s, finish, err : %d\n", __func__, err);
+ if (err < 0) {
+ printk(KERN_ERR "[fts]%s, TP power disable fail, err : %d\n", __func__, err);
+ return;
+ }
+ ts_pwr_disabled = true;
+}
+
+static const struct dev_pm_ops fts_ts_pm_ops = {
+#if (!defined(CONFIG_FB) && !defined(CONFIG_HAS_EARLYSUSPEND))
+ .suspend = fts_ts_suspend,
+ .resume = fts_ts_resume,
+#endif
+};
+#else
+/*******************************************************************************
+* Name: fts_ts_suspend
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_ts_suspend(struct device *dev)
+{
+ return 0;
+}
+/*******************************************************************************
+* Name: fts_ts_resume
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_ts_resume(struct device *dev)
+{
+ return 0;
+}
+#endif
+
+#if defined(CONFIG_FB)
+/*******************************************************************************
+* Name: fb_notifier_callback
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fb_notifier_callback(struct notifier_block *self,
+ unsigned long event, void *data)
+{
+ struct fb_event *evdata = data;
+ int *blank;
+ struct fts_ts_data *fts_data =
+ container_of(self, struct fts_ts_data, fb_notif);
+
+ if (evdata && evdata->data && event == FB_EVENT_BLANK &&
+ fts_data && fts_data->client) {
+ blank = evdata->data;
+ switch (*blank) {
+ case FB_BLANK_UNBLANK:
+ fts_ts_resume(&fts_data->client->dev);
+ break;
+
+ case FB_BLANK_POWERDOWN:
+ case FB_BLANK_VSYNC_SUSPEND: //dean add. for screen on
+ fts_ts_suspend(&fts_data->client->dev);
+ break;
+
+ default:
+ break;
+ }
+ }
+
+ return 0;
+}
+#elif defined(CONFIG_HAS_EARLYSUSPEND)
+/*******************************************************************************
+* Name: fts_ts_early_suspend
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static void fts_ts_early_suspend(struct early_suspend *handler)
+{
+ struct fts_ts_data *data = container_of(handler,
+ struct fts_ts_data,
+ early_suspend);
+
+ fts_ts_suspend(&data->client->dev);
+}
+
+/*******************************************************************************
+* Name: fts_ts_late_resume
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static void fts_ts_late_resume(struct early_suspend *handler)
+{
+ struct fts_ts_data *data = container_of(handler,
+ struct fts_ts_data,
+ early_suspend);
+
+ fts_ts_resume(&data->client->dev);
+}
+#endif
+
+
+#ifdef CONFIG_OF
+/*******************************************************************************
+* Name: fts_get_dt_coords
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_get_dt_coords(struct device *dev, char *name,
+ struct fts_ts_platform_data *pdata)
+{
+ u32 coords[FTS_COORDS_ARR_SIZE];
+ struct property *prop;
+ struct device_node *np = dev->of_node;
+ int coords_size, rc;
+
+ prop = of_find_property(np, name, NULL);
+ if (!prop)
+ return -EINVAL;
+ if (!prop->value)
+ return -ENODATA;
+
+
+ coords_size = prop->length / sizeof(u32);
+ if (coords_size != FTS_COORDS_ARR_SIZE) {
+ dev_err(dev, "invalid %s\n", name);
+ return -EINVAL;
+ }
+
+ rc = of_property_read_u32_array(np, name, coords, coords_size);
+ if (rc && (rc != -EINVAL)) {
+ dev_err(dev, "Unable to read %s\n", name);
+ return rc;
+ }
+
+ if (!strcmp(name, "focaltech,panel-coords")) {
+ pdata->panel_minx = coords[0];
+ pdata->panel_miny = coords[1];
+ pdata->panel_maxx = coords[2];
+ pdata->panel_maxy = coords[3];
+ } else if (!strcmp(name, "focaltech,display-coords")) {
+ pdata->x_min = coords[0];
+ pdata->y_min = coords[1];
+ pdata->x_max = coords[2];
+ pdata->y_max = coords[3];
+ } else {
+ dev_err(dev, "unsupported property %s\n", name);
+ return -EINVAL;
+ }
+
+ return 0;
+}
+
+/*******************************************************************************
+* Name: fts_parse_dt
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_parse_dt(struct device *dev, struct fts_ts_platform_data *pdata)
+{
+ int rc;
+ struct device_node *np = dev->of_node;
+ struct property *prop;
+ u32 temp_val, num_buttons;
+ u32 button_map[MAX_BUTTONS];
+
+ pdata->name = "focaltech";
+ rc = of_property_read_string(np, "focaltech,name", &pdata->name);
+ if (rc && (rc != -EINVAL)) {
+ dev_err(dev, "Unable to read name\n");
+ return rc;
+ }
+
+ rc = fts_get_dt_coords(dev, "focaltech,panel-coords", pdata);
+ //if (rc && (rc != -EINVAL))
+ //return rc;
+
+ rc = fts_get_dt_coords(dev, "focaltech,display-coords", pdata);
+ if (rc)
+ return rc;
+
+ pdata->i2c_pull_up = of_property_read_bool(np, "focaltech,i2c-pull-up");
+
+ pdata->no_force_update = of_property_read_bool(np, "focaltech,no-force-update");
+ /* reset, irq gpio info */
+ pdata->reset_gpio = of_get_named_gpio_flags(np, "focaltech,reset-gpio", 0, &pdata->reset_gpio_flags);
+ if (pdata->reset_gpio < 0)
+ return pdata->reset_gpio;
+
+ pdata->irq_gpio = of_get_named_gpio_flags(np, "focaltech,irq-gpio", 0, &pdata->irq_gpio_flags);
+ if (pdata->irq_gpio < 0)
+ return pdata->irq_gpio;
+
+ pdata->fw_name = "ft_fw.bin";
+ rc = of_property_read_string(np, "focaltech,fw-name", &pdata->fw_name);
+ if (rc && (rc != -EINVAL)) {
+ dev_err(dev, "Unable to read fw name\n");
+ return rc;
+ }
+
+ rc = of_property_read_u32(np, "focaltech,group-id", &temp_val);
+ if (!rc)
+ pdata->group_id = temp_val;
+ else
+ return rc;
+
+ rc = of_property_read_u32(np, "focaltech,hard-reset-delay-ms", &temp_val);
+ if (!rc)
+ pdata->hard_rst_dly = temp_val;
+ else
+ return rc;
+
+ rc = of_property_read_u32(np, "focaltech,soft-reset-delay-ms", &temp_val);
+ if (!rc)
+ pdata->soft_rst_dly = temp_val;
+ else
+ return rc;
+
+ rc = of_property_read_u32(np, "focaltech,num-max-touches", &temp_val);
+ if (!rc)
+ pdata->num_max_touches = temp_val;
+ else
+ return rc;
+
+ rc = of_property_read_u32(np, "focaltech,fw-delay-aa-ms", &temp_val);
+ if (rc && (rc != -EINVAL)) {
+ dev_err(dev, "Unable to read fw delay aa\n");
+ return rc;
+ } else if (rc != -EINVAL)
+ pdata->info.delay_aa = temp_val;
+
+ rc = of_property_read_u32(np, "focaltech,fw-delay-55-ms", &temp_val);
+ if (rc && (rc != -EINVAL)) {
+ dev_err(dev, "Unable to read fw delay 55\n");
+ return rc;
+ } else if (rc != -EINVAL)
+ pdata->info.delay_55 = temp_val;
+
+ rc = of_property_read_u32(np, "focaltech,fw-upgrade-id1", &temp_val);
+ if (rc && (rc != -EINVAL)) {
+ dev_err(dev, "Unable to read fw upgrade id1\n");
+ return rc;
+ } else if (rc != -EINVAL)
+ pdata->info.upgrade_id_1 = temp_val;
+
+ rc = of_property_read_u32(np, "focaltech,fw-upgrade-id2", &temp_val);
+ if (rc && (rc != -EINVAL)) {
+ dev_err(dev, "Unable to read fw upgrade id2\n");
+ return rc;
+ } else if (rc != -EINVAL)
+ pdata->info.upgrade_id_2 = temp_val;
+
+ rc = of_property_read_u32(np, "focaltech,fw-delay-readid-ms", &temp_val);
+ if (rc && (rc != -EINVAL)) {
+ dev_err(dev, "Unable to read fw delay read id\n");
+ return rc;
+ } else if (rc != -EINVAL)
+ pdata->info.delay_readid = temp_val;
+
+ rc = of_property_read_u32(np, "focaltech,fw-delay-era-flsh-ms", &temp_val);
+ if (rc && (rc != -EINVAL)) {
+ dev_err(dev, "Unable to read fw delay erase flash\n");
+ return rc;
+ } else if (rc != -EINVAL)
+ pdata->info.delay_erase_flash = temp_val;
+
+ pdata->info.AUTO_CLB = of_property_read_bool(np, "focaltech,fw-auto-cal");
+
+ pdata->fw_vkey_support = of_property_read_bool(np, "focaltech,fw-vkey-support");
+
+ pdata->ignore_id_check = of_property_read_bool(np, "focaltech,ignore-id-check");
+
+ pdata->psensor_support = of_property_read_bool(np,
+ "focaltech,psensor-support");
+
+ rc = of_property_read_u32(np, "focaltech,family-id", &temp_val);
+ if (!rc)
+ pdata->family_id = temp_val;
+ else
+ return rc;
+
+ prop = of_find_property(np, "focaltech,button-map", NULL);
+ if (prop) {
+ num_buttons = prop->length / sizeof(temp_val);
+ if (num_buttons > MAX_BUTTONS)
+ return -EINVAL;
+
+ rc = of_property_read_u32_array(np, "focaltech,button-map", button_map, num_buttons);
+ if (rc) {
+ dev_err(dev, "Unable to read key codes\n");
+ return rc;
+ }
+ }
+
+ return 0;
+}
+#else
+/*******************************************************************************
+* Name: fts_parse_dt
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_parse_dt(struct device *dev, struct fts_ts_platform_data *pdata)
+{
+ return -ENODEV;
+}
+#endif
+
+/*******************************************************************************
+* Name: fts_debug_addr_is_valid
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static bool fts_debug_addr_is_valid(int addr)
+{
+ if (addr < 0 || addr > 0xFF) {
+ pr_err("FT reg address is invalid: 0x%x\n", addr);
+ return false;
+ }
+
+ return true;
+}
+
+/*******************************************************************************
+* Name: fts_debug_data_set
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_debug_data_set(void *_data, u64 val)
+{
+ struct fts_ts_data *data = _data;
+
+ mutex_lock(&data->input_dev->mutex);
+
+ if (fts_debug_addr_is_valid(data->addr))
+ dev_info(&data->client->dev,
+ "Writing into FT registers not supported\n");
+
+ mutex_unlock(&data->input_dev->mutex);
+
+ return 0;
+}
+
+/*******************************************************************************
+* Name: fts_debug_data_get
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_debug_data_get(void *_data, u64 *val)
+{
+ struct fts_ts_data *data = _data;
+ int rc;
+ u8 reg;
+
+ mutex_lock(&data->input_dev->mutex);
+
+ if (fts_debug_addr_is_valid(data->addr)) {
+ rc = fts_read_reg(data->client, data->addr, ®);
+ if (rc < 0)
+ dev_err(&data->client->dev,
+ "FT read register 0x%x failed (%d)\n",
+ data->addr, rc);
+ else
+ *val = reg;
+ }
+
+ mutex_unlock(&data->input_dev->mutex);
+
+ return 0;
+}
+
+DEFINE_SIMPLE_ATTRIBUTE(debug_data_fops, fts_debug_data_get, fts_debug_data_set, "0x%02llX\n");
+
+/*******************************************************************************
+* Name: fts_debug_addr_set
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_debug_addr_set(void *_data, u64 val)
+{
+ struct fts_ts_data *data = _data;
+
+ if (fts_debug_addr_is_valid(val)) {
+ mutex_lock(&data->input_dev->mutex);
+ data->addr = val;
+ mutex_unlock(&data->input_dev->mutex);
+ }
+
+ return 0;
+}
+
+/*******************************************************************************
+* Name: fts_debug_addr_get
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_debug_addr_get(void *_data, u64 *val)
+{
+ struct fts_ts_data *data = _data;
+
+ mutex_lock(&data->input_dev->mutex);
+
+ if (fts_debug_addr_is_valid(data->addr))
+ *val = data->addr;
+
+ mutex_unlock(&data->input_dev->mutex);
+
+ return 0;
+}
+
+DEFINE_SIMPLE_ATTRIBUTE(debug_addr_fops, fts_debug_addr_get, fts_debug_addr_set, "0x%02llX\n");
+
+/*******************************************************************************
+* Name: fts_debug_suspend_set
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_debug_suspend_set(void *_data, u64 val)
+{
+ struct fts_ts_data *data = _data;
+
+ mutex_lock(&data->input_dev->mutex);
+
+ if (val)
+ fts_ts_suspend(&data->client->dev);
+ else
+ fts_ts_resume(&data->client->dev);
+
+ mutex_unlock(&data->input_dev->mutex);
+
+ return 0;
+}
+
+/*******************************************************************************
+* Name: fts_debug_suspend_get
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_debug_suspend_get(void *_data, u64 *val)
+{
+ struct fts_ts_data *data = _data;
+
+ mutex_lock(&data->input_dev->mutex);
+ *val = data->suspended;
+ mutex_unlock(&data->input_dev->mutex);
+
+ return 0;
+}
+
+DEFINE_SIMPLE_ATTRIBUTE(debug_suspend_fops, fts_debug_suspend_get, fts_debug_suspend_set, "%lld\n");
+
+/*******************************************************************************
+* Name: fts_debug_dump_info
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+int fts_debug_dump_info(struct seq_file *m, void *v)
+{
+ struct fts_ts_data *data = m->private;
+
+ seq_printf(m, "%s\n", data->ts_info);
+
+ return 0;
+}
+
+/*******************************************************************************
+* Name: debugfs_dump_info_open
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int debugfs_dump_info_open(struct inode *inode, struct file *file)
+{
+ return single_open(file, fts_debug_dump_info, inode->i_private);
+}
+
+static const struct file_operations debug_dump_info_fops = {
+ .owner = THIS_MODULE,
+ .open = debugfs_dump_info_open,
+ .read = seq_read,
+ .release = single_release,
+};
+
+/*******************************************************************************
+* Name: fts_ts_probe
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_ts_probe(struct i2c_client *client, const struct i2c_device_id *id)
+{
+ struct fts_ts_platform_data *pdata;
+
+ #ifdef CONFIG_TOUCHSCREEN_FTS_PSENSOR
+ struct fts_psensor_platform_data *psensor_pdata;
+ struct input_dev *psensor_input_dev;
+ #endif
+
+ struct fts_ts_data *data;
+ struct input_dev *input_dev;
+
+ struct dentry *temp;
+ u8 reg_value;
+ u8 reg_addr;
+ int err, len;
+
+ if (client->dev.of_node) {
+ pdata = devm_kzalloc(&client->dev,
+ sizeof(struct fts_ts_platform_data), GFP_KERNEL);
+ if (!pdata) {
+ dev_err(&client->dev, "Failed to allocate memory\n");
+ return -ENOMEM;
+ }
+
+ err = fts_parse_dt(&client->dev, pdata);
+ if (err) {
+ dev_err(&client->dev, "DT parsing failed\n");
+ //return err;
+ }
+
+ } else
+ pdata = client->dev.platform_data;
+
+ if (!pdata) {
+ dev_err(&client->dev, "Invalid pdata\n");
+ return -EINVAL;
+ }
+
+ if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
+ dev_err(&client->dev, "I2C not supported\n");
+ return -ENODEV;
+ }
+
+ data = devm_kzalloc(&client->dev, sizeof(struct fts_ts_data), GFP_KERNEL);
+ if (!data) {
+ dev_err(&client->dev, "Not enough memory\n");
+ return -ENOMEM;
+ }
+
+ fts_wq_data = data;
+
+ if (pdata->fw_name) {
+ len = strlen(pdata->fw_name);
+ if (len > FTS_FW_NAME_MAX_LEN - 1) {
+ dev_err(&client->dev, "Invalid firmware name\n");
+ return -EINVAL;
+ }
+
+ strlcpy(data->fw_name, pdata->fw_name, len + 1);
+ }
+
+ data->tch_data_len = FTS_TCH_LEN(pdata->num_max_touches);
+ data->tch_data = devm_kzalloc(&client->dev, data->tch_data_len, GFP_KERNEL);
+
+ if (!data->tch_data) {
+ dev_err(&client->dev, "Not enough memory\n");
+ return -ENOMEM;
+ }
+
+ input_dev = input_allocate_device();
+ if (!input_dev) {
+ dev_err(&client->dev, "failed to allocate input device\n");
+ return -ENOMEM;
+ }
+
+ data->input_dev = input_dev;
+ data->client = client;
+ data->pdata = pdata;
+
+ input_dev->name = "fts_ts";
+ input_dev->id.bustype = BUS_I2C;
+ input_dev->dev.parent = &client->dev;
+
+ input_dev->open = fts_ts_open;
+ input_dev->close = fts_ts_close;
+
+ input_set_drvdata(input_dev, data);
+ i2c_set_clientdata(client, data);
+
+ __set_bit(EV_KEY, input_dev->evbit);
+ __set_bit(EV_ABS, input_dev->evbit);
+ __set_bit(BTN_TOUCH, input_dev->keybit);
+ __set_bit(INPUT_PROP_DIRECT, input_dev->propbit);
+
+ input_mt_init_slots(input_dev, pdata->num_max_touches, 0);
+ //input_mt_init_slots(input_dev, pdata->num_max_touches);
+ input_set_abs_params(input_dev, ABS_MT_POSITION_X, pdata->x_min, pdata->x_max, 0, 0);
+ input_set_abs_params(input_dev, ABS_MT_POSITION_Y, pdata->y_min, pdata->y_max, 0, 0);
+ input_set_abs_params(input_dev, ABS_MT_TOUCH_MAJOR, 0, 0x0f, 0, 0);
+ //input_set_abs_params(input_dev, ABS_MT_PRESSURE, 0, 0xff, 0, 0);
+
+ err = input_register_device(input_dev);
+ if (err) {
+ dev_err(&client->dev, "Input device registration failed\n");
+ goto free_inputdev;
+ }
+
+
+ if (pdata->power_init) {
+ err = pdata->power_init(true);
+ if (err) {
+ dev_err(&client->dev, "pdata->power_init power init failed");
+ goto unreg_inputdev;
+ }
+ } else {
+ err = fts_power_init(data, true);
+ if (err) {
+ dev_err(&client->dev, "fts_power_init power init failed");
+ goto unreg_inputdev;
+ }
+ }
+
+ if (pdata->power_on) {
+ err = pdata->power_on(true);
+ if (err) {
+ dev_err(&client->dev, "power on failed");
+ goto pwr_deinit;
+ }
+ } else {
+ err = fts_power_on(data, true);
+ if (err) {
+ dev_err(&client->dev, "power on failed");
+ goto pwr_deinit;
+ }
+ }
+
+ #ifdef MSM_NEW_VER
+ err = fts_ts_pinctrl_init(data);
+ if (!err && data->ts_pinctrl) {
+ /*
+ * Pinctrl handle is optional. If pinctrl handle is found
+ * let pins to be configured in active state. If not
+ * found continue further without error.
+ */
+ err = pinctrl_select_state(data->ts_pinctrl,
+ data->pinctrl_state_active);
+ if (err < 0) {
+ dev_err(&client->dev,
+ "failed to select pin to active state");
+ }
+ }
+ #endif
+
+ err = fts_gpio_configure(data, true);
+ if (err < 0) {
+ dev_err(&client->dev,
+ "Failed to configure the gpios\n");
+ goto err_gpio_req;
+ }
+
+ /* make sure CTP already finish startup process */
+ msleep(data->pdata->soft_rst_dly);
+
+ INIT_WORK(&data->touch_event_work, fts_touch_irq_work);
+ data->ts_workqueue = create_workqueue(FTS_WORKQUEUE_NAME);
+ if (!data->ts_workqueue)
+ {
+ err = -ESRCH;
+ goto exit_create_singlethread;
+ }
+
+
+ /* check the controller id */
+ reg_addr = FTS_REG_ID;
+ err = fts_i2c_read(client, ®_addr, 1, ®_value, 1);
+ if (err < 0) {
+ dev_err(&client->dev, "version read failed");
+ goto free_gpio;
+ }
+
+ dev_info(&client->dev, "Device ID = 0x%x\n", reg_value);
+
+ if ((pdata->family_id != reg_value) && (!pdata->ignore_id_check)) {
+ dev_err(&client->dev, "%s:Unsupported controller\n", __func__);
+ //goto free_gpio;
+ }
+
+ data->family_id = pdata->family_id;
+
+ fts_i2c_client = client;
+ fts_input_dev = input_dev;
+
+ fts_get_upgrade_array();
+
+
+ dev_err(&client->dev, "pdata irq : %d \n", data->pdata->irq_gpio);
+ dev_err(&client->dev, "client irq : %d, pdata flags : %d \n", client->irq, pdata->irqflags);
+#ifdef FTS_GESTRUE_EN
+ INIT_DELAYED_WORK(&data->touch_event_recovery_work, fts_touch_recovery_work);
+#endif
+
+#ifdef FTS_GESTRUE_EN
+ irq_set_irq_wake(client->irq, 1);
+#endif
+ err = request_threaded_irq(/*client->irq*/gpio_to_irq(data->pdata->irq_gpio), NULL, fts_ts_interrupt,
+ pdata->irqflags | IRQF_ONESHOT | IRQF_TRIGGER_FALLING,
+ client->dev.driver->name, data);
+ if (err) {
+ dev_err(&client->dev, "request irq failed\n");
+ goto free_wake_irq;
+ }
+
+ fts_irq_desc = irq_to_desc(client->irq);
+ disable_irq(client->irq);
+
+ #ifdef CONFIG_TOUCHSCREEN_FTS_PSENSOR
+ if (fts_psensor_support_enabled() && data->pdata->psensor_support) {
+ device_init_wakeup(&client->dev, 1);
+ psensor_pdata = devm_kzalloc(&client->dev,
+ sizeof(struct fts_psensor_platform_data),
+ GFP_KERNEL);
+ if (!psensor_pdata) {
+ dev_err(&client->dev, "Failed to allocate memory\n");
+ goto irq_free;
+ }
+ data->psensor_pdata = psensor_pdata;
+
+ psensor_input_dev = input_allocate_device();
+ if (!psensor_input_dev) {
+ dev_err(&data->client->dev,
+ "Failed to allocate device\n");
+ goto free_psensor_pdata;
+ }
+
+ __set_bit(EV_ABS, psensor_input_dev->evbit);
+ input_set_abs_params(psensor_input_dev,
+ ABS_DISTANCE, 0, 1, 0, 0);
+ psensor_input_dev->name = "proximity";
+ psensor_input_dev->id.bustype = BUS_I2C;
+ psensor_input_dev->dev.parent = &data->client->dev;
+ data->psensor_pdata->input_psensor_dev = psensor_input_dev;
+
+ err = input_register_device(psensor_input_dev);
+ if (err) {
+ dev_err(&data->client->dev,
+ "Unable to register device, err=%d\n", err);
+ goto free_psensor_input_dev;
+ }
+
+ psensor_pdata->ps_cdev = sensors_proximity_cdev;
+ psensor_pdata->ps_cdev.sensors_enable =
+ fts_psensor_enable_set;
+ psensor_pdata->data = data;
+
+ err = sensors_classdev_register(&client->dev,
+ &psensor_pdata->ps_cdev);
+ if (err)
+ goto unregister_psensor_input_device;
+ }
+ #endif
+
+ data->dir = debugfs_create_dir(FTS_DEBUG_DIR_NAME, NULL);
+ if (data->dir == NULL || IS_ERR(data->dir)) {
+ pr_err("debugfs_create_dir failed(%ld)\n", PTR_ERR(data->dir));
+ err = PTR_ERR(data->dir);
+ }
+
+ temp = debugfs_create_file("addr", S_IRUSR | S_IWUSR, data->dir, data,
+ &debug_addr_fops);
+ if (temp == NULL || IS_ERR(temp)) {
+ pr_err("debugfs_create_file failed: rc=%ld\n", PTR_ERR(temp));
+ err = PTR_ERR(temp);
+ goto free_debug_dir;
+ }
+
+ temp = debugfs_create_file("data", S_IRUSR | S_IWUSR, data->dir, data,
+ &debug_data_fops);
+ if (temp == NULL || IS_ERR(temp)) {
+ pr_err("debugfs_create_file failed: rc=%ld\n", PTR_ERR(temp));
+ err = PTR_ERR(temp);
+ goto free_debug_dir;
+ }
+
+ temp = debugfs_create_file("suspend", S_IRUSR | S_IWUSR, data->dir,
+ data, &debug_suspend_fops);
+ if (temp == NULL || IS_ERR(temp)) {
+ pr_err("debugfs_create_file failed: rc=%ld\n", PTR_ERR(temp));
+ err = PTR_ERR(temp);
+ goto free_debug_dir;
+ }
+
+ temp = debugfs_create_file("dump_info", S_IRUSR | S_IWUSR, data->dir,
+ data, &debug_dump_info_fops);
+ if (temp == NULL || IS_ERR(temp)) {
+ pr_err("debugfs_create_file failed: rc=%ld\n", PTR_ERR(temp));
+ err = PTR_ERR(temp);
+ goto free_debug_dir;
+ }
+
+ data->ts_info = devm_kzalloc(&client->dev, FTS_INFO_MAX_LEN, GFP_KERNEL);
+ if (!data->ts_info) {
+ dev_err(&client->dev, "Not enough memory\n");
+ goto free_debug_dir;
+ }
+
+ /* get TP Source ID number*/
+ err = checkTPSource(data);
+
+ /*get some register information */
+ reg_addr = FTS_REG_POINT_RATE;
+ fts_i2c_read(client, ®_addr, 1, ®_value, 1);
+ if (err < 0)
+ dev_err(&client->dev, "report rate read failed");
+
+ dev_info(&client->dev, "report rate = %dHz\n", reg_value * 10);
+
+ reg_addr = FTS_REG_THGROUP;
+ err = fts_i2c_read(client, ®_addr, 1, ®_value, 1);
+ if (err < 0)
+ dev_err(&client->dev, "threshold read failed");
+
+ dev_dbg(&client->dev, "touch threshold = %d\n", reg_value * 4);
+
+ fts_update_fw_ver(data);
+ fts_update_fw_vendor_id(data);
+
+ printk(KERN_INFO "[fts] The touch F/W has problem fw_vendor_id : %x , tp_vendor_id : %x\n",
+ data->fw_vendor_id,data->tp_vendor_id);
+ //checking bootloader TP vendor id and FW venfor id is same or not.
+
+ FTS_STORE_TS_INFO(data->ts_info, data->family_id, data->pdata->name,
+ data->pdata->num_max_touches, data->pdata->group_id,
+ data->pdata->fw_vkey_support ? "yes" : "no",
+ data->pdata->fw_name, data->fw_ver[0],
+ data->fw_ver[1], data->fw_ver[2]);
+
+ #ifdef FTS_APK_DEBUG
+ fts_create_apk_debug_channel(client);
+ #endif
+
+ #ifdef FTS_SYSFS_DEBUG
+ fts_create_sysfs(client);
+ #endif
+
+
+ #ifdef FTS_CTL_IIC
+ if (fts_rw_iic_drv_init(client) < 0)
+ {
+ dev_err(&client->dev, "%s:[FTS] create fts control iic driver failed\n", __func__);
+ }
+ #endif
+
+
+#ifdef FTS_GESTRUE_EN
+ input_set_capability(input_dev, EV_KEY, KEY_SLEEP);
+#endif
+
+ #ifdef FTS_AUTO_UPGRADE
+ if(data->tp_vendor_id >= 0) {
+ printk(KERN_INFO "[fts] Enter CTP Auto Upgrade \n");
+ if(data->fw_ver[0] == 0) //recovery
+ printk(KERN_INFO "[fts] FW ver is 0x00, Enter Recovery mode \n");
+
+ err = fts_ctpm_auto_upgrade_for_cci(client, data->tp_vendor_id, false);
+ if(err == 0) {
+ fts_update_fw_ver(data);
+ fts_update_fw_vendor_id(data);
+ }
+ } else {
+ printk(KERN_ERR "[fts] tp_vendor_id is woring : %d \n", data->tp_vendor_id );
+ }
+ #endif
+
+#if defined(CONFIG_FB)
+ data->fb_notif.notifier_call = fb_notifier_callback;
+
+ err = fb_register_client(&data->fb_notif);
+
+ if (err)
+ dev_err(&client->dev, "Unable to register fb_notifier: %d\n", err);
+#elif defined(CONFIG_HAS_EARLYSUSPEND)
+ data->early_suspend.level = EARLY_SUSPEND_LEVEL_BLANK_SCREEN + FTS_SUSPEND_LEVEL;
+ data->early_suspend.suspend = fts_ts_early_suspend;
+ data->early_suspend.resume = fts_ts_late_resume;
+ register_early_suspend(&data->early_suspend);
+#endif
+
+ enable_irq(client->irq);
+
+ return 0;
+
+free_debug_dir:
+ debugfs_remove_recursive(data->dir);
+
+#ifdef CONFIG_TOUCHSCREEN_FTS_PSENSOR
+unregister_psensor_input_device:
+ if (fts_psensor_support_enabled() && data->pdata->psensor_support)
+ input_unregister_device(data->psensor_pdata->input_psensor_dev);
+free_psensor_input_dev:
+ if (fts_psensor_support_enabled() && data->pdata->psensor_support)
+ input_free_device(data->psensor_pdata->input_psensor_dev);
+free_psensor_pdata:
+ if (fts_psensor_support_enabled() && data->pdata->psensor_support) {
+ devm_kfree(&client->dev, psensor_pdata);
+ data->psensor_pdata = NULL;
+ }
+irq_free:
+ if ((fts_psensor_support_enabled() &&
+ data->pdata->psensor_support))
+ device_init_wakeup(&client->dev, 0);
+ free_irq(client->irq, data);
+#endif
+
+free_wake_irq:
+#ifdef FTS_GESTRUE_EN
+ irq_set_irq_wake(client->irq, 0);
+#endif
+
+free_gpio:
+
+gpio_set_value(data->pdata->irq_gpio, 1);
+
+ if (gpio_is_valid(pdata->reset_gpio))
+ gpio_free(pdata->reset_gpio);
+ if (gpio_is_valid(pdata->irq_gpio))
+ gpio_free(pdata->irq_gpio);
+exit_create_singlethread:
+ printk("==singlethread error =\n");
+ i2c_set_clientdata(client, NULL);
+err_gpio_req:
+ #ifdef MSM_NEW_VER
+ if (data->ts_pinctrl) {
+ if (IS_ERR_OR_NULL(data->pinctrl_state_release)) {
+ devm_pinctrl_put(data->ts_pinctrl);
+ data->ts_pinctrl = NULL;
+ } else {
+ err = pinctrl_select_state(data->ts_pinctrl,
+ data->pinctrl_state_release);
+ if (err)
+ pr_err("failed to select relase pinctrl state\n");
+ }
+ }
+ #endif
+
+ if (pdata->power_on)
+ pdata->power_on(false);
+ else
+ fts_power_on(data, false);
+pwr_deinit:
+ if (pdata->power_init)
+ pdata->power_init(false);
+ else
+ fts_power_init(data, false);
+unreg_inputdev:
+ input_unregister_device(input_dev);
+ input_dev = NULL;
+free_inputdev:
+ input_free_device(input_dev);
+ return err;
+}
+
+/*******************************************************************************
+* Name: fts_ts_remove
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_ts_remove(struct i2c_client *client)
+{
+ struct fts_ts_data *data = i2c_get_clientdata(client);
+
+ cancel_work_sync(&data->touch_event_work);
+ destroy_workqueue(data->ts_workqueue);
+
+ debugfs_remove_recursive(data->dir);
+
+#ifdef CONFIG_TOUCHSCREEN_FTS_PSENSOR
+ if (fts_psensor_support_enabled() && data->pdata->psensor_support) {
+
+ device_init_wakeup(&client->dev, 0);
+ sensors_classdev_unregister(&data->psensor_pdata->ps_cdev);
+ input_unregister_device(data->psensor_pdata->input_psensor_dev);
+ devm_kfree(&client->dev, data->psensor_pdata);
+ data->psensor_pdata = NULL;
+ }
+#endif
+
+#ifdef FTS_APK_DEBUG
+ fts_release_apk_debug_channel();
+#endif
+
+#ifdef FTS_SYSFS_DEBUG
+ fts_remove_sysfs(fts_i2c_client);
+#endif
+
+
+#ifdef FTS_CTL_IIC
+ fts_rw_iic_drv_exit();
+#endif
+
+
+#if defined(CONFIG_FB)
+ if (fb_unregister_client(&data->fb_notif))
+ dev_err(&client->dev, "Error occurred while unregistering fb_notifier.\n");
+#elif defined(CONFIG_HAS_EARLYSUSPEND)
+ unregister_early_suspend(&data->early_suspend);
+#endif
+ free_irq(client->irq, data);
+
+ if (gpio_is_valid(data->pdata->reset_gpio))
+ gpio_free(data->pdata->reset_gpio);
+
+ if (gpio_is_valid(data->pdata->irq_gpio))
+ gpio_free(data->pdata->irq_gpio);
+
+ if (data->pdata->power_on)
+ data->pdata->power_on(false);
+ else
+ fts_power_on(data, false);
+
+ if (data->pdata->power_init)
+ data->pdata->power_init(false);
+ else
+ fts_power_init(data, false);
+
+ input_unregister_device(data->input_dev);
+
+ return 0;
+}
+
+static const struct i2c_device_id fts_ts_id[] = {
+ {"fts_ts", 0},
+ {},
+};
+
+MODULE_DEVICE_TABLE(i2c, fts_ts_id);
+
+#ifdef CONFIG_OF
+static struct of_device_id fts_match_table[] = {
+ { .compatible = "focaltech,fts",},
+ { },
+};
+#else
+#define fts_match_table NULL
+#endif
+
+static struct i2c_driver fts_ts_driver = {
+ .probe = fts_ts_probe,
+ .remove = fts_ts_remove,
+ .driver = {
+ .name = "ft_3207",
+ .owner = THIS_MODULE,
+ .of_match_table = fts_match_table,
+#ifdef CONFIG_PM
+ .pm = &fts_ts_pm_ops,
+#endif
+ },
+ .id_table = fts_ts_id,
+};
+
+/*******************************************************************************
+* Name: fts_ts_init
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int __init fts_ts_init(void)
+{
+ return i2c_add_driver(&fts_ts_driver);
+}
+
+/*******************************************************************************
+* Name: fts_ts_exit
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static void __exit fts_ts_exit(void)
+{
+ i2c_del_driver(&fts_ts_driver);
+}
+
+module_init(fts_ts_init);
+module_exit(fts_ts_exit);
+
+MODULE_DESCRIPTION("FocalTech fts TouchScreen driver");
+MODULE_LICENSE("GPL v2");
diff --git a/drivers/input/touchscreen/focaltech_3207/focaltech_core.h b/drivers/input/touchscreen/focaltech_3207/focaltech_core.h
new file mode 100644
index 0000000..ea7c315
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/focaltech_core.h
@@ -0,0 +1,426 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+#ifndef __LINUX_FTS_H__
+#define __LINUX_FTS_H__
+
+/*******************************************************************************
+* Included header files
+*******************************************************************************/
+#include <linux/i2c.h>
+#include <linux/input.h>
+#include <linux/input/mt.h>
+#include <linux/slab.h>
+#include <linux/interrupt.h>
+#include <linux/delay.h>
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/gpio.h>
+#include <linux/of_gpio.h>
+#include <linux/regulator/consumer.h>
+#include <linux/firmware.h>
+#include <linux/debugfs.h>
+#ifdef CONFIG_TOUCHSCREEN_FTS_PSENSOR
+#include <linux/sensors.h>
+#endif
+#include <linux/mutex.h>
+#include <linux/wait.h>
+#include <linux/time.h>
+#include <linux/workqueue.h>
+#include <linux/fs.h>
+#include <linux/proc_fs.h>
+#include <asm/uaccess.h>
+#include <linux/version.h>
+#include <linux/types.h>
+#include <linux/sched.h>
+#include <linux/kthread.h>
+#include <linux/init.h>
+#include <linux/cdev.h>
+#include <linux/device.h>
+#include <linux/mount.h>
+#include <linux/netdevice.h>
+#include <linux/unistd.h>
+#include <linux/ioctl.h>
+#include "ft_gesture_lib.h"
+
+
+/*******************************************************************************
+* Private constant and macro definitions using #define
+*******************************************************************************/
+#define FTS_DRIVER_INFO "Qualcomm_Ver 1.3.1 2015-07-06"
+#define FT5X06_ID 0x55
+#define FT5X16_ID 0x0A
+#define FT5X36_ID 0x14
+#define FT6X06_ID 0x06
+#define FT6X36_ID 0x36
+
+#define FT5316_ID 0x0A
+#define FT5306I_ID 0x55
+
+#define LEN_FLASH_ECC_MAX 0xFFFE
+
+#define FTS_MAX_POINTS 2
+
+#define FTS_WORKQUEUE_NAME "fts_wq"
+
+#define FTS_DEBUG_DIR_NAME "fts_debug"
+
+#define FTS_INFO_MAX_LEN 512
+#define FTS_FW_NAME_MAX_LEN 50
+
+#define FTS_REG_ID 0xA3
+#define FTS_REG_FW_VER 0xA6
+#define FTS_REG_FW_VENDOR_ID 0xA8
+#define FTS_REG_POINT_RATE 0x88
+
+#define FTS_FACTORYMODE_VALUE 0x40
+#define FTS_WORKMODE_VALUE 0x00
+
+//#define CONFIG_TOUCHSCREEN_FTS_PSENSOR
+#define MSM_NEW_VER //cotrol new platform
+
+
+#define FTS_STORE_TS_INFO(buf, id, name, max_tch, group_id, fw_vkey_support, \
+ fw_name, fw_maj, fw_min, fw_sub_min) \
+ snprintf(buf, FTS_INFO_MAX_LEN, \
+ "controller\t= focaltech\n" \
+ "model\t\t= 0x%x\n" \
+ "name\t\t= %s\n" \
+ "max_touches\t= %d\n" \
+ "drv_ver\t\t= %s\n" \
+ "group_id\t= 0x%x\n" \
+ "fw_vkey_support\t= %s\n" \
+ "fw_name\t\t= %s\n" \
+ "fw_ver\t\t= %d.%d.%d\n", id, name, \
+ max_tch, FTS_DRIVER_INFO, group_id, \
+ fw_vkey_support, fw_name, fw_maj, fw_min, \
+ fw_sub_min)
+
+
+#define FTS_DBG_EN 1
+#if FTS_DBG_EN
+#define FTS_DBG(fmt, args...) printk("[FTS]" fmt, ## args)
+#else
+#define FTS_DBG(fmt, args...) do{}while(0)
+#endif
+
+#define NORMAL_MODE FTS_WORKMODE_VALUE
+#define FACTORY_MODE FTS_FACTORYMODE_VALUE
+
+/* Working Mode Register Map */
+#define DEV_MODE 0
+#define GEST_ID 0x01
+#define TD_STATUS 0x02
+#define P1_XH 0x03
+#define P1_XL 0x04
+#define P1_YH 0x05
+#define P1_YL 0x06
+#define P1_WEIGHT 0x07
+#define P1_MISC 0x08
+#define P2_XH 0x09
+#define P2_XL 0x0A
+#define P2_YH 0x0B
+#define P2_YL 0x0C
+#define P2_WEIGHT 0x0D
+#define P2_MISC 0x0E
+
+/* Factory */
+#define MAX_CHANNEL_NUMBER 22
+#define MAX_KEY_NUMBER 0
+#define TEST_PASS 1
+#define TEST_FAIL 0
+#define ERR_ENTER_FACTORY -1
+#define ERR_ENTER_NORMAL -2
+#define ERR_READ_CHL_KEY -3
+#define ERR_READ_RAW_DATA -4
+#define ERR_READ_CB_DATA -5
+#define ERR_READ_CB_DELTA_DATA -6
+
+/*TODO: This testing value needs to discuss with Focaltech FAE and TP Maker*/
+#define MAX_RAWDATA 17000
+#define MIN_RAWDATA 13000
+#define MAX_CBDATA 1000
+#define MIN_CBDATA 3
+#define MAX_CBDELTADATA 200
+#define MIN_CBDELTADATA 50
+#define TEST_TOLERANCE_PERCENT 25
+
+#define TP_CHNL_NUM 0x0A
+#define TP_KEY_NUM 0x0B
+#define TP_A_CMD_REG 0x08
+#define CB_DATA_ADDR_R 0x33
+#define RAW_DATA_ADDR_R 0x34
+#define RAW_DATA_BUF 0x35
+#define CB_DATA_BUF 0x39
+#define FACTORY_TEST_MODE_ADDR 0xAE
+/* for Factory mode register 0xAE*/
+#define F_NORMAL 0x00
+#define F_TESTMODE_1 0x01
+#define F_TESTMODE_2 0x02
+/* Factory END*/
+#define TP_ID_82 0x82
+#define TP_ID_83 0x83
+#define TP_ID_84 0x84
+#define TP_ID_85 0x85
+#define TP_ID_81 0x81
+#define TP_ID_86 0x86
+#define TP_ID_88 0x88
+#define TP_ID_89 0x89
+#define TP_ID_8A 0x8A
+#define TP_ID_A0 0xA0
+#define TP_ID_A1 0xA1
+#define TP_ID_A2 0xA2
+#define TP_ID_A3 0xA3
+#define TP_INI_FILE "FT3207_20170123_HOST_F02_V02_OnlyTest.ini"
+#define FTS_GESTURE_SETTING_ADRESS 0xD0
+#define FTS_GESTURE_OUTPUT_ADRESS 0xD3
+#define GESTURE_UNKNOWN 0x00
+#define GESTURE_SMALL_AREA 0x25 //TP Coverage < 50%
+#define GESTURE_LARGE_AREA 0x26 //TP Coverage > 50%
+
+#define STATE_NORMAL 0x00
+#define STATE_GESTRUE 0x01
+
+#define FTS_GESTRUE_EN
+
+#ifndef FTS_GESTRUE_EN
+
+#define FTS_POWER_CONTROL
+#define FTS_GPIO_CONTROL
+
+#endif
+#define SELFTEST_ITEM_NUM 4
+/* unit : ms */
+#define TP_RECOVERY_TIME 400
+#define f_dentry f_path.dentry
+/*******************************************************************************
+* Private enumerations, structures and unions using typedef
+*******************************************************************************/
+enum{
+ENTER_FACTORY_MODE_TEST = 0,
+RAWDATA_TEST,
+CB_TEST,
+DIFF_CB_TEST
+};
+
+enum{
+FW_CHECK_PASS = 0,
+FW_CHECK_FAIL,
+TP_ID_IS_WRONG
+};
+
+enum{
+DISABLE_TAG = 48, /* string "0" */
+ENABLE_POINT_TAG,
+#ifdef FTS_GESTRUE_EN
+ENABLE_GESTURE_TAG
+#endif
+};
+
+struct fts_Upgrade_Info
+{
+ u8 CHIP_ID;
+ u8 TPD_MAX_POINTS;
+ u8 AUTO_CLB;
+ u16 delay_aa; /*delay of write FT_UPGRADE_AA */
+ u16 delay_55; /*delay of write FT_UPGRADE_55 */
+ u8 upgrade_id_1; /*upgrade id 1 */
+ u8 upgrade_id_2; /*upgrade id 2 */
+ u16 delay_readid; /*delay of read id */
+ u16 delay_erase_flash; /*delay of earse flash*/
+};
+
+struct fts_ts_platform_data {
+ struct fts_Upgrade_Info info;
+ const char *name;
+ const char *fw_name;
+ u32 irqflags;
+ u32 irq_gpio;
+ u32 irq_gpio_flags;
+ u32 reset_gpio;
+ u32 reset_gpio_flags;
+ u32 family_id;
+ u32 x_max;
+ u32 y_max;
+ u32 x_min;
+ u32 y_min;
+ u32 panel_minx;
+ u32 panel_miny;
+ u32 panel_maxx;
+ u32 panel_maxy;
+ u32 group_id;
+ u32 hard_rst_dly;
+ u32 soft_rst_dly;
+ u32 num_max_touches;
+ bool fw_vkey_support;
+ bool no_force_update;
+ bool i2c_pull_up;
+ bool ignore_id_check;
+ bool psensor_support;
+ int (*power_init) (bool);
+ int (*power_on) (bool);
+};
+
+struct ts_event {
+ u16 au16_x[FTS_MAX_POINTS]; /*x coordinate */
+ u16 au16_y[FTS_MAX_POINTS]; /*y coordinate */
+ u16 pressure[FTS_MAX_POINTS];
+ u8 au8_touch_event[FTS_MAX_POINTS]; /*touch event:
+ 0 -- down; 1-- up; 2 -- contact */
+ u8 au8_finger_id[FTS_MAX_POINTS]; /*touch ID */
+ u8 area[FTS_MAX_POINTS];
+ u8 touch_point;
+ u8 point_num;
+#ifdef FTS_GESTRUE_EN
+ u8 gesture_id;
+#endif
+};
+
+struct fts_ts_data {
+ struct i2c_client *client;
+ struct input_dev *input_dev;
+ struct ts_event event;
+ const struct fts_ts_platform_data *pdata;
+ struct fts_psensor_platform_data *psensor_pdata;
+ struct work_struct touch_event_work;
+ struct delayed_work touch_event_recovery_work;
+ struct workqueue_struct *ts_workqueue;
+ struct regulator *vdd;
+ struct regulator *vcc_i2c;
+ char fw_name[FTS_FW_NAME_MAX_LEN];
+ bool loading_fw;
+ u8 family_id;
+ struct dentry *dir;
+ u16 addr;
+ bool suspended;
+ bool suspending;
+ char *ts_info;
+ u8 *tch_data;
+ u32 tch_data_len;
+ u8 fw_ver[3];
+ u8 fw_vendor_id;
+ u8 tp_vendor_id;
+#ifdef FTS_GESTRUE_EN
+ int tp_gesture_id;
+#endif
+ int touchs;
+#if defined(CONFIG_FB)
+ struct notifier_block fb_notif;
+#elif defined(CONFIG_HAS_EARLYSUSPEND)
+ struct early_suspend early_suspend;
+#endif
+#ifdef MSM_NEW_VER
+ struct pinctrl *ts_pinctrl;
+ struct pinctrl_state *pinctrl_state_active;
+ struct pinctrl_state *pinctrl_state_suspend;
+ struct pinctrl_state *pinctrl_state_release;
+#endif
+// int shipping_fw_version; //dean add for FTM
+};
+
+#ifdef CONFIG_TOUCHSCREEN_FTS_PSENSOR
+struct fts_psensor_platform_data {
+ struct input_dev *input_psensor_dev;
+ struct sensors_classdev ps_cdev;
+ int tp_psensor_opened;
+ char tp_psensor_data; /* 0 near, 1 far */
+ struct fts_ts_data *data;
+};
+#endif
+
+/*******************************************************************************
+* Static variables
+*******************************************************************************/
+
+
+/*******************************************************************************
+* Global variable or extern global variabls/functions
+*******************************************************************************/
+//Function Switchs: define to open, comment to close
+//#define FTS_GESTRUE_EN 0
+#define GTP_ESD_PROTECT 0
+#define FTS_APK_DEBUG
+#define FTS_SYSFS_DEBUG
+#define FTS_CTL_IIC
+
+#define FTS_AUTO_UPGRADE
+extern struct fts_Upgrade_Info fts_updateinfo_curr;
+extern struct i2c_client *fts_i2c_client;
+extern struct fts_ts_data *fts_wq_data;
+extern struct input_dev *fts_input_dev;
+extern bool print_point;
+
+#ifdef FTS_GESTRUE_EN
+extern bool print_gesture;
+extern bool en_big_area_func;
+#endif
+
+extern bool fts_wq_queue_result;
+extern unsigned int irq_handler_recovery_count;
+extern unsigned int suspend_resume_recovery_count;
+extern unsigned int plam_recovery_count;
+
+extern bool ts_pwr_disabled;
+
+static DEFINE_MUTEX(i2c_rw_access);
+
+//Getstre functions
+extern int fts_Gesture_init(struct input_dev *input_dev);
+extern int fts_read_Gestruedata(void);
+extern int fetch_object_sample(unsigned char *buf,short pointnum);
+extern void init_para(int x_pixel,int y_pixel,int time_slot,int cut_x_pixel,int cut_y_pixel);
+
+//upgrade functions
+extern void fts_update_fw_vendor_id(struct fts_ts_data *data);
+extern void fts_update_fw_ver(struct fts_ts_data *data);
+extern void fts_get_upgrade_array(void);
+extern int fts_ctpm_auto_upgrade(struct i2c_client *client);
+extern int fts_ctpm_auto_upgrade_for_cci(struct i2c_client *client, const u8 tp_id, bool force_upgrade);
+extern int fts_fw_upgrade(struct device *dev, bool force);
+extern int fts_ctpm_auto_clb(struct i2c_client *client);
+extern int fts_ctpm_fw_upgrade_with_app_file(struct i2c_client *client, char *firmware_name);
+extern int fts_ctpm_fw_upgrade_with_i_file(struct i2c_client *client);
+extern int fts_ctpm_get_i_file_ver(void);
+
+//Apk and functions
+extern int fts_create_apk_debug_channel(struct i2c_client * client);
+extern void fts_release_apk_debug_channel(void);
+
+//ADB functions
+extern int fts_create_sysfs(struct i2c_client *client);
+extern int fts_remove_sysfs(struct i2c_client *client);
+
+//char device for old apk
+extern int fts_rw_iic_drv_init(struct i2c_client *client);
+extern void fts_rw_iic_drv_exit(void);
+
+//Base functions
+extern int fts_i2c_read(struct i2c_client *client, char *writebuf, int writelen, char *readbuf, int readlen);
+extern int fts_i2c_write(struct i2c_client *client, char *writebuf, int writelen);
+extern int fts_read_reg(struct i2c_client *client, u8 addr, u8 *val);
+extern int fts_write_reg(struct i2c_client *client, u8 addr, const u8 val);
+
+//dean add
+extern void fts_reset_chip(void);
+extern int fts_ts_stop(struct device *dev);
+
+extern int fts_ts_disable(struct device *dev);
+extern int fts_ts_start(struct device *dev);
+/*******************************************************************************
+* Static function prototypes
+*******************************************************************************/
+
+#endif
diff --git a/drivers/input/touchscreen/focaltech_3207/focaltech_ctl.c b/drivers/input/touchscreen/focaltech_3207/focaltech_ctl.c
new file mode 100644
index 0000000..f19d3f5
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/focaltech_ctl.c
@@ -0,0 +1,378 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+/*******************************************************************************
+* Included header files
+*******************************************************************************/
+#include "focaltech_core.h"
+
+/*******************************************************************************
+* Private constant and macro definitions using #define
+*******************************************************************************/
+
+#define FTS_RW_IIC_DRV "ft_rw_iic_drv"
+#define FTS_RW_IIC_DRV_MAJOR 210
+#define FTS_I2C_RDWR_MAX_QUEUE 36
+#define FTS_I2C_SLAVEADDR 11
+#define FTS_I2C_RW 12
+/*******************************************************************************
+* Private enumerations,structures and unions using typedef
+*******************************************************************************/
+typedef struct fts_rw_i2c
+{
+ u8 *buf;
+ u8 flag; /*0-write 1-read*/
+ __u16 length; //the length of data
+}*pfts_rw_i2c;
+
+typedef struct fts_rw_i2c_queue
+{
+ struct fts_rw_i2c __user *i2c_queue;
+ int queuenum;
+}*pfts_rw_i2c_queue;
+
+struct fts_rw_i2c_dev
+{
+ struct cdev cdev;
+ struct mutex fts_rw_i2c_mutex;
+ struct i2c_client *client;
+};
+
+
+/*******************************************************************************
+* Static variables
+*******************************************************************************/
+static int fts_rw_iic_drv_major = FTS_RW_IIC_DRV_MAJOR;
+static struct class *fts_class;
+
+
+/*******************************************************************************
+* Global variable or extern global variabls/functions
+*******************************************************************************/
+struct fts_rw_i2c_dev *fts_rw_i2c_dev_tt;
+
+
+/*******************************************************************************
+* Static function prototypes
+*******************************************************************************/
+
+
+/************************************************************************
+* Name: fts_rw_iic_drv_myread
+* Brief: i2c read
+* Input: i2c info, data, length
+* Output: get data in buf
+* Return: fail <0
+***********************************************************************/
+static int fts_rw_iic_drv_myread(struct i2c_client *client, u8 *buf, int length)
+{
+ int ret = 0;
+ ret = fts_i2c_read(client, NULL, 0, buf, length);
+
+ if(ret<0)
+ {
+ dev_err(&client->dev, "%s:IIC Read failed\n",__func__);
+ }
+ return ret;
+}
+
+/************************************************************************
+* Name: fts_rw_iic_drv_mywrite
+* Brief: i2c write
+* Input: i2c info, data, length
+* Output: no
+* Return: fail <0
+***********************************************************************/
+static int fts_rw_iic_drv_mywrite(struct i2c_client *client, u8 *buf, int length)
+{
+ int ret = 0;
+ ret = fts_i2c_write(client, buf, length);
+ if(ret<0)
+ {
+ dev_err(&client->dev, "%s:IIC Write failed\n",__func__);
+ }
+ return ret;
+}
+
+/************************************************************************
+* Name: fts_rw_iic_drv_RDWR
+* Brief: get package to i2c read/write
+* Input: i2c info, package
+* Output: put data in i2c_rw_msg.buf
+* Return: fail <0
+***********************************************************************/
+static int fts_rw_iic_drv_RDWR(struct i2c_client *client, unsigned long arg)
+{
+ struct fts_rw_i2c_queue i2c_rw_queue;
+ struct fts_rw_i2c * i2c_rw_msg;
+ u8 __user **data_ptrs;
+ int ret = 0;
+ int i;
+
+ if (!access_ok(VERIFY_READ, (struct fts_rw_i2c_queue *)arg, sizeof(struct fts_rw_i2c_queue)))
+ return -EFAULT;
+
+ if (copy_from_user(&i2c_rw_queue,
+ (struct fts_rw_i2c_queue *)arg,
+ sizeof(struct fts_rw_i2c_queue)))
+ return -EFAULT;
+
+ if (i2c_rw_queue.queuenum > FTS_I2C_RDWR_MAX_QUEUE)
+ return -EINVAL;
+
+
+ i2c_rw_msg = (struct fts_rw_i2c*)
+ kmalloc(i2c_rw_queue.queuenum *sizeof(struct fts_rw_i2c),
+ GFP_KERNEL);
+ if (!i2c_rw_msg)
+ return -ENOMEM;
+
+ if (copy_from_user(i2c_rw_msg, i2c_rw_queue.i2c_queue,
+ i2c_rw_queue.queuenum*sizeof(struct fts_rw_i2c)))
+ {
+ kfree(i2c_rw_msg);
+ return -EFAULT;
+ }
+
+ data_ptrs = kmalloc(i2c_rw_queue.queuenum * sizeof(u8 __user *), GFP_KERNEL);
+ if (data_ptrs == NULL)
+ {
+ kfree(i2c_rw_msg);
+ return -ENOMEM;
+ }
+
+ ret = 0;
+ for (i=0; i< i2c_rw_queue.queuenum; i++)
+ {
+ if ((i2c_rw_msg[i].length > 8192)||
+ (i2c_rw_msg[i].flag & I2C_M_RECV_LEN))
+ {
+ ret = -EINVAL;
+ break;
+ }
+ data_ptrs[i] = (u8 __user *)i2c_rw_msg[i].buf;
+ i2c_rw_msg[i].buf = kmalloc(i2c_rw_msg[i].length, GFP_KERNEL);
+ if (i2c_rw_msg[i].buf == NULL)
+ {
+ ret = -ENOMEM;
+ break;
+ }
+
+ if (copy_from_user(i2c_rw_msg[i].buf, data_ptrs[i], i2c_rw_msg[i].length))
+ {
+ ++i;
+ ret = -EFAULT;
+ break;
+ }
+ }
+
+ if (ret < 0)
+ {
+ int j;
+ for (j=0; j<i; ++j)
+ kfree(i2c_rw_msg[j].buf);
+ kfree(data_ptrs);
+ kfree(i2c_rw_msg);
+ return ret;
+ }
+
+ for (i=0; i< i2c_rw_queue.queuenum; i++)
+ {
+ if (i2c_rw_msg[i].flag)
+ {
+ ret = fts_rw_iic_drv_myread(client,
+ i2c_rw_msg[i].buf, i2c_rw_msg[i].length);
+ if (ret>=0)
+ ret = copy_to_user(data_ptrs[i], i2c_rw_msg[i].buf, i2c_rw_msg[i].length);
+ }
+ else
+ {
+ ret = fts_rw_iic_drv_mywrite(client,
+ i2c_rw_msg[i].buf, i2c_rw_msg[i].length);
+ }
+ }
+
+ return ret;
+
+}
+
+/************************************************************************
+* Name: fts_rw_iic_drv_open
+* Brief: char device open function interface
+* Input: node, file point
+* Output: no
+* Return: 0
+***********************************************************************/
+static int fts_rw_iic_drv_open(struct inode *inode, struct file *filp)
+{
+ filp->private_data = fts_rw_i2c_dev_tt;
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_rw_iic_drv_release
+* Brief: char device close function interface
+* Input: node, file point
+* Output: no
+* Return: 0
+***********************************************************************/
+static int fts_rw_iic_drv_release(struct inode *inode, struct file *filp)
+{
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_rw_iic_drv_ioctl
+* Brief: char device I/O control function interface
+* Input: file point, command, package
+* Output: no
+* Return: fail <0
+***********************************************************************/
+static long fts_rw_iic_drv_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
+{
+ int ret = 0;
+ struct fts_rw_i2c_dev *ftsdev = filp->private_data;
+ ftsdev = filp->private_data;
+
+ mutex_lock(&fts_rw_i2c_dev_tt->fts_rw_i2c_mutex);
+ switch (cmd)
+ {
+ case FTS_I2C_RW:
+ ret = fts_rw_iic_drv_RDWR(ftsdev->client, arg);
+ break;
+
+ default:
+ ret = -ENOTTY;
+ break;
+ }
+ mutex_unlock(&fts_rw_i2c_dev_tt->fts_rw_i2c_mutex);
+ return ret;
+}
+
+
+/*
+*char device file operation which will be put to register the char device
+*/
+static const struct file_operations fts_rw_iic_drv_fops = {
+ .owner = THIS_MODULE,
+ .open = fts_rw_iic_drv_open,
+ .release = fts_rw_iic_drv_release,
+ .unlocked_ioctl = fts_rw_iic_drv_ioctl,
+};
+
+/************************************************************************
+* Name: fts_rw_iic_drv_setup_cdev
+* Brief: setup char device
+* Input: device point, index number
+* Output: no
+* Return: no
+***********************************************************************/
+static void fts_rw_iic_drv_setup_cdev(struct fts_rw_i2c_dev *dev, int index)
+{
+ int err, devno = MKDEV(fts_rw_iic_drv_major, index);
+
+ cdev_init(&dev->cdev, &fts_rw_iic_drv_fops);
+ dev->cdev.owner = THIS_MODULE;
+ dev->cdev.ops = &fts_rw_iic_drv_fops;
+ err = cdev_add(&dev->cdev, devno, 1);
+ if (err)
+ printk(KERN_NOTICE "Error %d adding LED%d", err, index);
+}
+
+/************************************************************************
+* Name: fts_rw_iic_drv_myinitdev
+* Brief: initial char device
+* Input: i2c info
+* Output: no
+* Return: fail <0
+***********************************************************************/
+static int fts_rw_iic_drv_myinitdev(struct i2c_client *client)
+{
+ int err = 0;
+ dev_t devno = MKDEV(fts_rw_iic_drv_major, 0);
+
+ if (fts_rw_iic_drv_major)
+ err = register_chrdev_region(devno, 1, FTS_RW_IIC_DRV);
+ else
+ {
+ err = alloc_chrdev_region(&devno, 0, 1, FTS_RW_IIC_DRV);
+ fts_rw_iic_drv_major = MAJOR(devno);
+ }
+ if (err < 0)
+ {
+ dev_err(&client->dev, "%s:ft_rw_iic_drv failed error code=%d---\n",
+ __func__, err);
+ return err;
+ }
+
+ fts_rw_i2c_dev_tt = kmalloc(sizeof(struct fts_rw_i2c_dev), GFP_KERNEL);
+ if (!fts_rw_i2c_dev_tt)
+ {
+ err = -ENOMEM;
+ unregister_chrdev_region(devno, 1);
+ dev_err(&client->dev, "%s:ft_rw_iic_drv failed\n",
+ __func__);
+ return err;
+ }
+ fts_rw_i2c_dev_tt->client = client;
+ mutex_init(&fts_rw_i2c_dev_tt->fts_rw_i2c_mutex);
+ fts_rw_iic_drv_setup_cdev(fts_rw_i2c_dev_tt, 0);
+
+ fts_class = class_create(THIS_MODULE, "fts_class");
+ if (IS_ERR(fts_class))
+ {
+ dev_err(&client->dev, "%s:failed in creating class.\n",
+ __func__);
+ return -1;
+ }
+ /*create device node*/
+ device_create(fts_class, NULL, MKDEV(fts_rw_iic_drv_major, 0),
+ NULL, FTS_RW_IIC_DRV);
+
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_rw_iic_drv_init
+* Brief: call initial char device
+* Input: i2c info
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_rw_iic_drv_init(struct i2c_client *client)
+{
+ dev_dbg(&client->dev, "[FTS]----ft_rw_iic_drv init ---\n");
+ return fts_rw_iic_drv_myinitdev(client);
+}
+
+/************************************************************************
+* Name: fts_rw_iic_drv_exit
+* Brief: delete char device
+* Input: no
+* Output: no
+* Return: no
+***********************************************************************/
+void fts_rw_iic_drv_exit(void)
+{
+ device_destroy(fts_class, MKDEV(fts_rw_iic_drv_major, 0));
+ /*delete class created by us*/
+ class_destroy(fts_class);
+ /*delet the cdev*/
+ cdev_del(&fts_rw_i2c_dev_tt->cdev);
+ kfree(fts_rw_i2c_dev_tt);
+ unregister_chrdev_region(MKDEV(fts_rw_iic_drv_major, 0), 1);
+}
+
diff --git a/drivers/input/touchscreen/focaltech_3207/focaltech_ex_fun.c b/drivers/input/touchscreen/focaltech_3207/focaltech_ex_fun.c
new file mode 100644
index 0000000..ae07aa5
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/focaltech_ex_fun.c
@@ -0,0 +1,1790 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+/*******************************************************************************
+* 1.Included header files
+*******************************************************************************/
+#include "focaltech_core.h"
+#include "test_lib.h"
+#include "Test_FT6X36.h"
+#include <linux/proc_fs.h>
+
+/*******************************************************************************
+* Private constant and macro definitions using #define
+*******************************************************************************/
+/*create apk debug channel*/
+#define PROC_UPGRADE 0
+#define PROC_READ_REGISTER 1
+#define PROC_WRITE_REGISTER 2
+#define PROC_AUTOCLB 4
+#define PROC_UPGRADE_INFO 5
+#define PROC_WRITE_DATA 6
+#define PROC_READ_DATA 7
+#define PROC_SET_TEST_FLAG 8
+#define PROC_NAME "ftxxxx-debug"
+
+#define WRITE_BUF_SIZE 512
+#define READ_BUF_SIZE 512
+
+/*******************************************************************************
+* Private enumerations, structures and unions using typedef
+*******************************************************************************/
+
+
+/*******************************************************************************
+* Static variables
+*******************************************************************************/
+static unsigned char proc_operate_mode = PROC_UPGRADE;
+static struct proc_dir_entry *fts_proc_entry;
+/*******************************************************************************
+* Global variable or extern global variabls/functions
+*******************************************************************************/
+#if GTP_ESD_PROTECT
+int apk_debug_flag = 0;
+#endif
+/*******************************************************************************
+* Static function prototypes
+*******************************************************************************/
+
+
+
+/************************************************************************
+* Name: FT_SC_Enter_Factory_Mode
+* Brief: touch ic enter factory mode
+* Input: no
+* Output: no
+* Return: pass or fail
+***********************************************************************/
+static int FT_SC_Enter_Factory_Mode(void)
+{
+ u8 reg_addr, val_write, val_read = 0xff;
+ u8 try_cnt = 0;
+
+ reg_addr = DEV_MODE;
+ val_write = FACTORY_MODE;
+
+ /* Try to enter factory mode */
+ while ((val_read != FACTORY_MODE) && (try_cnt < 10))
+ {
+ fts_write_reg(fts_i2c_client, reg_addr, val_write);
+ msleep(10);
+ fts_read_reg(fts_i2c_client, reg_addr, &val_read);
+ FTS_DBG("[FTS][FACTORY][%d] >>>>> val_read: 0x%x\n", try_cnt, val_read);
+ msleep(10);
+ try_cnt++;
+ }
+
+ if((val_read == FACTORY_MODE) && (try_cnt < 10) )
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>> Enter Factory Mode\n");
+ }
+ else
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>> Enter Factory Mode Fail\n");
+ return ERR_ENTER_FACTORY;
+ }
+
+ return 0;
+}
+/************************************************************************
+* Name: FT_SC_Enter_Normal_Mode
+* Brief: touch ic enter normal mode
+* Input: no
+* Output: no
+* Return: pass or fail
+***********************************************************************/
+static int FT_SC_Enter_Normal_Mode(void)
+{
+ u8 reg_addr, val_write, val_read = 0xff;
+ u8 try_cnt = 0;
+
+ reg_addr = DEV_MODE;
+ val_write = NORMAL_MODE;
+
+ /* Try to enter normal mode */
+ while (val_read != NORMAL_MODE && (try_cnt < 10))
+ {
+ fts_write_reg(fts_i2c_client, reg_addr, val_write);
+ msleep(10);
+ fts_read_reg(fts_i2c_client, reg_addr, &val_read);
+ msleep(10);
+ try_cnt++;
+ }
+
+ if ((val_read == NORMAL_MODE) && (try_cnt < 10) )
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>> Enter Normal Mode\n");
+ }
+ else
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>> Enter Normal Mode Fail\n");
+ return ERR_ENTER_NORMAL;
+ }
+
+ return 0;
+}
+
+
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0))
+/*interface of write proc*/
+/************************************************************************
+* Name: fts_debug_write
+* Brief:interface of write proc
+* Input: file point, data buf, data len, no use
+* Output: no
+* Return: data len
+***********************************************************************/
+static ssize_t fts_debug_write(struct file *filp, const char __user *buff, size_t count, loff_t *ppos)
+{
+ unsigned char writebuf[WRITE_BUF_SIZE];
+ char upgrade_file_path[128];
+ int buflen = count;
+ int writelen = 0;
+ int ret = 0;
+
+ if (copy_from_user(&writebuf, buff, buflen)) {
+ dev_err(&fts_i2c_client->dev, "%s:copy from user error\n", __func__);
+ return -EFAULT;
+ }
+ proc_operate_mode = writebuf[0];
+
+ switch (proc_operate_mode) {
+ case PROC_UPGRADE:
+ memset(upgrade_file_path, 0, sizeof(upgrade_file_path));
+ sprintf(upgrade_file_path, "%s", writebuf + 1);
+ upgrade_file_path[buflen-1] = '\0';
+ FTS_DBG("%s\n", upgrade_file_path);
+ disable_irq(fts_i2c_client->irq);
+ #if GTP_ESD_PROTECT
+ apk_debug_flag = 1;
+ #endif
+
+ ret = fts_ctpm_fw_upgrade_with_app_file(fts_i2c_client, upgrade_file_path);
+ #if GTP_ESD_PROTECT
+ apk_debug_flag = 0;
+ #endif
+ enable_irq(fts_i2c_client->irq);
+ if (ret < 0) {
+ dev_err(&fts_i2c_client->dev, "%s:upgrade failed.\n", __func__);
+ return ret;
+ }
+ break;
+ case PROC_READ_REGISTER:
+ writelen = 1;
+ ret = fts_i2c_write(fts_i2c_client, writebuf + 1, writelen);
+ if (ret < 0) {
+ dev_err(&fts_i2c_client->dev, "%s:write iic error\n", __func__);
+ return ret;
+ }
+ break;
+ case PROC_WRITE_REGISTER:
+ writelen = 2;
+ ret = fts_i2c_write(fts_i2c_client, writebuf + 1, writelen);
+ if (ret < 0) {
+ dev_err(&fts_i2c_client->dev, "%s:write iic error\n", __func__);
+ return ret;
+ }
+ break;
+ case PROC_AUTOCLB:
+ FTS_DBG("%s: autoclb\n", __func__);
+ fts_ctpm_auto_clb(fts_i2c_client);
+ break;
+ case PROC_READ_DATA:
+ case PROC_WRITE_DATA:
+ writelen = count - 1;
+ ret = fts_i2c_write(fts_i2c_client, writebuf + 1, writelen);
+ if (ret < 0) {
+ dev_err(&fts_i2c_client->dev, "%s:write iic error\n", __func__);
+ return ret;
+ }
+ break;
+ default:
+ break;
+ }
+
+ return count;
+}
+
+/*interface of read proc*/
+/************************************************************************
+* Name: fts_debug_read
+* Brief:interface of read proc
+* Input: point to the data, no use, no use, read len, no use, no use
+* Output: page point to data
+* Return: read char number
+***********************************************************************/
+static ssize_t fts_debug_read(struct file *filp, char __user *buff, size_t count, loff_t *ppos)
+{
+ int ret = 0;
+ int num_read_chars = 0;
+ int readlen = 0;
+ u8 regvalue = 0x00, regaddr = 0x00;
+ unsigned char buf[READ_BUF_SIZE];
+
+ switch (proc_operate_mode) {
+ case PROC_UPGRADE:
+ //after calling fts_debug_write to upgrade
+ regaddr = 0xA6;
+ ret = fts_read_reg(fts_i2c_client, regaddr, ®value);
+ if (ret < 0)
+ num_read_chars = sprintf(buf, "%s", "get fw version failed.\n");
+ else
+ num_read_chars = sprintf(buf, "current fw version:0x%02x\n", regvalue);
+ break;
+ case PROC_READ_REGISTER:
+ readlen = 1;
+ ret = fts_i2c_read(fts_i2c_client, NULL, 0, buf, readlen);
+ if (ret < 0) {
+ dev_err(&fts_i2c_client->dev, "%s:read iic error\n", __func__);
+ return ret;
+ }
+ num_read_chars = 1;
+ break;
+ case PROC_READ_DATA:
+ readlen = count;
+ ret = fts_i2c_read(fts_i2c_client, NULL, 0, buf, readlen);
+ if (ret < 0) {
+ dev_err(&fts_i2c_client->dev, "%s:read iic error\n", __func__);
+ return ret;
+ }
+ num_read_chars = readlen;
+ break;
+ case PROC_WRITE_DATA:
+ break;
+ default:
+ break;
+ }
+
+ if (copy_to_user(buff, buf, num_read_chars)) {
+ dev_err(&fts_i2c_client->dev, "%s:copy to user error\n", __func__);
+ return -EFAULT;
+ }
+
+ return num_read_chars;
+}
+static const struct file_operations fts_proc_fops = {
+ .owner = THIS_MODULE,
+ .read = fts_debug_read,
+ .write = fts_debug_write,
+};
+#else
+/*interface of write proc*/
+/************************************************************************
+* Name: fts_debug_write
+* Brief:interface of write proc
+* Input: file point, data buf, data len, no use
+* Output: no
+* Return: data len
+***********************************************************************/
+static int fts_debug_write(struct file *filp,
+ const char __user *buff, unsigned long len, void *data)
+{
+ unsigned char writebuf[WRITE_BUF_SIZE];
+ char upgrade_file_path[128];
+ int buflen = len;
+ int writelen = 0;
+ int ret = 0;
+
+
+ if (copy_from_user(&writebuf, buff, buflen)) {
+ dev_err(&fts_i2c_client->dev, "%s:copy from user error\n", __func__);
+ return -EFAULT;
+ }
+ proc_operate_mode = writebuf[0];
+
+ switch (proc_operate_mode) {
+
+ case PROC_UPGRADE:
+
+ memset(upgrade_file_path, 0, sizeof(upgrade_file_path));
+ sprintf(upgrade_file_path, "%s", writebuf + 1);
+ upgrade_file_path[buflen-1] = '\0';
+ FTS_DBG("%s\n", upgrade_file_path);
+ disable_irq(fts_i2c_client->irq);
+ #if GTP_ESD_PROTECT
+ apk_debug_flag = 1;
+ #endif
+ ret = fts_ctpm_fw_upgrade_with_app_file(fts_i2c_client, upgrade_file_path);
+ #if GTP_ESD_PROTECT
+ apk_debug_flag = 0;
+ #endif
+ enable_irq(fts_i2c_client->irq);
+ if (ret < 0) {
+ dev_err(&fts_i2c_client->dev, "%s:upgrade failed.\n", __func__);
+ return ret;
+ }
+ break;
+ case PROC_READ_REGISTER:
+ writelen = 1;
+ ret = fts_i2c_write(fts_i2c_client, writebuf + 1, writelen);
+ if (ret < 0) {
+ dev_err(&fts_i2c_client->dev, "%s:write iic error\n", __func__);
+ return ret;
+ }
+ break;
+ case PROC_WRITE_REGISTER:
+ writelen = 2;
+ ret = fts_i2c_write(fts_i2c_client, writebuf + 1, writelen);
+ if (ret < 0) {
+ dev_err(&fts_i2c_client->dev, "%s:write iic error\n", __func__);
+ return ret;
+ }
+ break;
+ case PROC_AUTOCLB:
+ FTS_DBG("%s: autoclb\n", __func__);
+ fts_ctpm_auto_clb(fts_i2c_client);
+ break;
+ case PROC_READ_DATA:
+ case PROC_WRITE_DATA:
+ writelen = len - 1;
+ ret = fts_i2c_write(fts_i2c_client, writebuf + 1, writelen);
+ if (ret < 0) {
+ dev_err(&fts_i2c_client->dev, "%s:write iic error\n", __func__);
+ return ret;
+ }
+ break;
+ default:
+ break;
+ }
+
+
+ return len;
+}
+
+/*interface of read proc*/
+/************************************************************************
+* Name: fts_debug_read
+* Brief:interface of read proc
+* Input: point to the data, no use, no use, read len, no use, no use
+* Output: page point to data
+* Return: read char number
+***********************************************************************/
+static int fts_debug_read( char *page, char **start,
+ off_t off, int count, int *eof, void *data )
+{
+ int ret = 0;
+ unsigned char buf[READ_BUF_SIZE];
+ int num_read_chars = 0;
+ int readlen = 0;
+ u8 regvalue = 0x00, regaddr = 0x00;
+
+ switch (proc_operate_mode) {
+ case PROC_UPGRADE:
+ //after calling fts_debug_write to upgrade
+ regaddr = 0xA6;
+ ret = fts_read_reg(fts_i2c_client, regaddr, ®value);
+ if (ret < 0)
+ num_read_chars = sprintf(buf, "%s", "get fw version failed.\n");
+ else
+ num_read_chars = sprintf(buf, "current fw version:0x%02x\n", regvalue);
+ break;
+ case PROC_READ_REGISTER:
+ readlen = 1;
+ ret = fts_i2c_read(fts_i2c_client, NULL, 0, buf, readlen);
+ if (ret < 0) {
+ dev_err(&fts_i2c_client->dev, "%s:read iic error\n", __func__);
+ return ret;
+ }
+ num_read_chars = 1;
+ break;
+ case PROC_READ_DATA:
+ readlen = count;
+ ret = fts_i2c_read(fts_i2c_client, NULL, 0, buf, readlen);
+ if (ret < 0) {
+ dev_err(&fts_i2c_client->dev, "%s:read iic error\n", __func__);
+ return ret;
+ }
+ num_read_chars = readlen;
+ break;
+ case PROC_WRITE_DATA:
+ break;
+ default:
+ break;
+ }
+
+ memcpy(page, buf, num_read_chars);
+ return num_read_chars;
+}
+#endif
+/************************************************************************
+* Name: fts_create_apk_debug_channel
+* Brief: create apk debug channel
+* Input: i2c info
+* Output: no
+* Return: success =0
+***********************************************************************/
+int fts_create_apk_debug_channel(struct i2c_client * client)
+{
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0))
+ fts_proc_entry = proc_create(PROC_NAME, 0777, NULL, &fts_proc_fops);
+ #else
+ fts_proc_entry = create_proc_entry(PROC_NAME, 0777, NULL);
+ #endif
+ if (NULL == fts_proc_entry)
+ {
+ dev_err(&client->dev, "Couldn't create proc entry!\n");
+
+ return -ENOMEM;
+ }
+ else
+ {
+ dev_info(&client->dev, "Create proc entry success!\n");
+
+ #if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0))
+ fts_proc_entry->write_proc = fts_debug_write;
+ fts_proc_entry->read_proc = fts_debug_read;
+ #endif
+ }
+ return 0;
+}
+/************************************************************************
+* Name: fts_release_apk_debug_channel
+* Brief: release apk debug channel
+* Input: no
+* Output: no
+* Return: no
+***********************************************************************/
+void fts_release_apk_debug_channel(void)
+{
+
+ if (fts_proc_entry)
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0))
+ proc_remove(fts_proc_entry);
+ #else
+ remove_proc_entry(NULL, fts_proc_entry);
+ #endif
+}
+
+/************************************************************************
+* Name: fts_tpfwver_show
+* Brief: show tp fw vwersion
+* Input: device, device attribute, char buf
+* Output: no
+* Return: char number
+***********************************************************************/
+static ssize_t fts_tpfwver_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ ssize_t num_read_chars = 0;
+ u8 fwver = 0;
+ int err = -1;
+ u16 reg_addr = FTS_REG_FW_VER;
+
+ err = fts_read_reg(fts_i2c_client, reg_addr, &fwver);
+ if (err < 0) {
+ num_read_chars += sprintf(buf + num_read_chars, "get tp fw version fail!, i2c err :%d\n", err);
+ } else {
+ if (fwver == 255)
+ num_read_chars += sprintf(buf + num_read_chars, "get tp fw version is wrong!\n");
+ else
+ num_read_chars += sprintf(buf + num_read_chars, "tp fw version : 0x%x\n", fwver);
+ }
+ return num_read_chars;
+}
+/************************************************************************
+* Name: fts_tpfwver_store
+* Brief: no
+* Input: device, device attribute, char buf, char count
+* Output: no
+* Return: EPERM
+***********************************************************************/
+static ssize_t fts_tpfwver_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
+{
+ /* place holder for future use */
+ return -EPERM;
+}
+/************************************************************************
+* Name: fts_tpdriver_version_show
+* Brief: show tp fw vwersion
+* Input: device, device attribute, char buf
+* Output: no
+* Return: char number
+***********************************************************************/
+static ssize_t fts_tpdriver_version_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ ssize_t num_read_chars = 0;
+
+ mutex_lock(&fts_input_dev->mutex);
+
+ num_read_chars = snprintf(buf, 128,"%s \n", FTS_DRIVER_INFO);
+
+ mutex_unlock(&fts_input_dev->mutex);
+
+ return num_read_chars;
+}
+/************************************************************************
+* Name: fts_tpdriver_version_store
+* Brief: no
+* Input: device, device attribute, char buf, char count
+* Output: no
+* Return: EPERM
+***********************************************************************/
+static ssize_t fts_tpdriver_version_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
+{
+ /* place holder for future use */
+ return -EPERM;
+}
+/************************************************************************
+* Name: fts_tprwreg_show
+* Brief: no
+* Input: device, device attribute, char buf
+* Output: no
+* Return: EPERM
+***********************************************************************/
+static ssize_t fts_tprwreg_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ /* place holder for future use */
+ return -EPERM;
+}
+/************************************************************************
+* Name: fts_tprwreg_store
+* Brief: read/write register
+* Input: device, device attribute, char buf, char count
+* Output: print register value
+* Return: char count
+***********************************************************************/
+static ssize_t fts_tprwreg_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
+{
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ ssize_t num_read_chars = 0;
+ int retval;
+ long unsigned int wmreg=0;
+ u8 regaddr=0xff,regvalue=0xff;
+ u8 valbuf[5]={0};
+
+ memset(valbuf, 0, sizeof(valbuf));
+ mutex_lock(&fts_input_dev->mutex);
+ num_read_chars = count - 1;
+ if (num_read_chars != 2)
+ {
+ if (num_read_chars != 4)
+ {
+ dev_err(dev, "please input 2 or 4 character\n");
+ goto error_return;
+ }
+ }
+ memcpy(valbuf, buf, num_read_chars);
+ retval = kstrtoul(valbuf, 16, &wmreg);
+ if (0 != retval)
+ {
+ dev_err(dev, "%s() - ERROR: Could not convert the given input to a number. The given input was: \"%s\"\n", __FUNCTION__, buf);
+ goto error_return;
+ }
+ if (2 == num_read_chars)
+ {
+ /*read register*/
+ regaddr = wmreg;
+ printk("[focal][test](0x%02x)\n", regaddr);
+ if (fts_read_reg(client, regaddr, ®value) < 0)
+ printk("[Focal] %s : Could not read the register(0x%02x)\n", __func__, regaddr);
+ else
+ printk("[Focal] %s : the register(0x%02x) is 0x%02x\n", __func__, regaddr, regvalue);
+ }
+ else
+ {
+ regaddr = wmreg>>8;
+ regvalue = wmreg;
+ if (fts_write_reg(client, regaddr, regvalue)<0)
+ dev_err(dev, "[Focal] %s : Could not write the register(0x%02x)\n", __func__, regaddr);
+ else
+ dev_dbg(dev, "[Focal] %s : Write 0x%02x into register(0x%02x) successful\n", __func__, regvalue, regaddr);
+ }
+ error_return:
+ mutex_unlock(&fts_input_dev->mutex);
+
+ return count;
+}
+/************************************************************************
+* Name: fts_fwupdate_show
+* Brief: no
+* Input: device, device attribute, char buf
+* Output: no
+* Return: EPERM
+***********************************************************************/
+static ssize_t fts_fwupdate_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ /* place holder for future use */
+ return -EPERM;
+}
+
+/************************************************************************
+* Name: fts_fwupdate_store
+* Brief: upgrade from *.i
+* Input: device, device attribute, char buf, char count
+* Output: no
+* Return: char count
+***********************************************************************/
+static ssize_t fts_fwupdate_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
+{
+ u8 uc_host_fm_ver;
+ int i_ret;
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ mutex_lock(&fts_input_dev->mutex);
+
+ disable_irq(client->irq);
+ #if GTP_ESD_PROTECT
+ apk_debug_flag = 1;
+ #endif
+
+ i_ret = fts_ctpm_fw_upgrade_with_i_file(client);
+ if (i_ret == 0)
+ {
+ msleep(300);
+ uc_host_fm_ver = fts_ctpm_get_i_file_ver();
+ dev_dbg(dev, "%s [FTS] upgrade to new version 0x%x\n", __func__, uc_host_fm_ver);
+ }
+ else
+ {
+ dev_err(dev, "%s ERROR:[FTS] upgrade failed ret=%d.\n", __func__, i_ret);
+ }
+
+ #if GTP_ESD_PROTECT
+ apk_debug_flag = 0;
+ #endif
+ enable_irq(client->irq);
+ mutex_unlock(&fts_input_dev->mutex);
+
+ return count;
+}
+/************************************************************************
+* Name: fts_fwupgradeapp_show
+* Brief: no
+* Input: device, device attribute, char buf
+* Output: no
+* Return: EPERM
+***********************************************************************/
+static ssize_t fts_fwupgradeapp_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ /* place holder for future use */
+ return -EPERM;
+}
+
+/************************************************************************
+* Name: fts_fwupgradeapp_store
+* Brief: upgrade from app.bin
+* Input: device, device attribute, char buf, char count
+* Output: no
+* Return: char count
+***********************************************************************/
+static ssize_t fts_fwupgradeapp_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
+{
+ char fwname[128];
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ memset(fwname, 0, sizeof(fwname));
+ sprintf(fwname, "%s", buf);
+ fwname[count-1] = '\0';
+
+ mutex_lock(&fts_input_dev->mutex);
+
+ disable_irq(client->irq);
+ #if GTP_ESD_PROTECT
+ apk_debug_flag = 1;
+ #endif
+ fts_ctpm_fw_upgrade_with_app_file(client, fwname);
+ #if GTP_ESD_PROTECT
+ apk_debug_flag = 0;
+ #endif
+ enable_irq(client->irq);
+
+ mutex_unlock(&fts_input_dev->mutex);
+ return count;
+}
+/************************************************************************
+* Name: fts_ftsgetprojectcode_show
+* Brief: no
+* Input: device, device attribute, char buf
+* Output: no
+* Return: EPERM
+***********************************************************************/
+static ssize_t fts_getprojectcode_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+
+ return -EPERM;
+}
+/************************************************************************
+* Name: fts_ftsgetprojectcode_store
+* Brief: no
+* Input: device, device attribute, char buf, char count
+* Output: no
+* Return: EPERM
+***********************************************************************/
+static ssize_t fts_getprojectcode_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
+{
+ /* place holder for future use */
+ return -EPERM;
+}
+
+
+/************************************************************************
+* Name: fts_tptestchnum_show
+* Brief: no
+* Input: device, device attribute, char buf
+* Output: no
+* Return: char number
+***********************************************************************/
+static ssize_t fts_tptestchnum_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ ssize_t num_read_chars = 0, tmp_chars = 0;
+ char tmp_buf[128];
+ u8 reg_addr, val_chnl_num = 0, val_key_num = 0;
+
+ mutex_lock(&fts_input_dev->mutex);
+ memset(buf,0,sizeof(char));
+
+ if (FT_SC_Enter_Factory_Mode() == ERR_ENTER_FACTORY)
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>> Fail at Test Channel and Key Number enter factory mode\n");
+ tmp_chars = snprintf(tmp_buf, 128,"Fail at Test Channel and Key Number enter factory mode\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ }
+ else
+ {
+ reg_addr = TP_CHNL_NUM;
+ fts_read_reg(fts_i2c_client, reg_addr, &val_chnl_num);
+
+ reg_addr = TP_KEY_NUM;
+ fts_read_reg(fts_i2c_client, reg_addr, &val_key_num);
+
+ if ((val_chnl_num != MAX_CHANNEL_NUMBER) || (val_key_num != MAX_KEY_NUMBER) )
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>>Failed Test Channel and Key Number ch_num: %d, key_num: %d\n",val_chnl_num,val_key_num);
+ tmp_chars = snprintf(tmp_buf, 128, "Failed Test Channel and Key Number ch_num: %d, key_num: %d\n",val_chnl_num,val_key_num);
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ }
+ else
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>>Pass Test_Channel_and_Key_Number ch_num: %d, key_num: %d\n",val_chnl_num,val_key_num);
+ tmp_chars = snprintf(tmp_buf, 128, "Pass Test_Channel_and_Key_Number ch_num: %d, key_num: %d\n",val_chnl_num,val_key_num);
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ }
+ }
+
+ if (FT_SC_Enter_Normal_Mode() == ERR_ENTER_NORMAL)
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>>Fail at Test Channel and Key Number return normal mode\n");
+ tmp_chars = snprintf(tmp_buf, 128,"Fail at Test Channel and Key Number return normal mode\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ }
+ mutex_unlock(&fts_input_dev->mutex);
+
+ fts_reset_chip();
+
+ return num_read_chars;
+}
+/************************************************************************
+* Name: fts_tptestchnum_store
+* Brief: no
+* Input: device, device attribute, char buf, char count
+* Output: no
+* Return: EPERM
+***********************************************************************/
+static ssize_t fts_tptestchnum_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
+{
+ /* place holder for future use */
+ return -EPERM;
+}
+/************************************************************************
+* Name: fts_tptestrawdata_show
+* Brief: no
+* Input: device, device attribute, char buf
+* Output: no
+* Return: char number
+***********************************************************************/
+static ssize_t fts_tptestrawdata_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ ssize_t num_read_chars = 0, tmp_chars = 0;
+ int try_cnt = 0;
+ int i = 0;
+ char tmp_buf[128];
+ u8 reg_val = 0, val_write = 0, val_read = 0xff;
+ u8 rawdata_packet_buf[MAX_CHANNEL_NUMBER * 2];
+ u16 rawdata_buf[MAX_CHANNEL_NUMBER];
+ //u16 Rmax = 0, Rmin = 0xffff;
+
+ mutex_lock(&fts_input_dev->mutex);
+ memset(buf,0,sizeof(char));
+
+ if (FT_SC_Enter_Factory_Mode() == ERR_ENTER_FACTORY)
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>> Fail at Test RawData enter factory mode\n");
+ tmp_chars = snprintf(tmp_buf, 128,"Fail at Test RawData enter factory mode\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ }
+ else
+ {
+ do
+ { //TODO need to debug for write 0x01 on register 0x08 by i2c
+ reg_val = TP_A_CMD_REG;
+ val_write = 0x01;
+ fts_write_reg(fts_i2c_client, reg_val, val_write);
+ msleep(50);
+ //after, need to get 0x00 on register 0x08 ready for getting rawdata
+ fts_read_reg(fts_i2c_client, reg_val, &val_read);
+ try_cnt++;
+ }
+ while ( (val_read != 0) && (try_cnt < 10) );
+
+ if (val_read != 0)
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>>Fail at Test RawData ready\n");
+ tmp_chars = snprintf(tmp_buf, 128,"Fail at Test RawData ready\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ goto ERROR_RETURN;
+ }
+
+ reg_val = RAW_DATA_ADDR_R;
+ val_write = 0;
+ //tell touch ic, read rawdata from addr 0x00 --> write 0x00 on register 0x34
+ fts_write_reg(fts_i2c_client, reg_val, val_write);
+ msleep(500);
+
+ reg_val = RAW_DATA_BUF;
+ //start to read from register 0x35. the data has CHANNEL_NUMBER * 2 bytes.
+ fts_i2c_read(fts_i2c_client, ®_val, 1, rawdata_packet_buf, MAX_CHANNEL_NUMBER * 2);
+
+ FTS_DBG("-------------- List All Raw Data --------------\n");
+ tmp_chars = snprintf(tmp_buf, 128,"-------------- List All Raw Data --------------\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ /* List Raw Data of Each Channel */
+ for(i = 0; i < MAX_CHANNEL_NUMBER * 2; i += 2)
+ {
+ rawdata_buf[i/2] = (((u16)rawdata_packet_buf[i]) << 8) | ((u16)rawdata_packet_buf[i+1]);
+
+ FTS_DBG("[FTS] Raw Data[%d]: %d\n",i/2,rawdata_buf[i/2]);
+ tmp_chars = snprintf(tmp_buf, 128,"Raw Data[%d]: %d\n",i/2,rawdata_buf[i/2]);
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ }
+
+ }
+
+ FTS_DBG("-------------- End Raw Data --------------\n");
+ tmp_chars = snprintf(tmp_buf, 128,"-------------- End Raw Data --------------\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+
+ERROR_RETURN:
+
+ if (FT_SC_Enter_Normal_Mode() == ERR_ENTER_NORMAL)
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>>Fail at Test RawData return normal mode\n");
+ tmp_chars = snprintf(tmp_buf, 128,"Fail at Test RawData return normal mode\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ }
+ mutex_unlock(&fts_input_dev->mutex);
+
+ fts_reset_chip();
+
+ return num_read_chars;
+}
+
+/************************************************************************
+* Name: fts_tptestrawdata_store
+* Brief: no
+* Input: device, device attribute, char buf, char count
+* Output: no
+* Return: EPERM
+***********************************************************************/
+static ssize_t fts_tptestrawdata_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
+{
+ /* place holder for future use */
+ return -EPERM;
+}
+/************************************************************************
+* Name: fts_tptestcbdata_show
+* Brief: no
+* Input: device, device attribute, char buf
+* Output: no
+* Return: char number
+***********************************************************************/
+static ssize_t fts_tptestcbdata_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ ssize_t num_read_chars = 0, tmp_chars = 0;
+ int try_cnt = 0;
+ int i = 0;
+ char tmp_buf[128];
+ u8 reg_val = 0, val_write = 0, val_read = 0xff;
+ u8 cbdata_packet_buf[MAX_CHANNEL_NUMBER * 2];
+ u16 cb_data[MAX_CHANNEL_NUMBER];
+ u16 cbdata_buf[MAX_CHANNEL_NUMBER];
+
+ u8 cbDeltadata_packet_buf[MAX_CHANNEL_NUMBER * 2];
+ u16 cbDeltadata_buf[MAX_CHANNEL_NUMBER];
+ //u16 CBmax = 0, CBmin = 0xffff;
+ //u16 CBDeltamax = 0, CBDeltamin = 0xffff;
+
+ mutex_lock(&fts_input_dev->mutex);
+ memset(buf,0,sizeof(char));
+
+ if (FT_SC_Enter_Factory_Mode() == ERR_ENTER_FACTORY)
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>>Fail at Test CBDATA enter factory mode\n");
+ tmp_chars = snprintf(tmp_buf, 128,"Fail at Test CBDATA enter factory mode\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ }
+ else
+ {
+ //F_TESTMODE_2 for getting CB data
+ reg_val = FACTORY_TEST_MODE_ADDR;
+ val_write = F_TESTMODE_2;
+ //tell touch ic, change FACTORY_TEST_MODE 2
+ fts_write_reg(fts_i2c_client, reg_val, val_write);
+ msleep(100);
+
+ do
+ { //TODO need to debug for write 0x01 on register 0x08 by i2c
+ reg_val = TP_A_CMD_REG;
+ val_write = 0x01;
+ fts_write_reg(fts_i2c_client, reg_val, val_write);
+ msleep(50);
+ //after, need to get 0x00 on register 0x08 ready for getting cbdata
+ fts_read_reg(fts_i2c_client, reg_val, &val_read);
+ try_cnt++;
+ }
+ while ( (val_read != 0) && (try_cnt < 10) );
+
+ if (val_read != 0)
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>>Fail at Test CBData ready\n");
+ tmp_chars = snprintf(tmp_buf, 128,"Fail at Test CBData ready\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ goto ERROR_RETURN;
+ }
+
+ //TODO: checking, take CB data is same way with rawdata or not?
+ reg_val = CB_DATA_ADDR_R;
+ val_write = 0;
+ //tell touch ic, read CB data from addr 0x00 --> write 0x00 on register 0x33
+ fts_read_reg(fts_i2c_client, reg_val, &val_read);
+ msleep(500);
+
+ reg_val = CB_DATA_BUF;
+ //start read from register 0x39. the data has CHANNEL_NUMBER * 2 bytes.
+ fts_i2c_read(fts_i2c_client, ®_val, 1, cbdata_packet_buf, MAX_CHANNEL_NUMBER * 2);
+
+ FTS_DBG("-------------- List CB Data --------------\n");
+ tmp_chars = snprintf(tmp_buf, 128,"-------------- List CB Data --------------\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+
+ for (i = 0; i < MAX_CHANNEL_NUMBER * 2; i += 2)
+ {
+ cb_data[i/2] = cbdata_buf[i/2] = (((u16)cbdata_packet_buf[i]) << 8) | ((u16)cbdata_packet_buf[i+1]);
+ FTS_DBG("[FTS] CB Data[%d]: %d\n",i/2,cb_data[i/2]);
+ tmp_chars = snprintf(tmp_buf, 128,"CB Data[%d]: %d\n",i/2,cb_data[i/2]);
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ }
+
+ FTS_DBG("-------------- End CB Data --------------\n");
+ tmp_chars = snprintf(tmp_buf, 128,"-------------- End CB Data --------------\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+
+ //F_TESTMODE_1 for getting CB Delta data
+ reg_val = FACTORY_TEST_MODE_ADDR;
+ val_write = F_TESTMODE_1;
+ //tell touch ic, change FACTORY_TEST_MODE 1
+ fts_write_reg(fts_i2c_client, reg_val, val_write);
+ msleep(100);
+ do
+ { //TODO need to debug for write 0x01 on register 0x08 by i2c
+ reg_val = TP_A_CMD_REG;
+ val_write = 0x01;
+ fts_write_reg(fts_i2c_client, reg_val, val_write);
+ msleep(50);
+ //after, need to get 0x00 on register 0x08 ready for getting cb delta data
+ fts_read_reg(fts_i2c_client, reg_val, &val_read);
+ try_cnt++;
+ }
+ while ( (val_read != 0) && (try_cnt < 10) );
+ if (val_read != 0)
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>>Fail at Test CB Delta Data ready\n");
+ tmp_chars = snprintf(tmp_buf, 128,"Fail at Test CB Delta Data ready\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ goto ERROR_RETURN;
+ }
+
+ //TODO: checking, take CB Delta data is same way with rawdata or not?
+ reg_val = CB_DATA_ADDR_R;
+ val_write = 0;
+ //tell touch ic, read CB Delta data from addr 0x00 --> write 0x00 on register 0x33
+ fts_write_reg(fts_i2c_client, reg_val, val_write);
+ msleep(500);
+
+ reg_val = CB_DATA_BUF;
+ //start read from register 0x39. the data has CHANNEL_NUMBER * 2 bytes.
+ fts_i2c_read(fts_i2c_client, ®_val, 1, cbDeltadata_packet_buf, MAX_CHANNEL_NUMBER * 2);
+
+ FTS_DBG("-------------- List CB Delta Data --------------\n");
+ tmp_chars = snprintf(tmp_buf, 128,"-------------- List CB Delta Data --------------\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+
+ for (i = 0; i < MAX_CHANNEL_NUMBER * 2; i += 2)
+ {
+ cbDeltadata_buf[i/2] = abs(cbdata_buf[i/2] - ( (((u16)cbDeltadata_packet_buf[i]) << 8) | ((u16)cbDeltadata_packet_buf[i+1])));
+ //cbDeltadata_buf[i/2] = cbdata_buf[i/2] - ( (((u16)cbDeltadata_packet_buf[i]) << 8) | ((u16)cbDeltadata_packet_buf[i+1]));
+
+ FTS_DBG("[FTS] CB Delta Data[%d]: %d\n",i/2,cbDeltadata_buf[i/2]);
+ tmp_chars = snprintf(tmp_buf, 128,"CB Delta Data[%d]: %d\n",i/2,cbDeltadata_buf[i/2]);
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ }
+ FTS_DBG("-------------- End CB Delta Data --------------\n");
+ tmp_chars = snprintf(tmp_buf, 128,"-------------- End CB Delta Data --------------\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+
+ }
+ERROR_RETURN:
+
+ if (FT_SC_Enter_Normal_Mode() == ERR_ENTER_NORMAL)
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>>Fail at Test CBDATA return normal mode\n");
+ tmp_chars = snprintf(tmp_buf, 128,"Fail at Test CBDATA return normal mode\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ }
+ mutex_unlock(&fts_input_dev->mutex);
+ fts_reset_chip();
+
+ return num_read_chars;
+}
+/************************************************************************
+* Name: fts_tptestcbdata_store
+* Brief: no
+* Input: device, device attribute, char buf, char count
+* Output: no
+* Return: EPERM
+***********************************************************************/
+static ssize_t fts_tptestcbdata_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
+{
+ /* place holder for future use */
+ return -EPERM;
+}
+
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+int FTS_I2c_Read(unsigned char *wBuf, int wLen, unsigned char *rBuf, int rLen)
+{
+ if (NULL == fts_i2c_client) {
+ return -1;
+ }
+
+ return fts_i2c_read(fts_i2c_client, wBuf, wLen, rBuf, rLen);
+}
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+
+int FTS_I2c_Write(unsigned char *wBuf, int wLen)
+{
+ if (NULL == fts_i2c_client) {
+ return -1;
+ }
+
+ return fts_i2c_write(fts_i2c_client, wBuf, wLen);
+}
+
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+
+#define FT3207_CFG_FILEPATH "/system/res/TP/"
+#define FT3207_RESULT_FILEPATH "/sdcard/"
+static int ft3207_GetInISize(char *config_name)
+{
+ struct file *pfile = NULL;
+ struct inode *inode;
+ unsigned long magic;
+ off_t fsize = 0;
+ char filepath[128];
+
+ memset(filepath, 0, sizeof(filepath));
+ sprintf(filepath, "%s%s", FT3207_CFG_FILEPATH, config_name);
+ if (NULL == pfile)
+ pfile = filp_open(filepath, O_RDONLY, 0);
+ if (IS_ERR(pfile)) {
+ pr_err("[FTS][TOUCH_ERR] %s : error occured while opening file %s. \n", __func__, filepath);
+ return -EIO;
+ }
+ inode = pfile->f_dentry->d_inode;
+ magic = inode->i_sb->s_magic;
+ fsize = inode->i_size;
+ filp_close(pfile, NULL);
+ return fsize;
+}
+
+static int ft3207_ReadInIData(char *config_name, char *config_buf)
+{
+ struct file *pfile = NULL;
+ struct inode *inode;
+ unsigned long magic;
+ off_t fsize;
+ char filepath[128];
+ loff_t pos;
+ mm_segment_t old_fs;
+
+ memset(filepath, 0, sizeof(filepath));
+ sprintf(filepath, "%s%s", FT3207_CFG_FILEPATH, config_name);
+ if (NULL == pfile)
+ pfile = filp_open(filepath, O_RDONLY, 0);
+ if (IS_ERR(pfile)) {
+ pr_err("[FTS][TOUCH_ERR] %s : error occured while opening file %s. \n", __func__, filepath);
+ return -EIO;
+ }
+ inode = pfile->f_dentry->d_inode;
+ magic = inode->i_sb->s_magic;
+ fsize = inode->i_size;
+ old_fs = get_fs();
+ set_fs(KERNEL_DS);
+ pos = 0;
+ vfs_read(pfile, config_buf, fsize, &pos);
+ filp_close(pfile, NULL);
+ set_fs(old_fs);
+ return 0;
+}
+
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+static int ft3207_get_testparam_from_ini(char *config_name)
+{
+ char *config_data = NULL;
+ int file_size;
+
+ file_size = ft3207_GetInISize(config_name);
+
+ pr_err("[FTS][Touch] %s : inisize = %d \n ", __func__, file_size);
+ if (file_size <= 0) {
+ pr_err("[FTS][TOUCH_ERR] %s : ERROR : Get firmware size failed \n", __func__);
+ return -EIO;
+ }
+
+ config_data = kmalloc(file_size + 1, GFP_ATOMIC);
+
+ if (ft3207_ReadInIData(config_name, config_data)) {
+ pr_err("[FTS][TOUCH_ERR] %s() - ERROR: request_firmware failed \n", __func__);
+ kfree(config_data);
+ return -EIO;
+ }
+ else {
+ pr_info("[FTS][Touch] %s : ft3207_ReadInIData successful \n", __func__);
+ }
+ //TODO checking: GC change here code.
+ if(set_param_data(config_data)<0)
+ {
+ printk("[FTS]%s The IC type error in this testing\n", __func__);
+ return -1;
+ }
+ return 0;
+}
+
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+
+static mm_segment_t oldfs;
+
+static struct file *fts_selftest_file_open(void)
+{
+
+ struct file* filp = NULL;
+ char filepath[128];
+ int err = 0;
+
+ memset(filepath, 0, sizeof(filepath));
+ sprintf(filepath, "%s%s", FT3207_RESULT_FILEPATH, "selftest.csv");
+
+ oldfs = get_fs();
+ set_fs(get_ds());
+
+ filp = filp_open(filepath, O_WRONLY|O_CREAT|O_APPEND , 0644);
+ if (IS_ERR(filp)) {
+ err = PTR_ERR(filp);
+ return NULL;
+ }
+
+ return filp;
+}
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+
+int fts_selftest_file_write(struct file* file, unsigned char *data, int len)
+{
+
+ int ret;
+ ret = file->f_op->write(file, data, len, &file->f_pos);
+
+ return ret;
+}
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+
+void fts_selftest_file_close(struct file* file)
+{
+
+ set_fs(oldfs);
+ filp_close(file, NULL);
+}
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+int selft_test_result = 0;
+
+static ssize_t fts_selftest_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ char config_file[128], result_buf[128];
+ char *w_buf;
+ struct file *w_file;
+ int w_len=0, i = 0;
+
+ bool item_result[SELFTEST_ITEM_NUM]={0};
+ int count = 0;
+ selft_test_result = 1;
+
+ disable_irq(client->irq);
+ memset(config_file, 0, sizeof(config_file));
+ sprintf(config_file, TP_INI_FILE);
+
+ printk("[FTS]%s : loading config file : %s \n", __func__, config_file);
+
+ init_i2c_read_func(FTS_I2c_Read);
+ init_i2c_write_func(FTS_I2c_Write);
+
+ if (ft3207_get_testparam_from_ini(config_file) < 0) {
+ printk("[FTS][TOUCH_ERR] %s : get testparam from ini failure \n", __func__);
+ }
+ else {
+ printk("[FTS][Touch] %s : tp test Start... \n", __func__);
+
+ if (FT3207_StartTest(item_result)) {
+ printk("[FTS][Touch] %s : tp test pass \n", __func__);
+ selft_test_result = 0;
+ }
+ else {
+ printk("[FTS][Touch] %s : tp test failure \n", __func__);
+ selft_test_result = 1;
+ }
+
+ for (i = 0; i < 3; i++) {
+ if (fts_write_reg(client, 0x00, 0x00) >= 0)
+ break;
+ else
+ msleep(200);
+ }
+
+ w_file = fts_selftest_file_open();
+ if (!w_file) {
+ printk("[FTS][Touch] %s : Open log file fail !\n", __func__);
+ } else {
+ w_len = FT3207_get_test_data(&w_buf);
+ fts_selftest_file_write(w_file, w_buf, w_len);
+
+
+ w_len = sprintf(result_buf, "Selftest %s\n=====END=====\n",selft_test_result ? "FAIL" : "PASS");
+ fts_selftest_file_write(w_file, result_buf, w_len);
+ fts_selftest_file_close(w_file);
+ }
+
+ free_test_param_data();
+ }
+
+ enable_irq(client->irq);
+
+ //TODO GC add reset chip here
+ fts_reset_chip();
+
+ if (selft_test_result) {
+ printk("[FTS] %s: Selftest FAIL\n", __func__);
+ }
+ else {
+ printk("[FTS] %s : Selftest PASS\n", __func__);
+ }
+
+ count += sprintf(buf + count, "[FTS] : Selftest %s;\n", selft_test_result ? "FAIL" : "PASS");
+
+
+ for (i = 0 ;i < SELFTEST_ITEM_NUM; i++) {
+ if (item_result[i] == false) {
+ switch(i) {
+ case ENTER_FACTORY_MODE_TEST:
+ count += sprintf(buf + count, "TP EnterFTM Fail;\n");
+ printk("[fts]%s : TP EnterFTM Fail \n", __func__);
+ return count;
+ break;
+ case RAWDATA_TEST:
+ count += sprintf(buf + count, "RawData Fail;\n");
+ printk("[fts]%s : TP RawData Fail \n", __func__);
+ break;
+ case CB_TEST:
+ count += sprintf(buf + count, "CB Fail;\n");
+ printk("[fts]%s : TP CB Fail \n", __func__);
+ break;
+ case DIFF_CB_TEST:
+ count += sprintf(buf + count, "DiffCB Fail;\n");
+ printk("[fts]%s : TP DiffCB Fail \n", __func__);
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+ return count;
+}
+
+//dean add for FW check start
+static ssize_t fts_fw_check_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ int count = 0;
+
+ if(fts_wq_data->fw_ver[0] == 0) {
+ count += sprintf(buf + count, "FAIL\n");
+ count += sprintf(buf + count, "TP ID is wrong\n");
+ }
+ else {
+ count += sprintf(buf + count, "Pass, (fw_ver : 0x%x, fw_id : 0x%x, tp_id : 0x%x)\n",
+ fts_wq_data->fw_ver[0], fts_wq_data->fw_vendor_id, fts_wq_data->tp_vendor_id);
+ }
+ return count;
+}
+
+#define FTS_ALL_PACKET_LENGTH 256
+static int getTPid(void)
+{
+ struct i2c_client *client = fts_i2c_client;
+ unsigned char cmd[6] = {0};
+ u8 tmpBuf[FTS_ALL_PACKET_LENGTH] = {0};
+ int err = 0;
+
+ //first, let touch ic enter read mode
+ cmd[0] = 0x55;
+ cmd[1] = 0xAA;
+ err = fts_i2c_write(client, cmd, 2);
+ if (err < 0) {
+ dev_err(&client->dev, "TP vendor id read failed 1 \n");
+ goto tp_id_err;
+ }
+ msleep(2);
+ fts_reset_chip();
+ err = fts_i2c_write(client, cmd, 2);
+ if (err < 0) {
+ dev_err(&client->dev, "TP vendor id read failed 2 \n");
+ goto tp_id_err;
+ }
+ msleep(2);
+
+ //start to read touch F/W's TP vendor ID
+ cmd[0] = 0x02;
+ cmd[1] = 0xFD;
+ cmd[2] = (u8)((7 * FTS_ALL_PACKET_LENGTH)>>8);
+ cmd[3] = (u8)(7 * FTS_ALL_PACKET_LENGTH);
+ cmd[4] = (u8)((FTS_ALL_PACKET_LENGTH-1)>>8);
+ cmd[5] = (u8)(FTS_ALL_PACKET_LENGTH-1);
+ err = fts_i2c_read(client, cmd, 6, tmpBuf, FTS_ALL_PACKET_LENGTH);
+ if (err < 0) {
+ dev_err(&client->dev, "TP vendor id read failed 3 \n");
+ goto tp_id_err;
+ }
+
+ msleep(2);
+
+ //lock flash cptm
+ cmd[0] = 0x0A;
+ cmd[1] = 0xF5;
+ err = fts_i2c_write(client, cmd, 2);
+ if (err < 0) {
+ dev_err(&client->dev, "TP vendor id read failed 4 \n");
+ goto tp_id_err;
+ }
+
+ msleep(100);
+
+ fts_reset_chip();
+ msleep(300);
+
+ return tmpBuf[0xB4];
+
+tp_id_err:
+
+ fts_reset_chip();
+ msleep(300);
+ return -1;
+}
+
+int check_TP_ID(char *buf, ssize_t buf_len, u8 tp_id) {
+
+ switch(tp_id) {
+ case TP_ID_82:
+ buf_len += sprintf(buf + buf_len, "TP is 0x82\n");
+ break;
+ case TP_ID_83:
+ buf_len += sprintf(buf + buf_len, "TP is 0x83\n");
+ break;
+ case TP_ID_84:
+ buf_len += sprintf(buf + buf_len, "TP is 0x84\n");
+ break;
+ case TP_ID_85:
+ buf_len += sprintf(buf + buf_len, "TP is 0x85\n");
+ break;
+ case TP_ID_81:
+ buf_len += sprintf(buf + buf_len, "TP is 0x81\n");
+ break;
+ case TP_ID_86:
+ buf_len += sprintf(buf + buf_len, "TP is 0x86\n");
+ break;
+ case TP_ID_88:
+ buf_len += sprintf(buf + buf_len, "TP is 0x88\n");
+ break;
+ case TP_ID_89:
+ buf_len += sprintf(buf + buf_len, "TP is 0x89\n");
+ break;
+ case TP_ID_8A:
+ buf_len += sprintf(buf + buf_len, "TP is 0x8A\n");
+ break;
+ case TP_ID_A0:
+ buf_len += sprintf(buf + buf_len, "TP is 0xA0\n");
+ break;
+ case TP_ID_A1:
+ buf_len += sprintf(buf + buf_len, "TP is 0xA1\n");
+ break;
+ case TP_ID_A2:
+ buf_len += sprintf(buf + buf_len, "TP is 0xA2\n");
+ break;
+ case TP_ID_A3:
+ buf_len += sprintf(buf + buf_len, "TP is 0xA3\n");
+ break;
+ default:
+ buf_len += sprintf(buf + buf_len, "TP isn't correct\n");
+ break;
+ }
+ return buf_len;
+
+}
+
+//dean add get TP infomation include fw ver, tp id from chip by i2c
+static ssize_t fts_getTPinfo_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ ssize_t num_read_chars = 0;
+ u8 fwver = 0, tp_id = 0;
+ u8 err = -1;
+ u8 reg_addr = FTS_REG_FW_VER;
+
+ mutex_lock(&fts_input_dev->mutex);
+
+ err = fts_i2c_read(fts_i2c_client, ®_addr, 1, &fwver, 1);
+
+ if (fwver == 255 || err < 0)
+ num_read_chars += sprintf(buf + num_read_chars,"get tp fw version fail!\n");
+ else
+ {
+ num_read_chars += sprintf(buf + num_read_chars, "FW Ver : 0x%02X\n", fwver);
+ }
+
+ tp_id = getTPid();
+ num_read_chars += sprintf(buf + num_read_chars, "TP ID : 0x%02X\n", tp_id);
+
+ num_read_chars = check_TP_ID(buf, num_read_chars, tp_id);
+
+ mutex_unlock(&fts_input_dev->mutex);
+
+ return num_read_chars;
+}
+
+//dean add get TP infomation include fw ver, tp id from chip by i2c
+static ssize_t fts_TPupgradeAPP_for_i_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ ssize_t num_read_chars = 0;
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ u8 err = -1;
+
+ mutex_lock(&fts_input_dev->mutex);
+
+ disable_irq(client->irq);
+
+ err = fts_ctpm_auto_upgrade_for_cci(fts_i2c_client, fts_wq_data->tp_vendor_id, true);
+
+ if(err == 0) {
+ fts_update_fw_ver(fts_wq_data);
+ fts_update_fw_vendor_id(fts_wq_data);
+
+ num_read_chars += sprintf(buf + num_read_chars, "TP Upgrade is OK, FW ver : 0x%x, TP ID : 0x%x\n",
+ fts_wq_data->fw_ver[0], fts_wq_data->tp_vendor_id);
+ } else {
+ num_read_chars += sprintf(buf + num_read_chars, "TP Upgrade is Fail\n");
+ }
+
+ num_read_chars = check_TP_ID(buf, num_read_chars, fts_wq_data->tp_vendor_id);
+
+ enable_irq(client->irq);
+ mutex_unlock(&fts_input_dev->mutex);
+
+ return num_read_chars;
+}
+
+static ssize_t show_tp_debug_tag(struct device *dev, struct device_attribute *attr, char *buf)
+{
+#ifndef FTS_GESTRUE_EN
+ return sprintf(buf, "TP down event log : %s\n", print_point?"ON":"OFF");
+#else
+ return sprintf(buf, "TP down event log : %s, gesture log: %s\n", print_point?"ON":"OFF",print_gesture?"ON":"OFF");
+#endif
+}
+
+static ssize_t store_tp_debug_tag(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
+{
+ printk(KERN_DEBUG "[fts]%s, buf : %d\n", __func__, buf[0]);
+
+ switch(buf[0]) {
+ case DISABLE_TAG:
+ printk(KERN_DEBUG "[fts]%s, TP debug log disable\n", __func__);
+ print_point = false;
+#ifdef FTS_GESTRUE_EN
+ print_gesture = false;
+#endif
+ break;
+ case ENABLE_POINT_TAG:
+ printk(KERN_DEBUG "[fts]%s, TP down event log enable\n", __func__);
+ print_point = true;
+ break;
+#ifdef FTS_GESTRUE_EN
+ case ENABLE_GESTURE_TAG:
+ printk(KERN_DEBUG "[fts]%s, TP gesture log enable\n", __func__);
+ print_gesture = true;
+ break;
+#endif
+ default :
+ printk(KERN_DEBUG "[fts]%s, invalid format\n", __func__);
+ break;
+ }
+
+ return count;
+}
+
+#ifdef FTS_GESTRUE_EN
+static ssize_t show_tp_enable_big_area_event_tag(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ printk(KERN_DEBUG "[fts]%s, Enable TP big area event into ambient mode\n", __func__);
+ en_big_area_func = true;
+ return sprintf(buf, "TP big area function : %s\n", en_big_area_func?"ON":"OFF");
+}
+
+static ssize_t show_tp_disable_big_area_event_tag(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ printk(KERN_DEBUG "[fts]%s, Disable TP big area event into ambient mode\n", __func__);
+ en_big_area_func = false;
+ return sprintf(buf, "TP big area function : %s\n", en_big_area_func?"ON":"OFF");
+}
+
+#endif
+
+static ssize_t tp_enable_irq_func(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ enable_irq(fts_wq_data->client->irq);
+ return snprintf(buf, 64, "TP irq enable\n");
+}
+
+static ssize_t tp_disable_irq_func(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ disable_irq(fts_wq_data->client->irq);
+ return snprintf(buf, 64, "TP irq disable\n");
+}
+
+static ssize_t show_tp_debug_info(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ struct irq_desc *desc = irq_to_desc(fts_wq_data->client->irq);
+
+ return snprintf(buf, 256, "fts_wq_queue_result: %u, disable_depth: %u,\n"
+ "irq_handler_recovery_count: %u, suspend_resume_recovery_count: %u\n"
+ "plam_recovery_count: %u\n", fts_wq_queue_result, desc->depth,
+ irq_handler_recovery_count, suspend_resume_recovery_count,
+ plam_recovery_count);
+}
+
+static ssize_t fts_tp_pwr_disabled_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
+{
+ int err = 0 ;
+ unsigned int disabling_tp;
+
+ err = kstrtouint(buf, 10, &disabling_tp);
+
+ if (disabling_tp) {
+ printk(KERN_DEBUG "[fts]%s, Disable TP \n", __func__);
+
+ err = fts_ts_disable(dev);
+ ts_pwr_disabled = true;
+ } else {
+ if (ts_pwr_disabled) {
+ printk(KERN_DEBUG "[fts]%s, Enable TP Now \n", __func__);
+ fts_ts_start(dev);
+ ts_pwr_disabled = false;
+ } else {
+ printk(KERN_INFO "[fts]%s, TP power already on \n", __func__);
+ return count;
+ }
+ }
+ return count;
+}
+
+static ssize_t fts_tp_pwr_disabled_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ printk(KERN_DEBUG "[fts]%s, Show TP Disable state\n", __func__);
+ return EPERM;
+}
+
+static DEVICE_ATTR(ftstppwrdisable, S_IRUGO|S_IWUSR|S_IWGRP, fts_tp_pwr_disabled_show, fts_tp_pwr_disabled_store);
+
+/****************************************/
+/* sysfs */
+/*get the fw version
+*example:cat ftstpfwver
+*/
+static DEVICE_ATTR(ftstpfwver, S_IRUGO|S_IWUSR, fts_tpfwver_show, fts_tpfwver_store);
+
+static DEVICE_ATTR(ftstpdriverver, S_IRUGO|S_IWUSR, fts_tpdriver_version_show, fts_tpdriver_version_store);
+/*upgrade from *.i
+*example: echo 1 > ftsfwupdate
+*/
+static DEVICE_ATTR(ftsfwupdate, S_IRUGO|S_IWUSR, fts_fwupdate_show, fts_fwupdate_store);
+/*read and write register
+*read example: echo 88 > ftstprwreg ---read register 0x88
+*write example:echo 8807 > ftstprwreg ---write 0x07 into register 0x88
+*
+*note:the number of input must be 2 or 4.if it not enough,please fill in the 0.
+*/
+static DEVICE_ATTR(ftstprwreg, S_IRUGO|S_IWUSR, fts_tprwreg_show, fts_tprwreg_store);
+/*upgrade from app.bin
+*example:echo "*_app.bin" > ftsfwupgradeapp
+*/
+static DEVICE_ATTR(ftsfwupgradeapp, S_IRUGO|S_IWUSR, fts_fwupgradeapp_show, fts_fwupgradeapp_store);
+static DEVICE_ATTR(ftsgetprojectcode, S_IRUGO|S_IWUSR, fts_getprojectcode_show, fts_getprojectcode_store);
+
+static DEVICE_ATTR(ftstptestchnum, S_IRUGO|S_IWUSR, fts_tptestchnum_show, fts_tptestchnum_store);
+static DEVICE_ATTR(ftstptestrawdata, S_IRUGO|S_IWUSR, fts_tptestrawdata_show, fts_tptestrawdata_store);
+static DEVICE_ATTR(ftstptestcbdata, S_IRUGO|S_IWUSR, fts_tptestcbdata_show, fts_tptestcbdata_store);
+
+static DEVICE_ATTR(ftstpselftest, S_IRUGO, fts_selftest_show, NULL);
+
+//dean add for FW check
+static DEVICE_ATTR(fw_check, S_IRUGO, fts_fw_check_show, NULL);
+
+static DEVICE_ATTR(fts_getTPinfo, S_IRUGO, fts_getTPinfo_show, NULL);
+static DEVICE_ATTR(fts_TPupgradeAPP_for_i, S_IRUGO, fts_TPupgradeAPP_for_i_show, NULL);
+static DEVICE_ATTR(en_msg_report_data, S_IRUGO | S_IWUSR, show_tp_debug_tag, store_tp_debug_tag);
+
+#ifdef FTS_GESTRUE_EN
+static DEVICE_ATTR(enable_big_area_event, S_IRUGO, show_tp_enable_big_area_event_tag, NULL);
+static DEVICE_ATTR(disable_big_area_event, S_IRUGO, show_tp_disable_big_area_event_tag, NULL);
+
+#endif
+
+static DEVICE_ATTR(enable_tp_irq, S_IRUGO, tp_enable_irq_func, NULL);
+static DEVICE_ATTR(disable_tp_irq, S_IRUGO, tp_disable_irq_func, NULL);
+static DEVICE_ATTR(tp_debug_info, S_IRUGO, show_tp_debug_info, NULL);
+
+/*add your attr in here*/
+static struct attribute *fts_attributes[] = {
+ &dev_attr_ftstppwrdisable.attr,
+ &dev_attr_ftstpfwver.attr,
+ &dev_attr_ftstpdriverver.attr,
+ &dev_attr_ftsfwupdate.attr,
+ &dev_attr_ftstprwreg.attr,
+ &dev_attr_ftsfwupgradeapp.attr,
+ &dev_attr_ftsgetprojectcode.attr,
+ &dev_attr_ftstptestchnum.attr,
+ &dev_attr_ftstptestrawdata.attr,
+ &dev_attr_ftstptestcbdata.attr,
+ &dev_attr_ftstpselftest.attr,
+ &dev_attr_fw_check.attr,
+ &dev_attr_fts_getTPinfo.attr,
+ &dev_attr_fts_TPupgradeAPP_for_i.attr,
+ &dev_attr_en_msg_report_data.attr,
+#ifdef FTS_GESTRUE_EN
+ &dev_attr_enable_big_area_event.attr,
+ &dev_attr_disable_big_area_event.attr,
+#endif
+ &dev_attr_enable_tp_irq.attr,
+ &dev_attr_disable_tp_irq.attr,
+ &dev_attr_tp_debug_info.attr,
+ NULL
+};
+
+static struct attribute_group fts_attribute_group = {
+ .attrs = fts_attributes
+};
+
+/************************************************************************
+* Name: fts_create_sysfs
+* Brief: create sysfs for debug
+* Input: i2c info
+* Output: no
+* Return: success =0
+***********************************************************************/
+int fts_create_sysfs(struct i2c_client * client)
+{
+ int err;
+
+ err = sysfs_create_group(&client->dev.kobj, &fts_attribute_group);
+ if (0 != err)
+ {
+ dev_err(&client->dev, "%s() - ERROR: sysfs_create_group() failed.\n", __func__);
+ sysfs_remove_group(&client->dev.kobj, &fts_attribute_group);
+ return -EIO;
+ }
+ else
+ {
+ pr_info("fts:%s() - sysfs_create_group() succeeded.\n",__func__);
+ }
+ return err;
+}
+/************************************************************************
+* Name: fts_remove_sysfs
+* Brief: remove sys
+* Input: i2c info
+* Output: no
+* Return: no
+***********************************************************************/
+int fts_remove_sysfs(struct i2c_client * client)
+{
+ sysfs_remove_group(&client->dev.kobj, &fts_attribute_group);
+ return 0;
+}
diff --git a/drivers/input/touchscreen/focaltech_3207/focaltech_flash.c b/drivers/input/touchscreen/focaltech_3207/focaltech_flash.c
new file mode 100644
index 0000000..855536d
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/focaltech_flash.c
@@ -0,0 +1,3351 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+
+/*******************************************************************************
+* 1.Included header files
+*******************************************************************************/
+#include "focaltech_core.h"
+
+/*******************************************************************************
+* Private constant and macro definitions using #define
+*******************************************************************************/
+#define FTS_REG_FW_MAJ_VER 0xB1
+#define FTS_REG_FW_MIN_VER 0xB2
+#define FTS_REG_FW_SUB_MIN_VER 0xB3
+#define FTS_FW_MIN_SIZE 8
+#define FTS_FW_MAX_SIZE (54 * 1024)
+/* Firmware file is not supporting minor and sub minor so use 0 */
+#define FTS_FW_FILE_MAJ_VER(x) ((x)->data[(x)->size - 2])
+#define FTS_FW_FILE_MIN_VER(x) 0
+#define FTS_FW_FILE_SUB_MIN_VER(x) 0
+#define FTS_FW_FILE_VENDOR_ID(x) ((x)->data[(x)->size - 1])
+#define FTS_FW_FILE_MAJ_VER_FT6X36(x) ((x)->data[0x10a])
+#define FTS_FW_FILE_VENDOR_ID_FT6X36(x) ((x)->data[0x108])
+#define FTS_MAX_TRIES 5
+#define FTS_RETRY_DLY 20
+#define FTS_MAX_WR_BUF 10
+#define FTS_MAX_RD_BUF 2
+#define FTS_FW_PKT_META_LEN 6
+#define FTS_FW_PKT_DLY_MS 20
+#define FTS_FW_LAST_PKT 0x6ffa
+#define FTS_EARSE_DLY_MS 100
+#define FTS_55_AA_DLY_NS 5000
+#define FTS_CAL_START 0x04
+#define FTS_CAL_FIN 0x00
+#define FTS_CAL_STORE 0x05
+#define FTS_CAL_RETRY 100
+#define FTS_REG_CAL 0x00
+#define FTS_CAL_MASK 0x70
+#define FTS_BLOADER_SIZE_OFF 12
+#define FTS_BLOADER_NEW_SIZE 30
+#define FTS_DATA_LEN_OFF_OLD_FW 8
+#define FTS_DATA_LEN_OFF_NEW_FW 14
+#define FTS_FINISHING_PKT_LEN_OLD_FW 6
+#define FTS_FINISHING_PKT_LEN_NEW_FW 12
+#define FTS_MAGIC_BLOADER_Z7 0x7bfa
+#define FTS_MAGIC_BLOADER_LZ4 0x6ffa
+#define FTS_MAGIC_BLOADER_GZF_30 0x7ff4
+#define FTS_MAGIC_BLOADER_GZF 0x7bf4
+#define FTS_REG_ECC 0xCC
+#define FTS_RST_CMD_REG2 0xBC
+#define FTS_READ_ID_REG 0x90
+#define FTS_ERASE_APP_REG 0x61
+#define FTS_ERASE_PARAMS_CMD 0x63
+#define FTS_FW_WRITE_CMD 0xBF
+#define FTS_REG_RESET_FW 0x07
+#define FTS_RST_CMD_REG1 0xFC
+#define FTS_FACTORYMODE_VALUE 0x40
+#define FTS_WORKMODE_VALUE 0x00
+#define FTS_APP_INFO_ADDR 0xd7f8
+
+#define BL_VERSION_LZ4 0
+#define BL_VERSION_Z7 1
+#define BL_VERSION_GZF 2
+
+#define FTS_REG_FW_VENDOR_ID 0xA8
+
+#define FTS_PACKET_LENGTH 128
+#define FTS_SETTING_BUF_LEN 128
+
+#define FTS_UPGRADE_LOOP 30
+#define FTS_MAX_POINTS_2 2
+#define FTS_MAX_POINTS_5 5
+#define FTS_MAX_POINTS_10 10
+#define AUTO_CLB_NEED 1
+#define AUTO_CLB_NONEED 0
+#define FTS_UPGRADE_AA 0xAA
+#define FTS_UPGRADE_55 0x55
+#define HIDTOI2C_DISABLE 0
+#define FTXXXX_INI_FILEPATH_CONFIG "/sdcard/"
+/*******************************************************************************
+* Private enumerations, structures and unions using typedef
+*******************************************************************************/
+
+/*******************************************************************************
+* Static variables
+*******************************************************************************/
+static unsigned char CTPM_FW_TP_ID_82[] = {
+ #include "FTS_FW/CEI_DBW2_3207_0x82_app.i"
+};
+
+static unsigned char CTPM_FW_TP_ID_83[] = {
+ #include "FTS_FW/CEI_DBW2_3207_0x83_app.i"
+};
+
+static unsigned char CTPM_FW_TP_ID_84[] = {
+ #include "FTS_FW/CEI_DBW2_3207_0x84_app.i"
+};
+
+static unsigned char CTPM_FW_TP_ID_85[] = {
+ #include "FTS_FW/CEI_DBW2_3207_0x85_app.i"
+};
+
+static unsigned char CTPM_FW_TP_ID_81[] = {
+ #include "FTS_FW/CEI_DLW2_3207_0x81_app.i"
+};
+
+static unsigned char CTPM_FW_TP_ID_86[] = {
+ #include "FTS_FW/CEI_DLW2_3207_0x86_app.i"
+};
+
+static unsigned char CTPM_FW_TP_ID_88[] = {
+ #include "FTS_FW/CEI_DLW2_3207_0x88_app.i"
+};
+
+static unsigned char CTPM_FW_TP_ID_89[] = {
+ #include "FTS_FW/CEI_DLW2_3207_0x89_app.i"
+};
+
+static unsigned char CTPM_FW_TP_ID_8A[] = {
+ #include "FTS_FW/CEI_DLW2_3207_0x8A_app.i"
+};
+
+static unsigned char CTPM_FW_TP_ID_A0[] = {
+ #include "FTS_FW/CEI_DHW1_3207_0xA0_app.i"
+};
+
+static unsigned char CTPM_FW_TP_ID_A1[] = {
+ #include "FTS_FW/CEI_DHW1_3207_0xA1_app.i"
+};
+
+static unsigned char CTPM_FW_TP_ID_A2[] = {
+ #include "FTS_FW/CEI_DHW1_3207_0xA2_app.i"
+};
+
+static unsigned char CTPM_FW_TP_ID_A3[] = {
+ #include "FTS_FW/CEI_DHW1_3207_0xA3_app.i"
+};
+
+struct fts_Upgrade_Info fts_updateinfo[] =
+{
+ {0x55,FTS_MAX_POINTS_5,AUTO_CLB_NEED,50, 30, 0x79, 0x03, 10, 2000}, //,"FT5x06"
+ {0x08,FTS_MAX_POINTS_5,AUTO_CLB_NEED,50, 10, 0x79, 0x06, 100, 2000}, //,"FT5606"
+ {0x0a,FTS_MAX_POINTS_5,AUTO_CLB_NEED,50, 30, 0x79, 0x07, 10, 1500}, //,"FT5x16"
+ {0x06,FTS_MAX_POINTS_2,AUTO_CLB_NONEED,100, 30, 0x79, 0x08, 10, 2000}, //,"FT6x06"
+ {0x36,FTS_MAX_POINTS_2,AUTO_CLB_NONEED,10, 10, 0x79, 0x18, 10, 2000}, //,"FT6x36"
+ {0x64,FTS_MAX_POINTS_2,AUTO_CLB_NONEED,10, 10, 0x79, 0x1c, 10, 2000}, //,"FT6336GU"
+ {0x55,FTS_MAX_POINTS_5,AUTO_CLB_NEED,50, 30, 0x79, 0x03, 10, 2000}, //,"FT5x06i"
+ {0x14,FTS_MAX_POINTS_5,AUTO_CLB_NONEED,30, 30, 0x79, 0x11, 10, 2000}, //,"FT5336"
+ {0x13,FTS_MAX_POINTS_5,AUTO_CLB_NONEED,30, 30, 0x79, 0x11, 10, 2000}, //,"FT3316"
+ {0x12,FTS_MAX_POINTS_5,AUTO_CLB_NONEED,30, 30, 0x79, 0x11, 10, 2000}, //,"FT5436i"
+ {0x11,FTS_MAX_POINTS_5,AUTO_CLB_NONEED,30, 30, 0x79, 0x11, 10, 2000}, //,"FT5336i"
+ {0x54,FTS_MAX_POINTS_5,AUTO_CLB_NONEED,2, 2, 0x54, 0x2c, 20, 2000}, //,"FT5x46"
+ {0x58,FTS_MAX_POINTS_5,AUTO_CLB_NONEED,2, 2, 0x58, 0x2c, 20, 2000},//"FT5822",
+ {0x59,FTS_MAX_POINTS_10,AUTO_CLB_NONEED,30, 50, 0x79, 0x10, 1, 2000},//"FT5x26",
+ {0x86,FTS_MAX_POINTS_10,AUTO_CLB_NONEED,2, 2, 0x86, 0xA6, 20, 2000},//"FT8606",
+ {0x0e,FTS_MAX_POINTS_2,AUTO_CLB_NONEED,10, 10, 0x79, 0x18, 10, 2000}, //,"FT3X07"
+};
+/*******************************************************************************
+* Global variable or extern global variabls/functions
+*******************************************************************************/
+struct fts_Upgrade_Info fts_updateinfo_curr;
+
+/*The newest firmware, if update must be changed here*/
+u8 *CTPM_FW = NULL;
+u16 fw_size = 0;
+
+/*******************************************************************************
+* Static function prototypes
+*******************************************************************************/
+int fts_6x36_ctpm_fw_upgrade(struct i2c_client *client, u8 *pbt_buf, u32 dw_lenth);
+int fts_6336GU_ctpm_fw_upgrade(struct i2c_client *client, u8 *pbt_buf, u32 dw_lenth);
+int fts_6x06_ctpm_fw_upgrade(struct i2c_client *client, u8 *pbt_buf, u32 dw_lenth);
+int fts_5x36_ctpm_fw_upgrade(struct i2c_client *client, u8 *pbt_buf, u32 dw_lenth);
+int fts_5x06_ctpm_fw_upgrade(struct i2c_client *client, u8 *pbt_buf, u32 dw_lenth);
+int fts_5x46_ctpm_fw_upgrade(struct i2c_client * client, u8* pbt_buf, u32 dw_lenth);
+int fts_5822_ctpm_fw_upgrade(struct i2c_client * client, u8* pbt_buf, u32 dw_lenth);
+int fts_5x26_ctpm_fw_upgrade(struct i2c_client *client, u8 *pbt_buf, u32 dw_lenth);
+int fts_8606_writepram(struct i2c_client * client, u8* pbt_buf, u32 dw_lenth);
+int fts_8606_ctpm_fw_upgrade(struct i2c_client * client, u8* pbt_buf, u32 dw_lenth);
+int fts_3x07_ctpm_fw_upgrade(struct i2c_client *client, u8 *pbt_buf, u32 dw_lenth);
+int hidi2c_to_stdi2c(struct i2c_client * client);
+
+/************************************************************************
+* Name: hidi2c_to_stdi2c
+* Brief: HID to I2C
+* Input: i2c info
+* Output: no
+* Return: fail =0
+***********************************************************************/
+int hidi2c_to_stdi2c(struct i2c_client * client)
+{
+ u8 auc_i2c_write_buf[5] = {0};
+ int bRet = 0;
+ #if HIDTOI2C_DISABLE
+ return 0;
+ #endif
+
+ auc_i2c_write_buf[0] = 0xeb;
+ auc_i2c_write_buf[1] = 0xaa;
+ auc_i2c_write_buf[2] = 0x09;
+ bRet =fts_i2c_write(client, auc_i2c_write_buf, 3);
+ msleep(10);
+ auc_i2c_write_buf[0] = auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = 0;
+ fts_i2c_read(client, auc_i2c_write_buf, 0, auc_i2c_write_buf, 3);
+
+ if(0xeb==auc_i2c_write_buf[0] && 0xaa==auc_i2c_write_buf[1] && 0x08==auc_i2c_write_buf[2])
+ {
+ pr_info("hidi2c_to_stdi2c successful.\n");
+ bRet = 1;
+ }
+ else
+ {
+ pr_err("hidi2c_to_stdi2c error.\n");
+ bRet = 0;
+ }
+
+ return bRet;
+}
+
+/*******************************************************************************
+* Name: fts_update_fw_vendor_id
+* Brief:
+* Input:
+* Output: None
+* Return: None
+*******************************************************************************/
+void fts_update_fw_vendor_id(struct fts_ts_data *data)
+{
+ struct i2c_client *client = data->client;
+ u8 reg_addr;
+ int err;
+
+ reg_addr = FTS_REG_FW_VENDOR_ID;
+ err = fts_i2c_read(client, ®_addr, 1, &data->fw_vendor_id, 1);
+ if (err < 0)
+ dev_err(&client->dev, "fw vendor id read failed");
+}
+
+/*******************************************************************************
+* Name: fts_update_fw_ver
+* Brief:
+* Input:
+* Output: None
+* Return: None
+*******************************************************************************/
+void fts_update_fw_ver(struct fts_ts_data *data)
+{
+ struct i2c_client *client = data->client;
+ u8 reg_addr;
+ int err;
+
+ reg_addr = FTS_REG_FW_VER;
+ err = fts_i2c_read(client, ®_addr, 1, &data->fw_ver[0], 1);
+ if (err < 0)
+ dev_err(&client->dev, "fw major version read failed");
+
+ dev_info(&client->dev, "Firmware version = 0x%x\n",
+ data->fw_ver[0]);
+}
+
+/************************************************************************
+* Name: fts_ctpm_fw_upgrade_ReadVendorID
+* Brief: read vendor ID
+* Input: i2c info, vendor ID
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_ctpm_fw_upgrade_ReadVendorID(struct i2c_client *client, u8 *ucPVendorID)
+{
+ u8 reg_val[4] = {0};
+ u32 i = 0;
+ u8 auc_i2c_write_buf[10];
+ int i_ret;
+
+ *ucPVendorID = 0;
+ i_ret = hidi2c_to_stdi2c(client);
+ if (i_ret == 0)
+ {
+ FTS_DBG("HidI2c change to StdI2c fail ! \n");
+ }
+
+ for (i = 0; i < FTS_UPGRADE_LOOP; i++)
+ {
+ /*********Step 1:Reset CTPM *****/
+ fts_write_reg(client, 0xfc, FTS_UPGRADE_AA);
+ msleep(fts_updateinfo_curr.delay_aa);
+ fts_write_reg(client, 0xfc, FTS_UPGRADE_55);
+ msleep(200);
+ /*********Step 2:Enter upgrade mode *****/
+ i_ret = hidi2c_to_stdi2c(client);
+ if (i_ret == 0)
+ {
+ FTS_DBG("HidI2c change to StdI2c fail ! \n");
+ }
+ msleep(10);
+ auc_i2c_write_buf[0] = FTS_UPGRADE_55;
+ auc_i2c_write_buf[1] = FTS_UPGRADE_AA;
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 2);
+ if (i_ret < 0) {
+ FTS_DBG("failed writing 0x55 and 0xaa ! \n");
+ continue;
+ }
+ /*********Step 3:check READ-ID***********************/
+ msleep(10);
+ auc_i2c_write_buf[0] = 0x90;
+ auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = auc_i2c_write_buf[3] = 0x00;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+ if (reg_val[0] == fts_updateinfo_curr.upgrade_id_1 && reg_val[1] == fts_updateinfo_curr.upgrade_id_2) {
+ FTS_DBG("[FTS] Step 3: READ OK CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n", reg_val[0], reg_val[1]);
+ break;
+ }
+ else
+ {
+ dev_err(&client->dev, "[FTS] Step 3: CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n", reg_val[0], reg_val[1]);
+ continue;
+ }
+ }
+ if (i >= FTS_UPGRADE_LOOP)
+ return -EIO;
+ /*********Step 4: read vendor id from app param area***********************/
+ msleep(10);
+ auc_i2c_write_buf[0] = 0x03;
+ auc_i2c_write_buf[1] = 0x00;
+ auc_i2c_write_buf[2] = 0xd7;
+ auc_i2c_write_buf[3] = 0x84;
+ for (i = 0; i < FTS_UPGRADE_LOOP; i++)
+ {
+ fts_i2c_write(client, auc_i2c_write_buf, 4);
+ msleep(5);
+ reg_val[0] = reg_val[1] = 0x00;
+ i_ret = fts_i2c_read(client, auc_i2c_write_buf, 0, reg_val, 2);
+ if (0 != reg_val[0])
+ {
+ *ucPVendorID = 0;
+ FTS_DBG("In upgrade Vendor ID Mismatch, REG1 = 0x%x, REG2 = 0x%x, Definition:0x%x, i_ret=%d\n", reg_val[0], reg_val[1], 0, i_ret);
+ }
+ else
+ {
+ *ucPVendorID = reg_val[0];
+ FTS_DBG("In upgrade Vendor ID, REG1 = 0x%x, REG2 = 0x%x\n", reg_val[0], reg_val[1]);
+ break;
+ }
+ }
+ msleep(50);
+ /*********Step 5: reset the new FW***********************/
+ FTS_DBG("Step 5: reset the new FW\n");
+ auc_i2c_write_buf[0] = 0x07;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(200);
+ i_ret = hidi2c_to_stdi2c(client);
+ if (i_ret == 0)
+ {
+ FTS_DBG("HidI2c change to StdI2c fail ! \n");
+ }
+ msleep(10);
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_ctpm_fw_upgrade_ReadProjectCode
+* Brief: read project code
+* Input: i2c info, project code
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_ctpm_fw_upgrade_ReadProjectCode(struct i2c_client *client, char *pProjectCode)
+{
+ u8 reg_val[4] = {0};
+ u32 i = 0;
+ u8 j = 0;
+ u8 auc_i2c_write_buf[10];
+ int i_ret;
+ u32 temp;
+ i_ret = hidi2c_to_stdi2c(client);
+ if (i_ret == 0)
+ {
+ FTS_DBG("HidI2c change to StdI2c fail ! \n");
+ }
+ for (i = 0; i < FTS_UPGRADE_LOOP; i++)
+ {
+ /*********Step 1:Reset CTPM *****/
+ fts_write_reg(client, 0xfc, FTS_UPGRADE_AA);
+ msleep(fts_updateinfo_curr.delay_aa);
+ fts_write_reg(client, 0xfc, FTS_UPGRADE_55);
+ msleep(200);
+ /*********Step 2:Enter upgrade mode *****/
+ i_ret = hidi2c_to_stdi2c(client);
+ if (i_ret == 0)
+ {
+ FTS_DBG("HidI2c change to StdI2c fail ! \n");
+ }
+ msleep(10);
+ auc_i2c_write_buf[0] = FTS_UPGRADE_55;
+ auc_i2c_write_buf[1] = FTS_UPGRADE_AA;
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 2);
+ if (i_ret < 0)
+ {
+ FTS_DBG("failed writing 0x55 and 0xaa ! \n");
+ continue;
+ }
+ /*********Step 3:check READ-ID***********************/
+ msleep(10);
+ auc_i2c_write_buf[0] = 0x90;
+ auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = auc_i2c_write_buf[3] = 0x00;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+ if (reg_val[0] == fts_updateinfo_curr.upgrade_id_1 && reg_val[1] == fts_updateinfo_curr.upgrade_id_2)
+ {
+ FTS_DBG("[FTS] Step 3: READ OK CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n", reg_val[0], reg_val[1]);
+ break;
+ }
+ else
+ {
+ dev_err(&client->dev, "[FTS] Step 3: CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n", reg_val[0], reg_val[1]);
+ continue;
+ }
+ }
+ if (i >= FTS_UPGRADE_LOOP)
+ return -EIO;
+ /*********Step 4: read vendor id from app param area***********************/
+ msleep(10);
+ /*read project code*/
+ auc_i2c_write_buf[0] = 0x03;
+ auc_i2c_write_buf[1] = 0x00;
+ for (j = 0; j < 33; j++)
+ {
+ temp = 0xD7A0 + j;
+ auc_i2c_write_buf[2] = (u8)(temp>>8);
+ auc_i2c_write_buf[3] = (u8)temp;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, pProjectCode+j, 1);
+ if (*(pProjectCode+j) == '\0')
+ break;
+ }
+ pr_info("project code = %s \n", pProjectCode);
+ msleep(50);
+ /*********Step 5: reset the new FW***********************/
+ FTS_DBG("Step 5: reset the new FW\n");
+ auc_i2c_write_buf[0] = 0x07;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(200);
+ i_ret = hidi2c_to_stdi2c(client);
+ if (i_ret == 0)
+ {
+ FTS_DBG("HidI2c change to StdI2c fail ! \n");
+ }
+ msleep(10);
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_get_upgrade_array
+* Brief: decide which ic
+* Input: no
+* Output: get ic info in fts_updateinfo_curr
+* Return: no
+***********************************************************************/
+void fts_get_upgrade_array(void)
+{
+
+ u8 chip_id;
+ u32 i;
+ int ret = 0;
+
+ ret = fts_read_reg(fts_i2c_client, FTS_REG_ID,&chip_id);
+ if (ret<0)
+ {
+ printk("[Focal][Touch] read value fail");
+ }
+ printk("%s chip_id = %x\n", __func__, chip_id);
+
+ for(i=0;i<sizeof(fts_updateinfo)/sizeof(struct fts_Upgrade_Info);i++)
+ {
+ if(chip_id==fts_updateinfo[i].CHIP_ID)
+ {
+ memcpy(&fts_updateinfo_curr, &fts_updateinfo[i], sizeof(struct fts_Upgrade_Info));
+ break;
+ }
+ }
+
+ if(i >= sizeof(fts_updateinfo)/sizeof(struct fts_Upgrade_Info))
+ {
+ memcpy(&fts_updateinfo_curr, &fts_updateinfo[15], sizeof(struct fts_Upgrade_Info));
+ }
+}
+
+/************************************************************************
+* Name: fts_ctpm_auto_clb
+* Brief: auto calibration
+* Input: i2c info
+* Output: no
+* Return: 0
+***********************************************************************/
+int fts_ctpm_auto_clb(struct i2c_client *client)
+{
+ unsigned char uc_temp = 0x00;
+ unsigned char i = 0;
+
+ /*start auto CLB */
+ msleep(200);
+
+ fts_write_reg(client, 0, FTS_FACTORYMODE_VALUE);
+ /*make sure already enter factory mode */
+ msleep(100);
+ /*write command to start calibration */
+ fts_write_reg(client, 2, 0x4);
+ msleep(300);
+ if ((fts_updateinfo_curr.CHIP_ID==0x11) ||(fts_updateinfo_curr.CHIP_ID==0x12) ||(fts_updateinfo_curr.CHIP_ID==0x13) ||(fts_updateinfo_curr.CHIP_ID==0x14)) //5x36,5x36i
+ {
+ for(i=0;i<100;i++)
+ {
+ fts_read_reg(client, 0x02, &uc_temp);
+ if (0x02 == uc_temp || 0xFF == uc_temp)
+ {
+ break;
+ }
+ msleep(20);
+ }
+ }
+ else
+ {
+ for(i=0;i<100;i++)
+ {
+ fts_read_reg(client, 0, &uc_temp);
+ if (0x0 == ((uc_temp&0x70)>>4))
+ {
+ break;
+ }
+ msleep(20);
+ }
+ }
+ fts_write_reg(client, 0, 0x40);
+ msleep(200);
+ fts_write_reg(client, 2, 0x5);
+ msleep(300);
+ fts_write_reg(client, 0, FTS_WORKMODE_VALUE);
+ msleep(300);
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_6x36_ctpm_fw_upgrade
+* Brief: fw upgrade
+* Input: i2c info, file buf, file len
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_6x36_ctpm_fw_upgrade(struct i2c_client *client, u8 *pbt_buf, u32 dw_lenth)
+{
+ u8 reg_val[2] = {0};
+ u32 i = 0;
+ u32 packet_number;
+ u32 j;
+ u32 temp;
+ u32 lenght;
+ u32 fw_length;
+ u8 packet_buf[FTS_PACKET_LENGTH + 6];
+ u8 auc_i2c_write_buf[10];
+ u8 bt_ecc;
+
+ if(pbt_buf[0] != 0x02)
+ {
+ FTS_DBG("[FTS] FW first byte is not 0x02. so it is invalid \n");
+ return -1;
+ }
+
+ if(dw_lenth > 0x11f)
+ {
+ fw_length = ((u32)pbt_buf[0x100]<<8) + pbt_buf[0x101];
+ if(dw_lenth < fw_length)
+ {
+ FTS_DBG("[FTS] Fw length is invalid \n");
+ return -1;
+ }
+ }
+ else
+ {
+ FTS_DBG("[FTS] Fw length is invalid \n");
+ return -1;
+ }
+
+ for (i = 0; i < FTS_UPGRADE_LOOP; i++)
+ {
+ /*********Step 1:Reset CTPM *****/
+ fts_write_reg(client, FTS_RST_CMD_REG2, FTS_UPGRADE_AA);
+ msleep(fts_updateinfo_curr.delay_aa);
+ fts_write_reg(client, FTS_RST_CMD_REG2, FTS_UPGRADE_55);
+ msleep(fts_updateinfo_curr.delay_55);
+ /*********Step 2:Enter upgrade mode *****/
+ auc_i2c_write_buf[0] = FTS_UPGRADE_55;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ auc_i2c_write_buf[0] = FTS_UPGRADE_AA;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(fts_updateinfo_curr.delay_readid);
+ /*********Step 3:check READ-ID***********************/
+ auc_i2c_write_buf[0] = FTS_READ_ID_REG;
+ auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = auc_i2c_write_buf[3] =0x00;
+ reg_val[0] = 0x00;
+ reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+
+
+ if (reg_val[0] == fts_updateinfo_curr.upgrade_id_1
+ && reg_val[1] == fts_updateinfo_curr.upgrade_id_2)
+ {
+ FTS_DBG("[FTS] Step 3: GET CTPM ID OK,ID1 = 0x%x,ID2 = 0x%x\n",
+ reg_val[0], reg_val[1]);
+ break;
+ }
+ else
+ {
+ dev_err(&client->dev, "[FTS] Step 3: GET CTPM ID FAIL,ID1 = 0x%x,ID2 = 0x%x\n",
+ reg_val[0], reg_val[1]);
+ }
+ }
+
+ if (i >= FTS_UPGRADE_LOOP) {
+ dev_err(&client->dev, "[FTS] i >= FTS_UPGRADE_LOOP, return EIO \n");
+ return -EIO;
+ }
+
+
+ auc_i2c_write_buf[0] = FTS_READ_ID_REG;
+ auc_i2c_write_buf[1] = 0x00;
+ auc_i2c_write_buf[2] = 0x00;
+ auc_i2c_write_buf[3] = 0x00;
+ auc_i2c_write_buf[4] = 0x00;
+ fts_i2c_write(client, auc_i2c_write_buf, 5);
+
+ /*Step 4:erase app and panel paramenter area*/
+ FTS_DBG("Step 4:erase app and panel paramenter area\n");
+ auc_i2c_write_buf[0] = FTS_ERASE_APP_REG;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(fts_updateinfo_curr.delay_erase_flash);
+
+ for(i = 0;i < 200;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ auc_i2c_write_buf[1] = 0x00;
+ auc_i2c_write_buf[2] = 0x00;
+ auc_i2c_write_buf[3] = 0x00;
+ reg_val[0] = 0x00;
+ reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+ if(0xb0 == reg_val[0] && 0x02 == reg_val[1])
+ {
+ FTS_DBG("[FTS] erase app finished \n");
+ break;
+ }
+ msleep(50);
+ }
+
+ /*********Step 5:write firmware(FW) to ctpm flash*********/
+ bt_ecc = 0;
+ FTS_DBG("Step 5:write firmware(FW) to ctpm flash\n");
+
+ dw_lenth = fw_length;
+ packet_number = (dw_lenth) / FTS_PACKET_LENGTH;
+ packet_buf[0] = FTS_FW_WRITE_CMD;
+ packet_buf[1] = 0x00;
+
+ for (j = 0; j < packet_number; j++)
+ {
+ temp = j * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ lenght = FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (lenght >> 8);
+ packet_buf[5] = (u8) lenght;
+
+ for (i = 0; i < FTS_PACKET_LENGTH; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[j * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+
+ fts_i2c_write(client, packet_buf, FTS_PACKET_LENGTH + 6);
+
+ for(i = 0;i < 30;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ auc_i2c_write_buf[1] = 0x00;
+ auc_i2c_write_buf[2] = 0x00;
+ auc_i2c_write_buf[3] = 0x00;
+ reg_val[0] = 0x00;
+ reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+ if(0xb0 == (reg_val[0] & 0xf0) && (0x03 + (j % 0x0ffd)) == (((reg_val[0] & 0x0f) << 8) |reg_val[1]))
+ {
+ FTS_DBG("[FTS] write a block data finished \n");
+ break;
+ }
+ msleep(1);
+ }
+ }
+
+ if ((dw_lenth) % FTS_PACKET_LENGTH > 0)
+ {
+ temp = packet_number * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ temp = (dw_lenth) % FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (temp >> 8);
+ packet_buf[5] = (u8) temp;
+
+ for (i = 0; i < temp; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[packet_number * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+
+ fts_i2c_write(client, packet_buf, temp + 6);
+
+ for(i = 0;i < 30;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ auc_i2c_write_buf[1] = 0x00;
+ auc_i2c_write_buf[2] = 0x00;
+ auc_i2c_write_buf[3] = 0x00;
+ reg_val[0] = 0x00;
+ reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+ if(0xb0 == (reg_val[0] & 0xf0) && (0x03 + (j % 0x0ffd)) == (((reg_val[0] & 0x0f) << 8) |reg_val[1]))
+ {
+ FTS_DBG("[FTS] write a block data finished \n");
+ break;
+ }
+ msleep(1);
+ }
+ }
+
+
+ /*********Step 6: read out checksum***********************/
+ FTS_DBG("Step 6: read out checksum\n");
+ auc_i2c_write_buf[0] = FTS_REG_ECC;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 1);
+ if (reg_val[0] != bt_ecc)
+ {
+ dev_err(&client->dev, "[FTS]--ecc error! FW=%02x bt_ecc=%02x\n",
+ reg_val[0], bt_ecc);
+ return -EIO;
+ }
+
+ /*********Step 7: reset the new FW***********************/
+ FTS_DBG("Step 7: reset the new FW\n");
+ auc_i2c_write_buf[0] = 0x07;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(300);
+
+ return 0;
+}
+/************************************************************************
+* Name: fts_6336GU_ctpm_fw_upgrade
+* Brief: fw upgrade
+* Input: i2c info, file buf, file len
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_6336GU_ctpm_fw_upgrade(struct i2c_client *client, u8 *pbt_buf, u32 dw_lenth)
+{
+ u8 reg_val[2] = {0};
+ u32 i = 0;
+ u32 packet_number;
+ u32 j;
+ u32 temp;
+ u32 lenght;
+ u32 fw_length;
+ u8 packet_buf[FTS_PACKET_LENGTH + 6];
+ u8 auc_i2c_write_buf[10];
+ u8 bt_ecc;
+
+ if(pbt_buf[0] != 0x02)
+ {
+ FTS_DBG("[FTS] FW first byte is not 0x02. so it is invalid \n");
+ return -1;
+ }
+
+ if(dw_lenth > 0x11f)
+ {
+ fw_length = ((u32)pbt_buf[0x100]<<8) + pbt_buf[0x101];
+ if(dw_lenth < fw_length)
+ {
+ FTS_DBG("[FTS] Fw length is invalid \n");
+ return -1;
+ }
+ }
+ else
+ {
+ FTS_DBG("[FTS] Fw length is invalid \n");
+ return -1;
+ }
+
+ for (i = 0; i < FTS_UPGRADE_LOOP; i++)
+ {
+ /*********Step 1:Reset CTPM *****/
+ fts_write_reg(client, FTS_RST_CMD_REG2, FTS_UPGRADE_AA);
+ msleep(fts_updateinfo_curr.delay_aa);
+ fts_write_reg(client, FTS_RST_CMD_REG2, FTS_UPGRADE_55);
+ msleep(fts_updateinfo_curr.delay_55);
+ /*********Step 2:Enter upgrade mode *****/
+ auc_i2c_write_buf[0] = FTS_UPGRADE_55;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ auc_i2c_write_buf[0] = FTS_UPGRADE_AA;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(fts_updateinfo_curr.delay_readid);
+ /*********Step 3:check READ-ID***********************/
+ auc_i2c_write_buf[0] = FTS_READ_ID_REG;
+ auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = auc_i2c_write_buf[3] =0x00;
+ reg_val[0] = 0x00;
+ reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+
+
+ if (reg_val[0] == fts_updateinfo_curr.upgrade_id_1
+ && reg_val[1] == fts_updateinfo_curr.upgrade_id_2)
+ {
+ FTS_DBG("[FTS] Step 3: GET CTPM ID OK,ID1 = 0x%x,ID2 = 0x%x\n",
+ reg_val[0], reg_val[1]);
+ break;
+ }
+ else
+ {
+ dev_err(&client->dev, "[FTS] Step 3: GET CTPM ID FAIL,ID1 = 0x%x,ID2 = 0x%x\n",
+ reg_val[0], reg_val[1]);
+ }
+ }
+ if (i >= FTS_UPGRADE_LOOP)
+ return -EIO;
+
+ auc_i2c_write_buf[0] = FTS_READ_ID_REG;
+ auc_i2c_write_buf[1] = 0x00;
+ auc_i2c_write_buf[2] = 0x00;
+ auc_i2c_write_buf[3] = 0x00;
+ auc_i2c_write_buf[4] = 0x00;
+ fts_i2c_write(client, auc_i2c_write_buf, 5);
+
+ /*Step 4:erase app and panel paramenter area*/
+ FTS_DBG("Step 4:erase app and panel paramenter area\n");
+ auc_i2c_write_buf[0] = FTS_ERASE_APP_REG;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(fts_updateinfo_curr.delay_erase_flash);
+
+ for (i = 0;i < 200;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ auc_i2c_write_buf[1] = 0x00;
+ auc_i2c_write_buf[2] = 0x00;
+ auc_i2c_write_buf[3] = 0x00;
+ reg_val[0] = 0x00;
+ reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+ if (0xb0 == reg_val[0] && 0x02 == reg_val[1])
+ {
+ FTS_DBG("[FTS] erase app finished \n");
+ break;
+ }
+ msleep(50);
+ }
+
+ /*********Step 5:write firmware(FW) to ctpm flash*********/
+ bt_ecc = 0;
+ FTS_DBG("Step 5:write firmware(FW) to ctpm flash\n");
+
+ dw_lenth = fw_length;
+ packet_number = (dw_lenth) / FTS_PACKET_LENGTH;
+ packet_buf[0] = FTS_FW_WRITE_CMD;
+ packet_buf[1] = 0x00;
+
+ for (j = 0; j < packet_number; j++)
+ {
+ temp = j * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ lenght = FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (lenght >> 8);
+ packet_buf[5] = (u8) lenght;
+
+ for (i = 0; i < FTS_PACKET_LENGTH; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[j * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+
+ fts_i2c_write(client, packet_buf, FTS_PACKET_LENGTH + 6);
+
+ for (i = 0;i < 30;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ auc_i2c_write_buf[1] = 0x00;
+ auc_i2c_write_buf[2] = 0x00;
+ auc_i2c_write_buf[3] = 0x00;
+ reg_val[0] = 0x00;
+ reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+ if (0xb0 == (reg_val[0] & 0xf0) && (0x03 + (j % 0x0ffd)) == (((reg_val[0] & 0x0f) << 8) |reg_val[1]))
+ {
+ FTS_DBG("[FTS] write a block data finished \n");
+ break;
+ }
+ msleep(1);
+ }
+ }
+
+ if ((dw_lenth) % FTS_PACKET_LENGTH > 0)
+ {
+ temp = packet_number * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ temp = (dw_lenth) % FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (temp >> 8);
+ packet_buf[5] = (u8) temp;
+
+ for (i = 0; i < temp; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[packet_number * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+
+ fts_i2c_write(client, packet_buf, temp + 6);
+
+ for (i = 0;i < 30;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ auc_i2c_write_buf[1] = 0x00;
+ auc_i2c_write_buf[2] = 0x00;
+ auc_i2c_write_buf[3] = 0x00;
+ reg_val[0] = 0x00;
+ reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+ if (0xb0 == (reg_val[0] & 0xf0) && (0x03 + (j % 0x0ffd)) == (((reg_val[0] & 0x0f) << 8) |reg_val[1]))
+ {
+ FTS_DBG("[FTS] write a block data finished \n");
+ break;
+ }
+ msleep(1);
+ }
+ }
+
+
+ /*********Step 6: read out checksum***********************/
+ FTS_DBG("Step 6: read out checksum\n");
+ auc_i2c_write_buf[0] = FTS_REG_ECC;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 1);
+ if (reg_val[0] != bt_ecc)
+ {
+ dev_err(&client->dev, "[FTS]--ecc error! FW=%02x bt_ecc=%02x\n",
+ reg_val[0], bt_ecc);
+ return -EIO;
+ }
+
+ /*********Step 7: reset the new FW***********************/
+ FTS_DBG("Step 7: reset the new FW\n");
+ auc_i2c_write_buf[0] = 0x07;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(300);
+
+ return 0;
+}
+/************************************************************************
+* Name: fts_6x06_ctpm_fw_upgrade
+* Brief: fw upgrade
+* Input: i2c info, file buf, file len
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_6x06_ctpm_fw_upgrade(struct i2c_client *client, u8 *pbt_buf, u32 dw_lenth)
+{
+ u8 reg_val[2] = {0};
+ u32 i = 0;
+ u32 packet_number;
+ u32 j;
+ u32 temp;
+ u32 lenght;
+ u8 packet_buf[FTS_PACKET_LENGTH + 6];
+ u8 auc_i2c_write_buf[10];
+ u8 bt_ecc;
+ int i_ret;
+
+ for (i = 0; i < FTS_UPGRADE_LOOP; i++)
+ {
+ /*********Step 1:Reset CTPM *****/
+ fts_write_reg(client, FTS_RST_CMD_REG2, FTS_UPGRADE_AA);
+ msleep(fts_updateinfo_curr.delay_aa);
+
+ fts_write_reg(client, FTS_RST_CMD_REG2, FTS_UPGRADE_55);
+
+ msleep(fts_updateinfo_curr.delay_55);
+
+ /*********Step 2:Enter upgrade mode *****/
+ auc_i2c_write_buf[0] = FTS_UPGRADE_55;
+ auc_i2c_write_buf[1] = FTS_UPGRADE_AA;
+ do
+ {
+ i++;
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 2);
+ msleep(5);
+ } while (i_ret <= 0 && i < 5);
+
+
+ /*********Step 3:check READ-ID***********************/
+ msleep(fts_updateinfo_curr.delay_readid);
+ auc_i2c_write_buf[0] = FTS_READ_ID_REG;
+ auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = auc_i2c_write_buf[3] =0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+
+
+ if (reg_val[0] == fts_updateinfo_curr.upgrade_id_1
+ && reg_val[1] == fts_updateinfo_curr.upgrade_id_2)
+ {
+ FTS_DBG("[FTS] Step 3: CTPM ID OK ,ID1 = 0x%x,ID2 = 0x%x\n",reg_val[0], reg_val[1]);
+ break;
+ }
+ else
+ {
+ dev_err(&client->dev, "[FTS] Step 3: CTPM ID FAIL,ID1 = 0x%x,ID2 = 0x%x\n",reg_val[0], reg_val[1]);
+ }
+ }
+ if (i > FTS_UPGRADE_LOOP)
+ return -EIO;
+ auc_i2c_write_buf[0] = 0xcd;
+
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 1);
+
+ /*Step 4:erase app and panel paramenter area*/
+ FTS_DBG("Step 4:erase app and panel paramenter area\n");
+ auc_i2c_write_buf[0] = FTS_ERASE_APP_REG;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(fts_updateinfo_curr.delay_erase_flash);
+ /*erase panel parameter area */
+ auc_i2c_write_buf[0] = FTS_ERASE_PARAMS_CMD;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(100);
+
+ /*********Step 5:write firmware(FW) to ctpm flash*********/
+ bt_ecc = 0;
+ FTS_DBG("Step 5:write firmware(FW) to ctpm flash\n");
+
+ dw_lenth = dw_lenth - 8;
+ packet_number = (dw_lenth) / FTS_PACKET_LENGTH;
+ packet_buf[0] = FTS_FW_WRITE_CMD;
+ packet_buf[1] = 0x00;
+
+ for (j = 0; j < packet_number; j++)
+ {
+ temp = j * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ lenght = FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (lenght >> 8);
+ packet_buf[5] = (u8) lenght;
+
+ for (i = 0; i < FTS_PACKET_LENGTH; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[j * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+
+ fts_i2c_write(client, packet_buf, FTS_PACKET_LENGTH + 6);
+ msleep(FTS_PACKET_LENGTH / 6 + 1);
+ }
+
+ if ((dw_lenth) % FTS_PACKET_LENGTH > 0)
+ {
+ temp = packet_number * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ temp = (dw_lenth) % FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (temp >> 8);
+ packet_buf[5] = (u8) temp;
+
+ for (i = 0; i < temp; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[packet_number * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+
+ fts_i2c_write(client, packet_buf, temp + 6);
+ msleep(20);
+ }
+
+
+ /*send the last six byte */
+ for (i = 0; i < 6; i++)
+ {
+ temp = 0x6ffa + i;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ temp = 1;
+ packet_buf[4] = (u8) (temp >> 8);
+ packet_buf[5] = (u8) temp;
+ packet_buf[6] = pbt_buf[dw_lenth + i];
+ bt_ecc ^= packet_buf[6];
+ fts_i2c_write(client, packet_buf, 7);
+ msleep(20);
+ }
+
+
+ /*********Step 6: read out checksum***********************/
+ /*send the opration head */
+ FTS_DBG("Step 6: read out checksum\n");
+ auc_i2c_write_buf[0] = FTS_REG_ECC;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 1);
+ if (reg_val[0] != bt_ecc)
+ {
+ dev_err(&client->dev, "[FTS]--ecc error! FW=%02x bt_ecc=%02x\n",reg_val[0],bt_ecc);
+ return -EIO;
+ }
+
+ /*********Step 7: reset the new FW***********************/
+ FTS_DBG("Step 7: reset the new FW\n");
+ auc_i2c_write_buf[0] = FTS_REG_RESET_FW;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(300);
+
+ return 0;
+}
+/************************************************************************
+* Name: fts_5x26_ctpm_fw_upgrade
+* Brief: fw upgrade
+* Input: i2c info, file buf, file len
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_5x26_ctpm_fw_upgrade(struct i2c_client *client, u8 *pbt_buf, u32 dw_lenth)
+{
+ u8 reg_val[4] = {0};
+ u32 i = 0;
+ u32 packet_number;
+ u32 j;
+ u32 temp;
+ u32 lenght;
+ u8 packet_buf[FTS_PACKET_LENGTH + 6];
+ u8 auc_i2c_write_buf[10];
+ u8 bt_ecc;
+ int i_ret=0;
+
+ for (i = 0; i < FTS_UPGRADE_LOOP; i++)
+ {
+
+ /*********Step 1:Reset CTPM *****/
+ fts_write_reg(client, 0xfc, FTS_UPGRADE_AA);
+ msleep(fts_updateinfo_curr.delay_aa);
+ fts_write_reg(client, 0xfc, FTS_UPGRADE_55);
+ msleep(fts_updateinfo_curr.delay_55);
+
+ /*********Step 2:Enter upgrade mode and switch protocol*****/
+ auc_i2c_write_buf[0] = FTS_UPGRADE_55;
+ auc_i2c_write_buf[1] = FTS_UPGRADE_AA;
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 2);
+ if (i_ret < 0)
+ {
+ FTS_DBG("failed writing 0x55 and 0xaa ! \n");
+ continue;
+ }
+
+ /*********Step 3:check READ-ID***********************/
+ auc_i2c_write_buf[0] = 0x90;
+ auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = auc_i2c_write_buf[3] = 0x00;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+ if (reg_val[0] == fts_updateinfo_curr.upgrade_id_1 && reg_val[1] == fts_updateinfo_curr.upgrade_id_2)
+ {
+ FTS_DBG("[FTS] Step 3: READ OK CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n", reg_val[0], reg_val[1]);
+ break;
+ }
+ else
+ {
+ dev_err(&client->dev, "[FTS] Step 3: CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n", reg_val[0], reg_val[1]);
+ continue;
+ }
+ }
+
+ if (i >= FTS_UPGRADE_LOOP) return -EIO;
+ /*Step 4:erase app and panel paramenter area*/
+ FTS_DBG("Step 4:erase app and panel paramenter area\n");
+ auc_i2c_write_buf[0] = 0x61;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ /*erase app area*/
+ auc_i2c_write_buf[0] = 0x63;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ /*erase panel paramenter area*/
+ auc_i2c_write_buf[0] = 0x04;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ /*erase panel paramenter area*/
+ msleep(fts_updateinfo_curr.delay_erase_flash);
+ /*********Step 5:write firmware(FW) to ctpm flash*********/
+ bt_ecc = 0;
+ FTS_DBG("Step 5:write firmware(FW) to ctpm flash\n");
+ temp = 0;
+ packet_number = (dw_lenth) / FTS_PACKET_LENGTH;
+ packet_buf[0] = 0xbf;
+ packet_buf[1] = 0x00;
+
+ for (j = 0; j < packet_number; j++)
+ {
+ temp = j * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ lenght = FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (lenght >> 8);
+ packet_buf[5] = (u8) lenght;
+
+ for (i = 0; i < FTS_PACKET_LENGTH; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[j * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+ fts_i2c_write(client, packet_buf, FTS_PACKET_LENGTH + 6);
+ msleep(FTS_PACKET_LENGTH / 6 + 1);
+ }
+
+ if ((dw_lenth) % FTS_PACKET_LENGTH > 0)
+ {
+ temp = packet_number * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ temp = (dw_lenth) % FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (temp >> 8);
+ packet_buf[5] = (u8) temp;
+
+ for (i = 0; i < temp; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[packet_number * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+ fts_i2c_write(client, packet_buf, temp+6);
+ msleep(20);
+ }
+ /*********Step 6: read out checksum***********************/
+ FTS_DBG("Step 6: read out checksum\n");
+ auc_i2c_write_buf[0] = 0xcc;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 1);
+ printk(KERN_WARNING "Checksum FT5X26:%X %X \n", reg_val[0], bt_ecc);
+ if (reg_val[0] != bt_ecc)
+ {
+ dev_err(&client->dev, "[FTS]--ecc error! FW=%02x bt_ecc=%02x\n",reg_val[0],bt_ecc);
+ return -EIO;
+ }
+
+ /*********Step 7: reset the new FW***********************/
+ FTS_DBG("Step 7: reset the new FW\n");
+ auc_i2c_write_buf[0] = 0x07;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+
+ /********Step 8 Disable Write Flash*****/
+ FTS_DBG("Step 8: Disable Write Flash\n");
+ auc_i2c_write_buf[0] = 0x04;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+
+ msleep(300);
+ auc_i2c_write_buf[0] =auc_i2c_write_buf[1]= 0x00;
+ fts_i2c_write(client,auc_i2c_write_buf,2);
+
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_5x36_ctpm_fw_upgrade
+* Brief: fw upgrade
+* Input: i2c info, file buf, file len
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_5x36_ctpm_fw_upgrade(struct i2c_client *client, u8 *pbt_buf, u32 dw_lenth)
+{
+ u8 reg_val[2] = {0};
+ u32 i = 0;
+ u8 is_5336_new_bootloader = 0;
+ u8 is_5336_fwsize_30 = 0;
+ u32 packet_number;
+ u32 j;
+ u32 temp = 0;
+ u32 lenght;
+ u8 packet_buf[FTS_PACKET_LENGTH + 6];
+ u8 auc_i2c_write_buf[10];
+ u8 bt_ecc;
+ int i_ret;
+ int fw_filenth = sizeof(CTPM_FW);
+
+ if (CTPM_FW[fw_filenth-12] == 30)
+ {
+ is_5336_fwsize_30 = 1;
+ }
+ else
+ {
+ is_5336_fwsize_30 = 0;
+ }
+
+ for (i = 0; i < FTS_UPGRADE_LOOP; i++)
+ {
+ /*********Step 1:Reset CTPM *****/
+ fts_write_reg(client, FTS_RST_CMD_REG1, FTS_UPGRADE_AA);
+ msleep(fts_updateinfo_curr.delay_aa);
+
+ /*write 0x55 to register FTS_RST_CMD_REG1*/
+ fts_write_reg(client, FTS_RST_CMD_REG1, FTS_UPGRADE_55);
+ msleep(fts_updateinfo_curr.delay_55);
+
+ /*********Step 2:Enter upgrade mode *****/
+ auc_i2c_write_buf[0] = FTS_UPGRADE_55;
+ auc_i2c_write_buf[1] = FTS_UPGRADE_AA;
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 2);
+
+ /*********Step 3:check READ-ID***********************/
+ msleep(fts_updateinfo_curr.delay_readid);
+ auc_i2c_write_buf[0] = FTS_READ_ID_REG;
+ auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = auc_i2c_write_buf[3] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+ if (reg_val[0] == fts_updateinfo_curr.upgrade_id_1
+ && reg_val[1] == fts_updateinfo_curr.upgrade_id_2)
+ {
+ dev_dbg(&client->dev, "[FTS] Step 3: CTPM ID OK,ID1 = 0x%x,ID2 = 0x%x\n",reg_val[0],reg_val[1]);
+ break;
+ }
+ else
+ {
+ dev_err(&client->dev, "[FTS] Step 3: CTPM ID FAILD,ID1 = 0x%x,ID2 = 0x%x\n",reg_val[0],reg_val[1]);
+ continue;
+ }
+ }
+
+ if (i >= FTS_UPGRADE_LOOP)
+ return -EIO;
+
+ auc_i2c_write_buf[0] = 0xcd;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 1);
+ /*********20130705 mshl ********************/
+ if (reg_val[0] <= 4)
+ {
+ is_5336_new_bootloader = BL_VERSION_LZ4 ;
+ }
+ else if(reg_val[0] == 7)
+ {
+ is_5336_new_bootloader = BL_VERSION_Z7 ;
+ }
+ else if(reg_val[0] >= 0x0f)
+ {
+ is_5336_new_bootloader = BL_VERSION_GZF ;
+ }
+
+ /*********Step 4:erase app and panel paramenter area ********************/
+ if(is_5336_fwsize_30)
+ {
+ auc_i2c_write_buf[0] = FTS_ERASE_APP_REG;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(fts_updateinfo_curr.delay_erase_flash);
+
+ auc_i2c_write_buf[0] = FTS_ERASE_PARAMS_CMD;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(50);
+ }
+ else
+ {
+ auc_i2c_write_buf[0] = FTS_ERASE_APP_REG;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(fts_updateinfo_curr.delay_erase_flash);
+ }
+
+ /*********Step 5:write firmware(FW) to ctpm flash*********/
+ bt_ecc = 0;
+
+ if(is_5336_new_bootloader == BL_VERSION_LZ4 || is_5336_new_bootloader == BL_VERSION_Z7 )
+ {
+ dw_lenth = dw_lenth - 8;
+ }
+ else if(is_5336_new_bootloader == BL_VERSION_GZF)
+ {
+ dw_lenth = dw_lenth - 14;
+ }
+ packet_number = (dw_lenth) / FTS_PACKET_LENGTH;
+ packet_buf[0] = FTS_FW_WRITE_CMD;
+ packet_buf[1] = 0x00;
+ for (j=0;j<packet_number;j++)
+ {
+ temp = j * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8)(temp>>8);
+ packet_buf[3] = (u8)temp;
+ lenght = FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8)(lenght>>8);
+ packet_buf[5] = (u8)lenght;
+
+ for (i=0;i<FTS_PACKET_LENGTH;i++)
+ {
+ packet_buf[6+i] = pbt_buf[j*FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6+i];
+ }
+
+ fts_i2c_write(client, packet_buf, FTS_PACKET_LENGTH+6);
+ msleep(FTS_PACKET_LENGTH/6 + 1);
+ }
+
+ if ((dw_lenth) % FTS_PACKET_LENGTH > 0)
+ {
+ temp = packet_number * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8)(temp>>8);
+ packet_buf[3] = (u8)temp;
+
+ temp = (dw_lenth) % FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8)(temp>>8);
+ packet_buf[5] = (u8)temp;
+
+ for (i=0;i<temp;i++)
+ {
+ packet_buf[6+i] = pbt_buf[ packet_number*FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6+i];
+ }
+
+ fts_i2c_write(client, packet_buf, temp+6);
+ msleep(20);
+ }
+ /*send the last six byte*/
+ if(is_5336_new_bootloader == BL_VERSION_LZ4 || is_5336_new_bootloader == BL_VERSION_Z7 )
+ {
+ for (i = 0; i<6; i++)
+ {
+ if (is_5336_new_bootloader == BL_VERSION_Z7)
+ {
+ temp = 0x7bfa + i;
+ }
+ else if(is_5336_new_bootloader == BL_VERSION_LZ4)
+ {
+ temp = 0x6ffa + i;
+ }
+ packet_buf[2] = (u8)(temp>>8);
+ packet_buf[3] = (u8)temp;
+ temp = 1;
+ packet_buf[4] = (u8)(temp>>8);
+ packet_buf[5] = (u8)temp;
+ packet_buf[6] = pbt_buf[ dw_lenth + i];
+ bt_ecc ^= packet_buf[6];
+ fts_i2c_write(client, packet_buf, 7);
+ msleep(10);
+ }
+ }
+ else if(is_5336_new_bootloader == BL_VERSION_GZF)
+ {
+ for (i = 0; i<12; i++)
+ {
+ if (is_5336_new_bootloader == BL_VERSION_Z7)
+ {
+ temp = 0x7ff4 + i;
+ }
+ else if(is_5336_new_bootloader == BL_VERSION_LZ4)
+ {
+ temp = 0x7bf4 + i;
+ }
+ packet_buf[2] = (u8)(temp>>8);
+ packet_buf[3] = (u8)temp;
+ temp = 1;
+ packet_buf[4] = (u8)(temp>>8);
+ packet_buf[5] = (u8)temp;
+ packet_buf[6] = pbt_buf[ dw_lenth + i];
+ bt_ecc ^= packet_buf[6];
+ fts_i2c_write(client, packet_buf, 7);
+ msleep(10);
+ }
+ }
+
+ /*********Step 6: read out checksum***********************/
+ auc_i2c_write_buf[0] = FTS_REG_ECC;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 1);
+ if(reg_val[0] != bt_ecc)
+ {
+ dev_err(&client->dev, "[FTS]--ecc error! FW=%02x bt_ecc=%02x\n", reg_val[0], bt_ecc);
+ return -EIO;
+ }
+ /*********Step 7: reset the new FW***********************/
+ auc_i2c_write_buf[0] = FTS_REG_RESET_FW;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(300);
+
+ return 0;
+}
+/************************************************************************
+* Name: fts_5822_ctpm_fw_upgrade
+* Brief: fw upgrade
+* Input: i2c info, file buf, file len
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_5822_ctpm_fw_upgrade(struct i2c_client *client, u8 *pbt_buf, u32 dw_lenth)
+{
+ u8 reg_val[4] = {0};
+ u32 i = 0;
+ u32 packet_number;
+ u32 j;
+ u32 temp;
+ u32 lenght;
+ u8 packet_buf[FTS_PACKET_LENGTH + 6];
+ u8 auc_i2c_write_buf[10];
+ u8 bt_ecc;
+ u8 bt_ecc_check;
+ int i_ret;
+
+ i_ret = hidi2c_to_stdi2c(client);
+ if (i_ret == 0)
+ {
+ FTS_DBG("HidI2c change to StdI2c fail ! \n");
+ }
+
+ for (i = 0; i < FTS_UPGRADE_LOOP; i++)
+ {
+ /*********Step 1:Reset CTPM *****/
+ fts_write_reg(client, 0xfc, FTS_UPGRADE_AA);
+ msleep(fts_updateinfo_curr.delay_aa);
+ fts_write_reg(client, 0xfc, FTS_UPGRADE_55);
+ msleep(200);
+ /*********Step 2:Enter upgrade mode *****/
+ i_ret = hidi2c_to_stdi2c(client);
+ if (i_ret == 0)
+ {
+ FTS_DBG("HidI2c change to StdI2c fail ! \n");
+ }
+ msleep(5);
+ auc_i2c_write_buf[0] = FTS_UPGRADE_55;
+ auc_i2c_write_buf[1] = FTS_UPGRADE_AA;
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 2);
+ if (i_ret < 0)
+ {
+ FTS_DBG("failed writing 0x55 and 0xaa ! \n");
+ continue;
+ }
+ /*********Step 3:check READ-ID***********************/
+ msleep(1);
+ auc_i2c_write_buf[0] = 0x90;
+ auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = auc_i2c_write_buf[3] = 0x00;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+ if (reg_val[0] == fts_updateinfo_curr.upgrade_id_1 && reg_val[1] == fts_updateinfo_curr.upgrade_id_2)
+ {
+ FTS_DBG("[FTS] Step 3: READ OK CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n", reg_val[0], reg_val[1]);
+ break;
+ }
+ else
+ {
+ dev_err(&client->dev, "[FTS] Step 3: CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n", reg_val[0], reg_val[1]);
+ continue;
+ }
+ }
+ if (i >= FTS_UPGRADE_LOOP)
+ return -EIO;
+ /*Step 4:erase app and panel paramenter area*/
+ FTS_DBG("Step 4:erase app and panel paramenter area\n");
+ auc_i2c_write_buf[0] = 0x61;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(1350);
+ for (i = 0; i < 15; i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 2);
+ if (0xF0 == reg_val[0] && 0xAA == reg_val[1])
+ {
+ break;
+ }
+ msleep(50);
+ }
+ printk("[FTS][%s] erase app area reg_val[0] = %x reg_val[1] = %x \n", __func__, reg_val[0], reg_val[1]);
+ auc_i2c_write_buf[0] = 0xB0;
+ auc_i2c_write_buf[1] = (u8) ((dw_lenth >> 16) & 0xFF);
+ auc_i2c_write_buf[2] = (u8) ((dw_lenth >> 8) & 0xFF);
+ auc_i2c_write_buf[3] = (u8) (dw_lenth & 0xFF);
+ fts_i2c_write(client, auc_i2c_write_buf, 4);
+ /*********Step 5:write firmware(FW) to ctpm flash*********/
+ bt_ecc = 0;
+ bt_ecc_check = 0;
+ FTS_DBG("Step 5:write firmware(FW) to ctpm flash\n");
+ temp = 0;
+ packet_number = (dw_lenth) / FTS_PACKET_LENGTH;
+ packet_buf[0] = 0xbf;
+ packet_buf[1] = 0x00;
+ for (j = 0; j < packet_number; j++)
+ {
+ temp = j * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ lenght = FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (lenght >> 8);
+ packet_buf[5] = (u8) lenght;
+ for (i = 0; i < FTS_PACKET_LENGTH; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[j * FTS_PACKET_LENGTH + i];
+ bt_ecc_check ^= pbt_buf[j * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+ printk("[FTS][%s] bt_ecc = %x \n", __func__, bt_ecc);
+ if (bt_ecc != bt_ecc_check)
+ printk("[FTS][%s] Host checksum error bt_ecc_check = %x \n", __func__, bt_ecc_check);
+ fts_i2c_write(client, packet_buf, FTS_PACKET_LENGTH + 6);
+ for (i = 0; i < 30; i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 2);
+ if ((j + 0x1000) == (((reg_val[0]) << 8) | reg_val[1])) {
+ break;
+ }
+ printk("[FTS][%s] reg_val[0] = %x reg_val[1] = %x \n", __func__, reg_val[0], reg_val[1]);
+ msleep(1);
+ }
+ }
+ if ((dw_lenth) % FTS_PACKET_LENGTH > 0)
+ {
+ temp = packet_number * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ temp = (dw_lenth) % FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (temp >> 8);
+ packet_buf[5] = (u8) temp;
+ for (i = 0; i < temp; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[packet_number * FTS_PACKET_LENGTH + i];
+ bt_ecc_check ^= pbt_buf[packet_number * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+ fts_i2c_write(client, packet_buf, temp + 6);
+ printk("[FTS][%s] bt_ecc = %x \n", __func__, bt_ecc);
+ if (bt_ecc != bt_ecc_check)
+ printk("[FTS][%s] Host checksum error bt_ecc_check = %x \n", __func__, bt_ecc_check);
+ for (i = 0; i < 30; i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 2);
+ printk("[FTS][%s] reg_val[0] = %x reg_val[1] = %x \n", __func__, reg_val[0], reg_val[1]);
+ if ((j + 0x1000) == (((reg_val[0]) << 8) | reg_val[1]))
+ {
+ break;
+ }
+ printk("[FTS][%s] reg_val[0] = %x reg_val[1] = %x \n", __func__, reg_val[0], reg_val[1]);
+ msleep(1);
+ }
+ }
+ msleep(50);
+ /*********Step 6: read out checksum***********************/
+ /*send the opration head */
+ FTS_DBG("Step 6: read out checksum\n");
+ auc_i2c_write_buf[0] = 0x64;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(300);
+ temp = 0;
+ auc_i2c_write_buf[0] = 0x65;
+ auc_i2c_write_buf[1] = (u8)(temp >> 16);
+ auc_i2c_write_buf[2] = (u8)(temp >> 8);
+ auc_i2c_write_buf[3] = (u8)(temp);
+ temp = dw_lenth;
+ auc_i2c_write_buf[4] = (u8)(temp >> 8);
+ auc_i2c_write_buf[5] = (u8)(temp);
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 6);
+ msleep(dw_lenth/256);
+ for (i = 0; i < 100; i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 2);
+ dev_err(&client->dev, "[FTS]--reg_val[0]=%02x reg_val[0]=%02x\n", reg_val[0], reg_val[1]);
+ if (0xF0 == reg_val[0] && 0x55 == reg_val[1])
+ {
+ dev_err(&client->dev, "[FTS]--reg_val[0]=%02x reg_val[0]=%02x\n", reg_val[0], reg_val[1]);
+ break;
+ }
+ msleep(1);
+ }
+ auc_i2c_write_buf[0] = 0x66;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 1);
+ if (reg_val[0] != bt_ecc)
+ {
+ dev_err(&client->dev, "[FTS]--ecc error! FW=%02x bt_ecc=%02x\n", reg_val[0], bt_ecc);
+ return -EIO;
+ }
+ printk(KERN_WARNING "checksum %X %X \n", reg_val[0], bt_ecc);
+ /*********Step 7: reset the new FW***********************/
+ FTS_DBG("Step 7: reset the new FW\n");
+ auc_i2c_write_buf[0] = 0x07;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(200);
+ i_ret = hidi2c_to_stdi2c(client);
+ if (i_ret == 0)
+ {
+ FTS_DBG("HidI2c change to StdI2c fail ! \n");
+ }
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_5x06_ctpm_fw_upgrade
+* Brief: fw upgrade
+* Input: i2c info, file buf, file len
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_5x06_ctpm_fw_upgrade(struct i2c_client *client, u8 *pbt_buf, u32 dw_lenth)
+{
+ u8 reg_val[2] = {0};
+ u32 i = 0;
+ u32 packet_number;
+ u32 j;
+ u32 temp;
+ u32 lenght;
+ u8 packet_buf[FTS_PACKET_LENGTH + 6];
+ u8 auc_i2c_write_buf[10];
+ u8 bt_ecc;
+ int i_ret;
+
+ for (i = 0; i < FTS_UPGRADE_LOOP; i++)
+ {
+ /*********Step 1:Reset CTPM *****/
+ /*write 0xaa to register FTS_RST_CMD_REG1 */
+ fts_write_reg(client, FTS_RST_CMD_REG1, FTS_UPGRADE_AA);
+ msleep(fts_updateinfo_curr.delay_aa);
+
+ /*write 0x55 to register FTS_RST_CMD_REG1 */
+ fts_write_reg(client, FTS_RST_CMD_REG1, FTS_UPGRADE_55);
+ msleep(fts_updateinfo_curr.delay_55);
+ /*********Step 2:Enter upgrade mode *****/
+ auc_i2c_write_buf[0] = FTS_UPGRADE_55;
+ auc_i2c_write_buf[1] = FTS_UPGRADE_AA;
+ do
+ {
+ i++;
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 2);
+ msleep(5);
+ } while (i_ret <= 0 && i < 5);
+
+
+ /*********Step 3:check READ-ID***********************/
+ msleep(fts_updateinfo_curr.delay_readid);
+ auc_i2c_write_buf[0] = FTS_READ_ID_REG;
+ auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = auc_i2c_write_buf[3] =0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+
+ if (reg_val[0] == fts_updateinfo_curr.upgrade_id_1
+ && reg_val[1] == fts_updateinfo_curr.upgrade_id_2)
+ {
+ FTS_DBG("[FTS] Step 3: CTPM ID OK,ID1 = 0x%x,ID2 = 0x%x\n",reg_val[0], reg_val[1]);
+ break;
+ }
+ else
+ {
+ dev_err(&client->dev, "[FTS] Step 3: CTPM ID FAIL,ID1 = 0x%x,ID2 = 0x%x\n",reg_val[0], reg_val[1]);
+ }
+ }
+ if (i >= FTS_UPGRADE_LOOP)
+ return -EIO;
+ /*Step 4:erase app and panel paramenter area*/
+ FTS_DBG("Step 4:erase app and panel paramenter area\n");
+ auc_i2c_write_buf[0] = FTS_ERASE_APP_REG;
+ fts_i2c_write(client, auc_i2c_write_buf, 1); /*erase app area */
+ msleep(fts_updateinfo_curr.delay_erase_flash);
+ /*erase panel parameter area */
+ auc_i2c_write_buf[0] = FTS_ERASE_PARAMS_CMD;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(100);
+
+ /*********Step 5:write firmware(FW) to ctpm flash*********/
+ bt_ecc = 0;
+ FTS_DBG("Step 5:write firmware(FW) to ctpm flash\n");
+ dw_lenth = dw_lenth - 8;
+ packet_number = (dw_lenth) / FTS_PACKET_LENGTH;
+ packet_buf[0] = FTS_FW_WRITE_CMD;
+ packet_buf[1] = 0x00;
+ for (j = 0; j < packet_number; j++)
+ {
+ temp = j * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ lenght = FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (lenght >> 8);
+ packet_buf[5] = (u8) lenght;
+ for (i = 0; i < FTS_PACKET_LENGTH; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[j * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+ fts_i2c_write(client, packet_buf, FTS_PACKET_LENGTH + 6);
+ msleep(FTS_PACKET_LENGTH / 6 + 1);
+ }
+ if ((dw_lenth) % FTS_PACKET_LENGTH > 0)
+ {
+ temp = packet_number * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ temp = (dw_lenth) % FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (temp >> 8);
+ packet_buf[5] = (u8) temp;
+ for (i = 0; i < temp; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[packet_number * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+
+ fts_i2c_write(client, packet_buf, temp + 6);
+ msleep(20);
+ }
+ /*send the last six byte */
+ for (i = 0; i < 6; i++)
+ {
+ temp = 0x6ffa + i;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ temp = 1;
+ packet_buf[4] = (u8) (temp >> 8);
+ packet_buf[5] = (u8) temp;
+ packet_buf[6] = pbt_buf[dw_lenth + i];
+ bt_ecc ^= packet_buf[6];
+ fts_i2c_write(client, packet_buf, 7);
+ msleep(20);
+ }
+ /*********Step 6: read out checksum***********************/
+ /*send the opration head */
+ FTS_DBG("Step 6: read out checksum\n");
+ auc_i2c_write_buf[0] = FTS_REG_ECC;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 1);
+ if (reg_val[0] != bt_ecc)
+ {
+ dev_err(&client->dev, "[FTS]--ecc error! FW=%02x bt_ecc=%02x\n",
+ reg_val[0], bt_ecc);
+ return -EIO;
+ }
+ /*********Step 7: reset the new FW***********************/
+ FTS_DBG("Step 7: reset the new FW\n");
+ auc_i2c_write_buf[0] = FTS_REG_RESET_FW;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(300); /*make sure CTP startup normally */
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_5x46_ctpm_fw_upgrade
+* Brief: fw upgrade
+* Input: i2c info, file buf, file len
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_5x46_ctpm_fw_upgrade(struct i2c_client * client, u8* pbt_buf, u32 dw_lenth)
+{
+ u8 reg_val[4] = {0};
+ u32 i = 0;
+ u32 packet_number;
+ u32 j;
+ u32 temp;
+ u32 lenght;
+ u8 packet_buf[FTS_PACKET_LENGTH + 6];
+ u8 auc_i2c_write_buf[10];
+ u8 bt_ecc;
+ int i_ret;
+
+ i_ret = hidi2c_to_stdi2c(client);
+ if(i_ret == 0)
+ {
+ FTS_DBG("[FTS] hid change to i2c fail ! \n");
+ }
+
+ for (i = 0; i < FTS_UPGRADE_LOOP; i++)
+ {
+ /*********Step 1:Reset CTPM *****/
+ /*write 0xaa to register FTS_RST_CMD_REG1 */
+ fts_write_reg(client, FTS_RST_CMD_REG1, FTS_UPGRADE_AA);
+ msleep(fts_updateinfo_curr.delay_aa);
+
+ //write 0x55 to register FTS_RST_CMD_REG1
+ fts_write_reg(client, FTS_RST_CMD_REG1, FTS_UPGRADE_55);
+ msleep(200);
+ /*********Step 2:Enter upgrade mode *****/
+ i_ret = hidi2c_to_stdi2c(client);
+
+ if(i_ret == 0)
+ {
+ FTS_DBG("[FTS] hid change to i2c fail ! \n");
+ }
+ msleep(10);
+ auc_i2c_write_buf[0] = FTS_UPGRADE_55;
+ auc_i2c_write_buf[1] = FTS_UPGRADE_AA;
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 2);
+ if(i_ret < 0)
+ {
+ FTS_DBG("[FTS] failed writing 0x55 and 0xaa ! \n");
+ continue;
+ }
+ /*********Step 3:check READ-ID***********************/
+ msleep(1);
+ auc_i2c_write_buf[0] = FTS_READ_ID_REG;
+ auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = auc_i2c_write_buf[3] =0x00;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+
+ if (reg_val[0] == fts_updateinfo_curr.upgrade_id_1
+ && reg_val[1] == fts_updateinfo_curr.upgrade_id_2)
+ {
+ FTS_DBG("[FTS] Step 3: READ OK CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n",reg_val[0], reg_val[1]);
+ break;
+ }
+ else
+ {
+ dev_err(&client->dev, "[FTS] Step 3: CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n",reg_val[0], reg_val[1]);
+ continue;
+ }
+ }
+ if (i >= FTS_UPGRADE_LOOP )
+ return -EIO;
+ /*Step 4:erase app and panel paramenter area*/
+ FTS_DBG("Step 4:erase app and panel paramenter area\n");
+ auc_i2c_write_buf[0] = FTS_ERASE_APP_REG;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(1350);
+ for(i = 0;i < 15;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 2);
+ if(0xF0==reg_val[0] && 0xAA==reg_val[1])
+ {
+ break;
+ }
+ msleep(50);
+ }
+ printk("[FTS][%s] erase app area reg_val[0] = %x reg_val[1] = %x \n", __func__, reg_val[0], reg_val[1]);
+ auc_i2c_write_buf[0] = 0xB0;
+ auc_i2c_write_buf[1] = (u8) ((dw_lenth >> 16) & 0xFF);
+ auc_i2c_write_buf[2] = (u8) ((dw_lenth >> 8) & 0xFF);
+ auc_i2c_write_buf[3] = (u8) (dw_lenth & 0xFF);
+ fts_i2c_write(client, auc_i2c_write_buf, 4);
+ /*********Step 5:write firmware(FW) to ctpm flash*********/
+ bt_ecc = 0;
+ FTS_DBG("Step 5:write firmware(FW) to ctpm flash\n");
+ temp = 0;
+ packet_number = (dw_lenth) / FTS_PACKET_LENGTH;
+ packet_buf[0] = FTS_FW_WRITE_CMD;
+ packet_buf[1] = 0x00;
+
+ for (j = 0; j < packet_number; j++)
+ {
+ temp = j * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ lenght = FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (lenght >> 8);
+ packet_buf[5] = (u8) lenght;
+ for (i = 0; i < FTS_PACKET_LENGTH; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[j * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+ fts_i2c_write(client, packet_buf, FTS_PACKET_LENGTH + 6);
+ for(i = 0;i < 30;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 2);
+ if ((j + 0x1000) == (((reg_val[0]) << 8) | reg_val[1]))
+ {
+ break;
+ }
+ printk("[FTS][%s] reg_val[0] = %x reg_val[1] = %x \n", __func__, reg_val[0], reg_val[1]);
+ msleep(1);
+ }
+ }
+ if ((dw_lenth) % FTS_PACKET_LENGTH > 0)
+ {
+ temp = packet_number * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ temp = (dw_lenth) % FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (temp >> 8);
+ packet_buf[5] = (u8) temp;
+ for (i = 0; i < temp; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[packet_number * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+ fts_i2c_write(client, packet_buf, temp + 6);
+ for(i = 0;i < 30;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 2);
+ printk("[FTS][%s] reg_val[0] = %x reg_val[1] = %x \n", __func__, reg_val[0], reg_val[1]);
+ if ((j + 0x1000) == (((reg_val[0]) << 8) | reg_val[1]))
+ {
+ break;
+ }
+ printk("[FTS][%s] reg_val[0] = %x reg_val[1] = %x \n", __func__, reg_val[0], reg_val[1]);
+ msleep(1);
+
+ }
+ }
+
+ msleep(50);
+
+ /*********Step 6: read out checksum***********************/
+ /*send the opration head */
+ FTS_DBG("Step 6: read out checksum\n");
+ auc_i2c_write_buf[0] = 0x64;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(300);
+
+ temp = 0;
+ auc_i2c_write_buf[0] = 0x65;
+ auc_i2c_write_buf[1] = (u8)(temp >> 16);
+ auc_i2c_write_buf[2] = (u8)(temp >> 8);
+ auc_i2c_write_buf[3] = (u8)(temp);
+ temp = dw_lenth;
+ auc_i2c_write_buf[4] = (u8)(temp >> 8);
+ auc_i2c_write_buf[5] = (u8)(temp);
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 6);
+ msleep(dw_lenth/256);
+
+ for(i = 0;i < 100;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 2);
+ dev_err(&client->dev, "[FTS]--reg_val[0]=%02x reg_val[0]=%02x\n", reg_val[0], reg_val[1]);
+ if (0xF0==reg_val[0] && 0x55==reg_val[1])
+ {
+ dev_err(&client->dev, "[FTS]--reg_val[0]=%02x reg_val[0]=%02x\n", reg_val[0], reg_val[1]);
+ break;
+ }
+ msleep(1);
+
+ }
+ auc_i2c_write_buf[0] = 0x66;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 1);
+ if (reg_val[0] != bt_ecc)
+ {
+ dev_err(&client->dev, "[FTS]--ecc error! FW=%02x bt_ecc=%02x\n",
+ reg_val[0], bt_ecc);
+ return -EIO;
+ }
+ printk(KERN_WARNING "checksum %X %X \n",reg_val[0],bt_ecc);
+ /*********Step 7: reset the new FW***********************/
+ FTS_DBG("Step 7: reset the new FW\n");
+ auc_i2c_write_buf[0] = FTS_REG_RESET_FW;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(200);
+ i_ret = hidi2c_to_stdi2c(client);
+ if (i_ret == 0)
+ {
+ FTS_DBG("HidI2c change to StdI2c fail ! \n");
+ }
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_8606_writepram
+* Brief: fw upgrade
+* Input: i2c info, file buf, file len
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_8606_writepram(struct i2c_client * client, u8* pbt_buf, u32 dw_lenth)
+{
+
+ u8 reg_val[4] = {0};
+ u32 i = 0;
+ u32 packet_number;
+ u32 j;
+ u32 temp;
+ u32 lenght;
+ u8 packet_buf[FTS_PACKET_LENGTH + 6];
+ u8 auc_i2c_write_buf[10];
+ u8 bt_ecc;
+ int i_ret;
+
+ FTS_DBG("8606 dw_lenth= %d",dw_lenth);
+ if(dw_lenth > 0x10000 || dw_lenth ==0)
+ {
+ return -EIO;
+ }
+
+ for (i = 0; i < 20; i++)
+ {
+ fts_write_reg(client, 0xfc, FTS_UPGRADE_AA);
+ msleep(fts_updateinfo_curr.delay_aa);
+ fts_write_reg(client, 0xfc, FTS_UPGRADE_55);
+ msleep(200);
+ /*********Step 2:Enter upgrade mode *****/
+ auc_i2c_write_buf[0] = FTS_UPGRADE_55;
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 1);
+ if(i_ret < 0)
+ {
+ FTS_DBG("[FTS] failed writing 0x55 ! \n");
+ continue;
+ }
+
+ /*********Step 3:check READ-ID***********************/
+ msleep(1);
+ auc_i2c_write_buf[0] = 0x90;
+ auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = auc_i2c_write_buf[3] =
+ 0x00;
+ reg_val[0] = reg_val[1] = 0x00;
+
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+
+ if ((reg_val[0] == 0x86
+ && reg_val[1] == 0x06) || (reg_val[0] == 0x86
+ && reg_val[1] == 0x06))
+ {
+ msleep(50);
+ break;
+ }
+ else
+ {
+ dev_err(&client->dev, "[FTS] Step 3: CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n",
+ reg_val[0], reg_val[1]);
+ continue;
+ }
+ }
+
+ if (i >= FTS_UPGRADE_LOOP )
+ return -EIO;
+
+ /*********Step 4:write firmware(FW) to ctpm flash*********/
+ bt_ecc = 0;
+ FTS_DBG("Step 5:write firmware(FW) to ctpm flash\n");
+ temp = 0;
+ packet_number = (dw_lenth) / FTS_PACKET_LENGTH;
+ packet_buf[0] = 0xae;
+ packet_buf[1] = 0x00;
+
+ for (j = 0; j < packet_number; j++)
+ {
+ temp = j * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ lenght = FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (lenght >> 8);
+ packet_buf[5] = (u8) lenght;
+
+ for (i = 0; i < FTS_PACKET_LENGTH; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[j * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+ fts_i2c_write(client, packet_buf, FTS_PACKET_LENGTH + 6);
+ }
+
+ if ((dw_lenth) % FTS_PACKET_LENGTH > 0)
+ {
+ temp = packet_number * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ temp = (dw_lenth) % FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (temp >> 8);
+ packet_buf[5] = (u8) temp;
+
+ for (i = 0; i < temp; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[packet_number * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+ fts_i2c_write(client, packet_buf, temp + 6);
+ }
+
+ /*********Step 5: read out checksum***********************/
+ /*send the opration head */
+ FTS_DBG("Step 6: read out checksum\n");
+ auc_i2c_write_buf[0] = 0xcc;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 1);
+ if (reg_val[0] != bt_ecc)
+ {
+ dev_err(&client->dev, "[FTS]--ecc error! FW=%02x bt_ecc=%02x\n",reg_val[0],bt_ecc);
+ return -EIO;
+ }
+ FTS_DBG("checksum %X %X \n",reg_val[0],bt_ecc);
+ FTS_DBG("Read flash and compare\n");
+
+ msleep(50);
+
+ /*********Step 6: start app***********************/
+ FTS_DBG("Step 6: start app\n");
+ auc_i2c_write_buf[0] = 0x08;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(20);
+
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_8606_ctpm_fw_upgrade
+* Brief: fw upgrade
+* Input: i2c info, file buf, file len
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_8606_ctpm_fw_upgrade(struct i2c_client * client, u8* pbt_buf, u32 dw_lenth)
+{
+ u8 reg_val[4] = {0};
+ u8 reg_val_id[4] = {0};
+ u32 i = 0;
+ u32 packet_number;
+ u32 j;
+ u32 temp;
+ u32 lenght;
+ u8 packet_buf[FTS_PACKET_LENGTH + 6];
+ u8 auc_i2c_write_buf[10];
+ u8 bt_ecc;
+ int i_ret;
+ unsigned char cmd[20];
+ unsigned char Checksum = 0;
+
+ auc_i2c_write_buf[0] = 0x05;
+ reg_val_id[0] = 0x00;
+
+ i_ret =fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val_id, 1);
+ if(dw_lenth == 0)
+ {
+ return -EIO;
+ }
+
+ if(0x81 == (int)reg_val_id[0])
+ {
+ if(dw_lenth > 1024*60)
+ {
+ return -EIO;
+ }
+ }
+ else if(0x80 == (int)reg_val_id[0])
+ {
+ if(dw_lenth > 1024*64)
+ {
+ return -EIO;
+ }
+ }
+
+ for (i = 0; i < FTS_UPGRADE_LOOP; i++)
+ {
+ msleep(10);
+ auc_i2c_write_buf[0] = FTS_UPGRADE_55;
+ auc_i2c_write_buf[1] = FTS_UPGRADE_AA;
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 2);
+ if(i_ret < 0)
+ {
+ FTS_DBG("failed writing 0x55 and 0xaa ! \n");
+ continue;
+ }
+
+ /*********Step 3:check READ-ID***********************/
+ msleep(1);
+ auc_i2c_write_buf[0] = 0x90;
+ auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = auc_i2c_write_buf[3] = 0x00;
+
+ reg_val[0] = reg_val[1] = 0x00;
+
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+
+ if ((reg_val[0] == fts_updateinfo_curr.upgrade_id_1
+ && reg_val[1] == fts_updateinfo_curr.upgrade_id_2)|| (reg_val[0] == 0x86 && reg_val[1] == 0xA6)) {
+ FTS_DBG("[FTS] Step 3: READ OK CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n",
+ reg_val[0], reg_val[1]);
+ break;
+ } else {
+ dev_err(&client->dev, "[FTS] Step 3: CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n",
+ reg_val[0], reg_val[1]);
+ continue;
+ }
+ }
+
+ if (i >= FTS_UPGRADE_LOOP )
+ return -EIO;
+
+ /*Step 4:erase app and panel paramenter area*/
+ FTS_DBG("Step 4:erase app and panel paramenter area\n");
+
+ {
+ cmd[0] = 0x05;
+ cmd[1] = reg_val_id[0];//0x80;
+ cmd[2] = 0x00;//???
+ fts_i2c_write(client, cmd, 3);
+ }
+
+ {
+ cmd[0] = 0x09;
+ cmd[1] = 0x0B;
+ fts_i2c_write(client, cmd, 2);
+ }
+
+ for(i=0; i<dw_lenth ; i++)
+ {
+ Checksum ^= pbt_buf[i];
+ }
+ msleep(50);
+
+ auc_i2c_write_buf[0] = 0x61;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(1350);
+
+ for(i = 0;i < 15;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 2);
+
+ if(0xF0==reg_val[0] && 0xAA==reg_val[1])
+ {
+ break;
+ }
+ msleep(50);
+ }
+
+ bt_ecc = 0;
+ FTS_DBG("Step 5:write firmware(FW) to ctpm flash\n");
+
+ temp = 0;
+ packet_number = (dw_lenth) / FTS_PACKET_LENGTH;
+ packet_buf[0] = 0xbf;
+
+ for (j = 0; j < packet_number; j++) {
+ temp = 0x1000+j * FTS_PACKET_LENGTH;
+ packet_buf[1] = (u8) (temp >> 16);
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ lenght = FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (lenght >> 8);
+ packet_buf[5] = (u8) lenght;
+
+ for (i = 0; i < FTS_PACKET_LENGTH; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[j * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+ fts_i2c_write(client, packet_buf, FTS_PACKET_LENGTH + 6);
+
+ for(i = 0;i < 30;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 2);
+
+ if ((j + 0x1000) == (((reg_val[0]) << 8) | reg_val[1]))
+ {
+ break;
+ }
+ msleep(1);
+
+ }
+ }
+
+ if ((dw_lenth) % FTS_PACKET_LENGTH > 0) {
+ temp = 0x1000+packet_number * FTS_PACKET_LENGTH;
+ packet_buf[1] = (u8) (temp >> 16);
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ temp = (dw_lenth) % FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (temp >> 8);
+ packet_buf[5] = (u8) temp;
+
+ for (i = 0; i < temp; i++) {
+ packet_buf[6 + i] = pbt_buf[packet_number * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+ fts_i2c_write(client, packet_buf, temp + 6);
+
+ for(i = 0;i < 30;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 2);
+
+ if ((j + 0x1000) == (((reg_val[0]) << 8) | reg_val[1]))
+ {
+ break;
+ }
+ msleep(1);
+
+ }
+ }
+
+ msleep(50);
+
+ /*********Step 6: read out checksum***********************/
+ /*send the opration head */
+ FTS_DBG("Step 6: read out checksum\n");
+ auc_i2c_write_buf[0] = 0x64;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(300);
+ temp = 0x1000+0;
+ auc_i2c_write_buf[0] = 0x65;
+ auc_i2c_write_buf[1] = (u8)(temp >> 16);
+ auc_i2c_write_buf[2] = (u8)(temp >> 8);
+ auc_i2c_write_buf[3] = (u8)(temp);
+
+ if (dw_lenth > LEN_FLASH_ECC_MAX)
+ {
+ temp = LEN_FLASH_ECC_MAX;
+ }
+ else
+ {
+ temp = dw_lenth;
+ FTS_DBG("Step 6_1: read out checksum\n");
+ }
+ auc_i2c_write_buf[4] = (u8)(temp >> 8);
+ auc_i2c_write_buf[5] = (u8)(temp);
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 6);
+ msleep(dw_lenth/256);
+
+ for(i = 0;i < 100;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 2);
+
+ if (0xF0==reg_val[0] && 0x55==reg_val[1])
+ {
+ break;
+ }
+ msleep(1);
+
+ }
+ //----------------------------------------------------------------------
+ if (dw_lenth > LEN_FLASH_ECC_MAX)
+ {
+ temp = LEN_FLASH_ECC_MAX;//??? 0x1000+LEN_FLASH_ECC_MAX
+ auc_i2c_write_buf[0] = 0x65;
+ auc_i2c_write_buf[1] = (u8)(temp >> 16);
+ auc_i2c_write_buf[2] = (u8)(temp >> 8);
+ auc_i2c_write_buf[3] = (u8)(temp);
+ temp = dw_lenth-LEN_FLASH_ECC_MAX;
+ auc_i2c_write_buf[4] = (u8)(temp >> 8);
+ auc_i2c_write_buf[5] = (u8)(temp);
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 6);
+
+ msleep(dw_lenth/256);
+
+ for(i = 0;i < 100;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 2);
+
+ if (0xF0==reg_val[0] && 0x55==reg_val[1])
+ {
+ break;
+ }
+ msleep(1);
+
+ }
+ }
+ auc_i2c_write_buf[0] = 0x66;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 1);
+ if (reg_val[0] != bt_ecc)
+ {
+ dev_err(&client->dev, "[FTS]--ecc error! FW=%02x bt_ecc=%02x\n",
+ reg_val[0],
+ bt_ecc);
+
+ return -EIO;
+ }
+ FTS_DBG("checksum %X %X \n",reg_val[0],bt_ecc);
+ /*********Step 7: reset the new FW***********************/
+ FTS_DBG("Step 7: reset the new FW\n");
+ auc_i2c_write_buf[0] = 0x07;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(200); //make sure CTP startup normally
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_3x27_ctpm_fw_upgrade
+* Brief: fw upgrade
+* Input: i2c info, file buf, file len
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_3x07_ctpm_fw_upgrade(struct i2c_client *client, u8 *pbt_buf, u32 dw_lenth)
+{
+ u8 reg_val[2] = {0};
+ u32 i = 0;
+ u32 packet_number;
+ u32 j;
+ u32 temp;
+ u32 lenght;
+ u32 fw_length;
+ u8 packet_buf[FTS_PACKET_LENGTH + 6];
+ u8 auc_i2c_write_buf[10];
+ u8 bt_ecc;
+
+ if(pbt_buf[0] != 0x02)
+ {
+ FTS_DBG("[FTS] FW first byte is not 0x02. so it is invalid \n");
+ return -1;
+ }
+
+ if(dw_lenth > 0x11f)
+ {
+ fw_length = ((u32)pbt_buf[0x100]<<8) + pbt_buf[0x101];
+ if(dw_lenth < fw_length)
+ {
+ FTS_DBG("[FTS] Fw length is invalid \n");
+ return -1;
+ }
+ }
+ else
+ {
+ FTS_DBG("[FTS] Fw length is invalid \n");
+ return -1;
+ }
+
+ for (i = 0; i < FTS_UPGRADE_LOOP; i++)
+ {
+ /*********Step 1:Reset CTPM *****/
+ fts_write_reg(client, FTS_RST_CMD_REG2, FTS_UPGRADE_AA);
+ msleep(fts_updateinfo_curr.delay_aa);
+ fts_write_reg(client, FTS_RST_CMD_REG2, FTS_UPGRADE_55);
+ msleep(fts_updateinfo_curr.delay_55);
+ /*********Step 2:Enter upgrade mode *****/
+ auc_i2c_write_buf[0] = FTS_UPGRADE_55;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ auc_i2c_write_buf[0] = FTS_UPGRADE_AA;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(fts_updateinfo_curr.delay_readid);
+ /*********Step 3:check READ-ID***********************/
+ auc_i2c_write_buf[0] = FTS_READ_ID_REG;
+ auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = auc_i2c_write_buf[3] =0x00;
+ reg_val[0] = 0x00;
+ reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+
+
+ if (reg_val[0] == fts_updateinfo_curr.upgrade_id_1
+ && reg_val[1] == fts_updateinfo_curr.upgrade_id_2)
+ {
+ FTS_DBG("[FTS] Step 3: GET CTPM ID OK,ID1 = 0x%x,ID2 = 0x%x\n",
+ reg_val[0], reg_val[1]);
+ break;
+ }
+ else
+ {
+ dev_err(&client->dev, "[FTS] Step 3: GET CTPM ID FAIL,ID1 = 0x%x,ID2 = 0x%x\n",
+ reg_val[0], reg_val[1]);
+ }
+ }
+ if (i >= FTS_UPGRADE_LOOP)
+ return -EIO;
+
+ auc_i2c_write_buf[0] = FTS_READ_ID_REG;
+ auc_i2c_write_buf[1] = 0x00;
+ auc_i2c_write_buf[2] = 0x00;
+ auc_i2c_write_buf[3] = 0x00;
+ auc_i2c_write_buf[4] = 0x00;
+ fts_i2c_write(client, auc_i2c_write_buf, 5);
+
+ /*Step 4:erase app and panel paramenter area*/
+ FTS_DBG("Step 4:erase app and panel paramenter area\n");
+ auc_i2c_write_buf[0] = FTS_ERASE_APP_REG;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(fts_updateinfo_curr.delay_erase_flash);
+
+ for(i = 0;i < 200;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ auc_i2c_write_buf[1] = 0x00;
+ auc_i2c_write_buf[2] = 0x00;
+ auc_i2c_write_buf[3] = 0x00;
+ reg_val[0] = 0x00;
+ reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+ if(0xb0 == reg_val[0] && 0x02 == reg_val[1])
+ {
+ FTS_DBG("[FTS] erase app finished \n");
+ break;
+ }
+ msleep(50);
+ }
+
+ /*********Step 5:write firmware(FW) to ctpm flash*********/
+ bt_ecc = 0;
+ FTS_DBG("Step 5:write firmware(FW) to ctpm flash\n");
+
+ dw_lenth = fw_length;
+ packet_number = (dw_lenth) / FTS_PACKET_LENGTH;
+ packet_buf[0] = FTS_FW_WRITE_CMD;
+ packet_buf[1] = 0x00;
+
+ for (j = 0; j < packet_number; j++)
+ {
+ temp = j * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ lenght = FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (lenght >> 8);
+ packet_buf[5] = (u8) lenght;
+
+ for (i = 0; i < FTS_PACKET_LENGTH; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[j * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+
+ fts_i2c_write(client, packet_buf, FTS_PACKET_LENGTH + 6);
+
+ for(i = 0;i < 30;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ auc_i2c_write_buf[1] = 0x00;
+ auc_i2c_write_buf[2] = 0x00;
+ auc_i2c_write_buf[3] = 0x00;
+ reg_val[0] = 0x00;
+ reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+ if(0xb0 == (reg_val[0] & 0xf0) && (0x03 + (j % 0x0ffd)) == (((reg_val[0] & 0x0f) << 8) |reg_val[1]))
+ {
+ FTS_DBG("[FTS] write a block data finished \n");
+ break;
+ }
+ msleep(1);
+ }
+ }
+
+ if ((dw_lenth) % FTS_PACKET_LENGTH > 0)
+ {
+ temp = packet_number * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ temp = (dw_lenth) % FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (temp >> 8);
+ packet_buf[5] = (u8) temp;
+
+ for (i = 0; i < temp; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[packet_number * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+ fts_i2c_write(client, packet_buf, temp + 6);
+ for(i = 0;i < 30;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ auc_i2c_write_buf[1] = 0x00;
+ auc_i2c_write_buf[2] = 0x00;
+ auc_i2c_write_buf[3] = 0x00;
+ reg_val[0] = 0x00;
+ reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+ if(0xb0 == (reg_val[0] & 0xf0) && (0x03 + (j % 0x0ffd)) == (((reg_val[0] & 0x0f) << 8) |reg_val[1]))
+ {
+ FTS_DBG("[FTS] write a block data finished \n");
+ break;
+ }
+ msleep(1);
+ }
+ }
+
+
+ /*********Step 6: read out checksum***********************/
+ FTS_DBG("Step 6: read out checksum\n");
+ auc_i2c_write_buf[0] = FTS_REG_ECC;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 1);
+ if (reg_val[0] != bt_ecc)
+ {
+ dev_err(&client->dev, "[FTS]--ecc error! FW=%02x bt_ecc=%02x\n",
+ reg_val[0],
+ bt_ecc);
+ return -EIO;
+ }
+
+ /*********Step 7: reset the new FW***********************/
+ FTS_DBG("Step 7: reset the new FW\n");
+ auc_i2c_write_buf[0] = 0x07;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(300);
+
+ return 0;
+}
+
+/*
+*note:the firmware default path is sdcard.
+ if you want to change the dir, please modify by yourself.
+*/
+/************************************************************************
+* Name: fts_GetFirmwareSize
+* Brief: get file size
+* Input: file name
+* Output: no
+* Return: file size
+***********************************************************************/
+static int fts_GetFirmwareSize(char *firmware_name)
+{
+ struct file *pfile = NULL;
+ struct inode *inode;
+ unsigned long magic;
+ off_t fsize = 0;
+ char filepath[128];
+
+ memset(filepath, 0, sizeof(filepath));
+ sprintf(filepath, "%s%s", FTXXXX_INI_FILEPATH_CONFIG, firmware_name);
+ if (NULL == pfile)
+ {
+ pfile = filp_open(filepath, O_RDONLY, 0);
+ }
+ if (IS_ERR(pfile))
+ {
+ pr_err("error occured while opening file %s.\n", filepath);
+ return -EIO;
+ }
+ inode = pfile->f_dentry->d_inode;
+ magic = inode->i_sb->s_magic;
+ fsize = inode->i_size;
+ filp_close(pfile, NULL);
+ return fsize;
+}
+
+/************************************************************************
+* Name: fts_ReadFirmware
+* Brief: read firmware buf for .bin file.
+* Input: file name, data buf
+* Output: data buf
+* Return: 0
+***********************************************************************/
+/*
+note:the firmware default path is sdcard.
+ if you want to change the dir, please modify by yourself.
+*/
+static int fts_ReadFirmware(char *firmware_name,unsigned char *firmware_buf)
+{
+ struct file *pfile = NULL;
+ struct inode *inode;
+ unsigned long magic;
+ off_t fsize;
+ char filepath[128];
+ loff_t pos;
+ mm_segment_t old_fs;
+
+ memset(filepath, 0, sizeof(filepath));
+ sprintf(filepath, "%s%s", FTXXXX_INI_FILEPATH_CONFIG, firmware_name);
+ if (NULL == pfile)
+ {
+ pfile = filp_open(filepath, O_RDONLY, 0);
+ }
+ if (IS_ERR(pfile))
+ {
+ pr_err("error occured while opening file %s.\n", filepath);
+ return -EIO;
+ }
+ inode = pfile->f_dentry->d_inode;
+ magic = inode->i_sb->s_magic;
+ fsize = inode->i_size;
+ old_fs = get_fs();
+ set_fs(KERNEL_DS);
+ pos = 0;
+ vfs_read(pfile, firmware_buf, fsize, &pos);
+ filp_close(pfile, NULL);
+ set_fs(old_fs);
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_ctpm_fw_upgrade_with_app_file
+* Brief: upgrade with *.bin file
+* Input: i2c info, file name
+* Output: no
+* Return: success =0
+***********************************************************************/
+int fts_ctpm_fw_upgrade_with_app_file(struct i2c_client *client, char *firmware_name)
+{
+ u8 *pbt_buf = NULL;
+ int i_ret=0;
+ int fwsize = fts_GetFirmwareSize(firmware_name);
+ if (fwsize <= 0)
+ {
+ dev_err(&client->dev, "%s ERROR:Get firmware size failed\n",__func__);
+ return -EIO;
+ }
+ if (fwsize < 8 || fwsize > 54 * 1024)
+ {
+ dev_err(&client->dev, "FW length error\n");
+ return -EIO;
+ }
+
+ dev_err(&client->dev, "dean tag CHIP_ID : 0x%x\n", fts_updateinfo_curr.CHIP_ID);
+ /*=========FW upgrade========================*/
+ pbt_buf = (unsigned char *)kmalloc(fwsize + 1, GFP_ATOMIC);
+ if (fts_ReadFirmware(firmware_name, pbt_buf))
+ {
+ dev_err(&client->dev, "%s() - ERROR: request_firmware failed\n",__func__);
+ kfree(pbt_buf);
+ return -EIO;
+ }
+ if ((fts_updateinfo_curr.CHIP_ID==0x55) ||(fts_updateinfo_curr.CHIP_ID==0x08) ||(fts_updateinfo_curr.CHIP_ID==0x0a))
+ {
+ i_ret = fts_5x06_ctpm_fw_upgrade(client, pbt_buf, fwsize);
+ }
+ else if ((fts_updateinfo_curr.CHIP_ID==0x11) ||(fts_updateinfo_curr.CHIP_ID==0x12) ||(fts_updateinfo_curr.CHIP_ID==0x13) ||(fts_updateinfo_curr.CHIP_ID==0x14))
+ {
+ i_ret = fts_5x36_ctpm_fw_upgrade(client, pbt_buf, fwsize);
+ }
+ else if ((fts_updateinfo_curr.CHIP_ID==0x06))
+ {
+ i_ret = fts_6x06_ctpm_fw_upgrade(client, pbt_buf, fwsize);
+ }
+ else if ((fts_updateinfo_curr.CHIP_ID==0x36))
+ {
+ i_ret = fts_6x36_ctpm_fw_upgrade(client, pbt_buf, fwsize);
+ }
+ else if ((fts_updateinfo_curr.CHIP_ID==0x64))
+ {
+ i_ret = fts_6336GU_ctpm_fw_upgrade(client, pbt_buf, fwsize);
+ }
+ else if ((fts_updateinfo_curr.CHIP_ID==0x54))
+ {
+ i_ret = fts_5x46_ctpm_fw_upgrade(client, pbt_buf, fwsize);
+ }
+ else if ((fts_updateinfo_curr.CHIP_ID==0x58))
+ {
+ i_ret = fts_5822_ctpm_fw_upgrade(client, pbt_buf, fwsize);
+ }
+ else if ((fts_updateinfo_curr.CHIP_ID==0x59))
+ {
+ i_ret = fts_5x26_ctpm_fw_upgrade(client, pbt_buf, fwsize);
+ }
+ else if ((fts_updateinfo_curr.CHIP_ID==0x0e))
+ {
+ i_ret = fts_3x07_ctpm_fw_upgrade(client, pbt_buf, fwsize);
+ }
+ else if ((fts_updateinfo_curr.CHIP_ID==0x86))
+ {
+ dev_err(&client->dev, "%s:upgrade failed. err, chip is 3027\n",__func__);
+ return -EIO;
+ /*call the upgrade function*/
+ //i_ret = fts_8606_writepram(client, aucFW_PRAM_BOOT, sizeof(aucFW_PRAM_BOOT));
+
+ if (i_ret != 0)
+ {
+ dev_err(&client->dev, "%s:fts_8606_writepram failed. err.\n",__func__);
+ return -EIO;
+ }
+
+ i_ret = fts_8606_ctpm_fw_upgrade(client, pbt_buf, fwsize);
+ }
+
+ if (i_ret != 0)
+ dev_err(&client->dev, "%s() - ERROR:[FTS] upgrade failed..\n", __func__);
+ else if (fts_updateinfo_curr.AUTO_CLB==AUTO_CLB_NEED)
+ fts_ctpm_auto_clb(client);
+
+ kfree(pbt_buf);
+
+ return i_ret;
+}
+/************************************************************************
+* Name: fts_ctpm_get_i_file_ver
+* Brief: get .i file version
+* Input: no
+* Output: no
+* Return: fw version
+***********************************************************************/
+int fts_ctpm_get_i_file_ver(void)
+{
+ u16 ui_sz;
+ ui_sz = sizeof(CTPM_FW);
+ if (ui_sz > 2)
+ {
+ if(fts_updateinfo_curr.CHIP_ID==0x36 || fts_updateinfo_curr.CHIP_ID==0x86 || fts_updateinfo_curr.CHIP_ID==0x64)
+ return CTPM_FW[0x10a];
+ else if(fts_updateinfo_curr.CHIP_ID==0x58)
+ return CTPM_FW[0x1D0A];
+ else
+ return CTPM_FW[ui_sz - 2];
+ }
+
+ return 0x00;
+}
+
+int fts_ctpm_get_i_file_ver_for_cci(void)
+{
+ u16 ui_sz = fw_size;
+
+ if (ui_sz > 2)
+ return CTPM_FW[ui_sz - 2];
+ else
+ return 0x00;
+}
+/************************************************************************
+* Name: fts_ctpm_update_project_setting
+* Brief: update project setting, only update these settings for COB project, or for some special case
+* Input: i2c info
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_ctpm_update_project_setting(struct i2c_client *client)
+{
+ u8 uc_i2c_addr;
+ u8 uc_io_voltage;
+ u8 uc_panel_factory_id;
+ u8 buf[FTS_SETTING_BUF_LEN];
+ u8 reg_val[2] = {0};
+ u8 auc_i2c_write_buf[10] = {0};
+ u8 packet_buf[FTS_SETTING_BUF_LEN + 6];
+ u32 i = 0;
+ int i_ret;
+
+ uc_i2c_addr = client->addr;
+ uc_io_voltage = 0x0;
+ uc_panel_factory_id = 0x5a;
+
+ /*Step 1:Reset CTPM*/
+ if(fts_updateinfo_curr.CHIP_ID==0x06 || fts_updateinfo_curr.CHIP_ID==0x36)
+ {
+ fts_write_reg(client, 0xbc, 0xaa);
+ }
+ else
+ {
+ fts_write_reg(client, 0xfc, 0xaa);
+ }
+ msleep(50);
+
+ /*write 0x55 to register 0xfc */
+ if(fts_updateinfo_curr.CHIP_ID==0x06 || fts_updateinfo_curr.CHIP_ID==0x36)
+ {
+ fts_write_reg(client, 0xbc, 0x55);
+ }
+ else
+ {
+ fts_write_reg(client, 0xfc, 0x55);
+ }
+ msleep(30);
+
+ /*********Step 2:Enter upgrade mode *****/
+ auc_i2c_write_buf[0] = 0x55;
+ auc_i2c_write_buf[1] = 0xaa;
+ do
+ {
+ i++;
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 2);
+ msleep(5);
+ } while (i_ret <= 0 && i < 5);
+
+
+ /*********Step 3:check READ-ID***********************/
+ auc_i2c_write_buf[0] = 0x90;
+ auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = auc_i2c_write_buf[3] = 0x00;
+
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+
+ if (reg_val[0] == fts_updateinfo_curr.upgrade_id_1 && reg_val[1] == fts_updateinfo_curr.upgrade_id_2)
+ dev_dbg(&client->dev, "[FTS] Step 3: CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n",reg_val[0], reg_val[1]);
+ else
+ return -EIO;
+
+ auc_i2c_write_buf[0] = 0xcd;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 1);
+ dev_dbg(&client->dev, "bootloader version = 0x%x\n", reg_val[0]);
+
+ /*--------- read current project setting ---------- */
+ /*set read start address */
+ buf[0] = 0x3;
+ buf[1] = 0x0;
+ buf[2] = 0x78;
+ buf[3] = 0x0;
+
+ fts_i2c_read(client, buf, 4, buf, FTS_SETTING_BUF_LEN);
+ dev_dbg(&client->dev, "[FTS] old setting: uc_i2c_addr = 0x%x,\
+ uc_io_voltage = %d, uc_panel_factory_id = 0x%x\n", buf[0], buf[2], buf[4]);
+
+ /*--------- Step 4:erase project setting --------------*/
+ auc_i2c_write_buf[0] = 0x63;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(100);
+
+ /*---------- Set new settings ---------------*/
+ buf[0] = uc_i2c_addr;
+ buf[1] = ~uc_i2c_addr;
+ buf[2] = uc_io_voltage;
+ buf[3] = ~uc_io_voltage;
+ buf[4] = uc_panel_factory_id;
+ buf[5] = ~uc_panel_factory_id;
+ packet_buf[0] = 0xbf;
+ packet_buf[1] = 0x00;
+ packet_buf[2] = 0x78;
+ packet_buf[3] = 0x0;
+ packet_buf[4] = 0;
+ packet_buf[5] = FTS_SETTING_BUF_LEN;
+
+ for (i = 0; i < FTS_SETTING_BUF_LEN; i++)
+ packet_buf[6 + i] = buf[i];
+
+ fts_i2c_write(client, packet_buf, FTS_SETTING_BUF_LEN + 6);
+ msleep(100);
+
+ /********* reset the new FW***********************/
+ auc_i2c_write_buf[0] = 0x07;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+
+ msleep(200);
+ return 0;
+}
+/************************************************************************
+* Name: fts_ctpm_fw_upgrade_with_i_file
+* Brief: upgrade with *.i file
+* Input: i2c info
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_ctpm_fw_upgrade_with_i_file(struct i2c_client *client)
+{
+ u8 *pbt_buf = NULL;
+ int i_ret=0;
+ int fw_len = sizeof(CTPM_FW);
+
+ /*judge the fw that will be upgraded
+ * if illegal, then stop upgrade and return.
+ */
+ if ((fts_updateinfo_curr.CHIP_ID==0x11) ||(fts_updateinfo_curr.CHIP_ID==0x12) ||(fts_updateinfo_curr.CHIP_ID==0x13) ||(fts_updateinfo_curr.CHIP_ID==0x14)
+ ||(fts_updateinfo_curr.CHIP_ID==0x55) ||(fts_updateinfo_curr.CHIP_ID==0x06) ||(fts_updateinfo_curr.CHIP_ID==0x0a) ||(fts_updateinfo_curr.CHIP_ID==0x08))
+ {
+ if (fw_len < 8 || fw_len > 32 * 1024)
+ {
+ dev_err(&client->dev, "%s:FW length error\n", __func__);
+ return -EIO;
+ }
+
+ if ((CTPM_FW[fw_len - 8] ^ CTPM_FW[fw_len - 6]) == 0xFF
+ && (CTPM_FW[fw_len - 7] ^ CTPM_FW[fw_len - 5]) == 0xFF
+ && (CTPM_FW[fw_len - 3] ^ CTPM_FW[fw_len - 4]) == 0xFF)
+ {
+ /*FW upgrade */
+ pbt_buf = CTPM_FW;
+ /*call the upgrade function */
+ if ((fts_updateinfo_curr.CHIP_ID==0x55) ||(fts_updateinfo_curr.CHIP_ID==0x08) ||(fts_updateinfo_curr.CHIP_ID==0x0a))
+ {
+ i_ret = fts_5x06_ctpm_fw_upgrade(client, pbt_buf, sizeof(CTPM_FW));
+ }
+ else if ((fts_updateinfo_curr.CHIP_ID==0x11) ||(fts_updateinfo_curr.CHIP_ID==0x12) ||(fts_updateinfo_curr.CHIP_ID==0x13) ||(fts_updateinfo_curr.CHIP_ID==0x14))
+ {
+ i_ret = fts_5x36_ctpm_fw_upgrade(client, pbt_buf, sizeof(CTPM_FW));
+ }
+ else if ((fts_updateinfo_curr.CHIP_ID==0x06))
+ {
+ i_ret = fts_6x06_ctpm_fw_upgrade(client, pbt_buf, sizeof(CTPM_FW));
+ }
+ if (i_ret != 0)
+ dev_err(&client->dev, "%s:upgrade failed. err.\n",__func__);
+ else if (fts_updateinfo_curr.AUTO_CLB==AUTO_CLB_NEED)
+ {
+ fts_ctpm_auto_clb(client);
+ }
+ }
+ else
+ {
+ dev_err(&client->dev, "%s:FW format error\n", __func__);
+ return -EBADFD;
+ }
+ }
+ else if ((fts_updateinfo_curr.CHIP_ID==0x36))
+ {
+ if (fw_len < 8 || fw_len > 32 * 1024)
+ {
+ dev_err(&client->dev, "%s:FW length error\n", __func__);
+ return -EIO;
+ }
+ pbt_buf = CTPM_FW;
+ i_ret = fts_6x36_ctpm_fw_upgrade(client, pbt_buf, sizeof(CTPM_FW));
+ if (i_ret != 0)
+ dev_err(&client->dev, "%s:upgrade failed. err.\n",__func__);
+ }
+ else if ((fts_updateinfo_curr.CHIP_ID==0x64))
+ {
+ if (fw_len < 8 || fw_len > 48 * 1024)
+ {
+ dev_err(&client->dev, "%s:FW length error\n", __func__);
+ return -EIO;
+ }
+ pbt_buf = CTPM_FW;
+ i_ret = fts_6336GU_ctpm_fw_upgrade(client, pbt_buf, sizeof(CTPM_FW));
+ if (i_ret != 0)
+ dev_err(&client->dev, "%s:upgrade failed. err.\n",__func__);
+ }
+ else if ((fts_updateinfo_curr.CHIP_ID==0x54))
+ {
+ if (fw_len < 8 || fw_len > 54 * 1024)
+ {
+ pr_err("FW length error\n");
+ return -EIO;
+ }
+ /*FW upgrade*/
+ pbt_buf = CTPM_FW;
+ /*call the upgrade function*/
+ i_ret = fts_5x46_ctpm_fw_upgrade(client, pbt_buf, sizeof(CTPM_FW));
+ if (i_ret != 0)
+ {
+ dev_err(&client->dev, "[FTS] upgrade failed. err=%d.\n", i_ret);
+ }
+ else
+ {
+ #ifdef AUTO_CLB
+ fts_ctpm_auto_clb(client); /*start auto CLB*/
+ #endif
+ }
+ }
+ else if ((fts_updateinfo_curr.CHIP_ID==0x58))
+ {
+ if (fw_len < 8 || fw_len > 54*1024)
+ {
+ pr_err("FW length error\n");
+ return -EIO;
+ }
+
+ /*FW upgrade*/
+ pbt_buf = CTPM_FW;
+ /*call the upgrade function*/
+ i_ret = fts_5822_ctpm_fw_upgrade(client, pbt_buf, sizeof(CTPM_FW));
+ if (i_ret != 0)
+ {
+ dev_err(&client->dev, "[FTS] upgrade failed. err=%d.\n", i_ret);
+ }
+ else
+ {
+ #ifdef AUTO_CLB
+ fts_ctpm_auto_clb(client); /*start auto CLB*/
+ #endif
+ }
+ }
+ else if ((fts_updateinfo_curr.CHIP_ID==0x59))
+ {
+ if (fw_len < 8 || fw_len > 54*1024)
+ {
+ pr_err("FW length error\n");
+ return -EIO;
+ }
+
+ /*FW upgrade*/
+ pbt_buf = CTPM_FW;
+ /*call the upgrade function*/
+ i_ret = fts_5x26_ctpm_fw_upgrade(client, pbt_buf, sizeof(CTPM_FW));
+ if (i_ret != 0)
+ {
+ dev_err(&client->dev, "[FTS] upgrade failed. err=%d.\n", i_ret);
+ }
+ else
+ {
+ #ifdef AUTO_CLB
+ fts_ctpm_auto_clb(client); /*start auto CLB*/
+ #endif
+ }
+ }
+ else if ((fts_updateinfo_curr.CHIP_ID==0x0e))
+ {
+ if (fw_len < 8 || fw_len > 32 * 1024)
+ {
+ dev_err(&client->dev, "%s:FW length error\n", __func__);
+ return -EIO;
+ }
+ pbt_buf = CTPM_FW;
+ i_ret = fts_3x07_ctpm_fw_upgrade(client, pbt_buf, sizeof(CTPM_FW));
+ if (i_ret != 0)
+ dev_err(&client->dev, "%s:upgrade failed. err.\n",__func__);
+ }
+ else if ((fts_updateinfo_curr.CHIP_ID==0x86))
+ {
+ /*FW upgrade*/
+ pbt_buf = CTPM_FW;
+
+ dev_err(&client->dev, "%s:upgrade failed. err, chip is 3027\n",__func__);
+ return -EIO;
+ /*call the upgrade function*/
+ //i_ret = fts_8606_writepram(client, aucFW_PRAM_BOOT, sizeof(aucFW_PRAM_BOOT));
+
+ if (i_ret != 0)
+ {
+ dev_err(&client->dev, "%s:upgrade failed. err.\n",__func__);
+ return -EIO;
+ }
+
+ i_ret = fts_8606_ctpm_fw_upgrade(client, pbt_buf, sizeof(CTPM_FW));
+
+ if (i_ret != 0)
+ {
+ dev_err(&client->dev, "[FTS] upgrade failed. err=%d.\n", i_ret);
+ }
+ else
+ {
+ #ifdef AUTO_CLB
+ fts_ctpm_auto_clb(client); /*start auto CLB*/
+ #endif
+ }
+ }
+ return i_ret;
+}
+
+int fts_ctpm_fw_upgrade_with_i_file_for_cci_3207(struct i2c_client *client)
+{
+ int i_ret= -1;
+ int fw_len = fw_size;
+
+ /*judge the fw that will be upgraded
+ * if illegal, then stop upgrade and return.
+ */
+ if (fts_updateinfo_curr.CHIP_ID == 0x0e)
+ {
+ if (fw_len < 8 || fw_len > 32 * 1024)
+ {
+ dev_err(&client->dev, "%s:FW length error\n", __func__);
+ return -EIO;
+ }
+ i_ret = fts_3x07_ctpm_fw_upgrade(client, CTPM_FW, fw_size);
+ if (i_ret != 0)
+ dev_err(&client->dev, "%s:upgrade failed. err.\n",__func__);
+ } else {
+ dev_err(&client->dev, "%s:CHIP_ID is wrong. 0x%x.\n",__func__, fts_updateinfo_curr.CHIP_ID);
+ }
+
+ return i_ret;
+}
+/************************************************************************
+* Name: fts_ctpm_auto_upgrade
+* Brief: auto upgrade
+* Input: i2c info
+* Output: no
+* Return: 0
+***********************************************************************/
+int fts_ctpm_auto_upgrade(struct i2c_client *client)
+{
+ u8 uc_host_fm_ver = FTS_REG_FW_VER;
+ u8 uc_tp_fm_ver;
+ int i_ret;
+
+ fts_read_reg(client, FTS_REG_FW_VER, &uc_tp_fm_ver);
+ uc_host_fm_ver = fts_ctpm_get_i_file_ver();
+ FTS_DBG("[FTS] uc_tp_fm_ver = 0x%x, uc_host_fm_ver = 0x%x\n",uc_tp_fm_ver, uc_host_fm_ver);
+
+ if (uc_tp_fm_ver == FTS_REG_FW_VER || uc_tp_fm_ver < uc_host_fm_ver )
+ {
+ msleep(100);
+ i_ret = fts_ctpm_fw_upgrade_with_i_file(client);
+ if (i_ret == 0)
+ {
+ msleep(300);
+ uc_host_fm_ver = fts_ctpm_get_i_file_ver();
+ FTS_DBG("[FTS] upgrade to new version 0x%x\n",uc_host_fm_ver);
+ }
+ else
+ {
+ pr_err("[FTS] upgrade failed ret=%d.\n", i_ret);
+ return -EIO;
+ }
+ } else {
+ FTS_DBG("[FTS] version is newest, no need upgrade FW\n");
+ }
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_ctpm_auto_upgrade_for_cci
+* Brief: auto upgrade
+* Input: i2c info
+* Output: no
+* Return: 0
+***********************************************************************/
+int fts_ctpm_auto_upgrade_for_cci(struct i2c_client *client, const u8 tp_id, bool force_upgrade)
+{
+ u8 uc_host_fm_ver = FTS_REG_FW_VER;
+ u8 uc_tp_fm_ver;
+ int i_ret;
+
+ switch(tp_id){
+ case TP_ID_82:
+ CTPM_FW = CTPM_FW_TP_ID_82;
+ fw_size = sizeof(CTPM_FW_TP_ID_82);
+ break;
+ case TP_ID_83:
+ CTPM_FW = CTPM_FW_TP_ID_83;
+ fw_size = sizeof(CTPM_FW_TP_ID_83);
+ break;
+ case TP_ID_84:
+ CTPM_FW = CTPM_FW_TP_ID_84;
+ fw_size = sizeof(CTPM_FW_TP_ID_84);
+ break;
+ case TP_ID_85:
+ CTPM_FW = CTPM_FW_TP_ID_85;
+ fw_size = sizeof(CTPM_FW_TP_ID_85);
+ break;
+ case TP_ID_81:
+ CTPM_FW = CTPM_FW_TP_ID_81;
+ fw_size = sizeof(CTPM_FW_TP_ID_81);
+ break;
+ case TP_ID_86:
+ CTPM_FW = CTPM_FW_TP_ID_86;
+ fw_size = sizeof(CTPM_FW_TP_ID_86);
+ break;
+ case TP_ID_88:
+ CTPM_FW = CTPM_FW_TP_ID_88;
+ fw_size = sizeof(CTPM_FW_TP_ID_88);
+ break;
+ case TP_ID_89:
+ CTPM_FW = CTPM_FW_TP_ID_89;
+ fw_size = sizeof(CTPM_FW_TP_ID_89);
+ break;
+ case TP_ID_8A:
+ CTPM_FW = CTPM_FW_TP_ID_8A;
+ fw_size = sizeof(CTPM_FW_TP_ID_8A);
+ break;
+ case TP_ID_A0:
+ CTPM_FW = CTPM_FW_TP_ID_A0;
+ fw_size = sizeof(CTPM_FW_TP_ID_A0);
+ break;
+ case TP_ID_A1:
+ CTPM_FW = CTPM_FW_TP_ID_A1;
+ fw_size = sizeof(CTPM_FW_TP_ID_A1);
+ break;
+ case TP_ID_A2:
+ CTPM_FW = CTPM_FW_TP_ID_A2;
+ fw_size = sizeof(CTPM_FW_TP_ID_A2);
+ break;
+ case TP_ID_A3:
+ CTPM_FW = CTPM_FW_TP_ID_A3;
+ fw_size = sizeof(CTPM_FW_TP_ID_A3);
+ break;
+ default:
+ FTS_DBG("[FTS] TP ID 0x%x isn't correct\n",tp_id);
+ return 1;
+ break;
+ }
+
+ fts_read_reg(client, FTS_REG_FW_VER, &uc_tp_fm_ver);
+ uc_host_fm_ver = fts_ctpm_get_i_file_ver_for_cci();
+ FTS_DBG("[FTS] uc_tp_fm_ver = 0x%x, uc_host_fm_ver = 0x%x\n",uc_tp_fm_ver, uc_host_fm_ver);
+
+ if ( uc_tp_fm_ver != uc_host_fm_ver || force_upgrade)
+ {
+ msleep(100);
+ i_ret = fts_ctpm_fw_upgrade_with_i_file_for_cci_3207(client);
+ if (i_ret == 0)
+ {
+ msleep(300);
+ FTS_DBG("[FTS] upgrade to new version 0x%x\n",uc_host_fm_ver);
+ }
+ else
+ {
+ pr_err("[FTS] upgrade failed ret=%d.\n", i_ret);
+ return -EIO;
+ }
+ } else {
+ FTS_DBG("[FTS] version is newest, no need upgrade FW\n");
+ return 1;
+ }
+ return 0;
+}
diff --git a/drivers/input/touchscreen/focaltech_3207/focaltech_gesture.c b/drivers/input/touchscreen/focaltech_3207/focaltech_gesture.c
new file mode 100644
index 0000000..5fb67cb
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/focaltech_gesture.c
@@ -0,0 +1,314 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+/*******************************************************************************
+* 1.Included header files
+*******************************************************************************/
+#include "focaltech_core.h"
+
+/*******************************************************************************
+* Private constant and macro definitions using #define
+*******************************************************************************/
+#define KEY_GESTURE_U KEY_U
+#define KEY_GESTURE_UP KEY_UP
+#define KEY_GESTURE_DOWN KEY_DOWN
+#define KEY_GESTURE_LEFT KEY_LEFT
+#define KEY_GESTURE_RIGHT KEY_RIGHT
+#define KEY_GESTURE_O KEY_O
+#define KEY_GESTURE_E KEY_E
+#define KEY_GESTURE_M KEY_M
+#define KEY_GESTURE_L KEY_L
+#define KEY_GESTURE_W KEY_W
+#define KEY_GESTURE_S KEY_S
+#define KEY_GESTURE_V KEY_V
+#define KEY_GESTURE_Z KEY_Z
+
+#define GESTURE_LEFT 0x20
+#define GESTURE_RIGHT 0x21
+#define GESTURE_UP 0x22
+#define GESTURE_DOWN 0x23
+#define GESTURE_DOUBLECLICK 0x24
+#define GESTURE_O 0x30
+#define GESTURE_W 0x31
+#define GESTURE_M 0x32
+#define GESTURE_E 0x33
+#define GESTURE_L 0x44
+#define GESTURE_S 0x46
+#define GESTURE_V 0x54
+#define GESTURE_Z 0x41
+#define FTS_GESTRUE_POINTS 255
+#define FTS_GESTRUE_POINTS_ONETIME 62
+#define FTS_GESTRUE_POINTS_HEADER 8
+#define FTS_GESTURE_OUTPUT_ADRESS 0xD3
+#define FTS_GESTURE_OUTPUT_UNIT_LENGTH 4
+
+/*******************************************************************************
+* Private enumerations, structures and unions using typedef
+*******************************************************************************/
+
+
+/*******************************************************************************
+* Static variables
+*******************************************************************************/
+short pointnum = 0;
+unsigned short coordinate_x[150] = {0};
+unsigned short coordinate_y[150] = {0};
+
+/*******************************************************************************
+* Global variable or extern global variabls/functions
+*******************************************************************************/
+
+/*******************************************************************************
+* Static function prototypes
+*******************************************************************************/
+
+
+/*******************************************************************************
+* Name: fts_Gesture_init
+* Brief:
+* Input:
+* Output: None
+* Return: None
+*******************************************************************************/
+int fts_Gesture_init(struct input_dev *input_dev)
+{
+ input_set_capability(input_dev, EV_KEY, KEY_POWER);
+ input_set_capability(input_dev, EV_KEY, KEY_GESTURE_U);
+ input_set_capability(input_dev, EV_KEY, KEY_GESTURE_UP);
+ input_set_capability(input_dev, EV_KEY, KEY_GESTURE_DOWN);
+ input_set_capability(input_dev, EV_KEY, KEY_GESTURE_LEFT);
+ input_set_capability(input_dev, EV_KEY, KEY_GESTURE_RIGHT);
+ input_set_capability(input_dev, EV_KEY, KEY_GESTURE_O);
+ input_set_capability(input_dev, EV_KEY, KEY_GESTURE_E);
+ input_set_capability(input_dev, EV_KEY, KEY_GESTURE_M);
+ input_set_capability(input_dev, EV_KEY, KEY_GESTURE_L);
+ input_set_capability(input_dev, EV_KEY, KEY_GESTURE_W);
+ input_set_capability(input_dev, EV_KEY, KEY_GESTURE_S);
+ input_set_capability(input_dev, EV_KEY, KEY_GESTURE_V);
+ input_set_capability(input_dev, EV_KEY, KEY_GESTURE_Z);
+
+ __set_bit(KEY_GESTURE_RIGHT, input_dev->keybit);
+ __set_bit(KEY_GESTURE_LEFT, input_dev->keybit);
+ __set_bit(KEY_GESTURE_UP, input_dev->keybit);
+ __set_bit(KEY_GESTURE_DOWN, input_dev->keybit);
+ __set_bit(KEY_GESTURE_U, input_dev->keybit);
+ __set_bit(KEY_GESTURE_O, input_dev->keybit);
+ __set_bit(KEY_GESTURE_E, input_dev->keybit);
+ __set_bit(KEY_GESTURE_M, input_dev->keybit);
+ __set_bit(KEY_GESTURE_W, input_dev->keybit);
+ __set_bit(KEY_GESTURE_L, input_dev->keybit);
+ __set_bit(KEY_GESTURE_S, input_dev->keybit);
+ __set_bit(KEY_GESTURE_V, input_dev->keybit);
+ __set_bit(KEY_GESTURE_Z, input_dev->keybit);
+
+ return 0;
+}
+
+/*******************************************************************************
+* Name: fts_check_gesture
+* Brief:
+* Input:
+* Output: None
+* Return: None
+*******************************************************************************/
+static void fts_check_gesture(struct input_dev *input_dev,int gesture_id)
+{
+ switch(gesture_id)
+ {
+ case GESTURE_LEFT:
+ input_report_key(input_dev, KEY_GESTURE_LEFT, 1);
+ input_sync(input_dev);
+ input_report_key(input_dev, KEY_GESTURE_LEFT, 0);
+ input_sync(input_dev);
+ break;
+ case GESTURE_RIGHT:
+ input_report_key(input_dev, KEY_GESTURE_RIGHT, 1);
+ input_sync(input_dev);
+ input_report_key(input_dev, KEY_GESTURE_RIGHT, 0);
+ input_sync(input_dev);
+ break;
+ case GESTURE_UP:
+ input_report_key(input_dev, KEY_GESTURE_UP, 1);
+ input_sync(input_dev);
+ input_report_key(input_dev, KEY_GESTURE_UP, 0);
+ input_sync(input_dev);
+ break;
+ case GESTURE_DOWN:
+ input_report_key(input_dev, KEY_GESTURE_DOWN, 1);
+ input_sync(input_dev);
+ input_report_key(input_dev, KEY_GESTURE_DOWN, 0);
+ input_sync(input_dev);
+ break;
+ case GESTURE_DOUBLECLICK:
+ input_report_key(input_dev, KEY_GESTURE_U, 1);
+ input_sync(input_dev);
+ input_report_key(input_dev, KEY_GESTURE_U, 0);
+ input_sync(input_dev);
+ break;
+ case GESTURE_O:
+ input_report_key(input_dev, KEY_GESTURE_O, 1);
+ input_sync(input_dev);
+ input_report_key(input_dev, KEY_GESTURE_O, 0);
+ input_sync(input_dev);
+ break;
+ case GESTURE_W:
+ input_report_key(input_dev, KEY_GESTURE_W, 1);
+ input_sync(input_dev);
+ input_report_key(input_dev, KEY_GESTURE_W, 0);
+ input_sync(input_dev);
+ break;
+ case GESTURE_M:
+ input_report_key(input_dev, KEY_GESTURE_M, 1);
+ input_sync(input_dev);
+ input_report_key(input_dev, KEY_GESTURE_M, 0);
+ input_sync(input_dev);
+ break;
+ case GESTURE_E:
+ input_report_key(input_dev, KEY_GESTURE_E, 1);
+ input_sync(input_dev);
+ input_report_key(input_dev, KEY_GESTURE_E, 0);
+ input_sync(input_dev);
+ break;
+ case GESTURE_L:
+ input_report_key(input_dev, KEY_GESTURE_L, 1);
+ input_sync(input_dev);
+ input_report_key(input_dev, KEY_GESTURE_L, 0);
+ input_sync(input_dev);
+ break;
+ case GESTURE_S:
+ input_report_key(input_dev, KEY_GESTURE_S, 1);
+ input_sync(input_dev);
+ input_report_key(input_dev, KEY_GESTURE_S, 0);
+ input_sync(input_dev);
+ break;
+ case GESTURE_V:
+ input_report_key(input_dev, KEY_GESTURE_V, 1);
+ input_sync(input_dev);
+ input_report_key(input_dev, KEY_GESTURE_V, 0);
+ input_sync(input_dev);
+ break;
+ case GESTURE_Z:
+ input_report_key(input_dev, KEY_GESTURE_Z, 1);
+ input_sync(input_dev);
+ input_report_key(input_dev, KEY_GESTURE_Z, 0);
+ input_sync(input_dev);
+ break;
+ default:
+ break;
+ }
+
+}
+
+ /************************************************************************
+* Name: fts_read_Gestruedata
+* Brief: read data from TP register
+* Input: no
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_read_Gestruedata(void)
+{
+ unsigned char buf[FTS_GESTRUE_POINTS * 3] = { 0 };
+ int ret = -1;
+ int i = 0;
+ int gestrue_id = 0;
+
+ buf[0] = 0xd3;
+ pointnum = 0;
+
+ ret = fts_i2c_read(fts_i2c_client, buf, 1, buf, FTS_GESTRUE_POINTS_HEADER);
+
+ if (ret < 0)
+ {
+ printk( "%s read touchdata failed.\n", __func__);
+ return ret;
+ }
+
+ if (fts_updateinfo_curr.CHIP_ID==0x54 || fts_updateinfo_curr.CHIP_ID==0x58 || fts_updateinfo_curr.CHIP_ID==0x86)
+ {
+ gestrue_id = buf[0];
+ pointnum = (short)(buf[1]) & 0xff;
+ buf[0] = 0xd3;
+
+ if((pointnum * 4 + 2)<255)
+ {
+ ret = fts_i2c_read(fts_i2c_client, buf, 1, buf, (pointnum * 4 + 2));
+ }
+ else
+ {
+ ret = fts_i2c_read(fts_i2c_client, buf, 1, buf, 255);
+ ret = fts_i2c_read(fts_i2c_client, buf, 0, buf+255, (pointnum * 4 + 2) -255);
+ }
+ if (ret < 0)
+ {
+ printk( "%s read touchdata failed.\n", __func__);
+ return ret;
+ }
+
+ fts_check_gesture(fts_input_dev,gestrue_id);
+ for(i = 0;i < pointnum;i++)
+ {
+ coordinate_x[i] = (((s16) buf[2 + (4 * i)]) & 0x0F) <<
+ 8 | (((s16) buf[3 + (4 * i)])& 0xFF);
+ coordinate_y[i] = (((s16) buf[4 + (4 * i)]) & 0x0F) <<
+ 8 | (((s16) buf[5 + (4 * i)]) & 0xFF);
+ }
+ return -1;
+ }
+ return -1;
+ /*
+ else
+ {
+ if (0x24 == buf[0])
+ {
+ gestrue_id = 0x24;
+ fts_check_gesture(fts_input_dev,gestrue_id);
+ printk( "%d check_gesture gestrue_id.\n", gestrue_id);
+ return -1;
+ }
+
+ pointnum = (short)(buf[1]) & 0xff;
+ buf[0] = 0xd3;
+ if((pointnum * 4 + 8)<255)
+ {
+ ret = fts_i2c_read(fts_i2c_client, buf, 1, buf, (pointnum * 4 + 8));
+ }
+ else
+ {
+ ret = fts_i2c_read(fts_i2c_client, buf, 1, buf, 255);
+ ret = fts_i2c_read(fts_i2c_client, buf, 0, buf+255, (pointnum * 4 + 8) -255);
+ }
+ if (ret < 0)
+ {
+ printk( "%s read touchdata failed.\n", __func__);
+ return ret;
+ }
+
+ gestrue_id = fetch_object_sample(buf, pointnum);
+ fts_check_gesture(fts_input_dev,gestrue_id);
+ printk( "%d read gestrue_id.\n", gestrue_id);
+
+ for(i = 0;i < pointnum;i++)
+ {
+ coordinate_x[i] = (((s16) buf[0 + (4 * i)]) & 0x0F) <<
+ 8 | (((s16) buf[1 + (4 * i)])& 0xFF);
+ coordinate_y[i] = (((s16) buf[2 + (4 * i)]) & 0x0F) <<
+ 8 | (((s16) buf[3 + (4 * i)]) & 0xFF);
+ }
+ return -1;
+ }
+ */
+}
diff --git a/drivers/input/touchscreen/focaltech_3207/ft_gesture_lib.h b/drivers/input/touchscreen/focaltech_3207/ft_gesture_lib.h
new file mode 100644
index 0000000..d5666f3
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/ft_gesture_lib.h
@@ -0,0 +1,8 @@
+#ifndef __LINUX_FT_GESTURE_LIB_H__
+#define __LINUX_FT_GESTURE_LIB_H__
+
+int fetch_object_sample(unsigned char *buf,short pointnum);
+
+void init_para(int x_pixel,int y_pixel,int time_slot,int cut_x_pixel,int cut_y_pixel);
+
+#endif
diff --git a/drivers/input/touchscreen/focaltech_3207/ini.c b/drivers/input/touchscreen/focaltech_3207/ini.c
new file mode 100644
index 0000000..eddb1cc
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/ini.c
@@ -0,0 +1,591 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+#include <linux/string.h>
+#include <linux/kernel.h>
+#include <asm/unistd.h>
+
+#include "ini.h"
+//#include "scap_test_lib.h"
+
+char CFG_SSL = '[';
+char CFG_SSR = ']';
+char CFG_NIS = ':';
+char CFG_NTS = '#';
+char CFG_EQS = '=';
+
+ST_INI_FILE_DATA g_st_ini_file_data[MAX_KEY_NUM];
+int g_used_key_num = 0;
+
+char * ini_str_trim_r(char * buf);
+char * ini_str_trim_l(char * buf);
+static int ini_file_get_line(char *filedata, char *buffer, int maxlen);
+//static int ini_split_key_value(char *buf, char **key, char **val);
+static long atol(char *nptr);
+
+
+/*************************************************************
+Function: Àò±okeyªºÈ
+Input: char * filedata¡@¤å¥ó¡Fchar * section¡@¶µÈ¡Fchar * key¡@ÁäÈ
+Output: char * value¡@keyªºÈ
+Return: 0 SUCCESS
+ -1
+ -2
+ -10
+ -12
+ -14
+ -22
+Note:
+*************************************************************/
+int ini_get_key(char *filedata, char * section, char * key, char * value)
+{
+ int i = 0;
+ int ret = -2;
+ for(i = 0; i < g_used_key_num; i++)
+ {
+ if(strncmp(section, g_st_ini_file_data[i].pSectionName,
+ g_st_ini_file_data[i].iSectionNameLen) != 0)
+ continue;
+ //printk("Section Name:%s, Len:%d\n\n", g_st_ini_file_data[i].pSectionName, g_st_ini_file_data[i].iSectionNameLen);
+ if(strncmp(key, g_st_ini_file_data[i].pKeyName,
+ g_st_ini_file_data[i].iKeyNameLen) == 0)
+ {
+ memcpy(value, g_st_ini_file_data[i].pKeyValue, g_st_ini_file_data[i].iKeyValueLen);
+ ret = 0;
+ break;
+ }
+ }
+ return ret;
+
+#if 0
+ char buf1[MAX_CFG_BUF + 1], buf2[MAX_CFG_BUF + 1];
+ char *key_ptr, *val_ptr;
+ int n, ret;
+ int dataoff = 0;
+
+ *value='\0';
+
+ //FTS_DBG("Enter ini_get_key() \n");
+
+ //bGetParamString
+ //FTS_DBG("g_testparam.CheckIncludeKeyTest = %d \n", g_testparam.CheckIncludeKeyTest);
+ while(1) { /* ·j§ä¶µsection */
+ ret = CFG_ERR_READ_FILE;
+ n = ini_file_get_line(filedata+dataoff, buf1, MAX_CFG_BUF);
+ dataoff += n;
+ if(n < -1)
+ goto r_cfg_end;
+ ret = CFG_SECTION_NOT_FOUND;
+ if(n < 0)
+ goto r_cfg_end; /* ¤å¥ó§À¡A¥¼µo²{ */
+
+ if(n > MAX_CFG_BUF)
+ goto r_cfg_end;
+
+ n = strlen(ini_str_trim_l(ini_str_trim_r(buf1)));
+ if(n == 0 || buf1[0] == CFG_NTS)
+ continue; /* ªÅ¦æ ©Î µùÄÀ¦æ */
+
+ ret = CFG_ERR_FILE_FORMAT;
+ if(n > 2 && ((buf1[0] == CFG_SSL && buf1[n-1] != CFG_SSR)))
+ goto r_cfg_end;
+ if(buf1[0] == CFG_SSL) {
+ buf1[n-1] = 0x00;
+ if(strcmp(buf1+1, section) == 0)
+ {
+ break; /* §ä¨ì¶µsection */
+ }
+ }
+ }
+ //FTS_DBG("section = %s \n",section);
+
+ while(1){ /* ·j§äkey */
+ ret = CFG_ERR_READ_FILE;
+ n = ini_file_get_line(filedata+dataoff, buf1, MAX_CFG_BUF);
+ dataoff += n;
+ if(n < -1)
+ goto r_cfg_end;
+ ret = CFG_KEY_NOT_FOUND;
+ if(n < 0)
+ goto r_cfg_end;/* ¤å¥ó§À¡A¥¼µo²{key */
+ n = strlen(ini_str_trim_l(ini_str_trim_r(buf1)));
+ if(n == 0 || buf1[0] == CFG_NTS)
+ continue; /* ªÅ¦æ ©Î µùÄÀ¦æ */
+ ret = CFG_KEY_NOT_FOUND;
+ if(buf1[0] == CFG_SSL)
+ {
+ goto r_cfg_end;
+ }
+ if(buf1[n-1] == '+') {
+ buf1[n-1] = 0x00;
+ while(1) {
+ ret = CFG_ERR_READ_FILE;
+ n = ini_file_get_line(filedata+dataoff, buf2, MAX_CFG_BUF);
+ dataoff += n;
+ if(n < -1)
+ goto r_cfg_end;
+ if(n < 0)
+ break;
+
+ n = strlen(ini_str_trim_r(buf2));
+ ret = CFG_ERR_EXCEED_BUF_SIZE;
+ if(n > 0 && buf2[n-1] == '+'){
+ buf2[n-1] = 0x00;
+ if( (strlen(buf1) + strlen(buf2)) > MAX_CFG_BUF)
+ goto r_cfg_end;
+ strcat(buf1, buf2);
+ continue;
+ }
+ if(strlen(buf1) + strlen(buf2) > MAX_CFG_BUF)
+ goto r_cfg_end;
+ strcat(buf1, buf2);
+ //printk("value = %s\n", buf1);
+ break;
+ }
+ }
+ ret = CFG_ERR_FILE_FORMAT;
+ if(ini_split_key_value(buf1, &key_ptr, &val_ptr) != 1)
+ goto r_cfg_end;
+
+ ini_str_trim_l(ini_str_trim_r(key_ptr));
+ if(strcmp(key_ptr, key) != 0)
+ continue; /* ©MkeyȤ£¤Ç°t */
+ strcpy(value, val_ptr);
+ break;
+ }
+ ret = CFG_OK;
+r_cfg_end:
+
+ return ret;
+#endif
+
+}
+/*************************************************************
+Function: Àò±o©Ò¦³section
+Input: char *filename¡@¤å¥ó,int max ³Ì¤j¥iªð¦^ªºsectionªºÓ¼Æ
+Output: char *sections[]¡@¦s©ñsection¦W¦r
+Return: ªð¦^sectionӼơCY¥X¿ù¡Aªð¦^t¼Æ¡C
+ -10 ¤å¥ó¥´¶}¥X¿ù
+ -12 ¤å¥óŪ¨ú¿ù»~
+ -14 ¤å¥ó®æ¦¡¿ù»~
+Note:
+*************************************************************/
+int ini_get_sections(char *filedata, unsigned char * sections[], int max)
+{
+ //FILE *fp;
+ char buf1[MAX_CFG_BUF + 1];
+ int n, n_sections = 0, ret;
+ int dataoff = 0;
+
+// if((fp = fopen(filename, "rb")) == NULL)
+// return CFG_ERR_OPEN_FILE;
+
+ while(1) {
+ ret = CFG_ERR_READ_FILE;
+ n = ini_file_get_line(filedata+dataoff, buf1, MAX_CFG_BUF);
+ dataoff += n;
+ if(n < -1)
+ goto cfg_scts_end;
+ if(n < 0)
+ break;
+ n = strlen(ini_str_trim_l(ini_str_trim_r(buf1)));
+ if(n == 0 || buf1[0] == CFG_NTS)
+ continue;
+ ret = CFG_ERR_FILE_FORMAT;
+ if(n > 2 && ((buf1[0] == CFG_SSL && buf1[n-1] != CFG_SSR)))
+ goto cfg_scts_end;
+ if(buf1[0] == CFG_SSL) {
+ if (max!=0){
+ buf1[n-1] = 0x00;
+ strcpy((char *)sections[n_sections], buf1+1);
+ if (n_sections>=max)
+ break;
+ }
+ n_sections++;
+ }
+
+ }
+ ret = n_sections;
+cfg_scts_end:
+ return ret;
+}
+
+
+/*************************************************************
+Function: ¥h°£¦r²Å¦ê¥kÃ䪺ªÅ¦r²Å
+Input: char * buf ¦r²Å¦ê«ü°w
+Output:
+Return: ¦r²Å¦ê«ü°w
+Note:
+*************************************************************/
+char * ini_str_trim_r(char * buf)
+{
+ int len,i;
+ char tmp[512];
+
+ memset(tmp, 0, sizeof(tmp));
+ len = strlen(buf);
+// tmp = (char *)malloc(len);
+
+ memset(tmp,0x00,len);
+ for(i = 0;i < len;i++) {
+ if (buf[i] !=' ')
+ break;
+ }
+ if (i < len) {
+ strncpy(tmp,(buf+i),(len-i));
+ }
+ strncpy(buf,tmp,len);
+// free(tmp);
+ return buf;
+}
+
+/*************************************************************
+Function: ¥h°£¦r²Å¦ê¥ªÃ䪺ªÅ¦r²Å
+Input: char * buf ¦r²Å¦ê«ü°w
+Output:
+Return: ¦r²Å¦ê«ü°w
+Note:
+*************************************************************/
+char * ini_str_trim_l(char * buf)
+{
+ int len,i;
+ char tmp[512];
+
+ memset(tmp, 0, sizeof(tmp));
+ len = strlen(buf);
+ memset(tmp,0x00,len);
+
+ for(i = 0;i < len;i++) {
+ if (buf[len-i-1] !=' ')
+ break;
+ }
+ if (i < len) {
+ strncpy(tmp,buf,len-i);
+ }
+ strncpy(buf,tmp,len);
+ //free(tmp);
+ return buf;
+}
+/*************************************************************
+Function: ±q¤å¥ó¤¤Åª¨ú¤@¦æ
+Input: FILE *fp ¤å¥ó¥y¬`¡Fint maxlen ½w½Ä°Ï³Ì¤jªø«×
+Output: char *buffer ¤@¦æ¦r²Å¦ê
+Return: >0 ¹ê»ÚŪªºªø«×
+ -1 ¤å¥óµ²§ô
+ -2 Ū¤å¥ó¥X¿ù
+Note:
+*************************************************************/
+static int ini_file_get_line(char *filedata, char *buffer, int maxlen)
+{
+ int i=0;
+ int j=0;
+ int iRetNum=-1;
+ char ch1='\0';
+
+ for(i=0, j=0; i<maxlen; j++) {
+ ch1 = filedata[j];
+ iRetNum = j+1;
+ if(ch1 == '\n' || ch1 == '\r') //line end
+ {
+ ch1 = filedata[j+1];
+ if(ch1 == '\n' || ch1 == '\r')
+ {
+ iRetNum++;
+ }
+
+ break; // ´«¦æ
+ }else if(ch1 == 0x00)
+ {
+ iRetNum = -1;
+ break; //file end
+ }
+ else
+ {
+ buffer[i++] = ch1;
+ }
+ }
+ buffer[i] = '\0';
+
+ return iRetNum;
+}
+/*************************************************************
+Function: ¤ÀÂ÷key©Mvalue
+ key=val
+ jack = liaoyuewang
+ | | |
+ k1 k2 i
+Input: char *buf
+Output: char **key, char **val
+Return: 1 --- ok
+ 0 --- blank line
+ -1 --- no key, "= val"
+ -2 --- only key, no '='
+Note:
+*************************************************************/
+/*static int ini_split_key_value(char *buf, char **key, char **val)
+{
+ int i, k1, k2, n;
+
+ //FTS_DBG("section = %s \n",section);
+ //FTS_DBG("Enter ini_split_key_value() \n");
+
+ if((n = strlen((char *)buf)) < 1)
+ return 0;
+ for(i = 0; i < n; i++)
+ if(buf[i] != ' ' && buf[i] != '\t')
+ break;
+
+ if(i >= n)
+ return 0;
+
+ if(buf[i] == '=')
+ return -1;
+
+ k1 = i;
+ for(i++; i < n; i++)
+ if(buf[i] == '=')
+ break;
+
+ if(i >= n)
+ return -2;
+ k2 = i;
+
+ for(i++; i < n; i++)
+ if(buf[i] != ' ' && buf[i] != '\t')
+ break;
+
+ buf[k2] = '\0';
+
+ *key = buf + k1;
+ *val = buf + i;
+ return 1;
+}*/
+
+int my_atoi(const char *str)
+{
+ int result = 0;
+ int signal = 1;
+ if((*str>='0'&&*str<='9')||*str=='-'||*str=='+') {
+ if(*str=='-'||*str=='+') {
+ if(*str=='-')
+ signal = -1; /*¿é¤Jt¼Æ*/
+ str++;
+ }
+ }
+ else
+ return 0;
+
+ while(*str>='0' && *str<='9')
+ result = result*10 + (*str++ - '0' );
+
+ return signal*result;
+}
+
+int isspace(int x)
+{
+ if(x==' '||x=='\t'||x=='\n'||x=='\f'||x=='\b'||x=='\r')
+ return 1;
+ else
+ return 0;
+}
+
+int isdigit(int x)
+{
+ if(x<='9' && x>='0')
+ return 1;
+ else
+ return 0;
+
+}
+
+static long atol(char *nptr)
+{
+ int c; /* current char */
+ long total; /* current total */
+ int sign; /* if ''-'', then negative, otherwise positive */
+ /* skip whitespace */
+ while ( isspace((int)(unsigned char)*nptr) )
+ ++nptr;
+ c = (int)(unsigned char)*nptr++;
+ sign = c; /* save sign indication */
+ if (c == '-' || c == '+')
+ c = (int)(unsigned char)*nptr++; /* skip sign */
+ total = 0;
+ while (isdigit(c)) {
+ total = 10 * total + (c - '0'); /* accumulate digit */
+ c = (int)(unsigned char)*nptr++; /* get next char */
+ }
+ if (sign == '-')
+ return -total;
+ else
+ return total; /* return result, negated if necessary */
+}
+/***
+*int atoi(char *nptr) - Convert string to long
+*
+*Purpose:
+* Converts ASCII string pointed to by nptr to binary.
+* Overflow is not detected. Because of this, we can just use
+* atol().
+*
+*Entry:
+* nptr = ptr to string to convert
+*
+*Exit:
+* return int value of the string
+*
+*Exceptions:
+* None - overflow is not detected.
+*
+*******************************************************************************/
+int atoi(char *nptr)
+{
+ return (int)atol(nptr);
+}
+
+int init_key_data(void)
+{
+ int i = 0;
+
+ g_used_key_num = 0;
+
+ for(i = 0; i < MAX_KEY_NUM; i++)
+ {
+ memset(g_st_ini_file_data[i].pSectionName, 0, MAX_KEY_NAME_LEN);
+ memset(g_st_ini_file_data[i].pKeyName, 0, MAX_KEY_NAME_LEN);
+ memset(g_st_ini_file_data[i].pKeyValue, 0, MAX_KEY_VALUE_LEN);
+ g_st_ini_file_data[i].iSectionNameLen = 0;
+ g_st_ini_file_data[i].iKeyNameLen = 0;
+ g_st_ini_file_data[i].iKeyValueLen = 0;
+ }
+ return 1;
+}
+
+/*************************************************************
+Function:Ū¨ú©Ò¦³ªº°Ñ¼Æ¤Î¨äȨ쵲ºcÅé¸Ì
+Return: ªð¦^keyӼơCY¥X¿ù¡Aªð¦^t¼Æ¡C
+ -10 ¤å¥ó¥´¶}¥X¿ù
+ -12 ¤å¥óŪ¨ú¿ù»~
+ -14 ¤å¥ó®æ¦¡¿ù»~
+Note:
+*************************************************************/
+int ini_get_key_data(char *filedata)
+{
+ //FILE *fp;
+ char buf1[MAX_CFG_BUF + 1]={0};
+ int n=0;
+ int ret=0; //n_sections = 0,
+ int dataoff = 0;
+ int iEqualSign = 0;
+ int i = 0;
+ char tmpSectionName[MAX_CFG_BUF + 1]={0};
+
+// if((fp = fopen(filename, "rb")) == NULL)
+// return CFG_ERR_OPEN_FILE;
+
+ init_key_data();/*init*/
+
+ g_used_key_num = 0;
+ while(1) {/*·j§ä¶µsection */
+ ret = CFG_ERR_READ_FILE;
+ n = ini_file_get_line(filedata+dataoff, buf1, MAX_CFG_BUF);
+
+ if(n < -1)
+ goto cfg_scts_end;
+ if(n < 0)
+ break;/* ¤å¥ó§À */
+
+ dataoff += n;
+
+ n = strlen(ini_str_trim_l(ini_str_trim_r(buf1)));
+ if(n == 0 || buf1[0] == CFG_NTS)
+ continue; /* ªÅ¦æ ©Î µùÄÀ¦æ */
+ ret = CFG_ERR_FILE_FORMAT;
+ //get section name
+ if(n > 2 && ((buf1[0] == CFG_SSL && buf1[n-1] != CFG_SSR)))
+ {
+ printk("Bad Section:%s\n\n", buf1);
+ goto cfg_scts_end;//bad section
+ }
+
+
+ if(buf1[0] == CFG_SSL) {
+ g_st_ini_file_data[g_used_key_num].iSectionNameLen = n-2;
+ if(MAX_KEY_NAME_LEN < g_st_ini_file_data[g_used_key_num].iSectionNameLen)
+ {
+ ret = CFG_ERR_OUT_OF_LEN;
+ printk("MAX_KEY_NAME_LEN: CFG_ERR_OUT_OF_LEN\n\n");
+ goto cfg_scts_end;
+ }
+
+ buf1[n-1] = 0x00;
+ strcpy((char *)tmpSectionName, buf1+1);
+ //printk("Section Name:%s, Len:%d\n\n", tmpSectionName, n-2);
+
+ continue;
+ }
+ //get section name end
+
+ strcpy( g_st_ini_file_data[g_used_key_num].pSectionName, tmpSectionName);
+ g_st_ini_file_data[g_used_key_num].iSectionNameLen = strlen(tmpSectionName);
+
+ iEqualSign = 0;
+ for(i=0; i < n; i++)
+ {
+ if(buf1[i] == CFG_EQS )
+ {
+ iEqualSign = i;
+ break;
+ }
+ }
+ if(0 == iEqualSign)
+ continue;
+ g_st_ini_file_data[g_used_key_num].iKeyNameLen = iEqualSign;
+ if(MAX_KEY_NAME_LEN < g_st_ini_file_data[g_used_key_num].iKeyNameLen)
+ {
+ ret = CFG_ERR_OUT_OF_LEN;
+ printk("MAX_KEY_NAME_LEN: CFG_ERR_OUT_OF_LEN\n\n");
+ goto cfg_scts_end;
+ }
+ memcpy(g_st_ini_file_data[g_used_key_num].pKeyName,
+ buf1, g_st_ini_file_data[g_used_key_num].iKeyNameLen);
+
+ /*µ¥¸¹«á¤@¬q½áµ¹ÁäÈ*/
+ g_st_ini_file_data[g_used_key_num].iKeyValueLen = n-iEqualSign-1;
+ if(MAX_KEY_VALUE_LEN < g_st_ini_file_data[g_used_key_num].iKeyValueLen)
+ {
+ ret = CFG_ERR_OUT_OF_LEN;
+ printk("MAX_KEY_VALUE_LEN: CFG_ERR_OUT_OF_LEN\n\n");
+ goto cfg_scts_end;
+ }
+ memcpy(g_st_ini_file_data[g_used_key_num].pKeyValue,
+ buf1+ iEqualSign+1, g_st_ini_file_data[g_used_key_num].iKeyValueLen);
+
+ ret = g_used_key_num;
+
+ g_used_key_num++;
+ if(MAX_KEY_NUM < g_used_key_num)
+ {
+ ret = CFG_ERR_TOO_MANY_KEY_NUM;
+ printk("MAX_KEY_NUM: CFG_ERR_TOO_MANY_KEY_NUM\n\n");
+ goto cfg_scts_end;
+ }
+ }
+cfg_scts_end:
+ return ret;
+}
+
diff --git a/drivers/input/touchscreen/focaltech_3207/ini.h b/drivers/input/touchscreen/focaltech_3207/ini.h
new file mode 100644
index 0000000..ae8d3ad
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/ini.h
@@ -0,0 +1,86 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+#ifndef INI_H
+#define INI_H
+
+#define MAX_KEY_NUM 300
+#define MAX_KEY_NAME_LEN 50
+#define MAX_KEY_VALUE_LEN 360
+
+#define MAX_CFG_BUF 480
+#define SUCCESS 0
+/* return value */
+#define CFG_OK SUCCESS
+#define CFG_SECTION_NOT_FOUND -1
+#define CFG_KEY_NOT_FOUND -2
+#define CFG_ERR -10
+
+#define CFG_ERR_OPEN_FILE -10
+#define CFG_ERR_CREATE_FILE -11
+#define CFG_ERR_READ_FILE -12
+#define CFG_ERR_WRITE_FILE -13
+#define CFG_ERR_FILE_FORMAT -14
+#define CFG_ERR_TOO_MANY_KEY_NUM -15
+#define CFG_ERR_OUT_OF_LEN -16
+
+#define CFG_ERR_EXCEED_BUF_SIZE -22
+
+#define COPYF_OK SUCCESS
+#define COPYF_ERR_OPEN_FILE -10
+#define COPYF_ERR_CREATE_FILE -11
+#define COPYF_ERR_READ_FILE -12
+#define COPYF_ERR_WRITE_FILE -13
+
+#define FOCAL_DBG
+#ifdef FOCAL_DBG
+#define FTS_DBG(fmt, args...) printk("[FTS]" fmt, ## args)
+#else
+#define FTS_DBG(fmt, args...) do{}while(0)
+#endif
+
+
+struct ini_key_location {
+ int ini_section_line_no;
+ int ini_key_line_no;
+ int ini_key_lines;
+};
+
+typedef struct _ST_INI_FILE_DATA
+{
+ char pSectionName[MAX_KEY_NAME_LEN];
+ char pKeyName[MAX_KEY_NAME_LEN];
+ char pKeyValue[MAX_KEY_VALUE_LEN];
+ int iSectionNameLen;
+ int iKeyNameLen;
+ int iKeyValueLen;
+}ST_INI_FILE_DATA;
+//extern ST_INI_FILE_DATA g_st_ini_file_data[MAX_KEY_NUM];
+//extern int g_used_key_num;
+
+int ini_get_key(char *filedata, char * section, char * key, char * value);
+int ini_get_sections(char *filedata, unsigned char * sections[], int max);
+
+int ini_split_section(char *section, char **name, char **index);
+//int ini_join_section(char **section, char *name, char *index);
+
+int atoi(char *nptr);
+char * ini_str_trim_r(char * buf);
+char * ini_str_trim_l(char * buf);
+
+int init_key_data(void);
+int ini_get_key_data(char *filedata);
+#endif
diff --git a/drivers/input/touchscreen/focaltech_3207/test_lib.c b/drivers/input/touchscreen/focaltech_3207/test_lib.c
new file mode 100644
index 0000000..c07ada8
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/test_lib.c
@@ -0,0 +1,206 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+#include <linux/kernel.h>
+#include <linux/string.h>
+#include <linux/time.h>
+#include <linux/slab.h>
+
+#include "test_lib.h"
+#include "Global.h"
+
+#include "Config_FT6X36.h"
+#include "Test_FT6X36.h"
+
+#include "ini.h"
+
+#define FTS_DRIVER_LIB_INFO "Test_Lib_Version V1.3.0 2015-10-10"
+
+FTS_I2C_READ_FUNCTION fts_i2c_read_test;
+FTS_I2C_WRITE_FUNCTION fts_i2c_write_test;
+
+char *g_testparamstring = NULL;
+
+/////////////////////IIC communication
+int init_i2c_read_func(FTS_I2C_READ_FUNCTION fpI2C_Read)
+{
+ fts_i2c_read_test = fpI2C_Read;
+ return 0;
+}
+
+int init_i2c_write_func(FTS_I2C_WRITE_FUNCTION fpI2C_Write)
+{
+ fts_i2c_write_test = fpI2C_Write;
+ return 0;
+}
+
+/************************************************************************
+* Name: set_param_data
+* Brief: load Config. Set IC series, init test items, init basic threshold, int detailThreshold, and set order of test items
+* Input: TestParamData, from ini file.
+* Output: none
+* Return: 0. No sense, just according to the old format.
+***********************************************************************/
+int set_param_data(char * TestParamData)
+{
+ //int time_use = 0;//ms
+ //struct timeval time_start;
+ //struct timeval time_end;
+
+ //gettimeofday(&time_start, NULL);//Start time
+
+ printk("[fts]Enter set_param_data \n");
+ g_testparamstring = TestParamData;//get param of ini file
+ ini_get_key_data(g_testparamstring);//get param to struct
+
+ //Set g_ScreenSetParam.iSelectedIC
+ OnInit_InterfaceCfg(g_testparamstring);
+
+ /*Get IC Name*/
+ get_ic_name(g_ScreenSetParam.iSelectedIC, g_strIcName);
+
+#if 1 //TODO checking: GC change here code.
+ //TODO: checking FT6X36 testing function is same with FT3x27
+ if(IC_FT6X36>>4 == g_ScreenSetParam.iSelectedIC>>4)
+ {
+ OnInit_FT6X36_TestItem(g_testparamstring);
+ OnInit_FT6X36_BasicThreshold(g_testparamstring);
+ OnInit_SCap_DetailThreshold(g_testparamstring);
+ SetTestItem_FT6X36();
+ }
+ else
+ {
+ printk("[fts]%s The IC type error in this testing\n", __func__);
+ return -1;
+ }
+
+#else
+ if(IC_FT5X46>>4 == g_ScreenSetParam.iSelectedIC>>4)
+ {
+ OnInit_FT5X22_TestItem(g_testparamstring);
+ OnInit_FT5X22_BasicThreshold(g_testparamstring);
+ OnInit_MCap_DetailThreshold(g_testparamstring);
+ SetTestItem_FT5X22();
+ }
+ else if(IC_FT8606>>4 == g_ScreenSetParam.iSelectedIC>>4)
+ {
+ OnInit_FT8606_TestItem(g_testparamstring);
+ OnInit_FT8606_BasicThreshold(g_testparamstring);
+ OnInit_MCap_DetailThreshold(g_testparamstring);
+ SetTestItem_FT8606();
+ }
+ else if(IC_FT5822>>4 == g_ScreenSetParam.iSelectedIC>>4)
+ {
+ OnInit_FT5822_TestItem(g_testparamstring);
+ OnInit_FT5822_BasicThreshold(g_testparamstring);
+ OnInit_MCap_DetailThreshold(g_testparamstring);
+ SetTestItem_FT5822();
+ }
+ else if(IC_FT6X36>>4 == g_ScreenSetParam.iSelectedIC>>4)
+ {
+ OnInit_FT6X36_TestItem(g_testparamstring);
+ OnInit_FT6X36_BasicThreshold(g_testparamstring);
+ OnInit_SCap_DetailThreshold(g_testparamstring);
+ SetTestItem_FT6X36();
+ }
+#endif
+ return 0;
+}
+
+/************************************************************************
+* Name: start_test_tp
+* Brief: Test entry. Select test items based on IC series
+* Input: none
+* Output: none
+* Return: Test Result, PASS or FAIL
+***********************************************************************/
+
+boolean start_test_tp(void)
+{
+ boolean bTestResult = false;
+ printk("[fts] %s \n", FTS_DRIVER_LIB_INFO); //show lib version
+ printk("[fts] %s start \n", __func__);
+ printk("[fts] IC_%s Test\n", g_strIcName);
+
+ switch(g_ScreenSetParam.iSelectedIC>>4)
+ {
+ //TODO: need checking FT6x36 testing function is same with FT3x27
+ case IC_FT6X36>>4:
+ bTestResult = FT6X36_StartTest();
+ break;
+ default:
+ printk("[fts] Error IC, IC Name: %s, IC Code: %d\n", g_strIcName, g_ScreenSetParam.iSelectedIC);
+ break;
+ }
+
+
+ return bTestResult;
+}
+/************************************************************************
+* Name: get_test_data
+* Brief: Get test data based on IC series
+* Input: none
+* Output: pTestData, External application for memory, buff size >= 1024*8
+* Return: the length of test data. if length > 0, got data;else ERR.
+***********************************************************************/
+int get_test_data(char *pTestData)
+{
+ int iLen = 0;
+ printk("[fts] %s start \n", __func__);
+ switch(g_ScreenSetParam.iSelectedIC>>4)
+ {
+ case IC_FT6X36>>4:
+ iLen = FT6X36_get_test_data(pTestData);
+ break;
+ default:
+ printk("[fts] Error IC, IC Name: %s, IC Code: %d\n", g_strIcName, g_ScreenSetParam.iSelectedIC);
+ break;
+ }
+
+ return iLen;
+}
+/************************************************************************
+* Name: free_test_param_data
+* Brief: release printer memory
+* Input: none
+* Output: none
+* Return: none.
+***********************************************************************/
+void free_test_param_data(void)
+{
+ if(g_testparamstring)
+ kfree(g_testparamstring);
+
+ g_testparamstring = NULL;
+}
+
+/************************************************************************
+* Name: show_lib_ver
+* Brief: get lib version
+* Input: none
+* Output: pLibVer
+* Return: the length of lib version.
+***********************************************************************/
+int show_lib_ver(char *pLibVer)
+{
+ int num_read_chars = 0;
+
+ num_read_chars = snprintf(pLibVer, 128,"%s \n", FTS_DRIVER_LIB_INFO);
+
+ return num_read_chars;
+}
+
+
diff --git a/drivers/input/touchscreen/focaltech_3207/test_lib.h b/drivers/input/touchscreen/focaltech_3207/test_lib.h
new file mode 100644
index 0000000..8b84fcd
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3207/test_lib.h
@@ -0,0 +1,44 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+#ifndef _TEST_LIB_H
+#define _TEST_LIB_H
+
+#define boolean unsigned char
+#define bool unsigned char
+#define BYTE unsigned char
+#define false 0
+#define true 1
+
+/////////////////////IIC communication
+typedef int (*FTS_I2C_READ_FUNCTION)(unsigned char *, int , unsigned char *, int);
+typedef int (*FTS_I2C_WRITE_FUNCTION)(unsigned char *, int);
+
+extern FTS_I2C_READ_FUNCTION fts_i2c_read_test;
+extern FTS_I2C_WRITE_FUNCTION fts_i2c_write_test;
+
+extern int init_i2c_read_func(FTS_I2C_READ_FUNCTION fpI2C_Read);
+extern int init_i2c_write_func(FTS_I2C_WRITE_FUNCTION fpI2C_Write);
+
+///////////////////////about test
+int set_param_data(char *TestParamData);//load config
+boolean start_test_tp(void);//test entry
+int get_test_data(char *pTestData);//test result data. (pTestData, External application for memory, buff size >= 1024*80)
+
+void free_test_param_data(void);//release
+int show_lib_ver(char *pLibVer);//lib version
+
+#endif
diff --git a/drivers/input/touchscreen/focaltech_3267/Config_FT6X36.c b/drivers/input/touchscreen/focaltech_3267/Config_FT6X36.c
new file mode 100644
index 0000000..0099982
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3267/Config_FT6X36.c
@@ -0,0 +1,707 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+#include <linux/kernel.h>
+#include <linux/string.h>
+#include "Config_FT6X36.h"
+#include "ini.h"
+#include "Global.h"
+
+
+struct stCfg_FT6X36_TestItem g_stCfg_FT6X36_TestItem;
+struct stCfg_FT6X36_BasicThreshold g_stCfg_FT6X36_BasicThreshold;
+
+
+void OnInit_FT6X36_TestItem(char *strIniFile)
+{
+ char str[512]={0};
+
+ //////////////////////////////////////////////////////////// FW Version
+ GetPrivateProfileString("TestItem","FW_VERSION_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.FW_VERSION_TEST = atoi(str);
+
+ //////////////////////////////////////////////////////////// Factory ID
+ GetPrivateProfileString("TestItem","FACTORY_ID_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.FACTORY_ID_TEST = atoi(str);
+
+ //////////////////////////////////////////////////////////// Project Code Test
+ GetPrivateProfileString("TestItem","PROJECT_CODE_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.PROJECT_CODE_TEST = atoi(str);
+
+ //////////////////////////////////////////////////////////// IC Version
+ GetPrivateProfileString("TestItem","IC_VERSION_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.IC_VERSION_TEST = atoi(str);
+
+ /////////////////////////////////// RawData Test
+ GetPrivateProfileString("TestItem","RAWDATA_TEST","1",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.RAWDATA_TEST = atoi(str);
+
+ /////////////////////////////////// CHANNEL_NUM_TEST
+ GetPrivateProfileString("TestItem","CHANNEL_NUM_TEST","1",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.CHANNEL_NUM_TEST = atoi(str);
+
+ //TODO:GC checking, test or not for this item
+ /////////////////////////////////// CHANNEL_SHORT_TEST
+ GetPrivateProfileString("TestItem","CHANNEL_SHORT_TEST","1",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.CHANNEL_SHORT_TEST = atoi(str);
+
+ //TODO:GC checking, test or not for this item
+ /////////////////////////////////// INT_PIN_TEST
+ GetPrivateProfileString("TestItem","INT_PIN_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.INT_PIN_TEST = atoi(str);
+
+ //TODO:GC checking, test or not for this item
+ /////////////////////////////////// RESET_PIN_TEST
+ GetPrivateProfileString("TestItem","RESET_PIN_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.RESET_PIN_TEST = atoi(str);
+
+ /////////////////////////////////// NOISE_TEST
+ GetPrivateProfileString("TestItem","NOISE_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.NOISE_TEST = atoi(str);
+
+ /////////////////////////////////// CB_TEST
+ GetPrivateProfileString("TestItem","CB_TEST","1",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.CB_TEST = atoi(str);
+
+ /////////////////////////////////// DELTA_CB_TEST
+ GetPrivateProfileString("TestItem","DELTA_CB_TEST","1",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.DELTA_CB_TEST = atoi(str);
+
+ //TODO:GC checking, test or not for this item
+ /////////////////////////////////// CHANNELS_DEVIATION_TEST
+ GetPrivateProfileString("TestItem","CHANNELS_DEVIATION_TEST","1",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.CHANNELS_DEVIATION_TEST = atoi(str);
+
+ /////////////////////////////////// TWO_SIDES_DEVIATION_TEST
+ GetPrivateProfileString("TestItem","TWO_SIDES_DEVIATION_TEST","1",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.TWO_SIDES_DEVIATION_TEST = atoi(str);
+
+
+ /////////////////////////////////// FPC_SHORT_TEST
+ GetPrivateProfileString("TestItem","FPC_SHORT_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.FPC_SHORT_TEST = atoi(str);
+
+ /////////////////////////////////// FPC_OPEN_TEST
+ GetPrivateProfileString("TestItem","FPC_OPEN_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.FPC_OPEN_TEST = atoi(str);
+
+ /////////////////////////////////// SREF_OPEN_TEST
+ GetPrivateProfileString("TestItem","SREF_OPEN_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.SREF_OPEN_TEST = atoi(str);
+
+ /////////////////////////////////// TE_TEST
+ GetPrivateProfileString("TestItem","TE_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.TE_TEST = atoi(str);
+
+ //TODO:GC checking, test or not for this item
+ /////////////////////////////////// CB_DEVIATION_TEST
+ GetPrivateProfileString("TestItem","CB_DEVIATION_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.CB_DEVIATION_TEST = atoi(str);
+
+ /////////////////////////////////// DIFFER_TEST
+ GetPrivateProfileString("TestItem","DIFFER_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.DIFFER_TEST = atoi(str);
+
+ //TODO:GC checking, test or not for this item
+ /////////////////////////////////// WEAK_SHORT_TEST
+ GetPrivateProfileString("TestItem","WEAK_SHORT_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.WEAK_SHORT_TEST = atoi(str);
+
+ /////////////////////////////////// DIFFER_TEST2
+ GetPrivateProfileString("TestItem","DIFFER_TEST2","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.DIFFER_TEST2 = atoi(str);
+
+ /////////////////////////////////// K1_DIFFER_TEST
+ GetPrivateProfileString("TestItem","K1_DIFFER_TEST","0",str,strIniFile);
+ g_stCfg_FT6X36_TestItem.K1_DIFFER_TEST = atoi(str);
+}
+
+void OnInit_FT6X36_BasicThreshold(char *strIniFile)
+{
+ char str[512]={0};
+
+ //////////////////////////////////////////////////////////// FW Version
+
+ GetPrivateProfileString( "Basic_Threshold", "FW_VER_VALUE", "0",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.FW_VER_VALUE = atoi(str);
+
+ //////////////////////////////////////////////////////////// Factory ID
+ GetPrivateProfileString("Basic_Threshold","Factory_ID_Number","255",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.Factory_ID_Number = atoi(str);
+
+ //////////////////////////////////////////////////////////// Project Code Test
+ GetPrivateProfileString("Basic_Threshold","Project_Code"," ",str,strIniFile);
+ //g_stCfg_FT6X36_BasicThreshold.Project_Code.Format("%s", str);
+ sprintf(g_stCfg_FT6X36_BasicThreshold.Project_Code, "%s", str);
+
+ //////////////////////////////////////////////////////////// IC Version
+ GetPrivateProfileString("Basic_Threshold","IC_Version","3",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.IC_Version = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","RawDataTest_Min","13000",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.RawDataTest_Min = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","RawDataTest_Max","17000",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.RawDataTest_Max = atoi(str);
+
+
+ GetPrivateProfileString("Basic_Threshold","ChannelNumTest_ChannelNum","22",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelNumTest_ChannelNum = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","ChannelNumTest_KeyNum","0",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelNumTest_KeyNum = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","ChannelShortTest_K1","255",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelShortTest_K1 = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","ChannelShortTest_K2","255",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelShortTest_K2 = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","ChannelShortTest_CB","255",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelShortTest_CB = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","ResetPinTest_RegAddr","136",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ResetPinTest_RegAddr = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","IntPinTest_RegAddr","175",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.IntPinTest_RegAddr = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","NoiseTest_Max","20",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.NoiseTest_Max = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","NoiseTest_Frames","32",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.NoiseTest_Frames = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","NoiseTest_Time","1",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.NoiseTest_Time = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","NoiseTest_SampeMode","0",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.NoiseTest_SampeMode = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","NoiseTest_NoiseMode","0",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.NoiseTest_NoiseMode = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","NoiseTest_ShowTip","0",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.NoiseTest_ShowTip = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","CbTest_Min","5",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.CbTest_Min = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","CbTest_Max","250",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.CbTest_Max = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Base","0",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Base = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Differ_Max","50",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Differ_Max = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Include_Key_Test","0",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Include_Key_Test = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Key_Differ_Max","10",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Key_Differ_Max = atoi(str);
+
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Deviation_S1","15",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S1 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Deviation_S2","15",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S2 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Deviation_S3","12",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S3 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Deviation_S4","12",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S4 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Deviation_S5","12",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S5 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Deviation_S6","12",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S6 = atoi(str);
+
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Set_Critical","0",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Set_Critical = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Critical_S1","20",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S1 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Critical_S2","20",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S2 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Critical_S3","20",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S3 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Critical_S4","20",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S4 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Critical_S5","20",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S5 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DeltaCbTest_Critical_S6","20",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S6 = atoi(str);
+
+
+ GetPrivateProfileString("Basic_Threshold","ChannelsDeviationTest_Deviation_S1","8",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S1 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","ChannelsDeviationTest_Deviation_S2","8",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S2 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","ChannelsDeviationTest_Deviation_S3","8",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S3 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","ChannelsDeviationTest_Deviation_S4","8",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S4 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","ChannelsDeviationTest_Deviation_S5","8",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S5 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","ChannelsDeviationTest_Deviation_S6","8",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S6 = atoi(str);
+
+
+ GetPrivateProfileString("Basic_Threshold","ChannelsDeviationTest_Set_Critical","0",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Set_Critical = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","ChannelsDeviationTest_Critical_S1","13",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S1 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","ChannelsDeviationTest_Critical_S2","13",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S2 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","ChannelsDeviationTest_Critical_S3","13",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S3 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","ChannelsDeviationTest_Critical_S4","13",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S4 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","ChannelsDeviationTest_Critical_S5","13",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S5 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","ChannelsDeviationTest_Critical_S6","13",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S6 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","TwoSidesDeviationTest_Deviation_S1","5",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S1 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","TwoSidesDeviationTest_Deviation_S2","5",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S2 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","TwoSidesDeviationTest_Deviation_S3","5",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S3 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","TwoSidesDeviationTest_Deviation_S4","5",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S4 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","TwoSidesDeviationTest_Deviation_S5","5",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S5 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","TwoSidesDeviationTest_Deviation_S6","5",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S6 = atoi(str);
+
+
+ GetPrivateProfileString("Basic_Threshold","TwoSidesDeviationTest_Set_Critical","0",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Set_Critical = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","TwoSidesDeviationTest_Critical_S1","10",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S1 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","TwoSidesDeviationTest_Critical_S2","10",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S2 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","TwoSidesDeviationTest_Critical_S3","10",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S3 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","TwoSidesDeviationTest_Critical_S4","10",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S4 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","TwoSidesDeviationTest_Critical_S5","10",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S5 = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","TwoSidesDeviationTest_Critical_S6","10",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S6 = atoi(str);
+
+ // fpc short
+ GetPrivateProfileString("Basic_Threshold","FPCShortTest_Min_CB","5",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.FPCShort_CB_Min = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","FPCShortTest_Max_CB","1015",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.FPCShort_CB_Max = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","FPCShortTest_Min_RawData","5000",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.FPCShort_RawData_Min = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","FPCShortTest_Max_RawData","50000",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.FPCShort_RawData_Max = atoi(str);
+
+ //fpc open
+ GetPrivateProfileString("Basic_Threshold","FPCOpenTest_Min_CB","5",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.FPCOpen_CB_Min = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","FPCOpenTest_Max_CB","1015",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.FPCOpen_CB_Max = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","FPCOpenTest_Min_RawData","5000",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.FPCOpen_RawData_Min = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","FPCOpenTest_Max_RawData","50000",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.FPCOpen_RawData_Max = atoi(str);
+
+ //SREFOpen_Test_Hole
+ GetPrivateProfileString("Basic_Threshold","SREFOpen_Test_Hole","10",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.SREFOpen_Hole = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","SREFOpen_Test_Hole_Base1","50",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.SREFOpen_Hole_Base1 = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","SREFOpen_Test_Hole_Base2","50",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.SREFOpen_Hole_Base2 = atoi(str);
+
+ //CB_DEVIATION_TEST
+ GetPrivateProfileString("Basic_Threshold","CBDeviationTest_Hole","50",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.CBDeviationTest_Hole = atoi(str);
+
+ //DIFFER_TEST
+ GetPrivateProfileString("Basic_Threshold","DifferTest_Ave_Hole","500",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.Differ_Ave_Hole = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","DifferTest_Max_Hole","500",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.Differ_Max_Hole = atoi(str);
+
+
+ //WEAK_SHORT_TEST
+ GetPrivateProfileString("Basic_Threshold","Weak_Short_Hole","500",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.WeakShortThreshold = atoi(str);
+
+ //DIFFER_TEST2
+ GetPrivateProfileString("Basic_Threshold","DifferTest2_Data_H_Min","20000",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DifferTest2_Data_H_Min = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","DifferTest2_Data_H_Max","24000",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DifferTest2_Data_H_Max = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DifferTest2_Data_M_Min","7100",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DifferTest2_Data_M_Min = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","DifferTest2_Data_M_Max","7300",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DifferTest2_Data_M_Max = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DifferTest2_Data_L_Min","14000",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DifferTest2_Data_L_Min = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","DifferTest2_Data_L_Max","16000",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.DifferTest2_Data_L_Max = atoi(str);
+
+ GetPrivateProfileString("Basic_Threshold","DifferTest2_Data_H","1",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.bDifferTest2_Data_H = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","DifferTest2_Data_M","1",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.bDifferTest2_Data_M = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","DifferTest2_Data_L","1",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.bDifferTest2_Data_L = atoi(str);
+
+ //K1 differ test
+ GetPrivateProfileString("Basic_Threshold","K1DifferTest_StartK1","5",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.K1DifferTest_StartK1 = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","K1DifferTest_EndK1","25",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.K1DifferTest_EndK1 = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","K1DifferTest_MinHole_STC2","0",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.K1DifferTest_MinHold2 = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","K1DifferTest_MaxHole_STC2","5",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.K1DifferTest_MaxHold2 = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","K1DifferTest_MinHole_STC4","5",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.K1DifferTest_MinHold4 = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","K1DifferTest_MaxHole_STC4","10",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.K1DifferTest_MaxHold4 = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","K1DifferTest_Deviation2","1",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.K1DifferTest_Deviation2 = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","K1DifferTest_Deviation4","5",str,strIniFile);
+ g_stCfg_FT6X36_BasicThreshold.K1DifferTest_Deviation4 = atoi(str);
+}
+
+void SetTestItem_FT6X36()
+{
+ //int value = 0;
+ g_TestItemNum = 0;
+
+ //////////////////////////////////////////////////Download / Upgrade
+ /*value = g_stCfg_CommonCfg.Run_Mode;
+ if(value == 1 || value == 4 || value == 5)//Download
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_DOWNLOAD;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_DOWNLOAD];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+ else if(value == 2 || value == 3 || value == 6)//Upgrade
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_UPGRADE;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_UPGRADE];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+ else if(value == 8 || value == 9 || value == 10)//Upgrade
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_WRITE_CONFIG;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_WRITE_CONFIG];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+ if(value == 5 || value == 6 || value == 8)//Only Download /Upgrade/write config
+ {
+ return;
+ }
+
+ if( g_stCfg_SiuBoard.bVDDTest )
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_VDD;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumSiuItem[Code_VDD];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].ItemType = Type_SiuItem;
+ g_TestItemNum++;
+ }
+ if( g_stCfg_SiuBoard.bIOVccTest )
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_IOVCC;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumSiuItem[Code_IOVCC];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].ItemType = Type_SiuItem;
+ g_TestItemNum++;
+ }*/
+
+ //////////////////////////////////////////////////FACTORY_ID_TEST
+ if( g_stCfg_FT6X36_TestItem.FACTORY_ID_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_FACTORY_ID_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_FACTORY_ID_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////Project Code Test
+ if( g_stCfg_FT6X36_TestItem.PROJECT_CODE_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_PROJECT_CODE_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_PROJECT_CODE_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////FW Version Test
+ if( g_stCfg_FT6X36_TestItem.FW_VERSION_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_FW_VERSION_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_FW_VERSION_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////IC Version Test
+ if( g_stCfg_FT6X36_TestItem.IC_VERSION_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_IC_VERSION_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_IC_VERSION_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////Enter Factory Mode
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_ENTER_FACTORY_MODE;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_ENTER_FACTORY_MODE];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+
+ //////////////////////////////////////////////////CHANNEL_NUM_TEST
+ if( g_stCfg_FT6X36_TestItem.CHANNEL_NUM_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_CHANNEL_NUM_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_CHANNEL_NUM_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////RawData Test
+ if( g_stCfg_FT6X36_TestItem.RAWDATA_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_RAWDATA_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_RAWDATA_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////Differ Test
+ if( g_stCfg_FT6X36_TestItem.DIFFER_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_DIFFER_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_DIFFER_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////Differ Test2
+ if( g_stCfg_FT6X36_TestItem.DIFFER_TEST2 == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_DIFFER_TEST2;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_DIFFER_TEST2];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////CB Deviation Test
+ if( g_stCfg_FT6X36_TestItem.CB_DEVIATION_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_CB_DEVIATION_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_CB_DEVIATION_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////FPC_SHORT_TEST
+ if( g_stCfg_FT6X36_TestItem.FPC_SHORT_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_FPC_SHORT_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_FPC_SHORT_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////FPC_OPEN_TEST
+ if( g_stCfg_FT6X36_TestItem.FPC_OPEN_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_FPC_OPEN_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_FPC_OPEN_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////CB_TEST
+ if( g_stCfg_FT6X36_TestItem.CB_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_CB_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_CB_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////DELTA_CB_TEST
+ if( g_stCfg_FT6X36_TestItem.DELTA_CB_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_DELTA_CB_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_DELTA_CB_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////CHANNELS_DEVIATION_TEST
+ if( g_stCfg_FT6X36_TestItem.CHANNELS_DEVIATION_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_CHANNELS_DEVIATION_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_CHANNELS_DEVIATION_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////TWO_SIDES_DEVIATION_TEST
+ if( g_stCfg_FT6X36_TestItem.TWO_SIDES_DEVIATION_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_TWO_SIDES_DEVIATION_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_TWO_SIDES_DEVIATION_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////CHANNEL_SHORT_TEST
+ if( g_stCfg_FT6X36_TestItem.CHANNEL_SHORT_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_CHANNEL_SHORT_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_CHANNEL_SHORT_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////SREF_OPEN_TEST
+ if( g_stCfg_FT6X36_TestItem.SREF_OPEN_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_SREF_OPEN_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_SREF_OPEN_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////NOISE_TEST
+ if( g_stCfg_FT6X36_TestItem.NOISE_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_NOISE_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_NOISE_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////Weak Short Test
+ if( g_stCfg_FT6X36_TestItem.WEAK_SHORT_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_WEAK_SHORT_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_WEAK_SHORT_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////K1 Differ Test
+ if( g_stCfg_FT6X36_TestItem.K1_DIFFER_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_K1_DIFFER_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_K1_DIFFER_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////RESET_PIN_TEST
+ if( g_stCfg_FT6X36_TestItem.RESET_PIN_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_RESET_PIN_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_RESET_PIN_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+ //////////////////////////////////////////////////INT_PIN_TEST
+ if( g_stCfg_FT6X36_TestItem.INT_PIN_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_INT_PIN_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_INT_PIN_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+ //////////////////////////////////////////////////TE Test
+ if( g_stCfg_FT6X36_TestItem.TE_TEST == 1)
+ {
+ g_stTestItem[0][g_TestItemNum].ItemCode = Code_FT6X36_TE_TEST;
+ //g_stTestItem[0][g_TestItemNum].strItemName = g_strEnumTestItem_FT6X36[Code_FT6X36_TE_TEST];
+ g_stTestItem[0][g_TestItemNum].TestNum = g_TestItemNum;
+ g_stTestItem[0][g_TestItemNum].TestResult= RESULT_NULL;
+ g_TestItemNum++;
+ }
+
+}
+
diff --git a/drivers/input/touchscreen/focaltech_3267/Config_FT6X36.h b/drivers/input/touchscreen/focaltech_3267/Config_FT6X36.h
new file mode 100644
index 0000000..4088d88
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3267/Config_FT6X36.h
@@ -0,0 +1,193 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+#ifndef _CONFIG_FT6X36_H
+#define _CONFIG_FT6X36_H
+
+#include "test_lib.h"
+
+/*-----------------------------------------------
+FT6X36
+------------------------------------------------*/
+struct stCfg_FT6X36_TestItem
+{
+ bool FW_VERSION_TEST;
+ bool FACTORY_ID_TEST;
+ bool PROJECT_CODE_TEST;
+ bool IC_VERSION_TEST;
+ bool RAWDATA_TEST;
+ bool CHANNEL_NUM_TEST;
+ bool CHANNEL_SHORT_TEST;
+ bool INT_PIN_TEST;
+ bool RESET_PIN_TEST;
+ bool NOISE_TEST;
+ bool CB_TEST;
+ bool DELTA_CB_TEST;
+ bool CHANNELS_DEVIATION_TEST;
+ bool TWO_SIDES_DEVIATION_TEST;
+ bool FPC_SHORT_TEST;
+ bool FPC_OPEN_TEST;
+ bool SREF_OPEN_TEST;
+ bool TE_TEST;
+ bool CB_DEVIATION_TEST;
+ bool DIFFER_TEST;
+ bool WEAK_SHORT_TEST;
+ bool DIFFER_TEST2;
+ bool K1_DIFFER_TEST;
+};
+
+struct stCfg_FT6X36_BasicThreshold
+{
+ BYTE FW_VER_VALUE;
+ BYTE Factory_ID_Number;
+ char Project_Code[32];
+ BYTE IC_Version;
+ int RawDataTest_Min;
+ int RawDataTest_Max;
+ BYTE ChannelNumTest_ChannelNum;
+ BYTE ChannelNumTest_KeyNum;
+ int ChannelShortTest_K1;
+ int ChannelShortTest_K2;
+ int ChannelShortTest_CB;
+ BYTE ResetPinTest_RegAddr;
+ BYTE IntPinTest_RegAddr;
+ int WeakShortThreshold;
+ int NoiseTest_Max;
+ int NoiseTest_Frames;
+ int NoiseTest_Time;
+ BYTE NoiseTest_SampeMode;
+ BYTE NoiseTest_NoiseMode;
+ BYTE NoiseTest_ShowTip;
+ int FPCShort_CB_Min;
+ int FPCShort_CB_Max;
+ int FPCShort_RawData_Min;
+ int FPCShort_RawData_Max;
+ int FPCOpen_CB_Min;
+ int FPCOpen_CB_Max;
+ int FPCOpen_RawData_Min;
+ int FPCOpen_RawData_Max;
+ int SREFOpen_Hole_Base1;
+ int SREFOpen_Hole_Base2;
+ int SREFOpen_Hole;
+ int CBDeviationTest_Hole;
+ int Differ_Ave_Hole;
+ int Differ_Max_Hole;
+ int CbTest_Min;
+ int CbTest_Max;
+ int DeltaCbTest_Base;
+ int DeltaCbTest_Differ_Max;
+ bool DeltaCbTest_Include_Key_Test;
+ int DeltaCbTest_Key_Differ_Max;
+ int DeltaCbTest_Deviation_S1;
+ int DeltaCbTest_Deviation_S2;
+ int DeltaCbTest_Deviation_S3;
+ int DeltaCbTest_Deviation_S4;
+ int DeltaCbTest_Deviation_S5;
+ int DeltaCbTest_Deviation_S6;
+ bool DeltaCbTest_Set_Critical;
+ int DeltaCbTest_Critical_S1;
+ int DeltaCbTest_Critical_S2;
+ int DeltaCbTest_Critical_S3;
+ int DeltaCbTest_Critical_S4;
+ int DeltaCbTest_Critical_S5;
+ int DeltaCbTest_Critical_S6;
+
+ int ChannelsDeviationTest_Deviation_S1;
+ int ChannelsDeviationTest_Deviation_S2;
+ int ChannelsDeviationTest_Deviation_S3;
+ int ChannelsDeviationTest_Deviation_S4;
+ int ChannelsDeviationTest_Deviation_S5;
+ int ChannelsDeviationTest_Deviation_S6;
+ bool ChannelsDeviationTest_Set_Critical;
+ int ChannelsDeviationTest_Critical_S1;
+ int ChannelsDeviationTest_Critical_S2;
+ int ChannelsDeviationTest_Critical_S3;
+ int ChannelsDeviationTest_Critical_S4;
+ int ChannelsDeviationTest_Critical_S5;
+ int ChannelsDeviationTest_Critical_S6;
+
+ int TwoSidesDeviationTest_Deviation_S1;
+ int TwoSidesDeviationTest_Deviation_S2;
+ int TwoSidesDeviationTest_Deviation_S3;
+ int TwoSidesDeviationTest_Deviation_S4;
+ int TwoSidesDeviationTest_Deviation_S5;
+ int TwoSidesDeviationTest_Deviation_S6;
+ bool TwoSidesDeviationTest_Set_Critical;
+ int TwoSidesDeviationTest_Critical_S1;
+ int TwoSidesDeviationTest_Critical_S2;
+ int TwoSidesDeviationTest_Critical_S3;
+ int TwoSidesDeviationTest_Critical_S4;
+ int TwoSidesDeviationTest_Critical_S5;
+ int TwoSidesDeviationTest_Critical_S6;
+
+ int DifferTest2_Data_H_Min;
+ int DifferTest2_Data_H_Max;
+ int DifferTest2_Data_M_Min;
+ int DifferTest2_Data_M_Max;
+ int DifferTest2_Data_L_Min;
+ int DifferTest2_Data_L_Max;
+ bool bDifferTest2_Data_H;
+ bool bDifferTest2_Data_M;
+ bool bDifferTest2_Data_L;
+ int K1DifferTest_StartK1;
+ int K1DifferTest_EndK1;
+ int K1DifferTest_MinHold2;
+ int K1DifferTest_MaxHold2;
+ int K1DifferTest_MinHold4;
+ int K1DifferTest_MaxHold4;
+ int K1DifferTest_Deviation2;
+ int K1DifferTest_Deviation4;
+};
+
+enum enumTestItem_FT6X36
+{
+ Code_FT6X36_ENTER_FACTORY_MODE,
+ Code_FT6X36_DOWNLOAD,
+ Code_FT6X36_UPGRADE,
+ Code_FT6X36_FACTORY_ID_TEST,
+ Code_FT6X36_PROJECT_CODE_TEST,
+ Code_FT6X36_FW_VERSION_TEST,
+ Code_FT6X36_IC_VERSION_TEST,
+ Code_FT6X36_RAWDATA_TEST,
+ Code_FT6X36_CHANNEL_NUM_TEST,
+ Code_FT6X36_CHANNEL_SHORT_TEST,
+ Code_FT6X36_INT_PIN_TEST,
+ Code_FT6X36_RESET_PIN_TEST,
+ Code_FT6X36_NOISE_TEST,
+ Code_FT6X36_CB_TEST,
+ Code_FT6X36_DELTA_CB_TEST,
+ Code_FT6X36_CHANNELS_DEVIATION_TEST,
+ Code_FT6X36_TWO_SIDES_DEVIATION_TEST,
+ Code_FT6X36_FPC_SHORT_TEST,
+ Code_FT6X36_FPC_OPEN_TEST,
+ Code_FT6X36_SREF_OPEN_TEST,
+ Code_FT6X36_TE_TEST,
+ Code_FT6X36_CB_DEVIATION_TEST,
+ Code_FT6X36_WRITE_CONFIG,
+ Code_FT6X36_DIFFER_TEST,
+ Code_FT6X36_WEAK_SHORT_TEST,
+ Code_FT6X36_DIFFER_TEST2,
+ Code_FT6X36_K1_DIFFER_TEST,
+};
+
+extern struct stCfg_FT6X36_TestItem g_stCfg_FT6X36_TestItem;
+extern struct stCfg_FT6X36_BasicThreshold g_stCfg_FT6X36_BasicThreshold;
+
+void OnInit_FT6X36_TestItem(char *strIniFile);
+void OnInit_FT6X36_BasicThreshold(char *strIniFile);
+void SetTestItem_FT6X36(void);
+
+#endif
diff --git a/drivers/input/touchscreen/focaltech_3267/DetailThreshold.c b/drivers/input/touchscreen/focaltech_3267/DetailThreshold.c
new file mode 100644
index 0000000..d7ee37c
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3267/DetailThreshold.c
@@ -0,0 +1,1204 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+#include <linux/kernel.h>
+#include <linux/string.h>
+
+#include "ini.h"
+#include "DetailThreshold.h"
+#include "test_lib.h"
+#include "Global.h"
+
+struct stCfg_MCap_DetailThreshold g_stCfg_MCap_DetailThreshold;
+struct stCfg_SCap_DetailThreshold g_stCfg_SCap_DetailThreshold;
+
+
+void set_max_channel_num(void)
+{
+ switch(g_ScreenSetParam.iSelectedIC>>4)
+ {
+ case IC_FT5822>>4:
+ g_ScreenSetParam.iUsedMaxTxNum= TX_NUM_MAX;
+ g_ScreenSetParam.iUsedMaxRxNum = RX_NUM_MAX;
+ break;
+ default:
+ g_ScreenSetParam.iUsedMaxTxNum = 30;
+ g_ScreenSetParam.iUsedMaxRxNum = 30;
+ break;
+ }
+
+}
+void OnInit_SCap_DetailThreshold(char *strIniFile)
+{
+ OnGetTestItemParam("RawDataTest_Max", strIniFile, 12500);
+ memcpy(g_stCfg_SCap_DetailThreshold.RawDataTest_Max, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+ OnGetTestItemParam("RawDataTest_Min", strIniFile, 16500);
+ memcpy(g_stCfg_SCap_DetailThreshold.RawDataTest_Min, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+ OnGetTestItemParam("CiTest_Max", strIniFile, 5);
+ memcpy(g_stCfg_SCap_DetailThreshold.CiTest_Max, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+ OnGetTestItemParam("CiTest_Min", strIniFile, 250);
+ memcpy(g_stCfg_SCap_DetailThreshold.CiTest_Min, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+ OnGetTestItemParam("DeltaCiTest_Base", strIniFile, 0);
+ memcpy(g_stCfg_SCap_DetailThreshold.DeltaCiTest_Base, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+ OnGetTestItemParam("DeltaCiTest_AnotherBase1", strIniFile, 0);
+ memcpy(g_stCfg_SCap_DetailThreshold.DeltaCiTest_AnotherBase1, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+ OnGetTestItemParam("DeltaCiTest_AnotherBase2", strIniFile, 0);
+ memcpy(g_stCfg_SCap_DetailThreshold.DeltaCiTest_AnotherBase2, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+ OnGetTestItemParam("NoiseTest_Max", strIniFile, 20);
+ memcpy(g_stCfg_SCap_DetailThreshold.NoiseTest_Max, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+
+ //OnGetTestItemParam("CiDeviation_Base", strIniFile);
+ OnGetTestItemParam("CiDeviation_Base", strIniFile,0);
+ memcpy(g_stCfg_SCap_DetailThreshold.CiDeviationTest_Base, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+
+ OnGetTestItemParam("DeltaCxTest_Sort", strIniFile, 1);
+ memcpy(g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+
+ OnGetTestItemParam("DeltaCxTest_Area", strIniFile, 1);
+ memcpy(g_stCfg_SCap_DetailThreshold.DeltaCxTest_Area, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+
+ //6x36
+ //OnGetTestItemParam("CbTest_Max", strIniFile);
+ OnGetTestItemParam("CBTest_Max", strIniFile, 0);
+ memcpy(g_stCfg_SCap_DetailThreshold.CbTest_Max, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+
+ //OnGetTestItemParam("CbTest_Min", strIniFile);
+ OnGetTestItemParam("CBTest_Min", strIniFile, 0);
+ memcpy(g_stCfg_SCap_DetailThreshold.CbTest_Min, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+
+ //OnGetTestItemParam("DeltaCbTest_Base", strIniFile);
+ OnGetTestItemParam("DeltaCbTest_Base", strIniFile, 0);
+ memcpy(g_stCfg_SCap_DetailThreshold.DeltaCbTest_Base, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+
+ //OnGetTestItemParam("DifferTest_Base", strIniFile);
+ OnGetTestItemParam("DifferTest_Base", strIniFile, 0);
+ memcpy(g_stCfg_SCap_DetailThreshold.DifferTest_Base, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+
+ //OnGetTestItemParam("CBDeviation_Base", strIniFile);
+ OnGetTestItemParam("CBDeviation_Base", strIniFile, 0);
+ memcpy(g_stCfg_SCap_DetailThreshold.CBDeviationTest_Base, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+
+ //OnGetTestItemParam("K1DifferTest_Base", strIniFile);
+ OnGetTestItemParam("K1DifferTest_Base", strIniFile, 0);
+ memcpy(g_stCfg_SCap_DetailThreshold.K1DifferTest_Base, g_stCfg_SCap_DetailThreshold.TempData, MAX_CHANNEL_NUM*sizeof(int));
+}
+
+void OnGetTestItemParam(char *strItemName, char *strIniFile, int iDefautValue)
+{
+ //char str[430];
+ char strValue[800];
+ char str_tmp[128];
+ int iValue = 0;
+ int dividerPos=0;
+ int index = 0;
+ int i = 0, j=0, k = 0;
+ memset(g_stCfg_SCap_DetailThreshold.TempData, 0, sizeof(g_stCfg_SCap_DetailThreshold.TempData));
+ sprintf(str_tmp, "%d", iDefautValue);
+ GetPrivateProfileString( "Basic_Threshold", strItemName, str_tmp, strValue, strIniFile);
+ iValue = atoi(strValue);
+ for(i = 0; i < MAX_CHANNEL_NUM; i++)
+ {
+ g_stCfg_SCap_DetailThreshold.TempData[i] = iValue;
+ }
+
+ dividerPos = GetPrivateProfileString( "SpecialSet", strItemName, "", strValue, strIniFile);
+ //sprintf(strValue, "%s", str);
+ if(dividerPos > 0)
+ {
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_SCap_DetailThreshold.TempData[k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ //If (k+1) < MAX_CHANNEL_NUM, set Default Vaule to Other
+ //for(i = k+1; i < MAX_CHANNEL_NUM; i++)
+ //{
+ // g_stCfg_SCap_DetailThreshold.TempData[i] = iValue;
+ //}
+ }
+}
+void OnInit_MCap_DetailThreshold(char *strIniFile)
+{
+ set_max_channel_num();//set used TxRx
+
+ OnInit_InvalidNode(strIniFile);
+ OnInit_DThreshold_RawDataTest(strIniFile);
+ OnInit_DThreshold_SCapRawDataTest(strIniFile);
+ OnInit_DThreshold_SCapCbTest(strIniFile);
+
+/* OnInit_DThreshold_RxCrosstalkTest(strIniFile);
+ OnInit_DThreshold_PanelDifferTest(strIniFile);*/
+ OnInit_DThreshold_RxLinearityTest(strIniFile);
+ OnInit_DThreshold_TxLinearityTest(strIniFile);
+/* OnInit_DThreshold_TxShortTest(strIniFile);
+
+
+ OnInit_DThreshold_CMTest(strIniFile);
+
+ OnInit_DThreshold_NoiseTest(strIniFile);
+
+ //5422 SITO_RAWDATA_UNIFORMITY_TEST
+ OnInit_DThreshold_SITORawdata_RxLinearityTest(strIniFile);
+ OnInit_DThreshold_SITORawdata_TxLinearityTest(strIniFile);
+
+ OnInit_DThreshold_SITO_RxLinearityTest(strIniFile);
+ OnInit_DThreshold_SITO_TxLinearityTest(strIniFile);
+
+ OnInit_DThreshold_UniformityRxLinearityTest(strIniFile);
+ OnInit_DThreshold_UniformityTxLinearityTest(strIniFile);
+*/
+}
+void OnInit_InvalidNode(char *strIniFile)
+{
+
+ char str[MAX_PATH] = {0},strTemp[MAX_PATH] = {0};
+ int i = 0, j=0;
+ //memset(str , 0x00, sizeof(str));
+ //memset(strTemp , 0x00, sizeof(strTemp));
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ sprintf(strTemp, "InvalidNode[%d][%d]", (i+1), (j+1));
+
+ GetPrivateProfileString("INVALID_NODE",strTemp,"1",str, strIniFile);
+ if(atoi(str) == 0)
+ {
+ g_stCfg_MCap_DetailThreshold.InvalidNode[i][j] = 0;
+ }
+ else if( atoi( str ) == 2 )
+ {
+ g_stCfg_MCap_DetailThreshold.InvalidNode[i][j] = 2;
+ }
+ else
+ g_stCfg_MCap_DetailThreshold.InvalidNode[i][j] = 1;
+ }
+ }
+
+ for(i = 0; i < 2; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ sprintf(strTemp, "InvalidNodeS[%d][%d]", (i+1), (j+1));
+ GetPrivateProfileString("INVALID_NODES",strTemp,"1",str, strIniFile);
+ if(atoi(str) == 0)
+ {
+ g_stCfg_MCap_DetailThreshold.InvalidNode_SC[i][j] = 0;
+ }
+ else if( atoi( str ) == 2 )
+ {
+ g_stCfg_MCap_DetailThreshold.InvalidNode_SC[i][j] = 2;
+ }
+ else
+ g_stCfg_MCap_DetailThreshold.InvalidNode_SC[i][j] = 1;
+ }
+
+ }
+}
+
+void OnInit_DThreshold_RawDataTest(char *strIniFile)
+{
+ char str[128], strTemp[MAX_PATH],strValue[MAX_PATH];
+ int MaxValue, MinValue;
+ int dividerPos=0;
+ char str_tmp[128];
+ int index = 0;
+ int k = 0, i = 0, j = 0;
+ ////////////////////////////RawData Test
+ GetPrivateProfileString( "Basic_Threshold","RawDataTest_Max","10000",str, strIniFile);
+ MaxValue = atoi(str);
+
+ //printk("MaxValue = %d \n", MaxValue);
+
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.RawDataTest_Max[i][j] = MaxValue;
+ }
+ }
+
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ sprintf(str, "RawData_Max_Tx%d", (i + 1));
+ //printk("%s \n", str);
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "111",strTemp, strIniFile);
+ //printk("GetPrivateProfileString = %d \n", dividerPos);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.RawDataTest_Max[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+
+ }
+
+ GetPrivateProfileString("Basic_Threshold","RawDataTest_Min","7000",str, strIniFile);
+ MinValue = atoi(str);
+
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.RawDataTest_Min[i][j] = MinValue;
+ }
+ }
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ sprintf(str, "RawData_Min_Tx%d", (i + 1));
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp, strIniFile);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.RawDataTest_Min[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ }
+
+ //RawData Test Low
+ GetPrivateProfileString( "Basic_Threshold","RawDataTest_Low_Max","15000",str, strIniFile);
+ MaxValue = atoi(str);
+
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.RawDataTest_Low_Max[i][j] = MaxValue;
+ }
+ }
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ sprintf(str, "RawData_Max_Low_Tx%d", (i + 1));
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp, strIniFile);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.RawDataTest_Low_Max[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ }
+
+ GetPrivateProfileString("Basic_Threshold","RawDataTest_Low_Min","3000",str, strIniFile);
+ MinValue = atoi(str);
+
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.RawDataTest_Low_Min[i][j] = MinValue;
+ }
+ }
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ sprintf(str, "RawData_Min_Low_Tx%d", (i + 1));
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp, strIniFile);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.RawDataTest_Low_Min[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ }
+
+ //RawData Test High
+ GetPrivateProfileString( "Basic_Threshold","RawDataTest_High_Max","15000",str, strIniFile);
+ MaxValue = atoi(str);
+
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.RawDataTest_High_Max[i][j] = MaxValue;
+ }
+ }
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ sprintf(str, "RawData_Max_High_Tx%d", (i + 1));
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp, strIniFile);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.RawDataTest_High_Max[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ }
+
+ GetPrivateProfileString("Basic_Threshold","RawDataTest_High_Min","3000",str, strIniFile);
+ MinValue = atoi(str);
+
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.RawDataTest_High_Min[i][j] = MinValue;
+ }
+ }
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ sprintf(str, "RawData_Min_High_Tx%d", (i + 1));
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp, strIniFile);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.RawDataTest_High_Min[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ }
+/*
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.TxShortAdvance[i][j] = 0;
+ }
+ }
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ sprintf(str, "TxShortAdvanceThreshold_Tx%d", (i + 1));
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp, strIniFile);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.TxShortAdvance[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ }*/
+}
+void OnInit_DThreshold_SCapRawDataTest(char *strIniFile)
+{
+ char str[128], strTemp[MAX_PATH],strValue[MAX_PATH];
+ int MaxValue, MinValue;
+ int dividerPos=0;
+ char str_tmp[128];
+ int index = 0;
+ int k = 0, i = 0, j = 0;
+
+ //////////////////OFF
+ GetPrivateProfileString("Basic_Threshold","SCapRawDataTest_OFF_Min","150",str,strIniFile);
+ MinValue = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","SCapRawDataTest_OFF_Max","1000",str,strIniFile);
+ MaxValue = atoi(str);
+
+ ///Max
+ for(i = 0; i < 2; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_OFF_Max[i][j] = MaxValue;
+ }
+ }
+ for(i = 0; i < 2; i++)
+ {
+ sprintf(str, "ScapRawData_OFF_Max_%d", (i + 1));
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp, strIniFile);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_OFF_Max[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ }
+ ////Min
+ for(i = 0; i < 2; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_OFF_Min[i][j] = MinValue;
+ }
+ }
+ for(i = 0; i < 2; i++)
+ {
+ sprintf(str, "ScapRawData_OFF_Min_%d", (i + 1));
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp, strIniFile);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_OFF_Min[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ }
+/*
+ for(int i = 0; i < 2; i++)
+ {
+ if(0 == i)iLenght = g_ScreenSetParam.iUsedMaxRxNum;
+ if(1 == i)iLenght = g_ScreenSetParam.iUsedMaxTxNum;
+
+ str.Format("ScapRawData_OFF_Max_%d", i + 1);
+ GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp.GetBuffer(BUFFER_LENGTH),BUFFER_LENGTH, strIniFile);
+ strValue.Format("%s",strTemp);
+ dividerPos = strValue.Find(',',0);
+ if(dividerPos > 0)
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ AfxExtractSubString(SingleItem, strValue, j , cDivider);
+ if(!SingleItem.IsEmpty())
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_OFF_Max[i][j] = atoi(SingleItem);
+ }
+ else
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_OFF_Max[i][j] = iBasicMax;
+ }
+ }
+ }
+ else
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_OFF_Max[i][j] = iBasicMax;
+ }
+ }
+ }
+
+ for(int i = 0; i < 2; i++)
+ {
+ if(0 == i)iLenght = g_ScreenSetParam.iUsedMaxRxNum;
+ if(1 == i)iLenght = g_ScreenSetParam.iUsedMaxTxNum;
+
+ str.Format("ScapRawData_OFF_Min_%d", i + 1);
+ GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp.GetBuffer(BUFFER_LENGTH),BUFFER_LENGTH, strIniFile);
+ strValue.Format("%s",strTemp);
+ dividerPos = strValue.Find(',',0);
+ if(dividerPos > 0)
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ AfxExtractSubString(SingleItem, strValue, j , cDivider);
+ if(!SingleItem.IsEmpty())
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_OFF_Min[i][j] = atoi(SingleItem);
+ }
+ else
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_OFF_Min[i][j] = iBasicMin;
+ }
+ }
+ }
+ else
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_OFF_Min[i][j] = iBasicMin;
+ }
+ }
+ }
+*/
+ //////////////////ON
+ GetPrivateProfileString("Basic_Threshold","SCapRawDataTest_ON_Min","150",str,strIniFile);
+ MinValue = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","SCapRawDataTest_ON_Max","1000",str,strIniFile);
+ MaxValue = atoi(str);
+
+ ///Max
+ for(i = 0; i < 2; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_ON_Max[i][j] = MaxValue;
+ }
+ }
+ for(i = 0; i < 2; i++)
+ {
+ sprintf(str, "ScapRawData_ON_Max_%d", (i + 1));
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp, strIniFile);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_ON_Max[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ }
+ ////Min
+ for(i = 0; i < 2; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_ON_Min[i][j] = MinValue;
+ }
+ }
+ for(i = 0; i < 2; i++)
+ {
+ sprintf(str, "ScapRawData_ON_Min_%d", (i + 1));
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp, strIniFile);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_ON_Min[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ }
+ /*
+ for(int i = 0; i < 2; i++)
+ {
+ if(0 == i)iLenght = g_ScreenSetParam.iUsedMaxRxNum;
+ if(1 == i)iLenght = g_ScreenSetParam.iUsedMaxTxNum;
+
+ str.Format("ScapRawData_ON_Max_%d", i + 1);
+ GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp.GetBuffer(BUFFER_LENGTH),BUFFER_LENGTH, strIniFile);
+ strValue.Format("%s",strTemp);
+ dividerPos = strValue.Find(',',0);
+ if(dividerPos > 0)
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ AfxExtractSubString(SingleItem, strValue, j , cDivider);
+ if(!SingleItem.IsEmpty())
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_ON_Max[i][j] = atoi(SingleItem);
+ }
+ else
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_ON_Max[i][j] = iBasicMax;
+ }
+ }
+ }
+ else
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_ON_Max[i][j] = iBasicMax;
+ }
+ }
+ }
+
+ for(int i = 0; i < 2; i++)
+ {
+ if(0 == i)iLenght = g_ScreenSetParam.iUsedMaxRxNum;
+ if(1 == i)iLenght = g_ScreenSetParam.iUsedMaxTxNum;
+
+ str.Format("ScapRawData_ON_Min_%d", i + 1);
+ GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp.GetBuffer(BUFFER_LENGTH),BUFFER_LENGTH, strIniFile);
+ strValue.Format("%s",strTemp);
+ dividerPos = strValue.Find(',',0);
+ if(dividerPos > 0)
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ AfxExtractSubString(SingleItem, strValue, j , cDivider);
+ if(!SingleItem.IsEmpty())
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_ON_Min[i][j] = atoi(SingleItem);
+ }
+ else
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_ON_Min[i][j] = iBasicMin;
+ }
+ }
+ }
+ else
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapRawDataTest_ON_Min[i][j] = iBasicMin;
+ }
+ }
+ }
+*/
+}
+void OnInit_DThreshold_SCapCbTest(char *strIniFile)
+{
+ char str[128], strTemp[MAX_PATH],strValue[MAX_PATH];
+ int MaxValue, MinValue;
+ int dividerPos=0;
+ char str_tmp[128];
+ int index = 0;
+ int k = 0, i = 0, j = 0;
+
+ GetPrivateProfileString("Basic_Threshold","SCapCbTest_ON_Min","0",str,strIniFile);
+ MinValue = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","SCapCbTest_ON_Max","240",str,strIniFile);
+ MaxValue = atoi(str);
+ ///Max
+ for(i = 0; i < 2; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_ON_Max[i][j] = MaxValue;
+ }
+ }
+ for(i = 0; i < 2; i++)
+ {
+ sprintf(str, "ScapCB_ON_Max_%d", (i + 1));
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp, strIniFile);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_ON_Max[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ }
+ ////Min
+ for(i = 0; i < 2; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_ON_Min[i][j] = MinValue;
+ }
+ }
+ for(i = 0; i < 2; i++)
+ {
+ sprintf(str, "ScapCB_ON_Min_%d", (i + 1));
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp, strIniFile);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_ON_Min[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ }
+ GetPrivateProfileString("Basic_Threshold","SCapCbTest_OFF_Min","0",str,strIniFile);
+ MinValue = atoi(str);
+ GetPrivateProfileString("Basic_Threshold","SCapCbTest_OFF_Max","240",str,strIniFile);
+ MaxValue = atoi(str);
+ ///Max
+ for(i = 0; i < 2; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_OFF_Max[i][j] = MaxValue;
+ }
+ }
+ for(i = 0; i < 2; i++)
+ {
+ sprintf(str, "ScapCB_OFF_Max_%d", (i + 1));
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp, strIniFile);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_OFF_Max[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ }
+ ////Min
+ for(i = 0; i < 2; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_OFF_Min[i][j] = MinValue;
+ }
+ }
+ for(i = 0; i < 2; i++)
+ {
+ sprintf(str, "ScapCB_OFF_Min_%d", (i + 1));
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp, strIniFile);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_OFF_Min[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+ }
+/*
+ int iLenght = 0;
+
+ for(int i = 0; i < 2; i++)
+ {
+ if(0 == i)iLenght = g_ScreenSetParam.iUsedMaxRxNum;
+ if(1 == i)iLenght = g_ScreenSetParam.iUsedMaxTxNum;
+
+ str.Format("ScapCB_ON_Max_%d", i + 1);
+ GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp.GetBuffer(BUFFER_LENGTH),BUFFER_LENGTH, strIniFile);
+ strValue.Format("%s",strTemp);
+ dividerPos = strValue.Find(',',0);
+ if(dividerPos > 0)
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ AfxExtractSubString(SingleItem, strValue, j , cDivider);
+ if(!SingleItem.IsEmpty())
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_ON_Max[i][j] = atoi(SingleItem);
+ }
+ else
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_ON_Max[i][j] = iBasicMax_on;
+ }
+ }
+ }
+ else
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_ON_Max[i][j] = iBasicMax_on;
+ }
+ }
+ }
+
+ for(int i = 0; i < 2; i++)
+ {
+ if(0 == i)iLenght = g_ScreenSetParam.iUsedMaxRxNum;
+ if(1 == i)iLenght = g_ScreenSetParam.iUsedMaxTxNum;
+
+ str.Format("ScapCB_ON_Min_%d", i + 1);
+ GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp.GetBuffer(BUFFER_LENGTH),BUFFER_LENGTH, strIniFile);
+ strValue.Format("%s",strTemp);
+ dividerPos = strValue.Find(',',0);
+ if(dividerPos > 0)
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ AfxExtractSubString(SingleItem, strValue, j , cDivider);
+ if(!SingleItem.IsEmpty())
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_ON_Min[i][j] = atoi(SingleItem);
+ }
+ else
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_ON_Min[i][j] = iBasicMin_on;
+ }
+ }
+ }
+ else
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_ON_Min[i][j] = iBasicMin_on;
+ }
+ }
+ }
+
+ for(int i = 0; i < 2; i++)
+ {
+ if(0 == i)iLenght = g_ScreenSetParam.iUsedMaxRxNum;
+ if(1 == i)iLenght = g_ScreenSetParam.iUsedMaxTxNum;
+
+ str.Format("ScapCB_OFF_Max_%d", i + 1);
+ GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp.GetBuffer(BUFFER_LENGTH),BUFFER_LENGTH, strIniFile);
+ strValue.Format("%s",strTemp);
+ dividerPos = strValue.Find(',',0);
+ if(dividerPos > 0)
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ AfxExtractSubString(SingleItem, strValue, j , cDivider);
+ if(!SingleItem.IsEmpty())
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_OFF_Max[i][j] = atoi(SingleItem);
+ }
+ else
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_OFF_Max[i][j] = iBasicMax_off;
+ }
+ }
+ }
+ else
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_OFF_Max[i][j] = iBasicMax_off;
+ }
+ }
+ }
+
+ for(int i = 0; i < 2; i++)
+ {
+ if(0 == i)iLenght = g_ScreenSetParam.iUsedMaxRxNum;
+ if(1 == i)iLenght = g_ScreenSetParam.iUsedMaxTxNum;
+
+ str.Format("ScapCB_OFF_Min_%d", i + 1);
+ GetPrivateProfileString( "SpecialSet", str, "NULL",strTemp.GetBuffer(BUFFER_LENGTH),BUFFER_LENGTH, strIniFile);
+ strValue.Format("%s",strTemp);
+ dividerPos = strValue.Find(',',0);
+ if(dividerPos > 0)
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ AfxExtractSubString(SingleItem, strValue, j , cDivider);
+ if(!SingleItem.IsEmpty())
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_OFF_Min[i][j] = atoi(SingleItem);
+ }
+ else
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_OFF_Min[i][j] = iBasicMin_off;
+ }
+ }
+ }
+ else
+ {
+ for(int j = 0; j < iLenght; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.SCapCbTest_OFF_Min[i][j] = iBasicMin_off;
+ }
+ }
+ }
+*/
+
+}
+
+void OnInit_DThreshold_RxLinearityTest(char *strIniFile)
+{
+ char str[128], strTemp[MAX_PATH],strValue[MAX_PATH];
+ int MaxValue = 0;
+ int dividerPos=0;
+ char str_tmp[128];
+ int index = 0;
+ int k = 0, i = 0, j = 0;
+ ////////////////////////////Rx_Linearity Test
+ GetPrivateProfileString( "Basic_Threshold","RxLinearityTest_Max", "50",str, strIniFile);
+ MaxValue = atoi(str);
+
+ //printk("MaxValue = %d \n", MaxValue);
+
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.RxLinearityTest_Max[i][j] = MaxValue;
+ }
+ }
+
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ sprintf(str, "Rx_Linearity_Max_Tx%d", (i + 1));
+ //printk("%s \n", str);
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "111",strTemp, strIniFile);
+ //printk("GetPrivateProfileString = %d \n", dividerPos);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.RxLinearityTest_Max[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+
+ }
+}
+
+void OnInit_DThreshold_TxLinearityTest(char *strIniFile)
+{
+ char str[128], strTemp[MAX_PATH],strValue[MAX_PATH];
+ int MaxValue = 0;
+ int dividerPos=0;
+ char str_tmp[128];
+ int index = 0;
+ int k = 0, i = 0, j = 0;
+ ////////////////////////////Tx_Linearity Test
+ GetPrivateProfileString( "Basic_Threshold","TxLinearityTest_Max", "50",str, strIniFile);
+ MaxValue = atoi(str);
+
+ //printk("MaxValue = %d \n", MaxValue);
+
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ for(j = 0; j < g_ScreenSetParam.iUsedMaxRxNum; j++)
+ {
+ g_stCfg_MCap_DetailThreshold.TxLinearityTest_Max[i][j] = MaxValue;
+ }
+ }
+
+ for(i = 0; i < g_ScreenSetParam.iUsedMaxTxNum; i++)
+ {
+ sprintf(str, "Tx_Linearity_Max_Tx%d", (i + 1));
+ //printk("%s \n", str);
+ dividerPos = GetPrivateProfileString( "SpecialSet", str, "111",strTemp, strIniFile);
+ //printk("GetPrivateProfileString = %d \n", dividerPos);
+ sprintf(strValue, "%s",strTemp);
+ if(0 == dividerPos) continue;
+ index = 0;
+ k = 0;
+ memset(str_tmp, 0, sizeof(str_tmp));
+ for(j=0; j<dividerPos; j++)
+ {
+ if(',' == strValue[j])
+ {
+ g_stCfg_MCap_DetailThreshold.TxLinearityTest_Max[i][k] = (short)(atoi(str_tmp));
+ index = 0;
+ memset(str_tmp, 0x00, sizeof(str_tmp));
+ k++;
+ }
+ else
+ {
+ if(' ' == strValue[j])
+ continue;
+ str_tmp[index] = strValue[j];
+ index++;
+ }
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/drivers/input/touchscreen/focaltech_3267/DetailThreshold.h b/drivers/input/touchscreen/focaltech_3267/DetailThreshold.h
new file mode 100644
index 0000000..223e456
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3267/DetailThreshold.h
@@ -0,0 +1,93 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+#ifndef _DETAIL_THRESHOLD_H
+#define _DETAIL_THRESHOLD_H
+
+#define TX_NUM_MAX 50
+#define RX_NUM_MAX 50
+#define MAX_PATH 256
+#define BUFFER_LENGTH 512
+#define MAX_TEST_ITEM 100
+#define MAX_GRAPH_ITEM 20
+#define MAX_CHANNEL_NUM 144
+
+struct stCfg_MCap_DetailThreshold
+{
+ unsigned char InvalidNode[TX_NUM_MAX][RX_NUM_MAX];
+ unsigned char InvalidNode_SC[TX_NUM_MAX][RX_NUM_MAX];
+
+ int RawDataTest_Min[TX_NUM_MAX][RX_NUM_MAX];
+ int RawDataTest_Max[TX_NUM_MAX][RX_NUM_MAX];
+ int RawDataTest_Low_Min[TX_NUM_MAX][RX_NUM_MAX];
+ int RawDataTest_Low_Max[TX_NUM_MAX][RX_NUM_MAX];
+ int RawDataTest_High_Min[TX_NUM_MAX][RX_NUM_MAX];
+ int RawDataTest_High_Max[TX_NUM_MAX][RX_NUM_MAX];
+ int RxLinearityTest_Max[TX_NUM_MAX][RX_NUM_MAX];
+ int TxLinearityTest_Max[TX_NUM_MAX][RX_NUM_MAX];
+
+ int SCapRawDataTest_ON_Max[TX_NUM_MAX][RX_NUM_MAX];
+ int SCapRawDataTest_ON_Min[TX_NUM_MAX][RX_NUM_MAX];
+ int SCapRawDataTest_OFF_Max[TX_NUM_MAX][RX_NUM_MAX];
+ int SCapRawDataTest_OFF_Min[TX_NUM_MAX][RX_NUM_MAX];
+ short SCapCbTest_ON_Max[TX_NUM_MAX][RX_NUM_MAX];
+ short SCapCbTest_ON_Min[TX_NUM_MAX][RX_NUM_MAX];
+ short SCapCbTest_OFF_Max[TX_NUM_MAX][RX_NUM_MAX];
+ short SCapCbTest_OFF_Min[TX_NUM_MAX][RX_NUM_MAX];
+
+ int NoistTest_Coefficient[TX_NUM_MAX][RX_NUM_MAX];
+};
+
+struct stCfg_SCap_DetailThreshold
+{
+ int TempData[MAX_CHANNEL_NUM];
+ int RawDataTest_Max[MAX_CHANNEL_NUM];
+ int RawDataTest_Min[MAX_CHANNEL_NUM];
+ int CiTest_Max[MAX_CHANNEL_NUM];
+ int CiTest_Min[MAX_CHANNEL_NUM];
+ int DeltaCiTest_Base[MAX_CHANNEL_NUM];
+ int DeltaCiTest_AnotherBase1[MAX_CHANNEL_NUM];
+ int DeltaCiTest_AnotherBase2[MAX_CHANNEL_NUM];
+ int CiDeviationTest_Base[MAX_CHANNEL_NUM];
+
+ int NoiseTest_Max[MAX_CHANNEL_NUM];
+ int DeltaCxTest_Sort[MAX_CHANNEL_NUM]; //Sort ¹ï6x06»P6x36³q¥Î
+ int DeltaCxTest_Area[MAX_CHANNEL_NUM]; //Sort ¹ï6x06»P6x36³q¥Î
+
+ int CbTest_Max[MAX_CHANNEL_NUM];
+ int CbTest_Min[MAX_CHANNEL_NUM];
+ int DeltaCbTest_Base[MAX_CHANNEL_NUM];
+ int DifferTest_Base[MAX_CHANNEL_NUM];
+ int CBDeviationTest_Base[MAX_CHANNEL_NUM];
+ int K1DifferTest_Base[MAX_CHANNEL_NUM];
+
+};
+
+void OnInit_MCap_DetailThreshold(char *strIniFile);
+void OnInit_SCap_DetailThreshold(char *strIniFile);
+
+void OnInit_InvalidNode(char *strIniFile);
+void OnGetTestItemParam(char *strItemName, char *strIniFile, int iDefautValue);
+void OnInit_DThreshold_RawDataTest(char *strIniFile);
+void OnInit_DThreshold_SCapRawDataTest(char *strIniFile);
+void OnInit_DThreshold_SCapCbTest(char *strIniFile);
+
+void OnInit_DThreshold_RxLinearityTest(char *strIniFile);//For FT5822
+void OnInit_DThreshold_TxLinearityTest(char *strIniFile);//For FT5822
+
+void set_max_channel_num(void);
+
+#endif
diff --git a/drivers/input/touchscreen/focaltech_3267/FTS_FW/CEI_ESW1_3267_0x90_app.i b/drivers/input/touchscreen/focaltech_3267/FTS_FW/CEI_ESW1_3267_0x90_app.i
new file mode 100644
index 0000000..db820d2
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3267/FTS_FW/CEI_ESW1_3267_0x90_app.i
@@ -0,0 +1,2949 @@
+0x2, 0x9b,0x22,0x2, 0x56,0x97,0x20,0x93,0xfd,0x22,0x22,0x2, 0x0, 0x48,0x12,0x7e,
+0x8c,0x12,0x87,0x26,0xe4,0x12,0x87,0xa4,0x2, 0x84,0x14,0x2, 0x75,0x2d,0x75,0x5d,
+0x0, 0x75,0x5c,0x0, 0x7e,0xb3,0xd, 0x60,0xf5,0x91,0x22,0x2, 0x73,0x87,0x6c,0xaa,
+0xe4,0xa, 0x4a,0x19,0xb4,0xf, 0x19,0x19,0xb4,0xe, 0xeb,0xb, 0xa0,0xbe,0xa0,0x2e,
+0x40,0xee,0x22,0x2, 0x6f,0xf9,0x22,0x22,0x32,0xff,0xff,0x2, 0x69,0x8a,0xe5,0x4e,
+0x70,0x3, 0x2, 0x84,0x14,0x7e,0xb3,0xd, 0xf2,0x70,0x9, 0x7e,0xa3,0x0, 0xec,0xbe,
+0xa0,0x2, 0x40,0xb, 0x60,0xc, 0x7e,0x73,0x9, 0x24,0xbe,0x70,0x2, 0x50,0x3, 0x2,
+0x80,0x59,0x22,0x2, 0x7, 0xc6,0x7d,0x53,0x5e,0x54,0x0, 0x7, 0x7c,0xab,0x6c,0x55,
+0x7d,0x43,0x1e,0x44,0x1e,0x44,0x1e,0x44,0xbc,0xa5,0x28,0x2, 0xb, 0x44,0x7e,0x30,
+0x2, 0xac,0x35,0x7e,0x7f,0x11,0x42,0x2d,0xf1,0x2e,0xf4,0x0, 0x14,0xb, 0x7a,0x10,
+0x5e,0x14,0x0, 0x3f,0x1b,0x7a,0x10,0xbe,0x44,0x0, 0x1f,0x28,0x22,0xbe,0x44,0x3,
+0x64,0x28,0x4, 0x7e,0x44,0x3, 0x64,0x7d,0x14,0x9e,0x14,0x0, 0x20,0x7e,0x4, 0x0,
+0x1b,0x8d,0x10,0x7d,0x1, 0xb, 0x4, 0x7e,0x14,0x0, 0x5, 0xad,0x10,0x2d,0x41,0x7d,
+0x4, 0x3e,0x4, 0x3e,0x4, 0x3e,0x4, 0x3e,0x4, 0x3e,0x4, 0x3e,0x4, 0x7e,0x30,0x2,
+0xac,0x35,0x7e,0x7f,0x11,0x42,0x2d,0xf1,0x2e,0xf4,0x0, 0x14,0xb, 0x7a,0x10,0x4d,
+0x10,0x1b,0x7a,0x10,0xb, 0x50,0xbe,0x50,0x8, 0x40,0x85,0x22,0xff,0xff,0xff,0xff,
+0xb7,0xf8,0x48,0x7, 0x43,0xbc,0x9b,0x64,0x90,0x6f,0x6, 0xf9,0xff,0xff,0xff,0x0,
+0x3, 0xf8,0xfc,0x7, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0x7f,0x50,0x7e,0x34,0x0, 0x24,0x12,0x7f,0x22,0xbe,0xb0,0x9, 0x68,0x1a,0xbe,0xb0,
+0xa, 0x68,0x15,0xbe,0xb0,0x15,0x68,0x10,0xbe,0xb0,0x21,0x68,0xb, 0xbe,0xb0,0xff,
+0x68,0x6, 0xe4,0x12,0x82,0x64,0x80,0xfa,0xa9,0xc3,0xea,0x29,0xb5,0x0, 0x2, 0x54,
+0xf, 0xa, 0x3b,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x2, 0x7f,0x5, 0x12,0x46,0xc,
+0x6d,0x33,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x12,0x7e,0xf, 0x11,0x42,0x2e,0x14,
+0x0, 0x12,0xb, 0xa, 0x30,0x29,0xb5,0x0, 0x2, 0x54,0x30,0xa, 0x2b,0x3e,0x24,0x3e,
+0x24,0x3e,0x24,0x3e,0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0x12,0xb, 0xa, 0x30,
+0x4d,0x32,0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x18,0x30,0xe5,0x11,0x7e,0xf, 0x11,0x42,
+0x2e,0x14,0x0, 0x12,0xb, 0xa, 0x30,0x4e,0x60,0x7c,0x1b,0xa, 0x30,0x6d,0x33,0x7e,
+0xf, 0x11,0x42,0x79,0x30,0x0, 0x70,0x69,0x25,0x0, 0x11,0x5e,0x40,0x3, 0x7e,0xf,
+0x11,0x42,0x2e,0x14,0x0, 0x70,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x69,0x25,
+0x0, 0x11,0x5e,0x24,0xc, 0x0, 0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x7e,0xf,
+0x11,0x42,0x2e,0x14,0x0, 0x70,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x6d,0x33,
+0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x72,0x69,0x25,0x0, 0x15,0x5e,0x40,0x3, 0x7e,
+0xf, 0x11,0x42,0x2e,0x14,0x0, 0x72,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x69,
+0x55,0x0, 0x13,0x5e,0x54,0x0, 0x2, 0x3, 0x3, 0x54,0xc0,0x7c,0xab,0xe4,0x7e,0xf,
+0x11,0x42,0x2e,0x14,0x0, 0x72,0xb, 0xa, 0x30,0x4d,0x35,0x1b,0xa, 0x30,0x69,0x35,
+0x0, 0x13,0x5e,0x70,0xc0,0x1e,0x34,0x1e,0x34,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0,
+0x74,0x6d,0x33,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x76,0x29,0xb5,0x0, 0x18,0x1e,
+0xb0,0x1e,0xb0,0x54,0x1, 0xa, 0x2b,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0x76,0xb,
+0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x18,0x54,0x3, 0xa, 0x2b,0x3e,
+0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0x76,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa,
+0x30,0x29,0xb5,0x0, 0x18,0x54,0x18,0xa, 0x2b,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0,
+0x76,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x69,0x35,0x0, 0x19,0x7e,0xf, 0x11,
+0x42,0x79,0x30,0x0, 0x78,0x69,0x35,0x0, 0x1b,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0,
+0x7a,0x69,0x35,0x0, 0x1d,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x7c,0x69,0x35,0x0,
+0x1f,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x7e,0x69,0x35,0x0, 0x21,0x7e,0xf, 0x11,
+0x42,0x79,0x30,0x0, 0x80,0x69,0x35,0x0, 0x23,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0,
+0x82,0x69,0x35,0x0, 0x25,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x8a,0x6c,0x77,0x74,
+0x2, 0xac,0xb7,0x7f,0x5, 0x2d,0x15,0x69,0x20,0x0, 0x27,0x7e,0xf, 0x11,0x42,0x2d,
+0x15,0x79,0x20,0x0, 0x8c,0xb, 0x70,0xa5,0xbf,0xb, 0xe4,0x29,0x75,0x0, 0x4, 0x7c,
+0x47,0x6c,0x55,0x29,0x75,0x0, 0x3, 0xa, 0x37,0x2d,0x32,0x7e,0xf, 0x11,0x42,0x79,
+0x30,0x0, 0xa2,0x29,0x75,0x0, 0x6, 0x7c,0x47,0x29,0x75,0x0, 0x5, 0xa, 0x37,0x2d,
+0x32,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xa4,0x29,0x75,0x0, 0x8, 0x7c,0x47,0x29,
+0x75,0x0, 0x7, 0xa, 0x37,0x2d,0x32,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xa6,0x6d,
+0x33,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xa8,0x29,0x75,0x0, 0x9, 0xbe,0x70,0x0,
+0x7e,0xf, 0x11,0x42,0x28,0x2b,0x2e,0x14,0x0, 0xa8,0xb, 0xa, 0x30,0x4e,0x70,0x40,
+0x1b,0xa, 0x30,0x29,0x75,0x0, 0x9, 0xa, 0x27,0x1b,0x24,0x5e,0x24,0x0, 0x3f,0x7e,
+0xf, 0x11,0x42,0x2e,0x14,0x0, 0xa8,0xb, 0xa, 0x30,0x5e,0x70,0xc0,0x4d,0x32,0x80,
+0xa, 0x2e,0x14,0x0, 0xa8,0xb, 0xa, 0x30,0x4e,0x70,0x3f,0x1b,0xa, 0x30,0x29,0x75,
+0x0, 0xa, 0xbe,0x70,0x0, 0x7e,0xf, 0x11,0x42,0x28,0x2f,0x2e,0x14,0x0, 0xa8,0xb,
+0xa, 0x30,0x4e,0x60,0x40,0x1b,0xa, 0x30,0x29,0x75,0x0, 0xa, 0xa, 0x27,0x1b,0x24,
+0x5e,0x24,0x0, 0x3f,0x7c,0x45,0x6c,0x55,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xa8,
+0xb, 0xa, 0x30,0x5e,0x60,0xc0,0x4d,0x32,0x80,0xa, 0x2e,0x14,0x0, 0xa8,0xb, 0xa,
+0x30,0x4e,0x60,0x3f,0x1b,0xa, 0x30,0x7e,0x34,0xa0,0x1a,0x7e,0xf, 0x11,0x42,0x79,
+0x30,0x0, 0xaa,0x29,0x75,0x0, 0xb, 0xa, 0x27,0x5e,0x24,0x0, 0x3f,0x3e,0x24,0x3e,
+0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0,
+0xaa,0xb, 0xa, 0x30,0x5e,0x34,0xf0,0x3f,0x4d,0x32,0x1b,0xa, 0x30,0x7e,0x34,0x0,
+0x1, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xac,0xa9,0xd5,0xcb,0x75,0xfd,0x6, 0x7e,
+0x71,0xfe,0xa9,0xc5,0xcb,0x5e,0x70,0x30,0x1e,0x70,0x1e,0x70,0xa, 0x27,0x7e,0xf,
+0x11,0x42,0x2e,0x14,0x0, 0xac,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0xa9,0xc5,
+0xcb,0x29,0xb5,0x0, 0x2, 0x23,0x23,0x54,0x3, 0x14,0x68,0x17,0x14,0x68,0x24,0xb,
+0xb1,0x78,0x31,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xac,0xb, 0xa, 0x30,0x4e,0x70,
+0x80,0x80,0x1e,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xac,0xb, 0xa, 0x30,0x4e,0x70,
+0x40,0x80,0xe, 0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xac,0xb, 0xa, 0x30,0x4e,0x70,
+0x30,0x1b,0xa, 0x30,0x7e,0x34,0x10,0x0, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xae,
+0x29,0xb5,0x0, 0x18,0x54,0x3, 0x78,0x11,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,
+0xb, 0xa, 0x30,0x4e,0x70,0x1, 0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x1, 0x30,0xe5,0x11,
+0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x60,0x20,0x1b,0xa,
+0x30,0x29,0xb5,0x0, 0x1, 0x30,0xe6,0x11,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,
+0xb, 0xa, 0x30,0x4e,0x70,0x80,0x1b,0xa, 0x30,0x69,0x55,0x0, 0x11,0xa, 0x5a,0xc4,
+0x7d,0x35,0x5e,0x34,0x0, 0x1, 0x68,0x11,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,
+0xb, 0xa, 0x30,0x4e,0x60,0x1, 0x1b,0xa, 0x30,0x69,0x35,0x0, 0x13,0x5e,0x34,0x0,
+0x1, 0x68,0x11,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x60,
+0x2, 0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x1, 0x30,0xe7,0x11,0x7e,0xf, 0x11,0x42,0x2e,
+0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x60,0x4, 0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x17,
+0x30,0xe0,0x11,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x60,
+0x8, 0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x17,0x30,0xe1,0x11,0x7e,0xf, 0x11,0x42,0x2e,
+0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x60,0x80,0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x17,
+0x30,0xe2,0x11,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x60,
+0x40,0x1b,0xa, 0x30,0x7f,0x5, 0x12,0x73,0xf7,0x7f,0x5, 0x12,0x7e,0xbf,0x7e,0x34,
+0x1, 0x0, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xb0,0x7e,0x5b,0xb0,0x30,0xe6,0x11,
+0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x4e,0x70,0x2, 0x1b,0xa,
+0x30,0x29,0xb5,0x0, 0x1, 0x54,0x1f,0xa, 0x2b,0x3e,0x24,0x3e,0x24,0x7e,0xf, 0x11,
+0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x29,0x75,0x0,
+0x9e,0xa, 0x37,0x7d,0x23,0x7c,0x45,0x6c,0x55,0x3e,0x24,0x7e,0xf, 0x11,0x42,0x2e,
+0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,
+0x14,0x0, 0xb2,0xb, 0xa, 0x30,0x4e,0x70,0x1, 0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x18,
+0x54,0x3, 0xb4,0x1, 0x22,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb2,0xb, 0xa, 0x30,
+0x4e,0x70,0x2, 0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb2,0xb, 0xa,
+0x30,0x4e,0x70,0x4, 0x1b,0xa, 0x30,0x22,0x7e,0xb3,0x9, 0x25,0x54,0xe, 0x7a,0xb3,
+0x9, 0x25,0x7e,0xb3,0xd, 0x78,0x54,0x3, 0xa, 0x3b,0x3e,0x34,0x3e,0x34,0x3e,0x34,
+0x3e,0x34,0xb, 0x34,0x7e,0xb3,0xd, 0x75,0x54,0x1, 0xa, 0x2b,0x3e,0x24,0x3e,0x24,
+0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x2d,0x23,0x7e,0xb3,0xd, 0x79,0x54,0x1,
+0xa, 0x3b,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,
+0x2d,0x32,0x4e,0x73,0x9, 0x25,0x7a,0x73,0x9, 0x25,0x7e,0xb3,0xd, 0x76,0x54,0x1,
+0xa, 0x2b,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x7e,0xb3,0xd, 0x6c,
+0x54,0x1f,0xa, 0x3b,0x2d,0x32,0x7e,0xb3,0xd, 0x77,0x54,0x1, 0xa, 0x2b,0x3e,0x24,
+0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x2d,0x23,0x7e,0xb3,0xd, 0x7e,
+0x54,0x1, 0xa, 0x3b,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,
+0x3e,0x34,0x2d,0x32,0x7a,0x73,0x9, 0x26,0x7e,0xb3,0xd, 0x8c,0x54,0x3, 0xa, 0x2b,
+0x3e,0x24,0x3e,0x24,0x7e,0xb3,0xd, 0x8b,0x54,0x3, 0xa, 0x3b,0x2d,0x32,0x7a,0x73,
+0x9, 0x27,0x7e,0x34,0x15,0x99,0x7a,0x37,0x9, 0x36,0x7e,0x73,0xd, 0x7f,0xa, 0x37,
+0x2e,0x34,0xc, 0x0, 0x7a,0x37,0x9, 0x38,0x7e,0x73,0xd, 0x80,0xa, 0x37,0x3e,0x34,
+0x3e,0x34,0x7a,0x37,0x9, 0x3a,0x7e,0x73,0xd, 0x81,0xa, 0x37,0xb, 0x36,0x7a,0x73,
+0x9, 0x3c,0x7e,0xb3,0xd, 0x8d,0x54,0x1, 0xa, 0x2b,0x3e,0x24,0x3e,0x24,0x3e,0x24,
+0x7e,0xb3,0xd, 0x82,0x54,0x3, 0xa, 0x3b,0x2d,0x32,0x7e,0xb3,0xd, 0x8e,0x54,0x1,
+0xa, 0x2b,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x2d,0x23,0x7e,0xb3,0xd, 0x8a,
+0x54,0x1, 0xa, 0x3b,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x2d,0x32,
+0x7a,0x73,0x9, 0x3d,0x7e,0x37,0xd, 0x83,0x7a,0x37,0x9, 0x3e,0x7e,0x73,0xd, 0x85,
+0xa, 0x37,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x7a,0x37,0x9, 0x40,0x7e,0x73,
+0xd, 0x86,0xa, 0x37,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x7a,0x37,0x9, 0x42,
+0x7e,0x73,0xd, 0x87,0xa, 0x37,0x3e,0x34,0x3e,0x34,0x7a,0x37,0x9, 0x44,0x7e,0x73,
+0xd, 0x88,0xa, 0x37,0x3e,0x34,0x3e,0x34,0x7a,0x37,0x9, 0x46,0x7e,0x73,0xd, 0x89,
+0xa, 0x37,0x3e,0x34,0x3e,0x34,0x7a,0x37,0x9, 0x48,0x7e,0x73,0xd, 0x7b,0x7a,0x73,
+0x9, 0x30,0x7e,0x34,0x0, 0x8, 0xca,0x39,0x7e,0x18,0xd, 0x6d,0x7e,0x8, 0x9, 0x28,
+0x12,0x9c,0xb5,0x1b,0xfd,0x22,0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x2b,0xca,0x1b,
+0xca,0xb, 0xc0,0x83,0xc0,0x82,0xc2,0xc6,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb4,
+0xb, 0xa, 0x30,0x5e,0x70,0xfe,0x1b,0xa, 0x30,0xd2,0xb, 0x12,0x77,0xbb,0xd0,0x82,
+0xd0,0x83,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x5b,0xda,0x6b,0xda,0x7b,0x32,0xff,
+0xca,0x3b,0x7c,0xe7,0x7c,0xfb,0x75,0x44,0x0, 0x6c,0xcc,0x9f,0x22,0x7f,0x42,0x7f,
+0x52,0x7f,0x72,0x7e,0x37,0x1, 0xcb,0x7a,0x35,0x3a,0x7e,0xa0,0x5, 0xac,0xae,0x49,
+0x35,0x1, 0x66,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x7a,0x35,0x3c,0x49,0x35,
+0x1, 0x68,0x7d,0x43,0x3e,0x44,0x3e,0x44,0x3e,0x44,0x3e,0x44,0x7a,0x45,0x3e,0x7e,
+0xa0,0x5, 0xac,0xaf,0x49,0x25,0x1, 0x7c,0x7d,0x34,0x9d,0x32,0x12,0x9c,0xec,0x7d,
+0x13,0x7e,0xa0,0x5, 0xac,0xaf,0x49,0x25,0x1, 0x7a,0x7e,0x35,0x3c,0x9d,0x32,0x12,
+0x9c,0xec,0x2d,0x31,0x7a,0x35,0x40,0x7e,0xa0,0x5, 0xac,0xaf,0x9, 0xb5,0x1, 0x7e,
+0x7c,0xdb,0xbe,0xd0,0x2, 0x50,0x2, 0x1, 0x7b,0x6c,0xdd,0x7e,0xa0,0x4, 0xac,0xad,
+0x49,0x25,0xe, 0x91,0x7e,0x35,0x3e,0x9d,0x32,0x12,0x9c,0xec,0x7d,0x13,0x7e,0xa0,
+0x4, 0xac,0xad,0x49,0x25,0xe, 0x8f,0x7e,0x35,0x3c,0x9d,0x32,0x12,0x9c,0xec,0x2d,
+0x31,0x7d,0xc3,0x7e,0xa3,0xd, 0xa7,0x74,0x10,0xa4,0x7a,0x55,0x42,0x7e,0xb3,0x1,
+0x4d,0x70,0x2, 0xa1,0x45,0x7e,0xb3,0x1, 0x60,0x70,0x2, 0xa1,0x45,0x7e,0x35,0x40,
+0x6d,0x22,0x7e,0x33,0xa, 0xb0,0xa, 0x13,0x6d,0x0, 0x12,0x9a,0x60,0x7e,0x15,0x42,
+0x12,0x9a,0x7a,0x7d,0xd3,0x7e,0x53,0xa, 0xb1,0xa, 0xc5,0xbd,0xcd,0x38,0x2, 0x1,
+0xe3,0x7d,0xdc,0x7e,0xb3,0xd, 0xb8,0x60,0x2, 0xa1,0x35,0xf5,0x44,0x6c,0xcc,0x7e,
+0xa0,0x14,0xac,0xad,0x49,0x25,0x10,0x85,0x49,0x35,0x10,0x89,0xbd,0x32,0x68,0x2,
+0x21,0x10,0x49,0x25,0x10,0x87,0x49,0x35,0x10,0x8b,0xbd,0x32,0x78,0x2, 0xa1,0x20,
+0x7e,0x35,0x3e,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x6d,0x22,0x7f,0x71,0x7e,
+0xc7,0x1, 0xcb,0x7d,0x3c,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x7d,0x13,0x6d,
+0x0, 0xbf,0x7, 0x8, 0x2, 0x21,0x46,0x7e,0xb5,0x3a,0x7d,0x1b,0x9d,0x13,0x6d,0x0,
+0xbf,0x7, 0x48,0x2, 0x21,0x4b,0x75,0x4b,0x34,0x21,0x97,0x7d,0x3c,0x1e,0x34,0x1e,
+0x34,0x1e,0x34,0x7d,0x13,0x6d,0x0, 0xbf,0x7, 0x8, 0x2, 0x21,0x8f,0x7d,0x1b,0x9d,
+0x13,0x6d,0x0, 0xbf,0x7, 0x48,0x2, 0x21,0x6b,0x21,0x8f,0x7e,0x54,0x0, 0xc, 0x7d,
+0x9c,0x8d,0x95,0x7d,0x4b,0x1e,0x44,0x7d,0x14,0x9d,0x19,0x6d,0x0, 0xbf,0x7, 0x48,
+0x2, 0x21,0x94,0x7d,0x14,0x2d,0x19,0x6d,0x0, 0xbf,0x7, 0x18,0x2, 0x21,0x94,0x75,
+0x4b,0x20,0x21,0x97,0x75,0x4b,0x19,0x7e,0xa0,0x14,0xac,0xad,0x49,0x25,0x10,0x85,
+0x7e,0x35,0x3c,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x9d,0x32,0x12,0x9c,0xec,
+0x1a,0x26,0x1a,0x24,0x7f,0x51,0x7e,0xa0,0x14,0xac,0xad,0x49,0x25,0x10,0x87,0x7e,
+0x35,0x3e,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x9d,0x32,0x12,0x9c,0xec,0x1a,
+0x26,0x1a,0x24,0x7f,0x71,0x7d,0x2f,0x7d,0x3b,0x2d,0x32,0x7d,0xc3,0xbe,0xc4,0x0,
+0x7, 0x18,0x2, 0x41,0x47,0xbe,0x58,0x0, 0x0, 0x68,0x2, 0x21,0xf3,0x7f,0x15,0xb,
+0x1c,0x7f,0x51,0xbe,0x78,0x0, 0x0, 0x68,0x2, 0x41,0x1, 0x7f,0x17,0xb, 0x1c,0x7f,
+0x71,0x7e,0x14,0x0, 0x64,0x7f,0x17,0x12,0x9a,0x71,0x7f,0x5, 0x12,0x9a,0xcd,0x7f,
+0x41,0xe5,0x4b,0xa, 0x1b,0x6d,0x0, 0xbf,0x4, 0x18,0x2, 0x41,0x21,0xb, 0xc0,0x41,
+0x47,0xbe,0x48,0x0, 0x64,0x18,0x2, 0x41,0x47,0x7e,0x14,0x0, 0x64,0x7f,0x15,0x12,
+0x9a,0x71,0x7f,0x7, 0x12,0x9a,0xcd,0x7f,0x41,0xe5,0x4b,0xa, 0x1b,0x6d,0x0, 0xbf,
+0x4, 0x18,0x2, 0x41,0x47,0x5, 0x44,0x7e,0xa0,0x14,0xac,0xad,0x49,0x25,0x10,0x85,
+0x49,0x35,0x10,0x89,0x9d,0x32,0x12,0x9c,0xec,0x1a,0x26,0x1a,0x24,0x7f,0x51,0x7e,
+0xa0,0x14,0xac,0xad,0x49,0x25,0x10,0x87,0x49,0x35,0x10,0x8b,0x9d,0x32,0x12,0x9c,
+0xec,0x1a,0x26,0x1a,0x24,0x7f,0x71,0xbe,0x58,0x0, 0x0, 0x68,0x2, 0x41,0x85,0x7f,
+0x15,0xb, 0x1c,0x7f,0x51,0xbe,0x78,0x0, 0x0, 0x68,0x2, 0x41,0x93,0x7f,0x17,0xb,
+0x1c,0x7f,0x71,0x7e,0x14,0x0, 0x64,0x7f,0x17,0x12,0x9a,0x71,0x7f,0x5, 0x12,0x9a,
+0xcd,0x7f,0x41,0xe5,0x4b,0xa, 0x1b,0x6d,0x0, 0xbf,0x4, 0x18,0x2, 0x41,0xb3,0xb,
+0xc0,0x41,0xd9,0xbe,0x48,0x0, 0x64,0x18,0x2, 0x41,0xd9,0x7e,0x14,0x0, 0x64,0x7f,
+0x15,0x12,0x9a,0x71,0x7f,0x7, 0x12,0x9a,0xcd,0x7f,0x41,0xe5,0x4b,0xa, 0x1b,0x6d,
+0x0, 0xbf,0x4, 0x18,0x2, 0x41,0xd9,0x5, 0x44,0x7e,0xa0,0x14,0xac,0xad,0x49,0x35,
+0x10,0x8d,0x49,0x25,0x10,0x8f,0x49,0x15,0x10,0x85,0x49,0x5, 0x10,0x87,0x12,0x84,
+0x95,0x7d,0x23,0x7a,0x25,0x49,0xbd,0x2c,0x8, 0x2, 0xa1,0xc, 0xe5,0x4b,0xbe,0xb0,
+0x34,0x7f,0x14,0x50,0x2, 0x61,0x1a,0x2e,0x18,0x0, 0xf, 0x7d,0x1d,0x12,0x9a,0x71,
+0x2f,0x11,0x2f,0x11,0x7e,0x8, 0x0, 0x5a,0x61,0x2b,0x2e,0x18,0x0, 0xf, 0x7d,0x1d,
+0x12,0x9a,0x71,0x2f,0x11,0x2f,0x11,0x7e,0x8, 0x0, 0x4b,0x12,0x9a,0xcd,0x7f,0x41,
+0xe5,0x44,0x60,0x2, 0x81,0xaf,0x4c,0xcc,0x68,0x2, 0x81,0xaf,0x7e,0xa0,0x14,0xac,
+0xad,0x49,0x15,0x10,0x85,0x6d,0x0, 0x49,0x35,0x10,0x8d,0x6d,0x22,0x9f,0x10,0x7f,
+0x51,0x7d,0x3c,0x7d,0x2b,0x7e,0x15,0x49,0x12,0x85,0xcf,0x7d,0xf3,0x1a,0x36,0x1a,
+0xe6,0x7a,0x7d,0x45,0x7e,0xa0,0x14,0xac,0xad,0x49,0x15,0x10,0x85,0x6d,0x0, 0x7f,
+0x17,0x2f,0x10,0x7a,0x1d,0x45,0x7e,0xa0,0x5, 0xac,0xae,0x49,0x15,0x1, 0x66,0x6d,
+0x0, 0x7e,0x1d,0x45,0x2f,0x10,0x7a,0x1d,0x45,0x7e,0x7d,0x45,0xbe,0x78,0x0, 0x0,
+0x58,0x2, 0x61,0xb5,0x7e,0xa0,0x6, 0xac,0xad,0x49,0x35,0xe, 0xad,0x4d,0x33,0x68,
+0x2, 0x61,0xb5,0x7e,0x8, 0x0, 0x2, 0x7f,0x17,0x12,0x9a,0xcd,0x7e,0xa0,0x5, 0xac,
+0xae,0x59,0x35,0x1, 0x66,0x7e,0xa0,0x14,0xac,0xad,0x49,0x15,0x10,0x87,0x6d,0x0,
+0x7e,0xa0,0x14,0xac,0xad,0x49,0x35,0x10,0x8f,0x6d,0x22,0x9f,0x10,0x7f,0x71,0x7d,
+0x3c,0x7d,0x2f,0x7e,0x15,0x49,0x12,0x85,0xcf,0x1a,0x26,0x1a,0x24,0x7a,0x1d,0x45,
+0x7e,0xa0,0x14,0xac,0xad,0x49,0x15,0x10,0x87,0x6d,0x0, 0x7e,0x1d,0x45,0x2f,0x10,
+0x7a,0x1d,0x45,0x7e,0xa0,0x5, 0xac,0xae,0x49,0x15,0x1, 0x68,0x6d,0x0, 0x7e,0x1d,
+0x45,0x2f,0x10,0x7a,0x1d,0x45,0xbe,0x18,0x0, 0x0, 0x58,0x2, 0x81,0x30,0x7e,0xa0,
+0x6, 0xac,0xad,0x49,0x35,0xe, 0xad,0x4d,0x33,0x68,0x2, 0x81,0x30,0x7e,0x8, 0x0,
+0x2, 0x7e,0x1d,0x45,0x12,0x9a,0xcd,0x7e,0xa0,0x5, 0xac,0xae,0x59,0x35,0x1, 0x68,
+0x7e,0xa0,0x6, 0x7c,0x9d,0xac,0x9a,0x49,0x34,0xe, 0xa9,0x4d,0x33,0x68,0x2, 0x81,
+0x4d,0x7d,0x3b,0x59,0x34,0xe, 0xa9,0x7d,0x3f,0x59,0x34,0xe, 0xab,0x49,0x34,0xe,
+0xa9,0x1a,0x26,0x1a,0x24,0x7f,0x5, 0x12,0x9a,0x60,0xbe,0x18,0x0, 0x0, 0x58,0x2,
+0x81,0x77,0x49,0x34,0xe, 0xab,0x1a,0x26,0x1a,0x24,0x7f,0x7, 0x12,0x9a,0x60,0xbe,
+0x18,0x0, 0x0, 0x48,0x2, 0x81,0xaf,0x7e,0xa0,0x6, 0xac,0xad,0x49,0xc5,0xe, 0xad,
+0xbe,0xc4,0x0, 0x3, 0x48,0x2, 0x81,0x99,0x74,0x6, 0x7c,0x5d,0xac,0x5b,0x2e,0x24,
+0xe, 0xad,0x7d,0x3c,0xb, 0x34,0x1b,0x28,0x30,0x7d,0x3b,0x7e,0xa0,0x6, 0xac,0xad,
+0x59,0x35,0xe, 0xa9,0x7d,0x3f,0x7e,0xa0,0x6, 0xac,0xad,0x59,0x35,0xe, 0xab,0xe5,
+0x44,0xbe,0xb0,0x2, 0x50,0x2, 0x81,0xcb,0x7e,0xa0,0x6, 0x7c,0x9d,0xac,0x9a,0x49,
+0x24,0xe, 0xad,0xbe,0x24,0x0, 0x2, 0x58,0x2, 0x81,0xd0,0x75,0x44,0x0, 0x81,0xde,
+0x4d,0x22,0x68,0x2, 0x81,0xde,0x7e,0x34,0x0, 0x1, 0x59,0x34,0xe, 0xad,0xbe,0xc0,
+0x2, 0x50,0x2, 0x81,0xf8,0x7e,0xa0,0x6, 0x7c,0x9d,0xac,0x9a,0x49,0x24,0xe, 0xad,
+0xbe,0x24,0x0, 0x2, 0x58,0x2, 0x81,0xfc,0x6c,0xcc,0xa1,0x35,0x4d,0x22,0x68,0x2,
+0xa1,0x35,0x7e,0x34,0x0, 0x1, 0x59,0x34,0xe, 0xad,0xa1,0x35,0x7e,0x34,0x0, 0x2,
+0x7e,0xa0,0x6, 0xac,0xad,0x59,0x35,0xe, 0xad,0x75,0x44,0x0, 0x6c,0xcc,0xa1,0x35,
+0x6d,0xcc,0x7e,0xa0,0x6, 0x7c,0x9d,0xac,0x9a,0x59,0xc4,0xe, 0xa9,0x59,0xc4,0xe,
+0xab,0x59,0xc4,0xe, 0xad,0xbe,0xd4,0x0, 0x80,0x38,0x2, 0xa1,0x9f,0x7e,0x34,0x1,
+0x0, 0x7d,0xd3,0xa1,0x9f,0x7e,0xf5,0x42,0xbd,0xfc,0x28,0x2, 0xa1,0x50,0xa1,0x7a,
+0x7e,0x35,0x40,0x6d,0x22,0x7c,0x56,0x7c,0x67,0x6c,0x77,0x7d,0x1f,0x12,0x9a,0x7a,
+0x7d,0xd3,0xbe,0xd4,0x0, 0x10,0x40,0x2, 0xa1,0x72,0x7e,0x34,0x0, 0x10,0x7d,0xd3,
+0xa1,0x80,0xbe,0xd4,0x0, 0x80,0x38,0x2, 0xa1,0x80,0x7e,0x34,0x1, 0x0, 0x7d,0xd3,
+0x7e,0xa0,0x2, 0xac,0xad,0x49,0x35,0xe, 0x85,0xbd,0x3c,0x38,0x2, 0xa1,0x97,0x49,
+0x35,0xe, 0x8b,0x7d,0xd3,0xa1,0x9b,0x59,0xd5,0xe, 0x8b,0x59,0xc5,0xe, 0x85,0x7e,
+0xb3,0x1, 0x5f,0x70,0x2, 0xa1,0xe0,0x7e,0xb3,0x10,0xed,0x70,0x2, 0xa1,0xe0,0x7e,
+0x53,0x10,0xec,0xa5,0xbd,0x3, 0x2, 0x80,0x2, 0xa1,0xbf,0x6d,0x33,0xa1,0xd9,0xa5,
+0xbd,0x2, 0x2, 0x80,0x2, 0xa1,0xcd,0x7e,0x34,0x0, 0x8, 0xa1,0xd9,0xa5,0xbd,0x1,
+0x2, 0x80,0x2, 0xa1,0xe0,0x7d,0x3d,0x1e,0x34,0x7d,0xd3,0x75,0x44,0x0, 0x6c,0xcc,
+0x7e,0xa0,0x5, 0xac,0xae,0x49,0x35,0x1, 0x66,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,
+0x34,0x7a,0x35,0x3c,0x49,0x35,0x1, 0x68,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,
+0x7a,0x35,0x3e,0x7e,0xb3,0x1, 0x5e,0xb4,0x1, 0x2, 0x80,0x2, 0xc1,0x6f,0x7e,0x8,
+0x1, 0x12,0x7e,0x1f,0x3, 0x30,0x12,0x9a,0xcd,0x7d,0xc3,0xbe,0xc4,0x0, 0x5b,0x38,
+0x2, 0xc1,0x39,0x7d,0x3c,0x9e,0x34,0x0, 0x5b,0x7d,0xc3,0x7e,0x34,0x0, 0x3, 0xad,
+0x3c,0x1e,0x34,0x2e,0x34,0x0, 0x5b,0x7d,0xc3,0xbe,0xc4,0x0, 0x24,0x38,0x2, 0xc1,
+0x59,0x7d,0x3c,0x9e,0x34,0x0, 0x24,0x7d,0xc3,0xbe,0xc4,0x0, 0xff,0x38,0x2, 0xc1,
+0x5d,0x7e,0x34,0x0, 0xff,0x7d,0xc3,0xc1,0x5d,0x6d,0x33,0x7d,0xc3,0xbd,0xcd,0x40,
+0x2, 0xc1,0x6b,0x7d,0x3d,0x9d,0x3c,0x7d,0xd3,0xc1,0x6f,0x6d,0x33,0x7d,0xd3,0x7e,
+0xa0,0x5, 0xac,0xaf,0x49,0x25,0x1, 0x7a,0x7e,0x35,0x3c,0x9d,0x32,0x12,0x9c,0xec,
+0x7d,0xc3,0xe5,0x44,0x70,0x2, 0xc1,0xa3,0x7d,0x3c,0x6d,0x22,0x7f,0x4, 0x12,0x9a,
+0x60,0x74,0xa, 0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x7d,
+0xc3,0xc1,0xaf,0x7d,0x3c,0xad,0x3d,0x7c,0x76,0x7c,0x65,0xa, 0x24,0x7d,0xc3,0x7e,
+0xa0,0x5, 0xac,0xaf,0x49,0x5, 0x1, 0x7a,0xbe,0x5, 0x3c,0x7d,0x25,0x40,0x2, 0xc1,
+0xcb,0x2e,0x24,0x1, 0x7a,0x7d,0x30,0x2d,0x3c,0xc1,0xd3,0x2e,0x24,0x1, 0x7a,0x7d,
+0x30,0x9d,0x3c,0x1b,0x28,0x30,0x49,0x25,0x1, 0x7c,0x7e,0x35,0x3e,0x9d,0x32,0x12,
+0x9c,0xec,0x7d,0xc3,0x4c,0xcc,0x78,0x2, 0xe1,0x5, 0x7d,0x3c,0x6d,0x22,0x7f,0x4,
+0x12,0x9a,0x60,0x74,0xa, 0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,
+0xf4,0x7d,0xc3,0xe1,0x11,0x7d,0x3c,0xad,0x3d,0x7c,0x76,0x7c,0x65,0xa, 0x24,0x7d,
+0xc3,0x7e,0xa0,0x5, 0x7c,0x3f,0xac,0x3a,0x49,0x1, 0x1, 0x7c,0xbe,0x5, 0x3e,0x7d,
+0x21,0x40,0x2, 0xe1,0x2f,0x2e,0x24,0x1, 0x7c,0x7d,0x30,0x2d,0x3c,0xe1,0x37,0x2e,
+0x24,0x1, 0x7c,0x7d,0x30,0x9d,0x3c,0x1b,0x28,0x30,0x7e,0x35,0x3c,0x7e,0xa0,0x4,
+0xac,0xad,0x59,0x35,0xe, 0x8f,0x7e,0x35,0x3e,0x59,0x35,0xe, 0x91,0xda,0x3b,0x22,
+0xca,0xf8,0xc2,0xab,0x7e,0xf3,0xd, 0xf2,0x4c,0xff,0x78,0x6, 0x7e,0xb3,0x0, 0xec,
+0x60,0xa, 0x4c,0xff,0x68,0x19,0x7e,0xb3,0x9, 0x24,0x70,0x13,0x12,0x80,0x59,0x12,
+0x7c,0x43,0x12,0x84,0x62,0x12,0x87,0x6, 0x12,0x87,0x5d,0x74,0x1, 0x80,0x29,0x4c,
+0xff,0x78,0x9, 0x7e,0xb3,0x0, 0xec,0xbe,0xb0,0x1, 0x68,0xb, 0x4c,0xff,0x68,0x20,
+0x7e,0xb3,0x9, 0x24,0xb4,0x1, 0x19,0x12,0x80,0x59,0x12,0x7c,0x43,0x12,0x84,0x62,
+0x12,0x86,0xcf,0x12,0x87,0xe2,0x74,0x2, 0x12,0x82,0x64,0x12,0x87,0xc9,0x80,0x3b,
+0x4c,0xff,0x78,0x9, 0x7e,0xb3,0x0, 0xec,0xbe,0xb0,0x2, 0x68,0xb, 0x4c,0xff,0x68,
+0x2a,0x7e,0xb3,0x9, 0x24,0xb4,0x2, 0x23,0xd2,0xc, 0x12,0x7d,0xb6,0x80,0x19,0x12,
+0x86,0xcf,0x12,0x87,0xe2,0x7e,0x8, 0x9, 0x25,0x12,0x6b,0xa8,0x74,0x2, 0x12,0x82,
+0x64,0x7e,0x34,0x11,0x94,0x12,0x5f,0xf7,0x20,0xc, 0xe4,0x12,0x86,0x2c,0xd2,0xab,
+0x12,0x80,0xaf,0xe4,0x12,0x87,0xa4,0x12,0x84,0x14,0xda,0xf8,0x22,0xff,0xff,0xff,
+0xca,0x79,0xc2,0x10,0x6c,0x11,0x7e,0xb3,0x1, 0x4d,0x70,0x2, 0x1, 0x3f,0x7e,0xb3,
+0x10,0xb5,0xbe,0xb0,0x2, 0x78,0x2, 0x1, 0x24,0x7e,0xb3,0x10,0xb6,0xb4,0x2, 0x2,
+0x80,0x2, 0x1, 0x3f,0x7e,0x33,0x1, 0xb6,0xbe,0x30,0x1, 0x28,0x2, 0x1, 0x3f,0x7e,
+0x33,0x1, 0xb5,0xbe,0x30,0x1, 0x28,0x2, 0x1, 0x3f,0xe4,0x7a,0xb3,0x1, 0xb5,0x6c,
+0x22,0x7e,0x90,0x5, 0xac,0x92,0x49,0xf4,0x1, 0x66,0x4d,0xff,0x78,0x2, 0x1, 0x58,
+0xbe,0xf4,0x1, 0xc2,0x38,0x2, 0x1, 0x8e,0x7e,0xe4,0x1, 0xc4,0x59,0xe4,0x1, 0x66,
+0x7e,0x70,0x6, 0xac,0x72,0x49,0x23,0x1, 0x90,0x49,0x34,0x1, 0x68,0x9d,0x32,0x12,
+0x9c,0xec,0xbe,0x34,0x0, 0xf, 0x18,0x2, 0x1, 0xc7,0x7e,0x70,0x6, 0xac,0x72,0x49,
+0xe3,0x1, 0x90,0x7e,0x70,0x5, 0xac,0x72,0x59,0xe3,0x1, 0x68,0x1, 0xc7,0xbe,0xf4,
+0x0, 0x6, 0x28,0x2, 0x1, 0xc7,0x7e,0x34,0x0, 0x6, 0x59,0x34,0x1, 0x66,0xac,0x72,
+0x49,0x23,0x1, 0x90,0x49,0x34,0x1, 0x68,0x9d,0x32,0x12,0x9c,0xec,0xbe,0x34,0x0,
+0xf, 0x18,0x2, 0x1, 0xc7,0x7e,0x70,0x6, 0xac,0x72,0x49,0x43,0x1, 0x90,0x7e,0x70,
+0x5, 0xac,0x72,0x59,0x43,0x1, 0x68,0x7e,0x50,0x5, 0xac,0x52,0x49,0x32,0x1, 0x68,
+0xbe,0x34,0x1, 0xc9,0x68,0x2, 0x1, 0xe2,0x7e,0x33,0x2, 0x12,0xa, 0x33,0x59,0x32,
+0x1, 0x68,0xb, 0x20,0xa5,0xba,0x2, 0x2, 0x80,0x2, 0x1, 0x41,0x6c,0x22,0x7e,0x30,
+0xff,0x7e,0x70,0x5, 0xac,0x72,0x19,0x33,0x1, 0x6a,0x7c,0x2, 0x2e,0x0, 0x27,0x74,
+0xff,0xa5,0xf6,0x7e,0x24,0xff,0xff,0x7c,0xb2,0x3e,0xb0,0x24,0x23,0xa, 0x3b,0x1b,
+0x38,0x20,0x7c,0x2, 0x2e,0x0, 0x29,0xe4,0xa5,0xf6,0xb, 0x20,0xa5,0xba,0x2, 0xce,
+0x7e,0xb3,0x1, 0xb5,0x60,0x2, 0x21,0x65,0x7e,0x33,0x1, 0x4d,0x4c,0x33,0x78,0x2,
+0x21,0x3a,0x7e,0xb3,0x1, 0xb6,0x70,0x2, 0x21,0x4a,0xa5,0xbb,0x0, 0x2, 0x80,0x2,
+0x21,0x65,0x7e,0xb3,0x1, 0xb6,0x70,0x2, 0x21,0x65,0x6c,0x22,0x7e,0x44,0x7f,0xff,
+0x7e,0x70,0x6, 0xac,0x72,0x59,0x43,0x1, 0x8e,0x59,0x43,0x1, 0x90,0xb, 0x20,0xa5,
+0xba,0x2, 0xe9,0x81,0x57,0x7e,0xb3,0x1, 0xb6,0x60,0x2, 0x21,0xa4,0x6c,0x22,0x21,
+0x9a,0x7e,0x90,0x5, 0xac,0x92,0x49,0x34,0x1, 0x66,0x7e,0x50,0x6, 0xac,0x52,0x59,
+0x32,0x1, 0x8e,0x49,0x34,0x1, 0x68,0x59,0x32,0x1, 0x90,0x19,0x24,0x1, 0x6a,0x7c,
+0x2, 0x2e,0x0, 0x29,0x74,0x1, 0xa5,0xf6,0xb, 0x20,0x7e,0x33,0x1, 0xb5,0xbc,0x32,
+0x38,0xcf,0x81,0x57,0x6c,0x22,0x41,0x2, 0x6c,0xaa,0x7e,0x70,0x6, 0xac,0x7a,0x49,
+0x23,0x1, 0x90,0x7e,0x70,0x5, 0xac,0x72,0x49,0x33,0x1, 0x68,0x9d,0x32,0x12,0x9c,
+0xec,0x7d,0x43,0x7e,0x70,0x6, 0xac,0x7a,0x49,0x23,0x1, 0x8e,0x7e,0x70,0x5, 0xac,
+0x72,0x49,0x33,0x1, 0x66,0x9d,0x32,0x12,0x9c,0xec,0x2d,0x43,0x7c,0xb2,0x3e,0xb0,
+0x24,0x23,0xa, 0x3b,0xb, 0x38,0x20,0xbd,0x24,0x38,0x2, 0x21,0xf9,0x7c,0x2, 0x2e,
+0x0, 0x27,0x7c,0xba,0xa5,0xf6,0x1b,0x38,0x40,0xb, 0xa0,0xbe,0xa0,0x2, 0x78,0xaa,
+0xb, 0x20,0x7e,0x33,0x1, 0xb5,0xbc,0x32,0x38,0x9e,0x6c,0x22,0x41,0xde,0xd2,0x10,
+0x6c,0xaa,0x41,0x52,0xbc,0xa2,0x78,0x2, 0x41,0x50,0x7c,0xa, 0x2e,0x0, 0x27,0xa5,
+0xe6,0x7c,0x3b,0x7c,0x2, 0x2e,0x0, 0x27,0xa5,0xe6,0xbc,0xb3,0x68,0x2, 0x41,0x50,
+0x7c,0xba,0x3e,0xb0,0x24,0x23,0xa, 0x3b,0xb, 0x38,0x20,0x7c,0xb2,0x3e,0xb0,0x24,
+0x23,0xa, 0x3b,0xb, 0x38,0x30,0xbd,0x32,0x50,0x2, 0x41,0x50,0xc2,0x10,0x41,0x5a,
+0xb, 0xa0,0x7e,0x33,0x1, 0xb5,0xbc,0x3a,0x38,0xba,0x7e,0xb3,0x1, 0x4d,0x70,0x2,
+0x41,0xa0,0x7c,0x2, 0x2e,0x0, 0x27,0xa5,0xe6,0xa, 0x4b,0x9, 0xb4,0x10,0xb5,0xb4,
+0x2, 0x2, 0x80,0x2, 0x41,0x7a,0xc2,0x10,0x41,0xa0,0xb4,0x1, 0x2, 0x80,0x2, 0x41,
+0xa0,0x7e,0x33,0x1, 0xb5,0xbe,0x30,0x2, 0x50,0x2, 0x41,0x9e,0x7e,0x33,0x1, 0xb6,
+0xbe,0x30,0x2, 0x50,0x2, 0x41,0x9e,0xe4,0x19,0xb4,0x10,0xb5,0x41,0xa0,0xc2,0x10,
+0x20,0x10,0x2, 0x41,0xdc,0x7c,0x2, 0x2e,0x0, 0x27,0xa5,0xe6,0x7c,0x3b,0xbe,0x30,
+0x2, 0x40,0x2, 0x41,0xdc,0x7c,0x3, 0x2e,0x0, 0x29,0x74,0x1, 0xa5,0xf6,0x7e,0x70,
+0x5, 0xac,0x72,0x19,0x33,0x1, 0x6a,0x49,0x43,0x1, 0x66,0x7e,0x50,0x6, 0xac,0x53,
+0x59,0x42,0x1, 0x8e,0x49,0x33,0x1, 0x68,0x59,0x32,0x1, 0x90,0xb, 0x20,0x7e,0x3,
+0x1, 0xb5,0xbc,0x2, 0x28,0x2, 0x41,0xe, 0x6c,0x22,0x61,0x4e,0x7e,0x70,0x5, 0xac,
+0x72,0x9, 0xb3,0x1, 0x6a,0xb4,0xff,0x2, 0x80,0x2, 0x61,0x4c,0x6c,0xaa,0x7c,0xa,
+0x2e,0x0, 0x29,0xa5,0xe6,0x60,0x2, 0x61,0x45,0x7e,0xb3,0x1, 0x4d,0x70,0x2, 0x61,
+0x21,0xa, 0x3a,0x9, 0xb3,0x10,0xb5,0x60,0x2, 0x61,0x1d,0x61,0x21,0xb, 0x10,0x61,
+0x45,0x74,0x1, 0xa5,0xf6,0x7e,0x90,0x5, 0xac,0x92,0x49,0x34,0x1, 0x66,0x7e,0x50,
+0x6, 0xac,0x5a,0x59,0x32,0x1, 0x8e,0x49,0x34,0x1, 0x68,0x59,0x32,0x1, 0x90,0x19,
+0xa4,0x1, 0x6a,0x61,0x4c,0xb, 0xa0,0xbe,0xa0,0x2, 0x40,0xb2,0xb, 0x20,0x7e,0x33,
+0x1, 0xb5,0xbc,0x32,0x38,0x96,0x7e,0xb3,0x1, 0x4d,0x70,0x2, 0x81,0x33,0x4c,0x11,
+0x78,0x2, 0x61,0xa0,0x4c,0x33,0x78,0x2, 0x61,0xa0,0xbc,0x31,0x50,0x2, 0x61,0xa0,
+0x7e,0x33,0x1, 0x6a,0xbe,0x30,0x2, 0x50,0x2, 0x61,0x96,0x7e,0x33,0x1, 0x6f,0xbe,
+0x30,0x2, 0x40,0x2, 0x61,0x96,0x7e,0x1f,0x1, 0x6c,0x7e,0x33,0x1, 0x6b,0x7a,0x1f,
+0x1, 0x67,0x7a,0x33,0x1, 0x66,0x7e,0xb3,0x1, 0xb5,0x9c,0xb1,0x7a,0xb3,0x1, 0xb5,
+0x7e,0x33,0x1, 0xb6,0xbe,0x33,0x1, 0xb5,0x38,0x2, 0x81,0x2a,0x6c,0x22,0x7c,0x12,
+0x2e,0x10,0x29,0xa5,0xe7,0x60,0x2, 0x81,0x1b,0x7e,0xf0,0x6, 0xac,0xf2,0x49,0xf7,
+0x1, 0x8e,0xbe,0xf4,0x7f,0xff,0x78,0x2, 0x81,0x1b,0xa, 0x42,0x9, 0x74,0x10,0xb5,
+0xbe,0x70,0x2, 0x40,0x2, 0x81,0x1b,0x49,0x27,0x1, 0x90,0xbe,0x27,0x1, 0xcb,0x40,
+0x2, 0x81,0x1b,0x9, 0xb4,0x10,0xb1,0x70,0x2, 0x81,0x1b,0x74,0x1, 0xa5,0xf7,0x7e,
+0x33,0x1, 0xb5,0x7c,0xa3,0x7e,0x10,0x5, 0xac,0x1a,0x59,0xf0,0x1, 0x66,0x59,0x20,
+0x1, 0x68,0x19,0x20,0x1, 0x6a,0x7d,0x4, 0x2e,0x4, 0x10,0xb5,0x7c,0xb7,0x4, 0x7a,
+0x9, 0xb0,0x7c,0xb3,0x4, 0x7a,0xb3,0x1, 0xb5,0x81,0x22,0xe4,0xa, 0x42,0x19,0xb4,
+0x10,0xb5,0xb, 0x20,0xa5,0xba,0x2, 0x86,0x81,0x33,0xe4,0x7a,0xb3,0x10,0xb5,0x7a,
+0xb3,0x10,0xb6,0x6c,0x22,0x7c,0x12,0x2e,0x10,0x29,0xa5,0xe7,0x60,0x2, 0x81,0x51,
+0x7e,0x44,0x7f,0xff,0x7e,0x70,0x6, 0xac,0x72,0x59,0x43,0x1, 0x8e,0x59,0x43,0x1,
+0x90,0xb, 0x20,0xa5,0xba,0x2, 0xde,0x7e,0xa3,0x1, 0xb5,0x6c,0x22,0x7c,0x12,0x2e,
+0x10,0x29,0xa5,0xe7,0xb4,0x1, 0x2, 0x80,0x2, 0x81,0x8b,0x7e,0x10,0x6, 0xac,0x12,
+0x9, 0xb0,0x1, 0x92,0xbe,0xb0,0x3, 0x78,0x2, 0x81,0x82,0xb4,0x1, 0x2, 0x80,0x2,
+0x81,0x86,0x6c,0x33,0x81,0xbb,0x7e,0x30,0x2, 0x81,0xbb,0x7e,0x10,0x6, 0xac,0x12,
+0x9, 0xb0,0x1, 0x92,0xbe,0xb0,0x2, 0x78,0x2, 0x81,0x9f,0x60,0x2, 0x81,0xb8,0x7e,
+0x30,0x1, 0xbe,0xa0,0x2, 0x40,0x2, 0x81,0xbb,0x7c,0xa, 0xb, 0xa0,0x7e,0x10,0x5,
+0xac,0x1, 0x19,0x20,0x1, 0x6a,0x81,0xbb,0x7e,0x30,0x3, 0xbe,0x30,0xff,0x78,0x2,
+0x81,0xcb,0x7e,0x10,0x6, 0xac,0x12,0x19,0x30,0x1, 0x93,0xb, 0x20,0xbe,0x20,0x2,
+0x40,0x8b,0xda,0x79,0x22,0xca,0x3b,0x20,0x6, 0x2, 0xe1,0xc9,0x7e,0xa3,0x1, 0xb5,
+0x7a,0xa1,0x26,0x7e,0xb3,0x1, 0xb6,0xf5,0x27,0x7e,0x77,0x9, 0x14,0x7e,0x67,0x9,
+0x16,0x7e,0xb3,0x9, 0x12,0xf5,0x24,0x7e,0xb3,0x9, 0x13,0xf5,0x25,0x7e,0x37,0x1,
+0xc9,0x7a,0x35,0x34,0x7e,0x37,0x1, 0xcb,0x7a,0x35,0x36,0x4c,0xaa,0x78,0x4, 0xc2,
+0x7, 0xe1,0xc9,0xe5,0x26,0xbe,0xb0,0x1, 0x38,0x2, 0xa1,0xc5,0x75,0x23,0x0, 0xa1,
+0xb8,0x7e,0xa1,0x23,0x74,0x5, 0xa4,0x49,0x45,0x1, 0x66,0x7a,0x45,0x30,0x49,0x35,
+0x1, 0x68,0x7a,0x35,0x32,0x7e,0x73,0x9, 0x64,0xbe,0x70,0x0, 0x28,0x10,0x7e,0x35,
+0x34,0xbe,0x35,0x30,0x28,0x70,0x7e,0x35,0x36,0xbe,0x35,0x32,0x28,0x68,0x7e,0x35,
+0x30,0x7d,0x27,0x12,0x87,0xb8,0x7a,0x35,0x38,0x7e,0x35,0x32,0x7d,0x27,0x12,0x87,
+0xb8,0x7d,0x23,0x7a,0x25,0x3a,0x7e,0x35,0x38,0x12,0x81,0x2, 0x7a,0x35,0x28,0xbd,
+0x36,0x28,0x43,0x7a,0x65,0x2a,0x7e,0x35,0x28,0xbe,0x34,0x0, 0x1, 0x50,0x7, 0x7e,
+0x34,0x0, 0x1, 0x7a,0x35,0x28,0x7e,0x35,0x38,0x7e,0x25,0x2a,0x7e,0x15,0x28,0x7d,
+0x7, 0x12,0x83,0xc5,0x7e,0xa1,0x23,0x74,0x5, 0xa4,0x59,0x35,0x1, 0x66,0x7e,0x35,
+0x3a,0x7e,0x25,0x2a,0x7e,0x15,0x28,0x7d,0x7, 0x12,0x83,0xc5,0x7e,0xa1,0x23,0x74,
+0x5, 0xa4,0x59,0x35,0x1, 0x68,0x5, 0x23,0xe5,0x26,0xbe,0xb1,0x23,0x28,0x2, 0xa1,
+0x21,0xc2,0x7, 0xe1,0xc9,0xe5,0x26,0xb4,0x1, 0x67,0xe5,0x27,0x70,0x63,0x7e,0x37,
+0x1, 0x66,0x7a,0x35,0x30,0x7e,0x37,0x1, 0x68,0x7a,0x35,0x32,0x7e,0x73,0x9, 0x64,
+0xbe,0x70,0x0, 0x28,0x14,0x7e,0x35,0x34,0xbe,0x35,0x30,0x28,0x8, 0x7e,0x35,0x36,
+0xbe,0x35,0x32,0x38,0x4, 0xc2,0x7, 0xe1,0xc9,0x7e,0x35,0x30,0x7d,0x27,0x12,0x87,
+0xb8,0x7a,0x35,0x38,0x7e,0x35,0x32,0x7d,0x27,0x12,0x87,0xb8,0x7d,0x23,0x7a,0x25,
+0x3a,0x7e,0x35,0x38,0x12,0x81,0x2, 0x7a,0x35,0x28,0x7a,0x35,0x2a,0x7e,0x25,0x38,
+0x7a,0x27,0x8, 0xfa,0x7e,0x25,0x3a,0x7a,0x27,0x8, 0xfc,0x7a,0x37,0x8, 0xfe,0xe1,
+0x36,0xe5,0x26,0xb4,0x1, 0x2, 0x80,0x2, 0xe1,0x36,0x7e,0x37,0x1, 0x66,0x7a,0x35,
+0x30,0x7e,0x37,0x1, 0x68,0x7a,0x35,0x32,0x7e,0x73,0x9, 0x64,0xbe,0x70,0x0, 0x28,
+0x14,0x7e,0x35,0x34,0xbe,0x35,0x30,0x28,0x8, 0x7e,0x35,0x36,0xbe,0x35,0x32,0x38,
+0x4, 0xc2,0x7, 0xe1,0xc9,0x7e,0x35,0x30,0x7d,0x27,0x12,0x87,0xb8,0x7a,0x35,0x38,
+0x7e,0x35,0x32,0x7d,0x27,0x12,0x87,0xb8,0x7d,0x23,0x7a,0x25,0x3a,0x7e,0x35,0x38,
+0x12,0x81,0x2, 0x7a,0x35,0x28,0x9e,0x37,0x9, 0xa, 0x12,0x9c,0xec,0x7a,0x35,0x2c,
+0x7e,0x35,0x38,0x9e,0x37,0x8, 0xfa,0x7e,0x25,0x3a,0x9e,0x27,0x8, 0xfc,0x12,0x81,
+0x2, 0x7a,0x35,0x2e,0x7e,0x37,0x9, 0x1a,0xbe,0x35,0x2e,0x50,0x28,0x7e,0x35,0x28,
+0x9e,0x37,0x8, 0xfe,0x12,0x9c,0xec,0x7e,0xa1,0x24,0x74,0x5, 0xa4,0xbd,0x35,0x58,
+0xc, 0x7e,0xa0,0x2, 0xe5,0x24,0xa4,0xf5,0x24,0xd2,0x7, 0x80,0x8, 0x7e,0xb3,0x9,
+0x12,0xf5,0x24,0xc2,0x7, 0x30,0x7, 0x30,0xe5,0x24,0xa, 0x3b,0xbe,0x35,0x2c,0x28,
+0x4, 0x6d,0x33,0x80,0x27,0xe5,0x25,0xa, 0x3b,0xbe,0x35,0x2c,0x28,0x14,0x7e,0x25,
+0x2c,0x7e,0x34,0x0, 0x64,0xad,0x23,0xe5,0x25,0xa, 0x1b,0x6d,0x0, 0x12,0x9a,0x7c,
+0x80,0xa, 0x7e,0x34,0x0, 0x64,0x80,0x4, 0x7e,0x34,0x0, 0x64,0x7a,0x35,0x2c,0x7e,
+0xf7,0x9, 0xa, 0x7d,0x1f,0x6d,0x0, 0x7e,0x35,0x28,0x6d,0x22,0x9f,0x10,0x7e,0x15,
+0x2c,0x12,0x9a,0x71,0x7e,0x8, 0x0, 0x64,0x12,0x9a,0xcd,0x7f,0x1, 0x7d,0x3f,0x6d,
+0x22,0x2f,0x10,0x7a,0x35,0x2a,0x7e,0x35,0x2a,0xbd,0x36,0x38,0x7, 0x7e,0x25,0x28,
+0xbd,0x26,0x28,0x5, 0x7a,0x65,0x2a,0x80,0xb, 0xbe,0x34,0x0, 0x1, 0x50,0x5, 0x6d,
+0x33,0x7a,0x35,0x2a,0x7e,0x35,0x28,0xbe,0x34,0x0, 0x1, 0x50,0x7, 0x7e,0x34,0x0,
+0x1, 0x7a,0x35,0x28,0x7e,0x35,0x38,0x7e,0x25,0x2a,0x7e,0x15,0x28,0x7d,0x7, 0x12,
+0x83,0xc5,0x7a,0x37,0x1, 0x66,0x7e,0x35,0x3a,0x7e,0x25,0x2a,0x7e,0x15,0x28,0x7d,
+0x7, 0x12,0x83,0xc5,0x7d,0x23,0x7a,0x27,0x1, 0x68,0x7e,0x37,0x1, 0x66,0x7a,0x35,
+0x30,0x7a,0x25,0x32,0x7d,0x27,0x12,0x87,0xb8,0x7a,0x35,0x38,0x7e,0x35,0x32,0x7d,
+0x27,0x12,0x87,0xb8,0x7a,0x35,0x3a,0x7e,0x35,0x2a,0x7a,0x37,0x9, 0xa, 0x7e,0x27,
+0x9, 0x1a,0xbe,0x25,0x2e,0x50,0x12,0x7e,0x25,0x38,0x7a,0x27,0x8, 0xfa,0x7e,0x25,
+0x3a,0x7a,0x27,0x8, 0xfc,0x7a,0x37,0x8, 0xfe,0xda,0x3b,0x22,0x7e,0xb3,0xf, 0xa5,
+0xb4,0x1, 0x2, 0xc3,0x22,0x53,0xca,0xe1,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xaa,
+0xb, 0xa, 0x30,0x5e,0x60,0x3f,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0,
+0xac,0xb, 0xa, 0x30,0x5e,0x70,0xfc,0x1b,0xa, 0x30,0x75,0xcf,0x1f,0xd3,0x22,0xff,
+0xca,0x3b,0x7e,0xe3,0x1, 0xb5,0x7e,0xf7,0x1, 0xc9,0x7e,0xe7,0x1, 0xcb,0x4c,0xee,
+0x68,0x2, 0x1, 0x2e,0x6c,0xff,0xe4,0xa, 0x3f,0x19,0xb3,0x10,0xb3,0x19,0xb3,0x10,
+0xb1,0x19,0xb3,0x10,0xb5,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xea,0x81,0x6a,0x6c,0xff,
+0x7e,0x90,0x6, 0xac,0x9f,0x49,0x34,0x1, 0x8e,0xbe,0x34,0x7f,0xff,0x68,0x2, 0x1,
+0x52,0xe4,0xa, 0x2f,0x19,0xb2,0x10,0xb3,0x19,0xb2,0x10,0xb1,0x19,0xb2,0x10,0xb5,
+0x21,0x26,0xa, 0x2f,0x9, 0xb2,0x10,0xb5,0x60,0x2, 0x21,0x26,0x74,0x2, 0xac,0xbf,
+0x59,0x35,0x10,0xa9,0x49,0x44,0x1, 0x90,0x59,0x45,0x10,0xad,0x49,0x35,0x10,0xa9,
+0x49,0x25,0x10,0xad,0x74,0x14,0xac,0xbf,0x49,0x15,0x10,0x8d,0x49,0x5, 0x10,0x8f,
+0x12,0x84,0x95,0x7d,0xd3,0x74,0x14,0xac,0xbf,0x49,0x35,0x10,0x8d,0x49,0x25,0x10,
+0x8f,0x49,0x15,0x10,0x81,0x49,0x5, 0x10,0x83,0x12,0x84,0x95,0x7d,0xc3,0xa, 0x3f,
+0x9, 0x53,0x10,0xb3,0xbe,0x50,0x2, 0x50,0x2, 0x21,0x21,0x74,0x2, 0xac,0xbf,0x49,
+0x45,0x10,0xa9,0x7d,0x1f,0x1e,0x14,0x1e,0x14,0x1e,0x14,0xbd,0x14,0x28,0x2, 0x1,
+0xe9,0x7d,0x2f,0x9d,0x21,0xbd,0x24,0x50,0x2, 0x1, 0xe9,0x49,0x15,0x10,0xad,0x7d,
+0xe, 0x1e,0x4, 0x1e,0x4, 0x1e,0x4, 0x1e,0x4, 0xbd,0x1, 0x28,0x2, 0x1, 0xe9,0x7d,
+0x2e,0x9d,0x20,0xbd,0x21,0x40,0x2, 0x1, 0xfd,0x7e,0x17,0x1, 0xc9,0x7e,0x4, 0x0,
+0xa, 0x8d,0x10,0xbd,0x1d,0x40,0x2, 0x1, 0xfd,0x74,0x1, 0x21,0x22,0x7e,0x17,0x1,
+0xc9,0x7e,0x44,0x0, 0xa, 0x7d,0x51,0x8d,0x54,0xbd,0x5d,0x40,0x2, 0x21,0x1e,0x7e,
+0x4, 0x0, 0x6, 0x8d,0x10,0xbd,0x1c,0x40,0x2, 0x21,0x1e,0xe4,0x21,0x22,0xe4,0x21,
+0x22,0xe4,0x19,0xb3,0x10,0xb1,0xb, 0xf0,0xbe,0xf0,0x2, 0x68,0x2, 0x1, 0x30,0x6c,
+0xff,0x81,0x64,0x74,0x5, 0xac,0xbf,0x9, 0xd5,0x1, 0x88,0x49,0xd5,0x1, 0x84,0x49,
+0xc5,0x1, 0x86,0xa, 0x3d,0x9, 0xb3,0x10,0xb3,0x60,0x2, 0x21,0x6a,0x6c,0xcc,0x7e,
+0x50,0x14,0xac,0x5d,0x7e,0x70,0x4, 0xac,0x7c,0x2d,0x32,0x59,0xd3,0x10,0x81,0x59,
+0xc3,0x10,0x83,0xb, 0xc0,0xbe,0xc0,0x5, 0x78,0xe5,0xa, 0x3d,0x9, 0xb3,0x10,0xb3,
+0xbe,0xb0,0x5, 0x40,0x2, 0x21,0x81,0xa, 0x3d,0x2e,0x34,0x10,0xb3,0x4, 0x7a,0x39,
+0xb0,0xa, 0x3d,0x9, 0x13,0x10,0xb3,0xbe,0x10,0x1, 0x38,0x2, 0x41,0x4e,0xa, 0x3d,
+0x9, 0xb3,0x10,0xb5,0x60,0x2, 0x41,0x4e,0x7e,0xb3,0x1, 0x4d,0x70,0x2, 0x21,0xd2,
+0x7e,0xb3,0x1, 0x61,0x70,0x2, 0x21,0xd2,0x74,0x14,0xac,0xbd,0x49,0x35,0x10,0x91,
+0x49,0x25,0x10,0x8d,0x2d,0x23,0x7a,0x25,0x23,0x49,0x15,0x10,0x93,0x49,0x35,0x10,
+0x8f,0x2d,0x31,0x7a,0x35,0x25,0x1e,0x24,0x2d,0xd2,0x1e,0xd4,0x1e,0x34,0x2d,0xc3,
+0x1e,0xc4,0x74,0x14,0xac,0xbd,0x49,0x25,0x10,0x89,0x7d,0x3d,0x9d,0x32,0x12,0x9c,
+0xec,0x7a,0x35,0x23,0x74,0x14,0xac,0xbd,0x49,0x25,0x10,0x8b,0x7d,0x3c,0x9d,0x32,
+0x12,0x9c,0xec,0x7a,0x35,0x25,0x7e,0x24,0x0, 0xa, 0x7d,0x3f,0x8d,0x32,0xbe,0x35,
+0x23,0x50,0x2, 0x41,0xc, 0xbe,0x35,0x25,0x40,0x2, 0x41,0x2c,0x7e,0x30,0x14,0xac,
+0x3d,0x7d,0x31,0x2e,0x34,0x10,0x89,0x2e,0x14,0x10,0x85,0x74,0x4, 0x12,0x9b,0x1,
+0x74,0x14,0xac,0xbd,0x59,0xd5,0x10,0x89,0x59,0xc5,0x10,0x8b,0x7e,0x30,0x14,0xac,
+0x3d,0x7d,0x31,0x2e,0x34,0x10,0x8d,0x2e,0x14,0x10,0x91,0x74,0x4, 0x12,0x9b,0x1,
+0x74,0x14,0xac,0xbd,0x59,0xd5,0x10,0x8d,0x59,0xc5,0x10,0x8f,0x81,0x56,0xa, 0x3d,
+0x9, 0xb3,0x10,0xb5,0x70,0x2, 0x81,0x56,0xbe,0x10,0x3, 0x50,0x2, 0x81,0x56,0xa,
+0x3d,0x9, 0xb3,0x10,0xb1,0x70,0x2, 0x81,0x56,0x74,0x14,0xac,0xbd,0x49,0x25,0x10,
+0x81,0x49,0x35,0x10,0x8d,0x9d,0x32,0x12,0x9c,0xec,0xb, 0x34,0x7a,0x35,0x23,0x74,
+0x14,0xac,0xbd,0x49,0x25,0x10,0x83,0x49,0x35,0x10,0x8f,0x9d,0x32,0x12,0x9c,0xec,
+0xb, 0x34,0x7a,0x35,0x25,0x7e,0x24,0x0, 0xa, 0x7d,0x3f,0x8d,0x32,0xbe,0x35,0x23,
+0x38,0x2, 0x41,0xab,0xbe,0x35,0x25,0x28,0x2, 0x81,0x56,0x74,0x14,0xac,0xbd,0x49,
+0x35,0x10,0x8d,0x49,0x25,0x10,0x8f,0x49,0x15,0x10,0x85,0x49,0x5, 0x10,0x87,0x12,
+0x84,0x95,0xb, 0x34,0x6d,0x22,0x7a,0x1d,0x2b,0x74,0x14,0xac,0xbd,0x49,0x35,0x10,
+0x85,0x49,0x25,0x10,0x87,0x74,0x2, 0xac,0xbd,0x49,0x15,0x10,0xa9,0x49,0x5, 0x10,
+0xad,0x12,0x84,0x95,0x6d,0x22,0x7a,0x1d,0x27,0x74,0x14,0xac,0xbd,0x49,0xa5,0x10,
+0x87,0x49,0xb5,0x10,0x8f,0x9d,0xba,0x7d,0x2b,0x7e,0xd, 0x2b,0x12,0x85,0xcf,0x7d,
+0xb3,0x1a,0x36,0x1a,0xa6,0x74,0x14,0xac,0xbd,0x49,0x35,0x10,0x87,0x6d,0x22,0x2f,
+0x51,0x49,0x35,0x10,0x8f,0x9f,0x51,0x49,0x85,0x10,0x85,0x49,0x95,0x10,0x8d,0x9d,
+0x98,0x7e,0x1d,0x27,0x7d,0x29,0x7e,0xd, 0x2b,0x12,0x85,0xcf,0x7d,0x93,0x1a,0x36,
+0x1a,0x86,0x74,0x14,0xac,0xbd,0x49,0x35,0x10,0x85,0x6d,0x22,0x2f,0x41,0x49,0x35,
+0x10,0x8d,0x9f,0x41,0xa, 0x3d,0x9, 0xb3,0x10,0xb1,0xb4,0x2, 0x2, 0x80,0x2, 0x61,
+0x69,0x7e,0x8, 0x0, 0x2, 0x7f,0x14,0x12,0x9a,0xcd,0x7f,0x41,0x7e,0x8, 0x0, 0x2,
+0x7f,0x15,0x12,0x9a,0xcd,0x7f,0x51,0x61,0xa8,0xa, 0x3d,0x9, 0xb3,0x10,0xb1,0xb4,
+0x1, 0x2, 0x80,0x2, 0x61,0xa8,0x74,0x14,0xac,0xbd,0x49,0x25,0x10,0x85,0x74,0x14,
+0xac,0xbd,0x49,0x35,0x10,0x8d,0xbd,0x32,0x40,0x2, 0x61,0x96,0xbe,0x48,0x0, 0x0,
+0x18,0x2, 0x61,0xa8,0x61,0x9e,0xbe,0x48,0x0, 0x0, 0x48,0x2, 0x61,0xa8,0x6e,0x94,
+0xff,0xff,0x6e,0x84,0xff,0xff,0xb, 0x4c,0xa, 0x3d,0x9, 0xb3,0x10,0xb5,0xb4,0x1,
+0x2, 0x80,0x2, 0x61,0xd4,0x7f,0x14,0x2f,0x11,0x7e,0x8, 0x0, 0x5, 0x12,0x9a,0xcd,
+0x7f,0x41,0x74,0x14,0xac,0xbd,0x49,0x35,0x10,0x8d,0x6d,0x22,0x2f,0x41,0x7f,0x15,
+0x2f,0x11,0x61,0xfb,0x7e,0x14,0x0, 0x6, 0x7f,0x14,0x12,0x9a,0x71,0x7e,0x8, 0x0,
+0x5, 0x12,0x9a,0xcd,0x7f,0x41,0x74,0x14,0xac,0xbd,0x49,0x35,0x10,0x8d,0x6d,0x22,
+0x2f,0x41,0x7e,0x14,0x0, 0x6, 0x7f,0x15,0x12,0x9a,0x71,0x7e,0x8, 0x0, 0x5, 0x12,
+0x9a,0xcd,0x7f,0x51,0x74,0x14,0xac,0xbd,0x49,0x35,0x10,0x8f,0x6d,0x22,0x2f,0x51,
+0x7d,0x39,0x7d,0x1f,0x1b,0x14,0x12,0x87,0x35,0x7d,0x93,0x6d,0x88,0x7d,0x3b,0x7d,
+0x1e,0x1b,0x14,0x12,0x87,0x35,0x7d,0xb3,0x6d,0xaa,0xbe,0x48,0x0, 0x0, 0x68,0x2,
+0x81,0x3c,0x74,0x14,0xac,0xbd,0x49,0xd5,0x10,0x8d,0x81,0x3e,0x7d,0xd9,0x7d,0x3e,
+0x1b,0x34,0x6d,0x22,0xbf,0x51,0x58,0x2, 0x81,0x54,0x74,0x14,0xac,0xbd,0x49,0xc5,
+0x10,0x8f,0x81,0x56,0x7d,0xcb,0x74,0x5, 0xac,0xbf,0x59,0xd5,0x1, 0x84,0x59,0xc5,
+0x1, 0x86,0xb, 0xf0,0xbc,0xef,0x28,0x2, 0x21,0x33,0xda,0x3b,0x22,0xca,0x3b,0x7e,
+0xa3,0xd, 0xa2,0x74,0x64,0xa4,0x7d,0x65,0x6c,0xee,0x9f,0x22,0x7f,0x72,0x7a,0x2f,
+0xc, 0xa4,0x7a,0x2f,0xc, 0xa8,0x7a,0x2f,0xc, 0xac,0x7a,0x2f,0xc, 0xb0,0x7a,0x2f,
+0xc, 0xb4,0x7f,0x42,0x7f,0x52,0x7f,0x62,0x7e,0xb3,0x1, 0x27,0xb4,0x1, 0x11,0x7e,
+0x73,0x11,0x49,0xbe,0x70,0x0, 0x28,0x8, 0x7e,0x37,0x11,0x46,0x2d,0x36,0x7d,0x63,
+0x6c,0xff,0x80,0x18,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x15,0xa, 0xb4,0x49,0x5, 0xa,
+0xb2,0xbf,0x70,0x58,0x5, 0x7f,0x70,0x7a,0xf1,0x23,0xb, 0xf0,0xe5,0x13,0xbc,0xbf,
+0x38,0xe2,0x7d,0x16,0x6d,0x0, 0xbf,0x70,0x58,0x3, 0xe4,0x80,0x1e,0xe5,0x16,0xb4,
+0x1, 0x1f,0x85,0x23,0xd, 0xe5,0x23,0xa, 0x3b,0x2e,0x34,0x9c,0x75,0x7a,0x71,0x82,
+0x7a,0x61,0x83,0xe4,0x93,0x7a,0xb3,0x1, 0x9a,0x74,0x1, 0x7a,0xb3,0x1, 0xb5,0xe1,
+0xec,0xe5,0x15,0xa, 0xb, 0xe5,0x23,0xa, 0x1b,0x7d,0x31,0x7d,0x20,0x12,0x9a,0x2e,
+0x7a,0x73,0xc, 0xa2,0x7d,0x31,0x7d,0x20,0x12,0x9a,0x2e,0x7c,0x75,0x7a,0x73,0xc,
+0xa3,0x6c,0xff,0xe1,0xdc,0xe5,0x15,0xa, 0xb, 0xa, 0x4f,0x7d,0x34,0x7d,0x20,0x12,
+0x9a,0x2e,0x7c,0xa7,0x7a,0xa3,0xc, 0xa0,0x7d,0x34,0x7d,0x20,0x12,0x9a,0x2e,0x7c,
+0x75,0x7a,0x73,0xc, 0xa1,0x4c,0xaa,0x78,0x4, 0x9f,0x11,0x80,0x10,0x7d,0x14,0x9d,
+0x10,0x3e,0x14,0x3e,0x14,0x49,0x31,0xa, 0xb4,0x49,0x21,0xa, 0xb2,0x7a,0x1f,0xc,
+0xa4,0xe5,0xa, 0x7c,0x9b,0x1b,0x90,0xbe,0x93,0xc, 0xa0,0x78,0x4, 0x9f,0x11,0x80,
+0x14,0xe5,0x15,0xa, 0xb, 0xa, 0x1f,0x2d,0x10,0x3e,0x14,0x3e,0x14,0x49,0x31,0xa,
+0xb4,0x49,0x21,0xa, 0xb2,0x7a,0x1f,0xc, 0xa8,0x7e,0x83,0xc, 0xa1,0x4c,0x88,0x78,
+0x4, 0x9f,0x11,0x80,0xd, 0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x35,0xa, 0xb0,0x49,0x25,
+0xa, 0xae,0x7a,0x1f,0xc, 0xac,0xe5,0x15,0x14,0xbe,0xb3,0xc, 0xa1,0x78,0x4, 0x9f,
+0x11,0x80,0xd, 0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x35,0xa, 0xb8,0x49,0x25,0xa, 0xb6,
+0x7a,0x1f,0xc, 0xb0,0x7e,0xb3,0xc, 0xa0,0x60,0x4, 0x4c,0x88,0x78,0x4, 0x9f,0x11,
+0x80,0x14,0xe5,0x15,0xa, 0xb, 0xa, 0x1f,0x9d,0x10,0x3e,0x14,0x3e,0x14,0x49,0x31,
+0xa, 0xb0,0x49,0x21,0xa, 0xae,0x7a,0x1f,0xc, 0xb4,0xbe,0x93,0xc, 0xa0,0x68,0x4,
+0x4c,0x88,0x78,0x6, 0x9f,0x11,0x7f,0x41,0x80,0x16,0xe5,0x15,0xa, 0xb, 0xa, 0x1f,
+0x2d,0x10,0x3e,0x14,0x3e,0x14,0x49,0x31,0xa, 0xb0,0x49,0x21,0xa, 0xae,0x7f,0x41,
+0x7e,0xb3,0xc, 0xa0,0x60,0x9, 0xe5,0x15,0x14,0xbe,0xb3,0xc, 0xa1,0x78,0x6, 0x9f,
+0x11,0x7f,0x51,0x80,0x16,0xe5,0x15,0xa, 0xb, 0xa, 0x1f,0x9d,0x10,0x3e,0x14,0x3e,
+0x14,0x49,0x31,0xa, 0xb8,0x49,0x21,0xa, 0xb6,0x7f,0x51,0xe5,0xa, 0x14,0xbe,0xb3,
+0xc, 0xa0,0x68,0x9, 0xe5,0x15,0x14,0xbe,0xb3,0xc, 0xa1,0x78,0x6, 0x9f,0x11,0x7f,
+0x61,0x80,0x16,0xe5,0x15,0xa, 0xb, 0xa, 0x1f,0x2d,0x10,0x3e,0x14,0x3e,0x14,0x49,
+0x31,0xa, 0xb8,0x49,0x21,0xa, 0xb6,0x7f,0x61,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x15,
+0xa, 0xb4,0x49,0x5, 0xa, 0xb2,0x7d,0x36,0x6d,0x22,0xbf,0x1, 0x58,0x2, 0xe1,0xda,
+0xe5,0x14,0xa, 0x1b,0x6d,0x0, 0x7f,0x17,0x12,0x9a,0x60,0x7e,0x8, 0x0, 0x64,0x12,
+0x9a,0xcd,0x7f,0x1, 0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x35,0xa, 0xb4,0x49,0x25,0xa,
+0xb2,0xbf,0x10,0x18,0x2, 0xe1,0xda,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x15,0xa, 0xb4,
+0x49,0x5, 0xa, 0xb2,0x7e,0x1f,0xc, 0xa4,0xbf,0x1, 0x58,0x2, 0xe1,0xda,0x7e,0xa0,
+0x4, 0xac,0xaf,0x49,0x15,0xa, 0xb4,0x49,0x5, 0xa, 0xb2,0x7e,0x1f,0xc, 0xa8,0xbf,
+0x1, 0x58,0x2, 0xe1,0xda,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x15,0xa, 0xb4,0x49,0x5,
+0xa, 0xb2,0x7e,0x1f,0xc, 0xac,0xbf,0x1, 0x58,0x2, 0xe1,0xda,0x7e,0xa0,0x4, 0xac,
+0xaf,0x49,0x15,0xa, 0xb4,0x49,0x5, 0xa, 0xb2,0x7e,0x1f,0xc, 0xb0,0xbf,0x1, 0x58,
+0x2, 0xe1,0xda,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x15,0xa, 0xb4,0x49,0x5, 0xa, 0xb2,
+0x7e,0x1f,0xc, 0xb4,0xbf,0x1, 0x58,0x2, 0xe1,0xda,0x7e,0xa0,0x4, 0xac,0xaf,0x49,
+0x15,0xa, 0xb4,0x49,0x5, 0xa, 0xb2,0xbf,0x4, 0x58,0x2, 0xe1,0xda,0x7e,0xa0,0x4,
+0xac,0xaf,0x49,0x15,0xa, 0xb4,0x49,0x5, 0xa, 0xb2,0xbf,0x5, 0x58,0x2, 0xe1,0xda,
+0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x15,0xa, 0xb4,0x49,0x5, 0xa, 0xb2,0xbf,0x6, 0x58,
+0x2, 0xe1,0xda,0x7c,0x1e,0x2e,0x10,0xd, 0x7c,0xbf,0xa5,0xf7,0xa, 0x3f,0x2e,0x34,
+0x9c,0x75,0x7a,0x71,0x82,0x7a,0x61,0x83,0xe4,0x93,0x7c,0xab,0xa, 0x3e,0x19,0xa3,
+0x1, 0x9a,0xb, 0xe0,0x74,0x4, 0x7c,0x3f,0xac,0x3b,0x2e,0x14,0xa, 0xb2,0x49,0x31,
+0x0, 0x2, 0xb, 0x18,0x20,0xb, 0x1c,0x59,0x31,0x0, 0x2, 0x1b,0x18,0x20,0xbe,0xe1,
+0x16,0x40,0x47,0x7e,0xe1,0x16,0xbe,0xe0,0x2, 0x78,0x49,0xe5,0x8, 0xb4,0x1, 0x44,
+0x7e,0xb3,0xc, 0xa2,0x60,0x18,0xe5,0xa, 0x14,0xbe,0xb3,0xc, 0xa2,0x68,0xf, 0x7e,
+0xb3,0xc, 0xa3,0x60,0x9, 0xe5,0x15,0x14,0xbe,0xb3,0xc, 0xa3,0x78,0x26,0x7e,0xe0,
+0x1, 0x85,0x23,0xd, 0xe5,0x23,0xa, 0x3b,0x2e,0x34,0x9c,0x75,0x7a,0x71,0x82,0x7a,
+0x61,0x83,0xe4,0x93,0x7a,0xb3,0x1, 0x9a,0x80,0xa, 0xb, 0xf0,0xe5,0x13,0xbc,0xbf,
+0x28,0x2, 0xa1,0x25,0x7a,0xe3,0x1, 0xb7,0x7a,0xe3,0x1, 0xb5,0xda,0x3b,0x22,0x7e,
+0xb3,0xd, 0x60,0x54,0x8f,0x7a,0xb3,0xd, 0x60,0x12,0x82,0xf5,0x2, 0x0, 0x1e,0xff,
+0xca,0x3b,0x7e,0xc3,0x1, 0xb5,0x7e,0x33,0x1, 0xb6,0x7e,0x37,0x1, 0xcb,0x7a,0x35,
+0x37,0x4c,0xcc,0x78,0x3c,0x12,0x7f,0x53,0xbe,0x30,0x0, 0x38,0x2, 0x61,0xf2,0x6c,
+0xff,0x7e,0x20,0xff,0x74,0x5, 0xac,0xbf,0x19,0x25,0x1, 0x7e,0xb, 0xf0,0xbe,0xf0,
+0x2, 0x78,0xf1,0x74,0x1, 0x7a,0xb3,0x1, 0xbb,0xe4,0x7a,0xb3,0x1, 0xbc,0x7e,0xb3,
+0x1, 0x4e,0x60,0x6, 0x6d,0x33,0x7a,0x37,0xe, 0xcf,0xe4,0x7a,0xb3,0xe, 0xd1,0x61,
+0xf2,0x7e,0xb3,0xe, 0xd1,0xbe,0xb0,0x3c,0x50,0x9, 0x4, 0x7a,0xb3,0xe, 0xd1,0x74,
+0xc8,0x80,0xb, 0x90,0xb4,0xcb,0xe4,0x93,0xbe,0xb3,0xd, 0xa7,0x68,0x4, 0x7a,0xb3,
+0xd, 0xa7,0x6c,0xff,0x7e,0x70,0x5, 0xac,0x7f,0x7c,0x17,0x2e,0x10,0x31,0x74,0xff,
+0xa5,0xf7,0x7e,0x24,0x7f,0xff,0x7c,0xb7,0x24,0x2d,0xa, 0xb, 0x1b,0x8, 0x20,0x7c,
+0xb7,0x24,0x2f,0xa, 0x3b,0x1b,0x38,0x20,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xd5,0x6c,
+0xff,0x7e,0x50,0x5, 0xac,0x5f,0x49,0x42,0x1, 0x66,0x3e,0x44,0x3e,0x44,0x3e,0x44,
+0x3e,0x44,0x7e,0x70,0x5, 0xac,0x7f,0x7c,0xb7,0x24,0x23,0xa, 0xb, 0x1b,0x8, 0x40,
+0x49,0x22,0x1, 0x68,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x7c,0xb7,0x24,0x25,
+0xa, 0x3b,0x1b,0x38,0x20,0x74,0x5, 0xac,0xbf,0x9, 0x25,0x1, 0x6a,0x7e,0x10,0x5,
+0xac,0x1f,0x2e,0x10,0x27,0x7c,0xb2,0xa5,0xf7,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xb1,
+0x7e,0xb3,0x1, 0x4e,0x60,0x32,0xbc,0x3c,0x68,0x6, 0x6d,0x33,0x7a,0x37,0xe, 0xcf,
+0x6c,0xff,0x74,0x5, 0xac,0xbf,0x9, 0xd5,0x1, 0x88,0xbe,0xd0,0x2, 0x50,0x12,0x74,
+0x6, 0xac,0xbd,0x9, 0xb5,0x1, 0x93,0x70,0x8, 0x6d,0x33,0x7a,0x37,0xe, 0xcf,0x80,
+0x7, 0xb, 0xf0,0xbe,0xf0,0x2, 0x40,0xda,0xa5,0xbb,0x0, 0x20,0x6c,0xff,0x80,0x16,
+0x7e,0x30,0x5, 0xac,0x3f,0x7d,0x31,0x2e,0x34,0x0, 0x23,0x2e,0x14,0x1, 0x7a,0x74,
+0x5, 0x12,0x9b,0x1, 0xb, 0xf0,0xbc,0xcf,0x38,0xe6,0x41,0x58,0x6c,0xff,0x6c,0xee,
+0x7e,0x70,0x5, 0xac,0x7e,0x9, 0xa3,0x1, 0x7e,0x7e,0x10,0x5, 0xac,0x1f,0x2e,0x10,
+0x27,0xa5,0xe7,0xbc,0xba,0x78,0x19,0xbe,0xb0,0xff,0x68,0x14,0x2e,0x34,0x1, 0x7a,
+0x7e,0x30,0x5, 0xac,0x3f,0x2e,0x14,0x0, 0x2d,0x74,0x5, 0x12,0x9b,0x1, 0x80,0x7,
+0xb, 0xe0,0xbe,0xe0,0x2, 0x40,0xc9,0xbe,0xe0,0x2, 0x78,0x14,0x7e,0x30,0x5, 0xac,
+0x3f,0x7d,0x31,0x2e,0x34,0x0, 0x23,0x2e,0x14,0x0, 0x2d,0x74,0x5, 0x12,0x9b,0x1,
+0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xa7,0x6c,0xff,0x7e,0x30,0x5, 0xac,0x3f,0x7d,0x31,
+0x2e,0x34,0x0, 0x2d,0x2e,0x14,0x1, 0x7a,0x74,0x5, 0x12,0x9b,0x1, 0xb, 0xf0,0xbe,
+0xf0,0x2, 0x78,0xe5,0x7e,0xb3,0x1, 0xbc,0x60,0x2, 0x41,0x58,0x6c,0xff,0x41,0x52,
+0x7c,0xef,0x75,0x39,0x0, 0x80,0x26,0x7e,0x30,0x5, 0xac,0x3f,0x9, 0xa1,0x1, 0x7e,
+0x7e,0x11,0x39,0x7e,0x0, 0x5, 0xac,0x10,0x2e,0x10,0x27,0xa5,0xe7,0xbc,0xba,0x78,
+0xa, 0xbe,0xa0,0xff,0x68,0x5, 0x7e,0xe1,0x39,0x80,0x7, 0x5, 0x39,0xbe,0xc1,0x39,
+0x38,0xd5,0xbe,0xe0,0x2, 0x40,0x2, 0x7c,0xef,0x7e,0x5, 0x37,0x3e,0x4, 0x3e,0x4,
+0x3e,0x4, 0x3e,0x4, 0x7e,0x50,0x5, 0xac,0x5e,0x7c,0xb5,0x24,0x25,0xa, 0x1b,0xb,
+0x18,0x30,0xbd,0x3, 0x28,0xc, 0x74,0x5, 0xac,0xbe,0x49,0x15,0x1, 0x7c,0xbd,0x1,
+0x38,0x17,0x7c,0xb5,0x24,0x23,0xa, 0x2b,0xb, 0x28,0x20,0x74,0x5, 0xac,0xbf,0x59,
+0x25,0x1, 0x7a,0x59,0x35,0x1, 0x7c,0x80,0x7, 0x7c,0xbf,0x7c,0x7e,0x12,0x8, 0x0,
+0xb, 0xf0,0xbc,0xcf,0x28,0x2, 0x21,0xd0,0xbe,0xc0,0x0, 0x38,0x2, 0x61,0xbd,0x6c,
+0xff,0x7e,0x70,0x5, 0xac,0x7f,0x49,0x23,0x1, 0x7a,0x1e,0x24,0x1e,0x24,0x1e,0x24,
+0x1e,0x24,0x59,0x23,0x1, 0x84,0x49,0x23,0x1, 0x7c,0x1e,0x24,0x1e,0x24,0x1e,0x24,
+0x1e,0x24,0x59,0x23,0x1, 0x86,0x9, 0x53,0x1, 0x7e,0x19,0x53,0x1, 0x88,0x7e,0xb3,
+0x1, 0x4e,0x70,0x2, 0x61,0xb4,0x9, 0xd3,0x1, 0x88,0xbe,0xd0,0x2, 0x50,0xf, 0x49,
+0x33,0x1, 0x86,0xbe,0x35,0x37,0x40,0x6, 0x6d,0x33,0x7a,0x37,0xe, 0xcf,0x7e,0x17,
+0xe, 0xcf,0x4d,0x11,0x78,0x40,0xbe,0xf0,0x1, 0x78,0x8, 0x7d,0x1, 0xb, 0x4, 0x7a,
+0x7, 0xe, 0xcf,0xbe,0xd0,0x2, 0x40,0x2, 0x61,0xb4,0x6c,0xee,0x7e,0x50,0x5, 0xac,
+0x5f,0x49,0x2, 0x1, 0x84,0x7e,0x90,0x4, 0xac,0x9e,0x7e,0x70,0xc, 0xac,0x7d,0x2d,
+0x34,0x59,0x3, 0xe, 0xb7,0x49,0x2, 0x1, 0x86,0x59,0x3, 0xe, 0xb9,0xb, 0xe0,0xbe,
+0xe0,0x3, 0x78,0xd8,0x61,0xb4,0xbe,0xd0,0x2, 0x40,0x2, 0x61,0xa5,0x74,0x5, 0xac,
+0xbf,0x49,0x35,0x1, 0x84,0x7e,0x4, 0x0, 0x3, 0x8d,0x10,0x7d,0x10,0x3e,0x14,0x3e,
+0x14,0x7e,0x50,0xc, 0xac,0x5d,0x2d,0x21,0x59,0x32,0xe, 0xb7,0x74,0x5, 0xac,0xbf,
+0x49,0x35,0x1, 0x86,0x59,0x32,0xe, 0xb9,0x6d,0x33,0x74,0x5, 0xac,0xbf,0x59,0x35,
+0x1, 0x84,0x6c,0xee,0x7e,0x50,0x4, 0xac,0x5e,0x7e,0x70,0xc, 0xac,0x7d,0x2d,0x32,
+0x49,0x23,0xe, 0xb7,0x74,0x5, 0xac,0xbf,0x7d,0x45,0x2e,0x44,0x1, 0x84,0xb, 0x48,
+0x30,0x2d,0x32,0x1b,0x48,0x30,0xb, 0xe0,0xbe,0xe0,0x3, 0x78,0xd7,0x7e,0x24,0x0,
+0x3, 0xb, 0x48,0x30,0x8d,0x32,0x1b,0x48,0x30,0x6d,0x33,0x59,0x35,0x1, 0x86,0x6c,
+0xee,0x7e,0x50,0x4, 0xac,0x5e,0x7e,0x70,0xc, 0xac,0x7d,0x2d,0x32,0x49,0x33,0xe,
+0xb9,0x7e,0x30,0x5, 0xac,0x3f,0x2e,0x14,0x1, 0x86,0xb, 0x18,0x0, 0x2d,0x3, 0x1b,
+0x18,0x0, 0xb, 0xe0,0xbe,0xe0,0x3, 0x78,0xd8,0x7e,0x24,0x0, 0x3, 0xb, 0x18,0x30,
+0x8d,0x32,0x1b,0x18,0x30,0xbe,0xf0,0x1, 0x78,0xa, 0x7e,0x37,0xe, 0xcf,0xb, 0x34,
+0x7a,0x37,0xe, 0xcf,0xb, 0xf0,0xbe,0xf0,0x2, 0x68,0x2, 0x41,0x61,0x74,0x1, 0x7a,
+0xb3,0x1, 0xb9,0x7e,0xb3,0x1, 0x4e,0x60,0x29,0x6c,0xff,0x74,0x5, 0xac,0xbf,0x9,
+0xd5,0x1, 0x88,0xbe,0xd0,0x2, 0x50,0x13,0x74,0x6, 0xac,0xbd,0x9, 0xb5,0x1, 0x93,
+0xb4,0x1, 0x8, 0x6d,0x33,0x7a,0x37,0xe, 0xcf,0x80,0x7, 0xb, 0xf0,0xbe,0xf0,0x2,
+0x40,0xd9,0xda,0x3b,0x22,0xca,0x3b,0x9f,0x11,0x7a,0x1f,0xb, 0xb2,0x6c,0xff,0xc1,
+0xb3,0x7c,0x1f,0x2e,0x10,0xd, 0xa5,0xe7,0x7c,0xeb,0xe5,0x15,0xa, 0x1b,0xa, 0x3e,
+0x7d,0x21,0x12,0x9a,0x2e,0x7c,0xd7,0xa, 0x3e,0x7d,0x21,0x12,0x9a,0x2e,0x7c,0xc5,
+0x9f,0x11,0x7a,0x1f,0xc, 0xa8,0x7a,0x1f,0xc, 0xac,0x7c,0xbe,0x7c,0x7d,0x12,0x78,
+0x58,0x7a,0x1f,0xc, 0xb0,0x4c,0xcc,0x68,0xc, 0x7c,0xbe,0x14,0x7c,0x7d,0x12,0x78,
+0x58,0x7a,0x1f,0xc, 0xa8,0xe5,0x15,0x14,0xbc,0xbc,0x68,0xc, 0x7c,0xbe,0x4, 0x7c,
+0x7d,0x12,0x78,0x58,0x7a,0x1f,0xc, 0xac,0xa, 0x1c,0x6d,0x0, 0x1b,0xc, 0x7e,0x5f,
+0xc, 0xa8,0x7f,0x15,0x12,0x9a,0x60,0x7f,0x41,0xa, 0x1c,0x6d,0x0, 0x7e,0x6f,0xc,
+0xb0,0x7f,0x16,0x12,0x9a,0x60,0x2f,0x41,0xa, 0x1c,0x6d,0x0, 0xb, 0xc, 0x7e,0x7f,
+0xc, 0xac,0x7f,0x17,0x12,0x9a,0x60,0x2f,0x14,0x7a,0x1f,0xc, 0xa0,0x7f,0x6, 0x2f,
+0x5, 0x2f,0x7, 0x7a,0xf, 0xc, 0xa4,0x7e,0x1f,0xb, 0xb2,0xbf,0x10,0x50,0x8, 0x7e,
+0x1f,0xc, 0xa4,0x7a,0x1f,0xb, 0xb2,0xbe,0xd0,0x0, 0x38,0x2, 0xa1,0x4b,0xe5,0xa,
+0xa, 0x2b,0x1b,0x24,0xa, 0x3d,0xbd,0x32,0x48,0x2, 0xa1,0x4b,0xbe,0xc0,0x1, 0x38,
+0x2, 0xa1,0x4b,0xe5,0x15,0xa, 0x2b,0x1b,0x25,0xa, 0x3c,0xbd,0x32,0x58,0x7c,0x7e,
+0xb3,0x1, 0xb5,0xb4,0x1, 0x75,0xe4,0x7a,0xb3,0x11,0x4d,0x7e,0x1f,0xc, 0xac,0x7a,
+0x1d,0x24,0x7e,0x1f,0xc, 0xb0,0x7e,0xf, 0xc, 0xa8,0x7c,0xbc,0x12,0x7d,0xec,0xf5,
+0x23,0x7e,0x73,0x11,0x4d,0xbe,0x70,0x0, 0x28,0x51,0xe5,0x15,0xac,0xbd,0x25,0x23,
+0x7c,0x7d,0x12,0x78,0x58,0x7a,0x1f,0xc, 0xb8,0x7e,0x33,0x11,0x4d,0xa, 0x13,0x6d,
+0x0, 0x12,0x9a,0x60,0x74,0x7, 0x1e,0x34,0xe, 0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,
+0x78,0xf4,0x7a,0x1f,0xc, 0xb8,0xe5,0x23,0xa, 0x1b,0x6d,0x0, 0x7e,0x7f,0xc, 0xb8,
+0x7f,0x17,0x12,0x9a,0x60,0x7f,0x1, 0x7e,0x1f,0xc, 0xa0,0x2f,0x10,0x7a,0x1f,0xc,
+0xa0,0x7e,0x1f,0xc, 0xa4,0x2f,0x17,0x7a,0x1f,0xc, 0xa4,0x7e,0x1f,0xc, 0xa0,0x74,
+0x7, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0xf, 0xc, 0xa4,0x12,0x9a,0x7c,0x2e,0x18,0x0,
+0x40,0x7a,0x37,0xc, 0xb4,0x9f,0x11,0x7a,0x1f,0xc, 0xa8,0x7a,0x1f,0xc, 0xac,0x7c,
+0xbe,0x7c,0x7c,0x12,0x7b,0x35,0x7a,0x1f,0xc, 0xb0,0x4c,0xdd,0x68,0xe, 0x7c,0xbe,
+0x9e,0xb1,0x15,0x7c,0x7c,0x12,0x7b,0x35,0x7a,0x1f,0xc, 0xa8,0xe5,0xa, 0x14,0xbc,
+0xbd,0x68,0xd, 0xe5,0x15,0x2c,0xbe,0x7c,0x7c,0x12,0x7b,0x35,0x7a,0x1f,0xc, 0xac,
+0xa, 0x1d,0x6d,0x0, 0x1b,0xc, 0x7e,0x5f,0xc, 0xa8,0x7f,0x15,0x12,0x9a,0x60,0x7f,
+0x41,0xa, 0x1d,0x6d,0x0, 0x7e,0x6f,0xc, 0xb0,0x7f,0x16,0x12,0x9a,0x60,0x2f,0x41,
+0xa, 0x1d,0x6d,0x0, 0xb, 0xc, 0x7e,0x7f,0xc, 0xac,0x7f,0x17,0x12,0x9a,0x60,0x2f,
+0x14,0x7a,0x1f,0xc, 0xa0,0x7f,0x16,0x2f,0x15,0x2f,0x17,0x7a,0x1f,0xc, 0xa4,0xbe,
+0xd0,0x1, 0x38,0x2, 0xc1,0x87,0xe5,0xa, 0xa, 0x2b,0x1b,0x25,0xa, 0x3d,0xbd,0x32,
+0x48,0x2, 0xc1,0x87,0xbe,0xc0,0x0, 0x38,0x2, 0xc1,0x87,0xe5,0x15,0xa, 0x2b,0x1b,
+0x24,0xa, 0x3c,0xbd,0x32,0x48,0x2, 0xc1,0x87,0x7e,0xb3,0x1, 0xb5,0xb4,0x1, 0x77,
+0xe4,0x7a,0xb3,0x11,0x4d,0x7e,0x1f,0xc, 0xac,0x7a,0x1d,0x24,0x7e,0x1f,0xc, 0xb0,
+0x7e,0xf, 0xc, 0xa8,0x7c,0xbd,0x12,0x7d,0xec,0xf5,0x23,0x7e,0x73,0x11,0x4d,0xbe,
+0x70,0x0, 0x28,0x53,0x7e,0xa1,0x15,0xe5,0x23,0xa4,0x2c,0xbc,0x7c,0x7c,0x12,0x7b,
+0x35,0x7a,0x1f,0xc, 0xb8,0x7e,0x33,0x11,0x4d,0xa, 0x13,0x6d,0x0, 0x12,0x9a,0x60,
+0x74,0x7, 0x1e,0x34,0xe, 0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x7a,0x1f,
+0xc, 0xb8,0xe5,0x23,0xa, 0x1b,0x6d,0x0, 0x7e,0x7f,0xc, 0xb8,0x7f,0x17,0x12,0x9a,
+0x60,0x7f,0x1, 0x7e,0x1f,0xc, 0xa0,0x2f,0x10,0x7a,0x1f,0xc, 0xa0,0x7e,0x1f,0xc,
+0xa4,0x2f,0x17,0x7a,0x1f,0xc, 0xa4,0x7e,0x1f,0xc, 0xa0,0x74,0x7, 0x2f,0x11,0x14,
+0x78,0xfb,0x7e,0xf, 0xc, 0xa4,0x12,0x9a,0x7c,0x2e,0x18,0x0, 0x40,0x7a,0x37,0xc,
+0xb6,0x7e,0x27,0xc, 0xb4,0x74,0x5, 0xac,0xbf,0x59,0x25,0x1, 0x66,0x59,0x35,0x1,
+0x68,0xb, 0xf0,0x7e,0x73,0x1, 0xb5,0xbc,0x7f,0x28,0x2, 0x81,0x1, 0xda,0x3b,0x22,
+0xca,0xf8,0x7e,0x73,0x9, 0x66,0xa, 0x47,0x7e,0x73,0x9, 0xc3,0xa, 0x57,0x9d,0x54,
+0x7c,0xab,0x7e,0x47,0x8, 0xf4,0x7e,0x37,0x8, 0xf8,0x6c,0xff,0xe1,0x87,0x7e,0x50,
+0x4, 0xac,0x5f,0x2d,0x24,0x49,0xf2,0x0, 0x2, 0xb, 0x28,0xe0,0xbe,0x7c,0xf8,0x30,
+0x48,0x2, 0xc1,0xfe,0x7e,0xb3,0x9, 0x63,0xbc,0xbf,0x28,0x2, 0xe1,0x1c,0xbe,0x7c,
+0xec,0x78,0x48,0x2, 0xe1,0x7e,0x7e,0xb3,0x9, 0x63,0xbc,0xbf,0x28,0x2, 0xe1,0x7e,
+0x7e,0xf, 0x3, 0x30,0xbe,0x8, 0x7, 0xd0,0x48,0x2, 0xe1,0x7e,0xa, 0x2f,0x2e,0x24,
+0xf, 0x19,0x7e,0x29,0xb0,0x4, 0x7a,0x29,0xb0,0xa, 0x2f,0x9, 0xb2,0xf, 0x19,0xbe,
+0xb0,0xf, 0x38,0x2, 0xe1,0x85,0x7e,0x50,0x2, 0xac,0x5f,0x2d,0x23,0xb, 0x28,0x10,
+0x1a,0x2, 0x1a,0x0, 0x2f,0x7, 0xbe,0x8, 0x32,0xc8,0x48,0x2, 0xe1,0x85,0x74,0x1,
+0x7a,0xb3,0x1, 0xc0,0x6c,0x55,0xe1,0x68,0xa, 0x5, 0x7e,0x43,0x9, 0x63,0xa, 0x14,
+0x2d,0x10,0x19,0xb1,0xf, 0x19,0xb, 0x50,0x7e,0x43,0x9, 0x66,0xa, 0x14,0x7e,0x43,
+0x9, 0x64,0xa, 0x4, 0x9d,0x1, 0xa, 0x15,0xbd,0x10,0x48,0xdc,0xe1,0x85,0xe4,0xa,
+0x1f,0x19,0xb1,0xf, 0x19,0xb, 0xf0,0xbc,0xaf,0x28,0x2, 0xc1,0xde,0x7e,0xb3,0x1,
+0xc0,0x60,0x2, 0xe1,0xe8,0x6c,0xff,0xe1,0xe0,0x74,0x4, 0xac,0xbf,0x2d,0x54,0x49,
+0x35,0x0, 0x2, 0xb, 0x58,0x20,0xbe,0x1c,0xfd,0xa8,0x48,0x2, 0xe1,0xd7,0xa, 0x3f,
+0x2e,0x34,0xe, 0xeb,0x7e,0x39,0xb0,0x4, 0x7a,0x39,0xb0,0xa, 0x5f,0x9, 0x75,0xe,
+0xeb,0xbe,0x70,0x1, 0x38,0x2, 0xe1,0xde,0x12,0x70,0x0, 0x70,0x2, 0xe1,0xde,0x74,
+0x3, 0x7a,0xb3,0x1, 0xc0,0xe1,0xde,0xe4,0xa, 0x3f,0x19,0xb3,0xe, 0xeb,0xb, 0xf0,
+0x7e,0x73,0x9, 0x63,0xbc,0x7f,0x38,0xb1,0xda,0xf8,0x22,0x12,0x75,0x90,0x12,0x7b,
+0x7b,0x12,0x81,0x7c,0x12,0x6a,0xfb,0x12,0x86,0x43,0x12,0x7c,0x2, 0x2, 0x87,0x8e,
+0xca,0x3b,0x7e,0x73,0x9, 0x66,0xa, 0x47,0x7e,0x73,0x9, 0xc3,0xa, 0x57,0x9d,0x54,
+0xf5,0x23,0xd2,0x3, 0x12,0x6e,0xdd,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xac,0xb,
+0xa, 0x30,0x5e,0x70,0xdf,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xac,
+0xb, 0xa, 0x30,0x5e,0x70,0xbf,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0,
+0xac,0xb, 0xa, 0x30,0x4e,0x70,0x80,0x1b,0xa, 0x30,0x6c,0xdd,0x21,0x52,0xa, 0x3d,
+0x9, 0xc3,0x9, 0x67,0xa, 0x3c,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x14,0xbe,0xc0,
+0x10,0x40,0x2, 0x1, 0x90,0x6d,0x33,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x8, 0x7e,
+0xf, 0x11,0x42,0x79,0x30,0x0, 0xa, 0x7e,0x34,0x0, 0x1, 0x7c,0xbc,0x70,0x2, 0x1,
+0x86,0x3e,0x34,0x14,0x78,0xfb,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x6, 0x1, 0xf3,
+0xbe,0xc0,0x20,0x40,0x2, 0x1, 0xc6,0x6d,0x33,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0,
+0x6, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xa, 0xa, 0x5c,0x9e,0x54,0x0, 0x10,0x7e,
+0x34,0x0, 0x1, 0x70,0x2, 0x1, 0xbc,0x3e,0x34,0x14,0x78,0xfb,0x7e,0xf, 0x11,0x42,
+0x79,0x30,0x0, 0x8, 0x1, 0xf3,0x6d,0x33,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x6,
+0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x8, 0xa, 0x5c,0x9e,0x54,0x0, 0x20,0x7e,0x34,
+0x0, 0x1, 0x70,0x2, 0x1, 0xeb,0x3e,0x34,0x14,0x78,0xfb,0x7e,0xf, 0x11,0x42,0x79,
+0x30,0x0, 0xa, 0xe4,0x7a,0xb3,0x1, 0x27,0x74,0x1, 0x12,0x87,0xa4,0x12,0x84,0x14,
+0x12,0x17,0xcc,0x50,0xfb,0x9f,0x44,0x6c,0xff,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0,
+0xb0,0xb, 0xa, 0x30,0x5e,0x70,0x7f,0x1b,0xa, 0x30,0x74,0x2, 0xac,0xbf,0x7e,0x1f,
+0x11,0x3e,0x2d,0x35,0xb, 0x1a,0x30,0x6d,0x22,0x2f,0x41,0xb, 0xf0,0xbe,0xf0,0x80,
+0x78,0xd7,0xa, 0x3d,0x9, 0xe3,0x9, 0x95,0x74,0x7, 0x7f,0x14,0x1e,0x34,0x1e,0x24,
+0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x74,0x2, 0xac,0xbe,0x59,0x35,0x5, 0x0,
+0xb, 0xd0,0xe5,0x23,0xbc,0xbd,0x28,0x2, 0x1, 0x4e,0x7e,0xf, 0x11,0x42,0x2e,0x14,
+0x0, 0xac,0xb, 0xa, 0x30,0x5e,0x70,0xdf,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,
+0x14,0x0, 0xac,0xb, 0xa, 0x30,0x4e,0x70,0x40,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,
+0x2e,0x14,0x0, 0xac,0xb, 0xa, 0x30,0x5e,0x70,0x7f,0x1b,0xa, 0x30,0x6c,0xdd,0x41,
+0x95,0xa, 0x3d,0x9, 0xc3,0x9, 0x67,0xa, 0x3c,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0,
+0x14,0xbe,0xc0,0x10,0x40,0x2, 0x21,0xd3,0x6d,0x33,0x7e,0xf, 0x11,0x42,0x79,0x30,
+0x0, 0x8, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xa, 0x7e,0x34,0x0, 0x1, 0x7c,0xbc,
+0x70,0x2, 0x21,0xc9,0x3e,0x34,0x14,0x78,0xfb,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0,
+0x6, 0x41,0x36,0xbe,0xc0,0x20,0x40,0x2, 0x41,0x9, 0x6d,0x33,0x7e,0xf, 0x11,0x42,
+0x79,0x30,0x0, 0x6, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xa, 0xa, 0x5c,0x9e,0x54,
+0x0, 0x10,0x7e,0x34,0x0, 0x1, 0x70,0x2, 0x21,0xff,0x3e,0x34,0x14,0x78,0xfb,0x7e,
+0xf, 0x11,0x42,0x79,0x30,0x0, 0x8, 0x41,0x36,0x6d,0x33,0x7e,0xf, 0x11,0x42,0x79,
+0x30,0x0, 0x6, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x8, 0xa, 0x5c,0x9e,0x54,0x0,
+0x20,0x7e,0x34,0x0, 0x1, 0x70,0x2, 0x41,0x2e,0x3e,0x34,0x14,0x78,0xfb,0x7e,0xf,
+0x11,0x42,0x79,0x30,0x0, 0xa, 0xe4,0x7a,0xb3,0x1, 0x27,0x74,0x1, 0x12,0x87,0xa4,
+0x12,0x84,0x14,0x12,0x17,0xcc,0x50,0xfb,0x9f,0x44,0x6c,0xff,0x7e,0xf, 0x11,0x42,
+0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x5e,0x70,0x7f,0x1b,0xa, 0x30,0x74,0x2, 0xac,
+0xbf,0x7e,0x1f,0x11,0x3e,0x2d,0x35,0xb, 0x1a,0x30,0x6d,0x22,0x2f,0x41,0xb, 0xf0,
+0xbe,0xf0,0x80,0x78,0xd7,0xa, 0x3d,0x9, 0xe3,0x9, 0x95,0x74,0x7, 0x7f,0x14,0x1e,
+0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x74,0x2, 0xac,0xbe,0x59,
+0x35,0x5, 0x5c,0xb, 0xd0,0xe5,0x23,0xbc,0xbd,0x28,0x2, 0x21,0x91,0xc2,0x3, 0xc2,
+0x0, 0x7e,0x8, 0x9, 0x25,0x12,0x1, 0x20,0xda,0x3b,0x22,0xca,0x3b,0x7e,0xb3,0x1,
+0x4c,0x70,0x2, 0xa1,0x4e,0x7e,0xf7,0x1, 0xc9,0x7e,0xe7,0x1, 0xcb,0x1e,0xe4,0x7e,
+0xd7,0x2, 0xef,0x7e,0xc7,0x2, 0xf1,0x7e,0xb7,0x2, 0xf3,0x7e,0xa7,0x2, 0xf5,0x7e,
+0x97,0x2, 0xf7,0x7e,0xb3,0x2, 0xf9,0xf5,0x23,0x7e,0xf3,0x1, 0xb5,0x7e,0xe3,0x9,
+0xc4,0x7c,0xde,0x1e,0xd0,0x6c,0xcc,0xa1,0x48,0xa, 0x8c,0x9, 0x78,0x1, 0x9a,0x7a,
+0x71,0x25,0xa, 0x2e,0xa, 0x87,0x7d,0x38,0x12,0x9a,0x2e,0x7c,0xb5,0xf5,0x26,0xa,
+0x2d,0x7d,0x38,0x12,0x9a,0x2e,0x7c,0xb5,0xf5,0x27,0x75,0x24,0x0, 0x7e,0xb3,0x1,
+0x4c,0x70,0x2, 0xa1,0x38,0xe5,0x27,0x60,0x2, 0x81,0x27,0x7e,0x34,0x0, 0x5, 0xad,
+0x3e,0x1e,0x34,0x74,0x5, 0xac,0xbc,0x75,0x28,0xa, 0x7e,0xa1,0x25,0x74,0x4, 0xa4,
+0x7d,0x85,0x2e,0x87,0x8, 0xf4,0x49,0x18,0x0, 0x2, 0xb, 0x88,0x0, 0x7d,0x3d,0x6d,
+0x22,0xbf,0x1, 0x58,0x17,0x49,0x18,0x0, 0x6, 0x49,0x8, 0x0, 0x4, 0x7d,0x3c,0x6d,
+0x22,0xbf,0x1, 0x58,0x7, 0xbe,0xf0,0x1, 0x78,0x2, 0x61,0xea,0x7e,0xa1,0x26,0x74,
+0x4, 0xa4,0x49,0x15,0x3, 0x36,0x49,0x5, 0x3, 0x34,0x7d,0x3b,0x6d,0x22,0xbf,0x1,
+0x58,0x4b,0x49,0x15,0x3, 0x3a,0x49,0x5, 0x3, 0x38,0x7d,0x3a,0x6d,0x22,0xbf,0x1,
+0x58,0x3b,0xa, 0x3d,0xe5,0x27,0xa, 0x8b,0x2d,0x83,0x3e,0x84,0x3e,0x84,0x49,0x38,
+0x3, 0x3e,0x49,0x28,0x3, 0x3c,0xe5,0x28,0xa, 0x1b,0x6d,0x0, 0x12,0x9a,0x60,0x7e,
+0x8, 0x0, 0xa, 0x12,0x9a,0xcd,0x7e,0xa1,0x26,0x74,0x4, 0xa4,0x49,0x15,0x3, 0x3a,
+0x49,0x5, 0x3, 0x38,0xbf,0x10,0x8, 0x5, 0xbe,0xf0,0x1, 0x68,0x2d,0x74,0x5, 0xac,
+0xbc,0x49,0x85,0x1, 0x68,0xbd,0x8e,0x38,0x2, 0xa1,0x38,0x7e,0xa1,0x26,0x74,0x4,
+0xa4,0x49,0x15,0x3, 0x3a,0x49,0x5, 0x3, 0x38,0x7d,0x39,0x6d,0x22,0xbf,0x1, 0x48,
+0x2, 0xa1,0x38,0xbe,0xf0,0x1, 0x68,0x2, 0xa1,0x38,0x74,0x5, 0xac,0xbc,0x49,0x35,
+0x1, 0x66,0xe5,0x23,0xa, 0x8b,0xbd,0x38,0x40,0x2, 0xa1,0x38,0x74,0x5, 0xac,0xbc,
+0x49,0x35,0x1, 0x68,0x7d,0x8e,0x2e,0x84,0x0, 0x14,0xbd,0x38,0x38,0x14,0x74,0x5,
+0xac,0xbc,0x49,0x35,0x1, 0x68,0x7d,0x8e,0x9e,0x84,0x0, 0x14,0xbd,0x38,0x40,0x2,
+0xa1,0x38,0x75,0x24,0x1, 0xa1,0x38,0x7c,0xbd,0x14,0xbe,0xb1,0x27,0x68,0x2, 0xa1,
+0x38,0x7e,0x34,0x0, 0x5, 0xad,0x3e,0x1e,0x34,0x1e,0x34,0x74,0x5, 0xac,0xbc,0x49,
+0x85,0x1, 0x68,0xbd,0x83,0x28,0x5, 0x75,0x28,0x12,0x80,0x3, 0x75,0x28,0xa, 0x7e,
+0xa1,0x25,0x74,0x4, 0xa4,0x7d,0x85,0x2e,0x87,0x8, 0xf4,0x49,0x18,0x0, 0x2, 0xb,
+0x88,0x0, 0x7d,0x3d,0x6d,0x22,0xbf,0x1, 0x58,0x17,0x49,0x18,0xff,0xfe,0x49,0x8,
+0xff,0xfc,0x7d,0x3c,0x6d,0x22,0xbf,0x1, 0x58,0x7, 0xbe,0xf0,0x1, 0x78,0x2, 0x81,
+0xfd,0x7e,0xa1,0x26,0x74,0x4, 0xa4,0x49,0x15,0x3, 0x36,0x49,0x5, 0x3, 0x34,0x7d,
+0x3b,0x6d,0x22,0xbf,0x1, 0x58,0x4b,0x49,0x15,0x3, 0x32,0x49,0x5, 0x3, 0x30,0x7d,
+0x3a,0x6d,0x22,0xbf,0x1, 0x58,0x3b,0xa, 0x3d,0xe5,0x27,0xa, 0x8b,0x2d,0x83,0x3e,
+0x84,0x3e,0x84,0x49,0x38,0x3, 0x2e,0x49,0x28,0x3, 0x2c,0xe5,0x28,0xa, 0x1b,0x6d,
+0x0, 0x12,0x9a,0x60,0x7e,0x8, 0x0, 0xa, 0x12,0x9a,0xcd,0x7e,0xa1,0x26,0x74,0x4,
+0xa4,0x49,0x15,0x3, 0x32,0x49,0x5, 0x3, 0x30,0xbf,0x10,0x8, 0x5, 0xbe,0xf0,0x1,
+0x68,0x1b,0x7e,0xa1,0x26,0x74,0x4, 0xa4,0x49,0x15,0x3, 0x32,0x49,0x5, 0x3, 0x30,
+0x7d,0x39,0x6d,0x22,0xbf,0x1, 0x58,0x40,0xbe,0xf0,0x1, 0x78,0x3b,0x74,0x5, 0xac,
+0xbc,0x49,0x35,0x1, 0x66,0xe5,0x23,0xa, 0x2b,0x7d,0x8f,0x9d,0x82,0xbd,0x38,0x28,
+0x27,0x74,0x5, 0xac,0xbc,0x49,0x35,0x1, 0x68,0x7d,0x8e,0x2e,0x84,0x0, 0x14,0xbd,
+0x38,0x38,0x12,0x74,0x5, 0xac,0xbc,0x49,0x35,0x1, 0x68,0x7d,0x8e,0x9e,0x84,0x0,
+0x14,0xbd,0x38,0x50,0x3, 0x75,0x24,0x2, 0xe5,0x24,0xbe,0xb0,0x0, 0x28,0x7, 0x7c,
+0xbc,0x7c,0x7f,0x12,0x7f,0xb1,0xb, 0xc0,0xbc,0xfc,0x28,0x2, 0x41,0xe9,0xda,0x3b,
+0x22,0xca,0x3b,0x7c,0xeb,0x7e,0x68,0xff,0xff,0x7e,0xd0,0x7f,0x7e,0x8, 0x10,0x1f,
+0x7e,0x34,0x0, 0x28,0xe4,0x12,0x9c,0xda,0x7e,0x8, 0xf, 0xf7,0x7e,0x34,0x0, 0x28,
+0x12,0x9c,0xda,0xbe,0xe0,0xa, 0x28,0x3, 0x7e,0xe0,0xa, 0x7e,0xb3,0x1, 0x3f,0xbe,
+0xb0,0x1, 0x68,0xd, 0xbe,0xb0,0x2, 0x68,0x8, 0xbe,0xb0,0x3, 0x68,0x3, 0xb4,0x4,
+0x31,0x7e,0xf7,0xf, 0xa8,0x6c,0xaa,0x80,0x21,0x7e,0x70,0x2, 0xac,0x7a,0x2d,0x3f,
+0xb, 0x38,0x10,0x7e,0x10,0x2, 0xac,0x1a,0x59,0x10,0xc, 0xa0,0x6d,0x0, 0x7e,0x1f,
+0xf, 0xf7,0x2f,0x10,0x7a,0x1f,0xf, 0xf7,0xb, 0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,0xba,
+0x38,0xd7,0x7e,0xf0,0x1, 0xc1,0xa9,0x74,0x4, 0xac,0xbf,0x49,0xf5,0xf, 0xa8,0x49,
+0x35,0xf, 0xa4,0x7a,0x35,0x2a,0x6c,0xaa,0xc1,0x9d,0xa, 0x3a,0x9, 0x93,0x9, 0x95,
+0x7e,0x30,0x2, 0xac,0x39,0x7d,0x1, 0x2d,0xf, 0xb, 0x8, 0x30,0x6d,0x22,0x7a,0x1f,
+0xc, 0xfc,0x2e,0x15,0x2a,0xb, 0x18,0x10,0x6d,0x0, 0x7a,0xf, 0xd, 0x0, 0x9f,0x10,
+0x12,0x9c,0xfc,0x7f,0x51,0x7e,0x70,0x4, 0xac,0x7f,0x49,0x13,0x10,0x21,0x49,0x3,
+0x10,0x1f,0xbf,0x50,0x8, 0x8, 0x59,0xb3,0x10,0x21,0x59,0xa3,0x10,0x1f,0x7e,0x83,
+0x1, 0x3f,0xbe,0x80,0x1, 0x68,0x5, 0xbe,0x80,0x2, 0x78,0x40,0xbe,0x80,0x1, 0x78,
+0x19,0x7e,0x70,0x2, 0xac,0x79,0x49,0x23,0xc, 0xa0,0x7e,0x70,0x2, 0xac,0x79,0x2d,
+0x3f,0xb, 0x38,0x30,0xbd,0x23,0x28,0x53,0x80,0x17,0x7e,0x70,0x2, 0xac,0x79,0x49,
+0x23,0xc, 0xa0,0x7e,0x70,0x2, 0xac,0x79,0x2d,0x3f,0xb, 0x38,0x30,0xbd,0x23,0x50,
+0x3a,0x7e,0x50,0x2, 0xac,0x59,0x59,0x32,0xc, 0xa0,0x80,0x2f,0xbe,0x80,0x3, 0x68,
+0x5, 0xbe,0x80,0x4, 0x78,0x25,0x7e,0x70,0x2, 0xac,0x79,0x2d,0x3f,0xb, 0x38,0x90,
+0x6d,0x88,0x7e,0x30,0x4, 0xac,0x3f,0x2e,0x14,0xf, 0xf7,0x49,0x31,0x0, 0x2, 0xb,
+0x18,0x20,0x2f,0x14,0x59,0x31,0x0, 0x2, 0x1b,0x18,0x20,0xb, 0xa0,0x7e,0xb3,0x9,
+0xc3,0xbc,0xba,0x28,0x2, 0xa1,0xda,0xb, 0xf0,0xbc,0xef,0x28,0x2, 0xa1,0xc7,0x7e,
+0xf0,0x1, 0x80,0x29,0x7e,0x70,0x4, 0xac,0x7f,0x49,0x13,0x10,0x21,0x49,0x3, 0x10,
+0x1f,0xbf,0x6, 0x58,0x4, 0x7f,0x60,0x7c,0xdf,0x7e,0x37,0x1, 0x42,0x1a,0x26,0x1a,
+0x24,0xbf,0x10,0x58,0x6, 0x7e,0xb3,0x1, 0x41,0xf5,0x66,0xb, 0xf0,0xbc,0xef,0x38,
+0xd3,0x7e,0x63,0x1, 0x3f,0xa5,0xbe,0x0, 0x36,0xbc,0xde,0x40,0x4, 0xa, 0x6e,0x1b,
+0x64,0x74,0x4, 0xac,0xbd,0x49,0xe5,0xf, 0xa8,0x6c,0xaa,0x80,0x18,0x7e,0x50,0x2,
+0xac,0x5a,0x2d,0x2e,0xb, 0x28,0x40,0x7e,0x50,0x2, 0xac,0x5a,0x2e,0x27,0x8, 0xf6,
+0x1b,0x28,0x40,0xb, 0xa0,0x7e,0x73,0x9, 0xc3,0xbc,0x7a,0x38,0xe0,0xe1,0xb1,0xbe,
+0x60,0x3, 0x68,0x4, 0xa5,0xbe,0x4, 0x6b,0x6c,0x77,0x7e,0xf, 0xf, 0xf7,0x7e,0xf0,
+0x1, 0x80,0x2e,0xa5,0xbe,0x3, 0x13,0x7e,0x50,0x4, 0xac,0x5f,0x49,0xd2,0xf, 0xf9,
+0x49,0xc2,0xf, 0xf7,0xbf,0x6, 0x28,0x17,0x80,0x11,0x7e,0x50,0x4, 0xac,0x5f,0x49,
+0xd2,0xf, 0xf9,0x49,0xc2,0xf, 0xf7,0xbf,0x6, 0x50,0x4, 0x7f,0x6, 0x7c,0x7f,0xb,
+0xf0,0xbc,0xef,0x38,0xce,0x74,0x4, 0xac,0xb7,0x49,0xe5,0xf, 0xa8,0x6c,0xaa,0x80,
+0x18,0x7e,0x70,0x2, 0xac,0x7a,0x2d,0x3e,0xb, 0x38,0x20,0x7e,0x70,0x2, 0xac,0x7a,
+0x2e,0x37,0x8, 0xf6,0x1b,0x38,0x20,0xb, 0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,0xba,0x38,
+0xe0,0x80,0x1e,0x6c,0xaa,0x80,0x12,0x7e,0x70,0x2, 0xac,0x7a,0x49,0x23,0xc, 0xa0,
+0x2e,0x37,0x8, 0xf6,0x1b,0x38,0x20,0xb, 0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,0xba,0x38,
+0xe6,0xda,0x3b,0x22,0xc2,0x5, 0xc2,0x6, 0xc2,0x7, 0x74,0x2, 0x7a,0xb3,0x9, 0x12,
+0x74,0xa, 0x7a,0xb3,0x9, 0x13,0x7e,0x34,0x0, 0xe5,0x7a,0x37,0x9, 0x14,0x7e,0x34,
+0x0, 0xe4,0x7a,0x37,0x9, 0x16,0x7e,0x34,0x0, 0x39,0x7a,0x37,0x9, 0x1a,0x7e,0x34,
+0x1, 0x80,0x7a,0x37,0x9, 0x1c,0x7e,0x34,0x1, 0x60,0x7a,0x37,0x9, 0x1e,0x7e,0x34,
+0x1, 0x26,0x7a,0x37,0x9, 0x20,0x7e,0x34,0x1, 0x70,0x7a,0x37,0x9, 0x22,0x22,0xff,
+0xca,0x3b,0x7d,0xf3,0x7e,0x73,0x9, 0x66,0xa, 0x57,0x7e,0x73,0x9, 0x64,0xa, 0x47,
+0x9d,0x45,0x7e,0xf3,0x9, 0x65,0x7e,0xa3,0x9, 0x63,0xbc,0xf9,0x68,0x2, 0x1, 0x9f,
+0x7a,0xa1,0x23,0x6c,0x88,0x80,0x72,0x7e,0x71,0x23,0x74,0x4, 0xac,0x7b,0x7d,0xe3,
+0x2e,0xe7,0x8, 0xf4,0x49,0x1e,0x0, 0x2, 0xb, 0xe8,0x0, 0x7d,0x3f,0x1a,0x26,0x1a,
+0x24,0xbf,0x10,0x18,0x50,0x6c,0xee,0x80,0x3d,0xa, 0x3e,0xa, 0xea,0x2d,0xe3,0x3e,
+0xe4,0x3e,0xe4,0x2e,0xe7,0x8, 0xf4,0x49,0x3e,0x0, 0x2, 0xb, 0xe8,0x20,0x12,0x9c,
+0xfc,0x7e,0x14,0x0, 0x3, 0x12,0x9a,0x71,0x7e,0x31,0x23,0x74,0x4, 0xac,0x3b,0x7d,
+0xe1,0x2e,0xe7,0x8, 0xf4,0x49,0x1e,0x0, 0x2, 0xb, 0xe8,0x0, 0xbf,0x10,0x8, 0x4,
+0xbc,0xe8,0x78,0x6, 0xb, 0xe0,0xbc,0xfe,0x38,0xbf,0xbc,0xfe,0x78,0x7, 0x7c,0xb8,
+0x12,0x3f,0xe0,0x41,0x2f,0xb, 0x80,0x5, 0x23,0xbc,0xf8,0x38,0x8a,0x41,0x2f,0xbe,
+0x90,0x2, 0x68,0x2, 0x41,0x2f,0x7e,0x30,0x4, 0xac,0x3a,0x2e,0x17,0x8, 0xf4,0x49,
+0x31,0x0, 0x6, 0x49,0x21,0x0, 0x4, 0x49,0xd1,0x0, 0x2, 0xb, 0x18,0xc0,0x2f,0x61,
+0x7d,0xf, 0x1a,0x0, 0x1a,0xe0,0xbf,0x76,0x8, 0x2, 0x41,0x2f,0x75,0x23,0xff,0x12,
+0x9c,0xfc,0x7f,0x1, 0x2f,0x0, 0x2f,0x0, 0x2f,0x0, 0x7e,0x90,0x4, 0xac,0x9a,0x2e,
+0x47,0x8, 0xf4,0x49,0x34,0x0, 0x2, 0xb, 0x48,0x20,0xbf,0x10,0x8, 0x5, 0x75,0x23,
+0x0, 0x41,0x23,0x12,0x9c,0xfc,0x7f,0x1, 0x2f,0x0, 0x2f,0x0, 0x2f,0x0, 0x7e,0x90,
+0x4, 0xac,0x9a,0x2e,0x47,0x8, 0xf4,0x49,0x34,0x0, 0x6, 0x49,0x24,0x0, 0x4, 0xbf,
+0x10,0x8, 0x13,0xbe,0xf0,0x3, 0x78,0x2, 0x41,0x20,0xbe,0xf0,0x4, 0x68,0x2, 0x41,
+0x23,0x75,0x23,0x3, 0x41,0x23,0xbe,0xf0,0x3, 0x78,0x4f,0x12,0x9c,0xfc,0x7f,0x61,
+0x2f,0x66,0x7e,0x70,0x4, 0xac,0x7a,0x2e,0x37,0x8, 0xf4,0x49,0xf3,0x0, 0x2, 0xb,
+0x38,0xe0,0x7e,0x14,0x0, 0x7, 0x7f,0x17,0x12,0x9a,0x71,0xbf,0x61,0x48,0x2, 0x41,
+0x23,0x7f,0x17,0x12,0x9c,0xfc,0x7f,0x71,0x2f,0x77,0x7e,0x30,0x4, 0xac,0x3a,0x2e,
+0x17,0x8, 0xf4,0x49,0x31,0x0, 0x6, 0x49,0x21,0x0, 0x4, 0x7e,0x14,0x0, 0x7, 0x12,
+0x9a,0x71,0xbf,0x17,0x18,0x2, 0x41,0x23,0x80,0x50,0xbe,0xf0,0x4, 0x68,0x2, 0x41,
+0x23,0x49,0x34,0x0, 0x2, 0xb, 0x48,0x20,0x12,0x9c,0xfc,0x7f,0x31,0x2f,0x33,0x7e,
+0x90,0x4, 0xac,0x9a,0x2e,0x47,0x8, 0xf4,0x49,0xf4,0x0, 0x6, 0x49,0xe4,0x0, 0x4,
+0x7e,0x14,0x0, 0x7, 0x7f,0x17,0x12,0x9a,0x71,0xbf,0x31,0x58,0x22,0x7f,0x17,0x12,
+0x9c,0xfc,0x7f,0x1, 0x2f,0x0, 0x7e,0x90,0x4, 0xac,0x9a,0x2e,0x47,0x8, 0xf4,0x49,
+0x34,0x0, 0x2, 0xb, 0x48,0x20,0xbf,0x10,0x8, 0x5, 0x75,0x23,0x1, 0x80,0x54,0x7e,
+0x30,0x4, 0xac,0x3a,0x2e,0x17,0x8, 0xf4,0x49,0x31,0x0, 0x6, 0x49,0x21,0x0, 0x4,
+0x12,0x9c,0xfc,0x7f,0x31,0x2f,0x33,0x7e,0x70,0x4, 0xac,0x7a,0x2e,0x37,0x8, 0xf4,
+0x49,0xf3,0x0, 0x2, 0xb, 0x38,0xe0,0x7e,0x14,0x0, 0x7, 0x7f,0x17,0x12,0x9a,0x71,
+0xbf,0x31,0x58,0x1f,0x7f,0x17,0x12,0x9c,0xfc,0x7f,0x1, 0x2f,0x0, 0x74,0x4, 0xa4,
+0x2e,0x57,0x8, 0xf4,0x49,0x35,0x0, 0x6, 0x49,0x25,0x0, 0x4, 0xbf,0x10,0x8, 0x3,
+0x75,0x23,0x2, 0xe5,0x23,0xbe,0xb0,0xff,0x68,0x5, 0xe5,0x23,0x12,0x3f,0xe0,0xda,
+0x3b,0x22,0x7e,0xb3,0xd, 0xc7,0xb4,0x1, 0x4, 0x6c,0xaa,0x80,0x3, 0x7e,0xa0,0x1,
+0x7e,0x73,0x1, 0xb6,0xa5,0xbf,0x0, 0x1d,0x7e,0x63,0x1, 0xb5,0xbe,0x60,0x2, 0x40,
+0x14,0x5, 0x6b,0xe5,0x6b,0xbc,0xba,0x38,0x5, 0xe4,0x7a,0xb3,0x1, 0xb5,0xe4,0x7a,
+0xb3,0xe, 0x89,0x80,0x3, 0x75,0x6b,0x0, 0xa5,0xbf,0x0, 0x9, 0x7e,0x73,0x1, 0xb5,
+0xbe,0x70,0x1, 0x28,0x10,0xe4,0x7a,0xb3,0xe, 0x89,0x6d,0x22,0x7a,0x27,0xe, 0xa5,
+0x7a,0x27,0xe, 0xa7,0x22,0x7e,0xb3,0xd, 0xf2,0xbe,0xb0,0x1, 0x78,0x2, 0x81,0x4c,
+0x4c,0x77,0x78,0x2, 0x81,0x13,0x7e,0x33,0xe, 0x89,0xbe,0x30,0x1, 0x28,0x2, 0x61,
+0xeb,0x7c,0xb3,0x4, 0x7a,0xb3,0xe, 0x89,0x7e,0x23,0xe, 0x89,0xa5,0xba,0x1, 0x35,
+0x7e,0x7, 0x1, 0x66,0x7a,0x7, 0xe, 0x97,0x7e,0x7, 0x1, 0x68,0x7a,0x7, 0xe, 0x99,
+0x7e,0x1f,0xe, 0x97,0x7a,0x1f,0xe, 0x9b,0x7e,0x1f,0xe, 0x97,0x7a,0x1f,0xe, 0x9f,
+0x6d,0x0, 0x7a,0x7, 0xe, 0xa3,0x7a,0x7, 0xe, 0xa5,0x7a,0x7, 0xe, 0xa7,0xe4,0x7a,
+0xb3,0x1, 0xb5,0x81,0x41,0xbe,0x20,0x1, 0x40,0x18,0x7e,0x37,0x1, 0x66,0x2e,0x37,
+0xe, 0xa5,0x7a,0x37,0xe, 0xa5,0x7e,0x37,0x1, 0x68,0x2e,0x37,0xe, 0xa7,0x7a,0x37,
+0xe, 0xa7,0x7e,0x37,0xe, 0x97,0x9e,0x37,0x1, 0x66,0x12,0x9c,0xec,0x7d,0x3, 0x7e,
+0x37,0xe, 0x99,0x9e,0x37,0x1, 0x68,0x12,0x9c,0xec,0x7d,0xf3,0x7e,0x37,0xe, 0x9b,
+0x9e,0x37,0x1, 0x66,0x12,0x9c,0xec,0x7d,0xe3,0x7e,0x37,0xe, 0x9d,0x9e,0x37,0x1,
+0x68,0x12,0x9c,0xec,0x7d,0x4f,0x2d,0x40,0xbe,0x44,0x0, 0xf, 0x50,0x14,0xbe,0x4,
+0x0, 0x7, 0x50,0xe, 0x2d,0x3e,0xbe,0x34,0x0, 0xa, 0x50,0x6, 0xbe,0xe4,0x0, 0x5,
+0x40,0x53,0x7e,0x23,0xe, 0x89,0xbc,0x2a,0x28,0x4b,0xe4,0x7a,0xb3,0xe, 0x89,0xbe,
+0x44,0x0, 0x4, 0x38,0x2, 0x81,0x41,0x7e,0x37,0xe, 0x9b,0xbe,0x34,0x0, 0x28,0x40,
+0x6, 0xbe,0x34,0x1, 0xa2,0x28,0x24,0x7e,0x27,0xe, 0x9d,0xbe,0x24,0x0, 0x28,0x28,
+0x1a,0xbe,0x24,0x1, 0xa2,0x50,0x14,0x7a,0x37,0x1, 0x66,0x7e,0x27,0x1, 0x68,0x2e,
+0x27,0xe, 0x9d,0x1e,0x24,0x7a,0x27,0x1, 0x68,0x81,0x41,0x7a,0x37,0x1, 0x66,0x7e,
+0x37,0xe, 0x9d,0x80,0x68,0x7e,0x37,0x1, 0x66,0x7a,0x37,0xe, 0x97,0x7e,0x47,0x1,
+0x68,0x7a,0x47,0xe, 0x99,0x7e,0x43,0x1, 0x9a,0x7e,0x50,0x4, 0xac,0x45,0x2e,0x27,
+0x8, 0xf4,0x49,0xf2,0x0, 0x2, 0xb, 0x28,0xe0,0x7e,0xd7,0xe, 0xa3,0x6d,0xcc,0xbf,
+0x67,0x58,0xe, 0x7d,0x2f,0x7a,0x27,0xe, 0xa3,0x7a,0x37,0xe, 0x9f,0x7a,0x47,0xe,
+0xa1,0x7e,0x23,0x1, 0xb6,0x7a,0x23,0x1, 0xb5,0x80,0x56,0xa, 0x23,0xb, 0x24,0x1b,
+0x24,0x7e,0x17,0xe, 0xa5,0x8d,0x12,0x7a,0x17,0xe, 0x97,0x7e,0x37,0xe, 0xa7,0x8d,
+0x32,0x7a,0x37,0xe, 0x99,0x7e,0x27,0xe, 0x97,0x7a,0x27,0x1, 0x66,0x7a,0x37,0x1,
+0x68,0x80,0x2e,0x7e,0xb3,0xe, 0x89,0xbc,0xba,0x28,0x1c,0x7e,0x37,0xe, 0x9f,0x7a,
+0x37,0x1, 0x66,0x7e,0x37,0xe, 0xa1,0x7a,0x37,0x1, 0x68,0x74,0x1, 0x7a,0xb3,0x1,
+0xb5,0x7a,0xb3,0xe, 0x8a,0x80,0x5, 0xe4,0x7a,0xb3,0x1, 0xb5,0xe4,0x7a,0xb3,0xe,
+0x89,0x7e,0xb3,0x1, 0xb5,0x70,0x5, 0xe4,0x7a,0xb3,0x1, 0xb9,0x22,0xca,0x79,0x7e,
+0xb3,0xd, 0xde,0xb4,0x6, 0x2, 0x80,0x2, 0xc1,0x5c,0xe5,0x68,0x7a,0xb3,0xd, 0xde,
+0x7e,0xe3,0xe, 0x4, 0x7c,0xbe,0x24,0xb0,0xbe,0xb0,0xe, 0x40,0x2, 0xc1,0x59,0x7e,
+0xa0,0x3, 0xa4,0x90,0x34,0x77,0x73,0x2, 0x34,0xa1,0x2, 0x35,0x23,0x2, 0x35,0x56,
+0x2, 0x35,0x9d,0x2, 0x36,0x59,0x2, 0x35,0xfa,0x2, 0x36,0x59,0x2, 0x35,0xfa,0x2,
+0x36,0x59,0x2, 0x35,0xfa,0x2, 0x36,0x59,0x2, 0x35,0xfa,0x2, 0x36,0x59,0x2, 0x36,
+0x51,0x7e,0xb3,0xe, 0x5, 0xf5,0x92,0x7e,0x73,0xe, 0x6, 0x7a,0x73,0xd, 0xc8,0x7e,
+0x34,0x0, 0x33,0xca,0x39,0x7e,0x18,0xe, 0x7, 0x7e,0x8, 0x9, 0x62,0x12,0x9c,0xb5,
+0x1b,0xfd,0x7e,0x73,0xe, 0x3a,0x7a,0x73,0x1, 0xe6,0x7e,0x34,0x0, 0x6, 0xca,0x39,
+0x7e,0x18,0xe, 0x3b,0x7e,0x8, 0x1, 0xc9,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x73,0xe,
+0x41,0x7a,0x73,0x2, 0x1e,0x7e,0x34,0x0, 0x4, 0xca,0x39,0x7e,0x18,0xe, 0x42,0x7e,
+0x8, 0x1, 0xe9,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x73,0xe, 0x46,0x7a,0x73,0x2, 0x21,
+0x7e,0x34,0x0, 0x1c,0xca,0x39,0x7e,0x18,0xe, 0x47,0x7e,0x8, 0x1, 0xed,0x12,0x9c,
+0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0xb, 0xca,0x39,0x7e,0x18,0xe, 0x63,0x7e,0x8, 0x1,
+0x49,0x80,0x73,0x7e,0x73,0xe, 0x5, 0x7a,0x73,0x2, 0x1e,0x7e,0x34,0x0, 0x12,0xca,
+0x39,0x7e,0x18,0xe, 0x6, 0x7e,0x8, 0x2, 0x23,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x73,
+0xe, 0x18,0x7a,0x73,0x2, 0x1d,0x7e,0x34,0x0, 0x58,0xca,0x39,0x7e,0x18,0xe, 0x19,
+0x7e,0x8, 0x2, 0x85,0x80,0x40,0x7e,0x73,0xe, 0x5, 0x7a,0x73,0x2, 0x20,0x7e,0x34,
+0x0, 0x4, 0xca,0x39,0x7e,0x18,0xe, 0x6, 0x7e,0x8, 0x2, 0x9, 0x12,0x9c,0xb5,0x1b,
+0xfd,0x7e,0x34,0x0, 0x50,0xca,0x39,0x7e,0x18,0xe, 0xa, 0x7e,0x8, 0x2, 0x35,0x12,
+0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x26,0xca,0x39,0x7e,0x17,0x1, 0xc1,0x1a,0x2,
+0x1a,0x0, 0x7e,0x18,0xe, 0x5a,0x12,0x9c,0xb5,0x1b,0xfd,0xc1,0x59,0x7e,0x34,0x0,
+0x2e,0xca,0x39,0x7e,0x18,0xe, 0x5, 0x7e,0x8, 0x9, 0x67,0x12,0x9c,0xb5,0x1b,0xfd,
+0x6c,0xff,0xa, 0x3f,0x9, 0x73,0xe, 0x5, 0xbc,0x7f,0x68,0x5, 0x75,0x6a,0x1, 0x80,
+0x7, 0xb, 0xf0,0xbe,0xf0,0x16,0x40,0xea,0xbe,0xf0,0x16,0x50,0x2, 0xc1,0x59,0x7e,
+0xb3,0xd, 0x8f,0x1b,0xb2,0x68,0xd, 0x14,0x68,0x5, 0x7e,0xf0,0x2e,0x80,0x8, 0x7e,
+0xf0,0x24,0x80,0x3, 0x7e,0xf0,0x16,0x7a,0xf3,0xd, 0x6a,0xe4,0x7a,0xb3,0xd, 0x6b,
+0x7a,0xf3,0x9, 0x63,0x7a,0xb3,0x9, 0x64,0x80,0x5f,0xbe,0xe0,0x55,0x68,0x5, 0xbe,
+0xe0,0x57,0x78,0x3, 0xe4,0x80,0x2, 0x74,0x1, 0x7a,0xb3,0xe, 0x2, 0x7e,0x34,0x0,
+0x14,0xca,0x39,0xa, 0x2e,0x9e,0x24,0x0, 0x55,0xad,0x32,0x7e,0x24,0x0, 0x2, 0x12,
+0x9a,0x2e,0x7d,0x13,0x2e,0x14,0x2, 0x35,0x6d,0x0, 0x7e,0x18,0xe, 0x5, 0x12,0x9c,
+0xb5,0x1b,0xfd,0x6c,0xff,0xa, 0x3f,0x9, 0xb3,0xe, 0x5, 0x70,0x7, 0xb, 0xf0,0xbe,
+0xf0,0x14,0x40,0xf1,0xbe,0xf0,0x14,0x40,0x10,0x74,0x2, 0x7a,0xb3,0x1, 0xe6,0x80,
+0x8, 0x7e,0x73,0xe, 0x5, 0x7a,0x73,0x1, 0xe6,0x12,0x86,0x15,0xda,0x79,0x22,0xca,
+0x3b,0x6c,0xff,0x75,0x29,0x0, 0x7e,0x64,0x3, 0xe8,0x7e,0xe0,0x1, 0xe1,0xc0,0x1a,
+0x2e,0x7e,0x34,0x0, 0x22,0xad,0x32,0x2e,0x34,0x87,0xe8,0x7a,0x71,0x82,0x7a,0x61,
+0x83,0xe4,0x93,0x12,0x6d,0x9a,0x70,0x2, 0xe1,0xbe,0x6d,0x33,0x7a,0x35,0x2a,0x7a,
+0x35,0x2c,0x7a,0x35,0x2e,0x7a,0x35,0x30,0x7a,0x35,0x32,0x1a,0x2e,0x7e,0x34,0x0,
+0x22,0xad,0x32,0x7d,0x23,0x2e,0x24,0x87,0xea,0x7a,0x25,0x34,0x2e,0x34,0x87,0xfa,
+0x7a,0x35,0x36,0x75,0x25,0x1, 0xe5,0x25,0x1a,0x3b,0x9, 0x53,0x10,0x60,0x1a,0x25,
+0x2e,0x35,0x34,0x7a,0x71,0x82,0x7a,0x61,0x83,0xe4,0x93,0x1a,0x3b,0x9d,0x32,0x12,
+0x9c,0xec,0x7d,0x3, 0x7e,0x15,0x2e,0xbd,0x10,0x58,0x3, 0x7a,0x5, 0x2e,0xe5,0x25,
+0x1a,0x3b,0x9, 0x53,0x10,0x70,0x1a,0x25,0x2e,0x35,0x36,0x7a,0x71,0x82,0x7a,0x61,
+0x83,0xe4,0x93,0x1a,0x3b,0x9d,0x32,0x12,0x9c,0xec,0x7d,0xf3,0x7e,0x15,0x30,0xbd,
+0x1f,0x58,0x3, 0x7a,0xf5,0x30,0x7d,0x10,0x2e,0x15,0x2a,0x7a,0x15,0x2a,0x7d,0x1f,
+0x2e,0x15,0x2c,0x7a,0x15,0x2c,0x2d,0xf0,0x7e,0x15,0x32,0xbd,0x1f,0x58,0x3, 0x7a,
+0xf5,0x32,0x5, 0x25,0xe5,0x25,0xb4,0x10,0x8d,0x7e,0x35,0x2a,0xbe,0x34,0x1, 0x80,
+0x8, 0x2, 0xe1,0xbe,0x7e,0x37,0x10,0x47,0xbe,0x35,0x2c,0x58,0x2, 0xe1,0xbe,0x7e,
+0x35,0x2e,0xbe,0x34,0x0, 0x2d,0x58,0x76,0x7e,0x37,0x10,0x5e,0xbe,0x35,0x30,0x8,
+0x6d,0x7e,0x15,0x34,0x7e,0x4, 0x0, 0xff,0x7e,0x18,0x10,0x60,0x12,0x61,0xc1,0xf5,
+0x26,0xbe,0xb0,0x38,0x48,0x58,0x7e,0x15,0x36,0x7e,0x4, 0x0, 0xff,0x7e,0x18,0x10,
+0x70,0x12,0x61,0xc1,0xf5,0x27,0xbe,0xb0,0x38,0x48,0x43,0x7e,0x71,0x27,0xe, 0x70,
+0x1a,0x27,0x7e,0x71,0x26,0xe, 0x70,0x1a,0x37,0x2d,0x32,0x7a,0x71,0x28,0xbe,0x70,
+0x32,0x48,0x2b,0x7e,0x35,0x2e,0x2e,0x35,0x2e,0x2e,0x35,0x32,0x7a,0x35,0x38,0xe5,
+0x28,0x1a,0x2b,0x7e,0x34,0x0, 0x64,0x9d,0x32,0x3e,0x34,0x2e,0x35,0x38,0x7a,0x35,
+0x38,0xbe,0x65,0x38,0x8, 0x8, 0x7e,0x65,0x38,0x85,0x28,0x29,0x7c,0xfe,0xb, 0xe0,
+0x7e,0x73,0x10,0x59,0xbc,0x7e,0x8, 0x2, 0xc1,0x6f,0xe5,0x29,0xbe,0xb0,0x46,0x48,
+0x23,0x1a,0x2f,0x7e,0x34,0x0, 0x22,0xad,0x32,0x2e,0x34,0x87,0xe8,0x7a,0x71,0x82,
+0x7a,0x61,0x83,0xe4,0x93,0xbe,0xb0,0xff,0x50,0xa, 0x1a,0x3f,0xb, 0x34,0x7a,0x73,
+0x10,0x4d,0x80,0x6, 0x74,0x7e,0x7a,0xb3,0x10,0x4d,0xda,0x3b,0x22,0xff,0xff,0xff,
+0xca,0x69,0xca,0xf8,0x7e,0xb7,0x1, 0xc9,0x9e,0xb4,0x0, 0x3c,0x7e,0xa7,0x1, 0xcb,
+0x9e,0xa4,0x0, 0x3c,0x7e,0x3, 0x1, 0xb5,0x7e,0xb3,0x1, 0x4b,0x70,0x2, 0x41,0x9,
+0x4c,0x0, 0x78,0x2, 0x41,0x9, 0x6c,0x11,0x74,0x5, 0xac,0xb1,0x9, 0xf5,0x1, 0x88,
+0xbe,0xf0,0x2, 0x50,0x2e,0x49,0x15,0x1, 0x84,0x49,0x45,0x1, 0x86,0x74,0x6, 0xac,
+0xbf,0x9, 0xb5,0x1, 0x93,0x70,0x1c,0x74,0x4, 0xac,0xbf,0x59,0x15,0xe, 0xd2,0x59,
+0x45,0xe, 0xd4,0x59,0x15,0xe, 0xda,0x59,0x45,0xe, 0xdc,0x59,0x15,0xe, 0xe2,0x59,
+0x45,0xe, 0xe4,0xb, 0x10,0xa5,0xb9,0x2, 0xbf,0x12,0x79,0x4, 0x60,0x28,0x6c,0x11,
+0x7e,0x50,0x5, 0xac,0x51,0x9, 0xa2,0x1, 0x88,0x74,0x4, 0xa4,0x49,0x35,0xe, 0xd2,
+0x59,0x32,0x1, 0x84,0x49,0x35,0xe, 0xd4,0x74,0x5, 0xac,0xb1,0x59,0x35,0x1, 0x86,
+0xb, 0x10,0xa5,0xb9,0x2, 0xda,0x6c,0x11,0x41,0x3, 0x74,0x5, 0xac,0xb1,0x9, 0xf5,
+0x1, 0x88,0xbe,0xf0,0x2, 0x40,0x2, 0x41,0x1, 0x49,0x15,0x1, 0x84,0x49,0x45,0x1,
+0x86,0x74,0x4, 0xac,0xbf,0x49,0x85,0xe, 0xd2,0x7d,0x91,0x9d,0x98,0x49,0x35,0xe,
+0xd4,0x7d,0x84,0x9d,0x83,0x49,0x25,0xe, 0xda,0x7d,0x31,0x9d,0x32,0x7a,0x35,0x23,
+0x49,0x35,0xe, 0xdc,0x7d,0x54,0x9d,0x53,0x7a,0x55,0x25,0xbe,0x14,0x0, 0x3c,0x40,
+0xe, 0xbd,0xb1,0x40,0xa, 0xbe,0x44,0x0, 0x3c,0x40,0x4, 0xbd,0xa4,0x50,0xe, 0x7e,
+0x73,0x0, 0x94,0xa, 0xe7,0x7d,0xce,0x7e,0x73,0x0, 0x95,0x80,0xc, 0x7e,0x73,0x0,
+0x92,0xa, 0xe7,0x7d,0xce,0x7e,0x73,0x0, 0x93,0xa, 0xf7,0x7d,0xdf,0x2e,0xf4,0x0,
+0x5, 0x7e,0x35,0x25,0x12,0x9c,0xec,0x7d,0x53,0x7e,0x35,0x23,0x12,0x9c,0xec,0x2d,
+0x53,0xbe,0x54,0x0, 0x16,0x18,0x57,0x7d,0x39,0x12,0x9c,0xec,0xbd,0x3c,0x18,0x17,
+0x7d,0x38,0x12,0x9c,0xec,0xbd,0x3d,0x18,0xe, 0x74,0x4, 0xac,0xbf,0x49,0x15,0xe,
+0xd2,0x49,0x45,0xe, 0xd4,0x80,0x78,0x7d,0x39,0x12,0x9c,0xec,0xbd,0x3e,0x18,0x6f,
+0x7d,0x38,0x12,0x9c,0xec,0xbd,0x3f,0x18,0x66,0x7e,0x90,0x4, 0xac,0x9f,0x49,0x14,
+0xe, 0xd2,0x7e,0x64,0x0, 0x3, 0x7d,0x39,0x7d,0x26,0x12,0x9a,0x2e,0x2d,0x13,0x49,
+0x44,0xe, 0xd4,0x7d,0x38,0x7d,0x26,0x12,0x9a,0x2e,0x2d,0x43,0x80,0x41,0x7e,0x70,
+0x4, 0xac,0x7f,0x49,0x23,0xe, 0xd2,0xbd,0x21,0x68,0x8, 0x49,0x23,0xe, 0xe2,0xbd,
+0x21,0x78,0x2c,0x49,0x23,0xe, 0xd4,0xbd,0x24,0x68,0x8, 0x49,0x23,0xe, 0xe4,0xbd,
+0x24,0x78,0x1c,0x7e,0xb3,0xe, 0xea,0x4, 0x7a,0xb3,0xe, 0xea,0x7e,0x53,0xe, 0xea,
+0xbe,0x50,0xa, 0x28,0xf, 0x59,0x13,0xe, 0xda,0x59,0x43,0xe, 0xdc,0x80,0x5, 0xe4,
+0x7a,0xb3,0xe, 0xea,0x7e,0x70,0x4, 0xac,0x7f,0x49,0x23,0xe, 0xd2,0xbd,0x21,0x78,
+0x8, 0x49,0x53,0xe, 0xd4,0xbd,0x54,0x68,0xc, 0x59,0x23,0xe, 0xe2,0x49,0x53,0xe,
+0xd4,0x59,0x53,0xe, 0xe4,0x74,0x4, 0xac,0xbf,0x59,0x15,0xe, 0xd2,0x74,0x4, 0xac,
+0xbf,0x59,0x45,0xe, 0xd4,0x74,0x5, 0xac,0xb1,0x59,0x15,0x1, 0x84,0x59,0x45,0x1,
+0x86,0xb, 0x10,0xbc,0x1, 0x28,0x2, 0x1, 0x9a,0xda,0xf8,0xda,0x69,0x22,0xca,0xf8,
+0x7e,0x34,0x0, 0x3e,0xca,0x39,0x7e,0x34,0xb4,0x78,0x7e,0x24,0x0, 0xff,0x7e,0x8,
+0x0, 0xed,0x12,0x9c,0xb5,0x1b,0xfd,0x90,0xb4,0x45,0xe4,0x93,0x7a,0xb3,0xd, 0x6a,
+0x90,0xb4,0x48,0xe4,0x93,0xa, 0x2b,0x90,0xb4,0x46,0xe4,0x93,0xa, 0x3b,0x9d,0x32,
+0x7a,0x73,0xd, 0x6b,0x7e,0x34,0x0, 0x5, 0xca,0x39,0x7e,0x34,0xb4,0x44,0x7e,0x24,
+0x0, 0xff,0x7e,0x8, 0x9, 0x62,0x12,0x9c,0xb5,0x1b,0xfd,0xe5,0x6a,0x70,0x17,0x7e,
+0x34,0x0, 0x2e,0xca,0x39,0x7e,0x34,0xb4,0x49,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x9,
+0x67,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x10,0xca,0x39,0x7e,0x34,0xb6,0x46,
+0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x1, 0x49,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0,
+0x4, 0xca,0x39,0x7e,0x34,0xb6,0x6e,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x0, 0x92,0x12,
+0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x5a,0xca,0x39,0x7e,0x34,0xb5,0x26,0x7e,0x24,
+0x0, 0xff,0x7e,0x8, 0x1, 0xc1,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x12,0xca,
+0x39,0x7e,0x34,0xb5,0x85,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x2, 0x23,0x12,0x9c,0xb5,
+0x1b,0xfd,0x7e,0x34,0x0, 0x50,0xca,0x39,0x7e,0x34,0xb5,0x97,0x7e,0x24,0x0, 0xff,
+0x7e,0x8, 0x2, 0x35,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x58,0xca,0x39,0x7e,
+0x34,0xb5,0xe7,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x2, 0x85,0x12,0x9c,0xb5,0x1b,0xfd,
+0x7e,0x34,0x0, 0x5, 0xca,0x39,0x7e,0x34,0xb5,0x80,0x7e,0x24,0x0, 0xff,0x7e,0x8,
+0x2, 0x1d,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x6, 0xca,0x39,0x7e,0x34,0xb6,
+0x46,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x1, 0x49,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,
+0x0, 0x6, 0xca,0x39,0x7e,0x34,0xb6,0x62,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x0, 0xc4,
+0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x8, 0xca,0x39,0x7e,0x34,0xb6,0x72,0x7e,
+0x24,0x0, 0xff,0x7e,0x8, 0x0, 0xa2,0x12,0x9c,0xb5,0x1b,0xfd,0x90,0xb6,0x7c,0xe4,
+0x93,0x7a,0xb3,0x0, 0xb1,0x90,0xb6,0x7d,0xe4,0x93,0x7a,0xb3,0x0, 0xb2,0x7e,0x34,
+0x0, 0x6, 0xca,0x39,0x7e,0x34,0xb6,0x86,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x0, 0xb3,
+0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x8, 0xca,0x39,0x7e,0x34,0xb6,0x7e,0x7e,
+0x24,0x0, 0xff,0x7e,0x8, 0x0, 0x96,0x12,0x9c,0xb5,0x1b,0xfd,0x90,0xb4,0xc6,0xe4,
+0x93,0x7c,0x7b,0x74,0x64,0xac,0x7b,0x7e,0x24,0x0, 0x3, 0x12,0x9a,0x2e,0x7a,0x37,
+0x0, 0xae,0x7e,0x34,0xb6,0x7a,0x7e,0x24,0x0, 0xff,0xb, 0x1a,0x30,0x7a,0x37,0x0,
+0xac,0x7e,0xf3,0xd, 0xde,0x7e,0x34,0x0, 0x60,0xca,0x39,0x7e,0x34,0xb4,0xc6,0x7e,
+0x24,0x0, 0xff,0x7e,0x8, 0xd, 0xa2,0x12,0x9c,0xb5,0x1b,0xfd,0x90,0xb4,0x12,0xe4,
+0x93,0x7a,0xb3,0xd, 0xca,0x90,0xb4,0x44,0xe4,0x93,0x7a,0xb3,0xd, 0xc2,0x7a,0xf3,
+0xd, 0xde,0x12,0x85,0x6f,0x12,0x85,0x27,0x12,0x85,0xf, 0x12,0x85,0x87,0x12,0x85,
+0x57,0x12,0x84,0xf7,0x12,0x84,0xdf,0x12,0x85,0x3f,0x12,0x85,0x9f,0xda,0xf8,0x22,
+0xca,0xd8,0xca,0x79,0x6d,0xff,0x7e,0xa3,0x1, 0xb5,0x7c,0xa, 0xe5,0x60,0xbe,0xb0,
+0xa, 0x50,0x2, 0x5, 0x60,0x4c,0xaa,0x78,0x24,0x6c,0x11,0x6d,0x11,0x7e,0x70,0x2,
+0xac,0x71,0x59,0x13,0x11,0x30,0x7e,0x70,0xff,0x7e,0x30,0x5, 0xac,0x31,0x19,0x71,
+0x11,0x2a,0xb, 0x10,0xa5,0xb9,0x2, 0xe3,0x75,0x60,0x0, 0x80,0x14,0xbe,0xa0,0x0,
+0x28,0xf, 0x7e,0xb3,0x1, 0xb6,0x70,0x9, 0xe4,0x7a,0xb3,0x11,0x34,0x7a,0xb3,0x11,
+0x35,0x6c,0x11,0xa1,0xd5,0x74,0x5, 0xac,0xb1,0x9, 0xf5,0x1, 0x6a,0xbe,0xf0,0x2,
+0x40,0x2, 0xa1,0xd3,0x74,0x6, 0xac,0xbf,0x9, 0xb5,0x1, 0x93,0xbe,0xb0,0x1, 0x78,
+0x2, 0xa1,0xd3,0x6c,0xee,0x74,0x5, 0xac,0xbe,0x9, 0xd5,0x11,0x2a,0xbc,0xdf,0x68,
+0x2, 0xa1,0xca,0x49,0x25,0x11,0x26,0x74,0x5, 0xac,0xb1,0x49,0x35,0x1, 0x66,0x9d,
+0x32,0x12,0x9c,0xec,0x7d,0xf3,0x74,0x5, 0xac,0xbe,0x49,0x25,0x11,0x28,0x74,0x5,
+0xac,0xb1,0x49,0x35,0x1, 0x68,0x9d,0x32,0x12,0x9c,0xec,0x7d,0x43,0x2d,0x4f,0xe5,
+0x60,0xb4,0x2, 0x11,0xbe,0x44,0x0, 0x50,0x28,0xb, 0x7e,0x15,0x5e,0x74,0x2, 0xac,
+0xbf,0x59,0x15,0x11,0x30,0x74,0x5, 0xac,0xbe,0x49,0x15,0x11,0x28,0xbe,0x17,0x0,
+0xd2,0x78,0xe, 0x74,0x5, 0xac,0xb1,0x49,0x15,0x1, 0x68,0xbe,0x17,0x0, 0xd2,0x78,
+0x69,0xa, 0x1d,0x9, 0xa1,0x11,0x34,0xbe,0xa0,0x0, 0x28,0x17,0x7e,0x30,0x2, 0xac,
+0x3d,0x59,0x41,0x11,0x30,0xa, 0x1d,0x2e,0x14,0x11,0x34,0x7c,0xba,0x14,0x7a,0x19,
+0xb0,0xa1,0xd3,0x7e,0x30,0x2, 0xac,0x3d,0x49,0xe1,0x11,0x30,0xbe,0xe4,0x0, 0x32,
+0x28,0x14,0xbe,0x44,0x0, 0x32,0x28,0xe, 0x59,0x41,0x11,0x30,0x74,0x2, 0xa, 0x3d,
+0x19,0xb3,0x11,0x34,0xa1,0xd3,0x7d,0x5e,0x2e,0x54,0x0, 0x32,0xbd,0x54,0x50,0x14,
+0xbe,0xe4,0x0, 0x32,0x28,0xe, 0x59,0x41,0x11,0x30,0x74,0x2, 0xa, 0x1d,0x19,0xb1,
+0x11,0x34,0x80,0x7f,0xbe,0x44,0x0, 0x96,0x28,0x66,0xe4,0xa, 0x1d,0x19,0xb1,0x11,
+0x34,0x7e,0x30,0x6, 0xac,0x3f,0x9, 0xb1,0x1, 0x93,0x70,0x4, 0x74,0x3, 0x80,0x8,
+0x7e,0xb3,0x10,0xed,0x70,0x6, 0x74,0x1, 0x19,0xb1,0x1, 0x93,0x7e,0x70,0x5, 0xac,
+0x71,0x2e,0x34,0x1, 0x66,0x7e,0x14,0xc, 0xa0,0x74,0x5, 0x12,0x9b,0x1, 0xbe,0x0,
+0x0, 0x28,0x2d,0x1b,0x0, 0x7e,0x70,0x5, 0xac,0x70,0x2e,0x34,0x1, 0x66,0x7e,0x30,
+0x5, 0xac,0x31,0x2e,0x14,0x1, 0x66,0x74,0x5, 0x12,0x9b,0x1, 0x7e,0x34,0xc, 0xa0,
+0x7e,0x30,0x5, 0xac,0x30,0x2e,0x14,0x1, 0x66,0x74,0x5, 0x12,0x9b,0x1, 0x1b,0x10,
+0x74,0x2, 0xac,0xbd,0x59,0x45,0x11,0x30,0x80,0x9, 0xb, 0xe0,0xbe,0xe0,0x2, 0x50,
+0x2, 0x81,0x85,0xb, 0x10,0x7e,0x73,0x1, 0xb5,0xbc,0x71,0x28,0x2, 0x81,0x65,0x7a,
+0x3, 0x1, 0xb5,0x6c,0x11,0x7e,0x30,0x5, 0xac,0x31,0x7d,0x31,0x2e,0x34,0x1, 0x66,
+0x2e,0x14,0x11,0x26,0x74,0x5, 0x12,0x9b,0x1, 0xb, 0x10,0xbe,0x10,0x2, 0x40,0xe5,
+0xda,0x79,0xda,0xd8,0x22,0x7e,0xb3,0x1, 0x28,0x70,0x2, 0xe1,0xdf,0x7e,0xb3,0xd,
+0xad,0x70,0x2, 0xe1,0xdf,0x7e,0x37,0x0, 0x81,0xbe,0x37,0x10,0xd7,0x50,0x30,0x7e,
+0x27,0x0, 0x85,0xbe,0x27,0x10,0xd7,0x50,0x4, 0x74,0x3, 0x80,0x16,0x7e,0x27,0x0,
+0x83,0xbe,0x27,0x10,0xd7,0x50,0x4, 0x74,0x2, 0x80,0x8, 0xbe,0x37,0x10,0xd7,0x50,
+0x6, 0x74,0x1, 0x7a,0xb3,0x10,0xec,0x74,0x1, 0x7a,0xb3,0x10,0xed,0x80,0x9, 0xe4,
+0x7a,0xb3,0x10,0xed,0x7a,0xb3,0x10,0xec,0x7e,0x73,0x10,0xf0,0x7c,0xb7,0x30,0xe7,
+0xe, 0x7e,0xb3,0x10,0xe8,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0x10,0xe8,0x3e,
+0x70,0x7a,0x73,0x10,0xf0,0x7e,0xb3,0x10,0xed,0x60,0x11,0x7e,0xb3,0x10,0xe8,0x4,
+0x7a,0xb3,0x10,0xe8,0x7e,0xb3,0x10,0xf0,0x44,0x1, 0x80,0x6, 0x7e,0xb3,0x10,0xf0,
+0x54,0xfe,0x7a,0xb3,0x10,0xf0,0x7e,0x73,0x0, 0x87,0xbe,0x73,0x10,0xe8,0x50,0x6,
+0x74,0x1, 0x7a,0xb3,0x10,0xd9,0x7e,0x37,0x0, 0x81,0xbe,0x37,0x10,0xd5,0x50,0x9,
+0x7e,0xb3,0x10,0xe7,0x4, 0x7a,0xb3,0x10,0xe7,0x7e,0xb3,0x10,0xda,0xbe,0xb0,0x4,
+0x50,0x7, 0x4, 0x7a,0xb3,0x10,0xda,0xe1,0x74,0x7e,0x73,0x10,0xe7,0xbe,0x70,0x2,
+0x50,0x2f,0x7e,0xa3,0x10,0xef,0xbe,0xa0,0xff,0x78,0xa, 0x7e,0xb3,0x10,0xea,0x7a,
+0xb3,0x10,0xef,0x80,0x1c,0x74,0x2, 0xa4,0x49,0x25,0x10,0xdb,0x7e,0xa3,0x10,0xea,
+0x7e,0x70,0x2, 0xac,0x7a,0x49,0x33,0x10,0xdb,0xbd,0x32,0x50,0x4, 0x7a,0xa3,0x10,
+0xef,0xe4,0x7a,0xb3,0x10,0xda,0x7a,0xb3,0x10,0xe7,0x7e,0xb3,0x10,0xea,0x4, 0x7a,
+0xb3,0x10,0xea,0x7e,0x73,0x10,0xea,0xbe,0x70,0x4, 0x28,0xb, 0xe4,0x7a,0xb3,0x10,
+0xea,0x74,0x1, 0x7a,0xb3,0x10,0xf1,0x7e,0x73,0x10,0xeb,0xbe,0x73,0x10,0xea,0x78,
+0x1d,0x7e,0xb3,0x10,0xea,0x4, 0x7a,0xb3,0x10,0xea,0x7e,0x73,0x10,0xea,0xbe,0x70,
+0x4, 0x28,0xb, 0xe4,0x7a,0xb3,0x10,0xea,0x74,0x1, 0x7a,0xb3,0x10,0xf1,0x7e,0x73,
+0x10,0xea,0xa, 0x37,0x2e,0x34,0x0, 0x3, 0x7a,0x73,0x10,0xe6,0x74,0x1, 0x7a,0xb3,
+0x10,0xee,0x7e,0xb3,0x10,0xf1,0x60,0xc, 0x7e,0x8, 0x10,0xdb,0x7e,0x34,0x0, 0xa,
+0xe4,0x12,0x9c,0xda,0x7e,0xb3,0x10,0xd9,0x60,0x60,0x7e,0xb3,0x10,0xf1,0x60,0x5a,
+0x7e,0x73,0x10,0xef,0xbe,0x70,0xff,0x68,0x3e,0x7a,0x73,0x10,0xeb,0xa, 0x37,0x2e,
+0x34,0x0, 0x3, 0x7a,0x73,0x10,0xe5,0x74,0x1, 0x7a,0xb3,0x10,0xee,0xe4,0x7a,0xb3,
+0x10,0xe8,0x7a,0xb3,0x10,0xf0,0x7a,0xb3,0x10,0xea,0x7e,0xb3,0x10,0xeb,0x70,0x9,
+0x7e,0xb3,0x10,0xea,0x4, 0x7a,0xb3,0x10,0xea,0xe4,0x7a,0xb3,0x10,0xd9,0x74,0xff,
+0x7a,0xb3,0x10,0xef,0xe4,0x80,0xf, 0x7e,0xb3,0x1, 0x29,0x60,0xd, 0xe5,0x66,0x70,
+0x3, 0x30,0x9, 0x6, 0x74,0x1, 0x7a,0xb3,0x10,0xe9,0xe4,0x7a,0xb3,0x10,0xf1,0x22,
+0x7c,0xab,0x7e,0xb3,0x1, 0xb5,0x4, 0x7a,0xb3,0x1, 0xb5,0x74,0x2, 0xa4,0x49,0x35,
+0x0, 0xca,0x7a,0x37,0x1, 0x66,0x7e,0x37,0x0, 0xd2,0x7a,0x37,0x1, 0x68,0x22,0xff,
+0xca,0xf8,0x6c,0xff,0x7e,0xb3,0x1, 0xb9,0x70,0x14,0x7e,0xb3,0x1, 0xbb,0x70,0xe,
+0x7e,0xb3,0x1, 0xbd,0x70,0x8, 0x7e,0xb3,0x1, 0xba,0x70,0x2, 0x21,0x7c,0x7e,0xb3,
+0x1, 0xb4,0x4, 0x7a,0xb3,0x1, 0xb4,0x7e,0x73,0x1, 0xb4,0xbe,0x70,0x2, 0x40,0x6,
+0x74,0x2, 0x7a,0xb3,0x1, 0xb4,0x20,0xe, 0x6, 0x7e,0xf4,0x10,0xf2,0x80,0x4, 0x7e,
+0xf4,0x11,0x0, 0x7d,0x1f,0x6d,0x0, 0x7e,0x34,0x0, 0xe, 0x74,0xff,0x12,0x9c,0xda,
+0xe5,0x63,0x7a,0xf9,0xb0,0x6c,0x33,0x6c,0x22,0x7e,0x70,0x5, 0xac,0x73,0x9, 0x13,
+0x1, 0x88,0xbe,0x10,0xff,0x78,0x2, 0x21,0x19,0x74,0x6, 0xac,0xb1,0x9, 0x5, 0x1,
+0x93,0xbe,0x0, 0x3, 0x78,0x2, 0x21,0x19,0x49,0x23,0x1, 0x84,0x7e,0x37,0x1, 0xc9,
+0x9d,0x32,0x12,0x9c,0xec,0x7d,0x43,0x7e,0x57,0x1, 0xc9,0xbd,0x54,0x78,0x6, 0x7e,
+0x73,0x2, 0x11,0xa, 0x47,0xbe,0x0, 0x1, 0x68,0x2, 0xb, 0xf0,0xa5,0xb8,0x1, 0x3,
+0x75,0x5a,0x0, 0xa, 0x50,0x3, 0x3, 0x54,0xc0,0x7c,0xab,0xe4,0x4d,0x45,0x7e,0xb3,
+0xe, 0x2, 0x60,0x2b,0x4e,0x80,0x10,0x7e,0xa3,0x9, 0xc5,0x74,0x40,0xa4,0xbe,0x57,
+0x1, 0xc9,0x50,0x4, 0x6d,0xee,0x80,0x6, 0x7d,0xe5,0x9e,0xe7,0x1, 0xc9,0x7d,0x54,
+0x5e,0xa0,0xf, 0xbd,0x5e,0x50,0x6, 0x5e,0x44,0xf0,0x0, 0x80,0x2, 0x9d,0x4e,0x7e,
+0x70,0x6, 0xac,0x72,0x7d,0x23,0x2d,0x2f,0x59,0x42,0x0, 0x2, 0x74,0x5, 0xac,0xb3,
+0x49,0x45,0x1, 0x86,0xa, 0x51,0xc4,0x54,0xf0,0x7c,0xab,0xe4,0x5e,0x80,0xf, 0x4d,
+0x45,0x7d,0x23,0x2d,0x2f,0x59,0x42,0x0, 0x4, 0x7d,0x23,0x2d,0x2f,0x19,0xb2,0x0,
+0x6, 0x2d,0x3f,0x19,0xb3,0x0, 0x7, 0xb, 0x20,0xb, 0x30,0xa5,0xbb,0x2, 0x2, 0x80,
+0x2, 0x1, 0x59,0x19,0xff,0x0, 0x1, 0x30,0xe, 0x4, 0xc2,0xe, 0x80,0x2, 0xd2,0xe,
+0x7e,0xb3,0x1, 0xbb,0x60,0x3, 0x12,0x81,0x7c,0xe4,0x7a,0xb3,0x1, 0xb9,0x7a,0xb3,
+0x1, 0xbb,0x7a,0xb3,0x1, 0xbd,0x7e,0xb3,0x1, 0x52,0x60,0x19,0x7e,0xb3,0xd, 0xf2,
+0xb4,0x1, 0x12,0x7e,0xb3,0x1, 0xba,0x60,0x11,0x74,0x1, 0x12,0x87,0xc1,0xe4,0x7a,
+0xb3,0x1, 0xba,0x80,0x5, 0x74,0x1, 0x12,0x87,0xc1,0x74,0x2d,0x12,0x86,0x59,0x7e,
+0xb3,0xd, 0xc6,0xb4,0x1, 0xe, 0xe4,0x12,0x87,0xc1,0x80,0x8, 0xe4,0x12,0x87,0xc1,
+0x7a,0xb3,0x1, 0xb4,0xda,0xf8,0x22,0xca,0x69,0xca,0xf8,0x7e,0xb3,0x1, 0x52,0x70,
+0x2, 0x61,0x9, 0x7e,0xb3,0xd, 0xf2,0x70,0x2, 0x61,0x9, 0x65,0x57,0x68,0x5, 0xe4,
+0x7a,0xb3,0xd, 0xf5,0x7e,0xb3,0xd, 0xf2,0xf5,0x57,0x7e,0x37,0x1, 0x84,0x7e,0x27,
+0x1, 0x86,0x7e,0xa3,0x1, 0xb5,0xbe,0xa0,0x0, 0x38,0x2, 0x41,0x46,0x7e,0x17,0x3,
+0x24,0xbe,0x17,0xb, 0xb6,0x38,0x2, 0x61,0x4, 0xe4,0x7a,0xb3,0xc, 0x7f,0xbe,0xa0,
+0x2, 0x78,0x21,0x30,0xf, 0x1e,0x74,0x26,0x7a,0xb3,0xd, 0xf5,0x74,0x1, 0x7a,0xb3,
+0x1, 0xba,0x6d,0x11,0x7a,0x15,0x58,0x7e,0xb3,0xd, 0xf5,0xf5,0x56,0xe4,0x7a,0xb3,
+0x1, 0xb5,0x80,0x4d,0xbe,0xa0,0x2, 0x38,0x37,0x20,0xf, 0x34,0xe5,0x5a,0xbe,0xb0,
+0x2, 0x50,0x11,0xe5,0x56,0xb4,0x25,0x4, 0x5, 0x5a,0x80,0x2b,0x75,0x56,0x25,0x75,
+0x5a,0x0, 0x80,0x23,0x74,0x25,0x7a,0xb3,0xd, 0xf5,0x74,0x1, 0x7a,0xb3,0x1, 0xba,
+0x6d,0x11,0x7a,0x15,0x58,0x7e,0xb3,0xd, 0xf5,0xf5,0x56,0x75,0x5a,0x0, 0x80,0x11,
+0xe4,0x7a,0xb3,0xd, 0xf5,0xf5,0x56,0xe4,0x7a,0xb3,0x1, 0xba,0x6d,0x11,0x7a,0x15,
+0x58,0x12,0x44,0x90,0x61,0x9, 0x7e,0xf5,0x58,0xbe,0xf4,0x0, 0x1, 0x78,0x23,0x7e,
+0xe7,0xc, 0x9b,0x4d,0xee,0x78,0x2, 0x61,0x9, 0x7e,0xb3,0xc, 0x7f,0x4, 0x7a,0xb3,
+0xc, 0x7f,0x7e,0x73,0xc, 0x7f,0xbe,0x70,0x4, 0x50,0x2, 0x61,0x9, 0x12,0x65,0x18,
+0x61,0x9, 0xbe,0xf4,0x0, 0x2, 0x78,0x58,0x7e,0xa3,0xb, 0xba,0xbe,0xa0,0x1, 0x28,
+0x6, 0x7e,0x67,0x3, 0x4, 0x80,0x4, 0x7e,0x67,0x3, 0x2, 0x7e,0x37,0xb, 0xb8,0xbd,
+0x36,0x28,0x76,0xbe,0xa0,0x2, 0x40,0x6c,0x74,0x2, 0xa4,0x49,0x35,0xc, 0x93,0x9e,
+0x37,0xc, 0x95,0x12,0x9c,0xec,0x7d,0x13,0x7e,0xa3,0xb, 0xba,0x74,0x2, 0xa4,0x49,
+0x35,0xc, 0x8f,0x9e,0x37,0xc, 0x91,0x12,0x9c,0xec,0x7d,0x23,0x2d,0x21,0x7e,0x73,
+0x2, 0xfa,0xa, 0x37,0x3e,0x34,0x3e,0x34,0x3e,0x34,0xbd,0x32,0x38,0x36,0x80,0x34,
+0xbe,0xf0,0x24,0x68,0x5, 0xbe,0xf0,0xfe,0x78,0x1f,0xbe,0xf0,0xfe,0x78,0x5, 0x12,
+0x7d,0x7b,0x7c,0xfb,0x4c,0xff,0x68,0x11,0x7c,0xbf,0x12,0x6d,0x9a,0x60,0xa, 0x7a,
+0xf3,0xd, 0xf5,0x74,0x1, 0x7a,0xb3,0x1, 0xba,0xe4,0x7a,0xb3,0xb, 0xba,0x6d,0x33,
+0x7a,0x37,0xb, 0xb6,0x6d,0x33,0x7a,0x35,0x58,0xda,0xf8,0xda,0x69,0x22,0xca,0x3b,
+0x7c,0x7b,0xbe,0xb0,0x8, 0x50,0x75,0x7e,0xa0,0x3, 0xa4,0x90,0x43,0x1f,0x73,0x2,
+0x43,0x37,0x2, 0x43,0x54,0x2, 0x43,0x7c,0x2, 0x43,0x6a,0x2, 0x43,0x6a,0x2, 0x43,
+0x6a,0x2, 0x43,0x6a,0x2, 0x43,0x6a,0x7e,0x68,0x9, 0xc6,0x7e,0xc3,0x0, 0xef,0x7e,
+0xd3,0x0, 0xf0,0x7e,0xb3,0xd, 0xc7,0xb4,0x1, 0x4, 0x6c,0xff,0x80,0x59,0x7e,0xf3,
+0x0, 0xee,0x80,0x53,0x7e,0x68,0xa, 0x22,0x7e,0xc3,0x1, 0x17,0x7e,0xd3,0x1, 0x18,
+0x7e,0xf3,0x1, 0x15,0x7e,0xe3,0x1, 0x16,0x80,0x41,0x7e,0x68,0x9, 0xc6,0x74,0x2,
+0xac,0xb7,0x9, 0xc5,0x1, 0x13,0x9, 0xd5,0x1, 0x14,0x80,0xc, 0x7e,0x68,0x9, 0xc6,
+0x7e,0xc3,0x0, 0xef,0x7e,0xd3,0x0, 0xf0,0x6c,0xff,0x80,0x1b,0x7e,0x68,0x9, 0xc6,
+0x7e,0xc3,0x0, 0xef,0x7e,0xd3,0x0, 0xf0,0x7e,0xb3,0xd, 0xc7,0xb4,0x1, 0x4, 0x6c,
+0xff,0x80,0x4, 0x7e,0xf3,0x0, 0xee,0x7e,0xe3,0x0, 0xfa,0x7e,0x1f,0x11,0x42,0x69,
+0xa1,0x0, 0xae,0x1e,0xa4,0x1e,0xa4,0x5e,0xa4,0x0, 0x1, 0x68,0x9, 0x7e,0x37,0x11,
+0xe, 0x12,0x0, 0x76,0x80,0x65,0x6c,0xaa,0x80,0x59,0xa, 0x3a,0x9, 0x63,0x9, 0x95,
+0x7e,0x70,0x2, 0xac,0x67,0x2d,0x3d,0x7d,0x2c,0xb, 0x1a,0xb0,0x7d,0x3b,0x12,0x81,
+0x2b,0x7d,0xb3,0x7e,0x30,0x2, 0xac,0x3a,0x7e,0x1f,0x11,0x42,0x2d,0x31,0x2e,0x34,
+0x0, 0x14,0xb, 0x1a,0xa0,0x5e,0xa4,0x0, 0x3f,0x1b,0x1a,0xa0,0x7d,0x4b,0x3e,0x44,
+0x3e,0x44,0x3e,0x44,0x3e,0x44,0x3e,0x44,0x3e,0x44,0x7e,0x30,0x2, 0xac,0x3a,0x7e,
+0x1f,0x11,0x42,0x2d,0x31,0x2e,0x34,0x0, 0x14,0xb, 0x1a,0xa0,0x4d,0xa4,0x1b,0x1a,
+0xa0,0xb, 0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,0xba,0x38,0x9f,0x7e,0x1f,0x11,0x42,0x69,
+0xa1,0x0, 0xae,0x1e,0xa4,0x1e,0xa4,0x5e,0xa4,0x0, 0x1, 0x78,0x12,0xa, 0xbc,0x7d,
+0x1b,0x7c,0x23,0x6c,0x33,0x7d,0xb1,0xa, 0xad,0x2d,0xba,0x79,0xb1,0x0, 0xa2,0xa,
+0x1f,0x5e,0x14,0x0, 0x1f,0x3e,0x14,0x3e,0x14,0x7e,0x1f,0x11,0x42,0x2e,0x34,0x0,
+0xb0,0xb, 0x1a,0xa0,0x5e,0xa4,0xff,0x83,0x4d,0xa1,0x1b,0x1a,0xa0,0x7c,0x6e,0x5e,
+0x60,0x3, 0x7c,0xb6,0xc4,0x54,0xf0,0x7c,0x6b,0x7e,0x73,0x9, 0x25,0x5e,0x70,0xcf,
+0x4c,0x76,0x7a,0x73,0x9, 0x25,0x7e,0x8, 0x9, 0x25,0x12,0x73,0xf7,0xda,0x3b,0x22,
+0xca,0x79,0x7d,0xc2,0x7d,0xb3,0x7d,0x2c,0x12,0x7b,0xc0,0xbe,0xb0,0x1, 0x78,0x2,
+0xc1,0x9, 0x7e,0xa7,0xc, 0x9b,0x4d,0xaa,0x78,0x6, 0x74,0x4, 0x7a,0xb3,0xc, 0x9f,
+0xbe,0xa4,0x0, 0x0, 0x28,0x2a,0x7d,0xda,0x1b,0xd4,0x3e,0xd4,0x3e,0xd4,0x49,0x3d,
+0xb, 0xc1,0x9d,0x3c,0x12,0x9c,0xec,0x7d,0xd3,0x7e,0xa7,0xc, 0x9b,0x1b,0xa4,0x3e,
+0xa4,0x3e,0xa4,0x49,0x3a,0xb, 0xbf,0x9d,0x3b,0x12,0x9c,0xec,0x2d,0xd3,0x80,0x4,
+0x7e,0xd4,0x7f,0xff,0x7e,0x73,0xc, 0x9f,0xa, 0xa7,0xbd,0xad,0x50,0x22,0x7e,0xa7,
+0xc, 0x9b,0x3e,0xa4,0x3e,0xa4,0x59,0xba,0xb, 0xbf,0x7e,0xa7,0xc, 0x9b,0x3e,0xa4,
+0x3e,0xa4,0x59,0xca,0xb, 0xc1,0x7e,0xa7,0xc, 0x9b,0xb, 0xa4,0x7a,0xa7,0xc, 0x9b,
+0x7e,0xa7,0xc, 0x9b,0xbe,0xa4,0x0, 0x30,0x50,0x2, 0xa1,0xd1,0xa1,0xc5,0x6c,0xff,
+0x7e,0xb3,0xc, 0x9f,0xb, 0xb1,0x7a,0xb3,0xc, 0x9f,0x7e,0x73,0xc, 0x9f,0xbe,0x70,
+0xc8,0x28,0xf, 0x7e,0xa7,0x3, 0x24,0x7a,0xa7,0xb, 0xb6,0x6d,0xaa,0x7a,0xa5,0x58,
+0xa1,0xd1,0x7e,0x1f,0xb, 0xbf,0x7a,0x1f,0xc, 0xa0,0x7e,0xe0,0x1, 0x80,0x53,0x74,
+0x4, 0xac,0xbf,0x49,0x25,0xc, 0xa2,0x74,0x4, 0xac,0xbe,0x49,0x35,0xb, 0xc1,0x9d,
+0x32,0x12,0x9c,0xec,0x7d,0xd3,0x74,0x4, 0xac,0xbf,0x49,0x25,0xc, 0xa0,0x74,0x4,
+0xac,0xbe,0x49,0x35,0xb, 0xbf,0x9d,0x32,0x12,0x9c,0xec,0x2d,0xd3,0x7e,0x73,0xc,
+0x9f,0xa, 0xa7,0xbd,0xad,0x38,0x19,0xb, 0xf0,0x7e,0x70,0x4, 0xac,0x7e,0x2e,0x34,
+0xb, 0xbf,0x7e,0x30,0x4, 0xac,0x3f,0x2e,0x14,0xc, 0xa0,0x74,0x4, 0x12,0x9b,0x1,
+0xb, 0xe0,0xa, 0xae,0xbe,0xa7,0xc, 0x9b,0x40,0xa5,0x7e,0xa4,0x0, 0xc0,0xca,0xa9,
+0x7e,0x18,0xc, 0xa0,0x7e,0x8, 0xb, 0xbf,0x12,0x9c,0xb5,0x1b,0xfd,0xa, 0xaf,0xb,
+0xa4,0x7a,0xa7,0xc, 0x9b,0x7e,0xa7,0xc, 0x9b,0xbe,0xa4,0x0, 0x2d,0x28,0x2, 0xa1,
+0x1e,0x7a,0xb7,0xc, 0x85,0x7a,0xc7,0xc, 0x87,0x7e,0xa7,0xc, 0x8d,0xbd,0xab,0x28,
+0x4, 0x7a,0xb7,0xc, 0x8d,0x7e,0xa7,0xc, 0x89,0xbd,0xab,0x50,0x4, 0x7a,0xb7,0xc,
+0x89,0x7e,0x37,0xc, 0x8f,0xbd,0x3c,0x28,0x4, 0x7a,0xc7,0xc, 0x8f,0x7e,0x37,0xc,
+0x8b,0xbd,0x3c,0x50,0x4, 0x7a,0xc7,0xc, 0x8b,0xda,0x79,0x22,0xca,0x79,0x7f,0x70,
+0x29,0xe7,0x0, 0x9e,0x7e,0x73,0x9, 0x62,0xa5,0xbf,0x5, 0x3a,0x6c,0xaa,0x80,0x30,
+0xa, 0x2a,0x7f,0x7, 0x2d,0x12,0x29,0xf0,0x0, 0x42,0xbe,0xf0,0x24,0x50,0xe, 0xa,
+0x2f,0x2e,0x24,0x0, 0x5, 0x7c,0x65,0x39,0x60,0x1, 0x59,0x80,0x11,0xbe,0xf0,0x24,
+0x40,0x8, 0x74,0x2d,0x39,0xb0,0x1, 0x59,0x80,0x4, 0x39,0xf0,0x1, 0x59,0xb, 0xa0,
+0xbc,0xea,0x38,0xcc,0x80,0x75,0xa5,0xbf,0x4, 0x51,0x6c,0xaa,0x80,0x47,0xa, 0x2a,
+0x7f,0x7, 0x2d,0x12,0x29,0xf0,0x0, 0x42,0xbe,0xf0,0x7, 0x40,0xd, 0xbe,0xf0,0xe,
+0x38,0x8, 0xa, 0x2f,0x2e,0x24,0x0, 0xc, 0x80,0x10,0xbe,0xf0,0xf, 0x40,0x13,0xbe,
+0xf0,0x15,0x38,0xe, 0xa, 0x2f,0x2e,0x24,0x0, 0x18,0x7c,0x65,0x39,0x60,0x1, 0x59,
+0x80,0x11,0xbe,0xf0,0x16,0x40,0x8, 0x74,0x1c,0x39,0xb0,0x1, 0x59,0x80,0x4, 0x39,
+0xf0,0x1, 0x59,0xb, 0xa0,0xbc,0xea,0x38,0xb5,0x80,0x20,0xa5,0xbf,0x6, 0x2, 0x80,
+0x2, 0xe1,0x7d,0x6c,0xaa,0x80,0x10,0xa, 0x3a,0x2d,0x3f,0x7d,0x2e,0x29,0xb1,0x0,
+0x42,0x39,0xb1,0x1, 0x59,0xb, 0xa0,0xbc,0xea,0x38,0xec,0x6c,0xaa,0x6d,0x44,0x7e,
+0x30,0x2, 0xac,0x3a,0x7e,0x1f,0x11,0x42,0x2d,0x31,0x79,0x41,0x0, 0x14,0xbc,0xea,
+0x28,0x22,0xa, 0x3a,0x2d,0x3f,0x7d,0x2e,0x29,0xb1,0x1, 0x59,0xa, 0x2b,0x7e,0x70,
+0x2, 0xac,0x7a,0x7e,0xf, 0x11,0x42,0x2d,0x13,0x2e,0x14,0x0, 0x14,0xb, 0xa, 0x30,
+0x4d,0x32,0x80,0x15,0x7e,0x70,0x2, 0xac,0x7a,0x7e,0xf, 0x11,0x42,0x2d,0x13,0x2e,
+0x14,0x0, 0x14,0xb, 0xa, 0x30,0x4e,0x70,0x3f,0x1b,0xa, 0x30,0xb, 0xa0,0xbe,0xa0,
+0x2e,0x78,0xaa,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0x6, 0x7e,0x34,0x0, 0x6, 0xe4,
+0x12,0x9c,0xda,0x6c,0xaa,0x80,0x42,0xa, 0x3a,0x2d,0x3f,0x7d,0x2e,0x29,0x71,0x1,
+0x59,0x7c,0xb7,0xc4,0x54,0xf, 0x7c,0x3b,0xa, 0x37,0x7e,0x24,0x0, 0x10,0x12,0x9a,
+0x2e,0x7c,0x75,0x7e,0x44,0x0, 0x1, 0x7c,0xb7,0x60,0x5, 0x3e,0x44,0x14,0x78,0xfb,
+0x7e,0x50,0x2, 0xac,0x53,0x7e,0x6f,0x11,0x42,0x2d,0xd2,0x2e,0xd4,0x0, 0x6, 0xb,
+0x6a,0x20,0x4d,0x24,0x1b,0x6a,0x20,0xb, 0xa0,0xbc,0xea,0x38,0xba,0xda,0x79,0x22,
+0x6c,0x55,0x80,0x71,0x7e,0x43,0x9, 0x63,0xbc,0x45,0x28,0xe, 0x7e,0xa3,0x0, 0xc4,
+0x7e,0x63,0x0, 0xc5,0x7e,0x73,0x0, 0xc6,0x80,0xc, 0x7e,0xa3,0x0, 0xc7,0x7e,0x63,
+0x0, 0xc8,0x7e,0x73,0x0, 0xc9,0x7e,0x90,0x4, 0xac,0x95,0x2e,0x47,0x8, 0xf4,0x49,
+0xd4,0x0, 0x2, 0xb, 0x48,0xc0,0xa, 0xfa,0x6d,0xee,0xbf,0x67,0x8, 0x12,0xa, 0xb6,
+0x7e,0x90,0x2, 0xac,0x95,0x7f,0x70,0x2d,0xf4,0xb, 0x7a,0x40,0x2d,0x4b,0x80,0x20,
+0xa, 0x4a,0x6d,0xff,0x9d,0xf4,0x7d,0x4f,0x1a,0x48,0x1a,0xe8,0xbf,0x67,0x58,0x13,
+0xa, 0xd7,0x7e,0x90,0x2, 0xac,0x95,0x7f,0x70,0x2d,0xf4,0xb, 0x7a,0x40,0x9d,0x4d,
+0x1b,0x7a,0x40,0xb, 0x50,0x7e,0x43,0x9, 0xc3,0xbc,0x45,0x38,0x87,0x22,0xff,0xff,
+0xca,0xf8,0x7f,0x71,0x69,0x57,0x0, 0xc, 0x69,0x47,0x0, 0x8, 0x9d,0x45,0x7a,0x47,
+0x10,0x49,0x69,0x37,0x0, 0xe, 0x69,0x27,0x0, 0xa, 0x9d,0x23,0x7a,0x27,0x10,0x4b,
+0x6d,0x44,0x7a,0x2f,0x10,0x4e,0x6d,0x22,0x7a,0x1f,0x10,0x52,0x7e,0x35,0x23,0x7a,
+0x37,0x10,0x56,0x74,0xff,0x7a,0xb3,0x10,0x4d,0x1, 0x5a,0x7d,0x52,0x3e,0x54,0x3e,
+0x54,0x7f,0x70,0x2d,0xf5,0xb, 0x7a,0x50,0x7d,0x42,0x3e,0x44,0x59,0x54,0xc, 0xa0,
+0x69,0x57,0x0, 0x2, 0x59,0x54,0xd, 0x0, 0xb, 0x24,0xbd,0x32,0x38,0xdd,0x7e,0x37,
+0x10,0x56,0xbe,0x34,0x0, 0x4, 0x18,0x2, 0x21,0x38,0x7e,0xf7,0x10,0x49,0x7e,0x17,
+0x10,0x4b,0xbd,0x1f,0x8, 0x2, 0x1, 0xa5,0x4d,0x11,0x68,0x2, 0x1, 0x82,0x7e,0x14,
+0x0, 0x1, 0x7d,0x3f,0x7d,0x21,0x12,0x9a,0x2e,0x7c,0xf7,0x7e,0x18,0x0, 0x20,0x7a,
+0x1f,0x10,0x5a,0x7e,0x34,0x0, 0x2d,0x7a,0x37,0x10,0x5e,0x7e,0x34,0x1, 0x80,0x7a,
+0x37,0x10,0x47,0x21,0xa, 0x4d,0xff,0x68,0x2, 0x1, 0xaf,0x7e,0xf4,0x0, 0x1, 0x7d,
+0x31,0x7d,0x2f,0x12,0x9a,0x2e,0x7c,0xf7,0x7e,0x18,0x0, 0x40,0x7a,0x1f,0x10,0x5a,
+0x7e,0x4, 0x0, 0x5a,0x7a,0x7, 0x10,0x5e,0x7e,0x4, 0x3, 0x0, 0x7a,0x7, 0x10,0x47,
+0x7d,0xf, 0x2d,0xf, 0xbd,0x1, 0x18,0x2, 0x21,0xa, 0x7e,0x4, 0x0, 0x51,0x7a,0x7,
+0x10,0x5e,0x7e,0x4, 0x2, 0xb3,0x7a,0x7, 0x10,0x47,0x1a,0x2, 0x1a,0x0, 0x7e,0x1f,
+0x10,0x5a,0x12,0x9a,0x60,0x7d,0x5f,0x1a,0x4a,0x1a,0x48,0x7d,0x1f,0x1a,0x2, 0x1a,
+0x0, 0x2f,0x2, 0x12,0x9a,0xcd,0x7a,0x1f,0x10,0x5a,0xbe,0xf0,0x5, 0x48,0x2, 0x21,
+0x34,0x7e,0x8, 0xc, 0xa0,0x7e,0x18,0xd, 0x0, 0x12,0x5f,0x68,0x7e,0x8, 0xc, 0xa0,
+0x7e,0x18,0xd, 0x0, 0x12,0x53,0x8a,0x12,0x74,0x65,0x7e,0x73,0x10,0x4d,0x7a,0x73,
+0xd, 0xfc,0x21,0x3e,0x74,0x7d,0x21,0x3a,0x74,0x7f,0x7a,0xb3,0x10,0x4d,0x6d,0x33,
+0x7a,0x37,0x10,0x56,0x7e,0x73,0x10,0x59,0xbe,0x73,0x10,0x4d,0x18,0x2, 0x21,0x6a,
+0x7e,0x73,0x10,0x4d,0x1a,0x27,0x7e,0x34,0x0, 0x22,0xad,0x32,0x2e,0x34,0x87,0xc6,
+0x7a,0x71,0x82,0x7a,0x61,0x83,0xe4,0x93,0x21,0x6b,0xe4,0xda,0xf8,0x22,0xca,0x3b,
+0x70,0x3c,0x7e,0x1f,0xa, 0xce,0x7a,0x1f,0xc, 0xa0,0x7e,0x5f,0xa, 0xd2,0x7e,0x6f,
+0xa, 0xd6,0x7e,0x4f,0xa, 0xda,0x7e,0x34,0xa, 0xb6,0x7a,0x35,0x23,0x7e,0x34,0xa,
+0xba,0x7a,0x35,0x25,0x7e,0x34,0xa, 0xbe,0x7a,0x35,0x27,0x7e,0x34,0xa, 0xc2,0x7a,
+0x35,0x29,0xe5,0x12,0xa, 0x1b,0x6d,0x0, 0x7e,0x1f,0xa, 0xb6,0x80,0x3a,0x7e,0x1f,
+0xb, 0x16,0x7a,0x1f,0xc, 0xa0,0x7e,0x5f,0xb, 0x1a,0x7e,0x6f,0xb, 0x1e,0x7e,0x4f,
+0xb, 0x22,0x7e,0x34,0xb, 0x2e,0x7a,0x35,0x23,0x7e,0x34,0xb, 0x32,0x7a,0x35,0x25,
+0x7e,0x34,0xb, 0x36,0x7a,0x35,0x27,0x7e,0x34,0xb, 0x3a,0x7a,0x35,0x29,0xe5,0x17,
+0xa, 0x1b,0x6d,0x0, 0x7e,0x1f,0xb, 0x2e,0x12,0x9a,0x60,0x7e,0x8, 0x0, 0x64,0x12,
+0x9a,0xcd,0x7f,0x71,0xbe,0x78,0x0, 0x32,0x18,0x2, 0x41,0xd8,0x7e,0x1f,0xc, 0xa0,
+0x12,0x86,0x6e,0x7a,0x1f,0xc, 0xa0,0x7f,0x15,0x12,0x86,0x6e,0x7f,0x51,0x7f,0x16,
+0x12,0x86,0x6e,0x7f,0x61,0x7f,0x14,0x12,0x86,0x6e,0x7f,0x41,0x7e,0x3f,0xc, 0xa0,
+0x2f,0x35,0x2f,0x36,0x78,0x24,0x7e,0x8, 0x0, 0x8, 0x7f,0x17,0x12,0x9a,0xcd,0x7f,
+0x1, 0x7e,0x35,0x23,0x59,0x13,0x0, 0x2, 0x1b,0x38,0x0, 0x7e,0x14,0x0, 0x3, 0x7f,
+0x17,0x12,0x9a,0x71,0x7e,0x8, 0x0, 0x8, 0x80,0x23,0x7e,0xf, 0xc, 0xa0,0x7f,0x17,
+0x12,0x9a,0x60,0x7f,0x3, 0x12,0x9a,0xcd,0x7f,0x1, 0x7e,0x35,0x23,0x59,0x13,0x0,
+0x2, 0x1b,0x38,0x0, 0x7f,0x17,0x7f,0x5, 0x12,0x9a,0x60,0x7f,0x3, 0x12,0x9a,0xcd,
+0x7f,0x1, 0x7e,0x35,0x25,0x59,0x13,0x0, 0x2, 0x1b,0x38,0x0, 0x7f,0x35,0x2f,0x36,
+0x2f,0x34,0x78,0x24,0x7e,0x14,0x0, 0x3, 0x7f,0x17,0x12,0x9a,0x71,0x7e,0x8, 0x0,
+0x8, 0x12,0x9a,0xcd,0x7f,0x1, 0x7e,0x35,0x27,0x59,0x13,0x0, 0x2, 0x1b,0x38,0x0,
+0x7e,0x8, 0x0, 0x8, 0x7f,0x17,0x80,0x21,0x7f,0x17,0x7f,0x6, 0x12,0x9a,0x60,0x7f,
+0x3, 0x12,0x9a,0xcd,0x7f,0x1, 0x7e,0x35,0x27,0x59,0x13,0x0, 0x2, 0x1b,0x38,0x0,
+0x7f,0x17,0x7f,0x4, 0x12,0x9a,0x60,0x7f,0x3, 0x12,0x9a,0xcd,0x7f,0x1, 0x7e,0x35,
+0x29,0x59,0x13,0x0, 0x2, 0x1b,0x38,0x0, 0xda,0x3b,0x22,0xca,0x79,0xe5,0x5b,0xb4,
+0x1, 0x2, 0x80,0x2, 0x81,0x39,0x12,0x17,0xcc,0x50,0xfb,0x12,0x86,0x96,0x12,0x62,
+0x9e,0x12,0x7e,0xf1,0x7e,0x8, 0x9, 0x25,0x12,0x1, 0x20,0x7e,0x73,0xd, 0x7c,0xbe,
+0x70,0x2, 0x28,0x6, 0x74,0x2, 0x7a,0xb3,0xd, 0x7c,0x7e,0xb3,0xd, 0x7c,0xf5,0x62,
+0xe5,0x1f,0x54,0x3, 0x78,0x2, 0x81,0x34,0x7e,0xb3,0xd, 0xa1,0xb4,0x1, 0x2, 0x80,
+0x2, 0x81,0x34,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x5e,0x70,
+0x8f,0x4e,0x70,0x60,0x1b,0xa, 0x30,0x7e,0x14,0x10,0x4, 0x7e,0x1f,0x11,0x42,0x1b,
+0x1a,0x10,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x70,0x4,
+0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x5e,0x60,
+0x81,0x4e,0x60,0x2, 0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb,
+0xa, 0x30,0x5e,0x60,0xfe,0x1b,0xa, 0x30,0x74,0x1, 0x7a,0xb3,0x9, 0xc3,0x7e,0xf3,
+0x9, 0x28,0xbe,0xf0,0x55,0x28,0x3, 0x7e,0xf0,0x55,0x7e,0xe3,0x9, 0x29,0xbe,0xe0,
+0x55,0x28,0x3, 0x7e,0xe0,0x55,0x7e,0x50,0x3, 0xac,0x5e,0x7c,0x45,0x6c,0x55,0x7e,
+0x70,0x3, 0xac,0x7f,0x2d,0x32,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xa2,0x6c,0xff,
+0x7e,0x34,0x0, 0x3f,0x74,0x2, 0xac,0xbf,0x7e,0xf, 0x11,0x42,0x2d,0x15,0x79,0x30,
+0x0, 0x14,0xb, 0xf0,0xbe,0xf0,0x2e,0x78,0xeb,0x6c,0xff,0x80,0x34,0x7e,0x34,0x7,
+0xd0,0x12,0x5f,0xf7,0x7c,0xbf,0x12,0x64,0x47,0x12,0x7e,0x8c,0x7e,0x1f,0xa, 0xac,
+0xb, 0x1a,0x30,0xbe,0x34,0x1b,0x20,0x28,0xe, 0x7e,0x24,0x1b,0x20,0x74,0x2, 0xac,
+0xbf,0x59,0x25,0xa, 0x22,0x80,0x8, 0x74,0x2, 0xac,0xbf,0x59,0x35,0xa, 0x22,0xb,
+0xf0,0xa, 0x3f,0xbe,0x37,0x11,0x10,0x40,0xc4,0x6c,0xff,0x80,0x1d,0xa, 0x3f,0x9,
+0xe3,0x9, 0x95,0x74,0x2, 0xac,0xbf,0x49,0x15,0xa, 0x22,0x74,0x2, 0xac,0xbe,0x7e,
+0x1f,0xa, 0xac,0x2d,0x35,0x1b,0x1a,0x10,0xb, 0xf0,0xa, 0x3f,0xbe,0x37,0x11,0x10,
+0x40,0xdb,0x80,0xd, 0x12,0x7e,0x8c,0x80,0x8, 0xe5,0x5b,0xb4,0x2, 0x3, 0x12,0x67,
+0x72,0x75,0x5b,0x0, 0xda,0x79,0x22,0xca,0x3b,0x7e,0xe3,0x9, 0xc3,0x12,0x7f,0x83,
+0x12,0x0, 0x46,0x7e,0x34,0x7, 0xd0,0x12,0x5f,0xf7,0x7e,0xb3,0xd, 0xde,0xb4,0x3,
+0x2, 0x80,0x2, 0xa1,0x87,0x12,0x7e,0x57,0x7e,0xb3,0xd, 0x68,0x60,0xe5,0x12,0x4a,
+0xdb,0x30,0x0, 0x5, 0x12,0x28,0x0, 0xa1,0x76,0x7e,0xa3,0xd, 0x66,0x7c,0xda,0x5e,
+0xd0,0xf, 0x7c,0xba,0x30,0xe7,0x54,0xe4,0x12,0x87,0xa4,0x12,0x84,0x14,0x12,0x73,
+0x14,0x12,0x3e,0x5, 0x12,0x65,0xe4,0x12,0x6a,0x43,0x12,0x7a,0x1, 0x12,0x4d,0x90,
+0x12,0x87,0x76,0x12,0x85,0xe7,0x12,0x80,0x85,0x4c,0xdd,0x68,0xb, 0xbe,0xd0,0x1,
+0x78,0x27,0x7e,0xb3,0x1, 0x27,0x70,0x21,0x6c,0xff,0x80,0x17,0x7e,0x30,0x4, 0xac,
+0x3f,0x2e,0x17,0x8, 0xf4,0x49,0x31,0x0, 0x2, 0x74,0x2, 0xac,0xbf,0x59,0x35,0x4,
+0x48,0xb, 0xf0,0xbc,0xef,0x38,0xe5,0xa1,0x76,0xa1,0x76,0x7e,0x1f,0x11,0x42,0x69,
+0x31,0x0, 0xae,0x1e,0x34,0x1e,0x34,0x5e,0x34,0x0, 0x1, 0x68,0x5e,0x6c,0xff,0x80,
+0x2c,0x74,0x2, 0xac,0xbf,0x49,0x35,0xa, 0x22,0x7a,0x37,0x11,0xe, 0x7c,0xbf,0x12,
+0x64,0x47,0x74,0x1, 0x12,0x87,0xa4,0x12,0x84,0x14,0x12,0x17,0xcc,0x50,0xfb,0x7e,
+0x37,0x4, 0x48,0x74,0x2, 0xac,0xbf,0x59,0x35,0x8, 0x98,0xb, 0xf0,0xa, 0x3f,0xbe,
+0x37,0x11,0x10,0x40,0xcc,0x6c,0xff,0x80,0x18,0xa, 0x3f,0x9, 0xc3,0x9, 0x95,0x74,
+0x2, 0xac,0xbf,0x49,0x35,0x8, 0x98,0x74,0x2, 0xac,0xbc,0x59,0x35,0x4, 0x48,0xb,
+0xf0,0xa, 0x3f,0xbe,0x37,0x11,0x10,0x40,0xe0,0x80,0x2b,0x74,0x1, 0x12,0x87,0xa4,
+0x12,0x84,0x14,0x12,0x17,0xcc,0x50,0xfb,0xbe,0xd0,0x1, 0x78,0x19,0x7e,0xb3,0x1,
+0x27,0x60,0x13,0xa, 0x3e,0x3e,0x34,0xca,0x39,0x7e,0x18,0x8, 0x98,0x7e,0x8, 0x4,
+0x48,0x12,0x9c,0xb5,0x1b,0xfd,0xe4,0x7a,0xb3,0xd, 0x68,0x7e,0xb3,0xd, 0x60,0x54,
+0x7f,0x7a,0xb3,0xd, 0x60,0x81,0x53,0x12,0x81,0xf2,0x12,0x87,0xd0,0xda,0x3b,0x22,
+0xca,0x79,0x7e,0xa3,0x9, 0xc4,0x7e,0x33,0x9, 0xc5,0x7e,0x23,0xd, 0xa2,0x7e,0x90,
+0x64,0xac,0x92,0x7e,0x7, 0x8, 0xf4,0x6c,0xff,0x7e,0xb3,0x1, 0x27,0xb4,0x1, 0xf,
+0x7e,0x23,0x11,0x49,0xbe,0x20,0x1, 0x28,0x6, 0x7e,0x37,0x11,0x46,0x2d,0x43,0x6c,
+0x22,0xc1,0xb3,0x7e,0x70,0x4, 0xac,0x72,0x7d,0xa3,0x2d,0xa0,0x49,0xfa,0x0, 0x2,
+0xb, 0xa8,0xe0,0xa, 0x2a,0xa, 0x32,0x2d,0x32,0x7e,0xb3,0x9, 0x63,0xa, 0x2b,0x12,
+0x9a,0x2e,0x7c,0xe5,0x7d,0x34,0x1e,0x34,0x6d,0x22,0xbf,0x71,0x58,0x2, 0xc1,0xb1,
+0x7e,0x70,0x4, 0xac,0x7e,0x7d,0xb3,0x2d,0xb0,0x49,0xdb,0x0, 0x2, 0xb, 0xb8,0xc0,
+0xa, 0x23,0xa, 0x32,0x12,0x9a,0x2e,0x4d,0x22,0x78,0x7, 0x9f,0x11,0x7a,0x1d,0x23,
+0x80,0x13,0x49,0x3a,0xff,0xfe,0x49,0x2a,0xff,0xfc,0x7a,0x1d,0x23,0x49,0x3b,0xff,
+0xfe,0x49,0x2b,0xff,0xfc,0x7a,0x1d,0x2b,0xa, 0x23,0xa, 0x32,0x12,0x9a,0x2e,0xa,
+0x33,0x1b,0x34,0xbd,0x32,0x78,0x7, 0x9f,0x11,0x7a,0x1d,0x27,0x80,0x25,0x7e,0x70,
+0x4, 0xac,0x72,0x7d,0xb3,0x2d,0xb0,0x49,0x3b,0x0, 0x6, 0x49,0x2b,0x0, 0x4, 0x7a,
+0x1d,0x27,0x7e,0x70,0x4, 0xac,0x7e,0x7d,0xb3,0x2d,0xb0,0x49,0x3b,0x0, 0x6, 0x49,
+0x2b,0x0, 0x4, 0x7a,0x1d,0x2f,0x7e,0x1d,0x23,0xbf,0x71,0x48,0x44,0x7e,0x1d,0x27,
+0xbf,0x71,0x48,0x3d,0xbf,0x76,0x48,0x39,0x7e,0x1d,0x2f,0xbf,0x71,0x48,0x32,0x7e,
+0x1d,0x2b,0xbf,0x71,0x48,0x2b,0xa, 0x3f,0x19,0x23,0x1, 0x9a,0xb, 0xf0,0x7e,0x70,
+0x4, 0xac,0x72,0x7d,0xb3,0x2d,0xb0,0x49,0x3b,0x0, 0x2, 0xb, 0xb8,0x20,0xb, 0x1c,
+0x59,0x3b,0x0, 0x2, 0x1b,0xb8,0x20,0xbe,0xf0,0x17,0x40,0x5, 0x7e,0xf0,0x17,0x80,
+0xc, 0xb, 0x20,0x7e,0xb3,0x9, 0x63,0xbc,0xb2,0x28,0x2, 0xa1,0xc3,0x7c,0xbf,0x12,
+0x72,0x2b,0xbe,0xf0,0x4, 0x40,0x3, 0x7e,0xf0,0x4, 0x7a,0xf3,0x1, 0xb7,0x7a,0xf3,
+0x1, 0xb5,0xda,0x79,0x22,0xca,0x3b,0x7e,0xc3,0x9, 0xc3,0x75,0x29,0x0, 0x80,0x4,
+0xe4,0x12,0x82,0x64,0x30,0xb, 0xf9,0xe5,0x62,0xa, 0x2b,0x5e,0x24,0x0, 0x1f,0x3e,
+0x24,0x3e,0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x5e,0x70,
+0x83,0x4d,0x32,0x1b,0xa, 0x30,0xa, 0x3c,0x3e,0x34,0x7e,0x8, 0xf, 0x47,0xe4,0x12,
+0x9c,0xda,0x12,0x58,0xf9,0x7e,0xb3,0x1, 0x2a,0x70,0x2, 0xe1,0xd7,0x7e,0x8, 0x0,
+0x23,0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,0xda,0xa, 0x3c,0x3e,0x34,0x7e,0x8, 0xf,
+0x47,0x12,0x9c,0xda,0x6c,0xff,0x80,0x4c,0x7e,0x70,0x2, 0xac,0x7f,0x2e,0x37,0x8,
+0xf6,0xb, 0x38,0x30,0xbe,0x37,0x1, 0x23,0x40,0x6, 0xbe,0x37,0x1, 0x25,0x28,0x32,
+0xa, 0x3f,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x7c,0xd7,0xa, 0x3f,0x7e,0x24,0x0, 0x8,
+0x12,0x9a,0x2e,0x7c,0xe5,0x7e,0x4, 0x0, 0x1, 0x7c,0xbe,0x60,0x5, 0x3e,0x4, 0x14,
+0x78,0xfb,0x7c,0x1, 0x7c,0x1d,0x2e,0x10,0x23,0xa5,0xe7,0x4c,0xb0,0xa5,0xf7,0x75,
+0x29,0x1, 0xb, 0xf0,0xbc,0xcf,0x38,0xb0,0xe5,0x29,0x60,0x4b,0x6c,0xff,0x80,0x40,
+0xa, 0x3f,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x7c,0xd7,0xa, 0x3f,0x7e,0x24,0x0, 0x8,
+0x12,0x9a,0x2e,0x7c,0xe5,0x7e,0x24,0x0, 0x1, 0x7c,0xbe,0x60,0x5, 0x3e,0x24,0x14,
+0x78,0xfb,0x7c,0x1d,0x2e,0x10,0x23,0xa5,0xe7,0xa, 0x3b,0x5d,0x32,0x68,0xf, 0x6d,
+0x11,0x74,0x2, 0xac,0xbf,0x7e,0x1f,0xa, 0xac,0x2d,0x35,0x1b,0x1a,0x10,0xb, 0xf0,
+0xbc,0xcf,0x38,0xbc,0x12,0x58,0xf9,0x12,0x67,0x72,0x7e,0xb3,0x9, 0x26,0x54,0x1f,
+0xa, 0x2b,0x5e,0x24,0x0, 0x1f,0x3e,0x24,0x3e,0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,
+0x0, 0xb0,0xb, 0xa, 0x30,0x5e,0x70,0x83,0x4d,0x32,0x1b,0xa, 0x30,0xda,0x3b,0x22,
+0x7e,0xb3,0x0, 0xed,0x7e,0x34,0x0, 0x1, 0x60,0x5, 0x3e,0x34,0x14,0x78,0xfb,0x7c,
+0xa7,0x7e,0xb3,0xd, 0x6b,0xa, 0x2b,0x7e,0xb3,0xd, 0x6a,0xa, 0x3b,0x2d,0x32,0xa,
+0x2a,0x12,0x9a,0x2e,0xa, 0x3a,0x9d,0x32,0x2e,0x34,0x0, 0x3, 0x1b,0x34,0x7a,0x73,
+0x9, 0x31,0x7e,0x34,0xf0,0x0, 0x7a,0x37,0x9, 0x34,0x7e,0x34,0x2, 0x26,0x7a,0x37,
+0x9, 0x32,0x7e,0x63,0x0, 0xed,0x5e,0x60,0x3, 0x3e,0x60,0x7e,0x73,0x9, 0x25,0x5e,
+0x70,0xf9,0x4c,0x76,0x7a,0x73,0x9, 0x25,0x12,0x6, 0x28,0x7e,0x73,0x9, 0x64,0xa,
+0x27,0x7e,0x73,0x9, 0x63,0xa, 0x37,0x2d,0x32,0x7a,0x73,0x9, 0xc3,0x7e,0x73,0x9,
+0x63,0x1e,0x70,0x7a,0x73,0x9, 0xc4,0x1e,0x70,0x7a,0x73,0x9, 0xc5,0x7e,0x18,0x9,
+0xc6,0x7a,0x1f,0xa, 0xac,0x6c,0xaa,0x80,0x8, 0xa, 0x3a,0x19,0xa3,0x9, 0x95,0xb,
+0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,0xba,0x38,0xf0,0x7e,0x73,0x0, 0xf1,0xa, 0x37,0xb,
+0x34,0xe, 0x34,0xe, 0x34,0xe, 0x34,0xe, 0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,
+0x34,0x3e,0x34,0x3e,0x34,0x7e,0x53,0x0, 0xef,0xa, 0x25,0xb, 0x24,0xe, 0x24,0xe,
+0x24,0xe, 0x24,0xe, 0x24,0x3e,0x24,0x2d,0x23,0x7e,0x73,0x0, 0xf3,0xa, 0x37,0xb,
+0x34,0xe, 0x34,0xe, 0x34,0xe, 0x34,0xe, 0x34,0x7c,0x67,0x6c,0x77,0x3e,0x34,0x3e,
+0x34,0x3e,0x34,0x2d,0x32,0x7a,0x37,0x9, 0x4a,0x6c,0xaa,0xa, 0x3a,0x2e,0x34,0x9c,
+0x17,0x7a,0x71,0x82,0x7a,0x61,0x83,0xe4,0x93,0xa, 0x2b,0x3e,0x24,0x3e,0x24,0x3e,
+0x24,0x3e,0x24,0x3e,0x24,0xa, 0x3a,0x2e,0x34,0x9c,0xc, 0x7a,0x71,0x82,0x7a,0x61,
+0x83,0xe4,0x93,0xa, 0x3b,0x2d,0x32,0xa, 0x2a,0x2e,0x24,0x9c,0x22,0x7a,0x51,0x82,
+0x7a,0x41,0x83,0xe4,0x93,0xa, 0x2b,0x7d,0x42,0x7c,0x89,0x6c,0x99,0x3e,0x44,0x3e,
+0x44,0x2d,0x43,0x7e,0x70,0x2, 0xac,0x7a,0x59,0x43,0x9, 0x4c,0xb, 0xa0,0xbe,0xa0,
+0xb, 0x40,0xa8,0x22,0x7d,0xd3,0x7e,0x63,0x1, 0xd7,0x7e,0x73,0x1, 0xd8,0x7e,0x83,
+0x1, 0xdc,0x7e,0x93,0x1, 0xdd,0xe5,0x15,0xa, 0xbb,0x3e,0xb4,0x3e,0xb4,0x3e,0xb4,
+0x3e,0xb4,0x3e,0xb4,0x3e,0xb4,0x3e,0xb4,0x1b,0xb4,0x7e,0x57,0x1, 0xc9,0xa, 0x26,
+0xbd,0x2d,0x50,0x2, 0x21,0xa6,0xa, 0x36,0x9d,0x3d,0x7e,0x27,0x1, 0xe2,0xad,0x32,
+0xa, 0x36,0xa, 0x28,0xbd,0x23,0x40,0x2, 0x21,0x8e,0x6d,0x33,0x21,0x94,0xa, 0x28,
+0x9d,0x23,0x7d,0x32,0x7e,0x53,0x1, 0xda,0xa, 0x25,0xbd,0x23,0x38,0x2, 0x21,0xa2,
+0x7d,0x32,0x7d,0xf3,0x41,0x64,0xa, 0xc7,0x7d,0xab,0x9d,0xac,0xbd,0xad,0x28,0x2,
+0x21,0xf8,0x7d,0xcd,0x9d,0xca,0x7e,0x37,0x1, 0xe4,0xad,0x3c,0xa, 0x36,0x7d,0xc3,
+0xa, 0xa9,0xbd,0xac,0x28,0x2, 0x21,0xcc,0xa, 0xc9,0x1b,0xc4,0x7e,0x73,0x1, 0xdb,
+0xa, 0x37,0xa, 0xa9,0x9d,0xa3,0xbd,0xac,0x40,0x2, 0x21,0xde,0x7d,0xca,0x7d,0xf5,
+0x2d,0xfc,0xa, 0xe9,0x9d,0xfe,0x6d,0xee,0x7d,0x35,0x6d,0x22,0xbf,0x71,0x50,0x2,
+0x41,0x64,0x7d,0xf5,0x1b,0xf4,0x41,0x64,0x7d,0xcb,0x1e,0xc4,0xbd,0xcd,0x38,0x2,
+0x41,0x33,0x7d,0xfc,0x9d,0xfd,0x6d,0xee,0x7e,0x17,0x1, 0xde,0x7f,0x17,0x12,0x9a,
+0x71,0x7f,0x71,0x7c,0x76,0x7c,0x65,0xa, 0x24,0x7f,0x71,0x7d,0x35,0x1e,0x34,0x6d,
+0x22,0x9f,0x17,0x7f,0x71,0xa, 0x38,0x6d,0x22,0xbf,0x71,0x40,0x2, 0x41,0x64,0xa,
+0xf8,0x41,0x64,0x7d,0xfd,0x9d,0xfc,0x6d,0xee,0x7e,0x17,0x1, 0xe0,0x7f,0x17,0x12,
+0x9a,0x71,0x7f,0x71,0x7c,0x76,0x7c,0x65,0xa, 0x24,0x7f,0x71,0x7d,0x35,0x1e,0x34,
+0x6d,0x22,0x2f,0x71,0xa, 0x29,0x7d,0x35,0x9d,0x32,0x6d,0x22,0xbf,0x71,0x38,0x2,
+0x41,0x64,0x7f,0x71,0x7d,0x3f,0x22,0x7d,0xd3,0x7e,0x63,0x2, 0xd, 0x7e,0x73,0x2,
+0xe, 0x7e,0x83,0x2, 0x11,0x7e,0x93,0x2, 0x12,0xe5,0xa, 0xa, 0xbb,0x3e,0xb4,0x3e,
+0xb4,0x3e,0xb4,0x3e,0xb4,0x3e,0xb4,0x3e,0xb4,0x3e,0xb4,0x1b,0xb4,0x7e,0x57,0x1,
+0xcb,0xa, 0x26,0xbd,0x2d,0x50,0x2, 0x41,0xc9,0xa, 0x36,0x9d,0x3d,0x7e,0x27,0x2,
+0x17,0xad,0x32,0xa, 0x36,0xa, 0x28,0xbd,0x23,0x40,0x2, 0x41,0xb1,0x6d,0x33,0x41,
+0xb7,0xa, 0x28,0x9d,0x23,0x7d,0x32,0x7e,0x53,0x2, 0xf, 0xa, 0x25,0xbd,0x23,0x38,
+0x2, 0x41,0xc5,0x7d,0x32,0x7d,0xf3,0x61,0x87,0xa, 0xc7,0x7d,0xab,0x9d,0xac,0xbd,
+0xad,0x28,0x2, 0x61,0x1b,0x7d,0xcd,0x9d,0xca,0x7e,0x37,0x2, 0x19,0xad,0x3c,0xa,
+0x36,0x7d,0xc3,0xa, 0xa9,0xbd,0xac,0x28,0x2, 0x41,0xef,0xa, 0xc9,0x1b,0xc4,0x7e,
+0x73,0x2, 0x10,0xa, 0x37,0xa, 0xa9,0x9d,0xa3,0xbd,0xac,0x40,0x2, 0x61,0x1, 0x7d,
+0xca,0x7d,0xf5,0x2d,0xfc,0xa, 0xe9,0x9d,0xfe,0x6d,0xee,0x7d,0x35,0x6d,0x22,0xbf,
+0x71,0x50,0x2, 0x61,0x87,0x7d,0xf5,0x1b,0xf4,0x61,0x87,0x7d,0xcb,0x1e,0xc4,0xbd,
+0xcd,0x38,0x2, 0x61,0x56,0x7d,0xfc,0x9d,0xfd,0x6d,0xee,0x7e,0x17,0x2, 0x13,0x7f,
+0x17,0x12,0x9a,0x71,0x7f,0x71,0x7c,0x76,0x7c,0x65,0xa, 0x24,0x7f,0x71,0x7d,0x35,
+0x1e,0x34,0x6d,0x22,0x9f,0x17,0x7f,0x71,0xa, 0x38,0x6d,0x22,0xbf,0x71,0x40,0x2,
+0x61,0x87,0xa, 0xf8,0x61,0x87,0x7d,0xfd,0x9d,0xfc,0x6d,0xee,0x7e,0x17,0x2, 0x15,
+0x7f,0x17,0x12,0x9a,0x71,0x7f,0x71,0x7c,0x76,0x7c,0x65,0xa, 0x24,0x7f,0x71,0x7d,
+0x35,0x1e,0x34,0x6d,0x22,0x2f,0x71,0xa, 0x29,0x7d,0x35,0x9d,0x32,0x6d,0x22,0xbf,
+0x71,0x38,0x2, 0x61,0x87,0x7f,0x71,0x7d,0x3f,0x22,0xca,0x79,0x7f,0x71,0x7f,0x60,
+0x7e,0x7, 0x10,0x56,0xbe,0x4, 0x0, 0x10,0x58,0x2, 0x81,0x8e,0xe4,0x7a,0xb3,0x10,
+0x58,0x7e,0x4, 0x0, 0x2, 0x81,0x5e,0x7d,0x30,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,
+0x34,0x7e,0x27,0x10,0x56,0x12,0x9a,0x2e,0x7c,0xa7,0xbe,0xa0,0x2, 0x58,0x3, 0x7e,
+0xa0,0x2, 0x7d,0x10,0x1b,0x14,0x1a,0x4a,0x1b,0x44,0x7d,0x21,0x3e,0x24,0x7f,0x56,
+0x2d,0xb2,0xb, 0x5a,0x30,0x7c,0x87,0x1a,0x39,0x3e,0x34,0x7f,0x56,0x2d,0xb3,0xb,
+0x5a,0x70,0x4c,0xff,0x78,0x11,0x1a,0x98,0x7f,0x56,0x2d,0xb3,0x1b,0x5a,0x90,0x1a,
+0xb9,0xbd,0xb1,0x68,0x20,0x80,0x15,0x1a,0xb9,0xbd,0xb1,0x68,0x18,0x1a,0x8f,0x1a,
+0x98,0x2d,0x98,0xe, 0x94,0x7f,0x56,0x2d,0xb3,0x1b,0x5a,0x90,0x6d,0x99,0x7f,0x56,
+0x2d,0xb2,0x1b,0x5a,0x90,0x7f,0x57,0x2d,0xb2,0xb, 0x5a,0x20,0x7c,0x85,0x7f,0x57,
+0x2d,0xb3,0xb, 0x5a,0x70,0x4c,0xff,0x78,0xd, 0x1a,0x38,0x1b,0x5a,0x30,0x1a,0x39,
+0xbd,0x31,0x68,0x28,0x80,0x19,0x1a,0x39,0xbd,0x31,0x68,0x20,0x1a,0xaf,0x1a,0xb8,
+0x2d,0xba,0xe, 0xb4,0x1a,0xa9,0x3e,0xa4,0x7f,0x17,0x2d,0x3a,0x1b,0x1a,0xb0,0x6d,
+0xbb,0x7d,0xa1,0x3e,0xa4,0x7f,0x17,0x2d,0x3a,0x1b,0x1a,0xb0,0xb, 0x4, 0x7e,0x37,
+0x10,0x56,0xbd,0x30,0x48,0x2, 0x61,0xa7,0x6d,0x11,0x7d,0x1, 0x3e,0x4, 0x7f,0x16,
+0x2d,0x30,0xb, 0x1a,0x30,0x19,0x71,0x10,0x60,0x7f,0x17,0x2d,0x30,0xb, 0x1a,0x30,
+0x19,0x71,0x10,0x70,0xb, 0x14,0xbe,0x14,0x0, 0x10,0x78,0xde,0x80,0x6, 0x74,0x1,
+0x7a,0xb3,0x10,0x58,0xda,0x79,0x22,0x7c,0xab,0xbe,0xa0,0x7, 0x78,0x8, 0x30,0x3,
+0x3, 0x74,0x1, 0x22,0xe4,0x22,0xbe,0xa0,0x50,0x40,0xa, 0xbe,0xa0,0x5d,0x38,0x5,
+0x7c,0xba,0x2, 0x6f,0x7d,0xbe,0xa0,0x34,0x38,0x2, 0xa1,0x91,0xbe,0xa0,0x2b,0x40,
+0x7, 0xbe,0xa0,0x2e,0x38,0x2, 0xa1,0x91,0xbe,0xa0,0x37,0x68,0x5, 0xbe,0xa0,0x38,
+0x78,0x1e,0x7e,0x93,0xd, 0x91,0x7c,0xb9,0x4, 0x7a,0xb3,0xd, 0x91,0xbe,0xa0,0x38,
+0x78,0x3, 0x75,0x5c,0x37,0xa, 0x39,0x9, 0x93,0x9, 0x67,0xb, 0x90,0x7c,0xb9,0x22,
+0xbe,0xa0,0x39,0x68,0x5, 0xbe,0xa0,0x3a,0x78,0x1b,0x7e,0x93,0xd, 0x93,0x7c,0xb9,
+0x4, 0x7a,0xb3,0xd, 0x93,0xbe,0xa0,0x3a,0x78,0x3, 0x75,0x5c,0x39,0xa, 0x19,0x7e,
+0x1f,0x11,0x1a,0x80,0x64,0xbe,0xa0,0x35,0x68,0x5, 0xbe,0xa0,0x36,0x78,0x1b,0x7e,
+0x93,0xd, 0x94,0x7c,0xb9,0x4, 0x7a,0xb3,0xd, 0x94,0xbe,0xa0,0x36,0x78,0x3, 0x75,
+0x5c,0x35,0xa, 0x19,0x7e,0x1f,0x11,0x1e,0x80,0x3f,0xbe,0xa0,0xf4,0x68,0x5, 0xbe,
+0xa0,0xf5,0x78,0x3b,0x7e,0x93,0xd, 0x94,0x7c,0xb9,0x4, 0x7a,0xb3,0xd, 0x94,0xbe,
+0xa0,0xf5,0x78,0x3, 0x75,0x5c,0xf4,0x7e,0x83,0x9, 0x66,0xa, 0x18,0x7e,0x83,0x9,
+0xc3,0xa, 0x8, 0x9d,0x1, 0x3e,0x4, 0xa, 0x19,0xbd,0x10,0x58,0x6, 0x7e,0x1f,0x11,
+0x12,0x80,0x6, 0x9d,0x10,0x7e,0x1f,0x11,0x16,0x2d,0x31,0x7e,0x1b,0xb0,0x22,0xbe,
+0xa0,0xae,0x78,0x3, 0xe5,0x1f,0x22,0xbe,0xa0,0x40,0x40,0xc, 0xbe,0xa0,0x41,0x38,
+0x7, 0xa, 0x3a,0x9, 0xb3,0xd, 0x60,0x22,0xe4,0x22,0x7e,0x8, 0xd, 0x60,0x7e,0x34,
+0x0, 0x8, 0xe4,0x12,0x9c,0xda,0x74,0x1, 0x7a,0xb3,0xd, 0x68,0xe4,0x7a,0xb3,0xd,
+0x69,0x7e,0x34,0x0, 0xd, 0xca,0x39,0x7e,0x18,0x0, 0xee,0x7e,0x8, 0xd, 0x6c,0x12,
+0x9c,0xb5,0x1b,0xfd,0xe4,0x7a,0xb3,0xd, 0x79,0x7e,0x73,0x1, 0x14,0x7a,0x73,0xd,
+0x7a,0x7e,0x73,0x1, 0x13,0x7a,0x73,0xd, 0x7b,0x7a,0xb3,0xd, 0x7c,0x7e,0x73,0x1,
+0x2a,0x7a,0x73,0xd, 0x7d,0x7e,0x73,0x0, 0xfb,0x7a,0x73,0xd, 0x7e,0x7e,0x73,0x0,
+0xfc,0x7a,0x73,0xd, 0x7f,0x7e,0x37,0x0, 0xfd,0x1e,0x34,0x1e,0x34,0x7a,0x73,0xd,
+0x80,0x7e,0x73,0x0, 0xff,0x7a,0x73,0xd, 0x81,0x7e,0x73,0x1, 0x0, 0x7a,0x73,0xd,
+0x82,0x7e,0x37,0x1, 0x2, 0x7a,0x37,0xd, 0x83,0x7e,0x37,0x1, 0x4, 0x1e,0x34,0x1e,
+0x34,0x1e,0x34,0x1e,0x34,0x7a,0x73,0xd, 0x85,0x7e,0x37,0x1, 0x6, 0x1e,0x34,0x1e,
+0x34,0x1e,0x34,0x1e,0x34,0x7a,0x73,0xd, 0x86,0x7e,0x37,0x1, 0x8, 0x1e,0x34,0x1e,
+0x34,0x7a,0x73,0xd, 0x87,0x7e,0x37,0x1, 0xa, 0x1e,0x34,0x1e,0x34,0x7a,0x73,0xd,
+0x88,0x7e,0x37,0x1, 0xc, 0x1e,0x34,0x1e,0x34,0x7a,0x73,0xd, 0x89,0x7e,0x8, 0xd,
+0x8f,0x7e,0x34,0x0, 0xc, 0x12,0x9c,0xda,0x7e,0x34,0x0, 0x5, 0xca,0x39,0x7e,0x18,
+0x1, 0xe, 0x7e,0x8, 0xd, 0x8a,0x12,0x9c,0xb5,0x1b,0xfd,0x90,0xb4,0x44,0xe4,0x93,
+0x7a,0xb3,0xd, 0x8f,0x7e,0x37,0x1, 0xc9,0x1e,0x34,0x1e,0x34,0x7a,0x73,0xd, 0xa0,
+0x74,0x1, 0x7a,0xb3,0xd, 0xa1,0x22,0xca,0x59,0xca,0x39,0xca,0xb, 0x7e,0x73,0xd,
+0xf2,0xa5,0xbf,0x0, 0x6, 0x7e,0xb3,0x0, 0xec,0x60,0xa, 0x4c,0x77,0x68,0x1b,0x7e,
+0xb3,0x9, 0x24,0x70,0x15,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xa9,0xd0,0x9e,
+0xa9,0xd7,0x9e,0xd2,0xaf,0x12,0x87,0x50,0xe1,0x8d,0xa5,0xbf,0x0, 0x9, 0x7e,0xb3,
+0x0, 0xec,0xbe,0xb0,0x1, 0x68,0xb, 0x4c,0x77,0x68,0x29,0x7e,0xb3,0x9, 0x24,0xb4,
+0x1, 0x22,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xa9,0xd0,0x9e,0xa9,0xd7,0x9e,
+0xd2,0xaf,0xa9,0xc4,0xcd,0x7e,0xa1,0xe5,0x7c,0xba,0x30,0xe4,0x2, 0xe1,0x8d,0x12,
+0x87,0x99,0xe1,0x8d,0xa5,0xbf,0x0, 0x9, 0x7e,0xb3,0x0, 0xec,0xbe,0xb0,0x2, 0x68,
+0xb, 0x4c,0x77,0x68,0x78,0x7e,0xb3,0x9, 0x24,0xb4,0x2, 0x71,0xc2,0xaf,0xa9,0xc4,
+0xcd,0x7e,0xa1,0xe5,0x7c,0xba,0x20,0xe4,0x3, 0x12,0x87,0x99,0x7c,0xba,0x30,0xe0,
+0x2d,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x5e,0x70,0xfd,0x1b,
+0xa, 0x30,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xa9,0xc7,0xdb,0xa9,0xd0,0xce,0xa9,0xc5,
+0xc9,0xc2,0xc, 0xd2,0xee,0xa9,0x27,0xcf,0x32,0x75,0x1e,0x1, 0x80,0x2d,0xa9,0x27,
+0xcf,0x5, 0x7c,0xba,0x30,0xe3,0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb,
+0xa, 0x30,0x5e,0x70,0xfd,0x1b,0xa, 0x30,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xa9,0xc7,
+0xdb,0xa9,0xd0,0xce,0xa9,0xc5,0xc9,0xc2,0xc, 0xd2,0xee,0xd2,0xaf,0xda,0xb, 0xda,
+0x39,0xda,0x59,0x32,0x6d,0x22,0x80,0x5e,0x6d,0x55,0x80,0x4e,0x7d,0x45,0x3e,0x44,
+0x3e,0x44,0x7f,0x60,0x2d,0xd4,0x69,0xb6,0x0, 0x6, 0x69,0xa6,0x0, 0x4, 0x69,0xf6,
+0x0, 0x2, 0xb, 0x6a,0xe0,0xbf,0x75,0x58,0x2f,0x7f,0x60,0x2d,0xd4,0x69,0xb6,0x0,
+0x6, 0x69,0xa6,0x0, 0x4, 0x7d,0x45,0x3e,0x44,0x3e,0x44,0x7f,0x60,0x2d,0xd4,0x79,
+0xb6,0x0, 0x2, 0x1b,0x6a,0xa0,0x7d,0x45,0x3e,0x44,0x3e,0x44,0x7f,0x60,0x2d,0xd4,
+0x79,0xf6,0x0, 0x6, 0x79,0xe6,0x0, 0x4, 0xb, 0x54,0x7d,0x43,0x1b,0x44,0x9d,0x42,
+0xbd,0x45,0x38,0xa8,0xb, 0x24,0xbd,0x32,0x38,0x9e,0x22,0xff,0xff,0xff,0xff,0xff,
+0x6c,0xaa,0x80,0x38,0xa, 0x3a,0x2e,0x34,0x9c,0x75,0x7a,0x71,0x82,0x7a,0x61,0x83,
+0xe4,0x93,0x7c,0x3b,0xbe,0x33,0x9, 0x63,0x50,0x11,0x74,0x4, 0xac,0x3b,0x2e,0x17,
+0x8, 0xf4,0x49,0x31,0x0, 0x2, 0xb, 0x18,0x20,0x80,0x2, 0x9f,0x11,0x7e,0x30,0x4,
+0xac,0x3a,0x59,0x31,0xa, 0xb4,0x59,0x21,0xa, 0xb2,0xb, 0xa0,0xe5,0x13,0xbc,0xba,
+0x38,0xc2,0x7e,0x1f,0xa, 0xca,0x7a,0x1d,0x23,0x75,0x28,0x0, 0x7e,0x18,0xa, 0xca,
+0x7a,0x1d,0x29,0x7e,0x18,0xa, 0xe2,0x7a,0x1d,0x2d,0x7e,0x1f,0xa, 0xce,0x7e,0xf,
+0xa, 0xe6,0xe4,0x12,0x68,0xc6,0x7e,0x1f,0xa, 0xde,0x7a,0x1d,0x23,0x75,0x28,0x1,
+0x7e,0x18,0xa, 0xde,0x7a,0x1d,0x29,0x7e,0x18,0xa, 0xf6,0x7a,0x1d,0x2d,0x7e,0x1f,
+0xa, 0xda,0x7e,0xf, 0xa, 0xf2,0xe4,0x12,0x68,0xc6,0x7e,0x1f,0xa, 0xfa,0x7a,0x1d,
+0x23,0x75,0x28,0x0, 0x7e,0x18,0xa, 0xfa,0x7a,0x1d,0x29,0x7e,0x18,0xb, 0x12,0x7a,
+0x1d,0x2d,0x7e,0x1f,0xa, 0xfe,0x7e,0xf, 0xb, 0x16,0x74,0x1, 0x12,0x68,0xc6,0x7e,
+0x1f,0xb, 0xe, 0x7a,0x1d,0x23,0x75,0x28,0x1, 0x7e,0x18,0xb, 0xe, 0x7a,0x1d,0x29,
+0x7e,0x18,0xb, 0x26,0x7a,0x1d,0x2d,0x7e,0x1f,0xb, 0xa, 0x7e,0xf, 0xb, 0x22,0x74,
+0x1, 0x12,0x68,0xc6,0xe4,0x12,0x49,0x6e,0x74,0x1, 0x12,0x49,0x6e,0x7e,0x8, 0xa,
+0xce,0x12,0x7f,0xdf,0x7e,0x8, 0xb, 0x16,0x12,0x7f,0xdf,0x7e,0x8, 0xa, 0xda,0x12,
+0x83,0x18,0x7e,0x8, 0xb, 0x22,0x2, 0x83,0x18,0xca,0x3b,0x7e,0xd3,0x9, 0xc3,0x6c,
+0xcc,0x21,0x9a,0xa, 0x3d,0x3e,0x34,0x7e,0xf, 0xa, 0xac,0xe4,0x12,0x9c,0xda,0x7e,
+0x1f,0x11,0x42,0x69,0x31,0x0, 0xae,0x1e,0x34,0x1e,0x34,0x5e,0x34,0x0, 0x1, 0x68,
+0x5, 0x7e,0xe0,0xd, 0x80,0x3, 0x7e,0xe0,0xa, 0x6c,0xff,0x80,0x44,0xa, 0x5e,0x1b,
+0x54,0xa, 0x4f,0x9d,0x54,0xf5,0x61,0x12,0x6c,0x52,0x7e,0xb3,0x1, 0x29,0x60,0x17,
+0x7e,0x1f,0x11,0x42,0x69,0x31,0x0, 0xae,0x1e,0x34,0x1e,0x34,0x5e,0x34,0x0, 0x1,
+0x78,0x5, 0x12,0x6c,0xf6,0x80,0x15,0x12,0x78,0xae,0x80,0x4, 0xe4,0x12,0x82,0x64,
+0x30,0xb, 0xf9,0x7e,0x17,0x8, 0xf6,0x6d,0x0, 0x12,0x60,0x0, 0x12,0x71,0xb4,0xb,
+0xf0,0xbc,0xef,0x38,0xb8,0x6c,0xff,0x80,0x1b,0x74,0x2, 0xac,0xbf,0x7e,0x1f,0xa,
+0xac,0x2d,0x35,0xb, 0x1a,0x30,0x49,0x25,0xf, 0x47,0xbd,0x23,0x50,0x4, 0x59,0x35,
+0xf, 0x47,0xb, 0xf0,0xbc,0xdf,0x38,0xe1,0xb, 0xc0,0x7e,0x73,0x1, 0x5a,0xbc,0x7c,
+0x28,0x2, 0x21,0x3, 0x6c,0xff,0x80,0x3b,0x7e,0x1f,0x11,0x42,0x69,0x31,0x0, 0xae,
+0x1e,0x34,0x1e,0x34,0x5e,0x34,0x0, 0x1, 0x78,0x16,0x74,0x2, 0xac,0xbf,0x49,0x45,
+0xf, 0x47,0xbe,0x44,0x3, 0x64,0x28,0x8, 0x7e,0x34,0x3, 0x64,0x59,0x35,0xf, 0x47,
+0x74,0x2, 0xac,0xbf,0x49,0x15,0xf, 0x47,0x7e,0x1f,0xa, 0xac,0x2d,0x35,0x1b,0x1a,
+0x10,0xb, 0xf0,0xbc,0xdf,0x38,0xc1,0xda,0x3b,0x22,0xca,0x79,0x7e,0x93,0x9, 0xc3,
+0x6c,0x88,0x4c,0x88,0x68,0x2, 0x41,0x19,0x7e,0x78,0x10,0xd7,0x6d,0x55,0x1b,0x7a,
+0x50,0x41,0x13,0x6d,0x22,0x7e,0x70,0x2, 0xac,0x7a,0x2e,0x37,0x8, 0xf6,0x1b,0x38,
+0x20,0xb, 0xa0,0xbc,0x9a,0x38,0xec,0x41,0x92,0xbe,0x80,0x8, 0x68,0x2, 0x41,0x2b,
+0x7e,0x78,0x10,0xd5,0x6d,0x33,0x1b,0x7a,0x30,0x41,0x92,0x6c,0xaa,0x41,0x8e,0x7e,
+0xf0,0x2, 0xac,0xfa,0xa, 0x38,0x1b,0x34,0x3e,0x34,0x49,0x33,0x0, 0x6d,0x6d,0x22,
+0x2d,0x37,0xb, 0x1a,0x10,0x6d,0x0, 0x7e,0x70,0x2, 0xac,0x78,0x49,0x33,0x0, 0x6d,
+0x2d,0x37,0xb, 0x1a,0x30,0x9f,0x10,0x12,0x9c,0xfc,0x7d,0xd3,0xb, 0x7a,0xc0,0xbd,
+0xcd,0x40,0x2, 0x41,0x68,0x1b,0x7a,0xd0,0xbe,0x80,0x7, 0x38,0x2, 0x41,0x8c,0x7e,
+0x63,0x10,0xea,0x7e,0x70,0x2, 0xac,0x67,0x49,0x23,0x10,0xdb,0xbe,0x27,0x10,0xd5,
+0x40,0x2, 0x41,0x8c,0x7e,0xc7,0x10,0xd5,0x59,0xc3,0x10,0xdb,0xb, 0xa0,0xbc,0x9a,
+0x38,0x9d,0xbe,0x80,0x8, 0x40,0x2, 0x41,0xce,0x6c,0xaa,0x41,0xca,0x7e,0x50,0x2,
+0xac,0x5a,0x7e,0x70,0x4, 0xac,0x78,0x2e,0x34,0xf, 0xa6,0x49,0x13,0x0, 0x2, 0x6d,
+0x0, 0x2d,0x12,0xb, 0xa, 0x10,0x1e,0x14,0x1e,0x14,0x1e,0x14,0x2e,0x27,0x8, 0xf6,
+0xb, 0x28,0x30,0x2d,0x31,0x1b,0x28,0x30,0xb, 0xa0,0xbc,0x9a,0x38,0xcf,0xb, 0x80,
+0xbe,0x80,0xa, 0x50,0x2, 0x21,0xf2,0xda,0x79,0x22,0xca,0x3b,0x7c,0xeb,0xe4,0x7a,
+0xb3,0xc, 0xa1,0x6c,0xff,0x7e,0xd0,0x28,0x7e,0x57,0x3, 0x6, 0xf5,0x23,0x6c,0xcc,
+0x75,0x26,0x0, 0x75,0x24,0x0, 0xe4,0x7a,0xb3,0xc, 0xa0,0x75,0x25,0x1, 0x80,0x56,
+0xe5,0x25,0x7e,0x71,0x24,0x12,0x79,0x59,0x7f,0x41,0xa, 0x3d,0x6d,0x22,0xbf,0x41,
+0x40,0x42,0xe5,0x24,0x70,0x2, 0x80,0x2f,0x7e,0xb3,0xc, 0xa0,0x7e,0x71,0x25,0x12,
+0x79,0x59,0x7a,0x1d,0x27,0xe5,0x23,0xa, 0x1b,0x6d,0x0, 0x2f,0x1, 0x7e,0x1f,0xc,
+0xa2,0x2f,0x14,0xbf,0x10,0x40,0xb, 0xbe,0xc0,0x6, 0x50,0x4, 0x5, 0x26,0x80,0x2,
+0xb, 0xf0,0xbe,0xc0,0x6, 0x50,0xd, 0x7a,0x4f,0xc, 0xa2,0xe5,0x24,0x7a,0xb3,0xc,
+0xa0,0x85,0x25,0x24,0x5, 0x25,0xbe,0xe1,0x25,0x38,0xa5,0xbe,0xc0,0x6, 0x50,0x2,
+0x80,0x6, 0x7e,0x57,0x3, 0x8, 0xf5,0x23,0x2e,0xd0,0xa, 0xbe,0xc0,0x6, 0x50,0x11,
+0x7e,0x73,0xc, 0xa1,0xbe,0x71,0x26,0x38,0x16,0xe5,0x26,0x7a,0xb3,0xc, 0xa1,0x80,
+0xe, 0x7e,0x73,0xc, 0xa1,0xbe,0x70,0x0, 0x38,0x16,0xbe,0xf0,0x0, 0x38,0x11,0xbe,
+0xc0,0x5, 0x78,0x3, 0x7e,0xd0,0x32,0xb, 0xc0,0xbe,0xc0,0xc, 0x50,0x2, 0x41,0xf0,
+0x7e,0x73,0xc, 0xa1,0xbe,0x70,0xa, 0x28,0x6, 0x74,0xf, 0x7a,0xb3,0xc, 0xa1,0x7e,
+0xb3,0xc, 0xa1,0xbe,0xb0,0x0, 0x28,0x2, 0x80,0xa, 0xbe,0xf0,0x0, 0x28,0x3, 0x2e,
+0xf0,0x10,0x7c,0xbf,0xda,0x3b,0x22,0xca,0x79,0xb4,0x1, 0x60,0x6c,0xee,0x6c,0xff,
+0x80,0x50,0xa, 0x3f,0x9, 0xa3,0x9, 0x95,0x74,0x2, 0xa4,0x49,0x35,0xa, 0x22,0x12,
+0x81,0x2b,0x7d,0xf3,0x74,0x2, 0xac,0xbf,0x7e,0x1f,0x11,0x42,0x2d,0x35,0x2e,0x34,
+0x0, 0x14,0xb, 0x1a,0xe0,0x5e,0xe4,0x0, 0x3f,0x1b,0x1a,0xe0,0x7d,0x1f,0x3e,0x14,
+0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x74,0x2, 0xac,0xbf,0x7e,0x1f,
+0x11,0x42,0x2d,0x35,0x2e,0x34,0x0, 0x14,0xb, 0x1a,0xe0,0x4d,0xe1,0x1b,0x1a,0xe0,
+0xb, 0xf0,0x7e,0x73,0x9, 0xc3,0xbc,0x7f,0x38,0xa8,0x80,0x63,0x7e,0xe3,0xd, 0x78,
+0x5e,0xe0,0x3, 0x6c,0xff,0x80,0x50,0xa, 0x3f,0x9, 0xa3,0x9, 0x95,0x74,0x2, 0xa4,
+0x49,0x35,0x9, 0xc6,0x12,0x81,0x2b,0x7d,0xf3,0x74,0x2, 0xac,0xbf,0x7e,0x1f,0x11,
+0x42,0x2d,0x35,0x2e,0x34,0x0, 0x14,0xb, 0x1a,0xe0,0x5e,0xe4,0x0, 0x3f,0x1b,0x1a,
+0xe0,0x7d,0x1f,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x74,
+0x2, 0xac,0xbf,0x7e,0x1f,0x11,0x42,0x2d,0x35,0x2e,0x34,0x0, 0x14,0xb, 0x1a,0xe0,
+0x4d,0xe1,0x1b,0x1a,0xe0,0xb, 0xf0,0x7e,0x73,0x9, 0xc3,0xbc,0x7f,0x38,0xa8,0x7c,
+0x6e,0x5e,0x60,0x3, 0x7c,0xb6,0xc4,0x54,0xf0,0x7c,0x6b,0x7e,0x73,0x9, 0x25,0x5e,
+0x70,0xcf,0x4c,0x76,0x7a,0x73,0x9, 0x25,0x7e,0x8, 0x9, 0x25,0x12,0x73,0xf7,0xda,
+0x79,0x22,0x7e,0x37,0xc, 0x81,0x9e,0x37,0xc, 0x85,0x12,0x9c,0xec,0x7d,0x13,0x7e,
+0x37,0xc, 0x83,0x9e,0x37,0xc, 0x87,0x12,0x9c,0xec,0x7d,0x3, 0x7e,0x37,0xc, 0x89,
+0x9e,0x37,0xc, 0x8d,0x12,0x9c,0xec,0x7d,0x43,0x7e,0x37,0xc, 0x8b,0x9e,0x37,0xc,
+0x8f,0x12,0x9c,0xec,0x7d,0x23,0x60,0x2, 0xa1,0x9a,0x7e,0x37,0x3, 0x14,0xbd,0x34,
+0x28,0x54,0x7e,0x37,0x3, 0x12,0xbd,0x32,0x50,0x4c,0xbd,0x30,0x40,0x2, 0xa1,0x9a,
+0x7e,0x37,0xc, 0x87,0xbe,0x37,0xc, 0x83,0x28,0x21,0x7e,0x7, 0xc, 0x83,0x9e,0x7,
+0xc, 0x8f,0xbe,0x7, 0x3, 0x1e,0x40,0x2, 0xa1,0x9a,0x7e,0x7, 0xc, 0x8b,0x9e,0x7,
+0xc, 0x87,0xbe,0x7, 0x3, 0x1e,0x50,0x72,0x74,0x23,0x22,0x9e,0x37,0xc, 0x8f,0xbe,
+0x37,0x3, 0x1e,0x50,0x65,0x7e,0x37,0xc, 0x8b,0x9e,0x37,0xc, 0x83,0xbe,0x37,0x3,
+0x1e,0x50,0x57,0x74,0x22,0x22,0x7e,0x37,0x3, 0xa, 0xbd,0x31,0x50,0x4c,0x7e,0x37,
+0x3, 0xc, 0xbd,0x32,0x28,0x44,0x7e,0x37,0xc, 0x85,0xbe,0x37,0xc, 0x81,0x50,0x1b,
+0x9e,0x37,0xc, 0x8d,0xbe,0x37,0x3, 0x1e,0x50,0x30,0x7e,0x37,0xc, 0x89,0x9e,0x37,
+0xc, 0x81,0xbe,0x37,0x3, 0x1e,0x50,0x22,0x74,0x20,0x22,0x7e,0x37,0xc, 0x81,0x9e,
+0x37,0xc, 0x8d,0xbe,0x37,0x3, 0x1e,0x50,0x11,0x7e,0x37,0xc, 0x89,0x9e,0x37,0xc,
+0x85,0xbe,0x37,0x3, 0x1e,0x50,0x3, 0x74,0x21,0x22,0xe4,0x22,0xca,0x3b,0x7e,0xd3,
+0x1, 0xb5,0x7e,0xb3,0x1, 0x49,0x70,0x2, 0xc1,0x80,0x6c,0xcc,0xc1,0x7a,0x20,0x5,
+0x2, 0xc1,0x56,0x74,0x5, 0xac,0xbc,0x49,0x35,0x1, 0x66,0x7a,0x35,0x23,0x49,0x25,
+0x1, 0x68,0x7a,0x25,0x25,0x7e,0x27,0x9, 0x1c,0x12,0x87,0xb8,0x7a,0x35,0x29,0x7e,
+0x35,0x25,0x7e,0x27,0x9, 0x1c,0x12,0x87,0xb8,0x7d,0x23,0x7a,0x25,0x2b,0x7e,0x35,
+0x29,0x12,0x81,0x2, 0x7a,0x35,0x27,0xbe,0x34,0x0, 0x1, 0x50,0x7, 0x7e,0x34,0x0,
+0x1, 0x7a,0x35,0x27,0x7e,0x37,0x9, 0x20,0xbe,0x35,0x27,0x7e,0x27,0x9, 0x14,0x7e,
+0x35,0x27,0x50,0x8, 0xad,0x32,0x7e,0x17,0x9, 0x1e,0x80,0x6, 0xad,0x32,0x7e,0x17,
+0x9, 0x22,0x12,0x9a,0x7a,0x7d,0x73,0x7e,0x7, 0x9, 0x14,0xbd,0x7, 0x50,0x2, 0x7d,
+0x70,0xbe,0x74,0x0, 0x1, 0x50,0x2, 0x6d,0x77,0x7e,0x35,0x29,0x7d,0x27,0x7e,0x15,
+0x27,0x12,0x83,0xc5,0x7a,0x35,0x23,0x7e,0x35,0x2b,0x7d,0x27,0x7e,0x15,0x27,0x7e,
+0x7, 0x9, 0x14,0x12,0x83,0xc5,0x7a,0x35,0x25,0x7e,0x25,0x23,0x74,0x5, 0xac,0xbc,
+0x59,0x25,0x1, 0x66,0x80,0x1e,0x74,0x5, 0xac,0xbc,0x49,0x35,0x1, 0x66,0x12,0x51,
+0x44,0x74,0x5, 0xac,0xbc,0x59,0x35,0x1, 0x66,0x49,0x35,0x1, 0x68,0x12,0x52,0x67,
+0x74,0x5, 0xac,0xbc,0x59,0x35,0x1, 0x68,0xb, 0xc0,0xbc,0xdc,0x28,0x2, 0xa1,0xae,
+0xda,0x3b,0x22,0x7c,0x6b,0xa5,0xbe,0xae,0x8, 0x5e,0x70,0x3, 0x7a,0x71,0x1f,0x80,
+0x6d,0xa5,0xbe,0xaf,0x3, 0x2, 0x86,0xf4,0xa5,0xbe,0x0, 0x5, 0x7c,0xb7,0x2, 0x84,
+0x2e,0xbe,0x60,0x50,0x40,0x10,0xbe,0x60,0x5d,0x38,0xb, 0xa, 0x56,0x1b,0x54,0xf5,
+0x5c,0x7c,0xb6,0x2, 0x7e,0x22,0xa5,0xbe,0x7, 0x14,0xa5,0xbf,0x1, 0x5, 0xd2,0x0,
+0xd2,0x3, 0x22,0xa5,0xbf,0x0, 0x2, 0x80,0x2, 0xe1,0x67,0xc2,0x0, 0x22,0xbe,0x60,
+0x8, 0x40,0x7, 0xbe,0x60,0xb, 0x38,0x2, 0x80,0x3d,0xbe,0x60,0xc, 0x40,0x5, 0xbe,
+0x60,0x1b,0x28,0x14,0xbe,0x60,0x1e,0x40,0x5, 0xbe,0x60,0x2a,0x28,0xa, 0xbe,0x60,
+0x2b,0x40,0xf, 0xbe,0x60,0x2e,0x38,0xa, 0xa, 0x26,0x19,0x72,0xd, 0x60,0x75,0x5b,
+0x1, 0x22,0xbe,0x60,0x6, 0x68,0x10,0xa5,0xbe,0x1c,0x2, 0x80,0xa, 0xbe,0x60,0x30,
+0x40,0xc, 0xbe,0x60,0x34,0x38,0x7, 0xa, 0x26,0x19,0x72,0xd, 0x60,0x22,0xbe,0x60,
+0x39,0x68,0x4, 0xa5,0xbe,0x3a,0x38,0x7e,0xa3,0xd, 0x92,0x7c,0xba,0x4, 0x7a,0xb3,
+0xd, 0x92,0x7c,0xba,0x7e,0xa3,0x9, 0xc3,0xa, 0x2a,0x3e,0x24,0xa, 0x1b,0xbd,0x12,
+0x28,0x4, 0x7d,0x52,0x1b,0x54,0xa, 0x2b,0x7e,0xf, 0x11,0x1a,0x2d,0x12,0x7a,0xb,
+0x70,0x30,0xe0,0x3, 0x75,0x5b,0x2, 0xa5,0xbe,0x3a,0xc, 0x75,0x5c,0x39,0x22,0xa5,
+0xbe,0x41,0x4, 0x7a,0x73,0xd, 0xa1,0x22,0xca,0x79,0x7f,0x71,0x7f,0x60,0x6d,0x88,
+0x7d,0xa8,0x7e,0x97,0x10,0x49,0xbe,0x94,0x0, 0x0, 0x18,0x4, 0x7e,0x94,0x0, 0x1,
+0x7e,0xa7,0x10,0x4b,0xbe,0xa4,0x0, 0x0, 0x18,0x4, 0x7e,0xa4,0x0, 0x1, 0x7d,0xb8,
+0x80,0x5a,0x7d,0x7b,0x3e,0x74,0x7f,0x16,0x2d,0x37,0xb, 0x1a,0x30,0x1a,0x26,0x1a,
+0x24,0x7e,0xf, 0x10,0x4e,0x9f,0x10,0x74,0x5, 0x2f,0x11,0x14,0x78,0xfb,0x7d,0x19,
+0x1a,0x2, 0x1a,0x0, 0x12,0x9a,0xcd,0x7d,0x83,0x7f,0x16,0x2d,0x37,0x1b,0x1a,0x80,
+0x7f,0x17,0x2d,0x37,0xb, 0x1a,0x30,0x1a,0x26,0x1a,0x24,0x7e,0xf, 0x10,0x52,0x9f,
+0x10,0x7e,0xf, 0x10,0x5a,0x12,0x9a,0x60,0x7d,0x1a,0x1a,0x2, 0x1a,0x0, 0x12,0x9a,
+0xcd,0x7d,0x83,0x7f,0x17,0x2d,0x37,0x1b,0x1a,0x80,0xb, 0xb4,0x7e,0x87,0x10,0x56,
+0xbd,0x8b,0x18,0x9e,0xda,0x79,0x22,0x6d,0x22,0x7a,0x25,0x1a,0x7a,0x35,0x1c,0x22,
+0xca,0xd8,0xca,0x79,0x7f,0x70,0x7e,0xf, 0x11,0x42,0x69,0x30,0x0, 0xb0,0x7d,0x53,
+0x1e,0x54,0x1e,0x54,0x5e,0x54,0x0, 0x1f,0x7c,0xab,0x7d,0x73,0x1e,0x74,0x5e,0x74,
+0x0, 0x1, 0x2e,0x14,0x0, 0xb0,0x5e,0x70,0x7f,0x1b,0xa, 0x30,0x6c,0xee,0x1, 0xd2,
+0xa, 0x3e,0x9, 0xd3,0x9, 0x95,0x7e,0x30,0x2, 0xac,0x3e,0x7e,0x1f,0x11,0x3e,0x2d,
+0x31,0xb, 0x1a,0x30,0x7d,0xd3,0x5e,0xd4,0x80,0x0, 0x6d,0x22,0x4d,0xdd,0x78,0x2,
+0x1, 0x5a,0x6e,0x34,0xff,0xff,0x6d,0x22,0xb, 0x1c,0x4c,0xff,0x78,0x2, 0x1, 0x7e,
+0xbe,0xa0,0x4, 0x40,0x2, 0x1, 0x73,0xa, 0x1a,0x3e,0x14,0x3e,0x14,0x2e,0x14,0x9c,
+0x2f,0x1, 0x87,0x7e,0x30,0x2, 0xac,0x3a,0x2e,0x14,0x9c,0x2d,0x1, 0x87,0x7e,0x30,
+0x2, 0xac,0x3a,0x2e,0x14,0x9c,0x2d,0x7e,0x4, 0x0, 0xff,0xb, 0xa, 0x40,0x7d,0x14,
+0x12,0x9a,0x71,0x74,0xc, 0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,
+0xf4,0x6d,0x22,0x4d,0xdd,0x78,0x2, 0x1, 0xb1,0x6e,0x34,0xff,0xff,0x6d,0x22,0xb,
+0x1c,0x7d,0xc3,0x7e,0x30,0x2, 0xac,0x3d,0x2d,0x1f,0x7d,0xe, 0x1b,0xa, 0xc0,0x7e,
+0x30,0x2, 0xac,0x3d,0x2d,0x1f,0xb, 0xa, 0xc0,0x2e,0xc4,0x80,0x0, 0x1b,0xa, 0xc0,
+0xb, 0xe0,0x7e,0xb3,0x9, 0xc3,0xbc,0xbe,0x28,0x2, 0x1, 0x30,0xda,0x79,0xda,0xd8,
+0x22,0xca,0x79,0x7e,0xb3,0x2, 0x1f,0x70,0x2, 0x21,0xbe,0x7e,0x23,0x1, 0xb5,0x7a,
+0x23,0x1, 0xb7,0x6c,0xaa,0x21,0xb8,0x7e,0x50,0x5, 0xac,0x5a,0x49,0xf2,0x1, 0x66,
+0x7e,0xe4,0x0, 0x40,0x9e,0xf4,0x0, 0x20,0x49,0xd2,0x1, 0x68,0x7e,0x37,0x1, 0xcb,
+0x1e,0x34,0xbd,0xd3,0x50,0xe, 0x7e,0x33,0x1, 0xe9,0xa, 0x43,0x7e,0x33,0x1, 0xea,
+0xa, 0x3, 0x80,0xc, 0x7e,0x33,0x1, 0xeb,0xa, 0x43,0x7e,0x33,0x1, 0xec,0xa, 0x3,
+0x7e,0x63,0x9, 0xc5,0x7e,0x70,0x40,0xac,0x67,0x7d,0xd3,0xbd,0x4f,0x38,0xa, 0x7d,
+0x3d,0x9d,0x3e,0x9d,0x30,0xbd,0x3f,0x50,0x3a,0x7e,0xb3,0x1, 0xb6,0xb4,0x1, 0x2c,
+0xa5,0xba,0x1, 0x28,0x7e,0xf0,0x4, 0xac,0xfa,0x49,0x37,0x11,0x36,0xbe,0x34,0x7f,
+0xff,0x68,0x19,0x49,0xc7,0x11,0x38,0xbe,0xc4,0x7f,0xff,0x68,0xf, 0x59,0x32,0x1,
+0x66,0x7e,0x70,0x5, 0xac,0x7a,0x59,0xc3,0x1, 0x68,0x80,0x7, 0x7c,0xba,0x7c,0x72,
+0x12,0x7f,0xb1,0x7e,0x33,0x1, 0xb8,0xbe,0x33,0x1, 0xb7,0x68,0xf, 0x7e,0xc4,0x7f,
+0xff,0x7e,0x70,0x4, 0xac,0x7a,0x59,0xc3,0x11,0x36,0x80,0x16,0x7e,0x50,0x5, 0xac,
+0x5a,0x49,0xc2,0x1, 0x66,0x7e,0x70,0x4, 0xac,0x7a,0x59,0xc3,0x11,0x36,0x49,0xc2,
+0x1, 0x68,0x59,0xc3,0x11,0x38,0xb, 0xa0,0xbc,0x2a,0x28,0x2, 0x1, 0xf7,0xda,0x79,
+0x22,0x7f,0x61,0x7f,0x50,0x6d,0xee,0x7a,0xe5,0x3a,0x7d,0x4e,0x7d,0x3e,0x7d,0x1e,
+0x7d,0xfe,0x7e,0x50,0x1, 0x1a,0x5, 0x7f,0x45,0x2d,0x90,0x7e,0x4b,0x40,0x1a,0x4,
+0x1a,0x55,0x7f,0x46,0x2d,0x95,0x7e,0x4b,0x40,0x1a,0x54,0x2d,0x45,0x2d,0x30,0x7d,
+0x95,0xad,0x95,0xe, 0x94,0xe, 0x94,0xe, 0x94,0xe, 0x94,0x2d,0x19,0x7d,0x90,0xad,
+0x90,0xe, 0x94,0xe, 0x94,0xe, 0x94,0xe, 0x94,0x2d,0xf9,0x7d,0x95,0xad,0x90,0xe,
+0x94,0xe, 0x94,0xe, 0x94,0xe, 0x94,0x2d,0xe9,0xb, 0x50,0xa5,0xbd,0x10,0xb6,0xe,
+0x44,0xe, 0x44,0xe, 0x44,0xe, 0x44,0xe, 0x34,0xe, 0x34,0xe, 0x34,0xe, 0x34,0x7d,
+0xd4,0xad,0xd3,0x9d,0xed,0xbe,0xe4,0x0, 0x0, 0x18,0x2, 0x80,0x5d,0x7d,0x54,0xad,
+0x54,0x9d,0x15,0xad,0x33,0x9d,0xf3,0xbe,0x14,0x0, 0x10,0x8, 0x6, 0xbe,0xf4,0x0,
+0x40,0x18,0x6, 0x7e,0x34,0x0, 0x64,0x80,0x3e,0xe, 0xe4,0xe, 0xe4,0xe, 0xe4,0xe,
+0xe4,0x7e,0x34,0x0, 0x19,0xad,0x3e,0xe, 0x14,0xe, 0x14,0xe, 0x14,0xe, 0x14,0x1a,
+0x2, 0x1a,0x0, 0x1a,0x26,0x1a,0x24,0x12,0x9a,0xcd,0xad,0x3e,0x7d,0x1f,0xe, 0x14,
+0xe, 0x14,0xe, 0x14,0xe, 0x14,0xe, 0x14,0xe, 0x14,0x1a,0x2, 0x1a,0x0, 0x1a,0x26,
+0x1a,0x24,0x12,0x9a,0xcd,0x1a,0x37,0x7a,0x35,0x3a,0x7e,0x55,0x3a,0x22,0x7e,0xa1,
+0x1f,0x5e,0xa0,0x3, 0xbe,0xa0,0x1, 0x78,0x2, 0x6c,0xaa,0x4c,0xaa,0x78,0x76,0x90,
+0xb4,0x78,0xe4,0x93,0x7c,0x6b,0x5e,0x60,0x3, 0x3e,0x60,0x7e,0x73,0x9, 0x25,0x5e,
+0x70,0xf9,0x4c,0x76,0x7a,0x73,0x9, 0x25,0x7e,0x63,0xd, 0x78,0x5e,0x60,0x3, 0x7c,
+0xb6,0xc4,0x54,0xf0,0x7c,0x6b,0x7e,0x73,0x9, 0x25,0x5e,0x70,0xcf,0x4c,0x76,0x7a,
+0x73,0x9, 0x25,0x7e,0x63,0xd, 0x6c,0x5e,0x60,0x1f,0x7e,0x73,0x9, 0x26,0x5e,0x70,
+0xe0,0x4c,0x76,0x7a,0x73,0x9, 0x26,0x90,0xb4,0xb4,0xe4,0x93,0x7a,0xb3,0x1, 0x29,
+0x90,0xb4,0xb2,0xe4,0x93,0x7a,0xb3,0x1, 0x27,0x90,0xb4,0xb3,0xe4,0x93,0x7a,0xb3,
+0x1, 0x28,0x7e,0x73,0x9, 0x64,0xa, 0x27,0x7e,0x73,0x9, 0x63,0xa, 0x37,0x2d,0x32,
+0x7a,0x73,0x9, 0xc3,0x22,0xbe,0xa0,0x1, 0x78,0x16,0x7e,0xb3,0xd, 0xa1,0x70,0x10,
+0x7e,0xb3,0x9, 0x25,0x54,0xf9,0x7a,0xb3,0x9, 0x25,0x54,0xcf,0x44,0x10,0x80,0x17,
+0xbe,0xa0,0x2, 0x78,0x2d,0x7e,0xb3,0xd, 0xa1,0x70,0x27,0x7e,0xb3,0x9, 0x25,0x54,
+0xf9,0x7a,0xb3,0x9, 0x25,0x54,0xcf,0x7a,0xb3,0x9, 0x25,0x7e,0xb3,0x9, 0x26,0x54,
+0xe0,0x7a,0xb3,0x9, 0x26,0xe4,0x7a,0xb3,0x1, 0x29,0x7a,0xb3,0x1, 0x27,0x7a,0xb3,
+0x1, 0x28,0x22,0xca,0x3b,0x7a,0x1d,0x23,0x7f,0x30,0x7e,0xb3,0x9, 0xc3,0xf5,0x29,
+0x7e,0xb3,0x9, 0x26,0x54,0x1f,0xa, 0x2b,0x5e,0x24,0x0, 0x1f,0x3e,0x24,0x3e,0x24,
+0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x5e,0x70,0x83,0x4d,0x32,
+0x1b,0xa, 0x30,0xe5,0x29,0xa, 0x3b,0x3e,0x34,0x7f,0x3, 0xe4,0x12,0x9c,0xda,0x7e,
+0xb3,0x1, 0x29,0x60,0x47,0x75,0x27,0x0, 0x80,0x37,0x12,0x6c,0xf6,0x75,0x28,0x0,
+0x80,0x26,0x7e,0x71,0x28,0x74,0x2, 0xac,0x7b,0x7f,0x3, 0x2d,0x13,0xb, 0xa, 0x50,
+0x7e,0x7d,0x23,0x2d,0xf3,0xb, 0x7a,0x20,0xbd,0x25,0x28,0xa, 0x2e,0x37,0x8, 0xf6,
+0xb, 0x38,0x30,0x1b,0xa, 0x30,0x5, 0x28,0xe5,0x29,0xbe,0xb1,0x28,0x38,0xd3,0x5,
+0x27,0x7e,0x73,0x1, 0x59,0xbe,0x71,0x27,0x38,0xc0,0x80,0x48,0x75,0x27,0x0, 0x12,
+0x78,0xae,0x80,0x4, 0xe4,0x12,0x82,0x64,0x30,0xb, 0xf9,0x7e,0xd, 0x23,0x12,0x60,
+0x0, 0x75,0x28,0x0, 0x80,0x20,0x7e,0xa1,0x28,0x74,0x2, 0xa4,0x7e,0x1d,0x23,0x2d,
+0x35,0xb, 0x1a,0x20,0x1e,0x24,0x1e,0x24,0x7f,0x3, 0x2d,0x15,0xb, 0xa, 0x30,0x2d,
+0x32,0x1b,0xa, 0x30,0x5, 0x28,0xe5,0x29,0xbe,0xb1,0x28,0x38,0xd9,0x5, 0x27,0xe5,
+0x27,0xb4,0x4, 0xbb,0xda,0x3b,0x22,0x7c,0x7b,0xa, 0x27,0x9, 0x62,0xa, 0x7e,0xa,
+0x26,0x7e,0xf, 0x11,0x42,0x79,0x20,0x0, 0x14,0x6d,0x22,0x7e,0xf, 0x11,0x42,0x79,
+0x20,0x0, 0xc, 0x7e,0xf, 0x11,0x42,0x79,0x20,0x0, 0xe, 0x7e,0xf, 0x11,0x42,0x79,
+0x20,0x0, 0x10,0x7e,0xf, 0x11,0x42,0x79,0x20,0x0, 0x6, 0x7e,0xf, 0x11,0x42,0x79,
+0x20,0x0, 0x8, 0x7e,0xf, 0x11,0x42,0x79,0x20,0x0, 0xa, 0xa, 0x27,0x9, 0xb2,0xa,
+0x7e,0xa, 0x4b,0x5e,0x44,0x0, 0xf, 0xc4,0x54,0xf, 0x7c,0xab,0x7c,0xb9,0x7e,0xf4,
+0x0, 0x1, 0x70,0x2, 0x81,0xab,0x3e,0xf4,0x14,0x78,0xfb,0x7e,0x50,0x2, 0xac,0x5a,
+0x7e,0xf, 0x11,0x42,0x2d,0x12,0x2e,0x14,0x0, 0xc, 0xb, 0xa, 0x20,0x4d,0x2f,0x1b,
+0xa, 0x20,0xe5,0x1f,0x54,0x3, 0xb4,0x1, 0x2, 0x80,0x2, 0xa1,0x17,0x7c,0xb7,0x20,
+0xe0,0x2, 0x81,0xdc,0xa, 0x57,0x1b,0x54,0x7c,0xab,0x81,0xe2,0xa, 0x57,0xb, 0x54,
+0x7c,0xab,0xa, 0x3a,0x9, 0xb3,0xa, 0x7e,0xa, 0x4b,0x5e,0x44,0x0, 0xf, 0xc4,0x54,
+0xf, 0x7c,0xab,0x7c,0xb9,0x7e,0x24,0x0, 0x1, 0x70,0x2, 0xa1,0x2, 0x3e,0x24,0x14,
+0x78,0xfb,0x74,0x2, 0xa4,0x7e,0xf, 0x11,0x42,0x2d,0x15,0x2e,0x14,0x0, 0x6, 0xb,
+0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x22,0x9f,0x0, 0x7e,0x27,0xc, 0x9b,0xbe,0x24,
+0x0, 0x30,0x50,0x26,0x7e,0x37,0xc, 0x85,0x3e,0x24,0x3e,0x24,0x59,0x32,0xb, 0xbf,
+0x7e,0x37,0xc, 0x87,0x7e,0x27,0xc, 0x9b,0x3e,0x24,0x3e,0x24,0x59,0x32,0xb, 0xc1,
+0x7e,0x37,0xc, 0x9b,0xb, 0x34,0x7a,0x37,0xc, 0x9b,0x7e,0xa0,0x1, 0x80,0x30,0x7e,
+0x70,0x4, 0xac,0x7a,0x49,0x23,0xb, 0xbd,0x49,0x33,0xb, 0xc1,0x9d,0x32,0x12,0x9c,
+0xec,0x7d,0x43,0x7e,0x70,0x4, 0xac,0x7a,0x49,0x23,0xb, 0xbb,0x49,0x33,0xb, 0xbf,
+0x9d,0x32,0x12,0x9c,0xec,0x2d,0x43,0x7d,0x34,0x6d,0x22,0x2f,0x1, 0xb, 0xa0,0xa,
+0x3a,0xbe,0x37,0xc, 0x9b,0x40,0xc8,0x6d,0x33,0x7a,0x35,0x58,0x7e,0x37,0x3, 0x26,
+0x6d,0x22,0xbf,0x1, 0x28,0x3, 0x74,0xfe,0x22,0x7e,0x73,0x2, 0xfb,0xa, 0x37,0x3e,
+0x34,0x3e,0x34,0x3e,0x34,0x6d,0x22,0xbf,0x1, 0x50,0x37,0x7e,0x37,0x3, 0x0, 0xbe,
+0x37,0xb, 0xb6,0x28,0x2d,0x7e,0xb3,0xb, 0xba,0x4, 0x7a,0xb3,0xb, 0xba,0x7e,0x34,
+0x0, 0x2, 0x7a,0x35,0x58,0x6d,0x33,0x7a,0x37,0xb, 0xb8,0x7e,0x47,0xc, 0x85,0x7e,
+0xa3,0xb, 0xba,0x74,0x2, 0xa4,0x59,0x45,0xc, 0x8f,0x7e,0x37,0xc, 0x87,0x59,0x35,
+0xc, 0x93,0xe4,0x22,0x7e,0xb3,0x1, 0x27,0x70,0x2, 0xc1,0xab,0xe4,0x7a,0xb3,0x11,
+0x48,0x9f,0x77,0x7e,0xa3,0x9, 0xc3,0x6c,0x77,0x80,0x36,0x7e,0x30,0x2, 0xac,0x37,
+0x49,0x21,0x4, 0x48,0x49,0x1, 0x8, 0x98,0xbd,0x2, 0x28,0x23,0x49,0x21,0x4, 0x48,
+0x49,0x41,0x8, 0x98,0x9d,0x42,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x2f,0x70,0x7e,0x27,
+0x0, 0x8f,0xbd,0x24,0x50,0x9, 0x7e,0xb3,0x11,0x48,0x4, 0x7a,0xb3,0x11,0x48,0xb,
+0x70,0xbc,0xa7,0x38,0xc6,0x7e,0x73,0x0, 0x91,0xbe,0x73,0x11,0x48,0x38,0x34,0xbe,
+0x78,0x27,0x10,0x28,0x2e,0x20,0xf, 0x2b,0x7e,0xa3,0x11,0x49,0x4c,0xaa,0x78,0x4,
+0x74,0x1, 0x80,0x20,0xbe,0xa0,0x2, 0x50,0x24,0x7e,0xb3,0x11,0x4a,0x4, 0x7a,0xb3,
+0x11,0x4a,0x7e,0x73,0x11,0x4a,0xbe,0x70,0x14,0x28,0x12,0x74,0x2, 0x7a,0xb3,0x11,
+0x49,0x80,0xa, 0xe4,0x7a,0xb3,0x11,0x49,0xe4,0x7a,0xb3,0x11,0x4a,0x6d,0x33,0x7a,
+0x37,0x11,0x46,0x7e,0x73,0x11,0x49,0xbe,0x70,0x1, 0x28,0xd, 0x7e,0x14,0x0, 0x14,
+0x7f,0x17,0x12,0x9a,0x7a,0x7a,0x37,0x11,0x46,0x7e,0x37,0x11,0x46,0xbe,0x34,0xd,
+0xac,0x28,0x8, 0x7e,0x34,0xd, 0xac,0x7a,0x37,0x11,0x46,0x22,0x12,0x87,0x6a,0x12,
+0x0, 0x2e,0xe4,0x12,0x87,0xa4,0x12,0x84,0x14,0x7e,0xb3,0xd, 0xde,0xb4,0x1, 0x2,
+0x80,0x2, 0xe1,0x6f,0x12,0x81,0xcb,0x12,0x7a,0xee,0xd2,0x8, 0x7e,0x34,0x0, 0xc8,
+0x12,0x5f,0xf7,0x12,0x73,0x14,0x12,0x7e,0x57,0x12,0x3e,0x5, 0xe4,0x12,0x87,0xa4,
+0x12,0x0, 0x4e,0x12,0x7d,0x1, 0x12,0x65,0xe4,0x12,0x6a,0x43,0x7e,0x73,0xd, 0xa2,
+0xa, 0x37,0x6d,0x22,0x7e,0x14,0x0, 0x64,0x12,0x9a,0x71,0x7f,0x1, 0x7e,0x1f,0x3,
+0x30,0xbf,0x10,0x48,0xe, 0x12,0x58,0x0, 0x12,0x7a,0x1, 0x12,0x1c,0x6d,0x12,0x86,
+0xa9,0x80,0x12,0xe4,0x7a,0xb3,0x1, 0xb5,0x7e,0xb3,0x1, 0x51,0xb4,0x1, 0x6, 0x30,
+0xf, 0x3, 0x12,0x7a,0x1, 0x12,0x87,0x76,0x12,0x76,0x53,0x12,0x26,0xc0,0x12,0x80,
+0x85,0x12,0x83,0xe0,0x12,0x85,0xe7,0x12,0x23,0xf5,0x12,0x60,0xe1,0x12,0x5d,0x9c,
+0x12,0x7c,0x83,0x12,0x14,0xd5,0x12,0x2a,0xab,0x12,0x68,0x0, 0x12,0x0, 0x47,0x12,
+0x10,0x0, 0x12,0x3c,0x10,0x12,0x20,0x0, 0x12,0x32,0x32,0x12,0x41,0x87,0x12,0x38,
+0x0, 0x12,0x18,0x0, 0x12,0x40,0x0, 0x12,0x75,0xf2,0x12,0x81,0xa4,0xc1,0xb9,0x2,
+0x87,0xd6,0x7e,0x1f,0x11,0x42,0x69,0x31,0x0, 0xae,0x1e,0x34,0x1e,0x34,0x5e,0x34,
+0x0, 0x1, 0x68,0xa, 0x7e,0x1f,0xa, 0xac,0xb, 0x1a,0x30,0x2, 0x0, 0x76,0x6c,0xaa,
+0x80,0x59,0xa, 0x3a,0x9, 0x23,0x9, 0x95,0x7e,0x30,0x2, 0xac,0x23,0x7e,0x1f,0xa,
+0xac,0x2d,0x31,0xb, 0x1a,0x30,0x12,0x81,0x2b,0x7d,0x23,0x7e,0x70,0x2, 0xac,0x7a,
+0x7e,0xf, 0x11,0x42,0x2d,0x13,0x2e,0x14,0x0, 0x14,0xb, 0xa, 0x30,0x5e,0x34,0x0,
+0x3f,0x1b,0xa, 0x30,0x7d,0x42,0x3e,0x44,0x3e,0x44,0x3e,0x44,0x3e,0x44,0x3e,0x44,
+0x3e,0x44,0x7e,0x70,0x2, 0xac,0x7a,0x7e,0xf, 0x11,0x42,0x2d,0x13,0x2e,0x14,0x0,
+0x14,0xb, 0xa, 0x30,0x4d,0x34,0x1b,0xa, 0x30,0xb, 0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,
+0xba,0x38,0x9f,0x22,0x74,0xa, 0x12,0x86,0x59,0x75,0xe6,0xa6,0x75,0xe9,0xff,0x22,
+0x7e,0xb3,0x1, 0x4a,0x70,0x2, 0x1, 0xc5,0x30,0xf, 0x2, 0x1, 0xc5,0x7e,0xa7,0x1,
+0xc7,0x7e,0xa3,0xd, 0xcb,0x4c,0xaa,0x68,0x12,0xbe,0xa0,0xff,0x68,0xd, 0x74,0x64,
+0xa4,0x7d,0xb5,0xbd,0xab,0x8, 0x6, 0x7d,0xba,0x80,0x2, 0x7d,0xba,0x7e,0xb3,0x1,
+0xb6,0xb4,0x1, 0xc, 0x7e,0xa7,0x1, 0x68,0xbe,0xa7,0x0, 0xd2,0x78,0x2, 0xe, 0xb4,
+0x7e,0x73,0x9, 0x66,0xa, 0x7, 0x7e,0x73,0x9, 0x64,0xa, 0x17,0x9d,0x10,0x7c,0x23,
+0x7e,0xa3,0x9, 0x65,0x7e,0x33,0x9, 0x63,0xbc,0xa2,0x78,0x31,0x7c,0x73,0x6c,0x66,
+0x80,0x25,0x7e,0x50,0x4, 0xac,0x57,0x2e,0x27,0x8, 0xf4,0x49,0xd2,0x0, 0x2, 0xb,
+0x28,0xc0,0x7d,0x2b,0x7d,0xfb,0x1a,0x24,0x1a,0xe4,0xbf,0x76,0x18,0x5, 0xe4,0x7a,
+0xb3,0x0, 0xc3,0xb, 0x60,0xb, 0x70,0xbc,0xa6,0x38,0xd7,0x80,0x2e,0xa5,0xba,0x2,
+0x2a,0x74,0x4, 0xac,0xb3,0x7d,0xa5,0x2e,0xa7,0x8, 0xf4,0x49,0x3a,0x0, 0x6, 0x49,
+0x2a,0x0, 0x4, 0x49,0x1a,0x0, 0x2, 0xb, 0xa8,0x0, 0x2f,0x1, 0x7d,0x3b,0x1a,0x26,
+0x1a,0x24,0xbf,0x10,0x18,0x5, 0xe4,0x7a,0xb3,0x0, 0xc3,0x12,0x77,0x9, 0x40,0x5,
+0x7d,0x3b,0x2, 0x30,0x0, 0x22,0xca,0xf8,0x7c,0xfb,0x7f,0x50,0x7f,0x41,0x7e,0x7d,
+0x23,0xbe,0x78,0x0, 0x32,0x18,0x2, 0x21,0x87,0xe5,0x28,0x70,0x4, 0xe5,0xc, 0x80,
+0x2, 0xe5,0x9, 0xa, 0x1b,0x6d,0x0, 0x7f,0x17,0x12,0x9a,0x60,0x7e,0x8, 0x0, 0x64,
+0x12,0x9a,0xcd,0x7f,0x71,0x7f,0x15,0x12,0x86,0x6e,0x7f,0x61,0x7f,0x14,0x12,0x86,
+0x6e,0x2f,0x61,0x78,0x4c,0x4c,0xff,0x68,0x24,0x7e,0x14,0x0, 0x3, 0x7f,0x17,0x12,
+0x9a,0x71,0x7e,0x8, 0x0, 0x4, 0x12,0x9a,0xcd,0x7f,0x1, 0x7e,0x1d,0x29,0x79,0x11,
+0x0, 0x2, 0x1b,0x1a,0x0, 0x7e,0x8, 0x0, 0x4, 0x7f,0x17,0x80,0x4b,0x7e,0x8, 0x0,
+0x4, 0x7f,0x17,0x12,0x9a,0xcd,0x7f,0x1, 0x7e,0x1d,0x29,0x79,0x11,0x0, 0x2, 0x1b,
+0x1a,0x0, 0x7e,0x14,0x0, 0x3, 0x7f,0x17,0x12,0x9a,0x71,0x7e,0x8, 0x0, 0x4, 0x80,
+0x27,0x7f,0x14,0x12,0x86,0x6e,0x7f,0x7, 0x12,0x9a,0x60,0x7f,0x6, 0x12,0x9a,0xcd,
+0x7f,0x1, 0x7e,0x1d,0x29,0x79,0x11,0x0, 0x2, 0x1b,0x1a,0x0, 0x7f,0x15,0x12,0x86,
+0x6e,0x7f,0x7, 0x12,0x9a,0x60,0x7f,0x6, 0x12,0x9a,0xcd,0x7f,0x1, 0x7e,0x1d,0x2d,
+0x79,0x11,0x0, 0x2, 0x1b,0x1a,0x0, 0xda,0xf8,0x22,0xca,0x2b,0xca,0x1b,0xca,0xb,
+0xc0,0xd0,0xc0,0x83,0xc0,0x82,0xc2,0xc1,0x7e,0x11,0xa2,0x7e,0x1, 0xa7,0xa5,0xb8,
+0x1, 0xb, 0xc2,0x95,0x7c,0xb1,0x12,0x7a,0x54,0xf5,0x91,0x80,0x58,0xbe,0x0, 0x3,
+0x40,0x36,0x7c,0xb1,0x7e,0x71,0xa3,0x12,0x74,0xca,0x7e,0xb3,0xd, 0xc7,0xbe,0xb1,
+0x4e,0x68,0x4, 0x70,0x2, 0xc2,0xc, 0x7e,0xb3,0x0, 0xec,0xb4,0x2, 0x6, 0x7e,0xb3,
+0xd, 0xf2,0x70,0xd, 0x7e,0xb3,0x9, 0x24,0xb4,0x2, 0xd, 0x7e,0xb3,0xd, 0xf2,0x70,
+0x7, 0xc2,0xc, 0xe4,0x7a,0xb3,0xd, 0xc7,0xbe,0x0, 0x7, 0x40,0xa, 0xb, 0x10,0x7c,
+0xb1,0x7e,0x71,0xa4,0x12,0x74,0xca,0xa5,0xb8,0xf, 0xa, 0xb, 0x10,0x7c,0xb1,0x7e,
+0x71,0xa5,0x12,0x74,0xca,0x20,0xc, 0x28,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,
+0xb, 0xa, 0x30,0x5e,0x70,0xfd,0x1b,0xa, 0x30,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xa9,
+0xc7,0xdb,0xa9,0xd0,0xce,0xa9,0xc5,0xc9,0xa9,0xd6,0xdc,0x75,0x9f,0x0, 0xd2,0xee,
+0x75,0x5d,0x0, 0x12,0x87,0x99,0xd0,0x82,0xd0,0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,
+0xda,0x2b,0x32,0xca,0xf8,0x7e,0xa3,0x9, 0xc4,0x7e,0x47,0x8, 0xf4,0x7e,0x73,0x9,
+0x63,0x9f,0x0, 0x7a,0xf, 0x3, 0x30,0x6c,0x66,0x80,0x2f,0xbc,0xa6,0x28,0xf, 0x9f,
+0x0, 0x7e,0x50,0x4, 0xac,0x56,0x59,0x12,0x3, 0x36,0x59,0x2, 0x3, 0x34,0x7e,0x50,
+0x4, 0xac,0x56,0x2d,0x24,0x49,0x12,0x0, 0x2, 0xb, 0x28,0x0, 0x7e,0x7f,0x3, 0x30,
+0xbf,0x7, 0x8, 0x4, 0x7a,0xf, 0x3, 0x30,0xb, 0x60,0xbc,0x76,0x38,0xcd,0x7e,0x6f,
+0x3, 0x30,0xbe,0x68,0x2, 0xbc,0x58,0x4, 0x74,0x7, 0x80,0x3d,0x7e,0xf3,0xd, 0xa2,
+0xa, 0xff,0x6d,0xee,0x7e,0x14,0x3, 0x20,0x7f,0x17,0x12,0x9a,0x71,0xbf,0x61,0x48,
+0x16,0x7e,0x8, 0x0, 0x4, 0x7f,0x16,0x12,0x9a,0xcd,0x7e,0x8, 0x0, 0x64,0x12,0x9a,
+0xcd,0x7a,0x73,0xd, 0xa2,0x80,0x16,0x7e,0x14,0x0, 0x64,0x7f,0x17,0x12,0x9a,0x71,
+0xbe,0x18,0x3, 0x84,0x8, 0x7, 0x7c,0xbf,0x14,0x7a,0xb3,0xd, 0xa2,0x7e,0x73,0xd,
+0xa2,0xa, 0x37,0x6d,0x22,0x7e,0x14,0x0, 0x64,0x12,0x9a,0x71,0xbe,0x18,0x2, 0xbc,
+0x58,0x6, 0x74,0x7, 0x7a,0xb3,0xd, 0xa2,0xda,0xf8,0x22,0x7e,0x34,0xb5,0x3a,0x7e,
+0x24,0x0, 0xff,0xb, 0x1a,0x30,0x7a,0x37,0x2, 0x1b,0x7e,0xb3,0x1, 0xe6,0x70,0x12,
+0x7e,0x8, 0x1, 0x49,0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,0xda,0x7a,0xb3,0x2, 0x1e,
+0x80,0xf, 0xb4,0x1, 0x17,0x7e,0x8, 0x1, 0x49,0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,
+0xda,0xe4,0x7a,0xb3,0x2, 0x1f,0x7a,0xb3,0x2, 0x20,0x80,0x24,0xb4,0x2, 0x12,0x7e,
+0x8, 0x1, 0x49,0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,0xda,0x7a,0xb3,0x2, 0x1f,0x80,
+0xf, 0xb4,0x3, 0x17,0x7e,0x8, 0x1, 0x49,0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,0xda,
+0xe4,0x7a,0xb3,0x2, 0x1d,0x7a,0xb3,0x2, 0x21,0x80,0x24,0xb4,0x4, 0x12,0x7e,0x8,
+0x1, 0x49,0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,0xda,0x7a,0xb3,0x2, 0x1d,0x80,0xf,
+0xb4,0x5, 0x24,0x7e,0x8, 0x1, 0x49,0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,0xda,0x7e,
+0x37,0x1, 0xcb,0x1e,0x34,0x1e,0x34,0x7a,0x37,0x2, 0x1b,0x7e,0x37,0x1, 0xcb,0x1e,
+0x34,0x1e,0x34,0x7a,0x37,0x1, 0xd3,0x22,0x69,0x50,0x0, 0xf, 0x1a,0x4a,0x1a,0x48,
+0x7e,0x1d,0x50,0x2f,0x12,0x7e,0x2f,0x11,0x42,0x79,0x32,0x0, 0x84,0x29,0xb0,0x0,
+0xc, 0x1e,0xb0,0x54,0x3f,0xa, 0x3b,0x7e,0x2f,0x11,0x42,0x79,0x32,0x0, 0x88,0x69,
+0x30,0x0, 0xd, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x86,0x6d,0x33,0x7e,0xf, 0x11,
+0x42,0x79,0x30,0x0, 0xb4,0x12,0x7c,0x43,0xa9,0xd0,0xce,0xa9,0xd5,0xc9,0xa9,0xd0,
+0x9e,0xa9,0xd4,0x9e,0xa9,0xd0,0x9e,0x7e,0x73,0xd, 0xab,0xa, 0x27,0x7e,0x34,0xf,
+0xa0,0x12,0x9a,0x2e,0x7c,0xb7,0xf5,0x9f,0xa9,0xd3,0xcd,0xa9,0xd0,0xcd,0xa9,0xc6,
+0xdc,0xa9,0xd5,0xdc,0xa9,0xd7,0xca,0xd2,0xa8,0xc2,0xee,0x7e,0xf, 0x11,0x42,0x2e,
+0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x4e,0x70,0x80,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,
+0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x5e,0x70,0x83,0x1b,0xa, 0x30,0x7e,0xf, 0x11,
+0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x70,0x2, 0x1b,0xa, 0x30,0xa9,0xd7,
+0xdb,0x22,0x7e,0x1f,0x11,0x42,0x69,0xc1,0x0, 0xae,0x1e,0xc4,0x1e,0xc4,0x5e,0xc4,
+0x0, 0x1, 0x68,0x1b,0x7e,0x1f,0xa, 0xac,0xb, 0x1a,0xd0,0xe5,0x61,0x7e,0xc4,0x0,
+0x1, 0x60,0x5, 0x3e,0xc4,0x14,0x78,0xfb,0x4d,0xdc,0x7d,0x3d,0x2, 0x0, 0x76,0x6c,
+0xaa,0x80,0x6a,0xa, 0x3a,0x9, 0x23,0x9, 0x95,0x7e,0x30,0x2, 0xac,0x23,0x7e,0x1f,
+0xa, 0xac,0x2d,0x31,0xb, 0x1a,0xd0,0xe5,0x61,0x7e,0x44,0x0, 0x1, 0x60,0x5, 0x3e,
+0x44,0x14,0x78,0xfb,0x4d,0xd4,0x7d,0x3d,0x12,0x81,0x2b,0x7d,0xd3,0x7e,0x30,0x2,
+0xac,0x3a,0x7e,0x1f,0x11,0x42,0x2d,0x31,0x2e,0x34,0x0, 0x14,0xb, 0x1a,0xc0,0x5e,
+0xc4,0x0, 0x3f,0x1b,0x1a,0xc0,0x7d,0x4d,0x3e,0x44,0x3e,0x44,0x3e,0x44,0x3e,0x44,
+0x3e,0x44,0x3e,0x44,0x7e,0x30,0x2, 0xac,0x3a,0x7e,0x1f,0x11,0x42,0x2d,0x31,0x2e,
+0x34,0x0, 0x14,0xb, 0x1a,0xc0,0x4d,0xc4,0x1b,0x1a,0xc0,0xb, 0xa0,0x7e,0xb3,0x9,
+0xc3,0xbc,0xba,0x38,0x8e,0x22,0xca,0x79,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,
+0xb, 0xa, 0x30,0x5e,0x70,0x83,0x1b,0xa, 0x30,0x80,0x4, 0xe4,0x12,0x82,0x64,0x30,
+0xb, 0xf9,0x7e,0xe3,0x1, 0x44,0xbe,0xe0,0xa, 0x28,0x3, 0x7e,0xe0,0xa, 0x6c,0xff,
+0x80,0x1b,0x12,0x78,0xae,0x80,0x4, 0xe4,0x12,0x82,0x64,0x30,0xb, 0xf9,0x74,0x2,
+0xac,0xbf,0x49,0x15,0x0, 0x6d,0x6d,0x0, 0x12,0x60,0x0, 0xb, 0xf0,0xbc,0xef,0x38,
+0xe1,0x6c,0xff,0x80,0x12,0x74,0x2, 0xac,0xbf,0x49,0x35,0x0, 0x6d,0x74,0x4, 0xac,
+0xbf,0x59,0x35,0xf, 0xa8,0xb, 0xf0,0xbc,0xef,0x38,0xea,0x7c,0xbe,0x12,0x2d,0x51,
+0x6c,0xff,0x80,0xc, 0x6d,0x33,0x74,0x4, 0xac,0xbf,0x59,0x35,0xf, 0xa8,0xb, 0xf0,
+0xbc,0xef,0x38,0xf0,0x7e,0xb3,0x9, 0x26,0x54,0x1f,0xa, 0x2b,0x5e,0x24,0x0, 0x1f,
+0x3e,0x24,0x3e,0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x5e,
+0x70,0x83,0x4d,0x32,0x1b,0xa, 0x30,0xda,0x79,0x22,0x7c,0x6b,0x6c,0xaa,0xbe,0x60,
+0x20,0x40,0x5, 0xbe,0x60,0x7f,0x28,0x3, 0x7c,0xba,0x22,0xa, 0x26,0x9e,0x24,0x0,
+0x20,0xe, 0x24,0xe, 0x24,0xe, 0x24,0xe, 0x24,0x7c,0x75,0x7c,0x56,0x5e,0x50,0xf0,
+0xa5,0xbd,0x20,0x1f,0x7c,0xb6,0x54,0xf, 0x7e,0x34,0x0, 0x1, 0x60,0x5, 0x3e,0x34,
+0x14,0x78,0xfb,0x7e,0x43,0x3, 0x28,0xa, 0x44,0x5d,0x43,0x7e,0x43,0xd, 0xf3,0xa,
+0x54,0x80,0x52,0xa5,0xbd,0x30,0x26,0x7e,0xb3,0xd, 0xf3,0x30,0xe5,0x4b,0x7c,0xb6,
+0x54,0xf, 0x7e,0x34,0x0, 0x1, 0x60,0x5, 0x3e,0x34,0x14,0x78,0xfb,0x7e,0x53,0x3,
+0x29,0xa, 0x45,0x5d,0x43,0x7e,0x73,0xd, 0xf4,0xa, 0x57,0x80,0x28,0x7e,0xb3,0xd,
+0xf3,0x30,0xe5,0x25,0x7c,0xb6,0x54,0xf, 0x7e,0x24,0x0, 0x1, 0x60,0x5, 0x3e,0x24,
+0x14,0x78,0xfb,0xa, 0x17,0x9, 0x61,0x3, 0x28,0xa, 0x46,0x5d,0x42,0xa, 0x57,0x9,
+0x75,0xd, 0xf5,0xa, 0x57,0x5d,0x54,0x7c,0xab,0x7c,0xba,0x22,0x7e,0x14,0x9e,0x3e,
+0x7e,0x4, 0x0, 0xff,0x69,0x30,0x0, 0x1, 0x7e,0xb, 0x50,0x7a,0x35,0x24,0x7a,0x51,
+0x23,0x7e,0x14,0x9e,0x41,0x7e,0x4, 0x0, 0xff,0x69,0x30,0x0, 0x1, 0x7e,0xb, 0x50,
+0x7a,0x35,0x27,0x7a,0x51,0x26,0x7e,0x24,0xff,0xff,0x7d,0x42,0x6d,0x33,0x7d,0x13,
+0xe5,0x66,0x60,0x3, 0x15,0x66,0x22,0x6c,0xaa,0x7c,0x1a,0x2e,0x10,0x23,0xa5,0xe7,
+0x7c,0x1b,0x74,0x2, 0xac,0x1b,0x2e,0x7, 0x8, 0xf6,0xb, 0x8, 0x0, 0xbd,0x4, 0x50,
+0x2, 0x7d,0x40,0xbd,0x1, 0x28,0x2, 0x7d,0x10,0x7c,0x1a,0x2e,0x10,0x26,0xa5,0xe7,
+0x7c,0x1b,0x74,0x2, 0xac,0x1b,0x2e,0x7, 0x8, 0xf6,0xb, 0x8, 0x0, 0xbd,0x2, 0x50,
+0x2, 0x7d,0x20,0xbd,0x3, 0x28,0x2, 0x7d,0x30,0xb, 0xa0,0xbe,0xa0,0x3, 0x78,0xb9,
+0x9d,0x14,0xbe,0x17,0x1, 0x42,0x8, 0x6, 0x7e,0xb3,0x1, 0x41,0xf5,0x66,0x9d,0x32,
+0xbe,0x37,0x1, 0x42,0x8, 0x6, 0x7e,0xb3,0x1, 0x41,0xf5,0x66,0x22,0x7e,0x14,0x10,
+0x4, 0x7e,0x1f,0x11,0x42,0x1b,0x1a,0x10,0xa9,0xd0,0xca,0x43,0xca,0xa, 0x7e,0xf,
+0x11,0x42,0x2e,0x14,0x0, 0xaa,0xb, 0xa, 0x30,0x4e,0x60,0x20,0x1b,0xa, 0x30,0x7e,
+0x34,0x0, 0x3f,0x6c,0xaa,0x7e,0x50,0x2, 0xac,0x5a,0x7e,0xf, 0x11,0x42,0x2d,0x12,
+0x79,0x30,0x0, 0x14,0xb, 0xa0,0xbe,0xa0,0x2d,0x40,0xea,0x7e,0x34,0x38,0x2, 0x7e,
+0xf, 0x11,0x42,0x79,0x30,0x0, 0xaa,0x7e,0x34,0x1a,0x1a,0x7e,0xf, 0x11,0x42,0x79,
+0x30,0x0, 0xa2,0x7e,0x34,0x3, 0x4c,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xac,0x7e,
+0x34,0x0, 0x29,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xae,0x7e,0x34,0x2, 0x0, 0x7e,
+0xf, 0x11,0x42,0x79,0x30,0x0, 0xb0,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb,
+0xa, 0x30,0x4e,0x70,0x3c,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xac,
+0xb, 0xa, 0x30,0x5e,0x70,0xf3,0x4e,0x70,0x4, 0x1b,0xa, 0x30,0x22,0x7c,0x2b,0x15,
+0x5c,0x7c,0xb2,0x24,0xad,0xbe,0xb0,0xa, 0x50,0x6c,0x7e,0xa0,0x3, 0xa4,0x90,0x6f,
+0x92,0x73,0x2, 0x6f,0xb0,0x2, 0x6f,0xb0,0x2, 0x6f,0xbc,0x2, 0x6f,0xbc,0x2, 0x6f,
+0xbc,0x2, 0x6f,0xbc,0x2, 0x6f,0xbc,0x2, 0x6f,0xbc,0x2, 0x6f,0xbc,0x2, 0x6f,0xbc,
+0x7e,0xb3,0xe, 0x3, 0xa, 0x3b,0x9, 0x33,0x9, 0x67,0x80,0x32,0xa, 0x32,0x9e,0x34,
+0x0, 0x55,0x7e,0x4, 0x0, 0x2, 0x7d,0x20,0x12,0x9a,0x2e,0x4d,0x22,0x68,0x2, 0x1b,
+0x20,0xa, 0x32,0x9e,0x34,0x0, 0x55,0x7d,0x20,0x12,0x9a,0x2e,0x7e,0x14,0x0, 0x14,
+0xad,0x13,0x7e,0xb3,0xe, 0x3, 0xa, 0x3b,0x2d,0x31,0x9, 0x33,0x2, 0x35,0x4, 0x7a,
+0xb3,0xe, 0x3, 0x7c,0xb3,0x22,0x74,0xff,0x22,0xa9,0xc0,0x93,0x75,0x5d,0x0, 0x32,
+0xca,0x3b,0x7e,0x94,0x38,0x80,0x7e,0x84,0x0, 0x1, 0x7f,0x64,0x9f,0x55,0x7f,0x75,
+0x6c,0x33,0x7e,0xa0,0x1, 0x6c,0x22,0x80,0x2e,0x7e,0x10,0x2, 0xac,0x12,0x2e,0x7,
+0x8, 0xf8,0xb, 0x8, 0x70,0x6d,0x66,0x7e,0x10,0x4, 0xac,0x12,0x2e,0x7, 0x8, 0xf4,
+0x49,0x30,0x0, 0x2, 0xb, 0x8, 0x20,0x2f,0x13,0xbf,0x61,0x8, 0x2, 0x7f,0x61,0xbf,
+0x71,0x58,0x2, 0x7f,0x71,0xb, 0x20,0x7e,0x13,0x9, 0x63,0xbc,0x12,0x38,0xca,0x7f,
+0x37,0x9f,0x36,0xbe,0x38,0x4, 0xb0,0x58,0x3, 0x7e,0x30,0x1, 0x7f,0x64,0x7f,0x75,
+0x6c,0x22,0x80,0x1c,0x7e,0x70,0x2, 0xac,0x72,0x2e,0x37,0x8, 0xf8,0xb, 0x38,0x30,
+0x6d,0x22,0xbf,0x61,0x8, 0x2, 0x7f,0x61,0xbf,0x71,0x58,0x2, 0x7f,0x71,0xb, 0x20,
+0xbc,0x12,0x38,0xe0,0x9f,0x76,0xbe,0x78,0x4, 0xb0,0x8, 0x2, 0x6c,0xaa,0x4c,0x33,
+0x68,0x8, 0x4c,0xaa,0x78,0x4, 0x74,0x1, 0x80,0x1, 0xe4,0xda,0x3b,0x22,0xca,0xd8,
+0xca,0x79,0x7c,0x5b,0x6c,0xdd,0x6c,0xff,0x7e,0x70,0xa, 0xac,0x75,0x49,0xd3,0x10,
+0xb9,0x49,0xc3,0x10,0xb7,0x49,0xf3,0x10,0xbd,0x49,0xe3,0x10,0xbb,0x9, 0xa3,0x10,
+0xbf,0x9, 0xe3,0x10,0xc0,0x7e,0x8, 0xc, 0xa0,0x7e,0x34,0x0, 0x5c,0xe4,0x12,0x9c,
+0xda,0x6c,0x77,0x80,0x25,0x7e,0x50,0x4, 0xac,0x57,0x2e,0x27,0x8, 0xf4,0x49,0x12,
+0x0, 0x2, 0xb, 0x28,0x0, 0xbf,0x6, 0x8, 0xf, 0x7e,0x50,0x4, 0xac,0x5d,0x59,0x12,
+0xc, 0xa2,0x59,0x2, 0xc, 0xa0,0xb, 0xd0,0xb, 0x70,0x7e,0x63,0x9, 0x63,0xbc,0x67,
+0x38,0xd3,0xbc,0xad,0x38,0x2f,0x7e,0x1f,0x3, 0x30,0xbf,0x17,0x58,0x27,0x7e,0x8,
+0xc, 0xa0,0xa, 0x3a,0x12,0x57,0x94,0x74,0x4, 0xac,0xbe,0x49,0x35,0xc, 0xa2,0x49,
+0x25,0xc, 0xa0,0x7e,0x14,0x0, 0x3, 0x12,0x9a,0x71,0x7e,0xf, 0xc, 0xa0,0xbf,0x10,
+0x8, 0x3, 0x7e,0xf0,0x1, 0x7c,0xbf,0xda,0x79,0xda,0xd8,0x22,0x7f,0x61,0xbe,0x68,
+0x0, 0x6, 0x50,0x15,0xbe,0x68,0x0, 0x2, 0x50,0x3, 0x7f,0x16,0x22,0x7f,0x16,0x1e,
+0x34,0x1e,0x24,0x50,0x5e,0x4e,0x60,0x80,0x22,0x7f,0x76,0xe4,0x80,0xe, 0x7f,0x17,
+0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x7f,0x71,0x4, 0xbe,0x78,0x0, 0x1,
+0x38,0xec,0x1e,0xb0,0x60,0x5, 0x2f,0x77,0x14,0x78,0xfb,0x7f,0x17,0x2f,0x17,0x2f,
+0x17,0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x7f,0x71,0x7f,0x57,0x7f,0x16,
+0x7f,0x7, 0x12,0x9a,0x7c,0x2f,0x17,0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,
+0x7f,0x71,0x7d,0x2b,0x7d,0x3f,0x9d,0x32,0x12,0x9c,0xec,0xbe,0x34,0x0, 0x1, 0x18,
+0xdb,0x7f,0x17,0x22,0x7e,0x1f,0x11,0x42,0x69,0x31,0x0, 0xae,0x1e,0x34,0x1e,0x34,
+0x5e,0x34,0x0, 0x1, 0x68,0x27,0x7e,0x37,0x8, 0xf6,0xb, 0x38,0x30,0xbe,0x34,0x3a,
+0xc0,0x28,0x57,0xe5,0x61,0x7e,0x24,0x0, 0x1, 0x60,0x5, 0x3e,0x24,0x14,0x78,0xfb,
+0x7e,0xf, 0xa, 0xac,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x22,0x6c,0xaa,0x80,
+0x31,0x7e,0x70,0x2, 0xac,0x7a,0x7d,0x23,0x2e,0x27,0x8, 0xf6,0xb, 0x28,0x20,0xbe,
+0x24,0x3a,0xc0,0x28,0x1b,0xe5,0x61,0x7e,0x24,0x0, 0x1, 0x60,0x5, 0x3e,0x24,0x14,
+0x78,0xfb,0x7e,0xf, 0xa, 0xac,0x2d,0x13,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,
+0xb, 0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,0xba,0x38,0xc7,0x22,0xca,0x79,0x7c,0xab,0x7e,
+0x47,0x8, 0xf4,0x7e,0x34,0x1, 0x9a,0x6c,0x55,0x80,0x5e,0xa, 0x15,0x2d,0x13,0x7e,
+0x19,0x40,0x7e,0x30,0x4, 0xac,0x34,0x7d,0xf1,0x2d,0xf4,0x49,0x1f,0x0, 0x2, 0xb,
+0xf8,0x0, 0xa, 0xf5,0xb, 0xf4,0x7d,0x7f,0x7c,0x4f,0x80,0x37,0xa, 0xf4,0x2d,0xf3,
+0x7e,0xf9,0xb0,0x7e,0xf0,0x4, 0xac,0xfb,0x7d,0xd7,0x2d,0xd4,0x49,0xfd,0x0, 0x2,
+0xb, 0xd8,0xe0,0xbf,0x7, 0x58,0x1a,0x7f,0x7, 0xa, 0xf4,0x2d,0xf3,0x7e,0xf9,0xf0,
+0xa, 0xe5,0x2d,0xe3,0x7e,0xe9,0xb0,0x7a,0xf9,0xb0,0xa, 0xf5,0x2d,0xf3,0x7a,0xf9,
+0xf0,0xb, 0x40,0xbc,0xa4,0x38,0xc5,0xb, 0x50,0xbc,0xa5,0x38,0x9e,0xda,0x79,0x22,
+0x6d,0x33,0x7a,0x35,0x4c,0xf5,0x4e,0x7a,0xb3,0xd, 0xc7,0x14,0x68,0x13,0x1b,0xb1,
+0x68,0x1c,0x24,0x3, 0x78,0x5a,0x12,0x80,0xaf,0x7e,0xb3,0xd, 0xaa,0xf5,0x4f,0x80,
+0x4f,0x80,0x4, 0xe4,0x12,0x82,0x64,0x12,0x17,0xcc,0x50,0xf7,0x80,0x42,0x12,0x84,
+0x48,0x12,0x17,0xcc,0x50,0xfb,0x12,0x0, 0x6, 0x12,0x80,0x59,0x74,0x1, 0x12,0x82,
+0x8a,0x74,0x2, 0x12,0x82,0x64,0x12,0x87,0xae,0xc2,0xa8,0xc2,0x95,0xa9,0xd0,0xca,
+0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,0x86,0x2c,0x7e,0x8, 0x9, 0x25,0x12,0x1, 0x20,
+0x7e,0x34,0x0, 0x2, 0x12,0x83,0xaa,0x75,0x4e,0x0, 0xe4,0x7a,0xb3,0xd, 0xc7,0x22,
+0xe4,0x2, 0x87,0xa4,0x80,0x4, 0xe4,0x12,0x82,0x64,0x12,0x17,0xcc,0x50,0xf7,0x7e,
+0xb3,0x1, 0x29,0x60,0x10,0xe5,0x66,0x70,0x3, 0x30,0x9, 0x9, 0x7e,0xb3,0x1, 0x40,
+0x12,0x2d,0x51,0x80,0xf, 0x7e,0xb3,0x1, 0x28,0x60,0x9, 0x7e,0xb3,0xd, 0xad,0x60,
+0x3, 0x12,0x59,0xea,0x6c,0xaa,0x80,0x2d,0x7e,0x30,0x2, 0xac,0x3a,0x7d,0x1, 0x2e,
+0x7, 0x8, 0xf8,0xb, 0x8, 0x30,0x6d,0x22,0x2e,0x17,0x8, 0xf6,0xb, 0x18,0x10,0x6d,
+0x0, 0x9f,0x1, 0x7e,0x70,0x4, 0xac,0x7a,0x2e,0x37,0x8, 0xf4,0x59,0x13,0x0, 0x2,
+0x1b,0x38,0x0, 0xb, 0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,0xba,0x38,0xcb,0x7e,0xb3,0x1,
+0x29,0x60,0x3, 0x2, 0x6e,0x3c,0x22,0xca,0xf8,0xca,0x2b,0xca,0x1b,0xca,0xb, 0xc0,
+0xd0,0xc0,0x83,0xc0,0x82,0x30,0x90,0x42,0xc2,0x90,0xe5,0x5d,0x70,0x30,0xe4,0x7a,
+0xb3,0xe, 0x4, 0x7a,0xb3,0xe, 0x3, 0x75,0x5d,0x1, 0x7e,0xf1,0x91,0xe5,0x91,0xf5,
+0x5c,0x7e,0xb3,0x1, 0x52,0x60,0xb, 0x7e,0xb3,0xd, 0xf2,0x60,0x5, 0xe5,0x5c,0x12,
+0x85,0xb7,0xe5,0x5c,0x12,0x80,0xd9,0xf5,0x91,0x7a,0xf1,0x5c,0x80,0x1a,0x7e,0xf1,
+0x91,0xe5,0x5c,0x7c,0x7f,0x12,0x84,0xae,0x5, 0x5c,0x30,0x91,0xb, 0xc2,0x91,0x5,
+0x5c,0xe5,0x5c,0x12,0x80,0xd9,0xf5,0x91,0xd0,0x82,0xd0,0x83,0xd0,0xd0,0xda,0xb,
+0xda,0x1b,0xda,0x2b,0xda,0xf8,0x32,0x7e,0x2f,0x11,0x42,0x2e,0x54,0x0, 0xae,0xb,
+0x2a,0x30,0x5e,0x70,0x8f,0x1b,0x2a,0x30,0x7e,0x2f,0x11,0x42,0x2e,0x54,0x0, 0xae,
+0xb, 0x2a,0x30,0x4e,0x70,0x8, 0x1b,0x2a,0x30,0x7e,0xb, 0xa0,0x7c,0xba,0xc4,0x7c,
+0x6b,0x5e,0x60,0x3, 0x1e,0xa0,0x5e,0xa0,0x3, 0x68,0x3, 0x7e,0xa0,0x1, 0x7e,0x70,
+0x2, 0xac,0x67,0xa, 0x2a,0x2d,0x32,0x2e,0x34,0x9c,0x6d,0x7a,0x71,0x82,0x7a,0x61,
+0x83,0xe4,0x93,0xa, 0x2b,0x5e,0x24,0x0, 0x7, 0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,
+0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x5e,0x70,0x8f,0x4d,
+0x32,0x1b,0xa, 0x30,0x22,0x7e,0xb3,0x10,0x58,0x70,0x58,0x7e,0x73,0x10,0x60,0x7e,
+0x63,0x10,0x70,0xe4,0x7a,0xb3,0x10,0x60,0x7a,0xb3,0x10,0x70,0x7e,0xa0,0x1, 0x1a,
+0x2a,0x9, 0xb2,0x10,0x70,0x1a,0x2b,0x1a,0x16,0x9d,0x21,0xa5,0xbd,0x40,0xa, 0x74,
+0x7f,0x1a,0x4a,0x19,0xb4,0x10,0x70,0x80,0xa, 0x7c,0x45,0x3e,0x40,0x1a,0x1a,0x19,
+0x41,0x10,0x70,0x1a,0x1a,0x9, 0x41,0x10,0x60,0x1a,0x14,0x1a,0x7, 0x9d,0x10,0x3e,
+0x14,0x7c,0x43,0x1a,0x1a,0x19,0x41,0x10,0x60,0xb, 0xa0,0xbe,0xa0,0x10,0x78,0xbf,
+0x2, 0x36,0x5f,0x74,0x7f,0x7a,0xb3,0x10,0x4d,0x22,0x7c,0xa7,0x7c,0x3b,0xa5,0xbb,
+0x0, 0x5, 0x7c,0xba,0x2, 0x84,0x2e,0xbe,0x30,0x50,0x40,0x14,0xbe,0x30,0x5d,0x38,
+0xf, 0xa, 0x33,0x1b,0x34,0x7c,0xb7,0xf5,0x5c,0x7c,0xb3,0x7c,0x7a,0x2, 0x7e,0x22,
+0xbe,0x30,0x80,0x40,0x37,0xbe,0x30,0xdb,0x38,0x32,0x9e,0x30,0x80,0xbe,0x30,0x30,
+0x68,0x17,0xa5,0xbb,0xb, 0xc, 0x7e,0x23,0xd, 0xad,0xbc,0x2a,0x68,0xb, 0xd2,0x2,
+0x80,0x7, 0xa5,0xbb,0x2f,0x3, 0x12,0x86,0xf4,0x7c,0xb3,0x7c,0x7a,0x12,0x80,0x0,
+0xa5,0xbb,0x3c,0x5, 0x7c,0xba,0x2, 0x80,0x2d,0x75,0x69,0x1, 0x22,0xca,0xb8,0xca,
+0x39,0x7e,0x35,0x18,0xb, 0x34,0x7a,0x35,0x18,0xe5,0x4f,0xbe,0xb0,0xc8,0x50,0x2,
+0x5, 0x4f,0x7e,0x35,0x18,0xbe,0x34,0x3, 0xe8,0x28,0x13,0x6d,0x33,0x7a,0x35,0x18,
+0x7e,0x35,0x4c,0xbe,0x34,0x3, 0xe8,0x50,0x5, 0xb, 0x34,0x7a,0x35,0x4c,0x7e,0xb3,
+0x1, 0x52,0x60,0x24,0x7e,0xb3,0xd, 0xf2,0x60,0x1e,0x7e,0x37,0x3, 0x24,0xbe,0x37,
+0xb, 0xb6,0x40,0x14,0x7e,0x37,0xb, 0xb6,0xb, 0x34,0x7a,0x37,0xb, 0xb6,0x7e,0x37,
+0xb, 0xb8,0xb, 0x34,0x7a,0x37,0xb, 0xb8,0x12,0x86,0x82,0xda,0x39,0xda,0xb8,0x32,
+0x7e,0xb3,0x1, 0x29,0x60,0x8, 0x74,0x2, 0x7a,0xb3,0x1, 0x5a,0x80,0x6, 0x74,0x1,
+0x7a,0xb3,0x1, 0x5a,0x7a,0xb3,0x1, 0x59,0xd2,0xb, 0x7e,0xb3,0x1, 0x4f,0x60,0x10,
+0x74,0x1, 0x7a,0xb3,0x1, 0x5b,0x7a,0xb3,0x1, 0x5c,0x7a,0xb3,0x1, 0x5d,0x80,0xd,
+0xe4,0x7a,0xb3,0x1, 0x5b,0x7a,0xb3,0x1, 0x5c,0x7a,0xb3,0x1, 0x5d,0x7a,0xb3,0x1,
+0x5e,0x7e,0xb3,0x1, 0x4d,0x60,0xb, 0xe4,0x7a,0xb3,0x1, 0x60,0x7a,0xb3,0x1, 0x61,
+0x80,0xb, 0xe4,0x7a,0xb3,0x1, 0x60,0x7a,0xb3,0x1, 0x61,0x74,0x1, 0x7a,0xb3,0x1,
+0x4e,0x22,0x7e,0xb3,0xd, 0xc7,0xbe,0xb1,0x4e,0x68,0x3, 0x12,0x72,0xa0,0xe5,0x4e,
+0x70,0x3c,0x7e,0x73,0x1, 0xb5,0xbe,0x70,0x0, 0x28,0x7, 0x6d,0x33,0x7a,0x35,0x4c,
+0x80,0x3e,0xe5,0x4e,0x60,0x11,0x7e,0x73,0xd, 0xa9,0xa, 0x37,0xbe,0x35,0x4c,0x50,
+0x6, 0x7e,0xb3,0xd, 0xf2,0x60,0x13,0xe5,0x4e,0x60,0x25,0x7e,0x35,0x4c,0xbe,0x34,
+0x0, 0x2, 0x28,0x1c,0x7e,0xb3,0xd, 0xf2,0x60,0x16,0x74,0x1, 0x80,0xf, 0xe5,0x4e,
+0xb4,0x1, 0xd, 0x7e,0x73,0x1, 0xb5,0xbe,0x70,0x0, 0x28,0x4, 0xe4,0x12,0x72,0xa0,
+0x2, 0x82,0xaf,0x9f,0x0, 0x7e,0xb3,0x1, 0xb5,0x70,0x52,0x7e,0xb3,0x1, 0x4a,0x60,
+0x47,0x7e,0x73,0x9, 0x66,0xa, 0x27,0x7e,0x73,0x9, 0x64,0xa, 0x37,0x9d,0x32,0x6c,
+0x66,0x80,0x1d,0xa, 0x56,0x7e,0x53,0x9, 0x63,0xa, 0x25,0x2d,0x25,0x3e,0x24,0x3e,
+0x24,0x2e,0x27,0x8, 0xf4,0x49,0x52,0x0, 0x2, 0xb, 0x28,0x40,0x2f,0x2, 0xb, 0x60,
+0xbc,0x76,0x38,0xdf,0x7e,0x37,0x1, 0xc7,0x3e,0x34,0x7e,0x24,0x0, 0x3, 0x8d,0x32,
+0x6d,0x22,0xbf,0x1, 0x58,0x7, 0x80,0x0, 0xe4,0x7a,0xb3,0x1, 0xbf,0x22,0x7f,0x60,
+0x7f,0x71,0x7e,0x14,0x0, 0x74,0x7f,0x17,0x12,0x9a,0x71,0x74,0x7, 0x7f,0x51,0x1e,
+0xb4,0x1e,0xa4,0x50,0x4, 0x4e,0xb4,0x80,0x0, 0x14,0x78,0xf3,0x7e,0x14,0x0, 0x54,
+0x7f,0x17,0x12,0x9a,0x71,0x7f,0x1, 0x74,0x7, 0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,
+0x60,0x80,0x14,0x78,0xf4,0xbf,0x65,0x8, 0x3, 0x74,0x80,0x22,0xbf,0x61,0x58,0x2,
+0xe4,0x22,0x74,0x9, 0x7f,0x16,0x2f,0x11,0x14,0x78,0xfb,0x2f,0x0, 0x2f,0x0, 0x9f,
+0x10,0x7f,0x7, 0x12,0x9a,0x7c,0x7c,0xb7,0x22,0x9f,0x0, 0x7e,0x73,0x9, 0x66,0xa,
+0x27,0x7e,0x73,0x9, 0x64,0xa, 0x37,0x9d,0x32,0x6c,0x66,0x80,0x1d,0xa, 0x56,0x7e,
+0x53,0x9, 0x63,0xa, 0x25,0x2d,0x25,0x3e,0x24,0x3e,0x24,0x2e,0x27,0x8, 0xf4,0x49,
+0x52,0x0, 0x2, 0xb, 0x28,0x40,0x2f,0x2, 0xb, 0x60,0xbc,0x76,0x38,0xdf,0x7e,0x1f,
+0x3, 0x30,0xbf,0x10,0x58,0xf, 0xe4,0x7a,0xb3,0x1, 0xb5,0x7e,0xb3,0x1, 0xbf,0x60,
+0x2, 0xd3,0x22,0xc3,0x22,0x7e,0xb3,0x1, 0xb5,0x60,0x6, 0x74,0x1, 0x7a,0xb3,0x1,
+0xbf,0xd3,0x22,0xa9,0xc2,0xea,0x74,0x1, 0x7a,0xb3,0xd, 0xde,0xf5,0x68,0x12,0x83,
+0x73,0x12,0x83,0x8f,0x7e,0x34,0x7, 0xd0,0x12,0x5f,0xf7,0x7e,0x8, 0x9, 0x25,0x12,
+0x1, 0x20,0x7e,0x34,0x0, 0x2, 0x12,0x83,0xaa,0xc2,0x8, 0x12,0x81,0x54,0x12,0x7e,
+0x8c,0x12,0x87,0x26,0x7e,0xb3,0xd, 0xde,0x24,0xfd,0x68,0x10,0x14,0x68,0x12,0x1b,
+0xb1,0x68,0xce,0x24,0x5, 0x78,0xf, 0x12,0x66,0xac,0x80,0xe8,0x12,0x4c,0x47,0x80,
+0xe3,0x12,0x0, 0xa, 0x80,0xde,0x75,0xe9,0xff,0x80,0xd9,0x7e,0xb3,0xf, 0xa5,0xb4,
+0x1, 0x3d,0x7e,0xa3,0xf, 0xa4,0x74,0x4, 0xa4,0x49,0x15,0xf, 0xa8,0x6d,0x0, 0xbe,
+0x8, 0x0, 0x0, 0x68,0x3, 0x12,0x60,0x0, 0x7e,0xb3,0xf, 0xa4,0x4, 0x7a,0xb3,0xf,
+0xa4,0x7e,0x73,0xf, 0xa3,0xbe,0x73,0xf, 0xa4,0x28,0xe, 0x12,0x83,0xfa,0xb4,0x1,
+0x4, 0x74,0x1, 0x80,0x6, 0x74,0x3, 0x80,0x2, 0x74,0x2, 0x7a,0xb3,0xf, 0xa5,0x22,
+0x7d,0xd2,0x6d,0x22,0x9e,0x18,0x0, 0xe5,0x6d,0xcc,0x7e,0x78,0x0, 0xe5,0x7f,0x27,
+0x9f,0x26,0x6e,0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,0x2e,0x28,0x0, 0xe5,
+0x9f,0x71,0x7f,0x17,0xbe,0x28,0x0, 0x0, 0x58,0x4, 0x9f,0x22,0x80,0xa, 0xbe,0x28,
+0x1, 0xca,0x48,0x4, 0x7e,0x28,0x1, 0xc9,0xbe,0x18,0x0, 0x0, 0x58,0x4, 0x9f,0x11,
+0x80,0xa, 0xbe,0x18,0x1, 0xca,0x48,0x4, 0x7e,0x18,0x1, 0xc9,0x1b,0xa, 0x50,0x7d,
+0x13,0x7e,0x1d,0x27,0x1b,0x1a,0x10,0x22,0x7c,0x97,0x7c,0xab,0x7e,0x30,0x4, 0xac,
+0x3a,0x49,0x31,0xa, 0xb4,0x49,0x21,0xa, 0xb2,0x12,0x86,0x6e,0x7f,0x71,0x4c,0x99,
+0x68,0x19,0xe5,0x15,0xa, 0xb, 0xa, 0x1a,0x9d,0x10,0x3e,0x14,0x3e,0x14,0x49,0x31,
+0xa, 0xb4,0x49,0x21,0xa, 0xb2,0x12,0x86,0x6e,0x2f,0x71,0xe5,0xa, 0x14,0xbc,0xb9,
+0x68,0x19,0xe5,0x15,0xa, 0xb, 0xa, 0x1a,0x2d,0x10,0x3e,0x14,0x3e,0x14,0x49,0x31,
+0xa, 0xb4,0x49,0x21,0xa, 0xb2,0x12,0x86,0x6e,0x2f,0x71,0x7f,0x17,0x22,0x53,0xca,
+0xe1,0x43,0xca,0x8, 0x75,0xcf,0x4, 0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xaa,0xb,
+0xa, 0x30,0x5e,0x60,0x3f,0x4e,0x60,0x80,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,
+0x14,0x0, 0xac,0xb, 0xa, 0x30,0x5e,0x70,0xfc,0x4e,0x70,0x1, 0x1b,0xa, 0x30,0x7e,
+0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x4e,0x70,0x80,0x1b,0xa, 0x30,
+0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x4e,0x70,0x1, 0x1b,0xa,
+0x30,0xc2,0xb, 0x22,0x7e,0xb3,0x10,0xed,0x60,0x4a,0x7e,0xb3,0x10,0xec,0xb4,0x3,
+0x6, 0x7e,0xa3,0x0, 0x88,0x80,0x10,0xb4,0x2, 0x6, 0x7e,0xa3,0x0, 0x89,0x80,0x7,
+0xb4,0x1, 0x4, 0x7e,0xa3,0x0, 0x8a,0xbe,0xa1,0x6c,0x28,0x28,0x5, 0x6c,0x7e,0x73,
+0x1, 0xb6,0xbe,0x70,0x0, 0x28,0x3, 0x74,0x1, 0x22,0xe5,0x6c,0xbe,0xb0,0x3, 0x50,
+0x16,0xbe,0x73,0x1, 0xb5,0x28,0x10,0xbe,0x70,0x0, 0x28,0xb, 0x7a,0x73,0x1, 0xb5,
+0x80,0x5, 0x80,0x0, 0x75,0x6c,0x0, 0xe4,0x22,0x7c,0x37,0x7c,0xab,0x7e,0x70,0x4,
+0xac,0x73,0x49,0x23,0xb, 0xbf,0x7e,0x70,0x4, 0xac,0x7a,0x49,0x33,0xb, 0xbf,0x9d,
+0x32,0x12,0x9c,0xec,0x7d,0xd3,0x1a,0x36,0x1a,0xc6,0x7e,0x70,0x4, 0xac,0x73,0x49,
+0x23,0xb, 0xc1,0x74,0x4, 0xa4,0x49,0x35,0xb, 0xc1,0x9d,0x32,0x12,0x9c,0xec,0x7d,
+0xf3,0x1a,0x36,0x1a,0xe6,0x7f,0x16,0x7f,0x6, 0x12,0x9a,0x60,0x7f,0x61,0x7f,0x17,
+0x7f,0x7, 0x12,0x9a,0x60,0x7f,0x71,0x7f,0x16,0x2f,0x17,0x2, 0x71,0x3c,0x1b,0x34,
+0x68,0x1d,0xb, 0x34,0x78,0x44,0x7e,0x18,0x9, 0xc6,0x7a,0x1f,0xa, 0xac,0x7e,0x34,
+0x4, 0x48,0x7a,0x37,0x8, 0xf6,0x7e,0x63,0x0, 0xfa,0x5e,0x60,0x3, 0x80,0x14,0x7e,
+0x18,0xa, 0x22,0x7a,0x1f,0xa, 0xac,0x7e,0x34,0x8, 0x98,0x7a,0x37,0x8, 0xf6,0x7e,
+0x63,0x1, 0x16,0x5e,0x60,0x3, 0x7c,0xb6,0xc4,0x54,0xf0,0x7c,0x6b,0x7e,0x73,0x9,
+0x25,0x5e,0x70,0xcf,0x4c,0x76,0x7a,0x73,0x9, 0x25,0x7e,0x8, 0x9, 0x25,0x2, 0x73,
+0xf7,0xca,0xf8,0x7e,0xb3,0x1, 0x51,0x60,0x48,0x7e,0xb3,0x1, 0x27,0xb4,0x1, 0xd,
+0x7e,0xb3,0x11,0x49,0xbe,0xb0,0x0, 0x28,0x4, 0xc2,0xf, 0x80,0x34,0x6c,0xff,0x7c,
+0xbf,0x12,0x70,0x9e,0x7c,0xab,0x4c,0xaa,0x78,0x7, 0xb, 0xf0,0xbe,0xf0,0x3, 0x40,
+0xee,0x4c,0xaa,0x68,0x7, 0xd2,0xf, 0x75,0x64,0x1, 0x80,0x15,0xe5,0x64,0xbe,0xb0,
+0x0, 0x28,0xe, 0x5, 0x64,0xe5,0x64,0xbe,0xb0,0x14,0x40,0x5, 0xc2,0xf, 0x75,0x64,
+0x0, 0xda,0xf8,0x22,0x30,0x1, 0x3, 0x2, 0x7c,0xc2,0x70,0x5, 0x7e,0xb3,0xd, 0x60,
+0x22,0xbe,0xb0,0x50,0x40,0x8, 0xbe,0xb0,0x5d,0x38,0x3, 0x2, 0x6f,0x7d,0xbe,0xb0,
+0x5a,0x38,0x17,0xbe,0xb0,0xe, 0x50,0xf, 0xa, 0x3b,0x30,0xe, 0x5, 0x9, 0xb3,0x10,
+0xf1,0x22,0x9, 0xb3,0x10,0xff,0x22,0x74,0xff,0x22,0xbe,0xb0,0x80,0x40,0xc, 0xbe,
+0xb0,0xdb,0x38,0x7, 0xa, 0x3b,0x9, 0xb3,0xd, 0x22,0x22,0xb4,0xfc,0x5, 0x7e,0xb3,
+0xd, 0xde,0x22,0x74,0xff,0x22,0x7c,0xab,0x7e,0xb3,0x1, 0x28,0x60,0xf, 0x7e,0xb3,
+0xd, 0xad,0x60,0x9, 0x4c,0xaa,0x78,0x5, 0x12,0x82,0x3e,0x80,0x1f,0x7e,0xb3,0x1,
+0x29,0x60,0x10,0x4c,0xaa,0x78,0xc, 0x20,0x9, 0x4, 0xe5,0x66,0x60,0x5, 0x12,0x82,
+0x18,0x80,0x9, 0x6d,0x33,0x7e,0x24,0x4, 0x48,0x12,0x82,0xd2,0x7e,0xb3,0x1, 0x27,
+0x60,0xb, 0x7e,0x34,0x0, 0x1, 0x7e,0x24,0x8, 0x98,0x2, 0x82,0xd2,0x22,0xca,0xf8,
+0x7e,0xf3,0x1, 0xc0,0x4c,0xff,0x68,0x3a,0xbe,0xf0,0x1, 0x78,0xe, 0xc2,0x8, 0x7e,
+0x34,0x7, 0xd0,0x12,0x5f,0xf7,0x12,0x0, 0xe, 0x80,0x8, 0xbe,0xf0,0x3, 0x78,0x3,
+0x12,0x87,0x26,0xe4,0x7a,0xb3,0x1, 0xc0,0x7e,0x8, 0xf, 0x19,0x7e,0x73,0x9, 0xc3,
+0xa, 0x37,0x12,0x9c,0xda,0x7e,0x8, 0xe, 0xeb,0x7e,0x73,0x9, 0xc3,0xa, 0x37,0x12,
+0x9c,0xda,0xda,0xf8,0x22,0x7c,0x97,0x7c,0xab,0x7e,0x30,0x4, 0xac,0x3a,0x49,0x31,
+0xa, 0xb4,0x49,0x21,0xa, 0xb2,0x12,0x86,0x6e,0x7f,0x71,0x4c,0x99,0x68,0x12,0x7e,
+0x30,0x4, 0xac,0x3a,0x49,0x31,0xa, 0xb0,0x49,0x21,0xa, 0xae,0x12,0x86,0x6e,0x2f,
+0x71,0xe5,0x15,0x14,0xbc,0xb9,0x68,0x10,0x74,0x4, 0xa4,0x49,0x35,0xa, 0xb8,0x49,
+0x25,0xa, 0xb6,0x12,0x86,0x6e,0x2f,0x71,0x7f,0x17,0x22,0x7e,0x8, 0x1, 0x66,0x7e,
+0x34,0x0, 0x5b,0xe4,0x12,0x9c,0xda,0x6c,0xaa,0x7e,0x30,0x5, 0xac,0x3a,0x2e,0x14,
+0x1, 0x66,0x6d,0x0, 0x12,0x86,0xe2,0xbe,0xa0,0x2, 0x50,0x1c,0x7e,0x30,0x5, 0xac,
+0x3a,0x2e,0x14,0x1, 0x7a,0x6d,0x0, 0x12,0x86,0xe2,0x7e,0x30,0x5, 0xac,0x3a,0x2e,
+0x14,0x1, 0x84,0x6d,0x0, 0x12,0x86,0xe2,0xb, 0xa0,0xbe,0xa0,0x4, 0x40,0xca,0x22,
+0x7d,0x13,0x7e,0xb3,0x3, 0x2f,0x60,0xa, 0x7e,0x37,0x0, 0xd2,0xbd,0x32,0x78,0x2,
+0xe4,0x22,0x7e,0x37,0x3, 0x1a,0xbd,0x31,0x38,0xc, 0x7e,0x37,0x1, 0xc9,0x9e,0x37,
+0x3, 0x1a,0xbd,0x31,0x50,0x3, 0x74,0x1, 0x22,0x7e,0x37,0x3, 0x1c,0xbd,0x32,0x38,
+0xc, 0x7e,0x37,0x1, 0xcb,0x9e,0x37,0x3, 0x1c,0xbd,0x32,0x50,0x3, 0x74,0x1, 0x22,
+0xe4,0x22,0x90,0xb4,0x12,0xe4,0x93,0x7a,0xb3,0xd, 0xca,0x7e,0x37,0x1, 0xc3,0xbe,
+0x34,0x63,0x9c,0x28,0x8, 0x74,0xff,0x7a,0xb3,0xd, 0xa2,0x80,0xa, 0x7e,0x24,0x0,
+0x64,0x8d,0x32,0x7a,0x73,0xd, 0xa2,0x7e,0x37,0x1, 0xc7,0xbe,0x34,0x63,0x9c,0x28,
+0x7, 0x74,0xff,0x7a,0xb3,0xd, 0xcb,0x22,0x7e,0x24,0x0, 0x64,0x8d,0x32,0x7a,0x73,
+0xd, 0xcb,0x22,0x90,0xb4,0xcf,0xe4,0x93,0xa, 0x3b,0xbe,0x34,0x0, 0xa, 0x58,0x4,
+0x7e,0x34,0x0, 0xa, 0x1a,0x26,0x1a,0x24,0x74,0xf, 0x2f,0x11,0x14,0x78,0xfb,0x7e,
+0x8, 0x3, 0xe8,0x12,0x9a,0xcd,0xd2,0xc8,0xa9,0xc0,0xcd,0xa9,0xd0,0x9e,0x7c,0xb6,
+0xf5,0x9d,0xa9,0xd0,0x9e,0x7c,0xb7,0xf5,0x9c,0xc2,0x88,0xa9,0xd0,0xb7,0xd2,0xb8,
+0xc2,0xa8,0x22,0xca,0xf8,0x6c,0xff,0x80,0x2e,0x7e,0x18,0x0, 0x25,0x7a,0x1d,0x27,
+0x74,0x5, 0xac,0xbf,0x49,0x35,0x1, 0x66,0x49,0x25,0x1, 0x68,0x7e,0x8, 0x0, 0x23,
+0x12,0x78,0x0, 0x7e,0x45,0x23,0x74,0x5, 0xac,0xbf,0x59,0x45,0x1, 0x66,0x7e,0x35,
+0x25,0x59,0x35,0x1, 0x68,0xb, 0xf0,0x7e,0x73,0x1, 0xb5,0xbc,0x7f,0x38,0xca,0xda,
+0xf8,0x22,0x7e,0x27,0xc, 0x9b,0x7d,0x32,0x3e,0x34,0x3e,0x34,0xb, 0x34,0xbe,0x37,
+0x11,0x4b,0x40,0x2a,0x7e,0x37,0x11,0x4b,0xb, 0x34,0x7a,0x37,0x11,0x4b,0xbe,0x34,
+0x0, 0x1, 0x78,0x5, 0x7e,0xb3,0xd, 0xf5,0x22,0xbe,0x34,0x0, 0x2, 0x78,0x3, 0x7c,
+0xb5,0x22,0x9e,0x34,0x0, 0x3, 0x2e,0x37,0xb, 0xbb,0x7e,0x39,0xb0,0x22,0x74,0xff,
+0x22,0x7e,0xa3,0x9, 0xc3,0x7e,0xb3,0x1, 0xc0,0x70,0x4, 0xe5,0x1e,0x60,0x2e,0xe4,
+0x7a,0xb3,0x1, 0xc0,0x75,0x1e,0x0, 0x6c,0x77,0x80,0x1e,0x7e,0x30,0x2, 0xac,0x37,
+0x49,0x21,0x4, 0x48,0x59,0x21,0x4, 0xa4,0x9f,0x0, 0x7e,0x50,0x4, 0xac,0x57,0x59,
+0x12,0x3, 0x92,0x59,0x2, 0x3, 0x90,0xb, 0x70,0xbc,0xa7,0x38,0xde,0x22,0xd2,0xcf,
+0xbe,0xb0,0x7, 0x38,0x4, 0x7c,0xab,0x80,0x2, 0x6c,0xaa,0x75,0xcb,0x8e,0x4e,0xa0,
+0x30,0x7c,0xba,0x42,0xcc,0x0, 0x0, 0x0, 0x0, 0x75,0xcf,0x4, 0xa9,0xc5,0xcb,0xa9,
+0xd0,0xca,0x53,0xca,0xf1,0x43,0xca,0x28,0x75,0xc8,0x88,0xe5,0x54,0xb4,0x1, 0x6,
+0x43,0xc8,0x2, 0x43,0xd8,0x60,0x0, 0x0, 0x0, 0x0, 0x22,0xca,0xf8,0x7e,0x57,0xc,
+0x9b,0x12,0x5a,0xda,0x7c,0xfb,0x12,0x5c,0xb2,0x60,0x2, 0x80,0x26,0x7e,0x37,0xc,
+0x9b,0x7a,0x35,0x23,0x7e,0x8, 0xb, 0xbf,0x7e,0x18,0xc, 0x81,0x12,0x48,0x0, 0xb4,
+0x54,0x7, 0xbe,0xf0,0x2, 0x28,0x2, 0x74,0x31,0xb4,0x53,0x7, 0xbe,0xf0,0x2, 0x28,
+0x2, 0x74,0x32,0xda,0xf8,0x22,0x9f,0x11,0x6c,0x22,0x80,0x12,0x7e,0x10,0x2, 0xac,
+0x12,0x2e,0x7, 0x8, 0xf6,0xb, 0x8, 0x50,0x6d,0x44,0x2f,0x12,0xb, 0x20,0x7e,0x33,
+0x9, 0xc3,0xbc,0x32,0x38,0xe6,0xa, 0x13,0x6d,0x0, 0x12,0x9a,0x7c,0x9e,0x18,0x3a,
+0xc0,0x7e,0x8, 0x0, 0x4, 0x12,0x9a,0xcd,0x7a,0x1d,0x50,0x22,0xca,0xf8,0x7c,0xfb,
+0x74,0xff,0xbe,0x8, 0x0, 0x0, 0x8, 0x27,0x7e,0x4d,0x24,0xbe,0x48,0x0, 0x0, 0x8,
+0x1e,0xbf,0x4, 0x8, 0xd, 0x12,0x76,0xae,0x7a,0xb3,0x11,0x4d,0x1a,0x5f,0x1b,0x55,
+0x80,0xd, 0x7f,0x4, 0x12,0x76,0xae,0x7a,0xb3,0x11,0x4d,0xa, 0x5f,0xb, 0x55,0xda,
+0xf8,0x22,0x7c,0x6b,0x7e,0xb3,0xe, 0x4, 0x70,0x9, 0x7a,0x63,0xe, 0x4, 0xe4,0x7a,
+0xb3,0xe, 0x3, 0xa, 0x26,0x2e,0x24,0x9c,0xbc,0x7a,0x51,0x82,0x7a,0x41,0x83,0xe4,
+0x93,0xbe,0xb3,0xe, 0x3, 0x28,0xf, 0x7e,0xb3,0xe, 0x3, 0xa, 0x2b,0x19,0x72,0xe,
+0x5, 0x4, 0x7a,0xb3,0xe, 0x3, 0x22,0x7e,0x73,0xe, 0x4, 0xbe,0x70,0x50,0x40,0x2b,
+0xbe,0x70,0x5d,0x38,0x26,0xa, 0x37,0x2e,0x34,0x9c,0xbc,0x7a,0x71,0x82,0x7a,0x61,
+0x83,0xe4,0x93,0xbe,0xb3,0xe, 0x3, 0x38,0x12,0x7e,0xb3,0xd, 0xde,0xf5,0x68,0x7e,
+0xb3,0xd, 0x60,0xf5,0x67,0x74,0x6, 0x7a,0xb3,0xd, 0xde,0x22,0x53,0x1f,0x7f,0x7e,
+0xb3,0x1, 0x27,0x60,0x1e,0x7e,0xa3,0xd, 0xde,0xbe,0xa0,0x3, 0x78,0x6, 0xe5,0x1f,
+0x54,0x3, 0x68,0x5, 0xbe,0xa0,0x3, 0x68,0xa, 0x7e,0x34,0x0, 0x1, 0x12,0x79,0xae,
+0x12,0x4e,0xd5,0x6d,0x33,0x12,0x79,0xae,0x12,0x4e,0xd5,0x43,0x1f,0x80,0x22,0x7e,
+0xb, 0xb0,0x1e,0xb0,0x54,0x3, 0x14,0x68,0x10,0x14,0x68,0x13,0x14,0x68,0x16,0x24,
+0x3, 0x78,0x16,0x7e,0x34,0x10,0x4, 0x80,0x10,0x7e,0x34,0x50,0x45,0x80,0xa, 0x7e,
+0x34,0xf1,0x56,0x80,0x4, 0x7e,0x34,0xf3,0xff,0x7e,0xf, 0x11,0x42,0x1b,0xa, 0x30,
+0x22,0x7e,0x34,0x0, 0x8, 0xca,0x39,0x7e,0x18,0x9, 0x28,0x7e,0x8, 0x0, 0xef,0x12,
+0x9c,0xb5,0x1b,0xfd,0x7e,0x73,0x9, 0x30,0x7a,0x73,0x1, 0x13,0x7e,0xb3,0x9, 0x26,
+0x54,0x1f,0x7a,0xb3,0x0, 0xee,0x7e,0xb3,0x9, 0x25,0xc4,0x54,0x3, 0x7a,0xb3,0x0,
+0xfa,0x22,0xa, 0x56,0x1e,0x54,0xf5,0xf1,0x7d,0x53,0x1e,0x54,0xf5,0xf2,0x75,0xf3,
+0x80,0x75,0xf4,0x0, 0x75,0xf5,0x83,0xa9,0x37,0xf5,0xfc,0xa9,0x36,0xf5,0xfc,0x7e,
+0xa1,0xf6,0xe5,0xf6,0x43,0xfa,0x80,0x7d,0x43,0x5e,0x44,0x0, 0x1, 0x78,0x3, 0x7c,
+0xba,0x22,0x22,0x6c,0xaa,0x7e,0x44,0x7f,0xff,0x7e,0x70,0x4, 0xac,0x7a,0x59,0x43,
+0xe, 0x8f,0x59,0x43,0xe, 0x91,0x6d,0x33,0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0xe,
+0x85,0x7e,0x34,0x1, 0x0, 0x59,0x32,0xe, 0x8b,0xb, 0xa0,0xbe,0xa0,0x2, 0x40,0xd5,
+0xd2,0xd, 0x22,0x7e,0x18,0x4, 0x48,0x7a,0x1f,0x11,0x1e,0x7e,0x18,0x5, 0x0, 0x7a,
+0x1f,0x11,0x12,0x7e,0x18,0x5, 0x5c,0x7a,0x1f,0x11,0x16,0x7e,0x1f,0xa, 0xac,0x7a,
+0x1f,0x11,0x1a,0x75,0x1f,0x0, 0x7e,0x73,0x9, 0xc3,0xa, 0x37,0x7a,0x37,0x11,0x10,
+0x22,0x7c,0x6b,0x7e,0xb3,0x1, 0xb5,0x60,0x5, 0x14,0x7a,0xb3,0x1, 0xb5,0xa5,0xbe,
+0x0, 0x1c,0xa5,0xbf,0x2, 0x18,0x7e,0x73,0x1, 0x9b,0x7a,0x73,0x1, 0x9a,0x7e,0x1f,
+0x1, 0x6c,0x7e,0x33,0x1, 0x6b,0x7a,0x1f,0x1, 0x67,0x7a,0x33,0x1, 0x66,0x22,0x7f,
+0x70,0x69,0x37,0x0, 0x2, 0xb, 0x7a,0x20,0xe5,0x11,0xa, 0x1b,0x6d,0x0, 0x12,0x9a,
+0x60,0x7e,0x8, 0x0, 0x64,0x12,0x9a,0xcd,0x79,0x37,0x0, 0x2, 0x1b,0x7a,0x20,0x22,
+0x7c,0x6b,0x2e,0x60,0xe1,0x68,0x25,0x1b,0x60,0x68,0x21,0x2e,0x60,0xfd,0x68,0x1c,
+0x2e,0x60,0xfd,0x68,0x17,0x1b,0x61,0x68,0x13,0x2e,0x60,0xf9,0x68,0xe, 0x80,0x0,
+0xa, 0x2b,0x19,0x72,0xd, 0xa2,0x74,0x1, 0x7a,0xb3,0xd, 0xe2,0x22,0x24,0xab,0x68,
+0xe, 0x24,0xab,0x78,0x20,0x75,0x69,0x5, 0x7e,0x34,0x1, 0xf4,0x2, 0x5f,0xf7,0x7e,
+0x34,0x1, 0xf4,0x12,0x5f,0xf7,0xe5,0x69,0xb4,0x5, 0xd, 0x7e,0x34,0x0, 0x1, 0x12,
+0x83,0xaa,0x2, 0x67,0xf4,0x75,0x69,0x1, 0x22,0x6d,0x11,0x7e,0x1f,0x11,0x42,0x1b,
+0x1a,0x10,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xaa,0xb, 0xa, 0x30,0x5e,0x60,0xdf,
+0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x5e,0x70,
+0xf7,0x1b,0xa, 0x30,0x22,0x7e,0xb3,0x0, 0xc3,0x70,0x7, 0x74,0x1, 0x7a,0xb3,0x0,
+0xc3,0x22,0x20,0xf, 0x19,0x90,0xb6,0x63,0xe4,0x93,0x7a,0xb3,0x0, 0xc5,0x90,0xb6,
+0x64,0xe4,0x93,0x7a,0xb3,0x0, 0xc6,0x7e,0x8, 0x4, 0xa4,0x2, 0x47,0x80,0x22,0x7e,
+0x8, 0x9, 0x25,0x12,0x7e,0xbf,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xaa,0xb, 0xa,
+0x30,0x4e,0x60,0x20,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb,
+0xa, 0x30,0x4e,0x70,0x8, 0x1b,0xa, 0x30,0x22,0xca,0xf8,0x7c,0xab,0x7e,0xb3,0xd,
+0x60,0xc4,0x54,0x7, 0x78,0x9, 0x7c,0xba,0x12,0x7a,0x54,0x7c,0xfb,0x80,0xe, 0xb4,
+0x4, 0x9, 0x7c,0xba,0x12,0x54,0x97,0x7c,0xfb,0x80,0x2, 0x6c,0xff,0x7c,0xbf,0xda,
+0xf8,0x22,0x7d,0x52,0x7d,0x43,0x7d,0x35,0x1a,0x26,0x1a,0x24,0x7f,0x1, 0x12,0x9a,
+0x60,0x7f,0x71,0x7d,0x34,0x1a,0x26,0x1a,0x24,0x7f,0x1, 0x12,0x9a,0x60,0x2f,0x17,
+0x7c,0xb4,0x12,0x97,0x94,0x12,0x98,0xe, 0x2, 0x97,0xd1,0xbe,0x34,0x0, 0x1f,0x28,
+0x22,0xbe,0x34,0x3, 0x64,0x28,0x4, 0x7e,0x34,0x3, 0x64,0x7d,0x13,0x9e,0x14,0x0,
+0x20,0x7e,0x4, 0x0, 0x1b,0x8d,0x10,0x7d,0x1, 0xb, 0x4, 0x7e,0x14,0x0, 0x5, 0xad,
+0x10,0x2d,0x31,0x22,0xe4,0x7a,0xb3,0xf, 0xa3,0x7a,0xb3,0xf, 0xa4,0x7a,0xb3,0xf,
+0xa5,0x74,0xff,0x7a,0xb3,0xf, 0xf6,0x6d,0x33,0x6c,0xaa,0x7e,0x50,0x4, 0xac,0x5a,
+0x59,0x32,0xf, 0xa8,0xb, 0xa0,0xbe,0xa0,0x14,0x40,0xf0,0x22,0x6c,0xaa,0x7e,0x70,
+0x3, 0x7e,0x50,0x6, 0xac,0x5a,0x19,0x72,0x1, 0x93,0x74,0x3, 0x19,0xb2,0x1, 0x92,
+0x7e,0x34,0x7f,0xff,0x59,0x32,0x1, 0x8e,0x59,0x32,0x1, 0x90,0xb, 0xa0,0xbe,0xa0,
+0x2, 0x40,0xdb,0x22,0x6c,0xaa,0x7e,0x90,0x6, 0xac,0x9a,0x9, 0xb4,0x1, 0x93,0x19,
+0xb4,0x1, 0x92,0xb, 0xa0,0xbe,0xa0,0x2, 0x40,0xec,0x7e,0x73,0x1, 0xb5,0x7a,0x73,
+0x1, 0xb6,0x7e,0x73,0x1, 0xb7,0x7a,0x73,0x1, 0xb8,0x22,0x7e,0x73,0xd, 0xcf,0x2e,
+0x70,0xff,0x92,0x9, 0x7e,0xb3,0x1, 0x28,0x60,0x17,0x30,0x2, 0x14,0x80,0x4, 0xe4,
+0x12,0x82,0x64,0x12,0x17,0xcc,0x50,0xf7,0xe4,0x12,0x87,0xa4,0x12,0x84,0x14,0xc2,
+0x2, 0x22,0xe4,0x7a,0xb3,0xd, 0x7c,0x7a,0xb3,0xd, 0x66,0xe5,0x1f,0x54,0x3, 0x68,
+0x16,0x75,0x1f,0x0, 0x12,0x62,0x9e,0x12,0x7e,0xf1,0x7e,0x8, 0x9, 0x25,0x12,0x1,
+0x20,0x12,0x7e,0x8c,0x2, 0x87,0x26,0x22,0x7e,0x33,0x1, 0x40,0xbe,0x30,0xa, 0x28,
+0x3, 0x7e,0x30,0xa, 0x6c,0x22,0x80,0x11,0x7e,0x34,0x0, 0x2, 0x74,0x2, 0xac,0xb2,
+0x49,0x25,0x0, 0x6d,0x12,0x82,0xd2,0xb, 0x20,0xbc,0x32,0x38,0xeb,0x22,0x6c,0x33,
+0xbe,0x30,0x8, 0x50,0x6, 0x7e,0x23,0x10,0xe5,0x80,0x4, 0x7e,0x23,0x10,0xe6,0xa,
+0x32,0x74,0x2, 0xac,0xb3,0x49,0x25,0x0, 0x6d,0x12,0x82,0xd2,0xb, 0x30,0xbe,0x30,
+0xa, 0x40,0xdd,0x22,0x70,0x5, 0x43,0x87,0x1, 0x80,0x1a,0xb4,0x1, 0xb, 0xa9,0xd0,
+0xce,0xa9,0xd7,0xc9,0x43,0x87,0x2, 0x80,0xc, 0xb4,0x2, 0xd, 0xa9,0xd0,0xce,0xa9,
+0xc7,0xc9,0x43,0x87,0x2, 0x0, 0x0, 0x0, 0x0, 0x22,0xa9,0xd6,0xeb,0x70,0xf, 0xa9,
+0xc6,0xac,0xa9,0xc6,0xec,0xa9,0xd7,0xcd,0xc2,0x96,0xc2,0x95,0x80,0x7, 0xa9,0xd4,
+0xcd,0xd2,0x96,0xd2,0x95,0xc2,0x88,0xd2,0xb8,0xa9,0xd0,0xb7,0xd2,0xa8,0x22,0xe5,
+0x4e,0x14,0x68,0x14,0x4, 0x78,0x17,0x80,0x4, 0xe4,0x12,0x82,0x64,0x7e,0x73,0xd,
+0xaa,0xbe,0x71,0x4f,0x38,0xf3,0x80,0x6, 0x12,0x0, 0x6, 0x12,0xf, 0x50,0x75,0x4f,
+0x0, 0x22,0x7d,0x43,0x7e,0xa3,0xf, 0xa3,0xbe,0xa0,0x14,0x50,0x16,0x7e,0x70,0x4,
+0xac,0x7a,0x59,0x43,0xf, 0xa6,0x59,0x23,0xf, 0xa8,0x7c,0xba,0x4, 0x7a,0xb3,0xf,
+0xa3,0xc3,0x22,0xd3,0x22,0xa9,0xc4,0xa6,0xd2,0xce,0x90,0xb4,0x11,0xe4,0x93,0xf5,
+0x92,0xa9,0xd0,0xf7,0xd2,0xf8,0xa9,0xd5,0xb7,0xd2,0xbd,0xd2,0xad,0xd2,0xe8,0xc2,
+0xc0,0xa9,0xd3,0xdc,0xa9,0xd0,0xdb,0x22,0x7f,0x70,0x69,0x37,0x0, 0x2, 0xb, 0x7a,
+0x20,0xe5,0xb, 0xa, 0x1b,0x6d,0x0, 0x12,0x9a,0x60,0x7e,0x8, 0x0, 0x64,0x12,0x9a,
+0xcd,0x79,0x37,0x0, 0x2, 0x1b,0x7a,0x20,0x22,0xa9,0xd5,0xcb,0x75,0xfd,0x5, 0xe5,
+0xfe,0x54,0xf8,0xf5,0x54,0xe5,0x54,0xb4,0xa8,0x5, 0x75,0x54,0x0, 0x80,0x3, 0x75,
+0x54,0x1, 0xa9,0xc5,0xcb,0x22,0xc2,0x8e,0xe5,0x89,0x54,0xf, 0x44,0x20,0xf5,0x89,
+0x75,0x8d,0x1, 0x75,0x8b,0x0, 0xa9,0xc3,0xb7,0xd2,0xbb,0xd2,0x8e,0xd2,0xab,0xa9,
+0xd1,0xdc,0x22,0x12,0x83,0x39,0xe4,0x12,0x7d,0x3e,0x12,0x86,0x2c,0x12,0x87,0x43,
+0x12,0x83,0x56,0x12,0x87,0x82,0x12,0x87,0x16,0x12,0x1f,0xef,0xd2,0xaf,0x22,0x12,
+0x3a,0xe, 0x12,0x34,0x4d,0x12,0x87,0xdc,0x12,0x55,0x9a,0x12,0x50,0x0, 0x12,0x84,
+0x7c,0x12,0x27,0xeb,0x12,0x86,0xbc,0x2, 0x2f,0xb4,0x7d,0x43,0x80,0xe, 0x74,0xfa,
+0x12,0x86,0x59,0x12,0x86,0x59,0x12,0x86,0x59,0x12,0x86,0x59,0x7d,0x54,0x1b,0x44,
+0x4d,0x55,0x78,0xea,0x22,0x7d,0xf0,0x7d,0xe1,0x7d,0x12,0x1a,0x26,0x1a,0x24,0x12,
+0x9a,0x71,0x7d,0x1e,0x6d,0x0, 0x12,0x9a,0xcd,0x7d,0x1f,0x6d,0x0, 0x2f,0x10,0x22,
+0x7e,0xb3,0x1, 0xb6,0x70,0x13,0x7e,0x17,0x1, 0xc5,0x6d,0x0, 0x7e,0x1f,0x3, 0x30,
+0xbf,0x1, 0x8, 0x5, 0xe4,0x7a,0xb3,0x1, 0xb5,0x22,0xe4,0x7e,0xa3,0xf, 0xa3,0xbe,
+0xa3,0xf, 0xa4,0x28,0xe, 0x7e,0xa3,0xf, 0xa4,0x74,0x4, 0xa4,0x49,0x55,0xf, 0xa6,
+0x2, 0x84,0xc7,0x22,0xe4,0x7a,0xb3,0xf, 0xa5,0x7a,0xb3,0xf, 0xa4,0x12,0x83,0xfa,
+0xb4,0x1, 0x4, 0x74,0x1, 0x80,0x2, 0x74,0x3, 0x7a,0xb3,0xf, 0xa5,0x22,0x7a,0xb3,
+0xd, 0x60,0xc4,0x54,0x7, 0xb4,0x4, 0x4, 0x74,0x3, 0x80,0x7, 0x60,0x3, 0xb4,0x1,
+0x6, 0x74,0x1, 0x7a,0xb3,0xd, 0xde,0x22,0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xc5,0xc9,
+0xd2,0xaf,0xa9,0xd0,0xcd,0xc2,0xa8,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xd2,
+0xaf,0x22,0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xd5,0xc9,0xd2,0xaf,0xa9,0xd0,0xcd,0xd2,
+0xa8,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd7,0x9e,0xd2,0xaf,0x22,0x7e,0x34,0x4, 0x48,
+0x7a,0x37,0x8, 0xf6,0x7e,0x34,0x4, 0xa4,0x7a,0x37,0x8, 0xf8,0x7e,0x34,0x3, 0x90,
+0x7a,0x37,0x8, 0xf4,0x22,0x7d,0x40,0x7d,0x51,0x7d,0x3, 0x7d,0x32,0x9d,0x34,0x12,
+0x9c,0xec,0x7d,0x13,0x7d,0x30,0x9d,0x35,0x12,0x9c,0xec,0x2d,0x31,0x22,0x7c,0x6b,
+0x7e,0xb3,0xd, 0x60,0xc4,0x54,0x7, 0x78,0x5, 0x7c,0xb6,0x2, 0x74,0xca,0xb4,0x4,
+0x5, 0x7c,0xb6,0x2, 0x5e,0x83,0x22,0x7e,0xa3,0xf, 0xf6,0xbc,0xab,0x68,0xa, 0x20,
+0x0, 0x7, 0x7a,0xb3,0xf, 0xf6,0x12,0x43,0xe, 0x12,0x78,0xae,0x74,0x1, 0x22,0x7e,
+0x34,0x0, 0xa, 0xca,0x39,0x7e,0x34,0xb7,0x12,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x0,
+0x81,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,0x34,0x0, 0x7, 0xca,0x39,0x7e,0x34,0xb7,
+0xa, 0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x0, 0x8b,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,
+0x34,0x0, 0xa, 0xca,0x39,0x7e,0x34,0xb6,0xaa,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x0,
+0xca,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,0x34,0x0, 0x1e,0xca,0x39,0x7e,0x34,0xb6,
+0x8c,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x10,0xb7,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,
+0x34,0x0, 0x6, 0xca,0x39,0x7e,0x34,0xb7,0x1c,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x1,
+0x3f,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,0x34,0x0, 0x14,0xca,0x39,0x7e,0x34,0xb6,
+0xf6,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x1, 0x2b,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,
+0x34,0x0, 0xb, 0xca,0x39,0x7e,0x34,0xb6,0x56,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x2,
+0xef,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,0x34,0x0, 0x36,0xca,0x39,0x7e,0x34,0xb6,
+0xb4,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x2, 0xfa,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,
+0x34,0x0, 0x2, 0xca,0x39,0x7e,0x34,0xb7,0x22,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0xa,
+0xb0,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0xb4,0xd3,0x12,0x7e,0xb3,0xd, 0x60,0xc4,0x54,
+0x7, 0x78,0x9, 0xd2,0x1, 0x6d,0x33,0x7a,0x37,0x11,0x4b,0x22,0xc2,0x1, 0x22,0x7d,
+0x41,0x7d,0x12,0x1a,0x26,0x1a,0x24,0x1a,0x2, 0x1a,0x0, 0x12,0x9a,0x60,0x7d,0x14,
+0x1a,0x2, 0x1a,0x0, 0x2, 0x9a,0xcd,0x30,0xf, 0xa, 0x74,0x2, 0x7a,0xb3,0x1, 0xb5,
+0x75,0x63,0x26,0x22,0x75,0x63,0x0, 0x74,0x25,0x7a,0xb3,0xd, 0xf5,0x22,0x6d,0x33,
+0x7a,0x37,0xb, 0xb6,0x7a,0x37,0xc, 0x9b,0x7a,0x37,0xb, 0xbd,0x7a,0x37,0xc, 0x99,
+0x7a,0x37,0xc, 0x9d,0x22,0x7e,0x8, 0xe, 0x5, 0x7e,0x34,0x0, 0x80,0x74,0xff,0x12,
+0x9c,0xda,0xe4,0x7a,0xb3,0xe, 0x4, 0x7a,0xb3,0xe, 0x3, 0x22,0x75,0xeb,0x3, 0xa9,
+0xd6,0xac,0xa9,0xd6,0xec,0xd2,0x86,0x75,0xed,0x3, 0x75,0xad,0x3, 0x75,0x94,0x0,
+0xd2,0x87,0x22,0x74,0x1, 0x7a,0xb3,0x0, 0xc3,0x7e,0xb3,0x1, 0x50,0x60,0x9, 0x90,
+0xb6,0x68,0xe4,0x93,0x7a,0xb3,0x0, 0xc4,0x22,0x7c,0xab,0x80,0x8, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x7c,0x7a,0x1b,0xa0,0xa5,0xbf,0x0, 0xf0,0x22,0x7f,0x1,
+0x7e,0x37,0x1, 0xc1,0x1a,0x26,0x1a,0x24,0xbf,0x1, 0x8, 0x3, 0x7f,0x10,0x22,0x9f,
+0x11,0x22,0x7e,0x35,0x1a,0xb, 0x34,0x7a,0x35,0x1a,0x7e,0x35,0x1c,0xbe,0x35,0x1a,
+0x28,0x3, 0x2, 0x87,0xae,0x22,0x12,0x6, 0x28,0x53,0xca,0xf1,0x7e,0x73,0xd, 0x7a,
+0xa, 0x37,0x3e,0x34,0x7c,0xb7,0x42,0xca,0x22,0xe5,0x4e,0xb4,0x1, 0xd, 0x7e,0x73,
+0x1, 0xb5,0xbe,0x70,0x0, 0x28,0x4, 0xe4,0x2, 0x72,0xa0,0x22,0x7e,0x8, 0x10,0xe9,
+0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,0xda,0x74,0x1, 0x7a,0xb3,0x10,0xea,0x22,0xa9,
+0xd4,0xcd,0xd2,0x96,0xd2,0x95,0xc2,0x88,0xd2,0xb8,0xa9,0xd0,0xb7,0xd2,0xa8,0xc2,
+0xad,0x22,0x7e,0x34,0x7f,0xff,0x1b,0xa, 0x30,0x79,0x30,0x0, 0x2, 0x74,0xff,0x39,
+0xb0,0x0, 0x4, 0x22,0x30,0x4, 0x8, 0x74,0x1, 0x12,0x87,0xc1,0xc2,0x4, 0x22,0xe4,
+0x12,0x87,0xc1,0xd2,0x4, 0x22,0xe5,0x54,0x70,0x5, 0x53,0xc8,0xc5,0x80,0x3, 0x53,
+0xc8,0xc7,0x53,0xcb,0x10,0x22,0xc2,0xc6,0xd2,0xee,0x43,0xdb,0x40,0xa9,0xd6,0xf7,
+0xc2,0xfe,0xa9,0xd6,0xdb,0x22,0xe4,0x12,0x5b,0xc7,0x7e,0x8, 0x4, 0xa4,0x7e,0x18,
+0x4, 0x48,0x2, 0x63,0x73,0xbd,0x32,0x58,0x3, 0x7d,0x32,0x22,0xbd,0x31,0x8, 0x2,
+0x7d,0x31,0x22,0x75,0xb7,0x0, 0x75,0xb8,0x0, 0x75,0xf7,0x0, 0x75,0xf8,0x0, 0x22,
+0xa9,0xd5,0xea,0xa9,0xc4,0xcb,0x75,0xa6,0x0, 0xa9,0xc1,0xcd,0x22,0xa9,0xd4,0xcb,
+0x75,0xa6,0x10,0xa9,0xd1,0xcd,0xa9,0xc5,0xea,0x22,0x75,0x4e,0x0, 0x6d,0x33,0x7a,
+0x35,0x4c,0x75,0x4f,0x0, 0x22,0x7e,0xb3,0x1, 0xb5,0x60,0x5, 0xe4,0x7a,0xb3,0x0,
+0xc3,0x22,0xa9,0xd1,0x99,0x75,0x9a,0xfe,0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0x74,0x1,
+0x7a,0xb3,0x0, 0xec,0x7a,0xb3,0x9, 0x24,0x22,0xc2,0x95,0xc2,0x96,0xc2,0x90,0xc2,
+0xe9,0xd2,0xad,0x22,0x7c,0x3b,0x12,0x81,0x54,0x7c,0xb3,0x2, 0x7a,0xa6,0xe5,0x9a,
+0x60,0x5, 0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0x7d,0x12,0x6d,0x0, 0x6d,0x22,0x9f,0x10,
+0x22,0x70,0x3, 0xd2,0x86,0x22,0xc2,0x86,0x22,0x43,0xc8,0xc9,0x43,0xcb,0x8e,0x22,
+0x12,0x17,0xcc,0x50,0xfb,0x22,0x12,0x17,0xcc,0x50,0xfb,0x22,0xe4,0x7a,0xb3,0x1,
+0x5f,0x22,0x43,0xdb,0x2, 0xd2,0xe9,0x22,0x50,0x40,0x0, 0xe6,0xf4,0x2, 0x4, 0x2,
+0x10,0x16,0x10,0xf8,0xe4,0xd8,0xd8,0xe2,0xf6,0x2, 0x0, 0x18,0x20,0xa, 0x8, 0x1c,
+0x18,0x2, 0xee,0xe8,0xf4,0x8, 0x1a,0x2c,0x2e,0x2a,0x50,0x40,0x0, 0xfa,0xfe,0x8,
+0xe, 0xa, 0x2, 0xf2,0xe2,0xd8,0xd8,0xda,0xea,0x2, 0x10,0x18,0x0, 0x14,0x6, 0x14,
+0x4, 0xf0,0xe2,0xe2,0xee,0x4, 0x18,0x2e,0x3a,0x36,0x30,0x2e,0x50,0x40,0x0, 0xea,
+0xfa,0x2, 0x8, 0x18,0x1c,0x16,0x2, 0xec,0xe0,0xde,0xe6,0xfc,0xc, 0x16,0x0, 0x22,
+0x20,0xe, 0x1a,0x16,0x4, 0xf2,0xf2,0xfa,0xa, 0x1e,0x32,0x3a,0x34,0x30,0x50,0x40,
+0x0, 0xea,0xfc,0xfe,0xf8,0x4, 0xe, 0x6, 0xea,0xd6,0xd2,0xd8,0xf0,0xa, 0xc, 0xc,
+0x0, 0x1c,0x2, 0x2, 0x20,0x24,0xa, 0xec,0xee,0x2, 0x1a,0x34,0x3c,0x24,0xa, 0x2,
+0x65,0x32,0x0, 0x14,0x22,0x28,0x2c,0x2a,0x24,0x18,0xc, 0xfe,0x4, 0x10,0x1a,0x28,
+0x34,0x3a,0x0, 0xf0,0xf4,0xfc,0xa, 0x16,0x22,0x30,0x38,0x3c,0x3a,0x38,0x38,0x38,
+0x38,0x38,0x65,0x32,0x0, 0x10,0x1c,0x28,0x2e,0x2c,0x2c,0x28,0x20,0x1c,0x12,0x16,
+0x24,0x2e,0x38,0x3e,0x0, 0xe4,0xdc,0xe0,0xe8,0xf2,0xfc,0x4, 0x10,0x1a,0x24,0x24,
+0x1e,0x1c,0x18,0x16,0x65,0x32,0x0, 0x22,0x32,0x3a,0x3c,0x38,0x36,0x30,0x28,0x1c,
+0xe, 0xe, 0x20,0x2c,0x36,0x40,0x0, 0xe8,0xe8,0xf0,0xfc,0xc, 0x1a,0x26,0x34,0x40,
+0x4a,0x54,0x56,0x52,0x50,0x4c,0x65,0x32,0x0, 0x14,0x22,0x28,0x2a,0x28,0x24,0x1e,
+0x16,0xc, 0x10,0x1e,0x28,0x30,0x3a,0x40,0x0, 0xf2,0xf4,0xfa,0x2, 0xc, 0x18,0x22,
+0x2e,0x3a,0x3e,0x3a,0x3a,0x38,0x36,0x36,0x60,0x33,0x0, 0x22,0x30,0x34,0x30,0x1c,
+0xa, 0xc, 0x20,0x32,0x3e,0x3a,0x2c,0x18,0xa, 0x2, 0x0, 0xf0,0xf8,0x8, 0x1a,0x2a,
+0x2c,0x2c,0x2c,0x32,0x44,0x58,0x66,0x6c,0x6e,0x70,0x60,0x33,0x0, 0x1c,0x1c,0x12,
+0x8, 0xe, 0x18,0x24,0x30,0x3a,0x3e,0x3a,0x32,0x22,0x18,0x12,0x0, 0xe, 0x1a,0x26,
+0x32,0x2e,0x2e,0x2e,0x34,0x40,0x4a,0x56,0x64,0x74,0x7a,0x7f,0x60,0x33,0x0, 0x1c,
+0x1c,0xc, 0x2, 0xe, 0x1a,0x26,0x2a,0x2a,0x24,0x18,0xc, 0xfe,0xf6,0xf0,0x0, 0x8,
+0x16,0x24,0x2c,0x2c,0x2c,0x34,0x40,0x4c,0x54,0x5c,0x60,0x62,0x66,0x66,0x61,0x36,
+0x0, 0xdc,0xd4,0xce,0xcc,0xce,0xda,0xec,0xfc,0x8, 0xa, 0x0, 0xf4,0xe4,0xd8,0xd0,
+0x0, 0x22,0x34,0x48,0x58,0x6a,0x76,0x78,0x74,0x64,0x58,0x4a,0x42,0x42,0x42,0x46,
+0x61,0x36,0x0, 0xe8,0xda,0xca,0xc4,0xc0,0xc0,0xca,0xd6,0xe2,0xee,0xee,0xe4,0xd4,
+0xc8,0xc2,0x0, 0x6, 0xe, 0x1e,0x2a,0x34,0x3e,0x44,0x42,0x3e,0x38,0x2c,0x26,0x26,
+0x28,0x2a,0x61,0x36,0x0, 0xe4,0xda,0xd0,0xca,0xcc,0xd8,0xe6,0xf4,0x0, 0x6, 0xfc,
+0xee,0xe2,0xd2,0xcc,0x0, 0x10,0x1c,0x28,0x36,0x44,0x4a,0x48,0x42,0x3a,0x2e,0x26,
+0x24,0x24,0x26,0x2c,0x63,0x37,0x0, 0x16,0x22,0x30,0x3a,0x3c,0x36,0x30,0x2c,0x2a,
+0x26,0x24,0x22,0x20,0x1e,0x1e,0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x16,0x24,0x30,0x3e,
+0x4a,0x56,0x62,0x6c,0x74,0x7c,0x63,0x37,0x0, 0x10,0x1c,0x26,0x30,0x38,0x3c,0x34,
+0x30,0x2c,0x28,0x28,0x24,0x22,0x22,0x22,0x0, 0xfe,0xfe,0xfe,0xfe,0xfe,0x4, 0xa,
+0x14,0x20,0x2c,0x34,0x40,0x4a,0x54,0x5a,0x64,0x38,0x0, 0xce,0xc6,0xca,0xd8,0xee,
+0xfa,0x2, 0xf2,0xdc,0xc8,0xca,0xda,0xf2,0x0, 0x6, 0x0, 0x4, 0x14,0x28,0x36,0x42,
+0x50,0x66,0x76,0x76,0x6a,0x56,0x42,0x2e,0x20,0x1a,0x64,0x38,0x0, 0xca,0xd0,0xec,
+0x0, 0x8, 0xfc,0xe8,0xd2,0xcc,0xd6,0xf0,0x2, 0x6, 0xf4,0xee,0x0, 0x1c,0x2e,0x3c,
+0x50,0x66,0x7a,0x7c,0x76,0x60,0x48,0x36,0x20,0xa, 0x2, 0x2, 0x64,0x38,0x0, 0x10,
+0x20,0x30,0x2e,0x20,0xe, 0xfc,0xf8,0x4, 0x18,0x26,0x2e,0x1c,0xc, 0x6, 0x0, 0x22,
+0x2c,0x3a,0x4a,0x50,0x52,0x4a,0x3e,0x28,0x1c,0x16,0xc, 0xfe,0xfe,0xfe,0x64,0x38,
+0x0, 0x2c,0x3a,0x34,0x20,0xc, 0xfe,0x4, 0x16,0x28,0x38,0x3a,0x28,0x16,0x8, 0x6,
+0x0, 0xee,0xf8,0xe, 0x22,0x2e,0x38,0x4e,0x5c,0x5a,0x48,0x32,0x24,0x1a,0xa, 0x2,
+0x64,0x38,0x0, 0xe, 0x14,0x10,0x2, 0xf2,0xee,0xfc,0xc, 0x1a,0x26,0x28,0x1a,0xc,
+0x0, 0xfc,0x0, 0x1e,0x2c,0x38,0x3c,0x36,0x2c,0x1e,0x16,0xe, 0x4, 0xf8,0xf4,0xf4,
+0xf8,0xfe,0x36,0x61,0x0, 0xe4,0xd2,0xcc,0xcc,0xd4,0xe4,0xf0,0xf8,0xfc,0xfc,0xf8,
+0xf8,0xfc,0x4, 0xa, 0x0, 0xf8,0x8, 0x1a,0x24,0x2c,0x26,0x18,0xc, 0x2, 0x0, 0x10,
+0x22,0x2e,0x32,0x32,0x36,0x61,0x0, 0xe6,0xd6,0xce,0xc2,0xc0,0xc0,0xc6,0xd0,0xda,
+0xe4,0xee,0xf4,0xf0,0xf0,0xf6,0x0, 0xf6,0xfc,0x4, 0xe, 0x18,0x22,0x30,0x3a,0x34,
+0x2c,0x1c,0x16,0x24,0x30,0x34,0x36,0x61,0x0, 0xe8,0xd8,0xcc,0xc2,0xc4,0xcc,0xd8,
+0xe8,0xf6,0xfc,0xf2,0xe8,0xe4,0xea,0xf4,0x0, 0xf2,0xf6,0x2, 0x14,0x24,0x2c,0x28,
+0x1e,0xe, 0x6, 0xc, 0x1a,0x28,0x34,0x38,0x42,0x62,0x0, 0xf6,0xf4,0xee,0xf0,0xfe,
+0xe, 0x1e,0x22,0x1e,0x14,0x6, 0xf4,0xe6,0xe8,0xee,0x0, 0x18,0x26,0x34,0x38,0x2a,
+0x24,0x28,0x36,0x44,0x4e,0x50,0x4c,0x46,0x3c,0x3a,0x42,0x62,0x0, 0xfc,0xfa,0xf8,
+0xf6,0xf8,0xfc,0xc, 0x1e,0x30,0x34,0x2e,0x20,0xe, 0xfe,0xf8,0x0, 0x26,0x32,0x42,
+0x58,0x54,0x40,0x32,0x30,0x3a,0x4e,0x5c,0x68,0x68,0x62,0x5e,0x42,0x62,0x0, 0x4,
+0x6, 0x8, 0x8, 0xa, 0xc, 0x10,0x1c,0x2e,0x3a,0x3c,0x32,0x20,0x10,0xa, 0x0, 0x20,
+0x36,0x42,0x56,0x64,0x76,0x6a,0x5c,0x58,0x5c,0x6c,0x78,0x7c,0x7e,0x7e,0x42,0x62,
+0x0, 0xf4,0xf0,0xec,0xe8,0xe2,0xe2,0xe8,0xf4,0xa, 0x1c,0x1c,0x12,0x0, 0xf2,0xec,
+0x0, 0x2e,0x42,0x54,0x66,0x76,0x74,0x62,0x52,0x4a,0x4e,0x62,0x70,0x7a,0x7e,0x7e,
+0x34,0x63,0x0, 0xf0,0xde,0xd2,0xca,0xc8,0xc8,0xc8,0xca,0xce,0xd6,0xe2,0xec,0xf8,
+0x2, 0x8, 0x0, 0xf8,0xfc,0x8, 0x12,0x1e,0x28,0x30,0x3c,0x48,0x54,0x5a,0x5a,0x56,
+0x4c,0x48,0x34,0x63,0x0, 0xe4,0xd8,0xce,0xc6,0xc0,0xc0,0xc0,0xc0,0xc2,0xc4,0xc8,
+0xd0,0xd8,0xde,0xe4,0x0, 0x12,0x20,0x2a,0x38,0x44,0x50,0x56,0x5e,0x66,0x6c,0x74,
+0x78,0x7a,0x7a,0x76,0x34,0x63,0x0, 0xee,0xe2,0xd4,0xcc,0xc4,0xc2,0xc2,0xc2,0xc6,
+0xce,0xdc,0xea,0xf4,0xfc,0x0, 0x0, 0xec,0xee,0xf4,0xfc,0xa, 0x14,0x20,0x2a,0x36,
+0x40,0x46,0x44,0x3c,0x32,0x2a,0x34,0x63,0x0, 0xec,0xe0,0xd2,0xc8,0xc2,0xc0,0xc0,
+0xc2,0xc8,0xd2,0xdc,0xe6,0xf0,0xf4,0xf8,0x0, 0xf6,0xf4,0xf6,0xfe,0x8, 0x12,0x1e,
+0x2a,0x36,0x3c,0x3e,0x3c,0x36,0x2e,0x28,0x34,0x63,0x0, 0xe6,0xda,0xce,0xc6,0xc0,
+0xc0,0xc0,0xc4,0xcc,0xda,0xe6,0xf2,0xf6,0xfc,0x0, 0x0, 0xea,0xea,0xee,0xf6,0x2,
+0xc, 0x16,0x22,0x2c,0x34,0x32,0x2c,0x24,0x1a,0x14,0x34,0x63,0x0, 0xec,0xe2,0xd4,
+0xcc,0xc6,0xc2,0xc2,0xc6,0xd0,0xd8,0xe6,0xf0,0xf8,0xfc,0x0, 0x0, 0xf8,0xfa,0xfe,
+0x4, 0xc, 0x16,0x24,0x30,0x36,0x38,0x36,0x32,0x2c,0x24,0x1e,0x34,0x63,0x0, 0xf8,
+0xf4,0xee,0xe6,0xda,0xd0,0xc6,0xc0,0xc0,0xc2,0xc6,0xd0,0xdc,0xe8,0xec,0x0, 0xf8,
+0xf4,0xf4,0xf4,0xf6,0xfe,0x6, 0x12,0x1e,0x28,0x2e,0x32,0x32,0x30,0x2e,0x34,0x63,
+0x0, 0xfa,0xf8,0xf4,0xf0,0xea,0xe2,0xd8,0xce,0xc6,0xc0,0xc0,0xc2,0xc8,0xd4,0xd6,
+0x0, 0xfa,0xf6,0xf4,0xf0,0xf0,0xf0,0xf2,0xf8,0x0, 0x8, 0x12,0x1e,0x28,0x2e,0x30,
+0x37,0x64,0x0, 0xd8,0xe0,0xf0,0xfc,0x4, 0x8, 0xe, 0xe, 0x6, 0x0, 0xfc,0xfa,0xfc,
+0xc, 0x16,0x0, 0x14,0x2c,0x20,0xa, 0xf2,0xe2,0xca,0xc6,0xda,0xf0,0x6, 0x1c,0x36,
+0x3a,0x3a,0x37,0x64,0x0, 0xce,0xcc,0xd6,0xec,0xfc,0x2, 0x6, 0x8, 0xa, 0x6, 0x2,
+0x2, 0x2, 0x6, 0x8, 0x0, 0xf8,0xe, 0x28,0x2a,0x12,0x0, 0xea,0xd0,0xbe,0xd0,0xe8,
+0xfe,0x14,0x26,0x30,0x37,0x64,0x0, 0xe2,0xe6,0xf6,0x4, 0xc, 0x10,0x1a,0x1e,0x18,
+0x12,0xe, 0xc, 0xc, 0x10,0x14,0x0, 0x10,0x20,0x1e,0xc, 0xfa,0xec,0xd6,0xc2,0xce,
+0xe0,0xf0,0x2, 0x14,0x20,0x28,0x33,0x65,0x0, 0x1e,0x2c,0x34,0x2a,0x1e,0x12,0x6,
+0xfc,0xf6,0xf8,0x0, 0xe, 0x1a,0x26,0x2e,0x0, 0xfe,0xfa,0xf2,0xe4,0xe2,0xe4,0xe8,
+0xf0,0x0, 0xe, 0x1a,0x20,0x1c,0x16,0x12,0x33,0x65,0x0, 0x20,0x24,0x20,0x12,0xa,
+0x0, 0xfe,0xfe,0xfe,0x2, 0xa, 0x14,0x24,0x34,0x3e,0x0, 0xea,0xe0,0xd2,0xce,0xd4,
+0xe2,0xf2,0xfc,0x8, 0x14,0x1c,0x1c,0x18,0xc, 0x4, 0x33,0x65,0x0, 0x8, 0x18,0x2c,
+0x30,0x24,0x16,0x6, 0xfc,0xf2,0xf2,0xf2,0xf4,0x2, 0x12,0x1e,0x0, 0x10,0x10,0x2,
+0xf0,0xe0,0xe2,0xec,0xfa,0xc, 0x1c,0x2e,0x3c,0x4a,0x50,0x4e,0x33,0x65,0x0, 0x1a,
+0x2a,0x30,0x2e,0x24,0x1a,0xc, 0xfe,0xf4,0xf2,0xf2,0xfa,0x8, 0x14,0x1a,0x0, 0x0,
+0xfc,0xee,0xdc,0xd4,0xd4,0xd8,0xe2,0xf0,0x0, 0xe, 0x18,0x1c,0x1c,0x1c,0x33,0x65,
+0x0, 0x18,0x22,0x26,0x28,0x26,0x1c,0xe, 0x2, 0xf8,0xf4,0xf4,0xfa,0x8, 0x22,0x34,
+0x0, 0xee,0xe4,0xd8,0xd0,0xbe,0xbc,0xc0,0xc6,0xd2,0xe2,0xa, 0x18,0x1a,0xe, 0x8,
+0x33,0x65,0x0, 0x1a,0x26,0x28,0x1e,0x10,0x4, 0xf6,0xec,0xec,0xec,0xf0,0xfc,0xc,
+0x16,0x1c,0x0, 0xfc,0xfa,0xee,0xe4,0xe2,0xe4,0xe8,0xf4,0x2, 0xe, 0x1a,0x26,0x2c,
+0x30,0x30,0x33,0x65,0x0, 0x16,0x20,0x2a,0x30,0x2a,0x22,0x18,0x14,0x12,0x12,0x18,
+0x22,0x2e,0x38,0x3e,0x0, 0xf4,0xee,0xe2,0xda,0xd0,0xd2,0xdc,0xea,0xf4,0xfe,0x8,
+0xe, 0xe, 0xc, 0xc, 0x33,0x65,0x0, 0x4, 0x10,0x20,0x2e,0x38,0x3e,0x3c,0x2e,0x18,
+0x6, 0x0, 0x4, 0x16,0x30,0x38,0x0, 0xfc,0xf8,0xf0,0xe2,0xce,0xbe,0xb0,0xb6,0xc8,
+0xea,0x2, 0xc, 0xa, 0xfc,0xf6,0x33,0x65,0x0, 0x4, 0xe, 0x1e,0x2c,0x38,0x3e,0x3c,
+0x2e,0x20,0x18,0x14,0x18,0x24,0x34,0x38,0x0, 0x2, 0x6, 0x2, 0xfa,0xee,0xe4,0xe0,
+0xe4,0xf2,0x0, 0xa, 0x12,0x1c,0x20,0x20,0x33,0x65,0x0, 0xa, 0x1c,0x2a,0x32,0x36,
+0x34,0x30,0x1c,0xe, 0x2, 0xf8,0xf8,0xfc,0x4, 0x8, 0x0, 0xfc,0xf6,0xee,0xe6,0xde,
+0xdc,0xdc,0xe0,0xe8,0xf6,0x6, 0xe, 0x14,0x1a,0x1c,0x35,0x67,0x0, 0xce,0xc6,0xc8,
+0xd0,0xe2,0xf6,0xfe,0xfc,0xf8,0xf6,0xf4,0xea,0xda,0xc8,0xc2,0x0, 0xfc,0x10,0x22,
+0x32,0x32,0x26,0x12,0x12,0x2c,0x42,0x5a,0x6a,0x70,0x6a,0x64,0x35,0x67,0x0, 0xde,
+0xcc,0xc8,0xca,0xd6,0xe4,0xf2,0xfe,0xfc,0xfa,0xf6,0xea,0xda,0xcc,0xc4,0x0, 0xe8,
+0xf0,0xfe,0xe, 0x1c,0x20,0x1a,0xe, 0x16,0x28,0x34,0x44,0x4c,0x4a,0x44,0x35,0x67,
+0x0, 0xda,0xd6,0xe8,0xf2,0xf6,0xf6,0xf4,0xf0,0xea,0xe6,0xd8,0xc8,0xc0,0xcc,0xd4,
+0x0, 0x4, 0x18,0x1a,0x8, 0xc, 0x1a,0x2a,0x3a,0x4e,0x5e,0x72,0x74,0x64,0x56,0x52,
+0x35,0x67,0x0, 0xd8,0xd6,0xe4,0xf6,0x0, 0x6, 0x6, 0x6, 0x6, 0x2, 0xf8,0xe8,0xd2,
+0xc8,0xc8,0x0, 0x24,0x3c,0x4a,0x3e,0x2c,0x18,0x26,0x3a,0x48,0x5c,0x72,0x7c,0x7a,
+0x70,0x68,0x70,0x68,0x0, 0x0, 0xfe,0xfe,0xfe,0xfe,0xfe,0x0, 0x6, 0x12,0x24,0x36,
+0x3c,0x3c,0x3a,0x3a,0x0, 0x24,0x36,0x42,0x56,0x64,0x70,0x60,0x52,0x3e,0x3a,0x48,
+0x58,0x6a,0x78,0x7f,0x70,0x68,0x0, 0xee,0xe8,0xe4,0xe2,0xde,0xde,0xe4,0xf2,0x4,
+0x10,0x1a,0x1a,0x18,0x18,0x16,0x0, 0x20,0x36,0x48,0x5a,0x68,0x70,0x62,0x50,0x44,
+0x44,0x50,0x5e,0x6a,0x76,0x7f,0x34,0x3c,0x0, 0xf0,0xe4,0xda,0xd2,0xcc,0xc6,0xc2,
+0xca,0xd2,0xdc,0xe6,0xee,0xf8,0xfe,0x2, 0x0, 0x6, 0xa, 0x10,0x16,0x1c,0x20,0x26,
+0x2c,0x34,0x36,0x3a,0x40,0x48,0x4e,0x50,0x52,0x3e,0x0, 0x10,0x18,0x1e,0x2a,0x32,
+0x3a,0x3e,0x36,0x2c,0x24,0x1e,0x16,0xe, 0x6, 0x4, 0x0, 0x8, 0xe, 0x12,0x16,0x1a,
+0x20,0x26,0x2c,0x32,0x38,0x38,0x3e,0x42,0x46,0x4a,0x52,0x3e,0x0, 0xe, 0x16,0x1c,
+0x26,0x2e,0x34,0x3a,0x3e,0x3c,0x3a,0x32,0x28,0x1c,0x14,0xe, 0x0, 0x2, 0x2, 0x4,
+0x8, 0xc, 0x10,0x14,0x1c,0x24,0x2a,0x2e,0x34,0x3e,0x42,0x46,0x52,0x3e,0x0, 0xc,
+0x18,0x20,0x26,0x26,0x20,0x14,0xc, 0x6, 0x0, 0xfa,0xf4,0xee,0xea,0xee,0x0, 0x6,
+0x10,0x18,0x1c,0x22,0x24,0x2a,0x32,0x36,0x3c,0x42,0x4a,0x4e,0x54,0x4e,0x53,0x5e,
+0x0, 0x6, 0xa, 0xe, 0x12,0x14,0x18,0x1c,0x22,0x26,0x28,0x2c,0x32,0x38,0x3c,0x3e,
+0x0, 0xf0,0xe8,0xde,0xd8,0xd2,0xca,0xc2,0xc6,0xcc,0xd2,0xda,0xe6,0xf2,0xf8,0xfc,
+0x54,0x76,0x0, 0x4, 0x8, 0xc, 0x12,0x14,0x18,0x1c,0x22,0x28,0x2c,0x30,0x36,0x3a,
+0x3e,0x3e,0x0, 0xc, 0x18,0x20,0x26,0x2c,0x34,0x3e,0x3a,0x32,0x2a,0x20,0x18,0xe,
+0x8, 0x4, 0x54,0x76,0x0, 0x0, 0x0, 0x2, 0x6, 0xa, 0xe, 0x12,0x16,0x1a,0x1e,0x24,
+0x2c,0x34,0x40,0x40,0x0, 0x6, 0x1a,0x2a,0x3e,0x4e,0x5e,0x6c,0x74,0x76,0x72,0x6c,
+0x5e,0x4e,0x3e,0x3e,0x71,0x6b,0x0, 0xf6,0xf2,0xee,0xec,0xf4,0x2, 0xe, 0x1a,0x14,
+0x8, 0xfa,0x4, 0x14,0x22,0x2a,0x0, 0x22,0x30,0x3e,0x3c,0x2e,0x1e,0x1a,0x1c,0x2c,
+0x32,0x34,0x3c,0x48,0x50,0x54,0x71,0x6b,0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x6, 0x1a,
+0x2a,0x2e,0x24,0xe, 0x12,0x28,0x36,0x40,0x0, 0x3c,0x56,0x6c,0x68,0x58,0x40,0x2c,
+0x30,0x44,0x56,0x58,0x5a,0x6c,0x78,0x7f,0x71,0x6b,0x0, 0xf6,0xf2,0xec,0xe8,0xe8,
+0xec,0xf4,0x0, 0x4, 0xf8,0xf4,0x0, 0x12,0x1e,0x28,0x0, 0x22,0x32,0x42,0x50,0x56,
+0x4a,0x3c,0x32,0x3a,0x44,0x46,0x48,0x4e,0x52,0x56,0x44,0x4c,0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x6, 0xe, 0x16,0x20,0x2a,0x32,0x3a,0x40,0x0, 0x12,0x20,0x2a,
+0x34,0x3c,0x46,0x50,0x54,0x52,0x52,0x54,0x54,0x56,0x56,0x58,0x32,0x6d,0x0, 0x8,
+0xc, 0x12,0x16,0x18,0x1c,0x22,0x2a,0x2c,0x30,0x34,0x36,0x3a,0x3c,0x3e,0x0, 0xe2,
+0xd8,0xca,0xd0,0xe2,0xec,0xec,0xde,0xd0,0xc8,0xc6,0xd4,0xe2,0xec,0xf2,0x32,0x6d,
+0x0, 0x8, 0x10,0x1a,0x22,0x22,0x20,0x1c,0x1c,0x22,0x26,0x2c,0x38,0x3e,0x3e,0x3e,
+0x0, 0xdc,0xce,0xc4,0xce,0xda,0xe8,0xf6,0xfc,0xec,0xdc,0xce,0xcc,0xda,0xec,0xfa,
+0x32,0x6d,0x0, 0x0, 0x2, 0x4, 0x8, 0xe, 0x16,0x1a,0x18,0x18,0x20,0x28,0x30,0x38,
+0x3c,0x40,0x0, 0x26,0x38,0x2c,0x1a,0x6, 0xfe,0x14,0x28,0x1c,0xa, 0xf8,0x2, 0x14,
+0x26,0x30,0x32,0x6d,0x0, 0x0, 0x2, 0x4, 0xa, 0x18,0x1c,0x1c,0x1e,0x24,0x2c,0x3a,
+0x3e,0x3e,0x3e,0x3e,0x0, 0x2a,0x28,0x14,0x4, 0xfe,0xc, 0x1e,0x22,0x12,0x0, 0xf8,
+0x2, 0x16,0x26,0x30,0x32,0x6d,0x0, 0x0, 0x2, 0x6, 0xe, 0x10,0x12,0x12,0x12,0x14,
+0x20,0x2c,0x32,0x38,0x3e,0x40,0x0, 0xe6,0xca,0xb0,0xa2,0xa4,0xac,0xbe,0xcc,0xcc,
+0xba,0xaa,0xaa,0xbe,0xd2,0xd6,0x32,0x6d,0x0, 0xa, 0xe, 0xc, 0xa, 0x12,0x1e,0x24,
+0x22,0x20,0x22,0x2c,0x38,0x3e,0x3c,0x3c,0x0, 0x8, 0x1e,0x2e,0x36,0x22,0xa, 0x4,
+0x1a,0x30,0x2c,0x10,0x0, 0x4, 0x22,0x2c,0x32,0x6d,0x0, 0x4, 0xc, 0x16,0x18,0x18,
+0x1c,0x1e,0x24,0x2e,0x3a,0x3e,0x3e,0x3e,0x3e,0x3e,0x0, 0xb6,0x98,0xac,0xcc,0xee,
+0xe0,0xc8,0xa2,0x8e,0x9c,0xb2,0xce,0xf0,0x2, 0xa, 0x32,0x6d,0x0, 0xa, 0xc, 0xa,
+0xe, 0x18,0x20,0x24,0x26,0x30,0x38,0x3e,0x3c,0x3a,0x3a,0x3a,0x0, 0xe, 0x1c,0x2c,
+0x20,0x14,0xe, 0x12,0x1c,0x12,0x8, 0x12,0x2a,0x40,0x4e,0x54,0x40,0x6e,0x0, 0x2,
+0xfe,0xfc,0x0, 0x6, 0xe, 0x16,0x24,0x34,0x3a,0x36,0x32,0x2e,0x2e,0x2e,0x0, 0x32,
+0x46,0x54,0x42,0x2e,0x1c,0xc, 0x0, 0x0, 0x10,0x22,0x32,0x46,0x58,0x60,0x30,0x6f,
+0x0, 0xea,0xde,0xdc,0xdc,0xe0,0xe8,0xf2,0x0, 0xa, 0x14,0x1a,0x18,0x10,0x8, 0x2,
+0x0, 0xa, 0x18,0x24,0x2e,0x38,0x3e,0x3e,0x3a,0x36,0x2a,0x1a,0x10,0x6, 0x2, 0x2,
+0x30,0x6f,0x0, 0x18,0x1e,0x1e,0x1a,0x12,0x6, 0xf8,0xec,0xe2,0xe0,0xe0,0xe2,0xec,
+0xf8,0x0, 0x0, 0xf2,0xe6,0xd8,0xc6,0xba,0xb8,0xbc,0xc6,0xd8,0xe4,0xf0,0xfc,0x6,
+0x8, 0x6, 0x30,0x6f,0x0, 0xe6,0xe0,0xde,0xe0,0xe8,0xf2,0xfe,0xa, 0x16,0x1c,0x1c,
+0x18,0x12,0x8, 0x2, 0x0, 0xf6,0xee,0xe0,0xd4,0xc8,0xc0,0xbe,0xbe,0xc6,0xd2,0xe0,
+0xec,0xfa,0x2, 0x2, 0x30,0x6f,0x0, 0xe4,0xd2,0xc8,0xc4,0xc4,0xc8,0xd8,0xe4,0xf6,
+0xfe,0x2, 0x2, 0xfe,0xf8,0xf6,0x0, 0xe8,0xf4,0x2, 0x14,0x20,0x34,0x44,0x44,0x36,
+0x28,0x18,0xa, 0xf8,0xec,0xe6,0x30,0x6f,0x0, 0xec,0xe8,0xe8,0xf0,0x0, 0xc, 0x14,
+0x1a,0x1a,0x14,0x6, 0xf6,0xea,0xe0,0xde,0x0, 0x28,0x44,0x54,0x64,0x64,0x52,0x40,
+0x2c,0x1e,0x6, 0xf2,0xfa,0xa, 0x2c,0x44,0x30,0x6f,0x0, 0xf2,0xf2,0xf4,0x0, 0xc,
+0x14,0x20,0x2c,0x2e,0x30,0x2c,0x1c,0x10,0x6, 0xfe,0x0, 0x10,0x1e,0x2a,0x32,0x34,
+0x32,0x2c,0x20,0x14,0xa, 0x0, 0xf2,0xf2,0xf4,0xfc,0x30,0x6f,0x0, 0xe4,0xde,0xde,
+0xe2,0xec,0xf8,0x4, 0x14,0x1c,0x1c,0x1a,0x16,0xc, 0x4, 0xfe,0x0, 0xc, 0x16,0x22,
+0x30,0x3a,0x3e,0x3c,0x36,0x2a,0x20,0x14,0x8, 0x0, 0x0, 0x0, 0x30,0x6f,0x0, 0x18,
+0x20,0x20,0x1c,0x16,0xa, 0xfc,0xf2,0xe6,0xe2,0xe2,0xe6,0xf2,0xfc,0x2, 0x0, 0xa,
+0x16,0x22,0x30,0x3a,0x40,0x42,0x3e,0x34,0x28,0x1c,0xe, 0x4, 0x0, 0x0, 0x30,0x6f,
+0x0, 0xfa,0xf0,0xe4,0xd8,0xca,0xc4,0xc4,0xc6,0xcc,0xd8,0xe8,0xf4,0xfe,0x0, 0x2,
+0x0, 0x18,0x20,0x24,0x24,0x1e,0x12,0x4, 0xf6,0xe6,0xde,0xde,0xe4,0xf2,0xfc,0x4,
+0x30,0x6f,0x0, 0x4, 0x12,0x20,0x2a,0x34,0x3c,0x3e,0x38,0x32,0x26,0x1a,0xc, 0x0,
+0x0, 0x0, 0x0, 0x1a,0x24,0x26,0x22,0x1a,0xc, 0xfe,0xee,0xe6,0xde,0xde,0xe2,0xf0,
+0xfc,0x2, 0x30,0x6f,0x0, 0x8, 0x16,0x28,0x34,0x3a,0x3e,0x3e,0x3a,0x32,0x24,0x16,
+0x8, 0x2, 0x0, 0x0, 0x0, 0xe4,0xd6,0xd6,0xdc,0xe8,0xf6,0x2, 0x10,0x1c,0x22,0x24,
+0x1e,0x12,0x6, 0xfe,0x30,0x6f,0x0, 0xf6,0xea,0xde,0xd6,0xcc,0xc6,0xc6,0xca,0xd4,
+0xe4,0xf0,0xfc,0x2, 0x4, 0x4, 0x0, 0xea,0xe6,0xe6,0xea,0xf6,0x0, 0xc, 0x1a,0x26,
+0x28,0x24,0x1e,0x12,0xa, 0x4, 0x30,0x6f,0x0, 0xfc,0x4, 0x10,0x2c,0x36,0x38,0x34,
+0x28,0x14,0x2, 0xfc,0x0, 0x8, 0x14,0x18,0x0, 0xd0,0xc2,0xba,0xbc,0xc6,0xd8,0xf2,
+0x8, 0x12,0x10,0x0, 0xea,0xd4,0xc8,0xc6,0x30,0x6f,0x0, 0xf8,0xc, 0x22,0x2e,0x2c,
+0x2a,0x22,0x18,0x2, 0xf4,0xf0,0xf2,0xf6,0xfe,0x0, 0x0, 0xd8,0xcc,0xce,0xe8,0xfe,
+0x10,0x1c,0x28,0x2a,0x1e,0xe, 0xf6,0xe6,0xdc,0xda,0x30,0x6f,0x0, 0xf0,0xee,0xf2,
+0x2, 0x14,0x20,0x28,0x2c,0x28,0x1e,0x10,0xfe,0xf2,0xee,0xee,0x0, 0xe2,0xce,0xbe,
+0xba,0xbe,0xc6,0xd4,0xe6,0xf8,0x4, 0x8, 0x8, 0x2, 0xf4,0xf0,0x30,0x6f,0x0, 0xf0,
+0xf0,0xf8,0xc, 0x1e,0x28,0x2c,0x26,0x18,0x8, 0xf6,0xf0,0xee,0xee,0xee,0x0, 0xe8,
+0xd6,0xc4,0xbe,0xc2,0xd0,0xe6,0xfa,0x6, 0xc, 0x2, 0xf2,0xe0,0xd2,0xce,0x45,0x70,
+0x0, 0xfa,0xf6,0xf0,0xf0,0xf2,0xf6,0xfa,0x2, 0xe, 0x1e,0x2c,0x22,0xe, 0xfe,0xf8,
+0x0, 0x30,0x44,0x5a,0x5a,0x44,0x32,0x1e,0xa, 0xfe,0xfc,0x8, 0x1c,0x28,0x2e,0x32,
+0x45,0x70,0x0, 0xfe,0xfe,0xfe,0x0, 0x4, 0xe, 0x1c,0x2e,0x38,0x3c,0x38,0x2a,0x1a,
+0xa, 0x4, 0x0, 0xdc,0xc6,0xb8,0xa8,0x98,0x8a,0x80,0x80,0x88,0x96,0xa4,0xb0,0xb4,
+0xb6,0xb6,0x73,0x72,0x0, 0xc, 0xe, 0x10,0x10,0x10,0x10,0x10,0x10,0x12,0x16,0x18,
+0x22,0x2c,0x38,0x3e,0x0, 0x14,0x22,0x2a,0x34,0x3e,0x46,0x3e,0x34,0x26,0x1a,0x12,
+0x6, 0x0, 0x4, 0xc, 0x73,0x72,0x0, 0x4, 0x6, 0x6, 0x6, 0x4, 0x4, 0x8, 0xa, 0x10,
+0x16,0x1e,0x2c,0x34,0x3a,0x40,0x0, 0x14,0x22,0x2a,0x38,0x44,0x40,0x2e,0x24,0x18,
+0x10,0x6, 0x6, 0xe, 0x16,0x1c,0x46,0x73,0x0, 0xe0,0xd0,0xc6,0xc2,0xc8,0xd6,0xe4,
+0xf4,0xfa,0xf6,0xec,0xdc,0xce,0xc4,0xc0,0x0, 0xee,0xf4,0x4, 0x16,0x22,0x2a,0x30,
+0x3a,0x4c,0x5a,0x64,0x6a,0x6a,0x5e,0x56,0x46,0x73,0x0, 0xda,0xd0,0xcc,0xd0,0xde,
+0xea,0xf6,0x6, 0x8, 0x6, 0x0, 0xf2,0xe0,0xd8,0xd2,0x0, 0x4, 0xe, 0x18,0x24,0x2a,
+0x2a,0x28,0x2c,0x36,0x40,0x4c,0x56,0x56,0x54,0x54,0x46,0x73,0x0, 0xee,0xe6,0xde,
+0xe2,0xea,0xf4,0x0, 0xa, 0x16,0x1c,0x18,0xc, 0x2, 0xfa,0xf4,0x0, 0x16,0x24,0x30,
+0x38,0x3a,0x3a,0x3c,0x3c,0x3c,0x46,0x4e,0x5c,0x66,0x6e,0x74,0x46,0x73,0x0, 0xe6,
+0xd6,0xcc,0xc2,0xc0,0xc4,0xce,0xda,0xe6,0xf2,0xfc,0xfa,0xec,0xdc,0xd2,0x0, 0xf8,
+0xfc,0x4, 0x10,0x1c,0x28,0x2e,0x32,0x34,0x38,0x40,0x4c,0x5e,0x6c,0x78,0x46,0x73,
+0x0, 0xf4,0xee,0xec,0xf2,0xfa,0x2, 0x8, 0x8, 0x2, 0xf8,0xf0,0xe2,0xda,0xd4,0xce,
+0x0, 0xc, 0x18,0x22,0x28,0x2c,0x30,0x36,0x40,0x4c,0x56,0x5e,0x64,0x68,0x68,0x68,
+0x46,0x73,0x0, 0xf0,0xe0,0xd2,0xc8,0xc6,0xd0,0xde,0xec,0xfa,0x2, 0xfc,0xf0,0xe4,
+0xd8,0xd2,0x0, 0xf0,0xf4,0xf8,0x2, 0xe, 0x1a,0x1e,0x20,0x22,0x2a,0x38,0x40,0x44,
+0x44,0x44,0x46,0x73,0x0, 0xfc,0xf8,0xee,0xda,0xca,0xc2,0xc0,0xc4,0xd2,0xe4,0xf0,
+0xf6,0xe8,0xd8,0xd8,0x0, 0xfe,0x0, 0x8, 0x18,0x28,0x32,0x38,0x3e,0x3c,0x3a,0x38,
+0x40,0x5e,0x7e,0x7e,0x46,0x73,0x0, 0xf6,0xee,0xe4,0xdc,0xda,0xe0,0xec,0xf8,0xfe,
+0xfc,0xf0,0xde,0xcc,0xc2,0xc2,0x0, 0xf6,0xf8,0xfe,0x4, 0xe, 0x16,0x1c,0x22,0x2a,
+0x30,0x34,0x34,0x34,0x34,0x34,0x47,0x75,0x0, 0xf8,0xf8,0xfa,0x8, 0x16,0x1e,0x24,
+0x2a,0x2a,0x24,0x1c,0x1a,0x20,0x2e,0x36,0x0, 0x20,0x32,0x40,0x42,0x34,0x28,0x1a,
+0xc, 0x2, 0xc, 0x1e,0x2e,0x3a,0x40,0x3e,0x47,0x75,0x0, 0xfc,0xfc,0x0, 0x10,0x1e,
+0x2a,0x32,0x36,0x3a,0x38,0x36,0x36,0x36,0x36,0x38,0x0, 0x28,0x40,0x52,0x5c,0x50,
+0x3c,0x28,0x14,0x4, 0x12,0x24,0x36,0x48,0x5c,0x64,0x31,0x77,0x0, 0x2, 0x4, 0x8,
+0xc, 0x12,0x18,0x1c,0x1e,0x24,0x2a,0x2e,0x32,0x36,0x3a,0x3e,0x0, 0x18,0x24,0x2a,
+0x24,0x12,0x6, 0x6, 0x14,0x22,0x26,0x18,0xa, 0xfe,0xf6,0xf0,0x31,0x77,0x0, 0x4,
+0x8, 0xe, 0x14,0x18,0x1a,0x1c,0x1c,0x1e,0x20,0x28,0x30,0x38,0x3c,0x40,0x0, 0x1c,
+0x2a,0x36,0x2c,0x18,0xc, 0x0, 0xa, 0x1a,0x26,0x32,0x2e,0x14,0x6, 0x0, 0x31,0x77,
+0x0, 0x2, 0x4, 0x6, 0xa, 0xc, 0x14,0x20,0x2a,0x2e,0x30,0x30,0x32,0x3c,0x40,0x40,
+0x0, 0xa, 0x1c,0x2e,0x3c,0x3e,0x34,0x1a,0xc, 0x8, 0xc, 0x18,0x26,0x2c,0x26,0x24,
+0x31,0x77,0x0, 0x0, 0x2, 0x4, 0x8, 0xa, 0x12,0x18,0x1c,0x1e,0x20,0x20,0x26,0x30,
+0x40,0x40,0x0, 0x8, 0x1a,0x30,0x3e,0x38,0x28,0x14,0x4, 0x2, 0xe, 0x26,0x3c,0x30,
+0x12,0x12,0x31,0x77,0x0, 0x0, 0x2, 0x4, 0x4, 0xa, 0xe, 0x10,0x16,0x1a,0x1c,0x20,
+0x2c,0x36,0x3e,0x40,0x0, 0xc, 0x18,0x24,0x24,0x16,0x12,0x14,0x22,0x32,0x3e,0x3e,
+0x2c,0x14,0x4, 0x0, 0x72,0x79,0x0, 0xfe,0x0, 0xe, 0x16,0x1e,0x1a,0x14,0x12,0xc,
+0x8, 0xfe,0xf6,0xe8,0xe2,0xe2,0x0, 0x16,0x20,0x1a,0x10,0x4, 0xa, 0x16,0x22,0x30,
+0x3c,0x46,0x4a,0x44,0x3c,0x36,0x72,0x79,0x0, 0x2, 0xa, 0x1a,0x22,0x2a,0x30,0x2a,
+0x28,0x28,0x26,0x24,0x18,0x8, 0xfa,0xf4,0x0, 0x2e,0x3e,0x30,0x20,0xe, 0x0, 0x14,
+0x28,0x3e,0x4e,0x62,0x72,0x78,0x6e,0x66,0x72,0x79,0x0, 0xfa,0xfa,0xfe,0xc, 0x1c,
+0x2c,0x36,0x34,0x2c,0x28,0x20,0x1a,0xe, 0x6, 0x0, 0x0, 0x22,0x38,0x4a,0x44,0x36,
+0x1a,0x6, 0x6, 0x16,0x28,0x44,0x56,0x6c,0x78,0x7f,0x72,0x79,0x0, 0x14,0x16,0x18,
+0x26,0x36,0x3c,0x36,0x34,0x32,0x30,0x2c,0x24,0x14,0xc, 0x8, 0x0, 0xfe,0xc, 0x18,
+0x10,0xfe,0xf8,0x2, 0x12,0x1e,0x2c,0x3c,0x48,0x4c,0x48,0x44,0x65,0x7a,0x0, 0x16,
+0x24,0x30,0x30,0x20,0x18,0xe, 0x0, 0xfa,0x4, 0x10,0x20,0x2a,0x32,0x38,0x0, 0x2,
+0x2, 0x0, 0x8, 0x14,0x1e,0x28,0x32,0x3c,0x3e,0x3a,0x38,0x38,0x38,0x36,0x65,0x7a,
+0x0, 0x14,0x20,0x2e,0x36,0x2e,0x26,0x1a,0x12,0xa, 0xa, 0x14,0x22,0x2e,0x3a,0x40,
+0x0, 0xfe,0xfc,0xfc,0x0, 0x6, 0x10,0x1c,0x28,0x32,0x38,0x3a,0x3a,0x3a,0x3a,0x3a,
+0x65,0x7a,0x0, 0x10,0x1c,0x24,0x2c,0x2c,0x28,0x22,0x1c,0x18,0x14,0x16,0x22,0x2e,
+0x38,0x40,0x0, 0xf6,0xf0,0xea,0xea,0xf0,0xfa,0x8, 0x12,0x1c,0x28,0x2e,0x2c,0x28,
+0x22,0x1e,0x0, 0x46,0x0, 0x6, 0xa, 0xe, 0x14,0x1a,0x1c,0x22,0x26,0x28,0x2c,0x32,
+0x34,0x3a,0x3e,0x40,0x0, 0xb, 0x14,0x1c,0x26,0x2e,0x34,0x3c,0x42,0x48,0x50,0x56,
+0x5c,0x64,0x6a,0x6e,0x7e,0xa0,0x20,0x80,0xc, 0x7e,0xa0,0x10,0x80,0x5, 0x7e,0xa0,
+0x8, 0x6c,0x55,0x6d,0x33,0x33,0x92,0xd5,0x50,0xa, 0x6e,0x34,0xff,0xff,0x6e,0x24,
+0xff,0xff,0xb, 0x1c,0xa5,0xec,0x33,0x40,0x6, 0x2f,0x11,0xd5,0xf0,0xf6,0x22,0x7c,
+0xba,0x24,0x7e,0xa2,0xd5,0x13,0x7c,0x76,0x7c,0x65,0xa5,0xcc,0x92,0xe7,0x7c,0x5b,
+0x22,0x7c,0xb5,0x33,0x7c,0xb4,0x33,0x92,0xd5,0x4e,0x50,0x80,0x24,0x81,0x40,0x3,
+0x9f,0x11,0x22,0x7c,0x45,0x7c,0x56,0x7c,0x67,0x6c,0x77,0x24,0xe0,0x50,0xe, 0x7e,
+0x1c,0xff,0xff,0x22,0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x4, 0x78,0xf4,
+0x30,0xd5,0xa, 0x6e,0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,0x22,0x7c,0xb5,
+0xa2,0xe7,0xd2,0xe7,0x7c,0x1b,0x7c,0xb4,0x33,0x40,0x9, 0x68,0xd, 0xb4,0xff,0xb,
+0xa5,0xbd,0xff,0x3, 0x2, 0x98,0xdb,0x2, 0x98,0xe3,0x22,0x7c,0xb, 0x24,0x81,0xc2,
+0xe0,0xf5,0x82,0xf4,0x4, 0x2c,0xb0,0x7c,0x2b,0xc3,0x13,0x7c,0x4b,0x7c,0xb5,0x92,
+0xe7,0x7c,0x5b,0x7f,0x41,0x7c,0xb6,0xa2,0xe7,0x7c,0xb1,0xa5,0xba,0x7f,0x2, 0xc3,
+0x13,0x34,0x0, 0x94,0x0, 0x7c,0x2b,0x7e,0xa0,0x91,0xa4,0x7c,0xba,0x13,0xf4,0x94,
+0xfe,0xac,0xb2,0x33,0x7c,0xba,0x33,0x24,0x8c,0xd3,0x13,0x7c,0x5b,0xe4,0x92,0xe7,
+0x7c,0x6b,0x6c,0x77,0x7e,0x40,0x3f,0x75,0x83,0x2, 0x7f,0x51,0x7f,0x1, 0x7f,0x14,
+0x12,0x99,0xad,0x7f,0x5, 0x12,0x98,0xf5,0x9e,0x24,0x0, 0x80,0xd5,0x83,0xeb,0x7e,
+0x1, 0x82,0x6c,0x11,0xe, 0x4, 0x1e,0x4, 0x2d,0x20,0x5e,0x40,0x7f,0x22,0x2d,0x0,
+0x92,0xd5,0xe, 0x10,0x4e,0x10,0x80,0x7d,0x42,0x2d,0x44,0x50,0x2, 0xb2,0xd5,0x4e,
+0x50,0x80,0x6c,0x44,0x7c,0xb8,0x22,0x2c,0x44,0x50,0x12,0xb, 0x1c,0x7e,0x40,0x0,
+0x5e,0x50,0x7f,0xbe,0x18,0x0, 0x0, 0x78,0x4, 0xb, 0x80,0x68,0x16,0xa2,0xd5,0x7c,
+0xb8,0x13,0x7c,0x4b,0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x22,0x7e,0x1c,0xff,0xff,0x22,
+0x9f,0x11,0x22,0x7e,0x24,0xff,0x80,0x20,0xd5,0x2, 0x6c,0x45,0x6d,0x33,0x22,0x2,
+0x98,0xdb,0x6e,0x0, 0x80,0x7c,0xb1,0x33,0x7c,0xb0,0x33,0x68,0xd, 0x4, 0x68,0xef,
+0x7c,0xb5,0x33,0x7c,0xb4,0x33,0x78,0x3, 0x7f,0x10,0x22,0x4, 0x68,0xe1,0x7d,0x50,
+0x92,0xf7,0x7d,0x45,0x7d,0x51,0xbf,0x21,0x40,0x6, 0x7c,0x80,0x7f,0x1, 0x7f,0x12,
+0x12,0x98,0x9e,0x7e,0xa1,0xd0,0x5c,0xb0,0x4, 0x78,0x3, 0x20,0xd5,0xc1,0x7c,0xb0,
+0x4, 0x78,0x7, 0x50,0x2, 0xb2,0xd5,0x2, 0x98,0xe3,0x92,0xd5,0xbe,0x80,0xff,0x68,
+0xf6,0x7c,0xb8,0x9c,0xb0,0x6c,0x0, 0x60,0x2a,0xb4,0x18,0x5, 0x7c,0x41,0x2, 0x98,
+0xb7,0x50,0xfb,0x80,0x3, 0x2f,0x0, 0x4, 0x7c,0x9b,0x5e,0x90,0x7, 0x78,0xf6,0x30,
+0xe4,0x6, 0x7c,0x43,0x7d,0x10,0x6d,0x0, 0x30,0xe3,0x8, 0x7c,0x43,0x7c,0x32,0x7c,
+0x21,0xa, 0x0, 0x30,0xf5,0x19,0x9f,0x10,0x78,0xe, 0x22,0x2, 0x98,0xe0,0x1b,0x80,
+0x68,0xf9,0x2f,0x11,0x50,0x2, 0xb, 0x70,0x7c,0xb5,0x30,0xe7,0xf1,0x80,0x1b,0x2d,
+0x31,0x7c,0xb5,0xa5,0x39,0x7c,0x5b,0x50,0x11,0xb, 0x80,0x78,0x3, 0x2, 0x98,0xe3,
+0x1e,0x34,0x13,0x50,0x3, 0x4e,0x60,0x80,0x1a,0x2b,0x2, 0x98,0xb7,0xbe,0x24,0xff,
+0xff,0x68,0x6, 0xbe,0x4, 0xff,0xff,0x78,0x3, 0x2, 0x98,0xdb,0x12,0x98,0x9e,0x5c,
+0xb0,0x4, 0x68,0xf5,0x7c,0xb8,0xa5,0x48,0x68,0xef,0x7c,0xb8,0x70,0x3, 0x9f,0x11,
+0x22,0xa5,0xb8,0x0, 0x3, 0x2, 0x98,0xe3,0x2e,0x0, 0x81,0x50,0x7, 0x9c,0x80,0x38,
+0x7, 0x2, 0x98,0xe0,0x9c,0x80,0x50,0xed,0xa, 0x51,0xc2,0xe7,0x4d,0x51,0x78,0x3,
+0x2, 0x98,0xcd,0x7e,0x54,0x0, 0x80,0x7e,0x90,0x1a,0x6c,0x0, 0x80,0x6, 0x1b,0x90,
+0x68,0x14,0x2f,0x11,0xbf,0x10,0x40,0x4, 0x9f,0x10,0x4c,0xab,0x3, 0x30,0xe7,0xee,
+0xca,0xa8,0x6c,0xaa,0x80,0xe8,0xda,0x39,0xda,0x58,0x7c,0x4a,0xbe,0x50,0x80,0x50,
+0xa, 0x1b,0x80,0x68,0xbc,0x2f,0x11,0x50,0x2, 0xb, 0x70,0x2, 0x98,0xb7,0xc2,0xd5,
+0x7c,0xb4,0x30,0xe7,0x8, 0xb2,0xd5,0x6e,0x24,0xff,0xff,0xb, 0x24,0x7c,0xb6,0x30,
+0xe7,0x12,0xb2,0xd5,0x6e,0x34,0xff,0xff,0xb, 0x34,0x8d,0x32,0x6e,0x24,0xff,0xff,
+0xb, 0x24,0x80,0x2, 0x8d,0x32,0x30,0xd5,0x6, 0x6e,0x34,0xff,0xff,0xb, 0x34,0x22,
+0x7d,0x51,0xad,0x3, 0x7d,0x2, 0x7d,0x21,0xad,0x5, 0x2d,0x12,0xad,0x35,0x2d,0x21,
+0x22,0x7d,0x2, 0xad,0x31,0xad,0x10,0x2d,0x21,0x22,0x6d,0x0, 0x74,0x10,0x4d,0x0,
+0x78,0xb, 0x4d,0x22,0x78,0x27,0x8d,0x31,0x7d,0x12,0x6d,0x22,0x22,0x7d,0x43,0x7d,
+0x32,0x6d,0x22,0x2f,0x11,0x2d,0x44,0x50,0x2, 0xa5,0xf, 0xbf,0x10,0x40,0x4, 0x9f,
+0x10,0xb, 0x90,0x14,0x78,0xed,0x7f,0x1, 0x6d,0x22,0x7d,0x34,0x22,0x7d,0x41,0x7d,
+0x13,0x8d,0x24,0x7d,0x2, 0x2f,0x0, 0x40,0x4, 0xbd,0x4, 0x40,0x4, 0x9d,0x4, 0xb,
+0x14,0x14,0x78,0xf1,0x7d,0x23,0x7d,0x31,0x7d,0x10,0x6d,0x0, 0x22,0xc2,0xd5,0x7c,
+0xb0,0x30,0xe7,0x8, 0xb2,0xd5,0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x7c,0xb4,0x30,0xe7,
+0x13,0xb2,0xd5,0x9f,0x22,0x9f,0x21,0x7f,0x12,0x12,0x9a,0x7c,0x9f,0x22,0x9f,0x20,
+0x7f,0x2, 0x80,0x3, 0x12,0x9a,0x7c,0x30,0xd5,0x6, 0x9f,0x22,0x9f,0x21,0x7f,0x12,
+0x22,0x6c,0xaa,0x4d,0x11,0x68,0x1a,0x1e,0x54,0x68,0xe, 0xb, 0x38,0x20,0x1b,0x18,
+0x20,0xb, 0x35,0xb, 0x15,0x1b,0x54,0x78,0xf2,0x50,0x6, 0x7e,0x39,0x40,0x7a,0x19,
+0x40,0x22,0x75,0x84,0x1, 0x7e,0x44,0x13,0xff,0xe4,0x7a,0x49,0xb0,0x1b,0x44,0x78,
+0xf9,0x7e,0xf8,0x11,0x4d,0x75,0x69,0x1, 0xc2,0xc, 0x75,0x62,0x0, 0x75,0x8, 0x0,
+0x75,0x9, 0x71,0x75,0xa, 0x6, 0x75,0xb, 0x71,0x75,0xc, 0x71,0x75,0x11,0x71,0x75,
+0x12,0x78,0x75,0x13,0x24,0x75,0x14,0x32,0x75,0x15,0x6, 0x75,0x16,0x2, 0x75,0x17,
+0x78,0xc2,0x5, 0xc2,0x6, 0xc2,0x7, 0x75,0x6a,0x0, 0xc2,0xd, 0x75,0x6b,0x0, 0x75,
+0x5b,0x0, 0xc2,0x0, 0xc2,0x2, 0xc2,0x3, 0xd2,0x4, 0x75,0x5e,0xff,0x75,0x5f,0xff,
+0x75,0x60,0x0, 0x75,0x18,0x0, 0x75,0x19,0x0, 0x75,0x1e,0x0, 0xc2,0xf, 0x75,0x63,
+0x0, 0x75,0x64,0x0, 0x75,0x55,0x0, 0x75,0x56,0x0, 0x75,0x57,0x0, 0x75,0x58,0x0,
+0x75,0x59,0x0, 0x75,0x5a,0x0, 0x75,0x65,0x41,0x75,0x66,0x0, 0xc2,0x8, 0xc2,0xa,
+0xd2,0xb, 0x7e,0x4, 0x0, 0xff,0x7e,0x14,0x9d,0x1a,0xb, 0xa, 0x40,0x5d,0x44,0x68,
+0x1a,0x69,0x20,0x0, 0x2, 0xb, 0xe, 0xb, 0x44,0x80,0xa, 0x7e,0xb, 0xb0,0x7a,0x29,
+0xb0,0xb, 0x24,0xb, 0xc, 0x1b,0x44,0x78,0xf2,0x80,0xdf,0x2, 0x77,0x63,0x0, 0x10,
+0x1, 0x11,0x2, 0x12,0x3, 0x13,0x4, 0x14,0x5, 0x15,0x6, 0x16,0x7, 0x17,0x8, 0x18,
+0x9, 0x19,0xa, 0x1a,0xb, 0x1b,0xc, 0x1c,0xd, 0x1d,0xe, 0x1e,0xf, 0x1f,0x20,0x21,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x6, 0x9,
+0xc, 0xf, 0x12,0x15,0x18,0x1b,0x1e,0x1, 0x4, 0x7, 0xa, 0xd, 0x10,0x13,0x16,0x19,
+0x1c,0x1f,0x2, 0x5, 0x8, 0xb, 0xe, 0x11,0x14,0x17,0x1a,0x1d,0x20,0x80,0x0, 0x40,
+0x0, 0x2a,0xab,0x20,0x0, 0x19,0x9a,0x15,0x55,0x12,0x49,0x10,0x0, 0x1c,0x72,0x19,
+0x9a,0x17,0x46,0x15,0x55,0x13,0xb1,0x12,0x49,0x11,0x11,0x10,0x0, 0x1e,0x1e,0x1c,
+0x72,0x1a,0xf3,0x19,0x9a,0x18,0x62,0x17,0x46,0x16,0x43,0x15,0x55,0x14,0x7b,0x13,
+0xb1,0x12,0xf7,0x12,0x49,0x11,0xa8,0x11,0x11,0x10,0x84,0x10,0x0, 0x2, 0x2, 0x3,
+0x0, 0x5, 0x1, 0x6, 0x6, 0x40,0x10,0x10,0x10,0x10,0x40,0x12,0x0, 0x1, 0x2, 0x3,
+0x14,0x12,0x4, 0x5, 0x6, 0x7, 0x14,0x13,0x8, 0x9, 0xa, 0xb, 0x15,0x13,0xc, 0xd,
+0xe, 0xf, 0x15,0x40,0x11,0x11,0x11,0x11,0x40,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0xca,0xf8,0x7f,0x20,0x80,0xa, 0x7e,0x1b,0xf0,0x7a,0x2b,
+0xf0,0xb, 0x34,0xb, 0x54,0x69,0xff,0xff,0xfc,0x7d,0xef,0x1b,0xe4,0x79,0xef,0xff,
+0xfc,0x4d,0xff,0x78,0xe6,0x7f,0x10,0xda,0xf8,0x22,0x7d,0x43,0x7f,0x10,0x80,0x7,
+0x1b,0x44,0x7a,0xb, 0xb0,0xb, 0x14,0x4d,0x44,0x78,0xf5,0x22,0x7d,0x23,0xbe,0x24,
+0x0, 0x0, 0x48,0x3, 0x7d,0x32,0x22,0x6d,0x33,0x9d,0x32,0x22,0x7f,0x1, 0xbe,0x8,
+0x0, 0x0, 0x48,0x3, 0x7f,0x10,0x22,0x9f,0x11,0x9f,0x10,0x22,0x68,0x64,0x6f,0x2e,
+0x2e,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x1, 0x0, 0x4, 0x11,0x22,0x0, 0x0,
+0x0, 0x0, 0x0, 0x1, 0xf, 0xf6,0xff,0x0, 0x4, 0xb, 0xb2,0x0, 0x0, 0x0, 0x0, 0x0,
+0x14,0x0, 0x6d,0x5, 0x0, 0x5, 0x5c,0x5, 0xb8,0x6, 0x14,0x6, 0x70,0x6, 0xcc,0x7,
+0x28,0x7, 0x84,0x7, 0xe0,0x8, 0x3c,0x0, 0x1, 0xe, 0x89,0x0, 0x0, 0x1, 0xe, 0x8a,
+0x0, 0x0, 0xc, 0xe, 0xa9,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x2, 0xe, 0xb5,0x0, 0x0, 0x0, 0x18,0xe, 0xb7,0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x2, 0xe, 0xcf,0x0, 0x0, 0x0, 0x1, 0xe, 0xd1,0x0, 0x0, 0x2,
+0x11,0x4b,0x0, 0x0, 0x0, 0x8, 0x11,0x36,0x7f,0xff,0x7f,0xff,0x7f,0xff,0x7f,0xff,
+0x0, 0x2, 0xb, 0xb8,0x0, 0x0, 0x0, 0x2, 0xb, 0xbb,0xb, 0xbf,0x0, 0x1, 0xc, 0x80,
+0x0, 0x0, 0x1, 0xc, 0x9f,0x0, 0x0, 0x2, 0x10,0xd5,0x0, 0x0, 0x0, 0x2, 0x10,0xd7,
+0x0, 0x0, 0x0, 0x1, 0x10,0xd9,0x0, 0x0, 0x1, 0x10,0xda,0x0, 0x0, 0xa, 0x10,0xdb,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x10,0xe5,0x3, 0x4,
+0x0, 0x1, 0x10,0xe7,0x0, 0x0, 0x1, 0x10,0xe8,0x0, 0x0, 0x1, 0x10,0xef,0xff,0x0,
+0x1, 0x10,0xf0,0x0, 0x0, 0x1, 0x10,0xf1,0x0, 0x0, 0x2, 0x10,0x47,0x0, 0x0, 0x0,
+0x1, 0x10,0x4d,0xff,0x0, 0x2, 0x10,0x56,0x0, 0x0, 0x0, 0x1, 0x10,0x59,0x76,0x0,
+0x4, 0x10,0x5a,0x0, 0x0, 0x0, 0x20,0x0, 0x2, 0x10,0x5e,0x0, 0x0, 0x0, 0x1, 0x10,
+0x80,0x1, 0x0, 0x1, 0xe, 0x2, 0x0, 0x0, 0x1, 0x11,0x4d,0x0, 0x0, 0x4, 0x11,0x3e,
+0x0, 0x0, 0x14,0x0, 0x0, 0x4, 0x11,0x42,0x0, 0x0, 0x16,0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0x3, 0xe8,0xfc,0x17,0xde,0xa3,0x21,0x5c,0xbc,0x0, 0xff,0xff,0xff,0xff,0xff,0xff,
+0x1, 0x70,0x90,0x43,0x45,0x49,0x5f,0x45,0x53,0x57,0x31,0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x30,0x30,0x30,0x30,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x4, 0x16,0x0, 0x3, 0x0, 0x13,0x12,0x10,0xf, 0x14,0xe, 0xb,
+0xc, 0x1, 0x7, 0xa, 0x9, 0x2, 0x3, 0x5, 0x6, 0x11,0x4, 0x15,0x0, 0xd, 0x8, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xf, 0x10,0x10,0x21,0x21,0x26,0x26,
+0x0, 0x0, 0x1, 0x0, 0x0, 0x3, 0x0, 0x0, 0x1, 0x38,0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x3f,0x4,
+0x0, 0x0, 0x1b,0x1b,0x1b,0x1b,0x1d,0x1d,0x1f,0x1f,0x23,0x23,0x27,0x27,0x38,0x30,
+0x47,0xd0,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x3e,0x0, 0x5, 0xc, 0x5a,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x67,0x0, 0x1, 0x3, 0x64,0x1, 0x0, 0x6, 0x0, 0x11,0x12,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff,0xff,0x0, 0x0, 0xff,0xff,0xff,0xff,0xff,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x32,0x2, 0xbc,0x3, 0x84,0x5, 0xdc,0x1, 0xca,
+0x1, 0xca,0x0, 0x32,0x3, 0xe8,0xf, 0xa0,0x1, 0x2c,0x0, 0xa0,0x50,0x50,0x14,0x0,
+0x0, 0x5, 0x3, 0x0, 0xd1,0x0, 0xcd,0x0, 0x50,0x0, 0x50,0x6, 0x0, 0x0, 0xc, 0xc,
+0xc, 0xc, 0x0, 0x32,0x0, 0x0, 0x0, 0x64,0x1, 0x5e,0x0, 0x0, 0x0, 0x64,0x0, 0x32,
+0x0, 0x0, 0x0, 0x64,0x1, 0x5e,0x0, 0x0, 0x0, 0x64,0x0, 0x32,0x0, 0x32,0xa, 0xa,
+0xa, 0xa, 0x50,0x50,0x0, 0x0, 0x8, 0x6, 0x0, 0xd0,0x0, 0xcf,0x0, 0x50,0x0, 0x50,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x22,0x23,0x22,0x23,0x22,0x23,0x1, 0x3, 0x2, 0x3, 0x1,
+0x3, 0x1, 0x2, 0x3, 0x2, 0x1, 0x2, 0x0, 0x0, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x7,
+0x8, 0xa, 0xb, 0xd, 0xf, 0x12,0x15,0x18,0x1e,0x1e,0x1e,0x0, 0x0, 0x0, 0x2, 0x3,
+0x4, 0x6, 0x7, 0x9, 0xa, 0xe, 0x11,0x14,0x15,0x18,0x1b,0x21,0x27,0x29,0x29,0x0,
+0x0, 0x0, 0x0, 0xff,0xfe,0xfd,0xfb,0xfa,0xf8,0xf6,0xf5,0xf3,0xf1,0xef,0xe8,0xdf,
+0xd6,0xd6,0xd6,0x0, 0x0, 0x0, 0xff,0xfe,0xfd,0xfb,0xfa,0xf8,0xf6,0xf4,0xf2,0xf0,
+0xed,0xe9,0xe7,0xe4,0xe1,0xde,0xdb,0x22,0x22,0x22,0x22,0x23,0x23,0x23,0x23,0xff,
+0xff,0xff,0x22,0x22,0x22,0x22,0x23,0x23,0x23,0x23,0xff,0xff,0xff,0x22,0x22,0x22,
+0x22,0x23,0x23,0x23,0x23,0xff,0xff,0xff,0x22,0x22,0x22,0x22,0x23,0x23,0x23,0x23,
+0xff,0xff,0xff,0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
+0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
+0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xa4,0x3, 0xe8,0x36,0xb0,0xf, 0xa0,0x3, 0xe8,
+0x1e,0x0, 0xf, 0x4, 0x4, 0xf, 0x4, 0x4, 0xf, 0x4, 0x4, 0x1, 0x1, 0x0, 0x5, 0x5,
+0x6, 0x6, 0x3, 0xe8,0xb, 0xb8,0x7, 0xd0,0x3, 0x20,0xf, 0xa0,0x14,0x10,0xd, 0x4,
+0xa, 0x4, 0xa, 0x4, 0xc, 0x4, 0xf, 0x14,0x14,0x1e,0xf, 0x4, 0x0, 0x0, 0x7, 0xd0,
+0x0, 0x0, 0x27,0x10,0xe, 0x5, 0x0, 0x0, 0x7, 0xd0,0x0, 0x0, 0x27,0x10,0xd, 0x5,
+0x0, 0x0, 0x7, 0x8, 0x0, 0x0, 0x27,0x10,0xe, 0x5, 0x0, 0x50,0x0, 0xf0,0x1, 0x90,
+0x2, 0x30,0x3, 0x84,0xa, 0x5, 0x0, 0x50,0x0, 0x50,0x3, 0xe8,0x3, 0x20,0x0, 0x1e,
+0x0, 0xf, 0x0, 0x14,0x0, 0x78,0x0, 0x6a,0x0, 0x3c,0x3, 0xe8,0x0, 0x78,0x0, 0x3c,
+0x0, 0x3c,0x3, 0xe8,0x0, 0x5, 0x0, 0x5, 0x0, 0x64,0x0, 0xa0,0x0, 0xa0,0x13,0x88,
+0x0, 0xa0,0x1f,0xff,0xf7,0x1d,0x3b,0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x64,0x0, 0xc8,0x1, 0x2c,0x1f,0x40,0x9, 0xa,
+0x7, 0x8, 0xa, 0xc8,0x5, 0x9, 0x1e,0x8, 0x14,0x0, 0xb, 0xb8,0x3, 0xe8,0x5, 0xdc,
+0x3, 0x0, 0xb, 0xb8,0xd, 0x48,0xe, 0xd8,0x3, 0xa, 0xf, 0x14,0x0, 0x6, 0x3c,0x2,
+0x58,0x3, 0xdc,0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x70,0x8f,0x0, 0xff,0x90,0x6f,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43,0x45,0x49,0x5f,0x45,0x53,0x57,0x31,
+0x0, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x30,0x30,0x30,0x30,0x0, 0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
\ No newline at end of file
diff --git a/drivers/input/touchscreen/focaltech_3267/FTS_FW/CEI_ESW1_3267_0x91_app.i b/drivers/input/touchscreen/focaltech_3267/FTS_FW/CEI_ESW1_3267_0x91_app.i
new file mode 100644
index 0000000..3332a59
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3267/FTS_FW/CEI_ESW1_3267_0x91_app.i
@@ -0,0 +1,2949 @@
+0x2, 0x9b,0x22,0x2, 0x56,0x97,0x20,0x93,0xfd,0x22,0x22,0x2, 0x0, 0x48,0x12,0x7e,
+0x8c,0x12,0x87,0x26,0xe4,0x12,0x87,0xa4,0x2, 0x84,0x14,0x2, 0x75,0x2d,0x75,0x5d,
+0x0, 0x75,0x5c,0x0, 0x7e,0xb3,0xd, 0x60,0xf5,0x91,0x22,0x2, 0x73,0x87,0x6c,0xaa,
+0xe4,0xa, 0x4a,0x19,0xb4,0xf, 0x19,0x19,0xb4,0xe, 0xeb,0xb, 0xa0,0xbe,0xa0,0x2e,
+0x40,0xee,0x22,0x2, 0x6f,0xf9,0x22,0x22,0x32,0xff,0xff,0x2, 0x69,0x8a,0xe5,0x4e,
+0x70,0x3, 0x2, 0x84,0x14,0x7e,0xb3,0xd, 0xf2,0x70,0x9, 0x7e,0xa3,0x0, 0xec,0xbe,
+0xa0,0x2, 0x40,0xb, 0x60,0xc, 0x7e,0x73,0x9, 0x24,0xbe,0x70,0x2, 0x50,0x3, 0x2,
+0x80,0x59,0x22,0x2, 0x7, 0xc6,0x7d,0x53,0x5e,0x54,0x0, 0x7, 0x7c,0xab,0x6c,0x55,
+0x7d,0x43,0x1e,0x44,0x1e,0x44,0x1e,0x44,0xbc,0xa5,0x28,0x2, 0xb, 0x44,0x7e,0x30,
+0x2, 0xac,0x35,0x7e,0x7f,0x11,0x42,0x2d,0xf1,0x2e,0xf4,0x0, 0x14,0xb, 0x7a,0x10,
+0x5e,0x14,0x0, 0x3f,0x1b,0x7a,0x10,0xbe,0x44,0x0, 0x1f,0x28,0x22,0xbe,0x44,0x3,
+0x64,0x28,0x4, 0x7e,0x44,0x3, 0x64,0x7d,0x14,0x9e,0x14,0x0, 0x20,0x7e,0x4, 0x0,
+0x1b,0x8d,0x10,0x7d,0x1, 0xb, 0x4, 0x7e,0x14,0x0, 0x5, 0xad,0x10,0x2d,0x41,0x7d,
+0x4, 0x3e,0x4, 0x3e,0x4, 0x3e,0x4, 0x3e,0x4, 0x3e,0x4, 0x3e,0x4, 0x7e,0x30,0x2,
+0xac,0x35,0x7e,0x7f,0x11,0x42,0x2d,0xf1,0x2e,0xf4,0x0, 0x14,0xb, 0x7a,0x10,0x4d,
+0x10,0x1b,0x7a,0x10,0xb, 0x50,0xbe,0x50,0x8, 0x40,0x85,0x22,0xff,0xff,0xff,0xff,
+0xb7,0xf8,0x48,0x7, 0x43,0xbc,0x9b,0x64,0x91,0x6e,0x4, 0xfb,0xff,0xff,0xff,0x0,
+0x3, 0xf8,0xfc,0x7, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0x7f,0x50,0x7e,0x34,0x0, 0x24,0x12,0x7f,0x22,0xbe,0xb0,0x9, 0x68,0x1a,0xbe,0xb0,
+0xa, 0x68,0x15,0xbe,0xb0,0x15,0x68,0x10,0xbe,0xb0,0x21,0x68,0xb, 0xbe,0xb0,0xff,
+0x68,0x6, 0xe4,0x12,0x82,0x64,0x80,0xfa,0xa9,0xc3,0xea,0x29,0xb5,0x0, 0x2, 0x54,
+0xf, 0xa, 0x3b,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x2, 0x7f,0x5, 0x12,0x46,0xc,
+0x6d,0x33,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x12,0x7e,0xf, 0x11,0x42,0x2e,0x14,
+0x0, 0x12,0xb, 0xa, 0x30,0x29,0xb5,0x0, 0x2, 0x54,0x30,0xa, 0x2b,0x3e,0x24,0x3e,
+0x24,0x3e,0x24,0x3e,0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0x12,0xb, 0xa, 0x30,
+0x4d,0x32,0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x18,0x30,0xe5,0x11,0x7e,0xf, 0x11,0x42,
+0x2e,0x14,0x0, 0x12,0xb, 0xa, 0x30,0x4e,0x60,0x7c,0x1b,0xa, 0x30,0x6d,0x33,0x7e,
+0xf, 0x11,0x42,0x79,0x30,0x0, 0x70,0x69,0x25,0x0, 0x11,0x5e,0x40,0x3, 0x7e,0xf,
+0x11,0x42,0x2e,0x14,0x0, 0x70,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x69,0x25,
+0x0, 0x11,0x5e,0x24,0xc, 0x0, 0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x7e,0xf,
+0x11,0x42,0x2e,0x14,0x0, 0x70,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x6d,0x33,
+0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x72,0x69,0x25,0x0, 0x15,0x5e,0x40,0x3, 0x7e,
+0xf, 0x11,0x42,0x2e,0x14,0x0, 0x72,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x69,
+0x55,0x0, 0x13,0x5e,0x54,0x0, 0x2, 0x3, 0x3, 0x54,0xc0,0x7c,0xab,0xe4,0x7e,0xf,
+0x11,0x42,0x2e,0x14,0x0, 0x72,0xb, 0xa, 0x30,0x4d,0x35,0x1b,0xa, 0x30,0x69,0x35,
+0x0, 0x13,0x5e,0x70,0xc0,0x1e,0x34,0x1e,0x34,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0,
+0x74,0x6d,0x33,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x76,0x29,0xb5,0x0, 0x18,0x1e,
+0xb0,0x1e,0xb0,0x54,0x1, 0xa, 0x2b,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0x76,0xb,
+0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x18,0x54,0x3, 0xa, 0x2b,0x3e,
+0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0x76,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa,
+0x30,0x29,0xb5,0x0, 0x18,0x54,0x18,0xa, 0x2b,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0,
+0x76,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x69,0x35,0x0, 0x19,0x7e,0xf, 0x11,
+0x42,0x79,0x30,0x0, 0x78,0x69,0x35,0x0, 0x1b,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0,
+0x7a,0x69,0x35,0x0, 0x1d,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x7c,0x69,0x35,0x0,
+0x1f,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x7e,0x69,0x35,0x0, 0x21,0x7e,0xf, 0x11,
+0x42,0x79,0x30,0x0, 0x80,0x69,0x35,0x0, 0x23,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0,
+0x82,0x69,0x35,0x0, 0x25,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x8a,0x6c,0x77,0x74,
+0x2, 0xac,0xb7,0x7f,0x5, 0x2d,0x15,0x69,0x20,0x0, 0x27,0x7e,0xf, 0x11,0x42,0x2d,
+0x15,0x79,0x20,0x0, 0x8c,0xb, 0x70,0xa5,0xbf,0xb, 0xe4,0x29,0x75,0x0, 0x4, 0x7c,
+0x47,0x6c,0x55,0x29,0x75,0x0, 0x3, 0xa, 0x37,0x2d,0x32,0x7e,0xf, 0x11,0x42,0x79,
+0x30,0x0, 0xa2,0x29,0x75,0x0, 0x6, 0x7c,0x47,0x29,0x75,0x0, 0x5, 0xa, 0x37,0x2d,
+0x32,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xa4,0x29,0x75,0x0, 0x8, 0x7c,0x47,0x29,
+0x75,0x0, 0x7, 0xa, 0x37,0x2d,0x32,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xa6,0x6d,
+0x33,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xa8,0x29,0x75,0x0, 0x9, 0xbe,0x70,0x0,
+0x7e,0xf, 0x11,0x42,0x28,0x2b,0x2e,0x14,0x0, 0xa8,0xb, 0xa, 0x30,0x4e,0x70,0x40,
+0x1b,0xa, 0x30,0x29,0x75,0x0, 0x9, 0xa, 0x27,0x1b,0x24,0x5e,0x24,0x0, 0x3f,0x7e,
+0xf, 0x11,0x42,0x2e,0x14,0x0, 0xa8,0xb, 0xa, 0x30,0x5e,0x70,0xc0,0x4d,0x32,0x80,
+0xa, 0x2e,0x14,0x0, 0xa8,0xb, 0xa, 0x30,0x4e,0x70,0x3f,0x1b,0xa, 0x30,0x29,0x75,
+0x0, 0xa, 0xbe,0x70,0x0, 0x7e,0xf, 0x11,0x42,0x28,0x2f,0x2e,0x14,0x0, 0xa8,0xb,
+0xa, 0x30,0x4e,0x60,0x40,0x1b,0xa, 0x30,0x29,0x75,0x0, 0xa, 0xa, 0x27,0x1b,0x24,
+0x5e,0x24,0x0, 0x3f,0x7c,0x45,0x6c,0x55,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xa8,
+0xb, 0xa, 0x30,0x5e,0x60,0xc0,0x4d,0x32,0x80,0xa, 0x2e,0x14,0x0, 0xa8,0xb, 0xa,
+0x30,0x4e,0x60,0x3f,0x1b,0xa, 0x30,0x7e,0x34,0xa0,0x1a,0x7e,0xf, 0x11,0x42,0x79,
+0x30,0x0, 0xaa,0x29,0x75,0x0, 0xb, 0xa, 0x27,0x5e,0x24,0x0, 0x3f,0x3e,0x24,0x3e,
+0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0,
+0xaa,0xb, 0xa, 0x30,0x5e,0x34,0xf0,0x3f,0x4d,0x32,0x1b,0xa, 0x30,0x7e,0x34,0x0,
+0x1, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xac,0xa9,0xd5,0xcb,0x75,0xfd,0x6, 0x7e,
+0x71,0xfe,0xa9,0xc5,0xcb,0x5e,0x70,0x30,0x1e,0x70,0x1e,0x70,0xa, 0x27,0x7e,0xf,
+0x11,0x42,0x2e,0x14,0x0, 0xac,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0xa9,0xc5,
+0xcb,0x29,0xb5,0x0, 0x2, 0x23,0x23,0x54,0x3, 0x14,0x68,0x17,0x14,0x68,0x24,0xb,
+0xb1,0x78,0x31,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xac,0xb, 0xa, 0x30,0x4e,0x70,
+0x80,0x80,0x1e,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xac,0xb, 0xa, 0x30,0x4e,0x70,
+0x40,0x80,0xe, 0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xac,0xb, 0xa, 0x30,0x4e,0x70,
+0x30,0x1b,0xa, 0x30,0x7e,0x34,0x10,0x0, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xae,
+0x29,0xb5,0x0, 0x18,0x54,0x3, 0x78,0x11,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,
+0xb, 0xa, 0x30,0x4e,0x70,0x1, 0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x1, 0x30,0xe5,0x11,
+0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x60,0x20,0x1b,0xa,
+0x30,0x29,0xb5,0x0, 0x1, 0x30,0xe6,0x11,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,
+0xb, 0xa, 0x30,0x4e,0x70,0x80,0x1b,0xa, 0x30,0x69,0x55,0x0, 0x11,0xa, 0x5a,0xc4,
+0x7d,0x35,0x5e,0x34,0x0, 0x1, 0x68,0x11,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,
+0xb, 0xa, 0x30,0x4e,0x60,0x1, 0x1b,0xa, 0x30,0x69,0x35,0x0, 0x13,0x5e,0x34,0x0,
+0x1, 0x68,0x11,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x60,
+0x2, 0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x1, 0x30,0xe7,0x11,0x7e,0xf, 0x11,0x42,0x2e,
+0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x60,0x4, 0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x17,
+0x30,0xe0,0x11,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x60,
+0x8, 0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x17,0x30,0xe1,0x11,0x7e,0xf, 0x11,0x42,0x2e,
+0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x60,0x80,0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x17,
+0x30,0xe2,0x11,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x60,
+0x40,0x1b,0xa, 0x30,0x7f,0x5, 0x12,0x73,0xf7,0x7f,0x5, 0x12,0x7e,0xbf,0x7e,0x34,
+0x1, 0x0, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xb0,0x7e,0x5b,0xb0,0x30,0xe6,0x11,
+0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x4e,0x70,0x2, 0x1b,0xa,
+0x30,0x29,0xb5,0x0, 0x1, 0x54,0x1f,0xa, 0x2b,0x3e,0x24,0x3e,0x24,0x7e,0xf, 0x11,
+0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x29,0x75,0x0,
+0x9e,0xa, 0x37,0x7d,0x23,0x7c,0x45,0x6c,0x55,0x3e,0x24,0x7e,0xf, 0x11,0x42,0x2e,
+0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,
+0x14,0x0, 0xb2,0xb, 0xa, 0x30,0x4e,0x70,0x1, 0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x18,
+0x54,0x3, 0xb4,0x1, 0x22,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb2,0xb, 0xa, 0x30,
+0x4e,0x70,0x2, 0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb2,0xb, 0xa,
+0x30,0x4e,0x70,0x4, 0x1b,0xa, 0x30,0x22,0x7e,0xb3,0x9, 0x25,0x54,0xe, 0x7a,0xb3,
+0x9, 0x25,0x7e,0xb3,0xd, 0x78,0x54,0x3, 0xa, 0x3b,0x3e,0x34,0x3e,0x34,0x3e,0x34,
+0x3e,0x34,0xb, 0x34,0x7e,0xb3,0xd, 0x75,0x54,0x1, 0xa, 0x2b,0x3e,0x24,0x3e,0x24,
+0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x2d,0x23,0x7e,0xb3,0xd, 0x79,0x54,0x1,
+0xa, 0x3b,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,
+0x2d,0x32,0x4e,0x73,0x9, 0x25,0x7a,0x73,0x9, 0x25,0x7e,0xb3,0xd, 0x76,0x54,0x1,
+0xa, 0x2b,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x7e,0xb3,0xd, 0x6c,
+0x54,0x1f,0xa, 0x3b,0x2d,0x32,0x7e,0xb3,0xd, 0x77,0x54,0x1, 0xa, 0x2b,0x3e,0x24,
+0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x2d,0x23,0x7e,0xb3,0xd, 0x7e,
+0x54,0x1, 0xa, 0x3b,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,
+0x3e,0x34,0x2d,0x32,0x7a,0x73,0x9, 0x26,0x7e,0xb3,0xd, 0x8c,0x54,0x3, 0xa, 0x2b,
+0x3e,0x24,0x3e,0x24,0x7e,0xb3,0xd, 0x8b,0x54,0x3, 0xa, 0x3b,0x2d,0x32,0x7a,0x73,
+0x9, 0x27,0x7e,0x34,0x15,0x99,0x7a,0x37,0x9, 0x36,0x7e,0x73,0xd, 0x7f,0xa, 0x37,
+0x2e,0x34,0xc, 0x0, 0x7a,0x37,0x9, 0x38,0x7e,0x73,0xd, 0x80,0xa, 0x37,0x3e,0x34,
+0x3e,0x34,0x7a,0x37,0x9, 0x3a,0x7e,0x73,0xd, 0x81,0xa, 0x37,0xb, 0x36,0x7a,0x73,
+0x9, 0x3c,0x7e,0xb3,0xd, 0x8d,0x54,0x1, 0xa, 0x2b,0x3e,0x24,0x3e,0x24,0x3e,0x24,
+0x7e,0xb3,0xd, 0x82,0x54,0x3, 0xa, 0x3b,0x2d,0x32,0x7e,0xb3,0xd, 0x8e,0x54,0x1,
+0xa, 0x2b,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x2d,0x23,0x7e,0xb3,0xd, 0x8a,
+0x54,0x1, 0xa, 0x3b,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x2d,0x32,
+0x7a,0x73,0x9, 0x3d,0x7e,0x37,0xd, 0x83,0x7a,0x37,0x9, 0x3e,0x7e,0x73,0xd, 0x85,
+0xa, 0x37,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x7a,0x37,0x9, 0x40,0x7e,0x73,
+0xd, 0x86,0xa, 0x37,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x7a,0x37,0x9, 0x42,
+0x7e,0x73,0xd, 0x87,0xa, 0x37,0x3e,0x34,0x3e,0x34,0x7a,0x37,0x9, 0x44,0x7e,0x73,
+0xd, 0x88,0xa, 0x37,0x3e,0x34,0x3e,0x34,0x7a,0x37,0x9, 0x46,0x7e,0x73,0xd, 0x89,
+0xa, 0x37,0x3e,0x34,0x3e,0x34,0x7a,0x37,0x9, 0x48,0x7e,0x73,0xd, 0x7b,0x7a,0x73,
+0x9, 0x30,0x7e,0x34,0x0, 0x8, 0xca,0x39,0x7e,0x18,0xd, 0x6d,0x7e,0x8, 0x9, 0x28,
+0x12,0x9c,0xb5,0x1b,0xfd,0x22,0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x2b,0xca,0x1b,
+0xca,0xb, 0xc0,0x83,0xc0,0x82,0xc2,0xc6,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb4,
+0xb, 0xa, 0x30,0x5e,0x70,0xfe,0x1b,0xa, 0x30,0xd2,0xb, 0x12,0x77,0xbb,0xd0,0x82,
+0xd0,0x83,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x5b,0xda,0x6b,0xda,0x7b,0x32,0xff,
+0xca,0x3b,0x7c,0xe7,0x7c,0xfb,0x75,0x44,0x0, 0x6c,0xcc,0x9f,0x22,0x7f,0x42,0x7f,
+0x52,0x7f,0x72,0x7e,0x37,0x1, 0xcb,0x7a,0x35,0x3a,0x7e,0xa0,0x5, 0xac,0xae,0x49,
+0x35,0x1, 0x66,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x7a,0x35,0x3c,0x49,0x35,
+0x1, 0x68,0x7d,0x43,0x3e,0x44,0x3e,0x44,0x3e,0x44,0x3e,0x44,0x7a,0x45,0x3e,0x7e,
+0xa0,0x5, 0xac,0xaf,0x49,0x25,0x1, 0x7c,0x7d,0x34,0x9d,0x32,0x12,0x9c,0xec,0x7d,
+0x13,0x7e,0xa0,0x5, 0xac,0xaf,0x49,0x25,0x1, 0x7a,0x7e,0x35,0x3c,0x9d,0x32,0x12,
+0x9c,0xec,0x2d,0x31,0x7a,0x35,0x40,0x7e,0xa0,0x5, 0xac,0xaf,0x9, 0xb5,0x1, 0x7e,
+0x7c,0xdb,0xbe,0xd0,0x2, 0x50,0x2, 0x1, 0x7b,0x6c,0xdd,0x7e,0xa0,0x4, 0xac,0xad,
+0x49,0x25,0xe, 0x91,0x7e,0x35,0x3e,0x9d,0x32,0x12,0x9c,0xec,0x7d,0x13,0x7e,0xa0,
+0x4, 0xac,0xad,0x49,0x25,0xe, 0x8f,0x7e,0x35,0x3c,0x9d,0x32,0x12,0x9c,0xec,0x2d,
+0x31,0x7d,0xc3,0x7e,0xa3,0xd, 0xa7,0x74,0x10,0xa4,0x7a,0x55,0x42,0x7e,0xb3,0x1,
+0x4d,0x70,0x2, 0xa1,0x45,0x7e,0xb3,0x1, 0x60,0x70,0x2, 0xa1,0x45,0x7e,0x35,0x40,
+0x6d,0x22,0x7e,0x33,0xa, 0xb0,0xa, 0x13,0x6d,0x0, 0x12,0x9a,0x60,0x7e,0x15,0x42,
+0x12,0x9a,0x7a,0x7d,0xd3,0x7e,0x53,0xa, 0xb1,0xa, 0xc5,0xbd,0xcd,0x38,0x2, 0x1,
+0xe3,0x7d,0xdc,0x7e,0xb3,0xd, 0xb8,0x60,0x2, 0xa1,0x35,0xf5,0x44,0x6c,0xcc,0x7e,
+0xa0,0x14,0xac,0xad,0x49,0x25,0x10,0x85,0x49,0x35,0x10,0x89,0xbd,0x32,0x68,0x2,
+0x21,0x10,0x49,0x25,0x10,0x87,0x49,0x35,0x10,0x8b,0xbd,0x32,0x78,0x2, 0xa1,0x20,
+0x7e,0x35,0x3e,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x6d,0x22,0x7f,0x71,0x7e,
+0xc7,0x1, 0xcb,0x7d,0x3c,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x7d,0x13,0x6d,
+0x0, 0xbf,0x7, 0x8, 0x2, 0x21,0x46,0x7e,0xb5,0x3a,0x7d,0x1b,0x9d,0x13,0x6d,0x0,
+0xbf,0x7, 0x48,0x2, 0x21,0x4b,0x75,0x4b,0x34,0x21,0x97,0x7d,0x3c,0x1e,0x34,0x1e,
+0x34,0x1e,0x34,0x7d,0x13,0x6d,0x0, 0xbf,0x7, 0x8, 0x2, 0x21,0x8f,0x7d,0x1b,0x9d,
+0x13,0x6d,0x0, 0xbf,0x7, 0x48,0x2, 0x21,0x6b,0x21,0x8f,0x7e,0x54,0x0, 0xc, 0x7d,
+0x9c,0x8d,0x95,0x7d,0x4b,0x1e,0x44,0x7d,0x14,0x9d,0x19,0x6d,0x0, 0xbf,0x7, 0x48,
+0x2, 0x21,0x94,0x7d,0x14,0x2d,0x19,0x6d,0x0, 0xbf,0x7, 0x18,0x2, 0x21,0x94,0x75,
+0x4b,0x20,0x21,0x97,0x75,0x4b,0x19,0x7e,0xa0,0x14,0xac,0xad,0x49,0x25,0x10,0x85,
+0x7e,0x35,0x3c,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x9d,0x32,0x12,0x9c,0xec,
+0x1a,0x26,0x1a,0x24,0x7f,0x51,0x7e,0xa0,0x14,0xac,0xad,0x49,0x25,0x10,0x87,0x7e,
+0x35,0x3e,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x9d,0x32,0x12,0x9c,0xec,0x1a,
+0x26,0x1a,0x24,0x7f,0x71,0x7d,0x2f,0x7d,0x3b,0x2d,0x32,0x7d,0xc3,0xbe,0xc4,0x0,
+0x7, 0x18,0x2, 0x41,0x47,0xbe,0x58,0x0, 0x0, 0x68,0x2, 0x21,0xf3,0x7f,0x15,0xb,
+0x1c,0x7f,0x51,0xbe,0x78,0x0, 0x0, 0x68,0x2, 0x41,0x1, 0x7f,0x17,0xb, 0x1c,0x7f,
+0x71,0x7e,0x14,0x0, 0x64,0x7f,0x17,0x12,0x9a,0x71,0x7f,0x5, 0x12,0x9a,0xcd,0x7f,
+0x41,0xe5,0x4b,0xa, 0x1b,0x6d,0x0, 0xbf,0x4, 0x18,0x2, 0x41,0x21,0xb, 0xc0,0x41,
+0x47,0xbe,0x48,0x0, 0x64,0x18,0x2, 0x41,0x47,0x7e,0x14,0x0, 0x64,0x7f,0x15,0x12,
+0x9a,0x71,0x7f,0x7, 0x12,0x9a,0xcd,0x7f,0x41,0xe5,0x4b,0xa, 0x1b,0x6d,0x0, 0xbf,
+0x4, 0x18,0x2, 0x41,0x47,0x5, 0x44,0x7e,0xa0,0x14,0xac,0xad,0x49,0x25,0x10,0x85,
+0x49,0x35,0x10,0x89,0x9d,0x32,0x12,0x9c,0xec,0x1a,0x26,0x1a,0x24,0x7f,0x51,0x7e,
+0xa0,0x14,0xac,0xad,0x49,0x25,0x10,0x87,0x49,0x35,0x10,0x8b,0x9d,0x32,0x12,0x9c,
+0xec,0x1a,0x26,0x1a,0x24,0x7f,0x71,0xbe,0x58,0x0, 0x0, 0x68,0x2, 0x41,0x85,0x7f,
+0x15,0xb, 0x1c,0x7f,0x51,0xbe,0x78,0x0, 0x0, 0x68,0x2, 0x41,0x93,0x7f,0x17,0xb,
+0x1c,0x7f,0x71,0x7e,0x14,0x0, 0x64,0x7f,0x17,0x12,0x9a,0x71,0x7f,0x5, 0x12,0x9a,
+0xcd,0x7f,0x41,0xe5,0x4b,0xa, 0x1b,0x6d,0x0, 0xbf,0x4, 0x18,0x2, 0x41,0xb3,0xb,
+0xc0,0x41,0xd9,0xbe,0x48,0x0, 0x64,0x18,0x2, 0x41,0xd9,0x7e,0x14,0x0, 0x64,0x7f,
+0x15,0x12,0x9a,0x71,0x7f,0x7, 0x12,0x9a,0xcd,0x7f,0x41,0xe5,0x4b,0xa, 0x1b,0x6d,
+0x0, 0xbf,0x4, 0x18,0x2, 0x41,0xd9,0x5, 0x44,0x7e,0xa0,0x14,0xac,0xad,0x49,0x35,
+0x10,0x8d,0x49,0x25,0x10,0x8f,0x49,0x15,0x10,0x85,0x49,0x5, 0x10,0x87,0x12,0x84,
+0x95,0x7d,0x23,0x7a,0x25,0x49,0xbd,0x2c,0x8, 0x2, 0xa1,0xc, 0xe5,0x4b,0xbe,0xb0,
+0x34,0x7f,0x14,0x50,0x2, 0x61,0x1a,0x2e,0x18,0x0, 0xf, 0x7d,0x1d,0x12,0x9a,0x71,
+0x2f,0x11,0x2f,0x11,0x7e,0x8, 0x0, 0x5a,0x61,0x2b,0x2e,0x18,0x0, 0xf, 0x7d,0x1d,
+0x12,0x9a,0x71,0x2f,0x11,0x2f,0x11,0x7e,0x8, 0x0, 0x4b,0x12,0x9a,0xcd,0x7f,0x41,
+0xe5,0x44,0x60,0x2, 0x81,0xaf,0x4c,0xcc,0x68,0x2, 0x81,0xaf,0x7e,0xa0,0x14,0xac,
+0xad,0x49,0x15,0x10,0x85,0x6d,0x0, 0x49,0x35,0x10,0x8d,0x6d,0x22,0x9f,0x10,0x7f,
+0x51,0x7d,0x3c,0x7d,0x2b,0x7e,0x15,0x49,0x12,0x85,0xcf,0x7d,0xf3,0x1a,0x36,0x1a,
+0xe6,0x7a,0x7d,0x45,0x7e,0xa0,0x14,0xac,0xad,0x49,0x15,0x10,0x85,0x6d,0x0, 0x7f,
+0x17,0x2f,0x10,0x7a,0x1d,0x45,0x7e,0xa0,0x5, 0xac,0xae,0x49,0x15,0x1, 0x66,0x6d,
+0x0, 0x7e,0x1d,0x45,0x2f,0x10,0x7a,0x1d,0x45,0x7e,0x7d,0x45,0xbe,0x78,0x0, 0x0,
+0x58,0x2, 0x61,0xb5,0x7e,0xa0,0x6, 0xac,0xad,0x49,0x35,0xe, 0xad,0x4d,0x33,0x68,
+0x2, 0x61,0xb5,0x7e,0x8, 0x0, 0x2, 0x7f,0x17,0x12,0x9a,0xcd,0x7e,0xa0,0x5, 0xac,
+0xae,0x59,0x35,0x1, 0x66,0x7e,0xa0,0x14,0xac,0xad,0x49,0x15,0x10,0x87,0x6d,0x0,
+0x7e,0xa0,0x14,0xac,0xad,0x49,0x35,0x10,0x8f,0x6d,0x22,0x9f,0x10,0x7f,0x71,0x7d,
+0x3c,0x7d,0x2f,0x7e,0x15,0x49,0x12,0x85,0xcf,0x1a,0x26,0x1a,0x24,0x7a,0x1d,0x45,
+0x7e,0xa0,0x14,0xac,0xad,0x49,0x15,0x10,0x87,0x6d,0x0, 0x7e,0x1d,0x45,0x2f,0x10,
+0x7a,0x1d,0x45,0x7e,0xa0,0x5, 0xac,0xae,0x49,0x15,0x1, 0x68,0x6d,0x0, 0x7e,0x1d,
+0x45,0x2f,0x10,0x7a,0x1d,0x45,0xbe,0x18,0x0, 0x0, 0x58,0x2, 0x81,0x30,0x7e,0xa0,
+0x6, 0xac,0xad,0x49,0x35,0xe, 0xad,0x4d,0x33,0x68,0x2, 0x81,0x30,0x7e,0x8, 0x0,
+0x2, 0x7e,0x1d,0x45,0x12,0x9a,0xcd,0x7e,0xa0,0x5, 0xac,0xae,0x59,0x35,0x1, 0x68,
+0x7e,0xa0,0x6, 0x7c,0x9d,0xac,0x9a,0x49,0x34,0xe, 0xa9,0x4d,0x33,0x68,0x2, 0x81,
+0x4d,0x7d,0x3b,0x59,0x34,0xe, 0xa9,0x7d,0x3f,0x59,0x34,0xe, 0xab,0x49,0x34,0xe,
+0xa9,0x1a,0x26,0x1a,0x24,0x7f,0x5, 0x12,0x9a,0x60,0xbe,0x18,0x0, 0x0, 0x58,0x2,
+0x81,0x77,0x49,0x34,0xe, 0xab,0x1a,0x26,0x1a,0x24,0x7f,0x7, 0x12,0x9a,0x60,0xbe,
+0x18,0x0, 0x0, 0x48,0x2, 0x81,0xaf,0x7e,0xa0,0x6, 0xac,0xad,0x49,0xc5,0xe, 0xad,
+0xbe,0xc4,0x0, 0x3, 0x48,0x2, 0x81,0x99,0x74,0x6, 0x7c,0x5d,0xac,0x5b,0x2e,0x24,
+0xe, 0xad,0x7d,0x3c,0xb, 0x34,0x1b,0x28,0x30,0x7d,0x3b,0x7e,0xa0,0x6, 0xac,0xad,
+0x59,0x35,0xe, 0xa9,0x7d,0x3f,0x7e,0xa0,0x6, 0xac,0xad,0x59,0x35,0xe, 0xab,0xe5,
+0x44,0xbe,0xb0,0x2, 0x50,0x2, 0x81,0xcb,0x7e,0xa0,0x6, 0x7c,0x9d,0xac,0x9a,0x49,
+0x24,0xe, 0xad,0xbe,0x24,0x0, 0x2, 0x58,0x2, 0x81,0xd0,0x75,0x44,0x0, 0x81,0xde,
+0x4d,0x22,0x68,0x2, 0x81,0xde,0x7e,0x34,0x0, 0x1, 0x59,0x34,0xe, 0xad,0xbe,0xc0,
+0x2, 0x50,0x2, 0x81,0xf8,0x7e,0xa0,0x6, 0x7c,0x9d,0xac,0x9a,0x49,0x24,0xe, 0xad,
+0xbe,0x24,0x0, 0x2, 0x58,0x2, 0x81,0xfc,0x6c,0xcc,0xa1,0x35,0x4d,0x22,0x68,0x2,
+0xa1,0x35,0x7e,0x34,0x0, 0x1, 0x59,0x34,0xe, 0xad,0xa1,0x35,0x7e,0x34,0x0, 0x2,
+0x7e,0xa0,0x6, 0xac,0xad,0x59,0x35,0xe, 0xad,0x75,0x44,0x0, 0x6c,0xcc,0xa1,0x35,
+0x6d,0xcc,0x7e,0xa0,0x6, 0x7c,0x9d,0xac,0x9a,0x59,0xc4,0xe, 0xa9,0x59,0xc4,0xe,
+0xab,0x59,0xc4,0xe, 0xad,0xbe,0xd4,0x0, 0x80,0x38,0x2, 0xa1,0x9f,0x7e,0x34,0x1,
+0x0, 0x7d,0xd3,0xa1,0x9f,0x7e,0xf5,0x42,0xbd,0xfc,0x28,0x2, 0xa1,0x50,0xa1,0x7a,
+0x7e,0x35,0x40,0x6d,0x22,0x7c,0x56,0x7c,0x67,0x6c,0x77,0x7d,0x1f,0x12,0x9a,0x7a,
+0x7d,0xd3,0xbe,0xd4,0x0, 0x10,0x40,0x2, 0xa1,0x72,0x7e,0x34,0x0, 0x10,0x7d,0xd3,
+0xa1,0x80,0xbe,0xd4,0x0, 0x80,0x38,0x2, 0xa1,0x80,0x7e,0x34,0x1, 0x0, 0x7d,0xd3,
+0x7e,0xa0,0x2, 0xac,0xad,0x49,0x35,0xe, 0x85,0xbd,0x3c,0x38,0x2, 0xa1,0x97,0x49,
+0x35,0xe, 0x8b,0x7d,0xd3,0xa1,0x9b,0x59,0xd5,0xe, 0x8b,0x59,0xc5,0xe, 0x85,0x7e,
+0xb3,0x1, 0x5f,0x70,0x2, 0xa1,0xe0,0x7e,0xb3,0x10,0xed,0x70,0x2, 0xa1,0xe0,0x7e,
+0x53,0x10,0xec,0xa5,0xbd,0x3, 0x2, 0x80,0x2, 0xa1,0xbf,0x6d,0x33,0xa1,0xd9,0xa5,
+0xbd,0x2, 0x2, 0x80,0x2, 0xa1,0xcd,0x7e,0x34,0x0, 0x8, 0xa1,0xd9,0xa5,0xbd,0x1,
+0x2, 0x80,0x2, 0xa1,0xe0,0x7d,0x3d,0x1e,0x34,0x7d,0xd3,0x75,0x44,0x0, 0x6c,0xcc,
+0x7e,0xa0,0x5, 0xac,0xae,0x49,0x35,0x1, 0x66,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,
+0x34,0x7a,0x35,0x3c,0x49,0x35,0x1, 0x68,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,
+0x7a,0x35,0x3e,0x7e,0xb3,0x1, 0x5e,0xb4,0x1, 0x2, 0x80,0x2, 0xc1,0x6f,0x7e,0x8,
+0x1, 0x12,0x7e,0x1f,0x3, 0x30,0x12,0x9a,0xcd,0x7d,0xc3,0xbe,0xc4,0x0, 0x5b,0x38,
+0x2, 0xc1,0x39,0x7d,0x3c,0x9e,0x34,0x0, 0x5b,0x7d,0xc3,0x7e,0x34,0x0, 0x3, 0xad,
+0x3c,0x1e,0x34,0x2e,0x34,0x0, 0x5b,0x7d,0xc3,0xbe,0xc4,0x0, 0x24,0x38,0x2, 0xc1,
+0x59,0x7d,0x3c,0x9e,0x34,0x0, 0x24,0x7d,0xc3,0xbe,0xc4,0x0, 0xff,0x38,0x2, 0xc1,
+0x5d,0x7e,0x34,0x0, 0xff,0x7d,0xc3,0xc1,0x5d,0x6d,0x33,0x7d,0xc3,0xbd,0xcd,0x40,
+0x2, 0xc1,0x6b,0x7d,0x3d,0x9d,0x3c,0x7d,0xd3,0xc1,0x6f,0x6d,0x33,0x7d,0xd3,0x7e,
+0xa0,0x5, 0xac,0xaf,0x49,0x25,0x1, 0x7a,0x7e,0x35,0x3c,0x9d,0x32,0x12,0x9c,0xec,
+0x7d,0xc3,0xe5,0x44,0x70,0x2, 0xc1,0xa3,0x7d,0x3c,0x6d,0x22,0x7f,0x4, 0x12,0x9a,
+0x60,0x74,0xa, 0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x7d,
+0xc3,0xc1,0xaf,0x7d,0x3c,0xad,0x3d,0x7c,0x76,0x7c,0x65,0xa, 0x24,0x7d,0xc3,0x7e,
+0xa0,0x5, 0xac,0xaf,0x49,0x5, 0x1, 0x7a,0xbe,0x5, 0x3c,0x7d,0x25,0x40,0x2, 0xc1,
+0xcb,0x2e,0x24,0x1, 0x7a,0x7d,0x30,0x2d,0x3c,0xc1,0xd3,0x2e,0x24,0x1, 0x7a,0x7d,
+0x30,0x9d,0x3c,0x1b,0x28,0x30,0x49,0x25,0x1, 0x7c,0x7e,0x35,0x3e,0x9d,0x32,0x12,
+0x9c,0xec,0x7d,0xc3,0x4c,0xcc,0x78,0x2, 0xe1,0x5, 0x7d,0x3c,0x6d,0x22,0x7f,0x4,
+0x12,0x9a,0x60,0x74,0xa, 0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,
+0xf4,0x7d,0xc3,0xe1,0x11,0x7d,0x3c,0xad,0x3d,0x7c,0x76,0x7c,0x65,0xa, 0x24,0x7d,
+0xc3,0x7e,0xa0,0x5, 0x7c,0x3f,0xac,0x3a,0x49,0x1, 0x1, 0x7c,0xbe,0x5, 0x3e,0x7d,
+0x21,0x40,0x2, 0xe1,0x2f,0x2e,0x24,0x1, 0x7c,0x7d,0x30,0x2d,0x3c,0xe1,0x37,0x2e,
+0x24,0x1, 0x7c,0x7d,0x30,0x9d,0x3c,0x1b,0x28,0x30,0x7e,0x35,0x3c,0x7e,0xa0,0x4,
+0xac,0xad,0x59,0x35,0xe, 0x8f,0x7e,0x35,0x3e,0x59,0x35,0xe, 0x91,0xda,0x3b,0x22,
+0xca,0xf8,0xc2,0xab,0x7e,0xf3,0xd, 0xf2,0x4c,0xff,0x78,0x6, 0x7e,0xb3,0x0, 0xec,
+0x60,0xa, 0x4c,0xff,0x68,0x19,0x7e,0xb3,0x9, 0x24,0x70,0x13,0x12,0x80,0x59,0x12,
+0x7c,0x43,0x12,0x84,0x62,0x12,0x87,0x6, 0x12,0x87,0x5d,0x74,0x1, 0x80,0x29,0x4c,
+0xff,0x78,0x9, 0x7e,0xb3,0x0, 0xec,0xbe,0xb0,0x1, 0x68,0xb, 0x4c,0xff,0x68,0x20,
+0x7e,0xb3,0x9, 0x24,0xb4,0x1, 0x19,0x12,0x80,0x59,0x12,0x7c,0x43,0x12,0x84,0x62,
+0x12,0x86,0xcf,0x12,0x87,0xe2,0x74,0x2, 0x12,0x82,0x64,0x12,0x87,0xc9,0x80,0x3b,
+0x4c,0xff,0x78,0x9, 0x7e,0xb3,0x0, 0xec,0xbe,0xb0,0x2, 0x68,0xb, 0x4c,0xff,0x68,
+0x2a,0x7e,0xb3,0x9, 0x24,0xb4,0x2, 0x23,0xd2,0xc, 0x12,0x7d,0xb6,0x80,0x19,0x12,
+0x86,0xcf,0x12,0x87,0xe2,0x7e,0x8, 0x9, 0x25,0x12,0x6b,0xa8,0x74,0x2, 0x12,0x82,
+0x64,0x7e,0x34,0x11,0x94,0x12,0x5f,0xf7,0x20,0xc, 0xe4,0x12,0x86,0x2c,0xd2,0xab,
+0x12,0x80,0xaf,0xe4,0x12,0x87,0xa4,0x12,0x84,0x14,0xda,0xf8,0x22,0xff,0xff,0xff,
+0xca,0x79,0xc2,0x10,0x6c,0x11,0x7e,0xb3,0x1, 0x4d,0x70,0x2, 0x1, 0x3f,0x7e,0xb3,
+0x10,0xb5,0xbe,0xb0,0x2, 0x78,0x2, 0x1, 0x24,0x7e,0xb3,0x10,0xb6,0xb4,0x2, 0x2,
+0x80,0x2, 0x1, 0x3f,0x7e,0x33,0x1, 0xb6,0xbe,0x30,0x1, 0x28,0x2, 0x1, 0x3f,0x7e,
+0x33,0x1, 0xb5,0xbe,0x30,0x1, 0x28,0x2, 0x1, 0x3f,0xe4,0x7a,0xb3,0x1, 0xb5,0x6c,
+0x22,0x7e,0x90,0x5, 0xac,0x92,0x49,0xf4,0x1, 0x66,0x4d,0xff,0x78,0x2, 0x1, 0x58,
+0xbe,0xf4,0x1, 0xc2,0x38,0x2, 0x1, 0x8e,0x7e,0xe4,0x1, 0xc4,0x59,0xe4,0x1, 0x66,
+0x7e,0x70,0x6, 0xac,0x72,0x49,0x23,0x1, 0x90,0x49,0x34,0x1, 0x68,0x9d,0x32,0x12,
+0x9c,0xec,0xbe,0x34,0x0, 0xf, 0x18,0x2, 0x1, 0xc7,0x7e,0x70,0x6, 0xac,0x72,0x49,
+0xe3,0x1, 0x90,0x7e,0x70,0x5, 0xac,0x72,0x59,0xe3,0x1, 0x68,0x1, 0xc7,0xbe,0xf4,
+0x0, 0x6, 0x28,0x2, 0x1, 0xc7,0x7e,0x34,0x0, 0x6, 0x59,0x34,0x1, 0x66,0xac,0x72,
+0x49,0x23,0x1, 0x90,0x49,0x34,0x1, 0x68,0x9d,0x32,0x12,0x9c,0xec,0xbe,0x34,0x0,
+0xf, 0x18,0x2, 0x1, 0xc7,0x7e,0x70,0x6, 0xac,0x72,0x49,0x43,0x1, 0x90,0x7e,0x70,
+0x5, 0xac,0x72,0x59,0x43,0x1, 0x68,0x7e,0x50,0x5, 0xac,0x52,0x49,0x32,0x1, 0x68,
+0xbe,0x34,0x1, 0xc9,0x68,0x2, 0x1, 0xe2,0x7e,0x33,0x2, 0x12,0xa, 0x33,0x59,0x32,
+0x1, 0x68,0xb, 0x20,0xa5,0xba,0x2, 0x2, 0x80,0x2, 0x1, 0x41,0x6c,0x22,0x7e,0x30,
+0xff,0x7e,0x70,0x5, 0xac,0x72,0x19,0x33,0x1, 0x6a,0x7c,0x2, 0x2e,0x0, 0x27,0x74,
+0xff,0xa5,0xf6,0x7e,0x24,0xff,0xff,0x7c,0xb2,0x3e,0xb0,0x24,0x23,0xa, 0x3b,0x1b,
+0x38,0x20,0x7c,0x2, 0x2e,0x0, 0x29,0xe4,0xa5,0xf6,0xb, 0x20,0xa5,0xba,0x2, 0xce,
+0x7e,0xb3,0x1, 0xb5,0x60,0x2, 0x21,0x65,0x7e,0x33,0x1, 0x4d,0x4c,0x33,0x78,0x2,
+0x21,0x3a,0x7e,0xb3,0x1, 0xb6,0x70,0x2, 0x21,0x4a,0xa5,0xbb,0x0, 0x2, 0x80,0x2,
+0x21,0x65,0x7e,0xb3,0x1, 0xb6,0x70,0x2, 0x21,0x65,0x6c,0x22,0x7e,0x44,0x7f,0xff,
+0x7e,0x70,0x6, 0xac,0x72,0x59,0x43,0x1, 0x8e,0x59,0x43,0x1, 0x90,0xb, 0x20,0xa5,
+0xba,0x2, 0xe9,0x81,0x57,0x7e,0xb3,0x1, 0xb6,0x60,0x2, 0x21,0xa4,0x6c,0x22,0x21,
+0x9a,0x7e,0x90,0x5, 0xac,0x92,0x49,0x34,0x1, 0x66,0x7e,0x50,0x6, 0xac,0x52,0x59,
+0x32,0x1, 0x8e,0x49,0x34,0x1, 0x68,0x59,0x32,0x1, 0x90,0x19,0x24,0x1, 0x6a,0x7c,
+0x2, 0x2e,0x0, 0x29,0x74,0x1, 0xa5,0xf6,0xb, 0x20,0x7e,0x33,0x1, 0xb5,0xbc,0x32,
+0x38,0xcf,0x81,0x57,0x6c,0x22,0x41,0x2, 0x6c,0xaa,0x7e,0x70,0x6, 0xac,0x7a,0x49,
+0x23,0x1, 0x90,0x7e,0x70,0x5, 0xac,0x72,0x49,0x33,0x1, 0x68,0x9d,0x32,0x12,0x9c,
+0xec,0x7d,0x43,0x7e,0x70,0x6, 0xac,0x7a,0x49,0x23,0x1, 0x8e,0x7e,0x70,0x5, 0xac,
+0x72,0x49,0x33,0x1, 0x66,0x9d,0x32,0x12,0x9c,0xec,0x2d,0x43,0x7c,0xb2,0x3e,0xb0,
+0x24,0x23,0xa, 0x3b,0xb, 0x38,0x20,0xbd,0x24,0x38,0x2, 0x21,0xf9,0x7c,0x2, 0x2e,
+0x0, 0x27,0x7c,0xba,0xa5,0xf6,0x1b,0x38,0x40,0xb, 0xa0,0xbe,0xa0,0x2, 0x78,0xaa,
+0xb, 0x20,0x7e,0x33,0x1, 0xb5,0xbc,0x32,0x38,0x9e,0x6c,0x22,0x41,0xde,0xd2,0x10,
+0x6c,0xaa,0x41,0x52,0xbc,0xa2,0x78,0x2, 0x41,0x50,0x7c,0xa, 0x2e,0x0, 0x27,0xa5,
+0xe6,0x7c,0x3b,0x7c,0x2, 0x2e,0x0, 0x27,0xa5,0xe6,0xbc,0xb3,0x68,0x2, 0x41,0x50,
+0x7c,0xba,0x3e,0xb0,0x24,0x23,0xa, 0x3b,0xb, 0x38,0x20,0x7c,0xb2,0x3e,0xb0,0x24,
+0x23,0xa, 0x3b,0xb, 0x38,0x30,0xbd,0x32,0x50,0x2, 0x41,0x50,0xc2,0x10,0x41,0x5a,
+0xb, 0xa0,0x7e,0x33,0x1, 0xb5,0xbc,0x3a,0x38,0xba,0x7e,0xb3,0x1, 0x4d,0x70,0x2,
+0x41,0xa0,0x7c,0x2, 0x2e,0x0, 0x27,0xa5,0xe6,0xa, 0x4b,0x9, 0xb4,0x10,0xb5,0xb4,
+0x2, 0x2, 0x80,0x2, 0x41,0x7a,0xc2,0x10,0x41,0xa0,0xb4,0x1, 0x2, 0x80,0x2, 0x41,
+0xa0,0x7e,0x33,0x1, 0xb5,0xbe,0x30,0x2, 0x50,0x2, 0x41,0x9e,0x7e,0x33,0x1, 0xb6,
+0xbe,0x30,0x2, 0x50,0x2, 0x41,0x9e,0xe4,0x19,0xb4,0x10,0xb5,0x41,0xa0,0xc2,0x10,
+0x20,0x10,0x2, 0x41,0xdc,0x7c,0x2, 0x2e,0x0, 0x27,0xa5,0xe6,0x7c,0x3b,0xbe,0x30,
+0x2, 0x40,0x2, 0x41,0xdc,0x7c,0x3, 0x2e,0x0, 0x29,0x74,0x1, 0xa5,0xf6,0x7e,0x70,
+0x5, 0xac,0x72,0x19,0x33,0x1, 0x6a,0x49,0x43,0x1, 0x66,0x7e,0x50,0x6, 0xac,0x53,
+0x59,0x42,0x1, 0x8e,0x49,0x33,0x1, 0x68,0x59,0x32,0x1, 0x90,0xb, 0x20,0x7e,0x3,
+0x1, 0xb5,0xbc,0x2, 0x28,0x2, 0x41,0xe, 0x6c,0x22,0x61,0x4e,0x7e,0x70,0x5, 0xac,
+0x72,0x9, 0xb3,0x1, 0x6a,0xb4,0xff,0x2, 0x80,0x2, 0x61,0x4c,0x6c,0xaa,0x7c,0xa,
+0x2e,0x0, 0x29,0xa5,0xe6,0x60,0x2, 0x61,0x45,0x7e,0xb3,0x1, 0x4d,0x70,0x2, 0x61,
+0x21,0xa, 0x3a,0x9, 0xb3,0x10,0xb5,0x60,0x2, 0x61,0x1d,0x61,0x21,0xb, 0x10,0x61,
+0x45,0x74,0x1, 0xa5,0xf6,0x7e,0x90,0x5, 0xac,0x92,0x49,0x34,0x1, 0x66,0x7e,0x50,
+0x6, 0xac,0x5a,0x59,0x32,0x1, 0x8e,0x49,0x34,0x1, 0x68,0x59,0x32,0x1, 0x90,0x19,
+0xa4,0x1, 0x6a,0x61,0x4c,0xb, 0xa0,0xbe,0xa0,0x2, 0x40,0xb2,0xb, 0x20,0x7e,0x33,
+0x1, 0xb5,0xbc,0x32,0x38,0x96,0x7e,0xb3,0x1, 0x4d,0x70,0x2, 0x81,0x33,0x4c,0x11,
+0x78,0x2, 0x61,0xa0,0x4c,0x33,0x78,0x2, 0x61,0xa0,0xbc,0x31,0x50,0x2, 0x61,0xa0,
+0x7e,0x33,0x1, 0x6a,0xbe,0x30,0x2, 0x50,0x2, 0x61,0x96,0x7e,0x33,0x1, 0x6f,0xbe,
+0x30,0x2, 0x40,0x2, 0x61,0x96,0x7e,0x1f,0x1, 0x6c,0x7e,0x33,0x1, 0x6b,0x7a,0x1f,
+0x1, 0x67,0x7a,0x33,0x1, 0x66,0x7e,0xb3,0x1, 0xb5,0x9c,0xb1,0x7a,0xb3,0x1, 0xb5,
+0x7e,0x33,0x1, 0xb6,0xbe,0x33,0x1, 0xb5,0x38,0x2, 0x81,0x2a,0x6c,0x22,0x7c,0x12,
+0x2e,0x10,0x29,0xa5,0xe7,0x60,0x2, 0x81,0x1b,0x7e,0xf0,0x6, 0xac,0xf2,0x49,0xf7,
+0x1, 0x8e,0xbe,0xf4,0x7f,0xff,0x78,0x2, 0x81,0x1b,0xa, 0x42,0x9, 0x74,0x10,0xb5,
+0xbe,0x70,0x2, 0x40,0x2, 0x81,0x1b,0x49,0x27,0x1, 0x90,0xbe,0x27,0x1, 0xcb,0x40,
+0x2, 0x81,0x1b,0x9, 0xb4,0x10,0xb1,0x70,0x2, 0x81,0x1b,0x74,0x1, 0xa5,0xf7,0x7e,
+0x33,0x1, 0xb5,0x7c,0xa3,0x7e,0x10,0x5, 0xac,0x1a,0x59,0xf0,0x1, 0x66,0x59,0x20,
+0x1, 0x68,0x19,0x20,0x1, 0x6a,0x7d,0x4, 0x2e,0x4, 0x10,0xb5,0x7c,0xb7,0x4, 0x7a,
+0x9, 0xb0,0x7c,0xb3,0x4, 0x7a,0xb3,0x1, 0xb5,0x81,0x22,0xe4,0xa, 0x42,0x19,0xb4,
+0x10,0xb5,0xb, 0x20,0xa5,0xba,0x2, 0x86,0x81,0x33,0xe4,0x7a,0xb3,0x10,0xb5,0x7a,
+0xb3,0x10,0xb6,0x6c,0x22,0x7c,0x12,0x2e,0x10,0x29,0xa5,0xe7,0x60,0x2, 0x81,0x51,
+0x7e,0x44,0x7f,0xff,0x7e,0x70,0x6, 0xac,0x72,0x59,0x43,0x1, 0x8e,0x59,0x43,0x1,
+0x90,0xb, 0x20,0xa5,0xba,0x2, 0xde,0x7e,0xa3,0x1, 0xb5,0x6c,0x22,0x7c,0x12,0x2e,
+0x10,0x29,0xa5,0xe7,0xb4,0x1, 0x2, 0x80,0x2, 0x81,0x8b,0x7e,0x10,0x6, 0xac,0x12,
+0x9, 0xb0,0x1, 0x92,0xbe,0xb0,0x3, 0x78,0x2, 0x81,0x82,0xb4,0x1, 0x2, 0x80,0x2,
+0x81,0x86,0x6c,0x33,0x81,0xbb,0x7e,0x30,0x2, 0x81,0xbb,0x7e,0x10,0x6, 0xac,0x12,
+0x9, 0xb0,0x1, 0x92,0xbe,0xb0,0x2, 0x78,0x2, 0x81,0x9f,0x60,0x2, 0x81,0xb8,0x7e,
+0x30,0x1, 0xbe,0xa0,0x2, 0x40,0x2, 0x81,0xbb,0x7c,0xa, 0xb, 0xa0,0x7e,0x10,0x5,
+0xac,0x1, 0x19,0x20,0x1, 0x6a,0x81,0xbb,0x7e,0x30,0x3, 0xbe,0x30,0xff,0x78,0x2,
+0x81,0xcb,0x7e,0x10,0x6, 0xac,0x12,0x19,0x30,0x1, 0x93,0xb, 0x20,0xbe,0x20,0x2,
+0x40,0x8b,0xda,0x79,0x22,0xca,0x3b,0x20,0x6, 0x2, 0xe1,0xc9,0x7e,0xa3,0x1, 0xb5,
+0x7a,0xa1,0x26,0x7e,0xb3,0x1, 0xb6,0xf5,0x27,0x7e,0x77,0x9, 0x14,0x7e,0x67,0x9,
+0x16,0x7e,0xb3,0x9, 0x12,0xf5,0x24,0x7e,0xb3,0x9, 0x13,0xf5,0x25,0x7e,0x37,0x1,
+0xc9,0x7a,0x35,0x34,0x7e,0x37,0x1, 0xcb,0x7a,0x35,0x36,0x4c,0xaa,0x78,0x4, 0xc2,
+0x7, 0xe1,0xc9,0xe5,0x26,0xbe,0xb0,0x1, 0x38,0x2, 0xa1,0xc5,0x75,0x23,0x0, 0xa1,
+0xb8,0x7e,0xa1,0x23,0x74,0x5, 0xa4,0x49,0x45,0x1, 0x66,0x7a,0x45,0x30,0x49,0x35,
+0x1, 0x68,0x7a,0x35,0x32,0x7e,0x73,0x9, 0x64,0xbe,0x70,0x0, 0x28,0x10,0x7e,0x35,
+0x34,0xbe,0x35,0x30,0x28,0x70,0x7e,0x35,0x36,0xbe,0x35,0x32,0x28,0x68,0x7e,0x35,
+0x30,0x7d,0x27,0x12,0x87,0xb8,0x7a,0x35,0x38,0x7e,0x35,0x32,0x7d,0x27,0x12,0x87,
+0xb8,0x7d,0x23,0x7a,0x25,0x3a,0x7e,0x35,0x38,0x12,0x81,0x2, 0x7a,0x35,0x28,0xbd,
+0x36,0x28,0x43,0x7a,0x65,0x2a,0x7e,0x35,0x28,0xbe,0x34,0x0, 0x1, 0x50,0x7, 0x7e,
+0x34,0x0, 0x1, 0x7a,0x35,0x28,0x7e,0x35,0x38,0x7e,0x25,0x2a,0x7e,0x15,0x28,0x7d,
+0x7, 0x12,0x83,0xc5,0x7e,0xa1,0x23,0x74,0x5, 0xa4,0x59,0x35,0x1, 0x66,0x7e,0x35,
+0x3a,0x7e,0x25,0x2a,0x7e,0x15,0x28,0x7d,0x7, 0x12,0x83,0xc5,0x7e,0xa1,0x23,0x74,
+0x5, 0xa4,0x59,0x35,0x1, 0x68,0x5, 0x23,0xe5,0x26,0xbe,0xb1,0x23,0x28,0x2, 0xa1,
+0x21,0xc2,0x7, 0xe1,0xc9,0xe5,0x26,0xb4,0x1, 0x67,0xe5,0x27,0x70,0x63,0x7e,0x37,
+0x1, 0x66,0x7a,0x35,0x30,0x7e,0x37,0x1, 0x68,0x7a,0x35,0x32,0x7e,0x73,0x9, 0x64,
+0xbe,0x70,0x0, 0x28,0x14,0x7e,0x35,0x34,0xbe,0x35,0x30,0x28,0x8, 0x7e,0x35,0x36,
+0xbe,0x35,0x32,0x38,0x4, 0xc2,0x7, 0xe1,0xc9,0x7e,0x35,0x30,0x7d,0x27,0x12,0x87,
+0xb8,0x7a,0x35,0x38,0x7e,0x35,0x32,0x7d,0x27,0x12,0x87,0xb8,0x7d,0x23,0x7a,0x25,
+0x3a,0x7e,0x35,0x38,0x12,0x81,0x2, 0x7a,0x35,0x28,0x7a,0x35,0x2a,0x7e,0x25,0x38,
+0x7a,0x27,0x8, 0xfa,0x7e,0x25,0x3a,0x7a,0x27,0x8, 0xfc,0x7a,0x37,0x8, 0xfe,0xe1,
+0x36,0xe5,0x26,0xb4,0x1, 0x2, 0x80,0x2, 0xe1,0x36,0x7e,0x37,0x1, 0x66,0x7a,0x35,
+0x30,0x7e,0x37,0x1, 0x68,0x7a,0x35,0x32,0x7e,0x73,0x9, 0x64,0xbe,0x70,0x0, 0x28,
+0x14,0x7e,0x35,0x34,0xbe,0x35,0x30,0x28,0x8, 0x7e,0x35,0x36,0xbe,0x35,0x32,0x38,
+0x4, 0xc2,0x7, 0xe1,0xc9,0x7e,0x35,0x30,0x7d,0x27,0x12,0x87,0xb8,0x7a,0x35,0x38,
+0x7e,0x35,0x32,0x7d,0x27,0x12,0x87,0xb8,0x7d,0x23,0x7a,0x25,0x3a,0x7e,0x35,0x38,
+0x12,0x81,0x2, 0x7a,0x35,0x28,0x9e,0x37,0x9, 0xa, 0x12,0x9c,0xec,0x7a,0x35,0x2c,
+0x7e,0x35,0x38,0x9e,0x37,0x8, 0xfa,0x7e,0x25,0x3a,0x9e,0x27,0x8, 0xfc,0x12,0x81,
+0x2, 0x7a,0x35,0x2e,0x7e,0x37,0x9, 0x1a,0xbe,0x35,0x2e,0x50,0x28,0x7e,0x35,0x28,
+0x9e,0x37,0x8, 0xfe,0x12,0x9c,0xec,0x7e,0xa1,0x24,0x74,0x5, 0xa4,0xbd,0x35,0x58,
+0xc, 0x7e,0xa0,0x2, 0xe5,0x24,0xa4,0xf5,0x24,0xd2,0x7, 0x80,0x8, 0x7e,0xb3,0x9,
+0x12,0xf5,0x24,0xc2,0x7, 0x30,0x7, 0x30,0xe5,0x24,0xa, 0x3b,0xbe,0x35,0x2c,0x28,
+0x4, 0x6d,0x33,0x80,0x27,0xe5,0x25,0xa, 0x3b,0xbe,0x35,0x2c,0x28,0x14,0x7e,0x25,
+0x2c,0x7e,0x34,0x0, 0x64,0xad,0x23,0xe5,0x25,0xa, 0x1b,0x6d,0x0, 0x12,0x9a,0x7c,
+0x80,0xa, 0x7e,0x34,0x0, 0x64,0x80,0x4, 0x7e,0x34,0x0, 0x64,0x7a,0x35,0x2c,0x7e,
+0xf7,0x9, 0xa, 0x7d,0x1f,0x6d,0x0, 0x7e,0x35,0x28,0x6d,0x22,0x9f,0x10,0x7e,0x15,
+0x2c,0x12,0x9a,0x71,0x7e,0x8, 0x0, 0x64,0x12,0x9a,0xcd,0x7f,0x1, 0x7d,0x3f,0x6d,
+0x22,0x2f,0x10,0x7a,0x35,0x2a,0x7e,0x35,0x2a,0xbd,0x36,0x38,0x7, 0x7e,0x25,0x28,
+0xbd,0x26,0x28,0x5, 0x7a,0x65,0x2a,0x80,0xb, 0xbe,0x34,0x0, 0x1, 0x50,0x5, 0x6d,
+0x33,0x7a,0x35,0x2a,0x7e,0x35,0x28,0xbe,0x34,0x0, 0x1, 0x50,0x7, 0x7e,0x34,0x0,
+0x1, 0x7a,0x35,0x28,0x7e,0x35,0x38,0x7e,0x25,0x2a,0x7e,0x15,0x28,0x7d,0x7, 0x12,
+0x83,0xc5,0x7a,0x37,0x1, 0x66,0x7e,0x35,0x3a,0x7e,0x25,0x2a,0x7e,0x15,0x28,0x7d,
+0x7, 0x12,0x83,0xc5,0x7d,0x23,0x7a,0x27,0x1, 0x68,0x7e,0x37,0x1, 0x66,0x7a,0x35,
+0x30,0x7a,0x25,0x32,0x7d,0x27,0x12,0x87,0xb8,0x7a,0x35,0x38,0x7e,0x35,0x32,0x7d,
+0x27,0x12,0x87,0xb8,0x7a,0x35,0x3a,0x7e,0x35,0x2a,0x7a,0x37,0x9, 0xa, 0x7e,0x27,
+0x9, 0x1a,0xbe,0x25,0x2e,0x50,0x12,0x7e,0x25,0x38,0x7a,0x27,0x8, 0xfa,0x7e,0x25,
+0x3a,0x7a,0x27,0x8, 0xfc,0x7a,0x37,0x8, 0xfe,0xda,0x3b,0x22,0x7e,0xb3,0xf, 0xa5,
+0xb4,0x1, 0x2, 0xc3,0x22,0x53,0xca,0xe1,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xaa,
+0xb, 0xa, 0x30,0x5e,0x60,0x3f,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0,
+0xac,0xb, 0xa, 0x30,0x5e,0x70,0xfc,0x1b,0xa, 0x30,0x75,0xcf,0x1f,0xd3,0x22,0xff,
+0xca,0x3b,0x7e,0xe3,0x1, 0xb5,0x7e,0xf7,0x1, 0xc9,0x7e,0xe7,0x1, 0xcb,0x4c,0xee,
+0x68,0x2, 0x1, 0x2e,0x6c,0xff,0xe4,0xa, 0x3f,0x19,0xb3,0x10,0xb3,0x19,0xb3,0x10,
+0xb1,0x19,0xb3,0x10,0xb5,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xea,0x81,0x6a,0x6c,0xff,
+0x7e,0x90,0x6, 0xac,0x9f,0x49,0x34,0x1, 0x8e,0xbe,0x34,0x7f,0xff,0x68,0x2, 0x1,
+0x52,0xe4,0xa, 0x2f,0x19,0xb2,0x10,0xb3,0x19,0xb2,0x10,0xb1,0x19,0xb2,0x10,0xb5,
+0x21,0x26,0xa, 0x2f,0x9, 0xb2,0x10,0xb5,0x60,0x2, 0x21,0x26,0x74,0x2, 0xac,0xbf,
+0x59,0x35,0x10,0xa9,0x49,0x44,0x1, 0x90,0x59,0x45,0x10,0xad,0x49,0x35,0x10,0xa9,
+0x49,0x25,0x10,0xad,0x74,0x14,0xac,0xbf,0x49,0x15,0x10,0x8d,0x49,0x5, 0x10,0x8f,
+0x12,0x84,0x95,0x7d,0xd3,0x74,0x14,0xac,0xbf,0x49,0x35,0x10,0x8d,0x49,0x25,0x10,
+0x8f,0x49,0x15,0x10,0x81,0x49,0x5, 0x10,0x83,0x12,0x84,0x95,0x7d,0xc3,0xa, 0x3f,
+0x9, 0x53,0x10,0xb3,0xbe,0x50,0x2, 0x50,0x2, 0x21,0x21,0x74,0x2, 0xac,0xbf,0x49,
+0x45,0x10,0xa9,0x7d,0x1f,0x1e,0x14,0x1e,0x14,0x1e,0x14,0xbd,0x14,0x28,0x2, 0x1,
+0xe9,0x7d,0x2f,0x9d,0x21,0xbd,0x24,0x50,0x2, 0x1, 0xe9,0x49,0x15,0x10,0xad,0x7d,
+0xe, 0x1e,0x4, 0x1e,0x4, 0x1e,0x4, 0x1e,0x4, 0xbd,0x1, 0x28,0x2, 0x1, 0xe9,0x7d,
+0x2e,0x9d,0x20,0xbd,0x21,0x40,0x2, 0x1, 0xfd,0x7e,0x17,0x1, 0xc9,0x7e,0x4, 0x0,
+0xa, 0x8d,0x10,0xbd,0x1d,0x40,0x2, 0x1, 0xfd,0x74,0x1, 0x21,0x22,0x7e,0x17,0x1,
+0xc9,0x7e,0x44,0x0, 0xa, 0x7d,0x51,0x8d,0x54,0xbd,0x5d,0x40,0x2, 0x21,0x1e,0x7e,
+0x4, 0x0, 0x6, 0x8d,0x10,0xbd,0x1c,0x40,0x2, 0x21,0x1e,0xe4,0x21,0x22,0xe4,0x21,
+0x22,0xe4,0x19,0xb3,0x10,0xb1,0xb, 0xf0,0xbe,0xf0,0x2, 0x68,0x2, 0x1, 0x30,0x6c,
+0xff,0x81,0x64,0x74,0x5, 0xac,0xbf,0x9, 0xd5,0x1, 0x88,0x49,0xd5,0x1, 0x84,0x49,
+0xc5,0x1, 0x86,0xa, 0x3d,0x9, 0xb3,0x10,0xb3,0x60,0x2, 0x21,0x6a,0x6c,0xcc,0x7e,
+0x50,0x14,0xac,0x5d,0x7e,0x70,0x4, 0xac,0x7c,0x2d,0x32,0x59,0xd3,0x10,0x81,0x59,
+0xc3,0x10,0x83,0xb, 0xc0,0xbe,0xc0,0x5, 0x78,0xe5,0xa, 0x3d,0x9, 0xb3,0x10,0xb3,
+0xbe,0xb0,0x5, 0x40,0x2, 0x21,0x81,0xa, 0x3d,0x2e,0x34,0x10,0xb3,0x4, 0x7a,0x39,
+0xb0,0xa, 0x3d,0x9, 0x13,0x10,0xb3,0xbe,0x10,0x1, 0x38,0x2, 0x41,0x4e,0xa, 0x3d,
+0x9, 0xb3,0x10,0xb5,0x60,0x2, 0x41,0x4e,0x7e,0xb3,0x1, 0x4d,0x70,0x2, 0x21,0xd2,
+0x7e,0xb3,0x1, 0x61,0x70,0x2, 0x21,0xd2,0x74,0x14,0xac,0xbd,0x49,0x35,0x10,0x91,
+0x49,0x25,0x10,0x8d,0x2d,0x23,0x7a,0x25,0x23,0x49,0x15,0x10,0x93,0x49,0x35,0x10,
+0x8f,0x2d,0x31,0x7a,0x35,0x25,0x1e,0x24,0x2d,0xd2,0x1e,0xd4,0x1e,0x34,0x2d,0xc3,
+0x1e,0xc4,0x74,0x14,0xac,0xbd,0x49,0x25,0x10,0x89,0x7d,0x3d,0x9d,0x32,0x12,0x9c,
+0xec,0x7a,0x35,0x23,0x74,0x14,0xac,0xbd,0x49,0x25,0x10,0x8b,0x7d,0x3c,0x9d,0x32,
+0x12,0x9c,0xec,0x7a,0x35,0x25,0x7e,0x24,0x0, 0xa, 0x7d,0x3f,0x8d,0x32,0xbe,0x35,
+0x23,0x50,0x2, 0x41,0xc, 0xbe,0x35,0x25,0x40,0x2, 0x41,0x2c,0x7e,0x30,0x14,0xac,
+0x3d,0x7d,0x31,0x2e,0x34,0x10,0x89,0x2e,0x14,0x10,0x85,0x74,0x4, 0x12,0x9b,0x1,
+0x74,0x14,0xac,0xbd,0x59,0xd5,0x10,0x89,0x59,0xc5,0x10,0x8b,0x7e,0x30,0x14,0xac,
+0x3d,0x7d,0x31,0x2e,0x34,0x10,0x8d,0x2e,0x14,0x10,0x91,0x74,0x4, 0x12,0x9b,0x1,
+0x74,0x14,0xac,0xbd,0x59,0xd5,0x10,0x8d,0x59,0xc5,0x10,0x8f,0x81,0x56,0xa, 0x3d,
+0x9, 0xb3,0x10,0xb5,0x70,0x2, 0x81,0x56,0xbe,0x10,0x3, 0x50,0x2, 0x81,0x56,0xa,
+0x3d,0x9, 0xb3,0x10,0xb1,0x70,0x2, 0x81,0x56,0x74,0x14,0xac,0xbd,0x49,0x25,0x10,
+0x81,0x49,0x35,0x10,0x8d,0x9d,0x32,0x12,0x9c,0xec,0xb, 0x34,0x7a,0x35,0x23,0x74,
+0x14,0xac,0xbd,0x49,0x25,0x10,0x83,0x49,0x35,0x10,0x8f,0x9d,0x32,0x12,0x9c,0xec,
+0xb, 0x34,0x7a,0x35,0x25,0x7e,0x24,0x0, 0xa, 0x7d,0x3f,0x8d,0x32,0xbe,0x35,0x23,
+0x38,0x2, 0x41,0xab,0xbe,0x35,0x25,0x28,0x2, 0x81,0x56,0x74,0x14,0xac,0xbd,0x49,
+0x35,0x10,0x8d,0x49,0x25,0x10,0x8f,0x49,0x15,0x10,0x85,0x49,0x5, 0x10,0x87,0x12,
+0x84,0x95,0xb, 0x34,0x6d,0x22,0x7a,0x1d,0x2b,0x74,0x14,0xac,0xbd,0x49,0x35,0x10,
+0x85,0x49,0x25,0x10,0x87,0x74,0x2, 0xac,0xbd,0x49,0x15,0x10,0xa9,0x49,0x5, 0x10,
+0xad,0x12,0x84,0x95,0x6d,0x22,0x7a,0x1d,0x27,0x74,0x14,0xac,0xbd,0x49,0xa5,0x10,
+0x87,0x49,0xb5,0x10,0x8f,0x9d,0xba,0x7d,0x2b,0x7e,0xd, 0x2b,0x12,0x85,0xcf,0x7d,
+0xb3,0x1a,0x36,0x1a,0xa6,0x74,0x14,0xac,0xbd,0x49,0x35,0x10,0x87,0x6d,0x22,0x2f,
+0x51,0x49,0x35,0x10,0x8f,0x9f,0x51,0x49,0x85,0x10,0x85,0x49,0x95,0x10,0x8d,0x9d,
+0x98,0x7e,0x1d,0x27,0x7d,0x29,0x7e,0xd, 0x2b,0x12,0x85,0xcf,0x7d,0x93,0x1a,0x36,
+0x1a,0x86,0x74,0x14,0xac,0xbd,0x49,0x35,0x10,0x85,0x6d,0x22,0x2f,0x41,0x49,0x35,
+0x10,0x8d,0x9f,0x41,0xa, 0x3d,0x9, 0xb3,0x10,0xb1,0xb4,0x2, 0x2, 0x80,0x2, 0x61,
+0x69,0x7e,0x8, 0x0, 0x2, 0x7f,0x14,0x12,0x9a,0xcd,0x7f,0x41,0x7e,0x8, 0x0, 0x2,
+0x7f,0x15,0x12,0x9a,0xcd,0x7f,0x51,0x61,0xa8,0xa, 0x3d,0x9, 0xb3,0x10,0xb1,0xb4,
+0x1, 0x2, 0x80,0x2, 0x61,0xa8,0x74,0x14,0xac,0xbd,0x49,0x25,0x10,0x85,0x74,0x14,
+0xac,0xbd,0x49,0x35,0x10,0x8d,0xbd,0x32,0x40,0x2, 0x61,0x96,0xbe,0x48,0x0, 0x0,
+0x18,0x2, 0x61,0xa8,0x61,0x9e,0xbe,0x48,0x0, 0x0, 0x48,0x2, 0x61,0xa8,0x6e,0x94,
+0xff,0xff,0x6e,0x84,0xff,0xff,0xb, 0x4c,0xa, 0x3d,0x9, 0xb3,0x10,0xb5,0xb4,0x1,
+0x2, 0x80,0x2, 0x61,0xd4,0x7f,0x14,0x2f,0x11,0x7e,0x8, 0x0, 0x5, 0x12,0x9a,0xcd,
+0x7f,0x41,0x74,0x14,0xac,0xbd,0x49,0x35,0x10,0x8d,0x6d,0x22,0x2f,0x41,0x7f,0x15,
+0x2f,0x11,0x61,0xfb,0x7e,0x14,0x0, 0x6, 0x7f,0x14,0x12,0x9a,0x71,0x7e,0x8, 0x0,
+0x5, 0x12,0x9a,0xcd,0x7f,0x41,0x74,0x14,0xac,0xbd,0x49,0x35,0x10,0x8d,0x6d,0x22,
+0x2f,0x41,0x7e,0x14,0x0, 0x6, 0x7f,0x15,0x12,0x9a,0x71,0x7e,0x8, 0x0, 0x5, 0x12,
+0x9a,0xcd,0x7f,0x51,0x74,0x14,0xac,0xbd,0x49,0x35,0x10,0x8f,0x6d,0x22,0x2f,0x51,
+0x7d,0x39,0x7d,0x1f,0x1b,0x14,0x12,0x87,0x35,0x7d,0x93,0x6d,0x88,0x7d,0x3b,0x7d,
+0x1e,0x1b,0x14,0x12,0x87,0x35,0x7d,0xb3,0x6d,0xaa,0xbe,0x48,0x0, 0x0, 0x68,0x2,
+0x81,0x3c,0x74,0x14,0xac,0xbd,0x49,0xd5,0x10,0x8d,0x81,0x3e,0x7d,0xd9,0x7d,0x3e,
+0x1b,0x34,0x6d,0x22,0xbf,0x51,0x58,0x2, 0x81,0x54,0x74,0x14,0xac,0xbd,0x49,0xc5,
+0x10,0x8f,0x81,0x56,0x7d,0xcb,0x74,0x5, 0xac,0xbf,0x59,0xd5,0x1, 0x84,0x59,0xc5,
+0x1, 0x86,0xb, 0xf0,0xbc,0xef,0x28,0x2, 0x21,0x33,0xda,0x3b,0x22,0xca,0x3b,0x7e,
+0xa3,0xd, 0xa2,0x74,0x64,0xa4,0x7d,0x65,0x6c,0xee,0x9f,0x22,0x7f,0x72,0x7a,0x2f,
+0xc, 0xa4,0x7a,0x2f,0xc, 0xa8,0x7a,0x2f,0xc, 0xac,0x7a,0x2f,0xc, 0xb0,0x7a,0x2f,
+0xc, 0xb4,0x7f,0x42,0x7f,0x52,0x7f,0x62,0x7e,0xb3,0x1, 0x27,0xb4,0x1, 0x11,0x7e,
+0x73,0x11,0x49,0xbe,0x70,0x0, 0x28,0x8, 0x7e,0x37,0x11,0x46,0x2d,0x36,0x7d,0x63,
+0x6c,0xff,0x80,0x18,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x15,0xa, 0xb4,0x49,0x5, 0xa,
+0xb2,0xbf,0x70,0x58,0x5, 0x7f,0x70,0x7a,0xf1,0x23,0xb, 0xf0,0xe5,0x13,0xbc,0xbf,
+0x38,0xe2,0x7d,0x16,0x6d,0x0, 0xbf,0x70,0x58,0x3, 0xe4,0x80,0x1e,0xe5,0x16,0xb4,
+0x1, 0x1f,0x85,0x23,0xd, 0xe5,0x23,0xa, 0x3b,0x2e,0x34,0x9c,0x75,0x7a,0x71,0x82,
+0x7a,0x61,0x83,0xe4,0x93,0x7a,0xb3,0x1, 0x9a,0x74,0x1, 0x7a,0xb3,0x1, 0xb5,0xe1,
+0xec,0xe5,0x15,0xa, 0xb, 0xe5,0x23,0xa, 0x1b,0x7d,0x31,0x7d,0x20,0x12,0x9a,0x2e,
+0x7a,0x73,0xc, 0xa2,0x7d,0x31,0x7d,0x20,0x12,0x9a,0x2e,0x7c,0x75,0x7a,0x73,0xc,
+0xa3,0x6c,0xff,0xe1,0xdc,0xe5,0x15,0xa, 0xb, 0xa, 0x4f,0x7d,0x34,0x7d,0x20,0x12,
+0x9a,0x2e,0x7c,0xa7,0x7a,0xa3,0xc, 0xa0,0x7d,0x34,0x7d,0x20,0x12,0x9a,0x2e,0x7c,
+0x75,0x7a,0x73,0xc, 0xa1,0x4c,0xaa,0x78,0x4, 0x9f,0x11,0x80,0x10,0x7d,0x14,0x9d,
+0x10,0x3e,0x14,0x3e,0x14,0x49,0x31,0xa, 0xb4,0x49,0x21,0xa, 0xb2,0x7a,0x1f,0xc,
+0xa4,0xe5,0xa, 0x7c,0x9b,0x1b,0x90,0xbe,0x93,0xc, 0xa0,0x78,0x4, 0x9f,0x11,0x80,
+0x14,0xe5,0x15,0xa, 0xb, 0xa, 0x1f,0x2d,0x10,0x3e,0x14,0x3e,0x14,0x49,0x31,0xa,
+0xb4,0x49,0x21,0xa, 0xb2,0x7a,0x1f,0xc, 0xa8,0x7e,0x83,0xc, 0xa1,0x4c,0x88,0x78,
+0x4, 0x9f,0x11,0x80,0xd, 0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x35,0xa, 0xb0,0x49,0x25,
+0xa, 0xae,0x7a,0x1f,0xc, 0xac,0xe5,0x15,0x14,0xbe,0xb3,0xc, 0xa1,0x78,0x4, 0x9f,
+0x11,0x80,0xd, 0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x35,0xa, 0xb8,0x49,0x25,0xa, 0xb6,
+0x7a,0x1f,0xc, 0xb0,0x7e,0xb3,0xc, 0xa0,0x60,0x4, 0x4c,0x88,0x78,0x4, 0x9f,0x11,
+0x80,0x14,0xe5,0x15,0xa, 0xb, 0xa, 0x1f,0x9d,0x10,0x3e,0x14,0x3e,0x14,0x49,0x31,
+0xa, 0xb0,0x49,0x21,0xa, 0xae,0x7a,0x1f,0xc, 0xb4,0xbe,0x93,0xc, 0xa0,0x68,0x4,
+0x4c,0x88,0x78,0x6, 0x9f,0x11,0x7f,0x41,0x80,0x16,0xe5,0x15,0xa, 0xb, 0xa, 0x1f,
+0x2d,0x10,0x3e,0x14,0x3e,0x14,0x49,0x31,0xa, 0xb0,0x49,0x21,0xa, 0xae,0x7f,0x41,
+0x7e,0xb3,0xc, 0xa0,0x60,0x9, 0xe5,0x15,0x14,0xbe,0xb3,0xc, 0xa1,0x78,0x6, 0x9f,
+0x11,0x7f,0x51,0x80,0x16,0xe5,0x15,0xa, 0xb, 0xa, 0x1f,0x9d,0x10,0x3e,0x14,0x3e,
+0x14,0x49,0x31,0xa, 0xb8,0x49,0x21,0xa, 0xb6,0x7f,0x51,0xe5,0xa, 0x14,0xbe,0xb3,
+0xc, 0xa0,0x68,0x9, 0xe5,0x15,0x14,0xbe,0xb3,0xc, 0xa1,0x78,0x6, 0x9f,0x11,0x7f,
+0x61,0x80,0x16,0xe5,0x15,0xa, 0xb, 0xa, 0x1f,0x2d,0x10,0x3e,0x14,0x3e,0x14,0x49,
+0x31,0xa, 0xb8,0x49,0x21,0xa, 0xb6,0x7f,0x61,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x15,
+0xa, 0xb4,0x49,0x5, 0xa, 0xb2,0x7d,0x36,0x6d,0x22,0xbf,0x1, 0x58,0x2, 0xe1,0xda,
+0xe5,0x14,0xa, 0x1b,0x6d,0x0, 0x7f,0x17,0x12,0x9a,0x60,0x7e,0x8, 0x0, 0x64,0x12,
+0x9a,0xcd,0x7f,0x1, 0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x35,0xa, 0xb4,0x49,0x25,0xa,
+0xb2,0xbf,0x10,0x18,0x2, 0xe1,0xda,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x15,0xa, 0xb4,
+0x49,0x5, 0xa, 0xb2,0x7e,0x1f,0xc, 0xa4,0xbf,0x1, 0x58,0x2, 0xe1,0xda,0x7e,0xa0,
+0x4, 0xac,0xaf,0x49,0x15,0xa, 0xb4,0x49,0x5, 0xa, 0xb2,0x7e,0x1f,0xc, 0xa8,0xbf,
+0x1, 0x58,0x2, 0xe1,0xda,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x15,0xa, 0xb4,0x49,0x5,
+0xa, 0xb2,0x7e,0x1f,0xc, 0xac,0xbf,0x1, 0x58,0x2, 0xe1,0xda,0x7e,0xa0,0x4, 0xac,
+0xaf,0x49,0x15,0xa, 0xb4,0x49,0x5, 0xa, 0xb2,0x7e,0x1f,0xc, 0xb0,0xbf,0x1, 0x58,
+0x2, 0xe1,0xda,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x15,0xa, 0xb4,0x49,0x5, 0xa, 0xb2,
+0x7e,0x1f,0xc, 0xb4,0xbf,0x1, 0x58,0x2, 0xe1,0xda,0x7e,0xa0,0x4, 0xac,0xaf,0x49,
+0x15,0xa, 0xb4,0x49,0x5, 0xa, 0xb2,0xbf,0x4, 0x58,0x2, 0xe1,0xda,0x7e,0xa0,0x4,
+0xac,0xaf,0x49,0x15,0xa, 0xb4,0x49,0x5, 0xa, 0xb2,0xbf,0x5, 0x58,0x2, 0xe1,0xda,
+0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x15,0xa, 0xb4,0x49,0x5, 0xa, 0xb2,0xbf,0x6, 0x58,
+0x2, 0xe1,0xda,0x7c,0x1e,0x2e,0x10,0xd, 0x7c,0xbf,0xa5,0xf7,0xa, 0x3f,0x2e,0x34,
+0x9c,0x75,0x7a,0x71,0x82,0x7a,0x61,0x83,0xe4,0x93,0x7c,0xab,0xa, 0x3e,0x19,0xa3,
+0x1, 0x9a,0xb, 0xe0,0x74,0x4, 0x7c,0x3f,0xac,0x3b,0x2e,0x14,0xa, 0xb2,0x49,0x31,
+0x0, 0x2, 0xb, 0x18,0x20,0xb, 0x1c,0x59,0x31,0x0, 0x2, 0x1b,0x18,0x20,0xbe,0xe1,
+0x16,0x40,0x47,0x7e,0xe1,0x16,0xbe,0xe0,0x2, 0x78,0x49,0xe5,0x8, 0xb4,0x1, 0x44,
+0x7e,0xb3,0xc, 0xa2,0x60,0x18,0xe5,0xa, 0x14,0xbe,0xb3,0xc, 0xa2,0x68,0xf, 0x7e,
+0xb3,0xc, 0xa3,0x60,0x9, 0xe5,0x15,0x14,0xbe,0xb3,0xc, 0xa3,0x78,0x26,0x7e,0xe0,
+0x1, 0x85,0x23,0xd, 0xe5,0x23,0xa, 0x3b,0x2e,0x34,0x9c,0x75,0x7a,0x71,0x82,0x7a,
+0x61,0x83,0xe4,0x93,0x7a,0xb3,0x1, 0x9a,0x80,0xa, 0xb, 0xf0,0xe5,0x13,0xbc,0xbf,
+0x28,0x2, 0xa1,0x25,0x7a,0xe3,0x1, 0xb7,0x7a,0xe3,0x1, 0xb5,0xda,0x3b,0x22,0x7e,
+0xb3,0xd, 0x60,0x54,0x8f,0x7a,0xb3,0xd, 0x60,0x12,0x82,0xf5,0x2, 0x0, 0x1e,0xff,
+0xca,0x3b,0x7e,0xc3,0x1, 0xb5,0x7e,0x33,0x1, 0xb6,0x7e,0x37,0x1, 0xcb,0x7a,0x35,
+0x37,0x4c,0xcc,0x78,0x3c,0x12,0x7f,0x53,0xbe,0x30,0x0, 0x38,0x2, 0x61,0xf2,0x6c,
+0xff,0x7e,0x20,0xff,0x74,0x5, 0xac,0xbf,0x19,0x25,0x1, 0x7e,0xb, 0xf0,0xbe,0xf0,
+0x2, 0x78,0xf1,0x74,0x1, 0x7a,0xb3,0x1, 0xbb,0xe4,0x7a,0xb3,0x1, 0xbc,0x7e,0xb3,
+0x1, 0x4e,0x60,0x6, 0x6d,0x33,0x7a,0x37,0xe, 0xcf,0xe4,0x7a,0xb3,0xe, 0xd1,0x61,
+0xf2,0x7e,0xb3,0xe, 0xd1,0xbe,0xb0,0x3c,0x50,0x9, 0x4, 0x7a,0xb3,0xe, 0xd1,0x74,
+0xc8,0x80,0xb, 0x90,0xb4,0xcb,0xe4,0x93,0xbe,0xb3,0xd, 0xa7,0x68,0x4, 0x7a,0xb3,
+0xd, 0xa7,0x6c,0xff,0x7e,0x70,0x5, 0xac,0x7f,0x7c,0x17,0x2e,0x10,0x31,0x74,0xff,
+0xa5,0xf7,0x7e,0x24,0x7f,0xff,0x7c,0xb7,0x24,0x2d,0xa, 0xb, 0x1b,0x8, 0x20,0x7c,
+0xb7,0x24,0x2f,0xa, 0x3b,0x1b,0x38,0x20,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xd5,0x6c,
+0xff,0x7e,0x50,0x5, 0xac,0x5f,0x49,0x42,0x1, 0x66,0x3e,0x44,0x3e,0x44,0x3e,0x44,
+0x3e,0x44,0x7e,0x70,0x5, 0xac,0x7f,0x7c,0xb7,0x24,0x23,0xa, 0xb, 0x1b,0x8, 0x40,
+0x49,0x22,0x1, 0x68,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x7c,0xb7,0x24,0x25,
+0xa, 0x3b,0x1b,0x38,0x20,0x74,0x5, 0xac,0xbf,0x9, 0x25,0x1, 0x6a,0x7e,0x10,0x5,
+0xac,0x1f,0x2e,0x10,0x27,0x7c,0xb2,0xa5,0xf7,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xb1,
+0x7e,0xb3,0x1, 0x4e,0x60,0x32,0xbc,0x3c,0x68,0x6, 0x6d,0x33,0x7a,0x37,0xe, 0xcf,
+0x6c,0xff,0x74,0x5, 0xac,0xbf,0x9, 0xd5,0x1, 0x88,0xbe,0xd0,0x2, 0x50,0x12,0x74,
+0x6, 0xac,0xbd,0x9, 0xb5,0x1, 0x93,0x70,0x8, 0x6d,0x33,0x7a,0x37,0xe, 0xcf,0x80,
+0x7, 0xb, 0xf0,0xbe,0xf0,0x2, 0x40,0xda,0xa5,0xbb,0x0, 0x20,0x6c,0xff,0x80,0x16,
+0x7e,0x30,0x5, 0xac,0x3f,0x7d,0x31,0x2e,0x34,0x0, 0x23,0x2e,0x14,0x1, 0x7a,0x74,
+0x5, 0x12,0x9b,0x1, 0xb, 0xf0,0xbc,0xcf,0x38,0xe6,0x41,0x58,0x6c,0xff,0x6c,0xee,
+0x7e,0x70,0x5, 0xac,0x7e,0x9, 0xa3,0x1, 0x7e,0x7e,0x10,0x5, 0xac,0x1f,0x2e,0x10,
+0x27,0xa5,0xe7,0xbc,0xba,0x78,0x19,0xbe,0xb0,0xff,0x68,0x14,0x2e,0x34,0x1, 0x7a,
+0x7e,0x30,0x5, 0xac,0x3f,0x2e,0x14,0x0, 0x2d,0x74,0x5, 0x12,0x9b,0x1, 0x80,0x7,
+0xb, 0xe0,0xbe,0xe0,0x2, 0x40,0xc9,0xbe,0xe0,0x2, 0x78,0x14,0x7e,0x30,0x5, 0xac,
+0x3f,0x7d,0x31,0x2e,0x34,0x0, 0x23,0x2e,0x14,0x0, 0x2d,0x74,0x5, 0x12,0x9b,0x1,
+0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xa7,0x6c,0xff,0x7e,0x30,0x5, 0xac,0x3f,0x7d,0x31,
+0x2e,0x34,0x0, 0x2d,0x2e,0x14,0x1, 0x7a,0x74,0x5, 0x12,0x9b,0x1, 0xb, 0xf0,0xbe,
+0xf0,0x2, 0x78,0xe5,0x7e,0xb3,0x1, 0xbc,0x60,0x2, 0x41,0x58,0x6c,0xff,0x41,0x52,
+0x7c,0xef,0x75,0x39,0x0, 0x80,0x26,0x7e,0x30,0x5, 0xac,0x3f,0x9, 0xa1,0x1, 0x7e,
+0x7e,0x11,0x39,0x7e,0x0, 0x5, 0xac,0x10,0x2e,0x10,0x27,0xa5,0xe7,0xbc,0xba,0x78,
+0xa, 0xbe,0xa0,0xff,0x68,0x5, 0x7e,0xe1,0x39,0x80,0x7, 0x5, 0x39,0xbe,0xc1,0x39,
+0x38,0xd5,0xbe,0xe0,0x2, 0x40,0x2, 0x7c,0xef,0x7e,0x5, 0x37,0x3e,0x4, 0x3e,0x4,
+0x3e,0x4, 0x3e,0x4, 0x7e,0x50,0x5, 0xac,0x5e,0x7c,0xb5,0x24,0x25,0xa, 0x1b,0xb,
+0x18,0x30,0xbd,0x3, 0x28,0xc, 0x74,0x5, 0xac,0xbe,0x49,0x15,0x1, 0x7c,0xbd,0x1,
+0x38,0x17,0x7c,0xb5,0x24,0x23,0xa, 0x2b,0xb, 0x28,0x20,0x74,0x5, 0xac,0xbf,0x59,
+0x25,0x1, 0x7a,0x59,0x35,0x1, 0x7c,0x80,0x7, 0x7c,0xbf,0x7c,0x7e,0x12,0x8, 0x0,
+0xb, 0xf0,0xbc,0xcf,0x28,0x2, 0x21,0xd0,0xbe,0xc0,0x0, 0x38,0x2, 0x61,0xbd,0x6c,
+0xff,0x7e,0x70,0x5, 0xac,0x7f,0x49,0x23,0x1, 0x7a,0x1e,0x24,0x1e,0x24,0x1e,0x24,
+0x1e,0x24,0x59,0x23,0x1, 0x84,0x49,0x23,0x1, 0x7c,0x1e,0x24,0x1e,0x24,0x1e,0x24,
+0x1e,0x24,0x59,0x23,0x1, 0x86,0x9, 0x53,0x1, 0x7e,0x19,0x53,0x1, 0x88,0x7e,0xb3,
+0x1, 0x4e,0x70,0x2, 0x61,0xb4,0x9, 0xd3,0x1, 0x88,0xbe,0xd0,0x2, 0x50,0xf, 0x49,
+0x33,0x1, 0x86,0xbe,0x35,0x37,0x40,0x6, 0x6d,0x33,0x7a,0x37,0xe, 0xcf,0x7e,0x17,
+0xe, 0xcf,0x4d,0x11,0x78,0x40,0xbe,0xf0,0x1, 0x78,0x8, 0x7d,0x1, 0xb, 0x4, 0x7a,
+0x7, 0xe, 0xcf,0xbe,0xd0,0x2, 0x40,0x2, 0x61,0xb4,0x6c,0xee,0x7e,0x50,0x5, 0xac,
+0x5f,0x49,0x2, 0x1, 0x84,0x7e,0x90,0x4, 0xac,0x9e,0x7e,0x70,0xc, 0xac,0x7d,0x2d,
+0x34,0x59,0x3, 0xe, 0xb7,0x49,0x2, 0x1, 0x86,0x59,0x3, 0xe, 0xb9,0xb, 0xe0,0xbe,
+0xe0,0x3, 0x78,0xd8,0x61,0xb4,0xbe,0xd0,0x2, 0x40,0x2, 0x61,0xa5,0x74,0x5, 0xac,
+0xbf,0x49,0x35,0x1, 0x84,0x7e,0x4, 0x0, 0x3, 0x8d,0x10,0x7d,0x10,0x3e,0x14,0x3e,
+0x14,0x7e,0x50,0xc, 0xac,0x5d,0x2d,0x21,0x59,0x32,0xe, 0xb7,0x74,0x5, 0xac,0xbf,
+0x49,0x35,0x1, 0x86,0x59,0x32,0xe, 0xb9,0x6d,0x33,0x74,0x5, 0xac,0xbf,0x59,0x35,
+0x1, 0x84,0x6c,0xee,0x7e,0x50,0x4, 0xac,0x5e,0x7e,0x70,0xc, 0xac,0x7d,0x2d,0x32,
+0x49,0x23,0xe, 0xb7,0x74,0x5, 0xac,0xbf,0x7d,0x45,0x2e,0x44,0x1, 0x84,0xb, 0x48,
+0x30,0x2d,0x32,0x1b,0x48,0x30,0xb, 0xe0,0xbe,0xe0,0x3, 0x78,0xd7,0x7e,0x24,0x0,
+0x3, 0xb, 0x48,0x30,0x8d,0x32,0x1b,0x48,0x30,0x6d,0x33,0x59,0x35,0x1, 0x86,0x6c,
+0xee,0x7e,0x50,0x4, 0xac,0x5e,0x7e,0x70,0xc, 0xac,0x7d,0x2d,0x32,0x49,0x33,0xe,
+0xb9,0x7e,0x30,0x5, 0xac,0x3f,0x2e,0x14,0x1, 0x86,0xb, 0x18,0x0, 0x2d,0x3, 0x1b,
+0x18,0x0, 0xb, 0xe0,0xbe,0xe0,0x3, 0x78,0xd8,0x7e,0x24,0x0, 0x3, 0xb, 0x18,0x30,
+0x8d,0x32,0x1b,0x18,0x30,0xbe,0xf0,0x1, 0x78,0xa, 0x7e,0x37,0xe, 0xcf,0xb, 0x34,
+0x7a,0x37,0xe, 0xcf,0xb, 0xf0,0xbe,0xf0,0x2, 0x68,0x2, 0x41,0x61,0x74,0x1, 0x7a,
+0xb3,0x1, 0xb9,0x7e,0xb3,0x1, 0x4e,0x60,0x29,0x6c,0xff,0x74,0x5, 0xac,0xbf,0x9,
+0xd5,0x1, 0x88,0xbe,0xd0,0x2, 0x50,0x13,0x74,0x6, 0xac,0xbd,0x9, 0xb5,0x1, 0x93,
+0xb4,0x1, 0x8, 0x6d,0x33,0x7a,0x37,0xe, 0xcf,0x80,0x7, 0xb, 0xf0,0xbe,0xf0,0x2,
+0x40,0xd9,0xda,0x3b,0x22,0xca,0x3b,0x9f,0x11,0x7a,0x1f,0xb, 0xb2,0x6c,0xff,0xc1,
+0xb3,0x7c,0x1f,0x2e,0x10,0xd, 0xa5,0xe7,0x7c,0xeb,0xe5,0x15,0xa, 0x1b,0xa, 0x3e,
+0x7d,0x21,0x12,0x9a,0x2e,0x7c,0xd7,0xa, 0x3e,0x7d,0x21,0x12,0x9a,0x2e,0x7c,0xc5,
+0x9f,0x11,0x7a,0x1f,0xc, 0xa8,0x7a,0x1f,0xc, 0xac,0x7c,0xbe,0x7c,0x7d,0x12,0x78,
+0x58,0x7a,0x1f,0xc, 0xb0,0x4c,0xcc,0x68,0xc, 0x7c,0xbe,0x14,0x7c,0x7d,0x12,0x78,
+0x58,0x7a,0x1f,0xc, 0xa8,0xe5,0x15,0x14,0xbc,0xbc,0x68,0xc, 0x7c,0xbe,0x4, 0x7c,
+0x7d,0x12,0x78,0x58,0x7a,0x1f,0xc, 0xac,0xa, 0x1c,0x6d,0x0, 0x1b,0xc, 0x7e,0x5f,
+0xc, 0xa8,0x7f,0x15,0x12,0x9a,0x60,0x7f,0x41,0xa, 0x1c,0x6d,0x0, 0x7e,0x6f,0xc,
+0xb0,0x7f,0x16,0x12,0x9a,0x60,0x2f,0x41,0xa, 0x1c,0x6d,0x0, 0xb, 0xc, 0x7e,0x7f,
+0xc, 0xac,0x7f,0x17,0x12,0x9a,0x60,0x2f,0x14,0x7a,0x1f,0xc, 0xa0,0x7f,0x6, 0x2f,
+0x5, 0x2f,0x7, 0x7a,0xf, 0xc, 0xa4,0x7e,0x1f,0xb, 0xb2,0xbf,0x10,0x50,0x8, 0x7e,
+0x1f,0xc, 0xa4,0x7a,0x1f,0xb, 0xb2,0xbe,0xd0,0x0, 0x38,0x2, 0xa1,0x4b,0xe5,0xa,
+0xa, 0x2b,0x1b,0x24,0xa, 0x3d,0xbd,0x32,0x48,0x2, 0xa1,0x4b,0xbe,0xc0,0x1, 0x38,
+0x2, 0xa1,0x4b,0xe5,0x15,0xa, 0x2b,0x1b,0x25,0xa, 0x3c,0xbd,0x32,0x58,0x7c,0x7e,
+0xb3,0x1, 0xb5,0xb4,0x1, 0x75,0xe4,0x7a,0xb3,0x11,0x4d,0x7e,0x1f,0xc, 0xac,0x7a,
+0x1d,0x24,0x7e,0x1f,0xc, 0xb0,0x7e,0xf, 0xc, 0xa8,0x7c,0xbc,0x12,0x7d,0xec,0xf5,
+0x23,0x7e,0x73,0x11,0x4d,0xbe,0x70,0x0, 0x28,0x51,0xe5,0x15,0xac,0xbd,0x25,0x23,
+0x7c,0x7d,0x12,0x78,0x58,0x7a,0x1f,0xc, 0xb8,0x7e,0x33,0x11,0x4d,0xa, 0x13,0x6d,
+0x0, 0x12,0x9a,0x60,0x74,0x7, 0x1e,0x34,0xe, 0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,
+0x78,0xf4,0x7a,0x1f,0xc, 0xb8,0xe5,0x23,0xa, 0x1b,0x6d,0x0, 0x7e,0x7f,0xc, 0xb8,
+0x7f,0x17,0x12,0x9a,0x60,0x7f,0x1, 0x7e,0x1f,0xc, 0xa0,0x2f,0x10,0x7a,0x1f,0xc,
+0xa0,0x7e,0x1f,0xc, 0xa4,0x2f,0x17,0x7a,0x1f,0xc, 0xa4,0x7e,0x1f,0xc, 0xa0,0x74,
+0x7, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0xf, 0xc, 0xa4,0x12,0x9a,0x7c,0x2e,0x18,0x0,
+0x40,0x7a,0x37,0xc, 0xb4,0x9f,0x11,0x7a,0x1f,0xc, 0xa8,0x7a,0x1f,0xc, 0xac,0x7c,
+0xbe,0x7c,0x7c,0x12,0x7b,0x35,0x7a,0x1f,0xc, 0xb0,0x4c,0xdd,0x68,0xe, 0x7c,0xbe,
+0x9e,0xb1,0x15,0x7c,0x7c,0x12,0x7b,0x35,0x7a,0x1f,0xc, 0xa8,0xe5,0xa, 0x14,0xbc,
+0xbd,0x68,0xd, 0xe5,0x15,0x2c,0xbe,0x7c,0x7c,0x12,0x7b,0x35,0x7a,0x1f,0xc, 0xac,
+0xa, 0x1d,0x6d,0x0, 0x1b,0xc, 0x7e,0x5f,0xc, 0xa8,0x7f,0x15,0x12,0x9a,0x60,0x7f,
+0x41,0xa, 0x1d,0x6d,0x0, 0x7e,0x6f,0xc, 0xb0,0x7f,0x16,0x12,0x9a,0x60,0x2f,0x41,
+0xa, 0x1d,0x6d,0x0, 0xb, 0xc, 0x7e,0x7f,0xc, 0xac,0x7f,0x17,0x12,0x9a,0x60,0x2f,
+0x14,0x7a,0x1f,0xc, 0xa0,0x7f,0x16,0x2f,0x15,0x2f,0x17,0x7a,0x1f,0xc, 0xa4,0xbe,
+0xd0,0x1, 0x38,0x2, 0xc1,0x87,0xe5,0xa, 0xa, 0x2b,0x1b,0x25,0xa, 0x3d,0xbd,0x32,
+0x48,0x2, 0xc1,0x87,0xbe,0xc0,0x0, 0x38,0x2, 0xc1,0x87,0xe5,0x15,0xa, 0x2b,0x1b,
+0x24,0xa, 0x3c,0xbd,0x32,0x48,0x2, 0xc1,0x87,0x7e,0xb3,0x1, 0xb5,0xb4,0x1, 0x77,
+0xe4,0x7a,0xb3,0x11,0x4d,0x7e,0x1f,0xc, 0xac,0x7a,0x1d,0x24,0x7e,0x1f,0xc, 0xb0,
+0x7e,0xf, 0xc, 0xa8,0x7c,0xbd,0x12,0x7d,0xec,0xf5,0x23,0x7e,0x73,0x11,0x4d,0xbe,
+0x70,0x0, 0x28,0x53,0x7e,0xa1,0x15,0xe5,0x23,0xa4,0x2c,0xbc,0x7c,0x7c,0x12,0x7b,
+0x35,0x7a,0x1f,0xc, 0xb8,0x7e,0x33,0x11,0x4d,0xa, 0x13,0x6d,0x0, 0x12,0x9a,0x60,
+0x74,0x7, 0x1e,0x34,0xe, 0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x7a,0x1f,
+0xc, 0xb8,0xe5,0x23,0xa, 0x1b,0x6d,0x0, 0x7e,0x7f,0xc, 0xb8,0x7f,0x17,0x12,0x9a,
+0x60,0x7f,0x1, 0x7e,0x1f,0xc, 0xa0,0x2f,0x10,0x7a,0x1f,0xc, 0xa0,0x7e,0x1f,0xc,
+0xa4,0x2f,0x17,0x7a,0x1f,0xc, 0xa4,0x7e,0x1f,0xc, 0xa0,0x74,0x7, 0x2f,0x11,0x14,
+0x78,0xfb,0x7e,0xf, 0xc, 0xa4,0x12,0x9a,0x7c,0x2e,0x18,0x0, 0x40,0x7a,0x37,0xc,
+0xb6,0x7e,0x27,0xc, 0xb4,0x74,0x5, 0xac,0xbf,0x59,0x25,0x1, 0x66,0x59,0x35,0x1,
+0x68,0xb, 0xf0,0x7e,0x73,0x1, 0xb5,0xbc,0x7f,0x28,0x2, 0x81,0x1, 0xda,0x3b,0x22,
+0xca,0xf8,0x7e,0x73,0x9, 0x66,0xa, 0x47,0x7e,0x73,0x9, 0xc3,0xa, 0x57,0x9d,0x54,
+0x7c,0xab,0x7e,0x47,0x8, 0xf4,0x7e,0x37,0x8, 0xf8,0x6c,0xff,0xe1,0x87,0x7e,0x50,
+0x4, 0xac,0x5f,0x2d,0x24,0x49,0xf2,0x0, 0x2, 0xb, 0x28,0xe0,0xbe,0x7c,0xf8,0x30,
+0x48,0x2, 0xc1,0xfe,0x7e,0xb3,0x9, 0x63,0xbc,0xbf,0x28,0x2, 0xe1,0x1c,0xbe,0x7c,
+0xec,0x78,0x48,0x2, 0xe1,0x7e,0x7e,0xb3,0x9, 0x63,0xbc,0xbf,0x28,0x2, 0xe1,0x7e,
+0x7e,0xf, 0x3, 0x30,0xbe,0x8, 0x7, 0xd0,0x48,0x2, 0xe1,0x7e,0xa, 0x2f,0x2e,0x24,
+0xf, 0x19,0x7e,0x29,0xb0,0x4, 0x7a,0x29,0xb0,0xa, 0x2f,0x9, 0xb2,0xf, 0x19,0xbe,
+0xb0,0xf, 0x38,0x2, 0xe1,0x85,0x7e,0x50,0x2, 0xac,0x5f,0x2d,0x23,0xb, 0x28,0x10,
+0x1a,0x2, 0x1a,0x0, 0x2f,0x7, 0xbe,0x8, 0x32,0xc8,0x48,0x2, 0xe1,0x85,0x74,0x1,
+0x7a,0xb3,0x1, 0xc0,0x6c,0x55,0xe1,0x68,0xa, 0x5, 0x7e,0x43,0x9, 0x63,0xa, 0x14,
+0x2d,0x10,0x19,0xb1,0xf, 0x19,0xb, 0x50,0x7e,0x43,0x9, 0x66,0xa, 0x14,0x7e,0x43,
+0x9, 0x64,0xa, 0x4, 0x9d,0x1, 0xa, 0x15,0xbd,0x10,0x48,0xdc,0xe1,0x85,0xe4,0xa,
+0x1f,0x19,0xb1,0xf, 0x19,0xb, 0xf0,0xbc,0xaf,0x28,0x2, 0xc1,0xde,0x7e,0xb3,0x1,
+0xc0,0x60,0x2, 0xe1,0xe8,0x6c,0xff,0xe1,0xe0,0x74,0x4, 0xac,0xbf,0x2d,0x54,0x49,
+0x35,0x0, 0x2, 0xb, 0x58,0x20,0xbe,0x1c,0xfd,0xa8,0x48,0x2, 0xe1,0xd7,0xa, 0x3f,
+0x2e,0x34,0xe, 0xeb,0x7e,0x39,0xb0,0x4, 0x7a,0x39,0xb0,0xa, 0x5f,0x9, 0x75,0xe,
+0xeb,0xbe,0x70,0x1, 0x38,0x2, 0xe1,0xde,0x12,0x70,0x0, 0x70,0x2, 0xe1,0xde,0x74,
+0x3, 0x7a,0xb3,0x1, 0xc0,0xe1,0xde,0xe4,0xa, 0x3f,0x19,0xb3,0xe, 0xeb,0xb, 0xf0,
+0x7e,0x73,0x9, 0x63,0xbc,0x7f,0x38,0xb1,0xda,0xf8,0x22,0x12,0x75,0x90,0x12,0x7b,
+0x7b,0x12,0x81,0x7c,0x12,0x6a,0xfb,0x12,0x86,0x43,0x12,0x7c,0x2, 0x2, 0x87,0x8e,
+0xca,0x3b,0x7e,0x73,0x9, 0x66,0xa, 0x47,0x7e,0x73,0x9, 0xc3,0xa, 0x57,0x9d,0x54,
+0xf5,0x23,0xd2,0x3, 0x12,0x6e,0xdd,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xac,0xb,
+0xa, 0x30,0x5e,0x70,0xdf,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xac,
+0xb, 0xa, 0x30,0x5e,0x70,0xbf,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0,
+0xac,0xb, 0xa, 0x30,0x4e,0x70,0x80,0x1b,0xa, 0x30,0x6c,0xdd,0x21,0x52,0xa, 0x3d,
+0x9, 0xc3,0x9, 0x67,0xa, 0x3c,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x14,0xbe,0xc0,
+0x10,0x40,0x2, 0x1, 0x90,0x6d,0x33,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x8, 0x7e,
+0xf, 0x11,0x42,0x79,0x30,0x0, 0xa, 0x7e,0x34,0x0, 0x1, 0x7c,0xbc,0x70,0x2, 0x1,
+0x86,0x3e,0x34,0x14,0x78,0xfb,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x6, 0x1, 0xf3,
+0xbe,0xc0,0x20,0x40,0x2, 0x1, 0xc6,0x6d,0x33,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0,
+0x6, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xa, 0xa, 0x5c,0x9e,0x54,0x0, 0x10,0x7e,
+0x34,0x0, 0x1, 0x70,0x2, 0x1, 0xbc,0x3e,0x34,0x14,0x78,0xfb,0x7e,0xf, 0x11,0x42,
+0x79,0x30,0x0, 0x8, 0x1, 0xf3,0x6d,0x33,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x6,
+0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x8, 0xa, 0x5c,0x9e,0x54,0x0, 0x20,0x7e,0x34,
+0x0, 0x1, 0x70,0x2, 0x1, 0xeb,0x3e,0x34,0x14,0x78,0xfb,0x7e,0xf, 0x11,0x42,0x79,
+0x30,0x0, 0xa, 0xe4,0x7a,0xb3,0x1, 0x27,0x74,0x1, 0x12,0x87,0xa4,0x12,0x84,0x14,
+0x12,0x17,0xcc,0x50,0xfb,0x9f,0x44,0x6c,0xff,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0,
+0xb0,0xb, 0xa, 0x30,0x5e,0x70,0x7f,0x1b,0xa, 0x30,0x74,0x2, 0xac,0xbf,0x7e,0x1f,
+0x11,0x3e,0x2d,0x35,0xb, 0x1a,0x30,0x6d,0x22,0x2f,0x41,0xb, 0xf0,0xbe,0xf0,0x80,
+0x78,0xd7,0xa, 0x3d,0x9, 0xe3,0x9, 0x95,0x74,0x7, 0x7f,0x14,0x1e,0x34,0x1e,0x24,
+0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x74,0x2, 0xac,0xbe,0x59,0x35,0x5, 0x0,
+0xb, 0xd0,0xe5,0x23,0xbc,0xbd,0x28,0x2, 0x1, 0x4e,0x7e,0xf, 0x11,0x42,0x2e,0x14,
+0x0, 0xac,0xb, 0xa, 0x30,0x5e,0x70,0xdf,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,
+0x14,0x0, 0xac,0xb, 0xa, 0x30,0x4e,0x70,0x40,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,
+0x2e,0x14,0x0, 0xac,0xb, 0xa, 0x30,0x5e,0x70,0x7f,0x1b,0xa, 0x30,0x6c,0xdd,0x41,
+0x95,0xa, 0x3d,0x9, 0xc3,0x9, 0x67,0xa, 0x3c,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0,
+0x14,0xbe,0xc0,0x10,0x40,0x2, 0x21,0xd3,0x6d,0x33,0x7e,0xf, 0x11,0x42,0x79,0x30,
+0x0, 0x8, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xa, 0x7e,0x34,0x0, 0x1, 0x7c,0xbc,
+0x70,0x2, 0x21,0xc9,0x3e,0x34,0x14,0x78,0xfb,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0,
+0x6, 0x41,0x36,0xbe,0xc0,0x20,0x40,0x2, 0x41,0x9, 0x6d,0x33,0x7e,0xf, 0x11,0x42,
+0x79,0x30,0x0, 0x6, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xa, 0xa, 0x5c,0x9e,0x54,
+0x0, 0x10,0x7e,0x34,0x0, 0x1, 0x70,0x2, 0x21,0xff,0x3e,0x34,0x14,0x78,0xfb,0x7e,
+0xf, 0x11,0x42,0x79,0x30,0x0, 0x8, 0x41,0x36,0x6d,0x33,0x7e,0xf, 0x11,0x42,0x79,
+0x30,0x0, 0x6, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x8, 0xa, 0x5c,0x9e,0x54,0x0,
+0x20,0x7e,0x34,0x0, 0x1, 0x70,0x2, 0x41,0x2e,0x3e,0x34,0x14,0x78,0xfb,0x7e,0xf,
+0x11,0x42,0x79,0x30,0x0, 0xa, 0xe4,0x7a,0xb3,0x1, 0x27,0x74,0x1, 0x12,0x87,0xa4,
+0x12,0x84,0x14,0x12,0x17,0xcc,0x50,0xfb,0x9f,0x44,0x6c,0xff,0x7e,0xf, 0x11,0x42,
+0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x5e,0x70,0x7f,0x1b,0xa, 0x30,0x74,0x2, 0xac,
+0xbf,0x7e,0x1f,0x11,0x3e,0x2d,0x35,0xb, 0x1a,0x30,0x6d,0x22,0x2f,0x41,0xb, 0xf0,
+0xbe,0xf0,0x80,0x78,0xd7,0xa, 0x3d,0x9, 0xe3,0x9, 0x95,0x74,0x7, 0x7f,0x14,0x1e,
+0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x74,0x2, 0xac,0xbe,0x59,
+0x35,0x5, 0x5c,0xb, 0xd0,0xe5,0x23,0xbc,0xbd,0x28,0x2, 0x21,0x91,0xc2,0x3, 0xc2,
+0x0, 0x7e,0x8, 0x9, 0x25,0x12,0x1, 0x20,0xda,0x3b,0x22,0xca,0x3b,0x7e,0xb3,0x1,
+0x4c,0x70,0x2, 0xa1,0x4e,0x7e,0xf7,0x1, 0xc9,0x7e,0xe7,0x1, 0xcb,0x1e,0xe4,0x7e,
+0xd7,0x2, 0xef,0x7e,0xc7,0x2, 0xf1,0x7e,0xb7,0x2, 0xf3,0x7e,0xa7,0x2, 0xf5,0x7e,
+0x97,0x2, 0xf7,0x7e,0xb3,0x2, 0xf9,0xf5,0x23,0x7e,0xf3,0x1, 0xb5,0x7e,0xe3,0x9,
+0xc4,0x7c,0xde,0x1e,0xd0,0x6c,0xcc,0xa1,0x48,0xa, 0x8c,0x9, 0x78,0x1, 0x9a,0x7a,
+0x71,0x25,0xa, 0x2e,0xa, 0x87,0x7d,0x38,0x12,0x9a,0x2e,0x7c,0xb5,0xf5,0x26,0xa,
+0x2d,0x7d,0x38,0x12,0x9a,0x2e,0x7c,0xb5,0xf5,0x27,0x75,0x24,0x0, 0x7e,0xb3,0x1,
+0x4c,0x70,0x2, 0xa1,0x38,0xe5,0x27,0x60,0x2, 0x81,0x27,0x7e,0x34,0x0, 0x5, 0xad,
+0x3e,0x1e,0x34,0x74,0x5, 0xac,0xbc,0x75,0x28,0xa, 0x7e,0xa1,0x25,0x74,0x4, 0xa4,
+0x7d,0x85,0x2e,0x87,0x8, 0xf4,0x49,0x18,0x0, 0x2, 0xb, 0x88,0x0, 0x7d,0x3d,0x6d,
+0x22,0xbf,0x1, 0x58,0x17,0x49,0x18,0x0, 0x6, 0x49,0x8, 0x0, 0x4, 0x7d,0x3c,0x6d,
+0x22,0xbf,0x1, 0x58,0x7, 0xbe,0xf0,0x1, 0x78,0x2, 0x61,0xea,0x7e,0xa1,0x26,0x74,
+0x4, 0xa4,0x49,0x15,0x3, 0x36,0x49,0x5, 0x3, 0x34,0x7d,0x3b,0x6d,0x22,0xbf,0x1,
+0x58,0x4b,0x49,0x15,0x3, 0x3a,0x49,0x5, 0x3, 0x38,0x7d,0x3a,0x6d,0x22,0xbf,0x1,
+0x58,0x3b,0xa, 0x3d,0xe5,0x27,0xa, 0x8b,0x2d,0x83,0x3e,0x84,0x3e,0x84,0x49,0x38,
+0x3, 0x3e,0x49,0x28,0x3, 0x3c,0xe5,0x28,0xa, 0x1b,0x6d,0x0, 0x12,0x9a,0x60,0x7e,
+0x8, 0x0, 0xa, 0x12,0x9a,0xcd,0x7e,0xa1,0x26,0x74,0x4, 0xa4,0x49,0x15,0x3, 0x3a,
+0x49,0x5, 0x3, 0x38,0xbf,0x10,0x8, 0x5, 0xbe,0xf0,0x1, 0x68,0x2d,0x74,0x5, 0xac,
+0xbc,0x49,0x85,0x1, 0x68,0xbd,0x8e,0x38,0x2, 0xa1,0x38,0x7e,0xa1,0x26,0x74,0x4,
+0xa4,0x49,0x15,0x3, 0x3a,0x49,0x5, 0x3, 0x38,0x7d,0x39,0x6d,0x22,0xbf,0x1, 0x48,
+0x2, 0xa1,0x38,0xbe,0xf0,0x1, 0x68,0x2, 0xa1,0x38,0x74,0x5, 0xac,0xbc,0x49,0x35,
+0x1, 0x66,0xe5,0x23,0xa, 0x8b,0xbd,0x38,0x40,0x2, 0xa1,0x38,0x74,0x5, 0xac,0xbc,
+0x49,0x35,0x1, 0x68,0x7d,0x8e,0x2e,0x84,0x0, 0x14,0xbd,0x38,0x38,0x14,0x74,0x5,
+0xac,0xbc,0x49,0x35,0x1, 0x68,0x7d,0x8e,0x9e,0x84,0x0, 0x14,0xbd,0x38,0x40,0x2,
+0xa1,0x38,0x75,0x24,0x1, 0xa1,0x38,0x7c,0xbd,0x14,0xbe,0xb1,0x27,0x68,0x2, 0xa1,
+0x38,0x7e,0x34,0x0, 0x5, 0xad,0x3e,0x1e,0x34,0x1e,0x34,0x74,0x5, 0xac,0xbc,0x49,
+0x85,0x1, 0x68,0xbd,0x83,0x28,0x5, 0x75,0x28,0x12,0x80,0x3, 0x75,0x28,0xa, 0x7e,
+0xa1,0x25,0x74,0x4, 0xa4,0x7d,0x85,0x2e,0x87,0x8, 0xf4,0x49,0x18,0x0, 0x2, 0xb,
+0x88,0x0, 0x7d,0x3d,0x6d,0x22,0xbf,0x1, 0x58,0x17,0x49,0x18,0xff,0xfe,0x49,0x8,
+0xff,0xfc,0x7d,0x3c,0x6d,0x22,0xbf,0x1, 0x58,0x7, 0xbe,0xf0,0x1, 0x78,0x2, 0x81,
+0xfd,0x7e,0xa1,0x26,0x74,0x4, 0xa4,0x49,0x15,0x3, 0x36,0x49,0x5, 0x3, 0x34,0x7d,
+0x3b,0x6d,0x22,0xbf,0x1, 0x58,0x4b,0x49,0x15,0x3, 0x32,0x49,0x5, 0x3, 0x30,0x7d,
+0x3a,0x6d,0x22,0xbf,0x1, 0x58,0x3b,0xa, 0x3d,0xe5,0x27,0xa, 0x8b,0x2d,0x83,0x3e,
+0x84,0x3e,0x84,0x49,0x38,0x3, 0x2e,0x49,0x28,0x3, 0x2c,0xe5,0x28,0xa, 0x1b,0x6d,
+0x0, 0x12,0x9a,0x60,0x7e,0x8, 0x0, 0xa, 0x12,0x9a,0xcd,0x7e,0xa1,0x26,0x74,0x4,
+0xa4,0x49,0x15,0x3, 0x32,0x49,0x5, 0x3, 0x30,0xbf,0x10,0x8, 0x5, 0xbe,0xf0,0x1,
+0x68,0x1b,0x7e,0xa1,0x26,0x74,0x4, 0xa4,0x49,0x15,0x3, 0x32,0x49,0x5, 0x3, 0x30,
+0x7d,0x39,0x6d,0x22,0xbf,0x1, 0x58,0x40,0xbe,0xf0,0x1, 0x78,0x3b,0x74,0x5, 0xac,
+0xbc,0x49,0x35,0x1, 0x66,0xe5,0x23,0xa, 0x2b,0x7d,0x8f,0x9d,0x82,0xbd,0x38,0x28,
+0x27,0x74,0x5, 0xac,0xbc,0x49,0x35,0x1, 0x68,0x7d,0x8e,0x2e,0x84,0x0, 0x14,0xbd,
+0x38,0x38,0x12,0x74,0x5, 0xac,0xbc,0x49,0x35,0x1, 0x68,0x7d,0x8e,0x9e,0x84,0x0,
+0x14,0xbd,0x38,0x50,0x3, 0x75,0x24,0x2, 0xe5,0x24,0xbe,0xb0,0x0, 0x28,0x7, 0x7c,
+0xbc,0x7c,0x7f,0x12,0x7f,0xb1,0xb, 0xc0,0xbc,0xfc,0x28,0x2, 0x41,0xe9,0xda,0x3b,
+0x22,0xca,0x3b,0x7c,0xeb,0x7e,0x68,0xff,0xff,0x7e,0xd0,0x7f,0x7e,0x8, 0x10,0x1f,
+0x7e,0x34,0x0, 0x28,0xe4,0x12,0x9c,0xda,0x7e,0x8, 0xf, 0xf7,0x7e,0x34,0x0, 0x28,
+0x12,0x9c,0xda,0xbe,0xe0,0xa, 0x28,0x3, 0x7e,0xe0,0xa, 0x7e,0xb3,0x1, 0x3f,0xbe,
+0xb0,0x1, 0x68,0xd, 0xbe,0xb0,0x2, 0x68,0x8, 0xbe,0xb0,0x3, 0x68,0x3, 0xb4,0x4,
+0x31,0x7e,0xf7,0xf, 0xa8,0x6c,0xaa,0x80,0x21,0x7e,0x70,0x2, 0xac,0x7a,0x2d,0x3f,
+0xb, 0x38,0x10,0x7e,0x10,0x2, 0xac,0x1a,0x59,0x10,0xc, 0xa0,0x6d,0x0, 0x7e,0x1f,
+0xf, 0xf7,0x2f,0x10,0x7a,0x1f,0xf, 0xf7,0xb, 0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,0xba,
+0x38,0xd7,0x7e,0xf0,0x1, 0xc1,0xa9,0x74,0x4, 0xac,0xbf,0x49,0xf5,0xf, 0xa8,0x49,
+0x35,0xf, 0xa4,0x7a,0x35,0x2a,0x6c,0xaa,0xc1,0x9d,0xa, 0x3a,0x9, 0x93,0x9, 0x95,
+0x7e,0x30,0x2, 0xac,0x39,0x7d,0x1, 0x2d,0xf, 0xb, 0x8, 0x30,0x6d,0x22,0x7a,0x1f,
+0xc, 0xfc,0x2e,0x15,0x2a,0xb, 0x18,0x10,0x6d,0x0, 0x7a,0xf, 0xd, 0x0, 0x9f,0x10,
+0x12,0x9c,0xfc,0x7f,0x51,0x7e,0x70,0x4, 0xac,0x7f,0x49,0x13,0x10,0x21,0x49,0x3,
+0x10,0x1f,0xbf,0x50,0x8, 0x8, 0x59,0xb3,0x10,0x21,0x59,0xa3,0x10,0x1f,0x7e,0x83,
+0x1, 0x3f,0xbe,0x80,0x1, 0x68,0x5, 0xbe,0x80,0x2, 0x78,0x40,0xbe,0x80,0x1, 0x78,
+0x19,0x7e,0x70,0x2, 0xac,0x79,0x49,0x23,0xc, 0xa0,0x7e,0x70,0x2, 0xac,0x79,0x2d,
+0x3f,0xb, 0x38,0x30,0xbd,0x23,0x28,0x53,0x80,0x17,0x7e,0x70,0x2, 0xac,0x79,0x49,
+0x23,0xc, 0xa0,0x7e,0x70,0x2, 0xac,0x79,0x2d,0x3f,0xb, 0x38,0x30,0xbd,0x23,0x50,
+0x3a,0x7e,0x50,0x2, 0xac,0x59,0x59,0x32,0xc, 0xa0,0x80,0x2f,0xbe,0x80,0x3, 0x68,
+0x5, 0xbe,0x80,0x4, 0x78,0x25,0x7e,0x70,0x2, 0xac,0x79,0x2d,0x3f,0xb, 0x38,0x90,
+0x6d,0x88,0x7e,0x30,0x4, 0xac,0x3f,0x2e,0x14,0xf, 0xf7,0x49,0x31,0x0, 0x2, 0xb,
+0x18,0x20,0x2f,0x14,0x59,0x31,0x0, 0x2, 0x1b,0x18,0x20,0xb, 0xa0,0x7e,0xb3,0x9,
+0xc3,0xbc,0xba,0x28,0x2, 0xa1,0xda,0xb, 0xf0,0xbc,0xef,0x28,0x2, 0xa1,0xc7,0x7e,
+0xf0,0x1, 0x80,0x29,0x7e,0x70,0x4, 0xac,0x7f,0x49,0x13,0x10,0x21,0x49,0x3, 0x10,
+0x1f,0xbf,0x6, 0x58,0x4, 0x7f,0x60,0x7c,0xdf,0x7e,0x37,0x1, 0x42,0x1a,0x26,0x1a,
+0x24,0xbf,0x10,0x58,0x6, 0x7e,0xb3,0x1, 0x41,0xf5,0x66,0xb, 0xf0,0xbc,0xef,0x38,
+0xd3,0x7e,0x63,0x1, 0x3f,0xa5,0xbe,0x0, 0x36,0xbc,0xde,0x40,0x4, 0xa, 0x6e,0x1b,
+0x64,0x74,0x4, 0xac,0xbd,0x49,0xe5,0xf, 0xa8,0x6c,0xaa,0x80,0x18,0x7e,0x50,0x2,
+0xac,0x5a,0x2d,0x2e,0xb, 0x28,0x40,0x7e,0x50,0x2, 0xac,0x5a,0x2e,0x27,0x8, 0xf6,
+0x1b,0x28,0x40,0xb, 0xa0,0x7e,0x73,0x9, 0xc3,0xbc,0x7a,0x38,0xe0,0xe1,0xb1,0xbe,
+0x60,0x3, 0x68,0x4, 0xa5,0xbe,0x4, 0x6b,0x6c,0x77,0x7e,0xf, 0xf, 0xf7,0x7e,0xf0,
+0x1, 0x80,0x2e,0xa5,0xbe,0x3, 0x13,0x7e,0x50,0x4, 0xac,0x5f,0x49,0xd2,0xf, 0xf9,
+0x49,0xc2,0xf, 0xf7,0xbf,0x6, 0x28,0x17,0x80,0x11,0x7e,0x50,0x4, 0xac,0x5f,0x49,
+0xd2,0xf, 0xf9,0x49,0xc2,0xf, 0xf7,0xbf,0x6, 0x50,0x4, 0x7f,0x6, 0x7c,0x7f,0xb,
+0xf0,0xbc,0xef,0x38,0xce,0x74,0x4, 0xac,0xb7,0x49,0xe5,0xf, 0xa8,0x6c,0xaa,0x80,
+0x18,0x7e,0x70,0x2, 0xac,0x7a,0x2d,0x3e,0xb, 0x38,0x20,0x7e,0x70,0x2, 0xac,0x7a,
+0x2e,0x37,0x8, 0xf6,0x1b,0x38,0x20,0xb, 0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,0xba,0x38,
+0xe0,0x80,0x1e,0x6c,0xaa,0x80,0x12,0x7e,0x70,0x2, 0xac,0x7a,0x49,0x23,0xc, 0xa0,
+0x2e,0x37,0x8, 0xf6,0x1b,0x38,0x20,0xb, 0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,0xba,0x38,
+0xe6,0xda,0x3b,0x22,0xc2,0x5, 0xc2,0x6, 0xc2,0x7, 0x74,0x2, 0x7a,0xb3,0x9, 0x12,
+0x74,0xa, 0x7a,0xb3,0x9, 0x13,0x7e,0x34,0x0, 0xe5,0x7a,0x37,0x9, 0x14,0x7e,0x34,
+0x0, 0xe4,0x7a,0x37,0x9, 0x16,0x7e,0x34,0x0, 0x39,0x7a,0x37,0x9, 0x1a,0x7e,0x34,
+0x1, 0x80,0x7a,0x37,0x9, 0x1c,0x7e,0x34,0x1, 0x60,0x7a,0x37,0x9, 0x1e,0x7e,0x34,
+0x1, 0x26,0x7a,0x37,0x9, 0x20,0x7e,0x34,0x1, 0x70,0x7a,0x37,0x9, 0x22,0x22,0xff,
+0xca,0x3b,0x7d,0xf3,0x7e,0x73,0x9, 0x66,0xa, 0x57,0x7e,0x73,0x9, 0x64,0xa, 0x47,
+0x9d,0x45,0x7e,0xf3,0x9, 0x65,0x7e,0xa3,0x9, 0x63,0xbc,0xf9,0x68,0x2, 0x1, 0x9f,
+0x7a,0xa1,0x23,0x6c,0x88,0x80,0x72,0x7e,0x71,0x23,0x74,0x4, 0xac,0x7b,0x7d,0xe3,
+0x2e,0xe7,0x8, 0xf4,0x49,0x1e,0x0, 0x2, 0xb, 0xe8,0x0, 0x7d,0x3f,0x1a,0x26,0x1a,
+0x24,0xbf,0x10,0x18,0x50,0x6c,0xee,0x80,0x3d,0xa, 0x3e,0xa, 0xea,0x2d,0xe3,0x3e,
+0xe4,0x3e,0xe4,0x2e,0xe7,0x8, 0xf4,0x49,0x3e,0x0, 0x2, 0xb, 0xe8,0x20,0x12,0x9c,
+0xfc,0x7e,0x14,0x0, 0x3, 0x12,0x9a,0x71,0x7e,0x31,0x23,0x74,0x4, 0xac,0x3b,0x7d,
+0xe1,0x2e,0xe7,0x8, 0xf4,0x49,0x1e,0x0, 0x2, 0xb, 0xe8,0x0, 0xbf,0x10,0x8, 0x4,
+0xbc,0xe8,0x78,0x6, 0xb, 0xe0,0xbc,0xfe,0x38,0xbf,0xbc,0xfe,0x78,0x7, 0x7c,0xb8,
+0x12,0x3f,0xe0,0x41,0x2f,0xb, 0x80,0x5, 0x23,0xbc,0xf8,0x38,0x8a,0x41,0x2f,0xbe,
+0x90,0x2, 0x68,0x2, 0x41,0x2f,0x7e,0x30,0x4, 0xac,0x3a,0x2e,0x17,0x8, 0xf4,0x49,
+0x31,0x0, 0x6, 0x49,0x21,0x0, 0x4, 0x49,0xd1,0x0, 0x2, 0xb, 0x18,0xc0,0x2f,0x61,
+0x7d,0xf, 0x1a,0x0, 0x1a,0xe0,0xbf,0x76,0x8, 0x2, 0x41,0x2f,0x75,0x23,0xff,0x12,
+0x9c,0xfc,0x7f,0x1, 0x2f,0x0, 0x2f,0x0, 0x2f,0x0, 0x7e,0x90,0x4, 0xac,0x9a,0x2e,
+0x47,0x8, 0xf4,0x49,0x34,0x0, 0x2, 0xb, 0x48,0x20,0xbf,0x10,0x8, 0x5, 0x75,0x23,
+0x0, 0x41,0x23,0x12,0x9c,0xfc,0x7f,0x1, 0x2f,0x0, 0x2f,0x0, 0x2f,0x0, 0x7e,0x90,
+0x4, 0xac,0x9a,0x2e,0x47,0x8, 0xf4,0x49,0x34,0x0, 0x6, 0x49,0x24,0x0, 0x4, 0xbf,
+0x10,0x8, 0x13,0xbe,0xf0,0x3, 0x78,0x2, 0x41,0x20,0xbe,0xf0,0x4, 0x68,0x2, 0x41,
+0x23,0x75,0x23,0x3, 0x41,0x23,0xbe,0xf0,0x3, 0x78,0x4f,0x12,0x9c,0xfc,0x7f,0x61,
+0x2f,0x66,0x7e,0x70,0x4, 0xac,0x7a,0x2e,0x37,0x8, 0xf4,0x49,0xf3,0x0, 0x2, 0xb,
+0x38,0xe0,0x7e,0x14,0x0, 0x7, 0x7f,0x17,0x12,0x9a,0x71,0xbf,0x61,0x48,0x2, 0x41,
+0x23,0x7f,0x17,0x12,0x9c,0xfc,0x7f,0x71,0x2f,0x77,0x7e,0x30,0x4, 0xac,0x3a,0x2e,
+0x17,0x8, 0xf4,0x49,0x31,0x0, 0x6, 0x49,0x21,0x0, 0x4, 0x7e,0x14,0x0, 0x7, 0x12,
+0x9a,0x71,0xbf,0x17,0x18,0x2, 0x41,0x23,0x80,0x50,0xbe,0xf0,0x4, 0x68,0x2, 0x41,
+0x23,0x49,0x34,0x0, 0x2, 0xb, 0x48,0x20,0x12,0x9c,0xfc,0x7f,0x31,0x2f,0x33,0x7e,
+0x90,0x4, 0xac,0x9a,0x2e,0x47,0x8, 0xf4,0x49,0xf4,0x0, 0x6, 0x49,0xe4,0x0, 0x4,
+0x7e,0x14,0x0, 0x7, 0x7f,0x17,0x12,0x9a,0x71,0xbf,0x31,0x58,0x22,0x7f,0x17,0x12,
+0x9c,0xfc,0x7f,0x1, 0x2f,0x0, 0x7e,0x90,0x4, 0xac,0x9a,0x2e,0x47,0x8, 0xf4,0x49,
+0x34,0x0, 0x2, 0xb, 0x48,0x20,0xbf,0x10,0x8, 0x5, 0x75,0x23,0x1, 0x80,0x54,0x7e,
+0x30,0x4, 0xac,0x3a,0x2e,0x17,0x8, 0xf4,0x49,0x31,0x0, 0x6, 0x49,0x21,0x0, 0x4,
+0x12,0x9c,0xfc,0x7f,0x31,0x2f,0x33,0x7e,0x70,0x4, 0xac,0x7a,0x2e,0x37,0x8, 0xf4,
+0x49,0xf3,0x0, 0x2, 0xb, 0x38,0xe0,0x7e,0x14,0x0, 0x7, 0x7f,0x17,0x12,0x9a,0x71,
+0xbf,0x31,0x58,0x1f,0x7f,0x17,0x12,0x9c,0xfc,0x7f,0x1, 0x2f,0x0, 0x74,0x4, 0xa4,
+0x2e,0x57,0x8, 0xf4,0x49,0x35,0x0, 0x6, 0x49,0x25,0x0, 0x4, 0xbf,0x10,0x8, 0x3,
+0x75,0x23,0x2, 0xe5,0x23,0xbe,0xb0,0xff,0x68,0x5, 0xe5,0x23,0x12,0x3f,0xe0,0xda,
+0x3b,0x22,0x7e,0xb3,0xd, 0xc7,0xb4,0x1, 0x4, 0x6c,0xaa,0x80,0x3, 0x7e,0xa0,0x1,
+0x7e,0x73,0x1, 0xb6,0xa5,0xbf,0x0, 0x1d,0x7e,0x63,0x1, 0xb5,0xbe,0x60,0x2, 0x40,
+0x14,0x5, 0x6b,0xe5,0x6b,0xbc,0xba,0x38,0x5, 0xe4,0x7a,0xb3,0x1, 0xb5,0xe4,0x7a,
+0xb3,0xe, 0x89,0x80,0x3, 0x75,0x6b,0x0, 0xa5,0xbf,0x0, 0x9, 0x7e,0x73,0x1, 0xb5,
+0xbe,0x70,0x1, 0x28,0x10,0xe4,0x7a,0xb3,0xe, 0x89,0x6d,0x22,0x7a,0x27,0xe, 0xa5,
+0x7a,0x27,0xe, 0xa7,0x22,0x7e,0xb3,0xd, 0xf2,0xbe,0xb0,0x1, 0x78,0x2, 0x81,0x4c,
+0x4c,0x77,0x78,0x2, 0x81,0x13,0x7e,0x33,0xe, 0x89,0xbe,0x30,0x1, 0x28,0x2, 0x61,
+0xeb,0x7c,0xb3,0x4, 0x7a,0xb3,0xe, 0x89,0x7e,0x23,0xe, 0x89,0xa5,0xba,0x1, 0x35,
+0x7e,0x7, 0x1, 0x66,0x7a,0x7, 0xe, 0x97,0x7e,0x7, 0x1, 0x68,0x7a,0x7, 0xe, 0x99,
+0x7e,0x1f,0xe, 0x97,0x7a,0x1f,0xe, 0x9b,0x7e,0x1f,0xe, 0x97,0x7a,0x1f,0xe, 0x9f,
+0x6d,0x0, 0x7a,0x7, 0xe, 0xa3,0x7a,0x7, 0xe, 0xa5,0x7a,0x7, 0xe, 0xa7,0xe4,0x7a,
+0xb3,0x1, 0xb5,0x81,0x41,0xbe,0x20,0x1, 0x40,0x18,0x7e,0x37,0x1, 0x66,0x2e,0x37,
+0xe, 0xa5,0x7a,0x37,0xe, 0xa5,0x7e,0x37,0x1, 0x68,0x2e,0x37,0xe, 0xa7,0x7a,0x37,
+0xe, 0xa7,0x7e,0x37,0xe, 0x97,0x9e,0x37,0x1, 0x66,0x12,0x9c,0xec,0x7d,0x3, 0x7e,
+0x37,0xe, 0x99,0x9e,0x37,0x1, 0x68,0x12,0x9c,0xec,0x7d,0xf3,0x7e,0x37,0xe, 0x9b,
+0x9e,0x37,0x1, 0x66,0x12,0x9c,0xec,0x7d,0xe3,0x7e,0x37,0xe, 0x9d,0x9e,0x37,0x1,
+0x68,0x12,0x9c,0xec,0x7d,0x4f,0x2d,0x40,0xbe,0x44,0x0, 0xf, 0x50,0x14,0xbe,0x4,
+0x0, 0x7, 0x50,0xe, 0x2d,0x3e,0xbe,0x34,0x0, 0xa, 0x50,0x6, 0xbe,0xe4,0x0, 0x5,
+0x40,0x53,0x7e,0x23,0xe, 0x89,0xbc,0x2a,0x28,0x4b,0xe4,0x7a,0xb3,0xe, 0x89,0xbe,
+0x44,0x0, 0x4, 0x38,0x2, 0x81,0x41,0x7e,0x37,0xe, 0x9b,0xbe,0x34,0x0, 0x28,0x40,
+0x6, 0xbe,0x34,0x1, 0xa2,0x28,0x24,0x7e,0x27,0xe, 0x9d,0xbe,0x24,0x0, 0x28,0x28,
+0x1a,0xbe,0x24,0x1, 0xa2,0x50,0x14,0x7a,0x37,0x1, 0x66,0x7e,0x27,0x1, 0x68,0x2e,
+0x27,0xe, 0x9d,0x1e,0x24,0x7a,0x27,0x1, 0x68,0x81,0x41,0x7a,0x37,0x1, 0x66,0x7e,
+0x37,0xe, 0x9d,0x80,0x68,0x7e,0x37,0x1, 0x66,0x7a,0x37,0xe, 0x97,0x7e,0x47,0x1,
+0x68,0x7a,0x47,0xe, 0x99,0x7e,0x43,0x1, 0x9a,0x7e,0x50,0x4, 0xac,0x45,0x2e,0x27,
+0x8, 0xf4,0x49,0xf2,0x0, 0x2, 0xb, 0x28,0xe0,0x7e,0xd7,0xe, 0xa3,0x6d,0xcc,0xbf,
+0x67,0x58,0xe, 0x7d,0x2f,0x7a,0x27,0xe, 0xa3,0x7a,0x37,0xe, 0x9f,0x7a,0x47,0xe,
+0xa1,0x7e,0x23,0x1, 0xb6,0x7a,0x23,0x1, 0xb5,0x80,0x56,0xa, 0x23,0xb, 0x24,0x1b,
+0x24,0x7e,0x17,0xe, 0xa5,0x8d,0x12,0x7a,0x17,0xe, 0x97,0x7e,0x37,0xe, 0xa7,0x8d,
+0x32,0x7a,0x37,0xe, 0x99,0x7e,0x27,0xe, 0x97,0x7a,0x27,0x1, 0x66,0x7a,0x37,0x1,
+0x68,0x80,0x2e,0x7e,0xb3,0xe, 0x89,0xbc,0xba,0x28,0x1c,0x7e,0x37,0xe, 0x9f,0x7a,
+0x37,0x1, 0x66,0x7e,0x37,0xe, 0xa1,0x7a,0x37,0x1, 0x68,0x74,0x1, 0x7a,0xb3,0x1,
+0xb5,0x7a,0xb3,0xe, 0x8a,0x80,0x5, 0xe4,0x7a,0xb3,0x1, 0xb5,0xe4,0x7a,0xb3,0xe,
+0x89,0x7e,0xb3,0x1, 0xb5,0x70,0x5, 0xe4,0x7a,0xb3,0x1, 0xb9,0x22,0xca,0x79,0x7e,
+0xb3,0xd, 0xde,0xb4,0x6, 0x2, 0x80,0x2, 0xc1,0x5c,0xe5,0x68,0x7a,0xb3,0xd, 0xde,
+0x7e,0xe3,0xe, 0x4, 0x7c,0xbe,0x24,0xb0,0xbe,0xb0,0xe, 0x40,0x2, 0xc1,0x59,0x7e,
+0xa0,0x3, 0xa4,0x90,0x34,0x77,0x73,0x2, 0x34,0xa1,0x2, 0x35,0x23,0x2, 0x35,0x56,
+0x2, 0x35,0x9d,0x2, 0x36,0x59,0x2, 0x35,0xfa,0x2, 0x36,0x59,0x2, 0x35,0xfa,0x2,
+0x36,0x59,0x2, 0x35,0xfa,0x2, 0x36,0x59,0x2, 0x35,0xfa,0x2, 0x36,0x59,0x2, 0x36,
+0x51,0x7e,0xb3,0xe, 0x5, 0xf5,0x92,0x7e,0x73,0xe, 0x6, 0x7a,0x73,0xd, 0xc8,0x7e,
+0x34,0x0, 0x33,0xca,0x39,0x7e,0x18,0xe, 0x7, 0x7e,0x8, 0x9, 0x62,0x12,0x9c,0xb5,
+0x1b,0xfd,0x7e,0x73,0xe, 0x3a,0x7a,0x73,0x1, 0xe6,0x7e,0x34,0x0, 0x6, 0xca,0x39,
+0x7e,0x18,0xe, 0x3b,0x7e,0x8, 0x1, 0xc9,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x73,0xe,
+0x41,0x7a,0x73,0x2, 0x1e,0x7e,0x34,0x0, 0x4, 0xca,0x39,0x7e,0x18,0xe, 0x42,0x7e,
+0x8, 0x1, 0xe9,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x73,0xe, 0x46,0x7a,0x73,0x2, 0x21,
+0x7e,0x34,0x0, 0x1c,0xca,0x39,0x7e,0x18,0xe, 0x47,0x7e,0x8, 0x1, 0xed,0x12,0x9c,
+0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0xb, 0xca,0x39,0x7e,0x18,0xe, 0x63,0x7e,0x8, 0x1,
+0x49,0x80,0x73,0x7e,0x73,0xe, 0x5, 0x7a,0x73,0x2, 0x1e,0x7e,0x34,0x0, 0x12,0xca,
+0x39,0x7e,0x18,0xe, 0x6, 0x7e,0x8, 0x2, 0x23,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x73,
+0xe, 0x18,0x7a,0x73,0x2, 0x1d,0x7e,0x34,0x0, 0x58,0xca,0x39,0x7e,0x18,0xe, 0x19,
+0x7e,0x8, 0x2, 0x85,0x80,0x40,0x7e,0x73,0xe, 0x5, 0x7a,0x73,0x2, 0x20,0x7e,0x34,
+0x0, 0x4, 0xca,0x39,0x7e,0x18,0xe, 0x6, 0x7e,0x8, 0x2, 0x9, 0x12,0x9c,0xb5,0x1b,
+0xfd,0x7e,0x34,0x0, 0x50,0xca,0x39,0x7e,0x18,0xe, 0xa, 0x7e,0x8, 0x2, 0x35,0x12,
+0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x26,0xca,0x39,0x7e,0x17,0x1, 0xc1,0x1a,0x2,
+0x1a,0x0, 0x7e,0x18,0xe, 0x5a,0x12,0x9c,0xb5,0x1b,0xfd,0xc1,0x59,0x7e,0x34,0x0,
+0x2e,0xca,0x39,0x7e,0x18,0xe, 0x5, 0x7e,0x8, 0x9, 0x67,0x12,0x9c,0xb5,0x1b,0xfd,
+0x6c,0xff,0xa, 0x3f,0x9, 0x73,0xe, 0x5, 0xbc,0x7f,0x68,0x5, 0x75,0x6a,0x1, 0x80,
+0x7, 0xb, 0xf0,0xbe,0xf0,0x16,0x40,0xea,0xbe,0xf0,0x16,0x50,0x2, 0xc1,0x59,0x7e,
+0xb3,0xd, 0x8f,0x1b,0xb2,0x68,0xd, 0x14,0x68,0x5, 0x7e,0xf0,0x2e,0x80,0x8, 0x7e,
+0xf0,0x24,0x80,0x3, 0x7e,0xf0,0x16,0x7a,0xf3,0xd, 0x6a,0xe4,0x7a,0xb3,0xd, 0x6b,
+0x7a,0xf3,0x9, 0x63,0x7a,0xb3,0x9, 0x64,0x80,0x5f,0xbe,0xe0,0x55,0x68,0x5, 0xbe,
+0xe0,0x57,0x78,0x3, 0xe4,0x80,0x2, 0x74,0x1, 0x7a,0xb3,0xe, 0x2, 0x7e,0x34,0x0,
+0x14,0xca,0x39,0xa, 0x2e,0x9e,0x24,0x0, 0x55,0xad,0x32,0x7e,0x24,0x0, 0x2, 0x12,
+0x9a,0x2e,0x7d,0x13,0x2e,0x14,0x2, 0x35,0x6d,0x0, 0x7e,0x18,0xe, 0x5, 0x12,0x9c,
+0xb5,0x1b,0xfd,0x6c,0xff,0xa, 0x3f,0x9, 0xb3,0xe, 0x5, 0x70,0x7, 0xb, 0xf0,0xbe,
+0xf0,0x14,0x40,0xf1,0xbe,0xf0,0x14,0x40,0x10,0x74,0x2, 0x7a,0xb3,0x1, 0xe6,0x80,
+0x8, 0x7e,0x73,0xe, 0x5, 0x7a,0x73,0x1, 0xe6,0x12,0x86,0x15,0xda,0x79,0x22,0xca,
+0x3b,0x6c,0xff,0x75,0x29,0x0, 0x7e,0x64,0x3, 0xe8,0x7e,0xe0,0x1, 0xe1,0xc0,0x1a,
+0x2e,0x7e,0x34,0x0, 0x22,0xad,0x32,0x2e,0x34,0x87,0xe8,0x7a,0x71,0x82,0x7a,0x61,
+0x83,0xe4,0x93,0x12,0x6d,0x9a,0x70,0x2, 0xe1,0xbe,0x6d,0x33,0x7a,0x35,0x2a,0x7a,
+0x35,0x2c,0x7a,0x35,0x2e,0x7a,0x35,0x30,0x7a,0x35,0x32,0x1a,0x2e,0x7e,0x34,0x0,
+0x22,0xad,0x32,0x7d,0x23,0x2e,0x24,0x87,0xea,0x7a,0x25,0x34,0x2e,0x34,0x87,0xfa,
+0x7a,0x35,0x36,0x75,0x25,0x1, 0xe5,0x25,0x1a,0x3b,0x9, 0x53,0x10,0x60,0x1a,0x25,
+0x2e,0x35,0x34,0x7a,0x71,0x82,0x7a,0x61,0x83,0xe4,0x93,0x1a,0x3b,0x9d,0x32,0x12,
+0x9c,0xec,0x7d,0x3, 0x7e,0x15,0x2e,0xbd,0x10,0x58,0x3, 0x7a,0x5, 0x2e,0xe5,0x25,
+0x1a,0x3b,0x9, 0x53,0x10,0x70,0x1a,0x25,0x2e,0x35,0x36,0x7a,0x71,0x82,0x7a,0x61,
+0x83,0xe4,0x93,0x1a,0x3b,0x9d,0x32,0x12,0x9c,0xec,0x7d,0xf3,0x7e,0x15,0x30,0xbd,
+0x1f,0x58,0x3, 0x7a,0xf5,0x30,0x7d,0x10,0x2e,0x15,0x2a,0x7a,0x15,0x2a,0x7d,0x1f,
+0x2e,0x15,0x2c,0x7a,0x15,0x2c,0x2d,0xf0,0x7e,0x15,0x32,0xbd,0x1f,0x58,0x3, 0x7a,
+0xf5,0x32,0x5, 0x25,0xe5,0x25,0xb4,0x10,0x8d,0x7e,0x35,0x2a,0xbe,0x34,0x1, 0x80,
+0x8, 0x2, 0xe1,0xbe,0x7e,0x37,0x10,0x47,0xbe,0x35,0x2c,0x58,0x2, 0xe1,0xbe,0x7e,
+0x35,0x2e,0xbe,0x34,0x0, 0x2d,0x58,0x76,0x7e,0x37,0x10,0x5e,0xbe,0x35,0x30,0x8,
+0x6d,0x7e,0x15,0x34,0x7e,0x4, 0x0, 0xff,0x7e,0x18,0x10,0x60,0x12,0x61,0xc1,0xf5,
+0x26,0xbe,0xb0,0x38,0x48,0x58,0x7e,0x15,0x36,0x7e,0x4, 0x0, 0xff,0x7e,0x18,0x10,
+0x70,0x12,0x61,0xc1,0xf5,0x27,0xbe,0xb0,0x38,0x48,0x43,0x7e,0x71,0x27,0xe, 0x70,
+0x1a,0x27,0x7e,0x71,0x26,0xe, 0x70,0x1a,0x37,0x2d,0x32,0x7a,0x71,0x28,0xbe,0x70,
+0x32,0x48,0x2b,0x7e,0x35,0x2e,0x2e,0x35,0x2e,0x2e,0x35,0x32,0x7a,0x35,0x38,0xe5,
+0x28,0x1a,0x2b,0x7e,0x34,0x0, 0x64,0x9d,0x32,0x3e,0x34,0x2e,0x35,0x38,0x7a,0x35,
+0x38,0xbe,0x65,0x38,0x8, 0x8, 0x7e,0x65,0x38,0x85,0x28,0x29,0x7c,0xfe,0xb, 0xe0,
+0x7e,0x73,0x10,0x59,0xbc,0x7e,0x8, 0x2, 0xc1,0x6f,0xe5,0x29,0xbe,0xb0,0x46,0x48,
+0x23,0x1a,0x2f,0x7e,0x34,0x0, 0x22,0xad,0x32,0x2e,0x34,0x87,0xe8,0x7a,0x71,0x82,
+0x7a,0x61,0x83,0xe4,0x93,0xbe,0xb0,0xff,0x50,0xa, 0x1a,0x3f,0xb, 0x34,0x7a,0x73,
+0x10,0x4d,0x80,0x6, 0x74,0x7e,0x7a,0xb3,0x10,0x4d,0xda,0x3b,0x22,0xff,0xff,0xff,
+0xca,0x69,0xca,0xf8,0x7e,0xb7,0x1, 0xc9,0x9e,0xb4,0x0, 0x3c,0x7e,0xa7,0x1, 0xcb,
+0x9e,0xa4,0x0, 0x3c,0x7e,0x3, 0x1, 0xb5,0x7e,0xb3,0x1, 0x4b,0x70,0x2, 0x41,0x9,
+0x4c,0x0, 0x78,0x2, 0x41,0x9, 0x6c,0x11,0x74,0x5, 0xac,0xb1,0x9, 0xf5,0x1, 0x88,
+0xbe,0xf0,0x2, 0x50,0x2e,0x49,0x15,0x1, 0x84,0x49,0x45,0x1, 0x86,0x74,0x6, 0xac,
+0xbf,0x9, 0xb5,0x1, 0x93,0x70,0x1c,0x74,0x4, 0xac,0xbf,0x59,0x15,0xe, 0xd2,0x59,
+0x45,0xe, 0xd4,0x59,0x15,0xe, 0xda,0x59,0x45,0xe, 0xdc,0x59,0x15,0xe, 0xe2,0x59,
+0x45,0xe, 0xe4,0xb, 0x10,0xa5,0xb9,0x2, 0xbf,0x12,0x79,0x4, 0x60,0x28,0x6c,0x11,
+0x7e,0x50,0x5, 0xac,0x51,0x9, 0xa2,0x1, 0x88,0x74,0x4, 0xa4,0x49,0x35,0xe, 0xd2,
+0x59,0x32,0x1, 0x84,0x49,0x35,0xe, 0xd4,0x74,0x5, 0xac,0xb1,0x59,0x35,0x1, 0x86,
+0xb, 0x10,0xa5,0xb9,0x2, 0xda,0x6c,0x11,0x41,0x3, 0x74,0x5, 0xac,0xb1,0x9, 0xf5,
+0x1, 0x88,0xbe,0xf0,0x2, 0x40,0x2, 0x41,0x1, 0x49,0x15,0x1, 0x84,0x49,0x45,0x1,
+0x86,0x74,0x4, 0xac,0xbf,0x49,0x85,0xe, 0xd2,0x7d,0x91,0x9d,0x98,0x49,0x35,0xe,
+0xd4,0x7d,0x84,0x9d,0x83,0x49,0x25,0xe, 0xda,0x7d,0x31,0x9d,0x32,0x7a,0x35,0x23,
+0x49,0x35,0xe, 0xdc,0x7d,0x54,0x9d,0x53,0x7a,0x55,0x25,0xbe,0x14,0x0, 0x3c,0x40,
+0xe, 0xbd,0xb1,0x40,0xa, 0xbe,0x44,0x0, 0x3c,0x40,0x4, 0xbd,0xa4,0x50,0xe, 0x7e,
+0x73,0x0, 0x94,0xa, 0xe7,0x7d,0xce,0x7e,0x73,0x0, 0x95,0x80,0xc, 0x7e,0x73,0x0,
+0x92,0xa, 0xe7,0x7d,0xce,0x7e,0x73,0x0, 0x93,0xa, 0xf7,0x7d,0xdf,0x2e,0xf4,0x0,
+0x5, 0x7e,0x35,0x25,0x12,0x9c,0xec,0x7d,0x53,0x7e,0x35,0x23,0x12,0x9c,0xec,0x2d,
+0x53,0xbe,0x54,0x0, 0x16,0x18,0x57,0x7d,0x39,0x12,0x9c,0xec,0xbd,0x3c,0x18,0x17,
+0x7d,0x38,0x12,0x9c,0xec,0xbd,0x3d,0x18,0xe, 0x74,0x4, 0xac,0xbf,0x49,0x15,0xe,
+0xd2,0x49,0x45,0xe, 0xd4,0x80,0x78,0x7d,0x39,0x12,0x9c,0xec,0xbd,0x3e,0x18,0x6f,
+0x7d,0x38,0x12,0x9c,0xec,0xbd,0x3f,0x18,0x66,0x7e,0x90,0x4, 0xac,0x9f,0x49,0x14,
+0xe, 0xd2,0x7e,0x64,0x0, 0x3, 0x7d,0x39,0x7d,0x26,0x12,0x9a,0x2e,0x2d,0x13,0x49,
+0x44,0xe, 0xd4,0x7d,0x38,0x7d,0x26,0x12,0x9a,0x2e,0x2d,0x43,0x80,0x41,0x7e,0x70,
+0x4, 0xac,0x7f,0x49,0x23,0xe, 0xd2,0xbd,0x21,0x68,0x8, 0x49,0x23,0xe, 0xe2,0xbd,
+0x21,0x78,0x2c,0x49,0x23,0xe, 0xd4,0xbd,0x24,0x68,0x8, 0x49,0x23,0xe, 0xe4,0xbd,
+0x24,0x78,0x1c,0x7e,0xb3,0xe, 0xea,0x4, 0x7a,0xb3,0xe, 0xea,0x7e,0x53,0xe, 0xea,
+0xbe,0x50,0xa, 0x28,0xf, 0x59,0x13,0xe, 0xda,0x59,0x43,0xe, 0xdc,0x80,0x5, 0xe4,
+0x7a,0xb3,0xe, 0xea,0x7e,0x70,0x4, 0xac,0x7f,0x49,0x23,0xe, 0xd2,0xbd,0x21,0x78,
+0x8, 0x49,0x53,0xe, 0xd4,0xbd,0x54,0x68,0xc, 0x59,0x23,0xe, 0xe2,0x49,0x53,0xe,
+0xd4,0x59,0x53,0xe, 0xe4,0x74,0x4, 0xac,0xbf,0x59,0x15,0xe, 0xd2,0x74,0x4, 0xac,
+0xbf,0x59,0x45,0xe, 0xd4,0x74,0x5, 0xac,0xb1,0x59,0x15,0x1, 0x84,0x59,0x45,0x1,
+0x86,0xb, 0x10,0xbc,0x1, 0x28,0x2, 0x1, 0x9a,0xda,0xf8,0xda,0x69,0x22,0xca,0xf8,
+0x7e,0x34,0x0, 0x3e,0xca,0x39,0x7e,0x34,0xb4,0x78,0x7e,0x24,0x0, 0xff,0x7e,0x8,
+0x0, 0xed,0x12,0x9c,0xb5,0x1b,0xfd,0x90,0xb4,0x45,0xe4,0x93,0x7a,0xb3,0xd, 0x6a,
+0x90,0xb4,0x48,0xe4,0x93,0xa, 0x2b,0x90,0xb4,0x46,0xe4,0x93,0xa, 0x3b,0x9d,0x32,
+0x7a,0x73,0xd, 0x6b,0x7e,0x34,0x0, 0x5, 0xca,0x39,0x7e,0x34,0xb4,0x44,0x7e,0x24,
+0x0, 0xff,0x7e,0x8, 0x9, 0x62,0x12,0x9c,0xb5,0x1b,0xfd,0xe5,0x6a,0x70,0x17,0x7e,
+0x34,0x0, 0x2e,0xca,0x39,0x7e,0x34,0xb4,0x49,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x9,
+0x67,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x10,0xca,0x39,0x7e,0x34,0xb6,0x46,
+0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x1, 0x49,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0,
+0x4, 0xca,0x39,0x7e,0x34,0xb6,0x6e,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x0, 0x92,0x12,
+0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x5a,0xca,0x39,0x7e,0x34,0xb5,0x26,0x7e,0x24,
+0x0, 0xff,0x7e,0x8, 0x1, 0xc1,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x12,0xca,
+0x39,0x7e,0x34,0xb5,0x85,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x2, 0x23,0x12,0x9c,0xb5,
+0x1b,0xfd,0x7e,0x34,0x0, 0x50,0xca,0x39,0x7e,0x34,0xb5,0x97,0x7e,0x24,0x0, 0xff,
+0x7e,0x8, 0x2, 0x35,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x58,0xca,0x39,0x7e,
+0x34,0xb5,0xe7,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x2, 0x85,0x12,0x9c,0xb5,0x1b,0xfd,
+0x7e,0x34,0x0, 0x5, 0xca,0x39,0x7e,0x34,0xb5,0x80,0x7e,0x24,0x0, 0xff,0x7e,0x8,
+0x2, 0x1d,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x6, 0xca,0x39,0x7e,0x34,0xb6,
+0x46,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x1, 0x49,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,
+0x0, 0x6, 0xca,0x39,0x7e,0x34,0xb6,0x62,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x0, 0xc4,
+0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x8, 0xca,0x39,0x7e,0x34,0xb6,0x72,0x7e,
+0x24,0x0, 0xff,0x7e,0x8, 0x0, 0xa2,0x12,0x9c,0xb5,0x1b,0xfd,0x90,0xb6,0x7c,0xe4,
+0x93,0x7a,0xb3,0x0, 0xb1,0x90,0xb6,0x7d,0xe4,0x93,0x7a,0xb3,0x0, 0xb2,0x7e,0x34,
+0x0, 0x6, 0xca,0x39,0x7e,0x34,0xb6,0x86,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x0, 0xb3,
+0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x8, 0xca,0x39,0x7e,0x34,0xb6,0x7e,0x7e,
+0x24,0x0, 0xff,0x7e,0x8, 0x0, 0x96,0x12,0x9c,0xb5,0x1b,0xfd,0x90,0xb4,0xc6,0xe4,
+0x93,0x7c,0x7b,0x74,0x64,0xac,0x7b,0x7e,0x24,0x0, 0x3, 0x12,0x9a,0x2e,0x7a,0x37,
+0x0, 0xae,0x7e,0x34,0xb6,0x7a,0x7e,0x24,0x0, 0xff,0xb, 0x1a,0x30,0x7a,0x37,0x0,
+0xac,0x7e,0xf3,0xd, 0xde,0x7e,0x34,0x0, 0x60,0xca,0x39,0x7e,0x34,0xb4,0xc6,0x7e,
+0x24,0x0, 0xff,0x7e,0x8, 0xd, 0xa2,0x12,0x9c,0xb5,0x1b,0xfd,0x90,0xb4,0x12,0xe4,
+0x93,0x7a,0xb3,0xd, 0xca,0x90,0xb4,0x44,0xe4,0x93,0x7a,0xb3,0xd, 0xc2,0x7a,0xf3,
+0xd, 0xde,0x12,0x85,0x6f,0x12,0x85,0x27,0x12,0x85,0xf, 0x12,0x85,0x87,0x12,0x85,
+0x57,0x12,0x84,0xf7,0x12,0x84,0xdf,0x12,0x85,0x3f,0x12,0x85,0x9f,0xda,0xf8,0x22,
+0xca,0xd8,0xca,0x79,0x6d,0xff,0x7e,0xa3,0x1, 0xb5,0x7c,0xa, 0xe5,0x60,0xbe,0xb0,
+0xa, 0x50,0x2, 0x5, 0x60,0x4c,0xaa,0x78,0x24,0x6c,0x11,0x6d,0x11,0x7e,0x70,0x2,
+0xac,0x71,0x59,0x13,0x11,0x30,0x7e,0x70,0xff,0x7e,0x30,0x5, 0xac,0x31,0x19,0x71,
+0x11,0x2a,0xb, 0x10,0xa5,0xb9,0x2, 0xe3,0x75,0x60,0x0, 0x80,0x14,0xbe,0xa0,0x0,
+0x28,0xf, 0x7e,0xb3,0x1, 0xb6,0x70,0x9, 0xe4,0x7a,0xb3,0x11,0x34,0x7a,0xb3,0x11,
+0x35,0x6c,0x11,0xa1,0xd5,0x74,0x5, 0xac,0xb1,0x9, 0xf5,0x1, 0x6a,0xbe,0xf0,0x2,
+0x40,0x2, 0xa1,0xd3,0x74,0x6, 0xac,0xbf,0x9, 0xb5,0x1, 0x93,0xbe,0xb0,0x1, 0x78,
+0x2, 0xa1,0xd3,0x6c,0xee,0x74,0x5, 0xac,0xbe,0x9, 0xd5,0x11,0x2a,0xbc,0xdf,0x68,
+0x2, 0xa1,0xca,0x49,0x25,0x11,0x26,0x74,0x5, 0xac,0xb1,0x49,0x35,0x1, 0x66,0x9d,
+0x32,0x12,0x9c,0xec,0x7d,0xf3,0x74,0x5, 0xac,0xbe,0x49,0x25,0x11,0x28,0x74,0x5,
+0xac,0xb1,0x49,0x35,0x1, 0x68,0x9d,0x32,0x12,0x9c,0xec,0x7d,0x43,0x2d,0x4f,0xe5,
+0x60,0xb4,0x2, 0x11,0xbe,0x44,0x0, 0x50,0x28,0xb, 0x7e,0x15,0x5e,0x74,0x2, 0xac,
+0xbf,0x59,0x15,0x11,0x30,0x74,0x5, 0xac,0xbe,0x49,0x15,0x11,0x28,0xbe,0x17,0x0,
+0xd2,0x78,0xe, 0x74,0x5, 0xac,0xb1,0x49,0x15,0x1, 0x68,0xbe,0x17,0x0, 0xd2,0x78,
+0x69,0xa, 0x1d,0x9, 0xa1,0x11,0x34,0xbe,0xa0,0x0, 0x28,0x17,0x7e,0x30,0x2, 0xac,
+0x3d,0x59,0x41,0x11,0x30,0xa, 0x1d,0x2e,0x14,0x11,0x34,0x7c,0xba,0x14,0x7a,0x19,
+0xb0,0xa1,0xd3,0x7e,0x30,0x2, 0xac,0x3d,0x49,0xe1,0x11,0x30,0xbe,0xe4,0x0, 0x32,
+0x28,0x14,0xbe,0x44,0x0, 0x32,0x28,0xe, 0x59,0x41,0x11,0x30,0x74,0x2, 0xa, 0x3d,
+0x19,0xb3,0x11,0x34,0xa1,0xd3,0x7d,0x5e,0x2e,0x54,0x0, 0x32,0xbd,0x54,0x50,0x14,
+0xbe,0xe4,0x0, 0x32,0x28,0xe, 0x59,0x41,0x11,0x30,0x74,0x2, 0xa, 0x1d,0x19,0xb1,
+0x11,0x34,0x80,0x7f,0xbe,0x44,0x0, 0x96,0x28,0x66,0xe4,0xa, 0x1d,0x19,0xb1,0x11,
+0x34,0x7e,0x30,0x6, 0xac,0x3f,0x9, 0xb1,0x1, 0x93,0x70,0x4, 0x74,0x3, 0x80,0x8,
+0x7e,0xb3,0x10,0xed,0x70,0x6, 0x74,0x1, 0x19,0xb1,0x1, 0x93,0x7e,0x70,0x5, 0xac,
+0x71,0x2e,0x34,0x1, 0x66,0x7e,0x14,0xc, 0xa0,0x74,0x5, 0x12,0x9b,0x1, 0xbe,0x0,
+0x0, 0x28,0x2d,0x1b,0x0, 0x7e,0x70,0x5, 0xac,0x70,0x2e,0x34,0x1, 0x66,0x7e,0x30,
+0x5, 0xac,0x31,0x2e,0x14,0x1, 0x66,0x74,0x5, 0x12,0x9b,0x1, 0x7e,0x34,0xc, 0xa0,
+0x7e,0x30,0x5, 0xac,0x30,0x2e,0x14,0x1, 0x66,0x74,0x5, 0x12,0x9b,0x1, 0x1b,0x10,
+0x74,0x2, 0xac,0xbd,0x59,0x45,0x11,0x30,0x80,0x9, 0xb, 0xe0,0xbe,0xe0,0x2, 0x50,
+0x2, 0x81,0x85,0xb, 0x10,0x7e,0x73,0x1, 0xb5,0xbc,0x71,0x28,0x2, 0x81,0x65,0x7a,
+0x3, 0x1, 0xb5,0x6c,0x11,0x7e,0x30,0x5, 0xac,0x31,0x7d,0x31,0x2e,0x34,0x1, 0x66,
+0x2e,0x14,0x11,0x26,0x74,0x5, 0x12,0x9b,0x1, 0xb, 0x10,0xbe,0x10,0x2, 0x40,0xe5,
+0xda,0x79,0xda,0xd8,0x22,0x7e,0xb3,0x1, 0x28,0x70,0x2, 0xe1,0xdf,0x7e,0xb3,0xd,
+0xad,0x70,0x2, 0xe1,0xdf,0x7e,0x37,0x0, 0x81,0xbe,0x37,0x10,0xd7,0x50,0x30,0x7e,
+0x27,0x0, 0x85,0xbe,0x27,0x10,0xd7,0x50,0x4, 0x74,0x3, 0x80,0x16,0x7e,0x27,0x0,
+0x83,0xbe,0x27,0x10,0xd7,0x50,0x4, 0x74,0x2, 0x80,0x8, 0xbe,0x37,0x10,0xd7,0x50,
+0x6, 0x74,0x1, 0x7a,0xb3,0x10,0xec,0x74,0x1, 0x7a,0xb3,0x10,0xed,0x80,0x9, 0xe4,
+0x7a,0xb3,0x10,0xed,0x7a,0xb3,0x10,0xec,0x7e,0x73,0x10,0xf0,0x7c,0xb7,0x30,0xe7,
+0xe, 0x7e,0xb3,0x10,0xe8,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0x10,0xe8,0x3e,
+0x70,0x7a,0x73,0x10,0xf0,0x7e,0xb3,0x10,0xed,0x60,0x11,0x7e,0xb3,0x10,0xe8,0x4,
+0x7a,0xb3,0x10,0xe8,0x7e,0xb3,0x10,0xf0,0x44,0x1, 0x80,0x6, 0x7e,0xb3,0x10,0xf0,
+0x54,0xfe,0x7a,0xb3,0x10,0xf0,0x7e,0x73,0x0, 0x87,0xbe,0x73,0x10,0xe8,0x50,0x6,
+0x74,0x1, 0x7a,0xb3,0x10,0xd9,0x7e,0x37,0x0, 0x81,0xbe,0x37,0x10,0xd5,0x50,0x9,
+0x7e,0xb3,0x10,0xe7,0x4, 0x7a,0xb3,0x10,0xe7,0x7e,0xb3,0x10,0xda,0xbe,0xb0,0x4,
+0x50,0x7, 0x4, 0x7a,0xb3,0x10,0xda,0xe1,0x74,0x7e,0x73,0x10,0xe7,0xbe,0x70,0x2,
+0x50,0x2f,0x7e,0xa3,0x10,0xef,0xbe,0xa0,0xff,0x78,0xa, 0x7e,0xb3,0x10,0xea,0x7a,
+0xb3,0x10,0xef,0x80,0x1c,0x74,0x2, 0xa4,0x49,0x25,0x10,0xdb,0x7e,0xa3,0x10,0xea,
+0x7e,0x70,0x2, 0xac,0x7a,0x49,0x33,0x10,0xdb,0xbd,0x32,0x50,0x4, 0x7a,0xa3,0x10,
+0xef,0xe4,0x7a,0xb3,0x10,0xda,0x7a,0xb3,0x10,0xe7,0x7e,0xb3,0x10,0xea,0x4, 0x7a,
+0xb3,0x10,0xea,0x7e,0x73,0x10,0xea,0xbe,0x70,0x4, 0x28,0xb, 0xe4,0x7a,0xb3,0x10,
+0xea,0x74,0x1, 0x7a,0xb3,0x10,0xf1,0x7e,0x73,0x10,0xeb,0xbe,0x73,0x10,0xea,0x78,
+0x1d,0x7e,0xb3,0x10,0xea,0x4, 0x7a,0xb3,0x10,0xea,0x7e,0x73,0x10,0xea,0xbe,0x70,
+0x4, 0x28,0xb, 0xe4,0x7a,0xb3,0x10,0xea,0x74,0x1, 0x7a,0xb3,0x10,0xf1,0x7e,0x73,
+0x10,0xea,0xa, 0x37,0x2e,0x34,0x0, 0x3, 0x7a,0x73,0x10,0xe6,0x74,0x1, 0x7a,0xb3,
+0x10,0xee,0x7e,0xb3,0x10,0xf1,0x60,0xc, 0x7e,0x8, 0x10,0xdb,0x7e,0x34,0x0, 0xa,
+0xe4,0x12,0x9c,0xda,0x7e,0xb3,0x10,0xd9,0x60,0x60,0x7e,0xb3,0x10,0xf1,0x60,0x5a,
+0x7e,0x73,0x10,0xef,0xbe,0x70,0xff,0x68,0x3e,0x7a,0x73,0x10,0xeb,0xa, 0x37,0x2e,
+0x34,0x0, 0x3, 0x7a,0x73,0x10,0xe5,0x74,0x1, 0x7a,0xb3,0x10,0xee,0xe4,0x7a,0xb3,
+0x10,0xe8,0x7a,0xb3,0x10,0xf0,0x7a,0xb3,0x10,0xea,0x7e,0xb3,0x10,0xeb,0x70,0x9,
+0x7e,0xb3,0x10,0xea,0x4, 0x7a,0xb3,0x10,0xea,0xe4,0x7a,0xb3,0x10,0xd9,0x74,0xff,
+0x7a,0xb3,0x10,0xef,0xe4,0x80,0xf, 0x7e,0xb3,0x1, 0x29,0x60,0xd, 0xe5,0x66,0x70,
+0x3, 0x30,0x9, 0x6, 0x74,0x1, 0x7a,0xb3,0x10,0xe9,0xe4,0x7a,0xb3,0x10,0xf1,0x22,
+0x7c,0xab,0x7e,0xb3,0x1, 0xb5,0x4, 0x7a,0xb3,0x1, 0xb5,0x74,0x2, 0xa4,0x49,0x35,
+0x0, 0xca,0x7a,0x37,0x1, 0x66,0x7e,0x37,0x0, 0xd2,0x7a,0x37,0x1, 0x68,0x22,0xff,
+0xca,0xf8,0x6c,0xff,0x7e,0xb3,0x1, 0xb9,0x70,0x14,0x7e,0xb3,0x1, 0xbb,0x70,0xe,
+0x7e,0xb3,0x1, 0xbd,0x70,0x8, 0x7e,0xb3,0x1, 0xba,0x70,0x2, 0x21,0x7c,0x7e,0xb3,
+0x1, 0xb4,0x4, 0x7a,0xb3,0x1, 0xb4,0x7e,0x73,0x1, 0xb4,0xbe,0x70,0x2, 0x40,0x6,
+0x74,0x2, 0x7a,0xb3,0x1, 0xb4,0x20,0xe, 0x6, 0x7e,0xf4,0x10,0xf2,0x80,0x4, 0x7e,
+0xf4,0x11,0x0, 0x7d,0x1f,0x6d,0x0, 0x7e,0x34,0x0, 0xe, 0x74,0xff,0x12,0x9c,0xda,
+0xe5,0x63,0x7a,0xf9,0xb0,0x6c,0x33,0x6c,0x22,0x7e,0x70,0x5, 0xac,0x73,0x9, 0x13,
+0x1, 0x88,0xbe,0x10,0xff,0x78,0x2, 0x21,0x19,0x74,0x6, 0xac,0xb1,0x9, 0x5, 0x1,
+0x93,0xbe,0x0, 0x3, 0x78,0x2, 0x21,0x19,0x49,0x23,0x1, 0x84,0x7e,0x37,0x1, 0xc9,
+0x9d,0x32,0x12,0x9c,0xec,0x7d,0x43,0x7e,0x57,0x1, 0xc9,0xbd,0x54,0x78,0x6, 0x7e,
+0x73,0x2, 0x11,0xa, 0x47,0xbe,0x0, 0x1, 0x68,0x2, 0xb, 0xf0,0xa5,0xb8,0x1, 0x3,
+0x75,0x5a,0x0, 0xa, 0x50,0x3, 0x3, 0x54,0xc0,0x7c,0xab,0xe4,0x4d,0x45,0x7e,0xb3,
+0xe, 0x2, 0x60,0x2b,0x4e,0x80,0x10,0x7e,0xa3,0x9, 0xc5,0x74,0x40,0xa4,0xbe,0x57,
+0x1, 0xc9,0x50,0x4, 0x6d,0xee,0x80,0x6, 0x7d,0xe5,0x9e,0xe7,0x1, 0xc9,0x7d,0x54,
+0x5e,0xa0,0xf, 0xbd,0x5e,0x50,0x6, 0x5e,0x44,0xf0,0x0, 0x80,0x2, 0x9d,0x4e,0x7e,
+0x70,0x6, 0xac,0x72,0x7d,0x23,0x2d,0x2f,0x59,0x42,0x0, 0x2, 0x74,0x5, 0xac,0xb3,
+0x49,0x45,0x1, 0x86,0xa, 0x51,0xc4,0x54,0xf0,0x7c,0xab,0xe4,0x5e,0x80,0xf, 0x4d,
+0x45,0x7d,0x23,0x2d,0x2f,0x59,0x42,0x0, 0x4, 0x7d,0x23,0x2d,0x2f,0x19,0xb2,0x0,
+0x6, 0x2d,0x3f,0x19,0xb3,0x0, 0x7, 0xb, 0x20,0xb, 0x30,0xa5,0xbb,0x2, 0x2, 0x80,
+0x2, 0x1, 0x59,0x19,0xff,0x0, 0x1, 0x30,0xe, 0x4, 0xc2,0xe, 0x80,0x2, 0xd2,0xe,
+0x7e,0xb3,0x1, 0xbb,0x60,0x3, 0x12,0x81,0x7c,0xe4,0x7a,0xb3,0x1, 0xb9,0x7a,0xb3,
+0x1, 0xbb,0x7a,0xb3,0x1, 0xbd,0x7e,0xb3,0x1, 0x52,0x60,0x19,0x7e,0xb3,0xd, 0xf2,
+0xb4,0x1, 0x12,0x7e,0xb3,0x1, 0xba,0x60,0x11,0x74,0x1, 0x12,0x87,0xc1,0xe4,0x7a,
+0xb3,0x1, 0xba,0x80,0x5, 0x74,0x1, 0x12,0x87,0xc1,0x74,0x2d,0x12,0x86,0x59,0x7e,
+0xb3,0xd, 0xc6,0xb4,0x1, 0xe, 0xe4,0x12,0x87,0xc1,0x80,0x8, 0xe4,0x12,0x87,0xc1,
+0x7a,0xb3,0x1, 0xb4,0xda,0xf8,0x22,0xca,0x69,0xca,0xf8,0x7e,0xb3,0x1, 0x52,0x70,
+0x2, 0x61,0x9, 0x7e,0xb3,0xd, 0xf2,0x70,0x2, 0x61,0x9, 0x65,0x57,0x68,0x5, 0xe4,
+0x7a,0xb3,0xd, 0xf5,0x7e,0xb3,0xd, 0xf2,0xf5,0x57,0x7e,0x37,0x1, 0x84,0x7e,0x27,
+0x1, 0x86,0x7e,0xa3,0x1, 0xb5,0xbe,0xa0,0x0, 0x38,0x2, 0x41,0x46,0x7e,0x17,0x3,
+0x24,0xbe,0x17,0xb, 0xb6,0x38,0x2, 0x61,0x4, 0xe4,0x7a,0xb3,0xc, 0x7f,0xbe,0xa0,
+0x2, 0x78,0x21,0x30,0xf, 0x1e,0x74,0x26,0x7a,0xb3,0xd, 0xf5,0x74,0x1, 0x7a,0xb3,
+0x1, 0xba,0x6d,0x11,0x7a,0x15,0x58,0x7e,0xb3,0xd, 0xf5,0xf5,0x56,0xe4,0x7a,0xb3,
+0x1, 0xb5,0x80,0x4d,0xbe,0xa0,0x2, 0x38,0x37,0x20,0xf, 0x34,0xe5,0x5a,0xbe,0xb0,
+0x2, 0x50,0x11,0xe5,0x56,0xb4,0x25,0x4, 0x5, 0x5a,0x80,0x2b,0x75,0x56,0x25,0x75,
+0x5a,0x0, 0x80,0x23,0x74,0x25,0x7a,0xb3,0xd, 0xf5,0x74,0x1, 0x7a,0xb3,0x1, 0xba,
+0x6d,0x11,0x7a,0x15,0x58,0x7e,0xb3,0xd, 0xf5,0xf5,0x56,0x75,0x5a,0x0, 0x80,0x11,
+0xe4,0x7a,0xb3,0xd, 0xf5,0xf5,0x56,0xe4,0x7a,0xb3,0x1, 0xba,0x6d,0x11,0x7a,0x15,
+0x58,0x12,0x44,0x90,0x61,0x9, 0x7e,0xf5,0x58,0xbe,0xf4,0x0, 0x1, 0x78,0x23,0x7e,
+0xe7,0xc, 0x9b,0x4d,0xee,0x78,0x2, 0x61,0x9, 0x7e,0xb3,0xc, 0x7f,0x4, 0x7a,0xb3,
+0xc, 0x7f,0x7e,0x73,0xc, 0x7f,0xbe,0x70,0x4, 0x50,0x2, 0x61,0x9, 0x12,0x65,0x18,
+0x61,0x9, 0xbe,0xf4,0x0, 0x2, 0x78,0x58,0x7e,0xa3,0xb, 0xba,0xbe,0xa0,0x1, 0x28,
+0x6, 0x7e,0x67,0x3, 0x4, 0x80,0x4, 0x7e,0x67,0x3, 0x2, 0x7e,0x37,0xb, 0xb8,0xbd,
+0x36,0x28,0x76,0xbe,0xa0,0x2, 0x40,0x6c,0x74,0x2, 0xa4,0x49,0x35,0xc, 0x93,0x9e,
+0x37,0xc, 0x95,0x12,0x9c,0xec,0x7d,0x13,0x7e,0xa3,0xb, 0xba,0x74,0x2, 0xa4,0x49,
+0x35,0xc, 0x8f,0x9e,0x37,0xc, 0x91,0x12,0x9c,0xec,0x7d,0x23,0x2d,0x21,0x7e,0x73,
+0x2, 0xfa,0xa, 0x37,0x3e,0x34,0x3e,0x34,0x3e,0x34,0xbd,0x32,0x38,0x36,0x80,0x34,
+0xbe,0xf0,0x24,0x68,0x5, 0xbe,0xf0,0xfe,0x78,0x1f,0xbe,0xf0,0xfe,0x78,0x5, 0x12,
+0x7d,0x7b,0x7c,0xfb,0x4c,0xff,0x68,0x11,0x7c,0xbf,0x12,0x6d,0x9a,0x60,0xa, 0x7a,
+0xf3,0xd, 0xf5,0x74,0x1, 0x7a,0xb3,0x1, 0xba,0xe4,0x7a,0xb3,0xb, 0xba,0x6d,0x33,
+0x7a,0x37,0xb, 0xb6,0x6d,0x33,0x7a,0x35,0x58,0xda,0xf8,0xda,0x69,0x22,0xca,0x3b,
+0x7c,0x7b,0xbe,0xb0,0x8, 0x50,0x75,0x7e,0xa0,0x3, 0xa4,0x90,0x43,0x1f,0x73,0x2,
+0x43,0x37,0x2, 0x43,0x54,0x2, 0x43,0x7c,0x2, 0x43,0x6a,0x2, 0x43,0x6a,0x2, 0x43,
+0x6a,0x2, 0x43,0x6a,0x2, 0x43,0x6a,0x7e,0x68,0x9, 0xc6,0x7e,0xc3,0x0, 0xef,0x7e,
+0xd3,0x0, 0xf0,0x7e,0xb3,0xd, 0xc7,0xb4,0x1, 0x4, 0x6c,0xff,0x80,0x59,0x7e,0xf3,
+0x0, 0xee,0x80,0x53,0x7e,0x68,0xa, 0x22,0x7e,0xc3,0x1, 0x17,0x7e,0xd3,0x1, 0x18,
+0x7e,0xf3,0x1, 0x15,0x7e,0xe3,0x1, 0x16,0x80,0x41,0x7e,0x68,0x9, 0xc6,0x74,0x2,
+0xac,0xb7,0x9, 0xc5,0x1, 0x13,0x9, 0xd5,0x1, 0x14,0x80,0xc, 0x7e,0x68,0x9, 0xc6,
+0x7e,0xc3,0x0, 0xef,0x7e,0xd3,0x0, 0xf0,0x6c,0xff,0x80,0x1b,0x7e,0x68,0x9, 0xc6,
+0x7e,0xc3,0x0, 0xef,0x7e,0xd3,0x0, 0xf0,0x7e,0xb3,0xd, 0xc7,0xb4,0x1, 0x4, 0x6c,
+0xff,0x80,0x4, 0x7e,0xf3,0x0, 0xee,0x7e,0xe3,0x0, 0xfa,0x7e,0x1f,0x11,0x42,0x69,
+0xa1,0x0, 0xae,0x1e,0xa4,0x1e,0xa4,0x5e,0xa4,0x0, 0x1, 0x68,0x9, 0x7e,0x37,0x11,
+0xe, 0x12,0x0, 0x76,0x80,0x65,0x6c,0xaa,0x80,0x59,0xa, 0x3a,0x9, 0x63,0x9, 0x95,
+0x7e,0x70,0x2, 0xac,0x67,0x2d,0x3d,0x7d,0x2c,0xb, 0x1a,0xb0,0x7d,0x3b,0x12,0x81,
+0x2b,0x7d,0xb3,0x7e,0x30,0x2, 0xac,0x3a,0x7e,0x1f,0x11,0x42,0x2d,0x31,0x2e,0x34,
+0x0, 0x14,0xb, 0x1a,0xa0,0x5e,0xa4,0x0, 0x3f,0x1b,0x1a,0xa0,0x7d,0x4b,0x3e,0x44,
+0x3e,0x44,0x3e,0x44,0x3e,0x44,0x3e,0x44,0x3e,0x44,0x7e,0x30,0x2, 0xac,0x3a,0x7e,
+0x1f,0x11,0x42,0x2d,0x31,0x2e,0x34,0x0, 0x14,0xb, 0x1a,0xa0,0x4d,0xa4,0x1b,0x1a,
+0xa0,0xb, 0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,0xba,0x38,0x9f,0x7e,0x1f,0x11,0x42,0x69,
+0xa1,0x0, 0xae,0x1e,0xa4,0x1e,0xa4,0x5e,0xa4,0x0, 0x1, 0x78,0x12,0xa, 0xbc,0x7d,
+0x1b,0x7c,0x23,0x6c,0x33,0x7d,0xb1,0xa, 0xad,0x2d,0xba,0x79,0xb1,0x0, 0xa2,0xa,
+0x1f,0x5e,0x14,0x0, 0x1f,0x3e,0x14,0x3e,0x14,0x7e,0x1f,0x11,0x42,0x2e,0x34,0x0,
+0xb0,0xb, 0x1a,0xa0,0x5e,0xa4,0xff,0x83,0x4d,0xa1,0x1b,0x1a,0xa0,0x7c,0x6e,0x5e,
+0x60,0x3, 0x7c,0xb6,0xc4,0x54,0xf0,0x7c,0x6b,0x7e,0x73,0x9, 0x25,0x5e,0x70,0xcf,
+0x4c,0x76,0x7a,0x73,0x9, 0x25,0x7e,0x8, 0x9, 0x25,0x12,0x73,0xf7,0xda,0x3b,0x22,
+0xca,0x79,0x7d,0xc2,0x7d,0xb3,0x7d,0x2c,0x12,0x7b,0xc0,0xbe,0xb0,0x1, 0x78,0x2,
+0xc1,0x9, 0x7e,0xa7,0xc, 0x9b,0x4d,0xaa,0x78,0x6, 0x74,0x4, 0x7a,0xb3,0xc, 0x9f,
+0xbe,0xa4,0x0, 0x0, 0x28,0x2a,0x7d,0xda,0x1b,0xd4,0x3e,0xd4,0x3e,0xd4,0x49,0x3d,
+0xb, 0xc1,0x9d,0x3c,0x12,0x9c,0xec,0x7d,0xd3,0x7e,0xa7,0xc, 0x9b,0x1b,0xa4,0x3e,
+0xa4,0x3e,0xa4,0x49,0x3a,0xb, 0xbf,0x9d,0x3b,0x12,0x9c,0xec,0x2d,0xd3,0x80,0x4,
+0x7e,0xd4,0x7f,0xff,0x7e,0x73,0xc, 0x9f,0xa, 0xa7,0xbd,0xad,0x50,0x22,0x7e,0xa7,
+0xc, 0x9b,0x3e,0xa4,0x3e,0xa4,0x59,0xba,0xb, 0xbf,0x7e,0xa7,0xc, 0x9b,0x3e,0xa4,
+0x3e,0xa4,0x59,0xca,0xb, 0xc1,0x7e,0xa7,0xc, 0x9b,0xb, 0xa4,0x7a,0xa7,0xc, 0x9b,
+0x7e,0xa7,0xc, 0x9b,0xbe,0xa4,0x0, 0x30,0x50,0x2, 0xa1,0xd1,0xa1,0xc5,0x6c,0xff,
+0x7e,0xb3,0xc, 0x9f,0xb, 0xb1,0x7a,0xb3,0xc, 0x9f,0x7e,0x73,0xc, 0x9f,0xbe,0x70,
+0xc8,0x28,0xf, 0x7e,0xa7,0x3, 0x24,0x7a,0xa7,0xb, 0xb6,0x6d,0xaa,0x7a,0xa5,0x58,
+0xa1,0xd1,0x7e,0x1f,0xb, 0xbf,0x7a,0x1f,0xc, 0xa0,0x7e,0xe0,0x1, 0x80,0x53,0x74,
+0x4, 0xac,0xbf,0x49,0x25,0xc, 0xa2,0x74,0x4, 0xac,0xbe,0x49,0x35,0xb, 0xc1,0x9d,
+0x32,0x12,0x9c,0xec,0x7d,0xd3,0x74,0x4, 0xac,0xbf,0x49,0x25,0xc, 0xa0,0x74,0x4,
+0xac,0xbe,0x49,0x35,0xb, 0xbf,0x9d,0x32,0x12,0x9c,0xec,0x2d,0xd3,0x7e,0x73,0xc,
+0x9f,0xa, 0xa7,0xbd,0xad,0x38,0x19,0xb, 0xf0,0x7e,0x70,0x4, 0xac,0x7e,0x2e,0x34,
+0xb, 0xbf,0x7e,0x30,0x4, 0xac,0x3f,0x2e,0x14,0xc, 0xa0,0x74,0x4, 0x12,0x9b,0x1,
+0xb, 0xe0,0xa, 0xae,0xbe,0xa7,0xc, 0x9b,0x40,0xa5,0x7e,0xa4,0x0, 0xc0,0xca,0xa9,
+0x7e,0x18,0xc, 0xa0,0x7e,0x8, 0xb, 0xbf,0x12,0x9c,0xb5,0x1b,0xfd,0xa, 0xaf,0xb,
+0xa4,0x7a,0xa7,0xc, 0x9b,0x7e,0xa7,0xc, 0x9b,0xbe,0xa4,0x0, 0x2d,0x28,0x2, 0xa1,
+0x1e,0x7a,0xb7,0xc, 0x85,0x7a,0xc7,0xc, 0x87,0x7e,0xa7,0xc, 0x8d,0xbd,0xab,0x28,
+0x4, 0x7a,0xb7,0xc, 0x8d,0x7e,0xa7,0xc, 0x89,0xbd,0xab,0x50,0x4, 0x7a,0xb7,0xc,
+0x89,0x7e,0x37,0xc, 0x8f,0xbd,0x3c,0x28,0x4, 0x7a,0xc7,0xc, 0x8f,0x7e,0x37,0xc,
+0x8b,0xbd,0x3c,0x50,0x4, 0x7a,0xc7,0xc, 0x8b,0xda,0x79,0x22,0xca,0x79,0x7f,0x70,
+0x29,0xe7,0x0, 0x9e,0x7e,0x73,0x9, 0x62,0xa5,0xbf,0x5, 0x3a,0x6c,0xaa,0x80,0x30,
+0xa, 0x2a,0x7f,0x7, 0x2d,0x12,0x29,0xf0,0x0, 0x42,0xbe,0xf0,0x24,0x50,0xe, 0xa,
+0x2f,0x2e,0x24,0x0, 0x5, 0x7c,0x65,0x39,0x60,0x1, 0x59,0x80,0x11,0xbe,0xf0,0x24,
+0x40,0x8, 0x74,0x2d,0x39,0xb0,0x1, 0x59,0x80,0x4, 0x39,0xf0,0x1, 0x59,0xb, 0xa0,
+0xbc,0xea,0x38,0xcc,0x80,0x75,0xa5,0xbf,0x4, 0x51,0x6c,0xaa,0x80,0x47,0xa, 0x2a,
+0x7f,0x7, 0x2d,0x12,0x29,0xf0,0x0, 0x42,0xbe,0xf0,0x7, 0x40,0xd, 0xbe,0xf0,0xe,
+0x38,0x8, 0xa, 0x2f,0x2e,0x24,0x0, 0xc, 0x80,0x10,0xbe,0xf0,0xf, 0x40,0x13,0xbe,
+0xf0,0x15,0x38,0xe, 0xa, 0x2f,0x2e,0x24,0x0, 0x18,0x7c,0x65,0x39,0x60,0x1, 0x59,
+0x80,0x11,0xbe,0xf0,0x16,0x40,0x8, 0x74,0x1c,0x39,0xb0,0x1, 0x59,0x80,0x4, 0x39,
+0xf0,0x1, 0x59,0xb, 0xa0,0xbc,0xea,0x38,0xb5,0x80,0x20,0xa5,0xbf,0x6, 0x2, 0x80,
+0x2, 0xe1,0x7d,0x6c,0xaa,0x80,0x10,0xa, 0x3a,0x2d,0x3f,0x7d,0x2e,0x29,0xb1,0x0,
+0x42,0x39,0xb1,0x1, 0x59,0xb, 0xa0,0xbc,0xea,0x38,0xec,0x6c,0xaa,0x6d,0x44,0x7e,
+0x30,0x2, 0xac,0x3a,0x7e,0x1f,0x11,0x42,0x2d,0x31,0x79,0x41,0x0, 0x14,0xbc,0xea,
+0x28,0x22,0xa, 0x3a,0x2d,0x3f,0x7d,0x2e,0x29,0xb1,0x1, 0x59,0xa, 0x2b,0x7e,0x70,
+0x2, 0xac,0x7a,0x7e,0xf, 0x11,0x42,0x2d,0x13,0x2e,0x14,0x0, 0x14,0xb, 0xa, 0x30,
+0x4d,0x32,0x80,0x15,0x7e,0x70,0x2, 0xac,0x7a,0x7e,0xf, 0x11,0x42,0x2d,0x13,0x2e,
+0x14,0x0, 0x14,0xb, 0xa, 0x30,0x4e,0x70,0x3f,0x1b,0xa, 0x30,0xb, 0xa0,0xbe,0xa0,
+0x2e,0x78,0xaa,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0x6, 0x7e,0x34,0x0, 0x6, 0xe4,
+0x12,0x9c,0xda,0x6c,0xaa,0x80,0x42,0xa, 0x3a,0x2d,0x3f,0x7d,0x2e,0x29,0x71,0x1,
+0x59,0x7c,0xb7,0xc4,0x54,0xf, 0x7c,0x3b,0xa, 0x37,0x7e,0x24,0x0, 0x10,0x12,0x9a,
+0x2e,0x7c,0x75,0x7e,0x44,0x0, 0x1, 0x7c,0xb7,0x60,0x5, 0x3e,0x44,0x14,0x78,0xfb,
+0x7e,0x50,0x2, 0xac,0x53,0x7e,0x6f,0x11,0x42,0x2d,0xd2,0x2e,0xd4,0x0, 0x6, 0xb,
+0x6a,0x20,0x4d,0x24,0x1b,0x6a,0x20,0xb, 0xa0,0xbc,0xea,0x38,0xba,0xda,0x79,0x22,
+0x6c,0x55,0x80,0x71,0x7e,0x43,0x9, 0x63,0xbc,0x45,0x28,0xe, 0x7e,0xa3,0x0, 0xc4,
+0x7e,0x63,0x0, 0xc5,0x7e,0x73,0x0, 0xc6,0x80,0xc, 0x7e,0xa3,0x0, 0xc7,0x7e,0x63,
+0x0, 0xc8,0x7e,0x73,0x0, 0xc9,0x7e,0x90,0x4, 0xac,0x95,0x2e,0x47,0x8, 0xf4,0x49,
+0xd4,0x0, 0x2, 0xb, 0x48,0xc0,0xa, 0xfa,0x6d,0xee,0xbf,0x67,0x8, 0x12,0xa, 0xb6,
+0x7e,0x90,0x2, 0xac,0x95,0x7f,0x70,0x2d,0xf4,0xb, 0x7a,0x40,0x2d,0x4b,0x80,0x20,
+0xa, 0x4a,0x6d,0xff,0x9d,0xf4,0x7d,0x4f,0x1a,0x48,0x1a,0xe8,0xbf,0x67,0x58,0x13,
+0xa, 0xd7,0x7e,0x90,0x2, 0xac,0x95,0x7f,0x70,0x2d,0xf4,0xb, 0x7a,0x40,0x9d,0x4d,
+0x1b,0x7a,0x40,0xb, 0x50,0x7e,0x43,0x9, 0xc3,0xbc,0x45,0x38,0x87,0x22,0xff,0xff,
+0xca,0xf8,0x7f,0x71,0x69,0x57,0x0, 0xc, 0x69,0x47,0x0, 0x8, 0x9d,0x45,0x7a,0x47,
+0x10,0x49,0x69,0x37,0x0, 0xe, 0x69,0x27,0x0, 0xa, 0x9d,0x23,0x7a,0x27,0x10,0x4b,
+0x6d,0x44,0x7a,0x2f,0x10,0x4e,0x6d,0x22,0x7a,0x1f,0x10,0x52,0x7e,0x35,0x23,0x7a,
+0x37,0x10,0x56,0x74,0xff,0x7a,0xb3,0x10,0x4d,0x1, 0x5a,0x7d,0x52,0x3e,0x54,0x3e,
+0x54,0x7f,0x70,0x2d,0xf5,0xb, 0x7a,0x50,0x7d,0x42,0x3e,0x44,0x59,0x54,0xc, 0xa0,
+0x69,0x57,0x0, 0x2, 0x59,0x54,0xd, 0x0, 0xb, 0x24,0xbd,0x32,0x38,0xdd,0x7e,0x37,
+0x10,0x56,0xbe,0x34,0x0, 0x4, 0x18,0x2, 0x21,0x38,0x7e,0xf7,0x10,0x49,0x7e,0x17,
+0x10,0x4b,0xbd,0x1f,0x8, 0x2, 0x1, 0xa5,0x4d,0x11,0x68,0x2, 0x1, 0x82,0x7e,0x14,
+0x0, 0x1, 0x7d,0x3f,0x7d,0x21,0x12,0x9a,0x2e,0x7c,0xf7,0x7e,0x18,0x0, 0x20,0x7a,
+0x1f,0x10,0x5a,0x7e,0x34,0x0, 0x2d,0x7a,0x37,0x10,0x5e,0x7e,0x34,0x1, 0x80,0x7a,
+0x37,0x10,0x47,0x21,0xa, 0x4d,0xff,0x68,0x2, 0x1, 0xaf,0x7e,0xf4,0x0, 0x1, 0x7d,
+0x31,0x7d,0x2f,0x12,0x9a,0x2e,0x7c,0xf7,0x7e,0x18,0x0, 0x40,0x7a,0x1f,0x10,0x5a,
+0x7e,0x4, 0x0, 0x5a,0x7a,0x7, 0x10,0x5e,0x7e,0x4, 0x3, 0x0, 0x7a,0x7, 0x10,0x47,
+0x7d,0xf, 0x2d,0xf, 0xbd,0x1, 0x18,0x2, 0x21,0xa, 0x7e,0x4, 0x0, 0x51,0x7a,0x7,
+0x10,0x5e,0x7e,0x4, 0x2, 0xb3,0x7a,0x7, 0x10,0x47,0x1a,0x2, 0x1a,0x0, 0x7e,0x1f,
+0x10,0x5a,0x12,0x9a,0x60,0x7d,0x5f,0x1a,0x4a,0x1a,0x48,0x7d,0x1f,0x1a,0x2, 0x1a,
+0x0, 0x2f,0x2, 0x12,0x9a,0xcd,0x7a,0x1f,0x10,0x5a,0xbe,0xf0,0x5, 0x48,0x2, 0x21,
+0x34,0x7e,0x8, 0xc, 0xa0,0x7e,0x18,0xd, 0x0, 0x12,0x5f,0x68,0x7e,0x8, 0xc, 0xa0,
+0x7e,0x18,0xd, 0x0, 0x12,0x53,0x8a,0x12,0x74,0x65,0x7e,0x73,0x10,0x4d,0x7a,0x73,
+0xd, 0xfc,0x21,0x3e,0x74,0x7d,0x21,0x3a,0x74,0x7f,0x7a,0xb3,0x10,0x4d,0x6d,0x33,
+0x7a,0x37,0x10,0x56,0x7e,0x73,0x10,0x59,0xbe,0x73,0x10,0x4d,0x18,0x2, 0x21,0x6a,
+0x7e,0x73,0x10,0x4d,0x1a,0x27,0x7e,0x34,0x0, 0x22,0xad,0x32,0x2e,0x34,0x87,0xc6,
+0x7a,0x71,0x82,0x7a,0x61,0x83,0xe4,0x93,0x21,0x6b,0xe4,0xda,0xf8,0x22,0xca,0x3b,
+0x70,0x3c,0x7e,0x1f,0xa, 0xce,0x7a,0x1f,0xc, 0xa0,0x7e,0x5f,0xa, 0xd2,0x7e,0x6f,
+0xa, 0xd6,0x7e,0x4f,0xa, 0xda,0x7e,0x34,0xa, 0xb6,0x7a,0x35,0x23,0x7e,0x34,0xa,
+0xba,0x7a,0x35,0x25,0x7e,0x34,0xa, 0xbe,0x7a,0x35,0x27,0x7e,0x34,0xa, 0xc2,0x7a,
+0x35,0x29,0xe5,0x12,0xa, 0x1b,0x6d,0x0, 0x7e,0x1f,0xa, 0xb6,0x80,0x3a,0x7e,0x1f,
+0xb, 0x16,0x7a,0x1f,0xc, 0xa0,0x7e,0x5f,0xb, 0x1a,0x7e,0x6f,0xb, 0x1e,0x7e,0x4f,
+0xb, 0x22,0x7e,0x34,0xb, 0x2e,0x7a,0x35,0x23,0x7e,0x34,0xb, 0x32,0x7a,0x35,0x25,
+0x7e,0x34,0xb, 0x36,0x7a,0x35,0x27,0x7e,0x34,0xb, 0x3a,0x7a,0x35,0x29,0xe5,0x17,
+0xa, 0x1b,0x6d,0x0, 0x7e,0x1f,0xb, 0x2e,0x12,0x9a,0x60,0x7e,0x8, 0x0, 0x64,0x12,
+0x9a,0xcd,0x7f,0x71,0xbe,0x78,0x0, 0x32,0x18,0x2, 0x41,0xd8,0x7e,0x1f,0xc, 0xa0,
+0x12,0x86,0x6e,0x7a,0x1f,0xc, 0xa0,0x7f,0x15,0x12,0x86,0x6e,0x7f,0x51,0x7f,0x16,
+0x12,0x86,0x6e,0x7f,0x61,0x7f,0x14,0x12,0x86,0x6e,0x7f,0x41,0x7e,0x3f,0xc, 0xa0,
+0x2f,0x35,0x2f,0x36,0x78,0x24,0x7e,0x8, 0x0, 0x8, 0x7f,0x17,0x12,0x9a,0xcd,0x7f,
+0x1, 0x7e,0x35,0x23,0x59,0x13,0x0, 0x2, 0x1b,0x38,0x0, 0x7e,0x14,0x0, 0x3, 0x7f,
+0x17,0x12,0x9a,0x71,0x7e,0x8, 0x0, 0x8, 0x80,0x23,0x7e,0xf, 0xc, 0xa0,0x7f,0x17,
+0x12,0x9a,0x60,0x7f,0x3, 0x12,0x9a,0xcd,0x7f,0x1, 0x7e,0x35,0x23,0x59,0x13,0x0,
+0x2, 0x1b,0x38,0x0, 0x7f,0x17,0x7f,0x5, 0x12,0x9a,0x60,0x7f,0x3, 0x12,0x9a,0xcd,
+0x7f,0x1, 0x7e,0x35,0x25,0x59,0x13,0x0, 0x2, 0x1b,0x38,0x0, 0x7f,0x35,0x2f,0x36,
+0x2f,0x34,0x78,0x24,0x7e,0x14,0x0, 0x3, 0x7f,0x17,0x12,0x9a,0x71,0x7e,0x8, 0x0,
+0x8, 0x12,0x9a,0xcd,0x7f,0x1, 0x7e,0x35,0x27,0x59,0x13,0x0, 0x2, 0x1b,0x38,0x0,
+0x7e,0x8, 0x0, 0x8, 0x7f,0x17,0x80,0x21,0x7f,0x17,0x7f,0x6, 0x12,0x9a,0x60,0x7f,
+0x3, 0x12,0x9a,0xcd,0x7f,0x1, 0x7e,0x35,0x27,0x59,0x13,0x0, 0x2, 0x1b,0x38,0x0,
+0x7f,0x17,0x7f,0x4, 0x12,0x9a,0x60,0x7f,0x3, 0x12,0x9a,0xcd,0x7f,0x1, 0x7e,0x35,
+0x29,0x59,0x13,0x0, 0x2, 0x1b,0x38,0x0, 0xda,0x3b,0x22,0xca,0x79,0xe5,0x5b,0xb4,
+0x1, 0x2, 0x80,0x2, 0x81,0x39,0x12,0x17,0xcc,0x50,0xfb,0x12,0x86,0x96,0x12,0x62,
+0x9e,0x12,0x7e,0xf1,0x7e,0x8, 0x9, 0x25,0x12,0x1, 0x20,0x7e,0x73,0xd, 0x7c,0xbe,
+0x70,0x2, 0x28,0x6, 0x74,0x2, 0x7a,0xb3,0xd, 0x7c,0x7e,0xb3,0xd, 0x7c,0xf5,0x62,
+0xe5,0x1f,0x54,0x3, 0x78,0x2, 0x81,0x34,0x7e,0xb3,0xd, 0xa1,0xb4,0x1, 0x2, 0x80,
+0x2, 0x81,0x34,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x5e,0x70,
+0x8f,0x4e,0x70,0x60,0x1b,0xa, 0x30,0x7e,0x14,0x10,0x4, 0x7e,0x1f,0x11,0x42,0x1b,
+0x1a,0x10,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x70,0x4,
+0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x5e,0x60,
+0x81,0x4e,0x60,0x2, 0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb,
+0xa, 0x30,0x5e,0x60,0xfe,0x1b,0xa, 0x30,0x74,0x1, 0x7a,0xb3,0x9, 0xc3,0x7e,0xf3,
+0x9, 0x28,0xbe,0xf0,0x55,0x28,0x3, 0x7e,0xf0,0x55,0x7e,0xe3,0x9, 0x29,0xbe,0xe0,
+0x55,0x28,0x3, 0x7e,0xe0,0x55,0x7e,0x50,0x3, 0xac,0x5e,0x7c,0x45,0x6c,0x55,0x7e,
+0x70,0x3, 0xac,0x7f,0x2d,0x32,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xa2,0x6c,0xff,
+0x7e,0x34,0x0, 0x3f,0x74,0x2, 0xac,0xbf,0x7e,0xf, 0x11,0x42,0x2d,0x15,0x79,0x30,
+0x0, 0x14,0xb, 0xf0,0xbe,0xf0,0x2e,0x78,0xeb,0x6c,0xff,0x80,0x34,0x7e,0x34,0x7,
+0xd0,0x12,0x5f,0xf7,0x7c,0xbf,0x12,0x64,0x47,0x12,0x7e,0x8c,0x7e,0x1f,0xa, 0xac,
+0xb, 0x1a,0x30,0xbe,0x34,0x1b,0x20,0x28,0xe, 0x7e,0x24,0x1b,0x20,0x74,0x2, 0xac,
+0xbf,0x59,0x25,0xa, 0x22,0x80,0x8, 0x74,0x2, 0xac,0xbf,0x59,0x35,0xa, 0x22,0xb,
+0xf0,0xa, 0x3f,0xbe,0x37,0x11,0x10,0x40,0xc4,0x6c,0xff,0x80,0x1d,0xa, 0x3f,0x9,
+0xe3,0x9, 0x95,0x74,0x2, 0xac,0xbf,0x49,0x15,0xa, 0x22,0x74,0x2, 0xac,0xbe,0x7e,
+0x1f,0xa, 0xac,0x2d,0x35,0x1b,0x1a,0x10,0xb, 0xf0,0xa, 0x3f,0xbe,0x37,0x11,0x10,
+0x40,0xdb,0x80,0xd, 0x12,0x7e,0x8c,0x80,0x8, 0xe5,0x5b,0xb4,0x2, 0x3, 0x12,0x67,
+0x72,0x75,0x5b,0x0, 0xda,0x79,0x22,0xca,0x3b,0x7e,0xe3,0x9, 0xc3,0x12,0x7f,0x83,
+0x12,0x0, 0x46,0x7e,0x34,0x7, 0xd0,0x12,0x5f,0xf7,0x7e,0xb3,0xd, 0xde,0xb4,0x3,
+0x2, 0x80,0x2, 0xa1,0x87,0x12,0x7e,0x57,0x7e,0xb3,0xd, 0x68,0x60,0xe5,0x12,0x4a,
+0xdb,0x30,0x0, 0x5, 0x12,0x28,0x0, 0xa1,0x76,0x7e,0xa3,0xd, 0x66,0x7c,0xda,0x5e,
+0xd0,0xf, 0x7c,0xba,0x30,0xe7,0x54,0xe4,0x12,0x87,0xa4,0x12,0x84,0x14,0x12,0x73,
+0x14,0x12,0x3e,0x5, 0x12,0x65,0xe4,0x12,0x6a,0x43,0x12,0x7a,0x1, 0x12,0x4d,0x90,
+0x12,0x87,0x76,0x12,0x85,0xe7,0x12,0x80,0x85,0x4c,0xdd,0x68,0xb, 0xbe,0xd0,0x1,
+0x78,0x27,0x7e,0xb3,0x1, 0x27,0x70,0x21,0x6c,0xff,0x80,0x17,0x7e,0x30,0x4, 0xac,
+0x3f,0x2e,0x17,0x8, 0xf4,0x49,0x31,0x0, 0x2, 0x74,0x2, 0xac,0xbf,0x59,0x35,0x4,
+0x48,0xb, 0xf0,0xbc,0xef,0x38,0xe5,0xa1,0x76,0xa1,0x76,0x7e,0x1f,0x11,0x42,0x69,
+0x31,0x0, 0xae,0x1e,0x34,0x1e,0x34,0x5e,0x34,0x0, 0x1, 0x68,0x5e,0x6c,0xff,0x80,
+0x2c,0x74,0x2, 0xac,0xbf,0x49,0x35,0xa, 0x22,0x7a,0x37,0x11,0xe, 0x7c,0xbf,0x12,
+0x64,0x47,0x74,0x1, 0x12,0x87,0xa4,0x12,0x84,0x14,0x12,0x17,0xcc,0x50,0xfb,0x7e,
+0x37,0x4, 0x48,0x74,0x2, 0xac,0xbf,0x59,0x35,0x8, 0x98,0xb, 0xf0,0xa, 0x3f,0xbe,
+0x37,0x11,0x10,0x40,0xcc,0x6c,0xff,0x80,0x18,0xa, 0x3f,0x9, 0xc3,0x9, 0x95,0x74,
+0x2, 0xac,0xbf,0x49,0x35,0x8, 0x98,0x74,0x2, 0xac,0xbc,0x59,0x35,0x4, 0x48,0xb,
+0xf0,0xa, 0x3f,0xbe,0x37,0x11,0x10,0x40,0xe0,0x80,0x2b,0x74,0x1, 0x12,0x87,0xa4,
+0x12,0x84,0x14,0x12,0x17,0xcc,0x50,0xfb,0xbe,0xd0,0x1, 0x78,0x19,0x7e,0xb3,0x1,
+0x27,0x60,0x13,0xa, 0x3e,0x3e,0x34,0xca,0x39,0x7e,0x18,0x8, 0x98,0x7e,0x8, 0x4,
+0x48,0x12,0x9c,0xb5,0x1b,0xfd,0xe4,0x7a,0xb3,0xd, 0x68,0x7e,0xb3,0xd, 0x60,0x54,
+0x7f,0x7a,0xb3,0xd, 0x60,0x81,0x53,0x12,0x81,0xf2,0x12,0x87,0xd0,0xda,0x3b,0x22,
+0xca,0x79,0x7e,0xa3,0x9, 0xc4,0x7e,0x33,0x9, 0xc5,0x7e,0x23,0xd, 0xa2,0x7e,0x90,
+0x64,0xac,0x92,0x7e,0x7, 0x8, 0xf4,0x6c,0xff,0x7e,0xb3,0x1, 0x27,0xb4,0x1, 0xf,
+0x7e,0x23,0x11,0x49,0xbe,0x20,0x1, 0x28,0x6, 0x7e,0x37,0x11,0x46,0x2d,0x43,0x6c,
+0x22,0xc1,0xb3,0x7e,0x70,0x4, 0xac,0x72,0x7d,0xa3,0x2d,0xa0,0x49,0xfa,0x0, 0x2,
+0xb, 0xa8,0xe0,0xa, 0x2a,0xa, 0x32,0x2d,0x32,0x7e,0xb3,0x9, 0x63,0xa, 0x2b,0x12,
+0x9a,0x2e,0x7c,0xe5,0x7d,0x34,0x1e,0x34,0x6d,0x22,0xbf,0x71,0x58,0x2, 0xc1,0xb1,
+0x7e,0x70,0x4, 0xac,0x7e,0x7d,0xb3,0x2d,0xb0,0x49,0xdb,0x0, 0x2, 0xb, 0xb8,0xc0,
+0xa, 0x23,0xa, 0x32,0x12,0x9a,0x2e,0x4d,0x22,0x78,0x7, 0x9f,0x11,0x7a,0x1d,0x23,
+0x80,0x13,0x49,0x3a,0xff,0xfe,0x49,0x2a,0xff,0xfc,0x7a,0x1d,0x23,0x49,0x3b,0xff,
+0xfe,0x49,0x2b,0xff,0xfc,0x7a,0x1d,0x2b,0xa, 0x23,0xa, 0x32,0x12,0x9a,0x2e,0xa,
+0x33,0x1b,0x34,0xbd,0x32,0x78,0x7, 0x9f,0x11,0x7a,0x1d,0x27,0x80,0x25,0x7e,0x70,
+0x4, 0xac,0x72,0x7d,0xb3,0x2d,0xb0,0x49,0x3b,0x0, 0x6, 0x49,0x2b,0x0, 0x4, 0x7a,
+0x1d,0x27,0x7e,0x70,0x4, 0xac,0x7e,0x7d,0xb3,0x2d,0xb0,0x49,0x3b,0x0, 0x6, 0x49,
+0x2b,0x0, 0x4, 0x7a,0x1d,0x2f,0x7e,0x1d,0x23,0xbf,0x71,0x48,0x44,0x7e,0x1d,0x27,
+0xbf,0x71,0x48,0x3d,0xbf,0x76,0x48,0x39,0x7e,0x1d,0x2f,0xbf,0x71,0x48,0x32,0x7e,
+0x1d,0x2b,0xbf,0x71,0x48,0x2b,0xa, 0x3f,0x19,0x23,0x1, 0x9a,0xb, 0xf0,0x7e,0x70,
+0x4, 0xac,0x72,0x7d,0xb3,0x2d,0xb0,0x49,0x3b,0x0, 0x2, 0xb, 0xb8,0x20,0xb, 0x1c,
+0x59,0x3b,0x0, 0x2, 0x1b,0xb8,0x20,0xbe,0xf0,0x17,0x40,0x5, 0x7e,0xf0,0x17,0x80,
+0xc, 0xb, 0x20,0x7e,0xb3,0x9, 0x63,0xbc,0xb2,0x28,0x2, 0xa1,0xc3,0x7c,0xbf,0x12,
+0x72,0x2b,0xbe,0xf0,0x4, 0x40,0x3, 0x7e,0xf0,0x4, 0x7a,0xf3,0x1, 0xb7,0x7a,0xf3,
+0x1, 0xb5,0xda,0x79,0x22,0xca,0x3b,0x7e,0xc3,0x9, 0xc3,0x75,0x29,0x0, 0x80,0x4,
+0xe4,0x12,0x82,0x64,0x30,0xb, 0xf9,0xe5,0x62,0xa, 0x2b,0x5e,0x24,0x0, 0x1f,0x3e,
+0x24,0x3e,0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x5e,0x70,
+0x83,0x4d,0x32,0x1b,0xa, 0x30,0xa, 0x3c,0x3e,0x34,0x7e,0x8, 0xf, 0x47,0xe4,0x12,
+0x9c,0xda,0x12,0x58,0xf9,0x7e,0xb3,0x1, 0x2a,0x70,0x2, 0xe1,0xd7,0x7e,0x8, 0x0,
+0x23,0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,0xda,0xa, 0x3c,0x3e,0x34,0x7e,0x8, 0xf,
+0x47,0x12,0x9c,0xda,0x6c,0xff,0x80,0x4c,0x7e,0x70,0x2, 0xac,0x7f,0x2e,0x37,0x8,
+0xf6,0xb, 0x38,0x30,0xbe,0x37,0x1, 0x23,0x40,0x6, 0xbe,0x37,0x1, 0x25,0x28,0x32,
+0xa, 0x3f,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x7c,0xd7,0xa, 0x3f,0x7e,0x24,0x0, 0x8,
+0x12,0x9a,0x2e,0x7c,0xe5,0x7e,0x4, 0x0, 0x1, 0x7c,0xbe,0x60,0x5, 0x3e,0x4, 0x14,
+0x78,0xfb,0x7c,0x1, 0x7c,0x1d,0x2e,0x10,0x23,0xa5,0xe7,0x4c,0xb0,0xa5,0xf7,0x75,
+0x29,0x1, 0xb, 0xf0,0xbc,0xcf,0x38,0xb0,0xe5,0x29,0x60,0x4b,0x6c,0xff,0x80,0x40,
+0xa, 0x3f,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x7c,0xd7,0xa, 0x3f,0x7e,0x24,0x0, 0x8,
+0x12,0x9a,0x2e,0x7c,0xe5,0x7e,0x24,0x0, 0x1, 0x7c,0xbe,0x60,0x5, 0x3e,0x24,0x14,
+0x78,0xfb,0x7c,0x1d,0x2e,0x10,0x23,0xa5,0xe7,0xa, 0x3b,0x5d,0x32,0x68,0xf, 0x6d,
+0x11,0x74,0x2, 0xac,0xbf,0x7e,0x1f,0xa, 0xac,0x2d,0x35,0x1b,0x1a,0x10,0xb, 0xf0,
+0xbc,0xcf,0x38,0xbc,0x12,0x58,0xf9,0x12,0x67,0x72,0x7e,0xb3,0x9, 0x26,0x54,0x1f,
+0xa, 0x2b,0x5e,0x24,0x0, 0x1f,0x3e,0x24,0x3e,0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,
+0x0, 0xb0,0xb, 0xa, 0x30,0x5e,0x70,0x83,0x4d,0x32,0x1b,0xa, 0x30,0xda,0x3b,0x22,
+0x7e,0xb3,0x0, 0xed,0x7e,0x34,0x0, 0x1, 0x60,0x5, 0x3e,0x34,0x14,0x78,0xfb,0x7c,
+0xa7,0x7e,0xb3,0xd, 0x6b,0xa, 0x2b,0x7e,0xb3,0xd, 0x6a,0xa, 0x3b,0x2d,0x32,0xa,
+0x2a,0x12,0x9a,0x2e,0xa, 0x3a,0x9d,0x32,0x2e,0x34,0x0, 0x3, 0x1b,0x34,0x7a,0x73,
+0x9, 0x31,0x7e,0x34,0xf0,0x0, 0x7a,0x37,0x9, 0x34,0x7e,0x34,0x2, 0x26,0x7a,0x37,
+0x9, 0x32,0x7e,0x63,0x0, 0xed,0x5e,0x60,0x3, 0x3e,0x60,0x7e,0x73,0x9, 0x25,0x5e,
+0x70,0xf9,0x4c,0x76,0x7a,0x73,0x9, 0x25,0x12,0x6, 0x28,0x7e,0x73,0x9, 0x64,0xa,
+0x27,0x7e,0x73,0x9, 0x63,0xa, 0x37,0x2d,0x32,0x7a,0x73,0x9, 0xc3,0x7e,0x73,0x9,
+0x63,0x1e,0x70,0x7a,0x73,0x9, 0xc4,0x1e,0x70,0x7a,0x73,0x9, 0xc5,0x7e,0x18,0x9,
+0xc6,0x7a,0x1f,0xa, 0xac,0x6c,0xaa,0x80,0x8, 0xa, 0x3a,0x19,0xa3,0x9, 0x95,0xb,
+0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,0xba,0x38,0xf0,0x7e,0x73,0x0, 0xf1,0xa, 0x37,0xb,
+0x34,0xe, 0x34,0xe, 0x34,0xe, 0x34,0xe, 0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,
+0x34,0x3e,0x34,0x3e,0x34,0x7e,0x53,0x0, 0xef,0xa, 0x25,0xb, 0x24,0xe, 0x24,0xe,
+0x24,0xe, 0x24,0xe, 0x24,0x3e,0x24,0x2d,0x23,0x7e,0x73,0x0, 0xf3,0xa, 0x37,0xb,
+0x34,0xe, 0x34,0xe, 0x34,0xe, 0x34,0xe, 0x34,0x7c,0x67,0x6c,0x77,0x3e,0x34,0x3e,
+0x34,0x3e,0x34,0x2d,0x32,0x7a,0x37,0x9, 0x4a,0x6c,0xaa,0xa, 0x3a,0x2e,0x34,0x9c,
+0x17,0x7a,0x71,0x82,0x7a,0x61,0x83,0xe4,0x93,0xa, 0x2b,0x3e,0x24,0x3e,0x24,0x3e,
+0x24,0x3e,0x24,0x3e,0x24,0xa, 0x3a,0x2e,0x34,0x9c,0xc, 0x7a,0x71,0x82,0x7a,0x61,
+0x83,0xe4,0x93,0xa, 0x3b,0x2d,0x32,0xa, 0x2a,0x2e,0x24,0x9c,0x22,0x7a,0x51,0x82,
+0x7a,0x41,0x83,0xe4,0x93,0xa, 0x2b,0x7d,0x42,0x7c,0x89,0x6c,0x99,0x3e,0x44,0x3e,
+0x44,0x2d,0x43,0x7e,0x70,0x2, 0xac,0x7a,0x59,0x43,0x9, 0x4c,0xb, 0xa0,0xbe,0xa0,
+0xb, 0x40,0xa8,0x22,0x7d,0xd3,0x7e,0x63,0x1, 0xd7,0x7e,0x73,0x1, 0xd8,0x7e,0x83,
+0x1, 0xdc,0x7e,0x93,0x1, 0xdd,0xe5,0x15,0xa, 0xbb,0x3e,0xb4,0x3e,0xb4,0x3e,0xb4,
+0x3e,0xb4,0x3e,0xb4,0x3e,0xb4,0x3e,0xb4,0x1b,0xb4,0x7e,0x57,0x1, 0xc9,0xa, 0x26,
+0xbd,0x2d,0x50,0x2, 0x21,0xa6,0xa, 0x36,0x9d,0x3d,0x7e,0x27,0x1, 0xe2,0xad,0x32,
+0xa, 0x36,0xa, 0x28,0xbd,0x23,0x40,0x2, 0x21,0x8e,0x6d,0x33,0x21,0x94,0xa, 0x28,
+0x9d,0x23,0x7d,0x32,0x7e,0x53,0x1, 0xda,0xa, 0x25,0xbd,0x23,0x38,0x2, 0x21,0xa2,
+0x7d,0x32,0x7d,0xf3,0x41,0x64,0xa, 0xc7,0x7d,0xab,0x9d,0xac,0xbd,0xad,0x28,0x2,
+0x21,0xf8,0x7d,0xcd,0x9d,0xca,0x7e,0x37,0x1, 0xe4,0xad,0x3c,0xa, 0x36,0x7d,0xc3,
+0xa, 0xa9,0xbd,0xac,0x28,0x2, 0x21,0xcc,0xa, 0xc9,0x1b,0xc4,0x7e,0x73,0x1, 0xdb,
+0xa, 0x37,0xa, 0xa9,0x9d,0xa3,0xbd,0xac,0x40,0x2, 0x21,0xde,0x7d,0xca,0x7d,0xf5,
+0x2d,0xfc,0xa, 0xe9,0x9d,0xfe,0x6d,0xee,0x7d,0x35,0x6d,0x22,0xbf,0x71,0x50,0x2,
+0x41,0x64,0x7d,0xf5,0x1b,0xf4,0x41,0x64,0x7d,0xcb,0x1e,0xc4,0xbd,0xcd,0x38,0x2,
+0x41,0x33,0x7d,0xfc,0x9d,0xfd,0x6d,0xee,0x7e,0x17,0x1, 0xde,0x7f,0x17,0x12,0x9a,
+0x71,0x7f,0x71,0x7c,0x76,0x7c,0x65,0xa, 0x24,0x7f,0x71,0x7d,0x35,0x1e,0x34,0x6d,
+0x22,0x9f,0x17,0x7f,0x71,0xa, 0x38,0x6d,0x22,0xbf,0x71,0x40,0x2, 0x41,0x64,0xa,
+0xf8,0x41,0x64,0x7d,0xfd,0x9d,0xfc,0x6d,0xee,0x7e,0x17,0x1, 0xe0,0x7f,0x17,0x12,
+0x9a,0x71,0x7f,0x71,0x7c,0x76,0x7c,0x65,0xa, 0x24,0x7f,0x71,0x7d,0x35,0x1e,0x34,
+0x6d,0x22,0x2f,0x71,0xa, 0x29,0x7d,0x35,0x9d,0x32,0x6d,0x22,0xbf,0x71,0x38,0x2,
+0x41,0x64,0x7f,0x71,0x7d,0x3f,0x22,0x7d,0xd3,0x7e,0x63,0x2, 0xd, 0x7e,0x73,0x2,
+0xe, 0x7e,0x83,0x2, 0x11,0x7e,0x93,0x2, 0x12,0xe5,0xa, 0xa, 0xbb,0x3e,0xb4,0x3e,
+0xb4,0x3e,0xb4,0x3e,0xb4,0x3e,0xb4,0x3e,0xb4,0x3e,0xb4,0x1b,0xb4,0x7e,0x57,0x1,
+0xcb,0xa, 0x26,0xbd,0x2d,0x50,0x2, 0x41,0xc9,0xa, 0x36,0x9d,0x3d,0x7e,0x27,0x2,
+0x17,0xad,0x32,0xa, 0x36,0xa, 0x28,0xbd,0x23,0x40,0x2, 0x41,0xb1,0x6d,0x33,0x41,
+0xb7,0xa, 0x28,0x9d,0x23,0x7d,0x32,0x7e,0x53,0x2, 0xf, 0xa, 0x25,0xbd,0x23,0x38,
+0x2, 0x41,0xc5,0x7d,0x32,0x7d,0xf3,0x61,0x87,0xa, 0xc7,0x7d,0xab,0x9d,0xac,0xbd,
+0xad,0x28,0x2, 0x61,0x1b,0x7d,0xcd,0x9d,0xca,0x7e,0x37,0x2, 0x19,0xad,0x3c,0xa,
+0x36,0x7d,0xc3,0xa, 0xa9,0xbd,0xac,0x28,0x2, 0x41,0xef,0xa, 0xc9,0x1b,0xc4,0x7e,
+0x73,0x2, 0x10,0xa, 0x37,0xa, 0xa9,0x9d,0xa3,0xbd,0xac,0x40,0x2, 0x61,0x1, 0x7d,
+0xca,0x7d,0xf5,0x2d,0xfc,0xa, 0xe9,0x9d,0xfe,0x6d,0xee,0x7d,0x35,0x6d,0x22,0xbf,
+0x71,0x50,0x2, 0x61,0x87,0x7d,0xf5,0x1b,0xf4,0x61,0x87,0x7d,0xcb,0x1e,0xc4,0xbd,
+0xcd,0x38,0x2, 0x61,0x56,0x7d,0xfc,0x9d,0xfd,0x6d,0xee,0x7e,0x17,0x2, 0x13,0x7f,
+0x17,0x12,0x9a,0x71,0x7f,0x71,0x7c,0x76,0x7c,0x65,0xa, 0x24,0x7f,0x71,0x7d,0x35,
+0x1e,0x34,0x6d,0x22,0x9f,0x17,0x7f,0x71,0xa, 0x38,0x6d,0x22,0xbf,0x71,0x40,0x2,
+0x61,0x87,0xa, 0xf8,0x61,0x87,0x7d,0xfd,0x9d,0xfc,0x6d,0xee,0x7e,0x17,0x2, 0x15,
+0x7f,0x17,0x12,0x9a,0x71,0x7f,0x71,0x7c,0x76,0x7c,0x65,0xa, 0x24,0x7f,0x71,0x7d,
+0x35,0x1e,0x34,0x6d,0x22,0x2f,0x71,0xa, 0x29,0x7d,0x35,0x9d,0x32,0x6d,0x22,0xbf,
+0x71,0x38,0x2, 0x61,0x87,0x7f,0x71,0x7d,0x3f,0x22,0xca,0x79,0x7f,0x71,0x7f,0x60,
+0x7e,0x7, 0x10,0x56,0xbe,0x4, 0x0, 0x10,0x58,0x2, 0x81,0x8e,0xe4,0x7a,0xb3,0x10,
+0x58,0x7e,0x4, 0x0, 0x2, 0x81,0x5e,0x7d,0x30,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,
+0x34,0x7e,0x27,0x10,0x56,0x12,0x9a,0x2e,0x7c,0xa7,0xbe,0xa0,0x2, 0x58,0x3, 0x7e,
+0xa0,0x2, 0x7d,0x10,0x1b,0x14,0x1a,0x4a,0x1b,0x44,0x7d,0x21,0x3e,0x24,0x7f,0x56,
+0x2d,0xb2,0xb, 0x5a,0x30,0x7c,0x87,0x1a,0x39,0x3e,0x34,0x7f,0x56,0x2d,0xb3,0xb,
+0x5a,0x70,0x4c,0xff,0x78,0x11,0x1a,0x98,0x7f,0x56,0x2d,0xb3,0x1b,0x5a,0x90,0x1a,
+0xb9,0xbd,0xb1,0x68,0x20,0x80,0x15,0x1a,0xb9,0xbd,0xb1,0x68,0x18,0x1a,0x8f,0x1a,
+0x98,0x2d,0x98,0xe, 0x94,0x7f,0x56,0x2d,0xb3,0x1b,0x5a,0x90,0x6d,0x99,0x7f,0x56,
+0x2d,0xb2,0x1b,0x5a,0x90,0x7f,0x57,0x2d,0xb2,0xb, 0x5a,0x20,0x7c,0x85,0x7f,0x57,
+0x2d,0xb3,0xb, 0x5a,0x70,0x4c,0xff,0x78,0xd, 0x1a,0x38,0x1b,0x5a,0x30,0x1a,0x39,
+0xbd,0x31,0x68,0x28,0x80,0x19,0x1a,0x39,0xbd,0x31,0x68,0x20,0x1a,0xaf,0x1a,0xb8,
+0x2d,0xba,0xe, 0xb4,0x1a,0xa9,0x3e,0xa4,0x7f,0x17,0x2d,0x3a,0x1b,0x1a,0xb0,0x6d,
+0xbb,0x7d,0xa1,0x3e,0xa4,0x7f,0x17,0x2d,0x3a,0x1b,0x1a,0xb0,0xb, 0x4, 0x7e,0x37,
+0x10,0x56,0xbd,0x30,0x48,0x2, 0x61,0xa7,0x6d,0x11,0x7d,0x1, 0x3e,0x4, 0x7f,0x16,
+0x2d,0x30,0xb, 0x1a,0x30,0x19,0x71,0x10,0x60,0x7f,0x17,0x2d,0x30,0xb, 0x1a,0x30,
+0x19,0x71,0x10,0x70,0xb, 0x14,0xbe,0x14,0x0, 0x10,0x78,0xde,0x80,0x6, 0x74,0x1,
+0x7a,0xb3,0x10,0x58,0xda,0x79,0x22,0x7c,0xab,0xbe,0xa0,0x7, 0x78,0x8, 0x30,0x3,
+0x3, 0x74,0x1, 0x22,0xe4,0x22,0xbe,0xa0,0x50,0x40,0xa, 0xbe,0xa0,0x5d,0x38,0x5,
+0x7c,0xba,0x2, 0x6f,0x7d,0xbe,0xa0,0x34,0x38,0x2, 0xa1,0x91,0xbe,0xa0,0x2b,0x40,
+0x7, 0xbe,0xa0,0x2e,0x38,0x2, 0xa1,0x91,0xbe,0xa0,0x37,0x68,0x5, 0xbe,0xa0,0x38,
+0x78,0x1e,0x7e,0x93,0xd, 0x91,0x7c,0xb9,0x4, 0x7a,0xb3,0xd, 0x91,0xbe,0xa0,0x38,
+0x78,0x3, 0x75,0x5c,0x37,0xa, 0x39,0x9, 0x93,0x9, 0x67,0xb, 0x90,0x7c,0xb9,0x22,
+0xbe,0xa0,0x39,0x68,0x5, 0xbe,0xa0,0x3a,0x78,0x1b,0x7e,0x93,0xd, 0x93,0x7c,0xb9,
+0x4, 0x7a,0xb3,0xd, 0x93,0xbe,0xa0,0x3a,0x78,0x3, 0x75,0x5c,0x39,0xa, 0x19,0x7e,
+0x1f,0x11,0x1a,0x80,0x64,0xbe,0xa0,0x35,0x68,0x5, 0xbe,0xa0,0x36,0x78,0x1b,0x7e,
+0x93,0xd, 0x94,0x7c,0xb9,0x4, 0x7a,0xb3,0xd, 0x94,0xbe,0xa0,0x36,0x78,0x3, 0x75,
+0x5c,0x35,0xa, 0x19,0x7e,0x1f,0x11,0x1e,0x80,0x3f,0xbe,0xa0,0xf4,0x68,0x5, 0xbe,
+0xa0,0xf5,0x78,0x3b,0x7e,0x93,0xd, 0x94,0x7c,0xb9,0x4, 0x7a,0xb3,0xd, 0x94,0xbe,
+0xa0,0xf5,0x78,0x3, 0x75,0x5c,0xf4,0x7e,0x83,0x9, 0x66,0xa, 0x18,0x7e,0x83,0x9,
+0xc3,0xa, 0x8, 0x9d,0x1, 0x3e,0x4, 0xa, 0x19,0xbd,0x10,0x58,0x6, 0x7e,0x1f,0x11,
+0x12,0x80,0x6, 0x9d,0x10,0x7e,0x1f,0x11,0x16,0x2d,0x31,0x7e,0x1b,0xb0,0x22,0xbe,
+0xa0,0xae,0x78,0x3, 0xe5,0x1f,0x22,0xbe,0xa0,0x40,0x40,0xc, 0xbe,0xa0,0x41,0x38,
+0x7, 0xa, 0x3a,0x9, 0xb3,0xd, 0x60,0x22,0xe4,0x22,0x7e,0x8, 0xd, 0x60,0x7e,0x34,
+0x0, 0x8, 0xe4,0x12,0x9c,0xda,0x74,0x1, 0x7a,0xb3,0xd, 0x68,0xe4,0x7a,0xb3,0xd,
+0x69,0x7e,0x34,0x0, 0xd, 0xca,0x39,0x7e,0x18,0x0, 0xee,0x7e,0x8, 0xd, 0x6c,0x12,
+0x9c,0xb5,0x1b,0xfd,0xe4,0x7a,0xb3,0xd, 0x79,0x7e,0x73,0x1, 0x14,0x7a,0x73,0xd,
+0x7a,0x7e,0x73,0x1, 0x13,0x7a,0x73,0xd, 0x7b,0x7a,0xb3,0xd, 0x7c,0x7e,0x73,0x1,
+0x2a,0x7a,0x73,0xd, 0x7d,0x7e,0x73,0x0, 0xfb,0x7a,0x73,0xd, 0x7e,0x7e,0x73,0x0,
+0xfc,0x7a,0x73,0xd, 0x7f,0x7e,0x37,0x0, 0xfd,0x1e,0x34,0x1e,0x34,0x7a,0x73,0xd,
+0x80,0x7e,0x73,0x0, 0xff,0x7a,0x73,0xd, 0x81,0x7e,0x73,0x1, 0x0, 0x7a,0x73,0xd,
+0x82,0x7e,0x37,0x1, 0x2, 0x7a,0x37,0xd, 0x83,0x7e,0x37,0x1, 0x4, 0x1e,0x34,0x1e,
+0x34,0x1e,0x34,0x1e,0x34,0x7a,0x73,0xd, 0x85,0x7e,0x37,0x1, 0x6, 0x1e,0x34,0x1e,
+0x34,0x1e,0x34,0x1e,0x34,0x7a,0x73,0xd, 0x86,0x7e,0x37,0x1, 0x8, 0x1e,0x34,0x1e,
+0x34,0x7a,0x73,0xd, 0x87,0x7e,0x37,0x1, 0xa, 0x1e,0x34,0x1e,0x34,0x7a,0x73,0xd,
+0x88,0x7e,0x37,0x1, 0xc, 0x1e,0x34,0x1e,0x34,0x7a,0x73,0xd, 0x89,0x7e,0x8, 0xd,
+0x8f,0x7e,0x34,0x0, 0xc, 0x12,0x9c,0xda,0x7e,0x34,0x0, 0x5, 0xca,0x39,0x7e,0x18,
+0x1, 0xe, 0x7e,0x8, 0xd, 0x8a,0x12,0x9c,0xb5,0x1b,0xfd,0x90,0xb4,0x44,0xe4,0x93,
+0x7a,0xb3,0xd, 0x8f,0x7e,0x37,0x1, 0xc9,0x1e,0x34,0x1e,0x34,0x7a,0x73,0xd, 0xa0,
+0x74,0x1, 0x7a,0xb3,0xd, 0xa1,0x22,0xca,0x59,0xca,0x39,0xca,0xb, 0x7e,0x73,0xd,
+0xf2,0xa5,0xbf,0x0, 0x6, 0x7e,0xb3,0x0, 0xec,0x60,0xa, 0x4c,0x77,0x68,0x1b,0x7e,
+0xb3,0x9, 0x24,0x70,0x15,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xa9,0xd0,0x9e,
+0xa9,0xd7,0x9e,0xd2,0xaf,0x12,0x87,0x50,0xe1,0x8d,0xa5,0xbf,0x0, 0x9, 0x7e,0xb3,
+0x0, 0xec,0xbe,0xb0,0x1, 0x68,0xb, 0x4c,0x77,0x68,0x29,0x7e,0xb3,0x9, 0x24,0xb4,
+0x1, 0x22,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xa9,0xd0,0x9e,0xa9,0xd7,0x9e,
+0xd2,0xaf,0xa9,0xc4,0xcd,0x7e,0xa1,0xe5,0x7c,0xba,0x30,0xe4,0x2, 0xe1,0x8d,0x12,
+0x87,0x99,0xe1,0x8d,0xa5,0xbf,0x0, 0x9, 0x7e,0xb3,0x0, 0xec,0xbe,0xb0,0x2, 0x68,
+0xb, 0x4c,0x77,0x68,0x78,0x7e,0xb3,0x9, 0x24,0xb4,0x2, 0x71,0xc2,0xaf,0xa9,0xc4,
+0xcd,0x7e,0xa1,0xe5,0x7c,0xba,0x20,0xe4,0x3, 0x12,0x87,0x99,0x7c,0xba,0x30,0xe0,
+0x2d,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x5e,0x70,0xfd,0x1b,
+0xa, 0x30,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xa9,0xc7,0xdb,0xa9,0xd0,0xce,0xa9,0xc5,
+0xc9,0xc2,0xc, 0xd2,0xee,0xa9,0x27,0xcf,0x32,0x75,0x1e,0x1, 0x80,0x2d,0xa9,0x27,
+0xcf,0x5, 0x7c,0xba,0x30,0xe3,0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb,
+0xa, 0x30,0x5e,0x70,0xfd,0x1b,0xa, 0x30,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xa9,0xc7,
+0xdb,0xa9,0xd0,0xce,0xa9,0xc5,0xc9,0xc2,0xc, 0xd2,0xee,0xd2,0xaf,0xda,0xb, 0xda,
+0x39,0xda,0x59,0x32,0x6d,0x22,0x80,0x5e,0x6d,0x55,0x80,0x4e,0x7d,0x45,0x3e,0x44,
+0x3e,0x44,0x7f,0x60,0x2d,0xd4,0x69,0xb6,0x0, 0x6, 0x69,0xa6,0x0, 0x4, 0x69,0xf6,
+0x0, 0x2, 0xb, 0x6a,0xe0,0xbf,0x75,0x58,0x2f,0x7f,0x60,0x2d,0xd4,0x69,0xb6,0x0,
+0x6, 0x69,0xa6,0x0, 0x4, 0x7d,0x45,0x3e,0x44,0x3e,0x44,0x7f,0x60,0x2d,0xd4,0x79,
+0xb6,0x0, 0x2, 0x1b,0x6a,0xa0,0x7d,0x45,0x3e,0x44,0x3e,0x44,0x7f,0x60,0x2d,0xd4,
+0x79,0xf6,0x0, 0x6, 0x79,0xe6,0x0, 0x4, 0xb, 0x54,0x7d,0x43,0x1b,0x44,0x9d,0x42,
+0xbd,0x45,0x38,0xa8,0xb, 0x24,0xbd,0x32,0x38,0x9e,0x22,0xff,0xff,0xff,0xff,0xff,
+0x6c,0xaa,0x80,0x38,0xa, 0x3a,0x2e,0x34,0x9c,0x75,0x7a,0x71,0x82,0x7a,0x61,0x83,
+0xe4,0x93,0x7c,0x3b,0xbe,0x33,0x9, 0x63,0x50,0x11,0x74,0x4, 0xac,0x3b,0x2e,0x17,
+0x8, 0xf4,0x49,0x31,0x0, 0x2, 0xb, 0x18,0x20,0x80,0x2, 0x9f,0x11,0x7e,0x30,0x4,
+0xac,0x3a,0x59,0x31,0xa, 0xb4,0x59,0x21,0xa, 0xb2,0xb, 0xa0,0xe5,0x13,0xbc,0xba,
+0x38,0xc2,0x7e,0x1f,0xa, 0xca,0x7a,0x1d,0x23,0x75,0x28,0x0, 0x7e,0x18,0xa, 0xca,
+0x7a,0x1d,0x29,0x7e,0x18,0xa, 0xe2,0x7a,0x1d,0x2d,0x7e,0x1f,0xa, 0xce,0x7e,0xf,
+0xa, 0xe6,0xe4,0x12,0x68,0xc6,0x7e,0x1f,0xa, 0xde,0x7a,0x1d,0x23,0x75,0x28,0x1,
+0x7e,0x18,0xa, 0xde,0x7a,0x1d,0x29,0x7e,0x18,0xa, 0xf6,0x7a,0x1d,0x2d,0x7e,0x1f,
+0xa, 0xda,0x7e,0xf, 0xa, 0xf2,0xe4,0x12,0x68,0xc6,0x7e,0x1f,0xa, 0xfa,0x7a,0x1d,
+0x23,0x75,0x28,0x0, 0x7e,0x18,0xa, 0xfa,0x7a,0x1d,0x29,0x7e,0x18,0xb, 0x12,0x7a,
+0x1d,0x2d,0x7e,0x1f,0xa, 0xfe,0x7e,0xf, 0xb, 0x16,0x74,0x1, 0x12,0x68,0xc6,0x7e,
+0x1f,0xb, 0xe, 0x7a,0x1d,0x23,0x75,0x28,0x1, 0x7e,0x18,0xb, 0xe, 0x7a,0x1d,0x29,
+0x7e,0x18,0xb, 0x26,0x7a,0x1d,0x2d,0x7e,0x1f,0xb, 0xa, 0x7e,0xf, 0xb, 0x22,0x74,
+0x1, 0x12,0x68,0xc6,0xe4,0x12,0x49,0x6e,0x74,0x1, 0x12,0x49,0x6e,0x7e,0x8, 0xa,
+0xce,0x12,0x7f,0xdf,0x7e,0x8, 0xb, 0x16,0x12,0x7f,0xdf,0x7e,0x8, 0xa, 0xda,0x12,
+0x83,0x18,0x7e,0x8, 0xb, 0x22,0x2, 0x83,0x18,0xca,0x3b,0x7e,0xd3,0x9, 0xc3,0x6c,
+0xcc,0x21,0x9a,0xa, 0x3d,0x3e,0x34,0x7e,0xf, 0xa, 0xac,0xe4,0x12,0x9c,0xda,0x7e,
+0x1f,0x11,0x42,0x69,0x31,0x0, 0xae,0x1e,0x34,0x1e,0x34,0x5e,0x34,0x0, 0x1, 0x68,
+0x5, 0x7e,0xe0,0xd, 0x80,0x3, 0x7e,0xe0,0xa, 0x6c,0xff,0x80,0x44,0xa, 0x5e,0x1b,
+0x54,0xa, 0x4f,0x9d,0x54,0xf5,0x61,0x12,0x6c,0x52,0x7e,0xb3,0x1, 0x29,0x60,0x17,
+0x7e,0x1f,0x11,0x42,0x69,0x31,0x0, 0xae,0x1e,0x34,0x1e,0x34,0x5e,0x34,0x0, 0x1,
+0x78,0x5, 0x12,0x6c,0xf6,0x80,0x15,0x12,0x78,0xae,0x80,0x4, 0xe4,0x12,0x82,0x64,
+0x30,0xb, 0xf9,0x7e,0x17,0x8, 0xf6,0x6d,0x0, 0x12,0x60,0x0, 0x12,0x71,0xb4,0xb,
+0xf0,0xbc,0xef,0x38,0xb8,0x6c,0xff,0x80,0x1b,0x74,0x2, 0xac,0xbf,0x7e,0x1f,0xa,
+0xac,0x2d,0x35,0xb, 0x1a,0x30,0x49,0x25,0xf, 0x47,0xbd,0x23,0x50,0x4, 0x59,0x35,
+0xf, 0x47,0xb, 0xf0,0xbc,0xdf,0x38,0xe1,0xb, 0xc0,0x7e,0x73,0x1, 0x5a,0xbc,0x7c,
+0x28,0x2, 0x21,0x3, 0x6c,0xff,0x80,0x3b,0x7e,0x1f,0x11,0x42,0x69,0x31,0x0, 0xae,
+0x1e,0x34,0x1e,0x34,0x5e,0x34,0x0, 0x1, 0x78,0x16,0x74,0x2, 0xac,0xbf,0x49,0x45,
+0xf, 0x47,0xbe,0x44,0x3, 0x64,0x28,0x8, 0x7e,0x34,0x3, 0x64,0x59,0x35,0xf, 0x47,
+0x74,0x2, 0xac,0xbf,0x49,0x15,0xf, 0x47,0x7e,0x1f,0xa, 0xac,0x2d,0x35,0x1b,0x1a,
+0x10,0xb, 0xf0,0xbc,0xdf,0x38,0xc1,0xda,0x3b,0x22,0xca,0x79,0x7e,0x93,0x9, 0xc3,
+0x6c,0x88,0x4c,0x88,0x68,0x2, 0x41,0x19,0x7e,0x78,0x10,0xd7,0x6d,0x55,0x1b,0x7a,
+0x50,0x41,0x13,0x6d,0x22,0x7e,0x70,0x2, 0xac,0x7a,0x2e,0x37,0x8, 0xf6,0x1b,0x38,
+0x20,0xb, 0xa0,0xbc,0x9a,0x38,0xec,0x41,0x92,0xbe,0x80,0x8, 0x68,0x2, 0x41,0x2b,
+0x7e,0x78,0x10,0xd5,0x6d,0x33,0x1b,0x7a,0x30,0x41,0x92,0x6c,0xaa,0x41,0x8e,0x7e,
+0xf0,0x2, 0xac,0xfa,0xa, 0x38,0x1b,0x34,0x3e,0x34,0x49,0x33,0x0, 0x6d,0x6d,0x22,
+0x2d,0x37,0xb, 0x1a,0x10,0x6d,0x0, 0x7e,0x70,0x2, 0xac,0x78,0x49,0x33,0x0, 0x6d,
+0x2d,0x37,0xb, 0x1a,0x30,0x9f,0x10,0x12,0x9c,0xfc,0x7d,0xd3,0xb, 0x7a,0xc0,0xbd,
+0xcd,0x40,0x2, 0x41,0x68,0x1b,0x7a,0xd0,0xbe,0x80,0x7, 0x38,0x2, 0x41,0x8c,0x7e,
+0x63,0x10,0xea,0x7e,0x70,0x2, 0xac,0x67,0x49,0x23,0x10,0xdb,0xbe,0x27,0x10,0xd5,
+0x40,0x2, 0x41,0x8c,0x7e,0xc7,0x10,0xd5,0x59,0xc3,0x10,0xdb,0xb, 0xa0,0xbc,0x9a,
+0x38,0x9d,0xbe,0x80,0x8, 0x40,0x2, 0x41,0xce,0x6c,0xaa,0x41,0xca,0x7e,0x50,0x2,
+0xac,0x5a,0x7e,0x70,0x4, 0xac,0x78,0x2e,0x34,0xf, 0xa6,0x49,0x13,0x0, 0x2, 0x6d,
+0x0, 0x2d,0x12,0xb, 0xa, 0x10,0x1e,0x14,0x1e,0x14,0x1e,0x14,0x2e,0x27,0x8, 0xf6,
+0xb, 0x28,0x30,0x2d,0x31,0x1b,0x28,0x30,0xb, 0xa0,0xbc,0x9a,0x38,0xcf,0xb, 0x80,
+0xbe,0x80,0xa, 0x50,0x2, 0x21,0xf2,0xda,0x79,0x22,0xca,0x3b,0x7c,0xeb,0xe4,0x7a,
+0xb3,0xc, 0xa1,0x6c,0xff,0x7e,0xd0,0x28,0x7e,0x57,0x3, 0x6, 0xf5,0x23,0x6c,0xcc,
+0x75,0x26,0x0, 0x75,0x24,0x0, 0xe4,0x7a,0xb3,0xc, 0xa0,0x75,0x25,0x1, 0x80,0x56,
+0xe5,0x25,0x7e,0x71,0x24,0x12,0x79,0x59,0x7f,0x41,0xa, 0x3d,0x6d,0x22,0xbf,0x41,
+0x40,0x42,0xe5,0x24,0x70,0x2, 0x80,0x2f,0x7e,0xb3,0xc, 0xa0,0x7e,0x71,0x25,0x12,
+0x79,0x59,0x7a,0x1d,0x27,0xe5,0x23,0xa, 0x1b,0x6d,0x0, 0x2f,0x1, 0x7e,0x1f,0xc,
+0xa2,0x2f,0x14,0xbf,0x10,0x40,0xb, 0xbe,0xc0,0x6, 0x50,0x4, 0x5, 0x26,0x80,0x2,
+0xb, 0xf0,0xbe,0xc0,0x6, 0x50,0xd, 0x7a,0x4f,0xc, 0xa2,0xe5,0x24,0x7a,0xb3,0xc,
+0xa0,0x85,0x25,0x24,0x5, 0x25,0xbe,0xe1,0x25,0x38,0xa5,0xbe,0xc0,0x6, 0x50,0x2,
+0x80,0x6, 0x7e,0x57,0x3, 0x8, 0xf5,0x23,0x2e,0xd0,0xa, 0xbe,0xc0,0x6, 0x50,0x11,
+0x7e,0x73,0xc, 0xa1,0xbe,0x71,0x26,0x38,0x16,0xe5,0x26,0x7a,0xb3,0xc, 0xa1,0x80,
+0xe, 0x7e,0x73,0xc, 0xa1,0xbe,0x70,0x0, 0x38,0x16,0xbe,0xf0,0x0, 0x38,0x11,0xbe,
+0xc0,0x5, 0x78,0x3, 0x7e,0xd0,0x32,0xb, 0xc0,0xbe,0xc0,0xc, 0x50,0x2, 0x41,0xf0,
+0x7e,0x73,0xc, 0xa1,0xbe,0x70,0xa, 0x28,0x6, 0x74,0xf, 0x7a,0xb3,0xc, 0xa1,0x7e,
+0xb3,0xc, 0xa1,0xbe,0xb0,0x0, 0x28,0x2, 0x80,0xa, 0xbe,0xf0,0x0, 0x28,0x3, 0x2e,
+0xf0,0x10,0x7c,0xbf,0xda,0x3b,0x22,0xca,0x79,0xb4,0x1, 0x60,0x6c,0xee,0x6c,0xff,
+0x80,0x50,0xa, 0x3f,0x9, 0xa3,0x9, 0x95,0x74,0x2, 0xa4,0x49,0x35,0xa, 0x22,0x12,
+0x81,0x2b,0x7d,0xf3,0x74,0x2, 0xac,0xbf,0x7e,0x1f,0x11,0x42,0x2d,0x35,0x2e,0x34,
+0x0, 0x14,0xb, 0x1a,0xe0,0x5e,0xe4,0x0, 0x3f,0x1b,0x1a,0xe0,0x7d,0x1f,0x3e,0x14,
+0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x74,0x2, 0xac,0xbf,0x7e,0x1f,
+0x11,0x42,0x2d,0x35,0x2e,0x34,0x0, 0x14,0xb, 0x1a,0xe0,0x4d,0xe1,0x1b,0x1a,0xe0,
+0xb, 0xf0,0x7e,0x73,0x9, 0xc3,0xbc,0x7f,0x38,0xa8,0x80,0x63,0x7e,0xe3,0xd, 0x78,
+0x5e,0xe0,0x3, 0x6c,0xff,0x80,0x50,0xa, 0x3f,0x9, 0xa3,0x9, 0x95,0x74,0x2, 0xa4,
+0x49,0x35,0x9, 0xc6,0x12,0x81,0x2b,0x7d,0xf3,0x74,0x2, 0xac,0xbf,0x7e,0x1f,0x11,
+0x42,0x2d,0x35,0x2e,0x34,0x0, 0x14,0xb, 0x1a,0xe0,0x5e,0xe4,0x0, 0x3f,0x1b,0x1a,
+0xe0,0x7d,0x1f,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x74,
+0x2, 0xac,0xbf,0x7e,0x1f,0x11,0x42,0x2d,0x35,0x2e,0x34,0x0, 0x14,0xb, 0x1a,0xe0,
+0x4d,0xe1,0x1b,0x1a,0xe0,0xb, 0xf0,0x7e,0x73,0x9, 0xc3,0xbc,0x7f,0x38,0xa8,0x7c,
+0x6e,0x5e,0x60,0x3, 0x7c,0xb6,0xc4,0x54,0xf0,0x7c,0x6b,0x7e,0x73,0x9, 0x25,0x5e,
+0x70,0xcf,0x4c,0x76,0x7a,0x73,0x9, 0x25,0x7e,0x8, 0x9, 0x25,0x12,0x73,0xf7,0xda,
+0x79,0x22,0x7e,0x37,0xc, 0x81,0x9e,0x37,0xc, 0x85,0x12,0x9c,0xec,0x7d,0x13,0x7e,
+0x37,0xc, 0x83,0x9e,0x37,0xc, 0x87,0x12,0x9c,0xec,0x7d,0x3, 0x7e,0x37,0xc, 0x89,
+0x9e,0x37,0xc, 0x8d,0x12,0x9c,0xec,0x7d,0x43,0x7e,0x37,0xc, 0x8b,0x9e,0x37,0xc,
+0x8f,0x12,0x9c,0xec,0x7d,0x23,0x60,0x2, 0xa1,0x9a,0x7e,0x37,0x3, 0x14,0xbd,0x34,
+0x28,0x54,0x7e,0x37,0x3, 0x12,0xbd,0x32,0x50,0x4c,0xbd,0x30,0x40,0x2, 0xa1,0x9a,
+0x7e,0x37,0xc, 0x87,0xbe,0x37,0xc, 0x83,0x28,0x21,0x7e,0x7, 0xc, 0x83,0x9e,0x7,
+0xc, 0x8f,0xbe,0x7, 0x3, 0x1e,0x40,0x2, 0xa1,0x9a,0x7e,0x7, 0xc, 0x8b,0x9e,0x7,
+0xc, 0x87,0xbe,0x7, 0x3, 0x1e,0x50,0x72,0x74,0x23,0x22,0x9e,0x37,0xc, 0x8f,0xbe,
+0x37,0x3, 0x1e,0x50,0x65,0x7e,0x37,0xc, 0x8b,0x9e,0x37,0xc, 0x83,0xbe,0x37,0x3,
+0x1e,0x50,0x57,0x74,0x22,0x22,0x7e,0x37,0x3, 0xa, 0xbd,0x31,0x50,0x4c,0x7e,0x37,
+0x3, 0xc, 0xbd,0x32,0x28,0x44,0x7e,0x37,0xc, 0x85,0xbe,0x37,0xc, 0x81,0x50,0x1b,
+0x9e,0x37,0xc, 0x8d,0xbe,0x37,0x3, 0x1e,0x50,0x30,0x7e,0x37,0xc, 0x89,0x9e,0x37,
+0xc, 0x81,0xbe,0x37,0x3, 0x1e,0x50,0x22,0x74,0x20,0x22,0x7e,0x37,0xc, 0x81,0x9e,
+0x37,0xc, 0x8d,0xbe,0x37,0x3, 0x1e,0x50,0x11,0x7e,0x37,0xc, 0x89,0x9e,0x37,0xc,
+0x85,0xbe,0x37,0x3, 0x1e,0x50,0x3, 0x74,0x21,0x22,0xe4,0x22,0xca,0x3b,0x7e,0xd3,
+0x1, 0xb5,0x7e,0xb3,0x1, 0x49,0x70,0x2, 0xc1,0x80,0x6c,0xcc,0xc1,0x7a,0x20,0x5,
+0x2, 0xc1,0x56,0x74,0x5, 0xac,0xbc,0x49,0x35,0x1, 0x66,0x7a,0x35,0x23,0x49,0x25,
+0x1, 0x68,0x7a,0x25,0x25,0x7e,0x27,0x9, 0x1c,0x12,0x87,0xb8,0x7a,0x35,0x29,0x7e,
+0x35,0x25,0x7e,0x27,0x9, 0x1c,0x12,0x87,0xb8,0x7d,0x23,0x7a,0x25,0x2b,0x7e,0x35,
+0x29,0x12,0x81,0x2, 0x7a,0x35,0x27,0xbe,0x34,0x0, 0x1, 0x50,0x7, 0x7e,0x34,0x0,
+0x1, 0x7a,0x35,0x27,0x7e,0x37,0x9, 0x20,0xbe,0x35,0x27,0x7e,0x27,0x9, 0x14,0x7e,
+0x35,0x27,0x50,0x8, 0xad,0x32,0x7e,0x17,0x9, 0x1e,0x80,0x6, 0xad,0x32,0x7e,0x17,
+0x9, 0x22,0x12,0x9a,0x7a,0x7d,0x73,0x7e,0x7, 0x9, 0x14,0xbd,0x7, 0x50,0x2, 0x7d,
+0x70,0xbe,0x74,0x0, 0x1, 0x50,0x2, 0x6d,0x77,0x7e,0x35,0x29,0x7d,0x27,0x7e,0x15,
+0x27,0x12,0x83,0xc5,0x7a,0x35,0x23,0x7e,0x35,0x2b,0x7d,0x27,0x7e,0x15,0x27,0x7e,
+0x7, 0x9, 0x14,0x12,0x83,0xc5,0x7a,0x35,0x25,0x7e,0x25,0x23,0x74,0x5, 0xac,0xbc,
+0x59,0x25,0x1, 0x66,0x80,0x1e,0x74,0x5, 0xac,0xbc,0x49,0x35,0x1, 0x66,0x12,0x51,
+0x44,0x74,0x5, 0xac,0xbc,0x59,0x35,0x1, 0x66,0x49,0x35,0x1, 0x68,0x12,0x52,0x67,
+0x74,0x5, 0xac,0xbc,0x59,0x35,0x1, 0x68,0xb, 0xc0,0xbc,0xdc,0x28,0x2, 0xa1,0xae,
+0xda,0x3b,0x22,0x7c,0x6b,0xa5,0xbe,0xae,0x8, 0x5e,0x70,0x3, 0x7a,0x71,0x1f,0x80,
+0x6d,0xa5,0xbe,0xaf,0x3, 0x2, 0x86,0xf4,0xa5,0xbe,0x0, 0x5, 0x7c,0xb7,0x2, 0x84,
+0x2e,0xbe,0x60,0x50,0x40,0x10,0xbe,0x60,0x5d,0x38,0xb, 0xa, 0x56,0x1b,0x54,0xf5,
+0x5c,0x7c,0xb6,0x2, 0x7e,0x22,0xa5,0xbe,0x7, 0x14,0xa5,0xbf,0x1, 0x5, 0xd2,0x0,
+0xd2,0x3, 0x22,0xa5,0xbf,0x0, 0x2, 0x80,0x2, 0xe1,0x67,0xc2,0x0, 0x22,0xbe,0x60,
+0x8, 0x40,0x7, 0xbe,0x60,0xb, 0x38,0x2, 0x80,0x3d,0xbe,0x60,0xc, 0x40,0x5, 0xbe,
+0x60,0x1b,0x28,0x14,0xbe,0x60,0x1e,0x40,0x5, 0xbe,0x60,0x2a,0x28,0xa, 0xbe,0x60,
+0x2b,0x40,0xf, 0xbe,0x60,0x2e,0x38,0xa, 0xa, 0x26,0x19,0x72,0xd, 0x60,0x75,0x5b,
+0x1, 0x22,0xbe,0x60,0x6, 0x68,0x10,0xa5,0xbe,0x1c,0x2, 0x80,0xa, 0xbe,0x60,0x30,
+0x40,0xc, 0xbe,0x60,0x34,0x38,0x7, 0xa, 0x26,0x19,0x72,0xd, 0x60,0x22,0xbe,0x60,
+0x39,0x68,0x4, 0xa5,0xbe,0x3a,0x38,0x7e,0xa3,0xd, 0x92,0x7c,0xba,0x4, 0x7a,0xb3,
+0xd, 0x92,0x7c,0xba,0x7e,0xa3,0x9, 0xc3,0xa, 0x2a,0x3e,0x24,0xa, 0x1b,0xbd,0x12,
+0x28,0x4, 0x7d,0x52,0x1b,0x54,0xa, 0x2b,0x7e,0xf, 0x11,0x1a,0x2d,0x12,0x7a,0xb,
+0x70,0x30,0xe0,0x3, 0x75,0x5b,0x2, 0xa5,0xbe,0x3a,0xc, 0x75,0x5c,0x39,0x22,0xa5,
+0xbe,0x41,0x4, 0x7a,0x73,0xd, 0xa1,0x22,0xca,0x79,0x7f,0x71,0x7f,0x60,0x6d,0x88,
+0x7d,0xa8,0x7e,0x97,0x10,0x49,0xbe,0x94,0x0, 0x0, 0x18,0x4, 0x7e,0x94,0x0, 0x1,
+0x7e,0xa7,0x10,0x4b,0xbe,0xa4,0x0, 0x0, 0x18,0x4, 0x7e,0xa4,0x0, 0x1, 0x7d,0xb8,
+0x80,0x5a,0x7d,0x7b,0x3e,0x74,0x7f,0x16,0x2d,0x37,0xb, 0x1a,0x30,0x1a,0x26,0x1a,
+0x24,0x7e,0xf, 0x10,0x4e,0x9f,0x10,0x74,0x5, 0x2f,0x11,0x14,0x78,0xfb,0x7d,0x19,
+0x1a,0x2, 0x1a,0x0, 0x12,0x9a,0xcd,0x7d,0x83,0x7f,0x16,0x2d,0x37,0x1b,0x1a,0x80,
+0x7f,0x17,0x2d,0x37,0xb, 0x1a,0x30,0x1a,0x26,0x1a,0x24,0x7e,0xf, 0x10,0x52,0x9f,
+0x10,0x7e,0xf, 0x10,0x5a,0x12,0x9a,0x60,0x7d,0x1a,0x1a,0x2, 0x1a,0x0, 0x12,0x9a,
+0xcd,0x7d,0x83,0x7f,0x17,0x2d,0x37,0x1b,0x1a,0x80,0xb, 0xb4,0x7e,0x87,0x10,0x56,
+0xbd,0x8b,0x18,0x9e,0xda,0x79,0x22,0x6d,0x22,0x7a,0x25,0x1a,0x7a,0x35,0x1c,0x22,
+0xca,0xd8,0xca,0x79,0x7f,0x70,0x7e,0xf, 0x11,0x42,0x69,0x30,0x0, 0xb0,0x7d,0x53,
+0x1e,0x54,0x1e,0x54,0x5e,0x54,0x0, 0x1f,0x7c,0xab,0x7d,0x73,0x1e,0x74,0x5e,0x74,
+0x0, 0x1, 0x2e,0x14,0x0, 0xb0,0x5e,0x70,0x7f,0x1b,0xa, 0x30,0x6c,0xee,0x1, 0xd2,
+0xa, 0x3e,0x9, 0xd3,0x9, 0x95,0x7e,0x30,0x2, 0xac,0x3e,0x7e,0x1f,0x11,0x3e,0x2d,
+0x31,0xb, 0x1a,0x30,0x7d,0xd3,0x5e,0xd4,0x80,0x0, 0x6d,0x22,0x4d,0xdd,0x78,0x2,
+0x1, 0x5a,0x6e,0x34,0xff,0xff,0x6d,0x22,0xb, 0x1c,0x4c,0xff,0x78,0x2, 0x1, 0x7e,
+0xbe,0xa0,0x4, 0x40,0x2, 0x1, 0x73,0xa, 0x1a,0x3e,0x14,0x3e,0x14,0x2e,0x14,0x9c,
+0x2f,0x1, 0x87,0x7e,0x30,0x2, 0xac,0x3a,0x2e,0x14,0x9c,0x2d,0x1, 0x87,0x7e,0x30,
+0x2, 0xac,0x3a,0x2e,0x14,0x9c,0x2d,0x7e,0x4, 0x0, 0xff,0xb, 0xa, 0x40,0x7d,0x14,
+0x12,0x9a,0x71,0x74,0xc, 0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,
+0xf4,0x6d,0x22,0x4d,0xdd,0x78,0x2, 0x1, 0xb1,0x6e,0x34,0xff,0xff,0x6d,0x22,0xb,
+0x1c,0x7d,0xc3,0x7e,0x30,0x2, 0xac,0x3d,0x2d,0x1f,0x7d,0xe, 0x1b,0xa, 0xc0,0x7e,
+0x30,0x2, 0xac,0x3d,0x2d,0x1f,0xb, 0xa, 0xc0,0x2e,0xc4,0x80,0x0, 0x1b,0xa, 0xc0,
+0xb, 0xe0,0x7e,0xb3,0x9, 0xc3,0xbc,0xbe,0x28,0x2, 0x1, 0x30,0xda,0x79,0xda,0xd8,
+0x22,0xca,0x79,0x7e,0xb3,0x2, 0x1f,0x70,0x2, 0x21,0xbe,0x7e,0x23,0x1, 0xb5,0x7a,
+0x23,0x1, 0xb7,0x6c,0xaa,0x21,0xb8,0x7e,0x50,0x5, 0xac,0x5a,0x49,0xf2,0x1, 0x66,
+0x7e,0xe4,0x0, 0x40,0x9e,0xf4,0x0, 0x20,0x49,0xd2,0x1, 0x68,0x7e,0x37,0x1, 0xcb,
+0x1e,0x34,0xbd,0xd3,0x50,0xe, 0x7e,0x33,0x1, 0xe9,0xa, 0x43,0x7e,0x33,0x1, 0xea,
+0xa, 0x3, 0x80,0xc, 0x7e,0x33,0x1, 0xeb,0xa, 0x43,0x7e,0x33,0x1, 0xec,0xa, 0x3,
+0x7e,0x63,0x9, 0xc5,0x7e,0x70,0x40,0xac,0x67,0x7d,0xd3,0xbd,0x4f,0x38,0xa, 0x7d,
+0x3d,0x9d,0x3e,0x9d,0x30,0xbd,0x3f,0x50,0x3a,0x7e,0xb3,0x1, 0xb6,0xb4,0x1, 0x2c,
+0xa5,0xba,0x1, 0x28,0x7e,0xf0,0x4, 0xac,0xfa,0x49,0x37,0x11,0x36,0xbe,0x34,0x7f,
+0xff,0x68,0x19,0x49,0xc7,0x11,0x38,0xbe,0xc4,0x7f,0xff,0x68,0xf, 0x59,0x32,0x1,
+0x66,0x7e,0x70,0x5, 0xac,0x7a,0x59,0xc3,0x1, 0x68,0x80,0x7, 0x7c,0xba,0x7c,0x72,
+0x12,0x7f,0xb1,0x7e,0x33,0x1, 0xb8,0xbe,0x33,0x1, 0xb7,0x68,0xf, 0x7e,0xc4,0x7f,
+0xff,0x7e,0x70,0x4, 0xac,0x7a,0x59,0xc3,0x11,0x36,0x80,0x16,0x7e,0x50,0x5, 0xac,
+0x5a,0x49,0xc2,0x1, 0x66,0x7e,0x70,0x4, 0xac,0x7a,0x59,0xc3,0x11,0x36,0x49,0xc2,
+0x1, 0x68,0x59,0xc3,0x11,0x38,0xb, 0xa0,0xbc,0x2a,0x28,0x2, 0x1, 0xf7,0xda,0x79,
+0x22,0x7f,0x61,0x7f,0x50,0x6d,0xee,0x7a,0xe5,0x3a,0x7d,0x4e,0x7d,0x3e,0x7d,0x1e,
+0x7d,0xfe,0x7e,0x50,0x1, 0x1a,0x5, 0x7f,0x45,0x2d,0x90,0x7e,0x4b,0x40,0x1a,0x4,
+0x1a,0x55,0x7f,0x46,0x2d,0x95,0x7e,0x4b,0x40,0x1a,0x54,0x2d,0x45,0x2d,0x30,0x7d,
+0x95,0xad,0x95,0xe, 0x94,0xe, 0x94,0xe, 0x94,0xe, 0x94,0x2d,0x19,0x7d,0x90,0xad,
+0x90,0xe, 0x94,0xe, 0x94,0xe, 0x94,0xe, 0x94,0x2d,0xf9,0x7d,0x95,0xad,0x90,0xe,
+0x94,0xe, 0x94,0xe, 0x94,0xe, 0x94,0x2d,0xe9,0xb, 0x50,0xa5,0xbd,0x10,0xb6,0xe,
+0x44,0xe, 0x44,0xe, 0x44,0xe, 0x44,0xe, 0x34,0xe, 0x34,0xe, 0x34,0xe, 0x34,0x7d,
+0xd4,0xad,0xd3,0x9d,0xed,0xbe,0xe4,0x0, 0x0, 0x18,0x2, 0x80,0x5d,0x7d,0x54,0xad,
+0x54,0x9d,0x15,0xad,0x33,0x9d,0xf3,0xbe,0x14,0x0, 0x10,0x8, 0x6, 0xbe,0xf4,0x0,
+0x40,0x18,0x6, 0x7e,0x34,0x0, 0x64,0x80,0x3e,0xe, 0xe4,0xe, 0xe4,0xe, 0xe4,0xe,
+0xe4,0x7e,0x34,0x0, 0x19,0xad,0x3e,0xe, 0x14,0xe, 0x14,0xe, 0x14,0xe, 0x14,0x1a,
+0x2, 0x1a,0x0, 0x1a,0x26,0x1a,0x24,0x12,0x9a,0xcd,0xad,0x3e,0x7d,0x1f,0xe, 0x14,
+0xe, 0x14,0xe, 0x14,0xe, 0x14,0xe, 0x14,0xe, 0x14,0x1a,0x2, 0x1a,0x0, 0x1a,0x26,
+0x1a,0x24,0x12,0x9a,0xcd,0x1a,0x37,0x7a,0x35,0x3a,0x7e,0x55,0x3a,0x22,0x7e,0xa1,
+0x1f,0x5e,0xa0,0x3, 0xbe,0xa0,0x1, 0x78,0x2, 0x6c,0xaa,0x4c,0xaa,0x78,0x76,0x90,
+0xb4,0x78,0xe4,0x93,0x7c,0x6b,0x5e,0x60,0x3, 0x3e,0x60,0x7e,0x73,0x9, 0x25,0x5e,
+0x70,0xf9,0x4c,0x76,0x7a,0x73,0x9, 0x25,0x7e,0x63,0xd, 0x78,0x5e,0x60,0x3, 0x7c,
+0xb6,0xc4,0x54,0xf0,0x7c,0x6b,0x7e,0x73,0x9, 0x25,0x5e,0x70,0xcf,0x4c,0x76,0x7a,
+0x73,0x9, 0x25,0x7e,0x63,0xd, 0x6c,0x5e,0x60,0x1f,0x7e,0x73,0x9, 0x26,0x5e,0x70,
+0xe0,0x4c,0x76,0x7a,0x73,0x9, 0x26,0x90,0xb4,0xb4,0xe4,0x93,0x7a,0xb3,0x1, 0x29,
+0x90,0xb4,0xb2,0xe4,0x93,0x7a,0xb3,0x1, 0x27,0x90,0xb4,0xb3,0xe4,0x93,0x7a,0xb3,
+0x1, 0x28,0x7e,0x73,0x9, 0x64,0xa, 0x27,0x7e,0x73,0x9, 0x63,0xa, 0x37,0x2d,0x32,
+0x7a,0x73,0x9, 0xc3,0x22,0xbe,0xa0,0x1, 0x78,0x16,0x7e,0xb3,0xd, 0xa1,0x70,0x10,
+0x7e,0xb3,0x9, 0x25,0x54,0xf9,0x7a,0xb3,0x9, 0x25,0x54,0xcf,0x44,0x10,0x80,0x17,
+0xbe,0xa0,0x2, 0x78,0x2d,0x7e,0xb3,0xd, 0xa1,0x70,0x27,0x7e,0xb3,0x9, 0x25,0x54,
+0xf9,0x7a,0xb3,0x9, 0x25,0x54,0xcf,0x7a,0xb3,0x9, 0x25,0x7e,0xb3,0x9, 0x26,0x54,
+0xe0,0x7a,0xb3,0x9, 0x26,0xe4,0x7a,0xb3,0x1, 0x29,0x7a,0xb3,0x1, 0x27,0x7a,0xb3,
+0x1, 0x28,0x22,0xca,0x3b,0x7a,0x1d,0x23,0x7f,0x30,0x7e,0xb3,0x9, 0xc3,0xf5,0x29,
+0x7e,0xb3,0x9, 0x26,0x54,0x1f,0xa, 0x2b,0x5e,0x24,0x0, 0x1f,0x3e,0x24,0x3e,0x24,
+0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x5e,0x70,0x83,0x4d,0x32,
+0x1b,0xa, 0x30,0xe5,0x29,0xa, 0x3b,0x3e,0x34,0x7f,0x3, 0xe4,0x12,0x9c,0xda,0x7e,
+0xb3,0x1, 0x29,0x60,0x47,0x75,0x27,0x0, 0x80,0x37,0x12,0x6c,0xf6,0x75,0x28,0x0,
+0x80,0x26,0x7e,0x71,0x28,0x74,0x2, 0xac,0x7b,0x7f,0x3, 0x2d,0x13,0xb, 0xa, 0x50,
+0x7e,0x7d,0x23,0x2d,0xf3,0xb, 0x7a,0x20,0xbd,0x25,0x28,0xa, 0x2e,0x37,0x8, 0xf6,
+0xb, 0x38,0x30,0x1b,0xa, 0x30,0x5, 0x28,0xe5,0x29,0xbe,0xb1,0x28,0x38,0xd3,0x5,
+0x27,0x7e,0x73,0x1, 0x59,0xbe,0x71,0x27,0x38,0xc0,0x80,0x48,0x75,0x27,0x0, 0x12,
+0x78,0xae,0x80,0x4, 0xe4,0x12,0x82,0x64,0x30,0xb, 0xf9,0x7e,0xd, 0x23,0x12,0x60,
+0x0, 0x75,0x28,0x0, 0x80,0x20,0x7e,0xa1,0x28,0x74,0x2, 0xa4,0x7e,0x1d,0x23,0x2d,
+0x35,0xb, 0x1a,0x20,0x1e,0x24,0x1e,0x24,0x7f,0x3, 0x2d,0x15,0xb, 0xa, 0x30,0x2d,
+0x32,0x1b,0xa, 0x30,0x5, 0x28,0xe5,0x29,0xbe,0xb1,0x28,0x38,0xd9,0x5, 0x27,0xe5,
+0x27,0xb4,0x4, 0xbb,0xda,0x3b,0x22,0x7c,0x7b,0xa, 0x27,0x9, 0x62,0xa, 0x7e,0xa,
+0x26,0x7e,0xf, 0x11,0x42,0x79,0x20,0x0, 0x14,0x6d,0x22,0x7e,0xf, 0x11,0x42,0x79,
+0x20,0x0, 0xc, 0x7e,0xf, 0x11,0x42,0x79,0x20,0x0, 0xe, 0x7e,0xf, 0x11,0x42,0x79,
+0x20,0x0, 0x10,0x7e,0xf, 0x11,0x42,0x79,0x20,0x0, 0x6, 0x7e,0xf, 0x11,0x42,0x79,
+0x20,0x0, 0x8, 0x7e,0xf, 0x11,0x42,0x79,0x20,0x0, 0xa, 0xa, 0x27,0x9, 0xb2,0xa,
+0x7e,0xa, 0x4b,0x5e,0x44,0x0, 0xf, 0xc4,0x54,0xf, 0x7c,0xab,0x7c,0xb9,0x7e,0xf4,
+0x0, 0x1, 0x70,0x2, 0x81,0xab,0x3e,0xf4,0x14,0x78,0xfb,0x7e,0x50,0x2, 0xac,0x5a,
+0x7e,0xf, 0x11,0x42,0x2d,0x12,0x2e,0x14,0x0, 0xc, 0xb, 0xa, 0x20,0x4d,0x2f,0x1b,
+0xa, 0x20,0xe5,0x1f,0x54,0x3, 0xb4,0x1, 0x2, 0x80,0x2, 0xa1,0x17,0x7c,0xb7,0x20,
+0xe0,0x2, 0x81,0xdc,0xa, 0x57,0x1b,0x54,0x7c,0xab,0x81,0xe2,0xa, 0x57,0xb, 0x54,
+0x7c,0xab,0xa, 0x3a,0x9, 0xb3,0xa, 0x7e,0xa, 0x4b,0x5e,0x44,0x0, 0xf, 0xc4,0x54,
+0xf, 0x7c,0xab,0x7c,0xb9,0x7e,0x24,0x0, 0x1, 0x70,0x2, 0xa1,0x2, 0x3e,0x24,0x14,
+0x78,0xfb,0x74,0x2, 0xa4,0x7e,0xf, 0x11,0x42,0x2d,0x15,0x2e,0x14,0x0, 0x6, 0xb,
+0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x22,0x9f,0x0, 0x7e,0x27,0xc, 0x9b,0xbe,0x24,
+0x0, 0x30,0x50,0x26,0x7e,0x37,0xc, 0x85,0x3e,0x24,0x3e,0x24,0x59,0x32,0xb, 0xbf,
+0x7e,0x37,0xc, 0x87,0x7e,0x27,0xc, 0x9b,0x3e,0x24,0x3e,0x24,0x59,0x32,0xb, 0xc1,
+0x7e,0x37,0xc, 0x9b,0xb, 0x34,0x7a,0x37,0xc, 0x9b,0x7e,0xa0,0x1, 0x80,0x30,0x7e,
+0x70,0x4, 0xac,0x7a,0x49,0x23,0xb, 0xbd,0x49,0x33,0xb, 0xc1,0x9d,0x32,0x12,0x9c,
+0xec,0x7d,0x43,0x7e,0x70,0x4, 0xac,0x7a,0x49,0x23,0xb, 0xbb,0x49,0x33,0xb, 0xbf,
+0x9d,0x32,0x12,0x9c,0xec,0x2d,0x43,0x7d,0x34,0x6d,0x22,0x2f,0x1, 0xb, 0xa0,0xa,
+0x3a,0xbe,0x37,0xc, 0x9b,0x40,0xc8,0x6d,0x33,0x7a,0x35,0x58,0x7e,0x37,0x3, 0x26,
+0x6d,0x22,0xbf,0x1, 0x28,0x3, 0x74,0xfe,0x22,0x7e,0x73,0x2, 0xfb,0xa, 0x37,0x3e,
+0x34,0x3e,0x34,0x3e,0x34,0x6d,0x22,0xbf,0x1, 0x50,0x37,0x7e,0x37,0x3, 0x0, 0xbe,
+0x37,0xb, 0xb6,0x28,0x2d,0x7e,0xb3,0xb, 0xba,0x4, 0x7a,0xb3,0xb, 0xba,0x7e,0x34,
+0x0, 0x2, 0x7a,0x35,0x58,0x6d,0x33,0x7a,0x37,0xb, 0xb8,0x7e,0x47,0xc, 0x85,0x7e,
+0xa3,0xb, 0xba,0x74,0x2, 0xa4,0x59,0x45,0xc, 0x8f,0x7e,0x37,0xc, 0x87,0x59,0x35,
+0xc, 0x93,0xe4,0x22,0x7e,0xb3,0x1, 0x27,0x70,0x2, 0xc1,0xab,0xe4,0x7a,0xb3,0x11,
+0x48,0x9f,0x77,0x7e,0xa3,0x9, 0xc3,0x6c,0x77,0x80,0x36,0x7e,0x30,0x2, 0xac,0x37,
+0x49,0x21,0x4, 0x48,0x49,0x1, 0x8, 0x98,0xbd,0x2, 0x28,0x23,0x49,0x21,0x4, 0x48,
+0x49,0x41,0x8, 0x98,0x9d,0x42,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x2f,0x70,0x7e,0x27,
+0x0, 0x8f,0xbd,0x24,0x50,0x9, 0x7e,0xb3,0x11,0x48,0x4, 0x7a,0xb3,0x11,0x48,0xb,
+0x70,0xbc,0xa7,0x38,0xc6,0x7e,0x73,0x0, 0x91,0xbe,0x73,0x11,0x48,0x38,0x34,0xbe,
+0x78,0x27,0x10,0x28,0x2e,0x20,0xf, 0x2b,0x7e,0xa3,0x11,0x49,0x4c,0xaa,0x78,0x4,
+0x74,0x1, 0x80,0x20,0xbe,0xa0,0x2, 0x50,0x24,0x7e,0xb3,0x11,0x4a,0x4, 0x7a,0xb3,
+0x11,0x4a,0x7e,0x73,0x11,0x4a,0xbe,0x70,0x14,0x28,0x12,0x74,0x2, 0x7a,0xb3,0x11,
+0x49,0x80,0xa, 0xe4,0x7a,0xb3,0x11,0x49,0xe4,0x7a,0xb3,0x11,0x4a,0x6d,0x33,0x7a,
+0x37,0x11,0x46,0x7e,0x73,0x11,0x49,0xbe,0x70,0x1, 0x28,0xd, 0x7e,0x14,0x0, 0x14,
+0x7f,0x17,0x12,0x9a,0x7a,0x7a,0x37,0x11,0x46,0x7e,0x37,0x11,0x46,0xbe,0x34,0xd,
+0xac,0x28,0x8, 0x7e,0x34,0xd, 0xac,0x7a,0x37,0x11,0x46,0x22,0x12,0x87,0x6a,0x12,
+0x0, 0x2e,0xe4,0x12,0x87,0xa4,0x12,0x84,0x14,0x7e,0xb3,0xd, 0xde,0xb4,0x1, 0x2,
+0x80,0x2, 0xe1,0x6f,0x12,0x81,0xcb,0x12,0x7a,0xee,0xd2,0x8, 0x7e,0x34,0x0, 0xc8,
+0x12,0x5f,0xf7,0x12,0x73,0x14,0x12,0x7e,0x57,0x12,0x3e,0x5, 0xe4,0x12,0x87,0xa4,
+0x12,0x0, 0x4e,0x12,0x7d,0x1, 0x12,0x65,0xe4,0x12,0x6a,0x43,0x7e,0x73,0xd, 0xa2,
+0xa, 0x37,0x6d,0x22,0x7e,0x14,0x0, 0x64,0x12,0x9a,0x71,0x7f,0x1, 0x7e,0x1f,0x3,
+0x30,0xbf,0x10,0x48,0xe, 0x12,0x58,0x0, 0x12,0x7a,0x1, 0x12,0x1c,0x6d,0x12,0x86,
+0xa9,0x80,0x12,0xe4,0x7a,0xb3,0x1, 0xb5,0x7e,0xb3,0x1, 0x51,0xb4,0x1, 0x6, 0x30,
+0xf, 0x3, 0x12,0x7a,0x1, 0x12,0x87,0x76,0x12,0x76,0x53,0x12,0x26,0xc0,0x12,0x80,
+0x85,0x12,0x83,0xe0,0x12,0x85,0xe7,0x12,0x23,0xf5,0x12,0x60,0xe1,0x12,0x5d,0x9c,
+0x12,0x7c,0x83,0x12,0x14,0xd5,0x12,0x2a,0xab,0x12,0x68,0x0, 0x12,0x0, 0x47,0x12,
+0x10,0x0, 0x12,0x3c,0x10,0x12,0x20,0x0, 0x12,0x32,0x32,0x12,0x41,0x87,0x12,0x38,
+0x0, 0x12,0x18,0x0, 0x12,0x40,0x0, 0x12,0x75,0xf2,0x12,0x81,0xa4,0xc1,0xb9,0x2,
+0x87,0xd6,0x7e,0x1f,0x11,0x42,0x69,0x31,0x0, 0xae,0x1e,0x34,0x1e,0x34,0x5e,0x34,
+0x0, 0x1, 0x68,0xa, 0x7e,0x1f,0xa, 0xac,0xb, 0x1a,0x30,0x2, 0x0, 0x76,0x6c,0xaa,
+0x80,0x59,0xa, 0x3a,0x9, 0x23,0x9, 0x95,0x7e,0x30,0x2, 0xac,0x23,0x7e,0x1f,0xa,
+0xac,0x2d,0x31,0xb, 0x1a,0x30,0x12,0x81,0x2b,0x7d,0x23,0x7e,0x70,0x2, 0xac,0x7a,
+0x7e,0xf, 0x11,0x42,0x2d,0x13,0x2e,0x14,0x0, 0x14,0xb, 0xa, 0x30,0x5e,0x34,0x0,
+0x3f,0x1b,0xa, 0x30,0x7d,0x42,0x3e,0x44,0x3e,0x44,0x3e,0x44,0x3e,0x44,0x3e,0x44,
+0x3e,0x44,0x7e,0x70,0x2, 0xac,0x7a,0x7e,0xf, 0x11,0x42,0x2d,0x13,0x2e,0x14,0x0,
+0x14,0xb, 0xa, 0x30,0x4d,0x34,0x1b,0xa, 0x30,0xb, 0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,
+0xba,0x38,0x9f,0x22,0x74,0xa, 0x12,0x86,0x59,0x75,0xe6,0xa6,0x75,0xe9,0xff,0x22,
+0x7e,0xb3,0x1, 0x4a,0x70,0x2, 0x1, 0xc5,0x30,0xf, 0x2, 0x1, 0xc5,0x7e,0xa7,0x1,
+0xc7,0x7e,0xa3,0xd, 0xcb,0x4c,0xaa,0x68,0x12,0xbe,0xa0,0xff,0x68,0xd, 0x74,0x64,
+0xa4,0x7d,0xb5,0xbd,0xab,0x8, 0x6, 0x7d,0xba,0x80,0x2, 0x7d,0xba,0x7e,0xb3,0x1,
+0xb6,0xb4,0x1, 0xc, 0x7e,0xa7,0x1, 0x68,0xbe,0xa7,0x0, 0xd2,0x78,0x2, 0xe, 0xb4,
+0x7e,0x73,0x9, 0x66,0xa, 0x7, 0x7e,0x73,0x9, 0x64,0xa, 0x17,0x9d,0x10,0x7c,0x23,
+0x7e,0xa3,0x9, 0x65,0x7e,0x33,0x9, 0x63,0xbc,0xa2,0x78,0x31,0x7c,0x73,0x6c,0x66,
+0x80,0x25,0x7e,0x50,0x4, 0xac,0x57,0x2e,0x27,0x8, 0xf4,0x49,0xd2,0x0, 0x2, 0xb,
+0x28,0xc0,0x7d,0x2b,0x7d,0xfb,0x1a,0x24,0x1a,0xe4,0xbf,0x76,0x18,0x5, 0xe4,0x7a,
+0xb3,0x0, 0xc3,0xb, 0x60,0xb, 0x70,0xbc,0xa6,0x38,0xd7,0x80,0x2e,0xa5,0xba,0x2,
+0x2a,0x74,0x4, 0xac,0xb3,0x7d,0xa5,0x2e,0xa7,0x8, 0xf4,0x49,0x3a,0x0, 0x6, 0x49,
+0x2a,0x0, 0x4, 0x49,0x1a,0x0, 0x2, 0xb, 0xa8,0x0, 0x2f,0x1, 0x7d,0x3b,0x1a,0x26,
+0x1a,0x24,0xbf,0x10,0x18,0x5, 0xe4,0x7a,0xb3,0x0, 0xc3,0x12,0x77,0x9, 0x40,0x5,
+0x7d,0x3b,0x2, 0x30,0x0, 0x22,0xca,0xf8,0x7c,0xfb,0x7f,0x50,0x7f,0x41,0x7e,0x7d,
+0x23,0xbe,0x78,0x0, 0x32,0x18,0x2, 0x21,0x87,0xe5,0x28,0x70,0x4, 0xe5,0xc, 0x80,
+0x2, 0xe5,0x9, 0xa, 0x1b,0x6d,0x0, 0x7f,0x17,0x12,0x9a,0x60,0x7e,0x8, 0x0, 0x64,
+0x12,0x9a,0xcd,0x7f,0x71,0x7f,0x15,0x12,0x86,0x6e,0x7f,0x61,0x7f,0x14,0x12,0x86,
+0x6e,0x2f,0x61,0x78,0x4c,0x4c,0xff,0x68,0x24,0x7e,0x14,0x0, 0x3, 0x7f,0x17,0x12,
+0x9a,0x71,0x7e,0x8, 0x0, 0x4, 0x12,0x9a,0xcd,0x7f,0x1, 0x7e,0x1d,0x29,0x79,0x11,
+0x0, 0x2, 0x1b,0x1a,0x0, 0x7e,0x8, 0x0, 0x4, 0x7f,0x17,0x80,0x4b,0x7e,0x8, 0x0,
+0x4, 0x7f,0x17,0x12,0x9a,0xcd,0x7f,0x1, 0x7e,0x1d,0x29,0x79,0x11,0x0, 0x2, 0x1b,
+0x1a,0x0, 0x7e,0x14,0x0, 0x3, 0x7f,0x17,0x12,0x9a,0x71,0x7e,0x8, 0x0, 0x4, 0x80,
+0x27,0x7f,0x14,0x12,0x86,0x6e,0x7f,0x7, 0x12,0x9a,0x60,0x7f,0x6, 0x12,0x9a,0xcd,
+0x7f,0x1, 0x7e,0x1d,0x29,0x79,0x11,0x0, 0x2, 0x1b,0x1a,0x0, 0x7f,0x15,0x12,0x86,
+0x6e,0x7f,0x7, 0x12,0x9a,0x60,0x7f,0x6, 0x12,0x9a,0xcd,0x7f,0x1, 0x7e,0x1d,0x2d,
+0x79,0x11,0x0, 0x2, 0x1b,0x1a,0x0, 0xda,0xf8,0x22,0xca,0x2b,0xca,0x1b,0xca,0xb,
+0xc0,0xd0,0xc0,0x83,0xc0,0x82,0xc2,0xc1,0x7e,0x11,0xa2,0x7e,0x1, 0xa7,0xa5,0xb8,
+0x1, 0xb, 0xc2,0x95,0x7c,0xb1,0x12,0x7a,0x54,0xf5,0x91,0x80,0x58,0xbe,0x0, 0x3,
+0x40,0x36,0x7c,0xb1,0x7e,0x71,0xa3,0x12,0x74,0xca,0x7e,0xb3,0xd, 0xc7,0xbe,0xb1,
+0x4e,0x68,0x4, 0x70,0x2, 0xc2,0xc, 0x7e,0xb3,0x0, 0xec,0xb4,0x2, 0x6, 0x7e,0xb3,
+0xd, 0xf2,0x70,0xd, 0x7e,0xb3,0x9, 0x24,0xb4,0x2, 0xd, 0x7e,0xb3,0xd, 0xf2,0x70,
+0x7, 0xc2,0xc, 0xe4,0x7a,0xb3,0xd, 0xc7,0xbe,0x0, 0x7, 0x40,0xa, 0xb, 0x10,0x7c,
+0xb1,0x7e,0x71,0xa4,0x12,0x74,0xca,0xa5,0xb8,0xf, 0xa, 0xb, 0x10,0x7c,0xb1,0x7e,
+0x71,0xa5,0x12,0x74,0xca,0x20,0xc, 0x28,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,
+0xb, 0xa, 0x30,0x5e,0x70,0xfd,0x1b,0xa, 0x30,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xa9,
+0xc7,0xdb,0xa9,0xd0,0xce,0xa9,0xc5,0xc9,0xa9,0xd6,0xdc,0x75,0x9f,0x0, 0xd2,0xee,
+0x75,0x5d,0x0, 0x12,0x87,0x99,0xd0,0x82,0xd0,0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,
+0xda,0x2b,0x32,0xca,0xf8,0x7e,0xa3,0x9, 0xc4,0x7e,0x47,0x8, 0xf4,0x7e,0x73,0x9,
+0x63,0x9f,0x0, 0x7a,0xf, 0x3, 0x30,0x6c,0x66,0x80,0x2f,0xbc,0xa6,0x28,0xf, 0x9f,
+0x0, 0x7e,0x50,0x4, 0xac,0x56,0x59,0x12,0x3, 0x36,0x59,0x2, 0x3, 0x34,0x7e,0x50,
+0x4, 0xac,0x56,0x2d,0x24,0x49,0x12,0x0, 0x2, 0xb, 0x28,0x0, 0x7e,0x7f,0x3, 0x30,
+0xbf,0x7, 0x8, 0x4, 0x7a,0xf, 0x3, 0x30,0xb, 0x60,0xbc,0x76,0x38,0xcd,0x7e,0x6f,
+0x3, 0x30,0xbe,0x68,0x2, 0xbc,0x58,0x4, 0x74,0x7, 0x80,0x3d,0x7e,0xf3,0xd, 0xa2,
+0xa, 0xff,0x6d,0xee,0x7e,0x14,0x3, 0x20,0x7f,0x17,0x12,0x9a,0x71,0xbf,0x61,0x48,
+0x16,0x7e,0x8, 0x0, 0x4, 0x7f,0x16,0x12,0x9a,0xcd,0x7e,0x8, 0x0, 0x64,0x12,0x9a,
+0xcd,0x7a,0x73,0xd, 0xa2,0x80,0x16,0x7e,0x14,0x0, 0x64,0x7f,0x17,0x12,0x9a,0x71,
+0xbe,0x18,0x3, 0x84,0x8, 0x7, 0x7c,0xbf,0x14,0x7a,0xb3,0xd, 0xa2,0x7e,0x73,0xd,
+0xa2,0xa, 0x37,0x6d,0x22,0x7e,0x14,0x0, 0x64,0x12,0x9a,0x71,0xbe,0x18,0x2, 0xbc,
+0x58,0x6, 0x74,0x7, 0x7a,0xb3,0xd, 0xa2,0xda,0xf8,0x22,0x7e,0x34,0xb5,0x3a,0x7e,
+0x24,0x0, 0xff,0xb, 0x1a,0x30,0x7a,0x37,0x2, 0x1b,0x7e,0xb3,0x1, 0xe6,0x70,0x12,
+0x7e,0x8, 0x1, 0x49,0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,0xda,0x7a,0xb3,0x2, 0x1e,
+0x80,0xf, 0xb4,0x1, 0x17,0x7e,0x8, 0x1, 0x49,0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,
+0xda,0xe4,0x7a,0xb3,0x2, 0x1f,0x7a,0xb3,0x2, 0x20,0x80,0x24,0xb4,0x2, 0x12,0x7e,
+0x8, 0x1, 0x49,0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,0xda,0x7a,0xb3,0x2, 0x1f,0x80,
+0xf, 0xb4,0x3, 0x17,0x7e,0x8, 0x1, 0x49,0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,0xda,
+0xe4,0x7a,0xb3,0x2, 0x1d,0x7a,0xb3,0x2, 0x21,0x80,0x24,0xb4,0x4, 0x12,0x7e,0x8,
+0x1, 0x49,0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,0xda,0x7a,0xb3,0x2, 0x1d,0x80,0xf,
+0xb4,0x5, 0x24,0x7e,0x8, 0x1, 0x49,0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,0xda,0x7e,
+0x37,0x1, 0xcb,0x1e,0x34,0x1e,0x34,0x7a,0x37,0x2, 0x1b,0x7e,0x37,0x1, 0xcb,0x1e,
+0x34,0x1e,0x34,0x7a,0x37,0x1, 0xd3,0x22,0x69,0x50,0x0, 0xf, 0x1a,0x4a,0x1a,0x48,
+0x7e,0x1d,0x50,0x2f,0x12,0x7e,0x2f,0x11,0x42,0x79,0x32,0x0, 0x84,0x29,0xb0,0x0,
+0xc, 0x1e,0xb0,0x54,0x3f,0xa, 0x3b,0x7e,0x2f,0x11,0x42,0x79,0x32,0x0, 0x88,0x69,
+0x30,0x0, 0xd, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x86,0x6d,0x33,0x7e,0xf, 0x11,
+0x42,0x79,0x30,0x0, 0xb4,0x12,0x7c,0x43,0xa9,0xd0,0xce,0xa9,0xd5,0xc9,0xa9,0xd0,
+0x9e,0xa9,0xd4,0x9e,0xa9,0xd0,0x9e,0x7e,0x73,0xd, 0xab,0xa, 0x27,0x7e,0x34,0xf,
+0xa0,0x12,0x9a,0x2e,0x7c,0xb7,0xf5,0x9f,0xa9,0xd3,0xcd,0xa9,0xd0,0xcd,0xa9,0xc6,
+0xdc,0xa9,0xd5,0xdc,0xa9,0xd7,0xca,0xd2,0xa8,0xc2,0xee,0x7e,0xf, 0x11,0x42,0x2e,
+0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x4e,0x70,0x80,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,
+0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x5e,0x70,0x83,0x1b,0xa, 0x30,0x7e,0xf, 0x11,
+0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x70,0x2, 0x1b,0xa, 0x30,0xa9,0xd7,
+0xdb,0x22,0x7e,0x1f,0x11,0x42,0x69,0xc1,0x0, 0xae,0x1e,0xc4,0x1e,0xc4,0x5e,0xc4,
+0x0, 0x1, 0x68,0x1b,0x7e,0x1f,0xa, 0xac,0xb, 0x1a,0xd0,0xe5,0x61,0x7e,0xc4,0x0,
+0x1, 0x60,0x5, 0x3e,0xc4,0x14,0x78,0xfb,0x4d,0xdc,0x7d,0x3d,0x2, 0x0, 0x76,0x6c,
+0xaa,0x80,0x6a,0xa, 0x3a,0x9, 0x23,0x9, 0x95,0x7e,0x30,0x2, 0xac,0x23,0x7e,0x1f,
+0xa, 0xac,0x2d,0x31,0xb, 0x1a,0xd0,0xe5,0x61,0x7e,0x44,0x0, 0x1, 0x60,0x5, 0x3e,
+0x44,0x14,0x78,0xfb,0x4d,0xd4,0x7d,0x3d,0x12,0x81,0x2b,0x7d,0xd3,0x7e,0x30,0x2,
+0xac,0x3a,0x7e,0x1f,0x11,0x42,0x2d,0x31,0x2e,0x34,0x0, 0x14,0xb, 0x1a,0xc0,0x5e,
+0xc4,0x0, 0x3f,0x1b,0x1a,0xc0,0x7d,0x4d,0x3e,0x44,0x3e,0x44,0x3e,0x44,0x3e,0x44,
+0x3e,0x44,0x3e,0x44,0x7e,0x30,0x2, 0xac,0x3a,0x7e,0x1f,0x11,0x42,0x2d,0x31,0x2e,
+0x34,0x0, 0x14,0xb, 0x1a,0xc0,0x4d,0xc4,0x1b,0x1a,0xc0,0xb, 0xa0,0x7e,0xb3,0x9,
+0xc3,0xbc,0xba,0x38,0x8e,0x22,0xca,0x79,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,
+0xb, 0xa, 0x30,0x5e,0x70,0x83,0x1b,0xa, 0x30,0x80,0x4, 0xe4,0x12,0x82,0x64,0x30,
+0xb, 0xf9,0x7e,0xe3,0x1, 0x44,0xbe,0xe0,0xa, 0x28,0x3, 0x7e,0xe0,0xa, 0x6c,0xff,
+0x80,0x1b,0x12,0x78,0xae,0x80,0x4, 0xe4,0x12,0x82,0x64,0x30,0xb, 0xf9,0x74,0x2,
+0xac,0xbf,0x49,0x15,0x0, 0x6d,0x6d,0x0, 0x12,0x60,0x0, 0xb, 0xf0,0xbc,0xef,0x38,
+0xe1,0x6c,0xff,0x80,0x12,0x74,0x2, 0xac,0xbf,0x49,0x35,0x0, 0x6d,0x74,0x4, 0xac,
+0xbf,0x59,0x35,0xf, 0xa8,0xb, 0xf0,0xbc,0xef,0x38,0xea,0x7c,0xbe,0x12,0x2d,0x51,
+0x6c,0xff,0x80,0xc, 0x6d,0x33,0x74,0x4, 0xac,0xbf,0x59,0x35,0xf, 0xa8,0xb, 0xf0,
+0xbc,0xef,0x38,0xf0,0x7e,0xb3,0x9, 0x26,0x54,0x1f,0xa, 0x2b,0x5e,0x24,0x0, 0x1f,
+0x3e,0x24,0x3e,0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x5e,
+0x70,0x83,0x4d,0x32,0x1b,0xa, 0x30,0xda,0x79,0x22,0x7c,0x6b,0x6c,0xaa,0xbe,0x60,
+0x20,0x40,0x5, 0xbe,0x60,0x7f,0x28,0x3, 0x7c,0xba,0x22,0xa, 0x26,0x9e,0x24,0x0,
+0x20,0xe, 0x24,0xe, 0x24,0xe, 0x24,0xe, 0x24,0x7c,0x75,0x7c,0x56,0x5e,0x50,0xf0,
+0xa5,0xbd,0x20,0x1f,0x7c,0xb6,0x54,0xf, 0x7e,0x34,0x0, 0x1, 0x60,0x5, 0x3e,0x34,
+0x14,0x78,0xfb,0x7e,0x43,0x3, 0x28,0xa, 0x44,0x5d,0x43,0x7e,0x43,0xd, 0xf3,0xa,
+0x54,0x80,0x52,0xa5,0xbd,0x30,0x26,0x7e,0xb3,0xd, 0xf3,0x30,0xe5,0x4b,0x7c,0xb6,
+0x54,0xf, 0x7e,0x34,0x0, 0x1, 0x60,0x5, 0x3e,0x34,0x14,0x78,0xfb,0x7e,0x53,0x3,
+0x29,0xa, 0x45,0x5d,0x43,0x7e,0x73,0xd, 0xf4,0xa, 0x57,0x80,0x28,0x7e,0xb3,0xd,
+0xf3,0x30,0xe5,0x25,0x7c,0xb6,0x54,0xf, 0x7e,0x24,0x0, 0x1, 0x60,0x5, 0x3e,0x24,
+0x14,0x78,0xfb,0xa, 0x17,0x9, 0x61,0x3, 0x28,0xa, 0x46,0x5d,0x42,0xa, 0x57,0x9,
+0x75,0xd, 0xf5,0xa, 0x57,0x5d,0x54,0x7c,0xab,0x7c,0xba,0x22,0x7e,0x14,0x9e,0x3e,
+0x7e,0x4, 0x0, 0xff,0x69,0x30,0x0, 0x1, 0x7e,0xb, 0x50,0x7a,0x35,0x24,0x7a,0x51,
+0x23,0x7e,0x14,0x9e,0x41,0x7e,0x4, 0x0, 0xff,0x69,0x30,0x0, 0x1, 0x7e,0xb, 0x50,
+0x7a,0x35,0x27,0x7a,0x51,0x26,0x7e,0x24,0xff,0xff,0x7d,0x42,0x6d,0x33,0x7d,0x13,
+0xe5,0x66,0x60,0x3, 0x15,0x66,0x22,0x6c,0xaa,0x7c,0x1a,0x2e,0x10,0x23,0xa5,0xe7,
+0x7c,0x1b,0x74,0x2, 0xac,0x1b,0x2e,0x7, 0x8, 0xf6,0xb, 0x8, 0x0, 0xbd,0x4, 0x50,
+0x2, 0x7d,0x40,0xbd,0x1, 0x28,0x2, 0x7d,0x10,0x7c,0x1a,0x2e,0x10,0x26,0xa5,0xe7,
+0x7c,0x1b,0x74,0x2, 0xac,0x1b,0x2e,0x7, 0x8, 0xf6,0xb, 0x8, 0x0, 0xbd,0x2, 0x50,
+0x2, 0x7d,0x20,0xbd,0x3, 0x28,0x2, 0x7d,0x30,0xb, 0xa0,0xbe,0xa0,0x3, 0x78,0xb9,
+0x9d,0x14,0xbe,0x17,0x1, 0x42,0x8, 0x6, 0x7e,0xb3,0x1, 0x41,0xf5,0x66,0x9d,0x32,
+0xbe,0x37,0x1, 0x42,0x8, 0x6, 0x7e,0xb3,0x1, 0x41,0xf5,0x66,0x22,0x7e,0x14,0x10,
+0x4, 0x7e,0x1f,0x11,0x42,0x1b,0x1a,0x10,0xa9,0xd0,0xca,0x43,0xca,0xa, 0x7e,0xf,
+0x11,0x42,0x2e,0x14,0x0, 0xaa,0xb, 0xa, 0x30,0x4e,0x60,0x20,0x1b,0xa, 0x30,0x7e,
+0x34,0x0, 0x3f,0x6c,0xaa,0x7e,0x50,0x2, 0xac,0x5a,0x7e,0xf, 0x11,0x42,0x2d,0x12,
+0x79,0x30,0x0, 0x14,0xb, 0xa0,0xbe,0xa0,0x2d,0x40,0xea,0x7e,0x34,0x38,0x2, 0x7e,
+0xf, 0x11,0x42,0x79,0x30,0x0, 0xaa,0x7e,0x34,0x1a,0x1a,0x7e,0xf, 0x11,0x42,0x79,
+0x30,0x0, 0xa2,0x7e,0x34,0x3, 0x4c,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xac,0x7e,
+0x34,0x0, 0x29,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xae,0x7e,0x34,0x2, 0x0, 0x7e,
+0xf, 0x11,0x42,0x79,0x30,0x0, 0xb0,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb,
+0xa, 0x30,0x4e,0x70,0x3c,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xac,
+0xb, 0xa, 0x30,0x5e,0x70,0xf3,0x4e,0x70,0x4, 0x1b,0xa, 0x30,0x22,0x7c,0x2b,0x15,
+0x5c,0x7c,0xb2,0x24,0xad,0xbe,0xb0,0xa, 0x50,0x6c,0x7e,0xa0,0x3, 0xa4,0x90,0x6f,
+0x92,0x73,0x2, 0x6f,0xb0,0x2, 0x6f,0xb0,0x2, 0x6f,0xbc,0x2, 0x6f,0xbc,0x2, 0x6f,
+0xbc,0x2, 0x6f,0xbc,0x2, 0x6f,0xbc,0x2, 0x6f,0xbc,0x2, 0x6f,0xbc,0x2, 0x6f,0xbc,
+0x7e,0xb3,0xe, 0x3, 0xa, 0x3b,0x9, 0x33,0x9, 0x67,0x80,0x32,0xa, 0x32,0x9e,0x34,
+0x0, 0x55,0x7e,0x4, 0x0, 0x2, 0x7d,0x20,0x12,0x9a,0x2e,0x4d,0x22,0x68,0x2, 0x1b,
+0x20,0xa, 0x32,0x9e,0x34,0x0, 0x55,0x7d,0x20,0x12,0x9a,0x2e,0x7e,0x14,0x0, 0x14,
+0xad,0x13,0x7e,0xb3,0xe, 0x3, 0xa, 0x3b,0x2d,0x31,0x9, 0x33,0x2, 0x35,0x4, 0x7a,
+0xb3,0xe, 0x3, 0x7c,0xb3,0x22,0x74,0xff,0x22,0xa9,0xc0,0x93,0x75,0x5d,0x0, 0x32,
+0xca,0x3b,0x7e,0x94,0x38,0x80,0x7e,0x84,0x0, 0x1, 0x7f,0x64,0x9f,0x55,0x7f,0x75,
+0x6c,0x33,0x7e,0xa0,0x1, 0x6c,0x22,0x80,0x2e,0x7e,0x10,0x2, 0xac,0x12,0x2e,0x7,
+0x8, 0xf8,0xb, 0x8, 0x70,0x6d,0x66,0x7e,0x10,0x4, 0xac,0x12,0x2e,0x7, 0x8, 0xf4,
+0x49,0x30,0x0, 0x2, 0xb, 0x8, 0x20,0x2f,0x13,0xbf,0x61,0x8, 0x2, 0x7f,0x61,0xbf,
+0x71,0x58,0x2, 0x7f,0x71,0xb, 0x20,0x7e,0x13,0x9, 0x63,0xbc,0x12,0x38,0xca,0x7f,
+0x37,0x9f,0x36,0xbe,0x38,0x4, 0xb0,0x58,0x3, 0x7e,0x30,0x1, 0x7f,0x64,0x7f,0x75,
+0x6c,0x22,0x80,0x1c,0x7e,0x70,0x2, 0xac,0x72,0x2e,0x37,0x8, 0xf8,0xb, 0x38,0x30,
+0x6d,0x22,0xbf,0x61,0x8, 0x2, 0x7f,0x61,0xbf,0x71,0x58,0x2, 0x7f,0x71,0xb, 0x20,
+0xbc,0x12,0x38,0xe0,0x9f,0x76,0xbe,0x78,0x4, 0xb0,0x8, 0x2, 0x6c,0xaa,0x4c,0x33,
+0x68,0x8, 0x4c,0xaa,0x78,0x4, 0x74,0x1, 0x80,0x1, 0xe4,0xda,0x3b,0x22,0xca,0xd8,
+0xca,0x79,0x7c,0x5b,0x6c,0xdd,0x6c,0xff,0x7e,0x70,0xa, 0xac,0x75,0x49,0xd3,0x10,
+0xb9,0x49,0xc3,0x10,0xb7,0x49,0xf3,0x10,0xbd,0x49,0xe3,0x10,0xbb,0x9, 0xa3,0x10,
+0xbf,0x9, 0xe3,0x10,0xc0,0x7e,0x8, 0xc, 0xa0,0x7e,0x34,0x0, 0x5c,0xe4,0x12,0x9c,
+0xda,0x6c,0x77,0x80,0x25,0x7e,0x50,0x4, 0xac,0x57,0x2e,0x27,0x8, 0xf4,0x49,0x12,
+0x0, 0x2, 0xb, 0x28,0x0, 0xbf,0x6, 0x8, 0xf, 0x7e,0x50,0x4, 0xac,0x5d,0x59,0x12,
+0xc, 0xa2,0x59,0x2, 0xc, 0xa0,0xb, 0xd0,0xb, 0x70,0x7e,0x63,0x9, 0x63,0xbc,0x67,
+0x38,0xd3,0xbc,0xad,0x38,0x2f,0x7e,0x1f,0x3, 0x30,0xbf,0x17,0x58,0x27,0x7e,0x8,
+0xc, 0xa0,0xa, 0x3a,0x12,0x57,0x94,0x74,0x4, 0xac,0xbe,0x49,0x35,0xc, 0xa2,0x49,
+0x25,0xc, 0xa0,0x7e,0x14,0x0, 0x3, 0x12,0x9a,0x71,0x7e,0xf, 0xc, 0xa0,0xbf,0x10,
+0x8, 0x3, 0x7e,0xf0,0x1, 0x7c,0xbf,0xda,0x79,0xda,0xd8,0x22,0x7f,0x61,0xbe,0x68,
+0x0, 0x6, 0x50,0x15,0xbe,0x68,0x0, 0x2, 0x50,0x3, 0x7f,0x16,0x22,0x7f,0x16,0x1e,
+0x34,0x1e,0x24,0x50,0x5e,0x4e,0x60,0x80,0x22,0x7f,0x76,0xe4,0x80,0xe, 0x7f,0x17,
+0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x7f,0x71,0x4, 0xbe,0x78,0x0, 0x1,
+0x38,0xec,0x1e,0xb0,0x60,0x5, 0x2f,0x77,0x14,0x78,0xfb,0x7f,0x17,0x2f,0x17,0x2f,
+0x17,0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x7f,0x71,0x7f,0x57,0x7f,0x16,
+0x7f,0x7, 0x12,0x9a,0x7c,0x2f,0x17,0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,
+0x7f,0x71,0x7d,0x2b,0x7d,0x3f,0x9d,0x32,0x12,0x9c,0xec,0xbe,0x34,0x0, 0x1, 0x18,
+0xdb,0x7f,0x17,0x22,0x7e,0x1f,0x11,0x42,0x69,0x31,0x0, 0xae,0x1e,0x34,0x1e,0x34,
+0x5e,0x34,0x0, 0x1, 0x68,0x27,0x7e,0x37,0x8, 0xf6,0xb, 0x38,0x30,0xbe,0x34,0x3a,
+0xc0,0x28,0x57,0xe5,0x61,0x7e,0x24,0x0, 0x1, 0x60,0x5, 0x3e,0x24,0x14,0x78,0xfb,
+0x7e,0xf, 0xa, 0xac,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x22,0x6c,0xaa,0x80,
+0x31,0x7e,0x70,0x2, 0xac,0x7a,0x7d,0x23,0x2e,0x27,0x8, 0xf6,0xb, 0x28,0x20,0xbe,
+0x24,0x3a,0xc0,0x28,0x1b,0xe5,0x61,0x7e,0x24,0x0, 0x1, 0x60,0x5, 0x3e,0x24,0x14,
+0x78,0xfb,0x7e,0xf, 0xa, 0xac,0x2d,0x13,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,
+0xb, 0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,0xba,0x38,0xc7,0x22,0xca,0x79,0x7c,0xab,0x7e,
+0x47,0x8, 0xf4,0x7e,0x34,0x1, 0x9a,0x6c,0x55,0x80,0x5e,0xa, 0x15,0x2d,0x13,0x7e,
+0x19,0x40,0x7e,0x30,0x4, 0xac,0x34,0x7d,0xf1,0x2d,0xf4,0x49,0x1f,0x0, 0x2, 0xb,
+0xf8,0x0, 0xa, 0xf5,0xb, 0xf4,0x7d,0x7f,0x7c,0x4f,0x80,0x37,0xa, 0xf4,0x2d,0xf3,
+0x7e,0xf9,0xb0,0x7e,0xf0,0x4, 0xac,0xfb,0x7d,0xd7,0x2d,0xd4,0x49,0xfd,0x0, 0x2,
+0xb, 0xd8,0xe0,0xbf,0x7, 0x58,0x1a,0x7f,0x7, 0xa, 0xf4,0x2d,0xf3,0x7e,0xf9,0xf0,
+0xa, 0xe5,0x2d,0xe3,0x7e,0xe9,0xb0,0x7a,0xf9,0xb0,0xa, 0xf5,0x2d,0xf3,0x7a,0xf9,
+0xf0,0xb, 0x40,0xbc,0xa4,0x38,0xc5,0xb, 0x50,0xbc,0xa5,0x38,0x9e,0xda,0x79,0x22,
+0x6d,0x33,0x7a,0x35,0x4c,0xf5,0x4e,0x7a,0xb3,0xd, 0xc7,0x14,0x68,0x13,0x1b,0xb1,
+0x68,0x1c,0x24,0x3, 0x78,0x5a,0x12,0x80,0xaf,0x7e,0xb3,0xd, 0xaa,0xf5,0x4f,0x80,
+0x4f,0x80,0x4, 0xe4,0x12,0x82,0x64,0x12,0x17,0xcc,0x50,0xf7,0x80,0x42,0x12,0x84,
+0x48,0x12,0x17,0xcc,0x50,0xfb,0x12,0x0, 0x6, 0x12,0x80,0x59,0x74,0x1, 0x12,0x82,
+0x8a,0x74,0x2, 0x12,0x82,0x64,0x12,0x87,0xae,0xc2,0xa8,0xc2,0x95,0xa9,0xd0,0xca,
+0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,0x86,0x2c,0x7e,0x8, 0x9, 0x25,0x12,0x1, 0x20,
+0x7e,0x34,0x0, 0x2, 0x12,0x83,0xaa,0x75,0x4e,0x0, 0xe4,0x7a,0xb3,0xd, 0xc7,0x22,
+0xe4,0x2, 0x87,0xa4,0x80,0x4, 0xe4,0x12,0x82,0x64,0x12,0x17,0xcc,0x50,0xf7,0x7e,
+0xb3,0x1, 0x29,0x60,0x10,0xe5,0x66,0x70,0x3, 0x30,0x9, 0x9, 0x7e,0xb3,0x1, 0x40,
+0x12,0x2d,0x51,0x80,0xf, 0x7e,0xb3,0x1, 0x28,0x60,0x9, 0x7e,0xb3,0xd, 0xad,0x60,
+0x3, 0x12,0x59,0xea,0x6c,0xaa,0x80,0x2d,0x7e,0x30,0x2, 0xac,0x3a,0x7d,0x1, 0x2e,
+0x7, 0x8, 0xf8,0xb, 0x8, 0x30,0x6d,0x22,0x2e,0x17,0x8, 0xf6,0xb, 0x18,0x10,0x6d,
+0x0, 0x9f,0x1, 0x7e,0x70,0x4, 0xac,0x7a,0x2e,0x37,0x8, 0xf4,0x59,0x13,0x0, 0x2,
+0x1b,0x38,0x0, 0xb, 0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,0xba,0x38,0xcb,0x7e,0xb3,0x1,
+0x29,0x60,0x3, 0x2, 0x6e,0x3c,0x22,0xca,0xf8,0xca,0x2b,0xca,0x1b,0xca,0xb, 0xc0,
+0xd0,0xc0,0x83,0xc0,0x82,0x30,0x90,0x42,0xc2,0x90,0xe5,0x5d,0x70,0x30,0xe4,0x7a,
+0xb3,0xe, 0x4, 0x7a,0xb3,0xe, 0x3, 0x75,0x5d,0x1, 0x7e,0xf1,0x91,0xe5,0x91,0xf5,
+0x5c,0x7e,0xb3,0x1, 0x52,0x60,0xb, 0x7e,0xb3,0xd, 0xf2,0x60,0x5, 0xe5,0x5c,0x12,
+0x85,0xb7,0xe5,0x5c,0x12,0x80,0xd9,0xf5,0x91,0x7a,0xf1,0x5c,0x80,0x1a,0x7e,0xf1,
+0x91,0xe5,0x5c,0x7c,0x7f,0x12,0x84,0xae,0x5, 0x5c,0x30,0x91,0xb, 0xc2,0x91,0x5,
+0x5c,0xe5,0x5c,0x12,0x80,0xd9,0xf5,0x91,0xd0,0x82,0xd0,0x83,0xd0,0xd0,0xda,0xb,
+0xda,0x1b,0xda,0x2b,0xda,0xf8,0x32,0x7e,0x2f,0x11,0x42,0x2e,0x54,0x0, 0xae,0xb,
+0x2a,0x30,0x5e,0x70,0x8f,0x1b,0x2a,0x30,0x7e,0x2f,0x11,0x42,0x2e,0x54,0x0, 0xae,
+0xb, 0x2a,0x30,0x4e,0x70,0x8, 0x1b,0x2a,0x30,0x7e,0xb, 0xa0,0x7c,0xba,0xc4,0x7c,
+0x6b,0x5e,0x60,0x3, 0x1e,0xa0,0x5e,0xa0,0x3, 0x68,0x3, 0x7e,0xa0,0x1, 0x7e,0x70,
+0x2, 0xac,0x67,0xa, 0x2a,0x2d,0x32,0x2e,0x34,0x9c,0x6d,0x7a,0x71,0x82,0x7a,0x61,
+0x83,0xe4,0x93,0xa, 0x2b,0x5e,0x24,0x0, 0x7, 0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,
+0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x5e,0x70,0x8f,0x4d,
+0x32,0x1b,0xa, 0x30,0x22,0x7e,0xb3,0x10,0x58,0x70,0x58,0x7e,0x73,0x10,0x60,0x7e,
+0x63,0x10,0x70,0xe4,0x7a,0xb3,0x10,0x60,0x7a,0xb3,0x10,0x70,0x7e,0xa0,0x1, 0x1a,
+0x2a,0x9, 0xb2,0x10,0x70,0x1a,0x2b,0x1a,0x16,0x9d,0x21,0xa5,0xbd,0x40,0xa, 0x74,
+0x7f,0x1a,0x4a,0x19,0xb4,0x10,0x70,0x80,0xa, 0x7c,0x45,0x3e,0x40,0x1a,0x1a,0x19,
+0x41,0x10,0x70,0x1a,0x1a,0x9, 0x41,0x10,0x60,0x1a,0x14,0x1a,0x7, 0x9d,0x10,0x3e,
+0x14,0x7c,0x43,0x1a,0x1a,0x19,0x41,0x10,0x60,0xb, 0xa0,0xbe,0xa0,0x10,0x78,0xbf,
+0x2, 0x36,0x5f,0x74,0x7f,0x7a,0xb3,0x10,0x4d,0x22,0x7c,0xa7,0x7c,0x3b,0xa5,0xbb,
+0x0, 0x5, 0x7c,0xba,0x2, 0x84,0x2e,0xbe,0x30,0x50,0x40,0x14,0xbe,0x30,0x5d,0x38,
+0xf, 0xa, 0x33,0x1b,0x34,0x7c,0xb7,0xf5,0x5c,0x7c,0xb3,0x7c,0x7a,0x2, 0x7e,0x22,
+0xbe,0x30,0x80,0x40,0x37,0xbe,0x30,0xdb,0x38,0x32,0x9e,0x30,0x80,0xbe,0x30,0x30,
+0x68,0x17,0xa5,0xbb,0xb, 0xc, 0x7e,0x23,0xd, 0xad,0xbc,0x2a,0x68,0xb, 0xd2,0x2,
+0x80,0x7, 0xa5,0xbb,0x2f,0x3, 0x12,0x86,0xf4,0x7c,0xb3,0x7c,0x7a,0x12,0x80,0x0,
+0xa5,0xbb,0x3c,0x5, 0x7c,0xba,0x2, 0x80,0x2d,0x75,0x69,0x1, 0x22,0xca,0xb8,0xca,
+0x39,0x7e,0x35,0x18,0xb, 0x34,0x7a,0x35,0x18,0xe5,0x4f,0xbe,0xb0,0xc8,0x50,0x2,
+0x5, 0x4f,0x7e,0x35,0x18,0xbe,0x34,0x3, 0xe8,0x28,0x13,0x6d,0x33,0x7a,0x35,0x18,
+0x7e,0x35,0x4c,0xbe,0x34,0x3, 0xe8,0x50,0x5, 0xb, 0x34,0x7a,0x35,0x4c,0x7e,0xb3,
+0x1, 0x52,0x60,0x24,0x7e,0xb3,0xd, 0xf2,0x60,0x1e,0x7e,0x37,0x3, 0x24,0xbe,0x37,
+0xb, 0xb6,0x40,0x14,0x7e,0x37,0xb, 0xb6,0xb, 0x34,0x7a,0x37,0xb, 0xb6,0x7e,0x37,
+0xb, 0xb8,0xb, 0x34,0x7a,0x37,0xb, 0xb8,0x12,0x86,0x82,0xda,0x39,0xda,0xb8,0x32,
+0x7e,0xb3,0x1, 0x29,0x60,0x8, 0x74,0x2, 0x7a,0xb3,0x1, 0x5a,0x80,0x6, 0x74,0x1,
+0x7a,0xb3,0x1, 0x5a,0x7a,0xb3,0x1, 0x59,0xd2,0xb, 0x7e,0xb3,0x1, 0x4f,0x60,0x10,
+0x74,0x1, 0x7a,0xb3,0x1, 0x5b,0x7a,0xb3,0x1, 0x5c,0x7a,0xb3,0x1, 0x5d,0x80,0xd,
+0xe4,0x7a,0xb3,0x1, 0x5b,0x7a,0xb3,0x1, 0x5c,0x7a,0xb3,0x1, 0x5d,0x7a,0xb3,0x1,
+0x5e,0x7e,0xb3,0x1, 0x4d,0x60,0xb, 0xe4,0x7a,0xb3,0x1, 0x60,0x7a,0xb3,0x1, 0x61,
+0x80,0xb, 0xe4,0x7a,0xb3,0x1, 0x60,0x7a,0xb3,0x1, 0x61,0x74,0x1, 0x7a,0xb3,0x1,
+0x4e,0x22,0x7e,0xb3,0xd, 0xc7,0xbe,0xb1,0x4e,0x68,0x3, 0x12,0x72,0xa0,0xe5,0x4e,
+0x70,0x3c,0x7e,0x73,0x1, 0xb5,0xbe,0x70,0x0, 0x28,0x7, 0x6d,0x33,0x7a,0x35,0x4c,
+0x80,0x3e,0xe5,0x4e,0x60,0x11,0x7e,0x73,0xd, 0xa9,0xa, 0x37,0xbe,0x35,0x4c,0x50,
+0x6, 0x7e,0xb3,0xd, 0xf2,0x60,0x13,0xe5,0x4e,0x60,0x25,0x7e,0x35,0x4c,0xbe,0x34,
+0x0, 0x2, 0x28,0x1c,0x7e,0xb3,0xd, 0xf2,0x60,0x16,0x74,0x1, 0x80,0xf, 0xe5,0x4e,
+0xb4,0x1, 0xd, 0x7e,0x73,0x1, 0xb5,0xbe,0x70,0x0, 0x28,0x4, 0xe4,0x12,0x72,0xa0,
+0x2, 0x82,0xaf,0x9f,0x0, 0x7e,0xb3,0x1, 0xb5,0x70,0x52,0x7e,0xb3,0x1, 0x4a,0x60,
+0x47,0x7e,0x73,0x9, 0x66,0xa, 0x27,0x7e,0x73,0x9, 0x64,0xa, 0x37,0x9d,0x32,0x6c,
+0x66,0x80,0x1d,0xa, 0x56,0x7e,0x53,0x9, 0x63,0xa, 0x25,0x2d,0x25,0x3e,0x24,0x3e,
+0x24,0x2e,0x27,0x8, 0xf4,0x49,0x52,0x0, 0x2, 0xb, 0x28,0x40,0x2f,0x2, 0xb, 0x60,
+0xbc,0x76,0x38,0xdf,0x7e,0x37,0x1, 0xc7,0x3e,0x34,0x7e,0x24,0x0, 0x3, 0x8d,0x32,
+0x6d,0x22,0xbf,0x1, 0x58,0x7, 0x80,0x0, 0xe4,0x7a,0xb3,0x1, 0xbf,0x22,0x7f,0x60,
+0x7f,0x71,0x7e,0x14,0x0, 0x74,0x7f,0x17,0x12,0x9a,0x71,0x74,0x7, 0x7f,0x51,0x1e,
+0xb4,0x1e,0xa4,0x50,0x4, 0x4e,0xb4,0x80,0x0, 0x14,0x78,0xf3,0x7e,0x14,0x0, 0x54,
+0x7f,0x17,0x12,0x9a,0x71,0x7f,0x1, 0x74,0x7, 0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,
+0x60,0x80,0x14,0x78,0xf4,0xbf,0x65,0x8, 0x3, 0x74,0x80,0x22,0xbf,0x61,0x58,0x2,
+0xe4,0x22,0x74,0x9, 0x7f,0x16,0x2f,0x11,0x14,0x78,0xfb,0x2f,0x0, 0x2f,0x0, 0x9f,
+0x10,0x7f,0x7, 0x12,0x9a,0x7c,0x7c,0xb7,0x22,0x9f,0x0, 0x7e,0x73,0x9, 0x66,0xa,
+0x27,0x7e,0x73,0x9, 0x64,0xa, 0x37,0x9d,0x32,0x6c,0x66,0x80,0x1d,0xa, 0x56,0x7e,
+0x53,0x9, 0x63,0xa, 0x25,0x2d,0x25,0x3e,0x24,0x3e,0x24,0x2e,0x27,0x8, 0xf4,0x49,
+0x52,0x0, 0x2, 0xb, 0x28,0x40,0x2f,0x2, 0xb, 0x60,0xbc,0x76,0x38,0xdf,0x7e,0x1f,
+0x3, 0x30,0xbf,0x10,0x58,0xf, 0xe4,0x7a,0xb3,0x1, 0xb5,0x7e,0xb3,0x1, 0xbf,0x60,
+0x2, 0xd3,0x22,0xc3,0x22,0x7e,0xb3,0x1, 0xb5,0x60,0x6, 0x74,0x1, 0x7a,0xb3,0x1,
+0xbf,0xd3,0x22,0xa9,0xc2,0xea,0x74,0x1, 0x7a,0xb3,0xd, 0xde,0xf5,0x68,0x12,0x83,
+0x73,0x12,0x83,0x8f,0x7e,0x34,0x7, 0xd0,0x12,0x5f,0xf7,0x7e,0x8, 0x9, 0x25,0x12,
+0x1, 0x20,0x7e,0x34,0x0, 0x2, 0x12,0x83,0xaa,0xc2,0x8, 0x12,0x81,0x54,0x12,0x7e,
+0x8c,0x12,0x87,0x26,0x7e,0xb3,0xd, 0xde,0x24,0xfd,0x68,0x10,0x14,0x68,0x12,0x1b,
+0xb1,0x68,0xce,0x24,0x5, 0x78,0xf, 0x12,0x66,0xac,0x80,0xe8,0x12,0x4c,0x47,0x80,
+0xe3,0x12,0x0, 0xa, 0x80,0xde,0x75,0xe9,0xff,0x80,0xd9,0x7e,0xb3,0xf, 0xa5,0xb4,
+0x1, 0x3d,0x7e,0xa3,0xf, 0xa4,0x74,0x4, 0xa4,0x49,0x15,0xf, 0xa8,0x6d,0x0, 0xbe,
+0x8, 0x0, 0x0, 0x68,0x3, 0x12,0x60,0x0, 0x7e,0xb3,0xf, 0xa4,0x4, 0x7a,0xb3,0xf,
+0xa4,0x7e,0x73,0xf, 0xa3,0xbe,0x73,0xf, 0xa4,0x28,0xe, 0x12,0x83,0xfa,0xb4,0x1,
+0x4, 0x74,0x1, 0x80,0x6, 0x74,0x3, 0x80,0x2, 0x74,0x2, 0x7a,0xb3,0xf, 0xa5,0x22,
+0x7d,0xd2,0x6d,0x22,0x9e,0x18,0x0, 0xe5,0x6d,0xcc,0x7e,0x78,0x0, 0xe5,0x7f,0x27,
+0x9f,0x26,0x6e,0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,0x2e,0x28,0x0, 0xe5,
+0x9f,0x71,0x7f,0x17,0xbe,0x28,0x0, 0x0, 0x58,0x4, 0x9f,0x22,0x80,0xa, 0xbe,0x28,
+0x1, 0xca,0x48,0x4, 0x7e,0x28,0x1, 0xc9,0xbe,0x18,0x0, 0x0, 0x58,0x4, 0x9f,0x11,
+0x80,0xa, 0xbe,0x18,0x1, 0xca,0x48,0x4, 0x7e,0x18,0x1, 0xc9,0x1b,0xa, 0x50,0x7d,
+0x13,0x7e,0x1d,0x27,0x1b,0x1a,0x10,0x22,0x7c,0x97,0x7c,0xab,0x7e,0x30,0x4, 0xac,
+0x3a,0x49,0x31,0xa, 0xb4,0x49,0x21,0xa, 0xb2,0x12,0x86,0x6e,0x7f,0x71,0x4c,0x99,
+0x68,0x19,0xe5,0x15,0xa, 0xb, 0xa, 0x1a,0x9d,0x10,0x3e,0x14,0x3e,0x14,0x49,0x31,
+0xa, 0xb4,0x49,0x21,0xa, 0xb2,0x12,0x86,0x6e,0x2f,0x71,0xe5,0xa, 0x14,0xbc,0xb9,
+0x68,0x19,0xe5,0x15,0xa, 0xb, 0xa, 0x1a,0x2d,0x10,0x3e,0x14,0x3e,0x14,0x49,0x31,
+0xa, 0xb4,0x49,0x21,0xa, 0xb2,0x12,0x86,0x6e,0x2f,0x71,0x7f,0x17,0x22,0x53,0xca,
+0xe1,0x43,0xca,0x8, 0x75,0xcf,0x4, 0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xaa,0xb,
+0xa, 0x30,0x5e,0x60,0x3f,0x4e,0x60,0x80,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,
+0x14,0x0, 0xac,0xb, 0xa, 0x30,0x5e,0x70,0xfc,0x4e,0x70,0x1, 0x1b,0xa, 0x30,0x7e,
+0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x4e,0x70,0x80,0x1b,0xa, 0x30,
+0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x4e,0x70,0x1, 0x1b,0xa,
+0x30,0xc2,0xb, 0x22,0x7e,0xb3,0x10,0xed,0x60,0x4a,0x7e,0xb3,0x10,0xec,0xb4,0x3,
+0x6, 0x7e,0xa3,0x0, 0x88,0x80,0x10,0xb4,0x2, 0x6, 0x7e,0xa3,0x0, 0x89,0x80,0x7,
+0xb4,0x1, 0x4, 0x7e,0xa3,0x0, 0x8a,0xbe,0xa1,0x6c,0x28,0x28,0x5, 0x6c,0x7e,0x73,
+0x1, 0xb6,0xbe,0x70,0x0, 0x28,0x3, 0x74,0x1, 0x22,0xe5,0x6c,0xbe,0xb0,0x3, 0x50,
+0x16,0xbe,0x73,0x1, 0xb5,0x28,0x10,0xbe,0x70,0x0, 0x28,0xb, 0x7a,0x73,0x1, 0xb5,
+0x80,0x5, 0x80,0x0, 0x75,0x6c,0x0, 0xe4,0x22,0x7c,0x37,0x7c,0xab,0x7e,0x70,0x4,
+0xac,0x73,0x49,0x23,0xb, 0xbf,0x7e,0x70,0x4, 0xac,0x7a,0x49,0x33,0xb, 0xbf,0x9d,
+0x32,0x12,0x9c,0xec,0x7d,0xd3,0x1a,0x36,0x1a,0xc6,0x7e,0x70,0x4, 0xac,0x73,0x49,
+0x23,0xb, 0xc1,0x74,0x4, 0xa4,0x49,0x35,0xb, 0xc1,0x9d,0x32,0x12,0x9c,0xec,0x7d,
+0xf3,0x1a,0x36,0x1a,0xe6,0x7f,0x16,0x7f,0x6, 0x12,0x9a,0x60,0x7f,0x61,0x7f,0x17,
+0x7f,0x7, 0x12,0x9a,0x60,0x7f,0x71,0x7f,0x16,0x2f,0x17,0x2, 0x71,0x3c,0x1b,0x34,
+0x68,0x1d,0xb, 0x34,0x78,0x44,0x7e,0x18,0x9, 0xc6,0x7a,0x1f,0xa, 0xac,0x7e,0x34,
+0x4, 0x48,0x7a,0x37,0x8, 0xf6,0x7e,0x63,0x0, 0xfa,0x5e,0x60,0x3, 0x80,0x14,0x7e,
+0x18,0xa, 0x22,0x7a,0x1f,0xa, 0xac,0x7e,0x34,0x8, 0x98,0x7a,0x37,0x8, 0xf6,0x7e,
+0x63,0x1, 0x16,0x5e,0x60,0x3, 0x7c,0xb6,0xc4,0x54,0xf0,0x7c,0x6b,0x7e,0x73,0x9,
+0x25,0x5e,0x70,0xcf,0x4c,0x76,0x7a,0x73,0x9, 0x25,0x7e,0x8, 0x9, 0x25,0x2, 0x73,
+0xf7,0xca,0xf8,0x7e,0xb3,0x1, 0x51,0x60,0x48,0x7e,0xb3,0x1, 0x27,0xb4,0x1, 0xd,
+0x7e,0xb3,0x11,0x49,0xbe,0xb0,0x0, 0x28,0x4, 0xc2,0xf, 0x80,0x34,0x6c,0xff,0x7c,
+0xbf,0x12,0x70,0x9e,0x7c,0xab,0x4c,0xaa,0x78,0x7, 0xb, 0xf0,0xbe,0xf0,0x3, 0x40,
+0xee,0x4c,0xaa,0x68,0x7, 0xd2,0xf, 0x75,0x64,0x1, 0x80,0x15,0xe5,0x64,0xbe,0xb0,
+0x0, 0x28,0xe, 0x5, 0x64,0xe5,0x64,0xbe,0xb0,0x14,0x40,0x5, 0xc2,0xf, 0x75,0x64,
+0x0, 0xda,0xf8,0x22,0x30,0x1, 0x3, 0x2, 0x7c,0xc2,0x70,0x5, 0x7e,0xb3,0xd, 0x60,
+0x22,0xbe,0xb0,0x50,0x40,0x8, 0xbe,0xb0,0x5d,0x38,0x3, 0x2, 0x6f,0x7d,0xbe,0xb0,
+0x5a,0x38,0x17,0xbe,0xb0,0xe, 0x50,0xf, 0xa, 0x3b,0x30,0xe, 0x5, 0x9, 0xb3,0x10,
+0xf1,0x22,0x9, 0xb3,0x10,0xff,0x22,0x74,0xff,0x22,0xbe,0xb0,0x80,0x40,0xc, 0xbe,
+0xb0,0xdb,0x38,0x7, 0xa, 0x3b,0x9, 0xb3,0xd, 0x22,0x22,0xb4,0xfc,0x5, 0x7e,0xb3,
+0xd, 0xde,0x22,0x74,0xff,0x22,0x7c,0xab,0x7e,0xb3,0x1, 0x28,0x60,0xf, 0x7e,0xb3,
+0xd, 0xad,0x60,0x9, 0x4c,0xaa,0x78,0x5, 0x12,0x82,0x3e,0x80,0x1f,0x7e,0xb3,0x1,
+0x29,0x60,0x10,0x4c,0xaa,0x78,0xc, 0x20,0x9, 0x4, 0xe5,0x66,0x60,0x5, 0x12,0x82,
+0x18,0x80,0x9, 0x6d,0x33,0x7e,0x24,0x4, 0x48,0x12,0x82,0xd2,0x7e,0xb3,0x1, 0x27,
+0x60,0xb, 0x7e,0x34,0x0, 0x1, 0x7e,0x24,0x8, 0x98,0x2, 0x82,0xd2,0x22,0xca,0xf8,
+0x7e,0xf3,0x1, 0xc0,0x4c,0xff,0x68,0x3a,0xbe,0xf0,0x1, 0x78,0xe, 0xc2,0x8, 0x7e,
+0x34,0x7, 0xd0,0x12,0x5f,0xf7,0x12,0x0, 0xe, 0x80,0x8, 0xbe,0xf0,0x3, 0x78,0x3,
+0x12,0x87,0x26,0xe4,0x7a,0xb3,0x1, 0xc0,0x7e,0x8, 0xf, 0x19,0x7e,0x73,0x9, 0xc3,
+0xa, 0x37,0x12,0x9c,0xda,0x7e,0x8, 0xe, 0xeb,0x7e,0x73,0x9, 0xc3,0xa, 0x37,0x12,
+0x9c,0xda,0xda,0xf8,0x22,0x7c,0x97,0x7c,0xab,0x7e,0x30,0x4, 0xac,0x3a,0x49,0x31,
+0xa, 0xb4,0x49,0x21,0xa, 0xb2,0x12,0x86,0x6e,0x7f,0x71,0x4c,0x99,0x68,0x12,0x7e,
+0x30,0x4, 0xac,0x3a,0x49,0x31,0xa, 0xb0,0x49,0x21,0xa, 0xae,0x12,0x86,0x6e,0x2f,
+0x71,0xe5,0x15,0x14,0xbc,0xb9,0x68,0x10,0x74,0x4, 0xa4,0x49,0x35,0xa, 0xb8,0x49,
+0x25,0xa, 0xb6,0x12,0x86,0x6e,0x2f,0x71,0x7f,0x17,0x22,0x7e,0x8, 0x1, 0x66,0x7e,
+0x34,0x0, 0x5b,0xe4,0x12,0x9c,0xda,0x6c,0xaa,0x7e,0x30,0x5, 0xac,0x3a,0x2e,0x14,
+0x1, 0x66,0x6d,0x0, 0x12,0x86,0xe2,0xbe,0xa0,0x2, 0x50,0x1c,0x7e,0x30,0x5, 0xac,
+0x3a,0x2e,0x14,0x1, 0x7a,0x6d,0x0, 0x12,0x86,0xe2,0x7e,0x30,0x5, 0xac,0x3a,0x2e,
+0x14,0x1, 0x84,0x6d,0x0, 0x12,0x86,0xe2,0xb, 0xa0,0xbe,0xa0,0x4, 0x40,0xca,0x22,
+0x7d,0x13,0x7e,0xb3,0x3, 0x2f,0x60,0xa, 0x7e,0x37,0x0, 0xd2,0xbd,0x32,0x78,0x2,
+0xe4,0x22,0x7e,0x37,0x3, 0x1a,0xbd,0x31,0x38,0xc, 0x7e,0x37,0x1, 0xc9,0x9e,0x37,
+0x3, 0x1a,0xbd,0x31,0x50,0x3, 0x74,0x1, 0x22,0x7e,0x37,0x3, 0x1c,0xbd,0x32,0x38,
+0xc, 0x7e,0x37,0x1, 0xcb,0x9e,0x37,0x3, 0x1c,0xbd,0x32,0x50,0x3, 0x74,0x1, 0x22,
+0xe4,0x22,0x90,0xb4,0x12,0xe4,0x93,0x7a,0xb3,0xd, 0xca,0x7e,0x37,0x1, 0xc3,0xbe,
+0x34,0x63,0x9c,0x28,0x8, 0x74,0xff,0x7a,0xb3,0xd, 0xa2,0x80,0xa, 0x7e,0x24,0x0,
+0x64,0x8d,0x32,0x7a,0x73,0xd, 0xa2,0x7e,0x37,0x1, 0xc7,0xbe,0x34,0x63,0x9c,0x28,
+0x7, 0x74,0xff,0x7a,0xb3,0xd, 0xcb,0x22,0x7e,0x24,0x0, 0x64,0x8d,0x32,0x7a,0x73,
+0xd, 0xcb,0x22,0x90,0xb4,0xcf,0xe4,0x93,0xa, 0x3b,0xbe,0x34,0x0, 0xa, 0x58,0x4,
+0x7e,0x34,0x0, 0xa, 0x1a,0x26,0x1a,0x24,0x74,0xf, 0x2f,0x11,0x14,0x78,0xfb,0x7e,
+0x8, 0x3, 0xe8,0x12,0x9a,0xcd,0xd2,0xc8,0xa9,0xc0,0xcd,0xa9,0xd0,0x9e,0x7c,0xb6,
+0xf5,0x9d,0xa9,0xd0,0x9e,0x7c,0xb7,0xf5,0x9c,0xc2,0x88,0xa9,0xd0,0xb7,0xd2,0xb8,
+0xc2,0xa8,0x22,0xca,0xf8,0x6c,0xff,0x80,0x2e,0x7e,0x18,0x0, 0x25,0x7a,0x1d,0x27,
+0x74,0x5, 0xac,0xbf,0x49,0x35,0x1, 0x66,0x49,0x25,0x1, 0x68,0x7e,0x8, 0x0, 0x23,
+0x12,0x78,0x0, 0x7e,0x45,0x23,0x74,0x5, 0xac,0xbf,0x59,0x45,0x1, 0x66,0x7e,0x35,
+0x25,0x59,0x35,0x1, 0x68,0xb, 0xf0,0x7e,0x73,0x1, 0xb5,0xbc,0x7f,0x38,0xca,0xda,
+0xf8,0x22,0x7e,0x27,0xc, 0x9b,0x7d,0x32,0x3e,0x34,0x3e,0x34,0xb, 0x34,0xbe,0x37,
+0x11,0x4b,0x40,0x2a,0x7e,0x37,0x11,0x4b,0xb, 0x34,0x7a,0x37,0x11,0x4b,0xbe,0x34,
+0x0, 0x1, 0x78,0x5, 0x7e,0xb3,0xd, 0xf5,0x22,0xbe,0x34,0x0, 0x2, 0x78,0x3, 0x7c,
+0xb5,0x22,0x9e,0x34,0x0, 0x3, 0x2e,0x37,0xb, 0xbb,0x7e,0x39,0xb0,0x22,0x74,0xff,
+0x22,0x7e,0xa3,0x9, 0xc3,0x7e,0xb3,0x1, 0xc0,0x70,0x4, 0xe5,0x1e,0x60,0x2e,0xe4,
+0x7a,0xb3,0x1, 0xc0,0x75,0x1e,0x0, 0x6c,0x77,0x80,0x1e,0x7e,0x30,0x2, 0xac,0x37,
+0x49,0x21,0x4, 0x48,0x59,0x21,0x4, 0xa4,0x9f,0x0, 0x7e,0x50,0x4, 0xac,0x57,0x59,
+0x12,0x3, 0x92,0x59,0x2, 0x3, 0x90,0xb, 0x70,0xbc,0xa7,0x38,0xde,0x22,0xd2,0xcf,
+0xbe,0xb0,0x7, 0x38,0x4, 0x7c,0xab,0x80,0x2, 0x6c,0xaa,0x75,0xcb,0x8e,0x4e,0xa0,
+0x30,0x7c,0xba,0x42,0xcc,0x0, 0x0, 0x0, 0x0, 0x75,0xcf,0x4, 0xa9,0xc5,0xcb,0xa9,
+0xd0,0xca,0x53,0xca,0xf1,0x43,0xca,0x28,0x75,0xc8,0x88,0xe5,0x54,0xb4,0x1, 0x6,
+0x43,0xc8,0x2, 0x43,0xd8,0x60,0x0, 0x0, 0x0, 0x0, 0x22,0xca,0xf8,0x7e,0x57,0xc,
+0x9b,0x12,0x5a,0xda,0x7c,0xfb,0x12,0x5c,0xb2,0x60,0x2, 0x80,0x26,0x7e,0x37,0xc,
+0x9b,0x7a,0x35,0x23,0x7e,0x8, 0xb, 0xbf,0x7e,0x18,0xc, 0x81,0x12,0x48,0x0, 0xb4,
+0x54,0x7, 0xbe,0xf0,0x2, 0x28,0x2, 0x74,0x31,0xb4,0x53,0x7, 0xbe,0xf0,0x2, 0x28,
+0x2, 0x74,0x32,0xda,0xf8,0x22,0x9f,0x11,0x6c,0x22,0x80,0x12,0x7e,0x10,0x2, 0xac,
+0x12,0x2e,0x7, 0x8, 0xf6,0xb, 0x8, 0x50,0x6d,0x44,0x2f,0x12,0xb, 0x20,0x7e,0x33,
+0x9, 0xc3,0xbc,0x32,0x38,0xe6,0xa, 0x13,0x6d,0x0, 0x12,0x9a,0x7c,0x9e,0x18,0x3a,
+0xc0,0x7e,0x8, 0x0, 0x4, 0x12,0x9a,0xcd,0x7a,0x1d,0x50,0x22,0xca,0xf8,0x7c,0xfb,
+0x74,0xff,0xbe,0x8, 0x0, 0x0, 0x8, 0x27,0x7e,0x4d,0x24,0xbe,0x48,0x0, 0x0, 0x8,
+0x1e,0xbf,0x4, 0x8, 0xd, 0x12,0x76,0xae,0x7a,0xb3,0x11,0x4d,0x1a,0x5f,0x1b,0x55,
+0x80,0xd, 0x7f,0x4, 0x12,0x76,0xae,0x7a,0xb3,0x11,0x4d,0xa, 0x5f,0xb, 0x55,0xda,
+0xf8,0x22,0x7c,0x6b,0x7e,0xb3,0xe, 0x4, 0x70,0x9, 0x7a,0x63,0xe, 0x4, 0xe4,0x7a,
+0xb3,0xe, 0x3, 0xa, 0x26,0x2e,0x24,0x9c,0xbc,0x7a,0x51,0x82,0x7a,0x41,0x83,0xe4,
+0x93,0xbe,0xb3,0xe, 0x3, 0x28,0xf, 0x7e,0xb3,0xe, 0x3, 0xa, 0x2b,0x19,0x72,0xe,
+0x5, 0x4, 0x7a,0xb3,0xe, 0x3, 0x22,0x7e,0x73,0xe, 0x4, 0xbe,0x70,0x50,0x40,0x2b,
+0xbe,0x70,0x5d,0x38,0x26,0xa, 0x37,0x2e,0x34,0x9c,0xbc,0x7a,0x71,0x82,0x7a,0x61,
+0x83,0xe4,0x93,0xbe,0xb3,0xe, 0x3, 0x38,0x12,0x7e,0xb3,0xd, 0xde,0xf5,0x68,0x7e,
+0xb3,0xd, 0x60,0xf5,0x67,0x74,0x6, 0x7a,0xb3,0xd, 0xde,0x22,0x53,0x1f,0x7f,0x7e,
+0xb3,0x1, 0x27,0x60,0x1e,0x7e,0xa3,0xd, 0xde,0xbe,0xa0,0x3, 0x78,0x6, 0xe5,0x1f,
+0x54,0x3, 0x68,0x5, 0xbe,0xa0,0x3, 0x68,0xa, 0x7e,0x34,0x0, 0x1, 0x12,0x79,0xae,
+0x12,0x4e,0xd5,0x6d,0x33,0x12,0x79,0xae,0x12,0x4e,0xd5,0x43,0x1f,0x80,0x22,0x7e,
+0xb, 0xb0,0x1e,0xb0,0x54,0x3, 0x14,0x68,0x10,0x14,0x68,0x13,0x14,0x68,0x16,0x24,
+0x3, 0x78,0x16,0x7e,0x34,0x10,0x4, 0x80,0x10,0x7e,0x34,0x50,0x45,0x80,0xa, 0x7e,
+0x34,0xf1,0x56,0x80,0x4, 0x7e,0x34,0xf3,0xff,0x7e,0xf, 0x11,0x42,0x1b,0xa, 0x30,
+0x22,0x7e,0x34,0x0, 0x8, 0xca,0x39,0x7e,0x18,0x9, 0x28,0x7e,0x8, 0x0, 0xef,0x12,
+0x9c,0xb5,0x1b,0xfd,0x7e,0x73,0x9, 0x30,0x7a,0x73,0x1, 0x13,0x7e,0xb3,0x9, 0x26,
+0x54,0x1f,0x7a,0xb3,0x0, 0xee,0x7e,0xb3,0x9, 0x25,0xc4,0x54,0x3, 0x7a,0xb3,0x0,
+0xfa,0x22,0xa, 0x56,0x1e,0x54,0xf5,0xf1,0x7d,0x53,0x1e,0x54,0xf5,0xf2,0x75,0xf3,
+0x80,0x75,0xf4,0x0, 0x75,0xf5,0x83,0xa9,0x37,0xf5,0xfc,0xa9,0x36,0xf5,0xfc,0x7e,
+0xa1,0xf6,0xe5,0xf6,0x43,0xfa,0x80,0x7d,0x43,0x5e,0x44,0x0, 0x1, 0x78,0x3, 0x7c,
+0xba,0x22,0x22,0x6c,0xaa,0x7e,0x44,0x7f,0xff,0x7e,0x70,0x4, 0xac,0x7a,0x59,0x43,
+0xe, 0x8f,0x59,0x43,0xe, 0x91,0x6d,0x33,0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0xe,
+0x85,0x7e,0x34,0x1, 0x0, 0x59,0x32,0xe, 0x8b,0xb, 0xa0,0xbe,0xa0,0x2, 0x40,0xd5,
+0xd2,0xd, 0x22,0x7e,0x18,0x4, 0x48,0x7a,0x1f,0x11,0x1e,0x7e,0x18,0x5, 0x0, 0x7a,
+0x1f,0x11,0x12,0x7e,0x18,0x5, 0x5c,0x7a,0x1f,0x11,0x16,0x7e,0x1f,0xa, 0xac,0x7a,
+0x1f,0x11,0x1a,0x75,0x1f,0x0, 0x7e,0x73,0x9, 0xc3,0xa, 0x37,0x7a,0x37,0x11,0x10,
+0x22,0x7c,0x6b,0x7e,0xb3,0x1, 0xb5,0x60,0x5, 0x14,0x7a,0xb3,0x1, 0xb5,0xa5,0xbe,
+0x0, 0x1c,0xa5,0xbf,0x2, 0x18,0x7e,0x73,0x1, 0x9b,0x7a,0x73,0x1, 0x9a,0x7e,0x1f,
+0x1, 0x6c,0x7e,0x33,0x1, 0x6b,0x7a,0x1f,0x1, 0x67,0x7a,0x33,0x1, 0x66,0x22,0x7f,
+0x70,0x69,0x37,0x0, 0x2, 0xb, 0x7a,0x20,0xe5,0x11,0xa, 0x1b,0x6d,0x0, 0x12,0x9a,
+0x60,0x7e,0x8, 0x0, 0x64,0x12,0x9a,0xcd,0x79,0x37,0x0, 0x2, 0x1b,0x7a,0x20,0x22,
+0x7c,0x6b,0x2e,0x60,0xe1,0x68,0x25,0x1b,0x60,0x68,0x21,0x2e,0x60,0xfd,0x68,0x1c,
+0x2e,0x60,0xfd,0x68,0x17,0x1b,0x61,0x68,0x13,0x2e,0x60,0xf9,0x68,0xe, 0x80,0x0,
+0xa, 0x2b,0x19,0x72,0xd, 0xa2,0x74,0x1, 0x7a,0xb3,0xd, 0xe2,0x22,0x24,0xab,0x68,
+0xe, 0x24,0xab,0x78,0x20,0x75,0x69,0x5, 0x7e,0x34,0x1, 0xf4,0x2, 0x5f,0xf7,0x7e,
+0x34,0x1, 0xf4,0x12,0x5f,0xf7,0xe5,0x69,0xb4,0x5, 0xd, 0x7e,0x34,0x0, 0x1, 0x12,
+0x83,0xaa,0x2, 0x67,0xf4,0x75,0x69,0x1, 0x22,0x6d,0x11,0x7e,0x1f,0x11,0x42,0x1b,
+0x1a,0x10,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xaa,0xb, 0xa, 0x30,0x5e,0x60,0xdf,
+0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x5e,0x70,
+0xf7,0x1b,0xa, 0x30,0x22,0x7e,0xb3,0x0, 0xc3,0x70,0x7, 0x74,0x1, 0x7a,0xb3,0x0,
+0xc3,0x22,0x20,0xf, 0x19,0x90,0xb6,0x63,0xe4,0x93,0x7a,0xb3,0x0, 0xc5,0x90,0xb6,
+0x64,0xe4,0x93,0x7a,0xb3,0x0, 0xc6,0x7e,0x8, 0x4, 0xa4,0x2, 0x47,0x80,0x22,0x7e,
+0x8, 0x9, 0x25,0x12,0x7e,0xbf,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xaa,0xb, 0xa,
+0x30,0x4e,0x60,0x20,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb,
+0xa, 0x30,0x4e,0x70,0x8, 0x1b,0xa, 0x30,0x22,0xca,0xf8,0x7c,0xab,0x7e,0xb3,0xd,
+0x60,0xc4,0x54,0x7, 0x78,0x9, 0x7c,0xba,0x12,0x7a,0x54,0x7c,0xfb,0x80,0xe, 0xb4,
+0x4, 0x9, 0x7c,0xba,0x12,0x54,0x97,0x7c,0xfb,0x80,0x2, 0x6c,0xff,0x7c,0xbf,0xda,
+0xf8,0x22,0x7d,0x52,0x7d,0x43,0x7d,0x35,0x1a,0x26,0x1a,0x24,0x7f,0x1, 0x12,0x9a,
+0x60,0x7f,0x71,0x7d,0x34,0x1a,0x26,0x1a,0x24,0x7f,0x1, 0x12,0x9a,0x60,0x2f,0x17,
+0x7c,0xb4,0x12,0x97,0x94,0x12,0x98,0xe, 0x2, 0x97,0xd1,0xbe,0x34,0x0, 0x1f,0x28,
+0x22,0xbe,0x34,0x3, 0x64,0x28,0x4, 0x7e,0x34,0x3, 0x64,0x7d,0x13,0x9e,0x14,0x0,
+0x20,0x7e,0x4, 0x0, 0x1b,0x8d,0x10,0x7d,0x1, 0xb, 0x4, 0x7e,0x14,0x0, 0x5, 0xad,
+0x10,0x2d,0x31,0x22,0xe4,0x7a,0xb3,0xf, 0xa3,0x7a,0xb3,0xf, 0xa4,0x7a,0xb3,0xf,
+0xa5,0x74,0xff,0x7a,0xb3,0xf, 0xf6,0x6d,0x33,0x6c,0xaa,0x7e,0x50,0x4, 0xac,0x5a,
+0x59,0x32,0xf, 0xa8,0xb, 0xa0,0xbe,0xa0,0x14,0x40,0xf0,0x22,0x6c,0xaa,0x7e,0x70,
+0x3, 0x7e,0x50,0x6, 0xac,0x5a,0x19,0x72,0x1, 0x93,0x74,0x3, 0x19,0xb2,0x1, 0x92,
+0x7e,0x34,0x7f,0xff,0x59,0x32,0x1, 0x8e,0x59,0x32,0x1, 0x90,0xb, 0xa0,0xbe,0xa0,
+0x2, 0x40,0xdb,0x22,0x6c,0xaa,0x7e,0x90,0x6, 0xac,0x9a,0x9, 0xb4,0x1, 0x93,0x19,
+0xb4,0x1, 0x92,0xb, 0xa0,0xbe,0xa0,0x2, 0x40,0xec,0x7e,0x73,0x1, 0xb5,0x7a,0x73,
+0x1, 0xb6,0x7e,0x73,0x1, 0xb7,0x7a,0x73,0x1, 0xb8,0x22,0x7e,0x73,0xd, 0xcf,0x2e,
+0x70,0xff,0x92,0x9, 0x7e,0xb3,0x1, 0x28,0x60,0x17,0x30,0x2, 0x14,0x80,0x4, 0xe4,
+0x12,0x82,0x64,0x12,0x17,0xcc,0x50,0xf7,0xe4,0x12,0x87,0xa4,0x12,0x84,0x14,0xc2,
+0x2, 0x22,0xe4,0x7a,0xb3,0xd, 0x7c,0x7a,0xb3,0xd, 0x66,0xe5,0x1f,0x54,0x3, 0x68,
+0x16,0x75,0x1f,0x0, 0x12,0x62,0x9e,0x12,0x7e,0xf1,0x7e,0x8, 0x9, 0x25,0x12,0x1,
+0x20,0x12,0x7e,0x8c,0x2, 0x87,0x26,0x22,0x7e,0x33,0x1, 0x40,0xbe,0x30,0xa, 0x28,
+0x3, 0x7e,0x30,0xa, 0x6c,0x22,0x80,0x11,0x7e,0x34,0x0, 0x2, 0x74,0x2, 0xac,0xb2,
+0x49,0x25,0x0, 0x6d,0x12,0x82,0xd2,0xb, 0x20,0xbc,0x32,0x38,0xeb,0x22,0x6c,0x33,
+0xbe,0x30,0x8, 0x50,0x6, 0x7e,0x23,0x10,0xe5,0x80,0x4, 0x7e,0x23,0x10,0xe6,0xa,
+0x32,0x74,0x2, 0xac,0xb3,0x49,0x25,0x0, 0x6d,0x12,0x82,0xd2,0xb, 0x30,0xbe,0x30,
+0xa, 0x40,0xdd,0x22,0x70,0x5, 0x43,0x87,0x1, 0x80,0x1a,0xb4,0x1, 0xb, 0xa9,0xd0,
+0xce,0xa9,0xd7,0xc9,0x43,0x87,0x2, 0x80,0xc, 0xb4,0x2, 0xd, 0xa9,0xd0,0xce,0xa9,
+0xc7,0xc9,0x43,0x87,0x2, 0x0, 0x0, 0x0, 0x0, 0x22,0xa9,0xd6,0xeb,0x70,0xf, 0xa9,
+0xc6,0xac,0xa9,0xc6,0xec,0xa9,0xd7,0xcd,0xc2,0x96,0xc2,0x95,0x80,0x7, 0xa9,0xd4,
+0xcd,0xd2,0x96,0xd2,0x95,0xc2,0x88,0xd2,0xb8,0xa9,0xd0,0xb7,0xd2,0xa8,0x22,0xe5,
+0x4e,0x14,0x68,0x14,0x4, 0x78,0x17,0x80,0x4, 0xe4,0x12,0x82,0x64,0x7e,0x73,0xd,
+0xaa,0xbe,0x71,0x4f,0x38,0xf3,0x80,0x6, 0x12,0x0, 0x6, 0x12,0xf, 0x50,0x75,0x4f,
+0x0, 0x22,0x7d,0x43,0x7e,0xa3,0xf, 0xa3,0xbe,0xa0,0x14,0x50,0x16,0x7e,0x70,0x4,
+0xac,0x7a,0x59,0x43,0xf, 0xa6,0x59,0x23,0xf, 0xa8,0x7c,0xba,0x4, 0x7a,0xb3,0xf,
+0xa3,0xc3,0x22,0xd3,0x22,0xa9,0xc4,0xa6,0xd2,0xce,0x90,0xb4,0x11,0xe4,0x93,0xf5,
+0x92,0xa9,0xd0,0xf7,0xd2,0xf8,0xa9,0xd5,0xb7,0xd2,0xbd,0xd2,0xad,0xd2,0xe8,0xc2,
+0xc0,0xa9,0xd3,0xdc,0xa9,0xd0,0xdb,0x22,0x7f,0x70,0x69,0x37,0x0, 0x2, 0xb, 0x7a,
+0x20,0xe5,0xb, 0xa, 0x1b,0x6d,0x0, 0x12,0x9a,0x60,0x7e,0x8, 0x0, 0x64,0x12,0x9a,
+0xcd,0x79,0x37,0x0, 0x2, 0x1b,0x7a,0x20,0x22,0xa9,0xd5,0xcb,0x75,0xfd,0x5, 0xe5,
+0xfe,0x54,0xf8,0xf5,0x54,0xe5,0x54,0xb4,0xa8,0x5, 0x75,0x54,0x0, 0x80,0x3, 0x75,
+0x54,0x1, 0xa9,0xc5,0xcb,0x22,0xc2,0x8e,0xe5,0x89,0x54,0xf, 0x44,0x20,0xf5,0x89,
+0x75,0x8d,0x1, 0x75,0x8b,0x0, 0xa9,0xc3,0xb7,0xd2,0xbb,0xd2,0x8e,0xd2,0xab,0xa9,
+0xd1,0xdc,0x22,0x12,0x83,0x39,0xe4,0x12,0x7d,0x3e,0x12,0x86,0x2c,0x12,0x87,0x43,
+0x12,0x83,0x56,0x12,0x87,0x82,0x12,0x87,0x16,0x12,0x1f,0xef,0xd2,0xaf,0x22,0x12,
+0x3a,0xe, 0x12,0x34,0x4d,0x12,0x87,0xdc,0x12,0x55,0x9a,0x12,0x50,0x0, 0x12,0x84,
+0x7c,0x12,0x27,0xeb,0x12,0x86,0xbc,0x2, 0x2f,0xb4,0x7d,0x43,0x80,0xe, 0x74,0xfa,
+0x12,0x86,0x59,0x12,0x86,0x59,0x12,0x86,0x59,0x12,0x86,0x59,0x7d,0x54,0x1b,0x44,
+0x4d,0x55,0x78,0xea,0x22,0x7d,0xf0,0x7d,0xe1,0x7d,0x12,0x1a,0x26,0x1a,0x24,0x12,
+0x9a,0x71,0x7d,0x1e,0x6d,0x0, 0x12,0x9a,0xcd,0x7d,0x1f,0x6d,0x0, 0x2f,0x10,0x22,
+0x7e,0xb3,0x1, 0xb6,0x70,0x13,0x7e,0x17,0x1, 0xc5,0x6d,0x0, 0x7e,0x1f,0x3, 0x30,
+0xbf,0x1, 0x8, 0x5, 0xe4,0x7a,0xb3,0x1, 0xb5,0x22,0xe4,0x7e,0xa3,0xf, 0xa3,0xbe,
+0xa3,0xf, 0xa4,0x28,0xe, 0x7e,0xa3,0xf, 0xa4,0x74,0x4, 0xa4,0x49,0x55,0xf, 0xa6,
+0x2, 0x84,0xc7,0x22,0xe4,0x7a,0xb3,0xf, 0xa5,0x7a,0xb3,0xf, 0xa4,0x12,0x83,0xfa,
+0xb4,0x1, 0x4, 0x74,0x1, 0x80,0x2, 0x74,0x3, 0x7a,0xb3,0xf, 0xa5,0x22,0x7a,0xb3,
+0xd, 0x60,0xc4,0x54,0x7, 0xb4,0x4, 0x4, 0x74,0x3, 0x80,0x7, 0x60,0x3, 0xb4,0x1,
+0x6, 0x74,0x1, 0x7a,0xb3,0xd, 0xde,0x22,0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xc5,0xc9,
+0xd2,0xaf,0xa9,0xd0,0xcd,0xc2,0xa8,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xd2,
+0xaf,0x22,0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xd5,0xc9,0xd2,0xaf,0xa9,0xd0,0xcd,0xd2,
+0xa8,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd7,0x9e,0xd2,0xaf,0x22,0x7e,0x34,0x4, 0x48,
+0x7a,0x37,0x8, 0xf6,0x7e,0x34,0x4, 0xa4,0x7a,0x37,0x8, 0xf8,0x7e,0x34,0x3, 0x90,
+0x7a,0x37,0x8, 0xf4,0x22,0x7d,0x40,0x7d,0x51,0x7d,0x3, 0x7d,0x32,0x9d,0x34,0x12,
+0x9c,0xec,0x7d,0x13,0x7d,0x30,0x9d,0x35,0x12,0x9c,0xec,0x2d,0x31,0x22,0x7c,0x6b,
+0x7e,0xb3,0xd, 0x60,0xc4,0x54,0x7, 0x78,0x5, 0x7c,0xb6,0x2, 0x74,0xca,0xb4,0x4,
+0x5, 0x7c,0xb6,0x2, 0x5e,0x83,0x22,0x7e,0xa3,0xf, 0xf6,0xbc,0xab,0x68,0xa, 0x20,
+0x0, 0x7, 0x7a,0xb3,0xf, 0xf6,0x12,0x43,0xe, 0x12,0x78,0xae,0x74,0x1, 0x22,0x7e,
+0x34,0x0, 0xa, 0xca,0x39,0x7e,0x34,0xb7,0x12,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x0,
+0x81,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,0x34,0x0, 0x7, 0xca,0x39,0x7e,0x34,0xb7,
+0xa, 0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x0, 0x8b,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,
+0x34,0x0, 0xa, 0xca,0x39,0x7e,0x34,0xb6,0xaa,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x0,
+0xca,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,0x34,0x0, 0x1e,0xca,0x39,0x7e,0x34,0xb6,
+0x8c,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x10,0xb7,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,
+0x34,0x0, 0x6, 0xca,0x39,0x7e,0x34,0xb7,0x1c,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x1,
+0x3f,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,0x34,0x0, 0x14,0xca,0x39,0x7e,0x34,0xb6,
+0xf6,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x1, 0x2b,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,
+0x34,0x0, 0xb, 0xca,0x39,0x7e,0x34,0xb6,0x56,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x2,
+0xef,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,0x34,0x0, 0x36,0xca,0x39,0x7e,0x34,0xb6,
+0xb4,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x2, 0xfa,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,
+0x34,0x0, 0x2, 0xca,0x39,0x7e,0x34,0xb7,0x22,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0xa,
+0xb0,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0xb4,0xd3,0x12,0x7e,0xb3,0xd, 0x60,0xc4,0x54,
+0x7, 0x78,0x9, 0xd2,0x1, 0x6d,0x33,0x7a,0x37,0x11,0x4b,0x22,0xc2,0x1, 0x22,0x7d,
+0x41,0x7d,0x12,0x1a,0x26,0x1a,0x24,0x1a,0x2, 0x1a,0x0, 0x12,0x9a,0x60,0x7d,0x14,
+0x1a,0x2, 0x1a,0x0, 0x2, 0x9a,0xcd,0x30,0xf, 0xa, 0x74,0x2, 0x7a,0xb3,0x1, 0xb5,
+0x75,0x63,0x26,0x22,0x75,0x63,0x0, 0x74,0x25,0x7a,0xb3,0xd, 0xf5,0x22,0x6d,0x33,
+0x7a,0x37,0xb, 0xb6,0x7a,0x37,0xc, 0x9b,0x7a,0x37,0xb, 0xbd,0x7a,0x37,0xc, 0x99,
+0x7a,0x37,0xc, 0x9d,0x22,0x7e,0x8, 0xe, 0x5, 0x7e,0x34,0x0, 0x80,0x74,0xff,0x12,
+0x9c,0xda,0xe4,0x7a,0xb3,0xe, 0x4, 0x7a,0xb3,0xe, 0x3, 0x22,0x75,0xeb,0x3, 0xa9,
+0xd6,0xac,0xa9,0xd6,0xec,0xd2,0x86,0x75,0xed,0x3, 0x75,0xad,0x3, 0x75,0x94,0x0,
+0xd2,0x87,0x22,0x74,0x1, 0x7a,0xb3,0x0, 0xc3,0x7e,0xb3,0x1, 0x50,0x60,0x9, 0x90,
+0xb6,0x68,0xe4,0x93,0x7a,0xb3,0x0, 0xc4,0x22,0x7c,0xab,0x80,0x8, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x7c,0x7a,0x1b,0xa0,0xa5,0xbf,0x0, 0xf0,0x22,0x7f,0x1,
+0x7e,0x37,0x1, 0xc1,0x1a,0x26,0x1a,0x24,0xbf,0x1, 0x8, 0x3, 0x7f,0x10,0x22,0x9f,
+0x11,0x22,0x7e,0x35,0x1a,0xb, 0x34,0x7a,0x35,0x1a,0x7e,0x35,0x1c,0xbe,0x35,0x1a,
+0x28,0x3, 0x2, 0x87,0xae,0x22,0x12,0x6, 0x28,0x53,0xca,0xf1,0x7e,0x73,0xd, 0x7a,
+0xa, 0x37,0x3e,0x34,0x7c,0xb7,0x42,0xca,0x22,0xe5,0x4e,0xb4,0x1, 0xd, 0x7e,0x73,
+0x1, 0xb5,0xbe,0x70,0x0, 0x28,0x4, 0xe4,0x2, 0x72,0xa0,0x22,0x7e,0x8, 0x10,0xe9,
+0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,0xda,0x74,0x1, 0x7a,0xb3,0x10,0xea,0x22,0xa9,
+0xd4,0xcd,0xd2,0x96,0xd2,0x95,0xc2,0x88,0xd2,0xb8,0xa9,0xd0,0xb7,0xd2,0xa8,0xc2,
+0xad,0x22,0x7e,0x34,0x7f,0xff,0x1b,0xa, 0x30,0x79,0x30,0x0, 0x2, 0x74,0xff,0x39,
+0xb0,0x0, 0x4, 0x22,0x30,0x4, 0x8, 0x74,0x1, 0x12,0x87,0xc1,0xc2,0x4, 0x22,0xe4,
+0x12,0x87,0xc1,0xd2,0x4, 0x22,0xe5,0x54,0x70,0x5, 0x53,0xc8,0xc5,0x80,0x3, 0x53,
+0xc8,0xc7,0x53,0xcb,0x10,0x22,0xc2,0xc6,0xd2,0xee,0x43,0xdb,0x40,0xa9,0xd6,0xf7,
+0xc2,0xfe,0xa9,0xd6,0xdb,0x22,0xe4,0x12,0x5b,0xc7,0x7e,0x8, 0x4, 0xa4,0x7e,0x18,
+0x4, 0x48,0x2, 0x63,0x73,0xbd,0x32,0x58,0x3, 0x7d,0x32,0x22,0xbd,0x31,0x8, 0x2,
+0x7d,0x31,0x22,0x75,0xb7,0x0, 0x75,0xb8,0x0, 0x75,0xf7,0x0, 0x75,0xf8,0x0, 0x22,
+0xa9,0xd5,0xea,0xa9,0xc4,0xcb,0x75,0xa6,0x0, 0xa9,0xc1,0xcd,0x22,0xa9,0xd4,0xcb,
+0x75,0xa6,0x10,0xa9,0xd1,0xcd,0xa9,0xc5,0xea,0x22,0x75,0x4e,0x0, 0x6d,0x33,0x7a,
+0x35,0x4c,0x75,0x4f,0x0, 0x22,0x7e,0xb3,0x1, 0xb5,0x60,0x5, 0xe4,0x7a,0xb3,0x0,
+0xc3,0x22,0xa9,0xd1,0x99,0x75,0x9a,0xfe,0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0x74,0x1,
+0x7a,0xb3,0x0, 0xec,0x7a,0xb3,0x9, 0x24,0x22,0xc2,0x95,0xc2,0x96,0xc2,0x90,0xc2,
+0xe9,0xd2,0xad,0x22,0x7c,0x3b,0x12,0x81,0x54,0x7c,0xb3,0x2, 0x7a,0xa6,0xe5,0x9a,
+0x60,0x5, 0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0x7d,0x12,0x6d,0x0, 0x6d,0x22,0x9f,0x10,
+0x22,0x70,0x3, 0xd2,0x86,0x22,0xc2,0x86,0x22,0x43,0xc8,0xc9,0x43,0xcb,0x8e,0x22,
+0x12,0x17,0xcc,0x50,0xfb,0x22,0x12,0x17,0xcc,0x50,0xfb,0x22,0xe4,0x7a,0xb3,0x1,
+0x5f,0x22,0x43,0xdb,0x2, 0xd2,0xe9,0x22,0x50,0x40,0x0, 0xe6,0xf4,0x2, 0x4, 0x2,
+0x10,0x16,0x10,0xf8,0xe4,0xd8,0xd8,0xe2,0xf6,0x2, 0x0, 0x18,0x20,0xa, 0x8, 0x1c,
+0x18,0x2, 0xee,0xe8,0xf4,0x8, 0x1a,0x2c,0x2e,0x2a,0x50,0x40,0x0, 0xfa,0xfe,0x8,
+0xe, 0xa, 0x2, 0xf2,0xe2,0xd8,0xd8,0xda,0xea,0x2, 0x10,0x18,0x0, 0x14,0x6, 0x14,
+0x4, 0xf0,0xe2,0xe2,0xee,0x4, 0x18,0x2e,0x3a,0x36,0x30,0x2e,0x50,0x40,0x0, 0xea,
+0xfa,0x2, 0x8, 0x18,0x1c,0x16,0x2, 0xec,0xe0,0xde,0xe6,0xfc,0xc, 0x16,0x0, 0x22,
+0x20,0xe, 0x1a,0x16,0x4, 0xf2,0xf2,0xfa,0xa, 0x1e,0x32,0x3a,0x34,0x30,0x50,0x40,
+0x0, 0xea,0xfc,0xfe,0xf8,0x4, 0xe, 0x6, 0xea,0xd6,0xd2,0xd8,0xf0,0xa, 0xc, 0xc,
+0x0, 0x1c,0x2, 0x2, 0x20,0x24,0xa, 0xec,0xee,0x2, 0x1a,0x34,0x3c,0x24,0xa, 0x2,
+0x65,0x32,0x0, 0x14,0x22,0x28,0x2c,0x2a,0x24,0x18,0xc, 0xfe,0x4, 0x10,0x1a,0x28,
+0x34,0x3a,0x0, 0xf0,0xf4,0xfc,0xa, 0x16,0x22,0x30,0x38,0x3c,0x3a,0x38,0x38,0x38,
+0x38,0x38,0x65,0x32,0x0, 0x10,0x1c,0x28,0x2e,0x2c,0x2c,0x28,0x20,0x1c,0x12,0x16,
+0x24,0x2e,0x38,0x3e,0x0, 0xe4,0xdc,0xe0,0xe8,0xf2,0xfc,0x4, 0x10,0x1a,0x24,0x24,
+0x1e,0x1c,0x18,0x16,0x65,0x32,0x0, 0x22,0x32,0x3a,0x3c,0x38,0x36,0x30,0x28,0x1c,
+0xe, 0xe, 0x20,0x2c,0x36,0x40,0x0, 0xe8,0xe8,0xf0,0xfc,0xc, 0x1a,0x26,0x34,0x40,
+0x4a,0x54,0x56,0x52,0x50,0x4c,0x65,0x32,0x0, 0x14,0x22,0x28,0x2a,0x28,0x24,0x1e,
+0x16,0xc, 0x10,0x1e,0x28,0x30,0x3a,0x40,0x0, 0xf2,0xf4,0xfa,0x2, 0xc, 0x18,0x22,
+0x2e,0x3a,0x3e,0x3a,0x3a,0x38,0x36,0x36,0x60,0x33,0x0, 0x22,0x30,0x34,0x30,0x1c,
+0xa, 0xc, 0x20,0x32,0x3e,0x3a,0x2c,0x18,0xa, 0x2, 0x0, 0xf0,0xf8,0x8, 0x1a,0x2a,
+0x2c,0x2c,0x2c,0x32,0x44,0x58,0x66,0x6c,0x6e,0x70,0x60,0x33,0x0, 0x1c,0x1c,0x12,
+0x8, 0xe, 0x18,0x24,0x30,0x3a,0x3e,0x3a,0x32,0x22,0x18,0x12,0x0, 0xe, 0x1a,0x26,
+0x32,0x2e,0x2e,0x2e,0x34,0x40,0x4a,0x56,0x64,0x74,0x7a,0x7f,0x60,0x33,0x0, 0x1c,
+0x1c,0xc, 0x2, 0xe, 0x1a,0x26,0x2a,0x2a,0x24,0x18,0xc, 0xfe,0xf6,0xf0,0x0, 0x8,
+0x16,0x24,0x2c,0x2c,0x2c,0x34,0x40,0x4c,0x54,0x5c,0x60,0x62,0x66,0x66,0x61,0x36,
+0x0, 0xdc,0xd4,0xce,0xcc,0xce,0xda,0xec,0xfc,0x8, 0xa, 0x0, 0xf4,0xe4,0xd8,0xd0,
+0x0, 0x22,0x34,0x48,0x58,0x6a,0x76,0x78,0x74,0x64,0x58,0x4a,0x42,0x42,0x42,0x46,
+0x61,0x36,0x0, 0xe8,0xda,0xca,0xc4,0xc0,0xc0,0xca,0xd6,0xe2,0xee,0xee,0xe4,0xd4,
+0xc8,0xc2,0x0, 0x6, 0xe, 0x1e,0x2a,0x34,0x3e,0x44,0x42,0x3e,0x38,0x2c,0x26,0x26,
+0x28,0x2a,0x61,0x36,0x0, 0xe4,0xda,0xd0,0xca,0xcc,0xd8,0xe6,0xf4,0x0, 0x6, 0xfc,
+0xee,0xe2,0xd2,0xcc,0x0, 0x10,0x1c,0x28,0x36,0x44,0x4a,0x48,0x42,0x3a,0x2e,0x26,
+0x24,0x24,0x26,0x2c,0x63,0x37,0x0, 0x16,0x22,0x30,0x3a,0x3c,0x36,0x30,0x2c,0x2a,
+0x26,0x24,0x22,0x20,0x1e,0x1e,0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x16,0x24,0x30,0x3e,
+0x4a,0x56,0x62,0x6c,0x74,0x7c,0x63,0x37,0x0, 0x10,0x1c,0x26,0x30,0x38,0x3c,0x34,
+0x30,0x2c,0x28,0x28,0x24,0x22,0x22,0x22,0x0, 0xfe,0xfe,0xfe,0xfe,0xfe,0x4, 0xa,
+0x14,0x20,0x2c,0x34,0x40,0x4a,0x54,0x5a,0x64,0x38,0x0, 0xce,0xc6,0xca,0xd8,0xee,
+0xfa,0x2, 0xf2,0xdc,0xc8,0xca,0xda,0xf2,0x0, 0x6, 0x0, 0x4, 0x14,0x28,0x36,0x42,
+0x50,0x66,0x76,0x76,0x6a,0x56,0x42,0x2e,0x20,0x1a,0x64,0x38,0x0, 0xca,0xd0,0xec,
+0x0, 0x8, 0xfc,0xe8,0xd2,0xcc,0xd6,0xf0,0x2, 0x6, 0xf4,0xee,0x0, 0x1c,0x2e,0x3c,
+0x50,0x66,0x7a,0x7c,0x76,0x60,0x48,0x36,0x20,0xa, 0x2, 0x2, 0x64,0x38,0x0, 0x10,
+0x20,0x30,0x2e,0x20,0xe, 0xfc,0xf8,0x4, 0x18,0x26,0x2e,0x1c,0xc, 0x6, 0x0, 0x22,
+0x2c,0x3a,0x4a,0x50,0x52,0x4a,0x3e,0x28,0x1c,0x16,0xc, 0xfe,0xfe,0xfe,0x64,0x38,
+0x0, 0x2c,0x3a,0x34,0x20,0xc, 0xfe,0x4, 0x16,0x28,0x38,0x3a,0x28,0x16,0x8, 0x6,
+0x0, 0xee,0xf8,0xe, 0x22,0x2e,0x38,0x4e,0x5c,0x5a,0x48,0x32,0x24,0x1a,0xa, 0x2,
+0x64,0x38,0x0, 0xe, 0x14,0x10,0x2, 0xf2,0xee,0xfc,0xc, 0x1a,0x26,0x28,0x1a,0xc,
+0x0, 0xfc,0x0, 0x1e,0x2c,0x38,0x3c,0x36,0x2c,0x1e,0x16,0xe, 0x4, 0xf8,0xf4,0xf4,
+0xf8,0xfe,0x36,0x61,0x0, 0xe4,0xd2,0xcc,0xcc,0xd4,0xe4,0xf0,0xf8,0xfc,0xfc,0xf8,
+0xf8,0xfc,0x4, 0xa, 0x0, 0xf8,0x8, 0x1a,0x24,0x2c,0x26,0x18,0xc, 0x2, 0x0, 0x10,
+0x22,0x2e,0x32,0x32,0x36,0x61,0x0, 0xe6,0xd6,0xce,0xc2,0xc0,0xc0,0xc6,0xd0,0xda,
+0xe4,0xee,0xf4,0xf0,0xf0,0xf6,0x0, 0xf6,0xfc,0x4, 0xe, 0x18,0x22,0x30,0x3a,0x34,
+0x2c,0x1c,0x16,0x24,0x30,0x34,0x36,0x61,0x0, 0xe8,0xd8,0xcc,0xc2,0xc4,0xcc,0xd8,
+0xe8,0xf6,0xfc,0xf2,0xe8,0xe4,0xea,0xf4,0x0, 0xf2,0xf6,0x2, 0x14,0x24,0x2c,0x28,
+0x1e,0xe, 0x6, 0xc, 0x1a,0x28,0x34,0x38,0x42,0x62,0x0, 0xf6,0xf4,0xee,0xf0,0xfe,
+0xe, 0x1e,0x22,0x1e,0x14,0x6, 0xf4,0xe6,0xe8,0xee,0x0, 0x18,0x26,0x34,0x38,0x2a,
+0x24,0x28,0x36,0x44,0x4e,0x50,0x4c,0x46,0x3c,0x3a,0x42,0x62,0x0, 0xfc,0xfa,0xf8,
+0xf6,0xf8,0xfc,0xc, 0x1e,0x30,0x34,0x2e,0x20,0xe, 0xfe,0xf8,0x0, 0x26,0x32,0x42,
+0x58,0x54,0x40,0x32,0x30,0x3a,0x4e,0x5c,0x68,0x68,0x62,0x5e,0x42,0x62,0x0, 0x4,
+0x6, 0x8, 0x8, 0xa, 0xc, 0x10,0x1c,0x2e,0x3a,0x3c,0x32,0x20,0x10,0xa, 0x0, 0x20,
+0x36,0x42,0x56,0x64,0x76,0x6a,0x5c,0x58,0x5c,0x6c,0x78,0x7c,0x7e,0x7e,0x42,0x62,
+0x0, 0xf4,0xf0,0xec,0xe8,0xe2,0xe2,0xe8,0xf4,0xa, 0x1c,0x1c,0x12,0x0, 0xf2,0xec,
+0x0, 0x2e,0x42,0x54,0x66,0x76,0x74,0x62,0x52,0x4a,0x4e,0x62,0x70,0x7a,0x7e,0x7e,
+0x34,0x63,0x0, 0xf0,0xde,0xd2,0xca,0xc8,0xc8,0xc8,0xca,0xce,0xd6,0xe2,0xec,0xf8,
+0x2, 0x8, 0x0, 0xf8,0xfc,0x8, 0x12,0x1e,0x28,0x30,0x3c,0x48,0x54,0x5a,0x5a,0x56,
+0x4c,0x48,0x34,0x63,0x0, 0xe4,0xd8,0xce,0xc6,0xc0,0xc0,0xc0,0xc0,0xc2,0xc4,0xc8,
+0xd0,0xd8,0xde,0xe4,0x0, 0x12,0x20,0x2a,0x38,0x44,0x50,0x56,0x5e,0x66,0x6c,0x74,
+0x78,0x7a,0x7a,0x76,0x34,0x63,0x0, 0xee,0xe2,0xd4,0xcc,0xc4,0xc2,0xc2,0xc2,0xc6,
+0xce,0xdc,0xea,0xf4,0xfc,0x0, 0x0, 0xec,0xee,0xf4,0xfc,0xa, 0x14,0x20,0x2a,0x36,
+0x40,0x46,0x44,0x3c,0x32,0x2a,0x34,0x63,0x0, 0xec,0xe0,0xd2,0xc8,0xc2,0xc0,0xc0,
+0xc2,0xc8,0xd2,0xdc,0xe6,0xf0,0xf4,0xf8,0x0, 0xf6,0xf4,0xf6,0xfe,0x8, 0x12,0x1e,
+0x2a,0x36,0x3c,0x3e,0x3c,0x36,0x2e,0x28,0x34,0x63,0x0, 0xe6,0xda,0xce,0xc6,0xc0,
+0xc0,0xc0,0xc4,0xcc,0xda,0xe6,0xf2,0xf6,0xfc,0x0, 0x0, 0xea,0xea,0xee,0xf6,0x2,
+0xc, 0x16,0x22,0x2c,0x34,0x32,0x2c,0x24,0x1a,0x14,0x34,0x63,0x0, 0xec,0xe2,0xd4,
+0xcc,0xc6,0xc2,0xc2,0xc6,0xd0,0xd8,0xe6,0xf0,0xf8,0xfc,0x0, 0x0, 0xf8,0xfa,0xfe,
+0x4, 0xc, 0x16,0x24,0x30,0x36,0x38,0x36,0x32,0x2c,0x24,0x1e,0x34,0x63,0x0, 0xf8,
+0xf4,0xee,0xe6,0xda,0xd0,0xc6,0xc0,0xc0,0xc2,0xc6,0xd0,0xdc,0xe8,0xec,0x0, 0xf8,
+0xf4,0xf4,0xf4,0xf6,0xfe,0x6, 0x12,0x1e,0x28,0x2e,0x32,0x32,0x30,0x2e,0x34,0x63,
+0x0, 0xfa,0xf8,0xf4,0xf0,0xea,0xe2,0xd8,0xce,0xc6,0xc0,0xc0,0xc2,0xc8,0xd4,0xd6,
+0x0, 0xfa,0xf6,0xf4,0xf0,0xf0,0xf0,0xf2,0xf8,0x0, 0x8, 0x12,0x1e,0x28,0x2e,0x30,
+0x37,0x64,0x0, 0xd8,0xe0,0xf0,0xfc,0x4, 0x8, 0xe, 0xe, 0x6, 0x0, 0xfc,0xfa,0xfc,
+0xc, 0x16,0x0, 0x14,0x2c,0x20,0xa, 0xf2,0xe2,0xca,0xc6,0xda,0xf0,0x6, 0x1c,0x36,
+0x3a,0x3a,0x37,0x64,0x0, 0xce,0xcc,0xd6,0xec,0xfc,0x2, 0x6, 0x8, 0xa, 0x6, 0x2,
+0x2, 0x2, 0x6, 0x8, 0x0, 0xf8,0xe, 0x28,0x2a,0x12,0x0, 0xea,0xd0,0xbe,0xd0,0xe8,
+0xfe,0x14,0x26,0x30,0x37,0x64,0x0, 0xe2,0xe6,0xf6,0x4, 0xc, 0x10,0x1a,0x1e,0x18,
+0x12,0xe, 0xc, 0xc, 0x10,0x14,0x0, 0x10,0x20,0x1e,0xc, 0xfa,0xec,0xd6,0xc2,0xce,
+0xe0,0xf0,0x2, 0x14,0x20,0x28,0x33,0x65,0x0, 0x1e,0x2c,0x34,0x2a,0x1e,0x12,0x6,
+0xfc,0xf6,0xf8,0x0, 0xe, 0x1a,0x26,0x2e,0x0, 0xfe,0xfa,0xf2,0xe4,0xe2,0xe4,0xe8,
+0xf0,0x0, 0xe, 0x1a,0x20,0x1c,0x16,0x12,0x33,0x65,0x0, 0x20,0x24,0x20,0x12,0xa,
+0x0, 0xfe,0xfe,0xfe,0x2, 0xa, 0x14,0x24,0x34,0x3e,0x0, 0xea,0xe0,0xd2,0xce,0xd4,
+0xe2,0xf2,0xfc,0x8, 0x14,0x1c,0x1c,0x18,0xc, 0x4, 0x33,0x65,0x0, 0x8, 0x18,0x2c,
+0x30,0x24,0x16,0x6, 0xfc,0xf2,0xf2,0xf2,0xf4,0x2, 0x12,0x1e,0x0, 0x10,0x10,0x2,
+0xf0,0xe0,0xe2,0xec,0xfa,0xc, 0x1c,0x2e,0x3c,0x4a,0x50,0x4e,0x33,0x65,0x0, 0x1a,
+0x2a,0x30,0x2e,0x24,0x1a,0xc, 0xfe,0xf4,0xf2,0xf2,0xfa,0x8, 0x14,0x1a,0x0, 0x0,
+0xfc,0xee,0xdc,0xd4,0xd4,0xd8,0xe2,0xf0,0x0, 0xe, 0x18,0x1c,0x1c,0x1c,0x33,0x65,
+0x0, 0x18,0x22,0x26,0x28,0x26,0x1c,0xe, 0x2, 0xf8,0xf4,0xf4,0xfa,0x8, 0x22,0x34,
+0x0, 0xee,0xe4,0xd8,0xd0,0xbe,0xbc,0xc0,0xc6,0xd2,0xe2,0xa, 0x18,0x1a,0xe, 0x8,
+0x33,0x65,0x0, 0x1a,0x26,0x28,0x1e,0x10,0x4, 0xf6,0xec,0xec,0xec,0xf0,0xfc,0xc,
+0x16,0x1c,0x0, 0xfc,0xfa,0xee,0xe4,0xe2,0xe4,0xe8,0xf4,0x2, 0xe, 0x1a,0x26,0x2c,
+0x30,0x30,0x33,0x65,0x0, 0x16,0x20,0x2a,0x30,0x2a,0x22,0x18,0x14,0x12,0x12,0x18,
+0x22,0x2e,0x38,0x3e,0x0, 0xf4,0xee,0xe2,0xda,0xd0,0xd2,0xdc,0xea,0xf4,0xfe,0x8,
+0xe, 0xe, 0xc, 0xc, 0x33,0x65,0x0, 0x4, 0x10,0x20,0x2e,0x38,0x3e,0x3c,0x2e,0x18,
+0x6, 0x0, 0x4, 0x16,0x30,0x38,0x0, 0xfc,0xf8,0xf0,0xe2,0xce,0xbe,0xb0,0xb6,0xc8,
+0xea,0x2, 0xc, 0xa, 0xfc,0xf6,0x33,0x65,0x0, 0x4, 0xe, 0x1e,0x2c,0x38,0x3e,0x3c,
+0x2e,0x20,0x18,0x14,0x18,0x24,0x34,0x38,0x0, 0x2, 0x6, 0x2, 0xfa,0xee,0xe4,0xe0,
+0xe4,0xf2,0x0, 0xa, 0x12,0x1c,0x20,0x20,0x33,0x65,0x0, 0xa, 0x1c,0x2a,0x32,0x36,
+0x34,0x30,0x1c,0xe, 0x2, 0xf8,0xf8,0xfc,0x4, 0x8, 0x0, 0xfc,0xf6,0xee,0xe6,0xde,
+0xdc,0xdc,0xe0,0xe8,0xf6,0x6, 0xe, 0x14,0x1a,0x1c,0x35,0x67,0x0, 0xce,0xc6,0xc8,
+0xd0,0xe2,0xf6,0xfe,0xfc,0xf8,0xf6,0xf4,0xea,0xda,0xc8,0xc2,0x0, 0xfc,0x10,0x22,
+0x32,0x32,0x26,0x12,0x12,0x2c,0x42,0x5a,0x6a,0x70,0x6a,0x64,0x35,0x67,0x0, 0xde,
+0xcc,0xc8,0xca,0xd6,0xe4,0xf2,0xfe,0xfc,0xfa,0xf6,0xea,0xda,0xcc,0xc4,0x0, 0xe8,
+0xf0,0xfe,0xe, 0x1c,0x20,0x1a,0xe, 0x16,0x28,0x34,0x44,0x4c,0x4a,0x44,0x35,0x67,
+0x0, 0xda,0xd6,0xe8,0xf2,0xf6,0xf6,0xf4,0xf0,0xea,0xe6,0xd8,0xc8,0xc0,0xcc,0xd4,
+0x0, 0x4, 0x18,0x1a,0x8, 0xc, 0x1a,0x2a,0x3a,0x4e,0x5e,0x72,0x74,0x64,0x56,0x52,
+0x35,0x67,0x0, 0xd8,0xd6,0xe4,0xf6,0x0, 0x6, 0x6, 0x6, 0x6, 0x2, 0xf8,0xe8,0xd2,
+0xc8,0xc8,0x0, 0x24,0x3c,0x4a,0x3e,0x2c,0x18,0x26,0x3a,0x48,0x5c,0x72,0x7c,0x7a,
+0x70,0x68,0x70,0x68,0x0, 0x0, 0xfe,0xfe,0xfe,0xfe,0xfe,0x0, 0x6, 0x12,0x24,0x36,
+0x3c,0x3c,0x3a,0x3a,0x0, 0x24,0x36,0x42,0x56,0x64,0x70,0x60,0x52,0x3e,0x3a,0x48,
+0x58,0x6a,0x78,0x7f,0x70,0x68,0x0, 0xee,0xe8,0xe4,0xe2,0xde,0xde,0xe4,0xf2,0x4,
+0x10,0x1a,0x1a,0x18,0x18,0x16,0x0, 0x20,0x36,0x48,0x5a,0x68,0x70,0x62,0x50,0x44,
+0x44,0x50,0x5e,0x6a,0x76,0x7f,0x34,0x3c,0x0, 0xf0,0xe4,0xda,0xd2,0xcc,0xc6,0xc2,
+0xca,0xd2,0xdc,0xe6,0xee,0xf8,0xfe,0x2, 0x0, 0x6, 0xa, 0x10,0x16,0x1c,0x20,0x26,
+0x2c,0x34,0x36,0x3a,0x40,0x48,0x4e,0x50,0x52,0x3e,0x0, 0x10,0x18,0x1e,0x2a,0x32,
+0x3a,0x3e,0x36,0x2c,0x24,0x1e,0x16,0xe, 0x6, 0x4, 0x0, 0x8, 0xe, 0x12,0x16,0x1a,
+0x20,0x26,0x2c,0x32,0x38,0x38,0x3e,0x42,0x46,0x4a,0x52,0x3e,0x0, 0xe, 0x16,0x1c,
+0x26,0x2e,0x34,0x3a,0x3e,0x3c,0x3a,0x32,0x28,0x1c,0x14,0xe, 0x0, 0x2, 0x2, 0x4,
+0x8, 0xc, 0x10,0x14,0x1c,0x24,0x2a,0x2e,0x34,0x3e,0x42,0x46,0x52,0x3e,0x0, 0xc,
+0x18,0x20,0x26,0x26,0x20,0x14,0xc, 0x6, 0x0, 0xfa,0xf4,0xee,0xea,0xee,0x0, 0x6,
+0x10,0x18,0x1c,0x22,0x24,0x2a,0x32,0x36,0x3c,0x42,0x4a,0x4e,0x54,0x4e,0x53,0x5e,
+0x0, 0x6, 0xa, 0xe, 0x12,0x14,0x18,0x1c,0x22,0x26,0x28,0x2c,0x32,0x38,0x3c,0x3e,
+0x0, 0xf0,0xe8,0xde,0xd8,0xd2,0xca,0xc2,0xc6,0xcc,0xd2,0xda,0xe6,0xf2,0xf8,0xfc,
+0x54,0x76,0x0, 0x4, 0x8, 0xc, 0x12,0x14,0x18,0x1c,0x22,0x28,0x2c,0x30,0x36,0x3a,
+0x3e,0x3e,0x0, 0xc, 0x18,0x20,0x26,0x2c,0x34,0x3e,0x3a,0x32,0x2a,0x20,0x18,0xe,
+0x8, 0x4, 0x54,0x76,0x0, 0x0, 0x0, 0x2, 0x6, 0xa, 0xe, 0x12,0x16,0x1a,0x1e,0x24,
+0x2c,0x34,0x40,0x40,0x0, 0x6, 0x1a,0x2a,0x3e,0x4e,0x5e,0x6c,0x74,0x76,0x72,0x6c,
+0x5e,0x4e,0x3e,0x3e,0x71,0x6b,0x0, 0xf6,0xf2,0xee,0xec,0xf4,0x2, 0xe, 0x1a,0x14,
+0x8, 0xfa,0x4, 0x14,0x22,0x2a,0x0, 0x22,0x30,0x3e,0x3c,0x2e,0x1e,0x1a,0x1c,0x2c,
+0x32,0x34,0x3c,0x48,0x50,0x54,0x71,0x6b,0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x6, 0x1a,
+0x2a,0x2e,0x24,0xe, 0x12,0x28,0x36,0x40,0x0, 0x3c,0x56,0x6c,0x68,0x58,0x40,0x2c,
+0x30,0x44,0x56,0x58,0x5a,0x6c,0x78,0x7f,0x71,0x6b,0x0, 0xf6,0xf2,0xec,0xe8,0xe8,
+0xec,0xf4,0x0, 0x4, 0xf8,0xf4,0x0, 0x12,0x1e,0x28,0x0, 0x22,0x32,0x42,0x50,0x56,
+0x4a,0x3c,0x32,0x3a,0x44,0x46,0x48,0x4e,0x52,0x56,0x44,0x4c,0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x6, 0xe, 0x16,0x20,0x2a,0x32,0x3a,0x40,0x0, 0x12,0x20,0x2a,
+0x34,0x3c,0x46,0x50,0x54,0x52,0x52,0x54,0x54,0x56,0x56,0x58,0x32,0x6d,0x0, 0x8,
+0xc, 0x12,0x16,0x18,0x1c,0x22,0x2a,0x2c,0x30,0x34,0x36,0x3a,0x3c,0x3e,0x0, 0xe2,
+0xd8,0xca,0xd0,0xe2,0xec,0xec,0xde,0xd0,0xc8,0xc6,0xd4,0xe2,0xec,0xf2,0x32,0x6d,
+0x0, 0x8, 0x10,0x1a,0x22,0x22,0x20,0x1c,0x1c,0x22,0x26,0x2c,0x38,0x3e,0x3e,0x3e,
+0x0, 0xdc,0xce,0xc4,0xce,0xda,0xe8,0xf6,0xfc,0xec,0xdc,0xce,0xcc,0xda,0xec,0xfa,
+0x32,0x6d,0x0, 0x0, 0x2, 0x4, 0x8, 0xe, 0x16,0x1a,0x18,0x18,0x20,0x28,0x30,0x38,
+0x3c,0x40,0x0, 0x26,0x38,0x2c,0x1a,0x6, 0xfe,0x14,0x28,0x1c,0xa, 0xf8,0x2, 0x14,
+0x26,0x30,0x32,0x6d,0x0, 0x0, 0x2, 0x4, 0xa, 0x18,0x1c,0x1c,0x1e,0x24,0x2c,0x3a,
+0x3e,0x3e,0x3e,0x3e,0x0, 0x2a,0x28,0x14,0x4, 0xfe,0xc, 0x1e,0x22,0x12,0x0, 0xf8,
+0x2, 0x16,0x26,0x30,0x32,0x6d,0x0, 0x0, 0x2, 0x6, 0xe, 0x10,0x12,0x12,0x12,0x14,
+0x20,0x2c,0x32,0x38,0x3e,0x40,0x0, 0xe6,0xca,0xb0,0xa2,0xa4,0xac,0xbe,0xcc,0xcc,
+0xba,0xaa,0xaa,0xbe,0xd2,0xd6,0x32,0x6d,0x0, 0xa, 0xe, 0xc, 0xa, 0x12,0x1e,0x24,
+0x22,0x20,0x22,0x2c,0x38,0x3e,0x3c,0x3c,0x0, 0x8, 0x1e,0x2e,0x36,0x22,0xa, 0x4,
+0x1a,0x30,0x2c,0x10,0x0, 0x4, 0x22,0x2c,0x32,0x6d,0x0, 0x4, 0xc, 0x16,0x18,0x18,
+0x1c,0x1e,0x24,0x2e,0x3a,0x3e,0x3e,0x3e,0x3e,0x3e,0x0, 0xb6,0x98,0xac,0xcc,0xee,
+0xe0,0xc8,0xa2,0x8e,0x9c,0xb2,0xce,0xf0,0x2, 0xa, 0x32,0x6d,0x0, 0xa, 0xc, 0xa,
+0xe, 0x18,0x20,0x24,0x26,0x30,0x38,0x3e,0x3c,0x3a,0x3a,0x3a,0x0, 0xe, 0x1c,0x2c,
+0x20,0x14,0xe, 0x12,0x1c,0x12,0x8, 0x12,0x2a,0x40,0x4e,0x54,0x40,0x6e,0x0, 0x2,
+0xfe,0xfc,0x0, 0x6, 0xe, 0x16,0x24,0x34,0x3a,0x36,0x32,0x2e,0x2e,0x2e,0x0, 0x32,
+0x46,0x54,0x42,0x2e,0x1c,0xc, 0x0, 0x0, 0x10,0x22,0x32,0x46,0x58,0x60,0x30,0x6f,
+0x0, 0xea,0xde,0xdc,0xdc,0xe0,0xe8,0xf2,0x0, 0xa, 0x14,0x1a,0x18,0x10,0x8, 0x2,
+0x0, 0xa, 0x18,0x24,0x2e,0x38,0x3e,0x3e,0x3a,0x36,0x2a,0x1a,0x10,0x6, 0x2, 0x2,
+0x30,0x6f,0x0, 0x18,0x1e,0x1e,0x1a,0x12,0x6, 0xf8,0xec,0xe2,0xe0,0xe0,0xe2,0xec,
+0xf8,0x0, 0x0, 0xf2,0xe6,0xd8,0xc6,0xba,0xb8,0xbc,0xc6,0xd8,0xe4,0xf0,0xfc,0x6,
+0x8, 0x6, 0x30,0x6f,0x0, 0xe6,0xe0,0xde,0xe0,0xe8,0xf2,0xfe,0xa, 0x16,0x1c,0x1c,
+0x18,0x12,0x8, 0x2, 0x0, 0xf6,0xee,0xe0,0xd4,0xc8,0xc0,0xbe,0xbe,0xc6,0xd2,0xe0,
+0xec,0xfa,0x2, 0x2, 0x30,0x6f,0x0, 0xe4,0xd2,0xc8,0xc4,0xc4,0xc8,0xd8,0xe4,0xf6,
+0xfe,0x2, 0x2, 0xfe,0xf8,0xf6,0x0, 0xe8,0xf4,0x2, 0x14,0x20,0x34,0x44,0x44,0x36,
+0x28,0x18,0xa, 0xf8,0xec,0xe6,0x30,0x6f,0x0, 0xec,0xe8,0xe8,0xf0,0x0, 0xc, 0x14,
+0x1a,0x1a,0x14,0x6, 0xf6,0xea,0xe0,0xde,0x0, 0x28,0x44,0x54,0x64,0x64,0x52,0x40,
+0x2c,0x1e,0x6, 0xf2,0xfa,0xa, 0x2c,0x44,0x30,0x6f,0x0, 0xf2,0xf2,0xf4,0x0, 0xc,
+0x14,0x20,0x2c,0x2e,0x30,0x2c,0x1c,0x10,0x6, 0xfe,0x0, 0x10,0x1e,0x2a,0x32,0x34,
+0x32,0x2c,0x20,0x14,0xa, 0x0, 0xf2,0xf2,0xf4,0xfc,0x30,0x6f,0x0, 0xe4,0xde,0xde,
+0xe2,0xec,0xf8,0x4, 0x14,0x1c,0x1c,0x1a,0x16,0xc, 0x4, 0xfe,0x0, 0xc, 0x16,0x22,
+0x30,0x3a,0x3e,0x3c,0x36,0x2a,0x20,0x14,0x8, 0x0, 0x0, 0x0, 0x30,0x6f,0x0, 0x18,
+0x20,0x20,0x1c,0x16,0xa, 0xfc,0xf2,0xe6,0xe2,0xe2,0xe6,0xf2,0xfc,0x2, 0x0, 0xa,
+0x16,0x22,0x30,0x3a,0x40,0x42,0x3e,0x34,0x28,0x1c,0xe, 0x4, 0x0, 0x0, 0x30,0x6f,
+0x0, 0xfa,0xf0,0xe4,0xd8,0xca,0xc4,0xc4,0xc6,0xcc,0xd8,0xe8,0xf4,0xfe,0x0, 0x2,
+0x0, 0x18,0x20,0x24,0x24,0x1e,0x12,0x4, 0xf6,0xe6,0xde,0xde,0xe4,0xf2,0xfc,0x4,
+0x30,0x6f,0x0, 0x4, 0x12,0x20,0x2a,0x34,0x3c,0x3e,0x38,0x32,0x26,0x1a,0xc, 0x0,
+0x0, 0x0, 0x0, 0x1a,0x24,0x26,0x22,0x1a,0xc, 0xfe,0xee,0xe6,0xde,0xde,0xe2,0xf0,
+0xfc,0x2, 0x30,0x6f,0x0, 0x8, 0x16,0x28,0x34,0x3a,0x3e,0x3e,0x3a,0x32,0x24,0x16,
+0x8, 0x2, 0x0, 0x0, 0x0, 0xe4,0xd6,0xd6,0xdc,0xe8,0xf6,0x2, 0x10,0x1c,0x22,0x24,
+0x1e,0x12,0x6, 0xfe,0x30,0x6f,0x0, 0xf6,0xea,0xde,0xd6,0xcc,0xc6,0xc6,0xca,0xd4,
+0xe4,0xf0,0xfc,0x2, 0x4, 0x4, 0x0, 0xea,0xe6,0xe6,0xea,0xf6,0x0, 0xc, 0x1a,0x26,
+0x28,0x24,0x1e,0x12,0xa, 0x4, 0x30,0x6f,0x0, 0xfc,0x4, 0x10,0x2c,0x36,0x38,0x34,
+0x28,0x14,0x2, 0xfc,0x0, 0x8, 0x14,0x18,0x0, 0xd0,0xc2,0xba,0xbc,0xc6,0xd8,0xf2,
+0x8, 0x12,0x10,0x0, 0xea,0xd4,0xc8,0xc6,0x30,0x6f,0x0, 0xf8,0xc, 0x22,0x2e,0x2c,
+0x2a,0x22,0x18,0x2, 0xf4,0xf0,0xf2,0xf6,0xfe,0x0, 0x0, 0xd8,0xcc,0xce,0xe8,0xfe,
+0x10,0x1c,0x28,0x2a,0x1e,0xe, 0xf6,0xe6,0xdc,0xda,0x30,0x6f,0x0, 0xf0,0xee,0xf2,
+0x2, 0x14,0x20,0x28,0x2c,0x28,0x1e,0x10,0xfe,0xf2,0xee,0xee,0x0, 0xe2,0xce,0xbe,
+0xba,0xbe,0xc6,0xd4,0xe6,0xf8,0x4, 0x8, 0x8, 0x2, 0xf4,0xf0,0x30,0x6f,0x0, 0xf0,
+0xf0,0xf8,0xc, 0x1e,0x28,0x2c,0x26,0x18,0x8, 0xf6,0xf0,0xee,0xee,0xee,0x0, 0xe8,
+0xd6,0xc4,0xbe,0xc2,0xd0,0xe6,0xfa,0x6, 0xc, 0x2, 0xf2,0xe0,0xd2,0xce,0x45,0x70,
+0x0, 0xfa,0xf6,0xf0,0xf0,0xf2,0xf6,0xfa,0x2, 0xe, 0x1e,0x2c,0x22,0xe, 0xfe,0xf8,
+0x0, 0x30,0x44,0x5a,0x5a,0x44,0x32,0x1e,0xa, 0xfe,0xfc,0x8, 0x1c,0x28,0x2e,0x32,
+0x45,0x70,0x0, 0xfe,0xfe,0xfe,0x0, 0x4, 0xe, 0x1c,0x2e,0x38,0x3c,0x38,0x2a,0x1a,
+0xa, 0x4, 0x0, 0xdc,0xc6,0xb8,0xa8,0x98,0x8a,0x80,0x80,0x88,0x96,0xa4,0xb0,0xb4,
+0xb6,0xb6,0x73,0x72,0x0, 0xc, 0xe, 0x10,0x10,0x10,0x10,0x10,0x10,0x12,0x16,0x18,
+0x22,0x2c,0x38,0x3e,0x0, 0x14,0x22,0x2a,0x34,0x3e,0x46,0x3e,0x34,0x26,0x1a,0x12,
+0x6, 0x0, 0x4, 0xc, 0x73,0x72,0x0, 0x4, 0x6, 0x6, 0x6, 0x4, 0x4, 0x8, 0xa, 0x10,
+0x16,0x1e,0x2c,0x34,0x3a,0x40,0x0, 0x14,0x22,0x2a,0x38,0x44,0x40,0x2e,0x24,0x18,
+0x10,0x6, 0x6, 0xe, 0x16,0x1c,0x46,0x73,0x0, 0xe0,0xd0,0xc6,0xc2,0xc8,0xd6,0xe4,
+0xf4,0xfa,0xf6,0xec,0xdc,0xce,0xc4,0xc0,0x0, 0xee,0xf4,0x4, 0x16,0x22,0x2a,0x30,
+0x3a,0x4c,0x5a,0x64,0x6a,0x6a,0x5e,0x56,0x46,0x73,0x0, 0xda,0xd0,0xcc,0xd0,0xde,
+0xea,0xf6,0x6, 0x8, 0x6, 0x0, 0xf2,0xe0,0xd8,0xd2,0x0, 0x4, 0xe, 0x18,0x24,0x2a,
+0x2a,0x28,0x2c,0x36,0x40,0x4c,0x56,0x56,0x54,0x54,0x46,0x73,0x0, 0xee,0xe6,0xde,
+0xe2,0xea,0xf4,0x0, 0xa, 0x16,0x1c,0x18,0xc, 0x2, 0xfa,0xf4,0x0, 0x16,0x24,0x30,
+0x38,0x3a,0x3a,0x3c,0x3c,0x3c,0x46,0x4e,0x5c,0x66,0x6e,0x74,0x46,0x73,0x0, 0xe6,
+0xd6,0xcc,0xc2,0xc0,0xc4,0xce,0xda,0xe6,0xf2,0xfc,0xfa,0xec,0xdc,0xd2,0x0, 0xf8,
+0xfc,0x4, 0x10,0x1c,0x28,0x2e,0x32,0x34,0x38,0x40,0x4c,0x5e,0x6c,0x78,0x46,0x73,
+0x0, 0xf4,0xee,0xec,0xf2,0xfa,0x2, 0x8, 0x8, 0x2, 0xf8,0xf0,0xe2,0xda,0xd4,0xce,
+0x0, 0xc, 0x18,0x22,0x28,0x2c,0x30,0x36,0x40,0x4c,0x56,0x5e,0x64,0x68,0x68,0x68,
+0x46,0x73,0x0, 0xf0,0xe0,0xd2,0xc8,0xc6,0xd0,0xde,0xec,0xfa,0x2, 0xfc,0xf0,0xe4,
+0xd8,0xd2,0x0, 0xf0,0xf4,0xf8,0x2, 0xe, 0x1a,0x1e,0x20,0x22,0x2a,0x38,0x40,0x44,
+0x44,0x44,0x46,0x73,0x0, 0xfc,0xf8,0xee,0xda,0xca,0xc2,0xc0,0xc4,0xd2,0xe4,0xf0,
+0xf6,0xe8,0xd8,0xd8,0x0, 0xfe,0x0, 0x8, 0x18,0x28,0x32,0x38,0x3e,0x3c,0x3a,0x38,
+0x40,0x5e,0x7e,0x7e,0x46,0x73,0x0, 0xf6,0xee,0xe4,0xdc,0xda,0xe0,0xec,0xf8,0xfe,
+0xfc,0xf0,0xde,0xcc,0xc2,0xc2,0x0, 0xf6,0xf8,0xfe,0x4, 0xe, 0x16,0x1c,0x22,0x2a,
+0x30,0x34,0x34,0x34,0x34,0x34,0x47,0x75,0x0, 0xf8,0xf8,0xfa,0x8, 0x16,0x1e,0x24,
+0x2a,0x2a,0x24,0x1c,0x1a,0x20,0x2e,0x36,0x0, 0x20,0x32,0x40,0x42,0x34,0x28,0x1a,
+0xc, 0x2, 0xc, 0x1e,0x2e,0x3a,0x40,0x3e,0x47,0x75,0x0, 0xfc,0xfc,0x0, 0x10,0x1e,
+0x2a,0x32,0x36,0x3a,0x38,0x36,0x36,0x36,0x36,0x38,0x0, 0x28,0x40,0x52,0x5c,0x50,
+0x3c,0x28,0x14,0x4, 0x12,0x24,0x36,0x48,0x5c,0x64,0x31,0x77,0x0, 0x2, 0x4, 0x8,
+0xc, 0x12,0x18,0x1c,0x1e,0x24,0x2a,0x2e,0x32,0x36,0x3a,0x3e,0x0, 0x18,0x24,0x2a,
+0x24,0x12,0x6, 0x6, 0x14,0x22,0x26,0x18,0xa, 0xfe,0xf6,0xf0,0x31,0x77,0x0, 0x4,
+0x8, 0xe, 0x14,0x18,0x1a,0x1c,0x1c,0x1e,0x20,0x28,0x30,0x38,0x3c,0x40,0x0, 0x1c,
+0x2a,0x36,0x2c,0x18,0xc, 0x0, 0xa, 0x1a,0x26,0x32,0x2e,0x14,0x6, 0x0, 0x31,0x77,
+0x0, 0x2, 0x4, 0x6, 0xa, 0xc, 0x14,0x20,0x2a,0x2e,0x30,0x30,0x32,0x3c,0x40,0x40,
+0x0, 0xa, 0x1c,0x2e,0x3c,0x3e,0x34,0x1a,0xc, 0x8, 0xc, 0x18,0x26,0x2c,0x26,0x24,
+0x31,0x77,0x0, 0x0, 0x2, 0x4, 0x8, 0xa, 0x12,0x18,0x1c,0x1e,0x20,0x20,0x26,0x30,
+0x40,0x40,0x0, 0x8, 0x1a,0x30,0x3e,0x38,0x28,0x14,0x4, 0x2, 0xe, 0x26,0x3c,0x30,
+0x12,0x12,0x31,0x77,0x0, 0x0, 0x2, 0x4, 0x4, 0xa, 0xe, 0x10,0x16,0x1a,0x1c,0x20,
+0x2c,0x36,0x3e,0x40,0x0, 0xc, 0x18,0x24,0x24,0x16,0x12,0x14,0x22,0x32,0x3e,0x3e,
+0x2c,0x14,0x4, 0x0, 0x72,0x79,0x0, 0xfe,0x0, 0xe, 0x16,0x1e,0x1a,0x14,0x12,0xc,
+0x8, 0xfe,0xf6,0xe8,0xe2,0xe2,0x0, 0x16,0x20,0x1a,0x10,0x4, 0xa, 0x16,0x22,0x30,
+0x3c,0x46,0x4a,0x44,0x3c,0x36,0x72,0x79,0x0, 0x2, 0xa, 0x1a,0x22,0x2a,0x30,0x2a,
+0x28,0x28,0x26,0x24,0x18,0x8, 0xfa,0xf4,0x0, 0x2e,0x3e,0x30,0x20,0xe, 0x0, 0x14,
+0x28,0x3e,0x4e,0x62,0x72,0x78,0x6e,0x66,0x72,0x79,0x0, 0xfa,0xfa,0xfe,0xc, 0x1c,
+0x2c,0x36,0x34,0x2c,0x28,0x20,0x1a,0xe, 0x6, 0x0, 0x0, 0x22,0x38,0x4a,0x44,0x36,
+0x1a,0x6, 0x6, 0x16,0x28,0x44,0x56,0x6c,0x78,0x7f,0x72,0x79,0x0, 0x14,0x16,0x18,
+0x26,0x36,0x3c,0x36,0x34,0x32,0x30,0x2c,0x24,0x14,0xc, 0x8, 0x0, 0xfe,0xc, 0x18,
+0x10,0xfe,0xf8,0x2, 0x12,0x1e,0x2c,0x3c,0x48,0x4c,0x48,0x44,0x65,0x7a,0x0, 0x16,
+0x24,0x30,0x30,0x20,0x18,0xe, 0x0, 0xfa,0x4, 0x10,0x20,0x2a,0x32,0x38,0x0, 0x2,
+0x2, 0x0, 0x8, 0x14,0x1e,0x28,0x32,0x3c,0x3e,0x3a,0x38,0x38,0x38,0x36,0x65,0x7a,
+0x0, 0x14,0x20,0x2e,0x36,0x2e,0x26,0x1a,0x12,0xa, 0xa, 0x14,0x22,0x2e,0x3a,0x40,
+0x0, 0xfe,0xfc,0xfc,0x0, 0x6, 0x10,0x1c,0x28,0x32,0x38,0x3a,0x3a,0x3a,0x3a,0x3a,
+0x65,0x7a,0x0, 0x10,0x1c,0x24,0x2c,0x2c,0x28,0x22,0x1c,0x18,0x14,0x16,0x22,0x2e,
+0x38,0x40,0x0, 0xf6,0xf0,0xea,0xea,0xf0,0xfa,0x8, 0x12,0x1c,0x28,0x2e,0x2c,0x28,
+0x22,0x1e,0x0, 0x46,0x0, 0x6, 0xa, 0xe, 0x14,0x1a,0x1c,0x22,0x26,0x28,0x2c,0x32,
+0x34,0x3a,0x3e,0x40,0x0, 0xb, 0x14,0x1c,0x26,0x2e,0x34,0x3c,0x42,0x48,0x50,0x56,
+0x5c,0x64,0x6a,0x6e,0x7e,0xa0,0x20,0x80,0xc, 0x7e,0xa0,0x10,0x80,0x5, 0x7e,0xa0,
+0x8, 0x6c,0x55,0x6d,0x33,0x33,0x92,0xd5,0x50,0xa, 0x6e,0x34,0xff,0xff,0x6e,0x24,
+0xff,0xff,0xb, 0x1c,0xa5,0xec,0x33,0x40,0x6, 0x2f,0x11,0xd5,0xf0,0xf6,0x22,0x7c,
+0xba,0x24,0x7e,0xa2,0xd5,0x13,0x7c,0x76,0x7c,0x65,0xa5,0xcc,0x92,0xe7,0x7c,0x5b,
+0x22,0x7c,0xb5,0x33,0x7c,0xb4,0x33,0x92,0xd5,0x4e,0x50,0x80,0x24,0x81,0x40,0x3,
+0x9f,0x11,0x22,0x7c,0x45,0x7c,0x56,0x7c,0x67,0x6c,0x77,0x24,0xe0,0x50,0xe, 0x7e,
+0x1c,0xff,0xff,0x22,0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x4, 0x78,0xf4,
+0x30,0xd5,0xa, 0x6e,0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,0x22,0x7c,0xb5,
+0xa2,0xe7,0xd2,0xe7,0x7c,0x1b,0x7c,0xb4,0x33,0x40,0x9, 0x68,0xd, 0xb4,0xff,0xb,
+0xa5,0xbd,0xff,0x3, 0x2, 0x98,0xdb,0x2, 0x98,0xe3,0x22,0x7c,0xb, 0x24,0x81,0xc2,
+0xe0,0xf5,0x82,0xf4,0x4, 0x2c,0xb0,0x7c,0x2b,0xc3,0x13,0x7c,0x4b,0x7c,0xb5,0x92,
+0xe7,0x7c,0x5b,0x7f,0x41,0x7c,0xb6,0xa2,0xe7,0x7c,0xb1,0xa5,0xba,0x7f,0x2, 0xc3,
+0x13,0x34,0x0, 0x94,0x0, 0x7c,0x2b,0x7e,0xa0,0x91,0xa4,0x7c,0xba,0x13,0xf4,0x94,
+0xfe,0xac,0xb2,0x33,0x7c,0xba,0x33,0x24,0x8c,0xd3,0x13,0x7c,0x5b,0xe4,0x92,0xe7,
+0x7c,0x6b,0x6c,0x77,0x7e,0x40,0x3f,0x75,0x83,0x2, 0x7f,0x51,0x7f,0x1, 0x7f,0x14,
+0x12,0x99,0xad,0x7f,0x5, 0x12,0x98,0xf5,0x9e,0x24,0x0, 0x80,0xd5,0x83,0xeb,0x7e,
+0x1, 0x82,0x6c,0x11,0xe, 0x4, 0x1e,0x4, 0x2d,0x20,0x5e,0x40,0x7f,0x22,0x2d,0x0,
+0x92,0xd5,0xe, 0x10,0x4e,0x10,0x80,0x7d,0x42,0x2d,0x44,0x50,0x2, 0xb2,0xd5,0x4e,
+0x50,0x80,0x6c,0x44,0x7c,0xb8,0x22,0x2c,0x44,0x50,0x12,0xb, 0x1c,0x7e,0x40,0x0,
+0x5e,0x50,0x7f,0xbe,0x18,0x0, 0x0, 0x78,0x4, 0xb, 0x80,0x68,0x16,0xa2,0xd5,0x7c,
+0xb8,0x13,0x7c,0x4b,0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x22,0x7e,0x1c,0xff,0xff,0x22,
+0x9f,0x11,0x22,0x7e,0x24,0xff,0x80,0x20,0xd5,0x2, 0x6c,0x45,0x6d,0x33,0x22,0x2,
+0x98,0xdb,0x6e,0x0, 0x80,0x7c,0xb1,0x33,0x7c,0xb0,0x33,0x68,0xd, 0x4, 0x68,0xef,
+0x7c,0xb5,0x33,0x7c,0xb4,0x33,0x78,0x3, 0x7f,0x10,0x22,0x4, 0x68,0xe1,0x7d,0x50,
+0x92,0xf7,0x7d,0x45,0x7d,0x51,0xbf,0x21,0x40,0x6, 0x7c,0x80,0x7f,0x1, 0x7f,0x12,
+0x12,0x98,0x9e,0x7e,0xa1,0xd0,0x5c,0xb0,0x4, 0x78,0x3, 0x20,0xd5,0xc1,0x7c,0xb0,
+0x4, 0x78,0x7, 0x50,0x2, 0xb2,0xd5,0x2, 0x98,0xe3,0x92,0xd5,0xbe,0x80,0xff,0x68,
+0xf6,0x7c,0xb8,0x9c,0xb0,0x6c,0x0, 0x60,0x2a,0xb4,0x18,0x5, 0x7c,0x41,0x2, 0x98,
+0xb7,0x50,0xfb,0x80,0x3, 0x2f,0x0, 0x4, 0x7c,0x9b,0x5e,0x90,0x7, 0x78,0xf6,0x30,
+0xe4,0x6, 0x7c,0x43,0x7d,0x10,0x6d,0x0, 0x30,0xe3,0x8, 0x7c,0x43,0x7c,0x32,0x7c,
+0x21,0xa, 0x0, 0x30,0xf5,0x19,0x9f,0x10,0x78,0xe, 0x22,0x2, 0x98,0xe0,0x1b,0x80,
+0x68,0xf9,0x2f,0x11,0x50,0x2, 0xb, 0x70,0x7c,0xb5,0x30,0xe7,0xf1,0x80,0x1b,0x2d,
+0x31,0x7c,0xb5,0xa5,0x39,0x7c,0x5b,0x50,0x11,0xb, 0x80,0x78,0x3, 0x2, 0x98,0xe3,
+0x1e,0x34,0x13,0x50,0x3, 0x4e,0x60,0x80,0x1a,0x2b,0x2, 0x98,0xb7,0xbe,0x24,0xff,
+0xff,0x68,0x6, 0xbe,0x4, 0xff,0xff,0x78,0x3, 0x2, 0x98,0xdb,0x12,0x98,0x9e,0x5c,
+0xb0,0x4, 0x68,0xf5,0x7c,0xb8,0xa5,0x48,0x68,0xef,0x7c,0xb8,0x70,0x3, 0x9f,0x11,
+0x22,0xa5,0xb8,0x0, 0x3, 0x2, 0x98,0xe3,0x2e,0x0, 0x81,0x50,0x7, 0x9c,0x80,0x38,
+0x7, 0x2, 0x98,0xe0,0x9c,0x80,0x50,0xed,0xa, 0x51,0xc2,0xe7,0x4d,0x51,0x78,0x3,
+0x2, 0x98,0xcd,0x7e,0x54,0x0, 0x80,0x7e,0x90,0x1a,0x6c,0x0, 0x80,0x6, 0x1b,0x90,
+0x68,0x14,0x2f,0x11,0xbf,0x10,0x40,0x4, 0x9f,0x10,0x4c,0xab,0x3, 0x30,0xe7,0xee,
+0xca,0xa8,0x6c,0xaa,0x80,0xe8,0xda,0x39,0xda,0x58,0x7c,0x4a,0xbe,0x50,0x80,0x50,
+0xa, 0x1b,0x80,0x68,0xbc,0x2f,0x11,0x50,0x2, 0xb, 0x70,0x2, 0x98,0xb7,0xc2,0xd5,
+0x7c,0xb4,0x30,0xe7,0x8, 0xb2,0xd5,0x6e,0x24,0xff,0xff,0xb, 0x24,0x7c,0xb6,0x30,
+0xe7,0x12,0xb2,0xd5,0x6e,0x34,0xff,0xff,0xb, 0x34,0x8d,0x32,0x6e,0x24,0xff,0xff,
+0xb, 0x24,0x80,0x2, 0x8d,0x32,0x30,0xd5,0x6, 0x6e,0x34,0xff,0xff,0xb, 0x34,0x22,
+0x7d,0x51,0xad,0x3, 0x7d,0x2, 0x7d,0x21,0xad,0x5, 0x2d,0x12,0xad,0x35,0x2d,0x21,
+0x22,0x7d,0x2, 0xad,0x31,0xad,0x10,0x2d,0x21,0x22,0x6d,0x0, 0x74,0x10,0x4d,0x0,
+0x78,0xb, 0x4d,0x22,0x78,0x27,0x8d,0x31,0x7d,0x12,0x6d,0x22,0x22,0x7d,0x43,0x7d,
+0x32,0x6d,0x22,0x2f,0x11,0x2d,0x44,0x50,0x2, 0xa5,0xf, 0xbf,0x10,0x40,0x4, 0x9f,
+0x10,0xb, 0x90,0x14,0x78,0xed,0x7f,0x1, 0x6d,0x22,0x7d,0x34,0x22,0x7d,0x41,0x7d,
+0x13,0x8d,0x24,0x7d,0x2, 0x2f,0x0, 0x40,0x4, 0xbd,0x4, 0x40,0x4, 0x9d,0x4, 0xb,
+0x14,0x14,0x78,0xf1,0x7d,0x23,0x7d,0x31,0x7d,0x10,0x6d,0x0, 0x22,0xc2,0xd5,0x7c,
+0xb0,0x30,0xe7,0x8, 0xb2,0xd5,0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x7c,0xb4,0x30,0xe7,
+0x13,0xb2,0xd5,0x9f,0x22,0x9f,0x21,0x7f,0x12,0x12,0x9a,0x7c,0x9f,0x22,0x9f,0x20,
+0x7f,0x2, 0x80,0x3, 0x12,0x9a,0x7c,0x30,0xd5,0x6, 0x9f,0x22,0x9f,0x21,0x7f,0x12,
+0x22,0x6c,0xaa,0x4d,0x11,0x68,0x1a,0x1e,0x54,0x68,0xe, 0xb, 0x38,0x20,0x1b,0x18,
+0x20,0xb, 0x35,0xb, 0x15,0x1b,0x54,0x78,0xf2,0x50,0x6, 0x7e,0x39,0x40,0x7a,0x19,
+0x40,0x22,0x75,0x84,0x1, 0x7e,0x44,0x13,0xff,0xe4,0x7a,0x49,0xb0,0x1b,0x44,0x78,
+0xf9,0x7e,0xf8,0x11,0x4d,0x75,0x69,0x1, 0xc2,0xc, 0x75,0x62,0x0, 0x75,0x8, 0x0,
+0x75,0x9, 0x71,0x75,0xa, 0x6, 0x75,0xb, 0x71,0x75,0xc, 0x71,0x75,0x11,0x71,0x75,
+0x12,0x78,0x75,0x13,0x24,0x75,0x14,0x32,0x75,0x15,0x6, 0x75,0x16,0x2, 0x75,0x17,
+0x78,0xc2,0x5, 0xc2,0x6, 0xc2,0x7, 0x75,0x6a,0x0, 0xc2,0xd, 0x75,0x6b,0x0, 0x75,
+0x5b,0x0, 0xc2,0x0, 0xc2,0x2, 0xc2,0x3, 0xd2,0x4, 0x75,0x5e,0xff,0x75,0x5f,0xff,
+0x75,0x60,0x0, 0x75,0x18,0x0, 0x75,0x19,0x0, 0x75,0x1e,0x0, 0xc2,0xf, 0x75,0x63,
+0x0, 0x75,0x64,0x0, 0x75,0x55,0x0, 0x75,0x56,0x0, 0x75,0x57,0x0, 0x75,0x58,0x0,
+0x75,0x59,0x0, 0x75,0x5a,0x0, 0x75,0x65,0x41,0x75,0x66,0x0, 0xc2,0x8, 0xc2,0xa,
+0xd2,0xb, 0x7e,0x4, 0x0, 0xff,0x7e,0x14,0x9d,0x1a,0xb, 0xa, 0x40,0x5d,0x44,0x68,
+0x1a,0x69,0x20,0x0, 0x2, 0xb, 0xe, 0xb, 0x44,0x80,0xa, 0x7e,0xb, 0xb0,0x7a,0x29,
+0xb0,0xb, 0x24,0xb, 0xc, 0x1b,0x44,0x78,0xf2,0x80,0xdf,0x2, 0x77,0x63,0x0, 0x10,
+0x1, 0x11,0x2, 0x12,0x3, 0x13,0x4, 0x14,0x5, 0x15,0x6, 0x16,0x7, 0x17,0x8, 0x18,
+0x9, 0x19,0xa, 0x1a,0xb, 0x1b,0xc, 0x1c,0xd, 0x1d,0xe, 0x1e,0xf, 0x1f,0x20,0x21,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x6, 0x9,
+0xc, 0xf, 0x12,0x15,0x18,0x1b,0x1e,0x1, 0x4, 0x7, 0xa, 0xd, 0x10,0x13,0x16,0x19,
+0x1c,0x1f,0x2, 0x5, 0x8, 0xb, 0xe, 0x11,0x14,0x17,0x1a,0x1d,0x20,0x80,0x0, 0x40,
+0x0, 0x2a,0xab,0x20,0x0, 0x19,0x9a,0x15,0x55,0x12,0x49,0x10,0x0, 0x1c,0x72,0x19,
+0x9a,0x17,0x46,0x15,0x55,0x13,0xb1,0x12,0x49,0x11,0x11,0x10,0x0, 0x1e,0x1e,0x1c,
+0x72,0x1a,0xf3,0x19,0x9a,0x18,0x62,0x17,0x46,0x16,0x43,0x15,0x55,0x14,0x7b,0x13,
+0xb1,0x12,0xf7,0x12,0x49,0x11,0xa8,0x11,0x11,0x10,0x84,0x10,0x0, 0x2, 0x2, 0x3,
+0x0, 0x5, 0x1, 0x6, 0x6, 0x40,0x10,0x10,0x10,0x10,0x40,0x12,0x0, 0x1, 0x2, 0x3,
+0x14,0x12,0x4, 0x5, 0x6, 0x7, 0x14,0x13,0x8, 0x9, 0xa, 0xb, 0x15,0x13,0xc, 0xd,
+0xe, 0xf, 0x15,0x40,0x11,0x11,0x11,0x11,0x40,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0xca,0xf8,0x7f,0x20,0x80,0xa, 0x7e,0x1b,0xf0,0x7a,0x2b,
+0xf0,0xb, 0x34,0xb, 0x54,0x69,0xff,0xff,0xfc,0x7d,0xef,0x1b,0xe4,0x79,0xef,0xff,
+0xfc,0x4d,0xff,0x78,0xe6,0x7f,0x10,0xda,0xf8,0x22,0x7d,0x43,0x7f,0x10,0x80,0x7,
+0x1b,0x44,0x7a,0xb, 0xb0,0xb, 0x14,0x4d,0x44,0x78,0xf5,0x22,0x7d,0x23,0xbe,0x24,
+0x0, 0x0, 0x48,0x3, 0x7d,0x32,0x22,0x6d,0x33,0x9d,0x32,0x22,0x7f,0x1, 0xbe,0x8,
+0x0, 0x0, 0x48,0x3, 0x7f,0x10,0x22,0x9f,0x11,0x9f,0x10,0x22,0x68,0x64,0x6f,0x2e,
+0x2e,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x1, 0x0, 0x4, 0x11,0x22,0x0, 0x0,
+0x0, 0x0, 0x0, 0x1, 0xf, 0xf6,0xff,0x0, 0x4, 0xb, 0xb2,0x0, 0x0, 0x0, 0x0, 0x0,
+0x14,0x0, 0x6d,0x5, 0x0, 0x5, 0x5c,0x5, 0xb8,0x6, 0x14,0x6, 0x70,0x6, 0xcc,0x7,
+0x28,0x7, 0x84,0x7, 0xe0,0x8, 0x3c,0x0, 0x1, 0xe, 0x89,0x0, 0x0, 0x1, 0xe, 0x8a,
+0x0, 0x0, 0xc, 0xe, 0xa9,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x2, 0xe, 0xb5,0x0, 0x0, 0x0, 0x18,0xe, 0xb7,0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x2, 0xe, 0xcf,0x0, 0x0, 0x0, 0x1, 0xe, 0xd1,0x0, 0x0, 0x2,
+0x11,0x4b,0x0, 0x0, 0x0, 0x8, 0x11,0x36,0x7f,0xff,0x7f,0xff,0x7f,0xff,0x7f,0xff,
+0x0, 0x2, 0xb, 0xb8,0x0, 0x0, 0x0, 0x2, 0xb, 0xbb,0xb, 0xbf,0x0, 0x1, 0xc, 0x80,
+0x0, 0x0, 0x1, 0xc, 0x9f,0x0, 0x0, 0x2, 0x10,0xd5,0x0, 0x0, 0x0, 0x2, 0x10,0xd7,
+0x0, 0x0, 0x0, 0x1, 0x10,0xd9,0x0, 0x0, 0x1, 0x10,0xda,0x0, 0x0, 0xa, 0x10,0xdb,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x10,0xe5,0x3, 0x4,
+0x0, 0x1, 0x10,0xe7,0x0, 0x0, 0x1, 0x10,0xe8,0x0, 0x0, 0x1, 0x10,0xef,0xff,0x0,
+0x1, 0x10,0xf0,0x0, 0x0, 0x1, 0x10,0xf1,0x0, 0x0, 0x2, 0x10,0x47,0x0, 0x0, 0x0,
+0x1, 0x10,0x4d,0xff,0x0, 0x2, 0x10,0x56,0x0, 0x0, 0x0, 0x1, 0x10,0x59,0x76,0x0,
+0x4, 0x10,0x5a,0x0, 0x0, 0x0, 0x20,0x0, 0x2, 0x10,0x5e,0x0, 0x0, 0x0, 0x1, 0x10,
+0x80,0x1, 0x0, 0x1, 0xe, 0x2, 0x0, 0x0, 0x1, 0x11,0x4d,0x0, 0x0, 0x4, 0x11,0x3e,
+0x0, 0x0, 0x14,0x0, 0x0, 0x4, 0x11,0x42,0x0, 0x0, 0x16,0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0x3, 0xe8,0xfc,0x17,0x6c,0x95,0x93,0x6a,0xbc,0x0, 0xff,0xff,0xff,0xff,0xff,0xff,
+0x1, 0x70,0x91,0x43,0x45,0x49,0x5f,0x45,0x53,0x57,0x31,0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x30,0x30,0x30,0x30,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x4, 0x16,0x0, 0x3, 0x0, 0x13,0x12,0x10,0xf, 0x14,0xe, 0xb,
+0xc, 0x1, 0x7, 0xa, 0x9, 0x2, 0x3, 0x5, 0x6, 0x11,0x4, 0x15,0x0, 0xd, 0x8, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xf, 0x10,0x10,0x21,0x21,0x26,0x26,
+0x0, 0x0, 0x1, 0x0, 0x0, 0x3, 0x0, 0x0, 0x1, 0x38,0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x3f,0x4,
+0x0, 0x0, 0x1b,0x1b,0x1b,0x1b,0x1d,0x1d,0x1f,0x1f,0x23,0x23,0x27,0x27,0x38,0x30,
+0x47,0xd0,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x3e,0x0, 0x5, 0xc, 0x5a,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x67,0x0, 0x1, 0x3, 0x64,0x1, 0x0, 0x4, 0x0, 0x11,0x12,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff,0xff,0x0, 0x0, 0xff,0xff,0xff,0xff,0xff,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x32,0x2, 0xbc,0x3, 0x84,0x5, 0xdc,0x1, 0xca,
+0x1, 0xca,0x0, 0x32,0x3, 0xe8,0xf, 0xa0,0x1, 0x2c,0x0, 0xa0,0x50,0x50,0x14,0x0,
+0x0, 0x5, 0x3, 0x0, 0xd1,0x0, 0xcd,0x0, 0x50,0x0, 0x50,0x6, 0x0, 0x0, 0xc, 0xc,
+0xc, 0xc, 0x0, 0x32,0x0, 0x0, 0x0, 0x64,0x1, 0x5e,0x0, 0x0, 0x0, 0x64,0x0, 0x32,
+0x0, 0x0, 0x0, 0x64,0x1, 0x5e,0x0, 0x0, 0x0, 0x64,0x0, 0x32,0x0, 0x32,0xa, 0xa,
+0xa, 0xa, 0x50,0x50,0x0, 0x0, 0x8, 0x6, 0x0, 0xd0,0x0, 0xcf,0x0, 0x50,0x0, 0x50,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x22,0x23,0x22,0x23,0x22,0x23,0x1, 0x3, 0x2, 0x3, 0x1,
+0x3, 0x1, 0x2, 0x3, 0x2, 0x1, 0x2, 0x0, 0x0, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x7,
+0x8, 0xa, 0xb, 0xd, 0xf, 0x12,0x15,0x18,0x1e,0x1e,0x1e,0x0, 0x0, 0x0, 0x2, 0x3,
+0x4, 0x6, 0x7, 0x9, 0xa, 0xe, 0x11,0x14,0x15,0x18,0x1b,0x21,0x27,0x29,0x29,0x0,
+0x0, 0x0, 0x0, 0xff,0xfe,0xfd,0xfb,0xfa,0xf8,0xf6,0xf5,0xf3,0xf1,0xef,0xe8,0xdf,
+0xd6,0xd6,0xd6,0x0, 0x0, 0x0, 0xff,0xfe,0xfd,0xfb,0xfa,0xf8,0xf6,0xf4,0xf2,0xf0,
+0xed,0xe9,0xe7,0xe4,0xe1,0xde,0xdb,0x22,0x22,0x22,0x22,0x23,0x23,0x23,0x23,0xff,
+0xff,0xff,0x22,0x22,0x22,0x22,0x23,0x23,0x23,0x23,0xff,0xff,0xff,0x22,0x22,0x22,
+0x22,0x23,0x23,0x23,0x23,0xff,0xff,0xff,0x22,0x22,0x22,0x22,0x23,0x23,0x23,0x23,
+0xff,0xff,0xff,0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
+0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
+0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xa4,0x3, 0xe8,0x36,0xb0,0xf, 0xa0,0x3, 0xe8,
+0x1e,0x0, 0xf, 0x4, 0x4, 0xf, 0x4, 0x4, 0xf, 0x4, 0x4, 0x1, 0x1, 0x0, 0x5, 0x5,
+0x6, 0x6, 0x3, 0xe8,0xb, 0xb8,0x7, 0xd0,0x3, 0x20,0xf, 0xa0,0x14,0x10,0xd, 0x4,
+0xa, 0x4, 0xa, 0x4, 0xc, 0x4, 0xf, 0x14,0x14,0x1e,0xf, 0x4, 0x0, 0x0, 0x7, 0xd0,
+0x0, 0x0, 0x27,0x10,0xe, 0x5, 0x0, 0x0, 0x7, 0xd0,0x0, 0x0, 0x27,0x10,0xd, 0x5,
+0x0, 0x0, 0x7, 0x8, 0x0, 0x0, 0x27,0x10,0xe, 0x5, 0x0, 0x50,0x0, 0xf0,0x1, 0x90,
+0x2, 0x30,0x3, 0x84,0xa, 0x5, 0x0, 0x50,0x0, 0x50,0x3, 0xe8,0x3, 0x20,0x0, 0x1e,
+0x0, 0xf, 0x0, 0x14,0x0, 0x78,0x0, 0x6a,0x0, 0x3c,0x3, 0xe8,0x0, 0x78,0x0, 0x3c,
+0x0, 0x3c,0x3, 0xe8,0x0, 0x5, 0x0, 0x5, 0x0, 0x64,0x0, 0xa0,0x0, 0xa0,0x13,0x88,
+0x0, 0xa0,0x1f,0xff,0xf7,0x1d,0x3b,0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x64,0x0, 0xc8,0x1, 0x2c,0x1f,0x40,0x9, 0xa,
+0x7, 0x8, 0xa, 0xc8,0x5, 0x9, 0x1e,0x8, 0x14,0x0, 0xb, 0xb8,0x3, 0xe8,0x5, 0xdc,
+0x3, 0x0, 0xb, 0xb8,0xd, 0x48,0xe, 0xd8,0x3, 0xa, 0xf, 0x14,0x0, 0x6, 0x3c,0x2,
+0x58,0x3, 0xdc,0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x70,0x8f,0x0, 0xff,0x91,0x6e,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43,0x45,0x49,0x5f,0x45,0x53,0x57,0x31,
+0x0, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x30,0x30,0x30,0x30,0x0, 0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
\ No newline at end of file
diff --git a/drivers/input/touchscreen/focaltech_3267/FTS_FW/CEI_ESW1_3267_0x92_app.i b/drivers/input/touchscreen/focaltech_3267/FTS_FW/CEI_ESW1_3267_0x92_app.i
new file mode 100644
index 0000000..d40eae8
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3267/FTS_FW/CEI_ESW1_3267_0x92_app.i
@@ -0,0 +1,2949 @@
+0x2, 0x9b,0x22,0x2, 0x56,0x97,0x20,0x93,0xfd,0x22,0x22,0x2, 0x0, 0x48,0x12,0x7e,
+0x8c,0x12,0x87,0x26,0xe4,0x12,0x87,0xa4,0x2, 0x84,0x14,0x2, 0x75,0x2d,0x75,0x5d,
+0x0, 0x75,0x5c,0x0, 0x7e,0xb3,0xd, 0x60,0xf5,0x91,0x22,0x2, 0x73,0x87,0x6c,0xaa,
+0xe4,0xa, 0x4a,0x19,0xb4,0xf, 0x19,0x19,0xb4,0xe, 0xeb,0xb, 0xa0,0xbe,0xa0,0x2e,
+0x40,0xee,0x22,0x2, 0x6f,0xf9,0x22,0x22,0x32,0xff,0xff,0x2, 0x69,0x8a,0xe5,0x4e,
+0x70,0x3, 0x2, 0x84,0x14,0x7e,0xb3,0xd, 0xf2,0x70,0x9, 0x7e,0xa3,0x0, 0xec,0xbe,
+0xa0,0x2, 0x40,0xb, 0x60,0xc, 0x7e,0x73,0x9, 0x24,0xbe,0x70,0x2, 0x50,0x3, 0x2,
+0x80,0x59,0x22,0x2, 0x7, 0xc6,0x7d,0x53,0x5e,0x54,0x0, 0x7, 0x7c,0xab,0x6c,0x55,
+0x7d,0x43,0x1e,0x44,0x1e,0x44,0x1e,0x44,0xbc,0xa5,0x28,0x2, 0xb, 0x44,0x7e,0x30,
+0x2, 0xac,0x35,0x7e,0x7f,0x11,0x42,0x2d,0xf1,0x2e,0xf4,0x0, 0x14,0xb, 0x7a,0x10,
+0x5e,0x14,0x0, 0x3f,0x1b,0x7a,0x10,0xbe,0x44,0x0, 0x1f,0x28,0x22,0xbe,0x44,0x3,
+0x64,0x28,0x4, 0x7e,0x44,0x3, 0x64,0x7d,0x14,0x9e,0x14,0x0, 0x20,0x7e,0x4, 0x0,
+0x1b,0x8d,0x10,0x7d,0x1, 0xb, 0x4, 0x7e,0x14,0x0, 0x5, 0xad,0x10,0x2d,0x41,0x7d,
+0x4, 0x3e,0x4, 0x3e,0x4, 0x3e,0x4, 0x3e,0x4, 0x3e,0x4, 0x3e,0x4, 0x7e,0x30,0x2,
+0xac,0x35,0x7e,0x7f,0x11,0x42,0x2d,0xf1,0x2e,0xf4,0x0, 0x14,0xb, 0x7a,0x10,0x4d,
+0x10,0x1b,0x7a,0x10,0xb, 0x50,0xbe,0x50,0x8, 0x40,0x85,0x22,0xff,0xff,0xff,0xff,
+0xb7,0xf8,0x48,0x7, 0x43,0xbc,0x9b,0x64,0x92,0x6d,0x3, 0xfc,0xff,0xff,0xff,0x0,
+0x3, 0xf8,0xfc,0x7, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0x7f,0x50,0x7e,0x34,0x0, 0x24,0x12,0x7f,0x22,0xbe,0xb0,0x9, 0x68,0x1a,0xbe,0xb0,
+0xa, 0x68,0x15,0xbe,0xb0,0x15,0x68,0x10,0xbe,0xb0,0x21,0x68,0xb, 0xbe,0xb0,0xff,
+0x68,0x6, 0xe4,0x12,0x82,0x64,0x80,0xfa,0xa9,0xc3,0xea,0x29,0xb5,0x0, 0x2, 0x54,
+0xf, 0xa, 0x3b,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x2, 0x7f,0x5, 0x12,0x46,0xc,
+0x6d,0x33,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x12,0x7e,0xf, 0x11,0x42,0x2e,0x14,
+0x0, 0x12,0xb, 0xa, 0x30,0x29,0xb5,0x0, 0x2, 0x54,0x30,0xa, 0x2b,0x3e,0x24,0x3e,
+0x24,0x3e,0x24,0x3e,0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0x12,0xb, 0xa, 0x30,
+0x4d,0x32,0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x18,0x30,0xe5,0x11,0x7e,0xf, 0x11,0x42,
+0x2e,0x14,0x0, 0x12,0xb, 0xa, 0x30,0x4e,0x60,0x7c,0x1b,0xa, 0x30,0x6d,0x33,0x7e,
+0xf, 0x11,0x42,0x79,0x30,0x0, 0x70,0x69,0x25,0x0, 0x11,0x5e,0x40,0x3, 0x7e,0xf,
+0x11,0x42,0x2e,0x14,0x0, 0x70,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x69,0x25,
+0x0, 0x11,0x5e,0x24,0xc, 0x0, 0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x7e,0xf,
+0x11,0x42,0x2e,0x14,0x0, 0x70,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x6d,0x33,
+0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x72,0x69,0x25,0x0, 0x15,0x5e,0x40,0x3, 0x7e,
+0xf, 0x11,0x42,0x2e,0x14,0x0, 0x72,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x69,
+0x55,0x0, 0x13,0x5e,0x54,0x0, 0x2, 0x3, 0x3, 0x54,0xc0,0x7c,0xab,0xe4,0x7e,0xf,
+0x11,0x42,0x2e,0x14,0x0, 0x72,0xb, 0xa, 0x30,0x4d,0x35,0x1b,0xa, 0x30,0x69,0x35,
+0x0, 0x13,0x5e,0x70,0xc0,0x1e,0x34,0x1e,0x34,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0,
+0x74,0x6d,0x33,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x76,0x29,0xb5,0x0, 0x18,0x1e,
+0xb0,0x1e,0xb0,0x54,0x1, 0xa, 0x2b,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0x76,0xb,
+0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x18,0x54,0x3, 0xa, 0x2b,0x3e,
+0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0x76,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa,
+0x30,0x29,0xb5,0x0, 0x18,0x54,0x18,0xa, 0x2b,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0,
+0x76,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x69,0x35,0x0, 0x19,0x7e,0xf, 0x11,
+0x42,0x79,0x30,0x0, 0x78,0x69,0x35,0x0, 0x1b,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0,
+0x7a,0x69,0x35,0x0, 0x1d,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x7c,0x69,0x35,0x0,
+0x1f,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x7e,0x69,0x35,0x0, 0x21,0x7e,0xf, 0x11,
+0x42,0x79,0x30,0x0, 0x80,0x69,0x35,0x0, 0x23,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0,
+0x82,0x69,0x35,0x0, 0x25,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x8a,0x6c,0x77,0x74,
+0x2, 0xac,0xb7,0x7f,0x5, 0x2d,0x15,0x69,0x20,0x0, 0x27,0x7e,0xf, 0x11,0x42,0x2d,
+0x15,0x79,0x20,0x0, 0x8c,0xb, 0x70,0xa5,0xbf,0xb, 0xe4,0x29,0x75,0x0, 0x4, 0x7c,
+0x47,0x6c,0x55,0x29,0x75,0x0, 0x3, 0xa, 0x37,0x2d,0x32,0x7e,0xf, 0x11,0x42,0x79,
+0x30,0x0, 0xa2,0x29,0x75,0x0, 0x6, 0x7c,0x47,0x29,0x75,0x0, 0x5, 0xa, 0x37,0x2d,
+0x32,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xa4,0x29,0x75,0x0, 0x8, 0x7c,0x47,0x29,
+0x75,0x0, 0x7, 0xa, 0x37,0x2d,0x32,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xa6,0x6d,
+0x33,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xa8,0x29,0x75,0x0, 0x9, 0xbe,0x70,0x0,
+0x7e,0xf, 0x11,0x42,0x28,0x2b,0x2e,0x14,0x0, 0xa8,0xb, 0xa, 0x30,0x4e,0x70,0x40,
+0x1b,0xa, 0x30,0x29,0x75,0x0, 0x9, 0xa, 0x27,0x1b,0x24,0x5e,0x24,0x0, 0x3f,0x7e,
+0xf, 0x11,0x42,0x2e,0x14,0x0, 0xa8,0xb, 0xa, 0x30,0x5e,0x70,0xc0,0x4d,0x32,0x80,
+0xa, 0x2e,0x14,0x0, 0xa8,0xb, 0xa, 0x30,0x4e,0x70,0x3f,0x1b,0xa, 0x30,0x29,0x75,
+0x0, 0xa, 0xbe,0x70,0x0, 0x7e,0xf, 0x11,0x42,0x28,0x2f,0x2e,0x14,0x0, 0xa8,0xb,
+0xa, 0x30,0x4e,0x60,0x40,0x1b,0xa, 0x30,0x29,0x75,0x0, 0xa, 0xa, 0x27,0x1b,0x24,
+0x5e,0x24,0x0, 0x3f,0x7c,0x45,0x6c,0x55,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xa8,
+0xb, 0xa, 0x30,0x5e,0x60,0xc0,0x4d,0x32,0x80,0xa, 0x2e,0x14,0x0, 0xa8,0xb, 0xa,
+0x30,0x4e,0x60,0x3f,0x1b,0xa, 0x30,0x7e,0x34,0xa0,0x1a,0x7e,0xf, 0x11,0x42,0x79,
+0x30,0x0, 0xaa,0x29,0x75,0x0, 0xb, 0xa, 0x27,0x5e,0x24,0x0, 0x3f,0x3e,0x24,0x3e,
+0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0,
+0xaa,0xb, 0xa, 0x30,0x5e,0x34,0xf0,0x3f,0x4d,0x32,0x1b,0xa, 0x30,0x7e,0x34,0x0,
+0x1, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xac,0xa9,0xd5,0xcb,0x75,0xfd,0x6, 0x7e,
+0x71,0xfe,0xa9,0xc5,0xcb,0x5e,0x70,0x30,0x1e,0x70,0x1e,0x70,0xa, 0x27,0x7e,0xf,
+0x11,0x42,0x2e,0x14,0x0, 0xac,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0xa9,0xc5,
+0xcb,0x29,0xb5,0x0, 0x2, 0x23,0x23,0x54,0x3, 0x14,0x68,0x17,0x14,0x68,0x24,0xb,
+0xb1,0x78,0x31,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xac,0xb, 0xa, 0x30,0x4e,0x70,
+0x80,0x80,0x1e,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xac,0xb, 0xa, 0x30,0x4e,0x70,
+0x40,0x80,0xe, 0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xac,0xb, 0xa, 0x30,0x4e,0x70,
+0x30,0x1b,0xa, 0x30,0x7e,0x34,0x10,0x0, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xae,
+0x29,0xb5,0x0, 0x18,0x54,0x3, 0x78,0x11,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,
+0xb, 0xa, 0x30,0x4e,0x70,0x1, 0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x1, 0x30,0xe5,0x11,
+0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x60,0x20,0x1b,0xa,
+0x30,0x29,0xb5,0x0, 0x1, 0x30,0xe6,0x11,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,
+0xb, 0xa, 0x30,0x4e,0x70,0x80,0x1b,0xa, 0x30,0x69,0x55,0x0, 0x11,0xa, 0x5a,0xc4,
+0x7d,0x35,0x5e,0x34,0x0, 0x1, 0x68,0x11,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,
+0xb, 0xa, 0x30,0x4e,0x60,0x1, 0x1b,0xa, 0x30,0x69,0x35,0x0, 0x13,0x5e,0x34,0x0,
+0x1, 0x68,0x11,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x60,
+0x2, 0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x1, 0x30,0xe7,0x11,0x7e,0xf, 0x11,0x42,0x2e,
+0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x60,0x4, 0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x17,
+0x30,0xe0,0x11,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x60,
+0x8, 0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x17,0x30,0xe1,0x11,0x7e,0xf, 0x11,0x42,0x2e,
+0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x60,0x80,0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x17,
+0x30,0xe2,0x11,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x60,
+0x40,0x1b,0xa, 0x30,0x7f,0x5, 0x12,0x73,0xf7,0x7f,0x5, 0x12,0x7e,0xbf,0x7e,0x34,
+0x1, 0x0, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xb0,0x7e,0x5b,0xb0,0x30,0xe6,0x11,
+0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x4e,0x70,0x2, 0x1b,0xa,
+0x30,0x29,0xb5,0x0, 0x1, 0x54,0x1f,0xa, 0x2b,0x3e,0x24,0x3e,0x24,0x7e,0xf, 0x11,
+0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x29,0x75,0x0,
+0x9e,0xa, 0x37,0x7d,0x23,0x7c,0x45,0x6c,0x55,0x3e,0x24,0x7e,0xf, 0x11,0x42,0x2e,
+0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,
+0x14,0x0, 0xb2,0xb, 0xa, 0x30,0x4e,0x70,0x1, 0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x18,
+0x54,0x3, 0xb4,0x1, 0x22,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb2,0xb, 0xa, 0x30,
+0x4e,0x70,0x2, 0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb2,0xb, 0xa,
+0x30,0x4e,0x70,0x4, 0x1b,0xa, 0x30,0x22,0x7e,0xb3,0x9, 0x25,0x54,0xe, 0x7a,0xb3,
+0x9, 0x25,0x7e,0xb3,0xd, 0x78,0x54,0x3, 0xa, 0x3b,0x3e,0x34,0x3e,0x34,0x3e,0x34,
+0x3e,0x34,0xb, 0x34,0x7e,0xb3,0xd, 0x75,0x54,0x1, 0xa, 0x2b,0x3e,0x24,0x3e,0x24,
+0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x2d,0x23,0x7e,0xb3,0xd, 0x79,0x54,0x1,
+0xa, 0x3b,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,
+0x2d,0x32,0x4e,0x73,0x9, 0x25,0x7a,0x73,0x9, 0x25,0x7e,0xb3,0xd, 0x76,0x54,0x1,
+0xa, 0x2b,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x7e,0xb3,0xd, 0x6c,
+0x54,0x1f,0xa, 0x3b,0x2d,0x32,0x7e,0xb3,0xd, 0x77,0x54,0x1, 0xa, 0x2b,0x3e,0x24,
+0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x2d,0x23,0x7e,0xb3,0xd, 0x7e,
+0x54,0x1, 0xa, 0x3b,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,
+0x3e,0x34,0x2d,0x32,0x7a,0x73,0x9, 0x26,0x7e,0xb3,0xd, 0x8c,0x54,0x3, 0xa, 0x2b,
+0x3e,0x24,0x3e,0x24,0x7e,0xb3,0xd, 0x8b,0x54,0x3, 0xa, 0x3b,0x2d,0x32,0x7a,0x73,
+0x9, 0x27,0x7e,0x34,0x15,0x99,0x7a,0x37,0x9, 0x36,0x7e,0x73,0xd, 0x7f,0xa, 0x37,
+0x2e,0x34,0xc, 0x0, 0x7a,0x37,0x9, 0x38,0x7e,0x73,0xd, 0x80,0xa, 0x37,0x3e,0x34,
+0x3e,0x34,0x7a,0x37,0x9, 0x3a,0x7e,0x73,0xd, 0x81,0xa, 0x37,0xb, 0x36,0x7a,0x73,
+0x9, 0x3c,0x7e,0xb3,0xd, 0x8d,0x54,0x1, 0xa, 0x2b,0x3e,0x24,0x3e,0x24,0x3e,0x24,
+0x7e,0xb3,0xd, 0x82,0x54,0x3, 0xa, 0x3b,0x2d,0x32,0x7e,0xb3,0xd, 0x8e,0x54,0x1,
+0xa, 0x2b,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x2d,0x23,0x7e,0xb3,0xd, 0x8a,
+0x54,0x1, 0xa, 0x3b,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x2d,0x32,
+0x7a,0x73,0x9, 0x3d,0x7e,0x37,0xd, 0x83,0x7a,0x37,0x9, 0x3e,0x7e,0x73,0xd, 0x85,
+0xa, 0x37,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x7a,0x37,0x9, 0x40,0x7e,0x73,
+0xd, 0x86,0xa, 0x37,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x7a,0x37,0x9, 0x42,
+0x7e,0x73,0xd, 0x87,0xa, 0x37,0x3e,0x34,0x3e,0x34,0x7a,0x37,0x9, 0x44,0x7e,0x73,
+0xd, 0x88,0xa, 0x37,0x3e,0x34,0x3e,0x34,0x7a,0x37,0x9, 0x46,0x7e,0x73,0xd, 0x89,
+0xa, 0x37,0x3e,0x34,0x3e,0x34,0x7a,0x37,0x9, 0x48,0x7e,0x73,0xd, 0x7b,0x7a,0x73,
+0x9, 0x30,0x7e,0x34,0x0, 0x8, 0xca,0x39,0x7e,0x18,0xd, 0x6d,0x7e,0x8, 0x9, 0x28,
+0x12,0x9c,0xb5,0x1b,0xfd,0x22,0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x2b,0xca,0x1b,
+0xca,0xb, 0xc0,0x83,0xc0,0x82,0xc2,0xc6,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb4,
+0xb, 0xa, 0x30,0x5e,0x70,0xfe,0x1b,0xa, 0x30,0xd2,0xb, 0x12,0x77,0xbb,0xd0,0x82,
+0xd0,0x83,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x5b,0xda,0x6b,0xda,0x7b,0x32,0xff,
+0xca,0x3b,0x7c,0xe7,0x7c,0xfb,0x75,0x44,0x0, 0x6c,0xcc,0x9f,0x22,0x7f,0x42,0x7f,
+0x52,0x7f,0x72,0x7e,0x37,0x1, 0xcb,0x7a,0x35,0x3a,0x7e,0xa0,0x5, 0xac,0xae,0x49,
+0x35,0x1, 0x66,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x7a,0x35,0x3c,0x49,0x35,
+0x1, 0x68,0x7d,0x43,0x3e,0x44,0x3e,0x44,0x3e,0x44,0x3e,0x44,0x7a,0x45,0x3e,0x7e,
+0xa0,0x5, 0xac,0xaf,0x49,0x25,0x1, 0x7c,0x7d,0x34,0x9d,0x32,0x12,0x9c,0xec,0x7d,
+0x13,0x7e,0xa0,0x5, 0xac,0xaf,0x49,0x25,0x1, 0x7a,0x7e,0x35,0x3c,0x9d,0x32,0x12,
+0x9c,0xec,0x2d,0x31,0x7a,0x35,0x40,0x7e,0xa0,0x5, 0xac,0xaf,0x9, 0xb5,0x1, 0x7e,
+0x7c,0xdb,0xbe,0xd0,0x2, 0x50,0x2, 0x1, 0x7b,0x6c,0xdd,0x7e,0xa0,0x4, 0xac,0xad,
+0x49,0x25,0xe, 0x91,0x7e,0x35,0x3e,0x9d,0x32,0x12,0x9c,0xec,0x7d,0x13,0x7e,0xa0,
+0x4, 0xac,0xad,0x49,0x25,0xe, 0x8f,0x7e,0x35,0x3c,0x9d,0x32,0x12,0x9c,0xec,0x2d,
+0x31,0x7d,0xc3,0x7e,0xa3,0xd, 0xa7,0x74,0x10,0xa4,0x7a,0x55,0x42,0x7e,0xb3,0x1,
+0x4d,0x70,0x2, 0xa1,0x45,0x7e,0xb3,0x1, 0x60,0x70,0x2, 0xa1,0x45,0x7e,0x35,0x40,
+0x6d,0x22,0x7e,0x33,0xa, 0xb0,0xa, 0x13,0x6d,0x0, 0x12,0x9a,0x60,0x7e,0x15,0x42,
+0x12,0x9a,0x7a,0x7d,0xd3,0x7e,0x53,0xa, 0xb1,0xa, 0xc5,0xbd,0xcd,0x38,0x2, 0x1,
+0xe3,0x7d,0xdc,0x7e,0xb3,0xd, 0xb8,0x60,0x2, 0xa1,0x35,0xf5,0x44,0x6c,0xcc,0x7e,
+0xa0,0x14,0xac,0xad,0x49,0x25,0x10,0x85,0x49,0x35,0x10,0x89,0xbd,0x32,0x68,0x2,
+0x21,0x10,0x49,0x25,0x10,0x87,0x49,0x35,0x10,0x8b,0xbd,0x32,0x78,0x2, 0xa1,0x20,
+0x7e,0x35,0x3e,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x6d,0x22,0x7f,0x71,0x7e,
+0xc7,0x1, 0xcb,0x7d,0x3c,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x7d,0x13,0x6d,
+0x0, 0xbf,0x7, 0x8, 0x2, 0x21,0x46,0x7e,0xb5,0x3a,0x7d,0x1b,0x9d,0x13,0x6d,0x0,
+0xbf,0x7, 0x48,0x2, 0x21,0x4b,0x75,0x4b,0x34,0x21,0x97,0x7d,0x3c,0x1e,0x34,0x1e,
+0x34,0x1e,0x34,0x7d,0x13,0x6d,0x0, 0xbf,0x7, 0x8, 0x2, 0x21,0x8f,0x7d,0x1b,0x9d,
+0x13,0x6d,0x0, 0xbf,0x7, 0x48,0x2, 0x21,0x6b,0x21,0x8f,0x7e,0x54,0x0, 0xc, 0x7d,
+0x9c,0x8d,0x95,0x7d,0x4b,0x1e,0x44,0x7d,0x14,0x9d,0x19,0x6d,0x0, 0xbf,0x7, 0x48,
+0x2, 0x21,0x94,0x7d,0x14,0x2d,0x19,0x6d,0x0, 0xbf,0x7, 0x18,0x2, 0x21,0x94,0x75,
+0x4b,0x20,0x21,0x97,0x75,0x4b,0x19,0x7e,0xa0,0x14,0xac,0xad,0x49,0x25,0x10,0x85,
+0x7e,0x35,0x3c,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x9d,0x32,0x12,0x9c,0xec,
+0x1a,0x26,0x1a,0x24,0x7f,0x51,0x7e,0xa0,0x14,0xac,0xad,0x49,0x25,0x10,0x87,0x7e,
+0x35,0x3e,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x9d,0x32,0x12,0x9c,0xec,0x1a,
+0x26,0x1a,0x24,0x7f,0x71,0x7d,0x2f,0x7d,0x3b,0x2d,0x32,0x7d,0xc3,0xbe,0xc4,0x0,
+0x7, 0x18,0x2, 0x41,0x47,0xbe,0x58,0x0, 0x0, 0x68,0x2, 0x21,0xf3,0x7f,0x15,0xb,
+0x1c,0x7f,0x51,0xbe,0x78,0x0, 0x0, 0x68,0x2, 0x41,0x1, 0x7f,0x17,0xb, 0x1c,0x7f,
+0x71,0x7e,0x14,0x0, 0x64,0x7f,0x17,0x12,0x9a,0x71,0x7f,0x5, 0x12,0x9a,0xcd,0x7f,
+0x41,0xe5,0x4b,0xa, 0x1b,0x6d,0x0, 0xbf,0x4, 0x18,0x2, 0x41,0x21,0xb, 0xc0,0x41,
+0x47,0xbe,0x48,0x0, 0x64,0x18,0x2, 0x41,0x47,0x7e,0x14,0x0, 0x64,0x7f,0x15,0x12,
+0x9a,0x71,0x7f,0x7, 0x12,0x9a,0xcd,0x7f,0x41,0xe5,0x4b,0xa, 0x1b,0x6d,0x0, 0xbf,
+0x4, 0x18,0x2, 0x41,0x47,0x5, 0x44,0x7e,0xa0,0x14,0xac,0xad,0x49,0x25,0x10,0x85,
+0x49,0x35,0x10,0x89,0x9d,0x32,0x12,0x9c,0xec,0x1a,0x26,0x1a,0x24,0x7f,0x51,0x7e,
+0xa0,0x14,0xac,0xad,0x49,0x25,0x10,0x87,0x49,0x35,0x10,0x8b,0x9d,0x32,0x12,0x9c,
+0xec,0x1a,0x26,0x1a,0x24,0x7f,0x71,0xbe,0x58,0x0, 0x0, 0x68,0x2, 0x41,0x85,0x7f,
+0x15,0xb, 0x1c,0x7f,0x51,0xbe,0x78,0x0, 0x0, 0x68,0x2, 0x41,0x93,0x7f,0x17,0xb,
+0x1c,0x7f,0x71,0x7e,0x14,0x0, 0x64,0x7f,0x17,0x12,0x9a,0x71,0x7f,0x5, 0x12,0x9a,
+0xcd,0x7f,0x41,0xe5,0x4b,0xa, 0x1b,0x6d,0x0, 0xbf,0x4, 0x18,0x2, 0x41,0xb3,0xb,
+0xc0,0x41,0xd9,0xbe,0x48,0x0, 0x64,0x18,0x2, 0x41,0xd9,0x7e,0x14,0x0, 0x64,0x7f,
+0x15,0x12,0x9a,0x71,0x7f,0x7, 0x12,0x9a,0xcd,0x7f,0x41,0xe5,0x4b,0xa, 0x1b,0x6d,
+0x0, 0xbf,0x4, 0x18,0x2, 0x41,0xd9,0x5, 0x44,0x7e,0xa0,0x14,0xac,0xad,0x49,0x35,
+0x10,0x8d,0x49,0x25,0x10,0x8f,0x49,0x15,0x10,0x85,0x49,0x5, 0x10,0x87,0x12,0x84,
+0x95,0x7d,0x23,0x7a,0x25,0x49,0xbd,0x2c,0x8, 0x2, 0xa1,0xc, 0xe5,0x4b,0xbe,0xb0,
+0x34,0x7f,0x14,0x50,0x2, 0x61,0x1a,0x2e,0x18,0x0, 0xf, 0x7d,0x1d,0x12,0x9a,0x71,
+0x2f,0x11,0x2f,0x11,0x7e,0x8, 0x0, 0x5a,0x61,0x2b,0x2e,0x18,0x0, 0xf, 0x7d,0x1d,
+0x12,0x9a,0x71,0x2f,0x11,0x2f,0x11,0x7e,0x8, 0x0, 0x4b,0x12,0x9a,0xcd,0x7f,0x41,
+0xe5,0x44,0x60,0x2, 0x81,0xaf,0x4c,0xcc,0x68,0x2, 0x81,0xaf,0x7e,0xa0,0x14,0xac,
+0xad,0x49,0x15,0x10,0x85,0x6d,0x0, 0x49,0x35,0x10,0x8d,0x6d,0x22,0x9f,0x10,0x7f,
+0x51,0x7d,0x3c,0x7d,0x2b,0x7e,0x15,0x49,0x12,0x85,0xcf,0x7d,0xf3,0x1a,0x36,0x1a,
+0xe6,0x7a,0x7d,0x45,0x7e,0xa0,0x14,0xac,0xad,0x49,0x15,0x10,0x85,0x6d,0x0, 0x7f,
+0x17,0x2f,0x10,0x7a,0x1d,0x45,0x7e,0xa0,0x5, 0xac,0xae,0x49,0x15,0x1, 0x66,0x6d,
+0x0, 0x7e,0x1d,0x45,0x2f,0x10,0x7a,0x1d,0x45,0x7e,0x7d,0x45,0xbe,0x78,0x0, 0x0,
+0x58,0x2, 0x61,0xb5,0x7e,0xa0,0x6, 0xac,0xad,0x49,0x35,0xe, 0xad,0x4d,0x33,0x68,
+0x2, 0x61,0xb5,0x7e,0x8, 0x0, 0x2, 0x7f,0x17,0x12,0x9a,0xcd,0x7e,0xa0,0x5, 0xac,
+0xae,0x59,0x35,0x1, 0x66,0x7e,0xa0,0x14,0xac,0xad,0x49,0x15,0x10,0x87,0x6d,0x0,
+0x7e,0xa0,0x14,0xac,0xad,0x49,0x35,0x10,0x8f,0x6d,0x22,0x9f,0x10,0x7f,0x71,0x7d,
+0x3c,0x7d,0x2f,0x7e,0x15,0x49,0x12,0x85,0xcf,0x1a,0x26,0x1a,0x24,0x7a,0x1d,0x45,
+0x7e,0xa0,0x14,0xac,0xad,0x49,0x15,0x10,0x87,0x6d,0x0, 0x7e,0x1d,0x45,0x2f,0x10,
+0x7a,0x1d,0x45,0x7e,0xa0,0x5, 0xac,0xae,0x49,0x15,0x1, 0x68,0x6d,0x0, 0x7e,0x1d,
+0x45,0x2f,0x10,0x7a,0x1d,0x45,0xbe,0x18,0x0, 0x0, 0x58,0x2, 0x81,0x30,0x7e,0xa0,
+0x6, 0xac,0xad,0x49,0x35,0xe, 0xad,0x4d,0x33,0x68,0x2, 0x81,0x30,0x7e,0x8, 0x0,
+0x2, 0x7e,0x1d,0x45,0x12,0x9a,0xcd,0x7e,0xa0,0x5, 0xac,0xae,0x59,0x35,0x1, 0x68,
+0x7e,0xa0,0x6, 0x7c,0x9d,0xac,0x9a,0x49,0x34,0xe, 0xa9,0x4d,0x33,0x68,0x2, 0x81,
+0x4d,0x7d,0x3b,0x59,0x34,0xe, 0xa9,0x7d,0x3f,0x59,0x34,0xe, 0xab,0x49,0x34,0xe,
+0xa9,0x1a,0x26,0x1a,0x24,0x7f,0x5, 0x12,0x9a,0x60,0xbe,0x18,0x0, 0x0, 0x58,0x2,
+0x81,0x77,0x49,0x34,0xe, 0xab,0x1a,0x26,0x1a,0x24,0x7f,0x7, 0x12,0x9a,0x60,0xbe,
+0x18,0x0, 0x0, 0x48,0x2, 0x81,0xaf,0x7e,0xa0,0x6, 0xac,0xad,0x49,0xc5,0xe, 0xad,
+0xbe,0xc4,0x0, 0x3, 0x48,0x2, 0x81,0x99,0x74,0x6, 0x7c,0x5d,0xac,0x5b,0x2e,0x24,
+0xe, 0xad,0x7d,0x3c,0xb, 0x34,0x1b,0x28,0x30,0x7d,0x3b,0x7e,0xa0,0x6, 0xac,0xad,
+0x59,0x35,0xe, 0xa9,0x7d,0x3f,0x7e,0xa0,0x6, 0xac,0xad,0x59,0x35,0xe, 0xab,0xe5,
+0x44,0xbe,0xb0,0x2, 0x50,0x2, 0x81,0xcb,0x7e,0xa0,0x6, 0x7c,0x9d,0xac,0x9a,0x49,
+0x24,0xe, 0xad,0xbe,0x24,0x0, 0x2, 0x58,0x2, 0x81,0xd0,0x75,0x44,0x0, 0x81,0xde,
+0x4d,0x22,0x68,0x2, 0x81,0xde,0x7e,0x34,0x0, 0x1, 0x59,0x34,0xe, 0xad,0xbe,0xc0,
+0x2, 0x50,0x2, 0x81,0xf8,0x7e,0xa0,0x6, 0x7c,0x9d,0xac,0x9a,0x49,0x24,0xe, 0xad,
+0xbe,0x24,0x0, 0x2, 0x58,0x2, 0x81,0xfc,0x6c,0xcc,0xa1,0x35,0x4d,0x22,0x68,0x2,
+0xa1,0x35,0x7e,0x34,0x0, 0x1, 0x59,0x34,0xe, 0xad,0xa1,0x35,0x7e,0x34,0x0, 0x2,
+0x7e,0xa0,0x6, 0xac,0xad,0x59,0x35,0xe, 0xad,0x75,0x44,0x0, 0x6c,0xcc,0xa1,0x35,
+0x6d,0xcc,0x7e,0xa0,0x6, 0x7c,0x9d,0xac,0x9a,0x59,0xc4,0xe, 0xa9,0x59,0xc4,0xe,
+0xab,0x59,0xc4,0xe, 0xad,0xbe,0xd4,0x0, 0x80,0x38,0x2, 0xa1,0x9f,0x7e,0x34,0x1,
+0x0, 0x7d,0xd3,0xa1,0x9f,0x7e,0xf5,0x42,0xbd,0xfc,0x28,0x2, 0xa1,0x50,0xa1,0x7a,
+0x7e,0x35,0x40,0x6d,0x22,0x7c,0x56,0x7c,0x67,0x6c,0x77,0x7d,0x1f,0x12,0x9a,0x7a,
+0x7d,0xd3,0xbe,0xd4,0x0, 0x10,0x40,0x2, 0xa1,0x72,0x7e,0x34,0x0, 0x10,0x7d,0xd3,
+0xa1,0x80,0xbe,0xd4,0x0, 0x80,0x38,0x2, 0xa1,0x80,0x7e,0x34,0x1, 0x0, 0x7d,0xd3,
+0x7e,0xa0,0x2, 0xac,0xad,0x49,0x35,0xe, 0x85,0xbd,0x3c,0x38,0x2, 0xa1,0x97,0x49,
+0x35,0xe, 0x8b,0x7d,0xd3,0xa1,0x9b,0x59,0xd5,0xe, 0x8b,0x59,0xc5,0xe, 0x85,0x7e,
+0xb3,0x1, 0x5f,0x70,0x2, 0xa1,0xe0,0x7e,0xb3,0x10,0xed,0x70,0x2, 0xa1,0xe0,0x7e,
+0x53,0x10,0xec,0xa5,0xbd,0x3, 0x2, 0x80,0x2, 0xa1,0xbf,0x6d,0x33,0xa1,0xd9,0xa5,
+0xbd,0x2, 0x2, 0x80,0x2, 0xa1,0xcd,0x7e,0x34,0x0, 0x8, 0xa1,0xd9,0xa5,0xbd,0x1,
+0x2, 0x80,0x2, 0xa1,0xe0,0x7d,0x3d,0x1e,0x34,0x7d,0xd3,0x75,0x44,0x0, 0x6c,0xcc,
+0x7e,0xa0,0x5, 0xac,0xae,0x49,0x35,0x1, 0x66,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,
+0x34,0x7a,0x35,0x3c,0x49,0x35,0x1, 0x68,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,
+0x7a,0x35,0x3e,0x7e,0xb3,0x1, 0x5e,0xb4,0x1, 0x2, 0x80,0x2, 0xc1,0x6f,0x7e,0x8,
+0x1, 0x12,0x7e,0x1f,0x3, 0x30,0x12,0x9a,0xcd,0x7d,0xc3,0xbe,0xc4,0x0, 0x5b,0x38,
+0x2, 0xc1,0x39,0x7d,0x3c,0x9e,0x34,0x0, 0x5b,0x7d,0xc3,0x7e,0x34,0x0, 0x3, 0xad,
+0x3c,0x1e,0x34,0x2e,0x34,0x0, 0x5b,0x7d,0xc3,0xbe,0xc4,0x0, 0x24,0x38,0x2, 0xc1,
+0x59,0x7d,0x3c,0x9e,0x34,0x0, 0x24,0x7d,0xc3,0xbe,0xc4,0x0, 0xff,0x38,0x2, 0xc1,
+0x5d,0x7e,0x34,0x0, 0xff,0x7d,0xc3,0xc1,0x5d,0x6d,0x33,0x7d,0xc3,0xbd,0xcd,0x40,
+0x2, 0xc1,0x6b,0x7d,0x3d,0x9d,0x3c,0x7d,0xd3,0xc1,0x6f,0x6d,0x33,0x7d,0xd3,0x7e,
+0xa0,0x5, 0xac,0xaf,0x49,0x25,0x1, 0x7a,0x7e,0x35,0x3c,0x9d,0x32,0x12,0x9c,0xec,
+0x7d,0xc3,0xe5,0x44,0x70,0x2, 0xc1,0xa3,0x7d,0x3c,0x6d,0x22,0x7f,0x4, 0x12,0x9a,
+0x60,0x74,0xa, 0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x7d,
+0xc3,0xc1,0xaf,0x7d,0x3c,0xad,0x3d,0x7c,0x76,0x7c,0x65,0xa, 0x24,0x7d,0xc3,0x7e,
+0xa0,0x5, 0xac,0xaf,0x49,0x5, 0x1, 0x7a,0xbe,0x5, 0x3c,0x7d,0x25,0x40,0x2, 0xc1,
+0xcb,0x2e,0x24,0x1, 0x7a,0x7d,0x30,0x2d,0x3c,0xc1,0xd3,0x2e,0x24,0x1, 0x7a,0x7d,
+0x30,0x9d,0x3c,0x1b,0x28,0x30,0x49,0x25,0x1, 0x7c,0x7e,0x35,0x3e,0x9d,0x32,0x12,
+0x9c,0xec,0x7d,0xc3,0x4c,0xcc,0x78,0x2, 0xe1,0x5, 0x7d,0x3c,0x6d,0x22,0x7f,0x4,
+0x12,0x9a,0x60,0x74,0xa, 0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,
+0xf4,0x7d,0xc3,0xe1,0x11,0x7d,0x3c,0xad,0x3d,0x7c,0x76,0x7c,0x65,0xa, 0x24,0x7d,
+0xc3,0x7e,0xa0,0x5, 0x7c,0x3f,0xac,0x3a,0x49,0x1, 0x1, 0x7c,0xbe,0x5, 0x3e,0x7d,
+0x21,0x40,0x2, 0xe1,0x2f,0x2e,0x24,0x1, 0x7c,0x7d,0x30,0x2d,0x3c,0xe1,0x37,0x2e,
+0x24,0x1, 0x7c,0x7d,0x30,0x9d,0x3c,0x1b,0x28,0x30,0x7e,0x35,0x3c,0x7e,0xa0,0x4,
+0xac,0xad,0x59,0x35,0xe, 0x8f,0x7e,0x35,0x3e,0x59,0x35,0xe, 0x91,0xda,0x3b,0x22,
+0xca,0xf8,0xc2,0xab,0x7e,0xf3,0xd, 0xf2,0x4c,0xff,0x78,0x6, 0x7e,0xb3,0x0, 0xec,
+0x60,0xa, 0x4c,0xff,0x68,0x19,0x7e,0xb3,0x9, 0x24,0x70,0x13,0x12,0x80,0x59,0x12,
+0x7c,0x43,0x12,0x84,0x62,0x12,0x87,0x6, 0x12,0x87,0x5d,0x74,0x1, 0x80,0x29,0x4c,
+0xff,0x78,0x9, 0x7e,0xb3,0x0, 0xec,0xbe,0xb0,0x1, 0x68,0xb, 0x4c,0xff,0x68,0x20,
+0x7e,0xb3,0x9, 0x24,0xb4,0x1, 0x19,0x12,0x80,0x59,0x12,0x7c,0x43,0x12,0x84,0x62,
+0x12,0x86,0xcf,0x12,0x87,0xe2,0x74,0x2, 0x12,0x82,0x64,0x12,0x87,0xc9,0x80,0x3b,
+0x4c,0xff,0x78,0x9, 0x7e,0xb3,0x0, 0xec,0xbe,0xb0,0x2, 0x68,0xb, 0x4c,0xff,0x68,
+0x2a,0x7e,0xb3,0x9, 0x24,0xb4,0x2, 0x23,0xd2,0xc, 0x12,0x7d,0xb6,0x80,0x19,0x12,
+0x86,0xcf,0x12,0x87,0xe2,0x7e,0x8, 0x9, 0x25,0x12,0x6b,0xa8,0x74,0x2, 0x12,0x82,
+0x64,0x7e,0x34,0x11,0x94,0x12,0x5f,0xf7,0x20,0xc, 0xe4,0x12,0x86,0x2c,0xd2,0xab,
+0x12,0x80,0xaf,0xe4,0x12,0x87,0xa4,0x12,0x84,0x14,0xda,0xf8,0x22,0xff,0xff,0xff,
+0xca,0x79,0xc2,0x10,0x6c,0x11,0x7e,0xb3,0x1, 0x4d,0x70,0x2, 0x1, 0x3f,0x7e,0xb3,
+0x10,0xb5,0xbe,0xb0,0x2, 0x78,0x2, 0x1, 0x24,0x7e,0xb3,0x10,0xb6,0xb4,0x2, 0x2,
+0x80,0x2, 0x1, 0x3f,0x7e,0x33,0x1, 0xb6,0xbe,0x30,0x1, 0x28,0x2, 0x1, 0x3f,0x7e,
+0x33,0x1, 0xb5,0xbe,0x30,0x1, 0x28,0x2, 0x1, 0x3f,0xe4,0x7a,0xb3,0x1, 0xb5,0x6c,
+0x22,0x7e,0x90,0x5, 0xac,0x92,0x49,0xf4,0x1, 0x66,0x4d,0xff,0x78,0x2, 0x1, 0x58,
+0xbe,0xf4,0x1, 0xc2,0x38,0x2, 0x1, 0x8e,0x7e,0xe4,0x1, 0xc4,0x59,0xe4,0x1, 0x66,
+0x7e,0x70,0x6, 0xac,0x72,0x49,0x23,0x1, 0x90,0x49,0x34,0x1, 0x68,0x9d,0x32,0x12,
+0x9c,0xec,0xbe,0x34,0x0, 0xf, 0x18,0x2, 0x1, 0xc7,0x7e,0x70,0x6, 0xac,0x72,0x49,
+0xe3,0x1, 0x90,0x7e,0x70,0x5, 0xac,0x72,0x59,0xe3,0x1, 0x68,0x1, 0xc7,0xbe,0xf4,
+0x0, 0x6, 0x28,0x2, 0x1, 0xc7,0x7e,0x34,0x0, 0x6, 0x59,0x34,0x1, 0x66,0xac,0x72,
+0x49,0x23,0x1, 0x90,0x49,0x34,0x1, 0x68,0x9d,0x32,0x12,0x9c,0xec,0xbe,0x34,0x0,
+0xf, 0x18,0x2, 0x1, 0xc7,0x7e,0x70,0x6, 0xac,0x72,0x49,0x43,0x1, 0x90,0x7e,0x70,
+0x5, 0xac,0x72,0x59,0x43,0x1, 0x68,0x7e,0x50,0x5, 0xac,0x52,0x49,0x32,0x1, 0x68,
+0xbe,0x34,0x1, 0xc9,0x68,0x2, 0x1, 0xe2,0x7e,0x33,0x2, 0x12,0xa, 0x33,0x59,0x32,
+0x1, 0x68,0xb, 0x20,0xa5,0xba,0x2, 0x2, 0x80,0x2, 0x1, 0x41,0x6c,0x22,0x7e,0x30,
+0xff,0x7e,0x70,0x5, 0xac,0x72,0x19,0x33,0x1, 0x6a,0x7c,0x2, 0x2e,0x0, 0x27,0x74,
+0xff,0xa5,0xf6,0x7e,0x24,0xff,0xff,0x7c,0xb2,0x3e,0xb0,0x24,0x23,0xa, 0x3b,0x1b,
+0x38,0x20,0x7c,0x2, 0x2e,0x0, 0x29,0xe4,0xa5,0xf6,0xb, 0x20,0xa5,0xba,0x2, 0xce,
+0x7e,0xb3,0x1, 0xb5,0x60,0x2, 0x21,0x65,0x7e,0x33,0x1, 0x4d,0x4c,0x33,0x78,0x2,
+0x21,0x3a,0x7e,0xb3,0x1, 0xb6,0x70,0x2, 0x21,0x4a,0xa5,0xbb,0x0, 0x2, 0x80,0x2,
+0x21,0x65,0x7e,0xb3,0x1, 0xb6,0x70,0x2, 0x21,0x65,0x6c,0x22,0x7e,0x44,0x7f,0xff,
+0x7e,0x70,0x6, 0xac,0x72,0x59,0x43,0x1, 0x8e,0x59,0x43,0x1, 0x90,0xb, 0x20,0xa5,
+0xba,0x2, 0xe9,0x81,0x57,0x7e,0xb3,0x1, 0xb6,0x60,0x2, 0x21,0xa4,0x6c,0x22,0x21,
+0x9a,0x7e,0x90,0x5, 0xac,0x92,0x49,0x34,0x1, 0x66,0x7e,0x50,0x6, 0xac,0x52,0x59,
+0x32,0x1, 0x8e,0x49,0x34,0x1, 0x68,0x59,0x32,0x1, 0x90,0x19,0x24,0x1, 0x6a,0x7c,
+0x2, 0x2e,0x0, 0x29,0x74,0x1, 0xa5,0xf6,0xb, 0x20,0x7e,0x33,0x1, 0xb5,0xbc,0x32,
+0x38,0xcf,0x81,0x57,0x6c,0x22,0x41,0x2, 0x6c,0xaa,0x7e,0x70,0x6, 0xac,0x7a,0x49,
+0x23,0x1, 0x90,0x7e,0x70,0x5, 0xac,0x72,0x49,0x33,0x1, 0x68,0x9d,0x32,0x12,0x9c,
+0xec,0x7d,0x43,0x7e,0x70,0x6, 0xac,0x7a,0x49,0x23,0x1, 0x8e,0x7e,0x70,0x5, 0xac,
+0x72,0x49,0x33,0x1, 0x66,0x9d,0x32,0x12,0x9c,0xec,0x2d,0x43,0x7c,0xb2,0x3e,0xb0,
+0x24,0x23,0xa, 0x3b,0xb, 0x38,0x20,0xbd,0x24,0x38,0x2, 0x21,0xf9,0x7c,0x2, 0x2e,
+0x0, 0x27,0x7c,0xba,0xa5,0xf6,0x1b,0x38,0x40,0xb, 0xa0,0xbe,0xa0,0x2, 0x78,0xaa,
+0xb, 0x20,0x7e,0x33,0x1, 0xb5,0xbc,0x32,0x38,0x9e,0x6c,0x22,0x41,0xde,0xd2,0x10,
+0x6c,0xaa,0x41,0x52,0xbc,0xa2,0x78,0x2, 0x41,0x50,0x7c,0xa, 0x2e,0x0, 0x27,0xa5,
+0xe6,0x7c,0x3b,0x7c,0x2, 0x2e,0x0, 0x27,0xa5,0xe6,0xbc,0xb3,0x68,0x2, 0x41,0x50,
+0x7c,0xba,0x3e,0xb0,0x24,0x23,0xa, 0x3b,0xb, 0x38,0x20,0x7c,0xb2,0x3e,0xb0,0x24,
+0x23,0xa, 0x3b,0xb, 0x38,0x30,0xbd,0x32,0x50,0x2, 0x41,0x50,0xc2,0x10,0x41,0x5a,
+0xb, 0xa0,0x7e,0x33,0x1, 0xb5,0xbc,0x3a,0x38,0xba,0x7e,0xb3,0x1, 0x4d,0x70,0x2,
+0x41,0xa0,0x7c,0x2, 0x2e,0x0, 0x27,0xa5,0xe6,0xa, 0x4b,0x9, 0xb4,0x10,0xb5,0xb4,
+0x2, 0x2, 0x80,0x2, 0x41,0x7a,0xc2,0x10,0x41,0xa0,0xb4,0x1, 0x2, 0x80,0x2, 0x41,
+0xa0,0x7e,0x33,0x1, 0xb5,0xbe,0x30,0x2, 0x50,0x2, 0x41,0x9e,0x7e,0x33,0x1, 0xb6,
+0xbe,0x30,0x2, 0x50,0x2, 0x41,0x9e,0xe4,0x19,0xb4,0x10,0xb5,0x41,0xa0,0xc2,0x10,
+0x20,0x10,0x2, 0x41,0xdc,0x7c,0x2, 0x2e,0x0, 0x27,0xa5,0xe6,0x7c,0x3b,0xbe,0x30,
+0x2, 0x40,0x2, 0x41,0xdc,0x7c,0x3, 0x2e,0x0, 0x29,0x74,0x1, 0xa5,0xf6,0x7e,0x70,
+0x5, 0xac,0x72,0x19,0x33,0x1, 0x6a,0x49,0x43,0x1, 0x66,0x7e,0x50,0x6, 0xac,0x53,
+0x59,0x42,0x1, 0x8e,0x49,0x33,0x1, 0x68,0x59,0x32,0x1, 0x90,0xb, 0x20,0x7e,0x3,
+0x1, 0xb5,0xbc,0x2, 0x28,0x2, 0x41,0xe, 0x6c,0x22,0x61,0x4e,0x7e,0x70,0x5, 0xac,
+0x72,0x9, 0xb3,0x1, 0x6a,0xb4,0xff,0x2, 0x80,0x2, 0x61,0x4c,0x6c,0xaa,0x7c,0xa,
+0x2e,0x0, 0x29,0xa5,0xe6,0x60,0x2, 0x61,0x45,0x7e,0xb3,0x1, 0x4d,0x70,0x2, 0x61,
+0x21,0xa, 0x3a,0x9, 0xb3,0x10,0xb5,0x60,0x2, 0x61,0x1d,0x61,0x21,0xb, 0x10,0x61,
+0x45,0x74,0x1, 0xa5,0xf6,0x7e,0x90,0x5, 0xac,0x92,0x49,0x34,0x1, 0x66,0x7e,0x50,
+0x6, 0xac,0x5a,0x59,0x32,0x1, 0x8e,0x49,0x34,0x1, 0x68,0x59,0x32,0x1, 0x90,0x19,
+0xa4,0x1, 0x6a,0x61,0x4c,0xb, 0xa0,0xbe,0xa0,0x2, 0x40,0xb2,0xb, 0x20,0x7e,0x33,
+0x1, 0xb5,0xbc,0x32,0x38,0x96,0x7e,0xb3,0x1, 0x4d,0x70,0x2, 0x81,0x33,0x4c,0x11,
+0x78,0x2, 0x61,0xa0,0x4c,0x33,0x78,0x2, 0x61,0xa0,0xbc,0x31,0x50,0x2, 0x61,0xa0,
+0x7e,0x33,0x1, 0x6a,0xbe,0x30,0x2, 0x50,0x2, 0x61,0x96,0x7e,0x33,0x1, 0x6f,0xbe,
+0x30,0x2, 0x40,0x2, 0x61,0x96,0x7e,0x1f,0x1, 0x6c,0x7e,0x33,0x1, 0x6b,0x7a,0x1f,
+0x1, 0x67,0x7a,0x33,0x1, 0x66,0x7e,0xb3,0x1, 0xb5,0x9c,0xb1,0x7a,0xb3,0x1, 0xb5,
+0x7e,0x33,0x1, 0xb6,0xbe,0x33,0x1, 0xb5,0x38,0x2, 0x81,0x2a,0x6c,0x22,0x7c,0x12,
+0x2e,0x10,0x29,0xa5,0xe7,0x60,0x2, 0x81,0x1b,0x7e,0xf0,0x6, 0xac,0xf2,0x49,0xf7,
+0x1, 0x8e,0xbe,0xf4,0x7f,0xff,0x78,0x2, 0x81,0x1b,0xa, 0x42,0x9, 0x74,0x10,0xb5,
+0xbe,0x70,0x2, 0x40,0x2, 0x81,0x1b,0x49,0x27,0x1, 0x90,0xbe,0x27,0x1, 0xcb,0x40,
+0x2, 0x81,0x1b,0x9, 0xb4,0x10,0xb1,0x70,0x2, 0x81,0x1b,0x74,0x1, 0xa5,0xf7,0x7e,
+0x33,0x1, 0xb5,0x7c,0xa3,0x7e,0x10,0x5, 0xac,0x1a,0x59,0xf0,0x1, 0x66,0x59,0x20,
+0x1, 0x68,0x19,0x20,0x1, 0x6a,0x7d,0x4, 0x2e,0x4, 0x10,0xb5,0x7c,0xb7,0x4, 0x7a,
+0x9, 0xb0,0x7c,0xb3,0x4, 0x7a,0xb3,0x1, 0xb5,0x81,0x22,0xe4,0xa, 0x42,0x19,0xb4,
+0x10,0xb5,0xb, 0x20,0xa5,0xba,0x2, 0x86,0x81,0x33,0xe4,0x7a,0xb3,0x10,0xb5,0x7a,
+0xb3,0x10,0xb6,0x6c,0x22,0x7c,0x12,0x2e,0x10,0x29,0xa5,0xe7,0x60,0x2, 0x81,0x51,
+0x7e,0x44,0x7f,0xff,0x7e,0x70,0x6, 0xac,0x72,0x59,0x43,0x1, 0x8e,0x59,0x43,0x1,
+0x90,0xb, 0x20,0xa5,0xba,0x2, 0xde,0x7e,0xa3,0x1, 0xb5,0x6c,0x22,0x7c,0x12,0x2e,
+0x10,0x29,0xa5,0xe7,0xb4,0x1, 0x2, 0x80,0x2, 0x81,0x8b,0x7e,0x10,0x6, 0xac,0x12,
+0x9, 0xb0,0x1, 0x92,0xbe,0xb0,0x3, 0x78,0x2, 0x81,0x82,0xb4,0x1, 0x2, 0x80,0x2,
+0x81,0x86,0x6c,0x33,0x81,0xbb,0x7e,0x30,0x2, 0x81,0xbb,0x7e,0x10,0x6, 0xac,0x12,
+0x9, 0xb0,0x1, 0x92,0xbe,0xb0,0x2, 0x78,0x2, 0x81,0x9f,0x60,0x2, 0x81,0xb8,0x7e,
+0x30,0x1, 0xbe,0xa0,0x2, 0x40,0x2, 0x81,0xbb,0x7c,0xa, 0xb, 0xa0,0x7e,0x10,0x5,
+0xac,0x1, 0x19,0x20,0x1, 0x6a,0x81,0xbb,0x7e,0x30,0x3, 0xbe,0x30,0xff,0x78,0x2,
+0x81,0xcb,0x7e,0x10,0x6, 0xac,0x12,0x19,0x30,0x1, 0x93,0xb, 0x20,0xbe,0x20,0x2,
+0x40,0x8b,0xda,0x79,0x22,0xca,0x3b,0x20,0x6, 0x2, 0xe1,0xc9,0x7e,0xa3,0x1, 0xb5,
+0x7a,0xa1,0x26,0x7e,0xb3,0x1, 0xb6,0xf5,0x27,0x7e,0x77,0x9, 0x14,0x7e,0x67,0x9,
+0x16,0x7e,0xb3,0x9, 0x12,0xf5,0x24,0x7e,0xb3,0x9, 0x13,0xf5,0x25,0x7e,0x37,0x1,
+0xc9,0x7a,0x35,0x34,0x7e,0x37,0x1, 0xcb,0x7a,0x35,0x36,0x4c,0xaa,0x78,0x4, 0xc2,
+0x7, 0xe1,0xc9,0xe5,0x26,0xbe,0xb0,0x1, 0x38,0x2, 0xa1,0xc5,0x75,0x23,0x0, 0xa1,
+0xb8,0x7e,0xa1,0x23,0x74,0x5, 0xa4,0x49,0x45,0x1, 0x66,0x7a,0x45,0x30,0x49,0x35,
+0x1, 0x68,0x7a,0x35,0x32,0x7e,0x73,0x9, 0x64,0xbe,0x70,0x0, 0x28,0x10,0x7e,0x35,
+0x34,0xbe,0x35,0x30,0x28,0x70,0x7e,0x35,0x36,0xbe,0x35,0x32,0x28,0x68,0x7e,0x35,
+0x30,0x7d,0x27,0x12,0x87,0xb8,0x7a,0x35,0x38,0x7e,0x35,0x32,0x7d,0x27,0x12,0x87,
+0xb8,0x7d,0x23,0x7a,0x25,0x3a,0x7e,0x35,0x38,0x12,0x81,0x2, 0x7a,0x35,0x28,0xbd,
+0x36,0x28,0x43,0x7a,0x65,0x2a,0x7e,0x35,0x28,0xbe,0x34,0x0, 0x1, 0x50,0x7, 0x7e,
+0x34,0x0, 0x1, 0x7a,0x35,0x28,0x7e,0x35,0x38,0x7e,0x25,0x2a,0x7e,0x15,0x28,0x7d,
+0x7, 0x12,0x83,0xc5,0x7e,0xa1,0x23,0x74,0x5, 0xa4,0x59,0x35,0x1, 0x66,0x7e,0x35,
+0x3a,0x7e,0x25,0x2a,0x7e,0x15,0x28,0x7d,0x7, 0x12,0x83,0xc5,0x7e,0xa1,0x23,0x74,
+0x5, 0xa4,0x59,0x35,0x1, 0x68,0x5, 0x23,0xe5,0x26,0xbe,0xb1,0x23,0x28,0x2, 0xa1,
+0x21,0xc2,0x7, 0xe1,0xc9,0xe5,0x26,0xb4,0x1, 0x67,0xe5,0x27,0x70,0x63,0x7e,0x37,
+0x1, 0x66,0x7a,0x35,0x30,0x7e,0x37,0x1, 0x68,0x7a,0x35,0x32,0x7e,0x73,0x9, 0x64,
+0xbe,0x70,0x0, 0x28,0x14,0x7e,0x35,0x34,0xbe,0x35,0x30,0x28,0x8, 0x7e,0x35,0x36,
+0xbe,0x35,0x32,0x38,0x4, 0xc2,0x7, 0xe1,0xc9,0x7e,0x35,0x30,0x7d,0x27,0x12,0x87,
+0xb8,0x7a,0x35,0x38,0x7e,0x35,0x32,0x7d,0x27,0x12,0x87,0xb8,0x7d,0x23,0x7a,0x25,
+0x3a,0x7e,0x35,0x38,0x12,0x81,0x2, 0x7a,0x35,0x28,0x7a,0x35,0x2a,0x7e,0x25,0x38,
+0x7a,0x27,0x8, 0xfa,0x7e,0x25,0x3a,0x7a,0x27,0x8, 0xfc,0x7a,0x37,0x8, 0xfe,0xe1,
+0x36,0xe5,0x26,0xb4,0x1, 0x2, 0x80,0x2, 0xe1,0x36,0x7e,0x37,0x1, 0x66,0x7a,0x35,
+0x30,0x7e,0x37,0x1, 0x68,0x7a,0x35,0x32,0x7e,0x73,0x9, 0x64,0xbe,0x70,0x0, 0x28,
+0x14,0x7e,0x35,0x34,0xbe,0x35,0x30,0x28,0x8, 0x7e,0x35,0x36,0xbe,0x35,0x32,0x38,
+0x4, 0xc2,0x7, 0xe1,0xc9,0x7e,0x35,0x30,0x7d,0x27,0x12,0x87,0xb8,0x7a,0x35,0x38,
+0x7e,0x35,0x32,0x7d,0x27,0x12,0x87,0xb8,0x7d,0x23,0x7a,0x25,0x3a,0x7e,0x35,0x38,
+0x12,0x81,0x2, 0x7a,0x35,0x28,0x9e,0x37,0x9, 0xa, 0x12,0x9c,0xec,0x7a,0x35,0x2c,
+0x7e,0x35,0x38,0x9e,0x37,0x8, 0xfa,0x7e,0x25,0x3a,0x9e,0x27,0x8, 0xfc,0x12,0x81,
+0x2, 0x7a,0x35,0x2e,0x7e,0x37,0x9, 0x1a,0xbe,0x35,0x2e,0x50,0x28,0x7e,0x35,0x28,
+0x9e,0x37,0x8, 0xfe,0x12,0x9c,0xec,0x7e,0xa1,0x24,0x74,0x5, 0xa4,0xbd,0x35,0x58,
+0xc, 0x7e,0xa0,0x2, 0xe5,0x24,0xa4,0xf5,0x24,0xd2,0x7, 0x80,0x8, 0x7e,0xb3,0x9,
+0x12,0xf5,0x24,0xc2,0x7, 0x30,0x7, 0x30,0xe5,0x24,0xa, 0x3b,0xbe,0x35,0x2c,0x28,
+0x4, 0x6d,0x33,0x80,0x27,0xe5,0x25,0xa, 0x3b,0xbe,0x35,0x2c,0x28,0x14,0x7e,0x25,
+0x2c,0x7e,0x34,0x0, 0x64,0xad,0x23,0xe5,0x25,0xa, 0x1b,0x6d,0x0, 0x12,0x9a,0x7c,
+0x80,0xa, 0x7e,0x34,0x0, 0x64,0x80,0x4, 0x7e,0x34,0x0, 0x64,0x7a,0x35,0x2c,0x7e,
+0xf7,0x9, 0xa, 0x7d,0x1f,0x6d,0x0, 0x7e,0x35,0x28,0x6d,0x22,0x9f,0x10,0x7e,0x15,
+0x2c,0x12,0x9a,0x71,0x7e,0x8, 0x0, 0x64,0x12,0x9a,0xcd,0x7f,0x1, 0x7d,0x3f,0x6d,
+0x22,0x2f,0x10,0x7a,0x35,0x2a,0x7e,0x35,0x2a,0xbd,0x36,0x38,0x7, 0x7e,0x25,0x28,
+0xbd,0x26,0x28,0x5, 0x7a,0x65,0x2a,0x80,0xb, 0xbe,0x34,0x0, 0x1, 0x50,0x5, 0x6d,
+0x33,0x7a,0x35,0x2a,0x7e,0x35,0x28,0xbe,0x34,0x0, 0x1, 0x50,0x7, 0x7e,0x34,0x0,
+0x1, 0x7a,0x35,0x28,0x7e,0x35,0x38,0x7e,0x25,0x2a,0x7e,0x15,0x28,0x7d,0x7, 0x12,
+0x83,0xc5,0x7a,0x37,0x1, 0x66,0x7e,0x35,0x3a,0x7e,0x25,0x2a,0x7e,0x15,0x28,0x7d,
+0x7, 0x12,0x83,0xc5,0x7d,0x23,0x7a,0x27,0x1, 0x68,0x7e,0x37,0x1, 0x66,0x7a,0x35,
+0x30,0x7a,0x25,0x32,0x7d,0x27,0x12,0x87,0xb8,0x7a,0x35,0x38,0x7e,0x35,0x32,0x7d,
+0x27,0x12,0x87,0xb8,0x7a,0x35,0x3a,0x7e,0x35,0x2a,0x7a,0x37,0x9, 0xa, 0x7e,0x27,
+0x9, 0x1a,0xbe,0x25,0x2e,0x50,0x12,0x7e,0x25,0x38,0x7a,0x27,0x8, 0xfa,0x7e,0x25,
+0x3a,0x7a,0x27,0x8, 0xfc,0x7a,0x37,0x8, 0xfe,0xda,0x3b,0x22,0x7e,0xb3,0xf, 0xa5,
+0xb4,0x1, 0x2, 0xc3,0x22,0x53,0xca,0xe1,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xaa,
+0xb, 0xa, 0x30,0x5e,0x60,0x3f,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0,
+0xac,0xb, 0xa, 0x30,0x5e,0x70,0xfc,0x1b,0xa, 0x30,0x75,0xcf,0x1f,0xd3,0x22,0xff,
+0xca,0x3b,0x7e,0xe3,0x1, 0xb5,0x7e,0xf7,0x1, 0xc9,0x7e,0xe7,0x1, 0xcb,0x4c,0xee,
+0x68,0x2, 0x1, 0x2e,0x6c,0xff,0xe4,0xa, 0x3f,0x19,0xb3,0x10,0xb3,0x19,0xb3,0x10,
+0xb1,0x19,0xb3,0x10,0xb5,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xea,0x81,0x6a,0x6c,0xff,
+0x7e,0x90,0x6, 0xac,0x9f,0x49,0x34,0x1, 0x8e,0xbe,0x34,0x7f,0xff,0x68,0x2, 0x1,
+0x52,0xe4,0xa, 0x2f,0x19,0xb2,0x10,0xb3,0x19,0xb2,0x10,0xb1,0x19,0xb2,0x10,0xb5,
+0x21,0x26,0xa, 0x2f,0x9, 0xb2,0x10,0xb5,0x60,0x2, 0x21,0x26,0x74,0x2, 0xac,0xbf,
+0x59,0x35,0x10,0xa9,0x49,0x44,0x1, 0x90,0x59,0x45,0x10,0xad,0x49,0x35,0x10,0xa9,
+0x49,0x25,0x10,0xad,0x74,0x14,0xac,0xbf,0x49,0x15,0x10,0x8d,0x49,0x5, 0x10,0x8f,
+0x12,0x84,0x95,0x7d,0xd3,0x74,0x14,0xac,0xbf,0x49,0x35,0x10,0x8d,0x49,0x25,0x10,
+0x8f,0x49,0x15,0x10,0x81,0x49,0x5, 0x10,0x83,0x12,0x84,0x95,0x7d,0xc3,0xa, 0x3f,
+0x9, 0x53,0x10,0xb3,0xbe,0x50,0x2, 0x50,0x2, 0x21,0x21,0x74,0x2, 0xac,0xbf,0x49,
+0x45,0x10,0xa9,0x7d,0x1f,0x1e,0x14,0x1e,0x14,0x1e,0x14,0xbd,0x14,0x28,0x2, 0x1,
+0xe9,0x7d,0x2f,0x9d,0x21,0xbd,0x24,0x50,0x2, 0x1, 0xe9,0x49,0x15,0x10,0xad,0x7d,
+0xe, 0x1e,0x4, 0x1e,0x4, 0x1e,0x4, 0x1e,0x4, 0xbd,0x1, 0x28,0x2, 0x1, 0xe9,0x7d,
+0x2e,0x9d,0x20,0xbd,0x21,0x40,0x2, 0x1, 0xfd,0x7e,0x17,0x1, 0xc9,0x7e,0x4, 0x0,
+0xa, 0x8d,0x10,0xbd,0x1d,0x40,0x2, 0x1, 0xfd,0x74,0x1, 0x21,0x22,0x7e,0x17,0x1,
+0xc9,0x7e,0x44,0x0, 0xa, 0x7d,0x51,0x8d,0x54,0xbd,0x5d,0x40,0x2, 0x21,0x1e,0x7e,
+0x4, 0x0, 0x6, 0x8d,0x10,0xbd,0x1c,0x40,0x2, 0x21,0x1e,0xe4,0x21,0x22,0xe4,0x21,
+0x22,0xe4,0x19,0xb3,0x10,0xb1,0xb, 0xf0,0xbe,0xf0,0x2, 0x68,0x2, 0x1, 0x30,0x6c,
+0xff,0x81,0x64,0x74,0x5, 0xac,0xbf,0x9, 0xd5,0x1, 0x88,0x49,0xd5,0x1, 0x84,0x49,
+0xc5,0x1, 0x86,0xa, 0x3d,0x9, 0xb3,0x10,0xb3,0x60,0x2, 0x21,0x6a,0x6c,0xcc,0x7e,
+0x50,0x14,0xac,0x5d,0x7e,0x70,0x4, 0xac,0x7c,0x2d,0x32,0x59,0xd3,0x10,0x81,0x59,
+0xc3,0x10,0x83,0xb, 0xc0,0xbe,0xc0,0x5, 0x78,0xe5,0xa, 0x3d,0x9, 0xb3,0x10,0xb3,
+0xbe,0xb0,0x5, 0x40,0x2, 0x21,0x81,0xa, 0x3d,0x2e,0x34,0x10,0xb3,0x4, 0x7a,0x39,
+0xb0,0xa, 0x3d,0x9, 0x13,0x10,0xb3,0xbe,0x10,0x1, 0x38,0x2, 0x41,0x4e,0xa, 0x3d,
+0x9, 0xb3,0x10,0xb5,0x60,0x2, 0x41,0x4e,0x7e,0xb3,0x1, 0x4d,0x70,0x2, 0x21,0xd2,
+0x7e,0xb3,0x1, 0x61,0x70,0x2, 0x21,0xd2,0x74,0x14,0xac,0xbd,0x49,0x35,0x10,0x91,
+0x49,0x25,0x10,0x8d,0x2d,0x23,0x7a,0x25,0x23,0x49,0x15,0x10,0x93,0x49,0x35,0x10,
+0x8f,0x2d,0x31,0x7a,0x35,0x25,0x1e,0x24,0x2d,0xd2,0x1e,0xd4,0x1e,0x34,0x2d,0xc3,
+0x1e,0xc4,0x74,0x14,0xac,0xbd,0x49,0x25,0x10,0x89,0x7d,0x3d,0x9d,0x32,0x12,0x9c,
+0xec,0x7a,0x35,0x23,0x74,0x14,0xac,0xbd,0x49,0x25,0x10,0x8b,0x7d,0x3c,0x9d,0x32,
+0x12,0x9c,0xec,0x7a,0x35,0x25,0x7e,0x24,0x0, 0xa, 0x7d,0x3f,0x8d,0x32,0xbe,0x35,
+0x23,0x50,0x2, 0x41,0xc, 0xbe,0x35,0x25,0x40,0x2, 0x41,0x2c,0x7e,0x30,0x14,0xac,
+0x3d,0x7d,0x31,0x2e,0x34,0x10,0x89,0x2e,0x14,0x10,0x85,0x74,0x4, 0x12,0x9b,0x1,
+0x74,0x14,0xac,0xbd,0x59,0xd5,0x10,0x89,0x59,0xc5,0x10,0x8b,0x7e,0x30,0x14,0xac,
+0x3d,0x7d,0x31,0x2e,0x34,0x10,0x8d,0x2e,0x14,0x10,0x91,0x74,0x4, 0x12,0x9b,0x1,
+0x74,0x14,0xac,0xbd,0x59,0xd5,0x10,0x8d,0x59,0xc5,0x10,0x8f,0x81,0x56,0xa, 0x3d,
+0x9, 0xb3,0x10,0xb5,0x70,0x2, 0x81,0x56,0xbe,0x10,0x3, 0x50,0x2, 0x81,0x56,0xa,
+0x3d,0x9, 0xb3,0x10,0xb1,0x70,0x2, 0x81,0x56,0x74,0x14,0xac,0xbd,0x49,0x25,0x10,
+0x81,0x49,0x35,0x10,0x8d,0x9d,0x32,0x12,0x9c,0xec,0xb, 0x34,0x7a,0x35,0x23,0x74,
+0x14,0xac,0xbd,0x49,0x25,0x10,0x83,0x49,0x35,0x10,0x8f,0x9d,0x32,0x12,0x9c,0xec,
+0xb, 0x34,0x7a,0x35,0x25,0x7e,0x24,0x0, 0xa, 0x7d,0x3f,0x8d,0x32,0xbe,0x35,0x23,
+0x38,0x2, 0x41,0xab,0xbe,0x35,0x25,0x28,0x2, 0x81,0x56,0x74,0x14,0xac,0xbd,0x49,
+0x35,0x10,0x8d,0x49,0x25,0x10,0x8f,0x49,0x15,0x10,0x85,0x49,0x5, 0x10,0x87,0x12,
+0x84,0x95,0xb, 0x34,0x6d,0x22,0x7a,0x1d,0x2b,0x74,0x14,0xac,0xbd,0x49,0x35,0x10,
+0x85,0x49,0x25,0x10,0x87,0x74,0x2, 0xac,0xbd,0x49,0x15,0x10,0xa9,0x49,0x5, 0x10,
+0xad,0x12,0x84,0x95,0x6d,0x22,0x7a,0x1d,0x27,0x74,0x14,0xac,0xbd,0x49,0xa5,0x10,
+0x87,0x49,0xb5,0x10,0x8f,0x9d,0xba,0x7d,0x2b,0x7e,0xd, 0x2b,0x12,0x85,0xcf,0x7d,
+0xb3,0x1a,0x36,0x1a,0xa6,0x74,0x14,0xac,0xbd,0x49,0x35,0x10,0x87,0x6d,0x22,0x2f,
+0x51,0x49,0x35,0x10,0x8f,0x9f,0x51,0x49,0x85,0x10,0x85,0x49,0x95,0x10,0x8d,0x9d,
+0x98,0x7e,0x1d,0x27,0x7d,0x29,0x7e,0xd, 0x2b,0x12,0x85,0xcf,0x7d,0x93,0x1a,0x36,
+0x1a,0x86,0x74,0x14,0xac,0xbd,0x49,0x35,0x10,0x85,0x6d,0x22,0x2f,0x41,0x49,0x35,
+0x10,0x8d,0x9f,0x41,0xa, 0x3d,0x9, 0xb3,0x10,0xb1,0xb4,0x2, 0x2, 0x80,0x2, 0x61,
+0x69,0x7e,0x8, 0x0, 0x2, 0x7f,0x14,0x12,0x9a,0xcd,0x7f,0x41,0x7e,0x8, 0x0, 0x2,
+0x7f,0x15,0x12,0x9a,0xcd,0x7f,0x51,0x61,0xa8,0xa, 0x3d,0x9, 0xb3,0x10,0xb1,0xb4,
+0x1, 0x2, 0x80,0x2, 0x61,0xa8,0x74,0x14,0xac,0xbd,0x49,0x25,0x10,0x85,0x74,0x14,
+0xac,0xbd,0x49,0x35,0x10,0x8d,0xbd,0x32,0x40,0x2, 0x61,0x96,0xbe,0x48,0x0, 0x0,
+0x18,0x2, 0x61,0xa8,0x61,0x9e,0xbe,0x48,0x0, 0x0, 0x48,0x2, 0x61,0xa8,0x6e,0x94,
+0xff,0xff,0x6e,0x84,0xff,0xff,0xb, 0x4c,0xa, 0x3d,0x9, 0xb3,0x10,0xb5,0xb4,0x1,
+0x2, 0x80,0x2, 0x61,0xd4,0x7f,0x14,0x2f,0x11,0x7e,0x8, 0x0, 0x5, 0x12,0x9a,0xcd,
+0x7f,0x41,0x74,0x14,0xac,0xbd,0x49,0x35,0x10,0x8d,0x6d,0x22,0x2f,0x41,0x7f,0x15,
+0x2f,0x11,0x61,0xfb,0x7e,0x14,0x0, 0x6, 0x7f,0x14,0x12,0x9a,0x71,0x7e,0x8, 0x0,
+0x5, 0x12,0x9a,0xcd,0x7f,0x41,0x74,0x14,0xac,0xbd,0x49,0x35,0x10,0x8d,0x6d,0x22,
+0x2f,0x41,0x7e,0x14,0x0, 0x6, 0x7f,0x15,0x12,0x9a,0x71,0x7e,0x8, 0x0, 0x5, 0x12,
+0x9a,0xcd,0x7f,0x51,0x74,0x14,0xac,0xbd,0x49,0x35,0x10,0x8f,0x6d,0x22,0x2f,0x51,
+0x7d,0x39,0x7d,0x1f,0x1b,0x14,0x12,0x87,0x35,0x7d,0x93,0x6d,0x88,0x7d,0x3b,0x7d,
+0x1e,0x1b,0x14,0x12,0x87,0x35,0x7d,0xb3,0x6d,0xaa,0xbe,0x48,0x0, 0x0, 0x68,0x2,
+0x81,0x3c,0x74,0x14,0xac,0xbd,0x49,0xd5,0x10,0x8d,0x81,0x3e,0x7d,0xd9,0x7d,0x3e,
+0x1b,0x34,0x6d,0x22,0xbf,0x51,0x58,0x2, 0x81,0x54,0x74,0x14,0xac,0xbd,0x49,0xc5,
+0x10,0x8f,0x81,0x56,0x7d,0xcb,0x74,0x5, 0xac,0xbf,0x59,0xd5,0x1, 0x84,0x59,0xc5,
+0x1, 0x86,0xb, 0xf0,0xbc,0xef,0x28,0x2, 0x21,0x33,0xda,0x3b,0x22,0xca,0x3b,0x7e,
+0xa3,0xd, 0xa2,0x74,0x64,0xa4,0x7d,0x65,0x6c,0xee,0x9f,0x22,0x7f,0x72,0x7a,0x2f,
+0xc, 0xa4,0x7a,0x2f,0xc, 0xa8,0x7a,0x2f,0xc, 0xac,0x7a,0x2f,0xc, 0xb0,0x7a,0x2f,
+0xc, 0xb4,0x7f,0x42,0x7f,0x52,0x7f,0x62,0x7e,0xb3,0x1, 0x27,0xb4,0x1, 0x11,0x7e,
+0x73,0x11,0x49,0xbe,0x70,0x0, 0x28,0x8, 0x7e,0x37,0x11,0x46,0x2d,0x36,0x7d,0x63,
+0x6c,0xff,0x80,0x18,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x15,0xa, 0xb4,0x49,0x5, 0xa,
+0xb2,0xbf,0x70,0x58,0x5, 0x7f,0x70,0x7a,0xf1,0x23,0xb, 0xf0,0xe5,0x13,0xbc,0xbf,
+0x38,0xe2,0x7d,0x16,0x6d,0x0, 0xbf,0x70,0x58,0x3, 0xe4,0x80,0x1e,0xe5,0x16,0xb4,
+0x1, 0x1f,0x85,0x23,0xd, 0xe5,0x23,0xa, 0x3b,0x2e,0x34,0x9c,0x75,0x7a,0x71,0x82,
+0x7a,0x61,0x83,0xe4,0x93,0x7a,0xb3,0x1, 0x9a,0x74,0x1, 0x7a,0xb3,0x1, 0xb5,0xe1,
+0xec,0xe5,0x15,0xa, 0xb, 0xe5,0x23,0xa, 0x1b,0x7d,0x31,0x7d,0x20,0x12,0x9a,0x2e,
+0x7a,0x73,0xc, 0xa2,0x7d,0x31,0x7d,0x20,0x12,0x9a,0x2e,0x7c,0x75,0x7a,0x73,0xc,
+0xa3,0x6c,0xff,0xe1,0xdc,0xe5,0x15,0xa, 0xb, 0xa, 0x4f,0x7d,0x34,0x7d,0x20,0x12,
+0x9a,0x2e,0x7c,0xa7,0x7a,0xa3,0xc, 0xa0,0x7d,0x34,0x7d,0x20,0x12,0x9a,0x2e,0x7c,
+0x75,0x7a,0x73,0xc, 0xa1,0x4c,0xaa,0x78,0x4, 0x9f,0x11,0x80,0x10,0x7d,0x14,0x9d,
+0x10,0x3e,0x14,0x3e,0x14,0x49,0x31,0xa, 0xb4,0x49,0x21,0xa, 0xb2,0x7a,0x1f,0xc,
+0xa4,0xe5,0xa, 0x7c,0x9b,0x1b,0x90,0xbe,0x93,0xc, 0xa0,0x78,0x4, 0x9f,0x11,0x80,
+0x14,0xe5,0x15,0xa, 0xb, 0xa, 0x1f,0x2d,0x10,0x3e,0x14,0x3e,0x14,0x49,0x31,0xa,
+0xb4,0x49,0x21,0xa, 0xb2,0x7a,0x1f,0xc, 0xa8,0x7e,0x83,0xc, 0xa1,0x4c,0x88,0x78,
+0x4, 0x9f,0x11,0x80,0xd, 0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x35,0xa, 0xb0,0x49,0x25,
+0xa, 0xae,0x7a,0x1f,0xc, 0xac,0xe5,0x15,0x14,0xbe,0xb3,0xc, 0xa1,0x78,0x4, 0x9f,
+0x11,0x80,0xd, 0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x35,0xa, 0xb8,0x49,0x25,0xa, 0xb6,
+0x7a,0x1f,0xc, 0xb0,0x7e,0xb3,0xc, 0xa0,0x60,0x4, 0x4c,0x88,0x78,0x4, 0x9f,0x11,
+0x80,0x14,0xe5,0x15,0xa, 0xb, 0xa, 0x1f,0x9d,0x10,0x3e,0x14,0x3e,0x14,0x49,0x31,
+0xa, 0xb0,0x49,0x21,0xa, 0xae,0x7a,0x1f,0xc, 0xb4,0xbe,0x93,0xc, 0xa0,0x68,0x4,
+0x4c,0x88,0x78,0x6, 0x9f,0x11,0x7f,0x41,0x80,0x16,0xe5,0x15,0xa, 0xb, 0xa, 0x1f,
+0x2d,0x10,0x3e,0x14,0x3e,0x14,0x49,0x31,0xa, 0xb0,0x49,0x21,0xa, 0xae,0x7f,0x41,
+0x7e,0xb3,0xc, 0xa0,0x60,0x9, 0xe5,0x15,0x14,0xbe,0xb3,0xc, 0xa1,0x78,0x6, 0x9f,
+0x11,0x7f,0x51,0x80,0x16,0xe5,0x15,0xa, 0xb, 0xa, 0x1f,0x9d,0x10,0x3e,0x14,0x3e,
+0x14,0x49,0x31,0xa, 0xb8,0x49,0x21,0xa, 0xb6,0x7f,0x51,0xe5,0xa, 0x14,0xbe,0xb3,
+0xc, 0xa0,0x68,0x9, 0xe5,0x15,0x14,0xbe,0xb3,0xc, 0xa1,0x78,0x6, 0x9f,0x11,0x7f,
+0x61,0x80,0x16,0xe5,0x15,0xa, 0xb, 0xa, 0x1f,0x2d,0x10,0x3e,0x14,0x3e,0x14,0x49,
+0x31,0xa, 0xb8,0x49,0x21,0xa, 0xb6,0x7f,0x61,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x15,
+0xa, 0xb4,0x49,0x5, 0xa, 0xb2,0x7d,0x36,0x6d,0x22,0xbf,0x1, 0x58,0x2, 0xe1,0xda,
+0xe5,0x14,0xa, 0x1b,0x6d,0x0, 0x7f,0x17,0x12,0x9a,0x60,0x7e,0x8, 0x0, 0x64,0x12,
+0x9a,0xcd,0x7f,0x1, 0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x35,0xa, 0xb4,0x49,0x25,0xa,
+0xb2,0xbf,0x10,0x18,0x2, 0xe1,0xda,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x15,0xa, 0xb4,
+0x49,0x5, 0xa, 0xb2,0x7e,0x1f,0xc, 0xa4,0xbf,0x1, 0x58,0x2, 0xe1,0xda,0x7e,0xa0,
+0x4, 0xac,0xaf,0x49,0x15,0xa, 0xb4,0x49,0x5, 0xa, 0xb2,0x7e,0x1f,0xc, 0xa8,0xbf,
+0x1, 0x58,0x2, 0xe1,0xda,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x15,0xa, 0xb4,0x49,0x5,
+0xa, 0xb2,0x7e,0x1f,0xc, 0xac,0xbf,0x1, 0x58,0x2, 0xe1,0xda,0x7e,0xa0,0x4, 0xac,
+0xaf,0x49,0x15,0xa, 0xb4,0x49,0x5, 0xa, 0xb2,0x7e,0x1f,0xc, 0xb0,0xbf,0x1, 0x58,
+0x2, 0xe1,0xda,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x15,0xa, 0xb4,0x49,0x5, 0xa, 0xb2,
+0x7e,0x1f,0xc, 0xb4,0xbf,0x1, 0x58,0x2, 0xe1,0xda,0x7e,0xa0,0x4, 0xac,0xaf,0x49,
+0x15,0xa, 0xb4,0x49,0x5, 0xa, 0xb2,0xbf,0x4, 0x58,0x2, 0xe1,0xda,0x7e,0xa0,0x4,
+0xac,0xaf,0x49,0x15,0xa, 0xb4,0x49,0x5, 0xa, 0xb2,0xbf,0x5, 0x58,0x2, 0xe1,0xda,
+0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x15,0xa, 0xb4,0x49,0x5, 0xa, 0xb2,0xbf,0x6, 0x58,
+0x2, 0xe1,0xda,0x7c,0x1e,0x2e,0x10,0xd, 0x7c,0xbf,0xa5,0xf7,0xa, 0x3f,0x2e,0x34,
+0x9c,0x75,0x7a,0x71,0x82,0x7a,0x61,0x83,0xe4,0x93,0x7c,0xab,0xa, 0x3e,0x19,0xa3,
+0x1, 0x9a,0xb, 0xe0,0x74,0x4, 0x7c,0x3f,0xac,0x3b,0x2e,0x14,0xa, 0xb2,0x49,0x31,
+0x0, 0x2, 0xb, 0x18,0x20,0xb, 0x1c,0x59,0x31,0x0, 0x2, 0x1b,0x18,0x20,0xbe,0xe1,
+0x16,0x40,0x47,0x7e,0xe1,0x16,0xbe,0xe0,0x2, 0x78,0x49,0xe5,0x8, 0xb4,0x1, 0x44,
+0x7e,0xb3,0xc, 0xa2,0x60,0x18,0xe5,0xa, 0x14,0xbe,0xb3,0xc, 0xa2,0x68,0xf, 0x7e,
+0xb3,0xc, 0xa3,0x60,0x9, 0xe5,0x15,0x14,0xbe,0xb3,0xc, 0xa3,0x78,0x26,0x7e,0xe0,
+0x1, 0x85,0x23,0xd, 0xe5,0x23,0xa, 0x3b,0x2e,0x34,0x9c,0x75,0x7a,0x71,0x82,0x7a,
+0x61,0x83,0xe4,0x93,0x7a,0xb3,0x1, 0x9a,0x80,0xa, 0xb, 0xf0,0xe5,0x13,0xbc,0xbf,
+0x28,0x2, 0xa1,0x25,0x7a,0xe3,0x1, 0xb7,0x7a,0xe3,0x1, 0xb5,0xda,0x3b,0x22,0x7e,
+0xb3,0xd, 0x60,0x54,0x8f,0x7a,0xb3,0xd, 0x60,0x12,0x82,0xf5,0x2, 0x0, 0x1e,0xff,
+0xca,0x3b,0x7e,0xc3,0x1, 0xb5,0x7e,0x33,0x1, 0xb6,0x7e,0x37,0x1, 0xcb,0x7a,0x35,
+0x37,0x4c,0xcc,0x78,0x3c,0x12,0x7f,0x53,0xbe,0x30,0x0, 0x38,0x2, 0x61,0xf2,0x6c,
+0xff,0x7e,0x20,0xff,0x74,0x5, 0xac,0xbf,0x19,0x25,0x1, 0x7e,0xb, 0xf0,0xbe,0xf0,
+0x2, 0x78,0xf1,0x74,0x1, 0x7a,0xb3,0x1, 0xbb,0xe4,0x7a,0xb3,0x1, 0xbc,0x7e,0xb3,
+0x1, 0x4e,0x60,0x6, 0x6d,0x33,0x7a,0x37,0xe, 0xcf,0xe4,0x7a,0xb3,0xe, 0xd1,0x61,
+0xf2,0x7e,0xb3,0xe, 0xd1,0xbe,0xb0,0x3c,0x50,0x9, 0x4, 0x7a,0xb3,0xe, 0xd1,0x74,
+0xc8,0x80,0xb, 0x90,0xb4,0xcb,0xe4,0x93,0xbe,0xb3,0xd, 0xa7,0x68,0x4, 0x7a,0xb3,
+0xd, 0xa7,0x6c,0xff,0x7e,0x70,0x5, 0xac,0x7f,0x7c,0x17,0x2e,0x10,0x31,0x74,0xff,
+0xa5,0xf7,0x7e,0x24,0x7f,0xff,0x7c,0xb7,0x24,0x2d,0xa, 0xb, 0x1b,0x8, 0x20,0x7c,
+0xb7,0x24,0x2f,0xa, 0x3b,0x1b,0x38,0x20,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xd5,0x6c,
+0xff,0x7e,0x50,0x5, 0xac,0x5f,0x49,0x42,0x1, 0x66,0x3e,0x44,0x3e,0x44,0x3e,0x44,
+0x3e,0x44,0x7e,0x70,0x5, 0xac,0x7f,0x7c,0xb7,0x24,0x23,0xa, 0xb, 0x1b,0x8, 0x40,
+0x49,0x22,0x1, 0x68,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x7c,0xb7,0x24,0x25,
+0xa, 0x3b,0x1b,0x38,0x20,0x74,0x5, 0xac,0xbf,0x9, 0x25,0x1, 0x6a,0x7e,0x10,0x5,
+0xac,0x1f,0x2e,0x10,0x27,0x7c,0xb2,0xa5,0xf7,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xb1,
+0x7e,0xb3,0x1, 0x4e,0x60,0x32,0xbc,0x3c,0x68,0x6, 0x6d,0x33,0x7a,0x37,0xe, 0xcf,
+0x6c,0xff,0x74,0x5, 0xac,0xbf,0x9, 0xd5,0x1, 0x88,0xbe,0xd0,0x2, 0x50,0x12,0x74,
+0x6, 0xac,0xbd,0x9, 0xb5,0x1, 0x93,0x70,0x8, 0x6d,0x33,0x7a,0x37,0xe, 0xcf,0x80,
+0x7, 0xb, 0xf0,0xbe,0xf0,0x2, 0x40,0xda,0xa5,0xbb,0x0, 0x20,0x6c,0xff,0x80,0x16,
+0x7e,0x30,0x5, 0xac,0x3f,0x7d,0x31,0x2e,0x34,0x0, 0x23,0x2e,0x14,0x1, 0x7a,0x74,
+0x5, 0x12,0x9b,0x1, 0xb, 0xf0,0xbc,0xcf,0x38,0xe6,0x41,0x58,0x6c,0xff,0x6c,0xee,
+0x7e,0x70,0x5, 0xac,0x7e,0x9, 0xa3,0x1, 0x7e,0x7e,0x10,0x5, 0xac,0x1f,0x2e,0x10,
+0x27,0xa5,0xe7,0xbc,0xba,0x78,0x19,0xbe,0xb0,0xff,0x68,0x14,0x2e,0x34,0x1, 0x7a,
+0x7e,0x30,0x5, 0xac,0x3f,0x2e,0x14,0x0, 0x2d,0x74,0x5, 0x12,0x9b,0x1, 0x80,0x7,
+0xb, 0xe0,0xbe,0xe0,0x2, 0x40,0xc9,0xbe,0xe0,0x2, 0x78,0x14,0x7e,0x30,0x5, 0xac,
+0x3f,0x7d,0x31,0x2e,0x34,0x0, 0x23,0x2e,0x14,0x0, 0x2d,0x74,0x5, 0x12,0x9b,0x1,
+0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xa7,0x6c,0xff,0x7e,0x30,0x5, 0xac,0x3f,0x7d,0x31,
+0x2e,0x34,0x0, 0x2d,0x2e,0x14,0x1, 0x7a,0x74,0x5, 0x12,0x9b,0x1, 0xb, 0xf0,0xbe,
+0xf0,0x2, 0x78,0xe5,0x7e,0xb3,0x1, 0xbc,0x60,0x2, 0x41,0x58,0x6c,0xff,0x41,0x52,
+0x7c,0xef,0x75,0x39,0x0, 0x80,0x26,0x7e,0x30,0x5, 0xac,0x3f,0x9, 0xa1,0x1, 0x7e,
+0x7e,0x11,0x39,0x7e,0x0, 0x5, 0xac,0x10,0x2e,0x10,0x27,0xa5,0xe7,0xbc,0xba,0x78,
+0xa, 0xbe,0xa0,0xff,0x68,0x5, 0x7e,0xe1,0x39,0x80,0x7, 0x5, 0x39,0xbe,0xc1,0x39,
+0x38,0xd5,0xbe,0xe0,0x2, 0x40,0x2, 0x7c,0xef,0x7e,0x5, 0x37,0x3e,0x4, 0x3e,0x4,
+0x3e,0x4, 0x3e,0x4, 0x7e,0x50,0x5, 0xac,0x5e,0x7c,0xb5,0x24,0x25,0xa, 0x1b,0xb,
+0x18,0x30,0xbd,0x3, 0x28,0xc, 0x74,0x5, 0xac,0xbe,0x49,0x15,0x1, 0x7c,0xbd,0x1,
+0x38,0x17,0x7c,0xb5,0x24,0x23,0xa, 0x2b,0xb, 0x28,0x20,0x74,0x5, 0xac,0xbf,0x59,
+0x25,0x1, 0x7a,0x59,0x35,0x1, 0x7c,0x80,0x7, 0x7c,0xbf,0x7c,0x7e,0x12,0x8, 0x0,
+0xb, 0xf0,0xbc,0xcf,0x28,0x2, 0x21,0xd0,0xbe,0xc0,0x0, 0x38,0x2, 0x61,0xbd,0x6c,
+0xff,0x7e,0x70,0x5, 0xac,0x7f,0x49,0x23,0x1, 0x7a,0x1e,0x24,0x1e,0x24,0x1e,0x24,
+0x1e,0x24,0x59,0x23,0x1, 0x84,0x49,0x23,0x1, 0x7c,0x1e,0x24,0x1e,0x24,0x1e,0x24,
+0x1e,0x24,0x59,0x23,0x1, 0x86,0x9, 0x53,0x1, 0x7e,0x19,0x53,0x1, 0x88,0x7e,0xb3,
+0x1, 0x4e,0x70,0x2, 0x61,0xb4,0x9, 0xd3,0x1, 0x88,0xbe,0xd0,0x2, 0x50,0xf, 0x49,
+0x33,0x1, 0x86,0xbe,0x35,0x37,0x40,0x6, 0x6d,0x33,0x7a,0x37,0xe, 0xcf,0x7e,0x17,
+0xe, 0xcf,0x4d,0x11,0x78,0x40,0xbe,0xf0,0x1, 0x78,0x8, 0x7d,0x1, 0xb, 0x4, 0x7a,
+0x7, 0xe, 0xcf,0xbe,0xd0,0x2, 0x40,0x2, 0x61,0xb4,0x6c,0xee,0x7e,0x50,0x5, 0xac,
+0x5f,0x49,0x2, 0x1, 0x84,0x7e,0x90,0x4, 0xac,0x9e,0x7e,0x70,0xc, 0xac,0x7d,0x2d,
+0x34,0x59,0x3, 0xe, 0xb7,0x49,0x2, 0x1, 0x86,0x59,0x3, 0xe, 0xb9,0xb, 0xe0,0xbe,
+0xe0,0x3, 0x78,0xd8,0x61,0xb4,0xbe,0xd0,0x2, 0x40,0x2, 0x61,0xa5,0x74,0x5, 0xac,
+0xbf,0x49,0x35,0x1, 0x84,0x7e,0x4, 0x0, 0x3, 0x8d,0x10,0x7d,0x10,0x3e,0x14,0x3e,
+0x14,0x7e,0x50,0xc, 0xac,0x5d,0x2d,0x21,0x59,0x32,0xe, 0xb7,0x74,0x5, 0xac,0xbf,
+0x49,0x35,0x1, 0x86,0x59,0x32,0xe, 0xb9,0x6d,0x33,0x74,0x5, 0xac,0xbf,0x59,0x35,
+0x1, 0x84,0x6c,0xee,0x7e,0x50,0x4, 0xac,0x5e,0x7e,0x70,0xc, 0xac,0x7d,0x2d,0x32,
+0x49,0x23,0xe, 0xb7,0x74,0x5, 0xac,0xbf,0x7d,0x45,0x2e,0x44,0x1, 0x84,0xb, 0x48,
+0x30,0x2d,0x32,0x1b,0x48,0x30,0xb, 0xe0,0xbe,0xe0,0x3, 0x78,0xd7,0x7e,0x24,0x0,
+0x3, 0xb, 0x48,0x30,0x8d,0x32,0x1b,0x48,0x30,0x6d,0x33,0x59,0x35,0x1, 0x86,0x6c,
+0xee,0x7e,0x50,0x4, 0xac,0x5e,0x7e,0x70,0xc, 0xac,0x7d,0x2d,0x32,0x49,0x33,0xe,
+0xb9,0x7e,0x30,0x5, 0xac,0x3f,0x2e,0x14,0x1, 0x86,0xb, 0x18,0x0, 0x2d,0x3, 0x1b,
+0x18,0x0, 0xb, 0xe0,0xbe,0xe0,0x3, 0x78,0xd8,0x7e,0x24,0x0, 0x3, 0xb, 0x18,0x30,
+0x8d,0x32,0x1b,0x18,0x30,0xbe,0xf0,0x1, 0x78,0xa, 0x7e,0x37,0xe, 0xcf,0xb, 0x34,
+0x7a,0x37,0xe, 0xcf,0xb, 0xf0,0xbe,0xf0,0x2, 0x68,0x2, 0x41,0x61,0x74,0x1, 0x7a,
+0xb3,0x1, 0xb9,0x7e,0xb3,0x1, 0x4e,0x60,0x29,0x6c,0xff,0x74,0x5, 0xac,0xbf,0x9,
+0xd5,0x1, 0x88,0xbe,0xd0,0x2, 0x50,0x13,0x74,0x6, 0xac,0xbd,0x9, 0xb5,0x1, 0x93,
+0xb4,0x1, 0x8, 0x6d,0x33,0x7a,0x37,0xe, 0xcf,0x80,0x7, 0xb, 0xf0,0xbe,0xf0,0x2,
+0x40,0xd9,0xda,0x3b,0x22,0xca,0x3b,0x9f,0x11,0x7a,0x1f,0xb, 0xb2,0x6c,0xff,0xc1,
+0xb3,0x7c,0x1f,0x2e,0x10,0xd, 0xa5,0xe7,0x7c,0xeb,0xe5,0x15,0xa, 0x1b,0xa, 0x3e,
+0x7d,0x21,0x12,0x9a,0x2e,0x7c,0xd7,0xa, 0x3e,0x7d,0x21,0x12,0x9a,0x2e,0x7c,0xc5,
+0x9f,0x11,0x7a,0x1f,0xc, 0xa8,0x7a,0x1f,0xc, 0xac,0x7c,0xbe,0x7c,0x7d,0x12,0x78,
+0x58,0x7a,0x1f,0xc, 0xb0,0x4c,0xcc,0x68,0xc, 0x7c,0xbe,0x14,0x7c,0x7d,0x12,0x78,
+0x58,0x7a,0x1f,0xc, 0xa8,0xe5,0x15,0x14,0xbc,0xbc,0x68,0xc, 0x7c,0xbe,0x4, 0x7c,
+0x7d,0x12,0x78,0x58,0x7a,0x1f,0xc, 0xac,0xa, 0x1c,0x6d,0x0, 0x1b,0xc, 0x7e,0x5f,
+0xc, 0xa8,0x7f,0x15,0x12,0x9a,0x60,0x7f,0x41,0xa, 0x1c,0x6d,0x0, 0x7e,0x6f,0xc,
+0xb0,0x7f,0x16,0x12,0x9a,0x60,0x2f,0x41,0xa, 0x1c,0x6d,0x0, 0xb, 0xc, 0x7e,0x7f,
+0xc, 0xac,0x7f,0x17,0x12,0x9a,0x60,0x2f,0x14,0x7a,0x1f,0xc, 0xa0,0x7f,0x6, 0x2f,
+0x5, 0x2f,0x7, 0x7a,0xf, 0xc, 0xa4,0x7e,0x1f,0xb, 0xb2,0xbf,0x10,0x50,0x8, 0x7e,
+0x1f,0xc, 0xa4,0x7a,0x1f,0xb, 0xb2,0xbe,0xd0,0x0, 0x38,0x2, 0xa1,0x4b,0xe5,0xa,
+0xa, 0x2b,0x1b,0x24,0xa, 0x3d,0xbd,0x32,0x48,0x2, 0xa1,0x4b,0xbe,0xc0,0x1, 0x38,
+0x2, 0xa1,0x4b,0xe5,0x15,0xa, 0x2b,0x1b,0x25,0xa, 0x3c,0xbd,0x32,0x58,0x7c,0x7e,
+0xb3,0x1, 0xb5,0xb4,0x1, 0x75,0xe4,0x7a,0xb3,0x11,0x4d,0x7e,0x1f,0xc, 0xac,0x7a,
+0x1d,0x24,0x7e,0x1f,0xc, 0xb0,0x7e,0xf, 0xc, 0xa8,0x7c,0xbc,0x12,0x7d,0xec,0xf5,
+0x23,0x7e,0x73,0x11,0x4d,0xbe,0x70,0x0, 0x28,0x51,0xe5,0x15,0xac,0xbd,0x25,0x23,
+0x7c,0x7d,0x12,0x78,0x58,0x7a,0x1f,0xc, 0xb8,0x7e,0x33,0x11,0x4d,0xa, 0x13,0x6d,
+0x0, 0x12,0x9a,0x60,0x74,0x7, 0x1e,0x34,0xe, 0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,
+0x78,0xf4,0x7a,0x1f,0xc, 0xb8,0xe5,0x23,0xa, 0x1b,0x6d,0x0, 0x7e,0x7f,0xc, 0xb8,
+0x7f,0x17,0x12,0x9a,0x60,0x7f,0x1, 0x7e,0x1f,0xc, 0xa0,0x2f,0x10,0x7a,0x1f,0xc,
+0xa0,0x7e,0x1f,0xc, 0xa4,0x2f,0x17,0x7a,0x1f,0xc, 0xa4,0x7e,0x1f,0xc, 0xa0,0x74,
+0x7, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0xf, 0xc, 0xa4,0x12,0x9a,0x7c,0x2e,0x18,0x0,
+0x40,0x7a,0x37,0xc, 0xb4,0x9f,0x11,0x7a,0x1f,0xc, 0xa8,0x7a,0x1f,0xc, 0xac,0x7c,
+0xbe,0x7c,0x7c,0x12,0x7b,0x35,0x7a,0x1f,0xc, 0xb0,0x4c,0xdd,0x68,0xe, 0x7c,0xbe,
+0x9e,0xb1,0x15,0x7c,0x7c,0x12,0x7b,0x35,0x7a,0x1f,0xc, 0xa8,0xe5,0xa, 0x14,0xbc,
+0xbd,0x68,0xd, 0xe5,0x15,0x2c,0xbe,0x7c,0x7c,0x12,0x7b,0x35,0x7a,0x1f,0xc, 0xac,
+0xa, 0x1d,0x6d,0x0, 0x1b,0xc, 0x7e,0x5f,0xc, 0xa8,0x7f,0x15,0x12,0x9a,0x60,0x7f,
+0x41,0xa, 0x1d,0x6d,0x0, 0x7e,0x6f,0xc, 0xb0,0x7f,0x16,0x12,0x9a,0x60,0x2f,0x41,
+0xa, 0x1d,0x6d,0x0, 0xb, 0xc, 0x7e,0x7f,0xc, 0xac,0x7f,0x17,0x12,0x9a,0x60,0x2f,
+0x14,0x7a,0x1f,0xc, 0xa0,0x7f,0x16,0x2f,0x15,0x2f,0x17,0x7a,0x1f,0xc, 0xa4,0xbe,
+0xd0,0x1, 0x38,0x2, 0xc1,0x87,0xe5,0xa, 0xa, 0x2b,0x1b,0x25,0xa, 0x3d,0xbd,0x32,
+0x48,0x2, 0xc1,0x87,0xbe,0xc0,0x0, 0x38,0x2, 0xc1,0x87,0xe5,0x15,0xa, 0x2b,0x1b,
+0x24,0xa, 0x3c,0xbd,0x32,0x48,0x2, 0xc1,0x87,0x7e,0xb3,0x1, 0xb5,0xb4,0x1, 0x77,
+0xe4,0x7a,0xb3,0x11,0x4d,0x7e,0x1f,0xc, 0xac,0x7a,0x1d,0x24,0x7e,0x1f,0xc, 0xb0,
+0x7e,0xf, 0xc, 0xa8,0x7c,0xbd,0x12,0x7d,0xec,0xf5,0x23,0x7e,0x73,0x11,0x4d,0xbe,
+0x70,0x0, 0x28,0x53,0x7e,0xa1,0x15,0xe5,0x23,0xa4,0x2c,0xbc,0x7c,0x7c,0x12,0x7b,
+0x35,0x7a,0x1f,0xc, 0xb8,0x7e,0x33,0x11,0x4d,0xa, 0x13,0x6d,0x0, 0x12,0x9a,0x60,
+0x74,0x7, 0x1e,0x34,0xe, 0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x7a,0x1f,
+0xc, 0xb8,0xe5,0x23,0xa, 0x1b,0x6d,0x0, 0x7e,0x7f,0xc, 0xb8,0x7f,0x17,0x12,0x9a,
+0x60,0x7f,0x1, 0x7e,0x1f,0xc, 0xa0,0x2f,0x10,0x7a,0x1f,0xc, 0xa0,0x7e,0x1f,0xc,
+0xa4,0x2f,0x17,0x7a,0x1f,0xc, 0xa4,0x7e,0x1f,0xc, 0xa0,0x74,0x7, 0x2f,0x11,0x14,
+0x78,0xfb,0x7e,0xf, 0xc, 0xa4,0x12,0x9a,0x7c,0x2e,0x18,0x0, 0x40,0x7a,0x37,0xc,
+0xb6,0x7e,0x27,0xc, 0xb4,0x74,0x5, 0xac,0xbf,0x59,0x25,0x1, 0x66,0x59,0x35,0x1,
+0x68,0xb, 0xf0,0x7e,0x73,0x1, 0xb5,0xbc,0x7f,0x28,0x2, 0x81,0x1, 0xda,0x3b,0x22,
+0xca,0xf8,0x7e,0x73,0x9, 0x66,0xa, 0x47,0x7e,0x73,0x9, 0xc3,0xa, 0x57,0x9d,0x54,
+0x7c,0xab,0x7e,0x47,0x8, 0xf4,0x7e,0x37,0x8, 0xf8,0x6c,0xff,0xe1,0x87,0x7e,0x50,
+0x4, 0xac,0x5f,0x2d,0x24,0x49,0xf2,0x0, 0x2, 0xb, 0x28,0xe0,0xbe,0x7c,0xf8,0x30,
+0x48,0x2, 0xc1,0xfe,0x7e,0xb3,0x9, 0x63,0xbc,0xbf,0x28,0x2, 0xe1,0x1c,0xbe,0x7c,
+0xec,0x78,0x48,0x2, 0xe1,0x7e,0x7e,0xb3,0x9, 0x63,0xbc,0xbf,0x28,0x2, 0xe1,0x7e,
+0x7e,0xf, 0x3, 0x30,0xbe,0x8, 0x7, 0xd0,0x48,0x2, 0xe1,0x7e,0xa, 0x2f,0x2e,0x24,
+0xf, 0x19,0x7e,0x29,0xb0,0x4, 0x7a,0x29,0xb0,0xa, 0x2f,0x9, 0xb2,0xf, 0x19,0xbe,
+0xb0,0xf, 0x38,0x2, 0xe1,0x85,0x7e,0x50,0x2, 0xac,0x5f,0x2d,0x23,0xb, 0x28,0x10,
+0x1a,0x2, 0x1a,0x0, 0x2f,0x7, 0xbe,0x8, 0x32,0xc8,0x48,0x2, 0xe1,0x85,0x74,0x1,
+0x7a,0xb3,0x1, 0xc0,0x6c,0x55,0xe1,0x68,0xa, 0x5, 0x7e,0x43,0x9, 0x63,0xa, 0x14,
+0x2d,0x10,0x19,0xb1,0xf, 0x19,0xb, 0x50,0x7e,0x43,0x9, 0x66,0xa, 0x14,0x7e,0x43,
+0x9, 0x64,0xa, 0x4, 0x9d,0x1, 0xa, 0x15,0xbd,0x10,0x48,0xdc,0xe1,0x85,0xe4,0xa,
+0x1f,0x19,0xb1,0xf, 0x19,0xb, 0xf0,0xbc,0xaf,0x28,0x2, 0xc1,0xde,0x7e,0xb3,0x1,
+0xc0,0x60,0x2, 0xe1,0xe8,0x6c,0xff,0xe1,0xe0,0x74,0x4, 0xac,0xbf,0x2d,0x54,0x49,
+0x35,0x0, 0x2, 0xb, 0x58,0x20,0xbe,0x1c,0xfd,0xa8,0x48,0x2, 0xe1,0xd7,0xa, 0x3f,
+0x2e,0x34,0xe, 0xeb,0x7e,0x39,0xb0,0x4, 0x7a,0x39,0xb0,0xa, 0x5f,0x9, 0x75,0xe,
+0xeb,0xbe,0x70,0x1, 0x38,0x2, 0xe1,0xde,0x12,0x70,0x0, 0x70,0x2, 0xe1,0xde,0x74,
+0x3, 0x7a,0xb3,0x1, 0xc0,0xe1,0xde,0xe4,0xa, 0x3f,0x19,0xb3,0xe, 0xeb,0xb, 0xf0,
+0x7e,0x73,0x9, 0x63,0xbc,0x7f,0x38,0xb1,0xda,0xf8,0x22,0x12,0x75,0x90,0x12,0x7b,
+0x7b,0x12,0x81,0x7c,0x12,0x6a,0xfb,0x12,0x86,0x43,0x12,0x7c,0x2, 0x2, 0x87,0x8e,
+0xca,0x3b,0x7e,0x73,0x9, 0x66,0xa, 0x47,0x7e,0x73,0x9, 0xc3,0xa, 0x57,0x9d,0x54,
+0xf5,0x23,0xd2,0x3, 0x12,0x6e,0xdd,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xac,0xb,
+0xa, 0x30,0x5e,0x70,0xdf,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xac,
+0xb, 0xa, 0x30,0x5e,0x70,0xbf,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0,
+0xac,0xb, 0xa, 0x30,0x4e,0x70,0x80,0x1b,0xa, 0x30,0x6c,0xdd,0x21,0x52,0xa, 0x3d,
+0x9, 0xc3,0x9, 0x67,0xa, 0x3c,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x14,0xbe,0xc0,
+0x10,0x40,0x2, 0x1, 0x90,0x6d,0x33,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x8, 0x7e,
+0xf, 0x11,0x42,0x79,0x30,0x0, 0xa, 0x7e,0x34,0x0, 0x1, 0x7c,0xbc,0x70,0x2, 0x1,
+0x86,0x3e,0x34,0x14,0x78,0xfb,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x6, 0x1, 0xf3,
+0xbe,0xc0,0x20,0x40,0x2, 0x1, 0xc6,0x6d,0x33,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0,
+0x6, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xa, 0xa, 0x5c,0x9e,0x54,0x0, 0x10,0x7e,
+0x34,0x0, 0x1, 0x70,0x2, 0x1, 0xbc,0x3e,0x34,0x14,0x78,0xfb,0x7e,0xf, 0x11,0x42,
+0x79,0x30,0x0, 0x8, 0x1, 0xf3,0x6d,0x33,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x6,
+0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x8, 0xa, 0x5c,0x9e,0x54,0x0, 0x20,0x7e,0x34,
+0x0, 0x1, 0x70,0x2, 0x1, 0xeb,0x3e,0x34,0x14,0x78,0xfb,0x7e,0xf, 0x11,0x42,0x79,
+0x30,0x0, 0xa, 0xe4,0x7a,0xb3,0x1, 0x27,0x74,0x1, 0x12,0x87,0xa4,0x12,0x84,0x14,
+0x12,0x17,0xcc,0x50,0xfb,0x9f,0x44,0x6c,0xff,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0,
+0xb0,0xb, 0xa, 0x30,0x5e,0x70,0x7f,0x1b,0xa, 0x30,0x74,0x2, 0xac,0xbf,0x7e,0x1f,
+0x11,0x3e,0x2d,0x35,0xb, 0x1a,0x30,0x6d,0x22,0x2f,0x41,0xb, 0xf0,0xbe,0xf0,0x80,
+0x78,0xd7,0xa, 0x3d,0x9, 0xe3,0x9, 0x95,0x74,0x7, 0x7f,0x14,0x1e,0x34,0x1e,0x24,
+0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x74,0x2, 0xac,0xbe,0x59,0x35,0x5, 0x0,
+0xb, 0xd0,0xe5,0x23,0xbc,0xbd,0x28,0x2, 0x1, 0x4e,0x7e,0xf, 0x11,0x42,0x2e,0x14,
+0x0, 0xac,0xb, 0xa, 0x30,0x5e,0x70,0xdf,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,
+0x14,0x0, 0xac,0xb, 0xa, 0x30,0x4e,0x70,0x40,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,
+0x2e,0x14,0x0, 0xac,0xb, 0xa, 0x30,0x5e,0x70,0x7f,0x1b,0xa, 0x30,0x6c,0xdd,0x41,
+0x95,0xa, 0x3d,0x9, 0xc3,0x9, 0x67,0xa, 0x3c,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0,
+0x14,0xbe,0xc0,0x10,0x40,0x2, 0x21,0xd3,0x6d,0x33,0x7e,0xf, 0x11,0x42,0x79,0x30,
+0x0, 0x8, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xa, 0x7e,0x34,0x0, 0x1, 0x7c,0xbc,
+0x70,0x2, 0x21,0xc9,0x3e,0x34,0x14,0x78,0xfb,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0,
+0x6, 0x41,0x36,0xbe,0xc0,0x20,0x40,0x2, 0x41,0x9, 0x6d,0x33,0x7e,0xf, 0x11,0x42,
+0x79,0x30,0x0, 0x6, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xa, 0xa, 0x5c,0x9e,0x54,
+0x0, 0x10,0x7e,0x34,0x0, 0x1, 0x70,0x2, 0x21,0xff,0x3e,0x34,0x14,0x78,0xfb,0x7e,
+0xf, 0x11,0x42,0x79,0x30,0x0, 0x8, 0x41,0x36,0x6d,0x33,0x7e,0xf, 0x11,0x42,0x79,
+0x30,0x0, 0x6, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x8, 0xa, 0x5c,0x9e,0x54,0x0,
+0x20,0x7e,0x34,0x0, 0x1, 0x70,0x2, 0x41,0x2e,0x3e,0x34,0x14,0x78,0xfb,0x7e,0xf,
+0x11,0x42,0x79,0x30,0x0, 0xa, 0xe4,0x7a,0xb3,0x1, 0x27,0x74,0x1, 0x12,0x87,0xa4,
+0x12,0x84,0x14,0x12,0x17,0xcc,0x50,0xfb,0x9f,0x44,0x6c,0xff,0x7e,0xf, 0x11,0x42,
+0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x5e,0x70,0x7f,0x1b,0xa, 0x30,0x74,0x2, 0xac,
+0xbf,0x7e,0x1f,0x11,0x3e,0x2d,0x35,0xb, 0x1a,0x30,0x6d,0x22,0x2f,0x41,0xb, 0xf0,
+0xbe,0xf0,0x80,0x78,0xd7,0xa, 0x3d,0x9, 0xe3,0x9, 0x95,0x74,0x7, 0x7f,0x14,0x1e,
+0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x74,0x2, 0xac,0xbe,0x59,
+0x35,0x5, 0x5c,0xb, 0xd0,0xe5,0x23,0xbc,0xbd,0x28,0x2, 0x21,0x91,0xc2,0x3, 0xc2,
+0x0, 0x7e,0x8, 0x9, 0x25,0x12,0x1, 0x20,0xda,0x3b,0x22,0xca,0x3b,0x7e,0xb3,0x1,
+0x4c,0x70,0x2, 0xa1,0x4e,0x7e,0xf7,0x1, 0xc9,0x7e,0xe7,0x1, 0xcb,0x1e,0xe4,0x7e,
+0xd7,0x2, 0xef,0x7e,0xc7,0x2, 0xf1,0x7e,0xb7,0x2, 0xf3,0x7e,0xa7,0x2, 0xf5,0x7e,
+0x97,0x2, 0xf7,0x7e,0xb3,0x2, 0xf9,0xf5,0x23,0x7e,0xf3,0x1, 0xb5,0x7e,0xe3,0x9,
+0xc4,0x7c,0xde,0x1e,0xd0,0x6c,0xcc,0xa1,0x48,0xa, 0x8c,0x9, 0x78,0x1, 0x9a,0x7a,
+0x71,0x25,0xa, 0x2e,0xa, 0x87,0x7d,0x38,0x12,0x9a,0x2e,0x7c,0xb5,0xf5,0x26,0xa,
+0x2d,0x7d,0x38,0x12,0x9a,0x2e,0x7c,0xb5,0xf5,0x27,0x75,0x24,0x0, 0x7e,0xb3,0x1,
+0x4c,0x70,0x2, 0xa1,0x38,0xe5,0x27,0x60,0x2, 0x81,0x27,0x7e,0x34,0x0, 0x5, 0xad,
+0x3e,0x1e,0x34,0x74,0x5, 0xac,0xbc,0x75,0x28,0xa, 0x7e,0xa1,0x25,0x74,0x4, 0xa4,
+0x7d,0x85,0x2e,0x87,0x8, 0xf4,0x49,0x18,0x0, 0x2, 0xb, 0x88,0x0, 0x7d,0x3d,0x6d,
+0x22,0xbf,0x1, 0x58,0x17,0x49,0x18,0x0, 0x6, 0x49,0x8, 0x0, 0x4, 0x7d,0x3c,0x6d,
+0x22,0xbf,0x1, 0x58,0x7, 0xbe,0xf0,0x1, 0x78,0x2, 0x61,0xea,0x7e,0xa1,0x26,0x74,
+0x4, 0xa4,0x49,0x15,0x3, 0x36,0x49,0x5, 0x3, 0x34,0x7d,0x3b,0x6d,0x22,0xbf,0x1,
+0x58,0x4b,0x49,0x15,0x3, 0x3a,0x49,0x5, 0x3, 0x38,0x7d,0x3a,0x6d,0x22,0xbf,0x1,
+0x58,0x3b,0xa, 0x3d,0xe5,0x27,0xa, 0x8b,0x2d,0x83,0x3e,0x84,0x3e,0x84,0x49,0x38,
+0x3, 0x3e,0x49,0x28,0x3, 0x3c,0xe5,0x28,0xa, 0x1b,0x6d,0x0, 0x12,0x9a,0x60,0x7e,
+0x8, 0x0, 0xa, 0x12,0x9a,0xcd,0x7e,0xa1,0x26,0x74,0x4, 0xa4,0x49,0x15,0x3, 0x3a,
+0x49,0x5, 0x3, 0x38,0xbf,0x10,0x8, 0x5, 0xbe,0xf0,0x1, 0x68,0x2d,0x74,0x5, 0xac,
+0xbc,0x49,0x85,0x1, 0x68,0xbd,0x8e,0x38,0x2, 0xa1,0x38,0x7e,0xa1,0x26,0x74,0x4,
+0xa4,0x49,0x15,0x3, 0x3a,0x49,0x5, 0x3, 0x38,0x7d,0x39,0x6d,0x22,0xbf,0x1, 0x48,
+0x2, 0xa1,0x38,0xbe,0xf0,0x1, 0x68,0x2, 0xa1,0x38,0x74,0x5, 0xac,0xbc,0x49,0x35,
+0x1, 0x66,0xe5,0x23,0xa, 0x8b,0xbd,0x38,0x40,0x2, 0xa1,0x38,0x74,0x5, 0xac,0xbc,
+0x49,0x35,0x1, 0x68,0x7d,0x8e,0x2e,0x84,0x0, 0x14,0xbd,0x38,0x38,0x14,0x74,0x5,
+0xac,0xbc,0x49,0x35,0x1, 0x68,0x7d,0x8e,0x9e,0x84,0x0, 0x14,0xbd,0x38,0x40,0x2,
+0xa1,0x38,0x75,0x24,0x1, 0xa1,0x38,0x7c,0xbd,0x14,0xbe,0xb1,0x27,0x68,0x2, 0xa1,
+0x38,0x7e,0x34,0x0, 0x5, 0xad,0x3e,0x1e,0x34,0x1e,0x34,0x74,0x5, 0xac,0xbc,0x49,
+0x85,0x1, 0x68,0xbd,0x83,0x28,0x5, 0x75,0x28,0x12,0x80,0x3, 0x75,0x28,0xa, 0x7e,
+0xa1,0x25,0x74,0x4, 0xa4,0x7d,0x85,0x2e,0x87,0x8, 0xf4,0x49,0x18,0x0, 0x2, 0xb,
+0x88,0x0, 0x7d,0x3d,0x6d,0x22,0xbf,0x1, 0x58,0x17,0x49,0x18,0xff,0xfe,0x49,0x8,
+0xff,0xfc,0x7d,0x3c,0x6d,0x22,0xbf,0x1, 0x58,0x7, 0xbe,0xf0,0x1, 0x78,0x2, 0x81,
+0xfd,0x7e,0xa1,0x26,0x74,0x4, 0xa4,0x49,0x15,0x3, 0x36,0x49,0x5, 0x3, 0x34,0x7d,
+0x3b,0x6d,0x22,0xbf,0x1, 0x58,0x4b,0x49,0x15,0x3, 0x32,0x49,0x5, 0x3, 0x30,0x7d,
+0x3a,0x6d,0x22,0xbf,0x1, 0x58,0x3b,0xa, 0x3d,0xe5,0x27,0xa, 0x8b,0x2d,0x83,0x3e,
+0x84,0x3e,0x84,0x49,0x38,0x3, 0x2e,0x49,0x28,0x3, 0x2c,0xe5,0x28,0xa, 0x1b,0x6d,
+0x0, 0x12,0x9a,0x60,0x7e,0x8, 0x0, 0xa, 0x12,0x9a,0xcd,0x7e,0xa1,0x26,0x74,0x4,
+0xa4,0x49,0x15,0x3, 0x32,0x49,0x5, 0x3, 0x30,0xbf,0x10,0x8, 0x5, 0xbe,0xf0,0x1,
+0x68,0x1b,0x7e,0xa1,0x26,0x74,0x4, 0xa4,0x49,0x15,0x3, 0x32,0x49,0x5, 0x3, 0x30,
+0x7d,0x39,0x6d,0x22,0xbf,0x1, 0x58,0x40,0xbe,0xf0,0x1, 0x78,0x3b,0x74,0x5, 0xac,
+0xbc,0x49,0x35,0x1, 0x66,0xe5,0x23,0xa, 0x2b,0x7d,0x8f,0x9d,0x82,0xbd,0x38,0x28,
+0x27,0x74,0x5, 0xac,0xbc,0x49,0x35,0x1, 0x68,0x7d,0x8e,0x2e,0x84,0x0, 0x14,0xbd,
+0x38,0x38,0x12,0x74,0x5, 0xac,0xbc,0x49,0x35,0x1, 0x68,0x7d,0x8e,0x9e,0x84,0x0,
+0x14,0xbd,0x38,0x50,0x3, 0x75,0x24,0x2, 0xe5,0x24,0xbe,0xb0,0x0, 0x28,0x7, 0x7c,
+0xbc,0x7c,0x7f,0x12,0x7f,0xb1,0xb, 0xc0,0xbc,0xfc,0x28,0x2, 0x41,0xe9,0xda,0x3b,
+0x22,0xca,0x3b,0x7c,0xeb,0x7e,0x68,0xff,0xff,0x7e,0xd0,0x7f,0x7e,0x8, 0x10,0x1f,
+0x7e,0x34,0x0, 0x28,0xe4,0x12,0x9c,0xda,0x7e,0x8, 0xf, 0xf7,0x7e,0x34,0x0, 0x28,
+0x12,0x9c,0xda,0xbe,0xe0,0xa, 0x28,0x3, 0x7e,0xe0,0xa, 0x7e,0xb3,0x1, 0x3f,0xbe,
+0xb0,0x1, 0x68,0xd, 0xbe,0xb0,0x2, 0x68,0x8, 0xbe,0xb0,0x3, 0x68,0x3, 0xb4,0x4,
+0x31,0x7e,0xf7,0xf, 0xa8,0x6c,0xaa,0x80,0x21,0x7e,0x70,0x2, 0xac,0x7a,0x2d,0x3f,
+0xb, 0x38,0x10,0x7e,0x10,0x2, 0xac,0x1a,0x59,0x10,0xc, 0xa0,0x6d,0x0, 0x7e,0x1f,
+0xf, 0xf7,0x2f,0x10,0x7a,0x1f,0xf, 0xf7,0xb, 0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,0xba,
+0x38,0xd7,0x7e,0xf0,0x1, 0xc1,0xa9,0x74,0x4, 0xac,0xbf,0x49,0xf5,0xf, 0xa8,0x49,
+0x35,0xf, 0xa4,0x7a,0x35,0x2a,0x6c,0xaa,0xc1,0x9d,0xa, 0x3a,0x9, 0x93,0x9, 0x95,
+0x7e,0x30,0x2, 0xac,0x39,0x7d,0x1, 0x2d,0xf, 0xb, 0x8, 0x30,0x6d,0x22,0x7a,0x1f,
+0xc, 0xfc,0x2e,0x15,0x2a,0xb, 0x18,0x10,0x6d,0x0, 0x7a,0xf, 0xd, 0x0, 0x9f,0x10,
+0x12,0x9c,0xfc,0x7f,0x51,0x7e,0x70,0x4, 0xac,0x7f,0x49,0x13,0x10,0x21,0x49,0x3,
+0x10,0x1f,0xbf,0x50,0x8, 0x8, 0x59,0xb3,0x10,0x21,0x59,0xa3,0x10,0x1f,0x7e,0x83,
+0x1, 0x3f,0xbe,0x80,0x1, 0x68,0x5, 0xbe,0x80,0x2, 0x78,0x40,0xbe,0x80,0x1, 0x78,
+0x19,0x7e,0x70,0x2, 0xac,0x79,0x49,0x23,0xc, 0xa0,0x7e,0x70,0x2, 0xac,0x79,0x2d,
+0x3f,0xb, 0x38,0x30,0xbd,0x23,0x28,0x53,0x80,0x17,0x7e,0x70,0x2, 0xac,0x79,0x49,
+0x23,0xc, 0xa0,0x7e,0x70,0x2, 0xac,0x79,0x2d,0x3f,0xb, 0x38,0x30,0xbd,0x23,0x50,
+0x3a,0x7e,0x50,0x2, 0xac,0x59,0x59,0x32,0xc, 0xa0,0x80,0x2f,0xbe,0x80,0x3, 0x68,
+0x5, 0xbe,0x80,0x4, 0x78,0x25,0x7e,0x70,0x2, 0xac,0x79,0x2d,0x3f,0xb, 0x38,0x90,
+0x6d,0x88,0x7e,0x30,0x4, 0xac,0x3f,0x2e,0x14,0xf, 0xf7,0x49,0x31,0x0, 0x2, 0xb,
+0x18,0x20,0x2f,0x14,0x59,0x31,0x0, 0x2, 0x1b,0x18,0x20,0xb, 0xa0,0x7e,0xb3,0x9,
+0xc3,0xbc,0xba,0x28,0x2, 0xa1,0xda,0xb, 0xf0,0xbc,0xef,0x28,0x2, 0xa1,0xc7,0x7e,
+0xf0,0x1, 0x80,0x29,0x7e,0x70,0x4, 0xac,0x7f,0x49,0x13,0x10,0x21,0x49,0x3, 0x10,
+0x1f,0xbf,0x6, 0x58,0x4, 0x7f,0x60,0x7c,0xdf,0x7e,0x37,0x1, 0x42,0x1a,0x26,0x1a,
+0x24,0xbf,0x10,0x58,0x6, 0x7e,0xb3,0x1, 0x41,0xf5,0x66,0xb, 0xf0,0xbc,0xef,0x38,
+0xd3,0x7e,0x63,0x1, 0x3f,0xa5,0xbe,0x0, 0x36,0xbc,0xde,0x40,0x4, 0xa, 0x6e,0x1b,
+0x64,0x74,0x4, 0xac,0xbd,0x49,0xe5,0xf, 0xa8,0x6c,0xaa,0x80,0x18,0x7e,0x50,0x2,
+0xac,0x5a,0x2d,0x2e,0xb, 0x28,0x40,0x7e,0x50,0x2, 0xac,0x5a,0x2e,0x27,0x8, 0xf6,
+0x1b,0x28,0x40,0xb, 0xa0,0x7e,0x73,0x9, 0xc3,0xbc,0x7a,0x38,0xe0,0xe1,0xb1,0xbe,
+0x60,0x3, 0x68,0x4, 0xa5,0xbe,0x4, 0x6b,0x6c,0x77,0x7e,0xf, 0xf, 0xf7,0x7e,0xf0,
+0x1, 0x80,0x2e,0xa5,0xbe,0x3, 0x13,0x7e,0x50,0x4, 0xac,0x5f,0x49,0xd2,0xf, 0xf9,
+0x49,0xc2,0xf, 0xf7,0xbf,0x6, 0x28,0x17,0x80,0x11,0x7e,0x50,0x4, 0xac,0x5f,0x49,
+0xd2,0xf, 0xf9,0x49,0xc2,0xf, 0xf7,0xbf,0x6, 0x50,0x4, 0x7f,0x6, 0x7c,0x7f,0xb,
+0xf0,0xbc,0xef,0x38,0xce,0x74,0x4, 0xac,0xb7,0x49,0xe5,0xf, 0xa8,0x6c,0xaa,0x80,
+0x18,0x7e,0x70,0x2, 0xac,0x7a,0x2d,0x3e,0xb, 0x38,0x20,0x7e,0x70,0x2, 0xac,0x7a,
+0x2e,0x37,0x8, 0xf6,0x1b,0x38,0x20,0xb, 0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,0xba,0x38,
+0xe0,0x80,0x1e,0x6c,0xaa,0x80,0x12,0x7e,0x70,0x2, 0xac,0x7a,0x49,0x23,0xc, 0xa0,
+0x2e,0x37,0x8, 0xf6,0x1b,0x38,0x20,0xb, 0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,0xba,0x38,
+0xe6,0xda,0x3b,0x22,0xc2,0x5, 0xc2,0x6, 0xc2,0x7, 0x74,0x2, 0x7a,0xb3,0x9, 0x12,
+0x74,0xa, 0x7a,0xb3,0x9, 0x13,0x7e,0x34,0x0, 0xe5,0x7a,0x37,0x9, 0x14,0x7e,0x34,
+0x0, 0xe4,0x7a,0x37,0x9, 0x16,0x7e,0x34,0x0, 0x39,0x7a,0x37,0x9, 0x1a,0x7e,0x34,
+0x1, 0x80,0x7a,0x37,0x9, 0x1c,0x7e,0x34,0x1, 0x60,0x7a,0x37,0x9, 0x1e,0x7e,0x34,
+0x1, 0x26,0x7a,0x37,0x9, 0x20,0x7e,0x34,0x1, 0x70,0x7a,0x37,0x9, 0x22,0x22,0xff,
+0xca,0x3b,0x7d,0xf3,0x7e,0x73,0x9, 0x66,0xa, 0x57,0x7e,0x73,0x9, 0x64,0xa, 0x47,
+0x9d,0x45,0x7e,0xf3,0x9, 0x65,0x7e,0xa3,0x9, 0x63,0xbc,0xf9,0x68,0x2, 0x1, 0x9f,
+0x7a,0xa1,0x23,0x6c,0x88,0x80,0x72,0x7e,0x71,0x23,0x74,0x4, 0xac,0x7b,0x7d,0xe3,
+0x2e,0xe7,0x8, 0xf4,0x49,0x1e,0x0, 0x2, 0xb, 0xe8,0x0, 0x7d,0x3f,0x1a,0x26,0x1a,
+0x24,0xbf,0x10,0x18,0x50,0x6c,0xee,0x80,0x3d,0xa, 0x3e,0xa, 0xea,0x2d,0xe3,0x3e,
+0xe4,0x3e,0xe4,0x2e,0xe7,0x8, 0xf4,0x49,0x3e,0x0, 0x2, 0xb, 0xe8,0x20,0x12,0x9c,
+0xfc,0x7e,0x14,0x0, 0x3, 0x12,0x9a,0x71,0x7e,0x31,0x23,0x74,0x4, 0xac,0x3b,0x7d,
+0xe1,0x2e,0xe7,0x8, 0xf4,0x49,0x1e,0x0, 0x2, 0xb, 0xe8,0x0, 0xbf,0x10,0x8, 0x4,
+0xbc,0xe8,0x78,0x6, 0xb, 0xe0,0xbc,0xfe,0x38,0xbf,0xbc,0xfe,0x78,0x7, 0x7c,0xb8,
+0x12,0x3f,0xe0,0x41,0x2f,0xb, 0x80,0x5, 0x23,0xbc,0xf8,0x38,0x8a,0x41,0x2f,0xbe,
+0x90,0x2, 0x68,0x2, 0x41,0x2f,0x7e,0x30,0x4, 0xac,0x3a,0x2e,0x17,0x8, 0xf4,0x49,
+0x31,0x0, 0x6, 0x49,0x21,0x0, 0x4, 0x49,0xd1,0x0, 0x2, 0xb, 0x18,0xc0,0x2f,0x61,
+0x7d,0xf, 0x1a,0x0, 0x1a,0xe0,0xbf,0x76,0x8, 0x2, 0x41,0x2f,0x75,0x23,0xff,0x12,
+0x9c,0xfc,0x7f,0x1, 0x2f,0x0, 0x2f,0x0, 0x2f,0x0, 0x7e,0x90,0x4, 0xac,0x9a,0x2e,
+0x47,0x8, 0xf4,0x49,0x34,0x0, 0x2, 0xb, 0x48,0x20,0xbf,0x10,0x8, 0x5, 0x75,0x23,
+0x0, 0x41,0x23,0x12,0x9c,0xfc,0x7f,0x1, 0x2f,0x0, 0x2f,0x0, 0x2f,0x0, 0x7e,0x90,
+0x4, 0xac,0x9a,0x2e,0x47,0x8, 0xf4,0x49,0x34,0x0, 0x6, 0x49,0x24,0x0, 0x4, 0xbf,
+0x10,0x8, 0x13,0xbe,0xf0,0x3, 0x78,0x2, 0x41,0x20,0xbe,0xf0,0x4, 0x68,0x2, 0x41,
+0x23,0x75,0x23,0x3, 0x41,0x23,0xbe,0xf0,0x3, 0x78,0x4f,0x12,0x9c,0xfc,0x7f,0x61,
+0x2f,0x66,0x7e,0x70,0x4, 0xac,0x7a,0x2e,0x37,0x8, 0xf4,0x49,0xf3,0x0, 0x2, 0xb,
+0x38,0xe0,0x7e,0x14,0x0, 0x7, 0x7f,0x17,0x12,0x9a,0x71,0xbf,0x61,0x48,0x2, 0x41,
+0x23,0x7f,0x17,0x12,0x9c,0xfc,0x7f,0x71,0x2f,0x77,0x7e,0x30,0x4, 0xac,0x3a,0x2e,
+0x17,0x8, 0xf4,0x49,0x31,0x0, 0x6, 0x49,0x21,0x0, 0x4, 0x7e,0x14,0x0, 0x7, 0x12,
+0x9a,0x71,0xbf,0x17,0x18,0x2, 0x41,0x23,0x80,0x50,0xbe,0xf0,0x4, 0x68,0x2, 0x41,
+0x23,0x49,0x34,0x0, 0x2, 0xb, 0x48,0x20,0x12,0x9c,0xfc,0x7f,0x31,0x2f,0x33,0x7e,
+0x90,0x4, 0xac,0x9a,0x2e,0x47,0x8, 0xf4,0x49,0xf4,0x0, 0x6, 0x49,0xe4,0x0, 0x4,
+0x7e,0x14,0x0, 0x7, 0x7f,0x17,0x12,0x9a,0x71,0xbf,0x31,0x58,0x22,0x7f,0x17,0x12,
+0x9c,0xfc,0x7f,0x1, 0x2f,0x0, 0x7e,0x90,0x4, 0xac,0x9a,0x2e,0x47,0x8, 0xf4,0x49,
+0x34,0x0, 0x2, 0xb, 0x48,0x20,0xbf,0x10,0x8, 0x5, 0x75,0x23,0x1, 0x80,0x54,0x7e,
+0x30,0x4, 0xac,0x3a,0x2e,0x17,0x8, 0xf4,0x49,0x31,0x0, 0x6, 0x49,0x21,0x0, 0x4,
+0x12,0x9c,0xfc,0x7f,0x31,0x2f,0x33,0x7e,0x70,0x4, 0xac,0x7a,0x2e,0x37,0x8, 0xf4,
+0x49,0xf3,0x0, 0x2, 0xb, 0x38,0xe0,0x7e,0x14,0x0, 0x7, 0x7f,0x17,0x12,0x9a,0x71,
+0xbf,0x31,0x58,0x1f,0x7f,0x17,0x12,0x9c,0xfc,0x7f,0x1, 0x2f,0x0, 0x74,0x4, 0xa4,
+0x2e,0x57,0x8, 0xf4,0x49,0x35,0x0, 0x6, 0x49,0x25,0x0, 0x4, 0xbf,0x10,0x8, 0x3,
+0x75,0x23,0x2, 0xe5,0x23,0xbe,0xb0,0xff,0x68,0x5, 0xe5,0x23,0x12,0x3f,0xe0,0xda,
+0x3b,0x22,0x7e,0xb3,0xd, 0xc7,0xb4,0x1, 0x4, 0x6c,0xaa,0x80,0x3, 0x7e,0xa0,0x1,
+0x7e,0x73,0x1, 0xb6,0xa5,0xbf,0x0, 0x1d,0x7e,0x63,0x1, 0xb5,0xbe,0x60,0x2, 0x40,
+0x14,0x5, 0x6b,0xe5,0x6b,0xbc,0xba,0x38,0x5, 0xe4,0x7a,0xb3,0x1, 0xb5,0xe4,0x7a,
+0xb3,0xe, 0x89,0x80,0x3, 0x75,0x6b,0x0, 0xa5,0xbf,0x0, 0x9, 0x7e,0x73,0x1, 0xb5,
+0xbe,0x70,0x1, 0x28,0x10,0xe4,0x7a,0xb3,0xe, 0x89,0x6d,0x22,0x7a,0x27,0xe, 0xa5,
+0x7a,0x27,0xe, 0xa7,0x22,0x7e,0xb3,0xd, 0xf2,0xbe,0xb0,0x1, 0x78,0x2, 0x81,0x4c,
+0x4c,0x77,0x78,0x2, 0x81,0x13,0x7e,0x33,0xe, 0x89,0xbe,0x30,0x1, 0x28,0x2, 0x61,
+0xeb,0x7c,0xb3,0x4, 0x7a,0xb3,0xe, 0x89,0x7e,0x23,0xe, 0x89,0xa5,0xba,0x1, 0x35,
+0x7e,0x7, 0x1, 0x66,0x7a,0x7, 0xe, 0x97,0x7e,0x7, 0x1, 0x68,0x7a,0x7, 0xe, 0x99,
+0x7e,0x1f,0xe, 0x97,0x7a,0x1f,0xe, 0x9b,0x7e,0x1f,0xe, 0x97,0x7a,0x1f,0xe, 0x9f,
+0x6d,0x0, 0x7a,0x7, 0xe, 0xa3,0x7a,0x7, 0xe, 0xa5,0x7a,0x7, 0xe, 0xa7,0xe4,0x7a,
+0xb3,0x1, 0xb5,0x81,0x41,0xbe,0x20,0x1, 0x40,0x18,0x7e,0x37,0x1, 0x66,0x2e,0x37,
+0xe, 0xa5,0x7a,0x37,0xe, 0xa5,0x7e,0x37,0x1, 0x68,0x2e,0x37,0xe, 0xa7,0x7a,0x37,
+0xe, 0xa7,0x7e,0x37,0xe, 0x97,0x9e,0x37,0x1, 0x66,0x12,0x9c,0xec,0x7d,0x3, 0x7e,
+0x37,0xe, 0x99,0x9e,0x37,0x1, 0x68,0x12,0x9c,0xec,0x7d,0xf3,0x7e,0x37,0xe, 0x9b,
+0x9e,0x37,0x1, 0x66,0x12,0x9c,0xec,0x7d,0xe3,0x7e,0x37,0xe, 0x9d,0x9e,0x37,0x1,
+0x68,0x12,0x9c,0xec,0x7d,0x4f,0x2d,0x40,0xbe,0x44,0x0, 0xf, 0x50,0x14,0xbe,0x4,
+0x0, 0x7, 0x50,0xe, 0x2d,0x3e,0xbe,0x34,0x0, 0xa, 0x50,0x6, 0xbe,0xe4,0x0, 0x5,
+0x40,0x53,0x7e,0x23,0xe, 0x89,0xbc,0x2a,0x28,0x4b,0xe4,0x7a,0xb3,0xe, 0x89,0xbe,
+0x44,0x0, 0x4, 0x38,0x2, 0x81,0x41,0x7e,0x37,0xe, 0x9b,0xbe,0x34,0x0, 0x28,0x40,
+0x6, 0xbe,0x34,0x1, 0xa2,0x28,0x24,0x7e,0x27,0xe, 0x9d,0xbe,0x24,0x0, 0x28,0x28,
+0x1a,0xbe,0x24,0x1, 0xa2,0x50,0x14,0x7a,0x37,0x1, 0x66,0x7e,0x27,0x1, 0x68,0x2e,
+0x27,0xe, 0x9d,0x1e,0x24,0x7a,0x27,0x1, 0x68,0x81,0x41,0x7a,0x37,0x1, 0x66,0x7e,
+0x37,0xe, 0x9d,0x80,0x68,0x7e,0x37,0x1, 0x66,0x7a,0x37,0xe, 0x97,0x7e,0x47,0x1,
+0x68,0x7a,0x47,0xe, 0x99,0x7e,0x43,0x1, 0x9a,0x7e,0x50,0x4, 0xac,0x45,0x2e,0x27,
+0x8, 0xf4,0x49,0xf2,0x0, 0x2, 0xb, 0x28,0xe0,0x7e,0xd7,0xe, 0xa3,0x6d,0xcc,0xbf,
+0x67,0x58,0xe, 0x7d,0x2f,0x7a,0x27,0xe, 0xa3,0x7a,0x37,0xe, 0x9f,0x7a,0x47,0xe,
+0xa1,0x7e,0x23,0x1, 0xb6,0x7a,0x23,0x1, 0xb5,0x80,0x56,0xa, 0x23,0xb, 0x24,0x1b,
+0x24,0x7e,0x17,0xe, 0xa5,0x8d,0x12,0x7a,0x17,0xe, 0x97,0x7e,0x37,0xe, 0xa7,0x8d,
+0x32,0x7a,0x37,0xe, 0x99,0x7e,0x27,0xe, 0x97,0x7a,0x27,0x1, 0x66,0x7a,0x37,0x1,
+0x68,0x80,0x2e,0x7e,0xb3,0xe, 0x89,0xbc,0xba,0x28,0x1c,0x7e,0x37,0xe, 0x9f,0x7a,
+0x37,0x1, 0x66,0x7e,0x37,0xe, 0xa1,0x7a,0x37,0x1, 0x68,0x74,0x1, 0x7a,0xb3,0x1,
+0xb5,0x7a,0xb3,0xe, 0x8a,0x80,0x5, 0xe4,0x7a,0xb3,0x1, 0xb5,0xe4,0x7a,0xb3,0xe,
+0x89,0x7e,0xb3,0x1, 0xb5,0x70,0x5, 0xe4,0x7a,0xb3,0x1, 0xb9,0x22,0xca,0x79,0x7e,
+0xb3,0xd, 0xde,0xb4,0x6, 0x2, 0x80,0x2, 0xc1,0x5c,0xe5,0x68,0x7a,0xb3,0xd, 0xde,
+0x7e,0xe3,0xe, 0x4, 0x7c,0xbe,0x24,0xb0,0xbe,0xb0,0xe, 0x40,0x2, 0xc1,0x59,0x7e,
+0xa0,0x3, 0xa4,0x90,0x34,0x77,0x73,0x2, 0x34,0xa1,0x2, 0x35,0x23,0x2, 0x35,0x56,
+0x2, 0x35,0x9d,0x2, 0x36,0x59,0x2, 0x35,0xfa,0x2, 0x36,0x59,0x2, 0x35,0xfa,0x2,
+0x36,0x59,0x2, 0x35,0xfa,0x2, 0x36,0x59,0x2, 0x35,0xfa,0x2, 0x36,0x59,0x2, 0x36,
+0x51,0x7e,0xb3,0xe, 0x5, 0xf5,0x92,0x7e,0x73,0xe, 0x6, 0x7a,0x73,0xd, 0xc8,0x7e,
+0x34,0x0, 0x33,0xca,0x39,0x7e,0x18,0xe, 0x7, 0x7e,0x8, 0x9, 0x62,0x12,0x9c,0xb5,
+0x1b,0xfd,0x7e,0x73,0xe, 0x3a,0x7a,0x73,0x1, 0xe6,0x7e,0x34,0x0, 0x6, 0xca,0x39,
+0x7e,0x18,0xe, 0x3b,0x7e,0x8, 0x1, 0xc9,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x73,0xe,
+0x41,0x7a,0x73,0x2, 0x1e,0x7e,0x34,0x0, 0x4, 0xca,0x39,0x7e,0x18,0xe, 0x42,0x7e,
+0x8, 0x1, 0xe9,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x73,0xe, 0x46,0x7a,0x73,0x2, 0x21,
+0x7e,0x34,0x0, 0x1c,0xca,0x39,0x7e,0x18,0xe, 0x47,0x7e,0x8, 0x1, 0xed,0x12,0x9c,
+0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0xb, 0xca,0x39,0x7e,0x18,0xe, 0x63,0x7e,0x8, 0x1,
+0x49,0x80,0x73,0x7e,0x73,0xe, 0x5, 0x7a,0x73,0x2, 0x1e,0x7e,0x34,0x0, 0x12,0xca,
+0x39,0x7e,0x18,0xe, 0x6, 0x7e,0x8, 0x2, 0x23,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x73,
+0xe, 0x18,0x7a,0x73,0x2, 0x1d,0x7e,0x34,0x0, 0x58,0xca,0x39,0x7e,0x18,0xe, 0x19,
+0x7e,0x8, 0x2, 0x85,0x80,0x40,0x7e,0x73,0xe, 0x5, 0x7a,0x73,0x2, 0x20,0x7e,0x34,
+0x0, 0x4, 0xca,0x39,0x7e,0x18,0xe, 0x6, 0x7e,0x8, 0x2, 0x9, 0x12,0x9c,0xb5,0x1b,
+0xfd,0x7e,0x34,0x0, 0x50,0xca,0x39,0x7e,0x18,0xe, 0xa, 0x7e,0x8, 0x2, 0x35,0x12,
+0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x26,0xca,0x39,0x7e,0x17,0x1, 0xc1,0x1a,0x2,
+0x1a,0x0, 0x7e,0x18,0xe, 0x5a,0x12,0x9c,0xb5,0x1b,0xfd,0xc1,0x59,0x7e,0x34,0x0,
+0x2e,0xca,0x39,0x7e,0x18,0xe, 0x5, 0x7e,0x8, 0x9, 0x67,0x12,0x9c,0xb5,0x1b,0xfd,
+0x6c,0xff,0xa, 0x3f,0x9, 0x73,0xe, 0x5, 0xbc,0x7f,0x68,0x5, 0x75,0x6a,0x1, 0x80,
+0x7, 0xb, 0xf0,0xbe,0xf0,0x16,0x40,0xea,0xbe,0xf0,0x16,0x50,0x2, 0xc1,0x59,0x7e,
+0xb3,0xd, 0x8f,0x1b,0xb2,0x68,0xd, 0x14,0x68,0x5, 0x7e,0xf0,0x2e,0x80,0x8, 0x7e,
+0xf0,0x24,0x80,0x3, 0x7e,0xf0,0x16,0x7a,0xf3,0xd, 0x6a,0xe4,0x7a,0xb3,0xd, 0x6b,
+0x7a,0xf3,0x9, 0x63,0x7a,0xb3,0x9, 0x64,0x80,0x5f,0xbe,0xe0,0x55,0x68,0x5, 0xbe,
+0xe0,0x57,0x78,0x3, 0xe4,0x80,0x2, 0x74,0x1, 0x7a,0xb3,0xe, 0x2, 0x7e,0x34,0x0,
+0x14,0xca,0x39,0xa, 0x2e,0x9e,0x24,0x0, 0x55,0xad,0x32,0x7e,0x24,0x0, 0x2, 0x12,
+0x9a,0x2e,0x7d,0x13,0x2e,0x14,0x2, 0x35,0x6d,0x0, 0x7e,0x18,0xe, 0x5, 0x12,0x9c,
+0xb5,0x1b,0xfd,0x6c,0xff,0xa, 0x3f,0x9, 0xb3,0xe, 0x5, 0x70,0x7, 0xb, 0xf0,0xbe,
+0xf0,0x14,0x40,0xf1,0xbe,0xf0,0x14,0x40,0x10,0x74,0x2, 0x7a,0xb3,0x1, 0xe6,0x80,
+0x8, 0x7e,0x73,0xe, 0x5, 0x7a,0x73,0x1, 0xe6,0x12,0x86,0x15,0xda,0x79,0x22,0xca,
+0x3b,0x6c,0xff,0x75,0x29,0x0, 0x7e,0x64,0x3, 0xe8,0x7e,0xe0,0x1, 0xe1,0xc0,0x1a,
+0x2e,0x7e,0x34,0x0, 0x22,0xad,0x32,0x2e,0x34,0x87,0xe8,0x7a,0x71,0x82,0x7a,0x61,
+0x83,0xe4,0x93,0x12,0x6d,0x9a,0x70,0x2, 0xe1,0xbe,0x6d,0x33,0x7a,0x35,0x2a,0x7a,
+0x35,0x2c,0x7a,0x35,0x2e,0x7a,0x35,0x30,0x7a,0x35,0x32,0x1a,0x2e,0x7e,0x34,0x0,
+0x22,0xad,0x32,0x7d,0x23,0x2e,0x24,0x87,0xea,0x7a,0x25,0x34,0x2e,0x34,0x87,0xfa,
+0x7a,0x35,0x36,0x75,0x25,0x1, 0xe5,0x25,0x1a,0x3b,0x9, 0x53,0x10,0x60,0x1a,0x25,
+0x2e,0x35,0x34,0x7a,0x71,0x82,0x7a,0x61,0x83,0xe4,0x93,0x1a,0x3b,0x9d,0x32,0x12,
+0x9c,0xec,0x7d,0x3, 0x7e,0x15,0x2e,0xbd,0x10,0x58,0x3, 0x7a,0x5, 0x2e,0xe5,0x25,
+0x1a,0x3b,0x9, 0x53,0x10,0x70,0x1a,0x25,0x2e,0x35,0x36,0x7a,0x71,0x82,0x7a,0x61,
+0x83,0xe4,0x93,0x1a,0x3b,0x9d,0x32,0x12,0x9c,0xec,0x7d,0xf3,0x7e,0x15,0x30,0xbd,
+0x1f,0x58,0x3, 0x7a,0xf5,0x30,0x7d,0x10,0x2e,0x15,0x2a,0x7a,0x15,0x2a,0x7d,0x1f,
+0x2e,0x15,0x2c,0x7a,0x15,0x2c,0x2d,0xf0,0x7e,0x15,0x32,0xbd,0x1f,0x58,0x3, 0x7a,
+0xf5,0x32,0x5, 0x25,0xe5,0x25,0xb4,0x10,0x8d,0x7e,0x35,0x2a,0xbe,0x34,0x1, 0x80,
+0x8, 0x2, 0xe1,0xbe,0x7e,0x37,0x10,0x47,0xbe,0x35,0x2c,0x58,0x2, 0xe1,0xbe,0x7e,
+0x35,0x2e,0xbe,0x34,0x0, 0x2d,0x58,0x76,0x7e,0x37,0x10,0x5e,0xbe,0x35,0x30,0x8,
+0x6d,0x7e,0x15,0x34,0x7e,0x4, 0x0, 0xff,0x7e,0x18,0x10,0x60,0x12,0x61,0xc1,0xf5,
+0x26,0xbe,0xb0,0x38,0x48,0x58,0x7e,0x15,0x36,0x7e,0x4, 0x0, 0xff,0x7e,0x18,0x10,
+0x70,0x12,0x61,0xc1,0xf5,0x27,0xbe,0xb0,0x38,0x48,0x43,0x7e,0x71,0x27,0xe, 0x70,
+0x1a,0x27,0x7e,0x71,0x26,0xe, 0x70,0x1a,0x37,0x2d,0x32,0x7a,0x71,0x28,0xbe,0x70,
+0x32,0x48,0x2b,0x7e,0x35,0x2e,0x2e,0x35,0x2e,0x2e,0x35,0x32,0x7a,0x35,0x38,0xe5,
+0x28,0x1a,0x2b,0x7e,0x34,0x0, 0x64,0x9d,0x32,0x3e,0x34,0x2e,0x35,0x38,0x7a,0x35,
+0x38,0xbe,0x65,0x38,0x8, 0x8, 0x7e,0x65,0x38,0x85,0x28,0x29,0x7c,0xfe,0xb, 0xe0,
+0x7e,0x73,0x10,0x59,0xbc,0x7e,0x8, 0x2, 0xc1,0x6f,0xe5,0x29,0xbe,0xb0,0x46,0x48,
+0x23,0x1a,0x2f,0x7e,0x34,0x0, 0x22,0xad,0x32,0x2e,0x34,0x87,0xe8,0x7a,0x71,0x82,
+0x7a,0x61,0x83,0xe4,0x93,0xbe,0xb0,0xff,0x50,0xa, 0x1a,0x3f,0xb, 0x34,0x7a,0x73,
+0x10,0x4d,0x80,0x6, 0x74,0x7e,0x7a,0xb3,0x10,0x4d,0xda,0x3b,0x22,0xff,0xff,0xff,
+0xca,0x69,0xca,0xf8,0x7e,0xb7,0x1, 0xc9,0x9e,0xb4,0x0, 0x3c,0x7e,0xa7,0x1, 0xcb,
+0x9e,0xa4,0x0, 0x3c,0x7e,0x3, 0x1, 0xb5,0x7e,0xb3,0x1, 0x4b,0x70,0x2, 0x41,0x9,
+0x4c,0x0, 0x78,0x2, 0x41,0x9, 0x6c,0x11,0x74,0x5, 0xac,0xb1,0x9, 0xf5,0x1, 0x88,
+0xbe,0xf0,0x2, 0x50,0x2e,0x49,0x15,0x1, 0x84,0x49,0x45,0x1, 0x86,0x74,0x6, 0xac,
+0xbf,0x9, 0xb5,0x1, 0x93,0x70,0x1c,0x74,0x4, 0xac,0xbf,0x59,0x15,0xe, 0xd2,0x59,
+0x45,0xe, 0xd4,0x59,0x15,0xe, 0xda,0x59,0x45,0xe, 0xdc,0x59,0x15,0xe, 0xe2,0x59,
+0x45,0xe, 0xe4,0xb, 0x10,0xa5,0xb9,0x2, 0xbf,0x12,0x79,0x4, 0x60,0x28,0x6c,0x11,
+0x7e,0x50,0x5, 0xac,0x51,0x9, 0xa2,0x1, 0x88,0x74,0x4, 0xa4,0x49,0x35,0xe, 0xd2,
+0x59,0x32,0x1, 0x84,0x49,0x35,0xe, 0xd4,0x74,0x5, 0xac,0xb1,0x59,0x35,0x1, 0x86,
+0xb, 0x10,0xa5,0xb9,0x2, 0xda,0x6c,0x11,0x41,0x3, 0x74,0x5, 0xac,0xb1,0x9, 0xf5,
+0x1, 0x88,0xbe,0xf0,0x2, 0x40,0x2, 0x41,0x1, 0x49,0x15,0x1, 0x84,0x49,0x45,0x1,
+0x86,0x74,0x4, 0xac,0xbf,0x49,0x85,0xe, 0xd2,0x7d,0x91,0x9d,0x98,0x49,0x35,0xe,
+0xd4,0x7d,0x84,0x9d,0x83,0x49,0x25,0xe, 0xda,0x7d,0x31,0x9d,0x32,0x7a,0x35,0x23,
+0x49,0x35,0xe, 0xdc,0x7d,0x54,0x9d,0x53,0x7a,0x55,0x25,0xbe,0x14,0x0, 0x3c,0x40,
+0xe, 0xbd,0xb1,0x40,0xa, 0xbe,0x44,0x0, 0x3c,0x40,0x4, 0xbd,0xa4,0x50,0xe, 0x7e,
+0x73,0x0, 0x94,0xa, 0xe7,0x7d,0xce,0x7e,0x73,0x0, 0x95,0x80,0xc, 0x7e,0x73,0x0,
+0x92,0xa, 0xe7,0x7d,0xce,0x7e,0x73,0x0, 0x93,0xa, 0xf7,0x7d,0xdf,0x2e,0xf4,0x0,
+0x5, 0x7e,0x35,0x25,0x12,0x9c,0xec,0x7d,0x53,0x7e,0x35,0x23,0x12,0x9c,0xec,0x2d,
+0x53,0xbe,0x54,0x0, 0x16,0x18,0x57,0x7d,0x39,0x12,0x9c,0xec,0xbd,0x3c,0x18,0x17,
+0x7d,0x38,0x12,0x9c,0xec,0xbd,0x3d,0x18,0xe, 0x74,0x4, 0xac,0xbf,0x49,0x15,0xe,
+0xd2,0x49,0x45,0xe, 0xd4,0x80,0x78,0x7d,0x39,0x12,0x9c,0xec,0xbd,0x3e,0x18,0x6f,
+0x7d,0x38,0x12,0x9c,0xec,0xbd,0x3f,0x18,0x66,0x7e,0x90,0x4, 0xac,0x9f,0x49,0x14,
+0xe, 0xd2,0x7e,0x64,0x0, 0x3, 0x7d,0x39,0x7d,0x26,0x12,0x9a,0x2e,0x2d,0x13,0x49,
+0x44,0xe, 0xd4,0x7d,0x38,0x7d,0x26,0x12,0x9a,0x2e,0x2d,0x43,0x80,0x41,0x7e,0x70,
+0x4, 0xac,0x7f,0x49,0x23,0xe, 0xd2,0xbd,0x21,0x68,0x8, 0x49,0x23,0xe, 0xe2,0xbd,
+0x21,0x78,0x2c,0x49,0x23,0xe, 0xd4,0xbd,0x24,0x68,0x8, 0x49,0x23,0xe, 0xe4,0xbd,
+0x24,0x78,0x1c,0x7e,0xb3,0xe, 0xea,0x4, 0x7a,0xb3,0xe, 0xea,0x7e,0x53,0xe, 0xea,
+0xbe,0x50,0xa, 0x28,0xf, 0x59,0x13,0xe, 0xda,0x59,0x43,0xe, 0xdc,0x80,0x5, 0xe4,
+0x7a,0xb3,0xe, 0xea,0x7e,0x70,0x4, 0xac,0x7f,0x49,0x23,0xe, 0xd2,0xbd,0x21,0x78,
+0x8, 0x49,0x53,0xe, 0xd4,0xbd,0x54,0x68,0xc, 0x59,0x23,0xe, 0xe2,0x49,0x53,0xe,
+0xd4,0x59,0x53,0xe, 0xe4,0x74,0x4, 0xac,0xbf,0x59,0x15,0xe, 0xd2,0x74,0x4, 0xac,
+0xbf,0x59,0x45,0xe, 0xd4,0x74,0x5, 0xac,0xb1,0x59,0x15,0x1, 0x84,0x59,0x45,0x1,
+0x86,0xb, 0x10,0xbc,0x1, 0x28,0x2, 0x1, 0x9a,0xda,0xf8,0xda,0x69,0x22,0xca,0xf8,
+0x7e,0x34,0x0, 0x3e,0xca,0x39,0x7e,0x34,0xb4,0x78,0x7e,0x24,0x0, 0xff,0x7e,0x8,
+0x0, 0xed,0x12,0x9c,0xb5,0x1b,0xfd,0x90,0xb4,0x45,0xe4,0x93,0x7a,0xb3,0xd, 0x6a,
+0x90,0xb4,0x48,0xe4,0x93,0xa, 0x2b,0x90,0xb4,0x46,0xe4,0x93,0xa, 0x3b,0x9d,0x32,
+0x7a,0x73,0xd, 0x6b,0x7e,0x34,0x0, 0x5, 0xca,0x39,0x7e,0x34,0xb4,0x44,0x7e,0x24,
+0x0, 0xff,0x7e,0x8, 0x9, 0x62,0x12,0x9c,0xb5,0x1b,0xfd,0xe5,0x6a,0x70,0x17,0x7e,
+0x34,0x0, 0x2e,0xca,0x39,0x7e,0x34,0xb4,0x49,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x9,
+0x67,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x10,0xca,0x39,0x7e,0x34,0xb6,0x46,
+0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x1, 0x49,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0,
+0x4, 0xca,0x39,0x7e,0x34,0xb6,0x6e,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x0, 0x92,0x12,
+0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x5a,0xca,0x39,0x7e,0x34,0xb5,0x26,0x7e,0x24,
+0x0, 0xff,0x7e,0x8, 0x1, 0xc1,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x12,0xca,
+0x39,0x7e,0x34,0xb5,0x85,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x2, 0x23,0x12,0x9c,0xb5,
+0x1b,0xfd,0x7e,0x34,0x0, 0x50,0xca,0x39,0x7e,0x34,0xb5,0x97,0x7e,0x24,0x0, 0xff,
+0x7e,0x8, 0x2, 0x35,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x58,0xca,0x39,0x7e,
+0x34,0xb5,0xe7,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x2, 0x85,0x12,0x9c,0xb5,0x1b,0xfd,
+0x7e,0x34,0x0, 0x5, 0xca,0x39,0x7e,0x34,0xb5,0x80,0x7e,0x24,0x0, 0xff,0x7e,0x8,
+0x2, 0x1d,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x6, 0xca,0x39,0x7e,0x34,0xb6,
+0x46,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x1, 0x49,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,
+0x0, 0x6, 0xca,0x39,0x7e,0x34,0xb6,0x62,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x0, 0xc4,
+0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x8, 0xca,0x39,0x7e,0x34,0xb6,0x72,0x7e,
+0x24,0x0, 0xff,0x7e,0x8, 0x0, 0xa2,0x12,0x9c,0xb5,0x1b,0xfd,0x90,0xb6,0x7c,0xe4,
+0x93,0x7a,0xb3,0x0, 0xb1,0x90,0xb6,0x7d,0xe4,0x93,0x7a,0xb3,0x0, 0xb2,0x7e,0x34,
+0x0, 0x6, 0xca,0x39,0x7e,0x34,0xb6,0x86,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x0, 0xb3,
+0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x8, 0xca,0x39,0x7e,0x34,0xb6,0x7e,0x7e,
+0x24,0x0, 0xff,0x7e,0x8, 0x0, 0x96,0x12,0x9c,0xb5,0x1b,0xfd,0x90,0xb4,0xc6,0xe4,
+0x93,0x7c,0x7b,0x74,0x64,0xac,0x7b,0x7e,0x24,0x0, 0x3, 0x12,0x9a,0x2e,0x7a,0x37,
+0x0, 0xae,0x7e,0x34,0xb6,0x7a,0x7e,0x24,0x0, 0xff,0xb, 0x1a,0x30,0x7a,0x37,0x0,
+0xac,0x7e,0xf3,0xd, 0xde,0x7e,0x34,0x0, 0x60,0xca,0x39,0x7e,0x34,0xb4,0xc6,0x7e,
+0x24,0x0, 0xff,0x7e,0x8, 0xd, 0xa2,0x12,0x9c,0xb5,0x1b,0xfd,0x90,0xb4,0x12,0xe4,
+0x93,0x7a,0xb3,0xd, 0xca,0x90,0xb4,0x44,0xe4,0x93,0x7a,0xb3,0xd, 0xc2,0x7a,0xf3,
+0xd, 0xde,0x12,0x85,0x6f,0x12,0x85,0x27,0x12,0x85,0xf, 0x12,0x85,0x87,0x12,0x85,
+0x57,0x12,0x84,0xf7,0x12,0x84,0xdf,0x12,0x85,0x3f,0x12,0x85,0x9f,0xda,0xf8,0x22,
+0xca,0xd8,0xca,0x79,0x6d,0xff,0x7e,0xa3,0x1, 0xb5,0x7c,0xa, 0xe5,0x60,0xbe,0xb0,
+0xa, 0x50,0x2, 0x5, 0x60,0x4c,0xaa,0x78,0x24,0x6c,0x11,0x6d,0x11,0x7e,0x70,0x2,
+0xac,0x71,0x59,0x13,0x11,0x30,0x7e,0x70,0xff,0x7e,0x30,0x5, 0xac,0x31,0x19,0x71,
+0x11,0x2a,0xb, 0x10,0xa5,0xb9,0x2, 0xe3,0x75,0x60,0x0, 0x80,0x14,0xbe,0xa0,0x0,
+0x28,0xf, 0x7e,0xb3,0x1, 0xb6,0x70,0x9, 0xe4,0x7a,0xb3,0x11,0x34,0x7a,0xb3,0x11,
+0x35,0x6c,0x11,0xa1,0xd5,0x74,0x5, 0xac,0xb1,0x9, 0xf5,0x1, 0x6a,0xbe,0xf0,0x2,
+0x40,0x2, 0xa1,0xd3,0x74,0x6, 0xac,0xbf,0x9, 0xb5,0x1, 0x93,0xbe,0xb0,0x1, 0x78,
+0x2, 0xa1,0xd3,0x6c,0xee,0x74,0x5, 0xac,0xbe,0x9, 0xd5,0x11,0x2a,0xbc,0xdf,0x68,
+0x2, 0xa1,0xca,0x49,0x25,0x11,0x26,0x74,0x5, 0xac,0xb1,0x49,0x35,0x1, 0x66,0x9d,
+0x32,0x12,0x9c,0xec,0x7d,0xf3,0x74,0x5, 0xac,0xbe,0x49,0x25,0x11,0x28,0x74,0x5,
+0xac,0xb1,0x49,0x35,0x1, 0x68,0x9d,0x32,0x12,0x9c,0xec,0x7d,0x43,0x2d,0x4f,0xe5,
+0x60,0xb4,0x2, 0x11,0xbe,0x44,0x0, 0x50,0x28,0xb, 0x7e,0x15,0x5e,0x74,0x2, 0xac,
+0xbf,0x59,0x15,0x11,0x30,0x74,0x5, 0xac,0xbe,0x49,0x15,0x11,0x28,0xbe,0x17,0x0,
+0xd2,0x78,0xe, 0x74,0x5, 0xac,0xb1,0x49,0x15,0x1, 0x68,0xbe,0x17,0x0, 0xd2,0x78,
+0x69,0xa, 0x1d,0x9, 0xa1,0x11,0x34,0xbe,0xa0,0x0, 0x28,0x17,0x7e,0x30,0x2, 0xac,
+0x3d,0x59,0x41,0x11,0x30,0xa, 0x1d,0x2e,0x14,0x11,0x34,0x7c,0xba,0x14,0x7a,0x19,
+0xb0,0xa1,0xd3,0x7e,0x30,0x2, 0xac,0x3d,0x49,0xe1,0x11,0x30,0xbe,0xe4,0x0, 0x32,
+0x28,0x14,0xbe,0x44,0x0, 0x32,0x28,0xe, 0x59,0x41,0x11,0x30,0x74,0x2, 0xa, 0x3d,
+0x19,0xb3,0x11,0x34,0xa1,0xd3,0x7d,0x5e,0x2e,0x54,0x0, 0x32,0xbd,0x54,0x50,0x14,
+0xbe,0xe4,0x0, 0x32,0x28,0xe, 0x59,0x41,0x11,0x30,0x74,0x2, 0xa, 0x1d,0x19,0xb1,
+0x11,0x34,0x80,0x7f,0xbe,0x44,0x0, 0x96,0x28,0x66,0xe4,0xa, 0x1d,0x19,0xb1,0x11,
+0x34,0x7e,0x30,0x6, 0xac,0x3f,0x9, 0xb1,0x1, 0x93,0x70,0x4, 0x74,0x3, 0x80,0x8,
+0x7e,0xb3,0x10,0xed,0x70,0x6, 0x74,0x1, 0x19,0xb1,0x1, 0x93,0x7e,0x70,0x5, 0xac,
+0x71,0x2e,0x34,0x1, 0x66,0x7e,0x14,0xc, 0xa0,0x74,0x5, 0x12,0x9b,0x1, 0xbe,0x0,
+0x0, 0x28,0x2d,0x1b,0x0, 0x7e,0x70,0x5, 0xac,0x70,0x2e,0x34,0x1, 0x66,0x7e,0x30,
+0x5, 0xac,0x31,0x2e,0x14,0x1, 0x66,0x74,0x5, 0x12,0x9b,0x1, 0x7e,0x34,0xc, 0xa0,
+0x7e,0x30,0x5, 0xac,0x30,0x2e,0x14,0x1, 0x66,0x74,0x5, 0x12,0x9b,0x1, 0x1b,0x10,
+0x74,0x2, 0xac,0xbd,0x59,0x45,0x11,0x30,0x80,0x9, 0xb, 0xe0,0xbe,0xe0,0x2, 0x50,
+0x2, 0x81,0x85,0xb, 0x10,0x7e,0x73,0x1, 0xb5,0xbc,0x71,0x28,0x2, 0x81,0x65,0x7a,
+0x3, 0x1, 0xb5,0x6c,0x11,0x7e,0x30,0x5, 0xac,0x31,0x7d,0x31,0x2e,0x34,0x1, 0x66,
+0x2e,0x14,0x11,0x26,0x74,0x5, 0x12,0x9b,0x1, 0xb, 0x10,0xbe,0x10,0x2, 0x40,0xe5,
+0xda,0x79,0xda,0xd8,0x22,0x7e,0xb3,0x1, 0x28,0x70,0x2, 0xe1,0xdf,0x7e,0xb3,0xd,
+0xad,0x70,0x2, 0xe1,0xdf,0x7e,0x37,0x0, 0x81,0xbe,0x37,0x10,0xd7,0x50,0x30,0x7e,
+0x27,0x0, 0x85,0xbe,0x27,0x10,0xd7,0x50,0x4, 0x74,0x3, 0x80,0x16,0x7e,0x27,0x0,
+0x83,0xbe,0x27,0x10,0xd7,0x50,0x4, 0x74,0x2, 0x80,0x8, 0xbe,0x37,0x10,0xd7,0x50,
+0x6, 0x74,0x1, 0x7a,0xb3,0x10,0xec,0x74,0x1, 0x7a,0xb3,0x10,0xed,0x80,0x9, 0xe4,
+0x7a,0xb3,0x10,0xed,0x7a,0xb3,0x10,0xec,0x7e,0x73,0x10,0xf0,0x7c,0xb7,0x30,0xe7,
+0xe, 0x7e,0xb3,0x10,0xe8,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0x10,0xe8,0x3e,
+0x70,0x7a,0x73,0x10,0xf0,0x7e,0xb3,0x10,0xed,0x60,0x11,0x7e,0xb3,0x10,0xe8,0x4,
+0x7a,0xb3,0x10,0xe8,0x7e,0xb3,0x10,0xf0,0x44,0x1, 0x80,0x6, 0x7e,0xb3,0x10,0xf0,
+0x54,0xfe,0x7a,0xb3,0x10,0xf0,0x7e,0x73,0x0, 0x87,0xbe,0x73,0x10,0xe8,0x50,0x6,
+0x74,0x1, 0x7a,0xb3,0x10,0xd9,0x7e,0x37,0x0, 0x81,0xbe,0x37,0x10,0xd5,0x50,0x9,
+0x7e,0xb3,0x10,0xe7,0x4, 0x7a,0xb3,0x10,0xe7,0x7e,0xb3,0x10,0xda,0xbe,0xb0,0x4,
+0x50,0x7, 0x4, 0x7a,0xb3,0x10,0xda,0xe1,0x74,0x7e,0x73,0x10,0xe7,0xbe,0x70,0x2,
+0x50,0x2f,0x7e,0xa3,0x10,0xef,0xbe,0xa0,0xff,0x78,0xa, 0x7e,0xb3,0x10,0xea,0x7a,
+0xb3,0x10,0xef,0x80,0x1c,0x74,0x2, 0xa4,0x49,0x25,0x10,0xdb,0x7e,0xa3,0x10,0xea,
+0x7e,0x70,0x2, 0xac,0x7a,0x49,0x33,0x10,0xdb,0xbd,0x32,0x50,0x4, 0x7a,0xa3,0x10,
+0xef,0xe4,0x7a,0xb3,0x10,0xda,0x7a,0xb3,0x10,0xe7,0x7e,0xb3,0x10,0xea,0x4, 0x7a,
+0xb3,0x10,0xea,0x7e,0x73,0x10,0xea,0xbe,0x70,0x4, 0x28,0xb, 0xe4,0x7a,0xb3,0x10,
+0xea,0x74,0x1, 0x7a,0xb3,0x10,0xf1,0x7e,0x73,0x10,0xeb,0xbe,0x73,0x10,0xea,0x78,
+0x1d,0x7e,0xb3,0x10,0xea,0x4, 0x7a,0xb3,0x10,0xea,0x7e,0x73,0x10,0xea,0xbe,0x70,
+0x4, 0x28,0xb, 0xe4,0x7a,0xb3,0x10,0xea,0x74,0x1, 0x7a,0xb3,0x10,0xf1,0x7e,0x73,
+0x10,0xea,0xa, 0x37,0x2e,0x34,0x0, 0x3, 0x7a,0x73,0x10,0xe6,0x74,0x1, 0x7a,0xb3,
+0x10,0xee,0x7e,0xb3,0x10,0xf1,0x60,0xc, 0x7e,0x8, 0x10,0xdb,0x7e,0x34,0x0, 0xa,
+0xe4,0x12,0x9c,0xda,0x7e,0xb3,0x10,0xd9,0x60,0x60,0x7e,0xb3,0x10,0xf1,0x60,0x5a,
+0x7e,0x73,0x10,0xef,0xbe,0x70,0xff,0x68,0x3e,0x7a,0x73,0x10,0xeb,0xa, 0x37,0x2e,
+0x34,0x0, 0x3, 0x7a,0x73,0x10,0xe5,0x74,0x1, 0x7a,0xb3,0x10,0xee,0xe4,0x7a,0xb3,
+0x10,0xe8,0x7a,0xb3,0x10,0xf0,0x7a,0xb3,0x10,0xea,0x7e,0xb3,0x10,0xeb,0x70,0x9,
+0x7e,0xb3,0x10,0xea,0x4, 0x7a,0xb3,0x10,0xea,0xe4,0x7a,0xb3,0x10,0xd9,0x74,0xff,
+0x7a,0xb3,0x10,0xef,0xe4,0x80,0xf, 0x7e,0xb3,0x1, 0x29,0x60,0xd, 0xe5,0x66,0x70,
+0x3, 0x30,0x9, 0x6, 0x74,0x1, 0x7a,0xb3,0x10,0xe9,0xe4,0x7a,0xb3,0x10,0xf1,0x22,
+0x7c,0xab,0x7e,0xb3,0x1, 0xb5,0x4, 0x7a,0xb3,0x1, 0xb5,0x74,0x2, 0xa4,0x49,0x35,
+0x0, 0xca,0x7a,0x37,0x1, 0x66,0x7e,0x37,0x0, 0xd2,0x7a,0x37,0x1, 0x68,0x22,0xff,
+0xca,0xf8,0x6c,0xff,0x7e,0xb3,0x1, 0xb9,0x70,0x14,0x7e,0xb3,0x1, 0xbb,0x70,0xe,
+0x7e,0xb3,0x1, 0xbd,0x70,0x8, 0x7e,0xb3,0x1, 0xba,0x70,0x2, 0x21,0x7c,0x7e,0xb3,
+0x1, 0xb4,0x4, 0x7a,0xb3,0x1, 0xb4,0x7e,0x73,0x1, 0xb4,0xbe,0x70,0x2, 0x40,0x6,
+0x74,0x2, 0x7a,0xb3,0x1, 0xb4,0x20,0xe, 0x6, 0x7e,0xf4,0x10,0xf2,0x80,0x4, 0x7e,
+0xf4,0x11,0x0, 0x7d,0x1f,0x6d,0x0, 0x7e,0x34,0x0, 0xe, 0x74,0xff,0x12,0x9c,0xda,
+0xe5,0x63,0x7a,0xf9,0xb0,0x6c,0x33,0x6c,0x22,0x7e,0x70,0x5, 0xac,0x73,0x9, 0x13,
+0x1, 0x88,0xbe,0x10,0xff,0x78,0x2, 0x21,0x19,0x74,0x6, 0xac,0xb1,0x9, 0x5, 0x1,
+0x93,0xbe,0x0, 0x3, 0x78,0x2, 0x21,0x19,0x49,0x23,0x1, 0x84,0x7e,0x37,0x1, 0xc9,
+0x9d,0x32,0x12,0x9c,0xec,0x7d,0x43,0x7e,0x57,0x1, 0xc9,0xbd,0x54,0x78,0x6, 0x7e,
+0x73,0x2, 0x11,0xa, 0x47,0xbe,0x0, 0x1, 0x68,0x2, 0xb, 0xf0,0xa5,0xb8,0x1, 0x3,
+0x75,0x5a,0x0, 0xa, 0x50,0x3, 0x3, 0x54,0xc0,0x7c,0xab,0xe4,0x4d,0x45,0x7e,0xb3,
+0xe, 0x2, 0x60,0x2b,0x4e,0x80,0x10,0x7e,0xa3,0x9, 0xc5,0x74,0x40,0xa4,0xbe,0x57,
+0x1, 0xc9,0x50,0x4, 0x6d,0xee,0x80,0x6, 0x7d,0xe5,0x9e,0xe7,0x1, 0xc9,0x7d,0x54,
+0x5e,0xa0,0xf, 0xbd,0x5e,0x50,0x6, 0x5e,0x44,0xf0,0x0, 0x80,0x2, 0x9d,0x4e,0x7e,
+0x70,0x6, 0xac,0x72,0x7d,0x23,0x2d,0x2f,0x59,0x42,0x0, 0x2, 0x74,0x5, 0xac,0xb3,
+0x49,0x45,0x1, 0x86,0xa, 0x51,0xc4,0x54,0xf0,0x7c,0xab,0xe4,0x5e,0x80,0xf, 0x4d,
+0x45,0x7d,0x23,0x2d,0x2f,0x59,0x42,0x0, 0x4, 0x7d,0x23,0x2d,0x2f,0x19,0xb2,0x0,
+0x6, 0x2d,0x3f,0x19,0xb3,0x0, 0x7, 0xb, 0x20,0xb, 0x30,0xa5,0xbb,0x2, 0x2, 0x80,
+0x2, 0x1, 0x59,0x19,0xff,0x0, 0x1, 0x30,0xe, 0x4, 0xc2,0xe, 0x80,0x2, 0xd2,0xe,
+0x7e,0xb3,0x1, 0xbb,0x60,0x3, 0x12,0x81,0x7c,0xe4,0x7a,0xb3,0x1, 0xb9,0x7a,0xb3,
+0x1, 0xbb,0x7a,0xb3,0x1, 0xbd,0x7e,0xb3,0x1, 0x52,0x60,0x19,0x7e,0xb3,0xd, 0xf2,
+0xb4,0x1, 0x12,0x7e,0xb3,0x1, 0xba,0x60,0x11,0x74,0x1, 0x12,0x87,0xc1,0xe4,0x7a,
+0xb3,0x1, 0xba,0x80,0x5, 0x74,0x1, 0x12,0x87,0xc1,0x74,0x2d,0x12,0x86,0x59,0x7e,
+0xb3,0xd, 0xc6,0xb4,0x1, 0xe, 0xe4,0x12,0x87,0xc1,0x80,0x8, 0xe4,0x12,0x87,0xc1,
+0x7a,0xb3,0x1, 0xb4,0xda,0xf8,0x22,0xca,0x69,0xca,0xf8,0x7e,0xb3,0x1, 0x52,0x70,
+0x2, 0x61,0x9, 0x7e,0xb3,0xd, 0xf2,0x70,0x2, 0x61,0x9, 0x65,0x57,0x68,0x5, 0xe4,
+0x7a,0xb3,0xd, 0xf5,0x7e,0xb3,0xd, 0xf2,0xf5,0x57,0x7e,0x37,0x1, 0x84,0x7e,0x27,
+0x1, 0x86,0x7e,0xa3,0x1, 0xb5,0xbe,0xa0,0x0, 0x38,0x2, 0x41,0x46,0x7e,0x17,0x3,
+0x24,0xbe,0x17,0xb, 0xb6,0x38,0x2, 0x61,0x4, 0xe4,0x7a,0xb3,0xc, 0x7f,0xbe,0xa0,
+0x2, 0x78,0x21,0x30,0xf, 0x1e,0x74,0x26,0x7a,0xb3,0xd, 0xf5,0x74,0x1, 0x7a,0xb3,
+0x1, 0xba,0x6d,0x11,0x7a,0x15,0x58,0x7e,0xb3,0xd, 0xf5,0xf5,0x56,0xe4,0x7a,0xb3,
+0x1, 0xb5,0x80,0x4d,0xbe,0xa0,0x2, 0x38,0x37,0x20,0xf, 0x34,0xe5,0x5a,0xbe,0xb0,
+0x2, 0x50,0x11,0xe5,0x56,0xb4,0x25,0x4, 0x5, 0x5a,0x80,0x2b,0x75,0x56,0x25,0x75,
+0x5a,0x0, 0x80,0x23,0x74,0x25,0x7a,0xb3,0xd, 0xf5,0x74,0x1, 0x7a,0xb3,0x1, 0xba,
+0x6d,0x11,0x7a,0x15,0x58,0x7e,0xb3,0xd, 0xf5,0xf5,0x56,0x75,0x5a,0x0, 0x80,0x11,
+0xe4,0x7a,0xb3,0xd, 0xf5,0xf5,0x56,0xe4,0x7a,0xb3,0x1, 0xba,0x6d,0x11,0x7a,0x15,
+0x58,0x12,0x44,0x90,0x61,0x9, 0x7e,0xf5,0x58,0xbe,0xf4,0x0, 0x1, 0x78,0x23,0x7e,
+0xe7,0xc, 0x9b,0x4d,0xee,0x78,0x2, 0x61,0x9, 0x7e,0xb3,0xc, 0x7f,0x4, 0x7a,0xb3,
+0xc, 0x7f,0x7e,0x73,0xc, 0x7f,0xbe,0x70,0x4, 0x50,0x2, 0x61,0x9, 0x12,0x65,0x18,
+0x61,0x9, 0xbe,0xf4,0x0, 0x2, 0x78,0x58,0x7e,0xa3,0xb, 0xba,0xbe,0xa0,0x1, 0x28,
+0x6, 0x7e,0x67,0x3, 0x4, 0x80,0x4, 0x7e,0x67,0x3, 0x2, 0x7e,0x37,0xb, 0xb8,0xbd,
+0x36,0x28,0x76,0xbe,0xa0,0x2, 0x40,0x6c,0x74,0x2, 0xa4,0x49,0x35,0xc, 0x93,0x9e,
+0x37,0xc, 0x95,0x12,0x9c,0xec,0x7d,0x13,0x7e,0xa3,0xb, 0xba,0x74,0x2, 0xa4,0x49,
+0x35,0xc, 0x8f,0x9e,0x37,0xc, 0x91,0x12,0x9c,0xec,0x7d,0x23,0x2d,0x21,0x7e,0x73,
+0x2, 0xfa,0xa, 0x37,0x3e,0x34,0x3e,0x34,0x3e,0x34,0xbd,0x32,0x38,0x36,0x80,0x34,
+0xbe,0xf0,0x24,0x68,0x5, 0xbe,0xf0,0xfe,0x78,0x1f,0xbe,0xf0,0xfe,0x78,0x5, 0x12,
+0x7d,0x7b,0x7c,0xfb,0x4c,0xff,0x68,0x11,0x7c,0xbf,0x12,0x6d,0x9a,0x60,0xa, 0x7a,
+0xf3,0xd, 0xf5,0x74,0x1, 0x7a,0xb3,0x1, 0xba,0xe4,0x7a,0xb3,0xb, 0xba,0x6d,0x33,
+0x7a,0x37,0xb, 0xb6,0x6d,0x33,0x7a,0x35,0x58,0xda,0xf8,0xda,0x69,0x22,0xca,0x3b,
+0x7c,0x7b,0xbe,0xb0,0x8, 0x50,0x75,0x7e,0xa0,0x3, 0xa4,0x90,0x43,0x1f,0x73,0x2,
+0x43,0x37,0x2, 0x43,0x54,0x2, 0x43,0x7c,0x2, 0x43,0x6a,0x2, 0x43,0x6a,0x2, 0x43,
+0x6a,0x2, 0x43,0x6a,0x2, 0x43,0x6a,0x7e,0x68,0x9, 0xc6,0x7e,0xc3,0x0, 0xef,0x7e,
+0xd3,0x0, 0xf0,0x7e,0xb3,0xd, 0xc7,0xb4,0x1, 0x4, 0x6c,0xff,0x80,0x59,0x7e,0xf3,
+0x0, 0xee,0x80,0x53,0x7e,0x68,0xa, 0x22,0x7e,0xc3,0x1, 0x17,0x7e,0xd3,0x1, 0x18,
+0x7e,0xf3,0x1, 0x15,0x7e,0xe3,0x1, 0x16,0x80,0x41,0x7e,0x68,0x9, 0xc6,0x74,0x2,
+0xac,0xb7,0x9, 0xc5,0x1, 0x13,0x9, 0xd5,0x1, 0x14,0x80,0xc, 0x7e,0x68,0x9, 0xc6,
+0x7e,0xc3,0x0, 0xef,0x7e,0xd3,0x0, 0xf0,0x6c,0xff,0x80,0x1b,0x7e,0x68,0x9, 0xc6,
+0x7e,0xc3,0x0, 0xef,0x7e,0xd3,0x0, 0xf0,0x7e,0xb3,0xd, 0xc7,0xb4,0x1, 0x4, 0x6c,
+0xff,0x80,0x4, 0x7e,0xf3,0x0, 0xee,0x7e,0xe3,0x0, 0xfa,0x7e,0x1f,0x11,0x42,0x69,
+0xa1,0x0, 0xae,0x1e,0xa4,0x1e,0xa4,0x5e,0xa4,0x0, 0x1, 0x68,0x9, 0x7e,0x37,0x11,
+0xe, 0x12,0x0, 0x76,0x80,0x65,0x6c,0xaa,0x80,0x59,0xa, 0x3a,0x9, 0x63,0x9, 0x95,
+0x7e,0x70,0x2, 0xac,0x67,0x2d,0x3d,0x7d,0x2c,0xb, 0x1a,0xb0,0x7d,0x3b,0x12,0x81,
+0x2b,0x7d,0xb3,0x7e,0x30,0x2, 0xac,0x3a,0x7e,0x1f,0x11,0x42,0x2d,0x31,0x2e,0x34,
+0x0, 0x14,0xb, 0x1a,0xa0,0x5e,0xa4,0x0, 0x3f,0x1b,0x1a,0xa0,0x7d,0x4b,0x3e,0x44,
+0x3e,0x44,0x3e,0x44,0x3e,0x44,0x3e,0x44,0x3e,0x44,0x7e,0x30,0x2, 0xac,0x3a,0x7e,
+0x1f,0x11,0x42,0x2d,0x31,0x2e,0x34,0x0, 0x14,0xb, 0x1a,0xa0,0x4d,0xa4,0x1b,0x1a,
+0xa0,0xb, 0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,0xba,0x38,0x9f,0x7e,0x1f,0x11,0x42,0x69,
+0xa1,0x0, 0xae,0x1e,0xa4,0x1e,0xa4,0x5e,0xa4,0x0, 0x1, 0x78,0x12,0xa, 0xbc,0x7d,
+0x1b,0x7c,0x23,0x6c,0x33,0x7d,0xb1,0xa, 0xad,0x2d,0xba,0x79,0xb1,0x0, 0xa2,0xa,
+0x1f,0x5e,0x14,0x0, 0x1f,0x3e,0x14,0x3e,0x14,0x7e,0x1f,0x11,0x42,0x2e,0x34,0x0,
+0xb0,0xb, 0x1a,0xa0,0x5e,0xa4,0xff,0x83,0x4d,0xa1,0x1b,0x1a,0xa0,0x7c,0x6e,0x5e,
+0x60,0x3, 0x7c,0xb6,0xc4,0x54,0xf0,0x7c,0x6b,0x7e,0x73,0x9, 0x25,0x5e,0x70,0xcf,
+0x4c,0x76,0x7a,0x73,0x9, 0x25,0x7e,0x8, 0x9, 0x25,0x12,0x73,0xf7,0xda,0x3b,0x22,
+0xca,0x79,0x7d,0xc2,0x7d,0xb3,0x7d,0x2c,0x12,0x7b,0xc0,0xbe,0xb0,0x1, 0x78,0x2,
+0xc1,0x9, 0x7e,0xa7,0xc, 0x9b,0x4d,0xaa,0x78,0x6, 0x74,0x4, 0x7a,0xb3,0xc, 0x9f,
+0xbe,0xa4,0x0, 0x0, 0x28,0x2a,0x7d,0xda,0x1b,0xd4,0x3e,0xd4,0x3e,0xd4,0x49,0x3d,
+0xb, 0xc1,0x9d,0x3c,0x12,0x9c,0xec,0x7d,0xd3,0x7e,0xa7,0xc, 0x9b,0x1b,0xa4,0x3e,
+0xa4,0x3e,0xa4,0x49,0x3a,0xb, 0xbf,0x9d,0x3b,0x12,0x9c,0xec,0x2d,0xd3,0x80,0x4,
+0x7e,0xd4,0x7f,0xff,0x7e,0x73,0xc, 0x9f,0xa, 0xa7,0xbd,0xad,0x50,0x22,0x7e,0xa7,
+0xc, 0x9b,0x3e,0xa4,0x3e,0xa4,0x59,0xba,0xb, 0xbf,0x7e,0xa7,0xc, 0x9b,0x3e,0xa4,
+0x3e,0xa4,0x59,0xca,0xb, 0xc1,0x7e,0xa7,0xc, 0x9b,0xb, 0xa4,0x7a,0xa7,0xc, 0x9b,
+0x7e,0xa7,0xc, 0x9b,0xbe,0xa4,0x0, 0x30,0x50,0x2, 0xa1,0xd1,0xa1,0xc5,0x6c,0xff,
+0x7e,0xb3,0xc, 0x9f,0xb, 0xb1,0x7a,0xb3,0xc, 0x9f,0x7e,0x73,0xc, 0x9f,0xbe,0x70,
+0xc8,0x28,0xf, 0x7e,0xa7,0x3, 0x24,0x7a,0xa7,0xb, 0xb6,0x6d,0xaa,0x7a,0xa5,0x58,
+0xa1,0xd1,0x7e,0x1f,0xb, 0xbf,0x7a,0x1f,0xc, 0xa0,0x7e,0xe0,0x1, 0x80,0x53,0x74,
+0x4, 0xac,0xbf,0x49,0x25,0xc, 0xa2,0x74,0x4, 0xac,0xbe,0x49,0x35,0xb, 0xc1,0x9d,
+0x32,0x12,0x9c,0xec,0x7d,0xd3,0x74,0x4, 0xac,0xbf,0x49,0x25,0xc, 0xa0,0x74,0x4,
+0xac,0xbe,0x49,0x35,0xb, 0xbf,0x9d,0x32,0x12,0x9c,0xec,0x2d,0xd3,0x7e,0x73,0xc,
+0x9f,0xa, 0xa7,0xbd,0xad,0x38,0x19,0xb, 0xf0,0x7e,0x70,0x4, 0xac,0x7e,0x2e,0x34,
+0xb, 0xbf,0x7e,0x30,0x4, 0xac,0x3f,0x2e,0x14,0xc, 0xa0,0x74,0x4, 0x12,0x9b,0x1,
+0xb, 0xe0,0xa, 0xae,0xbe,0xa7,0xc, 0x9b,0x40,0xa5,0x7e,0xa4,0x0, 0xc0,0xca,0xa9,
+0x7e,0x18,0xc, 0xa0,0x7e,0x8, 0xb, 0xbf,0x12,0x9c,0xb5,0x1b,0xfd,0xa, 0xaf,0xb,
+0xa4,0x7a,0xa7,0xc, 0x9b,0x7e,0xa7,0xc, 0x9b,0xbe,0xa4,0x0, 0x2d,0x28,0x2, 0xa1,
+0x1e,0x7a,0xb7,0xc, 0x85,0x7a,0xc7,0xc, 0x87,0x7e,0xa7,0xc, 0x8d,0xbd,0xab,0x28,
+0x4, 0x7a,0xb7,0xc, 0x8d,0x7e,0xa7,0xc, 0x89,0xbd,0xab,0x50,0x4, 0x7a,0xb7,0xc,
+0x89,0x7e,0x37,0xc, 0x8f,0xbd,0x3c,0x28,0x4, 0x7a,0xc7,0xc, 0x8f,0x7e,0x37,0xc,
+0x8b,0xbd,0x3c,0x50,0x4, 0x7a,0xc7,0xc, 0x8b,0xda,0x79,0x22,0xca,0x79,0x7f,0x70,
+0x29,0xe7,0x0, 0x9e,0x7e,0x73,0x9, 0x62,0xa5,0xbf,0x5, 0x3a,0x6c,0xaa,0x80,0x30,
+0xa, 0x2a,0x7f,0x7, 0x2d,0x12,0x29,0xf0,0x0, 0x42,0xbe,0xf0,0x24,0x50,0xe, 0xa,
+0x2f,0x2e,0x24,0x0, 0x5, 0x7c,0x65,0x39,0x60,0x1, 0x59,0x80,0x11,0xbe,0xf0,0x24,
+0x40,0x8, 0x74,0x2d,0x39,0xb0,0x1, 0x59,0x80,0x4, 0x39,0xf0,0x1, 0x59,0xb, 0xa0,
+0xbc,0xea,0x38,0xcc,0x80,0x75,0xa5,0xbf,0x4, 0x51,0x6c,0xaa,0x80,0x47,0xa, 0x2a,
+0x7f,0x7, 0x2d,0x12,0x29,0xf0,0x0, 0x42,0xbe,0xf0,0x7, 0x40,0xd, 0xbe,0xf0,0xe,
+0x38,0x8, 0xa, 0x2f,0x2e,0x24,0x0, 0xc, 0x80,0x10,0xbe,0xf0,0xf, 0x40,0x13,0xbe,
+0xf0,0x15,0x38,0xe, 0xa, 0x2f,0x2e,0x24,0x0, 0x18,0x7c,0x65,0x39,0x60,0x1, 0x59,
+0x80,0x11,0xbe,0xf0,0x16,0x40,0x8, 0x74,0x1c,0x39,0xb0,0x1, 0x59,0x80,0x4, 0x39,
+0xf0,0x1, 0x59,0xb, 0xa0,0xbc,0xea,0x38,0xb5,0x80,0x20,0xa5,0xbf,0x6, 0x2, 0x80,
+0x2, 0xe1,0x7d,0x6c,0xaa,0x80,0x10,0xa, 0x3a,0x2d,0x3f,0x7d,0x2e,0x29,0xb1,0x0,
+0x42,0x39,0xb1,0x1, 0x59,0xb, 0xa0,0xbc,0xea,0x38,0xec,0x6c,0xaa,0x6d,0x44,0x7e,
+0x30,0x2, 0xac,0x3a,0x7e,0x1f,0x11,0x42,0x2d,0x31,0x79,0x41,0x0, 0x14,0xbc,0xea,
+0x28,0x22,0xa, 0x3a,0x2d,0x3f,0x7d,0x2e,0x29,0xb1,0x1, 0x59,0xa, 0x2b,0x7e,0x70,
+0x2, 0xac,0x7a,0x7e,0xf, 0x11,0x42,0x2d,0x13,0x2e,0x14,0x0, 0x14,0xb, 0xa, 0x30,
+0x4d,0x32,0x80,0x15,0x7e,0x70,0x2, 0xac,0x7a,0x7e,0xf, 0x11,0x42,0x2d,0x13,0x2e,
+0x14,0x0, 0x14,0xb, 0xa, 0x30,0x4e,0x70,0x3f,0x1b,0xa, 0x30,0xb, 0xa0,0xbe,0xa0,
+0x2e,0x78,0xaa,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0x6, 0x7e,0x34,0x0, 0x6, 0xe4,
+0x12,0x9c,0xda,0x6c,0xaa,0x80,0x42,0xa, 0x3a,0x2d,0x3f,0x7d,0x2e,0x29,0x71,0x1,
+0x59,0x7c,0xb7,0xc4,0x54,0xf, 0x7c,0x3b,0xa, 0x37,0x7e,0x24,0x0, 0x10,0x12,0x9a,
+0x2e,0x7c,0x75,0x7e,0x44,0x0, 0x1, 0x7c,0xb7,0x60,0x5, 0x3e,0x44,0x14,0x78,0xfb,
+0x7e,0x50,0x2, 0xac,0x53,0x7e,0x6f,0x11,0x42,0x2d,0xd2,0x2e,0xd4,0x0, 0x6, 0xb,
+0x6a,0x20,0x4d,0x24,0x1b,0x6a,0x20,0xb, 0xa0,0xbc,0xea,0x38,0xba,0xda,0x79,0x22,
+0x6c,0x55,0x80,0x71,0x7e,0x43,0x9, 0x63,0xbc,0x45,0x28,0xe, 0x7e,0xa3,0x0, 0xc4,
+0x7e,0x63,0x0, 0xc5,0x7e,0x73,0x0, 0xc6,0x80,0xc, 0x7e,0xa3,0x0, 0xc7,0x7e,0x63,
+0x0, 0xc8,0x7e,0x73,0x0, 0xc9,0x7e,0x90,0x4, 0xac,0x95,0x2e,0x47,0x8, 0xf4,0x49,
+0xd4,0x0, 0x2, 0xb, 0x48,0xc0,0xa, 0xfa,0x6d,0xee,0xbf,0x67,0x8, 0x12,0xa, 0xb6,
+0x7e,0x90,0x2, 0xac,0x95,0x7f,0x70,0x2d,0xf4,0xb, 0x7a,0x40,0x2d,0x4b,0x80,0x20,
+0xa, 0x4a,0x6d,0xff,0x9d,0xf4,0x7d,0x4f,0x1a,0x48,0x1a,0xe8,0xbf,0x67,0x58,0x13,
+0xa, 0xd7,0x7e,0x90,0x2, 0xac,0x95,0x7f,0x70,0x2d,0xf4,0xb, 0x7a,0x40,0x9d,0x4d,
+0x1b,0x7a,0x40,0xb, 0x50,0x7e,0x43,0x9, 0xc3,0xbc,0x45,0x38,0x87,0x22,0xff,0xff,
+0xca,0xf8,0x7f,0x71,0x69,0x57,0x0, 0xc, 0x69,0x47,0x0, 0x8, 0x9d,0x45,0x7a,0x47,
+0x10,0x49,0x69,0x37,0x0, 0xe, 0x69,0x27,0x0, 0xa, 0x9d,0x23,0x7a,0x27,0x10,0x4b,
+0x6d,0x44,0x7a,0x2f,0x10,0x4e,0x6d,0x22,0x7a,0x1f,0x10,0x52,0x7e,0x35,0x23,0x7a,
+0x37,0x10,0x56,0x74,0xff,0x7a,0xb3,0x10,0x4d,0x1, 0x5a,0x7d,0x52,0x3e,0x54,0x3e,
+0x54,0x7f,0x70,0x2d,0xf5,0xb, 0x7a,0x50,0x7d,0x42,0x3e,0x44,0x59,0x54,0xc, 0xa0,
+0x69,0x57,0x0, 0x2, 0x59,0x54,0xd, 0x0, 0xb, 0x24,0xbd,0x32,0x38,0xdd,0x7e,0x37,
+0x10,0x56,0xbe,0x34,0x0, 0x4, 0x18,0x2, 0x21,0x38,0x7e,0xf7,0x10,0x49,0x7e,0x17,
+0x10,0x4b,0xbd,0x1f,0x8, 0x2, 0x1, 0xa5,0x4d,0x11,0x68,0x2, 0x1, 0x82,0x7e,0x14,
+0x0, 0x1, 0x7d,0x3f,0x7d,0x21,0x12,0x9a,0x2e,0x7c,0xf7,0x7e,0x18,0x0, 0x20,0x7a,
+0x1f,0x10,0x5a,0x7e,0x34,0x0, 0x2d,0x7a,0x37,0x10,0x5e,0x7e,0x34,0x1, 0x80,0x7a,
+0x37,0x10,0x47,0x21,0xa, 0x4d,0xff,0x68,0x2, 0x1, 0xaf,0x7e,0xf4,0x0, 0x1, 0x7d,
+0x31,0x7d,0x2f,0x12,0x9a,0x2e,0x7c,0xf7,0x7e,0x18,0x0, 0x40,0x7a,0x1f,0x10,0x5a,
+0x7e,0x4, 0x0, 0x5a,0x7a,0x7, 0x10,0x5e,0x7e,0x4, 0x3, 0x0, 0x7a,0x7, 0x10,0x47,
+0x7d,0xf, 0x2d,0xf, 0xbd,0x1, 0x18,0x2, 0x21,0xa, 0x7e,0x4, 0x0, 0x51,0x7a,0x7,
+0x10,0x5e,0x7e,0x4, 0x2, 0xb3,0x7a,0x7, 0x10,0x47,0x1a,0x2, 0x1a,0x0, 0x7e,0x1f,
+0x10,0x5a,0x12,0x9a,0x60,0x7d,0x5f,0x1a,0x4a,0x1a,0x48,0x7d,0x1f,0x1a,0x2, 0x1a,
+0x0, 0x2f,0x2, 0x12,0x9a,0xcd,0x7a,0x1f,0x10,0x5a,0xbe,0xf0,0x5, 0x48,0x2, 0x21,
+0x34,0x7e,0x8, 0xc, 0xa0,0x7e,0x18,0xd, 0x0, 0x12,0x5f,0x68,0x7e,0x8, 0xc, 0xa0,
+0x7e,0x18,0xd, 0x0, 0x12,0x53,0x8a,0x12,0x74,0x65,0x7e,0x73,0x10,0x4d,0x7a,0x73,
+0xd, 0xfc,0x21,0x3e,0x74,0x7d,0x21,0x3a,0x74,0x7f,0x7a,0xb3,0x10,0x4d,0x6d,0x33,
+0x7a,0x37,0x10,0x56,0x7e,0x73,0x10,0x59,0xbe,0x73,0x10,0x4d,0x18,0x2, 0x21,0x6a,
+0x7e,0x73,0x10,0x4d,0x1a,0x27,0x7e,0x34,0x0, 0x22,0xad,0x32,0x2e,0x34,0x87,0xc6,
+0x7a,0x71,0x82,0x7a,0x61,0x83,0xe4,0x93,0x21,0x6b,0xe4,0xda,0xf8,0x22,0xca,0x3b,
+0x70,0x3c,0x7e,0x1f,0xa, 0xce,0x7a,0x1f,0xc, 0xa0,0x7e,0x5f,0xa, 0xd2,0x7e,0x6f,
+0xa, 0xd6,0x7e,0x4f,0xa, 0xda,0x7e,0x34,0xa, 0xb6,0x7a,0x35,0x23,0x7e,0x34,0xa,
+0xba,0x7a,0x35,0x25,0x7e,0x34,0xa, 0xbe,0x7a,0x35,0x27,0x7e,0x34,0xa, 0xc2,0x7a,
+0x35,0x29,0xe5,0x12,0xa, 0x1b,0x6d,0x0, 0x7e,0x1f,0xa, 0xb6,0x80,0x3a,0x7e,0x1f,
+0xb, 0x16,0x7a,0x1f,0xc, 0xa0,0x7e,0x5f,0xb, 0x1a,0x7e,0x6f,0xb, 0x1e,0x7e,0x4f,
+0xb, 0x22,0x7e,0x34,0xb, 0x2e,0x7a,0x35,0x23,0x7e,0x34,0xb, 0x32,0x7a,0x35,0x25,
+0x7e,0x34,0xb, 0x36,0x7a,0x35,0x27,0x7e,0x34,0xb, 0x3a,0x7a,0x35,0x29,0xe5,0x17,
+0xa, 0x1b,0x6d,0x0, 0x7e,0x1f,0xb, 0x2e,0x12,0x9a,0x60,0x7e,0x8, 0x0, 0x64,0x12,
+0x9a,0xcd,0x7f,0x71,0xbe,0x78,0x0, 0x32,0x18,0x2, 0x41,0xd8,0x7e,0x1f,0xc, 0xa0,
+0x12,0x86,0x6e,0x7a,0x1f,0xc, 0xa0,0x7f,0x15,0x12,0x86,0x6e,0x7f,0x51,0x7f,0x16,
+0x12,0x86,0x6e,0x7f,0x61,0x7f,0x14,0x12,0x86,0x6e,0x7f,0x41,0x7e,0x3f,0xc, 0xa0,
+0x2f,0x35,0x2f,0x36,0x78,0x24,0x7e,0x8, 0x0, 0x8, 0x7f,0x17,0x12,0x9a,0xcd,0x7f,
+0x1, 0x7e,0x35,0x23,0x59,0x13,0x0, 0x2, 0x1b,0x38,0x0, 0x7e,0x14,0x0, 0x3, 0x7f,
+0x17,0x12,0x9a,0x71,0x7e,0x8, 0x0, 0x8, 0x80,0x23,0x7e,0xf, 0xc, 0xa0,0x7f,0x17,
+0x12,0x9a,0x60,0x7f,0x3, 0x12,0x9a,0xcd,0x7f,0x1, 0x7e,0x35,0x23,0x59,0x13,0x0,
+0x2, 0x1b,0x38,0x0, 0x7f,0x17,0x7f,0x5, 0x12,0x9a,0x60,0x7f,0x3, 0x12,0x9a,0xcd,
+0x7f,0x1, 0x7e,0x35,0x25,0x59,0x13,0x0, 0x2, 0x1b,0x38,0x0, 0x7f,0x35,0x2f,0x36,
+0x2f,0x34,0x78,0x24,0x7e,0x14,0x0, 0x3, 0x7f,0x17,0x12,0x9a,0x71,0x7e,0x8, 0x0,
+0x8, 0x12,0x9a,0xcd,0x7f,0x1, 0x7e,0x35,0x27,0x59,0x13,0x0, 0x2, 0x1b,0x38,0x0,
+0x7e,0x8, 0x0, 0x8, 0x7f,0x17,0x80,0x21,0x7f,0x17,0x7f,0x6, 0x12,0x9a,0x60,0x7f,
+0x3, 0x12,0x9a,0xcd,0x7f,0x1, 0x7e,0x35,0x27,0x59,0x13,0x0, 0x2, 0x1b,0x38,0x0,
+0x7f,0x17,0x7f,0x4, 0x12,0x9a,0x60,0x7f,0x3, 0x12,0x9a,0xcd,0x7f,0x1, 0x7e,0x35,
+0x29,0x59,0x13,0x0, 0x2, 0x1b,0x38,0x0, 0xda,0x3b,0x22,0xca,0x79,0xe5,0x5b,0xb4,
+0x1, 0x2, 0x80,0x2, 0x81,0x39,0x12,0x17,0xcc,0x50,0xfb,0x12,0x86,0x96,0x12,0x62,
+0x9e,0x12,0x7e,0xf1,0x7e,0x8, 0x9, 0x25,0x12,0x1, 0x20,0x7e,0x73,0xd, 0x7c,0xbe,
+0x70,0x2, 0x28,0x6, 0x74,0x2, 0x7a,0xb3,0xd, 0x7c,0x7e,0xb3,0xd, 0x7c,0xf5,0x62,
+0xe5,0x1f,0x54,0x3, 0x78,0x2, 0x81,0x34,0x7e,0xb3,0xd, 0xa1,0xb4,0x1, 0x2, 0x80,
+0x2, 0x81,0x34,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x5e,0x70,
+0x8f,0x4e,0x70,0x60,0x1b,0xa, 0x30,0x7e,0x14,0x10,0x4, 0x7e,0x1f,0x11,0x42,0x1b,
+0x1a,0x10,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x70,0x4,
+0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x5e,0x60,
+0x81,0x4e,0x60,0x2, 0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb,
+0xa, 0x30,0x5e,0x60,0xfe,0x1b,0xa, 0x30,0x74,0x1, 0x7a,0xb3,0x9, 0xc3,0x7e,0xf3,
+0x9, 0x28,0xbe,0xf0,0x55,0x28,0x3, 0x7e,0xf0,0x55,0x7e,0xe3,0x9, 0x29,0xbe,0xe0,
+0x55,0x28,0x3, 0x7e,0xe0,0x55,0x7e,0x50,0x3, 0xac,0x5e,0x7c,0x45,0x6c,0x55,0x7e,
+0x70,0x3, 0xac,0x7f,0x2d,0x32,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xa2,0x6c,0xff,
+0x7e,0x34,0x0, 0x3f,0x74,0x2, 0xac,0xbf,0x7e,0xf, 0x11,0x42,0x2d,0x15,0x79,0x30,
+0x0, 0x14,0xb, 0xf0,0xbe,0xf0,0x2e,0x78,0xeb,0x6c,0xff,0x80,0x34,0x7e,0x34,0x7,
+0xd0,0x12,0x5f,0xf7,0x7c,0xbf,0x12,0x64,0x47,0x12,0x7e,0x8c,0x7e,0x1f,0xa, 0xac,
+0xb, 0x1a,0x30,0xbe,0x34,0x1b,0x20,0x28,0xe, 0x7e,0x24,0x1b,0x20,0x74,0x2, 0xac,
+0xbf,0x59,0x25,0xa, 0x22,0x80,0x8, 0x74,0x2, 0xac,0xbf,0x59,0x35,0xa, 0x22,0xb,
+0xf0,0xa, 0x3f,0xbe,0x37,0x11,0x10,0x40,0xc4,0x6c,0xff,0x80,0x1d,0xa, 0x3f,0x9,
+0xe3,0x9, 0x95,0x74,0x2, 0xac,0xbf,0x49,0x15,0xa, 0x22,0x74,0x2, 0xac,0xbe,0x7e,
+0x1f,0xa, 0xac,0x2d,0x35,0x1b,0x1a,0x10,0xb, 0xf0,0xa, 0x3f,0xbe,0x37,0x11,0x10,
+0x40,0xdb,0x80,0xd, 0x12,0x7e,0x8c,0x80,0x8, 0xe5,0x5b,0xb4,0x2, 0x3, 0x12,0x67,
+0x72,0x75,0x5b,0x0, 0xda,0x79,0x22,0xca,0x3b,0x7e,0xe3,0x9, 0xc3,0x12,0x7f,0x83,
+0x12,0x0, 0x46,0x7e,0x34,0x7, 0xd0,0x12,0x5f,0xf7,0x7e,0xb3,0xd, 0xde,0xb4,0x3,
+0x2, 0x80,0x2, 0xa1,0x87,0x12,0x7e,0x57,0x7e,0xb3,0xd, 0x68,0x60,0xe5,0x12,0x4a,
+0xdb,0x30,0x0, 0x5, 0x12,0x28,0x0, 0xa1,0x76,0x7e,0xa3,0xd, 0x66,0x7c,0xda,0x5e,
+0xd0,0xf, 0x7c,0xba,0x30,0xe7,0x54,0xe4,0x12,0x87,0xa4,0x12,0x84,0x14,0x12,0x73,
+0x14,0x12,0x3e,0x5, 0x12,0x65,0xe4,0x12,0x6a,0x43,0x12,0x7a,0x1, 0x12,0x4d,0x90,
+0x12,0x87,0x76,0x12,0x85,0xe7,0x12,0x80,0x85,0x4c,0xdd,0x68,0xb, 0xbe,0xd0,0x1,
+0x78,0x27,0x7e,0xb3,0x1, 0x27,0x70,0x21,0x6c,0xff,0x80,0x17,0x7e,0x30,0x4, 0xac,
+0x3f,0x2e,0x17,0x8, 0xf4,0x49,0x31,0x0, 0x2, 0x74,0x2, 0xac,0xbf,0x59,0x35,0x4,
+0x48,0xb, 0xf0,0xbc,0xef,0x38,0xe5,0xa1,0x76,0xa1,0x76,0x7e,0x1f,0x11,0x42,0x69,
+0x31,0x0, 0xae,0x1e,0x34,0x1e,0x34,0x5e,0x34,0x0, 0x1, 0x68,0x5e,0x6c,0xff,0x80,
+0x2c,0x74,0x2, 0xac,0xbf,0x49,0x35,0xa, 0x22,0x7a,0x37,0x11,0xe, 0x7c,0xbf,0x12,
+0x64,0x47,0x74,0x1, 0x12,0x87,0xa4,0x12,0x84,0x14,0x12,0x17,0xcc,0x50,0xfb,0x7e,
+0x37,0x4, 0x48,0x74,0x2, 0xac,0xbf,0x59,0x35,0x8, 0x98,0xb, 0xf0,0xa, 0x3f,0xbe,
+0x37,0x11,0x10,0x40,0xcc,0x6c,0xff,0x80,0x18,0xa, 0x3f,0x9, 0xc3,0x9, 0x95,0x74,
+0x2, 0xac,0xbf,0x49,0x35,0x8, 0x98,0x74,0x2, 0xac,0xbc,0x59,0x35,0x4, 0x48,0xb,
+0xf0,0xa, 0x3f,0xbe,0x37,0x11,0x10,0x40,0xe0,0x80,0x2b,0x74,0x1, 0x12,0x87,0xa4,
+0x12,0x84,0x14,0x12,0x17,0xcc,0x50,0xfb,0xbe,0xd0,0x1, 0x78,0x19,0x7e,0xb3,0x1,
+0x27,0x60,0x13,0xa, 0x3e,0x3e,0x34,0xca,0x39,0x7e,0x18,0x8, 0x98,0x7e,0x8, 0x4,
+0x48,0x12,0x9c,0xb5,0x1b,0xfd,0xe4,0x7a,0xb3,0xd, 0x68,0x7e,0xb3,0xd, 0x60,0x54,
+0x7f,0x7a,0xb3,0xd, 0x60,0x81,0x53,0x12,0x81,0xf2,0x12,0x87,0xd0,0xda,0x3b,0x22,
+0xca,0x79,0x7e,0xa3,0x9, 0xc4,0x7e,0x33,0x9, 0xc5,0x7e,0x23,0xd, 0xa2,0x7e,0x90,
+0x64,0xac,0x92,0x7e,0x7, 0x8, 0xf4,0x6c,0xff,0x7e,0xb3,0x1, 0x27,0xb4,0x1, 0xf,
+0x7e,0x23,0x11,0x49,0xbe,0x20,0x1, 0x28,0x6, 0x7e,0x37,0x11,0x46,0x2d,0x43,0x6c,
+0x22,0xc1,0xb3,0x7e,0x70,0x4, 0xac,0x72,0x7d,0xa3,0x2d,0xa0,0x49,0xfa,0x0, 0x2,
+0xb, 0xa8,0xe0,0xa, 0x2a,0xa, 0x32,0x2d,0x32,0x7e,0xb3,0x9, 0x63,0xa, 0x2b,0x12,
+0x9a,0x2e,0x7c,0xe5,0x7d,0x34,0x1e,0x34,0x6d,0x22,0xbf,0x71,0x58,0x2, 0xc1,0xb1,
+0x7e,0x70,0x4, 0xac,0x7e,0x7d,0xb3,0x2d,0xb0,0x49,0xdb,0x0, 0x2, 0xb, 0xb8,0xc0,
+0xa, 0x23,0xa, 0x32,0x12,0x9a,0x2e,0x4d,0x22,0x78,0x7, 0x9f,0x11,0x7a,0x1d,0x23,
+0x80,0x13,0x49,0x3a,0xff,0xfe,0x49,0x2a,0xff,0xfc,0x7a,0x1d,0x23,0x49,0x3b,0xff,
+0xfe,0x49,0x2b,0xff,0xfc,0x7a,0x1d,0x2b,0xa, 0x23,0xa, 0x32,0x12,0x9a,0x2e,0xa,
+0x33,0x1b,0x34,0xbd,0x32,0x78,0x7, 0x9f,0x11,0x7a,0x1d,0x27,0x80,0x25,0x7e,0x70,
+0x4, 0xac,0x72,0x7d,0xb3,0x2d,0xb0,0x49,0x3b,0x0, 0x6, 0x49,0x2b,0x0, 0x4, 0x7a,
+0x1d,0x27,0x7e,0x70,0x4, 0xac,0x7e,0x7d,0xb3,0x2d,0xb0,0x49,0x3b,0x0, 0x6, 0x49,
+0x2b,0x0, 0x4, 0x7a,0x1d,0x2f,0x7e,0x1d,0x23,0xbf,0x71,0x48,0x44,0x7e,0x1d,0x27,
+0xbf,0x71,0x48,0x3d,0xbf,0x76,0x48,0x39,0x7e,0x1d,0x2f,0xbf,0x71,0x48,0x32,0x7e,
+0x1d,0x2b,0xbf,0x71,0x48,0x2b,0xa, 0x3f,0x19,0x23,0x1, 0x9a,0xb, 0xf0,0x7e,0x70,
+0x4, 0xac,0x72,0x7d,0xb3,0x2d,0xb0,0x49,0x3b,0x0, 0x2, 0xb, 0xb8,0x20,0xb, 0x1c,
+0x59,0x3b,0x0, 0x2, 0x1b,0xb8,0x20,0xbe,0xf0,0x17,0x40,0x5, 0x7e,0xf0,0x17,0x80,
+0xc, 0xb, 0x20,0x7e,0xb3,0x9, 0x63,0xbc,0xb2,0x28,0x2, 0xa1,0xc3,0x7c,0xbf,0x12,
+0x72,0x2b,0xbe,0xf0,0x4, 0x40,0x3, 0x7e,0xf0,0x4, 0x7a,0xf3,0x1, 0xb7,0x7a,0xf3,
+0x1, 0xb5,0xda,0x79,0x22,0xca,0x3b,0x7e,0xc3,0x9, 0xc3,0x75,0x29,0x0, 0x80,0x4,
+0xe4,0x12,0x82,0x64,0x30,0xb, 0xf9,0xe5,0x62,0xa, 0x2b,0x5e,0x24,0x0, 0x1f,0x3e,
+0x24,0x3e,0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x5e,0x70,
+0x83,0x4d,0x32,0x1b,0xa, 0x30,0xa, 0x3c,0x3e,0x34,0x7e,0x8, 0xf, 0x47,0xe4,0x12,
+0x9c,0xda,0x12,0x58,0xf9,0x7e,0xb3,0x1, 0x2a,0x70,0x2, 0xe1,0xd7,0x7e,0x8, 0x0,
+0x23,0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,0xda,0xa, 0x3c,0x3e,0x34,0x7e,0x8, 0xf,
+0x47,0x12,0x9c,0xda,0x6c,0xff,0x80,0x4c,0x7e,0x70,0x2, 0xac,0x7f,0x2e,0x37,0x8,
+0xf6,0xb, 0x38,0x30,0xbe,0x37,0x1, 0x23,0x40,0x6, 0xbe,0x37,0x1, 0x25,0x28,0x32,
+0xa, 0x3f,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x7c,0xd7,0xa, 0x3f,0x7e,0x24,0x0, 0x8,
+0x12,0x9a,0x2e,0x7c,0xe5,0x7e,0x4, 0x0, 0x1, 0x7c,0xbe,0x60,0x5, 0x3e,0x4, 0x14,
+0x78,0xfb,0x7c,0x1, 0x7c,0x1d,0x2e,0x10,0x23,0xa5,0xe7,0x4c,0xb0,0xa5,0xf7,0x75,
+0x29,0x1, 0xb, 0xf0,0xbc,0xcf,0x38,0xb0,0xe5,0x29,0x60,0x4b,0x6c,0xff,0x80,0x40,
+0xa, 0x3f,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x7c,0xd7,0xa, 0x3f,0x7e,0x24,0x0, 0x8,
+0x12,0x9a,0x2e,0x7c,0xe5,0x7e,0x24,0x0, 0x1, 0x7c,0xbe,0x60,0x5, 0x3e,0x24,0x14,
+0x78,0xfb,0x7c,0x1d,0x2e,0x10,0x23,0xa5,0xe7,0xa, 0x3b,0x5d,0x32,0x68,0xf, 0x6d,
+0x11,0x74,0x2, 0xac,0xbf,0x7e,0x1f,0xa, 0xac,0x2d,0x35,0x1b,0x1a,0x10,0xb, 0xf0,
+0xbc,0xcf,0x38,0xbc,0x12,0x58,0xf9,0x12,0x67,0x72,0x7e,0xb3,0x9, 0x26,0x54,0x1f,
+0xa, 0x2b,0x5e,0x24,0x0, 0x1f,0x3e,0x24,0x3e,0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,
+0x0, 0xb0,0xb, 0xa, 0x30,0x5e,0x70,0x83,0x4d,0x32,0x1b,0xa, 0x30,0xda,0x3b,0x22,
+0x7e,0xb3,0x0, 0xed,0x7e,0x34,0x0, 0x1, 0x60,0x5, 0x3e,0x34,0x14,0x78,0xfb,0x7c,
+0xa7,0x7e,0xb3,0xd, 0x6b,0xa, 0x2b,0x7e,0xb3,0xd, 0x6a,0xa, 0x3b,0x2d,0x32,0xa,
+0x2a,0x12,0x9a,0x2e,0xa, 0x3a,0x9d,0x32,0x2e,0x34,0x0, 0x3, 0x1b,0x34,0x7a,0x73,
+0x9, 0x31,0x7e,0x34,0xf0,0x0, 0x7a,0x37,0x9, 0x34,0x7e,0x34,0x2, 0x26,0x7a,0x37,
+0x9, 0x32,0x7e,0x63,0x0, 0xed,0x5e,0x60,0x3, 0x3e,0x60,0x7e,0x73,0x9, 0x25,0x5e,
+0x70,0xf9,0x4c,0x76,0x7a,0x73,0x9, 0x25,0x12,0x6, 0x28,0x7e,0x73,0x9, 0x64,0xa,
+0x27,0x7e,0x73,0x9, 0x63,0xa, 0x37,0x2d,0x32,0x7a,0x73,0x9, 0xc3,0x7e,0x73,0x9,
+0x63,0x1e,0x70,0x7a,0x73,0x9, 0xc4,0x1e,0x70,0x7a,0x73,0x9, 0xc5,0x7e,0x18,0x9,
+0xc6,0x7a,0x1f,0xa, 0xac,0x6c,0xaa,0x80,0x8, 0xa, 0x3a,0x19,0xa3,0x9, 0x95,0xb,
+0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,0xba,0x38,0xf0,0x7e,0x73,0x0, 0xf1,0xa, 0x37,0xb,
+0x34,0xe, 0x34,0xe, 0x34,0xe, 0x34,0xe, 0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,
+0x34,0x3e,0x34,0x3e,0x34,0x7e,0x53,0x0, 0xef,0xa, 0x25,0xb, 0x24,0xe, 0x24,0xe,
+0x24,0xe, 0x24,0xe, 0x24,0x3e,0x24,0x2d,0x23,0x7e,0x73,0x0, 0xf3,0xa, 0x37,0xb,
+0x34,0xe, 0x34,0xe, 0x34,0xe, 0x34,0xe, 0x34,0x7c,0x67,0x6c,0x77,0x3e,0x34,0x3e,
+0x34,0x3e,0x34,0x2d,0x32,0x7a,0x37,0x9, 0x4a,0x6c,0xaa,0xa, 0x3a,0x2e,0x34,0x9c,
+0x17,0x7a,0x71,0x82,0x7a,0x61,0x83,0xe4,0x93,0xa, 0x2b,0x3e,0x24,0x3e,0x24,0x3e,
+0x24,0x3e,0x24,0x3e,0x24,0xa, 0x3a,0x2e,0x34,0x9c,0xc, 0x7a,0x71,0x82,0x7a,0x61,
+0x83,0xe4,0x93,0xa, 0x3b,0x2d,0x32,0xa, 0x2a,0x2e,0x24,0x9c,0x22,0x7a,0x51,0x82,
+0x7a,0x41,0x83,0xe4,0x93,0xa, 0x2b,0x7d,0x42,0x7c,0x89,0x6c,0x99,0x3e,0x44,0x3e,
+0x44,0x2d,0x43,0x7e,0x70,0x2, 0xac,0x7a,0x59,0x43,0x9, 0x4c,0xb, 0xa0,0xbe,0xa0,
+0xb, 0x40,0xa8,0x22,0x7d,0xd3,0x7e,0x63,0x1, 0xd7,0x7e,0x73,0x1, 0xd8,0x7e,0x83,
+0x1, 0xdc,0x7e,0x93,0x1, 0xdd,0xe5,0x15,0xa, 0xbb,0x3e,0xb4,0x3e,0xb4,0x3e,0xb4,
+0x3e,0xb4,0x3e,0xb4,0x3e,0xb4,0x3e,0xb4,0x1b,0xb4,0x7e,0x57,0x1, 0xc9,0xa, 0x26,
+0xbd,0x2d,0x50,0x2, 0x21,0xa6,0xa, 0x36,0x9d,0x3d,0x7e,0x27,0x1, 0xe2,0xad,0x32,
+0xa, 0x36,0xa, 0x28,0xbd,0x23,0x40,0x2, 0x21,0x8e,0x6d,0x33,0x21,0x94,0xa, 0x28,
+0x9d,0x23,0x7d,0x32,0x7e,0x53,0x1, 0xda,0xa, 0x25,0xbd,0x23,0x38,0x2, 0x21,0xa2,
+0x7d,0x32,0x7d,0xf3,0x41,0x64,0xa, 0xc7,0x7d,0xab,0x9d,0xac,0xbd,0xad,0x28,0x2,
+0x21,0xf8,0x7d,0xcd,0x9d,0xca,0x7e,0x37,0x1, 0xe4,0xad,0x3c,0xa, 0x36,0x7d,0xc3,
+0xa, 0xa9,0xbd,0xac,0x28,0x2, 0x21,0xcc,0xa, 0xc9,0x1b,0xc4,0x7e,0x73,0x1, 0xdb,
+0xa, 0x37,0xa, 0xa9,0x9d,0xa3,0xbd,0xac,0x40,0x2, 0x21,0xde,0x7d,0xca,0x7d,0xf5,
+0x2d,0xfc,0xa, 0xe9,0x9d,0xfe,0x6d,0xee,0x7d,0x35,0x6d,0x22,0xbf,0x71,0x50,0x2,
+0x41,0x64,0x7d,0xf5,0x1b,0xf4,0x41,0x64,0x7d,0xcb,0x1e,0xc4,0xbd,0xcd,0x38,0x2,
+0x41,0x33,0x7d,0xfc,0x9d,0xfd,0x6d,0xee,0x7e,0x17,0x1, 0xde,0x7f,0x17,0x12,0x9a,
+0x71,0x7f,0x71,0x7c,0x76,0x7c,0x65,0xa, 0x24,0x7f,0x71,0x7d,0x35,0x1e,0x34,0x6d,
+0x22,0x9f,0x17,0x7f,0x71,0xa, 0x38,0x6d,0x22,0xbf,0x71,0x40,0x2, 0x41,0x64,0xa,
+0xf8,0x41,0x64,0x7d,0xfd,0x9d,0xfc,0x6d,0xee,0x7e,0x17,0x1, 0xe0,0x7f,0x17,0x12,
+0x9a,0x71,0x7f,0x71,0x7c,0x76,0x7c,0x65,0xa, 0x24,0x7f,0x71,0x7d,0x35,0x1e,0x34,
+0x6d,0x22,0x2f,0x71,0xa, 0x29,0x7d,0x35,0x9d,0x32,0x6d,0x22,0xbf,0x71,0x38,0x2,
+0x41,0x64,0x7f,0x71,0x7d,0x3f,0x22,0x7d,0xd3,0x7e,0x63,0x2, 0xd, 0x7e,0x73,0x2,
+0xe, 0x7e,0x83,0x2, 0x11,0x7e,0x93,0x2, 0x12,0xe5,0xa, 0xa, 0xbb,0x3e,0xb4,0x3e,
+0xb4,0x3e,0xb4,0x3e,0xb4,0x3e,0xb4,0x3e,0xb4,0x3e,0xb4,0x1b,0xb4,0x7e,0x57,0x1,
+0xcb,0xa, 0x26,0xbd,0x2d,0x50,0x2, 0x41,0xc9,0xa, 0x36,0x9d,0x3d,0x7e,0x27,0x2,
+0x17,0xad,0x32,0xa, 0x36,0xa, 0x28,0xbd,0x23,0x40,0x2, 0x41,0xb1,0x6d,0x33,0x41,
+0xb7,0xa, 0x28,0x9d,0x23,0x7d,0x32,0x7e,0x53,0x2, 0xf, 0xa, 0x25,0xbd,0x23,0x38,
+0x2, 0x41,0xc5,0x7d,0x32,0x7d,0xf3,0x61,0x87,0xa, 0xc7,0x7d,0xab,0x9d,0xac,0xbd,
+0xad,0x28,0x2, 0x61,0x1b,0x7d,0xcd,0x9d,0xca,0x7e,0x37,0x2, 0x19,0xad,0x3c,0xa,
+0x36,0x7d,0xc3,0xa, 0xa9,0xbd,0xac,0x28,0x2, 0x41,0xef,0xa, 0xc9,0x1b,0xc4,0x7e,
+0x73,0x2, 0x10,0xa, 0x37,0xa, 0xa9,0x9d,0xa3,0xbd,0xac,0x40,0x2, 0x61,0x1, 0x7d,
+0xca,0x7d,0xf5,0x2d,0xfc,0xa, 0xe9,0x9d,0xfe,0x6d,0xee,0x7d,0x35,0x6d,0x22,0xbf,
+0x71,0x50,0x2, 0x61,0x87,0x7d,0xf5,0x1b,0xf4,0x61,0x87,0x7d,0xcb,0x1e,0xc4,0xbd,
+0xcd,0x38,0x2, 0x61,0x56,0x7d,0xfc,0x9d,0xfd,0x6d,0xee,0x7e,0x17,0x2, 0x13,0x7f,
+0x17,0x12,0x9a,0x71,0x7f,0x71,0x7c,0x76,0x7c,0x65,0xa, 0x24,0x7f,0x71,0x7d,0x35,
+0x1e,0x34,0x6d,0x22,0x9f,0x17,0x7f,0x71,0xa, 0x38,0x6d,0x22,0xbf,0x71,0x40,0x2,
+0x61,0x87,0xa, 0xf8,0x61,0x87,0x7d,0xfd,0x9d,0xfc,0x6d,0xee,0x7e,0x17,0x2, 0x15,
+0x7f,0x17,0x12,0x9a,0x71,0x7f,0x71,0x7c,0x76,0x7c,0x65,0xa, 0x24,0x7f,0x71,0x7d,
+0x35,0x1e,0x34,0x6d,0x22,0x2f,0x71,0xa, 0x29,0x7d,0x35,0x9d,0x32,0x6d,0x22,0xbf,
+0x71,0x38,0x2, 0x61,0x87,0x7f,0x71,0x7d,0x3f,0x22,0xca,0x79,0x7f,0x71,0x7f,0x60,
+0x7e,0x7, 0x10,0x56,0xbe,0x4, 0x0, 0x10,0x58,0x2, 0x81,0x8e,0xe4,0x7a,0xb3,0x10,
+0x58,0x7e,0x4, 0x0, 0x2, 0x81,0x5e,0x7d,0x30,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,
+0x34,0x7e,0x27,0x10,0x56,0x12,0x9a,0x2e,0x7c,0xa7,0xbe,0xa0,0x2, 0x58,0x3, 0x7e,
+0xa0,0x2, 0x7d,0x10,0x1b,0x14,0x1a,0x4a,0x1b,0x44,0x7d,0x21,0x3e,0x24,0x7f,0x56,
+0x2d,0xb2,0xb, 0x5a,0x30,0x7c,0x87,0x1a,0x39,0x3e,0x34,0x7f,0x56,0x2d,0xb3,0xb,
+0x5a,0x70,0x4c,0xff,0x78,0x11,0x1a,0x98,0x7f,0x56,0x2d,0xb3,0x1b,0x5a,0x90,0x1a,
+0xb9,0xbd,0xb1,0x68,0x20,0x80,0x15,0x1a,0xb9,0xbd,0xb1,0x68,0x18,0x1a,0x8f,0x1a,
+0x98,0x2d,0x98,0xe, 0x94,0x7f,0x56,0x2d,0xb3,0x1b,0x5a,0x90,0x6d,0x99,0x7f,0x56,
+0x2d,0xb2,0x1b,0x5a,0x90,0x7f,0x57,0x2d,0xb2,0xb, 0x5a,0x20,0x7c,0x85,0x7f,0x57,
+0x2d,0xb3,0xb, 0x5a,0x70,0x4c,0xff,0x78,0xd, 0x1a,0x38,0x1b,0x5a,0x30,0x1a,0x39,
+0xbd,0x31,0x68,0x28,0x80,0x19,0x1a,0x39,0xbd,0x31,0x68,0x20,0x1a,0xaf,0x1a,0xb8,
+0x2d,0xba,0xe, 0xb4,0x1a,0xa9,0x3e,0xa4,0x7f,0x17,0x2d,0x3a,0x1b,0x1a,0xb0,0x6d,
+0xbb,0x7d,0xa1,0x3e,0xa4,0x7f,0x17,0x2d,0x3a,0x1b,0x1a,0xb0,0xb, 0x4, 0x7e,0x37,
+0x10,0x56,0xbd,0x30,0x48,0x2, 0x61,0xa7,0x6d,0x11,0x7d,0x1, 0x3e,0x4, 0x7f,0x16,
+0x2d,0x30,0xb, 0x1a,0x30,0x19,0x71,0x10,0x60,0x7f,0x17,0x2d,0x30,0xb, 0x1a,0x30,
+0x19,0x71,0x10,0x70,0xb, 0x14,0xbe,0x14,0x0, 0x10,0x78,0xde,0x80,0x6, 0x74,0x1,
+0x7a,0xb3,0x10,0x58,0xda,0x79,0x22,0x7c,0xab,0xbe,0xa0,0x7, 0x78,0x8, 0x30,0x3,
+0x3, 0x74,0x1, 0x22,0xe4,0x22,0xbe,0xa0,0x50,0x40,0xa, 0xbe,0xa0,0x5d,0x38,0x5,
+0x7c,0xba,0x2, 0x6f,0x7d,0xbe,0xa0,0x34,0x38,0x2, 0xa1,0x91,0xbe,0xa0,0x2b,0x40,
+0x7, 0xbe,0xa0,0x2e,0x38,0x2, 0xa1,0x91,0xbe,0xa0,0x37,0x68,0x5, 0xbe,0xa0,0x38,
+0x78,0x1e,0x7e,0x93,0xd, 0x91,0x7c,0xb9,0x4, 0x7a,0xb3,0xd, 0x91,0xbe,0xa0,0x38,
+0x78,0x3, 0x75,0x5c,0x37,0xa, 0x39,0x9, 0x93,0x9, 0x67,0xb, 0x90,0x7c,0xb9,0x22,
+0xbe,0xa0,0x39,0x68,0x5, 0xbe,0xa0,0x3a,0x78,0x1b,0x7e,0x93,0xd, 0x93,0x7c,0xb9,
+0x4, 0x7a,0xb3,0xd, 0x93,0xbe,0xa0,0x3a,0x78,0x3, 0x75,0x5c,0x39,0xa, 0x19,0x7e,
+0x1f,0x11,0x1a,0x80,0x64,0xbe,0xa0,0x35,0x68,0x5, 0xbe,0xa0,0x36,0x78,0x1b,0x7e,
+0x93,0xd, 0x94,0x7c,0xb9,0x4, 0x7a,0xb3,0xd, 0x94,0xbe,0xa0,0x36,0x78,0x3, 0x75,
+0x5c,0x35,0xa, 0x19,0x7e,0x1f,0x11,0x1e,0x80,0x3f,0xbe,0xa0,0xf4,0x68,0x5, 0xbe,
+0xa0,0xf5,0x78,0x3b,0x7e,0x93,0xd, 0x94,0x7c,0xb9,0x4, 0x7a,0xb3,0xd, 0x94,0xbe,
+0xa0,0xf5,0x78,0x3, 0x75,0x5c,0xf4,0x7e,0x83,0x9, 0x66,0xa, 0x18,0x7e,0x83,0x9,
+0xc3,0xa, 0x8, 0x9d,0x1, 0x3e,0x4, 0xa, 0x19,0xbd,0x10,0x58,0x6, 0x7e,0x1f,0x11,
+0x12,0x80,0x6, 0x9d,0x10,0x7e,0x1f,0x11,0x16,0x2d,0x31,0x7e,0x1b,0xb0,0x22,0xbe,
+0xa0,0xae,0x78,0x3, 0xe5,0x1f,0x22,0xbe,0xa0,0x40,0x40,0xc, 0xbe,0xa0,0x41,0x38,
+0x7, 0xa, 0x3a,0x9, 0xb3,0xd, 0x60,0x22,0xe4,0x22,0x7e,0x8, 0xd, 0x60,0x7e,0x34,
+0x0, 0x8, 0xe4,0x12,0x9c,0xda,0x74,0x1, 0x7a,0xb3,0xd, 0x68,0xe4,0x7a,0xb3,0xd,
+0x69,0x7e,0x34,0x0, 0xd, 0xca,0x39,0x7e,0x18,0x0, 0xee,0x7e,0x8, 0xd, 0x6c,0x12,
+0x9c,0xb5,0x1b,0xfd,0xe4,0x7a,0xb3,0xd, 0x79,0x7e,0x73,0x1, 0x14,0x7a,0x73,0xd,
+0x7a,0x7e,0x73,0x1, 0x13,0x7a,0x73,0xd, 0x7b,0x7a,0xb3,0xd, 0x7c,0x7e,0x73,0x1,
+0x2a,0x7a,0x73,0xd, 0x7d,0x7e,0x73,0x0, 0xfb,0x7a,0x73,0xd, 0x7e,0x7e,0x73,0x0,
+0xfc,0x7a,0x73,0xd, 0x7f,0x7e,0x37,0x0, 0xfd,0x1e,0x34,0x1e,0x34,0x7a,0x73,0xd,
+0x80,0x7e,0x73,0x0, 0xff,0x7a,0x73,0xd, 0x81,0x7e,0x73,0x1, 0x0, 0x7a,0x73,0xd,
+0x82,0x7e,0x37,0x1, 0x2, 0x7a,0x37,0xd, 0x83,0x7e,0x37,0x1, 0x4, 0x1e,0x34,0x1e,
+0x34,0x1e,0x34,0x1e,0x34,0x7a,0x73,0xd, 0x85,0x7e,0x37,0x1, 0x6, 0x1e,0x34,0x1e,
+0x34,0x1e,0x34,0x1e,0x34,0x7a,0x73,0xd, 0x86,0x7e,0x37,0x1, 0x8, 0x1e,0x34,0x1e,
+0x34,0x7a,0x73,0xd, 0x87,0x7e,0x37,0x1, 0xa, 0x1e,0x34,0x1e,0x34,0x7a,0x73,0xd,
+0x88,0x7e,0x37,0x1, 0xc, 0x1e,0x34,0x1e,0x34,0x7a,0x73,0xd, 0x89,0x7e,0x8, 0xd,
+0x8f,0x7e,0x34,0x0, 0xc, 0x12,0x9c,0xda,0x7e,0x34,0x0, 0x5, 0xca,0x39,0x7e,0x18,
+0x1, 0xe, 0x7e,0x8, 0xd, 0x8a,0x12,0x9c,0xb5,0x1b,0xfd,0x90,0xb4,0x44,0xe4,0x93,
+0x7a,0xb3,0xd, 0x8f,0x7e,0x37,0x1, 0xc9,0x1e,0x34,0x1e,0x34,0x7a,0x73,0xd, 0xa0,
+0x74,0x1, 0x7a,0xb3,0xd, 0xa1,0x22,0xca,0x59,0xca,0x39,0xca,0xb, 0x7e,0x73,0xd,
+0xf2,0xa5,0xbf,0x0, 0x6, 0x7e,0xb3,0x0, 0xec,0x60,0xa, 0x4c,0x77,0x68,0x1b,0x7e,
+0xb3,0x9, 0x24,0x70,0x15,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xa9,0xd0,0x9e,
+0xa9,0xd7,0x9e,0xd2,0xaf,0x12,0x87,0x50,0xe1,0x8d,0xa5,0xbf,0x0, 0x9, 0x7e,0xb3,
+0x0, 0xec,0xbe,0xb0,0x1, 0x68,0xb, 0x4c,0x77,0x68,0x29,0x7e,0xb3,0x9, 0x24,0xb4,
+0x1, 0x22,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xa9,0xd0,0x9e,0xa9,0xd7,0x9e,
+0xd2,0xaf,0xa9,0xc4,0xcd,0x7e,0xa1,0xe5,0x7c,0xba,0x30,0xe4,0x2, 0xe1,0x8d,0x12,
+0x87,0x99,0xe1,0x8d,0xa5,0xbf,0x0, 0x9, 0x7e,0xb3,0x0, 0xec,0xbe,0xb0,0x2, 0x68,
+0xb, 0x4c,0x77,0x68,0x78,0x7e,0xb3,0x9, 0x24,0xb4,0x2, 0x71,0xc2,0xaf,0xa9,0xc4,
+0xcd,0x7e,0xa1,0xe5,0x7c,0xba,0x20,0xe4,0x3, 0x12,0x87,0x99,0x7c,0xba,0x30,0xe0,
+0x2d,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x5e,0x70,0xfd,0x1b,
+0xa, 0x30,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xa9,0xc7,0xdb,0xa9,0xd0,0xce,0xa9,0xc5,
+0xc9,0xc2,0xc, 0xd2,0xee,0xa9,0x27,0xcf,0x32,0x75,0x1e,0x1, 0x80,0x2d,0xa9,0x27,
+0xcf,0x5, 0x7c,0xba,0x30,0xe3,0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb,
+0xa, 0x30,0x5e,0x70,0xfd,0x1b,0xa, 0x30,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xa9,0xc7,
+0xdb,0xa9,0xd0,0xce,0xa9,0xc5,0xc9,0xc2,0xc, 0xd2,0xee,0xd2,0xaf,0xda,0xb, 0xda,
+0x39,0xda,0x59,0x32,0x6d,0x22,0x80,0x5e,0x6d,0x55,0x80,0x4e,0x7d,0x45,0x3e,0x44,
+0x3e,0x44,0x7f,0x60,0x2d,0xd4,0x69,0xb6,0x0, 0x6, 0x69,0xa6,0x0, 0x4, 0x69,0xf6,
+0x0, 0x2, 0xb, 0x6a,0xe0,0xbf,0x75,0x58,0x2f,0x7f,0x60,0x2d,0xd4,0x69,0xb6,0x0,
+0x6, 0x69,0xa6,0x0, 0x4, 0x7d,0x45,0x3e,0x44,0x3e,0x44,0x7f,0x60,0x2d,0xd4,0x79,
+0xb6,0x0, 0x2, 0x1b,0x6a,0xa0,0x7d,0x45,0x3e,0x44,0x3e,0x44,0x7f,0x60,0x2d,0xd4,
+0x79,0xf6,0x0, 0x6, 0x79,0xe6,0x0, 0x4, 0xb, 0x54,0x7d,0x43,0x1b,0x44,0x9d,0x42,
+0xbd,0x45,0x38,0xa8,0xb, 0x24,0xbd,0x32,0x38,0x9e,0x22,0xff,0xff,0xff,0xff,0xff,
+0x6c,0xaa,0x80,0x38,0xa, 0x3a,0x2e,0x34,0x9c,0x75,0x7a,0x71,0x82,0x7a,0x61,0x83,
+0xe4,0x93,0x7c,0x3b,0xbe,0x33,0x9, 0x63,0x50,0x11,0x74,0x4, 0xac,0x3b,0x2e,0x17,
+0x8, 0xf4,0x49,0x31,0x0, 0x2, 0xb, 0x18,0x20,0x80,0x2, 0x9f,0x11,0x7e,0x30,0x4,
+0xac,0x3a,0x59,0x31,0xa, 0xb4,0x59,0x21,0xa, 0xb2,0xb, 0xa0,0xe5,0x13,0xbc,0xba,
+0x38,0xc2,0x7e,0x1f,0xa, 0xca,0x7a,0x1d,0x23,0x75,0x28,0x0, 0x7e,0x18,0xa, 0xca,
+0x7a,0x1d,0x29,0x7e,0x18,0xa, 0xe2,0x7a,0x1d,0x2d,0x7e,0x1f,0xa, 0xce,0x7e,0xf,
+0xa, 0xe6,0xe4,0x12,0x68,0xc6,0x7e,0x1f,0xa, 0xde,0x7a,0x1d,0x23,0x75,0x28,0x1,
+0x7e,0x18,0xa, 0xde,0x7a,0x1d,0x29,0x7e,0x18,0xa, 0xf6,0x7a,0x1d,0x2d,0x7e,0x1f,
+0xa, 0xda,0x7e,0xf, 0xa, 0xf2,0xe4,0x12,0x68,0xc6,0x7e,0x1f,0xa, 0xfa,0x7a,0x1d,
+0x23,0x75,0x28,0x0, 0x7e,0x18,0xa, 0xfa,0x7a,0x1d,0x29,0x7e,0x18,0xb, 0x12,0x7a,
+0x1d,0x2d,0x7e,0x1f,0xa, 0xfe,0x7e,0xf, 0xb, 0x16,0x74,0x1, 0x12,0x68,0xc6,0x7e,
+0x1f,0xb, 0xe, 0x7a,0x1d,0x23,0x75,0x28,0x1, 0x7e,0x18,0xb, 0xe, 0x7a,0x1d,0x29,
+0x7e,0x18,0xb, 0x26,0x7a,0x1d,0x2d,0x7e,0x1f,0xb, 0xa, 0x7e,0xf, 0xb, 0x22,0x74,
+0x1, 0x12,0x68,0xc6,0xe4,0x12,0x49,0x6e,0x74,0x1, 0x12,0x49,0x6e,0x7e,0x8, 0xa,
+0xce,0x12,0x7f,0xdf,0x7e,0x8, 0xb, 0x16,0x12,0x7f,0xdf,0x7e,0x8, 0xa, 0xda,0x12,
+0x83,0x18,0x7e,0x8, 0xb, 0x22,0x2, 0x83,0x18,0xca,0x3b,0x7e,0xd3,0x9, 0xc3,0x6c,
+0xcc,0x21,0x9a,0xa, 0x3d,0x3e,0x34,0x7e,0xf, 0xa, 0xac,0xe4,0x12,0x9c,0xda,0x7e,
+0x1f,0x11,0x42,0x69,0x31,0x0, 0xae,0x1e,0x34,0x1e,0x34,0x5e,0x34,0x0, 0x1, 0x68,
+0x5, 0x7e,0xe0,0xd, 0x80,0x3, 0x7e,0xe0,0xa, 0x6c,0xff,0x80,0x44,0xa, 0x5e,0x1b,
+0x54,0xa, 0x4f,0x9d,0x54,0xf5,0x61,0x12,0x6c,0x52,0x7e,0xb3,0x1, 0x29,0x60,0x17,
+0x7e,0x1f,0x11,0x42,0x69,0x31,0x0, 0xae,0x1e,0x34,0x1e,0x34,0x5e,0x34,0x0, 0x1,
+0x78,0x5, 0x12,0x6c,0xf6,0x80,0x15,0x12,0x78,0xae,0x80,0x4, 0xe4,0x12,0x82,0x64,
+0x30,0xb, 0xf9,0x7e,0x17,0x8, 0xf6,0x6d,0x0, 0x12,0x60,0x0, 0x12,0x71,0xb4,0xb,
+0xf0,0xbc,0xef,0x38,0xb8,0x6c,0xff,0x80,0x1b,0x74,0x2, 0xac,0xbf,0x7e,0x1f,0xa,
+0xac,0x2d,0x35,0xb, 0x1a,0x30,0x49,0x25,0xf, 0x47,0xbd,0x23,0x50,0x4, 0x59,0x35,
+0xf, 0x47,0xb, 0xf0,0xbc,0xdf,0x38,0xe1,0xb, 0xc0,0x7e,0x73,0x1, 0x5a,0xbc,0x7c,
+0x28,0x2, 0x21,0x3, 0x6c,0xff,0x80,0x3b,0x7e,0x1f,0x11,0x42,0x69,0x31,0x0, 0xae,
+0x1e,0x34,0x1e,0x34,0x5e,0x34,0x0, 0x1, 0x78,0x16,0x74,0x2, 0xac,0xbf,0x49,0x45,
+0xf, 0x47,0xbe,0x44,0x3, 0x64,0x28,0x8, 0x7e,0x34,0x3, 0x64,0x59,0x35,0xf, 0x47,
+0x74,0x2, 0xac,0xbf,0x49,0x15,0xf, 0x47,0x7e,0x1f,0xa, 0xac,0x2d,0x35,0x1b,0x1a,
+0x10,0xb, 0xf0,0xbc,0xdf,0x38,0xc1,0xda,0x3b,0x22,0xca,0x79,0x7e,0x93,0x9, 0xc3,
+0x6c,0x88,0x4c,0x88,0x68,0x2, 0x41,0x19,0x7e,0x78,0x10,0xd7,0x6d,0x55,0x1b,0x7a,
+0x50,0x41,0x13,0x6d,0x22,0x7e,0x70,0x2, 0xac,0x7a,0x2e,0x37,0x8, 0xf6,0x1b,0x38,
+0x20,0xb, 0xa0,0xbc,0x9a,0x38,0xec,0x41,0x92,0xbe,0x80,0x8, 0x68,0x2, 0x41,0x2b,
+0x7e,0x78,0x10,0xd5,0x6d,0x33,0x1b,0x7a,0x30,0x41,0x92,0x6c,0xaa,0x41,0x8e,0x7e,
+0xf0,0x2, 0xac,0xfa,0xa, 0x38,0x1b,0x34,0x3e,0x34,0x49,0x33,0x0, 0x6d,0x6d,0x22,
+0x2d,0x37,0xb, 0x1a,0x10,0x6d,0x0, 0x7e,0x70,0x2, 0xac,0x78,0x49,0x33,0x0, 0x6d,
+0x2d,0x37,0xb, 0x1a,0x30,0x9f,0x10,0x12,0x9c,0xfc,0x7d,0xd3,0xb, 0x7a,0xc0,0xbd,
+0xcd,0x40,0x2, 0x41,0x68,0x1b,0x7a,0xd0,0xbe,0x80,0x7, 0x38,0x2, 0x41,0x8c,0x7e,
+0x63,0x10,0xea,0x7e,0x70,0x2, 0xac,0x67,0x49,0x23,0x10,0xdb,0xbe,0x27,0x10,0xd5,
+0x40,0x2, 0x41,0x8c,0x7e,0xc7,0x10,0xd5,0x59,0xc3,0x10,0xdb,0xb, 0xa0,0xbc,0x9a,
+0x38,0x9d,0xbe,0x80,0x8, 0x40,0x2, 0x41,0xce,0x6c,0xaa,0x41,0xca,0x7e,0x50,0x2,
+0xac,0x5a,0x7e,0x70,0x4, 0xac,0x78,0x2e,0x34,0xf, 0xa6,0x49,0x13,0x0, 0x2, 0x6d,
+0x0, 0x2d,0x12,0xb, 0xa, 0x10,0x1e,0x14,0x1e,0x14,0x1e,0x14,0x2e,0x27,0x8, 0xf6,
+0xb, 0x28,0x30,0x2d,0x31,0x1b,0x28,0x30,0xb, 0xa0,0xbc,0x9a,0x38,0xcf,0xb, 0x80,
+0xbe,0x80,0xa, 0x50,0x2, 0x21,0xf2,0xda,0x79,0x22,0xca,0x3b,0x7c,0xeb,0xe4,0x7a,
+0xb3,0xc, 0xa1,0x6c,0xff,0x7e,0xd0,0x28,0x7e,0x57,0x3, 0x6, 0xf5,0x23,0x6c,0xcc,
+0x75,0x26,0x0, 0x75,0x24,0x0, 0xe4,0x7a,0xb3,0xc, 0xa0,0x75,0x25,0x1, 0x80,0x56,
+0xe5,0x25,0x7e,0x71,0x24,0x12,0x79,0x59,0x7f,0x41,0xa, 0x3d,0x6d,0x22,0xbf,0x41,
+0x40,0x42,0xe5,0x24,0x70,0x2, 0x80,0x2f,0x7e,0xb3,0xc, 0xa0,0x7e,0x71,0x25,0x12,
+0x79,0x59,0x7a,0x1d,0x27,0xe5,0x23,0xa, 0x1b,0x6d,0x0, 0x2f,0x1, 0x7e,0x1f,0xc,
+0xa2,0x2f,0x14,0xbf,0x10,0x40,0xb, 0xbe,0xc0,0x6, 0x50,0x4, 0x5, 0x26,0x80,0x2,
+0xb, 0xf0,0xbe,0xc0,0x6, 0x50,0xd, 0x7a,0x4f,0xc, 0xa2,0xe5,0x24,0x7a,0xb3,0xc,
+0xa0,0x85,0x25,0x24,0x5, 0x25,0xbe,0xe1,0x25,0x38,0xa5,0xbe,0xc0,0x6, 0x50,0x2,
+0x80,0x6, 0x7e,0x57,0x3, 0x8, 0xf5,0x23,0x2e,0xd0,0xa, 0xbe,0xc0,0x6, 0x50,0x11,
+0x7e,0x73,0xc, 0xa1,0xbe,0x71,0x26,0x38,0x16,0xe5,0x26,0x7a,0xb3,0xc, 0xa1,0x80,
+0xe, 0x7e,0x73,0xc, 0xa1,0xbe,0x70,0x0, 0x38,0x16,0xbe,0xf0,0x0, 0x38,0x11,0xbe,
+0xc0,0x5, 0x78,0x3, 0x7e,0xd0,0x32,0xb, 0xc0,0xbe,0xc0,0xc, 0x50,0x2, 0x41,0xf0,
+0x7e,0x73,0xc, 0xa1,0xbe,0x70,0xa, 0x28,0x6, 0x74,0xf, 0x7a,0xb3,0xc, 0xa1,0x7e,
+0xb3,0xc, 0xa1,0xbe,0xb0,0x0, 0x28,0x2, 0x80,0xa, 0xbe,0xf0,0x0, 0x28,0x3, 0x2e,
+0xf0,0x10,0x7c,0xbf,0xda,0x3b,0x22,0xca,0x79,0xb4,0x1, 0x60,0x6c,0xee,0x6c,0xff,
+0x80,0x50,0xa, 0x3f,0x9, 0xa3,0x9, 0x95,0x74,0x2, 0xa4,0x49,0x35,0xa, 0x22,0x12,
+0x81,0x2b,0x7d,0xf3,0x74,0x2, 0xac,0xbf,0x7e,0x1f,0x11,0x42,0x2d,0x35,0x2e,0x34,
+0x0, 0x14,0xb, 0x1a,0xe0,0x5e,0xe4,0x0, 0x3f,0x1b,0x1a,0xe0,0x7d,0x1f,0x3e,0x14,
+0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x74,0x2, 0xac,0xbf,0x7e,0x1f,
+0x11,0x42,0x2d,0x35,0x2e,0x34,0x0, 0x14,0xb, 0x1a,0xe0,0x4d,0xe1,0x1b,0x1a,0xe0,
+0xb, 0xf0,0x7e,0x73,0x9, 0xc3,0xbc,0x7f,0x38,0xa8,0x80,0x63,0x7e,0xe3,0xd, 0x78,
+0x5e,0xe0,0x3, 0x6c,0xff,0x80,0x50,0xa, 0x3f,0x9, 0xa3,0x9, 0x95,0x74,0x2, 0xa4,
+0x49,0x35,0x9, 0xc6,0x12,0x81,0x2b,0x7d,0xf3,0x74,0x2, 0xac,0xbf,0x7e,0x1f,0x11,
+0x42,0x2d,0x35,0x2e,0x34,0x0, 0x14,0xb, 0x1a,0xe0,0x5e,0xe4,0x0, 0x3f,0x1b,0x1a,
+0xe0,0x7d,0x1f,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x74,
+0x2, 0xac,0xbf,0x7e,0x1f,0x11,0x42,0x2d,0x35,0x2e,0x34,0x0, 0x14,0xb, 0x1a,0xe0,
+0x4d,0xe1,0x1b,0x1a,0xe0,0xb, 0xf0,0x7e,0x73,0x9, 0xc3,0xbc,0x7f,0x38,0xa8,0x7c,
+0x6e,0x5e,0x60,0x3, 0x7c,0xb6,0xc4,0x54,0xf0,0x7c,0x6b,0x7e,0x73,0x9, 0x25,0x5e,
+0x70,0xcf,0x4c,0x76,0x7a,0x73,0x9, 0x25,0x7e,0x8, 0x9, 0x25,0x12,0x73,0xf7,0xda,
+0x79,0x22,0x7e,0x37,0xc, 0x81,0x9e,0x37,0xc, 0x85,0x12,0x9c,0xec,0x7d,0x13,0x7e,
+0x37,0xc, 0x83,0x9e,0x37,0xc, 0x87,0x12,0x9c,0xec,0x7d,0x3, 0x7e,0x37,0xc, 0x89,
+0x9e,0x37,0xc, 0x8d,0x12,0x9c,0xec,0x7d,0x43,0x7e,0x37,0xc, 0x8b,0x9e,0x37,0xc,
+0x8f,0x12,0x9c,0xec,0x7d,0x23,0x60,0x2, 0xa1,0x9a,0x7e,0x37,0x3, 0x14,0xbd,0x34,
+0x28,0x54,0x7e,0x37,0x3, 0x12,0xbd,0x32,0x50,0x4c,0xbd,0x30,0x40,0x2, 0xa1,0x9a,
+0x7e,0x37,0xc, 0x87,0xbe,0x37,0xc, 0x83,0x28,0x21,0x7e,0x7, 0xc, 0x83,0x9e,0x7,
+0xc, 0x8f,0xbe,0x7, 0x3, 0x1e,0x40,0x2, 0xa1,0x9a,0x7e,0x7, 0xc, 0x8b,0x9e,0x7,
+0xc, 0x87,0xbe,0x7, 0x3, 0x1e,0x50,0x72,0x74,0x23,0x22,0x9e,0x37,0xc, 0x8f,0xbe,
+0x37,0x3, 0x1e,0x50,0x65,0x7e,0x37,0xc, 0x8b,0x9e,0x37,0xc, 0x83,0xbe,0x37,0x3,
+0x1e,0x50,0x57,0x74,0x22,0x22,0x7e,0x37,0x3, 0xa, 0xbd,0x31,0x50,0x4c,0x7e,0x37,
+0x3, 0xc, 0xbd,0x32,0x28,0x44,0x7e,0x37,0xc, 0x85,0xbe,0x37,0xc, 0x81,0x50,0x1b,
+0x9e,0x37,0xc, 0x8d,0xbe,0x37,0x3, 0x1e,0x50,0x30,0x7e,0x37,0xc, 0x89,0x9e,0x37,
+0xc, 0x81,0xbe,0x37,0x3, 0x1e,0x50,0x22,0x74,0x20,0x22,0x7e,0x37,0xc, 0x81,0x9e,
+0x37,0xc, 0x8d,0xbe,0x37,0x3, 0x1e,0x50,0x11,0x7e,0x37,0xc, 0x89,0x9e,0x37,0xc,
+0x85,0xbe,0x37,0x3, 0x1e,0x50,0x3, 0x74,0x21,0x22,0xe4,0x22,0xca,0x3b,0x7e,0xd3,
+0x1, 0xb5,0x7e,0xb3,0x1, 0x49,0x70,0x2, 0xc1,0x80,0x6c,0xcc,0xc1,0x7a,0x20,0x5,
+0x2, 0xc1,0x56,0x74,0x5, 0xac,0xbc,0x49,0x35,0x1, 0x66,0x7a,0x35,0x23,0x49,0x25,
+0x1, 0x68,0x7a,0x25,0x25,0x7e,0x27,0x9, 0x1c,0x12,0x87,0xb8,0x7a,0x35,0x29,0x7e,
+0x35,0x25,0x7e,0x27,0x9, 0x1c,0x12,0x87,0xb8,0x7d,0x23,0x7a,0x25,0x2b,0x7e,0x35,
+0x29,0x12,0x81,0x2, 0x7a,0x35,0x27,0xbe,0x34,0x0, 0x1, 0x50,0x7, 0x7e,0x34,0x0,
+0x1, 0x7a,0x35,0x27,0x7e,0x37,0x9, 0x20,0xbe,0x35,0x27,0x7e,0x27,0x9, 0x14,0x7e,
+0x35,0x27,0x50,0x8, 0xad,0x32,0x7e,0x17,0x9, 0x1e,0x80,0x6, 0xad,0x32,0x7e,0x17,
+0x9, 0x22,0x12,0x9a,0x7a,0x7d,0x73,0x7e,0x7, 0x9, 0x14,0xbd,0x7, 0x50,0x2, 0x7d,
+0x70,0xbe,0x74,0x0, 0x1, 0x50,0x2, 0x6d,0x77,0x7e,0x35,0x29,0x7d,0x27,0x7e,0x15,
+0x27,0x12,0x83,0xc5,0x7a,0x35,0x23,0x7e,0x35,0x2b,0x7d,0x27,0x7e,0x15,0x27,0x7e,
+0x7, 0x9, 0x14,0x12,0x83,0xc5,0x7a,0x35,0x25,0x7e,0x25,0x23,0x74,0x5, 0xac,0xbc,
+0x59,0x25,0x1, 0x66,0x80,0x1e,0x74,0x5, 0xac,0xbc,0x49,0x35,0x1, 0x66,0x12,0x51,
+0x44,0x74,0x5, 0xac,0xbc,0x59,0x35,0x1, 0x66,0x49,0x35,0x1, 0x68,0x12,0x52,0x67,
+0x74,0x5, 0xac,0xbc,0x59,0x35,0x1, 0x68,0xb, 0xc0,0xbc,0xdc,0x28,0x2, 0xa1,0xae,
+0xda,0x3b,0x22,0x7c,0x6b,0xa5,0xbe,0xae,0x8, 0x5e,0x70,0x3, 0x7a,0x71,0x1f,0x80,
+0x6d,0xa5,0xbe,0xaf,0x3, 0x2, 0x86,0xf4,0xa5,0xbe,0x0, 0x5, 0x7c,0xb7,0x2, 0x84,
+0x2e,0xbe,0x60,0x50,0x40,0x10,0xbe,0x60,0x5d,0x38,0xb, 0xa, 0x56,0x1b,0x54,0xf5,
+0x5c,0x7c,0xb6,0x2, 0x7e,0x22,0xa5,0xbe,0x7, 0x14,0xa5,0xbf,0x1, 0x5, 0xd2,0x0,
+0xd2,0x3, 0x22,0xa5,0xbf,0x0, 0x2, 0x80,0x2, 0xe1,0x67,0xc2,0x0, 0x22,0xbe,0x60,
+0x8, 0x40,0x7, 0xbe,0x60,0xb, 0x38,0x2, 0x80,0x3d,0xbe,0x60,0xc, 0x40,0x5, 0xbe,
+0x60,0x1b,0x28,0x14,0xbe,0x60,0x1e,0x40,0x5, 0xbe,0x60,0x2a,0x28,0xa, 0xbe,0x60,
+0x2b,0x40,0xf, 0xbe,0x60,0x2e,0x38,0xa, 0xa, 0x26,0x19,0x72,0xd, 0x60,0x75,0x5b,
+0x1, 0x22,0xbe,0x60,0x6, 0x68,0x10,0xa5,0xbe,0x1c,0x2, 0x80,0xa, 0xbe,0x60,0x30,
+0x40,0xc, 0xbe,0x60,0x34,0x38,0x7, 0xa, 0x26,0x19,0x72,0xd, 0x60,0x22,0xbe,0x60,
+0x39,0x68,0x4, 0xa5,0xbe,0x3a,0x38,0x7e,0xa3,0xd, 0x92,0x7c,0xba,0x4, 0x7a,0xb3,
+0xd, 0x92,0x7c,0xba,0x7e,0xa3,0x9, 0xc3,0xa, 0x2a,0x3e,0x24,0xa, 0x1b,0xbd,0x12,
+0x28,0x4, 0x7d,0x52,0x1b,0x54,0xa, 0x2b,0x7e,0xf, 0x11,0x1a,0x2d,0x12,0x7a,0xb,
+0x70,0x30,0xe0,0x3, 0x75,0x5b,0x2, 0xa5,0xbe,0x3a,0xc, 0x75,0x5c,0x39,0x22,0xa5,
+0xbe,0x41,0x4, 0x7a,0x73,0xd, 0xa1,0x22,0xca,0x79,0x7f,0x71,0x7f,0x60,0x6d,0x88,
+0x7d,0xa8,0x7e,0x97,0x10,0x49,0xbe,0x94,0x0, 0x0, 0x18,0x4, 0x7e,0x94,0x0, 0x1,
+0x7e,0xa7,0x10,0x4b,0xbe,0xa4,0x0, 0x0, 0x18,0x4, 0x7e,0xa4,0x0, 0x1, 0x7d,0xb8,
+0x80,0x5a,0x7d,0x7b,0x3e,0x74,0x7f,0x16,0x2d,0x37,0xb, 0x1a,0x30,0x1a,0x26,0x1a,
+0x24,0x7e,0xf, 0x10,0x4e,0x9f,0x10,0x74,0x5, 0x2f,0x11,0x14,0x78,0xfb,0x7d,0x19,
+0x1a,0x2, 0x1a,0x0, 0x12,0x9a,0xcd,0x7d,0x83,0x7f,0x16,0x2d,0x37,0x1b,0x1a,0x80,
+0x7f,0x17,0x2d,0x37,0xb, 0x1a,0x30,0x1a,0x26,0x1a,0x24,0x7e,0xf, 0x10,0x52,0x9f,
+0x10,0x7e,0xf, 0x10,0x5a,0x12,0x9a,0x60,0x7d,0x1a,0x1a,0x2, 0x1a,0x0, 0x12,0x9a,
+0xcd,0x7d,0x83,0x7f,0x17,0x2d,0x37,0x1b,0x1a,0x80,0xb, 0xb4,0x7e,0x87,0x10,0x56,
+0xbd,0x8b,0x18,0x9e,0xda,0x79,0x22,0x6d,0x22,0x7a,0x25,0x1a,0x7a,0x35,0x1c,0x22,
+0xca,0xd8,0xca,0x79,0x7f,0x70,0x7e,0xf, 0x11,0x42,0x69,0x30,0x0, 0xb0,0x7d,0x53,
+0x1e,0x54,0x1e,0x54,0x5e,0x54,0x0, 0x1f,0x7c,0xab,0x7d,0x73,0x1e,0x74,0x5e,0x74,
+0x0, 0x1, 0x2e,0x14,0x0, 0xb0,0x5e,0x70,0x7f,0x1b,0xa, 0x30,0x6c,0xee,0x1, 0xd2,
+0xa, 0x3e,0x9, 0xd3,0x9, 0x95,0x7e,0x30,0x2, 0xac,0x3e,0x7e,0x1f,0x11,0x3e,0x2d,
+0x31,0xb, 0x1a,0x30,0x7d,0xd3,0x5e,0xd4,0x80,0x0, 0x6d,0x22,0x4d,0xdd,0x78,0x2,
+0x1, 0x5a,0x6e,0x34,0xff,0xff,0x6d,0x22,0xb, 0x1c,0x4c,0xff,0x78,0x2, 0x1, 0x7e,
+0xbe,0xa0,0x4, 0x40,0x2, 0x1, 0x73,0xa, 0x1a,0x3e,0x14,0x3e,0x14,0x2e,0x14,0x9c,
+0x2f,0x1, 0x87,0x7e,0x30,0x2, 0xac,0x3a,0x2e,0x14,0x9c,0x2d,0x1, 0x87,0x7e,0x30,
+0x2, 0xac,0x3a,0x2e,0x14,0x9c,0x2d,0x7e,0x4, 0x0, 0xff,0xb, 0xa, 0x40,0x7d,0x14,
+0x12,0x9a,0x71,0x74,0xc, 0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,
+0xf4,0x6d,0x22,0x4d,0xdd,0x78,0x2, 0x1, 0xb1,0x6e,0x34,0xff,0xff,0x6d,0x22,0xb,
+0x1c,0x7d,0xc3,0x7e,0x30,0x2, 0xac,0x3d,0x2d,0x1f,0x7d,0xe, 0x1b,0xa, 0xc0,0x7e,
+0x30,0x2, 0xac,0x3d,0x2d,0x1f,0xb, 0xa, 0xc0,0x2e,0xc4,0x80,0x0, 0x1b,0xa, 0xc0,
+0xb, 0xe0,0x7e,0xb3,0x9, 0xc3,0xbc,0xbe,0x28,0x2, 0x1, 0x30,0xda,0x79,0xda,0xd8,
+0x22,0xca,0x79,0x7e,0xb3,0x2, 0x1f,0x70,0x2, 0x21,0xbe,0x7e,0x23,0x1, 0xb5,0x7a,
+0x23,0x1, 0xb7,0x6c,0xaa,0x21,0xb8,0x7e,0x50,0x5, 0xac,0x5a,0x49,0xf2,0x1, 0x66,
+0x7e,0xe4,0x0, 0x40,0x9e,0xf4,0x0, 0x20,0x49,0xd2,0x1, 0x68,0x7e,0x37,0x1, 0xcb,
+0x1e,0x34,0xbd,0xd3,0x50,0xe, 0x7e,0x33,0x1, 0xe9,0xa, 0x43,0x7e,0x33,0x1, 0xea,
+0xa, 0x3, 0x80,0xc, 0x7e,0x33,0x1, 0xeb,0xa, 0x43,0x7e,0x33,0x1, 0xec,0xa, 0x3,
+0x7e,0x63,0x9, 0xc5,0x7e,0x70,0x40,0xac,0x67,0x7d,0xd3,0xbd,0x4f,0x38,0xa, 0x7d,
+0x3d,0x9d,0x3e,0x9d,0x30,0xbd,0x3f,0x50,0x3a,0x7e,0xb3,0x1, 0xb6,0xb4,0x1, 0x2c,
+0xa5,0xba,0x1, 0x28,0x7e,0xf0,0x4, 0xac,0xfa,0x49,0x37,0x11,0x36,0xbe,0x34,0x7f,
+0xff,0x68,0x19,0x49,0xc7,0x11,0x38,0xbe,0xc4,0x7f,0xff,0x68,0xf, 0x59,0x32,0x1,
+0x66,0x7e,0x70,0x5, 0xac,0x7a,0x59,0xc3,0x1, 0x68,0x80,0x7, 0x7c,0xba,0x7c,0x72,
+0x12,0x7f,0xb1,0x7e,0x33,0x1, 0xb8,0xbe,0x33,0x1, 0xb7,0x68,0xf, 0x7e,0xc4,0x7f,
+0xff,0x7e,0x70,0x4, 0xac,0x7a,0x59,0xc3,0x11,0x36,0x80,0x16,0x7e,0x50,0x5, 0xac,
+0x5a,0x49,0xc2,0x1, 0x66,0x7e,0x70,0x4, 0xac,0x7a,0x59,0xc3,0x11,0x36,0x49,0xc2,
+0x1, 0x68,0x59,0xc3,0x11,0x38,0xb, 0xa0,0xbc,0x2a,0x28,0x2, 0x1, 0xf7,0xda,0x79,
+0x22,0x7f,0x61,0x7f,0x50,0x6d,0xee,0x7a,0xe5,0x3a,0x7d,0x4e,0x7d,0x3e,0x7d,0x1e,
+0x7d,0xfe,0x7e,0x50,0x1, 0x1a,0x5, 0x7f,0x45,0x2d,0x90,0x7e,0x4b,0x40,0x1a,0x4,
+0x1a,0x55,0x7f,0x46,0x2d,0x95,0x7e,0x4b,0x40,0x1a,0x54,0x2d,0x45,0x2d,0x30,0x7d,
+0x95,0xad,0x95,0xe, 0x94,0xe, 0x94,0xe, 0x94,0xe, 0x94,0x2d,0x19,0x7d,0x90,0xad,
+0x90,0xe, 0x94,0xe, 0x94,0xe, 0x94,0xe, 0x94,0x2d,0xf9,0x7d,0x95,0xad,0x90,0xe,
+0x94,0xe, 0x94,0xe, 0x94,0xe, 0x94,0x2d,0xe9,0xb, 0x50,0xa5,0xbd,0x10,0xb6,0xe,
+0x44,0xe, 0x44,0xe, 0x44,0xe, 0x44,0xe, 0x34,0xe, 0x34,0xe, 0x34,0xe, 0x34,0x7d,
+0xd4,0xad,0xd3,0x9d,0xed,0xbe,0xe4,0x0, 0x0, 0x18,0x2, 0x80,0x5d,0x7d,0x54,0xad,
+0x54,0x9d,0x15,0xad,0x33,0x9d,0xf3,0xbe,0x14,0x0, 0x10,0x8, 0x6, 0xbe,0xf4,0x0,
+0x40,0x18,0x6, 0x7e,0x34,0x0, 0x64,0x80,0x3e,0xe, 0xe4,0xe, 0xe4,0xe, 0xe4,0xe,
+0xe4,0x7e,0x34,0x0, 0x19,0xad,0x3e,0xe, 0x14,0xe, 0x14,0xe, 0x14,0xe, 0x14,0x1a,
+0x2, 0x1a,0x0, 0x1a,0x26,0x1a,0x24,0x12,0x9a,0xcd,0xad,0x3e,0x7d,0x1f,0xe, 0x14,
+0xe, 0x14,0xe, 0x14,0xe, 0x14,0xe, 0x14,0xe, 0x14,0x1a,0x2, 0x1a,0x0, 0x1a,0x26,
+0x1a,0x24,0x12,0x9a,0xcd,0x1a,0x37,0x7a,0x35,0x3a,0x7e,0x55,0x3a,0x22,0x7e,0xa1,
+0x1f,0x5e,0xa0,0x3, 0xbe,0xa0,0x1, 0x78,0x2, 0x6c,0xaa,0x4c,0xaa,0x78,0x76,0x90,
+0xb4,0x78,0xe4,0x93,0x7c,0x6b,0x5e,0x60,0x3, 0x3e,0x60,0x7e,0x73,0x9, 0x25,0x5e,
+0x70,0xf9,0x4c,0x76,0x7a,0x73,0x9, 0x25,0x7e,0x63,0xd, 0x78,0x5e,0x60,0x3, 0x7c,
+0xb6,0xc4,0x54,0xf0,0x7c,0x6b,0x7e,0x73,0x9, 0x25,0x5e,0x70,0xcf,0x4c,0x76,0x7a,
+0x73,0x9, 0x25,0x7e,0x63,0xd, 0x6c,0x5e,0x60,0x1f,0x7e,0x73,0x9, 0x26,0x5e,0x70,
+0xe0,0x4c,0x76,0x7a,0x73,0x9, 0x26,0x90,0xb4,0xb4,0xe4,0x93,0x7a,0xb3,0x1, 0x29,
+0x90,0xb4,0xb2,0xe4,0x93,0x7a,0xb3,0x1, 0x27,0x90,0xb4,0xb3,0xe4,0x93,0x7a,0xb3,
+0x1, 0x28,0x7e,0x73,0x9, 0x64,0xa, 0x27,0x7e,0x73,0x9, 0x63,0xa, 0x37,0x2d,0x32,
+0x7a,0x73,0x9, 0xc3,0x22,0xbe,0xa0,0x1, 0x78,0x16,0x7e,0xb3,0xd, 0xa1,0x70,0x10,
+0x7e,0xb3,0x9, 0x25,0x54,0xf9,0x7a,0xb3,0x9, 0x25,0x54,0xcf,0x44,0x10,0x80,0x17,
+0xbe,0xa0,0x2, 0x78,0x2d,0x7e,0xb3,0xd, 0xa1,0x70,0x27,0x7e,0xb3,0x9, 0x25,0x54,
+0xf9,0x7a,0xb3,0x9, 0x25,0x54,0xcf,0x7a,0xb3,0x9, 0x25,0x7e,0xb3,0x9, 0x26,0x54,
+0xe0,0x7a,0xb3,0x9, 0x26,0xe4,0x7a,0xb3,0x1, 0x29,0x7a,0xb3,0x1, 0x27,0x7a,0xb3,
+0x1, 0x28,0x22,0xca,0x3b,0x7a,0x1d,0x23,0x7f,0x30,0x7e,0xb3,0x9, 0xc3,0xf5,0x29,
+0x7e,0xb3,0x9, 0x26,0x54,0x1f,0xa, 0x2b,0x5e,0x24,0x0, 0x1f,0x3e,0x24,0x3e,0x24,
+0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x5e,0x70,0x83,0x4d,0x32,
+0x1b,0xa, 0x30,0xe5,0x29,0xa, 0x3b,0x3e,0x34,0x7f,0x3, 0xe4,0x12,0x9c,0xda,0x7e,
+0xb3,0x1, 0x29,0x60,0x47,0x75,0x27,0x0, 0x80,0x37,0x12,0x6c,0xf6,0x75,0x28,0x0,
+0x80,0x26,0x7e,0x71,0x28,0x74,0x2, 0xac,0x7b,0x7f,0x3, 0x2d,0x13,0xb, 0xa, 0x50,
+0x7e,0x7d,0x23,0x2d,0xf3,0xb, 0x7a,0x20,0xbd,0x25,0x28,0xa, 0x2e,0x37,0x8, 0xf6,
+0xb, 0x38,0x30,0x1b,0xa, 0x30,0x5, 0x28,0xe5,0x29,0xbe,0xb1,0x28,0x38,0xd3,0x5,
+0x27,0x7e,0x73,0x1, 0x59,0xbe,0x71,0x27,0x38,0xc0,0x80,0x48,0x75,0x27,0x0, 0x12,
+0x78,0xae,0x80,0x4, 0xe4,0x12,0x82,0x64,0x30,0xb, 0xf9,0x7e,0xd, 0x23,0x12,0x60,
+0x0, 0x75,0x28,0x0, 0x80,0x20,0x7e,0xa1,0x28,0x74,0x2, 0xa4,0x7e,0x1d,0x23,0x2d,
+0x35,0xb, 0x1a,0x20,0x1e,0x24,0x1e,0x24,0x7f,0x3, 0x2d,0x15,0xb, 0xa, 0x30,0x2d,
+0x32,0x1b,0xa, 0x30,0x5, 0x28,0xe5,0x29,0xbe,0xb1,0x28,0x38,0xd9,0x5, 0x27,0xe5,
+0x27,0xb4,0x4, 0xbb,0xda,0x3b,0x22,0x7c,0x7b,0xa, 0x27,0x9, 0x62,0xa, 0x7e,0xa,
+0x26,0x7e,0xf, 0x11,0x42,0x79,0x20,0x0, 0x14,0x6d,0x22,0x7e,0xf, 0x11,0x42,0x79,
+0x20,0x0, 0xc, 0x7e,0xf, 0x11,0x42,0x79,0x20,0x0, 0xe, 0x7e,0xf, 0x11,0x42,0x79,
+0x20,0x0, 0x10,0x7e,0xf, 0x11,0x42,0x79,0x20,0x0, 0x6, 0x7e,0xf, 0x11,0x42,0x79,
+0x20,0x0, 0x8, 0x7e,0xf, 0x11,0x42,0x79,0x20,0x0, 0xa, 0xa, 0x27,0x9, 0xb2,0xa,
+0x7e,0xa, 0x4b,0x5e,0x44,0x0, 0xf, 0xc4,0x54,0xf, 0x7c,0xab,0x7c,0xb9,0x7e,0xf4,
+0x0, 0x1, 0x70,0x2, 0x81,0xab,0x3e,0xf4,0x14,0x78,0xfb,0x7e,0x50,0x2, 0xac,0x5a,
+0x7e,0xf, 0x11,0x42,0x2d,0x12,0x2e,0x14,0x0, 0xc, 0xb, 0xa, 0x20,0x4d,0x2f,0x1b,
+0xa, 0x20,0xe5,0x1f,0x54,0x3, 0xb4,0x1, 0x2, 0x80,0x2, 0xa1,0x17,0x7c,0xb7,0x20,
+0xe0,0x2, 0x81,0xdc,0xa, 0x57,0x1b,0x54,0x7c,0xab,0x81,0xe2,0xa, 0x57,0xb, 0x54,
+0x7c,0xab,0xa, 0x3a,0x9, 0xb3,0xa, 0x7e,0xa, 0x4b,0x5e,0x44,0x0, 0xf, 0xc4,0x54,
+0xf, 0x7c,0xab,0x7c,0xb9,0x7e,0x24,0x0, 0x1, 0x70,0x2, 0xa1,0x2, 0x3e,0x24,0x14,
+0x78,0xfb,0x74,0x2, 0xa4,0x7e,0xf, 0x11,0x42,0x2d,0x15,0x2e,0x14,0x0, 0x6, 0xb,
+0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x22,0x9f,0x0, 0x7e,0x27,0xc, 0x9b,0xbe,0x24,
+0x0, 0x30,0x50,0x26,0x7e,0x37,0xc, 0x85,0x3e,0x24,0x3e,0x24,0x59,0x32,0xb, 0xbf,
+0x7e,0x37,0xc, 0x87,0x7e,0x27,0xc, 0x9b,0x3e,0x24,0x3e,0x24,0x59,0x32,0xb, 0xc1,
+0x7e,0x37,0xc, 0x9b,0xb, 0x34,0x7a,0x37,0xc, 0x9b,0x7e,0xa0,0x1, 0x80,0x30,0x7e,
+0x70,0x4, 0xac,0x7a,0x49,0x23,0xb, 0xbd,0x49,0x33,0xb, 0xc1,0x9d,0x32,0x12,0x9c,
+0xec,0x7d,0x43,0x7e,0x70,0x4, 0xac,0x7a,0x49,0x23,0xb, 0xbb,0x49,0x33,0xb, 0xbf,
+0x9d,0x32,0x12,0x9c,0xec,0x2d,0x43,0x7d,0x34,0x6d,0x22,0x2f,0x1, 0xb, 0xa0,0xa,
+0x3a,0xbe,0x37,0xc, 0x9b,0x40,0xc8,0x6d,0x33,0x7a,0x35,0x58,0x7e,0x37,0x3, 0x26,
+0x6d,0x22,0xbf,0x1, 0x28,0x3, 0x74,0xfe,0x22,0x7e,0x73,0x2, 0xfb,0xa, 0x37,0x3e,
+0x34,0x3e,0x34,0x3e,0x34,0x6d,0x22,0xbf,0x1, 0x50,0x37,0x7e,0x37,0x3, 0x0, 0xbe,
+0x37,0xb, 0xb6,0x28,0x2d,0x7e,0xb3,0xb, 0xba,0x4, 0x7a,0xb3,0xb, 0xba,0x7e,0x34,
+0x0, 0x2, 0x7a,0x35,0x58,0x6d,0x33,0x7a,0x37,0xb, 0xb8,0x7e,0x47,0xc, 0x85,0x7e,
+0xa3,0xb, 0xba,0x74,0x2, 0xa4,0x59,0x45,0xc, 0x8f,0x7e,0x37,0xc, 0x87,0x59,0x35,
+0xc, 0x93,0xe4,0x22,0x7e,0xb3,0x1, 0x27,0x70,0x2, 0xc1,0xab,0xe4,0x7a,0xb3,0x11,
+0x48,0x9f,0x77,0x7e,0xa3,0x9, 0xc3,0x6c,0x77,0x80,0x36,0x7e,0x30,0x2, 0xac,0x37,
+0x49,0x21,0x4, 0x48,0x49,0x1, 0x8, 0x98,0xbd,0x2, 0x28,0x23,0x49,0x21,0x4, 0x48,
+0x49,0x41,0x8, 0x98,0x9d,0x42,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x2f,0x70,0x7e,0x27,
+0x0, 0x8f,0xbd,0x24,0x50,0x9, 0x7e,0xb3,0x11,0x48,0x4, 0x7a,0xb3,0x11,0x48,0xb,
+0x70,0xbc,0xa7,0x38,0xc6,0x7e,0x73,0x0, 0x91,0xbe,0x73,0x11,0x48,0x38,0x34,0xbe,
+0x78,0x27,0x10,0x28,0x2e,0x20,0xf, 0x2b,0x7e,0xa3,0x11,0x49,0x4c,0xaa,0x78,0x4,
+0x74,0x1, 0x80,0x20,0xbe,0xa0,0x2, 0x50,0x24,0x7e,0xb3,0x11,0x4a,0x4, 0x7a,0xb3,
+0x11,0x4a,0x7e,0x73,0x11,0x4a,0xbe,0x70,0x14,0x28,0x12,0x74,0x2, 0x7a,0xb3,0x11,
+0x49,0x80,0xa, 0xe4,0x7a,0xb3,0x11,0x49,0xe4,0x7a,0xb3,0x11,0x4a,0x6d,0x33,0x7a,
+0x37,0x11,0x46,0x7e,0x73,0x11,0x49,0xbe,0x70,0x1, 0x28,0xd, 0x7e,0x14,0x0, 0x14,
+0x7f,0x17,0x12,0x9a,0x7a,0x7a,0x37,0x11,0x46,0x7e,0x37,0x11,0x46,0xbe,0x34,0xd,
+0xac,0x28,0x8, 0x7e,0x34,0xd, 0xac,0x7a,0x37,0x11,0x46,0x22,0x12,0x87,0x6a,0x12,
+0x0, 0x2e,0xe4,0x12,0x87,0xa4,0x12,0x84,0x14,0x7e,0xb3,0xd, 0xde,0xb4,0x1, 0x2,
+0x80,0x2, 0xe1,0x6f,0x12,0x81,0xcb,0x12,0x7a,0xee,0xd2,0x8, 0x7e,0x34,0x0, 0xc8,
+0x12,0x5f,0xf7,0x12,0x73,0x14,0x12,0x7e,0x57,0x12,0x3e,0x5, 0xe4,0x12,0x87,0xa4,
+0x12,0x0, 0x4e,0x12,0x7d,0x1, 0x12,0x65,0xe4,0x12,0x6a,0x43,0x7e,0x73,0xd, 0xa2,
+0xa, 0x37,0x6d,0x22,0x7e,0x14,0x0, 0x64,0x12,0x9a,0x71,0x7f,0x1, 0x7e,0x1f,0x3,
+0x30,0xbf,0x10,0x48,0xe, 0x12,0x58,0x0, 0x12,0x7a,0x1, 0x12,0x1c,0x6d,0x12,0x86,
+0xa9,0x80,0x12,0xe4,0x7a,0xb3,0x1, 0xb5,0x7e,0xb3,0x1, 0x51,0xb4,0x1, 0x6, 0x30,
+0xf, 0x3, 0x12,0x7a,0x1, 0x12,0x87,0x76,0x12,0x76,0x53,0x12,0x26,0xc0,0x12,0x80,
+0x85,0x12,0x83,0xe0,0x12,0x85,0xe7,0x12,0x23,0xf5,0x12,0x60,0xe1,0x12,0x5d,0x9c,
+0x12,0x7c,0x83,0x12,0x14,0xd5,0x12,0x2a,0xab,0x12,0x68,0x0, 0x12,0x0, 0x47,0x12,
+0x10,0x0, 0x12,0x3c,0x10,0x12,0x20,0x0, 0x12,0x32,0x32,0x12,0x41,0x87,0x12,0x38,
+0x0, 0x12,0x18,0x0, 0x12,0x40,0x0, 0x12,0x75,0xf2,0x12,0x81,0xa4,0xc1,0xb9,0x2,
+0x87,0xd6,0x7e,0x1f,0x11,0x42,0x69,0x31,0x0, 0xae,0x1e,0x34,0x1e,0x34,0x5e,0x34,
+0x0, 0x1, 0x68,0xa, 0x7e,0x1f,0xa, 0xac,0xb, 0x1a,0x30,0x2, 0x0, 0x76,0x6c,0xaa,
+0x80,0x59,0xa, 0x3a,0x9, 0x23,0x9, 0x95,0x7e,0x30,0x2, 0xac,0x23,0x7e,0x1f,0xa,
+0xac,0x2d,0x31,0xb, 0x1a,0x30,0x12,0x81,0x2b,0x7d,0x23,0x7e,0x70,0x2, 0xac,0x7a,
+0x7e,0xf, 0x11,0x42,0x2d,0x13,0x2e,0x14,0x0, 0x14,0xb, 0xa, 0x30,0x5e,0x34,0x0,
+0x3f,0x1b,0xa, 0x30,0x7d,0x42,0x3e,0x44,0x3e,0x44,0x3e,0x44,0x3e,0x44,0x3e,0x44,
+0x3e,0x44,0x7e,0x70,0x2, 0xac,0x7a,0x7e,0xf, 0x11,0x42,0x2d,0x13,0x2e,0x14,0x0,
+0x14,0xb, 0xa, 0x30,0x4d,0x34,0x1b,0xa, 0x30,0xb, 0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,
+0xba,0x38,0x9f,0x22,0x74,0xa, 0x12,0x86,0x59,0x75,0xe6,0xa6,0x75,0xe9,0xff,0x22,
+0x7e,0xb3,0x1, 0x4a,0x70,0x2, 0x1, 0xc5,0x30,0xf, 0x2, 0x1, 0xc5,0x7e,0xa7,0x1,
+0xc7,0x7e,0xa3,0xd, 0xcb,0x4c,0xaa,0x68,0x12,0xbe,0xa0,0xff,0x68,0xd, 0x74,0x64,
+0xa4,0x7d,0xb5,0xbd,0xab,0x8, 0x6, 0x7d,0xba,0x80,0x2, 0x7d,0xba,0x7e,0xb3,0x1,
+0xb6,0xb4,0x1, 0xc, 0x7e,0xa7,0x1, 0x68,0xbe,0xa7,0x0, 0xd2,0x78,0x2, 0xe, 0xb4,
+0x7e,0x73,0x9, 0x66,0xa, 0x7, 0x7e,0x73,0x9, 0x64,0xa, 0x17,0x9d,0x10,0x7c,0x23,
+0x7e,0xa3,0x9, 0x65,0x7e,0x33,0x9, 0x63,0xbc,0xa2,0x78,0x31,0x7c,0x73,0x6c,0x66,
+0x80,0x25,0x7e,0x50,0x4, 0xac,0x57,0x2e,0x27,0x8, 0xf4,0x49,0xd2,0x0, 0x2, 0xb,
+0x28,0xc0,0x7d,0x2b,0x7d,0xfb,0x1a,0x24,0x1a,0xe4,0xbf,0x76,0x18,0x5, 0xe4,0x7a,
+0xb3,0x0, 0xc3,0xb, 0x60,0xb, 0x70,0xbc,0xa6,0x38,0xd7,0x80,0x2e,0xa5,0xba,0x2,
+0x2a,0x74,0x4, 0xac,0xb3,0x7d,0xa5,0x2e,0xa7,0x8, 0xf4,0x49,0x3a,0x0, 0x6, 0x49,
+0x2a,0x0, 0x4, 0x49,0x1a,0x0, 0x2, 0xb, 0xa8,0x0, 0x2f,0x1, 0x7d,0x3b,0x1a,0x26,
+0x1a,0x24,0xbf,0x10,0x18,0x5, 0xe4,0x7a,0xb3,0x0, 0xc3,0x12,0x77,0x9, 0x40,0x5,
+0x7d,0x3b,0x2, 0x30,0x0, 0x22,0xca,0xf8,0x7c,0xfb,0x7f,0x50,0x7f,0x41,0x7e,0x7d,
+0x23,0xbe,0x78,0x0, 0x32,0x18,0x2, 0x21,0x87,0xe5,0x28,0x70,0x4, 0xe5,0xc, 0x80,
+0x2, 0xe5,0x9, 0xa, 0x1b,0x6d,0x0, 0x7f,0x17,0x12,0x9a,0x60,0x7e,0x8, 0x0, 0x64,
+0x12,0x9a,0xcd,0x7f,0x71,0x7f,0x15,0x12,0x86,0x6e,0x7f,0x61,0x7f,0x14,0x12,0x86,
+0x6e,0x2f,0x61,0x78,0x4c,0x4c,0xff,0x68,0x24,0x7e,0x14,0x0, 0x3, 0x7f,0x17,0x12,
+0x9a,0x71,0x7e,0x8, 0x0, 0x4, 0x12,0x9a,0xcd,0x7f,0x1, 0x7e,0x1d,0x29,0x79,0x11,
+0x0, 0x2, 0x1b,0x1a,0x0, 0x7e,0x8, 0x0, 0x4, 0x7f,0x17,0x80,0x4b,0x7e,0x8, 0x0,
+0x4, 0x7f,0x17,0x12,0x9a,0xcd,0x7f,0x1, 0x7e,0x1d,0x29,0x79,0x11,0x0, 0x2, 0x1b,
+0x1a,0x0, 0x7e,0x14,0x0, 0x3, 0x7f,0x17,0x12,0x9a,0x71,0x7e,0x8, 0x0, 0x4, 0x80,
+0x27,0x7f,0x14,0x12,0x86,0x6e,0x7f,0x7, 0x12,0x9a,0x60,0x7f,0x6, 0x12,0x9a,0xcd,
+0x7f,0x1, 0x7e,0x1d,0x29,0x79,0x11,0x0, 0x2, 0x1b,0x1a,0x0, 0x7f,0x15,0x12,0x86,
+0x6e,0x7f,0x7, 0x12,0x9a,0x60,0x7f,0x6, 0x12,0x9a,0xcd,0x7f,0x1, 0x7e,0x1d,0x2d,
+0x79,0x11,0x0, 0x2, 0x1b,0x1a,0x0, 0xda,0xf8,0x22,0xca,0x2b,0xca,0x1b,0xca,0xb,
+0xc0,0xd0,0xc0,0x83,0xc0,0x82,0xc2,0xc1,0x7e,0x11,0xa2,0x7e,0x1, 0xa7,0xa5,0xb8,
+0x1, 0xb, 0xc2,0x95,0x7c,0xb1,0x12,0x7a,0x54,0xf5,0x91,0x80,0x58,0xbe,0x0, 0x3,
+0x40,0x36,0x7c,0xb1,0x7e,0x71,0xa3,0x12,0x74,0xca,0x7e,0xb3,0xd, 0xc7,0xbe,0xb1,
+0x4e,0x68,0x4, 0x70,0x2, 0xc2,0xc, 0x7e,0xb3,0x0, 0xec,0xb4,0x2, 0x6, 0x7e,0xb3,
+0xd, 0xf2,0x70,0xd, 0x7e,0xb3,0x9, 0x24,0xb4,0x2, 0xd, 0x7e,0xb3,0xd, 0xf2,0x70,
+0x7, 0xc2,0xc, 0xe4,0x7a,0xb3,0xd, 0xc7,0xbe,0x0, 0x7, 0x40,0xa, 0xb, 0x10,0x7c,
+0xb1,0x7e,0x71,0xa4,0x12,0x74,0xca,0xa5,0xb8,0xf, 0xa, 0xb, 0x10,0x7c,0xb1,0x7e,
+0x71,0xa5,0x12,0x74,0xca,0x20,0xc, 0x28,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,
+0xb, 0xa, 0x30,0x5e,0x70,0xfd,0x1b,0xa, 0x30,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xa9,
+0xc7,0xdb,0xa9,0xd0,0xce,0xa9,0xc5,0xc9,0xa9,0xd6,0xdc,0x75,0x9f,0x0, 0xd2,0xee,
+0x75,0x5d,0x0, 0x12,0x87,0x99,0xd0,0x82,0xd0,0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,
+0xda,0x2b,0x32,0xca,0xf8,0x7e,0xa3,0x9, 0xc4,0x7e,0x47,0x8, 0xf4,0x7e,0x73,0x9,
+0x63,0x9f,0x0, 0x7a,0xf, 0x3, 0x30,0x6c,0x66,0x80,0x2f,0xbc,0xa6,0x28,0xf, 0x9f,
+0x0, 0x7e,0x50,0x4, 0xac,0x56,0x59,0x12,0x3, 0x36,0x59,0x2, 0x3, 0x34,0x7e,0x50,
+0x4, 0xac,0x56,0x2d,0x24,0x49,0x12,0x0, 0x2, 0xb, 0x28,0x0, 0x7e,0x7f,0x3, 0x30,
+0xbf,0x7, 0x8, 0x4, 0x7a,0xf, 0x3, 0x30,0xb, 0x60,0xbc,0x76,0x38,0xcd,0x7e,0x6f,
+0x3, 0x30,0xbe,0x68,0x2, 0xbc,0x58,0x4, 0x74,0x7, 0x80,0x3d,0x7e,0xf3,0xd, 0xa2,
+0xa, 0xff,0x6d,0xee,0x7e,0x14,0x3, 0x20,0x7f,0x17,0x12,0x9a,0x71,0xbf,0x61,0x48,
+0x16,0x7e,0x8, 0x0, 0x4, 0x7f,0x16,0x12,0x9a,0xcd,0x7e,0x8, 0x0, 0x64,0x12,0x9a,
+0xcd,0x7a,0x73,0xd, 0xa2,0x80,0x16,0x7e,0x14,0x0, 0x64,0x7f,0x17,0x12,0x9a,0x71,
+0xbe,0x18,0x3, 0x84,0x8, 0x7, 0x7c,0xbf,0x14,0x7a,0xb3,0xd, 0xa2,0x7e,0x73,0xd,
+0xa2,0xa, 0x37,0x6d,0x22,0x7e,0x14,0x0, 0x64,0x12,0x9a,0x71,0xbe,0x18,0x2, 0xbc,
+0x58,0x6, 0x74,0x7, 0x7a,0xb3,0xd, 0xa2,0xda,0xf8,0x22,0x7e,0x34,0xb5,0x3a,0x7e,
+0x24,0x0, 0xff,0xb, 0x1a,0x30,0x7a,0x37,0x2, 0x1b,0x7e,0xb3,0x1, 0xe6,0x70,0x12,
+0x7e,0x8, 0x1, 0x49,0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,0xda,0x7a,0xb3,0x2, 0x1e,
+0x80,0xf, 0xb4,0x1, 0x17,0x7e,0x8, 0x1, 0x49,0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,
+0xda,0xe4,0x7a,0xb3,0x2, 0x1f,0x7a,0xb3,0x2, 0x20,0x80,0x24,0xb4,0x2, 0x12,0x7e,
+0x8, 0x1, 0x49,0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,0xda,0x7a,0xb3,0x2, 0x1f,0x80,
+0xf, 0xb4,0x3, 0x17,0x7e,0x8, 0x1, 0x49,0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,0xda,
+0xe4,0x7a,0xb3,0x2, 0x1d,0x7a,0xb3,0x2, 0x21,0x80,0x24,0xb4,0x4, 0x12,0x7e,0x8,
+0x1, 0x49,0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,0xda,0x7a,0xb3,0x2, 0x1d,0x80,0xf,
+0xb4,0x5, 0x24,0x7e,0x8, 0x1, 0x49,0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,0xda,0x7e,
+0x37,0x1, 0xcb,0x1e,0x34,0x1e,0x34,0x7a,0x37,0x2, 0x1b,0x7e,0x37,0x1, 0xcb,0x1e,
+0x34,0x1e,0x34,0x7a,0x37,0x1, 0xd3,0x22,0x69,0x50,0x0, 0xf, 0x1a,0x4a,0x1a,0x48,
+0x7e,0x1d,0x50,0x2f,0x12,0x7e,0x2f,0x11,0x42,0x79,0x32,0x0, 0x84,0x29,0xb0,0x0,
+0xc, 0x1e,0xb0,0x54,0x3f,0xa, 0x3b,0x7e,0x2f,0x11,0x42,0x79,0x32,0x0, 0x88,0x69,
+0x30,0x0, 0xd, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x86,0x6d,0x33,0x7e,0xf, 0x11,
+0x42,0x79,0x30,0x0, 0xb4,0x12,0x7c,0x43,0xa9,0xd0,0xce,0xa9,0xd5,0xc9,0xa9,0xd0,
+0x9e,0xa9,0xd4,0x9e,0xa9,0xd0,0x9e,0x7e,0x73,0xd, 0xab,0xa, 0x27,0x7e,0x34,0xf,
+0xa0,0x12,0x9a,0x2e,0x7c,0xb7,0xf5,0x9f,0xa9,0xd3,0xcd,0xa9,0xd0,0xcd,0xa9,0xc6,
+0xdc,0xa9,0xd5,0xdc,0xa9,0xd7,0xca,0xd2,0xa8,0xc2,0xee,0x7e,0xf, 0x11,0x42,0x2e,
+0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x4e,0x70,0x80,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,
+0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x5e,0x70,0x83,0x1b,0xa, 0x30,0x7e,0xf, 0x11,
+0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x70,0x2, 0x1b,0xa, 0x30,0xa9,0xd7,
+0xdb,0x22,0x7e,0x1f,0x11,0x42,0x69,0xc1,0x0, 0xae,0x1e,0xc4,0x1e,0xc4,0x5e,0xc4,
+0x0, 0x1, 0x68,0x1b,0x7e,0x1f,0xa, 0xac,0xb, 0x1a,0xd0,0xe5,0x61,0x7e,0xc4,0x0,
+0x1, 0x60,0x5, 0x3e,0xc4,0x14,0x78,0xfb,0x4d,0xdc,0x7d,0x3d,0x2, 0x0, 0x76,0x6c,
+0xaa,0x80,0x6a,0xa, 0x3a,0x9, 0x23,0x9, 0x95,0x7e,0x30,0x2, 0xac,0x23,0x7e,0x1f,
+0xa, 0xac,0x2d,0x31,0xb, 0x1a,0xd0,0xe5,0x61,0x7e,0x44,0x0, 0x1, 0x60,0x5, 0x3e,
+0x44,0x14,0x78,0xfb,0x4d,0xd4,0x7d,0x3d,0x12,0x81,0x2b,0x7d,0xd3,0x7e,0x30,0x2,
+0xac,0x3a,0x7e,0x1f,0x11,0x42,0x2d,0x31,0x2e,0x34,0x0, 0x14,0xb, 0x1a,0xc0,0x5e,
+0xc4,0x0, 0x3f,0x1b,0x1a,0xc0,0x7d,0x4d,0x3e,0x44,0x3e,0x44,0x3e,0x44,0x3e,0x44,
+0x3e,0x44,0x3e,0x44,0x7e,0x30,0x2, 0xac,0x3a,0x7e,0x1f,0x11,0x42,0x2d,0x31,0x2e,
+0x34,0x0, 0x14,0xb, 0x1a,0xc0,0x4d,0xc4,0x1b,0x1a,0xc0,0xb, 0xa0,0x7e,0xb3,0x9,
+0xc3,0xbc,0xba,0x38,0x8e,0x22,0xca,0x79,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,
+0xb, 0xa, 0x30,0x5e,0x70,0x83,0x1b,0xa, 0x30,0x80,0x4, 0xe4,0x12,0x82,0x64,0x30,
+0xb, 0xf9,0x7e,0xe3,0x1, 0x44,0xbe,0xe0,0xa, 0x28,0x3, 0x7e,0xe0,0xa, 0x6c,0xff,
+0x80,0x1b,0x12,0x78,0xae,0x80,0x4, 0xe4,0x12,0x82,0x64,0x30,0xb, 0xf9,0x74,0x2,
+0xac,0xbf,0x49,0x15,0x0, 0x6d,0x6d,0x0, 0x12,0x60,0x0, 0xb, 0xf0,0xbc,0xef,0x38,
+0xe1,0x6c,0xff,0x80,0x12,0x74,0x2, 0xac,0xbf,0x49,0x35,0x0, 0x6d,0x74,0x4, 0xac,
+0xbf,0x59,0x35,0xf, 0xa8,0xb, 0xf0,0xbc,0xef,0x38,0xea,0x7c,0xbe,0x12,0x2d,0x51,
+0x6c,0xff,0x80,0xc, 0x6d,0x33,0x74,0x4, 0xac,0xbf,0x59,0x35,0xf, 0xa8,0xb, 0xf0,
+0xbc,0xef,0x38,0xf0,0x7e,0xb3,0x9, 0x26,0x54,0x1f,0xa, 0x2b,0x5e,0x24,0x0, 0x1f,
+0x3e,0x24,0x3e,0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x5e,
+0x70,0x83,0x4d,0x32,0x1b,0xa, 0x30,0xda,0x79,0x22,0x7c,0x6b,0x6c,0xaa,0xbe,0x60,
+0x20,0x40,0x5, 0xbe,0x60,0x7f,0x28,0x3, 0x7c,0xba,0x22,0xa, 0x26,0x9e,0x24,0x0,
+0x20,0xe, 0x24,0xe, 0x24,0xe, 0x24,0xe, 0x24,0x7c,0x75,0x7c,0x56,0x5e,0x50,0xf0,
+0xa5,0xbd,0x20,0x1f,0x7c,0xb6,0x54,0xf, 0x7e,0x34,0x0, 0x1, 0x60,0x5, 0x3e,0x34,
+0x14,0x78,0xfb,0x7e,0x43,0x3, 0x28,0xa, 0x44,0x5d,0x43,0x7e,0x43,0xd, 0xf3,0xa,
+0x54,0x80,0x52,0xa5,0xbd,0x30,0x26,0x7e,0xb3,0xd, 0xf3,0x30,0xe5,0x4b,0x7c,0xb6,
+0x54,0xf, 0x7e,0x34,0x0, 0x1, 0x60,0x5, 0x3e,0x34,0x14,0x78,0xfb,0x7e,0x53,0x3,
+0x29,0xa, 0x45,0x5d,0x43,0x7e,0x73,0xd, 0xf4,0xa, 0x57,0x80,0x28,0x7e,0xb3,0xd,
+0xf3,0x30,0xe5,0x25,0x7c,0xb6,0x54,0xf, 0x7e,0x24,0x0, 0x1, 0x60,0x5, 0x3e,0x24,
+0x14,0x78,0xfb,0xa, 0x17,0x9, 0x61,0x3, 0x28,0xa, 0x46,0x5d,0x42,0xa, 0x57,0x9,
+0x75,0xd, 0xf5,0xa, 0x57,0x5d,0x54,0x7c,0xab,0x7c,0xba,0x22,0x7e,0x14,0x9e,0x3e,
+0x7e,0x4, 0x0, 0xff,0x69,0x30,0x0, 0x1, 0x7e,0xb, 0x50,0x7a,0x35,0x24,0x7a,0x51,
+0x23,0x7e,0x14,0x9e,0x41,0x7e,0x4, 0x0, 0xff,0x69,0x30,0x0, 0x1, 0x7e,0xb, 0x50,
+0x7a,0x35,0x27,0x7a,0x51,0x26,0x7e,0x24,0xff,0xff,0x7d,0x42,0x6d,0x33,0x7d,0x13,
+0xe5,0x66,0x60,0x3, 0x15,0x66,0x22,0x6c,0xaa,0x7c,0x1a,0x2e,0x10,0x23,0xa5,0xe7,
+0x7c,0x1b,0x74,0x2, 0xac,0x1b,0x2e,0x7, 0x8, 0xf6,0xb, 0x8, 0x0, 0xbd,0x4, 0x50,
+0x2, 0x7d,0x40,0xbd,0x1, 0x28,0x2, 0x7d,0x10,0x7c,0x1a,0x2e,0x10,0x26,0xa5,0xe7,
+0x7c,0x1b,0x74,0x2, 0xac,0x1b,0x2e,0x7, 0x8, 0xf6,0xb, 0x8, 0x0, 0xbd,0x2, 0x50,
+0x2, 0x7d,0x20,0xbd,0x3, 0x28,0x2, 0x7d,0x30,0xb, 0xa0,0xbe,0xa0,0x3, 0x78,0xb9,
+0x9d,0x14,0xbe,0x17,0x1, 0x42,0x8, 0x6, 0x7e,0xb3,0x1, 0x41,0xf5,0x66,0x9d,0x32,
+0xbe,0x37,0x1, 0x42,0x8, 0x6, 0x7e,0xb3,0x1, 0x41,0xf5,0x66,0x22,0x7e,0x14,0x10,
+0x4, 0x7e,0x1f,0x11,0x42,0x1b,0x1a,0x10,0xa9,0xd0,0xca,0x43,0xca,0xa, 0x7e,0xf,
+0x11,0x42,0x2e,0x14,0x0, 0xaa,0xb, 0xa, 0x30,0x4e,0x60,0x20,0x1b,0xa, 0x30,0x7e,
+0x34,0x0, 0x3f,0x6c,0xaa,0x7e,0x50,0x2, 0xac,0x5a,0x7e,0xf, 0x11,0x42,0x2d,0x12,
+0x79,0x30,0x0, 0x14,0xb, 0xa0,0xbe,0xa0,0x2d,0x40,0xea,0x7e,0x34,0x38,0x2, 0x7e,
+0xf, 0x11,0x42,0x79,0x30,0x0, 0xaa,0x7e,0x34,0x1a,0x1a,0x7e,0xf, 0x11,0x42,0x79,
+0x30,0x0, 0xa2,0x7e,0x34,0x3, 0x4c,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xac,0x7e,
+0x34,0x0, 0x29,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xae,0x7e,0x34,0x2, 0x0, 0x7e,
+0xf, 0x11,0x42,0x79,0x30,0x0, 0xb0,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb,
+0xa, 0x30,0x4e,0x70,0x3c,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xac,
+0xb, 0xa, 0x30,0x5e,0x70,0xf3,0x4e,0x70,0x4, 0x1b,0xa, 0x30,0x22,0x7c,0x2b,0x15,
+0x5c,0x7c,0xb2,0x24,0xad,0xbe,0xb0,0xa, 0x50,0x6c,0x7e,0xa0,0x3, 0xa4,0x90,0x6f,
+0x92,0x73,0x2, 0x6f,0xb0,0x2, 0x6f,0xb0,0x2, 0x6f,0xbc,0x2, 0x6f,0xbc,0x2, 0x6f,
+0xbc,0x2, 0x6f,0xbc,0x2, 0x6f,0xbc,0x2, 0x6f,0xbc,0x2, 0x6f,0xbc,0x2, 0x6f,0xbc,
+0x7e,0xb3,0xe, 0x3, 0xa, 0x3b,0x9, 0x33,0x9, 0x67,0x80,0x32,0xa, 0x32,0x9e,0x34,
+0x0, 0x55,0x7e,0x4, 0x0, 0x2, 0x7d,0x20,0x12,0x9a,0x2e,0x4d,0x22,0x68,0x2, 0x1b,
+0x20,0xa, 0x32,0x9e,0x34,0x0, 0x55,0x7d,0x20,0x12,0x9a,0x2e,0x7e,0x14,0x0, 0x14,
+0xad,0x13,0x7e,0xb3,0xe, 0x3, 0xa, 0x3b,0x2d,0x31,0x9, 0x33,0x2, 0x35,0x4, 0x7a,
+0xb3,0xe, 0x3, 0x7c,0xb3,0x22,0x74,0xff,0x22,0xa9,0xc0,0x93,0x75,0x5d,0x0, 0x32,
+0xca,0x3b,0x7e,0x94,0x38,0x80,0x7e,0x84,0x0, 0x1, 0x7f,0x64,0x9f,0x55,0x7f,0x75,
+0x6c,0x33,0x7e,0xa0,0x1, 0x6c,0x22,0x80,0x2e,0x7e,0x10,0x2, 0xac,0x12,0x2e,0x7,
+0x8, 0xf8,0xb, 0x8, 0x70,0x6d,0x66,0x7e,0x10,0x4, 0xac,0x12,0x2e,0x7, 0x8, 0xf4,
+0x49,0x30,0x0, 0x2, 0xb, 0x8, 0x20,0x2f,0x13,0xbf,0x61,0x8, 0x2, 0x7f,0x61,0xbf,
+0x71,0x58,0x2, 0x7f,0x71,0xb, 0x20,0x7e,0x13,0x9, 0x63,0xbc,0x12,0x38,0xca,0x7f,
+0x37,0x9f,0x36,0xbe,0x38,0x4, 0xb0,0x58,0x3, 0x7e,0x30,0x1, 0x7f,0x64,0x7f,0x75,
+0x6c,0x22,0x80,0x1c,0x7e,0x70,0x2, 0xac,0x72,0x2e,0x37,0x8, 0xf8,0xb, 0x38,0x30,
+0x6d,0x22,0xbf,0x61,0x8, 0x2, 0x7f,0x61,0xbf,0x71,0x58,0x2, 0x7f,0x71,0xb, 0x20,
+0xbc,0x12,0x38,0xe0,0x9f,0x76,0xbe,0x78,0x4, 0xb0,0x8, 0x2, 0x6c,0xaa,0x4c,0x33,
+0x68,0x8, 0x4c,0xaa,0x78,0x4, 0x74,0x1, 0x80,0x1, 0xe4,0xda,0x3b,0x22,0xca,0xd8,
+0xca,0x79,0x7c,0x5b,0x6c,0xdd,0x6c,0xff,0x7e,0x70,0xa, 0xac,0x75,0x49,0xd3,0x10,
+0xb9,0x49,0xc3,0x10,0xb7,0x49,0xf3,0x10,0xbd,0x49,0xe3,0x10,0xbb,0x9, 0xa3,0x10,
+0xbf,0x9, 0xe3,0x10,0xc0,0x7e,0x8, 0xc, 0xa0,0x7e,0x34,0x0, 0x5c,0xe4,0x12,0x9c,
+0xda,0x6c,0x77,0x80,0x25,0x7e,0x50,0x4, 0xac,0x57,0x2e,0x27,0x8, 0xf4,0x49,0x12,
+0x0, 0x2, 0xb, 0x28,0x0, 0xbf,0x6, 0x8, 0xf, 0x7e,0x50,0x4, 0xac,0x5d,0x59,0x12,
+0xc, 0xa2,0x59,0x2, 0xc, 0xa0,0xb, 0xd0,0xb, 0x70,0x7e,0x63,0x9, 0x63,0xbc,0x67,
+0x38,0xd3,0xbc,0xad,0x38,0x2f,0x7e,0x1f,0x3, 0x30,0xbf,0x17,0x58,0x27,0x7e,0x8,
+0xc, 0xa0,0xa, 0x3a,0x12,0x57,0x94,0x74,0x4, 0xac,0xbe,0x49,0x35,0xc, 0xa2,0x49,
+0x25,0xc, 0xa0,0x7e,0x14,0x0, 0x3, 0x12,0x9a,0x71,0x7e,0xf, 0xc, 0xa0,0xbf,0x10,
+0x8, 0x3, 0x7e,0xf0,0x1, 0x7c,0xbf,0xda,0x79,0xda,0xd8,0x22,0x7f,0x61,0xbe,0x68,
+0x0, 0x6, 0x50,0x15,0xbe,0x68,0x0, 0x2, 0x50,0x3, 0x7f,0x16,0x22,0x7f,0x16,0x1e,
+0x34,0x1e,0x24,0x50,0x5e,0x4e,0x60,0x80,0x22,0x7f,0x76,0xe4,0x80,0xe, 0x7f,0x17,
+0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x7f,0x71,0x4, 0xbe,0x78,0x0, 0x1,
+0x38,0xec,0x1e,0xb0,0x60,0x5, 0x2f,0x77,0x14,0x78,0xfb,0x7f,0x17,0x2f,0x17,0x2f,
+0x17,0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x7f,0x71,0x7f,0x57,0x7f,0x16,
+0x7f,0x7, 0x12,0x9a,0x7c,0x2f,0x17,0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,
+0x7f,0x71,0x7d,0x2b,0x7d,0x3f,0x9d,0x32,0x12,0x9c,0xec,0xbe,0x34,0x0, 0x1, 0x18,
+0xdb,0x7f,0x17,0x22,0x7e,0x1f,0x11,0x42,0x69,0x31,0x0, 0xae,0x1e,0x34,0x1e,0x34,
+0x5e,0x34,0x0, 0x1, 0x68,0x27,0x7e,0x37,0x8, 0xf6,0xb, 0x38,0x30,0xbe,0x34,0x3a,
+0xc0,0x28,0x57,0xe5,0x61,0x7e,0x24,0x0, 0x1, 0x60,0x5, 0x3e,0x24,0x14,0x78,0xfb,
+0x7e,0xf, 0xa, 0xac,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x22,0x6c,0xaa,0x80,
+0x31,0x7e,0x70,0x2, 0xac,0x7a,0x7d,0x23,0x2e,0x27,0x8, 0xf6,0xb, 0x28,0x20,0xbe,
+0x24,0x3a,0xc0,0x28,0x1b,0xe5,0x61,0x7e,0x24,0x0, 0x1, 0x60,0x5, 0x3e,0x24,0x14,
+0x78,0xfb,0x7e,0xf, 0xa, 0xac,0x2d,0x13,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,
+0xb, 0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,0xba,0x38,0xc7,0x22,0xca,0x79,0x7c,0xab,0x7e,
+0x47,0x8, 0xf4,0x7e,0x34,0x1, 0x9a,0x6c,0x55,0x80,0x5e,0xa, 0x15,0x2d,0x13,0x7e,
+0x19,0x40,0x7e,0x30,0x4, 0xac,0x34,0x7d,0xf1,0x2d,0xf4,0x49,0x1f,0x0, 0x2, 0xb,
+0xf8,0x0, 0xa, 0xf5,0xb, 0xf4,0x7d,0x7f,0x7c,0x4f,0x80,0x37,0xa, 0xf4,0x2d,0xf3,
+0x7e,0xf9,0xb0,0x7e,0xf0,0x4, 0xac,0xfb,0x7d,0xd7,0x2d,0xd4,0x49,0xfd,0x0, 0x2,
+0xb, 0xd8,0xe0,0xbf,0x7, 0x58,0x1a,0x7f,0x7, 0xa, 0xf4,0x2d,0xf3,0x7e,0xf9,0xf0,
+0xa, 0xe5,0x2d,0xe3,0x7e,0xe9,0xb0,0x7a,0xf9,0xb0,0xa, 0xf5,0x2d,0xf3,0x7a,0xf9,
+0xf0,0xb, 0x40,0xbc,0xa4,0x38,0xc5,0xb, 0x50,0xbc,0xa5,0x38,0x9e,0xda,0x79,0x22,
+0x6d,0x33,0x7a,0x35,0x4c,0xf5,0x4e,0x7a,0xb3,0xd, 0xc7,0x14,0x68,0x13,0x1b,0xb1,
+0x68,0x1c,0x24,0x3, 0x78,0x5a,0x12,0x80,0xaf,0x7e,0xb3,0xd, 0xaa,0xf5,0x4f,0x80,
+0x4f,0x80,0x4, 0xe4,0x12,0x82,0x64,0x12,0x17,0xcc,0x50,0xf7,0x80,0x42,0x12,0x84,
+0x48,0x12,0x17,0xcc,0x50,0xfb,0x12,0x0, 0x6, 0x12,0x80,0x59,0x74,0x1, 0x12,0x82,
+0x8a,0x74,0x2, 0x12,0x82,0x64,0x12,0x87,0xae,0xc2,0xa8,0xc2,0x95,0xa9,0xd0,0xca,
+0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,0x86,0x2c,0x7e,0x8, 0x9, 0x25,0x12,0x1, 0x20,
+0x7e,0x34,0x0, 0x2, 0x12,0x83,0xaa,0x75,0x4e,0x0, 0xe4,0x7a,0xb3,0xd, 0xc7,0x22,
+0xe4,0x2, 0x87,0xa4,0x80,0x4, 0xe4,0x12,0x82,0x64,0x12,0x17,0xcc,0x50,0xf7,0x7e,
+0xb3,0x1, 0x29,0x60,0x10,0xe5,0x66,0x70,0x3, 0x30,0x9, 0x9, 0x7e,0xb3,0x1, 0x40,
+0x12,0x2d,0x51,0x80,0xf, 0x7e,0xb3,0x1, 0x28,0x60,0x9, 0x7e,0xb3,0xd, 0xad,0x60,
+0x3, 0x12,0x59,0xea,0x6c,0xaa,0x80,0x2d,0x7e,0x30,0x2, 0xac,0x3a,0x7d,0x1, 0x2e,
+0x7, 0x8, 0xf8,0xb, 0x8, 0x30,0x6d,0x22,0x2e,0x17,0x8, 0xf6,0xb, 0x18,0x10,0x6d,
+0x0, 0x9f,0x1, 0x7e,0x70,0x4, 0xac,0x7a,0x2e,0x37,0x8, 0xf4,0x59,0x13,0x0, 0x2,
+0x1b,0x38,0x0, 0xb, 0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,0xba,0x38,0xcb,0x7e,0xb3,0x1,
+0x29,0x60,0x3, 0x2, 0x6e,0x3c,0x22,0xca,0xf8,0xca,0x2b,0xca,0x1b,0xca,0xb, 0xc0,
+0xd0,0xc0,0x83,0xc0,0x82,0x30,0x90,0x42,0xc2,0x90,0xe5,0x5d,0x70,0x30,0xe4,0x7a,
+0xb3,0xe, 0x4, 0x7a,0xb3,0xe, 0x3, 0x75,0x5d,0x1, 0x7e,0xf1,0x91,0xe5,0x91,0xf5,
+0x5c,0x7e,0xb3,0x1, 0x52,0x60,0xb, 0x7e,0xb3,0xd, 0xf2,0x60,0x5, 0xe5,0x5c,0x12,
+0x85,0xb7,0xe5,0x5c,0x12,0x80,0xd9,0xf5,0x91,0x7a,0xf1,0x5c,0x80,0x1a,0x7e,0xf1,
+0x91,0xe5,0x5c,0x7c,0x7f,0x12,0x84,0xae,0x5, 0x5c,0x30,0x91,0xb, 0xc2,0x91,0x5,
+0x5c,0xe5,0x5c,0x12,0x80,0xd9,0xf5,0x91,0xd0,0x82,0xd0,0x83,0xd0,0xd0,0xda,0xb,
+0xda,0x1b,0xda,0x2b,0xda,0xf8,0x32,0x7e,0x2f,0x11,0x42,0x2e,0x54,0x0, 0xae,0xb,
+0x2a,0x30,0x5e,0x70,0x8f,0x1b,0x2a,0x30,0x7e,0x2f,0x11,0x42,0x2e,0x54,0x0, 0xae,
+0xb, 0x2a,0x30,0x4e,0x70,0x8, 0x1b,0x2a,0x30,0x7e,0xb, 0xa0,0x7c,0xba,0xc4,0x7c,
+0x6b,0x5e,0x60,0x3, 0x1e,0xa0,0x5e,0xa0,0x3, 0x68,0x3, 0x7e,0xa0,0x1, 0x7e,0x70,
+0x2, 0xac,0x67,0xa, 0x2a,0x2d,0x32,0x2e,0x34,0x9c,0x6d,0x7a,0x71,0x82,0x7a,0x61,
+0x83,0xe4,0x93,0xa, 0x2b,0x5e,0x24,0x0, 0x7, 0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,
+0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x5e,0x70,0x8f,0x4d,
+0x32,0x1b,0xa, 0x30,0x22,0x7e,0xb3,0x10,0x58,0x70,0x58,0x7e,0x73,0x10,0x60,0x7e,
+0x63,0x10,0x70,0xe4,0x7a,0xb3,0x10,0x60,0x7a,0xb3,0x10,0x70,0x7e,0xa0,0x1, 0x1a,
+0x2a,0x9, 0xb2,0x10,0x70,0x1a,0x2b,0x1a,0x16,0x9d,0x21,0xa5,0xbd,0x40,0xa, 0x74,
+0x7f,0x1a,0x4a,0x19,0xb4,0x10,0x70,0x80,0xa, 0x7c,0x45,0x3e,0x40,0x1a,0x1a,0x19,
+0x41,0x10,0x70,0x1a,0x1a,0x9, 0x41,0x10,0x60,0x1a,0x14,0x1a,0x7, 0x9d,0x10,0x3e,
+0x14,0x7c,0x43,0x1a,0x1a,0x19,0x41,0x10,0x60,0xb, 0xa0,0xbe,0xa0,0x10,0x78,0xbf,
+0x2, 0x36,0x5f,0x74,0x7f,0x7a,0xb3,0x10,0x4d,0x22,0x7c,0xa7,0x7c,0x3b,0xa5,0xbb,
+0x0, 0x5, 0x7c,0xba,0x2, 0x84,0x2e,0xbe,0x30,0x50,0x40,0x14,0xbe,0x30,0x5d,0x38,
+0xf, 0xa, 0x33,0x1b,0x34,0x7c,0xb7,0xf5,0x5c,0x7c,0xb3,0x7c,0x7a,0x2, 0x7e,0x22,
+0xbe,0x30,0x80,0x40,0x37,0xbe,0x30,0xdb,0x38,0x32,0x9e,0x30,0x80,0xbe,0x30,0x30,
+0x68,0x17,0xa5,0xbb,0xb, 0xc, 0x7e,0x23,0xd, 0xad,0xbc,0x2a,0x68,0xb, 0xd2,0x2,
+0x80,0x7, 0xa5,0xbb,0x2f,0x3, 0x12,0x86,0xf4,0x7c,0xb3,0x7c,0x7a,0x12,0x80,0x0,
+0xa5,0xbb,0x3c,0x5, 0x7c,0xba,0x2, 0x80,0x2d,0x75,0x69,0x1, 0x22,0xca,0xb8,0xca,
+0x39,0x7e,0x35,0x18,0xb, 0x34,0x7a,0x35,0x18,0xe5,0x4f,0xbe,0xb0,0xc8,0x50,0x2,
+0x5, 0x4f,0x7e,0x35,0x18,0xbe,0x34,0x3, 0xe8,0x28,0x13,0x6d,0x33,0x7a,0x35,0x18,
+0x7e,0x35,0x4c,0xbe,0x34,0x3, 0xe8,0x50,0x5, 0xb, 0x34,0x7a,0x35,0x4c,0x7e,0xb3,
+0x1, 0x52,0x60,0x24,0x7e,0xb3,0xd, 0xf2,0x60,0x1e,0x7e,0x37,0x3, 0x24,0xbe,0x37,
+0xb, 0xb6,0x40,0x14,0x7e,0x37,0xb, 0xb6,0xb, 0x34,0x7a,0x37,0xb, 0xb6,0x7e,0x37,
+0xb, 0xb8,0xb, 0x34,0x7a,0x37,0xb, 0xb8,0x12,0x86,0x82,0xda,0x39,0xda,0xb8,0x32,
+0x7e,0xb3,0x1, 0x29,0x60,0x8, 0x74,0x2, 0x7a,0xb3,0x1, 0x5a,0x80,0x6, 0x74,0x1,
+0x7a,0xb3,0x1, 0x5a,0x7a,0xb3,0x1, 0x59,0xd2,0xb, 0x7e,0xb3,0x1, 0x4f,0x60,0x10,
+0x74,0x1, 0x7a,0xb3,0x1, 0x5b,0x7a,0xb3,0x1, 0x5c,0x7a,0xb3,0x1, 0x5d,0x80,0xd,
+0xe4,0x7a,0xb3,0x1, 0x5b,0x7a,0xb3,0x1, 0x5c,0x7a,0xb3,0x1, 0x5d,0x7a,0xb3,0x1,
+0x5e,0x7e,0xb3,0x1, 0x4d,0x60,0xb, 0xe4,0x7a,0xb3,0x1, 0x60,0x7a,0xb3,0x1, 0x61,
+0x80,0xb, 0xe4,0x7a,0xb3,0x1, 0x60,0x7a,0xb3,0x1, 0x61,0x74,0x1, 0x7a,0xb3,0x1,
+0x4e,0x22,0x7e,0xb3,0xd, 0xc7,0xbe,0xb1,0x4e,0x68,0x3, 0x12,0x72,0xa0,0xe5,0x4e,
+0x70,0x3c,0x7e,0x73,0x1, 0xb5,0xbe,0x70,0x0, 0x28,0x7, 0x6d,0x33,0x7a,0x35,0x4c,
+0x80,0x3e,0xe5,0x4e,0x60,0x11,0x7e,0x73,0xd, 0xa9,0xa, 0x37,0xbe,0x35,0x4c,0x50,
+0x6, 0x7e,0xb3,0xd, 0xf2,0x60,0x13,0xe5,0x4e,0x60,0x25,0x7e,0x35,0x4c,0xbe,0x34,
+0x0, 0x2, 0x28,0x1c,0x7e,0xb3,0xd, 0xf2,0x60,0x16,0x74,0x1, 0x80,0xf, 0xe5,0x4e,
+0xb4,0x1, 0xd, 0x7e,0x73,0x1, 0xb5,0xbe,0x70,0x0, 0x28,0x4, 0xe4,0x12,0x72,0xa0,
+0x2, 0x82,0xaf,0x9f,0x0, 0x7e,0xb3,0x1, 0xb5,0x70,0x52,0x7e,0xb3,0x1, 0x4a,0x60,
+0x47,0x7e,0x73,0x9, 0x66,0xa, 0x27,0x7e,0x73,0x9, 0x64,0xa, 0x37,0x9d,0x32,0x6c,
+0x66,0x80,0x1d,0xa, 0x56,0x7e,0x53,0x9, 0x63,0xa, 0x25,0x2d,0x25,0x3e,0x24,0x3e,
+0x24,0x2e,0x27,0x8, 0xf4,0x49,0x52,0x0, 0x2, 0xb, 0x28,0x40,0x2f,0x2, 0xb, 0x60,
+0xbc,0x76,0x38,0xdf,0x7e,0x37,0x1, 0xc7,0x3e,0x34,0x7e,0x24,0x0, 0x3, 0x8d,0x32,
+0x6d,0x22,0xbf,0x1, 0x58,0x7, 0x80,0x0, 0xe4,0x7a,0xb3,0x1, 0xbf,0x22,0x7f,0x60,
+0x7f,0x71,0x7e,0x14,0x0, 0x74,0x7f,0x17,0x12,0x9a,0x71,0x74,0x7, 0x7f,0x51,0x1e,
+0xb4,0x1e,0xa4,0x50,0x4, 0x4e,0xb4,0x80,0x0, 0x14,0x78,0xf3,0x7e,0x14,0x0, 0x54,
+0x7f,0x17,0x12,0x9a,0x71,0x7f,0x1, 0x74,0x7, 0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,
+0x60,0x80,0x14,0x78,0xf4,0xbf,0x65,0x8, 0x3, 0x74,0x80,0x22,0xbf,0x61,0x58,0x2,
+0xe4,0x22,0x74,0x9, 0x7f,0x16,0x2f,0x11,0x14,0x78,0xfb,0x2f,0x0, 0x2f,0x0, 0x9f,
+0x10,0x7f,0x7, 0x12,0x9a,0x7c,0x7c,0xb7,0x22,0x9f,0x0, 0x7e,0x73,0x9, 0x66,0xa,
+0x27,0x7e,0x73,0x9, 0x64,0xa, 0x37,0x9d,0x32,0x6c,0x66,0x80,0x1d,0xa, 0x56,0x7e,
+0x53,0x9, 0x63,0xa, 0x25,0x2d,0x25,0x3e,0x24,0x3e,0x24,0x2e,0x27,0x8, 0xf4,0x49,
+0x52,0x0, 0x2, 0xb, 0x28,0x40,0x2f,0x2, 0xb, 0x60,0xbc,0x76,0x38,0xdf,0x7e,0x1f,
+0x3, 0x30,0xbf,0x10,0x58,0xf, 0xe4,0x7a,0xb3,0x1, 0xb5,0x7e,0xb3,0x1, 0xbf,0x60,
+0x2, 0xd3,0x22,0xc3,0x22,0x7e,0xb3,0x1, 0xb5,0x60,0x6, 0x74,0x1, 0x7a,0xb3,0x1,
+0xbf,0xd3,0x22,0xa9,0xc2,0xea,0x74,0x1, 0x7a,0xb3,0xd, 0xde,0xf5,0x68,0x12,0x83,
+0x73,0x12,0x83,0x8f,0x7e,0x34,0x7, 0xd0,0x12,0x5f,0xf7,0x7e,0x8, 0x9, 0x25,0x12,
+0x1, 0x20,0x7e,0x34,0x0, 0x2, 0x12,0x83,0xaa,0xc2,0x8, 0x12,0x81,0x54,0x12,0x7e,
+0x8c,0x12,0x87,0x26,0x7e,0xb3,0xd, 0xde,0x24,0xfd,0x68,0x10,0x14,0x68,0x12,0x1b,
+0xb1,0x68,0xce,0x24,0x5, 0x78,0xf, 0x12,0x66,0xac,0x80,0xe8,0x12,0x4c,0x47,0x80,
+0xe3,0x12,0x0, 0xa, 0x80,0xde,0x75,0xe9,0xff,0x80,0xd9,0x7e,0xb3,0xf, 0xa5,0xb4,
+0x1, 0x3d,0x7e,0xa3,0xf, 0xa4,0x74,0x4, 0xa4,0x49,0x15,0xf, 0xa8,0x6d,0x0, 0xbe,
+0x8, 0x0, 0x0, 0x68,0x3, 0x12,0x60,0x0, 0x7e,0xb3,0xf, 0xa4,0x4, 0x7a,0xb3,0xf,
+0xa4,0x7e,0x73,0xf, 0xa3,0xbe,0x73,0xf, 0xa4,0x28,0xe, 0x12,0x83,0xfa,0xb4,0x1,
+0x4, 0x74,0x1, 0x80,0x6, 0x74,0x3, 0x80,0x2, 0x74,0x2, 0x7a,0xb3,0xf, 0xa5,0x22,
+0x7d,0xd2,0x6d,0x22,0x9e,0x18,0x0, 0xe5,0x6d,0xcc,0x7e,0x78,0x0, 0xe5,0x7f,0x27,
+0x9f,0x26,0x6e,0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,0x2e,0x28,0x0, 0xe5,
+0x9f,0x71,0x7f,0x17,0xbe,0x28,0x0, 0x0, 0x58,0x4, 0x9f,0x22,0x80,0xa, 0xbe,0x28,
+0x1, 0xca,0x48,0x4, 0x7e,0x28,0x1, 0xc9,0xbe,0x18,0x0, 0x0, 0x58,0x4, 0x9f,0x11,
+0x80,0xa, 0xbe,0x18,0x1, 0xca,0x48,0x4, 0x7e,0x18,0x1, 0xc9,0x1b,0xa, 0x50,0x7d,
+0x13,0x7e,0x1d,0x27,0x1b,0x1a,0x10,0x22,0x7c,0x97,0x7c,0xab,0x7e,0x30,0x4, 0xac,
+0x3a,0x49,0x31,0xa, 0xb4,0x49,0x21,0xa, 0xb2,0x12,0x86,0x6e,0x7f,0x71,0x4c,0x99,
+0x68,0x19,0xe5,0x15,0xa, 0xb, 0xa, 0x1a,0x9d,0x10,0x3e,0x14,0x3e,0x14,0x49,0x31,
+0xa, 0xb4,0x49,0x21,0xa, 0xb2,0x12,0x86,0x6e,0x2f,0x71,0xe5,0xa, 0x14,0xbc,0xb9,
+0x68,0x19,0xe5,0x15,0xa, 0xb, 0xa, 0x1a,0x2d,0x10,0x3e,0x14,0x3e,0x14,0x49,0x31,
+0xa, 0xb4,0x49,0x21,0xa, 0xb2,0x12,0x86,0x6e,0x2f,0x71,0x7f,0x17,0x22,0x53,0xca,
+0xe1,0x43,0xca,0x8, 0x75,0xcf,0x4, 0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xaa,0xb,
+0xa, 0x30,0x5e,0x60,0x3f,0x4e,0x60,0x80,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,
+0x14,0x0, 0xac,0xb, 0xa, 0x30,0x5e,0x70,0xfc,0x4e,0x70,0x1, 0x1b,0xa, 0x30,0x7e,
+0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x4e,0x70,0x80,0x1b,0xa, 0x30,
+0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x4e,0x70,0x1, 0x1b,0xa,
+0x30,0xc2,0xb, 0x22,0x7e,0xb3,0x10,0xed,0x60,0x4a,0x7e,0xb3,0x10,0xec,0xb4,0x3,
+0x6, 0x7e,0xa3,0x0, 0x88,0x80,0x10,0xb4,0x2, 0x6, 0x7e,0xa3,0x0, 0x89,0x80,0x7,
+0xb4,0x1, 0x4, 0x7e,0xa3,0x0, 0x8a,0xbe,0xa1,0x6c,0x28,0x28,0x5, 0x6c,0x7e,0x73,
+0x1, 0xb6,0xbe,0x70,0x0, 0x28,0x3, 0x74,0x1, 0x22,0xe5,0x6c,0xbe,0xb0,0x3, 0x50,
+0x16,0xbe,0x73,0x1, 0xb5,0x28,0x10,0xbe,0x70,0x0, 0x28,0xb, 0x7a,0x73,0x1, 0xb5,
+0x80,0x5, 0x80,0x0, 0x75,0x6c,0x0, 0xe4,0x22,0x7c,0x37,0x7c,0xab,0x7e,0x70,0x4,
+0xac,0x73,0x49,0x23,0xb, 0xbf,0x7e,0x70,0x4, 0xac,0x7a,0x49,0x33,0xb, 0xbf,0x9d,
+0x32,0x12,0x9c,0xec,0x7d,0xd3,0x1a,0x36,0x1a,0xc6,0x7e,0x70,0x4, 0xac,0x73,0x49,
+0x23,0xb, 0xc1,0x74,0x4, 0xa4,0x49,0x35,0xb, 0xc1,0x9d,0x32,0x12,0x9c,0xec,0x7d,
+0xf3,0x1a,0x36,0x1a,0xe6,0x7f,0x16,0x7f,0x6, 0x12,0x9a,0x60,0x7f,0x61,0x7f,0x17,
+0x7f,0x7, 0x12,0x9a,0x60,0x7f,0x71,0x7f,0x16,0x2f,0x17,0x2, 0x71,0x3c,0x1b,0x34,
+0x68,0x1d,0xb, 0x34,0x78,0x44,0x7e,0x18,0x9, 0xc6,0x7a,0x1f,0xa, 0xac,0x7e,0x34,
+0x4, 0x48,0x7a,0x37,0x8, 0xf6,0x7e,0x63,0x0, 0xfa,0x5e,0x60,0x3, 0x80,0x14,0x7e,
+0x18,0xa, 0x22,0x7a,0x1f,0xa, 0xac,0x7e,0x34,0x8, 0x98,0x7a,0x37,0x8, 0xf6,0x7e,
+0x63,0x1, 0x16,0x5e,0x60,0x3, 0x7c,0xb6,0xc4,0x54,0xf0,0x7c,0x6b,0x7e,0x73,0x9,
+0x25,0x5e,0x70,0xcf,0x4c,0x76,0x7a,0x73,0x9, 0x25,0x7e,0x8, 0x9, 0x25,0x2, 0x73,
+0xf7,0xca,0xf8,0x7e,0xb3,0x1, 0x51,0x60,0x48,0x7e,0xb3,0x1, 0x27,0xb4,0x1, 0xd,
+0x7e,0xb3,0x11,0x49,0xbe,0xb0,0x0, 0x28,0x4, 0xc2,0xf, 0x80,0x34,0x6c,0xff,0x7c,
+0xbf,0x12,0x70,0x9e,0x7c,0xab,0x4c,0xaa,0x78,0x7, 0xb, 0xf0,0xbe,0xf0,0x3, 0x40,
+0xee,0x4c,0xaa,0x68,0x7, 0xd2,0xf, 0x75,0x64,0x1, 0x80,0x15,0xe5,0x64,0xbe,0xb0,
+0x0, 0x28,0xe, 0x5, 0x64,0xe5,0x64,0xbe,0xb0,0x14,0x40,0x5, 0xc2,0xf, 0x75,0x64,
+0x0, 0xda,0xf8,0x22,0x30,0x1, 0x3, 0x2, 0x7c,0xc2,0x70,0x5, 0x7e,0xb3,0xd, 0x60,
+0x22,0xbe,0xb0,0x50,0x40,0x8, 0xbe,0xb0,0x5d,0x38,0x3, 0x2, 0x6f,0x7d,0xbe,0xb0,
+0x5a,0x38,0x17,0xbe,0xb0,0xe, 0x50,0xf, 0xa, 0x3b,0x30,0xe, 0x5, 0x9, 0xb3,0x10,
+0xf1,0x22,0x9, 0xb3,0x10,0xff,0x22,0x74,0xff,0x22,0xbe,0xb0,0x80,0x40,0xc, 0xbe,
+0xb0,0xdb,0x38,0x7, 0xa, 0x3b,0x9, 0xb3,0xd, 0x22,0x22,0xb4,0xfc,0x5, 0x7e,0xb3,
+0xd, 0xde,0x22,0x74,0xff,0x22,0x7c,0xab,0x7e,0xb3,0x1, 0x28,0x60,0xf, 0x7e,0xb3,
+0xd, 0xad,0x60,0x9, 0x4c,0xaa,0x78,0x5, 0x12,0x82,0x3e,0x80,0x1f,0x7e,0xb3,0x1,
+0x29,0x60,0x10,0x4c,0xaa,0x78,0xc, 0x20,0x9, 0x4, 0xe5,0x66,0x60,0x5, 0x12,0x82,
+0x18,0x80,0x9, 0x6d,0x33,0x7e,0x24,0x4, 0x48,0x12,0x82,0xd2,0x7e,0xb3,0x1, 0x27,
+0x60,0xb, 0x7e,0x34,0x0, 0x1, 0x7e,0x24,0x8, 0x98,0x2, 0x82,0xd2,0x22,0xca,0xf8,
+0x7e,0xf3,0x1, 0xc0,0x4c,0xff,0x68,0x3a,0xbe,0xf0,0x1, 0x78,0xe, 0xc2,0x8, 0x7e,
+0x34,0x7, 0xd0,0x12,0x5f,0xf7,0x12,0x0, 0xe, 0x80,0x8, 0xbe,0xf0,0x3, 0x78,0x3,
+0x12,0x87,0x26,0xe4,0x7a,0xb3,0x1, 0xc0,0x7e,0x8, 0xf, 0x19,0x7e,0x73,0x9, 0xc3,
+0xa, 0x37,0x12,0x9c,0xda,0x7e,0x8, 0xe, 0xeb,0x7e,0x73,0x9, 0xc3,0xa, 0x37,0x12,
+0x9c,0xda,0xda,0xf8,0x22,0x7c,0x97,0x7c,0xab,0x7e,0x30,0x4, 0xac,0x3a,0x49,0x31,
+0xa, 0xb4,0x49,0x21,0xa, 0xb2,0x12,0x86,0x6e,0x7f,0x71,0x4c,0x99,0x68,0x12,0x7e,
+0x30,0x4, 0xac,0x3a,0x49,0x31,0xa, 0xb0,0x49,0x21,0xa, 0xae,0x12,0x86,0x6e,0x2f,
+0x71,0xe5,0x15,0x14,0xbc,0xb9,0x68,0x10,0x74,0x4, 0xa4,0x49,0x35,0xa, 0xb8,0x49,
+0x25,0xa, 0xb6,0x12,0x86,0x6e,0x2f,0x71,0x7f,0x17,0x22,0x7e,0x8, 0x1, 0x66,0x7e,
+0x34,0x0, 0x5b,0xe4,0x12,0x9c,0xda,0x6c,0xaa,0x7e,0x30,0x5, 0xac,0x3a,0x2e,0x14,
+0x1, 0x66,0x6d,0x0, 0x12,0x86,0xe2,0xbe,0xa0,0x2, 0x50,0x1c,0x7e,0x30,0x5, 0xac,
+0x3a,0x2e,0x14,0x1, 0x7a,0x6d,0x0, 0x12,0x86,0xe2,0x7e,0x30,0x5, 0xac,0x3a,0x2e,
+0x14,0x1, 0x84,0x6d,0x0, 0x12,0x86,0xe2,0xb, 0xa0,0xbe,0xa0,0x4, 0x40,0xca,0x22,
+0x7d,0x13,0x7e,0xb3,0x3, 0x2f,0x60,0xa, 0x7e,0x37,0x0, 0xd2,0xbd,0x32,0x78,0x2,
+0xe4,0x22,0x7e,0x37,0x3, 0x1a,0xbd,0x31,0x38,0xc, 0x7e,0x37,0x1, 0xc9,0x9e,0x37,
+0x3, 0x1a,0xbd,0x31,0x50,0x3, 0x74,0x1, 0x22,0x7e,0x37,0x3, 0x1c,0xbd,0x32,0x38,
+0xc, 0x7e,0x37,0x1, 0xcb,0x9e,0x37,0x3, 0x1c,0xbd,0x32,0x50,0x3, 0x74,0x1, 0x22,
+0xe4,0x22,0x90,0xb4,0x12,0xe4,0x93,0x7a,0xb3,0xd, 0xca,0x7e,0x37,0x1, 0xc3,0xbe,
+0x34,0x63,0x9c,0x28,0x8, 0x74,0xff,0x7a,0xb3,0xd, 0xa2,0x80,0xa, 0x7e,0x24,0x0,
+0x64,0x8d,0x32,0x7a,0x73,0xd, 0xa2,0x7e,0x37,0x1, 0xc7,0xbe,0x34,0x63,0x9c,0x28,
+0x7, 0x74,0xff,0x7a,0xb3,0xd, 0xcb,0x22,0x7e,0x24,0x0, 0x64,0x8d,0x32,0x7a,0x73,
+0xd, 0xcb,0x22,0x90,0xb4,0xcf,0xe4,0x93,0xa, 0x3b,0xbe,0x34,0x0, 0xa, 0x58,0x4,
+0x7e,0x34,0x0, 0xa, 0x1a,0x26,0x1a,0x24,0x74,0xf, 0x2f,0x11,0x14,0x78,0xfb,0x7e,
+0x8, 0x3, 0xe8,0x12,0x9a,0xcd,0xd2,0xc8,0xa9,0xc0,0xcd,0xa9,0xd0,0x9e,0x7c,0xb6,
+0xf5,0x9d,0xa9,0xd0,0x9e,0x7c,0xb7,0xf5,0x9c,0xc2,0x88,0xa9,0xd0,0xb7,0xd2,0xb8,
+0xc2,0xa8,0x22,0xca,0xf8,0x6c,0xff,0x80,0x2e,0x7e,0x18,0x0, 0x25,0x7a,0x1d,0x27,
+0x74,0x5, 0xac,0xbf,0x49,0x35,0x1, 0x66,0x49,0x25,0x1, 0x68,0x7e,0x8, 0x0, 0x23,
+0x12,0x78,0x0, 0x7e,0x45,0x23,0x74,0x5, 0xac,0xbf,0x59,0x45,0x1, 0x66,0x7e,0x35,
+0x25,0x59,0x35,0x1, 0x68,0xb, 0xf0,0x7e,0x73,0x1, 0xb5,0xbc,0x7f,0x38,0xca,0xda,
+0xf8,0x22,0x7e,0x27,0xc, 0x9b,0x7d,0x32,0x3e,0x34,0x3e,0x34,0xb, 0x34,0xbe,0x37,
+0x11,0x4b,0x40,0x2a,0x7e,0x37,0x11,0x4b,0xb, 0x34,0x7a,0x37,0x11,0x4b,0xbe,0x34,
+0x0, 0x1, 0x78,0x5, 0x7e,0xb3,0xd, 0xf5,0x22,0xbe,0x34,0x0, 0x2, 0x78,0x3, 0x7c,
+0xb5,0x22,0x9e,0x34,0x0, 0x3, 0x2e,0x37,0xb, 0xbb,0x7e,0x39,0xb0,0x22,0x74,0xff,
+0x22,0x7e,0xa3,0x9, 0xc3,0x7e,0xb3,0x1, 0xc0,0x70,0x4, 0xe5,0x1e,0x60,0x2e,0xe4,
+0x7a,0xb3,0x1, 0xc0,0x75,0x1e,0x0, 0x6c,0x77,0x80,0x1e,0x7e,0x30,0x2, 0xac,0x37,
+0x49,0x21,0x4, 0x48,0x59,0x21,0x4, 0xa4,0x9f,0x0, 0x7e,0x50,0x4, 0xac,0x57,0x59,
+0x12,0x3, 0x92,0x59,0x2, 0x3, 0x90,0xb, 0x70,0xbc,0xa7,0x38,0xde,0x22,0xd2,0xcf,
+0xbe,0xb0,0x7, 0x38,0x4, 0x7c,0xab,0x80,0x2, 0x6c,0xaa,0x75,0xcb,0x8e,0x4e,0xa0,
+0x30,0x7c,0xba,0x42,0xcc,0x0, 0x0, 0x0, 0x0, 0x75,0xcf,0x4, 0xa9,0xc5,0xcb,0xa9,
+0xd0,0xca,0x53,0xca,0xf1,0x43,0xca,0x28,0x75,0xc8,0x88,0xe5,0x54,0xb4,0x1, 0x6,
+0x43,0xc8,0x2, 0x43,0xd8,0x60,0x0, 0x0, 0x0, 0x0, 0x22,0xca,0xf8,0x7e,0x57,0xc,
+0x9b,0x12,0x5a,0xda,0x7c,0xfb,0x12,0x5c,0xb2,0x60,0x2, 0x80,0x26,0x7e,0x37,0xc,
+0x9b,0x7a,0x35,0x23,0x7e,0x8, 0xb, 0xbf,0x7e,0x18,0xc, 0x81,0x12,0x48,0x0, 0xb4,
+0x54,0x7, 0xbe,0xf0,0x2, 0x28,0x2, 0x74,0x31,0xb4,0x53,0x7, 0xbe,0xf0,0x2, 0x28,
+0x2, 0x74,0x32,0xda,0xf8,0x22,0x9f,0x11,0x6c,0x22,0x80,0x12,0x7e,0x10,0x2, 0xac,
+0x12,0x2e,0x7, 0x8, 0xf6,0xb, 0x8, 0x50,0x6d,0x44,0x2f,0x12,0xb, 0x20,0x7e,0x33,
+0x9, 0xc3,0xbc,0x32,0x38,0xe6,0xa, 0x13,0x6d,0x0, 0x12,0x9a,0x7c,0x9e,0x18,0x3a,
+0xc0,0x7e,0x8, 0x0, 0x4, 0x12,0x9a,0xcd,0x7a,0x1d,0x50,0x22,0xca,0xf8,0x7c,0xfb,
+0x74,0xff,0xbe,0x8, 0x0, 0x0, 0x8, 0x27,0x7e,0x4d,0x24,0xbe,0x48,0x0, 0x0, 0x8,
+0x1e,0xbf,0x4, 0x8, 0xd, 0x12,0x76,0xae,0x7a,0xb3,0x11,0x4d,0x1a,0x5f,0x1b,0x55,
+0x80,0xd, 0x7f,0x4, 0x12,0x76,0xae,0x7a,0xb3,0x11,0x4d,0xa, 0x5f,0xb, 0x55,0xda,
+0xf8,0x22,0x7c,0x6b,0x7e,0xb3,0xe, 0x4, 0x70,0x9, 0x7a,0x63,0xe, 0x4, 0xe4,0x7a,
+0xb3,0xe, 0x3, 0xa, 0x26,0x2e,0x24,0x9c,0xbc,0x7a,0x51,0x82,0x7a,0x41,0x83,0xe4,
+0x93,0xbe,0xb3,0xe, 0x3, 0x28,0xf, 0x7e,0xb3,0xe, 0x3, 0xa, 0x2b,0x19,0x72,0xe,
+0x5, 0x4, 0x7a,0xb3,0xe, 0x3, 0x22,0x7e,0x73,0xe, 0x4, 0xbe,0x70,0x50,0x40,0x2b,
+0xbe,0x70,0x5d,0x38,0x26,0xa, 0x37,0x2e,0x34,0x9c,0xbc,0x7a,0x71,0x82,0x7a,0x61,
+0x83,0xe4,0x93,0xbe,0xb3,0xe, 0x3, 0x38,0x12,0x7e,0xb3,0xd, 0xde,0xf5,0x68,0x7e,
+0xb3,0xd, 0x60,0xf5,0x67,0x74,0x6, 0x7a,0xb3,0xd, 0xde,0x22,0x53,0x1f,0x7f,0x7e,
+0xb3,0x1, 0x27,0x60,0x1e,0x7e,0xa3,0xd, 0xde,0xbe,0xa0,0x3, 0x78,0x6, 0xe5,0x1f,
+0x54,0x3, 0x68,0x5, 0xbe,0xa0,0x3, 0x68,0xa, 0x7e,0x34,0x0, 0x1, 0x12,0x79,0xae,
+0x12,0x4e,0xd5,0x6d,0x33,0x12,0x79,0xae,0x12,0x4e,0xd5,0x43,0x1f,0x80,0x22,0x7e,
+0xb, 0xb0,0x1e,0xb0,0x54,0x3, 0x14,0x68,0x10,0x14,0x68,0x13,0x14,0x68,0x16,0x24,
+0x3, 0x78,0x16,0x7e,0x34,0x10,0x4, 0x80,0x10,0x7e,0x34,0x50,0x45,0x80,0xa, 0x7e,
+0x34,0xf1,0x56,0x80,0x4, 0x7e,0x34,0xf3,0xff,0x7e,0xf, 0x11,0x42,0x1b,0xa, 0x30,
+0x22,0x7e,0x34,0x0, 0x8, 0xca,0x39,0x7e,0x18,0x9, 0x28,0x7e,0x8, 0x0, 0xef,0x12,
+0x9c,0xb5,0x1b,0xfd,0x7e,0x73,0x9, 0x30,0x7a,0x73,0x1, 0x13,0x7e,0xb3,0x9, 0x26,
+0x54,0x1f,0x7a,0xb3,0x0, 0xee,0x7e,0xb3,0x9, 0x25,0xc4,0x54,0x3, 0x7a,0xb3,0x0,
+0xfa,0x22,0xa, 0x56,0x1e,0x54,0xf5,0xf1,0x7d,0x53,0x1e,0x54,0xf5,0xf2,0x75,0xf3,
+0x80,0x75,0xf4,0x0, 0x75,0xf5,0x83,0xa9,0x37,0xf5,0xfc,0xa9,0x36,0xf5,0xfc,0x7e,
+0xa1,0xf6,0xe5,0xf6,0x43,0xfa,0x80,0x7d,0x43,0x5e,0x44,0x0, 0x1, 0x78,0x3, 0x7c,
+0xba,0x22,0x22,0x6c,0xaa,0x7e,0x44,0x7f,0xff,0x7e,0x70,0x4, 0xac,0x7a,0x59,0x43,
+0xe, 0x8f,0x59,0x43,0xe, 0x91,0x6d,0x33,0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0xe,
+0x85,0x7e,0x34,0x1, 0x0, 0x59,0x32,0xe, 0x8b,0xb, 0xa0,0xbe,0xa0,0x2, 0x40,0xd5,
+0xd2,0xd, 0x22,0x7e,0x18,0x4, 0x48,0x7a,0x1f,0x11,0x1e,0x7e,0x18,0x5, 0x0, 0x7a,
+0x1f,0x11,0x12,0x7e,0x18,0x5, 0x5c,0x7a,0x1f,0x11,0x16,0x7e,0x1f,0xa, 0xac,0x7a,
+0x1f,0x11,0x1a,0x75,0x1f,0x0, 0x7e,0x73,0x9, 0xc3,0xa, 0x37,0x7a,0x37,0x11,0x10,
+0x22,0x7c,0x6b,0x7e,0xb3,0x1, 0xb5,0x60,0x5, 0x14,0x7a,0xb3,0x1, 0xb5,0xa5,0xbe,
+0x0, 0x1c,0xa5,0xbf,0x2, 0x18,0x7e,0x73,0x1, 0x9b,0x7a,0x73,0x1, 0x9a,0x7e,0x1f,
+0x1, 0x6c,0x7e,0x33,0x1, 0x6b,0x7a,0x1f,0x1, 0x67,0x7a,0x33,0x1, 0x66,0x22,0x7f,
+0x70,0x69,0x37,0x0, 0x2, 0xb, 0x7a,0x20,0xe5,0x11,0xa, 0x1b,0x6d,0x0, 0x12,0x9a,
+0x60,0x7e,0x8, 0x0, 0x64,0x12,0x9a,0xcd,0x79,0x37,0x0, 0x2, 0x1b,0x7a,0x20,0x22,
+0x7c,0x6b,0x2e,0x60,0xe1,0x68,0x25,0x1b,0x60,0x68,0x21,0x2e,0x60,0xfd,0x68,0x1c,
+0x2e,0x60,0xfd,0x68,0x17,0x1b,0x61,0x68,0x13,0x2e,0x60,0xf9,0x68,0xe, 0x80,0x0,
+0xa, 0x2b,0x19,0x72,0xd, 0xa2,0x74,0x1, 0x7a,0xb3,0xd, 0xe2,0x22,0x24,0xab,0x68,
+0xe, 0x24,0xab,0x78,0x20,0x75,0x69,0x5, 0x7e,0x34,0x1, 0xf4,0x2, 0x5f,0xf7,0x7e,
+0x34,0x1, 0xf4,0x12,0x5f,0xf7,0xe5,0x69,0xb4,0x5, 0xd, 0x7e,0x34,0x0, 0x1, 0x12,
+0x83,0xaa,0x2, 0x67,0xf4,0x75,0x69,0x1, 0x22,0x6d,0x11,0x7e,0x1f,0x11,0x42,0x1b,
+0x1a,0x10,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xaa,0xb, 0xa, 0x30,0x5e,0x60,0xdf,
+0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x5e,0x70,
+0xf7,0x1b,0xa, 0x30,0x22,0x7e,0xb3,0x0, 0xc3,0x70,0x7, 0x74,0x1, 0x7a,0xb3,0x0,
+0xc3,0x22,0x20,0xf, 0x19,0x90,0xb6,0x63,0xe4,0x93,0x7a,0xb3,0x0, 0xc5,0x90,0xb6,
+0x64,0xe4,0x93,0x7a,0xb3,0x0, 0xc6,0x7e,0x8, 0x4, 0xa4,0x2, 0x47,0x80,0x22,0x7e,
+0x8, 0x9, 0x25,0x12,0x7e,0xbf,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xaa,0xb, 0xa,
+0x30,0x4e,0x60,0x20,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb,
+0xa, 0x30,0x4e,0x70,0x8, 0x1b,0xa, 0x30,0x22,0xca,0xf8,0x7c,0xab,0x7e,0xb3,0xd,
+0x60,0xc4,0x54,0x7, 0x78,0x9, 0x7c,0xba,0x12,0x7a,0x54,0x7c,0xfb,0x80,0xe, 0xb4,
+0x4, 0x9, 0x7c,0xba,0x12,0x54,0x97,0x7c,0xfb,0x80,0x2, 0x6c,0xff,0x7c,0xbf,0xda,
+0xf8,0x22,0x7d,0x52,0x7d,0x43,0x7d,0x35,0x1a,0x26,0x1a,0x24,0x7f,0x1, 0x12,0x9a,
+0x60,0x7f,0x71,0x7d,0x34,0x1a,0x26,0x1a,0x24,0x7f,0x1, 0x12,0x9a,0x60,0x2f,0x17,
+0x7c,0xb4,0x12,0x97,0x94,0x12,0x98,0xe, 0x2, 0x97,0xd1,0xbe,0x34,0x0, 0x1f,0x28,
+0x22,0xbe,0x34,0x3, 0x64,0x28,0x4, 0x7e,0x34,0x3, 0x64,0x7d,0x13,0x9e,0x14,0x0,
+0x20,0x7e,0x4, 0x0, 0x1b,0x8d,0x10,0x7d,0x1, 0xb, 0x4, 0x7e,0x14,0x0, 0x5, 0xad,
+0x10,0x2d,0x31,0x22,0xe4,0x7a,0xb3,0xf, 0xa3,0x7a,0xb3,0xf, 0xa4,0x7a,0xb3,0xf,
+0xa5,0x74,0xff,0x7a,0xb3,0xf, 0xf6,0x6d,0x33,0x6c,0xaa,0x7e,0x50,0x4, 0xac,0x5a,
+0x59,0x32,0xf, 0xa8,0xb, 0xa0,0xbe,0xa0,0x14,0x40,0xf0,0x22,0x6c,0xaa,0x7e,0x70,
+0x3, 0x7e,0x50,0x6, 0xac,0x5a,0x19,0x72,0x1, 0x93,0x74,0x3, 0x19,0xb2,0x1, 0x92,
+0x7e,0x34,0x7f,0xff,0x59,0x32,0x1, 0x8e,0x59,0x32,0x1, 0x90,0xb, 0xa0,0xbe,0xa0,
+0x2, 0x40,0xdb,0x22,0x6c,0xaa,0x7e,0x90,0x6, 0xac,0x9a,0x9, 0xb4,0x1, 0x93,0x19,
+0xb4,0x1, 0x92,0xb, 0xa0,0xbe,0xa0,0x2, 0x40,0xec,0x7e,0x73,0x1, 0xb5,0x7a,0x73,
+0x1, 0xb6,0x7e,0x73,0x1, 0xb7,0x7a,0x73,0x1, 0xb8,0x22,0x7e,0x73,0xd, 0xcf,0x2e,
+0x70,0xff,0x92,0x9, 0x7e,0xb3,0x1, 0x28,0x60,0x17,0x30,0x2, 0x14,0x80,0x4, 0xe4,
+0x12,0x82,0x64,0x12,0x17,0xcc,0x50,0xf7,0xe4,0x12,0x87,0xa4,0x12,0x84,0x14,0xc2,
+0x2, 0x22,0xe4,0x7a,0xb3,0xd, 0x7c,0x7a,0xb3,0xd, 0x66,0xe5,0x1f,0x54,0x3, 0x68,
+0x16,0x75,0x1f,0x0, 0x12,0x62,0x9e,0x12,0x7e,0xf1,0x7e,0x8, 0x9, 0x25,0x12,0x1,
+0x20,0x12,0x7e,0x8c,0x2, 0x87,0x26,0x22,0x7e,0x33,0x1, 0x40,0xbe,0x30,0xa, 0x28,
+0x3, 0x7e,0x30,0xa, 0x6c,0x22,0x80,0x11,0x7e,0x34,0x0, 0x2, 0x74,0x2, 0xac,0xb2,
+0x49,0x25,0x0, 0x6d,0x12,0x82,0xd2,0xb, 0x20,0xbc,0x32,0x38,0xeb,0x22,0x6c,0x33,
+0xbe,0x30,0x8, 0x50,0x6, 0x7e,0x23,0x10,0xe5,0x80,0x4, 0x7e,0x23,0x10,0xe6,0xa,
+0x32,0x74,0x2, 0xac,0xb3,0x49,0x25,0x0, 0x6d,0x12,0x82,0xd2,0xb, 0x30,0xbe,0x30,
+0xa, 0x40,0xdd,0x22,0x70,0x5, 0x43,0x87,0x1, 0x80,0x1a,0xb4,0x1, 0xb, 0xa9,0xd0,
+0xce,0xa9,0xd7,0xc9,0x43,0x87,0x2, 0x80,0xc, 0xb4,0x2, 0xd, 0xa9,0xd0,0xce,0xa9,
+0xc7,0xc9,0x43,0x87,0x2, 0x0, 0x0, 0x0, 0x0, 0x22,0xa9,0xd6,0xeb,0x70,0xf, 0xa9,
+0xc6,0xac,0xa9,0xc6,0xec,0xa9,0xd7,0xcd,0xc2,0x96,0xc2,0x95,0x80,0x7, 0xa9,0xd4,
+0xcd,0xd2,0x96,0xd2,0x95,0xc2,0x88,0xd2,0xb8,0xa9,0xd0,0xb7,0xd2,0xa8,0x22,0xe5,
+0x4e,0x14,0x68,0x14,0x4, 0x78,0x17,0x80,0x4, 0xe4,0x12,0x82,0x64,0x7e,0x73,0xd,
+0xaa,0xbe,0x71,0x4f,0x38,0xf3,0x80,0x6, 0x12,0x0, 0x6, 0x12,0xf, 0x50,0x75,0x4f,
+0x0, 0x22,0x7d,0x43,0x7e,0xa3,0xf, 0xa3,0xbe,0xa0,0x14,0x50,0x16,0x7e,0x70,0x4,
+0xac,0x7a,0x59,0x43,0xf, 0xa6,0x59,0x23,0xf, 0xa8,0x7c,0xba,0x4, 0x7a,0xb3,0xf,
+0xa3,0xc3,0x22,0xd3,0x22,0xa9,0xc4,0xa6,0xd2,0xce,0x90,0xb4,0x11,0xe4,0x93,0xf5,
+0x92,0xa9,0xd0,0xf7,0xd2,0xf8,0xa9,0xd5,0xb7,0xd2,0xbd,0xd2,0xad,0xd2,0xe8,0xc2,
+0xc0,0xa9,0xd3,0xdc,0xa9,0xd0,0xdb,0x22,0x7f,0x70,0x69,0x37,0x0, 0x2, 0xb, 0x7a,
+0x20,0xe5,0xb, 0xa, 0x1b,0x6d,0x0, 0x12,0x9a,0x60,0x7e,0x8, 0x0, 0x64,0x12,0x9a,
+0xcd,0x79,0x37,0x0, 0x2, 0x1b,0x7a,0x20,0x22,0xa9,0xd5,0xcb,0x75,0xfd,0x5, 0xe5,
+0xfe,0x54,0xf8,0xf5,0x54,0xe5,0x54,0xb4,0xa8,0x5, 0x75,0x54,0x0, 0x80,0x3, 0x75,
+0x54,0x1, 0xa9,0xc5,0xcb,0x22,0xc2,0x8e,0xe5,0x89,0x54,0xf, 0x44,0x20,0xf5,0x89,
+0x75,0x8d,0x1, 0x75,0x8b,0x0, 0xa9,0xc3,0xb7,0xd2,0xbb,0xd2,0x8e,0xd2,0xab,0xa9,
+0xd1,0xdc,0x22,0x12,0x83,0x39,0xe4,0x12,0x7d,0x3e,0x12,0x86,0x2c,0x12,0x87,0x43,
+0x12,0x83,0x56,0x12,0x87,0x82,0x12,0x87,0x16,0x12,0x1f,0xef,0xd2,0xaf,0x22,0x12,
+0x3a,0xe, 0x12,0x34,0x4d,0x12,0x87,0xdc,0x12,0x55,0x9a,0x12,0x50,0x0, 0x12,0x84,
+0x7c,0x12,0x27,0xeb,0x12,0x86,0xbc,0x2, 0x2f,0xb4,0x7d,0x43,0x80,0xe, 0x74,0xfa,
+0x12,0x86,0x59,0x12,0x86,0x59,0x12,0x86,0x59,0x12,0x86,0x59,0x7d,0x54,0x1b,0x44,
+0x4d,0x55,0x78,0xea,0x22,0x7d,0xf0,0x7d,0xe1,0x7d,0x12,0x1a,0x26,0x1a,0x24,0x12,
+0x9a,0x71,0x7d,0x1e,0x6d,0x0, 0x12,0x9a,0xcd,0x7d,0x1f,0x6d,0x0, 0x2f,0x10,0x22,
+0x7e,0xb3,0x1, 0xb6,0x70,0x13,0x7e,0x17,0x1, 0xc5,0x6d,0x0, 0x7e,0x1f,0x3, 0x30,
+0xbf,0x1, 0x8, 0x5, 0xe4,0x7a,0xb3,0x1, 0xb5,0x22,0xe4,0x7e,0xa3,0xf, 0xa3,0xbe,
+0xa3,0xf, 0xa4,0x28,0xe, 0x7e,0xa3,0xf, 0xa4,0x74,0x4, 0xa4,0x49,0x55,0xf, 0xa6,
+0x2, 0x84,0xc7,0x22,0xe4,0x7a,0xb3,0xf, 0xa5,0x7a,0xb3,0xf, 0xa4,0x12,0x83,0xfa,
+0xb4,0x1, 0x4, 0x74,0x1, 0x80,0x2, 0x74,0x3, 0x7a,0xb3,0xf, 0xa5,0x22,0x7a,0xb3,
+0xd, 0x60,0xc4,0x54,0x7, 0xb4,0x4, 0x4, 0x74,0x3, 0x80,0x7, 0x60,0x3, 0xb4,0x1,
+0x6, 0x74,0x1, 0x7a,0xb3,0xd, 0xde,0x22,0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xc5,0xc9,
+0xd2,0xaf,0xa9,0xd0,0xcd,0xc2,0xa8,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xd2,
+0xaf,0x22,0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xd5,0xc9,0xd2,0xaf,0xa9,0xd0,0xcd,0xd2,
+0xa8,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd7,0x9e,0xd2,0xaf,0x22,0x7e,0x34,0x4, 0x48,
+0x7a,0x37,0x8, 0xf6,0x7e,0x34,0x4, 0xa4,0x7a,0x37,0x8, 0xf8,0x7e,0x34,0x3, 0x90,
+0x7a,0x37,0x8, 0xf4,0x22,0x7d,0x40,0x7d,0x51,0x7d,0x3, 0x7d,0x32,0x9d,0x34,0x12,
+0x9c,0xec,0x7d,0x13,0x7d,0x30,0x9d,0x35,0x12,0x9c,0xec,0x2d,0x31,0x22,0x7c,0x6b,
+0x7e,0xb3,0xd, 0x60,0xc4,0x54,0x7, 0x78,0x5, 0x7c,0xb6,0x2, 0x74,0xca,0xb4,0x4,
+0x5, 0x7c,0xb6,0x2, 0x5e,0x83,0x22,0x7e,0xa3,0xf, 0xf6,0xbc,0xab,0x68,0xa, 0x20,
+0x0, 0x7, 0x7a,0xb3,0xf, 0xf6,0x12,0x43,0xe, 0x12,0x78,0xae,0x74,0x1, 0x22,0x7e,
+0x34,0x0, 0xa, 0xca,0x39,0x7e,0x34,0xb7,0x12,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x0,
+0x81,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,0x34,0x0, 0x7, 0xca,0x39,0x7e,0x34,0xb7,
+0xa, 0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x0, 0x8b,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,
+0x34,0x0, 0xa, 0xca,0x39,0x7e,0x34,0xb6,0xaa,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x0,
+0xca,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,0x34,0x0, 0x1e,0xca,0x39,0x7e,0x34,0xb6,
+0x8c,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x10,0xb7,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,
+0x34,0x0, 0x6, 0xca,0x39,0x7e,0x34,0xb7,0x1c,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x1,
+0x3f,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,0x34,0x0, 0x14,0xca,0x39,0x7e,0x34,0xb6,
+0xf6,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x1, 0x2b,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,
+0x34,0x0, 0xb, 0xca,0x39,0x7e,0x34,0xb6,0x56,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x2,
+0xef,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,0x34,0x0, 0x36,0xca,0x39,0x7e,0x34,0xb6,
+0xb4,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x2, 0xfa,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,
+0x34,0x0, 0x2, 0xca,0x39,0x7e,0x34,0xb7,0x22,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0xa,
+0xb0,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0xb4,0xd3,0x12,0x7e,0xb3,0xd, 0x60,0xc4,0x54,
+0x7, 0x78,0x9, 0xd2,0x1, 0x6d,0x33,0x7a,0x37,0x11,0x4b,0x22,0xc2,0x1, 0x22,0x7d,
+0x41,0x7d,0x12,0x1a,0x26,0x1a,0x24,0x1a,0x2, 0x1a,0x0, 0x12,0x9a,0x60,0x7d,0x14,
+0x1a,0x2, 0x1a,0x0, 0x2, 0x9a,0xcd,0x30,0xf, 0xa, 0x74,0x2, 0x7a,0xb3,0x1, 0xb5,
+0x75,0x63,0x26,0x22,0x75,0x63,0x0, 0x74,0x25,0x7a,0xb3,0xd, 0xf5,0x22,0x6d,0x33,
+0x7a,0x37,0xb, 0xb6,0x7a,0x37,0xc, 0x9b,0x7a,0x37,0xb, 0xbd,0x7a,0x37,0xc, 0x99,
+0x7a,0x37,0xc, 0x9d,0x22,0x7e,0x8, 0xe, 0x5, 0x7e,0x34,0x0, 0x80,0x74,0xff,0x12,
+0x9c,0xda,0xe4,0x7a,0xb3,0xe, 0x4, 0x7a,0xb3,0xe, 0x3, 0x22,0x75,0xeb,0x3, 0xa9,
+0xd6,0xac,0xa9,0xd6,0xec,0xd2,0x86,0x75,0xed,0x3, 0x75,0xad,0x3, 0x75,0x94,0x0,
+0xd2,0x87,0x22,0x74,0x1, 0x7a,0xb3,0x0, 0xc3,0x7e,0xb3,0x1, 0x50,0x60,0x9, 0x90,
+0xb6,0x68,0xe4,0x93,0x7a,0xb3,0x0, 0xc4,0x22,0x7c,0xab,0x80,0x8, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x7c,0x7a,0x1b,0xa0,0xa5,0xbf,0x0, 0xf0,0x22,0x7f,0x1,
+0x7e,0x37,0x1, 0xc1,0x1a,0x26,0x1a,0x24,0xbf,0x1, 0x8, 0x3, 0x7f,0x10,0x22,0x9f,
+0x11,0x22,0x7e,0x35,0x1a,0xb, 0x34,0x7a,0x35,0x1a,0x7e,0x35,0x1c,0xbe,0x35,0x1a,
+0x28,0x3, 0x2, 0x87,0xae,0x22,0x12,0x6, 0x28,0x53,0xca,0xf1,0x7e,0x73,0xd, 0x7a,
+0xa, 0x37,0x3e,0x34,0x7c,0xb7,0x42,0xca,0x22,0xe5,0x4e,0xb4,0x1, 0xd, 0x7e,0x73,
+0x1, 0xb5,0xbe,0x70,0x0, 0x28,0x4, 0xe4,0x2, 0x72,0xa0,0x22,0x7e,0x8, 0x10,0xe9,
+0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,0xda,0x74,0x1, 0x7a,0xb3,0x10,0xea,0x22,0xa9,
+0xd4,0xcd,0xd2,0x96,0xd2,0x95,0xc2,0x88,0xd2,0xb8,0xa9,0xd0,0xb7,0xd2,0xa8,0xc2,
+0xad,0x22,0x7e,0x34,0x7f,0xff,0x1b,0xa, 0x30,0x79,0x30,0x0, 0x2, 0x74,0xff,0x39,
+0xb0,0x0, 0x4, 0x22,0x30,0x4, 0x8, 0x74,0x1, 0x12,0x87,0xc1,0xc2,0x4, 0x22,0xe4,
+0x12,0x87,0xc1,0xd2,0x4, 0x22,0xe5,0x54,0x70,0x5, 0x53,0xc8,0xc5,0x80,0x3, 0x53,
+0xc8,0xc7,0x53,0xcb,0x10,0x22,0xc2,0xc6,0xd2,0xee,0x43,0xdb,0x40,0xa9,0xd6,0xf7,
+0xc2,0xfe,0xa9,0xd6,0xdb,0x22,0xe4,0x12,0x5b,0xc7,0x7e,0x8, 0x4, 0xa4,0x7e,0x18,
+0x4, 0x48,0x2, 0x63,0x73,0xbd,0x32,0x58,0x3, 0x7d,0x32,0x22,0xbd,0x31,0x8, 0x2,
+0x7d,0x31,0x22,0x75,0xb7,0x0, 0x75,0xb8,0x0, 0x75,0xf7,0x0, 0x75,0xf8,0x0, 0x22,
+0xa9,0xd5,0xea,0xa9,0xc4,0xcb,0x75,0xa6,0x0, 0xa9,0xc1,0xcd,0x22,0xa9,0xd4,0xcb,
+0x75,0xa6,0x10,0xa9,0xd1,0xcd,0xa9,0xc5,0xea,0x22,0x75,0x4e,0x0, 0x6d,0x33,0x7a,
+0x35,0x4c,0x75,0x4f,0x0, 0x22,0x7e,0xb3,0x1, 0xb5,0x60,0x5, 0xe4,0x7a,0xb3,0x0,
+0xc3,0x22,0xa9,0xd1,0x99,0x75,0x9a,0xfe,0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0x74,0x1,
+0x7a,0xb3,0x0, 0xec,0x7a,0xb3,0x9, 0x24,0x22,0xc2,0x95,0xc2,0x96,0xc2,0x90,0xc2,
+0xe9,0xd2,0xad,0x22,0x7c,0x3b,0x12,0x81,0x54,0x7c,0xb3,0x2, 0x7a,0xa6,0xe5,0x9a,
+0x60,0x5, 0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0x7d,0x12,0x6d,0x0, 0x6d,0x22,0x9f,0x10,
+0x22,0x70,0x3, 0xd2,0x86,0x22,0xc2,0x86,0x22,0x43,0xc8,0xc9,0x43,0xcb,0x8e,0x22,
+0x12,0x17,0xcc,0x50,0xfb,0x22,0x12,0x17,0xcc,0x50,0xfb,0x22,0xe4,0x7a,0xb3,0x1,
+0x5f,0x22,0x43,0xdb,0x2, 0xd2,0xe9,0x22,0x50,0x40,0x0, 0xe6,0xf4,0x2, 0x4, 0x2,
+0x10,0x16,0x10,0xf8,0xe4,0xd8,0xd8,0xe2,0xf6,0x2, 0x0, 0x18,0x20,0xa, 0x8, 0x1c,
+0x18,0x2, 0xee,0xe8,0xf4,0x8, 0x1a,0x2c,0x2e,0x2a,0x50,0x40,0x0, 0xfa,0xfe,0x8,
+0xe, 0xa, 0x2, 0xf2,0xe2,0xd8,0xd8,0xda,0xea,0x2, 0x10,0x18,0x0, 0x14,0x6, 0x14,
+0x4, 0xf0,0xe2,0xe2,0xee,0x4, 0x18,0x2e,0x3a,0x36,0x30,0x2e,0x50,0x40,0x0, 0xea,
+0xfa,0x2, 0x8, 0x18,0x1c,0x16,0x2, 0xec,0xe0,0xde,0xe6,0xfc,0xc, 0x16,0x0, 0x22,
+0x20,0xe, 0x1a,0x16,0x4, 0xf2,0xf2,0xfa,0xa, 0x1e,0x32,0x3a,0x34,0x30,0x50,0x40,
+0x0, 0xea,0xfc,0xfe,0xf8,0x4, 0xe, 0x6, 0xea,0xd6,0xd2,0xd8,0xf0,0xa, 0xc, 0xc,
+0x0, 0x1c,0x2, 0x2, 0x20,0x24,0xa, 0xec,0xee,0x2, 0x1a,0x34,0x3c,0x24,0xa, 0x2,
+0x65,0x32,0x0, 0x14,0x22,0x28,0x2c,0x2a,0x24,0x18,0xc, 0xfe,0x4, 0x10,0x1a,0x28,
+0x34,0x3a,0x0, 0xf0,0xf4,0xfc,0xa, 0x16,0x22,0x30,0x38,0x3c,0x3a,0x38,0x38,0x38,
+0x38,0x38,0x65,0x32,0x0, 0x10,0x1c,0x28,0x2e,0x2c,0x2c,0x28,0x20,0x1c,0x12,0x16,
+0x24,0x2e,0x38,0x3e,0x0, 0xe4,0xdc,0xe0,0xe8,0xf2,0xfc,0x4, 0x10,0x1a,0x24,0x24,
+0x1e,0x1c,0x18,0x16,0x65,0x32,0x0, 0x22,0x32,0x3a,0x3c,0x38,0x36,0x30,0x28,0x1c,
+0xe, 0xe, 0x20,0x2c,0x36,0x40,0x0, 0xe8,0xe8,0xf0,0xfc,0xc, 0x1a,0x26,0x34,0x40,
+0x4a,0x54,0x56,0x52,0x50,0x4c,0x65,0x32,0x0, 0x14,0x22,0x28,0x2a,0x28,0x24,0x1e,
+0x16,0xc, 0x10,0x1e,0x28,0x30,0x3a,0x40,0x0, 0xf2,0xf4,0xfa,0x2, 0xc, 0x18,0x22,
+0x2e,0x3a,0x3e,0x3a,0x3a,0x38,0x36,0x36,0x60,0x33,0x0, 0x22,0x30,0x34,0x30,0x1c,
+0xa, 0xc, 0x20,0x32,0x3e,0x3a,0x2c,0x18,0xa, 0x2, 0x0, 0xf0,0xf8,0x8, 0x1a,0x2a,
+0x2c,0x2c,0x2c,0x32,0x44,0x58,0x66,0x6c,0x6e,0x70,0x60,0x33,0x0, 0x1c,0x1c,0x12,
+0x8, 0xe, 0x18,0x24,0x30,0x3a,0x3e,0x3a,0x32,0x22,0x18,0x12,0x0, 0xe, 0x1a,0x26,
+0x32,0x2e,0x2e,0x2e,0x34,0x40,0x4a,0x56,0x64,0x74,0x7a,0x7f,0x60,0x33,0x0, 0x1c,
+0x1c,0xc, 0x2, 0xe, 0x1a,0x26,0x2a,0x2a,0x24,0x18,0xc, 0xfe,0xf6,0xf0,0x0, 0x8,
+0x16,0x24,0x2c,0x2c,0x2c,0x34,0x40,0x4c,0x54,0x5c,0x60,0x62,0x66,0x66,0x61,0x36,
+0x0, 0xdc,0xd4,0xce,0xcc,0xce,0xda,0xec,0xfc,0x8, 0xa, 0x0, 0xf4,0xe4,0xd8,0xd0,
+0x0, 0x22,0x34,0x48,0x58,0x6a,0x76,0x78,0x74,0x64,0x58,0x4a,0x42,0x42,0x42,0x46,
+0x61,0x36,0x0, 0xe8,0xda,0xca,0xc4,0xc0,0xc0,0xca,0xd6,0xe2,0xee,0xee,0xe4,0xd4,
+0xc8,0xc2,0x0, 0x6, 0xe, 0x1e,0x2a,0x34,0x3e,0x44,0x42,0x3e,0x38,0x2c,0x26,0x26,
+0x28,0x2a,0x61,0x36,0x0, 0xe4,0xda,0xd0,0xca,0xcc,0xd8,0xe6,0xf4,0x0, 0x6, 0xfc,
+0xee,0xe2,0xd2,0xcc,0x0, 0x10,0x1c,0x28,0x36,0x44,0x4a,0x48,0x42,0x3a,0x2e,0x26,
+0x24,0x24,0x26,0x2c,0x63,0x37,0x0, 0x16,0x22,0x30,0x3a,0x3c,0x36,0x30,0x2c,0x2a,
+0x26,0x24,0x22,0x20,0x1e,0x1e,0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x16,0x24,0x30,0x3e,
+0x4a,0x56,0x62,0x6c,0x74,0x7c,0x63,0x37,0x0, 0x10,0x1c,0x26,0x30,0x38,0x3c,0x34,
+0x30,0x2c,0x28,0x28,0x24,0x22,0x22,0x22,0x0, 0xfe,0xfe,0xfe,0xfe,0xfe,0x4, 0xa,
+0x14,0x20,0x2c,0x34,0x40,0x4a,0x54,0x5a,0x64,0x38,0x0, 0xce,0xc6,0xca,0xd8,0xee,
+0xfa,0x2, 0xf2,0xdc,0xc8,0xca,0xda,0xf2,0x0, 0x6, 0x0, 0x4, 0x14,0x28,0x36,0x42,
+0x50,0x66,0x76,0x76,0x6a,0x56,0x42,0x2e,0x20,0x1a,0x64,0x38,0x0, 0xca,0xd0,0xec,
+0x0, 0x8, 0xfc,0xe8,0xd2,0xcc,0xd6,0xf0,0x2, 0x6, 0xf4,0xee,0x0, 0x1c,0x2e,0x3c,
+0x50,0x66,0x7a,0x7c,0x76,0x60,0x48,0x36,0x20,0xa, 0x2, 0x2, 0x64,0x38,0x0, 0x10,
+0x20,0x30,0x2e,0x20,0xe, 0xfc,0xf8,0x4, 0x18,0x26,0x2e,0x1c,0xc, 0x6, 0x0, 0x22,
+0x2c,0x3a,0x4a,0x50,0x52,0x4a,0x3e,0x28,0x1c,0x16,0xc, 0xfe,0xfe,0xfe,0x64,0x38,
+0x0, 0x2c,0x3a,0x34,0x20,0xc, 0xfe,0x4, 0x16,0x28,0x38,0x3a,0x28,0x16,0x8, 0x6,
+0x0, 0xee,0xf8,0xe, 0x22,0x2e,0x38,0x4e,0x5c,0x5a,0x48,0x32,0x24,0x1a,0xa, 0x2,
+0x64,0x38,0x0, 0xe, 0x14,0x10,0x2, 0xf2,0xee,0xfc,0xc, 0x1a,0x26,0x28,0x1a,0xc,
+0x0, 0xfc,0x0, 0x1e,0x2c,0x38,0x3c,0x36,0x2c,0x1e,0x16,0xe, 0x4, 0xf8,0xf4,0xf4,
+0xf8,0xfe,0x36,0x61,0x0, 0xe4,0xd2,0xcc,0xcc,0xd4,0xe4,0xf0,0xf8,0xfc,0xfc,0xf8,
+0xf8,0xfc,0x4, 0xa, 0x0, 0xf8,0x8, 0x1a,0x24,0x2c,0x26,0x18,0xc, 0x2, 0x0, 0x10,
+0x22,0x2e,0x32,0x32,0x36,0x61,0x0, 0xe6,0xd6,0xce,0xc2,0xc0,0xc0,0xc6,0xd0,0xda,
+0xe4,0xee,0xf4,0xf0,0xf0,0xf6,0x0, 0xf6,0xfc,0x4, 0xe, 0x18,0x22,0x30,0x3a,0x34,
+0x2c,0x1c,0x16,0x24,0x30,0x34,0x36,0x61,0x0, 0xe8,0xd8,0xcc,0xc2,0xc4,0xcc,0xd8,
+0xe8,0xf6,0xfc,0xf2,0xe8,0xe4,0xea,0xf4,0x0, 0xf2,0xf6,0x2, 0x14,0x24,0x2c,0x28,
+0x1e,0xe, 0x6, 0xc, 0x1a,0x28,0x34,0x38,0x42,0x62,0x0, 0xf6,0xf4,0xee,0xf0,0xfe,
+0xe, 0x1e,0x22,0x1e,0x14,0x6, 0xf4,0xe6,0xe8,0xee,0x0, 0x18,0x26,0x34,0x38,0x2a,
+0x24,0x28,0x36,0x44,0x4e,0x50,0x4c,0x46,0x3c,0x3a,0x42,0x62,0x0, 0xfc,0xfa,0xf8,
+0xf6,0xf8,0xfc,0xc, 0x1e,0x30,0x34,0x2e,0x20,0xe, 0xfe,0xf8,0x0, 0x26,0x32,0x42,
+0x58,0x54,0x40,0x32,0x30,0x3a,0x4e,0x5c,0x68,0x68,0x62,0x5e,0x42,0x62,0x0, 0x4,
+0x6, 0x8, 0x8, 0xa, 0xc, 0x10,0x1c,0x2e,0x3a,0x3c,0x32,0x20,0x10,0xa, 0x0, 0x20,
+0x36,0x42,0x56,0x64,0x76,0x6a,0x5c,0x58,0x5c,0x6c,0x78,0x7c,0x7e,0x7e,0x42,0x62,
+0x0, 0xf4,0xf0,0xec,0xe8,0xe2,0xe2,0xe8,0xf4,0xa, 0x1c,0x1c,0x12,0x0, 0xf2,0xec,
+0x0, 0x2e,0x42,0x54,0x66,0x76,0x74,0x62,0x52,0x4a,0x4e,0x62,0x70,0x7a,0x7e,0x7e,
+0x34,0x63,0x0, 0xf0,0xde,0xd2,0xca,0xc8,0xc8,0xc8,0xca,0xce,0xd6,0xe2,0xec,0xf8,
+0x2, 0x8, 0x0, 0xf8,0xfc,0x8, 0x12,0x1e,0x28,0x30,0x3c,0x48,0x54,0x5a,0x5a,0x56,
+0x4c,0x48,0x34,0x63,0x0, 0xe4,0xd8,0xce,0xc6,0xc0,0xc0,0xc0,0xc0,0xc2,0xc4,0xc8,
+0xd0,0xd8,0xde,0xe4,0x0, 0x12,0x20,0x2a,0x38,0x44,0x50,0x56,0x5e,0x66,0x6c,0x74,
+0x78,0x7a,0x7a,0x76,0x34,0x63,0x0, 0xee,0xe2,0xd4,0xcc,0xc4,0xc2,0xc2,0xc2,0xc6,
+0xce,0xdc,0xea,0xf4,0xfc,0x0, 0x0, 0xec,0xee,0xf4,0xfc,0xa, 0x14,0x20,0x2a,0x36,
+0x40,0x46,0x44,0x3c,0x32,0x2a,0x34,0x63,0x0, 0xec,0xe0,0xd2,0xc8,0xc2,0xc0,0xc0,
+0xc2,0xc8,0xd2,0xdc,0xe6,0xf0,0xf4,0xf8,0x0, 0xf6,0xf4,0xf6,0xfe,0x8, 0x12,0x1e,
+0x2a,0x36,0x3c,0x3e,0x3c,0x36,0x2e,0x28,0x34,0x63,0x0, 0xe6,0xda,0xce,0xc6,0xc0,
+0xc0,0xc0,0xc4,0xcc,0xda,0xe6,0xf2,0xf6,0xfc,0x0, 0x0, 0xea,0xea,0xee,0xf6,0x2,
+0xc, 0x16,0x22,0x2c,0x34,0x32,0x2c,0x24,0x1a,0x14,0x34,0x63,0x0, 0xec,0xe2,0xd4,
+0xcc,0xc6,0xc2,0xc2,0xc6,0xd0,0xd8,0xe6,0xf0,0xf8,0xfc,0x0, 0x0, 0xf8,0xfa,0xfe,
+0x4, 0xc, 0x16,0x24,0x30,0x36,0x38,0x36,0x32,0x2c,0x24,0x1e,0x34,0x63,0x0, 0xf8,
+0xf4,0xee,0xe6,0xda,0xd0,0xc6,0xc0,0xc0,0xc2,0xc6,0xd0,0xdc,0xe8,0xec,0x0, 0xf8,
+0xf4,0xf4,0xf4,0xf6,0xfe,0x6, 0x12,0x1e,0x28,0x2e,0x32,0x32,0x30,0x2e,0x34,0x63,
+0x0, 0xfa,0xf8,0xf4,0xf0,0xea,0xe2,0xd8,0xce,0xc6,0xc0,0xc0,0xc2,0xc8,0xd4,0xd6,
+0x0, 0xfa,0xf6,0xf4,0xf0,0xf0,0xf0,0xf2,0xf8,0x0, 0x8, 0x12,0x1e,0x28,0x2e,0x30,
+0x37,0x64,0x0, 0xd8,0xe0,0xf0,0xfc,0x4, 0x8, 0xe, 0xe, 0x6, 0x0, 0xfc,0xfa,0xfc,
+0xc, 0x16,0x0, 0x14,0x2c,0x20,0xa, 0xf2,0xe2,0xca,0xc6,0xda,0xf0,0x6, 0x1c,0x36,
+0x3a,0x3a,0x37,0x64,0x0, 0xce,0xcc,0xd6,0xec,0xfc,0x2, 0x6, 0x8, 0xa, 0x6, 0x2,
+0x2, 0x2, 0x6, 0x8, 0x0, 0xf8,0xe, 0x28,0x2a,0x12,0x0, 0xea,0xd0,0xbe,0xd0,0xe8,
+0xfe,0x14,0x26,0x30,0x37,0x64,0x0, 0xe2,0xe6,0xf6,0x4, 0xc, 0x10,0x1a,0x1e,0x18,
+0x12,0xe, 0xc, 0xc, 0x10,0x14,0x0, 0x10,0x20,0x1e,0xc, 0xfa,0xec,0xd6,0xc2,0xce,
+0xe0,0xf0,0x2, 0x14,0x20,0x28,0x33,0x65,0x0, 0x1e,0x2c,0x34,0x2a,0x1e,0x12,0x6,
+0xfc,0xf6,0xf8,0x0, 0xe, 0x1a,0x26,0x2e,0x0, 0xfe,0xfa,0xf2,0xe4,0xe2,0xe4,0xe8,
+0xf0,0x0, 0xe, 0x1a,0x20,0x1c,0x16,0x12,0x33,0x65,0x0, 0x20,0x24,0x20,0x12,0xa,
+0x0, 0xfe,0xfe,0xfe,0x2, 0xa, 0x14,0x24,0x34,0x3e,0x0, 0xea,0xe0,0xd2,0xce,0xd4,
+0xe2,0xf2,0xfc,0x8, 0x14,0x1c,0x1c,0x18,0xc, 0x4, 0x33,0x65,0x0, 0x8, 0x18,0x2c,
+0x30,0x24,0x16,0x6, 0xfc,0xf2,0xf2,0xf2,0xf4,0x2, 0x12,0x1e,0x0, 0x10,0x10,0x2,
+0xf0,0xe0,0xe2,0xec,0xfa,0xc, 0x1c,0x2e,0x3c,0x4a,0x50,0x4e,0x33,0x65,0x0, 0x1a,
+0x2a,0x30,0x2e,0x24,0x1a,0xc, 0xfe,0xf4,0xf2,0xf2,0xfa,0x8, 0x14,0x1a,0x0, 0x0,
+0xfc,0xee,0xdc,0xd4,0xd4,0xd8,0xe2,0xf0,0x0, 0xe, 0x18,0x1c,0x1c,0x1c,0x33,0x65,
+0x0, 0x18,0x22,0x26,0x28,0x26,0x1c,0xe, 0x2, 0xf8,0xf4,0xf4,0xfa,0x8, 0x22,0x34,
+0x0, 0xee,0xe4,0xd8,0xd0,0xbe,0xbc,0xc0,0xc6,0xd2,0xe2,0xa, 0x18,0x1a,0xe, 0x8,
+0x33,0x65,0x0, 0x1a,0x26,0x28,0x1e,0x10,0x4, 0xf6,0xec,0xec,0xec,0xf0,0xfc,0xc,
+0x16,0x1c,0x0, 0xfc,0xfa,0xee,0xe4,0xe2,0xe4,0xe8,0xf4,0x2, 0xe, 0x1a,0x26,0x2c,
+0x30,0x30,0x33,0x65,0x0, 0x16,0x20,0x2a,0x30,0x2a,0x22,0x18,0x14,0x12,0x12,0x18,
+0x22,0x2e,0x38,0x3e,0x0, 0xf4,0xee,0xe2,0xda,0xd0,0xd2,0xdc,0xea,0xf4,0xfe,0x8,
+0xe, 0xe, 0xc, 0xc, 0x33,0x65,0x0, 0x4, 0x10,0x20,0x2e,0x38,0x3e,0x3c,0x2e,0x18,
+0x6, 0x0, 0x4, 0x16,0x30,0x38,0x0, 0xfc,0xf8,0xf0,0xe2,0xce,0xbe,0xb0,0xb6,0xc8,
+0xea,0x2, 0xc, 0xa, 0xfc,0xf6,0x33,0x65,0x0, 0x4, 0xe, 0x1e,0x2c,0x38,0x3e,0x3c,
+0x2e,0x20,0x18,0x14,0x18,0x24,0x34,0x38,0x0, 0x2, 0x6, 0x2, 0xfa,0xee,0xe4,0xe0,
+0xe4,0xf2,0x0, 0xa, 0x12,0x1c,0x20,0x20,0x33,0x65,0x0, 0xa, 0x1c,0x2a,0x32,0x36,
+0x34,0x30,0x1c,0xe, 0x2, 0xf8,0xf8,0xfc,0x4, 0x8, 0x0, 0xfc,0xf6,0xee,0xe6,0xde,
+0xdc,0xdc,0xe0,0xe8,0xf6,0x6, 0xe, 0x14,0x1a,0x1c,0x35,0x67,0x0, 0xce,0xc6,0xc8,
+0xd0,0xe2,0xf6,0xfe,0xfc,0xf8,0xf6,0xf4,0xea,0xda,0xc8,0xc2,0x0, 0xfc,0x10,0x22,
+0x32,0x32,0x26,0x12,0x12,0x2c,0x42,0x5a,0x6a,0x70,0x6a,0x64,0x35,0x67,0x0, 0xde,
+0xcc,0xc8,0xca,0xd6,0xe4,0xf2,0xfe,0xfc,0xfa,0xf6,0xea,0xda,0xcc,0xc4,0x0, 0xe8,
+0xf0,0xfe,0xe, 0x1c,0x20,0x1a,0xe, 0x16,0x28,0x34,0x44,0x4c,0x4a,0x44,0x35,0x67,
+0x0, 0xda,0xd6,0xe8,0xf2,0xf6,0xf6,0xf4,0xf0,0xea,0xe6,0xd8,0xc8,0xc0,0xcc,0xd4,
+0x0, 0x4, 0x18,0x1a,0x8, 0xc, 0x1a,0x2a,0x3a,0x4e,0x5e,0x72,0x74,0x64,0x56,0x52,
+0x35,0x67,0x0, 0xd8,0xd6,0xe4,0xf6,0x0, 0x6, 0x6, 0x6, 0x6, 0x2, 0xf8,0xe8,0xd2,
+0xc8,0xc8,0x0, 0x24,0x3c,0x4a,0x3e,0x2c,0x18,0x26,0x3a,0x48,0x5c,0x72,0x7c,0x7a,
+0x70,0x68,0x70,0x68,0x0, 0x0, 0xfe,0xfe,0xfe,0xfe,0xfe,0x0, 0x6, 0x12,0x24,0x36,
+0x3c,0x3c,0x3a,0x3a,0x0, 0x24,0x36,0x42,0x56,0x64,0x70,0x60,0x52,0x3e,0x3a,0x48,
+0x58,0x6a,0x78,0x7f,0x70,0x68,0x0, 0xee,0xe8,0xe4,0xe2,0xde,0xde,0xe4,0xf2,0x4,
+0x10,0x1a,0x1a,0x18,0x18,0x16,0x0, 0x20,0x36,0x48,0x5a,0x68,0x70,0x62,0x50,0x44,
+0x44,0x50,0x5e,0x6a,0x76,0x7f,0x34,0x3c,0x0, 0xf0,0xe4,0xda,0xd2,0xcc,0xc6,0xc2,
+0xca,0xd2,0xdc,0xe6,0xee,0xf8,0xfe,0x2, 0x0, 0x6, 0xa, 0x10,0x16,0x1c,0x20,0x26,
+0x2c,0x34,0x36,0x3a,0x40,0x48,0x4e,0x50,0x52,0x3e,0x0, 0x10,0x18,0x1e,0x2a,0x32,
+0x3a,0x3e,0x36,0x2c,0x24,0x1e,0x16,0xe, 0x6, 0x4, 0x0, 0x8, 0xe, 0x12,0x16,0x1a,
+0x20,0x26,0x2c,0x32,0x38,0x38,0x3e,0x42,0x46,0x4a,0x52,0x3e,0x0, 0xe, 0x16,0x1c,
+0x26,0x2e,0x34,0x3a,0x3e,0x3c,0x3a,0x32,0x28,0x1c,0x14,0xe, 0x0, 0x2, 0x2, 0x4,
+0x8, 0xc, 0x10,0x14,0x1c,0x24,0x2a,0x2e,0x34,0x3e,0x42,0x46,0x52,0x3e,0x0, 0xc,
+0x18,0x20,0x26,0x26,0x20,0x14,0xc, 0x6, 0x0, 0xfa,0xf4,0xee,0xea,0xee,0x0, 0x6,
+0x10,0x18,0x1c,0x22,0x24,0x2a,0x32,0x36,0x3c,0x42,0x4a,0x4e,0x54,0x4e,0x53,0x5e,
+0x0, 0x6, 0xa, 0xe, 0x12,0x14,0x18,0x1c,0x22,0x26,0x28,0x2c,0x32,0x38,0x3c,0x3e,
+0x0, 0xf0,0xe8,0xde,0xd8,0xd2,0xca,0xc2,0xc6,0xcc,0xd2,0xda,0xe6,0xf2,0xf8,0xfc,
+0x54,0x76,0x0, 0x4, 0x8, 0xc, 0x12,0x14,0x18,0x1c,0x22,0x28,0x2c,0x30,0x36,0x3a,
+0x3e,0x3e,0x0, 0xc, 0x18,0x20,0x26,0x2c,0x34,0x3e,0x3a,0x32,0x2a,0x20,0x18,0xe,
+0x8, 0x4, 0x54,0x76,0x0, 0x0, 0x0, 0x2, 0x6, 0xa, 0xe, 0x12,0x16,0x1a,0x1e,0x24,
+0x2c,0x34,0x40,0x40,0x0, 0x6, 0x1a,0x2a,0x3e,0x4e,0x5e,0x6c,0x74,0x76,0x72,0x6c,
+0x5e,0x4e,0x3e,0x3e,0x71,0x6b,0x0, 0xf6,0xf2,0xee,0xec,0xf4,0x2, 0xe, 0x1a,0x14,
+0x8, 0xfa,0x4, 0x14,0x22,0x2a,0x0, 0x22,0x30,0x3e,0x3c,0x2e,0x1e,0x1a,0x1c,0x2c,
+0x32,0x34,0x3c,0x48,0x50,0x54,0x71,0x6b,0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x6, 0x1a,
+0x2a,0x2e,0x24,0xe, 0x12,0x28,0x36,0x40,0x0, 0x3c,0x56,0x6c,0x68,0x58,0x40,0x2c,
+0x30,0x44,0x56,0x58,0x5a,0x6c,0x78,0x7f,0x71,0x6b,0x0, 0xf6,0xf2,0xec,0xe8,0xe8,
+0xec,0xf4,0x0, 0x4, 0xf8,0xf4,0x0, 0x12,0x1e,0x28,0x0, 0x22,0x32,0x42,0x50,0x56,
+0x4a,0x3c,0x32,0x3a,0x44,0x46,0x48,0x4e,0x52,0x56,0x44,0x4c,0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x6, 0xe, 0x16,0x20,0x2a,0x32,0x3a,0x40,0x0, 0x12,0x20,0x2a,
+0x34,0x3c,0x46,0x50,0x54,0x52,0x52,0x54,0x54,0x56,0x56,0x58,0x32,0x6d,0x0, 0x8,
+0xc, 0x12,0x16,0x18,0x1c,0x22,0x2a,0x2c,0x30,0x34,0x36,0x3a,0x3c,0x3e,0x0, 0xe2,
+0xd8,0xca,0xd0,0xe2,0xec,0xec,0xde,0xd0,0xc8,0xc6,0xd4,0xe2,0xec,0xf2,0x32,0x6d,
+0x0, 0x8, 0x10,0x1a,0x22,0x22,0x20,0x1c,0x1c,0x22,0x26,0x2c,0x38,0x3e,0x3e,0x3e,
+0x0, 0xdc,0xce,0xc4,0xce,0xda,0xe8,0xf6,0xfc,0xec,0xdc,0xce,0xcc,0xda,0xec,0xfa,
+0x32,0x6d,0x0, 0x0, 0x2, 0x4, 0x8, 0xe, 0x16,0x1a,0x18,0x18,0x20,0x28,0x30,0x38,
+0x3c,0x40,0x0, 0x26,0x38,0x2c,0x1a,0x6, 0xfe,0x14,0x28,0x1c,0xa, 0xf8,0x2, 0x14,
+0x26,0x30,0x32,0x6d,0x0, 0x0, 0x2, 0x4, 0xa, 0x18,0x1c,0x1c,0x1e,0x24,0x2c,0x3a,
+0x3e,0x3e,0x3e,0x3e,0x0, 0x2a,0x28,0x14,0x4, 0xfe,0xc, 0x1e,0x22,0x12,0x0, 0xf8,
+0x2, 0x16,0x26,0x30,0x32,0x6d,0x0, 0x0, 0x2, 0x6, 0xe, 0x10,0x12,0x12,0x12,0x14,
+0x20,0x2c,0x32,0x38,0x3e,0x40,0x0, 0xe6,0xca,0xb0,0xa2,0xa4,0xac,0xbe,0xcc,0xcc,
+0xba,0xaa,0xaa,0xbe,0xd2,0xd6,0x32,0x6d,0x0, 0xa, 0xe, 0xc, 0xa, 0x12,0x1e,0x24,
+0x22,0x20,0x22,0x2c,0x38,0x3e,0x3c,0x3c,0x0, 0x8, 0x1e,0x2e,0x36,0x22,0xa, 0x4,
+0x1a,0x30,0x2c,0x10,0x0, 0x4, 0x22,0x2c,0x32,0x6d,0x0, 0x4, 0xc, 0x16,0x18,0x18,
+0x1c,0x1e,0x24,0x2e,0x3a,0x3e,0x3e,0x3e,0x3e,0x3e,0x0, 0xb6,0x98,0xac,0xcc,0xee,
+0xe0,0xc8,0xa2,0x8e,0x9c,0xb2,0xce,0xf0,0x2, 0xa, 0x32,0x6d,0x0, 0xa, 0xc, 0xa,
+0xe, 0x18,0x20,0x24,0x26,0x30,0x38,0x3e,0x3c,0x3a,0x3a,0x3a,0x0, 0xe, 0x1c,0x2c,
+0x20,0x14,0xe, 0x12,0x1c,0x12,0x8, 0x12,0x2a,0x40,0x4e,0x54,0x40,0x6e,0x0, 0x2,
+0xfe,0xfc,0x0, 0x6, 0xe, 0x16,0x24,0x34,0x3a,0x36,0x32,0x2e,0x2e,0x2e,0x0, 0x32,
+0x46,0x54,0x42,0x2e,0x1c,0xc, 0x0, 0x0, 0x10,0x22,0x32,0x46,0x58,0x60,0x30,0x6f,
+0x0, 0xea,0xde,0xdc,0xdc,0xe0,0xe8,0xf2,0x0, 0xa, 0x14,0x1a,0x18,0x10,0x8, 0x2,
+0x0, 0xa, 0x18,0x24,0x2e,0x38,0x3e,0x3e,0x3a,0x36,0x2a,0x1a,0x10,0x6, 0x2, 0x2,
+0x30,0x6f,0x0, 0x18,0x1e,0x1e,0x1a,0x12,0x6, 0xf8,0xec,0xe2,0xe0,0xe0,0xe2,0xec,
+0xf8,0x0, 0x0, 0xf2,0xe6,0xd8,0xc6,0xba,0xb8,0xbc,0xc6,0xd8,0xe4,0xf0,0xfc,0x6,
+0x8, 0x6, 0x30,0x6f,0x0, 0xe6,0xe0,0xde,0xe0,0xe8,0xf2,0xfe,0xa, 0x16,0x1c,0x1c,
+0x18,0x12,0x8, 0x2, 0x0, 0xf6,0xee,0xe0,0xd4,0xc8,0xc0,0xbe,0xbe,0xc6,0xd2,0xe0,
+0xec,0xfa,0x2, 0x2, 0x30,0x6f,0x0, 0xe4,0xd2,0xc8,0xc4,0xc4,0xc8,0xd8,0xe4,0xf6,
+0xfe,0x2, 0x2, 0xfe,0xf8,0xf6,0x0, 0xe8,0xf4,0x2, 0x14,0x20,0x34,0x44,0x44,0x36,
+0x28,0x18,0xa, 0xf8,0xec,0xe6,0x30,0x6f,0x0, 0xec,0xe8,0xe8,0xf0,0x0, 0xc, 0x14,
+0x1a,0x1a,0x14,0x6, 0xf6,0xea,0xe0,0xde,0x0, 0x28,0x44,0x54,0x64,0x64,0x52,0x40,
+0x2c,0x1e,0x6, 0xf2,0xfa,0xa, 0x2c,0x44,0x30,0x6f,0x0, 0xf2,0xf2,0xf4,0x0, 0xc,
+0x14,0x20,0x2c,0x2e,0x30,0x2c,0x1c,0x10,0x6, 0xfe,0x0, 0x10,0x1e,0x2a,0x32,0x34,
+0x32,0x2c,0x20,0x14,0xa, 0x0, 0xf2,0xf2,0xf4,0xfc,0x30,0x6f,0x0, 0xe4,0xde,0xde,
+0xe2,0xec,0xf8,0x4, 0x14,0x1c,0x1c,0x1a,0x16,0xc, 0x4, 0xfe,0x0, 0xc, 0x16,0x22,
+0x30,0x3a,0x3e,0x3c,0x36,0x2a,0x20,0x14,0x8, 0x0, 0x0, 0x0, 0x30,0x6f,0x0, 0x18,
+0x20,0x20,0x1c,0x16,0xa, 0xfc,0xf2,0xe6,0xe2,0xe2,0xe6,0xf2,0xfc,0x2, 0x0, 0xa,
+0x16,0x22,0x30,0x3a,0x40,0x42,0x3e,0x34,0x28,0x1c,0xe, 0x4, 0x0, 0x0, 0x30,0x6f,
+0x0, 0xfa,0xf0,0xe4,0xd8,0xca,0xc4,0xc4,0xc6,0xcc,0xd8,0xe8,0xf4,0xfe,0x0, 0x2,
+0x0, 0x18,0x20,0x24,0x24,0x1e,0x12,0x4, 0xf6,0xe6,0xde,0xde,0xe4,0xf2,0xfc,0x4,
+0x30,0x6f,0x0, 0x4, 0x12,0x20,0x2a,0x34,0x3c,0x3e,0x38,0x32,0x26,0x1a,0xc, 0x0,
+0x0, 0x0, 0x0, 0x1a,0x24,0x26,0x22,0x1a,0xc, 0xfe,0xee,0xe6,0xde,0xde,0xe2,0xf0,
+0xfc,0x2, 0x30,0x6f,0x0, 0x8, 0x16,0x28,0x34,0x3a,0x3e,0x3e,0x3a,0x32,0x24,0x16,
+0x8, 0x2, 0x0, 0x0, 0x0, 0xe4,0xd6,0xd6,0xdc,0xe8,0xf6,0x2, 0x10,0x1c,0x22,0x24,
+0x1e,0x12,0x6, 0xfe,0x30,0x6f,0x0, 0xf6,0xea,0xde,0xd6,0xcc,0xc6,0xc6,0xca,0xd4,
+0xe4,0xf0,0xfc,0x2, 0x4, 0x4, 0x0, 0xea,0xe6,0xe6,0xea,0xf6,0x0, 0xc, 0x1a,0x26,
+0x28,0x24,0x1e,0x12,0xa, 0x4, 0x30,0x6f,0x0, 0xfc,0x4, 0x10,0x2c,0x36,0x38,0x34,
+0x28,0x14,0x2, 0xfc,0x0, 0x8, 0x14,0x18,0x0, 0xd0,0xc2,0xba,0xbc,0xc6,0xd8,0xf2,
+0x8, 0x12,0x10,0x0, 0xea,0xd4,0xc8,0xc6,0x30,0x6f,0x0, 0xf8,0xc, 0x22,0x2e,0x2c,
+0x2a,0x22,0x18,0x2, 0xf4,0xf0,0xf2,0xf6,0xfe,0x0, 0x0, 0xd8,0xcc,0xce,0xe8,0xfe,
+0x10,0x1c,0x28,0x2a,0x1e,0xe, 0xf6,0xe6,0xdc,0xda,0x30,0x6f,0x0, 0xf0,0xee,0xf2,
+0x2, 0x14,0x20,0x28,0x2c,0x28,0x1e,0x10,0xfe,0xf2,0xee,0xee,0x0, 0xe2,0xce,0xbe,
+0xba,0xbe,0xc6,0xd4,0xe6,0xf8,0x4, 0x8, 0x8, 0x2, 0xf4,0xf0,0x30,0x6f,0x0, 0xf0,
+0xf0,0xf8,0xc, 0x1e,0x28,0x2c,0x26,0x18,0x8, 0xf6,0xf0,0xee,0xee,0xee,0x0, 0xe8,
+0xd6,0xc4,0xbe,0xc2,0xd0,0xe6,0xfa,0x6, 0xc, 0x2, 0xf2,0xe0,0xd2,0xce,0x45,0x70,
+0x0, 0xfa,0xf6,0xf0,0xf0,0xf2,0xf6,0xfa,0x2, 0xe, 0x1e,0x2c,0x22,0xe, 0xfe,0xf8,
+0x0, 0x30,0x44,0x5a,0x5a,0x44,0x32,0x1e,0xa, 0xfe,0xfc,0x8, 0x1c,0x28,0x2e,0x32,
+0x45,0x70,0x0, 0xfe,0xfe,0xfe,0x0, 0x4, 0xe, 0x1c,0x2e,0x38,0x3c,0x38,0x2a,0x1a,
+0xa, 0x4, 0x0, 0xdc,0xc6,0xb8,0xa8,0x98,0x8a,0x80,0x80,0x88,0x96,0xa4,0xb0,0xb4,
+0xb6,0xb6,0x73,0x72,0x0, 0xc, 0xe, 0x10,0x10,0x10,0x10,0x10,0x10,0x12,0x16,0x18,
+0x22,0x2c,0x38,0x3e,0x0, 0x14,0x22,0x2a,0x34,0x3e,0x46,0x3e,0x34,0x26,0x1a,0x12,
+0x6, 0x0, 0x4, 0xc, 0x73,0x72,0x0, 0x4, 0x6, 0x6, 0x6, 0x4, 0x4, 0x8, 0xa, 0x10,
+0x16,0x1e,0x2c,0x34,0x3a,0x40,0x0, 0x14,0x22,0x2a,0x38,0x44,0x40,0x2e,0x24,0x18,
+0x10,0x6, 0x6, 0xe, 0x16,0x1c,0x46,0x73,0x0, 0xe0,0xd0,0xc6,0xc2,0xc8,0xd6,0xe4,
+0xf4,0xfa,0xf6,0xec,0xdc,0xce,0xc4,0xc0,0x0, 0xee,0xf4,0x4, 0x16,0x22,0x2a,0x30,
+0x3a,0x4c,0x5a,0x64,0x6a,0x6a,0x5e,0x56,0x46,0x73,0x0, 0xda,0xd0,0xcc,0xd0,0xde,
+0xea,0xf6,0x6, 0x8, 0x6, 0x0, 0xf2,0xe0,0xd8,0xd2,0x0, 0x4, 0xe, 0x18,0x24,0x2a,
+0x2a,0x28,0x2c,0x36,0x40,0x4c,0x56,0x56,0x54,0x54,0x46,0x73,0x0, 0xee,0xe6,0xde,
+0xe2,0xea,0xf4,0x0, 0xa, 0x16,0x1c,0x18,0xc, 0x2, 0xfa,0xf4,0x0, 0x16,0x24,0x30,
+0x38,0x3a,0x3a,0x3c,0x3c,0x3c,0x46,0x4e,0x5c,0x66,0x6e,0x74,0x46,0x73,0x0, 0xe6,
+0xd6,0xcc,0xc2,0xc0,0xc4,0xce,0xda,0xe6,0xf2,0xfc,0xfa,0xec,0xdc,0xd2,0x0, 0xf8,
+0xfc,0x4, 0x10,0x1c,0x28,0x2e,0x32,0x34,0x38,0x40,0x4c,0x5e,0x6c,0x78,0x46,0x73,
+0x0, 0xf4,0xee,0xec,0xf2,0xfa,0x2, 0x8, 0x8, 0x2, 0xf8,0xf0,0xe2,0xda,0xd4,0xce,
+0x0, 0xc, 0x18,0x22,0x28,0x2c,0x30,0x36,0x40,0x4c,0x56,0x5e,0x64,0x68,0x68,0x68,
+0x46,0x73,0x0, 0xf0,0xe0,0xd2,0xc8,0xc6,0xd0,0xde,0xec,0xfa,0x2, 0xfc,0xf0,0xe4,
+0xd8,0xd2,0x0, 0xf0,0xf4,0xf8,0x2, 0xe, 0x1a,0x1e,0x20,0x22,0x2a,0x38,0x40,0x44,
+0x44,0x44,0x46,0x73,0x0, 0xfc,0xf8,0xee,0xda,0xca,0xc2,0xc0,0xc4,0xd2,0xe4,0xf0,
+0xf6,0xe8,0xd8,0xd8,0x0, 0xfe,0x0, 0x8, 0x18,0x28,0x32,0x38,0x3e,0x3c,0x3a,0x38,
+0x40,0x5e,0x7e,0x7e,0x46,0x73,0x0, 0xf6,0xee,0xe4,0xdc,0xda,0xe0,0xec,0xf8,0xfe,
+0xfc,0xf0,0xde,0xcc,0xc2,0xc2,0x0, 0xf6,0xf8,0xfe,0x4, 0xe, 0x16,0x1c,0x22,0x2a,
+0x30,0x34,0x34,0x34,0x34,0x34,0x47,0x75,0x0, 0xf8,0xf8,0xfa,0x8, 0x16,0x1e,0x24,
+0x2a,0x2a,0x24,0x1c,0x1a,0x20,0x2e,0x36,0x0, 0x20,0x32,0x40,0x42,0x34,0x28,0x1a,
+0xc, 0x2, 0xc, 0x1e,0x2e,0x3a,0x40,0x3e,0x47,0x75,0x0, 0xfc,0xfc,0x0, 0x10,0x1e,
+0x2a,0x32,0x36,0x3a,0x38,0x36,0x36,0x36,0x36,0x38,0x0, 0x28,0x40,0x52,0x5c,0x50,
+0x3c,0x28,0x14,0x4, 0x12,0x24,0x36,0x48,0x5c,0x64,0x31,0x77,0x0, 0x2, 0x4, 0x8,
+0xc, 0x12,0x18,0x1c,0x1e,0x24,0x2a,0x2e,0x32,0x36,0x3a,0x3e,0x0, 0x18,0x24,0x2a,
+0x24,0x12,0x6, 0x6, 0x14,0x22,0x26,0x18,0xa, 0xfe,0xf6,0xf0,0x31,0x77,0x0, 0x4,
+0x8, 0xe, 0x14,0x18,0x1a,0x1c,0x1c,0x1e,0x20,0x28,0x30,0x38,0x3c,0x40,0x0, 0x1c,
+0x2a,0x36,0x2c,0x18,0xc, 0x0, 0xa, 0x1a,0x26,0x32,0x2e,0x14,0x6, 0x0, 0x31,0x77,
+0x0, 0x2, 0x4, 0x6, 0xa, 0xc, 0x14,0x20,0x2a,0x2e,0x30,0x30,0x32,0x3c,0x40,0x40,
+0x0, 0xa, 0x1c,0x2e,0x3c,0x3e,0x34,0x1a,0xc, 0x8, 0xc, 0x18,0x26,0x2c,0x26,0x24,
+0x31,0x77,0x0, 0x0, 0x2, 0x4, 0x8, 0xa, 0x12,0x18,0x1c,0x1e,0x20,0x20,0x26,0x30,
+0x40,0x40,0x0, 0x8, 0x1a,0x30,0x3e,0x38,0x28,0x14,0x4, 0x2, 0xe, 0x26,0x3c,0x30,
+0x12,0x12,0x31,0x77,0x0, 0x0, 0x2, 0x4, 0x4, 0xa, 0xe, 0x10,0x16,0x1a,0x1c,0x20,
+0x2c,0x36,0x3e,0x40,0x0, 0xc, 0x18,0x24,0x24,0x16,0x12,0x14,0x22,0x32,0x3e,0x3e,
+0x2c,0x14,0x4, 0x0, 0x72,0x79,0x0, 0xfe,0x0, 0xe, 0x16,0x1e,0x1a,0x14,0x12,0xc,
+0x8, 0xfe,0xf6,0xe8,0xe2,0xe2,0x0, 0x16,0x20,0x1a,0x10,0x4, 0xa, 0x16,0x22,0x30,
+0x3c,0x46,0x4a,0x44,0x3c,0x36,0x72,0x79,0x0, 0x2, 0xa, 0x1a,0x22,0x2a,0x30,0x2a,
+0x28,0x28,0x26,0x24,0x18,0x8, 0xfa,0xf4,0x0, 0x2e,0x3e,0x30,0x20,0xe, 0x0, 0x14,
+0x28,0x3e,0x4e,0x62,0x72,0x78,0x6e,0x66,0x72,0x79,0x0, 0xfa,0xfa,0xfe,0xc, 0x1c,
+0x2c,0x36,0x34,0x2c,0x28,0x20,0x1a,0xe, 0x6, 0x0, 0x0, 0x22,0x38,0x4a,0x44,0x36,
+0x1a,0x6, 0x6, 0x16,0x28,0x44,0x56,0x6c,0x78,0x7f,0x72,0x79,0x0, 0x14,0x16,0x18,
+0x26,0x36,0x3c,0x36,0x34,0x32,0x30,0x2c,0x24,0x14,0xc, 0x8, 0x0, 0xfe,0xc, 0x18,
+0x10,0xfe,0xf8,0x2, 0x12,0x1e,0x2c,0x3c,0x48,0x4c,0x48,0x44,0x65,0x7a,0x0, 0x16,
+0x24,0x30,0x30,0x20,0x18,0xe, 0x0, 0xfa,0x4, 0x10,0x20,0x2a,0x32,0x38,0x0, 0x2,
+0x2, 0x0, 0x8, 0x14,0x1e,0x28,0x32,0x3c,0x3e,0x3a,0x38,0x38,0x38,0x36,0x65,0x7a,
+0x0, 0x14,0x20,0x2e,0x36,0x2e,0x26,0x1a,0x12,0xa, 0xa, 0x14,0x22,0x2e,0x3a,0x40,
+0x0, 0xfe,0xfc,0xfc,0x0, 0x6, 0x10,0x1c,0x28,0x32,0x38,0x3a,0x3a,0x3a,0x3a,0x3a,
+0x65,0x7a,0x0, 0x10,0x1c,0x24,0x2c,0x2c,0x28,0x22,0x1c,0x18,0x14,0x16,0x22,0x2e,
+0x38,0x40,0x0, 0xf6,0xf0,0xea,0xea,0xf0,0xfa,0x8, 0x12,0x1c,0x28,0x2e,0x2c,0x28,
+0x22,0x1e,0x0, 0x46,0x0, 0x6, 0xa, 0xe, 0x14,0x1a,0x1c,0x22,0x26,0x28,0x2c,0x32,
+0x34,0x3a,0x3e,0x40,0x0, 0xb, 0x14,0x1c,0x26,0x2e,0x34,0x3c,0x42,0x48,0x50,0x56,
+0x5c,0x64,0x6a,0x6e,0x7e,0xa0,0x20,0x80,0xc, 0x7e,0xa0,0x10,0x80,0x5, 0x7e,0xa0,
+0x8, 0x6c,0x55,0x6d,0x33,0x33,0x92,0xd5,0x50,0xa, 0x6e,0x34,0xff,0xff,0x6e,0x24,
+0xff,0xff,0xb, 0x1c,0xa5,0xec,0x33,0x40,0x6, 0x2f,0x11,0xd5,0xf0,0xf6,0x22,0x7c,
+0xba,0x24,0x7e,0xa2,0xd5,0x13,0x7c,0x76,0x7c,0x65,0xa5,0xcc,0x92,0xe7,0x7c,0x5b,
+0x22,0x7c,0xb5,0x33,0x7c,0xb4,0x33,0x92,0xd5,0x4e,0x50,0x80,0x24,0x81,0x40,0x3,
+0x9f,0x11,0x22,0x7c,0x45,0x7c,0x56,0x7c,0x67,0x6c,0x77,0x24,0xe0,0x50,0xe, 0x7e,
+0x1c,0xff,0xff,0x22,0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x4, 0x78,0xf4,
+0x30,0xd5,0xa, 0x6e,0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,0x22,0x7c,0xb5,
+0xa2,0xe7,0xd2,0xe7,0x7c,0x1b,0x7c,0xb4,0x33,0x40,0x9, 0x68,0xd, 0xb4,0xff,0xb,
+0xa5,0xbd,0xff,0x3, 0x2, 0x98,0xdb,0x2, 0x98,0xe3,0x22,0x7c,0xb, 0x24,0x81,0xc2,
+0xe0,0xf5,0x82,0xf4,0x4, 0x2c,0xb0,0x7c,0x2b,0xc3,0x13,0x7c,0x4b,0x7c,0xb5,0x92,
+0xe7,0x7c,0x5b,0x7f,0x41,0x7c,0xb6,0xa2,0xe7,0x7c,0xb1,0xa5,0xba,0x7f,0x2, 0xc3,
+0x13,0x34,0x0, 0x94,0x0, 0x7c,0x2b,0x7e,0xa0,0x91,0xa4,0x7c,0xba,0x13,0xf4,0x94,
+0xfe,0xac,0xb2,0x33,0x7c,0xba,0x33,0x24,0x8c,0xd3,0x13,0x7c,0x5b,0xe4,0x92,0xe7,
+0x7c,0x6b,0x6c,0x77,0x7e,0x40,0x3f,0x75,0x83,0x2, 0x7f,0x51,0x7f,0x1, 0x7f,0x14,
+0x12,0x99,0xad,0x7f,0x5, 0x12,0x98,0xf5,0x9e,0x24,0x0, 0x80,0xd5,0x83,0xeb,0x7e,
+0x1, 0x82,0x6c,0x11,0xe, 0x4, 0x1e,0x4, 0x2d,0x20,0x5e,0x40,0x7f,0x22,0x2d,0x0,
+0x92,0xd5,0xe, 0x10,0x4e,0x10,0x80,0x7d,0x42,0x2d,0x44,0x50,0x2, 0xb2,0xd5,0x4e,
+0x50,0x80,0x6c,0x44,0x7c,0xb8,0x22,0x2c,0x44,0x50,0x12,0xb, 0x1c,0x7e,0x40,0x0,
+0x5e,0x50,0x7f,0xbe,0x18,0x0, 0x0, 0x78,0x4, 0xb, 0x80,0x68,0x16,0xa2,0xd5,0x7c,
+0xb8,0x13,0x7c,0x4b,0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x22,0x7e,0x1c,0xff,0xff,0x22,
+0x9f,0x11,0x22,0x7e,0x24,0xff,0x80,0x20,0xd5,0x2, 0x6c,0x45,0x6d,0x33,0x22,0x2,
+0x98,0xdb,0x6e,0x0, 0x80,0x7c,0xb1,0x33,0x7c,0xb0,0x33,0x68,0xd, 0x4, 0x68,0xef,
+0x7c,0xb5,0x33,0x7c,0xb4,0x33,0x78,0x3, 0x7f,0x10,0x22,0x4, 0x68,0xe1,0x7d,0x50,
+0x92,0xf7,0x7d,0x45,0x7d,0x51,0xbf,0x21,0x40,0x6, 0x7c,0x80,0x7f,0x1, 0x7f,0x12,
+0x12,0x98,0x9e,0x7e,0xa1,0xd0,0x5c,0xb0,0x4, 0x78,0x3, 0x20,0xd5,0xc1,0x7c,0xb0,
+0x4, 0x78,0x7, 0x50,0x2, 0xb2,0xd5,0x2, 0x98,0xe3,0x92,0xd5,0xbe,0x80,0xff,0x68,
+0xf6,0x7c,0xb8,0x9c,0xb0,0x6c,0x0, 0x60,0x2a,0xb4,0x18,0x5, 0x7c,0x41,0x2, 0x98,
+0xb7,0x50,0xfb,0x80,0x3, 0x2f,0x0, 0x4, 0x7c,0x9b,0x5e,0x90,0x7, 0x78,0xf6,0x30,
+0xe4,0x6, 0x7c,0x43,0x7d,0x10,0x6d,0x0, 0x30,0xe3,0x8, 0x7c,0x43,0x7c,0x32,0x7c,
+0x21,0xa, 0x0, 0x30,0xf5,0x19,0x9f,0x10,0x78,0xe, 0x22,0x2, 0x98,0xe0,0x1b,0x80,
+0x68,0xf9,0x2f,0x11,0x50,0x2, 0xb, 0x70,0x7c,0xb5,0x30,0xe7,0xf1,0x80,0x1b,0x2d,
+0x31,0x7c,0xb5,0xa5,0x39,0x7c,0x5b,0x50,0x11,0xb, 0x80,0x78,0x3, 0x2, 0x98,0xe3,
+0x1e,0x34,0x13,0x50,0x3, 0x4e,0x60,0x80,0x1a,0x2b,0x2, 0x98,0xb7,0xbe,0x24,0xff,
+0xff,0x68,0x6, 0xbe,0x4, 0xff,0xff,0x78,0x3, 0x2, 0x98,0xdb,0x12,0x98,0x9e,0x5c,
+0xb0,0x4, 0x68,0xf5,0x7c,0xb8,0xa5,0x48,0x68,0xef,0x7c,0xb8,0x70,0x3, 0x9f,0x11,
+0x22,0xa5,0xb8,0x0, 0x3, 0x2, 0x98,0xe3,0x2e,0x0, 0x81,0x50,0x7, 0x9c,0x80,0x38,
+0x7, 0x2, 0x98,0xe0,0x9c,0x80,0x50,0xed,0xa, 0x51,0xc2,0xe7,0x4d,0x51,0x78,0x3,
+0x2, 0x98,0xcd,0x7e,0x54,0x0, 0x80,0x7e,0x90,0x1a,0x6c,0x0, 0x80,0x6, 0x1b,0x90,
+0x68,0x14,0x2f,0x11,0xbf,0x10,0x40,0x4, 0x9f,0x10,0x4c,0xab,0x3, 0x30,0xe7,0xee,
+0xca,0xa8,0x6c,0xaa,0x80,0xe8,0xda,0x39,0xda,0x58,0x7c,0x4a,0xbe,0x50,0x80,0x50,
+0xa, 0x1b,0x80,0x68,0xbc,0x2f,0x11,0x50,0x2, 0xb, 0x70,0x2, 0x98,0xb7,0xc2,0xd5,
+0x7c,0xb4,0x30,0xe7,0x8, 0xb2,0xd5,0x6e,0x24,0xff,0xff,0xb, 0x24,0x7c,0xb6,0x30,
+0xe7,0x12,0xb2,0xd5,0x6e,0x34,0xff,0xff,0xb, 0x34,0x8d,0x32,0x6e,0x24,0xff,0xff,
+0xb, 0x24,0x80,0x2, 0x8d,0x32,0x30,0xd5,0x6, 0x6e,0x34,0xff,0xff,0xb, 0x34,0x22,
+0x7d,0x51,0xad,0x3, 0x7d,0x2, 0x7d,0x21,0xad,0x5, 0x2d,0x12,0xad,0x35,0x2d,0x21,
+0x22,0x7d,0x2, 0xad,0x31,0xad,0x10,0x2d,0x21,0x22,0x6d,0x0, 0x74,0x10,0x4d,0x0,
+0x78,0xb, 0x4d,0x22,0x78,0x27,0x8d,0x31,0x7d,0x12,0x6d,0x22,0x22,0x7d,0x43,0x7d,
+0x32,0x6d,0x22,0x2f,0x11,0x2d,0x44,0x50,0x2, 0xa5,0xf, 0xbf,0x10,0x40,0x4, 0x9f,
+0x10,0xb, 0x90,0x14,0x78,0xed,0x7f,0x1, 0x6d,0x22,0x7d,0x34,0x22,0x7d,0x41,0x7d,
+0x13,0x8d,0x24,0x7d,0x2, 0x2f,0x0, 0x40,0x4, 0xbd,0x4, 0x40,0x4, 0x9d,0x4, 0xb,
+0x14,0x14,0x78,0xf1,0x7d,0x23,0x7d,0x31,0x7d,0x10,0x6d,0x0, 0x22,0xc2,0xd5,0x7c,
+0xb0,0x30,0xe7,0x8, 0xb2,0xd5,0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x7c,0xb4,0x30,0xe7,
+0x13,0xb2,0xd5,0x9f,0x22,0x9f,0x21,0x7f,0x12,0x12,0x9a,0x7c,0x9f,0x22,0x9f,0x20,
+0x7f,0x2, 0x80,0x3, 0x12,0x9a,0x7c,0x30,0xd5,0x6, 0x9f,0x22,0x9f,0x21,0x7f,0x12,
+0x22,0x6c,0xaa,0x4d,0x11,0x68,0x1a,0x1e,0x54,0x68,0xe, 0xb, 0x38,0x20,0x1b,0x18,
+0x20,0xb, 0x35,0xb, 0x15,0x1b,0x54,0x78,0xf2,0x50,0x6, 0x7e,0x39,0x40,0x7a,0x19,
+0x40,0x22,0x75,0x84,0x1, 0x7e,0x44,0x13,0xff,0xe4,0x7a,0x49,0xb0,0x1b,0x44,0x78,
+0xf9,0x7e,0xf8,0x11,0x4d,0x75,0x69,0x1, 0xc2,0xc, 0x75,0x62,0x0, 0x75,0x8, 0x0,
+0x75,0x9, 0x71,0x75,0xa, 0x6, 0x75,0xb, 0x71,0x75,0xc, 0x71,0x75,0x11,0x71,0x75,
+0x12,0x78,0x75,0x13,0x24,0x75,0x14,0x32,0x75,0x15,0x6, 0x75,0x16,0x2, 0x75,0x17,
+0x78,0xc2,0x5, 0xc2,0x6, 0xc2,0x7, 0x75,0x6a,0x0, 0xc2,0xd, 0x75,0x6b,0x0, 0x75,
+0x5b,0x0, 0xc2,0x0, 0xc2,0x2, 0xc2,0x3, 0xd2,0x4, 0x75,0x5e,0xff,0x75,0x5f,0xff,
+0x75,0x60,0x0, 0x75,0x18,0x0, 0x75,0x19,0x0, 0x75,0x1e,0x0, 0xc2,0xf, 0x75,0x63,
+0x0, 0x75,0x64,0x0, 0x75,0x55,0x0, 0x75,0x56,0x0, 0x75,0x57,0x0, 0x75,0x58,0x0,
+0x75,0x59,0x0, 0x75,0x5a,0x0, 0x75,0x65,0x41,0x75,0x66,0x0, 0xc2,0x8, 0xc2,0xa,
+0xd2,0xb, 0x7e,0x4, 0x0, 0xff,0x7e,0x14,0x9d,0x1a,0xb, 0xa, 0x40,0x5d,0x44,0x68,
+0x1a,0x69,0x20,0x0, 0x2, 0xb, 0xe, 0xb, 0x44,0x80,0xa, 0x7e,0xb, 0xb0,0x7a,0x29,
+0xb0,0xb, 0x24,0xb, 0xc, 0x1b,0x44,0x78,0xf2,0x80,0xdf,0x2, 0x77,0x63,0x0, 0x10,
+0x1, 0x11,0x2, 0x12,0x3, 0x13,0x4, 0x14,0x5, 0x15,0x6, 0x16,0x7, 0x17,0x8, 0x18,
+0x9, 0x19,0xa, 0x1a,0xb, 0x1b,0xc, 0x1c,0xd, 0x1d,0xe, 0x1e,0xf, 0x1f,0x20,0x21,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x6, 0x9,
+0xc, 0xf, 0x12,0x15,0x18,0x1b,0x1e,0x1, 0x4, 0x7, 0xa, 0xd, 0x10,0x13,0x16,0x19,
+0x1c,0x1f,0x2, 0x5, 0x8, 0xb, 0xe, 0x11,0x14,0x17,0x1a,0x1d,0x20,0x80,0x0, 0x40,
+0x0, 0x2a,0xab,0x20,0x0, 0x19,0x9a,0x15,0x55,0x12,0x49,0x10,0x0, 0x1c,0x72,0x19,
+0x9a,0x17,0x46,0x15,0x55,0x13,0xb1,0x12,0x49,0x11,0x11,0x10,0x0, 0x1e,0x1e,0x1c,
+0x72,0x1a,0xf3,0x19,0x9a,0x18,0x62,0x17,0x46,0x16,0x43,0x15,0x55,0x14,0x7b,0x13,
+0xb1,0x12,0xf7,0x12,0x49,0x11,0xa8,0x11,0x11,0x10,0x84,0x10,0x0, 0x2, 0x2, 0x3,
+0x0, 0x5, 0x1, 0x6, 0x6, 0x40,0x10,0x10,0x10,0x10,0x40,0x12,0x0, 0x1, 0x2, 0x3,
+0x14,0x12,0x4, 0x5, 0x6, 0x7, 0x14,0x13,0x8, 0x9, 0xa, 0xb, 0x15,0x13,0xc, 0xd,
+0xe, 0xf, 0x15,0x40,0x11,0x11,0x11,0x11,0x40,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0xca,0xf8,0x7f,0x20,0x80,0xa, 0x7e,0x1b,0xf0,0x7a,0x2b,
+0xf0,0xb, 0x34,0xb, 0x54,0x69,0xff,0xff,0xfc,0x7d,0xef,0x1b,0xe4,0x79,0xef,0xff,
+0xfc,0x4d,0xff,0x78,0xe6,0x7f,0x10,0xda,0xf8,0x22,0x7d,0x43,0x7f,0x10,0x80,0x7,
+0x1b,0x44,0x7a,0xb, 0xb0,0xb, 0x14,0x4d,0x44,0x78,0xf5,0x22,0x7d,0x23,0xbe,0x24,
+0x0, 0x0, 0x48,0x3, 0x7d,0x32,0x22,0x6d,0x33,0x9d,0x32,0x22,0x7f,0x1, 0xbe,0x8,
+0x0, 0x0, 0x48,0x3, 0x7f,0x10,0x22,0x9f,0x11,0x9f,0x10,0x22,0x68,0x64,0x6f,0x2e,
+0x2e,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x1, 0x0, 0x4, 0x11,0x22,0x0, 0x0,
+0x0, 0x0, 0x0, 0x1, 0xf, 0xf6,0xff,0x0, 0x4, 0xb, 0xb2,0x0, 0x0, 0x0, 0x0, 0x0,
+0x14,0x0, 0x6d,0x5, 0x0, 0x5, 0x5c,0x5, 0xb8,0x6, 0x14,0x6, 0x70,0x6, 0xcc,0x7,
+0x28,0x7, 0x84,0x7, 0xe0,0x8, 0x3c,0x0, 0x1, 0xe, 0x89,0x0, 0x0, 0x1, 0xe, 0x8a,
+0x0, 0x0, 0xc, 0xe, 0xa9,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x2, 0xe, 0xb5,0x0, 0x0, 0x0, 0x18,0xe, 0xb7,0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x2, 0xe, 0xcf,0x0, 0x0, 0x0, 0x1, 0xe, 0xd1,0x0, 0x0, 0x2,
+0x11,0x4b,0x0, 0x0, 0x0, 0x8, 0x11,0x36,0x7f,0xff,0x7f,0xff,0x7f,0xff,0x7f,0xff,
+0x0, 0x2, 0xb, 0xb8,0x0, 0x0, 0x0, 0x2, 0xb, 0xbb,0xb, 0xbf,0x0, 0x1, 0xc, 0x80,
+0x0, 0x0, 0x1, 0xc, 0x9f,0x0, 0x0, 0x2, 0x10,0xd5,0x0, 0x0, 0x0, 0x2, 0x10,0xd7,
+0x0, 0x0, 0x0, 0x1, 0x10,0xd9,0x0, 0x0, 0x1, 0x10,0xda,0x0, 0x0, 0xa, 0x10,0xdb,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x10,0xe5,0x3, 0x4,
+0x0, 0x1, 0x10,0xe7,0x0, 0x0, 0x1, 0x10,0xe8,0x0, 0x0, 0x1, 0x10,0xef,0xff,0x0,
+0x1, 0x10,0xf0,0x0, 0x0, 0x1, 0x10,0xf1,0x0, 0x0, 0x2, 0x10,0x47,0x0, 0x0, 0x0,
+0x1, 0x10,0x4d,0xff,0x0, 0x2, 0x10,0x56,0x0, 0x0, 0x0, 0x1, 0x10,0x59,0x76,0x0,
+0x4, 0x10,0x5a,0x0, 0x0, 0x0, 0x20,0x0, 0x2, 0x10,0x5e,0x0, 0x0, 0x0, 0x1, 0x10,
+0x80,0x1, 0x0, 0x1, 0xe, 0x2, 0x0, 0x0, 0x1, 0x11,0x4d,0x0, 0x0, 0x4, 0x11,0x3e,
+0x0, 0x0, 0x14,0x0, 0x0, 0x4, 0x11,0x42,0x0, 0x0, 0x16,0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0x3, 0xe8,0xfc,0x17,0xee,0xb5,0x11,0x4a,0xbc,0x0, 0xff,0xff,0xff,0xff,0xff,0xff,
+0x1, 0x70,0x92,0x43,0x45,0x49,0x5f,0x45,0x53,0x57,0x31,0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x30,0x30,0x30,0x30,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x4, 0x16,0x0, 0x3, 0x0, 0x13,0x12,0x10,0xf, 0x14,0xe, 0xb,
+0xc, 0x1, 0x7, 0xa, 0x9, 0x2, 0x3, 0x5, 0x6, 0x11,0x4, 0x15,0x0, 0xd, 0x8, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xf, 0x10,0x10,0x21,0x21,0x26,0x26,
+0x0, 0x0, 0x1, 0x0, 0x0, 0x3, 0x0, 0x0, 0x1, 0x38,0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x3f,0x4,
+0x0, 0x0, 0x1b,0x1b,0x1b,0x1b,0x1d,0x1d,0x1f,0x1f,0x23,0x23,0x27,0x27,0x38,0x30,
+0x47,0xd0,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x3e,0x0, 0x5, 0xc, 0x5a,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x67,0x0, 0x1, 0x3, 0x64,0x1, 0x0, 0x3, 0x0, 0x11,0x12,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff,0xff,0x0, 0x0, 0xff,0xff,0xff,0xff,0xff,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x32,0x2, 0xbc,0x3, 0x84,0x5, 0xdc,0x1, 0xca,
+0x1, 0xca,0x0, 0x32,0x3, 0xe8,0xf, 0xa0,0x1, 0x2c,0x0, 0xa0,0x50,0x50,0x14,0x0,
+0x0, 0x5, 0x3, 0x0, 0xd1,0x0, 0xcd,0x0, 0x50,0x0, 0x50,0x6, 0x0, 0x0, 0xc, 0xc,
+0xc, 0xc, 0x0, 0x32,0x0, 0x0, 0x0, 0x64,0x1, 0x5e,0x0, 0x0, 0x0, 0x64,0x0, 0x32,
+0x0, 0x0, 0x0, 0x64,0x1, 0x5e,0x0, 0x0, 0x0, 0x64,0x0, 0x32,0x0, 0x32,0xa, 0xa,
+0xa, 0xa, 0x50,0x50,0x0, 0x0, 0x8, 0x6, 0x0, 0xd0,0x0, 0xcf,0x0, 0x50,0x0, 0x50,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x22,0x23,0x22,0x23,0x22,0x23,0x1, 0x3, 0x2, 0x3, 0x1,
+0x3, 0x1, 0x2, 0x3, 0x2, 0x1, 0x2, 0x0, 0x0, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x7,
+0x8, 0xa, 0xb, 0xd, 0xf, 0x12,0x15,0x18,0x1e,0x1e,0x1e,0x0, 0x0, 0x0, 0x2, 0x3,
+0x4, 0x6, 0x7, 0x9, 0xa, 0xe, 0x11,0x14,0x15,0x18,0x1b,0x21,0x27,0x29,0x29,0x0,
+0x0, 0x0, 0x0, 0xff,0xfe,0xfd,0xfb,0xfa,0xf8,0xf6,0xf5,0xf3,0xf1,0xef,0xe8,0xdf,
+0xd6,0xd6,0xd6,0x0, 0x0, 0x0, 0xff,0xfe,0xfd,0xfb,0xfa,0xf8,0xf6,0xf4,0xf2,0xf0,
+0xed,0xe9,0xe7,0xe4,0xe1,0xde,0xdb,0x22,0x22,0x22,0x22,0x23,0x23,0x23,0x23,0xff,
+0xff,0xff,0x22,0x22,0x22,0x22,0x23,0x23,0x23,0x23,0xff,0xff,0xff,0x22,0x22,0x22,
+0x22,0x23,0x23,0x23,0x23,0xff,0xff,0xff,0x22,0x22,0x22,0x22,0x23,0x23,0x23,0x23,
+0xff,0xff,0xff,0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
+0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
+0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xa4,0x3, 0xe8,0x36,0xb0,0xf, 0xa0,0x3, 0xe8,
+0x1e,0x0, 0xf, 0x4, 0x4, 0xf, 0x4, 0x4, 0xf, 0x4, 0x4, 0x1, 0x1, 0x0, 0x5, 0x5,
+0x6, 0x6, 0x3, 0xe8,0xb, 0xb8,0x7, 0xd0,0x3, 0x20,0xf, 0xa0,0x14,0x10,0xd, 0x4,
+0xa, 0x4, 0xa, 0x4, 0xc, 0x4, 0xf, 0x14,0x14,0x1e,0xf, 0x4, 0x0, 0x0, 0x7, 0xd0,
+0x0, 0x0, 0x27,0x10,0xe, 0x5, 0x0, 0x0, 0x7, 0xd0,0x0, 0x0, 0x27,0x10,0xd, 0x5,
+0x0, 0x0, 0x7, 0x8, 0x0, 0x0, 0x27,0x10,0xe, 0x5, 0x0, 0x50,0x0, 0xf0,0x1, 0x90,
+0x2, 0x30,0x3, 0x84,0xa, 0x5, 0x0, 0x50,0x0, 0x50,0x3, 0xe8,0x3, 0x20,0x0, 0x1e,
+0x0, 0xf, 0x0, 0x14,0x0, 0x78,0x0, 0x6a,0x0, 0x3c,0x3, 0xe8,0x0, 0x78,0x0, 0x3c,
+0x0, 0x3c,0x3, 0xe8,0x0, 0x5, 0x0, 0x5, 0x0, 0x64,0x0, 0xa0,0x0, 0xa0,0x13,0x88,
+0x0, 0xa0,0x1f,0xff,0xf7,0x1d,0x3b,0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x64,0x0, 0xc8,0x1, 0x2c,0x1f,0x40,0x9, 0xa,
+0x7, 0x8, 0xa, 0xc8,0x5, 0x9, 0x1e,0x8, 0x14,0x0, 0xb, 0xb8,0x3, 0xe8,0x5, 0xdc,
+0x3, 0x0, 0xb, 0xb8,0xd, 0x48,0xe, 0xd8,0x3, 0xa, 0xf, 0x14,0x0, 0x6, 0x3c,0x2,
+0x58,0x3, 0xdc,0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x70,0x8f,0x0, 0xff,0x92,0x6d,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43,0x45,0x49,0x5f,0x45,0x53,0x57,0x31,
+0x0, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x30,0x30,0x30,0x30,0x0, 0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
\ No newline at end of file
diff --git a/drivers/input/touchscreen/focaltech_3267/FTS_FW/CEI_ESW1_3267_0x93_app.i b/drivers/input/touchscreen/focaltech_3267/FTS_FW/CEI_ESW1_3267_0x93_app.i
new file mode 100644
index 0000000..86c4cc8
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3267/FTS_FW/CEI_ESW1_3267_0x93_app.i
@@ -0,0 +1,2949 @@
+0x2, 0x9b,0x22,0x2, 0x56,0x97,0x20,0x93,0xfd,0x22,0x22,0x2, 0x0, 0x48,0x12,0x7e,
+0x8c,0x12,0x87,0x26,0xe4,0x12,0x87,0xa4,0x2, 0x84,0x14,0x2, 0x75,0x2d,0x75,0x5d,
+0x0, 0x75,0x5c,0x0, 0x7e,0xb3,0xd, 0x60,0xf5,0x91,0x22,0x2, 0x73,0x87,0x6c,0xaa,
+0xe4,0xa, 0x4a,0x19,0xb4,0xf, 0x19,0x19,0xb4,0xe, 0xeb,0xb, 0xa0,0xbe,0xa0,0x2e,
+0x40,0xee,0x22,0x2, 0x6f,0xf9,0x22,0x22,0x32,0xff,0xff,0x2, 0x69,0x8a,0xe5,0x4e,
+0x70,0x3, 0x2, 0x84,0x14,0x7e,0xb3,0xd, 0xf2,0x70,0x9, 0x7e,0xa3,0x0, 0xec,0xbe,
+0xa0,0x2, 0x40,0xb, 0x60,0xc, 0x7e,0x73,0x9, 0x24,0xbe,0x70,0x2, 0x50,0x3, 0x2,
+0x80,0x59,0x22,0x2, 0x7, 0xc6,0x7d,0x53,0x5e,0x54,0x0, 0x7, 0x7c,0xab,0x6c,0x55,
+0x7d,0x43,0x1e,0x44,0x1e,0x44,0x1e,0x44,0xbc,0xa5,0x28,0x2, 0xb, 0x44,0x7e,0x30,
+0x2, 0xac,0x35,0x7e,0x7f,0x11,0x42,0x2d,0xf1,0x2e,0xf4,0x0, 0x14,0xb, 0x7a,0x10,
+0x5e,0x14,0x0, 0x3f,0x1b,0x7a,0x10,0xbe,0x44,0x0, 0x1f,0x28,0x22,0xbe,0x44,0x3,
+0x64,0x28,0x4, 0x7e,0x44,0x3, 0x64,0x7d,0x14,0x9e,0x14,0x0, 0x20,0x7e,0x4, 0x0,
+0x1b,0x8d,0x10,0x7d,0x1, 0xb, 0x4, 0x7e,0x14,0x0, 0x5, 0xad,0x10,0x2d,0x41,0x7d,
+0x4, 0x3e,0x4, 0x3e,0x4, 0x3e,0x4, 0x3e,0x4, 0x3e,0x4, 0x3e,0x4, 0x7e,0x30,0x2,
+0xac,0x35,0x7e,0x7f,0x11,0x42,0x2d,0xf1,0x2e,0xf4,0x0, 0x14,0xb, 0x7a,0x10,0x4d,
+0x10,0x1b,0x7a,0x10,0xb, 0x50,0xbe,0x50,0x8, 0x40,0x85,0x22,0xff,0xff,0xff,0xff,
+0xb7,0xf8,0x48,0x7, 0x43,0xbc,0x9b,0x64,0x93,0x6c,0x3, 0xfc,0xff,0xff,0xff,0x0,
+0x3, 0xf8,0xfc,0x7, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0x7f,0x50,0x7e,0x34,0x0, 0x24,0x12,0x7f,0x22,0xbe,0xb0,0x9, 0x68,0x1a,0xbe,0xb0,
+0xa, 0x68,0x15,0xbe,0xb0,0x15,0x68,0x10,0xbe,0xb0,0x21,0x68,0xb, 0xbe,0xb0,0xff,
+0x68,0x6, 0xe4,0x12,0x82,0x64,0x80,0xfa,0xa9,0xc3,0xea,0x29,0xb5,0x0, 0x2, 0x54,
+0xf, 0xa, 0x3b,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x2, 0x7f,0x5, 0x12,0x46,0xc,
+0x6d,0x33,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x12,0x7e,0xf, 0x11,0x42,0x2e,0x14,
+0x0, 0x12,0xb, 0xa, 0x30,0x29,0xb5,0x0, 0x2, 0x54,0x30,0xa, 0x2b,0x3e,0x24,0x3e,
+0x24,0x3e,0x24,0x3e,0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0x12,0xb, 0xa, 0x30,
+0x4d,0x32,0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x18,0x30,0xe5,0x11,0x7e,0xf, 0x11,0x42,
+0x2e,0x14,0x0, 0x12,0xb, 0xa, 0x30,0x4e,0x60,0x7c,0x1b,0xa, 0x30,0x6d,0x33,0x7e,
+0xf, 0x11,0x42,0x79,0x30,0x0, 0x70,0x69,0x25,0x0, 0x11,0x5e,0x40,0x3, 0x7e,0xf,
+0x11,0x42,0x2e,0x14,0x0, 0x70,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x69,0x25,
+0x0, 0x11,0x5e,0x24,0xc, 0x0, 0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x7e,0xf,
+0x11,0x42,0x2e,0x14,0x0, 0x70,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x6d,0x33,
+0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x72,0x69,0x25,0x0, 0x15,0x5e,0x40,0x3, 0x7e,
+0xf, 0x11,0x42,0x2e,0x14,0x0, 0x72,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x69,
+0x55,0x0, 0x13,0x5e,0x54,0x0, 0x2, 0x3, 0x3, 0x54,0xc0,0x7c,0xab,0xe4,0x7e,0xf,
+0x11,0x42,0x2e,0x14,0x0, 0x72,0xb, 0xa, 0x30,0x4d,0x35,0x1b,0xa, 0x30,0x69,0x35,
+0x0, 0x13,0x5e,0x70,0xc0,0x1e,0x34,0x1e,0x34,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0,
+0x74,0x6d,0x33,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x76,0x29,0xb5,0x0, 0x18,0x1e,
+0xb0,0x1e,0xb0,0x54,0x1, 0xa, 0x2b,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0x76,0xb,
+0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x18,0x54,0x3, 0xa, 0x2b,0x3e,
+0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0x76,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa,
+0x30,0x29,0xb5,0x0, 0x18,0x54,0x18,0xa, 0x2b,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0,
+0x76,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x69,0x35,0x0, 0x19,0x7e,0xf, 0x11,
+0x42,0x79,0x30,0x0, 0x78,0x69,0x35,0x0, 0x1b,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0,
+0x7a,0x69,0x35,0x0, 0x1d,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x7c,0x69,0x35,0x0,
+0x1f,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x7e,0x69,0x35,0x0, 0x21,0x7e,0xf, 0x11,
+0x42,0x79,0x30,0x0, 0x80,0x69,0x35,0x0, 0x23,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0,
+0x82,0x69,0x35,0x0, 0x25,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x8a,0x6c,0x77,0x74,
+0x2, 0xac,0xb7,0x7f,0x5, 0x2d,0x15,0x69,0x20,0x0, 0x27,0x7e,0xf, 0x11,0x42,0x2d,
+0x15,0x79,0x20,0x0, 0x8c,0xb, 0x70,0xa5,0xbf,0xb, 0xe4,0x29,0x75,0x0, 0x4, 0x7c,
+0x47,0x6c,0x55,0x29,0x75,0x0, 0x3, 0xa, 0x37,0x2d,0x32,0x7e,0xf, 0x11,0x42,0x79,
+0x30,0x0, 0xa2,0x29,0x75,0x0, 0x6, 0x7c,0x47,0x29,0x75,0x0, 0x5, 0xa, 0x37,0x2d,
+0x32,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xa4,0x29,0x75,0x0, 0x8, 0x7c,0x47,0x29,
+0x75,0x0, 0x7, 0xa, 0x37,0x2d,0x32,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xa6,0x6d,
+0x33,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xa8,0x29,0x75,0x0, 0x9, 0xbe,0x70,0x0,
+0x7e,0xf, 0x11,0x42,0x28,0x2b,0x2e,0x14,0x0, 0xa8,0xb, 0xa, 0x30,0x4e,0x70,0x40,
+0x1b,0xa, 0x30,0x29,0x75,0x0, 0x9, 0xa, 0x27,0x1b,0x24,0x5e,0x24,0x0, 0x3f,0x7e,
+0xf, 0x11,0x42,0x2e,0x14,0x0, 0xa8,0xb, 0xa, 0x30,0x5e,0x70,0xc0,0x4d,0x32,0x80,
+0xa, 0x2e,0x14,0x0, 0xa8,0xb, 0xa, 0x30,0x4e,0x70,0x3f,0x1b,0xa, 0x30,0x29,0x75,
+0x0, 0xa, 0xbe,0x70,0x0, 0x7e,0xf, 0x11,0x42,0x28,0x2f,0x2e,0x14,0x0, 0xa8,0xb,
+0xa, 0x30,0x4e,0x60,0x40,0x1b,0xa, 0x30,0x29,0x75,0x0, 0xa, 0xa, 0x27,0x1b,0x24,
+0x5e,0x24,0x0, 0x3f,0x7c,0x45,0x6c,0x55,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xa8,
+0xb, 0xa, 0x30,0x5e,0x60,0xc0,0x4d,0x32,0x80,0xa, 0x2e,0x14,0x0, 0xa8,0xb, 0xa,
+0x30,0x4e,0x60,0x3f,0x1b,0xa, 0x30,0x7e,0x34,0xa0,0x1a,0x7e,0xf, 0x11,0x42,0x79,
+0x30,0x0, 0xaa,0x29,0x75,0x0, 0xb, 0xa, 0x27,0x5e,0x24,0x0, 0x3f,0x3e,0x24,0x3e,
+0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0,
+0xaa,0xb, 0xa, 0x30,0x5e,0x34,0xf0,0x3f,0x4d,0x32,0x1b,0xa, 0x30,0x7e,0x34,0x0,
+0x1, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xac,0xa9,0xd5,0xcb,0x75,0xfd,0x6, 0x7e,
+0x71,0xfe,0xa9,0xc5,0xcb,0x5e,0x70,0x30,0x1e,0x70,0x1e,0x70,0xa, 0x27,0x7e,0xf,
+0x11,0x42,0x2e,0x14,0x0, 0xac,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0xa9,0xc5,
+0xcb,0x29,0xb5,0x0, 0x2, 0x23,0x23,0x54,0x3, 0x14,0x68,0x17,0x14,0x68,0x24,0xb,
+0xb1,0x78,0x31,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xac,0xb, 0xa, 0x30,0x4e,0x70,
+0x80,0x80,0x1e,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xac,0xb, 0xa, 0x30,0x4e,0x70,
+0x40,0x80,0xe, 0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xac,0xb, 0xa, 0x30,0x4e,0x70,
+0x30,0x1b,0xa, 0x30,0x7e,0x34,0x10,0x0, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xae,
+0x29,0xb5,0x0, 0x18,0x54,0x3, 0x78,0x11,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,
+0xb, 0xa, 0x30,0x4e,0x70,0x1, 0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x1, 0x30,0xe5,0x11,
+0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x60,0x20,0x1b,0xa,
+0x30,0x29,0xb5,0x0, 0x1, 0x30,0xe6,0x11,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,
+0xb, 0xa, 0x30,0x4e,0x70,0x80,0x1b,0xa, 0x30,0x69,0x55,0x0, 0x11,0xa, 0x5a,0xc4,
+0x7d,0x35,0x5e,0x34,0x0, 0x1, 0x68,0x11,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,
+0xb, 0xa, 0x30,0x4e,0x60,0x1, 0x1b,0xa, 0x30,0x69,0x35,0x0, 0x13,0x5e,0x34,0x0,
+0x1, 0x68,0x11,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x60,
+0x2, 0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x1, 0x30,0xe7,0x11,0x7e,0xf, 0x11,0x42,0x2e,
+0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x60,0x4, 0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x17,
+0x30,0xe0,0x11,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x60,
+0x8, 0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x17,0x30,0xe1,0x11,0x7e,0xf, 0x11,0x42,0x2e,
+0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x60,0x80,0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x17,
+0x30,0xe2,0x11,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x60,
+0x40,0x1b,0xa, 0x30,0x7f,0x5, 0x12,0x73,0xf7,0x7f,0x5, 0x12,0x7e,0xbf,0x7e,0x34,
+0x1, 0x0, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xb0,0x7e,0x5b,0xb0,0x30,0xe6,0x11,
+0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x4e,0x70,0x2, 0x1b,0xa,
+0x30,0x29,0xb5,0x0, 0x1, 0x54,0x1f,0xa, 0x2b,0x3e,0x24,0x3e,0x24,0x7e,0xf, 0x11,
+0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x29,0x75,0x0,
+0x9e,0xa, 0x37,0x7d,0x23,0x7c,0x45,0x6c,0x55,0x3e,0x24,0x7e,0xf, 0x11,0x42,0x2e,
+0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,
+0x14,0x0, 0xb2,0xb, 0xa, 0x30,0x4e,0x70,0x1, 0x1b,0xa, 0x30,0x29,0xb5,0x0, 0x18,
+0x54,0x3, 0xb4,0x1, 0x22,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb2,0xb, 0xa, 0x30,
+0x4e,0x70,0x2, 0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb2,0xb, 0xa,
+0x30,0x4e,0x70,0x4, 0x1b,0xa, 0x30,0x22,0x7e,0xb3,0x9, 0x25,0x54,0xe, 0x7a,0xb3,
+0x9, 0x25,0x7e,0xb3,0xd, 0x78,0x54,0x3, 0xa, 0x3b,0x3e,0x34,0x3e,0x34,0x3e,0x34,
+0x3e,0x34,0xb, 0x34,0x7e,0xb3,0xd, 0x75,0x54,0x1, 0xa, 0x2b,0x3e,0x24,0x3e,0x24,
+0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x2d,0x23,0x7e,0xb3,0xd, 0x79,0x54,0x1,
+0xa, 0x3b,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,
+0x2d,0x32,0x4e,0x73,0x9, 0x25,0x7a,0x73,0x9, 0x25,0x7e,0xb3,0xd, 0x76,0x54,0x1,
+0xa, 0x2b,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x7e,0xb3,0xd, 0x6c,
+0x54,0x1f,0xa, 0x3b,0x2d,0x32,0x7e,0xb3,0xd, 0x77,0x54,0x1, 0xa, 0x2b,0x3e,0x24,
+0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x2d,0x23,0x7e,0xb3,0xd, 0x7e,
+0x54,0x1, 0xa, 0x3b,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,
+0x3e,0x34,0x2d,0x32,0x7a,0x73,0x9, 0x26,0x7e,0xb3,0xd, 0x8c,0x54,0x3, 0xa, 0x2b,
+0x3e,0x24,0x3e,0x24,0x7e,0xb3,0xd, 0x8b,0x54,0x3, 0xa, 0x3b,0x2d,0x32,0x7a,0x73,
+0x9, 0x27,0x7e,0x34,0x15,0x99,0x7a,0x37,0x9, 0x36,0x7e,0x73,0xd, 0x7f,0xa, 0x37,
+0x2e,0x34,0xc, 0x0, 0x7a,0x37,0x9, 0x38,0x7e,0x73,0xd, 0x80,0xa, 0x37,0x3e,0x34,
+0x3e,0x34,0x7a,0x37,0x9, 0x3a,0x7e,0x73,0xd, 0x81,0xa, 0x37,0xb, 0x36,0x7a,0x73,
+0x9, 0x3c,0x7e,0xb3,0xd, 0x8d,0x54,0x1, 0xa, 0x2b,0x3e,0x24,0x3e,0x24,0x3e,0x24,
+0x7e,0xb3,0xd, 0x82,0x54,0x3, 0xa, 0x3b,0x2d,0x32,0x7e,0xb3,0xd, 0x8e,0x54,0x1,
+0xa, 0x2b,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x2d,0x23,0x7e,0xb3,0xd, 0x8a,
+0x54,0x1, 0xa, 0x3b,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x2d,0x32,
+0x7a,0x73,0x9, 0x3d,0x7e,0x37,0xd, 0x83,0x7a,0x37,0x9, 0x3e,0x7e,0x73,0xd, 0x85,
+0xa, 0x37,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x7a,0x37,0x9, 0x40,0x7e,0x73,
+0xd, 0x86,0xa, 0x37,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x7a,0x37,0x9, 0x42,
+0x7e,0x73,0xd, 0x87,0xa, 0x37,0x3e,0x34,0x3e,0x34,0x7a,0x37,0x9, 0x44,0x7e,0x73,
+0xd, 0x88,0xa, 0x37,0x3e,0x34,0x3e,0x34,0x7a,0x37,0x9, 0x46,0x7e,0x73,0xd, 0x89,
+0xa, 0x37,0x3e,0x34,0x3e,0x34,0x7a,0x37,0x9, 0x48,0x7e,0x73,0xd, 0x7b,0x7a,0x73,
+0x9, 0x30,0x7e,0x34,0x0, 0x8, 0xca,0x39,0x7e,0x18,0xd, 0x6d,0x7e,0x8, 0x9, 0x28,
+0x12,0x9c,0xb5,0x1b,0xfd,0x22,0xca,0x7b,0xca,0x6b,0xca,0x5b,0xca,0x2b,0xca,0x1b,
+0xca,0xb, 0xc0,0x83,0xc0,0x82,0xc2,0xc6,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb4,
+0xb, 0xa, 0x30,0x5e,0x70,0xfe,0x1b,0xa, 0x30,0xd2,0xb, 0x12,0x77,0xbb,0xd0,0x82,
+0xd0,0x83,0xda,0xb, 0xda,0x1b,0xda,0x2b,0xda,0x5b,0xda,0x6b,0xda,0x7b,0x32,0xff,
+0xca,0x3b,0x7c,0xe7,0x7c,0xfb,0x75,0x44,0x0, 0x6c,0xcc,0x9f,0x22,0x7f,0x42,0x7f,
+0x52,0x7f,0x72,0x7e,0x37,0x1, 0xcb,0x7a,0x35,0x3a,0x7e,0xa0,0x5, 0xac,0xae,0x49,
+0x35,0x1, 0x66,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x7a,0x35,0x3c,0x49,0x35,
+0x1, 0x68,0x7d,0x43,0x3e,0x44,0x3e,0x44,0x3e,0x44,0x3e,0x44,0x7a,0x45,0x3e,0x7e,
+0xa0,0x5, 0xac,0xaf,0x49,0x25,0x1, 0x7c,0x7d,0x34,0x9d,0x32,0x12,0x9c,0xec,0x7d,
+0x13,0x7e,0xa0,0x5, 0xac,0xaf,0x49,0x25,0x1, 0x7a,0x7e,0x35,0x3c,0x9d,0x32,0x12,
+0x9c,0xec,0x2d,0x31,0x7a,0x35,0x40,0x7e,0xa0,0x5, 0xac,0xaf,0x9, 0xb5,0x1, 0x7e,
+0x7c,0xdb,0xbe,0xd0,0x2, 0x50,0x2, 0x1, 0x7b,0x6c,0xdd,0x7e,0xa0,0x4, 0xac,0xad,
+0x49,0x25,0xe, 0x91,0x7e,0x35,0x3e,0x9d,0x32,0x12,0x9c,0xec,0x7d,0x13,0x7e,0xa0,
+0x4, 0xac,0xad,0x49,0x25,0xe, 0x8f,0x7e,0x35,0x3c,0x9d,0x32,0x12,0x9c,0xec,0x2d,
+0x31,0x7d,0xc3,0x7e,0xa3,0xd, 0xa7,0x74,0x10,0xa4,0x7a,0x55,0x42,0x7e,0xb3,0x1,
+0x4d,0x70,0x2, 0xa1,0x45,0x7e,0xb3,0x1, 0x60,0x70,0x2, 0xa1,0x45,0x7e,0x35,0x40,
+0x6d,0x22,0x7e,0x33,0xa, 0xb0,0xa, 0x13,0x6d,0x0, 0x12,0x9a,0x60,0x7e,0x15,0x42,
+0x12,0x9a,0x7a,0x7d,0xd3,0x7e,0x53,0xa, 0xb1,0xa, 0xc5,0xbd,0xcd,0x38,0x2, 0x1,
+0xe3,0x7d,0xdc,0x7e,0xb3,0xd, 0xb8,0x60,0x2, 0xa1,0x35,0xf5,0x44,0x6c,0xcc,0x7e,
+0xa0,0x14,0xac,0xad,0x49,0x25,0x10,0x85,0x49,0x35,0x10,0x89,0xbd,0x32,0x68,0x2,
+0x21,0x10,0x49,0x25,0x10,0x87,0x49,0x35,0x10,0x8b,0xbd,0x32,0x78,0x2, 0xa1,0x20,
+0x7e,0x35,0x3e,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x6d,0x22,0x7f,0x71,0x7e,
+0xc7,0x1, 0xcb,0x7d,0x3c,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x7d,0x13,0x6d,
+0x0, 0xbf,0x7, 0x8, 0x2, 0x21,0x46,0x7e,0xb5,0x3a,0x7d,0x1b,0x9d,0x13,0x6d,0x0,
+0xbf,0x7, 0x48,0x2, 0x21,0x4b,0x75,0x4b,0x34,0x21,0x97,0x7d,0x3c,0x1e,0x34,0x1e,
+0x34,0x1e,0x34,0x7d,0x13,0x6d,0x0, 0xbf,0x7, 0x8, 0x2, 0x21,0x8f,0x7d,0x1b,0x9d,
+0x13,0x6d,0x0, 0xbf,0x7, 0x48,0x2, 0x21,0x6b,0x21,0x8f,0x7e,0x54,0x0, 0xc, 0x7d,
+0x9c,0x8d,0x95,0x7d,0x4b,0x1e,0x44,0x7d,0x14,0x9d,0x19,0x6d,0x0, 0xbf,0x7, 0x48,
+0x2, 0x21,0x94,0x7d,0x14,0x2d,0x19,0x6d,0x0, 0xbf,0x7, 0x18,0x2, 0x21,0x94,0x75,
+0x4b,0x20,0x21,0x97,0x75,0x4b,0x19,0x7e,0xa0,0x14,0xac,0xad,0x49,0x25,0x10,0x85,
+0x7e,0x35,0x3c,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x9d,0x32,0x12,0x9c,0xec,
+0x1a,0x26,0x1a,0x24,0x7f,0x51,0x7e,0xa0,0x14,0xac,0xad,0x49,0x25,0x10,0x87,0x7e,
+0x35,0x3e,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x9d,0x32,0x12,0x9c,0xec,0x1a,
+0x26,0x1a,0x24,0x7f,0x71,0x7d,0x2f,0x7d,0x3b,0x2d,0x32,0x7d,0xc3,0xbe,0xc4,0x0,
+0x7, 0x18,0x2, 0x41,0x47,0xbe,0x58,0x0, 0x0, 0x68,0x2, 0x21,0xf3,0x7f,0x15,0xb,
+0x1c,0x7f,0x51,0xbe,0x78,0x0, 0x0, 0x68,0x2, 0x41,0x1, 0x7f,0x17,0xb, 0x1c,0x7f,
+0x71,0x7e,0x14,0x0, 0x64,0x7f,0x17,0x12,0x9a,0x71,0x7f,0x5, 0x12,0x9a,0xcd,0x7f,
+0x41,0xe5,0x4b,0xa, 0x1b,0x6d,0x0, 0xbf,0x4, 0x18,0x2, 0x41,0x21,0xb, 0xc0,0x41,
+0x47,0xbe,0x48,0x0, 0x64,0x18,0x2, 0x41,0x47,0x7e,0x14,0x0, 0x64,0x7f,0x15,0x12,
+0x9a,0x71,0x7f,0x7, 0x12,0x9a,0xcd,0x7f,0x41,0xe5,0x4b,0xa, 0x1b,0x6d,0x0, 0xbf,
+0x4, 0x18,0x2, 0x41,0x47,0x5, 0x44,0x7e,0xa0,0x14,0xac,0xad,0x49,0x25,0x10,0x85,
+0x49,0x35,0x10,0x89,0x9d,0x32,0x12,0x9c,0xec,0x1a,0x26,0x1a,0x24,0x7f,0x51,0x7e,
+0xa0,0x14,0xac,0xad,0x49,0x25,0x10,0x87,0x49,0x35,0x10,0x8b,0x9d,0x32,0x12,0x9c,
+0xec,0x1a,0x26,0x1a,0x24,0x7f,0x71,0xbe,0x58,0x0, 0x0, 0x68,0x2, 0x41,0x85,0x7f,
+0x15,0xb, 0x1c,0x7f,0x51,0xbe,0x78,0x0, 0x0, 0x68,0x2, 0x41,0x93,0x7f,0x17,0xb,
+0x1c,0x7f,0x71,0x7e,0x14,0x0, 0x64,0x7f,0x17,0x12,0x9a,0x71,0x7f,0x5, 0x12,0x9a,
+0xcd,0x7f,0x41,0xe5,0x4b,0xa, 0x1b,0x6d,0x0, 0xbf,0x4, 0x18,0x2, 0x41,0xb3,0xb,
+0xc0,0x41,0xd9,0xbe,0x48,0x0, 0x64,0x18,0x2, 0x41,0xd9,0x7e,0x14,0x0, 0x64,0x7f,
+0x15,0x12,0x9a,0x71,0x7f,0x7, 0x12,0x9a,0xcd,0x7f,0x41,0xe5,0x4b,0xa, 0x1b,0x6d,
+0x0, 0xbf,0x4, 0x18,0x2, 0x41,0xd9,0x5, 0x44,0x7e,0xa0,0x14,0xac,0xad,0x49,0x35,
+0x10,0x8d,0x49,0x25,0x10,0x8f,0x49,0x15,0x10,0x85,0x49,0x5, 0x10,0x87,0x12,0x84,
+0x95,0x7d,0x23,0x7a,0x25,0x49,0xbd,0x2c,0x8, 0x2, 0xa1,0xc, 0xe5,0x4b,0xbe,0xb0,
+0x34,0x7f,0x14,0x50,0x2, 0x61,0x1a,0x2e,0x18,0x0, 0xf, 0x7d,0x1d,0x12,0x9a,0x71,
+0x2f,0x11,0x2f,0x11,0x7e,0x8, 0x0, 0x5a,0x61,0x2b,0x2e,0x18,0x0, 0xf, 0x7d,0x1d,
+0x12,0x9a,0x71,0x2f,0x11,0x2f,0x11,0x7e,0x8, 0x0, 0x4b,0x12,0x9a,0xcd,0x7f,0x41,
+0xe5,0x44,0x60,0x2, 0x81,0xaf,0x4c,0xcc,0x68,0x2, 0x81,0xaf,0x7e,0xa0,0x14,0xac,
+0xad,0x49,0x15,0x10,0x85,0x6d,0x0, 0x49,0x35,0x10,0x8d,0x6d,0x22,0x9f,0x10,0x7f,
+0x51,0x7d,0x3c,0x7d,0x2b,0x7e,0x15,0x49,0x12,0x85,0xcf,0x7d,0xf3,0x1a,0x36,0x1a,
+0xe6,0x7a,0x7d,0x45,0x7e,0xa0,0x14,0xac,0xad,0x49,0x15,0x10,0x85,0x6d,0x0, 0x7f,
+0x17,0x2f,0x10,0x7a,0x1d,0x45,0x7e,0xa0,0x5, 0xac,0xae,0x49,0x15,0x1, 0x66,0x6d,
+0x0, 0x7e,0x1d,0x45,0x2f,0x10,0x7a,0x1d,0x45,0x7e,0x7d,0x45,0xbe,0x78,0x0, 0x0,
+0x58,0x2, 0x61,0xb5,0x7e,0xa0,0x6, 0xac,0xad,0x49,0x35,0xe, 0xad,0x4d,0x33,0x68,
+0x2, 0x61,0xb5,0x7e,0x8, 0x0, 0x2, 0x7f,0x17,0x12,0x9a,0xcd,0x7e,0xa0,0x5, 0xac,
+0xae,0x59,0x35,0x1, 0x66,0x7e,0xa0,0x14,0xac,0xad,0x49,0x15,0x10,0x87,0x6d,0x0,
+0x7e,0xa0,0x14,0xac,0xad,0x49,0x35,0x10,0x8f,0x6d,0x22,0x9f,0x10,0x7f,0x71,0x7d,
+0x3c,0x7d,0x2f,0x7e,0x15,0x49,0x12,0x85,0xcf,0x1a,0x26,0x1a,0x24,0x7a,0x1d,0x45,
+0x7e,0xa0,0x14,0xac,0xad,0x49,0x15,0x10,0x87,0x6d,0x0, 0x7e,0x1d,0x45,0x2f,0x10,
+0x7a,0x1d,0x45,0x7e,0xa0,0x5, 0xac,0xae,0x49,0x15,0x1, 0x68,0x6d,0x0, 0x7e,0x1d,
+0x45,0x2f,0x10,0x7a,0x1d,0x45,0xbe,0x18,0x0, 0x0, 0x58,0x2, 0x81,0x30,0x7e,0xa0,
+0x6, 0xac,0xad,0x49,0x35,0xe, 0xad,0x4d,0x33,0x68,0x2, 0x81,0x30,0x7e,0x8, 0x0,
+0x2, 0x7e,0x1d,0x45,0x12,0x9a,0xcd,0x7e,0xa0,0x5, 0xac,0xae,0x59,0x35,0x1, 0x68,
+0x7e,0xa0,0x6, 0x7c,0x9d,0xac,0x9a,0x49,0x34,0xe, 0xa9,0x4d,0x33,0x68,0x2, 0x81,
+0x4d,0x7d,0x3b,0x59,0x34,0xe, 0xa9,0x7d,0x3f,0x59,0x34,0xe, 0xab,0x49,0x34,0xe,
+0xa9,0x1a,0x26,0x1a,0x24,0x7f,0x5, 0x12,0x9a,0x60,0xbe,0x18,0x0, 0x0, 0x58,0x2,
+0x81,0x77,0x49,0x34,0xe, 0xab,0x1a,0x26,0x1a,0x24,0x7f,0x7, 0x12,0x9a,0x60,0xbe,
+0x18,0x0, 0x0, 0x48,0x2, 0x81,0xaf,0x7e,0xa0,0x6, 0xac,0xad,0x49,0xc5,0xe, 0xad,
+0xbe,0xc4,0x0, 0x3, 0x48,0x2, 0x81,0x99,0x74,0x6, 0x7c,0x5d,0xac,0x5b,0x2e,0x24,
+0xe, 0xad,0x7d,0x3c,0xb, 0x34,0x1b,0x28,0x30,0x7d,0x3b,0x7e,0xa0,0x6, 0xac,0xad,
+0x59,0x35,0xe, 0xa9,0x7d,0x3f,0x7e,0xa0,0x6, 0xac,0xad,0x59,0x35,0xe, 0xab,0xe5,
+0x44,0xbe,0xb0,0x2, 0x50,0x2, 0x81,0xcb,0x7e,0xa0,0x6, 0x7c,0x9d,0xac,0x9a,0x49,
+0x24,0xe, 0xad,0xbe,0x24,0x0, 0x2, 0x58,0x2, 0x81,0xd0,0x75,0x44,0x0, 0x81,0xde,
+0x4d,0x22,0x68,0x2, 0x81,0xde,0x7e,0x34,0x0, 0x1, 0x59,0x34,0xe, 0xad,0xbe,0xc0,
+0x2, 0x50,0x2, 0x81,0xf8,0x7e,0xa0,0x6, 0x7c,0x9d,0xac,0x9a,0x49,0x24,0xe, 0xad,
+0xbe,0x24,0x0, 0x2, 0x58,0x2, 0x81,0xfc,0x6c,0xcc,0xa1,0x35,0x4d,0x22,0x68,0x2,
+0xa1,0x35,0x7e,0x34,0x0, 0x1, 0x59,0x34,0xe, 0xad,0xa1,0x35,0x7e,0x34,0x0, 0x2,
+0x7e,0xa0,0x6, 0xac,0xad,0x59,0x35,0xe, 0xad,0x75,0x44,0x0, 0x6c,0xcc,0xa1,0x35,
+0x6d,0xcc,0x7e,0xa0,0x6, 0x7c,0x9d,0xac,0x9a,0x59,0xc4,0xe, 0xa9,0x59,0xc4,0xe,
+0xab,0x59,0xc4,0xe, 0xad,0xbe,0xd4,0x0, 0x80,0x38,0x2, 0xa1,0x9f,0x7e,0x34,0x1,
+0x0, 0x7d,0xd3,0xa1,0x9f,0x7e,0xf5,0x42,0xbd,0xfc,0x28,0x2, 0xa1,0x50,0xa1,0x7a,
+0x7e,0x35,0x40,0x6d,0x22,0x7c,0x56,0x7c,0x67,0x6c,0x77,0x7d,0x1f,0x12,0x9a,0x7a,
+0x7d,0xd3,0xbe,0xd4,0x0, 0x10,0x40,0x2, 0xa1,0x72,0x7e,0x34,0x0, 0x10,0x7d,0xd3,
+0xa1,0x80,0xbe,0xd4,0x0, 0x80,0x38,0x2, 0xa1,0x80,0x7e,0x34,0x1, 0x0, 0x7d,0xd3,
+0x7e,0xa0,0x2, 0xac,0xad,0x49,0x35,0xe, 0x85,0xbd,0x3c,0x38,0x2, 0xa1,0x97,0x49,
+0x35,0xe, 0x8b,0x7d,0xd3,0xa1,0x9b,0x59,0xd5,0xe, 0x8b,0x59,0xc5,0xe, 0x85,0x7e,
+0xb3,0x1, 0x5f,0x70,0x2, 0xa1,0xe0,0x7e,0xb3,0x10,0xed,0x70,0x2, 0xa1,0xe0,0x7e,
+0x53,0x10,0xec,0xa5,0xbd,0x3, 0x2, 0x80,0x2, 0xa1,0xbf,0x6d,0x33,0xa1,0xd9,0xa5,
+0xbd,0x2, 0x2, 0x80,0x2, 0xa1,0xcd,0x7e,0x34,0x0, 0x8, 0xa1,0xd9,0xa5,0xbd,0x1,
+0x2, 0x80,0x2, 0xa1,0xe0,0x7d,0x3d,0x1e,0x34,0x7d,0xd3,0x75,0x44,0x0, 0x6c,0xcc,
+0x7e,0xa0,0x5, 0xac,0xae,0x49,0x35,0x1, 0x66,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,
+0x34,0x7a,0x35,0x3c,0x49,0x35,0x1, 0x68,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,
+0x7a,0x35,0x3e,0x7e,0xb3,0x1, 0x5e,0xb4,0x1, 0x2, 0x80,0x2, 0xc1,0x6f,0x7e,0x8,
+0x1, 0x12,0x7e,0x1f,0x3, 0x30,0x12,0x9a,0xcd,0x7d,0xc3,0xbe,0xc4,0x0, 0x5b,0x38,
+0x2, 0xc1,0x39,0x7d,0x3c,0x9e,0x34,0x0, 0x5b,0x7d,0xc3,0x7e,0x34,0x0, 0x3, 0xad,
+0x3c,0x1e,0x34,0x2e,0x34,0x0, 0x5b,0x7d,0xc3,0xbe,0xc4,0x0, 0x24,0x38,0x2, 0xc1,
+0x59,0x7d,0x3c,0x9e,0x34,0x0, 0x24,0x7d,0xc3,0xbe,0xc4,0x0, 0xff,0x38,0x2, 0xc1,
+0x5d,0x7e,0x34,0x0, 0xff,0x7d,0xc3,0xc1,0x5d,0x6d,0x33,0x7d,0xc3,0xbd,0xcd,0x40,
+0x2, 0xc1,0x6b,0x7d,0x3d,0x9d,0x3c,0x7d,0xd3,0xc1,0x6f,0x6d,0x33,0x7d,0xd3,0x7e,
+0xa0,0x5, 0xac,0xaf,0x49,0x25,0x1, 0x7a,0x7e,0x35,0x3c,0x9d,0x32,0x12,0x9c,0xec,
+0x7d,0xc3,0xe5,0x44,0x70,0x2, 0xc1,0xa3,0x7d,0x3c,0x6d,0x22,0x7f,0x4, 0x12,0x9a,
+0x60,0x74,0xa, 0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x7d,
+0xc3,0xc1,0xaf,0x7d,0x3c,0xad,0x3d,0x7c,0x76,0x7c,0x65,0xa, 0x24,0x7d,0xc3,0x7e,
+0xa0,0x5, 0xac,0xaf,0x49,0x5, 0x1, 0x7a,0xbe,0x5, 0x3c,0x7d,0x25,0x40,0x2, 0xc1,
+0xcb,0x2e,0x24,0x1, 0x7a,0x7d,0x30,0x2d,0x3c,0xc1,0xd3,0x2e,0x24,0x1, 0x7a,0x7d,
+0x30,0x9d,0x3c,0x1b,0x28,0x30,0x49,0x25,0x1, 0x7c,0x7e,0x35,0x3e,0x9d,0x32,0x12,
+0x9c,0xec,0x7d,0xc3,0x4c,0xcc,0x78,0x2, 0xe1,0x5, 0x7d,0x3c,0x6d,0x22,0x7f,0x4,
+0x12,0x9a,0x60,0x74,0xa, 0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,
+0xf4,0x7d,0xc3,0xe1,0x11,0x7d,0x3c,0xad,0x3d,0x7c,0x76,0x7c,0x65,0xa, 0x24,0x7d,
+0xc3,0x7e,0xa0,0x5, 0x7c,0x3f,0xac,0x3a,0x49,0x1, 0x1, 0x7c,0xbe,0x5, 0x3e,0x7d,
+0x21,0x40,0x2, 0xe1,0x2f,0x2e,0x24,0x1, 0x7c,0x7d,0x30,0x2d,0x3c,0xe1,0x37,0x2e,
+0x24,0x1, 0x7c,0x7d,0x30,0x9d,0x3c,0x1b,0x28,0x30,0x7e,0x35,0x3c,0x7e,0xa0,0x4,
+0xac,0xad,0x59,0x35,0xe, 0x8f,0x7e,0x35,0x3e,0x59,0x35,0xe, 0x91,0xda,0x3b,0x22,
+0xca,0xf8,0xc2,0xab,0x7e,0xf3,0xd, 0xf2,0x4c,0xff,0x78,0x6, 0x7e,0xb3,0x0, 0xec,
+0x60,0xa, 0x4c,0xff,0x68,0x19,0x7e,0xb3,0x9, 0x24,0x70,0x13,0x12,0x80,0x59,0x12,
+0x7c,0x43,0x12,0x84,0x62,0x12,0x87,0x6, 0x12,0x87,0x5d,0x74,0x1, 0x80,0x29,0x4c,
+0xff,0x78,0x9, 0x7e,0xb3,0x0, 0xec,0xbe,0xb0,0x1, 0x68,0xb, 0x4c,0xff,0x68,0x20,
+0x7e,0xb3,0x9, 0x24,0xb4,0x1, 0x19,0x12,0x80,0x59,0x12,0x7c,0x43,0x12,0x84,0x62,
+0x12,0x86,0xcf,0x12,0x87,0xe2,0x74,0x2, 0x12,0x82,0x64,0x12,0x87,0xc9,0x80,0x3b,
+0x4c,0xff,0x78,0x9, 0x7e,0xb3,0x0, 0xec,0xbe,0xb0,0x2, 0x68,0xb, 0x4c,0xff,0x68,
+0x2a,0x7e,0xb3,0x9, 0x24,0xb4,0x2, 0x23,0xd2,0xc, 0x12,0x7d,0xb6,0x80,0x19,0x12,
+0x86,0xcf,0x12,0x87,0xe2,0x7e,0x8, 0x9, 0x25,0x12,0x6b,0xa8,0x74,0x2, 0x12,0x82,
+0x64,0x7e,0x34,0x11,0x94,0x12,0x5f,0xf7,0x20,0xc, 0xe4,0x12,0x86,0x2c,0xd2,0xab,
+0x12,0x80,0xaf,0xe4,0x12,0x87,0xa4,0x12,0x84,0x14,0xda,0xf8,0x22,0xff,0xff,0xff,
+0xca,0x79,0xc2,0x10,0x6c,0x11,0x7e,0xb3,0x1, 0x4d,0x70,0x2, 0x1, 0x3f,0x7e,0xb3,
+0x10,0xb5,0xbe,0xb0,0x2, 0x78,0x2, 0x1, 0x24,0x7e,0xb3,0x10,0xb6,0xb4,0x2, 0x2,
+0x80,0x2, 0x1, 0x3f,0x7e,0x33,0x1, 0xb6,0xbe,0x30,0x1, 0x28,0x2, 0x1, 0x3f,0x7e,
+0x33,0x1, 0xb5,0xbe,0x30,0x1, 0x28,0x2, 0x1, 0x3f,0xe4,0x7a,0xb3,0x1, 0xb5,0x6c,
+0x22,0x7e,0x90,0x5, 0xac,0x92,0x49,0xf4,0x1, 0x66,0x4d,0xff,0x78,0x2, 0x1, 0x58,
+0xbe,0xf4,0x1, 0xc2,0x38,0x2, 0x1, 0x8e,0x7e,0xe4,0x1, 0xc4,0x59,0xe4,0x1, 0x66,
+0x7e,0x70,0x6, 0xac,0x72,0x49,0x23,0x1, 0x90,0x49,0x34,0x1, 0x68,0x9d,0x32,0x12,
+0x9c,0xec,0xbe,0x34,0x0, 0xf, 0x18,0x2, 0x1, 0xc7,0x7e,0x70,0x6, 0xac,0x72,0x49,
+0xe3,0x1, 0x90,0x7e,0x70,0x5, 0xac,0x72,0x59,0xe3,0x1, 0x68,0x1, 0xc7,0xbe,0xf4,
+0x0, 0x6, 0x28,0x2, 0x1, 0xc7,0x7e,0x34,0x0, 0x6, 0x59,0x34,0x1, 0x66,0xac,0x72,
+0x49,0x23,0x1, 0x90,0x49,0x34,0x1, 0x68,0x9d,0x32,0x12,0x9c,0xec,0xbe,0x34,0x0,
+0xf, 0x18,0x2, 0x1, 0xc7,0x7e,0x70,0x6, 0xac,0x72,0x49,0x43,0x1, 0x90,0x7e,0x70,
+0x5, 0xac,0x72,0x59,0x43,0x1, 0x68,0x7e,0x50,0x5, 0xac,0x52,0x49,0x32,0x1, 0x68,
+0xbe,0x34,0x1, 0xc9,0x68,0x2, 0x1, 0xe2,0x7e,0x33,0x2, 0x12,0xa, 0x33,0x59,0x32,
+0x1, 0x68,0xb, 0x20,0xa5,0xba,0x2, 0x2, 0x80,0x2, 0x1, 0x41,0x6c,0x22,0x7e,0x30,
+0xff,0x7e,0x70,0x5, 0xac,0x72,0x19,0x33,0x1, 0x6a,0x7c,0x2, 0x2e,0x0, 0x27,0x74,
+0xff,0xa5,0xf6,0x7e,0x24,0xff,0xff,0x7c,0xb2,0x3e,0xb0,0x24,0x23,0xa, 0x3b,0x1b,
+0x38,0x20,0x7c,0x2, 0x2e,0x0, 0x29,0xe4,0xa5,0xf6,0xb, 0x20,0xa5,0xba,0x2, 0xce,
+0x7e,0xb3,0x1, 0xb5,0x60,0x2, 0x21,0x65,0x7e,0x33,0x1, 0x4d,0x4c,0x33,0x78,0x2,
+0x21,0x3a,0x7e,0xb3,0x1, 0xb6,0x70,0x2, 0x21,0x4a,0xa5,0xbb,0x0, 0x2, 0x80,0x2,
+0x21,0x65,0x7e,0xb3,0x1, 0xb6,0x70,0x2, 0x21,0x65,0x6c,0x22,0x7e,0x44,0x7f,0xff,
+0x7e,0x70,0x6, 0xac,0x72,0x59,0x43,0x1, 0x8e,0x59,0x43,0x1, 0x90,0xb, 0x20,0xa5,
+0xba,0x2, 0xe9,0x81,0x57,0x7e,0xb3,0x1, 0xb6,0x60,0x2, 0x21,0xa4,0x6c,0x22,0x21,
+0x9a,0x7e,0x90,0x5, 0xac,0x92,0x49,0x34,0x1, 0x66,0x7e,0x50,0x6, 0xac,0x52,0x59,
+0x32,0x1, 0x8e,0x49,0x34,0x1, 0x68,0x59,0x32,0x1, 0x90,0x19,0x24,0x1, 0x6a,0x7c,
+0x2, 0x2e,0x0, 0x29,0x74,0x1, 0xa5,0xf6,0xb, 0x20,0x7e,0x33,0x1, 0xb5,0xbc,0x32,
+0x38,0xcf,0x81,0x57,0x6c,0x22,0x41,0x2, 0x6c,0xaa,0x7e,0x70,0x6, 0xac,0x7a,0x49,
+0x23,0x1, 0x90,0x7e,0x70,0x5, 0xac,0x72,0x49,0x33,0x1, 0x68,0x9d,0x32,0x12,0x9c,
+0xec,0x7d,0x43,0x7e,0x70,0x6, 0xac,0x7a,0x49,0x23,0x1, 0x8e,0x7e,0x70,0x5, 0xac,
+0x72,0x49,0x33,0x1, 0x66,0x9d,0x32,0x12,0x9c,0xec,0x2d,0x43,0x7c,0xb2,0x3e,0xb0,
+0x24,0x23,0xa, 0x3b,0xb, 0x38,0x20,0xbd,0x24,0x38,0x2, 0x21,0xf9,0x7c,0x2, 0x2e,
+0x0, 0x27,0x7c,0xba,0xa5,0xf6,0x1b,0x38,0x40,0xb, 0xa0,0xbe,0xa0,0x2, 0x78,0xaa,
+0xb, 0x20,0x7e,0x33,0x1, 0xb5,0xbc,0x32,0x38,0x9e,0x6c,0x22,0x41,0xde,0xd2,0x10,
+0x6c,0xaa,0x41,0x52,0xbc,0xa2,0x78,0x2, 0x41,0x50,0x7c,0xa, 0x2e,0x0, 0x27,0xa5,
+0xe6,0x7c,0x3b,0x7c,0x2, 0x2e,0x0, 0x27,0xa5,0xe6,0xbc,0xb3,0x68,0x2, 0x41,0x50,
+0x7c,0xba,0x3e,0xb0,0x24,0x23,0xa, 0x3b,0xb, 0x38,0x20,0x7c,0xb2,0x3e,0xb0,0x24,
+0x23,0xa, 0x3b,0xb, 0x38,0x30,0xbd,0x32,0x50,0x2, 0x41,0x50,0xc2,0x10,0x41,0x5a,
+0xb, 0xa0,0x7e,0x33,0x1, 0xb5,0xbc,0x3a,0x38,0xba,0x7e,0xb3,0x1, 0x4d,0x70,0x2,
+0x41,0xa0,0x7c,0x2, 0x2e,0x0, 0x27,0xa5,0xe6,0xa, 0x4b,0x9, 0xb4,0x10,0xb5,0xb4,
+0x2, 0x2, 0x80,0x2, 0x41,0x7a,0xc2,0x10,0x41,0xa0,0xb4,0x1, 0x2, 0x80,0x2, 0x41,
+0xa0,0x7e,0x33,0x1, 0xb5,0xbe,0x30,0x2, 0x50,0x2, 0x41,0x9e,0x7e,0x33,0x1, 0xb6,
+0xbe,0x30,0x2, 0x50,0x2, 0x41,0x9e,0xe4,0x19,0xb4,0x10,0xb5,0x41,0xa0,0xc2,0x10,
+0x20,0x10,0x2, 0x41,0xdc,0x7c,0x2, 0x2e,0x0, 0x27,0xa5,0xe6,0x7c,0x3b,0xbe,0x30,
+0x2, 0x40,0x2, 0x41,0xdc,0x7c,0x3, 0x2e,0x0, 0x29,0x74,0x1, 0xa5,0xf6,0x7e,0x70,
+0x5, 0xac,0x72,0x19,0x33,0x1, 0x6a,0x49,0x43,0x1, 0x66,0x7e,0x50,0x6, 0xac,0x53,
+0x59,0x42,0x1, 0x8e,0x49,0x33,0x1, 0x68,0x59,0x32,0x1, 0x90,0xb, 0x20,0x7e,0x3,
+0x1, 0xb5,0xbc,0x2, 0x28,0x2, 0x41,0xe, 0x6c,0x22,0x61,0x4e,0x7e,0x70,0x5, 0xac,
+0x72,0x9, 0xb3,0x1, 0x6a,0xb4,0xff,0x2, 0x80,0x2, 0x61,0x4c,0x6c,0xaa,0x7c,0xa,
+0x2e,0x0, 0x29,0xa5,0xe6,0x60,0x2, 0x61,0x45,0x7e,0xb3,0x1, 0x4d,0x70,0x2, 0x61,
+0x21,0xa, 0x3a,0x9, 0xb3,0x10,0xb5,0x60,0x2, 0x61,0x1d,0x61,0x21,0xb, 0x10,0x61,
+0x45,0x74,0x1, 0xa5,0xf6,0x7e,0x90,0x5, 0xac,0x92,0x49,0x34,0x1, 0x66,0x7e,0x50,
+0x6, 0xac,0x5a,0x59,0x32,0x1, 0x8e,0x49,0x34,0x1, 0x68,0x59,0x32,0x1, 0x90,0x19,
+0xa4,0x1, 0x6a,0x61,0x4c,0xb, 0xa0,0xbe,0xa0,0x2, 0x40,0xb2,0xb, 0x20,0x7e,0x33,
+0x1, 0xb5,0xbc,0x32,0x38,0x96,0x7e,0xb3,0x1, 0x4d,0x70,0x2, 0x81,0x33,0x4c,0x11,
+0x78,0x2, 0x61,0xa0,0x4c,0x33,0x78,0x2, 0x61,0xa0,0xbc,0x31,0x50,0x2, 0x61,0xa0,
+0x7e,0x33,0x1, 0x6a,0xbe,0x30,0x2, 0x50,0x2, 0x61,0x96,0x7e,0x33,0x1, 0x6f,0xbe,
+0x30,0x2, 0x40,0x2, 0x61,0x96,0x7e,0x1f,0x1, 0x6c,0x7e,0x33,0x1, 0x6b,0x7a,0x1f,
+0x1, 0x67,0x7a,0x33,0x1, 0x66,0x7e,0xb3,0x1, 0xb5,0x9c,0xb1,0x7a,0xb3,0x1, 0xb5,
+0x7e,0x33,0x1, 0xb6,0xbe,0x33,0x1, 0xb5,0x38,0x2, 0x81,0x2a,0x6c,0x22,0x7c,0x12,
+0x2e,0x10,0x29,0xa5,0xe7,0x60,0x2, 0x81,0x1b,0x7e,0xf0,0x6, 0xac,0xf2,0x49,0xf7,
+0x1, 0x8e,0xbe,0xf4,0x7f,0xff,0x78,0x2, 0x81,0x1b,0xa, 0x42,0x9, 0x74,0x10,0xb5,
+0xbe,0x70,0x2, 0x40,0x2, 0x81,0x1b,0x49,0x27,0x1, 0x90,0xbe,0x27,0x1, 0xcb,0x40,
+0x2, 0x81,0x1b,0x9, 0xb4,0x10,0xb1,0x70,0x2, 0x81,0x1b,0x74,0x1, 0xa5,0xf7,0x7e,
+0x33,0x1, 0xb5,0x7c,0xa3,0x7e,0x10,0x5, 0xac,0x1a,0x59,0xf0,0x1, 0x66,0x59,0x20,
+0x1, 0x68,0x19,0x20,0x1, 0x6a,0x7d,0x4, 0x2e,0x4, 0x10,0xb5,0x7c,0xb7,0x4, 0x7a,
+0x9, 0xb0,0x7c,0xb3,0x4, 0x7a,0xb3,0x1, 0xb5,0x81,0x22,0xe4,0xa, 0x42,0x19,0xb4,
+0x10,0xb5,0xb, 0x20,0xa5,0xba,0x2, 0x86,0x81,0x33,0xe4,0x7a,0xb3,0x10,0xb5,0x7a,
+0xb3,0x10,0xb6,0x6c,0x22,0x7c,0x12,0x2e,0x10,0x29,0xa5,0xe7,0x60,0x2, 0x81,0x51,
+0x7e,0x44,0x7f,0xff,0x7e,0x70,0x6, 0xac,0x72,0x59,0x43,0x1, 0x8e,0x59,0x43,0x1,
+0x90,0xb, 0x20,0xa5,0xba,0x2, 0xde,0x7e,0xa3,0x1, 0xb5,0x6c,0x22,0x7c,0x12,0x2e,
+0x10,0x29,0xa5,0xe7,0xb4,0x1, 0x2, 0x80,0x2, 0x81,0x8b,0x7e,0x10,0x6, 0xac,0x12,
+0x9, 0xb0,0x1, 0x92,0xbe,0xb0,0x3, 0x78,0x2, 0x81,0x82,0xb4,0x1, 0x2, 0x80,0x2,
+0x81,0x86,0x6c,0x33,0x81,0xbb,0x7e,0x30,0x2, 0x81,0xbb,0x7e,0x10,0x6, 0xac,0x12,
+0x9, 0xb0,0x1, 0x92,0xbe,0xb0,0x2, 0x78,0x2, 0x81,0x9f,0x60,0x2, 0x81,0xb8,0x7e,
+0x30,0x1, 0xbe,0xa0,0x2, 0x40,0x2, 0x81,0xbb,0x7c,0xa, 0xb, 0xa0,0x7e,0x10,0x5,
+0xac,0x1, 0x19,0x20,0x1, 0x6a,0x81,0xbb,0x7e,0x30,0x3, 0xbe,0x30,0xff,0x78,0x2,
+0x81,0xcb,0x7e,0x10,0x6, 0xac,0x12,0x19,0x30,0x1, 0x93,0xb, 0x20,0xbe,0x20,0x2,
+0x40,0x8b,0xda,0x79,0x22,0xca,0x3b,0x20,0x6, 0x2, 0xe1,0xc9,0x7e,0xa3,0x1, 0xb5,
+0x7a,0xa1,0x26,0x7e,0xb3,0x1, 0xb6,0xf5,0x27,0x7e,0x77,0x9, 0x14,0x7e,0x67,0x9,
+0x16,0x7e,0xb3,0x9, 0x12,0xf5,0x24,0x7e,0xb3,0x9, 0x13,0xf5,0x25,0x7e,0x37,0x1,
+0xc9,0x7a,0x35,0x34,0x7e,0x37,0x1, 0xcb,0x7a,0x35,0x36,0x4c,0xaa,0x78,0x4, 0xc2,
+0x7, 0xe1,0xc9,0xe5,0x26,0xbe,0xb0,0x1, 0x38,0x2, 0xa1,0xc5,0x75,0x23,0x0, 0xa1,
+0xb8,0x7e,0xa1,0x23,0x74,0x5, 0xa4,0x49,0x45,0x1, 0x66,0x7a,0x45,0x30,0x49,0x35,
+0x1, 0x68,0x7a,0x35,0x32,0x7e,0x73,0x9, 0x64,0xbe,0x70,0x0, 0x28,0x10,0x7e,0x35,
+0x34,0xbe,0x35,0x30,0x28,0x70,0x7e,0x35,0x36,0xbe,0x35,0x32,0x28,0x68,0x7e,0x35,
+0x30,0x7d,0x27,0x12,0x87,0xb8,0x7a,0x35,0x38,0x7e,0x35,0x32,0x7d,0x27,0x12,0x87,
+0xb8,0x7d,0x23,0x7a,0x25,0x3a,0x7e,0x35,0x38,0x12,0x81,0x2, 0x7a,0x35,0x28,0xbd,
+0x36,0x28,0x43,0x7a,0x65,0x2a,0x7e,0x35,0x28,0xbe,0x34,0x0, 0x1, 0x50,0x7, 0x7e,
+0x34,0x0, 0x1, 0x7a,0x35,0x28,0x7e,0x35,0x38,0x7e,0x25,0x2a,0x7e,0x15,0x28,0x7d,
+0x7, 0x12,0x83,0xc5,0x7e,0xa1,0x23,0x74,0x5, 0xa4,0x59,0x35,0x1, 0x66,0x7e,0x35,
+0x3a,0x7e,0x25,0x2a,0x7e,0x15,0x28,0x7d,0x7, 0x12,0x83,0xc5,0x7e,0xa1,0x23,0x74,
+0x5, 0xa4,0x59,0x35,0x1, 0x68,0x5, 0x23,0xe5,0x26,0xbe,0xb1,0x23,0x28,0x2, 0xa1,
+0x21,0xc2,0x7, 0xe1,0xc9,0xe5,0x26,0xb4,0x1, 0x67,0xe5,0x27,0x70,0x63,0x7e,0x37,
+0x1, 0x66,0x7a,0x35,0x30,0x7e,0x37,0x1, 0x68,0x7a,0x35,0x32,0x7e,0x73,0x9, 0x64,
+0xbe,0x70,0x0, 0x28,0x14,0x7e,0x35,0x34,0xbe,0x35,0x30,0x28,0x8, 0x7e,0x35,0x36,
+0xbe,0x35,0x32,0x38,0x4, 0xc2,0x7, 0xe1,0xc9,0x7e,0x35,0x30,0x7d,0x27,0x12,0x87,
+0xb8,0x7a,0x35,0x38,0x7e,0x35,0x32,0x7d,0x27,0x12,0x87,0xb8,0x7d,0x23,0x7a,0x25,
+0x3a,0x7e,0x35,0x38,0x12,0x81,0x2, 0x7a,0x35,0x28,0x7a,0x35,0x2a,0x7e,0x25,0x38,
+0x7a,0x27,0x8, 0xfa,0x7e,0x25,0x3a,0x7a,0x27,0x8, 0xfc,0x7a,0x37,0x8, 0xfe,0xe1,
+0x36,0xe5,0x26,0xb4,0x1, 0x2, 0x80,0x2, 0xe1,0x36,0x7e,0x37,0x1, 0x66,0x7a,0x35,
+0x30,0x7e,0x37,0x1, 0x68,0x7a,0x35,0x32,0x7e,0x73,0x9, 0x64,0xbe,0x70,0x0, 0x28,
+0x14,0x7e,0x35,0x34,0xbe,0x35,0x30,0x28,0x8, 0x7e,0x35,0x36,0xbe,0x35,0x32,0x38,
+0x4, 0xc2,0x7, 0xe1,0xc9,0x7e,0x35,0x30,0x7d,0x27,0x12,0x87,0xb8,0x7a,0x35,0x38,
+0x7e,0x35,0x32,0x7d,0x27,0x12,0x87,0xb8,0x7d,0x23,0x7a,0x25,0x3a,0x7e,0x35,0x38,
+0x12,0x81,0x2, 0x7a,0x35,0x28,0x9e,0x37,0x9, 0xa, 0x12,0x9c,0xec,0x7a,0x35,0x2c,
+0x7e,0x35,0x38,0x9e,0x37,0x8, 0xfa,0x7e,0x25,0x3a,0x9e,0x27,0x8, 0xfc,0x12,0x81,
+0x2, 0x7a,0x35,0x2e,0x7e,0x37,0x9, 0x1a,0xbe,0x35,0x2e,0x50,0x28,0x7e,0x35,0x28,
+0x9e,0x37,0x8, 0xfe,0x12,0x9c,0xec,0x7e,0xa1,0x24,0x74,0x5, 0xa4,0xbd,0x35,0x58,
+0xc, 0x7e,0xa0,0x2, 0xe5,0x24,0xa4,0xf5,0x24,0xd2,0x7, 0x80,0x8, 0x7e,0xb3,0x9,
+0x12,0xf5,0x24,0xc2,0x7, 0x30,0x7, 0x30,0xe5,0x24,0xa, 0x3b,0xbe,0x35,0x2c,0x28,
+0x4, 0x6d,0x33,0x80,0x27,0xe5,0x25,0xa, 0x3b,0xbe,0x35,0x2c,0x28,0x14,0x7e,0x25,
+0x2c,0x7e,0x34,0x0, 0x64,0xad,0x23,0xe5,0x25,0xa, 0x1b,0x6d,0x0, 0x12,0x9a,0x7c,
+0x80,0xa, 0x7e,0x34,0x0, 0x64,0x80,0x4, 0x7e,0x34,0x0, 0x64,0x7a,0x35,0x2c,0x7e,
+0xf7,0x9, 0xa, 0x7d,0x1f,0x6d,0x0, 0x7e,0x35,0x28,0x6d,0x22,0x9f,0x10,0x7e,0x15,
+0x2c,0x12,0x9a,0x71,0x7e,0x8, 0x0, 0x64,0x12,0x9a,0xcd,0x7f,0x1, 0x7d,0x3f,0x6d,
+0x22,0x2f,0x10,0x7a,0x35,0x2a,0x7e,0x35,0x2a,0xbd,0x36,0x38,0x7, 0x7e,0x25,0x28,
+0xbd,0x26,0x28,0x5, 0x7a,0x65,0x2a,0x80,0xb, 0xbe,0x34,0x0, 0x1, 0x50,0x5, 0x6d,
+0x33,0x7a,0x35,0x2a,0x7e,0x35,0x28,0xbe,0x34,0x0, 0x1, 0x50,0x7, 0x7e,0x34,0x0,
+0x1, 0x7a,0x35,0x28,0x7e,0x35,0x38,0x7e,0x25,0x2a,0x7e,0x15,0x28,0x7d,0x7, 0x12,
+0x83,0xc5,0x7a,0x37,0x1, 0x66,0x7e,0x35,0x3a,0x7e,0x25,0x2a,0x7e,0x15,0x28,0x7d,
+0x7, 0x12,0x83,0xc5,0x7d,0x23,0x7a,0x27,0x1, 0x68,0x7e,0x37,0x1, 0x66,0x7a,0x35,
+0x30,0x7a,0x25,0x32,0x7d,0x27,0x12,0x87,0xb8,0x7a,0x35,0x38,0x7e,0x35,0x32,0x7d,
+0x27,0x12,0x87,0xb8,0x7a,0x35,0x3a,0x7e,0x35,0x2a,0x7a,0x37,0x9, 0xa, 0x7e,0x27,
+0x9, 0x1a,0xbe,0x25,0x2e,0x50,0x12,0x7e,0x25,0x38,0x7a,0x27,0x8, 0xfa,0x7e,0x25,
+0x3a,0x7a,0x27,0x8, 0xfc,0x7a,0x37,0x8, 0xfe,0xda,0x3b,0x22,0x7e,0xb3,0xf, 0xa5,
+0xb4,0x1, 0x2, 0xc3,0x22,0x53,0xca,0xe1,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xaa,
+0xb, 0xa, 0x30,0x5e,0x60,0x3f,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0,
+0xac,0xb, 0xa, 0x30,0x5e,0x70,0xfc,0x1b,0xa, 0x30,0x75,0xcf,0x1f,0xd3,0x22,0xff,
+0xca,0x3b,0x7e,0xe3,0x1, 0xb5,0x7e,0xf7,0x1, 0xc9,0x7e,0xe7,0x1, 0xcb,0x4c,0xee,
+0x68,0x2, 0x1, 0x2e,0x6c,0xff,0xe4,0xa, 0x3f,0x19,0xb3,0x10,0xb3,0x19,0xb3,0x10,
+0xb1,0x19,0xb3,0x10,0xb5,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xea,0x81,0x6a,0x6c,0xff,
+0x7e,0x90,0x6, 0xac,0x9f,0x49,0x34,0x1, 0x8e,0xbe,0x34,0x7f,0xff,0x68,0x2, 0x1,
+0x52,0xe4,0xa, 0x2f,0x19,0xb2,0x10,0xb3,0x19,0xb2,0x10,0xb1,0x19,0xb2,0x10,0xb5,
+0x21,0x26,0xa, 0x2f,0x9, 0xb2,0x10,0xb5,0x60,0x2, 0x21,0x26,0x74,0x2, 0xac,0xbf,
+0x59,0x35,0x10,0xa9,0x49,0x44,0x1, 0x90,0x59,0x45,0x10,0xad,0x49,0x35,0x10,0xa9,
+0x49,0x25,0x10,0xad,0x74,0x14,0xac,0xbf,0x49,0x15,0x10,0x8d,0x49,0x5, 0x10,0x8f,
+0x12,0x84,0x95,0x7d,0xd3,0x74,0x14,0xac,0xbf,0x49,0x35,0x10,0x8d,0x49,0x25,0x10,
+0x8f,0x49,0x15,0x10,0x81,0x49,0x5, 0x10,0x83,0x12,0x84,0x95,0x7d,0xc3,0xa, 0x3f,
+0x9, 0x53,0x10,0xb3,0xbe,0x50,0x2, 0x50,0x2, 0x21,0x21,0x74,0x2, 0xac,0xbf,0x49,
+0x45,0x10,0xa9,0x7d,0x1f,0x1e,0x14,0x1e,0x14,0x1e,0x14,0xbd,0x14,0x28,0x2, 0x1,
+0xe9,0x7d,0x2f,0x9d,0x21,0xbd,0x24,0x50,0x2, 0x1, 0xe9,0x49,0x15,0x10,0xad,0x7d,
+0xe, 0x1e,0x4, 0x1e,0x4, 0x1e,0x4, 0x1e,0x4, 0xbd,0x1, 0x28,0x2, 0x1, 0xe9,0x7d,
+0x2e,0x9d,0x20,0xbd,0x21,0x40,0x2, 0x1, 0xfd,0x7e,0x17,0x1, 0xc9,0x7e,0x4, 0x0,
+0xa, 0x8d,0x10,0xbd,0x1d,0x40,0x2, 0x1, 0xfd,0x74,0x1, 0x21,0x22,0x7e,0x17,0x1,
+0xc9,0x7e,0x44,0x0, 0xa, 0x7d,0x51,0x8d,0x54,0xbd,0x5d,0x40,0x2, 0x21,0x1e,0x7e,
+0x4, 0x0, 0x6, 0x8d,0x10,0xbd,0x1c,0x40,0x2, 0x21,0x1e,0xe4,0x21,0x22,0xe4,0x21,
+0x22,0xe4,0x19,0xb3,0x10,0xb1,0xb, 0xf0,0xbe,0xf0,0x2, 0x68,0x2, 0x1, 0x30,0x6c,
+0xff,0x81,0x64,0x74,0x5, 0xac,0xbf,0x9, 0xd5,0x1, 0x88,0x49,0xd5,0x1, 0x84,0x49,
+0xc5,0x1, 0x86,0xa, 0x3d,0x9, 0xb3,0x10,0xb3,0x60,0x2, 0x21,0x6a,0x6c,0xcc,0x7e,
+0x50,0x14,0xac,0x5d,0x7e,0x70,0x4, 0xac,0x7c,0x2d,0x32,0x59,0xd3,0x10,0x81,0x59,
+0xc3,0x10,0x83,0xb, 0xc0,0xbe,0xc0,0x5, 0x78,0xe5,0xa, 0x3d,0x9, 0xb3,0x10,0xb3,
+0xbe,0xb0,0x5, 0x40,0x2, 0x21,0x81,0xa, 0x3d,0x2e,0x34,0x10,0xb3,0x4, 0x7a,0x39,
+0xb0,0xa, 0x3d,0x9, 0x13,0x10,0xb3,0xbe,0x10,0x1, 0x38,0x2, 0x41,0x4e,0xa, 0x3d,
+0x9, 0xb3,0x10,0xb5,0x60,0x2, 0x41,0x4e,0x7e,0xb3,0x1, 0x4d,0x70,0x2, 0x21,0xd2,
+0x7e,0xb3,0x1, 0x61,0x70,0x2, 0x21,0xd2,0x74,0x14,0xac,0xbd,0x49,0x35,0x10,0x91,
+0x49,0x25,0x10,0x8d,0x2d,0x23,0x7a,0x25,0x23,0x49,0x15,0x10,0x93,0x49,0x35,0x10,
+0x8f,0x2d,0x31,0x7a,0x35,0x25,0x1e,0x24,0x2d,0xd2,0x1e,0xd4,0x1e,0x34,0x2d,0xc3,
+0x1e,0xc4,0x74,0x14,0xac,0xbd,0x49,0x25,0x10,0x89,0x7d,0x3d,0x9d,0x32,0x12,0x9c,
+0xec,0x7a,0x35,0x23,0x74,0x14,0xac,0xbd,0x49,0x25,0x10,0x8b,0x7d,0x3c,0x9d,0x32,
+0x12,0x9c,0xec,0x7a,0x35,0x25,0x7e,0x24,0x0, 0xa, 0x7d,0x3f,0x8d,0x32,0xbe,0x35,
+0x23,0x50,0x2, 0x41,0xc, 0xbe,0x35,0x25,0x40,0x2, 0x41,0x2c,0x7e,0x30,0x14,0xac,
+0x3d,0x7d,0x31,0x2e,0x34,0x10,0x89,0x2e,0x14,0x10,0x85,0x74,0x4, 0x12,0x9b,0x1,
+0x74,0x14,0xac,0xbd,0x59,0xd5,0x10,0x89,0x59,0xc5,0x10,0x8b,0x7e,0x30,0x14,0xac,
+0x3d,0x7d,0x31,0x2e,0x34,0x10,0x8d,0x2e,0x14,0x10,0x91,0x74,0x4, 0x12,0x9b,0x1,
+0x74,0x14,0xac,0xbd,0x59,0xd5,0x10,0x8d,0x59,0xc5,0x10,0x8f,0x81,0x56,0xa, 0x3d,
+0x9, 0xb3,0x10,0xb5,0x70,0x2, 0x81,0x56,0xbe,0x10,0x3, 0x50,0x2, 0x81,0x56,0xa,
+0x3d,0x9, 0xb3,0x10,0xb1,0x70,0x2, 0x81,0x56,0x74,0x14,0xac,0xbd,0x49,0x25,0x10,
+0x81,0x49,0x35,0x10,0x8d,0x9d,0x32,0x12,0x9c,0xec,0xb, 0x34,0x7a,0x35,0x23,0x74,
+0x14,0xac,0xbd,0x49,0x25,0x10,0x83,0x49,0x35,0x10,0x8f,0x9d,0x32,0x12,0x9c,0xec,
+0xb, 0x34,0x7a,0x35,0x25,0x7e,0x24,0x0, 0xa, 0x7d,0x3f,0x8d,0x32,0xbe,0x35,0x23,
+0x38,0x2, 0x41,0xab,0xbe,0x35,0x25,0x28,0x2, 0x81,0x56,0x74,0x14,0xac,0xbd,0x49,
+0x35,0x10,0x8d,0x49,0x25,0x10,0x8f,0x49,0x15,0x10,0x85,0x49,0x5, 0x10,0x87,0x12,
+0x84,0x95,0xb, 0x34,0x6d,0x22,0x7a,0x1d,0x2b,0x74,0x14,0xac,0xbd,0x49,0x35,0x10,
+0x85,0x49,0x25,0x10,0x87,0x74,0x2, 0xac,0xbd,0x49,0x15,0x10,0xa9,0x49,0x5, 0x10,
+0xad,0x12,0x84,0x95,0x6d,0x22,0x7a,0x1d,0x27,0x74,0x14,0xac,0xbd,0x49,0xa5,0x10,
+0x87,0x49,0xb5,0x10,0x8f,0x9d,0xba,0x7d,0x2b,0x7e,0xd, 0x2b,0x12,0x85,0xcf,0x7d,
+0xb3,0x1a,0x36,0x1a,0xa6,0x74,0x14,0xac,0xbd,0x49,0x35,0x10,0x87,0x6d,0x22,0x2f,
+0x51,0x49,0x35,0x10,0x8f,0x9f,0x51,0x49,0x85,0x10,0x85,0x49,0x95,0x10,0x8d,0x9d,
+0x98,0x7e,0x1d,0x27,0x7d,0x29,0x7e,0xd, 0x2b,0x12,0x85,0xcf,0x7d,0x93,0x1a,0x36,
+0x1a,0x86,0x74,0x14,0xac,0xbd,0x49,0x35,0x10,0x85,0x6d,0x22,0x2f,0x41,0x49,0x35,
+0x10,0x8d,0x9f,0x41,0xa, 0x3d,0x9, 0xb3,0x10,0xb1,0xb4,0x2, 0x2, 0x80,0x2, 0x61,
+0x69,0x7e,0x8, 0x0, 0x2, 0x7f,0x14,0x12,0x9a,0xcd,0x7f,0x41,0x7e,0x8, 0x0, 0x2,
+0x7f,0x15,0x12,0x9a,0xcd,0x7f,0x51,0x61,0xa8,0xa, 0x3d,0x9, 0xb3,0x10,0xb1,0xb4,
+0x1, 0x2, 0x80,0x2, 0x61,0xa8,0x74,0x14,0xac,0xbd,0x49,0x25,0x10,0x85,0x74,0x14,
+0xac,0xbd,0x49,0x35,0x10,0x8d,0xbd,0x32,0x40,0x2, 0x61,0x96,0xbe,0x48,0x0, 0x0,
+0x18,0x2, 0x61,0xa8,0x61,0x9e,0xbe,0x48,0x0, 0x0, 0x48,0x2, 0x61,0xa8,0x6e,0x94,
+0xff,0xff,0x6e,0x84,0xff,0xff,0xb, 0x4c,0xa, 0x3d,0x9, 0xb3,0x10,0xb5,0xb4,0x1,
+0x2, 0x80,0x2, 0x61,0xd4,0x7f,0x14,0x2f,0x11,0x7e,0x8, 0x0, 0x5, 0x12,0x9a,0xcd,
+0x7f,0x41,0x74,0x14,0xac,0xbd,0x49,0x35,0x10,0x8d,0x6d,0x22,0x2f,0x41,0x7f,0x15,
+0x2f,0x11,0x61,0xfb,0x7e,0x14,0x0, 0x6, 0x7f,0x14,0x12,0x9a,0x71,0x7e,0x8, 0x0,
+0x5, 0x12,0x9a,0xcd,0x7f,0x41,0x74,0x14,0xac,0xbd,0x49,0x35,0x10,0x8d,0x6d,0x22,
+0x2f,0x41,0x7e,0x14,0x0, 0x6, 0x7f,0x15,0x12,0x9a,0x71,0x7e,0x8, 0x0, 0x5, 0x12,
+0x9a,0xcd,0x7f,0x51,0x74,0x14,0xac,0xbd,0x49,0x35,0x10,0x8f,0x6d,0x22,0x2f,0x51,
+0x7d,0x39,0x7d,0x1f,0x1b,0x14,0x12,0x87,0x35,0x7d,0x93,0x6d,0x88,0x7d,0x3b,0x7d,
+0x1e,0x1b,0x14,0x12,0x87,0x35,0x7d,0xb3,0x6d,0xaa,0xbe,0x48,0x0, 0x0, 0x68,0x2,
+0x81,0x3c,0x74,0x14,0xac,0xbd,0x49,0xd5,0x10,0x8d,0x81,0x3e,0x7d,0xd9,0x7d,0x3e,
+0x1b,0x34,0x6d,0x22,0xbf,0x51,0x58,0x2, 0x81,0x54,0x74,0x14,0xac,0xbd,0x49,0xc5,
+0x10,0x8f,0x81,0x56,0x7d,0xcb,0x74,0x5, 0xac,0xbf,0x59,0xd5,0x1, 0x84,0x59,0xc5,
+0x1, 0x86,0xb, 0xf0,0xbc,0xef,0x28,0x2, 0x21,0x33,0xda,0x3b,0x22,0xca,0x3b,0x7e,
+0xa3,0xd, 0xa2,0x74,0x64,0xa4,0x7d,0x65,0x6c,0xee,0x9f,0x22,0x7f,0x72,0x7a,0x2f,
+0xc, 0xa4,0x7a,0x2f,0xc, 0xa8,0x7a,0x2f,0xc, 0xac,0x7a,0x2f,0xc, 0xb0,0x7a,0x2f,
+0xc, 0xb4,0x7f,0x42,0x7f,0x52,0x7f,0x62,0x7e,0xb3,0x1, 0x27,0xb4,0x1, 0x11,0x7e,
+0x73,0x11,0x49,0xbe,0x70,0x0, 0x28,0x8, 0x7e,0x37,0x11,0x46,0x2d,0x36,0x7d,0x63,
+0x6c,0xff,0x80,0x18,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x15,0xa, 0xb4,0x49,0x5, 0xa,
+0xb2,0xbf,0x70,0x58,0x5, 0x7f,0x70,0x7a,0xf1,0x23,0xb, 0xf0,0xe5,0x13,0xbc,0xbf,
+0x38,0xe2,0x7d,0x16,0x6d,0x0, 0xbf,0x70,0x58,0x3, 0xe4,0x80,0x1e,0xe5,0x16,0xb4,
+0x1, 0x1f,0x85,0x23,0xd, 0xe5,0x23,0xa, 0x3b,0x2e,0x34,0x9c,0x75,0x7a,0x71,0x82,
+0x7a,0x61,0x83,0xe4,0x93,0x7a,0xb3,0x1, 0x9a,0x74,0x1, 0x7a,0xb3,0x1, 0xb5,0xe1,
+0xec,0xe5,0x15,0xa, 0xb, 0xe5,0x23,0xa, 0x1b,0x7d,0x31,0x7d,0x20,0x12,0x9a,0x2e,
+0x7a,0x73,0xc, 0xa2,0x7d,0x31,0x7d,0x20,0x12,0x9a,0x2e,0x7c,0x75,0x7a,0x73,0xc,
+0xa3,0x6c,0xff,0xe1,0xdc,0xe5,0x15,0xa, 0xb, 0xa, 0x4f,0x7d,0x34,0x7d,0x20,0x12,
+0x9a,0x2e,0x7c,0xa7,0x7a,0xa3,0xc, 0xa0,0x7d,0x34,0x7d,0x20,0x12,0x9a,0x2e,0x7c,
+0x75,0x7a,0x73,0xc, 0xa1,0x4c,0xaa,0x78,0x4, 0x9f,0x11,0x80,0x10,0x7d,0x14,0x9d,
+0x10,0x3e,0x14,0x3e,0x14,0x49,0x31,0xa, 0xb4,0x49,0x21,0xa, 0xb2,0x7a,0x1f,0xc,
+0xa4,0xe5,0xa, 0x7c,0x9b,0x1b,0x90,0xbe,0x93,0xc, 0xa0,0x78,0x4, 0x9f,0x11,0x80,
+0x14,0xe5,0x15,0xa, 0xb, 0xa, 0x1f,0x2d,0x10,0x3e,0x14,0x3e,0x14,0x49,0x31,0xa,
+0xb4,0x49,0x21,0xa, 0xb2,0x7a,0x1f,0xc, 0xa8,0x7e,0x83,0xc, 0xa1,0x4c,0x88,0x78,
+0x4, 0x9f,0x11,0x80,0xd, 0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x35,0xa, 0xb0,0x49,0x25,
+0xa, 0xae,0x7a,0x1f,0xc, 0xac,0xe5,0x15,0x14,0xbe,0xb3,0xc, 0xa1,0x78,0x4, 0x9f,
+0x11,0x80,0xd, 0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x35,0xa, 0xb8,0x49,0x25,0xa, 0xb6,
+0x7a,0x1f,0xc, 0xb0,0x7e,0xb3,0xc, 0xa0,0x60,0x4, 0x4c,0x88,0x78,0x4, 0x9f,0x11,
+0x80,0x14,0xe5,0x15,0xa, 0xb, 0xa, 0x1f,0x9d,0x10,0x3e,0x14,0x3e,0x14,0x49,0x31,
+0xa, 0xb0,0x49,0x21,0xa, 0xae,0x7a,0x1f,0xc, 0xb4,0xbe,0x93,0xc, 0xa0,0x68,0x4,
+0x4c,0x88,0x78,0x6, 0x9f,0x11,0x7f,0x41,0x80,0x16,0xe5,0x15,0xa, 0xb, 0xa, 0x1f,
+0x2d,0x10,0x3e,0x14,0x3e,0x14,0x49,0x31,0xa, 0xb0,0x49,0x21,0xa, 0xae,0x7f,0x41,
+0x7e,0xb3,0xc, 0xa0,0x60,0x9, 0xe5,0x15,0x14,0xbe,0xb3,0xc, 0xa1,0x78,0x6, 0x9f,
+0x11,0x7f,0x51,0x80,0x16,0xe5,0x15,0xa, 0xb, 0xa, 0x1f,0x9d,0x10,0x3e,0x14,0x3e,
+0x14,0x49,0x31,0xa, 0xb8,0x49,0x21,0xa, 0xb6,0x7f,0x51,0xe5,0xa, 0x14,0xbe,0xb3,
+0xc, 0xa0,0x68,0x9, 0xe5,0x15,0x14,0xbe,0xb3,0xc, 0xa1,0x78,0x6, 0x9f,0x11,0x7f,
+0x61,0x80,0x16,0xe5,0x15,0xa, 0xb, 0xa, 0x1f,0x2d,0x10,0x3e,0x14,0x3e,0x14,0x49,
+0x31,0xa, 0xb8,0x49,0x21,0xa, 0xb6,0x7f,0x61,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x15,
+0xa, 0xb4,0x49,0x5, 0xa, 0xb2,0x7d,0x36,0x6d,0x22,0xbf,0x1, 0x58,0x2, 0xe1,0xda,
+0xe5,0x14,0xa, 0x1b,0x6d,0x0, 0x7f,0x17,0x12,0x9a,0x60,0x7e,0x8, 0x0, 0x64,0x12,
+0x9a,0xcd,0x7f,0x1, 0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x35,0xa, 0xb4,0x49,0x25,0xa,
+0xb2,0xbf,0x10,0x18,0x2, 0xe1,0xda,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x15,0xa, 0xb4,
+0x49,0x5, 0xa, 0xb2,0x7e,0x1f,0xc, 0xa4,0xbf,0x1, 0x58,0x2, 0xe1,0xda,0x7e,0xa0,
+0x4, 0xac,0xaf,0x49,0x15,0xa, 0xb4,0x49,0x5, 0xa, 0xb2,0x7e,0x1f,0xc, 0xa8,0xbf,
+0x1, 0x58,0x2, 0xe1,0xda,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x15,0xa, 0xb4,0x49,0x5,
+0xa, 0xb2,0x7e,0x1f,0xc, 0xac,0xbf,0x1, 0x58,0x2, 0xe1,0xda,0x7e,0xa0,0x4, 0xac,
+0xaf,0x49,0x15,0xa, 0xb4,0x49,0x5, 0xa, 0xb2,0x7e,0x1f,0xc, 0xb0,0xbf,0x1, 0x58,
+0x2, 0xe1,0xda,0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x15,0xa, 0xb4,0x49,0x5, 0xa, 0xb2,
+0x7e,0x1f,0xc, 0xb4,0xbf,0x1, 0x58,0x2, 0xe1,0xda,0x7e,0xa0,0x4, 0xac,0xaf,0x49,
+0x15,0xa, 0xb4,0x49,0x5, 0xa, 0xb2,0xbf,0x4, 0x58,0x2, 0xe1,0xda,0x7e,0xa0,0x4,
+0xac,0xaf,0x49,0x15,0xa, 0xb4,0x49,0x5, 0xa, 0xb2,0xbf,0x5, 0x58,0x2, 0xe1,0xda,
+0x7e,0xa0,0x4, 0xac,0xaf,0x49,0x15,0xa, 0xb4,0x49,0x5, 0xa, 0xb2,0xbf,0x6, 0x58,
+0x2, 0xe1,0xda,0x7c,0x1e,0x2e,0x10,0xd, 0x7c,0xbf,0xa5,0xf7,0xa, 0x3f,0x2e,0x34,
+0x9c,0x75,0x7a,0x71,0x82,0x7a,0x61,0x83,0xe4,0x93,0x7c,0xab,0xa, 0x3e,0x19,0xa3,
+0x1, 0x9a,0xb, 0xe0,0x74,0x4, 0x7c,0x3f,0xac,0x3b,0x2e,0x14,0xa, 0xb2,0x49,0x31,
+0x0, 0x2, 0xb, 0x18,0x20,0xb, 0x1c,0x59,0x31,0x0, 0x2, 0x1b,0x18,0x20,0xbe,0xe1,
+0x16,0x40,0x47,0x7e,0xe1,0x16,0xbe,0xe0,0x2, 0x78,0x49,0xe5,0x8, 0xb4,0x1, 0x44,
+0x7e,0xb3,0xc, 0xa2,0x60,0x18,0xe5,0xa, 0x14,0xbe,0xb3,0xc, 0xa2,0x68,0xf, 0x7e,
+0xb3,0xc, 0xa3,0x60,0x9, 0xe5,0x15,0x14,0xbe,0xb3,0xc, 0xa3,0x78,0x26,0x7e,0xe0,
+0x1, 0x85,0x23,0xd, 0xe5,0x23,0xa, 0x3b,0x2e,0x34,0x9c,0x75,0x7a,0x71,0x82,0x7a,
+0x61,0x83,0xe4,0x93,0x7a,0xb3,0x1, 0x9a,0x80,0xa, 0xb, 0xf0,0xe5,0x13,0xbc,0xbf,
+0x28,0x2, 0xa1,0x25,0x7a,0xe3,0x1, 0xb7,0x7a,0xe3,0x1, 0xb5,0xda,0x3b,0x22,0x7e,
+0xb3,0xd, 0x60,0x54,0x8f,0x7a,0xb3,0xd, 0x60,0x12,0x82,0xf5,0x2, 0x0, 0x1e,0xff,
+0xca,0x3b,0x7e,0xc3,0x1, 0xb5,0x7e,0x33,0x1, 0xb6,0x7e,0x37,0x1, 0xcb,0x7a,0x35,
+0x37,0x4c,0xcc,0x78,0x3c,0x12,0x7f,0x53,0xbe,0x30,0x0, 0x38,0x2, 0x61,0xf2,0x6c,
+0xff,0x7e,0x20,0xff,0x74,0x5, 0xac,0xbf,0x19,0x25,0x1, 0x7e,0xb, 0xf0,0xbe,0xf0,
+0x2, 0x78,0xf1,0x74,0x1, 0x7a,0xb3,0x1, 0xbb,0xe4,0x7a,0xb3,0x1, 0xbc,0x7e,0xb3,
+0x1, 0x4e,0x60,0x6, 0x6d,0x33,0x7a,0x37,0xe, 0xcf,0xe4,0x7a,0xb3,0xe, 0xd1,0x61,
+0xf2,0x7e,0xb3,0xe, 0xd1,0xbe,0xb0,0x3c,0x50,0x9, 0x4, 0x7a,0xb3,0xe, 0xd1,0x74,
+0xc8,0x80,0xb, 0x90,0xb4,0xcb,0xe4,0x93,0xbe,0xb3,0xd, 0xa7,0x68,0x4, 0x7a,0xb3,
+0xd, 0xa7,0x6c,0xff,0x7e,0x70,0x5, 0xac,0x7f,0x7c,0x17,0x2e,0x10,0x31,0x74,0xff,
+0xa5,0xf7,0x7e,0x24,0x7f,0xff,0x7c,0xb7,0x24,0x2d,0xa, 0xb, 0x1b,0x8, 0x20,0x7c,
+0xb7,0x24,0x2f,0xa, 0x3b,0x1b,0x38,0x20,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xd5,0x6c,
+0xff,0x7e,0x50,0x5, 0xac,0x5f,0x49,0x42,0x1, 0x66,0x3e,0x44,0x3e,0x44,0x3e,0x44,
+0x3e,0x44,0x7e,0x70,0x5, 0xac,0x7f,0x7c,0xb7,0x24,0x23,0xa, 0xb, 0x1b,0x8, 0x40,
+0x49,0x22,0x1, 0x68,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,0x24,0x7c,0xb7,0x24,0x25,
+0xa, 0x3b,0x1b,0x38,0x20,0x74,0x5, 0xac,0xbf,0x9, 0x25,0x1, 0x6a,0x7e,0x10,0x5,
+0xac,0x1f,0x2e,0x10,0x27,0x7c,0xb2,0xa5,0xf7,0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xb1,
+0x7e,0xb3,0x1, 0x4e,0x60,0x32,0xbc,0x3c,0x68,0x6, 0x6d,0x33,0x7a,0x37,0xe, 0xcf,
+0x6c,0xff,0x74,0x5, 0xac,0xbf,0x9, 0xd5,0x1, 0x88,0xbe,0xd0,0x2, 0x50,0x12,0x74,
+0x6, 0xac,0xbd,0x9, 0xb5,0x1, 0x93,0x70,0x8, 0x6d,0x33,0x7a,0x37,0xe, 0xcf,0x80,
+0x7, 0xb, 0xf0,0xbe,0xf0,0x2, 0x40,0xda,0xa5,0xbb,0x0, 0x20,0x6c,0xff,0x80,0x16,
+0x7e,0x30,0x5, 0xac,0x3f,0x7d,0x31,0x2e,0x34,0x0, 0x23,0x2e,0x14,0x1, 0x7a,0x74,
+0x5, 0x12,0x9b,0x1, 0xb, 0xf0,0xbc,0xcf,0x38,0xe6,0x41,0x58,0x6c,0xff,0x6c,0xee,
+0x7e,0x70,0x5, 0xac,0x7e,0x9, 0xa3,0x1, 0x7e,0x7e,0x10,0x5, 0xac,0x1f,0x2e,0x10,
+0x27,0xa5,0xe7,0xbc,0xba,0x78,0x19,0xbe,0xb0,0xff,0x68,0x14,0x2e,0x34,0x1, 0x7a,
+0x7e,0x30,0x5, 0xac,0x3f,0x2e,0x14,0x0, 0x2d,0x74,0x5, 0x12,0x9b,0x1, 0x80,0x7,
+0xb, 0xe0,0xbe,0xe0,0x2, 0x40,0xc9,0xbe,0xe0,0x2, 0x78,0x14,0x7e,0x30,0x5, 0xac,
+0x3f,0x7d,0x31,0x2e,0x34,0x0, 0x23,0x2e,0x14,0x0, 0x2d,0x74,0x5, 0x12,0x9b,0x1,
+0xb, 0xf0,0xbe,0xf0,0x2, 0x78,0xa7,0x6c,0xff,0x7e,0x30,0x5, 0xac,0x3f,0x7d,0x31,
+0x2e,0x34,0x0, 0x2d,0x2e,0x14,0x1, 0x7a,0x74,0x5, 0x12,0x9b,0x1, 0xb, 0xf0,0xbe,
+0xf0,0x2, 0x78,0xe5,0x7e,0xb3,0x1, 0xbc,0x60,0x2, 0x41,0x58,0x6c,0xff,0x41,0x52,
+0x7c,0xef,0x75,0x39,0x0, 0x80,0x26,0x7e,0x30,0x5, 0xac,0x3f,0x9, 0xa1,0x1, 0x7e,
+0x7e,0x11,0x39,0x7e,0x0, 0x5, 0xac,0x10,0x2e,0x10,0x27,0xa5,0xe7,0xbc,0xba,0x78,
+0xa, 0xbe,0xa0,0xff,0x68,0x5, 0x7e,0xe1,0x39,0x80,0x7, 0x5, 0x39,0xbe,0xc1,0x39,
+0x38,0xd5,0xbe,0xe0,0x2, 0x40,0x2, 0x7c,0xef,0x7e,0x5, 0x37,0x3e,0x4, 0x3e,0x4,
+0x3e,0x4, 0x3e,0x4, 0x7e,0x50,0x5, 0xac,0x5e,0x7c,0xb5,0x24,0x25,0xa, 0x1b,0xb,
+0x18,0x30,0xbd,0x3, 0x28,0xc, 0x74,0x5, 0xac,0xbe,0x49,0x15,0x1, 0x7c,0xbd,0x1,
+0x38,0x17,0x7c,0xb5,0x24,0x23,0xa, 0x2b,0xb, 0x28,0x20,0x74,0x5, 0xac,0xbf,0x59,
+0x25,0x1, 0x7a,0x59,0x35,0x1, 0x7c,0x80,0x7, 0x7c,0xbf,0x7c,0x7e,0x12,0x8, 0x0,
+0xb, 0xf0,0xbc,0xcf,0x28,0x2, 0x21,0xd0,0xbe,0xc0,0x0, 0x38,0x2, 0x61,0xbd,0x6c,
+0xff,0x7e,0x70,0x5, 0xac,0x7f,0x49,0x23,0x1, 0x7a,0x1e,0x24,0x1e,0x24,0x1e,0x24,
+0x1e,0x24,0x59,0x23,0x1, 0x84,0x49,0x23,0x1, 0x7c,0x1e,0x24,0x1e,0x24,0x1e,0x24,
+0x1e,0x24,0x59,0x23,0x1, 0x86,0x9, 0x53,0x1, 0x7e,0x19,0x53,0x1, 0x88,0x7e,0xb3,
+0x1, 0x4e,0x70,0x2, 0x61,0xb4,0x9, 0xd3,0x1, 0x88,0xbe,0xd0,0x2, 0x50,0xf, 0x49,
+0x33,0x1, 0x86,0xbe,0x35,0x37,0x40,0x6, 0x6d,0x33,0x7a,0x37,0xe, 0xcf,0x7e,0x17,
+0xe, 0xcf,0x4d,0x11,0x78,0x40,0xbe,0xf0,0x1, 0x78,0x8, 0x7d,0x1, 0xb, 0x4, 0x7a,
+0x7, 0xe, 0xcf,0xbe,0xd0,0x2, 0x40,0x2, 0x61,0xb4,0x6c,0xee,0x7e,0x50,0x5, 0xac,
+0x5f,0x49,0x2, 0x1, 0x84,0x7e,0x90,0x4, 0xac,0x9e,0x7e,0x70,0xc, 0xac,0x7d,0x2d,
+0x34,0x59,0x3, 0xe, 0xb7,0x49,0x2, 0x1, 0x86,0x59,0x3, 0xe, 0xb9,0xb, 0xe0,0xbe,
+0xe0,0x3, 0x78,0xd8,0x61,0xb4,0xbe,0xd0,0x2, 0x40,0x2, 0x61,0xa5,0x74,0x5, 0xac,
+0xbf,0x49,0x35,0x1, 0x84,0x7e,0x4, 0x0, 0x3, 0x8d,0x10,0x7d,0x10,0x3e,0x14,0x3e,
+0x14,0x7e,0x50,0xc, 0xac,0x5d,0x2d,0x21,0x59,0x32,0xe, 0xb7,0x74,0x5, 0xac,0xbf,
+0x49,0x35,0x1, 0x86,0x59,0x32,0xe, 0xb9,0x6d,0x33,0x74,0x5, 0xac,0xbf,0x59,0x35,
+0x1, 0x84,0x6c,0xee,0x7e,0x50,0x4, 0xac,0x5e,0x7e,0x70,0xc, 0xac,0x7d,0x2d,0x32,
+0x49,0x23,0xe, 0xb7,0x74,0x5, 0xac,0xbf,0x7d,0x45,0x2e,0x44,0x1, 0x84,0xb, 0x48,
+0x30,0x2d,0x32,0x1b,0x48,0x30,0xb, 0xe0,0xbe,0xe0,0x3, 0x78,0xd7,0x7e,0x24,0x0,
+0x3, 0xb, 0x48,0x30,0x8d,0x32,0x1b,0x48,0x30,0x6d,0x33,0x59,0x35,0x1, 0x86,0x6c,
+0xee,0x7e,0x50,0x4, 0xac,0x5e,0x7e,0x70,0xc, 0xac,0x7d,0x2d,0x32,0x49,0x33,0xe,
+0xb9,0x7e,0x30,0x5, 0xac,0x3f,0x2e,0x14,0x1, 0x86,0xb, 0x18,0x0, 0x2d,0x3, 0x1b,
+0x18,0x0, 0xb, 0xe0,0xbe,0xe0,0x3, 0x78,0xd8,0x7e,0x24,0x0, 0x3, 0xb, 0x18,0x30,
+0x8d,0x32,0x1b,0x18,0x30,0xbe,0xf0,0x1, 0x78,0xa, 0x7e,0x37,0xe, 0xcf,0xb, 0x34,
+0x7a,0x37,0xe, 0xcf,0xb, 0xf0,0xbe,0xf0,0x2, 0x68,0x2, 0x41,0x61,0x74,0x1, 0x7a,
+0xb3,0x1, 0xb9,0x7e,0xb3,0x1, 0x4e,0x60,0x29,0x6c,0xff,0x74,0x5, 0xac,0xbf,0x9,
+0xd5,0x1, 0x88,0xbe,0xd0,0x2, 0x50,0x13,0x74,0x6, 0xac,0xbd,0x9, 0xb5,0x1, 0x93,
+0xb4,0x1, 0x8, 0x6d,0x33,0x7a,0x37,0xe, 0xcf,0x80,0x7, 0xb, 0xf0,0xbe,0xf0,0x2,
+0x40,0xd9,0xda,0x3b,0x22,0xca,0x3b,0x9f,0x11,0x7a,0x1f,0xb, 0xb2,0x6c,0xff,0xc1,
+0xb3,0x7c,0x1f,0x2e,0x10,0xd, 0xa5,0xe7,0x7c,0xeb,0xe5,0x15,0xa, 0x1b,0xa, 0x3e,
+0x7d,0x21,0x12,0x9a,0x2e,0x7c,0xd7,0xa, 0x3e,0x7d,0x21,0x12,0x9a,0x2e,0x7c,0xc5,
+0x9f,0x11,0x7a,0x1f,0xc, 0xa8,0x7a,0x1f,0xc, 0xac,0x7c,0xbe,0x7c,0x7d,0x12,0x78,
+0x58,0x7a,0x1f,0xc, 0xb0,0x4c,0xcc,0x68,0xc, 0x7c,0xbe,0x14,0x7c,0x7d,0x12,0x78,
+0x58,0x7a,0x1f,0xc, 0xa8,0xe5,0x15,0x14,0xbc,0xbc,0x68,0xc, 0x7c,0xbe,0x4, 0x7c,
+0x7d,0x12,0x78,0x58,0x7a,0x1f,0xc, 0xac,0xa, 0x1c,0x6d,0x0, 0x1b,0xc, 0x7e,0x5f,
+0xc, 0xa8,0x7f,0x15,0x12,0x9a,0x60,0x7f,0x41,0xa, 0x1c,0x6d,0x0, 0x7e,0x6f,0xc,
+0xb0,0x7f,0x16,0x12,0x9a,0x60,0x2f,0x41,0xa, 0x1c,0x6d,0x0, 0xb, 0xc, 0x7e,0x7f,
+0xc, 0xac,0x7f,0x17,0x12,0x9a,0x60,0x2f,0x14,0x7a,0x1f,0xc, 0xa0,0x7f,0x6, 0x2f,
+0x5, 0x2f,0x7, 0x7a,0xf, 0xc, 0xa4,0x7e,0x1f,0xb, 0xb2,0xbf,0x10,0x50,0x8, 0x7e,
+0x1f,0xc, 0xa4,0x7a,0x1f,0xb, 0xb2,0xbe,0xd0,0x0, 0x38,0x2, 0xa1,0x4b,0xe5,0xa,
+0xa, 0x2b,0x1b,0x24,0xa, 0x3d,0xbd,0x32,0x48,0x2, 0xa1,0x4b,0xbe,0xc0,0x1, 0x38,
+0x2, 0xa1,0x4b,0xe5,0x15,0xa, 0x2b,0x1b,0x25,0xa, 0x3c,0xbd,0x32,0x58,0x7c,0x7e,
+0xb3,0x1, 0xb5,0xb4,0x1, 0x75,0xe4,0x7a,0xb3,0x11,0x4d,0x7e,0x1f,0xc, 0xac,0x7a,
+0x1d,0x24,0x7e,0x1f,0xc, 0xb0,0x7e,0xf, 0xc, 0xa8,0x7c,0xbc,0x12,0x7d,0xec,0xf5,
+0x23,0x7e,0x73,0x11,0x4d,0xbe,0x70,0x0, 0x28,0x51,0xe5,0x15,0xac,0xbd,0x25,0x23,
+0x7c,0x7d,0x12,0x78,0x58,0x7a,0x1f,0xc, 0xb8,0x7e,0x33,0x11,0x4d,0xa, 0x13,0x6d,
+0x0, 0x12,0x9a,0x60,0x74,0x7, 0x1e,0x34,0xe, 0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,
+0x78,0xf4,0x7a,0x1f,0xc, 0xb8,0xe5,0x23,0xa, 0x1b,0x6d,0x0, 0x7e,0x7f,0xc, 0xb8,
+0x7f,0x17,0x12,0x9a,0x60,0x7f,0x1, 0x7e,0x1f,0xc, 0xa0,0x2f,0x10,0x7a,0x1f,0xc,
+0xa0,0x7e,0x1f,0xc, 0xa4,0x2f,0x17,0x7a,0x1f,0xc, 0xa4,0x7e,0x1f,0xc, 0xa0,0x74,
+0x7, 0x2f,0x11,0x14,0x78,0xfb,0x7e,0xf, 0xc, 0xa4,0x12,0x9a,0x7c,0x2e,0x18,0x0,
+0x40,0x7a,0x37,0xc, 0xb4,0x9f,0x11,0x7a,0x1f,0xc, 0xa8,0x7a,0x1f,0xc, 0xac,0x7c,
+0xbe,0x7c,0x7c,0x12,0x7b,0x35,0x7a,0x1f,0xc, 0xb0,0x4c,0xdd,0x68,0xe, 0x7c,0xbe,
+0x9e,0xb1,0x15,0x7c,0x7c,0x12,0x7b,0x35,0x7a,0x1f,0xc, 0xa8,0xe5,0xa, 0x14,0xbc,
+0xbd,0x68,0xd, 0xe5,0x15,0x2c,0xbe,0x7c,0x7c,0x12,0x7b,0x35,0x7a,0x1f,0xc, 0xac,
+0xa, 0x1d,0x6d,0x0, 0x1b,0xc, 0x7e,0x5f,0xc, 0xa8,0x7f,0x15,0x12,0x9a,0x60,0x7f,
+0x41,0xa, 0x1d,0x6d,0x0, 0x7e,0x6f,0xc, 0xb0,0x7f,0x16,0x12,0x9a,0x60,0x2f,0x41,
+0xa, 0x1d,0x6d,0x0, 0xb, 0xc, 0x7e,0x7f,0xc, 0xac,0x7f,0x17,0x12,0x9a,0x60,0x2f,
+0x14,0x7a,0x1f,0xc, 0xa0,0x7f,0x16,0x2f,0x15,0x2f,0x17,0x7a,0x1f,0xc, 0xa4,0xbe,
+0xd0,0x1, 0x38,0x2, 0xc1,0x87,0xe5,0xa, 0xa, 0x2b,0x1b,0x25,0xa, 0x3d,0xbd,0x32,
+0x48,0x2, 0xc1,0x87,0xbe,0xc0,0x0, 0x38,0x2, 0xc1,0x87,0xe5,0x15,0xa, 0x2b,0x1b,
+0x24,0xa, 0x3c,0xbd,0x32,0x48,0x2, 0xc1,0x87,0x7e,0xb3,0x1, 0xb5,0xb4,0x1, 0x77,
+0xe4,0x7a,0xb3,0x11,0x4d,0x7e,0x1f,0xc, 0xac,0x7a,0x1d,0x24,0x7e,0x1f,0xc, 0xb0,
+0x7e,0xf, 0xc, 0xa8,0x7c,0xbd,0x12,0x7d,0xec,0xf5,0x23,0x7e,0x73,0x11,0x4d,0xbe,
+0x70,0x0, 0x28,0x53,0x7e,0xa1,0x15,0xe5,0x23,0xa4,0x2c,0xbc,0x7c,0x7c,0x12,0x7b,
+0x35,0x7a,0x1f,0xc, 0xb8,0x7e,0x33,0x11,0x4d,0xa, 0x13,0x6d,0x0, 0x12,0x9a,0x60,
+0x74,0x7, 0x1e,0x34,0xe, 0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x7a,0x1f,
+0xc, 0xb8,0xe5,0x23,0xa, 0x1b,0x6d,0x0, 0x7e,0x7f,0xc, 0xb8,0x7f,0x17,0x12,0x9a,
+0x60,0x7f,0x1, 0x7e,0x1f,0xc, 0xa0,0x2f,0x10,0x7a,0x1f,0xc, 0xa0,0x7e,0x1f,0xc,
+0xa4,0x2f,0x17,0x7a,0x1f,0xc, 0xa4,0x7e,0x1f,0xc, 0xa0,0x74,0x7, 0x2f,0x11,0x14,
+0x78,0xfb,0x7e,0xf, 0xc, 0xa4,0x12,0x9a,0x7c,0x2e,0x18,0x0, 0x40,0x7a,0x37,0xc,
+0xb6,0x7e,0x27,0xc, 0xb4,0x74,0x5, 0xac,0xbf,0x59,0x25,0x1, 0x66,0x59,0x35,0x1,
+0x68,0xb, 0xf0,0x7e,0x73,0x1, 0xb5,0xbc,0x7f,0x28,0x2, 0x81,0x1, 0xda,0x3b,0x22,
+0xca,0xf8,0x7e,0x73,0x9, 0x66,0xa, 0x47,0x7e,0x73,0x9, 0xc3,0xa, 0x57,0x9d,0x54,
+0x7c,0xab,0x7e,0x47,0x8, 0xf4,0x7e,0x37,0x8, 0xf8,0x6c,0xff,0xe1,0x87,0x7e,0x50,
+0x4, 0xac,0x5f,0x2d,0x24,0x49,0xf2,0x0, 0x2, 0xb, 0x28,0xe0,0xbe,0x7c,0xf8,0x30,
+0x48,0x2, 0xc1,0xfe,0x7e,0xb3,0x9, 0x63,0xbc,0xbf,0x28,0x2, 0xe1,0x1c,0xbe,0x7c,
+0xec,0x78,0x48,0x2, 0xe1,0x7e,0x7e,0xb3,0x9, 0x63,0xbc,0xbf,0x28,0x2, 0xe1,0x7e,
+0x7e,0xf, 0x3, 0x30,0xbe,0x8, 0x7, 0xd0,0x48,0x2, 0xe1,0x7e,0xa, 0x2f,0x2e,0x24,
+0xf, 0x19,0x7e,0x29,0xb0,0x4, 0x7a,0x29,0xb0,0xa, 0x2f,0x9, 0xb2,0xf, 0x19,0xbe,
+0xb0,0xf, 0x38,0x2, 0xe1,0x85,0x7e,0x50,0x2, 0xac,0x5f,0x2d,0x23,0xb, 0x28,0x10,
+0x1a,0x2, 0x1a,0x0, 0x2f,0x7, 0xbe,0x8, 0x32,0xc8,0x48,0x2, 0xe1,0x85,0x74,0x1,
+0x7a,0xb3,0x1, 0xc0,0x6c,0x55,0xe1,0x68,0xa, 0x5, 0x7e,0x43,0x9, 0x63,0xa, 0x14,
+0x2d,0x10,0x19,0xb1,0xf, 0x19,0xb, 0x50,0x7e,0x43,0x9, 0x66,0xa, 0x14,0x7e,0x43,
+0x9, 0x64,0xa, 0x4, 0x9d,0x1, 0xa, 0x15,0xbd,0x10,0x48,0xdc,0xe1,0x85,0xe4,0xa,
+0x1f,0x19,0xb1,0xf, 0x19,0xb, 0xf0,0xbc,0xaf,0x28,0x2, 0xc1,0xde,0x7e,0xb3,0x1,
+0xc0,0x60,0x2, 0xe1,0xe8,0x6c,0xff,0xe1,0xe0,0x74,0x4, 0xac,0xbf,0x2d,0x54,0x49,
+0x35,0x0, 0x2, 0xb, 0x58,0x20,0xbe,0x1c,0xfd,0xa8,0x48,0x2, 0xe1,0xd7,0xa, 0x3f,
+0x2e,0x34,0xe, 0xeb,0x7e,0x39,0xb0,0x4, 0x7a,0x39,0xb0,0xa, 0x5f,0x9, 0x75,0xe,
+0xeb,0xbe,0x70,0x1, 0x38,0x2, 0xe1,0xde,0x12,0x70,0x0, 0x70,0x2, 0xe1,0xde,0x74,
+0x3, 0x7a,0xb3,0x1, 0xc0,0xe1,0xde,0xe4,0xa, 0x3f,0x19,0xb3,0xe, 0xeb,0xb, 0xf0,
+0x7e,0x73,0x9, 0x63,0xbc,0x7f,0x38,0xb1,0xda,0xf8,0x22,0x12,0x75,0x90,0x12,0x7b,
+0x7b,0x12,0x81,0x7c,0x12,0x6a,0xfb,0x12,0x86,0x43,0x12,0x7c,0x2, 0x2, 0x87,0x8e,
+0xca,0x3b,0x7e,0x73,0x9, 0x66,0xa, 0x47,0x7e,0x73,0x9, 0xc3,0xa, 0x57,0x9d,0x54,
+0xf5,0x23,0xd2,0x3, 0x12,0x6e,0xdd,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xac,0xb,
+0xa, 0x30,0x5e,0x70,0xdf,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xac,
+0xb, 0xa, 0x30,0x5e,0x70,0xbf,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0,
+0xac,0xb, 0xa, 0x30,0x4e,0x70,0x80,0x1b,0xa, 0x30,0x6c,0xdd,0x21,0x52,0xa, 0x3d,
+0x9, 0xc3,0x9, 0x67,0xa, 0x3c,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x14,0xbe,0xc0,
+0x10,0x40,0x2, 0x1, 0x90,0x6d,0x33,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x8, 0x7e,
+0xf, 0x11,0x42,0x79,0x30,0x0, 0xa, 0x7e,0x34,0x0, 0x1, 0x7c,0xbc,0x70,0x2, 0x1,
+0x86,0x3e,0x34,0x14,0x78,0xfb,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x6, 0x1, 0xf3,
+0xbe,0xc0,0x20,0x40,0x2, 0x1, 0xc6,0x6d,0x33,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0,
+0x6, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xa, 0xa, 0x5c,0x9e,0x54,0x0, 0x10,0x7e,
+0x34,0x0, 0x1, 0x70,0x2, 0x1, 0xbc,0x3e,0x34,0x14,0x78,0xfb,0x7e,0xf, 0x11,0x42,
+0x79,0x30,0x0, 0x8, 0x1, 0xf3,0x6d,0x33,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x6,
+0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x8, 0xa, 0x5c,0x9e,0x54,0x0, 0x20,0x7e,0x34,
+0x0, 0x1, 0x70,0x2, 0x1, 0xeb,0x3e,0x34,0x14,0x78,0xfb,0x7e,0xf, 0x11,0x42,0x79,
+0x30,0x0, 0xa, 0xe4,0x7a,0xb3,0x1, 0x27,0x74,0x1, 0x12,0x87,0xa4,0x12,0x84,0x14,
+0x12,0x17,0xcc,0x50,0xfb,0x9f,0x44,0x6c,0xff,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0,
+0xb0,0xb, 0xa, 0x30,0x5e,0x70,0x7f,0x1b,0xa, 0x30,0x74,0x2, 0xac,0xbf,0x7e,0x1f,
+0x11,0x3e,0x2d,0x35,0xb, 0x1a,0x30,0x6d,0x22,0x2f,0x41,0xb, 0xf0,0xbe,0xf0,0x80,
+0x78,0xd7,0xa, 0x3d,0x9, 0xe3,0x9, 0x95,0x74,0x7, 0x7f,0x14,0x1e,0x34,0x1e,0x24,
+0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x74,0x2, 0xac,0xbe,0x59,0x35,0x5, 0x0,
+0xb, 0xd0,0xe5,0x23,0xbc,0xbd,0x28,0x2, 0x1, 0x4e,0x7e,0xf, 0x11,0x42,0x2e,0x14,
+0x0, 0xac,0xb, 0xa, 0x30,0x5e,0x70,0xdf,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,
+0x14,0x0, 0xac,0xb, 0xa, 0x30,0x4e,0x70,0x40,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,
+0x2e,0x14,0x0, 0xac,0xb, 0xa, 0x30,0x5e,0x70,0x7f,0x1b,0xa, 0x30,0x6c,0xdd,0x41,
+0x95,0xa, 0x3d,0x9, 0xc3,0x9, 0x67,0xa, 0x3c,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0,
+0x14,0xbe,0xc0,0x10,0x40,0x2, 0x21,0xd3,0x6d,0x33,0x7e,0xf, 0x11,0x42,0x79,0x30,
+0x0, 0x8, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xa, 0x7e,0x34,0x0, 0x1, 0x7c,0xbc,
+0x70,0x2, 0x21,0xc9,0x3e,0x34,0x14,0x78,0xfb,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0,
+0x6, 0x41,0x36,0xbe,0xc0,0x20,0x40,0x2, 0x41,0x9, 0x6d,0x33,0x7e,0xf, 0x11,0x42,
+0x79,0x30,0x0, 0x6, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xa, 0xa, 0x5c,0x9e,0x54,
+0x0, 0x10,0x7e,0x34,0x0, 0x1, 0x70,0x2, 0x21,0xff,0x3e,0x34,0x14,0x78,0xfb,0x7e,
+0xf, 0x11,0x42,0x79,0x30,0x0, 0x8, 0x41,0x36,0x6d,0x33,0x7e,0xf, 0x11,0x42,0x79,
+0x30,0x0, 0x6, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x8, 0xa, 0x5c,0x9e,0x54,0x0,
+0x20,0x7e,0x34,0x0, 0x1, 0x70,0x2, 0x41,0x2e,0x3e,0x34,0x14,0x78,0xfb,0x7e,0xf,
+0x11,0x42,0x79,0x30,0x0, 0xa, 0xe4,0x7a,0xb3,0x1, 0x27,0x74,0x1, 0x12,0x87,0xa4,
+0x12,0x84,0x14,0x12,0x17,0xcc,0x50,0xfb,0x9f,0x44,0x6c,0xff,0x7e,0xf, 0x11,0x42,
+0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x5e,0x70,0x7f,0x1b,0xa, 0x30,0x74,0x2, 0xac,
+0xbf,0x7e,0x1f,0x11,0x3e,0x2d,0x35,0xb, 0x1a,0x30,0x6d,0x22,0x2f,0x41,0xb, 0xf0,
+0xbe,0xf0,0x80,0x78,0xd7,0xa, 0x3d,0x9, 0xe3,0x9, 0x95,0x74,0x7, 0x7f,0x14,0x1e,
+0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,0xf4,0x74,0x2, 0xac,0xbe,0x59,
+0x35,0x5, 0x5c,0xb, 0xd0,0xe5,0x23,0xbc,0xbd,0x28,0x2, 0x21,0x91,0xc2,0x3, 0xc2,
+0x0, 0x7e,0x8, 0x9, 0x25,0x12,0x1, 0x20,0xda,0x3b,0x22,0xca,0x3b,0x7e,0xb3,0x1,
+0x4c,0x70,0x2, 0xa1,0x4e,0x7e,0xf7,0x1, 0xc9,0x7e,0xe7,0x1, 0xcb,0x1e,0xe4,0x7e,
+0xd7,0x2, 0xef,0x7e,0xc7,0x2, 0xf1,0x7e,0xb7,0x2, 0xf3,0x7e,0xa7,0x2, 0xf5,0x7e,
+0x97,0x2, 0xf7,0x7e,0xb3,0x2, 0xf9,0xf5,0x23,0x7e,0xf3,0x1, 0xb5,0x7e,0xe3,0x9,
+0xc4,0x7c,0xde,0x1e,0xd0,0x6c,0xcc,0xa1,0x48,0xa, 0x8c,0x9, 0x78,0x1, 0x9a,0x7a,
+0x71,0x25,0xa, 0x2e,0xa, 0x87,0x7d,0x38,0x12,0x9a,0x2e,0x7c,0xb5,0xf5,0x26,0xa,
+0x2d,0x7d,0x38,0x12,0x9a,0x2e,0x7c,0xb5,0xf5,0x27,0x75,0x24,0x0, 0x7e,0xb3,0x1,
+0x4c,0x70,0x2, 0xa1,0x38,0xe5,0x27,0x60,0x2, 0x81,0x27,0x7e,0x34,0x0, 0x5, 0xad,
+0x3e,0x1e,0x34,0x74,0x5, 0xac,0xbc,0x75,0x28,0xa, 0x7e,0xa1,0x25,0x74,0x4, 0xa4,
+0x7d,0x85,0x2e,0x87,0x8, 0xf4,0x49,0x18,0x0, 0x2, 0xb, 0x88,0x0, 0x7d,0x3d,0x6d,
+0x22,0xbf,0x1, 0x58,0x17,0x49,0x18,0x0, 0x6, 0x49,0x8, 0x0, 0x4, 0x7d,0x3c,0x6d,
+0x22,0xbf,0x1, 0x58,0x7, 0xbe,0xf0,0x1, 0x78,0x2, 0x61,0xea,0x7e,0xa1,0x26,0x74,
+0x4, 0xa4,0x49,0x15,0x3, 0x36,0x49,0x5, 0x3, 0x34,0x7d,0x3b,0x6d,0x22,0xbf,0x1,
+0x58,0x4b,0x49,0x15,0x3, 0x3a,0x49,0x5, 0x3, 0x38,0x7d,0x3a,0x6d,0x22,0xbf,0x1,
+0x58,0x3b,0xa, 0x3d,0xe5,0x27,0xa, 0x8b,0x2d,0x83,0x3e,0x84,0x3e,0x84,0x49,0x38,
+0x3, 0x3e,0x49,0x28,0x3, 0x3c,0xe5,0x28,0xa, 0x1b,0x6d,0x0, 0x12,0x9a,0x60,0x7e,
+0x8, 0x0, 0xa, 0x12,0x9a,0xcd,0x7e,0xa1,0x26,0x74,0x4, 0xa4,0x49,0x15,0x3, 0x3a,
+0x49,0x5, 0x3, 0x38,0xbf,0x10,0x8, 0x5, 0xbe,0xf0,0x1, 0x68,0x2d,0x74,0x5, 0xac,
+0xbc,0x49,0x85,0x1, 0x68,0xbd,0x8e,0x38,0x2, 0xa1,0x38,0x7e,0xa1,0x26,0x74,0x4,
+0xa4,0x49,0x15,0x3, 0x3a,0x49,0x5, 0x3, 0x38,0x7d,0x39,0x6d,0x22,0xbf,0x1, 0x48,
+0x2, 0xa1,0x38,0xbe,0xf0,0x1, 0x68,0x2, 0xa1,0x38,0x74,0x5, 0xac,0xbc,0x49,0x35,
+0x1, 0x66,0xe5,0x23,0xa, 0x8b,0xbd,0x38,0x40,0x2, 0xa1,0x38,0x74,0x5, 0xac,0xbc,
+0x49,0x35,0x1, 0x68,0x7d,0x8e,0x2e,0x84,0x0, 0x14,0xbd,0x38,0x38,0x14,0x74,0x5,
+0xac,0xbc,0x49,0x35,0x1, 0x68,0x7d,0x8e,0x9e,0x84,0x0, 0x14,0xbd,0x38,0x40,0x2,
+0xa1,0x38,0x75,0x24,0x1, 0xa1,0x38,0x7c,0xbd,0x14,0xbe,0xb1,0x27,0x68,0x2, 0xa1,
+0x38,0x7e,0x34,0x0, 0x5, 0xad,0x3e,0x1e,0x34,0x1e,0x34,0x74,0x5, 0xac,0xbc,0x49,
+0x85,0x1, 0x68,0xbd,0x83,0x28,0x5, 0x75,0x28,0x12,0x80,0x3, 0x75,0x28,0xa, 0x7e,
+0xa1,0x25,0x74,0x4, 0xa4,0x7d,0x85,0x2e,0x87,0x8, 0xf4,0x49,0x18,0x0, 0x2, 0xb,
+0x88,0x0, 0x7d,0x3d,0x6d,0x22,0xbf,0x1, 0x58,0x17,0x49,0x18,0xff,0xfe,0x49,0x8,
+0xff,0xfc,0x7d,0x3c,0x6d,0x22,0xbf,0x1, 0x58,0x7, 0xbe,0xf0,0x1, 0x78,0x2, 0x81,
+0xfd,0x7e,0xa1,0x26,0x74,0x4, 0xa4,0x49,0x15,0x3, 0x36,0x49,0x5, 0x3, 0x34,0x7d,
+0x3b,0x6d,0x22,0xbf,0x1, 0x58,0x4b,0x49,0x15,0x3, 0x32,0x49,0x5, 0x3, 0x30,0x7d,
+0x3a,0x6d,0x22,0xbf,0x1, 0x58,0x3b,0xa, 0x3d,0xe5,0x27,0xa, 0x8b,0x2d,0x83,0x3e,
+0x84,0x3e,0x84,0x49,0x38,0x3, 0x2e,0x49,0x28,0x3, 0x2c,0xe5,0x28,0xa, 0x1b,0x6d,
+0x0, 0x12,0x9a,0x60,0x7e,0x8, 0x0, 0xa, 0x12,0x9a,0xcd,0x7e,0xa1,0x26,0x74,0x4,
+0xa4,0x49,0x15,0x3, 0x32,0x49,0x5, 0x3, 0x30,0xbf,0x10,0x8, 0x5, 0xbe,0xf0,0x1,
+0x68,0x1b,0x7e,0xa1,0x26,0x74,0x4, 0xa4,0x49,0x15,0x3, 0x32,0x49,0x5, 0x3, 0x30,
+0x7d,0x39,0x6d,0x22,0xbf,0x1, 0x58,0x40,0xbe,0xf0,0x1, 0x78,0x3b,0x74,0x5, 0xac,
+0xbc,0x49,0x35,0x1, 0x66,0xe5,0x23,0xa, 0x2b,0x7d,0x8f,0x9d,0x82,0xbd,0x38,0x28,
+0x27,0x74,0x5, 0xac,0xbc,0x49,0x35,0x1, 0x68,0x7d,0x8e,0x2e,0x84,0x0, 0x14,0xbd,
+0x38,0x38,0x12,0x74,0x5, 0xac,0xbc,0x49,0x35,0x1, 0x68,0x7d,0x8e,0x9e,0x84,0x0,
+0x14,0xbd,0x38,0x50,0x3, 0x75,0x24,0x2, 0xe5,0x24,0xbe,0xb0,0x0, 0x28,0x7, 0x7c,
+0xbc,0x7c,0x7f,0x12,0x7f,0xb1,0xb, 0xc0,0xbc,0xfc,0x28,0x2, 0x41,0xe9,0xda,0x3b,
+0x22,0xca,0x3b,0x7c,0xeb,0x7e,0x68,0xff,0xff,0x7e,0xd0,0x7f,0x7e,0x8, 0x10,0x1f,
+0x7e,0x34,0x0, 0x28,0xe4,0x12,0x9c,0xda,0x7e,0x8, 0xf, 0xf7,0x7e,0x34,0x0, 0x28,
+0x12,0x9c,0xda,0xbe,0xe0,0xa, 0x28,0x3, 0x7e,0xe0,0xa, 0x7e,0xb3,0x1, 0x3f,0xbe,
+0xb0,0x1, 0x68,0xd, 0xbe,0xb0,0x2, 0x68,0x8, 0xbe,0xb0,0x3, 0x68,0x3, 0xb4,0x4,
+0x31,0x7e,0xf7,0xf, 0xa8,0x6c,0xaa,0x80,0x21,0x7e,0x70,0x2, 0xac,0x7a,0x2d,0x3f,
+0xb, 0x38,0x10,0x7e,0x10,0x2, 0xac,0x1a,0x59,0x10,0xc, 0xa0,0x6d,0x0, 0x7e,0x1f,
+0xf, 0xf7,0x2f,0x10,0x7a,0x1f,0xf, 0xf7,0xb, 0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,0xba,
+0x38,0xd7,0x7e,0xf0,0x1, 0xc1,0xa9,0x74,0x4, 0xac,0xbf,0x49,0xf5,0xf, 0xa8,0x49,
+0x35,0xf, 0xa4,0x7a,0x35,0x2a,0x6c,0xaa,0xc1,0x9d,0xa, 0x3a,0x9, 0x93,0x9, 0x95,
+0x7e,0x30,0x2, 0xac,0x39,0x7d,0x1, 0x2d,0xf, 0xb, 0x8, 0x30,0x6d,0x22,0x7a,0x1f,
+0xc, 0xfc,0x2e,0x15,0x2a,0xb, 0x18,0x10,0x6d,0x0, 0x7a,0xf, 0xd, 0x0, 0x9f,0x10,
+0x12,0x9c,0xfc,0x7f,0x51,0x7e,0x70,0x4, 0xac,0x7f,0x49,0x13,0x10,0x21,0x49,0x3,
+0x10,0x1f,0xbf,0x50,0x8, 0x8, 0x59,0xb3,0x10,0x21,0x59,0xa3,0x10,0x1f,0x7e,0x83,
+0x1, 0x3f,0xbe,0x80,0x1, 0x68,0x5, 0xbe,0x80,0x2, 0x78,0x40,0xbe,0x80,0x1, 0x78,
+0x19,0x7e,0x70,0x2, 0xac,0x79,0x49,0x23,0xc, 0xa0,0x7e,0x70,0x2, 0xac,0x79,0x2d,
+0x3f,0xb, 0x38,0x30,0xbd,0x23,0x28,0x53,0x80,0x17,0x7e,0x70,0x2, 0xac,0x79,0x49,
+0x23,0xc, 0xa0,0x7e,0x70,0x2, 0xac,0x79,0x2d,0x3f,0xb, 0x38,0x30,0xbd,0x23,0x50,
+0x3a,0x7e,0x50,0x2, 0xac,0x59,0x59,0x32,0xc, 0xa0,0x80,0x2f,0xbe,0x80,0x3, 0x68,
+0x5, 0xbe,0x80,0x4, 0x78,0x25,0x7e,0x70,0x2, 0xac,0x79,0x2d,0x3f,0xb, 0x38,0x90,
+0x6d,0x88,0x7e,0x30,0x4, 0xac,0x3f,0x2e,0x14,0xf, 0xf7,0x49,0x31,0x0, 0x2, 0xb,
+0x18,0x20,0x2f,0x14,0x59,0x31,0x0, 0x2, 0x1b,0x18,0x20,0xb, 0xa0,0x7e,0xb3,0x9,
+0xc3,0xbc,0xba,0x28,0x2, 0xa1,0xda,0xb, 0xf0,0xbc,0xef,0x28,0x2, 0xa1,0xc7,0x7e,
+0xf0,0x1, 0x80,0x29,0x7e,0x70,0x4, 0xac,0x7f,0x49,0x13,0x10,0x21,0x49,0x3, 0x10,
+0x1f,0xbf,0x6, 0x58,0x4, 0x7f,0x60,0x7c,0xdf,0x7e,0x37,0x1, 0x42,0x1a,0x26,0x1a,
+0x24,0xbf,0x10,0x58,0x6, 0x7e,0xb3,0x1, 0x41,0xf5,0x66,0xb, 0xf0,0xbc,0xef,0x38,
+0xd3,0x7e,0x63,0x1, 0x3f,0xa5,0xbe,0x0, 0x36,0xbc,0xde,0x40,0x4, 0xa, 0x6e,0x1b,
+0x64,0x74,0x4, 0xac,0xbd,0x49,0xe5,0xf, 0xa8,0x6c,0xaa,0x80,0x18,0x7e,0x50,0x2,
+0xac,0x5a,0x2d,0x2e,0xb, 0x28,0x40,0x7e,0x50,0x2, 0xac,0x5a,0x2e,0x27,0x8, 0xf6,
+0x1b,0x28,0x40,0xb, 0xa0,0x7e,0x73,0x9, 0xc3,0xbc,0x7a,0x38,0xe0,0xe1,0xb1,0xbe,
+0x60,0x3, 0x68,0x4, 0xa5,0xbe,0x4, 0x6b,0x6c,0x77,0x7e,0xf, 0xf, 0xf7,0x7e,0xf0,
+0x1, 0x80,0x2e,0xa5,0xbe,0x3, 0x13,0x7e,0x50,0x4, 0xac,0x5f,0x49,0xd2,0xf, 0xf9,
+0x49,0xc2,0xf, 0xf7,0xbf,0x6, 0x28,0x17,0x80,0x11,0x7e,0x50,0x4, 0xac,0x5f,0x49,
+0xd2,0xf, 0xf9,0x49,0xc2,0xf, 0xf7,0xbf,0x6, 0x50,0x4, 0x7f,0x6, 0x7c,0x7f,0xb,
+0xf0,0xbc,0xef,0x38,0xce,0x74,0x4, 0xac,0xb7,0x49,0xe5,0xf, 0xa8,0x6c,0xaa,0x80,
+0x18,0x7e,0x70,0x2, 0xac,0x7a,0x2d,0x3e,0xb, 0x38,0x20,0x7e,0x70,0x2, 0xac,0x7a,
+0x2e,0x37,0x8, 0xf6,0x1b,0x38,0x20,0xb, 0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,0xba,0x38,
+0xe0,0x80,0x1e,0x6c,0xaa,0x80,0x12,0x7e,0x70,0x2, 0xac,0x7a,0x49,0x23,0xc, 0xa0,
+0x2e,0x37,0x8, 0xf6,0x1b,0x38,0x20,0xb, 0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,0xba,0x38,
+0xe6,0xda,0x3b,0x22,0xc2,0x5, 0xc2,0x6, 0xc2,0x7, 0x74,0x2, 0x7a,0xb3,0x9, 0x12,
+0x74,0xa, 0x7a,0xb3,0x9, 0x13,0x7e,0x34,0x0, 0xe5,0x7a,0x37,0x9, 0x14,0x7e,0x34,
+0x0, 0xe4,0x7a,0x37,0x9, 0x16,0x7e,0x34,0x0, 0x39,0x7a,0x37,0x9, 0x1a,0x7e,0x34,
+0x1, 0x80,0x7a,0x37,0x9, 0x1c,0x7e,0x34,0x1, 0x60,0x7a,0x37,0x9, 0x1e,0x7e,0x34,
+0x1, 0x26,0x7a,0x37,0x9, 0x20,0x7e,0x34,0x1, 0x70,0x7a,0x37,0x9, 0x22,0x22,0xff,
+0xca,0x3b,0x7d,0xf3,0x7e,0x73,0x9, 0x66,0xa, 0x57,0x7e,0x73,0x9, 0x64,0xa, 0x47,
+0x9d,0x45,0x7e,0xf3,0x9, 0x65,0x7e,0xa3,0x9, 0x63,0xbc,0xf9,0x68,0x2, 0x1, 0x9f,
+0x7a,0xa1,0x23,0x6c,0x88,0x80,0x72,0x7e,0x71,0x23,0x74,0x4, 0xac,0x7b,0x7d,0xe3,
+0x2e,0xe7,0x8, 0xf4,0x49,0x1e,0x0, 0x2, 0xb, 0xe8,0x0, 0x7d,0x3f,0x1a,0x26,0x1a,
+0x24,0xbf,0x10,0x18,0x50,0x6c,0xee,0x80,0x3d,0xa, 0x3e,0xa, 0xea,0x2d,0xe3,0x3e,
+0xe4,0x3e,0xe4,0x2e,0xe7,0x8, 0xf4,0x49,0x3e,0x0, 0x2, 0xb, 0xe8,0x20,0x12,0x9c,
+0xfc,0x7e,0x14,0x0, 0x3, 0x12,0x9a,0x71,0x7e,0x31,0x23,0x74,0x4, 0xac,0x3b,0x7d,
+0xe1,0x2e,0xe7,0x8, 0xf4,0x49,0x1e,0x0, 0x2, 0xb, 0xe8,0x0, 0xbf,0x10,0x8, 0x4,
+0xbc,0xe8,0x78,0x6, 0xb, 0xe0,0xbc,0xfe,0x38,0xbf,0xbc,0xfe,0x78,0x7, 0x7c,0xb8,
+0x12,0x3f,0xe0,0x41,0x2f,0xb, 0x80,0x5, 0x23,0xbc,0xf8,0x38,0x8a,0x41,0x2f,0xbe,
+0x90,0x2, 0x68,0x2, 0x41,0x2f,0x7e,0x30,0x4, 0xac,0x3a,0x2e,0x17,0x8, 0xf4,0x49,
+0x31,0x0, 0x6, 0x49,0x21,0x0, 0x4, 0x49,0xd1,0x0, 0x2, 0xb, 0x18,0xc0,0x2f,0x61,
+0x7d,0xf, 0x1a,0x0, 0x1a,0xe0,0xbf,0x76,0x8, 0x2, 0x41,0x2f,0x75,0x23,0xff,0x12,
+0x9c,0xfc,0x7f,0x1, 0x2f,0x0, 0x2f,0x0, 0x2f,0x0, 0x7e,0x90,0x4, 0xac,0x9a,0x2e,
+0x47,0x8, 0xf4,0x49,0x34,0x0, 0x2, 0xb, 0x48,0x20,0xbf,0x10,0x8, 0x5, 0x75,0x23,
+0x0, 0x41,0x23,0x12,0x9c,0xfc,0x7f,0x1, 0x2f,0x0, 0x2f,0x0, 0x2f,0x0, 0x7e,0x90,
+0x4, 0xac,0x9a,0x2e,0x47,0x8, 0xf4,0x49,0x34,0x0, 0x6, 0x49,0x24,0x0, 0x4, 0xbf,
+0x10,0x8, 0x13,0xbe,0xf0,0x3, 0x78,0x2, 0x41,0x20,0xbe,0xf0,0x4, 0x68,0x2, 0x41,
+0x23,0x75,0x23,0x3, 0x41,0x23,0xbe,0xf0,0x3, 0x78,0x4f,0x12,0x9c,0xfc,0x7f,0x61,
+0x2f,0x66,0x7e,0x70,0x4, 0xac,0x7a,0x2e,0x37,0x8, 0xf4,0x49,0xf3,0x0, 0x2, 0xb,
+0x38,0xe0,0x7e,0x14,0x0, 0x7, 0x7f,0x17,0x12,0x9a,0x71,0xbf,0x61,0x48,0x2, 0x41,
+0x23,0x7f,0x17,0x12,0x9c,0xfc,0x7f,0x71,0x2f,0x77,0x7e,0x30,0x4, 0xac,0x3a,0x2e,
+0x17,0x8, 0xf4,0x49,0x31,0x0, 0x6, 0x49,0x21,0x0, 0x4, 0x7e,0x14,0x0, 0x7, 0x12,
+0x9a,0x71,0xbf,0x17,0x18,0x2, 0x41,0x23,0x80,0x50,0xbe,0xf0,0x4, 0x68,0x2, 0x41,
+0x23,0x49,0x34,0x0, 0x2, 0xb, 0x48,0x20,0x12,0x9c,0xfc,0x7f,0x31,0x2f,0x33,0x7e,
+0x90,0x4, 0xac,0x9a,0x2e,0x47,0x8, 0xf4,0x49,0xf4,0x0, 0x6, 0x49,0xe4,0x0, 0x4,
+0x7e,0x14,0x0, 0x7, 0x7f,0x17,0x12,0x9a,0x71,0xbf,0x31,0x58,0x22,0x7f,0x17,0x12,
+0x9c,0xfc,0x7f,0x1, 0x2f,0x0, 0x7e,0x90,0x4, 0xac,0x9a,0x2e,0x47,0x8, 0xf4,0x49,
+0x34,0x0, 0x2, 0xb, 0x48,0x20,0xbf,0x10,0x8, 0x5, 0x75,0x23,0x1, 0x80,0x54,0x7e,
+0x30,0x4, 0xac,0x3a,0x2e,0x17,0x8, 0xf4,0x49,0x31,0x0, 0x6, 0x49,0x21,0x0, 0x4,
+0x12,0x9c,0xfc,0x7f,0x31,0x2f,0x33,0x7e,0x70,0x4, 0xac,0x7a,0x2e,0x37,0x8, 0xf4,
+0x49,0xf3,0x0, 0x2, 0xb, 0x38,0xe0,0x7e,0x14,0x0, 0x7, 0x7f,0x17,0x12,0x9a,0x71,
+0xbf,0x31,0x58,0x1f,0x7f,0x17,0x12,0x9c,0xfc,0x7f,0x1, 0x2f,0x0, 0x74,0x4, 0xa4,
+0x2e,0x57,0x8, 0xf4,0x49,0x35,0x0, 0x6, 0x49,0x25,0x0, 0x4, 0xbf,0x10,0x8, 0x3,
+0x75,0x23,0x2, 0xe5,0x23,0xbe,0xb0,0xff,0x68,0x5, 0xe5,0x23,0x12,0x3f,0xe0,0xda,
+0x3b,0x22,0x7e,0xb3,0xd, 0xc7,0xb4,0x1, 0x4, 0x6c,0xaa,0x80,0x3, 0x7e,0xa0,0x1,
+0x7e,0x73,0x1, 0xb6,0xa5,0xbf,0x0, 0x1d,0x7e,0x63,0x1, 0xb5,0xbe,0x60,0x2, 0x40,
+0x14,0x5, 0x6b,0xe5,0x6b,0xbc,0xba,0x38,0x5, 0xe4,0x7a,0xb3,0x1, 0xb5,0xe4,0x7a,
+0xb3,0xe, 0x89,0x80,0x3, 0x75,0x6b,0x0, 0xa5,0xbf,0x0, 0x9, 0x7e,0x73,0x1, 0xb5,
+0xbe,0x70,0x1, 0x28,0x10,0xe4,0x7a,0xb3,0xe, 0x89,0x6d,0x22,0x7a,0x27,0xe, 0xa5,
+0x7a,0x27,0xe, 0xa7,0x22,0x7e,0xb3,0xd, 0xf2,0xbe,0xb0,0x1, 0x78,0x2, 0x81,0x4c,
+0x4c,0x77,0x78,0x2, 0x81,0x13,0x7e,0x33,0xe, 0x89,0xbe,0x30,0x1, 0x28,0x2, 0x61,
+0xeb,0x7c,0xb3,0x4, 0x7a,0xb3,0xe, 0x89,0x7e,0x23,0xe, 0x89,0xa5,0xba,0x1, 0x35,
+0x7e,0x7, 0x1, 0x66,0x7a,0x7, 0xe, 0x97,0x7e,0x7, 0x1, 0x68,0x7a,0x7, 0xe, 0x99,
+0x7e,0x1f,0xe, 0x97,0x7a,0x1f,0xe, 0x9b,0x7e,0x1f,0xe, 0x97,0x7a,0x1f,0xe, 0x9f,
+0x6d,0x0, 0x7a,0x7, 0xe, 0xa3,0x7a,0x7, 0xe, 0xa5,0x7a,0x7, 0xe, 0xa7,0xe4,0x7a,
+0xb3,0x1, 0xb5,0x81,0x41,0xbe,0x20,0x1, 0x40,0x18,0x7e,0x37,0x1, 0x66,0x2e,0x37,
+0xe, 0xa5,0x7a,0x37,0xe, 0xa5,0x7e,0x37,0x1, 0x68,0x2e,0x37,0xe, 0xa7,0x7a,0x37,
+0xe, 0xa7,0x7e,0x37,0xe, 0x97,0x9e,0x37,0x1, 0x66,0x12,0x9c,0xec,0x7d,0x3, 0x7e,
+0x37,0xe, 0x99,0x9e,0x37,0x1, 0x68,0x12,0x9c,0xec,0x7d,0xf3,0x7e,0x37,0xe, 0x9b,
+0x9e,0x37,0x1, 0x66,0x12,0x9c,0xec,0x7d,0xe3,0x7e,0x37,0xe, 0x9d,0x9e,0x37,0x1,
+0x68,0x12,0x9c,0xec,0x7d,0x4f,0x2d,0x40,0xbe,0x44,0x0, 0xf, 0x50,0x14,0xbe,0x4,
+0x0, 0x7, 0x50,0xe, 0x2d,0x3e,0xbe,0x34,0x0, 0xa, 0x50,0x6, 0xbe,0xe4,0x0, 0x5,
+0x40,0x53,0x7e,0x23,0xe, 0x89,0xbc,0x2a,0x28,0x4b,0xe4,0x7a,0xb3,0xe, 0x89,0xbe,
+0x44,0x0, 0x4, 0x38,0x2, 0x81,0x41,0x7e,0x37,0xe, 0x9b,0xbe,0x34,0x0, 0x28,0x40,
+0x6, 0xbe,0x34,0x1, 0xa2,0x28,0x24,0x7e,0x27,0xe, 0x9d,0xbe,0x24,0x0, 0x28,0x28,
+0x1a,0xbe,0x24,0x1, 0xa2,0x50,0x14,0x7a,0x37,0x1, 0x66,0x7e,0x27,0x1, 0x68,0x2e,
+0x27,0xe, 0x9d,0x1e,0x24,0x7a,0x27,0x1, 0x68,0x81,0x41,0x7a,0x37,0x1, 0x66,0x7e,
+0x37,0xe, 0x9d,0x80,0x68,0x7e,0x37,0x1, 0x66,0x7a,0x37,0xe, 0x97,0x7e,0x47,0x1,
+0x68,0x7a,0x47,0xe, 0x99,0x7e,0x43,0x1, 0x9a,0x7e,0x50,0x4, 0xac,0x45,0x2e,0x27,
+0x8, 0xf4,0x49,0xf2,0x0, 0x2, 0xb, 0x28,0xe0,0x7e,0xd7,0xe, 0xa3,0x6d,0xcc,0xbf,
+0x67,0x58,0xe, 0x7d,0x2f,0x7a,0x27,0xe, 0xa3,0x7a,0x37,0xe, 0x9f,0x7a,0x47,0xe,
+0xa1,0x7e,0x23,0x1, 0xb6,0x7a,0x23,0x1, 0xb5,0x80,0x56,0xa, 0x23,0xb, 0x24,0x1b,
+0x24,0x7e,0x17,0xe, 0xa5,0x8d,0x12,0x7a,0x17,0xe, 0x97,0x7e,0x37,0xe, 0xa7,0x8d,
+0x32,0x7a,0x37,0xe, 0x99,0x7e,0x27,0xe, 0x97,0x7a,0x27,0x1, 0x66,0x7a,0x37,0x1,
+0x68,0x80,0x2e,0x7e,0xb3,0xe, 0x89,0xbc,0xba,0x28,0x1c,0x7e,0x37,0xe, 0x9f,0x7a,
+0x37,0x1, 0x66,0x7e,0x37,0xe, 0xa1,0x7a,0x37,0x1, 0x68,0x74,0x1, 0x7a,0xb3,0x1,
+0xb5,0x7a,0xb3,0xe, 0x8a,0x80,0x5, 0xe4,0x7a,0xb3,0x1, 0xb5,0xe4,0x7a,0xb3,0xe,
+0x89,0x7e,0xb3,0x1, 0xb5,0x70,0x5, 0xe4,0x7a,0xb3,0x1, 0xb9,0x22,0xca,0x79,0x7e,
+0xb3,0xd, 0xde,0xb4,0x6, 0x2, 0x80,0x2, 0xc1,0x5c,0xe5,0x68,0x7a,0xb3,0xd, 0xde,
+0x7e,0xe3,0xe, 0x4, 0x7c,0xbe,0x24,0xb0,0xbe,0xb0,0xe, 0x40,0x2, 0xc1,0x59,0x7e,
+0xa0,0x3, 0xa4,0x90,0x34,0x77,0x73,0x2, 0x34,0xa1,0x2, 0x35,0x23,0x2, 0x35,0x56,
+0x2, 0x35,0x9d,0x2, 0x36,0x59,0x2, 0x35,0xfa,0x2, 0x36,0x59,0x2, 0x35,0xfa,0x2,
+0x36,0x59,0x2, 0x35,0xfa,0x2, 0x36,0x59,0x2, 0x35,0xfa,0x2, 0x36,0x59,0x2, 0x36,
+0x51,0x7e,0xb3,0xe, 0x5, 0xf5,0x92,0x7e,0x73,0xe, 0x6, 0x7a,0x73,0xd, 0xc8,0x7e,
+0x34,0x0, 0x33,0xca,0x39,0x7e,0x18,0xe, 0x7, 0x7e,0x8, 0x9, 0x62,0x12,0x9c,0xb5,
+0x1b,0xfd,0x7e,0x73,0xe, 0x3a,0x7a,0x73,0x1, 0xe6,0x7e,0x34,0x0, 0x6, 0xca,0x39,
+0x7e,0x18,0xe, 0x3b,0x7e,0x8, 0x1, 0xc9,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x73,0xe,
+0x41,0x7a,0x73,0x2, 0x1e,0x7e,0x34,0x0, 0x4, 0xca,0x39,0x7e,0x18,0xe, 0x42,0x7e,
+0x8, 0x1, 0xe9,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x73,0xe, 0x46,0x7a,0x73,0x2, 0x21,
+0x7e,0x34,0x0, 0x1c,0xca,0x39,0x7e,0x18,0xe, 0x47,0x7e,0x8, 0x1, 0xed,0x12,0x9c,
+0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0xb, 0xca,0x39,0x7e,0x18,0xe, 0x63,0x7e,0x8, 0x1,
+0x49,0x80,0x73,0x7e,0x73,0xe, 0x5, 0x7a,0x73,0x2, 0x1e,0x7e,0x34,0x0, 0x12,0xca,
+0x39,0x7e,0x18,0xe, 0x6, 0x7e,0x8, 0x2, 0x23,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x73,
+0xe, 0x18,0x7a,0x73,0x2, 0x1d,0x7e,0x34,0x0, 0x58,0xca,0x39,0x7e,0x18,0xe, 0x19,
+0x7e,0x8, 0x2, 0x85,0x80,0x40,0x7e,0x73,0xe, 0x5, 0x7a,0x73,0x2, 0x20,0x7e,0x34,
+0x0, 0x4, 0xca,0x39,0x7e,0x18,0xe, 0x6, 0x7e,0x8, 0x2, 0x9, 0x12,0x9c,0xb5,0x1b,
+0xfd,0x7e,0x34,0x0, 0x50,0xca,0x39,0x7e,0x18,0xe, 0xa, 0x7e,0x8, 0x2, 0x35,0x12,
+0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x26,0xca,0x39,0x7e,0x17,0x1, 0xc1,0x1a,0x2,
+0x1a,0x0, 0x7e,0x18,0xe, 0x5a,0x12,0x9c,0xb5,0x1b,0xfd,0xc1,0x59,0x7e,0x34,0x0,
+0x2e,0xca,0x39,0x7e,0x18,0xe, 0x5, 0x7e,0x8, 0x9, 0x67,0x12,0x9c,0xb5,0x1b,0xfd,
+0x6c,0xff,0xa, 0x3f,0x9, 0x73,0xe, 0x5, 0xbc,0x7f,0x68,0x5, 0x75,0x6a,0x1, 0x80,
+0x7, 0xb, 0xf0,0xbe,0xf0,0x16,0x40,0xea,0xbe,0xf0,0x16,0x50,0x2, 0xc1,0x59,0x7e,
+0xb3,0xd, 0x8f,0x1b,0xb2,0x68,0xd, 0x14,0x68,0x5, 0x7e,0xf0,0x2e,0x80,0x8, 0x7e,
+0xf0,0x24,0x80,0x3, 0x7e,0xf0,0x16,0x7a,0xf3,0xd, 0x6a,0xe4,0x7a,0xb3,0xd, 0x6b,
+0x7a,0xf3,0x9, 0x63,0x7a,0xb3,0x9, 0x64,0x80,0x5f,0xbe,0xe0,0x55,0x68,0x5, 0xbe,
+0xe0,0x57,0x78,0x3, 0xe4,0x80,0x2, 0x74,0x1, 0x7a,0xb3,0xe, 0x2, 0x7e,0x34,0x0,
+0x14,0xca,0x39,0xa, 0x2e,0x9e,0x24,0x0, 0x55,0xad,0x32,0x7e,0x24,0x0, 0x2, 0x12,
+0x9a,0x2e,0x7d,0x13,0x2e,0x14,0x2, 0x35,0x6d,0x0, 0x7e,0x18,0xe, 0x5, 0x12,0x9c,
+0xb5,0x1b,0xfd,0x6c,0xff,0xa, 0x3f,0x9, 0xb3,0xe, 0x5, 0x70,0x7, 0xb, 0xf0,0xbe,
+0xf0,0x14,0x40,0xf1,0xbe,0xf0,0x14,0x40,0x10,0x74,0x2, 0x7a,0xb3,0x1, 0xe6,0x80,
+0x8, 0x7e,0x73,0xe, 0x5, 0x7a,0x73,0x1, 0xe6,0x12,0x86,0x15,0xda,0x79,0x22,0xca,
+0x3b,0x6c,0xff,0x75,0x29,0x0, 0x7e,0x64,0x3, 0xe8,0x7e,0xe0,0x1, 0xe1,0xc0,0x1a,
+0x2e,0x7e,0x34,0x0, 0x22,0xad,0x32,0x2e,0x34,0x87,0xe8,0x7a,0x71,0x82,0x7a,0x61,
+0x83,0xe4,0x93,0x12,0x6d,0x9a,0x70,0x2, 0xe1,0xbe,0x6d,0x33,0x7a,0x35,0x2a,0x7a,
+0x35,0x2c,0x7a,0x35,0x2e,0x7a,0x35,0x30,0x7a,0x35,0x32,0x1a,0x2e,0x7e,0x34,0x0,
+0x22,0xad,0x32,0x7d,0x23,0x2e,0x24,0x87,0xea,0x7a,0x25,0x34,0x2e,0x34,0x87,0xfa,
+0x7a,0x35,0x36,0x75,0x25,0x1, 0xe5,0x25,0x1a,0x3b,0x9, 0x53,0x10,0x60,0x1a,0x25,
+0x2e,0x35,0x34,0x7a,0x71,0x82,0x7a,0x61,0x83,0xe4,0x93,0x1a,0x3b,0x9d,0x32,0x12,
+0x9c,0xec,0x7d,0x3, 0x7e,0x15,0x2e,0xbd,0x10,0x58,0x3, 0x7a,0x5, 0x2e,0xe5,0x25,
+0x1a,0x3b,0x9, 0x53,0x10,0x70,0x1a,0x25,0x2e,0x35,0x36,0x7a,0x71,0x82,0x7a,0x61,
+0x83,0xe4,0x93,0x1a,0x3b,0x9d,0x32,0x12,0x9c,0xec,0x7d,0xf3,0x7e,0x15,0x30,0xbd,
+0x1f,0x58,0x3, 0x7a,0xf5,0x30,0x7d,0x10,0x2e,0x15,0x2a,0x7a,0x15,0x2a,0x7d,0x1f,
+0x2e,0x15,0x2c,0x7a,0x15,0x2c,0x2d,0xf0,0x7e,0x15,0x32,0xbd,0x1f,0x58,0x3, 0x7a,
+0xf5,0x32,0x5, 0x25,0xe5,0x25,0xb4,0x10,0x8d,0x7e,0x35,0x2a,0xbe,0x34,0x1, 0x80,
+0x8, 0x2, 0xe1,0xbe,0x7e,0x37,0x10,0x47,0xbe,0x35,0x2c,0x58,0x2, 0xe1,0xbe,0x7e,
+0x35,0x2e,0xbe,0x34,0x0, 0x2d,0x58,0x76,0x7e,0x37,0x10,0x5e,0xbe,0x35,0x30,0x8,
+0x6d,0x7e,0x15,0x34,0x7e,0x4, 0x0, 0xff,0x7e,0x18,0x10,0x60,0x12,0x61,0xc1,0xf5,
+0x26,0xbe,0xb0,0x38,0x48,0x58,0x7e,0x15,0x36,0x7e,0x4, 0x0, 0xff,0x7e,0x18,0x10,
+0x70,0x12,0x61,0xc1,0xf5,0x27,0xbe,0xb0,0x38,0x48,0x43,0x7e,0x71,0x27,0xe, 0x70,
+0x1a,0x27,0x7e,0x71,0x26,0xe, 0x70,0x1a,0x37,0x2d,0x32,0x7a,0x71,0x28,0xbe,0x70,
+0x32,0x48,0x2b,0x7e,0x35,0x2e,0x2e,0x35,0x2e,0x2e,0x35,0x32,0x7a,0x35,0x38,0xe5,
+0x28,0x1a,0x2b,0x7e,0x34,0x0, 0x64,0x9d,0x32,0x3e,0x34,0x2e,0x35,0x38,0x7a,0x35,
+0x38,0xbe,0x65,0x38,0x8, 0x8, 0x7e,0x65,0x38,0x85,0x28,0x29,0x7c,0xfe,0xb, 0xe0,
+0x7e,0x73,0x10,0x59,0xbc,0x7e,0x8, 0x2, 0xc1,0x6f,0xe5,0x29,0xbe,0xb0,0x46,0x48,
+0x23,0x1a,0x2f,0x7e,0x34,0x0, 0x22,0xad,0x32,0x2e,0x34,0x87,0xe8,0x7a,0x71,0x82,
+0x7a,0x61,0x83,0xe4,0x93,0xbe,0xb0,0xff,0x50,0xa, 0x1a,0x3f,0xb, 0x34,0x7a,0x73,
+0x10,0x4d,0x80,0x6, 0x74,0x7e,0x7a,0xb3,0x10,0x4d,0xda,0x3b,0x22,0xff,0xff,0xff,
+0xca,0x69,0xca,0xf8,0x7e,0xb7,0x1, 0xc9,0x9e,0xb4,0x0, 0x3c,0x7e,0xa7,0x1, 0xcb,
+0x9e,0xa4,0x0, 0x3c,0x7e,0x3, 0x1, 0xb5,0x7e,0xb3,0x1, 0x4b,0x70,0x2, 0x41,0x9,
+0x4c,0x0, 0x78,0x2, 0x41,0x9, 0x6c,0x11,0x74,0x5, 0xac,0xb1,0x9, 0xf5,0x1, 0x88,
+0xbe,0xf0,0x2, 0x50,0x2e,0x49,0x15,0x1, 0x84,0x49,0x45,0x1, 0x86,0x74,0x6, 0xac,
+0xbf,0x9, 0xb5,0x1, 0x93,0x70,0x1c,0x74,0x4, 0xac,0xbf,0x59,0x15,0xe, 0xd2,0x59,
+0x45,0xe, 0xd4,0x59,0x15,0xe, 0xda,0x59,0x45,0xe, 0xdc,0x59,0x15,0xe, 0xe2,0x59,
+0x45,0xe, 0xe4,0xb, 0x10,0xa5,0xb9,0x2, 0xbf,0x12,0x79,0x4, 0x60,0x28,0x6c,0x11,
+0x7e,0x50,0x5, 0xac,0x51,0x9, 0xa2,0x1, 0x88,0x74,0x4, 0xa4,0x49,0x35,0xe, 0xd2,
+0x59,0x32,0x1, 0x84,0x49,0x35,0xe, 0xd4,0x74,0x5, 0xac,0xb1,0x59,0x35,0x1, 0x86,
+0xb, 0x10,0xa5,0xb9,0x2, 0xda,0x6c,0x11,0x41,0x3, 0x74,0x5, 0xac,0xb1,0x9, 0xf5,
+0x1, 0x88,0xbe,0xf0,0x2, 0x40,0x2, 0x41,0x1, 0x49,0x15,0x1, 0x84,0x49,0x45,0x1,
+0x86,0x74,0x4, 0xac,0xbf,0x49,0x85,0xe, 0xd2,0x7d,0x91,0x9d,0x98,0x49,0x35,0xe,
+0xd4,0x7d,0x84,0x9d,0x83,0x49,0x25,0xe, 0xda,0x7d,0x31,0x9d,0x32,0x7a,0x35,0x23,
+0x49,0x35,0xe, 0xdc,0x7d,0x54,0x9d,0x53,0x7a,0x55,0x25,0xbe,0x14,0x0, 0x3c,0x40,
+0xe, 0xbd,0xb1,0x40,0xa, 0xbe,0x44,0x0, 0x3c,0x40,0x4, 0xbd,0xa4,0x50,0xe, 0x7e,
+0x73,0x0, 0x94,0xa, 0xe7,0x7d,0xce,0x7e,0x73,0x0, 0x95,0x80,0xc, 0x7e,0x73,0x0,
+0x92,0xa, 0xe7,0x7d,0xce,0x7e,0x73,0x0, 0x93,0xa, 0xf7,0x7d,0xdf,0x2e,0xf4,0x0,
+0x5, 0x7e,0x35,0x25,0x12,0x9c,0xec,0x7d,0x53,0x7e,0x35,0x23,0x12,0x9c,0xec,0x2d,
+0x53,0xbe,0x54,0x0, 0x16,0x18,0x57,0x7d,0x39,0x12,0x9c,0xec,0xbd,0x3c,0x18,0x17,
+0x7d,0x38,0x12,0x9c,0xec,0xbd,0x3d,0x18,0xe, 0x74,0x4, 0xac,0xbf,0x49,0x15,0xe,
+0xd2,0x49,0x45,0xe, 0xd4,0x80,0x78,0x7d,0x39,0x12,0x9c,0xec,0xbd,0x3e,0x18,0x6f,
+0x7d,0x38,0x12,0x9c,0xec,0xbd,0x3f,0x18,0x66,0x7e,0x90,0x4, 0xac,0x9f,0x49,0x14,
+0xe, 0xd2,0x7e,0x64,0x0, 0x3, 0x7d,0x39,0x7d,0x26,0x12,0x9a,0x2e,0x2d,0x13,0x49,
+0x44,0xe, 0xd4,0x7d,0x38,0x7d,0x26,0x12,0x9a,0x2e,0x2d,0x43,0x80,0x41,0x7e,0x70,
+0x4, 0xac,0x7f,0x49,0x23,0xe, 0xd2,0xbd,0x21,0x68,0x8, 0x49,0x23,0xe, 0xe2,0xbd,
+0x21,0x78,0x2c,0x49,0x23,0xe, 0xd4,0xbd,0x24,0x68,0x8, 0x49,0x23,0xe, 0xe4,0xbd,
+0x24,0x78,0x1c,0x7e,0xb3,0xe, 0xea,0x4, 0x7a,0xb3,0xe, 0xea,0x7e,0x53,0xe, 0xea,
+0xbe,0x50,0xa, 0x28,0xf, 0x59,0x13,0xe, 0xda,0x59,0x43,0xe, 0xdc,0x80,0x5, 0xe4,
+0x7a,0xb3,0xe, 0xea,0x7e,0x70,0x4, 0xac,0x7f,0x49,0x23,0xe, 0xd2,0xbd,0x21,0x78,
+0x8, 0x49,0x53,0xe, 0xd4,0xbd,0x54,0x68,0xc, 0x59,0x23,0xe, 0xe2,0x49,0x53,0xe,
+0xd4,0x59,0x53,0xe, 0xe4,0x74,0x4, 0xac,0xbf,0x59,0x15,0xe, 0xd2,0x74,0x4, 0xac,
+0xbf,0x59,0x45,0xe, 0xd4,0x74,0x5, 0xac,0xb1,0x59,0x15,0x1, 0x84,0x59,0x45,0x1,
+0x86,0xb, 0x10,0xbc,0x1, 0x28,0x2, 0x1, 0x9a,0xda,0xf8,0xda,0x69,0x22,0xca,0xf8,
+0x7e,0x34,0x0, 0x3e,0xca,0x39,0x7e,0x34,0xb4,0x78,0x7e,0x24,0x0, 0xff,0x7e,0x8,
+0x0, 0xed,0x12,0x9c,0xb5,0x1b,0xfd,0x90,0xb4,0x45,0xe4,0x93,0x7a,0xb3,0xd, 0x6a,
+0x90,0xb4,0x48,0xe4,0x93,0xa, 0x2b,0x90,0xb4,0x46,0xe4,0x93,0xa, 0x3b,0x9d,0x32,
+0x7a,0x73,0xd, 0x6b,0x7e,0x34,0x0, 0x5, 0xca,0x39,0x7e,0x34,0xb4,0x44,0x7e,0x24,
+0x0, 0xff,0x7e,0x8, 0x9, 0x62,0x12,0x9c,0xb5,0x1b,0xfd,0xe5,0x6a,0x70,0x17,0x7e,
+0x34,0x0, 0x2e,0xca,0x39,0x7e,0x34,0xb4,0x49,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x9,
+0x67,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x10,0xca,0x39,0x7e,0x34,0xb6,0x46,
+0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x1, 0x49,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0,
+0x4, 0xca,0x39,0x7e,0x34,0xb6,0x6e,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x0, 0x92,0x12,
+0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x5a,0xca,0x39,0x7e,0x34,0xb5,0x26,0x7e,0x24,
+0x0, 0xff,0x7e,0x8, 0x1, 0xc1,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x12,0xca,
+0x39,0x7e,0x34,0xb5,0x85,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x2, 0x23,0x12,0x9c,0xb5,
+0x1b,0xfd,0x7e,0x34,0x0, 0x50,0xca,0x39,0x7e,0x34,0xb5,0x97,0x7e,0x24,0x0, 0xff,
+0x7e,0x8, 0x2, 0x35,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x58,0xca,0x39,0x7e,
+0x34,0xb5,0xe7,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x2, 0x85,0x12,0x9c,0xb5,0x1b,0xfd,
+0x7e,0x34,0x0, 0x5, 0xca,0x39,0x7e,0x34,0xb5,0x80,0x7e,0x24,0x0, 0xff,0x7e,0x8,
+0x2, 0x1d,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x6, 0xca,0x39,0x7e,0x34,0xb6,
+0x46,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x1, 0x49,0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,
+0x0, 0x6, 0xca,0x39,0x7e,0x34,0xb6,0x62,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x0, 0xc4,
+0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x8, 0xca,0x39,0x7e,0x34,0xb6,0x72,0x7e,
+0x24,0x0, 0xff,0x7e,0x8, 0x0, 0xa2,0x12,0x9c,0xb5,0x1b,0xfd,0x90,0xb6,0x7c,0xe4,
+0x93,0x7a,0xb3,0x0, 0xb1,0x90,0xb6,0x7d,0xe4,0x93,0x7a,0xb3,0x0, 0xb2,0x7e,0x34,
+0x0, 0x6, 0xca,0x39,0x7e,0x34,0xb6,0x86,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x0, 0xb3,
+0x12,0x9c,0xb5,0x1b,0xfd,0x7e,0x34,0x0, 0x8, 0xca,0x39,0x7e,0x34,0xb6,0x7e,0x7e,
+0x24,0x0, 0xff,0x7e,0x8, 0x0, 0x96,0x12,0x9c,0xb5,0x1b,0xfd,0x90,0xb4,0xc6,0xe4,
+0x93,0x7c,0x7b,0x74,0x64,0xac,0x7b,0x7e,0x24,0x0, 0x3, 0x12,0x9a,0x2e,0x7a,0x37,
+0x0, 0xae,0x7e,0x34,0xb6,0x7a,0x7e,0x24,0x0, 0xff,0xb, 0x1a,0x30,0x7a,0x37,0x0,
+0xac,0x7e,0xf3,0xd, 0xde,0x7e,0x34,0x0, 0x60,0xca,0x39,0x7e,0x34,0xb4,0xc6,0x7e,
+0x24,0x0, 0xff,0x7e,0x8, 0xd, 0xa2,0x12,0x9c,0xb5,0x1b,0xfd,0x90,0xb4,0x12,0xe4,
+0x93,0x7a,0xb3,0xd, 0xca,0x90,0xb4,0x44,0xe4,0x93,0x7a,0xb3,0xd, 0xc2,0x7a,0xf3,
+0xd, 0xde,0x12,0x85,0x6f,0x12,0x85,0x27,0x12,0x85,0xf, 0x12,0x85,0x87,0x12,0x85,
+0x57,0x12,0x84,0xf7,0x12,0x84,0xdf,0x12,0x85,0x3f,0x12,0x85,0x9f,0xda,0xf8,0x22,
+0xca,0xd8,0xca,0x79,0x6d,0xff,0x7e,0xa3,0x1, 0xb5,0x7c,0xa, 0xe5,0x60,0xbe,0xb0,
+0xa, 0x50,0x2, 0x5, 0x60,0x4c,0xaa,0x78,0x24,0x6c,0x11,0x6d,0x11,0x7e,0x70,0x2,
+0xac,0x71,0x59,0x13,0x11,0x30,0x7e,0x70,0xff,0x7e,0x30,0x5, 0xac,0x31,0x19,0x71,
+0x11,0x2a,0xb, 0x10,0xa5,0xb9,0x2, 0xe3,0x75,0x60,0x0, 0x80,0x14,0xbe,0xa0,0x0,
+0x28,0xf, 0x7e,0xb3,0x1, 0xb6,0x70,0x9, 0xe4,0x7a,0xb3,0x11,0x34,0x7a,0xb3,0x11,
+0x35,0x6c,0x11,0xa1,0xd5,0x74,0x5, 0xac,0xb1,0x9, 0xf5,0x1, 0x6a,0xbe,0xf0,0x2,
+0x40,0x2, 0xa1,0xd3,0x74,0x6, 0xac,0xbf,0x9, 0xb5,0x1, 0x93,0xbe,0xb0,0x1, 0x78,
+0x2, 0xa1,0xd3,0x6c,0xee,0x74,0x5, 0xac,0xbe,0x9, 0xd5,0x11,0x2a,0xbc,0xdf,0x68,
+0x2, 0xa1,0xca,0x49,0x25,0x11,0x26,0x74,0x5, 0xac,0xb1,0x49,0x35,0x1, 0x66,0x9d,
+0x32,0x12,0x9c,0xec,0x7d,0xf3,0x74,0x5, 0xac,0xbe,0x49,0x25,0x11,0x28,0x74,0x5,
+0xac,0xb1,0x49,0x35,0x1, 0x68,0x9d,0x32,0x12,0x9c,0xec,0x7d,0x43,0x2d,0x4f,0xe5,
+0x60,0xb4,0x2, 0x11,0xbe,0x44,0x0, 0x50,0x28,0xb, 0x7e,0x15,0x5e,0x74,0x2, 0xac,
+0xbf,0x59,0x15,0x11,0x30,0x74,0x5, 0xac,0xbe,0x49,0x15,0x11,0x28,0xbe,0x17,0x0,
+0xd2,0x78,0xe, 0x74,0x5, 0xac,0xb1,0x49,0x15,0x1, 0x68,0xbe,0x17,0x0, 0xd2,0x78,
+0x69,0xa, 0x1d,0x9, 0xa1,0x11,0x34,0xbe,0xa0,0x0, 0x28,0x17,0x7e,0x30,0x2, 0xac,
+0x3d,0x59,0x41,0x11,0x30,0xa, 0x1d,0x2e,0x14,0x11,0x34,0x7c,0xba,0x14,0x7a,0x19,
+0xb0,0xa1,0xd3,0x7e,0x30,0x2, 0xac,0x3d,0x49,0xe1,0x11,0x30,0xbe,0xe4,0x0, 0x32,
+0x28,0x14,0xbe,0x44,0x0, 0x32,0x28,0xe, 0x59,0x41,0x11,0x30,0x74,0x2, 0xa, 0x3d,
+0x19,0xb3,0x11,0x34,0xa1,0xd3,0x7d,0x5e,0x2e,0x54,0x0, 0x32,0xbd,0x54,0x50,0x14,
+0xbe,0xe4,0x0, 0x32,0x28,0xe, 0x59,0x41,0x11,0x30,0x74,0x2, 0xa, 0x1d,0x19,0xb1,
+0x11,0x34,0x80,0x7f,0xbe,0x44,0x0, 0x96,0x28,0x66,0xe4,0xa, 0x1d,0x19,0xb1,0x11,
+0x34,0x7e,0x30,0x6, 0xac,0x3f,0x9, 0xb1,0x1, 0x93,0x70,0x4, 0x74,0x3, 0x80,0x8,
+0x7e,0xb3,0x10,0xed,0x70,0x6, 0x74,0x1, 0x19,0xb1,0x1, 0x93,0x7e,0x70,0x5, 0xac,
+0x71,0x2e,0x34,0x1, 0x66,0x7e,0x14,0xc, 0xa0,0x74,0x5, 0x12,0x9b,0x1, 0xbe,0x0,
+0x0, 0x28,0x2d,0x1b,0x0, 0x7e,0x70,0x5, 0xac,0x70,0x2e,0x34,0x1, 0x66,0x7e,0x30,
+0x5, 0xac,0x31,0x2e,0x14,0x1, 0x66,0x74,0x5, 0x12,0x9b,0x1, 0x7e,0x34,0xc, 0xa0,
+0x7e,0x30,0x5, 0xac,0x30,0x2e,0x14,0x1, 0x66,0x74,0x5, 0x12,0x9b,0x1, 0x1b,0x10,
+0x74,0x2, 0xac,0xbd,0x59,0x45,0x11,0x30,0x80,0x9, 0xb, 0xe0,0xbe,0xe0,0x2, 0x50,
+0x2, 0x81,0x85,0xb, 0x10,0x7e,0x73,0x1, 0xb5,0xbc,0x71,0x28,0x2, 0x81,0x65,0x7a,
+0x3, 0x1, 0xb5,0x6c,0x11,0x7e,0x30,0x5, 0xac,0x31,0x7d,0x31,0x2e,0x34,0x1, 0x66,
+0x2e,0x14,0x11,0x26,0x74,0x5, 0x12,0x9b,0x1, 0xb, 0x10,0xbe,0x10,0x2, 0x40,0xe5,
+0xda,0x79,0xda,0xd8,0x22,0x7e,0xb3,0x1, 0x28,0x70,0x2, 0xe1,0xdf,0x7e,0xb3,0xd,
+0xad,0x70,0x2, 0xe1,0xdf,0x7e,0x37,0x0, 0x81,0xbe,0x37,0x10,0xd7,0x50,0x30,0x7e,
+0x27,0x0, 0x85,0xbe,0x27,0x10,0xd7,0x50,0x4, 0x74,0x3, 0x80,0x16,0x7e,0x27,0x0,
+0x83,0xbe,0x27,0x10,0xd7,0x50,0x4, 0x74,0x2, 0x80,0x8, 0xbe,0x37,0x10,0xd7,0x50,
+0x6, 0x74,0x1, 0x7a,0xb3,0x10,0xec,0x74,0x1, 0x7a,0xb3,0x10,0xed,0x80,0x9, 0xe4,
+0x7a,0xb3,0x10,0xed,0x7a,0xb3,0x10,0xec,0x7e,0x73,0x10,0xf0,0x7c,0xb7,0x30,0xe7,
+0xe, 0x7e,0xb3,0x10,0xe8,0xbe,0xb0,0x0, 0x28,0x5, 0x14,0x7a,0xb3,0x10,0xe8,0x3e,
+0x70,0x7a,0x73,0x10,0xf0,0x7e,0xb3,0x10,0xed,0x60,0x11,0x7e,0xb3,0x10,0xe8,0x4,
+0x7a,0xb3,0x10,0xe8,0x7e,0xb3,0x10,0xf0,0x44,0x1, 0x80,0x6, 0x7e,0xb3,0x10,0xf0,
+0x54,0xfe,0x7a,0xb3,0x10,0xf0,0x7e,0x73,0x0, 0x87,0xbe,0x73,0x10,0xe8,0x50,0x6,
+0x74,0x1, 0x7a,0xb3,0x10,0xd9,0x7e,0x37,0x0, 0x81,0xbe,0x37,0x10,0xd5,0x50,0x9,
+0x7e,0xb3,0x10,0xe7,0x4, 0x7a,0xb3,0x10,0xe7,0x7e,0xb3,0x10,0xda,0xbe,0xb0,0x4,
+0x50,0x7, 0x4, 0x7a,0xb3,0x10,0xda,0xe1,0x74,0x7e,0x73,0x10,0xe7,0xbe,0x70,0x2,
+0x50,0x2f,0x7e,0xa3,0x10,0xef,0xbe,0xa0,0xff,0x78,0xa, 0x7e,0xb3,0x10,0xea,0x7a,
+0xb3,0x10,0xef,0x80,0x1c,0x74,0x2, 0xa4,0x49,0x25,0x10,0xdb,0x7e,0xa3,0x10,0xea,
+0x7e,0x70,0x2, 0xac,0x7a,0x49,0x33,0x10,0xdb,0xbd,0x32,0x50,0x4, 0x7a,0xa3,0x10,
+0xef,0xe4,0x7a,0xb3,0x10,0xda,0x7a,0xb3,0x10,0xe7,0x7e,0xb3,0x10,0xea,0x4, 0x7a,
+0xb3,0x10,0xea,0x7e,0x73,0x10,0xea,0xbe,0x70,0x4, 0x28,0xb, 0xe4,0x7a,0xb3,0x10,
+0xea,0x74,0x1, 0x7a,0xb3,0x10,0xf1,0x7e,0x73,0x10,0xeb,0xbe,0x73,0x10,0xea,0x78,
+0x1d,0x7e,0xb3,0x10,0xea,0x4, 0x7a,0xb3,0x10,0xea,0x7e,0x73,0x10,0xea,0xbe,0x70,
+0x4, 0x28,0xb, 0xe4,0x7a,0xb3,0x10,0xea,0x74,0x1, 0x7a,0xb3,0x10,0xf1,0x7e,0x73,
+0x10,0xea,0xa, 0x37,0x2e,0x34,0x0, 0x3, 0x7a,0x73,0x10,0xe6,0x74,0x1, 0x7a,0xb3,
+0x10,0xee,0x7e,0xb3,0x10,0xf1,0x60,0xc, 0x7e,0x8, 0x10,0xdb,0x7e,0x34,0x0, 0xa,
+0xe4,0x12,0x9c,0xda,0x7e,0xb3,0x10,0xd9,0x60,0x60,0x7e,0xb3,0x10,0xf1,0x60,0x5a,
+0x7e,0x73,0x10,0xef,0xbe,0x70,0xff,0x68,0x3e,0x7a,0x73,0x10,0xeb,0xa, 0x37,0x2e,
+0x34,0x0, 0x3, 0x7a,0x73,0x10,0xe5,0x74,0x1, 0x7a,0xb3,0x10,0xee,0xe4,0x7a,0xb3,
+0x10,0xe8,0x7a,0xb3,0x10,0xf0,0x7a,0xb3,0x10,0xea,0x7e,0xb3,0x10,0xeb,0x70,0x9,
+0x7e,0xb3,0x10,0xea,0x4, 0x7a,0xb3,0x10,0xea,0xe4,0x7a,0xb3,0x10,0xd9,0x74,0xff,
+0x7a,0xb3,0x10,0xef,0xe4,0x80,0xf, 0x7e,0xb3,0x1, 0x29,0x60,0xd, 0xe5,0x66,0x70,
+0x3, 0x30,0x9, 0x6, 0x74,0x1, 0x7a,0xb3,0x10,0xe9,0xe4,0x7a,0xb3,0x10,0xf1,0x22,
+0x7c,0xab,0x7e,0xb3,0x1, 0xb5,0x4, 0x7a,0xb3,0x1, 0xb5,0x74,0x2, 0xa4,0x49,0x35,
+0x0, 0xca,0x7a,0x37,0x1, 0x66,0x7e,0x37,0x0, 0xd2,0x7a,0x37,0x1, 0x68,0x22,0xff,
+0xca,0xf8,0x6c,0xff,0x7e,0xb3,0x1, 0xb9,0x70,0x14,0x7e,0xb3,0x1, 0xbb,0x70,0xe,
+0x7e,0xb3,0x1, 0xbd,0x70,0x8, 0x7e,0xb3,0x1, 0xba,0x70,0x2, 0x21,0x7c,0x7e,0xb3,
+0x1, 0xb4,0x4, 0x7a,0xb3,0x1, 0xb4,0x7e,0x73,0x1, 0xb4,0xbe,0x70,0x2, 0x40,0x6,
+0x74,0x2, 0x7a,0xb3,0x1, 0xb4,0x20,0xe, 0x6, 0x7e,0xf4,0x10,0xf2,0x80,0x4, 0x7e,
+0xf4,0x11,0x0, 0x7d,0x1f,0x6d,0x0, 0x7e,0x34,0x0, 0xe, 0x74,0xff,0x12,0x9c,0xda,
+0xe5,0x63,0x7a,0xf9,0xb0,0x6c,0x33,0x6c,0x22,0x7e,0x70,0x5, 0xac,0x73,0x9, 0x13,
+0x1, 0x88,0xbe,0x10,0xff,0x78,0x2, 0x21,0x19,0x74,0x6, 0xac,0xb1,0x9, 0x5, 0x1,
+0x93,0xbe,0x0, 0x3, 0x78,0x2, 0x21,0x19,0x49,0x23,0x1, 0x84,0x7e,0x37,0x1, 0xc9,
+0x9d,0x32,0x12,0x9c,0xec,0x7d,0x43,0x7e,0x57,0x1, 0xc9,0xbd,0x54,0x78,0x6, 0x7e,
+0x73,0x2, 0x11,0xa, 0x47,0xbe,0x0, 0x1, 0x68,0x2, 0xb, 0xf0,0xa5,0xb8,0x1, 0x3,
+0x75,0x5a,0x0, 0xa, 0x50,0x3, 0x3, 0x54,0xc0,0x7c,0xab,0xe4,0x4d,0x45,0x7e,0xb3,
+0xe, 0x2, 0x60,0x2b,0x4e,0x80,0x10,0x7e,0xa3,0x9, 0xc5,0x74,0x40,0xa4,0xbe,0x57,
+0x1, 0xc9,0x50,0x4, 0x6d,0xee,0x80,0x6, 0x7d,0xe5,0x9e,0xe7,0x1, 0xc9,0x7d,0x54,
+0x5e,0xa0,0xf, 0xbd,0x5e,0x50,0x6, 0x5e,0x44,0xf0,0x0, 0x80,0x2, 0x9d,0x4e,0x7e,
+0x70,0x6, 0xac,0x72,0x7d,0x23,0x2d,0x2f,0x59,0x42,0x0, 0x2, 0x74,0x5, 0xac,0xb3,
+0x49,0x45,0x1, 0x86,0xa, 0x51,0xc4,0x54,0xf0,0x7c,0xab,0xe4,0x5e,0x80,0xf, 0x4d,
+0x45,0x7d,0x23,0x2d,0x2f,0x59,0x42,0x0, 0x4, 0x7d,0x23,0x2d,0x2f,0x19,0xb2,0x0,
+0x6, 0x2d,0x3f,0x19,0xb3,0x0, 0x7, 0xb, 0x20,0xb, 0x30,0xa5,0xbb,0x2, 0x2, 0x80,
+0x2, 0x1, 0x59,0x19,0xff,0x0, 0x1, 0x30,0xe, 0x4, 0xc2,0xe, 0x80,0x2, 0xd2,0xe,
+0x7e,0xb3,0x1, 0xbb,0x60,0x3, 0x12,0x81,0x7c,0xe4,0x7a,0xb3,0x1, 0xb9,0x7a,0xb3,
+0x1, 0xbb,0x7a,0xb3,0x1, 0xbd,0x7e,0xb3,0x1, 0x52,0x60,0x19,0x7e,0xb3,0xd, 0xf2,
+0xb4,0x1, 0x12,0x7e,0xb3,0x1, 0xba,0x60,0x11,0x74,0x1, 0x12,0x87,0xc1,0xe4,0x7a,
+0xb3,0x1, 0xba,0x80,0x5, 0x74,0x1, 0x12,0x87,0xc1,0x74,0x2d,0x12,0x86,0x59,0x7e,
+0xb3,0xd, 0xc6,0xb4,0x1, 0xe, 0xe4,0x12,0x87,0xc1,0x80,0x8, 0xe4,0x12,0x87,0xc1,
+0x7a,0xb3,0x1, 0xb4,0xda,0xf8,0x22,0xca,0x69,0xca,0xf8,0x7e,0xb3,0x1, 0x52,0x70,
+0x2, 0x61,0x9, 0x7e,0xb3,0xd, 0xf2,0x70,0x2, 0x61,0x9, 0x65,0x57,0x68,0x5, 0xe4,
+0x7a,0xb3,0xd, 0xf5,0x7e,0xb3,0xd, 0xf2,0xf5,0x57,0x7e,0x37,0x1, 0x84,0x7e,0x27,
+0x1, 0x86,0x7e,0xa3,0x1, 0xb5,0xbe,0xa0,0x0, 0x38,0x2, 0x41,0x46,0x7e,0x17,0x3,
+0x24,0xbe,0x17,0xb, 0xb6,0x38,0x2, 0x61,0x4, 0xe4,0x7a,0xb3,0xc, 0x7f,0xbe,0xa0,
+0x2, 0x78,0x21,0x30,0xf, 0x1e,0x74,0x26,0x7a,0xb3,0xd, 0xf5,0x74,0x1, 0x7a,0xb3,
+0x1, 0xba,0x6d,0x11,0x7a,0x15,0x58,0x7e,0xb3,0xd, 0xf5,0xf5,0x56,0xe4,0x7a,0xb3,
+0x1, 0xb5,0x80,0x4d,0xbe,0xa0,0x2, 0x38,0x37,0x20,0xf, 0x34,0xe5,0x5a,0xbe,0xb0,
+0x2, 0x50,0x11,0xe5,0x56,0xb4,0x25,0x4, 0x5, 0x5a,0x80,0x2b,0x75,0x56,0x25,0x75,
+0x5a,0x0, 0x80,0x23,0x74,0x25,0x7a,0xb3,0xd, 0xf5,0x74,0x1, 0x7a,0xb3,0x1, 0xba,
+0x6d,0x11,0x7a,0x15,0x58,0x7e,0xb3,0xd, 0xf5,0xf5,0x56,0x75,0x5a,0x0, 0x80,0x11,
+0xe4,0x7a,0xb3,0xd, 0xf5,0xf5,0x56,0xe4,0x7a,0xb3,0x1, 0xba,0x6d,0x11,0x7a,0x15,
+0x58,0x12,0x44,0x90,0x61,0x9, 0x7e,0xf5,0x58,0xbe,0xf4,0x0, 0x1, 0x78,0x23,0x7e,
+0xe7,0xc, 0x9b,0x4d,0xee,0x78,0x2, 0x61,0x9, 0x7e,0xb3,0xc, 0x7f,0x4, 0x7a,0xb3,
+0xc, 0x7f,0x7e,0x73,0xc, 0x7f,0xbe,0x70,0x4, 0x50,0x2, 0x61,0x9, 0x12,0x65,0x18,
+0x61,0x9, 0xbe,0xf4,0x0, 0x2, 0x78,0x58,0x7e,0xa3,0xb, 0xba,0xbe,0xa0,0x1, 0x28,
+0x6, 0x7e,0x67,0x3, 0x4, 0x80,0x4, 0x7e,0x67,0x3, 0x2, 0x7e,0x37,0xb, 0xb8,0xbd,
+0x36,0x28,0x76,0xbe,0xa0,0x2, 0x40,0x6c,0x74,0x2, 0xa4,0x49,0x35,0xc, 0x93,0x9e,
+0x37,0xc, 0x95,0x12,0x9c,0xec,0x7d,0x13,0x7e,0xa3,0xb, 0xba,0x74,0x2, 0xa4,0x49,
+0x35,0xc, 0x8f,0x9e,0x37,0xc, 0x91,0x12,0x9c,0xec,0x7d,0x23,0x2d,0x21,0x7e,0x73,
+0x2, 0xfa,0xa, 0x37,0x3e,0x34,0x3e,0x34,0x3e,0x34,0xbd,0x32,0x38,0x36,0x80,0x34,
+0xbe,0xf0,0x24,0x68,0x5, 0xbe,0xf0,0xfe,0x78,0x1f,0xbe,0xf0,0xfe,0x78,0x5, 0x12,
+0x7d,0x7b,0x7c,0xfb,0x4c,0xff,0x68,0x11,0x7c,0xbf,0x12,0x6d,0x9a,0x60,0xa, 0x7a,
+0xf3,0xd, 0xf5,0x74,0x1, 0x7a,0xb3,0x1, 0xba,0xe4,0x7a,0xb3,0xb, 0xba,0x6d,0x33,
+0x7a,0x37,0xb, 0xb6,0x6d,0x33,0x7a,0x35,0x58,0xda,0xf8,0xda,0x69,0x22,0xca,0x3b,
+0x7c,0x7b,0xbe,0xb0,0x8, 0x50,0x75,0x7e,0xa0,0x3, 0xa4,0x90,0x43,0x1f,0x73,0x2,
+0x43,0x37,0x2, 0x43,0x54,0x2, 0x43,0x7c,0x2, 0x43,0x6a,0x2, 0x43,0x6a,0x2, 0x43,
+0x6a,0x2, 0x43,0x6a,0x2, 0x43,0x6a,0x7e,0x68,0x9, 0xc6,0x7e,0xc3,0x0, 0xef,0x7e,
+0xd3,0x0, 0xf0,0x7e,0xb3,0xd, 0xc7,0xb4,0x1, 0x4, 0x6c,0xff,0x80,0x59,0x7e,0xf3,
+0x0, 0xee,0x80,0x53,0x7e,0x68,0xa, 0x22,0x7e,0xc3,0x1, 0x17,0x7e,0xd3,0x1, 0x18,
+0x7e,0xf3,0x1, 0x15,0x7e,0xe3,0x1, 0x16,0x80,0x41,0x7e,0x68,0x9, 0xc6,0x74,0x2,
+0xac,0xb7,0x9, 0xc5,0x1, 0x13,0x9, 0xd5,0x1, 0x14,0x80,0xc, 0x7e,0x68,0x9, 0xc6,
+0x7e,0xc3,0x0, 0xef,0x7e,0xd3,0x0, 0xf0,0x6c,0xff,0x80,0x1b,0x7e,0x68,0x9, 0xc6,
+0x7e,0xc3,0x0, 0xef,0x7e,0xd3,0x0, 0xf0,0x7e,0xb3,0xd, 0xc7,0xb4,0x1, 0x4, 0x6c,
+0xff,0x80,0x4, 0x7e,0xf3,0x0, 0xee,0x7e,0xe3,0x0, 0xfa,0x7e,0x1f,0x11,0x42,0x69,
+0xa1,0x0, 0xae,0x1e,0xa4,0x1e,0xa4,0x5e,0xa4,0x0, 0x1, 0x68,0x9, 0x7e,0x37,0x11,
+0xe, 0x12,0x0, 0x76,0x80,0x65,0x6c,0xaa,0x80,0x59,0xa, 0x3a,0x9, 0x63,0x9, 0x95,
+0x7e,0x70,0x2, 0xac,0x67,0x2d,0x3d,0x7d,0x2c,0xb, 0x1a,0xb0,0x7d,0x3b,0x12,0x81,
+0x2b,0x7d,0xb3,0x7e,0x30,0x2, 0xac,0x3a,0x7e,0x1f,0x11,0x42,0x2d,0x31,0x2e,0x34,
+0x0, 0x14,0xb, 0x1a,0xa0,0x5e,0xa4,0x0, 0x3f,0x1b,0x1a,0xa0,0x7d,0x4b,0x3e,0x44,
+0x3e,0x44,0x3e,0x44,0x3e,0x44,0x3e,0x44,0x3e,0x44,0x7e,0x30,0x2, 0xac,0x3a,0x7e,
+0x1f,0x11,0x42,0x2d,0x31,0x2e,0x34,0x0, 0x14,0xb, 0x1a,0xa0,0x4d,0xa4,0x1b,0x1a,
+0xa0,0xb, 0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,0xba,0x38,0x9f,0x7e,0x1f,0x11,0x42,0x69,
+0xa1,0x0, 0xae,0x1e,0xa4,0x1e,0xa4,0x5e,0xa4,0x0, 0x1, 0x78,0x12,0xa, 0xbc,0x7d,
+0x1b,0x7c,0x23,0x6c,0x33,0x7d,0xb1,0xa, 0xad,0x2d,0xba,0x79,0xb1,0x0, 0xa2,0xa,
+0x1f,0x5e,0x14,0x0, 0x1f,0x3e,0x14,0x3e,0x14,0x7e,0x1f,0x11,0x42,0x2e,0x34,0x0,
+0xb0,0xb, 0x1a,0xa0,0x5e,0xa4,0xff,0x83,0x4d,0xa1,0x1b,0x1a,0xa0,0x7c,0x6e,0x5e,
+0x60,0x3, 0x7c,0xb6,0xc4,0x54,0xf0,0x7c,0x6b,0x7e,0x73,0x9, 0x25,0x5e,0x70,0xcf,
+0x4c,0x76,0x7a,0x73,0x9, 0x25,0x7e,0x8, 0x9, 0x25,0x12,0x73,0xf7,0xda,0x3b,0x22,
+0xca,0x79,0x7d,0xc2,0x7d,0xb3,0x7d,0x2c,0x12,0x7b,0xc0,0xbe,0xb0,0x1, 0x78,0x2,
+0xc1,0x9, 0x7e,0xa7,0xc, 0x9b,0x4d,0xaa,0x78,0x6, 0x74,0x4, 0x7a,0xb3,0xc, 0x9f,
+0xbe,0xa4,0x0, 0x0, 0x28,0x2a,0x7d,0xda,0x1b,0xd4,0x3e,0xd4,0x3e,0xd4,0x49,0x3d,
+0xb, 0xc1,0x9d,0x3c,0x12,0x9c,0xec,0x7d,0xd3,0x7e,0xa7,0xc, 0x9b,0x1b,0xa4,0x3e,
+0xa4,0x3e,0xa4,0x49,0x3a,0xb, 0xbf,0x9d,0x3b,0x12,0x9c,0xec,0x2d,0xd3,0x80,0x4,
+0x7e,0xd4,0x7f,0xff,0x7e,0x73,0xc, 0x9f,0xa, 0xa7,0xbd,0xad,0x50,0x22,0x7e,0xa7,
+0xc, 0x9b,0x3e,0xa4,0x3e,0xa4,0x59,0xba,0xb, 0xbf,0x7e,0xa7,0xc, 0x9b,0x3e,0xa4,
+0x3e,0xa4,0x59,0xca,0xb, 0xc1,0x7e,0xa7,0xc, 0x9b,0xb, 0xa4,0x7a,0xa7,0xc, 0x9b,
+0x7e,0xa7,0xc, 0x9b,0xbe,0xa4,0x0, 0x30,0x50,0x2, 0xa1,0xd1,0xa1,0xc5,0x6c,0xff,
+0x7e,0xb3,0xc, 0x9f,0xb, 0xb1,0x7a,0xb3,0xc, 0x9f,0x7e,0x73,0xc, 0x9f,0xbe,0x70,
+0xc8,0x28,0xf, 0x7e,0xa7,0x3, 0x24,0x7a,0xa7,0xb, 0xb6,0x6d,0xaa,0x7a,0xa5,0x58,
+0xa1,0xd1,0x7e,0x1f,0xb, 0xbf,0x7a,0x1f,0xc, 0xa0,0x7e,0xe0,0x1, 0x80,0x53,0x74,
+0x4, 0xac,0xbf,0x49,0x25,0xc, 0xa2,0x74,0x4, 0xac,0xbe,0x49,0x35,0xb, 0xc1,0x9d,
+0x32,0x12,0x9c,0xec,0x7d,0xd3,0x74,0x4, 0xac,0xbf,0x49,0x25,0xc, 0xa0,0x74,0x4,
+0xac,0xbe,0x49,0x35,0xb, 0xbf,0x9d,0x32,0x12,0x9c,0xec,0x2d,0xd3,0x7e,0x73,0xc,
+0x9f,0xa, 0xa7,0xbd,0xad,0x38,0x19,0xb, 0xf0,0x7e,0x70,0x4, 0xac,0x7e,0x2e,0x34,
+0xb, 0xbf,0x7e,0x30,0x4, 0xac,0x3f,0x2e,0x14,0xc, 0xa0,0x74,0x4, 0x12,0x9b,0x1,
+0xb, 0xe0,0xa, 0xae,0xbe,0xa7,0xc, 0x9b,0x40,0xa5,0x7e,0xa4,0x0, 0xc0,0xca,0xa9,
+0x7e,0x18,0xc, 0xa0,0x7e,0x8, 0xb, 0xbf,0x12,0x9c,0xb5,0x1b,0xfd,0xa, 0xaf,0xb,
+0xa4,0x7a,0xa7,0xc, 0x9b,0x7e,0xa7,0xc, 0x9b,0xbe,0xa4,0x0, 0x2d,0x28,0x2, 0xa1,
+0x1e,0x7a,0xb7,0xc, 0x85,0x7a,0xc7,0xc, 0x87,0x7e,0xa7,0xc, 0x8d,0xbd,0xab,0x28,
+0x4, 0x7a,0xb7,0xc, 0x8d,0x7e,0xa7,0xc, 0x89,0xbd,0xab,0x50,0x4, 0x7a,0xb7,0xc,
+0x89,0x7e,0x37,0xc, 0x8f,0xbd,0x3c,0x28,0x4, 0x7a,0xc7,0xc, 0x8f,0x7e,0x37,0xc,
+0x8b,0xbd,0x3c,0x50,0x4, 0x7a,0xc7,0xc, 0x8b,0xda,0x79,0x22,0xca,0x79,0x7f,0x70,
+0x29,0xe7,0x0, 0x9e,0x7e,0x73,0x9, 0x62,0xa5,0xbf,0x5, 0x3a,0x6c,0xaa,0x80,0x30,
+0xa, 0x2a,0x7f,0x7, 0x2d,0x12,0x29,0xf0,0x0, 0x42,0xbe,0xf0,0x24,0x50,0xe, 0xa,
+0x2f,0x2e,0x24,0x0, 0x5, 0x7c,0x65,0x39,0x60,0x1, 0x59,0x80,0x11,0xbe,0xf0,0x24,
+0x40,0x8, 0x74,0x2d,0x39,0xb0,0x1, 0x59,0x80,0x4, 0x39,0xf0,0x1, 0x59,0xb, 0xa0,
+0xbc,0xea,0x38,0xcc,0x80,0x75,0xa5,0xbf,0x4, 0x51,0x6c,0xaa,0x80,0x47,0xa, 0x2a,
+0x7f,0x7, 0x2d,0x12,0x29,0xf0,0x0, 0x42,0xbe,0xf0,0x7, 0x40,0xd, 0xbe,0xf0,0xe,
+0x38,0x8, 0xa, 0x2f,0x2e,0x24,0x0, 0xc, 0x80,0x10,0xbe,0xf0,0xf, 0x40,0x13,0xbe,
+0xf0,0x15,0x38,0xe, 0xa, 0x2f,0x2e,0x24,0x0, 0x18,0x7c,0x65,0x39,0x60,0x1, 0x59,
+0x80,0x11,0xbe,0xf0,0x16,0x40,0x8, 0x74,0x1c,0x39,0xb0,0x1, 0x59,0x80,0x4, 0x39,
+0xf0,0x1, 0x59,0xb, 0xa0,0xbc,0xea,0x38,0xb5,0x80,0x20,0xa5,0xbf,0x6, 0x2, 0x80,
+0x2, 0xe1,0x7d,0x6c,0xaa,0x80,0x10,0xa, 0x3a,0x2d,0x3f,0x7d,0x2e,0x29,0xb1,0x0,
+0x42,0x39,0xb1,0x1, 0x59,0xb, 0xa0,0xbc,0xea,0x38,0xec,0x6c,0xaa,0x6d,0x44,0x7e,
+0x30,0x2, 0xac,0x3a,0x7e,0x1f,0x11,0x42,0x2d,0x31,0x79,0x41,0x0, 0x14,0xbc,0xea,
+0x28,0x22,0xa, 0x3a,0x2d,0x3f,0x7d,0x2e,0x29,0xb1,0x1, 0x59,0xa, 0x2b,0x7e,0x70,
+0x2, 0xac,0x7a,0x7e,0xf, 0x11,0x42,0x2d,0x13,0x2e,0x14,0x0, 0x14,0xb, 0xa, 0x30,
+0x4d,0x32,0x80,0x15,0x7e,0x70,0x2, 0xac,0x7a,0x7e,0xf, 0x11,0x42,0x2d,0x13,0x2e,
+0x14,0x0, 0x14,0xb, 0xa, 0x30,0x4e,0x70,0x3f,0x1b,0xa, 0x30,0xb, 0xa0,0xbe,0xa0,
+0x2e,0x78,0xaa,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0x6, 0x7e,0x34,0x0, 0x6, 0xe4,
+0x12,0x9c,0xda,0x6c,0xaa,0x80,0x42,0xa, 0x3a,0x2d,0x3f,0x7d,0x2e,0x29,0x71,0x1,
+0x59,0x7c,0xb7,0xc4,0x54,0xf, 0x7c,0x3b,0xa, 0x37,0x7e,0x24,0x0, 0x10,0x12,0x9a,
+0x2e,0x7c,0x75,0x7e,0x44,0x0, 0x1, 0x7c,0xb7,0x60,0x5, 0x3e,0x44,0x14,0x78,0xfb,
+0x7e,0x50,0x2, 0xac,0x53,0x7e,0x6f,0x11,0x42,0x2d,0xd2,0x2e,0xd4,0x0, 0x6, 0xb,
+0x6a,0x20,0x4d,0x24,0x1b,0x6a,0x20,0xb, 0xa0,0xbc,0xea,0x38,0xba,0xda,0x79,0x22,
+0x6c,0x55,0x80,0x71,0x7e,0x43,0x9, 0x63,0xbc,0x45,0x28,0xe, 0x7e,0xa3,0x0, 0xc4,
+0x7e,0x63,0x0, 0xc5,0x7e,0x73,0x0, 0xc6,0x80,0xc, 0x7e,0xa3,0x0, 0xc7,0x7e,0x63,
+0x0, 0xc8,0x7e,0x73,0x0, 0xc9,0x7e,0x90,0x4, 0xac,0x95,0x2e,0x47,0x8, 0xf4,0x49,
+0xd4,0x0, 0x2, 0xb, 0x48,0xc0,0xa, 0xfa,0x6d,0xee,0xbf,0x67,0x8, 0x12,0xa, 0xb6,
+0x7e,0x90,0x2, 0xac,0x95,0x7f,0x70,0x2d,0xf4,0xb, 0x7a,0x40,0x2d,0x4b,0x80,0x20,
+0xa, 0x4a,0x6d,0xff,0x9d,0xf4,0x7d,0x4f,0x1a,0x48,0x1a,0xe8,0xbf,0x67,0x58,0x13,
+0xa, 0xd7,0x7e,0x90,0x2, 0xac,0x95,0x7f,0x70,0x2d,0xf4,0xb, 0x7a,0x40,0x9d,0x4d,
+0x1b,0x7a,0x40,0xb, 0x50,0x7e,0x43,0x9, 0xc3,0xbc,0x45,0x38,0x87,0x22,0xff,0xff,
+0xca,0xf8,0x7f,0x71,0x69,0x57,0x0, 0xc, 0x69,0x47,0x0, 0x8, 0x9d,0x45,0x7a,0x47,
+0x10,0x49,0x69,0x37,0x0, 0xe, 0x69,0x27,0x0, 0xa, 0x9d,0x23,0x7a,0x27,0x10,0x4b,
+0x6d,0x44,0x7a,0x2f,0x10,0x4e,0x6d,0x22,0x7a,0x1f,0x10,0x52,0x7e,0x35,0x23,0x7a,
+0x37,0x10,0x56,0x74,0xff,0x7a,0xb3,0x10,0x4d,0x1, 0x5a,0x7d,0x52,0x3e,0x54,0x3e,
+0x54,0x7f,0x70,0x2d,0xf5,0xb, 0x7a,0x50,0x7d,0x42,0x3e,0x44,0x59,0x54,0xc, 0xa0,
+0x69,0x57,0x0, 0x2, 0x59,0x54,0xd, 0x0, 0xb, 0x24,0xbd,0x32,0x38,0xdd,0x7e,0x37,
+0x10,0x56,0xbe,0x34,0x0, 0x4, 0x18,0x2, 0x21,0x38,0x7e,0xf7,0x10,0x49,0x7e,0x17,
+0x10,0x4b,0xbd,0x1f,0x8, 0x2, 0x1, 0xa5,0x4d,0x11,0x68,0x2, 0x1, 0x82,0x7e,0x14,
+0x0, 0x1, 0x7d,0x3f,0x7d,0x21,0x12,0x9a,0x2e,0x7c,0xf7,0x7e,0x18,0x0, 0x20,0x7a,
+0x1f,0x10,0x5a,0x7e,0x34,0x0, 0x2d,0x7a,0x37,0x10,0x5e,0x7e,0x34,0x1, 0x80,0x7a,
+0x37,0x10,0x47,0x21,0xa, 0x4d,0xff,0x68,0x2, 0x1, 0xaf,0x7e,0xf4,0x0, 0x1, 0x7d,
+0x31,0x7d,0x2f,0x12,0x9a,0x2e,0x7c,0xf7,0x7e,0x18,0x0, 0x40,0x7a,0x1f,0x10,0x5a,
+0x7e,0x4, 0x0, 0x5a,0x7a,0x7, 0x10,0x5e,0x7e,0x4, 0x3, 0x0, 0x7a,0x7, 0x10,0x47,
+0x7d,0xf, 0x2d,0xf, 0xbd,0x1, 0x18,0x2, 0x21,0xa, 0x7e,0x4, 0x0, 0x51,0x7a,0x7,
+0x10,0x5e,0x7e,0x4, 0x2, 0xb3,0x7a,0x7, 0x10,0x47,0x1a,0x2, 0x1a,0x0, 0x7e,0x1f,
+0x10,0x5a,0x12,0x9a,0x60,0x7d,0x5f,0x1a,0x4a,0x1a,0x48,0x7d,0x1f,0x1a,0x2, 0x1a,
+0x0, 0x2f,0x2, 0x12,0x9a,0xcd,0x7a,0x1f,0x10,0x5a,0xbe,0xf0,0x5, 0x48,0x2, 0x21,
+0x34,0x7e,0x8, 0xc, 0xa0,0x7e,0x18,0xd, 0x0, 0x12,0x5f,0x68,0x7e,0x8, 0xc, 0xa0,
+0x7e,0x18,0xd, 0x0, 0x12,0x53,0x8a,0x12,0x74,0x65,0x7e,0x73,0x10,0x4d,0x7a,0x73,
+0xd, 0xfc,0x21,0x3e,0x74,0x7d,0x21,0x3a,0x74,0x7f,0x7a,0xb3,0x10,0x4d,0x6d,0x33,
+0x7a,0x37,0x10,0x56,0x7e,0x73,0x10,0x59,0xbe,0x73,0x10,0x4d,0x18,0x2, 0x21,0x6a,
+0x7e,0x73,0x10,0x4d,0x1a,0x27,0x7e,0x34,0x0, 0x22,0xad,0x32,0x2e,0x34,0x87,0xc6,
+0x7a,0x71,0x82,0x7a,0x61,0x83,0xe4,0x93,0x21,0x6b,0xe4,0xda,0xf8,0x22,0xca,0x3b,
+0x70,0x3c,0x7e,0x1f,0xa, 0xce,0x7a,0x1f,0xc, 0xa0,0x7e,0x5f,0xa, 0xd2,0x7e,0x6f,
+0xa, 0xd6,0x7e,0x4f,0xa, 0xda,0x7e,0x34,0xa, 0xb6,0x7a,0x35,0x23,0x7e,0x34,0xa,
+0xba,0x7a,0x35,0x25,0x7e,0x34,0xa, 0xbe,0x7a,0x35,0x27,0x7e,0x34,0xa, 0xc2,0x7a,
+0x35,0x29,0xe5,0x12,0xa, 0x1b,0x6d,0x0, 0x7e,0x1f,0xa, 0xb6,0x80,0x3a,0x7e,0x1f,
+0xb, 0x16,0x7a,0x1f,0xc, 0xa0,0x7e,0x5f,0xb, 0x1a,0x7e,0x6f,0xb, 0x1e,0x7e,0x4f,
+0xb, 0x22,0x7e,0x34,0xb, 0x2e,0x7a,0x35,0x23,0x7e,0x34,0xb, 0x32,0x7a,0x35,0x25,
+0x7e,0x34,0xb, 0x36,0x7a,0x35,0x27,0x7e,0x34,0xb, 0x3a,0x7a,0x35,0x29,0xe5,0x17,
+0xa, 0x1b,0x6d,0x0, 0x7e,0x1f,0xb, 0x2e,0x12,0x9a,0x60,0x7e,0x8, 0x0, 0x64,0x12,
+0x9a,0xcd,0x7f,0x71,0xbe,0x78,0x0, 0x32,0x18,0x2, 0x41,0xd8,0x7e,0x1f,0xc, 0xa0,
+0x12,0x86,0x6e,0x7a,0x1f,0xc, 0xa0,0x7f,0x15,0x12,0x86,0x6e,0x7f,0x51,0x7f,0x16,
+0x12,0x86,0x6e,0x7f,0x61,0x7f,0x14,0x12,0x86,0x6e,0x7f,0x41,0x7e,0x3f,0xc, 0xa0,
+0x2f,0x35,0x2f,0x36,0x78,0x24,0x7e,0x8, 0x0, 0x8, 0x7f,0x17,0x12,0x9a,0xcd,0x7f,
+0x1, 0x7e,0x35,0x23,0x59,0x13,0x0, 0x2, 0x1b,0x38,0x0, 0x7e,0x14,0x0, 0x3, 0x7f,
+0x17,0x12,0x9a,0x71,0x7e,0x8, 0x0, 0x8, 0x80,0x23,0x7e,0xf, 0xc, 0xa0,0x7f,0x17,
+0x12,0x9a,0x60,0x7f,0x3, 0x12,0x9a,0xcd,0x7f,0x1, 0x7e,0x35,0x23,0x59,0x13,0x0,
+0x2, 0x1b,0x38,0x0, 0x7f,0x17,0x7f,0x5, 0x12,0x9a,0x60,0x7f,0x3, 0x12,0x9a,0xcd,
+0x7f,0x1, 0x7e,0x35,0x25,0x59,0x13,0x0, 0x2, 0x1b,0x38,0x0, 0x7f,0x35,0x2f,0x36,
+0x2f,0x34,0x78,0x24,0x7e,0x14,0x0, 0x3, 0x7f,0x17,0x12,0x9a,0x71,0x7e,0x8, 0x0,
+0x8, 0x12,0x9a,0xcd,0x7f,0x1, 0x7e,0x35,0x27,0x59,0x13,0x0, 0x2, 0x1b,0x38,0x0,
+0x7e,0x8, 0x0, 0x8, 0x7f,0x17,0x80,0x21,0x7f,0x17,0x7f,0x6, 0x12,0x9a,0x60,0x7f,
+0x3, 0x12,0x9a,0xcd,0x7f,0x1, 0x7e,0x35,0x27,0x59,0x13,0x0, 0x2, 0x1b,0x38,0x0,
+0x7f,0x17,0x7f,0x4, 0x12,0x9a,0x60,0x7f,0x3, 0x12,0x9a,0xcd,0x7f,0x1, 0x7e,0x35,
+0x29,0x59,0x13,0x0, 0x2, 0x1b,0x38,0x0, 0xda,0x3b,0x22,0xca,0x79,0xe5,0x5b,0xb4,
+0x1, 0x2, 0x80,0x2, 0x81,0x39,0x12,0x17,0xcc,0x50,0xfb,0x12,0x86,0x96,0x12,0x62,
+0x9e,0x12,0x7e,0xf1,0x7e,0x8, 0x9, 0x25,0x12,0x1, 0x20,0x7e,0x73,0xd, 0x7c,0xbe,
+0x70,0x2, 0x28,0x6, 0x74,0x2, 0x7a,0xb3,0xd, 0x7c,0x7e,0xb3,0xd, 0x7c,0xf5,0x62,
+0xe5,0x1f,0x54,0x3, 0x78,0x2, 0x81,0x34,0x7e,0xb3,0xd, 0xa1,0xb4,0x1, 0x2, 0x80,
+0x2, 0x81,0x34,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x5e,0x70,
+0x8f,0x4e,0x70,0x60,0x1b,0xa, 0x30,0x7e,0x14,0x10,0x4, 0x7e,0x1f,0x11,0x42,0x1b,
+0x1a,0x10,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x70,0x4,
+0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x5e,0x60,
+0x81,0x4e,0x60,0x2, 0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb,
+0xa, 0x30,0x5e,0x60,0xfe,0x1b,0xa, 0x30,0x74,0x1, 0x7a,0xb3,0x9, 0xc3,0x7e,0xf3,
+0x9, 0x28,0xbe,0xf0,0x55,0x28,0x3, 0x7e,0xf0,0x55,0x7e,0xe3,0x9, 0x29,0xbe,0xe0,
+0x55,0x28,0x3, 0x7e,0xe0,0x55,0x7e,0x50,0x3, 0xac,0x5e,0x7c,0x45,0x6c,0x55,0x7e,
+0x70,0x3, 0xac,0x7f,0x2d,0x32,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xa2,0x6c,0xff,
+0x7e,0x34,0x0, 0x3f,0x74,0x2, 0xac,0xbf,0x7e,0xf, 0x11,0x42,0x2d,0x15,0x79,0x30,
+0x0, 0x14,0xb, 0xf0,0xbe,0xf0,0x2e,0x78,0xeb,0x6c,0xff,0x80,0x34,0x7e,0x34,0x7,
+0xd0,0x12,0x5f,0xf7,0x7c,0xbf,0x12,0x64,0x47,0x12,0x7e,0x8c,0x7e,0x1f,0xa, 0xac,
+0xb, 0x1a,0x30,0xbe,0x34,0x1b,0x20,0x28,0xe, 0x7e,0x24,0x1b,0x20,0x74,0x2, 0xac,
+0xbf,0x59,0x25,0xa, 0x22,0x80,0x8, 0x74,0x2, 0xac,0xbf,0x59,0x35,0xa, 0x22,0xb,
+0xf0,0xa, 0x3f,0xbe,0x37,0x11,0x10,0x40,0xc4,0x6c,0xff,0x80,0x1d,0xa, 0x3f,0x9,
+0xe3,0x9, 0x95,0x74,0x2, 0xac,0xbf,0x49,0x15,0xa, 0x22,0x74,0x2, 0xac,0xbe,0x7e,
+0x1f,0xa, 0xac,0x2d,0x35,0x1b,0x1a,0x10,0xb, 0xf0,0xa, 0x3f,0xbe,0x37,0x11,0x10,
+0x40,0xdb,0x80,0xd, 0x12,0x7e,0x8c,0x80,0x8, 0xe5,0x5b,0xb4,0x2, 0x3, 0x12,0x67,
+0x72,0x75,0x5b,0x0, 0xda,0x79,0x22,0xca,0x3b,0x7e,0xe3,0x9, 0xc3,0x12,0x7f,0x83,
+0x12,0x0, 0x46,0x7e,0x34,0x7, 0xd0,0x12,0x5f,0xf7,0x7e,0xb3,0xd, 0xde,0xb4,0x3,
+0x2, 0x80,0x2, 0xa1,0x87,0x12,0x7e,0x57,0x7e,0xb3,0xd, 0x68,0x60,0xe5,0x12,0x4a,
+0xdb,0x30,0x0, 0x5, 0x12,0x28,0x0, 0xa1,0x76,0x7e,0xa3,0xd, 0x66,0x7c,0xda,0x5e,
+0xd0,0xf, 0x7c,0xba,0x30,0xe7,0x54,0xe4,0x12,0x87,0xa4,0x12,0x84,0x14,0x12,0x73,
+0x14,0x12,0x3e,0x5, 0x12,0x65,0xe4,0x12,0x6a,0x43,0x12,0x7a,0x1, 0x12,0x4d,0x90,
+0x12,0x87,0x76,0x12,0x85,0xe7,0x12,0x80,0x85,0x4c,0xdd,0x68,0xb, 0xbe,0xd0,0x1,
+0x78,0x27,0x7e,0xb3,0x1, 0x27,0x70,0x21,0x6c,0xff,0x80,0x17,0x7e,0x30,0x4, 0xac,
+0x3f,0x2e,0x17,0x8, 0xf4,0x49,0x31,0x0, 0x2, 0x74,0x2, 0xac,0xbf,0x59,0x35,0x4,
+0x48,0xb, 0xf0,0xbc,0xef,0x38,0xe5,0xa1,0x76,0xa1,0x76,0x7e,0x1f,0x11,0x42,0x69,
+0x31,0x0, 0xae,0x1e,0x34,0x1e,0x34,0x5e,0x34,0x0, 0x1, 0x68,0x5e,0x6c,0xff,0x80,
+0x2c,0x74,0x2, 0xac,0xbf,0x49,0x35,0xa, 0x22,0x7a,0x37,0x11,0xe, 0x7c,0xbf,0x12,
+0x64,0x47,0x74,0x1, 0x12,0x87,0xa4,0x12,0x84,0x14,0x12,0x17,0xcc,0x50,0xfb,0x7e,
+0x37,0x4, 0x48,0x74,0x2, 0xac,0xbf,0x59,0x35,0x8, 0x98,0xb, 0xf0,0xa, 0x3f,0xbe,
+0x37,0x11,0x10,0x40,0xcc,0x6c,0xff,0x80,0x18,0xa, 0x3f,0x9, 0xc3,0x9, 0x95,0x74,
+0x2, 0xac,0xbf,0x49,0x35,0x8, 0x98,0x74,0x2, 0xac,0xbc,0x59,0x35,0x4, 0x48,0xb,
+0xf0,0xa, 0x3f,0xbe,0x37,0x11,0x10,0x40,0xe0,0x80,0x2b,0x74,0x1, 0x12,0x87,0xa4,
+0x12,0x84,0x14,0x12,0x17,0xcc,0x50,0xfb,0xbe,0xd0,0x1, 0x78,0x19,0x7e,0xb3,0x1,
+0x27,0x60,0x13,0xa, 0x3e,0x3e,0x34,0xca,0x39,0x7e,0x18,0x8, 0x98,0x7e,0x8, 0x4,
+0x48,0x12,0x9c,0xb5,0x1b,0xfd,0xe4,0x7a,0xb3,0xd, 0x68,0x7e,0xb3,0xd, 0x60,0x54,
+0x7f,0x7a,0xb3,0xd, 0x60,0x81,0x53,0x12,0x81,0xf2,0x12,0x87,0xd0,0xda,0x3b,0x22,
+0xca,0x79,0x7e,0xa3,0x9, 0xc4,0x7e,0x33,0x9, 0xc5,0x7e,0x23,0xd, 0xa2,0x7e,0x90,
+0x64,0xac,0x92,0x7e,0x7, 0x8, 0xf4,0x6c,0xff,0x7e,0xb3,0x1, 0x27,0xb4,0x1, 0xf,
+0x7e,0x23,0x11,0x49,0xbe,0x20,0x1, 0x28,0x6, 0x7e,0x37,0x11,0x46,0x2d,0x43,0x6c,
+0x22,0xc1,0xb3,0x7e,0x70,0x4, 0xac,0x72,0x7d,0xa3,0x2d,0xa0,0x49,0xfa,0x0, 0x2,
+0xb, 0xa8,0xe0,0xa, 0x2a,0xa, 0x32,0x2d,0x32,0x7e,0xb3,0x9, 0x63,0xa, 0x2b,0x12,
+0x9a,0x2e,0x7c,0xe5,0x7d,0x34,0x1e,0x34,0x6d,0x22,0xbf,0x71,0x58,0x2, 0xc1,0xb1,
+0x7e,0x70,0x4, 0xac,0x7e,0x7d,0xb3,0x2d,0xb0,0x49,0xdb,0x0, 0x2, 0xb, 0xb8,0xc0,
+0xa, 0x23,0xa, 0x32,0x12,0x9a,0x2e,0x4d,0x22,0x78,0x7, 0x9f,0x11,0x7a,0x1d,0x23,
+0x80,0x13,0x49,0x3a,0xff,0xfe,0x49,0x2a,0xff,0xfc,0x7a,0x1d,0x23,0x49,0x3b,0xff,
+0xfe,0x49,0x2b,0xff,0xfc,0x7a,0x1d,0x2b,0xa, 0x23,0xa, 0x32,0x12,0x9a,0x2e,0xa,
+0x33,0x1b,0x34,0xbd,0x32,0x78,0x7, 0x9f,0x11,0x7a,0x1d,0x27,0x80,0x25,0x7e,0x70,
+0x4, 0xac,0x72,0x7d,0xb3,0x2d,0xb0,0x49,0x3b,0x0, 0x6, 0x49,0x2b,0x0, 0x4, 0x7a,
+0x1d,0x27,0x7e,0x70,0x4, 0xac,0x7e,0x7d,0xb3,0x2d,0xb0,0x49,0x3b,0x0, 0x6, 0x49,
+0x2b,0x0, 0x4, 0x7a,0x1d,0x2f,0x7e,0x1d,0x23,0xbf,0x71,0x48,0x44,0x7e,0x1d,0x27,
+0xbf,0x71,0x48,0x3d,0xbf,0x76,0x48,0x39,0x7e,0x1d,0x2f,0xbf,0x71,0x48,0x32,0x7e,
+0x1d,0x2b,0xbf,0x71,0x48,0x2b,0xa, 0x3f,0x19,0x23,0x1, 0x9a,0xb, 0xf0,0x7e,0x70,
+0x4, 0xac,0x72,0x7d,0xb3,0x2d,0xb0,0x49,0x3b,0x0, 0x2, 0xb, 0xb8,0x20,0xb, 0x1c,
+0x59,0x3b,0x0, 0x2, 0x1b,0xb8,0x20,0xbe,0xf0,0x17,0x40,0x5, 0x7e,0xf0,0x17,0x80,
+0xc, 0xb, 0x20,0x7e,0xb3,0x9, 0x63,0xbc,0xb2,0x28,0x2, 0xa1,0xc3,0x7c,0xbf,0x12,
+0x72,0x2b,0xbe,0xf0,0x4, 0x40,0x3, 0x7e,0xf0,0x4, 0x7a,0xf3,0x1, 0xb7,0x7a,0xf3,
+0x1, 0xb5,0xda,0x79,0x22,0xca,0x3b,0x7e,0xc3,0x9, 0xc3,0x75,0x29,0x0, 0x80,0x4,
+0xe4,0x12,0x82,0x64,0x30,0xb, 0xf9,0xe5,0x62,0xa, 0x2b,0x5e,0x24,0x0, 0x1f,0x3e,
+0x24,0x3e,0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x5e,0x70,
+0x83,0x4d,0x32,0x1b,0xa, 0x30,0xa, 0x3c,0x3e,0x34,0x7e,0x8, 0xf, 0x47,0xe4,0x12,
+0x9c,0xda,0x12,0x58,0xf9,0x7e,0xb3,0x1, 0x2a,0x70,0x2, 0xe1,0xd7,0x7e,0x8, 0x0,
+0x23,0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,0xda,0xa, 0x3c,0x3e,0x34,0x7e,0x8, 0xf,
+0x47,0x12,0x9c,0xda,0x6c,0xff,0x80,0x4c,0x7e,0x70,0x2, 0xac,0x7f,0x2e,0x37,0x8,
+0xf6,0xb, 0x38,0x30,0xbe,0x37,0x1, 0x23,0x40,0x6, 0xbe,0x37,0x1, 0x25,0x28,0x32,
+0xa, 0x3f,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x7c,0xd7,0xa, 0x3f,0x7e,0x24,0x0, 0x8,
+0x12,0x9a,0x2e,0x7c,0xe5,0x7e,0x4, 0x0, 0x1, 0x7c,0xbe,0x60,0x5, 0x3e,0x4, 0x14,
+0x78,0xfb,0x7c,0x1, 0x7c,0x1d,0x2e,0x10,0x23,0xa5,0xe7,0x4c,0xb0,0xa5,0xf7,0x75,
+0x29,0x1, 0xb, 0xf0,0xbc,0xcf,0x38,0xb0,0xe5,0x29,0x60,0x4b,0x6c,0xff,0x80,0x40,
+0xa, 0x3f,0x1e,0x34,0x1e,0x34,0x1e,0x34,0x7c,0xd7,0xa, 0x3f,0x7e,0x24,0x0, 0x8,
+0x12,0x9a,0x2e,0x7c,0xe5,0x7e,0x24,0x0, 0x1, 0x7c,0xbe,0x60,0x5, 0x3e,0x24,0x14,
+0x78,0xfb,0x7c,0x1d,0x2e,0x10,0x23,0xa5,0xe7,0xa, 0x3b,0x5d,0x32,0x68,0xf, 0x6d,
+0x11,0x74,0x2, 0xac,0xbf,0x7e,0x1f,0xa, 0xac,0x2d,0x35,0x1b,0x1a,0x10,0xb, 0xf0,
+0xbc,0xcf,0x38,0xbc,0x12,0x58,0xf9,0x12,0x67,0x72,0x7e,0xb3,0x9, 0x26,0x54,0x1f,
+0xa, 0x2b,0x5e,0x24,0x0, 0x1f,0x3e,0x24,0x3e,0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,
+0x0, 0xb0,0xb, 0xa, 0x30,0x5e,0x70,0x83,0x4d,0x32,0x1b,0xa, 0x30,0xda,0x3b,0x22,
+0x7e,0xb3,0x0, 0xed,0x7e,0x34,0x0, 0x1, 0x60,0x5, 0x3e,0x34,0x14,0x78,0xfb,0x7c,
+0xa7,0x7e,0xb3,0xd, 0x6b,0xa, 0x2b,0x7e,0xb3,0xd, 0x6a,0xa, 0x3b,0x2d,0x32,0xa,
+0x2a,0x12,0x9a,0x2e,0xa, 0x3a,0x9d,0x32,0x2e,0x34,0x0, 0x3, 0x1b,0x34,0x7a,0x73,
+0x9, 0x31,0x7e,0x34,0xf0,0x0, 0x7a,0x37,0x9, 0x34,0x7e,0x34,0x2, 0x26,0x7a,0x37,
+0x9, 0x32,0x7e,0x63,0x0, 0xed,0x5e,0x60,0x3, 0x3e,0x60,0x7e,0x73,0x9, 0x25,0x5e,
+0x70,0xf9,0x4c,0x76,0x7a,0x73,0x9, 0x25,0x12,0x6, 0x28,0x7e,0x73,0x9, 0x64,0xa,
+0x27,0x7e,0x73,0x9, 0x63,0xa, 0x37,0x2d,0x32,0x7a,0x73,0x9, 0xc3,0x7e,0x73,0x9,
+0x63,0x1e,0x70,0x7a,0x73,0x9, 0xc4,0x1e,0x70,0x7a,0x73,0x9, 0xc5,0x7e,0x18,0x9,
+0xc6,0x7a,0x1f,0xa, 0xac,0x6c,0xaa,0x80,0x8, 0xa, 0x3a,0x19,0xa3,0x9, 0x95,0xb,
+0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,0xba,0x38,0xf0,0x7e,0x73,0x0, 0xf1,0xa, 0x37,0xb,
+0x34,0xe, 0x34,0xe, 0x34,0xe, 0x34,0xe, 0x34,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,
+0x34,0x3e,0x34,0x3e,0x34,0x7e,0x53,0x0, 0xef,0xa, 0x25,0xb, 0x24,0xe, 0x24,0xe,
+0x24,0xe, 0x24,0xe, 0x24,0x3e,0x24,0x2d,0x23,0x7e,0x73,0x0, 0xf3,0xa, 0x37,0xb,
+0x34,0xe, 0x34,0xe, 0x34,0xe, 0x34,0xe, 0x34,0x7c,0x67,0x6c,0x77,0x3e,0x34,0x3e,
+0x34,0x3e,0x34,0x2d,0x32,0x7a,0x37,0x9, 0x4a,0x6c,0xaa,0xa, 0x3a,0x2e,0x34,0x9c,
+0x17,0x7a,0x71,0x82,0x7a,0x61,0x83,0xe4,0x93,0xa, 0x2b,0x3e,0x24,0x3e,0x24,0x3e,
+0x24,0x3e,0x24,0x3e,0x24,0xa, 0x3a,0x2e,0x34,0x9c,0xc, 0x7a,0x71,0x82,0x7a,0x61,
+0x83,0xe4,0x93,0xa, 0x3b,0x2d,0x32,0xa, 0x2a,0x2e,0x24,0x9c,0x22,0x7a,0x51,0x82,
+0x7a,0x41,0x83,0xe4,0x93,0xa, 0x2b,0x7d,0x42,0x7c,0x89,0x6c,0x99,0x3e,0x44,0x3e,
+0x44,0x2d,0x43,0x7e,0x70,0x2, 0xac,0x7a,0x59,0x43,0x9, 0x4c,0xb, 0xa0,0xbe,0xa0,
+0xb, 0x40,0xa8,0x22,0x7d,0xd3,0x7e,0x63,0x1, 0xd7,0x7e,0x73,0x1, 0xd8,0x7e,0x83,
+0x1, 0xdc,0x7e,0x93,0x1, 0xdd,0xe5,0x15,0xa, 0xbb,0x3e,0xb4,0x3e,0xb4,0x3e,0xb4,
+0x3e,0xb4,0x3e,0xb4,0x3e,0xb4,0x3e,0xb4,0x1b,0xb4,0x7e,0x57,0x1, 0xc9,0xa, 0x26,
+0xbd,0x2d,0x50,0x2, 0x21,0xa6,0xa, 0x36,0x9d,0x3d,0x7e,0x27,0x1, 0xe2,0xad,0x32,
+0xa, 0x36,0xa, 0x28,0xbd,0x23,0x40,0x2, 0x21,0x8e,0x6d,0x33,0x21,0x94,0xa, 0x28,
+0x9d,0x23,0x7d,0x32,0x7e,0x53,0x1, 0xda,0xa, 0x25,0xbd,0x23,0x38,0x2, 0x21,0xa2,
+0x7d,0x32,0x7d,0xf3,0x41,0x64,0xa, 0xc7,0x7d,0xab,0x9d,0xac,0xbd,0xad,0x28,0x2,
+0x21,0xf8,0x7d,0xcd,0x9d,0xca,0x7e,0x37,0x1, 0xe4,0xad,0x3c,0xa, 0x36,0x7d,0xc3,
+0xa, 0xa9,0xbd,0xac,0x28,0x2, 0x21,0xcc,0xa, 0xc9,0x1b,0xc4,0x7e,0x73,0x1, 0xdb,
+0xa, 0x37,0xa, 0xa9,0x9d,0xa3,0xbd,0xac,0x40,0x2, 0x21,0xde,0x7d,0xca,0x7d,0xf5,
+0x2d,0xfc,0xa, 0xe9,0x9d,0xfe,0x6d,0xee,0x7d,0x35,0x6d,0x22,0xbf,0x71,0x50,0x2,
+0x41,0x64,0x7d,0xf5,0x1b,0xf4,0x41,0x64,0x7d,0xcb,0x1e,0xc4,0xbd,0xcd,0x38,0x2,
+0x41,0x33,0x7d,0xfc,0x9d,0xfd,0x6d,0xee,0x7e,0x17,0x1, 0xde,0x7f,0x17,0x12,0x9a,
+0x71,0x7f,0x71,0x7c,0x76,0x7c,0x65,0xa, 0x24,0x7f,0x71,0x7d,0x35,0x1e,0x34,0x6d,
+0x22,0x9f,0x17,0x7f,0x71,0xa, 0x38,0x6d,0x22,0xbf,0x71,0x40,0x2, 0x41,0x64,0xa,
+0xf8,0x41,0x64,0x7d,0xfd,0x9d,0xfc,0x6d,0xee,0x7e,0x17,0x1, 0xe0,0x7f,0x17,0x12,
+0x9a,0x71,0x7f,0x71,0x7c,0x76,0x7c,0x65,0xa, 0x24,0x7f,0x71,0x7d,0x35,0x1e,0x34,
+0x6d,0x22,0x2f,0x71,0xa, 0x29,0x7d,0x35,0x9d,0x32,0x6d,0x22,0xbf,0x71,0x38,0x2,
+0x41,0x64,0x7f,0x71,0x7d,0x3f,0x22,0x7d,0xd3,0x7e,0x63,0x2, 0xd, 0x7e,0x73,0x2,
+0xe, 0x7e,0x83,0x2, 0x11,0x7e,0x93,0x2, 0x12,0xe5,0xa, 0xa, 0xbb,0x3e,0xb4,0x3e,
+0xb4,0x3e,0xb4,0x3e,0xb4,0x3e,0xb4,0x3e,0xb4,0x3e,0xb4,0x1b,0xb4,0x7e,0x57,0x1,
+0xcb,0xa, 0x26,0xbd,0x2d,0x50,0x2, 0x41,0xc9,0xa, 0x36,0x9d,0x3d,0x7e,0x27,0x2,
+0x17,0xad,0x32,0xa, 0x36,0xa, 0x28,0xbd,0x23,0x40,0x2, 0x41,0xb1,0x6d,0x33,0x41,
+0xb7,0xa, 0x28,0x9d,0x23,0x7d,0x32,0x7e,0x53,0x2, 0xf, 0xa, 0x25,0xbd,0x23,0x38,
+0x2, 0x41,0xc5,0x7d,0x32,0x7d,0xf3,0x61,0x87,0xa, 0xc7,0x7d,0xab,0x9d,0xac,0xbd,
+0xad,0x28,0x2, 0x61,0x1b,0x7d,0xcd,0x9d,0xca,0x7e,0x37,0x2, 0x19,0xad,0x3c,0xa,
+0x36,0x7d,0xc3,0xa, 0xa9,0xbd,0xac,0x28,0x2, 0x41,0xef,0xa, 0xc9,0x1b,0xc4,0x7e,
+0x73,0x2, 0x10,0xa, 0x37,0xa, 0xa9,0x9d,0xa3,0xbd,0xac,0x40,0x2, 0x61,0x1, 0x7d,
+0xca,0x7d,0xf5,0x2d,0xfc,0xa, 0xe9,0x9d,0xfe,0x6d,0xee,0x7d,0x35,0x6d,0x22,0xbf,
+0x71,0x50,0x2, 0x61,0x87,0x7d,0xf5,0x1b,0xf4,0x61,0x87,0x7d,0xcb,0x1e,0xc4,0xbd,
+0xcd,0x38,0x2, 0x61,0x56,0x7d,0xfc,0x9d,0xfd,0x6d,0xee,0x7e,0x17,0x2, 0x13,0x7f,
+0x17,0x12,0x9a,0x71,0x7f,0x71,0x7c,0x76,0x7c,0x65,0xa, 0x24,0x7f,0x71,0x7d,0x35,
+0x1e,0x34,0x6d,0x22,0x9f,0x17,0x7f,0x71,0xa, 0x38,0x6d,0x22,0xbf,0x71,0x40,0x2,
+0x61,0x87,0xa, 0xf8,0x61,0x87,0x7d,0xfd,0x9d,0xfc,0x6d,0xee,0x7e,0x17,0x2, 0x15,
+0x7f,0x17,0x12,0x9a,0x71,0x7f,0x71,0x7c,0x76,0x7c,0x65,0xa, 0x24,0x7f,0x71,0x7d,
+0x35,0x1e,0x34,0x6d,0x22,0x2f,0x71,0xa, 0x29,0x7d,0x35,0x9d,0x32,0x6d,0x22,0xbf,
+0x71,0x38,0x2, 0x61,0x87,0x7f,0x71,0x7d,0x3f,0x22,0xca,0x79,0x7f,0x71,0x7f,0x60,
+0x7e,0x7, 0x10,0x56,0xbe,0x4, 0x0, 0x10,0x58,0x2, 0x81,0x8e,0xe4,0x7a,0xb3,0x10,
+0x58,0x7e,0x4, 0x0, 0x2, 0x81,0x5e,0x7d,0x30,0x3e,0x34,0x3e,0x34,0x3e,0x34,0x3e,
+0x34,0x7e,0x27,0x10,0x56,0x12,0x9a,0x2e,0x7c,0xa7,0xbe,0xa0,0x2, 0x58,0x3, 0x7e,
+0xa0,0x2, 0x7d,0x10,0x1b,0x14,0x1a,0x4a,0x1b,0x44,0x7d,0x21,0x3e,0x24,0x7f,0x56,
+0x2d,0xb2,0xb, 0x5a,0x30,0x7c,0x87,0x1a,0x39,0x3e,0x34,0x7f,0x56,0x2d,0xb3,0xb,
+0x5a,0x70,0x4c,0xff,0x78,0x11,0x1a,0x98,0x7f,0x56,0x2d,0xb3,0x1b,0x5a,0x90,0x1a,
+0xb9,0xbd,0xb1,0x68,0x20,0x80,0x15,0x1a,0xb9,0xbd,0xb1,0x68,0x18,0x1a,0x8f,0x1a,
+0x98,0x2d,0x98,0xe, 0x94,0x7f,0x56,0x2d,0xb3,0x1b,0x5a,0x90,0x6d,0x99,0x7f,0x56,
+0x2d,0xb2,0x1b,0x5a,0x90,0x7f,0x57,0x2d,0xb2,0xb, 0x5a,0x20,0x7c,0x85,0x7f,0x57,
+0x2d,0xb3,0xb, 0x5a,0x70,0x4c,0xff,0x78,0xd, 0x1a,0x38,0x1b,0x5a,0x30,0x1a,0x39,
+0xbd,0x31,0x68,0x28,0x80,0x19,0x1a,0x39,0xbd,0x31,0x68,0x20,0x1a,0xaf,0x1a,0xb8,
+0x2d,0xba,0xe, 0xb4,0x1a,0xa9,0x3e,0xa4,0x7f,0x17,0x2d,0x3a,0x1b,0x1a,0xb0,0x6d,
+0xbb,0x7d,0xa1,0x3e,0xa4,0x7f,0x17,0x2d,0x3a,0x1b,0x1a,0xb0,0xb, 0x4, 0x7e,0x37,
+0x10,0x56,0xbd,0x30,0x48,0x2, 0x61,0xa7,0x6d,0x11,0x7d,0x1, 0x3e,0x4, 0x7f,0x16,
+0x2d,0x30,0xb, 0x1a,0x30,0x19,0x71,0x10,0x60,0x7f,0x17,0x2d,0x30,0xb, 0x1a,0x30,
+0x19,0x71,0x10,0x70,0xb, 0x14,0xbe,0x14,0x0, 0x10,0x78,0xde,0x80,0x6, 0x74,0x1,
+0x7a,0xb3,0x10,0x58,0xda,0x79,0x22,0x7c,0xab,0xbe,0xa0,0x7, 0x78,0x8, 0x30,0x3,
+0x3, 0x74,0x1, 0x22,0xe4,0x22,0xbe,0xa0,0x50,0x40,0xa, 0xbe,0xa0,0x5d,0x38,0x5,
+0x7c,0xba,0x2, 0x6f,0x7d,0xbe,0xa0,0x34,0x38,0x2, 0xa1,0x91,0xbe,0xa0,0x2b,0x40,
+0x7, 0xbe,0xa0,0x2e,0x38,0x2, 0xa1,0x91,0xbe,0xa0,0x37,0x68,0x5, 0xbe,0xa0,0x38,
+0x78,0x1e,0x7e,0x93,0xd, 0x91,0x7c,0xb9,0x4, 0x7a,0xb3,0xd, 0x91,0xbe,0xa0,0x38,
+0x78,0x3, 0x75,0x5c,0x37,0xa, 0x39,0x9, 0x93,0x9, 0x67,0xb, 0x90,0x7c,0xb9,0x22,
+0xbe,0xa0,0x39,0x68,0x5, 0xbe,0xa0,0x3a,0x78,0x1b,0x7e,0x93,0xd, 0x93,0x7c,0xb9,
+0x4, 0x7a,0xb3,0xd, 0x93,0xbe,0xa0,0x3a,0x78,0x3, 0x75,0x5c,0x39,0xa, 0x19,0x7e,
+0x1f,0x11,0x1a,0x80,0x64,0xbe,0xa0,0x35,0x68,0x5, 0xbe,0xa0,0x36,0x78,0x1b,0x7e,
+0x93,0xd, 0x94,0x7c,0xb9,0x4, 0x7a,0xb3,0xd, 0x94,0xbe,0xa0,0x36,0x78,0x3, 0x75,
+0x5c,0x35,0xa, 0x19,0x7e,0x1f,0x11,0x1e,0x80,0x3f,0xbe,0xa0,0xf4,0x68,0x5, 0xbe,
+0xa0,0xf5,0x78,0x3b,0x7e,0x93,0xd, 0x94,0x7c,0xb9,0x4, 0x7a,0xb3,0xd, 0x94,0xbe,
+0xa0,0xf5,0x78,0x3, 0x75,0x5c,0xf4,0x7e,0x83,0x9, 0x66,0xa, 0x18,0x7e,0x83,0x9,
+0xc3,0xa, 0x8, 0x9d,0x1, 0x3e,0x4, 0xa, 0x19,0xbd,0x10,0x58,0x6, 0x7e,0x1f,0x11,
+0x12,0x80,0x6, 0x9d,0x10,0x7e,0x1f,0x11,0x16,0x2d,0x31,0x7e,0x1b,0xb0,0x22,0xbe,
+0xa0,0xae,0x78,0x3, 0xe5,0x1f,0x22,0xbe,0xa0,0x40,0x40,0xc, 0xbe,0xa0,0x41,0x38,
+0x7, 0xa, 0x3a,0x9, 0xb3,0xd, 0x60,0x22,0xe4,0x22,0x7e,0x8, 0xd, 0x60,0x7e,0x34,
+0x0, 0x8, 0xe4,0x12,0x9c,0xda,0x74,0x1, 0x7a,0xb3,0xd, 0x68,0xe4,0x7a,0xb3,0xd,
+0x69,0x7e,0x34,0x0, 0xd, 0xca,0x39,0x7e,0x18,0x0, 0xee,0x7e,0x8, 0xd, 0x6c,0x12,
+0x9c,0xb5,0x1b,0xfd,0xe4,0x7a,0xb3,0xd, 0x79,0x7e,0x73,0x1, 0x14,0x7a,0x73,0xd,
+0x7a,0x7e,0x73,0x1, 0x13,0x7a,0x73,0xd, 0x7b,0x7a,0xb3,0xd, 0x7c,0x7e,0x73,0x1,
+0x2a,0x7a,0x73,0xd, 0x7d,0x7e,0x73,0x0, 0xfb,0x7a,0x73,0xd, 0x7e,0x7e,0x73,0x0,
+0xfc,0x7a,0x73,0xd, 0x7f,0x7e,0x37,0x0, 0xfd,0x1e,0x34,0x1e,0x34,0x7a,0x73,0xd,
+0x80,0x7e,0x73,0x0, 0xff,0x7a,0x73,0xd, 0x81,0x7e,0x73,0x1, 0x0, 0x7a,0x73,0xd,
+0x82,0x7e,0x37,0x1, 0x2, 0x7a,0x37,0xd, 0x83,0x7e,0x37,0x1, 0x4, 0x1e,0x34,0x1e,
+0x34,0x1e,0x34,0x1e,0x34,0x7a,0x73,0xd, 0x85,0x7e,0x37,0x1, 0x6, 0x1e,0x34,0x1e,
+0x34,0x1e,0x34,0x1e,0x34,0x7a,0x73,0xd, 0x86,0x7e,0x37,0x1, 0x8, 0x1e,0x34,0x1e,
+0x34,0x7a,0x73,0xd, 0x87,0x7e,0x37,0x1, 0xa, 0x1e,0x34,0x1e,0x34,0x7a,0x73,0xd,
+0x88,0x7e,0x37,0x1, 0xc, 0x1e,0x34,0x1e,0x34,0x7a,0x73,0xd, 0x89,0x7e,0x8, 0xd,
+0x8f,0x7e,0x34,0x0, 0xc, 0x12,0x9c,0xda,0x7e,0x34,0x0, 0x5, 0xca,0x39,0x7e,0x18,
+0x1, 0xe, 0x7e,0x8, 0xd, 0x8a,0x12,0x9c,0xb5,0x1b,0xfd,0x90,0xb4,0x44,0xe4,0x93,
+0x7a,0xb3,0xd, 0x8f,0x7e,0x37,0x1, 0xc9,0x1e,0x34,0x1e,0x34,0x7a,0x73,0xd, 0xa0,
+0x74,0x1, 0x7a,0xb3,0xd, 0xa1,0x22,0xca,0x59,0xca,0x39,0xca,0xb, 0x7e,0x73,0xd,
+0xf2,0xa5,0xbf,0x0, 0x6, 0x7e,0xb3,0x0, 0xec,0x60,0xa, 0x4c,0x77,0x68,0x1b,0x7e,
+0xb3,0x9, 0x24,0x70,0x15,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xa9,0xd0,0x9e,
+0xa9,0xd7,0x9e,0xd2,0xaf,0x12,0x87,0x50,0xe1,0x8d,0xa5,0xbf,0x0, 0x9, 0x7e,0xb3,
+0x0, 0xec,0xbe,0xb0,0x1, 0x68,0xb, 0x4c,0x77,0x68,0x29,0x7e,0xb3,0x9, 0x24,0xb4,
+0x1, 0x22,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xa9,0xd0,0x9e,0xa9,0xd7,0x9e,
+0xd2,0xaf,0xa9,0xc4,0xcd,0x7e,0xa1,0xe5,0x7c,0xba,0x30,0xe4,0x2, 0xe1,0x8d,0x12,
+0x87,0x99,0xe1,0x8d,0xa5,0xbf,0x0, 0x9, 0x7e,0xb3,0x0, 0xec,0xbe,0xb0,0x2, 0x68,
+0xb, 0x4c,0x77,0x68,0x78,0x7e,0xb3,0x9, 0x24,0xb4,0x2, 0x71,0xc2,0xaf,0xa9,0xc4,
+0xcd,0x7e,0xa1,0xe5,0x7c,0xba,0x20,0xe4,0x3, 0x12,0x87,0x99,0x7c,0xba,0x30,0xe0,
+0x2d,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x5e,0x70,0xfd,0x1b,
+0xa, 0x30,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xa9,0xc7,0xdb,0xa9,0xd0,0xce,0xa9,0xc5,
+0xc9,0xc2,0xc, 0xd2,0xee,0xa9,0x27,0xcf,0x32,0x75,0x1e,0x1, 0x80,0x2d,0xa9,0x27,
+0xcf,0x5, 0x7c,0xba,0x30,0xe3,0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb,
+0xa, 0x30,0x5e,0x70,0xfd,0x1b,0xa, 0x30,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xa9,0xc7,
+0xdb,0xa9,0xd0,0xce,0xa9,0xc5,0xc9,0xc2,0xc, 0xd2,0xee,0xd2,0xaf,0xda,0xb, 0xda,
+0x39,0xda,0x59,0x32,0x6d,0x22,0x80,0x5e,0x6d,0x55,0x80,0x4e,0x7d,0x45,0x3e,0x44,
+0x3e,0x44,0x7f,0x60,0x2d,0xd4,0x69,0xb6,0x0, 0x6, 0x69,0xa6,0x0, 0x4, 0x69,0xf6,
+0x0, 0x2, 0xb, 0x6a,0xe0,0xbf,0x75,0x58,0x2f,0x7f,0x60,0x2d,0xd4,0x69,0xb6,0x0,
+0x6, 0x69,0xa6,0x0, 0x4, 0x7d,0x45,0x3e,0x44,0x3e,0x44,0x7f,0x60,0x2d,0xd4,0x79,
+0xb6,0x0, 0x2, 0x1b,0x6a,0xa0,0x7d,0x45,0x3e,0x44,0x3e,0x44,0x7f,0x60,0x2d,0xd4,
+0x79,0xf6,0x0, 0x6, 0x79,0xe6,0x0, 0x4, 0xb, 0x54,0x7d,0x43,0x1b,0x44,0x9d,0x42,
+0xbd,0x45,0x38,0xa8,0xb, 0x24,0xbd,0x32,0x38,0x9e,0x22,0xff,0xff,0xff,0xff,0xff,
+0x6c,0xaa,0x80,0x38,0xa, 0x3a,0x2e,0x34,0x9c,0x75,0x7a,0x71,0x82,0x7a,0x61,0x83,
+0xe4,0x93,0x7c,0x3b,0xbe,0x33,0x9, 0x63,0x50,0x11,0x74,0x4, 0xac,0x3b,0x2e,0x17,
+0x8, 0xf4,0x49,0x31,0x0, 0x2, 0xb, 0x18,0x20,0x80,0x2, 0x9f,0x11,0x7e,0x30,0x4,
+0xac,0x3a,0x59,0x31,0xa, 0xb4,0x59,0x21,0xa, 0xb2,0xb, 0xa0,0xe5,0x13,0xbc,0xba,
+0x38,0xc2,0x7e,0x1f,0xa, 0xca,0x7a,0x1d,0x23,0x75,0x28,0x0, 0x7e,0x18,0xa, 0xca,
+0x7a,0x1d,0x29,0x7e,0x18,0xa, 0xe2,0x7a,0x1d,0x2d,0x7e,0x1f,0xa, 0xce,0x7e,0xf,
+0xa, 0xe6,0xe4,0x12,0x68,0xc6,0x7e,0x1f,0xa, 0xde,0x7a,0x1d,0x23,0x75,0x28,0x1,
+0x7e,0x18,0xa, 0xde,0x7a,0x1d,0x29,0x7e,0x18,0xa, 0xf6,0x7a,0x1d,0x2d,0x7e,0x1f,
+0xa, 0xda,0x7e,0xf, 0xa, 0xf2,0xe4,0x12,0x68,0xc6,0x7e,0x1f,0xa, 0xfa,0x7a,0x1d,
+0x23,0x75,0x28,0x0, 0x7e,0x18,0xa, 0xfa,0x7a,0x1d,0x29,0x7e,0x18,0xb, 0x12,0x7a,
+0x1d,0x2d,0x7e,0x1f,0xa, 0xfe,0x7e,0xf, 0xb, 0x16,0x74,0x1, 0x12,0x68,0xc6,0x7e,
+0x1f,0xb, 0xe, 0x7a,0x1d,0x23,0x75,0x28,0x1, 0x7e,0x18,0xb, 0xe, 0x7a,0x1d,0x29,
+0x7e,0x18,0xb, 0x26,0x7a,0x1d,0x2d,0x7e,0x1f,0xb, 0xa, 0x7e,0xf, 0xb, 0x22,0x74,
+0x1, 0x12,0x68,0xc6,0xe4,0x12,0x49,0x6e,0x74,0x1, 0x12,0x49,0x6e,0x7e,0x8, 0xa,
+0xce,0x12,0x7f,0xdf,0x7e,0x8, 0xb, 0x16,0x12,0x7f,0xdf,0x7e,0x8, 0xa, 0xda,0x12,
+0x83,0x18,0x7e,0x8, 0xb, 0x22,0x2, 0x83,0x18,0xca,0x3b,0x7e,0xd3,0x9, 0xc3,0x6c,
+0xcc,0x21,0x9a,0xa, 0x3d,0x3e,0x34,0x7e,0xf, 0xa, 0xac,0xe4,0x12,0x9c,0xda,0x7e,
+0x1f,0x11,0x42,0x69,0x31,0x0, 0xae,0x1e,0x34,0x1e,0x34,0x5e,0x34,0x0, 0x1, 0x68,
+0x5, 0x7e,0xe0,0xd, 0x80,0x3, 0x7e,0xe0,0xa, 0x6c,0xff,0x80,0x44,0xa, 0x5e,0x1b,
+0x54,0xa, 0x4f,0x9d,0x54,0xf5,0x61,0x12,0x6c,0x52,0x7e,0xb3,0x1, 0x29,0x60,0x17,
+0x7e,0x1f,0x11,0x42,0x69,0x31,0x0, 0xae,0x1e,0x34,0x1e,0x34,0x5e,0x34,0x0, 0x1,
+0x78,0x5, 0x12,0x6c,0xf6,0x80,0x15,0x12,0x78,0xae,0x80,0x4, 0xe4,0x12,0x82,0x64,
+0x30,0xb, 0xf9,0x7e,0x17,0x8, 0xf6,0x6d,0x0, 0x12,0x60,0x0, 0x12,0x71,0xb4,0xb,
+0xf0,0xbc,0xef,0x38,0xb8,0x6c,0xff,0x80,0x1b,0x74,0x2, 0xac,0xbf,0x7e,0x1f,0xa,
+0xac,0x2d,0x35,0xb, 0x1a,0x30,0x49,0x25,0xf, 0x47,0xbd,0x23,0x50,0x4, 0x59,0x35,
+0xf, 0x47,0xb, 0xf0,0xbc,0xdf,0x38,0xe1,0xb, 0xc0,0x7e,0x73,0x1, 0x5a,0xbc,0x7c,
+0x28,0x2, 0x21,0x3, 0x6c,0xff,0x80,0x3b,0x7e,0x1f,0x11,0x42,0x69,0x31,0x0, 0xae,
+0x1e,0x34,0x1e,0x34,0x5e,0x34,0x0, 0x1, 0x78,0x16,0x74,0x2, 0xac,0xbf,0x49,0x45,
+0xf, 0x47,0xbe,0x44,0x3, 0x64,0x28,0x8, 0x7e,0x34,0x3, 0x64,0x59,0x35,0xf, 0x47,
+0x74,0x2, 0xac,0xbf,0x49,0x15,0xf, 0x47,0x7e,0x1f,0xa, 0xac,0x2d,0x35,0x1b,0x1a,
+0x10,0xb, 0xf0,0xbc,0xdf,0x38,0xc1,0xda,0x3b,0x22,0xca,0x79,0x7e,0x93,0x9, 0xc3,
+0x6c,0x88,0x4c,0x88,0x68,0x2, 0x41,0x19,0x7e,0x78,0x10,0xd7,0x6d,0x55,0x1b,0x7a,
+0x50,0x41,0x13,0x6d,0x22,0x7e,0x70,0x2, 0xac,0x7a,0x2e,0x37,0x8, 0xf6,0x1b,0x38,
+0x20,0xb, 0xa0,0xbc,0x9a,0x38,0xec,0x41,0x92,0xbe,0x80,0x8, 0x68,0x2, 0x41,0x2b,
+0x7e,0x78,0x10,0xd5,0x6d,0x33,0x1b,0x7a,0x30,0x41,0x92,0x6c,0xaa,0x41,0x8e,0x7e,
+0xf0,0x2, 0xac,0xfa,0xa, 0x38,0x1b,0x34,0x3e,0x34,0x49,0x33,0x0, 0x6d,0x6d,0x22,
+0x2d,0x37,0xb, 0x1a,0x10,0x6d,0x0, 0x7e,0x70,0x2, 0xac,0x78,0x49,0x33,0x0, 0x6d,
+0x2d,0x37,0xb, 0x1a,0x30,0x9f,0x10,0x12,0x9c,0xfc,0x7d,0xd3,0xb, 0x7a,0xc0,0xbd,
+0xcd,0x40,0x2, 0x41,0x68,0x1b,0x7a,0xd0,0xbe,0x80,0x7, 0x38,0x2, 0x41,0x8c,0x7e,
+0x63,0x10,0xea,0x7e,0x70,0x2, 0xac,0x67,0x49,0x23,0x10,0xdb,0xbe,0x27,0x10,0xd5,
+0x40,0x2, 0x41,0x8c,0x7e,0xc7,0x10,0xd5,0x59,0xc3,0x10,0xdb,0xb, 0xa0,0xbc,0x9a,
+0x38,0x9d,0xbe,0x80,0x8, 0x40,0x2, 0x41,0xce,0x6c,0xaa,0x41,0xca,0x7e,0x50,0x2,
+0xac,0x5a,0x7e,0x70,0x4, 0xac,0x78,0x2e,0x34,0xf, 0xa6,0x49,0x13,0x0, 0x2, 0x6d,
+0x0, 0x2d,0x12,0xb, 0xa, 0x10,0x1e,0x14,0x1e,0x14,0x1e,0x14,0x2e,0x27,0x8, 0xf6,
+0xb, 0x28,0x30,0x2d,0x31,0x1b,0x28,0x30,0xb, 0xa0,0xbc,0x9a,0x38,0xcf,0xb, 0x80,
+0xbe,0x80,0xa, 0x50,0x2, 0x21,0xf2,0xda,0x79,0x22,0xca,0x3b,0x7c,0xeb,0xe4,0x7a,
+0xb3,0xc, 0xa1,0x6c,0xff,0x7e,0xd0,0x28,0x7e,0x57,0x3, 0x6, 0xf5,0x23,0x6c,0xcc,
+0x75,0x26,0x0, 0x75,0x24,0x0, 0xe4,0x7a,0xb3,0xc, 0xa0,0x75,0x25,0x1, 0x80,0x56,
+0xe5,0x25,0x7e,0x71,0x24,0x12,0x79,0x59,0x7f,0x41,0xa, 0x3d,0x6d,0x22,0xbf,0x41,
+0x40,0x42,0xe5,0x24,0x70,0x2, 0x80,0x2f,0x7e,0xb3,0xc, 0xa0,0x7e,0x71,0x25,0x12,
+0x79,0x59,0x7a,0x1d,0x27,0xe5,0x23,0xa, 0x1b,0x6d,0x0, 0x2f,0x1, 0x7e,0x1f,0xc,
+0xa2,0x2f,0x14,0xbf,0x10,0x40,0xb, 0xbe,0xc0,0x6, 0x50,0x4, 0x5, 0x26,0x80,0x2,
+0xb, 0xf0,0xbe,0xc0,0x6, 0x50,0xd, 0x7a,0x4f,0xc, 0xa2,0xe5,0x24,0x7a,0xb3,0xc,
+0xa0,0x85,0x25,0x24,0x5, 0x25,0xbe,0xe1,0x25,0x38,0xa5,0xbe,0xc0,0x6, 0x50,0x2,
+0x80,0x6, 0x7e,0x57,0x3, 0x8, 0xf5,0x23,0x2e,0xd0,0xa, 0xbe,0xc0,0x6, 0x50,0x11,
+0x7e,0x73,0xc, 0xa1,0xbe,0x71,0x26,0x38,0x16,0xe5,0x26,0x7a,0xb3,0xc, 0xa1,0x80,
+0xe, 0x7e,0x73,0xc, 0xa1,0xbe,0x70,0x0, 0x38,0x16,0xbe,0xf0,0x0, 0x38,0x11,0xbe,
+0xc0,0x5, 0x78,0x3, 0x7e,0xd0,0x32,0xb, 0xc0,0xbe,0xc0,0xc, 0x50,0x2, 0x41,0xf0,
+0x7e,0x73,0xc, 0xa1,0xbe,0x70,0xa, 0x28,0x6, 0x74,0xf, 0x7a,0xb3,0xc, 0xa1,0x7e,
+0xb3,0xc, 0xa1,0xbe,0xb0,0x0, 0x28,0x2, 0x80,0xa, 0xbe,0xf0,0x0, 0x28,0x3, 0x2e,
+0xf0,0x10,0x7c,0xbf,0xda,0x3b,0x22,0xca,0x79,0xb4,0x1, 0x60,0x6c,0xee,0x6c,0xff,
+0x80,0x50,0xa, 0x3f,0x9, 0xa3,0x9, 0x95,0x74,0x2, 0xa4,0x49,0x35,0xa, 0x22,0x12,
+0x81,0x2b,0x7d,0xf3,0x74,0x2, 0xac,0xbf,0x7e,0x1f,0x11,0x42,0x2d,0x35,0x2e,0x34,
+0x0, 0x14,0xb, 0x1a,0xe0,0x5e,0xe4,0x0, 0x3f,0x1b,0x1a,0xe0,0x7d,0x1f,0x3e,0x14,
+0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x74,0x2, 0xac,0xbf,0x7e,0x1f,
+0x11,0x42,0x2d,0x35,0x2e,0x34,0x0, 0x14,0xb, 0x1a,0xe0,0x4d,0xe1,0x1b,0x1a,0xe0,
+0xb, 0xf0,0x7e,0x73,0x9, 0xc3,0xbc,0x7f,0x38,0xa8,0x80,0x63,0x7e,0xe3,0xd, 0x78,
+0x5e,0xe0,0x3, 0x6c,0xff,0x80,0x50,0xa, 0x3f,0x9, 0xa3,0x9, 0x95,0x74,0x2, 0xa4,
+0x49,0x35,0x9, 0xc6,0x12,0x81,0x2b,0x7d,0xf3,0x74,0x2, 0xac,0xbf,0x7e,0x1f,0x11,
+0x42,0x2d,0x35,0x2e,0x34,0x0, 0x14,0xb, 0x1a,0xe0,0x5e,0xe4,0x0, 0x3f,0x1b,0x1a,
+0xe0,0x7d,0x1f,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x3e,0x14,0x74,
+0x2, 0xac,0xbf,0x7e,0x1f,0x11,0x42,0x2d,0x35,0x2e,0x34,0x0, 0x14,0xb, 0x1a,0xe0,
+0x4d,0xe1,0x1b,0x1a,0xe0,0xb, 0xf0,0x7e,0x73,0x9, 0xc3,0xbc,0x7f,0x38,0xa8,0x7c,
+0x6e,0x5e,0x60,0x3, 0x7c,0xb6,0xc4,0x54,0xf0,0x7c,0x6b,0x7e,0x73,0x9, 0x25,0x5e,
+0x70,0xcf,0x4c,0x76,0x7a,0x73,0x9, 0x25,0x7e,0x8, 0x9, 0x25,0x12,0x73,0xf7,0xda,
+0x79,0x22,0x7e,0x37,0xc, 0x81,0x9e,0x37,0xc, 0x85,0x12,0x9c,0xec,0x7d,0x13,0x7e,
+0x37,0xc, 0x83,0x9e,0x37,0xc, 0x87,0x12,0x9c,0xec,0x7d,0x3, 0x7e,0x37,0xc, 0x89,
+0x9e,0x37,0xc, 0x8d,0x12,0x9c,0xec,0x7d,0x43,0x7e,0x37,0xc, 0x8b,0x9e,0x37,0xc,
+0x8f,0x12,0x9c,0xec,0x7d,0x23,0x60,0x2, 0xa1,0x9a,0x7e,0x37,0x3, 0x14,0xbd,0x34,
+0x28,0x54,0x7e,0x37,0x3, 0x12,0xbd,0x32,0x50,0x4c,0xbd,0x30,0x40,0x2, 0xa1,0x9a,
+0x7e,0x37,0xc, 0x87,0xbe,0x37,0xc, 0x83,0x28,0x21,0x7e,0x7, 0xc, 0x83,0x9e,0x7,
+0xc, 0x8f,0xbe,0x7, 0x3, 0x1e,0x40,0x2, 0xa1,0x9a,0x7e,0x7, 0xc, 0x8b,0x9e,0x7,
+0xc, 0x87,0xbe,0x7, 0x3, 0x1e,0x50,0x72,0x74,0x23,0x22,0x9e,0x37,0xc, 0x8f,0xbe,
+0x37,0x3, 0x1e,0x50,0x65,0x7e,0x37,0xc, 0x8b,0x9e,0x37,0xc, 0x83,0xbe,0x37,0x3,
+0x1e,0x50,0x57,0x74,0x22,0x22,0x7e,0x37,0x3, 0xa, 0xbd,0x31,0x50,0x4c,0x7e,0x37,
+0x3, 0xc, 0xbd,0x32,0x28,0x44,0x7e,0x37,0xc, 0x85,0xbe,0x37,0xc, 0x81,0x50,0x1b,
+0x9e,0x37,0xc, 0x8d,0xbe,0x37,0x3, 0x1e,0x50,0x30,0x7e,0x37,0xc, 0x89,0x9e,0x37,
+0xc, 0x81,0xbe,0x37,0x3, 0x1e,0x50,0x22,0x74,0x20,0x22,0x7e,0x37,0xc, 0x81,0x9e,
+0x37,0xc, 0x8d,0xbe,0x37,0x3, 0x1e,0x50,0x11,0x7e,0x37,0xc, 0x89,0x9e,0x37,0xc,
+0x85,0xbe,0x37,0x3, 0x1e,0x50,0x3, 0x74,0x21,0x22,0xe4,0x22,0xca,0x3b,0x7e,0xd3,
+0x1, 0xb5,0x7e,0xb3,0x1, 0x49,0x70,0x2, 0xc1,0x80,0x6c,0xcc,0xc1,0x7a,0x20,0x5,
+0x2, 0xc1,0x56,0x74,0x5, 0xac,0xbc,0x49,0x35,0x1, 0x66,0x7a,0x35,0x23,0x49,0x25,
+0x1, 0x68,0x7a,0x25,0x25,0x7e,0x27,0x9, 0x1c,0x12,0x87,0xb8,0x7a,0x35,0x29,0x7e,
+0x35,0x25,0x7e,0x27,0x9, 0x1c,0x12,0x87,0xb8,0x7d,0x23,0x7a,0x25,0x2b,0x7e,0x35,
+0x29,0x12,0x81,0x2, 0x7a,0x35,0x27,0xbe,0x34,0x0, 0x1, 0x50,0x7, 0x7e,0x34,0x0,
+0x1, 0x7a,0x35,0x27,0x7e,0x37,0x9, 0x20,0xbe,0x35,0x27,0x7e,0x27,0x9, 0x14,0x7e,
+0x35,0x27,0x50,0x8, 0xad,0x32,0x7e,0x17,0x9, 0x1e,0x80,0x6, 0xad,0x32,0x7e,0x17,
+0x9, 0x22,0x12,0x9a,0x7a,0x7d,0x73,0x7e,0x7, 0x9, 0x14,0xbd,0x7, 0x50,0x2, 0x7d,
+0x70,0xbe,0x74,0x0, 0x1, 0x50,0x2, 0x6d,0x77,0x7e,0x35,0x29,0x7d,0x27,0x7e,0x15,
+0x27,0x12,0x83,0xc5,0x7a,0x35,0x23,0x7e,0x35,0x2b,0x7d,0x27,0x7e,0x15,0x27,0x7e,
+0x7, 0x9, 0x14,0x12,0x83,0xc5,0x7a,0x35,0x25,0x7e,0x25,0x23,0x74,0x5, 0xac,0xbc,
+0x59,0x25,0x1, 0x66,0x80,0x1e,0x74,0x5, 0xac,0xbc,0x49,0x35,0x1, 0x66,0x12,0x51,
+0x44,0x74,0x5, 0xac,0xbc,0x59,0x35,0x1, 0x66,0x49,0x35,0x1, 0x68,0x12,0x52,0x67,
+0x74,0x5, 0xac,0xbc,0x59,0x35,0x1, 0x68,0xb, 0xc0,0xbc,0xdc,0x28,0x2, 0xa1,0xae,
+0xda,0x3b,0x22,0x7c,0x6b,0xa5,0xbe,0xae,0x8, 0x5e,0x70,0x3, 0x7a,0x71,0x1f,0x80,
+0x6d,0xa5,0xbe,0xaf,0x3, 0x2, 0x86,0xf4,0xa5,0xbe,0x0, 0x5, 0x7c,0xb7,0x2, 0x84,
+0x2e,0xbe,0x60,0x50,0x40,0x10,0xbe,0x60,0x5d,0x38,0xb, 0xa, 0x56,0x1b,0x54,0xf5,
+0x5c,0x7c,0xb6,0x2, 0x7e,0x22,0xa5,0xbe,0x7, 0x14,0xa5,0xbf,0x1, 0x5, 0xd2,0x0,
+0xd2,0x3, 0x22,0xa5,0xbf,0x0, 0x2, 0x80,0x2, 0xe1,0x67,0xc2,0x0, 0x22,0xbe,0x60,
+0x8, 0x40,0x7, 0xbe,0x60,0xb, 0x38,0x2, 0x80,0x3d,0xbe,0x60,0xc, 0x40,0x5, 0xbe,
+0x60,0x1b,0x28,0x14,0xbe,0x60,0x1e,0x40,0x5, 0xbe,0x60,0x2a,0x28,0xa, 0xbe,0x60,
+0x2b,0x40,0xf, 0xbe,0x60,0x2e,0x38,0xa, 0xa, 0x26,0x19,0x72,0xd, 0x60,0x75,0x5b,
+0x1, 0x22,0xbe,0x60,0x6, 0x68,0x10,0xa5,0xbe,0x1c,0x2, 0x80,0xa, 0xbe,0x60,0x30,
+0x40,0xc, 0xbe,0x60,0x34,0x38,0x7, 0xa, 0x26,0x19,0x72,0xd, 0x60,0x22,0xbe,0x60,
+0x39,0x68,0x4, 0xa5,0xbe,0x3a,0x38,0x7e,0xa3,0xd, 0x92,0x7c,0xba,0x4, 0x7a,0xb3,
+0xd, 0x92,0x7c,0xba,0x7e,0xa3,0x9, 0xc3,0xa, 0x2a,0x3e,0x24,0xa, 0x1b,0xbd,0x12,
+0x28,0x4, 0x7d,0x52,0x1b,0x54,0xa, 0x2b,0x7e,0xf, 0x11,0x1a,0x2d,0x12,0x7a,0xb,
+0x70,0x30,0xe0,0x3, 0x75,0x5b,0x2, 0xa5,0xbe,0x3a,0xc, 0x75,0x5c,0x39,0x22,0xa5,
+0xbe,0x41,0x4, 0x7a,0x73,0xd, 0xa1,0x22,0xca,0x79,0x7f,0x71,0x7f,0x60,0x6d,0x88,
+0x7d,0xa8,0x7e,0x97,0x10,0x49,0xbe,0x94,0x0, 0x0, 0x18,0x4, 0x7e,0x94,0x0, 0x1,
+0x7e,0xa7,0x10,0x4b,0xbe,0xa4,0x0, 0x0, 0x18,0x4, 0x7e,0xa4,0x0, 0x1, 0x7d,0xb8,
+0x80,0x5a,0x7d,0x7b,0x3e,0x74,0x7f,0x16,0x2d,0x37,0xb, 0x1a,0x30,0x1a,0x26,0x1a,
+0x24,0x7e,0xf, 0x10,0x4e,0x9f,0x10,0x74,0x5, 0x2f,0x11,0x14,0x78,0xfb,0x7d,0x19,
+0x1a,0x2, 0x1a,0x0, 0x12,0x9a,0xcd,0x7d,0x83,0x7f,0x16,0x2d,0x37,0x1b,0x1a,0x80,
+0x7f,0x17,0x2d,0x37,0xb, 0x1a,0x30,0x1a,0x26,0x1a,0x24,0x7e,0xf, 0x10,0x52,0x9f,
+0x10,0x7e,0xf, 0x10,0x5a,0x12,0x9a,0x60,0x7d,0x1a,0x1a,0x2, 0x1a,0x0, 0x12,0x9a,
+0xcd,0x7d,0x83,0x7f,0x17,0x2d,0x37,0x1b,0x1a,0x80,0xb, 0xb4,0x7e,0x87,0x10,0x56,
+0xbd,0x8b,0x18,0x9e,0xda,0x79,0x22,0x6d,0x22,0x7a,0x25,0x1a,0x7a,0x35,0x1c,0x22,
+0xca,0xd8,0xca,0x79,0x7f,0x70,0x7e,0xf, 0x11,0x42,0x69,0x30,0x0, 0xb0,0x7d,0x53,
+0x1e,0x54,0x1e,0x54,0x5e,0x54,0x0, 0x1f,0x7c,0xab,0x7d,0x73,0x1e,0x74,0x5e,0x74,
+0x0, 0x1, 0x2e,0x14,0x0, 0xb0,0x5e,0x70,0x7f,0x1b,0xa, 0x30,0x6c,0xee,0x1, 0xd2,
+0xa, 0x3e,0x9, 0xd3,0x9, 0x95,0x7e,0x30,0x2, 0xac,0x3e,0x7e,0x1f,0x11,0x3e,0x2d,
+0x31,0xb, 0x1a,0x30,0x7d,0xd3,0x5e,0xd4,0x80,0x0, 0x6d,0x22,0x4d,0xdd,0x78,0x2,
+0x1, 0x5a,0x6e,0x34,0xff,0xff,0x6d,0x22,0xb, 0x1c,0x4c,0xff,0x78,0x2, 0x1, 0x7e,
+0xbe,0xa0,0x4, 0x40,0x2, 0x1, 0x73,0xa, 0x1a,0x3e,0x14,0x3e,0x14,0x2e,0x14,0x9c,
+0x2f,0x1, 0x87,0x7e,0x30,0x2, 0xac,0x3a,0x2e,0x14,0x9c,0x2d,0x1, 0x87,0x7e,0x30,
+0x2, 0xac,0x3a,0x2e,0x14,0x9c,0x2d,0x7e,0x4, 0x0, 0xff,0xb, 0xa, 0x40,0x7d,0x14,
+0x12,0x9a,0x71,0x74,0xc, 0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x14,0x78,
+0xf4,0x6d,0x22,0x4d,0xdd,0x78,0x2, 0x1, 0xb1,0x6e,0x34,0xff,0xff,0x6d,0x22,0xb,
+0x1c,0x7d,0xc3,0x7e,0x30,0x2, 0xac,0x3d,0x2d,0x1f,0x7d,0xe, 0x1b,0xa, 0xc0,0x7e,
+0x30,0x2, 0xac,0x3d,0x2d,0x1f,0xb, 0xa, 0xc0,0x2e,0xc4,0x80,0x0, 0x1b,0xa, 0xc0,
+0xb, 0xe0,0x7e,0xb3,0x9, 0xc3,0xbc,0xbe,0x28,0x2, 0x1, 0x30,0xda,0x79,0xda,0xd8,
+0x22,0xca,0x79,0x7e,0xb3,0x2, 0x1f,0x70,0x2, 0x21,0xbe,0x7e,0x23,0x1, 0xb5,0x7a,
+0x23,0x1, 0xb7,0x6c,0xaa,0x21,0xb8,0x7e,0x50,0x5, 0xac,0x5a,0x49,0xf2,0x1, 0x66,
+0x7e,0xe4,0x0, 0x40,0x9e,0xf4,0x0, 0x20,0x49,0xd2,0x1, 0x68,0x7e,0x37,0x1, 0xcb,
+0x1e,0x34,0xbd,0xd3,0x50,0xe, 0x7e,0x33,0x1, 0xe9,0xa, 0x43,0x7e,0x33,0x1, 0xea,
+0xa, 0x3, 0x80,0xc, 0x7e,0x33,0x1, 0xeb,0xa, 0x43,0x7e,0x33,0x1, 0xec,0xa, 0x3,
+0x7e,0x63,0x9, 0xc5,0x7e,0x70,0x40,0xac,0x67,0x7d,0xd3,0xbd,0x4f,0x38,0xa, 0x7d,
+0x3d,0x9d,0x3e,0x9d,0x30,0xbd,0x3f,0x50,0x3a,0x7e,0xb3,0x1, 0xb6,0xb4,0x1, 0x2c,
+0xa5,0xba,0x1, 0x28,0x7e,0xf0,0x4, 0xac,0xfa,0x49,0x37,0x11,0x36,0xbe,0x34,0x7f,
+0xff,0x68,0x19,0x49,0xc7,0x11,0x38,0xbe,0xc4,0x7f,0xff,0x68,0xf, 0x59,0x32,0x1,
+0x66,0x7e,0x70,0x5, 0xac,0x7a,0x59,0xc3,0x1, 0x68,0x80,0x7, 0x7c,0xba,0x7c,0x72,
+0x12,0x7f,0xb1,0x7e,0x33,0x1, 0xb8,0xbe,0x33,0x1, 0xb7,0x68,0xf, 0x7e,0xc4,0x7f,
+0xff,0x7e,0x70,0x4, 0xac,0x7a,0x59,0xc3,0x11,0x36,0x80,0x16,0x7e,0x50,0x5, 0xac,
+0x5a,0x49,0xc2,0x1, 0x66,0x7e,0x70,0x4, 0xac,0x7a,0x59,0xc3,0x11,0x36,0x49,0xc2,
+0x1, 0x68,0x59,0xc3,0x11,0x38,0xb, 0xa0,0xbc,0x2a,0x28,0x2, 0x1, 0xf7,0xda,0x79,
+0x22,0x7f,0x61,0x7f,0x50,0x6d,0xee,0x7a,0xe5,0x3a,0x7d,0x4e,0x7d,0x3e,0x7d,0x1e,
+0x7d,0xfe,0x7e,0x50,0x1, 0x1a,0x5, 0x7f,0x45,0x2d,0x90,0x7e,0x4b,0x40,0x1a,0x4,
+0x1a,0x55,0x7f,0x46,0x2d,0x95,0x7e,0x4b,0x40,0x1a,0x54,0x2d,0x45,0x2d,0x30,0x7d,
+0x95,0xad,0x95,0xe, 0x94,0xe, 0x94,0xe, 0x94,0xe, 0x94,0x2d,0x19,0x7d,0x90,0xad,
+0x90,0xe, 0x94,0xe, 0x94,0xe, 0x94,0xe, 0x94,0x2d,0xf9,0x7d,0x95,0xad,0x90,0xe,
+0x94,0xe, 0x94,0xe, 0x94,0xe, 0x94,0x2d,0xe9,0xb, 0x50,0xa5,0xbd,0x10,0xb6,0xe,
+0x44,0xe, 0x44,0xe, 0x44,0xe, 0x44,0xe, 0x34,0xe, 0x34,0xe, 0x34,0xe, 0x34,0x7d,
+0xd4,0xad,0xd3,0x9d,0xed,0xbe,0xe4,0x0, 0x0, 0x18,0x2, 0x80,0x5d,0x7d,0x54,0xad,
+0x54,0x9d,0x15,0xad,0x33,0x9d,0xf3,0xbe,0x14,0x0, 0x10,0x8, 0x6, 0xbe,0xf4,0x0,
+0x40,0x18,0x6, 0x7e,0x34,0x0, 0x64,0x80,0x3e,0xe, 0xe4,0xe, 0xe4,0xe, 0xe4,0xe,
+0xe4,0x7e,0x34,0x0, 0x19,0xad,0x3e,0xe, 0x14,0xe, 0x14,0xe, 0x14,0xe, 0x14,0x1a,
+0x2, 0x1a,0x0, 0x1a,0x26,0x1a,0x24,0x12,0x9a,0xcd,0xad,0x3e,0x7d,0x1f,0xe, 0x14,
+0xe, 0x14,0xe, 0x14,0xe, 0x14,0xe, 0x14,0xe, 0x14,0x1a,0x2, 0x1a,0x0, 0x1a,0x26,
+0x1a,0x24,0x12,0x9a,0xcd,0x1a,0x37,0x7a,0x35,0x3a,0x7e,0x55,0x3a,0x22,0x7e,0xa1,
+0x1f,0x5e,0xa0,0x3, 0xbe,0xa0,0x1, 0x78,0x2, 0x6c,0xaa,0x4c,0xaa,0x78,0x76,0x90,
+0xb4,0x78,0xe4,0x93,0x7c,0x6b,0x5e,0x60,0x3, 0x3e,0x60,0x7e,0x73,0x9, 0x25,0x5e,
+0x70,0xf9,0x4c,0x76,0x7a,0x73,0x9, 0x25,0x7e,0x63,0xd, 0x78,0x5e,0x60,0x3, 0x7c,
+0xb6,0xc4,0x54,0xf0,0x7c,0x6b,0x7e,0x73,0x9, 0x25,0x5e,0x70,0xcf,0x4c,0x76,0x7a,
+0x73,0x9, 0x25,0x7e,0x63,0xd, 0x6c,0x5e,0x60,0x1f,0x7e,0x73,0x9, 0x26,0x5e,0x70,
+0xe0,0x4c,0x76,0x7a,0x73,0x9, 0x26,0x90,0xb4,0xb4,0xe4,0x93,0x7a,0xb3,0x1, 0x29,
+0x90,0xb4,0xb2,0xe4,0x93,0x7a,0xb3,0x1, 0x27,0x90,0xb4,0xb3,0xe4,0x93,0x7a,0xb3,
+0x1, 0x28,0x7e,0x73,0x9, 0x64,0xa, 0x27,0x7e,0x73,0x9, 0x63,0xa, 0x37,0x2d,0x32,
+0x7a,0x73,0x9, 0xc3,0x22,0xbe,0xa0,0x1, 0x78,0x16,0x7e,0xb3,0xd, 0xa1,0x70,0x10,
+0x7e,0xb3,0x9, 0x25,0x54,0xf9,0x7a,0xb3,0x9, 0x25,0x54,0xcf,0x44,0x10,0x80,0x17,
+0xbe,0xa0,0x2, 0x78,0x2d,0x7e,0xb3,0xd, 0xa1,0x70,0x27,0x7e,0xb3,0x9, 0x25,0x54,
+0xf9,0x7a,0xb3,0x9, 0x25,0x54,0xcf,0x7a,0xb3,0x9, 0x25,0x7e,0xb3,0x9, 0x26,0x54,
+0xe0,0x7a,0xb3,0x9, 0x26,0xe4,0x7a,0xb3,0x1, 0x29,0x7a,0xb3,0x1, 0x27,0x7a,0xb3,
+0x1, 0x28,0x22,0xca,0x3b,0x7a,0x1d,0x23,0x7f,0x30,0x7e,0xb3,0x9, 0xc3,0xf5,0x29,
+0x7e,0xb3,0x9, 0x26,0x54,0x1f,0xa, 0x2b,0x5e,0x24,0x0, 0x1f,0x3e,0x24,0x3e,0x24,
+0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x5e,0x70,0x83,0x4d,0x32,
+0x1b,0xa, 0x30,0xe5,0x29,0xa, 0x3b,0x3e,0x34,0x7f,0x3, 0xe4,0x12,0x9c,0xda,0x7e,
+0xb3,0x1, 0x29,0x60,0x47,0x75,0x27,0x0, 0x80,0x37,0x12,0x6c,0xf6,0x75,0x28,0x0,
+0x80,0x26,0x7e,0x71,0x28,0x74,0x2, 0xac,0x7b,0x7f,0x3, 0x2d,0x13,0xb, 0xa, 0x50,
+0x7e,0x7d,0x23,0x2d,0xf3,0xb, 0x7a,0x20,0xbd,0x25,0x28,0xa, 0x2e,0x37,0x8, 0xf6,
+0xb, 0x38,0x30,0x1b,0xa, 0x30,0x5, 0x28,0xe5,0x29,0xbe,0xb1,0x28,0x38,0xd3,0x5,
+0x27,0x7e,0x73,0x1, 0x59,0xbe,0x71,0x27,0x38,0xc0,0x80,0x48,0x75,0x27,0x0, 0x12,
+0x78,0xae,0x80,0x4, 0xe4,0x12,0x82,0x64,0x30,0xb, 0xf9,0x7e,0xd, 0x23,0x12,0x60,
+0x0, 0x75,0x28,0x0, 0x80,0x20,0x7e,0xa1,0x28,0x74,0x2, 0xa4,0x7e,0x1d,0x23,0x2d,
+0x35,0xb, 0x1a,0x20,0x1e,0x24,0x1e,0x24,0x7f,0x3, 0x2d,0x15,0xb, 0xa, 0x30,0x2d,
+0x32,0x1b,0xa, 0x30,0x5, 0x28,0xe5,0x29,0xbe,0xb1,0x28,0x38,0xd9,0x5, 0x27,0xe5,
+0x27,0xb4,0x4, 0xbb,0xda,0x3b,0x22,0x7c,0x7b,0xa, 0x27,0x9, 0x62,0xa, 0x7e,0xa,
+0x26,0x7e,0xf, 0x11,0x42,0x79,0x20,0x0, 0x14,0x6d,0x22,0x7e,0xf, 0x11,0x42,0x79,
+0x20,0x0, 0xc, 0x7e,0xf, 0x11,0x42,0x79,0x20,0x0, 0xe, 0x7e,0xf, 0x11,0x42,0x79,
+0x20,0x0, 0x10,0x7e,0xf, 0x11,0x42,0x79,0x20,0x0, 0x6, 0x7e,0xf, 0x11,0x42,0x79,
+0x20,0x0, 0x8, 0x7e,0xf, 0x11,0x42,0x79,0x20,0x0, 0xa, 0xa, 0x27,0x9, 0xb2,0xa,
+0x7e,0xa, 0x4b,0x5e,0x44,0x0, 0xf, 0xc4,0x54,0xf, 0x7c,0xab,0x7c,0xb9,0x7e,0xf4,
+0x0, 0x1, 0x70,0x2, 0x81,0xab,0x3e,0xf4,0x14,0x78,0xfb,0x7e,0x50,0x2, 0xac,0x5a,
+0x7e,0xf, 0x11,0x42,0x2d,0x12,0x2e,0x14,0x0, 0xc, 0xb, 0xa, 0x20,0x4d,0x2f,0x1b,
+0xa, 0x20,0xe5,0x1f,0x54,0x3, 0xb4,0x1, 0x2, 0x80,0x2, 0xa1,0x17,0x7c,0xb7,0x20,
+0xe0,0x2, 0x81,0xdc,0xa, 0x57,0x1b,0x54,0x7c,0xab,0x81,0xe2,0xa, 0x57,0xb, 0x54,
+0x7c,0xab,0xa, 0x3a,0x9, 0xb3,0xa, 0x7e,0xa, 0x4b,0x5e,0x44,0x0, 0xf, 0xc4,0x54,
+0xf, 0x7c,0xab,0x7c,0xb9,0x7e,0x24,0x0, 0x1, 0x70,0x2, 0xa1,0x2, 0x3e,0x24,0x14,
+0x78,0xfb,0x74,0x2, 0xa4,0x7e,0xf, 0x11,0x42,0x2d,0x15,0x2e,0x14,0x0, 0x6, 0xb,
+0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x22,0x9f,0x0, 0x7e,0x27,0xc, 0x9b,0xbe,0x24,
+0x0, 0x30,0x50,0x26,0x7e,0x37,0xc, 0x85,0x3e,0x24,0x3e,0x24,0x59,0x32,0xb, 0xbf,
+0x7e,0x37,0xc, 0x87,0x7e,0x27,0xc, 0x9b,0x3e,0x24,0x3e,0x24,0x59,0x32,0xb, 0xc1,
+0x7e,0x37,0xc, 0x9b,0xb, 0x34,0x7a,0x37,0xc, 0x9b,0x7e,0xa0,0x1, 0x80,0x30,0x7e,
+0x70,0x4, 0xac,0x7a,0x49,0x23,0xb, 0xbd,0x49,0x33,0xb, 0xc1,0x9d,0x32,0x12,0x9c,
+0xec,0x7d,0x43,0x7e,0x70,0x4, 0xac,0x7a,0x49,0x23,0xb, 0xbb,0x49,0x33,0xb, 0xbf,
+0x9d,0x32,0x12,0x9c,0xec,0x2d,0x43,0x7d,0x34,0x6d,0x22,0x2f,0x1, 0xb, 0xa0,0xa,
+0x3a,0xbe,0x37,0xc, 0x9b,0x40,0xc8,0x6d,0x33,0x7a,0x35,0x58,0x7e,0x37,0x3, 0x26,
+0x6d,0x22,0xbf,0x1, 0x28,0x3, 0x74,0xfe,0x22,0x7e,0x73,0x2, 0xfb,0xa, 0x37,0x3e,
+0x34,0x3e,0x34,0x3e,0x34,0x6d,0x22,0xbf,0x1, 0x50,0x37,0x7e,0x37,0x3, 0x0, 0xbe,
+0x37,0xb, 0xb6,0x28,0x2d,0x7e,0xb3,0xb, 0xba,0x4, 0x7a,0xb3,0xb, 0xba,0x7e,0x34,
+0x0, 0x2, 0x7a,0x35,0x58,0x6d,0x33,0x7a,0x37,0xb, 0xb8,0x7e,0x47,0xc, 0x85,0x7e,
+0xa3,0xb, 0xba,0x74,0x2, 0xa4,0x59,0x45,0xc, 0x8f,0x7e,0x37,0xc, 0x87,0x59,0x35,
+0xc, 0x93,0xe4,0x22,0x7e,0xb3,0x1, 0x27,0x70,0x2, 0xc1,0xab,0xe4,0x7a,0xb3,0x11,
+0x48,0x9f,0x77,0x7e,0xa3,0x9, 0xc3,0x6c,0x77,0x80,0x36,0x7e,0x30,0x2, 0xac,0x37,
+0x49,0x21,0x4, 0x48,0x49,0x1, 0x8, 0x98,0xbd,0x2, 0x28,0x23,0x49,0x21,0x4, 0x48,
+0x49,0x41,0x8, 0x98,0x9d,0x42,0x7d,0x14,0x1a,0x2, 0x1a,0x0, 0x2f,0x70,0x7e,0x27,
+0x0, 0x8f,0xbd,0x24,0x50,0x9, 0x7e,0xb3,0x11,0x48,0x4, 0x7a,0xb3,0x11,0x48,0xb,
+0x70,0xbc,0xa7,0x38,0xc6,0x7e,0x73,0x0, 0x91,0xbe,0x73,0x11,0x48,0x38,0x34,0xbe,
+0x78,0x27,0x10,0x28,0x2e,0x20,0xf, 0x2b,0x7e,0xa3,0x11,0x49,0x4c,0xaa,0x78,0x4,
+0x74,0x1, 0x80,0x20,0xbe,0xa0,0x2, 0x50,0x24,0x7e,0xb3,0x11,0x4a,0x4, 0x7a,0xb3,
+0x11,0x4a,0x7e,0x73,0x11,0x4a,0xbe,0x70,0x14,0x28,0x12,0x74,0x2, 0x7a,0xb3,0x11,
+0x49,0x80,0xa, 0xe4,0x7a,0xb3,0x11,0x49,0xe4,0x7a,0xb3,0x11,0x4a,0x6d,0x33,0x7a,
+0x37,0x11,0x46,0x7e,0x73,0x11,0x49,0xbe,0x70,0x1, 0x28,0xd, 0x7e,0x14,0x0, 0x14,
+0x7f,0x17,0x12,0x9a,0x7a,0x7a,0x37,0x11,0x46,0x7e,0x37,0x11,0x46,0xbe,0x34,0xd,
+0xac,0x28,0x8, 0x7e,0x34,0xd, 0xac,0x7a,0x37,0x11,0x46,0x22,0x12,0x87,0x6a,0x12,
+0x0, 0x2e,0xe4,0x12,0x87,0xa4,0x12,0x84,0x14,0x7e,0xb3,0xd, 0xde,0xb4,0x1, 0x2,
+0x80,0x2, 0xe1,0x6f,0x12,0x81,0xcb,0x12,0x7a,0xee,0xd2,0x8, 0x7e,0x34,0x0, 0xc8,
+0x12,0x5f,0xf7,0x12,0x73,0x14,0x12,0x7e,0x57,0x12,0x3e,0x5, 0xe4,0x12,0x87,0xa4,
+0x12,0x0, 0x4e,0x12,0x7d,0x1, 0x12,0x65,0xe4,0x12,0x6a,0x43,0x7e,0x73,0xd, 0xa2,
+0xa, 0x37,0x6d,0x22,0x7e,0x14,0x0, 0x64,0x12,0x9a,0x71,0x7f,0x1, 0x7e,0x1f,0x3,
+0x30,0xbf,0x10,0x48,0xe, 0x12,0x58,0x0, 0x12,0x7a,0x1, 0x12,0x1c,0x6d,0x12,0x86,
+0xa9,0x80,0x12,0xe4,0x7a,0xb3,0x1, 0xb5,0x7e,0xb3,0x1, 0x51,0xb4,0x1, 0x6, 0x30,
+0xf, 0x3, 0x12,0x7a,0x1, 0x12,0x87,0x76,0x12,0x76,0x53,0x12,0x26,0xc0,0x12,0x80,
+0x85,0x12,0x83,0xe0,0x12,0x85,0xe7,0x12,0x23,0xf5,0x12,0x60,0xe1,0x12,0x5d,0x9c,
+0x12,0x7c,0x83,0x12,0x14,0xd5,0x12,0x2a,0xab,0x12,0x68,0x0, 0x12,0x0, 0x47,0x12,
+0x10,0x0, 0x12,0x3c,0x10,0x12,0x20,0x0, 0x12,0x32,0x32,0x12,0x41,0x87,0x12,0x38,
+0x0, 0x12,0x18,0x0, 0x12,0x40,0x0, 0x12,0x75,0xf2,0x12,0x81,0xa4,0xc1,0xb9,0x2,
+0x87,0xd6,0x7e,0x1f,0x11,0x42,0x69,0x31,0x0, 0xae,0x1e,0x34,0x1e,0x34,0x5e,0x34,
+0x0, 0x1, 0x68,0xa, 0x7e,0x1f,0xa, 0xac,0xb, 0x1a,0x30,0x2, 0x0, 0x76,0x6c,0xaa,
+0x80,0x59,0xa, 0x3a,0x9, 0x23,0x9, 0x95,0x7e,0x30,0x2, 0xac,0x23,0x7e,0x1f,0xa,
+0xac,0x2d,0x31,0xb, 0x1a,0x30,0x12,0x81,0x2b,0x7d,0x23,0x7e,0x70,0x2, 0xac,0x7a,
+0x7e,0xf, 0x11,0x42,0x2d,0x13,0x2e,0x14,0x0, 0x14,0xb, 0xa, 0x30,0x5e,0x34,0x0,
+0x3f,0x1b,0xa, 0x30,0x7d,0x42,0x3e,0x44,0x3e,0x44,0x3e,0x44,0x3e,0x44,0x3e,0x44,
+0x3e,0x44,0x7e,0x70,0x2, 0xac,0x7a,0x7e,0xf, 0x11,0x42,0x2d,0x13,0x2e,0x14,0x0,
+0x14,0xb, 0xa, 0x30,0x4d,0x34,0x1b,0xa, 0x30,0xb, 0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,
+0xba,0x38,0x9f,0x22,0x74,0xa, 0x12,0x86,0x59,0x75,0xe6,0xa6,0x75,0xe9,0xff,0x22,
+0x7e,0xb3,0x1, 0x4a,0x70,0x2, 0x1, 0xc5,0x30,0xf, 0x2, 0x1, 0xc5,0x7e,0xa7,0x1,
+0xc7,0x7e,0xa3,0xd, 0xcb,0x4c,0xaa,0x68,0x12,0xbe,0xa0,0xff,0x68,0xd, 0x74,0x64,
+0xa4,0x7d,0xb5,0xbd,0xab,0x8, 0x6, 0x7d,0xba,0x80,0x2, 0x7d,0xba,0x7e,0xb3,0x1,
+0xb6,0xb4,0x1, 0xc, 0x7e,0xa7,0x1, 0x68,0xbe,0xa7,0x0, 0xd2,0x78,0x2, 0xe, 0xb4,
+0x7e,0x73,0x9, 0x66,0xa, 0x7, 0x7e,0x73,0x9, 0x64,0xa, 0x17,0x9d,0x10,0x7c,0x23,
+0x7e,0xa3,0x9, 0x65,0x7e,0x33,0x9, 0x63,0xbc,0xa2,0x78,0x31,0x7c,0x73,0x6c,0x66,
+0x80,0x25,0x7e,0x50,0x4, 0xac,0x57,0x2e,0x27,0x8, 0xf4,0x49,0xd2,0x0, 0x2, 0xb,
+0x28,0xc0,0x7d,0x2b,0x7d,0xfb,0x1a,0x24,0x1a,0xe4,0xbf,0x76,0x18,0x5, 0xe4,0x7a,
+0xb3,0x0, 0xc3,0xb, 0x60,0xb, 0x70,0xbc,0xa6,0x38,0xd7,0x80,0x2e,0xa5,0xba,0x2,
+0x2a,0x74,0x4, 0xac,0xb3,0x7d,0xa5,0x2e,0xa7,0x8, 0xf4,0x49,0x3a,0x0, 0x6, 0x49,
+0x2a,0x0, 0x4, 0x49,0x1a,0x0, 0x2, 0xb, 0xa8,0x0, 0x2f,0x1, 0x7d,0x3b,0x1a,0x26,
+0x1a,0x24,0xbf,0x10,0x18,0x5, 0xe4,0x7a,0xb3,0x0, 0xc3,0x12,0x77,0x9, 0x40,0x5,
+0x7d,0x3b,0x2, 0x30,0x0, 0x22,0xca,0xf8,0x7c,0xfb,0x7f,0x50,0x7f,0x41,0x7e,0x7d,
+0x23,0xbe,0x78,0x0, 0x32,0x18,0x2, 0x21,0x87,0xe5,0x28,0x70,0x4, 0xe5,0xc, 0x80,
+0x2, 0xe5,0x9, 0xa, 0x1b,0x6d,0x0, 0x7f,0x17,0x12,0x9a,0x60,0x7e,0x8, 0x0, 0x64,
+0x12,0x9a,0xcd,0x7f,0x71,0x7f,0x15,0x12,0x86,0x6e,0x7f,0x61,0x7f,0x14,0x12,0x86,
+0x6e,0x2f,0x61,0x78,0x4c,0x4c,0xff,0x68,0x24,0x7e,0x14,0x0, 0x3, 0x7f,0x17,0x12,
+0x9a,0x71,0x7e,0x8, 0x0, 0x4, 0x12,0x9a,0xcd,0x7f,0x1, 0x7e,0x1d,0x29,0x79,0x11,
+0x0, 0x2, 0x1b,0x1a,0x0, 0x7e,0x8, 0x0, 0x4, 0x7f,0x17,0x80,0x4b,0x7e,0x8, 0x0,
+0x4, 0x7f,0x17,0x12,0x9a,0xcd,0x7f,0x1, 0x7e,0x1d,0x29,0x79,0x11,0x0, 0x2, 0x1b,
+0x1a,0x0, 0x7e,0x14,0x0, 0x3, 0x7f,0x17,0x12,0x9a,0x71,0x7e,0x8, 0x0, 0x4, 0x80,
+0x27,0x7f,0x14,0x12,0x86,0x6e,0x7f,0x7, 0x12,0x9a,0x60,0x7f,0x6, 0x12,0x9a,0xcd,
+0x7f,0x1, 0x7e,0x1d,0x29,0x79,0x11,0x0, 0x2, 0x1b,0x1a,0x0, 0x7f,0x15,0x12,0x86,
+0x6e,0x7f,0x7, 0x12,0x9a,0x60,0x7f,0x6, 0x12,0x9a,0xcd,0x7f,0x1, 0x7e,0x1d,0x2d,
+0x79,0x11,0x0, 0x2, 0x1b,0x1a,0x0, 0xda,0xf8,0x22,0xca,0x2b,0xca,0x1b,0xca,0xb,
+0xc0,0xd0,0xc0,0x83,0xc0,0x82,0xc2,0xc1,0x7e,0x11,0xa2,0x7e,0x1, 0xa7,0xa5,0xb8,
+0x1, 0xb, 0xc2,0x95,0x7c,0xb1,0x12,0x7a,0x54,0xf5,0x91,0x80,0x58,0xbe,0x0, 0x3,
+0x40,0x36,0x7c,0xb1,0x7e,0x71,0xa3,0x12,0x74,0xca,0x7e,0xb3,0xd, 0xc7,0xbe,0xb1,
+0x4e,0x68,0x4, 0x70,0x2, 0xc2,0xc, 0x7e,0xb3,0x0, 0xec,0xb4,0x2, 0x6, 0x7e,0xb3,
+0xd, 0xf2,0x70,0xd, 0x7e,0xb3,0x9, 0x24,0xb4,0x2, 0xd, 0x7e,0xb3,0xd, 0xf2,0x70,
+0x7, 0xc2,0xc, 0xe4,0x7a,0xb3,0xd, 0xc7,0xbe,0x0, 0x7, 0x40,0xa, 0xb, 0x10,0x7c,
+0xb1,0x7e,0x71,0xa4,0x12,0x74,0xca,0xa5,0xb8,0xf, 0xa, 0xb, 0x10,0x7c,0xb1,0x7e,
+0x71,0xa5,0x12,0x74,0xca,0x20,0xc, 0x28,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,
+0xb, 0xa, 0x30,0x5e,0x70,0xfd,0x1b,0xa, 0x30,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xa9,
+0xc7,0xdb,0xa9,0xd0,0xce,0xa9,0xc5,0xc9,0xa9,0xd6,0xdc,0x75,0x9f,0x0, 0xd2,0xee,
+0x75,0x5d,0x0, 0x12,0x87,0x99,0xd0,0x82,0xd0,0x83,0xd0,0xd0,0xda,0xb, 0xda,0x1b,
+0xda,0x2b,0x32,0xca,0xf8,0x7e,0xa3,0x9, 0xc4,0x7e,0x47,0x8, 0xf4,0x7e,0x73,0x9,
+0x63,0x9f,0x0, 0x7a,0xf, 0x3, 0x30,0x6c,0x66,0x80,0x2f,0xbc,0xa6,0x28,0xf, 0x9f,
+0x0, 0x7e,0x50,0x4, 0xac,0x56,0x59,0x12,0x3, 0x36,0x59,0x2, 0x3, 0x34,0x7e,0x50,
+0x4, 0xac,0x56,0x2d,0x24,0x49,0x12,0x0, 0x2, 0xb, 0x28,0x0, 0x7e,0x7f,0x3, 0x30,
+0xbf,0x7, 0x8, 0x4, 0x7a,0xf, 0x3, 0x30,0xb, 0x60,0xbc,0x76,0x38,0xcd,0x7e,0x6f,
+0x3, 0x30,0xbe,0x68,0x2, 0xbc,0x58,0x4, 0x74,0x7, 0x80,0x3d,0x7e,0xf3,0xd, 0xa2,
+0xa, 0xff,0x6d,0xee,0x7e,0x14,0x3, 0x20,0x7f,0x17,0x12,0x9a,0x71,0xbf,0x61,0x48,
+0x16,0x7e,0x8, 0x0, 0x4, 0x7f,0x16,0x12,0x9a,0xcd,0x7e,0x8, 0x0, 0x64,0x12,0x9a,
+0xcd,0x7a,0x73,0xd, 0xa2,0x80,0x16,0x7e,0x14,0x0, 0x64,0x7f,0x17,0x12,0x9a,0x71,
+0xbe,0x18,0x3, 0x84,0x8, 0x7, 0x7c,0xbf,0x14,0x7a,0xb3,0xd, 0xa2,0x7e,0x73,0xd,
+0xa2,0xa, 0x37,0x6d,0x22,0x7e,0x14,0x0, 0x64,0x12,0x9a,0x71,0xbe,0x18,0x2, 0xbc,
+0x58,0x6, 0x74,0x7, 0x7a,0xb3,0xd, 0xa2,0xda,0xf8,0x22,0x7e,0x34,0xb5,0x3a,0x7e,
+0x24,0x0, 0xff,0xb, 0x1a,0x30,0x7a,0x37,0x2, 0x1b,0x7e,0xb3,0x1, 0xe6,0x70,0x12,
+0x7e,0x8, 0x1, 0x49,0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,0xda,0x7a,0xb3,0x2, 0x1e,
+0x80,0xf, 0xb4,0x1, 0x17,0x7e,0x8, 0x1, 0x49,0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,
+0xda,0xe4,0x7a,0xb3,0x2, 0x1f,0x7a,0xb3,0x2, 0x20,0x80,0x24,0xb4,0x2, 0x12,0x7e,
+0x8, 0x1, 0x49,0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,0xda,0x7a,0xb3,0x2, 0x1f,0x80,
+0xf, 0xb4,0x3, 0x17,0x7e,0x8, 0x1, 0x49,0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,0xda,
+0xe4,0x7a,0xb3,0x2, 0x1d,0x7a,0xb3,0x2, 0x21,0x80,0x24,0xb4,0x4, 0x12,0x7e,0x8,
+0x1, 0x49,0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,0xda,0x7a,0xb3,0x2, 0x1d,0x80,0xf,
+0xb4,0x5, 0x24,0x7e,0x8, 0x1, 0x49,0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,0xda,0x7e,
+0x37,0x1, 0xcb,0x1e,0x34,0x1e,0x34,0x7a,0x37,0x2, 0x1b,0x7e,0x37,0x1, 0xcb,0x1e,
+0x34,0x1e,0x34,0x7a,0x37,0x1, 0xd3,0x22,0x69,0x50,0x0, 0xf, 0x1a,0x4a,0x1a,0x48,
+0x7e,0x1d,0x50,0x2f,0x12,0x7e,0x2f,0x11,0x42,0x79,0x32,0x0, 0x84,0x29,0xb0,0x0,
+0xc, 0x1e,0xb0,0x54,0x3f,0xa, 0x3b,0x7e,0x2f,0x11,0x42,0x79,0x32,0x0, 0x88,0x69,
+0x30,0x0, 0xd, 0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0x86,0x6d,0x33,0x7e,0xf, 0x11,
+0x42,0x79,0x30,0x0, 0xb4,0x12,0x7c,0x43,0xa9,0xd0,0xce,0xa9,0xd5,0xc9,0xa9,0xd0,
+0x9e,0xa9,0xd4,0x9e,0xa9,0xd0,0x9e,0x7e,0x73,0xd, 0xab,0xa, 0x27,0x7e,0x34,0xf,
+0xa0,0x12,0x9a,0x2e,0x7c,0xb7,0xf5,0x9f,0xa9,0xd3,0xcd,0xa9,0xd0,0xcd,0xa9,0xc6,
+0xdc,0xa9,0xd5,0xdc,0xa9,0xd7,0xca,0xd2,0xa8,0xc2,0xee,0x7e,0xf, 0x11,0x42,0x2e,
+0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x4e,0x70,0x80,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,
+0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x5e,0x70,0x83,0x1b,0xa, 0x30,0x7e,0xf, 0x11,
+0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x4e,0x70,0x2, 0x1b,0xa, 0x30,0xa9,0xd7,
+0xdb,0x22,0x7e,0x1f,0x11,0x42,0x69,0xc1,0x0, 0xae,0x1e,0xc4,0x1e,0xc4,0x5e,0xc4,
+0x0, 0x1, 0x68,0x1b,0x7e,0x1f,0xa, 0xac,0xb, 0x1a,0xd0,0xe5,0x61,0x7e,0xc4,0x0,
+0x1, 0x60,0x5, 0x3e,0xc4,0x14,0x78,0xfb,0x4d,0xdc,0x7d,0x3d,0x2, 0x0, 0x76,0x6c,
+0xaa,0x80,0x6a,0xa, 0x3a,0x9, 0x23,0x9, 0x95,0x7e,0x30,0x2, 0xac,0x23,0x7e,0x1f,
+0xa, 0xac,0x2d,0x31,0xb, 0x1a,0xd0,0xe5,0x61,0x7e,0x44,0x0, 0x1, 0x60,0x5, 0x3e,
+0x44,0x14,0x78,0xfb,0x4d,0xd4,0x7d,0x3d,0x12,0x81,0x2b,0x7d,0xd3,0x7e,0x30,0x2,
+0xac,0x3a,0x7e,0x1f,0x11,0x42,0x2d,0x31,0x2e,0x34,0x0, 0x14,0xb, 0x1a,0xc0,0x5e,
+0xc4,0x0, 0x3f,0x1b,0x1a,0xc0,0x7d,0x4d,0x3e,0x44,0x3e,0x44,0x3e,0x44,0x3e,0x44,
+0x3e,0x44,0x3e,0x44,0x7e,0x30,0x2, 0xac,0x3a,0x7e,0x1f,0x11,0x42,0x2d,0x31,0x2e,
+0x34,0x0, 0x14,0xb, 0x1a,0xc0,0x4d,0xc4,0x1b,0x1a,0xc0,0xb, 0xa0,0x7e,0xb3,0x9,
+0xc3,0xbc,0xba,0x38,0x8e,0x22,0xca,0x79,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,
+0xb, 0xa, 0x30,0x5e,0x70,0x83,0x1b,0xa, 0x30,0x80,0x4, 0xe4,0x12,0x82,0x64,0x30,
+0xb, 0xf9,0x7e,0xe3,0x1, 0x44,0xbe,0xe0,0xa, 0x28,0x3, 0x7e,0xe0,0xa, 0x6c,0xff,
+0x80,0x1b,0x12,0x78,0xae,0x80,0x4, 0xe4,0x12,0x82,0x64,0x30,0xb, 0xf9,0x74,0x2,
+0xac,0xbf,0x49,0x15,0x0, 0x6d,0x6d,0x0, 0x12,0x60,0x0, 0xb, 0xf0,0xbc,0xef,0x38,
+0xe1,0x6c,0xff,0x80,0x12,0x74,0x2, 0xac,0xbf,0x49,0x35,0x0, 0x6d,0x74,0x4, 0xac,
+0xbf,0x59,0x35,0xf, 0xa8,0xb, 0xf0,0xbc,0xef,0x38,0xea,0x7c,0xbe,0x12,0x2d,0x51,
+0x6c,0xff,0x80,0xc, 0x6d,0x33,0x74,0x4, 0xac,0xbf,0x59,0x35,0xf, 0xa8,0xb, 0xf0,
+0xbc,0xef,0x38,0xf0,0x7e,0xb3,0x9, 0x26,0x54,0x1f,0xa, 0x2b,0x5e,0x24,0x0, 0x1f,
+0x3e,0x24,0x3e,0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x5e,
+0x70,0x83,0x4d,0x32,0x1b,0xa, 0x30,0xda,0x79,0x22,0x7c,0x6b,0x6c,0xaa,0xbe,0x60,
+0x20,0x40,0x5, 0xbe,0x60,0x7f,0x28,0x3, 0x7c,0xba,0x22,0xa, 0x26,0x9e,0x24,0x0,
+0x20,0xe, 0x24,0xe, 0x24,0xe, 0x24,0xe, 0x24,0x7c,0x75,0x7c,0x56,0x5e,0x50,0xf0,
+0xa5,0xbd,0x20,0x1f,0x7c,0xb6,0x54,0xf, 0x7e,0x34,0x0, 0x1, 0x60,0x5, 0x3e,0x34,
+0x14,0x78,0xfb,0x7e,0x43,0x3, 0x28,0xa, 0x44,0x5d,0x43,0x7e,0x43,0xd, 0xf3,0xa,
+0x54,0x80,0x52,0xa5,0xbd,0x30,0x26,0x7e,0xb3,0xd, 0xf3,0x30,0xe5,0x4b,0x7c,0xb6,
+0x54,0xf, 0x7e,0x34,0x0, 0x1, 0x60,0x5, 0x3e,0x34,0x14,0x78,0xfb,0x7e,0x53,0x3,
+0x29,0xa, 0x45,0x5d,0x43,0x7e,0x73,0xd, 0xf4,0xa, 0x57,0x80,0x28,0x7e,0xb3,0xd,
+0xf3,0x30,0xe5,0x25,0x7c,0xb6,0x54,0xf, 0x7e,0x24,0x0, 0x1, 0x60,0x5, 0x3e,0x24,
+0x14,0x78,0xfb,0xa, 0x17,0x9, 0x61,0x3, 0x28,0xa, 0x46,0x5d,0x42,0xa, 0x57,0x9,
+0x75,0xd, 0xf5,0xa, 0x57,0x5d,0x54,0x7c,0xab,0x7c,0xba,0x22,0x7e,0x14,0x9e,0x3e,
+0x7e,0x4, 0x0, 0xff,0x69,0x30,0x0, 0x1, 0x7e,0xb, 0x50,0x7a,0x35,0x24,0x7a,0x51,
+0x23,0x7e,0x14,0x9e,0x41,0x7e,0x4, 0x0, 0xff,0x69,0x30,0x0, 0x1, 0x7e,0xb, 0x50,
+0x7a,0x35,0x27,0x7a,0x51,0x26,0x7e,0x24,0xff,0xff,0x7d,0x42,0x6d,0x33,0x7d,0x13,
+0xe5,0x66,0x60,0x3, 0x15,0x66,0x22,0x6c,0xaa,0x7c,0x1a,0x2e,0x10,0x23,0xa5,0xe7,
+0x7c,0x1b,0x74,0x2, 0xac,0x1b,0x2e,0x7, 0x8, 0xf6,0xb, 0x8, 0x0, 0xbd,0x4, 0x50,
+0x2, 0x7d,0x40,0xbd,0x1, 0x28,0x2, 0x7d,0x10,0x7c,0x1a,0x2e,0x10,0x26,0xa5,0xe7,
+0x7c,0x1b,0x74,0x2, 0xac,0x1b,0x2e,0x7, 0x8, 0xf6,0xb, 0x8, 0x0, 0xbd,0x2, 0x50,
+0x2, 0x7d,0x20,0xbd,0x3, 0x28,0x2, 0x7d,0x30,0xb, 0xa0,0xbe,0xa0,0x3, 0x78,0xb9,
+0x9d,0x14,0xbe,0x17,0x1, 0x42,0x8, 0x6, 0x7e,0xb3,0x1, 0x41,0xf5,0x66,0x9d,0x32,
+0xbe,0x37,0x1, 0x42,0x8, 0x6, 0x7e,0xb3,0x1, 0x41,0xf5,0x66,0x22,0x7e,0x14,0x10,
+0x4, 0x7e,0x1f,0x11,0x42,0x1b,0x1a,0x10,0xa9,0xd0,0xca,0x43,0xca,0xa, 0x7e,0xf,
+0x11,0x42,0x2e,0x14,0x0, 0xaa,0xb, 0xa, 0x30,0x4e,0x60,0x20,0x1b,0xa, 0x30,0x7e,
+0x34,0x0, 0x3f,0x6c,0xaa,0x7e,0x50,0x2, 0xac,0x5a,0x7e,0xf, 0x11,0x42,0x2d,0x12,
+0x79,0x30,0x0, 0x14,0xb, 0xa0,0xbe,0xa0,0x2d,0x40,0xea,0x7e,0x34,0x38,0x2, 0x7e,
+0xf, 0x11,0x42,0x79,0x30,0x0, 0xaa,0x7e,0x34,0x1a,0x1a,0x7e,0xf, 0x11,0x42,0x79,
+0x30,0x0, 0xa2,0x7e,0x34,0x3, 0x4c,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xac,0x7e,
+0x34,0x0, 0x29,0x7e,0xf, 0x11,0x42,0x79,0x30,0x0, 0xae,0x7e,0x34,0x2, 0x0, 0x7e,
+0xf, 0x11,0x42,0x79,0x30,0x0, 0xb0,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb,
+0xa, 0x30,0x4e,0x70,0x3c,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xac,
+0xb, 0xa, 0x30,0x5e,0x70,0xf3,0x4e,0x70,0x4, 0x1b,0xa, 0x30,0x22,0x7c,0x2b,0x15,
+0x5c,0x7c,0xb2,0x24,0xad,0xbe,0xb0,0xa, 0x50,0x6c,0x7e,0xa0,0x3, 0xa4,0x90,0x6f,
+0x92,0x73,0x2, 0x6f,0xb0,0x2, 0x6f,0xb0,0x2, 0x6f,0xbc,0x2, 0x6f,0xbc,0x2, 0x6f,
+0xbc,0x2, 0x6f,0xbc,0x2, 0x6f,0xbc,0x2, 0x6f,0xbc,0x2, 0x6f,0xbc,0x2, 0x6f,0xbc,
+0x7e,0xb3,0xe, 0x3, 0xa, 0x3b,0x9, 0x33,0x9, 0x67,0x80,0x32,0xa, 0x32,0x9e,0x34,
+0x0, 0x55,0x7e,0x4, 0x0, 0x2, 0x7d,0x20,0x12,0x9a,0x2e,0x4d,0x22,0x68,0x2, 0x1b,
+0x20,0xa, 0x32,0x9e,0x34,0x0, 0x55,0x7d,0x20,0x12,0x9a,0x2e,0x7e,0x14,0x0, 0x14,
+0xad,0x13,0x7e,0xb3,0xe, 0x3, 0xa, 0x3b,0x2d,0x31,0x9, 0x33,0x2, 0x35,0x4, 0x7a,
+0xb3,0xe, 0x3, 0x7c,0xb3,0x22,0x74,0xff,0x22,0xa9,0xc0,0x93,0x75,0x5d,0x0, 0x32,
+0xca,0x3b,0x7e,0x94,0x38,0x80,0x7e,0x84,0x0, 0x1, 0x7f,0x64,0x9f,0x55,0x7f,0x75,
+0x6c,0x33,0x7e,0xa0,0x1, 0x6c,0x22,0x80,0x2e,0x7e,0x10,0x2, 0xac,0x12,0x2e,0x7,
+0x8, 0xf8,0xb, 0x8, 0x70,0x6d,0x66,0x7e,0x10,0x4, 0xac,0x12,0x2e,0x7, 0x8, 0xf4,
+0x49,0x30,0x0, 0x2, 0xb, 0x8, 0x20,0x2f,0x13,0xbf,0x61,0x8, 0x2, 0x7f,0x61,0xbf,
+0x71,0x58,0x2, 0x7f,0x71,0xb, 0x20,0x7e,0x13,0x9, 0x63,0xbc,0x12,0x38,0xca,0x7f,
+0x37,0x9f,0x36,0xbe,0x38,0x4, 0xb0,0x58,0x3, 0x7e,0x30,0x1, 0x7f,0x64,0x7f,0x75,
+0x6c,0x22,0x80,0x1c,0x7e,0x70,0x2, 0xac,0x72,0x2e,0x37,0x8, 0xf8,0xb, 0x38,0x30,
+0x6d,0x22,0xbf,0x61,0x8, 0x2, 0x7f,0x61,0xbf,0x71,0x58,0x2, 0x7f,0x71,0xb, 0x20,
+0xbc,0x12,0x38,0xe0,0x9f,0x76,0xbe,0x78,0x4, 0xb0,0x8, 0x2, 0x6c,0xaa,0x4c,0x33,
+0x68,0x8, 0x4c,0xaa,0x78,0x4, 0x74,0x1, 0x80,0x1, 0xe4,0xda,0x3b,0x22,0xca,0xd8,
+0xca,0x79,0x7c,0x5b,0x6c,0xdd,0x6c,0xff,0x7e,0x70,0xa, 0xac,0x75,0x49,0xd3,0x10,
+0xb9,0x49,0xc3,0x10,0xb7,0x49,0xf3,0x10,0xbd,0x49,0xe3,0x10,0xbb,0x9, 0xa3,0x10,
+0xbf,0x9, 0xe3,0x10,0xc0,0x7e,0x8, 0xc, 0xa0,0x7e,0x34,0x0, 0x5c,0xe4,0x12,0x9c,
+0xda,0x6c,0x77,0x80,0x25,0x7e,0x50,0x4, 0xac,0x57,0x2e,0x27,0x8, 0xf4,0x49,0x12,
+0x0, 0x2, 0xb, 0x28,0x0, 0xbf,0x6, 0x8, 0xf, 0x7e,0x50,0x4, 0xac,0x5d,0x59,0x12,
+0xc, 0xa2,0x59,0x2, 0xc, 0xa0,0xb, 0xd0,0xb, 0x70,0x7e,0x63,0x9, 0x63,0xbc,0x67,
+0x38,0xd3,0xbc,0xad,0x38,0x2f,0x7e,0x1f,0x3, 0x30,0xbf,0x17,0x58,0x27,0x7e,0x8,
+0xc, 0xa0,0xa, 0x3a,0x12,0x57,0x94,0x74,0x4, 0xac,0xbe,0x49,0x35,0xc, 0xa2,0x49,
+0x25,0xc, 0xa0,0x7e,0x14,0x0, 0x3, 0x12,0x9a,0x71,0x7e,0xf, 0xc, 0xa0,0xbf,0x10,
+0x8, 0x3, 0x7e,0xf0,0x1, 0x7c,0xbf,0xda,0x79,0xda,0xd8,0x22,0x7f,0x61,0xbe,0x68,
+0x0, 0x6, 0x50,0x15,0xbe,0x68,0x0, 0x2, 0x50,0x3, 0x7f,0x16,0x22,0x7f,0x16,0x1e,
+0x34,0x1e,0x24,0x50,0x5e,0x4e,0x60,0x80,0x22,0x7f,0x76,0xe4,0x80,0xe, 0x7f,0x17,
+0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x7f,0x71,0x4, 0xbe,0x78,0x0, 0x1,
+0x38,0xec,0x1e,0xb0,0x60,0x5, 0x2f,0x77,0x14,0x78,0xfb,0x7f,0x17,0x2f,0x17,0x2f,
+0x17,0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x7f,0x71,0x7f,0x57,0x7f,0x16,
+0x7f,0x7, 0x12,0x9a,0x7c,0x2f,0x17,0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,
+0x7f,0x71,0x7d,0x2b,0x7d,0x3f,0x9d,0x32,0x12,0x9c,0xec,0xbe,0x34,0x0, 0x1, 0x18,
+0xdb,0x7f,0x17,0x22,0x7e,0x1f,0x11,0x42,0x69,0x31,0x0, 0xae,0x1e,0x34,0x1e,0x34,
+0x5e,0x34,0x0, 0x1, 0x68,0x27,0x7e,0x37,0x8, 0xf6,0xb, 0x38,0x30,0xbe,0x34,0x3a,
+0xc0,0x28,0x57,0xe5,0x61,0x7e,0x24,0x0, 0x1, 0x60,0x5, 0x3e,0x24,0x14,0x78,0xfb,
+0x7e,0xf, 0xa, 0xac,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,0x22,0x6c,0xaa,0x80,
+0x31,0x7e,0x70,0x2, 0xac,0x7a,0x7d,0x23,0x2e,0x27,0x8, 0xf6,0xb, 0x28,0x20,0xbe,
+0x24,0x3a,0xc0,0x28,0x1b,0xe5,0x61,0x7e,0x24,0x0, 0x1, 0x60,0x5, 0x3e,0x24,0x14,
+0x78,0xfb,0x7e,0xf, 0xa, 0xac,0x2d,0x13,0xb, 0xa, 0x30,0x4d,0x32,0x1b,0xa, 0x30,
+0xb, 0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,0xba,0x38,0xc7,0x22,0xca,0x79,0x7c,0xab,0x7e,
+0x47,0x8, 0xf4,0x7e,0x34,0x1, 0x9a,0x6c,0x55,0x80,0x5e,0xa, 0x15,0x2d,0x13,0x7e,
+0x19,0x40,0x7e,0x30,0x4, 0xac,0x34,0x7d,0xf1,0x2d,0xf4,0x49,0x1f,0x0, 0x2, 0xb,
+0xf8,0x0, 0xa, 0xf5,0xb, 0xf4,0x7d,0x7f,0x7c,0x4f,0x80,0x37,0xa, 0xf4,0x2d,0xf3,
+0x7e,0xf9,0xb0,0x7e,0xf0,0x4, 0xac,0xfb,0x7d,0xd7,0x2d,0xd4,0x49,0xfd,0x0, 0x2,
+0xb, 0xd8,0xe0,0xbf,0x7, 0x58,0x1a,0x7f,0x7, 0xa, 0xf4,0x2d,0xf3,0x7e,0xf9,0xf0,
+0xa, 0xe5,0x2d,0xe3,0x7e,0xe9,0xb0,0x7a,0xf9,0xb0,0xa, 0xf5,0x2d,0xf3,0x7a,0xf9,
+0xf0,0xb, 0x40,0xbc,0xa4,0x38,0xc5,0xb, 0x50,0xbc,0xa5,0x38,0x9e,0xda,0x79,0x22,
+0x6d,0x33,0x7a,0x35,0x4c,0xf5,0x4e,0x7a,0xb3,0xd, 0xc7,0x14,0x68,0x13,0x1b,0xb1,
+0x68,0x1c,0x24,0x3, 0x78,0x5a,0x12,0x80,0xaf,0x7e,0xb3,0xd, 0xaa,0xf5,0x4f,0x80,
+0x4f,0x80,0x4, 0xe4,0x12,0x82,0x64,0x12,0x17,0xcc,0x50,0xf7,0x80,0x42,0x12,0x84,
+0x48,0x12,0x17,0xcc,0x50,0xfb,0x12,0x0, 0x6, 0x12,0x80,0x59,0x74,0x1, 0x12,0x82,
+0x8a,0x74,0x2, 0x12,0x82,0x64,0x12,0x87,0xae,0xc2,0xa8,0xc2,0x95,0xa9,0xd0,0xca,
+0xa9,0xc7,0xcd,0xa9,0xc4,0xcd,0x12,0x86,0x2c,0x7e,0x8, 0x9, 0x25,0x12,0x1, 0x20,
+0x7e,0x34,0x0, 0x2, 0x12,0x83,0xaa,0x75,0x4e,0x0, 0xe4,0x7a,0xb3,0xd, 0xc7,0x22,
+0xe4,0x2, 0x87,0xa4,0x80,0x4, 0xe4,0x12,0x82,0x64,0x12,0x17,0xcc,0x50,0xf7,0x7e,
+0xb3,0x1, 0x29,0x60,0x10,0xe5,0x66,0x70,0x3, 0x30,0x9, 0x9, 0x7e,0xb3,0x1, 0x40,
+0x12,0x2d,0x51,0x80,0xf, 0x7e,0xb3,0x1, 0x28,0x60,0x9, 0x7e,0xb3,0xd, 0xad,0x60,
+0x3, 0x12,0x59,0xea,0x6c,0xaa,0x80,0x2d,0x7e,0x30,0x2, 0xac,0x3a,0x7d,0x1, 0x2e,
+0x7, 0x8, 0xf8,0xb, 0x8, 0x30,0x6d,0x22,0x2e,0x17,0x8, 0xf6,0xb, 0x18,0x10,0x6d,
+0x0, 0x9f,0x1, 0x7e,0x70,0x4, 0xac,0x7a,0x2e,0x37,0x8, 0xf4,0x59,0x13,0x0, 0x2,
+0x1b,0x38,0x0, 0xb, 0xa0,0x7e,0xb3,0x9, 0xc3,0xbc,0xba,0x38,0xcb,0x7e,0xb3,0x1,
+0x29,0x60,0x3, 0x2, 0x6e,0x3c,0x22,0xca,0xf8,0xca,0x2b,0xca,0x1b,0xca,0xb, 0xc0,
+0xd0,0xc0,0x83,0xc0,0x82,0x30,0x90,0x42,0xc2,0x90,0xe5,0x5d,0x70,0x30,0xe4,0x7a,
+0xb3,0xe, 0x4, 0x7a,0xb3,0xe, 0x3, 0x75,0x5d,0x1, 0x7e,0xf1,0x91,0xe5,0x91,0xf5,
+0x5c,0x7e,0xb3,0x1, 0x52,0x60,0xb, 0x7e,0xb3,0xd, 0xf2,0x60,0x5, 0xe5,0x5c,0x12,
+0x85,0xb7,0xe5,0x5c,0x12,0x80,0xd9,0xf5,0x91,0x7a,0xf1,0x5c,0x80,0x1a,0x7e,0xf1,
+0x91,0xe5,0x5c,0x7c,0x7f,0x12,0x84,0xae,0x5, 0x5c,0x30,0x91,0xb, 0xc2,0x91,0x5,
+0x5c,0xe5,0x5c,0x12,0x80,0xd9,0xf5,0x91,0xd0,0x82,0xd0,0x83,0xd0,0xd0,0xda,0xb,
+0xda,0x1b,0xda,0x2b,0xda,0xf8,0x32,0x7e,0x2f,0x11,0x42,0x2e,0x54,0x0, 0xae,0xb,
+0x2a,0x30,0x5e,0x70,0x8f,0x1b,0x2a,0x30,0x7e,0x2f,0x11,0x42,0x2e,0x54,0x0, 0xae,
+0xb, 0x2a,0x30,0x4e,0x70,0x8, 0x1b,0x2a,0x30,0x7e,0xb, 0xa0,0x7c,0xba,0xc4,0x7c,
+0x6b,0x5e,0x60,0x3, 0x1e,0xa0,0x5e,0xa0,0x3, 0x68,0x3, 0x7e,0xa0,0x1, 0x7e,0x70,
+0x2, 0xac,0x67,0xa, 0x2a,0x2d,0x32,0x2e,0x34,0x9c,0x6d,0x7a,0x71,0x82,0x7a,0x61,
+0x83,0xe4,0x93,0xa, 0x2b,0x5e,0x24,0x0, 0x7, 0x3e,0x24,0x3e,0x24,0x3e,0x24,0x3e,
+0x24,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x5e,0x70,0x8f,0x4d,
+0x32,0x1b,0xa, 0x30,0x22,0x7e,0xb3,0x10,0x58,0x70,0x58,0x7e,0x73,0x10,0x60,0x7e,
+0x63,0x10,0x70,0xe4,0x7a,0xb3,0x10,0x60,0x7a,0xb3,0x10,0x70,0x7e,0xa0,0x1, 0x1a,
+0x2a,0x9, 0xb2,0x10,0x70,0x1a,0x2b,0x1a,0x16,0x9d,0x21,0xa5,0xbd,0x40,0xa, 0x74,
+0x7f,0x1a,0x4a,0x19,0xb4,0x10,0x70,0x80,0xa, 0x7c,0x45,0x3e,0x40,0x1a,0x1a,0x19,
+0x41,0x10,0x70,0x1a,0x1a,0x9, 0x41,0x10,0x60,0x1a,0x14,0x1a,0x7, 0x9d,0x10,0x3e,
+0x14,0x7c,0x43,0x1a,0x1a,0x19,0x41,0x10,0x60,0xb, 0xa0,0xbe,0xa0,0x10,0x78,0xbf,
+0x2, 0x36,0x5f,0x74,0x7f,0x7a,0xb3,0x10,0x4d,0x22,0x7c,0xa7,0x7c,0x3b,0xa5,0xbb,
+0x0, 0x5, 0x7c,0xba,0x2, 0x84,0x2e,0xbe,0x30,0x50,0x40,0x14,0xbe,0x30,0x5d,0x38,
+0xf, 0xa, 0x33,0x1b,0x34,0x7c,0xb7,0xf5,0x5c,0x7c,0xb3,0x7c,0x7a,0x2, 0x7e,0x22,
+0xbe,0x30,0x80,0x40,0x37,0xbe,0x30,0xdb,0x38,0x32,0x9e,0x30,0x80,0xbe,0x30,0x30,
+0x68,0x17,0xa5,0xbb,0xb, 0xc, 0x7e,0x23,0xd, 0xad,0xbc,0x2a,0x68,0xb, 0xd2,0x2,
+0x80,0x7, 0xa5,0xbb,0x2f,0x3, 0x12,0x86,0xf4,0x7c,0xb3,0x7c,0x7a,0x12,0x80,0x0,
+0xa5,0xbb,0x3c,0x5, 0x7c,0xba,0x2, 0x80,0x2d,0x75,0x69,0x1, 0x22,0xca,0xb8,0xca,
+0x39,0x7e,0x35,0x18,0xb, 0x34,0x7a,0x35,0x18,0xe5,0x4f,0xbe,0xb0,0xc8,0x50,0x2,
+0x5, 0x4f,0x7e,0x35,0x18,0xbe,0x34,0x3, 0xe8,0x28,0x13,0x6d,0x33,0x7a,0x35,0x18,
+0x7e,0x35,0x4c,0xbe,0x34,0x3, 0xe8,0x50,0x5, 0xb, 0x34,0x7a,0x35,0x4c,0x7e,0xb3,
+0x1, 0x52,0x60,0x24,0x7e,0xb3,0xd, 0xf2,0x60,0x1e,0x7e,0x37,0x3, 0x24,0xbe,0x37,
+0xb, 0xb6,0x40,0x14,0x7e,0x37,0xb, 0xb6,0xb, 0x34,0x7a,0x37,0xb, 0xb6,0x7e,0x37,
+0xb, 0xb8,0xb, 0x34,0x7a,0x37,0xb, 0xb8,0x12,0x86,0x82,0xda,0x39,0xda,0xb8,0x32,
+0x7e,0xb3,0x1, 0x29,0x60,0x8, 0x74,0x2, 0x7a,0xb3,0x1, 0x5a,0x80,0x6, 0x74,0x1,
+0x7a,0xb3,0x1, 0x5a,0x7a,0xb3,0x1, 0x59,0xd2,0xb, 0x7e,0xb3,0x1, 0x4f,0x60,0x10,
+0x74,0x1, 0x7a,0xb3,0x1, 0x5b,0x7a,0xb3,0x1, 0x5c,0x7a,0xb3,0x1, 0x5d,0x80,0xd,
+0xe4,0x7a,0xb3,0x1, 0x5b,0x7a,0xb3,0x1, 0x5c,0x7a,0xb3,0x1, 0x5d,0x7a,0xb3,0x1,
+0x5e,0x7e,0xb3,0x1, 0x4d,0x60,0xb, 0xe4,0x7a,0xb3,0x1, 0x60,0x7a,0xb3,0x1, 0x61,
+0x80,0xb, 0xe4,0x7a,0xb3,0x1, 0x60,0x7a,0xb3,0x1, 0x61,0x74,0x1, 0x7a,0xb3,0x1,
+0x4e,0x22,0x7e,0xb3,0xd, 0xc7,0xbe,0xb1,0x4e,0x68,0x3, 0x12,0x72,0xa0,0xe5,0x4e,
+0x70,0x3c,0x7e,0x73,0x1, 0xb5,0xbe,0x70,0x0, 0x28,0x7, 0x6d,0x33,0x7a,0x35,0x4c,
+0x80,0x3e,0xe5,0x4e,0x60,0x11,0x7e,0x73,0xd, 0xa9,0xa, 0x37,0xbe,0x35,0x4c,0x50,
+0x6, 0x7e,0xb3,0xd, 0xf2,0x60,0x13,0xe5,0x4e,0x60,0x25,0x7e,0x35,0x4c,0xbe,0x34,
+0x0, 0x2, 0x28,0x1c,0x7e,0xb3,0xd, 0xf2,0x60,0x16,0x74,0x1, 0x80,0xf, 0xe5,0x4e,
+0xb4,0x1, 0xd, 0x7e,0x73,0x1, 0xb5,0xbe,0x70,0x0, 0x28,0x4, 0xe4,0x12,0x72,0xa0,
+0x2, 0x82,0xaf,0x9f,0x0, 0x7e,0xb3,0x1, 0xb5,0x70,0x52,0x7e,0xb3,0x1, 0x4a,0x60,
+0x47,0x7e,0x73,0x9, 0x66,0xa, 0x27,0x7e,0x73,0x9, 0x64,0xa, 0x37,0x9d,0x32,0x6c,
+0x66,0x80,0x1d,0xa, 0x56,0x7e,0x53,0x9, 0x63,0xa, 0x25,0x2d,0x25,0x3e,0x24,0x3e,
+0x24,0x2e,0x27,0x8, 0xf4,0x49,0x52,0x0, 0x2, 0xb, 0x28,0x40,0x2f,0x2, 0xb, 0x60,
+0xbc,0x76,0x38,0xdf,0x7e,0x37,0x1, 0xc7,0x3e,0x34,0x7e,0x24,0x0, 0x3, 0x8d,0x32,
+0x6d,0x22,0xbf,0x1, 0x58,0x7, 0x80,0x0, 0xe4,0x7a,0xb3,0x1, 0xbf,0x22,0x7f,0x60,
+0x7f,0x71,0x7e,0x14,0x0, 0x74,0x7f,0x17,0x12,0x9a,0x71,0x74,0x7, 0x7f,0x51,0x1e,
+0xb4,0x1e,0xa4,0x50,0x4, 0x4e,0xb4,0x80,0x0, 0x14,0x78,0xf3,0x7e,0x14,0x0, 0x54,
+0x7f,0x17,0x12,0x9a,0x71,0x7f,0x1, 0x74,0x7, 0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,
+0x60,0x80,0x14,0x78,0xf4,0xbf,0x65,0x8, 0x3, 0x74,0x80,0x22,0xbf,0x61,0x58,0x2,
+0xe4,0x22,0x74,0x9, 0x7f,0x16,0x2f,0x11,0x14,0x78,0xfb,0x2f,0x0, 0x2f,0x0, 0x9f,
+0x10,0x7f,0x7, 0x12,0x9a,0x7c,0x7c,0xb7,0x22,0x9f,0x0, 0x7e,0x73,0x9, 0x66,0xa,
+0x27,0x7e,0x73,0x9, 0x64,0xa, 0x37,0x9d,0x32,0x6c,0x66,0x80,0x1d,0xa, 0x56,0x7e,
+0x53,0x9, 0x63,0xa, 0x25,0x2d,0x25,0x3e,0x24,0x3e,0x24,0x2e,0x27,0x8, 0xf4,0x49,
+0x52,0x0, 0x2, 0xb, 0x28,0x40,0x2f,0x2, 0xb, 0x60,0xbc,0x76,0x38,0xdf,0x7e,0x1f,
+0x3, 0x30,0xbf,0x10,0x58,0xf, 0xe4,0x7a,0xb3,0x1, 0xb5,0x7e,0xb3,0x1, 0xbf,0x60,
+0x2, 0xd3,0x22,0xc3,0x22,0x7e,0xb3,0x1, 0xb5,0x60,0x6, 0x74,0x1, 0x7a,0xb3,0x1,
+0xbf,0xd3,0x22,0xa9,0xc2,0xea,0x74,0x1, 0x7a,0xb3,0xd, 0xde,0xf5,0x68,0x12,0x83,
+0x73,0x12,0x83,0x8f,0x7e,0x34,0x7, 0xd0,0x12,0x5f,0xf7,0x7e,0x8, 0x9, 0x25,0x12,
+0x1, 0x20,0x7e,0x34,0x0, 0x2, 0x12,0x83,0xaa,0xc2,0x8, 0x12,0x81,0x54,0x12,0x7e,
+0x8c,0x12,0x87,0x26,0x7e,0xb3,0xd, 0xde,0x24,0xfd,0x68,0x10,0x14,0x68,0x12,0x1b,
+0xb1,0x68,0xce,0x24,0x5, 0x78,0xf, 0x12,0x66,0xac,0x80,0xe8,0x12,0x4c,0x47,0x80,
+0xe3,0x12,0x0, 0xa, 0x80,0xde,0x75,0xe9,0xff,0x80,0xd9,0x7e,0xb3,0xf, 0xa5,0xb4,
+0x1, 0x3d,0x7e,0xa3,0xf, 0xa4,0x74,0x4, 0xa4,0x49,0x15,0xf, 0xa8,0x6d,0x0, 0xbe,
+0x8, 0x0, 0x0, 0x68,0x3, 0x12,0x60,0x0, 0x7e,0xb3,0xf, 0xa4,0x4, 0x7a,0xb3,0xf,
+0xa4,0x7e,0x73,0xf, 0xa3,0xbe,0x73,0xf, 0xa4,0x28,0xe, 0x12,0x83,0xfa,0xb4,0x1,
+0x4, 0x74,0x1, 0x80,0x6, 0x74,0x3, 0x80,0x2, 0x74,0x2, 0x7a,0xb3,0xf, 0xa5,0x22,
+0x7d,0xd2,0x6d,0x22,0x9e,0x18,0x0, 0xe5,0x6d,0xcc,0x7e,0x78,0x0, 0xe5,0x7f,0x27,
+0x9f,0x26,0x6e,0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,0x2e,0x28,0x0, 0xe5,
+0x9f,0x71,0x7f,0x17,0xbe,0x28,0x0, 0x0, 0x58,0x4, 0x9f,0x22,0x80,0xa, 0xbe,0x28,
+0x1, 0xca,0x48,0x4, 0x7e,0x28,0x1, 0xc9,0xbe,0x18,0x0, 0x0, 0x58,0x4, 0x9f,0x11,
+0x80,0xa, 0xbe,0x18,0x1, 0xca,0x48,0x4, 0x7e,0x18,0x1, 0xc9,0x1b,0xa, 0x50,0x7d,
+0x13,0x7e,0x1d,0x27,0x1b,0x1a,0x10,0x22,0x7c,0x97,0x7c,0xab,0x7e,0x30,0x4, 0xac,
+0x3a,0x49,0x31,0xa, 0xb4,0x49,0x21,0xa, 0xb2,0x12,0x86,0x6e,0x7f,0x71,0x4c,0x99,
+0x68,0x19,0xe5,0x15,0xa, 0xb, 0xa, 0x1a,0x9d,0x10,0x3e,0x14,0x3e,0x14,0x49,0x31,
+0xa, 0xb4,0x49,0x21,0xa, 0xb2,0x12,0x86,0x6e,0x2f,0x71,0xe5,0xa, 0x14,0xbc,0xb9,
+0x68,0x19,0xe5,0x15,0xa, 0xb, 0xa, 0x1a,0x2d,0x10,0x3e,0x14,0x3e,0x14,0x49,0x31,
+0xa, 0xb4,0x49,0x21,0xa, 0xb2,0x12,0x86,0x6e,0x2f,0x71,0x7f,0x17,0x22,0x53,0xca,
+0xe1,0x43,0xca,0x8, 0x75,0xcf,0x4, 0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xaa,0xb,
+0xa, 0x30,0x5e,0x60,0x3f,0x4e,0x60,0x80,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,
+0x14,0x0, 0xac,0xb, 0xa, 0x30,0x5e,0x70,0xfc,0x4e,0x70,0x1, 0x1b,0xa, 0x30,0x7e,
+0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x4e,0x70,0x80,0x1b,0xa, 0x30,
+0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xb0,0xb, 0xa, 0x30,0x4e,0x70,0x1, 0x1b,0xa,
+0x30,0xc2,0xb, 0x22,0x7e,0xb3,0x10,0xed,0x60,0x4a,0x7e,0xb3,0x10,0xec,0xb4,0x3,
+0x6, 0x7e,0xa3,0x0, 0x88,0x80,0x10,0xb4,0x2, 0x6, 0x7e,0xa3,0x0, 0x89,0x80,0x7,
+0xb4,0x1, 0x4, 0x7e,0xa3,0x0, 0x8a,0xbe,0xa1,0x6c,0x28,0x28,0x5, 0x6c,0x7e,0x73,
+0x1, 0xb6,0xbe,0x70,0x0, 0x28,0x3, 0x74,0x1, 0x22,0xe5,0x6c,0xbe,0xb0,0x3, 0x50,
+0x16,0xbe,0x73,0x1, 0xb5,0x28,0x10,0xbe,0x70,0x0, 0x28,0xb, 0x7a,0x73,0x1, 0xb5,
+0x80,0x5, 0x80,0x0, 0x75,0x6c,0x0, 0xe4,0x22,0x7c,0x37,0x7c,0xab,0x7e,0x70,0x4,
+0xac,0x73,0x49,0x23,0xb, 0xbf,0x7e,0x70,0x4, 0xac,0x7a,0x49,0x33,0xb, 0xbf,0x9d,
+0x32,0x12,0x9c,0xec,0x7d,0xd3,0x1a,0x36,0x1a,0xc6,0x7e,0x70,0x4, 0xac,0x73,0x49,
+0x23,0xb, 0xc1,0x74,0x4, 0xa4,0x49,0x35,0xb, 0xc1,0x9d,0x32,0x12,0x9c,0xec,0x7d,
+0xf3,0x1a,0x36,0x1a,0xe6,0x7f,0x16,0x7f,0x6, 0x12,0x9a,0x60,0x7f,0x61,0x7f,0x17,
+0x7f,0x7, 0x12,0x9a,0x60,0x7f,0x71,0x7f,0x16,0x2f,0x17,0x2, 0x71,0x3c,0x1b,0x34,
+0x68,0x1d,0xb, 0x34,0x78,0x44,0x7e,0x18,0x9, 0xc6,0x7a,0x1f,0xa, 0xac,0x7e,0x34,
+0x4, 0x48,0x7a,0x37,0x8, 0xf6,0x7e,0x63,0x0, 0xfa,0x5e,0x60,0x3, 0x80,0x14,0x7e,
+0x18,0xa, 0x22,0x7a,0x1f,0xa, 0xac,0x7e,0x34,0x8, 0x98,0x7a,0x37,0x8, 0xf6,0x7e,
+0x63,0x1, 0x16,0x5e,0x60,0x3, 0x7c,0xb6,0xc4,0x54,0xf0,0x7c,0x6b,0x7e,0x73,0x9,
+0x25,0x5e,0x70,0xcf,0x4c,0x76,0x7a,0x73,0x9, 0x25,0x7e,0x8, 0x9, 0x25,0x2, 0x73,
+0xf7,0xca,0xf8,0x7e,0xb3,0x1, 0x51,0x60,0x48,0x7e,0xb3,0x1, 0x27,0xb4,0x1, 0xd,
+0x7e,0xb3,0x11,0x49,0xbe,0xb0,0x0, 0x28,0x4, 0xc2,0xf, 0x80,0x34,0x6c,0xff,0x7c,
+0xbf,0x12,0x70,0x9e,0x7c,0xab,0x4c,0xaa,0x78,0x7, 0xb, 0xf0,0xbe,0xf0,0x3, 0x40,
+0xee,0x4c,0xaa,0x68,0x7, 0xd2,0xf, 0x75,0x64,0x1, 0x80,0x15,0xe5,0x64,0xbe,0xb0,
+0x0, 0x28,0xe, 0x5, 0x64,0xe5,0x64,0xbe,0xb0,0x14,0x40,0x5, 0xc2,0xf, 0x75,0x64,
+0x0, 0xda,0xf8,0x22,0x30,0x1, 0x3, 0x2, 0x7c,0xc2,0x70,0x5, 0x7e,0xb3,0xd, 0x60,
+0x22,0xbe,0xb0,0x50,0x40,0x8, 0xbe,0xb0,0x5d,0x38,0x3, 0x2, 0x6f,0x7d,0xbe,0xb0,
+0x5a,0x38,0x17,0xbe,0xb0,0xe, 0x50,0xf, 0xa, 0x3b,0x30,0xe, 0x5, 0x9, 0xb3,0x10,
+0xf1,0x22,0x9, 0xb3,0x10,0xff,0x22,0x74,0xff,0x22,0xbe,0xb0,0x80,0x40,0xc, 0xbe,
+0xb0,0xdb,0x38,0x7, 0xa, 0x3b,0x9, 0xb3,0xd, 0x22,0x22,0xb4,0xfc,0x5, 0x7e,0xb3,
+0xd, 0xde,0x22,0x74,0xff,0x22,0x7c,0xab,0x7e,0xb3,0x1, 0x28,0x60,0xf, 0x7e,0xb3,
+0xd, 0xad,0x60,0x9, 0x4c,0xaa,0x78,0x5, 0x12,0x82,0x3e,0x80,0x1f,0x7e,0xb3,0x1,
+0x29,0x60,0x10,0x4c,0xaa,0x78,0xc, 0x20,0x9, 0x4, 0xe5,0x66,0x60,0x5, 0x12,0x82,
+0x18,0x80,0x9, 0x6d,0x33,0x7e,0x24,0x4, 0x48,0x12,0x82,0xd2,0x7e,0xb3,0x1, 0x27,
+0x60,0xb, 0x7e,0x34,0x0, 0x1, 0x7e,0x24,0x8, 0x98,0x2, 0x82,0xd2,0x22,0xca,0xf8,
+0x7e,0xf3,0x1, 0xc0,0x4c,0xff,0x68,0x3a,0xbe,0xf0,0x1, 0x78,0xe, 0xc2,0x8, 0x7e,
+0x34,0x7, 0xd0,0x12,0x5f,0xf7,0x12,0x0, 0xe, 0x80,0x8, 0xbe,0xf0,0x3, 0x78,0x3,
+0x12,0x87,0x26,0xe4,0x7a,0xb3,0x1, 0xc0,0x7e,0x8, 0xf, 0x19,0x7e,0x73,0x9, 0xc3,
+0xa, 0x37,0x12,0x9c,0xda,0x7e,0x8, 0xe, 0xeb,0x7e,0x73,0x9, 0xc3,0xa, 0x37,0x12,
+0x9c,0xda,0xda,0xf8,0x22,0x7c,0x97,0x7c,0xab,0x7e,0x30,0x4, 0xac,0x3a,0x49,0x31,
+0xa, 0xb4,0x49,0x21,0xa, 0xb2,0x12,0x86,0x6e,0x7f,0x71,0x4c,0x99,0x68,0x12,0x7e,
+0x30,0x4, 0xac,0x3a,0x49,0x31,0xa, 0xb0,0x49,0x21,0xa, 0xae,0x12,0x86,0x6e,0x2f,
+0x71,0xe5,0x15,0x14,0xbc,0xb9,0x68,0x10,0x74,0x4, 0xa4,0x49,0x35,0xa, 0xb8,0x49,
+0x25,0xa, 0xb6,0x12,0x86,0x6e,0x2f,0x71,0x7f,0x17,0x22,0x7e,0x8, 0x1, 0x66,0x7e,
+0x34,0x0, 0x5b,0xe4,0x12,0x9c,0xda,0x6c,0xaa,0x7e,0x30,0x5, 0xac,0x3a,0x2e,0x14,
+0x1, 0x66,0x6d,0x0, 0x12,0x86,0xe2,0xbe,0xa0,0x2, 0x50,0x1c,0x7e,0x30,0x5, 0xac,
+0x3a,0x2e,0x14,0x1, 0x7a,0x6d,0x0, 0x12,0x86,0xe2,0x7e,0x30,0x5, 0xac,0x3a,0x2e,
+0x14,0x1, 0x84,0x6d,0x0, 0x12,0x86,0xe2,0xb, 0xa0,0xbe,0xa0,0x4, 0x40,0xca,0x22,
+0x7d,0x13,0x7e,0xb3,0x3, 0x2f,0x60,0xa, 0x7e,0x37,0x0, 0xd2,0xbd,0x32,0x78,0x2,
+0xe4,0x22,0x7e,0x37,0x3, 0x1a,0xbd,0x31,0x38,0xc, 0x7e,0x37,0x1, 0xc9,0x9e,0x37,
+0x3, 0x1a,0xbd,0x31,0x50,0x3, 0x74,0x1, 0x22,0x7e,0x37,0x3, 0x1c,0xbd,0x32,0x38,
+0xc, 0x7e,0x37,0x1, 0xcb,0x9e,0x37,0x3, 0x1c,0xbd,0x32,0x50,0x3, 0x74,0x1, 0x22,
+0xe4,0x22,0x90,0xb4,0x12,0xe4,0x93,0x7a,0xb3,0xd, 0xca,0x7e,0x37,0x1, 0xc3,0xbe,
+0x34,0x63,0x9c,0x28,0x8, 0x74,0xff,0x7a,0xb3,0xd, 0xa2,0x80,0xa, 0x7e,0x24,0x0,
+0x64,0x8d,0x32,0x7a,0x73,0xd, 0xa2,0x7e,0x37,0x1, 0xc7,0xbe,0x34,0x63,0x9c,0x28,
+0x7, 0x74,0xff,0x7a,0xb3,0xd, 0xcb,0x22,0x7e,0x24,0x0, 0x64,0x8d,0x32,0x7a,0x73,
+0xd, 0xcb,0x22,0x90,0xb4,0xcf,0xe4,0x93,0xa, 0x3b,0xbe,0x34,0x0, 0xa, 0x58,0x4,
+0x7e,0x34,0x0, 0xa, 0x1a,0x26,0x1a,0x24,0x74,0xf, 0x2f,0x11,0x14,0x78,0xfb,0x7e,
+0x8, 0x3, 0xe8,0x12,0x9a,0xcd,0xd2,0xc8,0xa9,0xc0,0xcd,0xa9,0xd0,0x9e,0x7c,0xb6,
+0xf5,0x9d,0xa9,0xd0,0x9e,0x7c,0xb7,0xf5,0x9c,0xc2,0x88,0xa9,0xd0,0xb7,0xd2,0xb8,
+0xc2,0xa8,0x22,0xca,0xf8,0x6c,0xff,0x80,0x2e,0x7e,0x18,0x0, 0x25,0x7a,0x1d,0x27,
+0x74,0x5, 0xac,0xbf,0x49,0x35,0x1, 0x66,0x49,0x25,0x1, 0x68,0x7e,0x8, 0x0, 0x23,
+0x12,0x78,0x0, 0x7e,0x45,0x23,0x74,0x5, 0xac,0xbf,0x59,0x45,0x1, 0x66,0x7e,0x35,
+0x25,0x59,0x35,0x1, 0x68,0xb, 0xf0,0x7e,0x73,0x1, 0xb5,0xbc,0x7f,0x38,0xca,0xda,
+0xf8,0x22,0x7e,0x27,0xc, 0x9b,0x7d,0x32,0x3e,0x34,0x3e,0x34,0xb, 0x34,0xbe,0x37,
+0x11,0x4b,0x40,0x2a,0x7e,0x37,0x11,0x4b,0xb, 0x34,0x7a,0x37,0x11,0x4b,0xbe,0x34,
+0x0, 0x1, 0x78,0x5, 0x7e,0xb3,0xd, 0xf5,0x22,0xbe,0x34,0x0, 0x2, 0x78,0x3, 0x7c,
+0xb5,0x22,0x9e,0x34,0x0, 0x3, 0x2e,0x37,0xb, 0xbb,0x7e,0x39,0xb0,0x22,0x74,0xff,
+0x22,0x7e,0xa3,0x9, 0xc3,0x7e,0xb3,0x1, 0xc0,0x70,0x4, 0xe5,0x1e,0x60,0x2e,0xe4,
+0x7a,0xb3,0x1, 0xc0,0x75,0x1e,0x0, 0x6c,0x77,0x80,0x1e,0x7e,0x30,0x2, 0xac,0x37,
+0x49,0x21,0x4, 0x48,0x59,0x21,0x4, 0xa4,0x9f,0x0, 0x7e,0x50,0x4, 0xac,0x57,0x59,
+0x12,0x3, 0x92,0x59,0x2, 0x3, 0x90,0xb, 0x70,0xbc,0xa7,0x38,0xde,0x22,0xd2,0xcf,
+0xbe,0xb0,0x7, 0x38,0x4, 0x7c,0xab,0x80,0x2, 0x6c,0xaa,0x75,0xcb,0x8e,0x4e,0xa0,
+0x30,0x7c,0xba,0x42,0xcc,0x0, 0x0, 0x0, 0x0, 0x75,0xcf,0x4, 0xa9,0xc5,0xcb,0xa9,
+0xd0,0xca,0x53,0xca,0xf1,0x43,0xca,0x28,0x75,0xc8,0x88,0xe5,0x54,0xb4,0x1, 0x6,
+0x43,0xc8,0x2, 0x43,0xd8,0x60,0x0, 0x0, 0x0, 0x0, 0x22,0xca,0xf8,0x7e,0x57,0xc,
+0x9b,0x12,0x5a,0xda,0x7c,0xfb,0x12,0x5c,0xb2,0x60,0x2, 0x80,0x26,0x7e,0x37,0xc,
+0x9b,0x7a,0x35,0x23,0x7e,0x8, 0xb, 0xbf,0x7e,0x18,0xc, 0x81,0x12,0x48,0x0, 0xb4,
+0x54,0x7, 0xbe,0xf0,0x2, 0x28,0x2, 0x74,0x31,0xb4,0x53,0x7, 0xbe,0xf0,0x2, 0x28,
+0x2, 0x74,0x32,0xda,0xf8,0x22,0x9f,0x11,0x6c,0x22,0x80,0x12,0x7e,0x10,0x2, 0xac,
+0x12,0x2e,0x7, 0x8, 0xf6,0xb, 0x8, 0x50,0x6d,0x44,0x2f,0x12,0xb, 0x20,0x7e,0x33,
+0x9, 0xc3,0xbc,0x32,0x38,0xe6,0xa, 0x13,0x6d,0x0, 0x12,0x9a,0x7c,0x9e,0x18,0x3a,
+0xc0,0x7e,0x8, 0x0, 0x4, 0x12,0x9a,0xcd,0x7a,0x1d,0x50,0x22,0xca,0xf8,0x7c,0xfb,
+0x74,0xff,0xbe,0x8, 0x0, 0x0, 0x8, 0x27,0x7e,0x4d,0x24,0xbe,0x48,0x0, 0x0, 0x8,
+0x1e,0xbf,0x4, 0x8, 0xd, 0x12,0x76,0xae,0x7a,0xb3,0x11,0x4d,0x1a,0x5f,0x1b,0x55,
+0x80,0xd, 0x7f,0x4, 0x12,0x76,0xae,0x7a,0xb3,0x11,0x4d,0xa, 0x5f,0xb, 0x55,0xda,
+0xf8,0x22,0x7c,0x6b,0x7e,0xb3,0xe, 0x4, 0x70,0x9, 0x7a,0x63,0xe, 0x4, 0xe4,0x7a,
+0xb3,0xe, 0x3, 0xa, 0x26,0x2e,0x24,0x9c,0xbc,0x7a,0x51,0x82,0x7a,0x41,0x83,0xe4,
+0x93,0xbe,0xb3,0xe, 0x3, 0x28,0xf, 0x7e,0xb3,0xe, 0x3, 0xa, 0x2b,0x19,0x72,0xe,
+0x5, 0x4, 0x7a,0xb3,0xe, 0x3, 0x22,0x7e,0x73,0xe, 0x4, 0xbe,0x70,0x50,0x40,0x2b,
+0xbe,0x70,0x5d,0x38,0x26,0xa, 0x37,0x2e,0x34,0x9c,0xbc,0x7a,0x71,0x82,0x7a,0x61,
+0x83,0xe4,0x93,0xbe,0xb3,0xe, 0x3, 0x38,0x12,0x7e,0xb3,0xd, 0xde,0xf5,0x68,0x7e,
+0xb3,0xd, 0x60,0xf5,0x67,0x74,0x6, 0x7a,0xb3,0xd, 0xde,0x22,0x53,0x1f,0x7f,0x7e,
+0xb3,0x1, 0x27,0x60,0x1e,0x7e,0xa3,0xd, 0xde,0xbe,0xa0,0x3, 0x78,0x6, 0xe5,0x1f,
+0x54,0x3, 0x68,0x5, 0xbe,0xa0,0x3, 0x68,0xa, 0x7e,0x34,0x0, 0x1, 0x12,0x79,0xae,
+0x12,0x4e,0xd5,0x6d,0x33,0x12,0x79,0xae,0x12,0x4e,0xd5,0x43,0x1f,0x80,0x22,0x7e,
+0xb, 0xb0,0x1e,0xb0,0x54,0x3, 0x14,0x68,0x10,0x14,0x68,0x13,0x14,0x68,0x16,0x24,
+0x3, 0x78,0x16,0x7e,0x34,0x10,0x4, 0x80,0x10,0x7e,0x34,0x50,0x45,0x80,0xa, 0x7e,
+0x34,0xf1,0x56,0x80,0x4, 0x7e,0x34,0xf3,0xff,0x7e,0xf, 0x11,0x42,0x1b,0xa, 0x30,
+0x22,0x7e,0x34,0x0, 0x8, 0xca,0x39,0x7e,0x18,0x9, 0x28,0x7e,0x8, 0x0, 0xef,0x12,
+0x9c,0xb5,0x1b,0xfd,0x7e,0x73,0x9, 0x30,0x7a,0x73,0x1, 0x13,0x7e,0xb3,0x9, 0x26,
+0x54,0x1f,0x7a,0xb3,0x0, 0xee,0x7e,0xb3,0x9, 0x25,0xc4,0x54,0x3, 0x7a,0xb3,0x0,
+0xfa,0x22,0xa, 0x56,0x1e,0x54,0xf5,0xf1,0x7d,0x53,0x1e,0x54,0xf5,0xf2,0x75,0xf3,
+0x80,0x75,0xf4,0x0, 0x75,0xf5,0x83,0xa9,0x37,0xf5,0xfc,0xa9,0x36,0xf5,0xfc,0x7e,
+0xa1,0xf6,0xe5,0xf6,0x43,0xfa,0x80,0x7d,0x43,0x5e,0x44,0x0, 0x1, 0x78,0x3, 0x7c,
+0xba,0x22,0x22,0x6c,0xaa,0x7e,0x44,0x7f,0xff,0x7e,0x70,0x4, 0xac,0x7a,0x59,0x43,
+0xe, 0x8f,0x59,0x43,0xe, 0x91,0x6d,0x33,0x7e,0x50,0x2, 0xac,0x5a,0x59,0x32,0xe,
+0x85,0x7e,0x34,0x1, 0x0, 0x59,0x32,0xe, 0x8b,0xb, 0xa0,0xbe,0xa0,0x2, 0x40,0xd5,
+0xd2,0xd, 0x22,0x7e,0x18,0x4, 0x48,0x7a,0x1f,0x11,0x1e,0x7e,0x18,0x5, 0x0, 0x7a,
+0x1f,0x11,0x12,0x7e,0x18,0x5, 0x5c,0x7a,0x1f,0x11,0x16,0x7e,0x1f,0xa, 0xac,0x7a,
+0x1f,0x11,0x1a,0x75,0x1f,0x0, 0x7e,0x73,0x9, 0xc3,0xa, 0x37,0x7a,0x37,0x11,0x10,
+0x22,0x7c,0x6b,0x7e,0xb3,0x1, 0xb5,0x60,0x5, 0x14,0x7a,0xb3,0x1, 0xb5,0xa5,0xbe,
+0x0, 0x1c,0xa5,0xbf,0x2, 0x18,0x7e,0x73,0x1, 0x9b,0x7a,0x73,0x1, 0x9a,0x7e,0x1f,
+0x1, 0x6c,0x7e,0x33,0x1, 0x6b,0x7a,0x1f,0x1, 0x67,0x7a,0x33,0x1, 0x66,0x22,0x7f,
+0x70,0x69,0x37,0x0, 0x2, 0xb, 0x7a,0x20,0xe5,0x11,0xa, 0x1b,0x6d,0x0, 0x12,0x9a,
+0x60,0x7e,0x8, 0x0, 0x64,0x12,0x9a,0xcd,0x79,0x37,0x0, 0x2, 0x1b,0x7a,0x20,0x22,
+0x7c,0x6b,0x2e,0x60,0xe1,0x68,0x25,0x1b,0x60,0x68,0x21,0x2e,0x60,0xfd,0x68,0x1c,
+0x2e,0x60,0xfd,0x68,0x17,0x1b,0x61,0x68,0x13,0x2e,0x60,0xf9,0x68,0xe, 0x80,0x0,
+0xa, 0x2b,0x19,0x72,0xd, 0xa2,0x74,0x1, 0x7a,0xb3,0xd, 0xe2,0x22,0x24,0xab,0x68,
+0xe, 0x24,0xab,0x78,0x20,0x75,0x69,0x5, 0x7e,0x34,0x1, 0xf4,0x2, 0x5f,0xf7,0x7e,
+0x34,0x1, 0xf4,0x12,0x5f,0xf7,0xe5,0x69,0xb4,0x5, 0xd, 0x7e,0x34,0x0, 0x1, 0x12,
+0x83,0xaa,0x2, 0x67,0xf4,0x75,0x69,0x1, 0x22,0x6d,0x11,0x7e,0x1f,0x11,0x42,0x1b,
+0x1a,0x10,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xaa,0xb, 0xa, 0x30,0x5e,0x60,0xdf,
+0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb, 0xa, 0x30,0x5e,0x70,
+0xf7,0x1b,0xa, 0x30,0x22,0x7e,0xb3,0x0, 0xc3,0x70,0x7, 0x74,0x1, 0x7a,0xb3,0x0,
+0xc3,0x22,0x20,0xf, 0x19,0x90,0xb6,0x63,0xe4,0x93,0x7a,0xb3,0x0, 0xc5,0x90,0xb6,
+0x64,0xe4,0x93,0x7a,0xb3,0x0, 0xc6,0x7e,0x8, 0x4, 0xa4,0x2, 0x47,0x80,0x22,0x7e,
+0x8, 0x9, 0x25,0x12,0x7e,0xbf,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xaa,0xb, 0xa,
+0x30,0x4e,0x60,0x20,0x1b,0xa, 0x30,0x7e,0xf, 0x11,0x42,0x2e,0x14,0x0, 0xae,0xb,
+0xa, 0x30,0x4e,0x70,0x8, 0x1b,0xa, 0x30,0x22,0xca,0xf8,0x7c,0xab,0x7e,0xb3,0xd,
+0x60,0xc4,0x54,0x7, 0x78,0x9, 0x7c,0xba,0x12,0x7a,0x54,0x7c,0xfb,0x80,0xe, 0xb4,
+0x4, 0x9, 0x7c,0xba,0x12,0x54,0x97,0x7c,0xfb,0x80,0x2, 0x6c,0xff,0x7c,0xbf,0xda,
+0xf8,0x22,0x7d,0x52,0x7d,0x43,0x7d,0x35,0x1a,0x26,0x1a,0x24,0x7f,0x1, 0x12,0x9a,
+0x60,0x7f,0x71,0x7d,0x34,0x1a,0x26,0x1a,0x24,0x7f,0x1, 0x12,0x9a,0x60,0x2f,0x17,
+0x7c,0xb4,0x12,0x97,0x94,0x12,0x98,0xe, 0x2, 0x97,0xd1,0xbe,0x34,0x0, 0x1f,0x28,
+0x22,0xbe,0x34,0x3, 0x64,0x28,0x4, 0x7e,0x34,0x3, 0x64,0x7d,0x13,0x9e,0x14,0x0,
+0x20,0x7e,0x4, 0x0, 0x1b,0x8d,0x10,0x7d,0x1, 0xb, 0x4, 0x7e,0x14,0x0, 0x5, 0xad,
+0x10,0x2d,0x31,0x22,0xe4,0x7a,0xb3,0xf, 0xa3,0x7a,0xb3,0xf, 0xa4,0x7a,0xb3,0xf,
+0xa5,0x74,0xff,0x7a,0xb3,0xf, 0xf6,0x6d,0x33,0x6c,0xaa,0x7e,0x50,0x4, 0xac,0x5a,
+0x59,0x32,0xf, 0xa8,0xb, 0xa0,0xbe,0xa0,0x14,0x40,0xf0,0x22,0x6c,0xaa,0x7e,0x70,
+0x3, 0x7e,0x50,0x6, 0xac,0x5a,0x19,0x72,0x1, 0x93,0x74,0x3, 0x19,0xb2,0x1, 0x92,
+0x7e,0x34,0x7f,0xff,0x59,0x32,0x1, 0x8e,0x59,0x32,0x1, 0x90,0xb, 0xa0,0xbe,0xa0,
+0x2, 0x40,0xdb,0x22,0x6c,0xaa,0x7e,0x90,0x6, 0xac,0x9a,0x9, 0xb4,0x1, 0x93,0x19,
+0xb4,0x1, 0x92,0xb, 0xa0,0xbe,0xa0,0x2, 0x40,0xec,0x7e,0x73,0x1, 0xb5,0x7a,0x73,
+0x1, 0xb6,0x7e,0x73,0x1, 0xb7,0x7a,0x73,0x1, 0xb8,0x22,0x7e,0x73,0xd, 0xcf,0x2e,
+0x70,0xff,0x92,0x9, 0x7e,0xb3,0x1, 0x28,0x60,0x17,0x30,0x2, 0x14,0x80,0x4, 0xe4,
+0x12,0x82,0x64,0x12,0x17,0xcc,0x50,0xf7,0xe4,0x12,0x87,0xa4,0x12,0x84,0x14,0xc2,
+0x2, 0x22,0xe4,0x7a,0xb3,0xd, 0x7c,0x7a,0xb3,0xd, 0x66,0xe5,0x1f,0x54,0x3, 0x68,
+0x16,0x75,0x1f,0x0, 0x12,0x62,0x9e,0x12,0x7e,0xf1,0x7e,0x8, 0x9, 0x25,0x12,0x1,
+0x20,0x12,0x7e,0x8c,0x2, 0x87,0x26,0x22,0x7e,0x33,0x1, 0x40,0xbe,0x30,0xa, 0x28,
+0x3, 0x7e,0x30,0xa, 0x6c,0x22,0x80,0x11,0x7e,0x34,0x0, 0x2, 0x74,0x2, 0xac,0xb2,
+0x49,0x25,0x0, 0x6d,0x12,0x82,0xd2,0xb, 0x20,0xbc,0x32,0x38,0xeb,0x22,0x6c,0x33,
+0xbe,0x30,0x8, 0x50,0x6, 0x7e,0x23,0x10,0xe5,0x80,0x4, 0x7e,0x23,0x10,0xe6,0xa,
+0x32,0x74,0x2, 0xac,0xb3,0x49,0x25,0x0, 0x6d,0x12,0x82,0xd2,0xb, 0x30,0xbe,0x30,
+0xa, 0x40,0xdd,0x22,0x70,0x5, 0x43,0x87,0x1, 0x80,0x1a,0xb4,0x1, 0xb, 0xa9,0xd0,
+0xce,0xa9,0xd7,0xc9,0x43,0x87,0x2, 0x80,0xc, 0xb4,0x2, 0xd, 0xa9,0xd0,0xce,0xa9,
+0xc7,0xc9,0x43,0x87,0x2, 0x0, 0x0, 0x0, 0x0, 0x22,0xa9,0xd6,0xeb,0x70,0xf, 0xa9,
+0xc6,0xac,0xa9,0xc6,0xec,0xa9,0xd7,0xcd,0xc2,0x96,0xc2,0x95,0x80,0x7, 0xa9,0xd4,
+0xcd,0xd2,0x96,0xd2,0x95,0xc2,0x88,0xd2,0xb8,0xa9,0xd0,0xb7,0xd2,0xa8,0x22,0xe5,
+0x4e,0x14,0x68,0x14,0x4, 0x78,0x17,0x80,0x4, 0xe4,0x12,0x82,0x64,0x7e,0x73,0xd,
+0xaa,0xbe,0x71,0x4f,0x38,0xf3,0x80,0x6, 0x12,0x0, 0x6, 0x12,0xf, 0x50,0x75,0x4f,
+0x0, 0x22,0x7d,0x43,0x7e,0xa3,0xf, 0xa3,0xbe,0xa0,0x14,0x50,0x16,0x7e,0x70,0x4,
+0xac,0x7a,0x59,0x43,0xf, 0xa6,0x59,0x23,0xf, 0xa8,0x7c,0xba,0x4, 0x7a,0xb3,0xf,
+0xa3,0xc3,0x22,0xd3,0x22,0xa9,0xc4,0xa6,0xd2,0xce,0x90,0xb4,0x11,0xe4,0x93,0xf5,
+0x92,0xa9,0xd0,0xf7,0xd2,0xf8,0xa9,0xd5,0xb7,0xd2,0xbd,0xd2,0xad,0xd2,0xe8,0xc2,
+0xc0,0xa9,0xd3,0xdc,0xa9,0xd0,0xdb,0x22,0x7f,0x70,0x69,0x37,0x0, 0x2, 0xb, 0x7a,
+0x20,0xe5,0xb, 0xa, 0x1b,0x6d,0x0, 0x12,0x9a,0x60,0x7e,0x8, 0x0, 0x64,0x12,0x9a,
+0xcd,0x79,0x37,0x0, 0x2, 0x1b,0x7a,0x20,0x22,0xa9,0xd5,0xcb,0x75,0xfd,0x5, 0xe5,
+0xfe,0x54,0xf8,0xf5,0x54,0xe5,0x54,0xb4,0xa8,0x5, 0x75,0x54,0x0, 0x80,0x3, 0x75,
+0x54,0x1, 0xa9,0xc5,0xcb,0x22,0xc2,0x8e,0xe5,0x89,0x54,0xf, 0x44,0x20,0xf5,0x89,
+0x75,0x8d,0x1, 0x75,0x8b,0x0, 0xa9,0xc3,0xb7,0xd2,0xbb,0xd2,0x8e,0xd2,0xab,0xa9,
+0xd1,0xdc,0x22,0x12,0x83,0x39,0xe4,0x12,0x7d,0x3e,0x12,0x86,0x2c,0x12,0x87,0x43,
+0x12,0x83,0x56,0x12,0x87,0x82,0x12,0x87,0x16,0x12,0x1f,0xef,0xd2,0xaf,0x22,0x12,
+0x3a,0xe, 0x12,0x34,0x4d,0x12,0x87,0xdc,0x12,0x55,0x9a,0x12,0x50,0x0, 0x12,0x84,
+0x7c,0x12,0x27,0xeb,0x12,0x86,0xbc,0x2, 0x2f,0xb4,0x7d,0x43,0x80,0xe, 0x74,0xfa,
+0x12,0x86,0x59,0x12,0x86,0x59,0x12,0x86,0x59,0x12,0x86,0x59,0x7d,0x54,0x1b,0x44,
+0x4d,0x55,0x78,0xea,0x22,0x7d,0xf0,0x7d,0xe1,0x7d,0x12,0x1a,0x26,0x1a,0x24,0x12,
+0x9a,0x71,0x7d,0x1e,0x6d,0x0, 0x12,0x9a,0xcd,0x7d,0x1f,0x6d,0x0, 0x2f,0x10,0x22,
+0x7e,0xb3,0x1, 0xb6,0x70,0x13,0x7e,0x17,0x1, 0xc5,0x6d,0x0, 0x7e,0x1f,0x3, 0x30,
+0xbf,0x1, 0x8, 0x5, 0xe4,0x7a,0xb3,0x1, 0xb5,0x22,0xe4,0x7e,0xa3,0xf, 0xa3,0xbe,
+0xa3,0xf, 0xa4,0x28,0xe, 0x7e,0xa3,0xf, 0xa4,0x74,0x4, 0xa4,0x49,0x55,0xf, 0xa6,
+0x2, 0x84,0xc7,0x22,0xe4,0x7a,0xb3,0xf, 0xa5,0x7a,0xb3,0xf, 0xa4,0x12,0x83,0xfa,
+0xb4,0x1, 0x4, 0x74,0x1, 0x80,0x2, 0x74,0x3, 0x7a,0xb3,0xf, 0xa5,0x22,0x7a,0xb3,
+0xd, 0x60,0xc4,0x54,0x7, 0xb4,0x4, 0x4, 0x74,0x3, 0x80,0x7, 0x60,0x3, 0xb4,0x1,
+0x6, 0x74,0x1, 0x7a,0xb3,0xd, 0xde,0x22,0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xc5,0xc9,
+0xd2,0xaf,0xa9,0xd0,0xcd,0xc2,0xa8,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd4,0x9e,0xd2,
+0xaf,0x22,0xc2,0xaf,0xa9,0xd0,0xce,0xa9,0xd5,0xc9,0xd2,0xaf,0xa9,0xd0,0xcd,0xd2,
+0xa8,0xc2,0xaf,0xa9,0xd0,0x9e,0xa9,0xd7,0x9e,0xd2,0xaf,0x22,0x7e,0x34,0x4, 0x48,
+0x7a,0x37,0x8, 0xf6,0x7e,0x34,0x4, 0xa4,0x7a,0x37,0x8, 0xf8,0x7e,0x34,0x3, 0x90,
+0x7a,0x37,0x8, 0xf4,0x22,0x7d,0x40,0x7d,0x51,0x7d,0x3, 0x7d,0x32,0x9d,0x34,0x12,
+0x9c,0xec,0x7d,0x13,0x7d,0x30,0x9d,0x35,0x12,0x9c,0xec,0x2d,0x31,0x22,0x7c,0x6b,
+0x7e,0xb3,0xd, 0x60,0xc4,0x54,0x7, 0x78,0x5, 0x7c,0xb6,0x2, 0x74,0xca,0xb4,0x4,
+0x5, 0x7c,0xb6,0x2, 0x5e,0x83,0x22,0x7e,0xa3,0xf, 0xf6,0xbc,0xab,0x68,0xa, 0x20,
+0x0, 0x7, 0x7a,0xb3,0xf, 0xf6,0x12,0x43,0xe, 0x12,0x78,0xae,0x74,0x1, 0x22,0x7e,
+0x34,0x0, 0xa, 0xca,0x39,0x7e,0x34,0xb7,0x12,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x0,
+0x81,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,0x34,0x0, 0x7, 0xca,0x39,0x7e,0x34,0xb7,
+0xa, 0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x0, 0x8b,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,
+0x34,0x0, 0xa, 0xca,0x39,0x7e,0x34,0xb6,0xaa,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x0,
+0xca,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,0x34,0x0, 0x1e,0xca,0x39,0x7e,0x34,0xb6,
+0x8c,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x10,0xb7,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,
+0x34,0x0, 0x6, 0xca,0x39,0x7e,0x34,0xb7,0x1c,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x1,
+0x3f,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,0x34,0x0, 0x14,0xca,0x39,0x7e,0x34,0xb6,
+0xf6,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x1, 0x2b,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,
+0x34,0x0, 0xb, 0xca,0x39,0x7e,0x34,0xb6,0x56,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x2,
+0xef,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,0x34,0x0, 0x36,0xca,0x39,0x7e,0x34,0xb6,
+0xb4,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0x2, 0xfa,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0x7e,
+0x34,0x0, 0x2, 0xca,0x39,0x7e,0x34,0xb7,0x22,0x7e,0x24,0x0, 0xff,0x7e,0x8, 0xa,
+0xb0,0x12,0x9c,0xb5,0x1b,0xfd,0x22,0xb4,0xd3,0x12,0x7e,0xb3,0xd, 0x60,0xc4,0x54,
+0x7, 0x78,0x9, 0xd2,0x1, 0x6d,0x33,0x7a,0x37,0x11,0x4b,0x22,0xc2,0x1, 0x22,0x7d,
+0x41,0x7d,0x12,0x1a,0x26,0x1a,0x24,0x1a,0x2, 0x1a,0x0, 0x12,0x9a,0x60,0x7d,0x14,
+0x1a,0x2, 0x1a,0x0, 0x2, 0x9a,0xcd,0x30,0xf, 0xa, 0x74,0x2, 0x7a,0xb3,0x1, 0xb5,
+0x75,0x63,0x26,0x22,0x75,0x63,0x0, 0x74,0x25,0x7a,0xb3,0xd, 0xf5,0x22,0x6d,0x33,
+0x7a,0x37,0xb, 0xb6,0x7a,0x37,0xc, 0x9b,0x7a,0x37,0xb, 0xbd,0x7a,0x37,0xc, 0x99,
+0x7a,0x37,0xc, 0x9d,0x22,0x7e,0x8, 0xe, 0x5, 0x7e,0x34,0x0, 0x80,0x74,0xff,0x12,
+0x9c,0xda,0xe4,0x7a,0xb3,0xe, 0x4, 0x7a,0xb3,0xe, 0x3, 0x22,0x75,0xeb,0x3, 0xa9,
+0xd6,0xac,0xa9,0xd6,0xec,0xd2,0x86,0x75,0xed,0x3, 0x75,0xad,0x3, 0x75,0x94,0x0,
+0xd2,0x87,0x22,0x74,0x1, 0x7a,0xb3,0x0, 0xc3,0x7e,0xb3,0x1, 0x50,0x60,0x9, 0x90,
+0xb6,0x68,0xe4,0x93,0x7a,0xb3,0x0, 0xc4,0x22,0x7c,0xab,0x80,0x8, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x7c,0x7a,0x1b,0xa0,0xa5,0xbf,0x0, 0xf0,0x22,0x7f,0x1,
+0x7e,0x37,0x1, 0xc1,0x1a,0x26,0x1a,0x24,0xbf,0x1, 0x8, 0x3, 0x7f,0x10,0x22,0x9f,
+0x11,0x22,0x7e,0x35,0x1a,0xb, 0x34,0x7a,0x35,0x1a,0x7e,0x35,0x1c,0xbe,0x35,0x1a,
+0x28,0x3, 0x2, 0x87,0xae,0x22,0x12,0x6, 0x28,0x53,0xca,0xf1,0x7e,0x73,0xd, 0x7a,
+0xa, 0x37,0x3e,0x34,0x7c,0xb7,0x42,0xca,0x22,0xe5,0x4e,0xb4,0x1, 0xd, 0x7e,0x73,
+0x1, 0xb5,0xbe,0x70,0x0, 0x28,0x4, 0xe4,0x2, 0x72,0xa0,0x22,0x7e,0x8, 0x10,0xe9,
+0x7e,0x34,0x0, 0x6, 0xe4,0x12,0x9c,0xda,0x74,0x1, 0x7a,0xb3,0x10,0xea,0x22,0xa9,
+0xd4,0xcd,0xd2,0x96,0xd2,0x95,0xc2,0x88,0xd2,0xb8,0xa9,0xd0,0xb7,0xd2,0xa8,0xc2,
+0xad,0x22,0x7e,0x34,0x7f,0xff,0x1b,0xa, 0x30,0x79,0x30,0x0, 0x2, 0x74,0xff,0x39,
+0xb0,0x0, 0x4, 0x22,0x30,0x4, 0x8, 0x74,0x1, 0x12,0x87,0xc1,0xc2,0x4, 0x22,0xe4,
+0x12,0x87,0xc1,0xd2,0x4, 0x22,0xe5,0x54,0x70,0x5, 0x53,0xc8,0xc5,0x80,0x3, 0x53,
+0xc8,0xc7,0x53,0xcb,0x10,0x22,0xc2,0xc6,0xd2,0xee,0x43,0xdb,0x40,0xa9,0xd6,0xf7,
+0xc2,0xfe,0xa9,0xd6,0xdb,0x22,0xe4,0x12,0x5b,0xc7,0x7e,0x8, 0x4, 0xa4,0x7e,0x18,
+0x4, 0x48,0x2, 0x63,0x73,0xbd,0x32,0x58,0x3, 0x7d,0x32,0x22,0xbd,0x31,0x8, 0x2,
+0x7d,0x31,0x22,0x75,0xb7,0x0, 0x75,0xb8,0x0, 0x75,0xf7,0x0, 0x75,0xf8,0x0, 0x22,
+0xa9,0xd5,0xea,0xa9,0xc4,0xcb,0x75,0xa6,0x0, 0xa9,0xc1,0xcd,0x22,0xa9,0xd4,0xcb,
+0x75,0xa6,0x10,0xa9,0xd1,0xcd,0xa9,0xc5,0xea,0x22,0x75,0x4e,0x0, 0x6d,0x33,0x7a,
+0x35,0x4c,0x75,0x4f,0x0, 0x22,0x7e,0xb3,0x1, 0xb5,0x60,0x5, 0xe4,0x7a,0xb3,0x0,
+0xc3,0x22,0xa9,0xd1,0x99,0x75,0x9a,0xfe,0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0x74,0x1,
+0x7a,0xb3,0x0, 0xec,0x7a,0xb3,0x9, 0x24,0x22,0xc2,0x95,0xc2,0x96,0xc2,0x90,0xc2,
+0xe9,0xd2,0xad,0x22,0x7c,0x3b,0x12,0x81,0x54,0x7c,0xb3,0x2, 0x7a,0xa6,0xe5,0x9a,
+0x60,0x5, 0xd2,0x9c,0xa9,0xd6,0xdf,0x22,0x7d,0x12,0x6d,0x0, 0x6d,0x22,0x9f,0x10,
+0x22,0x70,0x3, 0xd2,0x86,0x22,0xc2,0x86,0x22,0x43,0xc8,0xc9,0x43,0xcb,0x8e,0x22,
+0x12,0x17,0xcc,0x50,0xfb,0x22,0x12,0x17,0xcc,0x50,0xfb,0x22,0xe4,0x7a,0xb3,0x1,
+0x5f,0x22,0x43,0xdb,0x2, 0xd2,0xe9,0x22,0x50,0x40,0x0, 0xe6,0xf4,0x2, 0x4, 0x2,
+0x10,0x16,0x10,0xf8,0xe4,0xd8,0xd8,0xe2,0xf6,0x2, 0x0, 0x18,0x20,0xa, 0x8, 0x1c,
+0x18,0x2, 0xee,0xe8,0xf4,0x8, 0x1a,0x2c,0x2e,0x2a,0x50,0x40,0x0, 0xfa,0xfe,0x8,
+0xe, 0xa, 0x2, 0xf2,0xe2,0xd8,0xd8,0xda,0xea,0x2, 0x10,0x18,0x0, 0x14,0x6, 0x14,
+0x4, 0xf0,0xe2,0xe2,0xee,0x4, 0x18,0x2e,0x3a,0x36,0x30,0x2e,0x50,0x40,0x0, 0xea,
+0xfa,0x2, 0x8, 0x18,0x1c,0x16,0x2, 0xec,0xe0,0xde,0xe6,0xfc,0xc, 0x16,0x0, 0x22,
+0x20,0xe, 0x1a,0x16,0x4, 0xf2,0xf2,0xfa,0xa, 0x1e,0x32,0x3a,0x34,0x30,0x50,0x40,
+0x0, 0xea,0xfc,0xfe,0xf8,0x4, 0xe, 0x6, 0xea,0xd6,0xd2,0xd8,0xf0,0xa, 0xc, 0xc,
+0x0, 0x1c,0x2, 0x2, 0x20,0x24,0xa, 0xec,0xee,0x2, 0x1a,0x34,0x3c,0x24,0xa, 0x2,
+0x65,0x32,0x0, 0x14,0x22,0x28,0x2c,0x2a,0x24,0x18,0xc, 0xfe,0x4, 0x10,0x1a,0x28,
+0x34,0x3a,0x0, 0xf0,0xf4,0xfc,0xa, 0x16,0x22,0x30,0x38,0x3c,0x3a,0x38,0x38,0x38,
+0x38,0x38,0x65,0x32,0x0, 0x10,0x1c,0x28,0x2e,0x2c,0x2c,0x28,0x20,0x1c,0x12,0x16,
+0x24,0x2e,0x38,0x3e,0x0, 0xe4,0xdc,0xe0,0xe8,0xf2,0xfc,0x4, 0x10,0x1a,0x24,0x24,
+0x1e,0x1c,0x18,0x16,0x65,0x32,0x0, 0x22,0x32,0x3a,0x3c,0x38,0x36,0x30,0x28,0x1c,
+0xe, 0xe, 0x20,0x2c,0x36,0x40,0x0, 0xe8,0xe8,0xf0,0xfc,0xc, 0x1a,0x26,0x34,0x40,
+0x4a,0x54,0x56,0x52,0x50,0x4c,0x65,0x32,0x0, 0x14,0x22,0x28,0x2a,0x28,0x24,0x1e,
+0x16,0xc, 0x10,0x1e,0x28,0x30,0x3a,0x40,0x0, 0xf2,0xf4,0xfa,0x2, 0xc, 0x18,0x22,
+0x2e,0x3a,0x3e,0x3a,0x3a,0x38,0x36,0x36,0x60,0x33,0x0, 0x22,0x30,0x34,0x30,0x1c,
+0xa, 0xc, 0x20,0x32,0x3e,0x3a,0x2c,0x18,0xa, 0x2, 0x0, 0xf0,0xf8,0x8, 0x1a,0x2a,
+0x2c,0x2c,0x2c,0x32,0x44,0x58,0x66,0x6c,0x6e,0x70,0x60,0x33,0x0, 0x1c,0x1c,0x12,
+0x8, 0xe, 0x18,0x24,0x30,0x3a,0x3e,0x3a,0x32,0x22,0x18,0x12,0x0, 0xe, 0x1a,0x26,
+0x32,0x2e,0x2e,0x2e,0x34,0x40,0x4a,0x56,0x64,0x74,0x7a,0x7f,0x60,0x33,0x0, 0x1c,
+0x1c,0xc, 0x2, 0xe, 0x1a,0x26,0x2a,0x2a,0x24,0x18,0xc, 0xfe,0xf6,0xf0,0x0, 0x8,
+0x16,0x24,0x2c,0x2c,0x2c,0x34,0x40,0x4c,0x54,0x5c,0x60,0x62,0x66,0x66,0x61,0x36,
+0x0, 0xdc,0xd4,0xce,0xcc,0xce,0xda,0xec,0xfc,0x8, 0xa, 0x0, 0xf4,0xe4,0xd8,0xd0,
+0x0, 0x22,0x34,0x48,0x58,0x6a,0x76,0x78,0x74,0x64,0x58,0x4a,0x42,0x42,0x42,0x46,
+0x61,0x36,0x0, 0xe8,0xda,0xca,0xc4,0xc0,0xc0,0xca,0xd6,0xe2,0xee,0xee,0xe4,0xd4,
+0xc8,0xc2,0x0, 0x6, 0xe, 0x1e,0x2a,0x34,0x3e,0x44,0x42,0x3e,0x38,0x2c,0x26,0x26,
+0x28,0x2a,0x61,0x36,0x0, 0xe4,0xda,0xd0,0xca,0xcc,0xd8,0xe6,0xf4,0x0, 0x6, 0xfc,
+0xee,0xe2,0xd2,0xcc,0x0, 0x10,0x1c,0x28,0x36,0x44,0x4a,0x48,0x42,0x3a,0x2e,0x26,
+0x24,0x24,0x26,0x2c,0x63,0x37,0x0, 0x16,0x22,0x30,0x3a,0x3c,0x36,0x30,0x2c,0x2a,
+0x26,0x24,0x22,0x20,0x1e,0x1e,0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x16,0x24,0x30,0x3e,
+0x4a,0x56,0x62,0x6c,0x74,0x7c,0x63,0x37,0x0, 0x10,0x1c,0x26,0x30,0x38,0x3c,0x34,
+0x30,0x2c,0x28,0x28,0x24,0x22,0x22,0x22,0x0, 0xfe,0xfe,0xfe,0xfe,0xfe,0x4, 0xa,
+0x14,0x20,0x2c,0x34,0x40,0x4a,0x54,0x5a,0x64,0x38,0x0, 0xce,0xc6,0xca,0xd8,0xee,
+0xfa,0x2, 0xf2,0xdc,0xc8,0xca,0xda,0xf2,0x0, 0x6, 0x0, 0x4, 0x14,0x28,0x36,0x42,
+0x50,0x66,0x76,0x76,0x6a,0x56,0x42,0x2e,0x20,0x1a,0x64,0x38,0x0, 0xca,0xd0,0xec,
+0x0, 0x8, 0xfc,0xe8,0xd2,0xcc,0xd6,0xf0,0x2, 0x6, 0xf4,0xee,0x0, 0x1c,0x2e,0x3c,
+0x50,0x66,0x7a,0x7c,0x76,0x60,0x48,0x36,0x20,0xa, 0x2, 0x2, 0x64,0x38,0x0, 0x10,
+0x20,0x30,0x2e,0x20,0xe, 0xfc,0xf8,0x4, 0x18,0x26,0x2e,0x1c,0xc, 0x6, 0x0, 0x22,
+0x2c,0x3a,0x4a,0x50,0x52,0x4a,0x3e,0x28,0x1c,0x16,0xc, 0xfe,0xfe,0xfe,0x64,0x38,
+0x0, 0x2c,0x3a,0x34,0x20,0xc, 0xfe,0x4, 0x16,0x28,0x38,0x3a,0x28,0x16,0x8, 0x6,
+0x0, 0xee,0xf8,0xe, 0x22,0x2e,0x38,0x4e,0x5c,0x5a,0x48,0x32,0x24,0x1a,0xa, 0x2,
+0x64,0x38,0x0, 0xe, 0x14,0x10,0x2, 0xf2,0xee,0xfc,0xc, 0x1a,0x26,0x28,0x1a,0xc,
+0x0, 0xfc,0x0, 0x1e,0x2c,0x38,0x3c,0x36,0x2c,0x1e,0x16,0xe, 0x4, 0xf8,0xf4,0xf4,
+0xf8,0xfe,0x36,0x61,0x0, 0xe4,0xd2,0xcc,0xcc,0xd4,0xe4,0xf0,0xf8,0xfc,0xfc,0xf8,
+0xf8,0xfc,0x4, 0xa, 0x0, 0xf8,0x8, 0x1a,0x24,0x2c,0x26,0x18,0xc, 0x2, 0x0, 0x10,
+0x22,0x2e,0x32,0x32,0x36,0x61,0x0, 0xe6,0xd6,0xce,0xc2,0xc0,0xc0,0xc6,0xd0,0xda,
+0xe4,0xee,0xf4,0xf0,0xf0,0xf6,0x0, 0xf6,0xfc,0x4, 0xe, 0x18,0x22,0x30,0x3a,0x34,
+0x2c,0x1c,0x16,0x24,0x30,0x34,0x36,0x61,0x0, 0xe8,0xd8,0xcc,0xc2,0xc4,0xcc,0xd8,
+0xe8,0xf6,0xfc,0xf2,0xe8,0xe4,0xea,0xf4,0x0, 0xf2,0xf6,0x2, 0x14,0x24,0x2c,0x28,
+0x1e,0xe, 0x6, 0xc, 0x1a,0x28,0x34,0x38,0x42,0x62,0x0, 0xf6,0xf4,0xee,0xf0,0xfe,
+0xe, 0x1e,0x22,0x1e,0x14,0x6, 0xf4,0xe6,0xe8,0xee,0x0, 0x18,0x26,0x34,0x38,0x2a,
+0x24,0x28,0x36,0x44,0x4e,0x50,0x4c,0x46,0x3c,0x3a,0x42,0x62,0x0, 0xfc,0xfa,0xf8,
+0xf6,0xf8,0xfc,0xc, 0x1e,0x30,0x34,0x2e,0x20,0xe, 0xfe,0xf8,0x0, 0x26,0x32,0x42,
+0x58,0x54,0x40,0x32,0x30,0x3a,0x4e,0x5c,0x68,0x68,0x62,0x5e,0x42,0x62,0x0, 0x4,
+0x6, 0x8, 0x8, 0xa, 0xc, 0x10,0x1c,0x2e,0x3a,0x3c,0x32,0x20,0x10,0xa, 0x0, 0x20,
+0x36,0x42,0x56,0x64,0x76,0x6a,0x5c,0x58,0x5c,0x6c,0x78,0x7c,0x7e,0x7e,0x42,0x62,
+0x0, 0xf4,0xf0,0xec,0xe8,0xe2,0xe2,0xe8,0xf4,0xa, 0x1c,0x1c,0x12,0x0, 0xf2,0xec,
+0x0, 0x2e,0x42,0x54,0x66,0x76,0x74,0x62,0x52,0x4a,0x4e,0x62,0x70,0x7a,0x7e,0x7e,
+0x34,0x63,0x0, 0xf0,0xde,0xd2,0xca,0xc8,0xc8,0xc8,0xca,0xce,0xd6,0xe2,0xec,0xf8,
+0x2, 0x8, 0x0, 0xf8,0xfc,0x8, 0x12,0x1e,0x28,0x30,0x3c,0x48,0x54,0x5a,0x5a,0x56,
+0x4c,0x48,0x34,0x63,0x0, 0xe4,0xd8,0xce,0xc6,0xc0,0xc0,0xc0,0xc0,0xc2,0xc4,0xc8,
+0xd0,0xd8,0xde,0xe4,0x0, 0x12,0x20,0x2a,0x38,0x44,0x50,0x56,0x5e,0x66,0x6c,0x74,
+0x78,0x7a,0x7a,0x76,0x34,0x63,0x0, 0xee,0xe2,0xd4,0xcc,0xc4,0xc2,0xc2,0xc2,0xc6,
+0xce,0xdc,0xea,0xf4,0xfc,0x0, 0x0, 0xec,0xee,0xf4,0xfc,0xa, 0x14,0x20,0x2a,0x36,
+0x40,0x46,0x44,0x3c,0x32,0x2a,0x34,0x63,0x0, 0xec,0xe0,0xd2,0xc8,0xc2,0xc0,0xc0,
+0xc2,0xc8,0xd2,0xdc,0xe6,0xf0,0xf4,0xf8,0x0, 0xf6,0xf4,0xf6,0xfe,0x8, 0x12,0x1e,
+0x2a,0x36,0x3c,0x3e,0x3c,0x36,0x2e,0x28,0x34,0x63,0x0, 0xe6,0xda,0xce,0xc6,0xc0,
+0xc0,0xc0,0xc4,0xcc,0xda,0xe6,0xf2,0xf6,0xfc,0x0, 0x0, 0xea,0xea,0xee,0xf6,0x2,
+0xc, 0x16,0x22,0x2c,0x34,0x32,0x2c,0x24,0x1a,0x14,0x34,0x63,0x0, 0xec,0xe2,0xd4,
+0xcc,0xc6,0xc2,0xc2,0xc6,0xd0,0xd8,0xe6,0xf0,0xf8,0xfc,0x0, 0x0, 0xf8,0xfa,0xfe,
+0x4, 0xc, 0x16,0x24,0x30,0x36,0x38,0x36,0x32,0x2c,0x24,0x1e,0x34,0x63,0x0, 0xf8,
+0xf4,0xee,0xe6,0xda,0xd0,0xc6,0xc0,0xc0,0xc2,0xc6,0xd0,0xdc,0xe8,0xec,0x0, 0xf8,
+0xf4,0xf4,0xf4,0xf6,0xfe,0x6, 0x12,0x1e,0x28,0x2e,0x32,0x32,0x30,0x2e,0x34,0x63,
+0x0, 0xfa,0xf8,0xf4,0xf0,0xea,0xe2,0xd8,0xce,0xc6,0xc0,0xc0,0xc2,0xc8,0xd4,0xd6,
+0x0, 0xfa,0xf6,0xf4,0xf0,0xf0,0xf0,0xf2,0xf8,0x0, 0x8, 0x12,0x1e,0x28,0x2e,0x30,
+0x37,0x64,0x0, 0xd8,0xe0,0xf0,0xfc,0x4, 0x8, 0xe, 0xe, 0x6, 0x0, 0xfc,0xfa,0xfc,
+0xc, 0x16,0x0, 0x14,0x2c,0x20,0xa, 0xf2,0xe2,0xca,0xc6,0xda,0xf0,0x6, 0x1c,0x36,
+0x3a,0x3a,0x37,0x64,0x0, 0xce,0xcc,0xd6,0xec,0xfc,0x2, 0x6, 0x8, 0xa, 0x6, 0x2,
+0x2, 0x2, 0x6, 0x8, 0x0, 0xf8,0xe, 0x28,0x2a,0x12,0x0, 0xea,0xd0,0xbe,0xd0,0xe8,
+0xfe,0x14,0x26,0x30,0x37,0x64,0x0, 0xe2,0xe6,0xf6,0x4, 0xc, 0x10,0x1a,0x1e,0x18,
+0x12,0xe, 0xc, 0xc, 0x10,0x14,0x0, 0x10,0x20,0x1e,0xc, 0xfa,0xec,0xd6,0xc2,0xce,
+0xe0,0xf0,0x2, 0x14,0x20,0x28,0x33,0x65,0x0, 0x1e,0x2c,0x34,0x2a,0x1e,0x12,0x6,
+0xfc,0xf6,0xf8,0x0, 0xe, 0x1a,0x26,0x2e,0x0, 0xfe,0xfa,0xf2,0xe4,0xe2,0xe4,0xe8,
+0xf0,0x0, 0xe, 0x1a,0x20,0x1c,0x16,0x12,0x33,0x65,0x0, 0x20,0x24,0x20,0x12,0xa,
+0x0, 0xfe,0xfe,0xfe,0x2, 0xa, 0x14,0x24,0x34,0x3e,0x0, 0xea,0xe0,0xd2,0xce,0xd4,
+0xe2,0xf2,0xfc,0x8, 0x14,0x1c,0x1c,0x18,0xc, 0x4, 0x33,0x65,0x0, 0x8, 0x18,0x2c,
+0x30,0x24,0x16,0x6, 0xfc,0xf2,0xf2,0xf2,0xf4,0x2, 0x12,0x1e,0x0, 0x10,0x10,0x2,
+0xf0,0xe0,0xe2,0xec,0xfa,0xc, 0x1c,0x2e,0x3c,0x4a,0x50,0x4e,0x33,0x65,0x0, 0x1a,
+0x2a,0x30,0x2e,0x24,0x1a,0xc, 0xfe,0xf4,0xf2,0xf2,0xfa,0x8, 0x14,0x1a,0x0, 0x0,
+0xfc,0xee,0xdc,0xd4,0xd4,0xd8,0xe2,0xf0,0x0, 0xe, 0x18,0x1c,0x1c,0x1c,0x33,0x65,
+0x0, 0x18,0x22,0x26,0x28,0x26,0x1c,0xe, 0x2, 0xf8,0xf4,0xf4,0xfa,0x8, 0x22,0x34,
+0x0, 0xee,0xe4,0xd8,0xd0,0xbe,0xbc,0xc0,0xc6,0xd2,0xe2,0xa, 0x18,0x1a,0xe, 0x8,
+0x33,0x65,0x0, 0x1a,0x26,0x28,0x1e,0x10,0x4, 0xf6,0xec,0xec,0xec,0xf0,0xfc,0xc,
+0x16,0x1c,0x0, 0xfc,0xfa,0xee,0xe4,0xe2,0xe4,0xe8,0xf4,0x2, 0xe, 0x1a,0x26,0x2c,
+0x30,0x30,0x33,0x65,0x0, 0x16,0x20,0x2a,0x30,0x2a,0x22,0x18,0x14,0x12,0x12,0x18,
+0x22,0x2e,0x38,0x3e,0x0, 0xf4,0xee,0xe2,0xda,0xd0,0xd2,0xdc,0xea,0xf4,0xfe,0x8,
+0xe, 0xe, 0xc, 0xc, 0x33,0x65,0x0, 0x4, 0x10,0x20,0x2e,0x38,0x3e,0x3c,0x2e,0x18,
+0x6, 0x0, 0x4, 0x16,0x30,0x38,0x0, 0xfc,0xf8,0xf0,0xe2,0xce,0xbe,0xb0,0xb6,0xc8,
+0xea,0x2, 0xc, 0xa, 0xfc,0xf6,0x33,0x65,0x0, 0x4, 0xe, 0x1e,0x2c,0x38,0x3e,0x3c,
+0x2e,0x20,0x18,0x14,0x18,0x24,0x34,0x38,0x0, 0x2, 0x6, 0x2, 0xfa,0xee,0xe4,0xe0,
+0xe4,0xf2,0x0, 0xa, 0x12,0x1c,0x20,0x20,0x33,0x65,0x0, 0xa, 0x1c,0x2a,0x32,0x36,
+0x34,0x30,0x1c,0xe, 0x2, 0xf8,0xf8,0xfc,0x4, 0x8, 0x0, 0xfc,0xf6,0xee,0xe6,0xde,
+0xdc,0xdc,0xe0,0xe8,0xf6,0x6, 0xe, 0x14,0x1a,0x1c,0x35,0x67,0x0, 0xce,0xc6,0xc8,
+0xd0,0xe2,0xf6,0xfe,0xfc,0xf8,0xf6,0xf4,0xea,0xda,0xc8,0xc2,0x0, 0xfc,0x10,0x22,
+0x32,0x32,0x26,0x12,0x12,0x2c,0x42,0x5a,0x6a,0x70,0x6a,0x64,0x35,0x67,0x0, 0xde,
+0xcc,0xc8,0xca,0xd6,0xe4,0xf2,0xfe,0xfc,0xfa,0xf6,0xea,0xda,0xcc,0xc4,0x0, 0xe8,
+0xf0,0xfe,0xe, 0x1c,0x20,0x1a,0xe, 0x16,0x28,0x34,0x44,0x4c,0x4a,0x44,0x35,0x67,
+0x0, 0xda,0xd6,0xe8,0xf2,0xf6,0xf6,0xf4,0xf0,0xea,0xe6,0xd8,0xc8,0xc0,0xcc,0xd4,
+0x0, 0x4, 0x18,0x1a,0x8, 0xc, 0x1a,0x2a,0x3a,0x4e,0x5e,0x72,0x74,0x64,0x56,0x52,
+0x35,0x67,0x0, 0xd8,0xd6,0xe4,0xf6,0x0, 0x6, 0x6, 0x6, 0x6, 0x2, 0xf8,0xe8,0xd2,
+0xc8,0xc8,0x0, 0x24,0x3c,0x4a,0x3e,0x2c,0x18,0x26,0x3a,0x48,0x5c,0x72,0x7c,0x7a,
+0x70,0x68,0x70,0x68,0x0, 0x0, 0xfe,0xfe,0xfe,0xfe,0xfe,0x0, 0x6, 0x12,0x24,0x36,
+0x3c,0x3c,0x3a,0x3a,0x0, 0x24,0x36,0x42,0x56,0x64,0x70,0x60,0x52,0x3e,0x3a,0x48,
+0x58,0x6a,0x78,0x7f,0x70,0x68,0x0, 0xee,0xe8,0xe4,0xe2,0xde,0xde,0xe4,0xf2,0x4,
+0x10,0x1a,0x1a,0x18,0x18,0x16,0x0, 0x20,0x36,0x48,0x5a,0x68,0x70,0x62,0x50,0x44,
+0x44,0x50,0x5e,0x6a,0x76,0x7f,0x34,0x3c,0x0, 0xf0,0xe4,0xda,0xd2,0xcc,0xc6,0xc2,
+0xca,0xd2,0xdc,0xe6,0xee,0xf8,0xfe,0x2, 0x0, 0x6, 0xa, 0x10,0x16,0x1c,0x20,0x26,
+0x2c,0x34,0x36,0x3a,0x40,0x48,0x4e,0x50,0x52,0x3e,0x0, 0x10,0x18,0x1e,0x2a,0x32,
+0x3a,0x3e,0x36,0x2c,0x24,0x1e,0x16,0xe, 0x6, 0x4, 0x0, 0x8, 0xe, 0x12,0x16,0x1a,
+0x20,0x26,0x2c,0x32,0x38,0x38,0x3e,0x42,0x46,0x4a,0x52,0x3e,0x0, 0xe, 0x16,0x1c,
+0x26,0x2e,0x34,0x3a,0x3e,0x3c,0x3a,0x32,0x28,0x1c,0x14,0xe, 0x0, 0x2, 0x2, 0x4,
+0x8, 0xc, 0x10,0x14,0x1c,0x24,0x2a,0x2e,0x34,0x3e,0x42,0x46,0x52,0x3e,0x0, 0xc,
+0x18,0x20,0x26,0x26,0x20,0x14,0xc, 0x6, 0x0, 0xfa,0xf4,0xee,0xea,0xee,0x0, 0x6,
+0x10,0x18,0x1c,0x22,0x24,0x2a,0x32,0x36,0x3c,0x42,0x4a,0x4e,0x54,0x4e,0x53,0x5e,
+0x0, 0x6, 0xa, 0xe, 0x12,0x14,0x18,0x1c,0x22,0x26,0x28,0x2c,0x32,0x38,0x3c,0x3e,
+0x0, 0xf0,0xe8,0xde,0xd8,0xd2,0xca,0xc2,0xc6,0xcc,0xd2,0xda,0xe6,0xf2,0xf8,0xfc,
+0x54,0x76,0x0, 0x4, 0x8, 0xc, 0x12,0x14,0x18,0x1c,0x22,0x28,0x2c,0x30,0x36,0x3a,
+0x3e,0x3e,0x0, 0xc, 0x18,0x20,0x26,0x2c,0x34,0x3e,0x3a,0x32,0x2a,0x20,0x18,0xe,
+0x8, 0x4, 0x54,0x76,0x0, 0x0, 0x0, 0x2, 0x6, 0xa, 0xe, 0x12,0x16,0x1a,0x1e,0x24,
+0x2c,0x34,0x40,0x40,0x0, 0x6, 0x1a,0x2a,0x3e,0x4e,0x5e,0x6c,0x74,0x76,0x72,0x6c,
+0x5e,0x4e,0x3e,0x3e,0x71,0x6b,0x0, 0xf6,0xf2,0xee,0xec,0xf4,0x2, 0xe, 0x1a,0x14,
+0x8, 0xfa,0x4, 0x14,0x22,0x2a,0x0, 0x22,0x30,0x3e,0x3c,0x2e,0x1e,0x1a,0x1c,0x2c,
+0x32,0x34,0x3c,0x48,0x50,0x54,0x71,0x6b,0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x6, 0x1a,
+0x2a,0x2e,0x24,0xe, 0x12,0x28,0x36,0x40,0x0, 0x3c,0x56,0x6c,0x68,0x58,0x40,0x2c,
+0x30,0x44,0x56,0x58,0x5a,0x6c,0x78,0x7f,0x71,0x6b,0x0, 0xf6,0xf2,0xec,0xe8,0xe8,
+0xec,0xf4,0x0, 0x4, 0xf8,0xf4,0x0, 0x12,0x1e,0x28,0x0, 0x22,0x32,0x42,0x50,0x56,
+0x4a,0x3c,0x32,0x3a,0x44,0x46,0x48,0x4e,0x52,0x56,0x44,0x4c,0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x6, 0xe, 0x16,0x20,0x2a,0x32,0x3a,0x40,0x0, 0x12,0x20,0x2a,
+0x34,0x3c,0x46,0x50,0x54,0x52,0x52,0x54,0x54,0x56,0x56,0x58,0x32,0x6d,0x0, 0x8,
+0xc, 0x12,0x16,0x18,0x1c,0x22,0x2a,0x2c,0x30,0x34,0x36,0x3a,0x3c,0x3e,0x0, 0xe2,
+0xd8,0xca,0xd0,0xe2,0xec,0xec,0xde,0xd0,0xc8,0xc6,0xd4,0xe2,0xec,0xf2,0x32,0x6d,
+0x0, 0x8, 0x10,0x1a,0x22,0x22,0x20,0x1c,0x1c,0x22,0x26,0x2c,0x38,0x3e,0x3e,0x3e,
+0x0, 0xdc,0xce,0xc4,0xce,0xda,0xe8,0xf6,0xfc,0xec,0xdc,0xce,0xcc,0xda,0xec,0xfa,
+0x32,0x6d,0x0, 0x0, 0x2, 0x4, 0x8, 0xe, 0x16,0x1a,0x18,0x18,0x20,0x28,0x30,0x38,
+0x3c,0x40,0x0, 0x26,0x38,0x2c,0x1a,0x6, 0xfe,0x14,0x28,0x1c,0xa, 0xf8,0x2, 0x14,
+0x26,0x30,0x32,0x6d,0x0, 0x0, 0x2, 0x4, 0xa, 0x18,0x1c,0x1c,0x1e,0x24,0x2c,0x3a,
+0x3e,0x3e,0x3e,0x3e,0x0, 0x2a,0x28,0x14,0x4, 0xfe,0xc, 0x1e,0x22,0x12,0x0, 0xf8,
+0x2, 0x16,0x26,0x30,0x32,0x6d,0x0, 0x0, 0x2, 0x6, 0xe, 0x10,0x12,0x12,0x12,0x14,
+0x20,0x2c,0x32,0x38,0x3e,0x40,0x0, 0xe6,0xca,0xb0,0xa2,0xa4,0xac,0xbe,0xcc,0xcc,
+0xba,0xaa,0xaa,0xbe,0xd2,0xd6,0x32,0x6d,0x0, 0xa, 0xe, 0xc, 0xa, 0x12,0x1e,0x24,
+0x22,0x20,0x22,0x2c,0x38,0x3e,0x3c,0x3c,0x0, 0x8, 0x1e,0x2e,0x36,0x22,0xa, 0x4,
+0x1a,0x30,0x2c,0x10,0x0, 0x4, 0x22,0x2c,0x32,0x6d,0x0, 0x4, 0xc, 0x16,0x18,0x18,
+0x1c,0x1e,0x24,0x2e,0x3a,0x3e,0x3e,0x3e,0x3e,0x3e,0x0, 0xb6,0x98,0xac,0xcc,0xee,
+0xe0,0xc8,0xa2,0x8e,0x9c,0xb2,0xce,0xf0,0x2, 0xa, 0x32,0x6d,0x0, 0xa, 0xc, 0xa,
+0xe, 0x18,0x20,0x24,0x26,0x30,0x38,0x3e,0x3c,0x3a,0x3a,0x3a,0x0, 0xe, 0x1c,0x2c,
+0x20,0x14,0xe, 0x12,0x1c,0x12,0x8, 0x12,0x2a,0x40,0x4e,0x54,0x40,0x6e,0x0, 0x2,
+0xfe,0xfc,0x0, 0x6, 0xe, 0x16,0x24,0x34,0x3a,0x36,0x32,0x2e,0x2e,0x2e,0x0, 0x32,
+0x46,0x54,0x42,0x2e,0x1c,0xc, 0x0, 0x0, 0x10,0x22,0x32,0x46,0x58,0x60,0x30,0x6f,
+0x0, 0xea,0xde,0xdc,0xdc,0xe0,0xe8,0xf2,0x0, 0xa, 0x14,0x1a,0x18,0x10,0x8, 0x2,
+0x0, 0xa, 0x18,0x24,0x2e,0x38,0x3e,0x3e,0x3a,0x36,0x2a,0x1a,0x10,0x6, 0x2, 0x2,
+0x30,0x6f,0x0, 0x18,0x1e,0x1e,0x1a,0x12,0x6, 0xf8,0xec,0xe2,0xe0,0xe0,0xe2,0xec,
+0xf8,0x0, 0x0, 0xf2,0xe6,0xd8,0xc6,0xba,0xb8,0xbc,0xc6,0xd8,0xe4,0xf0,0xfc,0x6,
+0x8, 0x6, 0x30,0x6f,0x0, 0xe6,0xe0,0xde,0xe0,0xe8,0xf2,0xfe,0xa, 0x16,0x1c,0x1c,
+0x18,0x12,0x8, 0x2, 0x0, 0xf6,0xee,0xe0,0xd4,0xc8,0xc0,0xbe,0xbe,0xc6,0xd2,0xe0,
+0xec,0xfa,0x2, 0x2, 0x30,0x6f,0x0, 0xe4,0xd2,0xc8,0xc4,0xc4,0xc8,0xd8,0xe4,0xf6,
+0xfe,0x2, 0x2, 0xfe,0xf8,0xf6,0x0, 0xe8,0xf4,0x2, 0x14,0x20,0x34,0x44,0x44,0x36,
+0x28,0x18,0xa, 0xf8,0xec,0xe6,0x30,0x6f,0x0, 0xec,0xe8,0xe8,0xf0,0x0, 0xc, 0x14,
+0x1a,0x1a,0x14,0x6, 0xf6,0xea,0xe0,0xde,0x0, 0x28,0x44,0x54,0x64,0x64,0x52,0x40,
+0x2c,0x1e,0x6, 0xf2,0xfa,0xa, 0x2c,0x44,0x30,0x6f,0x0, 0xf2,0xf2,0xf4,0x0, 0xc,
+0x14,0x20,0x2c,0x2e,0x30,0x2c,0x1c,0x10,0x6, 0xfe,0x0, 0x10,0x1e,0x2a,0x32,0x34,
+0x32,0x2c,0x20,0x14,0xa, 0x0, 0xf2,0xf2,0xf4,0xfc,0x30,0x6f,0x0, 0xe4,0xde,0xde,
+0xe2,0xec,0xf8,0x4, 0x14,0x1c,0x1c,0x1a,0x16,0xc, 0x4, 0xfe,0x0, 0xc, 0x16,0x22,
+0x30,0x3a,0x3e,0x3c,0x36,0x2a,0x20,0x14,0x8, 0x0, 0x0, 0x0, 0x30,0x6f,0x0, 0x18,
+0x20,0x20,0x1c,0x16,0xa, 0xfc,0xf2,0xe6,0xe2,0xe2,0xe6,0xf2,0xfc,0x2, 0x0, 0xa,
+0x16,0x22,0x30,0x3a,0x40,0x42,0x3e,0x34,0x28,0x1c,0xe, 0x4, 0x0, 0x0, 0x30,0x6f,
+0x0, 0xfa,0xf0,0xe4,0xd8,0xca,0xc4,0xc4,0xc6,0xcc,0xd8,0xe8,0xf4,0xfe,0x0, 0x2,
+0x0, 0x18,0x20,0x24,0x24,0x1e,0x12,0x4, 0xf6,0xe6,0xde,0xde,0xe4,0xf2,0xfc,0x4,
+0x30,0x6f,0x0, 0x4, 0x12,0x20,0x2a,0x34,0x3c,0x3e,0x38,0x32,0x26,0x1a,0xc, 0x0,
+0x0, 0x0, 0x0, 0x1a,0x24,0x26,0x22,0x1a,0xc, 0xfe,0xee,0xe6,0xde,0xde,0xe2,0xf0,
+0xfc,0x2, 0x30,0x6f,0x0, 0x8, 0x16,0x28,0x34,0x3a,0x3e,0x3e,0x3a,0x32,0x24,0x16,
+0x8, 0x2, 0x0, 0x0, 0x0, 0xe4,0xd6,0xd6,0xdc,0xe8,0xf6,0x2, 0x10,0x1c,0x22,0x24,
+0x1e,0x12,0x6, 0xfe,0x30,0x6f,0x0, 0xf6,0xea,0xde,0xd6,0xcc,0xc6,0xc6,0xca,0xd4,
+0xe4,0xf0,0xfc,0x2, 0x4, 0x4, 0x0, 0xea,0xe6,0xe6,0xea,0xf6,0x0, 0xc, 0x1a,0x26,
+0x28,0x24,0x1e,0x12,0xa, 0x4, 0x30,0x6f,0x0, 0xfc,0x4, 0x10,0x2c,0x36,0x38,0x34,
+0x28,0x14,0x2, 0xfc,0x0, 0x8, 0x14,0x18,0x0, 0xd0,0xc2,0xba,0xbc,0xc6,0xd8,0xf2,
+0x8, 0x12,0x10,0x0, 0xea,0xd4,0xc8,0xc6,0x30,0x6f,0x0, 0xf8,0xc, 0x22,0x2e,0x2c,
+0x2a,0x22,0x18,0x2, 0xf4,0xf0,0xf2,0xf6,0xfe,0x0, 0x0, 0xd8,0xcc,0xce,0xe8,0xfe,
+0x10,0x1c,0x28,0x2a,0x1e,0xe, 0xf6,0xe6,0xdc,0xda,0x30,0x6f,0x0, 0xf0,0xee,0xf2,
+0x2, 0x14,0x20,0x28,0x2c,0x28,0x1e,0x10,0xfe,0xf2,0xee,0xee,0x0, 0xe2,0xce,0xbe,
+0xba,0xbe,0xc6,0xd4,0xe6,0xf8,0x4, 0x8, 0x8, 0x2, 0xf4,0xf0,0x30,0x6f,0x0, 0xf0,
+0xf0,0xf8,0xc, 0x1e,0x28,0x2c,0x26,0x18,0x8, 0xf6,0xf0,0xee,0xee,0xee,0x0, 0xe8,
+0xd6,0xc4,0xbe,0xc2,0xd0,0xe6,0xfa,0x6, 0xc, 0x2, 0xf2,0xe0,0xd2,0xce,0x45,0x70,
+0x0, 0xfa,0xf6,0xf0,0xf0,0xf2,0xf6,0xfa,0x2, 0xe, 0x1e,0x2c,0x22,0xe, 0xfe,0xf8,
+0x0, 0x30,0x44,0x5a,0x5a,0x44,0x32,0x1e,0xa, 0xfe,0xfc,0x8, 0x1c,0x28,0x2e,0x32,
+0x45,0x70,0x0, 0xfe,0xfe,0xfe,0x0, 0x4, 0xe, 0x1c,0x2e,0x38,0x3c,0x38,0x2a,0x1a,
+0xa, 0x4, 0x0, 0xdc,0xc6,0xb8,0xa8,0x98,0x8a,0x80,0x80,0x88,0x96,0xa4,0xb0,0xb4,
+0xb6,0xb6,0x73,0x72,0x0, 0xc, 0xe, 0x10,0x10,0x10,0x10,0x10,0x10,0x12,0x16,0x18,
+0x22,0x2c,0x38,0x3e,0x0, 0x14,0x22,0x2a,0x34,0x3e,0x46,0x3e,0x34,0x26,0x1a,0x12,
+0x6, 0x0, 0x4, 0xc, 0x73,0x72,0x0, 0x4, 0x6, 0x6, 0x6, 0x4, 0x4, 0x8, 0xa, 0x10,
+0x16,0x1e,0x2c,0x34,0x3a,0x40,0x0, 0x14,0x22,0x2a,0x38,0x44,0x40,0x2e,0x24,0x18,
+0x10,0x6, 0x6, 0xe, 0x16,0x1c,0x46,0x73,0x0, 0xe0,0xd0,0xc6,0xc2,0xc8,0xd6,0xe4,
+0xf4,0xfa,0xf6,0xec,0xdc,0xce,0xc4,0xc0,0x0, 0xee,0xf4,0x4, 0x16,0x22,0x2a,0x30,
+0x3a,0x4c,0x5a,0x64,0x6a,0x6a,0x5e,0x56,0x46,0x73,0x0, 0xda,0xd0,0xcc,0xd0,0xde,
+0xea,0xf6,0x6, 0x8, 0x6, 0x0, 0xf2,0xe0,0xd8,0xd2,0x0, 0x4, 0xe, 0x18,0x24,0x2a,
+0x2a,0x28,0x2c,0x36,0x40,0x4c,0x56,0x56,0x54,0x54,0x46,0x73,0x0, 0xee,0xe6,0xde,
+0xe2,0xea,0xf4,0x0, 0xa, 0x16,0x1c,0x18,0xc, 0x2, 0xfa,0xf4,0x0, 0x16,0x24,0x30,
+0x38,0x3a,0x3a,0x3c,0x3c,0x3c,0x46,0x4e,0x5c,0x66,0x6e,0x74,0x46,0x73,0x0, 0xe6,
+0xd6,0xcc,0xc2,0xc0,0xc4,0xce,0xda,0xe6,0xf2,0xfc,0xfa,0xec,0xdc,0xd2,0x0, 0xf8,
+0xfc,0x4, 0x10,0x1c,0x28,0x2e,0x32,0x34,0x38,0x40,0x4c,0x5e,0x6c,0x78,0x46,0x73,
+0x0, 0xf4,0xee,0xec,0xf2,0xfa,0x2, 0x8, 0x8, 0x2, 0xf8,0xf0,0xe2,0xda,0xd4,0xce,
+0x0, 0xc, 0x18,0x22,0x28,0x2c,0x30,0x36,0x40,0x4c,0x56,0x5e,0x64,0x68,0x68,0x68,
+0x46,0x73,0x0, 0xf0,0xe0,0xd2,0xc8,0xc6,0xd0,0xde,0xec,0xfa,0x2, 0xfc,0xf0,0xe4,
+0xd8,0xd2,0x0, 0xf0,0xf4,0xf8,0x2, 0xe, 0x1a,0x1e,0x20,0x22,0x2a,0x38,0x40,0x44,
+0x44,0x44,0x46,0x73,0x0, 0xfc,0xf8,0xee,0xda,0xca,0xc2,0xc0,0xc4,0xd2,0xe4,0xf0,
+0xf6,0xe8,0xd8,0xd8,0x0, 0xfe,0x0, 0x8, 0x18,0x28,0x32,0x38,0x3e,0x3c,0x3a,0x38,
+0x40,0x5e,0x7e,0x7e,0x46,0x73,0x0, 0xf6,0xee,0xe4,0xdc,0xda,0xe0,0xec,0xf8,0xfe,
+0xfc,0xf0,0xde,0xcc,0xc2,0xc2,0x0, 0xf6,0xf8,0xfe,0x4, 0xe, 0x16,0x1c,0x22,0x2a,
+0x30,0x34,0x34,0x34,0x34,0x34,0x47,0x75,0x0, 0xf8,0xf8,0xfa,0x8, 0x16,0x1e,0x24,
+0x2a,0x2a,0x24,0x1c,0x1a,0x20,0x2e,0x36,0x0, 0x20,0x32,0x40,0x42,0x34,0x28,0x1a,
+0xc, 0x2, 0xc, 0x1e,0x2e,0x3a,0x40,0x3e,0x47,0x75,0x0, 0xfc,0xfc,0x0, 0x10,0x1e,
+0x2a,0x32,0x36,0x3a,0x38,0x36,0x36,0x36,0x36,0x38,0x0, 0x28,0x40,0x52,0x5c,0x50,
+0x3c,0x28,0x14,0x4, 0x12,0x24,0x36,0x48,0x5c,0x64,0x31,0x77,0x0, 0x2, 0x4, 0x8,
+0xc, 0x12,0x18,0x1c,0x1e,0x24,0x2a,0x2e,0x32,0x36,0x3a,0x3e,0x0, 0x18,0x24,0x2a,
+0x24,0x12,0x6, 0x6, 0x14,0x22,0x26,0x18,0xa, 0xfe,0xf6,0xf0,0x31,0x77,0x0, 0x4,
+0x8, 0xe, 0x14,0x18,0x1a,0x1c,0x1c,0x1e,0x20,0x28,0x30,0x38,0x3c,0x40,0x0, 0x1c,
+0x2a,0x36,0x2c,0x18,0xc, 0x0, 0xa, 0x1a,0x26,0x32,0x2e,0x14,0x6, 0x0, 0x31,0x77,
+0x0, 0x2, 0x4, 0x6, 0xa, 0xc, 0x14,0x20,0x2a,0x2e,0x30,0x30,0x32,0x3c,0x40,0x40,
+0x0, 0xa, 0x1c,0x2e,0x3c,0x3e,0x34,0x1a,0xc, 0x8, 0xc, 0x18,0x26,0x2c,0x26,0x24,
+0x31,0x77,0x0, 0x0, 0x2, 0x4, 0x8, 0xa, 0x12,0x18,0x1c,0x1e,0x20,0x20,0x26,0x30,
+0x40,0x40,0x0, 0x8, 0x1a,0x30,0x3e,0x38,0x28,0x14,0x4, 0x2, 0xe, 0x26,0x3c,0x30,
+0x12,0x12,0x31,0x77,0x0, 0x0, 0x2, 0x4, 0x4, 0xa, 0xe, 0x10,0x16,0x1a,0x1c,0x20,
+0x2c,0x36,0x3e,0x40,0x0, 0xc, 0x18,0x24,0x24,0x16,0x12,0x14,0x22,0x32,0x3e,0x3e,
+0x2c,0x14,0x4, 0x0, 0x72,0x79,0x0, 0xfe,0x0, 0xe, 0x16,0x1e,0x1a,0x14,0x12,0xc,
+0x8, 0xfe,0xf6,0xe8,0xe2,0xe2,0x0, 0x16,0x20,0x1a,0x10,0x4, 0xa, 0x16,0x22,0x30,
+0x3c,0x46,0x4a,0x44,0x3c,0x36,0x72,0x79,0x0, 0x2, 0xa, 0x1a,0x22,0x2a,0x30,0x2a,
+0x28,0x28,0x26,0x24,0x18,0x8, 0xfa,0xf4,0x0, 0x2e,0x3e,0x30,0x20,0xe, 0x0, 0x14,
+0x28,0x3e,0x4e,0x62,0x72,0x78,0x6e,0x66,0x72,0x79,0x0, 0xfa,0xfa,0xfe,0xc, 0x1c,
+0x2c,0x36,0x34,0x2c,0x28,0x20,0x1a,0xe, 0x6, 0x0, 0x0, 0x22,0x38,0x4a,0x44,0x36,
+0x1a,0x6, 0x6, 0x16,0x28,0x44,0x56,0x6c,0x78,0x7f,0x72,0x79,0x0, 0x14,0x16,0x18,
+0x26,0x36,0x3c,0x36,0x34,0x32,0x30,0x2c,0x24,0x14,0xc, 0x8, 0x0, 0xfe,0xc, 0x18,
+0x10,0xfe,0xf8,0x2, 0x12,0x1e,0x2c,0x3c,0x48,0x4c,0x48,0x44,0x65,0x7a,0x0, 0x16,
+0x24,0x30,0x30,0x20,0x18,0xe, 0x0, 0xfa,0x4, 0x10,0x20,0x2a,0x32,0x38,0x0, 0x2,
+0x2, 0x0, 0x8, 0x14,0x1e,0x28,0x32,0x3c,0x3e,0x3a,0x38,0x38,0x38,0x36,0x65,0x7a,
+0x0, 0x14,0x20,0x2e,0x36,0x2e,0x26,0x1a,0x12,0xa, 0xa, 0x14,0x22,0x2e,0x3a,0x40,
+0x0, 0xfe,0xfc,0xfc,0x0, 0x6, 0x10,0x1c,0x28,0x32,0x38,0x3a,0x3a,0x3a,0x3a,0x3a,
+0x65,0x7a,0x0, 0x10,0x1c,0x24,0x2c,0x2c,0x28,0x22,0x1c,0x18,0x14,0x16,0x22,0x2e,
+0x38,0x40,0x0, 0xf6,0xf0,0xea,0xea,0xf0,0xfa,0x8, 0x12,0x1c,0x28,0x2e,0x2c,0x28,
+0x22,0x1e,0x0, 0x46,0x0, 0x6, 0xa, 0xe, 0x14,0x1a,0x1c,0x22,0x26,0x28,0x2c,0x32,
+0x34,0x3a,0x3e,0x40,0x0, 0xb, 0x14,0x1c,0x26,0x2e,0x34,0x3c,0x42,0x48,0x50,0x56,
+0x5c,0x64,0x6a,0x6e,0x7e,0xa0,0x20,0x80,0xc, 0x7e,0xa0,0x10,0x80,0x5, 0x7e,0xa0,
+0x8, 0x6c,0x55,0x6d,0x33,0x33,0x92,0xd5,0x50,0xa, 0x6e,0x34,0xff,0xff,0x6e,0x24,
+0xff,0xff,0xb, 0x1c,0xa5,0xec,0x33,0x40,0x6, 0x2f,0x11,0xd5,0xf0,0xf6,0x22,0x7c,
+0xba,0x24,0x7e,0xa2,0xd5,0x13,0x7c,0x76,0x7c,0x65,0xa5,0xcc,0x92,0xe7,0x7c,0x5b,
+0x22,0x7c,0xb5,0x33,0x7c,0xb4,0x33,0x92,0xd5,0x4e,0x50,0x80,0x24,0x81,0x40,0x3,
+0x9f,0x11,0x22,0x7c,0x45,0x7c,0x56,0x7c,0x67,0x6c,0x77,0x24,0xe0,0x50,0xe, 0x7e,
+0x1c,0xff,0xff,0x22,0x1e,0x34,0x1e,0x24,0x50,0x3, 0x4e,0x60,0x80,0x4, 0x78,0xf4,
+0x30,0xd5,0xa, 0x6e,0x34,0xff,0xff,0x6e,0x24,0xff,0xff,0xb, 0x1c,0x22,0x7c,0xb5,
+0xa2,0xe7,0xd2,0xe7,0x7c,0x1b,0x7c,0xb4,0x33,0x40,0x9, 0x68,0xd, 0xb4,0xff,0xb,
+0xa5,0xbd,0xff,0x3, 0x2, 0x98,0xdb,0x2, 0x98,0xe3,0x22,0x7c,0xb, 0x24,0x81,0xc2,
+0xe0,0xf5,0x82,0xf4,0x4, 0x2c,0xb0,0x7c,0x2b,0xc3,0x13,0x7c,0x4b,0x7c,0xb5,0x92,
+0xe7,0x7c,0x5b,0x7f,0x41,0x7c,0xb6,0xa2,0xe7,0x7c,0xb1,0xa5,0xba,0x7f,0x2, 0xc3,
+0x13,0x34,0x0, 0x94,0x0, 0x7c,0x2b,0x7e,0xa0,0x91,0xa4,0x7c,0xba,0x13,0xf4,0x94,
+0xfe,0xac,0xb2,0x33,0x7c,0xba,0x33,0x24,0x8c,0xd3,0x13,0x7c,0x5b,0xe4,0x92,0xe7,
+0x7c,0x6b,0x6c,0x77,0x7e,0x40,0x3f,0x75,0x83,0x2, 0x7f,0x51,0x7f,0x1, 0x7f,0x14,
+0x12,0x99,0xad,0x7f,0x5, 0x12,0x98,0xf5,0x9e,0x24,0x0, 0x80,0xd5,0x83,0xeb,0x7e,
+0x1, 0x82,0x6c,0x11,0xe, 0x4, 0x1e,0x4, 0x2d,0x20,0x5e,0x40,0x7f,0x22,0x2d,0x0,
+0x92,0xd5,0xe, 0x10,0x4e,0x10,0x80,0x7d,0x42,0x2d,0x44,0x50,0x2, 0xb2,0xd5,0x4e,
+0x50,0x80,0x6c,0x44,0x7c,0xb8,0x22,0x2c,0x44,0x50,0x12,0xb, 0x1c,0x7e,0x40,0x0,
+0x5e,0x50,0x7f,0xbe,0x18,0x0, 0x0, 0x78,0x4, 0xb, 0x80,0x68,0x16,0xa2,0xd5,0x7c,
+0xb8,0x13,0x7c,0x4b,0x7c,0xb5,0x92,0xe7,0x7c,0x5b,0x22,0x7e,0x1c,0xff,0xff,0x22,
+0x9f,0x11,0x22,0x7e,0x24,0xff,0x80,0x20,0xd5,0x2, 0x6c,0x45,0x6d,0x33,0x22,0x2,
+0x98,0xdb,0x6e,0x0, 0x80,0x7c,0xb1,0x33,0x7c,0xb0,0x33,0x68,0xd, 0x4, 0x68,0xef,
+0x7c,0xb5,0x33,0x7c,0xb4,0x33,0x78,0x3, 0x7f,0x10,0x22,0x4, 0x68,0xe1,0x7d,0x50,
+0x92,0xf7,0x7d,0x45,0x7d,0x51,0xbf,0x21,0x40,0x6, 0x7c,0x80,0x7f,0x1, 0x7f,0x12,
+0x12,0x98,0x9e,0x7e,0xa1,0xd0,0x5c,0xb0,0x4, 0x78,0x3, 0x20,0xd5,0xc1,0x7c,0xb0,
+0x4, 0x78,0x7, 0x50,0x2, 0xb2,0xd5,0x2, 0x98,0xe3,0x92,0xd5,0xbe,0x80,0xff,0x68,
+0xf6,0x7c,0xb8,0x9c,0xb0,0x6c,0x0, 0x60,0x2a,0xb4,0x18,0x5, 0x7c,0x41,0x2, 0x98,
+0xb7,0x50,0xfb,0x80,0x3, 0x2f,0x0, 0x4, 0x7c,0x9b,0x5e,0x90,0x7, 0x78,0xf6,0x30,
+0xe4,0x6, 0x7c,0x43,0x7d,0x10,0x6d,0x0, 0x30,0xe3,0x8, 0x7c,0x43,0x7c,0x32,0x7c,
+0x21,0xa, 0x0, 0x30,0xf5,0x19,0x9f,0x10,0x78,0xe, 0x22,0x2, 0x98,0xe0,0x1b,0x80,
+0x68,0xf9,0x2f,0x11,0x50,0x2, 0xb, 0x70,0x7c,0xb5,0x30,0xe7,0xf1,0x80,0x1b,0x2d,
+0x31,0x7c,0xb5,0xa5,0x39,0x7c,0x5b,0x50,0x11,0xb, 0x80,0x78,0x3, 0x2, 0x98,0xe3,
+0x1e,0x34,0x13,0x50,0x3, 0x4e,0x60,0x80,0x1a,0x2b,0x2, 0x98,0xb7,0xbe,0x24,0xff,
+0xff,0x68,0x6, 0xbe,0x4, 0xff,0xff,0x78,0x3, 0x2, 0x98,0xdb,0x12,0x98,0x9e,0x5c,
+0xb0,0x4, 0x68,0xf5,0x7c,0xb8,0xa5,0x48,0x68,0xef,0x7c,0xb8,0x70,0x3, 0x9f,0x11,
+0x22,0xa5,0xb8,0x0, 0x3, 0x2, 0x98,0xe3,0x2e,0x0, 0x81,0x50,0x7, 0x9c,0x80,0x38,
+0x7, 0x2, 0x98,0xe0,0x9c,0x80,0x50,0xed,0xa, 0x51,0xc2,0xe7,0x4d,0x51,0x78,0x3,
+0x2, 0x98,0xcd,0x7e,0x54,0x0, 0x80,0x7e,0x90,0x1a,0x6c,0x0, 0x80,0x6, 0x1b,0x90,
+0x68,0x14,0x2f,0x11,0xbf,0x10,0x40,0x4, 0x9f,0x10,0x4c,0xab,0x3, 0x30,0xe7,0xee,
+0xca,0xa8,0x6c,0xaa,0x80,0xe8,0xda,0x39,0xda,0x58,0x7c,0x4a,0xbe,0x50,0x80,0x50,
+0xa, 0x1b,0x80,0x68,0xbc,0x2f,0x11,0x50,0x2, 0xb, 0x70,0x2, 0x98,0xb7,0xc2,0xd5,
+0x7c,0xb4,0x30,0xe7,0x8, 0xb2,0xd5,0x6e,0x24,0xff,0xff,0xb, 0x24,0x7c,0xb6,0x30,
+0xe7,0x12,0xb2,0xd5,0x6e,0x34,0xff,0xff,0xb, 0x34,0x8d,0x32,0x6e,0x24,0xff,0xff,
+0xb, 0x24,0x80,0x2, 0x8d,0x32,0x30,0xd5,0x6, 0x6e,0x34,0xff,0xff,0xb, 0x34,0x22,
+0x7d,0x51,0xad,0x3, 0x7d,0x2, 0x7d,0x21,0xad,0x5, 0x2d,0x12,0xad,0x35,0x2d,0x21,
+0x22,0x7d,0x2, 0xad,0x31,0xad,0x10,0x2d,0x21,0x22,0x6d,0x0, 0x74,0x10,0x4d,0x0,
+0x78,0xb, 0x4d,0x22,0x78,0x27,0x8d,0x31,0x7d,0x12,0x6d,0x22,0x22,0x7d,0x43,0x7d,
+0x32,0x6d,0x22,0x2f,0x11,0x2d,0x44,0x50,0x2, 0xa5,0xf, 0xbf,0x10,0x40,0x4, 0x9f,
+0x10,0xb, 0x90,0x14,0x78,0xed,0x7f,0x1, 0x6d,0x22,0x7d,0x34,0x22,0x7d,0x41,0x7d,
+0x13,0x8d,0x24,0x7d,0x2, 0x2f,0x0, 0x40,0x4, 0xbd,0x4, 0x40,0x4, 0x9d,0x4, 0xb,
+0x14,0x14,0x78,0xf1,0x7d,0x23,0x7d,0x31,0x7d,0x10,0x6d,0x0, 0x22,0xc2,0xd5,0x7c,
+0xb0,0x30,0xe7,0x8, 0xb2,0xd5,0x9f,0x22,0x9f,0x20,0x7f,0x2, 0x7c,0xb4,0x30,0xe7,
+0x13,0xb2,0xd5,0x9f,0x22,0x9f,0x21,0x7f,0x12,0x12,0x9a,0x7c,0x9f,0x22,0x9f,0x20,
+0x7f,0x2, 0x80,0x3, 0x12,0x9a,0x7c,0x30,0xd5,0x6, 0x9f,0x22,0x9f,0x21,0x7f,0x12,
+0x22,0x6c,0xaa,0x4d,0x11,0x68,0x1a,0x1e,0x54,0x68,0xe, 0xb, 0x38,0x20,0x1b,0x18,
+0x20,0xb, 0x35,0xb, 0x15,0x1b,0x54,0x78,0xf2,0x50,0x6, 0x7e,0x39,0x40,0x7a,0x19,
+0x40,0x22,0x75,0x84,0x1, 0x7e,0x44,0x13,0xff,0xe4,0x7a,0x49,0xb0,0x1b,0x44,0x78,
+0xf9,0x7e,0xf8,0x11,0x4d,0x75,0x69,0x1, 0xc2,0xc, 0x75,0x62,0x0, 0x75,0x8, 0x0,
+0x75,0x9, 0x71,0x75,0xa, 0x6, 0x75,0xb, 0x71,0x75,0xc, 0x71,0x75,0x11,0x71,0x75,
+0x12,0x78,0x75,0x13,0x24,0x75,0x14,0x32,0x75,0x15,0x6, 0x75,0x16,0x2, 0x75,0x17,
+0x78,0xc2,0x5, 0xc2,0x6, 0xc2,0x7, 0x75,0x6a,0x0, 0xc2,0xd, 0x75,0x6b,0x0, 0x75,
+0x5b,0x0, 0xc2,0x0, 0xc2,0x2, 0xc2,0x3, 0xd2,0x4, 0x75,0x5e,0xff,0x75,0x5f,0xff,
+0x75,0x60,0x0, 0x75,0x18,0x0, 0x75,0x19,0x0, 0x75,0x1e,0x0, 0xc2,0xf, 0x75,0x63,
+0x0, 0x75,0x64,0x0, 0x75,0x55,0x0, 0x75,0x56,0x0, 0x75,0x57,0x0, 0x75,0x58,0x0,
+0x75,0x59,0x0, 0x75,0x5a,0x0, 0x75,0x65,0x41,0x75,0x66,0x0, 0xc2,0x8, 0xc2,0xa,
+0xd2,0xb, 0x7e,0x4, 0x0, 0xff,0x7e,0x14,0x9d,0x1a,0xb, 0xa, 0x40,0x5d,0x44,0x68,
+0x1a,0x69,0x20,0x0, 0x2, 0xb, 0xe, 0xb, 0x44,0x80,0xa, 0x7e,0xb, 0xb0,0x7a,0x29,
+0xb0,0xb, 0x24,0xb, 0xc, 0x1b,0x44,0x78,0xf2,0x80,0xdf,0x2, 0x77,0x63,0x0, 0x10,
+0x1, 0x11,0x2, 0x12,0x3, 0x13,0x4, 0x14,0x5, 0x15,0x6, 0x16,0x7, 0x17,0x8, 0x18,
+0x9, 0x19,0xa, 0x1a,0xb, 0x1b,0xc, 0x1c,0xd, 0x1d,0xe, 0x1e,0xf, 0x1f,0x20,0x21,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x6, 0x9,
+0xc, 0xf, 0x12,0x15,0x18,0x1b,0x1e,0x1, 0x4, 0x7, 0xa, 0xd, 0x10,0x13,0x16,0x19,
+0x1c,0x1f,0x2, 0x5, 0x8, 0xb, 0xe, 0x11,0x14,0x17,0x1a,0x1d,0x20,0x80,0x0, 0x40,
+0x0, 0x2a,0xab,0x20,0x0, 0x19,0x9a,0x15,0x55,0x12,0x49,0x10,0x0, 0x1c,0x72,0x19,
+0x9a,0x17,0x46,0x15,0x55,0x13,0xb1,0x12,0x49,0x11,0x11,0x10,0x0, 0x1e,0x1e,0x1c,
+0x72,0x1a,0xf3,0x19,0x9a,0x18,0x62,0x17,0x46,0x16,0x43,0x15,0x55,0x14,0x7b,0x13,
+0xb1,0x12,0xf7,0x12,0x49,0x11,0xa8,0x11,0x11,0x10,0x84,0x10,0x0, 0x2, 0x2, 0x3,
+0x0, 0x5, 0x1, 0x6, 0x6, 0x40,0x10,0x10,0x10,0x10,0x40,0x12,0x0, 0x1, 0x2, 0x3,
+0x14,0x12,0x4, 0x5, 0x6, 0x7, 0x14,0x13,0x8, 0x9, 0xa, 0xb, 0x15,0x13,0xc, 0xd,
+0xe, 0xf, 0x15,0x40,0x11,0x11,0x11,0x11,0x40,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0xca,0xf8,0x7f,0x20,0x80,0xa, 0x7e,0x1b,0xf0,0x7a,0x2b,
+0xf0,0xb, 0x34,0xb, 0x54,0x69,0xff,0xff,0xfc,0x7d,0xef,0x1b,0xe4,0x79,0xef,0xff,
+0xfc,0x4d,0xff,0x78,0xe6,0x7f,0x10,0xda,0xf8,0x22,0x7d,0x43,0x7f,0x10,0x80,0x7,
+0x1b,0x44,0x7a,0xb, 0xb0,0xb, 0x14,0x4d,0x44,0x78,0xf5,0x22,0x7d,0x23,0xbe,0x24,
+0x0, 0x0, 0x48,0x3, 0x7d,0x32,0x22,0x6d,0x33,0x9d,0x32,0x22,0x7f,0x1, 0xbe,0x8,
+0x0, 0x0, 0x48,0x3, 0x7f,0x10,0x22,0x9f,0x11,0x9f,0x10,0x22,0x68,0x64,0x6f,0x2e,
+0x2e,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x1, 0x0, 0x4, 0x11,0x22,0x0, 0x0,
+0x0, 0x0, 0x0, 0x1, 0xf, 0xf6,0xff,0x0, 0x4, 0xb, 0xb2,0x0, 0x0, 0x0, 0x0, 0x0,
+0x14,0x0, 0x6d,0x5, 0x0, 0x5, 0x5c,0x5, 0xb8,0x6, 0x14,0x6, 0x70,0x6, 0xcc,0x7,
+0x28,0x7, 0x84,0x7, 0xe0,0x8, 0x3c,0x0, 0x1, 0xe, 0x89,0x0, 0x0, 0x1, 0xe, 0x8a,
+0x0, 0x0, 0xc, 0xe, 0xa9,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x2, 0xe, 0xb5,0x0, 0x0, 0x0, 0x18,0xe, 0xb7,0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x2, 0xe, 0xcf,0x0, 0x0, 0x0, 0x1, 0xe, 0xd1,0x0, 0x0, 0x2,
+0x11,0x4b,0x0, 0x0, 0x0, 0x8, 0x11,0x36,0x7f,0xff,0x7f,0xff,0x7f,0xff,0x7f,0xff,
+0x0, 0x2, 0xb, 0xb8,0x0, 0x0, 0x0, 0x2, 0xb, 0xbb,0xb, 0xbf,0x0, 0x1, 0xc, 0x80,
+0x0, 0x0, 0x1, 0xc, 0x9f,0x0, 0x0, 0x2, 0x10,0xd5,0x0, 0x0, 0x0, 0x2, 0x10,0xd7,
+0x0, 0x0, 0x0, 0x1, 0x10,0xd9,0x0, 0x0, 0x1, 0x10,0xda,0x0, 0x0, 0xa, 0x10,0xdb,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x10,0xe5,0x3, 0x4,
+0x0, 0x1, 0x10,0xe7,0x0, 0x0, 0x1, 0x10,0xe8,0x0, 0x0, 0x1, 0x10,0xef,0xff,0x0,
+0x1, 0x10,0xf0,0x0, 0x0, 0x1, 0x10,0xf1,0x0, 0x0, 0x2, 0x10,0x47,0x0, 0x0, 0x0,
+0x1, 0x10,0x4d,0xff,0x0, 0x2, 0x10,0x56,0x0, 0x0, 0x0, 0x1, 0x10,0x59,0x76,0x0,
+0x4, 0x10,0x5a,0x0, 0x0, 0x0, 0x20,0x0, 0x2, 0x10,0x5e,0x0, 0x0, 0x0, 0x1, 0x10,
+0x80,0x1, 0x0, 0x1, 0xe, 0x2, 0x0, 0x0, 0x1, 0x11,0x4d,0x0, 0x0, 0x4, 0x11,0x3e,
+0x0, 0x0, 0x14,0x0, 0x0, 0x4, 0x11,0x42,0x0, 0x0, 0x16,0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0x3, 0xe8,0xfc,0x17,0xd4,0x35,0x2b,0xca,0xbc,0x0, 0xff,0xff,0xff,0xff,0xff,0xff,
+0x1, 0x70,0x93,0x43,0x45,0x49,0x5f,0x45,0x53,0x57,0x31,0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x30,0x30,0x30,0x30,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x4, 0x16,0x0, 0x3, 0x0, 0x13,0x12,0x10,0xf, 0x14,0xe, 0xb,
+0xc, 0x1, 0x7, 0xa, 0x9, 0x2, 0x3, 0x5, 0x6, 0x11,0x4, 0x15,0x0, 0xd, 0x8, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xf, 0x10,0x10,0x21,0x21,0x26,0x26,
+0x0, 0x0, 0x1, 0x0, 0x0, 0x3, 0x0, 0x0, 0x1, 0x38,0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x3f,0x4,
+0x0, 0x0, 0x1b,0x1b,0x1b,0x1b,0x1d,0x1d,0x1f,0x1f,0x23,0x23,0x27,0x27,0x38,0x30,
+0x47,0xd0,0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x3e,0x0, 0x5, 0xc, 0x5a,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x67,0x0, 0x1, 0x3, 0x64,0x1, 0x0, 0x3, 0x0, 0x11,0x12,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff,0xff,0x0, 0x0, 0xff,0xff,0xff,0xff,0xff,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x32,0x2, 0xbc,0x3, 0x84,0x5, 0xdc,0x1, 0xca,
+0x1, 0xca,0x0, 0x32,0x3, 0xe8,0xf, 0xa0,0x1, 0x2c,0x0, 0xa0,0x50,0x50,0x14,0x0,
+0x0, 0x5, 0x3, 0x0, 0xd1,0x0, 0xcd,0x0, 0x50,0x0, 0x50,0x6, 0x0, 0x0, 0xc, 0xc,
+0xc, 0xc, 0x0, 0x32,0x0, 0x0, 0x0, 0x64,0x1, 0x5e,0x0, 0x0, 0x0, 0x64,0x0, 0x32,
+0x0, 0x0, 0x0, 0x64,0x1, 0x5e,0x0, 0x0, 0x0, 0x64,0x0, 0x32,0x0, 0x32,0xa, 0xa,
+0xa, 0xa, 0x50,0x50,0x0, 0x0, 0x8, 0x6, 0x0, 0xd0,0x0, 0xcf,0x0, 0x50,0x0, 0x50,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x22,0x23,0x22,0x23,0x22,0x23,0x1, 0x3, 0x2, 0x3, 0x1,
+0x3, 0x1, 0x2, 0x3, 0x2, 0x1, 0x2, 0x0, 0x0, 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x7,
+0x8, 0xa, 0xb, 0xd, 0xf, 0x12,0x15,0x18,0x1e,0x1e,0x1e,0x0, 0x0, 0x0, 0x2, 0x3,
+0x4, 0x6, 0x7, 0x9, 0xa, 0xe, 0x11,0x14,0x15,0x18,0x1b,0x21,0x27,0x29,0x29,0x0,
+0x0, 0x0, 0x0, 0xff,0xfe,0xfd,0xfb,0xfa,0xf8,0xf6,0xf5,0xf3,0xf1,0xef,0xe8,0xdf,
+0xd6,0xd6,0xd6,0x0, 0x0, 0x0, 0xff,0xfe,0xfd,0xfb,0xfa,0xf8,0xf6,0xf4,0xf2,0xf0,
+0xed,0xe9,0xe7,0xe4,0xe1,0xde,0xdb,0x22,0x22,0x22,0x22,0x23,0x23,0x23,0x23,0xff,
+0xff,0xff,0x22,0x22,0x22,0x22,0x23,0x23,0x23,0x23,0xff,0xff,0xff,0x22,0x22,0x22,
+0x22,0x23,0x23,0x23,0x23,0xff,0xff,0xff,0x22,0x22,0x22,0x22,0x23,0x23,0x23,0x23,
+0xff,0xff,0xff,0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
+0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1,
+0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xa4,0x3, 0xe8,0x36,0xb0,0xf, 0xa0,0x3, 0xe8,
+0x1e,0x0, 0xf, 0x4, 0x4, 0xf, 0x4, 0x4, 0xf, 0x4, 0x4, 0x1, 0x1, 0x0, 0x5, 0x5,
+0x6, 0x6, 0x3, 0xe8,0xb, 0xb8,0x7, 0xd0,0x3, 0x20,0xf, 0xa0,0x14,0x10,0xd, 0x4,
+0xa, 0x4, 0xa, 0x4, 0xc, 0x4, 0xf, 0x14,0x14,0x1e,0xf, 0x4, 0x0, 0x0, 0x7, 0xd0,
+0x0, 0x0, 0x27,0x10,0xe, 0x5, 0x0, 0x0, 0x7, 0xd0,0x0, 0x0, 0x27,0x10,0xd, 0x5,
+0x0, 0x0, 0x7, 0x8, 0x0, 0x0, 0x27,0x10,0xe, 0x5, 0x0, 0x50,0x0, 0xf0,0x1, 0x90,
+0x2, 0x30,0x3, 0x84,0xa, 0x5, 0x0, 0x50,0x0, 0x50,0x3, 0xe8,0x3, 0x20,0x0, 0x1e,
+0x0, 0xf, 0x0, 0x14,0x0, 0x78,0x0, 0x6a,0x0, 0x3c,0x3, 0xe8,0x0, 0x78,0x0, 0x3c,
+0x0, 0x3c,0x3, 0xe8,0x0, 0x5, 0x0, 0x5, 0x0, 0x64,0x0, 0xa0,0x0, 0xa0,0x13,0x88,
+0x0, 0xa0,0x1f,0xff,0xf7,0x1d,0x3b,0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x64,0x0, 0xc8,0x1, 0x2c,0x1f,0x40,0x9, 0xa,
+0x7, 0x8, 0xa, 0xc8,0x5, 0x9, 0x1e,0x8, 0x14,0x0, 0xb, 0xb8,0x3, 0xe8,0x5, 0xdc,
+0x3, 0x0, 0xb, 0xb8,0xd, 0x48,0xe, 0xd8,0x3, 0xa, 0xf, 0x14,0x0, 0x6, 0x3c,0x2,
+0x58,0x3, 0xdc,0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x70,0x8f,0x0, 0xff,0x93,0x6c,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43,0x45,0x49,0x5f,0x45,0x53,0x57,0x31,
+0x0, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x30,0x30,0x30,0x30,0x0, 0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
\ No newline at end of file
diff --git a/drivers/input/touchscreen/focaltech_3267/Global.c b/drivers/input/touchscreen/focaltech_3267/Global.c
new file mode 100644
index 0000000..cc2fd06
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3267/Global.c
@@ -0,0 +1,342 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+#include <linux/kernel.h>
+#include <linux/string.h>
+#include <linux/printk.h>
+
+#include <linux/delay.h>//msleep
+
+#include "ini.h"
+#include "Global.h"
+
+#include "test_lib.h"
+
+#define DEVIDE_MODE_ADDR 0x00
+
+struct StruScreenSeting g_ScreenSetParam; //«Ì¹õ³]¸m°Ñ¼Æ
+struct stTestItem g_stTestItem[1][MAX_TEST_ITEM];
+//struct structSCapConf g_stSCapConf;
+int g_TestItemNum = 0;
+char g_strIcName[20] ={0};
+
+int GetPrivateProfileString(char *section, char *ItemName, char *defaultvalue, char *returnValue, char *IniFile){
+ char value[512] = {0};
+ int len = 0;
+
+ if(NULL == returnValue)
+ {
+ printk("[FTS] returnValue==NULL in function %s.", __func__);
+ return 0;
+ }
+
+ if(ini_get_key(IniFile, section, ItemName, value) < 0)
+ {
+ if(NULL != defaultvalue) memcpy(value, defaultvalue, strlen(defaultvalue));
+ sprintf(returnValue, "%s", value);
+ return 0;
+ } else {
+ len = sprintf(returnValue, "%s", value);
+ }
+
+ return len;
+}
+
+void focal_msleep(int ms)
+{
+ msleep(ms);
+}
+void SysDelay(int ms)
+{
+ msleep(ms);
+}
+int focal_abs(int value)
+{
+ if(value < 0)
+ value = 0 - value;
+
+ return value;
+}
+/////////////////////////////////////////////////////////////////////////////
+////Àò¨úIC¹ïÀ³½X
+/////////////////////////////////////////////////////////////////////////////
+unsigned char get_ic_code(char * strIcName)
+{
+
+ if(strncmp(strIcName,"FT5X36",6) == 0) return IC_FT5X36;
+ if(strncmp(strIcName, "FT5X36i",7) == 0) return IC_FT5X36i;
+ if(strncmp(strIcName, "FT3X16",6) == 0) return IC_FT3X16;
+ if(strncmp(strIcName, "FT3X26",6) == 0) return IC_FT3X26;
+
+ if(strncmp(strIcName, "FT5X46",6) == 0) return IC_FT5X46;
+ if(strncmp(strIcName, "FT5X46i",7) == 0) return IC_FT5X46i;
+ if(strncmp(strIcName, "FT5526",6) == 0) return IC_FT5526;
+ if(strncmp(strIcName, "FT3X17",6) == 0) return IC_FT3X17;
+ if(strncmp(strIcName, "FT5436",6) == 0) return IC_FT5436;
+ if(strncmp(strIcName, "FT3X27",6) == 0) return IC_FT3X27;
+ if(strncmp(strIcName, "FT5526i",7) == 0) return IC_FT5526I;
+ if(strncmp(strIcName, "FT5416",6) == 0) return IC_FT5416;
+ if(strncmp(strIcName, "FT5426",6) == 0) return IC_FT5426;
+ if(strncmp(strIcName, "FT5435",6) == 0) return IC_FT5435;
+
+ if(strncmp(strIcName, "FT6X06",6) == 0) return IC_FT6X06;
+ if(strncmp(strIcName, "FT3X06",6) == 0) return IC_FT3X06;
+
+ if(strncmp(strIcName, "FT6X36",6) == 0) return IC_FT6X36;
+ if(strncmp(strIcName, "FT3X07",6) == 0) return IC_FT3X07;
+ if(strncmp(strIcName, "FT6416",6) == 0) return IC_FT6416;
+ if(strncmp(strIcName, "FT6336G/U",9) == 0) return IC_FT6426;
+
+ if(strncmp(strIcName, "FT5X16",6) == 0) return IC_FT5X16;
+ if(strncmp(strIcName, "FT5X12",6) == 0) return IC_FT5X12;
+
+ if(strncmp(strIcName, "FT5506",6) == 0) return IC_FT5506;
+ if(strncmp(strIcName, "FT5606",6) == 0) return IC_FT5606;
+ if(strncmp(strIcName, "FT5816",6) == 0) return IC_FT5816;
+
+ if(strncmp(strIcName, "FT5822",6) == 0) return IC_FT5822;
+ if(strncmp(strIcName, "FT5626",6) == 0) return IC_FT5626;
+ if(strncmp(strIcName, "FT5726",6) == 0) return IC_FT5726;
+ if(strncmp(strIcName, "FT5826B",7) == 0) return IC_FT5826B;
+ if(strncmp(strIcName, "FT5826S",7) == 0) return IC_FT5826S;
+
+ if(strncmp(strIcName, "FT5306",6) == 0) return IC_FT5306;
+ if(strncmp(strIcName, "FT5406",6) == 0) return IC_FT5406;
+
+ if(strncmp(strIcName, "FT8606",6) == 0) return IC_FT8606;
+
+ //if(strIcName == "FT8606")return IC_FT8606;
+ if(strncmp(strIcName,"FT8606",6) == 0) return IC_FT8606;
+
+ return 0xff;
+}
+/////////////////////////////////////////////////////////////////////////////
+////Àò¨úIC¦W
+/////////////////////////////////////////////////////////////////////////////
+void get_ic_name(unsigned char ucIcCode, char * strIcName)
+{
+ if(NULL == strIcName)return;
+
+ sprintf(strIcName, "%s", "NA");/*if can't find IC , set 'NA'*/
+
+ if(ucIcCode == IC_FT5X36)sprintf(strIcName, "%s", "FT5X36");
+ if(ucIcCode == IC_FT5X36i)sprintf(strIcName, "%s", "FT5X36i");
+ if(ucIcCode == IC_FT3X16)sprintf(strIcName, "%s", "FT3X16");
+ if(ucIcCode == IC_FT3X26)sprintf(strIcName, "%s", "FT3X26");
+
+ if(ucIcCode == IC_FT5X46)sprintf(strIcName, "%s", "FT5X22");
+ if(ucIcCode == IC_FT5X46) sprintf(strIcName, "%s", "FT5X46");
+ if(ucIcCode == IC_FT5X46i) sprintf(strIcName, "%s", "FT5X46i");
+ if(ucIcCode == IC_FT5526) sprintf(strIcName, "%s", "FT5526");
+ if(ucIcCode == IC_FT3X17) sprintf(strIcName, "%s", "FT3X17");
+ if(ucIcCode == IC_FT5436) sprintf(strIcName, "%s", "FT5436");
+ if(ucIcCode == IC_FT3X27) sprintf(strIcName, "%s", "FT3X27");
+ if(ucIcCode == IC_FT5526I) sprintf(strIcName, "%s", "FT5526i");
+ if(ucIcCode == IC_FT5416) sprintf(strIcName, "%s", "FT5416");
+ if(ucIcCode == IC_FT5426) sprintf(strIcName, "%s", "FT5426");
+ if(ucIcCode == IC_FT5435) sprintf(strIcName, "%s", "FT5435");
+
+ if(ucIcCode == IC_FT6X06)sprintf(strIcName, "%s", "FT6X06");
+ if(ucIcCode == IC_FT3X06)sprintf(strIcName, "%s", "FT3X06");
+
+ if(ucIcCode == IC_FT6X36)sprintf(strIcName, "%s", "FT6X36");
+ if(ucIcCode == IC_FT3X07)sprintf(strIcName, "%s", "FT3X07");
+ if(ucIcCode == IC_FT6416)sprintf(strIcName, "%s", "FT6416");
+ if(ucIcCode == IC_FT6426)sprintf(strIcName, "%s", "FT6336G/U");
+
+ if(ucIcCode == IC_FT5X16)sprintf(strIcName, "%s", "FT5X16");
+ if(ucIcCode == IC_FT5X12)sprintf(strIcName, "%s", "FT5X12");
+
+ if(ucIcCode == IC_FT5506)sprintf(strIcName, "%s", "FT5506");
+ if(ucIcCode == IC_FT5606)sprintf(strIcName, "%s", "FT5606");
+ if(ucIcCode == IC_FT5816)sprintf(strIcName, "%s", "FT5816");
+
+ if(ucIcCode == IC_FT5822)sprintf(strIcName, "%s", "FT5822");
+ if(ucIcCode == IC_FT5626)sprintf(strIcName, "%s", "FT5626");
+ if(ucIcCode == IC_FT5726)sprintf(strIcName, "%s", "FT5726");
+ if(ucIcCode == IC_FT5826B)sprintf(strIcName, "%s", "FT5826B");
+ if(ucIcCode == IC_FT5826S)sprintf(strIcName, "%s", "FT5826S");
+
+ if(ucIcCode == IC_FT5306)sprintf(strIcName, "%s", "FT5306");
+ if(ucIcCode == IC_FT5406)sprintf(strIcName, "%s", "FT5406");
+
+ if(ucIcCode == IC_FT8606)sprintf(strIcName, "%s", "FT8606");
+ //if(ucIcCode == IC_FT8716)sprintf(strIcName, "%s", "FT8716");
+
+ return ;
+}
+void OnInit_InterfaceCfg(char * strIniFile)
+{
+ char str[128];
+
+ ///////////////////////////IC_Type
+ GetPrivateProfileString("Interface","IC_Type","FT5X36",str,strIniFile);
+ g_ScreenSetParam.iSelectedIC = get_ic_code(str);
+
+ /////////////////////////Normalize Type
+ GetPrivateProfileString("Interface","Normalize_Type",0,str,strIniFile);
+ g_ScreenSetParam.isNormalize = atoi(str);
+
+}
+/************************************************************************
+* Name: ReadReg(Same function name as FT_MultipleTest)
+* Brief: Read Register
+* Input: RegAddr
+* Output: RegData
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+int ReadReg(unsigned char RegAddr, unsigned char *RegData)
+{
+ int iRet;
+
+ if(NULL == fts_i2c_read_test)
+ {
+ printk("[focal] %s fts_i2c_read == NULL \n", __func__);
+ return (ERROR_CODE_INVALID_COMMAND);
+ }
+
+ iRet = fts_i2c_read_test(&RegAddr, 1, RegData, 1);
+
+ if(iRet >= 0)
+ return (ERROR_CODE_OK);
+ else
+ return (ERROR_CODE_COMM_ERROR);
+}
+/************************************************************************
+* Name: WriteReg(Same function name as FT_MultipleTest)
+* Brief: Write Register
+* Input: RegAddr, RegData
+* Output: null
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+int WriteReg(unsigned char RegAddr, unsigned char RegData)
+{
+ int iRet;
+ unsigned char cmd[2] = {0};
+
+ if(NULL == fts_i2c_write_test)
+ {
+ printk("[focal] %s fts_i2c_write == NULL \n", __func__);
+ return (ERROR_CODE_INVALID_COMMAND);
+ }
+
+ cmd[0] = RegAddr;
+ cmd[1] = RegData;
+ iRet = fts_i2c_write_test(cmd, 2);
+
+ if(iRet >= 0)
+ return (ERROR_CODE_OK);
+ else
+ return (ERROR_CODE_COMM_ERROR);
+}
+/************************************************************************
+* Name: Comm_Base_IIC_IO(Same function name as FT_MultipleTest)
+* Brief: Write/Read Data by IIC
+* Input: pWriteBuffer, iBytesToWrite, iBytesToRead
+* Output: pReadBuffer
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+unsigned char Comm_Base_IIC_IO(unsigned char *pWriteBuffer, int iBytesToWrite, unsigned char *pReadBuffer, int iBytesToRead)
+{
+ int iRet;
+
+ if(NULL == fts_i2c_read_test)
+ {
+ printk("[FTS] %s fts_i2c_read == NULL \n", __func__);
+ return (ERROR_CODE_INVALID_COMMAND);
+ }
+
+ iRet = fts_i2c_read_test(pWriteBuffer, iBytesToWrite, pReadBuffer, iBytesToRead);
+
+ if(iRet >= 0)
+ return (ERROR_CODE_OK);
+ else
+ return (ERROR_CODE_COMM_ERROR);
+}
+/************************************************************************
+* Name: EnterWork(Same function name as FT_MultipleTest)
+* Brief: Enter Work Mode
+* Input: null
+* Output: null
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+unsigned char EnterWork(void)
+{
+ unsigned char RunState = 0;
+ unsigned char ReCode = ERROR_CODE_COMM_ERROR;
+
+ ReCode = ReadReg(DEVIDE_MODE_ADDR, &RunState);
+ if(ReCode == ERROR_CODE_OK)
+ {
+ if(((RunState>>4)&0x07) == 0x00) //work
+ {
+ ReCode = ERROR_CODE_OK;
+ }
+ else
+ {
+ ReCode = WriteReg(DEVIDE_MODE_ADDR, 0);
+ if(ReCode == ERROR_CODE_OK)
+ {
+ ReCode = ReadReg(DEVIDE_MODE_ADDR, &RunState);
+ if(ReCode == ERROR_CODE_OK)
+ {
+ if(((RunState>>4)&0x07) == 0x00) ReCode = ERROR_CODE_OK;
+ else ReCode = ERROR_CODE_COMM_ERROR;
+ }
+ }
+ }
+ }
+
+ return ReCode;
+
+}
+/************************************************************************
+* Name: EnterFactory
+* Brief: enter Fcatory Mode
+* Input: null
+* Output: null
+* Return: Comm Code. Code = 0 is OK, else fail.
+***********************************************************************/
+unsigned char EnterFactory(void)
+{
+ unsigned char RunState = 0;
+ unsigned char ReCode = ERROR_CODE_COMM_ERROR;
+
+ ReCode = ReadReg(DEVIDE_MODE_ADDR, &RunState);
+ if(ReCode == ERROR_CODE_OK)
+ {
+ if(((RunState>>4)&0x07) == 0x04) //factory
+ {
+ ReCode = ERROR_CODE_OK;
+ }
+ else
+ {
+ ReCode = WriteReg(DEVIDE_MODE_ADDR, 0x40);
+ if(ReCode == ERROR_CODE_OK)
+ {
+ ReCode = ReadReg(DEVIDE_MODE_ADDR, &RunState);
+ if(ReCode == ERROR_CODE_OK)
+ {
+ if(((RunState>>4)&0x07) == 0x04) ReCode = ERROR_CODE_OK;
+ else ReCode = ERROR_CODE_COMM_ERROR;
+ }
+ }
+ }
+ }
+
+ return ReCode;
+}
+
diff --git a/drivers/input/touchscreen/focaltech_3267/Global.h b/drivers/input/touchscreen/focaltech_3267/Global.h
new file mode 100644
index 0000000..6c7d075
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3267/Global.h
@@ -0,0 +1,152 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+#ifndef _GLOBAL_H
+#define _GLOBAL_H
+
+#include <linux/kernel.h>
+#include "DetailThreshold.h"
+
+/*-----------------------------------------------------------
+Error Code for Comm
+-----------------------------------------------------------*/
+#define ERROR_CODE_OK 0x00
+#define ERROR_CODE_CHECKSUM_ERROR 0x01
+#define ERROR_CODE_INVALID_COMMAND 0x02
+#define ERROR_CODE_INVALID_PARAM 0x03
+#define ERROR_CODE_IIC_WRITE_ERROR 0x04
+#define ERROR_CODE_IIC_READ_ERROR 0x05
+#define ERROR_CODE_WRITE_USB_ERROR 0x06
+#define ERROR_CODE_WAIT_RESPONSE_TIMEOUT 0x07
+#define ERROR_CODE_PACKET_RE_ERROR 0x08
+#define ERROR_CODE_NO_DEVICE 0x09
+#define ERROR_CODE_WAIT_WRITE_TIMEOUT 0x0a
+#define ERROR_CODE_READ_USB_ERROR 0x0b
+#define ERROR_CODE_COMM_ERROR 0x0c
+#define ERROR_CODE_ALLOCATE_BUFFER_ERROR 0x0d
+#define ERROR_CODE_DEVICE_OPENED 0x0e
+#define ERROR_CODE_DEVICE_CLOSED 0x0f
+
+/*-----------------------------------------------------------
+Test Status
+-----------------------------------------------------------*/
+#define RESULT_NULL 0
+#define RESULT_PASS 1
+#define RESULT_NG 2
+#define RESULT_TESTING 3
+#define RESULT_TBD 4
+#define RESULT_REPLACE 5
+#define RESULT_CONNECTING 6
+
+enum IC_Type
+{
+ IC_FT5X36 = 0x10,
+ IC_FT5X36i = 0x11,
+ IC_FT3X16 = 0x12,
+ IC_FT3X26 = 0x13,
+ IC_FT5X46 = 0x21,
+ IC_FT5X46i= 0x22,
+ IC_FT5526 = 0x23,
+ IC_FT3X17 = 0x24,
+ IC_FT5436 = 0x25,
+ IC_FT3X27 = 0x26,
+ IC_FT5526I = 0x27,
+ IC_FT5416 = 0x28,
+ IC_FT5426 = 0x29,
+ IC_FT5435 = 0x2A,
+ IC_FT6X06 = 0x30,
+ IC_FT3X06 = 0x31,
+ IC_FT6X36 = 0x40,
+ IC_FT3X07 = 0x41,
+ IC_FT6416 = 0x42,
+ IC_FT6426 = 0x43,
+ IC_FT5X16 = 0x50,
+ IC_FT5X12 = 0x51,
+ IC_FT5506 = 0x60,
+ IC_FT5606 = 0x61,
+ IC_FT5816 = 0x62,
+ IC_FT5822 = 0x70,
+ IC_FT5626 = 0x71,
+ IC_FT5726 = 0x72,
+ IC_FT5826B = 0x73,
+ IC_FT5826S = 0x74,
+ IC_FT5306 = 0x80,
+ IC_FT5406 = 0x81,
+ IC_FT8606 = 0x90,
+};
+#define MAX_IC_TYPE 32
+
+struct StruScreenSeting
+{
+ int iSelectedIC;
+ int iTxNum;
+ int iRxNum;
+ int isNormalize;
+ int iUsedMaxTxNum;//iTxNum <= iUsedMaxTxNum
+ int iUsedMaxRxNum;//iRxNum <= iUsedMaxRxNum
+
+ unsigned char iChannelsNum;//add for ft6x36
+ unsigned char iKeyNum;
+
+};
+
+struct stTestItem
+{
+ unsigned char ItemType;
+ unsigned char TestNum;
+ unsigned char TestResult;
+ unsigned char ItemCode;
+};
+
+enum NORMALIZE_Type
+{
+ Overall_Normalize = 0,
+ Auto_Normalize = 1,
+};
+
+enum PROOF_TYPE
+{
+ Proof_Normal,
+ Proof_Level0,
+ Proof_NoWaterProof,
+};
+
+extern struct stCfg_MCap_DetailThreshold g_stCfg_MCap_DetailThreshold;
+extern struct stCfg_SCap_DetailThreshold g_stCfg_SCap_DetailThreshold;
+
+extern struct StruScreenSeting g_ScreenSetParam;
+extern struct stTestItem g_stTestItem[1][MAX_TEST_ITEM];
+
+extern int g_TestItemNum;/*test item num*/
+extern char g_strIcName[20];/*IC Name*/
+
+int GetPrivateProfileString(char *section, char *ItemName, char *defaultvalue, char *returnValue, char *IniFile);
+void focal_msleep(int ms);
+void SysDelay(int ms);
+int focal_abs(int value);
+unsigned char get_ic_code(char * strIcName);
+void get_ic_name(unsigned char ucIcCode, char * strIcName);
+
+void OnInit_InterfaceCfg(char * strIniFile);
+
+int ReadReg(unsigned char RegAddr, unsigned char *RegData);
+int WriteReg(unsigned char RegAddr, unsigned char RegData);
+unsigned char Comm_Base_IIC_IO(unsigned char *pWriteBuffer, int iBytesToWrite, unsigned char *pReadBuffer, int iBytesToRead);
+
+unsigned char EnterWork(void);
+unsigned char EnterFactory(void);
+
+#endif
diff --git a/drivers/input/touchscreen/focaltech_3267/Makefile b/drivers/input/touchscreen/focaltech_3267/Makefile
new file mode 100644
index 0000000..11758d8
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3267/Makefile
@@ -0,0 +1,17 @@
+#
+# Makefile for the focaltech FT3267 touchscreen drivers.
+#
+
+
+obj-$(CONFIG_TOUCHSCREEN_FT3267) += ft_3267.o
+ft_3267-$(CONFIG_TOUCHSCREEN_FT3267) += focaltech_core.o
+ft_3267-$(CONFIG_TOUCHSCREEN_FT3267) += focaltech_ctl.o
+ft_3267-$(CONFIG_TOUCHSCREEN_FT3267) += focaltech_ex_fun.o
+ft_3267-$(CONFIG_TOUCHSCREEN_FT3267) += focaltech_flash.o
+ft_3267-$(CONFIG_TOUCHSCREEN_FT3267) += test_lib.o
+ft_3267-$(CONFIG_TOUCHSCREEN_FT3267) += ini.o
+ft_3267-$(CONFIG_TOUCHSCREEN_FT3267) += Global.o
+ft_3267-$(CONFIG_TOUCHSCREEN_FT3267) += Config_FT6X36.o
+ft_3267-$(CONFIG_TOUCHSCREEN_FT3267) += Test_FT6X36.o
+ft_3267-$(CONFIG_TOUCHSCREEN_FT3267) += DetailThreshold.o
+ft_3267-$(CONFIG_TOUCHSCREEN_FT3267) += focaltech_gesture.o
diff --git a/drivers/input/touchscreen/focaltech_3267/Test_FT6X36.c b/drivers/input/touchscreen/focaltech_3267/Test_FT6X36.c
new file mode 100644
index 0000000..f472f01
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3267/Test_FT6X36.c
@@ -0,0 +1,2302 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+
+/*******************************************************************************
+* Included header files
+*******************************************************************************/
+#include <linux/kernel.h>
+#include <linux/string.h>
+#include <linux/slab.h>
+
+#include "Global.h"
+#include "DetailThreshold.h"
+#include "Test_FT6X36.h"
+#include "Config_FT6X36.h"
+
+
+/*******************************************************************************
+* Private constant and macro definitions using #define
+*******************************************************************************/
+#define IC_TEST_VERSION "Test version: V1.0.0--2015-10-08, (sync version of FT_MultipleTest: V2.7.0.3--2015-07-13)"
+
+/////////////////////////////////////////////////Reg
+#define DEVIDE_MODE_ADDR 0x00
+#define REG_LINE_NUM 0x01
+#define REG_TX_NUM 0x02
+#define REG_RX_NUM 0x03
+#define REG_PATTERN_5422 0x53
+#define REG_MAPPING_SWITCH 0x54
+#define REG_TX_NOMAPPING_NUM 0x55
+#define REG_RX_NOMAPPING_NUM 0x56
+#define REG_NORMALIZE_TYPE 0x16
+#define REG_ScCbBuf0 0x4E
+#define REG_ScWorkMode 0x44
+#define REG_ScCbAddrR 0x45
+#define REG_RawBuf0 0x36
+#define REG_WATER_CHANNEL_SELECT 0x09
+
+#define C6208_SCAN_ADDR 0x08
+
+#define C6X36_CHANNEL_NUM 0x0A//1 Byte (RW) TP_Channel_Num VA Channel Max num
+#define C6X36_KEY_NUM 0x0B//1 Byte (RW) TP_Key_Num VA Key Channel Max num, 63
+
+#define C6X36_CB_ADDR_W 0x32/*0x32*/ //1 Byte (RW) CB_addr normal mode address
+#define C6X36_CB_ADDR_R 0x33/*0x32*/ //1 Byte (RW) CB_addr normal mode address
+#define C6X36_CB_BUF 0x39/*0x33*/ //1 Byte (RO) CB_buf
+#define C6X36_RAWDATA_ADDR 0x34/*0x34*/ //1 Byte (RW) RawData_addr
+#define C6X36_RAWDATA_BUF 0x35
+
+#define C6206_FACTORY_TEST_MODE 0xAE
+#define C6206_FACTORY_TEST_STATUS 0xAD
+
+#define MAX_SCAP_CHANNEL_NUM 144//Single Chip 72; Double Chips 144
+#define MAX_SCAP_KEY_NUM 8
+
+/*******************************************************************************
+* Private enumerations, structures and unions using typedef
+*******************************************************************************/
+enum WaterproofType
+{
+ WT_NeedProofOnTest,
+ WT_NeedProofOffTest,
+ WT_NeedTxOnVal,
+ WT_NeedRxOnVal,
+ WT_NeedTxOffVal,
+ WT_NeedRxOffVal,
+};
+
+//dean add self test item
+enum{
+ENTER_FACTORY_MODE_TEST = 0,
+RAWDATA_TEST,
+CB_TEST,
+DIFF_CB_TEST
+};
+
+/*******************************************************************************
+* Static variables
+*******************************************************************************/
+
+static int m_RawData[MAX_SCAP_CHANNEL_NUM] = {0};
+//static int m_iTempRawData[MAX_SCAP_CHANNEL_NUM] = {0};
+static unsigned char m_ucTempData[MAX_SCAP_CHANNEL_NUM*2] = {0};
+
+static int m_CbData[MAX_SCAP_CHANNEL_NUM] = {0};
+static int m_TempCbData[MAX_SCAP_CHANNEL_NUM] = {0};
+static int m_DeltaCbData[MAX_SCAP_CHANNEL_NUM] = {0};
+static int m_DeltaCb_DifferData[MAX_SCAP_CHANNEL_NUM] = {0};
+//static bool m_bV3TP = false;
+
+//---------------------About Store Test Dat
+//static char g_pStoreAllData[1024*80] = {0};
+static char *g_pStoreAllData = NULL;
+static char *g_pTmpBuff = NULL;
+static char *g_pStoreMsgArea = NULL;
+static int g_lenStoreMsgArea = 0;
+static char *g_pMsgAreaLine2 = NULL;
+static int g_lenMsgAreaLine2 = 0;
+static char *g_pStoreDataArea = NULL;
+static int g_lenStoreDataArea = 0;
+static unsigned char m_ucTestItemCode = 0;
+static int m_iStartLine = 0;
+static int m_iTestDataCount = 0;
+
+//dean add, for selftest log
+static char *g_pMsgforSelfTest = NULL;
+static int g_lenMsgforSelfTest = 0;
+
+/*******************************************************************************
+* Global variable or extern global variabls/functions
+*******************************************************************************/
+
+
+/*******************************************************************************
+* Static function prototypes
+*******************************************************************************/
+//////////////////////////////////////////////Communication function
+static int StartScan(void);
+static unsigned char ReadRawData(unsigned char Freq, unsigned char LineNum, int ByteNum, int *pRevBuffer);
+static unsigned char GetPanelChannels(unsigned char *pPanelRows);
+static unsigned char GetPanelKeys(unsigned char *pPanelCols);
+//////////////////////////////////////////////Common function
+static unsigned char GetRawData(void);
+static unsigned char GetChannelNum(void);
+//////////////////////////////////////////////about Test
+static void InitTest(void);
+static void FinishTest(void);
+static void Save_Test_Data(int iData[MAX_SCAP_CHANNEL_NUM], int iArrayIndex, unsigned char Row, unsigned char Col, unsigned char ItemCount);
+static void InitStoreParamOfTestData(void);
+static void MergeAllTestData(void);
+//////////////////////////////////////////////Others
+static void AllocateMemory(void);
+static void FreeMemory(void);
+static void ShowRawData(void);
+
+/************************************************************************
+* Name: FT6X36_StartTest
+* Brief: Test entry. Determine which test item to test
+* Input: none
+* Output: none
+* Return: Test Result, PASS or FAIL
+***********************************************************************/
+boolean FT6X36_StartTest()
+{
+ bool bTestResult = true;
+ bool bTempResult = 1;
+ unsigned char ReCode=0;
+ unsigned char ucDevice = 0;
+ int iItemCount=0;
+ u8 tmp_cb_deviation = 0;
+
+ //--------------1. Init part
+ InitTest();
+
+ //--------------2. test item
+ if (0 == g_TestItemNum)
+ bTestResult = false;
+
+ for (iItemCount = 0; iItemCount < g_TestItemNum; iItemCount++) {
+ m_ucTestItemCode = g_stTestItem[ucDevice][iItemCount].ItemCode;
+
+ ///////////////////////////////////////////////////////FT6X36_ENTER_FACTORY_MODE
+ if (Code_FT6X36_ENTER_FACTORY_MODE == g_stTestItem[ucDevice][iItemCount].ItemCode) {
+ ReCode = FT6X36_TestItem_EnterFactoryMode();
+ if (ERROR_CODE_OK != ReCode || (!bTempResult)) {
+ bTestResult = false;
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_NG;
+ break;//if this item FAIL, no longer test.
+ }
+ else
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_PASS;
+ }
+ ///////////////////////////////////////////////////////FT6X36_RAWDATA_TEST
+ if (Code_FT6X36_RAWDATA_TEST == g_stTestItem[ucDevice][iItemCount].ItemCode) {
+ ReCode = FT6X36_TestItem_RawDataTest(&bTempResult);
+ if (ERROR_CODE_OK != ReCode || (!bTempResult)) {
+ bTestResult = false;
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_NG;
+ }
+ else
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_PASS;
+ }
+
+
+ ///////////////////////////////////////////////////////FT6X36_CB_TEST
+ if (Code_FT6X36_CB_TEST == g_stTestItem[ucDevice][iItemCount].ItemCode) {
+ ReCode = FT6X36_TestItem_CbTest(&bTempResult);
+ if (ERROR_CODE_OK != ReCode || (!bTempResult)) {
+ bTestResult = false;
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_NG;
+ }
+ else
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_PASS;
+ }
+
+ ///////////////////////////////////////////////////////Code_FT6X36_DELTA_CB_TEST
+ if (Code_FT6X36_DELTA_CB_TEST == g_stTestItem[ucDevice][iItemCount].ItemCode) {
+ ReCode = FT6X36_TestItem_DeltaCbTest(&bTempResult, &tmp_cb_deviation);
+ if (ERROR_CODE_OK != ReCode || (!bTempResult)) {
+ bTestResult = false;
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_NG;
+ }
+ else
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_PASS;
+ }
+
+ ///////////////////////////////////////////////////////Code_FT6X36_CHANNELS_DEVIATION_TEST
+ if (Code_FT6X36_CHANNELS_DEVIATION_TEST == g_stTestItem[ucDevice][iItemCount].ItemCode) {
+ ReCode = FT6X36_TestItem_ChannelsDeviationTest(&bTempResult);
+ if (ERROR_CODE_OK != ReCode || (!bTempResult)) {
+ bTestResult = false;
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_NG;
+ }
+ else
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_PASS;
+ }
+
+ ///////////////////////////////////////////////////////Code_FT6X36_TWO_SIDES_DEVIATION_TEST
+ if (Code_FT6X36_TWO_SIDES_DEVIATION_TEST == g_stTestItem[ucDevice][iItemCount].ItemCode) {
+ ReCode = FT6X36_TestItem_TwoSidesDeviationTest(&bTempResult);
+ if (ERROR_CODE_OK != ReCode || (!bTempResult)) {
+ bTestResult = false;
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_NG;
+ }
+ else
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_PASS;
+ }
+ }
+
+ //--------------3. End Part
+ FinishTest();
+
+ //--------------4. return result
+ return bTestResult;
+}
+
+//dean add
+boolean FT3207_StartTest(bool* item_result, u8 *cb_deviation)
+{
+ bool bTestResult = true;
+ bool bTempResult = 1;
+ unsigned char ReCode=0;
+ unsigned char ucDevice = 0;
+ int iItemCount=0;
+ u8 tmp_cb_deviation = 0;
+
+ //--------------1. Init part
+ InitTest();
+
+ //--------------2. test item
+ if (0 == g_TestItemNum)
+ bTestResult = false;
+
+ for (iItemCount = 0; iItemCount < g_TestItemNum; iItemCount++) {
+ m_ucTestItemCode = g_stTestItem[ucDevice][iItemCount].ItemCode;
+
+ ///////////////////////////////////////////////////////FT6X36_ENTER_FACTORY_MODE
+ if (Code_FT6X36_ENTER_FACTORY_MODE == g_stTestItem[ucDevice][iItemCount].ItemCode) {
+ ReCode = FT6X36_TestItem_EnterFactoryMode();
+ if (ERROR_CODE_OK != ReCode || (!bTempResult)) {
+ bTestResult = false;
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_NG;
+ item_result[ENTER_FACTORY_MODE_TEST] = false;
+ break;//if this item FAIL, no longer test.
+ }
+ else {
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_PASS;
+ item_result[ENTER_FACTORY_MODE_TEST] = true;
+ }
+ }
+
+ ///////////////////////////////////////////////////////FT6X36_RAWDATA_TEST
+ if (Code_FT6X36_RAWDATA_TEST == g_stTestItem[ucDevice][iItemCount].ItemCode) {
+ ReCode = FT6X36_TestItem_RawDataTest(&bTempResult);
+ if (ERROR_CODE_OK != ReCode || (!bTempResult)) {
+ bTestResult = false;
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_NG;
+ item_result[RAWDATA_TEST] = false;
+ }
+ else {
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_PASS;
+ item_result[RAWDATA_TEST] = true;
+ }
+ }
+
+ ///////////////////////////////////////////////////////FT6X36_CB_TEST
+ if (Code_FT6X36_CB_TEST == g_stTestItem[ucDevice][iItemCount].ItemCode) {
+ ReCode = FT6X36_TestItem_CbTest(&bTempResult);
+ if (ERROR_CODE_OK != ReCode || (!bTempResult)) {
+ bTestResult = false;
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_NG;
+ item_result[CB_TEST] = false;
+ }
+ else {
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_PASS;
+ item_result[CB_TEST] = true;
+ }
+ }
+
+ ///////////////////////////////////////////////////////Code_FT6X36_DELTA_CB_TEST
+ if (Code_FT6X36_DELTA_CB_TEST == g_stTestItem[ucDevice][iItemCount].ItemCode) {
+ ReCode = FT6X36_TestItem_DeltaCbTest(&bTempResult, &tmp_cb_deviation);
+ if (ERROR_CODE_OK != ReCode || (!bTempResult)) {
+ bTestResult = false;
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_NG;
+ item_result[DIFF_CB_TEST] = false;
+ }
+ else {
+ g_stTestItem[ucDevice][iItemCount].TestResult = RESULT_PASS;
+ item_result[DIFF_CB_TEST] = true;
+ }
+ *cb_deviation = tmp_cb_deviation;
+ }
+}
+
+ //--------------3. End Part
+ FinishTest();
+ //--------------4. return result
+ return bTestResult;
+}
+
+void FTSPrintMsg(const char *fmt, ...)
+{
+ char printf_buf[512];
+ va_list args;
+ u8 buf_len = 0;
+
+ va_start(args, fmt);
+ buf_len = vsprintf(printf_buf, fmt, args);
+ va_end(args);
+
+ printk("[fts]%s", printf_buf);
+
+ if ((g_lenMsgforSelfTest + buf_len) >=PROCESS_LOG_SIZE) {
+ printk("[fts]memory over\n");
+ } else {
+ sprintf(g_pMsgforSelfTest + g_lenMsgforSelfTest, "%s", printf_buf);
+ g_lenMsgforSelfTest += buf_len;
+ }
+}
+
+/************************************************************************
+* Name: InitTest
+* Brief: Init all param before test
+* Input: none
+* Output: none
+* Return: none
+***********************************************************************/
+static void InitTest(void)
+{
+ AllocateMemory();//Allocate pointer Memory
+ InitStoreParamOfTestData();
+ printk("[fts] %s \n", IC_TEST_VERSION); //show lib version
+}
+/************************************************************************
+* Name: FinishTest
+* Brief: Init all param before test
+* Input: none
+* Output: none
+* Return: none
+***********************************************************************/
+static void FinishTest(void)
+{
+ MergeAllTestData();//Merge Test Result
+ FreeMemory();//Release pointer memory
+}
+/************************************************************************
+* Name: FT6X36_get_test_data
+* Brief: get data of test result
+* Input: none
+* Output: pTestData, the returned buff
+* Return: the length of test data. if length > 0, got data;else ERR.
+***********************************************************************/
+int FT6X36_get_test_data(char *pTestData)
+{
+ if (NULL == pTestData) {
+ printk("[fts] %s pTestData == NULL \n", __func__);
+ return -1;
+ }
+ printk("[fts] %s , g_lenStoreMsgArea+g_lenStoreDataArea = %d \n", __func__, g_lenStoreMsgArea+g_lenStoreDataArea + g_lenMsgforSelfTest);
+
+ memcpy(pTestData, g_pStoreAllData, (g_lenStoreMsgArea+g_lenStoreDataArea+g_lenMsgforSelfTest));
+ return (g_lenStoreMsgArea+g_lenStoreDataArea+g_lenMsgforSelfTest);
+}
+
+int FT3207_get_test_data(char **pTestData)
+{
+ *pTestData = g_pStoreAllData;
+ return (g_lenStoreMsgArea+g_lenStoreDataArea+g_lenMsgforSelfTest);
+}
+
+
+/************************************************************************
+* Name: FT6X36_TestItem_EnterFactoryMode
+* Brief: Check whether TP can enter Factory Mode, and do some thing
+* Input: none
+* Output: none
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+unsigned char FT6X36_TestItem_EnterFactoryMode(void)
+{
+ unsigned char ReCode = ERROR_CODE_INVALID_PARAM;
+ int iRedo = 5; //retry 5
+ int i ;
+
+ SysDelay(150);
+ for (i = 1; i <= iRedo; i++) {
+ ReCode = EnterFactory();
+ if (ERROR_CODE_OK != ReCode) {
+ printk("[fts]Failed to Enter factory mode...\n");
+ if (i < iRedo) {
+ SysDelay(50);
+ continue;
+ }
+ }
+ else {
+ break;
+ }
+
+ }
+ SysDelay(300);
+
+ if (ReCode != ERROR_CODE_OK) {
+ return ReCode;
+ }
+
+ ReCode = GetChannelNum();
+
+ return ReCode;
+}
+
+/************************************************************************
+* Name: GetPanelChannels(Same function name as FT_MultipleTest GetChannelNum)
+* Brief: Get row of TP
+* Input: none
+* Output: pPanelChannels
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+static unsigned char GetPanelChannels(unsigned char *pPanelChannels)
+{
+ return ReadReg(C6X36_CHANNEL_NUM, pPanelChannels);
+}
+
+/************************************************************************
+* Name: GetPanelKeys(Same function name as FT_MultipleTest GetKeyNum)
+* Brief: get column of TP
+* Input: none
+* Output: pPanelKeys
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+static unsigned char GetPanelKeys(unsigned char *pPanelKeys)
+{
+ return ReadReg(C6X36_KEY_NUM, pPanelKeys);
+}
+/************************************************************************
+* Name: StartScan(Same function name as FT_MultipleTest)
+* Brief: Scan TP, do it before read Raw Data
+* Input: none
+* Output: none
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+static int StartScan(void)
+{
+ unsigned char RegVal = 0x01;
+ unsigned int times = 0;
+ const unsigned int MaxTimes = 500/*20*/; //wait 160ms
+ unsigned char ReCode = ERROR_CODE_COMM_ERROR;
+
+ ReCode = ReadReg(C6208_SCAN_ADDR, &RegVal);
+
+ if (ReCode == ERROR_CODE_OK) {
+ RegVal = 0x01;
+ ReCode = WriteReg(C6208_SCAN_ADDR, RegVal);
+ if (ReCode == ERROR_CODE_OK) {
+ while(times++ < MaxTimes) {
+ SysDelay(8); //8ms
+ ReCode = ReadReg(C6208_SCAN_ADDR, &RegVal);
+ if (ReCode == ERROR_CODE_OK) {
+ if (RegVal == 0) {
+ //ReCode == WriteReg(0x01, 0x00);
+ break;
+ }
+ }
+ else {
+ break;
+ }
+ }
+ if (times < MaxTimes) ReCode = ERROR_CODE_OK;
+ else ReCode = ERROR_CODE_COMM_ERROR;
+ }
+ }
+
+ return ReCode;
+
+}
+/************************************************************************
+* Name: ReadRawData(Same function name as FT_MultipleTest)
+* Brief: read Raw Data
+* Input: Freq(No longer used, reserved), LineNum, ByteNum
+* Output: pRevBuffer
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+unsigned char ReadRawData(unsigned char Freq, unsigned char LineNum, int ByteNum, int *pRevBuffer)
+{
+ unsigned char ReCode=ERROR_CODE_COMM_ERROR;
+ unsigned char I2C_wBuffer[3];
+ unsigned short BytesNumInTestMode1=0;
+
+ int i=0;
+
+ BytesNumInTestMode1 = ByteNum;
+
+ ReCode = WriteReg( C6X36_RAWDATA_ADDR, 0 );
+ if ((ReCode == ERROR_CODE_OK)) {
+ if (ReCode == ERROR_CODE_OK) {
+ I2C_wBuffer[0] = C6X36_RAWDATA_BUF; //rawdata buffer addr register;
+
+ ReCode = Comm_Base_IIC_IO(I2C_wBuffer, 1, m_ucTempData, BytesNumInTestMode1);
+
+ }
+ }
+
+
+ if (ReCode == ERROR_CODE_OK) {
+ for (i=0; i<(ByteNum>>1); i++) {
+ pRevBuffer[i] = (m_ucTempData[i<<1]<<8)+m_ucTempData[(i<<1)+1];
+ }
+ }
+
+ return ReCode;
+
+}
+
+//////////////////////////////////////////////
+/************************************************************************
+* Name: AllocateMemory
+* Brief: Allocate pointer Memory
+* Input: none
+* Output: none
+* Return: none
+***********************************************************************/
+static void AllocateMemory(void)
+{
+ //New buff
+ g_pStoreMsgArea =NULL;
+ if (NULL == g_pStoreMsgArea)
+ g_pStoreMsgArea = kmalloc(1024*1, GFP_ATOMIC); //default 80KB
+ printk("[fts]g_pStoreMsgArea : %d\n", sizeof(g_pStoreMsgArea));
+
+ g_pMsgAreaLine2 =NULL;
+ if (NULL == g_pMsgAreaLine2)
+ g_pMsgAreaLine2 = kmalloc(1024*1, GFP_ATOMIC);
+ printk("[fts]g_pMsgAreaLine2 : %d\n", sizeof(g_pMsgAreaLine2));
+
+ g_pStoreDataArea =NULL;
+ if (NULL == g_pStoreDataArea)
+ g_pStoreDataArea = kmalloc(DATA_SIZE, GFP_ATOMIC);
+ printk("[fts]g_pStoreDataArea : %d\n", sizeof(g_pStoreDataArea));
+
+ g_pStoreAllData =NULL;
+ if (NULL == g_pStoreAllData)
+ g_pStoreAllData = kmalloc(ALLMSG_SIZE, GFP_ATOMIC);
+ g_pTmpBuff =NULL;
+ if (NULL == g_pTmpBuff)
+ g_pTmpBuff = kmalloc(1024*1, GFP_ATOMIC);
+ printk("[fts]g_pTmpBuff : %d\n", sizeof(g_pTmpBuff));
+
+ //dean add, for selftest log
+ g_pMsgforSelfTest =NULL;
+ g_pMsgforSelfTest = kmalloc(PROCESS_LOG_SIZE, GFP_ATOMIC);
+
+}
+/************************************************************************
+* Name: FreeMemory
+* Brief: Release pointer memory
+* Input: none
+* Output: none
+* Return: none
+***********************************************************************/
+static void FreeMemory(void)
+{
+ //Release buff
+ if (NULL == g_pStoreMsgArea)
+ kfree(g_pStoreMsgArea);
+
+ if (NULL == g_pMsgAreaLine2)
+ kfree(g_pMsgAreaLine2);
+
+ if (NULL == g_pStoreDataArea)
+ kfree(g_pStoreDataArea);
+
+ if (NULL == g_pStoreAllData)
+ kfree(g_pStoreAllData);
+
+ if (NULL == g_pTmpBuff)
+ kfree(g_pTmpBuff);
+
+//dean add, for selftest log
+ if (NULL == g_pMsgforSelfTest)
+ kfree(g_pMsgforSelfTest);
+}
+
+/************************************************************************
+* Name: InitStoreParamOfTestData
+* Brief: Init store param of test data
+* Input: none
+* Output: none
+* Return: none
+***********************************************************************/
+static void InitStoreParamOfTestData(void)
+{
+ g_lenStoreMsgArea = 0;
+ //Msg Area, Add Line1
+ g_lenStoreMsgArea += sprintf(g_pStoreMsgArea,"ECC, 85, 170, IC Name, %s, IC Code, %x\n", g_strIcName, g_ScreenSetParam.iSelectedIC);
+ //Line2
+ //g_pMsgAreaLine2 = NULL;
+ g_lenMsgAreaLine2 = 0;
+
+ //Data Area
+ //g_pStoreDataArea = NULL;
+ g_lenStoreDataArea = 0;
+ m_iStartLine = 11;//The Start Line of Data Area is 11
+
+ m_iTestDataCount = 0;
+
+//dean add, for selftest log
+ g_lenMsgforSelfTest = 0;
+}
+/************************************************************************
+* Name: MergeAllTestData
+* Brief: Merge All Data of test result
+* Input: none
+* Output: none
+* Return: none
+***********************************************************************/
+static void MergeAllTestData(void)
+{
+ int iLen = 0;
+
+ //Add the head part of Line2
+ iLen= sprintf(g_pTmpBuff,"TestItem, %d, ", m_iTestDataCount);
+ memcpy(g_pStoreMsgArea+g_lenStoreMsgArea, g_pTmpBuff, iLen);
+ g_lenStoreMsgArea+=iLen;
+
+ //Add other part of Line2, except for "\n"
+ memcpy(g_pStoreMsgArea+g_lenStoreMsgArea, g_pMsgAreaLine2, g_lenMsgAreaLine2);
+ g_lenStoreMsgArea+=g_lenMsgAreaLine2;
+
+ //Add Line3 ~ Line10
+ iLen= sprintf(g_pTmpBuff,"\n\n\n\n\n\n\n\n\n");
+ memcpy(g_pStoreMsgArea+g_lenStoreMsgArea, g_pTmpBuff, iLen);
+ g_lenStoreMsgArea+=iLen;
+
+ ///1.Add Msg Area
+ memcpy(g_pStoreAllData, g_pStoreMsgArea, g_lenStoreMsgArea);
+
+ ///2.Add Data Area
+ if (0!= g_lenStoreDataArea) {
+ memcpy(g_pStoreAllData+g_lenStoreMsgArea, g_pStoreDataArea, g_lenStoreDataArea);
+ }
+
+//dean add, for selftest log
+ memcpy(g_pStoreAllData+g_lenStoreMsgArea+g_lenStoreDataArea, g_pMsgforSelfTest, g_lenMsgforSelfTest);
+}
+
+
+/************************************************************************
+* Name: Save_Test_Data
+* Brief: Storage format of test data
+* Input: int iData[TX_NUM_MAX][RX_NUM_MAX], int iArrayIndex, unsigned char Row, unsigned char Col, unsigned char ItemCount
+* Output: none
+* Return: none
+***********************************************************************/
+static void Save_Test_Data(int iData[MAX_SCAP_CHANNEL_NUM], int iArrayIndex, unsigned char Row, unsigned char Col, unsigned char ItemCount)
+{
+ int iLen = 0;
+ int i = 0, j = 0;
+
+ //Save Msg (ItemCode is enough, ItemName is not necessary, so set it to "NA".)
+ iLen= sprintf(g_pTmpBuff,"NA, %d, %d, %d, %d, %d, ", \
+ m_ucTestItemCode, Row, Col, m_iStartLine, ItemCount);
+ memcpy(g_pMsgAreaLine2+g_lenMsgAreaLine2, g_pTmpBuff, iLen);
+ g_lenMsgAreaLine2 += iLen;
+
+ m_iStartLine += Row;
+ m_iTestDataCount++;
+
+ //Save Data
+ for (i = 0+iArrayIndex; i < Row+iArrayIndex; i++) {
+ for (j = 0; j < Col; j++) {
+ if (j == (Col -1))//The Last Data of the Row, add "\n"
+ iLen= sprintf(g_pTmpBuff,"%d, \n", iData[j]);
+ else
+ iLen= sprintf(g_pTmpBuff,"%d, ", iData[j]);
+
+ memcpy(g_pStoreDataArea+g_lenStoreDataArea, g_pTmpBuff, iLen);
+ g_lenStoreDataArea += iLen;
+ }
+ }
+
+}
+
+/************************************************************************
+* Name: GetChannelNum
+* Brief: Get Channel Num(Tx and Rx)
+* Input: none
+* Output: none
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+static unsigned char GetChannelNum(void)
+{
+ unsigned char ReCode;
+ unsigned char rBuffer[1]; //= new unsigned char;
+
+ //m_strCurrentTestMsg = "Get Tx Num...";
+ ReCode = GetPanelChannels(rBuffer);
+ if (ReCode == ERROR_CODE_OK) {
+ g_ScreenSetParam.iChannelsNum = rBuffer[0];
+ }
+ else {
+ printk("[fts]Failed to get channel number\n");
+ }
+
+ ///////////////m_strCurrentTestMsg = "Get Rx Num...";
+
+ ReCode = GetPanelKeys(rBuffer);
+ if (ReCode == ERROR_CODE_OK) {
+ g_ScreenSetParam.iKeyNum= rBuffer[0];
+ }
+ else {
+ printk("[fts]Failed to get Rx number\n");
+ }
+
+ return ReCode;
+
+}
+
+/************************************************************************
+* Name: GetRawData
+* Brief: get panel rawdata by read rawdata function
+* Input: none
+* Output: none
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+unsigned char GetRawData(void)
+{
+ //int LineNum=0;
+ //int i=0;
+ int readlen = 0;
+ unsigned char ReCode = ERROR_CODE_OK;
+
+ //--------------------------------------------Enter Factory Mode
+ ReCode = EnterFactory();
+ if ( ERROR_CODE_OK != ReCode ) {
+ printk("[fts]Failed to Enter Factory Mode...\n");
+ return ReCode;
+ }
+
+ //--------------------------------------------Check Num of Channel
+ if (0 == (g_ScreenSetParam.iChannelsNum + g_ScreenSetParam.iKeyNum)) {
+ ReCode = GetChannelNum();
+ if ( ERROR_CODE_OK != ReCode ) {
+ printk("[fts]Error Channel Num...\n");
+ return ERROR_CODE_INVALID_PARAM;
+ }
+ }
+
+ //--------------------------------------------Start Scanning
+ printk("[fts]Start Scan ...\n");
+ ReCode = StartScan();
+ if (ERROR_CODE_OK != ReCode) {
+ printk("[fts]Failed to Scan ...\n");
+ return ReCode;
+ }
+
+ memset(m_RawData, 0, sizeof(m_RawData));
+
+ //--------------------------------------------Read RawData
+ readlen = g_ScreenSetParam.iChannelsNum + g_ScreenSetParam.iKeyNum;
+ if (readlen <= 0 || readlen >= MAX_SCAP_CHANNEL_NUM) return ERROR_CODE_INVALID_PARAM;
+
+
+ ReCode =ReadRawData(3, 0, readlen * 2, m_RawData);
+ if (ReCode != ERROR_CODE_OK) {
+ printk("[fts]Failed to Read RawData...\n");
+ return ReCode;
+ }
+
+ return ReCode;
+
+}
+
+/************************************************************************
+* Name: ShowRawData
+* Brief: Show RawData
+* Input: none
+* Output: none
+* Return: none.
+***********************************************************************/
+static void ShowRawData(void)
+{
+ int iChannelsNum=0, iKeyNum=0;
+
+ //----------------------------------------------------------Show RawData
+ printk("[fts]Channels: ");
+ for (iChannelsNum = 0; iChannelsNum < g_ScreenSetParam.iChannelsNum; iChannelsNum++) {
+ printk("%5d ", m_RawData[iChannelsNum]);
+ }
+ printk("\n");
+ printk("[fts]Keys: ");
+ for (iKeyNum=0; iKeyNum < g_ScreenSetParam.iKeyNum; iKeyNum++) {
+ printk("%5d ", m_RawData[g_ScreenSetParam.iChannelsNum+iKeyNum]);
+ }
+
+ printk("\n");
+}
+
+/************************************************************************
+* Name: FT6X36_TestItem_RawDataTest
+* Brief: TestItem: RawDataTest. Check if SCAP RawData is within the range.
+* Input: none
+* Output: bTestResult, PASS or FAIL
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+unsigned char FT6X36_TestItem_RawDataTest(bool * bTestResult)
+{
+ int i = 0;
+ //bool bFlag = true;
+ unsigned char ReCode = ERROR_CODE_OK;
+ bool btmpresult = true;
+ int RawDataMin = 0, RawDataMax = 0;
+
+ int iNgNum = 0;
+ int iMax = 0, iMin = 0, iAvg = 0;
+
+ RawDataMin = g_stCfg_FT6X36_BasicThreshold.RawDataTest_Min;
+ RawDataMax = g_stCfg_FT6X36_BasicThreshold.RawDataTest_Max;
+
+ FTSPrintMsg("====================== Test Item : RawData Test\n");
+ FTSPrintMsg("TP Raw Data, Criteria Range=(%d ~ %d):\n", RawDataMin, RawDataMax);
+
+ for (i = 0; i < 3; i++) {
+ ReCode = WriteReg(C6206_FACTORY_TEST_MODE, Proof_Normal);
+ if (ERROR_CODE_OK == ReCode)
+ ReCode = StartScan();
+ if (ERROR_CODE_OK == ReCode)break;
+ }
+
+ ReCode = GetRawData();
+
+ if (ReCode == ERROR_CODE_OK) {
+ FTSPrintMsg("Get RawData OK\n");
+ ShowRawData();
+ }
+ else {
+ FTSPrintMsg("Get RawData Failed\n");
+ btmpresult = false;
+ goto TEST_END;
+ }
+
+ iNgNum = 0;
+ iMax = m_RawData[0];
+ iMin = m_RawData[0];
+ iAvg = 0;
+
+ for (i = 0; i < g_ScreenSetParam.iChannelsNum + g_ScreenSetParam.iKeyNum; i++) {
+ RawDataMin = g_stCfg_SCap_DetailThreshold.RawDataTest_Min[i];
+ RawDataMax = g_stCfg_SCap_DetailThreshold.RawDataTest_Max[i];
+ if (m_RawData[i] < RawDataMin || m_RawData[i] > RawDataMax) {
+ btmpresult = false;
+
+ if (i < g_ScreenSetParam.iChannelsNum) {
+ FTSPrintMsg("Ch_%02d: %d\n", i+1, m_RawData[i]);
+ } else {
+ FTSPrintMsg("Key_%d: %d\n", i+1 - g_ScreenSetParam.iChannelsNum, m_RawData[i]);
+ }
+
+ iNgNum++;
+ }
+
+ iAvg += m_RawData[i];
+ if (iMax < m_RawData[i])iMax = m_RawData[i];
+ if (iMin > m_RawData[i])iMin = m_RawData[i];
+ }
+
+ iAvg /= g_ScreenSetParam.iChannelsNum + g_ScreenSetParam.iKeyNum;
+ FTSPrintMsg("Max Raw Value: %d, Min Raw Value: %d, Deviation Value: %d, Average Value: %d\n", iMax, iMin, iMax - iMin, iAvg);
+
+ Save_Test_Data(m_RawData, 0, 1, g_ScreenSetParam.iChannelsNum + g_ScreenSetParam.iKeyNum, 1);
+
+TEST_END:
+ if (btmpresult) {
+ * bTestResult = true;
+ FTSPrintMsg("RawData Test is OK!\n");
+ }
+ else {
+ * bTestResult = false;
+ FTSPrintMsg("RawData Test is NG!\n");
+ }
+ return ReCode;
+}
+
+/************************************************************************
+* Name: FT6X36_TestItem_CbTest
+* Brief: TestItem: CB Test. Check if SCAP CB is within the range.
+* Input: none
+* Output: bTestResult, PASS or FAIL
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+unsigned char FT6X36_TestItem_CbTest(bool * bTestResult)
+{
+ int readlen = 0;
+
+ bool btmpresult = true;
+ int iCbMin = 0, iCbMax = 0;
+ unsigned char chOldMode = 0;
+
+ //unsigned char WaterProofResult=0;
+ unsigned char ReCode = ERROR_CODE_OK;
+ BYTE pReadData[300] = {0};
+ unsigned char I2C_wBuffer[1];
+
+ int iNgNum = 0;
+ int iMax = 0, iMin = 0, iAvg = 0;
+
+ int i = 0;
+
+ memset(m_CbData, 0, sizeof(m_CbData));
+ readlen = g_ScreenSetParam.iChannelsNum + g_ScreenSetParam.iKeyNum;
+ iCbMin = g_stCfg_SCap_DetailThreshold.CbTest_Min[0];
+ iCbMax = g_stCfg_SCap_DetailThreshold.CbTest_Max[0];
+
+ FTSPrintMsg("====================== Test Item : CB Test\n");
+ FTSPrintMsg("TP CB Data, Criteria Range=(%d ~ %d):\n", iCbMin, iCbMax);
+ ReCode = ReadReg( C6206_FACTORY_TEST_MODE, &chOldMode );
+
+ for (i = 0; i < 3; i++) {
+ ReCode = WriteReg(C6206_FACTORY_TEST_MODE, Proof_NoWaterProof);
+ if (ERROR_CODE_OK == ReCode)
+ ReCode = StartScan();
+ if (ERROR_CODE_OK == ReCode)break;
+ }
+
+ if ((ERROR_CODE_OK != ReCode)/* || (1 != WaterProofResult)*/) {
+ btmpresult = false;
+ FTSPrintMsg("Get CB Data Fail\n");
+ }
+ else {
+ FTSPrintMsg("Get Proof_NoWaterProof CB Data OK\n");
+
+ I2C_wBuffer[0] = 0x39;
+ ReCode = WriteReg( 0x33, 0 );
+ ReCode = Comm_Base_IIC_IO(I2C_wBuffer, 1, pReadData, readlen * 2 );
+
+ for (i=0; i < readlen; i++) {
+ m_TempCbData[i] = (unsigned short)(pReadData[i*2] << 8 | pReadData[i*2+1]);
+ if (i== 0) { //Half
+ printk("[fts]======= CB Data: \n");
+ printk("[fts]Left Channel: ");
+ }
+ else if ( i * 2 == g_ScreenSetParam.iChannelsNum) {
+ printk("\n[fts]Right Channel: ");
+ }
+ else if ( i == g_ScreenSetParam.iChannelsNum) {
+ printk("[fts]Key: ");
+ }
+ printk("%3d ", m_TempCbData[i]);
+
+ }
+ }
+ printk("\r\n");
+
+ ////////////////////////////³æºÝ¨¾¤ô
+ //Get Proof_Level0 CB printk("[fts]Proof_Level0 CB Test...\r\n");
+ for (i = 0; i < 3; i++) {
+ ReCode = WriteReg(C6206_FACTORY_TEST_MODE, Proof_Level0);
+ if (ERROR_CODE_OK == ReCode)
+ ReCode = StartScan();
+ if (ERROR_CODE_OK == ReCode)break;
+ }
+ if ((ERROR_CODE_OK != ReCode)/* || (1 != WaterProofResult)*/) {
+ btmpresult = false;
+ FTSPrintMsg("Get Proof_Level0 CB Test Failed!\n");
+ }
+ else {
+ FTSPrintMsg("Get Proof_Level0 CB Test OK!\n");
+
+ //BYTE pReadData[300] = {0};
+ //unsigned char I2C_wBuffer[1];
+
+ I2C_wBuffer[0] = 0x39;
+ ReCode = WriteReg( 0x33, 0 );
+ ReCode = Comm_Base_IIC_IO(I2C_wBuffer, 1, pReadData, readlen * 2 );
+
+ for (i=0; i < readlen; i++) {
+ m_CbData[i] = (unsigned short)(pReadData[i*2] << 8 | pReadData[i*2+1]);
+ }
+
+ ReCode = WriteReg( C6206_FACTORY_TEST_MODE, chOldMode );
+
+ //----------------------------------------------------------
+ iNgNum = 0;
+ iMax = m_TempCbData[0];
+ iMin = m_TempCbData[0];
+ iAvg = 0;
+
+ for (i = 0; i < g_ScreenSetParam.iChannelsNum + g_ScreenSetParam.iKeyNum; i++) {
+
+ iCbMin = g_stCfg_SCap_DetailThreshold.CbTest_Min[i];
+ iCbMax = g_stCfg_SCap_DetailThreshold.CbTest_Max[i];
+
+ if (m_TempCbData[i] < iCbMin || m_TempCbData[i] > iCbMax) {
+ btmpresult = false;
+ if (i < g_ScreenSetParam.iChannelsNum) {
+ FTSPrintMsg("Ch_%02d: %d\n", i+1, m_TempCbData[i]);
+ } else {
+ FTSPrintMsg("Key_%d: %d\n", i+1 - g_ScreenSetParam.iChannelsNum, m_TempCbData[i]);
+ }
+
+ iNgNum++;
+ }
+
+ iAvg += m_TempCbData[i];
+ if (iMax < m_TempCbData[i])iMax = m_TempCbData[i];
+ if (iMin > m_TempCbData[i])iMin = m_TempCbData[i];
+ }
+
+ iAvg /= g_ScreenSetParam.iChannelsNum + g_ScreenSetParam.iKeyNum;
+ FTSPrintMsg("Max CB Value: %d, Min CB Value: %d, Deviation Value: %d, Average Value: %d\n", iMax, iMin, iMax - iMin, iAvg);
+ if (btmpresult) {
+ FTSPrintMsg("CB Test is OK!\n");
+ * bTestResult = 1;
+ }
+ else {
+ FTSPrintMsg("CB Test is NG!\n");
+ * bTestResult = 0;
+ }
+ }
+
+ Save_Test_Data(m_TempCbData, 0, 1, g_ScreenSetParam.iChannelsNum + g_ScreenSetParam.iKeyNum, 1);
+
+ //GetCiDataMsg();
+ //Save_Test_Data(m_CbData, 0, 1, g_ScreenSetParam.iChannelsNum + g_ScreenSetParam.iKeyNum, 2);
+
+ return ReCode;
+
+}
+
+/************************************************************************
+* Name: FT6X36_TestItem_DeltaCbTest
+* Brief: TestItem: Delta CB Test. Check if SCAP Delta CB is within the range.
+* Input: none
+* Output: bTestResult, PASS or FAIL
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+unsigned char FT6X36_TestItem_DeltaCbTest(unsigned char *bTestResult, u8 *cb_deviation)
+{
+ bool btmpresult = true;
+ int readlen = g_ScreenSetParam.iChannelsNum + g_ScreenSetParam.iKeyNum;
+ int i=0;
+
+ ////////////³Ì¤jDelta_Ci©M³Ì¤pDelta_Ci®tȤp©ó¹w³]È
+ int Delta_Ci_Differ = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S1;
+ int Delta_Ci_Differ_S2 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S2;
+ int Delta_Ci_Differ_S3 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S3;
+ int Delta_Ci_Differ_S4 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S4;
+ int Delta_Ci_Differ_S5 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S5;
+ int Delta_Ci_Differ_S6 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S6;
+
+ int Delta_Min = 0, Delta_Max = 0;
+
+ int Critical_Delta_S1 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S1;
+ int Critical_Delta_S2 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S2;
+ int Critical_Delta_S3 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S3;
+ int Critical_Delta_S4 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S4;
+ int Critical_Delta_S5 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S5;
+ int Critical_Delta_S6 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S6;
+
+ bool bUseCriticalValue = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Set_Critical;
+
+ bool bCriticalResult = false;
+
+
+ /////////////////////////////new test
+ int Sort1Min, Sort2Min, Sort3Min, Sort4Min, Sort5Min, Sort6Min;
+ int Sort1Max, Sort2Max, Sort3Max, Sort4Max, Sort5Max, Sort6Max;
+ int Sort1Min_ChNum, Sort2Min_ChNum, Sort3Min_ChNum,Sort4Min_ChNum,Sort5Min_ChNum,Sort6Min_ChNum;
+ int Sort1Max_ChNum, Sort2Max_ChNum, Sort3Max_ChNum,Sort4Max_ChNum,Sort5Max_ChNum,Sort6Max_ChNum;
+ bool bUseSort1 = false;
+ bool bUseSort2 = false;
+ bool bUseSort3 = false;
+ bool bUseSort4 = false;
+ bool bUseSort5 = false;
+ bool bUseSort6 = false;
+
+ int Num = 0;
+
+ int Key_Delta_Max = 0;
+ int SetKeyMax = 0;
+ int set_Delta_Cb_Max = 0;
+
+ FTSPrintMsg("====================== Test Item : Delta CB Test\n");
+
+ for (i=0; i < readlen; i++) {
+ m_DeltaCbData[i] = m_TempCbData[i] - m_CbData[i];
+ if (i== 0) { //Half
+ printk("[fts]======= Delta CB Data: \n");
+ printk("[fts]Left Channel: ");
+ }
+ else if ( i * 2 == g_ScreenSetParam.iChannelsNum) {
+ printk("\n[fts]Right Channel: ");
+ }
+ else if ( i == g_ScreenSetParam.iChannelsNum) {
+ printk("[fts]Key: ");
+ }
+ printk("%3d ", m_DeltaCbData[i]);
+
+ }
+ printk("\n");
+
+ /////////////////////////Delta CB Differ
+ for (i=0; i < readlen; i++) {
+ m_DeltaCb_DifferData[i] = m_DeltaCbData[i] - g_stCfg_SCap_DetailThreshold.DeltaCbTest_Base[i];
+
+ if (i== 0) { //Half
+ printk("[fts]======= Differ Data of Delta CB: \n");
+ printk("[fts]Left Channel: ");
+ }
+ else if ( i * 2 == g_ScreenSetParam.iChannelsNum) {
+ printk("\n[fts]Right Channel: ");
+ }
+ else if ( i == g_ScreenSetParam.iChannelsNum) {
+ printk("[fts]Key: ");
+ }
+ printk("%3d ", m_DeltaCb_DifferData[i]);
+ }
+ printk("\n");
+
+ ////////////³Ì¤jDelta_Ci©M³Ì¤pDelta_Ci®tȤp©ó¹w³]È
+ Delta_Ci_Differ = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S1;
+ Delta_Ci_Differ_S2 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S2;
+ Delta_Ci_Differ_S3 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S3;
+ Delta_Ci_Differ_S4 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S4;
+ Delta_Ci_Differ_S5 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S5;
+ Delta_Ci_Differ_S6 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Deviation_S6;
+
+ Delta_Min = 0;
+ Delta_Max = 0;
+
+ Critical_Delta_S1 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S1;
+ Critical_Delta_S2 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S2;
+ Critical_Delta_S3 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S3;
+ Critical_Delta_S4 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S4;
+ Critical_Delta_S5 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S5;
+ Critical_Delta_S6 = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Critical_S6;
+
+ bUseCriticalValue = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Set_Critical;
+
+ bCriticalResult = false;
+
+
+ /////////////////////////////new test
+ bUseSort1 = false;
+ bUseSort2 = false;
+ bUseSort3 = false;
+ bUseSort4 = false;
+ bUseSort5 = false;
+ bUseSort6 = false;
+
+ Num = 0;
+
+ Sort1Min_ChNum = Sort2Min_ChNum = Sort3Min_ChNum = Sort4Min_ChNum = Sort5Min_ChNum = Sort6Min_ChNum = 0;
+ Sort1Max_ChNum = Sort2Max_ChNum = Sort3Max_ChNum = Sort4Max_ChNum = Sort5Max_ChNum = Sort6Max_ChNum = 0;
+
+ Sort1Min = Sort2Min = Sort3Min = Sort4Min = Sort5Min = Sort6Min = 1000;
+ Sort1Max = Sort2Max = Sort3Max = Sort4Max = Sort5Max = Sort6Max = -1000;
+
+ for (i=0; i < g_ScreenSetParam.iChannelsNum/*readlen*/; i++) {
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 1) {
+ bUseSort1 = true;
+ if (m_DeltaCb_DifferData[i] < Sort1Min) {
+ Sort1Min = m_DeltaCb_DifferData[i];
+ Sort1Min_ChNum = i;
+ }
+ if (m_DeltaCb_DifferData[i] > Sort1Max) {
+ Sort1Max = m_DeltaCb_DifferData[i];
+ Sort1Max_ChNum = i;
+ }
+ }
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 2) {
+ bUseSort2 = true;
+ if (m_DeltaCb_DifferData[i] < Sort2Min) {
+ Sort2Min = m_DeltaCb_DifferData[i];
+ Sort2Min_ChNum = i;
+ }
+ if (m_DeltaCb_DifferData[i] > Sort2Max) {
+ Sort2Max = m_DeltaCb_DifferData[i];
+ Sort2Max_ChNum = i;
+ }
+ }
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 3) {
+ bUseSort3 = true;
+ if (m_DeltaCb_DifferData[i] < Sort3Min) {
+ Sort3Min = m_DeltaCb_DifferData[i];
+ Sort3Min_ChNum = i;
+ }
+ if (m_DeltaCb_DifferData[i] > Sort3Max) {
+ Sort3Max = m_DeltaCb_DifferData[i];
+ Sort3Max_ChNum = i;
+ }
+ }
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 4) {
+ bUseSort4 = true;
+ if (m_DeltaCb_DifferData[i] < Sort4Min) {
+ Sort4Min = m_DeltaCb_DifferData[i];
+ Sort4Min_ChNum = i;
+ }
+ if (m_DeltaCb_DifferData[i] > Sort4Max) {
+ Sort4Max = m_DeltaCb_DifferData[i];
+ Sort4Max_ChNum = i;
+ }
+ }
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 5) {
+ bUseSort5 = true;
+ if (m_DeltaCb_DifferData[i] < Sort5Min) {
+ Sort5Min = m_DeltaCb_DifferData[i];
+ Sort5Min_ChNum = i;
+ }
+ if (m_DeltaCb_DifferData[i] > Sort5Max) {
+ Sort5Max = m_DeltaCb_DifferData[i];
+ Sort5Max_ChNum = i;
+ }
+ }
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 6) {
+ bUseSort6 = true;
+ if (m_DeltaCb_DifferData[i] < Sort6Min) {
+ Sort6Min = m_DeltaCb_DifferData[i];
+ Sort6Min_ChNum = i;
+ }
+ if (m_DeltaCb_DifferData[i] > Sort6Max) {
+ Sort6Max = m_DeltaCb_DifferData[i];
+ Sort6Max_ChNum = i;
+ }
+ }
+
+
+ }
+ if (bUseSort1) {
+ if (Delta_Ci_Differ <= Sort1Max - Sort1Min) {
+ if (bUseCriticalValue) {
+ if (Sort1Max - Sort1Min >= Critical_Delta_S1) {
+ btmpresult = false;
+ }
+ else {
+ if (focal_abs(Sort1Max) > focal_abs(Sort1Min))
+ Num = Sort1Max_ChNum;
+ else
+ Num = Sort1Min_ChNum;
+ //SetCriticalMsg(Num);
+
+ bCriticalResult = true;
+ }
+ FTSPrintMsg("Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Deviation: %d, Critical Deviation of Sort1(Cirteria): %d\n",
+ Sort1Max, Sort1Min, Sort1Max - Sort1Min, Critical_Delta_S1);
+ }
+ else {
+ btmpresult = false;
+ FTSPrintMsg("Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Deviation: %d, Deviation of Sort1(Cirteria): %d\n",
+ Sort1Max, Sort1Min, Sort1Max - Sort1Min, Delta_Ci_Differ);
+ }
+ }
+ else {
+ FTSPrintMsg("Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Deviation: %d, Deviation of Sort1(Criteria): %d\n",
+ Sort1Max, Sort1Min, Sort1Max - Sort1Min, Delta_Ci_Differ);
+ }
+ *cb_deviation = Sort1Max - Sort1Min;
+ }
+ if (bUseSort2) {
+
+ if (Delta_Ci_Differ_S2 <= Sort2Max - Sort2Min) {
+ if (bUseCriticalValue) {
+ if (Sort2Max - Sort2Min >= Critical_Delta_S2) {
+ btmpresult = false;
+ }
+ else {
+ if (focal_abs(Sort2Max) > focal_abs(Sort2Min))
+ Num = Sort2Max_ChNum;
+ else
+ Num = Sort2Min_ChNum;
+ //SetCriticalMsg(Num);
+ bCriticalResult = true;
+ }
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Critical Deviation of Sort2: %d",
+ Sort2Max, Sort2Min, Sort2Max - Sort2Min, Critical_Delta_S2);
+ }
+ else {
+ btmpresult = false;
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Deviation of Sort2: %d",
+ Sort2Max, Sort2Min, Sort2Max - Sort2Min, Delta_Ci_Differ_S2);
+ }
+ }
+ else {
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Deviation of Sort2: %d",
+ Sort2Max, Sort2Min, Sort2Max - Sort2Min, Delta_Ci_Differ_S2);
+ }
+
+ printk("\n[fts]Sort2: %d, ", Sort2Max - Sort2Min);
+ }
+ if (bUseSort3) {
+
+ if (Delta_Ci_Differ_S3 <= Sort3Max - Sort3Min) {
+ if (bUseCriticalValue) {
+ if (Sort3Max - Sort3Min >= Critical_Delta_S3) {
+ btmpresult = false;
+ }
+ else {
+ if (focal_abs(Sort3Max) > focal_abs(Sort3Min))
+ Num = Sort3Max_ChNum;
+ else
+ Num = Sort3Min_ChNum;
+ //SetCriticalMsg(Num);
+ bCriticalResult = true;
+ }
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Critical Deviation of Sort3: %d",
+ Sort3Max, Sort3Min, Sort3Max - Sort3Min, Critical_Delta_S3);
+ }
+ else {
+ btmpresult = false;
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Deviation of Sort3: %d",
+ Sort3Max, Sort3Min, Sort3Max - Sort3Min, Delta_Ci_Differ_S3);
+
+ }
+ }
+ else {
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Deviation of Sort3: %d",
+ Sort3Max, Sort3Min, Sort3Max - Sort3Min, Delta_Ci_Differ_S3);
+
+ }
+ printk("\n[fts]Sort3: %d, ", Sort3Max - Sort3Min);
+ }
+ if (bUseSort4) {
+ if (Delta_Ci_Differ_S4 <= Sort4Max - Sort4Min) {
+ if (bUseCriticalValue) {
+ if (Sort4Max - Sort4Min >= Critical_Delta_S4) {
+ btmpresult = false;
+ }
+ else {
+ if (focal_abs(Sort4Max) > focal_abs(Sort4Min))
+ Num = Sort4Max_ChNum;
+ else
+ Num = Sort4Min_ChNum;
+ //SetCriticalMsg(Num);
+ bCriticalResult = true;
+ }
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Critical Deviation of Sort4: %d",
+ Sort4Max, Sort4Min, Sort4Max - Sort4Min, Critical_Delta_S4);
+
+ }
+ else {
+ btmpresult = false;
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Deviation of Sort4: %d",
+ Sort4Max, Sort4Min, Sort4Max - Sort4Min, Delta_Ci_Differ_S4);
+
+ }
+ }
+ else {
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Deviation of Sort4: %d",
+ Sort4Max, Sort4Min, Sort4Max - Sort4Min, Delta_Ci_Differ_S4);
+
+ }
+ printk("\n[fts]Sort4: %d, ", Sort4Max - Sort4Min);
+ }
+ if (bUseSort5) {
+ if (Delta_Ci_Differ_S5 <= Sort5Max - Sort5Min) {
+ if (bUseCriticalValue) {
+ if (Sort5Max - Sort5Min >= Critical_Delta_S5) {
+ btmpresult = false;
+ }
+ else {
+ if (focal_abs(Sort5Max) > focal_abs(Sort5Min))
+ Num = Sort5Max_ChNum;
+ else
+ Num = Sort5Min_ChNum;
+ //SetCriticalMsg(Num);
+ bCriticalResult = true;
+ }
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Critical Deviation of Sort5: %d",
+ Sort5Max, Sort5Min, Sort5Max - Sort5Min, Critical_Delta_S5);
+
+ }
+ else {
+ btmpresult = false;
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Deviation of Sort5: %d",
+ Sort5Max, Sort5Min, Sort5Max - Sort5Min, Delta_Ci_Differ_S5);
+
+ }
+ }
+ else {
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Deviation of Sort5: %d",
+ Sort5Max, Sort5Min, Sort5Max - Sort5Min, Delta_Ci_Differ_S5);
+
+ }
+ printk("\n[fts]Sort5: %d, ", Sort5Max - Sort5Min);
+ }
+ if (bUseSort6) {
+ if (Delta_Ci_Differ_S6 <= Sort6Max - Sort6Min) {
+ if (bUseCriticalValue) {
+ if (Sort6Max - Sort6Min >= Critical_Delta_S6) {
+ btmpresult = false;
+ }
+ else {
+ if (focal_abs(Sort6Max) > focal_abs(Sort6Min))
+ Num = Sort6Max_ChNum;
+ else
+ Num = Sort6Min_ChNum;
+ //SetCriticalMsg(Num);
+ bCriticalResult = true;
+ }
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Critical Deviation of Sort6: %d",
+ Sort6Max, Sort6Min, Sort6Max - Sort6Min, Critical_Delta_S6);
+ }
+ else {
+ btmpresult = false;
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Deviation of Sort6: %d",
+ Sort6Max, Sort6Min, Sort6Max - Sort6Min, Delta_Ci_Differ_S6);
+
+ }
+ }
+ else {
+ printk("[fts] Condition1: Max of Delta CB_Differ: %d, Min of Delta CB_Differ: %d, Get Deviation: %d, Set Deviation of Sort6: %d",
+ Sort6Max, Sort6Min, Sort6Max - Sort6Min, Delta_Ci_Differ_S6);
+
+ }
+ printk("\n[fts]Sort6: %d, ", Sort6Max - Sort6Min);
+ }
+
+ /////////////////////³Ì¤jDelta_Ci¤£¯à¶W¹L¹w³]È
+
+ Delta_Min = Delta_Max = focal_abs(m_DeltaCb_DifferData[0]);
+ for (i=1; i < g_ScreenSetParam.iChannelsNum/*readlen*/; i++) {
+ if (focal_abs(m_DeltaCb_DifferData[i]) < Delta_Min) {
+ Delta_Min = focal_abs(m_DeltaCb_DifferData[i]);
+ }
+ if (focal_abs(m_DeltaCb_DifferData[i]) > Delta_Max) {
+ Delta_Max = focal_abs(m_DeltaCb_DifferData[i]);
+ }
+ }
+
+ set_Delta_Cb_Max = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Differ_Max;
+ if (set_Delta_Cb_Max < focal_abs(Delta_Max)) {
+ btmpresult = false;
+ }
+ FTSPrintMsg("Condition2: Get Max Differ Data of Delta_CB(abs): %d, Max Differ Data of Delta_CB(abs)(Criteria): %d\n",
+ Delta_Max, set_Delta_Cb_Max);
+
+ if (g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Include_Key_Test) {
+
+ SetKeyMax = g_stCfg_FT6X36_BasicThreshold.DeltaCbTest_Key_Differ_Max;
+
+ Key_Delta_Max = focal_abs(m_DeltaCb_DifferData[g_ScreenSetParam.iChannelsNum]);
+ for (i = g_ScreenSetParam.iChannelsNum; i < g_ScreenSetParam.iChannelsNum + g_ScreenSetParam.iKeyNum; i++) {
+ if (focal_abs(m_DeltaCb_DifferData[i]) > Key_Delta_Max) {
+ Key_Delta_Max = focal_abs(m_DeltaCb_DifferData[i]);
+ }
+ }
+ if (SetKeyMax <= Key_Delta_Max ) {
+ btmpresult = false;
+ }
+ printk("[fts] Condition3: Include Key Test, Get Max Key Data: %d, Set Max Key Data: %d", Key_Delta_Max, SetKeyMax);
+ }
+
+ if (bCriticalResult && btmpresult) {
+ printk("\n[fts]Delta CB Test has Critical Result(TBD)!");
+ }
+ ///////////////////////////////////////////////////////Delta Ci End
+ if (btmpresult) {
+ FTSPrintMsg("Delta CB Test is OK!\n");
+ if (bCriticalResult)
+ * bTestResult = 2;
+ else
+ * bTestResult = 1;
+ }
+ else {
+ FTSPrintMsg("Delta CB Test is NG!\n");
+ * bTestResult = 0;
+ }
+
+ Save_Test_Data(m_DeltaCbData, 0, 1, g_ScreenSetParam.iChannelsNum+g_ScreenSetParam.iKeyNum, 1);
+ Save_Test_Data(m_DeltaCb_DifferData, 0, 1, g_ScreenSetParam.iChannelsNum+g_ScreenSetParam.iKeyNum, 2);
+ return 0;
+}
+
+/************************************************************************
+* Name: FT6X36_TestItem_ChannelsDeviationTest
+* Brief: TestItem: Channels Deviation Test. Check if Channels Deviation is within the range.
+* Input: none
+* Output: bTestResult, PASS or FAIL
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+unsigned char FT6X36_TestItem_ChannelsDeviationTest(unsigned char * bTestResult)
+{
+ //////////////////////////////////////////////////////Channels Deviation Start
+
+ bool btmpresult = true;//Init
+ int i=0;
+
+ int DeviationMax_S1 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S1;
+ int DeviationMax_S2 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S2;
+ int DeviationMax_S3 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S3;
+ int DeviationMax_S4 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S4;
+ int DeviationMax_S5 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S5;
+ int DeviationMax_S6 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S6;
+
+ int Delta_Min = 0, Delta_Max = 0;
+
+ int Critical_Channel_S1 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S1;
+ int Critical_Channel_S2 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S2;
+ int Critical_Channel_S3 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S3;
+ int Critical_Channel_S4 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S4;
+ int Critical_Channel_S5 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S5;
+ int Critical_Channel_S6 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S6;
+
+ bool bUseCriticalValue = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Set_Critical;
+
+ bool bCriticalResult = false;
+
+ /////////////////////////////new test
+ int Sort1LastNum = 0xFFFF, Sort2LastNum = 0xFFFF, Sort3LastNum = 0xFFFF, Sort4LastNum = 0xFFFF, Sort5LastNum = 0xFFFF, Sort6LastNum = 0xFFFF;
+ int GetDeviation;
+ bool bFirstUseSort1 = true;
+ bool bFirstUseSort2 = true;
+ bool bFirstUseSort3 = true;
+ bool bFirstUseSort4 = true;
+ bool bFirstUseSort5 = true;
+ bool bFirstUseSort6 = true;
+
+ int MaxDev_AllS1= 0, MaxDev_AllS2= 0, MaxDev_AllS3= 0, MaxDev_AllS4= 0, MaxDev_AllS5= 0, MaxDev_AllS6= 0;
+
+ printk("\r\n\r\n==============================Test Item: -------- Channels Deviation Test ");
+
+ for (i=0; i < g_ScreenSetParam.iChannelsNum; i++) {
+ m_DeltaCb_DifferData[i] = m_DeltaCbData[i] - g_stCfg_SCap_DetailThreshold.DeltaCbTest_Base[i];
+ if (i== 0) { //Half
+ printk("\r\n\r\n//======= Differ Data of Delta CB: ");
+ printk("\r\nLeft Channel: ");
+ }
+ else if ( i * 2 == g_ScreenSetParam.iChannelsNum) {
+ printk("\r\nRight Channel: ");
+ }
+ else if ( i == g_ScreenSetParam.iChannelsNum) {
+ printk("\r\nKey: ");
+ }
+ printk("%3d ", m_DeltaCb_DifferData[i]);
+ }
+
+ printk("\r\n");
+
+ DeviationMax_S1 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S1;
+ DeviationMax_S2 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S2;
+ DeviationMax_S3 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S3;
+ DeviationMax_S4 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S4;
+ DeviationMax_S5 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S5;
+ DeviationMax_S6 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Deviation_S6;
+
+ Delta_Min = 0;
+ Delta_Max = 0;
+
+ Critical_Channel_S1 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S1;
+ Critical_Channel_S2 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S2;
+ Critical_Channel_S3 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S3;
+ Critical_Channel_S4 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S4;
+ Critical_Channel_S5 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S5;
+ Critical_Channel_S6 = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Critical_S6;
+
+ bUseCriticalValue = g_stCfg_FT6X36_BasicThreshold.ChannelsDeviationTest_Set_Critical;
+
+ bCriticalResult = false;
+
+ /////////////////////////////new test
+ Sort1LastNum = 0xFFFF;
+ Sort2LastNum = 0xFFFF;
+ Sort3LastNum = 0xFFFF;
+ Sort4LastNum = 0xFFFF;
+ Sort5LastNum = 0xFFFF;
+ Sort6LastNum = 0xFFFF;
+ GetDeviation = 0;
+ bFirstUseSort1 = true;
+ bFirstUseSort2 = true;
+ bFirstUseSort3 = true;
+ bFirstUseSort4 = true;
+ bFirstUseSort5 = true;
+ bFirstUseSort6 = true;
+
+ MaxDev_AllS1= 0;
+ MaxDev_AllS2= 0;
+ MaxDev_AllS3= 0;
+ MaxDev_AllS4= 0;
+ MaxDev_AllS5= 0;
+ MaxDev_AllS6= 0;
+
+ for (i=0; i < g_ScreenSetParam.iChannelsNum/*readlen*/; i++) {
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 1) {
+ if (bFirstUseSort1) {
+ bFirstUseSort1 = false;
+ }
+ else {
+ if (Sort1LastNum + 1 == i) {
+ if ( Sort1LastNum <= g_ScreenSetParam.iChannelsNum/2 - 1 && i >= g_ScreenSetParam.iChannelsNum/2 ) {
+ Sort1LastNum = i;
+ continue;
+ }
+ else if ( Sort1LastNum <= g_ScreenSetParam.iChannelsNum/4 - 1 && i >= g_ScreenSetParam.iChannelsNum/4 ) {
+ Sort1LastNum = i;
+ continue;
+ }
+ else if ( Sort1LastNum <= g_ScreenSetParam.iChannelsNum * 3/4 - 1 && i >= g_ScreenSetParam.iChannelsNum * 3/4 ) {
+ Sort1LastNum = i;
+ continue;
+ }
+ else {
+ GetDeviation = focal_abs(m_DeltaCb_DifferData[i] - m_DeltaCb_DifferData[Sort1LastNum]);
+ if (GetDeviation >= DeviationMax_S1) {
+ if (bUseCriticalValue) {
+ if (GetDeviation >= Critical_Channel_S1) {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Critical Deviation 0f Sort1: %d",
+ i-1 + 1, m_DeltaCb_DifferData[i-1], i + 1, m_DeltaCb_DifferData[i], GetDeviation, Critical_Channel_S1);
+
+ }
+ else {
+ //SetCriticalMsg(i);
+ bCriticalResult = true;
+ }
+ }
+ else {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Deviation 0f Sort1: %d",
+ i-1 + 1, m_DeltaCb_DifferData[i-1], i + 1, m_DeltaCb_DifferData[i], GetDeviation, DeviationMax_S1);
+
+ }
+ }
+ if (MaxDev_AllS1 < GetDeviation)
+ MaxDev_AllS1 = GetDeviation;
+ }
+ }
+
+ }
+ Sort1LastNum = i;
+ }
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 2) {
+ if (bFirstUseSort2) {
+ bFirstUseSort2 = false;
+ }
+ else {
+ if (Sort2LastNum + 1 == i) { //¬Û¾F³q¹D
+ if ( Sort2LastNum <= g_ScreenSetParam.iChannelsNum/2 - 1 && i >= g_ScreenSetParam.iChannelsNum/2 ) {
+ Sort2LastNum = i;
+ continue;
+ }
+ else if ( Sort2LastNum <= g_ScreenSetParam.iChannelsNum/4 - 1 && i >= g_ScreenSetParam.iChannelsNum/4 ) {
+ Sort2LastNum = i;
+ continue;
+ }
+ else if ( Sort2LastNum <= g_ScreenSetParam.iChannelsNum * 3/4 - 1 && i >= g_ScreenSetParam.iChannelsNum * 3/4 ) {
+ Sort2LastNum = i;
+ continue;
+ }
+ GetDeviation = focal_abs(m_DeltaCb_DifferData[i] - m_DeltaCb_DifferData[Sort2LastNum]);
+ if (GetDeviation >= DeviationMax_S2) {
+ if (bUseCriticalValue) {
+ if (GetDeviation >= Critical_Channel_S2) {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Critical Deviation 0f Sort2: %d",
+ i-1 + 1, m_DeltaCb_DifferData[i-1], i + 1, m_DeltaCb_DifferData[i], GetDeviation, Critical_Channel_S2);
+
+ }
+ else {
+ //SetCriticalMsg(i);
+ bCriticalResult = true;
+ }
+ }
+ else {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Deviation of Sort2: %d",
+ i-1 + 1, m_DeltaCb_DifferData[i-1], i + 1, m_DeltaCb_DifferData[i], GetDeviation, DeviationMax_S2);
+
+ }
+ }
+ if (MaxDev_AllS2 < GetDeviation)
+ MaxDev_AllS2 = GetDeviation;
+ }
+
+ }
+ Sort2LastNum = i;
+ }
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 3) {
+ if (bFirstUseSort3) {
+ bFirstUseSort3 = false;
+ }
+ else {
+ if (Sort3LastNum + 1 == i) { //¬Û¾F³q¹D
+ if ( Sort3LastNum <= g_ScreenSetParam.iChannelsNum/2 - 1 && i >= g_ScreenSetParam.iChannelsNum/2 ) {
+ Sort3LastNum = i;
+ continue;
+ }
+ else if ( Sort3LastNum <= g_ScreenSetParam.iChannelsNum/4 - 1 && i >= g_ScreenSetParam.iChannelsNum/4 ) {
+ Sort3LastNum = i;
+ continue;
+ }
+ else if ( Sort3LastNum <= g_ScreenSetParam.iChannelsNum * 3/4 - 1 && i >= g_ScreenSetParam.iChannelsNum * 3/4 ) {
+ Sort3LastNum = i;
+ continue;
+ }
+ GetDeviation = focal_abs(m_DeltaCb_DifferData[i] - m_DeltaCb_DifferData[Sort3LastNum]);
+ if (GetDeviation >= DeviationMax_S3) {
+ if (bUseCriticalValue) {
+ if (GetDeviation >= Critical_Channel_S3) {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Critical Deviation 0f Sort3: %d",
+ i-1 + 1, m_DeltaCb_DifferData[i-1], i + 1, m_DeltaCb_DifferData[i], GetDeviation, Critical_Channel_S3);
+
+ }
+ else {
+ //SetCriticalMsg(i);
+ bCriticalResult = true;
+ }
+ }
+ else {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Deviation of Sort3: %d",
+ i-1 + 1, m_DeltaCb_DifferData[i-1], i + 1, m_DeltaCb_DifferData[i], GetDeviation, DeviationMax_S3);
+
+ }
+ }
+ if (MaxDev_AllS3 < GetDeviation)
+ MaxDev_AllS3 = GetDeviation;
+ }
+ }
+ Sort3LastNum = i;
+ }
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 4) {
+ if (bFirstUseSort4) {
+ bFirstUseSort4 = false;
+ }
+ else {
+ if (Sort4LastNum + 1 == i) {
+ if ( Sort4LastNum <= g_ScreenSetParam.iChannelsNum/2 - 1 && i >= g_ScreenSetParam.iChannelsNum/2 ) {
+ Sort4LastNum = i;
+ continue;
+ }
+ else if ( Sort4LastNum <= g_ScreenSetParam.iChannelsNum/4 - 1 && i >= g_ScreenSetParam.iChannelsNum/4 ) {
+ Sort4LastNum = i;
+ continue;
+ }
+ else if ( Sort4LastNum <= g_ScreenSetParam.iChannelsNum * 3/4 - 1 && i >= g_ScreenSetParam.iChannelsNum * 3/4 ) {
+ Sort4LastNum = i;
+ continue;
+ }
+ GetDeviation = focal_abs(m_DeltaCb_DifferData[i] - m_DeltaCb_DifferData[Sort4LastNum]);
+ if (GetDeviation >= DeviationMax_S4) {
+ if (bUseCriticalValue) {
+ if (GetDeviation >= Critical_Channel_S4) {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Critical Deviation 0f Sort4: %d",
+ i-1 + 1, m_DeltaCb_DifferData[i-1], i + 1, m_DeltaCb_DifferData[i], GetDeviation, Critical_Channel_S4);
+
+ }
+ else {
+ //SetCriticalMsg(i);
+ bCriticalResult = true;
+ }
+ }
+ else {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Deviation of Sort4: %d",
+ i-1 + 1, m_DeltaCb_DifferData[i-1], i + 1, m_DeltaCb_DifferData[i], GetDeviation, DeviationMax_S4);
+
+ }
+ }
+ if (MaxDev_AllS4 < GetDeviation)
+ MaxDev_AllS4 = GetDeviation;
+ }
+ }
+ Sort4LastNum = i;
+ }
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 5) {
+ if (bFirstUseSort5) {
+ bFirstUseSort5 = false;
+ }
+ else {
+ if (Sort5LastNum + 1 == i) {
+ if ( Sort5LastNum <= g_ScreenSetParam.iChannelsNum/2 - 1 && i >= g_ScreenSetParam.iChannelsNum/2 ) {
+ Sort5LastNum = i;
+ continue;
+ }
+ else if ( Sort5LastNum <= g_ScreenSetParam.iChannelsNum/4 - 1 && i >= g_ScreenSetParam.iChannelsNum/4 ) {
+ Sort5LastNum = i;
+ continue;
+ }
+ else if ( Sort5LastNum <= g_ScreenSetParam.iChannelsNum * 3/4 - 1 && i >= g_ScreenSetParam.iChannelsNum * 3/4 ) {
+ Sort5LastNum = i;
+ continue;
+ }
+ GetDeviation = focal_abs(m_DeltaCb_DifferData[i] - m_DeltaCb_DifferData[Sort5LastNum]);
+ if (GetDeviation >= DeviationMax_S5) {
+ if (bUseCriticalValue) {
+ if (GetDeviation >= Critical_Channel_S5) {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Critical Deviation 0f Sort5: %d",
+ i-1 + 1, m_DeltaCb_DifferData[i-1], i + 1, m_DeltaCb_DifferData[i], GetDeviation, Critical_Channel_S5);
+
+ }
+ else {
+ //SetCriticalMsg(i);
+ bCriticalResult = true;
+ }
+ }
+ else {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Deviation of Sort5: %d",
+ i-1 + 1, m_DeltaCb_DifferData[i-1], i + 1, m_DeltaCb_DifferData[i], GetDeviation, DeviationMax_S5);
+
+ }
+ }
+ if (MaxDev_AllS5 < GetDeviation)
+ MaxDev_AllS5 = GetDeviation;
+ }
+ }
+ Sort5LastNum = i;
+ }
+
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 6) {
+ if (bFirstUseSort6) {
+ bFirstUseSort6 = false;
+ }
+ else {
+ if (Sort6LastNum + 1 == i) {
+ if ( Sort6LastNum <= g_ScreenSetParam.iChannelsNum/2 - 1 && i >= g_ScreenSetParam.iChannelsNum/2 ) {
+ Sort6LastNum = i;
+ continue;
+ }
+ else if ( Sort6LastNum <= g_ScreenSetParam.iChannelsNum/4 - 1 && i >= g_ScreenSetParam.iChannelsNum/4 ) {
+ Sort6LastNum = i;
+ continue;
+ }
+ else if ( Sort6LastNum <= g_ScreenSetParam.iChannelsNum * 3/4 - 1 && i >= g_ScreenSetParam.iChannelsNum * 3/4 ) {
+ Sort6LastNum = i;
+ continue;
+ }
+ GetDeviation = focal_abs(m_DeltaCb_DifferData[i] - m_DeltaCb_DifferData[Sort6LastNum]);
+ if (GetDeviation >= DeviationMax_S6) {
+ if (bUseCriticalValue) {
+ if (GetDeviation >= Critical_Channel_S6) {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Critical Deviation 0f Sort6: %d",
+ i-1 + 1, m_DeltaCb_DifferData[i-1], i + 1, m_DeltaCb_DifferData[i], GetDeviation, Critical_Channel_S6);
+
+ }
+ else {
+ //SetCriticalMsg(i);
+ bCriticalResult = true;
+ }
+ }
+ else {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Deviation of Sort6: %d",
+ i-1 + 1, m_DeltaCb_DifferData[i-1], i + 1, m_DeltaCb_DifferData[i], GetDeviation, DeviationMax_S6);
+
+ }
+ }
+ if (MaxDev_AllS6 < GetDeviation)
+ MaxDev_AllS6 = GetDeviation;
+ }
+ }
+ Sort6LastNum = i;
+ }
+ }
+ if (!bFirstUseSort1) {
+ printk("\r\n\r\nGet max deviation of Sort1: %d, Set max deviation of Sort1: %d", MaxDev_AllS1,DeviationMax_S1);
+
+ }
+ if (!bFirstUseSort2) {
+ printk("\r\n\r\nGet max deviation of Sort2: %d, Set max deviation of Sort2: %d", MaxDev_AllS2,DeviationMax_S2);
+
+ }
+ if (!bFirstUseSort3) {
+ printk("\r\n\r\nGet max deviation of Sort3: %d, Set max deviation of Sort3: %d", MaxDev_AllS3,DeviationMax_S3);
+
+ }
+ if (!bFirstUseSort4) {
+ printk("\r\n\r\nGet max deviation of Sort4: %d, Set max deviation of Sort4: %d", MaxDev_AllS4,DeviationMax_S4);
+
+ }
+ if (!bFirstUseSort5) {
+ printk("\r\n\r\nGet max deviation of Sort5: %d, Set max deviation of Sort5: %d", MaxDev_AllS5,DeviationMax_S5);
+
+ }
+ if (!bFirstUseSort6) {
+ printk("\r\n\r\nGet max deviation of Sort6: %d, Set max deviation of Sort6: %d", MaxDev_AllS6,DeviationMax_S6);
+
+ }
+
+ printk("\r\n\r\nMax Deviation, ");
+ if (!bFirstUseSort1) {
+ printk("Sort1: %d, ", MaxDev_AllS1);
+ }
+ if (!bFirstUseSort2) {
+ printk("Sort2: %d, ", MaxDev_AllS2);
+ }
+ if (!bFirstUseSort3) {
+ printk("Sort3: %d, ", MaxDev_AllS3);
+ }
+ if (!bFirstUseSort4) {
+ printk("Sort4: %d, ", MaxDev_AllS4);
+ }
+ if (!bFirstUseSort5) {
+ printk("Sort5: %d, ", MaxDev_AllS5);
+ }
+ if (!bFirstUseSort6) {
+ printk("Sort6: %d, ", MaxDev_AllS6);
+ }
+
+ if (bCriticalResult && btmpresult) {
+ printk("\r\n\r\nChannels Deviation Test has Critical Result(TBD)!");
+ }
+ ///////////////////////////////////////////////////////Delta Ci End
+ if (btmpresult) {
+ printk("\r\n\r\n//Channels Deviation Test is OK!\r\n");
+ * bTestResult = true;
+ if (bCriticalResult)
+ * bTestResult = 2;
+ else
+ * bTestResult = true;
+ }
+ else {
+ * bTestResult = false;//NG
+ printk("\r\n\r\n//Channels Deviation Test is NG!\r\n");
+ }
+
+ return 0;
+}
+
+/************************************************************************
+* Name: FT6X36_TestItem_TwoSidesDeviationTest
+* Brief: TestItem: Two Sides Deviation Test. Check if Two Sides Deviation is within the range.
+* Input: none
+* Output: bTestResult, PASS or FAIL
+* Return: Comm Code. Code = 0x00 is OK, else fail.
+***********************************************************************/
+unsigned char FT6X36_TestItem_TwoSidesDeviationTest(unsigned char * bTestResult)
+{
+ ///////////////////////////////////////////////////////Channels Deviation Start
+
+ bool btmpresult = true;//Init
+ int i=0;
+
+ int DeviationMax = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S1;
+ int DeviationMax_S2 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S2;
+ int DeviationMax_S3 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S3;
+ int DeviationMax_S4 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S4;
+ int DeviationMax_S5 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S5;
+ int DeviationMax_S6 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S6;
+
+ int Critical_TwoSides_S1 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S1;
+ int Critical_TwoSides_S2 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S2;
+ int Critical_TwoSides_S3 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S3;
+ int Critical_TwoSides_S4 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S4;
+ int Critical_TwoSides_S5 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S5;
+ int Critical_TwoSides_S6 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S6;
+
+ bool bUseCriticalValue = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Set_Critical;
+
+ bool bCriticalResult = false;
+
+
+ bool bUseSort1 = false;
+ bool bUseSort2 = false;
+ bool bUseSort3 = false;
+ bool bUseSort4 = false;
+ bool bUseSort5 = false;
+ bool bUseSort6 = false;
+
+ int DevMax_AllS1 = 0, DevMax_AllS2 = 0, DevMax_AllS3 = 0, DevMax_AllS4 = 0, DevMax_AllS5 = 0, DevMax_AllS6 = 0;
+
+ int GetDeviation =0;
+
+ printk("\r\n\r\n==============================Test Item: -------- Two Sides Deviation Test ");
+
+ for (i=0; i < g_ScreenSetParam.iChannelsNum; i++) {
+ m_DeltaCb_DifferData[i] = m_DeltaCbData[i] - g_stCfg_SCap_DetailThreshold.DeltaCbTest_Base[i];
+ if (i== 0) { //Half
+ printk("\r\n\r\n//======= Differ Data of Delta CB: ");
+ printk("\r\nLeft Channel: ");
+ }
+ else if ( i * 2 == g_ScreenSetParam.iChannelsNum) {
+ printk("\r\nRight Channel: ");
+ }
+ else if ( i == g_ScreenSetParam.iChannelsNum) {
+ printk("\r\nKey: ");
+ }
+ printk("%3d ", m_DeltaCb_DifferData[i]);
+ }
+
+ printk("\r\n");
+
+ DeviationMax = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S1;
+ DeviationMax_S2 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S2;
+ DeviationMax_S3 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S3;
+ DeviationMax_S4 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S4;
+ DeviationMax_S5 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S5;
+ DeviationMax_S6 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Deviation_S6;
+
+ Critical_TwoSides_S1 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S1;
+ Critical_TwoSides_S2 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S2;
+ Critical_TwoSides_S3 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S3;
+ Critical_TwoSides_S4 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S4;
+ Critical_TwoSides_S5 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S5;
+ Critical_TwoSides_S6 = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Critical_S6;
+
+ bUseCriticalValue = g_stCfg_FT6X36_BasicThreshold.TwoSidesDeviationTest_Set_Critical;
+
+ bCriticalResult = false;
+
+ bUseSort1 = false;
+ bUseSort2 = false;
+ bUseSort3 = false;
+ bUseSort4 = false;
+ bUseSort5 = false;
+ bUseSort6 = false;
+
+ DevMax_AllS1 = 0;
+ DevMax_AllS2 = 0;
+ DevMax_AllS3 = 0;
+ DevMax_AllS4 = 0;
+ DevMax_AllS5 = 0;
+ DevMax_AllS6 = 0;
+
+ GetDeviation = 0;
+
+ for (i=0; i < g_ScreenSetParam.iChannelsNum/2; i++) {
+ GetDeviation = abs(m_DeltaCb_DifferData[i] - m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2]);
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 1) {
+ bUseSort1 = true;
+ if (GetDeviation >= DeviationMax) {
+ if (bUseCriticalValue) {
+ if (GetDeviation >= Critical_TwoSides_S1) {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Critical Deviation of Sort1: %d",
+ i + 1, m_DeltaCb_DifferData[i], i + g_ScreenSetParam.iChannelsNum/2, m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2],GetDeviation, Critical_TwoSides_S1);
+
+ }
+ else {
+ //
+ //if (abs(m_DeltaCb_DifferData[i]) > abs(m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2]))
+ // SetCriticalMsg(i);
+ //else
+ // SetCriticalMsg(i + g_ScreenSetParam.iChannelsNum/2);
+
+ bCriticalResult = true;
+ }
+ }
+ else {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Deviation of Sort1: %d",
+ i + 1, m_DeltaCb_DifferData[i], i + g_ScreenSetParam.iChannelsNum/2, m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2],GetDeviation, DeviationMax);
+
+ }
+ }
+ if (DevMax_AllS1 < GetDeviation)
+ DevMax_AllS1 = GetDeviation;
+ }
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 2) {
+ bUseSort2 = true;
+ if (GetDeviation >= DeviationMax_S2) {
+ if (bUseCriticalValue) {
+ if (GetDeviation >= Critical_TwoSides_S2) {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Critical Deviation of Sort2: %d",
+ i + 1, m_DeltaCb_DifferData[i], i + g_ScreenSetParam.iChannelsNum/2, m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2],GetDeviation, Critical_TwoSides_S2);
+
+ }
+ else {
+ //
+ //if (abs(m_DeltaCb_DifferData[i]) > abs(m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2]))
+ // SetCriticalMsg(i);
+ //else
+ // SetCriticalMsg(i + g_ScreenSetParam.iChannelsNum/2);
+ bCriticalResult = true;
+ }
+ }
+ else {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Deviation of Sort2: %d",
+ i + 1, m_DeltaCb_DifferData[i], i + g_ScreenSetParam.iChannelsNum/2, m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2],GetDeviation, DeviationMax_S2);
+
+ }
+ }
+ if (DevMax_AllS2 < GetDeviation)
+ DevMax_AllS2 = GetDeviation;
+ }
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 3) {
+ bUseSort3 = true;
+ if (GetDeviation >= DeviationMax_S3) {
+ if (bUseCriticalValue) {
+ if (GetDeviation >= Critical_TwoSides_S3) {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Critical Deviation of Sort3: %d",
+ i + 1, m_DeltaCb_DifferData[i], i + g_ScreenSetParam.iChannelsNum/2, m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2],GetDeviation, Critical_TwoSides_S3);
+
+ }
+ else {
+ //
+ //if (abs(m_DeltaCb_DifferData[i]) > abs(m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2]))
+ // SetCriticalMsg(i);
+ //else
+ // SetCriticalMsg(i + g_ScreenSetParam.iChannelsNum/2);
+ bCriticalResult = true;
+ }
+ }
+ else {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Deviation of Sort3: %d",
+ i + 1, m_DeltaCb_DifferData[i], i + g_ScreenSetParam.iChannelsNum/2, m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2],GetDeviation, DeviationMax_S3);
+
+ }
+ }
+ if (DevMax_AllS3 < GetDeviation)
+ DevMax_AllS3 = GetDeviation;
+ }
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 4) {
+ bUseSort4 = true;
+ if (GetDeviation >= DeviationMax_S4) {
+ if (bUseCriticalValue) {
+ if (GetDeviation >= Critical_TwoSides_S4) {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Critical Deviation of Sort4: %d",
+ i + 1, m_DeltaCb_DifferData[i], i + g_ScreenSetParam.iChannelsNum/2, m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2],GetDeviation, Critical_TwoSides_S4);
+
+ }
+ else {
+ //
+ //if (abs(m_DeltaCb_DifferData[i]) > abs(m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2]))
+ // SetCriticalMsg(i);
+ //else
+ // SetCriticalMsg(i + g_ScreenSetParam.iChannelsNum/2);
+ bCriticalResult = true;
+ }
+ }
+ else {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Deviation of Sort4: %d",
+ i + 1, m_DeltaCb_DifferData[i], i + g_ScreenSetParam.iChannelsNum/2, m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2],GetDeviation, DeviationMax_S4);
+
+ }
+ }
+ if (DevMax_AllS4 < GetDeviation)
+ DevMax_AllS4 = GetDeviation;
+ }
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 5) {
+ bUseSort5 = true;
+ if (GetDeviation >= DeviationMax_S5) {
+ if (bUseCriticalValue) {
+ if (GetDeviation >= Critical_TwoSides_S5) {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Critical Deviation of Sort5: %d",
+ i + 1, m_DeltaCb_DifferData[i], i + g_ScreenSetParam.iChannelsNum/2, m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2],GetDeviation, Critical_TwoSides_S5);
+
+ }
+ else {
+ //
+ //if (abs(m_DeltaCb_DifferData[i]) > abs(m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2]))
+ // SetCriticalMsg(i);
+ //else
+ // SetCriticalMsg(i + g_ScreenSetParam.iChannelsNum/2);
+ bCriticalResult = true;
+ }
+ }
+ else {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Deviation of Sort5: %d",
+ i + 1, m_DeltaCb_DifferData[i], i + g_ScreenSetParam.iChannelsNum/2, m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2],GetDeviation, DeviationMax_S5);
+
+ }
+ }
+ if (DevMax_AllS5 < GetDeviation)
+ DevMax_AllS5 = GetDeviation;
+ }
+
+
+ if (g_stCfg_SCap_DetailThreshold.DeltaCxTest_Sort[i] == 6) {
+ bUseSort6 = true;
+ if (GetDeviation >= DeviationMax_S6) {
+ if (bUseCriticalValue) {
+ if (GetDeviation >= Critical_TwoSides_S6) {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Critical Deviation of Sort6: %d",
+ i + 1, m_DeltaCb_DifferData[i], i + g_ScreenSetParam.iChannelsNum/2, m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2],GetDeviation, Critical_TwoSides_S6);
+
+ }
+ else {
+ //
+ //if (abs(m_DeltaCb_DifferData[i]) > abs(m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2]))
+ // SetCriticalMsg(i);
+ //else
+ // SetCriticalMsg(i + g_ScreenSetParam.iChannelsNum/2);
+ bCriticalResult = true;
+ }
+ }
+ else {
+ btmpresult = false;
+ printk("\r\nCh_%2d, Value: %2d, Ch_%2d, Value: %2d, Deviation: %d, Set Max Deviation of Sort6: %d",
+ i + 1, m_DeltaCb_DifferData[i], i + g_ScreenSetParam.iChannelsNum/2, m_DeltaCb_DifferData[i + g_ScreenSetParam.iChannelsNum/2],GetDeviation, DeviationMax_S6);
+
+ }
+ }
+ if (DevMax_AllS6 < GetDeviation)
+ DevMax_AllS6 = GetDeviation;
+ }
+
+ }
+ if (bUseSort1) {
+ printk("\r\n\r\nGet Max Deviation of Sort1: %d, Set Max Deviation of Sort1: %d", DevMax_AllS1, DeviationMax);
+
+ }
+ if (bUseSort2) {
+ printk("\r\n\r\nGet Max Deviation of Sort2: %d, Set Max Deviation of Sort2: %d", DevMax_AllS2, DeviationMax_S2);
+
+ }
+ if (bUseSort3) {
+ printk("\r\n\r\nGet Max Deviation of Sort3: %d, Set Max Deviation of Sort3: %d", DevMax_AllS3, DeviationMax_S3);
+
+ }
+ if (bUseSort4) {
+ printk("\r\n\r\nGet Max Deviation of Sort4: %d, Set Max Deviation of Sort4: %d", DevMax_AllS4, DeviationMax_S4);
+
+ }
+ if (bUseSort5) {
+ printk("\r\n\r\nGet Max Deviation of Sort5: %d, Set Max Deviation of Sort5: %d", DevMax_AllS5, DeviationMax_S5);
+
+ }
+ if (bUseSort6) {
+ printk("\r\n\r\nGet Max Deviation of Sort6: %d, Set Max Deviation of Sort6: %d", DevMax_AllS6, DeviationMax_S6);
+
+ }
+
+ printk("\r\nMax Deviation, ");
+ if (bUseSort1) {
+ printk("Sort1: %d, ", DevMax_AllS1);
+
+ }
+ if (bUseSort2) {
+ printk("Sort2: %d, ", DevMax_AllS2);
+
+ }
+ if (bUseSort3) {
+ printk("Sort3: %d, ", DevMax_AllS3);
+
+ }
+ if (bUseSort4) {
+ printk("Sort4: %d, ", DevMax_AllS4);
+
+ }
+ if (bUseSort5) {
+ printk("Sort5: %d, ", DevMax_AllS5);
+
+ }
+ if (bUseSort6) {
+ printk("Sort6: %d, ", DevMax_AllS6);
+
+ }
+
+ if (bCriticalResult && btmpresult) {
+ printk("\r\n\r\nTwo Sides Deviation Test has Critical Result(TBD)!");
+ }
+ ///////////////////////////////////////////////////////Delta Ci End
+ if (btmpresult) {
+ printk("\r\n\r\n//Two Sides Deviation Test is OK!\r\n");
+ if (bCriticalResult)
+ * bTestResult = 2;
+ else
+ * bTestResult = true;
+ }
+ else {
+ * bTestResult = false;//NG
+ printk("\r\n\r\n//Two Sides Deviation Test is NG!\r\n");
+ }
+
+ return 0;
+}
diff --git a/drivers/input/touchscreen/focaltech_3267/Test_FT6X36.h b/drivers/input/touchscreen/focaltech_3267/Test_FT6X36.h
new file mode 100644
index 0000000..2831cde
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3267/Test_FT6X36.h
@@ -0,0 +1,41 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+#ifndef _TEST_FT6X36_H
+#define _TEST_FT6X36_H
+
+#include "test_lib.h"
+
+boolean FT6X36_StartTest(void);
+boolean FT3207_StartTest(bool* selftest_result, u8 *cb_deviation);
+int FT6X36_get_test_data(char *pTestData);//pTestData, External application for memory, buff size >= 1024*80
+int FT3207_get_test_data(char **pTestData);
+
+unsigned char FT6X36_TestItem_EnterFactoryMode(void);
+unsigned char FT6X36_TestItem_RawDataTest(bool * bTestResult);
+//unsigned char FT6X36_TestItem_ChannelsTest(bool * bTestResult);
+unsigned char FT6X36_TestItem_CbTest(bool * bTestResult);
+unsigned char FT6X36_TestItem_DeltaCbTest(unsigned char * bTestResult, u8 *cb_deviation);
+unsigned char FT6X36_TestItem_ChannelsDeviationTest(unsigned char * bTestResult);
+unsigned char FT6X36_TestItem_TwoSidesDeviationTest(unsigned char * bTestResult);
+
+boolean GetWaterproofMode(int iTestType, unsigned char ucChannelValue);
+
+#define DATA_SIZE 1024*1
+#define PROCESS_LOG_SIZE 1024*2
+#define ALLMSG_SIZE 1024*4
+
+#endif
diff --git a/drivers/input/touchscreen/focaltech_3267/focaltech_core.c b/drivers/input/touchscreen/focaltech_3267/focaltech_core.c
new file mode 100644
index 0000000..9cefa28
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3267/focaltech_core.c
@@ -0,0 +1,2532 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+/*******************************************************************************
+* Included header files
+*******************************************************************************/
+//user defined include header files
+#include "focaltech_core.h"
+
+#if defined(CONFIG_FB)
+#include <linux/notifier.h>
+#include <linux/fb.h>
+
+#elif defined(CONFIG_HAS_EARLYSUSPEND)
+#include <linux/earlysuspend.h>
+/* Early-suspend level */
+#define FTS_SUSPEND_LEVEL 1
+#endif
+
+
+/*******************************************************************************
+* Private constant and macro definitions using #define
+*******************************************************************************/
+#define FTS_META_REGS 3
+#define FTS_ONE_TCH_LEN 6
+#define FTS_TCH_LEN(x) (FTS_META_REGS + FTS_ONE_TCH_LEN * x)
+
+#define FTS_PRESS 0x7F
+#define FTS_MAX_ID 0x0F
+#define FTS_TOUCH_X_H_POS 3
+#define FTS_TOUCH_X_L_POS 4
+#define FTS_TOUCH_Y_H_POS 5
+#define FTS_TOUCH_Y_L_POS 6
+#define FTS_TOUCH_PRE_POS 7
+#define FTS_TOUCH_AREA_POS 8
+#define FTS_TOUCH_POINT_NUM 2
+#define FTS_TOUCH_EVENT_POS 3
+#define FTS_TOUCH_ID_POS 5
+
+#ifdef FTS_GESTRUE_EN
+#define FTS_TOUCH_GESTURE_ID 1
+#endif
+#define FTS_TOUCH_DOWN 0
+#define FTS_TOUCH_UP 1
+#define FTS_TOUCH_CONTACT 2
+
+#define POINT_READ_BUF (3 + FTS_ONE_TCH_LEN * FTS_MAX_POINTS)
+
+/*register address*/
+#define FTS_REG_DEV_MODE 0x00
+#define FTS_DEV_MODE_REG_CAL 0x02
+
+#define FTS_REG_PMODE 0xA5
+#define FTS_REG_AUTO_ENTER_MONITOR 0x86
+
+#define FTS_REG_POINT_RATE 0x88
+#define FTS_REG_THGROUP 0x80
+
+/* power register bits*/
+#define FTS_PMODE_ACTIVE 0x00
+#define FTS_PMODE_MONITOR 0x01
+#define FTS_PMODE_STANDBY 0x02
+#define FTS_PMODE_HIBERNATE 0x03
+
+#define FTS_STATUS_NUM_TP_MASK 0x0F
+
+#define FTS_VTG_MIN_UV 2600000
+#define FTS_VTG_MAX_UV 3300000
+#define FTS_I2C_VTG_MIN_UV 1800000
+#define FTS_I2C_VTG_MAX_UV 1800000
+
+#define FTS_COORDS_ARR_SIZE 4
+#define MAX_BUTTONS 4
+
+#define FTS_8BIT_SHIFT 8
+#define FTS_4BIT_SHIFT 4
+
+/* psensor register address*/
+#define FTS_REG_PSENSOR_ENABLE 0xB0
+#define FTS_REG_PSENSOR_STATUS 0x01
+
+/* psensor register bits*/
+#define FTS_PSENSOR_ENABLE_MASK 0x01
+#define FTS_PSENSOR_STATUS_NEAR 0xC0
+#define FTS_PSENSOR_STATUS_FAR 0xE0
+#define FTS_PSENSOR_FAR_TO_NEAR 0
+#define FTS_PSENSOR_NEAR_TO_FAR 1
+#define FTS_PSENSOR_ORIGINAL_STATE_FAR 1
+#define FTS_PSENSOR_WAKEUP_TIMEOUT 500
+
+#define PINCTRL_STATE_ACTIVE "pmx_ts_active"
+#define PINCTRL_STATE_SUSPEND "pmx_ts_suspend"
+#define PINCTRL_STATE_RELEASE "pmx_ts_release"
+
+/*******************************************************************************
+* Private enumerations, structures and unions using typedef
+*******************************************************************************/
+
+/*******************************************************************************
+* Static variables
+*******************************************************************************/
+
+
+/*******************************************************************************
+* Global variable or extern global variabls/functions
+*******************************************************************************/
+struct i2c_client *fts_i2c_client;
+struct fts_ts_data *fts_wq_data;
+struct input_dev *fts_input_dev;
+
+bool print_point = false;
+static unsigned int buf_count_add=0;
+static unsigned int buf_count_neg=0;
+#ifdef FTS_GESTRUE_EN
+bool print_gesture = false;
+
+bool big_area_enabled_flag = false;
+bool en_big_area_func = true;
+#endif
+
+bool fts_wq_queue_result = false;
+bool fts_wq_running = false;
+unsigned int irq_handler_recovery_count = 0;
+unsigned int suspend_resume_recovery_count = 0;
+unsigned int plam_recovery_count = 0;
+
+bool ts_pwr_disabled = false;
+
+struct irq_desc *fts_irq_desc = NULL;
+
+u8 buf_touch_data[30*POINT_READ_BUF] = { 0 };
+
+#ifdef CONFIG_TOUCHSCREEN_FTS_PSENSOR
+static struct sensors_classdev __maybe_unused sensors_proximity_cdev = {
+ .name = "fts-proximity",
+ .vendor = "FocalTech",
+ .version = 1,
+ .handle = SENSORS_PROXIMITY_HANDLE,
+ .type = SENSOR_TYPE_PROXIMITY,
+ .max_range = "5.0",
+ .resolution = "5.0",
+ .sensor_power = "0.1",
+ .min_delay = 0,
+ .fifo_reserved_event_count = 0,
+ .fifo_max_event_count = 0,
+ .enabled = 0,
+ .delay_msec = 200,
+ .sensors_enable = NULL,
+ .sensors_poll_delay = NULL,
+};
+#endif
+
+/*******************************************************************************
+* Static function prototypes
+*******************************************************************************/
+int fts_ts_start(struct device *dev);
+
+#ifdef CONFIG_TOUCHSCREEN_FTS_PSENSOR
+/*******************************************************************************
+* Name: fts_psensor_support_enabled
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static inline bool fts_psensor_support_enabled(void)
+{
+ return config_enabled(CONFIG_TOUCHSCREEN_FTS_PSENSOR);
+}
+#endif
+
+void fts_reset_chip(void) {
+ gpio_set_value_cansleep(fts_wq_data->pdata->reset_gpio, 0);
+ msleep(fts_wq_data->pdata->hard_rst_dly);
+ gpio_set_value_cansleep(fts_wq_data->pdata->reset_gpio, 1);
+}
+
+/*******************************************************************************
+* Name: fts_i2c_read
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+int fts_i2c_read(struct i2c_client *client, char *writebuf, int writelen, char *readbuf, int readlen)
+{
+ int ret = 0;
+
+ mutex_lock(&i2c_rw_access);
+
+ if (writelen > 0) {
+ struct i2c_msg msgs[] = {
+ {
+ .addr = client->addr,
+ .flags = 0,
+ .len = writelen,
+ .buf = writebuf,
+ },
+ {
+ .addr = client->addr,
+ .flags = I2C_M_RD,
+ .len = readlen,
+ .buf = readbuf,
+ },
+ };
+ ret = i2c_transfer(client->adapter, msgs, 2);
+ if (ret < 0)
+ dev_err(&client->dev, "%s: i2c read error.\n", __func__);
+ } else {
+ struct i2c_msg msgs[] = {
+ {
+ .addr = client->addr,
+ .flags = I2C_M_RD,
+ .len = readlen,
+ .buf = readbuf,
+ },
+ };
+ ret = i2c_transfer(client->adapter, msgs, 1);
+ if (ret < 0)
+ dev_err(&client->dev, "%s:i2c read error.\n", __func__);
+ }
+
+ mutex_unlock(&i2c_rw_access);
+
+ return ret;
+}
+
+/*******************************************************************************
+* Name: fts_i2c_write
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+int fts_i2c_write(struct i2c_client *client, char *writebuf, int writelen)
+{
+ int ret;
+
+ struct i2c_msg msgs[] = {
+ {
+ .addr = client->addr,
+ .flags = 0,
+ .len = writelen,
+ .buf = writebuf,
+ },
+ };
+ mutex_lock(&i2c_rw_access);
+ ret = i2c_transfer(client->adapter, msgs, 1);
+ if (ret < 0)
+ dev_err(&client->dev, "%s: i2c write error.\n", __func__);
+
+ mutex_unlock(&i2c_rw_access);
+
+ return ret;
+}
+
+/*******************************************************************************
+* Name: fts_write_reg
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+int fts_write_reg(struct i2c_client *client, u8 addr, const u8 val)
+{
+ u8 buf[2] = {0};
+
+ buf[0] = addr;
+ buf[1] = val;
+
+ return fts_i2c_write(client, buf, sizeof(buf));
+}
+
+/*******************************************************************************
+* Name: fts_read_reg
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+int fts_read_reg(struct i2c_client *client, u8 addr, u8 *val)
+{
+ return fts_i2c_read(client, &addr, 1, val, 1);
+}
+
+#ifdef CONFIG_TOUCHSCREEN_FTS_PSENSOR
+/*******************************************************************************
+* Name: fts_psensor_enable
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static void fts_psensor_enable(struct fts_ts_data *data, int enable)
+{
+ u8 state;
+ int ret = -1;
+
+ if (data->client == NULL)
+ return;
+
+ fts_read_reg(data->client, FTS_REG_PSENSOR_ENABLE, &state);
+ if (enable)
+ state |= FTS_PSENSOR_ENABLE_MASK;
+ else
+ state &= ~FTS_PSENSOR_ENABLE_MASK;
+
+ ret = fts_write_reg(data->client, FTS_REG_PSENSOR_ENABLE, state);
+ if (ret < 0)
+ dev_err(&data->client->dev,
+ "write psensor switch command failed\n");
+ return;
+}
+
+/*******************************************************************************
+* Name: fts_psensor_enable_set
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_psensor_enable_set(struct sensors_classdev *sensors_cdev,
+ unsigned int enable)
+{
+ struct fts_psensor_platform_data *psensor_pdata =
+ container_of(sensors_cdev, struct fts_psensor_platform_data, ps_cdev);
+ struct fts_ts_data *data = psensor_pdata->data;
+ struct input_dev *input_dev = data->psensor_pdata->input_psensor_dev;
+
+ mutex_lock(&input_dev->mutex);
+ fts_psensor_enable(data, enable);
+ psensor_pdata->tp_psensor_data = FTS_PSENSOR_ORIGINAL_STATE_FAR;
+ if (enable)
+ psensor_pdata->tp_psensor_opened = 1;
+ else
+ psensor_pdata->tp_psensor_opened = 0;
+ mutex_unlock(&input_dev->mutex);
+ return enable;
+}
+
+/*******************************************************************************
+* Name: fts_read_tp_psensor_data
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_read_tp_psensor_data(struct fts_ts_data *data)
+{
+ u8 psensor_status;
+ char tmp;
+ int ret = 1;
+
+ fts_read_reg(data->client, FTS_REG_PSENSOR_STATUS, &psensor_status);
+
+ tmp = data->psensor_pdata->tp_psensor_data;
+ if (psensor_status == FTS_PSENSOR_STATUS_NEAR)
+ data->psensor_pdata->tp_psensor_data = FTS_PSENSOR_FAR_TO_NEAR;
+ else if (psensor_status == FTS_PSENSOR_STATUS_FAR)
+ data->psensor_pdata->tp_psensor_data = FTS_PSENSOR_NEAR_TO_FAR;
+
+ if (tmp != data->psensor_pdata->tp_psensor_data) {
+ dev_dbg(&data->client->dev, "%s sensor data changed\n", __func__);
+ ret = 0;
+ }
+ return ret;
+}
+#else
+/*******************************************************************************
+* Name: fts_psensor_enable_set
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+/*
+static int fts_psensor_enable_set(struct sensors_classdev *sensors_cdev, unsigned int enable)
+{
+ return enable;
+}
+*/
+
+/*******************************************************************************
+* Name: fts_read_tp_psensor_data
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+/*
+static int fts_read_tp_psensor_data(struct fts_ts_data *data)
+{
+ return 0;
+}
+*/
+#endif
+
+static void
+fts_irq_enable(struct fts_ts_data *fts_ts)
+{
+ while (fts_irq_desc->depth > 0)
+ enable_irq(fts_ts->client->irq);
+}
+
+/*******************************************************************************
+* Name: fts_ts_interrupt
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static irqreturn_t fts_ts_interrupt(int irq, void *dev_id)
+{
+ struct fts_ts_data *fts_ts = dev_id;
+
+ if (!fts_ts) {
+ pr_err("%s: Invalid fts_ts\n", __func__);
+ return IRQ_HANDLED;
+ }
+
+ if (fts_wq_data->suspending)
+ return IRQ_HANDLED;
+
+ disable_irq_nosync(fts_ts->client->irq);
+
+ fts_wq_queue_result = queue_work(fts_ts->ts_workqueue, &fts_ts->touch_event_work);
+
+ if (fts_wq_queue_result == false) {
+ fts_irq_enable(fts_ts);
+ irq_handler_recovery_count++;
+ }
+
+ return IRQ_HANDLED;
+}
+
+/*******************************************************************************
+* Name: fts_read_Touchdata
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_read_Touchdata(struct fts_ts_data *data)
+{
+#ifdef CONFIG_TOUCHSCREEN_FTS_PSENSOR
+ int rc = 0;
+#endif
+
+ u8 buf[POINT_READ_BUF] = { 0 };
+ int ret = -1;
+
+ #ifdef CONFIG_TOUCHSCREEN_FTS_PSENSOR
+ if (fts_psensor_support_enabled() && data->pdata->psensor_support &&
+ data->psensor_pdata->tp_psensor_opened) {
+ rc = fts_read_tp_psensor_data(data);
+ if (!rc) {
+ if (data->suspended)
+ pm_wakeup_event(&data->client->dev,
+ FTS_PSENSOR_WAKEUP_TIMEOUT);
+ input_report_abs(data->psensor_pdata->input_psensor_dev,
+ ABS_DISTANCE,
+ data->psensor_pdata->tp_psensor_data);
+ input_sync(data->psensor_pdata->input_psensor_dev);
+ if (data->suspended)
+ return 1;
+ }
+ if (data->suspended)
+ return 1;
+ }
+ #endif
+
+ ret = fts_i2c_read(data->client, buf, 1, buf, POINT_READ_BUF);
+ if (ret < 0) {
+ dev_err(&data->client->dev, "%s read touchdata failed.\n", __func__);
+ return ret;
+ }
+
+ buf_count_add++;
+ memcpy( buf_touch_data+(((buf_count_add-1)%30)*POINT_READ_BUF), buf, sizeof(u8)*POINT_READ_BUF );
+
+ return 0;
+}
+
+/*******************************************************************************
+* Name: fts_report_value
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static void fts_report_value(struct fts_ts_data *data)
+{
+ struct ts_event *event = &data->event;
+ int i;
+ int uppoint = 0;
+ int touchs = 0;
+ u8 pointid = FTS_MAX_ID;
+
+ u8 buf[POINT_READ_BUF] = { 0 };
+
+ buf_count_neg++;
+ memcpy( buf,buf_touch_data+(((buf_count_neg-1)%30)*POINT_READ_BUF), sizeof(u8)*POINT_READ_BUF );
+
+
+ memset(event, 0, sizeof(struct ts_event));
+#ifdef FTS_GESTRUE_EN
+ event->gesture_id=buf[FTS_TOUCH_GESTURE_ID];
+
+ if (print_gesture) {
+ printk(KERN_INFO "[fts]%s, gesture_id : 0x%x, buf[FTS_TOUCH_GESTURE_ID]:0x%x, big_area_enabled_flag:0x%x\n",
+ __func__, event->gesture_id,buf[FTS_TOUCH_GESTURE_ID], big_area_enabled_flag);
+ }
+
+ if ((!big_area_enabled_flag) && (event->gesture_id == GESTURE_LARGE_AREA)) {
+ /* release all touches */
+ for (i = 0; i < FTS_MAX_POINTS; i++) {
+ input_mt_slot(data->input_dev, i);
+ input_mt_report_slot_state(data->input_dev, MT_TOOL_FINGER, false);
+ }
+ input_mt_report_pointer_emulation(data->input_dev, false);
+
+ /*press sleep key*/
+ if (print_gesture) {
+ printk(KERN_INFO "[fts]%s, enter press sleep key for suspend mode gesture_id : 0x%x\n", __func__, event->gesture_id );
+ }
+
+ if (en_big_area_func) {
+ input_report_key(data->input_dev, KEY_SLEEP, true); //press sleep key
+ input_sync(data->input_dev);
+ } else {
+ input_sync(data->input_dev);
+ }
+
+ big_area_enabled_flag = true;
+
+ return;
+ }
+
+ if ((big_area_enabled_flag) && (event->gesture_id == GESTURE_UNKNOWN)) {
+ /*release sleep key*/
+ printk(KERN_INFO "[fts]%s, enter release sleep key for suspend mode gesture_id : 0x%x\n", __func__, event->gesture_id );
+
+ if (en_big_area_func) {
+ input_report_key(data->input_dev, KEY_SLEEP, false); //release sleep key
+ input_sync(data->input_dev);
+ queue_delayed_work(data->ts_workqueue, &data->touch_event_recovery_work, msecs_to_jiffies(TP_RECOVERY_TIME));
+ } else {
+ big_area_enabled_flag= false;
+ }
+ return;
+ }
+
+ if (big_area_enabled_flag) {
+ if (print_gesture) {
+ printk(KERN_INFO "[fts]%s, waiting for release sleep key, suspend mode gesture_id : 0x%x\n", __func__, event->gesture_id );
+ }
+ return;
+ }
+
+#endif
+
+ event->point_num=buf[FTS_TOUCH_POINT_NUM] & 0x0F;
+ event->touch_point = 0;
+ for (i = 0; i < FTS_MAX_POINTS; i++) {
+ pointid = (buf[FTS_TOUCH_ID_POS + FTS_ONE_TCH_LEN * i]) >> 4;
+ if (pointid >= FTS_MAX_ID)
+ break;
+ else
+ event->touch_point++;
+
+ event->au16_x[i] =
+ (s16) (buf[FTS_TOUCH_X_H_POS + FTS_ONE_TCH_LEN * i] & 0x0F) <<
+ 8 | (s16) buf[FTS_TOUCH_X_L_POS + FTS_ONE_TCH_LEN * i];
+ event->au16_y[i] =
+ (s16) (buf[FTS_TOUCH_Y_H_POS + FTS_ONE_TCH_LEN * i] & 0x0F) <<
+ 8 | (s16) buf[FTS_TOUCH_Y_L_POS + FTS_ONE_TCH_LEN * i];
+ event->au8_touch_event[i] =
+ buf[FTS_TOUCH_EVENT_POS + FTS_ONE_TCH_LEN * i] >> 6;
+ event->au8_finger_id[i] =
+ (buf[FTS_TOUCH_ID_POS + FTS_ONE_TCH_LEN * i]) >> 4;
+ event->area[i] =
+ (buf[FTS_TOUCH_AREA_POS + FTS_ONE_TCH_LEN * i]) >> 4;
+ event->pressure[i] =
+ (s16) buf[FTS_TOUCH_PRE_POS + FTS_ONE_TCH_LEN * i];
+
+ if(0 == event->area[i])
+ event->area[i] = 0x09;
+
+ if(0 == event->pressure[i])
+ event->pressure[i] = 0x3f;
+
+ if((event->au8_touch_event[i]==0 || event->au8_touch_event[i]==2)&&(event->point_num==0))
+ return;
+ }
+
+ for (i = 0; i < event->touch_point; i++)
+ {
+ input_mt_slot(data->input_dev, event->au8_finger_id[i]);
+
+ if (event->au8_touch_event[i] == FTS_TOUCH_DOWN || event->au8_touch_event[i] == FTS_TOUCH_CONTACT)
+ {
+ input_mt_report_slot_state(data->input_dev, MT_TOOL_FINGER, true);
+ input_report_abs(data->input_dev, ABS_MT_TOUCH_MAJOR, event->area[i]);
+ //input_report_abs(data->input_dev, ABS_MT_PRESSURE, event->pressure[i]);
+ input_report_abs(data->input_dev, ABS_MT_POSITION_X, event->au16_x[i]);
+ input_report_abs(data->input_dev, ABS_MT_POSITION_Y, event->au16_y[i]);
+ touchs |= BIT(event->au8_finger_id[i]);
+ data->touchs |= BIT(event->au8_finger_id[i]);
+ }
+ else
+ {
+ uppoint++;
+ input_mt_report_slot_state(data->input_dev, MT_TOOL_FINGER, false);
+ data->touchs &= ~BIT(event->au8_finger_id[i]);
+ printk(KERN_INFO "[fts] finger id=%d x=%d y=%d release\n", i, event->au16_x[i], event->au16_y[i]);
+ }
+ }
+
+ if(unlikely(data->touchs ^ touchs))
+ {
+ for(i = 0; i < FTS_MAX_POINTS; i++)
+ {
+ if(BIT(i) & (data->touchs ^ touchs))
+ {
+ input_mt_slot(data->input_dev, i);
+ input_mt_report_slot_state(data->input_dev, MT_TOOL_FINGER, false);
+ }
+ }
+ }
+ data->touchs = touchs;
+ if(event->touch_point == uppoint)
+ {
+ input_report_key(data->input_dev, BTN_TOUCH, 0);
+ }
+ else
+ {
+ input_report_key(data->input_dev, BTN_TOUCH, event->touch_point > 0);
+ }
+
+ input_sync(data->input_dev);
+}
+
+#ifdef FTS_GESTRUE_EN
+static void fts_gesture_check(struct fts_ts_data *data)
+{
+ u8 reg_value;
+ u8 ret;
+ u8 reg_addr = FTS_GESTURE_OUTPUT_ADRESS;
+
+ ret = fts_i2c_read(data->client, ®_addr, 1, ®_value, 1);
+
+ if (ret<0) {
+ printk(KERN_ERR "[fts]TP get tp_gesture_id fail \n");
+ data->tp_gesture_id = GESTURE_UNKNOWN; //i2c R/W fail
+ } else {
+ data->tp_gesture_id = reg_value;
+ if (print_gesture) {
+ printk(KERN_INFO "[fts]tp_gesture_id: 0x%x\n", reg_value);
+ }
+ }
+
+ if ( (data->tp_gesture_id == GESTURE_SMALL_AREA)) {
+ if (print_gesture) {
+ printk(KERN_INFO "[fts]%s, enter resume mode gesture_id : 0x%x\n", __func__, data->tp_gesture_id );
+ }
+
+ input_mt_slot(data->input_dev, 0);
+ input_mt_report_slot_state(data->input_dev, MT_TOOL_FINGER, 1);
+ input_report_abs(data->input_dev, ABS_MT_POSITION_X, 100);
+ input_report_abs(data->input_dev, ABS_MT_POSITION_Y, 100);
+ input_sync(data->input_dev);
+ mdelay(10);
+ input_mt_slot(data->input_dev, 0);
+ input_mt_report_slot_state(data->input_dev, MT_TOOL_FINGER, 0);
+ input_mt_report_pointer_emulation(data->input_dev, false);
+ input_sync(data->input_dev);
+ }
+}
+#endif
+/*******************************************************************************
+* Name: fts_touch_irq_work
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static void fts_touch_irq_work(struct work_struct *work)
+{
+ int ret = -1;
+
+ fts_wq_running = true;
+
+#ifdef FTS_GESTRUE_EN
+ if (fts_wq_data->suspended) {
+ fts_gesture_check(fts_wq_data);
+ } else
+#endif
+ {
+ ret = fts_read_Touchdata(fts_wq_data);
+ if (ret == 0)
+ fts_report_value(fts_wq_data);
+ }
+ fts_irq_enable(fts_wq_data);
+ fts_wq_running = false;
+}
+
+#ifdef FTS_GESTRUE_EN
+/*******************************************************************************
+* Name: fts_recovery_work
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static void fts_touch_recovery_work(struct work_struct *work)
+{
+ pr_err("%s: Recovery TP plam detect\n", __func__);
+ big_area_enabled_flag = false;
+ plam_recovery_count++;
+}
+#endif
+/*******************************************************************************
+* Name: fts_gpio_configure
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_gpio_configure(struct fts_ts_data *data, bool on)
+{
+ int err = 0;
+
+ if (on) {
+ if (gpio_is_valid(data->pdata->irq_gpio)) {
+ err = gpio_request(data->pdata->irq_gpio, "fts_irq_gpio");
+ if (err) {
+ dev_err(&data->client->dev, "irq gpio request failed");
+ goto err_irq_gpio_req;
+ }
+
+ err = gpio_direction_input(data->pdata->irq_gpio);
+ if (err) {
+ dev_err(&data->client->dev, "set_direction for irq gpio failed\n");
+ goto err_irq_gpio_dir;
+ }
+ }
+
+ if (gpio_is_valid(data->pdata->reset_gpio)) {
+ err = gpio_request(data->pdata->reset_gpio, "fts_reset_gpio");
+ if (err) {
+ dev_err(&data->client->dev, "reset gpio request failed");
+ goto err_irq_gpio_dir;
+ }
+
+ err = gpio_direction_output(data->pdata->reset_gpio, 0);
+ if (err) {
+ dev_err(&data->client->dev,
+ "set_direction for reset gpio failed\n");
+ goto err_reset_gpio_dir;
+ }
+ msleep(data->pdata->hard_rst_dly);
+ gpio_set_value_cansleep(data->pdata->reset_gpio, 1);
+ }
+
+ return 0;
+ } else {
+ if (gpio_is_valid(data->pdata->irq_gpio))
+ gpio_free(data->pdata->irq_gpio);
+ if (gpio_is_valid(data->pdata->reset_gpio)) {
+ /*
+ * This is intended to save leakage current
+ * only. Even if the call(gpio_direction_input)
+ * fails, only leakage current will be more but
+ * functionality will not be affected.
+ */
+ err = gpio_direction_input(data->pdata->reset_gpio);
+ if (err) {
+ dev_err(&data->client->dev,
+ "unable to set direction for gpio "
+ "[%d]\n", data->pdata->irq_gpio);
+ }
+ gpio_free(data->pdata->reset_gpio);
+ }
+
+ return 0;
+ }
+
+err_reset_gpio_dir:
+ if (gpio_is_valid(data->pdata->reset_gpio))
+ gpio_free(data->pdata->reset_gpio);
+err_irq_gpio_dir:
+ if (gpio_is_valid(data->pdata->irq_gpio))
+ gpio_free(data->pdata->irq_gpio);
+err_irq_gpio_req:
+ return err;
+}
+
+/*******************************************************************************
+* Name: fts_power_on
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_power_on(struct fts_ts_data *data, bool on)
+{
+ int rc = 0;
+
+ if (!on)
+ {
+ FTS_DBG("Enter fts_power_on false ! \n");
+ goto power_off;
+ }
+ regulator_set_load(data->vdd,100000);
+ rc = regulator_enable(data->vdd);
+ if (rc) {
+ dev_err(&data->client->dev, "Regulator vdd enable failed rc=%d\n", rc);
+ return rc;
+ }
+ regulator_set_load(data->vcc_i2c,100000);
+ rc = regulator_enable(data->vcc_i2c);
+ if (rc) {
+ dev_err(&data->client->dev, "Regulator vcc_i2c enable failed rc=%d\n", rc);
+ regulator_set_load(data->vdd,100);
+ regulator_disable(data->vdd);
+ }
+
+ return rc;
+
+
+power_off:
+ regulator_set_load(data->vdd,100);
+ rc = regulator_disable(data->vdd);
+ if (rc) {
+ dev_err(&data->client->dev, "Regulator vdd disable failed rc=%d\n", rc);
+ return rc;
+ }
+ regulator_set_load(data->vcc_i2c,100);
+ rc = regulator_disable(data->vcc_i2c);
+ if (rc) {
+ dev_err(&data->client->dev, "Regulator vcc_i2c disable failed rc=%d\n", rc);
+ regulator_set_load(data->vdd,100000);
+ rc = regulator_enable(data->vdd);
+ if (rc) {
+ dev_err(&data->client->dev,
+ "Regulator vdd enable failed rc=%d\n", rc);
+ }
+ }
+
+ return rc;
+}
+
+/*******************************************************************************
+* Name: fts_power_init
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_power_init(struct fts_ts_data *data, bool on)
+{
+ int rc;
+
+ if (!on)
+ {
+ dev_err(&data->client->dev, "fts_power_init false \n");
+ goto pwr_deinit;
+ }
+
+ data->vdd = regulator_get(&data->client->dev, "vdd");
+ if (IS_ERR(data->vdd)) {
+ rc = PTR_ERR(data->vdd);
+ dev_err(&data->client->dev, "Regulator get failed vdd rc=%d\n", rc);
+ return rc;
+ }
+
+ if (regulator_count_voltages(data->vdd) > 0) {
+ rc = regulator_set_voltage(data->vdd, FTS_VTG_MIN_UV, FTS_VTG_MAX_UV);
+ if (rc) {
+ dev_err(&data->client->dev, "Regulator set_vtg failed vdd rc=%d\n", rc);
+ goto reg_vdd_put;
+ }
+ }
+
+ data->vcc_i2c = regulator_get(&data->client->dev, "vcc_i2c");
+ if (IS_ERR(data->vcc_i2c)) {
+ rc = PTR_ERR(data->vcc_i2c);
+ dev_err(&data->client->dev, "Regulator get failed vcc_i2c rc=%d\n", rc);
+ goto reg_vdd_set_vtg;
+ }
+
+ if (regulator_count_voltages(data->vcc_i2c) > 0) {
+ rc = regulator_set_voltage(data->vcc_i2c, FTS_I2C_VTG_MIN_UV, FTS_I2C_VTG_MAX_UV);
+ if (rc) {
+ dev_err(&data->client->dev, "Regulator set_vtg failed vcc_i2c rc=%d\n", rc);
+ goto reg_vcc_i2c_put;
+ }
+ }
+ return 0;
+
+reg_vcc_i2c_put:
+ regulator_put(data->vcc_i2c);
+reg_vdd_set_vtg:
+ if (regulator_count_voltages(data->vdd) > 0)
+ regulator_set_voltage(data->vdd, 0, FTS_VTG_MAX_UV);
+reg_vdd_put:
+ regulator_put(data->vdd);
+ return rc;
+
+pwr_deinit:
+ if (regulator_count_voltages(data->vdd) > 0)
+ regulator_set_voltage(data->vdd, 0, FTS_VTG_MAX_UV);
+
+ regulator_put(data->vdd);
+
+ if (regulator_count_voltages(data->vcc_i2c) > 0)
+ regulator_set_voltage(data->vcc_i2c, 0, FTS_I2C_VTG_MAX_UV);
+
+ regulator_put(data->vcc_i2c);
+ return 0;
+}
+
+/*******************************************************************************
+* Name: fts_ts_pinctrl_init
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+#ifdef MSM_NEW_VER
+static int fts_ts_pinctrl_init(struct fts_ts_data *fts_data)
+{
+ int retval;
+
+ /* Get pinctrl if target uses pinctrl */
+ fts_data->ts_pinctrl = devm_pinctrl_get(&(fts_data->client->dev));
+ if (IS_ERR_OR_NULL(fts_data->ts_pinctrl)) {
+ retval = PTR_ERR(fts_data->ts_pinctrl);
+ dev_dbg(&fts_data->client->dev, "Target does not use pinctrl %d\n", retval);
+ goto err_pinctrl_get;
+ }
+
+ fts_data->pinctrl_state_active
+ = pinctrl_lookup_state(fts_data->ts_pinctrl, PINCTRL_STATE_ACTIVE);
+ if (IS_ERR_OR_NULL(fts_data->pinctrl_state_active)) {
+ retval = PTR_ERR(fts_data->pinctrl_state_active);
+ dev_err(&fts_data->client->dev,
+ "Can not lookup %s pinstate %d\n",
+ PINCTRL_STATE_ACTIVE, retval);
+ goto err_pinctrl_lookup;
+ }
+
+ fts_data->pinctrl_state_suspend
+ = pinctrl_lookup_state(fts_data->ts_pinctrl,
+ PINCTRL_STATE_SUSPEND);
+ if (IS_ERR_OR_NULL(fts_data->pinctrl_state_suspend)) {
+ retval = PTR_ERR(fts_data->pinctrl_state_suspend);
+ dev_err(&fts_data->client->dev,
+ "Can not lookup %s pinstate %d\n",
+ PINCTRL_STATE_SUSPEND, retval);
+ goto err_pinctrl_lookup;
+ }
+
+ fts_data->pinctrl_state_release
+ = pinctrl_lookup_state(fts_data->ts_pinctrl,
+ PINCTRL_STATE_RELEASE);
+ if (IS_ERR_OR_NULL(fts_data->pinctrl_state_release)) {
+ retval = PTR_ERR(fts_data->pinctrl_state_release);
+ dev_dbg(&fts_data->client->dev,
+ "Can not lookup %s pinstate %d\n",
+ PINCTRL_STATE_RELEASE, retval);
+ }
+
+ return 0;
+
+err_pinctrl_lookup:
+ devm_pinctrl_put(fts_data->ts_pinctrl);
+err_pinctrl_get:
+ fts_data->ts_pinctrl = NULL;
+ return retval;
+}
+#endif
+
+#ifdef CONFIG_PM
+/*******************************************************************************
+* Name: fts_ts_start
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+int fts_ts_start(struct device *dev)
+{
+ struct fts_ts_data *data = dev_get_drvdata(dev);
+ int err = 0;
+
+
+#ifdef FTS_POWER_CONTROL
+ if (data->pdata->power_on) {
+ err = data->pdata->power_on(true);
+ if (err) {
+ dev_err(dev, "power on failed");
+ return err;
+ }
+ } else {
+ err = fts_power_on(data, true);
+ if (err) {
+ dev_err(dev, "power on failed");
+ return err;
+ }
+ }
+ ts_pwr_disabled = false;
+
+ #ifdef MSM_NEW_VER
+ if (data->ts_pinctrl) {
+ err = pinctrl_select_state(data->ts_pinctrl, data->pinctrl_state_active);
+ if (err < 0)
+ dev_err(dev, "Cannot get active pinctrl state\n");
+ }
+ #endif
+
+#endif
+
+
+#ifdef FTS_GPIO_CONTROL
+ err = fts_gpio_configure(data, true);
+ if (err < 0) {
+ dev_err(&data->client->dev, "failed to put gpios in resume state\n");
+ goto err_gpio_configuration;
+ }
+#endif
+
+ if (gpio_is_valid(data->pdata->reset_gpio)) {
+ gpio_set_value_cansleep(data->pdata->reset_gpio, 0);
+ msleep(data->pdata->hard_rst_dly);
+ gpio_set_value_cansleep(data->pdata->reset_gpio, 1);
+ }
+
+ fts_irq_enable(data);
+
+#ifdef FTS_GESTRUE_EN
+ big_area_enabled_flag = false;
+#endif
+
+ data->suspended = false;
+
+ return err;
+
+#ifdef FTS_GPIO_CONTROL
+err_gpio_configuration:
+#endif
+
+
+#ifdef FTS_POWER_CONTROL
+
+#ifdef MSM_NEW_VER
+ if (data->ts_pinctrl) {
+ err = pinctrl_select_state(data->ts_pinctrl, data->pinctrl_state_suspend);
+ if (err < 0)
+ dev_err(dev, "Cannot get suspend pinctrl state\n");
+ }
+ #endif
+
+ if (data->pdata->power_on) {
+ err = data->pdata->power_on(false);
+ if (err)
+ dev_err(dev, "power off failed");
+ } else {
+ err = fts_power_on(data, false);
+ if (err)
+ dev_err(dev, "power off failed");
+ }
+ return err;
+#endif
+}
+
+/*******************************************************************************
+* Name: fts_ts_stop
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+int fts_ts_stop(struct device *dev)
+{
+ struct fts_ts_data *data = dev_get_drvdata(dev);
+ u8 txbuf[2];
+ int i, err;
+#ifdef FTS_GESTRUE_EN
+ u8 reg_addr = FTS_GESTURE_SETTING_ADRESS;
+ u8 reg_value = 0;
+#endif
+
+#ifndef FTS_GESTRUE_EN
+ disable_irq(data->client->irq);
+#endif
+ /* release all touches */
+ for (i = 0; i < data->pdata->num_max_touches; i++) {
+ input_mt_slot(data->input_dev, i);
+ input_mt_report_slot_state(data->input_dev, MT_TOOL_FINGER, 0);
+ }
+ input_mt_report_pointer_emulation(data->input_dev, false);
+ input_sync(data->input_dev);
+
+#ifdef FTS_GESTRUE_EN
+ err = fts_write_reg(fts_i2c_client, FTS_GESTURE_SETTING_ADRESS, 0x01); //Entry Gesture mode
+ err = fts_write_reg(fts_i2c_client, 0xd1, 0x20); //only listen small area
+
+ if (err < 0) {
+ printk(KERN_ERR "[fts]%s, TP set into gesture mode Fail !!!\n", __func__);
+ } else {
+ err = fts_i2c_read(fts_i2c_client, ®_addr, 1, ®_value, 1);
+ printk(KERN_INFO "[fts]%s, FTS_GESTURE_SETTING_ADRESS, ret val : %d \n", __func__, reg_value);
+ }
+
+ txbuf[0] = FTS_REG_AUTO_ENTER_MONITOR;
+ txbuf[1] = 1;
+ err = fts_write_reg(fts_i2c_client, txbuf[0], txbuf[1]);
+ printk(KERN_INFO "[fts]%s, FTS_REG_AUTO_ENTER_MONITOR, ret : %d\n", __func__, err);
+
+ txbuf[0] = FTS_REG_PMODE;
+ txbuf[1] = FTS_PMODE_MONITOR;
+ err = fts_write_reg(fts_i2c_client, txbuf[0], txbuf[1]); //Entry Monitor mode
+ printk(KERN_INFO "[fts]%s, FTS_PMODE_MONITOR, ret : %d\n", __func__, err);
+
+#else
+ txbuf[0] = FTS_REG_PMODE;
+ txbuf[1] = FTS_PMODE_HIBERNATE;
+ err = fts_write_reg(fts_i2c_client, txbuf[0], txbuf[1]); //Entry Hibernate mode
+ printk(KERN_INFO "[fts]%s, FTS_PMODE_HIBERNATE, ret : %d\n", __func__, err);
+
+#endif
+
+#ifdef FTS_POWER_CONTROL
+ if (data->pdata->power_on) {
+ err = data->pdata->power_on(false);
+ if (err) {
+ dev_err(dev, "power off failed");
+ goto pwr_off_fail;
+ }
+ } else {
+ err = fts_power_on(data, false);
+ if (err) {
+ dev_err(dev, "power off failed");
+ goto pwr_off_fail;
+ }
+ }
+ ts_pwr_disabled = true;
+
+#ifdef MSM_NEW_VER
+ if (data->ts_pinctrl) {
+ err = pinctrl_select_state(data->ts_pinctrl,
+ data->pinctrl_state_suspend);
+ if (err < 0)
+ dev_err(dev, "Cannot get suspend pinctrl state\n");
+ }
+#endif
+
+#endif
+
+#ifdef FTS_GPIO_CONTROL
+ err = fts_gpio_configure(data, false);
+ if (err < 0) {
+ dev_err(&data->client->dev,
+ "failed to put gpios in suspend state\n");
+ goto gpio_configure_fail;
+ }
+#endif
+
+#ifdef FTS_GESTRUE_EN
+ fts_irq_enable(data);
+#endif
+ data->suspended = true;
+
+ return 0;
+
+#ifdef FTS_GPIO_CONTROL
+gpio_configure_fail:
+#endif
+
+#ifdef FTS_POWER_CONTROL
+
+#ifdef MSM_NEW_VER
+ if (data->ts_pinctrl) {
+ err = pinctrl_select_state(data->ts_pinctrl,
+ data->pinctrl_state_active);
+ if (err < 0)
+ dev_err(dev, "Cannot get active pinctrl state\n");
+ }
+#endif
+
+ if (data->pdata->power_on) {
+ err = data->pdata->power_on(true);
+ if (err)
+ dev_err(dev, "power on failed");
+ } else {
+ err = fts_power_on(data, true);
+ if (err)
+ dev_err(dev, "power on failed");
+ }
+pwr_off_fail:
+ if (gpio_is_valid(data->pdata->reset_gpio)) {
+ gpio_set_value_cansleep(data->pdata->reset_gpio, 0);
+ msleep(data->pdata->hard_rst_dly);
+ gpio_set_value_cansleep(data->pdata->reset_gpio, 1);
+ }
+#endif
+
+#ifndef FTS_GESTRUE_EN
+ fts_irq_enable(data);
+#endif
+ return err;
+}
+
+int fts_ts_enable(struct device *dev)
+{
+ struct fts_ts_data *data = dev_get_drvdata(dev);
+ int err = 0;
+
+ if (!ts_pwr_disabled) {
+ pr_info("[fts]Touch vdd/vcc has been enabled\n");
+ return 0;
+ }
+ err = fts_power_on(data, true);
+ if (err) {
+ dev_err(dev, "[fts]power on failed\n");
+ return err;
+ }
+ ts_pwr_disabled = false;
+
+ if (gpio_is_valid(data->pdata->reset_gpio)) {
+ gpio_set_value_cansleep(data->pdata->reset_gpio, 0);
+ msleep(data->pdata->hard_rst_dly);
+ gpio_set_value_cansleep(data->pdata->reset_gpio, 1);
+ }
+
+ fts_irq_enable(data);
+ return err;
+}
+
+/*******************************************************************************
+* Name: fts_ts_disable
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+int fts_ts_disable(struct device *dev)
+{
+ struct fts_ts_data *data = dev_get_drvdata(dev);
+ u8 txbuf[2];
+ int i, err;
+
+ if (ts_pwr_disabled) {
+ dev_dbg(dev, "[fts]Touch vdd/vcc has been disabled\n");
+ return 0;
+ }
+
+ disable_irq(data->client->irq);
+
+ /* release all touches */
+ for (i = 0; i < data->pdata->num_max_touches; i++) {
+ input_mt_slot(data->input_dev, i);
+ input_mt_report_slot_state(data->input_dev, MT_TOOL_FINGER, 0);
+ }
+ input_mt_report_pointer_emulation(data->input_dev, false);
+ input_sync(data->input_dev);
+
+ //Entry Hibernate mode
+ txbuf[0] = FTS_REG_PMODE;
+ txbuf[1] = FTS_PMODE_HIBERNATE;
+ err = fts_write_reg(fts_i2c_client, txbuf[0], txbuf[1]);
+ printk(KERN_INFO "[fts]%s, FTS_PMODE_HIBERNATE, ret : %d\n", __func__, err);
+
+ err = fts_power_on(data, false);
+ if (err) {
+ dev_err(dev, "[fts]power off failed\n");
+ goto pwr_off_fail;
+ }
+
+ ts_pwr_disabled = true;
+ return 0;
+
+pwr_off_fail:
+ if (gpio_is_valid(data->pdata->reset_gpio)) {
+ gpio_set_value_cansleep(data->pdata->reset_gpio, 0);
+ msleep(data->pdata->hard_rst_dly);
+ gpio_set_value_cansleep(data->pdata->reset_gpio, 1);
+ }
+
+ fts_irq_enable(data);
+ return err;
+}
+
+/*******************************************************************************
+* Name: fts_ts_suspend
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+int fts_ts_suspend(struct device *dev)
+{
+ struct fts_ts_data *data = dev_get_drvdata(dev);
+
+ int err = 0;
+
+ printk(KERN_ERR "[fts]%s, start\n", __func__);
+
+ if (data->suspended) {
+ dev_info(dev, "Already in suspend state\n");
+ return 0;
+ }
+ data->suspending = true;
+
+#ifdef FTS_GESTRUE_EN
+ if (big_area_enabled_flag == true)
+ cancel_delayed_work(&data->touch_event_recovery_work);
+#endif
+
+ #ifdef CONFIG_TOUCHSCREEN_FTS_PSENSOR
+ if (fts_psensor_support_enabled() && data->pdata->psensor_support &&
+ device_may_wakeup(dev) &&
+ data->psensor_pdata->tp_psensor_opened) {
+
+ err = enable_irq_wake(data->client->irq);
+ if (err)
+ dev_err(&data->client->dev,
+ "%s: set_irq_wake failed\n", __func__);
+ data->suspended = true;
+ return err;
+ }
+ #endif
+
+ err = fts_ts_stop(dev);
+
+ printk(KERN_ERR "[fts]%s, finish, err : %d\n", __func__, err);
+ data->suspending = false;
+ if (err < 0)
+ return err;
+
+ return 0;
+}
+
+/*******************************************************************************
+* Name: fts_ts_resume
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+int fts_ts_resume(struct device *dev)
+{
+ int err;
+ struct fts_ts_data *data = dev_get_drvdata(dev);
+
+ printk(KERN_INFO "[fts]%s, start\n", __func__);
+ if (!data->suspended) {
+ dev_dbg(dev, "Already in awake state\n");
+ return 0;
+ }
+
+#ifdef CONFIG_TOUCHSCREEN_FTS_PSENSOR
+ if (fts_psensor_support_enabled() && data->pdata->psensor_support &&
+ device_may_wakeup(dev) &&
+ data->psensor_pdata->tp_psensor_opened) {
+ err = disable_irq_wake(data->client->irq);
+ if (err)
+ dev_err(&data->client->dev, "%s: disable_irq_wake failed\n", __func__);
+ data->suspended = false;
+ return err;
+ }
+#endif
+
+ err = fts_ts_start(dev);
+ printk(KERN_INFO "[fts]%s, finish, err : %d\n", __func__, err);
+ if (err < 0)
+ return err;
+ return 0;
+}
+
+/*******************************************************************************
+* Name: fts_ts_open
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_ts_open(struct input_dev *input_dev)
+{
+ struct fts_ts_data *data;
+ int err = 0;
+
+ printk(KERN_INFO "[fts]%s, start\n", __func__);
+ data = input_get_drvdata(input_dev);
+ err = fts_ts_enable(&data->client->dev);
+ printk(KERN_INFO "[fts]%s, finish, err : %d\n", __func__, err);
+ if (err < 0) {
+ printk(KERN_ERR "[fts]%s, TP power on fail, err : %d\n", __func__, err);
+ return err;
+ }
+ return 0;
+}
+
+/*******************************************************************************
+* Name: fts_ts_close
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static void fts_ts_close(struct input_dev *input_dev)
+{
+ struct fts_ts_data *data;
+ int err = 0;
+
+ printk(KERN_INFO "[fts]%s, start\n", __func__);
+ data = input_get_drvdata(input_dev);
+ err = fts_ts_disable(&data->client->dev);
+ printk(KERN_INFO "[fts]%s, finish, err : %d\n", __func__, err);
+ if (err < 0) {
+ printk(KERN_ERR "[fts]%s, TP power disable fail, err : %d\n", __func__, err);
+ return;
+ }
+}
+
+static const struct dev_pm_ops fts_ts_pm_ops = {
+#if (!defined(CONFIG_FB) && !defined(CONFIG_HAS_EARLYSUSPEND))
+ .suspend = fts_ts_suspend,
+ .resume = fts_ts_resume,
+#endif
+};
+#else
+/*******************************************************************************
+* Name: fts_ts_suspend
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_ts_suspend(struct device *dev)
+{
+ return 0;
+}
+/*******************************************************************************
+* Name: fts_ts_resume
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_ts_resume(struct device *dev)
+{
+ return 0;
+}
+#endif
+
+#if defined(CONFIG_FB)
+/*******************************************************************************
+* Name: fb_notifier_callback
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fb_notifier_callback(struct notifier_block *self,
+ unsigned long event, void *data)
+{
+ struct fb_event *evdata = data;
+ int *blank;
+ struct fts_ts_data *fts_data =
+ container_of(self, struct fts_ts_data, fb_notif);
+
+ if (evdata && evdata->data && event == FB_EVENT_BLANK &&
+ fts_data && fts_data->client) {
+ blank = evdata->data;
+ switch (*blank) {
+ case FB_BLANK_UNBLANK:
+ fts_ts_resume(&fts_data->client->dev);
+ break;
+
+ case FB_BLANK_POWERDOWN:
+ case FB_BLANK_VSYNC_SUSPEND: //dean add. for screen on
+ fts_ts_suspend(&fts_data->client->dev);
+ break;
+
+ default:
+ break;
+ }
+ }
+
+ return 0;
+}
+#elif defined(CONFIG_HAS_EARLYSUSPEND)
+/*******************************************************************************
+* Name: fts_ts_early_suspend
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static void fts_ts_early_suspend(struct early_suspend *handler)
+{
+ struct fts_ts_data *data = container_of(handler,
+ struct fts_ts_data,
+ early_suspend);
+
+ fts_ts_suspend(&data->client->dev);
+}
+
+/*******************************************************************************
+* Name: fts_ts_late_resume
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static void fts_ts_late_resume(struct early_suspend *handler)
+{
+ struct fts_ts_data *data = container_of(handler,
+ struct fts_ts_data,
+ early_suspend);
+
+ fts_ts_resume(&data->client->dev);
+}
+#endif
+
+
+#ifdef CONFIG_OF
+/*******************************************************************************
+* Name: fts_get_dt_coords
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_get_dt_coords(struct device *dev, char *name,
+ struct fts_ts_platform_data *pdata)
+{
+ u32 coords[FTS_COORDS_ARR_SIZE];
+ struct property *prop;
+ struct device_node *np = dev->of_node;
+ int coords_size, rc;
+
+ prop = of_find_property(np, name, NULL);
+ if (!prop)
+ return -EINVAL;
+ if (!prop->value)
+ return -ENODATA;
+
+
+ coords_size = prop->length / sizeof(u32);
+ if (coords_size != FTS_COORDS_ARR_SIZE) {
+ dev_err(dev, "invalid %s\n", name);
+ return -EINVAL;
+ }
+
+ rc = of_property_read_u32_array(np, name, coords, coords_size);
+ if (rc && (rc != -EINVAL)) {
+ dev_err(dev, "Unable to read %s\n", name);
+ return rc;
+ }
+
+ if (!strcmp(name, "focaltech,panel-coords")) {
+ pdata->panel_minx = coords[0];
+ pdata->panel_miny = coords[1];
+ pdata->panel_maxx = coords[2];
+ pdata->panel_maxy = coords[3];
+ } else if (!strcmp(name, "focaltech,display-coords")) {
+ pdata->x_min = coords[0];
+ pdata->y_min = coords[1];
+ pdata->x_max = coords[2];
+ pdata->y_max = coords[3];
+ } else {
+ dev_err(dev, "unsupported property %s\n", name);
+ return -EINVAL;
+ }
+
+ return 0;
+}
+
+/*******************************************************************************
+* Name: fts_parse_dt
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_parse_dt(struct device *dev, struct fts_ts_platform_data *pdata)
+{
+ int rc;
+ struct device_node *np = dev->of_node;
+ struct property *prop;
+ u32 temp_val, num_buttons;
+ u32 button_map[MAX_BUTTONS];
+
+ pdata->name = "focaltech";
+ rc = of_property_read_string(np, "focaltech,name", &pdata->name);
+ if (rc && (rc != -EINVAL)) {
+ dev_err(dev, "Unable to read name\n");
+ return rc;
+ }
+
+ rc = fts_get_dt_coords(dev, "focaltech,panel-coords", pdata);
+ //if (rc && (rc != -EINVAL))
+ //return rc;
+
+ rc = fts_get_dt_coords(dev, "focaltech,display-coords", pdata);
+ if (rc)
+ return rc;
+
+ pdata->i2c_pull_up = of_property_read_bool(np, "focaltech,i2c-pull-up");
+
+ pdata->no_force_update = of_property_read_bool(np, "focaltech,no-force-update");
+ /* reset, irq gpio info */
+ pdata->reset_gpio = of_get_named_gpio_flags(np, "focaltech,reset-gpio", 0, &pdata->reset_gpio_flags);
+ if (pdata->reset_gpio < 0)
+ return pdata->reset_gpio;
+
+ pdata->irq_gpio = of_get_named_gpio_flags(np, "focaltech,irq-gpio", 0, &pdata->irq_gpio_flags);
+ if (pdata->irq_gpio < 0)
+ return pdata->irq_gpio;
+
+ pdata->fw_name = "ft_fw.bin";
+ rc = of_property_read_string(np, "focaltech,fw-name", &pdata->fw_name);
+ if (rc && (rc != -EINVAL)) {
+ dev_err(dev, "Unable to read fw name\n");
+ return rc;
+ }
+
+ rc = of_property_read_u32(np, "focaltech,group-id", &temp_val);
+ if (!rc)
+ pdata->group_id = temp_val;
+ else
+ return rc;
+
+ rc = of_property_read_u32(np, "focaltech,hard-reset-delay-ms", &temp_val);
+ if (!rc)
+ pdata->hard_rst_dly = temp_val;
+ else
+ return rc;
+
+ rc = of_property_read_u32(np, "focaltech,soft-reset-delay-ms", &temp_val);
+ if (!rc)
+ pdata->soft_rst_dly = temp_val;
+ else
+ return rc;
+
+ rc = of_property_read_u32(np, "focaltech,num-max-touches", &temp_val);
+ if (!rc)
+ pdata->num_max_touches = temp_val;
+ else
+ return rc;
+
+ rc = of_property_read_u32(np, "focaltech,fw-delay-aa-ms", &temp_val);
+ if (rc && (rc != -EINVAL)) {
+ dev_err(dev, "Unable to read fw delay aa\n");
+ return rc;
+ } else if (rc != -EINVAL)
+ pdata->info.delay_aa = temp_val;
+
+ rc = of_property_read_u32(np, "focaltech,fw-delay-55-ms", &temp_val);
+ if (rc && (rc != -EINVAL)) {
+ dev_err(dev, "Unable to read fw delay 55\n");
+ return rc;
+ } else if (rc != -EINVAL)
+ pdata->info.delay_55 = temp_val;
+
+ rc = of_property_read_u32(np, "focaltech,fw-upgrade-id1", &temp_val);
+ if (rc && (rc != -EINVAL)) {
+ dev_err(dev, "Unable to read fw upgrade id1\n");
+ return rc;
+ } else if (rc != -EINVAL)
+ pdata->info.upgrade_id_1 = temp_val;
+
+ rc = of_property_read_u32(np, "focaltech,fw-upgrade-id2", &temp_val);
+ if (rc && (rc != -EINVAL)) {
+ dev_err(dev, "Unable to read fw upgrade id2\n");
+ return rc;
+ } else if (rc != -EINVAL)
+ pdata->info.upgrade_id_2 = temp_val;
+
+ rc = of_property_read_u32(np, "focaltech,fw-delay-readid-ms", &temp_val);
+ if (rc && (rc != -EINVAL)) {
+ dev_err(dev, "Unable to read fw delay read id\n");
+ return rc;
+ } else if (rc != -EINVAL)
+ pdata->info.delay_readid = temp_val;
+
+ rc = of_property_read_u32(np, "focaltech,fw-delay-era-flsh-ms", &temp_val);
+ if (rc && (rc != -EINVAL)) {
+ dev_err(dev, "Unable to read fw delay erase flash\n");
+ return rc;
+ } else if (rc != -EINVAL)
+ pdata->info.delay_erase_flash = temp_val;
+
+ pdata->info.AUTO_CLB = of_property_read_bool(np, "focaltech,fw-auto-cal");
+
+ pdata->fw_vkey_support = of_property_read_bool(np, "focaltech,fw-vkey-support");
+
+ pdata->ignore_id_check = of_property_read_bool(np, "focaltech,ignore-id-check");
+
+ pdata->psensor_support = of_property_read_bool(np,
+ "focaltech,psensor-support");
+
+ rc = of_property_read_u32(np, "focaltech,family-id", &temp_val);
+ if (!rc)
+ pdata->family_id = temp_val;
+ else
+ return rc;
+
+ prop = of_find_property(np, "focaltech,button-map", NULL);
+ if (prop) {
+ num_buttons = prop->length / sizeof(temp_val);
+ if (num_buttons > MAX_BUTTONS)
+ return -EINVAL;
+
+ rc = of_property_read_u32_array(np, "focaltech,button-map", button_map, num_buttons);
+ if (rc) {
+ dev_err(dev, "Unable to read key codes\n");
+ return rc;
+ }
+ }
+
+ return 0;
+}
+#else
+/*******************************************************************************
+* Name: fts_parse_dt
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_parse_dt(struct device *dev, struct fts_ts_platform_data *pdata)
+{
+ return -ENODEV;
+}
+#endif
+
+/*******************************************************************************
+* Name: fts_debug_addr_is_valid
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static bool fts_debug_addr_is_valid(int addr)
+{
+ if (addr < 0 || addr > 0xFF) {
+ pr_err("FT reg address is invalid: 0x%x\n", addr);
+ return false;
+ }
+
+ return true;
+}
+
+/*******************************************************************************
+* Name: fts_debug_data_set
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_debug_data_set(void *_data, u64 val)
+{
+ struct fts_ts_data *data = _data;
+
+ mutex_lock(&data->input_dev->mutex);
+
+ if (fts_debug_addr_is_valid(data->addr))
+ dev_info(&data->client->dev,
+ "Writing into FT registers not supported\n");
+
+ mutex_unlock(&data->input_dev->mutex);
+
+ return 0;
+}
+
+/*******************************************************************************
+* Name: fts_debug_data_get
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_debug_data_get(void *_data, u64 *val)
+{
+ struct fts_ts_data *data = _data;
+ int rc;
+ u8 reg;
+
+ mutex_lock(&data->input_dev->mutex);
+
+ if (fts_debug_addr_is_valid(data->addr)) {
+ rc = fts_read_reg(data->client, data->addr, ®);
+ if (rc < 0)
+ dev_err(&data->client->dev,
+ "FT read register 0x%x failed (%d)\n",
+ data->addr, rc);
+ else
+ *val = reg;
+ }
+
+ mutex_unlock(&data->input_dev->mutex);
+
+ return 0;
+}
+
+DEFINE_SIMPLE_ATTRIBUTE(debug_data_fops, fts_debug_data_get, fts_debug_data_set, "0x%02llX\n");
+
+/*******************************************************************************
+* Name: fts_debug_addr_set
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_debug_addr_set(void *_data, u64 val)
+{
+ struct fts_ts_data *data = _data;
+
+ if (fts_debug_addr_is_valid(val)) {
+ mutex_lock(&data->input_dev->mutex);
+ data->addr = val;
+ mutex_unlock(&data->input_dev->mutex);
+ }
+
+ return 0;
+}
+
+/*******************************************************************************
+* Name: fts_debug_addr_get
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_debug_addr_get(void *_data, u64 *val)
+{
+ struct fts_ts_data *data = _data;
+
+ mutex_lock(&data->input_dev->mutex);
+
+ if (fts_debug_addr_is_valid(data->addr))
+ *val = data->addr;
+
+ mutex_unlock(&data->input_dev->mutex);
+
+ return 0;
+}
+
+DEFINE_SIMPLE_ATTRIBUTE(debug_addr_fops, fts_debug_addr_get, fts_debug_addr_set, "0x%02llX\n");
+
+/*******************************************************************************
+* Name: fts_debug_suspend_set
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_debug_suspend_set(void *_data, u64 val)
+{
+ struct fts_ts_data *data = _data;
+
+ mutex_lock(&data->input_dev->mutex);
+
+ if (val)
+ fts_ts_suspend(&data->client->dev);
+ else
+ fts_ts_resume(&data->client->dev);
+
+ mutex_unlock(&data->input_dev->mutex);
+
+ return 0;
+}
+
+/*******************************************************************************
+* Name: fts_debug_suspend_get
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_debug_suspend_get(void *_data, u64 *val)
+{
+ struct fts_ts_data *data = _data;
+
+ mutex_lock(&data->input_dev->mutex);
+ *val = data->suspended;
+ mutex_unlock(&data->input_dev->mutex);
+
+ return 0;
+}
+
+DEFINE_SIMPLE_ATTRIBUTE(debug_suspend_fops, fts_debug_suspend_get, fts_debug_suspend_set, "%lld\n");
+
+/*******************************************************************************
+* Name: fts_debug_dump_info
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+int fts_debug_dump_info(struct seq_file *m, void *v)
+{
+ struct fts_ts_data *data = m->private;
+
+ seq_printf(m, "%s\n", data->ts_info);
+
+ return 0;
+}
+
+/*******************************************************************************
+* Name: debugfs_dump_info_open
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int debugfs_dump_info_open(struct inode *inode, struct file *file)
+{
+ return single_open(file, fts_debug_dump_info, inode->i_private);
+}
+
+static const struct file_operations debug_dump_info_fops = {
+ .owner = THIS_MODULE,
+ .open = debugfs_dump_info_open,
+ .read = seq_read,
+ .release = single_release,
+};
+
+/*******************************************************************************
+* Name: fts_ts_probe
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_ts_probe(struct i2c_client *client, const struct i2c_device_id *id)
+{
+ struct fts_ts_platform_data *pdata;
+
+ #ifdef CONFIG_TOUCHSCREEN_FTS_PSENSOR
+ struct fts_psensor_platform_data *psensor_pdata;
+ struct input_dev *psensor_input_dev;
+ #endif
+
+ struct fts_ts_data *data;
+ struct input_dev *input_dev;
+
+ struct dentry *temp;
+ u8 reg_value;
+ u8 reg_addr;
+ int err, len;
+
+ if (client->dev.of_node) {
+ pdata = devm_kzalloc(&client->dev,
+ sizeof(struct fts_ts_platform_data), GFP_KERNEL);
+ if (!pdata) {
+ dev_err(&client->dev, "Failed to allocate memory\n");
+ return -ENOMEM;
+ }
+
+ err = fts_parse_dt(&client->dev, pdata);
+ if (err) {
+ dev_err(&client->dev, "DT parsing failed\n");
+ //return err;
+ }
+
+ } else
+ pdata = client->dev.platform_data;
+
+ if (!pdata) {
+ dev_err(&client->dev, "Invalid pdata\n");
+ return -EINVAL;
+ }
+
+ if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
+ dev_err(&client->dev, "I2C not supported\n");
+ return -ENODEV;
+ }
+
+ data = devm_kzalloc(&client->dev, sizeof(struct fts_ts_data), GFP_KERNEL);
+ if (!data) {
+ dev_err(&client->dev, "Not enough memory\n");
+ return -ENOMEM;
+ }
+
+ fts_wq_data = data;
+
+ if (pdata->fw_name) {
+ len = strlen(pdata->fw_name);
+ if (len > FTS_FW_NAME_MAX_LEN - 1) {
+ dev_err(&client->dev, "Invalid firmware name\n");
+ return -EINVAL;
+ }
+
+ strlcpy(data->fw_name, pdata->fw_name, len + 1);
+ }
+
+ data->tch_data_len = FTS_TCH_LEN(pdata->num_max_touches);
+ data->tch_data = devm_kzalloc(&client->dev, data->tch_data_len, GFP_KERNEL);
+
+ if (!data->tch_data) {
+ dev_err(&client->dev, "Not enough memory\n");
+ return -ENOMEM;
+ }
+
+ input_dev = input_allocate_device();
+ if (!input_dev) {
+ dev_err(&client->dev, "failed to allocate input device\n");
+ return -ENOMEM;
+ }
+
+ data->input_dev = input_dev;
+ data->client = client;
+ data->pdata = pdata;
+
+ input_dev->name = "fts_ts";
+ input_dev->id.bustype = BUS_I2C;
+ input_dev->dev.parent = &client->dev;
+
+ input_dev->open = fts_ts_open;
+ input_dev->close = fts_ts_close;
+
+ input_set_drvdata(input_dev, data);
+ i2c_set_clientdata(client, data);
+
+ __set_bit(EV_KEY, input_dev->evbit);
+ __set_bit(EV_ABS, input_dev->evbit);
+ __set_bit(BTN_TOUCH, input_dev->keybit);
+ __set_bit(INPUT_PROP_DIRECT, input_dev->propbit);
+
+ input_mt_init_slots(input_dev, pdata->num_max_touches, 0);
+ //input_mt_init_slots(input_dev, pdata->num_max_touches);
+ input_set_abs_params(input_dev, ABS_MT_POSITION_X, pdata->x_min, pdata->x_max, 0, 0);
+ input_set_abs_params(input_dev, ABS_MT_POSITION_Y, pdata->y_min, pdata->y_max, 0, 0);
+ input_set_abs_params(input_dev, ABS_MT_TOUCH_MAJOR, 0, 0x0f, 0, 0);
+ //input_set_abs_params(input_dev, ABS_MT_PRESSURE, 0, 0xff, 0, 0);
+
+ err = input_register_device(input_dev);
+ if (err) {
+ dev_err(&client->dev, "Input device registration failed\n");
+ goto free_inputdev;
+ }
+
+
+ if (pdata->power_init) {
+ err = pdata->power_init(true);
+ if (err) {
+ dev_err(&client->dev, "pdata->power_init power init failed");
+ goto unreg_inputdev;
+ }
+ } else {
+ err = fts_power_init(data, true);
+ if (err) {
+ dev_err(&client->dev, "fts_power_init power init failed");
+ goto unreg_inputdev;
+ }
+ }
+
+ if (pdata->power_on) {
+ err = pdata->power_on(true);
+ if (err) {
+ dev_err(&client->dev, "power on failed");
+ goto pwr_deinit;
+ }
+ } else {
+ err = fts_power_on(data, true);
+ if (err) {
+ dev_err(&client->dev, "power on failed");
+ goto pwr_deinit;
+ }
+ }
+
+ #ifdef MSM_NEW_VER
+ err = fts_ts_pinctrl_init(data);
+ if (!err && data->ts_pinctrl) {
+ /*
+ * Pinctrl handle is optional. If pinctrl handle is found
+ * let pins to be configured in active state. If not
+ * found continue further without error.
+ */
+ err = pinctrl_select_state(data->ts_pinctrl,
+ data->pinctrl_state_active);
+ if (err < 0) {
+ dev_err(&client->dev,
+ "failed to select pin to active state");
+ }
+ }
+ #endif
+
+ err = fts_gpio_configure(data, true);
+ if (err < 0) {
+ dev_err(&client->dev,
+ "Failed to configure the gpios\n");
+ goto err_gpio_req;
+ }
+
+ /* make sure CTP already finish startup process */
+ msleep(data->pdata->soft_rst_dly);
+
+ INIT_WORK(&data->touch_event_work, fts_touch_irq_work);
+ data->ts_workqueue = create_workqueue(FTS_WORKQUEUE_NAME);
+ if (!data->ts_workqueue)
+ {
+ err = -ESRCH;
+ goto exit_create_singlethread;
+ }
+
+
+ /* check the controller id */
+ reg_addr = FTS_REG_ID;
+ err = fts_i2c_read(client, ®_addr, 1, ®_value, 1);
+ if (err < 0) {
+ dev_err(&client->dev, "version read failed");
+ goto free_gpio;
+ }
+
+ dev_info(&client->dev, "Device ID = 0x%x\n", reg_value);
+
+ data->family_id = pdata->family_id;
+
+ fts_i2c_client = client;
+ fts_input_dev = input_dev;
+
+ fts_get_upgrade_array();
+
+
+ dev_err(&client->dev, "pdata irq : %d \n", data->pdata->irq_gpio);
+ dev_err(&client->dev, "client irq : %d, pdata flags : %d \n", client->irq, pdata->irqflags);
+#ifdef FTS_GESTRUE_EN
+ INIT_DELAYED_WORK(&data->touch_event_recovery_work, fts_touch_recovery_work);
+#endif
+
+#ifdef FTS_GESTRUE_EN
+ irq_set_irq_wake(client->irq, 1);
+#endif
+ err = request_threaded_irq(/*client->irq*/gpio_to_irq(data->pdata->irq_gpio), NULL, fts_ts_interrupt,
+ pdata->irqflags | IRQF_ONESHOT | IRQF_TRIGGER_FALLING,
+ client->dev.driver->name, data);
+ if (err) {
+ dev_err(&client->dev, "request irq failed\n");
+ goto free_wake_irq;
+ }
+
+ fts_irq_desc = irq_to_desc(client->irq);
+ disable_irq(client->irq);
+
+ #ifdef CONFIG_TOUCHSCREEN_FTS_PSENSOR
+ if (fts_psensor_support_enabled() && data->pdata->psensor_support) {
+ device_init_wakeup(&client->dev, 1);
+ psensor_pdata = devm_kzalloc(&client->dev,
+ sizeof(struct fts_psensor_platform_data),
+ GFP_KERNEL);
+ if (!psensor_pdata) {
+ dev_err(&client->dev, "Failed to allocate memory\n");
+ goto irq_free;
+ }
+ data->psensor_pdata = psensor_pdata;
+
+ psensor_input_dev = input_allocate_device();
+ if (!psensor_input_dev) {
+ dev_err(&data->client->dev,
+ "Failed to allocate device\n");
+ goto free_psensor_pdata;
+ }
+
+ __set_bit(EV_ABS, psensor_input_dev->evbit);
+ input_set_abs_params(psensor_input_dev,
+ ABS_DISTANCE, 0, 1, 0, 0);
+ psensor_input_dev->name = "proximity";
+ psensor_input_dev->id.bustype = BUS_I2C;
+ psensor_input_dev->dev.parent = &data->client->dev;
+ data->psensor_pdata->input_psensor_dev = psensor_input_dev;
+
+ err = input_register_device(psensor_input_dev);
+ if (err) {
+ dev_err(&data->client->dev,
+ "Unable to register device, err=%d\n", err);
+ goto free_psensor_input_dev;
+ }
+
+ psensor_pdata->ps_cdev = sensors_proximity_cdev;
+ psensor_pdata->ps_cdev.sensors_enable =
+ fts_psensor_enable_set;
+ psensor_pdata->data = data;
+
+ err = sensors_classdev_register(&client->dev,
+ &psensor_pdata->ps_cdev);
+ if (err)
+ goto unregister_psensor_input_device;
+ }
+ #endif
+
+ data->dir = debugfs_create_dir(FTS_DEBUG_DIR_NAME, NULL);
+ if (data->dir == NULL || IS_ERR(data->dir)) {
+ pr_err("debugfs_create_dir failed(%ld)\n", PTR_ERR(data->dir));
+ err = PTR_ERR(data->dir);
+ }
+
+ temp = debugfs_create_file("addr", S_IRUSR | S_IWUSR, data->dir, data,
+ &debug_addr_fops);
+ if (temp == NULL || IS_ERR(temp)) {
+ pr_err("debugfs_create_file failed: rc=%ld\n", PTR_ERR(temp));
+ err = PTR_ERR(temp);
+ goto free_debug_dir;
+ }
+
+ temp = debugfs_create_file("data", S_IRUSR | S_IWUSR, data->dir, data,
+ &debug_data_fops);
+ if (temp == NULL || IS_ERR(temp)) {
+ pr_err("debugfs_create_file failed: rc=%ld\n", PTR_ERR(temp));
+ err = PTR_ERR(temp);
+ goto free_debug_dir;
+ }
+
+ temp = debugfs_create_file("suspend", S_IRUSR | S_IWUSR, data->dir,
+ data, &debug_suspend_fops);
+ if (temp == NULL || IS_ERR(temp)) {
+ pr_err("debugfs_create_file failed: rc=%ld\n", PTR_ERR(temp));
+ err = PTR_ERR(temp);
+ goto free_debug_dir;
+ }
+
+ temp = debugfs_create_file("dump_info", S_IRUSR | S_IWUSR, data->dir,
+ data, &debug_dump_info_fops);
+ if (temp == NULL || IS_ERR(temp)) {
+ pr_err("debugfs_create_file failed: rc=%ld\n", PTR_ERR(temp));
+ err = PTR_ERR(temp);
+ goto free_debug_dir;
+ }
+
+ data->ts_info = devm_kzalloc(&client->dev, FTS_INFO_MAX_LEN, GFP_KERNEL);
+ if (!data->ts_info) {
+ dev_err(&client->dev, "Not enough memory\n");
+ goto free_debug_dir;
+ }
+
+ /*get some register information */
+ reg_addr = FTS_REG_POINT_RATE;
+ fts_i2c_read(client, ®_addr, 1, ®_value, 1);
+ if (err < 0)
+ dev_err(&client->dev, "report rate read failed");
+
+ dev_info(&client->dev, "report rate = %dHz\n", reg_value * 10);
+
+ reg_addr = FTS_REG_THGROUP;
+ err = fts_i2c_read(client, ®_addr, 1, ®_value, 1);
+ if (err < 0)
+ dev_err(&client->dev, "threshold read failed");
+
+ dev_dbg(&client->dev, "touch threshold = %d\n", reg_value * 4);
+
+ fts_update_fw_ver(data);
+ fts_update_fw_vendor_id(data);
+
+ printk(KERN_INFO "[fts] The touch F/W has problem fw_vendor_id : %x \n", data->fw_vendor_id);
+
+ FTS_STORE_TS_INFO(data->ts_info, data->family_id, data->pdata->name,
+ data->pdata->num_max_touches, data->pdata->group_id,
+ data->pdata->fw_vkey_support ? "yes" : "no",
+ data->pdata->fw_name, data->fw_ver[0],
+ data->fw_ver[1], data->fw_ver[2]);
+
+ #ifdef FTS_APK_DEBUG
+ fts_create_apk_debug_channel(client);
+ #endif
+
+ #ifdef FTS_SYSFS_DEBUG
+ fts_create_sysfs(client);
+ #endif
+
+
+ #ifdef FTS_CTL_IIC
+ if (fts_rw_iic_drv_init(client) < 0)
+ {
+ dev_err(&client->dev, "%s:[FTS] create fts control iic driver failed\n", __func__);
+ }
+ #endif
+
+
+#ifdef FTS_GESTRUE_EN
+ input_set_capability(input_dev, EV_KEY, KEY_SLEEP);
+#endif
+
+ #ifdef FTS_AUTO_UPGRADE
+ if(data->fw_vendor_id >= 0) {
+ printk(KERN_INFO "[fts] Enter CTP Auto Upgrade \n");
+ if(data->fw_ver[0] == 0) //recovery
+ printk(KERN_INFO "[fts] FW ver is 0x00, Enter Recovery mode \n");
+
+ err = fts_ctpm_auto_upgrade_for_cci(client, data->fw_vendor_id, false);
+ if(err == 0) {
+ fts_update_fw_ver(data);
+ }
+ } else {
+ printk(KERN_ERR "[fts] fw_vendor_id is woring : %d \n", data->fw_vendor_id );
+ }
+ #endif
+
+#if defined(CONFIG_FB)
+ data->fb_notif.notifier_call = fb_notifier_callback;
+
+ err = fb_register_client(&data->fb_notif);
+
+ if (err)
+ dev_err(&client->dev, "Unable to register fb_notifier: %d\n", err);
+#elif defined(CONFIG_HAS_EARLYSUSPEND)
+ data->early_suspend.level = EARLY_SUSPEND_LEVEL_BLANK_SCREEN + FTS_SUSPEND_LEVEL;
+ data->early_suspend.suspend = fts_ts_early_suspend;
+ data->early_suspend.resume = fts_ts_late_resume;
+ register_early_suspend(&data->early_suspend);
+#endif
+
+ fts_irq_enable(data);
+
+ return 0;
+
+free_debug_dir:
+ debugfs_remove_recursive(data->dir);
+
+#ifdef CONFIG_TOUCHSCREEN_FTS_PSENSOR
+unregister_psensor_input_device:
+ if (fts_psensor_support_enabled() && data->pdata->psensor_support)
+ input_unregister_device(data->psensor_pdata->input_psensor_dev);
+free_psensor_input_dev:
+ if (fts_psensor_support_enabled() && data->pdata->psensor_support)
+ input_free_device(data->psensor_pdata->input_psensor_dev);
+free_psensor_pdata:
+ if (fts_psensor_support_enabled() && data->pdata->psensor_support) {
+ devm_kfree(&client->dev, psensor_pdata);
+ data->psensor_pdata = NULL;
+ }
+irq_free:
+ if ((fts_psensor_support_enabled() &&
+ data->pdata->psensor_support))
+ device_init_wakeup(&client->dev, 0);
+ free_irq(client->irq, data);
+#endif
+
+free_wake_irq:
+#ifdef FTS_GESTRUE_EN
+ irq_set_irq_wake(client->irq, 0);
+#endif
+
+free_gpio:
+
+gpio_set_value(data->pdata->irq_gpio, 1);
+
+ if (gpio_is_valid(pdata->reset_gpio))
+ gpio_free(pdata->reset_gpio);
+ if (gpio_is_valid(pdata->irq_gpio))
+ gpio_free(pdata->irq_gpio);
+exit_create_singlethread:
+ printk("==singlethread error =\n");
+ i2c_set_clientdata(client, NULL);
+err_gpio_req:
+ #ifdef MSM_NEW_VER
+ if (data->ts_pinctrl) {
+ if (IS_ERR_OR_NULL(data->pinctrl_state_release)) {
+ devm_pinctrl_put(data->ts_pinctrl);
+ data->ts_pinctrl = NULL;
+ } else {
+ err = pinctrl_select_state(data->ts_pinctrl,
+ data->pinctrl_state_release);
+ if (err)
+ pr_err("failed to select relase pinctrl state\n");
+ }
+ }
+ #endif
+
+ if (pdata->power_on)
+ pdata->power_on(false);
+ else
+ fts_power_on(data, false);
+pwr_deinit:
+ if (pdata->power_init)
+ pdata->power_init(false);
+ else
+ fts_power_init(data, false);
+unreg_inputdev:
+ input_unregister_device(input_dev);
+ input_dev = NULL;
+free_inputdev:
+ input_free_device(input_dev);
+ return err;
+}
+
+/*******************************************************************************
+* Name: fts_ts_remove
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int fts_ts_remove(struct i2c_client *client)
+{
+ struct fts_ts_data *data = i2c_get_clientdata(client);
+
+ cancel_work_sync(&data->touch_event_work);
+ destroy_workqueue(data->ts_workqueue);
+
+ debugfs_remove_recursive(data->dir);
+
+#ifdef CONFIG_TOUCHSCREEN_FTS_PSENSOR
+ if (fts_psensor_support_enabled() && data->pdata->psensor_support) {
+
+ device_init_wakeup(&client->dev, 0);
+ sensors_classdev_unregister(&data->psensor_pdata->ps_cdev);
+ input_unregister_device(data->psensor_pdata->input_psensor_dev);
+ devm_kfree(&client->dev, data->psensor_pdata);
+ data->psensor_pdata = NULL;
+ }
+#endif
+
+#ifdef FTS_APK_DEBUG
+ fts_release_apk_debug_channel();
+#endif
+
+#ifdef FTS_SYSFS_DEBUG
+ fts_remove_sysfs(fts_i2c_client);
+#endif
+
+
+#ifdef FTS_CTL_IIC
+ fts_rw_iic_drv_exit();
+#endif
+
+
+#if defined(CONFIG_FB)
+ if (fb_unregister_client(&data->fb_notif))
+ dev_err(&client->dev, "Error occurred while unregistering fb_notifier.\n");
+#elif defined(CONFIG_HAS_EARLYSUSPEND)
+ unregister_early_suspend(&data->early_suspend);
+#endif
+ free_irq(client->irq, data);
+
+ if (gpio_is_valid(data->pdata->reset_gpio))
+ gpio_free(data->pdata->reset_gpio);
+
+ if (gpio_is_valid(data->pdata->irq_gpio))
+ gpio_free(data->pdata->irq_gpio);
+
+ if (data->pdata->power_on)
+ data->pdata->power_on(false);
+ else
+ fts_power_on(data, false);
+
+ if (data->pdata->power_init)
+ data->pdata->power_init(false);
+ else
+ fts_power_init(data, false);
+
+ input_unregister_device(data->input_dev);
+
+ return 0;
+}
+
+static const struct i2c_device_id fts_ts_id[] = {
+ {"fts_ts", 0},
+ {},
+};
+
+MODULE_DEVICE_TABLE(i2c, fts_ts_id);
+
+#ifdef CONFIG_OF
+static struct of_device_id fts_match_table[] = {
+ { .compatible = "focaltech,fts",},
+ { },
+};
+#else
+#define fts_match_table NULL
+#endif
+
+static struct i2c_driver fts_ts_driver = {
+ .probe = fts_ts_probe,
+ .remove = fts_ts_remove,
+ .driver = {
+ .name = "ft_3267",
+ .owner = THIS_MODULE,
+ .of_match_table = fts_match_table,
+#ifdef CONFIG_PM
+ .pm = &fts_ts_pm_ops,
+#endif
+ },
+ .id_table = fts_ts_id,
+};
+
+/*******************************************************************************
+* Name: fts_ts_init
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int __init fts_ts_init(void)
+{
+ return i2c_add_driver(&fts_ts_driver);
+}
+
+/*******************************************************************************
+* Name: fts_ts_exit
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static void __exit fts_ts_exit(void)
+{
+ i2c_del_driver(&fts_ts_driver);
+}
+
+module_init(fts_ts_init);
+module_exit(fts_ts_exit);
+
+MODULE_DESCRIPTION("FocalTech fts TouchScreen driver");
+MODULE_LICENSE("GPL v2");
diff --git a/drivers/input/touchscreen/focaltech_3267/focaltech_core.h b/drivers/input/touchscreen/focaltech_3267/focaltech_core.h
new file mode 100644
index 0000000..ca2f86b
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3267/focaltech_core.h
@@ -0,0 +1,510 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+#ifndef __LINUX_FTS_H__
+#define __LINUX_FTS_H__
+
+/*******************************************************************************
+* Included header files
+*******************************************************************************/
+#include <linux/i2c.h>
+#include <linux/input.h>
+#include <linux/input/mt.h>
+#include <linux/slab.h>
+#include <linux/interrupt.h>
+#include <linux/delay.h>
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/gpio.h>
+#include <linux/of_gpio.h>
+#include <linux/regulator/consumer.h>
+#include <linux/firmware.h>
+#include <linux/debugfs.h>
+#ifdef CONFIG_TOUCHSCREEN_FTS_PSENSOR
+#include <linux/sensors.h>
+#endif
+#include <linux/mutex.h>
+#include <linux/wait.h>
+#include <linux/time.h>
+#include <linux/workqueue.h>
+#include <linux/fs.h>
+#include <linux/proc_fs.h>
+#include <asm/uaccess.h>
+#include <linux/version.h>
+#include <linux/types.h>
+#include <linux/sched.h>
+#include <linux/kthread.h>
+#include <linux/init.h>
+#include <linux/cdev.h>
+#include <linux/device.h>
+#include <linux/mount.h>
+#include <linux/netdevice.h>
+#include <linux/unistd.h>
+#include <linux/ioctl.h>
+#include "ft_gesture_lib.h"
+
+
+/*******************************************************************************
+* Private constant and macro definitions using #define
+*******************************************************************************/
+#define FTS_DRIVER_INFO "Qualcomm_Ver 1.3.1 2015-07-06"
+#define FT5X06_ID 0x55
+#define FT5X16_ID 0x0A
+#define FT5X36_ID 0x14
+#define FT6X06_ID 0x06
+#define FT6X36_ID 0x36
+
+#define FT5316_ID 0x0A
+#define FT5306I_ID 0x55
+
+#define LEN_FLASH_ECC_MAX 0xFFFE
+
+#define FTS_MAX_POINTS 2
+
+#define FTS_WORKQUEUE_NAME "fts_wq"
+
+#define FTS_DEBUG_DIR_NAME "fts_debug"
+
+#define FTS_INFO_MAX_LEN 512
+#define FTS_FW_NAME_MAX_LEN 50
+
+#define FTS_REG_ID 0xA3
+#define FTS_REG_FW_VER 0xA6
+#define FTS_REG_FW_VENDOR_ID 0xA8
+#define FTS_REG_POINT_RATE 0x88
+
+#define FTS_FACTORYMODE_VALUE 0x40
+#define FTS_WORKMODE_VALUE 0x00
+
+//#define CONFIG_TOUCHSCREEN_FTS_PSENSOR
+#define MSM_NEW_VER //cotrol new platform
+
+
+#define FTS_STORE_TS_INFO(buf, id, name, max_tch, group_id, fw_vkey_support, \
+ fw_name, fw_maj, fw_min, fw_sub_min) \
+ snprintf(buf, FTS_INFO_MAX_LEN, \
+ "controller\t= focaltech\n" \
+ "model\t\t= 0x%x\n" \
+ "name\t\t= %s\n" \
+ "max_touches\t= %d\n" \
+ "drv_ver\t\t= %s\n" \
+ "group_id\t= 0x%x\n" \
+ "fw_vkey_support\t= %s\n" \
+ "fw_name\t\t= %s\n" \
+ "fw_ver\t\t= %d.%d.%d\n", id, name, \
+ max_tch, FTS_DRIVER_INFO, group_id, \
+ fw_vkey_support, fw_name, fw_maj, fw_min, \
+ fw_sub_min)
+
+
+#define FTS_DBG_EN 1
+#if FTS_DBG_EN
+#define FTS_DBG(fmt, args...) printk("[FTS]" fmt, ## args)
+#else
+#define FTS_DBG(fmt, args...) do{}while(0)
+#endif
+
+#define NORMAL_MODE FTS_WORKMODE_VALUE
+#define FACTORY_MODE FTS_FACTORYMODE_VALUE
+
+/* Working Mode Register Map */
+#define DEV_MODE 0
+#define GEST_ID 0x01
+#define TD_STATUS 0x02
+#define P1_XH 0x03
+#define P1_XL 0x04
+#define P1_YH 0x05
+#define P1_YL 0x06
+#define P1_WEIGHT 0x07
+#define P1_MISC 0x08
+#define P2_XH 0x09
+#define P2_XL 0x0A
+#define P2_YH 0x0B
+#define P2_YL 0x0C
+#define P2_WEIGHT 0x0D
+#define P2_MISC 0x0E
+
+/* Factory */
+#define MAX_CHANNEL_NUMBER 22
+#define MAX_KEY_NUMBER 0
+#define TEST_PASS 1
+#define TEST_FAIL 0
+#define ERR_ENTER_FACTORY -1
+#define ERR_ENTER_NORMAL -2
+#define ERR_READ_CHL_KEY -3
+#define ERR_READ_RAW_DATA -4
+#define ERR_READ_CB_DATA -5
+#define ERR_READ_CB_DELTA_DATA -6
+
+/*TODO: This testing value needs to discuss with Focaltech FAE and TP Maker*/
+#define MAX_RAWDATA 17000
+#define MIN_RAWDATA 13000
+#define MAX_CBDATA 1000
+#define MIN_CBDATA 3
+#define MAX_CBDELTADATA 200
+#define MIN_CBDELTADATA 50
+#define TEST_TOLERANCE_PERCENT 25
+
+#define TP_CHNL_NUM 0x0A
+#define TP_KEY_NUM 0x0B
+#define TP_A_CMD_REG 0x08
+#define CB_DATA_ADDR_R 0x33
+#define RAW_DATA_ADDR_R 0x34
+#define RAW_DATA_BUF 0x35
+#define CB_DATA_BUF 0x39
+#define FACTORY_TEST_MODE_ADDR 0xAE
+/* for Factory mode register 0xAE*/
+#define F_NORMAL 0x00
+#define F_TESTMODE_1 0x01
+#define F_TESTMODE_2 0x02
+/* Factory END*/
+
+#define TP_ID_0 0x90
+#define TP_ID_1 0x91
+#define TP_ID_2 0x92
+#define TP_ID_3 0x93
+#define TP_INI_FILE_0x90 "FT3207_HOST_Default_F02_V01_OnlyTest_0x90.ini"
+#define FTS_GESTURE_SETTING_ADRESS 0xD0
+#define FTS_GESTURE_OUTPUT_ADRESS 0xD3
+#define GESTURE_UNKNOWN 0x00
+#define GESTURE_SMALL_AREA 0x25 //TP Coverage < 50%
+#define GESTURE_LARGE_AREA 0x26 //TP Coverage > 50%
+
+#define STATE_NORMAL 0x00
+#define STATE_GESTRUE 0x01
+
+#define FTS_GESTRUE_EN
+
+#ifndef FTS_GESTRUE_EN
+
+#define FTS_POWER_CONTROL
+#define FTS_GPIO_CONTROL
+
+#endif
+#define SELFTEST_ITEM_NUM 4
+/* unit : ms */
+#define TP_RECOVERY_TIME 400
+//3267
+#define FTS_UPGRADE_AA 0xAA
+#define FTS_UPGRADE_55 0x55
+#define FTS_DELAY_FC_AA 10
+#define FTS_DELAY_UPGRADE_RESET 80
+#define FTS_DELAY_READ_ID 20
+#define FTS_CMD_START1 0x55
+#define FTS_CMD_START2 0xAA
+#define FTS_CMD_START_DELAY 10
+#define FTS_CMD_READ_ID_LEN 4
+#define FTS_CMD_READ_ID_LEN_INCELL 1
+#define FTS_UPGRADE_LOOP 30
+#define FTS_CMD_ERASE_APP 0x61
+#define FTS_FLASH_STATUS_OK_FT6336GU 0xB002
+#define FTS_CMD_FLASH_STATUS 0x6A
+#define FTS_CMD_FLASH_STATUS_LEN 2
+#define FTS_CMD_FLASH_STATUS_NOP 0x0000
+#define FTS_CMD_FLASH_STATUS_ECC_OK 0xF055
+#define FTS_CMD_FLASH_STATUS_ERASE_OK 0xF0AA
+#define FTS_CMD_FLASH_STATUS_WRITE_OK 0x1000
+#define FTS_FLASH_PACKET_LENGTH 32 /* max=128 */
+#define FTS_CMD_WRITE_LEN 6
+#define FTS_CMD_WRITE 0xBF
+#define FTS_CMD_READ 0x03
+#define FTS_RETRIES_DELAY_WRITE 1
+#define FTS_DELAY_UPGRADE_RESET 80
+#define FTX_MAX_COMPATIBLE_TYPE 4
+#define FTS_REG_CHIP_ID 0xA3
+#define INTERVAL_READ_REG 100 /* unit:ms */
+#define TIMEOUT_READ_REG 1000 /* unit:ms */
+#define FTS_CMD_READ_ID 0x90
+#define FTS_REG_UPGRADE2 0xBC
+#define FTS_RETRIES_WRITE 100
+#define FTS_CMD_RESET 0x07
+#define FTS_HEADER_LEN 32
+#define FTS_CONIFG_VENDORID_OFF 0x04
+#define FTS_CMD_READ_LEN 4
+#define FTS_CMD_READ_DELAY 1
+#define FTS_DELAY_UPGRADE_AA 10
+#define BYTE_OFF_0(x) (u8)((x) & 0xFF)
+#define BYTE_OFF_8(x) (u8)((x >> 8) & 0xFF)
+#define BYTE_OFF_16(x) (u8)((x >> 16) & 0xFF)
+#define f_dentry f_path.dentry
+
+enum FW_STATUS {
+ FTS_RUN_IN_ERROR,
+ FTS_RUN_IN_APP,
+ FTS_RUN_IN_ROM,
+ FTS_RUN_IN_PRAM,
+ FTS_RUN_IN_BOOTLOADER,
+};
+
+/* IC info */
+struct upgrade_func {
+ u64 ctype[FTX_MAX_COMPATIBLE_TYPE];
+ int newmode;
+ u32 fwveroff;
+ u32 fwcfgoff;
+ u32 appoff;
+ u32 licoff;
+ u32 paramcfgoff;
+ u32 paramcfgveroff;
+ u32 paramcfg2off;
+ bool hid_supported;
+ bool pramboot_supported;
+ u8 *pramboot;
+ u32 pb_length;
+ int (*init)(void);
+ int (*upgrade)(struct i2c_client *, u8 *, u32);
+ int (*get_hlic_ver)(u8 *);
+ int (*lic_upgrade)(struct i2c_client *, u8 *, u32);
+ int (*param_upgrade)(struct i2c_client *, u8 *, u32);
+ int (*force_upgrade)(struct i2c_client *, u8 *, u32);
+};
+
+struct ft_chip_t {
+ u64 type;
+ u8 chip_idh;
+ u8 chip_idl;
+ u8 rom_idh;
+ u8 rom_idl;
+ u8 pb_idh;
+ u8 pb_idl;
+ u8 bl_idh;
+ u8 bl_idl;
+};
+
+struct ts_ic_info {
+ bool is_incell;
+ bool hid_supported;
+ struct ft_chip_t ids;
+};
+/*******************************************************************************
+* Private enumerations, structures and unions using typedef
+*******************************************************************************/
+enum{
+ENTER_FACTORY_MODE_TEST = 0,
+RAWDATA_TEST,
+CB_TEST,
+DIFF_CB_TEST
+};
+
+enum{
+FW_CHECK_PASS = 0,
+FW_CHECK_FAIL,
+TP_ID_IS_WRONG
+};
+
+enum{
+DISABLE_TAG = 48, /* string "0" */
+ENABLE_POINT_TAG,
+#ifdef FTS_GESTRUE_EN
+ENABLE_GESTURE_TAG
+#endif
+};
+
+struct fts_Upgrade_Info
+{
+ u8 CHIP_ID;
+ u8 TPD_MAX_POINTS;
+ u8 AUTO_CLB;
+ u16 delay_aa; /*delay of write FT_UPGRADE_AA */
+ u16 delay_55; /*delay of write FT_UPGRADE_55 */
+ u8 upgrade_id_1; /*upgrade id 1 */
+ u8 upgrade_id_2; /*upgrade id 2 */
+ u16 delay_readid; /*delay of read id */
+ u16 delay_erase_flash; /*delay of earse flash*/
+};
+
+struct fts_ts_platform_data {
+ struct fts_Upgrade_Info info;
+ const char *name;
+ const char *fw_name;
+ u32 irqflags;
+ u32 irq_gpio;
+ u32 irq_gpio_flags;
+ u32 reset_gpio;
+ u32 reset_gpio_flags;
+ u32 family_id;
+ u32 x_max;
+ u32 y_max;
+ u32 x_min;
+ u32 y_min;
+ u32 panel_minx;
+ u32 panel_miny;
+ u32 panel_maxx;
+ u32 panel_maxy;
+ u32 group_id;
+ u32 hard_rst_dly;
+ u32 soft_rst_dly;
+ u32 num_max_touches;
+ bool fw_vkey_support;
+ bool no_force_update;
+ bool i2c_pull_up;
+ bool ignore_id_check;
+ bool psensor_support;
+ int (*power_init) (bool);
+ int (*power_on) (bool);
+};
+
+struct ts_event {
+ u16 au16_x[FTS_MAX_POINTS]; /*x coordinate */
+ u16 au16_y[FTS_MAX_POINTS]; /*y coordinate */
+ u16 pressure[FTS_MAX_POINTS];
+ u8 au8_touch_event[FTS_MAX_POINTS]; /*touch event:
+ 0 -- down; 1-- up; 2 -- contact */
+ u8 au8_finger_id[FTS_MAX_POINTS]; /*touch ID */
+ u8 area[FTS_MAX_POINTS];
+ u8 touch_point;
+ u8 point_num;
+#ifdef FTS_GESTRUE_EN
+ u8 gesture_id;
+#endif
+};
+
+struct fts_ts_data {
+ struct i2c_client *client;
+ struct input_dev *input_dev;
+ struct ts_event event;
+ const struct fts_ts_platform_data *pdata;
+ struct ts_ic_info ic_info;
+ struct fts_psensor_platform_data *psensor_pdata;
+ struct work_struct touch_event_work;
+ struct delayed_work touch_event_recovery_work;
+ struct workqueue_struct *ts_workqueue;
+ struct regulator *vdd;
+ struct regulator *vcc_i2c;
+ char fw_name[FTS_FW_NAME_MAX_LEN];
+ bool loading_fw;
+ u8 family_id;
+ struct dentry *dir;
+ u16 addr;
+ bool suspended;
+ bool suspending;
+ char *ts_info;
+ u8 *tch_data;
+ u32 tch_data_len;
+ u8 fw_ver[3];
+ u8 fw_vendor_id;
+#ifdef FTS_GESTRUE_EN
+ int tp_gesture_id;
+#endif
+ int touchs;
+#if defined(CONFIG_FB)
+ struct notifier_block fb_notif;
+#elif defined(CONFIG_HAS_EARLYSUSPEND)
+ struct early_suspend early_suspend;
+#endif
+#ifdef MSM_NEW_VER
+ struct pinctrl *ts_pinctrl;
+ struct pinctrl_state *pinctrl_state_active;
+ struct pinctrl_state *pinctrl_state_suspend;
+ struct pinctrl_state *pinctrl_state_release;
+#endif
+// int shipping_fw_version; //dean add for FTM
+};
+
+#ifdef CONFIG_TOUCHSCREEN_FTS_PSENSOR
+struct fts_psensor_platform_data {
+ struct input_dev *input_psensor_dev;
+ struct sensors_classdev ps_cdev;
+ int tp_psensor_opened;
+ char tp_psensor_data; /* 0 near, 1 far */
+ struct fts_ts_data *data;
+};
+#endif
+
+/*******************************************************************************
+* Static variables
+*******************************************************************************/
+
+
+/*******************************************************************************
+* Global variable or extern global variabls/functions
+*******************************************************************************/
+//Function Switchs: define to open, comment to close
+//#define FTS_GESTRUE_EN 0
+#define GTP_ESD_PROTECT 0
+#define FTS_APK_DEBUG
+#define FTS_SYSFS_DEBUG
+#define FTS_CTL_IIC
+
+#define FTS_AUTO_UPGRADE
+extern struct fts_Upgrade_Info fts_updateinfo_curr;
+extern struct i2c_client *fts_i2c_client;
+extern struct fts_ts_data *fts_wq_data;
+extern struct input_dev *fts_input_dev;
+extern bool print_point;
+
+#ifdef FTS_GESTRUE_EN
+extern bool print_gesture;
+extern bool en_big_area_func;
+#endif
+
+extern bool fts_wq_queue_result;
+extern unsigned int irq_handler_recovery_count;
+extern unsigned int suspend_resume_recovery_count;
+extern unsigned int plam_recovery_count;
+
+extern bool ts_pwr_disabled;
+
+static DEFINE_MUTEX(i2c_rw_access);
+
+//Getstre functions
+extern int fts_Gesture_init(struct input_dev *input_dev);
+extern int fts_read_Gestruedata(void);
+extern int fetch_object_sample(unsigned char *buf,short pointnum);
+extern void init_para(int x_pixel,int y_pixel,int time_slot,int cut_x_pixel,int cut_y_pixel);
+
+//upgrade functions
+extern void fts_update_fw_vendor_id(struct fts_ts_data *data);
+extern void fts_update_fw_ver(struct fts_ts_data *data);
+extern void fts_get_upgrade_array(void);
+extern int fts_ctpm_auto_upgrade(struct i2c_client *client);
+extern int fts_ctpm_auto_upgrade_for_cci(struct i2c_client *client, const u8 tp_id, bool force_upgrade);
+extern int fts_fw_upgrade(struct device *dev, bool force);
+extern int fts_ctpm_auto_clb(struct i2c_client *client);
+extern int fts_ctpm_fw_upgrade_with_app_file(struct i2c_client *client, char *firmware_name);
+extern int fts_ctpm_fw_upgrade_with_i_file_for_cci_3207(struct i2c_client *client);
+extern int fts_ctpm_get_i_file_ver(void);
+
+//Apk and functions
+extern int fts_create_apk_debug_channel(struct i2c_client * client);
+extern void fts_release_apk_debug_channel(void);
+
+//ADB functions
+extern int fts_create_sysfs(struct i2c_client *client);
+extern int fts_remove_sysfs(struct i2c_client *client);
+
+//char device for old apk
+extern int fts_rw_iic_drv_init(struct i2c_client *client);
+extern void fts_rw_iic_drv_exit(void);
+
+//Base functions
+extern int fts_i2c_read(struct i2c_client *client, char *writebuf, int writelen, char *readbuf, int readlen);
+extern int fts_i2c_write(struct i2c_client *client, char *writebuf, int writelen);
+extern int fts_read_reg(struct i2c_client *client, u8 addr, u8 *val);
+extern int fts_write_reg(struct i2c_client *client, u8 addr, const u8 val);
+
+//dean add
+extern void fts_reset_chip(void);
+extern int fts_ts_stop(struct device *dev);
+
+extern int fts_ts_enable(struct device *dev);
+extern int fts_ts_disable(struct device *dev);
+extern int fts_ts_start(struct device *dev);
+/*******************************************************************************
+* Static function prototypes
+*******************************************************************************/
+
+#endif
diff --git a/drivers/input/touchscreen/focaltech_3267/focaltech_ctl.c b/drivers/input/touchscreen/focaltech_3267/focaltech_ctl.c
new file mode 100644
index 0000000..f19d3f5
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3267/focaltech_ctl.c
@@ -0,0 +1,378 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+/*******************************************************************************
+* Included header files
+*******************************************************************************/
+#include "focaltech_core.h"
+
+/*******************************************************************************
+* Private constant and macro definitions using #define
+*******************************************************************************/
+
+#define FTS_RW_IIC_DRV "ft_rw_iic_drv"
+#define FTS_RW_IIC_DRV_MAJOR 210
+#define FTS_I2C_RDWR_MAX_QUEUE 36
+#define FTS_I2C_SLAVEADDR 11
+#define FTS_I2C_RW 12
+/*******************************************************************************
+* Private enumerations,structures and unions using typedef
+*******************************************************************************/
+typedef struct fts_rw_i2c
+{
+ u8 *buf;
+ u8 flag; /*0-write 1-read*/
+ __u16 length; //the length of data
+}*pfts_rw_i2c;
+
+typedef struct fts_rw_i2c_queue
+{
+ struct fts_rw_i2c __user *i2c_queue;
+ int queuenum;
+}*pfts_rw_i2c_queue;
+
+struct fts_rw_i2c_dev
+{
+ struct cdev cdev;
+ struct mutex fts_rw_i2c_mutex;
+ struct i2c_client *client;
+};
+
+
+/*******************************************************************************
+* Static variables
+*******************************************************************************/
+static int fts_rw_iic_drv_major = FTS_RW_IIC_DRV_MAJOR;
+static struct class *fts_class;
+
+
+/*******************************************************************************
+* Global variable or extern global variabls/functions
+*******************************************************************************/
+struct fts_rw_i2c_dev *fts_rw_i2c_dev_tt;
+
+
+/*******************************************************************************
+* Static function prototypes
+*******************************************************************************/
+
+
+/************************************************************************
+* Name: fts_rw_iic_drv_myread
+* Brief: i2c read
+* Input: i2c info, data, length
+* Output: get data in buf
+* Return: fail <0
+***********************************************************************/
+static int fts_rw_iic_drv_myread(struct i2c_client *client, u8 *buf, int length)
+{
+ int ret = 0;
+ ret = fts_i2c_read(client, NULL, 0, buf, length);
+
+ if(ret<0)
+ {
+ dev_err(&client->dev, "%s:IIC Read failed\n",__func__);
+ }
+ return ret;
+}
+
+/************************************************************************
+* Name: fts_rw_iic_drv_mywrite
+* Brief: i2c write
+* Input: i2c info, data, length
+* Output: no
+* Return: fail <0
+***********************************************************************/
+static int fts_rw_iic_drv_mywrite(struct i2c_client *client, u8 *buf, int length)
+{
+ int ret = 0;
+ ret = fts_i2c_write(client, buf, length);
+ if(ret<0)
+ {
+ dev_err(&client->dev, "%s:IIC Write failed\n",__func__);
+ }
+ return ret;
+}
+
+/************************************************************************
+* Name: fts_rw_iic_drv_RDWR
+* Brief: get package to i2c read/write
+* Input: i2c info, package
+* Output: put data in i2c_rw_msg.buf
+* Return: fail <0
+***********************************************************************/
+static int fts_rw_iic_drv_RDWR(struct i2c_client *client, unsigned long arg)
+{
+ struct fts_rw_i2c_queue i2c_rw_queue;
+ struct fts_rw_i2c * i2c_rw_msg;
+ u8 __user **data_ptrs;
+ int ret = 0;
+ int i;
+
+ if (!access_ok(VERIFY_READ, (struct fts_rw_i2c_queue *)arg, sizeof(struct fts_rw_i2c_queue)))
+ return -EFAULT;
+
+ if (copy_from_user(&i2c_rw_queue,
+ (struct fts_rw_i2c_queue *)arg,
+ sizeof(struct fts_rw_i2c_queue)))
+ return -EFAULT;
+
+ if (i2c_rw_queue.queuenum > FTS_I2C_RDWR_MAX_QUEUE)
+ return -EINVAL;
+
+
+ i2c_rw_msg = (struct fts_rw_i2c*)
+ kmalloc(i2c_rw_queue.queuenum *sizeof(struct fts_rw_i2c),
+ GFP_KERNEL);
+ if (!i2c_rw_msg)
+ return -ENOMEM;
+
+ if (copy_from_user(i2c_rw_msg, i2c_rw_queue.i2c_queue,
+ i2c_rw_queue.queuenum*sizeof(struct fts_rw_i2c)))
+ {
+ kfree(i2c_rw_msg);
+ return -EFAULT;
+ }
+
+ data_ptrs = kmalloc(i2c_rw_queue.queuenum * sizeof(u8 __user *), GFP_KERNEL);
+ if (data_ptrs == NULL)
+ {
+ kfree(i2c_rw_msg);
+ return -ENOMEM;
+ }
+
+ ret = 0;
+ for (i=0; i< i2c_rw_queue.queuenum; i++)
+ {
+ if ((i2c_rw_msg[i].length > 8192)||
+ (i2c_rw_msg[i].flag & I2C_M_RECV_LEN))
+ {
+ ret = -EINVAL;
+ break;
+ }
+ data_ptrs[i] = (u8 __user *)i2c_rw_msg[i].buf;
+ i2c_rw_msg[i].buf = kmalloc(i2c_rw_msg[i].length, GFP_KERNEL);
+ if (i2c_rw_msg[i].buf == NULL)
+ {
+ ret = -ENOMEM;
+ break;
+ }
+
+ if (copy_from_user(i2c_rw_msg[i].buf, data_ptrs[i], i2c_rw_msg[i].length))
+ {
+ ++i;
+ ret = -EFAULT;
+ break;
+ }
+ }
+
+ if (ret < 0)
+ {
+ int j;
+ for (j=0; j<i; ++j)
+ kfree(i2c_rw_msg[j].buf);
+ kfree(data_ptrs);
+ kfree(i2c_rw_msg);
+ return ret;
+ }
+
+ for (i=0; i< i2c_rw_queue.queuenum; i++)
+ {
+ if (i2c_rw_msg[i].flag)
+ {
+ ret = fts_rw_iic_drv_myread(client,
+ i2c_rw_msg[i].buf, i2c_rw_msg[i].length);
+ if (ret>=0)
+ ret = copy_to_user(data_ptrs[i], i2c_rw_msg[i].buf, i2c_rw_msg[i].length);
+ }
+ else
+ {
+ ret = fts_rw_iic_drv_mywrite(client,
+ i2c_rw_msg[i].buf, i2c_rw_msg[i].length);
+ }
+ }
+
+ return ret;
+
+}
+
+/************************************************************************
+* Name: fts_rw_iic_drv_open
+* Brief: char device open function interface
+* Input: node, file point
+* Output: no
+* Return: 0
+***********************************************************************/
+static int fts_rw_iic_drv_open(struct inode *inode, struct file *filp)
+{
+ filp->private_data = fts_rw_i2c_dev_tt;
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_rw_iic_drv_release
+* Brief: char device close function interface
+* Input: node, file point
+* Output: no
+* Return: 0
+***********************************************************************/
+static int fts_rw_iic_drv_release(struct inode *inode, struct file *filp)
+{
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_rw_iic_drv_ioctl
+* Brief: char device I/O control function interface
+* Input: file point, command, package
+* Output: no
+* Return: fail <0
+***********************************************************************/
+static long fts_rw_iic_drv_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
+{
+ int ret = 0;
+ struct fts_rw_i2c_dev *ftsdev = filp->private_data;
+ ftsdev = filp->private_data;
+
+ mutex_lock(&fts_rw_i2c_dev_tt->fts_rw_i2c_mutex);
+ switch (cmd)
+ {
+ case FTS_I2C_RW:
+ ret = fts_rw_iic_drv_RDWR(ftsdev->client, arg);
+ break;
+
+ default:
+ ret = -ENOTTY;
+ break;
+ }
+ mutex_unlock(&fts_rw_i2c_dev_tt->fts_rw_i2c_mutex);
+ return ret;
+}
+
+
+/*
+*char device file operation which will be put to register the char device
+*/
+static const struct file_operations fts_rw_iic_drv_fops = {
+ .owner = THIS_MODULE,
+ .open = fts_rw_iic_drv_open,
+ .release = fts_rw_iic_drv_release,
+ .unlocked_ioctl = fts_rw_iic_drv_ioctl,
+};
+
+/************************************************************************
+* Name: fts_rw_iic_drv_setup_cdev
+* Brief: setup char device
+* Input: device point, index number
+* Output: no
+* Return: no
+***********************************************************************/
+static void fts_rw_iic_drv_setup_cdev(struct fts_rw_i2c_dev *dev, int index)
+{
+ int err, devno = MKDEV(fts_rw_iic_drv_major, index);
+
+ cdev_init(&dev->cdev, &fts_rw_iic_drv_fops);
+ dev->cdev.owner = THIS_MODULE;
+ dev->cdev.ops = &fts_rw_iic_drv_fops;
+ err = cdev_add(&dev->cdev, devno, 1);
+ if (err)
+ printk(KERN_NOTICE "Error %d adding LED%d", err, index);
+}
+
+/************************************************************************
+* Name: fts_rw_iic_drv_myinitdev
+* Brief: initial char device
+* Input: i2c info
+* Output: no
+* Return: fail <0
+***********************************************************************/
+static int fts_rw_iic_drv_myinitdev(struct i2c_client *client)
+{
+ int err = 0;
+ dev_t devno = MKDEV(fts_rw_iic_drv_major, 0);
+
+ if (fts_rw_iic_drv_major)
+ err = register_chrdev_region(devno, 1, FTS_RW_IIC_DRV);
+ else
+ {
+ err = alloc_chrdev_region(&devno, 0, 1, FTS_RW_IIC_DRV);
+ fts_rw_iic_drv_major = MAJOR(devno);
+ }
+ if (err < 0)
+ {
+ dev_err(&client->dev, "%s:ft_rw_iic_drv failed error code=%d---\n",
+ __func__, err);
+ return err;
+ }
+
+ fts_rw_i2c_dev_tt = kmalloc(sizeof(struct fts_rw_i2c_dev), GFP_KERNEL);
+ if (!fts_rw_i2c_dev_tt)
+ {
+ err = -ENOMEM;
+ unregister_chrdev_region(devno, 1);
+ dev_err(&client->dev, "%s:ft_rw_iic_drv failed\n",
+ __func__);
+ return err;
+ }
+ fts_rw_i2c_dev_tt->client = client;
+ mutex_init(&fts_rw_i2c_dev_tt->fts_rw_i2c_mutex);
+ fts_rw_iic_drv_setup_cdev(fts_rw_i2c_dev_tt, 0);
+
+ fts_class = class_create(THIS_MODULE, "fts_class");
+ if (IS_ERR(fts_class))
+ {
+ dev_err(&client->dev, "%s:failed in creating class.\n",
+ __func__);
+ return -1;
+ }
+ /*create device node*/
+ device_create(fts_class, NULL, MKDEV(fts_rw_iic_drv_major, 0),
+ NULL, FTS_RW_IIC_DRV);
+
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_rw_iic_drv_init
+* Brief: call initial char device
+* Input: i2c info
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_rw_iic_drv_init(struct i2c_client *client)
+{
+ dev_dbg(&client->dev, "[FTS]----ft_rw_iic_drv init ---\n");
+ return fts_rw_iic_drv_myinitdev(client);
+}
+
+/************************************************************************
+* Name: fts_rw_iic_drv_exit
+* Brief: delete char device
+* Input: no
+* Output: no
+* Return: no
+***********************************************************************/
+void fts_rw_iic_drv_exit(void)
+{
+ device_destroy(fts_class, MKDEV(fts_rw_iic_drv_major, 0));
+ /*delete class created by us*/
+ class_destroy(fts_class);
+ /*delet the cdev*/
+ cdev_del(&fts_rw_i2c_dev_tt->cdev);
+ kfree(fts_rw_i2c_dev_tt);
+ unregister_chrdev_region(MKDEV(fts_rw_iic_drv_major, 0), 1);
+}
+
diff --git a/drivers/input/touchscreen/focaltech_3267/focaltech_ex_fun.c b/drivers/input/touchscreen/focaltech_3267/focaltech_ex_fun.c
new file mode 100644
index 0000000..d08b0a2
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3267/focaltech_ex_fun.c
@@ -0,0 +1,1783 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+/*******************************************************************************
+* 1.Included header files
+*******************************************************************************/
+#include "focaltech_core.h"
+#include "test_lib.h"
+#include "Test_FT6X36.h"
+#include <linux/proc_fs.h>
+
+/*******************************************************************************
+* Private constant and macro definitions using #define
+*******************************************************************************/
+/*create apk debug channel*/
+#define PROC_UPGRADE 0
+#define PROC_READ_REGISTER 1
+#define PROC_WRITE_REGISTER 2
+#define PROC_AUTOCLB 4
+#define PROC_UPGRADE_INFO 5
+#define PROC_WRITE_DATA 6
+#define PROC_READ_DATA 7
+#define PROC_SET_TEST_FLAG 8
+#define PROC_NAME "ftxxxx-debug"
+
+#define WRITE_BUF_SIZE 512
+#define READ_BUF_SIZE 512
+
+/*******************************************************************************
+* Private enumerations, structures and unions using typedef
+*******************************************************************************/
+
+
+/*******************************************************************************
+* Static variables
+*******************************************************************************/
+static unsigned char proc_operate_mode = PROC_UPGRADE;
+static struct proc_dir_entry *fts_proc_entry;
+/*******************************************************************************
+* Global variable or extern global variabls/functions
+*******************************************************************************/
+#if GTP_ESD_PROTECT
+int apk_debug_flag = 0;
+#endif
+/*******************************************************************************
+* Static function prototypes
+*******************************************************************************/
+
+
+
+/************************************************************************
+* Name: FT_SC_Enter_Factory_Mode
+* Brief: touch ic enter factory mode
+* Input: no
+* Output: no
+* Return: pass or fail
+***********************************************************************/
+static int FT_SC_Enter_Factory_Mode(void)
+{
+ u8 reg_addr, val_write, val_read = 0xff;
+ u8 try_cnt = 0;
+
+ reg_addr = DEV_MODE;
+ val_write = FACTORY_MODE;
+
+ /* Try to enter factory mode */
+ while ((val_read != FACTORY_MODE) && (try_cnt < 10))
+ {
+ fts_write_reg(fts_i2c_client, reg_addr, val_write);
+ msleep(10);
+ fts_read_reg(fts_i2c_client, reg_addr, &val_read);
+ FTS_DBG("[FTS][FACTORY][%d] >>>>> val_read: 0x%x\n", try_cnt, val_read);
+ msleep(10);
+ try_cnt++;
+ }
+
+ if((val_read == FACTORY_MODE) && (try_cnt < 10) )
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>> Enter Factory Mode\n");
+ }
+ else
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>> Enter Factory Mode Fail\n");
+ return ERR_ENTER_FACTORY;
+ }
+
+ return 0;
+}
+/************************************************************************
+* Name: FT_SC_Enter_Normal_Mode
+* Brief: touch ic enter normal mode
+* Input: no
+* Output: no
+* Return: pass or fail
+***********************************************************************/
+static int FT_SC_Enter_Normal_Mode(void)
+{
+ u8 reg_addr, val_write, val_read = 0xff;
+ u8 try_cnt = 0;
+
+ reg_addr = DEV_MODE;
+ val_write = NORMAL_MODE;
+
+ /* Try to enter normal mode */
+ while (val_read != NORMAL_MODE && (try_cnt < 10))
+ {
+ fts_write_reg(fts_i2c_client, reg_addr, val_write);
+ msleep(10);
+ fts_read_reg(fts_i2c_client, reg_addr, &val_read);
+ msleep(10);
+ try_cnt++;
+ }
+
+ if ((val_read == NORMAL_MODE) && (try_cnt < 10) )
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>> Enter Normal Mode\n");
+ }
+ else
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>> Enter Normal Mode Fail\n");
+ return ERR_ENTER_NORMAL;
+ }
+
+ return 0;
+}
+
+
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0))
+/*interface of write proc*/
+/************************************************************************
+* Name: fts_debug_write
+* Brief:interface of write proc
+* Input: file point, data buf, data len, no use
+* Output: no
+* Return: data len
+***********************************************************************/
+static ssize_t fts_debug_write(struct file *filp, const char __user *buff, size_t count, loff_t *ppos)
+{
+ unsigned char writebuf[WRITE_BUF_SIZE];
+ char upgrade_file_path[128];
+ int buflen = count;
+ int writelen = 0;
+ int ret = 0;
+
+ if (copy_from_user(&writebuf, buff, buflen)) {
+ dev_err(&fts_i2c_client->dev, "%s:copy from user error\n", __func__);
+ return -EFAULT;
+ }
+ proc_operate_mode = writebuf[0];
+
+ switch (proc_operate_mode) {
+ case PROC_UPGRADE:
+ memset(upgrade_file_path, 0, sizeof(upgrade_file_path));
+ sprintf(upgrade_file_path, "%s", writebuf + 1);
+ upgrade_file_path[buflen-1] = '\0';
+ FTS_DBG("%s\n", upgrade_file_path);
+ disable_irq(fts_i2c_client->irq);
+ #if GTP_ESD_PROTECT
+ apk_debug_flag = 1;
+ #endif
+
+ ret = fts_ctpm_fw_upgrade_with_app_file(fts_i2c_client, upgrade_file_path);
+ #if GTP_ESD_PROTECT
+ apk_debug_flag = 0;
+ #endif
+ enable_irq(fts_i2c_client->irq);
+ if (ret < 0) {
+ dev_err(&fts_i2c_client->dev, "%s:upgrade failed.\n", __func__);
+ return ret;
+ }
+ break;
+ case PROC_READ_REGISTER:
+ writelen = 1;
+ ret = fts_i2c_write(fts_i2c_client, writebuf + 1, writelen);
+ if (ret < 0) {
+ dev_err(&fts_i2c_client->dev, "%s:write iic error\n", __func__);
+ return ret;
+ }
+ break;
+ case PROC_WRITE_REGISTER:
+ writelen = 2;
+ ret = fts_i2c_write(fts_i2c_client, writebuf + 1, writelen);
+ if (ret < 0) {
+ dev_err(&fts_i2c_client->dev, "%s:write iic error\n", __func__);
+ return ret;
+ }
+ break;
+ case PROC_AUTOCLB:
+ FTS_DBG("%s: autoclb\n", __func__);
+ fts_ctpm_auto_clb(fts_i2c_client);
+ break;
+ case PROC_READ_DATA:
+ case PROC_WRITE_DATA:
+ writelen = count - 1;
+ ret = fts_i2c_write(fts_i2c_client, writebuf + 1, writelen);
+ if (ret < 0) {
+ dev_err(&fts_i2c_client->dev, "%s:write iic error\n", __func__);
+ return ret;
+ }
+ break;
+ default:
+ break;
+ }
+
+ return count;
+}
+
+/*interface of read proc*/
+/************************************************************************
+* Name: fts_debug_read
+* Brief:interface of read proc
+* Input: point to the data, no use, no use, read len, no use, no use
+* Output: page point to data
+* Return: read char number
+***********************************************************************/
+static ssize_t fts_debug_read(struct file *filp, char __user *buff, size_t count, loff_t *ppos)
+{
+ int ret = 0;
+ int num_read_chars = 0;
+ int readlen = 0;
+ u8 regvalue = 0x00, regaddr = 0x00;
+ unsigned char buf[READ_BUF_SIZE];
+
+ switch (proc_operate_mode) {
+ case PROC_UPGRADE:
+ //after calling fts_debug_write to upgrade
+ regaddr = 0xA6;
+ ret = fts_read_reg(fts_i2c_client, regaddr, ®value);
+ if (ret < 0)
+ num_read_chars = sprintf(buf, "%s", "get fw version failed.\n");
+ else
+ num_read_chars = sprintf(buf, "current fw version:0x%02x\n", regvalue);
+ break;
+ case PROC_READ_REGISTER:
+ readlen = 1;
+ ret = fts_i2c_read(fts_i2c_client, NULL, 0, buf, readlen);
+ if (ret < 0) {
+ dev_err(&fts_i2c_client->dev, "%s:read iic error\n", __func__);
+ return ret;
+ }
+ num_read_chars = 1;
+ break;
+ case PROC_READ_DATA:
+ readlen = count;
+ ret = fts_i2c_read(fts_i2c_client, NULL, 0, buf, readlen);
+ if (ret < 0) {
+ dev_err(&fts_i2c_client->dev, "%s:read iic error\n", __func__);
+ return ret;
+ }
+ num_read_chars = readlen;
+ break;
+ case PROC_WRITE_DATA:
+ break;
+ default:
+ break;
+ }
+
+ if (copy_to_user(buff, buf, num_read_chars)) {
+ dev_err(&fts_i2c_client->dev, "%s:copy to user error\n", __func__);
+ return -EFAULT;
+ }
+
+ return num_read_chars;
+}
+static const struct file_operations fts_proc_fops = {
+ .owner = THIS_MODULE,
+ .read = fts_debug_read,
+ .write = fts_debug_write,
+};
+#else
+/*interface of write proc*/
+/************************************************************************
+* Name: fts_debug_write
+* Brief:interface of write proc
+* Input: file point, data buf, data len, no use
+* Output: no
+* Return: data len
+***********************************************************************/
+static int fts_debug_write(struct file *filp,
+ const char __user *buff, unsigned long len, void *data)
+{
+ unsigned char writebuf[WRITE_BUF_SIZE];
+ char upgrade_file_path[128];
+ int buflen = len;
+ int writelen = 0;
+ int ret = 0;
+
+
+ if (copy_from_user(&writebuf, buff, buflen)) {
+ dev_err(&fts_i2c_client->dev, "%s:copy from user error\n", __func__);
+ return -EFAULT;
+ }
+ proc_operate_mode = writebuf[0];
+
+ switch (proc_operate_mode) {
+
+ case PROC_UPGRADE:
+
+ memset(upgrade_file_path, 0, sizeof(upgrade_file_path));
+ sprintf(upgrade_file_path, "%s", writebuf + 1);
+ upgrade_file_path[buflen-1] = '\0';
+ FTS_DBG("%s\n", upgrade_file_path);
+ disable_irq(fts_i2c_client->irq);
+ #if GTP_ESD_PROTECT
+ apk_debug_flag = 1;
+ #endif
+ ret = fts_ctpm_fw_upgrade_with_app_file(fts_i2c_client, upgrade_file_path);
+ #if GTP_ESD_PROTECT
+ apk_debug_flag = 0;
+ #endif
+ enable_irq(fts_i2c_client->irq);
+ if (ret < 0) {
+ dev_err(&fts_i2c_client->dev, "%s:upgrade failed.\n", __func__);
+ return ret;
+ }
+ break;
+ case PROC_READ_REGISTER:
+ writelen = 1;
+ ret = fts_i2c_write(fts_i2c_client, writebuf + 1, writelen);
+ if (ret < 0) {
+ dev_err(&fts_i2c_client->dev, "%s:write iic error\n", __func__);
+ return ret;
+ }
+ break;
+ case PROC_WRITE_REGISTER:
+ writelen = 2;
+ ret = fts_i2c_write(fts_i2c_client, writebuf + 1, writelen);
+ if (ret < 0) {
+ dev_err(&fts_i2c_client->dev, "%s:write iic error\n", __func__);
+ return ret;
+ }
+ break;
+ case PROC_AUTOCLB:
+ FTS_DBG("%s: autoclb\n", __func__);
+ fts_ctpm_auto_clb(fts_i2c_client);
+ break;
+ case PROC_READ_DATA:
+ case PROC_WRITE_DATA:
+ writelen = len - 1;
+ ret = fts_i2c_write(fts_i2c_client, writebuf + 1, writelen);
+ if (ret < 0) {
+ dev_err(&fts_i2c_client->dev, "%s:write iic error\n", __func__);
+ return ret;
+ }
+ break;
+ default:
+ break;
+ }
+
+
+ return len;
+}
+
+/*interface of read proc*/
+/************************************************************************
+* Name: fts_debug_read
+* Brief:interface of read proc
+* Input: point to the data, no use, no use, read len, no use, no use
+* Output: page point to data
+* Return: read char number
+***********************************************************************/
+static int fts_debug_read( char *page, char **start,
+ off_t off, int count, int *eof, void *data )
+{
+ int ret = 0;
+ unsigned char buf[READ_BUF_SIZE];
+ int num_read_chars = 0;
+ int readlen = 0;
+ u8 regvalue = 0x00, regaddr = 0x00;
+
+ switch (proc_operate_mode) {
+ case PROC_UPGRADE:
+ //after calling fts_debug_write to upgrade
+ regaddr = 0xA6;
+ ret = fts_read_reg(fts_i2c_client, regaddr, ®value);
+ if (ret < 0)
+ num_read_chars = sprintf(buf, "%s", "get fw version failed.\n");
+ else
+ num_read_chars = sprintf(buf, "current fw version:0x%02x\n", regvalue);
+ break;
+ case PROC_READ_REGISTER:
+ readlen = 1;
+ ret = fts_i2c_read(fts_i2c_client, NULL, 0, buf, readlen);
+ if (ret < 0) {
+ dev_err(&fts_i2c_client->dev, "%s:read iic error\n", __func__);
+ return ret;
+ }
+ num_read_chars = 1;
+ break;
+ case PROC_READ_DATA:
+ readlen = count;
+ ret = fts_i2c_read(fts_i2c_client, NULL, 0, buf, readlen);
+ if (ret < 0) {
+ dev_err(&fts_i2c_client->dev, "%s:read iic error\n", __func__);
+ return ret;
+ }
+ num_read_chars = readlen;
+ break;
+ case PROC_WRITE_DATA:
+ break;
+ default:
+ break;
+ }
+
+ memcpy(page, buf, num_read_chars);
+ return num_read_chars;
+}
+#endif
+/************************************************************************
+* Name: fts_create_apk_debug_channel
+* Brief: create apk debug channel
+* Input: i2c info
+* Output: no
+* Return: success =0
+***********************************************************************/
+int fts_create_apk_debug_channel(struct i2c_client * client)
+{
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0))
+ fts_proc_entry = proc_create(PROC_NAME, 0777, NULL, &fts_proc_fops);
+ #else
+ fts_proc_entry = create_proc_entry(PROC_NAME, 0777, NULL);
+ #endif
+ if (NULL == fts_proc_entry)
+ {
+ dev_err(&client->dev, "Couldn't create proc entry!\n");
+
+ return -ENOMEM;
+ }
+ else
+ {
+ dev_info(&client->dev, "Create proc entry success!\n");
+
+ #if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0))
+ fts_proc_entry->write_proc = fts_debug_write;
+ fts_proc_entry->read_proc = fts_debug_read;
+ #endif
+ }
+ return 0;
+}
+/************************************************************************
+* Name: fts_release_apk_debug_channel
+* Brief: release apk debug channel
+* Input: no
+* Output: no
+* Return: no
+***********************************************************************/
+void fts_release_apk_debug_channel(void)
+{
+
+ if (fts_proc_entry)
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0))
+ proc_remove(fts_proc_entry);
+ #else
+ remove_proc_entry(NULL, fts_proc_entry);
+ #endif
+}
+
+/************************************************************************
+* Name: fts_tpfwver_show
+* Brief: show tp fw vwersion
+* Input: device, device attribute, char buf
+* Output: no
+* Return: char number
+***********************************************************************/
+static ssize_t fts_tpfwver_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ ssize_t num_read_chars = 0;
+ u8 fwver = 0;
+ int err = -1;
+ u16 reg_addr = FTS_REG_FW_VER;
+
+ err = fts_read_reg(fts_i2c_client, reg_addr, &fwver);
+ if (err < 0) {
+ num_read_chars += sprintf(buf + num_read_chars, "get tp fw version fail!, i2c err :%d\n", err);
+ } else {
+ if (fwver == 255)
+ num_read_chars += sprintf(buf + num_read_chars, "get tp fw version is wrong!\n");
+ else
+ num_read_chars += sprintf(buf + num_read_chars, "tp fw version : 0x%x\n", fwver);
+ }
+ return num_read_chars;
+}
+/************************************************************************
+* Name: fts_tpfwver_store
+* Brief: no
+* Input: device, device attribute, char buf, char count
+* Output: no
+* Return: EPERM
+***********************************************************************/
+static ssize_t fts_tpfwver_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
+{
+ /* place holder for future use */
+ return -EPERM;
+}
+/************************************************************************
+* Name: fts_tpdriver_version_show
+* Brief: show tp fw vwersion
+* Input: device, device attribute, char buf
+* Output: no
+* Return: char number
+***********************************************************************/
+static ssize_t fts_tpdriver_version_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ ssize_t num_read_chars = 0;
+
+ mutex_lock(&fts_input_dev->mutex);
+
+ num_read_chars = snprintf(buf, 128,"%s \n", FTS_DRIVER_INFO);
+
+ mutex_unlock(&fts_input_dev->mutex);
+
+ return num_read_chars;
+}
+/************************************************************************
+* Name: fts_tpdriver_version_store
+* Brief: no
+* Input: device, device attribute, char buf, char count
+* Output: no
+* Return: EPERM
+***********************************************************************/
+static ssize_t fts_tpdriver_version_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
+{
+ /* place holder for future use */
+ return -EPERM;
+}
+/************************************************************************
+* Name: fts_tprwreg_show
+* Brief: no
+* Input: device, device attribute, char buf
+* Output: no
+* Return: EPERM
+***********************************************************************/
+static ssize_t fts_tprwreg_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ /* place holder for future use */
+ return -EPERM;
+}
+/************************************************************************
+* Name: fts_tprwreg_store
+* Brief: read/write register
+* Input: device, device attribute, char buf, char count
+* Output: print register value
+* Return: char count
+***********************************************************************/
+static ssize_t fts_tprwreg_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
+{
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ ssize_t num_read_chars = 0;
+ int retval;
+ long unsigned int wmreg=0;
+ u8 regaddr=0xff,regvalue=0xff;
+ u8 valbuf[5]={0};
+
+ memset(valbuf, 0, sizeof(valbuf));
+ mutex_lock(&fts_input_dev->mutex);
+ num_read_chars = count - 1;
+ if (num_read_chars != 2)
+ {
+ if (num_read_chars != 4)
+ {
+ dev_err(dev, "please input 2 or 4 character\n");
+ goto error_return;
+ }
+ }
+ memcpy(valbuf, buf, num_read_chars);
+ retval = kstrtoul(valbuf, 16, &wmreg);
+ if (0 != retval)
+ {
+ dev_err(dev, "%s() - ERROR: Could not convert the given input to a number. The given input was: \"%s\"\n", __FUNCTION__, buf);
+ goto error_return;
+ }
+ if (2 == num_read_chars)
+ {
+ /*read register*/
+ regaddr = wmreg;
+ printk("[focal][test](0x%02x)\n", regaddr);
+ if (fts_read_reg(client, regaddr, ®value) < 0)
+ printk("[Focal] %s : Could not read the register(0x%02x)\n", __func__, regaddr);
+ else
+ printk("[Focal] %s : the register(0x%02x) is 0x%02x\n", __func__, regaddr, regvalue);
+ }
+ else
+ {
+ regaddr = wmreg>>8;
+ regvalue = wmreg;
+ if (fts_write_reg(client, regaddr, regvalue)<0)
+ dev_err(dev, "[Focal] %s : Could not write the register(0x%02x)\n", __func__, regaddr);
+ else
+ dev_dbg(dev, "[Focal] %s : Write 0x%02x into register(0x%02x) successful\n", __func__, regvalue, regaddr);
+ }
+ error_return:
+ mutex_unlock(&fts_input_dev->mutex);
+
+ return count;
+}
+/************************************************************************
+* Name: fts_fwupdate_show
+* Brief: no
+* Input: device, device attribute, char buf
+* Output: no
+* Return: EPERM
+***********************************************************************/
+static ssize_t fts_fwupdate_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ /* place holder for future use */
+ return -EPERM;
+}
+
+/************************************************************************
+* Name: fts_fwupdate_store
+* Brief: upgrade from *.i
+* Input: device, device attribute, char buf, char count
+* Output: no
+* Return: char count
+***********************************************************************/
+static ssize_t fts_fwupdate_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
+{
+ u8 uc_host_fm_ver;
+ int i_ret;
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ mutex_lock(&fts_input_dev->mutex);
+
+ disable_irq(client->irq);
+ #if GTP_ESD_PROTECT
+ apk_debug_flag = 1;
+ #endif
+
+ i_ret = fts_ctpm_fw_upgrade_with_i_file_for_cci_3207(client);
+ if (i_ret == 0)
+ {
+ msleep(300);
+ uc_host_fm_ver = fts_ctpm_get_i_file_ver();
+ dev_err(dev, "%s [FTS] upgrade to new version 0x%x\n", __func__, uc_host_fm_ver);
+ }
+ else
+ {
+ dev_err(dev, "%s ERROR:[FTS] upgrade failed ret=%d.\n", __func__, i_ret);
+ }
+
+ #if GTP_ESD_PROTECT
+ apk_debug_flag = 0;
+ #endif
+ enable_irq(client->irq);
+ mutex_unlock(&fts_input_dev->mutex);
+
+ return count;
+}
+/************************************************************************
+* Name: fts_fwupgradeapp_show
+* Brief: no
+* Input: device, device attribute, char buf
+* Output: no
+* Return: EPERM
+***********************************************************************/
+static ssize_t fts_fwupgradeapp_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ /* place holder for future use */
+ return -EPERM;
+}
+
+/************************************************************************
+* Name: fts_fwupgradeapp_store
+* Brief: upgrade from app.bin
+* Input: device, device attribute, char buf, char count
+* Output: no
+* Return: char count
+***********************************************************************/
+static ssize_t fts_fwupgradeapp_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
+{
+ char fwname[128];
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ memset(fwname, 0, sizeof(fwname));
+ sprintf(fwname, "%s", buf);
+ fwname[count-1] = '\0';
+
+ mutex_lock(&fts_input_dev->mutex);
+
+ disable_irq(client->irq);
+ #if GTP_ESD_PROTECT
+ apk_debug_flag = 1;
+ #endif
+ fts_ctpm_fw_upgrade_with_app_file(client, fwname);
+ #if GTP_ESD_PROTECT
+ apk_debug_flag = 0;
+ #endif
+ enable_irq(client->irq);
+
+ mutex_unlock(&fts_input_dev->mutex);
+ return count;
+}
+/************************************************************************
+* Name: fts_ftsgetprojectcode_show
+* Brief: no
+* Input: device, device attribute, char buf
+* Output: no
+* Return: EPERM
+***********************************************************************/
+static ssize_t fts_getprojectcode_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+
+ return -EPERM;
+}
+/************************************************************************
+* Name: fts_ftsgetprojectcode_store
+* Brief: no
+* Input: device, device attribute, char buf, char count
+* Output: no
+* Return: EPERM
+***********************************************************************/
+static ssize_t fts_getprojectcode_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
+{
+ /* place holder for future use */
+ return -EPERM;
+}
+
+
+/************************************************************************
+* Name: fts_tptestchnum_show
+* Brief: no
+* Input: device, device attribute, char buf
+* Output: no
+* Return: char number
+***********************************************************************/
+static ssize_t fts_tptestchnum_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ ssize_t num_read_chars = 0, tmp_chars = 0;
+ char tmp_buf[128];
+ u8 reg_addr, val_chnl_num = 0, val_key_num = 0;
+
+ mutex_lock(&fts_input_dev->mutex);
+ memset(buf,0,sizeof(char));
+
+ if (FT_SC_Enter_Factory_Mode() == ERR_ENTER_FACTORY)
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>> Fail at Test Channel and Key Number enter factory mode\n");
+ tmp_chars = snprintf(tmp_buf, 128,"Fail at Test Channel and Key Number enter factory mode\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ }
+ else
+ {
+ reg_addr = TP_CHNL_NUM;
+ fts_read_reg(fts_i2c_client, reg_addr, &val_chnl_num);
+
+ reg_addr = TP_KEY_NUM;
+ fts_read_reg(fts_i2c_client, reg_addr, &val_key_num);
+
+ if ((val_chnl_num != MAX_CHANNEL_NUMBER) || (val_key_num != MAX_KEY_NUMBER) )
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>>Failed Test Channel and Key Number ch_num: %d, key_num: %d\n",val_chnl_num,val_key_num);
+ tmp_chars = snprintf(tmp_buf, 128, "Failed Test Channel and Key Number ch_num: %d, key_num: %d\n",val_chnl_num,val_key_num);
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ }
+ else
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>>Pass Test_Channel_and_Key_Number ch_num: %d, key_num: %d\n",val_chnl_num,val_key_num);
+ tmp_chars = snprintf(tmp_buf, 128, "Pass Test_Channel_and_Key_Number ch_num: %d, key_num: %d\n",val_chnl_num,val_key_num);
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ }
+ }
+
+ if (FT_SC_Enter_Normal_Mode() == ERR_ENTER_NORMAL)
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>>Fail at Test Channel and Key Number return normal mode\n");
+ tmp_chars = snprintf(tmp_buf, 128,"Fail at Test Channel and Key Number return normal mode\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ }
+ mutex_unlock(&fts_input_dev->mutex);
+
+ fts_reset_chip();
+
+ return num_read_chars;
+}
+/************************************************************************
+* Name: fts_tptestchnum_store
+* Brief: no
+* Input: device, device attribute, char buf, char count
+* Output: no
+* Return: EPERM
+***********************************************************************/
+static ssize_t fts_tptestchnum_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
+{
+ /* place holder for future use */
+ return -EPERM;
+}
+/************************************************************************
+* Name: fts_tptestrawdata_show
+* Brief: no
+* Input: device, device attribute, char buf
+* Output: no
+* Return: char number
+***********************************************************************/
+static ssize_t fts_tptestrawdata_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ ssize_t num_read_chars = 0, tmp_chars = 0;
+ int try_cnt = 0;
+ int i = 0;
+ char tmp_buf[128];
+ u8 reg_val = 0, val_write = 0, val_read = 0xff;
+ u8 rawdata_packet_buf[MAX_CHANNEL_NUMBER * 2];
+ u16 rawdata_buf[MAX_CHANNEL_NUMBER];
+ //u16 Rmax = 0, Rmin = 0xffff;
+
+ mutex_lock(&fts_input_dev->mutex);
+ memset(buf,0,sizeof(char));
+
+ if (FT_SC_Enter_Factory_Mode() == ERR_ENTER_FACTORY)
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>> Fail at Test RawData enter factory mode\n");
+ tmp_chars = snprintf(tmp_buf, 128,"Fail at Test RawData enter factory mode\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ }
+ else
+ {
+ do
+ { //TODO need to debug for write 0x01 on register 0x08 by i2c
+ reg_val = TP_A_CMD_REG;
+ val_write = 0x01;
+ fts_write_reg(fts_i2c_client, reg_val, val_write);
+ msleep(50);
+ //after, need to get 0x00 on register 0x08 ready for getting rawdata
+ fts_read_reg(fts_i2c_client, reg_val, &val_read);
+ try_cnt++;
+ }
+ while ( (val_read != 0) && (try_cnt < 10) );
+
+ if (val_read != 0)
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>>Fail at Test RawData ready\n");
+ tmp_chars = snprintf(tmp_buf, 128,"Fail at Test RawData ready\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ goto ERROR_RETURN;
+ }
+
+ reg_val = RAW_DATA_ADDR_R;
+ val_write = 0;
+ //tell touch ic, read rawdata from addr 0x00 --> write 0x00 on register 0x34
+ fts_write_reg(fts_i2c_client, reg_val, val_write);
+ msleep(500);
+
+ reg_val = RAW_DATA_BUF;
+ //start to read from register 0x35. the data has CHANNEL_NUMBER * 2 bytes.
+ fts_i2c_read(fts_i2c_client, ®_val, 1, rawdata_packet_buf, MAX_CHANNEL_NUMBER * 2);
+
+ FTS_DBG("-------------- List All Raw Data --------------\n");
+ tmp_chars = snprintf(tmp_buf, 128,"-------------- List All Raw Data --------------\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ /* List Raw Data of Each Channel */
+ for(i = 0; i < MAX_CHANNEL_NUMBER * 2; i += 2)
+ {
+ rawdata_buf[i/2] = (((u16)rawdata_packet_buf[i]) << 8) | ((u16)rawdata_packet_buf[i+1]);
+
+ FTS_DBG("[FTS] Raw Data[%d]: %d\n",i/2,rawdata_buf[i/2]);
+ tmp_chars = snprintf(tmp_buf, 128,"Raw Data[%d]: %d\n",i/2,rawdata_buf[i/2]);
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ }
+
+ }
+
+ FTS_DBG("-------------- End Raw Data --------------\n");
+ tmp_chars = snprintf(tmp_buf, 128,"-------------- End Raw Data --------------\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+
+ERROR_RETURN:
+
+ if (FT_SC_Enter_Normal_Mode() == ERR_ENTER_NORMAL)
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>>Fail at Test RawData return normal mode\n");
+ tmp_chars = snprintf(tmp_buf, 128,"Fail at Test RawData return normal mode\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ }
+ mutex_unlock(&fts_input_dev->mutex);
+
+ fts_reset_chip();
+
+ return num_read_chars;
+}
+
+/************************************************************************
+* Name: fts_tptestrawdata_store
+* Brief: no
+* Input: device, device attribute, char buf, char count
+* Output: no
+* Return: EPERM
+***********************************************************************/
+static ssize_t fts_tptestrawdata_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
+{
+ /* place holder for future use */
+ return -EPERM;
+}
+/************************************************************************
+* Name: fts_tptestcbdata_show
+* Brief: no
+* Input: device, device attribute, char buf
+* Output: no
+* Return: char number
+***********************************************************************/
+static ssize_t fts_tptestcbdata_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ ssize_t num_read_chars = 0, tmp_chars = 0;
+ int try_cnt = 0;
+ int i = 0;
+ char tmp_buf[128];
+ u8 reg_val = 0, val_write = 0, val_read = 0xff;
+ u8 cbdata_packet_buf[MAX_CHANNEL_NUMBER * 2];
+ u16 cb_data[MAX_CHANNEL_NUMBER];
+ u16 cbdata_buf[MAX_CHANNEL_NUMBER];
+
+ u8 cbDeltadata_packet_buf[MAX_CHANNEL_NUMBER * 2];
+ u16 cbDeltadata_buf[MAX_CHANNEL_NUMBER];
+ //u16 CBmax = 0, CBmin = 0xffff;
+ //u16 CBDeltamax = 0, CBDeltamin = 0xffff;
+
+ mutex_lock(&fts_input_dev->mutex);
+ memset(buf,0,sizeof(char));
+
+ if (FT_SC_Enter_Factory_Mode() == ERR_ENTER_FACTORY)
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>>Fail at Test CBDATA enter factory mode\n");
+ tmp_chars = snprintf(tmp_buf, 128,"Fail at Test CBDATA enter factory mode\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ }
+ else
+ {
+ //F_TESTMODE_2 for getting CB data
+ reg_val = FACTORY_TEST_MODE_ADDR;
+ val_write = F_TESTMODE_2;
+ //tell touch ic, change FACTORY_TEST_MODE 2
+ fts_write_reg(fts_i2c_client, reg_val, val_write);
+ msleep(100);
+
+ do
+ { //TODO need to debug for write 0x01 on register 0x08 by i2c
+ reg_val = TP_A_CMD_REG;
+ val_write = 0x01;
+ fts_write_reg(fts_i2c_client, reg_val, val_write);
+ msleep(50);
+ //after, need to get 0x00 on register 0x08 ready for getting cbdata
+ fts_read_reg(fts_i2c_client, reg_val, &val_read);
+ try_cnt++;
+ }
+ while ( (val_read != 0) && (try_cnt < 10) );
+
+ if (val_read != 0)
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>>Fail at Test CBData ready\n");
+ tmp_chars = snprintf(tmp_buf, 128,"Fail at Test CBData ready\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ goto ERROR_RETURN;
+ }
+
+ //TODO: checking, take CB data is same way with rawdata or not?
+ reg_val = CB_DATA_ADDR_R;
+ val_write = 0;
+ //tell touch ic, read CB data from addr 0x00 --> write 0x00 on register 0x33
+ fts_read_reg(fts_i2c_client, reg_val, &val_read);
+ msleep(500);
+
+ reg_val = CB_DATA_BUF;
+ //start read from register 0x39. the data has CHANNEL_NUMBER * 2 bytes.
+ fts_i2c_read(fts_i2c_client, ®_val, 1, cbdata_packet_buf, MAX_CHANNEL_NUMBER * 2);
+
+ FTS_DBG("-------------- List CB Data --------------\n");
+ tmp_chars = snprintf(tmp_buf, 128,"-------------- List CB Data --------------\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+
+ for (i = 0; i < MAX_CHANNEL_NUMBER * 2; i += 2)
+ {
+ cb_data[i/2] = cbdata_buf[i/2] = (((u16)cbdata_packet_buf[i]) << 8) | ((u16)cbdata_packet_buf[i+1]);
+ FTS_DBG("[FTS] CB Data[%d]: %d\n",i/2,cb_data[i/2]);
+ tmp_chars = snprintf(tmp_buf, 128,"CB Data[%d]: %d\n",i/2,cb_data[i/2]);
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ }
+
+ FTS_DBG("-------------- End CB Data --------------\n");
+ tmp_chars = snprintf(tmp_buf, 128,"-------------- End CB Data --------------\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+
+ //F_TESTMODE_1 for getting CB Delta data
+ reg_val = FACTORY_TEST_MODE_ADDR;
+ val_write = F_TESTMODE_1;
+ //tell touch ic, change FACTORY_TEST_MODE 1
+ fts_write_reg(fts_i2c_client, reg_val, val_write);
+ msleep(100);
+ do
+ { //TODO need to debug for write 0x01 on register 0x08 by i2c
+ reg_val = TP_A_CMD_REG;
+ val_write = 0x01;
+ fts_write_reg(fts_i2c_client, reg_val, val_write);
+ msleep(50);
+ //after, need to get 0x00 on register 0x08 ready for getting cb delta data
+ fts_read_reg(fts_i2c_client, reg_val, &val_read);
+ try_cnt++;
+ }
+ while ( (val_read != 0) && (try_cnt < 10) );
+ if (val_read != 0)
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>>Fail at Test CB Delta Data ready\n");
+ tmp_chars = snprintf(tmp_buf, 128,"Fail at Test CB Delta Data ready\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ goto ERROR_RETURN;
+ }
+
+ //TODO: checking, take CB Delta data is same way with rawdata or not?
+ reg_val = CB_DATA_ADDR_R;
+ val_write = 0;
+ //tell touch ic, read CB Delta data from addr 0x00 --> write 0x00 on register 0x33
+ fts_write_reg(fts_i2c_client, reg_val, val_write);
+ msleep(500);
+
+ reg_val = CB_DATA_BUF;
+ //start read from register 0x39. the data has CHANNEL_NUMBER * 2 bytes.
+ fts_i2c_read(fts_i2c_client, ®_val, 1, cbDeltadata_packet_buf, MAX_CHANNEL_NUMBER * 2);
+
+ FTS_DBG("-------------- List CB Delta Data --------------\n");
+ tmp_chars = snprintf(tmp_buf, 128,"-------------- List CB Delta Data --------------\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+
+ for (i = 0; i < MAX_CHANNEL_NUMBER * 2; i += 2)
+ {
+ cbDeltadata_buf[i/2] = abs(cbdata_buf[i/2] - ( (((u16)cbDeltadata_packet_buf[i]) << 8) | ((u16)cbDeltadata_packet_buf[i+1])));
+ //cbDeltadata_buf[i/2] = cbdata_buf[i/2] - ( (((u16)cbDeltadata_packet_buf[i]) << 8) | ((u16)cbDeltadata_packet_buf[i+1]));
+
+ FTS_DBG("[FTS] CB Delta Data[%d]: %d\n",i/2,cbDeltadata_buf[i/2]);
+ tmp_chars = snprintf(tmp_buf, 128,"CB Delta Data[%d]: %d\n",i/2,cbDeltadata_buf[i/2]);
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ }
+ FTS_DBG("-------------- End CB Delta Data --------------\n");
+ tmp_chars = snprintf(tmp_buf, 128,"-------------- End CB Delta Data --------------\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+
+ }
+ERROR_RETURN:
+
+ if (FT_SC_Enter_Normal_Mode() == ERR_ENTER_NORMAL)
+ {
+ FTS_DBG("[FTS][FACTORY] >>>>>Fail at Test CBDATA return normal mode\n");
+ tmp_chars = snprintf(tmp_buf, 128,"Fail at Test CBDATA return normal mode\n");
+ strcat(buf,tmp_buf);
+ num_read_chars += tmp_chars;
+ }
+ mutex_unlock(&fts_input_dev->mutex);
+ fts_reset_chip();
+
+ return num_read_chars;
+}
+/************************************************************************
+* Name: fts_tptestcbdata_store
+* Brief: no
+* Input: device, device attribute, char buf, char count
+* Output: no
+* Return: EPERM
+***********************************************************************/
+static ssize_t fts_tptestcbdata_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
+{
+ /* place holder for future use */
+ return -EPERM;
+}
+
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+int FTS_I2c_Read(unsigned char *wBuf, int wLen, unsigned char *rBuf, int rLen)
+{
+ if (NULL == fts_i2c_client) {
+ return -1;
+ }
+
+ return fts_i2c_read(fts_i2c_client, wBuf, wLen, rBuf, rLen);
+}
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+
+int FTS_I2c_Write(unsigned char *wBuf, int wLen)
+{
+ if (NULL == fts_i2c_client) {
+ return -1;
+ }
+
+ return fts_i2c_write(fts_i2c_client, wBuf, wLen);
+}
+
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+
+#define FT3207_CFG_FILEPATH "/system/res/TP/"
+#define FT3207_RESULT_FILEPATH "/sdcard/"
+static int ft3207_GetInISize(char *config_name)
+{
+ struct file *pfile = NULL;
+ struct inode *inode;
+ unsigned long magic;
+ off_t fsize = 0;
+ char filepath[128];
+
+ memset(filepath, 0, sizeof(filepath));
+ sprintf(filepath, "%s%s", FT3207_CFG_FILEPATH, config_name);
+ if (NULL == pfile)
+ pfile = filp_open(filepath, O_RDONLY, 0);
+ if (IS_ERR(pfile)) {
+ pr_err("[FTS][TOUCH_ERR] %s : error occured while opening file %s. \n", __func__, filepath);
+ return -EIO;
+ }
+ inode = pfile->f_dentry->d_inode;
+ magic = inode->i_sb->s_magic;
+ fsize = inode->i_size;
+ filp_close(pfile, NULL);
+ return fsize;
+}
+
+static int ft3207_ReadInIData(char *config_name, char *config_buf)
+{
+ struct file *pfile = NULL;
+ struct inode *inode;
+ unsigned long magic;
+ off_t fsize;
+ char filepath[128];
+ loff_t pos;
+ mm_segment_t old_fs;
+
+ memset(filepath, 0, sizeof(filepath));
+ sprintf(filepath, "%s%s", FT3207_CFG_FILEPATH, config_name);
+ if (NULL == pfile)
+ pfile = filp_open(filepath, O_RDONLY, 0);
+ if (IS_ERR(pfile)) {
+ pr_err("[FTS][TOUCH_ERR] %s : error occured while opening file %s. \n", __func__, filepath);
+ return -EIO;
+ }
+ inode = pfile->f_dentry->d_inode;
+ magic = inode->i_sb->s_magic;
+ fsize = inode->i_size;
+ old_fs = get_fs();
+ set_fs(KERNEL_DS);
+ pos = 0;
+ vfs_read(pfile, config_buf, fsize, &pos);
+ filp_close(pfile, NULL);
+ set_fs(old_fs);
+ return 0;
+}
+
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+static int ft3207_get_testparam_from_ini(char *config_name)
+{
+ char *config_data = NULL;
+ int file_size;
+
+ file_size = ft3207_GetInISize(config_name);
+
+ pr_err("[FTS][Touch] %s : inisize = %d \n ", __func__, file_size);
+ if (file_size <= 0) {
+ pr_err("[FTS][TOUCH_ERR] %s : ERROR : Get firmware size failed \n", __func__);
+ return -EIO;
+ }
+
+ config_data = kmalloc(file_size + 1, GFP_ATOMIC);
+
+ if (ft3207_ReadInIData(config_name, config_data)) {
+ pr_err("[FTS][TOUCH_ERR] %s() - ERROR: request_firmware failed \n", __func__);
+ kfree(config_data);
+ return -EIO;
+ }
+ else {
+ pr_info("[FTS][Touch] %s : ft3207_ReadInIData successful \n", __func__);
+ }
+ //TODO checking: GC change here code.
+ if(set_param_data(config_data)<0)
+ {
+ printk("[FTS]%s The IC type error in this testing\n", __func__);
+ return -1;
+ }
+ return 0;
+}
+
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+
+static mm_segment_t oldfs;
+
+static struct file *fts_selftest_file_open(void)
+{
+
+ struct file* filp = NULL;
+ char filepath[128];
+ int err = 0;
+
+ memset(filepath, 0, sizeof(filepath));
+ sprintf(filepath, "%s%s", FT3207_RESULT_FILEPATH, "selftest.csv");
+
+ oldfs = get_fs();
+ set_fs(get_ds());
+
+ filp = filp_open(filepath, O_WRONLY|O_CREAT|O_APPEND , 0644);
+ if (IS_ERR(filp)) {
+ err = PTR_ERR(filp);
+ return NULL;
+ }
+
+ return filp;
+}
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+
+int fts_selftest_file_write(struct file* file, unsigned char *data, int len)
+{
+
+ int ret;
+ ret = file->f_op->write(file, data, len, &file->f_pos);
+
+ return ret;
+}
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+
+void fts_selftest_file_close(struct file* file)
+{
+
+ set_fs(oldfs);
+ filp_close(file, NULL);
+}
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+/*********************************************************************************/
+int selft_test_result = 0;
+
+static ssize_t fts_selftest_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ char config_file[128], result_buf[128];
+ char *w_buf;
+ struct file *w_file;
+ int w_len=0, i = 0;
+
+ bool item_result[SELFTEST_ITEM_NUM]={0};
+ int count = 0;
+ u8 cb_deviation;
+ selft_test_result = 1;
+
+ disable_irq(client->irq);
+ memset(config_file, 0, sizeof(config_file));
+
+ switch(fts_wq_data->fw_vendor_id){
+ case TP_ID_0:
+ sprintf(config_file, TP_INI_FILE_0x90);
+ break;
+ default:
+ sprintf(config_file, TP_INI_FILE_0x90);
+ break;
+ }
+
+ printk("[FTS]%s : loading config file : %s \n", __func__, config_file);
+
+ init_i2c_read_func(FTS_I2c_Read);
+ init_i2c_write_func(FTS_I2c_Write);
+
+ if (ft3207_get_testparam_from_ini(config_file) < 0) {
+ printk("[FTS][TOUCH_ERR] %s : get testparam from ini failure \n", __func__);
+ }
+ else {
+ printk("[FTS][Touch] %s : tp test Start... \n", __func__);
+
+ if (FT3207_StartTest(item_result, &cb_deviation)) {
+ printk("[FTS][Touch] %s : tp test pass \n", __func__);
+ selft_test_result = 0;
+ }
+ else {
+ printk("[FTS][Touch] %s : tp test failure \n", __func__);
+ selft_test_result = 1;
+ }
+
+ for (i = 0; i < 3; i++) {
+ if (fts_write_reg(client, 0x00, 0x00) >= 0)
+ break;
+ else
+ msleep(200);
+ }
+
+ w_file = fts_selftest_file_open();
+ if (!w_file) {
+ printk("[FTS][Touch] %s : Open log file fail !\n", __func__);
+ } else {
+ w_len = FT3207_get_test_data(&w_buf);
+ fts_selftest_file_write(w_file, w_buf, w_len);
+
+
+ w_len = sprintf(result_buf, "Selftest %s\n=====END=====\n",selft_test_result ? "FAIL" : "PASS");
+ fts_selftest_file_write(w_file, result_buf, w_len);
+ switch(fts_wq_data->fw_vendor_id){
+ case TP_ID_0:
+ w_len = sprintf(result_buf, "GIS\n");
+ fts_selftest_file_write(w_file, result_buf, w_len);
+ break;
+
+ default:
+ w_len = sprintf(result_buf, "No Such TP\n");
+ fts_selftest_file_write(w_file, result_buf, w_len);
+ break;
+ }
+ fts_selftest_file_close(w_file);
+ }
+
+ free_test_param_data();
+ }
+
+ enable_irq(client->irq);
+
+ //TODO GC add reset chip here
+ fts_reset_chip();
+
+ if (selft_test_result) {
+ printk("[FTS] %s: Selftest FAIL\n", __func__);
+ }
+ else {
+ printk("[FTS] %s : Selftest PASS\n", __func__);
+ }
+
+ count += sprintf(buf + count, "[FTS] : Selftest %s;\n", selft_test_result ? "FAIL" : "PASS");
+
+
+ for (i = 0 ;i < SELFTEST_ITEM_NUM; i++) {
+ if (item_result[i] == false) {
+ switch(i) {
+ case ENTER_FACTORY_MODE_TEST:
+ count += sprintf(buf + count, "TP EnterFTM Fail;\n");
+ printk("[fts]%s : TP EnterFTM Fail \n", __func__);
+ return count;
+ break;
+ case RAWDATA_TEST:
+ count += sprintf(buf + count, "RawData Fail;\n");
+ printk("[fts]%s : TP RawData Fail \n", __func__);
+ break;
+ case CB_TEST:
+ count += sprintf(buf + count, "CB Fail;\n");
+ printk("[fts]%s : TP CB Fail \n", __func__);
+ break;
+ case DIFF_CB_TEST:
+ count += sprintf(buf + count, "DiffCB Fail; CB_D : %d\n", cb_deviation);
+ printk("[fts]%s : TP DiffCB Fail\n", __func__);
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+ return count;
+}
+
+//dean add for FW check start
+static ssize_t fts_fw_check_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ int count = 0;
+
+ if(fts_wq_data->fw_ver[0] == 0) {
+ count += sprintf(buf + count, "FAIL\n");
+ count += sprintf(buf + count, "TP ID is wrong\n");
+ }
+ else {
+ count += sprintf(buf + count, "Pass, (fw_ver : 0x%x, fw_id : 0x%x)\n",
+ fts_wq_data->fw_ver[0], fts_wq_data->fw_vendor_id);
+ }
+ return count;
+}
+
+#define FTS_ALL_PACKET_LENGTH 256
+static int getTPid(void)
+{
+ struct i2c_client *client = fts_i2c_client;
+ unsigned char cmd[6] = {0};
+ u8 tmpBuf[FTS_ALL_PACKET_LENGTH] = {0};
+ int err = 0;
+
+ //first, let touch ic enter read mode
+ cmd[0] = 0x55;
+ cmd[1] = 0xAA;
+ err = fts_i2c_write(client, cmd, 2);
+ if (err < 0) {
+ dev_err(&client->dev, "TP vendor id read failed 1 \n");
+ goto tp_id_err;
+ }
+ msleep(2);
+ fts_reset_chip();
+ err = fts_i2c_write(client, cmd, 2);
+ if (err < 0) {
+ dev_err(&client->dev, "TP vendor id read failed 2 \n");
+ goto tp_id_err;
+ }
+ msleep(2);
+
+ //start to read touch F/W's TP vendor ID
+ cmd[0] = 0x02;
+ cmd[1] = 0xFD;
+ cmd[2] = (u8)((7 * FTS_ALL_PACKET_LENGTH)>>8);
+ cmd[3] = (u8)(7 * FTS_ALL_PACKET_LENGTH);
+ cmd[4] = (u8)((FTS_ALL_PACKET_LENGTH-1)>>8);
+ cmd[5] = (u8)(FTS_ALL_PACKET_LENGTH-1);
+ err = fts_i2c_read(client, cmd, 6, tmpBuf, FTS_ALL_PACKET_LENGTH);
+ if (err < 0) {
+ dev_err(&client->dev, "TP vendor id read failed 3 \n");
+ goto tp_id_err;
+ }
+
+ msleep(2);
+
+ //lock flash cptm
+ cmd[0] = 0x0A;
+ cmd[1] = 0xF5;
+ err = fts_i2c_write(client, cmd, 2);
+ if (err < 0) {
+ dev_err(&client->dev, "TP vendor id read failed 4 \n");
+ goto tp_id_err;
+ }
+
+ msleep(100);
+
+ fts_reset_chip();
+ msleep(300);
+
+ return tmpBuf[0xB4];
+
+tp_id_err:
+
+ fts_reset_chip();
+ msleep(300);
+ return -1;
+}
+
+int check_TP_ID(char *buf, ssize_t buf_len, u8 tp_id) {
+
+ switch(tp_id) {
+ case TP_ID_0:
+ buf_len += sprintf(buf + buf_len, "TP is 0x90\n");
+ break;
+ case TP_ID_1:
+ buf_len += sprintf(buf + buf_len, "TP is 0x91\n");
+ break;
+ case TP_ID_2:
+ buf_len += sprintf(buf + buf_len, "TP is 0x92\n");
+ break;
+ case TP_ID_3:
+ buf_len += sprintf(buf + buf_len, "TP is 0x93\n");
+ break;
+ default:
+ buf_len += sprintf(buf + buf_len, "TP isn't correct\n");
+ break;
+ }
+ return buf_len;
+
+}
+
+//dean add get TP infomation include fw ver, tp id from chip by i2c
+static ssize_t fts_getTPinfo_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ ssize_t num_read_chars = 0;
+ u8 fwver = 0, tp_id = 0;
+ u8 err = -1;
+ u8 reg_addr = FTS_REG_FW_VER;
+
+ mutex_lock(&fts_input_dev->mutex);
+
+ err = fts_i2c_read(fts_i2c_client, ®_addr, 1, &fwver, 1);
+
+ if (fwver == 255 || err < 0)
+ num_read_chars += sprintf(buf + num_read_chars,"get tp fw version fail!\n");
+ else
+ {
+ num_read_chars += sprintf(buf + num_read_chars, "FW Ver : 0x%02X\n", fwver);
+ }
+
+ tp_id = getTPid();
+ num_read_chars += sprintf(buf + num_read_chars, "TP ID : 0x%02X\n", tp_id);
+
+ num_read_chars = check_TP_ID(buf, num_read_chars, tp_id);
+
+ mutex_unlock(&fts_input_dev->mutex);
+
+ return num_read_chars;
+}
+
+//dean add get TP infomation include fw ver, tp id from chip by i2c
+static ssize_t fts_TPupgradeAPP_for_i_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ ssize_t num_read_chars = 0;
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ u8 err = -1;
+
+ mutex_lock(&fts_input_dev->mutex);
+
+ disable_irq(client->irq);
+
+ err = fts_ctpm_auto_upgrade_for_cci(fts_i2c_client, fts_wq_data->fw_vendor_id, true);
+
+ if(err == 0) {
+ fts_update_fw_ver(fts_wq_data);
+ fts_update_fw_vendor_id(fts_wq_data);
+
+ num_read_chars += sprintf(buf + num_read_chars, "TP Upgrade is OK, FW ver : 0x%x, TP ID : 0x%x\n",
+ fts_wq_data->fw_ver[0], fts_wq_data->fw_vendor_id);
+ } else {
+ num_read_chars += sprintf(buf + num_read_chars, "TP Upgrade is Fail\n");
+ }
+
+ num_read_chars = check_TP_ID(buf, num_read_chars, fts_wq_data->fw_vendor_id);
+
+ enable_irq(client->irq);
+ mutex_unlock(&fts_input_dev->mutex);
+
+ return num_read_chars;
+}
+
+static ssize_t show_tp_debug_tag(struct device *dev, struct device_attribute *attr, char *buf)
+{
+#ifndef FTS_GESTRUE_EN
+ return sprintf(buf, "TP down event log : %s\n", print_point?"ON":"OFF");
+#else
+ return sprintf(buf, "TP down event log : %s, gesture log: %s\n", print_point?"ON":"OFF",print_gesture?"ON":"OFF");
+#endif
+}
+
+static ssize_t store_tp_debug_tag(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
+{
+ printk(KERN_DEBUG "[fts]%s, buf : %d\n", __func__, buf[0]);
+
+ switch(buf[0]) {
+ case DISABLE_TAG:
+ printk(KERN_DEBUG "[fts]%s, TP debug log disable\n", __func__);
+ print_point = false;
+#ifdef FTS_GESTRUE_EN
+ print_gesture = false;
+#endif
+ break;
+ case ENABLE_POINT_TAG:
+ printk(KERN_DEBUG "[fts]%s, TP down event log enable\n", __func__);
+ print_point = true;
+ break;
+#ifdef FTS_GESTRUE_EN
+ case ENABLE_GESTURE_TAG:
+ printk(KERN_DEBUG "[fts]%s, TP gesture log enable\n", __func__);
+ print_gesture = true;
+ break;
+#endif
+ default :
+ printk(KERN_DEBUG "[fts]%s, invalid format\n", __func__);
+ break;
+ }
+
+ return count;
+}
+
+#ifdef FTS_GESTRUE_EN
+static ssize_t show_tp_enable_big_area_event_tag(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ printk(KERN_DEBUG "[fts]%s, Enable TP big area event into ambient mode\n", __func__);
+ en_big_area_func = true;
+ return sprintf(buf, "TP big area function : %s\n", en_big_area_func?"ON":"OFF");
+}
+
+static ssize_t show_tp_disable_big_area_event_tag(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ printk(KERN_DEBUG "[fts]%s, Disable TP big area event into ambient mode\n", __func__);
+ en_big_area_func = false;
+ return sprintf(buf, "TP big area function : %s\n", en_big_area_func?"ON":"OFF");
+}
+
+#endif
+
+static ssize_t tp_enable_irq_func(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ enable_irq(fts_wq_data->client->irq);
+ return snprintf(buf, 64, "TP irq enable\n");
+}
+
+static ssize_t tp_disable_irq_func(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ disable_irq(fts_wq_data->client->irq);
+ return snprintf(buf, 64, "TP irq disable\n");
+}
+
+static ssize_t show_tp_debug_info(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ struct irq_desc *desc = irq_to_desc(fts_wq_data->client->irq);
+
+ return snprintf(buf, 256, "fts_wq_queue_result: %u, disable_depth: %u,\n"
+ "irq_handler_recovery_count: %u, suspend_resume_recovery_count: %u\n"
+ "plam_recovery_count: %u\n", fts_wq_queue_result, desc->depth,
+ irq_handler_recovery_count, suspend_resume_recovery_count,
+ plam_recovery_count);
+}
+
+static ssize_t fts_tp_pwr_disabled_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
+{
+ int err = 0 ;
+ unsigned int disabling_tp;
+
+ err = kstrtouint(buf, 10, &disabling_tp);
+
+ if (disabling_tp) {
+ printk(KERN_DEBUG "[fts]%s, Disable TP \n", __func__);
+
+ err = fts_ts_disable(dev);
+ ts_pwr_disabled = true;
+ } else {
+ if (ts_pwr_disabled) {
+ printk(KERN_DEBUG "[fts]%s, Enable TP Now \n", __func__);
+ fts_ts_enable(dev);
+ ts_pwr_disabled = false;
+ } else {
+ printk(KERN_INFO "[fts]%s, TP power already on \n", __func__);
+ return count;
+ }
+ }
+ return count;
+}
+
+static ssize_t fts_tp_pwr_disabled_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ printk(KERN_DEBUG "[fts]%s, Show TP Disable state\n", __func__);
+ return EPERM;
+}
+
+static DEVICE_ATTR(ftstppwrdisable, S_IRUGO|S_IWUSR|S_IWGRP, fts_tp_pwr_disabled_show, fts_tp_pwr_disabled_store);
+
+/****************************************/
+/* sysfs */
+/*get the fw version
+*example:cat ftstpfwver
+*/
+static DEVICE_ATTR(ftstpfwver, S_IRUGO|S_IWUSR, fts_tpfwver_show, fts_tpfwver_store);
+
+static DEVICE_ATTR(ftstpdriverver, S_IRUGO|S_IWUSR, fts_tpdriver_version_show, fts_tpdriver_version_store);
+/*upgrade from *.i
+*example: echo 1 > ftsfwupdate
+*/
+static DEVICE_ATTR(ftsfwupdate, S_IRUGO|S_IWUSR, fts_fwupdate_show, fts_fwupdate_store);
+/*read and write register
+*read example: echo 88 > ftstprwreg ---read register 0x88
+*write example:echo 8807 > ftstprwreg ---write 0x07 into register 0x88
+*
+*note:the number of input must be 2 or 4.if it not enough,please fill in the 0.
+*/
+static DEVICE_ATTR(ftstprwreg, S_IRUGO|S_IWUSR, fts_tprwreg_show, fts_tprwreg_store);
+/*upgrade from app.bin
+*example:echo "*_app.bin" > ftsfwupgradeapp
+*/
+static DEVICE_ATTR(ftsfwupgradeapp, S_IRUGO|S_IWUSR, fts_fwupgradeapp_show, fts_fwupgradeapp_store);
+static DEVICE_ATTR(ftsgetprojectcode, S_IRUGO|S_IWUSR, fts_getprojectcode_show, fts_getprojectcode_store);
+
+static DEVICE_ATTR(ftstptestchnum, S_IRUGO|S_IWUSR, fts_tptestchnum_show, fts_tptestchnum_store);
+static DEVICE_ATTR(ftstptestrawdata, S_IRUGO|S_IWUSR, fts_tptestrawdata_show, fts_tptestrawdata_store);
+static DEVICE_ATTR(ftstptestcbdata, S_IRUGO|S_IWUSR, fts_tptestcbdata_show, fts_tptestcbdata_store);
+
+static DEVICE_ATTR(ftstpselftest, S_IRUGO, fts_selftest_show, NULL);
+
+//dean add for FW check
+static DEVICE_ATTR(fw_check, S_IRUGO, fts_fw_check_show, NULL);
+
+static DEVICE_ATTR(fts_getTPinfo, S_IRUGO, fts_getTPinfo_show, NULL);
+static DEVICE_ATTR(fts_TPupgradeAPP_for_i, S_IRUGO, fts_TPupgradeAPP_for_i_show, NULL);
+static DEVICE_ATTR(en_msg_report_data, S_IRUGO | S_IWUSR, show_tp_debug_tag, store_tp_debug_tag);
+
+#ifdef FTS_GESTRUE_EN
+static DEVICE_ATTR(enable_big_area_event, S_IRUGO, show_tp_enable_big_area_event_tag, NULL);
+static DEVICE_ATTR(disable_big_area_event, S_IRUGO, show_tp_disable_big_area_event_tag, NULL);
+
+#endif
+
+static DEVICE_ATTR(enable_tp_irq, S_IRUGO, tp_enable_irq_func, NULL);
+static DEVICE_ATTR(disable_tp_irq, S_IRUGO, tp_disable_irq_func, NULL);
+static DEVICE_ATTR(tp_debug_info, S_IRUGO, show_tp_debug_info, NULL);
+
+/*add your attr in here*/
+static struct attribute *fts_attributes[] = {
+ &dev_attr_ftstppwrdisable.attr,
+ &dev_attr_ftstpfwver.attr,
+ &dev_attr_ftstpdriverver.attr,
+ &dev_attr_ftsfwupdate.attr,
+ &dev_attr_ftstprwreg.attr,
+ &dev_attr_ftsfwupgradeapp.attr,
+ &dev_attr_ftsgetprojectcode.attr,
+ &dev_attr_ftstptestchnum.attr,
+ &dev_attr_ftstptestrawdata.attr,
+ &dev_attr_ftstptestcbdata.attr,
+ &dev_attr_ftstpselftest.attr,
+ &dev_attr_fw_check.attr,
+ &dev_attr_fts_getTPinfo.attr,
+ &dev_attr_fts_TPupgradeAPP_for_i.attr,
+ &dev_attr_en_msg_report_data.attr,
+#ifdef FTS_GESTRUE_EN
+ &dev_attr_enable_big_area_event.attr,
+ &dev_attr_disable_big_area_event.attr,
+#endif
+ &dev_attr_enable_tp_irq.attr,
+ &dev_attr_disable_tp_irq.attr,
+ &dev_attr_tp_debug_info.attr,
+ NULL
+};
+
+static struct attribute_group fts_attribute_group = {
+ .attrs = fts_attributes
+};
+
+/************************************************************************
+* Name: fts_create_sysfs
+* Brief: create sysfs for debug
+* Input: i2c info
+* Output: no
+* Return: success =0
+***********************************************************************/
+int fts_create_sysfs(struct i2c_client * client)
+{
+ int err;
+
+ err = sysfs_create_group(&client->dev.kobj, &fts_attribute_group);
+ if (0 != err)
+ {
+ dev_err(&client->dev, "%s() - ERROR: sysfs_create_group() failed.\n", __func__);
+ sysfs_remove_group(&client->dev.kobj, &fts_attribute_group);
+ return -EIO;
+ }
+ else
+ {
+ pr_info("fts:%s() - sysfs_create_group() succeeded.\n",__func__);
+ }
+ return err;
+}
+/************************************************************************
+* Name: fts_remove_sysfs
+* Brief: remove sys
+* Input: i2c info
+* Output: no
+* Return: no
+***********************************************************************/
+int fts_remove_sysfs(struct i2c_client * client)
+{
+ sysfs_remove_group(&client->dev.kobj, &fts_attribute_group);
+ return 0;
+}
diff --git a/drivers/input/touchscreen/focaltech_3267/focaltech_flash.c b/drivers/input/touchscreen/focaltech_3267/focaltech_flash.c
new file mode 100644
index 0000000..616ae833
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3267/focaltech_flash.c
@@ -0,0 +1,3674 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+
+/*******************************************************************************
+* 1.Included header files
+*******************************************************************************/
+#include "focaltech_core.h"
+
+/*******************************************************************************
+* Private constant and macro definitions using #define
+*******************************************************************************/
+#define FTS_REG_FW_MAJ_VER 0xB1
+#define FTS_REG_FW_MIN_VER 0xB2
+#define FTS_REG_FW_SUB_MIN_VER 0xB3
+#define FTS_FW_MIN_SIZE 8
+#define FTS_FW_MAX_SIZE (54 * 1024)
+/* Firmware file is not supporting minor and sub minor so use 0 */
+#define FTS_FW_FILE_MAJ_VER(x) ((x)->data[(x)->size - 2])
+#define FTS_FW_FILE_MIN_VER(x) 0
+#define FTS_FW_FILE_SUB_MIN_VER(x) 0
+#define FTS_FW_FILE_VENDOR_ID(x) ((x)->data[(x)->size - 1])
+#define FTS_FW_FILE_MAJ_VER_FT6X36(x) ((x)->data[0x10a])
+#define FTS_FW_FILE_VENDOR_ID_FT6X36(x) ((x)->data[0x108])
+#define FTS_MAX_TRIES 5
+#define FTS_RETRY_DLY 20
+#define FTS_MAX_WR_BUF 10
+#define FTS_MAX_RD_BUF 2
+#define FTS_FW_PKT_META_LEN 6
+#define FTS_FW_PKT_DLY_MS 20
+#define FTS_FW_LAST_PKT 0x6ffa
+#define FTS_EARSE_DLY_MS 100
+#define FTS_55_AA_DLY_NS 5000
+#define FTS_CAL_START 0x04
+#define FTS_CAL_FIN 0x00
+#define FTS_CAL_STORE 0x05
+#define FTS_CAL_RETRY 100
+#define FTS_REG_CAL 0x00
+#define FTS_CAL_MASK 0x70
+#define FTS_BLOADER_SIZE_OFF 12
+#define FTS_BLOADER_NEW_SIZE 30
+#define FTS_DATA_LEN_OFF_OLD_FW 8
+#define FTS_DATA_LEN_OFF_NEW_FW 14
+#define FTS_FINISHING_PKT_LEN_OLD_FW 6
+#define FTS_FINISHING_PKT_LEN_NEW_FW 12
+#define FTS_MAGIC_BLOADER_Z7 0x7bfa
+#define FTS_MAGIC_BLOADER_LZ4 0x6ffa
+#define FTS_MAGIC_BLOADER_GZF_30 0x7ff4
+#define FTS_MAGIC_BLOADER_GZF 0x7bf4
+#define FTS_REG_ECC 0xCC
+#define FTS_RST_CMD_REG2 0xBC
+#define FTS_READ_ID_REG 0x90
+#define FTS_ERASE_APP_REG 0x61
+#define FTS_ERASE_PARAMS_CMD 0x63
+#define FTS_FW_WRITE_CMD 0xBF
+#define FTS_REG_RESET_FW 0x07
+#define FTS_RST_CMD_REG1 0xFC
+#define FTS_FACTORYMODE_VALUE 0x40
+#define FTS_WORKMODE_VALUE 0x00
+#define FTS_APP_INFO_ADDR 0xd7f8
+
+#define BL_VERSION_LZ4 0
+#define BL_VERSION_Z7 1
+#define BL_VERSION_GZF 2
+
+#define FTS_REG_FW_VENDOR_ID 0xA8
+
+#define FTS_PACKET_LENGTH 128
+#define FTS_SETTING_BUF_LEN 128
+
+#define FTS_UPGRADE_LOOP 30
+#define FTS_MAX_POINTS_2 2
+#define FTS_MAX_POINTS_5 5
+#define FTS_MAX_POINTS_10 10
+#define AUTO_CLB_NEED 1
+#define AUTO_CLB_NONEED 0
+#define FTS_UPGRADE_AA 0xAA
+#define FTS_UPGRADE_55 0x55
+#define HIDTOI2C_DISABLE 0
+#define FTXXXX_INI_FILEPATH_CONFIG "/sdcard/"
+/*******************************************************************************
+* Private enumerations, structures and unions using typedef
+*******************************************************************************/
+
+/*******************************************************************************
+* Static variables
+*******************************************************************************/
+static unsigned char CTPM_FW_TP_ID_0[] = {
+ #include "FTS_FW/CEI_ESW1_3267_0x90_app.i"
+};
+
+static unsigned char CTPM_FW_TP_ID_1[] = {
+ #include "FTS_FW/CEI_ESW1_3267_0x91_app.i"
+};
+
+static unsigned char CTPM_FW_TP_ID_2[] = {
+ #include "FTS_FW/CEI_ESW1_3267_0x92_app.i"
+};
+
+static unsigned char CTPM_FW_TP_ID_3[] = {
+ #include "FTS_FW/CEI_ESW1_3267_0x93_app.i"
+};
+
+ struct fts_Upgrade_Info fts_updateinfo[] =
+{
+ {0x33,FTS_MAX_POINTS_2,AUTO_CLB_NONEED,10, 10, 0x79, 0x1c, 10, 2000}, //,"FT3267"
+ {0x55,FTS_MAX_POINTS_5,AUTO_CLB_NEED,50, 30, 0x79, 0x03, 10, 2000}, //,"FT5x06"
+ {0x08,FTS_MAX_POINTS_5,AUTO_CLB_NEED,50, 10, 0x79, 0x06, 100, 2000}, //,"FT5606"
+ {0x0a,FTS_MAX_POINTS_5,AUTO_CLB_NEED,50, 30, 0x79, 0x07, 10, 1500}, //,"FT5x16"
+ {0x06,FTS_MAX_POINTS_2,AUTO_CLB_NONEED,100, 30, 0x79, 0x08, 10, 2000}, //,"FT6x06"
+ {0x36,FTS_MAX_POINTS_2,AUTO_CLB_NONEED,10, 10, 0x79, 0x18, 10, 2000}, //,"FT6x36"
+ {0x64,FTS_MAX_POINTS_2,AUTO_CLB_NONEED,10, 10, 0x79, 0x1c, 10, 2000}, //,"FT6336GU"
+ {0x55,FTS_MAX_POINTS_5,AUTO_CLB_NEED,50, 30, 0x79, 0x03, 10, 2000}, //,"FT5x06i"
+ {0x14,FTS_MAX_POINTS_5,AUTO_CLB_NONEED,30, 30, 0x79, 0x11, 10, 2000}, //,"FT5336"
+ {0x13,FTS_MAX_POINTS_5,AUTO_CLB_NONEED,30, 30, 0x79, 0x11, 10, 2000}, //,"FT3316"
+ {0x12,FTS_MAX_POINTS_5,AUTO_CLB_NONEED,30, 30, 0x79, 0x11, 10, 2000}, //,"FT5436i"
+ {0x11,FTS_MAX_POINTS_5,AUTO_CLB_NONEED,30, 30, 0x79, 0x11, 10, 2000}, //,"FT5336i"
+ {0x54,FTS_MAX_POINTS_5,AUTO_CLB_NONEED,2, 2, 0x54, 0x2c, 20, 2000}, //,"FT5x46"
+ {0x58,FTS_MAX_POINTS_5,AUTO_CLB_NONEED,2, 2, 0x58, 0x2c, 20, 2000},//"FT5822",
+ {0x59,FTS_MAX_POINTS_10,AUTO_CLB_NONEED,30, 50, 0x79, 0x10, 1, 2000},//"FT5x26",
+ {0x86,FTS_MAX_POINTS_10,AUTO_CLB_NONEED,2, 2, 0x86, 0xA6, 20, 2000},//"FT8606",
+ {0x0e,FTS_MAX_POINTS_2,AUTO_CLB_NONEED,10, 10, 0x79, 0x18, 10, 2000}, //,"FT3X07"
+};
+/*******************************************************************************
+* Global variable or extern global variabls/functions
+*******************************************************************************/
+struct fts_Upgrade_Info fts_updateinfo_curr;
+
+/*The newest firmware, if update must be changed here*/
+u8 *CTPM_FW = NULL;
+u16 fw_size = 0;
+
+/*******************************************************************************
+* Static function prototypes
+*******************************************************************************/
+int fts_6x36_ctpm_fw_upgrade(struct i2c_client *client, u8 *pbt_buf, u32 dw_lenth);
+int fts_6336GU_ctpm_fw_upgrade(struct i2c_client *client, u8 *pbt_buf, u32 dw_lenth);
+int fts_6x06_ctpm_fw_upgrade(struct i2c_client *client, u8 *pbt_buf, u32 dw_lenth);
+int fts_5x36_ctpm_fw_upgrade(struct i2c_client *client, u8 *pbt_buf, u32 dw_lenth);
+int fts_5x06_ctpm_fw_upgrade(struct i2c_client *client, u8 *pbt_buf, u32 dw_lenth);
+int fts_5x46_ctpm_fw_upgrade(struct i2c_client * client, u8* pbt_buf, u32 dw_lenth);
+int fts_5822_ctpm_fw_upgrade(struct i2c_client * client, u8* pbt_buf, u32 dw_lenth);
+int fts_5x26_ctpm_fw_upgrade(struct i2c_client *client, u8 *pbt_buf, u32 dw_lenth);
+int fts_8606_writepram(struct i2c_client * client, u8* pbt_buf, u32 dw_lenth);
+int fts_8606_ctpm_fw_upgrade(struct i2c_client * client, u8* pbt_buf, u32 dw_lenth);
+int fts_3x07_ctpm_fw_upgrade(struct i2c_client *client, u8 *pbt_buf, u32 dw_lenth);
+int hidi2c_to_stdi2c(struct i2c_client * client);
+int fts_fwupg_reset_in_boot(struct i2c_client *client);
+bool fts_fwupg_check_state(struct i2c_client *client, enum FW_STATUS rstate);
+bool fts_fwupg_check_fw_valid(struct i2c_client *client);
+
+/************************************************************************
+* Name: hidi2c_to_stdi2c
+* Brief: HID to I2C
+* Input: i2c info
+* Output: no
+* Return: fail =0
+***********************************************************************/
+int hidi2c_to_stdi2c(struct i2c_client * client)
+{
+ u8 auc_i2c_write_buf[5] = {0};
+ int bRet = 0;
+ #if HIDTOI2C_DISABLE
+ return 0;
+ #endif
+
+ auc_i2c_write_buf[0] = 0xeb;
+ auc_i2c_write_buf[1] = 0xaa;
+ auc_i2c_write_buf[2] = 0x09;
+ bRet =fts_i2c_write(client, auc_i2c_write_buf, 3);
+ msleep(10);
+ auc_i2c_write_buf[0] = auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = 0;
+ fts_i2c_read(client, auc_i2c_write_buf, 0, auc_i2c_write_buf, 3);
+
+ if(0xeb==auc_i2c_write_buf[0] && 0xaa==auc_i2c_write_buf[1] && 0x08==auc_i2c_write_buf[2])
+ {
+ pr_info("hidi2c_to_stdi2c successful.\n");
+ bRet = 1;
+ }
+ else
+ {
+ pr_err("hidi2c_to_stdi2c error.\n");
+ bRet = 0;
+ }
+
+ return bRet;
+}
+
+static int fts_fwupg_reset_to_boot(struct i2c_client *client)
+{
+ int ret = 0;
+
+ u8 reg = FTS_REG_UPGRADE2;
+
+ ret = fts_write_reg(client, reg, FTS_UPGRADE_AA);
+ if (ret < 0) {
+ printk(KERN_ERR "fts write FC=0xAA fail\n");
+ return ret;
+ }
+ msleep(FTS_DELAY_UPGRADE_AA);
+
+ ret = fts_write_reg(client, reg, FTS_UPGRADE_55);
+ if (ret < 0) {
+ printk(KERN_ERR"fts write FC=0x55 fail");
+ return ret;
+ }
+
+ msleep(FTS_DELAY_UPGRADE_RESET);
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_fwupg_enter_into_boot
+* Brief: enter into boot environment, ready for upgrade
+* Input:
+* Output:
+* Return: return 0 if success, otherwise return error code
+***********************************************************************/
+int fts_fwupg_enter_into_boot(struct i2c_client *client)
+{
+ int ret = 0;
+ bool state = false;
+ bool fwvalid = false;
+
+ fwvalid = fts_fwupg_check_fw_valid(client);
+ if (fwvalid) {
+ printk(KERN_INFO "fts fwvalid true\n");
+ ret = fts_fwupg_reset_to_boot(client);
+ if (ret < 0) {
+ printk(KERN_ERR "fts enter into romboot/bootloader fail\n");
+ return ret;
+ }
+ } else {
+ printk(KERN_INFO "fts fwvalid false\n");
+ ret = fts_fwupg_reset_in_boot(client);
+ if (ret < 0) {
+ printk(KERN_ERR "fts reset before read boot id when fw invalid fail\n");
+ return ret;
+ }
+ }
+
+ state = fts_fwupg_check_state(client, FTS_RUN_IN_BOOTLOADER);
+ if (!state) {
+ printk(KERN_ERR "fts fw not in bootloader, fail\n");
+ return -EIO;
+ }
+
+ return 0;
+}
+
+/************************************************************************
+ * Name: fts_flash_read_buf
+ * Brief: read data from flash
+ * Input: saddr - start address data write to flash
+ * buf - buffer to store data read from flash
+ * len - read length
+ * Output:
+ * Return: return 0 if success, otherwise return error code
+ *
+ * Warning: can't call this function directly, need call in boot environment
+ ***********************************************************************/
+int fts_flash_read_buf(struct i2c_client *client, u32 saddr, u8 *buf, u32 len)
+{
+ int ret = 0;
+ u32 i = 0;
+ u32 packet_number = 0;
+ u32 packet_len = 0;
+ u32 addr = 0;
+ u32 offset = 0;
+ u32 remainder = 0;
+ u8 wbuf[FTS_CMD_READ_LEN];
+
+ if ((NULL == buf) || (0 == len)) {
+ printk(KERN_ERR "fts buf is NULL or len is 0\n");
+ return -EINVAL;
+ }
+
+ packet_number = len / FTS_FLASH_PACKET_LENGTH;
+ remainder = len % FTS_FLASH_PACKET_LENGTH;
+ if (remainder > 0)
+ packet_number++;
+ packet_len = FTS_FLASH_PACKET_LENGTH;
+ printk(KERN_INFO "fts read packet_number:%d, remainder:%d\n", packet_number, remainder);
+
+ wbuf[0] = FTS_CMD_READ;
+ for (i = 0; i < packet_number; i++) {
+ offset = i * FTS_FLASH_PACKET_LENGTH;
+ addr = saddr + offset;
+ wbuf[1] = BYTE_OFF_16(addr);
+ wbuf[2] = BYTE_OFF_8(addr);
+ wbuf[3] = BYTE_OFF_0(addr);
+
+ /* last packet */
+ if ((i == (packet_number - 1)) && remainder)
+ packet_len = remainder;
+
+ ret = fts_i2c_write(client, wbuf, FTS_CMD_READ_LEN);
+ if (ret < 0) {
+ printk(KERN_ERR "fts pram/bootloader write 03 command fail\n");
+ return ret;
+ }
+
+ msleep(FTS_CMD_READ_DELAY); /* must wait, otherwise read wrong data */
+ ret = fts_i2c_read(client, NULL, 0, buf + offset, packet_len);
+ if (ret < 0) {
+ printk(KERN_ERR "fts pram/bootloader read 03 command fail\n");
+ return ret;
+ }
+ }
+
+ return 0;
+}
+
+/************************************************************************
+ * Name: fts_flash_read
+ * Brief:
+ * Input: addr - address of flash
+ * len - length of read
+ * Output: buf - data read from flash
+ * Return: return 0 if success, otherwise return error code
+ ***********************************************************************/
+int fts_flash_read(struct i2c_client *client, u32 addr, u8 *buf, u32 len)
+{
+ int ret = 0;
+
+ if ((NULL == buf) || (0 == len)) {
+ printk(KERN_ERR "fts buf is NULL or len is 0\n");
+ return -EINVAL;
+ }
+
+ ret = fts_fwupg_enter_into_boot(client);
+ if (ret < 0) {
+ printk(KERN_ERR "fts enter into pramboot/bootloader fail\n");
+ goto read_flash_err;
+ }
+
+ ret = fts_flash_read_buf(client, addr, buf, len);
+ if (ret < 0) {
+ printk(KERN_ERR "fts read flash fail\n");
+ goto read_flash_err;
+ }
+
+read_flash_err:
+ /* reset to normal boot */
+ ret = fts_fwupg_reset_in_boot(client);
+ if (ret < 0)
+ printk(KERN_ERR "fts reset to normal boot fail\n");
+ return ret;
+}
+
+
+/*******************************************************************************
+* Name: fts_update_fw_vendor_id
+* Brief:
+* Input:
+* Output: None
+* Return: None
+*******************************************************************************/
+void fts_update_fw_vendor_id(struct fts_ts_data *data)
+{
+ struct i2c_client *client = data->client;
+ int err;
+ u32 fwcfg_addr = 0x07B0;
+ u8 cfgbuf[FTS_HEADER_LEN] = { 0 };
+
+ err = fts_flash_read(client, fwcfg_addr, cfgbuf, FTS_HEADER_LEN);
+ data->fw_vendor_id = cfgbuf[FTS_CONIFG_VENDORID_OFF];
+}
+
+/*******************************************************************************
+* Name: fts_update_fw_ver
+* Brief:
+* Input:
+* Output: None
+* Return: None
+*******************************************************************************/
+void fts_update_fw_ver(struct fts_ts_data *data)
+{
+ struct i2c_client *client = data->client;
+ u8 reg_addr;
+ int err;
+
+ reg_addr = FTS_REG_FW_VER;
+ err = fts_i2c_read(client, ®_addr, 1, &data->fw_ver[0], 1);
+ if (err < 0)
+ dev_err(&client->dev, "fw major version read failed");
+
+ dev_info(&client->dev, "Firmware version = 0x%x\n",
+ data->fw_ver[0]);
+}
+
+/************************************************************************
+* Name: fts_ctpm_fw_upgrade_ReadVendorID
+* Brief: read vendor ID
+* Input: i2c info, vendor ID
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_ctpm_fw_upgrade_ReadVendorID(struct i2c_client *client, u8 *ucPVendorID)
+{
+ u8 reg_val[4] = {0};
+ u32 i = 0;
+ u8 auc_i2c_write_buf[10];
+ int i_ret;
+
+ *ucPVendorID = 0;
+ i_ret = hidi2c_to_stdi2c(client);
+ if (i_ret == 0)
+ {
+ FTS_DBG("HidI2c change to StdI2c fail ! \n");
+ }
+
+ for (i = 0; i < FTS_UPGRADE_LOOP; i++)
+ {
+ /*********Step 1:Reset CTPM *****/
+ fts_write_reg(client, 0xfc, FTS_UPGRADE_AA);
+ msleep(fts_updateinfo_curr.delay_aa);
+ fts_write_reg(client, 0xfc, FTS_UPGRADE_55);
+ msleep(200);
+ /*********Step 2:Enter upgrade mode *****/
+ i_ret = hidi2c_to_stdi2c(client);
+ if (i_ret == 0)
+ {
+ FTS_DBG("HidI2c change to StdI2c fail ! \n");
+ }
+ msleep(10);
+ auc_i2c_write_buf[0] = FTS_UPGRADE_55;
+ auc_i2c_write_buf[1] = FTS_UPGRADE_AA;
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 2);
+ if (i_ret < 0) {
+ FTS_DBG("failed writing 0x55 and 0xaa ! \n");
+ continue;
+ }
+ /*********Step 3:check READ-ID***********************/
+ msleep(10);
+ auc_i2c_write_buf[0] = 0x90;
+ auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = auc_i2c_write_buf[3] = 0x00;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+ if (reg_val[0] == fts_updateinfo_curr.upgrade_id_1 && reg_val[1] == fts_updateinfo_curr.upgrade_id_2) {
+ FTS_DBG("[FTS] Step 3: READ OK CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n", reg_val[0], reg_val[1]);
+ break;
+ }
+ else
+ {
+ dev_err(&client->dev, "[FTS] Step 3: CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n", reg_val[0], reg_val[1]);
+ continue;
+ }
+ }
+ if (i >= FTS_UPGRADE_LOOP)
+ return -EIO;
+ /*********Step 4: read vendor id from app param area***********************/
+ msleep(10);
+ auc_i2c_write_buf[0] = 0x03;
+ auc_i2c_write_buf[1] = 0x00;
+ auc_i2c_write_buf[2] = 0xd7;
+ auc_i2c_write_buf[3] = 0x84;
+ for (i = 0; i < FTS_UPGRADE_LOOP; i++)
+ {
+ fts_i2c_write(client, auc_i2c_write_buf, 4);
+ msleep(5);
+ reg_val[0] = reg_val[1] = 0x00;
+ i_ret = fts_i2c_read(client, auc_i2c_write_buf, 0, reg_val, 2);
+ if (0 != reg_val[0])
+ {
+ *ucPVendorID = 0;
+ FTS_DBG("In upgrade Vendor ID Mismatch, REG1 = 0x%x, REG2 = 0x%x, Definition:0x%x, i_ret=%d\n", reg_val[0], reg_val[1], 0, i_ret);
+ }
+ else
+ {
+ *ucPVendorID = reg_val[0];
+ FTS_DBG("In upgrade Vendor ID, REG1 = 0x%x, REG2 = 0x%x\n", reg_val[0], reg_val[1]);
+ break;
+ }
+ }
+ msleep(50);
+ /*********Step 5: reset the new FW***********************/
+ FTS_DBG("Step 5: reset the new FW\n");
+ auc_i2c_write_buf[0] = 0x07;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(200);
+ i_ret = hidi2c_to_stdi2c(client);
+ if (i_ret == 0)
+ {
+ FTS_DBG("HidI2c change to StdI2c fail ! \n");
+ }
+ msleep(10);
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_ctpm_fw_upgrade_ReadProjectCode
+* Brief: read project code
+* Input: i2c info, project code
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_ctpm_fw_upgrade_ReadProjectCode(struct i2c_client *client, char *pProjectCode)
+{
+ u8 reg_val[4] = {0};
+ u32 i = 0;
+ u8 j = 0;
+ u8 auc_i2c_write_buf[10];
+ int i_ret;
+ u32 temp;
+ i_ret = hidi2c_to_stdi2c(client);
+ if (i_ret == 0)
+ {
+ FTS_DBG("HidI2c change to StdI2c fail ! \n");
+ }
+ for (i = 0; i < FTS_UPGRADE_LOOP; i++)
+ {
+ /*********Step 1:Reset CTPM *****/
+ fts_write_reg(client, 0xfc, FTS_UPGRADE_AA);
+ msleep(fts_updateinfo_curr.delay_aa);
+ fts_write_reg(client, 0xfc, FTS_UPGRADE_55);
+ msleep(200);
+ /*********Step 2:Enter upgrade mode *****/
+ i_ret = hidi2c_to_stdi2c(client);
+ if (i_ret == 0)
+ {
+ FTS_DBG("HidI2c change to StdI2c fail ! \n");
+ }
+ msleep(10);
+ auc_i2c_write_buf[0] = FTS_UPGRADE_55;
+ auc_i2c_write_buf[1] = FTS_UPGRADE_AA;
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 2);
+ if (i_ret < 0)
+ {
+ FTS_DBG("failed writing 0x55 and 0xaa ! \n");
+ continue;
+ }
+ /*********Step 3:check READ-ID***********************/
+ msleep(10);
+ auc_i2c_write_buf[0] = 0x90;
+ auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = auc_i2c_write_buf[3] = 0x00;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+ if (reg_val[0] == fts_updateinfo_curr.upgrade_id_1 && reg_val[1] == fts_updateinfo_curr.upgrade_id_2)
+ {
+ FTS_DBG("[FTS] Step 3: READ OK CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n", reg_val[0], reg_val[1]);
+ break;
+ }
+ else
+ {
+ dev_err(&client->dev, "[FTS] Step 3: CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n", reg_val[0], reg_val[1]);
+ continue;
+ }
+ }
+ if (i >= FTS_UPGRADE_LOOP)
+ return -EIO;
+ /*********Step 4: read vendor id from app param area***********************/
+ msleep(10);
+ /*read project code*/
+ auc_i2c_write_buf[0] = 0x03;
+ auc_i2c_write_buf[1] = 0x00;
+ for (j = 0; j < 33; j++)
+ {
+ temp = 0xD7A0 + j;
+ auc_i2c_write_buf[2] = (u8)(temp>>8);
+ auc_i2c_write_buf[3] = (u8)temp;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, pProjectCode+j, 1);
+ if (*(pProjectCode+j) == '\0')
+ break;
+ }
+ pr_info("project code = %s \n", pProjectCode);
+ msleep(50);
+ /*********Step 5: reset the new FW***********************/
+ FTS_DBG("Step 5: reset the new FW\n");
+ auc_i2c_write_buf[0] = 0x07;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(200);
+ i_ret = hidi2c_to_stdi2c(client);
+ if (i_ret == 0)
+ {
+ FTS_DBG("HidI2c change to StdI2c fail ! \n");
+ }
+ msleep(10);
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_get_upgrade_array
+* Brief: decide which ic
+* Input: no
+* Output: get ic info in fts_updateinfo_curr
+* Return: no
+***********************************************************************/
+void fts_get_upgrade_array(void)
+{
+
+ u8 chip_id;
+ u32 i;
+ int ret = 0;
+
+ ret = fts_read_reg(fts_i2c_client, FTS_REG_ID,&chip_id);
+ if (ret<0)
+ {
+ printk("[Focal][Touch] read value fail");
+ }
+ printk("%s chip_id = %x\n", __func__, chip_id);
+
+ for(i=0;i<sizeof(fts_updateinfo)/sizeof(struct fts_Upgrade_Info);i++)
+ {
+ if(chip_id==fts_updateinfo[i].CHIP_ID)
+ {
+ memcpy(&fts_updateinfo_curr, &fts_updateinfo[i], sizeof(struct fts_Upgrade_Info));
+ break;
+ }
+ }
+
+ if(i >= sizeof(fts_updateinfo)/sizeof(struct fts_Upgrade_Info))
+ {
+ memcpy(&fts_updateinfo_curr, &fts_updateinfo[15], sizeof(struct fts_Upgrade_Info));
+ }
+}
+
+/************************************************************************
+* Name: fts_ctpm_auto_clb
+* Brief: auto calibration
+* Input: i2c info
+* Output: no
+* Return: 0
+***********************************************************************/
+int fts_ctpm_auto_clb(struct i2c_client *client)
+{
+ unsigned char uc_temp = 0x00;
+ unsigned char i = 0;
+
+ /*start auto CLB */
+ msleep(200);
+
+ fts_write_reg(client, 0, FTS_FACTORYMODE_VALUE);
+ /*make sure already enter factory mode */
+ msleep(100);
+ /*write command to start calibration */
+ fts_write_reg(client, 2, 0x4);
+ msleep(300);
+ if ((fts_updateinfo_curr.CHIP_ID==0x11) ||(fts_updateinfo_curr.CHIP_ID==0x12) ||(fts_updateinfo_curr.CHIP_ID==0x13) ||(fts_updateinfo_curr.CHIP_ID==0x14)) //5x36,5x36i
+ {
+ for(i=0;i<100;i++)
+ {
+ fts_read_reg(client, 0x02, &uc_temp);
+ if (0x02 == uc_temp || 0xFF == uc_temp)
+ {
+ break;
+ }
+ msleep(20);
+ }
+ }
+ else
+ {
+ for(i=0;i<100;i++)
+ {
+ fts_read_reg(client, 0, &uc_temp);
+ if (0x0 == ((uc_temp&0x70)>>4))
+ {
+ break;
+ }
+ msleep(20);
+ }
+ }
+ fts_write_reg(client, 0, 0x40);
+ msleep(200);
+ fts_write_reg(client, 2, 0x5);
+ msleep(300);
+ fts_write_reg(client, 0, FTS_WORKMODE_VALUE);
+ msleep(300);
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_6x36_ctpm_fw_upgrade
+* Brief: fw upgrade
+* Input: i2c info, file buf, file len
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_6x36_ctpm_fw_upgrade(struct i2c_client *client, u8 *pbt_buf, u32 dw_lenth)
+{
+ u8 reg_val[2] = {0};
+ u32 i = 0;
+ u32 packet_number;
+ u32 j;
+ u32 temp;
+ u32 lenght;
+ u32 fw_length;
+ u8 packet_buf[FTS_PACKET_LENGTH + 6];
+ u8 auc_i2c_write_buf[10];
+ u8 bt_ecc;
+
+ if(pbt_buf[0] != 0x02)
+ {
+ FTS_DBG("[FTS] FW first byte is not 0x02. so it is invalid \n");
+ return -1;
+ }
+
+ if(dw_lenth > 0x11f)
+ {
+ fw_length = ((u32)pbt_buf[0x100]<<8) + pbt_buf[0x101];
+ if(dw_lenth < fw_length)
+ {
+ FTS_DBG("[FTS] Fw length is invalid \n");
+ return -1;
+ }
+ }
+ else
+ {
+ FTS_DBG("[FTS] Fw length is invalid \n");
+ return -1;
+ }
+
+ for (i = 0; i < FTS_UPGRADE_LOOP; i++)
+ {
+ /*********Step 1:Reset CTPM *****/
+ fts_write_reg(client, FTS_RST_CMD_REG2, FTS_UPGRADE_AA);
+ msleep(fts_updateinfo_curr.delay_aa);
+ fts_write_reg(client, FTS_RST_CMD_REG2, FTS_UPGRADE_55);
+ msleep(fts_updateinfo_curr.delay_55);
+ /*********Step 2:Enter upgrade mode *****/
+ auc_i2c_write_buf[0] = FTS_UPGRADE_55;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ auc_i2c_write_buf[0] = FTS_UPGRADE_AA;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(fts_updateinfo_curr.delay_readid);
+ /*********Step 3:check READ-ID***********************/
+ auc_i2c_write_buf[0] = FTS_READ_ID_REG;
+ auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = auc_i2c_write_buf[3] =0x00;
+ reg_val[0] = 0x00;
+ reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+
+
+ if (reg_val[0] == fts_updateinfo_curr.upgrade_id_1
+ && reg_val[1] == fts_updateinfo_curr.upgrade_id_2)
+ {
+ FTS_DBG("[FTS] Step 3: GET CTPM ID OK,ID1 = 0x%x,ID2 = 0x%x\n",
+ reg_val[0], reg_val[1]);
+ break;
+ }
+ else
+ {
+ dev_err(&client->dev, "[FTS] Step 3: GET CTPM ID FAIL,ID1 = 0x%x,ID2 = 0x%x\n",
+ reg_val[0], reg_val[1]);
+ }
+ }
+
+ if (i >= FTS_UPGRADE_LOOP) {
+ dev_err(&client->dev, "[FTS] i >= FTS_UPGRADE_LOOP, return EIO \n");
+ return -EIO;
+ }
+
+
+ auc_i2c_write_buf[0] = FTS_READ_ID_REG;
+ auc_i2c_write_buf[1] = 0x00;
+ auc_i2c_write_buf[2] = 0x00;
+ auc_i2c_write_buf[3] = 0x00;
+ auc_i2c_write_buf[4] = 0x00;
+ fts_i2c_write(client, auc_i2c_write_buf, 5);
+
+ /*Step 4:erase app and panel paramenter area*/
+ FTS_DBG("Step 4:erase app and panel paramenter area\n");
+ auc_i2c_write_buf[0] = FTS_ERASE_APP_REG;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(fts_updateinfo_curr.delay_erase_flash);
+
+ for(i = 0;i < 200;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ auc_i2c_write_buf[1] = 0x00;
+ auc_i2c_write_buf[2] = 0x00;
+ auc_i2c_write_buf[3] = 0x00;
+ reg_val[0] = 0x00;
+ reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+ if(0xb0 == reg_val[0] && 0x02 == reg_val[1])
+ {
+ FTS_DBG("[FTS] erase app finished \n");
+ break;
+ }
+ msleep(50);
+ }
+
+ /*********Step 5:write firmware(FW) to ctpm flash*********/
+ bt_ecc = 0;
+ FTS_DBG("Step 5:write firmware(FW) to ctpm flash\n");
+
+ dw_lenth = fw_length;
+ packet_number = (dw_lenth) / FTS_PACKET_LENGTH;
+ packet_buf[0] = FTS_FW_WRITE_CMD;
+ packet_buf[1] = 0x00;
+
+ for (j = 0; j < packet_number; j++)
+ {
+ temp = j * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ lenght = FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (lenght >> 8);
+ packet_buf[5] = (u8) lenght;
+
+ for (i = 0; i < FTS_PACKET_LENGTH; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[j * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+
+ fts_i2c_write(client, packet_buf, FTS_PACKET_LENGTH + 6);
+
+ for(i = 0;i < 30;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ auc_i2c_write_buf[1] = 0x00;
+ auc_i2c_write_buf[2] = 0x00;
+ auc_i2c_write_buf[3] = 0x00;
+ reg_val[0] = 0x00;
+ reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+ if(0xb0 == (reg_val[0] & 0xf0) && (0x03 + (j % 0x0ffd)) == (((reg_val[0] & 0x0f) << 8) |reg_val[1]))
+ {
+ FTS_DBG("[FTS] write a block data finished \n");
+ break;
+ }
+ msleep(1);
+ }
+ }
+
+ if ((dw_lenth) % FTS_PACKET_LENGTH > 0)
+ {
+ temp = packet_number * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ temp = (dw_lenth) % FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (temp >> 8);
+ packet_buf[5] = (u8) temp;
+
+ for (i = 0; i < temp; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[packet_number * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+
+ fts_i2c_write(client, packet_buf, temp + 6);
+
+ for(i = 0;i < 30;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ auc_i2c_write_buf[1] = 0x00;
+ auc_i2c_write_buf[2] = 0x00;
+ auc_i2c_write_buf[3] = 0x00;
+ reg_val[0] = 0x00;
+ reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+ if(0xb0 == (reg_val[0] & 0xf0) && (0x03 + (j % 0x0ffd)) == (((reg_val[0] & 0x0f) << 8) |reg_val[1]))
+ {
+ FTS_DBG("[FTS] write a block data finished \n");
+ break;
+ }
+ msleep(1);
+ }
+ }
+
+
+ /*********Step 6: read out checksum***********************/
+ FTS_DBG("Step 6: read out checksum\n");
+ auc_i2c_write_buf[0] = FTS_REG_ECC;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 1);
+ if (reg_val[0] != bt_ecc)
+ {
+ dev_err(&client->dev, "[FTS]--ecc error! FW=%02x bt_ecc=%02x\n",
+ reg_val[0], bt_ecc);
+ return -EIO;
+ }
+
+ /*********Step 7: reset the new FW***********************/
+ FTS_DBG("Step 7: reset the new FW\n");
+ auc_i2c_write_buf[0] = 0x07;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(300);
+
+ return 0;
+}
+/************************************************************************
+* Name: fts_i2c_write_reg
+* Brief: write register
+* Input: i2c info, reg address, reg value
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_i2c_write_reg(struct i2c_client *client, u8 regaddr, u8 regvalue)
+{
+ u8 buf[2] = {0};
+
+ buf[0] = regaddr;
+ buf[1] = regvalue;
+ return fts_i2c_write(client, buf, sizeof(buf));
+}
+
+/************************************************************************
+* Name: fts_i2c_read_reg
+* Brief: read register
+* Input: i2c info, reg address, reg value
+* Output: get reg value
+* Return: fail <0
+***********************************************************************/
+int fts_i2c_read_reg(struct i2c_client *client, u8 regaddr, u8 *regvalue)
+{
+ return fts_i2c_read(client, ®addr, 1, regvalue, 1);
+}
+
+/*****************************************************************************
+* Name: fts_wait_tp_to_valid
+* Brief: Read chip id until TP FW become valid(Timeout: TIMEOUT_READ_REG),
+* need call when reset/power on/resume...
+* Input:
+* Output:
+* Return: return 0 if tp valid, otherwise return error code
+*****************************************************************************/
+int fts_wait_tp_to_valid(struct i2c_client *client)
+{
+ int ret = 0;
+ int cnt = 0;
+ u8 reg_value = 0;
+ //struct fts_ts_data *fts_data = (struct fts_ts_data *)i2c_get_clientdata(client);
+
+ //u8 chip_id = fts_data->ic_info.ids.chip_idh;
+ u8 chip_id = 0x64;
+
+ do {
+ ret = fts_i2c_read_reg(client, FTS_REG_CHIP_ID, ®_value);
+ if ((ret < 0) || (reg_value != chip_id)) {
+ printk(KERN_INFO "TP Not Ready, ReadData = 0x%x", reg_value);
+ } else if (reg_value == chip_id) {
+ printk(KERN_INFO "TP Ready, Device ID = 0x%x", reg_value);
+ return 0;
+ }
+ cnt++;
+ msleep(INTERVAL_READ_REG);
+ } while ((cnt * INTERVAL_READ_REG) < TIMEOUT_READ_REG);
+
+ return -EIO;
+}
+
+/************************************************************************
+* Name: fts_fwupg_check_fw_valid
+* Brief: check fw in tp is valid or not
+* Input:
+* Output:
+* Return: return true if fw is valid, otherwise return false
+***********************************************************************/
+bool fts_fwupg_check_fw_valid(struct i2c_client *client)
+{
+ int ret = 0;
+
+ ret = fts_wait_tp_to_valid(client);
+ if (ret < 0) {
+ printk(KERN_INFO "tp fw invaild");
+ return false;
+ }
+
+ printk(KERN_INFO "tp fw vaild");
+ return true;
+}
+
+int fts_ft6336gu_reset_to_boot(struct i2c_client *client)
+{
+ int ret = 0;
+
+ printk(KERN_INFO "send 0xAA and 0x55 to FW, reset to boot environment");
+
+ ret = fts_i2c_write_reg(client, FTS_REG_UPGRADE2, FTS_UPGRADE_AA);
+ if (ret < 0) {
+ printk(KERN_ERR "write FC=0xAA fail");
+ return ret;
+ }
+ msleep(FTS_DELAY_FC_AA);
+
+ ret = fts_i2c_write_reg(client, FTS_REG_UPGRADE2, FTS_UPGRADE_55);
+ if (ret < 0) {
+ printk(KERN_ERR "write FC=0x55 fail");
+ return ret;
+ }
+
+ msleep(FTS_DELAY_UPGRADE_RESET);
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_fwupg_get_boot_state
+* Brief: read boot id(rom/pram/bootloader), confirm boot environment
+* Input:
+* Output:
+* Return: return 0 if success, otherwise return error code
+***********************************************************************/
+int fts_fwupg_get_boot_state(struct i2c_client *client, enum FW_STATUS *fw_sts)
+{
+ int ret = 0;
+ u8 cmd[4] = { 0 };
+ u32 cmd_len = 0;
+ u8 val[2] = { 0 };
+ struct fts_ts_data *fts_data = (struct fts_ts_data *)i2c_get_clientdata(client);
+
+ //struct ft_chip_t ids = fts_data->ic_info.ids;
+ /*
+ struct fts_upgrade *upg = fwupgrade;
+
+ printk(KERN_INFO "**********read boot id**********");
+ if ((NULL == fw_sts) || (NULL == upg) || (NULL == upg->func)) {
+ printk(KERN_ERR "upgrade/func/fw_sts is null");
+ return -EINVAL;
+ }
+
+ if (upg->func->hid_supported)
+ fts_i2c_hid2std(client);
+ */
+
+ cmd[0] = FTS_CMD_START1;
+ cmd[1] = FTS_CMD_START2;
+ ret = fts_i2c_write(client, cmd, 2);
+ if (ret < 0) {
+ printk(KERN_ERR "write 55 aa cmd fail");
+ return ret;
+ }
+
+ msleep(FTS_CMD_START_DELAY);
+ cmd[0] = FTS_CMD_READ_ID;
+ cmd[1] = cmd[2] = cmd[3] = 0x00;
+ if (fts_data->ic_info.is_incell)
+ cmd_len = FTS_CMD_READ_ID_LEN_INCELL;
+ else
+ cmd_len = FTS_CMD_READ_ID_LEN;
+ ret = fts_i2c_read(client, cmd, cmd_len, val, 2);
+ if (ret < 0) {
+ printk(KERN_ERR "write 90 cmd fail");
+ return ret;
+ }
+
+ printk(KERN_INFO "read boot id:0x%02x%02x", val[0], val[1]);
+ /*
+ if ((val[0] == ids.rom_idh) && (val[1] == ids.rom_idl)) {
+ printk(KERN_INFO "tp run in romboot");
+ *fw_sts = FTS_RUN_IN_ROM;
+ } else if ((val[0] == ids.pb_idh) && (val[1] == ids.pb_idl)) {
+ printk(KERN_INFO "tp run in pramboot");
+ *fw_sts = FTS_RUN_IN_PRAM;
+ } else if ((val[0] == ids.bl_idh) && (val[1] == ids.bl_idl)) {
+ printk(KERN_INFO "tp run in bootloader");
+ *fw_sts = FTS_RUN_IN_BOOTLOADER;
+ }
+ */
+
+ if ((val[0] == 0x64) && (val[1] == 0x26)) {
+ printk(KERN_INFO "tp run in romboot");
+ *fw_sts = FTS_RUN_IN_ROM;
+ } else if ((val[0] == 0) && (val[1] == 0)) {
+ printk(KERN_INFO "tp run in pramboot");
+ *fw_sts = FTS_RUN_IN_PRAM;
+ } else if ((val[0] == 0x79) && (val[1] == 0x1C)) {
+ printk(KERN_INFO "tp run in bootloader");
+ *fw_sts = FTS_RUN_IN_BOOTLOADER;
+ }
+
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_fwupg_check_state
+* Brief: confirm tp run in romboot/pramboot/bootloader
+* Input:
+* Output:
+* Return: return true if state is match, otherwise return false
+***********************************************************************/
+bool fts_fwupg_check_state(struct i2c_client *client, enum FW_STATUS rstate)
+{
+ int ret = 0;
+ int i = 0;
+ enum FW_STATUS cstate = FTS_RUN_IN_ERROR;
+
+ for (i = 0; i < FTS_UPGRADE_LOOP; i++) {
+ ret = fts_fwupg_get_boot_state(client, &cstate);
+ /* FTS_DEBUG("fw state=%d, retries=%d", cstate, i); */
+ if (cstate == rstate)
+ return true;
+ msleep(FTS_DELAY_READ_ID);
+ }
+
+ return false;
+}
+
+/************************************************************************
+* Name: fts_ft6336gu_check_flash_status
+* Brief:
+* Input: flash_status: correct value from tp
+* retries: read retry times
+* retries_delay: retry delay
+* Output:
+* Return: return true if flash status check pass, otherwise return false
+***********************************************************************/
+static bool fts_ft6336gu_check_flash_status(
+ struct i2c_client *client,
+ u16 flash_status,
+ int retries,
+ int retries_delay)
+{
+ int ret = 0;
+ int i = 0;
+ u8 cmd[4] = { 0 };
+ u8 val[FTS_CMD_FLASH_STATUS_LEN] = { 0 };
+ u16 read_status = 0;
+
+ for (i = 0; i < retries; i++) {
+ /* w 6a 00 00 00 r 2 */
+ cmd[0] = FTS_CMD_FLASH_STATUS;
+ ret = fts_i2c_read(client, cmd, 4, val, FTS_CMD_FLASH_STATUS_LEN);
+ read_status = (((u16)val[0]) << 8) + val[1];
+
+ if (flash_status == read_status) {
+ /* FTS_DEBUG("[UPGRADE]flash status ok"); */
+ return true;
+ }
+ printk(KERN_DEBUG "flash status fail,ok:%04x read:%04x, retries:%d", flash_status, read_status, i);
+ msleep(retries_delay);
+ }
+
+ return false;
+}
+
+/************************************************************************
+* Name: fts_ft6336gu_erase
+* Brief:
+* Input:
+* Output:
+* Return: return 0 if success, otherwise return error code
+***********************************************************************/
+static int fts_ft6336gu_erase(struct i2c_client *client)
+{
+ int ret = 0;
+ u8 cmd = 0;
+ bool flag = false;
+
+ printk(KERN_INFO "**********erase app now**********");
+
+ /*send to erase flash*/
+ cmd = FTS_CMD_ERASE_APP;
+ ret = fts_i2c_write(client, &cmd, 1);
+ if (ret < 0) {
+ printk(KERN_ERR "erase cmd fail");
+ return ret;
+ }
+ msleep(500);
+
+ /* read status 0xF0AA: success */
+ flag = fts_ft6336gu_check_flash_status(client, FTS_FLASH_STATUS_OK_FT6336GU, 50, 100);
+ if (!flag) {
+ printk(KERN_ERR "ecc flash status check fail");
+ return -EIO;
+ }
+
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_ft6336gu_write_app
+* Brief:
+* Input:
+* Output:
+* Return: return ecc if success, otherwise return error code
+***********************************************************************/
+static int fts_ft6336gu_write_app(struct i2c_client *client, u32 start_addr, u8 *buf, u32 len)
+{
+ int ret = 0;
+ u32 i = 0;
+ u32 j = 0;
+ u32 packet_number = 0;
+ u32 packet_len = 0;
+ u32 addr = 0;
+ u32 offset = 0;
+ u32 remainder = 0;
+ u8 packet_buf[FTS_FLASH_PACKET_LENGTH + FTS_CMD_WRITE_LEN] = { 0 };
+ u8 ecc_in_host = 0;
+ u8 cmd[4] = {0};
+ u8 val[FTS_CMD_FLASH_STATUS_LEN] = { 0 };
+ u16 read_status = 0;
+ u16 wr_ok = 0;
+
+ printk(KERN_INFO "**********write app to flash**********");
+
+ if (NULL == buf) {
+ printk(KERN_ERR "buf is null");
+ return -EINVAL;
+ }
+
+ printk(KERN_INFO "tp fw len=%d", len);
+ packet_number = len / FTS_FLASH_PACKET_LENGTH;
+ remainder = len % FTS_FLASH_PACKET_LENGTH;
+ if (remainder > 0)
+ packet_number++;
+ packet_len = FTS_FLASH_PACKET_LENGTH;
+ printk(KERN_INFO "write fw,num:%d, remainder:%d", packet_number, remainder);
+
+ packet_buf[0] = FTS_CMD_WRITE;
+ for (i = 0; i < packet_number; i++) {
+ offset = i * FTS_FLASH_PACKET_LENGTH;
+ addr = start_addr + offset;
+ packet_buf[1] = BYTE_OFF_16(addr);
+ packet_buf[2] = BYTE_OFF_8(addr);
+ packet_buf[3] = BYTE_OFF_0(addr);
+
+ /* last packet */
+ if ((i == (packet_number - 1)) && remainder)
+ packet_len = remainder;
+
+ packet_buf[4] = BYTE_OFF_8(packet_len);
+ packet_buf[5] = BYTE_OFF_0(packet_len);
+
+ for (j = 0; j < packet_len; j++) {
+ packet_buf[FTS_CMD_WRITE_LEN + j] = buf[offset + j];
+ ecc_in_host ^= packet_buf[FTS_CMD_WRITE_LEN + j];
+ }
+
+ ret = fts_i2c_write(client, packet_buf, packet_len + FTS_CMD_WRITE_LEN);
+ if (ret < 0) {
+ printk(KERN_ERR "[UPGRADE]app write fail");
+ return ret;
+ }
+ mdelay(1);
+
+ /* read status */
+ wr_ok = FTS_FLASH_STATUS_OK_FT6336GU + i + 1;
+ for (j = 0; j < FTS_RETRIES_WRITE; j++) {
+ cmd[0] = FTS_CMD_FLASH_STATUS;
+ cmd[1] = 0x00;
+ cmd[2] = 0x00;
+ cmd[3] = 0x00;
+ ret = fts_i2c_read(client, cmd , 4, val, FTS_CMD_FLASH_STATUS_LEN);
+ read_status = (((u16)val[0]) << 8) + val[1];
+
+ if (wr_ok == read_status) {
+ break;
+ }
+ mdelay(FTS_RETRIES_DELAY_WRITE);
+ }
+ }
+
+ return (int)ecc_in_host;
+}
+
+/************************************************************************
+* Name: fts_ft6336gu_ecc_cal
+* Brief:
+* Input:
+* Output:
+* Return: return ecc if success, otherwise return error code
+***********************************************************************/
+static int fts_ft6336gu_ecc_cal(struct i2c_client *client)
+{
+ int ret = 0;
+ u8 reg_val = 0;
+ u8 cmd = 0;
+
+ printk(KERN_INFO "read out ecc");
+
+ cmd = 0xcc;
+ ret = fts_i2c_read(client, &cmd, 1, ®_val, 1);
+ if (ret < 0) {
+ printk(KERN_ERR "read ft6336gu ecc fail");
+ return ret;
+ }
+
+ return reg_val;
+}
+
+/************************************************************************
+* Name: fts_fwupg_reset_in_boot
+* Brief: RST CMD(07), reset to romboot(bootloader) in boot environment
+* Input:
+* Output:
+* Return: return 0 if success, otherwise return error code
+***********************************************************************/
+int fts_fwupg_reset_in_boot(struct i2c_client *client)
+{
+ int ret = 0;
+ u8 cmd = FTS_CMD_RESET;
+
+ printk(KERN_INFO "reset in boot environment");
+ ret = fts_i2c_write(client, &cmd, 1);
+ if (ret < 0) {
+ printk(KERN_ERR "pram/rom/bootloader reset cmd write fail");
+ return ret;
+ }
+
+ msleep(FTS_DELAY_UPGRADE_RESET);
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_ft6336gu_upgrade
+* Brief:
+* Input:
+* Output:
+* Return: return 0 if success, otherwise return error code
+***********************************************************************/
+static int fts_ft6336gu_upgrade(struct i2c_client *client, u8 *buf, u32 len)
+{
+ int ret = 0;
+ bool state = false;
+ u32 start_addr = 0;
+ int ecc_in_host = 0;
+ int ecc_in_tp = 0;
+ u32 fw_length = 0;
+
+ if (NULL == buf) {
+ printk(KERN_ERR "fw buf is null");
+ return -EINVAL;
+ }
+
+ if ((len < 0x120) || (len > (60 * 1024))) {
+ printk(KERN_ERR "fw buffer len(%x) fail", len);
+ return -EINVAL;
+ }
+
+ fw_length = ((u32)buf[0x100] << 8) + buf[0x101];
+ printk(KERN_INFO "fw length is %d %d", fw_length, len);
+ /* enter into upgrade environment */
+ state = fts_fwupg_check_fw_valid(client);
+ if (true == state) {
+ ret = fts_ft6336gu_reset_to_boot(client);
+ if (ret < 0) {
+ printk(KERN_ERR "enter into bootloader fail");
+ goto fw_reset;
+ }
+ }
+
+ state = fts_fwupg_check_state(client, FTS_RUN_IN_BOOTLOADER);
+ if (!state) {
+ printk(KERN_ERR "fw not in bootloader, fail");
+ goto fw_reset;
+ }
+
+ ret = fts_ft6336gu_erase(client);
+ if (ret < 0) {
+ printk(KERN_ERR "erase cmd write fail");
+ goto fw_reset;
+ }
+
+ /* write app */
+ //start_addr = upgrade_func_ft6336gu.appoff;
+ start_addr = 0x0000;
+ ecc_in_host = fts_ft6336gu_write_app(client, start_addr, buf, fw_length);
+ if (ecc_in_host < 0 ) {
+ printk(KERN_ERR "lcd initial code write fail");
+ goto fw_reset;
+ }
+
+ /* ecc */
+ ecc_in_tp = fts_ft6336gu_ecc_cal(client);
+ if (ecc_in_tp < 0 ) {
+ printk(KERN_ERR "ecc read fail");
+ goto fw_reset;
+ }
+
+ printk(KERN_INFO "ecc in tp:%x, host:%x", ecc_in_tp, ecc_in_host);
+ if (ecc_in_tp != ecc_in_host) {
+ printk(KERN_ERR "ecc check fail");
+ goto fw_reset;
+ }
+
+ printk(KERN_INFO "upgrade success, reset to normal boot");
+ ret = fts_fwupg_reset_in_boot(client);
+ if (ret < 0) {
+ printk(KERN_ERR "reset to normal boot fail");
+ }
+
+ msleep(200);
+ return 0;
+
+fw_reset:
+ printk(KERN_INFO "upgrade fail, reset to normal boot");
+ ret = fts_fwupg_reset_in_boot(client);
+ if (ret < 0) {
+ printk(KERN_ERR "reset to normal boot fail");
+ }
+ return -EIO;
+}
+
+/************************************************************************
+* Name: fts_6x06_ctpm_fw_upgrade
+* Brief: fw upgrade
+* Input: i2c info, file buf, file len
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_6x06_ctpm_fw_upgrade(struct i2c_client *client, u8 *pbt_buf, u32 dw_lenth)
+{
+ u8 reg_val[2] = {0};
+ u32 i = 0;
+ u32 packet_number;
+ u32 j;
+ u32 temp;
+ u32 lenght;
+ u8 packet_buf[FTS_PACKET_LENGTH + 6];
+ u8 auc_i2c_write_buf[10];
+ u8 bt_ecc;
+ int i_ret;
+
+ for (i = 0; i < FTS_UPGRADE_LOOP; i++)
+ {
+ /*********Step 1:Reset CTPM *****/
+ fts_write_reg(client, FTS_RST_CMD_REG2, FTS_UPGRADE_AA);
+ msleep(fts_updateinfo_curr.delay_aa);
+
+ fts_write_reg(client, FTS_RST_CMD_REG2, FTS_UPGRADE_55);
+
+ msleep(fts_updateinfo_curr.delay_55);
+
+ /*********Step 2:Enter upgrade mode *****/
+ auc_i2c_write_buf[0] = FTS_UPGRADE_55;
+ auc_i2c_write_buf[1] = FTS_UPGRADE_AA;
+ do
+ {
+ i++;
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 2);
+ msleep(5);
+ } while (i_ret <= 0 && i < 5);
+
+
+ /*********Step 3:check READ-ID***********************/
+ msleep(fts_updateinfo_curr.delay_readid);
+ auc_i2c_write_buf[0] = FTS_READ_ID_REG;
+ auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = auc_i2c_write_buf[3] =0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+
+
+ if (reg_val[0] == fts_updateinfo_curr.upgrade_id_1
+ && reg_val[1] == fts_updateinfo_curr.upgrade_id_2)
+ {
+ FTS_DBG("[FTS] Step 3: CTPM ID OK ,ID1 = 0x%x,ID2 = 0x%x\n",reg_val[0], reg_val[1]);
+ break;
+ }
+ else
+ {
+ dev_err(&client->dev, "[FTS] Step 3: CTPM ID FAIL,ID1 = 0x%x,ID2 = 0x%x\n",reg_val[0], reg_val[1]);
+ }
+ }
+ if (i > FTS_UPGRADE_LOOP)
+ return -EIO;
+ auc_i2c_write_buf[0] = 0xcd;
+
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 1);
+
+ /*Step 4:erase app and panel paramenter area*/
+ FTS_DBG("Step 4:erase app and panel paramenter area\n");
+ auc_i2c_write_buf[0] = FTS_ERASE_APP_REG;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(fts_updateinfo_curr.delay_erase_flash);
+ /*erase panel parameter area */
+ auc_i2c_write_buf[0] = FTS_ERASE_PARAMS_CMD;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(100);
+
+ /*********Step 5:write firmware(FW) to ctpm flash*********/
+ bt_ecc = 0;
+ FTS_DBG("Step 5:write firmware(FW) to ctpm flash\n");
+
+ dw_lenth = dw_lenth - 8;
+ packet_number = (dw_lenth) / FTS_PACKET_LENGTH;
+ packet_buf[0] = FTS_FW_WRITE_CMD;
+ packet_buf[1] = 0x00;
+
+ for (j = 0; j < packet_number; j++)
+ {
+ temp = j * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ lenght = FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (lenght >> 8);
+ packet_buf[5] = (u8) lenght;
+
+ for (i = 0; i < FTS_PACKET_LENGTH; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[j * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+
+ fts_i2c_write(client, packet_buf, FTS_PACKET_LENGTH + 6);
+ msleep(FTS_PACKET_LENGTH / 6 + 1);
+ }
+
+ if ((dw_lenth) % FTS_PACKET_LENGTH > 0)
+ {
+ temp = packet_number * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ temp = (dw_lenth) % FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (temp >> 8);
+ packet_buf[5] = (u8) temp;
+
+ for (i = 0; i < temp; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[packet_number * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+
+ fts_i2c_write(client, packet_buf, temp + 6);
+ msleep(20);
+ }
+
+
+ /*send the last six byte */
+ for (i = 0; i < 6; i++)
+ {
+ temp = 0x6ffa + i;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ temp = 1;
+ packet_buf[4] = (u8) (temp >> 8);
+ packet_buf[5] = (u8) temp;
+ packet_buf[6] = pbt_buf[dw_lenth + i];
+ bt_ecc ^= packet_buf[6];
+ fts_i2c_write(client, packet_buf, 7);
+ msleep(20);
+ }
+
+
+ /*********Step 6: read out checksum***********************/
+ /*send the opration head */
+ FTS_DBG("Step 6: read out checksum\n");
+ auc_i2c_write_buf[0] = FTS_REG_ECC;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 1);
+ if (reg_val[0] != bt_ecc)
+ {
+ dev_err(&client->dev, "[FTS]--ecc error! FW=%02x bt_ecc=%02x\n",reg_val[0],bt_ecc);
+ return -EIO;
+ }
+
+ /*********Step 7: reset the new FW***********************/
+ FTS_DBG("Step 7: reset the new FW\n");
+ auc_i2c_write_buf[0] = FTS_REG_RESET_FW;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(300);
+
+ return 0;
+}
+/************************************************************************
+* Name: fts_5x26_ctpm_fw_upgrade
+* Brief: fw upgrade
+* Input: i2c info, file buf, file len
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_5x26_ctpm_fw_upgrade(struct i2c_client *client, u8 *pbt_buf, u32 dw_lenth)
+{
+ u8 reg_val[4] = {0};
+ u32 i = 0;
+ u32 packet_number;
+ u32 j;
+ u32 temp;
+ u32 lenght;
+ u8 packet_buf[FTS_PACKET_LENGTH + 6];
+ u8 auc_i2c_write_buf[10];
+ u8 bt_ecc;
+ int i_ret=0;
+
+ for (i = 0; i < FTS_UPGRADE_LOOP; i++)
+ {
+
+ /*********Step 1:Reset CTPM *****/
+ fts_write_reg(client, 0xfc, FTS_UPGRADE_AA);
+ msleep(fts_updateinfo_curr.delay_aa);
+ fts_write_reg(client, 0xfc, FTS_UPGRADE_55);
+ msleep(fts_updateinfo_curr.delay_55);
+
+ /*********Step 2:Enter upgrade mode and switch protocol*****/
+ auc_i2c_write_buf[0] = FTS_UPGRADE_55;
+ auc_i2c_write_buf[1] = FTS_UPGRADE_AA;
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 2);
+ if (i_ret < 0)
+ {
+ FTS_DBG("failed writing 0x55 and 0xaa ! \n");
+ continue;
+ }
+
+ /*********Step 3:check READ-ID***********************/
+ auc_i2c_write_buf[0] = 0x90;
+ auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = auc_i2c_write_buf[3] = 0x00;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+ if (reg_val[0] == fts_updateinfo_curr.upgrade_id_1 && reg_val[1] == fts_updateinfo_curr.upgrade_id_2)
+ {
+ FTS_DBG("[FTS] Step 3: READ OK CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n", reg_val[0], reg_val[1]);
+ break;
+ }
+ else
+ {
+ dev_err(&client->dev, "[FTS] Step 3: CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n", reg_val[0], reg_val[1]);
+ continue;
+ }
+ }
+
+ if (i >= FTS_UPGRADE_LOOP) return -EIO;
+ /*Step 4:erase app and panel paramenter area*/
+ FTS_DBG("Step 4:erase app and panel paramenter area\n");
+ auc_i2c_write_buf[0] = 0x61;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ /*erase app area*/
+ auc_i2c_write_buf[0] = 0x63;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ /*erase panel paramenter area*/
+ auc_i2c_write_buf[0] = 0x04;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ /*erase panel paramenter area*/
+ msleep(fts_updateinfo_curr.delay_erase_flash);
+ /*********Step 5:write firmware(FW) to ctpm flash*********/
+ bt_ecc = 0;
+ FTS_DBG("Step 5:write firmware(FW) to ctpm flash\n");
+ temp = 0;
+ packet_number = (dw_lenth) / FTS_PACKET_LENGTH;
+ packet_buf[0] = 0xbf;
+ packet_buf[1] = 0x00;
+
+ for (j = 0; j < packet_number; j++)
+ {
+ temp = j * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ lenght = FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (lenght >> 8);
+ packet_buf[5] = (u8) lenght;
+
+ for (i = 0; i < FTS_PACKET_LENGTH; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[j * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+ fts_i2c_write(client, packet_buf, FTS_PACKET_LENGTH + 6);
+ msleep(FTS_PACKET_LENGTH / 6 + 1);
+ }
+
+ if ((dw_lenth) % FTS_PACKET_LENGTH > 0)
+ {
+ temp = packet_number * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ temp = (dw_lenth) % FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (temp >> 8);
+ packet_buf[5] = (u8) temp;
+
+ for (i = 0; i < temp; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[packet_number * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+ fts_i2c_write(client, packet_buf, temp+6);
+ msleep(20);
+ }
+ /*********Step 6: read out checksum***********************/
+ FTS_DBG("Step 6: read out checksum\n");
+ auc_i2c_write_buf[0] = 0xcc;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 1);
+ printk(KERN_WARNING "Checksum FT5X26:%X %X \n", reg_val[0], bt_ecc);
+ if (reg_val[0] != bt_ecc)
+ {
+ dev_err(&client->dev, "[FTS]--ecc error! FW=%02x bt_ecc=%02x\n",reg_val[0],bt_ecc);
+ return -EIO;
+ }
+
+ /*********Step 7: reset the new FW***********************/
+ FTS_DBG("Step 7: reset the new FW\n");
+ auc_i2c_write_buf[0] = 0x07;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+
+ /********Step 8 Disable Write Flash*****/
+ FTS_DBG("Step 8: Disable Write Flash\n");
+ auc_i2c_write_buf[0] = 0x04;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+
+ msleep(300);
+ auc_i2c_write_buf[0] =auc_i2c_write_buf[1]= 0x00;
+ fts_i2c_write(client,auc_i2c_write_buf,2);
+
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_5x36_ctpm_fw_upgrade
+* Brief: fw upgrade
+* Input: i2c info, file buf, file len
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_5x36_ctpm_fw_upgrade(struct i2c_client *client, u8 *pbt_buf, u32 dw_lenth)
+{
+ u8 reg_val[2] = {0};
+ u32 i = 0;
+ u8 is_5336_new_bootloader = 0;
+ u8 is_5336_fwsize_30 = 0;
+ u32 packet_number;
+ u32 j;
+ u32 temp = 0;
+ u32 lenght;
+ u8 packet_buf[FTS_PACKET_LENGTH + 6];
+ u8 auc_i2c_write_buf[10];
+ u8 bt_ecc;
+ int i_ret;
+ int fw_filenth = sizeof(CTPM_FW);
+
+ if (CTPM_FW[fw_filenth-12] == 30)
+ {
+ is_5336_fwsize_30 = 1;
+ }
+ else
+ {
+ is_5336_fwsize_30 = 0;
+ }
+
+ for (i = 0; i < FTS_UPGRADE_LOOP; i++)
+ {
+ /*********Step 1:Reset CTPM *****/
+ fts_write_reg(client, FTS_RST_CMD_REG1, FTS_UPGRADE_AA);
+ msleep(fts_updateinfo_curr.delay_aa);
+
+ /*write 0x55 to register FTS_RST_CMD_REG1*/
+ fts_write_reg(client, FTS_RST_CMD_REG1, FTS_UPGRADE_55);
+ msleep(fts_updateinfo_curr.delay_55);
+
+ /*********Step 2:Enter upgrade mode *****/
+ auc_i2c_write_buf[0] = FTS_UPGRADE_55;
+ auc_i2c_write_buf[1] = FTS_UPGRADE_AA;
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 2);
+
+ /*********Step 3:check READ-ID***********************/
+ msleep(fts_updateinfo_curr.delay_readid);
+ auc_i2c_write_buf[0] = FTS_READ_ID_REG;
+ auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = auc_i2c_write_buf[3] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+ if (reg_val[0] == fts_updateinfo_curr.upgrade_id_1
+ && reg_val[1] == fts_updateinfo_curr.upgrade_id_2)
+ {
+ dev_dbg(&client->dev, "[FTS] Step 3: CTPM ID OK,ID1 = 0x%x,ID2 = 0x%x\n",reg_val[0],reg_val[1]);
+ break;
+ }
+ else
+ {
+ dev_err(&client->dev, "[FTS] Step 3: CTPM ID FAILD,ID1 = 0x%x,ID2 = 0x%x\n",reg_val[0],reg_val[1]);
+ continue;
+ }
+ }
+
+ if (i >= FTS_UPGRADE_LOOP)
+ return -EIO;
+
+ auc_i2c_write_buf[0] = 0xcd;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 1);
+ /*********20130705 mshl ********************/
+ if (reg_val[0] <= 4)
+ {
+ is_5336_new_bootloader = BL_VERSION_LZ4 ;
+ }
+ else if(reg_val[0] == 7)
+ {
+ is_5336_new_bootloader = BL_VERSION_Z7 ;
+ }
+ else if(reg_val[0] >= 0x0f)
+ {
+ is_5336_new_bootloader = BL_VERSION_GZF ;
+ }
+
+ /*********Step 4:erase app and panel paramenter area ********************/
+ if(is_5336_fwsize_30)
+ {
+ auc_i2c_write_buf[0] = FTS_ERASE_APP_REG;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(fts_updateinfo_curr.delay_erase_flash);
+
+ auc_i2c_write_buf[0] = FTS_ERASE_PARAMS_CMD;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(50);
+ }
+ else
+ {
+ auc_i2c_write_buf[0] = FTS_ERASE_APP_REG;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(fts_updateinfo_curr.delay_erase_flash);
+ }
+
+ /*********Step 5:write firmware(FW) to ctpm flash*********/
+ bt_ecc = 0;
+
+ if(is_5336_new_bootloader == BL_VERSION_LZ4 || is_5336_new_bootloader == BL_VERSION_Z7 )
+ {
+ dw_lenth = dw_lenth - 8;
+ }
+ else if(is_5336_new_bootloader == BL_VERSION_GZF)
+ {
+ dw_lenth = dw_lenth - 14;
+ }
+ packet_number = (dw_lenth) / FTS_PACKET_LENGTH;
+ packet_buf[0] = FTS_FW_WRITE_CMD;
+ packet_buf[1] = 0x00;
+ for (j=0;j<packet_number;j++)
+ {
+ temp = j * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8)(temp>>8);
+ packet_buf[3] = (u8)temp;
+ lenght = FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8)(lenght>>8);
+ packet_buf[5] = (u8)lenght;
+
+ for (i=0;i<FTS_PACKET_LENGTH;i++)
+ {
+ packet_buf[6+i] = pbt_buf[j*FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6+i];
+ }
+
+ fts_i2c_write(client, packet_buf, FTS_PACKET_LENGTH+6);
+ msleep(FTS_PACKET_LENGTH/6 + 1);
+ }
+
+ if ((dw_lenth) % FTS_PACKET_LENGTH > 0)
+ {
+ temp = packet_number * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8)(temp>>8);
+ packet_buf[3] = (u8)temp;
+
+ temp = (dw_lenth) % FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8)(temp>>8);
+ packet_buf[5] = (u8)temp;
+
+ for (i=0;i<temp;i++)
+ {
+ packet_buf[6+i] = pbt_buf[ packet_number*FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6+i];
+ }
+
+ fts_i2c_write(client, packet_buf, temp+6);
+ msleep(20);
+ }
+ /*send the last six byte*/
+ if(is_5336_new_bootloader == BL_VERSION_LZ4 || is_5336_new_bootloader == BL_VERSION_Z7 )
+ {
+ for (i = 0; i<6; i++)
+ {
+ if (is_5336_new_bootloader == BL_VERSION_Z7)
+ {
+ temp = 0x7bfa + i;
+ }
+ else if(is_5336_new_bootloader == BL_VERSION_LZ4)
+ {
+ temp = 0x6ffa + i;
+ }
+ packet_buf[2] = (u8)(temp>>8);
+ packet_buf[3] = (u8)temp;
+ temp = 1;
+ packet_buf[4] = (u8)(temp>>8);
+ packet_buf[5] = (u8)temp;
+ packet_buf[6] = pbt_buf[ dw_lenth + i];
+ bt_ecc ^= packet_buf[6];
+ fts_i2c_write(client, packet_buf, 7);
+ msleep(10);
+ }
+ }
+ else if(is_5336_new_bootloader == BL_VERSION_GZF)
+ {
+ for (i = 0; i<12; i++)
+ {
+ if (is_5336_new_bootloader == BL_VERSION_Z7)
+ {
+ temp = 0x7ff4 + i;
+ }
+ else if(is_5336_new_bootloader == BL_VERSION_LZ4)
+ {
+ temp = 0x7bf4 + i;
+ }
+ packet_buf[2] = (u8)(temp>>8);
+ packet_buf[3] = (u8)temp;
+ temp = 1;
+ packet_buf[4] = (u8)(temp>>8);
+ packet_buf[5] = (u8)temp;
+ packet_buf[6] = pbt_buf[ dw_lenth + i];
+ bt_ecc ^= packet_buf[6];
+ fts_i2c_write(client, packet_buf, 7);
+ msleep(10);
+ }
+ }
+
+ /*********Step 6: read out checksum***********************/
+ auc_i2c_write_buf[0] = FTS_REG_ECC;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 1);
+ if(reg_val[0] != bt_ecc)
+ {
+ dev_err(&client->dev, "[FTS]--ecc error! FW=%02x bt_ecc=%02x\n", reg_val[0], bt_ecc);
+ return -EIO;
+ }
+ /*********Step 7: reset the new FW***********************/
+ auc_i2c_write_buf[0] = FTS_REG_RESET_FW;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(300);
+
+ return 0;
+}
+/************************************************************************
+* Name: fts_5822_ctpm_fw_upgrade
+* Brief: fw upgrade
+* Input: i2c info, file buf, file len
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_5822_ctpm_fw_upgrade(struct i2c_client *client, u8 *pbt_buf, u32 dw_lenth)
+{
+ u8 reg_val[4] = {0};
+ u32 i = 0;
+ u32 packet_number;
+ u32 j;
+ u32 temp;
+ u32 lenght;
+ u8 packet_buf[FTS_PACKET_LENGTH + 6];
+ u8 auc_i2c_write_buf[10];
+ u8 bt_ecc;
+ u8 bt_ecc_check;
+ int i_ret;
+
+ i_ret = hidi2c_to_stdi2c(client);
+ if (i_ret == 0)
+ {
+ FTS_DBG("HidI2c change to StdI2c fail ! \n");
+ }
+
+ for (i = 0; i < FTS_UPGRADE_LOOP; i++)
+ {
+ /*********Step 1:Reset CTPM *****/
+ fts_write_reg(client, 0xfc, FTS_UPGRADE_AA);
+ msleep(fts_updateinfo_curr.delay_aa);
+ fts_write_reg(client, 0xfc, FTS_UPGRADE_55);
+ msleep(200);
+ /*********Step 2:Enter upgrade mode *****/
+ i_ret = hidi2c_to_stdi2c(client);
+ if (i_ret == 0)
+ {
+ FTS_DBG("HidI2c change to StdI2c fail ! \n");
+ }
+ msleep(5);
+ auc_i2c_write_buf[0] = FTS_UPGRADE_55;
+ auc_i2c_write_buf[1] = FTS_UPGRADE_AA;
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 2);
+ if (i_ret < 0)
+ {
+ FTS_DBG("failed writing 0x55 and 0xaa ! \n");
+ continue;
+ }
+ /*********Step 3:check READ-ID***********************/
+ msleep(1);
+ auc_i2c_write_buf[0] = 0x90;
+ auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = auc_i2c_write_buf[3] = 0x00;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+ if (reg_val[0] == fts_updateinfo_curr.upgrade_id_1 && reg_val[1] == fts_updateinfo_curr.upgrade_id_2)
+ {
+ FTS_DBG("[FTS] Step 3: READ OK CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n", reg_val[0], reg_val[1]);
+ break;
+ }
+ else
+ {
+ dev_err(&client->dev, "[FTS] Step 3: CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n", reg_val[0], reg_val[1]);
+ continue;
+ }
+ }
+ if (i >= FTS_UPGRADE_LOOP)
+ return -EIO;
+ /*Step 4:erase app and panel paramenter area*/
+ FTS_DBG("Step 4:erase app and panel paramenter area\n");
+ auc_i2c_write_buf[0] = 0x61;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(1350);
+ for (i = 0; i < 15; i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 2);
+ if (0xF0 == reg_val[0] && 0xAA == reg_val[1])
+ {
+ break;
+ }
+ msleep(50);
+ }
+ printk("[FTS][%s] erase app area reg_val[0] = %x reg_val[1] = %x \n", __func__, reg_val[0], reg_val[1]);
+ auc_i2c_write_buf[0] = 0xB0;
+ auc_i2c_write_buf[1] = (u8) ((dw_lenth >> 16) & 0xFF);
+ auc_i2c_write_buf[2] = (u8) ((dw_lenth >> 8) & 0xFF);
+ auc_i2c_write_buf[3] = (u8) (dw_lenth & 0xFF);
+ fts_i2c_write(client, auc_i2c_write_buf, 4);
+ /*********Step 5:write firmware(FW) to ctpm flash*********/
+ bt_ecc = 0;
+ bt_ecc_check = 0;
+ FTS_DBG("Step 5:write firmware(FW) to ctpm flash\n");
+ temp = 0;
+ packet_number = (dw_lenth) / FTS_PACKET_LENGTH;
+ packet_buf[0] = 0xbf;
+ packet_buf[1] = 0x00;
+ for (j = 0; j < packet_number; j++)
+ {
+ temp = j * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ lenght = FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (lenght >> 8);
+ packet_buf[5] = (u8) lenght;
+ for (i = 0; i < FTS_PACKET_LENGTH; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[j * FTS_PACKET_LENGTH + i];
+ bt_ecc_check ^= pbt_buf[j * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+ printk("[FTS][%s] bt_ecc = %x \n", __func__, bt_ecc);
+ if (bt_ecc != bt_ecc_check)
+ printk("[FTS][%s] Host checksum error bt_ecc_check = %x \n", __func__, bt_ecc_check);
+ fts_i2c_write(client, packet_buf, FTS_PACKET_LENGTH + 6);
+ for (i = 0; i < 30; i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 2);
+ if ((j + 0x1000) == (((reg_val[0]) << 8) | reg_val[1])) {
+ break;
+ }
+ printk("[FTS][%s] reg_val[0] = %x reg_val[1] = %x \n", __func__, reg_val[0], reg_val[1]);
+ msleep(1);
+ }
+ }
+ if ((dw_lenth) % FTS_PACKET_LENGTH > 0)
+ {
+ temp = packet_number * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ temp = (dw_lenth) % FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (temp >> 8);
+ packet_buf[5] = (u8) temp;
+ for (i = 0; i < temp; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[packet_number * FTS_PACKET_LENGTH + i];
+ bt_ecc_check ^= pbt_buf[packet_number * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+ fts_i2c_write(client, packet_buf, temp + 6);
+ printk("[FTS][%s] bt_ecc = %x \n", __func__, bt_ecc);
+ if (bt_ecc != bt_ecc_check)
+ printk("[FTS][%s] Host checksum error bt_ecc_check = %x \n", __func__, bt_ecc_check);
+ for (i = 0; i < 30; i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 2);
+ printk("[FTS][%s] reg_val[0] = %x reg_val[1] = %x \n", __func__, reg_val[0], reg_val[1]);
+ if ((j + 0x1000) == (((reg_val[0]) << 8) | reg_val[1]))
+ {
+ break;
+ }
+ printk("[FTS][%s] reg_val[0] = %x reg_val[1] = %x \n", __func__, reg_val[0], reg_val[1]);
+ msleep(1);
+ }
+ }
+ msleep(50);
+ /*********Step 6: read out checksum***********************/
+ /*send the opration head */
+ FTS_DBG("Step 6: read out checksum\n");
+ auc_i2c_write_buf[0] = 0x64;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(300);
+ temp = 0;
+ auc_i2c_write_buf[0] = 0x65;
+ auc_i2c_write_buf[1] = (u8)(temp >> 16);
+ auc_i2c_write_buf[2] = (u8)(temp >> 8);
+ auc_i2c_write_buf[3] = (u8)(temp);
+ temp = dw_lenth;
+ auc_i2c_write_buf[4] = (u8)(temp >> 8);
+ auc_i2c_write_buf[5] = (u8)(temp);
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 6);
+ msleep(dw_lenth/256);
+ for (i = 0; i < 100; i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 2);
+ dev_err(&client->dev, "[FTS]--reg_val[0]=%02x reg_val[0]=%02x\n", reg_val[0], reg_val[1]);
+ if (0xF0 == reg_val[0] && 0x55 == reg_val[1])
+ {
+ dev_err(&client->dev, "[FTS]--reg_val[0]=%02x reg_val[0]=%02x\n", reg_val[0], reg_val[1]);
+ break;
+ }
+ msleep(1);
+ }
+ auc_i2c_write_buf[0] = 0x66;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 1);
+ if (reg_val[0] != bt_ecc)
+ {
+ dev_err(&client->dev, "[FTS]--ecc error! FW=%02x bt_ecc=%02x\n", reg_val[0], bt_ecc);
+ return -EIO;
+ }
+ printk(KERN_WARNING "checksum %X %X \n", reg_val[0], bt_ecc);
+ /*********Step 7: reset the new FW***********************/
+ FTS_DBG("Step 7: reset the new FW\n");
+ auc_i2c_write_buf[0] = 0x07;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(200);
+ i_ret = hidi2c_to_stdi2c(client);
+ if (i_ret == 0)
+ {
+ FTS_DBG("HidI2c change to StdI2c fail ! \n");
+ }
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_5x06_ctpm_fw_upgrade
+* Brief: fw upgrade
+* Input: i2c info, file buf, file len
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_5x06_ctpm_fw_upgrade(struct i2c_client *client, u8 *pbt_buf, u32 dw_lenth)
+{
+ u8 reg_val[2] = {0};
+ u32 i = 0;
+ u32 packet_number;
+ u32 j;
+ u32 temp;
+ u32 lenght;
+ u8 packet_buf[FTS_PACKET_LENGTH + 6];
+ u8 auc_i2c_write_buf[10];
+ u8 bt_ecc;
+ int i_ret;
+
+ for (i = 0; i < FTS_UPGRADE_LOOP; i++)
+ {
+ /*********Step 1:Reset CTPM *****/
+ /*write 0xaa to register FTS_RST_CMD_REG1 */
+ fts_write_reg(client, FTS_RST_CMD_REG1, FTS_UPGRADE_AA);
+ msleep(fts_updateinfo_curr.delay_aa);
+
+ /*write 0x55 to register FTS_RST_CMD_REG1 */
+ fts_write_reg(client, FTS_RST_CMD_REG1, FTS_UPGRADE_55);
+ msleep(fts_updateinfo_curr.delay_55);
+ /*********Step 2:Enter upgrade mode *****/
+ auc_i2c_write_buf[0] = FTS_UPGRADE_55;
+ auc_i2c_write_buf[1] = FTS_UPGRADE_AA;
+ do
+ {
+ i++;
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 2);
+ msleep(5);
+ } while (i_ret <= 0 && i < 5);
+
+
+ /*********Step 3:check READ-ID***********************/
+ msleep(fts_updateinfo_curr.delay_readid);
+ auc_i2c_write_buf[0] = FTS_READ_ID_REG;
+ auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = auc_i2c_write_buf[3] =0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+
+ if (reg_val[0] == fts_updateinfo_curr.upgrade_id_1
+ && reg_val[1] == fts_updateinfo_curr.upgrade_id_2)
+ {
+ FTS_DBG("[FTS] Step 3: CTPM ID OK,ID1 = 0x%x,ID2 = 0x%x\n",reg_val[0], reg_val[1]);
+ break;
+ }
+ else
+ {
+ dev_err(&client->dev, "[FTS] Step 3: CTPM ID FAIL,ID1 = 0x%x,ID2 = 0x%x\n",reg_val[0], reg_val[1]);
+ }
+ }
+ if (i >= FTS_UPGRADE_LOOP)
+ return -EIO;
+ /*Step 4:erase app and panel paramenter area*/
+ FTS_DBG("Step 4:erase app and panel paramenter area\n");
+ auc_i2c_write_buf[0] = FTS_ERASE_APP_REG;
+ fts_i2c_write(client, auc_i2c_write_buf, 1); /*erase app area */
+ msleep(fts_updateinfo_curr.delay_erase_flash);
+ /*erase panel parameter area */
+ auc_i2c_write_buf[0] = FTS_ERASE_PARAMS_CMD;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(100);
+
+ /*********Step 5:write firmware(FW) to ctpm flash*********/
+ bt_ecc = 0;
+ FTS_DBG("Step 5:write firmware(FW) to ctpm flash\n");
+ dw_lenth = dw_lenth - 8;
+ packet_number = (dw_lenth) / FTS_PACKET_LENGTH;
+ packet_buf[0] = FTS_FW_WRITE_CMD;
+ packet_buf[1] = 0x00;
+ for (j = 0; j < packet_number; j++)
+ {
+ temp = j * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ lenght = FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (lenght >> 8);
+ packet_buf[5] = (u8) lenght;
+ for (i = 0; i < FTS_PACKET_LENGTH; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[j * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+ fts_i2c_write(client, packet_buf, FTS_PACKET_LENGTH + 6);
+ msleep(FTS_PACKET_LENGTH / 6 + 1);
+ }
+ if ((dw_lenth) % FTS_PACKET_LENGTH > 0)
+ {
+ temp = packet_number * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ temp = (dw_lenth) % FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (temp >> 8);
+ packet_buf[5] = (u8) temp;
+ for (i = 0; i < temp; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[packet_number * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+
+ fts_i2c_write(client, packet_buf, temp + 6);
+ msleep(20);
+ }
+ /*send the last six byte */
+ for (i = 0; i < 6; i++)
+ {
+ temp = 0x6ffa + i;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ temp = 1;
+ packet_buf[4] = (u8) (temp >> 8);
+ packet_buf[5] = (u8) temp;
+ packet_buf[6] = pbt_buf[dw_lenth + i];
+ bt_ecc ^= packet_buf[6];
+ fts_i2c_write(client, packet_buf, 7);
+ msleep(20);
+ }
+ /*********Step 6: read out checksum***********************/
+ /*send the opration head */
+ FTS_DBG("Step 6: read out checksum\n");
+ auc_i2c_write_buf[0] = FTS_REG_ECC;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 1);
+ if (reg_val[0] != bt_ecc)
+ {
+ dev_err(&client->dev, "[FTS]--ecc error! FW=%02x bt_ecc=%02x\n",
+ reg_val[0], bt_ecc);
+ return -EIO;
+ }
+ /*********Step 7: reset the new FW***********************/
+ FTS_DBG("Step 7: reset the new FW\n");
+ auc_i2c_write_buf[0] = FTS_REG_RESET_FW;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(300); /*make sure CTP startup normally */
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_5x46_ctpm_fw_upgrade
+* Brief: fw upgrade
+* Input: i2c info, file buf, file len
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_5x46_ctpm_fw_upgrade(struct i2c_client * client, u8* pbt_buf, u32 dw_lenth)
+{
+ u8 reg_val[4] = {0};
+ u32 i = 0;
+ u32 packet_number;
+ u32 j;
+ u32 temp;
+ u32 lenght;
+ u8 packet_buf[FTS_PACKET_LENGTH + 6];
+ u8 auc_i2c_write_buf[10];
+ u8 bt_ecc;
+ int i_ret;
+
+ i_ret = hidi2c_to_stdi2c(client);
+ if(i_ret == 0)
+ {
+ FTS_DBG("[FTS] hid change to i2c fail ! \n");
+ }
+
+ for (i = 0; i < FTS_UPGRADE_LOOP; i++)
+ {
+ /*********Step 1:Reset CTPM *****/
+ /*write 0xaa to register FTS_RST_CMD_REG1 */
+ fts_write_reg(client, FTS_RST_CMD_REG1, FTS_UPGRADE_AA);
+ msleep(fts_updateinfo_curr.delay_aa);
+
+ //write 0x55 to register FTS_RST_CMD_REG1
+ fts_write_reg(client, FTS_RST_CMD_REG1, FTS_UPGRADE_55);
+ msleep(200);
+ /*********Step 2:Enter upgrade mode *****/
+ i_ret = hidi2c_to_stdi2c(client);
+
+ if(i_ret == 0)
+ {
+ FTS_DBG("[FTS] hid change to i2c fail ! \n");
+ }
+ msleep(10);
+ auc_i2c_write_buf[0] = FTS_UPGRADE_55;
+ auc_i2c_write_buf[1] = FTS_UPGRADE_AA;
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 2);
+ if(i_ret < 0)
+ {
+ FTS_DBG("[FTS] failed writing 0x55 and 0xaa ! \n");
+ continue;
+ }
+ /*********Step 3:check READ-ID***********************/
+ msleep(1);
+ auc_i2c_write_buf[0] = FTS_READ_ID_REG;
+ auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = auc_i2c_write_buf[3] =0x00;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+
+ if (reg_val[0] == fts_updateinfo_curr.upgrade_id_1
+ && reg_val[1] == fts_updateinfo_curr.upgrade_id_2)
+ {
+ FTS_DBG("[FTS] Step 3: READ OK CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n",reg_val[0], reg_val[1]);
+ break;
+ }
+ else
+ {
+ dev_err(&client->dev, "[FTS] Step 3: CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n",reg_val[0], reg_val[1]);
+ continue;
+ }
+ }
+ if (i >= FTS_UPGRADE_LOOP )
+ return -EIO;
+ /*Step 4:erase app and panel paramenter area*/
+ FTS_DBG("Step 4:erase app and panel paramenter area\n");
+ auc_i2c_write_buf[0] = FTS_ERASE_APP_REG;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(1350);
+ for(i = 0;i < 15;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 2);
+ if(0xF0==reg_val[0] && 0xAA==reg_val[1])
+ {
+ break;
+ }
+ msleep(50);
+ }
+ printk("[FTS][%s] erase app area reg_val[0] = %x reg_val[1] = %x \n", __func__, reg_val[0], reg_val[1]);
+ auc_i2c_write_buf[0] = 0xB0;
+ auc_i2c_write_buf[1] = (u8) ((dw_lenth >> 16) & 0xFF);
+ auc_i2c_write_buf[2] = (u8) ((dw_lenth >> 8) & 0xFF);
+ auc_i2c_write_buf[3] = (u8) (dw_lenth & 0xFF);
+ fts_i2c_write(client, auc_i2c_write_buf, 4);
+ /*********Step 5:write firmware(FW) to ctpm flash*********/
+ bt_ecc = 0;
+ FTS_DBG("Step 5:write firmware(FW) to ctpm flash\n");
+ temp = 0;
+ packet_number = (dw_lenth) / FTS_PACKET_LENGTH;
+ packet_buf[0] = FTS_FW_WRITE_CMD;
+ packet_buf[1] = 0x00;
+
+ for (j = 0; j < packet_number; j++)
+ {
+ temp = j * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ lenght = FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (lenght >> 8);
+ packet_buf[5] = (u8) lenght;
+ for (i = 0; i < FTS_PACKET_LENGTH; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[j * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+ fts_i2c_write(client, packet_buf, FTS_PACKET_LENGTH + 6);
+ for(i = 0;i < 30;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 2);
+ if ((j + 0x1000) == (((reg_val[0]) << 8) | reg_val[1]))
+ {
+ break;
+ }
+ printk("[FTS][%s] reg_val[0] = %x reg_val[1] = %x \n", __func__, reg_val[0], reg_val[1]);
+ msleep(1);
+ }
+ }
+ if ((dw_lenth) % FTS_PACKET_LENGTH > 0)
+ {
+ temp = packet_number * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ temp = (dw_lenth) % FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (temp >> 8);
+ packet_buf[5] = (u8) temp;
+ for (i = 0; i < temp; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[packet_number * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+ fts_i2c_write(client, packet_buf, temp + 6);
+ for(i = 0;i < 30;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 2);
+ printk("[FTS][%s] reg_val[0] = %x reg_val[1] = %x \n", __func__, reg_val[0], reg_val[1]);
+ if ((j + 0x1000) == (((reg_val[0]) << 8) | reg_val[1]))
+ {
+ break;
+ }
+ printk("[FTS][%s] reg_val[0] = %x reg_val[1] = %x \n", __func__, reg_val[0], reg_val[1]);
+ msleep(1);
+
+ }
+ }
+
+ msleep(50);
+
+ /*********Step 6: read out checksum***********************/
+ /*send the opration head */
+ FTS_DBG("Step 6: read out checksum\n");
+ auc_i2c_write_buf[0] = 0x64;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(300);
+
+ temp = 0;
+ auc_i2c_write_buf[0] = 0x65;
+ auc_i2c_write_buf[1] = (u8)(temp >> 16);
+ auc_i2c_write_buf[2] = (u8)(temp >> 8);
+ auc_i2c_write_buf[3] = (u8)(temp);
+ temp = dw_lenth;
+ auc_i2c_write_buf[4] = (u8)(temp >> 8);
+ auc_i2c_write_buf[5] = (u8)(temp);
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 6);
+ msleep(dw_lenth/256);
+
+ for(i = 0;i < 100;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 2);
+ dev_err(&client->dev, "[FTS]--reg_val[0]=%02x reg_val[0]=%02x\n", reg_val[0], reg_val[1]);
+ if (0xF0==reg_val[0] && 0x55==reg_val[1])
+ {
+ dev_err(&client->dev, "[FTS]--reg_val[0]=%02x reg_val[0]=%02x\n", reg_val[0], reg_val[1]);
+ break;
+ }
+ msleep(1);
+
+ }
+ auc_i2c_write_buf[0] = 0x66;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 1);
+ if (reg_val[0] != bt_ecc)
+ {
+ dev_err(&client->dev, "[FTS]--ecc error! FW=%02x bt_ecc=%02x\n",
+ reg_val[0], bt_ecc);
+ return -EIO;
+ }
+ printk(KERN_WARNING "checksum %X %X \n",reg_val[0],bt_ecc);
+ /*********Step 7: reset the new FW***********************/
+ FTS_DBG("Step 7: reset the new FW\n");
+ auc_i2c_write_buf[0] = FTS_REG_RESET_FW;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(200);
+ i_ret = hidi2c_to_stdi2c(client);
+ if (i_ret == 0)
+ {
+ FTS_DBG("HidI2c change to StdI2c fail ! \n");
+ }
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_8606_writepram
+* Brief: fw upgrade
+* Input: i2c info, file buf, file len
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_8606_writepram(struct i2c_client * client, u8* pbt_buf, u32 dw_lenth)
+{
+
+ u8 reg_val[4] = {0};
+ u32 i = 0;
+ u32 packet_number;
+ u32 j;
+ u32 temp;
+ u32 lenght;
+ u8 packet_buf[FTS_PACKET_LENGTH + 6];
+ u8 auc_i2c_write_buf[10];
+ u8 bt_ecc;
+ int i_ret;
+
+ FTS_DBG("8606 dw_lenth= %d",dw_lenth);
+ if(dw_lenth > 0x10000 || dw_lenth ==0)
+ {
+ return -EIO;
+ }
+
+ for (i = 0; i < 20; i++)
+ {
+ fts_write_reg(client, 0xfc, FTS_UPGRADE_AA);
+ msleep(fts_updateinfo_curr.delay_aa);
+ fts_write_reg(client, 0xfc, FTS_UPGRADE_55);
+ msleep(200);
+ /*********Step 2:Enter upgrade mode *****/
+ auc_i2c_write_buf[0] = FTS_UPGRADE_55;
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 1);
+ if(i_ret < 0)
+ {
+ FTS_DBG("[FTS] failed writing 0x55 ! \n");
+ continue;
+ }
+
+ /*********Step 3:check READ-ID***********************/
+ msleep(1);
+ auc_i2c_write_buf[0] = 0x90;
+ auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = auc_i2c_write_buf[3] =
+ 0x00;
+ reg_val[0] = reg_val[1] = 0x00;
+
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+
+ if ((reg_val[0] == 0x86
+ && reg_val[1] == 0x06) || (reg_val[0] == 0x86
+ && reg_val[1] == 0x06))
+ {
+ msleep(50);
+ break;
+ }
+ else
+ {
+ dev_err(&client->dev, "[FTS] Step 3: CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n",
+ reg_val[0], reg_val[1]);
+ continue;
+ }
+ }
+
+ if (i >= FTS_UPGRADE_LOOP )
+ return -EIO;
+
+ /*********Step 4:write firmware(FW) to ctpm flash*********/
+ bt_ecc = 0;
+ FTS_DBG("Step 5:write firmware(FW) to ctpm flash\n");
+ temp = 0;
+ packet_number = (dw_lenth) / FTS_PACKET_LENGTH;
+ packet_buf[0] = 0xae;
+ packet_buf[1] = 0x00;
+
+ for (j = 0; j < packet_number; j++)
+ {
+ temp = j * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ lenght = FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (lenght >> 8);
+ packet_buf[5] = (u8) lenght;
+
+ for (i = 0; i < FTS_PACKET_LENGTH; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[j * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+ fts_i2c_write(client, packet_buf, FTS_PACKET_LENGTH + 6);
+ }
+
+ if ((dw_lenth) % FTS_PACKET_LENGTH > 0)
+ {
+ temp = packet_number * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ temp = (dw_lenth) % FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (temp >> 8);
+ packet_buf[5] = (u8) temp;
+
+ for (i = 0; i < temp; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[packet_number * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+ fts_i2c_write(client, packet_buf, temp + 6);
+ }
+
+ /*********Step 5: read out checksum***********************/
+ /*send the opration head */
+ FTS_DBG("Step 6: read out checksum\n");
+ auc_i2c_write_buf[0] = 0xcc;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 1);
+ if (reg_val[0] != bt_ecc)
+ {
+ dev_err(&client->dev, "[FTS]--ecc error! FW=%02x bt_ecc=%02x\n",reg_val[0],bt_ecc);
+ return -EIO;
+ }
+ FTS_DBG("checksum %X %X \n",reg_val[0],bt_ecc);
+ FTS_DBG("Read flash and compare\n");
+
+ msleep(50);
+
+ /*********Step 6: start app***********************/
+ FTS_DBG("Step 6: start app\n");
+ auc_i2c_write_buf[0] = 0x08;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(20);
+
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_8606_ctpm_fw_upgrade
+* Brief: fw upgrade
+* Input: i2c info, file buf, file len
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_8606_ctpm_fw_upgrade(struct i2c_client * client, u8* pbt_buf, u32 dw_lenth)
+{
+ u8 reg_val[4] = {0};
+ u8 reg_val_id[4] = {0};
+ u32 i = 0;
+ u32 packet_number;
+ u32 j;
+ u32 temp;
+ u32 lenght;
+ u8 packet_buf[FTS_PACKET_LENGTH + 6];
+ u8 auc_i2c_write_buf[10];
+ u8 bt_ecc;
+ int i_ret;
+ unsigned char cmd[20];
+ unsigned char Checksum = 0;
+
+ auc_i2c_write_buf[0] = 0x05;
+ reg_val_id[0] = 0x00;
+
+ i_ret =fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val_id, 1);
+ if(dw_lenth == 0)
+ {
+ return -EIO;
+ }
+
+ if(0x81 == (int)reg_val_id[0])
+ {
+ if(dw_lenth > 1024*60)
+ {
+ return -EIO;
+ }
+ }
+ else if(0x80 == (int)reg_val_id[0])
+ {
+ if(dw_lenth > 1024*64)
+ {
+ return -EIO;
+ }
+ }
+
+ for (i = 0; i < FTS_UPGRADE_LOOP; i++)
+ {
+ msleep(10);
+ auc_i2c_write_buf[0] = FTS_UPGRADE_55;
+ auc_i2c_write_buf[1] = FTS_UPGRADE_AA;
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 2);
+ if(i_ret < 0)
+ {
+ FTS_DBG("failed writing 0x55 and 0xaa ! \n");
+ continue;
+ }
+
+ /*********Step 3:check READ-ID***********************/
+ msleep(1);
+ auc_i2c_write_buf[0] = 0x90;
+ auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = auc_i2c_write_buf[3] = 0x00;
+
+ reg_val[0] = reg_val[1] = 0x00;
+
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+
+ if ((reg_val[0] == fts_updateinfo_curr.upgrade_id_1
+ && reg_val[1] == fts_updateinfo_curr.upgrade_id_2)|| (reg_val[0] == 0x86 && reg_val[1] == 0xA6)) {
+ FTS_DBG("[FTS] Step 3: READ OK CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n",
+ reg_val[0], reg_val[1]);
+ break;
+ } else {
+ dev_err(&client->dev, "[FTS] Step 3: CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n",
+ reg_val[0], reg_val[1]);
+ continue;
+ }
+ }
+
+ if (i >= FTS_UPGRADE_LOOP )
+ return -EIO;
+
+ /*Step 4:erase app and panel paramenter area*/
+ FTS_DBG("Step 4:erase app and panel paramenter area\n");
+
+ {
+ cmd[0] = 0x05;
+ cmd[1] = reg_val_id[0];//0x80;
+ cmd[2] = 0x00;//???
+ fts_i2c_write(client, cmd, 3);
+ }
+
+ {
+ cmd[0] = 0x09;
+ cmd[1] = 0x0B;
+ fts_i2c_write(client, cmd, 2);
+ }
+
+ for(i=0; i<dw_lenth ; i++)
+ {
+ Checksum ^= pbt_buf[i];
+ }
+ msleep(50);
+
+ auc_i2c_write_buf[0] = 0x61;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(1350);
+
+ for(i = 0;i < 15;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 2);
+
+ if(0xF0==reg_val[0] && 0xAA==reg_val[1])
+ {
+ break;
+ }
+ msleep(50);
+ }
+
+ bt_ecc = 0;
+ FTS_DBG("Step 5:write firmware(FW) to ctpm flash\n");
+
+ temp = 0;
+ packet_number = (dw_lenth) / FTS_PACKET_LENGTH;
+ packet_buf[0] = 0xbf;
+
+ for (j = 0; j < packet_number; j++) {
+ temp = 0x1000+j * FTS_PACKET_LENGTH;
+ packet_buf[1] = (u8) (temp >> 16);
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ lenght = FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (lenght >> 8);
+ packet_buf[5] = (u8) lenght;
+
+ for (i = 0; i < FTS_PACKET_LENGTH; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[j * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+ fts_i2c_write(client, packet_buf, FTS_PACKET_LENGTH + 6);
+
+ for(i = 0;i < 30;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 2);
+
+ if ((j + 0x1000) == (((reg_val[0]) << 8) | reg_val[1]))
+ {
+ break;
+ }
+ msleep(1);
+
+ }
+ }
+
+ if ((dw_lenth) % FTS_PACKET_LENGTH > 0) {
+ temp = 0x1000+packet_number * FTS_PACKET_LENGTH;
+ packet_buf[1] = (u8) (temp >> 16);
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ temp = (dw_lenth) % FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (temp >> 8);
+ packet_buf[5] = (u8) temp;
+
+ for (i = 0; i < temp; i++) {
+ packet_buf[6 + i] = pbt_buf[packet_number * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+ fts_i2c_write(client, packet_buf, temp + 6);
+
+ for(i = 0;i < 30;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 2);
+
+ if ((j + 0x1000) == (((reg_val[0]) << 8) | reg_val[1]))
+ {
+ break;
+ }
+ msleep(1);
+
+ }
+ }
+
+ msleep(50);
+
+ /*********Step 6: read out checksum***********************/
+ /*send the opration head */
+ FTS_DBG("Step 6: read out checksum\n");
+ auc_i2c_write_buf[0] = 0x64;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(300);
+ temp = 0x1000+0;
+ auc_i2c_write_buf[0] = 0x65;
+ auc_i2c_write_buf[1] = (u8)(temp >> 16);
+ auc_i2c_write_buf[2] = (u8)(temp >> 8);
+ auc_i2c_write_buf[3] = (u8)(temp);
+
+ if (dw_lenth > LEN_FLASH_ECC_MAX)
+ {
+ temp = LEN_FLASH_ECC_MAX;
+ }
+ else
+ {
+ temp = dw_lenth;
+ FTS_DBG("Step 6_1: read out checksum\n");
+ }
+ auc_i2c_write_buf[4] = (u8)(temp >> 8);
+ auc_i2c_write_buf[5] = (u8)(temp);
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 6);
+ msleep(dw_lenth/256);
+
+ for(i = 0;i < 100;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 2);
+
+ if (0xF0==reg_val[0] && 0x55==reg_val[1])
+ {
+ break;
+ }
+ msleep(1);
+
+ }
+ //----------------------------------------------------------------------
+ if (dw_lenth > LEN_FLASH_ECC_MAX)
+ {
+ temp = LEN_FLASH_ECC_MAX;//??? 0x1000+LEN_FLASH_ECC_MAX
+ auc_i2c_write_buf[0] = 0x65;
+ auc_i2c_write_buf[1] = (u8)(temp >> 16);
+ auc_i2c_write_buf[2] = (u8)(temp >> 8);
+ auc_i2c_write_buf[3] = (u8)(temp);
+ temp = dw_lenth-LEN_FLASH_ECC_MAX;
+ auc_i2c_write_buf[4] = (u8)(temp >> 8);
+ auc_i2c_write_buf[5] = (u8)(temp);
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 6);
+
+ msleep(dw_lenth/256);
+
+ for(i = 0;i < 100;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ reg_val[0] = reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 2);
+
+ if (0xF0==reg_val[0] && 0x55==reg_val[1])
+ {
+ break;
+ }
+ msleep(1);
+
+ }
+ }
+ auc_i2c_write_buf[0] = 0x66;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 1);
+ if (reg_val[0] != bt_ecc)
+ {
+ dev_err(&client->dev, "[FTS]--ecc error! FW=%02x bt_ecc=%02x\n",
+ reg_val[0],
+ bt_ecc);
+
+ return -EIO;
+ }
+ FTS_DBG("checksum %X %X \n",reg_val[0],bt_ecc);
+ /*********Step 7: reset the new FW***********************/
+ FTS_DBG("Step 7: reset the new FW\n");
+ auc_i2c_write_buf[0] = 0x07;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(200); //make sure CTP startup normally
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_3x27_ctpm_fw_upgrade
+* Brief: fw upgrade
+* Input: i2c info, file buf, file len
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_3x07_ctpm_fw_upgrade(struct i2c_client *client, u8 *pbt_buf, u32 dw_lenth)
+{
+ u8 reg_val[2] = {0};
+ u32 i = 0;
+ u32 packet_number;
+ u32 j;
+ u32 temp;
+ u32 lenght;
+ u32 fw_length;
+ u8 packet_buf[FTS_PACKET_LENGTH + 6];
+ u8 auc_i2c_write_buf[10];
+ u8 bt_ecc;
+
+ if(pbt_buf[0] != 0x02)
+ {
+ FTS_DBG("[FTS] FW first byte is not 0x02. so it is invalid \n");
+ return -1;
+ }
+
+ if(dw_lenth > 0x11f)
+ {
+ fw_length = ((u32)pbt_buf[0x100]<<8) + pbt_buf[0x101];
+ if(dw_lenth < fw_length)
+ {
+ FTS_DBG("[FTS] Fw length is invalid \n");
+ return -1;
+ }
+ }
+ else
+ {
+ FTS_DBG("[FTS] Fw length is invalid \n");
+ return -1;
+ }
+
+ for (i = 0; i < FTS_UPGRADE_LOOP; i++)
+ {
+ /*********Step 1:Reset CTPM *****/
+ fts_write_reg(client, FTS_RST_CMD_REG2, FTS_UPGRADE_AA);
+ msleep(fts_updateinfo_curr.delay_aa);
+ fts_write_reg(client, FTS_RST_CMD_REG2, FTS_UPGRADE_55);
+ msleep(fts_updateinfo_curr.delay_55);
+ /*********Step 2:Enter upgrade mode *****/
+ auc_i2c_write_buf[0] = FTS_UPGRADE_55;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ auc_i2c_write_buf[0] = FTS_UPGRADE_AA;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(fts_updateinfo_curr.delay_readid);
+ /*********Step 3:check READ-ID***********************/
+ auc_i2c_write_buf[0] = FTS_READ_ID_REG;
+ auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = auc_i2c_write_buf[3] =0x00;
+ reg_val[0] = 0x00;
+ reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+
+
+ if (reg_val[0] == fts_updateinfo_curr.upgrade_id_1
+ && reg_val[1] == fts_updateinfo_curr.upgrade_id_2)
+ {
+ FTS_DBG("[FTS] Step 3: GET CTPM ID OK,ID1 = 0x%x,ID2 = 0x%x\n",
+ reg_val[0], reg_val[1]);
+ break;
+ }
+ else
+ {
+ dev_err(&client->dev, "[FTS] Step 3: GET CTPM ID FAIL,ID1 = 0x%x,ID2 = 0x%x\n",
+ reg_val[0], reg_val[1]);
+ }
+ }
+ if (i >= FTS_UPGRADE_LOOP)
+ return -EIO;
+
+ auc_i2c_write_buf[0] = FTS_READ_ID_REG;
+ auc_i2c_write_buf[1] = 0x00;
+ auc_i2c_write_buf[2] = 0x00;
+ auc_i2c_write_buf[3] = 0x00;
+ auc_i2c_write_buf[4] = 0x00;
+ fts_i2c_write(client, auc_i2c_write_buf, 5);
+
+ /*Step 4:erase app and panel paramenter area*/
+ FTS_DBG("Step 4:erase app and panel paramenter area\n");
+ auc_i2c_write_buf[0] = FTS_ERASE_APP_REG;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(fts_updateinfo_curr.delay_erase_flash);
+
+ for(i = 0;i < 200;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ auc_i2c_write_buf[1] = 0x00;
+ auc_i2c_write_buf[2] = 0x00;
+ auc_i2c_write_buf[3] = 0x00;
+ reg_val[0] = 0x00;
+ reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+ if(0xb0 == reg_val[0] && 0x02 == reg_val[1])
+ {
+ FTS_DBG("[FTS] erase app finished \n");
+ break;
+ }
+ msleep(50);
+ }
+
+ /*********Step 5:write firmware(FW) to ctpm flash*********/
+ bt_ecc = 0;
+ FTS_DBG("Step 5:write firmware(FW) to ctpm flash\n");
+
+ dw_lenth = fw_length;
+ packet_number = (dw_lenth) / FTS_PACKET_LENGTH;
+ packet_buf[0] = FTS_FW_WRITE_CMD;
+ packet_buf[1] = 0x00;
+
+ for (j = 0; j < packet_number; j++)
+ {
+ temp = j * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ lenght = FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (lenght >> 8);
+ packet_buf[5] = (u8) lenght;
+
+ for (i = 0; i < FTS_PACKET_LENGTH; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[j * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+
+ fts_i2c_write(client, packet_buf, FTS_PACKET_LENGTH + 6);
+
+ for(i = 0;i < 30;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ auc_i2c_write_buf[1] = 0x00;
+ auc_i2c_write_buf[2] = 0x00;
+ auc_i2c_write_buf[3] = 0x00;
+ reg_val[0] = 0x00;
+ reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+ if(0xb0 == (reg_val[0] & 0xf0) && (0x03 + (j % 0x0ffd)) == (((reg_val[0] & 0x0f) << 8) |reg_val[1]))
+ {
+ FTS_DBG("[FTS] write a block data finished \n");
+ break;
+ }
+ msleep(1);
+ }
+ }
+
+ if ((dw_lenth) % FTS_PACKET_LENGTH > 0)
+ {
+ temp = packet_number * FTS_PACKET_LENGTH;
+ packet_buf[2] = (u8) (temp >> 8);
+ packet_buf[3] = (u8) temp;
+ temp = (dw_lenth) % FTS_PACKET_LENGTH;
+ packet_buf[4] = (u8) (temp >> 8);
+ packet_buf[5] = (u8) temp;
+
+ for (i = 0; i < temp; i++)
+ {
+ packet_buf[6 + i] = pbt_buf[packet_number * FTS_PACKET_LENGTH + i];
+ bt_ecc ^= packet_buf[6 + i];
+ }
+ fts_i2c_write(client, packet_buf, temp + 6);
+ for(i = 0;i < 30;i++)
+ {
+ auc_i2c_write_buf[0] = 0x6a;
+ auc_i2c_write_buf[1] = 0x00;
+ auc_i2c_write_buf[2] = 0x00;
+ auc_i2c_write_buf[3] = 0x00;
+ reg_val[0] = 0x00;
+ reg_val[1] = 0x00;
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+ if(0xb0 == (reg_val[0] & 0xf0) && (0x03 + (j % 0x0ffd)) == (((reg_val[0] & 0x0f) << 8) |reg_val[1]))
+ {
+ FTS_DBG("[FTS] write a block data finished \n");
+ break;
+ }
+ msleep(1);
+ }
+ }
+
+
+ /*********Step 6: read out checksum***********************/
+ FTS_DBG("Step 6: read out checksum\n");
+ auc_i2c_write_buf[0] = FTS_REG_ECC;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 1);
+ if (reg_val[0] != bt_ecc)
+ {
+ dev_err(&client->dev, "[FTS]--ecc error! FW=%02x bt_ecc=%02x\n",
+ reg_val[0],
+ bt_ecc);
+ return -EIO;
+ }
+
+ /*********Step 7: reset the new FW***********************/
+ FTS_DBG("Step 7: reset the new FW\n");
+ auc_i2c_write_buf[0] = 0x07;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(300);
+
+ return 0;
+}
+
+/*
+*note:the firmware default path is sdcard.
+ if you want to change the dir, please modify by yourself.
+*/
+/************************************************************************
+* Name: fts_GetFirmwareSize
+* Brief: get file size
+* Input: file name
+* Output: no
+* Return: file size
+***********************************************************************/
+static int fts_GetFirmwareSize(char *firmware_name)
+{
+ struct file *pfile = NULL;
+ struct inode *inode;
+ unsigned long magic;
+ off_t fsize = 0;
+ char filepath[128];
+
+ memset(filepath, 0, sizeof(filepath));
+ sprintf(filepath, "%s%s", FTXXXX_INI_FILEPATH_CONFIG, firmware_name);
+ if (NULL == pfile)
+ {
+ pfile = filp_open(filepath, O_RDONLY, 0);
+ }
+ if (IS_ERR(pfile))
+ {
+ pr_err("error occured while opening file %s.\n", filepath);
+ return -EIO;
+ }
+ inode = pfile->f_dentry->d_inode;
+ magic = inode->i_sb->s_magic;
+ fsize = inode->i_size;
+ filp_close(pfile, NULL);
+ return fsize;
+}
+
+/************************************************************************
+* Name: fts_ReadFirmware
+* Brief: read firmware buf for .bin file.
+* Input: file name, data buf
+* Output: data buf
+* Return: 0
+***********************************************************************/
+/*
+note:the firmware default path is sdcard.
+ if you want to change the dir, please modify by yourself.
+*/
+static int fts_ReadFirmware(char *firmware_name,unsigned char *firmware_buf)
+{
+ struct file *pfile = NULL;
+ struct inode *inode;
+ unsigned long magic;
+ off_t fsize;
+ char filepath[128];
+ loff_t pos;
+ mm_segment_t old_fs;
+
+ memset(filepath, 0, sizeof(filepath));
+ sprintf(filepath, "%s%s", FTXXXX_INI_FILEPATH_CONFIG, firmware_name);
+ if (NULL == pfile)
+ {
+ pfile = filp_open(filepath, O_RDONLY, 0);
+ }
+ if (IS_ERR(pfile))
+ {
+ pr_err("error occured while opening file %s.\n", filepath);
+ return -EIO;
+ }
+ inode = pfile->f_dentry->d_inode;
+ magic = inode->i_sb->s_magic;
+ fsize = inode->i_size;
+ old_fs = get_fs();
+ set_fs(KERNEL_DS);
+ pos = 0;
+ vfs_read(pfile, firmware_buf, fsize, &pos);
+ filp_close(pfile, NULL);
+ set_fs(old_fs);
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_ctpm_fw_upgrade_with_app_file
+* Brief: upgrade with *.bin file
+* Input: i2c info, file name
+* Output: no
+* Return: success =0
+***********************************************************************/
+int fts_ctpm_fw_upgrade_with_app_file(struct i2c_client *client, char *firmware_name)
+{
+ u8 *pbt_buf = NULL;
+ int i_ret=0;
+ int fwsize = fts_GetFirmwareSize(firmware_name);
+ if (fwsize <= 0)
+ {
+ dev_err(&client->dev, "%s ERROR:Get firmware size failed\n",__func__);
+ return -EIO;
+ }
+
+ dev_err(&client->dev, "dean tag CHIP_ID : 0x%x\n", fts_updateinfo_curr.CHIP_ID);
+ /*=========FW upgrade========================*/
+ pbt_buf = (unsigned char *)kmalloc(fwsize + 1, GFP_ATOMIC);
+ if (fts_ReadFirmware(firmware_name, pbt_buf))
+ {
+ dev_err(&client->dev, "%s() - ERROR: request_firmware failed\n",__func__);
+ kfree(pbt_buf);
+ return -EIO;
+ }
+
+ i_ret = fts_ft6336gu_upgrade(client, pbt_buf, fwsize);
+
+ if (i_ret != 0)
+ dev_err(&client->dev, "%s() - ERROR:[FTS] upgrade failed..\n", __func__);
+ else if (fts_updateinfo_curr.AUTO_CLB==AUTO_CLB_NEED)
+ fts_ctpm_auto_clb(client);
+
+ kfree(pbt_buf);
+
+ return i_ret;
+}
+/************************************************************************
+* Name: fts_ctpm_get_i_file_ver
+* Brief: get .i file version
+* Input: no
+* Output: no
+* Return: fw version
+***********************************************************************/
+int fts_ctpm_get_i_file_ver(void)
+{
+ u16 ui_sz;
+ ui_sz = sizeof(CTPM_FW);
+ if (ui_sz > 2)
+ {
+ if(fts_updateinfo_curr.CHIP_ID==0x36 || fts_updateinfo_curr.CHIP_ID==0x86 || fts_updateinfo_curr.CHIP_ID==0x64)
+ return CTPM_FW[0x10a];
+ else if(fts_updateinfo_curr.CHIP_ID==0x58)
+ return CTPM_FW[0x1D0A];
+ else
+ return CTPM_FW[ui_sz - 2];
+ }
+
+ return 0x00;
+}
+
+int fts_ctpm_get_i_file_ver_for_cci(void)
+{
+ u16 ui_sz = fw_size;
+
+ if (ui_sz > 0)
+ return CTPM_FW[0xB4EC];
+ else
+ return 0x00;
+}
+/************************************************************************
+* Name: fts_ctpm_update_project_setting
+* Brief: update project setting, only update these settings for COB project, or for some special case
+* Input: i2c info
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_ctpm_update_project_setting(struct i2c_client *client)
+{
+ u8 uc_i2c_addr;
+ u8 uc_io_voltage;
+ u8 uc_panel_factory_id;
+ u8 buf[FTS_SETTING_BUF_LEN];
+ u8 reg_val[2] = {0};
+ u8 auc_i2c_write_buf[10] = {0};
+ u8 packet_buf[FTS_SETTING_BUF_LEN + 6];
+ u32 i = 0;
+ int i_ret;
+
+ uc_i2c_addr = client->addr;
+ uc_io_voltage = 0x0;
+ uc_panel_factory_id = 0x5a;
+
+ /*Step 1:Reset CTPM*/
+ if(fts_updateinfo_curr.CHIP_ID==0x06 || fts_updateinfo_curr.CHIP_ID==0x36)
+ {
+ fts_write_reg(client, 0xbc, 0xaa);
+ }
+ else
+ {
+ fts_write_reg(client, 0xfc, 0xaa);
+ }
+ msleep(50);
+
+ /*write 0x55 to register 0xfc */
+ if(fts_updateinfo_curr.CHIP_ID==0x06 || fts_updateinfo_curr.CHIP_ID==0x36)
+ {
+ fts_write_reg(client, 0xbc, 0x55);
+ }
+ else
+ {
+ fts_write_reg(client, 0xfc, 0x55);
+ }
+ msleep(30);
+
+ /*********Step 2:Enter upgrade mode *****/
+ auc_i2c_write_buf[0] = 0x55;
+ auc_i2c_write_buf[1] = 0xaa;
+ do
+ {
+ i++;
+ i_ret = fts_i2c_write(client, auc_i2c_write_buf, 2);
+ msleep(5);
+ } while (i_ret <= 0 && i < 5);
+
+
+ /*********Step 3:check READ-ID***********************/
+ auc_i2c_write_buf[0] = 0x90;
+ auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = auc_i2c_write_buf[3] = 0x00;
+
+ fts_i2c_read(client, auc_i2c_write_buf, 4, reg_val, 2);
+
+ if (reg_val[0] == fts_updateinfo_curr.upgrade_id_1 && reg_val[1] == fts_updateinfo_curr.upgrade_id_2)
+ dev_dbg(&client->dev, "[FTS] Step 3: CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n",reg_val[0], reg_val[1]);
+ else
+ return -EIO;
+
+ auc_i2c_write_buf[0] = 0xcd;
+ fts_i2c_read(client, auc_i2c_write_buf, 1, reg_val, 1);
+ dev_dbg(&client->dev, "bootloader version = 0x%x\n", reg_val[0]);
+
+ /*--------- read current project setting ---------- */
+ /*set read start address */
+ buf[0] = 0x3;
+ buf[1] = 0x0;
+ buf[2] = 0x78;
+ buf[3] = 0x0;
+
+ fts_i2c_read(client, buf, 4, buf, FTS_SETTING_BUF_LEN);
+ dev_dbg(&client->dev, "[FTS] old setting: uc_i2c_addr = 0x%x,\
+ uc_io_voltage = %d, uc_panel_factory_id = 0x%x\n", buf[0], buf[2], buf[4]);
+
+ /*--------- Step 4:erase project setting --------------*/
+ auc_i2c_write_buf[0] = 0x63;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+ msleep(100);
+
+ /*---------- Set new settings ---------------*/
+ buf[0] = uc_i2c_addr;
+ buf[1] = ~uc_i2c_addr;
+ buf[2] = uc_io_voltage;
+ buf[3] = ~uc_io_voltage;
+ buf[4] = uc_panel_factory_id;
+ buf[5] = ~uc_panel_factory_id;
+ packet_buf[0] = 0xbf;
+ packet_buf[1] = 0x00;
+ packet_buf[2] = 0x78;
+ packet_buf[3] = 0x0;
+ packet_buf[4] = 0;
+ packet_buf[5] = FTS_SETTING_BUF_LEN;
+
+ for (i = 0; i < FTS_SETTING_BUF_LEN; i++)
+ packet_buf[6 + i] = buf[i];
+
+ fts_i2c_write(client, packet_buf, FTS_SETTING_BUF_LEN + 6);
+ msleep(100);
+
+ /********* reset the new FW***********************/
+ auc_i2c_write_buf[0] = 0x07;
+ fts_i2c_write(client, auc_i2c_write_buf, 1);
+
+ msleep(200);
+ return 0;
+}
+/************************************************************************
+* Name: fts_ctpm_fw_upgrade_with_i_file
+* Brief: upgrade with *.i file
+* Input: i2c info
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_ctpm_fw_upgrade_with_i_file(struct i2c_client *client)
+{
+ u8 *pbt_buf = NULL;
+ int i_ret=0;
+ int fw_len = sizeof(CTPM_FW);
+
+ /*judge the fw that will be upgraded
+ * if illegal, then stop upgrade and return.
+ */
+ if ((fts_updateinfo_curr.CHIP_ID==0x11) ||(fts_updateinfo_curr.CHIP_ID==0x12) ||(fts_updateinfo_curr.CHIP_ID==0x13) ||(fts_updateinfo_curr.CHIP_ID==0x14)
+ ||(fts_updateinfo_curr.CHIP_ID==0x55) ||(fts_updateinfo_curr.CHIP_ID==0x06) ||(fts_updateinfo_curr.CHIP_ID==0x0a) ||(fts_updateinfo_curr.CHIP_ID==0x08))
+ {
+ if (fw_len < 8 || fw_len > 32 * 1024)
+ {
+ dev_err(&client->dev, "%s:FW length error\n", __func__);
+ return -EIO;
+ }
+
+ if ((CTPM_FW[fw_len - 8] ^ CTPM_FW[fw_len - 6]) == 0xFF
+ && (CTPM_FW[fw_len - 7] ^ CTPM_FW[fw_len - 5]) == 0xFF
+ && (CTPM_FW[fw_len - 3] ^ CTPM_FW[fw_len - 4]) == 0xFF)
+ {
+ /*FW upgrade */
+ pbt_buf = CTPM_FW;
+ /*call the upgrade function */
+ if ((fts_updateinfo_curr.CHIP_ID==0x55) ||(fts_updateinfo_curr.CHIP_ID==0x08) ||(fts_updateinfo_curr.CHIP_ID==0x0a))
+ {
+ i_ret = fts_5x06_ctpm_fw_upgrade(client, pbt_buf, sizeof(CTPM_FW));
+ }
+ else if ((fts_updateinfo_curr.CHIP_ID==0x11) ||(fts_updateinfo_curr.CHIP_ID==0x12) ||(fts_updateinfo_curr.CHIP_ID==0x13) ||(fts_updateinfo_curr.CHIP_ID==0x14))
+ {
+ i_ret = fts_5x36_ctpm_fw_upgrade(client, pbt_buf, sizeof(CTPM_FW));
+ }
+ else if ((fts_updateinfo_curr.CHIP_ID==0x06))
+ {
+ i_ret = fts_6x06_ctpm_fw_upgrade(client, pbt_buf, sizeof(CTPM_FW));
+ }
+ if (i_ret != 0)
+ dev_err(&client->dev, "%s:upgrade failed. err.\n",__func__);
+ else if (fts_updateinfo_curr.AUTO_CLB==AUTO_CLB_NEED)
+ {
+ fts_ctpm_auto_clb(client);
+ }
+ }
+ else
+ {
+ dev_err(&client->dev, "%s:FW format error\n", __func__);
+ return -EBADFD;
+ }
+ }
+ else if ((fts_updateinfo_curr.CHIP_ID==0x36))
+ {
+ if (fw_len < 8 || fw_len > 32 * 1024)
+ {
+ dev_err(&client->dev, "%s:FW length error\n", __func__);
+ return -EIO;
+ }
+ pbt_buf = CTPM_FW;
+ i_ret = fts_6x36_ctpm_fw_upgrade(client, pbt_buf, sizeof(CTPM_FW));
+ if (i_ret != 0)
+ dev_err(&client->dev, "%s:upgrade failed. err.\n",__func__);
+ }
+ else if ((fts_updateinfo_curr.CHIP_ID==0x64))
+ {
+ pbt_buf = CTPM_FW;
+ i_ret = fts_ft6336gu_upgrade(client, pbt_buf, sizeof(CTPM_FW));
+ if (i_ret != 0)
+ dev_err(&client->dev, "%s:upgrade failed. err.\n",__func__);
+ }
+ else if ((fts_updateinfo_curr.CHIP_ID==0x54))
+ {
+ if (fw_len < 8 || fw_len > 54 * 1024)
+ {
+ pr_err("FW length error\n");
+ return -EIO;
+ }
+ /*FW upgrade*/
+ pbt_buf = CTPM_FW;
+ /*call the upgrade function*/
+ i_ret = fts_5x46_ctpm_fw_upgrade(client, pbt_buf, sizeof(CTPM_FW));
+ if (i_ret != 0)
+ {
+ dev_err(&client->dev, "[FTS] upgrade failed. err=%d.\n", i_ret);
+ }
+ else
+ {
+ #ifdef AUTO_CLB
+ fts_ctpm_auto_clb(client); /*start auto CLB*/
+ #endif
+ }
+ }
+ else if ((fts_updateinfo_curr.CHIP_ID==0x58))
+ {
+ if (fw_len < 8 || fw_len > 54*1024)
+ {
+ pr_err("FW length error\n");
+ return -EIO;
+ }
+
+ /*FW upgrade*/
+ pbt_buf = CTPM_FW;
+ /*call the upgrade function*/
+ i_ret = fts_5822_ctpm_fw_upgrade(client, pbt_buf, sizeof(CTPM_FW));
+ if (i_ret != 0)
+ {
+ dev_err(&client->dev, "[FTS] upgrade failed. err=%d.\n", i_ret);
+ }
+ else
+ {
+ #ifdef AUTO_CLB
+ fts_ctpm_auto_clb(client); /*start auto CLB*/
+ #endif
+ }
+ }
+ else if ((fts_updateinfo_curr.CHIP_ID==0x59))
+ {
+ if (fw_len < 8 || fw_len > 54*1024)
+ {
+ pr_err("FW length error\n");
+ return -EIO;
+ }
+
+ /*FW upgrade*/
+ pbt_buf = CTPM_FW;
+ /*call the upgrade function*/
+ i_ret = fts_5x26_ctpm_fw_upgrade(client, pbt_buf, sizeof(CTPM_FW));
+ if (i_ret != 0)
+ {
+ dev_err(&client->dev, "[FTS] upgrade failed. err=%d.\n", i_ret);
+ }
+ else
+ {
+ #ifdef AUTO_CLB
+ fts_ctpm_auto_clb(client); /*start auto CLB*/
+ #endif
+ }
+ }
+ else if ((fts_updateinfo_curr.CHIP_ID==0x0e))
+ {
+ if (fw_len < 8 || fw_len > 32 * 1024)
+ {
+ dev_err(&client->dev, "%s:FW length error\n", __func__);
+ return -EIO;
+ }
+ pbt_buf = CTPM_FW;
+ i_ret = fts_3x07_ctpm_fw_upgrade(client, pbt_buf, sizeof(CTPM_FW));
+ if (i_ret != 0)
+ dev_err(&client->dev, "%s:upgrade failed. err.\n",__func__);
+ }
+ else if ((fts_updateinfo_curr.CHIP_ID==0x86))
+ {
+ /*FW upgrade*/
+ pbt_buf = CTPM_FW;
+
+ dev_err(&client->dev, "%s:upgrade failed. err, chip is 3027\n",__func__);
+ return -EIO;
+ /*call the upgrade function*/
+ //i_ret = fts_8606_writepram(client, aucFW_PRAM_BOOT, sizeof(aucFW_PRAM_BOOT));
+
+ if (i_ret != 0)
+ {
+ dev_err(&client->dev, "%s:upgrade failed. err.\n",__func__);
+ return -EIO;
+ }
+
+ i_ret = fts_8606_ctpm_fw_upgrade(client, pbt_buf, sizeof(CTPM_FW));
+
+ if (i_ret != 0)
+ {
+ dev_err(&client->dev, "[FTS] upgrade failed. err=%d.\n", i_ret);
+ }
+ else
+ {
+ #ifdef AUTO_CLB
+ fts_ctpm_auto_clb(client); /*start auto CLB*/
+ #endif
+ }
+ }
+ return i_ret;
+}
+
+int fts_ctpm_fw_upgrade_with_i_file_for_cci_3207(struct i2c_client *client)
+{
+ int i_ret= -1;
+
+ /*judge the fw that will be upgraded
+ * if illegal, then stop upgrade and return.
+ */
+
+ i_ret = fts_ft6336gu_upgrade(client, CTPM_FW, fw_size);
+ if (i_ret != 0)
+ dev_err(&client->dev, "%s:upgrade failed. err.\n",__func__);
+
+ return i_ret;
+}
+/************************************************************************
+* Name: fts_ctpm_auto_upgrade
+* Brief: auto upgrade
+* Input: i2c info
+* Output: no
+* Return: 0
+***********************************************************************/
+int fts_ctpm_auto_upgrade(struct i2c_client *client)
+{
+ u8 uc_host_fm_ver = FTS_REG_FW_VER;
+ u8 uc_tp_fm_ver;
+ int i_ret;
+
+ fts_read_reg(client, FTS_REG_FW_VER, &uc_tp_fm_ver);
+ uc_host_fm_ver = fts_ctpm_get_i_file_ver();
+ FTS_DBG("[FTS] uc_tp_fm_ver = 0x%x, uc_host_fm_ver = 0x%x\n",uc_tp_fm_ver, uc_host_fm_ver);
+
+ if (uc_tp_fm_ver == FTS_REG_FW_VER || uc_tp_fm_ver < uc_host_fm_ver )
+ {
+ msleep(100);
+ i_ret = fts_ctpm_fw_upgrade_with_i_file(client);
+ if (i_ret == 0)
+ {
+ msleep(300);
+ uc_host_fm_ver = fts_ctpm_get_i_file_ver();
+ FTS_DBG("[FTS] upgrade to new version 0x%x\n",uc_host_fm_ver);
+ }
+ else
+ {
+ pr_err("[FTS] upgrade failed ret=%d.\n", i_ret);
+ return -EIO;
+ }
+ } else {
+ FTS_DBG("[FTS] version is newest, no need upgrade FW\n");
+ }
+ return 0;
+}
+
+/************************************************************************
+* Name: fts_ctpm_auto_upgrade_for_cci
+* Brief: auto upgrade
+* Input: i2c info
+* Output: no
+* Return: 0
+***********************************************************************/
+int fts_ctpm_auto_upgrade_for_cci(struct i2c_client *client, const u8 tp_id, bool force_upgrade)
+{
+ u8 uc_host_fm_ver = FTS_REG_FW_VER;
+ u8 uc_tp_fm_ver;
+ int i_ret;
+ struct fts_ts_data *fts_data = (struct fts_ts_data *)i2c_get_clientdata(client);
+
+ switch (tp_id) {
+ case 0:
+ case TP_ID_0:
+ CTPM_FW = CTPM_FW_TP_ID_0;
+ fw_size = sizeof(CTPM_FW_TP_ID_0);
+ break;
+ case TP_ID_1:
+ CTPM_FW = CTPM_FW_TP_ID_1;
+ fw_size = sizeof(CTPM_FW_TP_ID_1);
+ break;
+ case TP_ID_2:
+ CTPM_FW = CTPM_FW_TP_ID_2;
+ fw_size = sizeof(CTPM_FW_TP_ID_2);
+ break;
+ case TP_ID_3:
+ CTPM_FW = CTPM_FW_TP_ID_3;
+ fw_size = sizeof(CTPM_FW_TP_ID_3);
+ break;
+ default:
+ FTS_DBG("[FTS] TP ID 0x%x isn't correct\n", tp_id);
+ return 1;
+ break;
+ }
+
+ uc_tp_fm_ver = fts_data->fw_ver[0];
+ uc_host_fm_ver = fts_ctpm_get_i_file_ver_for_cci();
+ FTS_DBG("[FTS] uc_tp_fm_ver = 0x%x, uc_host_fm_ver = 0x%x\n",uc_tp_fm_ver, uc_host_fm_ver);
+
+ if ( uc_tp_fm_ver != uc_host_fm_ver || force_upgrade)
+ {
+ msleep(100);
+ i_ret = fts_ctpm_fw_upgrade_with_i_file_for_cci_3207(client);
+ if (i_ret == 0)
+ {
+ msleep(300);
+ FTS_DBG("[FTS] upgrade to new version 0x%x\n",uc_host_fm_ver);
+ }
+ else
+ {
+ pr_err("[FTS] upgrade failed ret=%d.\n", i_ret);
+ return -EIO;
+ }
+ } else {
+ FTS_DBG("[FTS] version is newest, no need upgrade FW\n");
+ return 1;
+ }
+ return 0;
+}
diff --git a/drivers/input/touchscreen/focaltech_3267/focaltech_gesture.c b/drivers/input/touchscreen/focaltech_3267/focaltech_gesture.c
new file mode 100644
index 0000000..5fb67cb
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3267/focaltech_gesture.c
@@ -0,0 +1,314 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+/*******************************************************************************
+* 1.Included header files
+*******************************************************************************/
+#include "focaltech_core.h"
+
+/*******************************************************************************
+* Private constant and macro definitions using #define
+*******************************************************************************/
+#define KEY_GESTURE_U KEY_U
+#define KEY_GESTURE_UP KEY_UP
+#define KEY_GESTURE_DOWN KEY_DOWN
+#define KEY_GESTURE_LEFT KEY_LEFT
+#define KEY_GESTURE_RIGHT KEY_RIGHT
+#define KEY_GESTURE_O KEY_O
+#define KEY_GESTURE_E KEY_E
+#define KEY_GESTURE_M KEY_M
+#define KEY_GESTURE_L KEY_L
+#define KEY_GESTURE_W KEY_W
+#define KEY_GESTURE_S KEY_S
+#define KEY_GESTURE_V KEY_V
+#define KEY_GESTURE_Z KEY_Z
+
+#define GESTURE_LEFT 0x20
+#define GESTURE_RIGHT 0x21
+#define GESTURE_UP 0x22
+#define GESTURE_DOWN 0x23
+#define GESTURE_DOUBLECLICK 0x24
+#define GESTURE_O 0x30
+#define GESTURE_W 0x31
+#define GESTURE_M 0x32
+#define GESTURE_E 0x33
+#define GESTURE_L 0x44
+#define GESTURE_S 0x46
+#define GESTURE_V 0x54
+#define GESTURE_Z 0x41
+#define FTS_GESTRUE_POINTS 255
+#define FTS_GESTRUE_POINTS_ONETIME 62
+#define FTS_GESTRUE_POINTS_HEADER 8
+#define FTS_GESTURE_OUTPUT_ADRESS 0xD3
+#define FTS_GESTURE_OUTPUT_UNIT_LENGTH 4
+
+/*******************************************************************************
+* Private enumerations, structures and unions using typedef
+*******************************************************************************/
+
+
+/*******************************************************************************
+* Static variables
+*******************************************************************************/
+short pointnum = 0;
+unsigned short coordinate_x[150] = {0};
+unsigned short coordinate_y[150] = {0};
+
+/*******************************************************************************
+* Global variable or extern global variabls/functions
+*******************************************************************************/
+
+/*******************************************************************************
+* Static function prototypes
+*******************************************************************************/
+
+
+/*******************************************************************************
+* Name: fts_Gesture_init
+* Brief:
+* Input:
+* Output: None
+* Return: None
+*******************************************************************************/
+int fts_Gesture_init(struct input_dev *input_dev)
+{
+ input_set_capability(input_dev, EV_KEY, KEY_POWER);
+ input_set_capability(input_dev, EV_KEY, KEY_GESTURE_U);
+ input_set_capability(input_dev, EV_KEY, KEY_GESTURE_UP);
+ input_set_capability(input_dev, EV_KEY, KEY_GESTURE_DOWN);
+ input_set_capability(input_dev, EV_KEY, KEY_GESTURE_LEFT);
+ input_set_capability(input_dev, EV_KEY, KEY_GESTURE_RIGHT);
+ input_set_capability(input_dev, EV_KEY, KEY_GESTURE_O);
+ input_set_capability(input_dev, EV_KEY, KEY_GESTURE_E);
+ input_set_capability(input_dev, EV_KEY, KEY_GESTURE_M);
+ input_set_capability(input_dev, EV_KEY, KEY_GESTURE_L);
+ input_set_capability(input_dev, EV_KEY, KEY_GESTURE_W);
+ input_set_capability(input_dev, EV_KEY, KEY_GESTURE_S);
+ input_set_capability(input_dev, EV_KEY, KEY_GESTURE_V);
+ input_set_capability(input_dev, EV_KEY, KEY_GESTURE_Z);
+
+ __set_bit(KEY_GESTURE_RIGHT, input_dev->keybit);
+ __set_bit(KEY_GESTURE_LEFT, input_dev->keybit);
+ __set_bit(KEY_GESTURE_UP, input_dev->keybit);
+ __set_bit(KEY_GESTURE_DOWN, input_dev->keybit);
+ __set_bit(KEY_GESTURE_U, input_dev->keybit);
+ __set_bit(KEY_GESTURE_O, input_dev->keybit);
+ __set_bit(KEY_GESTURE_E, input_dev->keybit);
+ __set_bit(KEY_GESTURE_M, input_dev->keybit);
+ __set_bit(KEY_GESTURE_W, input_dev->keybit);
+ __set_bit(KEY_GESTURE_L, input_dev->keybit);
+ __set_bit(KEY_GESTURE_S, input_dev->keybit);
+ __set_bit(KEY_GESTURE_V, input_dev->keybit);
+ __set_bit(KEY_GESTURE_Z, input_dev->keybit);
+
+ return 0;
+}
+
+/*******************************************************************************
+* Name: fts_check_gesture
+* Brief:
+* Input:
+* Output: None
+* Return: None
+*******************************************************************************/
+static void fts_check_gesture(struct input_dev *input_dev,int gesture_id)
+{
+ switch(gesture_id)
+ {
+ case GESTURE_LEFT:
+ input_report_key(input_dev, KEY_GESTURE_LEFT, 1);
+ input_sync(input_dev);
+ input_report_key(input_dev, KEY_GESTURE_LEFT, 0);
+ input_sync(input_dev);
+ break;
+ case GESTURE_RIGHT:
+ input_report_key(input_dev, KEY_GESTURE_RIGHT, 1);
+ input_sync(input_dev);
+ input_report_key(input_dev, KEY_GESTURE_RIGHT, 0);
+ input_sync(input_dev);
+ break;
+ case GESTURE_UP:
+ input_report_key(input_dev, KEY_GESTURE_UP, 1);
+ input_sync(input_dev);
+ input_report_key(input_dev, KEY_GESTURE_UP, 0);
+ input_sync(input_dev);
+ break;
+ case GESTURE_DOWN:
+ input_report_key(input_dev, KEY_GESTURE_DOWN, 1);
+ input_sync(input_dev);
+ input_report_key(input_dev, KEY_GESTURE_DOWN, 0);
+ input_sync(input_dev);
+ break;
+ case GESTURE_DOUBLECLICK:
+ input_report_key(input_dev, KEY_GESTURE_U, 1);
+ input_sync(input_dev);
+ input_report_key(input_dev, KEY_GESTURE_U, 0);
+ input_sync(input_dev);
+ break;
+ case GESTURE_O:
+ input_report_key(input_dev, KEY_GESTURE_O, 1);
+ input_sync(input_dev);
+ input_report_key(input_dev, KEY_GESTURE_O, 0);
+ input_sync(input_dev);
+ break;
+ case GESTURE_W:
+ input_report_key(input_dev, KEY_GESTURE_W, 1);
+ input_sync(input_dev);
+ input_report_key(input_dev, KEY_GESTURE_W, 0);
+ input_sync(input_dev);
+ break;
+ case GESTURE_M:
+ input_report_key(input_dev, KEY_GESTURE_M, 1);
+ input_sync(input_dev);
+ input_report_key(input_dev, KEY_GESTURE_M, 0);
+ input_sync(input_dev);
+ break;
+ case GESTURE_E:
+ input_report_key(input_dev, KEY_GESTURE_E, 1);
+ input_sync(input_dev);
+ input_report_key(input_dev, KEY_GESTURE_E, 0);
+ input_sync(input_dev);
+ break;
+ case GESTURE_L:
+ input_report_key(input_dev, KEY_GESTURE_L, 1);
+ input_sync(input_dev);
+ input_report_key(input_dev, KEY_GESTURE_L, 0);
+ input_sync(input_dev);
+ break;
+ case GESTURE_S:
+ input_report_key(input_dev, KEY_GESTURE_S, 1);
+ input_sync(input_dev);
+ input_report_key(input_dev, KEY_GESTURE_S, 0);
+ input_sync(input_dev);
+ break;
+ case GESTURE_V:
+ input_report_key(input_dev, KEY_GESTURE_V, 1);
+ input_sync(input_dev);
+ input_report_key(input_dev, KEY_GESTURE_V, 0);
+ input_sync(input_dev);
+ break;
+ case GESTURE_Z:
+ input_report_key(input_dev, KEY_GESTURE_Z, 1);
+ input_sync(input_dev);
+ input_report_key(input_dev, KEY_GESTURE_Z, 0);
+ input_sync(input_dev);
+ break;
+ default:
+ break;
+ }
+
+}
+
+ /************************************************************************
+* Name: fts_read_Gestruedata
+* Brief: read data from TP register
+* Input: no
+* Output: no
+* Return: fail <0
+***********************************************************************/
+int fts_read_Gestruedata(void)
+{
+ unsigned char buf[FTS_GESTRUE_POINTS * 3] = { 0 };
+ int ret = -1;
+ int i = 0;
+ int gestrue_id = 0;
+
+ buf[0] = 0xd3;
+ pointnum = 0;
+
+ ret = fts_i2c_read(fts_i2c_client, buf, 1, buf, FTS_GESTRUE_POINTS_HEADER);
+
+ if (ret < 0)
+ {
+ printk( "%s read touchdata failed.\n", __func__);
+ return ret;
+ }
+
+ if (fts_updateinfo_curr.CHIP_ID==0x54 || fts_updateinfo_curr.CHIP_ID==0x58 || fts_updateinfo_curr.CHIP_ID==0x86)
+ {
+ gestrue_id = buf[0];
+ pointnum = (short)(buf[1]) & 0xff;
+ buf[0] = 0xd3;
+
+ if((pointnum * 4 + 2)<255)
+ {
+ ret = fts_i2c_read(fts_i2c_client, buf, 1, buf, (pointnum * 4 + 2));
+ }
+ else
+ {
+ ret = fts_i2c_read(fts_i2c_client, buf, 1, buf, 255);
+ ret = fts_i2c_read(fts_i2c_client, buf, 0, buf+255, (pointnum * 4 + 2) -255);
+ }
+ if (ret < 0)
+ {
+ printk( "%s read touchdata failed.\n", __func__);
+ return ret;
+ }
+
+ fts_check_gesture(fts_input_dev,gestrue_id);
+ for(i = 0;i < pointnum;i++)
+ {
+ coordinate_x[i] = (((s16) buf[2 + (4 * i)]) & 0x0F) <<
+ 8 | (((s16) buf[3 + (4 * i)])& 0xFF);
+ coordinate_y[i] = (((s16) buf[4 + (4 * i)]) & 0x0F) <<
+ 8 | (((s16) buf[5 + (4 * i)]) & 0xFF);
+ }
+ return -1;
+ }
+ return -1;
+ /*
+ else
+ {
+ if (0x24 == buf[0])
+ {
+ gestrue_id = 0x24;
+ fts_check_gesture(fts_input_dev,gestrue_id);
+ printk( "%d check_gesture gestrue_id.\n", gestrue_id);
+ return -1;
+ }
+
+ pointnum = (short)(buf[1]) & 0xff;
+ buf[0] = 0xd3;
+ if((pointnum * 4 + 8)<255)
+ {
+ ret = fts_i2c_read(fts_i2c_client, buf, 1, buf, (pointnum * 4 + 8));
+ }
+ else
+ {
+ ret = fts_i2c_read(fts_i2c_client, buf, 1, buf, 255);
+ ret = fts_i2c_read(fts_i2c_client, buf, 0, buf+255, (pointnum * 4 + 8) -255);
+ }
+ if (ret < 0)
+ {
+ printk( "%s read touchdata failed.\n", __func__);
+ return ret;
+ }
+
+ gestrue_id = fetch_object_sample(buf, pointnum);
+ fts_check_gesture(fts_input_dev,gestrue_id);
+ printk( "%d read gestrue_id.\n", gestrue_id);
+
+ for(i = 0;i < pointnum;i++)
+ {
+ coordinate_x[i] = (((s16) buf[0 + (4 * i)]) & 0x0F) <<
+ 8 | (((s16) buf[1 + (4 * i)])& 0xFF);
+ coordinate_y[i] = (((s16) buf[2 + (4 * i)]) & 0x0F) <<
+ 8 | (((s16) buf[3 + (4 * i)]) & 0xFF);
+ }
+ return -1;
+ }
+ */
+}
diff --git a/drivers/input/touchscreen/focaltech_3267/ft_gesture_lib.h b/drivers/input/touchscreen/focaltech_3267/ft_gesture_lib.h
new file mode 100644
index 0000000..d5666f3
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3267/ft_gesture_lib.h
@@ -0,0 +1,8 @@
+#ifndef __LINUX_FT_GESTURE_LIB_H__
+#define __LINUX_FT_GESTURE_LIB_H__
+
+int fetch_object_sample(unsigned char *buf,short pointnum);
+
+void init_para(int x_pixel,int y_pixel,int time_slot,int cut_x_pixel,int cut_y_pixel);
+
+#endif
diff --git a/drivers/input/touchscreen/focaltech_3267/ini.c b/drivers/input/touchscreen/focaltech_3267/ini.c
new file mode 100644
index 0000000..eddb1cc
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3267/ini.c
@@ -0,0 +1,591 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+#include <linux/string.h>
+#include <linux/kernel.h>
+#include <asm/unistd.h>
+
+#include "ini.h"
+//#include "scap_test_lib.h"
+
+char CFG_SSL = '[';
+char CFG_SSR = ']';
+char CFG_NIS = ':';
+char CFG_NTS = '#';
+char CFG_EQS = '=';
+
+ST_INI_FILE_DATA g_st_ini_file_data[MAX_KEY_NUM];
+int g_used_key_num = 0;
+
+char * ini_str_trim_r(char * buf);
+char * ini_str_trim_l(char * buf);
+static int ini_file_get_line(char *filedata, char *buffer, int maxlen);
+//static int ini_split_key_value(char *buf, char **key, char **val);
+static long atol(char *nptr);
+
+
+/*************************************************************
+Function: Àò±okeyªºÈ
+Input: char * filedata¡@¤å¥ó¡Fchar * section¡@¶µÈ¡Fchar * key¡@ÁäÈ
+Output: char * value¡@keyªºÈ
+Return: 0 SUCCESS
+ -1
+ -2
+ -10
+ -12
+ -14
+ -22
+Note:
+*************************************************************/
+int ini_get_key(char *filedata, char * section, char * key, char * value)
+{
+ int i = 0;
+ int ret = -2;
+ for(i = 0; i < g_used_key_num; i++)
+ {
+ if(strncmp(section, g_st_ini_file_data[i].pSectionName,
+ g_st_ini_file_data[i].iSectionNameLen) != 0)
+ continue;
+ //printk("Section Name:%s, Len:%d\n\n", g_st_ini_file_data[i].pSectionName, g_st_ini_file_data[i].iSectionNameLen);
+ if(strncmp(key, g_st_ini_file_data[i].pKeyName,
+ g_st_ini_file_data[i].iKeyNameLen) == 0)
+ {
+ memcpy(value, g_st_ini_file_data[i].pKeyValue, g_st_ini_file_data[i].iKeyValueLen);
+ ret = 0;
+ break;
+ }
+ }
+ return ret;
+
+#if 0
+ char buf1[MAX_CFG_BUF + 1], buf2[MAX_CFG_BUF + 1];
+ char *key_ptr, *val_ptr;
+ int n, ret;
+ int dataoff = 0;
+
+ *value='\0';
+
+ //FTS_DBG("Enter ini_get_key() \n");
+
+ //bGetParamString
+ //FTS_DBG("g_testparam.CheckIncludeKeyTest = %d \n", g_testparam.CheckIncludeKeyTest);
+ while(1) { /* ·j§ä¶µsection */
+ ret = CFG_ERR_READ_FILE;
+ n = ini_file_get_line(filedata+dataoff, buf1, MAX_CFG_BUF);
+ dataoff += n;
+ if(n < -1)
+ goto r_cfg_end;
+ ret = CFG_SECTION_NOT_FOUND;
+ if(n < 0)
+ goto r_cfg_end; /* ¤å¥ó§À¡A¥¼µo²{ */
+
+ if(n > MAX_CFG_BUF)
+ goto r_cfg_end;
+
+ n = strlen(ini_str_trim_l(ini_str_trim_r(buf1)));
+ if(n == 0 || buf1[0] == CFG_NTS)
+ continue; /* ªÅ¦æ ©Î µùÄÀ¦æ */
+
+ ret = CFG_ERR_FILE_FORMAT;
+ if(n > 2 && ((buf1[0] == CFG_SSL && buf1[n-1] != CFG_SSR)))
+ goto r_cfg_end;
+ if(buf1[0] == CFG_SSL) {
+ buf1[n-1] = 0x00;
+ if(strcmp(buf1+1, section) == 0)
+ {
+ break; /* §ä¨ì¶µsection */
+ }
+ }
+ }
+ //FTS_DBG("section = %s \n",section);
+
+ while(1){ /* ·j§äkey */
+ ret = CFG_ERR_READ_FILE;
+ n = ini_file_get_line(filedata+dataoff, buf1, MAX_CFG_BUF);
+ dataoff += n;
+ if(n < -1)
+ goto r_cfg_end;
+ ret = CFG_KEY_NOT_FOUND;
+ if(n < 0)
+ goto r_cfg_end;/* ¤å¥ó§À¡A¥¼µo²{key */
+ n = strlen(ini_str_trim_l(ini_str_trim_r(buf1)));
+ if(n == 0 || buf1[0] == CFG_NTS)
+ continue; /* ªÅ¦æ ©Î µùÄÀ¦æ */
+ ret = CFG_KEY_NOT_FOUND;
+ if(buf1[0] == CFG_SSL)
+ {
+ goto r_cfg_end;
+ }
+ if(buf1[n-1] == '+') {
+ buf1[n-1] = 0x00;
+ while(1) {
+ ret = CFG_ERR_READ_FILE;
+ n = ini_file_get_line(filedata+dataoff, buf2, MAX_CFG_BUF);
+ dataoff += n;
+ if(n < -1)
+ goto r_cfg_end;
+ if(n < 0)
+ break;
+
+ n = strlen(ini_str_trim_r(buf2));
+ ret = CFG_ERR_EXCEED_BUF_SIZE;
+ if(n > 0 && buf2[n-1] == '+'){
+ buf2[n-1] = 0x00;
+ if( (strlen(buf1) + strlen(buf2)) > MAX_CFG_BUF)
+ goto r_cfg_end;
+ strcat(buf1, buf2);
+ continue;
+ }
+ if(strlen(buf1) + strlen(buf2) > MAX_CFG_BUF)
+ goto r_cfg_end;
+ strcat(buf1, buf2);
+ //printk("value = %s\n", buf1);
+ break;
+ }
+ }
+ ret = CFG_ERR_FILE_FORMAT;
+ if(ini_split_key_value(buf1, &key_ptr, &val_ptr) != 1)
+ goto r_cfg_end;
+
+ ini_str_trim_l(ini_str_trim_r(key_ptr));
+ if(strcmp(key_ptr, key) != 0)
+ continue; /* ©MkeyȤ£¤Ç°t */
+ strcpy(value, val_ptr);
+ break;
+ }
+ ret = CFG_OK;
+r_cfg_end:
+
+ return ret;
+#endif
+
+}
+/*************************************************************
+Function: Àò±o©Ò¦³section
+Input: char *filename¡@¤å¥ó,int max ³Ì¤j¥iªð¦^ªºsectionªºÓ¼Æ
+Output: char *sections[]¡@¦s©ñsection¦W¦r
+Return: ªð¦^sectionӼơCY¥X¿ù¡Aªð¦^t¼Æ¡C
+ -10 ¤å¥ó¥´¶}¥X¿ù
+ -12 ¤å¥óŪ¨ú¿ù»~
+ -14 ¤å¥ó®æ¦¡¿ù»~
+Note:
+*************************************************************/
+int ini_get_sections(char *filedata, unsigned char * sections[], int max)
+{
+ //FILE *fp;
+ char buf1[MAX_CFG_BUF + 1];
+ int n, n_sections = 0, ret;
+ int dataoff = 0;
+
+// if((fp = fopen(filename, "rb")) == NULL)
+// return CFG_ERR_OPEN_FILE;
+
+ while(1) {
+ ret = CFG_ERR_READ_FILE;
+ n = ini_file_get_line(filedata+dataoff, buf1, MAX_CFG_BUF);
+ dataoff += n;
+ if(n < -1)
+ goto cfg_scts_end;
+ if(n < 0)
+ break;
+ n = strlen(ini_str_trim_l(ini_str_trim_r(buf1)));
+ if(n == 0 || buf1[0] == CFG_NTS)
+ continue;
+ ret = CFG_ERR_FILE_FORMAT;
+ if(n > 2 && ((buf1[0] == CFG_SSL && buf1[n-1] != CFG_SSR)))
+ goto cfg_scts_end;
+ if(buf1[0] == CFG_SSL) {
+ if (max!=0){
+ buf1[n-1] = 0x00;
+ strcpy((char *)sections[n_sections], buf1+1);
+ if (n_sections>=max)
+ break;
+ }
+ n_sections++;
+ }
+
+ }
+ ret = n_sections;
+cfg_scts_end:
+ return ret;
+}
+
+
+/*************************************************************
+Function: ¥h°£¦r²Å¦ê¥kÃ䪺ªÅ¦r²Å
+Input: char * buf ¦r²Å¦ê«ü°w
+Output:
+Return: ¦r²Å¦ê«ü°w
+Note:
+*************************************************************/
+char * ini_str_trim_r(char * buf)
+{
+ int len,i;
+ char tmp[512];
+
+ memset(tmp, 0, sizeof(tmp));
+ len = strlen(buf);
+// tmp = (char *)malloc(len);
+
+ memset(tmp,0x00,len);
+ for(i = 0;i < len;i++) {
+ if (buf[i] !=' ')
+ break;
+ }
+ if (i < len) {
+ strncpy(tmp,(buf+i),(len-i));
+ }
+ strncpy(buf,tmp,len);
+// free(tmp);
+ return buf;
+}
+
+/*************************************************************
+Function: ¥h°£¦r²Å¦ê¥ªÃ䪺ªÅ¦r²Å
+Input: char * buf ¦r²Å¦ê«ü°w
+Output:
+Return: ¦r²Å¦ê«ü°w
+Note:
+*************************************************************/
+char * ini_str_trim_l(char * buf)
+{
+ int len,i;
+ char tmp[512];
+
+ memset(tmp, 0, sizeof(tmp));
+ len = strlen(buf);
+ memset(tmp,0x00,len);
+
+ for(i = 0;i < len;i++) {
+ if (buf[len-i-1] !=' ')
+ break;
+ }
+ if (i < len) {
+ strncpy(tmp,buf,len-i);
+ }
+ strncpy(buf,tmp,len);
+ //free(tmp);
+ return buf;
+}
+/*************************************************************
+Function: ±q¤å¥ó¤¤Åª¨ú¤@¦æ
+Input: FILE *fp ¤å¥ó¥y¬`¡Fint maxlen ½w½Ä°Ï³Ì¤jªø«×
+Output: char *buffer ¤@¦æ¦r²Å¦ê
+Return: >0 ¹ê»ÚŪªºªø«×
+ -1 ¤å¥óµ²§ô
+ -2 Ū¤å¥ó¥X¿ù
+Note:
+*************************************************************/
+static int ini_file_get_line(char *filedata, char *buffer, int maxlen)
+{
+ int i=0;
+ int j=0;
+ int iRetNum=-1;
+ char ch1='\0';
+
+ for(i=0, j=0; i<maxlen; j++) {
+ ch1 = filedata[j];
+ iRetNum = j+1;
+ if(ch1 == '\n' || ch1 == '\r') //line end
+ {
+ ch1 = filedata[j+1];
+ if(ch1 == '\n' || ch1 == '\r')
+ {
+ iRetNum++;
+ }
+
+ break; // ´«¦æ
+ }else if(ch1 == 0x00)
+ {
+ iRetNum = -1;
+ break; //file end
+ }
+ else
+ {
+ buffer[i++] = ch1;
+ }
+ }
+ buffer[i] = '\0';
+
+ return iRetNum;
+}
+/*************************************************************
+Function: ¤ÀÂ÷key©Mvalue
+ key=val
+ jack = liaoyuewang
+ | | |
+ k1 k2 i
+Input: char *buf
+Output: char **key, char **val
+Return: 1 --- ok
+ 0 --- blank line
+ -1 --- no key, "= val"
+ -2 --- only key, no '='
+Note:
+*************************************************************/
+/*static int ini_split_key_value(char *buf, char **key, char **val)
+{
+ int i, k1, k2, n;
+
+ //FTS_DBG("section = %s \n",section);
+ //FTS_DBG("Enter ini_split_key_value() \n");
+
+ if((n = strlen((char *)buf)) < 1)
+ return 0;
+ for(i = 0; i < n; i++)
+ if(buf[i] != ' ' && buf[i] != '\t')
+ break;
+
+ if(i >= n)
+ return 0;
+
+ if(buf[i] == '=')
+ return -1;
+
+ k1 = i;
+ for(i++; i < n; i++)
+ if(buf[i] == '=')
+ break;
+
+ if(i >= n)
+ return -2;
+ k2 = i;
+
+ for(i++; i < n; i++)
+ if(buf[i] != ' ' && buf[i] != '\t')
+ break;
+
+ buf[k2] = '\0';
+
+ *key = buf + k1;
+ *val = buf + i;
+ return 1;
+}*/
+
+int my_atoi(const char *str)
+{
+ int result = 0;
+ int signal = 1;
+ if((*str>='0'&&*str<='9')||*str=='-'||*str=='+') {
+ if(*str=='-'||*str=='+') {
+ if(*str=='-')
+ signal = -1; /*¿é¤Jt¼Æ*/
+ str++;
+ }
+ }
+ else
+ return 0;
+
+ while(*str>='0' && *str<='9')
+ result = result*10 + (*str++ - '0' );
+
+ return signal*result;
+}
+
+int isspace(int x)
+{
+ if(x==' '||x=='\t'||x=='\n'||x=='\f'||x=='\b'||x=='\r')
+ return 1;
+ else
+ return 0;
+}
+
+int isdigit(int x)
+{
+ if(x<='9' && x>='0')
+ return 1;
+ else
+ return 0;
+
+}
+
+static long atol(char *nptr)
+{
+ int c; /* current char */
+ long total; /* current total */
+ int sign; /* if ''-'', then negative, otherwise positive */
+ /* skip whitespace */
+ while ( isspace((int)(unsigned char)*nptr) )
+ ++nptr;
+ c = (int)(unsigned char)*nptr++;
+ sign = c; /* save sign indication */
+ if (c == '-' || c == '+')
+ c = (int)(unsigned char)*nptr++; /* skip sign */
+ total = 0;
+ while (isdigit(c)) {
+ total = 10 * total + (c - '0'); /* accumulate digit */
+ c = (int)(unsigned char)*nptr++; /* get next char */
+ }
+ if (sign == '-')
+ return -total;
+ else
+ return total; /* return result, negated if necessary */
+}
+/***
+*int atoi(char *nptr) - Convert string to long
+*
+*Purpose:
+* Converts ASCII string pointed to by nptr to binary.
+* Overflow is not detected. Because of this, we can just use
+* atol().
+*
+*Entry:
+* nptr = ptr to string to convert
+*
+*Exit:
+* return int value of the string
+*
+*Exceptions:
+* None - overflow is not detected.
+*
+*******************************************************************************/
+int atoi(char *nptr)
+{
+ return (int)atol(nptr);
+}
+
+int init_key_data(void)
+{
+ int i = 0;
+
+ g_used_key_num = 0;
+
+ for(i = 0; i < MAX_KEY_NUM; i++)
+ {
+ memset(g_st_ini_file_data[i].pSectionName, 0, MAX_KEY_NAME_LEN);
+ memset(g_st_ini_file_data[i].pKeyName, 0, MAX_KEY_NAME_LEN);
+ memset(g_st_ini_file_data[i].pKeyValue, 0, MAX_KEY_VALUE_LEN);
+ g_st_ini_file_data[i].iSectionNameLen = 0;
+ g_st_ini_file_data[i].iKeyNameLen = 0;
+ g_st_ini_file_data[i].iKeyValueLen = 0;
+ }
+ return 1;
+}
+
+/*************************************************************
+Function:Ū¨ú©Ò¦³ªº°Ñ¼Æ¤Î¨äȨ쵲ºcÅé¸Ì
+Return: ªð¦^keyӼơCY¥X¿ù¡Aªð¦^t¼Æ¡C
+ -10 ¤å¥ó¥´¶}¥X¿ù
+ -12 ¤å¥óŪ¨ú¿ù»~
+ -14 ¤å¥ó®æ¦¡¿ù»~
+Note:
+*************************************************************/
+int ini_get_key_data(char *filedata)
+{
+ //FILE *fp;
+ char buf1[MAX_CFG_BUF + 1]={0};
+ int n=0;
+ int ret=0; //n_sections = 0,
+ int dataoff = 0;
+ int iEqualSign = 0;
+ int i = 0;
+ char tmpSectionName[MAX_CFG_BUF + 1]={0};
+
+// if((fp = fopen(filename, "rb")) == NULL)
+// return CFG_ERR_OPEN_FILE;
+
+ init_key_data();/*init*/
+
+ g_used_key_num = 0;
+ while(1) {/*·j§ä¶µsection */
+ ret = CFG_ERR_READ_FILE;
+ n = ini_file_get_line(filedata+dataoff, buf1, MAX_CFG_BUF);
+
+ if(n < -1)
+ goto cfg_scts_end;
+ if(n < 0)
+ break;/* ¤å¥ó§À */
+
+ dataoff += n;
+
+ n = strlen(ini_str_trim_l(ini_str_trim_r(buf1)));
+ if(n == 0 || buf1[0] == CFG_NTS)
+ continue; /* ªÅ¦æ ©Î µùÄÀ¦æ */
+ ret = CFG_ERR_FILE_FORMAT;
+ //get section name
+ if(n > 2 && ((buf1[0] == CFG_SSL && buf1[n-1] != CFG_SSR)))
+ {
+ printk("Bad Section:%s\n\n", buf1);
+ goto cfg_scts_end;//bad section
+ }
+
+
+ if(buf1[0] == CFG_SSL) {
+ g_st_ini_file_data[g_used_key_num].iSectionNameLen = n-2;
+ if(MAX_KEY_NAME_LEN < g_st_ini_file_data[g_used_key_num].iSectionNameLen)
+ {
+ ret = CFG_ERR_OUT_OF_LEN;
+ printk("MAX_KEY_NAME_LEN: CFG_ERR_OUT_OF_LEN\n\n");
+ goto cfg_scts_end;
+ }
+
+ buf1[n-1] = 0x00;
+ strcpy((char *)tmpSectionName, buf1+1);
+ //printk("Section Name:%s, Len:%d\n\n", tmpSectionName, n-2);
+
+ continue;
+ }
+ //get section name end
+
+ strcpy( g_st_ini_file_data[g_used_key_num].pSectionName, tmpSectionName);
+ g_st_ini_file_data[g_used_key_num].iSectionNameLen = strlen(tmpSectionName);
+
+ iEqualSign = 0;
+ for(i=0; i < n; i++)
+ {
+ if(buf1[i] == CFG_EQS )
+ {
+ iEqualSign = i;
+ break;
+ }
+ }
+ if(0 == iEqualSign)
+ continue;
+ g_st_ini_file_data[g_used_key_num].iKeyNameLen = iEqualSign;
+ if(MAX_KEY_NAME_LEN < g_st_ini_file_data[g_used_key_num].iKeyNameLen)
+ {
+ ret = CFG_ERR_OUT_OF_LEN;
+ printk("MAX_KEY_NAME_LEN: CFG_ERR_OUT_OF_LEN\n\n");
+ goto cfg_scts_end;
+ }
+ memcpy(g_st_ini_file_data[g_used_key_num].pKeyName,
+ buf1, g_st_ini_file_data[g_used_key_num].iKeyNameLen);
+
+ /*µ¥¸¹«á¤@¬q½áµ¹ÁäÈ*/
+ g_st_ini_file_data[g_used_key_num].iKeyValueLen = n-iEqualSign-1;
+ if(MAX_KEY_VALUE_LEN < g_st_ini_file_data[g_used_key_num].iKeyValueLen)
+ {
+ ret = CFG_ERR_OUT_OF_LEN;
+ printk("MAX_KEY_VALUE_LEN: CFG_ERR_OUT_OF_LEN\n\n");
+ goto cfg_scts_end;
+ }
+ memcpy(g_st_ini_file_data[g_used_key_num].pKeyValue,
+ buf1+ iEqualSign+1, g_st_ini_file_data[g_used_key_num].iKeyValueLen);
+
+ ret = g_used_key_num;
+
+ g_used_key_num++;
+ if(MAX_KEY_NUM < g_used_key_num)
+ {
+ ret = CFG_ERR_TOO_MANY_KEY_NUM;
+ printk("MAX_KEY_NUM: CFG_ERR_TOO_MANY_KEY_NUM\n\n");
+ goto cfg_scts_end;
+ }
+ }
+cfg_scts_end:
+ return ret;
+}
+
diff --git a/drivers/input/touchscreen/focaltech_3267/ini.h b/drivers/input/touchscreen/focaltech_3267/ini.h
new file mode 100644
index 0000000..ae8d3ad
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3267/ini.h
@@ -0,0 +1,86 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+#ifndef INI_H
+#define INI_H
+
+#define MAX_KEY_NUM 300
+#define MAX_KEY_NAME_LEN 50
+#define MAX_KEY_VALUE_LEN 360
+
+#define MAX_CFG_BUF 480
+#define SUCCESS 0
+/* return value */
+#define CFG_OK SUCCESS
+#define CFG_SECTION_NOT_FOUND -1
+#define CFG_KEY_NOT_FOUND -2
+#define CFG_ERR -10
+
+#define CFG_ERR_OPEN_FILE -10
+#define CFG_ERR_CREATE_FILE -11
+#define CFG_ERR_READ_FILE -12
+#define CFG_ERR_WRITE_FILE -13
+#define CFG_ERR_FILE_FORMAT -14
+#define CFG_ERR_TOO_MANY_KEY_NUM -15
+#define CFG_ERR_OUT_OF_LEN -16
+
+#define CFG_ERR_EXCEED_BUF_SIZE -22
+
+#define COPYF_OK SUCCESS
+#define COPYF_ERR_OPEN_FILE -10
+#define COPYF_ERR_CREATE_FILE -11
+#define COPYF_ERR_READ_FILE -12
+#define COPYF_ERR_WRITE_FILE -13
+
+#define FOCAL_DBG
+#ifdef FOCAL_DBG
+#define FTS_DBG(fmt, args...) printk("[FTS]" fmt, ## args)
+#else
+#define FTS_DBG(fmt, args...) do{}while(0)
+#endif
+
+
+struct ini_key_location {
+ int ini_section_line_no;
+ int ini_key_line_no;
+ int ini_key_lines;
+};
+
+typedef struct _ST_INI_FILE_DATA
+{
+ char pSectionName[MAX_KEY_NAME_LEN];
+ char pKeyName[MAX_KEY_NAME_LEN];
+ char pKeyValue[MAX_KEY_VALUE_LEN];
+ int iSectionNameLen;
+ int iKeyNameLen;
+ int iKeyValueLen;
+}ST_INI_FILE_DATA;
+//extern ST_INI_FILE_DATA g_st_ini_file_data[MAX_KEY_NUM];
+//extern int g_used_key_num;
+
+int ini_get_key(char *filedata, char * section, char * key, char * value);
+int ini_get_sections(char *filedata, unsigned char * sections[], int max);
+
+int ini_split_section(char *section, char **name, char **index);
+//int ini_join_section(char **section, char *name, char *index);
+
+int atoi(char *nptr);
+char * ini_str_trim_r(char * buf);
+char * ini_str_trim_l(char * buf);
+
+int init_key_data(void);
+int ini_get_key_data(char *filedata);
+#endif
diff --git a/drivers/input/touchscreen/focaltech_3267/test_lib.c b/drivers/input/touchscreen/focaltech_3267/test_lib.c
new file mode 100644
index 0000000..c07ada8
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3267/test_lib.c
@@ -0,0 +1,206 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+#include <linux/kernel.h>
+#include <linux/string.h>
+#include <linux/time.h>
+#include <linux/slab.h>
+
+#include "test_lib.h"
+#include "Global.h"
+
+#include "Config_FT6X36.h"
+#include "Test_FT6X36.h"
+
+#include "ini.h"
+
+#define FTS_DRIVER_LIB_INFO "Test_Lib_Version V1.3.0 2015-10-10"
+
+FTS_I2C_READ_FUNCTION fts_i2c_read_test;
+FTS_I2C_WRITE_FUNCTION fts_i2c_write_test;
+
+char *g_testparamstring = NULL;
+
+/////////////////////IIC communication
+int init_i2c_read_func(FTS_I2C_READ_FUNCTION fpI2C_Read)
+{
+ fts_i2c_read_test = fpI2C_Read;
+ return 0;
+}
+
+int init_i2c_write_func(FTS_I2C_WRITE_FUNCTION fpI2C_Write)
+{
+ fts_i2c_write_test = fpI2C_Write;
+ return 0;
+}
+
+/************************************************************************
+* Name: set_param_data
+* Brief: load Config. Set IC series, init test items, init basic threshold, int detailThreshold, and set order of test items
+* Input: TestParamData, from ini file.
+* Output: none
+* Return: 0. No sense, just according to the old format.
+***********************************************************************/
+int set_param_data(char * TestParamData)
+{
+ //int time_use = 0;//ms
+ //struct timeval time_start;
+ //struct timeval time_end;
+
+ //gettimeofday(&time_start, NULL);//Start time
+
+ printk("[fts]Enter set_param_data \n");
+ g_testparamstring = TestParamData;//get param of ini file
+ ini_get_key_data(g_testparamstring);//get param to struct
+
+ //Set g_ScreenSetParam.iSelectedIC
+ OnInit_InterfaceCfg(g_testparamstring);
+
+ /*Get IC Name*/
+ get_ic_name(g_ScreenSetParam.iSelectedIC, g_strIcName);
+
+#if 1 //TODO checking: GC change here code.
+ //TODO: checking FT6X36 testing function is same with FT3x27
+ if(IC_FT6X36>>4 == g_ScreenSetParam.iSelectedIC>>4)
+ {
+ OnInit_FT6X36_TestItem(g_testparamstring);
+ OnInit_FT6X36_BasicThreshold(g_testparamstring);
+ OnInit_SCap_DetailThreshold(g_testparamstring);
+ SetTestItem_FT6X36();
+ }
+ else
+ {
+ printk("[fts]%s The IC type error in this testing\n", __func__);
+ return -1;
+ }
+
+#else
+ if(IC_FT5X46>>4 == g_ScreenSetParam.iSelectedIC>>4)
+ {
+ OnInit_FT5X22_TestItem(g_testparamstring);
+ OnInit_FT5X22_BasicThreshold(g_testparamstring);
+ OnInit_MCap_DetailThreshold(g_testparamstring);
+ SetTestItem_FT5X22();
+ }
+ else if(IC_FT8606>>4 == g_ScreenSetParam.iSelectedIC>>4)
+ {
+ OnInit_FT8606_TestItem(g_testparamstring);
+ OnInit_FT8606_BasicThreshold(g_testparamstring);
+ OnInit_MCap_DetailThreshold(g_testparamstring);
+ SetTestItem_FT8606();
+ }
+ else if(IC_FT5822>>4 == g_ScreenSetParam.iSelectedIC>>4)
+ {
+ OnInit_FT5822_TestItem(g_testparamstring);
+ OnInit_FT5822_BasicThreshold(g_testparamstring);
+ OnInit_MCap_DetailThreshold(g_testparamstring);
+ SetTestItem_FT5822();
+ }
+ else if(IC_FT6X36>>4 == g_ScreenSetParam.iSelectedIC>>4)
+ {
+ OnInit_FT6X36_TestItem(g_testparamstring);
+ OnInit_FT6X36_BasicThreshold(g_testparamstring);
+ OnInit_SCap_DetailThreshold(g_testparamstring);
+ SetTestItem_FT6X36();
+ }
+#endif
+ return 0;
+}
+
+/************************************************************************
+* Name: start_test_tp
+* Brief: Test entry. Select test items based on IC series
+* Input: none
+* Output: none
+* Return: Test Result, PASS or FAIL
+***********************************************************************/
+
+boolean start_test_tp(void)
+{
+ boolean bTestResult = false;
+ printk("[fts] %s \n", FTS_DRIVER_LIB_INFO); //show lib version
+ printk("[fts] %s start \n", __func__);
+ printk("[fts] IC_%s Test\n", g_strIcName);
+
+ switch(g_ScreenSetParam.iSelectedIC>>4)
+ {
+ //TODO: need checking FT6x36 testing function is same with FT3x27
+ case IC_FT6X36>>4:
+ bTestResult = FT6X36_StartTest();
+ break;
+ default:
+ printk("[fts] Error IC, IC Name: %s, IC Code: %d\n", g_strIcName, g_ScreenSetParam.iSelectedIC);
+ break;
+ }
+
+
+ return bTestResult;
+}
+/************************************************************************
+* Name: get_test_data
+* Brief: Get test data based on IC series
+* Input: none
+* Output: pTestData, External application for memory, buff size >= 1024*8
+* Return: the length of test data. if length > 0, got data;else ERR.
+***********************************************************************/
+int get_test_data(char *pTestData)
+{
+ int iLen = 0;
+ printk("[fts] %s start \n", __func__);
+ switch(g_ScreenSetParam.iSelectedIC>>4)
+ {
+ case IC_FT6X36>>4:
+ iLen = FT6X36_get_test_data(pTestData);
+ break;
+ default:
+ printk("[fts] Error IC, IC Name: %s, IC Code: %d\n", g_strIcName, g_ScreenSetParam.iSelectedIC);
+ break;
+ }
+
+ return iLen;
+}
+/************************************************************************
+* Name: free_test_param_data
+* Brief: release printer memory
+* Input: none
+* Output: none
+* Return: none.
+***********************************************************************/
+void free_test_param_data(void)
+{
+ if(g_testparamstring)
+ kfree(g_testparamstring);
+
+ g_testparamstring = NULL;
+}
+
+/************************************************************************
+* Name: show_lib_ver
+* Brief: get lib version
+* Input: none
+* Output: pLibVer
+* Return: the length of lib version.
+***********************************************************************/
+int show_lib_ver(char *pLibVer)
+{
+ int num_read_chars = 0;
+
+ num_read_chars = snprintf(pLibVer, 128,"%s \n", FTS_DRIVER_LIB_INFO);
+
+ return num_read_chars;
+}
+
+
diff --git a/drivers/input/touchscreen/focaltech_3267/test_lib.h b/drivers/input/touchscreen/focaltech_3267/test_lib.h
new file mode 100644
index 0000000..8b84fcd
--- /dev/null
+++ b/drivers/input/touchscreen/focaltech_3267/test_lib.h
@@ -0,0 +1,44 @@
+/*
+* Copyright © 2016 FocalTech Systems Co., Ltd. All Rights Reserved.
+*
+* This program is free software; you may redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; version 2 of the License.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+* SOFTWARE.
+*/
+#ifndef _TEST_LIB_H
+#define _TEST_LIB_H
+
+#define boolean unsigned char
+#define bool unsigned char
+#define BYTE unsigned char
+#define false 0
+#define true 1
+
+/////////////////////IIC communication
+typedef int (*FTS_I2C_READ_FUNCTION)(unsigned char *, int , unsigned char *, int);
+typedef int (*FTS_I2C_WRITE_FUNCTION)(unsigned char *, int);
+
+extern FTS_I2C_READ_FUNCTION fts_i2c_read_test;
+extern FTS_I2C_WRITE_FUNCTION fts_i2c_write_test;
+
+extern int init_i2c_read_func(FTS_I2C_READ_FUNCTION fpI2C_Read);
+extern int init_i2c_write_func(FTS_I2C_WRITE_FUNCTION fpI2C_Write);
+
+///////////////////////about test
+int set_param_data(char *TestParamData);//load config
+boolean start_test_tp(void);//test entry
+int get_test_data(char *pTestData);//test result data. (pTestData, External application for memory, buff size >= 1024*80)
+
+void free_test_param_data(void);//release
+int show_lib_ver(char *pLibVer);//lib version
+
+#endif
diff --git a/drivers/input/touchscreen/focaltech_touch/focaltech_core.c b/drivers/input/touchscreen/focaltech_touch/focaltech_core.c
index 7639c9f..73fec90 100644
--- a/drivers/input/touchscreen/focaltech_touch/focaltech_core.c
+++ b/drivers/input/touchscreen/focaltech_touch/focaltech_core.c
@@ -997,6 +997,20 @@
}
#if defined(CONFIG_FB)
+static void fts_fb_notify_work_func(struct work_struct *work)
+{
+ struct fts_ts_data *fts_data =
+ container_of(work, struct fts_ts_data, fb_notify_work);
+
+ if (fts_data->fb_event == 0) {
+ /*suspend*/
+ fts_ts_suspend(&fts_data->client->dev);
+ } else {
+ /*resume*/
+ fts_ts_resume(&fts_data->client->dev);
+ }
+
+}
/*****************************************************************************
* Name: fb_notifier_callback
* Brief:
@@ -1015,11 +1029,14 @@
if (evdata && evdata->data && event == FB_EVENT_BLANK &&
fts_data && fts_data->client) {
blank = evdata->data;
- if (*blank == FB_BLANK_UNBLANK)
- fts_ts_resume(&fts_data->client->dev);
- else if (*blank == FB_BLANK_POWERDOWN ||
- *blank == FB_BLANK_VSYNC_SUSPEND)
- fts_ts_suspend(&fts_data->client->dev);
+ if (*blank == FB_BLANK_UNBLANK) {
+ fts_data->fb_event = 1;
+ schedule_work(&fts_data->fb_notify_work);
+ } else if (*blank == FB_BLANK_POWERDOWN ||
+ *blank == FB_BLANK_VSYNC_SUSPEND){
+ fts_data->fb_event = 0;
+ schedule_work(&fts_data->fb_notify_work);
+ }
}
return 0;
@@ -1201,6 +1218,7 @@
#if defined(CONFIG_FB)
data->fb_notif.notifier_call = fb_notifier_callback;
+ INIT_WORK(&data->fb_notify_work, fts_fb_notify_work_func);
err = fb_register_client(&data->fb_notif);
if (err)
FTS_ERROR("[FB]Unable to register fb_notifier: %d", err);
@@ -1261,6 +1279,7 @@
#endif
#if defined(CONFIG_FB)
+ flush_work(&data->fb_notify_work);
if (fb_unregister_client(&data->fb_notif))
FTS_ERROR("Error occurred while unregistering fb_notifier.");
#elif defined(CONFIG_HAS_EARLYSUSPEND)
diff --git a/drivers/input/touchscreen/focaltech_touch/focaltech_core.h b/drivers/input/touchscreen/focaltech_touch/focaltech_core.h
index a3c64f9..6db293f 100644
--- a/drivers/input/touchscreen/focaltech_touch/focaltech_core.h
+++ b/drivers/input/touchscreen/focaltech_touch/focaltech_core.h
@@ -162,6 +162,8 @@
int irq_disable;
#if defined(CONFIG_FB)
+ bool fb_event;
+ struct work_struct fb_notify_work;
struct notifier_block fb_notif;
#elif defined(CONFIG_HAS_EARLYSUSPEND)
struct early_suspend early_suspend;
diff --git a/drivers/input/touchscreen/raydium_incell/Makefile b/drivers/input/touchscreen/raydium_incell/Makefile
new file mode 100644
index 0000000..402daa0
--- /dev/null
+++ b/drivers/input/touchscreen/raydium_incell/Makefile
@@ -0,0 +1,5 @@
+#
+# Makefile for the Raydium in-cell touchscreen drivers.
+#
+
+obj-$(CONFIG_TOUCHSCREEN_RM_INCELL) += raydium_incell.o
diff --git a/drivers/input/touchscreen/raydium_incell/RADFWImage.h b/drivers/input/touchscreen/raydium_incell/RADFWImage.h
new file mode 100644
index 0000000..bcf2430
--- /dev/null
+++ b/drivers/input/touchscreen/raydium_incell/RADFWImage.h
@@ -0,0 +1,6472 @@
+const unsigned char RadBootImage[] = {
+0x18, 0x01, 0x00, 0x20, 0xC9, 0x01, 0x00, 0x00,
+0xCD, 0x01, 0x00, 0x00, 0xCF, 0x01, 0x00, 0x00,
+0xD1, 0x01, 0x00, 0x00, 0xD3, 0x01, 0x00, 0x00,
+0xD5, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0xD7, 0x01, 0x00, 0x00,
+0xD9, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0xDB, 0x01, 0x00, 0x00, 0x51, 0x30, 0x00, 0x00,
+0xD5, 0x28, 0x00, 0x00, 0x05, 0x1D, 0x00, 0x00,
+0xDF, 0x01, 0x00, 0x00, 0x01, 0x2C, 0x00, 0x00,
+0xDF, 0x01, 0x00, 0x00, 0x19, 0x20, 0x00, 0x00,
+0xDF, 0x01, 0x00, 0x00, 0x71, 0x27, 0x00, 0x00,
+0xDF, 0x01, 0x00, 0x00, 0xC9, 0x27, 0x00, 0x00,
+0x9D, 0x24, 0x00, 0x00, 0x95, 0x25, 0x00, 0x00,
+0x35, 0x22, 0x00, 0x00, 0x9D, 0x20, 0x00, 0x00,
+0xE9, 0x2F, 0x00, 0x00, 0xDF, 0x01, 0x00, 0x00,
+0x01, 0x03, 0x09, 0x01, 0x03, 0x48, 0x85, 0x46,
+0x00, 0xF0, 0x60, 0xFB, 0x00, 0x48, 0x00, 0x47,
+0xC3, 0x00, 0x00, 0x00, 0x18, 0x01, 0x00, 0x20,
+0x80, 0xF3, 0x08, 0x88, 0x70, 0x47, 0x00, 0x00,
+0x10, 0xB5, 0x22, 0x48, 0x81, 0x69, 0x01, 0x22,
+0x92, 0x03, 0x11, 0x43, 0x81, 0x61, 0x94, 0x10,
+0x20, 0x68, 0xFF, 0xF7, 0xF1, 0xFF, 0x60, 0x68,
+0x1D, 0x49, 0x48, 0x60, 0x08, 0x60, 0x80, 0x47,
+0x10, 0xBD, 0x01, 0x26, 0xB6, 0x07, 0x30, 0x68,
+0x1A, 0x49, 0x08, 0x43, 0x30, 0x60, 0x01, 0x20,
+0x00, 0xF0, 0x51, 0xF8, 0x01, 0x20, 0x00, 0xF0,
+0x5B, 0xF8, 0x01, 0x20, 0x00, 0xF0, 0x63, 0xF8,
+0x00, 0xF0, 0xA7, 0xF8, 0x14, 0x4F, 0x15, 0x4C,
+0x01, 0x25, 0x60, 0x68, 0x00, 0x28, 0x06, 0xD0,
+0x01, 0x28, 0x12, 0xD0, 0x02, 0x28, 0xF8, 0xD1,
+0xFF, 0xF7, 0xD2, 0xFF, 0xF5, 0xE7, 0x00, 0xF0,
+0x5F, 0xF9, 0x03, 0x28, 0x03, 0xD0, 0x02, 0x28,
+0xEF, 0xD1, 0x65, 0x60, 0xED, 0xE7, 0xB8, 0x68,
+0x00, 0x28, 0xEA, 0xD1, 0x02, 0x20, 0x60, 0x60,
+0xE7, 0xE7, 0x00, 0xF0, 0xB5, 0xFA, 0x01, 0x28,
+0xE3, 0xD1, 0x00, 0x20, 0x60, 0x60, 0x75, 0x60,
+0xDF, 0xE7, 0x00, 0x00, 0x00, 0x09, 0x00, 0x50,
+0x0C, 0x00, 0x00, 0x20, 0x00, 0x01, 0x00, 0xC8,
+0x10, 0x02, 0x00, 0x20, 0x00, 0x02, 0x00, 0x20,
+0x70, 0x47, 0x01, 0x20, 0x80, 0x07, 0x01, 0x68,
+0xFF, 0x22, 0x11, 0x32, 0x11, 0x43, 0x01, 0x60,
+0xC2, 0x68, 0x08, 0x21, 0x0A, 0x43, 0xC2, 0x60,
+0x18, 0x48, 0x82, 0x68, 0xFF, 0x23, 0x1A, 0x43,
+0x82, 0x60, 0x17, 0x48, 0x01, 0x60, 0x70, 0x47,
+0x16, 0x49, 0x4A, 0x68, 0xD2, 0x09, 0xD2, 0x01,
+0x02, 0x43, 0x4A, 0x60, 0x70, 0x47, 0x00, 0xB5,
+0x03, 0x46, 0x39, 0x20, 0xFF, 0xF7, 0xF4, 0xFF,
+0x01, 0x2B, 0x01, 0xD1, 0xFF, 0xF7, 0xDD, 0xFF,
+0x10, 0x20, 0x81, 0x06, 0x48, 0x60, 0x00, 0xBD,
+0x01, 0x21, 0x89, 0x07, 0x04, 0x22, 0x00, 0x28,
+0x48, 0x69, 0x01, 0xD0, 0x10, 0x43, 0x0A, 0x15,
+0x90, 0x43, 0x48, 0x61, 0x70, 0x47, 0x01, 0x21,
+0x89, 0x07, 0x0A, 0x15, 0x00, 0x28, 0x48, 0x69,
+0x02, 0xD0, 0x10, 0x43, 0x48, 0x61, 0x70, 0x47,
+0x90, 0x43, 0xFB, 0xE7, 0x00, 0x06, 0x00, 0x50,
+0x80, 0xE1, 0x00, 0xE0, 0x40, 0x09, 0x00, 0x50,
+0x05, 0x48, 0x00, 0x47, 0xFE, 0xE7, 0xFE, 0xE7,
+0xFE, 0xE7, 0xFE, 0xE7, 0xFE, 0xE7, 0xFE, 0xE7,
+0xFE, 0xE7, 0xFE, 0xE7, 0xFE, 0xE7, 0xFE, 0xE7,
+0x85, 0x00, 0x00, 0x00, 0x30, 0xB4, 0x74, 0x46,
+0x64, 0x1E, 0x25, 0x78, 0x64, 0x1C, 0xAB, 0x42,
+0x00, 0xD2, 0x1D, 0x46, 0x63, 0x5D, 0x5B, 0x00,
+0xE3, 0x18, 0x30, 0xBC, 0x18, 0x47, 0x70, 0x47,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x49, 0x00, 0x20,
+0x88, 0x60, 0xC8, 0x60, 0x48, 0x60, 0x7F, 0x22,
+0x0A, 0x60, 0x08, 0x61, 0xFB, 0x49, 0x08, 0x60,
+0xFB, 0x49, 0x08, 0x60, 0x48, 0x60, 0x70, 0x47,
+0xE1, 0x21, 0x09, 0x01, 0x48, 0x43, 0x00, 0x21,
+0x00, 0xE0, 0x49, 0x1C, 0x81, 0x42, 0xFC, 0xD3,
+0x70, 0x47, 0x10, 0xB5, 0xF3, 0x49, 0x00, 0x20,
+0x48, 0x60, 0x88, 0x60, 0xC8, 0x60, 0xF2, 0x4B,
+0x98, 0x60, 0xEF, 0x4C, 0xA0, 0x69, 0x01, 0x21,
+0x89, 0x03, 0x88, 0x43, 0xA0, 0x61, 0xFF, 0xF7,
+0xD9, 0xFF, 0xA0, 0x05, 0x40, 0x68, 0x80, 0x01,
+0x09, 0xD5, 0xA0, 0x69, 0x00, 0x05, 0x80, 0x0E,
+0x05, 0xD0, 0x82, 0x20, 0x99, 0x68, 0x00, 0x29,
+0x01, 0xD1, 0x58, 0x60, 0xFA, 0xE7, 0x10, 0xBD,
+0x70, 0xB5, 0x05, 0x46, 0x00, 0x20, 0x02, 0x46,
+0x01, 0x26, 0x09, 0xE0, 0x34, 0x46, 0x94, 0x40,
+0x33, 0x46, 0x2C, 0x42, 0x03, 0xD0, 0x8C, 0x1A,
+0x64, 0x1E, 0xA3, 0x40, 0x18, 0x43, 0x52, 0x1C,
+0x8A, 0x42, 0xF3, 0xD3, 0x70, 0xBD, 0xF0, 0xB5,
+0x00, 0x24, 0xE4, 0x43, 0x0E, 0x46, 0x07, 0x46,
+0x00, 0x25, 0x14, 0xE0, 0x78, 0x5D, 0x08, 0x21,
+0xFF, 0xF7, 0xE2, 0xFF, 0xC1, 0xB2, 0xD7, 0x4A,
+0x00, 0x20, 0x23, 0x46, 0x4B, 0x40, 0xDB, 0x07,
+0x02, 0xD0, 0x64, 0x08, 0x54, 0x40, 0x00, 0xE0,
+0x64, 0x08, 0x40, 0x1C, 0x49, 0x08, 0xC0, 0xB2,
+0x08, 0x28, 0xF2, 0xD3, 0x6D, 0x1C, 0xB5, 0x42,
+0xE8, 0xD3, 0x20, 0x21, 0x20, 0x46, 0xFF, 0xF7,
+0xCB, 0xFF, 0xF0, 0xBD, 0xF0, 0xB5, 0x03, 0x46,
+0x01, 0x27, 0x00, 0x24, 0xCA, 0x4A, 0x3F, 0x03,
+0xC5, 0x48, 0x08, 0x2B, 0x15, 0xD0, 0x06, 0xDC,
+0x01, 0x2B, 0x1B, 0xD0, 0x02, 0x2B, 0x07, 0xD0,
+0x04, 0x2B, 0x5F, 0xD1, 0x08, 0xE0, 0x10, 0x2B,
+0x0F, 0xD0, 0x20, 0x2B, 0x5A, 0xD1, 0x15, 0xE0,
+0x2D, 0x25, 0xC2, 0x4C, 0x2D, 0x01, 0x02, 0xE0,
+0xC1, 0x4C, 0x49, 0x25, 0xED, 0x00, 0x26, 0x46,
+0x13, 0xE0, 0x14, 0x46, 0xE4, 0x25, 0x16, 0x46,
+0x0F, 0xE0, 0x05, 0x25, 0x3C, 0x46, 0x2D, 0x03,
+0x3E, 0x46, 0x0A, 0xE0, 0x01, 0x24, 0xE4, 0x02,
+0xA5, 0x10, 0xF0, 0xE7, 0x85, 0x69, 0xB9, 0x4E,
+0x2D, 0x05, 0x00, 0xD4, 0x34, 0x46, 0x05, 0x25,
+0x6D, 0x02, 0x00, 0x29, 0x02, 0xD0, 0x01, 0x29,
+0x30, 0xD0, 0x37, 0xE0, 0x81, 0x69, 0xB4, 0x4E,
+0x09, 0x05, 0x0E, 0xD5, 0xA9, 0x08, 0x89, 0x00,
+0x2D, 0x1F, 0xAA, 0x08, 0x92, 0x00, 0x61, 0x58,
+0xA2, 0x58, 0x43, 0x6A, 0x93, 0x42, 0x02, 0xD1,
+0x80, 0x6A, 0x88, 0x42, 0x24, 0xD0, 0x31, 0x60,
+0x24, 0xE0, 0x10, 0x2B, 0x0A, 0xD0, 0x2D, 0x1F,
+0x29, 0x46, 0x20, 0x46, 0xFF, 0xF7, 0x8B, 0xFF,
+0xA9, 0x08, 0x89, 0x00, 0x61, 0x58, 0x81, 0x42,
+0x16, 0xD0, 0x17, 0xE0, 0xE0, 0x21, 0x10, 0x46,
+0x54, 0x58, 0xFF, 0xF7, 0x80, 0xFF, 0x84, 0x42,
+0x06, 0xD1, 0xA2, 0x49, 0x38, 0x46, 0x7C, 0x58,
+0xFF, 0xF7, 0x79, 0xFF, 0x84, 0x42, 0x07, 0xD0,
+0x30, 0x60, 0x07, 0xE0, 0x81, 0x68, 0xB1, 0x42,
+0x04, 0xD1, 0xC0, 0x68, 0xA8, 0x42, 0x01, 0xD1,
+0x01, 0x20, 0xF0, 0xBD, 0x00, 0x20, 0xF0, 0xBD,
+0xF0, 0xB5, 0x90, 0x4E, 0xB2, 0x68, 0x03, 0x21,
+0x8F, 0x4C, 0x8D, 0x4D, 0x01, 0x20, 0x13, 0x00,
+0xFF, 0xF7, 0x08, 0xFF, 0x06, 0x04, 0x10, 0x32,
+0x3A, 0x51, 0x4D, 0x51, 0xAA, 0x69, 0x92, 0x04,
+0x49, 0xD4, 0xAA, 0x69, 0x12, 0x05, 0x92, 0x0E,
+0x6A, 0x60, 0x6A, 0x68, 0x00, 0x2A, 0x41, 0xD0,
+0xB0, 0x60, 0x40, 0xE0, 0x30, 0x60, 0x84, 0x49,
+0xA0, 0x22, 0x0A, 0x60, 0x81, 0x22, 0x4A, 0x60,
+0x00, 0x24, 0x68, 0x68, 0x01, 0x27, 0xA7, 0x40,
+0x38, 0x42, 0x0B, 0xD0, 0x38, 0x46, 0x00, 0x21,
+0xFF, 0xF7, 0x64, 0xFF, 0x00, 0x28, 0x0B, 0xD0,
+0x68, 0x68, 0xB8, 0x43, 0x68, 0x60, 0x68, 0x68,
+0x80, 0x01, 0xA8, 0x61, 0x64, 0x1C, 0xE4, 0xB2,
+0x06, 0x2C, 0xEA, 0xD3, 0x02, 0x20, 0xDF, 0xE7,
+0x75, 0x49, 0x80, 0x20, 0x48, 0x60, 0xF9, 0xE7,
+0x30, 0x68, 0x00, 0x28, 0x1B, 0xD1, 0x05, 0x20,
+0xB0, 0x60, 0xFF, 0xF7, 0xDF, 0xFE, 0x16, 0xE0,
+0x00, 0x20, 0xB0, 0x60, 0x76, 0x49, 0x71, 0x48,
+0xFF, 0xF7, 0x21, 0xFF, 0x72, 0x49, 0x08, 0x60,
+0x05, 0x21, 0x49, 0x02, 0x09, 0x68, 0x81, 0x42,
+0x01, 0xD1, 0x03, 0x20, 0xF0, 0xBD, 0x80, 0x20,
+0x60, 0x60, 0x02, 0x20, 0xF0, 0xBD, 0xA8, 0x69,
+0x00, 0x28, 0x00, 0xD1, 0xB1, 0x60, 0x00, 0x20,
+0xF0, 0xBD, 0x30, 0xB5, 0x60, 0x49, 0x0A, 0x68,
+0x4B, 0x68, 0x9A, 0x43, 0x0A, 0x60, 0x20, 0x28,
+0x08, 0x68, 0x03, 0xD0, 0x0A, 0x22, 0x90, 0x43,
+0x08, 0x60, 0x30, 0xBD, 0x11, 0x22, 0x90, 0x43,
+0x08, 0x60, 0x0F, 0x22, 0x12, 0x02, 0xD0, 0x69,
+0x62, 0x4B, 0x00, 0x0C, 0x98, 0x42, 0xF4, 0xD0,
+0x08, 0x68, 0x1E, 0x23, 0x98, 0x43, 0x08, 0x60,
+0x00, 0x20, 0x41, 0x1E, 0x05, 0x24, 0x5E, 0x4B,
+0x64, 0x02, 0x85, 0x00, 0x2D, 0x19, 0x40, 0x1C,
+0x69, 0x60, 0x98, 0x42, 0xF9, 0xD3, 0x33, 0x21,
+0x00, 0x20, 0x89, 0x01, 0xC8, 0x60, 0x50, 0x61,
+0x55, 0x49, 0x50, 0x48, 0xFF, 0xF7, 0xDF, 0xFE,
+0x20, 0x60, 0x30, 0xBD, 0xF8, 0xB5, 0x55, 0x4F,
+0x01, 0x26, 0x38, 0x68, 0xF6, 0x02, 0x02, 0x25,
+0x45, 0x4C, 0x00, 0x28, 0x04, 0xD0, 0x01, 0x28,
+0x3A, 0xD0, 0x02, 0x28, 0x37, 0xD1, 0x43, 0xE0,
+0x60, 0x68, 0x20, 0x28, 0x06, 0xD0, 0x60, 0x68,
+0x10, 0x28, 0x08, 0xD0, 0x60, 0x68, 0x01, 0x28,
+0x08, 0xD0, 0x0F, 0xE0, 0x05, 0x20, 0x40, 0x02,
+0x7E, 0x60, 0xB8, 0x60, 0x1B, 0xE0, 0x0B, 0x20,
+0xC0, 0x02, 0x09, 0xE0, 0x3D, 0x49, 0x00, 0x20,
+0x08, 0x39, 0xFF, 0xF7, 0xB8, 0xFE, 0x27, 0x21,
+0x89, 0x01, 0xC8, 0x63, 0x01, 0x20, 0x00, 0x03,
+0xB8, 0x60, 0xA6, 0x60, 0x20, 0x68, 0xA8, 0x43,
+0x20, 0x60, 0x3B, 0x49, 0x35, 0x48, 0xFF, 0xF7,
+0xAA, 0xFE, 0x05, 0x21, 0x49, 0x02, 0x08, 0x60,
+0x20, 0x68, 0x28, 0x43, 0x20, 0x60, 0x2E, 0x49,
+0x00, 0x20, 0x48, 0x60, 0xA8, 0x20, 0x08, 0x60,
+0x01, 0x24, 0x20, 0x46, 0x3C, 0x60, 0xFF, 0xF7,
+0x22, 0xFE, 0x28, 0x48, 0x04, 0x60, 0x8D, 0xE0,
+0x26, 0x48, 0x01, 0x68, 0x00, 0x29, 0x06, 0xD1,
+0x01, 0x21, 0x01, 0x60, 0x24, 0x48, 0x40, 0x68,
+0xA8, 0x28, 0x00, 0xD1, 0x3D, 0x60, 0x81, 0xE0,
+0xB9, 0x68, 0x78, 0x68, 0x20, 0x61, 0x42, 0x18,
+0x60, 0x68, 0x2B, 0x4B, 0x20, 0x28, 0x2A, 0xD1,
+0x00, 0x20, 0x20, 0x61, 0x60, 0x69, 0x28, 0x43,
+0x60, 0x61, 0x1A, 0x46, 0x02, 0xE0, 0x01, 0x20,
+0xFF, 0xF7, 0x3E, 0xFE, 0x60, 0x69, 0x00, 0x07,
+0x01, 0xD4, 0x52, 0x1E, 0xF7, 0xD2, 0x60, 0x69,
+0x00, 0x07, 0x67, 0xD5, 0x78, 0x68, 0x20, 0x61,
+0x18, 0xE0, 0x60, 0x69, 0x02, 0x21, 0x08, 0x43,
+0x60, 0x61, 0x1D, 0x46, 0x02, 0xE0, 0x01, 0x20,
+0xFF, 0xF7, 0x2A, 0xFE, 0x60, 0x69, 0x00, 0x07,
+0x01, 0xD4, 0x6D, 0x1E, 0xF7, 0xD2, 0x60, 0x69,
+0x00, 0x07, 0x53, 0xD5, 0x21, 0x69, 0x01, 0x20,
+0x00, 0x03, 0x08, 0x18, 0x20, 0x61, 0x20, 0x69,
+0x90, 0x42, 0xE6, 0xD3, 0x78, 0x68, 0x20, 0x61,
+0xB8, 0x68, 0xE0, 0x60, 0x60, 0x69, 0x04, 0x21,
+0x08, 0x43, 0x60, 0x61, 0x21, 0xE0, 0x00, 0x00,
+0x00, 0x09, 0x00, 0x50, 0x00, 0x02, 0x00, 0x20,
+0x10, 0x02, 0x00, 0x20, 0x20, 0x83, 0xB8, 0xED,
+0x1C, 0x0F, 0x00, 0x00, 0x04, 0x0A, 0x00, 0x00,
+0xD4, 0x0C, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x9C, 0x01, 0x00, 0x20, 0xFC, 0x4F, 0x00, 0x00,
+0xFC, 0x55, 0x00, 0x00, 0x01, 0xF3, 0x00, 0x00,
+0x7F, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0xB8, 0x0B, 0x00, 0x00, 0x01, 0x20, 0xFF, 0xF7,
+0xEF, 0xFD, 0x60, 0x69, 0x00, 0x07, 0x01, 0xD4,
+0x5B, 0x1E, 0xF7, 0xD2, 0x60, 0x69, 0x00, 0x07,
+0x18, 0xD5, 0x00, 0x20, 0xFF, 0xF7, 0xA7, 0xFD,
+0x05, 0x20, 0xFF, 0xF7, 0xE1, 0xFD, 0x01, 0x20,
+0xFF, 0xF7, 0xA1, 0xFD, 0x00, 0x20, 0x60, 0x63,
+0xA0, 0x63, 0xA1, 0x69, 0xC9, 0x04, 0x05, 0xD5,
+0xA2, 0x69, 0x01, 0x21, 0x09, 0x03, 0x8A, 0x43,
+0xA2, 0x61, 0x00, 0xE0, 0xA6, 0x61, 0x38, 0x60,
+0x01, 0x20, 0xF8, 0xBD, 0x00, 0x20, 0xF8, 0xBD,
+0xF8, 0xB5, 0x2D, 0x4C, 0x00, 0x27, 0xE2, 0x68,
+0x2C, 0x48, 0xA1, 0x21, 0x01, 0x26, 0x2C, 0x4D,
+0x13, 0x00, 0xFF, 0xF7, 0xA3, 0xFD, 0x07, 0x05,
+0x10, 0x17, 0x1E, 0x2E, 0x3C, 0x49, 0x4F, 0x00,
+0x3F, 0x22, 0x02, 0x60, 0xA8, 0x68, 0x01, 0x28,
+0x44, 0xD1, 0x29, 0x60, 0xFF, 0x20, 0x68, 0x60,
+0x26, 0x60, 0xE6, 0x60, 0x3E, 0xE0, 0x20, 0x68,
+0x00, 0x28, 0x3B, 0xD1, 0x26, 0x60, 0x69, 0x60,
+0x02, 0x20, 0x36, 0xE0, 0x40, 0x68, 0xFF, 0xF7,
+0xD4, 0xFE, 0xA3, 0x20, 0x28, 0x60, 0x03, 0x20,
+0x2F, 0xE0, 0x21, 0x68, 0x00, 0x29, 0x2D, 0xD1,
+0x26, 0x60, 0x40, 0x68, 0xFF, 0xF7, 0xFA, 0xFD,
+0x00, 0x28, 0x04, 0xD0, 0xA5, 0x20, 0x28, 0x60,
+0x68, 0x60, 0x04, 0x20, 0x21, 0xE0, 0xA4, 0x20,
+0x07, 0xE0, 0x20, 0x68, 0x00, 0x28, 0x1D, 0xD1,
+0x26, 0x60, 0x68, 0x68, 0x5A, 0x28, 0x04, 0xD0,
+0xA6, 0x20, 0x28, 0x60, 0x68, 0x60, 0x07, 0x20,
+0x13, 0xE0, 0x05, 0x20, 0x11, 0xE0, 0xFF, 0xF7,
+0xE1, 0xFE, 0x00, 0x28, 0x0E, 0xD0, 0xA8, 0x68,
+0x00, 0x28, 0x01, 0xD0, 0x26, 0x60, 0x01, 0xE0,
+0x00, 0x20, 0x20, 0x60, 0x06, 0x20, 0x04, 0xE0,
+0x20, 0x68, 0x00, 0x28, 0x02, 0xD1, 0x26, 0x60,
+0x01, 0x27, 0xE0, 0x60, 0x38, 0x46, 0xF8, 0xBD,
+0x00, 0x02, 0x00, 0x20, 0x00, 0x09, 0x00, 0x50,
+0x10, 0x02, 0x00, 0x20, 0x06, 0x4C, 0x01, 0x25,
+0x06, 0x4E, 0x05, 0xE0, 0x20, 0x46, 0xE3, 0x68,
+0x07, 0xC8, 0x2B, 0x43, 0x98, 0x47, 0x10, 0x34,
+0xB4, 0x42, 0xF7, 0xD3, 0xFF, 0xF7, 0x92, 0xFC,
+0x8C, 0x07, 0x00, 0x00, 0x9C, 0x07, 0x00, 0x00,
+0x02, 0xE0, 0x08, 0xC8, 0x12, 0x1F, 0x08, 0xC1,
+0x00, 0x2A, 0xFA, 0xD1, 0x70, 0x47, 0x00, 0x20,
+0x01, 0xE0, 0x01, 0xC1, 0x12, 0x1F, 0x00, 0x2A,
+0xFB, 0xD1, 0x70, 0x47, 0x9C, 0x07, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x14, 0x00, 0x00, 0x00,
+0x70, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x9E, 0x60, 0x1F, 0x9A,
+};
+const unsigned char RadInitImage[] = {
+0x5A, 0x01, 0xF0, 0x03, 0x5A, 0x01, 0xF0, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00,
+};
+const unsigned char RadFWImage[] = {
+0x18, 0x01, 0x00, 0x20, 0xC9, 0x01, 0x00, 0x00,
+0xCD, 0x01, 0x00, 0x00, 0xCF, 0x01, 0x00, 0x00,
+0xD1, 0x01, 0x00, 0x00, 0xD3, 0x01, 0x00, 0x00,
+0xD5, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0xD7, 0x01, 0x00, 0x00,
+0xD9, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0xDB, 0x01, 0x00, 0x00, 0x51, 0x30, 0x00, 0x00,
+0xD5, 0x28, 0x00, 0x00, 0x05, 0x1D, 0x00, 0x00,
+0xDF, 0x01, 0x00, 0x00, 0x01, 0x2C, 0x00, 0x00,
+0xDF, 0x01, 0x00, 0x00, 0x19, 0x20, 0x00, 0x00,
+0xDF, 0x01, 0x00, 0x00, 0x71, 0x27, 0x00, 0x00,
+0xDF, 0x01, 0x00, 0x00, 0xC9, 0x27, 0x00, 0x00,
+0x9D, 0x24, 0x00, 0x00, 0x95, 0x25, 0x00, 0x00,
+0x35, 0x22, 0x00, 0x00, 0x9D, 0x20, 0x00, 0x00,
+0xE9, 0x2F, 0x00, 0x00, 0xDF, 0x01, 0x00, 0x00,
+0x01, 0x03, 0x09, 0x01, 0x03, 0x48, 0x85, 0x46,
+0x00, 0xF0, 0x60, 0xFB, 0x00, 0x48, 0x00, 0x47,
+0xC3, 0x00, 0x00, 0x00, 0x18, 0x01, 0x00, 0x20,
+0x80, 0xF3, 0x08, 0x88, 0x70, 0x47, 0x00, 0x00,
+0x10, 0xB5, 0x22, 0x48, 0x81, 0x69, 0x01, 0x22,
+0x92, 0x03, 0x11, 0x43, 0x81, 0x61, 0x94, 0x10,
+0x20, 0x68, 0xFF, 0xF7, 0xF1, 0xFF, 0x60, 0x68,
+0x1D, 0x49, 0x48, 0x60, 0x08, 0x60, 0x80, 0x47,
+0x10, 0xBD, 0x01, 0x26, 0xB6, 0x07, 0x30, 0x68,
+0x1A, 0x49, 0x08, 0x43, 0x30, 0x60, 0x01, 0x20,
+0x00, 0xF0, 0x51, 0xF8, 0x01, 0x20, 0x00, 0xF0,
+0x5B, 0xF8, 0x01, 0x20, 0x00, 0xF0, 0x63, 0xF8,
+0x00, 0xF0, 0xA7, 0xF8, 0x14, 0x4F, 0x15, 0x4C,
+0x01, 0x25, 0x60, 0x68, 0x00, 0x28, 0x06, 0xD0,
+0x01, 0x28, 0x12, 0xD0, 0x02, 0x28, 0xF8, 0xD1,
+0xFF, 0xF7, 0xD2, 0xFF, 0xF5, 0xE7, 0x00, 0xF0,
+0x5F, 0xF9, 0x03, 0x28, 0x03, 0xD0, 0x02, 0x28,
+0xEF, 0xD1, 0x65, 0x60, 0xED, 0xE7, 0xB8, 0x68,
+0x00, 0x28, 0xEA, 0xD1, 0x02, 0x20, 0x60, 0x60,
+0xE7, 0xE7, 0x00, 0xF0, 0xB5, 0xFA, 0x01, 0x28,
+0xE3, 0xD1, 0x00, 0x20, 0x60, 0x60, 0x75, 0x60,
+0xDF, 0xE7, 0x00, 0x00, 0x00, 0x09, 0x00, 0x50,
+0x0C, 0x00, 0x00, 0x20, 0x00, 0x01, 0x00, 0xC8,
+0x10, 0x02, 0x00, 0x20, 0x00, 0x02, 0x00, 0x20,
+0x70, 0x47, 0x01, 0x20, 0x80, 0x07, 0x01, 0x68,
+0xFF, 0x22, 0x11, 0x32, 0x11, 0x43, 0x01, 0x60,
+0xC2, 0x68, 0x08, 0x21, 0x0A, 0x43, 0xC2, 0x60,
+0x18, 0x48, 0x82, 0x68, 0xFF, 0x23, 0x1A, 0x43,
+0x82, 0x60, 0x17, 0x48, 0x01, 0x60, 0x70, 0x47,
+0x16, 0x49, 0x4A, 0x68, 0xD2, 0x09, 0xD2, 0x01,
+0x02, 0x43, 0x4A, 0x60, 0x70, 0x47, 0x00, 0xB5,
+0x03, 0x46, 0x39, 0x20, 0xFF, 0xF7, 0xF4, 0xFF,
+0x01, 0x2B, 0x01, 0xD1, 0xFF, 0xF7, 0xDD, 0xFF,
+0x10, 0x20, 0x81, 0x06, 0x48, 0x60, 0x00, 0xBD,
+0x01, 0x21, 0x89, 0x07, 0x04, 0x22, 0x00, 0x28,
+0x48, 0x69, 0x01, 0xD0, 0x10, 0x43, 0x0A, 0x15,
+0x90, 0x43, 0x48, 0x61, 0x70, 0x47, 0x01, 0x21,
+0x89, 0x07, 0x0A, 0x15, 0x00, 0x28, 0x48, 0x69,
+0x02, 0xD0, 0x10, 0x43, 0x48, 0x61, 0x70, 0x47,
+0x90, 0x43, 0xFB, 0xE7, 0x00, 0x06, 0x00, 0x50,
+0x80, 0xE1, 0x00, 0xE0, 0x40, 0x09, 0x00, 0x50,
+0x05, 0x48, 0x00, 0x47, 0xFE, 0xE7, 0xFE, 0xE7,
+0xFE, 0xE7, 0xFE, 0xE7, 0xFE, 0xE7, 0xFE, 0xE7,
+0xFE, 0xE7, 0xFE, 0xE7, 0xFE, 0xE7, 0xFE, 0xE7,
+0x85, 0x00, 0x00, 0x00, 0x30, 0xB4, 0x74, 0x46,
+0x64, 0x1E, 0x25, 0x78, 0x64, 0x1C, 0xAB, 0x42,
+0x00, 0xD2, 0x1D, 0x46, 0x63, 0x5D, 0x5B, 0x00,
+0xE3, 0x18, 0x30, 0xBC, 0x18, 0x47, 0x70, 0x47,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x49, 0x00, 0x20,
+0x88, 0x60, 0xC8, 0x60, 0x48, 0x60, 0x7F, 0x22,
+0x0A, 0x60, 0x08, 0x61, 0xFB, 0x49, 0x08, 0x60,
+0xFB, 0x49, 0x08, 0x60, 0x48, 0x60, 0x70, 0x47,
+0xE1, 0x21, 0x09, 0x01, 0x48, 0x43, 0x00, 0x21,
+0x00, 0xE0, 0x49, 0x1C, 0x81, 0x42, 0xFC, 0xD3,
+0x70, 0x47, 0x10, 0xB5, 0xF3, 0x49, 0x00, 0x20,
+0x48, 0x60, 0x88, 0x60, 0xC8, 0x60, 0xF2, 0x4B,
+0x98, 0x60, 0xEF, 0x4C, 0xA0, 0x69, 0x01, 0x21,
+0x89, 0x03, 0x88, 0x43, 0xA0, 0x61, 0xFF, 0xF7,
+0xD9, 0xFF, 0xA0, 0x05, 0x40, 0x68, 0x80, 0x01,
+0x09, 0xD5, 0xA0, 0x69, 0x00, 0x05, 0x80, 0x0E,
+0x05, 0xD0, 0x82, 0x20, 0x99, 0x68, 0x00, 0x29,
+0x01, 0xD1, 0x58, 0x60, 0xFA, 0xE7, 0x10, 0xBD,
+0x70, 0xB5, 0x05, 0x46, 0x00, 0x20, 0x02, 0x46,
+0x01, 0x26, 0x09, 0xE0, 0x34, 0x46, 0x94, 0x40,
+0x33, 0x46, 0x2C, 0x42, 0x03, 0xD0, 0x8C, 0x1A,
+0x64, 0x1E, 0xA3, 0x40, 0x18, 0x43, 0x52, 0x1C,
+0x8A, 0x42, 0xF3, 0xD3, 0x70, 0xBD, 0xF0, 0xB5,
+0x00, 0x24, 0xE4, 0x43, 0x0E, 0x46, 0x07, 0x46,
+0x00, 0x25, 0x14, 0xE0, 0x78, 0x5D, 0x08, 0x21,
+0xFF, 0xF7, 0xE2, 0xFF, 0xC1, 0xB2, 0xD7, 0x4A,
+0x00, 0x20, 0x23, 0x46, 0x4B, 0x40, 0xDB, 0x07,
+0x02, 0xD0, 0x64, 0x08, 0x54, 0x40, 0x00, 0xE0,
+0x64, 0x08, 0x40, 0x1C, 0x49, 0x08, 0xC0, 0xB2,
+0x08, 0x28, 0xF2, 0xD3, 0x6D, 0x1C, 0xB5, 0x42,
+0xE8, 0xD3, 0x20, 0x21, 0x20, 0x46, 0xFF, 0xF7,
+0xCB, 0xFF, 0xF0, 0xBD, 0xF0, 0xB5, 0x03, 0x46,
+0x01, 0x27, 0x00, 0x24, 0xCA, 0x4A, 0x3F, 0x03,
+0xC5, 0x48, 0x08, 0x2B, 0x15, 0xD0, 0x06, 0xDC,
+0x01, 0x2B, 0x1B, 0xD0, 0x02, 0x2B, 0x07, 0xD0,
+0x04, 0x2B, 0x5F, 0xD1, 0x08, 0xE0, 0x10, 0x2B,
+0x0F, 0xD0, 0x20, 0x2B, 0x5A, 0xD1, 0x15, 0xE0,
+0x2D, 0x25, 0xC2, 0x4C, 0x2D, 0x01, 0x02, 0xE0,
+0xC1, 0x4C, 0x49, 0x25, 0xED, 0x00, 0x26, 0x46,
+0x13, 0xE0, 0x14, 0x46, 0xE4, 0x25, 0x16, 0x46,
+0x0F, 0xE0, 0x05, 0x25, 0x3C, 0x46, 0x2D, 0x03,
+0x3E, 0x46, 0x0A, 0xE0, 0x01, 0x24, 0xE4, 0x02,
+0xA5, 0x10, 0xF0, 0xE7, 0x85, 0x69, 0xB9, 0x4E,
+0x2D, 0x05, 0x00, 0xD4, 0x34, 0x46, 0x05, 0x25,
+0x6D, 0x02, 0x00, 0x29, 0x02, 0xD0, 0x01, 0x29,
+0x30, 0xD0, 0x37, 0xE0, 0x81, 0x69, 0xB4, 0x4E,
+0x09, 0x05, 0x0E, 0xD5, 0xA9, 0x08, 0x89, 0x00,
+0x2D, 0x1F, 0xAA, 0x08, 0x92, 0x00, 0x61, 0x58,
+0xA2, 0x58, 0x43, 0x6A, 0x93, 0x42, 0x02, 0xD1,
+0x80, 0x6A, 0x88, 0x42, 0x24, 0xD0, 0x31, 0x60,
+0x24, 0xE0, 0x10, 0x2B, 0x0A, 0xD0, 0x2D, 0x1F,
+0x29, 0x46, 0x20, 0x46, 0xFF, 0xF7, 0x8B, 0xFF,
+0xA9, 0x08, 0x89, 0x00, 0x61, 0x58, 0x81, 0x42,
+0x16, 0xD0, 0x17, 0xE0, 0xE0, 0x21, 0x10, 0x46,
+0x54, 0x58, 0xFF, 0xF7, 0x80, 0xFF, 0x84, 0x42,
+0x06, 0xD1, 0xA2, 0x49, 0x38, 0x46, 0x7C, 0x58,
+0xFF, 0xF7, 0x79, 0xFF, 0x84, 0x42, 0x07, 0xD0,
+0x30, 0x60, 0x07, 0xE0, 0x81, 0x68, 0xB1, 0x42,
+0x04, 0xD1, 0xC0, 0x68, 0xA8, 0x42, 0x01, 0xD1,
+0x01, 0x20, 0xF0, 0xBD, 0x00, 0x20, 0xF0, 0xBD,
+0xF0, 0xB5, 0x90, 0x4E, 0xB2, 0x68, 0x03, 0x21,
+0x8F, 0x4C, 0x8D, 0x4D, 0x01, 0x20, 0x13, 0x00,
+0xFF, 0xF7, 0x08, 0xFF, 0x06, 0x04, 0x10, 0x32,
+0x3A, 0x51, 0x4D, 0x51, 0xAA, 0x69, 0x92, 0x04,
+0x49, 0xD4, 0xAA, 0x69, 0x12, 0x05, 0x92, 0x0E,
+0x6A, 0x60, 0x6A, 0x68, 0x00, 0x2A, 0x41, 0xD0,
+0xB0, 0x60, 0x40, 0xE0, 0x30, 0x60, 0x84, 0x49,
+0xA0, 0x22, 0x0A, 0x60, 0x81, 0x22, 0x4A, 0x60,
+0x00, 0x24, 0x68, 0x68, 0x01, 0x27, 0xA7, 0x40,
+0x38, 0x42, 0x0B, 0xD0, 0x38, 0x46, 0x00, 0x21,
+0xFF, 0xF7, 0x64, 0xFF, 0x00, 0x28, 0x0B, 0xD0,
+0x68, 0x68, 0xB8, 0x43, 0x68, 0x60, 0x68, 0x68,
+0x80, 0x01, 0xA8, 0x61, 0x64, 0x1C, 0xE4, 0xB2,
+0x06, 0x2C, 0xEA, 0xD3, 0x02, 0x20, 0xDF, 0xE7,
+0x75, 0x49, 0x80, 0x20, 0x48, 0x60, 0xF9, 0xE7,
+0x30, 0x68, 0x00, 0x28, 0x1B, 0xD1, 0x05, 0x20,
+0xB0, 0x60, 0xFF, 0xF7, 0xDF, 0xFE, 0x16, 0xE0,
+0x00, 0x20, 0xB0, 0x60, 0x76, 0x49, 0x71, 0x48,
+0xFF, 0xF7, 0x21, 0xFF, 0x72, 0x49, 0x08, 0x60,
+0x05, 0x21, 0x49, 0x02, 0x09, 0x68, 0x81, 0x42,
+0x01, 0xD1, 0x03, 0x20, 0xF0, 0xBD, 0x80, 0x20,
+0x60, 0x60, 0x02, 0x20, 0xF0, 0xBD, 0xA8, 0x69,
+0x00, 0x28, 0x00, 0xD1, 0xB1, 0x60, 0x00, 0x20,
+0xF0, 0xBD, 0x30, 0xB5, 0x60, 0x49, 0x0A, 0x68,
+0x4B, 0x68, 0x9A, 0x43, 0x0A, 0x60, 0x20, 0x28,
+0x08, 0x68, 0x03, 0xD0, 0x0A, 0x22, 0x90, 0x43,
+0x08, 0x60, 0x30, 0xBD, 0x11, 0x22, 0x90, 0x43,
+0x08, 0x60, 0x0F, 0x22, 0x12, 0x02, 0xD0, 0x69,
+0x62, 0x4B, 0x00, 0x0C, 0x98, 0x42, 0xF4, 0xD0,
+0x08, 0x68, 0x1E, 0x23, 0x98, 0x43, 0x08, 0x60,
+0x00, 0x20, 0x41, 0x1E, 0x05, 0x24, 0x5E, 0x4B,
+0x64, 0x02, 0x85, 0x00, 0x2D, 0x19, 0x40, 0x1C,
+0x69, 0x60, 0x98, 0x42, 0xF9, 0xD3, 0x33, 0x21,
+0x00, 0x20, 0x89, 0x01, 0xC8, 0x60, 0x50, 0x61,
+0x55, 0x49, 0x50, 0x48, 0xFF, 0xF7, 0xDF, 0xFE,
+0x20, 0x60, 0x30, 0xBD, 0xF8, 0xB5, 0x55, 0x4F,
+0x01, 0x26, 0x38, 0x68, 0xF6, 0x02, 0x02, 0x25,
+0x45, 0x4C, 0x00, 0x28, 0x04, 0xD0, 0x01, 0x28,
+0x3A, 0xD0, 0x02, 0x28, 0x37, 0xD1, 0x43, 0xE0,
+0x60, 0x68, 0x20, 0x28, 0x06, 0xD0, 0x60, 0x68,
+0x10, 0x28, 0x08, 0xD0, 0x60, 0x68, 0x01, 0x28,
+0x08, 0xD0, 0x0F, 0xE0, 0x05, 0x20, 0x40, 0x02,
+0x7E, 0x60, 0xB8, 0x60, 0x1B, 0xE0, 0x0B, 0x20,
+0xC0, 0x02, 0x09, 0xE0, 0x3D, 0x49, 0x00, 0x20,
+0x08, 0x39, 0xFF, 0xF7, 0xB8, 0xFE, 0x27, 0x21,
+0x89, 0x01, 0xC8, 0x63, 0x01, 0x20, 0x00, 0x03,
+0xB8, 0x60, 0xA6, 0x60, 0x20, 0x68, 0xA8, 0x43,
+0x20, 0x60, 0x3B, 0x49, 0x35, 0x48, 0xFF, 0xF7,
+0xAA, 0xFE, 0x05, 0x21, 0x49, 0x02, 0x08, 0x60,
+0x20, 0x68, 0x28, 0x43, 0x20, 0x60, 0x2E, 0x49,
+0x00, 0x20, 0x48, 0x60, 0xA8, 0x20, 0x08, 0x60,
+0x01, 0x24, 0x20, 0x46, 0x3C, 0x60, 0xFF, 0xF7,
+0x22, 0xFE, 0x28, 0x48, 0x04, 0x60, 0x8D, 0xE0,
+0x26, 0x48, 0x01, 0x68, 0x00, 0x29, 0x06, 0xD1,
+0x01, 0x21, 0x01, 0x60, 0x24, 0x48, 0x40, 0x68,
+0xA8, 0x28, 0x00, 0xD1, 0x3D, 0x60, 0x81, 0xE0,
+0xB9, 0x68, 0x78, 0x68, 0x20, 0x61, 0x42, 0x18,
+0x60, 0x68, 0x2B, 0x4B, 0x20, 0x28, 0x2A, 0xD1,
+0x00, 0x20, 0x20, 0x61, 0x60, 0x69, 0x28, 0x43,
+0x60, 0x61, 0x1A, 0x46, 0x02, 0xE0, 0x01, 0x20,
+0xFF, 0xF7, 0x3E, 0xFE, 0x60, 0x69, 0x00, 0x07,
+0x01, 0xD4, 0x52, 0x1E, 0xF7, 0xD2, 0x60, 0x69,
+0x00, 0x07, 0x67, 0xD5, 0x78, 0x68, 0x20, 0x61,
+0x18, 0xE0, 0x60, 0x69, 0x02, 0x21, 0x08, 0x43,
+0x60, 0x61, 0x1D, 0x46, 0x02, 0xE0, 0x01, 0x20,
+0xFF, 0xF7, 0x2A, 0xFE, 0x60, 0x69, 0x00, 0x07,
+0x01, 0xD4, 0x6D, 0x1E, 0xF7, 0xD2, 0x60, 0x69,
+0x00, 0x07, 0x53, 0xD5, 0x21, 0x69, 0x01, 0x20,
+0x00, 0x03, 0x08, 0x18, 0x20, 0x61, 0x20, 0x69,
+0x90, 0x42, 0xE6, 0xD3, 0x78, 0x68, 0x20, 0x61,
+0xB8, 0x68, 0xE0, 0x60, 0x60, 0x69, 0x04, 0x21,
+0x08, 0x43, 0x60, 0x61, 0x21, 0xE0, 0x00, 0x00,
+0x00, 0x09, 0x00, 0x50, 0x00, 0x02, 0x00, 0x20,
+0x10, 0x02, 0x00, 0x20, 0x20, 0x83, 0xB8, 0xED,
+0x1C, 0x0F, 0x00, 0x00, 0x04, 0x0A, 0x00, 0x00,
+0xD4, 0x0C, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x9C, 0x01, 0x00, 0x20, 0xFC, 0x4F, 0x00, 0x00,
+0xFC, 0x55, 0x00, 0x00, 0x01, 0xF3, 0x00, 0x00,
+0x7F, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0xB8, 0x0B, 0x00, 0x00, 0x01, 0x20, 0xFF, 0xF7,
+0xEF, 0xFD, 0x60, 0x69, 0x00, 0x07, 0x01, 0xD4,
+0x5B, 0x1E, 0xF7, 0xD2, 0x60, 0x69, 0x00, 0x07,
+0x18, 0xD5, 0x00, 0x20, 0xFF, 0xF7, 0xA7, 0xFD,
+0x05, 0x20, 0xFF, 0xF7, 0xE1, 0xFD, 0x01, 0x20,
+0xFF, 0xF7, 0xA1, 0xFD, 0x00, 0x20, 0x60, 0x63,
+0xA0, 0x63, 0xA1, 0x69, 0xC9, 0x04, 0x05, 0xD5,
+0xA2, 0x69, 0x01, 0x21, 0x09, 0x03, 0x8A, 0x43,
+0xA2, 0x61, 0x00, 0xE0, 0xA6, 0x61, 0x38, 0x60,
+0x01, 0x20, 0xF8, 0xBD, 0x00, 0x20, 0xF8, 0xBD,
+0xF8, 0xB5, 0x2D, 0x4C, 0x00, 0x27, 0xE2, 0x68,
+0x2C, 0x48, 0xA1, 0x21, 0x01, 0x26, 0x2C, 0x4D,
+0x13, 0x00, 0xFF, 0xF7, 0xA3, 0xFD, 0x07, 0x05,
+0x10, 0x17, 0x1E, 0x2E, 0x3C, 0x49, 0x4F, 0x00,
+0x3F, 0x22, 0x02, 0x60, 0xA8, 0x68, 0x01, 0x28,
+0x44, 0xD1, 0x29, 0x60, 0xFF, 0x20, 0x68, 0x60,
+0x26, 0x60, 0xE6, 0x60, 0x3E, 0xE0, 0x20, 0x68,
+0x00, 0x28, 0x3B, 0xD1, 0x26, 0x60, 0x69, 0x60,
+0x02, 0x20, 0x36, 0xE0, 0x40, 0x68, 0xFF, 0xF7,
+0xD4, 0xFE, 0xA3, 0x20, 0x28, 0x60, 0x03, 0x20,
+0x2F, 0xE0, 0x21, 0x68, 0x00, 0x29, 0x2D, 0xD1,
+0x26, 0x60, 0x40, 0x68, 0xFF, 0xF7, 0xFA, 0xFD,
+0x00, 0x28, 0x04, 0xD0, 0xA5, 0x20, 0x28, 0x60,
+0x68, 0x60, 0x04, 0x20, 0x21, 0xE0, 0xA4, 0x20,
+0x07, 0xE0, 0x20, 0x68, 0x00, 0x28, 0x1D, 0xD1,
+0x26, 0x60, 0x68, 0x68, 0x5A, 0x28, 0x04, 0xD0,
+0xA6, 0x20, 0x28, 0x60, 0x68, 0x60, 0x07, 0x20,
+0x13, 0xE0, 0x05, 0x20, 0x11, 0xE0, 0xFF, 0xF7,
+0xE1, 0xFE, 0x00, 0x28, 0x0E, 0xD0, 0xA8, 0x68,
+0x00, 0x28, 0x01, 0xD0, 0x26, 0x60, 0x01, 0xE0,
+0x00, 0x20, 0x20, 0x60, 0x06, 0x20, 0x04, 0xE0,
+0x20, 0x68, 0x00, 0x28, 0x02, 0xD1, 0x26, 0x60,
+0x01, 0x27, 0xE0, 0x60, 0x38, 0x46, 0xF8, 0xBD,
+0x00, 0x02, 0x00, 0x20, 0x00, 0x09, 0x00, 0x50,
+0x10, 0x02, 0x00, 0x20, 0x06, 0x4C, 0x01, 0x25,
+0x06, 0x4E, 0x05, 0xE0, 0x20, 0x46, 0xE3, 0x68,
+0x07, 0xC8, 0x2B, 0x43, 0x98, 0x47, 0x10, 0x34,
+0xB4, 0x42, 0xF7, 0xD3, 0xFF, 0xF7, 0x92, 0xFC,
+0x8C, 0x07, 0x00, 0x00, 0x9C, 0x07, 0x00, 0x00,
+0x02, 0xE0, 0x08, 0xC8, 0x12, 0x1F, 0x08, 0xC1,
+0x00, 0x2A, 0xFA, 0xD1, 0x70, 0x47, 0x00, 0x20,
+0x01, 0xE0, 0x01, 0xC1, 0x12, 0x1F, 0x00, 0x2A,
+0xFB, 0xD1, 0x70, 0x47, 0x9C, 0x07, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x14, 0x00, 0x00, 0x00,
+0x70, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x9E, 0x60, 0x1F, 0x9A,
+0x5A, 0x01, 0xF0, 0x03, 0x5A, 0x01, 0xF0, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x20,
+0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0xD9, 0xEB, 0xE3, 0xE4, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0xA2, 0xC2, 0xE3, 0x15, 0xA1, 0x00, 0x01, 0xF3,
+0x01, 0x02, 0x02, 0x82, 0x27, 0x00, 0x01, 0x00,
+0x00, 0x01, 0x82, 0x27, 0x06, 0x06, 0x2E, 0x01,
+0x2E, 0x01, 0x2E, 0x01, 0x2E, 0x01, 0x26, 0x06,
+0x0C, 0x92, 0x01, 0x0D, 0x00, 0x00, 0x18, 0x00,
+0x00, 0x00, 0x0D, 0x00, 0x00, 0x18, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x10, 0x04, 0x09, 0x0F, 0x0A,
+0x10, 0x1D, 0x16, 0x1C, 0x15, 0x1B, 0x22, 0x24,
+0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x04,
+0x08, 0x0E, 0x07, 0x0D, 0x18, 0x13, 0x19, 0x14,
+0x1A, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
+0x24, 0x00, 0x05, 0x1E, 0x23, 0x00, 0x00, 0x86,
+0x01, 0x86, 0x01, 0x00, 0x00, 0x00, 0x70, 0x00,
+0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E,
+0x01, 0xA0, 0x00, 0x96, 0x00, 0x2D, 0x00, 0x78,
+0x00, 0x3C, 0x00, 0x48, 0x00, 0x48, 0x00, 0x42,
+0x00, 0x18, 0x00, 0x0C, 0x3C, 0x00, 0x12, 0x14,
+0x0A, 0x12, 0x55, 0x38, 0x66, 0x00, 0x05, 0x2D,
+0x60, 0x32, 0x06, 0x09, 0x61, 0x00, 0x00, 0x3C,
+0x28, 0x28, 0x28, 0x28, 0x05, 0xF8, 0x0D, 0x00,
+0x00, 0xC0, 0x6F, 0x00, 0x00, 0x01, 0x64, 0x00,
+0x82, 0x00, 0x0F, 0xF4, 0x01, 0xF8, 0x13, 0xC7,
+0x0C, 0x31, 0x03, 0xCC, 0x00, 0x08, 0x1E, 0x0A,
+0xFD, 0x05, 0x70, 0x10, 0x98, 0x08, 0xA7, 0x0F,
+0xE8, 0x03, 0x74, 0x00, 0x40, 0x00, 0x01, 0x01,
+0x70, 0x00, 0xDB, 0xFE, 0xD9, 0x0C, 0x74, 0x00,
+0x4F, 0x00, 0x46, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x3C, 0x06, 0xF2, 0xEE,
+0x28, 0x0C, 0x00, 0x20, 0xB1, 0x10, 0x00, 0x00,
+0xB9, 0x10, 0x00, 0x00, 0x95, 0x10, 0x00, 0x00,
+0xBD, 0x10, 0x00, 0x00, 0xBF, 0x10, 0x00, 0x00,
+0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0xC3, 0x10, 0x00, 0x00,
+0xC5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0xC7, 0x10, 0x00, 0x00, 0x51, 0x30, 0x00, 0x00,
+0xD5, 0x28, 0x00, 0x00, 0x05, 0x1D, 0x00, 0x00,
+0xCB, 0x10, 0x00, 0x00, 0x01, 0x2C, 0x00, 0x00,
+0xCB, 0x10, 0x00, 0x00, 0x19, 0x20, 0x00, 0x00,
+0xCB, 0x10, 0x00, 0x00, 0xCB, 0x10, 0x00, 0x00,
+0xCB, 0x10, 0x00, 0x00, 0xC9, 0x27, 0x00, 0x00,
+0x9D, 0x24, 0x00, 0x00, 0x95, 0x25, 0x00, 0x00,
+0x35, 0x22, 0x00, 0x00, 0x9D, 0x20, 0x00, 0x00,
+0xE9, 0x2F, 0x00, 0x00, 0xCB, 0x10, 0x00, 0x00,
+0x03, 0x48, 0x85, 0x46, 0x00, 0xF0, 0x74, 0xF8,
+0x00, 0x48, 0x00, 0x47, 0x09, 0x45, 0x00, 0x00,
+0x28, 0x0C, 0x00, 0x20, 0x04, 0x20, 0x71, 0x46,
+0x08, 0x42, 0x02, 0xD0, 0xEF, 0xF3, 0x09, 0x80,
+0x01, 0xE0, 0xEF, 0xF3, 0x08, 0x80, 0x71, 0x46,
+0x00, 0x4A, 0x10, 0x47, 0xCD, 0x42, 0x00, 0x00,
+0x06, 0x48, 0x80, 0x47, 0x06, 0x48, 0x00, 0x47,
+0xFE, 0xE7, 0xFE, 0xE7, 0xFE, 0xE7, 0xFE, 0xE7,
+0xFE, 0xE7, 0xFE, 0xE7, 0xFE, 0xE7, 0xFE, 0xE7,
+0xFE, 0xE7, 0xFE, 0xE7, 0x95, 0x11, 0x00, 0x00,
+0x81, 0x10, 0x00, 0x00, 0x30, 0xB5, 0x0B, 0x46,
+0x01, 0x46, 0x00, 0x20, 0x20, 0x22, 0x01, 0x24,
+0x09, 0xE0, 0x0D, 0x46, 0xD5, 0x40, 0x9D, 0x42,
+0x05, 0xD3, 0x1D, 0x46, 0x95, 0x40, 0x49, 0x1B,
+0x25, 0x46, 0x95, 0x40, 0x40, 0x19, 0x15, 0x46,
+0x52, 0x1E, 0x00, 0x2D, 0xF1, 0xDC, 0x30, 0xBD,
+0x70, 0xB5, 0x00, 0x24, 0x25, 0x46, 0x00, 0x28,
+0x01, 0xDA, 0x01, 0x24, 0x40, 0x42, 0x00, 0x29,
+0x01, 0xDA, 0x01, 0x25, 0x49, 0x42, 0xFF, 0xF7,
+0xDD, 0xFF, 0xAC, 0x42, 0x00, 0xD0, 0x40, 0x42,
+0x00, 0x2C, 0x00, 0xD0, 0x49, 0x42, 0x70, 0xBD,
+0x03, 0x46, 0x0B, 0x43, 0x9B, 0x07, 0x03, 0xD0,
+0x09, 0xE0, 0x08, 0xC9, 0x12, 0x1F, 0x08, 0xC0,
+0x04, 0x2A, 0xFA, 0xD2, 0x03, 0xE0, 0x0B, 0x78,
+0x03, 0x70, 0x40, 0x1C, 0x49, 0x1C, 0x52, 0x1E,
+0xF9, 0xD2, 0x70, 0x47, 0xD2, 0xB2, 0x01, 0xE0,
+0x02, 0x70, 0x40, 0x1C, 0x49, 0x1E, 0xFB, 0xD2,
+0x70, 0x47, 0x00, 0x22, 0xF6, 0xE7, 0x10, 0xB5,
+0x13, 0x46, 0x0A, 0x46, 0x04, 0x46, 0x19, 0x46,
+0xFF, 0xF7, 0xF0, 0xFF, 0x20, 0x46, 0x10, 0xBD,
+0x06, 0x4C, 0x01, 0x25, 0x06, 0x4E, 0x05, 0xE0,
+0xE3, 0x68, 0x07, 0xCC, 0x2B, 0x43, 0x0C, 0x3C,
+0x98, 0x47, 0x10, 0x34, 0xB4, 0x42, 0xF7, 0xD3,
+0xFF, 0xF7, 0x7E, 0xFF, 0xEC, 0x5E, 0x00, 0x00,
+0xFC, 0x5E, 0x00, 0x00, 0x62, 0xB6, 0x00, 0x20,
+0x01, 0x21, 0x89, 0x07, 0xC8, 0x60, 0x70, 0x47,
+0x30, 0xB4, 0x74, 0x46, 0x64, 0x1E, 0x25, 0x78,
+0x64, 0x1C, 0xAB, 0x42, 0x00, 0xD2, 0x1D, 0x46,
+0x63, 0x5D, 0x5B, 0x00, 0xE3, 0x18, 0x30, 0xBC,
+0x18, 0x47, 0x02, 0xE0, 0x08, 0xC8, 0x12, 0x1F,
+0x08, 0xC1, 0x00, 0x2A, 0xFA, 0xD1, 0x70, 0x47,
+0x70, 0x47, 0x00, 0x20, 0x01, 0xE0, 0x01, 0xC1,
+0x12, 0x1F, 0x00, 0x2A, 0xFB, 0xD1, 0x70, 0x47,
+0x70, 0xB5, 0x0D, 0x4C, 0x00, 0x20, 0x0B, 0x4D,
+0x23, 0x78, 0x10, 0xE0, 0x28, 0x21, 0x41, 0x43,
+0x09, 0x19, 0x09, 0x79, 0x0A, 0x06, 0x08, 0xD4,
+0x4A, 0x06, 0x52, 0x0E, 0xA9, 0x5C, 0xCE, 0x07,
+0x01, 0xD0, 0x49, 0x1C, 0x00, 0xE0, 0x49, 0x1E,
+0xA9, 0x54, 0x40, 0x1C, 0xC0, 0xB2, 0x83, 0x42,
+0xEC, 0xD8, 0x70, 0xBD, 0x92, 0x00, 0x00, 0x20,
+0x60, 0x03, 0x00, 0x20, 0x70, 0xB5, 0x05, 0x46,
+0x00, 0x20, 0x02, 0x46, 0x01, 0x26, 0x09, 0xE0,
+0x34, 0x46, 0x94, 0x40, 0x33, 0x46, 0x2C, 0x42,
+0x03, 0xD0, 0x8C, 0x1A, 0x64, 0x1E, 0xA3, 0x40,
+0x18, 0x43, 0x52, 0x1C, 0x8A, 0x42, 0xF3, 0xD3,
+0x70, 0xBD, 0x00, 0x00, 0xF0, 0xB5, 0x7F, 0x48,
+0x87, 0xB0, 0x00, 0x88, 0x00, 0x25, 0x80, 0xB2,
+0x02, 0x90, 0x7D, 0x48, 0xFF, 0x22, 0x00, 0x88,
+0x03, 0x21, 0x80, 0xB2, 0x01, 0x90, 0x68, 0x46,
+0xFF, 0xF7, 0x78, 0xFF, 0x7A, 0x4F, 0x00, 0x21,
+0x78, 0x4C, 0x3E, 0x78, 0x15, 0xE0, 0x28, 0x23,
+0x00, 0x20, 0x4B, 0x43, 0xDA, 0x19, 0x12, 0x79,
+0x34, 0x23, 0x43, 0x43, 0xE3, 0x5C, 0x9A, 0x42,
+0x05, 0xD1, 0x6A, 0x46, 0x50, 0x54, 0x01, 0x22,
+0x82, 0x40, 0x15, 0x43, 0x03, 0xE0, 0x40, 0x1C,
+0xC0, 0xB2, 0x03, 0x28, 0xF0, 0xD3, 0x49, 0x1C,
+0xC9, 0xB2, 0x8E, 0x42, 0xE7, 0xD8, 0x01, 0x21,
+0x00, 0x20, 0xFF, 0x23, 0x0D, 0x42, 0x03, 0xD1,
+0x34, 0x24, 0x68, 0x4E, 0x44, 0x43, 0x33, 0x55,
+0x40, 0x1C, 0x49, 0x00, 0xC0, 0xB2, 0x03, 0x28,
+0xF4, 0xD3, 0x00, 0x24, 0xBA, 0xE0, 0x6B, 0x46,
+0x18, 0x5D, 0xFF, 0x28, 0x31, 0xD1, 0x01, 0x20,
+0x00, 0x26, 0x05, 0x42, 0x05, 0xD0, 0x76, 0x1C,
+0x40, 0x00, 0xF6, 0xB2, 0x03, 0x2E, 0xF8, 0xD3,
+0x24, 0xE0, 0x03, 0x2E, 0x22, 0xD2, 0x05, 0x43,
+0x28, 0x20, 0x21, 0x46, 0x41, 0x43, 0x5A, 0x48,
+0x1E, 0x55, 0x09, 0x18, 0x34, 0x20, 0x0A, 0x27,
+0x46, 0x43, 0xCF, 0x5F, 0x55, 0x48, 0xBA, 0x01,
+0x30, 0x18, 0xC2, 0x60, 0x47, 0x60, 0x87, 0x60,
+0x02, 0x61, 0x0C, 0x27, 0xCF, 0x5F, 0xBA, 0x01,
+0xC2, 0x61, 0x47, 0x61, 0x87, 0x61, 0x02, 0x62,
+0x0E, 0x27, 0xCF, 0x5F, 0xBA, 0x01, 0xC2, 0x62,
+0x47, 0x62, 0x87, 0x62, 0x02, 0x63, 0x4B, 0x48,
+0x09, 0x79, 0x81, 0x55, 0x18, 0x5D, 0xFF, 0x28,
+0x74, 0xD0, 0xC0, 0xB2, 0x34, 0x21, 0x48, 0x43,
+0x46, 0x49, 0x29, 0x22, 0x41, 0x18, 0x0B, 0x69,
+0x64, 0x20, 0x9E, 0x46, 0x43, 0x43, 0xC8, 0x68,
+0x29, 0x27, 0x50, 0x43, 0x18, 0x1A, 0x20, 0x30,
+0x86, 0x11, 0x22, 0x46, 0x28, 0x20, 0x42, 0x43,
+0x3F, 0x48, 0x0A, 0x23, 0x10, 0x18, 0xC3, 0x5E,
+0x05, 0x93, 0x4A, 0x68, 0x9A, 0x18, 0x8B, 0x68,
+0x5B, 0x00, 0xD2, 0x18, 0x93, 0x00, 0xD2, 0x18,
+0x92, 0x1C, 0x92, 0x10, 0x93, 0x19, 0x9C, 0x46,
+0x0A, 0x6A, 0x64, 0x23, 0x5A, 0x43, 0xCB, 0x69,
+0x29, 0x26, 0x73, 0x43, 0xD2, 0x1A, 0x0C, 0x23,
+0xC3, 0x5E, 0x04, 0x93, 0x4E, 0x69, 0x20, 0x32,
+0x9E, 0x19, 0x8B, 0x69, 0x92, 0x11, 0x5B, 0x00,
+0xF3, 0x18, 0x9E, 0x00, 0x9B, 0x19, 0x9B, 0x1C,
+0x9B, 0x10, 0x9A, 0x18, 0x0B, 0x6B, 0x64, 0x26,
+0x73, 0x43, 0xCE, 0x6A, 0x7E, 0x43, 0x9B, 0x1B,
+0x20, 0x33, 0x9F, 0x11, 0x0E, 0x23, 0xC3, 0x5E,
+0x03, 0x93, 0x4E, 0x6A, 0x9E, 0x19, 0x8B, 0x6A,
+0x5B, 0x00, 0xF3, 0x18, 0x9E, 0x00, 0x9B, 0x19,
+0x9B, 0x1C, 0x9B, 0x10, 0xDE, 0x19, 0x73, 0x46,
+0xCB, 0x60, 0x63, 0x46, 0x0B, 0x61, 0x0B, 0x6A,
+0xCB, 0x61, 0x0A, 0x62, 0x0B, 0x6B, 0x0E, 0x63,
+0xCB, 0x62, 0x8B, 0x68, 0x4B, 0x60, 0x05, 0x9B,
+0x8B, 0x60, 0x8B, 0x69, 0x4B, 0x61, 0x04, 0x9B,
+0x8B, 0x61, 0x8B, 0x6A, 0x4B, 0x62, 0x03, 0x9B,
+0x8B, 0x62, 0x63, 0x46, 0x99, 0x11, 0xB3, 0x11,
+0x02, 0x9E, 0x92, 0x11, 0xB1, 0x42, 0x01, 0xDB,
+0x71, 0x1E, 0x02, 0xE0, 0x00, 0x29, 0x00, 0xDA,
+0x00, 0x21, 0x01, 0x9E, 0xB2, 0x42, 0x02, 0xDB,
+0x72, 0x1E, 0x03, 0xE0, 0x0C, 0xE0, 0x00, 0x2A,
+0x00, 0xDA, 0x00, 0x22, 0x00, 0x2B, 0x00, 0xDA,
+0x00, 0x23, 0x41, 0x81, 0x82, 0x81, 0xC3, 0x81,
+0x01, 0x21, 0x20, 0x46, 0x04, 0xF0, 0x70, 0xFA,
+0x64, 0x1C, 0xE4, 0xB2, 0x06, 0x48, 0x00, 0x78,
+0xA0, 0x42, 0x00, 0xD9, 0x3F, 0xE7, 0x07, 0xB0,
+0xF0, 0xBD, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x20,
+0xBA, 0x00, 0x00, 0x20, 0x48, 0x04, 0x00, 0x20,
+0xE4, 0x02, 0x00, 0x20, 0xF0, 0xB5, 0x91, 0xB0,
+0x02, 0xF0, 0x14, 0xFC, 0x0F, 0x90, 0x59, 0x48,
+0x00, 0x25, 0x41, 0x5F, 0x0F, 0x98, 0x81, 0x42,
+0x7E, 0xDD, 0x06, 0x27, 0x30, 0x21, 0x02, 0xA8,
+0x10, 0x97, 0xFF, 0xF7, 0x76, 0xFE, 0x54, 0x48,
+0x00, 0x78, 0x06, 0x28, 0x75, 0xD2, 0x08, 0xA8,
+0x01, 0x26, 0x0E, 0x90, 0x08, 0xE0, 0x00, 0x2E,
+0x06, 0xD1, 0x69, 0x46, 0x01, 0xA8, 0x0F, 0x9A,
+0x03, 0xF0, 0x76, 0xFF, 0x00, 0x28, 0x68, 0xD0,
+0x00, 0x2E, 0x0B, 0xD0, 0x4B, 0x48, 0x39, 0x46,
+0x00, 0x88, 0x04, 0x46, 0xFF, 0xF7, 0x1A, 0xFE,
+0x69, 0x46, 0x08, 0x71, 0x78, 0x43, 0x20, 0x1A,
+0x08, 0x70, 0x00, 0x26, 0x0F, 0x98, 0x02, 0xAA,
+0x83, 0xB2, 0x69, 0x46, 0x01, 0xA8, 0x02, 0xF0,
+0x63, 0xFC, 0x01, 0x21, 0xC9, 0x03, 0xC8, 0x42,
+0x5B, 0xD0, 0x28, 0x21, 0x2A, 0x46, 0x4A, 0x43,
+0x3F, 0x49, 0x54, 0x18, 0xE0, 0x81, 0xFF, 0x20,
+0x20, 0x71, 0x00, 0x20, 0x20, 0x62, 0x68, 0x46,
+0x01, 0x78, 0x00, 0x29, 0x08, 0xD0, 0x78, 0x1E,
+0x81, 0x42, 0x02, 0xAA, 0x07, 0xD1, 0x00, 0x21,
+0x01, 0x20, 0x02, 0xF0, 0x4F, 0xFB, 0x05, 0xE0,
+0x02, 0xAA, 0x01, 0x21, 0xF8, 0xE7, 0x01, 0x20,
+0x02, 0xF0, 0x94, 0xFB, 0x60, 0x81, 0x68, 0x46,
+0x01, 0x79, 0x00, 0x29, 0x09, 0xD0, 0x10, 0x98,
+0x0E, 0x9A, 0x40, 0x1E, 0x81, 0x42, 0x07, 0xD1,
+0x00, 0x21, 0x00, 0x20, 0x02, 0xF0, 0x3A, 0xFB,
+0x05, 0xE0, 0x01, 0x21, 0x0E, 0x9A, 0xF8, 0xE7,
+0x00, 0x20, 0x02, 0xF0, 0x7F, 0xFB, 0xA0, 0x81,
+0x28, 0x46, 0x04, 0xF0, 0xBD, 0xFA, 0x00, 0x21,
+0x28, 0x46, 0x04, 0xF0, 0xE9, 0xF9, 0x07, 0x98,
+0x20, 0x83, 0x0D, 0x98, 0x60, 0x83, 0x23, 0x48,
+0x00, 0x21, 0x41, 0x5E, 0x0C, 0x22, 0x48, 0x10,
+0x40, 0x1E, 0x80, 0xB2, 0x0A, 0x21, 0x61, 0x5E,
+0xA2, 0x5E, 0x09, 0x1A, 0x12, 0x1A, 0x49, 0x43,
+0x52, 0x43, 0x89, 0x18, 0x1C, 0x4A, 0x01, 0xE0,
+0x0F, 0xE0, 0x18, 0xE0, 0x12, 0x78, 0x80, 0x1A,
+0x40, 0x43, 0x81, 0x42, 0x01, 0xDD, 0x01, 0x20,
+0x00, 0xE0, 0x00, 0x20, 0x6D, 0x1C, 0x20, 0x77,
+0xED, 0xB2, 0x03, 0x2D, 0x00, 0xD2, 0x7E, 0xE7,
+0x09, 0xE0, 0x11, 0x49, 0x00, 0x20, 0x08, 0x70,
+0x12, 0x48, 0x40, 0x78, 0x0A, 0x28, 0x02, 0xD9,
+0x00, 0x20, 0x11, 0xB0, 0xF0, 0xBD, 0x0A, 0x48,
+0x00, 0x78, 0x03, 0x28, 0x03, 0xD2, 0x0E, 0x48,
+0x00, 0x78, 0x00, 0x28, 0x03, 0xD0, 0x08, 0x49,
+0x00, 0x20, 0x08, 0x70, 0x01, 0xE0, 0x06, 0x48,
+0x05, 0x70, 0x03, 0xF0, 0x13, 0xFB, 0x01, 0x20,
+0xEB, 0xE7, 0x00, 0x00, 0x74, 0x00, 0x00, 0x20,
+0x5E, 0x00, 0x00, 0x20, 0x76, 0x00, 0x00, 0x20,
+0xE4, 0x02, 0x00, 0x20, 0xB8, 0x00, 0x00, 0x20,
+0xB1, 0x00, 0x00, 0x20, 0x04, 0x06, 0x00, 0x20,
+0xC1, 0x00, 0x00, 0x20, 0xF0, 0xB5, 0x8E, 0x46,
+0x02, 0x21, 0x4B, 0x00, 0xC3, 0x5E, 0x00, 0x2B,
+0x03, 0xDD, 0x49, 0x1E, 0x09, 0xB2, 0x00, 0x29,
+0xF7, 0xDA, 0x49, 0x1C, 0x00, 0x27, 0x0B, 0xB2,
+0x9C, 0x46, 0x3C, 0x46, 0x01, 0x25, 0x0E, 0xE0,
+0x5E, 0x00, 0x86, 0x5F, 0x00, 0x2E, 0x02, 0xDC,
+0x5B, 0x1E, 0x1B, 0xB2, 0x09, 0xE0, 0x31, 0x46,
+0x69, 0x43, 0x6D, 0x1C, 0xCF, 0x19, 0x34, 0x19,
+0x5B, 0x1C, 0x2D, 0xB2, 0x1B, 0xB2, 0x05, 0x2B,
+0xEE, 0xDB, 0x61, 0x46, 0x59, 0x1A, 0x49, 0x1C,
+0x66, 0x08, 0x63, 0x46, 0x00, 0x25, 0x51, 0x61,
+0x06, 0xE0, 0x59, 0x00, 0x41, 0x5E, 0x4D, 0x19,
+0xB5, 0x42, 0x03, 0xD8, 0x5B, 0x1C, 0x1B, 0xB2,
+0x05, 0x2B, 0xF6, 0xDB, 0x5E, 0x00, 0x81, 0x5F,
+0x69, 0x1A, 0x11, 0x60, 0x80, 0x5F, 0x50, 0x60,
+0x60, 0x1B, 0xD4, 0x60, 0x90, 0x60, 0x60, 0x46,
+0x18, 0x1A, 0x60, 0x43, 0x38, 0x1A, 0x10, 0x61,
+0x70, 0x46, 0x00, 0x78, 0x9B, 0x1E, 0xC0, 0x18,
+0x71, 0x46, 0x08, 0x70, 0x20, 0xB2, 0xF0, 0xBD,
+0xF8, 0xB5, 0x54, 0x4D, 0x00, 0x27, 0x28, 0x78,
+0x3C, 0x46, 0x00, 0x28, 0x02, 0xD0, 0x03, 0xF0,
+0x2B, 0xF9, 0x01, 0xE0, 0x50, 0x48, 0x04, 0x80,
+0x00, 0x20, 0x50, 0x4E, 0x0D, 0xE0, 0x28, 0x21,
+0x41, 0x43, 0x89, 0x19, 0x0A, 0x79, 0x12, 0x06,
+0x01, 0xD5, 0xCC, 0x71, 0x03, 0xE0, 0xCA, 0x79,
+0x52, 0x1C, 0xCA, 0x71, 0x01, 0x27, 0x40, 0x1C,
+0xC0, 0xB2, 0x31, 0x78, 0x81, 0x42, 0xEE, 0xD8,
+0x28, 0x78, 0xC9, 0xB2, 0x88, 0x42, 0x01, 0xD1,
+0x00, 0x2F, 0x02, 0xD0, 0x03, 0xF0, 0x0E, 0xFD,
+0x0D, 0xE0, 0xA8, 0x70, 0x00, 0x20, 0x28, 0x21,
+0x41, 0x43, 0x49, 0x19, 0x8C, 0x71, 0x40, 0x1C,
+0xCC, 0x71, 0xC0, 0xB2, 0x0C, 0x72, 0x03, 0x28,
+0xF5, 0xD3, 0x6C, 0x70, 0x74, 0x70, 0x28, 0x78,
+0xA9, 0x78, 0x88, 0x42, 0x01, 0xD0, 0x03, 0xF0,
+0xD7, 0xFA, 0x28, 0x78, 0x00, 0x28, 0x01, 0xD1,
+0x37, 0x48, 0x04, 0x70, 0x02, 0xF0, 0x06, 0xFE,
+0xFF, 0xF7, 0x6E, 0xFD, 0x32, 0x4B, 0x35, 0x49,
+0x18, 0x88, 0x08, 0x80, 0x1C, 0x80, 0x00, 0x20,
+0x2A, 0x78, 0x09, 0xE0, 0x28, 0x21, 0x41, 0x43,
+0x49, 0x19, 0x09, 0x6A, 0x1F, 0x88, 0xB9, 0x42,
+0x00, 0xD9, 0x19, 0x80, 0x40, 0x1C, 0xC0, 0xB2,
+0x82, 0x42, 0xF3, 0xD8, 0x03, 0x20, 0x81, 0x1A,
+0x28, 0x20, 0x41, 0x43, 0x42, 0x43, 0x50, 0x19,
+0x00, 0x1D, 0xFF, 0xF7, 0x12, 0xFD, 0x00, 0x27,
+0x0F, 0xE0, 0x30, 0x78, 0x28, 0x21, 0xC0, 0x19,
+0x48, 0x43, 0x81, 0x19, 0x28, 0x78, 0x28, 0x22,
+0xC0, 0x19, 0x50, 0x43, 0x40, 0x19, 0x00, 0x1D,
+0x09, 0x1D, 0xFF, 0xF7, 0xE9, 0xFC, 0x7F, 0x1C,
+0xFF, 0xB2, 0x6A, 0x78, 0xBA, 0x42, 0xEC, 0xD8,
+0x00, 0x20, 0x28, 0x21, 0x41, 0x43, 0x4B, 0x19,
+0x81, 0x00, 0x89, 0x19, 0x40, 0x31, 0x5F, 0x89,
+0x8F, 0x87, 0x40, 0x1C, 0x9B, 0x89, 0xC0, 0xB2,
+0xCB, 0x87, 0x03, 0x28, 0xF1, 0xD3, 0x16, 0x4B,
+0x00, 0x20, 0x5C, 0x80, 0x31, 0x78, 0x01, 0x24,
+0x8A, 0x18, 0x0C, 0xE0, 0x28, 0x21, 0x41, 0x43,
+0x89, 0x19, 0x09, 0x79, 0x4D, 0x06, 0x6D, 0x0E,
+0x21, 0x46, 0xA9, 0x40, 0x5D, 0x88, 0x29, 0x43,
+0x40, 0x1C, 0x59, 0x80, 0xC0, 0xB2, 0x82, 0x42,
+0xF0, 0xD8, 0x59, 0x88, 0x00, 0x20, 0x22, 0x46,
+0x82, 0x40, 0x0A, 0x42, 0x01, 0xD1, 0x58, 0x70,
+0xF8, 0xBD, 0x40, 0x1C, 0xC0, 0xB2, 0x02, 0x28,
+0xF5, 0xD3, 0xF8, 0xBD, 0xE4, 0x02, 0x00, 0x20,
+0x7A, 0x00, 0x00, 0x20, 0x60, 0x03, 0x00, 0x20,
+0xA8, 0x00, 0x00, 0x20, 0x7C, 0x00, 0x00, 0x20,
+0x04, 0x00, 0x00, 0x20, 0x30, 0xB5, 0x02, 0x28,
+0x03, 0xD0, 0x04, 0x28, 0x05, 0xD0, 0x00, 0x20,
+0x30, 0xBD, 0x2D, 0x24, 0x07, 0x4D, 0x24, 0x01,
+0x02, 0xE0, 0x07, 0x4D, 0x49, 0x24, 0xE4, 0x00,
+0x24, 0x1F, 0x21, 0x46, 0x28, 0x46, 0x00, 0xF0,
+0x71, 0xF9, 0xA1, 0x08, 0x89, 0x00, 0x68, 0x50,
+0x01, 0x20, 0x30, 0xBD, 0x04, 0x0A, 0x00, 0x00,
+0xD4, 0x0C, 0x00, 0x00, 0x10, 0xB5, 0x09, 0x4A,
+0x00, 0x23, 0x53, 0x60, 0x07, 0x48, 0x40, 0x24,
+0x80, 0x30, 0xC4, 0x63, 0xC1, 0x6B, 0x49, 0x06,
+0xFC, 0xD4, 0x06, 0x21, 0x51, 0x60, 0xC4, 0x63,
+0xC1, 0x6B, 0x49, 0x06, 0xFC, 0xD4, 0x53, 0x60,
+0x10, 0xBD, 0x00, 0x00, 0x40, 0x07, 0x00, 0x50,
+0x00, 0xB5, 0x02, 0x46, 0x02, 0xF0, 0x54, 0xFD,
+0x01, 0x49, 0x89, 0x68, 0x11, 0x70, 0x00, 0xBD,
+0x40, 0x07, 0x00, 0x50, 0x10, 0x48, 0x00, 0x78,
+0xC0, 0x07, 0x1C, 0xD1, 0x0F, 0x48, 0x01, 0x21,
+0x02, 0x78, 0x0F, 0x48, 0x05, 0x2A, 0x0E, 0xD8,
+0x0E, 0x4A, 0x12, 0x78, 0x00, 0x2A, 0x03, 0xD0,
+0x0D, 0x4A, 0x12, 0x78, 0x00, 0x2A, 0x05, 0xD0,
+0x0C, 0x4A, 0x52, 0x78, 0x5A, 0x2A, 0x02, 0xD8,
+0x04, 0x21, 0x00, 0xE0, 0x02, 0x21, 0x41, 0x61,
+0x05, 0x48, 0x10, 0x21, 0x80, 0x30, 0xC1, 0x63,
+0xC1, 0x6B, 0xC9, 0x06, 0xFC, 0xD4, 0x70, 0x47,
+0x6E, 0x00, 0x00, 0x20, 0x61, 0x00, 0x00, 0x20,
+0x40, 0x07, 0x00, 0x50, 0xA6, 0x00, 0x00, 0x20,
+0x62, 0x00, 0x00, 0x20, 0x04, 0x06, 0x00, 0x20,
+0x00, 0xB5, 0x09, 0x48, 0x07, 0x49, 0x09, 0x4A,
+0x01, 0x60, 0x12, 0x68, 0x00, 0x21, 0x11, 0x80,
+0x07, 0x49, 0xC9, 0x68, 0x00, 0x68, 0x09, 0x0C,
+0x49, 0x1C, 0x01, 0x80, 0x05, 0x48, 0xFF, 0xF7,
+0xB7, 0xFF, 0x00, 0xBD, 0x00, 0x00, 0x04, 0x20,
+0x20, 0x00, 0x00, 0x20, 0x14, 0x00, 0x00, 0x20,
+0x40, 0x07, 0x00, 0x50, 0xBC, 0x00, 0x00, 0x20,
+0x03, 0x48, 0x04, 0x21, 0xC1, 0x63, 0xC1, 0x6B,
+0x49, 0x07, 0xFC, 0xD4, 0x70, 0x47, 0x00, 0x00,
+0xC0, 0x07, 0x00, 0x50, 0x70, 0xB5, 0x01, 0x24,
+0xA4, 0x07, 0x20, 0x68, 0xA5, 0x13, 0x28, 0x43,
+0x20, 0x60, 0x0C, 0x4A, 0x00, 0x20, 0x50, 0x60,
+0xE0, 0x68, 0x26, 0x14, 0x30, 0x43, 0xE0, 0x60,
+0x08, 0x49, 0x24, 0x20, 0x40, 0x39, 0x88, 0x63,
+0x00, 0xF0, 0x5C, 0xF9, 0x01, 0x20, 0x90, 0x61,
+0x00, 0xF0, 0x66, 0xF9, 0x04, 0x48, 0x06, 0x60,
+0x60, 0x68, 0x28, 0x43, 0x60, 0x60, 0xFF, 0xF7,
+0xBB, 0xFF, 0x70, 0xBD, 0x40, 0x07, 0x00, 0x50,
+0x00, 0xE1, 0x00, 0xE0, 0x01, 0x20, 0x80, 0x07,
+0xC2, 0x68, 0x01, 0x21, 0x0A, 0x43, 0xC2, 0x60,
+0x02, 0x4A, 0x03, 0x20, 0x50, 0x60, 0x02, 0x48,
+0x01, 0x60, 0x70, 0x47, 0x40, 0x00, 0x00, 0x50,
+0x00, 0xE1, 0x00, 0xE0, 0xF0, 0xB5, 0x05, 0x46,
+0x24, 0x23, 0x00, 0xF0, 0x89, 0xF8, 0x00, 0x28,
+0x2A, 0xD0, 0x17, 0x4E, 0x00, 0x2A, 0x19, 0xD0,
+0x16, 0x4C, 0x22, 0x68, 0x02, 0x27, 0xBA, 0x43,
+0x22, 0x60, 0x02, 0xE0, 0x5A, 0x00, 0x8F, 0x5A,
+0x87, 0x52, 0x1A, 0x46, 0x5B, 0x1E, 0xDB, 0xB2,
+0x00, 0x2A, 0xF7, 0xD1, 0x30, 0x68, 0x01, 0x88,
+0x29, 0x43, 0x01, 0x80, 0x02, 0x20, 0xFF, 0xF7,
+0x1D, 0xFF, 0x20, 0x68, 0x02, 0x21, 0x08, 0x43,
+0x20, 0x60, 0x0C, 0xE0, 0x32, 0x68, 0x12, 0x88,
+0x2A, 0x42, 0x03, 0xD1, 0x09, 0xE0, 0x5A, 0x00,
+0x84, 0x5A, 0x8C, 0x52, 0x1A, 0x46, 0x5B, 0x1E,
+0xDB, 0xB2, 0x00, 0x2A, 0xF7, 0xD1, 0x01, 0x20,
+0xF0, 0xBD, 0x00, 0x20, 0xF0, 0xBD, 0x00, 0x00,
+0xE4, 0x00, 0x00, 0x20, 0x00, 0x09, 0x00, 0x50,
+0xF0, 0xB5, 0x05, 0x46, 0x12, 0x23, 0x00, 0xF0,
+0x65, 0xF8, 0x00, 0x28, 0x2A, 0xD0, 0x17, 0x4E,
+0x00, 0x2A, 0x19, 0xD0, 0x16, 0x4C, 0x22, 0x68,
+0x04, 0x27, 0xBA, 0x43, 0x22, 0x60, 0x02, 0xE0,
+0x9A, 0x00, 0x8F, 0x58, 0x87, 0x50, 0x1A, 0x46,
+0x5B, 0x1E, 0xDB, 0xB2, 0x00, 0x2A, 0xF7, 0xD1,
+0x30, 0x68, 0x01, 0x88, 0x29, 0x43, 0x01, 0x80,
+0x04, 0x20, 0xFF, 0xF7, 0xE3, 0xFE, 0x20, 0x68,
+0x04, 0x21, 0x08, 0x43, 0x20, 0x60, 0x0C, 0xE0,
+0x32, 0x68, 0x12, 0x88, 0x2A, 0x42, 0x03, 0xD1,
+0x09, 0xE0, 0x9A, 0x00, 0x84, 0x58, 0x8C, 0x50,
+0x1A, 0x46, 0x5B, 0x1E, 0xDB, 0xB2, 0x00, 0x2A,
+0xF7, 0xD1, 0x01, 0x20, 0xF0, 0xBD, 0x00, 0x20,
+0xF0, 0xBD, 0x00, 0x00, 0xD4, 0x00, 0x00, 0x20,
+0x00, 0x09, 0x00, 0x50, 0x30, 0xB5, 0x09, 0x4B,
+0x1A, 0x68, 0x06, 0x24, 0xA2, 0x43, 0x1A, 0x60,
+0x07, 0x4A, 0x12, 0x68, 0x15, 0x88, 0x85, 0x43,
+0x06, 0x48, 0x15, 0x80, 0x00, 0x68, 0x02, 0x88,
+0x8A, 0x43, 0x02, 0x80, 0x18, 0x68, 0x20, 0x43,
+0x18, 0x60, 0x30, 0xBD, 0x00, 0x09, 0x00, 0x50,
+0xD4, 0x00, 0x00, 0x20, 0xE4, 0x00, 0x00, 0x20,
+0x01, 0x28, 0x05, 0xD0, 0x02, 0x28, 0x05, 0xD0,
+0x04, 0x28, 0x05, 0xD0, 0x00, 0x20, 0x70, 0x47,
+0x03, 0x48, 0x02, 0xE0, 0x03, 0x48, 0x00, 0xE0,
+0x03, 0x48, 0x00, 0x68, 0x70, 0x47, 0x00, 0x00,
+0xD8, 0x00, 0x00, 0x20, 0xDC, 0x00, 0x00, 0x20,
+0xE0, 0x00, 0x00, 0x20, 0x01, 0x28, 0x05, 0xD0,
+0x02, 0x28, 0x05, 0xD0, 0x04, 0x28, 0x05, 0xD0,
+0x00, 0x20, 0x70, 0x47, 0x03, 0x48, 0x02, 0xE0,
+0x03, 0x48, 0x00, 0xE0, 0x03, 0x48, 0x00, 0x68,
+0x70, 0x47, 0x00, 0x00, 0xC8, 0x00, 0x00, 0x20,
+0xCC, 0x00, 0x00, 0x20, 0xD0, 0x00, 0x00, 0x20,
+0x01, 0x49, 0x7F, 0x20, 0x08, 0x60, 0x70, 0x47,
+0x00, 0x09, 0x00, 0x50, 0xF0, 0xB5, 0x00, 0x24,
+0xE4, 0x43, 0x0E, 0x46, 0x07, 0x46, 0x00, 0x25,
+0x14, 0xE0, 0x78, 0x5D, 0x08, 0x21, 0xFF, 0xF7,
+0x8D, 0xFB, 0xC1, 0xB2, 0x0B, 0x4A, 0x00, 0x20,
+0x23, 0x46, 0x4B, 0x40, 0xDB, 0x07, 0x02, 0xD0,
+0x64, 0x08, 0x54, 0x40, 0x00, 0xE0, 0x64, 0x08,
+0x40, 0x1C, 0x49, 0x08, 0xC0, 0xB2, 0x08, 0x28,
+0xF2, 0xD3, 0x6D, 0x1C, 0xB5, 0x42, 0xE8, 0xD3,
+0x20, 0x21, 0x20, 0x46, 0xFF, 0xF7, 0x76, 0xFB,
+0xF0, 0xBD, 0x00, 0x00, 0x20, 0x83, 0xB8, 0xED,
+0x01, 0x20, 0x80, 0x07, 0x01, 0x68, 0x01, 0x43,
+0x01, 0x60, 0x70, 0x47, 0x01, 0x20, 0x80, 0x07,
+0x02, 0x68, 0x41, 0x15, 0x0A, 0x43, 0x02, 0x60,
+0xC3, 0x68, 0xC2, 0x14, 0x13, 0x43, 0xC3, 0x60,
+0x41, 0x60, 0x7D, 0x21, 0x03, 0x48, 0xC9, 0x00,
+0x41, 0x60, 0x03, 0x49, 0x01, 0x60, 0x03, 0x48,
+0x02, 0x60, 0x70, 0x47, 0x00, 0x03, 0x00, 0x50,
+0x11, 0x00, 0x01, 0x48, 0x00, 0xE1, 0x00, 0xE0,
+0x70, 0xB5, 0x19, 0x49, 0x17, 0x4D, 0x0C, 0x68,
+0x81, 0x34, 0x61, 0x78, 0x23, 0x78, 0x0A, 0x02,
+0x1A, 0x43, 0x29, 0x68, 0x00, 0x28, 0x0F, 0xD0,
+0x50, 0x01, 0x49, 0x1C, 0xFF, 0xF7, 0xA2, 0xFA,
+0x00, 0x04, 0xE8, 0x60, 0x29, 0x68, 0x60, 0x78,
+0x22, 0x78, 0x00, 0x02, 0x10, 0x43, 0x42, 0x00,
+0x80, 0x18, 0x40, 0x08, 0x00, 0x01, 0x0D, 0xE0,
+0x60, 0x20, 0x50, 0x43, 0x49, 0x1C, 0xFF, 0xF7,
+0x91, 0xFA, 0x00, 0x04, 0xE8, 0x60, 0x29, 0x68,
+0x60, 0x78, 0x22, 0x78, 0x00, 0x02, 0x10, 0x43,
+0x50, 0x22, 0x50, 0x43, 0x49, 0x1C, 0xFF, 0xF7,
+0x85, 0xFA, 0xE9, 0x68, 0x08, 0x43, 0xE8, 0x60,
+0x70, 0xBD, 0x00, 0x00, 0x40, 0x07, 0x00, 0x50,
+0xC4, 0x00, 0x00, 0x20, 0x04, 0x48, 0x00, 0x68,
+0xA0, 0x30, 0x01, 0x78, 0x03, 0x48, 0x01, 0x61,
+0x04, 0x21, 0x41, 0x61, 0x70, 0x47, 0x00, 0x00,
+0xC4, 0x00, 0x00, 0x20, 0x40, 0x07, 0x00, 0x50,
+0x10, 0xB5, 0x0E, 0x48, 0x0F, 0x4C, 0x01, 0x78,
+0x0D, 0x48, 0x00, 0x29, 0x00, 0x68, 0x00, 0x7F,
+0x0B, 0xD0, 0x0D, 0x49, 0x09, 0x78, 0x01, 0x29,
+0x09, 0xD0, 0xC0, 0x21, 0x48, 0x43, 0x30, 0x21,
+0xFF, 0xF7, 0x5C, 0xFA, 0x22, 0x21, 0x48, 0x43,
+0x40, 0x09, 0x20, 0x60, 0x10, 0xBD, 0xC0, 0x21,
+0x48, 0x43, 0x30, 0x21, 0xFF, 0xF7, 0x52, 0xFA,
+0x24, 0x21, 0xF4, 0xE7, 0xA6, 0x00, 0x00, 0x20,
+0xC4, 0x00, 0x00, 0x20, 0x40, 0x07, 0x00, 0x50,
+0x66, 0x00, 0x00, 0x20, 0x10, 0xB5, 0x1F, 0x4C,
+0x39, 0x20, 0x00, 0xF0, 0xA7, 0xF8, 0x00, 0xF0,
+0xAF, 0xF8, 0x00, 0x20, 0x10, 0x22, 0x03, 0x00,
+0xFF, 0xF7, 0xA2, 0xFA, 0x0B, 0x07, 0x0A, 0x0E,
+0x11, 0x14, 0x17, 0x1A, 0x1D, 0x20, 0x23, 0x26,
+0x29, 0x00, 0x17, 0x49, 0x21, 0x80, 0x21, 0xE0,
+0x15, 0x49, 0x09, 0x1D, 0x61, 0x80, 0x1D, 0xE0,
+0x14, 0x49, 0xA1, 0x80, 0x1A, 0xE0, 0x14, 0x49,
+0xE1, 0x80, 0x17, 0xE0, 0x13, 0x49, 0x21, 0x81,
+0x14, 0xE0, 0x13, 0x49, 0x61, 0x81, 0x11, 0xE0,
+0x12, 0x49, 0xA1, 0x81, 0x0E, 0xE0, 0x12, 0x49,
+0xE1, 0x81, 0x0B, 0xE0, 0x11, 0x49, 0x21, 0x82,
+0x08, 0xE0, 0x11, 0x49, 0x61, 0x82, 0x05, 0xE0,
+0x10, 0x49, 0xA1, 0x82, 0x02, 0xE0, 0x10, 0x49,
+0x43, 0x00, 0xE1, 0x52, 0x40, 0x1C, 0x80, 0xB2,
+0x0B, 0x28, 0xCC, 0xD3, 0x01, 0x20, 0x80, 0x07,
+0x42, 0x60, 0x10, 0xBD, 0xCC, 0x02, 0x00, 0x20,
+0x90, 0x02, 0x00, 0x20, 0x88, 0x02, 0x00, 0x20,
+0xF4, 0x05, 0x00, 0x20, 0xF0, 0x05, 0x00, 0x20,
+0xF8, 0x05, 0x00, 0x20, 0xFC, 0x05, 0x00, 0x20,
+0xE8, 0x05, 0x00, 0x20, 0xE4, 0x05, 0x00, 0x20,
+0xC0, 0x02, 0x00, 0x20, 0xBC, 0x02, 0x00, 0x20,
+0xC4, 0x02, 0x00, 0x20, 0x01, 0x20, 0x80, 0x07,
+0x81, 0x68, 0x01, 0x22, 0x11, 0x43, 0x81, 0x60,
+0x70, 0x47, 0x70, 0x47, 0x03, 0x49, 0x02, 0x20,
+0x08, 0x60, 0x02, 0x49, 0x80, 0x39, 0x08, 0x60,
+0x70, 0x47, 0x00, 0x00, 0x80, 0xE1, 0x00, 0xE0,
+0x11, 0x49, 0x04, 0x22, 0x0C, 0x28, 0x10, 0xD0,
+0x8B, 0x05, 0x0D, 0x28, 0x08, 0x6A, 0x10, 0xD0,
+0x18, 0x43, 0x08, 0x62, 0x88, 0x6A, 0x10, 0x43,
+0x88, 0x62, 0xC8, 0x68, 0xC8, 0x60, 0x88, 0x6A,
+0x88, 0x62, 0x0A, 0x49, 0x01, 0x20, 0x08, 0x70,
+0x70, 0x47, 0x08, 0x6A, 0x40, 0x00, 0x40, 0x08,
+0x00, 0xE0, 0x18, 0x43, 0x08, 0x62, 0x88, 0x6A,
+0x90, 0x43, 0x88, 0x62, 0xC8, 0x68, 0xC8, 0x60,
+0x88, 0x6A, 0x88, 0x62, 0x70, 0x47, 0x00, 0x00,
+0x00, 0x06, 0x00, 0x50, 0x37, 0x00, 0x00, 0x20,
+0x00, 0xB5, 0x08, 0x49, 0x0A, 0x28, 0x05, 0xD0,
+0x07, 0x48, 0x00, 0x0C, 0x48, 0x63, 0x07, 0x48,
+0x08, 0x63, 0x00, 0xBD, 0x06, 0x48, 0x00, 0x68,
+0x08, 0x62, 0x0D, 0x20, 0xFF, 0xF7, 0xC8, 0xFF,
+0x00, 0xBD, 0x00, 0x00, 0x00, 0x06, 0x00, 0x50,
+0xBC, 0x02, 0x00, 0x20, 0xCC, 0x02, 0x00, 0x20,
+0xC0, 0x02, 0x00, 0x20, 0x03, 0x49, 0x4A, 0x68,
+0xD2, 0x09, 0xD2, 0x01, 0x02, 0x43, 0x4A, 0x60,
+0x70, 0x47, 0x00, 0x00, 0x40, 0x09, 0x00, 0x50,
+0x30, 0xB5, 0x01, 0x21, 0x89, 0x07, 0x08, 0x68,
+0x10, 0x22, 0x10, 0x43, 0x08, 0x60, 0xC8, 0x68,
+0x08, 0x24, 0x20, 0x43, 0xC8, 0x60, 0x1B, 0x48,
+0x42, 0x22, 0x82, 0x60, 0x02, 0x69, 0xC0, 0x23,
+0x9A, 0x43, 0x02, 0x61, 0x02, 0x69, 0x0F, 0x23,
+0x1B, 0x02, 0x1A, 0x43, 0x02, 0x61, 0x0B, 0x68,
+0x8A, 0x15, 0x13, 0x43, 0x0B, 0x60, 0x03, 0x69,
+0x03, 0x61, 0x83, 0x6A, 0x02, 0x25, 0x2B, 0x43,
+0x83, 0x62, 0x0A, 0x23, 0xC3, 0x62, 0x10, 0x4B,
+0x03, 0x63, 0x10, 0x4B, 0x1B, 0x0C, 0x43, 0x63,
+0x0B, 0x68, 0x13, 0x43, 0x0B, 0x60, 0x81, 0x68,
+0xFF, 0x22, 0xBD, 0x32, 0x11, 0x43, 0x81, 0x60,
+0x01, 0x6A, 0x83, 0x05, 0x19, 0x43, 0x01, 0x62,
+0x82, 0x6A, 0x04, 0x21, 0x8A, 0x43, 0x82, 0x62,
+0x02, 0x6A, 0x1A, 0x43, 0x02, 0x62, 0x82, 0x6A,
+0x0A, 0x43, 0x82, 0x62, 0x04, 0x48, 0x04, 0x60,
+0x30, 0xBD, 0x00, 0x00, 0x00, 0x06, 0x00, 0x50,
+0xCC, 0x02, 0x00, 0x20, 0xBC, 0x02, 0x00, 0x20,
+0x00, 0xE1, 0x00, 0xE0, 0x08, 0x49, 0x00, 0x20,
+0x48, 0x60, 0x01, 0x20, 0x80, 0x07, 0x02, 0x68,
+0x41, 0x14, 0x0A, 0x43, 0x02, 0x60, 0x05, 0x23,
+0x04, 0x4A, 0x1B, 0x07, 0x1A, 0x62, 0x42, 0x68,
+0x0A, 0x43, 0x42, 0x60, 0x70, 0x47, 0x00, 0x00,
+0x38, 0x00, 0x00, 0x20, 0xFF, 0x7F, 0x00, 0x00,
+0x10, 0xB5, 0x14, 0x49, 0xC9, 0x6B, 0x14, 0x4A,
+0x91, 0x42, 0x1B, 0xD3, 0x13, 0x49, 0x0A, 0x78,
+0x82, 0x42, 0x17, 0xD0, 0x12, 0x4A, 0x13, 0x68,
+0x01, 0x24, 0xA4, 0x02, 0x23, 0x43, 0x13, 0x60,
+0x08, 0x70, 0x0F, 0x49, 0x05, 0x22, 0x40, 0x23,
+0x12, 0x07, 0x80, 0x24, 0x80, 0x31, 0x00, 0x28,
+0x09, 0xD0, 0x08, 0x6A, 0x40, 0x06, 0x05, 0xD4,
+0x08, 0x6A, 0x18, 0x43, 0x08, 0x62, 0xD0, 0x68,
+0xA0, 0x43, 0xD0, 0x60, 0x10, 0xBD, 0xD0, 0x68,
+0x20, 0x43, 0xD0, 0x60, 0x08, 0x6A, 0x98, 0x43,
+0x08, 0x62, 0x10, 0xBD, 0x80, 0x09, 0x00, 0x50,
+0xA2, 0x00, 0x01, 0xF3, 0x38, 0x00, 0x00, 0x20,
+0x00, 0x10, 0x00, 0x50, 0x10, 0xB5, 0x12, 0x49,
+0x80, 0x20, 0x08, 0x70, 0x00, 0x20, 0x48, 0x70,
+0x10, 0x49, 0x08, 0x70, 0x10, 0x48, 0x40, 0x68,
+0x10, 0x49, 0x40, 0x07, 0x40, 0x0F, 0xC8, 0x71,
+0x05, 0x24, 0x24, 0x07, 0xE0, 0x68, 0x0E, 0x49,
+0x08, 0x43, 0xE0, 0x60, 0xFF, 0xF7, 0x22, 0xFD,
+0xFF, 0xF7, 0xA0, 0xFF, 0xA0, 0x00, 0x02, 0x68,
+0x01, 0x14, 0x0A, 0x43, 0x02, 0x60, 0x09, 0x4A,
+0x62, 0x62, 0x42, 0x68, 0x0A, 0x43, 0x42, 0x60,
+0x02, 0x68, 0x8A, 0x43, 0x02, 0x60, 0x10, 0xBD,
+0x04, 0x06, 0x00, 0x20, 0xA5, 0x00, 0x00, 0x20,
+0xC0, 0x10, 0x00, 0x50, 0x9C, 0x00, 0x00, 0x20,
+0x80, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x0A,
+0x10, 0xB5, 0x00, 0x28, 0x13, 0xD0, 0x00, 0xF0,
+0xE7, 0xFD, 0x00, 0xF0, 0xB3, 0xFD, 0x00, 0x20,
+0xFF, 0xF7, 0x92, 0xFF, 0x06, 0x49, 0x88, 0x06,
+0x01, 0x60, 0x05, 0x21, 0x09, 0x07, 0xCA, 0x68,
+0xC3, 0x13, 0x9A, 0x43, 0xCA, 0x60, 0x00, 0x21,
+0xC1, 0x60, 0x01, 0x21, 0x81, 0x60, 0x10, 0xBD,
+0x10, 0x01, 0x00, 0x48, 0x01, 0x21, 0x89, 0x07,
+0x48, 0x60, 0x70, 0x47, 0x10, 0xB5, 0x0A, 0x49,
+0x30, 0x22, 0x00, 0x28, 0x09, 0x4B, 0x0A, 0x4C,
+0x08, 0x68, 0x05, 0xD0, 0x10, 0x43, 0x08, 0x60,
+0x08, 0x48, 0x18, 0x60, 0x08, 0x48, 0x04, 0xE0,
+0x90, 0x43, 0x08, 0x60, 0x07, 0x48, 0x18, 0x60,
+0x07, 0x48, 0x20, 0x60, 0x10, 0xBD, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x50, 0x24, 0x00, 0x00, 0x20,
+0x2C, 0x00, 0x00, 0x20, 0x00, 0x00, 0x04, 0x20,
+0x00, 0x00, 0x05, 0x20, 0x00, 0x10, 0x04, 0x20,
+0x00, 0x10, 0x05, 0x20, 0x10, 0xB5, 0x09, 0x48,
+0x00, 0x78, 0x00, 0x28, 0x08, 0xD0, 0x01, 0x28,
+0x09, 0xD0, 0x02, 0x28, 0x03, 0xD1, 0x06, 0x49,
+0x04, 0x20, 0x00, 0xF0, 0xD1, 0xF8, 0x10, 0xBD,
+0x04, 0x49, 0x01, 0x20, 0xF9, 0xE7, 0x04, 0x49,
+0x02, 0x20, 0xF6, 0xE7, 0x67, 0x00, 0x00, 0x20,
+0x00, 0x10, 0x02, 0x20, 0x00, 0x10, 0x01, 0x20,
+0x00, 0x00, 0x02, 0x20, 0x01, 0x21, 0x89, 0x07,
+0x04, 0x22, 0x00, 0x28, 0x48, 0x69, 0x01, 0xD0,
+0x10, 0x43, 0x0A, 0x15, 0x90, 0x43, 0x48, 0x61,
+0x70, 0x47, 0x01, 0x20, 0x80, 0x07, 0x41, 0x68,
+0x82, 0x14, 0x11, 0x43, 0x41, 0x60, 0x70, 0x47,
+0x05, 0x48, 0x41, 0x68, 0x49, 0x1C, 0x41, 0x60,
+0x01, 0x20, 0x80, 0x07, 0x01, 0x6A, 0xC2, 0x13,
+0x11, 0x43, 0x01, 0x62, 0x70, 0x47, 0x00, 0x00,
+0x38, 0x00, 0x00, 0x20, 0x10, 0xB5, 0x00, 0xF0,
+0x6B, 0xFD, 0x00, 0xF0, 0x37, 0xFD, 0x01, 0x20,
+0x80, 0x07, 0x41, 0x68, 0x04, 0x22, 0x11, 0x43,
+0x41, 0x60, 0x00, 0x20, 0xFF, 0xF7, 0x92, 0xFF,
+0x0B, 0x48, 0x01, 0x78, 0x0B, 0x48, 0x00, 0x29,
+0x01, 0x68, 0x04, 0xD0, 0x06, 0x22, 0x91, 0x43,
+0xFF, 0x22, 0x01, 0x32, 0x00, 0xE0, 0x01, 0x22,
+0x11, 0x43, 0x01, 0x60, 0x01, 0x68, 0x01, 0x22,
+0x92, 0x02, 0x91, 0x43, 0x01, 0x60, 0x04, 0x49,
+0x02, 0x20, 0x08, 0x71, 0x10, 0xBD, 0x00, 0x00,
+0x5B, 0x00, 0x00, 0x20, 0x00, 0x10, 0x00, 0x50,
+0x9C, 0x00, 0x00, 0x20, 0x10, 0xB5, 0xFF, 0xF7,
+0x6D, 0xFF, 0x10, 0xBD, 0x10, 0xB5, 0x00, 0xF0,
+0xC1, 0xF8, 0x10, 0xBD, 0x70, 0x47, 0x00, 0x00,
+0xF8, 0xB5, 0x00, 0xF0, 0x35, 0xFD, 0x10, 0x48,
+0x01, 0x68, 0x30, 0x22, 0x89, 0x06, 0x00, 0x29,
+0x0E, 0x4B, 0x0F, 0x4C, 0x0F, 0x4D, 0x10, 0x4E,
+0x10, 0x4F, 0x01, 0x68, 0x09, 0xDA, 0x91, 0x43,
+0x01, 0x60, 0x23, 0x60, 0x0E, 0x48, 0x35, 0x60,
+0x07, 0x60, 0x0F, 0x49, 0x0D, 0x48, 0x08, 0x60,
+0xF8, 0xBD, 0x11, 0x43, 0x01, 0x60, 0x0B, 0x48,
+0x27, 0x60, 0x30, 0x60, 0x08, 0x48, 0x03, 0x60,
+0x09, 0x48, 0x05, 0x60, 0xF8, 0xBD, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x50, 0x00, 0x00, 0x04, 0x20,
+0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x05, 0x20,
+0x28, 0x00, 0x00, 0x20, 0x00, 0x10, 0x04, 0x20,
+0x24, 0x00, 0x00, 0x20, 0x00, 0x10, 0x05, 0x20,
+0x2C, 0x00, 0x00, 0x20, 0xF8, 0xB5, 0xFF, 0xF7,
+0x91, 0xFF, 0x17, 0x4E, 0x48, 0x21, 0x30, 0x68,
+0xFF, 0xF7, 0x1F, 0xF8, 0x00, 0x24, 0x15, 0x4D,
+0xFF, 0xF7, 0xBE, 0xFF, 0x00, 0xF0, 0xB4, 0xF9,
+0x00, 0x2C, 0x0B, 0xD0, 0x32, 0x68, 0x00, 0x20,
+0x41, 0x00, 0x53, 0x5A, 0x2F, 0x68, 0x7F, 0x5A,
+0xDB, 0x19, 0x53, 0x52, 0x40, 0x1C, 0xC0, 0xB2,
+0x24, 0x28, 0xF5, 0xD3, 0x64, 0x1C, 0xE4, 0xB2,
+0x05, 0x2C, 0xE9, 0xD3, 0x00, 0xF0, 0xAE, 0xFC,
+0x30, 0x68, 0x00, 0x21, 0x4B, 0x00, 0xC2, 0x5E,
+0xD4, 0x17, 0xA4, 0x0F, 0xA2, 0x18, 0x92, 0x10,
+0xC2, 0x52, 0x49, 0x1C, 0xC9, 0xB2, 0x24, 0x29,
+0xF4, 0xD3, 0x00, 0xF0, 0xEB, 0xF8, 0xF8, 0xBD,
+0x08, 0x00, 0x00, 0x20, 0x24, 0x00, 0x00, 0x20,
+0xF8, 0xB5, 0x0B, 0x46, 0x21, 0x49, 0x02, 0x46,
+0x09, 0x78, 0x00, 0x20, 0x02, 0x29, 0x07, 0xD9,
+0x1F, 0x49, 0x09, 0x68, 0x1F, 0x4C, 0x20, 0x4E,
+0xA1, 0x42, 0x02, 0xD9, 0x00, 0x20, 0x30, 0x70,
+0xF8, 0xBD, 0x1E, 0x4D, 0x31, 0x78, 0x2C, 0x68,
+0x11, 0x42, 0x26, 0xD0, 0x00, 0x22, 0x51, 0x00,
+0x67, 0x5E, 0x59, 0x5E, 0x79, 0x1A, 0x00, 0xD5,
+0x49, 0x42, 0x09, 0xB2, 0x88, 0x42, 0x00, 0xDA,
+0x08, 0x46, 0x52, 0x1C, 0xD2, 0xB2, 0x24, 0x2A,
+0xF1, 0xD3, 0x15, 0x49, 0x09, 0x68, 0x41, 0x43,
+0x08, 0x09, 0x48, 0x28, 0xE2, 0xDC, 0x00, 0x20,
+0x41, 0x00, 0x5A, 0x5E, 0x54, 0x00, 0x12, 0x19,
+0x2C, 0x68, 0x64, 0x5E, 0x40, 0x1C, 0x12, 0x19,
+0xD4, 0x17, 0xA4, 0x0F, 0xA2, 0x18, 0x92, 0x10,
+0xC0, 0xB2, 0x5A, 0x52, 0x24, 0x28, 0xEF, 0xD3,
+0xF8, 0xBD, 0x11, 0x43, 0x31, 0x70, 0x48, 0x22,
+0x21, 0x46, 0x18, 0x46, 0xFE, 0xF7, 0x94, 0xFF,
+0xF8, 0xBD, 0x00, 0x00, 0x59, 0x00, 0x00, 0x20,
+0x18, 0x00, 0x00, 0x20, 0x40, 0x77, 0x1B, 0x00,
+0x6C, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x20,
+0x40, 0x07, 0x00, 0x50, 0x01, 0x21, 0x89, 0x07,
+0x0A, 0x15, 0x00, 0x28, 0x48, 0x69, 0x02, 0xD0,
+0x10, 0x43, 0x48, 0x61, 0x70, 0x47, 0x90, 0x43,
+0xFB, 0xE7, 0x70, 0x47, 0x03, 0x48, 0x01, 0x68,
+0x49, 0x1C, 0x01, 0x60, 0x02, 0x49, 0x01, 0x20,
+0xC8, 0x62, 0x70, 0x47, 0x1C, 0x00, 0x00, 0x20,
+0x00, 0x03, 0x00, 0x50, 0xF8, 0xB5, 0x2D, 0x48,
+0x00, 0x25, 0x00, 0x78, 0x2C, 0x46, 0x00, 0x28,
+0x06, 0xD0, 0x01, 0x28, 0x07, 0xD0, 0x02, 0x28,
+0x08, 0xD0, 0x07, 0x28, 0x08, 0xD1, 0xF8, 0xBD,
+0x01, 0x25, 0x2C, 0x46, 0x04, 0xE0, 0x02, 0x25,
+0x2C, 0x46, 0x01, 0xE0, 0x04, 0x25, 0x2C, 0x46,
+0x23, 0x48, 0x01, 0x88, 0x8C, 0x42, 0xF2, 0xD0,
+0x04, 0x80, 0x00, 0x2D, 0xEF, 0xD0, 0x21, 0x48,
+0x00, 0x22, 0x01, 0x68, 0x28, 0x46, 0xFF, 0xF7,
+0xA3, 0xFB, 0x1F, 0x4E, 0x00, 0x28, 0x24, 0xD0,
+0x30, 0x68, 0x00, 0xF0, 0xBF, 0xF8, 0x1D, 0x4D,
+0x01, 0x28, 0x0B, 0xD0, 0x00, 0x22, 0x20, 0x46,
+0x31, 0x68, 0xFF, 0xF7, 0x5B, 0xFB, 0x00, 0x28,
+0x08, 0xD0, 0x01, 0x21, 0x20, 0x46, 0xFF, 0xF7,
+0x29, 0xFF, 0xF8, 0xBD, 0x28, 0x46, 0x00, 0xF0,
+0xAD, 0xF8, 0xF8, 0xBD, 0x01, 0x21, 0x20, 0x46,
+0xFF, 0xF7, 0x20, 0xFF, 0x01, 0x22, 0x29, 0x46,
+0x20, 0x46, 0xFF, 0xF7, 0x47, 0xFB, 0x48, 0x22,
+0x29, 0x46, 0x30, 0x68, 0xFE, 0xF7, 0x24, 0xFF,
+0xF8, 0xBD, 0x3F, 0x20, 0x01, 0x23, 0x00, 0x90,
+0x1A, 0x46, 0x21, 0x46, 0x28, 0x46, 0x00, 0xF0,
+0x5D, 0xF9, 0x00, 0x28, 0xF4, 0xD0, 0x00, 0x22,
+0x20, 0x46, 0x31, 0x68, 0xFF, 0xF7, 0x32, 0xFB,
+0xF8, 0xBD, 0x00, 0x00, 0x66, 0x00, 0x00, 0x20,
+0x8E, 0x00, 0x00, 0x20, 0x0C, 0x00, 0x00, 0x20,
+0x14, 0x00, 0x00, 0x20, 0x00, 0x00, 0x01, 0x20,
+0x06, 0x49, 0x00, 0x28, 0x01, 0xD0, 0x01, 0x20,
+0x04, 0xE0, 0x05, 0x48, 0x00, 0x78, 0x10, 0x28,
+0x02, 0xD0, 0x04, 0x48, 0xC8, 0x62, 0x70, 0x47,
+0x03, 0x48, 0xFB, 0xE7, 0x40, 0x10, 0x00, 0x50,
+0x04, 0x06, 0x00, 0x20, 0x01, 0x00, 0x07, 0x00,
+0x01, 0x00, 0x03, 0x00, 0xF8, 0xB5, 0x2C, 0x4F,
+0x00, 0x26, 0x39, 0x78, 0x00, 0x29, 0x04, 0xD0,
+0x01, 0x29, 0x05, 0xD0, 0x02, 0x29, 0x4D, 0xD1,
+0x06, 0xE0, 0x28, 0x4C, 0x28, 0x4B, 0x07, 0xE0,
+0xD7, 0x24, 0xA4, 0x00, 0x27, 0x4B, 0x03, 0xE0,
+0x5D, 0x24, 0xE4, 0x00, 0x93, 0x23, 0xDB, 0x00,
+0x25, 0x4A, 0x3D, 0x78, 0x11, 0x78, 0xA9, 0x42,
+0x06, 0xD1, 0x51, 0x78, 0x49, 0x1C, 0xC9, 0xB2,
+0x51, 0x70, 0x02, 0x29, 0x36, 0xD8, 0x01, 0xE0,
+0x00, 0x21, 0x51, 0x70, 0x39, 0x78, 0x11, 0x70,
+0x1E, 0x4A, 0x00, 0x21, 0x15, 0x68, 0x6A, 0x18,
+0x20, 0x32, 0x52, 0x7C, 0x24, 0x2A, 0x25, 0xD0,
+0x4A, 0x00, 0x82, 0x5E, 0xA2, 0x42, 0x03, 0xDB,
+0x9A, 0x42, 0x01, 0xDC, 0x00, 0x2E, 0x1D, 0xD0,
+0x38, 0x78, 0x00, 0x28, 0x04, 0xD0, 0x01, 0x28,
+0x05, 0xD0, 0x02, 0x28, 0x07, 0xD1, 0x12, 0xE0,
+0x01, 0x21, 0x08, 0x46, 0x01, 0xE0, 0x02, 0x21,
+0x08, 0x46, 0xFF, 0xF7, 0x3F, 0xFB, 0x05, 0x20,
+0x38, 0x70, 0x0F, 0x49, 0x08, 0x20, 0x08, 0x70,
+0x0E, 0x49, 0xC0, 0x01, 0x08, 0x80, 0x0E, 0x49,
+0x00, 0x20, 0x08, 0x70, 0xF8, 0xBD, 0x04, 0x21,
+0x08, 0x46, 0xEE, 0xE7, 0x49, 0x1C, 0xC9, 0xB2,
+0x24, 0x29, 0xD0, 0xD3, 0x01, 0x20, 0xF8, 0xBD,
+0x65, 0x00, 0x00, 0x20, 0xD1, 0x0B, 0x00, 0x00,
+0x75, 0x12, 0x00, 0x00, 0x3C, 0x05, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x20, 0xC4, 0x00, 0x00, 0x20,
+0x67, 0x00, 0x00, 0x20, 0x8E, 0x00, 0x00, 0x20,
+0x6C, 0x00, 0x00, 0x20, 0x70, 0xB5, 0x05, 0x46,
+0x11, 0x48, 0x00, 0x24, 0x01, 0x78, 0x11, 0x48,
+0x00, 0x29, 0x00, 0x78, 0x04, 0xD0, 0x01, 0x29,
+0x07, 0xD0, 0x02, 0x29, 0x16, 0xD1, 0x10, 0xE0,
+0xC0, 0x07, 0x13, 0xD0, 0x48, 0x22, 0x0C, 0x49,
+0x03, 0xE0, 0x80, 0x07, 0x0E, 0xD5, 0x0B, 0x49,
+0x48, 0x22, 0x28, 0x46, 0xFE, 0xF7, 0x6C, 0xFE,
+0x01, 0x24, 0x28, 0x46, 0xFF, 0xF7, 0x76, 0xFF,
+0x04, 0xE0, 0x40, 0x07, 0x02, 0xD5, 0x48, 0x22,
+0x05, 0x49, 0xF2, 0xE7, 0x20, 0x46, 0x70, 0xBD,
+0x66, 0x00, 0x00, 0x20, 0x6C, 0x00, 0x00, 0x20,
+0x00, 0x10, 0x01, 0x20, 0x00, 0x00, 0x02, 0x20,
+0x00, 0x10, 0x02, 0x20, 0x03, 0x49, 0x0A, 0x68,
+0x10, 0x18, 0x0A, 0x68, 0x90, 0x42, 0xFC, 0xD1,
+0x70, 0x47, 0x00, 0x00, 0x18, 0x00, 0x00, 0x20,
+0x10, 0xB5, 0x00, 0xF0, 0x57, 0xF8, 0x10, 0xBD,
+0x04, 0x18, 0x1D, 0x22, 0x70, 0x47, 0x00, 0x00,
+0x70, 0xB5, 0x21, 0x4E, 0x04, 0x46, 0x30, 0x70,
+0x00, 0xF0, 0x32, 0xFB, 0x00, 0xF0, 0xFE, 0xFA,
+0x01, 0x20, 0x80, 0x07, 0x41, 0x68, 0x04, 0x22,
+0x11, 0x43, 0x41, 0x60, 0x01, 0x20, 0xFF, 0xF7,
+0xE9, 0xFD, 0x31, 0x78, 0x19, 0x48, 0x00, 0x25,
+0x01, 0x29, 0x10, 0xD0, 0x02, 0x29, 0x0E, 0xD0,
+0x05, 0x70, 0xFF, 0xF7, 0x73, 0xFD, 0x00, 0xF0,
+0xED, 0xFB, 0x01, 0xF0, 0xEB, 0xFB, 0x31, 0x78,
+0x13, 0x48, 0x07, 0x29, 0x01, 0x70, 0x1D, 0xD0,
+0x00, 0x2C, 0x03, 0xD0, 0x14, 0xE0, 0x20, 0x21,
+0x01, 0x70, 0xEE, 0xE7, 0x0F, 0x48, 0x05, 0x70,
+0x0F, 0x48, 0xC0, 0x6B, 0x0F, 0x49, 0x88, 0x42,
+0x0A, 0xD1, 0x0F, 0x4C, 0x80, 0x20, 0x20, 0x70,
+0xFF, 0xF7, 0x94, 0xFD, 0x01, 0xE0, 0x01, 0xF0,
+0x0B, 0xFA, 0x20, 0x78, 0x00, 0x28, 0xFA, 0xD1,
+0xFF, 0xF7, 0x98, 0xFE, 0x00, 0x21, 0x02, 0x20,
+0x00, 0xF0, 0xDA, 0xFA, 0x70, 0xBD, 0x00, 0x00,
+0x66, 0x00, 0x00, 0x20, 0xA6, 0x00, 0x00, 0x20,
+0x67, 0x00, 0x00, 0x20, 0x6B, 0x00, 0x00, 0x20,
+0x80, 0x09, 0x00, 0x50, 0xA1, 0x00, 0x01, 0xF3,
+0xC0, 0x00, 0x00, 0x20, 0x06, 0x48, 0x00, 0x78,
+0x00, 0x28, 0x04, 0xD1, 0x05, 0x48, 0x01, 0x68,
+0x01, 0x22, 0x11, 0x43, 0x01, 0x60, 0x04, 0x49,
+0x02, 0x20, 0x08, 0x71, 0x70, 0x47, 0x00, 0x00,
+0x5B, 0x00, 0x00, 0x20, 0x00, 0x10, 0x00, 0x50,
+0x9C, 0x00, 0x00, 0x20, 0x10, 0xB5, 0x01, 0x24,
+0x24, 0x03, 0xA3, 0x04, 0x00, 0x28, 0x18, 0x68,
+0x06, 0xD0, 0xC0, 0x04, 0x09, 0xD4, 0xFF, 0xF7,
+0x44, 0xFD, 0x18, 0x68, 0x20, 0x43, 0x03, 0xE0,
+0xC0, 0x04, 0x02, 0xD5, 0x18, 0x68, 0xA0, 0x43,
+0x18, 0x60, 0x10, 0xBD, 0x03, 0x48, 0x01, 0x68,
+0x49, 0x1C, 0x01, 0x60, 0x02, 0x49, 0x01, 0x20,
+0xC8, 0x60, 0x70, 0x47, 0x18, 0x00, 0x00, 0x20,
+0x00, 0x03, 0x00, 0x50, 0xFF, 0xB5, 0x87, 0xB0,
+0x7A, 0x48, 0x10, 0x99, 0x01, 0x90, 0x7A, 0x48,
+0x7A, 0x4A, 0x00, 0x90, 0x12, 0x68, 0x7A, 0x48,
+0x05, 0x92, 0x00, 0x68, 0x02, 0x90, 0x79, 0x48,
+0x03, 0x92, 0x00, 0x78, 0x00, 0x25, 0x00, 0x28,
+0x2D, 0xD0, 0x01, 0x28, 0x2D, 0xD0, 0x0F, 0x20,
+0x80, 0x01, 0x49, 0x1C, 0x48, 0x43, 0xC1, 0x17,
+0x89, 0x0E, 0x08, 0x18, 0x80, 0x11, 0x04, 0xB2,
+0x48, 0x21, 0x00, 0x98, 0xFE, 0xF7, 0xB5, 0xFD,
+0x01, 0x98, 0x00, 0x22, 0x01, 0x27, 0x7F, 0x02,
+0x06, 0x90, 0x6D, 0x48, 0x00, 0x68, 0x40, 0x19,
+0x20, 0x30, 0x40, 0x7C, 0x24, 0x28, 0x16, 0xD0,
+0x01, 0x99, 0x6E, 0x00, 0x8F, 0x53, 0x6D, 0x1C,
+0xAD, 0xB2, 0x24, 0x2D, 0xF1, 0xD3, 0x01, 0x21,
+0x02, 0x20, 0x00, 0xF0, 0x5D, 0xFA, 0x01, 0x20,
+0x40, 0x02, 0x04, 0x90, 0x63, 0x48, 0x00, 0x78,
+0xC0, 0x07, 0x75, 0xD1, 0x07, 0xE0, 0x62, 0x48,
+0xD3, 0xE7, 0x62, 0x48, 0xD1, 0xE7, 0x01, 0x98,
+0x69, 0x00, 0x42, 0x52, 0xE7, 0xE7, 0x00, 0x25,
+0x00, 0x20, 0x81, 0x00, 0x06, 0x9A, 0x40, 0x1C,
+0x53, 0x58, 0x02, 0x9A, 0x80, 0xB2, 0x53, 0x50,
+0x12, 0x28, 0xF6, 0xD3, 0x01, 0x21, 0x08, 0x46,
+0x00, 0xF0, 0x3E, 0xFA, 0x55, 0x48, 0x00, 0x78,
+0xC0, 0x07, 0x59, 0xD1, 0x56, 0x48, 0x00, 0x26,
+0x00, 0x68, 0x33, 0x46, 0x84, 0x46, 0x50, 0x48,
+0x00, 0x68, 0xC0, 0x18, 0x20, 0x30, 0x40, 0x7C,
+0x24, 0x28, 0x10, 0xD0, 0x01, 0x98, 0x5A, 0x00,
+0x80, 0x5A, 0x0A, 0x2D, 0x11, 0xD2, 0x61, 0x46,
+0x8F, 0x5E, 0xA7, 0x42, 0x01, 0xDA, 0x04, 0x99,
+0x88, 0x43, 0x04, 0x99, 0x49, 0x08, 0x08, 0x43,
+0x09, 0x2D, 0x03, 0xD0, 0x52, 0xE0, 0x76, 0x1C,
+0xB6, 0xB2, 0x51, 0xE0, 0x00, 0x99, 0x8F, 0x52,
+0x4C, 0xE0, 0x3E, 0x2D, 0x37, 0xD8, 0x61, 0x46,
+0x89, 0x5E, 0xA1, 0x42, 0x09, 0xDA, 0xC7, 0x1F,
+0xFF, 0x3F, 0xFA, 0x3F, 0x03, 0xD0, 0x00, 0x28,
+0x1F, 0xD0, 0x40, 0x1E, 0x0A, 0xE0, 0xFF, 0x20,
+0x0F, 0xE0, 0xC7, 0x1F, 0xFF, 0x3F, 0xF9, 0x3F,
+0x23, 0xD0, 0x3A, 0x4F, 0x25, 0x3F, 0xB8, 0x42,
+0x01, 0xD2, 0x40, 0x1C, 0x80, 0xB2, 0x00, 0x28,
+0x0F, 0xD0, 0x36, 0x4F, 0x25, 0x3F, 0xB8, 0x42,
+0x0B, 0xD0, 0xA1, 0x42, 0x03, 0xDA, 0x00, 0x9F,
+0xBF, 0x5E, 0xA7, 0x42, 0x05, 0xDC, 0xA1, 0x42,
+0x05, 0xDD, 0x00, 0x99, 0x89, 0x5E, 0xA1, 0x42,
+0x01, 0xDA, 0x76, 0x1C, 0xB6, 0xB2, 0x01, 0x99,
+0x05, 0x9F, 0x89, 0x5A, 0xB9, 0x52, 0x61, 0x46,
+0x00, 0x9F, 0x89, 0x5A, 0xB9, 0x52, 0x15, 0xE0,
+0x29, 0xE0, 0x2A, 0x48, 0xE5, 0xE7, 0x3F, 0x2D,
+0x12, 0xD1, 0x00, 0x99, 0x89, 0x5E, 0x09, 0x1B,
+0x00, 0xD5, 0x49, 0x42, 0x09, 0xB2, 0x8E, 0x46,
+0x61, 0x46, 0x89, 0x5E, 0x09, 0x1B, 0x00, 0xD5,
+0x49, 0x42, 0x0F, 0xB2, 0xBE, 0x45, 0x01, 0xDA,
+0x05, 0x98, 0x80, 0x5A, 0x01, 0x99, 0x88, 0x52,
+0x5B, 0x1C, 0x9B, 0xB2, 0x24, 0x2B, 0x8E, 0xD3,
+0x24, 0x2E, 0x00, 0xD1, 0x3E, 0x25, 0x04, 0x98,
+0x6D, 0x1C, 0x40, 0x08, 0xAD, 0xB2, 0x04, 0x90,
+0x40, 0x2D, 0x00, 0xD8, 0x6C, 0xE7, 0x13, 0x48,
+0x00, 0x78, 0xC0, 0x07, 0x02, 0xD0, 0x00, 0x20,
+0x0B, 0xB0, 0xF0, 0xBD, 0x48, 0x22, 0x61, 0x46,
+0x03, 0x98, 0xFE, 0xF7, 0xD5, 0xFC, 0x0A, 0x98,
+0x00, 0x28, 0x09, 0xD0, 0x01, 0x22, 0x02, 0x99,
+0x07, 0x98, 0xFF, 0xF7, 0x25, 0xF9, 0x01, 0x22,
+0x03, 0x99, 0x08, 0x98, 0xFF, 0xF7, 0xE6, 0xF8,
+0x01, 0x20, 0xE9, 0xE7, 0xE8, 0x00, 0x00, 0x20,
+0x9C, 0x01, 0x00, 0x20, 0x08, 0x00, 0x00, 0x20,
+0x0C, 0x00, 0x00, 0x20, 0x66, 0x00, 0x00, 0x20,
+0xC4, 0x00, 0x00, 0x20, 0xA5, 0x00, 0x00, 0x20,
+0x42, 0x0E, 0x00, 0x00, 0x24, 0x04, 0x00, 0x00,
+0x24, 0x00, 0x00, 0x20, 0xFF, 0x02, 0x00, 0x00,
+0xF0, 0xB5, 0x34, 0x48, 0x42, 0x68, 0x34, 0x4B,
+0x01, 0x21, 0x00, 0x2A, 0x31, 0xDA, 0x33, 0x4C,
+0xE4, 0x6B, 0x33, 0x4D, 0xAC, 0x42, 0x2C, 0xD1,
+0xC4, 0x04, 0x44, 0x60, 0x31, 0x4C, 0x24, 0x78,
+0x80, 0x2C, 0x22, 0xD1, 0x30, 0x4E, 0x34, 0x78,
+0x64, 0x1C, 0x34, 0x70, 0x34, 0x78, 0x2F, 0x4F,
+0x01, 0x2C, 0x03, 0xD0, 0x34, 0x78, 0x05, 0x2C,
+0x04, 0xD0, 0x16, 0xE0, 0x3D, 0x68, 0x2C, 0x4C,
+0x25, 0x60, 0x12, 0xE0, 0x3D, 0x68, 0x2A, 0x4C,
+0x24, 0x68, 0xA5, 0x42, 0x0B, 0xD9, 0x3C, 0x68,
+0x27, 0x4F, 0x3D, 0x68, 0x64, 0x1B, 0xA4, 0x08,
+0x3C, 0x60, 0x22, 0x4C, 0x21, 0x70, 0x04, 0x68,
+0x64, 0x00, 0x64, 0x08, 0x04, 0x60, 0x00, 0x24,
+0x34, 0x70, 0x1C, 0x78, 0x04, 0x25, 0x2C, 0x43,
+0x1C, 0x70, 0x52, 0x00, 0x52, 0x08, 0x1F, 0x4C,
+0x15, 0x02, 0x08, 0xD5, 0x01, 0x25, 0xED, 0x05,
+0x45, 0x60, 0x1D, 0x78, 0x02, 0x26, 0x35, 0x43,
+0x1D, 0x70, 0x00, 0x25, 0x25, 0x71, 0x25, 0x68,
+0x15, 0x42, 0x06, 0xD0, 0x18, 0x4D, 0x45, 0x60,
+0x21, 0x71, 0x1D, 0x78, 0x08, 0x26, 0x35, 0x43,
+0x1D, 0x70, 0x43, 0x68, 0x1B, 0x04, 0x04, 0xD5,
+0x01, 0x23, 0xDB, 0x03, 0x13, 0x43, 0x43, 0x60,
+0x61, 0x71, 0x43, 0x68, 0x9B, 0x00, 0x04, 0xD5,
+0x01, 0x23, 0x5B, 0x07, 0x13, 0x43, 0x43, 0x60,
+0xA1, 0x71, 0x43, 0x68, 0x5B, 0x00, 0x04, 0xD5,
+0x01, 0x23, 0x9B, 0x07, 0x1A, 0x43, 0x42, 0x60,
+0x61, 0x71, 0xF0, 0xBD, 0x00, 0x10, 0x00, 0x50,
+0xA5, 0x00, 0x00, 0x20, 0x80, 0x09, 0x00, 0x50,
+0xA1, 0x00, 0x01, 0xF3, 0xC0, 0x00, 0x00, 0x20,
+0x6B, 0x00, 0x00, 0x20, 0x98, 0x00, 0x00, 0x20,
+0x00, 0x06, 0x00, 0x20, 0x9C, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x5F, 0x1F, 0x10, 0xB5, 0xFF, 0xF7,
+0xD9, 0xFD, 0x10, 0xBD, 0x10, 0xB5, 0xFF, 0xF7,
+0x9C, 0xFB, 0x10, 0xBD, 0xF0, 0xB5, 0x01, 0x26,
+0xB6, 0x07, 0xF0, 0x68, 0x40, 0x08, 0x40, 0x00,
+0xF0, 0x60, 0x16, 0x4C, 0x60, 0x68, 0x01, 0x25,
+0x40, 0x07, 0x00, 0x28, 0x18, 0xDA, 0x60, 0x68,
+0x04, 0x21, 0x08, 0x43, 0x60, 0x60, 0x12, 0x48,
+0x40, 0x68, 0x12, 0x4F, 0x40, 0x07, 0x40, 0x0F,
+0xF8, 0x71, 0xF8, 0x79, 0x03, 0x28, 0x02, 0xD1,
+0x00, 0x20, 0xFF, 0xF7, 0xB1, 0xFA, 0x0E, 0x48,
+0x01, 0x78, 0x29, 0x43, 0x01, 0x70, 0x00, 0x20,
+0x38, 0x71, 0x0C, 0x49, 0x02, 0x20, 0x08, 0x70,
+0x60, 0x68, 0x00, 0x07, 0x06, 0xD5, 0x60, 0x68,
+0x08, 0x21, 0x08, 0x43, 0x60, 0x60, 0x04, 0x48,
+0x80, 0x38, 0x45, 0x61, 0xF0, 0x68, 0x28, 0x43,
+0xF0, 0x60, 0xF0, 0xBD, 0x40, 0x00, 0x00, 0x50,
+0xC0, 0x10, 0x00, 0x50, 0x9C, 0x00, 0x00, 0x20,
+0xA5, 0x00, 0x00, 0x20, 0x04, 0x06, 0x00, 0x20,
+0xF8, 0xB5, 0x41, 0x49, 0x0D, 0x20, 0x08, 0x80,
+0x40, 0x48, 0x00, 0x21, 0x01, 0x70, 0x40, 0x4A,
+0x18, 0x20, 0x10, 0x80, 0x3F, 0x48, 0x01, 0x70,
+0x01, 0x20, 0x80, 0x07, 0x02, 0x68, 0x04, 0x23,
+0x1A, 0x43, 0x02, 0x60, 0x3C, 0x48, 0x81, 0x60,
+0x19, 0x02, 0x01, 0x60, 0x3B, 0x49, 0xC1, 0x60,
+0x3B, 0x49, 0x0D, 0x68, 0x29, 0x46, 0x21, 0x31,
+0x4A, 0x7B, 0x0B, 0x7B, 0x11, 0x02, 0x19, 0x43,
+0xC9, 0x05, 0xC9, 0x0D, 0x01, 0x61, 0x03, 0x21,
+0x41, 0x61, 0x01, 0x26, 0x86, 0x61, 0x35, 0x49,
+0x01, 0x62, 0x31, 0x4C, 0x34, 0x48, 0x80, 0x34,
+0x60, 0x61, 0x30, 0x04, 0xA0, 0x61, 0x60, 0x62,
+0x2D, 0x4F, 0x32, 0x49, 0x40, 0x37, 0xF9, 0x60,
+0x38, 0x61, 0x00, 0x20, 0x29, 0x18, 0x31, 0x22,
+0x52, 0x5C, 0x24, 0x2A, 0x04, 0xD1, 0xE3, 0x68,
+0x32, 0x46, 0x82, 0x40, 0x93, 0x43, 0xE3, 0x60,
+0x40, 0x31, 0xC9, 0x78, 0x24, 0x29, 0x04, 0xD1,
+0x22, 0x69, 0x31, 0x46, 0x81, 0x40, 0x8A, 0x43,
+0x22, 0x61, 0x40, 0x1C, 0xC0, 0xB2, 0x12, 0x28,
+0xE8, 0xD3, 0xFF, 0x20, 0x93, 0x30, 0xB8, 0x60,
+0x1D, 0x49, 0x02, 0x04, 0xC0, 0x31, 0x4A, 0x60,
+0x00, 0x22, 0xA2, 0x63, 0xE0, 0x63, 0x20, 0x48,
+0x08, 0x60, 0x20, 0x48, 0x20, 0x62, 0x20, 0x63,
+0x20, 0x49, 0x1F, 0x48, 0x08, 0x60, 0x03, 0x20,
+0x00, 0x04, 0xF8, 0x61, 0xFF, 0x21, 0x14, 0x48,
+0xC9, 0x43, 0x41, 0x60, 0x48, 0x21, 0x1C, 0x48,
+0xFE, 0xF7, 0x9B, 0xFB, 0x48, 0x21, 0x1B, 0x48,
+0xFE, 0xF7, 0x97, 0xFB, 0x48, 0x21, 0x1A, 0x48,
+0xFE, 0xF7, 0x93, 0xFB, 0x48, 0x21, 0x19, 0x48,
+0xFE, 0xF7, 0x8F, 0xFB, 0x48, 0x21, 0x18, 0x48,
+0xFE, 0xF7, 0x8B, 0xFB, 0x48, 0x21, 0x17, 0x48,
+0xFE, 0xF7, 0x87, 0xFB, 0x48, 0x21, 0x16, 0x48,
+0xFE, 0xF7, 0x83, 0xFB, 0xF8, 0xBD, 0x00, 0x00,
+0x30, 0x00, 0x00, 0x20, 0x32, 0x00, 0x00, 0x20,
+0x34, 0x00, 0x00, 0x20, 0x36, 0x00, 0x00, 0x20,
+0x00, 0x10, 0x00, 0x50, 0x00, 0x01, 0x04, 0x00,
+0xC4, 0x00, 0x00, 0x20, 0x00, 0x10, 0x00, 0x11,
+0x10, 0x11, 0x00, 0x00, 0x6E, 0x01, 0x01, 0x00,
+0x20, 0x00, 0xCC, 0x00, 0x00, 0x04, 0x01, 0x03,
+0x44, 0x06, 0x02, 0x01, 0x40, 0x00, 0x00, 0x50,
+0x16, 0x05, 0x00, 0x20, 0x9C, 0x01, 0x00, 0x20,
+0x00, 0x00, 0x04, 0x20, 0x00, 0x10, 0x04, 0x20,
+0x00, 0x00, 0x01, 0x20, 0x00, 0x10, 0x01, 0x20,
+0x00, 0x20, 0x01, 0x20, 0x10, 0xB5, 0x08, 0x48,
+0x01, 0x68, 0x01, 0x22, 0x92, 0x02, 0x11, 0x43,
+0x01, 0x60, 0x00, 0x68, 0x05, 0x4C, 0xC0, 0x07,
+0x03, 0xD0, 0x02, 0x20, 0x20, 0x71, 0x00, 0xF0,
+0x23, 0xF8, 0x00, 0x20, 0x20, 0x71, 0x10, 0xBD,
+0x00, 0x10, 0x00, 0x50, 0x9C, 0x00, 0x00, 0x20,
+0x70, 0xB5, 0x0E, 0x46, 0x05, 0x00, 0x12, 0xD0,
+0xFF, 0xF7, 0xA8, 0xFA, 0x00, 0x24, 0x6D, 0x1E,
+0x05, 0xE0, 0xFF, 0xF7, 0xD9, 0xFA, 0xFF, 0xF7,
+0x29, 0xFD, 0x64, 0x1C, 0xE4, 0xB2, 0xAC, 0x42,
+0xF7, 0xDB, 0xFF, 0xF7, 0xD1, 0xFA, 0x00, 0x2E,
+0x02, 0xD0, 0xFF, 0xF7, 0xD3, 0xFF, 0x70, 0xBD,
+0xFF, 0xF7, 0x1C, 0xFD, 0x70, 0xBD, 0x00, 0x00,
+0x70, 0xB5, 0x05, 0x24, 0x64, 0x04, 0xFF, 0xF7,
+0x78, 0xFA, 0x0B, 0x48, 0x00, 0x21, 0x0B, 0x4A,
+0x0B, 0x4B, 0x07, 0xE0, 0x05, 0x78, 0xED, 0x07,
+0x0C, 0xD1, 0x05, 0x78, 0x6D, 0x07, 0x00, 0xD5,
+0x01, 0x70, 0x64, 0x1E, 0x15, 0x79, 0x02, 0x2D,
+0x02, 0xD0, 0x1D, 0x68, 0xED, 0x07, 0x01, 0xD0,
+0x00, 0x2C, 0xEF, 0xD1, 0x70, 0xBD, 0x00, 0x00,
+0xA5, 0x00, 0x00, 0x20, 0x9C, 0x00, 0x00, 0x20,
+0x00, 0x10, 0x00, 0x50, 0x06, 0x49, 0xF0, 0x20,
+0x08, 0x70, 0x06, 0x49, 0x01, 0x20, 0x08, 0x70,
+0x05, 0x49, 0xFE, 0x20, 0x08, 0x70, 0x05, 0x49,
+0x00, 0x20, 0x08, 0x80, 0x70, 0x47, 0x00, 0x00,
+0x61, 0x00, 0x00, 0x20, 0x59, 0x00, 0x00, 0x20,
+0x56, 0x00, 0x00, 0x20, 0xAA, 0x00, 0x00, 0x20,
+0x00, 0xB5, 0x00, 0x20, 0xFF, 0xF7, 0xF2, 0xFC,
+0x05, 0x20, 0x00, 0x07, 0xC1, 0x69, 0x42, 0x13,
+0x91, 0x43, 0xC1, 0x61, 0xC1, 0x69, 0x01, 0x22,
+0x52, 0x04, 0x11, 0x43, 0xC1, 0x61, 0xC1, 0x69,
+0x04, 0x4A, 0xC9, 0x0B, 0xC9, 0x03, 0x89, 0x18,
+0xC1, 0x61, 0x01, 0x20, 0xFF, 0xF7, 0xDE, 0xFC,
+0x00, 0xBD, 0x00, 0x00, 0x78, 0x75, 0x00, 0x00,
+0x10, 0xB5, 0x0C, 0x49, 0x00, 0x20, 0x08, 0x5E,
+0x00, 0x28, 0x01, 0xD0, 0x40, 0x1E, 0x08, 0x80,
+0x09, 0x4C, 0x00, 0x21, 0x20, 0x68, 0x00, 0xF0,
+0x47, 0xFA, 0x00, 0x28, 0x08, 0xD0, 0x48, 0x21,
+0x06, 0x48, 0xFE, 0xF7, 0xBE, 0xFA, 0x05, 0x49,
+0x20, 0x68, 0x00, 0xF0, 0x1B, 0xFA, 0x01, 0x20,
+0x10, 0xBD, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x20,
+0x24, 0x00, 0x00, 0x20, 0x16, 0x05, 0x00, 0x20,
+0x10, 0xB5, 0xFE, 0xF7, 0x39, 0xFD, 0x10, 0xBD,
+0xF8, 0xB5, 0x28, 0x48, 0x80, 0x69, 0x40, 0x04,
+0x4B, 0xD5, 0x27, 0x4D, 0xA8, 0x6A, 0xE9, 0x68,
+0xAC, 0x68, 0x0C, 0x40, 0xE9, 0x68, 0xAA, 0x68,
+0x91, 0x43, 0xE9, 0x60, 0xC0, 0x07, 0x01, 0x27,
+0x22, 0x4E, 0x00, 0x28, 0x15, 0xD0, 0x68, 0x69,
+0x89, 0x21, 0xC0, 0xB2, 0xE9, 0x60, 0xA9, 0x6A,
+0x39, 0x43, 0xA9, 0x62, 0x0B, 0x28, 0x03, 0xD2,
+0x37, 0x70, 0xFF, 0xF7, 0x95, 0xF8, 0x03, 0xE0,
+0x00, 0x21, 0x31, 0x70, 0xFF, 0xF7, 0x68, 0xF8,
+0x89, 0x20, 0x84, 0x43, 0x01, 0x20, 0xFF, 0xF7,
+0x21, 0xFA, 0xA0, 0x05, 0x0B, 0xD5, 0xE9, 0x68,
+0x01, 0x20, 0x40, 0x02, 0x01, 0x43, 0xE9, 0x60,
+0xA9, 0x68, 0x81, 0x43, 0xA9, 0x60, 0x12, 0x48,
+0x01, 0x78, 0x39, 0x43, 0x01, 0x70, 0x20, 0x07,
+0x09, 0xD5, 0x30, 0x78, 0x01, 0x28, 0x02, 0xD1,
+0x0A, 0x20, 0xFF, 0xF7, 0x4D, 0xF8, 0x64, 0x08,
+0x64, 0x00, 0x09, 0x20, 0xE8, 0x60, 0x60, 0x07,
+0x07, 0xD5, 0x30, 0x78, 0x01, 0x28, 0x02, 0xD1,
+0x0A, 0x20, 0xFF, 0xF7, 0x41, 0xF8, 0x05, 0x20,
+0xE8, 0x60, 0xFF, 0x20, 0xF3, 0x30, 0xE8, 0x60,
+0xEF, 0x60, 0xF8, 0xBD, 0x00, 0x09, 0x00, 0x50,
+0x00, 0x06, 0x00, 0x50, 0x37, 0x00, 0x00, 0x20,
+0xA5, 0x00, 0x00, 0x20, 0xF8, 0xB5, 0x00, 0x22,
+0x50, 0x4C, 0x11, 0x46, 0x22, 0x60, 0x50, 0x4B,
+0x01, 0x25, 0x1D, 0x70, 0x4F, 0x4B, 0x1A, 0x60,
+0x4E, 0x48, 0x1B, 0x03, 0x40, 0x30, 0x43, 0x62,
+0x4D, 0x4B, 0x03, 0x60, 0x4D, 0x4B, 0x43, 0x60,
+0x4D, 0x48, 0x4E, 0x4F, 0x00, 0x78, 0x84, 0x46,
+0x00, 0x28, 0x10, 0xD0, 0xFB, 0x6B, 0x4C, 0x48,
+0x83, 0x42, 0x1D, 0xD1, 0x4B, 0x48, 0x06, 0x68,
+0xF3, 0x1C, 0x58, 0x7F, 0xF3, 0x7F, 0x00, 0x02,
+0x18, 0x43, 0x22, 0x36, 0x73, 0x78, 0x36, 0x78,
+0x1B, 0x02, 0x33, 0x43, 0x12, 0xE0, 0xF9, 0x6B,
+0x43, 0x48, 0x81, 0x42, 0x08, 0xD1, 0x45, 0x49,
+0x43, 0x48, 0x0A, 0x78, 0x44, 0x49, 0x00, 0x88,
+0x0B, 0x88, 0x44, 0x49, 0x09, 0x78, 0x05, 0xE0,
+0x10, 0x20, 0x20, 0x23, 0x01, 0x21, 0x01, 0xE0,
+0x10, 0x20, 0x20, 0x23, 0x80, 0x05, 0x80, 0x0D,
+0x12, 0x04, 0x34, 0x4E, 0x10, 0x43, 0x70, 0x62,
+0x98, 0x05, 0x80, 0x0D, 0x09, 0x04, 0x08, 0x43,
+0xB0, 0x62, 0xF8, 0x6B, 0x34, 0x4A, 0x90, 0x42,
+0x03, 0xD1, 0x30, 0x68, 0x40, 0x00, 0x40, 0x08,
+0x30, 0x60, 0x2C, 0x49, 0x36, 0x48, 0x40, 0x31,
+0x08, 0x63, 0x60, 0x46, 0x35, 0x4B, 0x00, 0x28,
+0x06, 0xD0, 0x0A, 0x22, 0x34, 0x4F, 0x01, 0x28,
+0x18, 0xD0, 0x02, 0x28, 0x3D, 0xD1, 0x2F, 0xE0,
+0xF8, 0x6B, 0x90, 0x42, 0x04, 0xD1, 0x30, 0x68,
+0x01, 0x22, 0xD2, 0x07, 0x10, 0x43, 0x30, 0x60,
+0x5A, 0x20, 0x18, 0x80, 0x03, 0x20, 0x00, 0x06,
+0x20, 0x60, 0xCD, 0x62, 0x28, 0x48, 0x3F, 0x38,
+0x08, 0x63, 0x2A, 0x48, 0x48, 0x63, 0x2A, 0x48,
+0x88, 0x63, 0x26, 0xE0, 0x1A, 0x80, 0x27, 0x60,
+0x30, 0x20, 0x0F, 0x46, 0x08, 0x60, 0x00, 0x20,
+0x48, 0x60, 0x26, 0x48, 0x48, 0x62, 0x26, 0x48,
+0x01, 0x68, 0x1B, 0x20, 0x40, 0x01, 0x49, 0x1C,
+0xFE, 0xF7, 0x8C, 0xF9, 0x01, 0x21, 0x09, 0x04,
+0x41, 0x18, 0x21, 0x48, 0xC1, 0x62, 0xFD, 0x62,
+0xFF, 0x20, 0x8C, 0x30, 0x78, 0x63, 0x0C, 0xE0,
+0x0B, 0x48, 0x1A, 0x80, 0x05, 0x70, 0x27, 0x60,
+0x30, 0x20, 0x08, 0x60, 0x00, 0x20, 0x48, 0x60,
+0x1A, 0x48, 0x48, 0x62, 0xCD, 0x62, 0x1A, 0x48,
+0x48, 0x63, 0xFE, 0xF7, 0x87, 0xFD, 0x30, 0x68,
+0x18, 0x49, 0x08, 0x40, 0x21, 0x68, 0x08, 0x43,
+0x30, 0x60, 0xF8, 0xBD, 0x9C, 0x00, 0x00, 0x20,
+0x5B, 0x00, 0x00, 0x20, 0x00, 0x10, 0x00, 0x50,
+0x04, 0x04, 0x00, 0x00, 0x05, 0x25, 0x00, 0x00,
+0x66, 0x00, 0x00, 0x20, 0x80, 0x09, 0x00, 0x50,
+0xA1, 0x00, 0x01, 0xF3, 0xC4, 0x00, 0x00, 0x20,
+0x30, 0x00, 0x00, 0x20, 0x32, 0x00, 0x00, 0x20,
+0x34, 0x00, 0x00, 0x20, 0x36, 0x00, 0x00, 0x20,
+0x3F, 0x3F, 0x3F, 0x3F, 0x84, 0x00, 0x00, 0x20,
+0x00, 0x01, 0x00, 0x01, 0x03, 0x00, 0x65, 0x00,
+0xCB, 0x00, 0x3B, 0x01, 0x00, 0x60, 0x00, 0x01,
+0x40, 0x07, 0x00, 0x50, 0x00, 0x40, 0x00, 0x01,
+0x8B, 0x01, 0x2B, 0x00, 0xFF, 0xFF, 0x20, 0xE0,
+0xF8, 0xB5, 0x47, 0x49, 0x4A, 0x78, 0x47, 0x4F,
+0x47, 0x4E, 0x38, 0x78, 0x05, 0x2A, 0x07, 0xD2,
+0x32, 0x78, 0x05, 0x2A, 0x02, 0xD2, 0x49, 0x88,
+0x5A, 0x29, 0x01, 0xD8, 0x05, 0x28, 0x35, 0xD3,
+0x42, 0x49, 0x00, 0x24, 0x09, 0x78, 0x42, 0x4D,
+0x00, 0x29, 0x01, 0xD0, 0x01, 0x29, 0x0A, 0xD1,
+0x02, 0x21, 0x3E, 0x4A, 0xF0, 0x28, 0x11, 0x70,
+0x34, 0x70, 0x00, 0xD0, 0x3C, 0x70, 0x2C, 0x70,
+0x01, 0x20, 0xFE, 0xF7, 0x69, 0xFE, 0x39, 0x48,
+0x00, 0x78, 0x03, 0x28, 0x1F, 0xD0, 0x30, 0x78,
+0x10, 0x28, 0x5D, 0xD2, 0x40, 0x1C, 0xC0, 0xB2,
+0x30, 0x70, 0x01, 0x28, 0x02, 0xD8, 0x38, 0x78,
+0xF0, 0x28, 0x13, 0xD1, 0x34, 0x49, 0x33, 0x4C,
+0x0B, 0x68, 0x00, 0x20, 0x42, 0x00, 0x99, 0x5E,
+0x0D, 0x01, 0x69, 0x1A, 0x25, 0x68, 0xAD, 0x5E,
+0x49, 0x19, 0xCD, 0x17, 0x2D, 0x0F, 0x69, 0x18,
+0x09, 0x11, 0x99, 0x52, 0x40, 0x1C, 0xC0, 0xB2,
+0x24, 0x28, 0xEF, 0xD3, 0xF8, 0xBD, 0x2B, 0x48,
+0x00, 0x68, 0x61, 0x30, 0x42, 0x7D, 0x01, 0x7D,
+0x10, 0x06, 0x00, 0x14, 0x08, 0x43, 0x28, 0x49,
+0x00, 0x22, 0x8A, 0x5E, 0x40, 0x42, 0x90, 0x42,
+0x0B, 0xDD, 0x28, 0x78, 0x05, 0x28, 0x05, 0xD9,
+0x2C, 0x70, 0x1E, 0x49, 0x34, 0x70, 0x02, 0x20,
+0x08, 0x70, 0x03, 0xE0, 0x40, 0x1C, 0x28, 0x70,
+0x00, 0xE0, 0x2C, 0x70, 0x1F, 0x48, 0xFE, 0xF7,
+0x8F, 0xFC, 0x1C, 0x48, 0x1D, 0x49, 0x00, 0x68,
+0x09, 0x78, 0xA0, 0x30, 0x00, 0x78, 0x88, 0x42,
+0x02, 0xD8, 0x38, 0x78, 0x00, 0x28, 0x02, 0xD0,
+0xFE, 0xF7, 0x8C, 0xFC, 0xF8, 0xBD, 0x18, 0x49,
+0x12, 0x4C, 0x0B, 0x68, 0x00, 0x20, 0x42, 0x00,
+0x99, 0x5E, 0x40, 0x1C, 0xCD, 0x00, 0x69, 0x1A,
+0x25, 0x68, 0xC0, 0xB2, 0xAD, 0x5E, 0x49, 0x19,
+0xCD, 0x17, 0x6D, 0x0F, 0x69, 0x18, 0xC9, 0x10,
+0x99, 0x52, 0x24, 0x28, 0xEF, 0xD3, 0xF8, 0xBD,
+0x2C, 0x70, 0x00, 0x20, 0xFE, 0xF7, 0x00, 0xFE,
+0x04, 0x48, 0x03, 0x21, 0x01, 0x70, 0xF8, 0xBD,
+0x04, 0x06, 0x00, 0x20, 0x61, 0x00, 0x00, 0x20,
+0x5A, 0x00, 0x00, 0x20, 0x59, 0x00, 0x00, 0x20,
+0x42, 0x00, 0x00, 0x20, 0x20, 0x00, 0x00, 0x20,
+0x08, 0x00, 0x00, 0x20, 0xC4, 0x00, 0x00, 0x20,
+0x80, 0x00, 0x00, 0x20, 0xBC, 0x00, 0x00, 0x20,
+0x14, 0x00, 0x00, 0x20, 0x10, 0xB5, 0x09, 0x4C,
+0x60, 0x78, 0x00, 0x07, 0x01, 0xD5, 0x00, 0xF0,
+0x5B, 0xFD, 0xFF, 0xF7, 0x51, 0xFF, 0xFE, 0xF7,
+0x2D, 0xFC, 0x60, 0x78, 0x96, 0x21, 0x08, 0x42,
+0x01, 0xD0, 0x00, 0xF0, 0x51, 0xFD, 0xFE, 0xF7,
+0x8F, 0xFC, 0x10, 0xBD, 0x88, 0x02, 0x00, 0x20,
+0x01, 0x20, 0x80, 0x07, 0x40, 0x69, 0x40, 0x05,
+0x01, 0xD5, 0x01, 0x20, 0x70, 0x47, 0x00, 0x20,
+0x70, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x0B, 0x48, 0xC1, 0x6B, 0x01, 0x22, 0x92, 0x02,
+0x11, 0x43, 0xC1, 0x63, 0xC1, 0x6B, 0x12, 0x01,
+0x11, 0x43, 0xC1, 0x63, 0xC1, 0x6B, 0x52, 0x10,
+0x11, 0x43, 0xC1, 0x63, 0xC1, 0x6B, 0x52, 0x10,
+0x11, 0x43, 0xC1, 0x63, 0xC1, 0x6B, 0xD2, 0x00,
+0x11, 0x43, 0xC1, 0x63, 0x70, 0x47, 0x00, 0x00,
+0xC0, 0x07, 0x00, 0x50, 0x30, 0xB5, 0x07, 0x4A,
+0x13, 0x68, 0x00, 0x22, 0x31, 0x33, 0x54, 0x00,
+0x9D, 0x5C, 0x52, 0x1C, 0x6D, 0x00, 0x04, 0x5B,
+0xD2, 0xB2, 0x4C, 0x53, 0x24, 0x2A, 0xF6, 0xD3,
+0x30, 0xBD, 0x00, 0x00, 0xC4, 0x00, 0x00, 0x20,
+0x02, 0x48, 0x01, 0x21, 0x01, 0x70, 0x81, 0x70,
+0x70, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x02, 0x48, 0x01, 0x68, 0x49, 0x1C, 0x01, 0x60,
+0x70, 0x47, 0x00, 0x00, 0x98, 0x00, 0x00, 0x20,
+0xF3, 0xB5, 0xFF, 0x48, 0x85, 0xB0, 0x00, 0x68,
+0xFF, 0x22, 0x31, 0x30, 0x01, 0x90, 0x00, 0x20,
+0x01, 0x46, 0x02, 0x90, 0xFB, 0x48, 0x01, 0x80,
+0xFB, 0x48, 0x02, 0x80, 0xFB, 0x48, 0x01, 0x80,
+0x00, 0x20, 0x00, 0x90, 0xFA, 0x4C, 0x00, 0x21,
+0xE5, 0x43, 0x06, 0x46, 0x12, 0x36, 0x0F, 0xE0,
+0x01, 0x9A, 0x12, 0x5C, 0x24, 0x2A, 0x09, 0xD0,
+0x05, 0x9A, 0x43, 0x00, 0xD2, 0x5E, 0xAA, 0x42,
+0x01, 0xDD, 0x15, 0x46, 0x02, 0xE0, 0xA2, 0x42,
+0x00, 0xDA, 0x14, 0x46, 0x40, 0x1C, 0xC0, 0xB2,
+0xB0, 0x42, 0xED, 0xD3, 0xEB, 0x4A, 0x00, 0x23,
+0xD3, 0x5E, 0x28, 0x1B, 0x98, 0x42, 0x00, 0xDD,
+0x10, 0x80, 0x23, 0x20, 0xC0, 0x43, 0x03, 0x90,
+0x00, 0x2D, 0x01, 0xDB, 0x28, 0x46, 0x00, 0xE0,
+0x68, 0x42, 0x22, 0x1E, 0x00, 0xDA, 0x62, 0x42,
+0x90, 0x42, 0x15, 0xDB, 0x01, 0x20, 0x00, 0x2C,
+0x03, 0xDA, 0x2A, 0x19, 0x52, 0x10, 0x24, 0x32,
+0x01, 0xE0, 0x22, 0x46, 0x48, 0x32, 0xE1, 0x4B,
+0x12, 0xB2, 0x1B, 0x78, 0x64, 0x2B, 0x03, 0xD0,
+0xFA, 0x2A, 0x0E, 0xDD, 0xFA, 0x22, 0x0C, 0xE0,
+0xA0, 0x2A, 0x0A, 0xDD, 0xA0, 0x22, 0x08, 0xE0,
+0x2A, 0x46, 0x24, 0x3A, 0x9F, 0x23, 0x00, 0x20,
+0x12, 0xB2, 0xDB, 0x43, 0x9A, 0x42, 0x00, 0xDA,
+0x1A, 0x46, 0x00, 0x23, 0x9C, 0x46, 0x00, 0x9B,
+0x00, 0x28, 0x13, 0xD1, 0x23, 0xE0, 0x01, 0x98,
+0xC0, 0x5C, 0x24, 0x28, 0x0C, 0xD0, 0x05, 0x9F,
+0x58, 0x00, 0x3F, 0x5E, 0x97, 0x42, 0x07, 0xDA,
+0x03, 0x98, 0x87, 0x42, 0x04, 0xDD, 0x60, 0x46,
+0x38, 0x18, 0x49, 0x1C, 0x84, 0x46, 0xC9, 0xB2,
+0x5B, 0x1C, 0xDB, 0xB2, 0xB3, 0x42, 0xEA, 0xD3,
+0x0F, 0xE0, 0x01, 0x98, 0xC0, 0x5C, 0x24, 0x28,
+0x07, 0xD0, 0x05, 0x9F, 0x58, 0x00, 0x38, 0x5E,
+0x90, 0x42, 0x02, 0xDD, 0x49, 0x1C, 0x84, 0x44,
+0xC9, 0xB2, 0x5B, 0x1C, 0xDB, 0xB2, 0xB3, 0x42,
+0xEF, 0xD3, 0x00, 0x29, 0x03, 0xD0, 0x60, 0x46,
+0xFD, 0xF7, 0xC2, 0xFF, 0x00, 0xE0, 0x00, 0x20,
+0xBD, 0x49, 0x09, 0x78, 0x00, 0x29, 0x00, 0xD0,
+0x3C, 0x21, 0x8C, 0x46, 0x00, 0x99, 0x22, 0xE0,
+0x01, 0x9A, 0x52, 0x5C, 0x24, 0x2A, 0x1C, 0xD0,
+0x05, 0x9A, 0x4B, 0x00, 0xD2, 0x5A, 0x05, 0x9F,
+0x12, 0x1A, 0x12, 0xB2, 0xFA, 0x52, 0x13, 0x29,
+0x0D, 0xD0, 0x00, 0x29, 0x0B, 0xD0, 0x05, 0x29,
+0x09, 0xD0, 0x03, 0x29, 0x07, 0xD0, 0x18, 0x29,
+0x05, 0xD0, 0x16, 0x29, 0x03, 0xD0, 0x1B, 0x29,
+0x01, 0xD0, 0x08, 0x29, 0x05, 0xD1, 0x62, 0x45,
+0x03, 0xDD, 0x02, 0x9A, 0x52, 0x1C, 0xD2, 0xB2,
+0x02, 0x92, 0x49, 0x1C, 0xC9, 0xB2, 0xB1, 0x42,
+0xDA, 0xD3, 0xA4, 0x4A, 0x00, 0x23, 0x29, 0x1A,
+0xD3, 0x5E, 0x09, 0xB2, 0x99, 0x42, 0x00, 0xDD,
+0x11, 0x80, 0x9F, 0x49, 0x00, 0x22, 0x20, 0x1A,
+0x8A, 0x5E, 0x00, 0xB2, 0x90, 0x42, 0x00, 0xDA,
+0x08, 0x80, 0xF0, 0xB2, 0x00, 0x90, 0x24, 0x28,
+0x00, 0xD2, 0x3F, 0xE7, 0x06, 0x98, 0x00, 0x28,
+0x7E, 0xD1, 0x9A, 0x48, 0x00, 0x78, 0x64, 0x28,
+0x08, 0xD2, 0x40, 0x1C, 0x97, 0x49, 0xC0, 0xB2,
+0x08, 0x70, 0x14, 0x28, 0x02, 0xD2, 0x97, 0x48,
+0x00, 0x21, 0x01, 0x70, 0x96, 0x4A, 0x97, 0x4C,
+0x10, 0x78, 0x01, 0x28, 0x02, 0xD0, 0x02, 0x28,
+0x0D, 0xD0, 0x1A, 0xE0, 0x8D, 0x48, 0x00, 0x21,
+0x41, 0x5E, 0x48, 0x29, 0x05, 0xDC, 0x8A, 0x48,
+0x00, 0x21, 0x41, 0x5E, 0x48, 0x42, 0x48, 0x28,
+0x0F, 0xDD, 0x02, 0x20, 0x0C, 0xE0, 0x87, 0x48,
+0x00, 0x21, 0x41, 0x5E, 0x24, 0x29, 0x08, 0xDA,
+0x60, 0x78, 0x50, 0x28, 0x05, 0xD3, 0x8A, 0x48,
+0x00, 0x78, 0x10, 0x28, 0x01, 0xD1, 0x00, 0x20,
+0x10, 0x70, 0x80, 0x49, 0x00, 0x20, 0x08, 0x5E,
+0x00, 0x90, 0x00, 0x28, 0x7E, 0xD0, 0x80, 0x48,
+0x01, 0x78, 0x00, 0x29, 0x06, 0xD1, 0x82, 0x48,
+0x00, 0x78, 0x10, 0x28, 0x76, 0xD1, 0x10, 0x78,
+0x00, 0x28, 0xFB, 0xD1, 0x75, 0x4A, 0x00, 0x20,
+0x10, 0x5E, 0x7E, 0x4B, 0x50, 0x28, 0x72, 0xDD,
+0x0C, 0x22, 0x9A, 0x5E, 0x5D, 0x79, 0x17, 0x46,
+0x00, 0x2D, 0x0C, 0xD0, 0x04, 0x2D, 0x10, 0xD2,
+0x0C, 0x26, 0x9E, 0x5F, 0x0E, 0x22, 0x86, 0x19,
+0x76, 0x10, 0x9E, 0x81, 0x9A, 0x5E, 0x82, 0x42,
+0x10, 0xDA, 0xDE, 0x81, 0x0E, 0xE0, 0x98, 0x81,
+0xD8, 0x81, 0x00, 0x22, 0x9A, 0x71, 0x1A, 0x72,
+0xEE, 0xE7, 0x16, 0x01, 0xF2, 0x1B, 0x10, 0x18,
+0x01, 0x22, 0x00, 0x03, 0xD2, 0x03, 0x80, 0x18,
+0x00, 0x14, 0x98, 0x81, 0x9A, 0x89, 0xD0, 0x1B,
+0x00, 0xB2, 0x84, 0x46, 0x0E, 0x20, 0x18, 0x5E,
+0x12, 0x1A, 0x12, 0xB2, 0x78, 0x2D, 0x5E, 0xD2,
+0x6D, 0x1C, 0xEF, 0xB2, 0x5F, 0x71, 0x69, 0x2F,
+0x17, 0xD9, 0x45, 0x00, 0x6D, 0x11, 0x6D, 0x42,
+0x95, 0x42, 0x0D, 0xDA, 0x1E, 0x79, 0x00, 0xE0,
+0x8A, 0xE1, 0x02, 0x9D, 0x35, 0x43, 0x07, 0xD0,
+0x9D, 0x79, 0x6D, 0x1C, 0x9D, 0x71, 0x1D, 0x7A,
+0x00, 0x2D, 0x06, 0xD0, 0x6D, 0x1E, 0x03, 0xE0,
+0x00, 0x29, 0x02, 0xD0, 0x1D, 0x7A, 0x6D, 0x1C,
+0x1D, 0x72, 0x0A, 0x2F, 0x0B, 0xD9, 0x60, 0x46,
+0x01, 0x28, 0x02, 0xDD, 0x98, 0x79, 0x40, 0x1C,
+0x98, 0x71, 0x98, 0x79, 0x05, 0x28, 0x13, 0xD9,
+0x01, 0x20, 0x18, 0x71, 0x10, 0xE0, 0xC0, 0x10,
+0x40, 0x42, 0x90, 0x42, 0x0C, 0xDD, 0x00, 0x98,
+0x00, 0x25, 0x80, 0x10, 0x42, 0x42, 0x44, 0x48,
+0x45, 0x5F, 0xAA, 0x42, 0x04, 0xDD, 0x00, 0x29,
+0x02, 0xD0, 0x18, 0x7A, 0x40, 0x1C, 0x18, 0x72,
+0x18, 0x7A, 0x03, 0x28, 0x1F, 0xD9, 0xFF, 0xF7,
+0xF1, 0xFB, 0x01, 0xE0, 0x30, 0xE1, 0x02, 0xE0,
+0x00, 0x20, 0x18, 0x72, 0x17, 0xE0, 0x00, 0x22,
+0x5A, 0x71, 0x32, 0x28, 0x11, 0xDA, 0x1A, 0x71,
+0x0A, 0x21, 0x59, 0x5E, 0x32, 0x29, 0x0C, 0xDA,
+0x08, 0x1A, 0x00, 0xD5, 0x40, 0x42, 0x10, 0x21,
+0x59, 0x5E, 0x00, 0xB2, 0x00, 0x29, 0x03, 0xD0,
+0x4D, 0x01, 0x69, 0x1A, 0x08, 0x18, 0x40, 0x11,
+0x18, 0x82, 0x1A, 0x72, 0x9A, 0x71, 0x2F, 0x4A,
+0x00, 0x20, 0x10, 0x21, 0x10, 0x5E, 0x59, 0x5E,
+0xC0, 0x10, 0x49, 0x1D, 0x88, 0x42, 0x01, 0xDA,
+0x08, 0xB2, 0x02, 0xE0, 0x1E, 0x28, 0x00, 0xDD,
+0x1E, 0x20, 0x2B, 0x4F, 0x39, 0x78, 0x00, 0x29,
+0x25, 0xD0, 0x19, 0x79, 0x00, 0x29, 0x03, 0xD0,
+0x2D, 0x49, 0x09, 0x78, 0x00, 0x29, 0x1E, 0xD0,
+0x20, 0x4D, 0x00, 0x21, 0x69, 0x5E, 0x50, 0x29,
+0x19, 0xDD, 0x0A, 0x25, 0x5D, 0x5F, 0x69, 0x1A,
+0x00, 0xD5, 0x49, 0x42, 0x81, 0x42, 0xD8, 0x78,
+0x03, 0xDA, 0x96, 0x28, 0x0C, 0xD2, 0x40, 0x1C,
+0x06, 0xE0, 0x14, 0x28, 0x01, 0xD9, 0x12, 0x38,
+0x02, 0xE0, 0x00, 0x28, 0x09, 0xD0, 0x40, 0x1E,
+0xD8, 0x70, 0xC0, 0xB2, 0x96, 0x28, 0x04, 0xD3,
+0xFF, 0xF7, 0x9C, 0xFB, 0x01, 0xE0, 0x00, 0x20,
+0xD8, 0x70, 0x10, 0x48, 0x1B, 0x4D, 0x00, 0x88,
+0x58, 0x81, 0x00, 0x20, 0x10, 0x5E, 0x48, 0x28,
+0x50, 0xDD, 0x00, 0x21, 0x69, 0x5E, 0x88, 0x42,
+0x01, 0xDD, 0x28, 0x80, 0x66, 0xE0, 0x3D, 0x78,
+0x00, 0x2D, 0x03, 0xD1, 0x0D, 0x4D, 0x2D, 0x78,
+0x00, 0x2D, 0x3D, 0xD1, 0x0A, 0x25, 0x69, 0x43,
+0x09, 0x11, 0x81, 0x42, 0x38, 0xDD, 0x10, 0x49,
+0xFF, 0x25, 0x09, 0x88, 0x91, 0x35, 0x1D, 0xE0,
+0xC4, 0x00, 0x00, 0x20, 0x70, 0x00, 0x00, 0x20,
+0x80, 0x00, 0x00, 0x20, 0x82, 0x00, 0x00, 0x20,
+0xFF, 0x7F, 0x00, 0x00, 0x57, 0x00, 0x00, 0x20,
+0x56, 0x00, 0x00, 0x20, 0x5E, 0x00, 0x00, 0x20,
+0x58, 0x00, 0x00, 0x20, 0x04, 0x06, 0x00, 0x20,
+0x5A, 0x00, 0x00, 0x20, 0x42, 0x00, 0x00, 0x20,
+0xF8, 0x05, 0x00, 0x20, 0x72, 0x00, 0x00, 0x20,
+0x7A, 0x00, 0x00, 0x20, 0xA9, 0x42, 0x13, 0xD2,
+0x61, 0x88, 0x1E, 0x29, 0x10, 0xD2, 0x80, 0x10,
+0x41, 0x42, 0x60, 0x48, 0x00, 0x25, 0x45, 0x5F,
+0xA9, 0x42, 0x09, 0xDD, 0x98, 0x78, 0x02, 0x28,
+0x04, 0xD9, 0x00, 0x20, 0x98, 0x70, 0xFF, 0xF7,
+0x49, 0xFB, 0x0A, 0xE0, 0x40, 0x1C, 0x03, 0xE0,
+0x98, 0x78, 0x00, 0x28, 0x1E, 0xD0, 0x40, 0x1E,
+0x98, 0x70, 0x1B, 0xE0, 0x00, 0x20, 0x28, 0x80,
+0x98, 0x70, 0x00, 0x20, 0x10, 0x5E, 0x24, 0x28,
+0x14, 0xDA, 0x52, 0x48, 0x00, 0x21, 0x41, 0x5E,
+0x48, 0x42, 0x24, 0x28, 0x0E, 0xDA, 0x00, 0x21,
+0x4F, 0x4D, 0xD9, 0x71, 0x28, 0x78, 0xF0, 0x28,
+0x14, 0xD1, 0x58, 0x78, 0x40, 0x1C, 0xC0, 0xB2,
+0x58, 0x70, 0x14, 0x28, 0x0E, 0xD9, 0x29, 0x70,
+0x59, 0x70, 0x0B, 0xE0, 0x48, 0x48, 0x00, 0x78,
+0xF0, 0x28, 0x07, 0xD1, 0x47, 0x49, 0x00, 0x20,
+0x08, 0x70, 0x58, 0x78, 0x00, 0x28, 0x01, 0xD0,
+0x40, 0x1E, 0x58, 0x70, 0x41, 0x48, 0x00, 0x25,
+0x45, 0x5F, 0x90, 0x21, 0xCD, 0x42, 0x10, 0xDB,
+0x41, 0x48, 0x00, 0x78, 0x32, 0x28, 0x05, 0xD3,
+0x00, 0x21, 0x51, 0x5E, 0xE1, 0x20, 0x80, 0x00,
+0x81, 0x42, 0x06, 0xDC, 0x00, 0x26, 0x96, 0x5F,
+0x48, 0x2E, 0x0F, 0xDD, 0x68, 0x42, 0xB0, 0x42,
+0x0C, 0xDD, 0x38, 0x78, 0x00, 0x28, 0x2A, 0xD1,
+0xD8, 0x79, 0x02, 0x28, 0x27, 0xD8, 0xFF, 0x21,
+0x91, 0x31, 0xCD, 0x42, 0x23, 0xDB, 0x40, 0x1C,
+0xD8, 0x71, 0x29, 0xE0, 0x00, 0x20, 0xD8, 0x71,
+0x38, 0x78, 0x00, 0x28, 0x0C, 0xD0, 0x31, 0x48,
+0x00, 0x78, 0x00, 0x28, 0x08, 0xD0, 0x48, 0x2E,
+0x06, 0xDD, 0x03, 0x21, 0x30, 0x46, 0xFD, 0xF7,
+0xBB, 0xFD, 0x40, 0x42, 0xA8, 0x42, 0x07, 0xDC,
+0x60, 0x78, 0x00, 0x28, 0x0E, 0xD0, 0x48, 0x2E,
+0x0C, 0xDA, 0x48, 0x20, 0xC5, 0x42, 0x09, 0xDA,
+0x23, 0x49, 0x08, 0x78, 0x40, 0x1C, 0xC0, 0xB2,
+0x08, 0x70, 0x05, 0x28, 0x08, 0xD9, 0xFF, 0xF7,
+0xD1, 0xFA, 0x05, 0xE0, 0x1E, 0x48, 0x01, 0x78,
+0x05, 0x29, 0x01, 0xD8, 0x00, 0x21, 0x01, 0x70,
+0x1F, 0x48, 0x00, 0x78, 0x00, 0x28, 0x07, 0xD0,
+0x38, 0x78, 0x00, 0x28, 0x04, 0xD0, 0x60, 0x88,
+0xB4, 0x28, 0x01, 0xD9, 0xFF, 0xF7, 0xBE, 0xFA,
+0x1A, 0x49, 0xE1, 0x20, 0x0A, 0x88, 0x80, 0x00,
+0x82, 0x42, 0x03, 0xD3, 0x18, 0x4A, 0x00, 0x20,
+0x10, 0x70, 0x08, 0x80, 0x17, 0x4A, 0x10, 0x78,
+0x00, 0x28, 0x03, 0xD0, 0xFF, 0xF7, 0xAE, 0xFA,
+0x00, 0x20, 0x10, 0x70, 0x14, 0x49, 0x08, 0x78,
+0x00, 0x28, 0x05, 0xD0, 0x13, 0x4A, 0x12, 0x78,
+0x00, 0x2A, 0x01, 0xD1, 0x40, 0x1E, 0x08, 0x70,
+0x11, 0x48, 0x00, 0x21, 0x41, 0x5E, 0x48, 0x29,
+0x05, 0xDA, 0x60, 0x78, 0x0A, 0x28, 0x02, 0xD9,
+0x00, 0x20, 0x07, 0xB0, 0xF0, 0xBD, 0x01, 0x20,
+0xFB, 0xE7, 0x00, 0x00, 0x80, 0x00, 0x00, 0x20,
+0x61, 0x00, 0x00, 0x20, 0x5A, 0x00, 0x00, 0x20,
+0x57, 0x00, 0x00, 0x20, 0xF8, 0x05, 0x00, 0x20,
+0x5E, 0x00, 0x00, 0x20, 0xAA, 0x00, 0x00, 0x20,
+0x56, 0x00, 0x00, 0x20, 0xA7, 0x00, 0x00, 0x20,
+0x64, 0x00, 0x00, 0x20, 0xE4, 0x02, 0x00, 0x20,
+0x82, 0x00, 0x00, 0x20, 0x70, 0xB5, 0x27, 0x48,
+0xC2, 0x79, 0x27, 0x49, 0x0B, 0x78, 0x9A, 0x42,
+0x22, 0xD0, 0x26, 0x4A, 0x00, 0x25, 0x15, 0x70,
+0x0B, 0x78, 0x80, 0x22, 0x24, 0x4C, 0x04, 0x2B,
+0x07, 0xD3, 0x24, 0x4B, 0x5B, 0x68, 0x5B, 0x07,
+0x5B, 0x0F, 0xC3, 0x71, 0xC3, 0x79, 0x03, 0x2B,
+0x0E, 0xD0, 0xC0, 0x79, 0x08, 0x70, 0x02, 0x20,
+0x20, 0x70, 0x1F, 0x48, 0x05, 0x70, 0x08, 0x78,
+0x00, 0x28, 0x0A, 0xD0, 0x01, 0x28, 0x1F, 0xD0,
+0x02, 0x28, 0x25, 0xD0, 0x03, 0x28, 0x03, 0xD1,
+0x22, 0x70, 0x07, 0x20, 0xFE, 0xF7, 0xF8, 0xFE,
+0x70, 0xBD, 0x01, 0x20, 0xFE, 0xF7, 0xDC, 0xFB,
+0x16, 0x4E, 0x30, 0x78, 0x00, 0x28, 0x06, 0xD0,
+0x00, 0x20, 0xFE, 0xF7, 0xED, 0xFE, 0x01, 0x20,
+0xFE, 0xF7, 0xEA, 0xFE, 0x35, 0x70, 0x00, 0x20,
+0xFE, 0xF7, 0xE6, 0xFE, 0x01, 0x20, 0x20, 0x70,
+0x0F, 0x49, 0x03, 0x20, 0x08, 0x70, 0x70, 0xBD,
+0x01, 0x20, 0xFE, 0xF7, 0xC5, 0xFB, 0x01, 0x20,
+0xFE, 0xF7, 0xDA, 0xFE, 0x10, 0x20, 0x03, 0xE0,
+0x02, 0x20, 0xFE, 0xF7, 0xD5, 0xFE, 0x04, 0x20,
+0x20, 0x70, 0x70, 0xBD, 0x9C, 0x00, 0x00, 0x20,
+0x65, 0x00, 0x00, 0x20, 0xA5, 0x00, 0x00, 0x20,
+0x04, 0x06, 0x00, 0x20, 0xC0, 0x10, 0x00, 0x50,
+0xA6, 0x00, 0x00, 0x20, 0x6F, 0x00, 0x00, 0x20,
+0x69, 0x00, 0x00, 0x20, 0x70, 0xB5, 0x01, 0x24,
+0xA4, 0x07, 0x00, 0x28, 0x1F, 0xD0, 0x11, 0x20,
+0xC0, 0x06, 0x20, 0x60, 0x15, 0x48, 0xB3, 0x21,
+0x41, 0x61, 0x15, 0x49, 0x07, 0x23, 0xCA, 0x69,
+0x12, 0x02, 0x12, 0x0A, 0x05, 0x04, 0x2A, 0x43,
+0xCA, 0x61, 0x00, 0x21, 0x81, 0x61, 0x03, 0x61,
+0xFE, 0xF7, 0xC6, 0xF9, 0xFE, 0xF7, 0xF6, 0xF9,
+0xFE, 0xF7, 0xEE, 0xF9, 0x01, 0x20, 0xFE, 0xF7,
+0x4D, 0xFC, 0x01, 0x20, 0xFE, 0xF7, 0x5E, 0xFD,
+0x02, 0x20, 0xFE, 0xF7, 0x6F, 0xFA, 0xFE, 0xF7,
+0xB5, 0xFB, 0xFF, 0xF7, 0xF1, 0xF8, 0xE1, 0x68,
+0x01, 0x20, 0x40, 0x02, 0x01, 0x43, 0xE1, 0x60,
+0x04, 0x49, 0x08, 0x60, 0xFF, 0xF7, 0x00, 0xFA,
+0x01, 0x20, 0x70, 0xBD, 0x00, 0xE0, 0x00, 0xE0,
+0x04, 0xED, 0x00, 0xE0, 0x00, 0xE1, 0x00, 0xE0,
+0x70, 0xB5, 0x3C, 0x48, 0x3C, 0x4A, 0x00, 0x78,
+0x00, 0x24, 0x00, 0x28, 0x05, 0xD0, 0x3B, 0x48,
+0x3B, 0x49, 0x00, 0x78, 0x00, 0x28, 0x06, 0xD0,
+0x0C, 0x80, 0x3A, 0x48, 0x01, 0x78, 0x3A, 0x48,
+0x00, 0x29, 0x15, 0xD1, 0x09, 0xE0, 0x13, 0x78,
+0x35, 0x48, 0x00, 0x2B, 0x00, 0x88, 0x02, 0xD0,
+0x09, 0x30, 0x08, 0x80, 0xF1, 0xE7, 0x40, 0x1C,
+0xFB, 0xE7, 0x34, 0x49, 0x4B, 0x78, 0x00, 0x2B,
+0x06, 0xD1, 0x89, 0x78, 0x00, 0x29, 0x03, 0xD1,
+0x31, 0x49, 0x09, 0x78, 0x00, 0x29, 0x0E, 0xD0,
+0x44, 0x70, 0x41, 0x88, 0xE1, 0x23, 0x9B, 0x00,
+0x99, 0x42, 0x12, 0xD2, 0x11, 0x78, 0x00, 0x29,
+0x41, 0x88, 0x02, 0xD0, 0x09, 0x31, 0x41, 0x80,
+0x0B, 0xE0, 0x49, 0x1C, 0xFB, 0xE7, 0x44, 0x80,
+0x41, 0x78, 0xFA, 0x29, 0x05, 0xD2, 0x11, 0x78,
+0x00, 0x29, 0x41, 0x78, 0x17, 0xD0, 0x09, 0x31,
+0x41, 0x70, 0x00, 0x78, 0x04, 0x28, 0x31, 0xD0,
+0x13, 0xDC, 0x01, 0x28, 0x25, 0xD1, 0x21, 0x49,
+0x08, 0x78, 0x00, 0x28, 0x01, 0xD0, 0x40, 0x1E,
+0x08, 0x70, 0x1F, 0x49, 0x08, 0x78, 0x00, 0x28,
+0x21, 0xD0, 0x40, 0x1E, 0x00, 0x06, 0x00, 0x0E,
+0x08, 0x70, 0x17, 0xD0, 0x1B, 0xE0, 0x49, 0x1C,
+0xE6, 0xE7, 0x10, 0x28, 0x1A, 0xD0, 0x40, 0x28,
+0x0F, 0xD1, 0x18, 0x4D, 0x28, 0x78, 0x30, 0x28,
+0x03, 0xD1, 0x01, 0x20, 0xFE, 0xF7, 0x70, 0xFB,
+0x2C, 0x70, 0x15, 0x48, 0x01, 0x78, 0x00, 0x29,
+0x03, 0xD0, 0x04, 0x70, 0x00, 0x20, 0xFE, 0xF7,
+0x67, 0xFB, 0x70, 0xBD, 0x11, 0x49, 0xC8, 0x6A,
+0x02, 0x22, 0x10, 0x43, 0xC8, 0x62, 0xFE, 0xF7,
+0x3D, 0xFA, 0x70, 0xBD, 0x00, 0xF0, 0xC8, 0xF8,
+0x70, 0xBD, 0x00, 0x00, 0x56, 0x00, 0x00, 0x20,
+0x65, 0x00, 0x00, 0x20, 0x61, 0x00, 0x00, 0x20,
+0xAA, 0x00, 0x00, 0x20, 0x60, 0x03, 0x00, 0x20,
+0x04, 0x06, 0x00, 0x20, 0xE4, 0x02, 0x00, 0x20,
+0x5E, 0x00, 0x00, 0x20, 0x62, 0x00, 0x00, 0x20,
+0x6D, 0x00, 0x00, 0x20, 0x88, 0x02, 0x00, 0x20,
+0xA5, 0x00, 0x00, 0x20, 0x40, 0x10, 0x00, 0x50,
+0x70, 0xB5, 0x17, 0x4C, 0x20, 0x78, 0x04, 0x23,
+0x16, 0x4A, 0x00, 0x28, 0x05, 0xD0, 0x01, 0x28,
+0x03, 0xD0, 0x02, 0x28, 0x08, 0xD0, 0x00, 0x20,
+0x00, 0xE0, 0x03, 0x20, 0x90, 0x70, 0x01, 0x0A,
+0xD1, 0x70, 0x10, 0x71, 0x00, 0x0A, 0x04, 0xE0,
+0x93, 0x70, 0x18, 0x0A, 0xD0, 0x70, 0x13, 0x71,
+0x18, 0x0A, 0x50, 0x71, 0x50, 0x79, 0x15, 0x79,
+0x01, 0x02, 0x29, 0x43, 0xD0, 0x78, 0x19, 0x43,
+0x92, 0x78, 0x00, 0x02, 0x10, 0x43, 0x18, 0x43,
+0xFE, 0xF7, 0xA4, 0xF8, 0x05, 0x20, 0x20, 0x70,
+0x05, 0x49, 0x08, 0x20, 0x08, 0x70, 0x05, 0x49,
+0xC0, 0x01, 0x08, 0x80, 0x70, 0xBD, 0x00, 0x00,
+0x65, 0x00, 0x00, 0x20, 0x88, 0x02, 0x00, 0x20,
+0x67, 0x00, 0x00, 0x20, 0x8E, 0x00, 0x00, 0x20,
+0xF8, 0xB5, 0x27, 0x4D, 0x28, 0x78, 0x01, 0x28,
+0x49, 0xD1, 0xFF, 0xF7, 0xED, 0xF8, 0xFF, 0xF7,
+0xB9, 0xF8, 0x24, 0x4C, 0x20, 0x68, 0x24, 0x49,
+0x24, 0x4F, 0x48, 0x43, 0x39, 0x46, 0xFD, 0xF7,
+0xC5, 0xFB, 0x40, 0x1C, 0xC0, 0x03, 0x01, 0x21,
+0x00, 0x0C, 0x09, 0x04, 0x40, 0x18, 0x20, 0x49,
+0xC8, 0x60, 0x00, 0x26, 0x2E, 0x70, 0x20, 0x68,
+0x1E, 0x49, 0x48, 0x43, 0x39, 0x46, 0xFD, 0xF7,
+0xB5, 0xFB, 0x40, 0x1C, 0x42, 0x08, 0x1C, 0x48,
+0x01, 0x88, 0x48, 0x00, 0x10, 0x1A, 0x40, 0x1E,
+0x00, 0xB2, 0x1A, 0x4A, 0x00, 0x28, 0x00, 0xDD,
+0x10, 0x70, 0x88, 0x05, 0x11, 0x78, 0x80, 0x0D,
+0x09, 0x04, 0x13, 0x4D, 0x08, 0x43, 0x40, 0x3D,
+0x68, 0x62, 0x20, 0x68, 0x14, 0x49, 0x48, 0x43,
+0x39, 0x46, 0xFD, 0xF7, 0x9B, 0xFB, 0x40, 0x1C,
+0x42, 0x08, 0x12, 0x48, 0x01, 0x88, 0x48, 0x00,
+0x10, 0x1A, 0x40, 0x1E, 0x00, 0xB2, 0x10, 0x4A,
+0x00, 0x28, 0x01, 0xDD, 0x10, 0x70, 0x00, 0xE0,
+0x16, 0x70, 0x88, 0x05, 0x11, 0x78, 0x80, 0x0D,
+0x09, 0x04, 0x08, 0x43, 0xA8, 0x62, 0xF8, 0xBD,
+0xC0, 0x00, 0x00, 0x20, 0x00, 0x06, 0x00, 0x20,
+0x78, 0xFE, 0x01, 0x00, 0x80, 0x75, 0x07, 0x00,
+0x40, 0x10, 0x00, 0x50, 0x68, 0x2E, 0x00, 0x00,
+0x30, 0x00, 0x00, 0x20, 0x32, 0x00, 0x00, 0x20,
+0xD0, 0x5C, 0x00, 0x00, 0x34, 0x00, 0x00, 0x20,
+0x36, 0x00, 0x00, 0x20, 0x10, 0xB5, 0xFF, 0xF7,
+0x8B, 0xF8, 0x04, 0x48, 0x00, 0x78, 0x00, 0x28,
+0x02, 0xD1, 0x01, 0x20, 0xFE, 0xF7, 0x0A, 0xFC,
+0x10, 0xBD, 0x00, 0x00, 0x90, 0x02, 0x00, 0x20,
+0x10, 0xB5, 0x11, 0x48, 0x11, 0x4C, 0x41, 0x78,
+0x00, 0x29, 0x0A, 0xD1, 0x00, 0x78, 0x00, 0x28,
+0x07, 0xD1, 0x0F, 0x48, 0x00, 0x78, 0x00, 0x28,
+0x03, 0xD1, 0x0E, 0x48, 0x00, 0x78, 0x00, 0x28,
+0x02, 0xD0, 0xB4, 0x20, 0x20, 0x70, 0x02, 0xE0,
+0x20, 0x78, 0x00, 0x28, 0x06, 0xD0, 0x01, 0x20,
+0xFE, 0xF7, 0x6A, 0xFC, 0x20, 0x78, 0x40, 0x1E,
+0x20, 0x70, 0x02, 0xE0, 0x00, 0x20, 0xFE, 0xF7,
+0x63, 0xFC, 0xFE, 0xF7, 0x4F, 0xF9, 0x10, 0xBD,
+0xE4, 0x02, 0x00, 0x20, 0x62, 0x00, 0x00, 0x20,
+0x61, 0x00, 0x00, 0x20, 0x5E, 0x00, 0x00, 0x20,
+0xF8, 0xB5, 0x3D, 0x4F, 0x00, 0x25, 0x78, 0x78,
+0xC0, 0x07, 0x74, 0xD1, 0x78, 0x78, 0x40, 0x08,
+0x40, 0x00, 0x20, 0x28, 0x4C, 0xD0, 0x0C, 0xDC,
+0x38, 0x4E, 0x02, 0x28, 0x34, 0x68, 0x13, 0xD0,
+0x04, 0x28, 0x15, 0xD0, 0x36, 0x49, 0x08, 0x28,
+0x09, 0x68, 0x16, 0xD0, 0x10, 0x28, 0x48, 0xD1,
+0x35, 0xE0, 0x42, 0x28, 0x0A, 0xD0, 0x44, 0x28,
+0x0D, 0xD0, 0x32, 0x49, 0x48, 0x28, 0x09, 0x68,
+0x2B, 0xD0, 0x50, 0x28, 0x3D, 0xD1, 0x28, 0xE0,
+0x25, 0x46, 0x3A, 0xE0, 0x2E, 0x48, 0x00, 0xE0,
+0x2E, 0x48, 0x05, 0x68, 0x35, 0xE0, 0x2E, 0x48,
+0xFB, 0xE7, 0x48, 0x22, 0x2D, 0x48, 0xFD, 0xF7,
+0x2F, 0xFB, 0x2C, 0x4D, 0x00, 0x21, 0x48, 0x00,
+0x2A, 0x5A, 0x23, 0x5A, 0x49, 0x1C, 0xD2, 0x1A,
+0xC9, 0xB2, 0x2A, 0x52, 0x24, 0x29, 0xF6, 0xD3,
+0x01, 0x21, 0x26, 0x48, 0xFF, 0xF7, 0xBC, 0xFA,
+0x32, 0x68, 0x00, 0x20, 0x41, 0x00, 0x6B, 0x5A,
+0x54, 0x5A, 0x40, 0x1C, 0x1B, 0x19, 0xC0, 0xB2,
+0x6B, 0x52, 0x24, 0x28, 0xF6, 0xD3, 0x1F, 0x4D,
+0x13, 0xE0, 0x0D, 0x46, 0x11, 0xE0, 0x48, 0x22,
+0x1C, 0x48, 0xFD, 0xF7, 0x0D, 0xFB, 0x01, 0x21,
+0x1A, 0x48, 0xFF, 0xF7, 0xA5, 0xFA, 0xF2, 0xE7,
+0x48, 0x22, 0x18, 0x49, 0x18, 0x48, 0xFD, 0xF7,
+0x03, 0xFB, 0x78, 0x78, 0x01, 0x21, 0x08, 0x43,
+0x78, 0x70, 0x78, 0x78, 0x00, 0x06, 0x08, 0xD5,
+0x40, 0x22, 0x14, 0x49, 0x14, 0x48, 0xFD, 0xF7,
+0xF7, 0xFA, 0x78, 0x78, 0x01, 0x21, 0x08, 0x43,
+0x78, 0x70, 0x00, 0x2D, 0x0B, 0xD0, 0x48, 0x21,
+0x0D, 0x48, 0xFD, 0xF7, 0x06, 0xFB, 0x0C, 0x49,
+0x28, 0x46, 0xFF, 0xF7, 0x63, 0xFA, 0x78, 0x78,
+0x01, 0x21, 0x08, 0x43, 0x78, 0x70, 0xF8, 0xBD,
+0x88, 0x02, 0x00, 0x20, 0x08, 0x00, 0x00, 0x20,
+0x20, 0x00, 0x00, 0x20, 0x28, 0x00, 0x00, 0x20,
+0x14, 0x00, 0x00, 0x20, 0x0C, 0x00, 0x00, 0x20,
+0x10, 0x00, 0x00, 0x20, 0x16, 0x05, 0x00, 0x20,
+0x9C, 0x01, 0x00, 0x20, 0x5C, 0x01, 0x00, 0x20,
+0xE8, 0x01, 0x00, 0x20, 0x70, 0xB5, 0x0E, 0x46,
+0x00, 0x28, 0x01, 0xD0, 0x20, 0x48, 0x00, 0xE0,
+0x20, 0x48, 0x00, 0x2E, 0x04, 0x88, 0x03, 0xD0,
+0x90, 0x68, 0x01, 0x25, 0x10, 0x60, 0x01, 0xE0,
+0x10, 0x68, 0x25, 0x46, 0x00, 0x28, 0x01, 0xDC,
+0x01, 0x20, 0x10, 0x60, 0x53, 0x68, 0x01, 0x46,
+0xC0, 0x18, 0xC0, 0x03, 0x00, 0x0C, 0x83, 0x42,
+0x01, 0xDB, 0x18, 0x46, 0x00, 0xE0, 0x50, 0x60,
+0x41, 0x18, 0x27, 0x22, 0x50, 0x43, 0xFD, 0xF7,
+0x97, 0xFA, 0x00, 0xB2, 0x28, 0x21, 0x48, 0x43,
+0x08, 0x30, 0x00, 0x11, 0x4E, 0x21, 0x08, 0x1A,
+0x00, 0xB2, 0x00, 0x28, 0x01, 0xDA, 0x00, 0x20,
+0x04, 0xE0, 0x0D, 0x49, 0x09, 0x78, 0x88, 0x42,
+0x00, 0xDD, 0x08, 0x46, 0x00, 0x2E, 0x01, 0xD0,
+0x28, 0x18, 0x00, 0xE0, 0x28, 0x1A, 0x21, 0x46,
+0x48, 0x43, 0xFD, 0xF7, 0x7D, 0xFA, 0x01, 0x28,
+0x01, 0xDA, 0x01, 0x20, 0x02, 0xE0, 0xA0, 0x42,
+0x00, 0xDD, 0x20, 0x46, 0x00, 0xB2, 0x70, 0xBD,
+0xB4, 0x00, 0x00, 0x20, 0xB6, 0x00, 0x00, 0x20,
+0xB1, 0x00, 0x00, 0x20, 0x70, 0xB5, 0x0D, 0x46,
+0x00, 0x28, 0x01, 0xD0, 0x10, 0x48, 0x00, 0xE0,
+0x10, 0x48, 0x4E, 0x21, 0x04, 0x88, 0x10, 0x69,
+0x48, 0x43, 0xD1, 0x68, 0x4A, 0x10, 0x80, 0x18,
+0xFD, 0xF7, 0x5E, 0xFA, 0x4E, 0x21, 0x4D, 0x43,
+0x0B, 0x49, 0x09, 0x78, 0x69, 0x18, 0x40, 0x18,
+0x75, 0x38, 0x60, 0x43, 0x61, 0x10, 0x40, 0x18,
+0x21, 0x46, 0xFD, 0xF7, 0x51, 0xFA, 0x01, 0x28,
+0x01, 0xDA, 0x01, 0x20, 0x02, 0xE0, 0xA0, 0x42,
+0x00, 0xDD, 0x20, 0x46, 0x00, 0xB2, 0x70, 0xBD,
+0xB4, 0x00, 0x00, 0x20, 0xB6, 0x00, 0x00, 0x20,
+0xB1, 0x00, 0x00, 0x20, 0x0A, 0x49, 0x02, 0x20,
+0x08, 0x80, 0x0A, 0x49, 0x00, 0x20, 0x08, 0x5E,
+0x09, 0x49, 0xAF, 0x28, 0x03, 0xDD, 0x0A, 0x88,
+0x52, 0x08, 0x52, 0x00, 0x0A, 0x80, 0x48, 0x28,
+0x04, 0xDA, 0x08, 0x78, 0x80, 0x07, 0x01, 0xD5,
+0x42, 0x20, 0x70, 0x47, 0x48, 0x20, 0x70, 0x47,
+0xBE, 0x00, 0x00, 0x20, 0x74, 0x00, 0x00, 0x20,
+0x8A, 0x00, 0x00, 0x20, 0xF8, 0xB5, 0x29, 0x4E,
+0x00, 0x24, 0x74, 0x70, 0x28, 0x4D, 0xAC, 0x71,
+0x6C, 0x64, 0xEC, 0x83, 0xAC, 0x83, 0xEC, 0x70,
+0xE8, 0x7C, 0xB4, 0x27, 0x02, 0x28, 0x0B, 0xD8,
+0x24, 0x48, 0xE9, 0x7B, 0x00, 0x78, 0x08, 0x43,
+0x03, 0xD0, 0x03, 0x20, 0xE8, 0x73, 0x2F, 0x74,
+0x02, 0xE0, 0x01, 0x20, 0xE8, 0x73, 0x2C, 0x74,
+0xA8, 0x7C, 0x00, 0x28, 0x06, 0xD0, 0x6C, 0x76,
+0xA8, 0x78, 0x00, 0x28, 0x05, 0xD0, 0xF0, 0x20,
+0x68, 0x73, 0x06, 0xE0, 0x0A, 0x20, 0x68, 0x76,
+0x03, 0xE0, 0x68, 0x7B, 0x05, 0x28, 0x00, 0xD2,
+0x6C, 0x73, 0x17, 0x48, 0x44, 0x70, 0x15, 0x48,
+0x88, 0x21, 0x7C, 0x30, 0xFD, 0xF7, 0x21, 0xFA,
+0x7C, 0x21, 0x12, 0x48, 0xFD, 0xF7, 0x1D, 0xFA,
+0x12, 0x48, 0xAC, 0x72, 0x04, 0x70, 0xEC, 0x72,
+0x2C, 0x87, 0x2C, 0x73, 0xAC, 0x85, 0xEC, 0x85,
+0xEC, 0x75, 0x0F, 0x48, 0x04, 0x60, 0x6C, 0x71,
+0xAF, 0x73, 0xEC, 0x84, 0x2C, 0x85, 0x34, 0x70,
+0x0C, 0x48, 0x04, 0x60, 0x60, 0x21, 0x0C, 0x48,
+0xFD, 0xF7, 0x07, 0xFA, 0x04, 0x21, 0x0B, 0x48,
+0xFD, 0xF7, 0x03, 0xFA, 0x6C, 0x70, 0xAC, 0x87,
+0x2C, 0x75, 0xF8, 0xBD, 0x90, 0x02, 0x00, 0x20,
+0x54, 0x00, 0x00, 0x20, 0xE4, 0x02, 0x00, 0x20,
+0x04, 0x06, 0x00, 0x20, 0xF8, 0x05, 0x00, 0x20,
+0x00, 0x06, 0x00, 0x20, 0x18, 0x00, 0x00, 0x20,
+0xE8, 0x03, 0x00, 0x20, 0xF0, 0x05, 0x00, 0x20,
+0xFF, 0xB5, 0xAD, 0xB0, 0xFA, 0x48, 0x2B, 0x90,
+0x00, 0x20, 0x11, 0x90, 0x2D, 0x98, 0xF9, 0x49,
+0x02, 0x78, 0x2E, 0x98, 0x08, 0x92, 0x04, 0x78,
+0x00, 0x20, 0x1C, 0x90, 0x06, 0x20, 0x42, 0x43,
+0x0D, 0x90, 0x1D, 0x90, 0x05, 0x94, 0x3C, 0x20,
+0x28, 0x90, 0x50, 0x20, 0x1E, 0x90, 0x06, 0x20,
+0x25, 0x90, 0x55, 0x20, 0x13, 0x90, 0x12, 0x19,
+0x38, 0x20, 0x20, 0x90, 0x50, 0x00, 0x17, 0x92,
+0x27, 0x90, 0x08, 0x5E, 0x3C, 0x28, 0x04, 0xDA,
+0x0A, 0x21, 0x48, 0x43, 0x40, 0x11, 0x1B, 0x90,
+0x08, 0xE0, 0x09, 0x21, 0x09, 0x03, 0x48, 0x43,
+0x00, 0x14, 0x1B, 0x90, 0x41, 0x20, 0x13, 0x90,
+0x2A, 0x20, 0x20, 0x90, 0xE4, 0x48, 0xE5, 0x4A,
+0x01, 0x88, 0x19, 0x20, 0x40, 0x01, 0x81, 0x42,
+0x06, 0xD9, 0x10, 0x78, 0x01, 0x28, 0x03, 0xD1,
+0x7F, 0x20, 0x13, 0x90, 0x54, 0x20, 0x20, 0x90,
+0x0D, 0x99, 0x08, 0x1B, 0x40, 0x1E, 0x26, 0x90,
+0x17, 0x98, 0x03, 0x90, 0x00, 0x20, 0x09, 0x90,
+0x10, 0x90, 0x32, 0x21, 0xDA, 0x48, 0xFD, 0xF7,
+0xA0, 0xF9, 0x0A, 0x21, 0xD9, 0x48, 0xFD, 0xF7,
+0x9C, 0xF9, 0x0A, 0x21, 0xD8, 0x48, 0xFD, 0xF7,
+0x98, 0xF9, 0xD7, 0x48, 0x00, 0x21, 0x00, 0x1D,
+0x1A, 0x90, 0xD4, 0x48, 0x04, 0x91, 0x00, 0x1D,
+0x0C, 0x90, 0xD0, 0x48, 0x0F, 0x91, 0x00, 0x78,
+0x01, 0x28, 0x05, 0xD9, 0x02, 0x21, 0x00, 0x20,
+0x01, 0x90, 0x02, 0x91, 0x08, 0x46, 0x04, 0xE0,
+0x0E, 0x21, 0x00, 0x20, 0x01, 0x90, 0x02, 0x91,
+0x08, 0x46, 0x00, 0x21, 0x14, 0x90, 0x01, 0x20,
+0x15, 0x91, 0x0B, 0x46, 0x0E, 0x90, 0x2E, 0xE0,
+0x00, 0x2B, 0x2C, 0xD0, 0x0E, 0x9A, 0x00, 0x2A,
+0x13, 0xD0, 0x08, 0x9A, 0x93, 0x42, 0x05, 0xD9,
+0x00, 0x23, 0x17, 0x9A, 0x0E, 0x93, 0x01, 0xAC,
+0x07, 0xC4, 0xA2, 0xE1, 0x0D, 0x99, 0x03, 0x98,
+0x40, 0x1A, 0x80, 0xB2, 0x03, 0x90, 0x02, 0x20,
+0xC0, 0x1A, 0x41, 0x00, 0xBB, 0x48, 0x08, 0x18,
+0x0D, 0xE0, 0x08, 0x98, 0xC1, 0x18, 0x1D, 0x98,
+0x81, 0x42, 0x7D, 0xD0, 0x0D, 0x99, 0x03, 0x98,
+0x40, 0x18, 0x80, 0xB2, 0x03, 0x90, 0xB5, 0x48,
+0x59, 0x00, 0x08, 0x18, 0x00, 0x1D, 0x0C, 0x90,
+0x02, 0x99, 0x04, 0x91, 0x01, 0x98, 0x00, 0x21,
+0x0F, 0x90, 0x02, 0x91, 0x01, 0x91, 0x00, 0x20,
+0x1F, 0x90, 0x18, 0x90, 0x14, 0xE0, 0x00, 0x28,
+0x12, 0xD0, 0x05, 0x98, 0x19, 0x90, 0x00, 0x20,
+0x07, 0x46, 0x12, 0x90, 0x04, 0x98, 0x01, 0x24,
+0x08, 0x26, 0x18, 0x21, 0x08, 0x40, 0x0A, 0x90,
+0x00, 0x21, 0x19, 0x98, 0x0B, 0x91, 0x02, 0x28,
+0x01, 0xD9, 0x02, 0x20, 0x19, 0x90, 0x37, 0xE1,
+0x26, 0x98, 0x00, 0x24, 0xC0, 0xB2, 0x19, 0x90,
+0x01, 0x20, 0x12, 0x90, 0x04, 0x98, 0x04, 0x26,
+0x40, 0x07, 0x27, 0x46, 0x40, 0x0F, 0xEA, 0xE7,
+0x12, 0x98, 0x00, 0x28, 0x01, 0xD0, 0x16, 0x94,
+0x01, 0xE0, 0x60, 0x42, 0x16, 0x90, 0x0A, 0x98,
+0x0B, 0x99, 0xB0, 0x43, 0xB9, 0x43, 0x0B, 0x91,
+0x0A, 0x90, 0x16, 0x99, 0x03, 0x98, 0x40, 0x18,
+0x23, 0x90, 0x40, 0x00, 0x8F, 0x49, 0x24, 0x90,
+0x0D, 0x5E, 0x0F, 0x99, 0x04, 0x98, 0x21, 0x91,
+0x22, 0x90, 0x30, 0x40, 0x39, 0x40, 0x08, 0x43,
+0x01, 0xD1, 0x00, 0x2B, 0x7E, 0xD1, 0x00, 0x2D,
+0x7C, 0xDD, 0xE8, 0x07, 0x0B, 0xD1, 0x0C, 0x98,
+0x0C, 0x99, 0x00, 0x88, 0x40, 0x19, 0x08, 0x80,
+0x16, 0x98, 0x1A, 0x99, 0x40, 0x00, 0x09, 0x5A,
+0x1A, 0x9A, 0x49, 0x19, 0x11, 0x52, 0x1B, 0x98,
+0x85, 0x42, 0x6B, 0xDB, 0x2B, 0x98, 0x85, 0x42,
+0x68, 0xDA, 0xE8, 0x07, 0x66, 0xD1, 0x13, 0x98,
+0x68, 0x43, 0x40, 0x11, 0x01, 0xB2, 0x2A, 0x91,
+0x20, 0x98, 0x68, 0x43, 0x40, 0x11, 0x01, 0xB2,
+0x29, 0x91, 0x00, 0x21, 0x0E, 0x98, 0x00, 0x91,
+0x06, 0x91, 0x00, 0x28, 0x0F, 0xD0, 0x00, 0xE0,
+0x18, 0xE1, 0x08, 0x98, 0x00, 0x2B, 0x05, 0xD0,
+0xC0, 0x1A, 0x00, 0x28, 0x05, 0xDD, 0x01, 0x20,
+0x00, 0x90, 0x16, 0xE0, 0xC0, 0x1A, 0x00, 0x28,
+0x13, 0xDC, 0x01, 0x20, 0x10, 0xE0, 0x00, 0x2B,
+0x07, 0xD0, 0x08, 0x98, 0xC1, 0x18, 0x1D, 0x98,
+0x40, 0x1E, 0x81, 0x42, 0x01, 0xDA, 0x02, 0x20,
+0x00, 0x90, 0x08, 0x98, 0xC1, 0x18, 0x1D, 0x98,
+0x08, 0x1A, 0x40, 0x1C, 0x01, 0xD1, 0x02, 0x20,
+0x06, 0x90, 0x12, 0x98, 0x00, 0x28, 0x14, 0xD0,
+0x00, 0x2C, 0x09, 0xD0, 0x05, 0x98, 0x01, 0x19,
+0x0D, 0x98, 0x40, 0x1E, 0x81, 0x42, 0x03, 0xDA,
+0x00, 0x98, 0x08, 0x21, 0x08, 0x43, 0x00, 0x90,
+0x05, 0x98, 0x01, 0x19, 0x0D, 0x98, 0x08, 0x1A,
+0x40, 0x1C, 0x14, 0xD1, 0x08, 0x21, 0x06, 0x98,
+0x0F, 0xE0, 0x05, 0x98, 0x00, 0x2C, 0x07, 0xD0,
+0x00, 0x1B, 0x00, 0x28, 0x07, 0xDD, 0x00, 0x98,
+0x04, 0x21, 0x08, 0x43, 0x00, 0x90, 0x06, 0xE0,
+0x00, 0x1B, 0x00, 0x28, 0x03, 0xDC, 0x06, 0x98,
+0x04, 0x21, 0x08, 0x43, 0x06, 0x90, 0x18, 0x46,
+0x20, 0x43, 0x50, 0xD0, 0x00, 0x20, 0x07, 0x90,
+0x00, 0x2B, 0x12, 0xD0, 0x00, 0x2C, 0x16, 0xD0,
+0x40, 0x00, 0x00, 0xE0, 0x3B, 0xE0, 0x3C, 0x21,
+0xC1, 0x40, 0x00, 0x98, 0x01, 0x40, 0x06, 0x98,
+0x81, 0x43, 0x1F, 0xD0, 0x23, 0x98, 0x80, 0xB2,
+0x00, 0xF0, 0xF8, 0xFB, 0xC1, 0x07, 0x19, 0xD1,
+0x0C, 0xE0, 0x01, 0x46, 0x04, 0x20, 0xC8, 0x40,
+0x81, 0x07, 0x89, 0x0F, 0x03, 0xE0, 0x02, 0x21,
+0x81, 0x40, 0x0C, 0x20, 0x01, 0x40, 0x00, 0x98,
+0x01, 0x43, 0xE8, 0xE7, 0x1C, 0x9A, 0x11, 0x99,
+0x11, 0x43, 0x04, 0xD1, 0x29, 0x99, 0x88, 0x42,
+0x01, 0xDD, 0x01, 0x21, 0x1C, 0x91, 0x2A, 0x99,
+0x88, 0x42, 0x05, 0xDC, 0x07, 0x98, 0x40, 0x1C,
+0xC0, 0xB2, 0x07, 0x90, 0x03, 0x28, 0xCB, 0xD3,
+0x07, 0x98, 0x03, 0x28, 0x17, 0xD0, 0x0C, 0x98,
+0x01, 0x88, 0x68, 0x10, 0x0A, 0x1A, 0x0C, 0x99,
+0x0A, 0x80, 0x16, 0x99, 0x1A, 0x9D, 0x49, 0x00,
+0x6A, 0x5A, 0x10, 0x1A, 0x68, 0x52, 0x0B, 0x99,
+0x0A, 0x98, 0x08, 0x43, 0x5E, 0xD0, 0x12, 0x98,
+0x00, 0x28, 0x45, 0xD0, 0xF8, 0x07, 0x76, 0x08,
+0x06, 0x43, 0x7F, 0x08, 0x42, 0xE0, 0x09, 0x99,
+0x23, 0x98, 0x4A, 0x00, 0x26, 0x49, 0x88, 0x52,
+0x09, 0x98, 0x40, 0x1C, 0x80, 0xB2, 0x09, 0x90,
+0x10, 0x98, 0x85, 0x42, 0x00, 0xDD, 0x10, 0x95,
+0x1E, 0x4D, 0x24, 0x98, 0x01, 0x21, 0x28, 0x5A,
+0x08, 0x43, 0x24, 0x99, 0x68, 0x52, 0x02, 0x98,
+0x01, 0x99, 0x30, 0x43, 0x39, 0x43, 0x01, 0x91,
+0x02, 0x90, 0x00, 0x2B, 0x1F, 0xD0, 0x12, 0x98,
+0x00, 0x28, 0x13, 0xD0, 0xFD, 0x07, 0x72, 0x08,
+0x2A, 0x43, 0x22, 0x99, 0x21, 0x98, 0x7D, 0x08,
+0x11, 0x43, 0x28, 0x43, 0x04, 0x91, 0x0F, 0x90,
+0x00, 0x2C, 0x10, 0xD1, 0xB5, 0x19, 0x3A, 0x46,
+0x29, 0x43, 0x7A, 0x41, 0x10, 0x43, 0x04, 0x91,
+0x0F, 0x90, 0x08, 0xE0, 0x22, 0x98, 0xB5, 0x19,
+0x3A, 0x46, 0x21, 0x99, 0x28, 0x43, 0x7A, 0x41,
+0x11, 0x43, 0x0F, 0x91, 0x04, 0x90, 0x1F, 0x98,
+0x40, 0x1C, 0xC0, 0xB2, 0x1F, 0x90, 0xB6, 0xE7,
+0xB6, 0x19, 0x7F, 0x41, 0x64, 0x1C, 0xE4, 0xB2,
+0x19, 0x98, 0x84, 0x42, 0x0E, 0xD8, 0xCF, 0xE6,
+0xFF, 0x7F, 0x00, 0x00, 0x16, 0x05, 0x00, 0x20,
+0x7A, 0x00, 0x00, 0x20, 0x60, 0x03, 0x00, 0x20,
+0xE4, 0x04, 0x00, 0x20, 0x4A, 0x01, 0x00, 0x20,
+0x40, 0x01, 0x00, 0x20, 0x18, 0x98, 0x40, 0x1C,
+0xC0, 0xB2, 0x18, 0x90, 0x02, 0x28, 0x00, 0xD2,
+0x99, 0xE6, 0x00, 0x2B, 0x03, 0xD1, 0x02, 0x99,
+0x01, 0x98, 0x14, 0x91, 0x15, 0x90, 0x1F, 0x98,
+0x00, 0x28, 0x01, 0xD0, 0x02, 0x2B, 0x0A, 0xD1,
+0x0E, 0x98, 0x00, 0x28, 0x0E, 0xD0, 0x17, 0x98,
+0x03, 0x90, 0x00, 0x23, 0x15, 0x99, 0x14, 0x98,
+0x0E, 0x93, 0x01, 0x91, 0x02, 0x90, 0x14, 0x99,
+0x15, 0x98, 0x5B, 0x1C, 0xDB, 0xB2, 0x02, 0x2B,
+0x00, 0xD8, 0x49, 0xE6, 0x09, 0x98, 0x01, 0x28,
+0x18, 0xD0, 0x25, 0x99, 0x88, 0x42, 0x21, 0xDA,
+0x31, 0x48, 0x00, 0x78, 0x03, 0x28, 0x1D, 0xD8,
+0x30, 0x49, 0x0A, 0x88, 0x19, 0x21, 0x49, 0x01,
+0x8A, 0x42, 0x01, 0xD9, 0x01, 0x28, 0x15, 0xD0,
+0x11, 0x98, 0x01, 0x28, 0x12, 0xD0, 0x1C, 0x98,
+0x00, 0x28, 0x0F, 0xD0, 0x11, 0x98, 0x00, 0x28,
+0x11, 0xD0, 0x3A, 0xE0, 0x1E, 0x99, 0x10, 0x98,
+0x88, 0x42, 0x45, 0xDD, 0x26, 0x48, 0x00, 0x78,
+0x00, 0x28, 0x32, 0xD0, 0x25, 0x49, 0x01, 0x20,
+0x08, 0x70, 0x3D, 0xE0, 0x1E, 0x99, 0x10, 0x98,
+0x88, 0x42, 0x2A, 0xDC, 0x38, 0xE0, 0x01, 0x20,
+0x11, 0x90, 0x38, 0x20, 0x13, 0x90, 0x20, 0x4A,
+0x27, 0x98, 0x28, 0x99, 0x10, 0x5E, 0x88, 0x42,
+0x05, 0xDA, 0x09, 0x21, 0x09, 0x03, 0x48, 0x43,
+0x00, 0x14, 0x1B, 0x90, 0x06, 0xE0, 0x05, 0x21,
+0x49, 0x03, 0x48, 0x43, 0x00, 0x14, 0x1B, 0x90,
+0x2A, 0x20, 0x13, 0x90, 0x00, 0x20, 0x17, 0x4B,
+0x08, 0xE0, 0x41, 0x00, 0x59, 0x5A, 0x49, 0x00,
+0x54, 0x5A, 0x64, 0x08, 0x64, 0x00, 0x40, 0x1C,
+0x54, 0x52, 0x80, 0xB2, 0x09, 0x99, 0x88, 0x42,
+0xF3, 0xD3, 0x11, 0x98, 0x02, 0x28, 0x00, 0xD2,
+0xC2, 0xE5, 0x2F, 0x9A, 0x0E, 0x48, 0x18, 0x32,
+0x2D, 0x99, 0xFD, 0xF7, 0xA7, 0xF9, 0x0D, 0x48,
+0x2F, 0x9A, 0x2E, 0x99, 0xFD, 0xF7, 0xA2, 0xF9,
+0x1E, 0x9A, 0x10, 0x99, 0x91, 0x42, 0x00, 0xDC,
+0x09, 0x48, 0x31, 0xB0, 0xF0, 0xBD, 0x00, 0x00,
+0x60, 0x03, 0x00, 0x20, 0x7A, 0x00, 0x00, 0x20,
+0xA8, 0x00, 0x00, 0x20, 0xA7, 0x00, 0x00, 0x20,
+0x16, 0x05, 0x00, 0x20, 0xE4, 0x04, 0x00, 0x20,
+0x4A, 0x01, 0x00, 0x20, 0x40, 0x01, 0x00, 0x20,
+0x00, 0x80, 0xFF, 0xFF, 0x06, 0x4A, 0x07, 0x4B,
+0x00, 0x21, 0x00, 0x20, 0x40, 0x1C, 0x90, 0x42,
+0xFC, 0xDB, 0x49, 0x1C, 0x99, 0x42, 0xF8, 0xDB,
+0x01, 0x20, 0x81, 0x07, 0x48, 0x60, 0x70, 0x47,
+0x10, 0x27, 0x00, 0x00, 0xB8, 0x0B, 0x00, 0x00,
+0x03, 0x48, 0x20, 0x21, 0xC1, 0x63, 0xC1, 0x6B,
+0x89, 0x06, 0xFC, 0xD4, 0x70, 0x47, 0x00, 0x00,
+0xC0, 0x07, 0x00, 0x50, 0xF0, 0xB5, 0x1A, 0x48,
+0x8B, 0xB0, 0x01, 0x78, 0x02, 0x29, 0x01, 0xD9,
+0x02, 0x21, 0x01, 0x70, 0x00, 0x25, 0x24, 0xE0,
+0x68, 0x1C, 0xC4, 0xB2, 0x0A, 0x90, 0x1A, 0xE0,
+0x28, 0x21, 0x69, 0x43, 0x28, 0x22, 0x0F, 0x18,
+0x62, 0x43, 0x16, 0x18, 0x39, 0x79, 0x30, 0x79,
+0x81, 0x42, 0x0E, 0xD9, 0x39, 0x1D, 0x28, 0x22,
+0x68, 0x46, 0xFC, 0xF7, 0xF5, 0xFE, 0x31, 0x1D,
+0x38, 0x1D, 0x28, 0x22, 0xFC, 0xF7, 0xF0, 0xFE,
+0x30, 0x1D, 0x28, 0x22, 0x69, 0x46, 0xFC, 0xF7,
+0xEB, 0xFE, 0x64, 0x1C, 0xE4, 0xB2, 0x06, 0x48,
+0x01, 0x78, 0xA1, 0x42, 0xE0, 0xD8, 0x0A, 0x98,
+0xC5, 0xB2, 0x03, 0x49, 0x08, 0x78, 0xA8, 0x42,
+0xD6, 0xD8, 0x0B, 0xB0, 0xF0, 0xBD, 0x00, 0x00,
+0xE4, 0x02, 0x00, 0x20, 0x00, 0x20, 0x05, 0x4A,
+0xFF, 0x21, 0x34, 0x23, 0x43, 0x43, 0x40, 0x1C,
+0xC0, 0xB2, 0xD1, 0x54, 0x03, 0x28, 0xF8, 0xD3,
+0x70, 0x47, 0x00, 0x00, 0x48, 0x04, 0x00, 0x20,
+0x70, 0xB5, 0x29, 0x4C, 0x00, 0x25, 0xE5, 0x71,
+0x25, 0x72, 0x88, 0x21, 0x27, 0x48, 0xFC, 0xF7,
+0xDC, 0xFE, 0x26, 0x48, 0x7C, 0x21, 0x7C, 0x38,
+0xFC, 0xF7, 0xD7, 0xFE, 0x00, 0x20, 0x22, 0x46,
+0x3E, 0x32, 0x41, 0x00, 0x49, 0x1C, 0x11, 0x54,
+0x40, 0x1C, 0xC0, 0xB2, 0x03, 0x28, 0xF8, 0xD3,
+0x1F, 0x48, 0x48, 0x21, 0x00, 0x68, 0xFC, 0xF7,
+0xC8, 0xFE, 0x40, 0x21, 0x1D, 0x48, 0xFC, 0xF7,
+0xC4, 0xFE, 0x25, 0x84, 0x65, 0x84, 0xA5, 0x84,
+0xC8, 0x20, 0x60, 0x85, 0x5A, 0x20, 0x20, 0x86,
+0xFF, 0xF7, 0xC8, 0xFF, 0x01, 0xF0, 0x92, 0xF8,
+0xFF, 0x20, 0x65, 0x72, 0x69, 0x30, 0x60, 0x86,
+0xA5, 0x86, 0x0F, 0x20, 0xE0, 0x86, 0x14, 0x48,
+0xA5, 0x72, 0x05, 0x70, 0x06, 0x21, 0x13, 0x48,
+0xFC, 0xF7, 0xAB, 0xFE, 0x03, 0x21, 0x61, 0x75,
+0xA5, 0x64, 0xE5, 0x64, 0x04, 0x20, 0x60, 0x74,
+0x07, 0x20, 0xA0, 0x74, 0xE0, 0x74, 0x0E, 0x48,
+0x65, 0x87, 0x45, 0x70, 0x05, 0x70, 0x25, 0x70,
+0x0C, 0x48, 0xA5, 0x75, 0x05, 0x71, 0x0C, 0x48,
+0x01, 0x70, 0x25, 0x76, 0xA5, 0x76, 0x01, 0x20,
+0x20, 0x71, 0xE5, 0x76, 0x70, 0xBD, 0x00, 0x00,
+0x54, 0x00, 0x00, 0x20, 0x60, 0x03, 0x00, 0x20,
+0x24, 0x00, 0x00, 0x20, 0x5C, 0x01, 0x00, 0x20,
+0xF8, 0x05, 0x00, 0x20, 0x88, 0x02, 0x00, 0x20,
+0x90, 0x02, 0x00, 0x20, 0x04, 0x06, 0x00, 0x20,
+0xE4, 0x05, 0x00, 0x20, 0x10, 0xB5, 0x1C, 0x49,
+0x1A, 0x48, 0x08, 0x60, 0x1B, 0x49, 0x4E, 0x20,
+0x08, 0x70, 0x1B, 0x4A, 0x27, 0x21, 0x11, 0x70,
+0x1A, 0x4A, 0x24, 0x21, 0x11, 0x80, 0x1A, 0x49,
+0x08, 0x70, 0x1A, 0x49, 0x08, 0x70, 0x13, 0x48,
+0x43, 0x30, 0x42, 0x7E, 0x01, 0x7E, 0x10, 0x06,
+0x00, 0x14, 0x08, 0x43, 0x16, 0x49, 0x08, 0x80,
+0x16, 0x49, 0x08, 0x80, 0xFF, 0x20, 0x16, 0x49,
+0x87, 0x30, 0x08, 0x80, 0x15, 0x49, 0x08, 0x80,
+0x0A, 0x48, 0x15, 0x49, 0x80, 0x30, 0xC0, 0x7D,
+0x08, 0x70, 0x08, 0x49, 0x04, 0x22, 0x49, 0x1D,
+0x12, 0x48, 0xFC, 0xF7, 0x39, 0xFE, 0x05, 0x49,
+0x06, 0x22, 0x0A, 0x31, 0x10, 0x48, 0xFC, 0xF7,
+0x33, 0xFE, 0x10, 0x49, 0x0C, 0x20, 0x08, 0x80,
+0x10, 0xBD, 0x00, 0x00, 0x1C, 0x0F, 0x00, 0x00,
+0xC4, 0x00, 0x00, 0x20, 0xB0, 0x00, 0x00, 0x20,
+0xB1, 0x00, 0x00, 0x20, 0xAC, 0x00, 0x00, 0x20,
+0xB2, 0x00, 0x00, 0x20, 0xB3, 0x00, 0x00, 0x20,
+0xB8, 0x00, 0x00, 0x20, 0xBA, 0x00, 0x00, 0x20,
+0xB4, 0x00, 0x00, 0x20, 0xB6, 0x00, 0x00, 0x20,
+0xF4, 0x05, 0x00, 0x20, 0xFC, 0x05, 0x00, 0x20,
+0xE8, 0x05, 0x00, 0x20, 0xAE, 0x00, 0x00, 0x20,
+0x64, 0x25, 0x3F, 0x4C, 0x00, 0x26, 0x3F, 0x4F,
+0x66, 0x70, 0x60, 0x78, 0x03, 0x00, 0xFC, 0xF7,
+0x43, 0xFE, 0x07, 0x06, 0x0F, 0x1E, 0x15, 0x38,
+0x40, 0x46, 0x05, 0x00, 0xF5, 0xE7, 0x00, 0xF0,
+0x47, 0xF9, 0x00, 0x28, 0x01, 0xD0, 0x3E, 0x70,
+0x67, 0xE0, 0x01, 0x20, 0x38, 0x70, 0x03, 0xE0,
+0x00, 0xF0, 0xA0, 0xF8, 0x00, 0x28, 0xE8, 0xD0,
+0x03, 0x20, 0x5F, 0xE0, 0x00, 0xF0, 0x28, 0xF9,
+0x00, 0x28, 0x3E, 0x70, 0x01, 0xD0, 0x02, 0x20,
+0x58, 0xE0, 0x66, 0x70, 0xDD, 0xE7, 0x2E, 0x48,
+0x00, 0x78, 0x61, 0x28, 0x05, 0xD1, 0x03, 0x20,
+0xFE, 0xF7, 0xB0, 0xF9, 0x01, 0x20, 0xFD, 0xF7,
+0x95, 0xFD, 0xFF, 0xF7, 0x77, 0xF8, 0xFF, 0xF7,
+0x0F, 0xF9, 0x28, 0x48, 0x00, 0x78, 0x3D, 0x21,
+0x08, 0x42, 0x01, 0xD0, 0x04, 0x20, 0x00, 0xE0,
+0x01, 0x20, 0x60, 0x70, 0xFE, 0xF7, 0xA2, 0xF9,
+0xC3, 0xE7, 0x23, 0x48, 0x06, 0x70, 0x00, 0xF0,
+0x37, 0xF9, 0x00, 0x28, 0xBD, 0xD0, 0x05, 0x20,
+0x34, 0xE0, 0x00, 0xF0, 0x47, 0xF8, 0x00, 0x28,
+0xB7, 0xD0, 0x06, 0x20, 0x2E, 0xE0, 0xFE, 0xF7,
+0x13, 0xFD, 0x00, 0x28, 0x03, 0xD0, 0x1B, 0x48,
+0x00, 0x78, 0x00, 0x28, 0x0B, 0xD0, 0x16, 0x48,
+0x00, 0x78, 0x61, 0x28, 0x07, 0xD0, 0x00, 0x2D,
+0x1A, 0xD0, 0x6D, 0x1E, 0xED, 0xB2, 0x01, 0x20,
+0xFE, 0xF7, 0x7C, 0xF9, 0x19, 0xE0, 0x01, 0xF0,
+0xC9, 0xFB, 0x13, 0x48, 0x00, 0x68, 0x60, 0x30,
+0x00, 0x7A, 0x80, 0x07, 0x03, 0xD4, 0x11, 0x48,
+0xC0, 0x78, 0x01, 0x28, 0x0D, 0xD1, 0x00, 0x20,
+0xFD, 0xF7, 0x54, 0xFD, 0x0E, 0x48, 0x01, 0x78,
+0x0A, 0x48, 0x01, 0x70, 0xB4, 0x25, 0x04, 0xE0,
+0x08, 0x48, 0x06, 0x70, 0x01, 0x20, 0xFD, 0xF7,
+0x49, 0xFD, 0x01, 0x20, 0x60, 0x70, 0x84, 0xE7,
+0x00, 0x00, 0x00, 0x20, 0x5C, 0x00, 0x00, 0x20,
+0xA4, 0x00, 0x00, 0x20, 0x04, 0x06, 0x00, 0x20,
+0x6A, 0x00, 0x00, 0x20, 0x90, 0x02, 0x00, 0x20,
+0xC4, 0x00, 0x00, 0x20, 0xE4, 0x02, 0x00, 0x20,
+0x54, 0x00, 0x00, 0x20, 0x70, 0xB5, 0x12, 0x4C,
+0x05, 0x25, 0x20, 0x78, 0x03, 0x00, 0xFC, 0xF7,
+0xB3, 0xFD, 0x06, 0x10, 0x04, 0x08, 0x12, 0x16,
+0x19, 0x10, 0x01, 0xF0, 0x6B, 0xFA, 0x02, 0x20,
+0x04, 0xE0, 0x01, 0xF0, 0x5B, 0xFA, 0x00, 0x28,
+0x02, 0xD0, 0x03, 0x20, 0x20, 0x70, 0x00, 0xE0,
+0x25, 0x70, 0x00, 0x20, 0x70, 0xBD, 0xFE, 0xF7,
+0xCB, 0xFA, 0x04, 0x20, 0xF6, 0xE7, 0x01, 0xF0,
+0x9F, 0xFA, 0xF5, 0xE7, 0x01, 0xF0, 0x7E, 0xFB,
+0x01, 0x20, 0x20, 0x70, 0x70, 0xBD, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0xF8, 0xB5, 0x3B, 0x4C,
+0x20, 0x78, 0x00, 0x28, 0x70, 0xD0, 0x05, 0x20,
+0xFE, 0xF7, 0x1C, 0xF9, 0xE0, 0x78, 0xA1, 0x78,
+0x00, 0x02, 0x08, 0x43, 0x36, 0x49, 0x00, 0x25,
+0x88, 0x42, 0x02, 0xD1, 0xA5, 0x70, 0x28, 0x0A,
+0xE0, 0x70, 0x20, 0x78, 0x33, 0x4E, 0x5D, 0x28,
+0x1A, 0xD0, 0x09, 0xDC, 0x01, 0x27, 0x20, 0x28,
+0x4D, 0xD0, 0x30, 0x28, 0x33, 0xD0, 0x31, 0x28,
+0x55, 0xD0, 0x5C, 0x28, 0x54, 0xD1, 0x09, 0xE0,
+0x2D, 0x49, 0x2E, 0x4A, 0x2E, 0x4B, 0x60, 0x28,
+0x33, 0xD0, 0x61, 0x28, 0x3A, 0xD0, 0x70, 0x28,
+0x4A, 0xD1, 0x28, 0xE0, 0xFF, 0xF7, 0xF0, 0xF8,
+0x5D, 0x20, 0x20, 0x70, 0x37, 0x70, 0x43, 0xE0,
+0x28, 0x48, 0xE1, 0x78, 0x00, 0x68, 0x00, 0x88,
+0xA2, 0x78, 0x09, 0x02, 0x11, 0x43, 0x08, 0x40,
+0xE1, 0x78, 0xA2, 0x78, 0x09, 0x02, 0x11, 0x43,
+0x88, 0x42, 0x35, 0xD1, 0x22, 0x48, 0x61, 0x79,
+0x00, 0x68, 0x00, 0x88, 0x22, 0x79, 0x09, 0x02,
+0x11, 0x43, 0x08, 0x40, 0x61, 0x79, 0x22, 0x79,
+0x09, 0x02, 0x11, 0x43, 0x88, 0x42, 0x27, 0xD1,
+0x25, 0x70, 0x35, 0x70, 0x24, 0xE0, 0x1B, 0x49,
+0x40, 0x20, 0x08, 0x70, 0x20, 0xE0, 0xFD, 0xF7,
+0xEC, 0xFA, 0x25, 0x70, 0x18, 0x48, 0x45, 0x70,
+0x1A, 0xE0, 0x60, 0x20, 0x08, 0x70, 0x15, 0x70,
+0xDD, 0x70, 0x25, 0x70, 0x01, 0x20, 0xFD, 0xF7,
+0xA9, 0xFC, 0x11, 0xE0, 0x61, 0x20, 0x08, 0x70,
+0x15, 0x70, 0xDD, 0x70, 0x0B, 0xE0, 0xE0, 0x78,
+0xA2, 0x78, 0x01, 0x02, 0x0F, 0x48, 0x11, 0x43,
+0x01, 0x78, 0x01, 0xD0, 0x39, 0x43, 0x01, 0xE0,
+0x49, 0x08, 0x49, 0x00, 0x01, 0x70, 0x25, 0x70,
+0x01, 0x20, 0xF8, 0xBD, 0x88, 0x02, 0x00, 0x20,
+0xAA, 0x55, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x20,
+0xA4, 0x00, 0x00, 0x20, 0x90, 0x02, 0x00, 0x20,
+0xE4, 0x02, 0x00, 0x20, 0xD4, 0x00, 0x00, 0x20,
+0xE4, 0x00, 0x00, 0x20, 0x04, 0x06, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x20, 0x6E, 0x00, 0x00, 0x20,
+0x10, 0xB5, 0x06, 0x48, 0x00, 0x78, 0x01, 0x28,
+0x01, 0xD0, 0x01, 0x20, 0x10, 0xBD, 0x01, 0x20,
+0x00, 0x06, 0xFD, 0xF7, 0x6F, 0xFC, 0x00, 0x20,
+0x10, 0xBD, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x20,
+0x10, 0xB5, 0xFE, 0xF7, 0x41, 0xFC, 0x01, 0xF0,
+0xED, 0xF9, 0x01, 0x20, 0xFE, 0xF7, 0xAA, 0xFF,
+0x04, 0x46, 0xFD, 0xF7, 0x97, 0xF8, 0x00, 0x2C,
+0x06, 0xD0, 0x07, 0x49, 0x05, 0x48, 0x88, 0x70,
+0x00, 0x0A, 0xC8, 0x70, 0x01, 0x20, 0x10, 0xBD,
+0x04, 0xA0, 0x00, 0xF0, 0x6F, 0xFC, 0x00, 0x20,
+0x10, 0xBD, 0x00, 0x00, 0xAA, 0x55, 0x00, 0x00,
+0x88, 0x02, 0x00, 0x20, 0x49, 0x4E, 0x49, 0x54,
+0x20, 0x4E, 0x47, 0x0D, 0x0A, 0x00, 0x00, 0x00,
+0x70, 0xB5, 0x12, 0x4C, 0x01, 0x25, 0xA0, 0x78,
+0x01, 0x28, 0x02, 0xD0, 0x02, 0x28, 0x1A, 0xD1,
+0x10, 0xE0, 0xFF, 0xF7, 0xEF, 0xF8, 0xFE, 0xF7,
+0xC5, 0xFB, 0xFD, 0xF7, 0x41, 0xFC, 0x0C, 0x48,
+0x00, 0x79, 0x00, 0x28, 0x04, 0xD0, 0xFD, 0xF7,
+0x33, 0xFE, 0x02, 0x20, 0xA0, 0x70, 0x0A, 0xE0,
+0x65, 0x70, 0x08, 0xE0, 0xFE, 0xF7, 0xC0, 0xF9,
+0x00, 0x28, 0xA5, 0x70, 0x01, 0xD0, 0x01, 0x20,
+0x70, 0xBD, 0x06, 0x20, 0x60, 0x70, 0x00, 0x20,
+0x70, 0xBD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x9C, 0x00, 0x00, 0x20, 0x0A, 0x07, 0x01, 0xD5,
+0x40, 0x1C, 0x02, 0xE0, 0x4A, 0x07, 0x01, 0xD5,
+0x40, 0x1E, 0x80, 0xB2, 0xCA, 0x07, 0x01, 0xD0,
+0x80, 0x1F, 0x02, 0xE0, 0x89, 0x07, 0x01, 0xD5,
+0x80, 0x1D, 0x80, 0xB2, 0x01, 0x49, 0x40, 0x00,
+0x08, 0x5E, 0x70, 0x47, 0x16, 0x05, 0x00, 0x20,
+0xF0, 0xB5, 0x01, 0x24, 0x12, 0x4B, 0x47, 0x18,
+0x1E, 0xE0, 0x59, 0x78, 0x5A, 0x88, 0x16, 0xE0,
+0x25, 0x46, 0x8D, 0x40, 0x15, 0x42, 0x10, 0xD1,
+0x28, 0x26, 0x05, 0x46, 0x75, 0x43, 0x0D, 0x4E,
+0xAD, 0x19, 0x26, 0x46, 0x29, 0x71, 0x8E, 0x40,
+0x6C, 0x72, 0x16, 0x43, 0x5E, 0x80, 0x6C, 0x71,
+0x6A, 0x89, 0xAA, 0x82, 0xAA, 0x89, 0xEA, 0x82,
+0x03, 0xE0, 0x49, 0x1C, 0xC9, 0xB2, 0x02, 0x29,
+0xE6, 0xD3, 0x40, 0x1C, 0x59, 0x70, 0xC0, 0xB2,
+0x87, 0x42, 0xDE, 0xD8, 0xF0, 0xBD, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x20, 0xE4, 0x02, 0x00, 0x20,
+0xF0, 0xB5, 0x95, 0xB0, 0x30, 0x21, 0x68, 0x46,
+0xFC, 0xF7, 0x3B, 0xFC, 0xB4, 0x48, 0x01, 0x78,
+0xB4, 0x48, 0x42, 0x78, 0x89, 0x18, 0xC9, 0xB2,
+0x10, 0x91, 0x00, 0x21, 0x13, 0x91, 0x10, 0x99,
+0x00, 0x29, 0x03, 0xD0, 0x00, 0x21, 0x0F, 0x46,
+0x0C, 0x91, 0x8C, 0xE0, 0x01, 0x78, 0x00, 0x20,
+0xFF, 0xF7, 0xBA, 0xFF, 0x15, 0xB0, 0xF0, 0xBD,
+0x38, 0x46, 0x28, 0x21, 0x48, 0x43, 0xA9, 0x49,
+0x00, 0x25, 0x40, 0x18, 0x0F, 0x90, 0x00, 0x79,
+0xFF, 0x28, 0x7A, 0xD1, 0x38, 0x01, 0x13, 0x9E,
+0x0E, 0x90, 0x6A, 0xE0, 0x0E, 0x9A, 0x68, 0x46,
+0x14, 0x18, 0x60, 0x19, 0xFF, 0x21, 0x12, 0x90,
+0x41, 0x70, 0xA8, 0x00, 0x20, 0x18, 0xA0, 0x49,
+0x11, 0x90, 0x41, 0x60, 0x0F, 0x98, 0x0A, 0x21,
+0x0C, 0x23, 0x41, 0x5E, 0xC3, 0x5E, 0x8C, 0x46,
+0x99, 0x48, 0xB1, 0x00, 0x08, 0x18, 0x40, 0x30,
+0x3C, 0x22, 0x3E, 0x21, 0x82, 0x5E, 0x41, 0x5E,
+0x10, 0x46, 0x62, 0x46, 0x01, 0xF0, 0x06, 0xFA,
+0x0D, 0x90, 0x96, 0x48, 0x01, 0x88, 0x00, 0x29,
+0x07, 0xD0, 0x95, 0x48, 0x00, 0x88, 0x88, 0x42,
+0x03, 0xD9, 0xFC, 0xF7, 0xAB, 0xFB, 0xC0, 0xB2,
+0x00, 0xE0, 0x00, 0x20, 0x31, 0x46, 0x28, 0x22,
+0x51, 0x43, 0x8B, 0x4A, 0x8C, 0x4B, 0x89, 0x18,
+0x09, 0x6A, 0x8E, 0x4A, 0x49, 0x00, 0x50, 0x43,
+0x08, 0x18, 0x80, 0x18, 0x19, 0x46, 0x98, 0x42,
+0x02, 0xD8, 0xD9, 0x10, 0x88, 0x42, 0x00, 0xD2,
+0x08, 0x46, 0x87, 0x49, 0x19, 0x22, 0x09, 0x88,
+0x52, 0x01, 0x91, 0x42, 0x04, 0xD9, 0x80, 0x49,
+0x09, 0x78, 0x01, 0x29, 0x00, 0xD1, 0x18, 0x46,
+0x0D, 0x99, 0x81, 0x42, 0x1B, 0xD8, 0x08, 0x46,
+0x11, 0x99, 0x6D, 0x1C, 0x48, 0x60, 0x12, 0x98,
+0xED, 0xB2, 0x46, 0x70, 0x01, 0x2D, 0x12, 0xD9,
+0x68, 0x1E, 0x0D, 0xE0, 0x81, 0x00, 0x62, 0x18,
+0x94, 0x46, 0x52, 0x68, 0x63, 0x58, 0x9A, 0x42,
+0x05, 0xD2, 0x22, 0x18, 0x52, 0x78, 0x22, 0x54,
+0x62, 0x46, 0x52, 0x68, 0x62, 0x50, 0x40, 0x1E,
+0x00, 0x06, 0x00, 0x0E, 0xEE, 0xD1, 0x76, 0x1C,
+0xF6, 0xB2, 0x10, 0x98, 0x86, 0x42, 0x91, 0xD3,
+0x0E, 0x98, 0x69, 0x46, 0x0D, 0x54, 0x00, 0x2D,
+0x03, 0xD0, 0x0C, 0x98, 0x40, 0x1C, 0xC0, 0xB2,
+0x0C, 0x90, 0x7F, 0x1C, 0xFF, 0xB2, 0x67, 0x48,
+0x00, 0x78, 0x84, 0x46, 0xB8, 0x42, 0x00, 0xD9,
+0x72, 0xE7, 0x0C, 0x98, 0x00, 0x28, 0x7D, 0xD0,
+0x01, 0x28, 0x59, 0xD9, 0x00, 0x24, 0x55, 0xE0,
+0x60, 0x1C, 0xC3, 0xB2, 0x0C, 0x90, 0x4D, 0xE0,
+0x25, 0x01, 0x6A, 0x46, 0xA9, 0x18, 0x1E, 0x01,
+0xB2, 0x18, 0x48, 0x78, 0x57, 0x78, 0xB8, 0x42,
+0x42, 0xD1, 0x48, 0x68, 0x57, 0x68, 0xB8, 0x42,
+0x1F, 0xD2, 0x00, 0x20, 0x0C, 0xE0, 0x11, 0x18,
+0x4D, 0x78, 0x8F, 0x78, 0x4F, 0x70, 0x8D, 0x70,
+0x81, 0x00, 0x51, 0x18, 0x8F, 0x68, 0x4D, 0x68,
+0x40, 0x1C, 0x4F, 0x60, 0xC0, 0xB2, 0x8D, 0x60,
+0x69, 0x46, 0x89, 0x5D, 0x49, 0x1E, 0x81, 0x42,
+0xED, 0xDC, 0x69, 0x46, 0x88, 0x5D, 0x00, 0x28,
+0x04, 0xD0, 0x40, 0x1E, 0x00, 0x06, 0x00, 0x0E,
+0x88, 0x55, 0x21, 0xD1, 0xFF, 0x20, 0x50, 0x70,
+0x1E, 0xE0, 0x00, 0x20, 0x0C, 0xE0, 0x0A, 0x18,
+0x56, 0x78, 0x97, 0x78, 0x57, 0x70, 0x96, 0x70,
+0x82, 0x00, 0x8A, 0x18, 0x97, 0x68, 0x56, 0x68,
+0x40, 0x1C, 0x57, 0x60, 0xC0, 0xB2, 0x96, 0x60,
+0x6A, 0x46, 0x52, 0x5D, 0x52, 0x1E, 0x82, 0x42,
+0xED, 0xDC, 0x6A, 0x46, 0x50, 0x5D, 0x00, 0x28,
+0x04, 0xD0, 0x40, 0x1E, 0x00, 0x06, 0x00, 0x0E,
+0x50, 0x55, 0x01, 0xD1, 0xFF, 0x20, 0x48, 0x70,
+0x5B, 0x1C, 0xDB, 0xB2, 0x9C, 0x45, 0xAF, 0xD8,
+0x0C, 0x98, 0xC4, 0xB2, 0xA4, 0x45, 0xA7, 0xD8,
+0x00, 0x26, 0x4B, 0xE0, 0x32, 0x01, 0x68, 0x46,
+0x17, 0x18, 0x78, 0x78, 0xFF, 0x28, 0x1C, 0xD0,
+0x28, 0x22, 0x50, 0x43, 0x2E, 0x4A, 0x16, 0x23,
+0x85, 0x18, 0x28, 0x20, 0x70, 0x43, 0x44, 0x18,
+0x14, 0x22, 0xAA, 0x5E, 0xA2, 0x82, 0xEB, 0x5E,
+0xE3, 0x82, 0x0C, 0x21, 0x0A, 0x20, 0x61, 0x5E,
+0x20, 0x5E, 0x01, 0xF0, 0x2B, 0xF9, 0x2C, 0x49,
+0x88, 0x42, 0x0B, 0xD9, 0x28, 0x49, 0x2B, 0x4A,
+0x09, 0x88, 0x00, 0xE0, 0x2F, 0xE0, 0x91, 0x42,
+0x04, 0xD2, 0x01, 0x21, 0x30, 0x46, 0xFF, 0xF7,
+0xA3, 0xFE, 0x21, 0xE0, 0x0A, 0x23, 0x7F, 0x68,
+0xE3, 0x5E, 0xA3, 0x82, 0x0C, 0x22, 0xA2, 0x5E,
+0xE2, 0x82, 0x69, 0x7A, 0xC8, 0x29, 0x01, 0xD2,
+0x49, 0x1C, 0x61, 0x72, 0x29, 0x6A, 0xC9, 0x19,
+0x49, 0x08, 0x21, 0x62, 0x29, 0x79, 0x21, 0x71,
+0x03, 0x27, 0x67, 0x71, 0x80, 0x27, 0x39, 0x43,
+0x29, 0x71, 0xA9, 0x79, 0xA1, 0x71, 0xE9, 0x79,
+0xE1, 0x71, 0x29, 0x7A, 0x21, 0x72, 0x18, 0x49,
+0x88, 0x42, 0x01, 0xD9, 0xA3, 0x82, 0xE2, 0x82,
+0x76, 0x1C, 0xF6, 0xB2, 0x0D, 0x49, 0x08, 0x78,
+0xB0, 0x42, 0xAF, 0xD8, 0xBE, 0xE6, 0x00, 0x24,
+0x0A, 0x4D, 0x0C, 0xE0, 0x20, 0x46, 0x28, 0x21,
+0x48, 0x43, 0x40, 0x19, 0x00, 0x79, 0xFF, 0x28,
+0x03, 0xD1, 0x01, 0x21, 0x20, 0x46, 0xFF, 0xF7,
+0x6B, 0xFE, 0x64, 0x1C, 0xE4, 0xB2, 0x28, 0x78,
+0xA0, 0x42, 0xEF, 0xD8, 0xAA, 0xE6, 0x00, 0x00,
+0x60, 0x03, 0x00, 0x20, 0xE4, 0x02, 0x00, 0x20,
+0xFF, 0xFF, 0x07, 0x00, 0x7C, 0x00, 0x00, 0x20,
+0x7A, 0x00, 0x00, 0x20, 0xC4, 0x17, 0x00, 0x00,
+0xC0, 0x6F, 0x00, 0x00, 0x31, 0x03, 0x00, 0x00,
+0xF8, 0x0D, 0x00, 0x00, 0xFE, 0xB5, 0x2C, 0x4E,
+0x30, 0x78, 0x02, 0x28, 0x53, 0xD3, 0x2B, 0x48,
+0x00, 0x25, 0x01, 0x90, 0x4C, 0xE0, 0x68, 0x1C,
+0xC4, 0xB2, 0x00, 0x90, 0x43, 0xE0, 0x28, 0x20,
+0x68, 0x43, 0x82, 0x19, 0x28, 0x20, 0x60, 0x43,
+0x0A, 0x21, 0x80, 0x19, 0x0A, 0x23, 0x51, 0x5E,
+0xC3, 0x5E, 0x8E, 0x46, 0x9C, 0x46, 0xCB, 0x1A,
+0x0C, 0x21, 0x0C, 0x27, 0x51, 0x5E, 0xC7, 0x5F,
+0x5B, 0x43, 0xCF, 0x1B, 0x7F, 0x43, 0xDB, 0x19,
+0x01, 0x9F, 0xBB, 0x42, 0x29, 0xD2, 0x73, 0x46,
+0x63, 0x44, 0x5B, 0x10, 0x53, 0x81, 0x0C, 0x23,
+0xC3, 0x5E, 0xC9, 0x18, 0x49, 0x10, 0x91, 0x81,
+0xD1, 0x89, 0xC3, 0x89, 0xC9, 0x18, 0xD1, 0x81,
+0x18, 0x21, 0x18, 0x23, 0x51, 0x5E, 0xC3, 0x5E,
+0xC9, 0x18, 0x49, 0x10, 0x11, 0x83, 0x1A, 0x21,
+0x1A, 0x23, 0x51, 0x5E, 0xC3, 0x5E, 0xC9, 0x18,
+0x49, 0x10, 0x51, 0x83, 0x31, 0x78, 0x0A, 0x1B,
+0x28, 0x21, 0x52, 0x1E, 0x4A, 0x43, 0x01, 0x46,
+0x2C, 0x31, 0x00, 0x1D, 0xFC, 0xF7, 0x5C, 0xFA,
+0x64, 0x1E, 0x30, 0x78, 0xE4, 0xB2, 0x40, 0x1E,
+0x30, 0x70, 0x64, 0x1C, 0xE4, 0xB2, 0x30, 0x78,
+0xA0, 0x42, 0xB8, 0xD8, 0x00, 0x98, 0xC5, 0xB2,
+0x30, 0x78, 0xA8, 0x42, 0xAF, 0xD8, 0xFE, 0xBD,
+0xE4, 0x02, 0x00, 0x20, 0xC1, 0x24, 0x00, 0x00,
+0xF0, 0xB5, 0xA3, 0xB0, 0x01, 0x20, 0x78, 0x49,
+0x00, 0x90, 0x08, 0x70, 0x77, 0x48, 0x00, 0x24,
+0x00, 0x78, 0x25, 0x46, 0x00, 0x28, 0x0A, 0xD0,
+0x75, 0x48, 0x00, 0x78, 0x00, 0x28, 0x03, 0xD0,
+0x08, 0x46, 0x04, 0x21, 0x01, 0x70, 0x02, 0xE0,
+0x6F, 0x49, 0x00, 0x20, 0x08, 0x70, 0x71, 0x48,
+0x01, 0x88, 0x71, 0x48, 0xFC, 0xF7, 0x02, 0xFA,
+0x70, 0x4A, 0x03, 0x90, 0x10, 0x78, 0x02, 0x28,
+0x03, 0xD9, 0x69, 0x48, 0x01, 0x78, 0x89, 0x1C,
+0x01, 0x70, 0x96, 0x78, 0xA3, 0xE0, 0x28, 0x21,
+0x6A, 0x48, 0x71, 0x43, 0x09, 0x18, 0x0E, 0x20,
+0x08, 0x5E, 0xFF, 0x22, 0x2D, 0x32, 0x90, 0x42,
+0x03, 0xDA, 0x0A, 0x6A, 0x03, 0x98, 0x82, 0x42,
+0x02, 0xD9, 0xFF, 0x20, 0x08, 0x72, 0x04, 0xE0,
+0x08, 0x7A, 0x00, 0x28, 0x01, 0xD0, 0xFF, 0x28,
+0x23, 0xD1, 0x5D, 0x48, 0x00, 0x78, 0x00, 0x28,
+0x02, 0xD0, 0x00, 0x98, 0x40, 0x00, 0x00, 0xE0,
+0x01, 0x20, 0x08, 0x72, 0x5C, 0x48, 0x0A, 0x22,
+0x8A, 0x5E, 0x00, 0x78, 0x82, 0x42, 0x11, 0xDB,
+0x5A, 0x4B, 0x00, 0x27, 0xDF, 0x5F, 0x38, 0x1A,
+0x82, 0x42, 0x0B, 0xDC, 0x58, 0x48, 0x0C, 0x22,
+0x8A, 0x5E, 0x00, 0x78, 0x82, 0x42, 0x05, 0xDB,
+0x56, 0x4B, 0x00, 0x27, 0xDF, 0x5F, 0x38, 0x1A,
+0x82, 0x42, 0x02, 0xDD, 0x08, 0x7A, 0x40, 0x1C,
+0x08, 0x72, 0x53, 0x48, 0x00, 0x88, 0x00, 0x28,
+0x01, 0xD0, 0x00, 0x20, 0x08, 0x72, 0x88, 0x79,
+0x4A, 0x4A, 0x02, 0x90, 0x00, 0x28, 0x06, 0xD0,
+0x4E, 0x4B, 0x52, 0x78, 0x1B, 0x78, 0x00, 0x20,
+0x9C, 0x46, 0x01, 0x92, 0x53, 0xE0, 0x4B, 0x4F,
+0x38, 0x78, 0x00, 0x19, 0x03, 0x28, 0x50, 0xD2,
+0x0A, 0x7F, 0x00, 0x2A, 0x02, 0xD0, 0x48, 0x4B,
+0x01, 0x22, 0x1A, 0x70, 0x01, 0x22, 0x8A, 0x71,
+0x28, 0x22, 0x50, 0x43, 0xC0, 0x19, 0x00, 0x1D,
+0x09, 0x1D, 0xFC, 0xF7, 0xC1, 0xF9, 0x38, 0x78,
+0x28, 0x22, 0x00, 0x19, 0x00, 0x21, 0x50, 0x43,
+0xC0, 0x19, 0x41, 0x71, 0x31, 0xE0, 0x0A, 0x79,
+0x80, 0x23, 0x1A, 0x43, 0x63, 0x46, 0x1B, 0x18,
+0x28, 0x27, 0x7B, 0x43, 0x39, 0x4F, 0xDB, 0x19,
+0x1B, 0x79, 0x9A, 0x42, 0x28, 0xD1, 0x02, 0x98,
+0x2B, 0x4A, 0x40, 0x1C, 0xC0, 0xB2, 0x88, 0x71,
+0x0B, 0x7A, 0x12, 0x78, 0x9A, 0x18, 0x90, 0x42,
+0x10, 0xD3, 0x00, 0x20, 0x88, 0x71, 0x81, 0x22,
+0x24, 0x20, 0x42, 0x54, 0x28, 0x20, 0x68, 0x43,
+0x04, 0xAA, 0x80, 0x18, 0x28, 0x22, 0x00, 0x1D,
+0x09, 0x1D, 0xFC, 0xF7, 0x95, 0xF9, 0x6D, 0x1C,
+0xED, 0xB2, 0x12, 0xE0, 0x60, 0x46, 0x29, 0x4A,
+0x00, 0x19, 0x28, 0x23, 0x58, 0x43, 0x80, 0x18,
+0x1A, 0x46, 0x00, 0x1D, 0x09, 0x1D, 0xFC, 0xF7,
+0x87, 0xF9, 0x64, 0x1C, 0xE4, 0xB2, 0x04, 0xE0,
+0x40, 0x1C, 0x01, 0x9A, 0xC0, 0xB2, 0x82, 0x42,
+0xC5, 0xD8, 0x76, 0x1C, 0xF6, 0xB2, 0x19, 0x48,
+0x01, 0x78, 0xB1, 0x42, 0x00, 0xD9, 0x56, 0xE7,
+0x06, 0x46, 0xB0, 0x78, 0x2A, 0x46, 0x41, 0x19,
+0x31, 0x70, 0x28, 0x21, 0x48, 0x43, 0x4A, 0x43,
+0x80, 0x19, 0x05, 0xA9, 0x00, 0x1D, 0xFC, 0xF7,
+0x6B, 0xF9, 0x16, 0x4D, 0x00, 0x20, 0x07, 0x46,
+0x2B, 0x78, 0x0A, 0xE0, 0x19, 0x18, 0x28, 0x22,
+0x51, 0x43, 0x4A, 0x19, 0x12, 0x79, 0x12, 0x06,
+0x01, 0xD4, 0x89, 0x19, 0x8F, 0x71, 0x40, 0x1C,
+0xC0, 0xB2, 0x71, 0x78, 0x81, 0x42, 0xF1, 0xD8,
+0x74, 0x70, 0x23, 0xB0, 0xF0, 0xBD, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x20, 0xA6, 0x00, 0x00, 0x20,
+0x5E, 0x00, 0x00, 0x20, 0x84, 0x00, 0x00, 0x20,
+0x40, 0x5E, 0x0D, 0x00, 0xE4, 0x02, 0x00, 0x20,
+0xB2, 0x00, 0x00, 0x20, 0xB8, 0x00, 0x00, 0x20,
+0xB3, 0x00, 0x00, 0x20, 0xBA, 0x00, 0x00, 0x20,
+0x7E, 0x00, 0x00, 0x20, 0x60, 0x03, 0x00, 0x20,
+0xA8, 0x00, 0x00, 0x20, 0xF7, 0xB5, 0x00, 0x25,
+0x84, 0xB0, 0x16, 0x46, 0x0C, 0x46, 0x61, 0x27,
+0x5F, 0xE0, 0x25, 0x28, 0x57, 0xD1, 0x00, 0x22,
+0x60, 0x78, 0x64, 0x1C, 0x13, 0x46, 0x00, 0x28,
+0x5A, 0xD0, 0x25, 0x28, 0x4F, 0xD0, 0x2D, 0x28,
+0x01, 0xD1, 0x01, 0x23, 0x64, 0x1C, 0x02, 0x20,
+0x21, 0x78, 0x30, 0x29, 0x07, 0xD1, 0x03, 0x43,
+0x64, 0x1C, 0xF9, 0xE7, 0x0A, 0x21, 0x4A, 0x43,
+0x30, 0x3A, 0x82, 0x18, 0x64, 0x1C, 0x20, 0x78,
+0x01, 0x46, 0x30, 0x39, 0x09, 0x29, 0xF5, 0xD9,
+0xC1, 0xB2, 0x73, 0x29, 0x0A, 0xD0, 0x64, 0x28,
+0x0E, 0xD0, 0x78, 0x28, 0x11, 0xD0, 0x58, 0x28,
+0x17, 0xD0, 0x75, 0x28, 0x1D, 0xD0, 0x63, 0x28,
+0x21, 0xD0, 0x31, 0xE0, 0x02, 0xCE, 0x00, 0x29,
+0x00, 0xD1, 0x1E, 0xA1, 0x04, 0x98, 0x22, 0xE0,
+0x68, 0x46, 0x8C, 0xC0, 0x01, 0x23, 0x31, 0x68,
+0x13, 0xE0, 0x68, 0x46, 0x8C, 0xC0, 0x08, 0xE0,
+0x36, 0x1D, 0x04, 0x98, 0x00, 0xF0, 0x41, 0xF8,
+0x17, 0xE0, 0x41, 0x20, 0x01, 0x93, 0x00, 0x92,
+0x02, 0x90, 0x00, 0x23, 0x10, 0x22, 0x31, 0x68,
+0xF2, 0xE7, 0x68, 0x46, 0x8C, 0xC0, 0x31, 0x68,
+0x00, 0x23, 0x0A, 0x22, 0xEC, 0xE7, 0x31, 0x78,
+0x68, 0x46, 0x01, 0x73, 0x00, 0x21, 0x41, 0x73,
+0x03, 0xA9, 0x36, 0x1D, 0x04, 0x98, 0x00, 0xF0,
+0x71, 0xF8, 0x45, 0x19, 0x04, 0xE0, 0xC1, 0xB2,
+0x04, 0x98, 0x00, 0xF0, 0x13, 0xF8, 0x6D, 0x1C,
+0x64, 0x1C, 0x20, 0x78, 0x00, 0x28, 0x9C, 0xD1,
+0x04, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x04, 0x99,
+0x00, 0x20, 0x09, 0x68, 0x08, 0x70, 0x28, 0x46,
+0x07, 0xB0, 0xF0, 0xBD, 0x28, 0x6E, 0x75, 0x6C,
+0x6C, 0x29, 0x00, 0x00, 0x13, 0xB5, 0x01, 0x9A,
+0x00, 0x28, 0x05, 0xD0, 0x01, 0x68, 0x0A, 0x70,
+0x01, 0x68, 0x49, 0x1C, 0x01, 0x60, 0x1C, 0xBD,
+0x01, 0xA9, 0x10, 0x46, 0xFD, 0xF7, 0x39, 0xF9,
+0x1C, 0xBD, 0xFF, 0xB5, 0x83, 0xB0, 0x00, 0x27,
+0x0C, 0x9E, 0x3D, 0x46, 0x08, 0x00, 0x05, 0xD0,
+0x00, 0x2B, 0x13, 0xD0, 0x05, 0x9A, 0x0A, 0x2A,
+0x0C, 0xD0, 0x0F, 0xE0, 0x30, 0x20, 0x69, 0x46,
+0x08, 0x70, 0x00, 0x20, 0x48, 0x70, 0x32, 0x46,
+0x0D, 0x9B, 0x03, 0x98, 0x00, 0xF0, 0x32, 0xF8,
+0x07, 0xB0, 0xF0, 0xBD, 0x00, 0x29, 0x01, 0xDA,
+0x01, 0x27, 0x40, 0x42, 0x00, 0x21, 0x6A, 0x46,
+0x02, 0xAC, 0xD1, 0x72, 0x03, 0x34, 0x0A, 0xE0,
+0x05, 0x99, 0xFC, 0xF7, 0x63, 0xF8, 0x0A, 0x29,
+0x02, 0xDB, 0x0E, 0x9A, 0x89, 0x18, 0x3A, 0x39,
+0x30, 0x31, 0x64, 0x1E, 0x21, 0x70, 0x00, 0x28,
+0xF2, 0xD1, 0x00, 0x2F, 0x0E, 0xD0, 0x00, 0x2E,
+0x09, 0xD0, 0x0D, 0x98, 0x80, 0x07, 0x06, 0xD5,
+0x2D, 0x21, 0x03, 0x98, 0xFF, 0xF7, 0xB6, 0xFF,
+0x6D, 0x1C, 0x76, 0x1E, 0x02, 0xE0, 0x2D, 0x20,
+0x64, 0x1E, 0x20, 0x70, 0x32, 0x46, 0x21, 0x46,
+0x0D, 0x9B, 0x03, 0x98, 0x00, 0xF0, 0x02, 0xF8,
+0x40, 0x19, 0xCD, 0xE7, 0xFF, 0xB5, 0x00, 0x25,
+0x20, 0x27, 0x81, 0xB0, 0x14, 0x46, 0x0E, 0x46,
+0x00, 0x2A, 0x0F, 0xDD, 0x00, 0x21, 0x30, 0x46,
+0x01, 0xE0, 0x40, 0x1C, 0x49, 0x1C, 0x02, 0x78,
+0x00, 0x2A, 0xFA, 0xD1, 0xA1, 0x42, 0x01, 0xDB,
+0x00, 0x24, 0x00, 0xE0, 0x64, 0x1A, 0x98, 0x07,
+0x00, 0xD5, 0x30, 0x27, 0xD8, 0x07, 0x06, 0xD0,
+0x0D, 0xE0, 0x39, 0x46, 0x01, 0x98, 0xFF, 0xF7,
+0x89, 0xFF, 0x64, 0x1E, 0x6D, 0x1C, 0x00, 0x2C,
+0xF7, 0xDC, 0x04, 0xE0, 0x01, 0x98, 0xFF, 0xF7,
+0x81, 0xFF, 0x6D, 0x1C, 0x76, 0x1C, 0x31, 0x78,
+0x00, 0x29, 0xF7, 0xD1, 0x05, 0xE0, 0x39, 0x46,
+0x01, 0x98, 0xFF, 0xF7, 0x77, 0xFF, 0x64, 0x1E,
+0x6D, 0x1C, 0x00, 0x2C, 0xF7, 0xDC, 0x28, 0x46,
+0x05, 0xB0, 0xF0, 0xBD, 0x0F, 0xB4, 0x10, 0xB5,
+0x03, 0xAA, 0x00, 0x20, 0x02, 0x99, 0xFF, 0xF7,
+0xF1, 0xFE, 0x10, 0xBC, 0x08, 0xBC, 0x04, 0xB0,
+0x18, 0x47, 0x00, 0x00, 0xF0, 0xB5, 0xA1, 0xB0,
+0x03, 0x20, 0x51, 0x49, 0x01, 0x90, 0x00, 0x24,
+0x8C, 0x70, 0x78, 0x21, 0x03, 0xA8, 0xFC, 0xF7,
+0x34, 0xF8, 0x00, 0x26, 0x66, 0xE0, 0x28, 0x21,
+0x71, 0x43, 0x0D, 0x18, 0x29, 0x79, 0xFF, 0x29,
+0x5E, 0xD0, 0x0A, 0x06, 0x36, 0xD5, 0x48, 0x4F,
+0x00, 0x20, 0x3A, 0x78, 0x94, 0x46, 0x2E, 0xE0,
+0x28, 0x22, 0x42, 0x43, 0xD2, 0x19, 0x12, 0x79,
+0x80, 0x23, 0x1A, 0x43, 0x8A, 0x42, 0x24, 0xD1,
+0x28, 0x21, 0x48, 0x43, 0x40, 0x49, 0x22, 0x46,
+0x47, 0x18, 0x28, 0x20, 0x42, 0x43, 0x02, 0xA8,
+0x10, 0x18, 0x00, 0x90, 0x39, 0x1D, 0x28, 0x22,
+0x00, 0x1D, 0xFB, 0xF7, 0xF5, 0xFF, 0x28, 0x79,
+0x64, 0x1C, 0x41, 0x06, 0x00, 0x98, 0x49, 0x0E,
+0x01, 0x71, 0x00, 0x98, 0x69, 0x79, 0x41, 0x71,
+0x78, 0x79, 0x80, 0x21, 0x08, 0x43, 0x78, 0x71,
+0xA8, 0x79, 0xE4, 0xB2, 0x00, 0x28, 0x2F, 0xD1,
+0x31, 0x48, 0x81, 0x78, 0x49, 0x1C, 0x81, 0x70,
+0x2A, 0xE0, 0x40, 0x1C, 0xC0, 0xB2, 0x84, 0x45,
+0xCE, 0xD8, 0x25, 0xE0, 0xA9, 0x79, 0x00, 0x29,
+0x22, 0xD1, 0xEA, 0x79, 0x01, 0x99, 0x8A, 0x42,
+0x02, 0xD9, 0x00, 0x20, 0xE8, 0x71, 0x1B, 0xE0,
+0x28, 0x20, 0x22, 0x46, 0x42, 0x43, 0x02, 0xA8,
+0x17, 0x18, 0x29, 0x1D, 0x38, 0x1D, 0x28, 0x22,
+0xFB, 0xF7, 0xC6, 0xFF, 0x23, 0x48, 0xB1, 0x00,
+0x08, 0x18, 0x40, 0x30, 0x81, 0x8F, 0x79, 0x81,
+0xC0, 0x8F, 0xB8, 0x81, 0x1E, 0x48, 0x64, 0x1C,
+0x81, 0x78, 0xE4, 0xB2, 0x49, 0x1C, 0x81, 0x70,
+0x28, 0x79, 0x80, 0x21, 0x08, 0x43, 0x28, 0x71,
+0x76, 0x1C, 0xF6, 0xB2, 0x19, 0x48, 0x01, 0x78,
+0x42, 0x78, 0x89, 0x18, 0xB1, 0x42, 0x92, 0xD8,
+0x00, 0x25, 0x15, 0x4E, 0x1B, 0xE0, 0x28, 0x20,
+0x68, 0x43, 0x81, 0x19, 0x48, 0x79, 0x02, 0x06,
+0x03, 0xD5, 0x40, 0x06, 0x40, 0x0E, 0x48, 0x71,
+0x0F, 0xE0, 0x02, 0x2C, 0x12, 0xD0, 0x00, 0x20,
+0x88, 0x71, 0x28, 0x20, 0x22, 0x46, 0x42, 0x43,
+0x02, 0xA8, 0x10, 0x18, 0x28, 0x22, 0x00, 0x1D,
+0x09, 0x1D, 0xFB, 0xF7, 0x91, 0xFF, 0x64, 0x1C,
+0xE4, 0xB2, 0x6D, 0x1C, 0xED, 0xB2, 0x30, 0x78,
+0xA8, 0x42, 0xE0, 0xD8, 0x34, 0x70, 0x28, 0x21,
+0x4C, 0x43, 0x22, 0x46, 0x03, 0xA9, 0x30, 0x1D,
+0xFB, 0xF7, 0x82, 0xFF, 0x21, 0xB0, 0xF0, 0xBD,
+0xE4, 0x02, 0x00, 0x20, 0x60, 0x03, 0x00, 0x20,
+0xF8, 0xB5, 0x45, 0x4B, 0x45, 0x4A, 0x19, 0x78,
+0x00, 0x20, 0x00, 0x29, 0x07, 0xD0, 0x11, 0x88,
+0x00, 0x29, 0x02, 0xD0, 0x49, 0x1E, 0x11, 0x80,
+0x02, 0xE0, 0x18, 0x70, 0x00, 0xE0, 0x10, 0x80,
+0x3F, 0x4E, 0x40, 0x4C, 0xF0, 0x70, 0x21, 0x78,
+0x01, 0x27, 0xFF, 0x29, 0x02, 0xD2, 0x49, 0x1C,
+0x21, 0x70, 0x00, 0xE0, 0x27, 0x70, 0x3C, 0x49,
+0x1D, 0x78, 0x0C, 0x78, 0x2C, 0x43, 0x0D, 0xD1,
+0x3A, 0x4C, 0x3B, 0x4D, 0x24, 0x78, 0x00, 0x2C,
+0x09, 0xD0, 0x3A, 0x4A, 0x13, 0x78, 0x00, 0x2B,
+0x03, 0xD0, 0xF7, 0x70, 0x10, 0x70, 0x05, 0x22,
+0x0A, 0x70, 0x28, 0x70, 0xF8, 0xBD, 0x36, 0x49,
+0x09, 0x78, 0x03, 0x29, 0x09, 0xD3, 0x28, 0x78,
+0x00, 0x28, 0xF7, 0xD1, 0xF7, 0x70, 0x04, 0x21,
+0x32, 0x48, 0xFB, 0xF7, 0x5A, 0xFF, 0x2F, 0x70,
+0xF8, 0xBD, 0x29, 0x78, 0x30, 0x4C, 0x01, 0x29,
+0x0A, 0xD0, 0x35, 0x78, 0x00, 0x2D, 0x0E, 0xD0,
+0xF7, 0x70, 0x25, 0x21, 0x20, 0x46, 0xFB, 0xF7,
+0x4C, 0xFF, 0x65, 0x70, 0x00, 0x21, 0x3B, 0xE0,
+0xF7, 0x70, 0x28, 0x70, 0x60, 0x70, 0x1F, 0x70,
+0x2D, 0x20, 0x10, 0x80, 0xF8, 0xBD, 0x61, 0x78,
+0x00, 0x29, 0x00, 0xD0, 0xF7, 0x70, 0x60, 0x70,
+0xF8, 0xBD, 0x28, 0x20, 0x48, 0x43, 0x80, 0x19,
+0x02, 0x79, 0x22, 0x4B, 0x0B, 0x25, 0x9A, 0x5C,
+0x0B, 0x46, 0x6B, 0x43, 0x1B, 0x19, 0x1A, 0x71,
+0x45, 0x89, 0x5A, 0x1C, 0x5D, 0x71, 0x2D, 0x0A,
+0x9D, 0x71, 0x85, 0x89, 0xDD, 0x71, 0x2D, 0x0A,
+0x1D, 0x72, 0x24, 0x25, 0x2D, 0x5C, 0xDB, 0x1C,
+0xED, 0x07, 0x07, 0xD0, 0xC5, 0x8C, 0x15, 0x71,
+0x2D, 0x0A, 0x55, 0x71, 0x05, 0x8D, 0x1D, 0x71,
+0x2D, 0x0A, 0x5D, 0x71, 0xC5, 0x89, 0x15, 0x72,
+0x2D, 0x0A, 0x55, 0x72, 0x05, 0x8B, 0x1D, 0x72,
+0x2D, 0x0A, 0x5D, 0x72, 0x40, 0x8B, 0x10, 0x73,
+0x00, 0x0A, 0x50, 0x73, 0x49, 0x1C, 0xC9, 0xB2,
+0x60, 0x78, 0x88, 0x42, 0xCD, 0xD8, 0xF8, 0xBD,
+0x5F, 0x00, 0x00, 0x20, 0x8C, 0x00, 0x00, 0x20,
+0xE4, 0x02, 0x00, 0x20, 0x54, 0x00, 0x00, 0x20,
+0x63, 0x00, 0x00, 0x20, 0xA6, 0x00, 0x00, 0x20,
+0xF8, 0x05, 0x00, 0x20, 0x55, 0x00, 0x00, 0x20,
+0x5E, 0x00, 0x00, 0x20, 0xF0, 0x05, 0x00, 0x20,
+0x90, 0x02, 0x00, 0x20, 0x92, 0x00, 0x00, 0x20,
+0xF7, 0xB5, 0x00, 0x20, 0x85, 0xB0, 0x03, 0x90,
+0x2C, 0xA0, 0x03, 0xC8, 0x01, 0x90, 0x2D, 0x48,
+0x00, 0x26, 0x02, 0x91, 0x37, 0x46, 0x04, 0x90,
+0x00, 0x23, 0x00, 0x2F, 0x02, 0xD0, 0x05, 0x2F,
+0x02, 0xD0, 0x02, 0xE0, 0x01, 0x23, 0x00, 0xE0,
+0x02, 0x23, 0x00, 0x25, 0x70, 0x00, 0x26, 0x49,
+0x00, 0x90, 0x08, 0x5E, 0x07, 0x9A, 0x90, 0x42,
+0x32, 0xDD, 0xC2, 0x07, 0x30, 0xD1, 0x04, 0x9A,
+0x90, 0x42, 0x2D, 0xDD, 0x9B, 0x07, 0x9B, 0x0F,
+0x00, 0x2D, 0x02, 0xD0, 0x05, 0x2D, 0x02, 0xD0,
+0x03, 0xE0, 0x04, 0x20, 0x00, 0xE0, 0x08, 0x20,
+0x03, 0x43, 0x00, 0x24, 0x01, 0xA8, 0x01, 0x5D,
+0x0B, 0x42, 0x0C, 0xD1, 0x30, 0x46, 0xFF, 0xF7,
+0x39, 0xFA, 0x17, 0x4A, 0x00, 0x99, 0x04, 0x2C,
+0x51, 0x5E, 0x02, 0xD2, 0x81, 0x42, 0x13, 0xDB,
+0x01, 0xE0, 0x81, 0x42, 0x04, 0xDD, 0x64, 0x1C,
+0xE4, 0xB2, 0x08, 0x2C, 0xEA, 0xD3, 0x01, 0xE0,
+0x08, 0x2C, 0x09, 0xD3, 0x0E, 0x49, 0x00, 0x98,
+0x08, 0x5E, 0x04, 0x90, 0x05, 0x98, 0x07, 0x70,
+0x06, 0x98, 0x05, 0x70, 0x01, 0x20, 0x03, 0x90,
+0x76, 0x1C, 0x6D, 0x1C, 0xED, 0xB2, 0xB6, 0xB2,
+0x06, 0x2D, 0xBF, 0xD3, 0x7F, 0x1C, 0xFF, 0xB2,
+0x06, 0x2F, 0xB1, 0xD3, 0x03, 0x98, 0x08, 0xB0,
+0xF0, 0xBD, 0x00, 0x00, 0x05, 0x01, 0x09, 0x04,
+0x08, 0x02, 0x06, 0x0A, 0x00, 0x80, 0xFF, 0xFF,
+0x16, 0x05, 0x00, 0x20, 0x70, 0xB5, 0x2A, 0x48,
+0x2A, 0x4B, 0x2B, 0x4D, 0x04, 0x78, 0x00, 0x21,
+0x18, 0x78, 0x2A, 0x78, 0x00, 0x2C, 0x05, 0xD0,
+0x00, 0x2A, 0x03, 0xD0, 0x27, 0x4C, 0x24, 0x78,
+0x00, 0x2C, 0x04, 0xD0, 0x00, 0x28, 0x2B, 0xD0,
+0x00, 0x2A, 0x12, 0xD0, 0x28, 0xE0, 0x00, 0x28,
+0x26, 0xD1, 0xE8, 0x79, 0x02, 0x28, 0x02, 0xD0,
+0x68, 0x7A, 0x01, 0x28, 0x20, 0xD9, 0xE8, 0x78,
+0x00, 0x28, 0x1D, 0xD1, 0x1E, 0x4A, 0x01, 0x20,
+0x10, 0x70, 0x50, 0x70, 0x1D, 0x4A, 0x10, 0x70,
+0x16, 0xE0, 0x6A, 0x78, 0x00, 0x2A, 0x13, 0xD1,
+0x40, 0x1E, 0x18, 0x70, 0x10, 0xE0, 0x28, 0x20,
+0x48, 0x43, 0x40, 0x19, 0x02, 0x46, 0x20, 0x32,
+0x13, 0x79, 0x1C, 0x06, 0x06, 0xD5, 0x5B, 0x06,
+0x5B, 0x0E, 0x13, 0x71, 0x42, 0x89, 0xC2, 0x84,
+0x82, 0x89, 0x02, 0x85, 0x49, 0x1C, 0xC9, 0xB2,
+0x28, 0x78, 0x88, 0x42, 0xEB, 0xD8, 0x10, 0x4E,
+0x00, 0x24, 0x30, 0x70, 0x68, 0x78, 0x70, 0x70,
+0x20, 0x46, 0x28, 0x21, 0x48, 0x43, 0x41, 0x19,
+0x80, 0x19, 0x28, 0x22, 0x00, 0x1D, 0x09, 0x1D,
+0xFB, 0xF7, 0x22, 0xFE, 0x64, 0x1C, 0xE4, 0xB2,
+0x03, 0x2C, 0xF1, 0xD3, 0x70, 0xBD, 0x00, 0x00,
+0xA6, 0x00, 0x00, 0x20, 0x63, 0x00, 0x00, 0x20,
+0xE4, 0x02, 0x00, 0x20, 0x5E, 0x00, 0x00, 0x20,
+0xF0, 0x05, 0x00, 0x20, 0x55, 0x00, 0x00, 0x20,
+0x60, 0x03, 0x00, 0x20, 0x02, 0x48, 0x00, 0x21,
+0x41, 0x70, 0x41, 0x80, 0x70, 0x47, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x20, 0xF0, 0xB5, 0x8B, 0xB0,
+0x00, 0x20, 0x01, 0x90, 0xA4, 0x4A, 0x00, 0x90,
+0x06, 0x90, 0x11, 0x5C, 0xA3, 0x4B, 0x49, 0x00,
+0x5C, 0x5A, 0x12, 0x30, 0x64, 0x00, 0xC0, 0xB2,
+0x5C, 0x52, 0x48, 0x28, 0xF5, 0xD3, 0xA0, 0x48,
+0x00, 0x78, 0x02, 0x28, 0x3E, 0xD0, 0x1C, 0x46,
+0x9C, 0x4E, 0x00, 0x25, 0x9A, 0x4B, 0x58, 0x19,
+0x05, 0x90, 0x01, 0x7A, 0x49, 0x00, 0x0A, 0x91,
+0x62, 0x5A, 0x41, 0x7A, 0x49, 0x00, 0x09, 0x91,
+0x61, 0x5A, 0x52, 0x18, 0x81, 0x7A, 0x49, 0x00,
+0x08, 0x91, 0xC0, 0x7A, 0x61, 0x5A, 0x40, 0x00,
+0x07, 0x90, 0x20, 0x5A, 0x08, 0x18, 0x10, 0x18,
+0x00, 0xB2, 0x03, 0x90, 0x01, 0x28, 0x01, 0xDA,
+0x01, 0x20, 0x03, 0x90, 0x00, 0x20, 0x84, 0x46,
+0x01, 0x46, 0x02, 0x46, 0x02, 0x90, 0xCB, 0x07,
+0x1A, 0xD0, 0x89, 0x4B, 0x2F, 0x18, 0xFB, 0x18,
+0x1B, 0x7A, 0x5B, 0x00, 0xE3, 0x5E, 0x63, 0x45,
+0x01, 0xDA, 0x49, 0x00, 0x09, 0xB2, 0x84, 0x4B,
+0x2F, 0x18, 0xFB, 0x18, 0x1B, 0x7A, 0x5B, 0x00,
+0xE3, 0x5E, 0x9C, 0x46, 0x93, 0x42, 0x00, 0xDD,
+0x62, 0x46, 0x4B, 0x07, 0x5B, 0x0F, 0x05, 0x2B,
+0x0D, 0xD0, 0x0E, 0xE0, 0x7F, 0x4C, 0xBF, 0xE7,
+0x7B, 0x4B, 0x2F, 0x18, 0xFB, 0x18, 0x1B, 0x7A,
+0x5B, 0x00, 0xE3, 0x5E, 0x63, 0x45, 0xE6, 0xDD,
+0x49, 0x00, 0x49, 0x1C, 0xE2, 0xE7, 0x01, 0x23,
+0x02, 0x93, 0x40, 0x1C, 0xC0, 0xB2, 0x04, 0x28,
+0xD1, 0xD3, 0x00, 0x2A, 0x01, 0xD1, 0x01, 0x20,
+0x02, 0x90, 0x00, 0x20, 0x04, 0x90, 0x02, 0x98,
+0x00, 0x28, 0x53, 0xD0, 0x72, 0x48, 0x00, 0x78,
+0x01, 0x28, 0x01, 0xD8, 0x14, 0x2A, 0x4D, 0xDA,
+0x6B, 0x48, 0x40, 0x5D, 0x41, 0x00, 0x6B, 0x48,
+0x40, 0x5E, 0x48, 0x28, 0x46, 0xDD, 0x0A, 0x98,
+0x31, 0x5A, 0x09, 0x98, 0x30, 0x5A, 0x09, 0x18,
+0x05, 0x98, 0x00, 0x7C, 0x40, 0x00, 0x30, 0x5A,
+0x08, 0x18, 0x07, 0xB2, 0x08, 0x98, 0x31, 0x5A,
+0x07, 0x98, 0x30, 0x5A, 0x09, 0x18, 0x05, 0x98,
+0x40, 0x7C, 0x40, 0x00, 0x30, 0x5A, 0x08, 0x18,
+0x00, 0xB2, 0x02, 0x90, 0x01, 0x2F, 0x00, 0xDA,
+0x01, 0x27, 0x01, 0x28, 0x01, 0xDA, 0x01, 0x20,
+0x02, 0x90, 0x87, 0x42, 0x02, 0xDD, 0x01, 0x46,
+0x38, 0x46, 0x00, 0xE0, 0x39, 0x46, 0xFB, 0xF7,
+0x4F, 0xFD, 0x02, 0x99, 0x00, 0xB2, 0x8F, 0x42,
+0x07, 0xDD, 0x03, 0x28, 0x05, 0xDD, 0x01, 0x20,
+0x69, 0x46, 0x08, 0x80, 0x48, 0x80, 0x00, 0x20,
+0x08, 0xE0, 0x8F, 0x42, 0x09, 0xDA, 0x03, 0x28,
+0x07, 0xDD, 0x00, 0x20, 0x69, 0x46, 0x08, 0x80,
+0x48, 0x80, 0x01, 0x20, 0x88, 0x80, 0xC8, 0x80,
+0x06, 0xE0, 0x00, 0x20, 0x6A, 0x46, 0x10, 0x80,
+0x01, 0x21, 0x51, 0x80, 0x91, 0x80, 0xD0, 0x80,
+0x01, 0x20, 0x04, 0x90, 0x00, 0x20, 0x02, 0x90,
+0x28, 0x1D, 0x2F, 0x46, 0x08, 0x90, 0x48, 0xE0,
+0x02, 0x98, 0x00, 0x28, 0x01, 0xD0, 0x03, 0x28,
+0x0B, 0xD1, 0x3F, 0x48, 0xC0, 0x19, 0x01, 0x7A,
+0x00, 0x7B, 0x49, 0x00, 0x40, 0x00, 0x71, 0x5E,
+0x30, 0x5E, 0x81, 0x42, 0x01, 0xDD, 0x01, 0x20,
+0x00, 0xE0, 0x00, 0x20, 0x38, 0x4A, 0xD3, 0x19,
+0x07, 0x93, 0x19, 0x7A, 0x1B, 0x7B, 0x49, 0x00,
+0x5B, 0x00, 0x61, 0x5E, 0xE3, 0x5E, 0xCB, 0x1A,
+0x43, 0x43, 0x18, 0x11, 0x05, 0x90, 0x01, 0xD5,
+0x00, 0x20, 0x05, 0x90, 0x04, 0x98, 0x00, 0x28,
+0xD0, 0x5D, 0x0D, 0xD0, 0x02, 0x99, 0x2F, 0x4A,
+0x40, 0x00, 0x49, 0x00, 0x6B, 0x46, 0x10, 0x5E,
+0x59, 0x5E, 0x48, 0x43, 0x07, 0x99, 0x40, 0x10,
+0x09, 0x79, 0x49, 0x00, 0x50, 0x52, 0x0D, 0xE0,
+0x42, 0x00, 0x28, 0x48, 0x80, 0x5E, 0x48, 0x43,
+0x03, 0x99, 0xFB, 0xF7, 0xED, 0xFC, 0x05, 0x99,
+0x40, 0x18, 0x07, 0x99, 0x09, 0x79, 0x4A, 0x00,
+0x22, 0x49, 0x88, 0x52, 0x02, 0x98, 0x7F, 0x1C,
+0x40, 0x1C, 0xC0, 0xB2, 0x02, 0x90, 0x08, 0x98,
+0xFF, 0xB2, 0x87, 0x42, 0xB4, 0xD3, 0x04, 0x98,
+0x00, 0x28, 0x01, 0xD0, 0x01, 0x20, 0x06, 0x90,
+0x12, 0x35, 0xED, 0xB2, 0x48, 0x2D, 0x00, 0xD2,
+0xF8, 0xE6, 0x18, 0x4A, 0x00, 0x20, 0x06, 0x99,
+0x00, 0x29, 0x05, 0xD0, 0x19, 0x4B, 0x00, 0x21,
+0x1B, 0x5C, 0x5B, 0x00, 0xD1, 0x52, 0x1C, 0xE0,
+0x16, 0x4C, 0x1E, 0x27, 0x21, 0x18, 0x4B, 0x78,
+0x8D, 0x78, 0x5B, 0x00, 0x6D, 0x00, 0xD3, 0x5A,
+0x55, 0x5B, 0x24, 0x5C, 0x5B, 0x19, 0x1B, 0xB2,
+0x5D, 0x10, 0x66, 0x00, 0x95, 0x53, 0xCC, 0x78,
+0x89, 0x79, 0x64, 0x00, 0x14, 0x5F, 0x49, 0x00,
+0x51, 0x5E, 0xE3, 0x18, 0x1B, 0xB2, 0x79, 0x43,
+0x99, 0x42, 0x02, 0xDA, 0xA1, 0x10, 0x69, 0x18,
+0x91, 0x53, 0xC0, 0x1D, 0xC0, 0xB2, 0x1C, 0x28,
+0xD5, 0xD3, 0x0B, 0xB0, 0xF0, 0xBD, 0x00, 0x00,
+0x86, 0x5E, 0x00, 0x00, 0x16, 0x05, 0x00, 0x20,
+0x69, 0x00, 0x00, 0x20, 0xE8, 0x00, 0x00, 0x20,
+0x64, 0x00, 0x00, 0x20, 0xCE, 0x5E, 0x00, 0x00,
+0xF8, 0xB5, 0x41, 0x4E, 0x00, 0x23, 0xF0, 0x5E,
+0x1D, 0x46, 0xC8, 0x28, 0x00, 0xDA, 0x01, 0x25,
+0x3E, 0x48, 0x00, 0x78, 0x00, 0x90, 0x00, 0x28,
+0x05, 0xD0, 0x00, 0x2D, 0x01, 0xD0, 0x36, 0x22,
+0x0A, 0xE0, 0x50, 0x22, 0x08, 0xE0, 0x00, 0x2D,
+0x03, 0xD0, 0x39, 0x48, 0x00, 0x78, 0x03, 0x28,
+0x01, 0xD0, 0x78, 0x22, 0x00, 0xE0, 0x48, 0x22,
+0x01, 0x20, 0xC0, 0x03, 0x30, 0x80, 0x35, 0x49,
+0x00, 0x20, 0x08, 0x80, 0x35, 0x49, 0x34, 0x4C,
+0x0C, 0x80, 0x35, 0x49, 0x04, 0x46, 0x08, 0x70,
+0x01, 0x46, 0x34, 0x48, 0x00, 0x88, 0x86, 0x46,
+0x21, 0xE0, 0x4E, 0x00, 0x32, 0x48, 0xB4, 0x46,
+0x80, 0x5F, 0x29, 0x4E, 0x00, 0x27, 0xF7, 0x5F,
+0xB8, 0x42, 0x02, 0xDD, 0x30, 0x80, 0x29, 0x4E,
+0x31, 0x80, 0x2A, 0x4E, 0x00, 0x27, 0xF7, 0x5F,
+0xB8, 0x42, 0x00, 0xDA, 0x30, 0x80, 0x2A, 0x4E,
+0x90, 0x42, 0x01, 0xDD, 0x5B, 0x1C, 0xDB, 0xB2,
+0x24, 0x28, 0x01, 0xDD, 0x64, 0x1C, 0xE4, 0xB2,
+0x37, 0x46, 0x46, 0x08, 0x76, 0x00, 0x60, 0x46,
+0x49, 0x1C, 0x3E, 0x52, 0x89, 0xB2, 0x71, 0x45,
+0xDB, 0xD3, 0x19, 0x48, 0x00, 0x21, 0x41, 0x5E,
+0x01, 0x22, 0x48, 0x29, 0x03, 0xDD, 0x01, 0x2C,
+0x01, 0xD1, 0x1B, 0x48, 0x02, 0x70, 0x1D, 0x48,
+0x00, 0x2D, 0x0E, 0xD0, 0x09, 0x24, 0x04, 0x70,
+0x05, 0x78, 0x1B, 0x4C, 0xAB, 0x42, 0x20, 0x78,
+0x0B, 0xD9, 0x03, 0x28, 0x02, 0xD2, 0x00, 0x99,
+0x00, 0x29, 0x04, 0xD0, 0x0C, 0x20, 0x20, 0x70,
+0xF8, 0xBD, 0x0A, 0x24, 0xEF, 0xE7, 0x40, 0x1C,
+0xF9, 0xE7, 0x00, 0x28, 0xF8, 0xD0, 0x36, 0x29,
+0xF6, 0xDA, 0x40, 0x1E, 0x00, 0x06, 0x00, 0x0E,
+0x20, 0x70, 0xF1, 0xD1, 0x0F, 0x49, 0x08, 0x78,
+0x28, 0x28, 0x02, 0xD2, 0x40, 0x1C, 0x08, 0x70,
+0xF8, 0xBD, 0x03, 0x48, 0x02, 0x70, 0xF8, 0xBD,
+0x74, 0x00, 0x00, 0x20, 0xA6, 0x00, 0x00, 0x20,
+0x59, 0x00, 0x00, 0x20, 0x76, 0x00, 0x00, 0x20,
+0xFF, 0x7F, 0x00, 0x00, 0x78, 0x00, 0x00, 0x20,
+0xC1, 0x00, 0x00, 0x20, 0xAC, 0x00, 0x00, 0x20,
+0x16, 0x05, 0x00, 0x20, 0xF4, 0x05, 0x00, 0x20,
+0x5E, 0x00, 0x00, 0x20, 0x60, 0x00, 0x00, 0x20,
+0xFC, 0xB5, 0x00, 0x29, 0x01, 0xD0, 0x00, 0x22,
+0x02, 0xE0, 0x39, 0x49, 0x09, 0x88, 0x0A, 0xB2,
+0x28, 0x21, 0x48, 0x43, 0x37, 0x49, 0x38, 0x4C,
+0x45, 0x18, 0x0A, 0x20, 0x28, 0x5E, 0x00, 0x21,
+0x00, 0x90, 0x61, 0x5E, 0xC3, 0x23, 0x8C, 0x46,
+0xC3, 0x28, 0x02, 0xDB, 0x08, 0x1A, 0x40, 0x1E,
+0x00, 0xB2, 0x0C, 0x21, 0x69, 0x5E, 0x8E, 0x46,
+0xC3, 0x29, 0x03, 0xDB, 0x64, 0x46, 0x61, 0x1A,
+0x49, 0x1E, 0x09, 0xB2, 0x2D, 0x4C, 0x26, 0x78,
+0x2D, 0x4C, 0xB0, 0x42, 0x08, 0xDB, 0x1E, 0x1A,
+0x34, 0x19, 0x20, 0x3C, 0xE4, 0x7F, 0xA2, 0x18,
+0x8A, 0x42, 0x38, 0xDD, 0x21, 0x46, 0x36, 0xE0,
+0xB1, 0x42, 0x08, 0xDB, 0x5E, 0x1A, 0x34, 0x19,
+0x20, 0x3C, 0xE4, 0x7F, 0xA2, 0x18, 0x82, 0x42,
+0x2D, 0xDD, 0x20, 0x46, 0x2B, 0xE0, 0x1E, 0x1A,
+0x36, 0x19, 0x20, 0x3E, 0xF6, 0x7F, 0xB2, 0x18,
+0x8A, 0x42, 0x24, 0xDD, 0x77, 0x1A, 0x7F, 0x43,
+0x01, 0x22, 0xF0, 0x24, 0x24, 0x1A, 0x01, 0x94,
+0x16, 0xE0, 0x84, 0x18, 0x1E, 0x1B, 0x1A, 0x4C,
+0x34, 0x19, 0x20, 0x3C, 0xE6, 0x7F, 0x8E, 0x42,
+0x06, 0xDB, 0x76, 0x1A, 0x14, 0x46, 0x76, 0x43,
+0x54, 0x43, 0x34, 0x19, 0xBC, 0x42, 0x03, 0xDD,
+0x80, 0x18, 0x40, 0x1E, 0x00, 0xB2, 0x05, 0xE0,
+0x27, 0x46, 0x52, 0x1C, 0x01, 0x9C, 0xD2, 0xB2,
+0x94, 0x42, 0xE6, 0xDC, 0x0E, 0x49, 0x1A, 0x1A,
+0x51, 0x18, 0x20, 0x39, 0xC9, 0x7F, 0x00, 0x9A,
+0x9A, 0x42, 0x02, 0xDB, 0x62, 0x46, 0x10, 0x1A,
+0x40, 0x1E, 0x68, 0x81, 0x9E, 0x45, 0x04, 0xDB,
+0x60, 0x46, 0x40, 0x1A, 0x40, 0x1E, 0xA8, 0x81,
+0xFC, 0xBD, 0xA9, 0x81, 0xFC, 0xBD, 0x00, 0x00,
+0xAE, 0x00, 0x00, 0x20, 0xE4, 0x02, 0x00, 0x20,
+0xB8, 0x00, 0x00, 0x20, 0xB1, 0x00, 0x00, 0x20,
+0x96, 0x5D, 0x00, 0x00, 0xF1, 0xB5, 0x20, 0x4E,
+0x20, 0x4D, 0x37, 0x78, 0x20, 0x4C, 0xF8, 0x07,
+0x12, 0xD0, 0x48, 0x22, 0x21, 0x46, 0x1F, 0x48,
+0xFB, 0xF7, 0x82, 0xFB, 0x1E, 0x4B, 0x00, 0x20,
+0x19, 0x5C, 0x42, 0x00, 0x49, 0x00, 0x40, 0x1C,
+0x61, 0x5A, 0x80, 0xB2, 0xA9, 0x52, 0x04, 0x28,
+0xF6, 0xD3, 0x78, 0x08, 0x40, 0x00, 0x30, 0x70,
+0x30, 0x78, 0x80, 0x07, 0x11, 0xD5, 0x00, 0x98,
+0x00, 0x28, 0x0F, 0xD0, 0x14, 0x4F, 0x00, 0x20,
+0x39, 0x5C, 0x42, 0x00, 0x49, 0x00, 0xAB, 0x5E,
+0x66, 0x5E, 0x40, 0x1C, 0x9B, 0x19, 0x5B, 0x10,
+0xAB, 0x52, 0x80, 0xB2, 0x63, 0x52, 0x04, 0x28,
+0xF2, 0xD3, 0xF8, 0xBD, 0x0D, 0x49, 0x00, 0x20,
+0x0A, 0x4D, 0x0E, 0x88, 0x08, 0xE0, 0x41, 0x00,
+0x6A, 0x5E, 0x63, 0x5E, 0xD2, 0x18, 0x52, 0x10,
+0x6A, 0x52, 0x40, 0x1C, 0x62, 0x52, 0x80, 0xB2,
+0xB0, 0x42, 0xF4, 0xD3, 0xF8, 0xBD, 0x00, 0x00,
+0x69, 0x00, 0x00, 0x20, 0x30, 0x01, 0x00, 0x20,
+0x16, 0x05, 0x00, 0x20, 0xE8, 0x00, 0x00, 0x20,
+0x98, 0x24, 0x00, 0x00, 0xAC, 0x00, 0x00, 0x20,
+0xF8, 0xB5, 0x28, 0x21, 0x48, 0x43, 0x12, 0x49,
+0x0A, 0x24, 0x46, 0x18, 0x11, 0x48, 0x0C, 0x25,
+0xFF, 0x27, 0x01, 0x88, 0x34, 0x5F, 0x75, 0x5F,
+0x87, 0x37, 0xB9, 0x42, 0x04, 0xD0, 0x38, 0x46,
+0x60, 0x43, 0xFB, 0xF7, 0x19, 0xFB, 0x04, 0x46,
+0x0B, 0x48, 0x01, 0x88, 0xB9, 0x42, 0x05, 0xD0,
+0xFF, 0x20, 0x87, 0x30, 0x68, 0x43, 0xFB, 0xF7,
+0x0F, 0xFB, 0x05, 0x46, 0x00, 0x2C, 0x00, 0xDD,
+0x64, 0x1E, 0x00, 0x2D, 0x00, 0xDD, 0x6D, 0x1E,
+0x74, 0x81, 0xB5, 0x81, 0xF8, 0xBD, 0x00, 0x00,
+0xE4, 0x02, 0x00, 0x20, 0xB4, 0x00, 0x00, 0x20,
+0xB6, 0x00, 0x00, 0x20, 0x10, 0xB5, 0x04, 0x48,
+0x40, 0x78, 0x80, 0x06, 0x01, 0xD5, 0xFD, 0xF7,
+0xAB, 0xFF, 0xFB, 0xF7, 0x9B, 0xFC, 0x10, 0xBD,
+0x88, 0x02, 0x00, 0x20, 0x70, 0xB5, 0x1A, 0x49,
+0x00, 0x20, 0x04, 0x46, 0x17, 0x4A, 0x0B, 0x88,
+0x06, 0xE0, 0x41, 0x00, 0x55, 0x5E, 0x00, 0x2D,
+0x00, 0xDA, 0x54, 0x52, 0x40, 0x1C, 0xC0, 0xB2,
+0x98, 0x42, 0xF6, 0xD3, 0x01, 0x20, 0xFF, 0xF7,
+0x65, 0xFF, 0xFF, 0xF7, 0xEB, 0xFC, 0x11, 0x48,
+0xFF, 0x21, 0x00, 0x88, 0x91, 0x31, 0x10, 0x4A,
+0x88, 0x42, 0x0D, 0xD8, 0x0F, 0x4B, 0x1B, 0x78,
+0x20, 0x2B, 0x09, 0xD0, 0x88, 0x42, 0x03, 0xD3,
+0x0D, 0x48, 0x00, 0x78, 0x01, 0x28, 0x07, 0xD9,
+0x10, 0x78, 0x00, 0x28, 0x02, 0xD0, 0x03, 0xE0,
+0x14, 0x70, 0x01, 0xE0, 0x03, 0x20, 0x10, 0x70,
+0x00, 0x20, 0xFF, 0xF7, 0x47, 0xFF, 0xFF, 0xF7,
+0x27, 0xFE, 0x70, 0xBD, 0x16, 0x05, 0x00, 0x20,
+0xAC, 0x00, 0x00, 0x20, 0x7A, 0x00, 0x00, 0x20,
+0x69, 0x00, 0x00, 0x20, 0xA6, 0x00, 0x00, 0x20,
+0x60, 0x03, 0x00, 0x20, 0x10, 0xB5, 0xFE, 0xF7,
+0x5D, 0xFC, 0xFE, 0xF7, 0xF5, 0xFB, 0x10, 0xBD,
+0xF8, 0xB5, 0x04, 0x24, 0xFB, 0xF7, 0x46, 0xFB,
+0x00, 0x20, 0xBF, 0xE0, 0x65, 0x4E, 0x63, 0x46,
+0x28, 0x25, 0x00, 0x21, 0x6B, 0x43, 0x32, 0x78,
+0x18, 0x18, 0x0A, 0xE0, 0x03, 0x79, 0x80, 0x25,
+0x2B, 0x43, 0x28, 0x25, 0x4D, 0x43, 0xAD, 0x19,
+0x2D, 0x79, 0xAB, 0x42, 0x03, 0xD0, 0x49, 0x1C,
+0xC9, 0xB2, 0x8A, 0x42, 0xF2, 0xD8, 0x8A, 0x42,
+0x6B, 0xD9, 0x28, 0x23, 0x59, 0x43, 0x8E, 0x19,
+0x18, 0x21, 0x71, 0x5E, 0x18, 0x22, 0x4B, 0x00,
+0xC9, 0x18, 0x82, 0x5E, 0x01, 0x23, 0x51, 0x18,
+0x89, 0x03, 0xDB, 0x03, 0xC9, 0x18, 0x09, 0x14,
+0x01, 0x83, 0x1A, 0x21, 0x71, 0x5E, 0x1A, 0x22,
+0x4D, 0x00, 0x49, 0x19, 0x82, 0x5E, 0x35, 0x46,
+0x51, 0x18, 0x89, 0x03, 0xC9, 0x18, 0x09, 0x14,
+0x41, 0x83, 0x20, 0x35, 0x01, 0x46, 0x2F, 0x79,
+0x20, 0x31, 0x0F, 0x71, 0x26, 0x23, 0xF3, 0x5E,
+0xC3, 0x84, 0x28, 0x22, 0xB2, 0x5E, 0x02, 0x85,
+0x6D, 0x79, 0x4D, 0x71, 0xBE, 0x07, 0x09, 0xD4,
+0xFE, 0x07, 0x5D, 0xD0, 0x44, 0x4E, 0x36, 0x88,
+0xCC, 0x2E, 0x09, 0xD9, 0x43, 0x4E, 0x36, 0x78,
+0x00, 0x2E, 0x05, 0xD1, 0x00, 0x26, 0x41, 0x4F,
+0x0E, 0x71, 0x3E, 0x70, 0xF6, 0x07, 0x4F, 0xD0,
+0x0E, 0x25, 0x45, 0x5F, 0xAF, 0x26, 0xB6, 0x00,
+0xB5, 0x42, 0x03, 0xDC, 0x3B, 0x4E, 0x36, 0x78,
+0x00, 0x2E, 0x01, 0xD0, 0x10, 0x24, 0x04, 0xE0,
+0xFF, 0x26, 0x91, 0x36, 0xB5, 0x42, 0x00, 0xDD,
+0x08, 0x24, 0x0A, 0x25, 0x45, 0x5F, 0x00, 0x95,
+0xED, 0x1A, 0x00, 0xD5, 0x6D, 0x42, 0xA5, 0x42,
+0x06, 0xDC, 0x0C, 0x25, 0x45, 0x5F, 0xAD, 0x1A,
+0x00, 0xD5, 0x6D, 0x42, 0xA5, 0x42, 0x4A, 0xDD,
+0x0D, 0x79, 0x02, 0x26, 0x35, 0x43, 0x0D, 0x71,
+0x05, 0x79, 0x00, 0x21, 0x34, 0x27, 0x0E, 0x46,
+0x7E, 0x43, 0x2B, 0x4F, 0xBE, 0x5D, 0xB5, 0x42,
+0x04, 0xD0, 0x49, 0x1C, 0xC9, 0xB2, 0x03, 0x29,
+0xF4, 0xD3, 0x38, 0xE0, 0x03, 0x29, 0x36, 0xD2,
+0x34, 0x26, 0x71, 0x43, 0x24, 0x4E, 0x9D, 0x01,
+0x89, 0x19, 0xCD, 0x60, 0x0D, 0x61, 0x23, 0x4D,
+0x6E, 0x88, 0x0A, 0x2E, 0x00, 0xD8, 0x00, 0x9B,
+0x4B, 0x60, 0x00, 0x9B, 0x8B, 0x60, 0x93, 0x01,
+0xCB, 0x61, 0x0B, 0x62, 0x6B, 0x88, 0x0A, 0x2B,
+0x01, 0xD8, 0x0C, 0x22, 0x82, 0x5E, 0x4A, 0x61,
+0x0C, 0x22, 0x82, 0x5E, 0x8A, 0x61, 0x1A, 0xE0,
+0x0E, 0x79, 0x00, 0x2E, 0x17, 0xD1, 0x0A, 0x26,
+0x86, 0x5F, 0xF3, 0x1A, 0x00, 0xD5, 0x5B, 0x42,
+0x66, 0x08, 0xB3, 0x42, 0x19, 0xDA, 0x0C, 0x23,
+0xC3, 0x5E, 0x98, 0x1A, 0x00, 0xD5, 0x40, 0x42,
+0xB0, 0x42, 0x12, 0xDA, 0x6D, 0x1C, 0xE8, 0xB2,
+0x48, 0x71, 0x0A, 0x28, 0x03, 0xD9, 0x00, 0x20,
+0x48, 0x71, 0x81, 0x20, 0x08, 0x71, 0x60, 0x46,
+0x40, 0x1C, 0xC0, 0xB2, 0x84, 0x46, 0x0A, 0x48,
+0x02, 0x78, 0x62, 0x45, 0x00, 0xD9, 0x39, 0xE7,
+0xF8, 0xBD, 0x00, 0x20, 0x48, 0x71, 0x80, 0x20,
+0xF0, 0xE7, 0x00, 0x00, 0x60, 0x03, 0x00, 0x20,
+0x7A, 0x00, 0x00, 0x20, 0x63, 0x00, 0x00, 0x20,
+0x48, 0x04, 0x00, 0x20, 0x04, 0x06, 0x00, 0x20,
+0xE4, 0x02, 0x00, 0x20, 0x10, 0xB5, 0xFF, 0xF7,
+0x63, 0xFA, 0x10, 0xBD, 0x10, 0xB5, 0xFF, 0xF7,
+0x69, 0xFB, 0x10, 0xBD, 0x10, 0x1A, 0x59, 0x1A,
+0x40, 0x43, 0x49, 0x43, 0xC2, 0x17, 0xCB, 0x17,
+0x08, 0x18, 0x53, 0x41, 0x00, 0x22, 0xD2, 0x43,
+0x00, 0x21, 0x12, 0x1A, 0x99, 0x41, 0x01, 0xD2,
+0x00, 0x20, 0xC0, 0x43, 0x70, 0x47, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
+0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02,
+0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
+0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04,
+0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06,
+0x07, 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x09,
+0x09, 0x09, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B,
+0x0C, 0x0C, 0x0C, 0x0D, 0x0D, 0x0D, 0x0E, 0x0E,
+0x0F, 0x0F, 0x10, 0x10, 0x10, 0x11, 0x11, 0x12,
+0x12, 0x13, 0x13, 0x14, 0x14, 0x15, 0x15, 0x16,
+0x16, 0x17, 0x17, 0x18, 0x18, 0x19, 0x19, 0x1A,
+0x1B, 0x1B, 0x1C, 0x1C, 0x1D, 0x1E, 0x1E, 0x1F,
+0x20, 0x20, 0x21, 0x22, 0x22, 0x23, 0x24, 0x24,
+0x25, 0x26, 0x27, 0x27, 0x28, 0x29, 0x2A, 0x2A,
+0x2B, 0x2C, 0x2D, 0x2E, 0x2E, 0x2F, 0x30, 0x31,
+0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
+0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41,
+0x42, 0x43, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4B,
+0x4C, 0x4D, 0x4F, 0x50, 0x51, 0x53, 0x54, 0x56,
+0x57, 0x59, 0x5A, 0x5C, 0x5E, 0x5F, 0x61, 0x63,
+0x65, 0x66, 0x68, 0x6A, 0x6C, 0x6E, 0x70, 0x73,
+0x75, 0x77, 0x7A, 0x7C, 0x7F, 0x82, 0x85, 0x88,
+0x8B, 0x8E, 0x92, 0x96, 0x9B, 0xA0, 0xA6, 0xAE,
+0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2,
+0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2,
+0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2,
+0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2,
+0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2,
+0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0xC2, 0x04, 0x04,
+0x04, 0x04, 0x01, 0x02, 0x03, 0x04, 0x07, 0x08,
+0x09, 0x0A, 0x0D, 0x0E, 0x0F, 0x10, 0x18, 0x1D,
+0x18, 0x18, 0x18, 0x18, 0x06, 0x0C, 0x12, 0x18,
+0x07, 0x0D, 0x13, 0x19, 0x08, 0x0E, 0x14, 0x1A,
+0x04, 0x22, 0x1D, 0x1D, 0x1D, 0x1D, 0x0B, 0x11,
+0x17, 0x1D, 0x0A, 0x10, 0x16, 0x1C, 0x09, 0x0F,
+0x15, 0x1B, 0x04, 0x22, 0x22, 0x22, 0x22, 0x22,
+0x1F, 0x20, 0x21, 0x22, 0x19, 0x1A, 0x1B, 0x1C,
+0x13, 0x14, 0x15, 0x16, 0x18, 0x1D, 0x00, 0x01,
+0x06, 0x07, 0x08, 0x0D, 0x0E, 0x05, 0x04, 0x0B,
+0x0A, 0x09, 0x10, 0x0F, 0x1E, 0x1F, 0x18, 0x19,
+0x13, 0x1A, 0x14, 0x23, 0x22, 0x1D, 0x1C, 0x16,
+0x1B, 0x15, 0x00, 0x00, 0xFC, 0x5E, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0xE8, 0x00, 0x00, 0x00,
+0xBA, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20,
+0x00, 0x20, 0x00, 0x50, 0x00, 0x30, 0x00, 0x50,
+0x00, 0x20, 0x01, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0xD4, 0x0C, 0x00, 0x00,
+0x1C, 0x0D, 0x00, 0x00, 0x64, 0x0D, 0x00, 0x00,
+0x14, 0x0F, 0x00, 0x00, 0x04, 0x0A, 0x00, 0x00,
+0x4C, 0x0A, 0x00, 0x00, 0x94, 0x0A, 0x00, 0x00,
+0xCC, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0xEF, 0xFF, 0xCE, 0x94,
+};
+const unsigned char RadTestFWImage[] = {
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xE3, 0xEF, 0xF8, 0xAA, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0xD9, 0xEB, 0xE3, 0xE4, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0xA2, 0xC2, 0xE3, 0x15, 0xA1, 0x00, 0x01, 0xF3,
+0x01, 0x02, 0x02, 0x62, 0x1C, 0x00, 0x01, 0x00,
+0x00, 0x01, 0x00, 0x0E, 0x06, 0x06, 0x2E, 0x01,
+0x2E, 0x01, 0x2E, 0x01, 0x2E, 0x01, 0x26, 0x06,
+0x0C, 0x92, 0x01, 0x0D, 0x00, 0x00, 0x18, 0x00,
+0x00, 0x00, 0x0D, 0x00, 0x00, 0x18, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x10, 0x04, 0x09, 0x0F, 0x0A,
+0x10, 0x1D, 0x16, 0x1C, 0x15, 0x1B, 0x22, 0x24,
+0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x04,
+0x08, 0x0E, 0x07, 0x0D, 0x18, 0x13, 0x19, 0x14,
+0x1A, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
+0x24, 0x00, 0x05, 0x1E, 0x23, 0x00, 0x00, 0x86,
+0x01, 0x86, 0x01, 0x00, 0x00, 0x00, 0x70, 0x00,
+0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E,
+0x01, 0xA0, 0x00, 0x96, 0x00, 0x2D, 0x00, 0x78,
+0x00, 0x3C, 0x00, 0x48, 0x00, 0x48, 0x00, 0x42,
+0x00, 0x18, 0x00, 0x0C, 0x3C, 0x00, 0x12, 0x14,
+0x0A, 0x12, 0x55, 0x38, 0x66, 0x00, 0x05, 0x2D,
+0x60, 0x32, 0x06, 0x09, 0x61, 0x00, 0x00, 0x3C,
+0x28, 0x28, 0x28, 0x28, 0x05, 0xF8, 0x0D, 0x00,
+0x00, 0xC0, 0x6F, 0x00, 0x00, 0x01, 0x64, 0x00,
+0x82, 0x00, 0x0F, 0xF4, 0x01, 0xF8, 0x13, 0xC7,
+0x0C, 0x31, 0x03, 0xCC, 0x00, 0x04, 0x1E, 0x0A,
+0xD0, 0x05, 0xF0, 0x10, 0x57, 0x08, 0xD6, 0x10,
+0xEF, 0x03, 0x74, 0x00, 0x40, 0x00, 0x03, 0x02,
+0x70, 0x00, 0xDB, 0xFE, 0xD6, 0x0B, 0xB5, 0x00,
+0x4F, 0x00, 0x46, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0xE3, 0xD2, 0xDB, 0xA8,
+0x10, 0x0F, 0x00, 0x20, 0xB1, 0x10, 0x00, 0x00,
+0xB9, 0x10, 0x00, 0x00, 0x95, 0x10, 0x00, 0x00,
+0xBD, 0x10, 0x00, 0x00, 0xBF, 0x10, 0x00, 0x00,
+0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0xC3, 0x10, 0x00, 0x00,
+0xC5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0xC7, 0x10, 0x00, 0x00, 0x51, 0x30, 0x00, 0x00,
+0xD5, 0x28, 0x00, 0x00, 0x05, 0x1D, 0x00, 0x00,
+0xCB, 0x10, 0x00, 0x00, 0x01, 0x2C, 0x00, 0x00,
+0xCB, 0x10, 0x00, 0x00, 0x19, 0x20, 0x00, 0x00,
+0xCB, 0x10, 0x00, 0x00, 0xCB, 0x10, 0x00, 0x00,
+0xCB, 0x10, 0x00, 0x00, 0xC9, 0x27, 0x00, 0x00,
+0x9D, 0x24, 0x00, 0x00, 0x95, 0x25, 0x00, 0x00,
+0x35, 0x22, 0x00, 0x00, 0x9D, 0x20, 0x00, 0x00,
+0xE9, 0x2F, 0x00, 0x00, 0xCB, 0x10, 0x00, 0x00,
+0x03, 0x48, 0x85, 0x46, 0x00, 0xF0, 0x74, 0xF8,
+0x00, 0x48, 0x00, 0x47, 0x55, 0x52, 0x00, 0x00,
+0x10, 0x0F, 0x00, 0x20, 0x04, 0x20, 0x71, 0x46,
+0x08, 0x42, 0x02, 0xD0, 0xEF, 0xF3, 0x09, 0x80,
+0x01, 0xE0, 0xEF, 0xF3, 0x08, 0x80, 0x71, 0x46,
+0x00, 0x4A, 0x10, 0x47, 0x51, 0x50, 0x00, 0x00,
+0x06, 0x48, 0x80, 0x47, 0x06, 0x48, 0x00, 0x47,
+0xFE, 0xE7, 0xFE, 0xE7, 0xFE, 0xE7, 0xFE, 0xE7,
+0xFE, 0xE7, 0xFE, 0xE7, 0xFE, 0xE7, 0xFE, 0xE7,
+0xFE, 0xE7, 0xFE, 0xE7, 0xD1, 0x11, 0x00, 0x00,
+0x81, 0x10, 0x00, 0x00, 0x30, 0xB5, 0x0B, 0x46,
+0x01, 0x46, 0x00, 0x20, 0x20, 0x22, 0x01, 0x24,
+0x09, 0xE0, 0x0D, 0x46, 0xD5, 0x40, 0x9D, 0x42,
+0x05, 0xD3, 0x1D, 0x46, 0x95, 0x40, 0x49, 0x1B,
+0x25, 0x46, 0x95, 0x40, 0x40, 0x19, 0x15, 0x46,
+0x52, 0x1E, 0x00, 0x2D, 0xF1, 0xDC, 0x30, 0xBD,
+0x70, 0xB5, 0x00, 0x24, 0x25, 0x46, 0x00, 0x28,
+0x01, 0xDA, 0x01, 0x24, 0x40, 0x42, 0x00, 0x29,
+0x01, 0xDA, 0x01, 0x25, 0x49, 0x42, 0xFF, 0xF7,
+0xDD, 0xFF, 0xAC, 0x42, 0x00, 0xD0, 0x40, 0x42,
+0x00, 0x2C, 0x00, 0xD0, 0x49, 0x42, 0x70, 0xBD,
+0x03, 0x46, 0x0B, 0x43, 0x9B, 0x07, 0x03, 0xD0,
+0x09, 0xE0, 0x08, 0xC9, 0x12, 0x1F, 0x08, 0xC0,
+0x04, 0x2A, 0xFA, 0xD2, 0x03, 0xE0, 0x0B, 0x78,
+0x49, 0x1C, 0x03, 0x70, 0x40, 0x1C, 0x52, 0x1E,
+0xF9, 0xD2, 0x70, 0x47, 0xD2, 0xB2, 0x01, 0xE0,
+0x02, 0x70, 0x40, 0x1C, 0x49, 0x1E, 0xFB, 0xD2,
+0x70, 0x47, 0x00, 0x22, 0xF6, 0xE7, 0x10, 0xB5,
+0x13, 0x46, 0x0A, 0x46, 0x04, 0x46, 0x19, 0x46,
+0xFF, 0xF7, 0xF0, 0xFF, 0x20, 0x46, 0x10, 0xBD,
+0x06, 0x4C, 0x01, 0x25, 0x06, 0x4E, 0x05, 0xE0,
+0x20, 0x46, 0xE3, 0x68, 0x07, 0xC8, 0x2B, 0x43,
+0x98, 0x47, 0x10, 0x34, 0xB4, 0x42, 0xF7, 0xD3,
+0xFF, 0xF7, 0x7E, 0xFF, 0x64, 0x5A, 0x00, 0x00,
+0x74, 0x5A, 0x00, 0x00, 0x0B, 0x49, 0x10, 0xB5,
+0x88, 0x42, 0x01, 0xD9, 0x01, 0x20, 0x10, 0xBD,
+0x01, 0x02, 0x09, 0x0A, 0x08, 0x48, 0x49, 0x1E,
+0x41, 0x61, 0x08, 0x49, 0x07, 0x22, 0xCB, 0x69,
+0x1B, 0x02, 0x1B, 0x0A, 0x04, 0x04, 0x23, 0x43,
+0xCB, 0x61, 0x00, 0x21, 0x81, 0x61, 0x02, 0x61,
+0x08, 0x46, 0x10, 0xBD, 0xFF, 0xFF, 0xFF, 0x00,
+0x00, 0xE0, 0x00, 0xE0, 0x04, 0xED, 0x00, 0xE0,
+0x62, 0xB6, 0x00, 0x20, 0x01, 0x21, 0x89, 0x07,
+0xC8, 0x60, 0x70, 0x47, 0x30, 0xB4, 0x74, 0x46,
+0x64, 0x1E, 0x25, 0x78, 0x64, 0x1C, 0xAB, 0x42,
+0x00, 0xD2, 0x1D, 0x46, 0x63, 0x5D, 0x5B, 0x00,
+0xE3, 0x18, 0x30, 0xBC, 0x18, 0x47, 0x02, 0xE0,
+0x08, 0xC8, 0x12, 0x1F, 0x08, 0xC1, 0x00, 0x2A,
+0xFA, 0xD1, 0x70, 0x47, 0x70, 0x47, 0x00, 0x20,
+0x01, 0xE0, 0x01, 0xC1, 0x12, 0x1F, 0x00, 0x2A,
+0xFB, 0xD1, 0x70, 0x47, 0x70, 0xB5, 0x05, 0x46,
+0x00, 0x20, 0x02, 0x46, 0x01, 0x26, 0x09, 0xE0,
+0x34, 0x46, 0x94, 0x40, 0x33, 0x46, 0x2C, 0x42,
+0x03, 0xD0, 0x8C, 0x1A, 0x64, 0x1E, 0xA3, 0x40,
+0x18, 0x43, 0x52, 0x1C, 0x8A, 0x42, 0xF3, 0xD3,
+0x70, 0xBD, 0x00, 0x00, 0x30, 0xB5, 0x02, 0x28,
+0x03, 0xD0, 0x04, 0x28, 0x05, 0xD0, 0x00, 0x20,
+0x30, 0xBD, 0x2D, 0x24, 0x07, 0x4D, 0x24, 0x01,
+0x02, 0xE0, 0x07, 0x4D, 0x49, 0x24, 0xE4, 0x00,
+0x24, 0x1F, 0x21, 0x46, 0x28, 0x46, 0x00, 0xF0,
+0x45, 0xFA, 0xA1, 0x08, 0x89, 0x00, 0x68, 0x50,
+0x01, 0x20, 0x30, 0xBD, 0x04, 0x0A, 0x00, 0x00,
+0xD4, 0x0C, 0x00, 0x00, 0x07, 0x4B, 0x01, 0x21,
+0x12, 0x28, 0x04, 0xDA, 0xDA, 0x68, 0x81, 0x40,
+0x8A, 0x43, 0xDA, 0x60, 0x70, 0x47, 0x1A, 0x69,
+0x12, 0x38, 0x81, 0x40, 0x8A, 0x43, 0x1A, 0x61,
+0x70, 0x47, 0x00, 0x00, 0x80, 0x10, 0x00, 0x50,
+0xF1, 0xB5, 0x62, 0x48, 0x84, 0xB0, 0x00, 0x68,
+0x31, 0x30, 0x01, 0x90, 0x60, 0x48, 0x00, 0x21,
+0x01, 0x80, 0x08, 0x46, 0x02, 0x91, 0x00, 0x91,
+0x5E, 0x4C, 0x00, 0x21, 0xE5, 0x43, 0x06, 0x46,
+0x12, 0x36, 0x0F, 0xE0, 0x01, 0x9A, 0x12, 0x5C,
+0x24, 0x2A, 0x09, 0xD0, 0x04, 0x9A, 0x43, 0x00,
+0xD2, 0x5E, 0xAA, 0x42, 0x01, 0xDD, 0x15, 0x46,
+0x02, 0xE0, 0xA2, 0x42, 0x00, 0xDA, 0x14, 0x46,
+0x40, 0x1C, 0xC0, 0xB2, 0xB0, 0x42, 0xED, 0xD3,
+0x00, 0x2D, 0x01, 0xDB, 0x28, 0x46, 0x00, 0xE0,
+0x68, 0x42, 0x22, 0x1E, 0x00, 0xDA, 0x62, 0x42,
+0x90, 0x42, 0x25, 0xDB, 0x01, 0x22, 0x00, 0x2C,
+0x0D, 0xDA, 0x28, 0x19, 0xC3, 0x0F, 0x18, 0x18,
+0x43, 0x10, 0x48, 0x48, 0x00, 0x68, 0x81, 0x30,
+0x47, 0x78, 0x00, 0x78, 0x3F, 0x02, 0x07, 0x43,
+0x78, 0x08, 0x18, 0x18, 0x10, 0xE0, 0x43, 0x48,
+0x00, 0x68, 0x07, 0x46, 0x71, 0x37, 0x7B, 0x79,
+0x3F, 0x79, 0x1B, 0x06, 0x1B, 0x14, 0x3B, 0x43,
+0xA3, 0x42, 0x07, 0xDD, 0x81, 0x30, 0x43, 0x78,
+0x07, 0x78, 0x18, 0x02, 0x38, 0x43, 0x00, 0x19,
+0x00, 0xB2, 0x17, 0xE0, 0x9C, 0x46, 0x16, 0xE0,
+0x38, 0x48, 0x00, 0x22, 0x07, 0x68, 0x38, 0x46,
+0x71, 0x30, 0x43, 0x79, 0x00, 0x79, 0x1B, 0x06,
+0x1B, 0x14, 0x03, 0x43, 0x5B, 0x42, 0xAB, 0x42,
+0x07, 0xDA, 0x38, 0x46, 0x81, 0x30, 0x43, 0x78,
+0x07, 0x78, 0x18, 0x02, 0x38, 0x43, 0x28, 0x1A,
+0xE6, 0xE7, 0x18, 0xB2, 0x84, 0x46, 0x00, 0x20,
+0x00, 0x2A, 0x00, 0x9A, 0x0E, 0xD1, 0x1E, 0xE0,
+0x01, 0x9B, 0x9B, 0x5C, 0x24, 0x2B, 0x07, 0xD0,
+0x04, 0x9B, 0x57, 0x00, 0xDB, 0x5F, 0x63, 0x45,
+0x02, 0xDA, 0x18, 0x18, 0x49, 0x1C, 0xC9, 0xB2,
+0x52, 0x1C, 0xD2, 0xB2, 0xB2, 0x42, 0xEF, 0xD3,
+0x0F, 0xE0, 0x01, 0x9B, 0x9B, 0x5C, 0x24, 0x2B,
+0x07, 0xD0, 0x04, 0x9B, 0x57, 0x00, 0xDB, 0x5F,
+0x63, 0x45, 0x02, 0xDD, 0x18, 0x18, 0x49, 0x1C,
+0xC9, 0xB2, 0x52, 0x1C, 0xD2, 0xB2, 0xB2, 0x42,
+0xEF, 0xD3, 0x00, 0x29, 0x01, 0xD0, 0xFF, 0xF7,
+0x9F, 0xFE, 0x00, 0x99, 0x07, 0xE0, 0x04, 0x9B,
+0x4A, 0x00, 0x9B, 0x5A, 0x04, 0x9F, 0x1B, 0x1A,
+0x49, 0x1C, 0xBB, 0x52, 0xC9, 0xB2, 0xB1, 0x42,
+0xF5, 0xD3, 0x13, 0x49, 0x00, 0x22, 0x8A, 0x5E,
+0x94, 0x42, 0x00, 0xDA, 0x0C, 0x80, 0x28, 0x1A,
+0x02, 0x99, 0x00, 0xB2, 0x88, 0x42, 0x00, 0xDD,
+0x02, 0x90, 0xF0, 0xB2, 0x00, 0x90, 0x24, 0x28,
+0x00, 0xD2, 0x59, 0xE7, 0x09, 0x48, 0x00, 0x68,
+0x81, 0x30, 0x42, 0x78, 0x01, 0x78, 0x10, 0x06,
+0x00, 0x14, 0x08, 0x43, 0x02, 0x99, 0x81, 0x42,
+0x06, 0xDA, 0x07, 0x48, 0x40, 0x88, 0x0A, 0x28,
+0x02, 0xD9, 0x00, 0x20, 0x05, 0xB0, 0xF0, 0xBD,
+0x01, 0x20, 0xFB, 0xE7, 0xD0, 0x00, 0x00, 0x20,
+0x98, 0x00, 0x00, 0x20, 0xFF, 0x7F, 0x00, 0x00,
+0x04, 0x06, 0x00, 0x20, 0x10, 0xB5, 0x09, 0x4A,
+0x00, 0x23, 0x53, 0x60, 0x07, 0x48, 0x40, 0x24,
+0x80, 0x30, 0xC4, 0x63, 0xC1, 0x6B, 0x49, 0x06,
+0xFC, 0xD4, 0x06, 0x21, 0x51, 0x60, 0xC4, 0x63,
+0xC1, 0x6B, 0x49, 0x06, 0xFC, 0xD4, 0x53, 0x60,
+0x10, 0xBD, 0x00, 0x00, 0x40, 0x07, 0x00, 0x50,
+0x00, 0xB5, 0x02, 0x46, 0x03, 0xF0, 0x06, 0xFE,
+0x01, 0x49, 0x89, 0x68, 0x11, 0x70, 0x00, 0xBD,
+0x40, 0x07, 0x00, 0x50, 0x0C, 0x48, 0x00, 0x78,
+0xC0, 0x07, 0x11, 0xD1, 0x0B, 0x48, 0x01, 0x78,
+0x0B, 0x48, 0x00, 0x29, 0x03, 0xD0, 0x0B, 0x49,
+0x09, 0x78, 0x00, 0x29, 0x09, 0xD0, 0x04, 0x21,
+0x41, 0x61, 0x07, 0x48, 0x10, 0x21, 0x80, 0x30,
+0xC1, 0x63, 0xC1, 0x6B, 0xC9, 0x06, 0xFC, 0xD4,
+0x70, 0x47, 0x02, 0x21, 0xF4, 0xE7, 0x00, 0x00,
+0x8C, 0x00, 0x00, 0x20, 0xBA, 0x00, 0x00, 0x20,
+0x40, 0x07, 0x00, 0x50, 0x82, 0x00, 0x00, 0x20,
+0x00, 0xB5, 0x09, 0x48, 0x07, 0x49, 0x09, 0x4A,
+0x01, 0x60, 0x12, 0x68, 0x00, 0x21, 0x11, 0x80,
+0x07, 0x49, 0xC9, 0x68, 0x00, 0x68, 0x09, 0x0C,
+0x49, 0x1C, 0x01, 0x80, 0x05, 0x48, 0xFF, 0xF7,
+0xC3, 0xFF, 0x00, 0xBD, 0x00, 0x00, 0x04, 0x20,
+0x24, 0x00, 0x00, 0x20, 0x18, 0x00, 0x00, 0x20,
+0x40, 0x07, 0x00, 0x50, 0xCE, 0x00, 0x00, 0x20,
+0x03, 0x48, 0x04, 0x21, 0xC1, 0x63, 0xC1, 0x6B,
+0x49, 0x07, 0xFC, 0xD4, 0x70, 0x47, 0x00, 0x00,
+0xC0, 0x07, 0x00, 0x50, 0x70, 0xB5, 0x01, 0x24,
+0xA4, 0x07, 0x20, 0x68, 0xA5, 0x13, 0x28, 0x43,
+0x20, 0x60, 0x0C, 0x4A, 0x00, 0x20, 0x50, 0x60,
+0xE0, 0x68, 0x26, 0x14, 0x30, 0x43, 0xE0, 0x60,
+0x08, 0x49, 0x24, 0x20, 0x40, 0x39, 0x88, 0x63,
+0x00, 0xF0, 0x84, 0xFD, 0x01, 0x20, 0x90, 0x61,
+0x00, 0xF0, 0x8E, 0xFD, 0x04, 0x48, 0x06, 0x60,
+0x60, 0x68, 0x28, 0x43, 0x60, 0x60, 0xFF, 0xF7,
+0xBB, 0xFF, 0x70, 0xBD, 0x40, 0x07, 0x00, 0x50,
+0x00, 0xE1, 0x00, 0xE0, 0x01, 0x20, 0x80, 0x07,
+0xC2, 0x68, 0x01, 0x21, 0x0A, 0x43, 0xC2, 0x60,
+0x02, 0x4A, 0x03, 0x20, 0x50, 0x60, 0x02, 0x48,
+0x01, 0x60, 0x70, 0x47, 0x40, 0x00, 0x00, 0x50,
+0x00, 0xE1, 0x00, 0xE0, 0xF0, 0xB5, 0x05, 0x46,
+0x24, 0x23, 0x00, 0xF0, 0x89, 0xF8, 0x00, 0x28,
+0x2A, 0xD0, 0x17, 0x4E, 0x00, 0x2A, 0x19, 0xD0,
+0x16, 0x4C, 0x22, 0x68, 0x02, 0x27, 0xBA, 0x43,
+0x22, 0x60, 0x02, 0xE0, 0x5A, 0x00, 0x8F, 0x5A,
+0x87, 0x52, 0x1A, 0x46, 0x5B, 0x1E, 0xDB, 0xB2,
+0x00, 0x2A, 0xF7, 0xD1, 0x30, 0x68, 0x01, 0x88,
+0x29, 0x43, 0x01, 0x80, 0x02, 0x20, 0xFF, 0xF7,
+0x49, 0xFE, 0x20, 0x68, 0x02, 0x21, 0x08, 0x43,
+0x20, 0x60, 0x0C, 0xE0, 0x32, 0x68, 0x12, 0x88,
+0x2A, 0x42, 0x03, 0xD1, 0x09, 0xE0, 0x5A, 0x00,
+0x84, 0x5A, 0x8C, 0x52, 0x1A, 0x46, 0x5B, 0x1E,
+0xDB, 0xB2, 0x00, 0x2A, 0xF7, 0xD1, 0x01, 0x20,
+0xF0, 0xBD, 0x00, 0x20, 0xF0, 0xBD, 0x00, 0x00,
+0xF0, 0x00, 0x00, 0x20, 0x00, 0x09, 0x00, 0x50,
+0xF0, 0xB5, 0x05, 0x46, 0x12, 0x23, 0x00, 0xF0,
+0x65, 0xF8, 0x00, 0x28, 0x2A, 0xD0, 0x17, 0x4E,
+0x00, 0x2A, 0x19, 0xD0, 0x16, 0x4C, 0x22, 0x68,
+0x04, 0x27, 0xBA, 0x43, 0x22, 0x60, 0x02, 0xE0,
+0x9A, 0x00, 0x8F, 0x58, 0x87, 0x50, 0x1A, 0x46,
+0x5B, 0x1E, 0xDB, 0xB2, 0x00, 0x2A, 0xF7, 0xD1,
+0x30, 0x68, 0x01, 0x88, 0x29, 0x43, 0x01, 0x80,
+0x04, 0x20, 0xFF, 0xF7, 0x0F, 0xFE, 0x20, 0x68,
+0x04, 0x21, 0x08, 0x43, 0x20, 0x60, 0x0C, 0xE0,
+0x32, 0x68, 0x12, 0x88, 0x2A, 0x42, 0x03, 0xD1,
+0x09, 0xE0, 0x9A, 0x00, 0x84, 0x58, 0x8C, 0x50,
+0x1A, 0x46, 0x5B, 0x1E, 0xDB, 0xB2, 0x00, 0x2A,
+0xF7, 0xD1, 0x01, 0x20, 0xF0, 0xBD, 0x00, 0x20,
+0xF0, 0xBD, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x20,
+0x00, 0x09, 0x00, 0x50, 0x30, 0xB5, 0x09, 0x4B,
+0x1A, 0x68, 0x06, 0x24, 0xA2, 0x43, 0x1A, 0x60,
+0x07, 0x4A, 0x12, 0x68, 0x15, 0x88, 0x85, 0x43,
+0x06, 0x48, 0x15, 0x80, 0x00, 0x68, 0x02, 0x88,
+0x8A, 0x43, 0x02, 0x80, 0x18, 0x68, 0x20, 0x43,
+0x18, 0x60, 0x30, 0xBD, 0x00, 0x09, 0x00, 0x50,
+0xE0, 0x00, 0x00, 0x20, 0xF0, 0x00, 0x00, 0x20,
+0x01, 0x28, 0x05, 0xD0, 0x02, 0x28, 0x05, 0xD0,
+0x04, 0x28, 0x05, 0xD0, 0x00, 0x20, 0x70, 0x47,
+0x03, 0x48, 0x02, 0xE0, 0x03, 0x48, 0x00, 0xE0,
+0x03, 0x48, 0x00, 0x68, 0x70, 0x47, 0x00, 0x00,
+0xE4, 0x00, 0x00, 0x20, 0xE8, 0x00, 0x00, 0x20,
+0xEC, 0x00, 0x00, 0x20, 0x01, 0x28, 0x05, 0xD0,
+0x02, 0x28, 0x05, 0xD0, 0x04, 0x28, 0x05, 0xD0,
+0x00, 0x20, 0x70, 0x47, 0x03, 0x48, 0x02, 0xE0,
+0x03, 0x48, 0x00, 0xE0, 0x03, 0x48, 0x00, 0x68,
+0x70, 0x47, 0x00, 0x00, 0xD4, 0x00, 0x00, 0x20,
+0xD8, 0x00, 0x00, 0x20, 0xDC, 0x00, 0x00, 0x20,
+0x01, 0x49, 0x7F, 0x20, 0x08, 0x60, 0x70, 0x47,
+0x00, 0x09, 0x00, 0x50, 0xF0, 0xB5, 0x00, 0x24,
+0xE4, 0x43, 0x0E, 0x46, 0x07, 0x46, 0x00, 0x25,
+0x14, 0xE0, 0x78, 0x5D, 0x08, 0x21, 0xFF, 0xF7,
+0x89, 0xFD, 0xC1, 0xB2, 0x0B, 0x4A, 0x00, 0x20,
+0x23, 0x46, 0x4B, 0x40, 0xDB, 0x07, 0x02, 0xD0,
+0x64, 0x08, 0x54, 0x40, 0x00, 0xE0, 0x64, 0x08,
+0x40, 0x1C, 0x49, 0x08, 0xC0, 0xB2, 0x08, 0x28,
+0xF2, 0xD3, 0x6D, 0x1C, 0xB5, 0x42, 0xE8, 0xD3,
+0x20, 0x21, 0x20, 0x46, 0xFF, 0xF7, 0x72, 0xFD,
+0xF0, 0xBD, 0x00, 0x00, 0x20, 0x83, 0xB8, 0xED,
+0xF0, 0xB5, 0x97, 0xB0, 0x00, 0x20, 0x00, 0x90,
+0x48, 0x22, 0x2E, 0x49, 0x01, 0xA8, 0xFF, 0xF7,
+0xEF, 0xFC, 0x2D, 0x48, 0x05, 0x21, 0x00, 0x88,
+0x40, 0x42, 0x00, 0xB2, 0x15, 0x90, 0x2B, 0x48,
+0xFF, 0xF7, 0xFF, 0xFC, 0x00, 0x24, 0xE0, 0x17,
+0x40, 0x0F, 0x00, 0x19, 0xC1, 0x10, 0x27, 0x4A,
+0x14, 0x91, 0x19, 0x3A, 0x89, 0x18, 0xC0, 0x08,
+0xC0, 0x00, 0x09, 0x78, 0x20, 0x1A, 0x01, 0x27,
+0x87, 0x40, 0x39, 0x42, 0x27, 0xD0, 0x60, 0x00,
+0x21, 0x49, 0x13, 0x90, 0x0E, 0x5E, 0x01, 0xA9,
+0x08, 0x5A, 0x32, 0x46, 0x30, 0x1A, 0x05, 0xB2,
+0xAB, 0x19, 0x29, 0x46, 0x1D, 0xA0, 0x03, 0xF0,
+0xDB, 0xFF, 0x15, 0x98, 0x85, 0x42, 0x16, 0xDA,
+0x13, 0x98, 0x00, 0x95, 0x01, 0xA9, 0x0A, 0x5E,
+0x33, 0x46, 0x21, 0x46, 0x22, 0xA0, 0x03, 0xF0,
+0xCF, 0xFF, 0x28, 0x4B, 0xA0, 0x00, 0x19, 0x58,
+0x80, 0x22, 0x11, 0x43, 0x19, 0x50, 0x11, 0x49,
+0x14, 0x98, 0x40, 0x18, 0x01, 0x78, 0x39, 0x43,
+0x01, 0x70, 0x01, 0x20, 0x00, 0x90, 0x64, 0x1C,
+0x28, 0x2C, 0xC4, 0xD3, 0x00, 0x98, 0x00, 0x28,
+0x0B, 0xD0, 0x1F, 0xA0, 0x03, 0xF0, 0xB8, 0xFF,
+0x08, 0x49, 0x80, 0x22, 0x29, 0x39, 0xC8, 0x68,
+0x10, 0x43, 0xC8, 0x60, 0x00, 0x98, 0x17, 0xB0,
+0xF0, 0xBD, 0x1D, 0xA0, 0x03, 0xF0, 0xAC, 0xFF,
+0xF8, 0xE7, 0x00, 0x00, 0x90, 0x59, 0x00, 0x00,
+0x7A, 0x08, 0x00, 0x20, 0x71, 0x00, 0x00, 0x20,
+0x64, 0x07, 0x00, 0x20, 0x69, 0x31, 0x36, 0x5F,
+0x63, 0x63, 0x20, 0x28, 0x25, 0x64, 0x29, 0x20,
+0x3D, 0x20, 0x69, 0x31, 0x36, 0x5F, 0x74, 0x6D,
+0x70, 0x28, 0x25, 0x64, 0x29, 0x20, 0x2D, 0x20,
+0x69, 0x31, 0x36, 0x5F, 0x63, 0x63, 0x28, 0x25,
+0x64, 0x29, 0x0D, 0x0A, 0x00, 0x00, 0x00, 0x00,
+0x43, 0x62, 0x20, 0x4E, 0x47, 0x20, 0x43, 0x43,
+0x20, 0x5B, 0x25, 0x64, 0x5D, 0x20, 0x25, 0x64,
+0x20, 0x2D, 0x20, 0x25, 0x64, 0x3D, 0x25, 0x64,
+0x0D, 0x0A, 0x00, 0x00, 0x80, 0x08, 0x00, 0x20,
+0x43, 0x62, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20,
+0x5B, 0x4E, 0x47, 0x5D, 0x0D, 0x0A, 0x00, 0x00,
+0x43, 0x62, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20,
+0x5B, 0x50, 0x61, 0x73, 0x73, 0x5D, 0x0D, 0x0A,
+0x00, 0x00, 0x00, 0x00, 0x70, 0xB5, 0x2C, 0x4D,
+0x2A, 0x4C, 0x68, 0x78, 0x00, 0x06, 0x44, 0xD5,
+0x68, 0x78, 0x40, 0x06, 0x40, 0x0E, 0x68, 0x70,
+0x69, 0x78, 0x28, 0x48, 0x10, 0x39, 0x0B, 0x00,
+0xFF, 0xF7, 0xA0, 0xFC, 0x05, 0x04, 0x06, 0x1B,
+0x1D, 0x1F, 0x08, 0x00, 0x07, 0x21, 0x00, 0xE0,
+0x01, 0x21, 0x01, 0x70, 0xE8, 0x78, 0xAA, 0x78,
+0x01, 0x02, 0x21, 0x48, 0x11, 0x43, 0x01, 0x70,
+0xE9, 0x78, 0xAA, 0x78, 0x09, 0x02, 0x11, 0x43,
+0x09, 0x0A, 0x41, 0x70, 0x69, 0x79, 0x2A, 0x79,
+0x09, 0x02, 0x11, 0x43, 0x09, 0x0A, 0x81, 0x70,
+0x08, 0xE0, 0x02, 0x21, 0xE9, 0xE7, 0x03, 0x21,
+0xE7, 0xE7, 0x05, 0x21, 0xE5, 0xE7, 0x01, 0x20,
+0x03, 0xF0, 0x14, 0xFA, 0x01, 0xF0, 0x76, 0xFB,
+0x00, 0x28, 0x04, 0xD1, 0x20, 0x46, 0x64, 0x1E,
+0xA4, 0xB2, 0x00, 0x28, 0xF3, 0xD1, 0x01, 0xF0,
+0x6D, 0xFB, 0x00, 0x28, 0x0A, 0xD0, 0x00, 0x20,
+0x00, 0xF0, 0xE4, 0xFF, 0x68, 0x78, 0x14, 0x28,
+0x03, 0xD1, 0x94, 0x20, 0x28, 0x71, 0x00, 0x20,
+0x68, 0x71, 0x70, 0xBD, 0x68, 0x79, 0x29, 0x79,
+0x00, 0x02, 0x08, 0x43, 0xBB, 0x21, 0x08, 0x43,
+0x28, 0x71, 0x00, 0x0A, 0x68, 0x71, 0x01, 0x20,
+0xEA, 0xE7, 0x00, 0x00, 0x50, 0xC3, 0x00, 0x00,
+0x88, 0x02, 0x00, 0x20, 0x76, 0x08, 0x00, 0x20,
+0x48, 0x00, 0x00, 0x20, 0x70, 0xB5, 0x16, 0x49,
+0x02, 0x20, 0x08, 0x70, 0x48, 0x21, 0x15, 0x48,
+0xFF, 0xF7, 0x07, 0xFC, 0x48, 0x21, 0x14, 0x48,
+0xFF, 0xF7, 0x03, 0xFC, 0x11, 0x4C, 0x00, 0x20,
+0x12, 0x49, 0x48, 0x34, 0x42, 0x00, 0x40, 0x1C,
+0xC0, 0xB2, 0xA1, 0x52, 0x24, 0x28, 0xF9, 0xD3,
+0x01, 0x21, 0x08, 0x46, 0x01, 0xF0, 0xB6, 0xF9,
+0x3F, 0x22, 0x11, 0x46, 0x64, 0x20, 0x00, 0xF0,
+0x17, 0xF8, 0x08, 0x4A, 0x08, 0x4B, 0x00, 0x20,
+0x41, 0x00, 0x55, 0x5A, 0x66, 0x5A, 0x40, 0x1C,
+0xAD, 0x1B, 0xC0, 0xB2, 0x5D, 0x52, 0x24, 0x28,
+0xF6, 0xD3, 0x01, 0x20, 0x70, 0xBD, 0x00, 0x00,
+0x48, 0x00, 0x00, 0x20, 0xE2, 0x02, 0x00, 0x20,
+0xAC, 0x07, 0x00, 0x20, 0xFF, 0x7F, 0x00, 0x00,
+0xF7, 0xB5, 0xA6, 0xB0, 0x90, 0x21, 0x01, 0xA8,
+0xFF, 0xF7, 0xD3, 0xFB, 0x33, 0x48, 0x00, 0x78,
+0x02, 0x28, 0x02, 0xD2, 0x31, 0x48, 0x02, 0x21,
+0x01, 0x70, 0x00, 0x26, 0x57, 0xE0, 0x02, 0xF0,
+0xD5, 0xFD, 0x01, 0xF0, 0xE7, 0xF8, 0x00, 0x24,
+0x29, 0xE0, 0x02, 0xF0, 0x05, 0xFE, 0x01, 0xF0,
+0x91, 0xF8, 0x2B, 0x48, 0x48, 0x22, 0x01, 0x68,
+0x2A, 0x48, 0xFF, 0xF7, 0xA1, 0xFB, 0x2A, 0x49,
+0x28, 0x4D, 0x0A, 0x68, 0x00, 0x20, 0x41, 0x00,
+0x6B, 0x5A, 0x57, 0x5A, 0x40, 0x1C, 0xDB, 0x1B,
+0xC0, 0xB2, 0x6B, 0x52, 0x24, 0x28, 0xF6, 0xD3,
+0x22, 0x48, 0xFF, 0xF7, 0x49, 0xFC, 0x00, 0x20,
+0x01, 0xAF, 0x81, 0x00, 0x43, 0x00, 0x7A, 0x58,
+0xEB, 0x5E, 0x40, 0x1C, 0xD2, 0x18, 0x80, 0xB2,
+0x7A, 0x50, 0x24, 0x28, 0xF5, 0xD3, 0x01, 0xF0,
+0xFD, 0xFA, 0x64, 0x1C, 0xE4, 0xB2, 0x17, 0x48,
+0x00, 0x78, 0x00, 0x90, 0x84, 0x42, 0xD0, 0xD3,
+0x00, 0x24, 0x01, 0xAF, 0xA5, 0x00, 0x78, 0x59,
+0x00, 0x99, 0xFF, 0xF7, 0x61, 0xFB, 0x02, 0xB2,
+0x14, 0x49, 0x60, 0x00, 0x14, 0x4B, 0x0A, 0x52,
+0x1B, 0x5E, 0x9A, 0x42, 0x03, 0xDD, 0x91, 0xB2,
+0x11, 0x4A, 0x11, 0x52, 0x07, 0xE0, 0x10, 0x49,
+0x48, 0x31, 0x0B, 0x5E, 0x9A, 0x42, 0x02, 0xDA,
+0x0C, 0x4A, 0x12, 0x5A, 0x0A, 0x52, 0x00, 0x20,
+0x64, 0x1C, 0xA4, 0xB2, 0x78, 0x51, 0x24, 0x2C,
+0xE0, 0xD3, 0x76, 0x1C, 0x36, 0xB2, 0x26, 0x98,
+0x86, 0x42, 0xA4, 0xDB, 0x02, 0xF0, 0x7A, 0xFD,
+0x29, 0xB0, 0xF0, 0xBD, 0x48, 0x00, 0x00, 0x20,
+0x28, 0x00, 0x00, 0x20, 0x38, 0x05, 0x00, 0x20,
+0x08, 0x00, 0x00, 0x20, 0x9C, 0x01, 0x00, 0x20,
+0xE2, 0x02, 0x00, 0x20, 0xF0, 0xB5, 0xA5, 0xB0,
+0x0C, 0x46, 0x05, 0x46, 0x90, 0x21, 0x68, 0x46,
+0xFF, 0xF7, 0x57, 0xFB, 0x31, 0x4F, 0x38, 0x78,
+0x02, 0x28, 0x01, 0xD2, 0x02, 0x20, 0x38, 0x70,
+0x04, 0x2D, 0x00, 0xD2, 0x04, 0x25, 0x04, 0x2C,
+0x00, 0xD2, 0x04, 0x24, 0x2C, 0x48, 0x6D, 0x1C,
+0x01, 0x68, 0x0A, 0x46, 0x11, 0x31, 0xC8, 0x7B,
+0x89, 0x7B, 0x00, 0x02, 0x08, 0x43, 0x68, 0x43,
+0xC1, 0x17, 0x89, 0x0E, 0x08, 0x18, 0x11, 0x46,
+0x20, 0x31, 0x00, 0x04, 0x4A, 0x78, 0x80, 0x0D,
+0x12, 0x04, 0x10, 0x43, 0x23, 0x4A, 0x50, 0x62,
+0xC8, 0x78, 0x8B, 0x78, 0x00, 0x02, 0x18, 0x43,
+0x64, 0x1C, 0x60, 0x43, 0xC3, 0x17, 0x9B, 0x0E,
+0x18, 0x18, 0x4B, 0x79, 0x0C, 0x79, 0x19, 0x02,
+0x21, 0x43, 0x00, 0x04, 0x89, 0x05, 0x80, 0x0D,
+0x89, 0x09, 0x08, 0x43, 0x90, 0x62, 0x01, 0xF0,
+0x41, 0xF8, 0x00, 0x24, 0x6D, 0x46, 0x14, 0xE0,
+0x02, 0xF0, 0x5E, 0xFD, 0x00, 0xF0, 0xEA, 0xFF,
+0x15, 0x49, 0x00, 0x20, 0x0A, 0x68, 0x81, 0x00,
+0x46, 0x00, 0x6B, 0x58, 0x96, 0x5F, 0x40, 0x1C,
+0x9B, 0x19, 0x80, 0xB2, 0x6B, 0x50, 0x24, 0x28,
+0xF5, 0xD3, 0x01, 0xF0, 0x6B, 0xFA, 0x64, 0x1C,
+0xE4, 0xB2, 0x38, 0x78, 0x84, 0x42, 0xE7, 0xD3,
+0x02, 0xF0, 0x10, 0xFD, 0x0B, 0x4E, 0x3F, 0x78,
+0x00, 0x24, 0xA0, 0x00, 0x28, 0x58, 0x39, 0x46,
+0xFF, 0xF7, 0xCE, 0xFA, 0x61, 0x00, 0x64, 0x1C,
+0xA4, 0xB2, 0x70, 0x52, 0x24, 0x2C, 0xF4, 0xD3,
+0x25, 0xB0, 0xF0, 0xBD, 0x48, 0x00, 0x00, 0x20,
+0xD0, 0x00, 0x00, 0x20, 0x00, 0x10, 0x00, 0x50,
+0x28, 0x00, 0x00, 0x20, 0x9C, 0x01, 0x00, 0x20,
+0xF1, 0xB5, 0x00, 0x27, 0x1E, 0x49, 0x82, 0xB0,
+0xC8, 0x5F, 0x3C, 0x46, 0x00, 0x90, 0xE5, 0x08,
+0x1C, 0x48, 0x61, 0x07, 0x40, 0x5D, 0x49, 0x0F,
+0x01, 0x26, 0x8E, 0x40, 0x30, 0x42, 0x19, 0xD0,
+0x19, 0x48, 0x61, 0x00, 0x42, 0x5E, 0x00, 0x98,
+0x82, 0x42, 0x13, 0xDD, 0x03, 0x46, 0x21, 0x46,
+0x16, 0xA0, 0x03, 0xF0, 0xC9, 0xFD, 0x02, 0x98,
+0x00, 0x28, 0x05, 0xD0, 0x1A, 0x4A, 0xA0, 0x00,
+0x11, 0x58, 0x10, 0x23, 0x19, 0x43, 0x11, 0x50,
+0x0E, 0x49, 0x14, 0x31, 0x48, 0x5D, 0x30, 0x43,
+0x48, 0x55, 0x01, 0x27, 0x64, 0x1C, 0xE4, 0xB2,
+0x28, 0x2C, 0xD8, 0xD3, 0x00, 0x2F, 0x0A, 0xD0,
+0x12, 0xA0, 0x03, 0xF0, 0xB1, 0xFD, 0x07, 0x49,
+0x20, 0x22, 0x10, 0x39, 0xC8, 0x68, 0x10, 0x43,
+0xC8, 0x60, 0x38, 0x46, 0xFE, 0xBD, 0x13, 0xA0,
+0x03, 0xF0, 0xA6, 0xFD, 0xF9, 0xE7, 0x00, 0x00,
+0x28, 0x08, 0x00, 0x20, 0x58, 0x00, 0x00, 0x20,
+0xAC, 0x07, 0x00, 0x20, 0x50, 0x69, 0x6E, 0x20,
+0x25, 0x64, 0x2C, 0x20, 0x4E, 0x6F, 0x69, 0x73,
+0x65, 0x3D, 0x25, 0x64, 0x5B, 0x54, 0x48, 0x44,
+0x3D, 0x25, 0x64, 0x5D, 0x0D, 0x0A, 0x00, 0x00,
+0x80, 0x08, 0x00, 0x20, 0x4E, 0x6F, 0x69, 0x73,
+0x65, 0x20, 0x44, 0x65, 0x6C, 0x74, 0x61, 0x20,
+0x54, 0x65, 0x73, 0x74, 0x20, 0x5B, 0x4E, 0x47,
+0x5D, 0x0D, 0x0A, 0x00, 0x4E, 0x6F, 0x69, 0x73,
+0x65, 0x20, 0x44, 0x65, 0x6C, 0x74, 0x61, 0x20,
+0x54, 0x65, 0x73, 0x74, 0x20, 0x5B, 0x50, 0x61,
+0x73, 0x73, 0x5D, 0x0D, 0x0A, 0x00, 0x00, 0x00,
+0x08, 0xB5, 0x08, 0x49, 0x67, 0x20, 0x48, 0x70,
+0x07, 0x4A, 0x01, 0x21, 0x11, 0x70, 0x07, 0x4A,
+0x00, 0x21, 0x11, 0x70, 0x01, 0x22, 0x0B, 0x46,
+0x00, 0x90, 0x11, 0x46, 0x10, 0x46, 0x02, 0xF0,
+0xB1, 0xF8, 0x08, 0xBD, 0x48, 0x00, 0x00, 0x20,
+0x7B, 0x00, 0x00, 0x20, 0xB9, 0x00, 0x00, 0x20,
+0x70, 0xB5, 0x05, 0x46, 0x0C, 0x46, 0x06, 0x48,
+0x04, 0x99, 0x02, 0x70, 0x18, 0x46, 0xFF, 0xF7,
+0xF9, 0xFE, 0x04, 0x49, 0x60, 0x00, 0x09, 0x5A,
+0x29, 0x52, 0x01, 0x20, 0x70, 0xBD, 0x00, 0x00,
+0x48, 0x00, 0x00, 0x20, 0x9C, 0x01, 0x00, 0x20,
+0x06, 0x4A, 0x00, 0x21, 0x13, 0x68, 0x5B, 0x18,
+0x20, 0x33, 0x5B, 0x7C, 0x43, 0x54, 0x49, 0x1C,
+0xC9, 0xB2, 0x24, 0x29, 0xF6, 0xD3, 0x01, 0x20,
+0x70, 0x47, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x20,
+0x01, 0x20, 0x80, 0x07, 0x01, 0x68, 0x01, 0x43,
+0x01, 0x60, 0x70, 0x47, 0x03, 0x49, 0x4A, 0x68,
+0xD2, 0x09, 0xD2, 0x01, 0x02, 0x43, 0x4A, 0x60,
+0x70, 0x47, 0x00, 0x00, 0x40, 0x09, 0x00, 0x50,
+0x70, 0x47, 0x00, 0x00, 0x03, 0x49, 0x02, 0x20,
+0x08, 0x60, 0x02, 0x49, 0x80, 0x39, 0x08, 0x60,
+0x70, 0x47, 0x00, 0x00, 0x80, 0xE1, 0x00, 0xE0,
+0xF1, 0xB5, 0x20, 0x49, 0x00, 0x27, 0x82, 0xB0,
+0xC8, 0x5F, 0x00, 0x90, 0x1E, 0x48, 0x3C, 0x46,
+0x07, 0x60, 0x07, 0x71, 0x1C, 0x48, 0xE5, 0x08,
+0x14, 0x38, 0x61, 0x07, 0x40, 0x5D, 0x49, 0x0F,
+0x01, 0x26, 0x8E, 0x40, 0x30, 0x42, 0x18, 0xD0,
+0x18, 0x48, 0x61, 0x00, 0x42, 0x5E, 0x00, 0x98,
+0x82, 0x42, 0x12, 0xDD, 0x03, 0x46, 0x21, 0x46,
+0x15, 0xA0, 0x03, 0xF0, 0xFD, 0xFC, 0x02, 0x98,
+0x00, 0x28, 0x05, 0xD0, 0x19, 0x4A, 0xA0, 0x00,
+0x11, 0x58, 0x10, 0x23, 0x19, 0x43, 0x11, 0x50,
+0x0D, 0x48, 0x41, 0x5D, 0x31, 0x43, 0x41, 0x55,
+0x01, 0x27, 0x64, 0x1C, 0xE4, 0xB2, 0x28, 0x2C,
+0xD8, 0xD3, 0x00, 0x2F, 0x0A, 0xD0, 0x12, 0xA0,
+0x03, 0xF0, 0xE6, 0xFC, 0x06, 0x49, 0x20, 0x22,
+0x24, 0x39, 0xC8, 0x68, 0x10, 0x43, 0xC8, 0x60,
+0x38, 0x46, 0xFE, 0xBD, 0x11, 0xA0, 0x03, 0xF0,
+0xDB, 0xFC, 0xF9, 0xE7, 0x22, 0x08, 0x00, 0x20,
+0x6C, 0x00, 0x00, 0x20, 0xAC, 0x07, 0x00, 0x20,
+0x50, 0x69, 0x6E, 0x20, 0x25, 0x64, 0x2C, 0x20,
+0x4E, 0x6F, 0x69, 0x73, 0x65, 0x3D, 0x25, 0x64,
+0x5B, 0x54, 0x48, 0x44, 0x3D, 0x25, 0x64, 0x5D,
+0x0D, 0x0A, 0x00, 0x00, 0x80, 0x08, 0x00, 0x20,
+0x4E, 0x6F, 0x69, 0x73, 0x65, 0x20, 0x54, 0x65,
+0x73, 0x74, 0x20, 0x5B, 0x4E, 0x47, 0x5D, 0x0D,
+0x0A, 0x00, 0x00, 0x00, 0x4E, 0x6F, 0x69, 0x73,
+0x65, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x5B,
+0x50, 0x61, 0x73, 0x73, 0x5D, 0x0D, 0x0A, 0x00,
+0xF1, 0xB5, 0x23, 0x49, 0x00, 0x25, 0x48, 0x5F,
+0x82, 0xB0, 0x01, 0x46, 0x00, 0x90, 0x21, 0xA0,
+0x03, 0xF0, 0xA6, 0xFC, 0x00, 0x24, 0xE0, 0x17,
+0x40, 0x0F, 0x00, 0x19, 0xC6, 0x10, 0x27, 0x49,
+0xC0, 0x08, 0x71, 0x18, 0xC0, 0x00, 0x09, 0x78,
+0x20, 0x1A, 0x01, 0x27, 0x87, 0x40, 0x39, 0x42,
+0x19, 0xD0, 0x23, 0x49, 0x60, 0x00, 0x0A, 0x5E,
+0x00, 0x98, 0x82, 0x42, 0x13, 0xDA, 0x21, 0x46,
+0x20, 0xA0, 0x03, 0xF0, 0x8D, 0xFC, 0x02, 0x98,
+0x00, 0x28, 0x0B, 0xD0, 0x26, 0x4A, 0xA0, 0x00,
+0x11, 0x58, 0x04, 0x23, 0x19, 0x43, 0x11, 0x50,
+0x18, 0x48, 0x40, 0x1D, 0x30, 0x18, 0x01, 0x78,
+0x39, 0x43, 0x01, 0x70, 0x01, 0x25, 0x64, 0x1C,
+0x28, 0x2C, 0xD4, 0xD3, 0x00, 0x2D, 0x0A, 0xD0,
+0x1E, 0xA0, 0x03, 0xF0, 0x75, 0xFC, 0x11, 0x48,
+0x01, 0x22, 0x10, 0x38, 0xC1, 0x68, 0x11, 0x43,
+0xC1, 0x60, 0x28, 0x46, 0xFE, 0xBD, 0x1F, 0xA0,
+0x03, 0xF0, 0x6A, 0xFC, 0xF9, 0xE7, 0x00, 0x00,
+0x78, 0x08, 0x00, 0x20, 0x2A, 0x2A, 0x53, 0x74,
+0x61, 0x72, 0x74, 0x20, 0x42, 0x61, 0x73, 0x65,
+0x6C, 0x69, 0x6E, 0x65, 0x20, 0x54, 0x65, 0x73,
+0x74, 0x2C, 0x20, 0x4C, 0x6F, 0x77, 0x20, 0x54,
+0x48, 0x44, 0x3D, 0x25, 0x64, 0x2A, 0x2A, 0x0D,
+0x0A, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x20,
+0x1C, 0x07, 0x00, 0x20, 0x42, 0x61, 0x73, 0x65,
+0x6C, 0x69, 0x6E, 0x65, 0x20, 0x4E, 0x47, 0x20,
+0x44, 0x61, 0x74, 0x61, 0x20, 0x43, 0x61, 0x73,
+0x65, 0x31, 0x5B, 0x44, 0x25, 0x64, 0x5D, 0x20,
+0x3D, 0x25, 0x64, 0x0D, 0x0A, 0x00, 0x00, 0x00,
+0x80, 0x08, 0x00, 0x20, 0x42, 0x61, 0x73, 0x65,
+0x6C, 0x69, 0x6E, 0x65, 0x20, 0x54, 0x65, 0x73,
+0x74, 0x20, 0x5B, 0x4E, 0x47, 0x5D, 0x0D, 0x0A,
+0x00, 0x00, 0x00, 0x00, 0x42, 0x61, 0x73, 0x65,
+0x6C, 0x69, 0x6E, 0x65, 0x20, 0x54, 0x65, 0x73,
+0x74, 0x20, 0x5B, 0x50, 0x61, 0x73, 0x73, 0x5D,
+0x0D, 0x0A, 0x00, 0x00, 0xF8, 0xB5, 0x2C, 0x48,
+0x2A, 0x4D, 0xC1, 0x68, 0x89, 0x0C, 0x89, 0x04,
+0xC1, 0x60, 0x01, 0x69, 0x89, 0x0C, 0x89, 0x04,
+0x01, 0x61, 0x28, 0x4E, 0x00, 0x20, 0x31, 0x68,
+0x07, 0x46, 0x82, 0x00, 0x8F, 0x50, 0x40, 0x1C,
+0x12, 0x28, 0xFA, 0xDB, 0x00, 0x24, 0xE0, 0x17,
+0x40, 0x0F, 0x00, 0x19, 0xC2, 0x10, 0x22, 0x49,
+0xC0, 0x08, 0x51, 0x18, 0xC0, 0x00, 0x22, 0x1A,
+0x09, 0x78, 0x01, 0x20, 0x90, 0x40, 0x01, 0x42,
+0x2F, 0xD0, 0x20, 0x46, 0x02, 0xF0, 0x8E, 0xFF,
+0xE0, 0x07, 0x03, 0xD0, 0x60, 0x00, 0x28, 0x5A,
+0x00, 0x04, 0x01, 0xE0, 0x60, 0x00, 0x28, 0x5A,
+0xE1, 0x0F, 0x09, 0x19, 0x49, 0x10, 0x32, 0x68,
+0x89, 0x00, 0x89, 0x18, 0x08, 0x60, 0xFC, 0x20,
+0x03, 0x46, 0x00, 0x90, 0x12, 0x48, 0xE1, 0xB2,
+0x10, 0x38, 0x02, 0x79, 0x11, 0x48, 0xFF, 0xF7,
+0x87, 0xFE, 0x53, 0x20, 0x00, 0x90, 0x0E, 0x48,
+0xE1, 0xB2, 0x10, 0x38, 0x02, 0x79, 0x0D, 0x23,
+0x0D, 0x48, 0xFF, 0xF7, 0x7D, 0xFE, 0xE0, 0x0F,
+0x00, 0x19, 0x40, 0x10, 0x31, 0x68, 0x80, 0x00,
+0x40, 0x18, 0x07, 0x60, 0x20, 0x46, 0xFF, 0xF7,
+0x61, 0xF9, 0x64, 0x1C, 0x28, 0x2C, 0xBE, 0xD3,
+0x01, 0x20, 0xF8, 0xBD, 0xD4, 0x06, 0x00, 0x20,
+0x80, 0x10, 0x00, 0x50, 0x10, 0x00, 0x00, 0x20,
+0x58, 0x00, 0x00, 0x20, 0x44, 0x06, 0x00, 0x20,
+0x8C, 0x06, 0x00, 0x20, 0x01, 0x20, 0x80, 0x07,
+0x02, 0x68, 0x41, 0x15, 0x0A, 0x43, 0x02, 0x60,
+0xC3, 0x68, 0xC2, 0x14, 0x13, 0x43, 0xC3, 0x60,
+0x41, 0x60, 0x7D, 0x21, 0x03, 0x48, 0xC9, 0x00,
+0x41, 0x60, 0x03, 0x49, 0x01, 0x60, 0x03, 0x48,
+0x02, 0x60, 0x70, 0x47, 0x00, 0x03, 0x00, 0x50,
+0x11, 0x00, 0x01, 0x48, 0x00, 0xE1, 0x00, 0xE0,
+0x01, 0x20, 0x80, 0x07, 0x81, 0x68, 0x01, 0x22,
+0x11, 0x43, 0x81, 0x60, 0x70, 0x47, 0x00, 0x00,
+0x05, 0x48, 0x41, 0x68, 0x49, 0x1C, 0x41, 0x60,
+0x01, 0x20, 0x80, 0x07, 0x01, 0x6A, 0xC2, 0x13,
+0x11, 0x43, 0x01, 0x62, 0x70, 0x47, 0x00, 0x00,
+0x3C, 0x00, 0x00, 0x20, 0x04, 0x48, 0x00, 0x68,
+0xA0, 0x30, 0x01, 0x78, 0x03, 0x48, 0x01, 0x61,
+0x04, 0x21, 0x41, 0x61, 0x70, 0x47, 0x00, 0x00,
+0xD0, 0x00, 0x00, 0x20, 0x40, 0x07, 0x00, 0x50,
+0x10, 0xB5, 0x0E, 0x48, 0x0F, 0x4C, 0x01, 0x78,
+0x0D, 0x48, 0x00, 0x29, 0x00, 0x68, 0x00, 0x7F,
+0x0B, 0xD0, 0x0D, 0x49, 0x09, 0x78, 0x01, 0x29,
+0x09, 0xD0, 0xC0, 0x21, 0x48, 0x43, 0x30, 0x21,
+0xFF, 0xF7, 0x30, 0xF8, 0x22, 0x21, 0x48, 0x43,
+0x40, 0x09, 0x20, 0x60, 0x10, 0xBD, 0xC0, 0x21,
+0x48, 0x43, 0x30, 0x21, 0xFF, 0xF7, 0x26, 0xF8,
+0x24, 0x21, 0xF4, 0xE7, 0xBA, 0x00, 0x00, 0x20,
+0xD0, 0x00, 0x00, 0x20, 0x40, 0x07, 0x00, 0x50,
+0x85, 0x00, 0x00, 0x20, 0x70, 0x47, 0x00, 0x00,
+0x70, 0xB5, 0x11, 0x48, 0x11, 0x4C, 0x00, 0x68,
+0x81, 0x7E, 0x02, 0x46, 0x61, 0x71, 0x21, 0x32,
+0x53, 0x7B, 0x15, 0x7B, 0x1A, 0x02, 0x2A, 0x43,
+0x22, 0x81, 0x20, 0x30, 0xC2, 0x7B, 0xA2, 0x71,
+0x00, 0x7C, 0xE0, 0x71, 0x0A, 0xA0, 0x03, 0xF0,
+0x43, 0xFB, 0x21, 0x89, 0x0D, 0xA0, 0x03, 0xF0,
+0x3F, 0xFB, 0xA1, 0x79, 0x10, 0xA0, 0x03, 0xF0,
+0x3B, 0xFB, 0xE1, 0x79, 0x11, 0xA0, 0x03, 0xF0,
+0x37, 0xFB, 0x01, 0x20, 0x70, 0xBD, 0x00, 0x00,
+0xD0, 0x00, 0x00, 0x20, 0x48, 0x00, 0x00, 0x20,
+0x48, 0x59, 0x42, 0x52, 0x49, 0x44, 0x20, 0x4E,
+0x55, 0x4D, 0x20, 0x53, 0x46, 0x3D, 0x25, 0x64,
+0x0D, 0x0A, 0x00, 0x00, 0x43, 0x6F, 0x6D, 0x70,
+0x2E, 0x20, 0x4E, 0x55, 0x4D, 0x20, 0x53, 0x46,
+0x3D, 0x25, 0x64, 0x0D, 0x0A, 0x00, 0x00, 0x00,
+0x43, 0x46, 0x42, 0x20, 0x53, 0x46, 0x3D, 0x25,
+0x64, 0x0D, 0x0A, 0x00, 0x48, 0x6C, 0x69, 0x6E,
+0x65, 0x20, 0x52, 0x50, 0x54, 0x20, 0x53, 0x46,
+0x3D, 0x25, 0x64, 0x0D, 0x0A, 0x00, 0x00, 0x00,
+0x70, 0xB5, 0x19, 0x49, 0x17, 0x4D, 0x0C, 0x68,
+0x81, 0x34, 0x61, 0x78, 0x23, 0x78, 0x0A, 0x02,
+0x1A, 0x43, 0x29, 0x68, 0x00, 0x28, 0x10, 0xD0,
+0x49, 0x1C, 0x50, 0x01, 0xFE, 0xF7, 0xBE, 0xFF,
+0x00, 0x04, 0xE8, 0x60, 0x29, 0x68, 0x60, 0x78,
+0x22, 0x78, 0x00, 0x02, 0x10, 0x43, 0x49, 0x1C,
+0x42, 0x00, 0x80, 0x18, 0x40, 0x08, 0x00, 0x01,
+0x0E, 0xE0, 0xA0, 0x20, 0x49, 0x1C, 0x50, 0x43,
+0xFE, 0xF7, 0xAC, 0xFF, 0x00, 0x04, 0xE8, 0x60,
+0x29, 0x68, 0x60, 0x78, 0x22, 0x78, 0x00, 0x02,
+0x10, 0x43, 0x90, 0x22, 0x49, 0x1C, 0x50, 0x43,
+0xFE, 0xF7, 0xA0, 0xFF, 0xE9, 0x68, 0x08, 0x43,
+0xE8, 0x60, 0x70, 0xBD, 0x40, 0x07, 0x00, 0x50,
+0xD0, 0x00, 0x00, 0x20, 0x11, 0x49, 0x04, 0x22,
+0x0C, 0x28, 0x10, 0xD0, 0x8B, 0x05, 0x0D, 0x28,
+0x08, 0x6A, 0x10, 0xD0, 0x18, 0x43, 0x08, 0x62,
+0x88, 0x6A, 0x10, 0x43, 0x88, 0x62, 0xC8, 0x68,
+0xC8, 0x60, 0x88, 0x6A, 0x88, 0x62, 0x0A, 0x49,
+0x01, 0x20, 0x08, 0x70, 0x70, 0x47, 0x08, 0x6A,
+0x40, 0x00, 0x40, 0x08, 0x00, 0xE0, 0x18, 0x43,
+0x08, 0x62, 0x88, 0x6A, 0x90, 0x43, 0x88, 0x62,
+0xC8, 0x68, 0xC8, 0x60, 0x88, 0x6A, 0x88, 0x62,
+0x70, 0x47, 0x00, 0x00, 0x00, 0x06, 0x00, 0x50,
+0x3B, 0x00, 0x00, 0x20, 0x00, 0xB5, 0x08, 0x49,
+0x0A, 0x28, 0x05, 0xD0, 0x07, 0x48, 0x00, 0x0C,
+0x48, 0x63, 0x07, 0x48, 0x08, 0x63, 0x00, 0xBD,
+0x06, 0x48, 0x00, 0x68, 0x08, 0x62, 0x0D, 0x20,
+0xFF, 0xF7, 0xC8, 0xFF, 0x00, 0xBD, 0x00, 0x00,
+0x00, 0x06, 0x00, 0x50, 0xBC, 0x02, 0x00, 0x20,
+0xCC, 0x02, 0x00, 0x20, 0xC0, 0x02, 0x00, 0x20,
+0x01, 0x21, 0x89, 0x07, 0x48, 0x60, 0x70, 0x47,
+0x00, 0x00, 0x00, 0x00, 0x03, 0x48, 0x01, 0x68,
+0x49, 0x1C, 0x01, 0x60, 0x02, 0x49, 0x01, 0x20,
+0xC8, 0x62, 0x70, 0x47, 0x20, 0x00, 0x00, 0x20,
+0x00, 0x03, 0x00, 0x50, 0xF1, 0xB5, 0x45, 0x48,
+0x45, 0x4F, 0x06, 0x68, 0x03, 0x25, 0x45, 0x48,
+0x01, 0x68, 0x45, 0xA0, 0x03, 0xF0, 0x78, 0xFA,
+0x4B, 0x4A, 0x50, 0x69, 0x80, 0x09, 0x80, 0x01,
+0x10, 0x30, 0x50, 0x61, 0x48, 0x49, 0x80, 0x39,
+0x48, 0x6A, 0x80, 0x0A, 0x80, 0x02, 0x1F, 0x30,
+0x48, 0x62, 0x88, 0x6A, 0x80, 0x0A, 0x80, 0x02,
+0x1F, 0x30, 0x88, 0x62, 0x08, 0x69, 0x40, 0x0A,
+0x40, 0x02, 0x40, 0x1D, 0x08, 0x61, 0x40, 0x48,
+0x40, 0x38, 0xC3, 0x68, 0x1B, 0x0C, 0x1B, 0x04,
+0x3C, 0x33, 0xC3, 0x60, 0x43, 0x6A, 0x0F, 0x24,
+0x24, 0x03, 0xA3, 0x43, 0xC4, 0x13, 0x1B, 0x19,
+0x43, 0x62, 0x3A, 0x4B, 0xCB, 0x60, 0x41, 0x68,
+0xFF, 0x23, 0x1B, 0x02, 0x99, 0x43, 0xFF, 0x31,
+0xFF, 0x31, 0x02, 0x31, 0x41, 0x60, 0x01, 0x68,
+0x3F, 0x23, 0x19, 0x43, 0x01, 0x60, 0x41, 0x6B,
+0xC9, 0x0A, 0xC9, 0x02, 0x28, 0x31, 0x41, 0x63,
+0x81, 0x6B, 0xC9, 0x0A, 0xC9, 0x02, 0xF4, 0x31,
+0x81, 0x63, 0x03, 0x21, 0xC1, 0x62, 0xD0, 0x68,
+0x80, 0x0C, 0x80, 0x04, 0xD0, 0x60, 0x10, 0x69,
+0x80, 0x0C, 0x80, 0x04, 0x10, 0x61, 0x00, 0x24,
+0xE0, 0x17, 0x40, 0x0F, 0x00, 0x19, 0xC1, 0x10,
+0xC9, 0x19, 0xC0, 0x08, 0xC0, 0x00, 0x22, 0x1A,
+0x09, 0x78, 0x01, 0x20, 0x90, 0x40, 0x01, 0x42,
+0x11, 0xD0, 0x20, 0x46, 0x02, 0xF0, 0xB2, 0xFD,
+0x21, 0x46, 0x21, 0xA0, 0x03, 0xF0, 0x1C, 0xFA,
+0xFF, 0xF7, 0xA6, 0xFC, 0x00, 0x28, 0x10, 0xD0,
+0x60, 0x00, 0x00, 0x9A, 0x31, 0x5A, 0x11, 0x52,
+0x20, 0x46, 0xFE, 0xF7, 0xA3, 0xFF, 0x64, 0x1C,
+0x28, 0x2C, 0xDD, 0xD3, 0x0D, 0x48, 0x01, 0x68,
+0x1A, 0xA0, 0x03, 0xF0, 0x09, 0xFA, 0x01, 0x20,
+0xF8, 0xBD, 0x00, 0x2D, 0x07, 0xD0, 0x04, 0x20,
+0x6D, 0x1E, 0x01, 0x07, 0xED, 0xB2, 0x48, 0x60,
+0x01, 0xF0, 0xBC, 0xFE, 0x7F, 0xE7, 0x21, 0x46,
+0x19, 0xA0, 0x03, 0xF0, 0xF9, 0xF9, 0x00, 0x20,
+0xF8, 0xBD, 0x00, 0x00, 0x10, 0x00, 0x00, 0x20,
+0x58, 0x00, 0x00, 0x20, 0xAC, 0x00, 0x00, 0x20,
+0x4F, 0x70, 0x65, 0x6E, 0x53, 0x68, 0x6F, 0x72,
+0x74, 0x20, 0x43, 0x43, 0x20, 0x53, 0x74, 0x61,
+0x72, 0x74, 0x20, 0x54, 0x49, 0x43, 0x4B, 0x3D,
+0x25, 0x64, 0x0D, 0x0A, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x10, 0x00, 0x50, 0x02, 0x04, 0x04, 0x03,
+0x50, 0x69, 0x6E, 0x3D, 0x25, 0x64, 0x0D, 0x0A,
+0x00, 0x00, 0x00, 0x00, 0x4F, 0x70, 0x65, 0x6E,
+0x53, 0x68, 0x6F, 0x72, 0x74, 0x20, 0x43, 0x43,
+0x20, 0x45, 0x6E, 0x64, 0x20, 0x54, 0x49, 0x43,
+0x4B, 0x3D, 0x25, 0x64, 0x0D, 0x0A, 0x00, 0x00,
+0x53, 0x69, 0x6E, 0x67, 0x6C, 0x65, 0x20, 0x50,
+0x69, 0x6E, 0x5B, 0x25, 0x64, 0x5D, 0x20, 0x44,
+0x6F, 0x20, 0x43, 0x43, 0x20, 0x4E, 0x47, 0x0D,
+0x0A, 0x00, 0x00, 0x00, 0x30, 0xB5, 0x01, 0x21,
+0x89, 0x07, 0x08, 0x68, 0x10, 0x22, 0x10, 0x43,
+0x08, 0x60, 0xC8, 0x68, 0x08, 0x24, 0x20, 0x43,
+0xC8, 0x60, 0x1B, 0x48, 0x42, 0x22, 0x82, 0x60,
+0x02, 0x69, 0xC0, 0x23, 0x9A, 0x43, 0x02, 0x61,
+0x02, 0x69, 0x0F, 0x23, 0x1B, 0x02, 0x1A, 0x43,
+0x02, 0x61, 0x0B, 0x68, 0x8A, 0x15, 0x13, 0x43,
+0x0B, 0x60, 0x03, 0x69, 0x03, 0x61, 0x83, 0x6A,
+0x02, 0x25, 0x2B, 0x43, 0x83, 0x62, 0x0A, 0x23,
+0xC3, 0x62, 0x10, 0x4B, 0x03, 0x63, 0x10, 0x4B,
+0x1B, 0x0C, 0x43, 0x63, 0x0B, 0x68, 0x13, 0x43,
+0x0B, 0x60, 0x81, 0x68, 0xFF, 0x22, 0xBD, 0x32,
+0x11, 0x43, 0x81, 0x60, 0x01, 0x6A, 0x83, 0x05,
+0x19, 0x43, 0x01, 0x62, 0x82, 0x6A, 0x04, 0x21,
+0x8A, 0x43, 0x82, 0x62, 0x02, 0x6A, 0x1A, 0x43,
+0x02, 0x62, 0x82, 0x6A, 0x0A, 0x43, 0x82, 0x62,
+0x04, 0x48, 0x04, 0x60, 0x30, 0xBD, 0x00, 0x00,
+0x00, 0x06, 0x00, 0x50, 0xCC, 0x02, 0x00, 0x20,
+0xBC, 0x02, 0x00, 0x20, 0x00, 0xE1, 0x00, 0xE0,
+0x08, 0x49, 0x00, 0x20, 0x48, 0x60, 0x01, 0x20,
+0x80, 0x07, 0x02, 0x68, 0x41, 0x14, 0x0A, 0x43,
+0x02, 0x60, 0x05, 0x23, 0x04, 0x4A, 0x1B, 0x07,
+0x1A, 0x62, 0x42, 0x68, 0x0A, 0x43, 0x42, 0x60,
+0x70, 0x47, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x20,
+0xFF, 0x7F, 0x00, 0x00, 0x70, 0x47, 0x00, 0x00,
+0x10, 0xB5, 0x21, 0x4C, 0x39, 0x20, 0xFF, 0xF7,
+0x21, 0xFC, 0xFF, 0xF7, 0x97, 0xFF, 0x00, 0x20,
+0x10, 0x22, 0x03, 0x00, 0xFE, 0xF7, 0x92, 0xFE,
+0x0B, 0x07, 0x0A, 0x0E, 0x11, 0x14, 0x17, 0x1A,
+0x1D, 0x20, 0x23, 0x26, 0x29, 0x00, 0x19, 0x49,
+0x21, 0x80, 0x21, 0xE0, 0x17, 0x49, 0x09, 0x1D,
+0x61, 0x80, 0x1D, 0xE0, 0x16, 0x49, 0xA1, 0x80,
+0x1A, 0xE0, 0x16, 0x49, 0xE1, 0x80, 0x17, 0xE0,
+0x15, 0x49, 0x21, 0x81, 0x14, 0xE0, 0x15, 0x49,
+0x61, 0x81, 0x11, 0xE0, 0x14, 0x49, 0xA1, 0x81,
+0x0E, 0xE0, 0x14, 0x49, 0xE1, 0x81, 0x0B, 0xE0,
+0x13, 0x49, 0x21, 0x82, 0x08, 0xE0, 0x13, 0x49,
+0x61, 0x82, 0x05, 0xE0, 0x12, 0x49, 0xA1, 0x82,
+0x02, 0xE0, 0x12, 0x49, 0x43, 0x00, 0xE1, 0x52,
+0x40, 0x1C, 0x80, 0xB2, 0x0B, 0x28, 0xCC, 0xD3,
+0x01, 0x20, 0x80, 0x07, 0x42, 0x60, 0x0E, 0xA0,
+0x03, 0xF0, 0x16, 0xF9, 0x10, 0xBD, 0x00, 0x00,
+0xCC, 0x02, 0x00, 0x20, 0x90, 0x02, 0x00, 0x20,
+0x88, 0x02, 0x00, 0x20, 0xF4, 0x05, 0x00, 0x20,
+0xF0, 0x05, 0x00, 0x20, 0xF8, 0x05, 0x00, 0x20,
+0xFC, 0x05, 0x00, 0x20, 0xE8, 0x05, 0x00, 0x20,
+0xE4, 0x05, 0x00, 0x20, 0xC0, 0x02, 0x00, 0x20,
+0xBC, 0x02, 0x00, 0x20, 0xC4, 0x02, 0x00, 0x20,
+0x49, 0x32, 0x43, 0x20, 0x4F, 0x4B, 0x0D, 0x0A,
+0x00, 0x00, 0x00, 0x00, 0x03, 0x49, 0x8A, 0x68,
+0x01, 0x20, 0x80, 0x07, 0x02, 0x60, 0xC9, 0x68,
+0xC1, 0x60, 0x70, 0x47, 0x04, 0x06, 0x00, 0x20,
+0x01, 0x21, 0x89, 0x07, 0x04, 0x22, 0x00, 0x28,
+0x48, 0x69, 0x01, 0xD0, 0x10, 0x43, 0x0A, 0x15,
+0x90, 0x43, 0x48, 0x61, 0x70, 0x47, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x03, 0x48, 0x01, 0x68,
+0x49, 0x1C, 0x01, 0x60, 0x02, 0x49, 0x01, 0x20,
+0xC8, 0x60, 0x70, 0x47, 0x1C, 0x00, 0x00, 0x20,
+0x00, 0x03, 0x00, 0x50, 0x70, 0xB5, 0x20, 0x4C,
+0x20, 0xA0, 0x03, 0xF0, 0xCD, 0xF8, 0x27, 0x4D,
+0x68, 0x79, 0x29, 0x79, 0x00, 0x02, 0x08, 0x43,
+0x00, 0x0A, 0x00, 0x02, 0x28, 0x71, 0x00, 0x0A,
+0x68, 0x71, 0x68, 0x79, 0x29, 0x79, 0x00, 0x02,
+0x08, 0x43, 0x21, 0x49, 0x09, 0x78, 0x08, 0x43,
+0x28, 0x71, 0x00, 0x0A, 0x68, 0x71, 0x1F, 0xA0,
+0x03, 0xF0, 0xB6, 0xF8, 0x02, 0xE0, 0x01, 0x20,
+0x02, 0xF0, 0x90, 0xFB, 0x00, 0xF0, 0xF2, 0xFC,
+0x00, 0x28, 0x04, 0xD1, 0x20, 0x46, 0x64, 0x1E,
+0xA4, 0xB2, 0x00, 0x28, 0xF3, 0xD1, 0x00, 0xF0,
+0xE9, 0xFC, 0x00, 0x28, 0x06, 0xD0, 0x1C, 0xA0,
+0x03, 0xF0, 0xA2, 0xF8, 0x00, 0x20, 0x00, 0xF0,
+0x5D, 0xF9, 0x70, 0xBD, 0x1F, 0xA0, 0x03, 0xF0,
+0x9B, 0xF8, 0x68, 0x79, 0x29, 0x79, 0x00, 0x02,
+0x08, 0x43, 0xAA, 0x21, 0x08, 0x43, 0x28, 0x71,
+0x00, 0x0A, 0x68, 0x71, 0x01, 0x20, 0xEE, 0xE7,
+0x50, 0xC3, 0x00, 0x00, 0x42, 0x65, 0x67, 0x61,
+0x69, 0x6E, 0x20, 0x6F, 0x66, 0x20, 0x64, 0x72,
+0x76, 0x5F, 0x66, 0x74, 0x5F, 0x75, 0x70, 0x64,
+0x61, 0x74, 0x65, 0x5F, 0x73, 0x74, 0x61, 0x74,
+0x65, 0x0D, 0x0A, 0x00, 0x88, 0x02, 0x00, 0x20,
+0x76, 0x08, 0x00, 0x20, 0x23, 0x31, 0x20, 0x6F,
+0x66, 0x20, 0x64, 0x72, 0x76, 0x5F, 0x66, 0x74,
+0x5F, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5F,
+0x73, 0x74, 0x61, 0x74, 0x65, 0x0D, 0x0A, 0x00,
+0x23, 0x33, 0x20, 0x6F, 0x66, 0x20, 0x64, 0x72,
+0x76, 0x5F, 0x66, 0x74, 0x5F, 0x75, 0x70, 0x64,
+0x61, 0x74, 0x65, 0x5F, 0x73, 0x74, 0x61, 0x74,
+0x65, 0x0D, 0x0A, 0x00, 0x23, 0x32, 0x20, 0x6F,
+0x66, 0x20, 0x64, 0x72, 0x76, 0x5F, 0x66, 0x74,
+0x5F, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5F,
+0x73, 0x74, 0x61, 0x74, 0x65, 0x0D, 0x0A, 0x00,
+0xF8, 0xB5, 0x23, 0x49, 0x00, 0x25, 0x48, 0x5F,
+0x00, 0x90, 0x01, 0x46, 0x21, 0xA0, 0x03, 0xF0,
+0x47, 0xF8, 0x05, 0x21, 0x28, 0x48, 0xFE, 0xF7,
+0x48, 0xFD, 0x00, 0x24, 0xE0, 0x17, 0x40, 0x0F,
+0x00, 0x19, 0xC6, 0x10, 0x24, 0x49, 0xC0, 0x08,
+0x49, 0x1F, 0x71, 0x18, 0xC0, 0x00, 0x09, 0x78,
+0x20, 0x1A, 0x01, 0x27, 0x87, 0x40, 0x39, 0x42,
+0x15, 0xD0, 0x20, 0x49, 0x60, 0x00, 0x0A, 0x5E,
+0x00, 0x98, 0x82, 0x42, 0x0F, 0xDA, 0x21, 0x46,
+0x1D, 0xA0, 0x03, 0xF0, 0x29, 0xF8, 0x22, 0x4A,
+0xA0, 0x00, 0x13, 0x58, 0x01, 0x21, 0x0B, 0x43,
+0x13, 0x50, 0x17, 0x48, 0x30, 0x18, 0x01, 0x78,
+0x39, 0x43, 0x01, 0x70, 0x01, 0x25, 0x64, 0x1C,
+0x28, 0x2C, 0xD7, 0xD3, 0x00, 0x2D, 0x0A, 0xD0,
+0x1A, 0xA0, 0x03, 0xF0, 0x15, 0xF8, 0x10, 0x48,
+0x01, 0x22, 0x15, 0x38, 0xC1, 0x68, 0x11, 0x43,
+0xC1, 0x60, 0x28, 0x46, 0xF8, 0xBD, 0x1A, 0xA0,
+0x03, 0xF0, 0x0A, 0xF8, 0xF9, 0xE7, 0x00, 0x00,
+0x1A, 0x08, 0x00, 0x20, 0x2A, 0x2A, 0x53, 0x74,
+0x61, 0x72, 0x74, 0x20, 0x4F, 0x70, 0x65, 0x6E,
+0x20, 0x54, 0x65, 0x73, 0x74, 0x2C, 0x20, 0x51,
+0x75, 0x69, 0x63, 0x6B, 0x20, 0x54, 0x48, 0x44,
+0x3D, 0x25, 0x64, 0x2A, 0x2A, 0x0D, 0x0A, 0x00,
+0x5D, 0x00, 0x00, 0x20, 0x8C, 0x06, 0x00, 0x20,
+0x4F, 0x70, 0x65, 0x6E, 0x20, 0x4E, 0x47, 0x20,
+0x44, 0x61, 0x74, 0x61, 0x5B, 0x44, 0x25, 0x64,
+0x5D, 0x20, 0x3D, 0x25, 0x64, 0x0D, 0x0A, 0x00,
+0x80, 0x08, 0x00, 0x20, 0x4F, 0x70, 0x65, 0x6E,
+0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x5B, 0x4E,
+0x47, 0x5D, 0x0D, 0x0A, 0x00, 0x00, 0x00, 0x00,
+0x4F, 0x70, 0x65, 0x6E, 0x20, 0x54, 0x65, 0x73,
+0x74, 0x20, 0x5B, 0x50, 0x61, 0x73, 0x73, 0x5D,
+0x0D, 0x0A, 0x00, 0x00, 0x03, 0x49, 0x0A, 0x68,
+0x10, 0x18, 0x0A, 0x68, 0x90, 0x42, 0xFC, 0xD1,
+0x70, 0x47, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x20,
+0xF0, 0xB5, 0x34, 0x48, 0x42, 0x68, 0x34, 0x4B,
+0x01, 0x21, 0x00, 0x2A, 0x31, 0xDA, 0x33, 0x4C,
+0xE4, 0x6B, 0x33, 0x4D, 0xAC, 0x42, 0x2C, 0xD1,
+0xC4, 0x04, 0x44, 0x60, 0x31, 0x4C, 0x24, 0x78,
+0x80, 0x2C, 0x22, 0xD1, 0x30, 0x4E, 0x34, 0x78,
+0x64, 0x1C, 0x34, 0x70, 0x34, 0x78, 0x2F, 0x4F,
+0x01, 0x2C, 0x03, 0xD0, 0x34, 0x78, 0x05, 0x2C,
+0x04, 0xD0, 0x16, 0xE0, 0x3D, 0x68, 0x2C, 0x4C,
+0x25, 0x60, 0x12, 0xE0, 0x3D, 0x68, 0x2A, 0x4C,
+0x24, 0x68, 0xA5, 0x42, 0x0B, 0xD9, 0x3C, 0x68,
+0x27, 0x4F, 0x3D, 0x68, 0x64, 0x1B, 0xA4, 0x08,
+0x3C, 0x60, 0x22, 0x4C, 0x21, 0x70, 0x04, 0x68,
+0x64, 0x00, 0x64, 0x08, 0x04, 0x60, 0x00, 0x24,
+0x34, 0x70, 0x1C, 0x78, 0x04, 0x25, 0x2C, 0x43,
+0x1C, 0x70, 0x52, 0x00, 0x52, 0x08, 0x1F, 0x4C,
+0x15, 0x02, 0x08, 0xD5, 0x01, 0x25, 0xED, 0x05,
+0x45, 0x60, 0x1D, 0x78, 0x02, 0x26, 0x35, 0x43,
+0x1D, 0x70, 0x00, 0x25, 0x25, 0x71, 0x25, 0x68,
+0x15, 0x42, 0x06, 0xD0, 0x18, 0x4D, 0x45, 0x60,
+0x21, 0x71, 0x1D, 0x78, 0x08, 0x26, 0x35, 0x43,
+0x1D, 0x70, 0x43, 0x68, 0x1B, 0x04, 0x04, 0xD5,
+0x01, 0x23, 0xDB, 0x03, 0x13, 0x43, 0x43, 0x60,
+0x61, 0x71, 0x43, 0x68, 0x9B, 0x00, 0x04, 0xD5,
+0x01, 0x23, 0x5B, 0x07, 0x13, 0x43, 0x43, 0x60,
+0xA1, 0x71, 0x43, 0x68, 0x5B, 0x00, 0x04, 0xD5,
+0x01, 0x23, 0x9B, 0x07, 0x1A, 0x43, 0x42, 0x60,
+0x61, 0x71, 0xF0, 0xBD, 0x00, 0x10, 0x00, 0x50,
+0xB9, 0x00, 0x00, 0x20, 0x80, 0x09, 0x00, 0x50,
+0xA1, 0x00, 0x01, 0xF3, 0xCF, 0x00, 0x00, 0x20,
+0x89, 0x00, 0x00, 0x20, 0xAC, 0x00, 0x00, 0x20,
+0x00, 0x06, 0x00, 0x20, 0xB0, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x5F, 0x1F, 0x10, 0xB5, 0xFF, 0xF7,
+0xAF, 0xFC, 0x10, 0xBD, 0x10, 0xB5, 0x00, 0xF0,
+0x89, 0xF9, 0x10, 0xBD, 0xF8, 0xB5, 0x01, 0x26,
+0xB6, 0x07, 0xF0, 0x68, 0x40, 0x08, 0x40, 0x00,
+0xF0, 0x60, 0x16, 0x4C, 0x60, 0x68, 0x01, 0x25,
+0x40, 0x07, 0x00, 0x28, 0x18, 0xDA, 0x60, 0x68,
+0x04, 0x21, 0x08, 0x43, 0x60, 0x60, 0x12, 0x48,
+0x40, 0x68, 0x12, 0x4F, 0x40, 0x07, 0x40, 0x0F,
+0xF8, 0x71, 0xF8, 0x79, 0x03, 0x28, 0x02, 0xD1,
+0x00, 0x20, 0x00, 0xF0, 0x21, 0xF8, 0x0E, 0x48,
+0x01, 0x78, 0x29, 0x43, 0x01, 0x70, 0x00, 0x20,
+0x38, 0x71, 0x0C, 0x49, 0x02, 0x20, 0x08, 0x70,
+0x60, 0x68, 0x00, 0x07, 0x06, 0xD5, 0x60, 0x68,
+0x08, 0x21, 0x08, 0x43, 0x60, 0x60, 0x04, 0x48,
+0x80, 0x38, 0x45, 0x61, 0xF0, 0x68, 0x28, 0x43,
+0xF0, 0x60, 0xF8, 0xBD, 0x40, 0x00, 0x00, 0x50,
+0xC0, 0x10, 0x00, 0x50, 0xB0, 0x00, 0x00, 0x20,
+0xB9, 0x00, 0x00, 0x20, 0x04, 0x06, 0x00, 0x20,
+0x70, 0xB5, 0x04, 0x46, 0x11, 0x48, 0xC0, 0x6B,
+0x11, 0x49, 0x88, 0x42, 0x16, 0xD3, 0x11, 0x48,
+0x01, 0x78, 0xA1, 0x42, 0x12, 0xD0, 0x04, 0x70,
+0x01, 0xF0, 0x04, 0xFE, 0x05, 0x21, 0x40, 0x23,
+0x09, 0x07, 0x80, 0x25, 0x0C, 0x48, 0x00, 0x2C,
+0x09, 0xD0, 0x02, 0x6A, 0x52, 0x06, 0x05, 0xD4,
+0x02, 0x6A, 0x1A, 0x43, 0x02, 0x62, 0xC8, 0x68,
+0xA8, 0x43, 0xC8, 0x60, 0x70, 0xBD, 0xCA, 0x68,
+0x2A, 0x43, 0xCA, 0x60, 0x01, 0x6A, 0x99, 0x43,
+0x01, 0x62, 0x70, 0xBD, 0x80, 0x09, 0x00, 0x50,
+0xA2, 0x00, 0x01, 0xF3, 0x3C, 0x00, 0x00, 0x20,
+0x80, 0x10, 0x00, 0x50, 0x10, 0xB5, 0x13, 0x48,
+0x01, 0x79, 0x00, 0x29, 0x20, 0xD0, 0x00, 0x21,
+0x01, 0x71, 0x11, 0x49, 0x01, 0x20, 0x08, 0x70,
+0x10, 0x48, 0x81, 0x68, 0x01, 0x22, 0x52, 0x02,
+0x91, 0x43, 0x81, 0x60, 0x0E, 0x48, 0x01, 0x68,
+0x52, 0x00, 0x11, 0x43, 0x01, 0x60, 0x01, 0x68,
+0x0C, 0x4A, 0x11, 0x40, 0x01, 0x60, 0x0C, 0x48,
+0x0C, 0x49, 0x00, 0x68, 0x00, 0x7F, 0x08, 0x60,
+0x0B, 0x48, 0x01, 0x07, 0x48, 0x60, 0xFF, 0xF7,
+0xB9, 0xFD, 0x01, 0x20, 0xFF, 0xF7, 0x6A, 0xFF,
+0x10, 0xBD, 0x00, 0x00, 0x04, 0x06, 0x00, 0x20,
+0x7B, 0x00, 0x00, 0x20, 0x00, 0x06, 0x00, 0x50,
+0x00, 0x10, 0x00, 0x50, 0xFF, 0xF7, 0x7F, 0xFF,
+0xD0, 0x00, 0x00, 0x20, 0x40, 0x07, 0x00, 0x50,
+0x04, 0x00, 0x01, 0x00, 0x10, 0xB5, 0x12, 0x49,
+0x80, 0x20, 0x08, 0x70, 0x00, 0x20, 0x48, 0x80,
+0x10, 0x49, 0x08, 0x70, 0x10, 0x48, 0x40, 0x68,
+0x10, 0x49, 0x40, 0x07, 0x40, 0x0F, 0xC8, 0x71,
+0x05, 0x24, 0x24, 0x07, 0xE0, 0x68, 0x0E, 0x49,
+0x08, 0x43, 0xE0, 0x60, 0xFE, 0xF7, 0x82, 0xFD,
+0xFF, 0xF7, 0x12, 0xFD, 0xA0, 0x00, 0x02, 0x68,
+0x01, 0x14, 0x0A, 0x43, 0x02, 0x60, 0x09, 0x4A,
+0x62, 0x62, 0x42, 0x68, 0x0A, 0x43, 0x42, 0x60,
+0x02, 0x68, 0x8A, 0x43, 0x02, 0x60, 0x10, 0xBD,
+0x04, 0x06, 0x00, 0x20, 0xB9, 0x00, 0x00, 0x20,
+0xC0, 0x10, 0x00, 0x50, 0xB0, 0x00, 0x00, 0x20,
+0x80, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x0A,
+0x10, 0xB5, 0x00, 0x28, 0x13, 0xD0, 0x01, 0xF0,
+0xAB, 0xFD, 0x01, 0xF0, 0x73, 0xFD, 0x00, 0x20,
+0xFF, 0xF7, 0x5E, 0xFF, 0x06, 0x49, 0x88, 0x06,
+0x01, 0x60, 0x05, 0x21, 0x09, 0x07, 0xCA, 0x68,
+0xC3, 0x13, 0x9A, 0x43, 0xCA, 0x60, 0x00, 0x21,
+0xC1, 0x60, 0x01, 0x21, 0x81, 0x60, 0x10, 0xBD,
+0x10, 0x01, 0x00, 0x48, 0x10, 0xB5, 0x0A, 0x49,
+0x30, 0x22, 0x00, 0x28, 0x09, 0x4B, 0x0A, 0x4C,
+0x08, 0x68, 0x05, 0xD0, 0x10, 0x43, 0x08, 0x60,
+0x08, 0x48, 0x18, 0x60, 0x08, 0x48, 0x04, 0xE0,
+0x90, 0x43, 0x08, 0x60, 0x07, 0x48, 0x18, 0x60,
+0x07, 0x48, 0x20, 0x60, 0x10, 0xBD, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x50, 0x28, 0x00, 0x00, 0x20,
+0x30, 0x00, 0x00, 0x20, 0x00, 0x00, 0x04, 0x20,
+0x00, 0x00, 0x05, 0x20, 0x00, 0x10, 0x04, 0x20,
+0x00, 0x10, 0x05, 0x20, 0xF0, 0xB5, 0x10, 0x48,
+0x01, 0x68, 0x30, 0x22, 0x89, 0x06, 0x00, 0x29,
+0x0E, 0x4B, 0x0F, 0x4C, 0x0F, 0x4D, 0x10, 0x4E,
+0x10, 0x4F, 0x01, 0x68, 0x09, 0xDA, 0x91, 0x43,
+0x01, 0x60, 0x23, 0x60, 0x0E, 0x48, 0x35, 0x60,
+0x07, 0x60, 0x0F, 0x49, 0x0D, 0x48, 0x08, 0x60,
+0xF0, 0xBD, 0x11, 0x43, 0x01, 0x60, 0x0B, 0x48,
+0x27, 0x60, 0x30, 0x60, 0x08, 0x48, 0x03, 0x60,
+0x09, 0x48, 0x05, 0x60, 0xF0, 0xBD, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x50, 0x00, 0x00, 0x04, 0x20,
+0x24, 0x00, 0x00, 0x20, 0x00, 0x00, 0x05, 0x20,
+0x2C, 0x00, 0x00, 0x20, 0x00, 0x10, 0x04, 0x20,
+0x28, 0x00, 0x00, 0x20, 0x00, 0x10, 0x05, 0x20,
+0x30, 0x00, 0x00, 0x20, 0x10, 0xB5, 0x09, 0x48,
+0x00, 0x78, 0x00, 0x28, 0x08, 0xD0, 0x01, 0x28,
+0x09, 0xD0, 0x02, 0x28, 0x03, 0xD1, 0x06, 0x49,
+0x04, 0x20, 0x00, 0xF0, 0xE5, 0xF8, 0x10, 0xBD,
+0x04, 0x49, 0x01, 0x20, 0xF9, 0xE7, 0x04, 0x49,
+0x02, 0x20, 0xF6, 0xE7, 0x86, 0x00, 0x00, 0x20,
+0x00, 0x10, 0x02, 0x20, 0x00, 0x10, 0x01, 0x20,
+0x00, 0x00, 0x02, 0x20, 0x10, 0xB5, 0x01, 0xF0,
+0xE9, 0xFC, 0x00, 0x20, 0xFF, 0xF7, 0x86, 0xFF,
+0x0B, 0x48, 0x01, 0x78, 0x0B, 0x48, 0x00, 0x29,
+0x01, 0x68, 0x04, 0xD0, 0x06, 0x22, 0x91, 0x43,
+0xFF, 0x22, 0x01, 0x32, 0x00, 0xE0, 0x01, 0x22,
+0x11, 0x43, 0x01, 0x60, 0x01, 0x68, 0x01, 0x22,
+0x92, 0x02, 0x91, 0x43, 0x01, 0x60, 0x04, 0x49,
+0x02, 0x20, 0x08, 0x71, 0x10, 0xBD, 0x00, 0x00,
+0x7B, 0x00, 0x00, 0x20, 0x00, 0x10, 0x00, 0x50,
+0xB0, 0x00, 0x00, 0x20, 0x01, 0x21, 0x89, 0x07,
+0x0A, 0x15, 0x00, 0x28, 0x48, 0x69, 0x02, 0xD0,
+0x10, 0x43, 0x48, 0x61, 0x70, 0x47, 0x90, 0x43,
+0xFB, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0xF8, 0xB5, 0x31, 0x48, 0x80, 0x69, 0x40, 0x04,
+0x5D, 0xD5, 0x30, 0x4D, 0xA8, 0x6A, 0xE9, 0x68,
+0xAC, 0x68, 0x0C, 0x40, 0xE9, 0x68, 0xAA, 0x68,
+0x91, 0x43, 0xE9, 0x60, 0xC0, 0x07, 0x01, 0x27,
+0x2B, 0x4E, 0x00, 0x28, 0x15, 0xD0, 0x68, 0x69,
+0x89, 0x21, 0xC0, 0xB2, 0xE9, 0x60, 0xA9, 0x6A,
+0x39, 0x43, 0xA9, 0x62, 0x0B, 0x28, 0x03, 0xD2,
+0x37, 0x70, 0xFF, 0xF7, 0xDB, 0xFA, 0x03, 0xE0,
+0x00, 0x21, 0x31, 0x70, 0xFF, 0xF7, 0xAE, 0xFA,
+0x89, 0x20, 0x84, 0x43, 0x01, 0x20, 0xFF, 0xF7,
+0x3D, 0xFE, 0xA0, 0x05, 0x0D, 0xD5, 0xE9, 0x68,
+0x01, 0x20, 0x40, 0x02, 0x01, 0x43, 0xE9, 0x60,
+0xA9, 0x68, 0x81, 0x43, 0xA9, 0x60, 0xFF, 0xF7,
+0xA1, 0xFE, 0x1A, 0x48, 0x01, 0x78, 0x39, 0x43,
+0x01, 0x70, 0x20, 0x07, 0x09, 0xD5, 0x30, 0x78,
+0x01, 0x28, 0x02, 0xD1, 0x0A, 0x20, 0xFF, 0xF7,
+0x91, 0xFA, 0x64, 0x08, 0x64, 0x00, 0x09, 0x20,
+0xE8, 0x60, 0x60, 0x07, 0x17, 0xD5, 0x30, 0x78,
+0x01, 0x28, 0x02, 0xD1, 0x0A, 0x20, 0xFF, 0xF7,
+0x85, 0xFA, 0x05, 0x20, 0xE8, 0x60, 0xA8, 0x69,
+0x0D, 0x49, 0x88, 0x42, 0x08, 0xD0, 0xA9, 0x69,
+0x0B, 0x48, 0x40, 0x1C, 0x81, 0x42, 0x03, 0xD0,
+0xA9, 0x69, 0xC0, 0x1C, 0x81, 0x42, 0x02, 0xD1,
+0x01, 0x20, 0xFF, 0xF7, 0x07, 0xFE, 0xFF, 0x20,
+0xF3, 0x30, 0xE8, 0x60, 0xEF, 0x60, 0xF8, 0xBD,
+0x00, 0x09, 0x00, 0x50, 0x00, 0x06, 0x00, 0x50,
+0x3B, 0x00, 0x00, 0x20, 0xB9, 0x00, 0x00, 0x20,
+0x88, 0x02, 0x00, 0x20, 0xF8, 0xB5, 0xFF, 0xF7,
+0x5D, 0xFF, 0x17, 0x4E, 0x48, 0x21, 0x30, 0x68,
+0xFE, 0xF7, 0x37, 0xFA, 0x00, 0x24, 0x15, 0x4D,
+0x01, 0xF0, 0x76, 0xFC, 0xFF, 0xF7, 0x02, 0xFF,
+0x00, 0xF0, 0xA4, 0xF9, 0x00, 0x2C, 0x0B, 0xD0,
+0x32, 0x68, 0x00, 0x20, 0x41, 0x00, 0x53, 0x5A,
+0x2F, 0x68, 0x7F, 0x5A, 0xDB, 0x19, 0x53, 0x52,
+0x40, 0x1C, 0xC0, 0xB2, 0x24, 0x28, 0xF5, 0xD3,
+0x64, 0x1C, 0xE4, 0xB2, 0x05, 0x2C, 0xE7, 0xD3,
+0x01, 0xF0, 0x28, 0xFC, 0x33, 0x68, 0x00, 0x20,
+0x42, 0x00, 0x99, 0x5E, 0xCC, 0x17, 0xA4, 0x0F,
+0x61, 0x18, 0x89, 0x10, 0x99, 0x52, 0x40, 0x1C,
+0xC0, 0xB2, 0x24, 0x28, 0xF4, 0xD3, 0xF8, 0xBD,
+0x08, 0x00, 0x00, 0x20, 0x28, 0x00, 0x00, 0x20,
+0xF8, 0xB5, 0x0B, 0x46, 0x26, 0x49, 0x02, 0x46,
+0x09, 0x78, 0x00, 0x20, 0x01, 0x29, 0x09, 0xD9,
+0x24, 0x4E, 0x02, 0x29, 0x04, 0xD0, 0x24, 0x49,
+0x09, 0x68, 0x24, 0x4C, 0xA1, 0x42, 0x02, 0xD9,
+0x00, 0x20, 0x30, 0x70, 0xF8, 0xBD, 0x31, 0x78,
+0x21, 0x4D, 0x0F, 0x46, 0x2C, 0x68, 0x17, 0x42,
+0x2E, 0xD0, 0x00, 0x22, 0x51, 0x00, 0x67, 0x5E,
+0x59, 0x5E, 0x79, 0x1A, 0x00, 0xD5, 0x49, 0x42,
+0x09, 0xB2, 0x88, 0x42, 0x00, 0xDA, 0x08, 0x46,
+0x52, 0x1C, 0xD2, 0xB2, 0x24, 0x2A, 0xF1, 0xD3,
+0x18, 0x49, 0x09, 0x68, 0x41, 0x43, 0x08, 0x11,
+0x01, 0xB2, 0x17, 0x48, 0x00, 0x68, 0x81, 0x30,
+0x42, 0x78, 0x04, 0x78, 0x10, 0x02, 0x20, 0x43,
+0x88, 0x42, 0xD9, 0xDB, 0x00, 0x20, 0x41, 0x00,
+0x5A, 0x5E, 0xD4, 0x00, 0xA2, 0x1A, 0x2C, 0x68,
+0x64, 0x5E, 0x40, 0x1C, 0x12, 0x19, 0xD4, 0x17,
+0x64, 0x0F, 0xA2, 0x18, 0xD2, 0x10, 0xC0, 0xB2,
+0x5A, 0x52, 0x24, 0x28, 0xEF, 0xD3, 0xF8, 0xBD,
+0x11, 0x43, 0x31, 0x70, 0x48, 0x22, 0x21, 0x46,
+0x18, 0x46, 0xFE, 0xF7, 0xA1, 0xF9, 0xF8, 0xBD,
+0x79, 0x00, 0x00, 0x20, 0x8A, 0x00, 0x00, 0x20,
+0x1C, 0x00, 0x00, 0x20, 0x40, 0x77, 0x1B, 0x00,
+0x08, 0x00, 0x00, 0x20, 0x40, 0x07, 0x00, 0x50,
+0xD0, 0x00, 0x00, 0x20, 0xF8, 0xB5, 0x2D, 0x48,
+0x00, 0x25, 0x00, 0x78, 0x2C, 0x46, 0x00, 0x28,
+0x06, 0xD0, 0x01, 0x28, 0x07, 0xD0, 0x02, 0x28,
+0x08, 0xD0, 0x07, 0x28, 0x08, 0xD1, 0xF8, 0xBD,
+0x01, 0x25, 0x2C, 0x46, 0x04, 0xE0, 0x02, 0x25,
+0x2C, 0x46, 0x01, 0xE0, 0x04, 0x25, 0x2C, 0x46,
+0x23, 0x48, 0x01, 0x88, 0x8C, 0x42, 0xF2, 0xD0,
+0x04, 0x80, 0x00, 0x2D, 0xEF, 0xD0, 0x21, 0x48,
+0x00, 0x22, 0x01, 0x68, 0x28, 0x46, 0xFE, 0xF7,
+0xCB, 0xFB, 0x1F, 0x4E, 0x00, 0x28, 0x24, 0xD0,
+0x30, 0x68, 0x01, 0xF0, 0x09, 0xFA, 0x1D, 0x4D,
+0x01, 0x28, 0x0B, 0xD0, 0x00, 0x22, 0x20, 0x46,
+0x31, 0x68, 0xFE, 0xF7, 0x83, 0xFB, 0x00, 0x28,
+0x08, 0xD0, 0x01, 0x21, 0x20, 0x46, 0xFF, 0xF7,
+0x35, 0xFF, 0xF8, 0xBD, 0x28, 0x46, 0x01, 0xF0,
+0xF7, 0xF9, 0xF8, 0xBD, 0x01, 0x21, 0x20, 0x46,
+0xFF, 0xF7, 0x2C, 0xFF, 0x01, 0x22, 0x29, 0x46,
+0x20, 0x46, 0xFE, 0xF7, 0x6F, 0xFB, 0x48, 0x22,
+0x29, 0x46, 0x30, 0x68, 0xFE, 0xF7, 0x48, 0xF9,
+0xF8, 0xBD, 0x3F, 0x20, 0x01, 0x23, 0x00, 0x90,
+0x1A, 0x46, 0x21, 0x46, 0x28, 0x46, 0x00, 0xF0,
+0x79, 0xFE, 0x00, 0x28, 0xF4, 0xD0, 0x00, 0x22,
+0x20, 0x46, 0x31, 0x68, 0xFE, 0xF7, 0x5A, 0xFB,
+0xF8, 0xBD, 0x00, 0x00, 0x85, 0x00, 0x00, 0x20,
+0xA4, 0x00, 0x00, 0x20, 0x10, 0x00, 0x00, 0x20,
+0x18, 0x00, 0x00, 0x20, 0x00, 0x00, 0x01, 0x20,
+0x06, 0x49, 0x00, 0x28, 0x01, 0xD0, 0x01, 0x20,
+0x04, 0xE0, 0x05, 0x48, 0x00, 0x78, 0x10, 0x28,
+0x02, 0xD0, 0x04, 0x48, 0xC8, 0x62, 0x70, 0x47,
+0x03, 0x48, 0xFB, 0xE7, 0x40, 0x10, 0x00, 0x50,
+0x04, 0x06, 0x00, 0x20, 0x01, 0x00, 0x07, 0x00,
+0x01, 0x00, 0x03, 0x00, 0xF8, 0xB5, 0x2D, 0x4F,
+0x00, 0x26, 0x39, 0x78, 0x00, 0x29, 0x04, 0xD0,
+0x01, 0x29, 0x05, 0xD0, 0x02, 0x29, 0x4E, 0xD1,
+0x07, 0xE0, 0x29, 0x4C, 0x29, 0x4B, 0x08, 0xE0,
+0xFF, 0x24, 0x27, 0x4B, 0xF5, 0x34, 0x32, 0x3B,
+0x03, 0xE0, 0xFF, 0x24, 0x24, 0x4B, 0xA5, 0x34,
+0xFA, 0x3B, 0x25, 0x4A, 0x3D, 0x78, 0x11, 0x78,
+0xA9, 0x42, 0x06, 0xD1, 0x51, 0x78, 0x49, 0x1C,
+0xC9, 0xB2, 0x51, 0x70, 0x02, 0x29, 0x36, 0xD8,
+0x01, 0xE0, 0x00, 0x21, 0x51, 0x70, 0x39, 0x78,
+0x11, 0x70, 0x1E, 0x4A, 0x00, 0x21, 0x15, 0x68,
+0x6A, 0x18, 0x20, 0x32, 0x52, 0x7C, 0x24, 0x2A,
+0x25, 0xD0, 0x4A, 0x00, 0x82, 0x5E, 0xA2, 0x42,
+0x03, 0xDB, 0x9A, 0x42, 0x01, 0xDC, 0x00, 0x2E,
+0x1D, 0xD0, 0x38, 0x78, 0x00, 0x28, 0x04, 0xD0,
+0x01, 0x28, 0x05, 0xD0, 0x02, 0x28, 0x07, 0xD1,
+0x12, 0xE0, 0x01, 0x21, 0x08, 0x46, 0x01, 0xE0,
+0x02, 0x21, 0x08, 0x46, 0xFE, 0xF7, 0x66, 0xFB,
+0x05, 0x20, 0x38, 0x70, 0x0E, 0x49, 0x08, 0x20,
+0x08, 0x70, 0x0E, 0x49, 0xC0, 0x01, 0x08, 0x80,
+0x0D, 0x49, 0x00, 0x20, 0x08, 0x70, 0xF8, 0xBD,
+0x04, 0x21, 0x08, 0x46, 0xEE, 0xE7, 0x49, 0x1C,
+0xC9, 0xB2, 0x24, 0x29, 0xD0, 0xD3, 0x01, 0x20,
+0xF8, 0xBD, 0x00, 0x00, 0x84, 0x00, 0x00, 0x20,
+0xD6, 0x06, 0x00, 0x00, 0x70, 0x17, 0x00, 0x00,
+0x44, 0x00, 0x00, 0x20, 0xD0, 0x00, 0x00, 0x20,
+0x86, 0x00, 0x00, 0x20, 0xA4, 0x00, 0x00, 0x20,
+0x8A, 0x00, 0x00, 0x20, 0x01, 0x20, 0x80, 0x07,
+0x40, 0x69, 0x40, 0x05, 0x01, 0xD5, 0x01, 0x20,
+0x70, 0x47, 0x00, 0x20, 0x70, 0x47, 0x00, 0x00,
+0x0B, 0x48, 0xC1, 0x6B, 0x01, 0x22, 0x92, 0x02,
+0x11, 0x43, 0xC1, 0x63, 0xC1, 0x6B, 0x12, 0x01,
+0x11, 0x43, 0xC1, 0x63, 0xC1, 0x6B, 0x52, 0x10,
+0x11, 0x43, 0xC1, 0x63, 0xC1, 0x6B, 0x52, 0x10,
+0x11, 0x43, 0xC1, 0x63, 0xC1, 0x6B, 0xD2, 0x00,
+0x11, 0x43, 0xC1, 0x63, 0x70, 0x47, 0x00, 0x00,
+0xC0, 0x07, 0x00, 0x50, 0x06, 0x48, 0x00, 0x78,
+0x00, 0x28, 0x04, 0xD1, 0x05, 0x48, 0x01, 0x68,
+0x01, 0x22, 0x11, 0x43, 0x01, 0x60, 0x04, 0x49,
+0x02, 0x20, 0x08, 0x71, 0x70, 0x47, 0x00, 0x00,
+0x7B, 0x00, 0x00, 0x20, 0x00, 0x10, 0x00, 0x50,
+0xB0, 0x00, 0x00, 0x20, 0x10, 0xB5, 0xFF, 0xF7,
+0xE9, 0xFF, 0x10, 0xBD, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x48, 0x01, 0x68, 0x49, 0x1C, 0x01, 0x60,
+0x70, 0x47, 0x00, 0x00, 0xAC, 0x00, 0x00, 0x20,
+0xF8, 0xB5, 0x00, 0x25, 0x02, 0x24, 0xA0, 0x4E,
+0x01, 0x20, 0xA0, 0x49, 0x30, 0x70, 0x08, 0x71,
+0x4D, 0x71, 0x30, 0x78, 0x03, 0x00, 0xFE, 0xF7,
+0xB1, 0xF8, 0x08, 0xFC, 0x05, 0xFB, 0xFD, 0xF9,
+0xF8, 0xFC, 0xF7, 0xFC, 0x9A, 0x48, 0x01, 0x68,
+0x9A, 0xA0, 0x02, 0xF0, 0x61, 0xFB, 0x01, 0xF0,
+0x71, 0xFA, 0x9C, 0x49, 0x03, 0x20, 0xC8, 0x62,
+0x9B, 0x4F, 0x38, 0x68, 0x01, 0x88, 0xC8, 0x07,
+0x2B, 0xD0, 0x9A, 0xA0, 0x02, 0xF0, 0x54, 0xFB,
+0x01, 0x21, 0x08, 0x46, 0xFF, 0xF7, 0x16, 0xFE,
+0x38, 0x68, 0x00, 0x78, 0xC0, 0x07, 0x0B, 0xD0,
+0x98, 0x48, 0x48, 0x22, 0x01, 0x68, 0x98, 0x48,
+0xFE, 0xF7, 0x32, 0xF8, 0x00, 0x22, 0x97, 0x49,
+0x01, 0x20, 0xFE, 0xF7, 0x89, 0xFA, 0x2D, 0xE0,
+0x3F, 0x20, 0x01, 0x22, 0x00, 0x90, 0x00, 0x23,
+0x11, 0x46, 0x10, 0x46, 0x00, 0xF0, 0x5E, 0xFD,
+0x91, 0x48, 0x48, 0x22, 0x01, 0x68, 0x8E, 0x48,
+0xFE, 0xF7, 0x1E, 0xF8, 0x8F, 0x48, 0x48, 0x22,
+0x01, 0x68, 0x8C, 0x48, 0xFE, 0xF7, 0x18, 0xF8,
+0x18, 0xE0, 0x3F, 0x20, 0x01, 0x22, 0x00, 0x90,
+0x00, 0x23, 0x11, 0x46, 0x10, 0x46, 0x00, 0xF0,
+0x49, 0xFD, 0x87, 0x48, 0x48, 0x22, 0x01, 0x68,
+0x83, 0x48, 0xFE, 0xF7, 0x09, 0xF8, 0x85, 0x48,
+0x48, 0x22, 0x01, 0x68, 0x81, 0x48, 0xFE, 0xF7,
+0x03, 0xF8, 0x73, 0x48, 0x01, 0x68, 0x82, 0xA0,
+0x02, 0xF0, 0x12, 0xFB, 0x84, 0x48, 0xFE, 0xF7,
+0xC7, 0xFD, 0xFE, 0xF7, 0xB5, 0xFF, 0x00, 0x20,
+0x81, 0x49, 0x09, 0x5C, 0x24, 0x29, 0x09, 0xD0,
+0xC1, 0x08, 0x80, 0x4A, 0x47, 0x07, 0x52, 0x5C,
+0x7F, 0x0F, 0x01, 0x23, 0xBB, 0x40, 0x1A, 0x43,
+0x7C, 0x4B, 0x5A, 0x54, 0x40, 0x1C, 0xC0, 0xB2,
+0x24, 0x28, 0xED, 0xD3, 0x7A, 0x48, 0x00, 0x68,
+0xC1, 0x06, 0x01, 0xD4, 0x80, 0x06, 0x60, 0xD5,
+0x78, 0x48, 0x61, 0x4F, 0x00, 0x68, 0xC0, 0x30,
+0x41, 0x7A, 0x02, 0x7A, 0x09, 0x06, 0x09, 0x14,
+0x11, 0x43, 0x75, 0x4A, 0x11, 0x80, 0x42, 0x7B,
+0x01, 0x7B, 0x10, 0x06, 0x00, 0x14, 0x08, 0x43,
+0x72, 0x49, 0x08, 0x80, 0x39, 0x68, 0x72, 0xA0,
+0x02, 0xF0, 0xDE, 0xFA, 0xFE, 0xF7, 0xD2, 0xFB,
+0x39, 0x68, 0x76, 0xA0, 0x02, 0xF0, 0xD8, 0xFA,
+0x69, 0x48, 0x00, 0x78, 0xC0, 0x06, 0x23, 0xD5,
+0x90, 0x21, 0x79, 0x48, 0xFD, 0xF7, 0xD5, 0xFF,
+0x64, 0x49, 0x00, 0x20, 0x10, 0x39, 0xC8, 0x60,
+0xFE, 0xF7, 0xAE, 0xFD, 0x39, 0x68, 0x05, 0x46,
+0x74, 0xA0, 0x02, 0xF0, 0xC5, 0xFA, 0x01, 0x2D,
+0x0A, 0xD0, 0x0D, 0xE0, 0xFE, 0xF7, 0xB6, 0xFB,
+0x01, 0x2C, 0x14, 0xD0, 0x00, 0x20, 0xFE, 0xF7,
+0x9F, 0xFD, 0x64, 0x1E, 0x05, 0x46, 0xE4, 0xB2,
+0x00, 0x2C, 0x01, 0xD0, 0x01, 0x2D, 0xF1, 0xD0,
+0x39, 0x68, 0x71, 0xA0, 0x02, 0xF0, 0xB0, 0xFA,
+0x55, 0x48, 0x00, 0x78, 0x80, 0x06, 0x18, 0xD5,
+0x00, 0x2D, 0x02, 0xD0, 0x15, 0xE0, 0x01, 0x20,
+0xE9, 0xE7, 0x39, 0x68, 0x71, 0xA0, 0x02, 0xF0,
+0xA3, 0xFA, 0x90, 0x21, 0x60, 0x48, 0xFD, 0xF7,
+0xA4, 0xFF, 0x4C, 0x49, 0x00, 0x20, 0x10, 0x39,
+0xC8, 0x60, 0x4A, 0x48, 0x05, 0x21, 0x14, 0x30,
+0xFD, 0xF7, 0x9B, 0xFF, 0x01, 0x20, 0xFE, 0xF7,
+0xAF, 0xFC, 0x00, 0x20, 0xFF, 0xF7, 0x90, 0xFB,
+0x01, 0xF0, 0xD6, 0xF9, 0x01, 0xF0, 0x9E, 0xF9,
+0x00, 0xF0, 0xF0, 0xFA, 0x04, 0x20, 0x30, 0x70,
+0x2A, 0x48, 0x70, 0x21, 0x01, 0x70, 0xFF, 0xF7,
+0xC5, 0xFE, 0x01, 0x46, 0x66, 0xA0, 0x02, 0xF0,
+0x7F, 0xFA, 0x01, 0x20, 0xFF, 0xF7, 0x3A, 0xFB,
+0xFF, 0xF7, 0xA8, 0xF9, 0x24, 0x48, 0x01, 0x68,
+0x69, 0xA0, 0x02, 0xF0, 0x75, 0xFA, 0x04, 0xE7,
+0x2B, 0xE0, 0x11, 0xE0, 0x0D, 0xE0, 0x01, 0xE0,
+0x22, 0xE0, 0x35, 0xE0, 0x33, 0x48, 0x01, 0x22,
+0x10, 0x38, 0x40, 0x78, 0x00, 0x90, 0x00, 0x23,
+0x11, 0x46, 0x10, 0x46, 0x00, 0xF0, 0x8A, 0xFC,
+0x16, 0xE0, 0xFE, 0xF7, 0xF7, 0xFA, 0xF0, 0xE6,
+0x62, 0xA0, 0x02, 0xF0, 0x5D, 0xFA, 0x15, 0x48,
+0x41, 0x79, 0x02, 0x79, 0x09, 0x02, 0x11, 0x43,
+0x09, 0x0A, 0x09, 0x02, 0x01, 0x71, 0x09, 0x0A,
+0x41, 0x71, 0x27, 0x48, 0x00, 0x68, 0x00, 0xF0,
+0xC3, 0xF8, 0x5E, 0xA0, 0x02, 0xF0, 0x4C, 0xFA,
+0x04, 0x20, 0x30, 0x70, 0xFF, 0xF7, 0x76, 0xF9,
+0xD7, 0xE6, 0x01, 0xF0, 0x57, 0xF9, 0x01, 0xF0,
+0xED, 0xFE, 0x00, 0x20, 0x01, 0xF0, 0x34, 0xFC,
+0x01, 0xF0, 0xA4, 0xFB, 0x01, 0x20, 0xFF, 0xF7,
+0xF9, 0xFA, 0xFF, 0xF7, 0x67, 0xF9, 0xF8, 0xBD,
+0x04, 0x20, 0x30, 0x70, 0xC5, 0xE6, 0x00, 0x00,
+0x76, 0x08, 0x00, 0x20, 0x88, 0x02, 0x00, 0x20,
+0xAC, 0x00, 0x00, 0x20, 0x46, 0x54, 0x5F, 0x49,
+0x4E, 0x49, 0x54, 0x20, 0x3D, 0x25, 0x64, 0x0D,
+0x0A, 0x00, 0x00, 0x00, 0x40, 0x10, 0x00, 0x50,
+0xE0, 0x00, 0x00, 0x20, 0x54, 0x61, 0x62, 0x6C,
+0x65, 0x20, 0x3D, 0x30, 0x78, 0x25, 0x78, 0x0D,
+0x0A, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x20,
+0x1C, 0x07, 0x00, 0x20, 0x64, 0x07, 0x00, 0x20,
+0x28, 0x00, 0x00, 0x20, 0x10, 0x00, 0x00, 0x20,
+0x47, 0x65, 0x74, 0x20, 0x55, 0x43, 0x20, 0x55,
+0x42, 0x20, 0x3D, 0x25, 0x64, 0x0D, 0x0A, 0x00,
+0x72, 0x03, 0x00, 0x20, 0x58, 0x00, 0x00, 0x20,
+0x24, 0x08, 0x00, 0x20, 0xD0, 0x00, 0x00, 0x20,
+0x22, 0x08, 0x00, 0x20, 0x28, 0x08, 0x00, 0x20,
+0x47, 0x65, 0x74, 0x20, 0x4E, 0x6F, 0x69, 0x73,
+0x65, 0x20, 0x44, 0x61, 0x74, 0x61, 0x20, 0x54,
+0x49, 0x43, 0x4B, 0x3D, 0x25, 0x64, 0x0D, 0x0A,
+0x00, 0x00, 0x00, 0x00, 0x41, 0x66, 0x74, 0x65,
+0x72, 0x20, 0x4E, 0x6F, 0x69, 0x73, 0x65, 0x20,
+0x44, 0x61, 0x74, 0x61, 0x20, 0x54, 0x49, 0x43,
+0x4B, 0x3D, 0x25, 0x64, 0x0D, 0x0A, 0x00, 0x00,
+0x80, 0x08, 0x00, 0x20, 0x41, 0x66, 0x74, 0x65,
+0x72, 0x20, 0x4E, 0x6F, 0x69, 0x73, 0x65, 0x20,
+0x54, 0x65, 0x73, 0x74, 0x20, 0x54, 0x49, 0x43,
+0x4B, 0x3D, 0x25, 0x64, 0x0D, 0x0A, 0x00, 0x00,
+0x45, 0x6E, 0x64, 0x20, 0x4E, 0x6F, 0x69, 0x73,
+0x65, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x54,
+0x69, 0x63, 0x6B, 0x3D, 0x25, 0x64, 0x0D, 0x0A,
+0x00, 0x00, 0x00, 0x00, 0x4E, 0x6F, 0x69, 0x73,
+0x65, 0x20, 0x44, 0x65, 0x6C, 0x74, 0x61, 0x20,
+0x54, 0x65, 0x73, 0x74, 0x20, 0x54, 0x69, 0x63,
+0x6B, 0x3D, 0x25, 0x64, 0x0D, 0x0A, 0x00, 0x00,
+0x49, 0x6E, 0x69, 0x74, 0x20, 0x66, 0x69, 0x6E,
+0x69, 0x73, 0x68, 0x20, 0x49, 0x4E, 0x54, 0x20,
+0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x20, 0x3D,
+0x25, 0x64, 0x0D, 0x0A, 0x00, 0x00, 0x00, 0x00,
+0x49, 0x6E, 0x69, 0x74, 0x20, 0x66, 0x69, 0x6E,
+0x69, 0x73, 0x68, 0x20, 0x3D, 0x25, 0x64, 0x0D,
+0x0A, 0x00, 0x00, 0x00, 0x53, 0x74, 0x61, 0x72,
+0x74, 0x20, 0x54, 0x65, 0x73, 0x74, 0x0D, 0x0A,
+0x00, 0x00, 0x00, 0x00, 0x45, 0x6E, 0x64, 0x20,
+0x54, 0x65, 0x73, 0x74, 0x0D, 0x0A, 0x00, 0x00,
+0xFE, 0xB5, 0x06, 0x46, 0x00, 0x20, 0x04, 0x46,
+0x01, 0x90, 0x7E, 0x48, 0x03, 0x25, 0x01, 0x68,
+0x02, 0x27, 0x7D, 0xA0, 0x02, 0xF0, 0x80, 0xF9,
+0x31, 0x46, 0x81, 0xA0, 0x02, 0xF0, 0x7C, 0xF9,
+0x84, 0x49, 0xCC, 0x20, 0x08, 0x71, 0x00, 0x20,
+0x48, 0x71, 0x83, 0x48, 0x02, 0x21, 0x01, 0x71,
+0x01, 0x2E, 0x34, 0xD9, 0x81, 0xA0, 0x02, 0xF0,
+0x6F, 0xF9, 0x8D, 0x48, 0xFE, 0xF7, 0xEA, 0xFE,
+0x00, 0x28, 0x3B, 0xD0, 0x8B, 0xA0, 0x02, 0xF0,
+0x67, 0xF9, 0x6E, 0x48, 0x01, 0x68, 0x95, 0xA0,
+0x02, 0xF0, 0x62, 0xF9, 0xFE, 0xF7, 0x3E, 0xFD,
+0x6A, 0x48, 0x01, 0x68, 0x97, 0xA0, 0x02, 0xF0,
+0x5B, 0xF9, 0x00, 0x20, 0xC1, 0x17, 0x49, 0x0F,
+0x09, 0x18, 0xCB, 0x10, 0x72, 0x4A, 0xC9, 0x08,
+0x10, 0x32, 0x9A, 0x18, 0xC9, 0x00, 0x43, 0x1A,
+0x12, 0x78, 0x01, 0x21, 0x99, 0x40, 0x0A, 0x42,
+0x0A, 0xD0, 0x7B, 0x49, 0x42, 0x00, 0x89, 0x5A,
+0x01, 0x23, 0x5B, 0x02, 0x99, 0x42, 0x03, 0xD2,
+0x77, 0x4B, 0xFF, 0x31, 0x01, 0x31, 0x99, 0x52,
+0x40, 0x1C, 0x28, 0x28, 0xE2, 0xD3, 0xB0, 0x07,
+0x07, 0xD5, 0xFF, 0xF7, 0xE9, 0xF8, 0x04, 0x43,
+0x56, 0x48, 0x01, 0x68, 0x88, 0xA0, 0x02, 0xF0,
+0x33, 0xF9, 0x70, 0x07, 0x18, 0xD5, 0x00, 0x2C,
+0x0E, 0xD0, 0x15, 0xE0, 0x89, 0xA0, 0x02, 0xF0,
+0x2B, 0xF9, 0x00, 0x20, 0x93, 0x4A, 0x08, 0x23,
+0x81, 0x00, 0x54, 0x58, 0x40, 0x1C, 0x1C, 0x43,
+0x54, 0x50, 0x24, 0x28, 0xF8, 0xDB, 0x93, 0xE0,
+0x01, 0xF0, 0x7C, 0xF8, 0x04, 0x46, 0x49, 0x48,
+0x01, 0x68, 0x8D, 0xA0, 0x02, 0xF0, 0x18, 0xF9,
+0x00, 0x2F, 0x01, 0xD0, 0x01, 0x2C, 0x04, 0xD0,
+0x30, 0x07, 0xF0, 0xD5, 0x00, 0x2C, 0x28, 0xD0,
+0x82, 0xE0, 0x7F, 0x1E, 0x00, 0x24, 0xFF, 0xB2,
+0x20, 0x46, 0xC1, 0x17, 0x49, 0x0F, 0x09, 0x18,
+0xCB, 0x10, 0x4B, 0x4A, 0xC9, 0x08, 0x10, 0x32,
+0x9A, 0x18, 0xC9, 0x00, 0x43, 0x1A, 0x12, 0x78,
+0x01, 0x21, 0x99, 0x40, 0x0A, 0x42, 0x06, 0xD0,
+0x7C, 0x4A, 0x81, 0x00, 0x52, 0x58, 0x82, 0x4B,
+0x1A, 0x40, 0x7A, 0x4B, 0x5A, 0x50, 0x40, 0x1C,
+0x28, 0x28, 0xE6, 0xD3, 0x40, 0x48, 0x7F, 0x4A,
+0xC1, 0x68, 0x11, 0x40, 0xC1, 0x60, 0x31, 0x48,
+0x01, 0x68, 0x7D, 0xA0, 0x02, 0xF0, 0xE8, 0xF8,
+0x72, 0xE7, 0x2E, 0x4C, 0x21, 0x68, 0x7F, 0xA0,
+0x02, 0xF0, 0xE2, 0xF8, 0x21, 0x68, 0x84, 0xA0,
+0x02, 0xF0, 0xDE, 0xF8, 0xFE, 0xF7, 0xD0, 0xF8,
+0x21, 0x68, 0x06, 0x46, 0x86, 0xA0, 0x02, 0xF0,
+0xD7, 0xF8, 0x00, 0x2E, 0x42, 0xD0, 0x43, 0xE0,
+0x6D, 0x1E, 0x00, 0x2D, 0x01, 0xDD, 0x00, 0x26,
+0x00, 0xE0, 0x01, 0x26, 0x30, 0x46, 0x01, 0xF0,
+0xA3, 0xF8, 0x00, 0x28, 0x04, 0xD1, 0x30, 0x46,
+0xFE, 0xF7, 0x16, 0xFC, 0x00, 0x28, 0x2C, 0xD0,
+0x2D, 0x04, 0x2D, 0x0C, 0x30, 0xD0, 0x00, 0xF0,
+0xD1, 0xFF, 0x01, 0xF0, 0x67, 0xFD, 0x7E, 0x48,
+0xC1, 0x68, 0x7E, 0x4A, 0x11, 0x43, 0xC1, 0x60,
+0x01, 0x69, 0x11, 0x43, 0x01, 0x61, 0x00, 0x20,
+0x01, 0xF0, 0xA6, 0xFA, 0x01, 0xF0, 0x16, 0xFA,
+0x00, 0xF0, 0xF6, 0xFF, 0x00, 0xF0, 0xBE, 0xFF,
+0x3F, 0x20, 0x01, 0x22, 0x00, 0x90, 0x00, 0x23,
+0x11, 0x46, 0x10, 0x46, 0x00, 0xF0, 0xCA, 0xFA,
+0x73, 0x48, 0x48, 0x22, 0x01, 0x68, 0x73, 0x48,
+0xFD, 0xF7, 0x8A, 0xFD, 0x72, 0x48, 0x48, 0x22,
+0x01, 0x68, 0x72, 0x48, 0xFD, 0xF7, 0x84, 0xFD,
+0xC2, 0xE7, 0x21, 0x68, 0x70, 0xA0, 0x02, 0xF0,
+0x93, 0xF8, 0x01, 0xE0, 0x00, 0x2D, 0xBB, 0xD1,
+0x21, 0x68, 0x74, 0xA0, 0x02, 0xF0, 0x8C, 0xF8,
+0x01, 0x98, 0xFE, 0xBD, 0xAC, 0x00, 0x00, 0x20,
+0x53, 0x74, 0x61, 0x72, 0x74, 0x20, 0x54, 0x65,
+0x73, 0x74, 0x20, 0x54, 0x69, 0x63, 0x6B, 0x3D,
+0x25, 0x64, 0x0D, 0x0A, 0x00, 0x00, 0x00, 0x00,
+0x54, 0x65, 0x73, 0x74, 0x20, 0x69, 0x74, 0x65,
+0x6D, 0x3D, 0x30, 0x78, 0x25, 0x78, 0x0D, 0x0A,
+0x00, 0x00, 0x00, 0x00, 0x88, 0x02, 0x00, 0x20,
+0x48, 0x00, 0x00, 0x20, 0x42, 0x65, 0x67, 0x61,
+0x69, 0x6E, 0x20, 0x6F, 0x66, 0x20, 0x64, 0x72,
+0x76, 0x5F, 0x66, 0x74, 0x5F, 0x74, 0x65, 0x73,
+0x74, 0x5F, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65,
+0x72, 0x5F, 0x66, 0x77, 0x5F, 0x64, 0x6F, 0x5F,
+0x63, 0x61, 0x6C, 0x69, 0x62, 0x72, 0x61, 0x74,
+0x69, 0x6F, 0x6E, 0x0D, 0x0A, 0x00, 0x00, 0x00,
+0xD4, 0x06, 0x00, 0x20, 0x45, 0x6E, 0x64, 0x20,
+0x6F, 0x66, 0x20, 0x64, 0x72, 0x76, 0x5F, 0x66,
+0x74, 0x5F, 0x74, 0x65, 0x73, 0x74, 0x5F, 0x74,
+0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5F, 0x66,
+0x77, 0x5F, 0x64, 0x6F, 0x5F, 0x63, 0x61, 0x6C,
+0x69, 0x62, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E,
+0x0D, 0x0A, 0x00, 0x00, 0x47, 0x65, 0x74, 0x20,
+0x54, 0x65, 0x73, 0x74, 0x20, 0x44, 0x61, 0x74,
+0x61, 0x20, 0x3D, 0x20, 0x25, 0x64, 0x0D, 0x0A,
+0x00, 0x00, 0x00, 0x00, 0x45, 0x6E, 0x64, 0x20,
+0x47, 0x65, 0x74, 0x20, 0x44, 0x61, 0x74, 0x61,
+0x20, 0x3D, 0x25, 0x64, 0x0D, 0x0A, 0x00, 0x00,
+0x45, 0x6E, 0x64, 0x20, 0x4F, 0x70, 0x65, 0x6E,
+0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x3D, 0x25,
+0x64, 0x0D, 0x0A, 0x00, 0x4E, 0x47, 0x20, 0x6F,
+0x66, 0x20, 0x64, 0x72, 0x76, 0x5F, 0x66, 0x74,
+0x5F, 0x74, 0x65, 0x73, 0x74, 0x5F, 0x74, 0x72,
+0x69, 0x67, 0x67, 0x65, 0x72, 0x5F, 0x66, 0x77,
+0x5F, 0x64, 0x6F, 0x5F, 0x63, 0x61, 0x6C, 0x69,
+0x62, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x0D,
+0x0A, 0x00, 0x00, 0x00, 0x80, 0x08, 0x00, 0x20,
+0x45, 0x6E, 0x64, 0x20, 0x53, 0x68, 0x6F, 0x72,
+0x74, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x3D,
+0x25, 0x64, 0x0D, 0x0A, 0x00, 0x00, 0x00, 0x00,
+0xFC, 0xFC, 0xFF, 0xFF, 0xFC, 0xFF, 0xF9, 0xFF,
+0x52, 0x65, 0x74, 0x72, 0x79, 0x20, 0x54, 0x65,
+0x73, 0x74, 0x20, 0x3D, 0x25, 0x64, 0x0D, 0x0A,
+0x00, 0x00, 0x00, 0x00, 0x53, 0x74, 0x61, 0x72,
+0x74, 0x20, 0x55, 0x4E, 0x49, 0x20, 0x54, 0x65,
+0x73, 0x74, 0x20, 0x54, 0x69, 0x63, 0x6B, 0x3D,
+0x25, 0x64, 0x0D, 0x0A, 0x00, 0x00, 0x00, 0x00,
+0x53, 0x74, 0x61, 0x72, 0x74, 0x20, 0x43, 0x42,
+0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x54, 0x69,
+0x63, 0x6B, 0x3D, 0x25, 0x64, 0x0D, 0x0A, 0x00,
+0x41, 0x66, 0x74, 0x65, 0x72, 0x20, 0x43, 0x42,
+0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x54, 0x69,
+0x63, 0x6B, 0x3D, 0x25, 0x64, 0x0D, 0x0A, 0x00,
+0x80, 0x10, 0x00, 0x50, 0xFF, 0xFF, 0x03, 0x00,
+0x28, 0x00, 0x00, 0x20, 0x1C, 0x07, 0x00, 0x20,
+0x10, 0x00, 0x00, 0x20, 0x64, 0x07, 0x00, 0x20,
+0x41, 0x66, 0x74, 0x65, 0x72, 0x20, 0x55, 0x43,
+0x20, 0x55, 0x42, 0x20, 0x54, 0x65, 0x73, 0x74,
+0x20, 0x54, 0x69, 0x63, 0x6B, 0x3D, 0x25, 0x64,
+0x0D, 0x0A, 0x00, 0x00, 0x45, 0x6E, 0x64, 0x20,
+0x55, 0x4E, 0x49, 0x20, 0x54, 0x65, 0x73, 0x74,
+0x20, 0x54, 0x69, 0x63, 0x6B, 0x3D, 0x25, 0x64,
+0x0D, 0x0A, 0x00, 0x00, 0xF0, 0xB5, 0x93, 0xB0,
+0x48, 0x22, 0x78, 0x49, 0x68, 0x46, 0xFD, 0xF7,
+0x7F, 0xFC, 0x48, 0x21, 0x76, 0x48, 0xFD, 0xF7,
+0x94, 0xFC, 0x76, 0x48, 0x00, 0x24, 0x00, 0x68,
+0x75, 0x4D, 0xC1, 0x06, 0x00, 0x29, 0x0A, 0xDB,
+0x80, 0x06, 0x08, 0xD4, 0x24, 0x21, 0x73, 0x48,
+0xFD, 0xF7, 0x87, 0xFC, 0x90, 0x21, 0x72, 0x48,
+0xFD, 0xF7, 0x83, 0xFC, 0xEC, 0x60, 0xEC, 0x70,
+0x70, 0x4C, 0x23, 0x68, 0x1E, 0x46, 0xB0, 0x36,
+0xF0, 0x7B, 0xB2, 0x7B, 0x00, 0x06, 0x01, 0x14,
+0x6D, 0x48, 0x11, 0x43, 0x01, 0x80, 0x18, 0x46,
+0xC0, 0x30, 0x42, 0x78, 0x07, 0x78, 0x12, 0x06,
+0x12, 0x14, 0x3A, 0x43, 0x69, 0x4F, 0xD0, 0x33,
+0x3A, 0x80, 0x77, 0x7B, 0x36, 0x7B, 0x3F, 0x06,
+0x3F, 0x14, 0x37, 0x43, 0x66, 0x4E, 0x37, 0x80,
+0xC6, 0x78, 0x87, 0x78, 0x36, 0x06, 0x36, 0x14,
+0x3E, 0x43, 0x64, 0x4F, 0x3E, 0x80, 0x46, 0x79,
+0x07, 0x79, 0x36, 0x06, 0x36, 0x14, 0x3E, 0x43,
+0x61, 0x4F, 0x3E, 0x80, 0xC6, 0x79, 0x87, 0x79,
+0x36, 0x06, 0x36, 0x14, 0x3E, 0x43, 0x5F, 0x4F,
+0x3E, 0x80, 0xDF, 0x78, 0x9E, 0x78, 0x3F, 0x06,
+0x3F, 0x14, 0x37, 0x43, 0x5C, 0x4E, 0x37, 0x80,
+0x46, 0x7A, 0x07, 0x7A, 0x36, 0x06, 0x36, 0x14,
+0x3E, 0x43, 0x5A, 0x4F, 0x3E, 0x80, 0x46, 0x7B,
+0x07, 0x7B, 0x36, 0x06, 0x36, 0x14, 0x3E, 0x43,
+0x57, 0x4F, 0x3E, 0x80, 0xC6, 0x7B, 0x87, 0x7B,
+0x30, 0x06, 0x00, 0x14, 0x38, 0x43, 0x55, 0x4F,
+0x38, 0x80, 0x58, 0x79, 0x1E, 0x79, 0x00, 0x06,
+0x00, 0x14, 0x30, 0x43, 0x52, 0x4E, 0x30, 0x80,
+0xD8, 0x79, 0x9E, 0x79, 0x00, 0x06, 0x00, 0x14,
+0x30, 0x43, 0x50, 0x4E, 0x30, 0x80, 0x02, 0x20,
+0x28, 0x71, 0x58, 0x78, 0x1B, 0x78, 0x00, 0x06,
+0x00, 0x14, 0x18, 0x43, 0x4C, 0x4B, 0x18, 0x80,
+0x4C, 0xA0, 0x01, 0xF0, 0x15, 0xFF, 0x40, 0x48,
+0x00, 0x21, 0x41, 0x5E, 0x53, 0xA0, 0x01, 0xF0,
+0x0F, 0xFF, 0x3E, 0x48, 0x00, 0x21, 0x41, 0x5E,
+0x56, 0xA0, 0x01, 0xF0, 0x09, 0xFF, 0x3C, 0x48,
+0x00, 0x21, 0x41, 0x5E, 0x5A, 0xA0, 0x01, 0xF0,
+0x03, 0xFF, 0x3A, 0x48, 0x00, 0x21, 0x41, 0x5E,
+0x5D, 0xA0, 0x01, 0xF0, 0xFD, 0xFE, 0x39, 0x48,
+0x00, 0x21, 0x41, 0x5E, 0x60, 0xA0, 0x01, 0xF0,
+0xF7, 0xFE, 0x37, 0x48, 0x00, 0x21, 0x41, 0x5E,
+0x62, 0xA0, 0x01, 0xF0, 0xF1, 0xFE, 0x00, 0x21,
+0x79, 0x5E, 0x66, 0xA0, 0x01, 0xF0, 0xEC, 0xFE,
+0x33, 0x48, 0x00, 0x21, 0x41, 0x5E, 0x68, 0xA0,
+0x01, 0xF0, 0xE6, 0xFE, 0x00, 0x21, 0x71, 0x5E,
+0x6C, 0xA0, 0x01, 0xF0, 0xE1, 0xFE, 0x20, 0x68,
+0xC0, 0x30, 0x81, 0x7A, 0x6D, 0xA0, 0x01, 0xF0,
+0xDB, 0xFE, 0x20, 0x68, 0xC0, 0x30, 0xC1, 0x7A,
+0x6F, 0xA0, 0x01, 0xF0, 0xD5, 0xFE, 0x19, 0x48,
+0x00, 0x68, 0xC1, 0x06, 0x19, 0xD4, 0x80, 0x06,
+0x17, 0xD4, 0x18, 0x48, 0xFE, 0xF7, 0x84, 0xF9,
+0xFE, 0xF7, 0x72, 0xFB, 0x14, 0x4E, 0x00, 0x20,
+0x14, 0x4F, 0x10, 0x36, 0x39, 0x5C, 0x24, 0x29,
+0x07, 0xD0, 0xC1, 0x08, 0x44, 0x07, 0x72, 0x5C,
+0x64, 0x0F, 0x01, 0x23, 0xA3, 0x40, 0x1A, 0x43,
+0x72, 0x54, 0x40, 0x1C, 0xC0, 0xB2, 0x24, 0x28,
+0xF0, 0xD3, 0x64, 0x4B, 0x00, 0x20, 0x6A, 0x46,
+0x41, 0x00, 0x40, 0x1C, 0x54, 0x5A, 0xC0, 0xB2,
+0x5C, 0x52, 0x24, 0x28, 0xF8, 0xD3, 0x29, 0x79,
+0x5F, 0xA0, 0x01, 0xF0, 0xA9, 0xFE, 0x01, 0x20,
+0x13, 0xB0, 0xF0, 0xBD, 0x48, 0x59, 0x00, 0x00,
+0xD4, 0x06, 0x00, 0x20, 0x24, 0x08, 0x00, 0x20,
+0x48, 0x00, 0x00, 0x20, 0x72, 0x03, 0x00, 0x20,
+0x80, 0x08, 0x00, 0x20, 0xD0, 0x00, 0x00, 0x20,
+0x18, 0x08, 0x00, 0x20, 0x72, 0x08, 0x00, 0x20,
+0x1A, 0x08, 0x00, 0x20, 0x1C, 0x08, 0x00, 0x20,
+0x1E, 0x08, 0x00, 0x20, 0x20, 0x08, 0x00, 0x20,
+0x7A, 0x08, 0x00, 0x20, 0x22, 0x08, 0x00, 0x20,
+0x28, 0x08, 0x00, 0x20, 0x74, 0x08, 0x00, 0x20,
+0x7C, 0x08, 0x00, 0x20, 0x7E, 0x08, 0x00, 0x20,
+0x78, 0x08, 0x00, 0x20, 0x53, 0x68, 0x6F, 0x72,
+0x74, 0x20, 0x54, 0x68, 0x64, 0x20, 0x5B, 0x75,
+0x70, 0x70, 0x65, 0x72, 0x2C, 0x20, 0x6C, 0x6F,
+0x77, 0x65, 0x72, 0x5D, 0x20, 0x3D, 0x20, 0x5B,
+0x25, 0x64, 0x2C, 0x20, 0x25, 0x64, 0x5D, 0x0D,
+0x0A, 0x00, 0x00, 0x00, 0x4F, 0x70, 0x65, 0x6E,
+0x20, 0x54, 0x68, 0x64, 0x20, 0x5B, 0x75, 0x70,
+0x70, 0x65, 0x72, 0x5D, 0x20, 0x3D, 0x20, 0x25,
+0x64, 0x0D, 0x0A, 0x00, 0x42, 0x61, 0x73, 0x65,
+0x6C, 0x69, 0x6E, 0x65, 0x20, 0x54, 0x68, 0x64,
+0x20, 0x5B, 0x75, 0x70, 0x70, 0x65, 0x72, 0x5D,
+0x20, 0x3D, 0x20, 0x25, 0x64, 0x0D, 0x0A, 0x00,
+0x43, 0x43, 0x20, 0x54, 0x68, 0x64, 0x20, 0x5B,
+0x75, 0x70, 0x70, 0x65, 0x72, 0x5D, 0x20, 0x3D,
+0x20, 0x25, 0x64, 0x0D, 0x0A, 0x00, 0x00, 0x00,
+0x43, 0x42, 0x20, 0x54, 0x68, 0x64, 0x20, 0x5B,
+0x75, 0x70, 0x70, 0x65, 0x72, 0x5D, 0x20, 0x3D,
+0x20, 0x25, 0x64, 0x0D, 0x0A, 0x00, 0x00, 0x00,
+0x4E, 0x6F, 0x69, 0x73, 0x65, 0x20, 0x54, 0x68,
+0x64, 0x20, 0x3D, 0x20, 0x25, 0x64, 0x0D, 0x0A,
+0x00, 0x00, 0x00, 0x00, 0x4E, 0x6F, 0x69, 0x73,
+0x65, 0x20, 0x44, 0x65, 0x6C, 0x74, 0x61, 0x20,
+0x54, 0x68, 0x64, 0x20, 0x3D, 0x20, 0x25, 0x64,
+0x0D, 0x0A, 0x00, 0x00, 0x53, 0x69, 0x6E, 0x6C,
+0x65, 0x20, 0x43, 0x43, 0x20, 0x54, 0x68, 0x64,
+0x20, 0x3D, 0x20, 0x25, 0x64, 0x0D, 0x0A, 0x00,
+0x44, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x20,
+0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6E, 0x20,
+0x54, 0x68, 0x64, 0x20, 0x3D, 0x20, 0x25, 0x64,
+0x0D, 0x0A, 0x00, 0x00, 0x52, 0x65, 0x73, 0x65,
+0x72, 0x76, 0x65, 0x64, 0x20, 0x3D, 0x20, 0x25,
+0x64, 0x0D, 0x0A, 0x00, 0x43, 0x6F, 0x6D, 0x70,
+0x61, 0x6E, 0x79, 0x20, 0x49, 0x44, 0x20, 0x3D,
+0x20, 0x25, 0x64, 0x0D, 0x0A, 0x00, 0x00, 0x00,
+0x53, 0x74, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20,
+0x49, 0x44, 0x20, 0x3D, 0x20, 0x25, 0x64, 0x0D,
+0x0A, 0x00, 0x00, 0x00, 0x2A, 0x08, 0x00, 0x20,
+0x52, 0x4D, 0x36, 0x44, 0x30, 0x31, 0x30, 0x20,
+0x4F, 0x70, 0x65, 0x6E, 0x2F, 0x53, 0x68, 0x6F,
+0x72, 0x74, 0x20, 0x53, 0x63, 0x61, 0x6E, 0x20,
+0x54, 0x69, 0x6D, 0x65, 0x73, 0x3D, 0x25, 0x64,
+0x0D, 0x0A, 0x00, 0x00, 0xFF, 0xB5, 0x87, 0xB0,
+0x88, 0x48, 0x10, 0x9F, 0x01, 0x90, 0x88, 0x48,
+0x88, 0x49, 0x00, 0x90, 0x09, 0x68, 0x88, 0x48,
+0x05, 0x91, 0x00, 0x68, 0x02, 0x90, 0x87, 0x48,
+0x03, 0x91, 0x02, 0x78, 0x86, 0x48, 0x00, 0x25,
+0x00, 0x68, 0x03, 0x46, 0x20, 0x33, 0xDC, 0x78,
+0x99, 0x78, 0x24, 0x02, 0x0C, 0x43, 0x59, 0x1C,
+0x4E, 0x7B, 0x09, 0x7B, 0x36, 0x02, 0x0E, 0x43,
+0xA1, 0x1B, 0x00, 0x2A, 0x31, 0xD0, 0x01, 0x2A,
+0x39, 0xD0, 0x60, 0x20, 0x41, 0x43, 0xC8, 0x0F,
+0x40, 0x18, 0x40, 0x10, 0x00, 0xB2, 0x7F, 0x1C,
+0x78, 0x43, 0xC1, 0x17, 0x89, 0x0E, 0x08, 0x18,
+0x80, 0x11, 0x04, 0xB2, 0x48, 0x21, 0x00, 0x98,
+0xFD, 0xF7, 0xAB, 0xFA, 0x01, 0x98, 0x06, 0x90,
+0x00, 0x20, 0x01, 0x26, 0x76, 0x02, 0x72, 0x49,
+0x09, 0x68, 0x49, 0x19, 0x20, 0x31, 0x49, 0x7C,
+0x24, 0x29, 0x20, 0xD0, 0x01, 0x99, 0x6B, 0x00,
+0xCE, 0x52, 0x6D, 0x1C, 0xAD, 0xB2, 0x24, 0x2D,
+0xF1, 0xD3, 0x01, 0x21, 0x02, 0x20, 0x00, 0xF0,
+0xB7, 0xFC, 0x01, 0x20, 0x40, 0x02, 0x04, 0x90,
+0x68, 0x48, 0x00, 0x78, 0xC0, 0x07, 0x7D, 0xD1,
+0x11, 0xE0, 0x1A, 0x7C, 0x80, 0x7E, 0x52, 0x1C,
+0x51, 0x43, 0x49, 0x00, 0x40, 0x1C, 0x41, 0x43,
+0xFF, 0x39, 0xF5, 0x39, 0xC7, 0xE7, 0x60, 0x20,
+0x41, 0x43, 0xC8, 0x31, 0xC3, 0xE7, 0x01, 0x99,
+0x6B, 0x00, 0xC8, 0x52, 0xDD, 0xE7, 0x00, 0x25,
+0x00, 0x20, 0x81, 0x00, 0x06, 0x9A, 0x40, 0x1C,
+0x53, 0x58, 0x02, 0x9A, 0x80, 0xB2, 0x53, 0x50,
+0x12, 0x28, 0xF6, 0xD3, 0x01, 0x21, 0x02, 0x20,
+0x00, 0xF0, 0x8E, 0xFC, 0x55, 0x48, 0x00, 0x78,
+0xC0, 0x07, 0x57, 0xD1, 0x54, 0x48, 0x00, 0x26,
+0x00, 0x68, 0x33, 0x46, 0x84, 0x46, 0x50, 0x48,
+0x00, 0x68, 0xC0, 0x18, 0x20, 0x30, 0x40, 0x7C,
+0x24, 0x28, 0x10, 0xD0, 0x01, 0x98, 0x5A, 0x00,
+0x80, 0x5A, 0x0A, 0x2D, 0x11, 0xD2, 0x61, 0x46,
+0x8F, 0x5E, 0xA7, 0x42, 0x01, 0xDA, 0x04, 0x99,
+0x88, 0x43, 0x04, 0x99, 0x49, 0x08, 0x08, 0x43,
+0x09, 0x2D, 0x03, 0xD0, 0x51, 0xE0, 0x76, 0x1C,
+0xB6, 0xB2, 0x50, 0xE0, 0x00, 0x99, 0x8F, 0x52,
+0x4B, 0xE0, 0x3E, 0x2D, 0x36, 0xD8, 0x61, 0x46,
+0x89, 0x5E, 0xA1, 0x42, 0x09, 0xDA, 0xC7, 0x1F,
+0xFF, 0x3F, 0xFA, 0x3F, 0x01, 0xD1, 0xFF, 0x20,
+0x13, 0xE0, 0x00, 0x28, 0x1D, 0xD0, 0x40, 0x1E,
+0x09, 0xE0, 0xC7, 0x1F, 0xFF, 0x3F, 0xF9, 0x3F,
+0x01, 0xD1, 0x3A, 0x48, 0x09, 0xE0, 0x3A, 0x4F,
+0xB8, 0x42, 0x01, 0xD2, 0x40, 0x1C, 0x80, 0xB2,
+0x00, 0x28, 0x0E, 0xD0, 0x36, 0x4F, 0xB8, 0x42,
+0x0B, 0xD0, 0xA1, 0x42, 0x03, 0xDA, 0x00, 0x9F,
+0xBF, 0x5E, 0xA7, 0x42, 0x05, 0xDC, 0xA1, 0x42,
+0x05, 0xDD, 0x00, 0x99, 0x89, 0x5E, 0xA1, 0x42,
+0x01, 0xDA, 0x76, 0x1C, 0xB6, 0xB2, 0x01, 0x99,
+0x05, 0x9F, 0x89, 0x5A, 0xB9, 0x52, 0x61, 0x46,
+0x89, 0x5A, 0x00, 0xE0, 0x2A, 0xE0, 0x00, 0x9F,
+0xB9, 0x52, 0x12, 0xE0, 0x3F, 0x2D, 0x12, 0xD1,
+0x00, 0x99, 0x89, 0x5E, 0x09, 0x1B, 0x00, 0xD5,
+0x49, 0x42, 0x09, 0xB2, 0x8E, 0x46, 0x61, 0x46,
+0x89, 0x5E, 0x09, 0x1B, 0x00, 0xD5, 0x49, 0x42,
+0x0F, 0xB2, 0xBE, 0x45, 0x01, 0xDA, 0x05, 0x98,
+0x80, 0x5A, 0x01, 0x99, 0x88, 0x52, 0x5B, 0x1C,
+0x9B, 0xB2, 0x24, 0x2B, 0x8F, 0xD3, 0x24, 0x2E,
+0x00, 0xD1, 0x3E, 0x25, 0x04, 0x98, 0x6D, 0x1C,
+0x40, 0x08, 0xAD, 0xB2, 0x04, 0x90, 0x40, 0x2D,
+0x00, 0xD8, 0x6D, 0xE7, 0x13, 0x48, 0x00, 0x78,
+0xC0, 0x07, 0x02, 0xD0, 0x00, 0x20, 0x0B, 0xB0,
+0xF0, 0xBD, 0x48, 0x22, 0x61, 0x46, 0x03, 0x98,
+0xFD, 0xF7, 0xC2, 0xF9, 0x0A, 0x98, 0x00, 0x28,
+0x09, 0xD0, 0x01, 0x22, 0x02, 0x99, 0x07, 0x98,
+0xFD, 0xF7, 0x16, 0xFC, 0x01, 0x22, 0x03, 0x99,
+0x08, 0x98, 0xFD, 0xF7, 0xD7, 0xFB, 0x01, 0x20,
+0xE9, 0xE7, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x20,
+0x9C, 0x01, 0x00, 0x20, 0x08, 0x00, 0x00, 0x20,
+0x10, 0x00, 0x00, 0x20, 0x85, 0x00, 0x00, 0x20,
+0xD0, 0x00, 0x00, 0x20, 0xB9, 0x00, 0x00, 0x20,
+0x28, 0x00, 0x00, 0x20, 0xFF, 0x02, 0x00, 0x00,
+0xFF, 0x03, 0x00, 0x00, 0xFF, 0xB5, 0x89, 0xB0,
+0xA7, 0x48, 0x00, 0x90, 0xA7, 0x48, 0x04, 0x90,
+0xA7, 0x48, 0x00, 0x24, 0x06, 0x68, 0xA7, 0x48,
+0x06, 0x96, 0x02, 0x68, 0x0B, 0x9F, 0x15, 0x46,
+0x20, 0x35, 0x29, 0x7C, 0x90, 0x7E, 0x12, 0x9B,
+0x49, 0x1C, 0x40, 0x1C, 0x00, 0x2F, 0x16, 0xD0,
+0xA1, 0x4F, 0x21, 0x32, 0x3F, 0x68, 0x02, 0x97,
+0x03, 0x96, 0xEE, 0x78, 0xAF, 0x78, 0x35, 0x02,
+0x3D, 0x43, 0x56, 0x7B, 0x17, 0x7B, 0x32, 0x02,
+0x3A, 0x43, 0xAA, 0x1A, 0x4A, 0x43, 0x42, 0x43,
+0xFF, 0x3A, 0xF5, 0x3A, 0xD0, 0x0F, 0x80, 0x18,
+0x40, 0x10, 0x00, 0xB2, 0x0F, 0xE0, 0x97, 0x4A,
+0x99, 0x4D, 0x12, 0x68, 0x02, 0x92, 0x96, 0x4A,
+0x12, 0x68, 0x03, 0x92, 0x95, 0x4A, 0x2D, 0x88,
+0x12, 0x88, 0x92, 0x08, 0x52, 0x19, 0xD2, 0x1E,
+0x4A, 0x43, 0x42, 0x43, 0x10, 0xB2, 0x5B, 0x1C,
+0x58, 0x43, 0xC1, 0x17, 0x89, 0x0E, 0x08, 0x18,
+0x80, 0x11, 0x05, 0xB2, 0x48, 0x21, 0x04, 0x98,
+0xFD, 0xF7, 0x6F, 0xF9, 0x00, 0x98, 0x01, 0x23,
+0x8C, 0x4F, 0x5E, 0x02, 0x07, 0x90, 0x01, 0xE0,
+0x12, 0x2C, 0x1B, 0xD2, 0xF9, 0x68, 0x18, 0x46,
+0xA0, 0x40, 0x01, 0x40, 0x88, 0x03, 0x04, 0xD1,
+0x00, 0x20, 0x00, 0x99, 0x62, 0x00, 0x88, 0x52,
+0x02, 0xE0, 0x00, 0x98, 0x61, 0x00, 0x46, 0x52,
+0x64, 0x1C, 0xA4, 0xB2, 0x24, 0x2C, 0xEB, 0xD3,
+0xFE, 0xF7, 0x74, 0xFE, 0x00, 0x24, 0x80, 0x4F,
+0x00, 0xF0, 0x92, 0xFB, 0x38, 0x78, 0x00, 0x28,
+0x2F, 0xD1, 0x09, 0xE0, 0x7B, 0x48, 0x02, 0x69,
+0x20, 0x46, 0x12, 0x38, 0x01, 0x21, 0x81, 0x40,
+0x0A, 0x40, 0x90, 0x03, 0xE5, 0xD1, 0xDF, 0xE7,
+0xFE, 0xF7, 0x10, 0xFE, 0xFF, 0xF7, 0x9E, 0xF8,
+0x64, 0x1C, 0xA4, 0xB2, 0x02, 0x2C, 0xE7, 0xD3,
+0x00, 0xF0, 0x44, 0xFB, 0x72, 0x48, 0x00, 0x78,
+0x00, 0x28, 0x16, 0xD1, 0x01, 0x20, 0x40, 0x02,
+0x05, 0x90, 0x00, 0x20, 0x01, 0x90, 0x00, 0x20,
+0x81, 0x00, 0x07, 0x9A, 0x40, 0x1C, 0x53, 0x58,
+0x02, 0x9A, 0x80, 0xB2, 0x53, 0x50, 0x12, 0x28,
+0xF6, 0xD3, 0xFE, 0xF7, 0x43, 0xFE, 0x00, 0xF0,
+0x63, 0xFB, 0x67, 0x48, 0x00, 0x78, 0x00, 0x28,
+0x02, 0xD0, 0x00, 0x20, 0x0D, 0xB0, 0xF0, 0xBD,
+0x00, 0xF0, 0x24, 0xFB, 0xFE, 0xF7, 0xE6, 0xFD,
+0x0B, 0x98, 0x00, 0x28, 0x01, 0xD0, 0x61, 0x48,
+0x00, 0xE0, 0x61, 0x48, 0x00, 0x24, 0x23, 0x46,
+0x01, 0x68, 0x01, 0xE0, 0x12, 0x2B, 0x09, 0xD2,
+0x5A, 0x48, 0xC2, 0x68, 0x01, 0x20, 0x98, 0x40,
+0x02, 0x40, 0x90, 0x03, 0x0A, 0xD1, 0x64, 0x1C,
+0xA4, 0xB2, 0x71, 0xE0, 0x16, 0x69, 0x1F, 0x46,
+0x12, 0x3F, 0x01, 0x20, 0xB8, 0x40, 0x06, 0x40,
+0xB0, 0x03, 0x0C, 0xD0, 0x00, 0x98, 0x5A, 0x00,
+0x01, 0x9E, 0x80, 0x5A, 0x0A, 0x2E, 0x17, 0xD2,
+0x0B, 0x9E, 0x00, 0x2E, 0x8E, 0x5E, 0x05, 0xD0,
+0xAE, 0x42, 0x05, 0xDB, 0x06, 0xE0, 0x64, 0x1C,
+0xA4, 0xB2, 0x5A, 0xE0, 0xAE, 0x42, 0x01, 0xDD,
+0x05, 0x9E, 0xB0, 0x43, 0x05, 0x9E, 0x76, 0x08,
+0x30, 0x43, 0x01, 0x9E, 0x09, 0x2E, 0x4D, 0xD1,
+0x04, 0x9E, 0x8F, 0x5A, 0xB7, 0x52, 0x49, 0xE0,
+0x3E, 0x2E, 0x36, 0xD8, 0x8E, 0x5E, 0x0B, 0x9F,
+0xAE, 0x42, 0x26, 0xDA, 0x00, 0x2F, 0x26, 0xD1,
+0x03, 0xE0, 0x00, 0x28, 0x1A, 0xD0, 0x40, 0x1E,
+0x06, 0xE0, 0xC7, 0x1F, 0xFF, 0x3F, 0xF9, 0x3F,
+0x23, 0xD1, 0x3E, 0x48, 0x06, 0xE0, 0x40, 0x1C,
+0x80, 0xB2, 0x00, 0x28, 0x0E, 0xD0, 0x3C, 0x4F,
+0xB8, 0x42, 0x0B, 0xD0, 0xAE, 0x42, 0x03, 0xDA,
+0x04, 0x9F, 0xBF, 0x5E, 0xAF, 0x42, 0x05, 0xDC,
+0xAE, 0x42, 0x05, 0xDD, 0x04, 0x9E, 0xB6, 0x5E,
+0xAE, 0x42, 0x01, 0xDA, 0x64, 0x1C, 0xA4, 0xB2,
+0x00, 0x9E, 0xB7, 0x5A, 0x06, 0x9E, 0xB7, 0x52,
+0xCE, 0xE7, 0x00, 0x2F, 0xDD, 0xD1, 0xC7, 0x1F,
+0xFF, 0x3F, 0xFA, 0x3F, 0xD5, 0xD1, 0xFF, 0x20,
+0xE4, 0xE7, 0x2D, 0x4F, 0xB8, 0x42, 0xDA, 0xD3,
+0xDB, 0xE7, 0x3F, 0x2E, 0x10, 0xD1, 0x04, 0x9E,
+0xB6, 0x5E, 0x76, 0x1B, 0x00, 0xD5, 0x76, 0x42,
+0x8F, 0x5E, 0x36, 0xB2, 0x7F, 0x1B, 0x00, 0xD5,
+0x7F, 0x42, 0x3F, 0xB2, 0xBE, 0x42, 0x01, 0xDA,
+0x06, 0x98, 0x80, 0x5A, 0x00, 0x9E, 0xB0, 0x52,
+0x1C, 0x4A, 0x5B, 0x1C, 0x9B, 0xB2, 0x24, 0x2B,
+0x00, 0xD2, 0x7B, 0xE7, 0x24, 0x2C, 0x01, 0xD1,
+0x3E, 0x20, 0x01, 0x90, 0x05, 0x98, 0x40, 0x08,
+0x05, 0x90, 0x01, 0x98, 0x40, 0x1C, 0x80, 0xB2,
+0x01, 0x90, 0x40, 0x28, 0x00, 0xD8, 0x4A, 0xE7,
+0x48, 0x22, 0x03, 0x98, 0xFD, 0xF7, 0x5C, 0xF8,
+0x0C, 0x98, 0x00, 0x28, 0x09, 0xD0, 0x01, 0x22,
+0x02, 0x99, 0x09, 0x98, 0xFD, 0xF7, 0xB0, 0xFA,
+0x01, 0x22, 0x03, 0x99, 0x0A, 0x98, 0xFD, 0xF7,
+0x71, 0xFA, 0x01, 0x20, 0x4A, 0xE7, 0x00, 0x00,
+0xF4, 0x00, 0x00, 0x20, 0x9C, 0x01, 0x00, 0x20,
+0x08, 0x00, 0x00, 0x20, 0xD0, 0x00, 0x00, 0x20,
+0x10, 0x00, 0x00, 0x20, 0x14, 0x00, 0x00, 0x20,
+0x0C, 0x00, 0x00, 0x20, 0x34, 0x00, 0x00, 0x20,
+0x38, 0x00, 0x00, 0x20, 0x80, 0x10, 0x00, 0x50,
+0xBC, 0x00, 0x00, 0x20, 0x28, 0x00, 0x00, 0x20,
+0x30, 0x00, 0x00, 0x20, 0xFF, 0x02, 0x00, 0x00,
+0xFF, 0x03, 0x00, 0x00, 0xF8, 0xB5, 0x52, 0x48,
+0x53, 0x4C, 0x01, 0x68, 0x0A, 0x46, 0x11, 0x32,
+0xD0, 0x7B, 0xCB, 0x7F, 0x00, 0x02, 0x18, 0x43,
+0x4E, 0x4B, 0x18, 0x80, 0x08, 0x46, 0x20, 0x30,
+0x43, 0x78, 0x23, 0x70, 0xC3, 0x78, 0x84, 0x78,
+0x1B, 0x02, 0x23, 0x43, 0x4B, 0x4C, 0x23, 0x80,
+0x43, 0x79, 0x04, 0x79, 0x1B, 0x02, 0x23, 0x43,
+0x49, 0x4C, 0x23, 0x70, 0x01, 0x23, 0x9B, 0x07,
+0x1C, 0x68, 0x04, 0x25, 0x2C, 0x43, 0x1C, 0x60,
+0x46, 0x4B, 0x00, 0x24, 0x9C, 0x60, 0x2C, 0x02,
+0x1C, 0x60, 0x45, 0x4C, 0xDC, 0x60, 0x44, 0x1C,
+0x65, 0x7B, 0x26, 0x7B, 0x2C, 0x02, 0x34, 0x43,
+0xE4, 0x05, 0xE4, 0x0D, 0x1C, 0x61, 0x03, 0x24,
+0x5C, 0x61, 0x01, 0x27, 0x9F, 0x61, 0x3F, 0x4C,
+0x1C, 0x62, 0xC0, 0x7B, 0x23, 0x14, 0x80, 0x06,
+0x80, 0x0E, 0x3A, 0x4E, 0xC0, 0x18, 0x80, 0x36,
+0x70, 0x61, 0x38, 0x04, 0xB0, 0x61, 0x70, 0x62,
+0x36, 0x4B, 0x39, 0x4C, 0x40, 0x33, 0xDC, 0x60,
+0x18, 0x61, 0x00, 0x20, 0x0B, 0x18, 0x31, 0x24,
+0xE4, 0x5C, 0x24, 0x2C, 0x04, 0xD1, 0xF5, 0x68,
+0x3C, 0x46, 0x84, 0x40, 0xA5, 0x43, 0xF5, 0x60,
+0x40, 0x33, 0xDB, 0x78, 0x24, 0x2B, 0x04, 0xD1,
+0x34, 0x69, 0x3B, 0x46, 0x83, 0x40, 0x9C, 0x43,
+0x34, 0x61, 0x40, 0x1C, 0xC0, 0xB2, 0x12, 0x28,
+0xE8, 0xD3, 0x50, 0x7B, 0x11, 0x7B, 0x00, 0x02,
+0x08, 0x43, 0x40, 0x05, 0x25, 0x49, 0x40, 0x0D,
+0x40, 0x31, 0x88, 0x60, 0x50, 0x7B, 0x13, 0x7B,
+0x00, 0x02, 0x18, 0x43, 0x80, 0x05, 0x21, 0x4B,
+0x80, 0x09, 0xC0, 0x33, 0x58, 0x60, 0x00, 0x20,
+0xB0, 0x63, 0x50, 0x7B, 0x12, 0x7B, 0x00, 0x02,
+0x10, 0x43, 0x80, 0x05, 0x80, 0x0D, 0xF0, 0x63,
+0x1E, 0x48, 0x18, 0x60, 0x1E, 0x48, 0x30, 0x62,
+0x30, 0x63, 0x1F, 0x4A, 0x1D, 0x48, 0x10, 0x60,
+0x03, 0x20, 0x00, 0x04, 0xC8, 0x61, 0xFF, 0x21,
+0x14, 0x48, 0xC9, 0x43, 0x41, 0x60, 0x48, 0x21,
+0x1A, 0x48, 0xFC, 0xF7, 0xBA, 0xFF, 0x48, 0x21,
+0x19, 0x48, 0xFC, 0xF7, 0xB6, 0xFF, 0x48, 0x21,
+0x18, 0x48, 0xFC, 0xF7, 0xB2, 0xFF, 0x48, 0x21,
+0x17, 0x48, 0xFC, 0xF7, 0xAE, 0xFF, 0x48, 0x21,
+0x16, 0x48, 0xFC, 0xF7, 0xAA, 0xFF, 0x48, 0x21,
+0x15, 0x48, 0xFC, 0xF7, 0xA6, 0xFF, 0x48, 0x21,
+0x14, 0x48, 0xFC, 0xF7, 0xA2, 0xFF, 0xF8, 0xBD,
+0xD0, 0x00, 0x00, 0x20, 0x34, 0x00, 0x00, 0x20,
+0x36, 0x00, 0x00, 0x20, 0x38, 0x00, 0x00, 0x20,
+0x3A, 0x00, 0x00, 0x20, 0x00, 0x10, 0x00, 0x50,
+0x00, 0x01, 0x04, 0x00, 0x00, 0x10, 0x00, 0x11,
+0x6E, 0x01, 0x01, 0x00, 0x20, 0x00, 0xCC, 0x00,
+0x00, 0x04, 0x01, 0x03, 0x44, 0x06, 0x02, 0x01,
+0x40, 0x00, 0x00, 0x50, 0x38, 0x05, 0x00, 0x20,
+0x9C, 0x01, 0x00, 0x20, 0x00, 0x00, 0x04, 0x20,
+0x00, 0x10, 0x04, 0x20, 0x00, 0x00, 0x01, 0x20,
+0x00, 0x10, 0x01, 0x20, 0x00, 0x20, 0x01, 0x20,
+0x70, 0xB5, 0x05, 0x46, 0x11, 0x48, 0x00, 0x24,
+0x01, 0x78, 0x11, 0x48, 0x00, 0x29, 0x00, 0x78,
+0x04, 0xD0, 0x01, 0x29, 0x07, 0xD0, 0x02, 0x29,
+0x16, 0xD1, 0x10, 0xE0, 0xC0, 0x07, 0x13, 0xD0,
+0x48, 0x22, 0x0C, 0x49, 0x03, 0xE0, 0x80, 0x07,
+0x0E, 0xD5, 0x0B, 0x49, 0x48, 0x22, 0x28, 0x46,
+0xFC, 0xF7, 0x46, 0xFF, 0x01, 0x24, 0x28, 0x46,
+0xFE, 0xF7, 0x2C, 0xFE, 0x04, 0xE0, 0x40, 0x07,
+0x02, 0xD5, 0x48, 0x22, 0x05, 0x49, 0xF2, 0xE7,
+0x20, 0x46, 0x70, 0xBD, 0x85, 0x00, 0x00, 0x20,
+0x8A, 0x00, 0x00, 0x20, 0x00, 0x10, 0x01, 0x20,
+0x00, 0x00, 0x02, 0x20, 0x00, 0x10, 0x02, 0x20,
+0xF8, 0xB5, 0x00, 0x25, 0x65, 0x4C, 0x2B, 0x46,
+0x25, 0x60, 0x65, 0x4A, 0x01, 0x21, 0x11, 0x70,
+0x64, 0x49, 0x0D, 0x60, 0x63, 0x4E, 0x08, 0x03,
+0x40, 0x36, 0x70, 0x62, 0x62, 0x48, 0x00, 0x68,
+0x02, 0x46, 0x20, 0x32, 0x11, 0x7C, 0x89, 0x06,
+0x89, 0x0E, 0x0F, 0x02, 0x39, 0x43, 0x31, 0x60,
+0x81, 0x7E, 0xC7, 0x7E, 0x49, 0x1E, 0x09, 0x06,
+0x09, 0x0C, 0x7F, 0x1E, 0xFF, 0xB2, 0x39, 0x43,
+0x71, 0x60, 0x5A, 0x49, 0x0E, 0x78, 0x01, 0x46,
+0x11, 0x31, 0xB4, 0x46, 0x00, 0x2E, 0x0D, 0xD0,
+0x57, 0x4E, 0xF7, 0x6B, 0x57, 0x4E, 0xB7, 0x42,
+0xCE, 0x7B, 0x89, 0x7B, 0x22, 0xD1, 0x36, 0x02,
+0x0E, 0x43, 0xD1, 0x78, 0x92, 0x78, 0x09, 0x02,
+0x11, 0x43, 0x25, 0xE0, 0x50, 0x4B, 0xDE, 0x6B,
+0x50, 0x4B, 0x9E, 0x42, 0x08, 0xD1, 0x50, 0x49,
+0x52, 0x4A, 0x0E, 0x88, 0x4F, 0x49, 0x13, 0x78,
+0x0D, 0x78, 0x4F, 0x49, 0x09, 0x88, 0x17, 0xE0,
+0xCB, 0x7B, 0x8E, 0x7B, 0x19, 0x02, 0x31, 0x43,
+0xC9, 0x1C, 0x8E, 0xB2, 0xD1, 0x78, 0x92, 0x78,
+0x09, 0x02, 0x11, 0x43, 0x08, 0x31, 0x89, 0xB2,
+0x01, 0x23, 0x09, 0xE0, 0x36, 0x02, 0x0E, 0x43,
+0xD1, 0x78, 0x92, 0x78, 0xB6, 0x1C, 0x09, 0x02,
+0x11, 0x43, 0x09, 0x1D, 0xB6, 0xB2, 0x89, 0xB2,
+0xB2, 0x05, 0x92, 0x0D, 0x2D, 0x04, 0x2A, 0x43,
+0x38, 0x4D, 0x6A, 0x62, 0x89, 0x05, 0x89, 0x0D,
+0x1A, 0x04, 0x11, 0x43, 0xA9, 0x62, 0x38, 0x4A,
+0xD1, 0x6B, 0x38, 0x4B, 0x99, 0x42, 0x03, 0xD1,
+0x29, 0x68, 0x49, 0x00, 0x49, 0x08, 0x29, 0x60,
+0x30, 0x4E, 0x39, 0x49, 0x40, 0x36, 0x31, 0x63,
+0x61, 0x46, 0x38, 0x4F, 0x00, 0x29, 0x06, 0xD0,
+0x37, 0x4B, 0x30, 0x22, 0x01, 0x29, 0x19, 0xD0,
+0x02, 0x29, 0x45, 0xD1, 0x36, 0xE0, 0xD0, 0x6B,
+0x98, 0x42, 0x04, 0xD1, 0x28, 0x68, 0x01, 0x21,
+0xC9, 0x07, 0x08, 0x43, 0x28, 0x60, 0x5A, 0x20,
+0x38, 0x80, 0x03, 0x20, 0x00, 0x06, 0x20, 0x60,
+0x01, 0x20, 0xF0, 0x62, 0x2A, 0x48, 0x3F, 0x38,
+0x30, 0x63, 0x2C, 0x48, 0x70, 0x63, 0x2C, 0x48,
+0xB0, 0x63, 0x2D, 0xE0, 0x0A, 0x21, 0x39, 0x80,
+0x23, 0x60, 0x32, 0x60, 0x00, 0x21, 0x71, 0x60,
+0x28, 0x49, 0x71, 0x62, 0x28, 0x4F, 0x39, 0x68,
+0x81, 0x30, 0x42, 0x78, 0x03, 0x78, 0x10, 0x02,
+0x18, 0x43, 0x60, 0x22, 0x50, 0x43, 0x49, 0x1C,
+0xC0, 0x08, 0xFC, 0xF7, 0x5B, 0xFE, 0x80, 0x05,
+0x01, 0x21, 0x80, 0x0D, 0x09, 0x04, 0x40, 0x18,
+0xF8, 0x62, 0x01, 0x20, 0xF0, 0x62, 0xFF, 0x20,
+0x8C, 0x30, 0x0C, 0xE0, 0x2D, 0x20, 0x38, 0x80,
+0x0B, 0x49, 0x01, 0x20, 0x08, 0x70, 0x23, 0x60,
+0x32, 0x60, 0x00, 0x21, 0x71, 0x60, 0x19, 0x49,
+0x71, 0x62, 0xF0, 0x62, 0x18, 0x48, 0x70, 0x63,
+0xFD, 0xF7, 0x58, 0xF8, 0x28, 0x68, 0x17, 0x49,
+0x08, 0x40, 0x21, 0x68, 0x08, 0x43, 0x28, 0x60,
+0xF8, 0xBD, 0x00, 0x00, 0xB0, 0x00, 0x00, 0x20,
+0x7B, 0x00, 0x00, 0x20, 0x00, 0x10, 0x00, 0x50,
+0xD0, 0x00, 0x00, 0x20, 0x85, 0x00, 0x00, 0x20,
+0x80, 0x09, 0x00, 0x50, 0xA1, 0x00, 0x01, 0xF3,
+0x34, 0x00, 0x00, 0x20, 0x36, 0x00, 0x00, 0x20,
+0x38, 0x00, 0x00, 0x20, 0x3A, 0x00, 0x00, 0x20,
+0x3F, 0x3F, 0x3F, 0x3F, 0x9A, 0x00, 0x00, 0x20,
+0x00, 0x01, 0x00, 0x01, 0x03, 0x00, 0x65, 0x00,
+0xCB, 0x00, 0x3B, 0x01, 0x00, 0x60, 0x00, 0x01,
+0x40, 0x07, 0x00, 0x50, 0x00, 0x40, 0x00, 0x01,
+0x8B, 0x01, 0x2B, 0x00, 0xFF, 0xFF, 0x20, 0xE0,
+0xF8, 0xB5, 0x23, 0x4D, 0x23, 0x4E, 0x28, 0x70,
+0x04, 0x46, 0x02, 0x46, 0x31, 0x78, 0x22, 0xA0,
+0x01, 0xF0, 0x42, 0xF9, 0x00, 0xF0, 0x88, 0xF8,
+0x00, 0xF0, 0x50, 0xF8, 0x01, 0x20, 0x80, 0x07,
+0x41, 0x68, 0x04, 0x22, 0x11, 0x43, 0x41, 0x60,
+0x01, 0x20, 0xFE, 0xF7, 0xF3, 0xF9, 0x28, 0x78,
+0x1D, 0x49, 0x00, 0x27, 0x01, 0x28, 0x0F, 0xD0,
+0x02, 0x28, 0x0D, 0xD0, 0x0F, 0x70, 0xFE, 0xF7,
+0x35, 0xFB, 0xFF, 0xF7, 0xE5, 0xFE, 0x00, 0xF0,
+0x5F, 0xFD, 0x28, 0x78, 0x30, 0x70, 0x07, 0x28,
+0x1D, 0xD0, 0x00, 0x2C, 0x03, 0xD0, 0x14, 0xE0,
+0x20, 0x20, 0x08, 0x70, 0xEF, 0xE7, 0x13, 0x48,
+0x07, 0x70, 0x13, 0x48, 0xC0, 0x6B, 0x13, 0x49,
+0x88, 0x42, 0x0A, 0xD1, 0x12, 0x4C, 0x80, 0x20,
+0x20, 0x70, 0xFE, 0xF7, 0x37, 0xFB, 0x01, 0xE0,
+0x00, 0xF0, 0xF0, 0xFB, 0x20, 0x78, 0x00, 0x28,
+0xFA, 0xD1, 0xFE, 0xF7, 0x63, 0xFC, 0x00, 0x21,
+0x02, 0x20, 0x00, 0xF0, 0x2D, 0xF8, 0xF8, 0xBD,
+0x85, 0x00, 0x00, 0x20, 0x86, 0x00, 0x00, 0x20,
+0x53, 0x4D, 0x3D, 0x5B, 0x25, 0x64, 0x3A, 0x25,
+0x64, 0x5D, 0x0D, 0x0A, 0x00, 0x00, 0x00, 0x00,
+0xBA, 0x00, 0x00, 0x20, 0x89, 0x00, 0x00, 0x20,
+0x80, 0x09, 0x00, 0x50, 0xA1, 0x00, 0x01, 0xF3,
+0xCF, 0x00, 0x00, 0x20, 0x10, 0xB5, 0x08, 0x48,
+0x01, 0x68, 0x01, 0x22, 0x92, 0x02, 0x11, 0x43,
+0x01, 0x60, 0x00, 0x68, 0x05, 0x4C, 0xC0, 0x07,
+0x03, 0xD0, 0x02, 0x20, 0x20, 0x71, 0x00, 0xF0,
+0x27, 0xF8, 0x00, 0x20, 0x20, 0x71, 0x10, 0xBD,
+0x00, 0x10, 0x00, 0x50, 0xB0, 0x00, 0x00, 0x20,
+0x70, 0xB5, 0x0E, 0x46, 0x05, 0x00, 0x16, 0xD0,
+0xFE, 0xF7, 0xF8, 0xFA, 0x00, 0x24, 0x6D, 0x1E,
+0x07, 0xE0, 0x00, 0xF0, 0x15, 0xF8, 0xFE, 0xF7,
+0xA1, 0xFA, 0xFE, 0xF7, 0x2F, 0xFD, 0x64, 0x1C,
+0xE4, 0xB2, 0xAC, 0x42, 0xF5, 0xDB, 0x00, 0xF0,
+0x0B, 0xF8, 0xFE, 0xF7, 0x97, 0xFA, 0x00, 0x2E,
+0x02, 0xD0, 0xFF, 0xF7, 0xCF, 0xFF, 0x70, 0xBD,
+0xFE, 0xF7, 0x20, 0xFD, 0x70, 0xBD, 0x00, 0x00,
+0x10, 0xB5, 0x07, 0x48, 0x00, 0x79, 0x00, 0x28,
+0x09, 0xD0, 0x06, 0x48, 0x00, 0x78, 0x00, 0x28,
+0x03, 0xD1, 0x05, 0x48, 0x00, 0x68, 0xC0, 0x07,
+0x01, 0xD0, 0x01, 0xF0, 0x77, 0xF9, 0x10, 0xBD,
+0xB0, 0x00, 0x00, 0x20, 0x7B, 0x00, 0x00, 0x20,
+0x00, 0x10, 0x00, 0x50, 0xFE, 0xB5, 0x26, 0x49,
+0x00, 0x27, 0xC8, 0x5F, 0x01, 0x90, 0x25, 0x48,
+0xC5, 0x5F, 0x25, 0xA0, 0x01, 0xF0, 0x98, 0xF8,
+0x05, 0x21, 0x29, 0x48, 0xFC, 0xF7, 0x99, 0xFD,
+0x00, 0x24, 0xE0, 0x17, 0x40, 0x0F, 0x00, 0x19,
+0xC1, 0x10, 0x25, 0x4A, 0x02, 0x91, 0x0A, 0x3A,
+0x89, 0x18, 0xC0, 0x08, 0xC0, 0x00, 0x09, 0x78,
+0x20, 0x1A, 0x01, 0x26, 0x86, 0x40, 0x31, 0x42,
+0x1A, 0xD0, 0x20, 0x49, 0x60, 0x00, 0x0A, 0x5E,
+0x01, 0x98, 0x82, 0x42, 0x01, 0xDC, 0xAA, 0x42,
+0x12, 0xDA, 0x03, 0x46, 0x21, 0x46, 0x1C, 0x48,
+0x00, 0x95, 0x01, 0xF0, 0x75, 0xF8, 0x1B, 0x4A,
+0xA0, 0x00, 0x11, 0x58, 0x02, 0x23, 0x19, 0x43,
+0x11, 0x50, 0x15, 0x49, 0x02, 0x98, 0x40, 0x18,
+0x01, 0x78, 0x31, 0x43, 0x01, 0x70, 0x01, 0x27,
+0x64, 0x1C, 0x28, 0x2C, 0xD1, 0xD3, 0x00, 0x2F,
+0x0A, 0xD0, 0x13, 0xA0, 0x01, 0xF0, 0x60, 0xF8,
+0x0D, 0x48, 0x02, 0x22, 0x1A, 0x38, 0xC1, 0x68,
+0x11, 0x43, 0xC1, 0x60, 0x38, 0x46, 0xFE, 0xBD,
+0x12, 0xA0, 0x01, 0xF0, 0x55, 0xF8, 0xF9, 0xE7,
+0x18, 0x08, 0x00, 0x20, 0x72, 0x08, 0x00, 0x20,
+0x2A, 0x2A, 0x53, 0x74, 0x61, 0x72, 0x74, 0x20,
+0x53, 0x68, 0x6F, 0x72, 0x74, 0x20, 0x54, 0x65,
+0x73, 0x74, 0x2A, 0x2A, 0x0D, 0x0A, 0x00, 0x00,
+0x62, 0x00, 0x00, 0x20, 0x44, 0x06, 0x00, 0x20,
+0x20, 0x5A, 0x00, 0x00, 0x80, 0x08, 0x00, 0x20,
+0x53, 0x68, 0x6F, 0x72, 0x74, 0x20, 0x54, 0x65,
+0x73, 0x74, 0x20, 0x5B, 0x4E, 0x47, 0x5D, 0x0D,
+0x0A, 0x00, 0x00, 0x00, 0x53, 0x68, 0x6F, 0x72,
+0x74, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x5B,
+0x50, 0x61, 0x73, 0x73, 0x5D, 0x0D, 0x0A, 0x00,
+0xF1, 0xB5, 0x84, 0xB0, 0x00, 0x26, 0x41, 0x48,
+0x02, 0x96, 0x01, 0x96, 0x82, 0x5F, 0x40, 0x48,
+0x81, 0x5F, 0x40, 0xA0, 0x01, 0xF0, 0x1C, 0xF8,
+0x05, 0x21, 0x49, 0x48, 0xFC, 0xF7, 0x1D, 0xFD,
+0x00, 0x24, 0xE0, 0x17, 0x40, 0x0F, 0x00, 0x19,
+0xC7, 0x10, 0x45, 0x49, 0xC0, 0x08, 0x0F, 0x39,
+0x79, 0x18, 0xC0, 0x00, 0x09, 0x78, 0x20, 0x1A,
+0x01, 0x25, 0x85, 0x40, 0x29, 0x42, 0x40, 0xD0,
+0x40, 0x49, 0x60, 0x00, 0x09, 0x5E, 0x00, 0x91,
+0x3F, 0x49, 0x0A, 0x5E, 0x01, 0x20, 0x40, 0x02,
+0x82, 0x42, 0x02, 0xDA, 0xFF, 0x32, 0x01, 0x32,
+0x12, 0xB2, 0x2C, 0x48, 0x00, 0x21, 0x41, 0x5E,
+0x8A, 0x42, 0x13, 0xDD, 0x21, 0x46, 0x39, 0xA0,
+0x00, 0xF0, 0xF2, 0xFF, 0x04, 0x98, 0x00, 0x28,
+0x05, 0xD0, 0x3D, 0x4A, 0xA0, 0x00, 0x11, 0x58,
+0x40, 0x23, 0x19, 0x43, 0x11, 0x50, 0x30, 0x48,
+0x38, 0x18, 0x01, 0x78, 0x29, 0x43, 0x01, 0x70,
+0x01, 0x26, 0x01, 0x96, 0x20, 0x48, 0x00, 0x22,
+0x82, 0x5E, 0x00, 0x99, 0x91, 0x42, 0x14, 0xDD,
+0x0A, 0x46, 0x21, 0x46, 0x33, 0xA0, 0x00, 0xF0,
+0xD7, 0xFF, 0x04, 0x98, 0x00, 0x28, 0x05, 0xD0,
+0x2F, 0x4A, 0xA0, 0x00, 0x11, 0x58, 0x04, 0x23,
+0x19, 0x43, 0x11, 0x50, 0x22, 0x48, 0x38, 0x18,
+0x01, 0x78, 0x29, 0x43, 0x01, 0x70, 0x01, 0x26,
+0x02, 0x96, 0x64, 0x1C, 0x28, 0x2C, 0xAC, 0xD3,
+0x00, 0x2E, 0x05, 0xD0, 0x1C, 0x4C, 0x01, 0x98,
+0x1F, 0x3C, 0x01, 0x28, 0x04, 0xD0, 0x0B, 0xE0,
+0x2D, 0xA0, 0x00, 0xF0, 0xB9, 0xFF, 0x11, 0xE0,
+0x32, 0xA0, 0x00, 0xF0, 0xB5, 0xFF, 0x01, 0x21,
+0xE0, 0x68, 0x09, 0x04, 0x08, 0x43, 0xE0, 0x60,
+0x02, 0x98, 0x01, 0x28, 0x06, 0xD1, 0x34, 0xA0,
+0x00, 0xF0, 0xAA, 0xFF, 0xE0, 0x68, 0x04, 0x21,
+0x08, 0x43, 0xE0, 0x60, 0x30, 0x46, 0x05, 0xB0,
+0xF0, 0xBD, 0x00, 0x00, 0x1E, 0x08, 0x00, 0x20,
+0x1C, 0x08, 0x00, 0x20, 0x2A, 0x2A, 0x53, 0x74,
+0x61, 0x72, 0x74, 0x20, 0x55, 0x6E, 0x69, 0x66,
+0x6F, 0x72, 0x6D, 0x69, 0x74, 0x79, 0x20, 0x54,
+0x65, 0x73, 0x74, 0x5B, 0x42, 0x4C, 0x3A, 0x25,
+0x64, 0x2C, 0x20, 0x43, 0x43, 0x3A, 0x25, 0x64,
+0x5D, 0x2A, 0x2A, 0x0D, 0x0A, 0x00, 0x00, 0x00,
+0x67, 0x00, 0x00, 0x20, 0x1C, 0x07, 0x00, 0x20,
+0x64, 0x07, 0x00, 0x20, 0x55, 0x6E, 0x69, 0x66,
+0x6F, 0x72, 0x6D, 0x69, 0x74, 0x79, 0x20, 0x43,
+0x43, 0x20, 0x4E, 0x47, 0x5B, 0x25, 0x64, 0x5D,
+0x20, 0x3D, 0x20, 0x25, 0x64, 0x0D, 0x0A, 0x00,
+0x80, 0x08, 0x00, 0x20, 0x55, 0x6E, 0x69, 0x66,
+0x6F, 0x72, 0x6D, 0x69, 0x74, 0x79, 0x20, 0x42,
+0x61, 0x73, 0x65, 0x6C, 0x69, 0x6E, 0x65, 0x20,
+0x4E, 0x47, 0x5B, 0x25, 0x64, 0x5D, 0x20, 0x3D,
+0x20, 0x25, 0x64, 0x0D, 0x0A, 0x00, 0x00, 0x00,
+0x55, 0x6E, 0x69, 0x66, 0x6F, 0x72, 0x6D, 0x69,
+0x74, 0x79, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20,
+0x5B, 0x50, 0x61, 0x73, 0x73, 0x5D, 0x0D, 0x0A,
+0x00, 0x00, 0x00, 0x00, 0x55, 0x6E, 0x69, 0x66,
+0x6F, 0x72, 0x6D, 0x69, 0x74, 0x79, 0x20, 0x43,
+0x43, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x5B,
+0x4E, 0x47, 0x5D, 0x0D, 0x0A, 0x00, 0x00, 0x00,
+0x55, 0x6E, 0x69, 0x66, 0x6F, 0x72, 0x6D, 0x69,
+0x74, 0x79, 0x20, 0x42, 0x61, 0x73, 0x65, 0x6C,
+0x69, 0x6E, 0x65, 0x20, 0x54, 0x65, 0x73, 0x74,
+0x20, 0x5B, 0x4E, 0x47, 0x5D, 0x0D, 0x0A, 0x00,
+0xF8, 0xB5, 0x40, 0x48, 0x41, 0x78, 0x00, 0x29,
+0x43, 0xD1, 0x00, 0x78, 0x00, 0x28, 0x40, 0xD1,
+0x3D, 0x48, 0x00, 0x78, 0x00, 0x28, 0x3C, 0xD1,
+0x3C, 0x48, 0x00, 0x78, 0x00, 0x28, 0x38, 0xD1,
+0x3B, 0x4C, 0x00, 0x26, 0x20, 0x78, 0x3B, 0x4D,
+0x00, 0x28, 0x01, 0xD0, 0x02, 0x28, 0x05, 0xD1,
+0x01, 0x20, 0xFD, 0xF7, 0x0D, 0xFC, 0x01, 0x20,
+0x20, 0x70, 0x2E, 0x70, 0x36, 0x48, 0x38, 0x4F,
+0x00, 0x68, 0x71, 0x30, 0x42, 0x79, 0x01, 0x79,
+0x10, 0x06, 0x00, 0x14, 0x08, 0x43, 0x33, 0x4A,
+0x00, 0x21, 0x40, 0x00, 0x51, 0x5E, 0x40, 0x42,
+0x88, 0x42, 0x06, 0xDD, 0x20, 0x78, 0x03, 0x28,
+0x03, 0xD1, 0x01, 0x20, 0x38, 0x70, 0x2E, 0x70,
+0x20, 0x70, 0x2E, 0x48, 0xFC, 0xF7, 0x84, 0xFD,
+0x29, 0x48, 0x2C, 0x49, 0x00, 0x68, 0x0A, 0x78,
+0xA0, 0x30, 0x00, 0x78, 0x2A, 0x49, 0x90, 0x42,
+0x02, 0xD8, 0x38, 0x78, 0x00, 0x28, 0x28, 0xD0,
+0x20, 0x78, 0x01, 0x28, 0x02, 0xD0, 0xFC, 0xF7,
+0x7D, 0xFD, 0xF8, 0xBD, 0x28, 0x78, 0x06, 0x28,
+0x18, 0xD2, 0x40, 0x1C, 0x00, 0x06, 0x00, 0x0E,
+0x28, 0x70, 0xF6, 0xD0, 0x21, 0x4A, 0x00, 0x20,
+0x14, 0x68, 0x42, 0x00, 0xA3, 0x5E, 0xDD, 0x00,
+0xEB, 0x1A, 0x0D, 0x68, 0xAD, 0x5E, 0x5B, 0x19,
+0xDD, 0x17, 0x6D, 0x0F, 0xEB, 0x18, 0xDB, 0x10,
+0xA3, 0x52, 0x40, 0x1C, 0xC0, 0xB2, 0x24, 0x28,
+0xEF, 0xD3, 0xF8, 0xBD, 0x3E, 0x70, 0x00, 0x20,
+0xFD, 0xF7, 0xBE, 0xFB, 0x03, 0x20, 0x20, 0x70,
+0xF8, 0xBD, 0x15, 0x4A, 0x00, 0x20, 0x14, 0x68,
+0x42, 0x00, 0x0B, 0x68, 0x40, 0x1C, 0x9D, 0x5E,
+0xA3, 0x5E, 0xC0, 0xB2, 0xDE, 0x00, 0xF3, 0x1A,
+0xEB, 0x18, 0xDD, 0x17, 0x6D, 0x0F, 0xEB, 0x18,
+0xDB, 0x10, 0xA3, 0x52, 0x24, 0x28, 0xEF, 0xD3,
+0xF8, 0xBD, 0x00, 0x00, 0x98, 0x03, 0x00, 0x20,
+0x7E, 0x00, 0x00, 0x20, 0x83, 0x00, 0x00, 0x20,
+0x79, 0x00, 0x00, 0x20, 0x7A, 0x00, 0x00, 0x20,
+0xD0, 0x00, 0x00, 0x20, 0x98, 0x00, 0x00, 0x20,
+0x81, 0x00, 0x00, 0x20, 0xCE, 0x00, 0x00, 0x20,
+0x24, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x20,
+0x18, 0x00, 0x00, 0x20, 0x70, 0xB5, 0x30, 0x48,
+0x00, 0x25, 0x01, 0x78, 0x2A, 0x46, 0xC9, 0x07,
+0x00, 0xD0, 0x02, 0x70, 0x2D, 0x48, 0xC1, 0x79,
+0x2D, 0x4E, 0x33, 0x78, 0x99, 0x42, 0x14, 0xD0,
+0x33, 0x78, 0x80, 0x21, 0x2B, 0x4C, 0x04, 0x2B,
+0x11, 0xD3, 0x2B, 0x4B, 0x5B, 0x68, 0x5B, 0x07,
+0x5B, 0x0F, 0xC3, 0x71, 0xC3, 0x79, 0x03, 0x2B,
+0x03, 0xD0, 0x33, 0x78, 0x05, 0x2B, 0x05, 0xD0,
+0x05, 0xE0, 0x21, 0x70, 0x07, 0x20, 0xFF, 0xF7,
+0x2B, 0xFD, 0x70, 0xBD, 0x01, 0x25, 0xC0, 0x79,
+0x30, 0x70, 0x02, 0x20, 0x20, 0x70, 0x21, 0x48,
+0x02, 0x70, 0x30, 0x78, 0x00, 0x28, 0x06, 0xD0,
+0x01, 0x28, 0x18, 0xD0, 0x02, 0x28, 0x1E, 0xD0,
+0x03, 0x28, 0x26, 0xD1, 0x21, 0xE0, 0x01, 0x20,
+0xFD, 0xF7, 0x62, 0xFF, 0x00, 0x2D, 0x05, 0xD0,
+0x00, 0x20, 0xFF, 0xF7, 0x11, 0xFD, 0x01, 0x20,
+0xFF, 0xF7, 0x0E, 0xFD, 0x00, 0x20, 0xFF, 0xF7,
+0x0B, 0xFD, 0x01, 0x20, 0x20, 0x70, 0x14, 0x49,
+0x03, 0x20, 0x08, 0x70, 0x11, 0xE0, 0x01, 0x20,
+0xFD, 0xF7, 0x4E, 0xFF, 0x01, 0x20, 0xFF, 0xF7,
+0xFF, 0xFC, 0x10, 0x20, 0x03, 0xE0, 0x02, 0x20,
+0xFF, 0xF7, 0xFA, 0xFC, 0x04, 0x20, 0x20, 0x70,
+0x03, 0xE0, 0x21, 0x70, 0x07, 0x20, 0xFF, 0xF7,
+0xF3, 0xFC, 0x22, 0x78, 0x31, 0x78, 0x09, 0xA0,
+0x00, 0xF0, 0x3A, 0xFE, 0x70, 0xBD, 0x00, 0x00,
+0xB9, 0x00, 0x00, 0x20, 0xB0, 0x00, 0x00, 0x20,
+0x84, 0x00, 0x00, 0x20, 0x04, 0x06, 0x00, 0x20,
+0xC0, 0x10, 0x00, 0x50, 0xBA, 0x00, 0x00, 0x20,
+0x87, 0x00, 0x00, 0x20, 0x44, 0x4D, 0x43, 0x5B,
+0x25, 0x64, 0x3A, 0x25, 0x64, 0x5D, 0x20, 0x0D,
+0x0A, 0x00, 0x00, 0x00, 0x10, 0xB5, 0x08, 0x4C,
+0x20, 0x68, 0xFC, 0xF7, 0xC1, 0xFB, 0x00, 0x28,
+0x08, 0xD0, 0x48, 0x21, 0x05, 0x48, 0xFC, 0xF7,
+0x1C, 0xFB, 0x04, 0x49, 0x20, 0x68, 0x00, 0xF0,
+0xA3, 0xF8, 0x01, 0x20, 0x10, 0xBD, 0x00, 0x00,
+0x28, 0x00, 0x00, 0x20, 0x38, 0x05, 0x00, 0x20,
+0x10, 0xB5, 0x01, 0x24, 0xA4, 0x07, 0x00, 0x28,
+0x14, 0xD0, 0x11, 0x20, 0xC0, 0x06, 0x20, 0x60,
+0xB4, 0x20, 0xFC, 0xF7, 0x23, 0xFB, 0xFC, 0xF7,
+0xC7, 0xFD, 0xFD, 0xF7, 0x3F, 0xFA, 0xFD, 0xF7,
+0xC3, 0xF8, 0x01, 0x20, 0xFD, 0xF7, 0x0C, 0xFD,
+0x01, 0x20, 0xFE, 0xF7, 0x3F, 0xF8, 0x02, 0x20,
+0xFD, 0xF7, 0x9A, 0xFC, 0xFD, 0xF7, 0x56, 0xFF,
+0xFF, 0xF7, 0xAC, 0xFA, 0xE1, 0x68, 0x01, 0x20,
+0x40, 0x02, 0x01, 0x43, 0xE1, 0x60, 0x02, 0x49,
+0x08, 0x60, 0x01, 0x20, 0x10, 0xBD, 0x00, 0x00,
+0x00, 0xE1, 0x00, 0xE0, 0x70, 0xB5, 0x25, 0x49,
+0x25, 0x48, 0x0A, 0x78, 0x00, 0x24, 0x00, 0x2A,
+0x09, 0xD1, 0x4A, 0x78, 0x00, 0x2A, 0x06, 0xD1,
+0x89, 0x78, 0x00, 0x29, 0x03, 0xD1, 0x21, 0x49,
+0x09, 0x78, 0x00, 0x29, 0x01, 0xD0, 0x44, 0x80,
+0x02, 0xE0, 0x41, 0x88, 0x49, 0x1C, 0x41, 0x80,
+0x00, 0x78, 0x04, 0x28, 0x2F, 0xD0, 0x11, 0xDC,
+0x01, 0x28, 0x23, 0xD1, 0x1A, 0x49, 0x08, 0x78,
+0x00, 0x28, 0x01, 0xD0, 0x40, 0x1E, 0x08, 0x70,
+0x18, 0x49, 0x08, 0x78, 0x00, 0x28, 0x1F, 0xD0,
+0x40, 0x1E, 0x00, 0x06, 0x00, 0x0E, 0x08, 0x70,
+0x15, 0xD0, 0x19, 0xE0, 0x10, 0x28, 0x1A, 0xD0,
+0x40, 0x28, 0x0F, 0xD1, 0x12, 0x4D, 0x28, 0x78,
+0x30, 0x28, 0x03, 0xD1, 0x01, 0x20, 0xFD, 0xF7,
+0x43, 0xFF, 0x2C, 0x70, 0x0F, 0x48, 0x01, 0x78,
+0x00, 0x29, 0x03, 0xD0, 0x04, 0x70, 0x00, 0x20,
+0xFD, 0xF7, 0x3A, 0xFF, 0x70, 0xBD, 0x0C, 0x48,
+0xC1, 0x6A, 0x02, 0x22, 0x11, 0x43, 0xC1, 0x62,
+0xFD, 0xF7, 0xF6, 0xF9, 0x70, 0xBD, 0x00, 0xF0,
+0xFD, 0xF8, 0x70, 0xBD, 0x98, 0x03, 0x00, 0x20,
+0x04, 0x06, 0x00, 0x20, 0x7E, 0x00, 0x00, 0x20,
+0x82, 0x00, 0x00, 0x20, 0x8B, 0x00, 0x00, 0x20,
+0x88, 0x02, 0x00, 0x20, 0xB9, 0x00, 0x00, 0x20,
+0x40, 0x10, 0x00, 0x50, 0x10, 0xB5, 0x09, 0x4C,
+0x60, 0x78, 0x00, 0x07, 0x01, 0xD5, 0x00, 0xF0,
+0x27, 0xF9, 0xFF, 0xF7, 0x49, 0xFE, 0xFC, 0xF7,
+0xED, 0xFB, 0x60, 0x78, 0x96, 0x21, 0x08, 0x42,
+0x01, 0xD0, 0x00, 0xF0, 0x1D, 0xF9, 0xFC, 0xF7,
+0x43, 0xFC, 0x10, 0xBD, 0x88, 0x02, 0x00, 0x20,
+0x30, 0xB5, 0x07, 0x4A, 0x13, 0x68, 0x31, 0x33,
+0x00, 0x22, 0x54, 0x00, 0x9D, 0x5C, 0x52, 0x1C,
+0x6D, 0x00, 0x04, 0x5B, 0xD2, 0xB2, 0x4C, 0x53,
+0x24, 0x2A, 0xF6, 0xD3, 0x30, 0xBD, 0x00, 0x00,
+0xD0, 0x00, 0x00, 0x20, 0x70, 0xB5, 0x17, 0x4C,
+0x20, 0x78, 0x04, 0x23, 0x16, 0x4A, 0x00, 0x28,
+0x05, 0xD0, 0x01, 0x28, 0x03, 0xD0, 0x02, 0x28,
+0x08, 0xD0, 0x00, 0x20, 0x00, 0xE0, 0x03, 0x20,
+0x90, 0x70, 0x01, 0x0A, 0xD1, 0x70, 0x10, 0x71,
+0x00, 0x0A, 0x04, 0xE0, 0x93, 0x70, 0x18, 0x0A,
+0xD0, 0x70, 0x13, 0x71, 0x18, 0x0A, 0x50, 0x71,
+0x50, 0x79, 0x15, 0x79, 0x01, 0x02, 0x29, 0x43,
+0xD0, 0x78, 0x19, 0x43, 0x92, 0x78, 0x00, 0x02,
+0x10, 0x43, 0x18, 0x43, 0xFC, 0xF7, 0xBA, 0xFC,
+0x05, 0x20, 0x20, 0x70, 0x05, 0x49, 0x08, 0x20,
+0x08, 0x70, 0x05, 0x49, 0xC0, 0x01, 0x08, 0x80,
+0x70, 0xBD, 0x00, 0x00, 0x84, 0x00, 0x00, 0x20,
+0x88, 0x02, 0x00, 0x20, 0x86, 0x00, 0x00, 0x20,
+0xA4, 0x00, 0x00, 0x20, 0x10, 0xB5, 0xFE, 0xF7,
+0xAB, 0xF9, 0x10, 0xBD, 0x10, 0xB5, 0xFD, 0xF7,
+0x51, 0xFD, 0x10, 0xBD, 0xF8, 0xB5, 0x2B, 0x4D,
+0x28, 0x78, 0x01, 0x28, 0x50, 0xD1, 0xFF, 0xF7,
+0x5F, 0xFC, 0xFF, 0xF7, 0x27, 0xFC, 0x28, 0x4C,
+0x20, 0x68, 0x28, 0x49, 0x28, 0x4F, 0x48, 0x43,
+0x39, 0x46, 0xFC, 0xF7, 0xCF, 0xF9, 0x40, 0x1C,
+0xC0, 0x03, 0x01, 0x21, 0x00, 0x0C, 0x09, 0x04,
+0x40, 0x18, 0x24, 0x49, 0xC8, 0x60, 0x00, 0x26,
+0x2E, 0x70, 0x20, 0x68, 0x22, 0x49, 0x48, 0x43,
+0x39, 0x46, 0xFC, 0xF7, 0xBF, 0xF9, 0x40, 0x1C,
+0x42, 0x08, 0x20, 0x48, 0x01, 0x88, 0x48, 0x00,
+0x10, 0x1A, 0x40, 0x1E, 0x00, 0xB2, 0x1E, 0x4A,
+0x00, 0x28, 0x00, 0xDD, 0x10, 0x70, 0x88, 0x05,
+0x11, 0x78, 0x80, 0x0D, 0x09, 0x04, 0x17, 0x4D,
+0x08, 0x43, 0x40, 0x3D, 0x68, 0x62, 0x20, 0x68,
+0x18, 0x49, 0x48, 0x43, 0x39, 0x46, 0xFC, 0xF7,
+0xA5, 0xF9, 0x17, 0x4F, 0x40, 0x1C, 0x39, 0x88,
+0x40, 0x08, 0x49, 0x00, 0x40, 0x1A, 0x40, 0x1E,
+0x01, 0xB2, 0x14, 0x48, 0x00, 0x29, 0x01, 0xDD,
+0x01, 0x70, 0x00, 0xE0, 0x06, 0x70, 0x02, 0x78,
+0x21, 0x68, 0x06, 0x46, 0x10, 0xA0, 0x00, 0xF0,
+0xCF, 0xFC, 0x38, 0x88, 0x31, 0x78, 0x80, 0x05,
+0x80, 0x0D, 0x09, 0x04, 0x08, 0x43, 0xA8, 0x62,
+0xF8, 0xBD, 0x00, 0x00, 0xCF, 0x00, 0x00, 0x20,
+0x00, 0x06, 0x00, 0x20, 0x78, 0xFE, 0x01, 0x00,
+0x80, 0x75, 0x07, 0x00, 0x40, 0x10, 0x00, 0x50,
+0x68, 0x2E, 0x00, 0x00, 0x34, 0x00, 0x00, 0x20,
+0x36, 0x00, 0x00, 0x20, 0xD0, 0x5C, 0x00, 0x00,
+0x38, 0x00, 0x00, 0x20, 0x3A, 0x00, 0x00, 0x20,
+0x56, 0x53, 0x59, 0x4E, 0x43, 0x3A, 0x25, 0x64,
+0x3A, 0x25, 0x64, 0x0D, 0x0A, 0x00, 0x00, 0x00,
+0x10, 0xB5, 0xFF, 0xF7, 0xED, 0xFB, 0x04, 0x48,
+0x00, 0x78, 0x00, 0x28, 0x02, 0xD1, 0x01, 0x20,
+0xFD, 0xF7, 0xE8, 0xFE, 0x10, 0xBD, 0x00, 0x00,
+0x90, 0x02, 0x00, 0x20, 0x10, 0xB5, 0x11, 0x48,
+0x11, 0x4C, 0x41, 0x78, 0x00, 0x29, 0x0A, 0xD1,
+0x00, 0x78, 0x00, 0x28, 0x07, 0xD1, 0x0F, 0x48,
+0x00, 0x78, 0x00, 0x28, 0x03, 0xD1, 0x0E, 0x48,
+0x00, 0x78, 0x00, 0x28, 0x02, 0xD0, 0xB4, 0x20,
+0x20, 0x70, 0x02, 0xE0, 0x20, 0x78, 0x00, 0x28,
+0x06, 0xD0, 0x01, 0x20, 0xFE, 0xF7, 0x40, 0xF8,
+0x20, 0x78, 0x40, 0x1E, 0x20, 0x70, 0x02, 0xE0,
+0x00, 0x20, 0xFE, 0xF7, 0x39, 0xF8, 0xFD, 0xF7,
+0xD3, 0xF8, 0x10, 0xBD, 0x98, 0x03, 0x00, 0x20,
+0x82, 0x00, 0x00, 0x20, 0x81, 0x00, 0x00, 0x20,
+0x7E, 0x00, 0x00, 0x20, 0x09, 0x4B, 0x01, 0x21,
+0x12, 0x28, 0x06, 0xDA, 0xDA, 0x68, 0x92, 0x0C,
+0x92, 0x04, 0x81, 0x40, 0x0A, 0x43, 0xDA, 0x60,
+0x70, 0x47, 0x1A, 0x69, 0x92, 0x0C, 0x92, 0x04,
+0x12, 0x38, 0x81, 0x40, 0x0A, 0x43, 0x1A, 0x61,
+0x70, 0x47, 0x00, 0x00, 0x80, 0x10, 0x00, 0x50,
+0xF8, 0xB5, 0x3C, 0x4F, 0x00, 0x25, 0x78, 0x78,
+0xC0, 0x07, 0x72, 0xD1, 0x78, 0x78, 0x40, 0x08,
+0x40, 0x00, 0x20, 0x28, 0x4A, 0xD0, 0x0C, 0xDC,
+0x37, 0x4E, 0x02, 0x28, 0x34, 0x68, 0x13, 0xD0,
+0x04, 0x28, 0x15, 0xD0, 0x35, 0x49, 0x08, 0x28,
+0x09, 0x68, 0x16, 0xD0, 0x10, 0x28, 0x46, 0xD1,
+0x34, 0xE0, 0x42, 0x28, 0x0A, 0xD0, 0x44, 0x28,
+0x0D, 0xD0, 0x31, 0x49, 0x48, 0x28, 0x09, 0x68,
+0x2A, 0xD0, 0x50, 0x28, 0x3B, 0xD1, 0x27, 0xE0,
+0x25, 0x46, 0x38, 0xE0, 0x2D, 0x48, 0x00, 0xE0,
+0x2D, 0x48, 0x05, 0x68, 0x33, 0xE0, 0x2D, 0x48,
+0xFB, 0xE7, 0x48, 0x22, 0x2C, 0x48, 0xFC, 0xF7,
+0x13, 0xF9, 0x2B, 0x4D, 0x00, 0x21, 0x48, 0x00,
+0x2A, 0x5A, 0x23, 0x5A, 0x49, 0x1C, 0xD2, 0x1A,
+0xC9, 0xB2, 0x2A, 0x52, 0x24, 0x29, 0xF6, 0xD3,
+0x25, 0x48, 0xFC, 0xF7, 0xBD, 0xF9, 0x32, 0x68,
+0x00, 0x20, 0x41, 0x00, 0x6B, 0x5A, 0x54, 0x5A,
+0x40, 0x1C, 0x1B, 0x19, 0xC0, 0xB2, 0x6B, 0x52,
+0x24, 0x28, 0xF6, 0xD3, 0x1E, 0x4D, 0x12, 0xE0,
+0x0D, 0x46, 0x10, 0xE0, 0x48, 0x22, 0x1C, 0x48,
+0xFC, 0xF7, 0xF2, 0xF8, 0x1A, 0x48, 0xFC, 0xF7,
+0xA7, 0xF9, 0xF3, 0xE7, 0x48, 0x22, 0x18, 0x49,
+0x18, 0x48, 0xFC, 0xF7, 0xE9, 0xF8, 0x78, 0x78,
+0x01, 0x21, 0x08, 0x43, 0x78, 0x70, 0x78, 0x78,
+0x00, 0x06, 0x08, 0xD5, 0x40, 0x22, 0x14, 0x49,
+0x14, 0x48, 0xFC, 0xF7, 0xDD, 0xF8, 0x78, 0x78,
+0x01, 0x21, 0x08, 0x43, 0x78, 0x70, 0x00, 0x2D,
+0x0B, 0xD0, 0x48, 0x21, 0x0D, 0x48, 0xFC, 0xF7,
+0xEC, 0xF8, 0x0C, 0x49, 0x28, 0x46, 0xFF, 0xF7,
+0x73, 0xFE, 0x78, 0x78, 0x01, 0x21, 0x08, 0x43,
+0x78, 0x70, 0xF8, 0xBD, 0x88, 0x02, 0x00, 0x20,
+0x08, 0x00, 0x00, 0x20, 0x24, 0x00, 0x00, 0x20,
+0x2C, 0x00, 0x00, 0x20, 0x18, 0x00, 0x00, 0x20,
+0x10, 0x00, 0x00, 0x20, 0x14, 0x00, 0x00, 0x20,
+0x38, 0x05, 0x00, 0x20, 0x9C, 0x01, 0x00, 0x20,
+0x5C, 0x01, 0x00, 0x20, 0xE8, 0x01, 0x00, 0x20,
+0x70, 0xB5, 0x1C, 0x4E, 0x00, 0x24, 0x74, 0x70,
+0x1B, 0x4D, 0xAC, 0x70, 0x6C, 0x63, 0xA8, 0x7B,
+0x02, 0x28, 0x08, 0xD8, 0x19, 0x48, 0xE9, 0x7A,
+0x00, 0x78, 0x08, 0x43, 0x01, 0xD0, 0x03, 0x20,
+0x00, 0xE0, 0x01, 0x20, 0xE8, 0x72, 0x68, 0x7B,
+0x00, 0x28, 0x1F, 0xD0, 0xEC, 0x74, 0x14, 0x48,
+0x44, 0x80, 0x12, 0x48, 0x88, 0x21, 0x7C, 0x30,
+0xFC, 0xF7, 0xAF, 0xF8, 0x7C, 0x21, 0x0F, 0x48,
+0xFC, 0xF7, 0xAB, 0xF8, 0x0F, 0x48, 0xAC, 0x71,
+0x04, 0x70, 0xEC, 0x71, 0x6C, 0x85, 0x2C, 0x72,
+0x2C, 0x84, 0x6C, 0x72, 0x6C, 0x74, 0x0C, 0x48,
+0x04, 0x60, 0x6C, 0x70, 0xB4, 0x20, 0xA8, 0x72,
+0xAC, 0x83, 0xEC, 0x83, 0x34, 0x70, 0x09, 0x48,
+0x04, 0x60, 0x70, 0xBD, 0x04, 0x20, 0xE8, 0x74,
+0xDD, 0xE7, 0x00, 0x00, 0x90, 0x02, 0x00, 0x20,
+0x78, 0x00, 0x00, 0x20, 0x98, 0x03, 0x00, 0x20,
+0x04, 0x06, 0x00, 0x20, 0xF8, 0x05, 0x00, 0x20,
+0x00, 0x06, 0x00, 0x20, 0x1C, 0x00, 0x00, 0x20,
+0x06, 0x4A, 0x07, 0x4B, 0x00, 0x21, 0x00, 0x20,
+0x40, 0x1C, 0x90, 0x42, 0xFC, 0xDB, 0x49, 0x1C,
+0x99, 0x42, 0xF8, 0xDB, 0x01, 0x20, 0x81, 0x07,
+0x48, 0x60, 0x70, 0x47, 0x10, 0x27, 0x00, 0x00,
+0xB8, 0x0B, 0x00, 0x00, 0x03, 0x48, 0x20, 0x21,
+0xC1, 0x63, 0xC1, 0x6B, 0x89, 0x06, 0xFC, 0xD4,
+0x70, 0x47, 0x00, 0x00, 0xC0, 0x07, 0x00, 0x50,
+0x00, 0x20, 0x05, 0x4A, 0xFF, 0x21, 0x34, 0x23,
+0x43, 0x43, 0x40, 0x1C, 0xC0, 0xB2, 0xD1, 0x54,
+0x03, 0x28, 0xF8, 0xD3, 0x70, 0x47, 0x00, 0x00,
+0x9C, 0x04, 0x00, 0x20, 0xF8, 0xB5, 0x2C, 0x4C,
+0x00, 0x25, 0xE5, 0x70, 0x25, 0x71, 0x88, 0x21,
+0x2A, 0x48, 0xFC, 0xF7, 0x52, 0xF8, 0x29, 0x48,
+0x7C, 0x21, 0x7C, 0x38, 0xFC, 0xF7, 0x4D, 0xF8,
+0x26, 0x4F, 0x00, 0x20, 0x3B, 0x46, 0x7C, 0x3B,
+0x42, 0x1E, 0x23, 0x4E, 0x41, 0x00, 0x49, 0x1C,
+0x2E, 0x36, 0x31, 0x54, 0x01, 0x46, 0x28, 0x26,
+0x71, 0x43, 0xCE, 0x18, 0xC9, 0x19, 0x40, 0x1C,
+0xB2, 0x71, 0xC0, 0xB2, 0x8A, 0x71, 0x03, 0x28,
+0xEF, 0xD3, 0x1D, 0x48, 0x48, 0x21, 0x00, 0x68,
+0xFC, 0xF7, 0x33, 0xF8, 0x40, 0x21, 0x1B, 0x48,
+0xFC, 0xF7, 0x2F, 0xF8, 0xE5, 0x82, 0x25, 0x83,
+0x65, 0x83, 0x5A, 0x20, 0x60, 0x84, 0xFF, 0xF7,
+0xBF, 0xFF, 0x00, 0xF0, 0xDD, 0xFB, 0xFF, 0x20,
+0x65, 0x71, 0x69, 0x30, 0xA0, 0x84, 0xE5, 0x84,
+0x0F, 0x20, 0x20, 0x85, 0x12, 0x48, 0xA5, 0x71,
+0x05, 0x70, 0x06, 0x21, 0x11, 0x48, 0xFC, 0xF7,
+0x18, 0xF8, 0x03, 0x21, 0xE1, 0x73, 0xA5, 0x63,
+0xE5, 0x63, 0x04, 0x20, 0x20, 0x73, 0x07, 0x20,
+0x60, 0x73, 0xA0, 0x73, 0x0C, 0x48, 0xA5, 0x85,
+0x45, 0x70, 0x05, 0x70, 0x25, 0x70, 0x0B, 0x48,
+0x25, 0x74, 0x05, 0x71, 0x0A, 0x48, 0x01, 0x70,
+0xA5, 0x74, 0x25, 0x75, 0xF8, 0xBD, 0x00, 0x00,
+0x78, 0x00, 0x00, 0x20, 0x14, 0x04, 0x00, 0x20,
+0x28, 0x00, 0x00, 0x20, 0x5C, 0x01, 0x00, 0x20,
+0xF8, 0x05, 0x00, 0x20, 0x88, 0x02, 0x00, 0x20,
+0x90, 0x02, 0x00, 0x20, 0x04, 0x06, 0x00, 0x20,
+0xE4, 0x05, 0x00, 0x20, 0xF8, 0xB5, 0x27, 0x48,
+0x25, 0x4D, 0x05, 0x60, 0x24, 0x4E, 0x2C, 0x7C,
+0x51, 0x36, 0xF0, 0x7A, 0xB2, 0x7A, 0x00, 0x02,
+0x61, 0x1E, 0x10, 0x43, 0xFB, 0xF7, 0xB4, 0xFF,
+0xC2, 0xB2, 0x21, 0x48, 0x21, 0x49, 0x02, 0x70,
+0x50, 0x08, 0x08, 0x70, 0x6B, 0x7C, 0x21, 0x46,
+0x1F, 0x4F, 0x59, 0x43, 0x39, 0x80, 0x1F, 0x49,
+0xA4, 0x1E, 0x0A, 0x70, 0x1E, 0x49, 0x54, 0x43,
+0x0A, 0x70, 0xF1, 0x7A, 0xB6, 0x7A, 0x09, 0x06,
+0x09, 0x14, 0x31, 0x43, 0x1B, 0x4E, 0x9B, 0x1E,
+0x31, 0x80, 0x1B, 0x4E, 0x53, 0x43, 0x31, 0x80,
+0x46, 0x00, 0x30, 0x19, 0x84, 0xB2, 0x19, 0x48,
+0x19, 0x49, 0x04, 0x80, 0xF0, 0x18, 0x08, 0x80,
+0x0D, 0x48, 0x18, 0x49, 0x80, 0x30, 0xC0, 0x7D,
+0x08, 0x70, 0x04, 0x22, 0x69, 0x1D, 0x16, 0x48,
+0xFB, 0xF7, 0x9A, 0xFF, 0x08, 0x49, 0x06, 0x22,
+0x0A, 0x31, 0x14, 0x48, 0xFB, 0xF7, 0x94, 0xFF,
+0xE8, 0x7D, 0xAA, 0x7D, 0x01, 0x02, 0x0A, 0x20,
+0x11, 0x43, 0x60, 0x43, 0xFB, 0xF7, 0x62, 0xFF,
+0x0F, 0x49, 0x08, 0x80, 0xF8, 0xBD, 0x00, 0x00,
+0x1C, 0x0F, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x20,
+0xC2, 0x00, 0x00, 0x20, 0xC3, 0x00, 0x00, 0x20,
+0xBE, 0x00, 0x00, 0x20, 0xC4, 0x00, 0x00, 0x20,
+0xC5, 0x00, 0x00, 0x20, 0xCA, 0x00, 0x00, 0x20,
+0xCC, 0x00, 0x00, 0x20, 0xC6, 0x00, 0x00, 0x20,
+0xC8, 0x00, 0x00, 0x20, 0xF4, 0x05, 0x00, 0x20,
+0xFC, 0x05, 0x00, 0x20, 0xE8, 0x05, 0x00, 0x20,
+0xC0, 0x00, 0x00, 0x20, 0x64, 0x25, 0x38, 0x4C,
+0x00, 0x26, 0x38, 0x4F, 0x26, 0x70, 0x20, 0x78,
+0x03, 0x00, 0xFB, 0xF7, 0xBB, 0xFF, 0x07, 0x06,
+0x0F, 0x1E, 0x15, 0x2D, 0x35, 0x37, 0x05, 0x00,
+0xF5, 0xE7, 0x00, 0xF0, 0xFD, 0xF8, 0x00, 0x28,
+0x01, 0xD0, 0x3E, 0x70, 0x58, 0xE0, 0x01, 0x20,
+0x38, 0x70, 0x03, 0xE0, 0x00, 0xF0, 0x68, 0xF8,
+0x00, 0x28, 0xE8, 0xD0, 0x03, 0x20, 0x50, 0xE0,
+0x00, 0xF0, 0xDE, 0xF8, 0x00, 0x28, 0x3E, 0x70,
+0x01, 0xD0, 0x02, 0x20, 0x49, 0xE0, 0x26, 0x70,
+0xDD, 0xE7, 0x27, 0x48, 0x00, 0x78, 0x61, 0x28,
+0x05, 0xD1, 0x03, 0x20, 0xFF, 0xF7, 0x2E, 0xFD,
+0x01, 0x20, 0xFD, 0xF7, 0x0B, 0xFB, 0xFF, 0xF7,
+0xB1, 0xFB, 0xFF, 0xF7, 0x67, 0xFC, 0x37, 0xE0,
+0x20, 0x48, 0x06, 0x70, 0x00, 0xF0, 0xF2, 0xF8,
+0x00, 0x28, 0xC8, 0xD0, 0x05, 0x20, 0x30, 0xE0,
+0x06, 0x20, 0x2E, 0xE0, 0xFD, 0xF7, 0x7E, 0xFE,
+0x00, 0x28, 0x03, 0xD0, 0x1A, 0x48, 0x00, 0x78,
+0x00, 0x28, 0x0B, 0xD0, 0x16, 0x48, 0x00, 0x78,
+0x61, 0x28, 0x07, 0xD0, 0x00, 0x2D, 0x1A, 0xD0,
+0x6D, 0x1E, 0xED, 0xB2, 0x01, 0x20, 0xFF, 0xF7,
+0x09, 0xFD, 0x19, 0xE0, 0x00, 0xF0, 0xF2, 0xFA,
+0x12, 0x48, 0x00, 0x68, 0x60, 0x30, 0x00, 0x7A,
+0x80, 0x07, 0x03, 0xD4, 0x10, 0x48, 0xC0, 0x78,
+0x01, 0x28, 0x0D, 0xD1, 0x00, 0x20, 0xFD, 0xF7,
+0xD9, 0xFA, 0x0E, 0x48, 0x01, 0x78, 0x0A, 0x48,
+0x01, 0x70, 0xB4, 0x25, 0x04, 0xE0, 0x08, 0x48,
+0x06, 0x70, 0x01, 0x20, 0xFD, 0xF7, 0xCE, 0xFA,
+0x01, 0x20, 0x20, 0x70, 0x93, 0xE7, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x7C, 0x00, 0x00, 0x20,
+0xB8, 0x00, 0x00, 0x20, 0x88, 0x00, 0x00, 0x20,
+0x90, 0x02, 0x00, 0x20, 0xD0, 0x00, 0x00, 0x20,
+0x98, 0x03, 0x00, 0x20, 0x78, 0x00, 0x00, 0x20,
+0x70, 0xB5, 0x34, 0x4C, 0x20, 0x78, 0x00, 0x28,
+0x62, 0xD0, 0x05, 0x20, 0xFF, 0xF7, 0xD2, 0xFC,
+0x20, 0x78, 0x00, 0x25, 0x5D, 0x28, 0x18, 0xD0,
+0x08, 0xDC, 0x20, 0x28, 0x4A, 0xD0, 0x30, 0x28,
+0x30, 0xD0, 0x31, 0x28, 0x53, 0xD0, 0x5C, 0x28,
+0x52, 0xD1, 0x09, 0xE0, 0x2A, 0x49, 0x2B, 0x4A,
+0x2B, 0x4B, 0x60, 0x28, 0x30, 0xD0, 0x61, 0x28,
+0x37, 0xD0, 0x70, 0x28, 0x48, 0xD1, 0x25, 0xE0,
+0xFF, 0xF7, 0x7C, 0xFC, 0x5D, 0x20, 0x20, 0x70,
+0x42, 0xE0, 0x26, 0x48, 0xE1, 0x78, 0x00, 0x68,
+0x00, 0x88, 0xA2, 0x78, 0x09, 0x02, 0x11, 0x43,
+0x08, 0x40, 0xE1, 0x78, 0xA2, 0x78, 0x09, 0x02,
+0x11, 0x43, 0x88, 0x42, 0x34, 0xD1, 0x20, 0x48,
+0x61, 0x79, 0x00, 0x68, 0x00, 0x88, 0x22, 0x79,
+0x09, 0x02, 0x11, 0x43, 0x08, 0x40, 0x61, 0x79,
+0x22, 0x79, 0x09, 0x02, 0x11, 0x43, 0x88, 0x42,
+0x25, 0xD0, 0x25, 0xE0, 0x19, 0x49, 0x40, 0x20,
+0x08, 0x70, 0x21, 0xE0, 0xFF, 0xF7, 0x8E, 0xFC,
+0x25, 0x70, 0x17, 0x48, 0x05, 0x70, 0x1B, 0xE0,
+0x60, 0x20, 0x08, 0x70, 0x15, 0x70, 0xDD, 0x70,
+0x25, 0x70, 0x01, 0x20, 0xFD, 0xF7, 0x66, 0xFA,
+0x12, 0xE0, 0x61, 0x20, 0x08, 0x70, 0x15, 0x70,
+0xDD, 0x70, 0x0C, 0xE0, 0xE0, 0x78, 0xA2, 0x78,
+0x01, 0x02, 0x0E, 0x48, 0x11, 0x43, 0x01, 0x78,
+0x02, 0xD0, 0x01, 0x22, 0x11, 0x43, 0x01, 0xE0,
+0x49, 0x08, 0x49, 0x00, 0x01, 0x70, 0x25, 0x70,
+0x01, 0x20, 0x70, 0xBD, 0x88, 0x02, 0x00, 0x20,
+0xB8, 0x00, 0x00, 0x20, 0x90, 0x02, 0x00, 0x20,
+0x98, 0x03, 0x00, 0x20, 0xE0, 0x00, 0x00, 0x20,
+0xF0, 0x00, 0x00, 0x20, 0x04, 0x06, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x20, 0x8C, 0x00, 0x00, 0x20,
+0x10, 0xB5, 0x06, 0x48, 0x00, 0x78, 0x01, 0x28,
+0x01, 0xD0, 0x01, 0x20, 0x10, 0xBD, 0x01, 0x20,
+0x00, 0x06, 0xFD, 0xF7, 0x2F, 0xFA, 0x00, 0x20,
+0x10, 0xBD, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x20,
+0x10, 0xB5, 0x0A, 0x49, 0x01, 0x20, 0x48, 0x70,
+0x00, 0xF0, 0x2E, 0xFA, 0x01, 0x20, 0xFF, 0xF7,
+0x5B, 0xFB, 0x04, 0x46, 0xFC, 0xF7, 0x3E, 0xF8,
+0x00, 0x2C, 0x01, 0xD0, 0x01, 0x20, 0x10, 0xBD,
+0x03, 0xA0, 0x00, 0xF0, 0x5D, 0xF9, 0x00, 0x20,
+0x10, 0xBD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x49, 0x4E, 0x49, 0x54, 0x20, 0x4E, 0x47, 0x0D,
+0x0A, 0x00, 0x00, 0x00, 0x70, 0xB5, 0x12, 0x4C,
+0x01, 0x25, 0x60, 0x78, 0x01, 0x28, 0x02, 0xD0,
+0x02, 0x28, 0x1A, 0xD1, 0x10, 0xE0, 0xFF, 0xF7,
+0x9F, 0xFC, 0xFF, 0xF7, 0xBF, 0xFB, 0xFD, 0xF7,
+0x19, 0xFB, 0x0C, 0x48, 0x00, 0x79, 0x00, 0x28,
+0x04, 0xD0, 0xFD, 0xF7, 0xB7, 0xFD, 0x02, 0x20,
+0x60, 0x70, 0x0A, 0xE0, 0x25, 0x70, 0x08, 0xE0,
+0xFF, 0xF7, 0x14, 0xFB, 0x00, 0x28, 0x65, 0x70,
+0x01, 0xD0, 0x01, 0x20, 0x70, 0xBD, 0x06, 0x20,
+0x20, 0x70, 0x00, 0x20, 0x70, 0xBD, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0xB0, 0x00, 0x00, 0x20,
+0x70, 0xB5, 0x0F, 0x4D, 0x28, 0x78, 0x00, 0x28,
+0x18, 0xD0, 0x00, 0x24, 0x13, 0xE0, 0x28, 0x20,
+0x60, 0x43, 0x40, 0x19, 0x82, 0x79, 0x03, 0x2A,
+0x0B, 0xD1, 0x0A, 0x1B, 0x52, 0x1E, 0x28, 0x21,
+0x4A, 0x43, 0x01, 0x46, 0x2C, 0x31, 0x00, 0x1D,
+0xFB, 0xF7, 0xFE, 0xFD, 0x28, 0x78, 0x40, 0x1E,
+0x28, 0x70, 0x64, 0x1C, 0xE4, 0xB2, 0x29, 0x78,
+0xA1, 0x42, 0xE8, 0xD8, 0x70, 0xBD, 0x00, 0x00,
+0x98, 0x03, 0x00, 0x20, 0xF7, 0xB5, 0x00, 0x25,
+0x84, 0xB0, 0x16, 0x46, 0x0C, 0x46, 0x61, 0x27,
+0x5D, 0xE0, 0x25, 0x28, 0x55, 0xD1, 0x64, 0x1C,
+0x00, 0x22, 0x20, 0x78, 0x13, 0x46, 0x00, 0x28,
+0x58, 0xD0, 0x25, 0x28, 0x4D, 0xD0, 0x2D, 0x28,
+0x01, 0xD1, 0x64, 0x1C, 0x01, 0x23, 0x02, 0x20,
+0x21, 0x78, 0x30, 0x29, 0x07, 0xD1, 0x64, 0x1C,
+0x03, 0x43, 0xF9, 0xE7, 0x0A, 0x21, 0x4A, 0x43,
+0x30, 0x3A, 0x82, 0x18, 0x64, 0x1C, 0x20, 0x78,
+0x01, 0x46, 0x30, 0x39, 0x09, 0x29, 0xF5, 0xD9,
+0xC1, 0xB2, 0x73, 0x29, 0x0A, 0xD0, 0x64, 0x28,
+0x10, 0xD0, 0x78, 0x28, 0x13, 0xD0, 0x58, 0x28,
+0x19, 0xD0, 0x75, 0x28, 0x1F, 0xD0, 0x63, 0x28,
+0x23, 0xD0, 0x2F, 0xE0, 0x02, 0xCE, 0x00, 0x29,
+0x00, 0xD1, 0x1D, 0xA1, 0x04, 0x98, 0x00, 0xF0,
+0x93, 0xF8, 0x0A, 0xE0, 0x68, 0x46, 0x8C, 0xC0,
+0x02, 0xCE, 0x01, 0x23, 0x13, 0xE0, 0x68, 0x46,
+0x8C, 0xC0, 0x08, 0xE0, 0x04, 0x98, 0x00, 0xF0,
+0x3E, 0xF8, 0x45, 0x19, 0x1A, 0xE0, 0x41, 0x20,
+0x01, 0x93, 0x00, 0x92, 0x02, 0x90, 0x02, 0xCE,
+0x00, 0x23, 0x10, 0x22, 0xF2, 0xE7, 0x68, 0x46,
+0x8C, 0xC0, 0x02, 0xCE, 0x00, 0x23, 0x0A, 0x22,
+0xEC, 0xE7, 0x31, 0x78, 0x68, 0x46, 0x36, 0x1D,
+0x01, 0x73, 0x00, 0x21, 0x41, 0x73, 0x03, 0xA9,
+0xD8, 0xE7, 0xC1, 0xB2, 0x04, 0x98, 0x00, 0xF0,
+0x13, 0xF8, 0x6D, 0x1C, 0x64, 0x1C, 0x20, 0x78,
+0x00, 0x28, 0x9E, 0xD1, 0x04, 0x98, 0x00, 0x28,
+0x03, 0xD0, 0x04, 0x99, 0x00, 0x20, 0x09, 0x68,
+0x08, 0x70, 0x28, 0x46, 0x07, 0xB0, 0xF0, 0xBD,
+0x28, 0x6E, 0x75, 0x6C, 0x6C, 0x29, 0x00, 0x00,
+0x13, 0xB5, 0x01, 0x9A, 0x00, 0x28, 0x05, 0xD0,
+0x01, 0x68, 0x0A, 0x70, 0x01, 0x68, 0x49, 0x1C,
+0x01, 0x60, 0x1C, 0xBD, 0x01, 0xA9, 0x10, 0x46,
+0xFC, 0xF7, 0x5A, 0xFB, 0x1C, 0xBD, 0xFF, 0xB5,
+0x83, 0xB0, 0x00, 0x27, 0x0C, 0x9E, 0x3D, 0x46,
+0x08, 0x00, 0x05, 0xD0, 0x00, 0x2B, 0x13, 0xD0,
+0x05, 0x9A, 0x0A, 0x2A, 0x0C, 0xD0, 0x0F, 0xE0,
+0x30, 0x20, 0x69, 0x46, 0x08, 0x70, 0x00, 0x20,
+0x48, 0x70, 0x32, 0x46, 0x0D, 0x9B, 0x03, 0x98,
+0x00, 0xF0, 0x32, 0xF8, 0x07, 0xB0, 0xF0, 0xBD,
+0x00, 0x29, 0x01, 0xDA, 0x01, 0x27, 0x40, 0x42,
+0x02, 0xAC, 0x03, 0x34, 0x00, 0x21, 0x6A, 0x46,
+0xD1, 0x72, 0x0A, 0xE0, 0x05, 0x99, 0xFB, 0xF7,
+0x1D, 0xFD, 0x0A, 0x29, 0x02, 0xDB, 0x0E, 0x9A,
+0x89, 0x18, 0x3A, 0x39, 0x30, 0x31, 0x64, 0x1E,
+0x21, 0x70, 0x00, 0x28, 0xF2, 0xD1, 0x00, 0x2F,
+0x0E, 0xD0, 0x00, 0x2E, 0x09, 0xD0, 0x0D, 0x98,
+0x80, 0x07, 0x06, 0xD5, 0x2D, 0x21, 0x03, 0x98,
+0xFF, 0xF7, 0xB6, 0xFF, 0x6D, 0x1C, 0x76, 0x1E,
+0x02, 0xE0, 0x2D, 0x20, 0x64, 0x1E, 0x20, 0x70,
+0x32, 0x46, 0x21, 0x46, 0x0D, 0x9B, 0x03, 0x98,
+0x00, 0xF0, 0x02, 0xF8, 0x40, 0x19, 0xCD, 0xE7,
+0xFF, 0xB5, 0x00, 0x25, 0x20, 0x27, 0x81, 0xB0,
+0x14, 0x46, 0x0E, 0x46, 0x00, 0x2A, 0x0F, 0xDD,
+0x00, 0x21, 0x30, 0x46, 0x01, 0xE0, 0x49, 0x1C,
+0x40, 0x1C, 0x02, 0x78, 0x00, 0x2A, 0xFA, 0xD1,
+0xA1, 0x42, 0x01, 0xDB, 0x00, 0x24, 0x00, 0xE0,
+0x64, 0x1A, 0x98, 0x07, 0x00, 0xD5, 0x30, 0x27,
+0xD8, 0x07, 0x06, 0xD0, 0x0D, 0xE0, 0x39, 0x46,
+0x01, 0x98, 0xFF, 0xF7, 0x89, 0xFF, 0x6D, 0x1C,
+0x64, 0x1E, 0x00, 0x2C, 0xF7, 0xDC, 0x04, 0xE0,
+0x01, 0x98, 0xFF, 0xF7, 0x81, 0xFF, 0x6D, 0x1C,
+0x76, 0x1C, 0x31, 0x78, 0x00, 0x29, 0xF7, 0xD1,
+0x05, 0xE0, 0x39, 0x46, 0x01, 0x98, 0xFF, 0xF7,
+0x77, 0xFF, 0x6D, 0x1C, 0x64, 0x1E, 0x00, 0x2C,
+0xF7, 0xDC, 0x28, 0x46, 0x05, 0xB0, 0xF0, 0xBD,
+0x0F, 0xB4, 0x10, 0xB5, 0x03, 0xAA, 0x00, 0x20,
+0x02, 0x99, 0xFF, 0xF7, 0xF3, 0xFE, 0x10, 0xBC,
+0x08, 0xBC, 0x04, 0xB0, 0x18, 0x47, 0x00, 0x00,
+0xF8, 0xB5, 0x49, 0x4A, 0x49, 0x49, 0x10, 0x78,
+0x00, 0x27, 0x00, 0x28, 0x07, 0xD0, 0x08, 0x88,
+0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x08, 0x80,
+0x02, 0xE0, 0x17, 0x70, 0x00, 0xE0, 0x0F, 0x80,
+0x43, 0x4C, 0x44, 0x4B, 0xE7, 0x70, 0x18, 0x78,
+0x01, 0x26, 0xFF, 0x28, 0x02, 0xD2, 0x40, 0x1C,
+0x18, 0x70, 0x00, 0xE0, 0x1E, 0x70, 0x40, 0x48,
+0x13, 0x78, 0x00, 0x78, 0x18, 0x43, 0x12, 0xD1,
+0x3E, 0x48, 0x3F, 0x4D, 0x00, 0x78, 0x00, 0x28,
+0x0E, 0xD0, 0x3E, 0x48, 0x01, 0x78, 0x00, 0x29,
+0x08, 0xD0, 0x3D, 0xA0, 0xFF, 0xF7, 0xC8, 0xFF,
+0x3A, 0x48, 0xE6, 0x70, 0x07, 0x70, 0x36, 0x48,
+0x05, 0x21, 0x01, 0x70, 0x2F, 0x70, 0xF8, 0xBD,
+0x39, 0x48, 0x00, 0x78, 0x03, 0x28, 0x09, 0xD3,
+0x28, 0x78, 0x00, 0x28, 0xF7, 0xD1, 0xE6, 0x70,
+0x04, 0x21, 0x36, 0x48, 0xFB, 0xF7, 0xB9, 0xFC,
+0x2E, 0x70, 0xF8, 0xBD, 0x2B, 0x78, 0x28, 0x46,
+0x33, 0x4D, 0x01, 0x2B, 0x0D, 0xD0, 0x20, 0x78,
+0x00, 0x28, 0x11, 0xD0, 0xE6, 0x70, 0xFF, 0xF7,
+0x7F, 0xFE, 0x25, 0x21, 0x28, 0x46, 0xFB, 0xF7,
+0xA8, 0xFC, 0x20, 0x78, 0x68, 0x70, 0x00, 0x22,
+0x3A, 0xE0, 0xE6, 0x70, 0x07, 0x70, 0x6F, 0x70,
+0x16, 0x70, 0x2D, 0x20, 0x08, 0x80, 0xF8, 0xBD,
+0x68, 0x78, 0x00, 0x28, 0x00, 0xD0, 0xE6, 0x70,
+0x6F, 0x70, 0xF8, 0xBD, 0x28, 0x20, 0x50, 0x43,
+0x01, 0x19, 0x08, 0x79, 0x23, 0x4B, 0x0B, 0x26,
+0x1B, 0x5C, 0x10, 0x46, 0x70, 0x43, 0x40, 0x19,
+0x03, 0x71, 0xCB, 0x89, 0x40, 0x1C, 0x03, 0x71,
+0x1B, 0x0A, 0x43, 0x71, 0x0B, 0x8A, 0x83, 0x71,
+0x1B, 0x0A, 0xC3, 0x71, 0x24, 0x23, 0x5B, 0x5C,
+0xDB, 0x07, 0x07, 0xD0, 0xCB, 0x8C, 0x03, 0x71,
+0x1B, 0x0A, 0x43, 0x71, 0x0B, 0x8D, 0x83, 0x71,
+0x1B, 0x0A, 0xC3, 0x71, 0x4B, 0x8A, 0x03, 0x72,
+0x1B, 0x0A, 0x43, 0x72, 0x8B, 0x8B, 0x83, 0x72,
+0x1B, 0x0A, 0xC3, 0x72, 0xC9, 0x8B, 0x01, 0x73,
+0x09, 0x0A, 0x41, 0x73, 0x52, 0x1C, 0xD2, 0xB2,
+0x68, 0x78, 0x90, 0x42, 0xCE, 0xD8, 0xF8, 0xBD,
+0x7F, 0x00, 0x00, 0x20, 0xA2, 0x00, 0x00, 0x20,
+0x98, 0x03, 0x00, 0x20, 0x78, 0x00, 0x00, 0x20,
+0x83, 0x00, 0x00, 0x20, 0xBA, 0x00, 0x00, 0x20,
+0xF8, 0x05, 0x00, 0x20, 0xBB, 0x00, 0x00, 0x20,
+0x47, 0x44, 0x3A, 0x25, 0x64, 0x0D, 0x0A, 0x00,
+0x7E, 0x00, 0x00, 0x20, 0xF0, 0x05, 0x00, 0x20,
+0x90, 0x02, 0x00, 0x20, 0xA6, 0x00, 0x00, 0x20,
+0x02, 0x48, 0x00, 0x21, 0x41, 0x70, 0x41, 0x80,
+0x70, 0x47, 0x00, 0x00, 0x02, 0x00, 0x00, 0x20,
+0x10, 0xB5, 0xFF, 0xF7, 0x4F, 0xFC, 0xFF, 0xF7,
+0xE1, 0xFB, 0x10, 0xBD, 0x10, 0xB5, 0xFF, 0xF7,
+0x3F, 0xFF, 0x10, 0xBD, 0x70, 0xB5, 0x05, 0x20,
+0x40, 0x04, 0x0E, 0x4C, 0x00, 0x22, 0x0E, 0x49,
+0x0E, 0x4B, 0x07, 0xE0, 0x0D, 0x78, 0xED, 0x07,
+0x07, 0xD1, 0x0D, 0x78, 0x6D, 0x07, 0x00, 0xD5,
+0x0A, 0x70, 0x40, 0x1E, 0x1D, 0x79, 0x02, 0x2D,
+0x03, 0xD0, 0x00, 0x28, 0x03, 0xD0, 0x22, 0x70,
+0x70, 0xBD, 0x00, 0x28, 0xEE, 0xD1, 0x06, 0xA0,
+0xFF, 0xF7, 0x16, 0xFF, 0x01, 0x20, 0x20, 0x70,
+0x70, 0xBD, 0x00, 0x00, 0xBC, 0x00, 0x00, 0x20,
+0xB9, 0x00, 0x00, 0x20, 0xB0, 0x00, 0x00, 0x20,
+0x53, 0x63, 0x61, 0x6E, 0x20, 0x54, 0x69, 0x6D,
+0x65, 0x20, 0x6F, 0x75, 0x74, 0x0D, 0x0A, 0x00,
+0xFB, 0x02, 0x0B, 0x03, 0xAF, 0x02, 0xF0, 0x02,
+0xEA, 0x02, 0xF2, 0x02, 0xAB, 0x02, 0x02, 0x03,
+0xEF, 0x02, 0xFD, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0xF0, 0x02, 0xF6, 0x02,
+0x0D, 0x03, 0xB0, 0x02, 0xF2, 0x02, 0xE7, 0x02,
+0xF0, 0x02, 0xAA, 0x02, 0x04, 0x03, 0xF3, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0xFB, 0x02, 0x0B, 0x03, 0xAF, 0x02, 0xF0, 0x02,
+0xEA, 0x02, 0xF2, 0x02, 0xAB, 0x02, 0x02, 0x03,
+0xEF, 0x02, 0xFD, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0xF0, 0x02, 0xF6, 0x02,
+0x0D, 0x03, 0xB0, 0x02, 0xF2, 0x02, 0xE7, 0x02,
+0xF0, 0x02, 0xAA, 0x02, 0x04, 0x03, 0xF3, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x82, 0x02, 0x94, 0x02, 0x55, 0x02, 0x81, 0x02,
+0x7B, 0x02, 0x83, 0x02, 0x53, 0x02, 0x8F, 0x02,
+0x83, 0x02, 0x82, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x75, 0x02, 0x86, 0x02,
+0x95, 0x02, 0x54, 0x02, 0x82, 0x02, 0x76, 0x02,
+0x80, 0x02, 0x50, 0x02, 0x8E, 0x02, 0x7D, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x53, 0x68, 0x6F, 0x72, 0x74, 0x20, 0x4E, 0x47,
+0x20, 0x44, 0x61, 0x74, 0x61, 0x5B, 0x44, 0x25,
+0x64, 0x5D, 0x7C, 0x20, 0x52, 0x61, 0x77, 0x20,
+0x64, 0x61, 0x74, 0x61, 0x20, 0x31, 0x20, 0x3D,
+0x25, 0x64, 0x2C, 0x20, 0x55, 0x70, 0x70, 0x65,
+0x72, 0x54, 0x48, 0x44, 0x20, 0x3D, 0x20, 0x25,
+0x64, 0x2C, 0x20, 0x4C, 0x6F, 0x77, 0x65, 0x72,
+0x54, 0x48, 0x44, 0x20, 0x3D, 0x20, 0x25, 0x64,
+0x0D, 0x0A, 0x00, 0x00, 0x74, 0x5A, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0xF4, 0x00, 0x00, 0x00,
+0xF6, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20,
+0x00, 0x00, 0x02, 0x20, 0x00, 0x20, 0x00, 0x50,
+0x00, 0x30, 0x00, 0x50, 0x00, 0x20, 0x01, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0xD4, 0x0C, 0x00, 0x00, 0x1C, 0x0D, 0x00, 0x00,
+0x64, 0x0D, 0x00, 0x00, 0x14, 0x0F, 0x00, 0x00,
+0x04, 0x0A, 0x00, 0x00, 0x4C, 0x0A, 0x00, 0x00,
+0x94, 0x0A, 0x00, 0x00, 0xCC, 0x0C, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x1A, 0xF0, 0xDC, 0x12,
+};
diff --git a/drivers/input/touchscreen/raydium_incell/raydium_incell.c b/drivers/input/touchscreen/raydium_incell/raydium_incell.c
new file mode 100644
index 0000000..702030c
--- /dev/null
+++ b/drivers/input/touchscreen/raydium_incell/raydium_incell.c
@@ -0,0 +1,5042 @@
+/* drivers/input/touchscreen/raydium_incell/raydium_incell.c
+ *
+ * Raydium TouchScreen driver.
+ *
+ * Copyright (c) 2010 Raydium tech Ltd.
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ */
+
+#include <linux/i2c.h>
+#include <linux/input.h>
+#include <linux/input/mt.h>
+#include <linux/delay.h>
+#include <linux/slab.h>
+#include <linux/interrupt.h>
+#include <linux/kernel.h>
+#include <linux/semaphore.h>
+#include <linux/mutex.h>
+#include <linux/module.h>
+#include <linux/gpio.h>
+#include <linux/syscalls.h>
+#include <linux/unistd.h>
+#include <linux/uaccess.h>
+#include <linux/fs.h>
+#include <linux/string.h>
+#include <linux/timer.h>
+#include <linux/regulator/consumer.h>
+#include <linux/device.h>
+#include <linux/of_gpio.h>
+#include <linux/firmware.h>
+
+#if defined(CONFIG_FB)
+#include <linux/notifier.h>
+#include <linux/fb.h>
+#elif defined(CONFIG_HAS_EARLYSUSPEND)
+#include <linux/earlysuspend.h>
+#endif /*end of CONFIG_FB*/
+
+#include "raydium_incell.h"
+#include "RADFWImage.h"
+
+/* TODO: Using struct+memcpy instead of array+offset*/
+enum raydium_pt_report_idx {
+ POS_SEQ = 0,/*1:touch, 0:no touch*/
+ POS_PT_AMOUNT,
+ POS_PT_ID = 0,
+ POS_X_L,
+ POS_X_H,
+ POS_Y_L,
+ POS_Y_H,
+ POS_PRESSURE_L,
+ POS_PRESSURE_H,
+ POS_WX_L,
+ POS_WX_H,
+ POS_WY_L,
+ POS_WY_H,
+ LENGTH_PT = 11
+};
+
+struct raydium_slot_status {
+ unsigned char occupied_pt_id; /*Occupied point ID*/
+ unsigned char need_update; /*Mark as info need to be updated*/
+ unsigned char pt_report_offset; /*point info offset in report*/
+};
+
+struct raydium_slot_status gst_slot_status[MAX_TOUCH_NUM * 2];/* The first 3 elements are currently occupied. therest is new coming points*/
+struct raydium_slot_status gst_slot_init_status = {0xFF, 0, 0};
+
+struct raydium_ts_platform_data {
+ const char *name;
+ u32 irqflags;
+ u32 irq_gpio;
+ u32 irq_gpio_flags;
+ u32 reset_gpio;
+ u32 reset_gpio_flags;
+ u32 x_max;
+ u32 y_max;
+ u32 x_min;
+ u32 y_min;
+ u32 hard_rst_dly;
+ u32 soft_rst_dly;
+ u32 num_max_touches;
+};
+
+struct raydium_ts_data {
+ unsigned int irq;
+ unsigned int rst;
+ unsigned int x_max;
+ unsigned int y_max;
+ unsigned int x_pos;
+ unsigned int y_pos;
+ unsigned int pressure;
+ unsigned int is_suspend;
+ unsigned int key_flag;
+ unsigned int is_sleep;
+ unsigned int is_close;
+#ifdef GESTURE_EN
+ unsigned int is_palm;
+#endif
+
+ struct i2c_client *client;
+ struct input_dev *input_dev;
+ struct raydium_ts_platform_data *pdata;
+ struct mutex lock;
+ struct work_struct work;
+ struct workqueue_struct *workqueue;
+ struct irq_desc *irq_desc;
+ bool irq_enabled;
+ bool irq_wake;
+
+#if defined(CONFIG_FB)
+ struct notifier_block fb_notif;
+ volatile int blank;
+#elif defined(CONFIG_HAS_EARLYSUSPEND)
+ struct early_suspend early_suspend;
+#endif /*end of CONFIG_FB*/
+
+ /*struct regulator *vdd;*/
+ struct regulator *vcc_i2c;
+ unsigned int fw_version;
+
+#ifdef MSM_NEW_VER
+ struct pinctrl *ts_pinctrl;
+ struct pinctrl_state *pinctrl_state_active;
+ struct pinctrl_state *pinctrl_state_suspend;
+ struct pinctrl_state *pinctrl_state_release;
+#endif /*end of MSM_NEW_VER*/
+};
+
+#if (defined(CONFIG_RM_SYSFS_DEBUG))
+static const struct attribute_group raydium_attr_group;
+#endif /*end of CONFIG_RM_SYSFS_DEBUG*/
+
+volatile unsigned char g_uc_raydium_flag;
+volatile unsigned char g_uc_gesture_status;
+volatile unsigned char g_uc_raydium_int_flag;
+volatile unsigned char g_uc_raydium_selftest_flag;
+volatile unsigned char g_uc_pre_palm_status;
+unsigned char u8_i2c_mode;
+unsigned char upgrade_type;
+unsigned char g_uc_raw_data_type;
+unsigned int g_ui_raw_data_length; /* 72 bytes*/
+unsigned long g_ul_addr;
+unsigned int g_ui_length;
+static char *g_rad_fw_image, *g_rad_init_image, *g_rad_boot_image, *g_rad_testfw_image;
+static bool g_receive_fw;
+volatile unsigned char g_u8_unlockflag;
+
+
+/*******************************************************************************
+* Name: raydium_variable_init
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static void raydium_variable_init(void)
+{
+ g_uc_raydium_flag = 0;
+ g_uc_gesture_status = 0;
+ g_uc_raydium_int_flag = 0;
+ g_uc_raydium_selftest_flag = 0;
+ g_uc_pre_palm_status = 0;
+ u8_i2c_mode = PDA2_MODE;
+ upgrade_type = 0;
+ g_uc_raw_data_type = RAYDIUM_FT_UPDATE;
+ g_ui_raw_data_length = 36 * 2; /* 72 bytes*/
+ g_ul_addr = RAYDIUM_CHECK_I2C_CMD;
+ g_ui_length = 1;
+ g_receive_fw = 0;
+ g_u8_unlockflag = false;
+ g_rad_fw_image = NULL;
+ g_rad_init_image = NULL;
+ g_rad_boot_image = NULL;
+ g_rad_testfw_image = NULL;
+}
+
+
+/*******************************************************************************
+* Name: raydium_gpio_configure
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int raydium_gpio_configure(struct raydium_ts_data *data, bool on)
+{
+ int err = 0;
+
+ if (on) {
+ if (gpio_is_valid(data->pdata->irq_gpio)) {
+ err = gpio_request(data->pdata->irq_gpio, "raydium_irq_gpio");
+ if (err) {
+ dev_err(&data->client->dev, "[touch]irq gpio request failed");
+ goto err_irq_gpio_req;
+ }
+
+ err = gpio_direction_input(data->pdata->irq_gpio);
+ if (err) {
+ dev_err(&data->client->dev, "[touch]set_direction for irq gpio failed\n");
+ goto err_irq_gpio_dir;
+ }
+ }
+ return 0;
+ } else {
+ if (gpio_is_valid(data->pdata->irq_gpio)) {
+ gpio_free(data->pdata->irq_gpio);
+ }
+ return 0;
+ }
+
+err_irq_gpio_dir:
+ if (gpio_is_valid(data->pdata->irq_gpio)) {
+ gpio_free(data->pdata->irq_gpio);
+ }
+err_irq_gpio_req:
+ return err;
+}
+
+/*******************************************************************************
+* Name: raydium_power_on
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int raydium_power_on(struct raydium_ts_data *data, bool on)
+{
+ int rc = 0;
+
+ if (!on) {
+ goto power_off;
+ }
+
+ regulator_set_load(data->vcc_i2c, 100000);
+ rc = regulator_enable(data->vcc_i2c);
+ if (rc) {
+ dev_err(&data->client->dev, "[touch]Regulator vcc_i2c enable failed rc=%d\n", rc);
+ }
+ return rc;
+
+power_off:
+ regulator_set_load(data->vcc_i2c, 100);
+ rc = regulator_disable(data->vcc_i2c);
+ if (rc) {
+ dev_err(&data->client->dev, "[touch]Regulator vcc_i2c disable failed rc=%d\n", rc);
+ }
+ return rc;
+}
+
+/*******************************************************************************
+* Name: raydium_power_init
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+static int raydium_power_init(struct raydium_ts_data *data, bool on)
+{
+ int rc;
+
+ if (!on) {
+ dev_err(&data->client->dev, "[touch]power_init false \n");
+ goto pwr_deinit;
+ }
+
+ data->vcc_i2c = regulator_get(&data->client->dev, "vcc_i2c");
+ if (IS_ERR(data->vcc_i2c)) {
+ rc = PTR_ERR(data->vcc_i2c);
+ dev_err(&data->client->dev, "[touch]regulator get failed vcc_i2c rc=%d\n", rc);
+ return rc;
+ }
+
+ if (regulator_count_voltages(data->vcc_i2c) > 0) {
+ rc = regulator_set_voltage(data->vcc_i2c, I2C_VTG_MIN_UV, I2C_VTG_MAX_UV);
+ if (rc) {
+ dev_err(&data->client->dev, "[touch]regulator set_vtg failed vcc_i2c rc=%d\n", rc);
+ goto reg_vcc_i2c_put;
+ }
+ }
+ return 0;
+
+reg_vcc_i2c_put:
+ regulator_put(data->vcc_i2c);
+ return rc;
+
+pwr_deinit:
+ if (regulator_count_voltages(data->vcc_i2c) > 0) {
+ regulator_set_voltage(data->vcc_i2c, 0, I2C_VTG_MAX_UV);
+ }
+ regulator_put(data->vcc_i2c);
+ return 0;
+}
+
+/*******************************************************************************
+* Name: raydium_ts_pinctrl_init
+* Brief:
+* Input:
+* Output:
+* Return:
+*******************************************************************************/
+#ifdef MSM_NEW_VER
+static int raydium_ts_pinctrl_init(struct raydium_ts_data *data)
+{
+ int retval;
+
+ /* Get pinctrl if target uses pinctrl */
+ data->ts_pinctrl = devm_pinctrl_get(&(data->client->dev));
+ if (IS_ERR_OR_NULL(data->ts_pinctrl)) {
+ retval = PTR_ERR(data->ts_pinctrl);
+ dev_err(&data->client->dev, "[touch]target does not use pinctrl %d\n", retval);
+ goto err_pinctrl_get;
+ }
+
+ data->pinctrl_state_active
+ = pinctrl_lookup_state(data->ts_pinctrl, PINCTRL_STATE_ACTIVE);
+ if (IS_ERR_OR_NULL(data->pinctrl_state_active)) {
+ retval = PTR_ERR(data->pinctrl_state_active);
+ dev_err(&data->client->dev,
+ "[touch]Can not lookup %s pinstate %d\n",
+ PINCTRL_STATE_ACTIVE, retval);
+ goto err_pinctrl_lookup;
+ }
+
+ data->pinctrl_state_suspend
+ = pinctrl_lookup_state(data->ts_pinctrl,
+ PINCTRL_STATE_SUSPEND);
+ if (IS_ERR_OR_NULL(data->pinctrl_state_suspend)) {
+ retval = PTR_ERR(data->pinctrl_state_suspend);
+ dev_err(&data->client->dev,
+ "[touch]Can not lookup %s pinstate %d\n",
+ PINCTRL_STATE_SUSPEND, retval);
+ goto err_pinctrl_lookup;
+ }
+
+ data->pinctrl_state_release
+ = pinctrl_lookup_state(data->ts_pinctrl,
+ PINCTRL_STATE_RELEASE);
+ if (IS_ERR_OR_NULL(data->pinctrl_state_release)) {
+ retval = PTR_ERR(data->pinctrl_state_release);
+ dev_err(&data->client->dev,
+ "[touch]Can not lookup %s pinstate %d\n",
+ PINCTRL_STATE_RELEASE, retval);
+ }
+
+ return 0;
+
+err_pinctrl_lookup:
+ devm_pinctrl_put(data->ts_pinctrl);
+err_pinctrl_get:
+ data->ts_pinctrl = NULL;
+ return retval;
+}
+#endif/*end of MSM_NEW_VER*/
+
+static int raydium_i2c_pda_set_address(struct raydium_ts_data *data,
+ unsigned long address, unsigned char mode)
+{
+ int retval = 0;
+ unsigned char retry;
+ unsigned char buf[RAYDIUM_I2C_PDA_ADDRESS_LENGTH];
+ struct i2c_client *i2c = data->client;
+
+ u8_i2c_mode = PDA_MODE;
+
+ i2c->addr = RAYDIUM_I2C_EID;
+ buf[0] = (address & 0x0000FF00) >> 8;
+ buf[1] = (address & 0x00FF0000) >> 16;
+ buf[2] = (address & 0xFF000000) >> 24;
+ buf[3] = mode;
+
+ for (retry = 0; retry < SYN_I2C_RETRY_TIMES; retry++) {
+ retval = i2c_master_send(i2c, buf, RAYDIUM_I2C_PDA_ADDRESS_LENGTH);
+ if (retval != RAYDIUM_I2C_PDA_ADDRESS_LENGTH) {
+ dev_err(&i2c->dev, "[touch]%s: I2C retry %d\n", __func__, retry + 1);
+ msleep(1);
+ } else {
+ break;
+ }
+ }
+
+ return (retval == RAYDIUM_I2C_PDA_ADDRESS_LENGTH) ? retval : -EIO;
+}
+
+/*device attribute raydium_i2c_pda2_mode used*/
+static int raydium_i2c_pda_read(struct i2c_client *client,
+ unsigned long addr, unsigned char *r_data, unsigned short length)
+{
+ int retval;
+ unsigned char retry;
+ unsigned char mode = 0x00;
+ unsigned char buf;
+ struct raydium_ts_data *data = i2c_get_clientdata(client);
+
+ struct i2c_msg msg[] = {
+ {
+ .addr = RAYDIUM_I2C_NID,
+ .flags = RAYDIUM_I2C_WRITE,
+ .len = 1,
+ .buf = &buf,
+ },
+ {
+ .addr = RAYDIUM_I2C_NID,
+ .flags = RAYDIUM_I2C_READ,
+ .len = length,
+ .buf = r_data,
+ },
+ };
+
+ if (length == 4) {
+ mode |= RAYDIUM_I2C_PDA_MODE_ENABLE | RAYDIUM_I2C_PDA_2_MODE_DISABLE | RAYDIUM_I2C_PDA_MODE_WORD_MODE;
+ } else {
+ mode |= RAYDIUM_I2C_PDA_MODE_ENABLE | RAYDIUM_I2C_PDA_2_MODE_DISABLE;
+ }
+ buf = addr & MASK_8BIT;
+
+ retval = raydium_i2c_pda_set_address(data, addr, mode);
+ if (retval != RAYDIUM_I2C_PDA_ADDRESS_LENGTH) {
+ goto exit;
+ }
+ usleep_range(50, 80);
+
+ for (retry = 0; retry < SYN_I2C_RETRY_TIMES; retry++) {
+ if (i2c_transfer(data->client->adapter, msg, 2) == 2) {
+ retval = length;
+ break;
+ }
+ dev_err(&data->client->dev, "%s: I2C retry %d\n", __func__, retry + 1);
+ msleep(1);
+ }
+
+ if (retry == SYN_I2C_RETRY_TIMES) {
+ dev_err(&data->client->dev, "%s: I2C read over retry limit\n", __func__);
+ retval = -EIO;
+ }
+exit:
+ return retval;
+}
+
+static int raydium_i2c_pda_write(struct i2c_client *client,
+ unsigned long addr, unsigned char *w_data, unsigned short length)
+{
+ int retval;
+ unsigned char retry;
+ unsigned char mode = 0x00;
+ unsigned char buf[MAX_WRITE_PACKET_SIZE + 1];
+ struct raydium_ts_data *data = i2c_get_clientdata(client);
+
+ struct i2c_msg msg[] = {
+ {
+ .addr = RAYDIUM_I2C_NID,
+ .flags = RAYDIUM_I2C_WRITE,
+ .len = length + 1,
+ .buf = buf,
+ },
+ };
+
+
+ if (length > MAX_WRITE_PACKET_SIZE) {
+ return -EINVAL;
+ }
+
+ if (length == 4) {
+ mode |= RAYDIUM_I2C_PDA_MODE_ENABLE | RAYDIUM_I2C_PDA_2_MODE_DISABLE | RAYDIUM_I2C_PDA_MODE_WORD_MODE;
+ } else {
+ mode |= RAYDIUM_I2C_PDA_MODE_ENABLE | RAYDIUM_I2C_PDA_2_MODE_DISABLE;
+ }
+
+ buf[0] = addr & MASK_8BIT;
+ memcpy(&buf[1], w_data, length);
+
+ retval = raydium_i2c_pda_set_address(data, addr, mode);
+ if (retval != RAYDIUM_I2C_PDA_ADDRESS_LENGTH) {
+ goto exit;
+ }
+ usleep_range(50, 80);
+
+ for (retry = 0; retry < SYN_I2C_RETRY_TIMES; retry++) {
+ if (i2c_transfer(client->adapter, msg, 1) == 1) {
+ retval = length;
+ break;
+ }
+ dev_err(&data->client->dev, "[touch]%s: I2C retry %d\n", __func__, retry + 1);
+ msleep(1);
+ }
+
+ if (retry == SYN_I2C_RETRY_TIMES) {
+ dev_err(&data->client->dev, "[touch]%s: I2C write over retry limit\n", __func__);
+ retval = -EIO;
+ }
+exit:
+ return retval;
+}
+
+static int raydium_i2c_pda_loadfw(struct i2c_client *client,
+ unsigned long addr, const unsigned char *w_data, unsigned short length)
+{
+ int retval;
+ unsigned char retry;
+ unsigned char mode = 0x00;
+ unsigned char buf[MAX_WRITE_PACKET_SIZE + 1];
+ struct raydium_ts_data *data = i2c_get_clientdata(client);
+
+ struct i2c_msg msg[] = {
+ {
+ .addr = RAYDIUM_I2C_NID,
+ .flags = RAYDIUM_I2C_WRITE,
+ .len = length + 1,
+ .buf = buf,
+ },
+ };
+
+
+ if (length > MAX_WRITE_PACKET_SIZE) {
+ return -EINVAL;
+ }
+
+ if (length == 4) {
+ mode |= RAYDIUM_I2C_PDA_MODE_ENABLE | RAYDIUM_I2C_PDA_2_MODE_DISABLE | RAYDIUM_I2C_PDA_MODE_WORD_MODE;
+ } else {
+ mode |= RAYDIUM_I2C_PDA_MODE_ENABLE | RAYDIUM_I2C_PDA_2_MODE_DISABLE;
+ }
+
+ buf[0] = addr & MASK_8BIT;
+ memcpy(&buf[1], w_data, length);
+
+ retval = raydium_i2c_pda_set_address(data, addr, mode);
+ if (retval != RAYDIUM_I2C_PDA_ADDRESS_LENGTH) {
+ goto exit;
+ }
+ usleep_range(50, 80);
+
+ for (retry = 0; retry < SYN_I2C_RETRY_TIMES; retry++) {
+ if (i2c_transfer(client->adapter, msg, 1) == 1) {
+ retval = length;
+ break;
+ }
+ dev_err(&data->client->dev, "[touch]%s: I2C retry %d\n", __func__, retry + 1);
+ msleep(1);
+ }
+
+ if (retry == SYN_I2C_RETRY_TIMES) {
+ dev_err(&data->client->dev, "[touch]%s: I2C write over retry limit\n", __func__);
+ retval = -EIO;
+ }
+exit:
+ return retval;
+}
+
+static int raydium_i2c_pda2_set_page(struct i2c_client *client, unsigned char page)
+{
+ int retval = -1;
+ unsigned char retry;
+ unsigned char buf[RAYDIUM_I2C_PDA2_PAGE_LENGTH];
+ struct raydium_ts_data *data = i2c_get_clientdata(client);
+
+ struct i2c_msg msg[] = {
+ {
+ .addr = RAYDIUM_I2C_NID,
+ .flags = RAYDIUM_I2C_WRITE,
+ .len = RAYDIUM_I2C_PDA2_PAGE_LENGTH,
+ .buf = buf,
+ },
+ };
+
+ buf[0] = RAYDIUM_PDA2_PAGE_ADDR;
+ buf[1] = page;
+
+ for (retry = 0; retry < SYN_I2C_RETRY_TIMES; retry++) {
+ if (i2c_transfer(client->adapter, msg, 1) == 1) {
+ retval = RAYDIUM_I2C_PDA2_PAGE_LENGTH;
+ break;
+ }
+ msleep(1);
+ }
+
+ if (retry == SYN_I2C_RETRY_TIMES) {
+ dev_err(&data->client->dev, "[touch]%s: I2C write over retry limit\n", __func__);
+ retval = -EIO;
+ }
+
+ return retval;
+}
+
+static int raydium_i2c_pda2_read(struct i2c_client *client,
+ unsigned char addr, unsigned char *r_data, unsigned short length)
+{
+ int retval = -1;
+ unsigned char retry;
+ struct raydium_ts_data *data = i2c_get_clientdata(client);
+
+ struct i2c_msg msg[] = {
+ {
+ .addr = RAYDIUM_I2C_NID,
+ .flags = RAYDIUM_I2C_WRITE,
+ .len = 1,
+ .buf = &addr,
+ },
+ {
+ .addr = RAYDIUM_I2C_NID,
+ .flags = RAYDIUM_I2C_READ,
+ .len = length,
+ .buf = r_data,
+ },
+ };
+ u8_i2c_mode = PDA2_MODE;
+ for (retry = 0; retry < SYN_I2C_RETRY_TIMES; retry++) {
+ if (i2c_transfer(data->client->adapter, msg, 2) == 2) {
+ retval = length;
+ break;
+ }
+ msleep(1);
+ }
+
+ if (retry == SYN_I2C_RETRY_TIMES) {
+ dev_err(&data->client->dev, "[touch]%s: I2C read over retry limit\n", __func__);
+ retval = -EIO;
+ }
+
+ return retval;
+}
+
+static int raydium_i2c_pda2_write(struct i2c_client *client,
+ unsigned char addr, unsigned char *w_data, unsigned short length)
+{
+ int retval = -1;
+ unsigned char retry;
+ unsigned char buf[MAX_WRITE_PACKET_SIZE + 1];
+ struct raydium_ts_data *data = i2c_get_clientdata(client);
+
+ struct i2c_msg msg[] = {
+ {
+ .addr = RAYDIUM_I2C_NID,
+ .flags = RAYDIUM_I2C_WRITE,
+ .len = length + 1,
+ .buf = buf,
+ },
+ };
+
+
+ if (length > MAX_WRITE_PACKET_SIZE) {
+ return -EINVAL;
+ }
+ u8_i2c_mode = PDA2_MODE;
+ buf[0] = addr;
+ memcpy(&buf[1], w_data, length);
+
+ for (retry = 0; retry < SYN_I2C_RETRY_TIMES; retry++) {
+ if (i2c_transfer(client->adapter, msg, 1) == 1) {
+ retval = length;
+ break;
+ }
+ msleep(1);
+ }
+
+ if (retry == SYN_I2C_RETRY_TIMES) {
+ dev_err(&data->client->dev, "[touch]%s: I2C write over retry limit\n", __func__);
+ retval = -EIO;
+ }
+
+ return retval;
+}
+
+static void raydium_irq_control(struct raydium_ts_data *ts, bool enable)
+{
+ if (enable) {
+ if (ts->irq_enabled) {
+ return;
+ }
+
+ /* Clear interrupts first */
+ if (ts->blank != FB_BLANK_POWERDOWN) {
+ mutex_lock(&ts->lock);
+ if (raydium_i2c_pda2_set_page(ts->client, RAYDIUM_PDA2_PAGE_0) < 0) {
+ dev_err(&ts->client->dev, "[touch]failed to set page %s\n", __func__);
+ }
+ mutex_unlock(&ts->lock);
+ mdelay(1);
+ }
+ while (ts->irq_desc->depth > 0) {
+ ts->irq_enabled = true;
+ enable_irq(ts->irq);
+ printk(KERN_INFO "[touch]irq enable\n");
+ }
+ } else {
+ if (ts->irq_enabled) {
+ if (ts->irq_desc->depth == 0) {
+ disable_irq(ts->irq);
+ ts->irq_enabled = false;
+ printk(KERN_INFO "[touch]irq disable\n");
+ }
+ }
+ }
+}
+
+#ifdef CONFIG_RM_SYSFS_DEBUG
+static int raydium_get_palm_state(struct raydium_ts_data *raydium_ts, unsigned char pre_palm_status)
+{
+ unsigned char rbuffer[1];
+ unsigned int ui_palm_status = 0;
+ unsigned char tp_status[MAX_TCH_STATUS_PACKAGE_SIZE];
+ int ret = -1;
+
+ mutex_lock(&raydium_ts->lock);
+ /* Read palm state*/
+ ret = raydium_i2c_pda2_set_page(raydium_ts->client, RAYDIUM_PDA2_PAGE_0);
+ if (ret < 0) {
+ goto exit_error;
+ }
+ ret = raydium_i2c_pda2_read(raydium_ts->client, RAYDIUM_PDA2_PALM_STATUS_ADDR, rbuffer, 1);
+ if (ret < 0) {
+ goto exit_error;
+ }
+ ui_palm_status = rbuffer[0];
+ if (ui_palm_status == RAYDIUM_PALM_MODE_ENABLE || (ui_palm_status == RAYDIUM_PALM_MODE_DISABLE && pre_palm_status == RAYDIUM_PALM_MODE_ENABLE)) {
+ /*clear seq num*/
+ tp_status[POS_SEQ] = 0;
+ ret = raydium_i2c_pda2_write(raydium_ts->client, RAYDIUM_PDA2_TCH_RPT_STATUS_ADDR, tp_status, 1);
+ if (ret < 0) {
+ dev_err(&raydium_ts->client->dev, "[touch]%s: failed to write data: %d\n", __func__, ret);
+ goto exit_error;
+ }
+ }
+ mutex_unlock(&raydium_ts->lock);
+ return ui_palm_status;
+
+exit_error:
+ mutex_unlock(&raydium_ts->lock);
+ return ret;
+}
+
+static int raydium_set_palm_state(struct raydium_ts_data *raydium_ts, unsigned char set_palm)
+{
+ unsigned char wbuffer[1];
+ unsigned int ui_palm_status = 0;
+ int ret = -1;
+
+ mutex_lock(&raydium_ts->lock);
+ /* Read palm state*/
+ ret = raydium_i2c_pda2_set_page(raydium_ts->client, RAYDIUM_PDA2_PAGE_0);
+ if (ret < 0) {
+ goto exit_error;
+ }
+ wbuffer[0] = set_palm;
+ ret = raydium_i2c_pda2_write(raydium_ts->client, RAYDIUM_PDA2_PALM_STATUS_ADDR, wbuffer, 1);
+ if (ret < 0) {
+ goto exit_error;
+ }
+ mutex_unlock(&raydium_ts->lock);
+ return ui_palm_status;
+
+exit_error:
+ mutex_unlock(&raydium_ts->lock);
+ return ret;
+}
+
+static ssize_t raydium_touch_calibration_show(struct device *dev,
+ struct device_attribute *attr,
+ char *buf)
+{
+ unsigned char rbuffer[1];
+ int buf_len = 0;
+ int ret = -1;
+ unsigned char retry = 0;
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ struct raydium_ts_data *ts = (struct raydium_ts_data *)i2c_get_clientdata(client);
+
+ if (ts->is_suspend) {
+ printk(KERN_INFO "[touch]Raydium IC is_suspend at %s\n", __func__);
+ }
+ raydium_irq_control(ts, DISABLE);
+ mutex_lock(&ts->lock);
+
+ ret = raydium_i2c_pda2_set_page(client, RAYDIUM_PDA2_PAGE_0);
+ if (ret < 0) {
+ goto exit_i2c_error;
+ }
+ rbuffer[0] = RAYDIUM_HOST_CMD_CALIBRATION;
+ ret = raydium_i2c_pda2_write(client, RAYDIUM_PDA2_HOST_CMD_ADDR, rbuffer, 1);
+ if (ret < 0) {
+ goto exit_i2c_error;
+ }
+
+ do {
+ if (rbuffer[0] == RAYDIUM_HOST_CMD_NO_OP) {
+ break;
+ } else {
+ msleep(1000);
+ }
+ ret = raydium_i2c_pda2_read(client, RAYDIUM_PDA2_HOST_CMD_ADDR, rbuffer, 1);
+ if (ret < 0) {
+ goto exit_i2c_error;
+ }
+ printk(KERN_INFO "[touch]Raydium %s return 0x%02x!!\n", __func__, rbuffer[0]);
+ } while (retry++ < (SYN_I2C_RETRY_TIMES * 2));
+
+ memcpy(buf, rbuffer, 1);
+
+ buf_len = strlen(buf);
+ ret = buf_len + 1;
+
+exit_i2c_error:
+ mutex_unlock(&ts->lock);
+ raydium_irq_control(ts, ENABLE);
+
+ return ret;
+}
+
+static ssize_t raydium_check_i2c_show(struct device *dev,
+ struct device_attribute *attr,
+ char *buf)
+{
+ unsigned char rbuffer[4];
+ int buf_len = 0;
+ int ret = -1;
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ struct raydium_ts_data *ts = (struct raydium_ts_data *)i2c_get_clientdata(client);
+
+ if (ts->is_suspend) {
+ printk(KERN_INFO "[touch]Raydium IC is_suspend at %s\n", __func__);
+ }
+ raydium_irq_control(ts, DISABLE);
+ mutex_lock(&ts->lock);
+
+ if (u8_i2c_mode == PDA2_MODE) {
+ ret = raydium_i2c_pda2_set_page(client, RAYDIUM_PDA2_PAGE_0);
+ if (ret < 0) {
+ goto exit_i2c_error;
+ }
+ *(unsigned long *)rbuffer = (RAYDIUM_I2C_PDA_MODE_ENABLE << 24) | ((RAYDIUM_CHECK_I2C_CMD & (~MASK_8BIT)) >> 8); /*using byte mode to read 4 bytes*/
+
+ ret = raydium_i2c_pda2_write(client, RAYDIUM_PDA2_PDA_CFG_ADDR, rbuffer, 4);
+ if (ret < 0) {
+ goto exit_i2c_error;
+ }
+ ret = raydium_i2c_pda2_set_page(client, RAYDIUM_PDA2_ENABLE_PDA);
+ if (ret < 0) {
+ goto exit_i2c_error;
+ }
+ ret = raydium_i2c_pda2_read(client, (unsigned char)(RAYDIUM_CHECK_I2C_CMD & MASK_8BIT), rbuffer, 4);
+ if (ret < 0) {
+ goto exit_i2c_error;
+ }
+ } else {
+ ret = raydium_i2c_pda_read(client, RAYDIUM_CHECK_I2C_CMD, rbuffer, 4);
+ if (ret < 0) {
+ goto exit_i2c_error;
+ }
+ }
+
+ snprintf(buf, 128, "[touch]Raydium Touch check i2c : %02X%02X\n", rbuffer[3], rbuffer[2]);
+ buf_len = strlen(buf);
+ ret = buf_len + 1;
+
+exit_i2c_error:
+ mutex_unlock(&ts->lock);
+ raydium_irq_control(ts, ENABLE);
+ return ret;
+}
+
+static int raydium_i2c_mode_control(struct i2c_client *client, unsigned char mode)
+{
+ struct raydium_ts_data *ts = (struct raydium_ts_data *)i2c_get_clientdata(client);
+
+ switch (mode) {
+ case 0: /* Disable INT flag */
+ printk(KERN_INFO "[touch]Raydium INT flag : %d\n", ts->irq_enabled);
+ disable_irq(ts->irq);
+ ts->irq_enabled = false;
+ printk(KERN_INFO "[touch]Raydium irq disable\n");
+ break;
+ case 1: /* Enable INT flag */
+ printk(KERN_INFO "[touch]Raydium INT flag : %d\n", ts->irq_enabled);
+ enable_irq(ts->irq);
+ ts->irq_enabled = true;
+ printk(KERN_INFO "[touch]Raydium irq enable\n");
+ break;
+ case 2: /* Disable INT */
+ raydium_irq_control(ts, DISABLE);
+ printk(KERN_INFO "[touch]Raydium disable INT\n");
+ break;
+ case 3: /* Enable INT */
+ raydium_irq_control(ts, ENABLE);
+ printk(KERN_INFO "[touch]Raydium enable INT\n");
+ break;
+ case 4:
+ printk(KERN_INFO "[touch]Raydium INT depth : %d\n", ts->irq_desc->depth);
+ }
+ return 0;
+}
+
+/*****************************************************************************
+** Function name: bits_reverse
+** Descriptions: MSB/LSB exchange.
+** parameters: num:input data, bit_num:data bit number
+** Returned value: reverse value
+*****************************************************************************/
+static unsigned int bits_reverse(unsigned int num, unsigned int bit_num)
+{
+ unsigned int reverse = 0, i;
+
+ for (i = 0; i < bit_num; i++) {
+ if (num & (1 << i)) {
+ reverse |= 1 << ((bit_num - 1) - i);
+ }
+ }
+ return reverse;
+}
+/*****************************************************************************
+** Function name: rc_crc32
+** Descriptions: 32 bits checksum calculation.
+** parameters: buf:start address, len:length
+** Returned value: checksum
+*****************************************************************************/
+static unsigned int rc_crc32(const char *buf, unsigned int len, unsigned int crc)
+{
+ unsigned int i;
+ unsigned char flash_byte, uc_current, j;
+
+ for (i = 0; i < len; i++) {
+ flash_byte = buf[i];
+ uc_current = (unsigned char)bits_reverse(flash_byte, 8);
+ for (j = 0; j < 8; j++) {
+ if ((crc ^ uc_current) & 0x01) {
+ crc = (crc >> 1) ^ 0xedb88320;
+ } else {
+ crc >>= 1;
+ }
+ uc_current >>= 1;
+ }
+ }
+ return crc;
+}
+
+/* upgrade firmware with image file */
+static int raydium_fw_upgrade_with_image(struct i2c_client *client, unsigned long ul_fw_addr, unsigned char type)
+{
+ int ret = -1;
+ unsigned long ul_fw_size = 0;
+ unsigned char *firmware_data;
+ unsigned long ul_write_offset = 0;
+ unsigned short us_write_length = 0;
+ unsigned int ui_checksum = 0xFFFFFFFF;
+
+ firmware_data = kzalloc(RAYDIUM_FW_MAX_SIZE, GFP_KERNEL);
+ if (firmware_data == NULL) {
+ pr_err("kzalloc firmware_data failed\n");
+ return -ENOMEM;
+ }
+
+ memset(firmware_data, 0, ul_fw_size);
+
+ switch (type) {
+ case RAYDIUM_INIT:
+ if (g_receive_fw == 1)
+ memcpy(firmware_data, g_rad_init_image, 0x1FC);
+ else
+ memcpy(firmware_data, RadInitImage, 0x1FC);
+ ul_fw_size = 0x1FC;
+ break;
+ case RAYDIUM_BASELINE:
+ if (g_receive_fw == 1)
+ memcpy(firmware_data, (g_rad_fw_image + 0xA04), 0x2CC);
+ else
+ memcpy(firmware_data, (RadFWImage + 0xA04), 0x2CC);
+ ul_fw_size = 0x2CC;
+ break;
+ case RAYDIUM_COMP:
+ if (g_receive_fw == 1)
+ memcpy(firmware_data, (g_rad_fw_image + 0xCD4), 0x244);
+ else
+ memcpy(firmware_data, (RadFWImage + 0xCD4), 0x244);
+ ul_fw_size = 0x244;
+ break;
+ case RAYDIUM_PARA:
+ if (g_receive_fw == 1)
+ memcpy(firmware_data, (g_rad_fw_image + 0xF1C), 0xE0);
+ else
+ memcpy(firmware_data, (RadFWImage + 0xF1C), 0xE0);
+ ul_fw_size = 0xE0;
+ break;
+ case RAYDIUM_FIRMWARE:
+ if (g_receive_fw == 1)
+ memcpy(firmware_data, (g_rad_fw_image + 0x1000), 0x4FFC);
+ else
+ memcpy(firmware_data, (RadFWImage + 0x1000), 0x4FFC);
+ ul_fw_size = 0x4FFC;
+ break;
+ case RAYDIUM_BOOTLOADER:
+ if (g_receive_fw == 1) {
+ memcpy(firmware_data, g_rad_boot_image, 0x7FC);
+ memcpy((firmware_data + 0x800), g_rad_init_image, 0x1FC);
+ } else {
+ memcpy(firmware_data, RadBootImage, 0x7FC);
+ memcpy((firmware_data + 0x800), RadInitImage, 0x1FC);
+ }
+ ul_fw_size = 0x9FC;
+ break;
+ case RAYDIUM_TEST_FW:
+ if (g_receive_fw == 1)
+ memcpy((firmware_data + 4), (g_rad_testfw_image + 0xA04), 0x55FC);
+ else
+ memcpy((firmware_data + 4), (RadTestFWImage + 0xA04), 0x55FC);
+ ul_fw_size = 0x55FC;
+ break;
+ }
+
+ if (type == RAYDIUM_TEST_FW) {
+ ui_checksum = rc_crc32((firmware_data + 4), ul_fw_size, ui_checksum);
+ printk(KERN_INFO "[touch]Raydium ui_checksum : 0x%08X\n", ui_checksum);
+ ui_checksum = bits_reverse(ui_checksum, 32);
+ memcpy(firmware_data, &ui_checksum, 4);
+ } else {
+ ui_checksum = rc_crc32(firmware_data, ul_fw_size, ui_checksum);
+ printk(KERN_INFO "[touch]Raydium ui_checksum : 0x%08X\n", ui_checksum);
+ ui_checksum = bits_reverse(ui_checksum, 32);
+ memcpy((firmware_data + ul_fw_size), &ui_checksum, 4);
+ }
+ printk(KERN_INFO "[touch]Raydium ui_checksum after bits reverse: 0x%08X\n", ui_checksum);
+ printk(KERN_INFO "[touch]Raydium (firmware_data + ul_fw_size): 0x%08X\n", *(unsigned int *)(firmware_data + ul_fw_size));
+ ul_fw_size += 4;
+
+ ul_write_offset = 0;
+ while (ul_write_offset < ul_fw_size) {
+ if ((ul_write_offset + MAX_WRITE_PACKET_SIZE) < ul_fw_size) {
+ us_write_length = MAX_WRITE_PACKET_SIZE;
+ } else {
+ us_write_length = (unsigned short)(ul_fw_size - ul_write_offset);
+ }
+
+ ret = raydium_i2c_pda_write(client, (ul_fw_addr + ul_write_offset), (firmware_data + ul_write_offset), us_write_length);
+ if (ret < 0) {
+ goto exit_upgrate;
+ }
+ ul_write_offset += (unsigned long)us_write_length;
+ }
+ ul_fw_addr += ul_write_offset;
+
+exit_upgrate:
+ kfree(firmware_data);
+ if (ret < 0) {
+ pr_err("[touch]upgrade firmware Failed\n");
+ return ret;
+ } else {
+ pr_err("[touch]upgrade firmware Successfully\n");
+ return 0;
+ }
+}
+
+static int raydium_do_software_reset(struct i2c_client *client)
+{
+ int ret = SUCCESS;
+ unsigned int retry, retry_time = 1000;
+ unsigned int irq_value;
+ unsigned char buf[4];
+ struct raydium_ts_data *ts = (struct raydium_ts_data *)i2c_get_clientdata(client);
+
+ /*#enable INT*/
+ g_uc_raydium_flag = RAYDIUM_BOOTLOADER_FLAG;
+ printk(KERN_INFO "[touch]ready to software reset => enable INT\n");
+ raydium_irq_control(ts, ENABLE);
+
+ /*SW reset*/
+ memset(buf, 0, sizeof(buf));
+ buf[0] = 0x01;
+ printk(KERN_INFO "[touch]Raydium SW reset\n");
+ ret = raydium_i2c_pda_write(client, 0x40000004, buf, 4);
+ if (ret < 0) {
+ goto exit;
+ }
+ retry = retry_time;
+ while (retry != 0 && g_uc_raydium_flag != RAYDIUM_INTERRUPT_FLAG) {
+ msleep(2);
+ retry--;
+ printk(KERN_INFO "[touch]wait software reset finish => confirm interrupt_flag result %d\n", retry);
+ }
+
+ /*#disable INT*/
+ if (retry == 0 && g_uc_raydium_flag != RAYDIUM_INTERRUPT_FLAG) {
+ printk(KERN_INFO "[touch]no interrupt => disable INT\n");
+ raydium_irq_control(ts, DISABLE);
+ g_uc_raydium_flag = 0;
+ }
+
+ if (g_uc_raydium_flag == RAYDIUM_INTERRUPT_FLAG) {
+ retry = retry_time;
+ irq_value = 0;
+ while (retry != 0 && irq_value != 1) {
+ irq_value = gpio_get_value(ts->pdata->irq_gpio);
+ printk(KERN_INFO "[touch]irq_value is %d\n", irq_value);
+ msleep(2);
+ retry--;
+ }
+ }
+
+ if (retry == 0) {
+ printk(KERN_ERR "[touch]%s, FW not ready, retry error!\n", __func__);
+ ret = ERROR;
+ }
+
+exit:
+ return ret;
+}
+
+static int raydium_wait_ft_int(struct i2c_client *client)
+{
+ int ret = SUCCESS;
+ unsigned int retry, retry_time = 1000;
+ unsigned int irq_value;
+
+ struct raydium_ts_data *ts = (struct raydium_ts_data *)i2c_get_clientdata(client);
+
+ /*#enable INT*/
+ g_uc_raydium_flag = RAYDIUM_BOOTLOADER_FLAG;
+
+ retry = retry_time;
+ while (retry != 0 && g_uc_raydium_flag != RAYDIUM_INTERRUPT_FLAG) {
+ msleep(2);
+ retry--;
+ }
+
+ /*#disable INT*/
+ if (retry == 0 && g_uc_raydium_flag != RAYDIUM_INTERRUPT_FLAG) {
+ g_uc_raydium_flag = 0;
+ }
+
+ if (g_uc_raydium_flag == RAYDIUM_INTERRUPT_FLAG) {
+ retry = retry_time;
+ irq_value = 0;
+ while (retry != 0 && irq_value != 1) {
+ irq_value = gpio_get_value(ts->pdata->irq_gpio);
+ printk(KERN_INFO "[touch]irq_value is %d\n", irq_value);
+ msleep(2);
+ retry--;
+ }
+ }
+
+ if (retry == 0) {
+ printk(KERN_INFO "[touch]%s, FT Test not ready, retry error!\n", __func__);
+ ret = ERROR;
+ } else {
+ raydium_irq_control(ts, ENABLE);
+ }
+ return ret;
+}
+
+static int raydium_check_fw_ready(struct i2c_client *client)
+{
+ int ret = SUCCESS;
+ unsigned int retry, retry_time = 400;
+ unsigned char buf[4];
+
+ buf[1] = 0;
+ retry = retry_time;
+ while (buf[1] != 0x40 && retry != 0) {
+ printk(KERN_INFO "[touch]confirm boot is finish 0x%x\n", buf[1]);
+ ret = raydium_i2c_pda_read(client, 0x50000918, buf, 4);
+ if (ret < 0) {
+ goto exit;
+ }
+ retry--;
+ msleep(5);
+ }
+ if (retry == 0) {
+ printk(KERN_ERR "[touch]Error, confirm boot is finish 0x%x\n", buf[1]);
+ ret = -1;
+ goto exit;
+ }
+
+ if (retry == 0) {
+ printk(KERN_ERR "[touch]%s, FW not ready, retry error!\n", __func__);
+ ret = ERROR;
+ } else {
+ printk(KERN_INFO "[touch]%s, FW is ready!!\n", __func__);
+ msleep(5);
+ }
+
+exit:
+ return ret;
+}
+
+static int set_skip_load(struct i2c_client *client)
+{
+ int ret = SUCCESS;
+ unsigned char buf[4];
+
+ /*Return to Bootloader in PRAM*/
+ /*Skip load*/
+ memset(buf, 0, sizeof(buf));
+ buf[0] = 0x10;
+ buf[1] = 0x08;
+ printk(KERN_INFO "[touch]Raydium skip load\n");
+ ret = raydium_i2c_pda_write(client, 0x50000918, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ ret = raydium_do_software_reset(client);
+
+exit_upgrade:
+ return ret;
+}
+
+static int raydium_load_test_fw(struct i2c_client *client)
+{
+ int ret = SUCCESS;
+ unsigned char buf[4];
+ unsigned int retry, retry_time = 200;
+ unsigned char is_MCU_HOLD;
+ unsigned int irq_value;
+ struct raydium_ts_data *ts = (struct raydium_ts_data *)i2c_get_clientdata(client);
+
+ ret = raydium_i2c_pda_read(client, 0x50000918, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ is_MCU_HOLD = buf[1] & 0x20;
+ printk(KERN_INFO "[touch]is_MCU_HOLD = %d\n", is_MCU_HOLD);
+
+ /*#enable INT*/
+ g_uc_raydium_flag = RAYDIUM_BOOTLOADER_FLAG;
+ printk(KERN_INFO "[touch]ready to software reset => enable INT\n");
+ raydium_irq_control(ts, ENABLE);
+
+ /*Skip load*/
+ memset(buf, 0, sizeof(buf));
+ buf[0] = 0x10;
+ buf[1] = 0x08;
+ printk(KERN_INFO "[touch]Raydium skip load\n");
+ ret = raydium_i2c_pda_write(client, 0x50000918, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ memset(buf, 0, sizeof(buf));
+ buf[0] = 0x01;
+ ret = raydium_i2c_pda_write(client, 0x40000004, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ if (is_MCU_HOLD == 0) {
+ retry = retry_time;
+ while (retry != 0 && g_uc_raydium_flag != RAYDIUM_INTERRUPT_FLAG) {
+ msleep(10);
+ retry--;
+ printk(KERN_INFO "[touch]wait software reset finish => confirm interrupt_flag result %d\n", retry);
+ }
+
+ /*#disable INT*/
+ if (retry == 0 && g_uc_raydium_flag != RAYDIUM_INTERRUPT_FLAG) {
+ printk(KERN_INFO "[touch]no interrupt => disable INT\n");
+ raydium_irq_control(ts, DISABLE);
+ g_uc_raydium_flag = 0;
+ }
+
+ if (g_uc_raydium_flag == RAYDIUM_INTERRUPT_FLAG) {
+ retry = retry_time;
+ irq_value = 0;
+ while (retry != 0 && irq_value != 1) {
+ irq_value = gpio_get_value(ts->pdata->irq_gpio);
+ printk(KERN_INFO "[touch]irq_value is %d\n", irq_value);
+ msleep(10);
+ retry--;
+ }
+ }
+
+ if (retry == 0) {
+ printk(KERN_ERR "[touch]%s, FW not ready, retry error!\n", __func__);
+ ret = ERROR;
+ goto exit_upgrade;
+ }
+ } else {
+ msleep(100);
+ raydium_irq_control(ts, DISABLE);
+ }
+
+ /*set mcu hold*/
+ raydium_i2c_pda_read(client, 0x50000918, buf, 4);
+ buf[0] |= 0x20;
+ raydium_i2c_pda_write(client, 0x50000918, buf, 4);
+ raydium_i2c_pda_read(client, 0x40000004, buf, 4);
+ buf[0] |= 0x01;
+ raydium_i2c_pda_write(client, 0x40000004, buf, 4);
+
+ /*WRT boot-loader to PRAM first*/
+ memset(buf, 0, sizeof(buf));
+ printk("[touch]Raydium WRT boot-loader to PRAM first\n");
+ ret = raydium_i2c_pda_write(client, 0x50000900, buf, 4);
+
+ /*Sending bootloader*/
+ ret = raydium_fw_upgrade_with_image(client, 0x0000, RAYDIUM_BOOTLOADER);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+
+ /*release mcu hold*/
+ raydium_i2c_pda_read(client, 0x50000918, buf, 4);
+ buf[0] &= ~0x20;
+ buf[0] |= 0x10;
+ raydium_i2c_pda_write(client, 0x50000918, buf, 4);
+ raydium_i2c_pda_read(client, 0x40000004, buf, 4);
+ buf[0] |= 0x01;
+ raydium_i2c_pda_write(client, 0x40000004, buf, 4);
+ msleep(50);
+
+ ret = raydium_i2c_pda_read(client, 0x40000000, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ buf[3] |= 0x40;
+ ret = raydium_i2c_pda_write(client, 0x40000000, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ ret = raydium_i2c_pda_read(client, 0x40000014, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ buf[0] |= 0x04;
+ buf[1] |= 0x04;
+ ret = raydium_i2c_pda_write(client, 0x40000014, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+
+ memset(buf, 0, sizeof(buf));
+ printk(KERN_INFO "[touch]Raydium WRT test_fw to PRAM\n");
+
+ ret = raydium_i2c_pda_write(client, 0x50000900, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ /*Sending test fw*/
+ ret = raydium_fw_upgrade_with_image(client, 0xA00, RAYDIUM_TEST_FW);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ /*Skip load*/
+ memset(buf, 0, sizeof(buf));
+ buf[0] = 0x10;
+ printk(KERN_INFO "[touch]Raydium skip load\n");
+ ret = raydium_i2c_pda_write(client, 0x50000918, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ ret = raydium_do_software_reset(client);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ ret = raydium_check_fw_ready(client);
+
+exit_upgrade:
+ return ret;
+}
+
+static int raydium_boot_upgrade(struct i2c_client *client)
+{
+ int ret = SUCCESS;
+ unsigned char buf[4];
+ unsigned int retry, retry_time = 200;
+ unsigned char is_MCU_HOLD;
+ unsigned int irq_value;
+ struct raydium_ts_data *ts = (struct raydium_ts_data *)i2c_get_clientdata(client);
+
+ ret = raydium_i2c_pda_read(client, 0x50000918, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ is_MCU_HOLD = buf[1] & 0x20;
+ printk(KERN_INFO "[touch]is_MCU_HOLD = %d\n", is_MCU_HOLD);
+
+ /*#enable INT*/
+ g_uc_raydium_flag = RAYDIUM_BOOTLOADER_FLAG;
+ printk(KERN_INFO "[touch]ready to software reset => enable INT\n");
+ raydium_irq_control(ts, ENABLE);
+
+ /* Return to Bootloader */
+ memset(buf, 0, sizeof(buf));
+ buf[0] = 0x00;
+ buf[1] = 0x08;
+ raydium_i2c_pda_write(client, 0x50000918, buf, 4);
+ memset(buf, 0, sizeof(buf));
+ buf[0] |= 0x01;
+ raydium_i2c_pda_write(client, 0x40000004, buf, 4);
+
+ if (is_MCU_HOLD == 0) {
+ retry = retry_time;
+ while (retry != 0 && g_uc_raydium_flag != RAYDIUM_INTERRUPT_FLAG) {
+ msleep(10);
+ retry--;
+ printk(KERN_INFO "[touch]wait software reset finish => confirm interrupt_flag result %d\n", retry);
+ }
+
+ /*#disable INT*/
+ if (retry == 0 && g_uc_raydium_flag != RAYDIUM_INTERRUPT_FLAG) {
+ printk(KERN_INFO "[touch]no interrupt => disable INT\n");
+ raydium_irq_control(ts, DISABLE);
+ g_uc_raydium_flag = 0;
+ }
+
+ if (g_uc_raydium_flag == RAYDIUM_INTERRUPT_FLAG) {
+ retry = retry_time;
+ irq_value = 0;
+ while (retry != 0 && irq_value != 1) {
+ irq_value = gpio_get_value(ts->pdata->irq_gpio);
+ printk(KERN_INFO "[touch]irq_value is %d\n", irq_value);
+ msleep(10);
+ retry--;
+ }
+ }
+
+ if (retry == 0) {
+ printk(KERN_ERR "[touch]%s, FW not ready, retry error!\n", __func__);
+ ret = ERROR;
+ goto exit_upgrade;
+ }
+ } else {
+ raydium_irq_control(ts, DISABLE);
+ msleep(100);
+ }
+
+ /*set mcu hold*/
+ raydium_i2c_pda_read(client, 0x50000918, buf, 4);
+ buf[0] |= 0x20;
+ raydium_i2c_pda_write(client, 0x50000918, buf, 4);
+ raydium_i2c_pda_read(client, 0x40000004, buf, 4);
+ buf[0] |= 0x01;
+ raydium_i2c_pda_write(client, 0x40000004, buf, 4);
+
+ /*WRT boot-loader to PRAM first*/
+ memset(buf, 0, sizeof(buf));
+ printk(KERN_INFO "[touch]WRT boot-loader to PRAM first\n");
+ ret = raydium_i2c_pda_write(client, 0x50000900, buf, 4);
+
+ /*Sending bootloader*/
+ ret = raydium_fw_upgrade_with_image(client, 0x0000, RAYDIUM_BOOTLOADER);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+
+ /*release mcu hold*/
+ raydium_i2c_pda_read(client, 0x50000918, buf, 4);
+ buf[0] &= ~0x20;
+ buf[0] |= 0x10;
+ raydium_i2c_pda_write(client, 0x50000918, buf, 4);
+ raydium_i2c_pda_read(client, 0x40000004, buf, 4);
+ buf[0] |= 0x01;
+ raydium_i2c_pda_write(client, 0x40000004, buf, 4);
+ msleep(50);
+
+ ret = raydium_i2c_pda_read(client, 0x40000000, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ buf[3] |= 0x40;
+ ret = raydium_i2c_pda_write(client, 0x40000000, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ ret = raydium_i2c_pda_read(client, 0x40000014, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ buf[0] |= 0x04;
+ buf[1] |= 0x04;
+ ret = raydium_i2c_pda_write(client, 0x40000014, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ /*Skip load*/
+ memset(buf, 0, sizeof(buf));
+ buf[0] = 0x10;
+ buf[1] = 0x08;
+ printk("Raydium skip load\n");
+ ret = raydium_i2c_pda_write(client, 0x50000918, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ ret = raydium_do_software_reset(client);
+
+exit_upgrade:
+ return ret;
+}
+
+/* Raydium fireware upgrade flow */
+static int raydium_fw_upgrade(struct i2c_client *client, unsigned char type, unsigned char isSkipLoad, unsigned char isCheckCRCError)
+{
+ int ret = 0;
+ unsigned char buf[4];
+ unsigned int retry, retry_time = 200;
+ unsigned int irq_value;
+ struct raydium_ts_data *ts = (struct raydium_ts_data *)i2c_get_clientdata(client);
+
+ /*##### wait for boot-loader start #####*/
+ printk(KERN_INFO "[touch]type is %d\n", type);
+ /*#set main state as burning mode, normal init state*/
+ /*#sync_data:200h, main_state:204h, normal_state:208h, burning_state:20Ch*/
+ /*#sync_data:210h, cmd_type:210h; ret_data:214h; test_mode:218h*/
+ memset(buf, 0, sizeof(buf));
+ buf[0] = 0x01;
+ ret = raydium_i2c_pda_write(client, 0x20000204, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ memset(buf, 0, sizeof(buf));
+ ret = raydium_i2c_pda_write(client, 0x20000208, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ memset(buf, 0, sizeof(buf));
+ ret = raydium_i2c_pda_write(client, 0x2000020C, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ memset(buf, 0, sizeof(buf));
+ buf[0] = 0x01;
+ ret = raydium_i2c_pda_write(client, 0x20000218, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ /*#confirm in burn mode*/
+ buf[0] = 0;
+ retry = retry_time;
+ while (buf[0] != 63 && retry != 0) {
+ printk(KERN_INFO "[touch]confirm in burn mode 0x%x\n", buf[0]);
+ ret = raydium_i2c_pda_read(client, 0x50000900, buf, 1);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ retry--;
+ msleep(10);
+ }
+ if (retry == 0) {
+ printk(KERN_ERR "[touch]Error, confirm in burn mode 0x%x\n", buf[0]);
+ ret = -1;
+ goto exit_upgrade;
+ }
+
+ printk(KERN_INFO "[touch]VVVVVVVVVVVVVVV Type : %d ==> Start VVVVVVVVVVVVVVV\n", type);
+
+ /*Clear BL_CRC*/
+ memset(buf, 0, sizeof(buf));
+ buf[0] = 0x10;
+ ret = raydium_i2c_pda_write(client, 0x50000918, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+
+ /*#write PRAM relative data*/
+ /*#set PRAM type (at 0x50000904), wrt param code*/
+ /*#init_code:0x01, baseline:0x02, COMP:0x04, param:0x08, FW:0x10, bootloader:0x20*/
+ memset(buf, 0, sizeof(buf));
+ buf[0] = type;
+ ret = raydium_i2c_pda_write(client, 0x50000904, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ /*#set PRAM addr (at 'h5000_0908)*/
+ /*#init_code:0x800, Baseline:0xA00, COMP:0xCD4, para:0xF1C, FW:0x1000, BOOT:0x5000*/
+ /*#set PRAM length (at 'h5000_090C)*/
+ if (type == RAYDIUM_INIT) {
+ printk(KERN_INFO "[touch]Set PRAM addr & length type=0x01\n");
+ memset(buf, 0, sizeof(buf));
+ buf[0] = 0x00;
+ buf[1] = 0x08;
+ ret = raydium_i2c_pda_write(client, 0x50000908, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ memset(buf, 0, sizeof(buf));
+ buf[0] = 0x00;
+ buf[1] = 0x02;
+ ret = raydium_i2c_pda_write(client, 0x5000090C, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ } else if (type == RAYDIUM_BASELINE) {
+ printk(KERN_INFO "[touch]Set PRAM addr & length type=0x02\n");
+ memset(buf, 0, sizeof(buf));
+ buf[0] = 0x04;
+ buf[1] = 0x0a;
+ ret = raydium_i2c_pda_write(client, 0x50000908, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ memset(buf, 0, sizeof(buf));
+ buf[0] = 0xd0;
+ buf[1] = 0x02;
+ ret = raydium_i2c_pda_write(client, 0x5000090C, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ } else if (type == RAYDIUM_COMP) {
+ printk(KERN_INFO "[touch]Set PRAM addr & length type=0x04\n");
+ memset(buf, 0, sizeof(buf));
+ buf[0] = 0xd4;
+ buf[1] = 0x0c;
+ ret = raydium_i2c_pda_write(client, 0x50000908, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ memset(buf, 0, sizeof(buf));
+ buf[0] = 0x48;
+ buf[1] = 0x02;
+ ret = raydium_i2c_pda_write(client, 0x5000090C, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ } else if (type == RAYDIUM_PARA) {
+ printk(KERN_INFO "[touch]Set PRAM addr & length type=0x08\n");
+ memset(buf, 0, sizeof(buf));
+ buf[0] = 0x1c;
+ buf[1] = 0x0f;
+ ret = raydium_i2c_pda_write(client, 0x50000908, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ memset(buf, 0, sizeof(buf));
+ buf[0] = 0xe4;
+ ret = raydium_i2c_pda_write(client, 0x5000090C, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ } else if (type == RAYDIUM_FIRMWARE) {
+ printk(KERN_INFO "[touch]Set PRAM addr & length type=0x10\n");
+ memset(buf, 0, sizeof(buf));
+ buf[0] = 0x1C;
+ buf[1] = 0x0F;
+ ret = raydium_i2c_pda_write(client, 0x50000908, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ memset(buf, 0, sizeof(buf));
+ buf[0] = 0xE4;
+ buf[1] = 0x50;
+ ret = raydium_i2c_pda_write(client, 0x5000090C, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ } else if (type == RAYDIUM_BOOTLOADER) {
+ printk(KERN_INFO "[touch]Set PRAM addr & length type=0x20\n");
+ memset(buf, 0, sizeof(buf));
+ buf[0] = 0x00;
+ buf[1] = 0x40;
+ ret = raydium_i2c_pda_write(client, 0x50000908, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ memset(buf, 0, sizeof(buf));
+ buf[0] = 0x00;
+ buf[1] = 0x0A;
+ ret = raydium_i2c_pda_write(client, 0x5000090C, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ }
+
+ /*#set sync_data(0x20000200) = 0 as WRT data finish*/
+ memset(buf, 0, sizeof(buf));
+ ret = raydium_i2c_pda_write(client, 0x20000200, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ /*#Wait bootloader check addr and PRAM unlock*/
+ /*#Confirm g_u8_sync_data.ret_data at 0x20000214 is SET_ADDR_READY*/
+ buf[0] = 0;
+ retry = retry_time;
+ while (buf[0] != 161 && retry != 0) {
+ msleep(10);
+ ret = raydium_i2c_pda_read(client, 0x20000214, buf, 1);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ retry--;
+ printk(KERN_INFO "[touch]Confirm g_u8_sync_data.ret_data is SET_ADDR_READY %d\n", buf[0]);
+ }
+ if (retry == 0) {
+ printk(KERN_ERR "[touch]Error, Confirm g_u8_sync_data.ret_data is SET_ADDR_READY %d\n", buf[0]);
+ ret = -1;
+ goto exit_upgrade;
+ }
+
+ /*#Confirm g_u8_sync_data.cmd_type at 0x20000210 is WRT_PRAM_DATA*/
+ buf[0] = 0;
+ retry = retry_time;
+ while (buf[0] != 163 && retry != 0) {
+ msleep(10);
+ ret = raydium_i2c_pda_read(client, 0x20000210, buf, 1);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ retry--;
+ printk(KERN_INFO "[touch]Confirm g_u8_sync_data.cmd_type is WRT_PRAM_DATA %d\n", buf[0]);
+ }
+ if (retry == 0) {
+ printk(KERN_ERR "[touch]Error, Confirm g_u8_sync_data.cmd_type is WRT_PRAM_DATA %d\n", buf[0]);
+ ret = -1;
+ goto exit_upgrade;
+ }
+
+ /*#start write data to PRAM*/
+ if (type == RAYDIUM_INIT) {
+ ret = raydium_fw_upgrade_with_image(client, 0x800, RAYDIUM_INIT);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ } else if (type == RAYDIUM_PARA) {
+ ret = raydium_fw_upgrade_with_image(client, 0xF1C, RAYDIUM_PARA);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ } else if (type == RAYDIUM_FIRMWARE) {
+ ret = raydium_fw_upgrade_with_image(client, 0xF1C, RAYDIUM_PARA);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ ret = raydium_fw_upgrade_with_image(client, 0x1000, RAYDIUM_FIRMWARE);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ } else if (type == RAYDIUM_BOOTLOADER) {
+ ret = raydium_fw_upgrade_with_image(client, 0x4000, RAYDIUM_BOOTLOADER);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ }
+
+ /*#set sync_data(0x20000200) = 0 as WRT data finish, bootloader check checksum*/
+ memset(buf, 0, sizeof(buf));
+ ret = raydium_i2c_pda_write(client, 0x20000200, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ /*#wait(checksum okay) ACK cmd(gu8I2CSyncData.cmd_type=0xa5 at 0x20000210)*/
+ buf[0] = 0;
+ retry = retry_time;
+ while (buf[0] != 165 && retry != 0) {
+ msleep(10);
+ ret = raydium_i2c_pda_read(client, 0x20000210, buf, 1);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ retry--;
+ printk(KERN_INFO "[touch]wait(checksum okay) ACK cmd 0x%x\n", buf[0]);
+ }
+ if (retry == 0) {
+ printk(KERN_ERR "[touch]Error, wait(checksum okay) ACK cmd 0x%x\n", buf[0]);
+ ret = -1;
+ goto exit_upgrade;
+ }
+
+ /*#confirm ACK cmd result(gu8I2CSyncData.ret_data=0xa5 at 0x20000214)*/
+ buf[0] = 0;
+ retry = retry_time;
+ while (buf[0] != 165 && retry != 0) {
+ msleep(10);
+ ret = raydium_i2c_pda_read(client, 0x20000214, buf, 1);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ retry--;
+ printk(KERN_INFO "[touch]confirm ACK cmd result 0x%x\n", buf[0]);
+ }
+ if (retry == 0) {
+ printk(KERN_ERR "[touch]Error, confirm ACK cmd result 0x%x\n", buf[0]);
+ ret = -1;
+ goto exit_upgrade;
+ }
+
+ /*#set ACK return data = 0x5A*/
+ /*#adb shell "echo 20000210 1 A5 > /sys/bus/i2c/drivers/raydium_ts/1-0039/raydium_i2c_pda_access"*/
+ /*#above command can be ignored, due to previous while loop has check its value.*/
+ memset(buf, 0, sizeof(buf));
+ buf[0] = 0x5a;
+ ret = raydium_i2c_pda_write(client, 0x20000214, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ /*#clr sync_data(0x20000200) = 0 as finish*/
+ memset(buf, 0, sizeof(buf));
+ ret = raydium_i2c_pda_write(client, 0x20000200, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ /*#wait for input unlock key*/
+ buf[0] = 0;
+ retry = retry_time;
+ while (buf[0] != 168 && retry != 0) {
+ msleep(10);
+ ret = raydium_i2c_pda_read(client, 0x20000210, buf, 1);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ retry--;
+ printk(KERN_INFO "[touch]wait for input unlock key 0x%x\n", buf[0]);
+ }
+ if (retry == 0) {
+ printk(KERN_ERR "[touch]Error, wait for input unlock key 0x%x\n", buf[0]);
+ ret = -1;
+ goto exit_upgrade;
+ }
+
+ /*#unlock key*/
+ memset(buf, 0, sizeof(buf));
+ buf[0] = 0xd7;
+ ret = raydium_i2c_pda_write(client, 0x50000938, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ memset(buf, 0, sizeof(buf));
+ buf[0] = 0xa5;
+ ret = raydium_i2c_pda_write(client, 0x50000934, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ memset(buf, 0, sizeof(buf));
+ ret = raydium_i2c_pda_write(client, 0x50000934, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ memset(buf, 0, sizeof(buf));
+ buf[0] = 0xa5;
+ ret = raydium_i2c_pda_write(client, 0x50000934, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ memset(buf, 0, sizeof(buf));
+ ret = raydium_i2c_pda_write(client, 0x50000938, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ /*#wrt return data as unlock value*/
+ memset(buf, 0, sizeof(buf));
+ buf[0] = 0xa8;
+ ret = raydium_i2c_pda_write(client, 0x20000214, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ /*#clr sync_data(0x20000200) = 0 as finish*/
+ memset(buf, 0, sizeof(buf));
+ ret = raydium_i2c_pda_write(client, 0x20000200, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ msleep(500);
+
+ /*#wait erase/wrt finish*/
+ /*#confirm burning_state result(gu8I2CSyncData.burning_state=BURNING_WRT_FLASH_FINISH at 0x2000020C)*/
+ buf[0] = 0;
+ retry = retry_time;
+ while (buf[0] != 6 && retry != 0) {
+ msleep(10);
+ ret = raydium_i2c_pda_read(client, 0x2000020c, buf, 1);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ retry--;
+ printk(KERN_INFO "[touch]confirm burning_state result %d\n", buf[0]);
+ }
+ if (retry == 0) {
+ printk(KERN_ERR "[touch]Error, confirm burning_state result %d\n", buf[0]);
+ ret = -1;
+ goto exit_upgrade;
+ }
+
+ /*############## Use Interrupt to wait sofware reset ##############*/
+ /*#clr sync_data(0x20000200) = 0 as finish*/
+ /*#Set bootloader flag*/
+ /*#RAYDIUM_INTERRUPT_FLAG = 0x01*/
+ /*#RAYDIUM_BOOTLOADER_FLAG = 0x02*/
+ g_uc_raydium_flag = RAYDIUM_BOOTLOADER_FLAG;
+ /*#enable INT*/
+ printk(KERN_INFO "[touch]ready to software reset => enable INT\n");
+ raydium_irq_control(ts, ENABLE);
+
+ if (type == RAYDIUM_BOOTLOADER) {
+ ret = raydium_i2c_pda_read(client, 0x50000918, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ buf[0] |= 0x10;
+ ret = raydium_i2c_pda_write(client, 0x50000918, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ }
+
+ memset(buf, 0, sizeof(buf));
+ ret = raydium_i2c_pda_write(client, 0x20000200, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+
+ /*#wait software reset finish*/
+ /*#confirm RAYDIUM_INTERRUPT_FLAG result (if raydium_flag = 1 => pass)*/
+ retry = retry_time;
+ while (retry != 0 && g_uc_raydium_flag != RAYDIUM_INTERRUPT_FLAG) {
+ msleep(10);
+ retry--;
+ printk(KERN_INFO "[touch]wait software reset finish => confirm interrupt_flag result %d\n", g_uc_raydium_flag);
+ }
+
+ /*#disable INT*/
+ if (retry == 0 && g_uc_raydium_flag != RAYDIUM_INTERRUPT_FLAG) {
+ printk(KERN_INFO "[touch]no interrupt => disable INT\n");
+ raydium_irq_control(ts, DISABLE);
+ g_uc_raydium_flag = 0;
+ }
+
+ if (g_uc_raydium_flag == RAYDIUM_INTERRUPT_FLAG) {
+ retry = retry_time;
+ irq_value = 0;
+ while (retry != 0 && irq_value != 1) {
+ irq_value = gpio_get_value(ts->pdata->irq_gpio);
+ printk(KERN_INFO "[touch]irq_value is %d\n", irq_value);
+ msleep(10);
+ retry--;
+ }
+ }
+
+ if (retry == 0) {
+ printk(KERN_ERR "[touch]%s, FW not ready, retry error!\n", __func__);
+ ret = ERROR;
+ goto exit_upgrade;
+ }
+ /*#################################################################*/
+
+ buf[0] = 0;
+ retry = retry_time;
+ while (buf[0] != 130 && retry != 0) {
+ msleep(10);
+ ret = raydium_i2c_pda_read(client, 0x20000214, buf, 1);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ retry--;
+ printk(KERN_INFO "[touch]wait software reset finished %d\n", buf[0]);
+ }
+ if (retry == 0) {
+ printk(KERN_ERR "[touch]Error, wait software reset finished %d\n", buf[0]);
+ ret = -1;
+ goto exit_upgrade;
+ }
+
+ if (type == RAYDIUM_BASELINE || type == RAYDIUM_INIT || isCheckCRCError == 1) {
+ /*#set test_mode = 1*/
+ memset(buf, 0, sizeof(buf));
+ buf[0] = 0x01;
+ ret = raydium_i2c_pda_write(client, 0x20000218, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ /*#wait crc check finish*/
+ /*#confirm gu8I2CSyncData.normal_state=NORMAL_CRC_NOTIFY at 0x20000208*/
+ buf[0] = 0;
+ retry = retry_time;
+ while (buf[0] != 2 && retry != 0) {
+ msleep(10);
+ ret = raydium_i2c_pda_read(client, 0x20000208, buf, 1);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ retry--;
+ printk(KERN_INFO "[touch]confirm gu8I2CSyncData.normal_state=NORMAL_CRC_NOTIFY %d\n", buf[0]);
+ }
+ if (retry == 0) {
+ printk(KERN_ERR "[touch]Error, confirm gu8I2CSyncData.normal_state=NORMAL_CRC_NOTIFY %d\n", buf[0]);
+ ret = -1;
+ goto exit_upgrade;
+ }
+
+ /*#crc check pass 0x20000214 = 0x81*/
+ buf[0] = 0;
+ retry = retry_time;
+ while (buf[0] != 0x81 && retry != 0) {
+ msleep(10);
+ ret = raydium_i2c_pda_read(client, 0x20000214, buf, 1);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ retry--;
+ printk(KERN_INFO "[touch]confirm crc result 0x20000214 = %d\n", buf[0]);
+ }
+ if (retry == 0) {
+ printk(KERN_ERR "[touch]Error, confirm crc result 0x20000214 = %d\n", buf[0]);
+ ret = -1;
+ goto exit_upgrade;
+ }
+ }
+
+ /*#run to next step*/
+ printk(KERN_INFO "[touch]^^^^^^^^^^^^^^^ Type: 0x%x ==> Pass ^^^^^^^^^^^^^^^\n", type);
+
+ if (isCheckCRCError) {
+ buf[0] = 0;
+ retry = retry_time;
+ while (buf[0] != 2 && retry != 0) {
+ ret = raydium_i2c_pda_read(client, 0x50000918, buf, 1);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ msleep(10);
+ buf[0] = buf[0] & 47;
+ retry--;
+ printk(KERN_INFO "[touch]BL1_CRC_ERR %d\n", buf[0]);
+ }
+ if (retry == 0) {
+ printk(KERN_ERR "[touch]Error, BL1_CRC_ERR %d\n", buf[0]);
+ ret = -1;
+ goto exit_upgrade;
+ }
+
+ /*#clr sync para*/
+ memset(buf, 0, sizeof(buf));
+ ret = raydium_i2c_pda_write(client, 0x20000210, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ ret = raydium_i2c_pda_write(client, 0x20000214, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ ret = raydium_i2c_pda_write(client, 0x20000218, buf, 4);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+
+ printk(KERN_INFO "[touch]Raydium HW reset\n");
+ gpio_direction_output(ts->rst, 1);
+ gpio_direction_output(ts->rst, 0);
+ msleep(RAYDIUM_RESET_INTERVAL_MSEC);
+ gpio_direction_output(ts->rst, 1);
+ msleep(500);
+
+ u8_i2c_mode = PDA2_MODE;
+
+ printk(KERN_INFO "[touch]Burn FW finish!\n");
+ }
+
+exit_upgrade:
+ return ret;
+}
+
+
+static int raydium_burn_fw(struct i2c_client *client)
+{
+ int ret = 0;
+
+ ret = raydium_boot_upgrade(client);
+
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ ret = raydium_fw_upgrade(client, RAYDIUM_BOOTLOADER, 0, 0);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+ ret = raydium_fw_upgrade(client, RAYDIUM_FIRMWARE, 0, 1);
+ if (ret < 0) {
+ goto exit_upgrade;
+ }
+exit_upgrade:
+ return ret;
+}
+
+static ssize_t raydium_fw_upgrade_store(struct device *dev,
+ struct device_attribute *attr,
+ const char *buf, size_t count)
+{
+ int ret = 0;
+
+ /* receive command line arguments string */
+ if (count > 2) {
+ return -EINVAL;
+ }
+ ret = kstrtou8(buf, 16, &upgrade_type);
+ if (ret < 0) {
+ return ret;
+ }
+ return count;
+}
+
+static ssize_t raydium_fw_upgrade_show(struct device *dev,
+ struct device_attribute *attr,
+ char *buf)
+{
+ int ret = 0, result = 0;
+ int buf_len = 0;
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ struct raydium_ts_data *ts = (struct raydium_ts_data *)i2c_get_clientdata(client);
+
+ raydium_irq_control(ts, DISABLE);
+ printk(KERN_INFO "[touch]Raydium %s burn type is %d!!\n", __func__, upgrade_type);
+
+ if (upgrade_type == 1) {
+ ret = raydium_burn_fw(client);
+ if (ret < 0) {
+ result = FAIL;
+ goto exit_upgrade;
+ }
+ result = SUCCESS;
+ } else if (upgrade_type == 2) {
+ ret = set_skip_load(client);
+ if (ret < 0) {
+ result = FAIL;
+ goto exit_upgrade;
+ }
+ ret = raydium_fw_upgrade(client, RAYDIUM_COMP, 0, 1);
+ if (ret < 0) {
+ result = FAIL;
+ goto exit_upgrade;
+ }
+ result = SUCCESS;
+ } else if (upgrade_type == 3) {
+ ret = set_skip_load(client);
+ if (ret < 0) {
+ result = FAIL;
+ goto exit_upgrade;
+ }
+ ret = raydium_fw_upgrade(client, RAYDIUM_BASELINE, 0, 1);
+ if (ret < 0) {
+ result = FAIL;
+ goto exit_upgrade;
+ }
+ result = SUCCESS;
+ } else if (upgrade_type == 4) {
+ ret = raydium_load_test_fw(client);
+ if (ret < 0) {
+ result = FAIL;
+ goto exit_upgrade;
+ }
+ result = SUCCESS;
+ }
+
+exit_upgrade:
+ raydium_irq_control(ts, ENABLE);
+ upgrade_type = 0;
+ snprintf(buf, 128, "FW Upgrade result : %d\n", result);
+ buf_len = strlen(buf);
+ return buf_len + 1;
+}
+
+/* upgrade firmware with *.bin file */
+static int raydium_fw_upgrade_with_bin_file(struct i2c_client *client, char *arguments, size_t count, struct device *dev)
+{
+ int ret = 0;
+ char *temp_buf, *token, *free_temp_buf, *free_token;
+ const char *delim = " ,";
+ unsigned long ul_fw_offset = 0;
+ unsigned char uc_fw_amount = 0;
+ unsigned long ul_fw_size = 0;
+ unsigned long ul_write_offset = 0;
+ unsigned long ul_crc_addr = 0;
+ unsigned short us_write_length = 0;
+ const struct firmware *fw = NULL;
+ unsigned int ui_checksum = 0xFFFFFFFF;
+ unsigned char *crc_data;
+
+ /* receive command line arguments string */
+ if (count < 2) {
+ return -EINVAL;
+ }
+
+ crc_data = kzalloc(4, GFP_KERNEL);
+ if (crc_data == NULL) {
+ pr_err("[touch]kzalloc crc_data failed\n");
+ /*kfree(firmware_data);*/
+ return -ENOMEM;
+ }
+
+ temp_buf = kzalloc(RAYDIUM_FW_BIN_PATH_LENGTH + 1, GFP_KERNEL);
+ if (temp_buf == NULL) {
+ pr_err("[touch]kzalloc temp_buf failed\n");
+ /*kfree(firmware_data);*/
+ return -ENOMEM;
+ }
+
+ token = kzalloc(RAYDIUM_FW_BIN_PATH_LENGTH + 1, GFP_KERNEL);
+ if (token == NULL) {
+ pr_err("[touch]kzalloc token failed\n");
+ /*kfree(firmware_data);*/
+ kfree(temp_buf);
+ return -ENOMEM;
+ }
+
+ free_temp_buf = temp_buf;
+ free_token = token;
+ strlcpy(temp_buf, arguments, count);
+ token = strsep(&temp_buf, delim);
+
+ ret = kstrtoul(token, 16, &ul_fw_offset);
+ if (ret < 0) {
+ pr_err("[touch]kstrtoul failed , %s , %d\n", arguments, count);
+ goto exit_upgrade;
+ }
+
+ token = strsep(&temp_buf, delim);
+ ret = kstrtou8(token, 16, &uc_fw_amount);
+ if (ret < 0) {
+ pr_err("[touch]kstrtou8 failed\n");
+ goto exit_upgrade;
+ }
+
+ while (uc_fw_amount--) {
+ if (!temp_buf) {
+ break;
+ }
+
+ token = strsep(&temp_buf, delim);
+ ret = kstrtoul(token, 16, &ul_fw_size);
+ if (ret < 0) {
+ pr_err("[touch]kstrtoul2 failed\n");
+ goto exit_upgrade;
+ }
+
+ token = strsep(&temp_buf, delim);
+
+ ret = request_firmware(&fw, token, dev);
+ if (ret) {
+ pr_err("[touch]error occurred while opening file %s.\n", token);
+ ret = -ENOENT;
+ goto exit_upgrade;
+ }
+ printk(KERN_INFO "[touch]open firmware success!!\n");
+
+ ui_checksum = rc_crc32(fw->data, ul_fw_size, ui_checksum);
+ memcpy(crc_data, &ui_checksum, 4);
+
+ ul_write_offset = 0;
+ while (ul_write_offset < fw->size) {
+ if ((ul_write_offset + MAX_WRITE_PACKET_SIZE) < fw->size) {
+ us_write_length = MAX_WRITE_PACKET_SIZE;
+ } else {
+ us_write_length = (unsigned short)(fw->size - ul_write_offset);
+ }
+ ret = raydium_i2c_pda_loadfw(client, (ul_fw_offset + ul_write_offset), (fw->data + ul_write_offset), us_write_length);
+ if (ret < 0) {
+ pr_err("[touch]raydium_i2c_pda_loadfw failed\n");
+ goto exit_upgrade;
+ }
+ ul_write_offset += (unsigned long)us_write_length;
+ }
+ ul_fw_offset += ul_write_offset;
+ printk(KERN_INFO "[touch]write fw finish!!\n");
+
+ ul_crc_addr += ul_fw_size;
+ if (uc_fw_amount == 0) {
+ ui_checksum = bits_reverse(ui_checksum, 32);
+
+ ret = raydium_i2c_pda_write(
+ client,
+ (ul_crc_addr),
+ crc_data,
+ 4);
+ if (ret < 0) {
+ pr_err("[touch]raydium_i2c_pda_write failed\n");
+ goto exit_upgrade;
+ }
+ }
+ }
+
+exit_upgrade:
+ release_firmware(fw);
+ kfree(free_token);
+ kfree(free_temp_buf);
+ if (ret < 0) {
+ pr_err("[touch]Upgrade firmware Failed\n");
+ return ret;
+ } else {
+ pr_err("[touch]Upgrade firmware Successfully\n");
+ return 0;
+ }
+}
+
+static ssize_t raydium_upgrade_firmware_store(struct device *dev,
+ struct device_attribute *attr,
+ const char *buf, size_t count)
+{
+ int ret = 0;
+ char fwname[RAYDIUM_FW_BIN_PATH_LENGTH];
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ struct raydium_ts_data *ts = (struct raydium_ts_data *)i2c_get_clientdata(client);
+
+ if (count > RAYDIUM_FW_BIN_PATH_LENGTH) {
+ return -EINVAL;
+ }
+ memset(fwname, 0, sizeof(fwname));
+ snprintf(fwname, 128, "%s", buf);
+ fwname[count - 1] = '\0';
+
+ if (ts->is_suspend) {
+ printk(KERN_INFO "[touch]Raydium IC is_suspend at %s\n", __func__);
+ }
+
+ /* start to upgrade binary file*/
+ mutex_lock(&ts->lock);
+ ret = raydium_fw_upgrade_with_bin_file(client, fwname, count, dev);
+ mutex_unlock(&ts->lock);
+ if (ret < 0) {
+ return ret;
+ }
+ return count;
+}
+
+static ssize_t raydium_i2c_pda2_mode_store(struct device *dev,
+ struct device_attribute *attr,
+ const char *buf, size_t count)
+{
+ int ret = 0;
+ unsigned char mode;
+
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ struct raydium_ts_data *ts = (struct raydium_ts_data *)i2c_get_clientdata(client);
+
+ if (ts->is_suspend) {
+ printk(KERN_INFO "[touch]Raydium IC is_suspend at %s\n", __func__);
+ }
+
+ /* receive command line arguments string */
+ if (count > 2) {
+ return -EINVAL;
+ }
+
+ ret = kstrtou8(buf, 16, &mode);
+ if (ret < 0) {
+ return ret;
+ }
+ ret = raydium_i2c_mode_control(client, mode);
+ if (ret < 0) {
+ return ret;
+ }
+
+ return count;
+}
+
+static ssize_t raydium_i2c_pda_access_show(struct device *dev,
+ struct device_attribute *attr,
+ char *buf)
+{
+ unsigned char rbuffer[4];
+ int buf_len = 0;
+ int ret = -1;
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ struct raydium_ts_data *ts = (struct raydium_ts_data *)i2c_get_clientdata(client);
+
+ if (g_ui_length > 4) {
+ return -EINVAL;
+ }
+ memset(rbuffer, 0x00, 4);
+ mutex_lock(&ts->lock);
+ ret = raydium_i2c_pda_read(client, g_ul_addr, rbuffer, g_ui_length);
+ mutex_unlock(&ts->lock);
+ if (ret < 0) {
+ return ret;
+ }
+
+ snprintf(buf, 128, "0x%08lX : 0x%02X%02X%02X%02X\n", g_ul_addr,
+ rbuffer[3], rbuffer[2], rbuffer[1], rbuffer[0]);
+ buf_len = strlen(buf);
+
+ return buf_len + 1;
+}
+
+static ssize_t raydium_i2c_pda_access_store(struct device *dev,
+ struct device_attribute *attr,
+ const char *buf, size_t count)
+{
+ int ret = 0, result = 0;
+ char *temp_buf, *token, *free_temp_buf, *free_token;
+ const char *delim = " ,";
+ unsigned char w_data[MAX_WRITE_PACKET_SIZE];
+ unsigned int data_count = 0;
+ unsigned int data_index = 0;
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ struct raydium_ts_data *ts = (struct raydium_ts_data *)i2c_get_clientdata(client);
+
+ /* receive command line arguments string */
+ if (count < 2) {
+ return -EINVAL;
+ }
+
+ temp_buf = kzalloc(count + 1, GFP_KERNEL);
+ if (temp_buf == NULL) {
+ printk(KERN_INFO "[touch]kzalloc temp_buf failed\n");
+ return -ENOMEM;
+ }
+
+ token = kzalloc(count + 1, GFP_KERNEL);
+ if (token == NULL) {
+ printk(KERN_INFO "[touch]kzalloc token failed\n");
+ kfree(temp_buf);
+ return -ENOMEM;
+ }
+
+ free_temp_buf = temp_buf;
+ free_token = token;
+
+ ret = (ssize_t) count;
+
+ strlcpy(temp_buf, buf, count);
+
+ token = strsep(&temp_buf, delim);
+
+ result = kstrtoul(token, 16, &g_ul_addr);
+
+ token = strsep(&temp_buf, delim);
+ if (token) {
+ result = kstrtouint(token, 16, &data_count);
+ } else {
+ goto exit_error;
+ }
+ if (g_ui_length > MAX_WRITE_PACKET_SIZE) {
+ return -EINVAL;
+ }
+ g_ui_length = data_count;
+
+ memset(w_data, 0x00, MAX_WRITE_PACKET_SIZE);
+
+ if (temp_buf && data_count) {
+ data_index = 0;
+ while (data_count) {
+ token = strsep(&temp_buf, delim);
+ result = kstrtou8(token, 16, &w_data[data_index++]);
+ if (result < 0) {
+ ret = result;
+ goto exit_error;
+ }
+ data_count--;
+ }
+ mutex_lock(&ts->lock);
+ result = raydium_i2c_pda_write(client, g_ul_addr, w_data, g_ui_length);
+ mutex_unlock(&ts->lock);
+ if (result < 0) {
+ ret = result;
+ }
+ }
+
+exit_error:
+ kfree(free_token);
+ kfree(free_temp_buf);
+ return ret;
+}
+
+unsigned char g_uc_addr = RAYDIUM_PDA2_PDA_CFG_ADDR;
+
+static ssize_t raydium_i2c_pda2_access_show(struct device *dev,
+ struct device_attribute *attr,
+ char *buf)
+{
+ unsigned char rbuffer[4];
+ int buf_len = 0;
+ int ret = -1;
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ struct raydium_ts_data *ts = (struct raydium_ts_data *)i2c_get_clientdata(client);
+
+ if (g_ui_length > 4) {
+ return -EINVAL;
+ }
+ memset(rbuffer, 0x00, 4);
+
+ mutex_lock(&ts->lock);
+ ret = raydium_i2c_pda2_read(client, g_uc_addr, rbuffer, g_ui_length);
+ mutex_unlock(&ts->lock);
+ if (ret < 0) {
+ return ret;
+ }
+
+ snprintf(buf, 128, "0x%04X : 0x%02X%02X%02X%02X\n", g_uc_addr,
+ rbuffer[3], rbuffer[2], rbuffer[1], rbuffer[0]);
+ buf_len = strlen(buf);
+
+ return buf_len + 1;
+}
+
+static ssize_t raydium_i2c_pda2_access_store(struct device *dev,
+ struct device_attribute *attr,
+ const char *buf, size_t count)
+{
+ int ret = 0, result = 0;
+ char *temp_buf, *token, *free_temp_buf, *free_token;
+ const char *delim = " ,";
+ unsigned char w_data[MAX_WRITE_PACKET_SIZE];
+ unsigned int data_count = 0;
+ unsigned int data_index = 0;
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ struct raydium_ts_data *ts = (struct raydium_ts_data *)i2c_get_clientdata(client);
+
+ /* receive command line arguments string */
+ if (count < 2) {
+ return -EINVAL;
+ }
+ temp_buf = kzalloc(count + 1, GFP_KERNEL);
+ if (temp_buf == NULL) {
+ printk(KERN_ERR "[touch]kzalloc temp_buf failed\n");
+ return -ENOMEM;
+ }
+
+ token = kzalloc(count + 1, GFP_KERNEL);
+ if (token == NULL) {
+ printk(KERN_ERR "[touch]kzalloc token failed\n");
+ kfree(temp_buf);
+ return -ENOMEM;
+ }
+
+ free_temp_buf = temp_buf;
+ free_token = token;
+
+ ret = (ssize_t) count;
+
+ strlcpy(temp_buf, buf, count);
+
+ token = strsep(&temp_buf, delim);
+
+ result = kstrtou8(token, 16, &g_uc_addr);
+
+ token = strsep(&temp_buf, delim);
+ if (token) {
+ result = kstrtouint(token, 16, &data_count);
+ } else {
+ ret = -EINVAL;
+ goto exit_error;
+ }
+
+ if (data_count > MAX_WRITE_PACKET_SIZE) {
+ ret = -EINVAL;
+ goto exit_error;
+ }
+
+ memset(w_data, 0x00, MAX_WRITE_PACKET_SIZE);
+
+ g_ui_length = data_count;
+
+ if (temp_buf && data_count) {
+ data_index = 0;
+ while (data_count) {
+ token = strsep(&temp_buf, delim);
+ result = kstrtou8(token, 16, &w_data[data_index++]);
+ if (result < 0) {
+ ret = result;
+ goto exit_error;
+ }
+ data_count--;
+ }
+
+ mutex_lock(&ts->lock);
+ result = raydium_i2c_pda2_write(client, g_uc_addr, w_data, g_ui_length);
+ mutex_unlock(&ts->lock);
+ if (result < 0) {
+ ret = result;
+ goto exit_error;
+ }
+ }
+
+exit_error:
+ kfree(free_token);
+ kfree(free_temp_buf);
+ return ret;
+}
+
+static ssize_t raydium_i2c_pda2_page_store(struct device *dev,
+ struct device_attribute *attr,
+ const char *buf, size_t count)
+{
+ int ret = 0, result = 0;
+ unsigned char page = 0;
+ char *temp_buf, *token, *free_temp_buf, *free_token;
+ const char *delim = " ,";
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ struct raydium_ts_data *ts = (struct raydium_ts_data *)i2c_get_clientdata(client);
+
+ /* receive command line arguments string */
+ if (count < 2) {
+ return -EINVAL;
+ }
+ temp_buf = kzalloc(count + 1, GFP_KERNEL);
+ if (temp_buf == NULL) {
+ printk(KERN_ERR "[touch]kzalloc temp_buf failed\n");
+ return -ENOMEM;
+ }
+
+ token = kzalloc(count + 1, GFP_KERNEL);
+ if (token == NULL) {
+ printk(KERN_ERR "[touch]kzalloc token failed\n");
+ kfree(temp_buf);
+ return -ENOMEM;
+ }
+
+ free_temp_buf = temp_buf;
+ free_token = token;
+
+ ret = (ssize_t) count;
+
+ strlcpy(temp_buf, buf, count);
+
+ token = strsep(&temp_buf, delim);
+
+ if (temp_buf) {
+ printk(KERN_ERR "[touch]Raydium input error, extra auguments!n");
+ ret = -EINVAL;
+ goto exit_error;
+ }
+ result = kstrtou8(token, 16, &page);
+
+ if (result < 0) {
+ ret = result;
+ goto exit_error;
+ }
+
+ raydium_irq_control(ts, DISABLE);
+ mutex_lock(&ts->lock);
+
+ result = raydium_i2c_pda2_set_page(client, page);
+ if (result < 0) {
+ ret = result;
+ goto exit_set_error;
+ }
+ /* TODO: Page check, Due to ISR will change page back to Page_0. Or disable IRQ during PDA2 access period*/
+
+exit_set_error:
+ mutex_unlock(&ts->lock);
+ raydium_irq_control(ts, ENABLE);
+
+exit_error:
+ kfree(free_token);
+ kfree(free_temp_buf);
+ return ret;
+}
+
+static ssize_t raydium_i2c_raw_data_show(struct device *dev,
+ struct device_attribute *attr,
+ char *buf)
+{
+ unsigned char rbuffer[MAX_READ_PACKET_SIZE];
+ unsigned int ui_read_target_addr;
+ unsigned int ui_read_offset;
+ unsigned short us_read_length;
+ int ret = -1;
+ int retry = 0;
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ struct raydium_ts_data *ts = (struct raydium_ts_data *)i2c_get_clientdata(client);
+
+ memset(rbuffer, 0x00, MAX_READ_PACKET_SIZE);
+
+ /* make sure update flag was set*/
+ for (retry = 0 ; retry < SYN_I2C_RETRY_TIMES ; retry++) {
+ mutex_lock(&ts->lock);
+ ret = raydium_i2c_pda2_set_page(client, RAYDIUM_PDA2_PAGE_0);
+ if (ret < 0) {
+ goto exit_i2c_error;
+ }
+ ret = raydium_i2c_pda2_read(client, RAYDIUM_PDA2_HOST_CMD_ADDR, rbuffer, RAYDIUM_FT_CMD_LENGTH);
+ mutex_unlock(&ts->lock);
+ if (ret < 0) {
+ goto exit_flag_error;
+ }
+ if ((rbuffer[RAYDIUM_FT_CMD_POS] & RAYDIUM_FT_UPDATE) == RAYDIUM_FT_UPDATE) {
+ break;
+ }
+ msleep(5);
+ }
+
+ if (retry == SYN_I2C_RETRY_TIMES) {
+ ret = -EAGAIN;
+ goto exit_flag_error;
+ }
+
+ ui_read_offset = 0;
+ us_read_length = 0;
+ while (ui_read_offset < g_ui_raw_data_length) {
+ if ((ui_read_offset + MAX_READ_PACKET_SIZE) < g_ui_raw_data_length) {
+ us_read_length = MAX_READ_PACKET_SIZE;
+ } else {
+ us_read_length = (unsigned short)(g_ui_raw_data_length - ui_read_offset);
+ }
+ ui_read_target_addr = RAYDIUM_READ_FT_DATA_CMD + ui_read_offset;
+
+ mutex_lock(&(ts->lock));
+ ret = raydium_i2c_pda2_set_page(client, RAYDIUM_PDA2_PAGE_0);
+ if (ret < 0)
+ goto exit_i2c_error;
+
+ *(unsigned long *)rbuffer = (RAYDIUM_I2C_PDA_MODE_ENABLE << 24) | ((ui_read_target_addr & (~MASK_8BIT)) >> 8); /*using byte mode to read 4 bytes*/
+
+ ret = raydium_i2c_pda2_write(client, RAYDIUM_PDA2_PDA_CFG_ADDR, rbuffer, 4);
+ if (ret < 0) {
+ goto exit_i2c_error;
+ }
+ ret = raydium_i2c_pda2_set_page(client, RAYDIUM_PDA2_ENABLE_PDA);
+ if (ret < 0) {
+ goto exit_i2c_error;
+ }
+ ret = raydium_i2c_pda2_read(client, (unsigned char)(ui_read_target_addr & MASK_8BIT), rbuffer, us_read_length);
+ mutex_unlock(&(ts->lock));
+ if (ret < 0) {
+ goto exit_flag_error;
+ }
+ memcpy((buf + ui_read_offset), rbuffer, us_read_length);
+
+ ui_read_offset += us_read_length;
+ }
+
+ /* clear update flag to get next one*/
+ rbuffer[RAYDIUM_HOST_CMD_POS] = RAYDIUM_HOST_CMD_NO_OP;
+ rbuffer[RAYDIUM_FT_CMD_POS] = g_uc_raw_data_type;
+ mutex_lock(&ts->lock);
+ ret = raydium_i2c_pda2_write(client, RAYDIUM_PDA2_HOST_CMD_ADDR, rbuffer, RAYDIUM_FT_CMD_LENGTH);
+ mutex_unlock(&ts->lock);
+ if (ret < 0) {
+ goto exit_flag_error;
+ }
+
+ return g_ui_raw_data_length;
+exit_i2c_error:
+ mutex_unlock(&(ts->lock));
+exit_flag_error:
+ return ret;
+}
+
+static ssize_t raydium_i2c_raw_data_store(struct device *dev,
+ struct device_attribute *attr,
+ const char *buf, size_t count)
+{
+ int ret = 0;
+ int result = 0;
+ char *temp_buf, *token, *free_temp_buf, *free_token;
+ const char *delim = " ,";
+ unsigned char w_data[RAYDIUM_FT_CMD_LENGTH];
+
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ struct raydium_ts_data *ts = (struct raydium_ts_data *)i2c_get_clientdata(client);
+
+ /* receive command line arguments string */
+ if (count < 2) {
+ return -EINVAL;
+ }
+ temp_buf = kzalloc(count + 1, GFP_KERNEL);
+ if (temp_buf == NULL) {
+ printk(KERN_ERR "[touch]kzalloc temp_buf failed\n");
+ return -ENOMEM;
+ }
+
+ token = kzalloc(count + 1, GFP_KERNEL);
+ if (token == NULL) {
+ printk(KERN_ERR "[touch]kzalloc token failed\n");
+ kfree(temp_buf);
+ return -ENOMEM;
+ }
+
+ free_temp_buf = temp_buf;
+ free_token = token;
+
+ ret = (ssize_t) count;
+
+ strlcpy(temp_buf, buf, count);
+
+ token = strsep(&temp_buf, delim);
+
+ result = kstrtou8(token, 16, &g_uc_raw_data_type);
+
+ token = strsep(&temp_buf, delim);
+ if (token) {
+ result = kstrtouint(token, 16, &g_ui_raw_data_length);
+ if (result < 0) {
+ ret = result;
+ goto exit_error;
+ }
+
+ } else { /* without length info*/
+ ret = -EINVAL;
+ goto exit_error;
+ }
+
+ if (temp_buf) { /* too much arguments*/
+ ret = -E2BIG;
+ goto exit_error;
+ }
+
+ memset(w_data, 0x00, RAYDIUM_FT_CMD_LENGTH);
+
+ mutex_lock(&ts->lock);
+ result = raydium_i2c_pda2_set_page(client, RAYDIUM_PDA2_PAGE_0);
+ if (result < 0) {
+ mutex_unlock(&ts->lock);
+ ret = result;
+ goto exit_error;
+ }
+
+ if (g_uc_raw_data_type > 1) {
+ w_data[RAYDIUM_HOST_CMD_POS] = RAYDIUM_HOST_CMD_FT_MODE;
+ } else {
+ w_data[RAYDIUM_HOST_CMD_POS] = RAYDIUM_HOST_CMD_TP_MODE;
+ }
+ result = raydium_i2c_pda2_write(client, RAYDIUM_PDA2_HOST_CMD_ADDR, w_data, 1);
+ if (result < 0) {
+ mutex_unlock(&ts->lock);
+ ret = result;
+ goto exit_error;
+ }
+
+ w_data[RAYDIUM_HOST_CMD_POS] = RAYDIUM_HOST_CMD_NO_OP;
+ w_data[RAYDIUM_FT_CMD_POS] = g_uc_raw_data_type;
+
+ result = raydium_i2c_pda2_write(client, RAYDIUM_PDA2_HOST_CMD_ADDR, w_data, RAYDIUM_FT_CMD_LENGTH);
+ mutex_unlock(&ts->lock);
+ if (result < 0) {
+ ret = result;
+ goto exit_error;
+ }
+
+exit_error:
+ kfree(free_token);
+ kfree(free_temp_buf);
+
+ return ret;
+}
+static ssize_t raydium_flag_show(struct device *dev,
+ struct device_attribute *attr,
+ char *buf)
+{
+ int buf_len = 0;
+
+
+ snprintf(buf, 128, "[touch]Raydium flag : %d\n", g_uc_raydium_flag);
+ g_uc_raydium_flag &= ~RAYDIUM_INTERRUPT_FLAG;
+ buf_len = strlen(buf);
+
+ return buf_len + 1;
+}
+
+static ssize_t raydium_flag_store(struct device *dev,
+ struct device_attribute *attr,
+ const char *buf, size_t count)
+{
+ int ret = 0;
+ unsigned char flag = 0;
+
+ /* receive command line arguments string */
+ if (count > 2) {
+ return -EINVAL;
+ }
+ ret = kstrtou8(buf, 16, &flag);
+ if (ret < 0) {
+ return ret;
+ }
+ g_uc_raydium_flag = flag;
+ return count;
+}
+
+static ssize_t raydium_wait_ft_int_show(struct device *dev,
+ struct device_attribute *attr,
+ char *buf)
+{
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ unsigned int ret;
+ ret = raydium_wait_ft_int(client);
+ if (ret < 0) {
+ return ret;
+ }
+ snprintf(buf, 128, "Raydium raydium ftint : %d\n", ret);
+ return strlen(buf) + 1;
+}
+
+static ssize_t raydium_wait_ft_int_store(struct device *dev,
+ struct device_attribute *attr,
+ const char *buf, size_t count)
+{
+ return count;
+}
+
+static int raydium_hw_reset_fun(struct i2c_client *client)
+{
+ int ret = SUCCESS;
+ unsigned int retry, retry_time = 1000;
+ unsigned int irq_value;
+ struct raydium_ts_data *ts = (struct raydium_ts_data *)i2c_get_clientdata(client);
+
+ /*#enable INT*/
+ g_uc_raydium_flag = RAYDIUM_BOOTLOADER_FLAG;
+
+ /*HW reset*/
+ printk(KERN_INFO "[touch]Raydium HW reset\n");
+ gpio_direction_output(ts->rst, 1);
+ gpio_direction_output(ts->rst, 0);
+ msleep(RAYDIUM_RESET_INTERVAL_MSEC);
+ gpio_direction_output(ts->rst, 1);
+
+ u8_i2c_mode = PDA2_MODE;
+
+ retry = retry_time;
+ while (retry != 0 && g_uc_raydium_flag != RAYDIUM_INTERRUPT_FLAG) {
+ msleep(2);
+ retry--;
+ printk(KERN_INFO "[touch]wait software reset finish => confirm interrupt_flag result %d\n", retry);
+ }
+
+ /*#disable INT*/
+ if (retry == 0 && g_uc_raydium_flag != RAYDIUM_INTERRUPT_FLAG) {
+ g_uc_raydium_flag = 0;
+ }
+
+ if (g_uc_raydium_flag == RAYDIUM_INTERRUPT_FLAG) {
+ retry = retry_time;
+ irq_value = 0;
+ while (retry != 0 && irq_value != 1) {
+ irq_value = gpio_get_value(ts->pdata->irq_gpio);
+ printk(KERN_INFO "[touch]irq_value is %d\n", irq_value);
+ msleep(2);
+ retry--;
+ }
+ }
+
+ if (retry == 0) {
+ printk(KERN_ERR "[touch]%s, FW not ready, retry error!\n", __func__);
+ ret = ERROR;
+ } else {
+ msleep(500);
+ raydium_irq_control(ts, ENABLE);
+ }
+
+ printk(KERN_INFO "[touch]Raydium HW reset : %d\n", ret);
+ return ret;
+}
+
+static ssize_t raydium_hw_reset_show(struct device *dev,
+ struct device_attribute *attr,
+ char *buf)
+{
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ int ret = SUCCESS;
+ unsigned int retry, retry_time = 1000;
+ unsigned int irq_value;
+ struct raydium_ts_data *ts = (struct raydium_ts_data *)i2c_get_clientdata(client);
+
+ /*#enable INT*/
+ g_uc_raydium_flag = RAYDIUM_BOOTLOADER_FLAG;
+
+ /*HW reset*/
+ printk(KERN_INFO "[touch]Raydium HW reset\n");
+ gpio_direction_output(ts->rst, 1);
+ gpio_direction_output(ts->rst, 0);
+ msleep(RAYDIUM_RESET_INTERVAL_MSEC);
+ gpio_direction_output(ts->rst, 1);
+
+ u8_i2c_mode = PDA2_MODE;
+
+ retry = retry_time;
+ while (retry != 0 && g_uc_raydium_flag != RAYDIUM_INTERRUPT_FLAG) {
+ msleep(2);
+ retry--;
+ printk(KERN_INFO "[touch]wait software reset finish => confirm interrupt_flag result %d\n", retry);
+ }
+
+ /*#disable INT*/
+ if (retry == 0 && g_uc_raydium_flag != RAYDIUM_INTERRUPT_FLAG) {
+ g_uc_raydium_flag = 0;
+ }
+
+ if (g_uc_raydium_flag == RAYDIUM_INTERRUPT_FLAG) {
+ retry = retry_time;
+ irq_value = 0;
+ while (retry != 0 && irq_value != 1) {
+ irq_value = gpio_get_value(ts->pdata->irq_gpio);
+ printk(KERN_INFO "[touch]irq_value is %d\n", irq_value);
+ msleep(2);
+ retry--;
+ }
+ }
+
+ if (retry == 0) {
+ printk(KERN_ERR "[touch]%s, FW not ready, retry error!\n", __func__);
+ ret = ERROR;
+ } else {
+ if (g_uc_raydium_selftest_flag == 0) {
+ msleep(500);
+ }
+ raydium_irq_control(ts, ENABLE);
+ }
+
+ snprintf(buf, 128, "Raydium HW Reset : %d\n", ret);
+ printk("%s\n", buf);
+ return strlen(buf) + 1;
+}
+
+static ssize_t raydium_palm_status_show(struct device *dev,
+ struct device_attribute *attr,
+ char *buf)
+{
+ int buf_len = 0;
+ unsigned int palm_status;
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ struct raydium_ts_data *ts = (struct raydium_ts_data *)i2c_get_clientdata(client);
+
+ palm_status = raydium_get_palm_state(ts, 0);
+ snprintf(buf, 128, "[Raydium] palm_status : %d\n", palm_status);
+ buf_len = strlen(buf);
+ return buf_len + 1;
+}
+
+static ssize_t raydium_palm_status_store(struct device *dev,
+ struct device_attribute *attr,
+ const char *buf, size_t count)
+{
+ int ret = 0;
+ unsigned char palm_value = 0;
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ struct raydium_ts_data *ts = (struct raydium_ts_data *)i2c_get_clientdata(client);
+
+ /* receive command line arguments string */
+ if (count > 2) {
+ return -EINVAL;
+ }
+
+ ret = kstrtou8(buf, 16, &palm_value);
+ raydium_set_palm_state(ts, palm_value);
+ return count;
+}
+
+static ssize_t raydium_palm_area_store(struct device *dev,
+ struct device_attribute *attr,
+ const char *buf, size_t count)
+{
+ int ret = 0;
+ unsigned char w_data[1];
+ unsigned char palm_area = 0;
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ struct raydium_ts_data *ts = (struct raydium_ts_data *)i2c_get_clientdata(client);
+
+ /* receive command line arguments string */
+ if (count > 2) {
+ return -EINVAL;
+ }
+
+ ret = kstrtou8(buf, 16, &palm_area);
+
+ mutex_lock(&ts->lock);
+ ret = raydium_i2c_pda2_set_page(client, RAYDIUM_PDA2_PAGE_0);
+ if (ret < 0) {
+ mutex_unlock(&ts->lock);
+ goto exit_error;
+ }
+ w_data[0] = palm_area;
+ ret = raydium_i2c_pda2_write(client, RAYDIUM_PDA2_PALM_AREA_ADDR, w_data, 1);
+ if (ret < 0) {
+ mutex_unlock(&ts->lock);
+ goto exit_error;
+ }
+ mutex_unlock(&ts->lock);
+
+exit_error:
+ return count;
+}
+
+static ssize_t raydium_int_flag_show(struct device *dev,
+ struct device_attribute *attr,
+ char *buf)
+{
+ int buf_len = 0;
+
+ snprintf(buf, 128, "%d", g_uc_raydium_int_flag);
+ printk(KERN_INFO "[touch]Raydium int flag = %s!!\n", buf);
+
+ buf_len = strlen(buf);
+
+ return buf_len + 1;
+}
+
+static ssize_t raydium_int_flag_store(struct device *dev,
+ struct device_attribute *attr,
+ const char *buf, size_t count)
+{
+ int ret = 0;
+ unsigned char flag = 0;
+
+ /* receive command line arguments string */
+ if (count > 2) {
+ return -EINVAL;
+ }
+
+ ret = kstrtou8(buf, 16, &flag);
+ if (ret < 0) {
+ return ret;
+ }
+ g_uc_raydium_int_flag = flag;
+ printk(KERN_INFO "[touch]Raydium int flag store = %d!!\n", g_uc_raydium_int_flag);
+ return count;
+}
+
+static ssize_t raydium_selftest_flag_show(struct device *dev,
+ struct device_attribute *attr,
+ char *buf)
+{
+ int buf_len = 0;
+
+ snprintf(buf, 128, "%d", g_uc_raydium_selftest_flag);
+ printk(KERN_INFO "[touch]Raydium selftest flag = %s!!\n", buf);
+ buf_len = strlen(buf);
+ return buf_len + 1;
+}
+
+static ssize_t raydium_selftest_flag_store(struct device *dev,
+ struct device_attribute *attr,
+ const char *buf, size_t count)
+{
+ int ret = 0;
+ unsigned char flag = 0;
+ printk(KERN_INFO "[touch]Raydium %s!!\n", __func__);
+
+ /* receive command line arguments string */
+ if (count > 2) {
+ return -EINVAL;
+ }
+
+ ret = kstrtou8(buf, 16, &flag);
+ if (ret < 0) {
+ return ret;
+ }
+ g_uc_raydium_selftest_flag = flag;
+
+ printk(KERN_INFO "[touch]Raydium selftest flag store = %d!!\n", g_uc_raydium_selftest_flag);
+
+ return count;
+}
+
+static ssize_t raydium_touch_lock_store(struct device *dev,
+ struct device_attribute *attr,
+ const char *buf, size_t count)
+{
+ int ret = 0;
+ unsigned char mode;
+ unsigned char wbuffer[1];
+ int i = 0;
+ unsigned char buf2[4];
+
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ struct raydium_ts_data *ts = (struct raydium_ts_data *)i2c_get_clientdata(client);
+
+ if (ts->is_suspend) {
+ printk(KERN_INFO "[touch]Raydium IC is_suspend at %s\n", __func__);
+ }
+
+ /* receive command line arguments string */
+ if (count > 2) {
+ return -EINVAL;
+ }
+
+ ret = kstrtou8(buf, 16, &mode);
+ if (ret < 0) {
+ return ret;
+ }
+
+ switch (mode) {
+ case 0: /* Disable Touch lock */
+
+ printk(KERN_INFO "[touch]ts->blank:%x\n", ts->blank);
+ ts->is_close = 0;
+ if (ts->is_sleep == 1) {
+ //turn on i2c pull-up power
+ ret = raydium_power_on(ts, true);
+ if (ret) {
+ dev_err(&ts->client->dev, "[touch]%s:power on failed", __func__);
+ }
+ udelay(RAYDIUM_POWERON_DELAY_USEC);//500us
+ mutex_lock(&ts->lock);
+ if (gpio_is_valid(ts->rst)) {
+ ret = gpio_request(ts->rst, "raydium_reset_gpio");
+ if (ret < 0) {
+ dev_err(&ts->client->dev, "[touch]reset gpio request failed");
+ }
+ gpio_direction_output(ts->rst, 1);
+ gpio_direction_output(ts->rst, 0);
+ msleep(RAYDIUM_RESET_INTERVAL_MSEC);//5ms
+ gpio_direction_output(ts->rst, 1);
+ msleep(RAYDIUM_RESET_DELAY_MSEC);//100ms
+ u8_i2c_mode = PDA2_MODE;
+ gpio_free(ts->rst);
+ g_u8_unlockflag = true;
+ }
+ mutex_unlock(&ts->lock);
+ raydium_irq_control(ts, ENABLE);
+ ts->is_sleep = 0;
+ printk(KERN_INFO "[touch]disable touch lock.\n");
+ }
+ break;
+
+ case 1: /* Enable Touch lock */
+ if (ts->is_sleep == 1) {
+ printk(KERN_INFO "[touch]touch lock already enabled.\n");
+ }
+
+ ts->is_close = 1;
+ raydium_irq_control(ts, DISABLE);
+
+ /* release all touches */
+ for (i = 0; i < ts->pdata->num_max_touches; i++) {
+ input_mt_slot(ts->input_dev, i);
+ input_mt_report_slot_state(ts->input_dev, MT_TOOL_FINGER, false);
+ }
+ input_mt_report_pointer_emulation(ts->input_dev, false);
+ input_sync(ts->input_dev);
+
+ mutex_lock(&ts->lock);
+ ret = raydium_i2c_pda2_set_page(ts->client, RAYDIUM_PDA2_PAGE_0);
+ if (ret < 0) {
+ printk(KERN_ERR "[touch]ret:%d\n", ret);
+ goto exit_i2c_error;
+ }
+
+ wbuffer[0] = RAYDIUM_HOST_CMD_PWR_SLEEP;//fw enter sleep mode
+ ret = raydium_i2c_pda2_write(ts->client, RAYDIUM_PDA2_HOST_CMD_ADDR, wbuffer, 1);
+ if (ret < 0) {
+ printk(KERN_ERR "[touch]ret:%d\n", ret);
+ goto exit_i2c_error;
+ }
+
+ mdelay(750);
+ memset(buf2, 0, sizeof(buf2));
+ ret = raydium_i2c_pda_write(ts->client, 0x5000000C, buf2, 4);
+ if (ret < 0) {
+ printk(KERN_ERR "[touch]Disable M0 NG ret:%d\n", ret);
+ goto exit_i2c_error;
+ }
+
+ //turn off i2c pull-up power
+ ret = raydium_power_on(ts, false);
+ if (ret) {
+ dev_err(&ts->client->dev, "[touch]%s:power off failed", __func__);
+ }
+ mutex_unlock(&ts->lock);
+
+ ts->is_sleep = 1;
+ printk(KERN_INFO "[touch]enable touch lock.\n");
+ break;
+ }
+
+ ret = (ssize_t) count;
+ goto exit;
+
+exit_i2c_error:
+ mutex_unlock(&ts->lock);
+ raydium_irq_control(ts, ENABLE);
+
+exit:
+ return ret;
+}
+
+static ssize_t raydium_check_driver_version_show(struct device *dev,
+ struct device_attribute *attr,
+ char *buf)
+{
+ int buf_len = 0;
+ int ret = -1;
+
+ snprintf(buf, 128, "Raydium Driver Version : 0x%X\n", RAYDIUM_VER);
+ buf_len = strlen(buf);
+ ret = buf_len + 1;
+ return ret;
+}
+
+static ssize_t raydium_check_fw_version_show(struct device *dev,
+ struct device_attribute *attr,
+ char *buf)
+{
+ unsigned char rbuffer[4];
+ int buf_len = 0;
+ int ret = -1;
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ struct raydium_ts_data *ts = (struct raydium_ts_data *)i2c_get_clientdata(client);
+ unsigned int fw_version, image_version;
+
+ if (ts->is_suspend) {
+ printk("[touch]Raydium IC is_suspend at %s\n", __func__);
+ }
+
+ raydium_irq_control(ts, DISABLE);
+ mutex_lock(&ts->lock);
+
+ ret = raydium_i2c_pda2_set_page(client, RAYDIUM_PDA2_PAGE_0);
+ if (ret < 0) {
+ goto exit_i2c_error;
+ }
+ ret = raydium_i2c_pda2_read(client, RAYDIUM_PDA2_FW_VERSION_ADDR, rbuffer, 4);
+ if (ret < 0) {
+ goto exit_i2c_error;
+ }
+ snprintf(buf, 128, "Raydium Touch FW Version : %02X%02X%02X%02X\n", rbuffer[0], rbuffer[1], rbuffer[2], rbuffer[3]);
+
+ fw_version = (rbuffer[0] << 24) | (rbuffer[1] << 16) | (rbuffer[2] << 8) | rbuffer[3];
+ printk(KERN_ERR "[touch]Raydium IC FW version is 0x%x\n", fw_version);
+ if (g_receive_fw == 1) {
+ image_version = (g_rad_fw_image[0xF21] << 24) |
+ (g_rad_fw_image[0xF22] << 16) |
+ (g_rad_fw_image[0xF23] << 8) |
+ g_rad_fw_image[0xF24];
+ } else {
+
+ image_version = (RadFWImage[0xF21] << 24) | (RadFWImage[0xF22] << 16) | (RadFWImage[0xF23] << 8) | RadFWImage[0xF24];
+ }
+ printk(KERN_ERR "[touch]Raydium Image FW version is 0x%x\n", image_version);
+
+ mutex_unlock(&ts->lock);
+ raydium_irq_control(ts, ENABLE);
+
+ if (fw_version != image_version) {
+ printk(KERN_INFO "[touch]%s, FW need upgrade.\n", __func__);
+ }
+
+ buf_len = strlen(buf);
+ ret = buf_len + 1;
+ goto exit_upgrade;
+
+exit_i2c_error:
+ mutex_unlock(&ts->lock);
+ raydium_irq_control(ts, ENABLE);
+
+exit_upgrade:
+ return ret;
+}
+
+static ssize_t raydium_check_panel_version_show(struct device *dev,
+ struct device_attribute *attr,
+ char *buf)
+{
+ unsigned char rbuffer[8];
+ int buf_len = 0;
+ int ret = -1;
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ struct raydium_ts_data *ts = (struct raydium_ts_data *)i2c_get_clientdata(client);
+
+ if (ts->is_suspend) {
+ printk(KERN_INFO "[touch]Raydium IC is_suspend at %s\n", __func__);
+ }
+ raydium_irq_control(ts, DISABLE);
+ mutex_lock(&ts->lock);
+
+ ret = raydium_i2c_pda2_set_page(client, RAYDIUM_PDA2_PAGE_0);
+ if (ret < 0) {
+ goto exit_i2c_error;
+ }
+ ret = raydium_i2c_pda2_read(client, RAYDIUM_PDA2_PANEL_VERSION_ADDR, rbuffer, 8);
+ if (ret < 0) {
+ goto exit_i2c_error;
+ }
+ snprintf(buf, 128, "Raydium Touch Panel Version : %02X%02X%02X%02X%02X%02X\n",
+ rbuffer[0], rbuffer[1], rbuffer[2], rbuffer[3], rbuffer[4], rbuffer[5]);
+ mutex_unlock(&ts->lock);
+ raydium_irq_control(ts, ENABLE);
+
+ buf_len = strlen(buf);
+ ret = buf_len + 1;
+ goto exit_upgrade;
+
+exit_i2c_error:
+ mutex_unlock(&ts->lock);
+ raydium_irq_control(ts, ENABLE);
+exit_upgrade:
+ return ret;
+}
+
+static ssize_t fw_check_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ int count = 0;
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+ struct raydium_ts_data *ts = (struct raydium_ts_data *)i2c_get_clientdata(client);
+
+ if (ts->fw_version == 0) {
+ count += snprintf(buf + count, 128, "FAIL\n");
+ } else {
+ count += snprintf(buf + count, 128, "Pass, (fw_ver : 0x%x)\n", ts->fw_version);
+ }
+ return count;
+}
+
+static unsigned char i2c_burst_read(struct i2c_client *client, int int_addr, unsigned short u16ReadLen, unsigned char *p_u8_read_data)
+{
+ unsigned char result = ERROR;
+ unsigned short u16_already_read_len = 0;
+ char u8_read = 0;
+ unsigned char rbuffer[4];
+ int ret = 0;
+
+ if (u16ReadLen > 4) {
+ u8_read = 4;
+ } else {
+ u8_read = u16ReadLen;
+ }
+ while (u16_already_read_len < u16ReadLen) {
+ ret = raydium_i2c_pda_read(client, int_addr, rbuffer, u8_read);
+ if (ret < 0) {
+ return result;
+ }
+ memcpy(p_u8_read_data + u16_already_read_len, rbuffer, u8_read);
+ u16_already_read_len += u8_read;
+ }
+ result = SUCCESS;
+ return result;
+}
+
+static unsigned char i2c_burst_write(struct i2c_client *client, int int_addr, unsigned short bWriteLen, unsigned char *bValue)
+{
+ unsigned char result = ERROR;
+ int ret = 0;
+ unsigned short u16_len = 0;
+ unsigned char u8_w_len = 4;
+
+ while (u16_len < bWriteLen) {
+ ret = raydium_i2c_pda_write(client, int_addr, bValue + u16_len, u8_w_len);
+ if (ret < 0) {
+ return result;
+ }
+ u16_len += u8_w_len;
+ if (u16_len + u8_w_len > bWriteLen) {
+ u8_w_len = bWriteLen - u16_len;
+ }
+ }
+ result = SUCCESS;
+ return result;
+}
+
+static unsigned int i2c_read_4byte(struct i2c_client *client, unsigned int addr)
+{
+ unsigned int u32Data = 0, u16ii;
+ unsigned char u8_buf[4];
+
+ if (i2c_burst_read(client, addr, 4, u8_buf) == SUCCESS) {
+ for (u16ii = 0; u16ii < 4 && u16ii < sizeof(u8_buf); u16ii++) {
+ u32Data += (u8_buf[u16ii] << (8 * u16ii));
+ }
+ }
+ return u32Data;
+}
+
+void i2c_write(struct i2c_client *client, uint32_t addr, uint32_t data)
+{
+ unsigned char u8_data[4];
+ u8_data[0] = (uint8_t)(data);
+ u8_data[1] = (uint8_t)(data >> 8);
+ u8_data[2] = (uint8_t)(data >> 16);
+ u8_data[3] = (uint8_t)(data >> 24);
+ i2c_burst_write(client, addr, 4, u8_data);
+}
+
+static unsigned char raydium_selftest_stop_mcu(struct i2c_client *client)
+{
+ unsigned char wData[4];
+ unsigned int u32_read;
+ unsigned short u16_time_out = 10;
+ unsigned int MCU_HOLD_STATUS = (0x00000001 << 13);
+
+ printk(KERN_INFO "[touch]Stop MCU\r\n");
+ i2c_burst_read(client, 0x50000918, 4, wData);
+ wData[0] |= 0x20 | 0x10;
+ i2c_burst_write(client, 0x50000918, 4, wData);
+ memset(wData, 0, sizeof(wData));
+ wData[0] = 0x01;
+ i2c_burst_write(client, 0x40000004, 4, wData);
+
+ u32_read = i2c_read_4byte(client, 0x50000918);
+ while ((u32_read & MCU_HOLD_STATUS) == 0 && u16_time_out-- > 0) {
+ msleep(10);
+ u32_read = i2c_read_4byte(client, 0x50000918);
+ }
+ if ((u32_read & MCU_HOLD_STATUS) == 0) {
+ printk(KERN_ERR "[touch]Not Enter MCU HOLD\r\n");
+ return ERROR;
+ } else {
+ printk(KERN_INFO "[touch]Enter MCU HOLD\r\n");
+ }
+
+ u32_read = i2c_read_4byte(client, 0x50000610);
+ u32_read &= ~(0x7f << 8);
+ u32_read |= (1 << 7);
+ u32_read &= ~((1 << 7) | (1 << 6));
+ u32_read |= (0xF << 8);
+ i2c_write(client, 0x50000610, u32_read);
+
+ return SUCCESS;
+}
+
+static ssize_t raydium_i2c_test_show(struct device *dev,
+ struct device_attribute *attr,
+ char *buf)
+{
+ int ret = SUCCESS;
+
+ unsigned char wData[64], readData[64];
+ unsigned int writeIndex = 0, i2cWriteLen = 0, i2cReadLength = 0, readLength = 0;
+ int addr = 0x20000000;
+ unsigned int u32_test_length = 256;
+ short i16_time_out = 3;
+ unsigned char u8_is_pass = 0;
+ struct i2c_client *client = container_of(dev, struct i2c_client, dev);
+
+ printk(KERN_INFO "[touch]##RM6D010 I2C Test##\r\n");
+ g_ui_length = 4;
+ g_ul_addr = 0x50000918;
+ raydium_i2c_pda_access_show(dev, attr, buf);
+ /*Stop MCU*/
+ if (raydium_selftest_stop_mcu(client) == ERROR) {
+ printk(KERN_ERR "[touch]Stop MCU NG\r\n");
+ goto NG_CASE;
+ }
+ printk(KERN_INFO "[touch]After STOP MCU!\n");
+ for (writeIndex = 0; writeIndex < 64; writeIndex++) {
+ if (writeIndex % 4 == 0) {
+ wData[writeIndex] = 0x55;
+ } else if (writeIndex % 4 == 1) {
+ wData[writeIndex] = 0xaa;
+ } else if (writeIndex % 4 == 2) {
+ wData[writeIndex] = 0xa5;
+ } else if (writeIndex % 4 == 3) {
+ wData[writeIndex] = 0x5a;
+ }
+ }
+
+RETRY_I2C:
+ while (i16_time_out > 0 && u8_is_pass != 1) {
+ i2cWriteLen = 64;
+ writeIndex = 0;
+ printk(KERN_INFO "[touch]I2C Test Write!!!\r\n");
+
+ while (writeIndex < u32_test_length) {
+ if (i2c_burst_write(client, addr + writeIndex, i2cWriteLen, wData) == 0) {
+ printk(KERN_ERR "[touch]i2c_test Write NG(ADDR=0x%x)!!\r\n", addr + writeIndex);
+ i16_time_out--;
+ if (raydium_hw_reset_fun(client) == ERROR) {
+ goto NG_CASE;
+ }
+ if (raydium_selftest_stop_mcu(client) < 0) {
+ goto NG_CASE;
+ }
+ goto RETRY_I2C;
+ }
+
+ writeIndex += i2cWriteLen;
+
+ if ((u32_test_length - writeIndex) < i2cWriteLen) {
+ i2cWriteLen = (u32_test_length - writeIndex);
+ }
+ }
+
+ printk(KERN_INFO "[touch]I2C Test Read!!!\r\n");
+ i2cReadLength = 64;
+
+ while (readLength < u32_test_length) {
+ if (i2c_burst_read(client, addr + readLength, i2cReadLength, readData) == 0) {
+ i16_time_out--;
+ printk(KERN_ERR "[touch]i2c_test Read NG(ADDR=0x%x)!!\r\n", addr + writeIndex);
+ if (raydium_hw_reset_fun(client) == ERROR) {
+ goto NG_CASE;
+ }
+ if (raydium_selftest_stop_mcu(client) < 0) {
+ goto NG_CASE;
+ }
+ goto RETRY_I2C;
+ }
+
+ for (writeIndex = 0; writeIndex < i2cReadLength; writeIndex++) {
+ if (wData[writeIndex] != readData[writeIndex]) {
+ printk(KERN_ERR "[touch]i2c_test Read NG [%d], W=0x%x,R=0x%x\r\n", writeIndex, wData[writeIndex], readData[writeIndex]);
+ i16_time_out--;
+ if (raydium_hw_reset_fun(client) == ERROR) {
+ goto NG_CASE;
+ }
+ if (raydium_selftest_stop_mcu(client) < 0) {
+ goto NG_CASE;
+ }
+ goto RETRY_I2C;
+ }
+ }
+
+ readLength += i2cReadLength;
+
+ if (u32_test_length - readLength < i2cReadLength) {
+ i2cReadLength = u32_test_length - readLength;
+ }
+ }
+
+ u8_is_pass = 1;
+ }
+
+ if (!u8_is_pass) {
+ goto NG_CASE;
+ }
+ ret = u8_is_pass;
+ printk(KERN_INFO "[touch]I2C Test Pass!!!\r\n");
+ snprintf(buf, 128, "Raydium I2C Test : %d\n", ret);
+ printk("%s\n", buf);
+ return strlen(buf) + 1;
+
+NG_CASE:
+ ret = 0;
+ snprintf(buf, 128, "Raydium I2C Test : %d\n", ret);
+ printk("%s\n", buf);
+ return strlen(buf) + 1;
+}
+
+static ssize_t raydium_receive_fw_store(struct device *dev,
+ struct device_attribute *attr,
+ const char *buf, size_t count)
+{
+ int i = 0, fwlength = 0;
+ static int fw_type, fwindex, rad_fw_length, rad_init_length, rad_boot_length, rad_testfw_length;
+
+ if ((buf[0] == '#') && (count == 2)) { /*check FW type*/
+ if (buf[1] == '1')
+ fw_type = 1;
+ else if (buf[1] == '2')
+ fw_type = 2;
+ else if (buf[1] == '3')
+ fw_type = 3;
+ else if (buf[1] == '4')
+ fw_type = 4;
+ } else if ((buf[0] == '#') && (count == 10)) { /*check FW length*/
+ fwindex = 0;
+ for (i = 1; i < 10; i++) {
+ if ((buf[i] >= '0') && (buf[i] <= '9'))
+ fwlength = fwlength * 10 + (buf[i] - '0');
+ else if (buf[i] == '#')
+ break;
+ }
+ printk(KERN_INFO "[touch] fw_type=%d, fwlength=%d\n", fw_type, fwlength);
+ if (fw_type == 1) {
+ rad_fw_length = fwlength;
+ g_rad_fw_image = (char *)kmalloc(rad_fw_length*sizeof(char), GFP_KERNEL);
+ if (g_rad_fw_image == NULL) {
+ printk(KERN_ERR "[touch] g_rad_fw_image kzalloc failed\n");
+ return -ENOMEM;
+ }
+ } else if (fw_type == 2) {
+ rad_init_length = fwlength;
+ g_rad_init_image = (char *)kmalloc(rad_init_length*sizeof(char), GFP_KERNEL);
+ if (g_rad_init_image == NULL) {
+ printk(KERN_ERR "[touch] g_rad_init_image kzalloc failed\n");
+ return -ENOMEM;
+ }
+ } else if (fw_type == 3) {
+ rad_boot_length = fwlength;
+ g_rad_boot_image = (char *)kmalloc(rad_boot_length*sizeof(char), GFP_KERNEL);
+ if (g_rad_boot_image == NULL) {
+ printk(KERN_ERR "[touch] g_rad_boot_image kzalloc failed\n");
+ return -ENOMEM;
+ }
+ } else if (fw_type == 4) {
+ rad_testfw_length = fwlength;
+ g_rad_testfw_image = (char *)kmalloc(rad_testfw_length*sizeof(char), GFP_KERNEL);
+ if (g_rad_testfw_image == NULL) {
+ printk(KERN_ERR "[touch] g_rad_testfw_image kzalloc failed\n");
+ return -ENOMEM;
+ }
+ }
+ } else if (count > 10) { /*start copy FW to array*/
+ for (i = 0; i < count; i++) {
+ /*printk(KERN_INFO "[touch] fw_type=%d, count=%d, fwindex=%d, buf[%d]=%x\n", fw_type, count, fwindex, i, buf[i]);*/
+ if (fw_type == 1)
+ g_rad_fw_image[fwindex] = buf[i];
+ else if (fw_type == 2)
+ g_rad_init_image[fwindex] = buf[i];
+ else if (fw_type == 3)
+ g_rad_boot_image[fwindex] = buf[i];
+ else if (fw_type == 4)
+ g_rad_testfw_image[fwindex] = buf[i];
+ fwindex++;
+ }
+ g_receive_fw = 1;
+ } else if (count == 1 && buf[0] == '!') { /*free buffer*/
+ printk(KERN_INFO "[touch] rad_fw_length=%d, rad_init_length=%d, rad_boot_length=%d, rad_testfw_length=%d\n", rad_fw_length, rad_init_length, rad_boot_length, rad_testfw_length);
+ if (rad_fw_length != 0) {
+ /*for(i = 0; i < rad_fw_length; i++)*/
+ /* printk(KERN_INFO "[touch] g_rad_fw_image[%d]=%x\n", i, g_rad_fw_image[i]);*/
+ kfree(g_rad_fw_image);
+ }
+ if (rad_init_length != 0) {
+ /*for(i = 0; i < rad_init_length; i++)*/
+ /* printk(KERN_INFO "[touch] g_rad_init_image[%d]=%x\n", i, g_rad_init_image[i]);*/
+ kfree(g_rad_init_image);
+ }
+ if (rad_boot_length != 0) {
+ /*for(i = 0; i < rad_boot_length; i++)*/
+ /* printk(KERN_INFO "[touch] g_rad_boot_image[%d]=%x\n", i, g_rad_boot_image[i]);*/
+ kfree(g_rad_boot_image);
+ }
+ if (rad_testfw_length != 0) {
+ /*for(i = 0; i < rad_testfw_length; i++)*/
+ /* printk(KERN_INFO "[touch] g_rad_testfw_image[%d]=%x\n", i, g_rad_testfw_image[i]);*/
+ kfree(g_rad_testfw_image);
+ }
+ fwindex = 0;
+ fwlength = 0;
+ rad_fw_length = 0;
+ rad_init_length = 0;
+ rad_boot_length = 0;
+ rad_testfw_length = 0;
+ g_receive_fw = 0;
+ } else
+ printk(KERN_INFO "[touch] other case , count=%d\n", count);
+
+ return count;
+}
+
+/* panel calibration cmd (R)
+ * example:cat raydium_ic_verion
+ */
+static DEVICE_ATTR(raydium_touch_calibration, 0644,
+ raydium_touch_calibration_show,
+ NULL);
+
+/* check the i2c (R)
+ * example:cat raydium_check_i2c
+ */
+static DEVICE_ATTR(raydium_check_i2c, 0644,
+ raydium_check_i2c_show,
+ NULL);
+
+/* upgrade configurate and algo firmware from app.bin (W)
+ * example:echo "offset num_of_bin length *_app.bin [length *_app.bin]" > raydium_fw_upgrade_mode
+ */
+static DEVICE_ATTR(raydium_fw_upgrade, 0644,
+ raydium_fw_upgrade_show,
+ raydium_fw_upgrade_store);
+
+/* upgrade configurate and algo firmware from app.bin (W)
+ * example:echo "offset num_of_bin length *_app.bin [length *_app.bin]" > raydium_fw_upgrade_mode
+ */
+static DEVICE_ATTR(raydium_upgrade_firmware, 0644,
+ NULL,
+ raydium_upgrade_firmware_store);
+
+/* change I2C communication mode (W)
+ * example: echo 1 > raydium_i2c_pda2_mode ==> enable pda2 mode
+ * echo 0 > raydium_i2c_pda2_mode ==> disable pda2 mode
+ */
+static DEVICE_ATTR(raydium_i2c_pda2_mode, 0644,
+ NULL,
+ raydium_i2c_pda2_mode_store);
+
+/* I2C pda mode (R/W)
+ * example: cat raydium_i2c_pda_access ==> read pda address provided by the following cmd
+ * echo ADDRinHEX [DATAinHEX] > raydium_i2c_pda_access ==> write pda address [data]
+ */
+static DEVICE_ATTR(raydium_i2c_pda_access, 0644,
+ raydium_i2c_pda_access_show,
+ raydium_i2c_pda_access_store);
+
+/* I2C pda2 mode (R/W)
+ * example: cat raydium_i2c_pda2_access ==> read pda2 address provided by the following cmd
+ * echo ADDRinHEX [DATAinHEX] > raydium_i2c_pda2_access ==> write pda2 address [data]
+ */
+static DEVICE_ATTR(raydium_i2c_pda2_access, 0644,
+ raydium_i2c_pda2_access_show,
+ raydium_i2c_pda2_access_store);
+
+/* I2C pda2 mode page (W)
+ * example: echo PAGEinHEX > raydium_i2c_pda2_page ==> write pda2 page
+ */
+static DEVICE_ATTR(raydium_i2c_pda2_page, 0644,
+ NULL,
+ raydium_i2c_pda2_page_store);
+
+/* I2C read/set FT raw data (R/W)
+ * example: cat raydium_i2c_raw_data ==> read raw data with specific length of corresponding type provided by the following cmd
+ * echo DataTypeinHEX RawDataLengthinHEX > raydium_i2c_raw_data ==> set raw data type and its length
+ */
+static DEVICE_ATTR(raydium_i2c_raw_data, 0644,
+ raydium_i2c_raw_data_show,
+ raydium_i2c_raw_data_store);
+
+/* Read interrupt flag cmd (R)
+ * example:cat raydium_flag
+ */
+static DEVICE_ATTR(raydium_flag, 0644,
+ raydium_flag_show,
+ raydium_flag_store);
+
+/* Read interrupt flag cmd (R)
+ * example:cat raydium_int_flag
+ */
+static DEVICE_ATTR(raydium_int_flag, 0644,
+ raydium_int_flag_show,
+ raydium_int_flag_store);
+
+/* Read selftest flag cmd (R)
+ * example:cat raydium_int_flag
+ */
+static DEVICE_ATTR(raydium_selftest_flag, 0644,
+ raydium_selftest_flag_show,
+ raydium_selftest_flag_store);
+
+/* Touch lock (W)
+ * example: echo 1 > raydium_i2c_touch_lock ==> enable touch lock
+ * echo 0 > raydium_i2c_touch_lock ==> disable touch lock
+ */
+static DEVICE_ATTR(raydium_i2c_touch_lock, 0644,
+ NULL,
+ raydium_touch_lock_store);
+
+/* show the fw version (R)
+ * example:cat raydium_fw_version
+ */
+static DEVICE_ATTR(raydium_check_fw_version, 0644,
+ raydium_check_fw_version_show,
+ NULL);
+
+static DEVICE_ATTR(raydium_check_driver_version, 0644,
+ raydium_check_driver_version_show,
+ NULL);
+
+static DEVICE_ATTR(fw_check, 0444, fw_check_show, NULL);
+/* show the panel version (R)
+ * example:cat raydium_panel_version
+ */
+static DEVICE_ATTR(raydium_check_panel_version, 0644,
+ raydium_check_panel_version_show,
+ NULL);
+
+static DEVICE_ATTR(raydium_hw_reset, 0644,
+ raydium_hw_reset_show,
+ NULL);
+static DEVICE_ATTR(raydium_wait_ft_int, 0644,
+ raydium_wait_ft_int_show,
+ raydium_wait_ft_int_store);
+static DEVICE_ATTR(raydium_palm_status, 0644,
+ raydium_palm_status_show,
+ raydium_palm_status_store);
+
+static DEVICE_ATTR(raydium_palm_area, 0644,
+ NULL,
+ raydium_palm_area_store);
+static DEVICE_ATTR(raydium_i2c_test, 0644,
+ raydium_i2c_test_show,
+ NULL);
+static DEVICE_ATTR(raydium_receive_fw_control, 0644,
+ NULL,
+ raydium_receive_fw_store);
+
+/*add your attr in here*/
+static struct attribute *raydium_attributes[] = {
+ &dev_attr_raydium_touch_calibration.attr,
+ &dev_attr_raydium_check_i2c.attr,
+ &dev_attr_raydium_upgrade_firmware.attr,
+ &dev_attr_raydium_i2c_pda2_mode.attr,
+ &dev_attr_raydium_i2c_pda_access.attr,
+ &dev_attr_raydium_i2c_pda2_access.attr,
+ &dev_attr_raydium_i2c_pda2_page.attr,
+ &dev_attr_raydium_i2c_raw_data.attr,
+ &dev_attr_raydium_flag.attr,
+ &dev_attr_raydium_i2c_touch_lock.attr,
+ &dev_attr_raydium_fw_upgrade.attr,
+ &dev_attr_raydium_check_fw_version.attr,
+ &dev_attr_raydium_check_panel_version.attr,
+ &dev_attr_raydium_hw_reset.attr,
+ &dev_attr_raydium_palm_status.attr,
+ &dev_attr_raydium_int_flag.attr,
+ &dev_attr_raydium_selftest_flag.attr,
+ &dev_attr_raydium_wait_ft_int.attr,
+ &dev_attr_raydium_palm_area.attr,
+ &dev_attr_fw_check.attr,
+ &dev_attr_raydium_i2c_test.attr,
+ &dev_attr_raydium_check_driver_version.attr,
+ &dev_attr_raydium_receive_fw_control.attr,
+ NULL
+};
+
+static const struct attribute_group raydium_attr_group = {
+ .attrs = raydium_attributes
+};
+
+/*create sysfs for debug update firmware*/
+static int raydium_create_sysfs(struct i2c_client *client)
+{
+ int ret = -1;
+
+ ret = sysfs_create_group(&(client->dev.kobj), &raydium_attr_group);
+ if (ret) {
+ dev_err(&client->dev, "[touch]failed to register sysfs\n");
+ sysfs_remove_group(&client->dev.kobj, &raydium_attr_group);
+ return -EIO;
+ } else {
+ printk(KERN_INFO "[touch]create raydium sysfs attr_group successful\n");
+ }
+
+ return ret;
+}
+
+static void raydium_release_sysfs(struct i2c_client *client)
+{
+ sysfs_remove_group(&client->dev.kobj, &raydium_attr_group);
+}
+#endif /*end of CONFIG_RM_SYSFS_DEBUG*/
+
+static int raydium_read_touchdata(struct raydium_ts_data *data)
+{
+ unsigned char buf[MAX_REPORT_PACKAGE_SIZE];
+ unsigned char tp_status[MAX_TCH_STATUS_PACKAGE_SIZE];
+ int ret = 0;
+ unsigned char i, j, offset = 0;
+ unsigned char u8_seq_no = 0, u8_points_amount, u8_point_id;
+ signed short s16_x, s16_y, s16_pressure, s16_wx, s16_wy;
+
+#ifdef GESTURE_EN
+ /*display idle mode, touch idle mode*/
+
+ if (data->blank == FB_BLANK_VSYNC_SUSPEND || data->blank == FB_BLANK_POWERDOWN) {
+ if (g_u8_unlockflag == true) {
+ mutex_lock(&data->lock);
+ ret = raydium_i2c_pda2_set_page(data->client, RAYDIUM_PDA2_PAGE_0);
+ if (ret < 0) {
+ dev_err(&data->client->dev, "%s: failed to set page for reading gesture report: %d\n", __func__, ret);
+ mutex_unlock(&data->lock);
+ return ret;
+ }
+
+ ret = raydium_i2c_pda2_read(data->client, RAYDIUM_PDA2_GESTURE_RPT_ADDR, buf, 4);
+ if (ret < 0) {
+ dev_err(&data->client->dev, "%s: failed to read gesture report: %d\n", __func__, ret);
+ mutex_unlock(&data->lock);
+ return ret;
+ }
+
+ //clear seq_num
+ tp_status[POS_SEQ] = 0;
+ ret = raydium_i2c_pda2_write(data->client, RAYDIUM_PDA2_TCH_RPT_STATUS_ADDR, tp_status, 1);
+ if (ret < 0) {
+ dev_err(&data->client->dev, "%s: failed to write data: %d\n", __func__, ret);
+ mutex_unlock(&data->lock);
+ return ret;
+ }
+
+ mutex_unlock(&data->lock);
+ if (buf[0] == 1) {
+ input_mt_slot(data->input_dev, 0);
+ input_mt_report_slot_state(data->input_dev, MT_TOOL_FINGER, 1);
+ input_report_abs(data->input_dev, ABS_MT_POSITION_X, 100);
+ input_report_abs(data->input_dev, ABS_MT_POSITION_Y, 100);
+ input_sync(data->input_dev);
+ mdelay(1);
+ input_mt_slot(data->input_dev, 0);
+ input_mt_report_slot_state(data->input_dev, MT_TOOL_FINGER, 0);
+ input_mt_report_pointer_emulation(data->input_dev, false);
+ input_sync(data->input_dev);
+ g_uc_gesture_status = RAYDIUM_GESTURE_DISABLE;
+ printk(KERN_INFO "[touch]display wake up with unlockflag\n");
+ } else {
+ printk(KERN_INFO "[touch]filter wrong interrupt\n");
+ }
+ } else {
+ input_mt_slot(data->input_dev, 0);
+ input_mt_report_slot_state(data->input_dev, MT_TOOL_FINGER, 1);
+ input_report_abs(data->input_dev, ABS_MT_POSITION_X, 100);
+ input_report_abs(data->input_dev, ABS_MT_POSITION_Y, 100);
+ input_sync(data->input_dev);
+ mdelay(1);
+ input_mt_slot(data->input_dev, 0);
+ input_mt_report_slot_state(data->input_dev, MT_TOOL_FINGER, 0);
+ input_mt_report_pointer_emulation(data->input_dev, false);
+ input_sync(data->input_dev);
+ g_uc_gesture_status = RAYDIUM_GESTURE_DISABLE;
+ printk(KERN_INFO "[touch]display wake up\n");
+ }
+ return 0;
+ } else {
+#endif
+ mutex_lock(&data->lock);
+
+ memset(buf, 0, MAX_REPORT_PACKAGE_SIZE);
+ memset(tp_status, 0, MAX_TCH_STATUS_PACKAGE_SIZE);
+ /*read touch point information*/
+ ret = raydium_i2c_pda2_read(data->client, RAYDIUM_PDA2_TCH_RPT_STATUS_ADDR, tp_status, MAX_TCH_STATUS_PACKAGE_SIZE);
+ if (ret < 0) {
+ dev_err(&data->client->dev, "[touch]%s: failed to read data: %d\n", __func__, ret);
+ mutex_unlock(&data->lock);
+ return ret;
+ }
+
+ /* inform IC to prepare next report*/
+ if (u8_seq_no == tp_status[POS_SEQ]) {
+ /*report not updated*/
+ mutex_unlock(&data->lock);
+ /*printk("%s -> report not updated.\n", __func__);*/
+ return 0;
+ }
+ u8_points_amount = tp_status[POS_PT_AMOUNT];
+ if (u8_points_amount > MAX_TOUCH_NUM) {
+ mutex_unlock(&data->lock);
+ return 0;
+ }
+
+ /*read touch point report*/
+ /*PDA2 only support word mode*/
+ if (u8_points_amount != 0) {
+ ret = raydium_i2c_pda2_read(data->client, RAYDIUM_PDA2_TCH_RPT_ADDR, buf, u8_points_amount * LENGTH_PT);
+ }
+
+ if (ret < 0) {
+ dev_err(&data->client->dev, "[touch]%s: failed to read data: %d\n", __func__, ret);
+ mutex_unlock(&data->lock);
+ return ret;
+ }
+ u8_seq_no = tp_status[POS_SEQ];
+ tp_status[POS_SEQ] = 0;
+ ret = raydium_i2c_pda2_write(data->client, RAYDIUM_PDA2_TCH_RPT_STATUS_ADDR, tp_status, 1);
+ if (ret < 0) {
+ dev_err(&data->client->dev, "[touch]%s: failed to write data: %d\n", __func__, ret);
+ mutex_unlock(&data->lock);
+ return ret;
+ }
+ mutex_unlock(&data->lock);
+ /*Report*/
+ /* TODO: Using struct+memcpy instead of array+offset*/
+ /*initialize slot update info*/
+ for (i = 0; i < (MAX_TOUCH_NUM * 2); i++) {
+ gst_slot_status[i].need_update = 0;
+ gst_slot_status[i].pt_report_offset = 0;
+ }
+
+ /*Check incoming point info*/
+ for (i = 0; i < u8_points_amount; i++) {
+ u8_point_id = buf[POS_PT_ID + i * LENGTH_PT];
+ /* Current*/
+ for (j = 0; j < MAX_TOUCH_NUM; j++) {
+ if (u8_point_id == gst_slot_status[j].occupied_pt_id) {
+ gst_slot_status[j].need_update = 1;
+ gst_slot_status[j].pt_report_offset = i;
+ break;
+ }
+ }
+ /* New coming*/
+ if (j == MAX_TOUCH_NUM) {
+ for (j = MAX_TOUCH_NUM; j < (MAX_TOUCH_NUM * 2); j++) {
+ if (!gst_slot_status[j].need_update) {
+ gst_slot_status[j].occupied_pt_id = u8_point_id;
+ gst_slot_status[j].need_update = 1;
+ gst_slot_status[j].pt_report_offset = i;
+ printk(KERN_INFO "[touch]x:%d,y:%d\n",
+ buf[POS_X_L + offset] | buf[POS_X_H + offset] << SHORT_HIGH_BYTE_SHIFT,
+ buf[POS_Y_L + offset] | buf[POS_Y_H + offset] << SHORT_HIGH_BYTE_SHIFT);
+ break;
+ }
+ }
+ }
+ }
+
+ /*Release slot with non-occupied point*/
+ for (i = 0; i < MAX_TOUCH_NUM; i++) {
+ if (!gst_slot_status[i].need_update) {
+ input_mt_slot(data->input_dev, i);
+ input_mt_report_slot_state(data->input_dev, MT_TOOL_FINGER, false);
+ gst_slot_status[i].occupied_pt_id = 0xFF;
+ gst_slot_status[i].pt_report_offset = 0;
+ gst_slot_status[i].need_update = 0;
+ }
+ }
+ /*Assign new one to non-occupied slot*/
+ for (i = MAX_TOUCH_NUM; i < (MAX_TOUCH_NUM * 2); i++) {
+ if (gst_slot_status[i].need_update) {
+ for (j = 0; j < MAX_TOUCH_NUM; j++) {
+ if (!gst_slot_status[j].need_update) {
+ gst_slot_status[j] = gst_slot_status[i];
+ gst_slot_status[i] = gst_slot_init_status;
+ break;
+ }
+ }
+ } else {
+ break;
+ }
+ }
+
+ for (i = 0; i < MAX_TOUCH_NUM; i++) {
+ if (gst_slot_status[i].need_update) {
+ offset = gst_slot_status[i].pt_report_offset * LENGTH_PT;
+ s16_x = buf[POS_X_L + offset] | buf[POS_X_H + offset] << SHORT_HIGH_BYTE_SHIFT;
+ s16_y = buf[POS_Y_L + offset] | buf[POS_Y_H + offset] << SHORT_HIGH_BYTE_SHIFT;
+ s16_pressure = buf[POS_PRESSURE_L + offset] | buf[POS_PRESSURE_H + offset] << SHORT_HIGH_BYTE_SHIFT;
+ s16_wx = buf[POS_WX_L + offset] | buf[POS_WX_H + offset] << SHORT_HIGH_BYTE_SHIFT;
+ s16_wy = buf[POS_WY_L + offset] | buf[POS_WY_H + offset] << SHORT_HIGH_BYTE_SHIFT;
+
+ input_mt_slot(data->input_dev, i);
+ input_mt_report_slot_state(data->input_dev, MT_TOOL_FINGER, true);
+
+ input_report_abs(data->input_dev, ABS_MT_POSITION_X, s16_x);
+ input_report_abs(data->input_dev, ABS_MT_POSITION_Y, s16_y);
+ input_report_abs(data->input_dev, ABS_MT_PRESSURE, s16_pressure);
+ input_report_abs(data->input_dev, ABS_MT_TOUCH_MAJOR, max(s16_wx, s16_wy));
+ input_report_abs(data->input_dev, ABS_MT_TOUCH_MINOR, min(s16_wx, s16_wy));
+ /*printk(KERN_INFO "[touch]x:%d, y:%d\n", s16_x,s16_y);*/
+ }
+ }
+
+ input_mt_sync_frame(data->input_dev);
+ input_sync(data->input_dev);
+
+ /*
+ printk("Raydium Slot status #: %d %d ; %d %d ; %d %d ; %d %d\n",
+ gst_slot_status[0].need_update, gst_slot_status[0].occupied_pt_id,
+ gst_slot_status[1].need_update, gst_slot_status[1].occupied_pt_id,
+ gst_slot_status[2].need_update, gst_slot_status[2].occupied_pt_id,
+ gst_slot_status[3].need_update, gst_slot_status[3].occupied_pt_id);
+ */
+#ifdef GESTURE_EN
+ }
+#endif
+
+ return 0;
+}
+
+static void raydium_work_handler(struct work_struct *work)
+{
+ struct raydium_ts_data *raydium_ts = \
+ container_of(work, struct raydium_ts_data, work);
+ int ret = 0;
+
+#ifdef GESTURE_EN
+ unsigned int palm_status = 0;
+ int i = 0;
+
+ if (raydium_ts->blank == FB_BLANK_UNBLANK) { /*when display on can use palm to suspend*/
+ if (u8_i2c_mode == PDA2_MODE) {
+ palm_status = raydium_get_palm_state(raydium_ts, g_uc_pre_palm_status);
+ }
+ if (palm_status == RAYDIUM_PALM_MODE_ENABLE) {
+ if (raydium_ts->is_palm == 0) {
+ /* release all touches*/
+ for (i = 0; i < raydium_ts->pdata->num_max_touches; i++) {
+ input_mt_slot(raydium_ts->input_dev, i);
+ input_mt_report_slot_state(raydium_ts->input_dev, MT_TOOL_FINGER, false);
+ }
+
+ input_mt_report_pointer_emulation(raydium_ts->input_dev, false);
+ input_report_key(raydium_ts->input_dev, KEY_SLEEP, true); /*press sleep key*/
+ input_sync(raydium_ts->input_dev);
+
+ printk(KERN_INFO "[touch]palm_status = %d.\n", palm_status);
+ g_uc_pre_palm_status = RAYDIUM_PALM_MODE_ENABLE;
+ raydium_ts->is_palm = 1;
+ goto exit;
+ }
+ } else if ((palm_status == RAYDIUM_PALM_MODE_DISABLE) && (g_uc_pre_palm_status == RAYDIUM_PALM_MODE_ENABLE)) {
+ printk(KERN_INFO "[touch]leave palm mode.\n");
+ input_report_key(raydium_ts->input_dev, KEY_SLEEP, false); /*release sleep key*/
+ input_sync(raydium_ts->input_dev);
+ g_uc_pre_palm_status = RAYDIUM_PALM_MODE_DISABLE;
+ raydium_ts->is_palm = 0;
+ goto exit;
+ }
+ }
+#endif
+
+ if (u8_i2c_mode == PDA2_MODE) {
+ ret = raydium_read_touchdata(raydium_ts);
+ if (ret < 0) {
+ printk(KERN_ERR "[touch]raydium_read_touchdata error, ret:%d\n", ret);
+ }
+ }
+
+#ifdef GESTURE_EN
+exit:
+#endif
+ return;
+}
+
+/*The raydium device will signal the host about TRIGGER_FALLING.
+ *Processed when the interrupt is asserted.
+ */
+static irqreturn_t raydium_ts_interrupt(int irq, void *dev_id)
+{
+ struct raydium_ts_data *raydium_ts = dev_id;
+ bool result = false;
+
+ if (g_uc_raydium_selftest_flag == 1) {
+ disable_irq_nosync(raydium_ts->irq);
+ raydium_ts->irq_enabled = false;
+ printk(KERN_INFO "[touch]g_uc_raydium_selftest_flag = 1\n");
+ g_uc_raydium_int_flag = 1;
+ }
+ /*For bootloader wrt/erase flash and software reset interrupt*/
+ else if ((g_uc_raydium_flag & RAYDIUM_BOOTLOADER_FLAG) != 0) {
+ disable_irq_nosync(raydium_ts->irq);
+ raydium_ts->irq_enabled = false;
+ printk(KERN_INFO "[touch]g_uc_raydium_flag = %d\n", g_uc_raydium_flag);
+ g_uc_raydium_flag = RAYDIUM_INTERRUPT_FLAG;
+ } else {
+ if (!work_pending(&raydium_ts->work)) {
+ result = queue_work(raydium_ts->workqueue, &raydium_ts->work);
+ if (result == false) { /*queue_work fail*/
+ printk(KERN_ERR "[touch]queue_work fail.\n");
+ }
+ } else { /*work pending*/
+ /* Clear interrupts*/
+ mutex_lock(&raydium_ts->lock);
+ if (raydium_i2c_pda2_set_page(raydium_ts->client, RAYDIUM_PDA2_PAGE_0) < 0) {
+ disable_irq_nosync(raydium_ts->irq);
+ raydium_ts->irq_enabled = false;
+ dev_err(&raydium_ts->client->dev, "[touch]%s: failed to set page in work_pending\n", __func__);
+ }
+ mutex_unlock(&raydium_ts->lock);
+ printk(KERN_INFO "[touch]work_pending\n");
+ }
+ }
+
+ return IRQ_HANDLED;
+}
+
+static int raydium_check_i2c_ready(struct raydium_ts_data *raydium_ts)
+{
+ unsigned char temp_buf[4];
+ int ret = -1;
+
+ mutex_lock(&raydium_ts->lock);
+
+ if (u8_i2c_mode == PDA2_MODE) {
+ ret = raydium_i2c_pda2_set_page(raydium_ts->client, RAYDIUM_PDA2_PAGE_0);
+ if (ret < 0) {
+ goto exit_error;
+ }
+
+ *(unsigned long *)temp_buf = (RAYDIUM_I2C_PDA_MODE_ENABLE << 24) | ((RAYDIUM_CHECK_I2C_CMD & (~MASK_8BIT)) >> 8); /*using byte mode to read 4 bytes*/
+ ret = raydium_i2c_pda2_write(raydium_ts->client, RAYDIUM_PDA2_PDA_CFG_ADDR, temp_buf, 4);
+ if (ret < 0) {
+ goto exit_error;
+ }
+
+ ret = raydium_i2c_pda2_set_page(raydium_ts->client, RAYDIUM_PDA2_ENABLE_PDA);
+ if (ret < 0) {
+ goto exit_error;
+ }
+
+ ret = raydium_i2c_pda2_read(raydium_ts->client, (unsigned char)(RAYDIUM_CHECK_I2C_CMD & MASK_8BIT), temp_buf, 4);
+ if (ret < 0) {
+ goto exit_error;
+ }
+ } else {
+ ret = raydium_i2c_pda_read(raydium_ts->client, RAYDIUM_CHECK_I2C_CMD, temp_buf, 4);
+ if (ret < 0) {
+ goto exit_error;
+ }
+ }
+
+ printk(KERN_ERR "[touch]Raydium Touch check I2C:0x%02X%02X\n", temp_buf[3], temp_buf[2]);
+
+exit_error:
+ mutex_unlock(&raydium_ts->lock);
+ return ret;
+}
+
+static int raydium_fw_update_check(struct raydium_ts_data *raydium_ts)
+{
+
+ unsigned char rbuffer[4];
+ unsigned int fw_version, image_version;
+ int ret = -1;
+
+ mutex_lock(&raydium_ts->lock);
+ ret = raydium_i2c_pda2_set_page(raydium_ts->client, RAYDIUM_PDA2_PAGE_0);
+ if (ret < 0) {
+ goto exit_error;
+ }
+ ret = raydium_i2c_pda2_read(raydium_ts->client, RAYDIUM_PDA2_FW_VERSION_ADDR, rbuffer, 4);
+ if (ret < 0) {
+ goto exit_error;
+ }
+ mutex_unlock(&raydium_ts->lock);
+
+ fw_version = (rbuffer[0] << 24) | (rbuffer[1] << 16) | (rbuffer[2] << 8) | rbuffer[3];
+ printk(KERN_ERR "[touch]Raydium IC FW version is 0x%x\n", fw_version);
+
+ raydium_ts->fw_version = fw_version;
+
+ image_version = (RadFWImage[0xF21] << 24) | (RadFWImage[0xF22] << 16) | (RadFWImage[0xF23] << 8) | RadFWImage[0xF24];
+ printk(KERN_ERR "[touch]Raydium Image FW version is 0x%x\n", image_version);
+
+ if (fw_version != image_version) {
+ printk(KERN_ERR "[touch]FW need update.\n");
+ raydium_irq_control(raydium_ts, DISABLE);
+ ret = raydium_burn_fw(raydium_ts->client);
+ if (ret < 0) {
+ printk(KERN_ERR "[touch]FW update fail:%d\n", ret);
+ }
+ raydium_irq_control(raydium_ts, ENABLE);
+ mutex_lock(&raydium_ts->lock);
+ ret = raydium_i2c_pda2_set_page(raydium_ts->client, RAYDIUM_PDA2_PAGE_0);
+ if (ret < 0) {
+ goto exit_error;
+ }
+ ret = raydium_i2c_pda2_read(raydium_ts->client, RAYDIUM_PDA2_FW_VERSION_ADDR, rbuffer, 4);
+ if (ret < 0) {
+ goto exit_error;
+ }
+ mutex_unlock(&raydium_ts->lock);
+ fw_version = (rbuffer[0] << 24) | (rbuffer[1] << 16) | (rbuffer[2] << 8) | rbuffer[3];
+ printk(KERN_ERR "[touch]Raydium IC FW version is 0x%x\n", fw_version);
+ raydium_ts->fw_version = fw_version;
+ } else {
+ printk(KERN_ERR "[touch]FW is the latest version.\n");
+ }
+
+ return ret;
+
+exit_error:
+ mutex_unlock(&raydium_ts->lock);
+ return ret;
+}
+
+#if defined(CONFIG_PM)
+static void raydium_ts_do_suspend(struct raydium_ts_data *ts)
+{
+ int i = 0;
+ g_u8_unlockflag = false;
+ if (ts->is_suspend == 1) {
+ printk(KERN_INFO "[touch]Already in suspend state\n");
+ return;
+ }
+
+ raydium_irq_control(ts, DISABLE);
+
+ /*clear workqueue*/
+ if (cancel_work_sync(&ts->work)) {
+ printk(KERN_INFO "[touch]workqueue is not empty!\n");
+ }
+
+ /* release all touches */
+ for (i = 0; i < ts->pdata->num_max_touches; i++) {
+ input_mt_slot(ts->input_dev, i);
+ input_mt_report_slot_state(ts->input_dev, MT_TOOL_FINGER, false);
+ }
+ input_mt_report_pointer_emulation(ts->input_dev, false);
+ input_sync(ts->input_dev);
+
+#ifdef GESTURE_EN
+ if (device_may_wakeup(&ts->client->dev)) {
+ printk(KERN_INFO "[touch]Device may wakeup\n");
+ if (!enable_irq_wake(ts->irq)) {
+ ts->irq_wake = 1;
+ }
+ } else {
+ printk(KERN_INFO "[touch]Device not wakeup\n");
+ }
+ raydium_irq_control(ts, ENABLE);
+#endif
+
+ ts->is_suspend = 1;
+}
+static void raydium_ts_do_resume(struct raydium_ts_data *ts)
+{
+ g_u8_unlockflag = false;
+ if (ts->is_suspend == 0) {
+ printk(KERN_INFO "[touch]Already in resume state\n");
+ return;
+ }
+
+ /*clear workqueue*/
+ if (cancel_work_sync(&ts->work)) {
+ printk(KERN_INFO "[touch]workqueue is not empty!\n");
+ }
+ if (ts->is_close != 1) {
+ printk(KERN_INFO "[touch]Already in open state\n");
+ raydium_irq_control(ts, ENABLE);
+ }
+
+#ifdef GESTURE_EN
+ if (device_may_wakeup(&ts->client->dev)) {
+ printk(KERN_INFO "[touch]Device may wakeup\n");
+ if (ts->irq_wake) {
+ disable_irq_wake(ts->irq);
+ ts->irq_wake = 0;
+ }
+ } else {
+ printk(KERN_INFO "[touch]Device not wakeup\n");
+ }
+#endif
+
+ ts->is_suspend = 0;
+}
+
+static int raydium_ts_suspend(struct device *dev)
+{
+ struct raydium_ts_data *ts = dev_get_drvdata(dev);
+ raydium_ts_do_suspend(ts);
+ return 0;
+}
+
+static int raydium_ts_resume(struct device *dev)
+{
+ struct raydium_ts_data *ts = dev_get_drvdata(dev);
+ raydium_ts_do_resume(ts);
+ return 0;
+}
+
+static const struct dev_pm_ops raydium_ts_pm_ops = {
+#if (!defined(CONFIG_FB) && !defined(CONFIG_HAS_EARLYSUSPEND))
+ .suspend = raydium_ts_suspend,
+ .resume = raydium_ts_resume,
+#endif /*end of CONFIG_PM*/
+};
+
+/*used for touch lock feature*/
+static int raydium_ts_open(struct input_dev *input_dev)
+{
+ struct raydium_ts_data *ts;
+ int ret = 0;
+
+ printk(KERN_INFO"[touch]%s()+\n", __func__);
+ ts = input_get_drvdata(input_dev);
+
+ printk(KERN_INFO "[touch]ts->blank:%x\n", ts->blank);
+
+ ts->is_close = 0;
+ if (ts->is_sleep == 1) {
+ /*turn on i2c pull-up power*/
+ ret = raydium_power_on(ts, true);
+ if (ret) {
+ dev_err(&ts->client->dev, "[touch]%s:power on failed", __func__);
+ }
+ udelay(RAYDIUM_POWERON_DELAY_USEC);/*500us*/
+
+ mutex_lock(&ts->lock);
+ if (gpio_is_valid(ts->rst)) {
+ ret = gpio_request(ts->rst, "raydium_reset_gpio");
+ if (ret < 0) {
+ dev_err(&ts->client->dev, "[touch]reset gpio request failed");
+ }
+ gpio_direction_output(ts->rst, 1);
+ gpio_direction_output(ts->rst, 0);
+ msleep(RAYDIUM_RESET_INTERVAL_MSEC);/*5ms*/
+ gpio_direction_output(ts->rst, 1);
+ msleep(RAYDIUM_RESET_DELAY_MSEC);/*100ms*/
+ u8_i2c_mode = PDA2_MODE;
+ gpio_free(ts->rst);
+ g_u8_unlockflag = true;
+ }
+ mutex_unlock(&ts->lock);
+ raydium_irq_control(ts, ENABLE);
+ ts->is_sleep = 0;
+ printk(KERN_INFO "[touch]disable touch lock.\n");
+ }
+
+ return ret;
+}
+
+static void raydium_ts_close(struct input_dev *input_dev)
+{
+ struct raydium_ts_data *ts;
+ int ret = 0;
+ int i = 0;
+ unsigned char wbuffer[1];
+ unsigned char buf[4];
+
+ printk(KERN_INFO "[touch]%s()+\n", __func__);
+ ts = input_get_drvdata(input_dev);
+
+ if (ts->is_sleep == 1) {
+ printk(KERN_INFO "[touch]touch lock already enabled.\n");
+ return;
+ }
+
+ ts->is_close = 1;
+ raydium_irq_control(ts, DISABLE);
+
+ /* release all touches */
+ for (i = 0; i < ts->pdata->num_max_touches; i++) {
+ input_mt_slot(ts->input_dev, i);
+ input_mt_report_slot_state(ts->input_dev, MT_TOOL_FINGER, false);
+ }
+ input_mt_report_pointer_emulation(ts->input_dev, false);
+ input_sync(ts->input_dev);
+
+ mutex_lock(&ts->lock);
+ ret = raydium_i2c_pda2_set_page(ts->client, RAYDIUM_PDA2_PAGE_0);
+ if (ret < 0) {
+ printk(KERN_ERR "[touch]ret:%d\n", ret);
+ goto exit_i2c_error;
+ }
+
+ wbuffer[0] = RAYDIUM_HOST_CMD_PWR_SLEEP;/*fw enter sleep mode*/
+ ret = raydium_i2c_pda2_write(ts->client, RAYDIUM_PDA2_HOST_CMD_ADDR, wbuffer, 1);
+ if (ret < 0) {
+ printk(KERN_ERR "[touch]ret:%d\n", ret);
+ goto exit_i2c_error;
+ }
+
+ mdelay(750);
+ memset(buf, 0, sizeof(buf));
+ ret = raydium_i2c_pda_write(ts->client, 0x5000000C, buf, 4);
+ if (ret < 0) {
+ printk(KERN_ERR "[touch]Disable M0 NG ret:%d\n", ret);
+ goto exit_i2c_error;
+ }
+
+ /*turn off i2c pull-up power*/
+ ret = raydium_power_on(ts, false);
+ if (ret) {
+ dev_err(&ts->client->dev, "[touch]%s:power off failed", __func__);
+ }
+ mutex_unlock(&ts->lock);
+
+ ts->is_sleep = 1;
+ printk(KERN_INFO "[touch]enable touch lock.\n");
+ return;
+
+exit_i2c_error:
+ mutex_unlock(&ts->lock);
+ ts->is_close = 0;
+ raydium_irq_control(ts, ENABLE);
+ return;
+}
+
+#else
+static int raydium_ts_suspend(struct device *dev)
+{
+ return 0;
+}
+
+static int raydium_ts_resume(struct device *dev)
+{
+ return 0;
+}
+#endif /*end of CONFIG_FB*/
+
+#if defined(CONFIG_FB)
+static int fb_notifier_callback(struct notifier_block *self, unsigned long event, void *data)
+{
+ struct fb_event *evdata = data;
+ int *blank;
+
+ struct raydium_ts_data *raydium_ts =
+ container_of(self, struct raydium_ts_data, fb_notif);
+
+ if (evdata && evdata->data && event == FB_EVENT_BLANK &&
+ raydium_ts && raydium_ts->client) {
+ blank = evdata->data;
+ raydium_ts->blank = (*blank);
+
+ switch (*blank) {
+ case FB_BLANK_UNBLANK: /*screen on*/
+ printk(KERN_INFO "[touch]FB_BLANK_UNBLANK\n");
+#ifdef GESTURE_EN
+ /* clear palm status */
+ g_uc_pre_palm_status = 0;
+ raydium_ts->is_palm = 0;
+#endif
+ raydium_ts_resume(&raydium_ts->client->dev);
+ break;
+
+ case FB_BLANK_POWERDOWN:/*screen off*/
+ printk(KERN_INFO "[touch]FB_BLANK_POWERDOWN\n");
+#ifdef GESTURE_EN
+ /* clear palm status */
+ g_uc_pre_palm_status = 0;
+ raydium_ts->is_palm = 0;
+#endif
+ raydium_ts_suspend(&raydium_ts->client->dev);
+ break;
+
+ case FB_BLANK_VSYNC_SUSPEND:/*ambient mode*/
+ printk(KERN_INFO "[touch]FB_BLANK_VSYNC_SUSPEND\n");
+#ifdef GESTURE_EN
+ /* clear palm status */
+ g_uc_pre_palm_status = 0;
+ raydium_ts->is_palm = 0;
+#endif
+ raydium_ts_suspend(&raydium_ts->client->dev);
+ break;
+
+ default:
+ break;
+ }
+ }
+
+ return 0;
+}
+
+static void raydium_register_notifier(struct raydium_ts_data *raydium_ts)
+{
+ memset(&raydium_ts->fb_notif, 0, sizeof(raydium_ts->fb_notif));
+ raydium_ts->fb_notif.notifier_call = fb_notifier_callback;
+
+ /* register on the fb notifier and work with fb*/
+ fb_register_client(&raydium_ts->fb_notif);
+}
+
+static void raydium_unregister_notifier(struct raydium_ts_data *raydium_ts)
+{
+ fb_unregister_client(&raydium_ts->fb_notif);
+}
+#elif defined(CONFIG_HAS_EARLYSUSPEND)
+static void raydium_ts_early_suspend(struct early_suspend *handler)
+{
+ struct raydium_ts_data *raydium_ts = container_of(handler,
+ struct raydium_ts_data,
+ early_suspend);
+
+ raydium_ts_do_suspend(raydium_ts);
+}
+
+static void raydium_ts_late_resume(struct early_suspend *handler)
+{
+ struct raydium_ts_data *raydium_ts = container_of(handler,
+ struct raydium_ts_data,
+ early_suspend);
+
+ raydium_ts_do_resume(raydium_ts);
+}
+#endif /*end of CONFIG_FB*/
+
+#ifdef CONFIG_OF
+static int raydium_get_dt_coords(struct device *dev, char *name,
+ struct raydium_ts_platform_data *pdata)
+{
+ u32 coords[COORDS_ARR_SIZE];
+ struct property *prop;
+ struct device_node *np = dev->of_node;
+ int coords_size, rc;
+
+ prop = of_find_property(np, name, NULL);
+ if (!prop) {
+ return -EINVAL;
+ }
+ if (!prop->value) {
+ return -ENODATA;
+ }
+
+ coords_size = prop->length / sizeof(u32);
+ if (coords_size != COORDS_ARR_SIZE) {
+ dev_err(dev, "[touch]invalid %s\n", name);
+ return -EINVAL;
+ }
+
+ rc = of_property_read_u32_array(np, name, coords, coords_size);
+ if (rc && (rc != -EINVAL)) {
+ dev_err(dev, "[touch]unable to read %s\n", name);
+ return rc;
+ }
+
+ if (!strcmp(name, "raydium,display-coords")) {
+ pdata->x_min = coords[0];
+ pdata->y_min = coords[1];
+ pdata->x_max = coords[2];
+ pdata->y_max = coords[3];
+ } else {
+ dev_err(dev, "[touch]unsupported property %s\n", name);
+ return -EINVAL;
+ }
+
+ return 0;
+}
+
+static int raydium_parse_dt(struct device *dev, struct raydium_ts_platform_data *pdata)
+{
+ struct device_node *np = dev->of_node;
+ int rc = 0;
+ u32 temp_val = 0;
+
+ pdata->name = RAYDIUM_NAME;
+
+ rc = raydium_get_dt_coords(dev, "raydium,display-coords", pdata);
+ if (rc) {
+ return rc;
+ }
+
+ /* reset, irq gpio info */
+ pdata->reset_gpio = of_get_named_gpio_flags(np, "raydium,reset-gpio", 0, &pdata->reset_gpio_flags);
+ if (pdata->reset_gpio < 0) {
+ return pdata->reset_gpio;
+ }
+
+ pdata->irq_gpio = of_get_named_gpio_flags(np, "raydium,irq-gpio", 0, &pdata->irq_gpio_flags);
+ if (pdata->irq_gpio < 0) {
+ return pdata->irq_gpio;
+ }
+
+ rc = of_property_read_u32(np, "raydium,hard-reset-delay-ms", &temp_val);
+ if (!rc) {
+ pdata->hard_rst_dly = temp_val;
+ } else {
+ return rc;
+ }
+
+ rc = of_property_read_u32(np, "raydium,soft-reset-delay-ms", &temp_val);
+ if (!rc) {
+ pdata->soft_rst_dly = temp_val;
+ } else {
+ return rc;
+ }
+
+ rc = of_property_read_u32(np, "raydium,num-max-touches", &temp_val);
+ if (!rc) {
+ pdata->num_max_touches = temp_val;
+ } else {
+ return rc;
+ }
+
+ return 0;
+}
+#else
+static int raydium_parse_dt(struct device *dev, struct raydium_ts_platform_data *pdata)
+{
+ return -ENODEV;
+}
+#endif /*end of CONFIG_OF*/
+
+static void raydium_input_set(struct input_dev *input_dev, struct raydium_ts_data *ts)
+{
+ int ret = 0;
+ unsigned char i;
+ input_dev->name = "raydium_ts";/*name need same with .idc*/
+ input_dev->id.bustype = BUS_I2C;
+ input_dev->dev.parent = &ts->client->dev;
+ input_dev->open = raydium_ts_open;/*touch lock*/
+ input_dev->close = raydium_ts_close;
+ input_set_drvdata(input_dev, ts);
+
+ __set_bit(EV_KEY, input_dev->evbit);
+ __set_bit(EV_ABS, input_dev->evbit);
+ __set_bit(BTN_TOUCH, input_dev->keybit);
+ __set_bit(INPUT_PROP_DIRECT, input_dev->propbit);
+
+ /* Multitouch input params setup */
+ input_set_abs_params(input_dev, ABS_MT_POSITION_X, 0, ts->x_max, 0, 0);
+ input_set_abs_params(input_dev, ABS_MT_POSITION_Y, 0, ts->y_max, 0, 0);
+ input_set_abs_params(input_dev, ABS_MT_PRESSURE, 0, PRESS_MAX, 0, 0);
+ input_set_abs_params(input_dev, ABS_MT_TOUCH_MAJOR, 0, WIDTH_MAX, 0, 0);
+ input_set_abs_params(input_dev, ABS_MT_TOUCH_MINOR, 0, WIDTH_MAX, 0, 0);
+
+ ret = input_mt_init_slots(input_dev, MAX_TOUCH_NUM,
+ INPUT_MT_DIRECT | INPUT_MT_DROP_UNUSED);
+ if (ret) {
+ dev_err(&ts->client->dev, "[touch]failed to initialize MT slots: %d\n", ret);
+ }
+
+ for (i = 0; i < (MAX_TOUCH_NUM * 2); i++) {
+ gst_slot_status[i] = gst_slot_init_status;
+ }
+
+}
+
+static int raydium_ts_probe(struct i2c_client *client,
+ const struct i2c_device_id *id)
+{
+ struct raydium_ts_platform_data *pdata;
+ struct raydium_ts_data *raydium_ts;
+ struct input_dev *input_dev;
+ int ret = 0;
+
+ if (client->dev.of_node) {
+ pdata = devm_kzalloc(&client->dev, sizeof(struct raydium_ts_platform_data), GFP_KERNEL);
+ if (!pdata) {
+ dev_err(&client->dev, "[touch]failed to allocate memory\n");
+ return -ENOMEM;
+ }
+
+ ret = raydium_parse_dt(&client->dev, pdata);
+ if (ret) {
+ dev_err(&client->dev, "[touch]device tree parsing failed\n");
+ goto parse_dt_failed;
+ }
+ } else {
+ pdata = client->dev.platform_data;
+ }
+
+ if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
+ ret = -ENODEV;
+ goto exit_check_functionality_failed;
+ }
+
+ raydium_ts = devm_kzalloc(&client->dev, sizeof(struct raydium_ts_data), GFP_KERNEL);
+ if (!raydium_ts) {
+ dev_err(&client->dev, "[touch]failed to allocate input driver data\n");
+ return -ENOMEM;
+ }
+ raydium_variable_init();
+
+ mutex_init(&raydium_ts->lock);
+
+ i2c_set_clientdata(client, raydium_ts);
+ raydium_ts->irq = client->irq;
+ raydium_ts->irq_enabled = true;
+ raydium_ts->irq_wake = false;
+
+ /*raydium_ts->irq = pdata->irq_gpio;*/
+ raydium_ts->rst = pdata->reset_gpio;
+ raydium_ts->client = client;
+ raydium_ts->pdata = pdata;
+ raydium_ts->x_max = pdata->x_max - 1;
+ raydium_ts->y_max = pdata->y_max - 1;
+ raydium_ts->is_suspend = 0;
+ raydium_ts->is_sleep = 0;
+ raydium_ts->is_close = 0;
+#ifdef GESTURE_EN
+ raydium_ts->is_palm = 0;
+#endif
+ raydium_ts->fw_version = 0;
+
+ device_init_wakeup(&client->dev, 1);
+
+ ret = raydium_power_init(raydium_ts, true);
+ if (ret) {
+ dev_err(&client->dev, "[touch]raydium_power_init failed\n");
+ goto exit_regulator_failed;
+ }
+
+ ret = raydium_power_on(raydium_ts, true);
+ if (ret) {
+ dev_err(&client->dev, "[touch]raydium_power_on failed\n");
+ goto pwr_deinit;
+ }
+
+#ifdef MSM_NEW_VER
+ ret = raydium_ts_pinctrl_init(raydium_ts);
+ if (!ret && raydium_ts->ts_pinctrl) {
+ /*
+ * Pinctrl handle is optional. If pinctrl handle is found
+ * let pins to be configured in active state. If not
+ * found continue further without error.
+ */
+ ret = pinctrl_select_state(raydium_ts->ts_pinctrl,
+ raydium_ts->pinctrl_state_active);
+ if (ret < 0) {
+ dev_err(&client->dev, "[touch]failed to select pin to active state\n");
+ }
+ }
+#endif /*end of MSM_NEW_VER*/
+
+ ret = raydium_gpio_configure(raydium_ts, true);
+ if (ret < 0) {
+ dev_err(&client->dev, "[touch]failed to configure the gpios\n");
+ goto err_gpio_req;
+ }
+
+ msleep(raydium_ts->pdata->soft_rst_dly);/*modify dtsi to 360*/
+
+ /*print touch i2c ready*/
+ ret = raydium_check_i2c_ready(raydium_ts);
+ if (ret < 0) {
+ dev_err(&client->dev, "[touch]Check I2C failed\n");
+ ret = -ENODEV;
+ goto exit_check_i2c;
+ }
+
+ /*input device initialization*/
+ input_dev = input_allocate_device();
+ if (!input_dev) {
+ ret = -ENOMEM;
+ dev_err(&client->dev, "[touch]failed to allocate input device\n");
+ goto exit_input_dev_alloc_failed;
+ }
+
+ raydium_ts->input_dev = input_dev;
+ raydium_input_set(input_dev, raydium_ts);
+
+ ret = input_register_device(input_dev);
+ if (ret) {
+ dev_err(&client->dev,
+ "[touch]raydium_ts_probe: failed to register input device: %s\n",
+ dev_name(&client->dev));
+ goto exit_input_register_device_failed;
+ }
+
+#ifdef GESTURE_EN
+ input_set_capability(input_dev, EV_KEY, KEY_SLEEP);
+#endif
+
+ /*suspend/resume routine*/
+#if defined(CONFIG_FB)
+ raydium_register_notifier(raydium_ts);
+#elif defined(CONFIG_HAS_EARLYSUSPEND)
+ raydium_ts->early_suspend.level = EARLY_SUSPEND_LEVEL_BLANK_SCREEN + 1; /*1: Early-suspend level*/
+ raydium_ts->early_suspend.suspend = raydium_ts_early_suspend;
+ raydium_ts->early_suspend.resume = raydium_ts_late_resume;
+ register_early_suspend(&raydium_ts->early_suspend);
+#endif/*end of CONFIG_FB*/
+
+#ifdef CONFIG_RM_SYSFS_DEBUG
+ raydium_create_sysfs(client);
+#endif/*end of CONFIG_RM_SYSFS_DEBUG*/
+
+ INIT_WORK(&raydium_ts->work, raydium_work_handler);
+ raydium_ts->workqueue = create_singlethread_workqueue("raydium_ts");
+
+ dev_err(&client->dev, "[touch]pdata irq : %d \n", raydium_ts->pdata->irq_gpio);/*13*/
+ dev_err(&client->dev, "[touch]client irq : %d, pdata flags : %d \n", client->irq, pdata->irqflags);/*108*/
+
+ ret = request_threaded_irq(gpio_to_irq(raydium_ts->pdata->irq_gpio), NULL, raydium_ts_interrupt,
+ pdata->irqflags | IRQF_TRIGGER_FALLING | IRQF_ONESHOT | IRQF_NO_SUSPEND, client->dev.driver->name,
+ raydium_ts);
+ if (ret < 0) {
+ dev_err(&client->dev, "[touch]raydium_probe: request irq failed\n");
+ goto exit_irq_request_failed;
+ }
+
+
+ raydium_ts->irq_desc = irq_to_desc(client->irq);
+
+ /*disable_irq then enable_irq for avoid Unbalanced enable for IRQ warning*/
+ raydium_irq_control(raydium_ts, DISABLE);
+ raydium_irq_control(raydium_ts, ENABLE);
+
+ printk(KERN_ERR "[touch]Raydium Touch driver version :0x%04X\n", RAYDIUM_VER);
+
+ /*fw update check*/
+ ret = raydium_fw_update_check(raydium_ts);
+ if (ret < 0) {
+ dev_err(&client->dev, "[touch]FW update check failed\n");
+ ret = -ENODEV;
+ goto exit_irq_request_failed;
+ }
+ return 0;
+
+exit_irq_request_failed:
+#if defined(CONFIG_FB)
+ raydium_unregister_notifier(raydium_ts);
+#endif/*end of CONFIG_FB*/
+
+ cancel_work_sync(&raydium_ts->work);
+ input_unregister_device(input_dev);
+
+exit_input_register_device_failed:
+ input_free_device(input_dev);
+
+exit_input_dev_alloc_failed:
+exit_check_i2c:
+ if (gpio_is_valid(pdata->reset_gpio)) {
+ gpio_free(pdata->reset_gpio);
+ }
+ if (gpio_is_valid(pdata->irq_gpio)) {
+ gpio_free(pdata->irq_gpio);
+ }
+err_gpio_req:
+#ifdef MSM_NEW_VER
+ if (raydium_ts->ts_pinctrl) {
+ if (IS_ERR_OR_NULL(raydium_ts->pinctrl_state_release)) {
+ devm_pinctrl_put(raydium_ts->ts_pinctrl);
+ raydium_ts->ts_pinctrl = NULL;
+ } else {
+ ret = pinctrl_select_state(raydium_ts->ts_pinctrl,
+ raydium_ts->pinctrl_state_release);
+ if (ret) {
+ pr_err("[touch]failed to select relase pinctrl state\n");
+ }
+ }
+ }
+#endif/*end of MSM_NEW_VER*/
+ raydium_power_on(raydium_ts, false);
+
+pwr_deinit:
+ raydium_power_init(raydium_ts, false);
+
+exit_regulator_failed:
+ i2c_set_clientdata(client, NULL);
+
+parse_dt_failed:
+exit_check_functionality_failed:
+ return ret;
+
+}
+
+static int raydium_ts_remove(struct i2c_client *client)
+{
+ struct raydium_ts_data *raydium_ts;
+ raydium_ts = i2c_get_clientdata(client);
+
+#if defined(CONFIG_FB)
+ raydium_unregister_notifier(raydium_ts);
+#elif defined(CONFIG_HAS_EARLYSUSPEND)
+ unregister_early_suspend(&raydium_ts->early_suspend);
+#endif/*end of CONFIG_FB*/
+ input_unregister_device(raydium_ts->input_dev);
+ input_free_device(raydium_ts->input_dev);
+ gpio_free(raydium_ts->rst);
+
+#ifdef CONFIG_RM_SYSFS_DEBUG
+ raydium_release_sysfs(client);
+#endif /*end of CONFIG_RM_SYSFS_DEBUG*/
+
+ free_irq(client->irq, raydium_ts);
+
+ if (gpio_is_valid(raydium_ts->pdata->reset_gpio)) {
+ gpio_free(raydium_ts->pdata->reset_gpio);
+ }
+ if (gpio_is_valid(raydium_ts->pdata->irq_gpio)) {
+ gpio_free(raydium_ts->pdata->irq_gpio);
+ }
+ raydium_power_on(raydium_ts, false);
+ raydium_power_init(raydium_ts, false);
+
+ kfree(raydium_ts);
+
+ i2c_set_clientdata(client, NULL);
+ return 0;
+}
+
+static const struct i2c_device_id raydium_ts_id[] = {
+ {RAYDIUM_NAME, 0},
+ {}
+};
+
+MODULE_DEVICE_TABLE(i2c, raydium_ts_id);
+
+#ifdef CONFIG_OF
+static struct of_device_id raydium_match_table[] = {
+ { .compatible = "raydium,raydium-ts",},
+ { },
+};
+#else
+#define raydium_match_table NULL
+#endif/*end of CONFIG_OF*/
+
+static struct i2c_driver raydium_ts_driver = {
+ .probe = raydium_ts_probe,
+ .remove = raydium_ts_remove,
+ .id_table = raydium_ts_id,
+ .driver = {
+ .name = RAYDIUM_NAME,
+ .owner = THIS_MODULE,
+ .of_match_table = raydium_match_table,
+#if defined(CONFIG_PM)
+ .pm = &raydium_ts_pm_ops,
+#endif/*end of CONFIG_PM*/
+ },
+};
+
+static int __init raydium_ts_init(void)
+{
+ int ret;
+ ret = i2c_add_driver(&raydium_ts_driver);
+ return ret;
+}
+
+static void __exit raydium_ts_exit(void)
+{
+ i2c_del_driver(&raydium_ts_driver);
+}
+
+module_init(raydium_ts_init);
+module_exit(raydium_ts_exit);
+
+MODULE_AUTHOR("<Rejion>");
+MODULE_DESCRIPTION("Raydium TouchScreen driver");
+MODULE_LICENSE("GPL");
diff --git a/drivers/input/touchscreen/raydium_incell/raydium_incell.h b/drivers/input/touchscreen/raydium_incell/raydium_incell.h
new file mode 100644
index 0000000..984c669
--- /dev/null
+++ b/drivers/input/touchscreen/raydium_incell/raydium_incell.h
@@ -0,0 +1,141 @@
+#ifndef __LINUX_RAYDIUM_H
+#define __LINUX_RAYDIUM_H
+
+#define RAYDIUM_NAME "raydium_incell"
+
+#define COORDS_ARR_SIZE 4
+#define I2C_VTG_MIN_UV 1800000
+#define I2C_VTG_MAX_UV 1800000
+
+#define RAYDIUM_VER 0x0016
+
+/* IC timing control arguments */
+#define RAYDIUM_POWERON_DELAY_USEC 500
+#define RAYDIUM_RESET_INTERVAL_MSEC 5
+#define RAYDIUM_RESET_RESTORE_USEC 200
+#define RAYDIUM_RESET_DELAY_MSEC 100
+
+/* I2C bus slave address(ID) */
+#define RAYDIUM_I2C_EID (0x5A)
+#define RAYDIUM_I2C_NID (0x39)
+
+/* I2C R/W configuration literal */
+#define RAYDIUM_I2C_WRITE I2C_SMBUS_WRITE
+#define RAYDIUM_I2C_READ I2C_SMBUS_READ
+#define SYN_I2C_RETRY_TIMES 2
+#define MAX_WRITE_PACKET_SIZE 64
+#define MAX_READ_PACKET_SIZE 64
+
+/* PDA address and bit definition*/
+#define RAYDIUM_READ_FT_DATA_CMD 0x2000019C
+#define RAYDIUM_GESTURE_STATE_CMD 0x200005F4 // 1byte, disable:0x00 ; enable:0x20
+#define RAYDIUM_GESTURE_DISABLE 0x00
+#define RAYDIUM_GESTURE_ENABLE 0x20
+#define RAYDIUM_GESTURE_RESULT_CMD 0x200005F0 // 4bytes, [0]:ready ; [1]:type ; [2]:direction
+#define RAYDIUM_CHECK_I2C_CMD 0x500009BC
+#define RAYDIUM_PDA2_CTRL_CMD 0x50000628
+#define RAYDIM_ENABLE_PDA2 0x04
+
+/* PDA literal */
+#define MASK_8BIT 0xFF
+#define RAYDIUM_I2C_PDA_ADDRESS_LENGTH 4
+
+#define PDA_MODE 1
+#define PDA2_MODE 2
+
+#define RAYDIUM_I2C_PDA_MODE_DISABLE 0x00
+#define RAYDIUM_I2C_PDA_MODE_ENABLE 0x80
+#define RAYDIUM_I2C_PDA_MODE_WORD_MODE 0x40 // Using byte mode due to data might be not word-aligment
+#define RAYDIUM_I2C_PDA_2_MODE_DISABLE 0x20
+
+#define RAYDIUM_PALM_MODE_DISABLE 0x00
+#define RAYDIUM_PALM_MODE_ENABLE 0x01
+
+#define RAYDIUM_TEST_FW 0x80
+#define RAYDIUM_EXTREME_BURN 0x40
+#define RAYDIUM_BOOTLOADER 0x20
+#define RAYDIUM_FIRMWARE 0x10
+#define RAYDIUM_PARA 0x08
+#define RAYDIUM_COMP 0x04
+#define RAYDIUM_BASELINE 0x02
+#define RAYDIUM_INIT 0x01
+
+#define FAIL 0
+#define ERROR -1
+#define SUCCESS 1
+
+#define DISABLE 0
+#define ENABLE 1
+
+/* PDA2 setting */
+#define MAX_PAGE_AMOUNT 11 // Page 0 ~ Page A
+
+/* PDA2 address and setting definition*/
+#define RAYDIUM_PDA2_TCH_RPT_STATUS_ADDR 0x00 // only in Page 0
+#define RAYDIUM_PDA2_TCH_RPT_ADDR 0x01 // only in Page 0
+#define RAYDIUM_PDA2_HOST_CMD_ADDR 0x02 // only in Page 0
+#define RAYDIUM_PDA2_PALM_AREA_ADDR 0x03 // only in Page 0
+#define RAYDIUM_PDA2_GESTURE_RPT_ADDR 0x04 // only in Page 0
+#define RAYDIUM_PDA2_PALM_STATUS_ADDR 0x05 // only in Page 0
+#define RAYDIUM_PDA2_FW_VERSION_ADDR 0x06 // only in Page 0
+#define RAYDIUM_PDA2_PANEL_VERSION_ADDR 0x07 // only in Page 0
+#define RAYDIUM_PDA2_DISPLAY_MODE_ADDR 0x08 // only in Page 0
+#define RAYDIUM_PDA2_PDA_CFG_ADDR 0x09 // only in Page 0
+#define RAYDIUM_PDA2_PAGE_ADDR 0x0A // Page 0 ~ Page 9 will be directed to Page 0
+#define RAYDIUM_PDA2_PAGE_0 0x00
+#define RAYDIUM_PDA2_ENABLE_PDA 0x0A // temporary switch to PDA once
+#define RAYDIUM_PDA2_2_PDA (MAX_PAGE_AMOUNT + 2) // permanently switch to PDA mode
+
+/* Raydium host cmd */
+#define RAYDIUM_HOST_CMD_NO_OP 0x00
+#define RAYDIUM_HOST_CMD_PWR_SLEEP 0x30
+#define RAYDIUM_HOST_CMD_CALIBRATION 0x5C
+#define RAYDIUM_HOST_CMD_TP_MODE 0x60
+#define RAYDIUM_HOST_CMD_FT_MODE 0x61
+
+/* PDA2 literal */
+#define RAYDIUM_I2C_PDA2_PAGE_LENGTH 2 // entry byte + target page byte
+
+/* Touch report */
+#define MAX_TOUCH_NUM 2
+#define MAX_REPORT_PACKAGE_SIZE 35
+#define MAX_TCH_STATUS_PACKAGE_SIZE 2
+#define MAX_GESTURERESULT_SIZE 4
+#define PRESS_MAX 0xFFFF
+#define WIDTH_MAX 0xFFFF
+#define SHORT_HIGH_BYTE_SHIFT 8
+
+/* FW update literal */
+#define RAYDIUM_FW_BIN_PATH_LENGTH 256
+#define RAYDIUM_FW_MAX_SIZE 0x5600 //20480 //0x5000
+/* FT APK literal */
+#define RAYDIUM_HOST_CMD_POS 0x00
+#define RAYDIUM_FT_CMD_POS 0x01
+#define RAYDIUM_FT_CMD_LENGTH 0x02
+
+/* FT APK data type */
+#define RAYDIUM_FT_UPDATE 0x01
+
+/*Raydium system flag*/
+#define RAYDIUM_INTERRUPT_FLAG 0x01
+#define RAYDIUM_BOOTLOADER_FLAG 0x02
+
+/* define display mode */
+#define ACTIVE_MODE 0x00
+#define AMBIENT_MODE 0x01
+#define SLEEP_MODE 0x02
+
+/* Enable sysfs */
+#define CONFIG_RM_SYSFS_DEBUG
+
+/* Gesture switch */
+#define GESTURE_EN
+
+#define MSM_NEW_VER
+
+#define PINCTRL_STATE_ACTIVE "pmx_ts_active"
+#define PINCTRL_STATE_SUSPEND "pmx_ts_suspend"
+#define PINCTRL_STATE_RELEASE "pmx_ts_release"
+
+#endif /*__LINUX_RAYDIUM_H*/
+
diff --git a/drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_fw_update.c b/drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_fw_update.c
index 0ba4faa..4db9da1 100644
--- a/drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_fw_update.c
+++ b/drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_fw_update.c
@@ -1951,7 +1951,7 @@
return retval;
}
- retval = fwu_wait_for_idle(WRITE_WAIT_MS, false);
+ retval = fwu_wait_for_idle(WRITE_WAIT_MS, true);
if (retval < 0) {
dev_err(rmi4_data->pdev->dev.parent,
"%s: Failed to wait for idle status (%d blocks remaining)\n",
@@ -1961,6 +1961,8 @@
block_ptr += (transfer * fwu->block_size);
remaining -= transfer;
+ dev_dbg(rmi4_data->pdev->dev.parent, "%s: remaining %d\n",
+ __func__, remaining);
} while (remaining);
return 0;
@@ -2010,7 +2012,7 @@
return retval;
}
- retval = fwu_wait_for_idle(WRITE_WAIT_MS, false);
+ retval = fwu_wait_for_idle(WRITE_WAIT_MS, true);
if (retval < 0) {
dev_err(rmi4_data->pdev->dev.parent,
"%s: Failed to wait for idle status (block %d)\n",
@@ -2019,6 +2021,8 @@
}
block_ptr += fwu->block_size;
+ dev_dbg(rmi4_data->pdev->dev.parent, "%s: remaining %d\n",
+ __func__, block_cnt - blk);
}
return 0;
diff --git a/drivers/net/wireless/intersil/p54/p54usb.c b/drivers/net/wireless/intersil/p54/p54usb.c
index 043bd1c..4a197a3 100644
--- a/drivers/net/wireless/intersil/p54/p54usb.c
+++ b/drivers/net/wireless/intersil/p54/p54usb.c
@@ -33,6 +33,8 @@
MODULE_FIRMWARE("isl3886usb");
MODULE_FIRMWARE("isl3887usb");
+static struct usb_driver p54u_driver;
+
/*
* Note:
*
@@ -921,9 +923,9 @@
{
struct p54u_priv *priv = context;
struct usb_device *udev = priv->udev;
+ struct usb_interface *intf = priv->intf;
int err;
- complete(&priv->fw_wait_load);
if (firmware) {
priv->fw = firmware;
err = p54u_start_ops(priv);
@@ -932,26 +934,22 @@
dev_err(&udev->dev, "Firmware not found.\n");
}
+ complete(&priv->fw_wait_load);
+ /*
+ * At this point p54u_disconnect may have already freed
+ * the "priv" context. Do not use it anymore!
+ */
+ priv = NULL;
+
if (err) {
- struct device *parent = priv->udev->dev.parent;
+ dev_err(&intf->dev, "failed to initialize device (%d)\n", err);
- dev_err(&udev->dev, "failed to initialize device (%d)\n", err);
-
- if (parent)
- device_lock(parent);
-
- device_release_driver(&udev->dev);
- /*
- * At this point p54u_disconnect has already freed
- * the "priv" context. Do not use it anymore!
- */
- priv = NULL;
-
- if (parent)
- device_unlock(parent);
+ usb_lock_device(udev);
+ usb_driver_release_interface(&p54u_driver, intf);
+ usb_unlock_device(udev);
}
- usb_put_dev(udev);
+ usb_put_intf(intf);
}
static int p54u_load_firmware(struct ieee80211_hw *dev,
@@ -972,14 +970,14 @@
dev_info(&priv->udev->dev, "Loading firmware file %s\n",
p54u_fwlist[i].fw);
- usb_get_dev(udev);
+ usb_get_intf(intf);
err = request_firmware_nowait(THIS_MODULE, 1, p54u_fwlist[i].fw,
device, GFP_KERNEL, priv,
p54u_load_firmware_cb);
if (err) {
dev_err(&priv->udev->dev, "(p54usb) cannot load firmware %s "
"(%d)!\n", p54u_fwlist[i].fw, err);
- usb_put_dev(udev);
+ usb_put_intf(intf);
}
return err;
@@ -1011,8 +1009,6 @@
skb_queue_head_init(&priv->rx_queue);
init_usb_anchor(&priv->submitted);
- usb_get_dev(udev);
-
/* really lazy and simple way of figuring out if we're a 3887 */
/* TODO: should just stick the identification in the device table */
i = intf->altsetting->desc.bNumEndpoints;
@@ -1053,10 +1049,8 @@
priv->upload_fw = p54u_upload_firmware_net2280;
}
err = p54u_load_firmware(dev, intf);
- if (err) {
- usb_put_dev(udev);
+ if (err)
p54_free_common(dev);
- }
return err;
}
@@ -1072,7 +1066,6 @@
wait_for_completion(&priv->fw_wait_load);
p54_unregister_common(dev);
- usb_put_dev(interface_to_usbdev(intf));
release_firmware(priv->fw);
p54_free_common(dev);
}
diff --git a/drivers/nfc/nq-nci.c b/drivers/nfc/nq-nci.c
index 148890c..779b927 100644
--- a/drivers/nfc/nq-nci.c
+++ b/drivers/nfc/nq-nci.c
@@ -48,7 +48,6 @@
MODULE_DEVICE_TABLE(of, msm_match_table);
#define MAX_BUFFER_SIZE (320)
-#define WAKEUP_SRC_TIMEOUT (2000)
#define MAX_RETRY_COUNT 3
struct nqx_dev {
@@ -138,9 +137,6 @@
struct nqx_dev *nqx_dev = dev_id;
unsigned long flags;
- if (device_may_wakeup(&nqx_dev->client->dev))
- pm_wakeup_event(&nqx_dev->client->dev, WAKEUP_SRC_TIMEOUT);
-
nqx_disable_irq(nqx_dev);
spin_lock_irqsave(&nqx_dev->irq_enabled_lock, flags);
nqx_dev->count_irq++;
diff --git a/drivers/power/supply/power_supply_sysfs.c b/drivers/power/supply/power_supply_sysfs.c
index ec438df..02d731f 100644
--- a/drivers/power/supply/power_supply_sysfs.c
+++ b/drivers/power/supply/power_supply_sysfs.c
@@ -39,6 +39,15 @@
}
static struct device_attribute power_supply_attrs[];
+static struct delayed_work healthd_init_delaywork;
+static bool healthd_init_done;
+#define WAIT_HEALTHD_INIT_DELAY 25000 //Delay 25s
+
+static void healthd_init_delay_work(struct work_struct *work)
+{
+ pr_info("healthd_init_delay_work done.\n");
+ healthd_init_done = 1;
+}
static ssize_t power_supply_show_property(struct device *dev,
struct device_attribute *attr,
@@ -87,9 +96,29 @@
struct power_supply *psy = dev_get_drvdata(dev);
const ptrdiff_t off = attr - power_supply_attrs;
union power_supply_propval value;
+ bool usb_fake_online = 0;
if (off == POWER_SUPPLY_PROP_TYPE) {
- value.intval = psy->desc->type;
+ if (!strcmp(psy->desc->name, "usb")) {
+ value.intval = 0;
+ ret = power_supply_get_property(psy, POWER_SUPPLY_PROP_ONLINE, &value);
+ if (ret < 0) {
+ if (ret == -ENODATA)
+ dev_dbg(dev, "driver has no data for `%s' property\n", attr->attr.name);
+ else if (ret != -ENODEV)
+ dev_err(dev, "driver failed to report `%s' property: %zd\n", attr->attr.name, ret);
+ } else {
+ usb_fake_online = value.intval;
+ }
+
+ //When healthd initialize, return type "USB" for usb power supply
+ if (!healthd_init_done)
+ value.intval = POWER_SUPPLY_TYPE_USB;
+ else
+ value.intval = psy->desc->type;
+ pr_info("[power_supply_sysfs] usb_online: %d, usb_type: %s\n", usb_fake_online, type_text[value.intval]);
+ } else
+ value.intval = psy->desc->type;
} else {
ret = power_supply_get_property(psy, off, &value);
@@ -396,6 +425,10 @@
{
int i;
+ healthd_init_done = 0;
+ INIT_DEFERRABLE_WORK(&healthd_init_delaywork, healthd_init_delay_work);
+ schedule_delayed_work(&healthd_init_delaywork, msecs_to_jiffies(WAIT_HEALTHD_INIT_DELAY));
+
dev_type->groups = power_supply_attr_groups;
for (i = 0; i < ARRAY_SIZE(power_supply_attrs); i++)
diff --git a/drivers/power/supply/qcom/Makefile b/drivers/power/supply/qcom/Makefile
index ffc1ce3..0fb89b9 100644
--- a/drivers/power/supply/qcom/Makefile
+++ b/drivers/power/supply/qcom/Makefile
@@ -1,11 +1,11 @@
obj-$(CONFIG_QPNP_FG) += qpnp-fg.o
-obj-$(CONFIG_QPNP_FG_GEN3) += qpnp-fg-gen3.o fg-memif.o fg-util.o
+obj-$(CONFIG_QPNP_FG_GEN3) += qpnp-fg-gen3.o fg-memif.o fg-util.o external-fg-gen3.o
obj-$(CONFIG_QPNP_SMBCHARGER) += qpnp-smbcharger.o pmic-voter.o
obj-$(CONFIG_SMB135X_CHARGER) += smb135x-charger.o pmic-voter.o
obj-$(CONFIG_SMB1360_CHARGER_FG) += smb1360-charger-fg.o
obj-$(CONFIG_SMB1355_SLAVE_CHARGER) += smb1355-charger.o pmic-voter.o
obj-$(CONFIG_SMB1351_USB_CHARGER) += smb1351-charger.o pmic-voter.o battery.o
-obj-$(CONFIG_QPNP_SMB2) += step-chg-jeita.o battery.o qpnp-smb2.o smb-lib.o pmic-voter.o storm-watch.o
+obj-$(CONFIG_QPNP_SMB2) += step-chg-jeita.o battery.o qpnp-smb2.o smb-lib.o pmic-voter.o storm-watch.o external-smb2.o
obj-$(CONFIG_SMB138X_CHARGER) += step-chg-jeita.o smb138x-charger.o smb-lib.o pmic-voter.o storm-watch.o battery.o
obj-$(CONFIG_QPNP_QG) += qpnp-qg.o pmic-voter.o qg-util.o qg-soc.o qg-sdam.o qg-battery-profile.o qg-profile-lib.o fg-alg.o
obj-$(CONFIG_QPNP_QNOVO) += qpnp-qnovo.o battery.o
diff --git a/drivers/power/supply/qcom/external-fg-gen3.c b/drivers/power/supply/qcom/external-fg-gen3.c
new file mode 100644
index 0000000..650246f
--- /dev/null
+++ b/drivers/power/supply/qcom/external-fg-gen3.c
@@ -0,0 +1,404 @@
+#include <linux/ktime.h>
+#include <linux/of.h>
+#include <linux/of_irq.h>
+#include <linux/spinlock.h>
+#include <linux/alarmtimer.h>
+#include <linux/of_platform.h>
+#include <linux/of_batterydata.h>
+#include <linux/platform_device.h>
+#include <linux/thermal.h>
+#include <linux/iio/consumer.h>
+#include <linux/qpnp/qpnp-revid.h>
+#include <linux/qpnp/qpnp-misc.h>
+#include "fg-core.h"
+#include "fg-reg.h"
+#include "external-fg-gen3.h"
+
+#define BATT_CURRENT_NUMR 488281
+#define BATT_CURRENT_DENR 1000
+static int fg_get_battery_current(struct fg_chip *chip, int *val)
+{
+ int rc = 0;
+ int64_t temp = 0;
+ u8 buf[2];
+
+ rc = fg_read(chip, BATT_INFO_IBATT_LSB(chip), buf, 2);
+ if (rc < 0) {
+ pr_err("failed to read addr=0x%04x, rc=%d\n",
+ BATT_INFO_IBATT_LSB(chip), rc);
+ return rc;
+ }
+
+ if (chip->wa_flags & PMI8998_V1_REV_WA)
+ temp = buf[0] << 8 | buf[1];
+ else
+ temp = buf[1] << 8 | buf[0];
+
+ pr_debug("buf: %x %x temp: %llx\n", buf[0], buf[1], temp);
+ /* Sign bit is bit 15 */
+ temp = twos_compliment_extend(temp, 15);
+ *val = div_s64((s64)temp * BATT_CURRENT_NUMR, BATT_CURRENT_DENR);
+ return 0;
+}
+
+static int fg_get_usb_online(struct fg_chip *chip, bool *usb_online)
+{
+ ssize_t ret = 0;
+ struct power_supply *psy = power_supply_get_by_name("usb");
+ union power_supply_propval value;
+
+ value.intval = 0;
+ ret = power_supply_get_property(psy, POWER_SUPPLY_PROP_ONLINE,
+ &value);
+ if (ret < 0)
+ pr_err("driver failed to report USB property\n");
+ *usb_online = value.intval;
+
+ return ret;
+}
+
+#define DEFAULT_COLD_FV 4200
+#define DEFAULT_COLD_CC 100
+#define DEFAULT_HOT_FV 4305
+#define DEFAULT_HOT_CC 100
+#define JEITA_DYNAMIC_HOT_THRES 350
+#define JEITA_DYNAMIC_COLD_THRES 250
+#define CHGR_FLOAT_VOLTAGE_CFG_REG 0x1070
+#define CHGR_FAST_CHARGE_CURRENT_CFG_REG 0x1061
+#define CHGR_JEITA_EN_CFG 0x1090
+#define CHGR_JEITA_FVCOMP_CFG_REG 0x1091
+#define CHGR_JEITA_CCCOMP_CFG_REG 0x1092
+#define FV_STEP 75
+#define CC_STEP 25
+//JEITA FV = Float Voltage - (DATA x 7.5mV)
+static void fg_set_fv_compensation(struct fg_chip *chip, int vfloat_comp)
+{
+ u8 stat = 0, delta = 0;
+ int rc = 0, vfloat = 0;
+
+ rc = fg_read(chip, CHGR_FLOAT_VOLTAGE_CFG_REG, &stat, 1);
+ if (rc < 0) {
+ pr_err("failed to read FLOAT_VOLTAGE_CFG_REG\n");
+ return;
+ }
+
+ // float voltage unit is 0.1 mV
+ vfloat = 34875 + stat * FV_STEP;
+ pr_info("vfloat_cfg: 0x%x (%d mv), vfloat_comp: %d\n", stat,
+ vfloat, vfloat_comp);
+
+ vfloat_comp = vfloat_comp * 10;
+ if (vfloat - vfloat_comp >= 0) {
+ delta = (vfloat - vfloat_comp) / FV_STEP;
+ if (((vfloat - vfloat_comp) % FV_STEP) != 0)
+ delta++;
+ }
+
+ pr_debug("delta = %d, fv_comp_formula: %d - %d = %d\n", delta,
+ vfloat, vfloat_comp, vfloat - vfloat_comp);
+ rc = fg_write(chip, CHGR_JEITA_FVCOMP_CFG_REG, &delta, 1);
+ if (rc < 0)
+ pr_err("Couldn't write CHGR_JEITA_FVCOMP_CFG_REG\n");
+}
+
+//JEITA CC = Fast Charge Current - DATA x 25mA
+static void fg_set_cc_compensation(struct fg_chip *chip, int current_comp)
+{
+ u8 stat = 0, delta = 0;
+ int rc = 0, fast_curret = 0;
+
+ rc = fg_read(chip, CHGR_FAST_CHARGE_CURRENT_CFG_REG, &stat, 1);
+ if (rc < 0) {
+ pr_err("failed to read FAST_CHARGE_CURRENT_CFG_REG\n");
+ return;
+ }
+
+ // fast current comp ( mA)
+ fast_curret = stat * CC_STEP;
+ pr_info("fast_current_cfg: 0x%x (%d mA), current_comp: %d mA\n", stat,
+ fast_curret, current_comp);
+
+ if (fast_curret - current_comp >= 0) {
+ delta = (fast_curret - current_comp) / (CC_STEP);
+ if (((fast_curret - current_comp) % CC_STEP) != 0)
+ delta++;
+ }
+
+ pr_debug("delta = %d, cc_comp_formula: %d - %d = %d\n", delta,
+ fast_curret, current_comp,
+ fast_curret - current_comp);
+ rc = fg_write(chip, CHGR_JEITA_CCCOMP_CFG_REG, &delta, 1);
+ if (rc < 0)
+ pr_err("Couldn't write CHGR_JEITA_CCCOMP_CFG_REG\n");
+}
+
+static void fg_set_jeita_fv_cc_compensation(struct fg_chip *chip, int temp)
+{
+ pr_debug("smblib_set_jeita_fv_cc: temp = %d, model = %d\n", temp,
+ chip->dt.jeita_dynamic_model);
+ if ((temp > JEITA_DYNAMIC_HOT_THRES) &&
+ (chip->dt.jeita_dynamic_model == MODEL_COLD)) {
+ chip->dt.jeita_dynamic_model = MODEL_HOT;
+ fg_set_fv_compensation(chip,
+ chip->dt.jeita_soft_hot_fv_cc[JEITA_FV]);
+ fg_set_cc_compensation(chip,
+ chip->dt.jeita_soft_hot_fv_cc[JEITA_CC]);
+ } else if ((temp < JEITA_DYNAMIC_COLD_THRES) &&
+ (chip->dt.jeita_dynamic_model == MODEL_HOT)) {
+ chip->dt.jeita_dynamic_model = MODEL_COLD;
+ fg_set_fv_compensation(chip,
+ chip->dt.jeita_soft_cold_fv_cc[JEITA_FV]);
+ fg_set_cc_compensation(chip,
+ chip->dt.jeita_soft_cold_fv_cc[JEITA_CC]);
+ }
+}
+
+void ext_fg_jeita_compensation(struct fg_chip *chip, int temp)
+{
+ if (!chip->external_fg_gen3)
+ return;
+
+ //check the jeita model or not
+ if (chip->dt.jeita_dynamic_model != MODEL_DISABLE)
+ fg_set_jeita_fv_cc_compensation(chip, temp);
+}
+
+void ext_fg_jeita_compensation_init(struct fg_chip *chip)
+{
+ if (!chip->external_fg_gen3)
+ return;
+
+ if (chip->dt.jeita_en) {
+ //wait fcc applied, then set jeita
+ fg_set_fv_compensation(chip,
+ chip->dt.jeita_soft_cold_fv_cc[JEITA_FV]);
+ fg_set_cc_compensation(chip,
+ chip->dt.jeita_soft_cold_fv_cc[JEITA_CC]);
+ chip->dt.jeita_dynamic_model = MODEL_COLD;
+ }
+}
+
+void ext_fg_jeita_enable(struct fg_chip *chip)
+{
+ int rc;
+ u8 val;
+
+ if (!chip->external_fg_gen3)
+ return;
+
+ if (chip->dt.jeita_en)
+ val = 0x1f;
+ else
+ val = 0;
+ rc = fg_write(chip, CHGR_JEITA_EN_CFG, &val, 1);
+ if (rc < 0)
+ pr_err("Error in writing CHGR_JEITA_EN_CFG\n");
+}
+
+#define DEFAULT_RECHARGE_COUNT 10
+void fg_recharge_mode_detection(struct fg_chip *chip)
+{
+ int rc;
+ int ibat;
+ static int auto_recharger_counter;
+ union power_supply_propval pval = {0, };
+
+ if (!chip->external_fg_gen3)
+ return;
+
+ if (chip->charge_status == POWER_SUPPLY_STATUS_FULL &&
+ auto_recharger_counter < DEFAULT_RECHARGE_COUNT) {
+ fg_get_battery_current(chip, &ibat);
+ if (ibat > 0)
+ auto_recharger_counter = DEFAULT_RECHARGE_COUNT + 1;
+ else
+ auto_recharger_counter++;
+
+ if (auto_recharger_counter == DEFAULT_RECHARGE_COUNT &&
+ ibat < 1) {
+ chip->dt.auto_recharge_soc = 0;
+
+ pval.intval = 0;
+ rc = power_supply_set_property(chip->batt_psy,
+ POWER_SUPPLY_PROP_CALIBRATE, &pval);
+
+ fg_ext_set_recharge_voltage(chip);
+
+ }
+ }
+}
+
+static void twm_improve_work(struct work_struct *work)
+{
+ struct fg_chip *chip = container_of(work,
+ struct fg_chip,
+ twm_improve_work.work);
+ bool usb_online;
+
+ fg_get_usb_online(chip, &usb_online);
+
+ if (chip->twm_improve_count > 20 || !chip->twm_improve_work_flag) {
+ chip->twm_improve_work_flag = 0;
+ cancel_delayed_work_sync(&chip->twm_improve_work);
+ } else
+ schedule_delayed_work(&chip->twm_improve_work,
+ msecs_to_jiffies(3000));
+
+ if (usb_online)
+ chip->twm_improve_count = 0;
+ else
+ chip->twm_improve_count++;
+}
+
+#define FULL_CAPACITY 100
+void ext_fg_soc_compensation(struct fg_chip *chip, int *msoc)
+{
+ bool usb_online;
+ int twm_ibat;
+ int upper_reserve_soc;
+ int lower_reserve_soc;
+ int scale_soc;
+
+ if (!chip->external_fg_gen3) {
+ chip->last_soc = *msoc;
+ return;
+ }
+
+ upper_reserve_soc = FULL_CAPACITY - chip->full_soc_scale;
+ lower_reserve_soc = chip->twm_soc_reserve;
+ scale_soc = upper_reserve_soc + lower_reserve_soc;
+
+ if (chip->fg_can_restart_flag == 1)
+ chip->last_soc = *msoc;
+ else
+ *msoc = chip->last_soc;
+
+ if (*msoc > chip->twm_soc_reserve && chip->twm_improve_work_flag) {
+ chip->twm_improve_work_flag = 0;
+ }
+
+ if (chip->last_soc <= chip->twm_soc_reserve) {
+ fg_get_usb_online(chip, &usb_online);
+ fg_get_battery_current(chip, &twm_ibat);
+ if (usb_online || twm_ibat < 0 || chip->twm_improve_work_flag)
+ *msoc = 1;
+ else
+ *msoc = 0;
+ } else if (chip->last_soc > chip->full_soc_scale) {
+ *msoc = 100;
+ } else
+ *msoc = DIV_ROUND_CLOSEST(
+ (*msoc-lower_reserve_soc) * FULL_CAPACITY,
+ (FULL_CAPACITY - scale_soc));
+
+}
+
+static void fg_restart_work(struct work_struct *work)
+{
+ struct fg_chip *chip = container_of(work, struct fg_chip,
+ fg_restart_work.work);
+
+ chip->fg_can_restart_flag = 1;
+}
+
+bool ext_fg_restart_need(struct fg_chip *chip)
+{
+ int msoc;
+ bool usb_online;
+ static bool fg_restart_once;
+
+ if (!chip->external_fg_gen3)
+ return 0;
+
+ msoc = chip->last_soc;
+ fg_get_usb_online(chip, &usb_online);
+ if (!usb_online && fg_restart_once)
+ fg_restart_once = 0;
+
+ if (chip->charge_status == POWER_SUPPLY_STATUS_FULL &&
+ msoc < 99 && !fg_restart_once) {
+ if (chip->fg_can_restart_flag) {
+ fg_restart_once = 1;
+ chip->fg_can_restart_flag = 0;
+ schedule_delayed_work(&chip->fg_restart_work,
+ msecs_to_jiffies(3000));
+ return 1;
+ }
+ return 0;
+ } else
+ return 0;
+}
+
+#define DEFAULT_TWM_SOC_RESERVER 0
+#define DEFAULT_FULL_SOC_SCALE 100
+void ext_fg_read_dt(struct fg_chip *chip)
+{
+ struct device_node *node = chip->dev->of_node;
+ u32 temp;
+ int rc;
+
+ chip->external_fg_gen3 = of_property_read_bool(node,
+ "qcom,external-fg-gen3");
+
+ rc = of_property_read_u32(node, "qcom,fg-jeita-en", &temp);
+ if (rc < 0)
+ chip->dt.jeita_en = 0;
+ else
+ chip->dt.jeita_en = temp;
+
+ chip->dt.jeita_soft_hot_fv_cc[JEITA_FV] = DEFAULT_HOT_FV;
+ chip->dt.jeita_soft_hot_fv_cc[JEITA_CC] = DEFAULT_HOT_CC;
+ chip->dt.jeita_soft_cold_fv_cc[JEITA_FV] = DEFAULT_COLD_FV;
+ chip->dt.jeita_soft_cold_fv_cc[JEITA_CC] = DEFAULT_COLD_CC;
+ if (of_property_count_elems_of_size(node,
+ "qcom,fg-jeita-soft-hot-fv-cc",
+ sizeof(u32)) == JEITA_FV_CC_COUNT) {
+ rc = of_property_read_u32_array(node,
+ "qcom,fg-jeita-soft-hot-fv-cc",
+ chip->dt.jeita_soft_hot_fv_cc,
+ JEITA_FV_CC_COUNT);
+ if (rc < 0)
+ pr_err("Error reading fg-jeita-soft-hot-fv-cc, use default value\n");
+ }
+
+ if (of_property_count_elems_of_size(node,
+ "qcom,fg-jeita-soft-cold-fv-cc",
+ sizeof(u32)) == JEITA_FV_CC_COUNT) {
+ rc = of_property_read_u32_array(node,
+ "qcom,fg-jeita-soft-cold-fv-cc",
+ chip->dt.jeita_soft_cold_fv_cc,
+ JEITA_FV_CC_COUNT);
+ if (rc < 0)
+ pr_err("Error reading fg-jeita-soft-cold-fv-cc, use default value\n");
+ }
+
+ rc = of_property_read_u32(node, "qcom,twm-soc-reserve", &temp);
+ if (rc < 0)
+ chip->twm_soc_reserve = DEFAULT_TWM_SOC_RESERVER;
+ else
+ chip->twm_soc_reserve = temp;
+
+ rc = of_property_read_u32(node, "qcom,full-soc-scale", &temp);
+ if (rc < 0)
+ chip->full_soc_scale = DEFAULT_FULL_SOC_SCALE;
+ else
+ chip->full_soc_scale = temp;
+}
+
+void ext_fg_init(struct fg_chip *chip)
+{
+ chip->fg_can_restart_flag = 1;
+ chip->g_isretailmode = false;
+ chip->twm_improve_work_flag = 1;
+ chip->twm_improve_count = 0;
+
+ if (!chip->external_fg_gen3)
+ return;
+
+ INIT_DELAYED_WORK(&chip->fg_restart_work, fg_restart_work);
+ INIT_DELAYED_WORK(&chip->twm_improve_work, twm_improve_work);
+
+ chip->dt.jeita_dynamic_model = MODEL_DISABLE;
+ schedule_delayed_work(&chip->twm_improve_work, 0);
+}
+
diff --git a/drivers/power/supply/qcom/external-fg-gen3.h b/drivers/power/supply/qcom/external-fg-gen3.h
new file mode 100644
index 0000000..b0dccb40
--- /dev/null
+++ b/drivers/power/supply/qcom/external-fg-gen3.h
@@ -0,0 +1,16 @@
+enum jeita_model {
+ MODEL_DISABLE = 0,
+ MODEL_COLD,
+ MODEL_HOT,
+};
+
+void ext_gauge_init(struct fg_chip *chip);
+void fg_recharge_mode_detection(struct fg_chip *chip);
+void ext_fg_jeita_compensation(struct fg_chip *chip, int temp);
+void ext_fg_soc_compensation(struct fg_chip *chip, int *msoc);
+bool ext_fg_restart_need(struct fg_chip *chip);
+void ext_fg_jeita_compensation_init(struct fg_chip *chip);
+void ext_fg_jeita_enable(struct fg_chip *chip);
+void ext_fg_read_dt(struct fg_chip *chip);
+void ext_fg_init(struct fg_chip *chip);
+
diff --git a/drivers/power/supply/qcom/external-smb2.c b/drivers/power/supply/qcom/external-smb2.c
new file mode 100644
index 0000000..3eeeae7
--- /dev/null
+++ b/drivers/power/supply/qcom/external-smb2.c
@@ -0,0 +1,418 @@
+#include <linux/device.h>
+#include <linux/regmap.h>
+#include <linux/delay.h>
+#include <linux/iio/consumer.h>
+#include <linux/power_supply.h>
+#include <linux/regulator/driver.h>
+#include <linux/qpnp/qpnp-revid.h>
+#include <linux/irq.h>
+#include <linux/pmic-voter.h>
+#include "smb-lib.h"
+#include "smb-reg.h"
+#include "battery.h"
+#include "external-smb2.h"
+#include <linux/gpio.h>
+#include <linux/of_gpio.h>
+
+#define DEFAULT_INPUT_CURRENT_LIMIT 500000
+#define DEFAULT_WPC_BOOT_DELAY 20
+#define DEFAULT_WPC_FASTCHG_CURRENT 125000
+#define DEFAULT_WPC_NORMAL_TEMP 420
+#define DEFAULT_WPC_OVERHEAT_TEMP 450
+#define DEFAULT_WPC_RETAILMODE_TEMP_DIFF 50
+#define DEFAULT_WPC_VOTE_CURRENT 100000
+void ext_smb2_read_dt(struct smb_charger *chg)
+{
+ struct device_node *node = chg->dev->of_node;
+ u32 temp;
+ int rc;
+
+ chg->external_smb2 = of_property_read_bool(node,
+ "qcom,external-chg-smb2");
+
+ chg->two_pin_charger = of_property_read_bool(node,
+ "qcom,two-pin-charger");
+
+ rc = of_property_read_u32(node, "qcom,input-current_limit", &temp);
+ if (rc < 0)
+ chg->input_current_limit = DEFAULT_INPUT_CURRENT_LIMIT;
+ else
+ chg->input_current_limit = temp;
+
+ chg->is_wpc_charger = of_property_read_bool(node,
+ "qcom,is-wpc-charger");
+
+ if (chg->is_wpc_charger) {
+ chg->wpc_en_gpio = of_get_named_gpio(node,
+ "qcom,wpc-en-gpio", 0);
+ if (chg->wpc_en_gpio < 0)
+ pr_err("wpc_en_gpio not available\n");
+
+ rc = of_property_read_u32(node, "qcom,wpc-boot-delay",
+ &temp);
+ if (rc < 0)
+ chg->wpc_boot_delay = DEFAULT_WPC_BOOT_DELAY;
+ else
+ chg->wpc_boot_delay = temp;
+
+ rc = of_property_read_u32(node, "qcom,wpc-fastchg-current",
+ &temp);
+ if (rc < 0)
+ chg->wpc_fastchg_current = DEFAULT_WPC_FASTCHG_CURRENT;
+ else
+ chg->wpc_fastchg_current = temp;
+
+ rc = of_property_read_u32(node, "qcom,wpc-normal-temp",
+ &temp);
+ if (rc < 0)
+ chg->wpc_normal_temp = DEFAULT_WPC_NORMAL_TEMP;
+ else
+ chg->wpc_normal_temp = temp;
+
+ rc = of_property_read_u32(node, "qcom,wpc-overheat-temp",
+ &temp);
+ if (rc < 0)
+ chg->wpc_overheat_temp = DEFAULT_WPC_OVERHEAT_TEMP;
+ else
+ chg->wpc_overheat_temp = temp;
+
+ rc = of_property_read_u32(node,
+ "qcom,wpc-retailmode-temp-diff", &temp);
+ if (rc < 0)
+ chg->wpc_retailmode_temp_diff =
+ DEFAULT_WPC_RETAILMODE_TEMP_DIFF;
+ else
+ chg->wpc_retailmode_temp_diff = temp;
+
+ rc = of_property_read_u32(node, "qcom,wpc-vote-current",
+ &temp);
+ if (rc < 0)
+ chg->wpc_vote_current = DEFAULT_WPC_VOTE_CURRENT;
+ else
+ chg->wpc_vote_current = temp;
+ }
+}
+
+//TODO:Remove the debug info after charge function is ok
+static void smblib_debug_info(struct smb_charger *chg)
+{
+ int rc = -EINVAL;
+ u8 data1, data2, data3;
+
+ rc = smblib_read(chg, 0x00001061, &data1);
+ rc = smblib_read(chg, 0x00001370, &data2);
+ rc = smblib_read(chg, 0x00001607, &data3);
+ pr_err("FSC=%d mA, USB limit=%d mA, MISC ICL=%d mA\n",
+ data1*25, data2*25, data3*25);
+}
+
+static void smblib_debug_work(struct work_struct *work)
+{
+ struct smb_charger *chg = container_of(work, struct smb_charger,
+ debug_work.work);
+
+ smblib_debug_info(chg);
+ schedule_delayed_work(&chg->debug_work,
+ msecs_to_jiffies(30000));
+}
+
+static u8 usbicl_rerun_time;
+#define AICL_RERUN_TIME_3S 0
+#define AICL_RERUN_TIME_12S 1
+#define AICL_RERUN_TIME_45S 2
+#define AICL_RERUN_TIME_3min 3
+static char *usbicl_rerun_time_text[] = {
+ "3s", "12s", "45s", "3min"
+};
+
+static void smblib_usbicl_rerun_work(struct work_struct *work)
+{
+ struct smb_charger *chg = container_of(work, struct smb_charger,
+ usbicl_rerun_work.work);
+ int rc = -EINVAL;
+
+ pr_info("Set AICL rerun timer to %s\n",
+ usbicl_rerun_time_text[usbicl_rerun_time]);
+
+ rc = smblib_masked_write(chg, AICL_RERUN_TIME_CFG_REG,
+ AICL_RERUN_TIME_MASK, usbicl_rerun_time);
+ if (rc < 0) {
+ pr_err("Couldn't config AICL rerun time\n");
+ return;
+ }
+
+ if (usbicl_rerun_time == AICL_RERUN_TIME_3S) {
+ //delay 90s then set to rerun time to 3min
+ schedule_delayed_work(&chg->usbicl_rerun_work,
+ msecs_to_jiffies(90000));
+ usbicl_rerun_time = AICL_RERUN_TIME_3min;
+ }
+}
+
+void ext_smb2_init_hw(struct smb_charger *chg)
+{
+ int rc = 0;
+
+ if (!chg->external_smb2)
+ return;
+
+ //Set usbin collapse time to 30us
+ smblib_masked_write(chg, USBIN_LOAD_CFG_REG, 0x3, 0x3);
+
+ if (chg->is_wpc_charger) {
+ if (gpio_is_valid(chg->wpc_en_gpio)) {
+ rc = gpio_request(chg->wpc_en_gpio,
+ "qcom,wpc-en-gpio");
+ if (rc < 0) {
+ pr_err("gpio req failed for wpc-en-gpio\n");
+ chg->wpc_en_gpio = 0;
+ } else {
+ gpio_direction_output(chg->wpc_en_gpio, 0);
+ }
+ }
+ //Set PMIC WD reset disable
+ smblib_write(chg, 0x857, 0x1);
+ smblib_write(chg, 0x858, 0x1);
+ }
+}
+
+static int batt_temp;
+static bool wpc_normal_thermal;
+static bool wpc_reset_done;
+static bool wpc_enable;
+static int boot_count;
+static bool icl_reset_wpc_flag;
+
+static void smblib_fake_charger_icon_work(struct work_struct *work)
+{
+ struct smb_charger *chg = container_of(work, struct smb_charger,
+ fake_charger_icon_work.work);
+
+ chg->fake_charger_icon_flag = 0;
+ power_supply_changed(chg->usb_psy);
+}
+
+void ext_smblib_usb_plugin(struct smb_charger *chg, bool enable)
+{
+ if (!chg->external_smb2)
+ return;
+
+ if (enable) {
+ usbicl_rerun_time = AICL_RERUN_TIME_3S;
+ schedule_delayed_work(&chg->usbicl_rerun_work,
+ msecs_to_jiffies(3000));
+ schedule_delayed_work(&chg->debug_work,
+ msecs_to_jiffies(5000));
+ if (chg->is_wpc_charger) {
+ cancel_delayed_work(&chg->fake_charger_icon_work);
+ chg->fake_charger_icon_flag = 0;
+ if (boot_count > 9 && wpc_reset_done)
+ cancel_delayed_work(&chg->wpc_enable_work);
+
+ schedule_delayed_work(&chg->alg_work,
+ msecs_to_jiffies(33000));
+ }
+ } else {
+ cancel_delayed_work(&chg->usbicl_rerun_work);
+ cancel_delayed_work(&chg->debug_work);
+ if (chg->is_wpc_charger) {
+ cancel_delayed_work(&chg->alg_work);
+ cancel_delayed_work(&chg->fake_charger_icon_work);
+ chg->fake_charger_icon_flag = 1;
+ schedule_delayed_work(&chg->fake_charger_icon_work,
+ msecs_to_jiffies(2500));
+ smblib_set_charge_param(chg, &chg->param.fcc, 50000);
+ if (boot_count > 9) {
+ cancel_delayed_work(&chg->wpc_enable_work);
+ schedule_delayed_work(&chg->wpc_enable_work,
+ msecs_to_jiffies(3000));
+ }
+ }
+ }
+}
+
+void ext_smblib_usbicl_restart(struct smb_charger *chg)
+{
+ cancel_delayed_work(&chg->usbicl_rerun_work);
+ usbicl_rerun_time = AICL_RERUN_TIME_3S;
+ schedule_delayed_work(&chg->usbicl_rerun_work, msecs_to_jiffies(3000));
+}
+
+int ext_smb2_fake_charger_icon(struct smb_charger *chg)
+{
+ if (!chg->external_smb2)
+ return 0;
+
+ if (chg->fake_charger_icon_flag)
+ return 1;
+ else
+ return 0;
+}
+
+static void smblib_set_WPC_enable(struct smb_charger *chg)
+{
+ if (!wpc_normal_thermal || !wpc_reset_done || !icl_reset_wpc_flag) {
+ if (wpc_enable) {
+ gpio_set_value(chg->wpc_en_gpio, 1);
+ wpc_enable = 0;
+ pr_info("smblib_set_wpc_enable: disable WPC\n");
+ }
+ } else {
+ if (!wpc_enable) {
+ gpio_set_value(chg->wpc_en_gpio, 0);
+ wpc_enable = 1;
+ pr_info("smblib_set_wpc_enable: enable WPC\n");
+ }
+ }
+}
+
+static void smblib_wpc_enable_work(struct work_struct *work)
+{
+ struct smb_charger *chg = container_of(work, struct smb_charger,
+ wpc_enable_work.work);
+
+ if (boot_count < chg->boot_delay_count) {
+ boot_count++;
+ schedule_delayed_work(&chg->wpc_enable_work,
+ msecs_to_jiffies(2000));
+ } else {
+ if (wpc_reset_done) {
+ wpc_reset_done = 0;
+ smblib_set_WPC_enable(chg);
+ schedule_delayed_work(&chg->wpc_enable_work,
+ msecs_to_jiffies(1000));
+ } else {
+ wpc_reset_done = 1;
+ smblib_set_WPC_enable(chg);
+ }
+ }
+}
+
+static void smblib_vbatt_therm_icl_work(struct work_struct *work)
+{
+ struct smb_charger *chg = container_of(work, struct smb_charger,
+ vbatt_therm_icl_work.work);
+
+ int rc;
+ u8 data;
+ bool isretailmode;
+ int retailmode_tuning;
+ union power_supply_propval val;
+
+ power_supply_get_property(chg->bms_psy,
+ POWER_SUPPLY_PROP_RESTRICTED_CHARGING, &val);
+ isretailmode = val.intval;
+ if (isretailmode)
+ retailmode_tuning = chg->wpc_retailmode_temp_diff;
+ else
+ retailmode_tuning = 0;
+
+ power_supply_get_property(chg->bms_psy, POWER_SUPPLY_PROP_TEMP,
+ &val);
+ batt_temp = val.intval;
+ if (batt_temp >= chg->wpc_overheat_temp + retailmode_tuning
+ && wpc_normal_thermal) {
+ wpc_normal_thermal = 0;
+ pr_info("temperature high, disable WPC\n");
+ smblib_set_WPC_enable(chg);
+ } else if (batt_temp <= chg->wpc_normal_temp + retailmode_tuning
+ && !wpc_normal_thermal) {
+ wpc_normal_thermal = 1;
+ pr_info("temperature normal, enable WPC\n");
+ smblib_set_WPC_enable(chg);
+ }
+
+ //ICL check
+ rc = smblib_read(chg, 0x00001607, &data);
+ pr_err("MISC ICL=%d mA\n", data*25);
+
+ if (!data && icl_reset_wpc_flag) {
+ icl_reset_wpc_flag = 0;
+ smblib_set_WPC_enable(chg);
+ schedule_delayed_work(&chg->vbatt_therm_icl_work,
+ msecs_to_jiffies(1000));
+ } else {
+ if (!icl_reset_wpc_flag) {
+ icl_reset_wpc_flag = 1;
+ smblib_set_WPC_enable(chg);
+ }
+ schedule_delayed_work(&chg->vbatt_therm_icl_work,
+ msecs_to_jiffies(30000));
+ }
+}
+
+static void smblib_alg_work(struct work_struct *work)
+{
+ struct smb_charger *chg = container_of(work, struct smb_charger,
+ alg_work.work);
+
+ smblib_set_charge_param(chg, &chg->param.fcc,
+ chg->wpc_fastchg_current);
+}
+
+int ext_smblib_input_current_limit(struct smb_charger *chg,
+ struct smb_chg_param *param, int val_u)
+{
+ if (!chg->external_smb2)
+ return val_u;
+
+ if (chg->two_pin_charger || chg->is_wpc_charger) {
+ if (!strcmp(param->name, "usb input current limit")) {
+ pr_info("set usb input current to %d mA.\n",
+ chg->input_current_limit);
+ return chg->input_current_limit;
+ }
+ }
+ return val_u;
+}
+
+void ext_smblib_init(struct smb_charger *chg)
+{
+ INIT_DELAYED_WORK(&chg->usbicl_rerun_work,
+ smblib_usbicl_rerun_work);
+
+ INIT_DELAYED_WORK(&chg->debug_work,
+ smblib_debug_work);
+
+ if (!chg->external_smb2)
+ return;
+
+ if (chg->is_wpc_charger) {
+ batt_temp = 0;
+ wpc_normal_thermal = 1;
+ wpc_reset_done = 1;
+ wpc_enable = 1;
+ boot_count = 0;
+ icl_reset_wpc_flag = 1;
+ INIT_DELAYED_WORK(&chg->alg_work, smblib_alg_work);
+ INIT_DELAYED_WORK(&chg->vbatt_therm_icl_work,
+ smblib_vbatt_therm_icl_work);
+ INIT_DELAYED_WORK(&chg->wpc_enable_work,
+ smblib_wpc_enable_work);
+ INIT_DELAYED_WORK(&chg->fake_charger_icon_work,
+ smblib_fake_charger_icon_work);
+ schedule_delayed_work(&chg->wpc_enable_work,
+ msecs_to_jiffies(2000));
+ schedule_delayed_work(&chg->vbatt_therm_icl_work,
+ msecs_to_jiffies(30000));
+ chg->fake_charger_icon_flag = 0;
+ chg->boot_delay_count = chg->wpc_boot_delay / 2;
+ }
+}
+
+void ext_smblib_power_ok(struct smb_charger *chg)
+{
+ if (!chg->external_smb2)
+ return;
+
+ pr_err("Reverse boost detected: voting 100mA to suspend input\n");
+ vote(chg->usb_icl_votable, BOOST_BACK_VOTER, true,
+ chg->wpc_vote_current);
+}
+
+void ext_smb2_force_disable_hvdcp(struct smb_charger *chg, u8 *val)
+{
+ if (!chg->external_smb2)
+ return;
+ *val = 0;
+}
diff --git a/drivers/power/supply/qcom/external-smb2.h b/drivers/power/supply/qcom/external-smb2.h
new file mode 100644
index 0000000..49f6266
--- /dev/null
+++ b/drivers/power/supply/qcom/external-smb2.h
@@ -0,0 +1,11 @@
+void ext_smb2_read_dt(struct smb_charger *chg);
+void ext_smblib_init(struct smb_charger *chg);
+void ext_smblib_usb_plugin(struct smb_charger *chg, bool enable);
+
+int ext_smb2_fake_charger_icon(struct smb_charger *chg);
+void ext_smb2_init_hw(struct smb_charger *chg);
+int ext_smblib_input_current_limit(struct smb_charger *chg,
+ struct smb_chg_param *param, int val_u);
+void ext_smblib_power_ok(struct smb_charger *chg);
+void ext_smblib_usbicl_restart(struct smb_charger *chg);
+void ext_smb2_force_disable_hvdcp(struct smb_charger *chg, u8 *val);
diff --git a/drivers/power/supply/qcom/fg-core.h b/drivers/power/supply/qcom/fg-core.h
index 8898edc..f05031f 100644
--- a/drivers/power/supply/qcom/fg-core.h
+++ b/drivers/power/supply/qcom/fg-core.h
@@ -276,6 +276,12 @@
TTF_MODE_QNOVO,
};
+enum jeita_comp_parameter {
+ JEITA_FV = 0,
+ JEITA_CC,
+ JEITA_FV_CC_COUNT,
+};
+
/* DT parameters for FG device */
struct fg_dt_props {
bool force_load_profile;
@@ -333,6 +339,10 @@
int ki_coeff_hi_dischg[KI_COEFF_SOC_LEVELS];
int slope_limit_coeffs[SLOPE_LIMIT_NUM_COEFFS];
u8 batt_therm_coeffs[BATT_THERM_NUM_COEFFS];
+ u8 jeita_en;
+ u8 jeita_dynamic_model;
+ int jeita_soft_cold_fv_cc[JEITA_FV_CC_COUNT];
+ int jeita_soft_hot_fv_cc[JEITA_FV_CC_COUNT];
};
/* parameters from battery profile */
@@ -517,6 +527,15 @@
struct work_struct esr_filter_work;
struct alarm esr_filter_alarm;
ktime_t last_delta_temp_time;
+ struct delayed_work fg_restart_work;
+ struct delayed_work twm_improve_work;
+ bool fg_can_restart_flag;
+ bool external_fg_gen3;
+ bool twm_improve_work_flag;
+ int twm_soc_reserve;
+ int full_soc_scale;
+ int g_isretailmode;
+ int twm_improve_count;
};
/* Debugfs data structures are below */
@@ -585,4 +604,5 @@
s32 *output);
void fg_stay_awake(struct fg_chip *chip, int awake_reason);
void fg_relax(struct fg_chip *chip, int awake_reason);
+void fg_ext_set_recharge_voltage(struct fg_chip *chip);
#endif
diff --git a/drivers/power/supply/qcom/qpnp-fg-gen3.c b/drivers/power/supply/qcom/qpnp-fg-gen3.c
index 2fa3ea2..82e9c98 100644
--- a/drivers/power/supply/qcom/qpnp-fg-gen3.c
+++ b/drivers/power/supply/qcom/qpnp-fg-gen3.c
@@ -26,6 +26,7 @@
#include <linux/qpnp/qpnp-misc.h>
#include "fg-core.h"
#include "fg-reg.h"
+#include "external-fg-gen3.h"
#define FG_GEN3_DEV_NAME "qcom,fg-gen3"
@@ -170,6 +171,7 @@
enum fg_sram_param_id id, int val_ma, u8 *buf);
static void fg_encode_default(struct fg_sram_param *sp,
enum fg_sram_param_id id, int val, u8 *buf);
+static int __fg_restart(struct fg_chip *chip);
static struct fg_irq_info fg_irqs[FG_IRQ_MAX];
@@ -676,6 +678,9 @@
/* Value is in Kelvin; Convert it to deciDegC */
temp = (temp - 273) * 10;
*val = temp;
+
+ ext_fg_jeita_compensation(chip, temp);
+
return 0;
}
@@ -804,6 +809,9 @@
else
*msoc = DIV_ROUND_CLOSEST((*msoc - 1) * (FULL_CAPACITY - 2),
FULL_SOC_RAW - 2) + 1;
+
+ ext_fg_soc_compensation(chip, msoc);
+
return 0;
}
@@ -905,7 +913,7 @@
return 0;
}
- if (chip->fg_restarting) {
+ if (chip->fg_restarting || !chip->fg_can_restart_flag) {
*val = chip->last_soc;
return 0;
}
@@ -920,6 +928,8 @@
return 0;
}
+ fg_recharge_mode_detection(chip);
+
if (chip->charge_full) {
*val = FULL_CAPACITY;
return 0;
@@ -1034,7 +1044,8 @@
if (rc < 0) {
pr_err("battery type unavailable, rc:%d\n", rc);
return rc;
- }
+ } else
+ pr_info("profile name: %s\n", chip->bp.batt_type_str);
rc = of_property_read_u32(profile_node, "qcom,max-voltage-uv",
&chip->bp.float_volt_uv);
@@ -2938,6 +2949,10 @@
}
chip->charge_status = prop.intval;
+
+ if (ext_fg_restart_need(chip))
+ __fg_restart(chip);
+
rc = power_supply_get_property(chip->batt_psy,
POWER_SUPPLY_PROP_CHARGE_TYPE, &prop);
if (rc < 0) {
@@ -3309,6 +3324,8 @@
if (chip->profile_load_status == PROFILE_LOADED)
chip->profile_loaded = true;
+ ext_fg_jeita_compensation_init(chip);
+
fg_dbg(chip, FG_STATUS, "profile loaded successfully");
out:
chip->soc_reporting_ready = true;
@@ -4050,7 +4067,10 @@
pval->intval = chip->cl.learned_cc_uah;
break;
case POWER_SUPPLY_PROP_CHARGE_COUNTER:
- rc = fg_get_charge_counter(chip, &pval->intval);
+ if (fg_irqs[MSOC_DELTA_IRQ].wakeable)
+ rc = fg_get_charge_counter(chip, &pval->intval);
+ else
+ rc = fg_get_charge_counter_shadow(chip, &pval->intval);
break;
case POWER_SUPPLY_PROP_CHARGE_COUNTER_SHADOW:
rc = fg_get_charge_counter_shadow(chip, &pval->intval);
@@ -4084,6 +4104,15 @@
case POWER_SUPPLY_PROP_CC_STEP_SEL:
pval->intval = chip->ttf.cc_step.sel;
break;
+ case POWER_SUPPLY_PROP_RESTRICTED_CHARGING:
+ pval->intval = chip->g_isretailmode;
+ break;
+ case POWER_SUPPLY_PROP_CYCLE_COUNT:
+ rc = -EINVAL;
+ break;
+ case POWER_SUPPLY_PROP_ONLINE:
+ rc = -EINVAL;
+ break;
default:
pr_err("unsupported property %d\n", psp);
rc = -EINVAL;
@@ -4175,6 +4204,12 @@
return rc;
}
break;
+ case POWER_SUPPLY_PROP_RESTRICTED_CHARGING:
+ if (pval->intval)
+ chip->g_isretailmode = true;
+ else
+ chip->g_isretailmode = false;
+ break;
default:
break;
}
@@ -4482,6 +4517,8 @@
return rc;
}
+ ext_fg_jeita_enable(chip);
+
if (chip->pmic_rev_id->pmic_subtype == PMI8998_SUBTYPE) {
chip->esr_timer_charging_default[TIMER_RETRY] =
DEFAULT_ESR_CHG_TIMER_RETRY;
@@ -4916,7 +4953,7 @@
[MSOC_DELTA_IRQ] = {
.name = "msoc-delta",
.handler = fg_delta_msoc_irq_handler,
- .wakeable = true,
+ .wakeable = false,
},
[BSOC_DELTA_IRQ] = {
.name = "bsoc-delta",
@@ -5157,8 +5194,8 @@
#define DEFAULT_RECHARGE_SOC_THR 95
#define DEFAULT_BATT_TEMP_COLD 0
#define DEFAULT_BATT_TEMP_COOL 5
-#define DEFAULT_BATT_TEMP_WARM 45
-#define DEFAULT_BATT_TEMP_HOT 50
+#define DEFAULT_BATT_TEMP_WARM 55
+#define DEFAULT_BATT_TEMP_HOT 60
#define DEFAULT_CL_START_SOC 15
#define DEFAULT_CL_MIN_TEMP_DECIDEGC 150
#define DEFAULT_CL_MAX_TEMP_DECIDEGC 500
@@ -5583,6 +5620,8 @@
chip->dt.disable_fg_twm = of_property_read_bool(node,
"qcom,fg-disable-in-twm");
+ ext_fg_read_dt(chip);
+
return 0;
}
@@ -5647,6 +5686,22 @@
.get_temp = fg_tz_get_temp,
};
+void fg_ext_set_recharge_voltage(struct fg_chip *chip)
+{
+ int rc;
+
+ rc = fg_set_recharge_voltage(chip,
+ chip->dt.recharge_volt_thr_mv);
+ if (rc < 0)
+ pr_err("Error in setting recharge_voltage, rc=%d\n",
+ rc);
+
+ rc = fg_adjust_recharge_voltage(chip);
+ if (rc < 0)
+ pr_err("Error in adjusting recharge_voltage, rc=%d\n",
+ rc);
+}
+
static int fg_gen3_probe(struct platform_device *pdev)
{
struct fg_chip *chip;
@@ -5865,6 +5920,8 @@
device_init_wakeup(chip->dev, true);
schedule_delayed_work(&chip->profile_load_work, 0);
+ ext_fg_init(chip);
+
pr_debug("FG GEN3 driver probed successfully\n");
return 0;
exit:
diff --git a/drivers/power/supply/qcom/qpnp-smb2.c b/drivers/power/supply/qcom/qpnp-smb2.c
index bc1855e..a7b2b75 100644
--- a/drivers/power/supply/qcom/qpnp-smb2.c
+++ b/drivers/power/supply/qcom/qpnp-smb2.c
@@ -28,6 +28,7 @@
#include "smb-lib.h"
#include "storm-watch.h"
#include <linux/pmic-voter.h>
+#include "external-smb2.h"
#define SMB2_DEFAULT_WPWR_UW 8000000
@@ -337,6 +338,8 @@
chg->fcc_stepper_enable = of_property_read_bool(node,
"qcom,fcc-stepping-enable");
+ ext_smb2_read_dt(chg);
+
return 0;
}
@@ -401,6 +404,8 @@
val->intval = 1;
if (chg->real_charger_type == POWER_SUPPLY_TYPE_UNKNOWN)
val->intval = 0;
+ if (chg->is_wpc_charger && ext_smb2_fake_charger_icon(chg))
+ val->intval = 1;
break;
case POWER_SUPPLY_PROP_VOLTAGE_MAX:
rc = smblib_get_prop_usb_voltage_max(chg, val);
@@ -649,6 +654,8 @@
val->intval = 1;
else
val->intval = 0;
+ if (chg->is_wpc_charger && ext_smb2_fake_charger_icon(chg))
+ val->intval = 1;
break;
case POWER_SUPPLY_PROP_VOLTAGE_MAX:
val->intval = 5000000;
@@ -1223,6 +1230,16 @@
chg->die_health = val->intval;
power_supply_changed(chg->batt_psy);
break;
+ case POWER_SUPPLY_PROP_CALIBRATE:
+ pr_err("batt power supply prop set voltage mode.\n");
+ rc = smblib_masked_write(chg, FG_UPDATE_CFG_2_SEL_REG,
+ SOC_LT_CHG_RECHARGE_THRESH_SEL_BIT |
+ VBT_LT_CHG_RECHARGE_THRESH_SEL_BIT,
+ SOC_LT_CHG_RECHARGE_THRESH_SEL_BIT);
+ if (rc < 0)
+ dev_err(chg->dev, "Couldn't configure FG_UPDATE_CFG2_SEL_REG rc=%d\n",
+ rc);
+ break;
default:
rc = -EINVAL;
}
@@ -1245,6 +1262,7 @@
case POWER_SUPPLY_PROP_STEP_CHARGING_ENABLED:
case POWER_SUPPLY_PROP_SW_JEITA_ENABLED:
case POWER_SUPPLY_PROP_DIE_HEALTH:
+ case POWER_SUPPLY_PROP_CALIBRATE:
return 1;
default:
break;
@@ -1870,6 +1888,8 @@
}
}
+ ext_smb2_init_hw(chg);
+
return rc;
}
diff --git a/drivers/power/supply/qcom/smb-lib.c b/drivers/power/supply/qcom/smb-lib.c
index ca14a8a..848172b 100644
--- a/drivers/power/supply/qcom/smb-lib.c
+++ b/drivers/power/supply/qcom/smb-lib.c
@@ -24,6 +24,7 @@
#include "battery.h"
#include "step-chg-jeita.h"
#include "storm-watch.h"
+#include "external-smb2.h"
#define smblib_err(chg, fmt, ...) \
pr_err("%s: %s: " fmt, chg->name, \
@@ -363,6 +364,8 @@
int rc = 0;
u8 val_raw;
+ val_u = ext_smblib_input_current_limit(chg, param, val_u);
+
if (param->set_proc) {
rc = param->set_proc(param, val_u, &val_raw);
if (rc < 0)
@@ -915,6 +918,9 @@
int rc = 0;
bool override;
+ //TODO:Remove the debug info after charge function is ok
+ smblib_err(chg, "icl_ua=%d, charger_type=%d\n", icl_ua, chg->real_charger_type);
+
/* suspend and return if 25mA or less is requested */
if (icl_ua <= USBIN_25MA)
return smblib_set_usb_suspend(chg, true);
@@ -931,7 +937,7 @@
goto enable_icl_changed_interrupt;
}
} else {
- set_sdp_current(chg, 100000);
+ set_sdp_current(chg, icl_ua);
rc = smblib_set_charge_param(chg, &chg->param.usb_icl, icl_ua);
if (rc < 0) {
smblib_err(chg, "Couldn't set HC ICL rc=%d\n", rc);
@@ -1265,6 +1271,8 @@
if (!hvdcp_enable)
val = HVDCP_EN_BIT;
+ ext_smb2_force_disable_hvdcp(chg, &val);
+
rc = smblib_masked_write(chg, USBIN_OPTIONS_1_CFG_REG,
HVDCP_EN_BIT | HVDCP_AUTH_ALG_EN_CFG_BIT,
val);
@@ -1776,6 +1784,8 @@
return rc;
}
usb_online = (bool)pval.intval;
+ if (chg->is_wpc_charger && ext_smb2_fake_charger_icon(chg))
+ usb_online = 1;
rc = smblib_get_prop_dc_online(chg, &pval);
if (rc < 0) {
@@ -2409,6 +2419,9 @@
val->intval = (stat & USE_USBIN_BIT) &&
(stat & VALID_INPUT_POWER_SOURCE_STS_BIT);
+ if (chg->is_wpc_charger && ext_smb2_fake_charger_icon(chg))
+ val->intval = 1;
+
return rc;
}
@@ -3569,10 +3582,15 @@
}
vbus_rising = (bool)(stat & USBIN_PLUGIN_RT_STS_BIT);
+ pr_info("[smblib] smblib_usb_plugin_locked, IRQ status: 0x%x, vbus_rising: %d\n",
+ stat, vbus_rising);
+
smblib_set_opt_freq_buck(chg, vbus_rising ? chg->chg_freq.freq_5V :
chg->chg_freq.freq_removal);
if (vbus_rising) {
+
+ ext_smblib_usb_plugin(chg, 1);
if (smblib_get_prop_dfp_mode(chg) != POWER_SUPPLY_TYPEC_NONE) {
chg->fake_usb_insertion = true;
return;
@@ -3595,6 +3613,7 @@
!chg->pd_active)
pr_err("APSD disabled on vbus rising without PD\n");
} else {
+ ext_smblib_usb_plugin(chg, 0);
if (chg->fake_usb_insertion) {
chg->fake_usb_insertion = false;
return;
@@ -3626,7 +3645,9 @@
if (chg->connector_type == POWER_SUPPLY_CONNECTOR_MICRO_USB)
smblib_micro_usb_plugin(chg, vbus_rising);
- power_supply_changed(chg->usb_psy);
+ if (chg->is_wpc_charger && !chg->fake_charger_icon_flag)
+ power_supply_changed(chg->usb_psy);
+
smblib_dbg(chg, PR_INTERRUPT, "IRQ: usbin-plugin %s\n",
vbus_rising ? "attached" : "detached");
}
@@ -3902,7 +3923,8 @@
* limit ICL to 100mA, the USB driver will enumerate to check
* if this is a SDP and appropriately set the current
*/
- vote(chg->usb_icl_votable, LEGACY_UNKNOWN_VOTER, true, 100000);
+ vote(chg->usb_icl_votable, LEGACY_UNKNOWN_VOTER, true,
+ chg->input_current_limit);
break;
case POWER_SUPPLY_TYPE_USB_HVDCP:
case POWER_SUPPLY_TYPE_USB_HVDCP_3:
@@ -4648,17 +4670,25 @@
*/
update_storm_count(wdata, BOOST_BACK_STORM_COUNT);
} else {
- smblib_err(chg,
- "Reverse boost detected: voting 0mA to suspend input\n");
- vote(chg->usb_icl_votable, BOOST_BACK_VOTER, true, 0);
- vote(chg->awake_votable, BOOST_BACK_VOTER, true, 0);
- /*
- * Remove the boost-back vote after a delay, to avoid
- * permanently suspending the input if the boost-back
- * condition is unintentionally hit.
- */
- schedule_delayed_work(&chg->bb_removal_work,
+ if (chg->is_wpc_charger)
+ ext_smblib_power_ok(chg);
+ else {
+ smblib_err(chg,
+ "Reverse boost detected: voting 0mA to suspend input\n");
+ vote(chg->usb_icl_votable, BOOST_BACK_VOTER,
+ true, 0);
+ vote(chg->awake_votable, BOOST_BACK_VOTER,
+ true, 0);
+ /*
+ * Remove the boost-back vote after a delay,
+ * to avoid permanently suspending the input
+ * if the boost-backcondition is
+ * unintentionally hit.
+ */
+ schedule_delayed_work(&chg->bb_removal_work,
msecs_to_jiffies(BOOST_BACK_UNVOTE_DELAY_MS));
+ ext_smblib_usbicl_restart(chg);
+ }
}
}
@@ -5388,6 +5418,8 @@
return -EINVAL;
}
+ ext_smblib_init(chg);
+
return rc;
}
diff --git a/drivers/power/supply/qcom/smb-lib.h b/drivers/power/supply/qcom/smb-lib.h
index 4da5941..b2aa177 100644
--- a/drivers/power/supply/qcom/smb-lib.h
+++ b/drivers/power/supply/qcom/smb-lib.h
@@ -382,6 +382,26 @@
int pulse_cnt;
int die_health;
+
+ struct delayed_work usbicl_rerun_work;
+ struct delayed_work debug_work;
+ struct delayed_work alg_work;
+ struct delayed_work vbatt_therm_icl_work;
+ struct delayed_work wpc_enable_work;
+ struct delayed_work fake_charger_icon_work;
+ bool external_smb2;
+ bool two_pin_charger;
+ int input_current_limit;
+ bool is_wpc_charger;
+ int wpc_en_gpio;
+ int fake_charger_icon_flag;
+ int wpc_boot_delay;
+ int boot_delay_count;
+ int wpc_fastchg_current;
+ int wpc_normal_temp;
+ int wpc_overheat_temp;
+ int wpc_retailmode_temp_diff;
+ int wpc_vote_current;
};
int smblib_read(struct smb_charger *chg, u16 addr, u8 *val);
diff --git a/drivers/sensors/Kconfig b/drivers/sensors/Kconfig
index 0e2da79..523d62a 100644
--- a/drivers/sensors/Kconfig
+++ b/drivers/sensors/Kconfig
@@ -1,3 +1,9 @@
+config SENSORS
+ bool "Sensors Class Support"
+ help
+ This option enables the sensor sysfs class in /sys/class/sensors.
+ You'll need this to do anything useful with sensors. If unsure, say N.
+
config SENSORS_SSC
bool "Enable Sensors Driver Support for SSC"
help
diff --git a/drivers/sensors/Makefile b/drivers/sensors/Makefile
index 08d8a63..658363b 100644
--- a/drivers/sensors/Makefile
+++ b/drivers/sensors/Makefile
@@ -1 +1,2 @@
+obj-$(CONFIG_SENSORS) += sensors_class.o
obj-$(CONFIG_SENSORS_SSC) += sensors_ssc.o
diff --git a/drivers/sensors/sensors_class.c b/drivers/sensors/sensors_class.c
new file mode 100644
index 0000000..4e31ec6
--- /dev/null
+++ b/drivers/sensors/sensors_class.c
@@ -0,0 +1,575 @@
+/* Copyright (c) 2013-2014, 2017 The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <linux/module.h>
+#include <linux/kernel.h>
+#include <linux/init.h>
+#include <linux/list.h>
+#include <linux/spinlock.h>
+#include <linux/device.h>
+#include <linux/err.h>
+#include <linux/ctype.h>
+#include <linux/rwsem.h>
+#include <linux/sensors.h>
+#include <linux/string.h>
+
+#define APPLY_MASK 0x00000001
+
+#define CMD_W_L_MASK 0x00
+#define CMD_W_H_MASK 0x10
+#define CMD_W_H_L 0x10
+#define CMD_MASK 0xF
+#define DATA_MASK 0xFFFF0000
+#define DATA_AXIS_SHIFT 17
+#define DATA_APPLY_SHIFT 16
+/*
+ * CMD_GET_PARAMS(BIT, PARA, DATA) combine high 16 bit and low 16 bit
+ * as one params
+ */
+
+#define CMD_GET_PARAMS(BIT, PARA, DATA) \
+ ((BIT) ? \
+ ((DATA) & DATA_MASK) \
+ : ((PARA) \
+ | (((DATA) & DATA_MASK) >> 16)))
+
+
+/*
+ * CMD_DO_CAL sensor do calibrate command, when do sensor calibrate must use
+ * this.
+ * AXIS_X,AXIS_Y,AXIS_Z write axis params to driver like accelerometer
+ * magnetometer,gyroscope etc.
+ * CMD_W_THRESHOLD_H,CMD_W_THRESHOLD_L,CMD_W_BIAS write theshold and bias
+ * params to proximity driver.
+ * CMD_W_FACTOR,CMD_W_OFFSET write factor and offset params to light
+ * sensor driver.
+ * CMD_COMPLETE when one sensor receive calibrate parameters complete, it
+ * must use this command to end receive the parameters and send the
+ * parameters to sensor.
+ */
+
+enum {
+ CMD_DO_CAL = 0x0,
+ CMD_W_OFFSET_X,
+ CMD_W_OFFSET_Y,
+ CMD_W_OFFSET_Z,
+ CMD_W_THRESHOLD_H,
+ CMD_W_THRESHOLD_L,
+ CMD_W_BIAS,
+ CMD_W_OFFSET,
+ CMD_W_FACTOR,
+ CMD_W_RANGE,
+ CMD_COMPLETE,
+ CMD_COUNT
+};
+
+int cal_map[] = {
+ 0,
+ offsetof(struct cal_result_t, offset_x),
+ offsetof(struct cal_result_t, offset_y),
+ offsetof(struct cal_result_t, offset_z),
+ offsetof(struct cal_result_t, threshold_h),
+ offsetof(struct cal_result_t, threshold_l),
+ offsetof(struct cal_result_t, bias),
+ offsetof(struct cal_result_t, offset[0]),
+ offsetof(struct cal_result_t, offset[1]),
+ offsetof(struct cal_result_t, offset[2]),
+ offsetof(struct cal_result_t, factor),
+ offsetof(struct cal_result_t, range),
+};
+
+static struct class *sensors_class;
+
+DECLARE_RWSEM(sensors_list_lock);
+LIST_HEAD(sensors_list);
+
+static ssize_t sensors_name_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct sensors_classdev *sensors_cdev = dev_get_drvdata(dev);
+
+ return snprintf(buf, PAGE_SIZE, "%s\n", sensors_cdev->name);
+}
+
+static ssize_t sensors_vendor_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct sensors_classdev *sensors_cdev = dev_get_drvdata(dev);
+
+ return snprintf(buf, PAGE_SIZE, "%s\n", sensors_cdev->vendor);
+}
+
+static ssize_t sensors_version_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct sensors_classdev *sensors_cdev = dev_get_drvdata(dev);
+
+ return snprintf(buf, PAGE_SIZE, "%d\n", sensors_cdev->version);
+}
+
+static ssize_t sensors_handle_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct sensors_classdev *sensors_cdev = dev_get_drvdata(dev);
+
+ return snprintf(buf, PAGE_SIZE, "%d\n", sensors_cdev->handle);
+}
+
+static ssize_t sensors_type_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct sensors_classdev *sensors_cdev = dev_get_drvdata(dev);
+
+ return snprintf(buf, PAGE_SIZE, "%d\n", sensors_cdev->type);
+}
+
+static ssize_t sensors_max_delay_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct sensors_classdev *sensors_cdev = dev_get_drvdata(dev);
+
+ return snprintf(buf, PAGE_SIZE, "%d\n", sensors_cdev->max_delay);
+}
+
+static ssize_t sensors_flags_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct sensors_classdev *sensors_cdev = dev_get_drvdata(dev);
+
+ return snprintf(buf, PAGE_SIZE, "%d\n", sensors_cdev->flags);
+}
+
+static ssize_t sensors_max_range_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct sensors_classdev *sensors_cdev = dev_get_drvdata(dev);
+
+ return snprintf(buf, PAGE_SIZE, "%s\n", sensors_cdev->max_range);
+}
+
+static ssize_t sensors_resolution_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct sensors_classdev *sensors_cdev = dev_get_drvdata(dev);
+
+ return snprintf(buf, PAGE_SIZE, "%s\n", sensors_cdev->resolution);
+}
+
+static ssize_t sensors_power_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct sensors_classdev *sensors_cdev = dev_get_drvdata(dev);
+
+ return snprintf(buf, PAGE_SIZE, "%s\n", sensors_cdev->sensor_power);
+}
+
+static ssize_t sensors_min_delay_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct sensors_classdev *sensors_cdev = dev_get_drvdata(dev);
+
+ return snprintf(buf, PAGE_SIZE, "%d\n", sensors_cdev->min_delay);
+}
+
+static ssize_t sensors_fifo_event_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct sensors_classdev *sensors_cdev = dev_get_drvdata(dev);
+
+ return snprintf(buf, PAGE_SIZE, "%d\n",
+ sensors_cdev->fifo_reserved_event_count);
+}
+
+static ssize_t sensors_fifo_max_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct sensors_classdev *sensors_cdev = dev_get_drvdata(dev);
+
+ return snprintf(buf, PAGE_SIZE, "%d\n",
+ sensors_cdev->fifo_max_event_count);
+}
+
+static ssize_t sensors_enable_store(struct device *dev,
+ struct device_attribute *attr, const char *buf, size_t size)
+{
+ struct sensors_classdev *sensors_cdev = dev_get_drvdata(dev);
+ ssize_t ret = -EINVAL;
+ unsigned long data = 0;
+
+ ret = kstrtoul(buf, 10, &data);
+ if (ret)
+ return ret;
+ if (data > 1) {
+ dev_err(dev, "Invalid value of input, input=%ld\n", data);
+ return -EINVAL;
+ }
+
+ if (sensors_cdev->sensors_enable == NULL) {
+ dev_err(dev, "Invalid sensor class enable handle\n");
+ return -EINVAL;
+ }
+ ret = sensors_cdev->sensors_enable(sensors_cdev, data);
+ if (ret)
+ return ret;
+
+ sensors_cdev->enabled = data;
+ return size;
+}
+
+
+static ssize_t sensors_enable_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct sensors_classdev *sensors_cdev = dev_get_drvdata(dev);
+
+ return snprintf(buf, PAGE_SIZE, "%u\n",
+ sensors_cdev->enabled);
+}
+
+static ssize_t sensors_delay_store(struct device *dev,
+ struct device_attribute *attr, const char *buf, size_t size)
+{
+ struct sensors_classdev *sensors_cdev = dev_get_drvdata(dev);
+ ssize_t ret = -EINVAL;
+ unsigned long data = 0;
+
+ ret = kstrtoul(buf, 10, &data);
+ if (ret)
+ return ret;
+ /* The data unit is millisecond, the min_delay unit is microseconds. */
+ if ((data * 1000) < sensors_cdev->min_delay) {
+ dev_err(dev, "Invalid value of delay, delay=%ld\n", data);
+ return -EINVAL;
+ }
+ if (sensors_cdev->sensors_poll_delay == NULL) {
+ dev_err(dev, "Invalid sensor class delay handle\n");
+ return -EINVAL;
+ }
+ ret = sensors_cdev->sensors_poll_delay(sensors_cdev, data);
+ if (ret)
+ return ret;
+
+ sensors_cdev->delay_msec = data;
+ return size;
+}
+
+static ssize_t sensors_delay_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct sensors_classdev *sensors_cdev = dev_get_drvdata(dev);
+
+ return snprintf(buf, PAGE_SIZE, "%u\n",
+ sensors_cdev->delay_msec);
+}
+
+static ssize_t sensors_test_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct sensors_classdev *sensors_cdev = dev_get_drvdata(dev);
+ int ret;
+
+ if (sensors_cdev->sensors_self_test == NULL) {
+ dev_err(dev, "Invalid sensor class self test handle\n");
+ return -EINVAL;
+ }
+
+ ret = sensors_cdev->sensors_self_test(sensors_cdev);
+ if (ret)
+ dev_warn(dev, "self test failed.(%d)\n", ret);
+
+ return snprintf(buf, PAGE_SIZE, "%s\n",
+ ret ? "fail" : "pass");
+}
+
+static ssize_t sensors_max_latency_store(struct device *dev,
+ struct device_attribute *attr, const char *buf, size_t size)
+{
+ struct sensors_classdev *sensors_cdev = dev_get_drvdata(dev);
+ unsigned long latency;
+ int ret = -EINVAL;
+
+ ret = kstrtoul(buf, 10, &latency);
+ if (ret)
+ return ret;
+
+ if (latency > sensors_cdev->max_delay) {
+ dev_err(dev, "max_latency(%lu) is greater than max_delay(%u)\n",
+ latency, sensors_cdev->max_delay);
+ return -EINVAL;
+ }
+
+ if (sensors_cdev->sensors_set_latency == NULL) {
+ dev_err(dev, "Invalid sensor calss set latency handle\n");
+ return -EINVAL;
+ }
+
+ /* Disable batching for this sensor */
+ if ((latency < sensors_cdev->delay_msec) && (latency != 0)) {
+ dev_err(dev, "max_latency is less than delay_msec\n");
+ return -EINVAL;
+ }
+
+ ret = sensors_cdev->sensors_set_latency(sensors_cdev, latency);
+ if (ret)
+ return ret;
+
+ sensors_cdev->max_latency = latency;
+
+ return size;
+}
+
+static ssize_t sensors_max_latency_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct sensors_classdev *sensors_cdev = dev_get_drvdata(dev);
+
+ return snprintf(buf, PAGE_SIZE,
+ "%u\n", sensors_cdev->max_latency);
+}
+
+static ssize_t sensors_flush_store(struct device *dev,
+ struct device_attribute *attr, const char *buf, size_t size)
+{
+ struct sensors_classdev *sensors_cdev = dev_get_drvdata(dev);
+ ssize_t ret = -EINVAL;
+ unsigned long data = 0;
+
+ ret = kstrtoul(buf, 10, &data);
+ if (ret)
+ return ret;
+ if (data != 1) {
+ dev_err(dev, "Flush: Invalid value of input, input=%ld\n",
+ data);
+ return -EINVAL;
+ }
+
+ if (sensors_cdev->sensors_flush == NULL) {
+ dev_err(dev, "Invalid sensor class flush handle\n");
+ return -EINVAL;
+ }
+ ret = sensors_cdev->sensors_flush(sensors_cdev);
+ if (ret)
+ return ret;
+
+ return size;
+}
+
+static ssize_t sensors_flush_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct sensors_classdev *sensors_cdev = dev_get_drvdata(dev);
+
+ return snprintf(buf, PAGE_SIZE,
+ "Flush handler %s\n",
+ (sensors_cdev->sensors_flush == NULL)
+ ? "not exist" : "exist");
+}
+
+static ssize_t sensors_enable_wakeup_store(struct device *dev,
+ struct device_attribute *attr, const char *buf, size_t size)
+{
+ struct sensors_classdev *sensors_cdev = dev_get_drvdata(dev);
+ ssize_t ret;
+ unsigned long enable;
+
+ if (sensors_cdev->sensors_enable_wakeup == NULL) {
+ dev_err(dev, "Invalid sensor class enable_wakeup handle\n");
+ return -EINVAL;
+ }
+
+ ret = kstrtoul(buf, 10, &enable);
+ if (ret)
+ return ret;
+
+ enable = enable ? 1 : 0;
+ ret = sensors_cdev->sensors_enable_wakeup(sensors_cdev, enable);
+ if (ret)
+ return ret;
+
+ sensors_cdev->wakeup = enable;
+
+ return size;
+}
+
+static ssize_t sensors_enable_wakeup_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct sensors_classdev *sensors_cdev = dev_get_drvdata(dev);
+
+ return snprintf(buf, PAGE_SIZE, "%d\n", sensors_cdev->wakeup);
+}
+
+
+static ssize_t sensors_calibrate_show(struct device *dev,
+ struct device_attribute *atte, char *buf)
+{
+ struct sensors_classdev *sensors_cdev = dev_get_drvdata(dev);
+
+ if (sensors_cdev->params == NULL) {
+ dev_err(dev, "Invalid sensor params\n");
+ return -EINVAL;
+ }
+ return snprintf(buf, PAGE_SIZE, "%s\n", sensors_cdev->params);
+}
+
+static ssize_t sensors_calibrate_store(struct device *dev,
+ struct device_attribute *attr, const char *buf, size_t size)
+{
+ struct sensors_classdev *sensors_cdev = dev_get_drvdata(dev);
+ ssize_t ret = -EINVAL;
+ long data;
+ int axis, apply_now;
+ int cmd, bit_h;
+
+ ret = kstrtol(buf, 0, &data);
+ if (ret)
+ return ret;
+ dev_dbg(dev, "data = %lx\n", data);
+ cmd = data & CMD_MASK;
+ if (cmd == CMD_DO_CAL) {
+ if (sensors_cdev->sensors_calibrate == NULL) {
+ dev_err(dev, "Invalid calibrate handle\n");
+ return -EINVAL;
+ }
+ /* parse the data to get the axis and apply_now value*/
+ apply_now = (int)(data >> DATA_APPLY_SHIFT) & APPLY_MASK;
+ axis = (int)data >> DATA_AXIS_SHIFT;
+ dev_dbg(dev, "apply_now = %d, axis = %d\n", apply_now, axis);
+ ret = sensors_cdev->sensors_calibrate(sensors_cdev,
+ axis, apply_now);
+ if (ret)
+ return ret;
+ } else {
+ if (sensors_cdev->sensors_write_cal_params == NULL) {
+ dev_err(dev,
+ "Invalid write_cal_params handle\n");
+ return -EINVAL;
+ }
+ bit_h = (data & CMD_W_H_L) >> 4;
+ if (cmd > CMD_DO_CAL && cmd < CMD_COMPLETE) {
+ char *p = (char *)(&sensors_cdev->cal_result)
+ + cal_map[cmd];
+ *(int *)p = CMD_GET_PARAMS(bit_h, *(int *)p, data);
+ } else if (cmd == CMD_COMPLETE) {
+ ret = sensors_cdev->sensors_write_cal_params
+ (sensors_cdev, &sensors_cdev->cal_result);
+ } else {
+ dev_err(dev, "Invalid command\n");
+ return -EINVAL;
+ }
+ }
+ return size;
+}
+
+static DEVICE_ATTR(name, 0444, sensors_name_show, NULL);
+static DEVICE_ATTR(vendor, 0444, sensors_vendor_show, NULL);
+static DEVICE_ATTR(version, 0444, sensors_version_show, NULL);
+static DEVICE_ATTR(handle, 0444, sensors_handle_show, NULL);
+static DEVICE_ATTR(type, 0444, sensors_type_show, NULL);
+static DEVICE_ATTR(max_range, 0444, sensors_max_range_show, NULL);
+static DEVICE_ATTR(resolution, 0444, sensors_resolution_show, NULL);
+static DEVICE_ATTR(sensor_power, 0444, sensors_power_show, NULL);
+static DEVICE_ATTR(min_delay, 0444, sensors_min_delay_show, NULL);
+static DEVICE_ATTR(fifo_reserved_event_count, 0444, sensors_fifo_event_show,
+ NULL);
+static DEVICE_ATTR(fifo_max_event_count, 0444, sensors_fifo_max_show, NULL);
+static DEVICE_ATTR(max_delay, 0444, sensors_max_delay_show, NULL);
+static DEVICE_ATTR(flags, 0444, sensors_flags_show, NULL);
+static DEVICE_ATTR(enable, 0664, sensors_enable_show, sensors_enable_store);
+static DEVICE_ATTR(enable_wakeup, 0664, sensors_enable_wakeup_show,
+ sensors_enable_wakeup_store);
+static DEVICE_ATTR(poll_delay, 0664, sensors_delay_show, sensors_delay_store);
+static DEVICE_ATTR(self_test, 0440, sensors_test_show, NULL);
+static DEVICE_ATTR(max_latency, 0660, sensors_max_latency_show,
+ sensors_max_latency_store);
+static DEVICE_ATTR(flush, 0660, sensors_flush_show, sensors_flush_store);
+static DEVICE_ATTR(calibrate, 0664, sensors_calibrate_show,
+ sensors_calibrate_store);
+
+static struct attribute *sensors_class_attrs[] = {
+ &dev_attr_name.attr,
+ &dev_attr_vendor.attr,
+ &dev_attr_version.attr,
+ &dev_attr_handle.attr,
+ &dev_attr_type.attr,
+ &dev_attr_max_range.attr,
+ &dev_attr_resolution.attr,
+ &dev_attr_sensor_power.attr,
+ &dev_attr_min_delay.attr,
+ &dev_attr_fifo_reserved_event_count.attr,
+ &dev_attr_fifo_max_event_count.attr,
+ &dev_attr_max_delay.attr,
+ &dev_attr_flags.attr,
+ &dev_attr_enable.attr,
+ &dev_attr_enable_wakeup.attr,
+ &dev_attr_poll_delay.attr,
+ &dev_attr_self_test.attr,
+ &dev_attr_max_latency.attr,
+ &dev_attr_flush.attr,
+ &dev_attr_calibrate.attr,
+ NULL,
+};
+ATTRIBUTE_GROUPS(sensors_class);
+
+/**
+ * sensors_classdev_register - register a new object of sensors_classdev class.
+ * @parent: The device to register.
+ * @sensors_cdev: the sensors_classdev structure for this device.
+*/
+int sensors_classdev_register(struct device *parent,
+ struct sensors_classdev *sensors_cdev)
+{
+ sensors_cdev->dev = device_create(sensors_class, parent, 0,
+ sensors_cdev, "%s", sensors_cdev->name);
+ if (IS_ERR(sensors_cdev->dev))
+ return PTR_ERR(sensors_cdev->dev);
+
+ down_write(&sensors_list_lock);
+ list_add_tail(&sensors_cdev->node, &sensors_list);
+ up_write(&sensors_list_lock);
+
+ pr_debug("Registered sensors device: %s\n",
+ sensors_cdev->name);
+ return 0;
+}
+EXPORT_SYMBOL(sensors_classdev_register);
+
+/**
+ * sensors_classdev_unregister - unregister a object of sensors class.
+ * @sensors_cdev: the sensor device to unregister
+ * Unregister a previously registered via sensors_classdev_register object.
+*/
+void sensors_classdev_unregister(struct sensors_classdev *sensors_cdev)
+{
+ device_unregister(sensors_cdev->dev);
+ down_write(&sensors_list_lock);
+ list_del(&sensors_cdev->node);
+ up_write(&sensors_list_lock);
+}
+EXPORT_SYMBOL(sensors_classdev_unregister);
+
+static int __init sensors_init(void)
+{
+ sensors_class = class_create(THIS_MODULE, "sensors");
+ if (IS_ERR(sensors_class))
+ return PTR_ERR(sensors_class);
+ sensors_class->dev_groups = sensors_class_groups;
+ return 0;
+}
+
+static void __exit sensors_exit(void)
+{
+ class_destroy(sensors_class);
+}
+
+subsys_initcall(sensors_init);
+module_exit(sensors_exit);
diff --git a/drivers/soc/qcom/bgcom_interface.c b/drivers/soc/qcom/bgcom_interface.c
index f2ec132..8d71bf6 100644
--- a/drivers/soc/qcom/bgcom_interface.c
+++ b/drivers/soc/qcom/bgcom_interface.c
@@ -273,7 +273,7 @@
static int bgchar_write_cmd(struct bg_ui_data *fui_obj_msg, int type)
{
void *write_buf;
- int ret;
+ int ret = -EINVAL;
void __user *write = (void *)
(uintptr_t)fui_obj_msg->write;
@@ -359,8 +359,8 @@
sizeof(ui_obj_msg))) {
pr_err("The copy from user failed\n");
ret = -EFAULT;
- }
- ret = bgchar_write_cmd(&ui_obj_msg, ui_bgcom_cmd);
+ } else
+ ret = bgchar_write_cmd(&ui_obj_msg, ui_bgcom_cmd);
if (ret < 0)
pr_err("bgchar_write_cmd failed\n");
break;
diff --git a/drivers/soc/qcom/rpm_master_stat.c b/drivers/soc/qcom/rpm_master_stat.c
index bf4f5ecb..0b590ef 100644
--- a/drivers/soc/qcom/rpm_master_stat.c
+++ b/drivers/soc/qcom/rpm_master_stat.c
@@ -89,6 +89,7 @@
u32 len;
char **master_names;
u32 num_masters;
+ u32 master_cnt;
char buf[RPM_MASTERS_BUF_LEN];
struct msm_rpm_master_stats_platform_data *platform_data;
};
@@ -112,14 +113,13 @@
{
struct msm_rpm_master_stats record;
struct msm_rpm_master_stats_platform_data *pdata;
- static int master_cnt;
int count, j = 0;
char *buf;
unsigned long active_cores;
/* Iterate possible number of masters */
- if (master_cnt > prvdata->num_masters - 1) {
- master_cnt = 0;
+ if (prvdata->master_cnt > prvdata->num_masters - 1) {
+ prvdata->master_cnt = 0;
return 0;
}
@@ -129,10 +129,10 @@
if (prvdata->platform_data->version == 2) {
SNPRINTF(buf, count, "%s\n",
- GET_MASTER_NAME(master_cnt, prvdata));
+ GET_MASTER_NAME(prvdata->master_cnt, prvdata));
record.shutdown_req = readq_relaxed(prvdata->reg_base +
- (master_cnt * pdata->master_offset +
+ (prvdata->master_cnt * pdata->master_offset +
offsetof(struct msm_rpm_master_stats, shutdown_req)));
SNPRINTF(buf, count, "\t%s:0x%llX\n",
@@ -140,7 +140,7 @@
record.shutdown_req);
record.wakeup_ind = readq_relaxed(prvdata->reg_base +
- (master_cnt * pdata->master_offset +
+ (prvdata->master_cnt * pdata->master_offset +
offsetof(struct msm_rpm_master_stats, wakeup_ind)));
SNPRINTF(buf, count, "\t%s:0x%llX\n",
@@ -148,7 +148,7 @@
record.wakeup_ind);
record.bringup_req = readq_relaxed(prvdata->reg_base +
- (master_cnt * pdata->master_offset +
+ (prvdata->master_cnt * pdata->master_offset +
offsetof(struct msm_rpm_master_stats, bringup_req)));
SNPRINTF(buf, count, "\t%s:0x%llX\n",
@@ -156,7 +156,7 @@
record.bringup_req);
record.bringup_ack = readq_relaxed(prvdata->reg_base +
- (master_cnt * pdata->master_offset +
+ (prvdata->master_cnt * pdata->master_offset +
offsetof(struct msm_rpm_master_stats, bringup_ack)));
SNPRINTF(buf, count, "\t%s:0x%llX\n",
@@ -164,7 +164,7 @@
record.bringup_ack);
record.xo_last_entered_at = readq_relaxed(prvdata->reg_base +
- (master_cnt * pdata->master_offset +
+ (prvdata->master_cnt * pdata->master_offset +
offsetof(struct msm_rpm_master_stats,
xo_last_entered_at)));
@@ -173,7 +173,7 @@
record.xo_last_entered_at);
record.xo_last_exited_at = readq_relaxed(prvdata->reg_base +
- (master_cnt * pdata->master_offset +
+ (prvdata->master_cnt * pdata->master_offset +
offsetof(struct msm_rpm_master_stats,
xo_last_exited_at)));
@@ -183,7 +183,7 @@
record.xo_accumulated_duration =
readq_relaxed(prvdata->reg_base +
- (master_cnt * pdata->master_offset +
+ (prvdata->master_cnt * pdata->master_offset +
offsetof(struct msm_rpm_master_stats,
xo_accumulated_duration)));
@@ -193,7 +193,7 @@
record.last_sleep_transition_duration =
readl_relaxed(prvdata->reg_base +
- (master_cnt * pdata->master_offset +
+ (prvdata->master_cnt * pdata->master_offset +
offsetof(struct msm_rpm_master_stats,
last_sleep_transition_duration)));
@@ -203,7 +203,7 @@
record.last_wake_transition_duration =
readl_relaxed(prvdata->reg_base +
- (master_cnt * pdata->master_offset +
+ (prvdata->master_cnt * pdata->master_offset +
offsetof(struct msm_rpm_master_stats,
last_wake_transition_duration)));
@@ -213,7 +213,7 @@
record.xo_count =
readl_relaxed(prvdata->reg_base +
- (master_cnt * pdata->master_offset +
+ (prvdata->master_cnt * pdata->master_offset +
offsetof(struct msm_rpm_master_stats,
xo_count)));
@@ -222,7 +222,8 @@
record.xo_count);
record.wakeup_reason = readl_relaxed(prvdata->reg_base +
- (master_cnt * pdata->master_offset +
+ (prvdata->master_cnt *
+ pdata->master_offset +
offsetof(struct msm_rpm_master_stats,
wakeup_reason)));
@@ -231,7 +232,7 @@
record.wakeup_reason);
record.numshutdowns = readl_relaxed(prvdata->reg_base +
- (master_cnt * pdata->master_offset +
+ (prvdata->master_cnt * pdata->master_offset +
offsetof(struct msm_rpm_master_stats, numshutdowns)));
SNPRINTF(buf, count, "\t%s:0x%x\n",
@@ -239,7 +240,7 @@
record.numshutdowns);
record.active_cores = readl_relaxed(prvdata->reg_base +
- (master_cnt * pdata->master_offset) +
+ (prvdata->master_cnt * pdata->master_offset) +
offsetof(struct msm_rpm_master_stats, active_cores));
SNPRINTF(buf, count, "\t%s:0x%x\n",
@@ -247,17 +248,19 @@
record.active_cores);
} else {
SNPRINTF(buf, count, "%s\n",
- GET_MASTER_NAME(master_cnt, prvdata));
+ GET_MASTER_NAME(prvdata->master_cnt, prvdata));
record.numshutdowns = readl_relaxed(prvdata->reg_base +
- (master_cnt * pdata->master_offset) + 0x0);
+ (prvdata->master_cnt * pdata->master_offset)
+ + 0x0);
SNPRINTF(buf, count, "\t%s:0x%0x\n",
GET_FIELD(record.numshutdowns),
record.numshutdowns);
record.active_cores = readl_relaxed(prvdata->reg_base +
- (master_cnt * pdata->master_offset) + 0x4);
+ (prvdata->master_cnt * pdata->master_offset)
+ + 0x4);
SNPRINTF(buf, count, "\t%s:0x%0x\n",
GET_FIELD(record.active_cores),
@@ -275,7 +278,7 @@
if (j == (BITS_PER_LONG - 1))
SNPRINTF(buf, count, "\t\tcore%d\n", j);
- master_cnt++;
+ prvdata->master_cnt++;
return RPM_MASTERS_BUF_LEN - count;
}
@@ -353,6 +356,7 @@
prvdata->num_masters = pdata->num_masters;
prvdata->master_names = pdata->masters;
prvdata->platform_data = pdata;
+ prvdata->master_cnt = 0;
exit:
mutex_unlock(&msm_rpm_master_stats_mutex);
return ret;
diff --git a/drivers/soc/qcom/rpm_stats.c b/drivers/soc/qcom/rpm_stats.c
index e7d9fac5..e2a01f0 100644
--- a/drivers/soc/qcom/rpm_stats.c
+++ b/drivers/soc/qcom/rpm_stats.c
@@ -103,12 +103,12 @@
#if defined(CONFIG_MSM_RPM_SMD)
return snprintf(buf, buflength,
- "RPM Mode:%s\n\t count:%d\ntime in last mode(msec):%llu\n"
- "time since last mode(sec):%llu\nactual last sleep(msec):%llu\n"
- "client votes: %#010x\n\n",
- stat_type, data->count, time_in_last_mode,
- time_since_last_mode, actual_last_sleep,
- data->client_votes);
+ "RPM_Mode:%s\n\t %s_count:%d\ntime_in_%s(msec):%llu\n"
+ "time_since_last_%s(sec):%llu\naccumulated_%s_time(msec):%llu\n"
+ "client_votes_for_%s: %#010x\n\n",
+ stat_type, stat_type, data->count, stat_type,
+ time_in_last_mode, stat_type, time_since_last_mode, stat_type,
+ actual_last_sleep, stat_type, data->client_votes);
#else
return snprintf(buf, buflength,
"RPM Mode:%s\n\t count:%d\ntime in last mode(msec):%llu\n"
diff --git a/drivers/staging/android/ashmem.c b/drivers/staging/android/ashmem.c
index f4ffac4..ac66640 100644
--- a/drivers/staging/android/ashmem.c
+++ b/drivers/staging/android/ashmem.c
@@ -370,8 +370,23 @@
_calc_vm_trans(prot, PROT_EXEC, VM_MAYEXEC);
}
+static int ashmem_vmfile_mmap(struct file *file, struct vm_area_struct *vma)
+{
+ /* do not allow to mmap ashmem backing shmem file directly */
+ return -EPERM;
+}
+
+static unsigned long
+ashmem_vmfile_get_unmapped_area(struct file *file, unsigned long addr,
+ unsigned long len, unsigned long pgoff,
+ unsigned long flags)
+{
+ return current->mm->get_unmapped_area(file, addr, len, pgoff, flags);
+}
+
static int ashmem_mmap(struct file *file, struct vm_area_struct *vma)
{
+ static struct file_operations vmfile_fops;
struct ashmem_area *asma = file->private_data;
int ret = 0;
@@ -406,6 +421,19 @@
}
vmfile->f_mode |= FMODE_LSEEK;
asma->file = vmfile;
+ /*
+ * override mmap operation of the vmfile so that it can't be
+ * remapped which would lead to creation of a new vma with no
+ * asma permission checks. Have to override get_unmapped_area
+ * as well to prevent VM_BUG_ON check for f_ops modification.
+ */
+ if (!vmfile_fops.mmap) {
+ vmfile_fops = *vmfile->f_op;
+ vmfile_fops.mmap = ashmem_vmfile_mmap;
+ vmfile_fops.get_unmapped_area =
+ ashmem_vmfile_get_unmapped_area;
+ }
+ vmfile->f_op = &vmfile_fops;
}
get_file(asma->file);
diff --git a/drivers/video/fbdev/msm/mdp3.c b/drivers/video/fbdev/msm/mdp3.c
index f8e4458..9c0d524 100644
--- a/drivers/video/fbdev/msm/mdp3.c
+++ b/drivers/video/fbdev/msm/mdp3.c
@@ -1393,7 +1393,7 @@
{
struct fd f;
int ret = -EINVAL;
- int fb_num;
+ int fb_num = 0;
struct ion_client *iclient = mdp3_res->ion_client;
int dom = (mdp3_res->domains + MDP3_IOMMU_DOMAIN_UNSECURE)->domain_idx;
diff --git a/drivers/video/fbdev/msm/mdp3_ctrl.c b/drivers/video/fbdev/msm/mdp3_ctrl.c
index 009dda3..34bafea8 100644
--- a/drivers/video/fbdev/msm/mdp3_ctrl.c
+++ b/drivers/video/fbdev/msm/mdp3_ctrl.c
@@ -886,14 +886,8 @@
te.hw_vsync_mode = panel_info->mipi.hw_vsync_mode;
te.tear_check_en = panel_info->te.tear_check_en;
te.sync_cfg_height = panel_info->te.sync_cfg_height;
-
- /*
- * for MDP3, max value of CFG_HEIGHT is 0x7ff
- * for MDP5, max value of CFG_HEIGHT is 0xffff
- */
- if (te.sync_cfg_height > 0x7ff)
- te.sync_cfg_height = 0x7ff;
-
+ if (te.sync_cfg_height > MDP3_MAX_CFG_HEIGHT)
+ te.sync_cfg_height = MDP3_MAX_CFG_HEIGHT;
te.vsync_init_val = panel_info->te.vsync_init_val;
te.sync_threshold_start = panel_info->te.sync_threshold_start;
te.sync_threshold_continue = panel_info->te.sync_threshold_continue;
diff --git a/drivers/video/fbdev/msm/mdp3_ctrl.h b/drivers/video/fbdev/msm/mdp3_ctrl.h
index 07377a9..71642ff 100644
--- a/drivers/video/fbdev/msm/mdp3_ctrl.h
+++ b/drivers/video/fbdev/msm/mdp3_ctrl.h
@@ -28,6 +28,11 @@
#define MDP3_MAX_BUF_QUEUE 8
#define MDP3_LUT_HIST_EN 0x001
#define MDP3_LUT_GC_EN 0x002
+/*
+ * for MDP3, max value of CFG_HEIGHT is 0x7ff
+ * for MDP5, max value of CFG_HEIGHT is 0xffff
+ */
+#define MDP3_MAX_CFG_HEIGHT 0x7ff
struct mdp3_buffer_queue {
struct mdp3_img_data img_data[MDP3_MAX_BUF_QUEUE];
diff --git a/drivers/video/fbdev/msm/mdss_dsi.c b/drivers/video/fbdev/msm/mdss_dsi.c
index 9d87a68..bea3246 100644
--- a/drivers/video/fbdev/msm/mdss_dsi.c
+++ b/drivers/video/fbdev/msm/mdss_dsi.c
@@ -39,6 +39,8 @@
#define XO_CLK_RATE 19200000
#define CMDLINE_DSI_CTL_NUM_STRING_LEN 2
+static int g_init_once;
+
/* Master structure to hold all the information about the DSI/panel */
static struct mdss_dsi_data *mdss_dsi_res;
@@ -550,7 +552,9 @@
switch (power_state) {
case MDSS_PANEL_POWER_OFF:
- ret = mdss_dsi_panel_power_off(pdata);
+ if (!pinfo->pwr_off_disable) {
+ ret = mdss_dsi_panel_power_off(pdata);
+ }
break;
case MDSS_PANEL_POWER_ON:
if (mdss_dsi_is_panel_on_ulp(pdata)) {
@@ -560,7 +564,15 @@
ret = mdss_dsi_panel_power_lp(pdata, false);
goto end;
} else {
- ret = mdss_dsi_panel_power_on(pdata);
+ if (!pinfo->pwr_off_disable) {
+ ret = mdss_dsi_panel_power_on(pdata);
+ } else {
+ if (!g_init_once) {
+ ret = mdss_dsi_panel_power_on(pdata);
+ if (!ret)
+ g_init_once = 1;
+ }
+ }
}
break;
case MDSS_PANEL_POWER_LP1:
diff --git a/drivers/video/fbdev/msm/mdss_dsi.h b/drivers/video/fbdev/msm/mdss_dsi.h
index 5d2d677..0c75407 100644
--- a/drivers/video/fbdev/msm/mdss_dsi.h
+++ b/drivers/video/fbdev/msm/mdss_dsi.h
@@ -482,6 +482,15 @@
struct dsi_panel_cmds status_cmds;
struct dsi_panel_cmds idle_on_cmds; /* for lp mode */
struct dsi_panel_cmds idle_off_cmds;
+
+ /* one-phase HBM activation commands */
+ struct dsi_panel_cmds hbm_on_cmds;
+ /* two-phase HBM activation commands */
+ struct dsi_panel_cmds hbm0_on_cmds;
+ struct dsi_panel_cmds hbm1_on_cmds;
+ /* general HBM turndown commands */
+ struct dsi_panel_cmds hbm_off_cmds;
+
u32 *status_valid_params;
u32 *status_cmds_rlen;
u32 *status_value;
@@ -564,6 +573,11 @@
bool update_phy_timing; /* flag to recalculate PHY timings */
bool phy_power_off;
+
+ /* in-cell touch panel display state params */
+ char read_back_param[1];
+ char id3_code[1]; //for Module/Driver ID
+ bool boost_mode_state;
};
struct dsi_status_data {
@@ -690,6 +704,11 @@
void mdss_dsi_debug_bus_init(struct mdss_dsi_data *sdata);
+void mdss_dsi_cmds_send(struct mdss_dsi_ctrl_pdata *ctrl,
+ struct dsi_panel_cmds *pcmds, u32 flags);
+int mdss_dsi_raydium_cmd_read(struct mdss_dsi_ctrl_pdata *ctrl, char page,
+ char addr, void (*fxn)(int), char *rbuf, int len);
+
static inline const char *__mdss_dsi_pm_name(enum dsi_pm_type module)
{
switch (module) {
diff --git a/drivers/video/fbdev/msm/mdss_dsi_cmd.c b/drivers/video/fbdev/msm/mdss_dsi_cmd.c
index c67fd8a..c6dc2d8 100644
--- a/drivers/video/fbdev/msm/mdss_dsi_cmd.c
+++ b/drivers/video/fbdev/msm/mdss_dsi_cmd.c
@@ -25,6 +25,8 @@
#include "mdss_dsi.h"
#include "mdss_smmu.h"
+static DEFINE_MUTEX(boost_mode_lock);
+
/*
* mipi dsi buf mechanism
*/
@@ -694,6 +696,9 @@
if (pinfo->dcs_cmd_by_left && ctrl->ndx != DSI_CTRL_LEFT)
return;
+ if (pinfo->tear_disable)
+ return;
+
cmdreq.cmds = &dsi_tear_on_cmd;
cmdreq.cmds_cnt = 1;
cmdreq.flags = CMD_REQ_COMMIT;
@@ -712,6 +717,9 @@
if (pinfo->dcs_cmd_by_left && ctrl->ndx != DSI_CTRL_LEFT)
return;
+ if (pinfo->tear_disable)
+ return;
+
cmdreq.cmds = &dsi_tear_off_cmd;
cmdreq.cmds_cnt = 1;
cmdreq.flags = CMD_REQ_COMMIT;
@@ -721,6 +729,31 @@
mdss_dsi_cmdlist_put(ctrl, &cmdreq);
}
+static char switch_page[2] = {0xFE, 0x00};
+static struct dsi_cmd_desc dsi_switch_page_cmd = {
+ {DTYPE_DCS_WRITE1, 1, 0, 0, 0, sizeof(switch_page)}, switch_page};
+
+void mdss_dsi_switch_page(struct mdss_dsi_ctrl_pdata *ctrl, char page)
+{
+ struct dcs_cmd_req cmdreq;
+ struct mdss_panel_info *pinfo;
+
+ pinfo = &(ctrl->panel_data.panel_info);
+ if (pinfo->dcs_cmd_by_left && ctrl->ndx != DSI_CTRL_LEFT)
+ return;
+
+ switch_page[1] = page;
+
+ memset(&cmdreq, 0, sizeof(cmdreq));
+ cmdreq.cmds = &dsi_switch_page_cmd;
+ cmdreq.cmds_cnt = 1;
+ cmdreq.flags = CMD_REQ_COMMIT;
+ cmdreq.rlen = 0;
+ cmdreq.cb = NULL;
+
+ mdss_dsi_cmdlist_put(ctrl, &cmdreq);
+}
+
/*
* mdss_dsi_cmd_get: ctrl->cmd_mutex acquired by caller
*/
@@ -791,3 +824,141 @@
return ret;
}
+void mdss_dsi_cmds_send(struct mdss_dsi_ctrl_pdata *ctrl,
+ struct dsi_panel_cmds *pcmds, u32 flags)
+{
+ struct dcs_cmd_req cmdreq;
+ struct mdss_panel_info *pinfo;
+
+ pinfo = &(ctrl->panel_data.panel_info);
+ if (pinfo->dcs_cmd_by_left) {
+ if (ctrl->ndx != DSI_CTRL_LEFT)
+ return;
+ }
+
+ memset(&cmdreq, 0, sizeof(cmdreq));
+ cmdreq.cmds = pcmds->cmds;
+ cmdreq.cmds_cnt = pcmds->cmd_cnt;
+ cmdreq.flags = flags;
+
+ if (pcmds->link_state == DSI_LP_MODE)
+ cmdreq.flags |= CMD_REQ_LP_MODE;
+ else if (pcmds->link_state == DSI_HS_MODE)
+ cmdreq.flags |= CMD_REQ_HS_MODE;
+
+ cmdreq.rlen = 0;
+ cmdreq.cb = NULL;
+
+ mdss_dsi_cmdlist_put(ctrl, &cmdreq);
+}
+
+static char _dcs_cmd[2] = {0x00, 0x00};
+static struct dsi_cmd_desc _dcs_read_cmd = {
+ {DTYPE_DCS_READ, 1, 0, 1, 5, sizeof(_dcs_cmd)}, _dcs_cmd};
+
+int mdss_dsi_raydium_cmd_read(struct mdss_dsi_ctrl_pdata *ctrl, char page,
+ char addr, void (*fxn)(int), char *rbuf, int len)
+{
+ struct dcs_cmd_req cmdreq;
+ struct mdss_panel_info *pinfo;
+
+ pinfo = &(ctrl->panel_data.panel_info);
+ if (pinfo->dcs_cmd_by_left) {
+ if (ctrl->ndx != DSI_CTRL_LEFT)
+ return -EINVAL;
+ }
+
+ //switch to the correct page prior to reading
+ mdss_dsi_switch_page(ctrl, page);
+
+ _dcs_cmd[0] = addr;
+ memset(&cmdreq, 0, sizeof(cmdreq));
+ cmdreq.cmds = &_dcs_read_cmd;
+ cmdreq.cmds_cnt = 1;
+ cmdreq.flags = CMD_REQ_RX | CMD_REQ_COMMIT;
+ cmdreq.rlen = len;
+ cmdreq.rbuf = rbuf;
+ cmdreq.cb = fxn; /* call back */
+ /*
+ * blocked here, until call back called
+ */
+
+ return mdss_dsi_cmdlist_put(ctrl, &cmdreq);
+}
+
+void mdss_dsi_brightness_boost_on(struct mdss_dsi_ctrl_pdata *ctrl)
+{
+ struct dsi_panel_cmds *hbm_on_cmds = NULL;
+
+ if (ctrl->hbm_on_cmds.blen > 0) {
+ hbm_on_cmds = &ctrl->hbm_on_cmds;
+ } else {
+ switch (ctrl->id3_code[0]) {
+ case 0x01:
+ hbm_on_cmds = &ctrl->hbm0_on_cmds;
+ break;
+
+ case 0x03:
+ hbm_on_cmds = &ctrl->hbm1_on_cmds;
+ break;
+
+ case 0x04:
+ hbm_on_cmds = &ctrl->hbm1_on_cmds;
+ break;
+
+ default:
+ /*
+ * technically speaking, we won't get here since
+ * the value would be set anyway during boot phase
+ */
+ pr_info("%s: HBM err: default case (%d)\n", __func__,
+ ctrl->id3_code[0]);
+
+ if (hbm_on_cmds == NULL)
+ hbm_on_cmds = &ctrl->hbm1_on_cmds;
+ break;
+ }
+ }
+
+ if (hbm_on_cmds != NULL && hbm_on_cmds->cmd_cnt) {
+ mdss_dsi_cmds_send(ctrl, hbm_on_cmds, CMD_REQ_COMMIT);
+
+ pr_info("%s: boost on!\n", __func__);
+ }
+}
+
+void mdss_dsi_brightness_boost_off(struct mdss_dsi_ctrl_pdata *ctrl)
+{
+ struct dsi_panel_cmds *hbm_off_cmds = NULL;
+
+ hbm_off_cmds = &ctrl->hbm_off_cmds;
+
+ if (ctrl->hbm1_on_cmds.blen > 0) {
+ pr_info("%s: read_back_param[0] = 0x%02x\n", __func__,
+ ctrl->read_back_param[0]);
+
+ //write back to HBM off command flow
+ hbm_off_cmds->cmds[9].payload[1] = ctrl->read_back_param[0];
+ }
+
+ if (hbm_off_cmds->cmd_cnt) {
+ mdss_dsi_cmds_send(ctrl, hbm_off_cmds, CMD_REQ_COMMIT);
+
+ pr_info("%s: boost off!\n", __func__);
+ }
+}
+
+void mdss_dsi_boost_mode_enable(struct mdss_dsi_ctrl_pdata *ctrl, u32 enabled)
+{
+ mutex_lock(&boost_mode_lock);
+ if (ctrl->boost_mode_state != enabled) {
+ if (enabled != 0) {
+ mdss_dsi_brightness_boost_on(ctrl);
+ ctrl->boost_mode_state = 1;
+ } else {
+ mdss_dsi_brightness_boost_off(ctrl);
+ ctrl->boost_mode_state = 0;
+ }
+ }
+ mutex_unlock(&boost_mode_lock);
+}
diff --git a/drivers/video/fbdev/msm/mdss_dsi_cmd.h b/drivers/video/fbdev/msm/mdss_dsi_cmd.h
index 0ec96ec..be8fc98 100644
--- a/drivers/video/fbdev/msm/mdss_dsi_cmd.h
+++ b/drivers/video/fbdev/msm/mdss_dsi_cmd.h
@@ -132,6 +132,12 @@
int mdss_dsi_long_read_resp(struct dsi_buf *rp);
void mdss_dsi_set_tear_on(struct mdss_dsi_ctrl_pdata *ctrl);
void mdss_dsi_set_tear_off(struct mdss_dsi_ctrl_pdata *ctrl);
+
+void mdss_dsi_switch_page(struct mdss_dsi_ctrl_pdata *ctrl, char page);
+void mdss_dsi_brightness_boost_on(struct mdss_dsi_ctrl_pdata *ctrl);
+void mdss_dsi_brightness_boost_off(struct mdss_dsi_ctrl_pdata *ctrl);
+void mdss_dsi_boost_mode_enable(struct mdss_dsi_ctrl_pdata *ctrl, u32 enabled);
+
struct dcs_cmd_req *mdss_dsi_cmdlist_get(struct mdss_dsi_ctrl_pdata *ctrl,
int from_mdp);
int mdss_dsi_cmdlist_put(struct mdss_dsi_ctrl_pdata *ctrl,
diff --git a/drivers/video/fbdev/msm/mdss_dsi_panel.c b/drivers/video/fbdev/msm/mdss_dsi_panel.c
index 7eb8c70..c94cac4 100644
--- a/drivers/video/fbdev/msm/mdss_dsi_panel.c
+++ b/drivers/video/fbdev/msm/mdss_dsi_panel.c
@@ -37,6 +37,8 @@
DEFINE_LED_TRIGGER(bl_led_trigger);
+static int g_pre_init;
+
void mdss_dsi_panel_pwm_cfg(struct mdss_dsi_ctrl_pdata *ctrl)
{
if (ctrl->pwm_pmi)
@@ -266,6 +268,11 @@
if (ctrl->idle == enable)
return;
+ if (ctrl->hbm_off_cmds.blen > 0) {
+ if (enable)
+ mdss_dsi_boost_mode_enable(ctrl, 0);
+ }
+
MDSS_XLOG(ctrl->idle, enable);
if (enable) {
if (ctrl->idle_on_cmds.cmd_cnt) {
@@ -980,6 +987,24 @@
mdss_dsi_post_panel_on_hdmi(pinfo);
+ /* check for readback only on panels using two-phase HBM */
+ if (ctrl->hbm1_on_cmds.blen > 0 && !g_pre_init) {
+ g_pre_init++;
+
+ mdss_dsi_raydium_cmd_read(ctrl, 0x01, 0x19, NULL,
+ ctrl->read_back_param, 1);
+ pr_info("%s: read_back_param[0] = 0x%02x\n", __func__,
+ ctrl->read_back_param[0]);
+
+ mdss_dsi_raydium_cmd_read(ctrl, 0x00, 0xDC, NULL,
+ ctrl->id3_code, 1);
+ pr_info("%s: id3_code[0] = 0x%02x\n", __func__,
+ ctrl->id3_code[0]);
+
+ //switch back to original page
+ mdss_dsi_switch_page(ctrl, 0x00);
+ }
+
end:
pr_debug("%s:-\n", __func__);
return 0;
@@ -1024,6 +1049,9 @@
goto end;
}
+ if (ctrl->hbm_off_cmds.blen > 0)
+ mdss_dsi_boost_mode_enable(ctrl, 0);
+
if (ctrl->off_cmds.cmd_cnt)
mdss_dsi_panel_cmds_send(ctrl, &ctrl->off_cmds, CMD_REQ_COMMIT);
@@ -2166,6 +2194,12 @@
mdss_dsi_parse_dcs_cmds(np, &ctrl->lp_off_cmds,
"qcom,mdss-dsi-lp-mode-off", NULL);
+ pinfo->pwr_off_disable = of_property_read_bool(np,
+ "qcom,mdss-dsi-power-off-disable");
+
+ pinfo->tear_disable = of_property_read_bool(np,
+ "qcom,mdss-dsi-tear-disable");
+
return 0;
}
@@ -2913,6 +2947,19 @@
"qcom,mdss-dsi-idle-off-command",
"qcom,mdss-dsi-idle-off-command-state");
+ /* Current support is for panels with one or two HBM command states;
+ * try to read for the first case, fall back to the second case */
+ rc = mdss_dsi_parse_dcs_cmds(np, &ctrl_pdata->hbm_on_cmds,
+ "qcom,mdss-dsi-hbm-on-command", NULL);
+ if (rc == -ENOMEM) {
+ rc = mdss_dsi_parse_dcs_cmds(np, &ctrl_pdata->hbm0_on_cmds,
+ "qcom,mdss-dsi-hbm0-on-command", NULL);
+ mdss_dsi_parse_dcs_cmds(np, &ctrl_pdata->hbm1_on_cmds,
+ "qcom,mdss-dsi-hbm1-on-command", NULL);
+ }
+ mdss_dsi_parse_dcs_cmds(np, &ctrl_pdata->hbm_off_cmds,
+ "qcom,mdss-dsi-hbm-off-command", NULL);
+
rc = of_property_read_u32(np, "qcom,mdss-dsi-idle-fps", &tmp);
pinfo->mipi.frame_rate_idle = (!rc ? tmp : 60);
diff --git a/drivers/video/fbdev/msm/mdss_fb.c b/drivers/video/fbdev/msm/mdss_fb.c
index 873543f..9d9d7eb0 100644
--- a/drivers/video/fbdev/msm/mdss_fb.c
+++ b/drivers/video/fbdev/msm/mdss_fb.c
@@ -52,6 +52,7 @@
#include "mdss_debug.h"
#include "mdss_smmu.h"
#include "mdss_mdp.h"
+#include "mdss_dsi.h"
#include "mdp3_ctrl.h"
#include "mdss_sync.h"
@@ -530,6 +531,29 @@
mfd->idle_state = MDSS_FB_IDLE;
}
+static void __mdss_fb_boost_mode_work(struct work_struct *work)
+{
+ struct mdss_dsi_ctrl_pdata *ctrl = NULL;
+ struct delayed_work *dw = to_delayed_work(work);
+ struct msm_fb_data_type *mfd = container_of(dw, struct msm_fb_data_type,
+ boost_mode_work);
+
+ pr_info("__mdss_fb_boost_mode_work+\n");
+
+ ctrl = container_of(dev_get_platdata(&mfd->pdev->dev),
+ struct mdss_dsi_ctrl_pdata, panel_data);
+ if (!ctrl) {
+ pr_err("%s: DSI ctrl not available\n", __func__);
+ return;
+ }
+
+ if (!mdss_fb_is_power_on_interactive(mfd)) {
+ pr_err("only normal mode can be the entry to HBM\n");
+ return;
+ }
+
+ mdss_dsi_boost_mode_enable(ctrl, mfd->activate_boost);
+}
static ssize_t mdss_fb_get_fps_info(struct device *dev,
struct device_attribute *attr, char *buf)
@@ -911,6 +935,67 @@
return scnprintf(buf, PAGE_SIZE, "idle power collapsed\n");
}
+static ssize_t mdss_fb_get_boost_mode(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ int ret;
+
+ struct fb_info *fbi = dev_get_drvdata(dev);
+ struct msm_fb_data_type *mfd = fbi->par;
+ struct mdss_dsi_ctrl_pdata *ctrl = NULL;
+
+ ctrl = container_of(dev_get_platdata(&mfd->pdev->dev),
+ struct mdss_dsi_ctrl_pdata, panel_data);
+ if (!ctrl) {
+ pr_err("%s: DSI ctrl not available\n", __func__);
+ return -EINVAL;
+ }
+
+ ret = scnprintf(buf, PAGE_SIZE, "%d\n", ctrl->boost_mode_state);
+
+ return ret;
+}
+
+static ssize_t mdss_fb_set_boost_mode(struct device *dev,
+ struct device_attribute *attr, const char *buf, size_t count)
+{
+ int rc = 0;
+ int boost_mode = 0;
+
+ struct fb_info *fbi = dev_get_drvdata(dev);
+ struct msm_fb_data_type *mfd = fbi->par;
+ struct mdss_dsi_ctrl_pdata *ctrl = NULL;
+
+ ctrl = container_of(dev_get_platdata(&mfd->pdev->dev),
+ struct mdss_dsi_ctrl_pdata, panel_data);
+ if (!ctrl) {
+ pr_err("%s: DSI ctrl not available\n", __func__);
+ return -EINVAL;
+ }
+
+ rc = kstrtoint(buf, 10, &boost_mode);
+ if (rc) {
+ pr_err("kstrtoint failed. rc=%d\n", rc);
+ return rc;
+ }
+
+ if (mfd->panel_info->type != MIPI_CMD_PANEL) {
+ pr_err("support for command mode panel only\n");
+ } else {
+ if (boost_mode != 0)
+ mfd->activate_boost = 1;
+ else
+ mfd->activate_boost = 0;
+
+ cancel_delayed_work_sync(&mfd->boost_mode_work);
+
+ schedule_delayed_work(&mfd->boost_mode_work,
+ msecs_to_jiffies(BOOST_WAITING_MS));
+ }
+
+ return count;
+}
+
static DEVICE_ATTR(msm_fb_type, 0444, mdss_fb_get_type, NULL);
static DEVICE_ATTR(msm_fb_split, 0644, mdss_fb_show_split,
mdss_fb_store_split);
@@ -932,6 +1017,8 @@
static DEVICE_ATTR(msm_fb_persist_mode, 0644,
mdss_fb_get_persist_mode, mdss_fb_change_persist_mode);
static DEVICE_ATTR(idle_power_collapse, 0444, mdss_fb_idle_pc_notify, NULL);
+static DEVICE_ATTR(msm_fb_boost_mode, 0644,
+ mdss_fb_get_boost_mode, mdss_fb_set_boost_mode);
static struct attribute *mdss_fb_attrs[] = {
&dev_attr_msm_fb_type.attr,
@@ -947,6 +1034,7 @@
&dev_attr_measured_fps.attr,
&dev_attr_msm_fb_persist_mode.attr,
&dev_attr_idle_power_collapse.attr,
+ &dev_attr_msm_fb_boost_mode.attr,
NULL,
};
@@ -1405,6 +1493,7 @@
pr_err("failed to register input handler\n");
INIT_DELAYED_WORK(&mfd->idle_notify_work, __mdss_fb_idle_notify_work);
+ INIT_DELAYED_WORK(&mfd->boost_mode_work, __mdss_fb_boost_mode_work);
return rc;
}
diff --git a/drivers/video/fbdev/msm/mdss_fb.h b/drivers/video/fbdev/msm/mdss_fb.h
index dbecda3..d023135 100644
--- a/drivers/video/fbdev/msm/mdss_fb.h
+++ b/drivers/video/fbdev/msm/mdss_fb.h
@@ -57,6 +57,8 @@
#define MDP_PP_AD_BL_LINEAR 0x0
#define MDP_PP_AD_BL_LINEAR_INV 0x1
+#define BOOST_WAITING_MS 200
+
/**
* enum mdp_notify_event - Different frame events to indicate frame update state
*
@@ -376,6 +378,9 @@
bool pending_switch;
struct mutex switch_lock;
struct input_handler *input_handler;
+
+ struct delayed_work boost_mode_work;
+ int activate_boost;
};
static inline void mdss_fb_update_notify_update(struct msm_fb_data_type *mfd)
diff --git a/drivers/video/fbdev/msm/mdss_panel.h b/drivers/video/fbdev/msm/mdss_panel.h
index be6d44f..b7072bf 100644
--- a/drivers/video/fbdev/msm/mdss_panel.h
+++ b/drivers/video/fbdev/msm/mdss_panel.h
@@ -774,6 +774,9 @@
/* HDR properties of display panel*/
struct mdss_panel_hdr_properties hdr_properties;
+
+ bool tear_disable;
+ bool pwr_off_disable;
};
struct mdss_panel_timing {
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
index 106a5bb..b2ba995 100644
--- a/fs/ext4/extents.c
+++ b/fs/ext4/extents.c
@@ -1047,6 +1047,7 @@
__le32 border;
ext4_fsblk_t *ablocks = NULL; /* array of allocated blocks */
int err = 0;
+ size_t ext_size = 0;
/* make decision: where to split? */
/* FIXME: now decision is simplest: at current extent */
@@ -1138,6 +1139,10 @@
le16_add_cpu(&neh->eh_entries, m);
}
+ /* zero out unused area in the extent block */
+ ext_size = sizeof(struct ext4_extent_header) +
+ sizeof(struct ext4_extent) * le16_to_cpu(neh->eh_entries);
+ memset(bh->b_data + ext_size, 0, inode->i_sb->s_blocksize - ext_size);
ext4_extent_block_csum_set(inode, neh);
set_buffer_uptodate(bh);
unlock_buffer(bh);
@@ -1217,6 +1222,11 @@
sizeof(struct ext4_extent_idx) * m);
le16_add_cpu(&neh->eh_entries, m);
}
+ /* zero out unused area in the extent block */
+ ext_size = sizeof(struct ext4_extent_header) +
+ (sizeof(struct ext4_extent) * le16_to_cpu(neh->eh_entries));
+ memset(bh->b_data + ext_size, 0,
+ inode->i_sb->s_blocksize - ext_size);
ext4_extent_block_csum_set(inode, neh);
set_buffer_uptodate(bh);
unlock_buffer(bh);
@@ -1282,6 +1292,7 @@
ext4_fsblk_t newblock, goal = 0;
struct ext4_super_block *es = EXT4_SB(inode->i_sb)->s_es;
int err = 0;
+ size_t ext_size = 0;
/* Try to prepend new index to old one */
if (ext_depth(inode))
@@ -1307,9 +1318,11 @@
goto out;
}
+ ext_size = sizeof(EXT4_I(inode)->i_data);
/* move top-level index/leaf into new block */
- memmove(bh->b_data, EXT4_I(inode)->i_data,
- sizeof(EXT4_I(inode)->i_data));
+ memmove(bh->b_data, EXT4_I(inode)->i_data, ext_size);
+ /* zero out unused area in the extent block */
+ memset(bh->b_data + ext_size, 0, inode->i_sb->s_blocksize - ext_size);
/* set size of new block */
neh = ext_block_hdr(bh);
diff --git a/include/linux/sensors.h b/include/linux/sensors.h
new file mode 100644
index 0000000..56a0d73
--- /dev/null
+++ b/include/linux/sensors.h
@@ -0,0 +1,168 @@
+/* Copyright (c) 2013-2014, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef __LINUX_SENSORS_H_INCLUDED
+#define __LINUX_SENSORS_H_INCLUDED
+
+#include <linux/list.h>
+#include <linux/spinlock.h>
+#include <linux/rwsem.h>
+
+#define SENSORS_ACCELERATION_HANDLE 0
+#define SENSORS_MAGNETIC_FIELD_HANDLE 1
+#define SENSORS_ORIENTATION_HANDLE 2
+#define SENSORS_LIGHT_HANDLE 3
+#define SENSORS_PROXIMITY_HANDLE 4
+#define SENSORS_GYROSCOPE_HANDLE 5
+#define SENSORS_PRESSURE_HANDLE 6
+
+#define SENSOR_TYPE_ACCELEROMETER 1
+#define SENSOR_TYPE_GEOMAGNETIC_FIELD 2
+#define SENSOR_TYPE_MAGNETIC_FIELD SENSOR_TYPE_GEOMAGNETIC_FIELD
+#define SENSOR_TYPE_ORIENTATION 3
+#define SENSOR_TYPE_GYROSCOPE 4
+#define SENSOR_TYPE_LIGHT 5
+#define SENSOR_TYPE_PRESSURE 6
+#define SENSOR_TYPE_TEMPERATURE 7
+#define SENSOR_TYPE_PROXIMITY 8
+#define SENSOR_TYPE_GRAVITY 9
+#define SENSOR_TYPE_LINEAR_ACCELERATION 10
+#define SENSOR_TYPE_ROTATION_VECTOR 11
+#define SENSOR_TYPE_RELATIVE_HUMIDITY 12
+#define SENSOR_TYPE_AMBIENT_TEMPERATURE 13
+#define SENSOR_TYPE_MAGNETIC_FIELD_UNCALIBRATED 14
+#define SENSOR_TYPE_GAME_ROTATION_VECTOR 15
+#define SENSOR_TYPE_GYROSCOPE_UNCALIBRATED 16
+#define SENSOR_TYPE_SIGNIFICANT_MOTION 17
+#define SENSOR_TYPE_STEP_DETECTOR 18
+#define SENSOR_TYPE_STEP_COUNTER 19
+#define SENSOR_TYPE_GEOMAGNETIC_ROTATION_VECTOR 20
+
+enum LIS3DH_AXIS {
+ AXIS_X = 0,
+ AXIS_Y,
+ AXIS_Z,
+ AXIS_XYZ,
+};
+
+enum LIS3DH_THRES {
+ AXIS_THRESHOLD_H = 0,
+ AXIS_THRESHOLD_L,
+ AXIS_BIAS,
+};
+
+#define AXIS_FACTOR 0
+#define AXIS_OFFSET 1
+
+
+struct cal_result_t {
+ union {
+
+ struct {
+ int offset_x; /*axis offset of x axis*/
+ int offset_y; /*axis offset of x axis*/
+ int offset_z; /*axis offset of x axis*/
+ };
+ struct {
+ int threshold_h; /*proximity threshold_h*/
+ int threshold_l; /*proximity threshold_l*/
+ int bias; /*proximity measure data noise*/
+ };
+ int offset[3];
+ };
+ int factor; /*light sensor factor for real ligt strength*/
+ int range;
+ struct cal_result_t *node;
+};
+
+/**
+ * struct sensors_classdev - hold the sensor general parameters and APIs
+ * @dev: The device to register.
+ * @node: The list for the all the sensor drivers.
+ * @name: Name of this sensor.
+ * @vendor: The vendor of the hardware part.
+ * @handle: The handle that identifies this sensors.
+ * @type: The sensor type.
+ * @max_range: The maximum range of this sensor's value in SI units.
+ * @resolution: The smallest difference between two values reported by
+ * this sensor.
+ * @sensor_power: The rough estimate of this sensor's power consumption
+ * in mA.
+ * @min_delay: This value depends on the trigger mode:
+ * continuous: minimum period allowed in microseconds
+ * on-change : 0
+ * one-shot :-1
+ * special : 0, unless otherwise noted
+ * @fifo_reserved_event_count: The number of events reserved for this sensor
+ * in the batch mode FIFO.
+ * @fifo_max_event_count: The maximum number of events of this sensor
+ * that could be batched.
+ * @max_delay: The slowest rate the sensor supports in millisecond.
+ * @flags: Should be '1' if the sensor is a wake up sensor.
+ * set it to '0' otherwise.
+ * @enabled: Store the sensor driver enable status.
+ * @delay_msec: Store the sensor driver delay value. The data unit is
+ * millisecond.
+ * @wakeup: Indicate if the wake up interrupt has been enabled.
+ * @max_latency: Max report latency in millisecond
+ * @sensors_enable: The handle for enable and disable sensor.
+ * @sensors_poll_delay: The handle for set the sensor polling delay time.
+ * @sensors_set_latency:Set the max report latency of the sensor.
+ * @sensors_flush: Flush sensor events in FIFO and report it to user space.
+ * @params The sensor calibrate string format params up to userspace.
+ * @cal_result The sensor calibrate parameters, cal_result is a struct for sensor.
+ */
+struct sensors_classdev {
+ struct device *dev;
+ struct list_head node;
+ const char *name;
+ const char *vendor;
+ int version;
+ int handle;
+ int type;
+ const char *max_range;
+ const char *resolution;
+ const char *sensor_power;
+ int min_delay;
+ int fifo_reserved_event_count;
+ int fifo_max_event_count;
+ int32_t max_delay;
+ uint32_t flags;
+
+ unsigned int enabled;
+ unsigned int delay_msec;
+ unsigned int wakeup;
+ unsigned int max_latency;
+ char *params;
+ struct cal_result_t cal_result;
+ /* enable and disable the sensor handle*/
+ int (*sensors_enable)(struct sensors_classdev *sensors_cdev,
+ unsigned int enabled);
+ int (*sensors_poll_delay)(struct sensors_classdev *sensors_cdev,
+ unsigned int delay_msec);
+ int (*sensors_self_test)(struct sensors_classdev *sensors_cdev);
+ int (*sensors_set_latency)(struct sensors_classdev *sensor_cdev,
+ unsigned int max_latency);
+ int (*sensors_enable_wakeup)(struct sensors_classdev *sensor_cdev,
+ unsigned int enable);
+ int (*sensors_flush)(struct sensors_classdev *sensors_cdev);
+ int (*sensors_calibrate)(struct sensors_classdev *sensor_cdev,
+ int axis, int apply_now);
+ int (*sensors_write_cal_params)(struct sensors_classdev
+ *sensor_cdev, struct cal_result_t *cal_result);
+};
+
+extern int sensors_classdev_register(struct device *parent,
+ struct sensors_classdev *sensors_cdev);
+extern void sensors_classdev_unregister(struct sensors_classdev *sensors_cdev);
+
+#endif /* __LINUX_SENSORS_H_INCLUDED */
diff --git a/include/uapi/linux/input-event-codes.h b/include/uapi/linux/input-event-codes.h
index c1ea699..91fc4f6 100644
--- a/include/uapi/linux/input-event-codes.h
+++ b/include/uapi/linux/input-event-codes.h
@@ -57,6 +57,8 @@
#define SYN_CONFIG 1
#define SYN_MT_REPORT 2
#define SYN_DROPPED 3
+#define SYN_TIME_SEC 4
+#define SYN_TIME_NSEC 5
#define SYN_MAX 0xf
#define SYN_CNT (SYN_MAX+1)
diff --git a/sound/core/init.c b/sound/core/init.c
index c816648..f49f507 100644
--- a/sound/core/init.c
+++ b/sound/core/init.c
@@ -452,14 +452,7 @@
card->shutdown = 1;
spin_unlock(&card->files_lock);
- /* phase 1: disable fops (user space) operations for ALSA API */
- mutex_lock(&snd_card_mutex);
- snd_cards[card->number] = NULL;
- clear_bit(card->number, snd_cards_lock);
- mutex_unlock(&snd_card_mutex);
-
- /* phase 2: replace file->f_op with special dummy operations */
-
+ /* replace file->f_op with special dummy operations */
spin_lock(&card->files_lock);
list_for_each_entry(mfile, &card->files_list, list) {
/* it's critical part, use endless loop */
@@ -475,7 +468,7 @@
}
spin_unlock(&card->files_lock);
- /* phase 3: notify all connected devices about disconnection */
+ /* notify all connected devices about disconnection */
/* at this point, they cannot respond to any calls except release() */
#if IS_ENABLED(CONFIG_SND_MIXER_OSS)
@@ -491,6 +484,13 @@
device_del(&card->card_dev);
card->registered = false;
}
+
+ /* disable fops (user space) operations for ALSA API */
+ mutex_lock(&snd_card_mutex);
+ snd_cards[card->number] = NULL;
+ clear_bit(card->number, snd_cards_lock);
+ mutex_unlock(&snd_card_mutex);
+
#ifdef CONFIG_PM
wake_up(&card->power_sleep);
#endif
diff --git a/sound/usb/card.c b/sound/usb/card.c
index f029f8c..8abe8bd 100644
--- a/sound/usb/card.c
+++ b/sound/usb/card.c
@@ -742,9 +742,12 @@
__error:
if (chip) {
+ /* chip->active is inside the chip->card object,
+ * decrement before memory is possibly returned.
+ */
+ atomic_dec(&chip->active);
if (!chip->num_interfaces)
snd_card_free(chip->card);
- atomic_dec(&chip->active);
}
mutex_unlock(®ister_mutex);
return err;
diff --git a/verity_keys.x509 b/verity_keys.x509
new file mode 100644
index 0000000..86399c3
--- /dev/null
+++ b/verity_keys.x509
@@ -0,0 +1,24 @@
+-----BEGIN CERTIFICATE-----
+MIID/TCCAuWgAwIBAgIJAJcPmDkJqolJMA0GCSqGSIb3DQEBBQUAMIGUMQswCQYD
+VQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4g
+VmlldzEQMA4GA1UECgwHQW5kcm9pZDEQMA4GA1UECwwHQW5kcm9pZDEQMA4GA1UE
+AwwHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTAe
+Fw0xNDExMDYxOTA3NDBaFw00MjAzMjQxOTA3NDBaMIGUMQswCQYDVQQGEwJVUzET
+MBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzEQMA4G
+A1UECgwHQW5kcm9pZDEQMA4GA1UECwwHQW5kcm9pZDEQMA4GA1UEAwwHQW5kcm9p
+ZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBAOjreE0vTVSRenuzO9vnaWfk0eQzYab0gqpi
+6xAzi6dmD+ugoEKJmbPiuE5Dwf21isZ9uhUUu0dQM46dK4ocKxMRrcnmGxydFn6o
+fs3ODJMXOkv2gKXL/FdbEPdDbxzdu8z3yk+W67udM/fW7WbaQ3DO0knu+izKak/3
+T41c5uoXmQ81UNtAzRGzGchNVXMmWuTGOkg6U+0I2Td7K8yvUMWhAWPPpKLtVH9r
+AL5TzjYNR92izdKcz3AjRsI3CTjtpiVABGeX0TcjRSuZB7K9EK56HV+OFNS6I1NP
+jdD7FIShyGlqqZdUOkAUZYanbpgeT5N7QL6uuqcGpoTOkalu6kkCAwEAAaNQME4w
+HQYDVR0OBBYEFH5DM/m7oArf4O3peeKO0ZIEkrQPMB8GA1UdIwQYMBaAFH5DM/m7
+oArf4O3peeKO0ZIEkrQPMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEB
+AHO3NSvDE5jFvMehGGtS8BnFYdFKRIglDMc4niWSzhzOVYRH4WajxdtBWc5fx0ix
+NF/+hVKVhP6AIOQa+++sk+HIi7RvioPPbhjcsVlZe7cUEGrLSSveGouQyc+j0+m6
+JF84kszIl5GGNMTnx0XRPO+g8t6h5LWfnVydgZfpGRRg+WHewk1U2HlvTjIceb0N
+dcoJ8WKJAFWdcuE7VIm4w+vF/DYX/A2Oyzr2+QRhmYSv1cusgAeC1tvH4ap+J1Lg
+UnOu5Kh/FqPLLSwNVQp4Bu7b9QFfqK8Moj84bj88NqRGZgDyqzuTrFxn6FW7dmyA
+yttuAJAEAymk1mipd9+zp38=
+-----END CERTIFICATE-----